diff --git a/mailcow/src/mailcow-dockerized/.github/stale.yml b/mailcow/src/mailcow-dockerized/.github/stale.yml
deleted file mode 100644
index 24db8c0..0000000
--- a/mailcow/src/mailcow-dockerized/.github/stale.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-# Number of days of inactivity before an issue becomes stale
-daysUntilStale: 60
-# Number of days of inactivity before a stale issue is closed
-daysUntilClose: 7
-# Issues with these labels will never be considered stale
-exemptLabels:
-  - pinned
-  - security
-  - enhancement
-# Label to use when marking an issue as stale
-staleLabel: dunno
-# Comment to post when marking an issue as stale. Set to `false` to disable
-markComment: >
-  This issue has been automatically marked as stale because it has not had
-  recent activity. It will be closed if no further activity occurs. Thank you
-  for your contributions.
-# Comment to post when closing a stale issue. Set to `false` to disable
-closeComment: false
diff --git a/mailcow/src/mailcow-dockerized/.github/workflows/close_old_issues_and_prs.yml b/mailcow/src/mailcow-dockerized/.github/workflows/close_old_issues_and_prs.yml
new file mode 100644
index 0000000..f963061
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/.github/workflows/close_old_issues_and_prs.yml
@@ -0,0 +1,35 @@
+name: 'Close stale issues and PRs'
+on:
+  schedule:
+    # Once every day at midnight UTC
+    - cron: "0 0 * * *" 
+  workflow_dispatch: # Allow to run workflow manually
+  issue_comment: # Run workflow on comments  
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark/Close Stale Issues and Pull Requests 🗑️
+        uses: actions/stale@v4
+        with:
+          repo-token: ${{ secrets.GITHUB_TOKEN }}
+          days-before-stale: 60
+          days-before-close: 7
+          stale-issue-message: >
+            This issue has been automatically marked as stale because it has not had
+            recent activity. It will be closed if no further activity occurs.
+          stale-pr-message: >
+            This pull request has been automatically marked as stale because it has not had
+            recent activity. It will be closed if no further activity occurs.
+          exempt-issue-labels: "pinned,security,enhancement"
+          exempt-pr-labels: "pinned,security,enhancement"
+          stale-issue-label: "stale"
+          stale-pr-label: "stale"
+          operations-per-run: "250"
+          ascending: "true"
+          #DRY-RUN
+          debug-only: "false"
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/.gitignore b/mailcow/src/mailcow-dockerized/.gitignore
index 90e2e49..06328b8 100644
--- a/mailcow/src/mailcow-dockerized/.gitignore
+++ b/mailcow/src/mailcow-dockerized/.gitignore
@@ -1,54 +1,64 @@
-rebuild-images.sh
-data/conf/sogo/sieve.creds
+!data/conf/nginx/dynmaps.conf
+!data/conf/nginx/meta_exporter.conf
+!data/conf/nginx/site.conf
+!/**/.gitkeep
+*.iml
+.idea
+.vscode/*
+data/assets/ssl-example/*
+data/assets/ssl/*
+data/conf/borgmatic/
 data/conf/clamav/whitelist.ign2
-data/conf/phpfpm/sogo-sso/sogo-sso.pass
+data/conf/dovecot/acl_anyone
 data/conf/dovecot/dovecot-master.passwd
 data/conf/dovecot/dovecot-master.userdb
-mailcow.conf
-mailcow.conf_backup
-data/conf/nginx/*.active
-data/conf/postfix/sni.map
-data/conf/postfix/sni.map.db
-data/conf/postfix/extra.cf
-data/conf/postfix/sql
-data/conf/postfix/custom_transport.pcre
-data/conf/postfix/custom_postscreen_whitelist.cidr
-data/conf/postfix/allow_mailcow_local.regexp
-data/conf/dovecot/sql
-data/conf/dovecot/lua
+data/conf/dovecot/extra.conf
 data/conf/dovecot/global_sieve_*
-data/conf/dovecot/sogo_trusted_ip.conf
-data/conf/nextcloud-*.bak
-data/web/inc/vars.local.inc.php
-data/web/css/build/0081-custom-mailcow.css
-data/assets/ssl/*
-.vscode/*
-.idea
-*.iml
-data/web/.well-known/acme-challenge
-data/web/nextcloud*/
-data/web/rc*/
-data/conf/rspamd/local.d/*
-data/conf/rspamd/override.d/*
-!data/conf/nginx/dynmaps.conf
-!data/conf/nginx/site.conf
-!data/conf/nginx/meta_exporter.conf
-data/conf/nginx/*.conf
-data/conf/nginx/*.custom
-data/conf/nginx/*.bak
-data/conf/dovecot/acl_anyone
-data/conf/dovecot/mail_plugins*
 data/conf/dovecot/last_login
+data/conf/dovecot/lua
+data/conf/dovecot/mail_plugins*
+data/conf/dovecot/shared_namespace.conf
 data/conf/dovecot/sni.conf
 data/conf/dovecot/sogo-sso.conf
-data/conf/dovecot/extra.conf
-data/conf/dovecot/shared_namespace.conf
-data/conf/rspamd/custom/*
+data/conf/dovecot/sogo_trusted_ip.conf
+data/conf/dovecot/sql
+data/conf/nextcloud-*.bak
+data/conf/nginx/*.active
+data/conf/nginx/*.bak
+data/conf/nginx/*.conf
+data/conf/nginx/*.custom
+data/conf/phpfpm/sogo-sso/sogo-sso.pass
 data/conf/portainer/
-data/hooks/
+data/conf/postfix/allow_mailcow_local.regexp
+data/conf/postfix/custom_postscreen_whitelist.cidr
+data/conf/postfix/custom_transport.pcre
+data/conf/postfix/extra.cf
+data/conf/postfix/sni.map
+data/conf/postfix/sni.map.db
+data/conf/postfix/sql
+data/conf/rspamd/custom/*
+data/conf/rspamd/local.d/*
+data/conf/rspamd/override.d/*
+data/conf/sogo/custom-theme.js
+data/conf/sogo/plist_ldap
+data/conf/sogo/sieve.creds
+data/conf/sogo/sogo-full.svg
 data/gitea/
 data/gogs/
-data/conf/sogo/plist_ldap
-update_diffs/
+data/hooks/dovecot/*
+data/hooks/phpfpm/*
+data/hooks/postfix/*
+data/hooks/rspamd/*
+data/hooks/sogo/*
+data/hooks/unbound/*
+data/web/.well-known/acme-challenge
+data/web/css/build/0081-custom-mailcow.css
+data/web/inc/vars.local.inc.php
+data/web/nextcloud*/
+data/web/rc*/
 docker-compose.override.yml
+mailcow.conf
+mailcow.conf_backup
+rebuild-images.sh
 refresh_images.sh
+update_diffs/
diff --git a/mailcow/src/mailcow-dockerized/.gitrepo b/mailcow/src/mailcow-dockerized/.gitrepo
index 00f8a98..a93e697 100644
--- a/mailcow/src/mailcow-dockerized/.gitrepo
+++ b/mailcow/src/mailcow-dockerized/.gitrepo
@@ -6,7 +6,7 @@
 [subrepo]
 	remote = https://github.com/mailcow/mailcow-dockerized.git
 	branch = master
-	commit = 6f14955b698764267f381048cbd23accaf074fd9
+	commit = 649a5c0159a99086c2ce231c2c04a1b906e24d46
 	parent = 6e270560206c2f99e57faf1c6de62268037aeb62
 	method = merge
 	cmdver = 0.4.3
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/Dockerfile
index 8369ce3..a19c434 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/Dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.11
+FROM alpine:3.13
 
 LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
 
@@ -14,8 +14,9 @@
   tini \
   tzdata \
   python3 \
-  && python3 -m pip install --upgrade pip \
-  && python3 -m pip install acme-tiny
+  py3-pip \
+  && pip3 install --upgrade pip \
+  && pip3 install acme-tiny
 
 COPY acme.sh /srv/acme.sh
 COPY functions.sh /srv/functions.sh
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/acme.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/acme.sh
index 5d5da1e..4f5cb80 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/acme.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/acme.sh
@@ -155,6 +155,18 @@
   fi
   if [[ ! -f ${ACME_BASE}/acme/account.pem ]]; then
     log_f "Generating missing Lets Encrypt account key..."
+    if [[ ! -z ${ACME_CONTACT} ]]; then
+      if ! verify_email "${ACME_CONTACT}"; then
+        log_f "Invalid email address, will not start registration!"
+        sleep 365d
+        exec $(readlink -f "$0")
+      else
+        ACME_CONTACT_PARAMETER="--contact mailto:${ACME_CONTACT}"
+        log_f "Valid email address, using ${ACME_CONTACT} for registration"
+      fi
+    else
+      ACME_CONTACT_PARAMETER=""
+    fi
     openssl genrsa 4096 > ${ACME_BASE}/acme/account.pem
   else
     log_f "Using existing Lets Encrypt account key ${ACME_BASE}/acme/account.pem"
@@ -207,22 +219,9 @@
   IPV6=$(get_ipv6)
   log_f "OK: ${IPV4}, ${IPV6:-"0000:0000:0000:0000:0000:0000:0000:0000"}"
 
-  # Hard-fail on CAA errors for MAILCOW_HOSTNAME
-  MH_PARENT_DOMAIN=$(echo ${MAILCOW_HOSTNAME} | cut -d. -f2-)
-  MH_CAAS=( $(dig CAA ${MH_PARENT_DOMAIN} +short | sed -n 's/\d issue "\(.*\)"/\1/p') )
-  if [[ ! -z ${MH_CAAS} ]]; then
-    if [[ ${MH_CAAS[@]} =~ "letsencrypt.org" ]]; then
-      log_f "Validated CAA for parent domain ${MH_PARENT_DOMAIN}"
-    else
-      log_f "Skipping ACME validation: Lets Encrypt disallowed for ${MAILCOW_HOSTNAME} by CAA record, retrying in 1h..."
-      sleep 1h
-      exec $(readlink -f "$0")
-    fi
-  fi
-
   #########################################
   # IP and webroot challenge verification #
-  SQL_DOMAINS=$(mysql --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT domain FROM domain WHERE backupmx=0" -Bs)
+  SQL_DOMAINS=$(mysql --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT domain FROM domain WHERE backupmx=0 and active=1" -Bs)
   if [[ ! $? -eq 0 ]]; then
     log_f "Failed to read SQL domains, retrying in 1 minute..."
     sleep 1m
@@ -290,7 +289,7 @@
     VALIDATED_CERTIFICATES+=("${CERT_NAME}")
 
     # obtain server certificate if required
-    DOMAINS=${SERVER_SAN_VALIDATED[@]} /srv/obtain-certificate.sh rsa
+    ACME_CONTACT_PARAMETER=${ACME_CONTACT_PARAMETER} DOMAINS=${SERVER_SAN_VALIDATED[@]} /srv/obtain-certificate.sh rsa
     RETURN="$?"
     if [[ "$RETURN" == "0" ]]; then # 0 = cert created successfully
       CERT_AMOUNT_CHANGED=1
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/functions.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/functions.sh
index 454946d..183be01 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/functions.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/functions.sh
@@ -16,6 +16,15 @@
   fi
 }
 
+verify_email(){
+  regex="^(([A-Za-z0-9]+((\.|\-|\_|\+)?[A-Za-z0-9]?)*[A-Za-z0-9]+)|[A-Za-z0-9]+)@(([A-Za-z0-9]+)+((\.|\-|\_)?([A-Za-z0-9]+)+)*)+\.([A-Za-z]{2,})+$"
+  if [[ $1 =~ ${regex} ]]; then
+    return 0
+  else
+    return 1
+  fi
+}
+
 verify_hash_match(){
   CERT_HASH=$(openssl x509 -in "${1}" -noout -pubkey | openssl md5)
   KEY_HASH=$(openssl pkey -in "${2}" -pubout | openssl md5)
@@ -33,7 +42,7 @@
   local IPV4_SRCS=
   local TRY=
   IPV4_SRCS[0]="ip4.mailcow.email"
-  IPV4_SRCS[1]="ip4.korves.net"
+  IPV4_SRCS[1]="ip4.nevondo.com"
   until [[ ! -z ${IPV4} ]] || [[ ${TRY} -ge 10 ]]; do
     IPV4=$(curl --connect-timeout 3 -m 10 -L4s ${IPV4_SRCS[$RANDOM % ${#IPV4_SRCS[@]} ]} | grep -E "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$")
     [[ ! -z ${TRY} ]] && sleep 1
@@ -46,8 +55,8 @@
   local IPV6=
   local IPV6_SRCS=
   local TRY=
-  IPV6_SRCS[0]="ip6.korves.net"
-  IPV6_SRCS[1]="ip6.mailcow.email"
+  IPV6_SRCS[0]="ip6.mailcow.email"
+  IPV6_SRCS[1]="ip6.nevondo.com"
   until [[ ! -z ${IPV6} ]] || [[ ${TRY} -ge 10 ]]; do
     IPV6=$(curl --connect-timeout 3 -m 10 -L6s ${IPV6_SRCS[$RANDOM % ${#IPV6_SRCS[@]} ]} | grep "^\([0-9a-fA-F]\{0,4\}:\)\{1,7\}[0-9a-fA-F]\{0,4\}$")
     [[ ! -z ${TRY} ]] && sleep 1
@@ -60,6 +69,17 @@
     DOMAIN=$1
     A_DOMAIN=$(dig A ${DOMAIN} +short | tail -n 1)
     AAAA_DOMAIN=$(dig AAAA ${DOMAIN} +short | tail -n 1)
+    # Hard-fail on CAA errors for MAILCOW_HOSTNAME
+    PARENT_DOMAIN=$(echo ${DOMAIN} | cut -d. -f2-)
+    CAAS=( $(dig CAA ${PARENT_DOMAIN} +short | sed -n 's/\d issue "\(.*\)"/\1/p') )
+    if [[ ! -z ${CAAS} ]]; then
+      if [[ ${CAAS[@]} =~ "letsencrypt.org" ]]; then
+        log_f "Validated CAA for parent domain ${PARENT_DOMAIN}"
+      else
+        log_f "Lets Encrypt disallowed for ${PARENT_DOMAIN} by CAA record"
+        return 1
+      fi
+    fi
     # Check if CNAME without v6 enabled target
     if [[ ! -z ${AAAA_DOMAIN} ]] && [[ -z $(echo ${AAAA_DOMAIN} | grep "^\([0-9a-fA-F]\{0,4\}:\)\{1,7\}[0-9a-fA-F]\{0,4\}$") ]]; then
       AAAA_DOMAIN=
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/obtain-certificate.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/obtain-certificate.sh
index 8264a2c..a151dff 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/obtain-certificate.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/acme/obtain-certificate.sh
@@ -93,8 +93,8 @@
   sleep 2
 done
 log_f "Resolver OK"
-
-ACME_RESPONSE=$(acme-tiny ${DIRECTORY_URL} \
+log_f "Using command acme-tiny ${DIRECTORY_URL} ${ACME_CONTACT_PARAMETER} --account-key ${ACME_BASE}/acme/account.pem --disable-check --csr ${CSR} --acme-dir /var/www/acme/"
+ACME_RESPONSE=$(acme-tiny ${DIRECTORY_URL} ${ACME_CONTACT_PARAMETER} \
   --account-key ${ACME_BASE}/acme/account.pem \
   --disable-check \
   --csr ${CSR} \
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/clamd/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/clamd/Dockerfile
index 4c30cf2..b251d96 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/clamd/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/clamd/Dockerfile
@@ -2,7 +2,7 @@
 
 LABEL maintainer "André Peters <andre.peters@servercow.de>"
 
-ARG CLAMAV=0.103.0
+ARG CLAMAV=0.103.2
 
 RUN apt-get update && apt-get install -y --no-install-recommends \
   ca-certificates \
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dockerapi/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dockerapi/Dockerfile
index 16c1af5..645503a 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dockerapi/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dockerapi/Dockerfile
@@ -1,11 +1,17 @@
-FROM alpine:3.11
+FROM alpine:3.13
+
 LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
 
 WORKDIR /app
 
-RUN apk add --update --no-cache python3 openssl tzdata \
- && pip3 install --upgrade pip \
- && pip3 install --upgrade docker flask flask-restful
+RUN apk add --update --no-cache python3 \
+  py3-pip \
+  openssl \
+  tzdata \
+&& pip3 install --upgrade pip \
+  docker \
+  flask \
+  flask-restful
 
 COPY dockerapi.py /app/
 
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/Dockerfile
index 219dd14..1990097 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/Dockerfile
@@ -2,8 +2,9 @@
 LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
 
 ARG DEBIAN_FRONTEND=noninteractive
-ARG DOVECOT=2.3.13
+ARG DOVECOT=2.3.14.1
 ENV LC_ALL C
+ENV GOSU_VERSION 1.12
 
 # Add groups and users before installing Dovecot to not break compatibility
 RUN groupadd -g 5000 vmail \
@@ -20,7 +21,6 @@
   apt-transport-https \
   ca-certificates \
   cpanminus \
-  cron \
   curl \
   dnsutils \
   dirmngr \
@@ -74,6 +74,7 @@
   liburi-perl \
   libwww-perl \
   lua-sql-mysql \
+  lua-socket \
   mariadb-client \
   procps \
   python3-pip \
@@ -82,6 +83,11 @@
   syslog-ng \
   syslog-ng-core \
   syslog-ng-mod-redis \
+  wget \
+  && dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
+  && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
+  && chmod +x /usr/local/bin/gosu \
+  && gosu nobody true \
   && apt-key adv --fetch-keys https://repo.dovecot.org/DOVECOT-REPO-GPG \
   && echo "deb https://repo.dovecot.org/ce-${DOVECOT}/debian/buster buster main" > /etc/apt/sources.list.d/dovecot.list \
   && apt-get update \
@@ -100,15 +106,14 @@
   && apt-get autoremove --purge -y \
   && apt-get autoclean \
   && rm -rf /var/lib/apt/lists/* \
-  && rm -rf /tmp/* /var/tmp/* /etc/cron.daily/* /root/.cache/
+  && rm -rf /tmp/* /var/tmp/* /root/.cache/
 
 COPY trim_logs.sh /usr/local/bin/trim_logs.sh
 COPY clean_q_aged.sh /usr/local/bin/clean_q_aged.sh
 COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf
 COPY syslog-ng-redis_slave.conf /etc/syslog-ng/syslog-ng-redis_slave.conf
 COPY imapsync /usr/local/bin/imapsync
-COPY postlogin.sh /usr/local/bin/postlogin.sh
-COPY imapsync_cron.pl /usr/local/bin/imapsync_cron.pl
+COPY imapsync_runner.pl /usr/local/bin/imapsync_runner.pl
 COPY report-spam.sieve /usr/lib/dovecot/sieve/report-spam.sieve
 COPY report-ham.sieve /usr/lib/dovecot/sieve/report-ham.sieve
 COPY rspamd-pipe-ham /usr/lib/dovecot/sieve/rspamd-pipe-ham
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/docker-entrypoint.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/docker-entrypoint.sh
index 9c626fa..5ea1609 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/docker-entrypoint.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/docker-entrypoint.sh
@@ -7,7 +7,7 @@
   sleep 2
 done
 
-until dig +short mailcow.email @unbound > /dev/null; do
+until dig +short mailcow.email > /dev/null; do
   echo "Waiting for DNS..."
   sleep 1
 done
@@ -60,14 +60,6 @@
 }
 EOF
 
-# Write last logins to Redis
-if [[ ! -z ${REDIS_SLAVEOF_IP} ]]; then
-  cp /etc/syslog-ng/syslog-ng-redis_slave.conf /etc/syslog-ng/syslog-ng.conf
-  echo -n "redis:host=${REDIS_SLAVEOF_IP}:port=${REDIS_SLAVEOF_PORT}" > /etc/dovecot/last_login
-else
-  echo -n "redis:host=${IPV4_NETWORK}.249:port=6379" > /etc/dovecot/last_login
-fi
-
 # Create dict used for sieve pre and postfilters
 cat <<EOF > /etc/dovecot/sql/dovecot-dict-sql-sieve_before.conf
 # Autogenerated by mailcow
@@ -118,13 +110,13 @@
 echo -n ${ACL_ANYONE} > /etc/dovecot/acl_anyone
 
 if [[ "${SKIP_SOLR}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
-echo -n 'quota acl zlib listescape mail_crypt mail_crypt_acl mail_log notify replication last_login' > /etc/dovecot/mail_plugins
-echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve listescape mail_crypt mail_crypt_acl notify replication mail_log last_login' > /etc/dovecot/mail_plugins_imap
-echo -n 'quota sieve acl zlib listescape mail_crypt mail_crypt_acl notify replication' > /etc/dovecot/mail_plugins_lmtp
+echo -n 'quota acl zlib mail_crypt mail_crypt_acl mail_log notify listescape replication' > /etc/dovecot/mail_plugins
+echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve mail_crypt mail_crypt_acl notify listescape replication mail_log' > /etc/dovecot/mail_plugins_imap
+echo -n 'quota sieve acl zlib mail_crypt mail_crypt_acl notify listescape replication' > /etc/dovecot/mail_plugins_lmtp
 else
-echo -n 'quota acl zlib listescape mail_crypt mail_crypt_acl mail_log notify fts fts_solr replication last_login' > /etc/dovecot/mail_plugins
-echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve listescape mail_crypt mail_crypt_acl notify mail_log fts fts_solr replication last_login' > /etc/dovecot/mail_plugins_imap
-echo -n 'quota sieve acl zlib listescape mail_crypt mail_crypt_acl fts fts_solr notify replication' > /etc/dovecot/mail_plugins_lmtp
+echo -n 'quota acl zlib mail_crypt mail_crypt_acl mail_log notify fts fts_solr listescape replication' > /etc/dovecot/mail_plugins
+echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve mail_crypt mail_crypt_acl notify mail_log fts fts_solr listescape replication' > /etc/dovecot/mail_plugins_imap
+echo -n 'quota sieve acl zlib mail_crypt mail_crypt_acl fts fts_solr notify listescape replication' > /etc/dovecot/mail_plugins_lmtp
 fi
 chmod 644 /etc/dovecot/mail_plugins /etc/dovecot/mail_plugins_imap /etc/dovecot/mail_plugins_lmtp /templates/quarantine.tpl
 
@@ -136,36 +128,82 @@
 iterate_query = SELECT username FROM mailbox WHERE active = '1' OR active = '2';
 EOF
 
-# Create pass dict for Dovecot
-cat <<EOF > /etc/dovecot/sql/dovecot-dict-sql-passdb.conf
-# Autogenerated by mailcow
-driver = mysql
-connect = "host=/var/run/mysqld/mysqld.sock dbname=${DBNAME} user=${DBUSER} password=${DBPASS}"
-default_pass_scheme = ${MAILCOW_PASS_SCHEME}
-password_query = SELECT password FROM mailbox WHERE active = '1' AND username = '%u' AND domain IN (SELECT domain FROM domain WHERE domain='%d' AND active='1') AND JSON_UNQUOTE(JSON_VALUE(attributes, '$.force_pw_update')) != '1' AND (JSON_UNQUOTE(JSON_VALUE(attributes, '$.%s_access')) = '1' OR ('%s' != 'imap' AND '%s' != 'pop3'))
-EOF
-
-cat <<EOF > /etc/dovecot/lua/app-passdb.lua
+cat <<EOF > /etc/dovecot/lua/passwd-verify.lua
 function auth_password_verify(req, pass)
+
   if req.domain == nil then
     return dovecot.auth.PASSDB_RESULT_USER_UNKNOWN, "No such user"
   end
+
   if cur == nil then
     script_init()
   end
-  local cur,errorString = con:execute(string.format([[SELECT mailbox, password FROM app_passwd
-    WHERE mailbox = '%s'
+
+  if req.user == nil then
+    req.user = ''
+  end
+
+  respbody = {}
+
+  -- check against mailbox passwds
+  local cur,errorString = con:execute(string.format([[SELECT password FROM mailbox
+    WHERE username = '%s'
       AND active = '1'
-      AND domain IN (SELECT domain FROM domain WHERE domain='%s' AND active='1')]], con:escape(req.user), con:escape(req.domain)))
+      AND domain IN (SELECT domain FROM domain WHERE domain='%s' AND active='1')
+      AND IFNULL(JSON_UNQUOTE(JSON_VALUE(mailbox.attributes, '$.force_pw_update')), 0) != '1'
+      AND IFNULL(JSON_UNQUOTE(JSON_VALUE(attributes, '$.%s_access')), 1) = '1']], con:escape(req.user), con:escape(req.domain), con:escape(req.service)))
   local row = cur:fetch ({}, "a")
   while row do
     if req.password_verify(req, row.password, pass) == 1 then
       cur:close()
+      con:execute(string.format([[REPLACE INTO sasl_log (service, app_password, username, real_rip)
+        VALUES ("%s", 0, "%s", "%s")]], con:escape(req.service), con:escape(req.user), con:escape(req.real_rip)))
       return dovecot.auth.PASSDB_RESULT_OK, "password=" .. pass
     end
     row = cur:fetch (row, "a")
   end
-  return dovecot.auth.PASSDB_RESULT_USER_UNKNOWN, "No such user"
+
+  -- check against app passwds
+  local cur,errorString = con:execute(string.format([[SELECT app_passwd.id, app_passwd.password FROM app_passwd
+    INNER JOIN mailbox ON mailbox.username = app_passwd.mailbox
+    WHERE mailbox = '%s'
+      AND IFNULL(JSON_UNQUOTE(JSON_VALUE(mailbox.attributes, '$.%s_access')), 1) = '1'
+      AND IFNULL(JSON_UNQUOTE(JSON_VALUE(mailbox.attributes, '$.force_pw_update')), 0) != '1'
+      AND app_passwd.active = '1'
+      AND mailbox.active = '1'
+      AND app_passwd.domain IN (SELECT domain FROM domain WHERE domain='%s' AND active='1')]], con:escape(req.user), con:escape(req.service), con:escape(req.domain)))
+  local row = cur:fetch ({}, "a")
+  while row do
+    if req.password_verify(req, row.password, pass) == 1 then
+      cur:close()
+      con:execute(string.format([[REPLACE INTO sasl_log (service, app_password, username, real_rip)
+        VALUES ("%s", %d, "%s", "%s")]], con:escape(req.service), row.id, con:escape(req.user), con:escape(req.real_rip)))
+      return dovecot.auth.PASSDB_RESULT_OK, "password=" .. pass
+    end
+    row = cur:fetch (row, "a")
+  end
+
+  return dovecot.auth.PASSDB_RESULT_PASSWORD_MISMATCH, "Failed to authenticate"
+
+  -- PoC
+  -- local reqbody = string.format([[{
+  --   "success":0,
+  --   "service":"%s",
+  --   "app_password":false,
+  --   "username":"%s",
+  --   "real_rip":"%s"
+  -- }]], con:escape(req.service), con:escape(req.user), con:escape(req.real_rip))
+  -- http.request {
+  --   method = "POST",
+  --   url = "http://nginx:8081/sasl_log.php",
+  --   source = ltn12.source.string(reqbody),
+  --   headers = {
+  --     ["content-type"] = "application/json",
+  --     ["content-length"] = tostring(#reqbody)
+  --   },
+  --   sink = ltn12.sink.table(respbody)
+  -- }
+
 end
 
 function auth_passdb_lookup(req)
@@ -174,6 +212,9 @@
 
 function script_init()
   mysql = require "luasql.mysql"
+  http = require "socket.http"
+  http.TIMEOUT = 5
+  ltn12 = require "ltn12"
   env  = mysql.mysql()
   con = env:connect("__DBNAME__","__DBUSER__","__DBPASS__","localhost")
   return 0
@@ -185,6 +226,12 @@
 end
 EOF
 
+# Replace patterns in app-passdb.lua
+sed -i "s/__DBUSER__/${DBUSER}/g" /etc/dovecot/lua/passwd-verify.lua
+sed -i "s/__DBPASS__/${DBPASS}/g" /etc/dovecot/lua/passwd-verify.lua
+sed -i "s/__DBNAME__/${DBNAME}/g" /etc/dovecot/lua/passwd-verify.lua
+
+
 # Migrate old sieve_after file
 [[ -f /etc/dovecot/sieve_after ]] && mv /etc/dovecot/sieve_after /etc/dovecot/global_sieve_after
 # Create global sieve scripts
@@ -199,6 +246,8 @@
 
 # Cleanup random user maildirs
 rm -rf /var/vmail/mailcow.local/*
+# Cleanup PIDs
+[[ -f /tmp/quarantine_notify.pid ]] && rm /tmp/quarantine_notify.pid
 
 # create sni configuration
 echo "" > /etc/dovecot/sni.conf
@@ -251,31 +300,20 @@
 }
 EOF
 
-if [[ "${ALLOW_ADMIN_EMAIL_LOGIN}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
-    # Create random master Password for SOGo 'login as user' via proxy auth
-    RAND_PASS=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 32 | head -n 1)
-    echo -n ${RAND_PASS} > /etc/phpfpm/sogo-sso.pass
-    cat <<EOF > /etc/dovecot/sogo-sso.conf
+# Create random master Password for SOGo SSO
+RAND_PASS=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 32 | head -n 1)
+echo -n ${RAND_PASS} > /etc/phpfpm/sogo-sso.pass
+cat <<EOF > /etc/dovecot/sogo-sso.conf
 # Autogenerated by mailcow
 passdb {
   driver = static
   args = allow_real_nets=${IPV4_NETWORK}.248/32 password={plain}${RAND_PASS}
 }
 EOF
-else
-    rm -f /etc/dovecot/sogo-sso.pass
-    rm -f /etc/dovecot/sogo-sso.conf
-fi
 
-# Hard-code env vars to scripts due to cron not passing them to the scripts
-sed -i "s/__DBUSER__/${DBUSER}/g" /usr/local/bin/imapsync_cron.pl /usr/local/bin/quarantine_notify.py /usr/local/bin/clean_q_aged.sh /etc/dovecot/lua/app-passdb.lua
-sed -i "s/__DBPASS__/${DBPASS}/g" /usr/local/bin/imapsync_cron.pl /usr/local/bin/quarantine_notify.py /usr/local/bin/clean_q_aged.sh /etc/dovecot/lua/app-passdb.lua
-sed -i "s/__DBNAME__/${DBNAME}/g" /usr/local/bin/imapsync_cron.pl /usr/local/bin/quarantine_notify.py /usr/local/bin/clean_q_aged.sh /etc/dovecot/lua/app-passdb.lua
-sed -i "s/__MAILCOW_HOSTNAME__/${MAILCOW_HOSTNAME}/g" /usr/local/bin/quarantine_notify.py
-sed -i "s/__LOG_LINES__/${LOG_LINES}/g" /usr/local/bin/trim_logs.sh
 if [[ "${MASTER}" =~ ^([nN][oO]|[nN])+$ ]]; then
-# Toggling MASTER will result in a rebuild of containers, so the quota script will be recreated
-cat <<'EOF' > /usr/local/bin/quota_notify.py
+  # Toggling MASTER will result in a rebuild of containers, so the quota script will be recreated
+  cat <<'EOF' > /usr/local/bin/quota_notify.py
 #!/usr/bin/python3
 import sys
 sys.exit()
@@ -299,8 +337,8 @@
 
 # Fix permissions
 chown root:root /etc/dovecot/sql/*.conf
-chown root:dovecot /etc/dovecot/sql/dovecot-dict-sql-sieve* /etc/dovecot/sql/dovecot-dict-sql-quota* /etc/dovecot/lua/app-passdb.lua
-chmod 640 /etc/dovecot/sql/*.conf /etc/dovecot/lua/app-passdb.lua
+chown root:dovecot /etc/dovecot/sql/dovecot-dict-sql-sieve* /etc/dovecot/sql/dovecot-dict-sql-quota* /etc/dovecot/lua/passwd-verify.lua
+chmod 640 /etc/dovecot/sql/*.conf /etc/dovecot/lua/passwd-verify.lua
 chown -R vmail:vmail /var/vmail/sieve
 chown -R vmail:vmail /var/volatile
 chown -R vmail:vmail /var/vmail_index
@@ -309,8 +347,7 @@
 chown root:tty /dev/console
 chmod +x /usr/lib/dovecot/sieve/rspamd-pipe-ham \
   /usr/lib/dovecot/sieve/rspamd-pipe-spam \
-  /usr/local/bin/imapsync_cron.pl \
-  /usr/local/bin/postlogin.sh \
+  /usr/local/bin/imapsync_runner.pl \
   /usr/local/bin/imapsync \
   /usr/local/bin/trim_logs.sh \
   /usr/local/bin/sa-rules.sh \
@@ -320,27 +357,6 @@
   /usr/local/bin/quota_notify.py \
   /usr/local/bin/repl_health.sh
 
-if [[ "${MASTER}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
-# Setup cronjobs
-echo '* * * * *    nobody  /usr/local/bin/imapsync_cron.pl 2>&1 | /usr/bin/logger' > /etc/cron.d/imapsync
-#echo '30 3 * * *   vmail /usr/local/bin/doveadm quota recalc -A' > /etc/cron.d/dovecot-sync
-echo '* * * * *    vmail /usr/local/bin/trim_logs.sh >> /dev/console 2>&1' > /etc/cron.d/trim_logs
-echo '25 * * * *   vmail /usr/local/bin/maildir_gc.sh >> /dev/console 2>&1' > /etc/cron.d/maildir_gc
-echo '30 1 * * *   root  /usr/local/bin/sa-rules.sh  >> /dev/console 2>&1' > /etc/cron.d/sa-rules
-echo '0 2 * * *    root  /usr/bin/curl http://solr:8983/solr/dovecot-fts/update?optimize=true >> /dev/console 2>&1' > /etc/cron.d/solr-optimize
-echo '*/20 * * * * vmail /usr/local/bin/quarantine_notify.py >> /dev/console 2>&1' > /etc/cron.d/quarantine_notify
-echo '15 4 * * * vmail /usr/local/bin/clean_q_aged.sh >> /dev/console 2>&1' > /etc/cron.d/clean_q_aged
-echo '*/5 * * * *  vmail /usr/local/bin/repl_health.sh >> /dev/console 2>&1' > /etc/cron.d/repl_health
-else
-echo '25 * * * *   vmail /usr/local/bin/maildir_gc.sh >> /dev/console 2>&1' > /etc/cron.d/maildir_gc
-echo '30 1 * * *   root  /usr/local/bin/sa-rules.sh  >> /dev/console 2>&1' > /etc/cron.d/sa-rules
-echo '0 2 * * *    root  /usr/bin/curl http://solr:8983/solr/dovecot-fts/update?optimize=true >> /dev/console 2>&1' > /etc/cron.d/solr-optimize
-echo '*/5 * * * *  vmail /usr/local/bin/repl_health.sh >> /dev/console 2>&1' > /etc/cron.d/repl_health
-fi
-
-# Fix more than 1 hardlink issue
-touch /etc/crontab /etc/cron.*/*
-
 # Prepare environment file for cronjobs
 printenv | sed 's/^\(.*\)$/export \1/g' > /source_env.sh
 
@@ -391,6 +407,6 @@
 
 # For some strange, unknown and stupid reason, Dovecot may run into a race condition, when this file is not touched before it is read by dovecot/auth
 # May be related to something inside Docker, I seriously don't know
-touch /etc/dovecot/lua/app-passdb.lua
+touch /etc/dovecot/lua/passwd-verify.lua
 
 exec "$@"
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync
index 4c941f4..07cf58e 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 
-# $Id: imapsync,v 1.977 2019/12/23 20:18:02 gilles Exp gilles $
+# $Id: imapsync,v 2.148 2021/07/22 14:21:09 gilles Exp gilles $
 # structure
 # pod documentation
 # use pragmas
@@ -25,7 +25,7 @@
 
 =head1 VERSION
 
-This documentation refers to Imapsync $Revision: 1.977 $
+This documentation refers to Imapsync $Revision: 2.148 $
 
 =head1 USAGE
 
@@ -47,54 +47,82 @@
 Imapsync command is a tool allowing incremental and
 recursive imap transfers from one mailbox to another.
 If you don't understand the previous sentence, it's normal,
-it's pedantic computer oriented jargon.
+it's pedantic computer-oriented jargon.
 
 All folders are transferred, recursively, meaning
 the whole folder hierarchy is taken, all messages in them,
-and all messages flags (\Seen \Answered \Flagged etc.)
+and all message flags (\Seen \Answered \Flagged etc.)
 are synced too.
 
 Imapsync reduces the amount of data transferred by not transferring
 a given message if it already resides on the destination side.
 Messages that are on the destination side but not on the
-source side stay as they are (see the --delete2
-option to have a strict sync).
+source side stay as they are. See the --delete2
+option to have strict sync and delete them.
 
-How imapsync knows a message is already on both sides?
+How imapsync know a message is already on both sides?
 Same specific headers and the transfer is done only once.
 By default, the identification headers are
 "Message-Id:" and "Received:" lines
-but this choice can be changed with the --useheader option.
+but this choice can be changed with the --useheader option,
+most often a duplicate problem is solved by using
+--useheader "Message-Id"
+
 
 All flags are preserved, unread messages will stay unread,
 read ones will stay read, deleted will stay deleted.
+In the IMAP protocol, a deleted message is not really deleted,
+it is marked \Deleted and can be undelete. Real destruction
+comes with the EXPUNGE or UIDEXPUNGE IMAP commands.
 
 You can abort the transfer at any time and restart it later,
 imapsync works well with bad connections and interruptions,
 by design. On a terminal hit Ctr-c twice within two seconds
-in order to abort the program. Hit Ctr-c just once makes
+to abort the program. Hit Ctr-c just once makes
 imapsync reconnect to both imap servers.
 
+How do you know the sync is finished and well done?
+When imapsync ends by itself it mentions it with lines like those:
+
+  Exiting with return value 0 (EX_OK: successful termination) 0/50 nb_errors/max_errors PID 301
+  Removing pidfile /tmp/imapsync.pid
+  Log file is LOG_imapsync/2020_11_17_15_59_22_761_test1_test2.txt ( to change it, use --logfile filepath ; or use --nolog to turn off logging )
+
+If you don't have those lines it means that either the sync process is still
+running (or eventually hanging indefinitely) or that it ended without
+a whisper, a strong kill -9 on Linux for example.
+
+If you have those final lines then it means the sync process is properly
+finished. It may have encountered problems though.
+
+A good synchronization is mentioned by some lines above the last ones, especially
+those three lines:
+
+  The sync looks good, all 1745 identified messages in host1 are on host2.
+  There is no unidentified message on host1.
+  Detected 0 errors
+
+
 A classical scenario is synchronizing a mailbox B from another mailbox A
 where you just want to keep a strict copy of A in B. Strict meaning
 all messages in A will be in B but no more.
 
-For this, option --delete2 has to be used, it deletes messages in host2
-folder B that are not in host1 folder A. If you also need to destroy
+For this, option --delete2 can be used, it deletes messages in the host2
+folder B that are not in the host1 folder A. If you also need to destroy
 host2 folders that are not in host1 then use --delete2folders. See also
 --delete2foldersonly and --delete2foldersbutnot to set up exceptions
-on folders to destroy. INBOX will never be destroy, it's a mandatory
-folder in IMAP.
+on folders to destroy. INBOX will never be destroyed, it's a mandatory
+folder in IMAP so imapsync doesn't even try to remove it.
 
 A different scenario is to delete the messages from the source mailbox
 after a successful transfer, it can be a good feature when migrating
 mailboxes since messages will be only on one side. The source account
 will only have messages that are not on the destination yet, ie,
-messages that arrived after a sync or that failed to be copied.
+messages that arrived after a sync or that failed to be transferred.
 
 In that case, use the --delete1 option. Option --delete1 implies also
-option --expunge1 so all messages marked deleted on host1 will be really
-deleted. In IMAP protocol deleting a message does not really delete it,
+the option --expunge1 so all messages marked deleted on host1 will be
+deleted. In IMAP protocol deleting a message does not delete it,
 it marks it with the flag \Deleted, allowing an undelete. Expunging
 a folder removes, definitively, all the messages marked as \Deleted
 in this folder.
@@ -115,17 +143,18 @@
  usage: imapsync [options]
 
 The standard options are the six values forming the credentials.
-Three values on each side are needed in order to log in into the IMAP 
-servers. These six values are a host, a username, and a password, two times.
+Three values on each side are needed in order to login into the IMAP
+servers. These six values are a hostname, a username, and a password, two times.
 
 Conventions used in the following descriptions of the options:
 
  str means string
- int means integer
+ int means integer number
+ flo means float number
  reg means regular expression
  cmd means command
 
- --dry               : Makes imapsync doing nothing for real, just print what
+ --dry               : Makes imapsync doing nothing for real; it just print what
                        would be done without --dry.
 
 =head2 OPTIONS/credentials
@@ -136,18 +165,18 @@
                        Optional since default ports are the
                        well known ports imap/143 or imaps/993.
  --user1        str  : User to login on host1.
- --password1    str  : Password for the user1.
+ --password1    str  : Password of user1.
 
  --host2        str  : "destination" imap server.
  --port2        int  : Port to connect on host2. Optional
  --user2        str  : User to login on host2.
- --password2    str  : Password for the user2.
+ --password2    str  : Password of user2.
 
  --showpasswords     : Shows passwords on output instead of "MASKED".
                        Useful to restart a complete run by just reading
                        the command line used in the log,
                        or to debug passwords.
-                       It's not a secure practice at all.
+                       It's not a secure practice at all!
 
  --passfile1    str  : Password file for the user1. It must contain the
                        password on the first line. This option avoids showing
@@ -155,7 +184,10 @@
  --passfile2    str  : Password file for the user2.
 
 You can also pass the passwords in the environment variables
-IMAPSYNC_PASSWORD1 and IMAPSYNC_PASSWORD2
+IMAPSYNC_PASSWORD1 and IMAPSYNC_PASSWORD2. If you don't pass
+the user1 password via --password1 nor --passfile1 nor $IMAPSYNC_PASSWORD1
+then imapsync will prompt to enter the password on the terminal.
+Same thing for user2 password.
 
 =head2 OPTIONS/encryption
 
@@ -180,11 +212,16 @@
  --sslargs2     str  : Pass any ssl parameter for host2 ssl or tls connection.
                        See --sslargs1
 
- --timeout1     int  : Connection timeout in seconds for host1.
+ --timeout1     flo  : Connection timeout in seconds for host1.
                        Default is 120 and 0 means no timeout at all.
- --timeout2     int  : Connection timeout in seconds for host2.
+ --timeout2     flo  : Connection timeout in seconds for host2.
                        Default is 120 and 0 means no timeout at all.
 
+                       Caveat, under CGI context, you may encounter a timeout
+                       from the webserver, killing imapsync and the imap connexions.
+                       See the document INSTALL.OnlineUI.txt and search
+                       for "Timeout" for how to deal with this issue.
+
 
 =head2 OPTIONS/authentication
 
@@ -205,6 +242,28 @@
  --domain1      str  : Domain on host1 (NTLM authentication).
  --domain2      str  : Domain on host2 (NTLM authentication).
 
+ --oauthaccesstoken1 str : The access token to authenticate with OAUTH2.
+                       It will be combined with the --user1 value to form the 
+                       string to pass with XOAUTH2 authentication.
+                       The password given by --password1 or --passfile1
+                       is ignored.
+                       Instead of the access token itself, the value can be a
+                       file containing the access token on the first line.
+                       If the value is a file, imapsync reads its first line
+                       and take this line as the access token. The advantage
+                       of the file is that if the access token changes then
+                       imapsync can read it again when it needs to reconnect 
+                       during a run.
+
+
+ --oauthaccesstoken2 str : same thing as --oauthaccesstoken1 
+
+ --oauthdirect1 str  : The direct string to pass with XOAUTH2 authentication.
+                       The password given by --password1 or --passfile1 and 
+                       the user given by --user1 are ignored.
+
+ --oauthdirect2 str  : same thing as oauthdirect1
+ 
 
 =head2 OPTIONS/folders
 
@@ -241,6 +300,9 @@
 
  --f1f2    str1=str2 : Force folder str1 to be synced to str2,
                        --f1f2 overrides --automap and --regextrans2.
+                       Use several --f1f2 options to map several folders.
+                       Option --f1f2 is a one to one only folder mapping,
+                       str1 and str2 have to be full path folder names.
 
  --subfolder2   str  : Syncs the whole host1 folders hierarchy under the
                        host2 folder named str.
@@ -285,7 +347,7 @@
  --regextrans2  reg  : and this one. etc.
                        When you play with the --regextrans2 option, first
                        add also the safe options --dry --justfolders
-                       Then, when happy, remove --dry for a run, then 
+                       Then, when happy, remove --dry for a run, then
                        remove --justfolders for the next ones.
                        Have in mind that --regextrans2 is applied after
                        the automatic prefix and separator inversion.
@@ -309,9 +371,11 @@
                        Default is system specific, Unix is /tmp but
                        /tmp is often too small and deleted at reboot.
                        --tmpdir /var/tmp should be better.
+
  --pidfile      str  : The file where imapsync pid is written,
-                       it can be dirname/filename.
-                       Default name is imapsync.pid in tmpdir.
+                       it can be dirname/filename complete path.
+                       The default name is imapsync.pid in tmpdir.
+
  --pidfilelocking    : Abort if pidfile already exists. Useful to avoid
                        concurrent transfers on the same mailbox.
 
@@ -329,7 +393,7 @@
 where:
 
  2019_12_22_23_57_59_532 is nearly the date of the start
- YYYY_MM_DD_HH_MM_SS_mmm 
+ YYYY_MM_DD_HH_MM_SS_mmm
  year_month_day_hour_minute_seconde_millisecond
 
 and user1 user2 are the --user1 --user2 values.
@@ -337,18 +401,18 @@
 =head2 OPTIONS/messages
 
  --skipmess     reg  : Skips messages matching the regex.
-                       Example: 'm/[\x80-ff]/' # to avoid 8bits messages.
+                       Example: 'm/[\x80-\xff]/' # to avoid 8bits messages.
                        --skipmess is applied before --regexmess
  --skipmess     reg  : or this one, etc.
 
  --skipcrossduplicates : Avoid copying messages that are already copied
-                         in another folder,  good from Gmail to X when
-                         X is not also Gmail.
+                         in another folder, good from Gmail to XYZ when
+                         XYZ is not also Gmail.
                          Activated with --gmail1 unless --noskipcrossduplicates
 
  --debugcrossduplicates : Prints which messages (UIDs) are skipped with
-                          --skipcrossduplicates (and in what other folders
-                          they are).
+                          --skipcrossduplicates and in what other folders
+                          they are.
 
  --pipemess     cmd  : Apply this cmd command to each message content
                        before the copy.
@@ -364,20 +428,21 @@
  --disarmreadreceipts : Disarms read receipts (host2 Exchange issue)
 
  --regexmess    reg  : Apply the whole regex to each message before transfer.
-                       Example: 's/\000/ /g' # to replace null by space.
+                       Example: 's/\000/ /g' # to replace null characters
+                       by spaces.
  --regexmess    reg  : and this one, etc.
 
 =head2 OPTIONS/labels
 
-Gmail present labels as folders in imap. Imapsync can accelerate the sync 
+Gmail present labels as folders in imap. Imapsync can accelerate the sync
 by syncing X-GM-LABELS, it will avoid to transfer messages when they are
-already on host2.
+already on host2 in another folder.
 
 
  --synclabels        : Syncs also Gmail labels when a message is copied to host2.
                        Activated by default with --gmail1 --gmail2 unless
                        --nosynclabels is added.
-                       
+
  --resynclabels      : Resyncs Gmail labels when a message is already on host2.
                        Activated by default with --gmail1 --gmail2 unless
                        --noresynclabels is added.
@@ -400,6 +465,9 @@
                        May be useful when a user has already started to play
                        with its host2 account.
 
+ --filterbuggyflags  : Filter flags known to be buggy and generators of errors
+                       "BAD Invalid system flag" or "NO APPEND Invalid flag list".
+
 =head2 OPTIONS/deletions
 
  --delete1           : Deletes messages on host1 server after a successful
@@ -424,16 +492,18 @@
                          Useful with --delete1 since what remains on host1
                          is only what failed to be synced.
 
- --delete2           : Delete messages in host2 that are not in
-                       host1 server. Useful for backup or pre-sync.
+ --delete2           : Delete messages in the host2 account that are not in
+                       the host1 account. Useful for backup or pre-sync.
                        --delete2 implies --uidexpunge2
 
- --delete2duplicates : Delete messages in host2 that are duplicates.
+ --delete2duplicates : Deletes messages in host2 that are duplicates in host2.
                        Works only without --useuid since duplicates are
                        detected with an header part of each message.
+                       NB: --delete2duplicates is far less violent than --delete2
+                       since it removes only duplicates.
 
- --delete2folders    : Delete folders in host2 that are not in host1 server.
-                       For safety, first try it like this (it is safe):
+ --delete2folders    : Delete folders in host2 that are not in host1.
+                       For safety, first try it like this, it is safe:
                        --delete2folders --dry --justfolders --nofoldersizes
                        and see what folders will be deleted.
 
@@ -455,10 +525,10 @@
  If you encounter problems with dates, see also:
  https://imapsync.lamiral.info/FAQ.d/FAQ.Dates.txt
 
- --syncinternaldates : Sets the internal dates on host2 same as host1.
+ --syncinternaldates : Sets the internal dates on host2 as the same as host1.
                        Turned on by default. Internal date is the date
-                       a message arrived on a host (Unix mtime).
- --idatefromheader   : Sets the internal dates on host2 same as the
+                       a message arrived on a host (Unix mtime usually).
+ --idatefromheader   : Sets the internal dates on host2 as same as the
                        ones in "Date:" headers.
 
 
@@ -467,6 +537,7 @@
 
  --maxsize      int  : Skip messages larger  (or equal) than  int  bytes
  --minsize      int  : Skip messages smaller (or equal) than  int  bytes
+
  --maxage       int  : Skip messages older than  int days.
                        final stats (skipped) don't count older messages
                        see also --minage
@@ -487,18 +558,30 @@
  --search2      str  : Same as --search but for selecting host2 messages only.
                        So --search CRIT equals --search1 CRIT --search2 CRIT
 
+ --noabletosearch    : Makes --minage and --maxage options use the internal
+                       dates given by a FETCH imap command instead of the
+                       "Date:" header. Internal date is the arrival date
+                       in the mailbox.
+                       --noabletosearch equals --noabletosearch1 --noabletosearch2
+
+ --noabletosearch1   : Like --noabletosearch but for host1 only.
+ --noabletosearch2   : Like --noabletosearch but for host2 only.
+
  --maxlinelength int : skip messages with a line length longer than  int  bytes.
                        RFC 2822 says it must be no more than 1000 bytes but
                        real life servers and email clients do more.
 
 
  --useheader    str  : Use this header to compare messages on both sides.
-                       Ex: Message-ID or Subject or Date.
+                       Example: "Message-Id" or "Received" or "Date".
  --useheader    str    and this one, etc.
 
- --usecache          : Use cache to speed up next syncs. Not set by default.
+ --syncduplicates    : Sync also duplicates. Off by default.
+
+ --usecache          : Use cache to speed up next syncs. Off by default.
  --nousecache        : Do not use cache. Caveat: --useuid --nousecache creates
                        duplicates on multiple runs.
+
  --useuid            : Use UIDs instead of headers as a criterion to recognize
                        messages. Option --usecache is then implied unless
                        --nousecache is used.
@@ -516,6 +599,7 @@
                        --addheader adds a "Message-Id" header,
                        like "Message-Id: 12345@imapsync", where 12345
                        is the imap UID of the message on the host1 folder.
+                       Useful to sync folders "Sent" or "Draft".
 
 
 =head2 OPTIONS/debugging
@@ -534,7 +618,7 @@
  --tests             : Run local non-regression tests. Exit code 0 means all ok.
  --testslive         : Run a live test with test1.lamiral.info imap server.
                        Useful to check the basics. Needs internet connection.
- --testslive6        : Run a live test with ks2ipv6.lamiral.info imap server.
+ --testslive6        : Run a live test with ks6ipv6.lamiral.info imap server.
                        Useful to check the ipv6 connectivity. Needs internet.
 
 
@@ -543,8 +627,8 @@
   --gmail1           : sets --host1 to Gmail and other options. See FAQ.Gmail.txt
   --gmail2           : sets --host2 to Gmail and other options. See FAQ.Gmail.txt
 
-  --office1          : sets --host1 to Office365 and other options. See FAQ.Exchange.txt
-  --office2          : sets --host2 to Office365 and other options. See FAQ.Exchange.txt
+  --office1          : sets --host1 to Office365 and other options. See FAQ.Office365.txt
+  --office2          : sets --host2 to Office365 and other options. See FAQ.Office365.txt
 
   --exchange1        : sets options for Exchange. See FAQ.Exchange.txt
   --exchange2        : sets options for Exchange. See FAQ.Exchange.txt
@@ -555,13 +639,14 @@
 
 =head2 OPTIONS/behavior
 
- --maxmessagespersecond int : limits the number of messages transferred per second.
+ --maxmessagespersecond flo : limits the average number of messages 
+                              transferred per second.
 
  --maxbytespersecond int : limits the average transfer rate per second.
  --maxbytesafter     int : starts --maxbytespersecond limitation only after
                            --maxbytesafter amount of data transferred.
 
- --maxsleep      int : do not sleep more than int seconds.
+ --maxsleep      flo : do not sleep more than int seconds.
                        On by default, 2 seconds max, like --maxsleep 2
 
  --abort             : terminates a previous call still running.
@@ -570,13 +655,13 @@
  --exitwhenover int  : Stop syncing and exits when int total bytes
                        transferred is reached.
 
- --version           : Print only software version.
+ --version           : Print only the software version.
  --noreleasecheck    : Do not check for any new imapsync release.
  --releasecheck      : Check for new imapsync release.
                        it's an http request to
                        http://imapsync.lamiral.info/prj/imapsync/VERSION
 
- --noid              : Do not send/receive ID command to imap servers.
+ --noid              : Do not send/receive IMAP "ID" command to imap servers.
 
  --justconnect       : Just connect to both servers and print useful
                        information. Need only --host1 and --host2 options.
@@ -609,7 +694,7 @@
 
 =head1 SECURITY
 
-You can use --passfile1  instead of --password1 to give the
+You can use --passfile1  instead of --password1 to mention the
 password since it is safer. With --password1 option, on Linux,
 any user on your host can see the password by using the 'ps auxwwww'
 command. Using a variable (like IMAPSYNC_PASSWORD1) is also
@@ -625,10 +710,10 @@
 on the imap servers. If the imaps port is closed then it open a
 normal (clear) connection on port 143 but it looks for TLS support
 in the CAPABILITY list of the servers. If TLS is supported
-then imapsync goes to encryption.
+then imapsync goes to encryption with STARTTLS.
 
 If the automatic ssl and the tls detections fail then imapsync will
-not protect against sniffing activities on the network, especially 
+not protect against sniffing activities on the network, especially
 for passwords.
 
 If you want to force ssl or tls just use --ssl1 --ssl2 or --tls1 --tls2
@@ -641,12 +726,14 @@
 Imapsync will exit with a 0 status (return code) if everything went good.
 Otherwise, it exits with a non-zero status. That's classical Unix behavior.
 Here is the list of the exit code values (an integer between 0 and 255).
+In Bourne Shells, this exit code value can be retrieved within the variable
+value "$?" if you read it just after the imapsync call.
+
 The names reflect their meaning:
 
 =for comment
 egrep '^Readonly my.*\$EX' imapsync | egrep -o 'EX.*' | sed 's_^_     _'
 
-
      EX_OK          => 0  ; #/* successful termination */
      EX_USAGE       => 64 ; #/* command line usage error */
      EX_NOINPUT     => 66 ; #/* cannot open input */
@@ -654,6 +741,7 @@
      EX_SOFTWARE    => 70 ; #/* internal software error */
      EXIT_CATCH_ALL              =>   1 ; # Any other error
      EXIT_BY_SIGNAL              =>   6 ; # Should be 128+n where n is the sig_num
+     EXIT_BY_FILE                =>   7 ;
      EXIT_PID_FILE_ERROR         =>   8 ;
      EXIT_CONNECTION_FAILURE     =>  10 ;
      EXIT_TLS_FAILURE            =>  12 ;
@@ -661,8 +749,18 @@
      EXIT_SUBFOLDER1_NO_EXISTS   =>  21 ;
      EXIT_WITH_ERRORS            => 111 ;
      EXIT_WITH_ERRORS_MAX        => 112 ;
+     EXIT_OVERQUOTA              => 113 ;
+     EXIT_ERR_APPEND             => 114 ;
+     EXIT_ERR_FETCH              => 115 ;
+     EXIT_ERR_CREATE             => 116 ;
+     EXIT_ERR_SELECT             => 117 ;
+     EXIT_TRANSFER_EXCEEDED      => 118 ;
+     EXIT_ERR_APPEND_VIRUS       => 119 ;
      EXIT_TESTS_FAILED           => 254 ; # Like Test::More API
-
+     EXIT_CONNECTION_FAILURE_HOST1     =>  101 ;
+     EXIT_CONNECTION_FAILURE_HOST2     =>  102 ;
+     EXIT_AUTHENTICATION_FAILURE_USER1 =>  161 ;
+     EXIT_AUTHENTICATION_FAILURE_USER2 =>  162 ;
 
 
 =head1 LICENSE AND COPYRIGHT
@@ -688,11 +786,11 @@
 Bad feedback is very often welcome.
 
 Gilles LAMIRAL earns his living by writing, installing,
-configuring and teaching free, open and often gratis
+configuring and sometimes teaching free, open and often gratis
 software. Imapsync used to be "always gratis" but now it is
 only "often gratis" because imapsync is sold by its author,
-a good way to maintain and support free open public
-software over decades.
+your servitor, a good way to maintain and support free open public
+software tools over decades.
 
 =head1 BUGS AND LIMITATIONS
 
@@ -745,8 +843,8 @@
  and all Server releases 2000, 2003, 2008 and R2, 2012 and R2, 2016)
  as a standalone binary software called imapsync.exe,
  usually launched from a batch file in order to avoid always typing
- the options. There is also a 64bit binary called imapsync_64bit.exe
- 
+ the options. There is also a 32bit binary called imapsync_32bit.exe
+
  Imapsync works under OS X as a standalone binary
  software called imapsync_bin_Darwin
 
@@ -783,8 +881,7 @@
   See also https://imapsync.lamiral.info/S/external.shtml
   for a better up to date list.
 
-Last updated and verified on Sun Dec 8, 2019.
-
+List verified on Friday July 1, 2021.
 
  imapsync: https://github.com/imapsync/imapsync (this is an imapsync copy, sometimes delayed, with --noreleasecheck by default since release 1.592, 2014/05/22)
  imap_tools: https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/. The imap_tools code is now at https://github.com/andrewnimmo/rick-sanders-imap-tools
@@ -792,6 +889,7 @@
  Doveadm-Sync: https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
  davmail: http://davmail.sourceforge.net/
  offlineimap: http://offlineimap.org/
+ fdm: https://github.com/nicm/fdm
  mbsync: http://isync.sourceforge.net/
  mailsync: http://mailsync.sourceforge.net/
  mailutil: https://www.washington.edu/imap/ part of the UW IMAP toolkit. (well, seems abandoned now)
@@ -813,8 +911,8 @@
  imapbackup: https://github.com/rcarmo/imapbackup (A Python script for incremental backups of IMAP mailboxes)
  BitRecover email-backup 99 USD, 299 USD https://www.bitrecover.com/email-backup/.
  ImportExportTools: https://addons.thunderbird.net/en-us/thunderbird/addon/importexporttools/ ImportExportTools for Mozilla Thunderbird by Paolo Kaosmos. ImportExportTools does not do IMAP.
-
-
+ rximapmail: https://sourceforge.net/projects/rximapmail/
+ CodeTwo: https://www.codetwo.com/ but CodeTwo does imap source to Office365 only.
 
 =head1 HISTORY
 
@@ -825,7 +923,7 @@
 often broken low-bandwidth ISDN link.
 
 I had to verify every mailbox was well transferred, all folders, all messages,
-without wasting bandwidth or creating duplicates upon resyncs. The imapsync 
+without wasting bandwidth or creating duplicates upon resyncs. The imapsync
 design was made with the beautiful rsync command in mind.
 
 Imapsync started its life as a patch of the copy_folder.pl
@@ -833,7 +931,7 @@
 module tarball source (more precisely in the examples/ directory of the
 Mail-IMAPClient tarball).
 
-So many happened since then that I wonder
+So many changes happened since then that I wonder
 if it remains any lines of the original
 copy_folder.pl in imapsync source code.
 
@@ -847,9 +945,12 @@
 use strict ;
 use warnings ;
 use Carp ;
+use Cwd ;
 use Data::Dumper ;
 use Digest::HMAC_SHA1 qw( hmac_sha1 hmac_sha1_hex ) ;
 use Digest::MD5  qw( md5 md5_hex md5_base64 ) ;
+use Encode ;
+use Encode::IMAPUTF7 ;
 use English qw( -no_match_vars ) ;
 use Errno qw(EAGAIN EPIPE ECONNRESET) ;
 use Fcntl ;
@@ -866,25 +967,23 @@
 use IO::Socket::SSL ;
 use IO::Tee ;
 use IPC::Open3 'open3' ;
+#use locale ;
 use Mail::IMAPClient 3.30 ;
 use MIME::Base64 ;
 use Pod::Usage qw(pod2usage) ;
-use POSIX qw(uname SIGALRM :sys_wait_h) ;
+use POSIX qw( uname SIGALRM :sys_wait_h ) ;
 use Sys::Hostname ;
 use Term::ReadKey ;
 use Test::More ;
 use Time::HiRes qw( time sleep ) ;
 use Time::Local ;
 use Unicode::String ;
-use Cwd ;
 use Readonly ;
 use Sys::MemInfo ;
 use Regexp::Common ;
 use Text::ParseWords ; # for quotewords()
 use File::Tail ;
 
-use Encode ;
-use Encode::IMAPUTF7 ;
 
 
 local $OUTPUT_AUTOFLUSH = 1 ;
@@ -918,6 +1017,7 @@
 # Mine
 Readonly my $EXIT_CATCH_ALL              =>   1 ; # Any other error
 Readonly my $EXIT_BY_SIGNAL              =>   6 ; # Should be 128+n where n is the sig_num
+Readonly my $EXIT_BY_FILE                =>   7 ;
 Readonly my $EXIT_PID_FILE_ERROR         =>   8 ;
 Readonly my $EXIT_CONNECTION_FAILURE     =>  10 ;
 Readonly my $EXIT_TLS_FAILURE            =>  12 ;
@@ -925,10 +1025,22 @@
 Readonly my $EXIT_SUBFOLDER1_NO_EXISTS   =>  21 ;
 Readonly my $EXIT_WITH_ERRORS            => 111 ;
 Readonly my $EXIT_WITH_ERRORS_MAX        => 112 ;
+Readonly my $EXIT_OVERQUOTA              => 113 ;
+Readonly my $EXIT_ERR_APPEND             => 114 ;
+Readonly my $EXIT_ERR_FETCH              => 115 ;
+Readonly my $EXIT_ERR_CREATE             => 116 ;
+Readonly my $EXIT_ERR_SELECT             => 117 ;
+Readonly my $EXIT_TRANSFER_EXCEEDED      => 118 ;
 
+Readonly my $EXIT_ERR_APPEND_VIRUS       => 119 ;
 
 Readonly my $EXIT_TESTS_FAILED           => 254 ; # Like Test::More API
 
+Readonly my $EXIT_CONNECTION_FAILURE_HOST1     =>  101 ;
+Readonly my $EXIT_CONNECTION_FAILURE_HOST2     =>  102 ;
+Readonly my $EXIT_AUTHENTICATION_FAILURE_USER1 =>  161 ;
+Readonly my $EXIT_AUTHENTICATION_FAILURE_USER2 =>  162 ;
+
 
 Readonly my %EXIT_TXT => (
         $EX_OK                       => 'EX_OK: successful termination',
@@ -939,6 +1051,7 @@
 
         $EXIT_CATCH_ALL              => 'EXIT_CATCH_ALL',
         $EXIT_BY_SIGNAL              => 'EXIT_BY_SIGNAL',
+        $EXIT_BY_FILE                => 'EXIT_BY_FILE',
         $EXIT_PID_FILE_ERROR         => 'EXIT_PID_FILE_ERROR' ,
         $EXIT_CONNECTION_FAILURE     => 'EXIT_CONNECTION_FAILURE',
         $EXIT_TLS_FAILURE            => 'EXIT_TLS_FAILURE',
@@ -946,7 +1059,37 @@
         $EXIT_SUBFOLDER1_NO_EXISTS   => 'EXIT_SUBFOLDER1_NO_EXISTS',
         $EXIT_WITH_ERRORS            => 'EXIT_WITH_ERRORS',
         $EXIT_WITH_ERRORS_MAX        => 'EXIT_WITH_ERRORS_MAX',
+        $EXIT_OVERQUOTA              => 'EXIT_OVERQUOTA',
+        $EXIT_ERR_APPEND             => 'EXIT_ERR_APPEND',
+        $EXIT_ERR_APPEND_VIRUS       => 'EXIT_ERR_APPEND_VIRUS',
+        $EXIT_ERR_FETCH              => 'EXIT_ERR_FETCH',
+        $EXIT_ERR_CREATE             => 'EXIT_ERR_CREATE',
+        $EXIT_ERR_SELECT             => 'EXIT_ERR_SELECT',
         $EXIT_TESTS_FAILED           => 'EXIT_TESTS_FAILED',
+        $EXIT_TRANSFER_EXCEEDED      => 'EXIT_TRANSFER_EXCEEDED',
+        $EXIT_CONNECTION_FAILURE_HOST1 => 'EXIT_CONNECTION_FAILURE_HOST1',
+        $EXIT_CONNECTION_FAILURE_HOST2 => 'EXIT_CONNECTION_FAILURE_HOST2',
+        $EXIT_AUTHENTICATION_FAILURE_USER1 => 'EXIT_AUTHENTICATION_FAILURE_USER1',
+        $EXIT_AUTHENTICATION_FAILURE_USER2 => 'EXIT_AUTHENTICATION_FAILURE_USER2',
+) ;
+
+
+Readonly my %EXIT_VALUE_OF_ERR_TYPE => (
+        ERR_APPEND_SIZE  => $EXIT_ERR_APPEND,
+        ERR_OVERQUOTA    => $EXIT_OVERQUOTA,
+        ERR_APPEND       => $EXIT_ERR_APPEND,
+        ERR_APPEND_VIRUS => $EXIT_ERR_APPEND_VIRUS,
+        ERR_CREATE       => $EXIT_ERR_CREATE,
+        ERR_SELECT       => $EXIT_ERR_SELECT,
+        ERR_Host1_FETCH  => $EXIT_ERR_FETCH,
+        ERR_UNCLASSIFIED => $EXIT_WITH_ERRORS,
+        ERR_NOTHING_REPORTED  => $EXIT_WITH_ERRORS,
+        ERR_TRANSFER_EXCEEDED => $EXIT_TRANSFER_EXCEEDED,
+        ERR_CONNECTION_FAILURE_HOST1 => $EXIT_CONNECTION_FAILURE_HOST1,
+        ERR_CONNECTION_FAILURE_HOST2 => $EXIT_CONNECTION_FAILURE_HOST2,
+        ERR_AUTHENTICATION_FAILURE_USER1 => $EXIT_AUTHENTICATION_FAILURE_USER1,
+        ERR_AUTHENTICATION_FAILURE_USER2 => $EXIT_AUTHENTICATION_FAILURE_USER2,
+        ERR_EXIT_TLS_FAILURE             => $EXIT_TLS_FAILURE,
 ) ;
 
 
@@ -976,7 +1119,7 @@
 Readonly my $TCP_PING_TIMEOUT => 5 ;
 Readonly my $DEFAULT_TIMEOUT => 120 ;
 Readonly my $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND => 3 ;
-Readonly my $DEFAULT_UIDNEXT => 999_999 ;
+
 Readonly my $DEFAULT_BUFFER_SIZE => 4096 ;
 
 Readonly my $MAX_SLEEP => 2 ; # 2 seconds max for limiting too long sleeps from --maxbytespersecond and --maxmessagespersecond
@@ -1029,15 +1172,13 @@
 
 
 # global variables
-# Currently working to finish with only $sync
+# Currently working to finish with only $sync, $acc1, $acc2
 # Not finished yet...
 
 my(
-        $sync,
-        $timestart_str,
-        $debugimap, $debugimap1, $debugimap2, $debugcontent, $debugflags,
+        $sync, $acc1, $acc2,
+        $debugcontent, $debugflags,
         $debuglist, $debugdev, $debugmaxlinelength, $debugcgi,
-        $domain1, $domain2,
 
         @include, @exclude, @folderrec,
         @folderfirst, @folderlast,
@@ -1052,46 +1193,39 @@
         %h2_folders_from_1_several,
 
         $prefix1, $prefix2,
-        @regexmess, @regexflag, @skipmess, @pipemess, $pipemesscheck,
-        $flagscase, $filterflags, $syncflagsaftercopy,
+        @regexmess, @skipmess, @pipemess, $pipemesscheck,
+        $syncflagsaftercopy,
         $syncinternaldates,
         $idatefromheader,
-        $syncacls,
-        $fastio1, $fastio2,
+
         $minsize, $maxage, $minage,
         $search,
-        $skipheader, @useheader, %useheader,
+        @useheader, %useheader,
         $skipsize, $allowsizemismatch, $buffersize,
 
 
         $authmd5, $authmd51, $authmd52,
         $subscribed, $subscribe, $subscribeall,
         $help,
-        $justbanner,
+
         $fast,
 
         $nb_msg_skipped_dry_mode,
-        $h1_nb_msg_duplicate,
-        $h2_nb_msg_duplicate,
-        $h2_nb_msg_noheader,
 
-        $h2_nb_msg_deleted,
+        $h2_nb_msg_noheader,
 
         $h1_bytes_processed,
 
         $h1_nb_msg_end, $h1_bytes_end,
         $h2_nb_msg_end, $h2_bytes_end,
 
-        $timeout,
         $timestart_int,
 
         $uid1, $uid2,
-        $authuser1, $authuser2,
-        $proxyauth1, $proxyauth2,
-        $authmech1, $authmech2,
+
+
         $split1, $split2,
-        $reconnectretry1, $reconnectretry2,
-        $max_msg_size_in_bytes,
+
         $modulesversion,
         $delete2folders, $delete2foldersonly, $delete2foldersbutnot,
         $usecache, $debugcache, $cacheaftercopy,
@@ -1101,7 +1235,6 @@
         $fixInboxINBOX,
         $maxlinelength, $maxlinelengthcmd,
         $minmaxlinelength,
-        $uidnext_default,
         $fixcolonbug,
         $create_folder_old,
         $skipcrossduplicates, $debugcrossduplicates,
@@ -1114,7 +1247,9 @@
         $warn_release,
 ) ;
 
-single_sync(  ) ;
+single_sync( $sync, $acc1, $acc2 );
+
+
 
 sub single_sync
 {
@@ -1122,21 +1257,36 @@
 # main program
 # global variables initialization
 
-# I'm currently removing all global variables except $sync
-# passing each of them under $sync->{variable_name}
+# I'm currently removing all global variables except $sync $acc1 $acc2
+# passing each of them under
+# $sync->{variable_name}
+# or $acc1->{variable_name}
+# or $acc1->{variable_name}
+
+# 
+$acc1 = {} ;
+$acc2 = {} ;
+$sync->{ acc1 } = $acc1 ;
+$sync->{ acc2 } = $acc2 ;
+
+$acc1->{ Side } = 'Host1' ;
+$acc2->{ Side } = 'Host2' ;
 
 $sync->{timestart} = time ; # Is a float because of use Time::HiRres
 
-$sync->{rcs} = q{$Id: imapsync,v 1.977 2019/12/23 20:18:02 gilles Exp gilles $} ;
+$sync->{rcs} = q{$Id: imapsync,v 2.148 2021/07/22 14:21:09 gilles Exp gilles $} ;
 
 $sync->{ memory_consumption_at_start } = memory_consumption(  ) || 0 ;
 
 
+
 my @loadavg = loadavg(  ) ;
 
-$sync->{cpu_number} = cpu_number(  ) ;
-$sync->{loaddelay} = load_and_delay( $sync->{cpu_number}, @loadavg ) ;
-$sync->{loadavg} = join( q{ }, $loadavg[ 0 ] )
+$sync->{ cpu_number } = cpu_number(  ) ;
+$sync->{ loaddelay } = load_and_delay( $sync->{ cpu_number }, @loadavg ) ;
+$sync->{ loaddelay } = 0 ;
+
+$sync->{ loadavg } = join( q{ }, $loadavg[ 0 ] )
                    . " on $sync->{cpu_number} cores and "
                    . ram_memory_info(  ) ;
 
@@ -1146,10 +1296,13 @@
 $sync->{ total_bytes_skipped } = 0 ;
 $sync->{ nb_msg_transferred } = 0 ;
 $sync->{ nb_msg_skipped } = $nb_msg_skipped_dry_mode = 0 ;
-$sync->{ h1_nb_msg_deleted } = 0 ;
-$h2_nb_msg_deleted  = 0 ;
-$h1_nb_msg_duplicate = 0 ;
-$h2_nb_msg_duplicate = 0 ;
+
+$sync->{ acc1 }->{ nb_msg_deleted } = 0 ;
+$sync->{ acc2 }->{ nb_msg_deleted } = 0 ;
+
+$sync->{ acc1 }->{ nb_msg_duplicate } = 0 ;
+$sync->{ acc2 }->{ nb_msg_duplicate } = 0 ;
+
 $sync->{ h1_nb_msg_noheader } = 0 ;
 $h2_nb_msg_noheader = 0 ;
 
@@ -1165,8 +1318,8 @@
 #$h1_nb_msg_end = $h1_bytes_end = 0 ;
 #$h2_nb_msg_end = $h2_bytes_end = 0 ;
 
-$sync->{nb_errors} = 0;
-$max_msg_size_in_bytes = 0;
+$sync->{ nb_errors } = 0;
+$sync->{ biggest_message_transferred } = 0;
 
 %month_abrev = (
    Jan => '00',
@@ -1192,14 +1345,14 @@
 # In cgi context, printing must start by the header so we delay other prints by using output() storage
 my $options_good = get_options( $sync, @ARGV ) ;
 # Is it the first myprint?
-docker_context( $sync ) ;
 cgibuildheader( $sync ) ;
+docker_context( $sync ) ;
 
-myprint( output( $sync ) ) ;
+print_output_if_needed( $sync ) ;
+
+
 output_reset_with( $sync ) ;
 
-# Old place for cgiload( $sync ) ;
-
 # don't go on if options are not all known.
 if ( ! defined $options_good ) { exit $EX_USAGE ; }
 
@@ -1214,7 +1367,7 @@
 # just the version
 if ( $sync->{ version } ) {
         myprint( imapsync_version( $sync ), "\n" ) ;
-        exit 0 ;
+        return 0 ;
 }
 
 #$sync->{debugenv} = 1 ;
@@ -1224,6 +1377,8 @@
 # after_get_options call usage and exit if --help or options were not well got
 after_get_options( $sync, $options_good ) ;
 
+#local $ENV{TZ} = 'GMT' if ( under_cgi_context( $sync ) and 'MSWin32' ne $OSNAME ) ;
+#output( $sync, localtime(time) . " " . gmtime(time) . "\n" ) ;
 
 # Under CGI environment, fix caveat emptor potential issues
 cgisetcontext( $sync ) ;
@@ -1237,28 +1392,40 @@
 $sync->{ tmpdir } ||= File::Spec->tmpdir(  ) ;
 
 # Unit tests
-testsexit( $sync ) ;
+my $unittestssuite = unittestssuite( $sync ) ;
+
+
+if ( condition_to_leave_after_tests( $sync ) )
+{
+        return $unittestssuite ; 
+}
 
 # init live varaiables
-testslive_init( $sync ) if ( $sync->{testslive} ) ;
-testslive6_init( $sync ) if ( $sync->{testslive6} )  ;
 
-#
+if ( $sync->{ testslive } )
+{
+        testslive_init( $sync ) ;
+}
 
-pidfile( $sync ) ;
+if ( $sync->{ testslive6 } )
+{
+        testslive6_init( $sync ) ;
+}
 
-# old abort place
+define_pidfile( $sync ) ;
+if ( $sync->{ abortbyfile } ) { $sync->{ abort } = 1 ; }
 
 install_signals( $sync ) ;
 
-$sync->{log}        = defined $sync->{log}        ? $sync->{log}        :  1 ;
-$sync->{errorsdump} = defined $sync->{errorsdump} ? $sync->{errorsdump} :  1 ;
-$sync->{errorsmax}  = defined $sync->{errorsmax}  ? $sync->{errorsmax}  : $ERRORS_MAX ;
+$sync->{ log }        = defined $sync->{ log }        ? $sync->{ log }        :  1 ;
+$sync->{ errorsdump } = defined $sync->{ errorsdump } ? $sync->{ errorsdump } :  1 ;
+$sync->{ errorsmax }  = defined $sync->{ errorsmax }  ? $sync->{ errorsmax }  : $ERRORS_MAX ;
 
 # log and output
 binmode STDOUT, ":encoding(UTF-8)" ;
 
-if ( $sync->{log} ) {
+
+if ( $sync->{ log } ) {
         setlogfile( $sync ) ;
         teelaunch( $sync ) ;
         # now $sync->{tee} is a filehandle to STDOUT and the logfile
@@ -1266,7 +1433,7 @@
 
 #binmode STDERR, ":encoding(UTF-8)" ;
 # STDERR goes to the same place: LOG and STDOUT (if logging is on)
-# Useful only for --debugssl 
+# Useful only for --debugssl
 $sync->{tee} and local *STDERR = *${$sync->{tee}}{IO} ;
 
 
@@ -1275,14 +1442,14 @@
 $sync->{timebefore} = $sync->{timestart} ;
 
 
-$timestart_str = localtime( $sync->{timestart} ) ;
+$sync->{ timestart_str } = localtimez( $sync->{timestart} ) ;
 
 # The prints in the log starts here
 
 myprint( localhost_info( $sync ), "\n" ) ;
-myprint( "Transfer started at $timestart_str\n" ) ;
+myprint( "Transfer started at $sync->{ timestart_str }\n" ) ;
 myprint( "PID is $PROCESS_ID my PPID is ", mygetppid(  ), "\n" ) ;
-myprint( "Log file is $sync->{logfile} ( to change it, use --logfile path ; or use --nolog to turn off logging )\n" ) if ( $sync->{log} ) ;
+announcelogfile( $sync ) ;
 myprint( "Load is " . ( join( q{ }, loadavg(  ) ) || 'unknown' ), " on $sync->{cpu_number} cores\n" ) ;
 #myprintf( "Memory consumption so far: %.1f MiB\n", memory_consumption(  ) / $KIBI / $KIBI ) ;
 myprint( 'Current directory is ' . getcwd(  ) . "\n" ) ;
@@ -1296,11 +1463,13 @@
 
 $wholeheaderifneeded  = defined  $wholeheaderifneeded   ? $wholeheaderifneeded  : 1;
 
-# Activate --usecache if --useuid is set and no --nousecache
+# Activate --usecache if --useuid is set and there is no --nousecache
 $usecache = 1 if ( $useuid and ( ! defined  $usecache   ) ) ;
 $cacheaftercopy = 1 if ( $usecache and ( ! defined  $cacheaftercopy  ) ) ;
 
-$sync->{ checkselectable } = defined $sync->{ checkselectable } ? $sync->{ checkselectable } : 1 ;
+
+
+
 $sync->{ checkfoldersexist } = defined $sync->{ checkfoldersexist } ? $sync->{ checkfoldersexist } : 1 ;
 $checkmessageexists = defined  $checkmessageexists  ? $checkmessageexists : 0 ;
 $sync->{ expungeaftereach }   = defined  $sync->{ expungeaftereach }  ? $sync->{ expungeaftereach } : 1 ;
@@ -1312,6 +1481,7 @@
 $checkmessageexists      = 0 if ( not $sync->{abletosearch1} ) ;
 
 
+$sync->{ trylogin } = defined $sync->{ trylogin } ? $sync->{ trylogin } : 1 ;
 $sync->{showpasswords}   = defined  $sync->{showpasswords}  ? $sync->{showpasswords} : 0 ;
 $sync->{ fixslash2 }     = defined  $sync->{ fixslash2 }  ? $sync->{ fixslash2 } : 1 ;
 $fixInboxINBOX      = defined  $fixInboxINBOX  ? $fixInboxINBOX : 1 ;
@@ -1335,19 +1505,18 @@
 
 do_valid_directory( $sync->{ tmpdir } ) || croak "Error creating tmpdir $sync->{ tmpdir } : $OS_ERROR" ;
 
-remove_pidfile_not_running( $sync->{pidfile} ) ;
+remove_pidfile_not_running( $sync->{ pidfile } ) ;
 
 # if another imapsync is running then tail -f its logfile and exit
 # useful in cgi context
 if ( $sync->{ tail } and tail( $sync ) )
 {
-        $sync->{nb_errors}++ ;
         exit_clean( $sync, $EX_OK, "Tail -f finished. Now finishing myself processus $PROCESS_ID\n" ) ;
         exit $EX_OK ;
 }
 
 if ( ! write_pidfile( $sync ) ) {
-        myprint( "Exiting with return value $EXIT_PID_FILE_ERROR ($EXIT_TXT{$EXIT_PID_FILE_ERROR}) $sync->{nb_errors}/$sync->{errorsmax} nb_errors/max_errors\n" ) ;
+        myprint( "Exiting with return value $EXIT_PID_FILE_ERROR ($EXIT_TXT{$EXIT_PID_FILE_ERROR}) $sync->{nb_errors}/$sync->{errorsmax} nb_errors/max_errors PID $PROCESS_ID\n" ) ;
         exit $EXIT_PID_FILE_ERROR ;
 }
 
@@ -1357,18 +1526,22 @@
 if ( $sync->{ abort } )
 {
         abort( $sync ) ;
+        # well, the abort job is done, because even when not succeeded
+        # in aborting another run, this run has to end without doing any
+        # thing else
+
+        exit $EX_OK ;
 }
 
 # simulong is just a loop printing some lines for xx seconds with option "--simulong xx".
-if ( $sync->{ simulong } )
-{
-        simulong( $sync->{ simulong } ) ;
-}
+simulong( $sync ) ;
+
 
 
 # New place for cgiload 2019_03_03
 # because I want to log it
 # Can break here if load is too heavy
+# Have in mind the CGI header has already a 503 Service Unavailable
 cgiload( $sync ) ;
 
 
@@ -1376,20 +1549,28 @@
 
 if ( $usecache and $fixcolonbug ) { tmpdir_fix_colon_bug( $sync ) } ;
 
-$modulesversion and myprint( "Modules version list:\n", modulesversion(), "( use --no-modulesversion to turn off printing this Perl modules list )\n" ) ;
+$modulesversion and myprint( "Modules version list ( use --no-modulesversion to turn off printing this Perl modules list ):\n", modulesversion(), "\n" ) ;
 
 
 check_lib_version( $sync ) or
   croak "imapsync needs perl lib Mail::IMAPClient release 3.30 or superior.\n";
 
 
-exit_clean( $sync, $EX_OK ) if ( $justbanner ) ;
+
+if ( $sync->{ justbanner } ) 
+{
+        myprint( "Exiting because of --justbanner\n" ) ;
+        exit_clean( $sync, $EX_OK ) ;
+}
 
 # turn on RFC standard flags correction like \SEEN -> \Seen
-$flagscase = defined  $flagscase  ? $flagscase : 1 ;
+$sync->{ flagscase } = defined  $sync->{ flagscase }  ? $sync->{ flagscase } : 1 ;
 
 # Use PERMANENTFLAGS if available
-$filterflags = defined  $filterflags  ? $filterflags : 1 ;
+$sync->{ filterflags } = defined  $sync->{ filterflags }  ? $sync->{ filterflags } : 1 ;
+
+filterbuggyflags( $sync ) ;
+
 
 # sync flags just after an APPEND, some servers ignore the flags given in the APPEND
 # like MailEnable IMAP server.
@@ -1412,13 +1593,18 @@
 $split2 ||= $SPLIT ;
 
 #$sync->{host1} || missing_option( $sync, '--host1' ) ;
+$sync->{host1} = sanitize_host( $sync->{host1} ) ;
 $sync->{port1} ||= ( $sync->{ssl1} ) ? $IMAP_SSL_PORT : $IMAP_PORT ;
 
 #$sync->{host2} || missing_option( $sync, '--host2' ) ;
+$sync->{host2} = sanitize_host( $sync->{host2} ) ;
 $sync->{port2} ||= ( $sync->{ssl2} ) ? $IMAP_SSL_PORT : $IMAP_PORT ;
 
-$debugimap1 = $debugimap2 = 1 if ( $debugimap ) ;
-$sync->{ debug } = 1 if ( $debugimap1 or $debugimap2 ) ;
+
+$acc1->{ debugimap } = $acc2->{ debugimap } = 1 if ( $sync->{ debugimap } ) ;
+# Set on debug mode if one of the imap dialogs are in debug.
+# imap dialog without the debug mode is scary and useless.
+$sync->{ debug } = 1 if ( $acc1->{ debugimap } or $acc2->{ debugimap } ) ;
 
 # By default, don't take size to compare
 $skipsize = (defined $skipsize) ? $skipsize : 1;
@@ -1455,6 +1641,7 @@
 if ( $sync->{ssl1} ) {
         myprint( qq{Host1: SSL default mode is like --sslargs1 "SSL_verify_mode=$SSL_VERIFY_POLICY", meaning for host1 $SSL_VERIFY_STR{$SSL_VERIFY_POLICY}\n} ) ;
         myprint( 'Host1: Use --sslargs1 SSL_verify_mode=' . IO::Socket::SSL::SSL_VERIFY_PEER(  ) . " to have $SSL_VERIFY_STR{IO::Socket::SSL::SSL_VERIFY_PEER(  )} of host1\n" ) ;
+        # $sync->{ acc1 }->{sslargs}->{SSL_verify_mode}
 }
 
 if ( $sync->{ssl2} ) {
@@ -1516,8 +1703,11 @@
 }
 
 if ( $sync->{ delete1 } and $sync->{ delete2 } ) {
-        myprint( "Warning: using --delete1 and --delete2 together is almost always a bad idea, exiting imapsync\n" ) ;
-        $sync->{nb_errors}++ ;
+        myprint( "Warning: using --delete1 and --delete2 together is almost always a bad idea. "
+                . "You should probably launch two runs, the first with --delete2 for a strict sync, "
+                . "then the second with --delete1 to remove messages from the source account. "
+                . "Exiting imapsync.\n" ) ;
+        $sync->{ nb_errors }++ ;
         exit_clean( $sync, $EX_USAGE ) ;
 }
 
@@ -1540,44 +1730,48 @@
 }
 
 if ( defined $authmd51 and $authmd51 ) {
-        $authmech1 ||= 'CRAM-MD5';
+        $acc1->{ authmech } ||= 'CRAM-MD5' ;
 }
 else{
-        $authmech1 ||= $authuser1 ? 'PLAIN' : 'LOGIN';
+        $acc1->{ authmech } ||= $acc1->{ authuser } ? 'PLAIN' : 'LOGIN' ;
 }
 
 if ( defined $authmd52 and $authmd52 ) {
-        $authmech2 ||= 'CRAM-MD5';
+        $acc2->{ authmech } ||= 'CRAM-MD5';
 }
 else{
-        $authmech2 ||= $authuser2 ? 'PLAIN' : 'LOGIN';
+        $acc2->{ authmech } ||= $acc2->{ authuser } ? 'PLAIN' : 'LOGIN';
 }
 
-$authmech1 = uc $authmech1;
-$authmech2 = uc $authmech2;
+$acc1->{ authmech } = uc $acc1->{ authmech } ;
+$acc2->{ authmech } = uc $acc2->{ authmech } ;
 
-if (defined $proxyauth1 && !$authuser1) {
+if ( defined $acc1->{ proxyauth } && !$acc1->{ authuser } )
+{
         missing_option( $sync, 'With --proxyauth1, --authuser1' ) ;
 }
 
-if (defined $proxyauth2 && !$authuser2) {
+if ( defined $acc2->{ proxyauth } && !$acc2->{ authuser } )
+{
         missing_option( $sync, 'With --proxyauth2, --authuser2' ) ;
 }
 
-#$authuser1 ||= $sync->{user1};
-#$authuser2 ||= $sync->{user2};
+myprint( "Host1: will try to use $acc1->{ authmech } authentication on host1\n") ;
+myprint( "Host2: will try to use $acc2->{ authmech } authentication on host2\n") ;
 
-myprint( "Host1: will try to use $authmech1 authentication on host1\n") ;
-myprint( "Host2: will try to use $authmech2 authentication on host2\n") ;
+$sync->{ timeout } = defined  $sync->{ timeout }  ?$sync->{ timeout } : $DEFAULT_TIMEOUT ;
 
-$timeout = defined  $timeout  ? $timeout : $DEFAULT_TIMEOUT ;
+$sync->{ acc1 }->{timeout} = defined  $sync->{ acc1 }->{timeout}  ? $sync->{ acc1 }->{timeout} : $sync->{ timeout } ;
+myprint( "Host1: imap connection timeout is $sync->{ acc1 }->{timeout} seconds\n") ;
+$sync->{ acc2 }->{timeout} = defined  $sync->{ acc2 }->{timeout}  ? $sync->{ acc2 }->{timeout} : $sync->{ timeout } ;
+myprint( "Host2: imap connection timeout is $sync->{ acc2 }->{timeout} seconds\n" ) ;
 
-$sync->{h1}->{timeout} = defined  $sync->{h1}->{timeout}  ? $sync->{h1}->{timeout} : $timeout ;
-myprint( "Host1: imap connection timeout is $sync->{h1}->{timeout} seconds\n") ;
-$sync->{h2}->{timeout} = defined  $sync->{h2}->{timeout}  ? $sync->{h2}->{timeout} : $timeout ;
-myprint( "Host2: imap connection timeout is $sync->{h2}->{timeout} seconds\n" ) ;
+if ( under_cgi_context( $sync ) )
+{
+        myprint( "Under CGI context, a timeout can occur from the webserver, see https://imapsync.lamiral.info/INSTALL.d/INSTALL.OnlineUI.txt\n" ) ;
+}
 
-$syncacls = defined  $syncacls  ? $syncacls : 0 ;
+$sync->{ syncacls } = defined  $sync->{ syncacls } ? $sync->{ syncacls } : 0 ;
 
 # No folders sizes if --justfolders, unless really wanted.
 if (
@@ -1592,21 +1786,21 @@
 $sync->{ foldersizes }       = ( defined  $sync->{ foldersizes } )      ? $sync->{ foldersizes }      : 1 ;
 $sync->{ foldersizesatend }  = ( defined  $sync->{ foldersizesatend } ) ? $sync->{ foldersizesatend } : $sync->{ foldersizes } ;
 
+$sync->{ checknoabletosearch } = ( defined  $sync->{ checknoabletosearch } ) ? $sync->{ checknoabletosearch } : 1 ;
 
-$fastio1 = defined  $fastio1  ? $fastio1 : 0 ;
-$fastio2 = defined  $fastio2  ? $fastio2 : 0 ;
 
-$reconnectretry1 = defined  $reconnectretry1  ? $reconnectretry1 : $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND ;
-$reconnectretry2 = defined  $reconnectretry2  ? $reconnectretry2 : $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND ;
+$acc1->{ fastio } = defined  $acc1->{ fastio }  ? $acc1->{ fastio } : 0 ;
+$acc2->{ fastio } = defined  $acc2->{ fastio }  ? $acc2->{ fastio } : 0 ;
 
-# Since select_msgs() returns no messages when uidnext does not return something
-# then $uidnext_default is never used. So I have to remove it.
-$uidnext_default = $DEFAULT_UIDNEXT ;
+
+$acc1->{ reconnectretry } = defined  $acc1->{ reconnectretry }  ? $acc1->{ reconnectretry } : $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND ;
+$acc2->{ reconnectretry } = defined  $acc2->{ reconnectretry }  ? $acc2->{ reconnectretry } : $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND ;
+
 
 if ( ! @useheader ) { @useheader = qw( Message-Id Received )  ; }
 
 # Make a hash %useheader of each --useheader 'key' in uppercase
-for ( @useheader ) { $useheader{ uc  $_  } = undef } ;
+for ( @useheader ) { $sync->{useheader}->{ uc  $_  } = undef } ;
 
 #myprint( Data::Dumper->Dump( [ \%useheader ] )  ) ;
 #exit ;
@@ -1617,6 +1811,10 @@
 get_password1( $sync ) ;
 get_password2( $sync ) ;
 
+# --dry1 make imapsync not fetching messages from host1, it is on when --dry is on.
+# Use --dry --nodry1 to make imapsync fetching messages from host1,
+# It is useful when debugging transformation options like --pipemess or --regexmess
+$sync->{dry1} = defined $sync->{dry1} ? $sync->{dry1} : $sync->{dry} ;
 
 $sync->{dry_message} = q{} ;
 if( $sync->{dry} ) {
@@ -1626,7 +1824,8 @@
 $sync->{ search1 } ||= $search if ( $search ) ;
 $sync->{ search2 } ||= $search if ( $search ) ;
 
-if ( $disarmreadreceipts ) {
+if ( $disarmreadreceipts )
+{
         push @regexmess, q{s{\A((?:[^\n]+\r\n)+|)(^Disposition-Notification-To:[^\n]*\n)(\r?\n|.*\n\r?\n)}{$1X-$2$3}ims} ;
 }
 
@@ -1688,9 +1887,9 @@
         myprint( "Ok with each --skipmess\n"  ) ;
 }
 
-if ( @regexflag ) {
+if ( $sync->{ regexflag } ) {
         myprint( "Checking each --regexflag command with an space string.\n"  ) ;
-        my $string = flags_regex( q{ } ) ;
+        my $string = regexflags( $sync, q{ } ) ;
         # string undef means one of the eval regex was bad.
         if ( not ( defined  $string  ) ) {
                 $sync->{nb_errors}++ ;
@@ -1701,33 +1900,26 @@
         myprint( "Ok with each --regexflag\n"  ) ;
 }
 
-$sync->{imap1} = login_imap( $sync->{host1}, $sync->{port1}, $sync->{user1}, $domain1, $sync->{password1},
-                   $debugimap1, $sync->{h1}->{timeout}, $fastio1, $sync->{ssl1}, $sync->{tls1},
-                   $authmech1, $authuser1, $reconnectretry1,
-                   $proxyauth1, $uid1, $split1, 'Host1', $sync->{h1}, $sync ) ;
+$sync->{imap1} = login_imap( $sync->{host1}, $sync->{port1}, $sync->{user1}, $sync->{password1},
+                   $sync->{ssl1}, $sync->{tls1},
+                   $uid1, $split1, $sync->{ acc1 }, $sync ) ;
 
-$sync->{imap2} = login_imap( $sync->{host2}, $sync->{port2}, $sync->{user2}, $domain2, $sync->{password2},
-                 $debugimap2, $sync->{h2}->{timeout}, $fastio2, $sync->{ssl2}, $sync->{tls2},
-                 $authmech2, $authuser2, $reconnectretry2,
-                 $proxyauth2, $uid2, $split2, 'Host2', $sync->{h2}, $sync ) ;
+$sync->{imap2} = login_imap( $sync->{host2}, $sync->{port2}, $sync->{user2}, $sync->{password2},
+                 $sync->{ssl2}, $sync->{tls2},
+                 $uid2, $split2, $sync->{ acc2 }, $sync ) ;
 
 
-$sync->{ debug } and myprint( 'Host1 Buffer I/O: ', $sync->{imap1}->Buffer(), "\n" ) ;
-$sync->{ debug } and myprint( 'Host2 Buffer I/O: ', $sync->{imap2}->Buffer(), "\n" ) ;
+$sync->{ debug } and $sync->{imap1} and myprint( 'Host1 Buffer I/O: ', $sync->{imap1}->Buffer(), "\n" ) ;
+$sync->{ debug } and $sync->{imap2} and myprint( 'Host2 Buffer I/O: ', $sync->{imap2}->Buffer(), "\n" ) ;
 
 
-if ( ! $sync->{imap1}->IsAuthenticated( ) )
+if ( ! $sync->{imap1} || ! $sync->{imap2} )
 {
-        $sync->{nb_errors}++ ;
-        exit_clean( $sync, $EXIT_AUTHENTICATION_FAILURE, "Not authenticated on host1\n" )  ;
+        exit_most_errors( $sync ) ;
 }
+
+
 myprint( "Host1: state Authenticated\n" ) ;
-
-if ( ! $sync->{imap2}->IsAuthenticated( ) )
-{
-        $sync->{nb_errors}++ ;
-        exit_clean( $sync, $EXIT_AUTHENTICATION_FAILURE, "Not authenticated on host2\n" )  ;
-}
 myprint( "Host2: state Authenticated\n" ) ;
 
 myprint( 'Host1 capability once authenticated: ', join(q{ }, @{ $sync->{imap1}->capability() || [] }), "\n" ) ;
@@ -1886,29 +2078,17 @@
         myprint( "Host1: Not checking that wanted folders exist. Remove --nocheckfoldersexist to get this check.\n"  ) ;
 }
 
+setcheckselectable( $sync ) ;
 
-if ( $sync->{ checkselectable } ) {
-        my @h1_folders_wanted_selectable ;
-        myprint( "Host1: Checking wanted folders are selectable. Use --nocheckselectable to avoid this check.\n"  ) ;
-        foreach my $folder ( @{ $sync->{h1_folders_wanted} } ) {
-                ( $sync->{ debug } or $sync->{debugfolders} ) and myprint( "Checking $folder is selectable on host1\n"  ) ;
-                # It does an imap command  LIST "" $folder and then search for no \Noselect
-                if ( ! $sync->{imap1}->selectable( $folder ) ) {
-                                myprint( "Host1: warning! ignoring folder $folder because it is not selectable\n" ) ;
-                }else{
-                        push  @h1_folders_wanted_selectable, $folder  ;
-                }
-        }
-        @{ $sync->{h1_folders_wanted} } = @h1_folders_wanted_selectable ;
-        ( $sync->{ debug } or $sync->{debugfolders} ) and myprint( 'Host1: checking folders took ', timenext( $sync ), " s\n"  ) ;
-}else{
-        myprint( "Host1: Not checking that wanted folders are selectable. Remove --nocheckselectable to get this check.\n"  ) ;
-}
+checkselectable( $sync ) ;
 
 
 
-# Old place of private_folders_separators_and_prefixes(  ) call.
-#private_folders_separators_and_prefixes(  ) ;
+# Bugfix OpenFind folders named like "kk \*123" are in fact "kk *123" (no \)
+#foreach my $folder ( @{ $sync->{ h1_folders_wanted } } )
+#{
+#        $folder =~ s{ \\\*}{ *}g ;
+#}
 
 
 # this hack is because LWP post does not pass well a hash in the $form parameter
@@ -2021,6 +2201,25 @@
         myprint( "Host1: will not syncing empty folders on host1. Use --noskipemptyfolders to create them anyway on host2\n") ;
 }
 
+if ( $sync->{ checknoabletosearch } )
+{
+        myprint( "Checking SEARCH ALL works on both accounts. To avoid that check, use --nochecknoabletosearch\n" ) ;
+        my $check1 = checknoabletosearch( $sync, $sync->{ imap1 }, 'INBOX', 'Host1' ) ;
+        my $check2 = checknoabletosearch( $sync, $sync->{ imap2 }, 'INBOX', 'Host2' ) ;
+        if ( $check1 or $check2 )
+        {
+                myprint( "At least one account can not SEARCH ALL. So acting like --noabletosearch\n" ) ;
+                $sync->{abletosearch}  = 0 ;
+                $sync->{abletosearch1} = 0 ;
+                $sync->{abletosearch2} = 0 ;
+        }
+        else
+        {
+                myprint( "Good! SEARCH ALL works on both accounts.\n" ) ;
+        }
+}
+
+
 
 if ( $sync->{ foldersizes } ) {
 
@@ -2035,7 +2234,7 @@
         exit_clean( $sync, $EX_OK, "Exiting because of --justfoldersizes\n" ) ;
 }
 
-$sync->{stats} = 1 ;
+$sync->{can_do_stats} = 1 ;
 
 if ( $sync->{ delete1emptyfolders } ) {
         delete1emptyfolders( $sync ) ;
@@ -2060,6 +2259,7 @@
 {
         $sync->{ h1_current_folder } = $h1_fold ;
         eta_print( $sync ) ;
+        abortifneeded( $sync ) ;
         if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
 
         my $h2_fold = imap2_folder_name( $sync, $h1_fold ) ;
@@ -2075,10 +2275,15 @@
 
         debugsleep( $sync ) ;
 
-        my $h1_fold_nb_messages = count_from_select( $sync->{imap1}->History ) ;
-        myprint( "Host1: folder [$h1_fold] has $h1_fold_nb_messages messages in total (mentioned by SELECT)\n" ) ;
+        my $h1_msgs_all_hash_ref ;
+        my @h1_msgs ;
+        my $h1_msgs_nb ;
+        my $h1_msgs_nb_from_select ;
 
-        if ( $sync->{ skipemptyfolders } and 0 == $h1_fold_nb_messages ) {
+        $h1_msgs_nb_from_select = count_from_select( $sync->{imap1}->History ) ;
+        myprint( "Host1: folder [$h1_fold] has $h1_msgs_nb_from_select messages in total (mentioned by SELECT)\n" ) ;
+
+        if ( $sync->{ skipemptyfolders } and 0 == $h1_msgs_nb_from_select ) {
                 myprint( "Host1: skipping empty host1 folder [$h1_fold]\n"  ) ;
                 next FOLDER ;
         }
@@ -2087,22 +2292,32 @@
         # Thanks jh1995
         # Goal: do not create folder if --search or --max/minage return 0 message.
         # even if there are messages by SELECT (no not real empty, empty for the user point of vue).
-        if ( $sync->{ skipemptyfolders } )
+        if ( $sync->{ skipemptyfolders } or $sync->{ dry } )
         {
-                my $h1_msgs_all_hash_ref_tmp = {  } ;
-                my @h1_msgs_tmp = select_msgs( $sync->{imap1}, $h1_msgs_all_hash_ref_tmp, $sync->{ search1 }, $h1_fold ) ;
-                my $h1_fold_nb_messages_tmp = scalar( @h1_msgs_tmp ) ;
-                if ( 0 == $h1_fold_nb_messages_tmp ) {
+                $h1_msgs_all_hash_ref = {  } ;
+                @h1_msgs = select_msgs( $sync->{imap1}, $h1_msgs_all_hash_ref, $sync->{ search1 }, $sync->{abletosearch1}, $h1_fold ) ;
+
+                $h1_msgs_nb = scalar( @h1_msgs ) ;
+                if ( 0 == $h1_msgs_nb and $sync->{ skipemptyfolders } ) {
                         myprint( "Host1: skipping empty host1 folder [$h1_fold] (0 message found by SEARCH)\n"  ) ;
                         next FOLDER ;
                 }
         }
 
         if ( ! exists  $h2_folders_all{ $h2_fold }  ) {
-                create_folder( $sync, $sync->{imap2}, $h2_fold, $h1_fold ) or next FOLDER ;
+                # In --dry mode I could count the messages to be transfered instead of 0
+                # Messages transferred : 0 (could be 0 without dry mode)
+                if ( ! create_folder( $sync, $sync->{imap2}, $h2_fold, $h1_fold ) )
+                {
+                        if ( $sync->{ dry } )
+                        {
+                                $nb_msg_skipped_dry_mode += $h1_msgs_nb ;
+                        }
+                        next FOLDER ;
+                }
         }
 
-        acls_sync( $h1_fold, $h2_fold ) ;
+        acls_sync( $sync, $h1_fold, $h2_fold ) ;
 
         # Sometimes the folder on host2 is listed (it exists) but is
         # not selectable but becomes selectable by a create (Gmail)
@@ -2138,13 +2353,18 @@
 
         if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
 
-        my $h1_msgs_all_hash_ref = {  } ;
-        my @h1_msgs = select_msgs( $sync->{imap1}, $h1_msgs_all_hash_ref, $sync->{ search1 }, $sync->{abletosearch1}, $h1_fold );
+
+        if ( ! defined $h1_msgs_nb )
+        {
+                $h1_msgs_all_hash_ref = {  } ;
+                @h1_msgs = select_msgs( $sync->{imap1}, $h1_msgs_all_hash_ref, $sync->{ search1 }, $sync->{abletosearch1}, $h1_fold );
+                $h1_msgs_nb = scalar @h1_msgs  ;
+        }else{
+                # select_msgs already done.
+        }
 
         if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
 
-        my $h1_msgs_nb = scalar  @h1_msgs  ;
-
         myprint( "Host1: folder [$h1_fold] considering $h1_msgs_nb messages\n"  ) ;
         ( $sync->{ debug } or $debuglist ) and myprint( "Host1: folder [$h1_fold] considering $h1_msgs_nb messages, LIST gives: @h1_msgs\n" ) ;
         $sync->{ debug } and myprint( "Host1: selecting messages of folder [$h1_fold] took ", timenext( $sync ), " s\n" ) ;
@@ -2188,7 +2408,7 @@
         @h2_msgs{ @h2_msgs } = (  ) ;
 
         my @h1_msgs_in_cache = sort { $a <=> $b } keys %{ $cache_1_2_ref } ;
-        my @h2_msgs_in_cache = keys %{ $cache_2_1_ref } ;
+        my @h2_msgs_in_cache = sort { $a <=> $b } keys %{ $cache_2_1_ref } ;
 
         my ( %h1_msgs_not_in_cache, %h2_msgs_not_in_cache ) ;
         %h1_msgs_not_in_cache = %h1_msgs ;
@@ -2196,9 +2416,9 @@
         delete @h1_msgs_not_in_cache{ @h1_msgs_in_cache } ;
         delete @h2_msgs_not_in_cache{ @h2_msgs_in_cache } ;
 
-        my @h1_msgs_not_in_cache = keys %h1_msgs_not_in_cache ;
+        my @h1_msgs_not_in_cache = sort { $a <=> $b } keys %h1_msgs_not_in_cache ;
         #myprint( "h1_msgs_not_in_cache: [@h1_msgs_not_in_cache]\n"  ) ;
-        my @h2_msgs_not_in_cache = keys %h2_msgs_not_in_cache ;
+        my @h2_msgs_not_in_cache = sort { $a <=> $b } keys %h2_msgs_not_in_cache ;
 
         my @h2_msgs_delete2_not_in_cache = () ;
         %h1_msgs_copy_by_uid = (  ) ;
@@ -2233,8 +2453,7 @@
         }
         else
         {
-                my $uidnext = $sync->{imap1}->uidnext( $h1_fold ) || $uidnext_default ;
-                my $fetch_hash_uids = $fetch_hash_set || "1:$uidnext" ;
+                my $fetch_hash_uids = $fetch_hash_set || "1:*" ;
                 $h1_fir_ref = $sync->{imap1}->fetch_hash( $fetch_hash_uids, @h1_common_fetch_param, $h1_fir_ref )
                 if ( @h1_msgs ) ;
         }
@@ -2260,22 +2479,30 @@
                         $sync->{ nb_msg_skipped } += 1 ;
                         $sync->{ h1_nb_msg_noheader }  +=1 ;
                         $sync->{ h1_nb_msg_processed } +=1 ;
-                } elsif(0 == $rc)
+                } elsif( 0 == $rc )
                 {
                         # duplicate
                         push @h1_msgs_duplicate, $m;
                         # duplicate, same id same size?
                         my $h1_size = $h1_fir_ref->{$m}->{'RFC822.SIZE'} || 0;
-                        $sync->{ nb_msg_skipped } += 1;
-                        $h1_nb_msg_duplicate += 1;
-                        $sync->{ h1_nb_msg_processed } +=1 ;
+
+                        $sync->{ acc1 }->{ nb_msg_duplicate } += 1;
+                        if ( ! $sync->{ syncduplicates } ) {
+                                $sync->{ nb_msg_skipped } += 1 ;
+                                $sync->{ h1_nb_msg_processed } +=1 ;
+                        }
                 }
         }
+
+
         my $h1_msgs_duplicate_nb = scalar  @h1_msgs_duplicate  ;
 
         myprint( "Host1: folder [$h1_fold] selected $h1_msgs_nb messages, duplicates $h1_msgs_duplicate_nb\n" ) ;
 
         $sync->{ debug } and myprint( 'Host1: whole time parsing headers took ', timenext( $sync ), " s\n"  ) ;
+
+
+
         # Getting headers and metada can be so long that host2 might be disconnected here
         if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
 
@@ -2296,8 +2523,7 @@
         if ( $sync->{abletosearch2} and scalar( @h2_msgs ) ) {
                 $h2_fir_ref = $sync->{imap2}->fetch_hash( \@h2_msgs, @h2_common_fetch_param, $h2_fir_ref) ;
         }else{
-                my $uidnext = $sync->{imap2}->uidnext( $h2_fold ) || $uidnext_default ;
-                my $fetch_hash_uids = $fetch_hash_set || "1:$uidnext" ;
+                my $fetch_hash_uids = $fetch_hash_set || "1:*" ;
                 $h2_fir_ref = $sync->{imap2}->fetch_hash( $fetch_hash_uids, @h2_common_fetch_param, $h2_fir_ref )
                 if ( @h2_msgs ) ;
         }
@@ -2313,7 +2539,7 @@
                         $h2_nb_msg_noheader += 1 ;
                 } elsif( 0 == $rc ) {
                         # duplicate
-                        $h2_nb_msg_duplicate += 1 ;
+                        $sync->{ acc2 }->{ nb_msg_duplicate } += 1 ;
                         push  @h2_msgs_duplicate, $m  ;
                 }
         }
@@ -2353,9 +2579,9 @@
                 foreach my $h2_msg ( @h2_msgs_duplicate ) {
                         myprint( "Host2: msg $h2_fold/$h2_msg marked \\Deleted [duplicate] on host2 $sync->{dry_message}\n"  ) ;
                         push  @h2_expunge, $h2_msg  if $sync->{ uidexpunge2 } ;
-                        if ( ! $sync->{dry} ) {
-                                $sync->{imap2}->delete_message( $h2_msg ) ;
-                                $h2_nb_msg_deleted += 1 ;
+                        if ( ! $sync->{ dry } ) {
+                                $sync->{ imap2 }->delete_message( $h2_msg ) ;
+                                $sync->{ acc2 }->{ nb_msg_deleted } += 1 ;
                         }
                 }
                 my $cnt = scalar @h2_expunge ;
@@ -2381,9 +2607,9 @@
                                 myprint( "Host2: msg $h2_fold/$h2_msg marked \\Deleted on host2 [$m_id] $sync->{dry_message}\n" )
                                   if ! $isdel;
                                 push @h2_expunge, $h2_msg if $sync->{ uidexpunge2 };
-                                if ( ! ( $sync->{dry} or $isdel ) ) {
-                                        $sync->{imap2}->delete_message($h2_msg);
-                                        $h2_nb_msg_deleted += 1;
+                                if ( ! ( $sync->{ dry } or $isdel ) ) {
+                                        $sync->{ imap2 }->delete_message( $h2_msg );
+                                        $sync->{ acc2 }->{ nb_msg_deleted } += 1;
                                 }
                         }
                 }
@@ -2391,8 +2617,8 @@
                         myprint( "Host2: msg $h2_fold/$h2_msg marked \\Deleted [not in cache] on host2 $sync->{dry_message}\n" ) ;
                         push @h2_expunge, $h2_msg if $sync->{ uidexpunge2 };
                         if ( ! $sync->{dry} ) {
-                                $sync->{imap2}->delete_message($h2_msg);
-                                $h2_nb_msg_deleted += 1;
+                                $sync->{ imap2 }->delete_message( $h2_msg );
+                                $sync->{ acc2 }->{ nb_msg_deleted } += 1;
                         }
                 }
                 my $cnt = scalar @h2_expunge ;
@@ -2445,9 +2671,9 @@
                                 }else{
                                         myprint( "Host2: msg $h2_fold/$h2_msg marked \\Deleted $sync->{dry_message}\n" ) ;
                                         push  @h2_expunge, $h2_msg  if $sync->{ uidexpunge2 } ;
-                                        if ( ! $sync->{dry} ) {
-                                                $sync->{imap2}->delete_message( $h2_msg ) ;
-                                                $h2_nb_msg_deleted += 1 ;
+                                        if ( ! $sync->{ dry}  ) {
+                                                $sync->{ imap2 }->delete_message( $h2_msg ) ;
+                                                $sync->{ acc2 }->{ nb_msg_deleted } += 1 ;
                                         }
                                 }
                         }
@@ -2475,6 +2701,7 @@
 
         my @h1_msgs_to_delete ;
         MESS: foreach my $m_id (@h1_hash_keys_sorted_by_uid) {
+                abortifneeded( $sync ) ;
 		if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
 
                 #myprint( "h1_nb_msg_processed: $sync->{ h1_nb_msg_processed }\n"  ) ;
@@ -2510,7 +2737,7 @@
                         }
 
                         if ( total_bytes_max_reached( $sync ) ) {
-                                # a bug when using --delete1 --noexpungeaftereach
+                                # Still a bug when using --delete1 --noexpungeaftereach
                                 # same thing below on all total_bytes_max_reached!
                                 last FOLDER ;
                         }
@@ -2558,7 +2785,7 @@
                         }
                 }
 
-		if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
+                if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
 
                 if ( $sync->{ delete1 } ) {
                         push @h1_msgs_to_delete, $h1_msg ;
@@ -2566,6 +2793,7 @@
         }
         # END MESS: loop
 
+        # @h1_msgs_in_cache are already synced too.
         delete_message_on_host1( $sync, $h1_fold, $sync->{ expunge1 }, @h1_msgs_to_delete, @h1_msgs_in_cache ) ;
 
 	if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
@@ -2595,6 +2823,7 @@
         # MESS_BY_UID:
         foreach my $h1_msg ( sort { $a <=> $b } keys %h1_msgs_copy_by_uid )
         {
+                abortifneeded( $sync ) ;
                 $sync->{ debug } and myprint( "Copy by uid $h1_fold/$h1_msg\n"  ) ;
                 if ( ! reconnect_12_if_needed( $sync ) ) { last FOLDER ; }
 
@@ -2638,18 +2867,30 @@
         foldersizesatend( $sync ) ;
 }
 
+#$sync->{imap1}->State( 0 ); # Unconnected
 if ( ! lost_connection( $sync, $sync->{imap1}, "for host1 [$sync->{host1}]" ) ) { $sync->{imap1}->logout(  )  ; }
 if ( ! lost_connection( $sync, $sync->{imap2}, "for host2 [$sync->{host2}]" ) ) { $sync->{imap2}->logout(  )  ; }
 
-stats( $sync ) ;
-myprint( errorsdump( $sync->{nb_errors}, errors_log( $sync ) ) ) if ( $sync->{errorsdump} ) ;
-tests_live_result( $sync->{nb_errors} ) if ( $sync->{testslive} or $sync->{testslive6} ) ;
+do_and_print_stats( $sync ) ;
+
+
+if ( $sync->{errorsdump} and $sync->{nb_errors} )
+{
+        myprint( errors_listing( $sync ) ) ;
+}
+
+
+if ( $sync->{testslive} or $sync->{testslive6} )
+{
+        tests_live_result( $sync->{nb_errors} ) ;
+}
 
 
 
 if ( $sync->{nb_errors} )
 {
-        exit_clean( $sync, $EXIT_WITH_ERRORS ) ;
+        my $exit_value = $EXIT_VALUE_OF_ERR_TYPE{ $sync->{most_common_error} } || $EXIT_CATCH_ALL ;
+        exit_clean( $sync, $exit_value ) ;
 }
 else
 {
@@ -2768,9 +3009,56 @@
 	return $mysync->{ output } ;
 }
 
-sub pidfile
+
+sub tests_print_output_if_needed
 {
-        my $mysync = shift ;
+        note( 'Entering tests_print_output_if_needed()' ) ;
+
+        is( undef, print_output_if_needed(  ),  'print_output_if_needed: no args => undef' ) ;
+        my $mysync = {  } ;
+        is( q{}, print_output_if_needed( $mysync ),  'print_output_if_needed: undef => undef' ) ;
+
+        output( $mysync, "Hello\n" ) ;
+        is( "Hello\n", print_output_if_needed( $mysync ),  'print_output_if_needed: Hello => Hello' ) ;
+        
+        $mysync->{ dockercontext } = 1 ;
+        is( "Hello\n", print_output_if_needed( $mysync ),  'print_output_if_needed: dockercontext + Hello => Hello' ) ;
+        
+        $mysync->{ version } = 1 ;
+        is( q{}, print_output_if_needed( $mysync ),  'print_output_if_needed: dockercontext + Hello + --version => ""' ) ;
+        
+        $mysync->{ dockercontext } = 0 ;
+        is( "Hello\n", print_output_if_needed( $mysync ),  'print_output_if_needed: Hello + --version => Hello' ) ;
+        
+        note( 'Leaving  tests_print_output_if_needed()' ) ;
+        return ;
+}
+
+
+sub print_output_if_needed
+{
+        
+        my $mysync = shift @ARG ;
+        if ( ! defined $mysync ) { return ; }
+        my $output = output( $mysync ) ;
+        
+        if ( $mysync->{ version } && under_docker_context( $mysync ) )
+        {
+                return q{} ;
+        }
+        else
+        {
+                myprint( $output ) ;
+                return $output ;
+        }
+        
+}
+
+
+
+sub define_pidfile
+{
+        my $mysync = shift @ARG ;
 
         $mysync->{ pidfilelocking } = defined $mysync->{ pidfilelocking }  ? $mysync->{ pidfilelocking } : 0 ;
 
@@ -2795,9 +3083,26 @@
         }
 
         $mysync->{ pidfile } =  defined  $mysync->{ pidfile }  ? $mysync-> { pidfile } : $mysync->{ tmpdir } . "/$pidfile_basename" ;
+        $mysync->{ abortfile } = abortfile( $mysync, $PROCESS_ID ) ;
         return ;
 }
 
+sub abortfile
+{
+        my $mysync = shift @ARG ;
+        my $pid    = shift @ARG ;
+
+        my $abortfile ;
+        if ( $mysync->{ abort } )
+        {
+                $abortfile = $mysync->{ pidfile } . "abort$pid" ;
+        }
+        else
+        {
+                $abortfile = $mysync->{ pidfile } . "abort$PROCESS_ID" ;
+        }
+        return $abortfile ;
+}
 
 sub tests_kill_zero
 {
@@ -2975,7 +3280,7 @@
         my $pidtokill = shift ;
 
         if ( ! $pidtokill ) {
-                myprint( "No process to abort.\n" ) ;
+                myprint( "No process to kill.\n" ) ;
                 return ;
         }
 
@@ -2989,7 +3294,7 @@
         if ( kill( 'ZERO', $pidtokill ) or ( 'MSWin32' eq $OSNAME ) ) {
                 myprint( "Sending signal QUIT to PID $pidtokill \n" ) ;
                 kill 'QUIT', $pidtokill ;
-                sleep 2 ;
+                sleep 3 ;
                 waitpid( $pidtokill, WNOHANG) ;
         }else{
                 myprint( "Can not send signal kill ZERO to PID $pidtokill.\n" ) ;
@@ -3023,7 +3328,7 @@
 sub tests_abort
 {
         note( 'Entering tests_abort()' ) ;
-
+        # Well, the abort behavior is tested by test.sh
         is( undef, abort(  ),  'abort: no args => undef' ) ;
         note( 'Leaving  tests_abort()' ) ;
         return ;
@@ -3036,31 +3341,87 @@
 {
         my $mysync = shift @ARG ;
 
+        myprint( "In abort\n" ) ;
         if ( not $mysync ) { return ; }
 
         if ( ! -r $mysync->{pidfile} ) {
-                myprint( "Can not read pidfile $mysync->{pidfile}. Exiting.\n" ) ;
-                exit $EX_OK ;
+                myprint( "In abort: Can not read pidfile $mysync->{pidfile}\n" ) ;
+                return ;
         }
         my $pidtokill = firstline( $mysync->{pidfile} ) ;
         if ( ! $pidtokill ) {
-                myprint( "No process to abort. Exiting.\n" ) ;
-                exit $EX_OK ;
+                myprint( "In abort: No process to abort in $mysync->{pidfile}\n" ) ;
+                return ;
         }
 
-        killpid( $pidtokill ) ;
+        if ( ! match_a_pid_number( $pidtokill ) )
+        {
+                myprint( "In abort: pid $pidtokill in $mysync->{pidfile} is not a pid number\n" ) ;
+                return ;
+        }
 
-        # well, the abort job is done anyway, because even when not succeeded
-        # in aborting another run, this run has to end without doing any
-        # thing else
 
-        exit $EX_OK ;
+        if ( $mysync->{abortbyfile} )
+        {
+                abortbyfile( $mysync, $pidtokill ) ;
+        }
+        else
+        {
+                killpid( $pidtokill ) ;
+        }
+        return ;
+}
+
+sub abortbyfile
+{
+        my $mysync    = shift @ARG ;
+        my $pidtokill = shift @ARG ;
+
+        my $abortfile = abortfile( $mysync, $pidtokill ) ;
+        myprint( "touching $abortfile\n" ) ;
+        touch( $abortfile ) ;
+        return ;
+}
+
+
+sub tests_under_docker_context
+{
+        note( 'Entering tests_under_docker_context()' ) ;
+
+        is( undef, under_docker_context(  ),  'under_docker_context: no args => undef' ) ;
+
+        my $mysync = {  } ;
+        $mysync->{ dockercontext } = 1 ;
+        is( 1, under_docker_context( $mysync ),  'under_docker_context: --dockercontext => 1' ) ;
+        $mysync->{ dockercontext } = 0 ;
+        is( 0, under_docker_context( $mysync ),  'under_docker_context: --nodockercontext => 0' ) ;
+
+        $mysync = {  } ;
+        # Is not it a stupid test?
+        if ( under_docker_context( $mysync ) )
+        {
+                is( 1, under_docker_context( $mysync ),  'under_docker_context: docker context => 1' ) ;
+        }
+        else
+        {
+                is( 0, under_docker_context( $mysync ),  'under_docker_context: not docker context => 0' ) ;
+        }
+
+        note( 'Leaving  tests_under_docker_context()' ) ;
+        return ;
 }
 
 
 sub under_docker_context
 {
         my $mysync = shift ;
+        
+        if ( ! defined $mysync ) { return ; }
+
+        if ( defined $mysync->{ dockercontext } )
+        {
+                return( $mysync->{ dockercontext } ) ;
+        }
 
         if ( -e '/.dockerenv' )
         {
@@ -3075,27 +3436,35 @@
 }
 
 
-sub docker_context
+sub docker_context 
 {
-	my $mysync = shift ;
-
-        #-e '/.dockerenv'  || return ;
+        my $mysync = shift ;
 
         if ( ! under_docker_context( $mysync ) )
         {
                 return ;
         }
 
-	$mysync->{ debug } and myprint( "Docker context detected with /.dockerenv\n" ) ;
-	# No pidfile
-	$mysync->{pidfile} = q{} ;
-	# No log
-	$mysync->{log} = 0 ;
-	# In case
-	$mysync->{ debug } and myprint( "Changing current directory to /var/tmp/\n" ) ;
-	chdir '/var/tmp/' ;
+        output( $mysync, "Docker context detected with the file /.dockerenv\n" ) ;
+        # No pidfile by default
+        
+        $mysync->{ pidfile } = defined( $mysync->{ pidfile } ) ? $mysync->{ pidfile } : q{} ;
+        # No log by default
+        if ( defined( $mysync->{ log } ) )
+        {
+                output( $mysync, "Logging in Docker context. Be sure you added access to it with a mount or similar. See https://docs.docker.com/storage/volumes/\n" ) ;
+        }
+        else
+        {
+                output( $mysync, "No log by default in Docker context. Use --log to trigger logging to the logfile.\n" ) ;
+                $mysync->{ log } = 0 ;
+        }
 
-	return ;
+        # In case something is written relatively to .
+        output( $mysync, "Changing current directory to /var/tmp/\n" ) ;
+        chdir '/var/tmp/' ;
+
+        return ;
 }
 
 sub cgibegin
@@ -3151,7 +3520,7 @@
         return ;
 }
 
-sub cgibuildheader
+sub cgibuildheader 
 {
 	my $mysync = shift ;
 	if ( ! under_cgi_context( $mysync ) ) { return ; }
@@ -3166,7 +3535,7 @@
 	my $httpheader ;
 	if ( $mysync->{ abort } ) {
 		$httpheader = $mysync->{cgi}->header(
-			-type   => 'text/plain',
+			-type   => 'text/plain; charset=UTF-8',
 			-status => '200 OK to abort syncing IMAP boxes' . ". Here is " . hostname(),
 		) ;
 	}elsif( $mysync->{ loaddelay } ) {
@@ -3174,7 +3543,7 @@
 # 503 Service Unavailable
 # The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
 		$httpheader = $mysync->{cgi}->header(
-			-type   => 'text/plain',
+			-type   => 'text/plain; charset=UTF-8',
 			-status => '503 Service Unavailable' . ". Be back in $mysync->{ loaddelay } min. Load on " . hostname() . " is $mysync->{ loadavg }",
 		) ;
 	}else{
@@ -3306,40 +3675,56 @@
 	return ;
 }
 
-sub  cgisetcontext
+sub buggyflagsregex
 {
-	my $mysync = shift ;
-	if ( ! under_cgi_context( $mysync ) ) { return ; }
+        # From /X analyse
+        # cut -d: -f1 Error_112_all_syncs.txt   | xargs egrep -oih 'Invalid system flag [^( ]+'  | sort | uniq -c | sort -g
+        my @buggyflagsregex = ( 's/\\\\RECEIPTCHECKED|\\\\Indexed|\\\\X-EON-HAS-ATTACHMENT|\\\\UNSEEN|\\\\ATTACHED|\\\\X-HAS-ATTACH|\\\\FORWARDED|\\\\FORWARD|\\\\X-FORWARDED|\\\\\$FORWARDED|\\\\PRIORITY|\\\\READRCPT//g' ) ;
+        return( @buggyflagsregex ) ;
+}
 
-	output( $mysync, "Under cgi context\n" ) ;
-	set_umask( $mysync ) ;
+sub cgisetcontext
+{
+        my $mysync = shift ;
+        if ( ! under_cgi_context( $mysync ) ) { return ; }
+
+        output( $mysync, "Under cgi context\n" ) ;
+        
+        
+        set_umask( $mysync ) ;
 
         # Remove all content in unsafe evaled options
         @{ $mysync->{ regextrans2 } } = (  ) ;
-        @regexflag   = (  ) ;
+
+        @{ $mysync->{ regexflag } } = buggyflagsregex(  ) ;
+        
         @regexmess   = (  ) ;
         @skipmess    = (  ) ;
         @pipemess    = (  ) ;
         $delete2foldersonly   = undef ;
         $delete2foldersbutnot = undef ;
-	$maxlinelengthcmd     = undef ;
+        $maxlinelengthcmd     = undef ;
 
-	# Set safe default values (I hope...)
+        # Set safe default values (I hope...)
 
 
         #$mysync->{pidfile} =  'imapsync.pid' ;
-	$mysync->{pidfilelocking} = 1 ;
-	$mysync->{errorsmax} = $ERRORS_MAX_CGI ;
-	$modulesversion = 0 ;
-	$mysync->{releasecheck} = defined  $mysync->{releasecheck}  ? $mysync->{releasecheck} : 1 ;
-	$usecache = 0 ;
-	$mysync->{showpasswords} = 0 ;
-	$debugimap1 = $debugimap2 = $debugimap = 0 ;
-	$reconnectretry1 = $reconnectretry2 = $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND ;
-	$pipemesscheck = 0 ;
+        $mysync->{ pidfilelocking } = 1 ;
+        $mysync->{ errorsmax } = $ERRORS_MAX_CGI ;
+        $modulesversion = 0 ;
+        $mysync->{ releasecheck } = defined  $mysync->{ releasecheck }  ? $mysync->{ releasecheck } : 1 ;
+        $usecache = 0 ;
+        $mysync->{ showpasswords } = 0 ;
+        $mysync->{ acc1 }->{ debugimap } = 0 ;
+        $mysync->{ acc2 }->{ debugimap } = 0 ;
 
-	$mysync->{hashfile} = $CGI_HASHFILE ;
-	my $hashsynclocal = hashsynclocal( $mysync ) || die "Can not get hashsynclocal. Exiting\n" ;
+        $mysync->{ acc1 }->{ reconnectretry } = $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND ;
+        $mysync->{ acc2 }->{ reconnectretry } = $DEFAULT_NB_RECONNECT_PER_IMAP_COMMAND ;
+
+        $pipemesscheck = 0 ;
+
+        $mysync->{ hashfile } = $CGI_HASHFILE ;
+        my $hashsynclocal = hashsynclocal( $mysync ) || die "Can not get hashsynclocal. Exiting\n" ;
 
         if ( $ENV{ 'NET_SERVER_SOFTWARE' } and ( $ENV{ 'NET_SERVER_SOFTWARE' } =~ /Net::Server::HTTP/ ) )
         {
@@ -3352,7 +3737,8 @@
         }
         -d $cgidir or mkpath $cgidir or die "Can not create $cgidir: $OS_ERROR\n" ;
         $mysync->{ tmpdir } = $cgidir ;
-
+        $mysync->{ logdir } = '' ;
+        
         chdir  $cgidir or die "Can not cd to $cgidir: $OS_ERROR\n" ;
         cgioutputenvcontext( $mysync ) ;
         $mysync->{ debug } and output( $mysync, 'Current directory is ' . getcwd(  ) . "\n" ) ;
@@ -3368,11 +3754,16 @@
         $mysync->{ tail } = defined  $mysync->{ tail }  ? $mysync->{ tail } : 1 ;
 
         # not sure it's for good
-        @useheader = qw( Message-Id ) ;
+        @useheader = qw( Message-Id Received ) ;
 
         # addheader on by default
         $mysync->{ addheader } = defined  $mysync->{ addheader }  ? $mysync->{ addheader } : 1 ;
+        
+        # sync duplicates by default in cgi context
+        $mysync->{ syncduplicates } = defined  $mysync->{ syncduplicates }  ? $mysync->{ syncduplicates } : 1 ;
 
+        # log the logfile name by default in cgi context
+        $mysync->{ loglogfile } = defined  $mysync->{ loglogfile }  ? $mysync->{ loglogfile } : 1 ;
         return ;
 }
 
@@ -3389,6 +3780,100 @@
 	return ;
 }
 
+sub announcelogfile 
+{
+        my $mysync = shift ;
+
+        if ( $mysync->{ log } )
+        {
+                myprint( "Log file is $mysync->{ logfile } ( to change it, use --logfile path ; or use --nolog to turn off logging )\n" ) ;
+                loglogfile( $mysync ) ;
+        }
+        else
+        {
+                myprint( "No log file because of option --nolog\n" ) ;
+        }  
+        return ;
+}
+
+
+sub loglogfile
+{
+        my $mysync = shift ;
+        if ( ! $mysync->{ loglogfile } ) { return ; }
+        if ( ! $mysync->{ log        } ) { return ; }
+        
+        my $cwd = getcwd(  ) ;
+        my $absolutelogfilepath ;
+        # Fixme: add case when the logfile name is already absolute
+        $absolutelogfilepath = "$cwd/$mysync->{ logfile }" ;
+        my $loglogfilename = '../list_all_logs_auto.txt' ;
+        myprint( "Writing log file name $absolutelogfilepath to $loglogfilename\n" ) ;
+        if ( open( my $fh, '>>', $loglogfilename ) )
+        {
+                print $fh "$absolutelogfilepath\n" ;
+                close $fh ;
+        }
+        else
+        {
+                myprint( "Could not open loglogfile $loglogfilename $!\n" ) ;
+        }
+        return ;
+}
+
+
+sub checkselectable 
+{
+        my $mysync = shift ; 
+        
+        if ( $mysync->{ checkselectable } ) {
+                my @h1_folders_wanted_selectable ;
+                myprint( "Host1: Checking wanted folders are selectable. Use --nocheckselectable to avoid this check.\n"  ) ;
+                foreach my $folder ( @{ $mysync->{ h1_folders_wanted } } )
+                {
+                        ( $mysync->{ debug } or $mysync->{ debugfolders } ) and myprint( "Checking $folder is selectable on host1\n"  ) ;
+                        # It does an imap command  LIST "" $folder and then search for no \Noselect
+                        if ( ! $mysync->{ imap1 }->selectable( $folder ) )
+                        {
+                                myprint( "Host1: warning! ignoring folder $folder because it is not selectable\n" ) ;
+                        }else
+                        {
+                                push  @h1_folders_wanted_selectable, $folder  ;
+                        }
+                }
+                @{ $mysync->{ h1_folders_wanted } } = @h1_folders_wanted_selectable ;
+                ( $mysync->{ debug } or $mysync->{ debugfolders } ) 
+                        and myprint( 'Host1: checking folders took ', timenext( $mysync ), " s\n"  ) ;
+        }
+        else
+        {
+                myprint( "Host1: Not checking that wanted folders are selectable. Use --checkselectable to force this check.\n"  ) ;
+        }
+        return ;
+}
+
+sub setcheckselectable 
+{
+        my $mysync = shift ;
+        
+        my $h1_folders_wanted_nb = scalar @{ $mysync->{ h1_folders_wanted } } ;
+        # 152 because 98% of host1 accounts have less than 152 folders on /X service.
+        # command to get this value: 
+        #     datamash_file_op_index G_Host1_Nb_folders.txt  perc:98 4  %16.1f 
+        if ( ! defined $mysync->{ checkselectable } )
+        {
+                if ( 152 >= $h1_folders_wanted_nb )
+                {
+                        $mysync->{ checkselectable } = 1 ;
+                }else{
+                        myprint( "Host1: Not checking that $h1_folders_wanted_nb wanted folders are selectable. Use --checkselectable to force this check.\n"  ) ;
+                        $mysync->{ checkselectable } = 0 ;
+                }
+        }
+        return ;
+}
+
+
 
 sub debugsleep
 {
@@ -3416,7 +3901,6 @@
 
 
 # Globals:
-# $uidnext_default
 # $fetch_hash_set
 #
 sub foldersize
@@ -3450,6 +3934,7 @@
         my $biggest_in_folder = 0 ;
         @{ $hash_ref }{ @msgs } = ( undef ) if @msgs ;
 
+
         my $stot = 0 ;
 
         if ( $imap->IsUnconnected(  ) )
@@ -3467,8 +3952,7 @@
                 }
                 else
                 {
-                        my $uidnext = $imap->uidnext( $folder ) || $uidnext_default ;
-                        my $fetch_hash_uids = $fetch_hash_set || "1:$uidnext" ;
+                        my $fetch_hash_uids = $fetch_hash_set || "1:*" ;
                         if ( ! $imap->fetch_hash( $fetch_hash_uids, 'RFC822.SIZE', $hash_ref ) ) {
                                 my $error = "$side failure with fetch_hash: $EVAL_ERROR\n" ;
                                 errors_incr( $mysync, $error ) ;
@@ -3477,8 +3961,11 @@
                 }
                 for ( keys %{ $hash_ref } ) {
                         my $size =  $hash_ref->{ $_ }->{ 'RFC822.SIZE' } ;
-                        $stot    += $size ;
-                        $biggest_in_folder =  max( $biggest_in_folder, $size ) ;
+                        if ( defined $size )
+                        {
+                                $stot += $size ;
+                                $biggest_in_folder =  max( $biggest_in_folder, $size ) ;
+                        }
                 }
         }
         return( $stot, $nb_msgs, $biggest_in_folder ) ;
@@ -3717,6 +4204,66 @@
         return $x + $y ;
 }
 
+sub tests_checknoabletosearch
+{
+        note( 'Entering checknoabletosearch()' ) ;
+
+        is( undef, checknoabletosearch(  ),  'checknoabletosearch: no args => undef' ) ;
+
+        note( 'Leaving  checknoabletosearch()' ) ;
+        return ;
+}
+
+
+
+
+sub checknoabletosearch
+{
+        # call example: checknoabletosearch( $sync, $sync->{ imap1 }, 'INBOX', 'Host1' ) ;
+        # output:
+        # * undef if something is not ok to decide
+        # * 1 if SEARCH ALL failed
+
+        my( $mysync, $imap, $folder, $HostX ) = @ARG ;
+
+        if ( ! all_defined( $mysync, $imap, $folder, $HostX ) )
+        {
+                return ;
+        }
+
+        myprint( "$HostX: checking if SEARCH ALL works on $folder\n" ) ;
+        if ( ! select_folder( $mysync, $imap, $folder, $HostX ) )
+        {
+                myprint( "$HostX: can not SELECT folder [$folder]\n" ) ;
+                return ;
+        }
+        my $count_from_select = count_from_select( $imap->History ) ;
+        myprint( "$HostX: folder [$folder] has $count_from_select messages mentioned by SELECT\n" ) ;
+
+        my $msgs_all = $imap->messages(  ) ;
+        if ( ! $msgs_all )
+        {
+                myprint( "$HostX: can not SEARCH ALL folder [$folder]\n" ) ;
+                myprint( "$HostX: ", $imap->LastError(), "\n" ) ;
+                return 1 ;
+        }
+
+        my $count_from_search_all = scalar( @{ $msgs_all } ) ;
+        myprint( "$HostX: folder [$folder] has $count_from_search_all messages found by SEARCH ALL\n" ) ;
+
+        if ( $count_from_select == $count_from_search_all )
+        {
+                myprint( "$HostX: folder [$folder] has the same messages count ($count_from_select) by SELECT and SEARCH ALL\n" ) ;
+        }
+        else
+        {
+                myprint( "$HostX: Warning, folder [$folder] has not the same count by SELECT ($count_from_select) and SEARCH ALL ($count_from_search_all)\n" )  ;
+                return 1 ;
+        }
+
+        return ;
+}
+
 
 sub foldersizes_diff_list
 {
@@ -3864,7 +4411,7 @@
                 return ;
         }
 
-        my $h2_bytes_limit = $mysync->{h2}->{quota_limit_bytes} || 0 ;
+        my $h2_bytes_limit = $mysync->{ acc2 }->{quota_limit_bytes} || 0 ;
         if ( $h2_bytes_limit and ( $h2_bytes_limit < $mysync->{ h1_bytes_start } ) )
         {
                 my $quota_percent = mysprintf( '%.0f', $NUMBER_100 * $mysync->{ h1_bytes_start } / $h2_bytes_limit ) ;
@@ -3906,7 +4453,7 @@
                 return ;
         }
 
-        my $h2_bytes_limit = $mysync->{h2}->{quota_limit_bytes} || 0 ;
+        my $h2_bytes_limit = $mysync->{ acc2 }->{quota_limit_bytes} || 0 ;
         if ( $h2_bytes_limit and ( $h2_bytes_limit < $mysync->{ h1_bytes_start } ) )
         {
                 my $quota_percent = mysprintf( '%.0f', $NUMBER_100 * $mysync->{ h1_bytes_start } / $h2_bytes_limit ) ;
@@ -3917,15 +4464,51 @@
 }
 
 
+sub tests_total_bytes_max_reached
+{
+        note( 'Entering tests_total_bytes_max_reached()' ) ;
+
+        is( undef, total_bytes_max_reached(  ),  'total_bytes_max_reached: no args => undef' ) ;
+
+        my $mysync = {} ;
+        is( undef, total_bytes_max_reached( $mysync ),  'total_bytes_max_reached: no exitwhenover => undef' ) ;
+
+        $mysync->{ exitwhenover } = 300 ;
+        is( undef, total_bytes_max_reached( $mysync ),  'total_bytes_max_reached: exitwhenover 300 but no total_bytes_transferred => undef' ) ;
+
+        $mysync->{ total_bytes_transferred } = 200 ;
+        is( undef, total_bytes_max_reached( $mysync ),  'total_bytes_max_reached: exitwhenover 300 but total_bytes_transferred 200 => undef' ) ;
+
+        $mysync->{ total_bytes_transferred } = 400 ;
+        is( 1, total_bytes_max_reached( $mysync ),  'total_bytes_max_reached: exitwhenover 300 but total_bytes_transferred 400 => 1' ) ;
+
+
+
+        note( 'Leaving  tests_total_bytes_max_reached()' ) ;
+        return ;
+}
+
+
 sub total_bytes_max_reached
 {
         my $mysync = shift ;
 
-        if ( ! $mysync->{ exitwhenover } ) {
-                return( 0 ) ;
+        if ( ! defined $mysync ) { return ; }
+
+        if ( ! $mysync->{ exitwhenover } )
+        {
+                return ;
         }
-        if ( $mysync->{ total_bytes_transferred } >= $mysync->{ exitwhenover } ) {
-                myprint( "Maximum bytes transferred reached, $mysync->{total_bytes_transferred} >= $mysync->{ exitwhenover }, ending sync\n"  ) ;
+
+        if ( ! $mysync->{ total_bytes_transferred } )
+        {
+                return ;
+        }
+
+        if ( $mysync->{ total_bytes_transferred } >= $mysync->{ exitwhenover } )
+        {
+                my $error = "Maximum bytes transferred reached, $mysync->{total_bytes_transferred} >= $mysync->{ exitwhenover }, ending sync\n" ;
+                errors_incr( $mysync, $error ) ;
                 return( 1 ) ;
         }
         return ;
@@ -4166,7 +4749,7 @@
         #myprint( Data::Dumper->Dump( [ \$myimap ] )  ) ;
         my $appendlimit = capability_of( $myimap, 'APPENDLIMIT' ) ;
         #myprint( "has_capability APPENDLIMIT $appendlimit\n" ) ;
-        if ( is_an_integer( $appendlimit ) )
+        if ( is_integer( $appendlimit ) )
         {
                 return $appendlimit ;
         }
@@ -4291,8 +4874,6 @@
 
         # Now --truncmess stuff
 
-
-
         note( 'Leaving  tests_maxsize_setting()' ) ;
 
         return ;
@@ -4432,20 +5013,70 @@
 
 sub tests_hashsync
 {
-	note( 'Entering tests_hashsync()' ) ;
+        note( 'Entering tests_hashsync()' ) ;
+
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hashsync(  ), 'hashsync: no args' ) ;
+
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hashsync( {}, q{} ), 'hashsync: empty args' ) ;
+        my $mysync ;
+        $mysync->{ host1 } = 'zzz' ;
+        is( 'e86a28a3611c1e7bbaf8057cd00ae122781a11fe', hashsync( $mysync, q{} ), 'hashsync: host1 zzz => ' ) ;
+        is( '6a7b451ac99eab1531ad8e6cd544b32420c552ac', hashsync( $mysync, q{A} ), 'hashsync: host1 zzz => ' ) ;
+        $mysync->{ host2 } = 'zzz' ;
+        is( '15959573e4a86763253a7aedb1a2b0c60d133dc2', hashsync( $mysync, q{} ), 'hashsync: + host2 zzz => ' ) ;
+        is( 'b8d4ab541b209c75928528020ca28ee43488bd8f', hashsync( $mysync, 'A' ), 'hashsync: + hashkey A => ' ) ;
+
+        $mysync = undef ;
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hashsync( $mysync, q{} ), 'hashsync: undef $mysync' ) ;
+        $mysync->{ password1 } = 'abcd' ;
+        is( 'afa29ab8534495251ac8346a985717c54bc49c26', hashsync( $mysync, q{} ), 'hashsync: password1: abcd' ) ;
+
+        # A user reported a massive failure on /X (Thomas V. 21/04/2020 Ã  21:41 Subject: Error)
+        # "Wide character in subroutine entry at /usr/local/lib/perl5/site_perl/Digest/HMAC.pm"
+        # I can reproduce it now
 
 
-	is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hashsync( {}, q{} ), 'hashsync: empty args' ) ;
-	my $mysync ;
-	$mysync->{ host1 } = 'zzz' ;
-	is( 'e86a28a3611c1e7bbaf8057cd00ae122781a11fe', hashsync( $mysync, q{} ), 'hashsync: host1 zzz => ' ) ;
-	is( 'e86a28a3611c1e7bbaf8057cd00ae122781a11fe', hashsync( $mysync, q{} ), 'hashsync: host1 zzz => ' ) ;
-	$mysync->{ host2 } = 'zzz' ;
-	is( '15959573e4a86763253a7aedb1a2b0c60d133dc2', hashsync( $mysync, q{} ), 'hashsync: + host2 zzz => ' ) ;
-	is( 'b8d4ab541b209c75928528020ca28ee43488bd8f', hashsync( $mysync, 'A' ), 'hashsync: + hashkey A => ' ) ;
+        # The eval is there to avoid a complete crash
+        # this one is fatal so it is commented
+        # is( 'f1a3f3dac3f137fd658027c11678b895f773ce55', 1 / 0 , 'hashsync: 1 / 0 fatal' ) ;
 
-	note( 'Leaving  tests_hashsync()' ) ;
-	return ;
+        my $eval ;
+        # this one is not fatal
+        is( undef, $eval = eval { 1 / 0 } , 'hashsync: 1/0 not fatal' ) ;
+        # this one neither
+        $mysync->{ password1 } = 'Ã–' ;
+        is( 'f1a3f3dac3f137fd658027c11678b895f773ce55', $eval = eval { hashsync( $mysync, q{} ) } , 'hashsync: password1: Ã– with eval' ) ;
+
+        $mysync->{ password1 } = 'Ã–' ;
+        is( 'f1a3f3dac3f137fd658027c11678b895f773ce55', hashsync( $mysync, q{} ), 'hashsync: password1: Ã– without eval' ) ;
+
+        $mysync->{ password1 } = qq{\x{00D6}} ;
+        is( 'bb5bfb461e79ecd3dbc6ade2aabb52d22fa8be1a', $eval = eval { hashsync( $mysync, q{} ) }, 'hashsync: password1: \x{00D6}' ) ; #
+
+        print qq{1 00D6:Ã–\n} ;
+        print encode_utf8( qq{2 00D6:Ã–\n} ) ;
+        print qq{3 00D6:\x{00D6}\n} ;
+        print encode_utf8( qq{4 00D6:\x{00D6}\n} ) ;
+
+
+        print              qq{5 6536:æ”¶\n} ;
+        print encode_utf8( qq{6 6536:æ”¶\n} ) ;
+        # the next one prints "Wide character in print at ./imapsync line xxxx"
+        print              qq{7 6536:\x{6536}\n} ;
+        print encode_utf8( qq{8 6536:\x{6536}\n} ) ;
+
+        $mysync->{ password1 } = qq{æ”¶} ;
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', hashsync( $mysync, q{} ), 'hashsync: password1: æ”¶' ) ;
+
+        $mysync->{ password1 } = qq{\x{6536}} ;
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', $eval = eval{ hashsync( $mysync, q{} ) }, 'hashsync: password1: \x{6536} with eval' ) ;
+
+        # No side effect.
+        $mysync->{ password1 } = 'abcd' ;
+        is( 'afa29ab8534495251ac8346a985717c54bc49c26', hashsync( $mysync, q{} ), 'hashsync: password1: abcd again' ) ;
+
+        note( 'Leaving  tests_hashsync()' ) ;
+        return ;
 }
 
 sub hashsync
@@ -4461,12 +5092,119 @@
 		$mysync->{ user2 }     || q{},
 		$mysync->{ password2 } || q{},
 	) ;
-	my $hashsync = hmac_sha1_hex( $mystring, $hashkey ) ;
+        #my $hashsync = hmac_sha1_hex( $mystring, $hashkey ) ;
+	my $hashsync = hmac_sha1_hex_robust( $mystring, $hashkey ) ;
 	#myprint( "$hashsync\n" ) ;
 	return( $hashsync ) ;
 }
 
 
+sub tests_hmac_sha1_hex
+{
+        note( 'Entering tests_hmac_sha1_hex()' ) ;
+
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex(  ),               'hmac_sha1_hex: no args              => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex( '' ),             'hmac_sha1_hex: empty string         => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex( '', '' ),         'hmac_sha1_hex: empty strings        => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex( '', '', 'caca' ), 'hmac_sha1_hex: empty strings + caca => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+
+        # Good
+        is( 'f1a3f3dac3f137fd658027c11678b895f773ce55', hmac_sha1_hex( 'Ã–' ),                        'hmac_sha1_hex: Ã–                    => f1a3f3dac3f137fd658027c11678b895f773ce55' ) ;
+        is( 'f1a3f3dac3f137fd658027c11678b895f773ce55', hmac_sha1_hex( encode_utf8(qq{\x{00D6}}) ),  'hmac_sha1_hex: encode_utf8 \x{00D6} => f1a3f3dac3f137fd658027c11678b895f773ce55' ) ;
+        # Bad
+        is( 'fe8dc3b9ba3e8850bb4a7b070b2279e911003af2', hmac_sha1_hex( encode_utf8( 'Ã–' ) ),         'hmac_sha1_hex: encode_utf8 Ã–        => fe8dc3b9ba3e8850bb4a7b070b2279e911003af2' ) ;
+        is( 'bb5bfb461e79ecd3dbc6ade2aabb52d22fa8be1a', hmac_sha1_hex( qq{\x{00D6}} ),               'hmac_sha1_hex: qq{\x{00D6}}         => bb5bfb461e79ecd3dbc6ade2aabb52d22fa8be1a' ) ;
+
+        # Good
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex( 'A' ),                       'hmac_sha1_hex: A                     => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex( encode_utf8(qq{\x{0041}}) ), 'hmac_sha1_hex: encode_utf8 \x{0041}  => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex( encode_utf8( 'A' ) ),        'hmac_sha1_hex: encode_utf8 A         => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex( qq{\x{0041}} ),              'hmac_sha1_hex: \x{0041}              => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+
+        # Good
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex( 'A', 'B' ),                       'hmac_sha1_hex: A                    B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex( encode_utf8(qq{\x{0041}}), 'B' ), 'hmac_sha1_hex: encode_utf8 \x{0041} B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex( encode_utf8( 'A' ), 'B' ),        'hmac_sha1_hex: encode_utf8 A        B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex( qq{\x{0041}}, 'B' ),              'hmac_sha1_hex: \x{0041}             B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+
+        # http://unicode.scarfboy.com/?s=U%2B6536
+        # Good
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', hmac_sha1_hex( 'æ”¶' ),                      'hmac_sha1_hex: æ”¶                    => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b' ) ;
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', hmac_sha1_hex( encode_utf8(qq{\x{6536}}) ), 'hmac_sha1_hex: encode_utf8 \x{6536}  => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b' ) ;
+        # Bad
+        is( 'e82217119628ad03e659cc89671d05ea4cee7238', hmac_sha1_hex( encode_utf8( 'æ”¶' ) ),        'hmac_sha1_hex: encode_utf8 æ”¶       => e82217119628ad03e659cc89671d05ea4cee7238' ) ;
+        # Very very bad, perl dies...
+        #is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', hmac_sha1_hex( qq{\x{6536}} ),              'hmac_sha1_hex: \x{6536}             => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b' ) ;
+        # Ok but well, bad indeed
+        is( undef, my $eval = eval{ hmac_sha1_hex( qq{\x{6536}} ) },                                            'hmac_sha1_hex: \x{6536}             => undef' ) ;
+
+
+        note( 'Leaving  tests_hmac_sha1_hex()' ) ;
+        return ;
+}
+
+sub tests_hmac_sha1_hex_robust
+{
+        note( 'Entering tests_hmac_sha1_hex_robust()' ) ;
+
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex_robust(  ),  'hmac_sha1_hex_robust: no args => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex_robust( '' ),  'hmac_sha1_hex_robust: empty string  => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex_robust( '', '' ),  'hmac_sha1_hex_robust: empty strings  => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+        is( 'fbdb1d1b18aa6c08324b7d64b71fb76370690e1d', hmac_sha1_hex_robust( '', '', 'caca' ),  'hmac_sha1_hex_robust: empty strings + caca => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d' ) ;
+
+        # Good
+        is( 'f1a3f3dac3f137fd658027c11678b895f773ce55', hmac_sha1_hex_robust( 'Ã–' ),  'hmac_sha1_hex_robust: Ã–  => f1a3f3dac3f137fd658027c11678b895f773ce55' ) ;
+        is( 'f1a3f3dac3f137fd658027c11678b895f773ce55', hmac_sha1_hex_robust( encode_utf8(qq{\x{00D6}}) ),  'hmac_sha1_hex_robust: encode_utf8 \x{00D6}  => f1a3f3dac3f137fd658027c11678b895f773ce55' ) ;
+        # Bad
+        is( 'fe8dc3b9ba3e8850bb4a7b070b2279e911003af2', hmac_sha1_hex_robust( encode_utf8( 'Ã–' ) ),  'hmac_sha1_hex_robust: encode_utf8 Ã–  => fe8dc3b9ba3e8850bb4a7b070b2279e911003af2' ) ;
+        is( 'bb5bfb461e79ecd3dbc6ade2aabb52d22fa8be1a', hmac_sha1_hex_robust( qq{\x{00D6}} ),  'hmac_sha1_hex_robust: qq{\x{00D6}}  => bb5bfb461e79ecd3dbc6ade2aabb52d22fa8be1a' ) ;
+
+        # Good
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex_robust( 'A' ),  'hmac_sha1_hex_robust: A  => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex_robust( encode_utf8(qq{\x{0041}}) ),  'hmac_sha1_hex_robust: encode_utf8 \x{0041}  => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex_robust( encode_utf8( 'A' ) ),  'hmac_sha1_hex_robust: encode_utf8 A  => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+        is( 'a6fda2a6acdd74630b20aac0c68716048ecd0333', hmac_sha1_hex_robust( qq{\x{0041}} ),  'hmac_sha1_hex_robust: \x{0041}  => a6fda2a6acdd74630b20aac0c68716048ecd0333' ) ;
+
+        # Good
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex_robust( 'A', 'B' ),                       'hmac_sha1_hex_robust: A                    B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex_robust( encode_utf8(qq{\x{0041}}), 'B' ), 'hmac_sha1_hex_robust: encode_utf8 \x{0041} B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex_robust( encode_utf8( 'A' ), 'B' ),        'hmac_sha1_hex_robust: encode_utf8 A        B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+        is( '36c54f255b575a2db58921d116b37c8af94c08cd', hmac_sha1_hex_robust( qq{\x{0041}}, 'B' ),              'hmac_sha1_hex_robust: \x{0041}             B => 36c54f255b575a2db58921d116b37c8af94c08cd' ) ;
+
+        # http://unicode.scarfboy.com/?s=U%2B6536
+        # Good
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', hmac_sha1_hex_robust( 'æ”¶' ),                      'hmac_sha1_hex_robust: æ”¶                   => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b' ) ;
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', hmac_sha1_hex_robust( encode_utf8(qq{\x{6536}}) ), 'hmac_sha1_hex_robust: encode_utf8 \x{6536} => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b' ) ;
+        # Bad
+        is( 'e82217119628ad03e659cc89671d05ea4cee7238', hmac_sha1_hex_robust( encode_utf8( 'æ”¶' ) ),       'hmac_sha1_hex_robust: encode_utf8 æ”¶       => e82217119628ad03e659cc89671d05ea4cee7238' ) ;
+        # Good
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', hmac_sha1_hex_robust( qq{\x{6536}} ),              'hmac_sha1_hex_robust: \x{6536}             => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b' ) ;
+        # Good again
+        is( '4199f02773d1cd5599b1a8f2d024bdceb8b48e0b', my $eval = eval{ hmac_sha1_hex_robust( qq{\x{6536}} ) },      'hmac_sha1_hex_robust: \x{6536}             => undef' ) ;
+
+        note( 'Leaving  tests_hmac_sha1_hex_robust()' ) ;
+        return ;
+}
+
+
+sub hmac_sha1_hex_robust
+{
+        my $string = shift ;
+        my $val ;
+        if ( defined( $val = eval{ hmac_sha1_hex( $string, @ARG ) } ) )
+        {
+                return $val ;
+        }
+        elsif( defined( $val = eval{ hmac_sha1_hex( encode_utf8( $string ), @ARG ) } ) )
+        {
+                return $val ;
+        }
+        else
+        {
+                return ;
+        }
+}
+
 sub tests_createhashfileifneeded
 {
 	note( 'Entering tests_createhashfileifneeded()' ) ;
@@ -4588,7 +5326,7 @@
                 vendor        => 'Gilles LAMIRAL',
                 'support-url' => 'https://imapsync.lamiral.info/',
                 # Example of date-time:  19-Sep-2015 08:56:07
-                date          => date_from_rcs( q{$Date: 2019/12/23 20:18:02 $ } ),
+                date          => date_from_rcs( q{$Date: 2021/07/22 14:21:09 $ } ),
         } ;
 
         my $imapsync_id_github  = {
@@ -4597,7 +5335,7 @@
                 os            => $OSNAME,
                 vendor        => 'github',
                 'support-url' => 'https://github.com/imapsync/imapsync',
-                date          => date_from_rcs( q{$Date: 2019/12/23 20:18:02 $ } ),
+                date          => date_from_rcs( q{$Date: 2021/07/22 14:21:09 $ } ),
         } ;
 
         $imapsync_id = $imapsync_id_lamiral ;
@@ -5003,12 +5741,16 @@
         $mysync->{errorsmax} ||= $ERRORS_MAX ;
         if ( $mysync->{nb_errors} >= $mysync->{errorsmax} ) {
                 myprint( "Maximum number of errors $mysync->{errorsmax} reached ( you can change $mysync->{errorsmax} to any value, for example 100 with --errorsmax 100 ). Exiting.\n"  ) ;
+                my $most_common_error = errorsanalyse( errors_log( $mysync ) ) ;
                 if ( $mysync->{errorsdump} ) {
-                        myprint( errorsdump( $mysync->{nb_errors}, errors_log( $mysync ) ) ) ;
+                        myprint( errorsdump( errors_log( $mysync ) ) ) ;
+                        myprint( "The most frequent error is $most_common_error\n" ) ;
                         # again since errorsdump(  ) can be very verbose and masquerade previous warning
                         myprint( "Maximum number of errors $mysync->{errorsmax} reached ( you can change $mysync->{errorsmax} to any value, for example 100 with --errorsmax 100 ). Exiting.\n"  ) ;
                 }
-                exit_clean( $mysync, $EXIT_WITH_ERRORS_MAX ) ;
+                my $exit_value = $EXIT_VALUE_OF_ERR_TYPE{ $most_common_error } || $EXIT_CATCH_ALL ;
+                #exit_clean( $mysync, $EXIT_WITH_ERRORS_MAX ) ;
+                exit_clean( $mysync, $exit_value ) ;
         }
         return ;
 }
@@ -5048,14 +5790,288 @@
 }
 
 
+sub tests_error_type
+{
+        note( 'Entering tests_error_type()' ) ;
+
+        is( 'ERR_NOTHING_REPORTED', error_type(  ),    'error_type: no args => ERR_NOTHING_REPORTED' ) ;
+        is( 'ERR_NOTHING_REPORTED', error_type( '' ),  'error_type: empty string => ERR_NOTHING_REPORTED' ) ;
+
+        is( 'ERR_UNCLASSIFIED', error_type( 'ERR_UNCLASSIFIED' ),  'error_type: ERR_UNCLASSIFIED => ERR_UNCLASSIFIED' ) ;
+        is( 'ERR_UNCLASSIFIED', error_type( 'aie' ),  'error_type: aie => ERR_UNCLASSIFIED' ) ;
+        is( 'ERR_UNCLASSIFIED', error_type( 'ouille' ),  'error_type: ouille => ERR_UNCLASSIFIED' ) ;
+
+        is( 'ERR_Host1_FETCH', error_type( 'Message xxx could not be fetched: blabla' ),
+                'error_type: could not be fetched => ERR_Host1_FETCH'
+        ) ;
+
+        is( 'ERR_APPEND_SIZE',
+                error_type( 'could not append message xxx: BAD maximum message size exceeded' ),
+                'error_type: could not append message xxx: BAD maximum message size exceeded => ERR_APPEND_SIZE'
+        ) ;
+
+        is( 'ERR_OVERQUOTA',
+                error_type( 'Quota limit will be exceeded' ),
+                'error_type: Quota limit will be exceeded => ERR_OVERQUOTA'
+        ) ;
+
+        is( 'ERR_APPEND', error_type( 'could not append' ),  'error_type: could not append => ERR_APPEND' ) ;
+
+        is( 'ERR_CREATE',
+                error_type( 'Could not create folder' ),
+                'error_type: Could not create folder => ERR_CREATE'
+        ) ;
+
+        is( 'ERR_SELECT',
+                error_type( 'Could not select: blabla' ),
+                'error_type: Could not select: blabla => ERR_SELECT'
+        ) ;
+
+
+        #
+        #Maximum bytes transferred reached, 423 >= 100, ending sync
+        is( 'ERR_TRANSFER_EXCEEDED',
+                error_type( 'Maximum bytes transferred reached, blabla' ),
+                'error_type: Maximum bytes transferred reached, blabla => ERR_TRANSFER_EXCEEDED'
+        ) ;
+
+        #
+        is( 'ERR_CONNECTION_FAILURE_HOST1',
+                error_type( 'Host1 failure: can not open imap connection on host1 [badhostkaka] with user [tata]: Unable to connect to badhostkaka:  Invalid argument' ),
+                'error_type: can not open imap connection on host1 => ERR_CONNECTION_FAILURE_HOST1'
+        ) ;
+
+        is( 'ERR_CONNECTION_FAILURE_HOST2',
+                error_type( 'Host2 failure: can not open imap connection on host2 [badhostkiki] with user [titi]: Unable to connect to badhostkiki:  Invalid argument' ),
+                'error_type: can not open imap connection on host2 => ERR_CONNECTION_FAILURE_HOST2'
+        ) ;
+
+        is( 'ERR_APPEND_VIRUS',
+                error_type( 'could not append ( Subject:[For Your Consideration], Date:["29-Nov-2016 03:21:10 -0800"], Size:[5505], Flags:[\Seen] ) to folder INBOX: 275 NO Message refused because it contains a virus' ),
+                'error_type: could not append ... virus => ERR_APPEND_VIRUS'
+        ) ;
+
+        note( 'Leaving  tests_error_type()' ) ;
+        return ;
+}
+
+
+
+# Could be implemented with https://metacpan.org/pod/Tie::RegexpHash
+# with just a hash of error regexes as keys and types as values.
+
+sub error_type
+{
+        my $error = shift ;
+
+        if ( ! defined $error ) { return 'ERR_NOTHING_REPORTED' ; }
+        if ( ! $error ) { return 'ERR_NOTHING_REPORTED' ; }
+
+        #
+        if ( $error =~ m{Host1 failure: Error login on} ) { return 'ERR_AUTHENTICATION_FAILURE_USER1' } ;
+        if ( $error =~ m{Host2 failure: Error login on} ) { return 'ERR_AUTHENTICATION_FAILURE_USER2' } ;
+
+        if ( $error =~ m{Host. failure: Can not go to tls encryption on host.} ) { return 'ERR_EXIT_TLS_FAILURE' } ;
+        #
+
+        if ( $error =~ m{could not be fetched:} ) { return 'ERR_Host1_FETCH' } ;
+
+        # could not append .*BAD maximum message size exceeded
+        # could not append.*Maximum size of appendable message has been exceeded
+        if ( $error =~ m{could not append .*BAD maximum message size exceeded} )
+                { return 'ERR_APPEND_SIZE' ; } ;
+
+        if ( $error =~ m{could not append.*Maximum size of appendable message has been exceeded} )
+                { return 'ERR_APPEND_SIZE' ; } ;
+
+        # Could not create folder *[OVERQUOTA] Not enough disk quota
+        # could not append .*[OVERQUOTA] Not enough disk quota
+        # could not append .*[OVERQUOTA] Mailbox is full / Blocks limit exceeded / Inode limit exceeded
+        if ( $error =~ m{OVERQUOTA} ) { return 'ERR_OVERQUOTA' ; } ;
+        if ( $error =~ m{Quota limit will be exceeded} ) { return 'ERR_OVERQUOTA' ; } ;
+        if ( $error =~ m{full: it is time to find a bigger place} ) { return 'ERR_OVERQUOTA' ; } ;
+
+        # could not append ... to folder INBOX: 276 NO Message refused because it contains a virus
+        if ( $error =~ m{could not append.*virus} )
+                { return 'ERR_APPEND_VIRUS' ; } ;
+
+        # could not append .*Write failed 'Broken pipe'
+        # could not append .*timeout waiting .* for data from server
+        # could not append .*BAD Invalid Arguments: Unable to parse message
+        # could not append .*BAD Command Argument Error. 11
+        # could not append .*NO header limit reached
+        if ( $error =~ m{could not append} ) { return 'ERR_APPEND' ; } ;
+
+        # Could not create folder .*Invalid mailbox name
+        if ( $error =~ m{Could not create folder} ) { return 'ERR_CREATE' ; } ;
+
+
+        # Could not select:.*NO [NOPERM] Permission denied
+        # Could not select:.*NO Mailbox doesn't exist
+        # Could not select:.*NO [SERVERBUG] Internal error occurred.
+        # Could not select:.*[CANNOT] Mailbox isn't a valid mbox file
+        if ( $error =~ m{Could not select:} ) { return 'ERR_SELECT' ; } ;
+
+        #Maximum bytes transferred reached, 423 >= 100, ending sync
+        if ( $error =~ m{Maximum bytes transferred reached} ) { return 'ERR_TRANSFER_EXCEEDED' ; } ;
+
+        if ( $error =~ m{can not open imap connection on host1} ) { return 'ERR_CONNECTION_FAILURE_HOST1' ; } ;
+        if ( $error =~ m{can not open imap connection on host2} ) { return 'ERR_CONNECTION_FAILURE_HOST2' ; } ;
+
+        # Default is ERR_UNCLASSIFIED
+        return 'ERR_UNCLASSIFIED' ;
+
+}
+
+sub tests_errorclassify
+{
+        note( 'Entering tests_errorclassify()' ) ;
+
+        is( undef, errorclassify(  ),  'errorclassify: no args => undef' ) ;
+
+        is_deeply( { 'ERR_UNCLASSIFIED' => 1 }, errorclassify( 'aie' ), 'errorclassify: aie => { ERR_UNCLASSIFIED => 1 }' ) ;
+        is_deeply( { 'ERR_UNCLASSIFIED' => 2 }, errorclassify( 'aie', 'ouille' ), 'errorclassify: aie ouille => { ERR_UNCLASSIFIED => 2 }' ) ;
+        is_deeply( { 'ERR_UNCLASSIFIED' => 2, 'ERR_NOTHING_REPORTED' => 1 }, errorclassify( 'aie', 'ouille', '' ), 'errorclassify: aie ouille "" => { ERR_UNCLASSIFIED => 2 }' ) ;
+        is_deeply( { 'ERR_UNCLASSIFIED' => 3 }, errorclassify( 'aie', 'ouille', 'aie' ), 'errorclassify: aie ouille aie => { ERR_UNCLASSIFIED => 3 }' ) ;
+        is_deeply( { 'ERR_UNCLASSIFIED' => 1, 'ERR_OVERQUOTA' => 2 }, errorclassify( 'aie', 'OVERQUOTA pipi', 'OVERQUOTA caca' ), 'errorclassify: aie OVERQUOTA OVERQUOTA' ) ;
+        is_deeply( { 'ERR_NOTHING_REPORTED' => 1 }, errorclassify( '' ), 'errorclassify: "" => { ERR_NOTHING_REPORTED => 1 }' ) ;
+        is_deeply( { 'ERR_NOTHING_REPORTED' => 2 }, errorclassify( '', '' ), 'errorclassify: "", "" => { ERR_NOTHING_REPORTED => 1 }' ) ;
+
+        note( 'Leaving  tests_errorclassify()' ) ;
+        return ;
+}
+
+
+
+sub errorclassify
+{
+        my @errors = @ARG ;
+
+        if ( ! @errors ) { return ; } ;
+
+        my $error_type_count = { } ;
+        foreach my $error ( @errors )
+        {
+                my $error_type = error_type( $error ) ;
+                $error_type_count->{ $error_type }++ ;
+        }
+
+        return $error_type_count ;
+}
+
+sub tests_most_common_error
+{
+        note( 'Entering tests_most_common_error()' ) ;
+
+        is( 'ERR_NOTHING_REPORTED', most_common_error(  ),  'most_common_error: no args => ERR_NOTHING_REPORTED' ) ;
+        is( 'ERR_NOTHING_REPORTED', most_common_error( {} ),  'most_common_error: empty hash ref => ERR_NOTHING_REPORTED' ) ;
+        is( 'ERR_NOTHING_REPORTED', most_common_error( 'blabla' ),  'most_common_error: not a hash ref => ERR_NOTHING_REPORTED' ) ;
+
+        is( 'ERR_FOO', most_common_error( { ERR_FOO => 1 } ),  'most_common_error: { ERR_FOO => 1 } => ERR_FOO' ) ;
+        is( 'ERR_BAR', most_common_error( { ERR_FOO => 1, ERR_BAR => 2 } ),  'most_common_error: { ERR_FOO => 1, ERR_BAR => 2 } => ERR_BAR' ) ;
+        is( 'ERR_FOO', most_common_error( { ERR_FOO => 2, ERR_BAR => 1 } ),  'most_common_error: { ERR_FOO => 2, ERR_BAR => 1 } => ERR_FOO' ) ;
+        # exaequo => first lexical wins. ERR_BAR <= ERR_FOO
+        is( 'ERR_BAR', most_common_error( { ERR_FOO => 2, ERR_BAR => 2 } ),  'most_common_error: { ERR_FOO => 2, ERR_BAR => 2 } => ERR_BAR' ) ;
+
+        is( 'A', most_common_error( { A => 5, B => 5, C => 5 } ),  'most_common_error: { A => 5, B => 5, C => 5 } => A' ) ;
+        is( 'B', most_common_error( { A => 5, B => 6, C => 6 } ),  'most_common_error: { A => 5, B => 6, C => 6 } => B' ) ;
+        is( 'C', most_common_error( { A => 5, B => 5, C => 7 } ),  'most_common_error: { A => 5, B => 5, C => 7 } => C' ) ;
+        is( 'C', most_common_error( { A => 5, B => 6, C => 7 } ),  'most_common_error: { A => 5, B => 5, C => 7 } => C' ) ;
+
+        note( 'Leaving  tests_most_common_error()' ) ;
+        return ;
+}
+
+
+
+sub most_common_error
+{
+        my $errors_counted_ref = shift ;
+
+        if ( ! defined $errors_counted_ref ) { return 'ERR_NOTHING_REPORTED' ; }
+
+        if ( 'HASH' ne ref $errors_counted_ref ) { return 'ERR_NOTHING_REPORTED' ; }
+
+        # empty hash
+        if ( !%{ $errors_counted_ref } ) { return 'ERR_NOTHING_REPORTED' ; }
+
+        # non empty hash
+        my $most_common_error = ( sort
+        {
+                $errors_counted_ref->{$b} <=> $errors_counted_ref->{$a}
+                || $a cmp $b
+        } keys %{$errors_counted_ref} )[0] ;
+
+        return $most_common_error ;
+
+}
+
+
+
+sub tests_errorsanalyse
+{
+        note( 'Entering tests_errorsanalyse()' ) ;
+
+        is( 'ERR_NOTHING_REPORTED', errorsanalyse(  ),  'errorsanalyse: no args => ERR_NOTHING_REPORTED' ) ;
+        is( 'ERR_NOTHING_REPORTED', errorsanalyse( (  ) ),  'errorsanalyse: empty list => ERR_NOTHING_REPORTED' ) ;
+        is( 'ERR_UNCLASSIFIED', errorsanalyse( 'aie' ),  'errorsanalyse: aie => ERR_UNCLASSIFIED' ) ;
+
+        # in case of equality, empty wins
+        is( 'ERR_NOTHING_REPORTED', errorsanalyse( 'aie', '' ),  'errorsanalyse: aie => ERR_UNCLASSIFIED' ) ;
+        is( 'ERR_NOTHING_REPORTED', errorsanalyse( '', 'aie' ),  'errorsanalyse: aie => ERR_UNCLASSIFIED' ) ;
+
+
+        is( 'ERR_UNCLASSIFIED', errorsanalyse( 'aie', 'ouille' ),  'errorsanalyse: aie, ouille => ERR_UNCLASSIFIED' ) ;
+        is( 'ERR_UNCLASSIFIED', errorsanalyse( 'aie', 'ouille', '' ),  'errorsanalyse: aie, ouille, "" => ERR_UNCLASSIFIED' ) ;
+        is( 'ERR_UNCLASSIFIED', errorsanalyse( '', 'aie', 'ouille' ),  'errorsanalyse: aie, ouille, "" => ERR_UNCLASSIFIED' ) ;
+
+        is( 'ERR_NOTHING_REPORTED', errorsanalyse( '' ),  'errorsanalyse: "" => ERR_NOTHING_REPORTED' ) ;
+        is( 'ERR_NOTHING_REPORTED', errorsanalyse( ( '' ) ),  'errorsanalyse: ( "" ) => ERR_NOTHING_REPORTED' ) ;
+        is( 'ERR_NOTHING_REPORTED', errorsanalyse( ( '', '' ) ),  'errorsanalyse: ( "", "" ) => ERR_NOTHING_REPORTED' ) ;
+
+        note( 'Leaving  tests_errorsanalyse()' ) ;
+        return ;
+}
+
+
+
+sub errorsanalyse
+{
+        my @errors = @ARG ;
+        my $errors_types_counted = errorclassify( @errors ) ;
+
+        my $most_common_error = most_common_error( $errors_types_counted ) ;
+
+        return $most_common_error ;
+}
+
+
+
+sub tests_errorsdump
+{
+        note( 'Entering tests_errorsdump()' ) ;
+
+        is( undef, errorsdump(  ),  'errorsdump: no args => undef' ) ;
+        is( undef, errorsdump( (  ) ),  'errorsdump: empty list => undef' ) ;
+        is( "Err 1/1: ", errorsdump( '' ),  'errorsdump: one empty string => "Err 1/1: "' ) ;
+        is( "Err 1/1: aieaieaie", errorsdump( 'aieaieaie' ),  'errorsdump: aieaieaie => "Err 1/1: aieaieaie"' ) ;
+        is( "Err 1/2: Aie Err 2/2: Ouille", errorsdump( 'Aie ', 'Ouille' ),  'errorsdump: Aie Ouille => "Err 1/2: Aie Err 2/2: Ouille"' ) ;
+        note( 'Leaving  tests_errorsdump()' ) ;
+        return ;
+}
+
+
 sub errorsdump
 {
-        my( $nb_errors, @errors_log ) = @ARG ;
+        if ( ! @ARG ) { return ; }
+
+        my @errors_log = @ARG ;
+        my $nb_errors = @errors_log ;
         my $error_num = 0 ;
         my $errors_list = q{} ;
         if ( @errors_log ) {
-                $errors_list = "++++ Listing $nb_errors errors encountered during the sync ( avoid this listing with --noerrorsdump ).\n" ;
-                foreach my $error ( @errors_log ) {
+                foreach my $error ( @errors_log )
+                {
                         $error_num++ ;
                         $errors_list .= "Err $error_num/$nb_errors: $error" ;
                 }
@@ -5064,9 +6080,26 @@
 }
 
 
+
+sub errors_listing
+{
+        my $mysync = shift ;
+        $mysync->{most_common_error} = errorsanalyse( errors_log( $sync ) ) ;
+
+        my $errors_listing = join( '',
+        "++++ Listing $mysync->{nb_errors} errors encountered during the sync ( avoid this listing with --noerrorsdump ).\n",
+        errorsdump( errors_log( $mysync ) ),
+        "The most frequent error is $mysync->{most_common_error}\n",
+        ) ;
+        return $errors_listing ;
+}
+
+
+
+
 sub tests_live_result
 {
-	note( 'Entering tests_live_result()' ) ;
+        note( 'Entering tests_live_result()' ) ;
 
         my $nb_errors = shift ;
         if ( $nb_errors  ) {
@@ -5074,7 +6107,7 @@
         } else {
                 myprint( "Live tests ended successfully\n"  ) ;
         }
-	note( 'Leaving  tests_live_result()' ) ;
+        note( 'Leaving  tests_live_result()' ) ;
         return ;
 }
 
@@ -5140,7 +6173,7 @@
         ( $mysync->{ debug } or $debugflags ) and
         myprint( "Host1: flags init msg $h1_fold/$h1_msg flags( $h1_flags ) Host2 msg $h2_fold/$h2_msg flags( $h2_flags )\n"  ) ;
 
-        $h1_flags = flags_for_host2( $h1_flags, $permanentflags2 ) ;
+        $h1_flags = flags_for_host2( $mysync, $h1_flags, $permanentflags2 ) ;
 
         $h2_flags = flagscase( $h2_flags ) ;
 
@@ -5195,7 +6228,8 @@
         if ( $imap->IsUnconnected(  ) ) {
                 $mysync->{nb_errors}++ ;
                 my $lcomm = $imap->LastIMAPCommand || q{} ;
-                my $einfo = $imap->LastError || @{$imap->History}[$LAST] || q{} ;
+
+                my $einfo = imap_last_error( $imap ) ;
 
                 # if string is long try reduce to a more reasonable size
                 $lcomm = _filter( $mysync, $lcomm ) ;
@@ -5209,6 +6243,14 @@
         }
 }
 
+sub imap_last_error
+{
+        my $imap = shift ;
+        my $einfo = $imap->LastError || @{$imap->History}[$LAST] || q{} ;
+        chomp( $einfo ) ;
+        return( $einfo ) ;
+}
+
 sub tests_max
 {
 	note( 'Entering tests_max()' ) ;
@@ -5569,10 +6611,10 @@
 
 	my $mysync = shift ;
 
-	$mysync->{password1}
+	$mysync->{ password1 }
 	|| $mysync->{ passfile1 }
-	|| 'PREAUTH' eq $authmech1
-	|| 'EXTERNAL' eq $authmech1
+	|| 'PREAUTH'  eq $mysync->{ acc1 }->{ authmech }
+	|| 'EXTERNAL' eq $mysync->{ acc1 }->{ authmech }
 	|| $ENV{IMAPSYNC_PASSWORD1}
 	|| do
         {
@@ -5583,8 +6625,8 @@
 Then give this file restrictive permissions with the command "chmod 600 file1".
 An other solution is to set the environment variable IMAPSYNC_PASSWORD1
 FIN_PASSFILE
-                my $user = $authuser1 || $mysync->{user1} ;
-                my $host =  $mysync->{host1} ;
+                my $user = $mysync->{ acc1 }->{ authuser } || $mysync->{ user1 } ;
+                my $host = $mysync->{ host1 } ;
                 my $prompt = "What's the password for $user" . ' at ' . "$host? (not visible while you type, then enter RETURN) " ;
                 $mysync->{password1} = ask_for_password( $prompt ) ;
         } ;
@@ -5613,8 +6655,8 @@
 
 	$mysync->{password2}
 	|| $mysync->{ passfile2 }
-	|| 'PREAUTH' eq $authmech2
-	|| 'EXTERNAL' eq $authmech2
+	|| 'PREAUTH'  eq $mysync->{ acc2 }->{ authmech }
+	|| 'EXTERNAL' eq $mysync->{ acc2 }->{ authmech }
 	|| $ENV{IMAPSYNC_PASSWORD2}
 	|| do
         {
@@ -5625,8 +6667,8 @@
 Then give this file restrictive permissions with the command "chmod 600 file2".
 An other solution is to set the environment variable IMAPSYNC_PASSWORD2
 FIN_PASSFILE
-                my $user = $authuser2 || $mysync->{user2} ;
-                my $host =  $mysync->{host2} ;
+                my $user = $mysync->{ acc2 }->{ authuser } || $mysync->{ user2 } ;
+                my $host =  $mysync->{ host2 } ;
                 my $prompt = "What's the password for $user" . ' at ' . "$host? (not visible while you type, then enter RETURN) " ;
                 $mysync->{password2} = ask_for_password( $prompt ) ;
         } ;
@@ -5656,9 +6698,15 @@
 {
         my $mysync = shift or return ;
         $mysync->{pidfile} or return ;
+
         if ( -e $mysync->{pidfile} ) {
+                myprint( "Removing pidfile $mysync->{pidfile}\n" ) ;
                 unlink $mysync->{pidfile} ;
         }
+        if ( -e $mysync->{abortfile} ) {
+                myprint( "Removing pidfile $mysync->{abortfile}\n" ) ;
+                unlink $mysync->{abortfile} ;
+        }
         return ;
 }
 
@@ -5679,14 +6727,28 @@
         if ( $mysync->{log} ) {
                 myprint( "Log file is $mysync->{logfile} ( to change it, use --logfile filepath ; or use --nolog to turn off logging )\n" ) ;
         }
+        else
+        {
+                myprint( "No log file because of option --nolog\n" ) ;
+        }
+
         if ( $mysync->{log} and $mysync->{logfile_handle} ) {
-                #myprint( "Closing $mysync->{ logfile }\n" ) ;
-                close $mysync->{logfile_handle} ;
+                #print( "Closing $mysync->{ logfile }\n" ) ;
+                teefinish( $mysync ) ;
         }
         return ;
 }
 
 
+sub exit_most_errors
+{
+        my $mysync = shift @ARG ;
+
+        myprint( errors_listing( $mysync ) ) ;
+        my $exit_value = $EXIT_VALUE_OF_ERR_TYPE{ $mysync->{most_common_error} } || $EXIT_CATCH_ALL ;
+        exit_clean( $mysync, $exit_value ) ;
+        return ;
+}
 
 sub exit_clean
 {
@@ -5697,7 +6759,7 @@
         {
                 myprint( @messages ) ;
         }
-        myprint( "Exiting with return value $status ($EXIT_TXT{$status}) $mysync->{nb_errors}/$mysync->{errorsmax} nb_errors/max_errors\n" ) ;
+        myprint( "Exiting with return value $status ($EXIT_TXT{$status}) $mysync->{nb_errors}/$mysync->{errorsmax} nb_errors/max_errors PID $PROCESS_ID\n" ) ;
         cleanup_before_exit( $mysync ) ;
 
         exit $status ;
@@ -5721,11 +6783,12 @@
         my $sigcounter = ++$mysync->{ sigcounter }{ $signame } ;
         myprint( "\nGot a signal $signame (my PID is $PROCESS_ID my PPID is ", getppid(  ),
                  "). Received $sigcounter $signame signals so far. Thanks!\n" ) ;
-        stats( $mysync ) ;
+        do_and_print_stats( $mysync ) ;
         return ;
 }
 
 
+
 sub catch_exit
 {
         my $mysync = shift ;
@@ -5733,22 +6796,26 @@
         if ( $signame ) {
                 myprint( "\nGot a signal $signame (my PID is $PROCESS_ID my PPID is ", getppid(  ),
                          "). Asked to terminate\n" ) ;
-                if ( $mysync->{stats} ) {
-                        myprint( "Here are the final stats of this sync not completely finished so far\n" ) ;
-                        stats( $mysync ) ;
+                if ( $mysync->{can_do_stats} ) {
+                        do_and_print_stats( $mysync ) ;
                         myprint( "Ended by a signal $signame (my PID is $PROCESS_ID my PPID is ",
                         getppid(  ), "). I am asked to terminate immediately.\n" ) ;
-                        myprint( "You should resynchronize those accounts by running a sync again,\n",
-                        "since some messages and entire folders might still be missing on host2.\n" ) ;
                 }
+                myprint( "You should resynchronize those accounts by running a sync again,\n",
+                         "since some messages and entire folders might still be missing on host2.\n"
+                ) ;
                 ## no critic (RequireLocalizedPunctuationVars)
+                # Well, restore default action does not work well
                 $SIG{ $signame }  = 'DEFAULT'; # restore default action
+                #$SIG{ 'TERM' }    = 'DEFAULT'; # restore default action
                 # kill myself with $signame
                 # https://www.cons.org/cracauer/sigint.html
                 myprint( "Killing myself with signal $signame\n" ) ;
-                cleanup_before_exit( $mysync ) ;
+                #cleanup_before_exit( $mysync ) ;
                 kill( $signame, $PROCESS_ID ) ;
-                sleep 1 ;
+                #kill( 'TERM', $PROCESS_ID ) ;
+                #sleep 1 ;
+                #while ( 1 ) {  } ;
                 $mysync->{nb_errors}++ ;
                 exit_clean( $mysync, $EXIT_BY_SIGNAL,
                         "Still there after killing myself with signal $signame...\n"
@@ -5861,6 +6928,7 @@
                 # --sigignore can override sigexit, sigreconnect and sigprint (for the same signals only)
                 sig_install( $mysync, 'catch_ignore',    @{ $mysync->{ sigignore }  } ) ;
 
+                # remove/add sleeping mechanism when receiving USR1 signal (except on Win32)
                 sig_install_toggle_sleep( $mysync ) ;
         }
 
@@ -5955,10 +7023,6 @@
 }
 
 
-
-#        $sync->{id} = defined  $sync->{id}  ? $sync->{id} : 1 ;
-#        imap_id_stuff( $sync ) ;
-
 sub justconnect
 {
         my $mysync = shift ;
@@ -5974,10 +7038,11 @@
         {
                 myprint( "Host1: Will just connect to $mysync->{host1} without login\n" ) ;
                 $mysync->{imap1} = connect_imap(
-                        $mysync->{host1}, $mysync->{port1}, $debugimap1,
-                        $mysync->{ssl1}, $mysync->{tls1}, 'Host1',
-                        $mysync->{h1}->{timeout}, $mysync->{h1} ) ;
-                imap_id( $mysync, $mysync->{imap1}, 'Host1' ) ;
+                        $mysync->{host1}, $mysync->{port1},
+                        $mysync->{ssl1}, $mysync->{tls1},
+                        $mysync->{ acc1 } ) ;
+
+                imap_id( $mysync, $mysync->{imap1}, $mysync->{ acc1 }->{ Side } ) ;
                 $mysync->{imap1}->logout(  ) ;
                 return $mysync->{host1} ;
         }
@@ -5992,10 +7057,11 @@
         {
                 myprint( "Host2: Will just connect to $mysync->{host2} without login\n" ) ;
                 $mysync->{imap2} = connect_imap(
-                        $mysync->{host2}, $mysync->{port2}, $debugimap2,
-                        $mysync->{ssl2}, $mysync->{tls2}, 'Host2',
-                        $mysync->{h2}->{timeout}, $mysync->{h2} ) ;
-                imap_id( $mysync, $mysync->{imap2}, 'Host2' ) ;
+                        $mysync->{host2}, $mysync->{port2},
+                        $mysync->{ssl2}, $mysync->{tls2},
+                        $mysync->{ acc2 } ) ;
+
+                imap_id( $mysync, $mysync->{imap2}, $mysync->{ acc2 }->{ Side } ) ;
                 $mysync->{imap2}->logout(  ) ;
                 return $mysync->{host2} ;
         }
@@ -6006,9 +7072,18 @@
 sub skip_macosx
 {
         #return ;
-        return( 'macosx.polarhome.com' eq hostname() ) ;
+        # hostname used to be macosx.polarhome.com
+        return( 'macosx' eq hostname(  ) && ( 'darwin' eq $OSNAME ) ) ;
 }
 
+sub skip_macosx_binary
+{
+        #return ;
+        return( skip_macosx(  ) && ( $PROGRAM_NAME =~ m{imapsync_bin_Darwin} ) ) ;
+}
+
+
+
 sub tests_mailimapclient_connect
 {
         note( 'Entering tests_mailimapclient_connect()' ) ;
@@ -6026,7 +7101,7 @@
         is( 'test.lamiral.info', $imap->Server( 'test.lamiral.info' ), 'mailimapclient_connect ipv4: setting Server(test.lamiral.info)' ) ;
         is( 1, $imap->Debug( 1 ), 'mailimapclient_connect ipv4: setting Debug( 1 )' ) ;
         is( 143, $imap->Port( 143 ), 'mailimapclient_connect ipv4: setting Port( 143 )' ) ;
-        is( 3, $imap->Timeout( 3 ), 'mailimapclient_connect ipv4: setting Timout( 3 )' ) ;
+        is( 10, $imap->Timeout( 10 ), 'mailimapclient_connect ipv4: setting Timeout( 10 )' ) ;
         like( ref( $imap->connect(  ) ), qr/IO::Socket::INET|IO::Socket::IP/, 'mailimapclient_connect ipv4: connect to test.lamiral.info' ) ;
         like( $imap->logout( ), qr/Mail::IMAPClient/, 'mailimapclient_connect ipv4: logout' ) ;
         is( undef, undef $imap, 'mailimapclient_connect ipv4: free variable' ) ;
@@ -6042,11 +7117,10 @@
         is( undef, undef $imap, 'mailimapclient_connect ipv4 + ssl: free variable' ) ;
 
         # ipv6 + ssl
-        # Fails often on ks2ipv6.lamiral.info
-        
+
         ok( $imap = Mail::IMAPClient->new(  ), 'mailimapclient_connect ipv6 + ssl: new' ) ;
         is( 'petiteipv6.lamiral.info', $imap->Server( 'petiteipv6.lamiral.info' ), 'mailimapclient_connect ipv6 + ssl: setting Server petiteipv6.lamiral.info' ) ;
-        is( 3, $imap->Timeout( 3 ), 'mailimapclient_connect ipv4: setting Timout( 3 )' ) ;
+        is( 10, $imap->Timeout( 10 ), 'mailimapclient_connect ipv6: setting Timeout( 10 )' ) ;
         ok( $imap->Ssl( [ SSL_verify_mode => SSL_VERIFY_NONE, SSL_cipher_list => 'DEFAULT:!DH' ] ), 'mailimapclient_connect ipv6 + ssl: setting Ssl( SSL_VERIFY_NONE )' ) ;
         is( 993, $imap->Port( 993 ), 'mailimapclient_connect ipv6 + ssl: setting Port( 993 )' ) ;
         SKIP: {
@@ -6062,9 +7136,9 @@
         {
                 skip( 'Tests avoided on CUILLERE/pcHPDV7-HP/macosx.polarhome.com/docker cannot do ipv6', 4 ) ;
         }
-        
+
         is( 1, $imap->Debug( 1 ), 'mailimapclient_connect ipv4 + ssl: setting Debug( 1 )' ) ;
-        
+
         # It sounds stupid but it avoids failures on the next test about $imap->connect
         is( '2a01:e34:ecde:70d0:223:54ff:fec2:36d7', resolv( 'petiteipv6.lamiral.info' ), 'resolv: petiteipv6.lamiral.info => 2001:41d0:8:bebd::1' ) ;
 
@@ -6089,7 +7163,7 @@
 
         # ipv6
         ok( $imap = Mail::IMAPClient->new(  ), 'mailimapclient_connect_bug ipv6: new' ) ;
-        is( 'ks2ipv6.lamiral.info', $imap->Server( 'ks2ipv6.lamiral.info' ), 'mailimapclient_connect_bug ipv6: setting Server(ks2ipv6.lamiral.info)' ) ;
+        is( 'ks6ipv6.lamiral.info', $imap->Server( 'ks6ipv6.lamiral.info' ), 'mailimapclient_connect_bug ipv6: setting Server(ks6ipv6.lamiral.info)' ) ;
         is( 143, $imap->Port( 143 ), 'mailimapclient_connect_bug ipv6: setting Port( 993 )' ) ;
 
         SKIP: {
@@ -6105,7 +7179,7 @@
                 {
                         skip( 'Tests avoided on CUILLERE/pcHPDV7-HP/macosx.polarhome.com/docker cannot do ipv6', 1 ) ;
                 }
-                like( ref( $imap->connect(  ) ), qr/IO::Socket::INET/, 'mailimapclient_connect_bug ipv6: connect to ks2ipv6.lamiral.info' )
+                like( ref( $imap->connect(  ) ), qr/IO::Socket::INET/, 'mailimapclient_connect_bug ipv6: connect to ks6ipv6.lamiral.info' )
                 or diag( 'mailimapclient_connect_bug ipv6: ', $imap->LastError(  ), $!,  ) ;
         }
         #is( $imap->logout( ), undef, 'mailimapclient_connect_bug ipv6: logout in ssl causes failure' ) ;
@@ -6140,12 +7214,12 @@
                 }
 
                 $socket = IO::Socket::INET6->new(
-                        PeerAddr => 'ks2ipv6.lamiral.info',
+                        PeerAddr => 'ks6ipv6.lamiral.info',
                         PeerPort => 143,
                 ) ;
 
 
-                ok( $imap = connect_socket( $socket ), 'connect_socket: ks2ipv6.lamiral.info port 143 IO::Socket::INET6' ) ;
+                ok( $imap = connect_socket( $socket ), 'connect_socket: ks6ipv6.lamiral.info port 143 IO::Socket::INET6' ) ;
                 #$imap->Debug( 1 ) ;
                 # myprint( $imap->capability(  ) ) ;
                 if ( $imap ) {
@@ -6154,13 +7228,13 @@
 
                 $IO::Socket::SSL::DEBUG = 4 ;
                 $socket = IO::Socket::SSL->new(
-                        PeerHost => 'ks2ipv6.lamiral.info',
+                        PeerHost => 'ks6ipv6.lamiral.info',
                         PeerPort => 993,
                         SSL_verify_mode => SSL_VERIFY_NONE,
                         SSL_cipher_list => 'DEFAULT:!DH',
                 ) ;
                 # myprint( $socket ) ;
-                ok( $imap = connect_socket( $socket ), 'connect_socket: ks2ipv6.lamiral.info port 993 IO::Socket::SSL' ) ;
+                ok( $imap = connect_socket( $socket ), 'connect_socket: ks6ipv6.lamiral.info port 993 IO::Socket::SSL' ) ;
                 #$imap->Debug( 1 ) ;
                 # myprint( $imap->capability(  ) ) ;
                 # $socket->close(  ) ;
@@ -6216,10 +7290,10 @@
                         skip( 'Tests avoided on CUILLERE or pcHPDV7-HP or Mac or docker: cannot do ipv6', 0 ) ;
                 }
                 # fed up with this one
-                #like( probe_imapssl( 'ks2ipv6.lamiral.info' ), qr/^\* OK/, 'probe_imapssl: ks2ipv6.lamiral.info matches "* OK"' ) ;
+                #like( probe_imapssl( 'ks6ipv6.lamiral.info' ), qr/^\* OK/, 'probe_imapssl: ks6ipv6.lamiral.info matches "* OK"' ) ;
         } ;
 
-        
+
         # It sounds stupid but it avoids failures on the next test about $imap->connect
         ok( resolv( 'imap.gmail.com' ), 'resolv: imap.gmail.com => something' ) ;
         like( probe_imapssl( 'imap.gmail.com' ),       qr/^\* OK/, 'probe_imapssl: imap.gmail.com matches "* OK"' ) ;
@@ -6257,193 +7331,604 @@
 
 sub connect_imap
 {
-        my( $host, $port, $mydebugimap, $ssl, $tls, $Side, $mytimeout, $h ) = @_ ;
+        my( $host, $port, $ssl, $tls, $acc ) = @_ ;
         my $imap = Mail::IMAPClient->new(  ) ;
-        
-        if ( $ssl ) { set_ssl( $imap, $h ) }
+
+        if ( $ssl ) { set_ssl( $imap, $acc ) }
         $imap->Server( $host ) ;
         $imap->Port( $port ) ;
-        $imap->Debug( $mydebugimap ) ;
-        $imap->Timeout( $mytimeout ) ;
+        $imap->Debug( $acc->{ debugimap } ) ;
+        $imap->Timeout( $acc->{ timeout } ) ;
 
-        my $side = lc $Side ;
-        myprint( "$Side: connecting on $side [$host] port [$port]\n"  ) ;
+        my $side = lc $acc->{ Side } ;
+
+        myprint( "$acc->{ Side }: connecting on $side [$host] port [$port]\n"  ) ;
 
         if ( ! $imap->connect(  ) )
         {
                 $sync->{nb_errors}++ ;
                 exit_clean( $sync, $EXIT_CONNECTION_FAILURE,
-                        "$Side: Can not open imap connection on [$host]: ",
+                        "$acc->{ Side }: Can not open imap connection on [$host]: ",
                         $imap->LastError,
                         " $OS_ERROR\n"
                 ) ;
         }
-        myprint( "$Side IP address: ", $imap->Socket->peerhost(), "\n"  ) ;
+        myprint( "$acc->{ Side } IP address: ", $imap->Socket->peerhost(), "\n"  ) ;
 
         my $banner = $imap->Results()->[0] ;
 
-        myprint( "$Side banner: $banner"  ) ;
-        myprint( "$Side capability: ", join(q{ }, @{ $imap->capability() || [] }), "\n" ) ;
+        myprint( "$acc->{ Side } banner: $banner"  ) ;
+        myprint( "$acc->{ Side } capability: ", join(q{ }, @{ $imap->capability() || [] }), "\n" ) ;
 
         if ( $tls ) {
-                set_tls( $imap, $h ) ;
+                set_tls( $imap, $acc ) ;
                 if ( ! $imap->starttls(  ) )
                 {
                         $sync->{nb_errors}++ ;
                         exit_clean( $sync, $EXIT_TLS_FAILURE,
-                                "$Side: Can not go to tls encryption on $side [$host]:",
+                                "$acc->{ Side }: Can not go to tls encryption on $side [$host]:",
                                 $imap->LastError, "\n"
                         ) ;
                 }
-                myprint( "$Side: Socket successfuly converted to SSL\n"  ) ;
+                myprint( "$acc->{ Side }: Socket successfully converted to SSL\n"  ) ;
         }
         return( $imap ) ;
 }
 
 
+
+sub tests_login_imap
+{
+        note( 'Entering tests_login_imap()' ) ;
+
+        is( undef, login_imap(  ),  'login_imap: no args => undef' ) ;
+
+        SKIP: {
+        if ( skip_macosx_binary(  ) )
+        {
+                skip( 'Tests avoided only on binary on host polarhome macosx, no clue "ssl3_get_server_certificate:certificate verify failed"', 11 ) ;
+        }
+        else{
+        
+        my $myimap ;
+        my $acc = {} ;
+        $acc->{ Side }     =  'HostK' ;
+        $acc->{ authmech } = 'LOGIN' ;
+        #$IO::Socket::SSL::DEBUG = 4 ;
+        # Each month (trimester?):
+        # echo | openssl s_client -crlf -connect test1.lamiral.info:993
+        # ...
+        # certificate has expired
+        # Fix:
+        # ssh root@test1.lamiral.info 'apt update && apt upgrade && /etc/init.d/dovecot restart'
+        ok(
+                $myimap = login_imap( 'test1.lamiral.info', 993, 'test1', 'secret1',
+                1, undef,
+                1, 100, $acc, {},
+                ),  'login_imap: test1.lamiral.info test1 ssl' ) ;
+        ok( defined( $myimap ) && $myimap->IsAuthenticated( ), 'login_imap: test1.lamiral.info test1 ssl IsAuthenticated' ) ;
+
+        ok(
+                $myimap = login_imap( 'test1.lamiral.info', 143, 'test1', 'secret1',
+                0, undef,
+                1, 100, $acc, {},
+                ),  'login_imap: test1.lamiral.info test1 tls' ) ;
+        ok( $myimap && $myimap->IsAuthenticated( ), 'login_imap: test1.lamiral.info test1 tls IsAuthenticated' ) ;
+
+        #$IO::Socket::SSL::DEBUG = 4 ;
+        $acc->{sslargs} = { SSL_version => 'SSLv2' } ;
+        # SSLv2 not supported
+        is(
+                undef, $myimap = login_imap( 'test1.lamiral.info', 143, 'test1', 'secret1',
+                0, undef,
+                1, 100, $acc, {},
+                ),  'login_imap: test1.lamiral.info test1 tls SSLv2 not supported' ) ;
+#SSL_verify_mode => 1
+#SSL_version => 'TLSv1_1'
+
+
+
+        # I have left ? exit_clean to be replaced by errors_incr( $mysync, 'error message' )
+        # 1 in login_imap()
+
+
+        my $mysync = {} ;
+        $acc = {} ;
+        $acc->{ Side } =  'Host2' ;
+        $acc->{ authmech } = 'LOGIN' ;
+        is(
+                undef, login_imap( 'noresol.lamiral.info', 143, 'test1', 'secret1',
+                0, undef,
+                1, 100, $acc,  $mysync,
+                ),  'login_imap: noresol.lamiral.info undef' ) ;
+
+        is( 'ERR_CONNECTION_FAILURE_HOST2', errorsanalyse( errors_log( $mysync ) ), 'login_imap: Host2 noresol.lamiral.info => ERR_CONNECTION_FAILURE_HOST2' ) ;
+
+        # authentication failure for user2
+        $mysync = {} ;
+        is(
+                undef, login_imap( 'test1.lamiral.info', 143, 'test1', 'Ce crÃ©tin',
+                0, undef,
+                1, 100, $acc,  $mysync,
+                ),  'login_imap: user2 bad passord => undef' ) ;
+
+        is( 'ERR_AUTHENTICATION_FAILURE_USER2', errorsanalyse( errors_log( $mysync ) ), 'login_imap: Host2 bad password => ERR_AUTHENTICATION_FAILURE_USER2' ) ;
+
+        # authentication failure for user1
+        $mysync = {} ;
+        $acc = {} ;
+        $acc->{ Side } =  'Host1' ;
+        $acc->{ authmech } = 'LOGIN' ;
+        is(
+                undef, login_imap( 'test1.lamiral.info', 143, 'test1', 'Ce crÃ©tin',
+                0, undef,
+                1, 100, $acc,  $mysync,
+                ),  'login_imap: user1 bad passord => undef' ) ;
+
+        is( 'ERR_AUTHENTICATION_FAILURE_USER1', errorsanalyse( errors_log( $mysync ) ), 'login_imap: Host1 bad password => ERR_AUTHENTICATION_FAILURE_USER1' ) ;
+
+        }
+        }
+        
+        note( 'Leaving  tests_login_imap()' ) ;
+        return ;
+}
+
+sub oauthgenerateaccess
+{
+        if ( "petite" eq hostname() )
+        {
+                myprint( "oauthgenerateaccess\n" ) ;
+                my @output = backtick( 'cd oauth2 && pwd && ./generate_gmail_token imapsync.gl0@gmail.com' ) ;
+                myprint( @output ) ;
+        }
+        return ;
+}
+
+sub tests_login_imap_oauth
+{
+        note( 'Entering tests_login_imap_oauth()' ) ;
+        
+        oauthgenerateaccess() ;
+
+        SKIP: {
+        if ( skip_macosx_binary(  ) )
+        {
+                skip( 'Tests avoided only on binary on host polarhome macosx, no clue "ssl3_get_server_certificate:certificate verify failed"', 6 ) ;
+        }
+        else
+        {
+
+        my $mysync ;
+        my $acc ;
+        # oauthdirect authentication failure for user2
+        $mysync = {} ;
+        $acc  = {} ;
+        $acc->{ oauthdirect } = 'caca2' ;
+        $acc->{ debugimap } = 1 ;
+        $mysync->{ showpasswords } = 1 ;
+        $acc->{ Side } =  'Host2' ;
+        $acc->{ authmech } = 'QQQ' ;
+        is(
+                undef, login_imap( 'imap.gmail.com', 993, 'test1', 'Ce crÃ©tin',
+                1, undef,
+                1, 100, $acc,  $mysync,
+                ),  'login_imap: user2 bad oauthdirect => undef' ) ;
+
+        is( 'ERR_AUTHENTICATION_FAILURE_USER2', errorsanalyse( errors_log( $mysync ) ), 'login_imap: Host2 bad oauthdirect => ERR_AUTHENTICATION_FAILURE_USER2' ) ;
+
+        # oauthdirect authentication failure for user1
+        $mysync = {} ;
+        $acc  = {} ;
+        $acc->{ Side } =  'Host1' ;
+        $acc->{ oauthdirect } = 'caca1' ;
+        $acc->{ debugimap } = 1 ;
+        $mysync->{ showpasswords } = 1 ;
+        $acc->{ authmech } = 'QQQ' ;
+        is(
+                undef, login_imap( 'imap.gmail.com', 993, 'test1', 'Ce crÃ©tin',
+                1, undef,
+                1, 100, $acc,  $mysync,
+                ),  'login_imap: user1 bad oauthdirect => undef' ) ;
+
+        is( 'ERR_AUTHENTICATION_FAILURE_USER1', errorsanalyse( errors_log( $mysync ) ), 'login_imap: Host1 bad oauthdirect => ERR_AUTHENTICATION_FAILURE_USER1' ) ;
+
+        # oauthdirect authentication failure for user1
+        $mysync = {} ;
+        $acc  = {} ;
+        $acc->{ Side } =  'Host1' ;
+        $acc->{ oauthdirect } = '' ;
+        $acc->{ debugimap } = 1 ;
+        $mysync->{ showpasswords } = 1 ;
+        $acc->{ authmech } = 'QQQ' ;
+        is(
+                undef, login_imap( 'imap.gmail.com', 993, 'test1', 'Ce crÃ©tin',
+                1, undef,
+                1, 100, $acc,  $mysync,
+                ),  'login_imap: user1 bad oauthdirect => undef' ) ;
+
+        is( 'ERR_AUTHENTICATION_FAILURE_USER1', errorsanalyse( errors_log( $mysync ) ), 'login_imap: Host1 no oauthdirect value => ERR_AUTHENTICATION_FAILURE_USER1' ) ;
+
+        }
+        }
+
+        # oauthdirect authentication success for user1 
+        SKIP: {
+                if ( ! -r 'oauth2/D_oauth2_oauthdirect_imapsync.gl0@gmail.com.txt' ) 
+                {
+                        skip( 'oauthdirect: no oauthdirect file', 2  ) ;
+                }
+                my $myimap ;
+        my $mysync = {} ;
+        my $acc  = {} ;
+        $acc->{ Side } =  'Host1' ;
+        $acc->{ oauthdirect } = 'oauth2/D_oauth2_oauthdirect_imapsync.gl0@gmail.com.txt' ;
+        $acc->{ debugimap } = 1 ;
+        $mysync->{ showpasswords } = 1 ;
+        $acc->{ authmech } = 'QQQ' ;
+        isa_ok(
+                $myimap = login_imap( 'imap.gmail.com', 993, 'user_useless', 'password_useless',
+                1, undef,
+                1, 100, $acc,  $mysync,
+                ), 'Mail::IMAPClient', 'login_imap: user1 good oauthdirect => Mail::IMAPClient' ) ;
+
+        ok( defined( $myimap ) && $myimap->IsAuthenticated( ), 'login_imap: gmail oauth2 IsAuthenticated' ) ;
+        }
+        
+        # oauthaccesstoken authentication success for user1 
+        SKIP: {
+                if ( ! -r 'oauth2/D_oauth2_access_token_imapsync.gl0@gmail.com.txt' ) 
+                {
+                        skip( 'oauthaccesstoken: no access_token file', 2  ) ;
+                }
+                my $myimap ;
+        my $mysync = {} ;
+        my $acc  = {} ;
+        $acc->{ Side } =  'Host1' ;
+        $acc->{ oauthaccesstoken } = 'oauth2/D_oauth2_access_token_imapsync.gl0@gmail.com.txt' ;
+        $acc->{ debugimap } = 1 ;
+        $mysync->{ showpasswords } = 1 ;
+        $acc->{ authmech } = 'QQQ' ;
+        isa_ok(
+                $myimap = login_imap( 'imap.gmail.com', 993, 'imapsync.gl0@gmail.com', 'password_useless',
+                1, undef,
+                1, 100, $acc,  $mysync,
+                ), 'Mail::IMAPClient', 'login_imap: user1 good oauthaccesstoken => Mail::IMAPClient' ) ;
+
+        ok( defined( $myimap ) && $myimap->IsAuthenticated( ), 'login_imap: gmail oauth2 oauthaccesstoken IsAuthenticated' ) ;
+
+        }
+        
+        
+        note( 'Leaving  tests_login_imap_oauth()' ) ;
+        return ;
+}
+
+
+
 sub login_imap
 {
-
         my @allargs = @_ ;
         my(
-                $host, $port, $user, $domain, $password,
-                $mydebugimap, $mytimeout, $fastio,
-                $ssl, $tls, $authmech, $authuser, $reconnectretry,
-                $proxyauth, $uid, $split, $Side, $h, $mysync ) = @allargs ;
+                $host, $port, $user, $password,
+                $ssl, $tls,
+                $uid, $split, $acc, $mysync ) = @allargs ;
 
-        my $side = lc $Side ;
-        myprint( "$Side: connecting and login on $side [$host] port [$port] with user [$user]\n"  ) ;
+        if ( ! all_defined( $host, $port, $user, $acc->{ Side } ) )
+        {
+                return ;
+        }
+
+        my $side = lc $acc->{ Side } ;
+        myprint( "$acc->{ Side }: connecting and login on $side [$host] port [$port] with user [$user]\n"  ) ;
 
         my $imap = init_imap( @allargs ) ;
 
         if ( ! $imap->connect() )
         {
-                $mysync->{nb_errors}++ ;
-                exit_clean( $mysync, $EXIT_CONNECTION_FAILURE,
-                        "$Side failure: can not open imap connection on $side [$host] with user [$user]: ",
-                        $imap->LastError . " $OS_ERROR\n"
-                ) ;
+                my $error = "$acc->{ Side } failure: can not open imap connection on $side [$host] with user [$user]: "
+                            . $imap->LastError . " $OS_ERROR\n" ;
+                errors_incr( $mysync, $error ) ;
+                return ;
         }
-        myprint( "$Side IP address: ", $imap->Socket->peerhost(), "\n"  ) ;
+        myprint( "$acc->{ Side } IP address: ", $imap->Socket->peerhost(), "\n"  ) ;
         my $banner = $imap->Results()->[0] ;
 
-        myprint( "$Side banner: $banner"  ) ;
-	myprint( "$Side capability before authentication: ", join(q{ }, @{ $imap->capability() || [] }), "\n" ) ;
+        myprint( "$acc->{ Side } banner: $banner"  ) ;
+	myprint( "$acc->{ Side } capability before authentication: ", join(q{ }, @{ $imap->capability() || [] }), "\n" ) ;
 
 	if ( (! $ssl) and (! defined $tls ) and $imap->has_capability( 'STARTTLS' ) ) {
-		myprint( "$Side: going to ssl because STARTTLS is in CAPABILITY. Use --notls1 or --notls2 to avoid that behavior\n" ) ;
+		myprint( "$acc->{ Side }: going to ssl because STARTTLS is in CAPABILITY. Use --notls1 or --notls2 to avoid that behavior\n" ) ;
 		$tls = 1 ;
 	}
 
-        if ( $authmech eq 'PREAUTH' ) {
+
+        #myprint( Data::Dumper->Dump( [ @allargs ] )  ) ;
+        if ( $tls ) {
+                set_tls( $imap, $acc ) ;
+
+                if ( ! $imap->starttls(  ) )
+                {
+                        my $error = "$acc->{ Side } failure: Can not go to tls encryption on $side [$host]: "
+                            . $imap->LastError . "\n" ;
+
+                        errors_incr( $mysync, $error ) ;
+                        return ;
+                }
+                myprint( "$acc->{ Side }: Socket successfully converted to SSL\n"  ) ;
+        }
+
+        if ( $acc->{ authmech } eq 'PREAUTH' ) {
                 if ( $imap->IsAuthenticated( ) ) {
                         $imap->Socket ;
-                        myprintf("%s: Assuming PREAUTH for %s\n", $Side, $imap->Server ) ;
+                        myprintf("%s: Assuming PREAUTH for %s\n", $acc->{ Side }, $imap->Server ) ;
                 }else{
                         $mysync->{nb_errors}++ ;
                         exit_clean(
                                 $mysync, $EXIT_AUTHENTICATION_FAILURE,
-                                "$Side failure: error login on $side [$host] with user [$user] auth [PREAUTH]\n"
+                                "$acc->{ Side } failure: error login on $side [$host] with user [$user] auth [PREAUTH]\n"
                         ) ;
                 }
         }
 
-        if ( $tls ) {
-                set_tls( $imap, $h ) ;
-                if ( ! $imap->starttls(  ) )
-                {
-                        $mysync->{nb_errors}++ ;
-                        exit_clean( $mysync, $EXIT_TLS_FAILURE,
-                                "$Side failure: Can not go to tls encryption on $side [$host]:",
-                                $imap->LastError, "\n"
-                        ) ;
-                }
-                myprint( "$Side: Socket successfuly converted to SSL\n"  ) ;
+
+
+        if ( authenticate_imap( $imap, @allargs ) )
+        {
+                myprint( "$acc->{ Side }: success login on [$host] with user [$user] auth [$acc->{ authmech }] or [LOGIN]\n"  ) ;
+                return( $imap ) ;
         }
-
-        authenticate_imap( $imap, @allargs ) ;
-
-        myprint( "$Side: success login on [$host] with user [$user] auth [$authmech]\n"  ) ;
-        return( $imap ) ;
+        else
+        {
+                # The errors are already printed
+                myprint( "$acc->{ Side }: failed login on [$host] with user [$user] auth [$acc->{ authmech }]\n"  ) ;
+                return ;
+        }
 }
 
 
+
+sub init_imap
+{
+        my(
+           $host, $port, $user, $password,
+           $ssl, $tls,
+           $uid, $split, $acc, $mysync ) = @_ ;
+
+        my ( $imap ) ;
+
+        $imap = Mail::IMAPClient->new() ;
+
+        if ( $mysync->{ tee } )
+        {
+                # Well, it does not change anything, does it?
+                # It does when suppressing the hack with *STDERR
+                $imap->Debug_fh( $mysync->{ tee } ) ;
+        }
+
+        if ( $ssl ) { set_ssl( $imap, $acc ) }
+        if ( $tls ) {  } # can not do set_tls() here because connect() will directly do a STARTTLS
+        $imap->Clear( 1 ) ;
+        $imap->Server( $host ) ;
+        $imap->Port( $port ) ;
+        $imap->Fast_io( $acc->{ fastio } ) ;
+        $imap->Buffer( $buffersize || $DEFAULT_BUFFER_SIZE ) ;
+        $imap->Uid( $uid ) ;
+
+
+        $imap->Peek( 1 ) ;
+        $imap->Debug( $acc->{ debugimap } ) ;
+        if ( $mysync->{ showpasswords } ) {
+                $imap->Showcredentials( 1 ) ;
+        }
+
+        defined  $acc->{ timeout } and $imap->Timeout( $acc->{ timeout } ) ;
+
+        if ( defined $acc->{ reconnectretry } )
+        {
+                $imap->Reconnectretry( $acc->{ reconnectretry } ) ;
+        }
+        $imap->{IMAPSYNC_RECONNECT_COUNT} = 0 ;
+        $imap->Ignoresizeerrors( $allowsizemismatch ) ;
+        $split and $imap->Maxcommandlength( $SPLIT_FACTOR * $split ) ;
+
+
+        return( $imap ) ;
+
+}
+
 sub authenticate_imap
 {
         my( $imap,
-           $host, $port, $user, $domain, $password,
-           $mydebugimap, $mytimeout, $fastio,
-           $ssl, $tls, $authmech, $authuser, $reconnectretry,
-           $proxyauth, $uid, $split, $Side, $h, $mysync ) = @_ ;
+           $host, $port, $user, $password,
+           $ssl, $tls,
+           $uid, $split, $acc, $mysync ) = @_ ;
 
-        check_capability( $imap, $authmech, $Side ) ;
+        check_capability( $imap, $acc->{ authmech }, $acc->{ Side } ) ;
         $imap->User( $user ) ;
-        $imap->Domain( $domain ) if ( defined $domain ) ;
-        $imap->Authuser( $authuser ) ;
+
+        if ( defined $acc->{ domain } )
+        {
+                $imap->Domain( $acc->{ domain } ) ;
+                $mysync->{ debug } and myprint( "Domain: $acc->{ domain }\n" ) ;
+        }
+
+        $imap->Authuser( $acc->{ authuser } ) ;
         $imap->Password( $password ) ;
 
-        if ( 'X-MASTERAUTH' eq $authmech )
+        if ( 'X-MASTERAUTH' eq $acc->{ authmech } )
         {
                 xmasterauth( $imap ) ;
-                return ;
+                return 1 ;
         }
 
-        if ( $proxyauth ) {
+
+        if ( defined $acc->{ oauthdirect } )
+        {
+                $acc->{ authmech } = 'XOAUTH2 direct' ;
+                return( oauthdirect( $mysync, $acc, $imap, $host, $user ) ) ;
+        }
+        
+        
+        if ( defined $acc->{ oauthaccesstoken } )
+        {
+                $acc->{ authmech } = 'XOAUTH2 accesstoken' ;
+                return( oauthaccesstoken( $mysync, $acc, $imap, $host, $user ) ) ;
+        }
+        
+        
+
+
+        if ( $acc->{ proxyauth } ) {
                 $imap->Authmechanism(q{}) ;
-                $imap->User( $authuser ) ;
+                $imap->User( $acc->{ authuser } ) ;
         } else {
-                $imap->Authmechanism( $authmech ) unless ( $authmech eq 'LOGIN'  or $authmech eq 'PREAUTH' ) ;
+                $imap->Authmechanism( $acc->{ authmech } ) unless ( $acc->{ authmech } eq 'LOGIN'  or $acc->{ authmech } eq 'PREAUTH' ) ;
         }
 
-        $imap->Authcallback(\&xoauth)  if ( 'XOAUTH'  eq $authmech ) ;
-        $imap->Authcallback(\&xoauth2) if ( 'XOAUTH2' eq $authmech ) ;
-        $imap->Authcallback(\&plainauth) if ( ( 'PLAIN' eq $authmech ) or ( 'EXTERNAL' eq $authmech )  ) ;
+        $imap->Authcallback(\&xoauth2) if ( 'XOAUTH2' eq $acc->{ authmech } ) ;
+        $imap->Authcallback(\&plainauth) if ( ( 'PLAIN' eq $acc->{ authmech } ) or ( 'EXTERNAL' eq $acc->{ authmech } )  ) ;
 
 
-        unless ( $authmech eq 'PREAUTH' or $imap->login( ) ) {
-                my $info  = "$Side failure: Error login on [$host] with user [$user] auth" ;
-                my $einfo = $imap->LastError || @{$imap->History}[$LAST] ;
-                chomp $einfo ;
-                my $error = "$info [$authmech]: $einfo\n" ;
-                if ( ( $authmech eq 'LOGIN' ) or $imap->IsUnconnected(  ) or $authuser ) {
-                        $authuser ||= "" ;
-                        myprint( "$Side info: authmech [$authmech] user [$user] authuser [$authuser] IsUnconnected [", $imap->IsUnconnected(  ), "]\n" ) ;
-                        $mysync->{nb_errors}++ ;
-                        exit_clean( $mysync, $EXIT_AUTHENTICATION_FAILURE, $error ) ;
+        unless ( $acc->{ authmech } eq 'PREAUTH' or $imap->login( ) ) {
+                my $info  = "$acc->{ Side } failure: Error login on [$host] with user [$user] auth" ;
+                my $einfo = imap_last_error( $imap ) ;
+                my $error = "$info [$acc->{ authmech }]: $einfo\n" ;
+
+
+                if ( ( $acc->{ authmech } eq 'LOGIN' ) or $imap->IsUnconnected(  ) or $acc->{ authuser } ) {
+                        $acc->{ authuser } ||= "" ;
+                        myprint( "$acc->{ Side } info: authmech [$acc->{ authmech }] user [$user] authuser [$acc->{ authuser }] IsUnconnected [", $imap->IsUnconnected(  ), "]\n" ) ;
+                        errors_incr( $mysync, $error ) ;
+                        return ;
                 }else{
-                        myprint( $error ) ;
+                        errors_incr( $mysync, $error ) ;
                 }
+
                 # It is not secure to try plain text LOGIN when another authmech failed
-                # but I do it.
-                # I shell remove this code one day.
-                myprint( "$Side info: trying LOGIN Auth mechanism on [$host] with user [$user]\n"  ) ;
-                $imap->Authmechanism(q{}) ;
-                if ( ! $imap->login(  ) )
+                # but I do it anyway. This behavior is optional as option --notrylogin will skip it.
+                if ( $mysync->{ trylogin } )
                 {
-                        $mysync->{nb_errors}++ ;
-                        exit_clean( $mysync, $EXIT_AUTHENTICATION_FAILURE,
-                                "$info [LOGIN]: ",
-                                $imap->LastError, "\n"
-                        ) ;
+                        myprint( "$acc->{ Side } info: trying LOGIN Auth mechanism on [$host] with user [$user]. Use option --notrylogin to avoid this second chance to login via LOGIN auth\n"  ) ;
+                        $imap->Authmechanism(q{}) ;
+                        if ( ! $imap->login(  ) )
+                        {
+                                failure_login( $mysync, $acc, 'LOGIN', $imap, $host, $user ) ;
+                                return ;
+                        }
+                        else
+                        {
+                                myprint( "$acc->{ Side }: success login on [$host] with user [$user] auth [LOGIN] after [$acc->{ authmech }] failure\n"  ) ;
+                        }
+                }
+                else
+                {
+                        myprint( "$acc->{ Side } info: not trying LOGIN Auth mechanism on [$host] with user [$user]. Use option --trylogin to have this second chance to login via LOGIN auth\n"  ) ;
+                        return ;
                 }
         }
 
-        if ( $proxyauth ) {
+        if ( $acc->{ proxyauth } ) {
                 if ( ! $imap->proxyauth( $user ) ) {
-                        my $info  = "$Side failure: Error doing proxyauth as user [$user] on [$host] using proxy-login as [$authuser]" ;
-                        my $einfo = $imap->LastError || @{$imap->History}[$LAST] ;
-                        chomp $einfo ;
-                        $mysync->{nb_errors}++ ;
-                        exit_clean( $mysync,
-                                $EXIT_AUTHENTICATION_FAILURE,
-                                "$info: $einfo\n"
-                        ) ;
+                        failure_proxyauth( $mysync, $acc, $acc->{ authmech }, $imap, $host, $user ) ;
+                        return ;
                 }
         }
 
+        return 1;
+}
+
+
+sub failure_login
+{
+        my( $mysync, $acc, $authmech, $imap, $host, $user ) = @ARG ;
+        my $info  = "$acc->{ Side } failure: Error login on [$host] with user [$user] auth" ;
+        my $einfo = imap_last_error( $imap ) ;
+        my $error = "$info [$authmech]: $einfo\n" ;
+        errors_incr( $mysync, $error ) ;
         return ;
 }
 
+# failure_login and failure_proxyauth function are similar but
+# variable $error so no factoring
+sub failure_proxyauth
+{
+        my( $mysync, $acc, $authmech, $imap, $host, $user ) = @ARG ;
+        my $info  = "$acc->{ Side } failure: Error login on [$host] with user [$user] auth" ;
+        my $einfo = imap_last_error( $imap ) ;
+        my $error = "$info [$authmech] using proxy-login as [$acc->{ authuser }]: $einfo\n" ;
+        errors_incr( $mysync, $error ) ;
+        return ;
+}
+
+
+
+
+sub oauthdirect
+{
+        my( $mysync, $acc, $imap, $host, $user ) = @_ ;
+
+        my $oauthdirect_str ;
+        if ( -f -r $acc->{ oauthdirect } )
+        {
+                $oauthdirect_str = firstline( $acc->{ oauthdirect } ) ;
+        }
+        else
+        {
+                $oauthdirect_str = $acc->{ oauthdirect } || 'Please define oauthdirect value' ;
+        }
+        if ( $imap->authenticate('XOAUTH2', sub { return $oauthdirect_str } ) )
+        {
+                return 1 ;
+        }
+        else
+        {
+                failure_login( $mysync, $acc, $acc->{ authmech }, $imap, $host, $user ) ;
+                return ;
+        }
+        return ;
+}
+
+
+
+
+sub oauthaccesstoken
+{
+        my( $mysync, $acc, $imap, $host, $user ) = @_ ;
+
+        my $oauthaccesstoken_str ;
+        if ( -f -r $acc->{ oauthaccesstoken } )
+        {
+                $oauthaccesstoken_str = firstline( $acc->{ oauthaccesstoken } ) ;
+        }
+        else
+        {
+                $oauthaccesstoken_str = $acc->{ oauthaccesstoken } || 'Please define oauthaccesstoken value' ;
+        }
+        
+        my $oauth_string = "user=" . $user . "\x01auth=Bearer ".  $oauthaccesstoken_str . "\x01\x01" ;
+        #myprint "oauth_string: $oauth_string\n" ;
+
+        my $oauth_string_base64 = encode_base64( $oauth_string , '' ) ;
+        #myprint "oauth_string_base64: $oauth_string_base64\n" ;
+
+        my $oauthdirect_str = $oauth_string_base64 ;
+        
+        if ( $imap->authenticate('XOAUTH2', sub { return $oauthdirect_str } ) )
+        {
+                return 1 ;
+        }
+        else
+        {
+                failure_login( $mysync, $acc, $acc->{ authmech }, $imap, $host, $user ) ;
+                return ;
+        }
+        return ;
+}
+
+
+
+
 sub check_capability
 {
 
@@ -6479,12 +7964,12 @@
 
 sub set_ssl
 {
-        my ( $imap, $h ) = @_ ;
+        my ( $imap, $acc ) = @_ ;
         # SSL_version can be
         #    SSLv3 SSLv2 SSLv23 SSLv23:!SSLv2 (last one is the default in IO-Socket-SSL-1.953)
         #
 
-        my $sslargs_hash = $h->{sslargs} ;
+        my $sslargs_hash = $acc->{sslargs} ;
 
         my $sslargs_default = {
                 SSL_verify_mode => $SSL_VERIFY_POLICY,
@@ -6509,14 +7994,15 @@
 
 sub set_tls
 {
-        my ( $imap, $h ) = @_ ;
+        my ( $imap, $acc ) = @_ ;
 
-        my $sslargs_hash = $h->{sslargs} ;
+        my $sslargs_hash = $acc->{sslargs} ;
 
         my $sslargs_default = {
                 SSL_verify_mode => $SSL_VERIFY_POLICY,
-		SSL_cipher_list => 'DEFAULT:!DH',
+                SSL_cipher_list => 'DEFAULT:!DH',
         } ;
+        #myprint( Data::Dumper->Dump( [ $acc, $sslargs_hash, $sslargs_default ] )  ) ;
 
         # initiate with default values
         my %sslargs_mix = %{ $sslargs_default } ;
@@ -6535,53 +8021,6 @@
 
 
 
-
-sub init_imap 
-{
-        my(
-           $host, $port, $user, $domain, $password,
-           $mydebugimap, $mytimeout, $fastio,
-           $ssl, $tls, $authmech, $authuser, $reconnectretry,
-           $proxyauth, $uid, $split, $Side, $h, $mysync ) = @_ ;
-
-        my ( $imap ) ;
-
-        $imap = Mail::IMAPClient->new() ;
-        
-        if ( $mysync->{ tee } ) 
-        {
-                # Well, it does not change anything, does it?
-                # It does when suppressing the hack with *STDERR 
-                $imap->Debug_fh( $mysync->{ tee } ) ;
-        }
-        
-        if ( $ssl ) { set_ssl( $imap, $h ) }
-        if ( $tls ) {  } # can not do set_tls() here because connect() will directly do a STARTTLS
-        $imap->Clear(1);
-        $imap->Server($host);
-        $imap->Port($port);
-        $imap->Fast_io($fastio);
-        $imap->Buffer($buffersize || $DEFAULT_BUFFER_SIZE);
-        $imap->Uid($uid);
-
-
-        $imap->Peek(1);
-        $imap->Debug($mydebugimap);
-	if ( $mysync->{ showpasswords } ) {
-		$imap->Showcredentials( 1 ) ;
-	}
-        defined  $mytimeout  and $imap->Timeout( $mytimeout ) ;
-
-        $imap->Reconnectretry( $reconnectretry ) if ( $reconnectretry ) ;
-	$imap->{IMAPSYNC_RECONNECT_COUNT} = 0 ;
-        $imap->Ignoresizeerrors( $allowsizemismatch ) ;
-        $split and $imap->Maxcommandlength( $SPLIT_FACTOR * $split ) ;
-
-
-        return( $imap ) ;
-
-}
-
 sub plainauth
 {
         my $code = shift;
@@ -6714,80 +8153,6 @@
 
 
 
-# xoauth() thanks to Eduardo Bortoluzzi Junior
-sub xoauth
-{
-        require URI::Escape  ;
-        require Data::Uniqid ;
-
-        my $code = shift;
-        my $imap = shift;
-
-        # The base information needed to construct the OAUTH authentication
-        my $method = 'GET' ;
-        my $url = mysprintf( 'https://mail.google.com/mail/b/%s/imap/', $imap->User ) ;
-        my $urlparm = mysprintf( 'xoauth_requestor_id=%s', URI::Escape::uri_escape( $imap->User ) ) ;
-
-        # For Google Apps, the consumer key is the primary domain
-        # TODO: create a command line argument to define the consumer key
-        my @user_parts = split /@/x, $imap->User ;
-        $sync->{ debug } and myprint( "XOAUTH: consumer key: $user_parts[1]\n" ) ;
-
-        # All the parameters needed to be signed on the XOAUTH
-        my %hash = ();
-        $hash { 'xoauth_requestor_id' } = URI::Escape::uri_escape($imap->User);
-        $hash { 'oauth_consumer_key' } = $user_parts[1];
-        $hash { 'oauth_nonce' } = md5_hex(Data::Uniqid::uniqid(rand(), 1==1));
-        $hash { 'oauth_signature_method' } = 'HMAC-SHA1';
-        $hash { 'oauth_timestamp' } = time ;
-        $hash { 'oauth_version' } = '1.0';
-
-        # Base will hold the string to be signed
-        my $base = "$method&" . URI::Escape::uri_escape( $url ) . q{&} ;
-
-        # The parameters must be in dictionary order before signing
-        my $baseparms = q{} ;
-        foreach my $key ( sort keys %hash ) {
-                if ( length( $baseparms ) > 0 ) {
-                        $baseparms .= q{&} ;
-                }
-
-                $baseparms .= "$key=$hash{$key}" ;
-        }
-
-        $base .= URI::Escape::uri_escape($baseparms);
-        $sync->{ debug } and myprint( "XOAUTH: base request to sign: $base\n" ) ;
-        # Sign it with the consumer secret, informed on the command line (password)
-        my $digest = hmac_sha1( $base, URI::Escape::uri_escape( $imap->Password ) . q{&} ) ;
-
-        # The parameters signed become a parameter and...
-        $hash { 'oauth_signature' } = URI::Escape::uri_escape( substr encode_base64( $digest ), 0, $MINUS_ONE ) ;
-
-        # ... we don't need the requestor_id anymore.
-        delete $hash{'xoauth_requestor_id'} ;
-
-        # Create the final authentication string
-        my $string = $method . q{ } . $url . q{?} . $urlparm .q{ } ;
-
-        # All the parameters must be sorted
-        $baseparms = q{};
-        foreach my $key (sort keys %hash) {
-                if(length($baseparms)>0) {
-                        $baseparms .= q{,} ;
-                }
-
-                $baseparms .= "$key=\"$hash{$key}\"";
-        }
-
-        $string .= $baseparms;
-
-        $sync->{ debug } and myprint( "XOAUTH: authentication string: $string\n" ) ;
-
-       # It must be base64 encoded
-        return encode_base64("$string", q{});
-}
-
-
 sub xmasterauth
 {
         # This is Kerio auth admin
@@ -6839,29 +8204,6 @@
 }
 
 
-sub tests_do_valid_directory
-{
-	note( 'Entering tests_do_valid_directory()' ) ;
-
-        Readonly my $NB_UNIX_tests_do_valid_directory => 2 ;
-        SKIP: {
-                skip( 'Tests only for Unix', $NB_UNIX_tests_do_valid_directory ) if ( 'MSWin32' eq $OSNAME ) ;
-                ok( 1 == do_valid_directory( '.'), 'do_valid_directory: . good' ) ;
-                ok( 1 == do_valid_directory( './W/tmp/tests/valid/sub'), 'do_valid_directory: ./W/tmp/tests/valid/sub good' ) ;
-        }
-        Readonly my $NB_UNIX_tests_do_valid_directory_non_root => 2 ;
-        SKIP: {
-                skip( 'Tests only for Unix', $NB_UNIX_tests_do_valid_directory_non_root ) if ( 'MSWin32' eq $OSNAME or '0' eq $EFFECTIVE_USER_ID ) ;
-                diag( 'Error / not writable is on purpose' ) ;
-                ok( 0 == do_valid_directory( '/'), 'do_valid_directory: / bad' ) ;
-                diag( 'Error permission denied on /noway is on purpose' ) ;
-                ok( 0 == do_valid_directory( '/noway'), 'do_valid_directory: /noway bad' ) ;
-        }
-
-
-	note( 'Leaving  tests_do_valid_directory()' ) ;
-        return ;
-}
 
 sub banner_imapsync
 {
@@ -6870,8 +8212,8 @@
 
         my $banner_imapsync = join q{},
                 q{$RCSfile: imapsync,v $ },
-                q{$Revision: 1.977 $ },
-                q{$Date: 2019/12/23 20:18:02 $ },
+                q{$Revision: 2.148 $ },
+                q{$Date: 2021/07/22 14:21:09 $ },
                 "\n",
                 "Command line used, run by $EXECUTABLE_NAME:\n",
                 "$PROGRAM_NAME ", command_line_nopassword( $mysync, @argv ), "\n" ;
@@ -6879,6 +8221,29 @@
         return( $banner_imapsync ) ;
 }
 
+sub tests_do_valid_directory
+{
+        note( 'Entering tests_do_valid_directory()' ) ;
+
+        is( 1, do_valid_directory( '.'), 'do_valid_directory: . good' ) ;
+        is( 1, do_valid_directory( './W/tmp/tests/valid/sub'), 'do_valid_directory: ./W/tmp/tests/valid/sub good' ) ;
+
+        Readonly my $NB_UNIX_tests_do_valid_directory_non_root => 2 ;
+        diag( "OSNAME=$OSNAME EFFECTIVE_USER_ID=$EFFECTIVE_USER_ID" ) ;
+
+        SKIP: {
+                skip( 'Tests only for non roor user', $NB_UNIX_tests_do_valid_directory_non_root ) if ( '0' eq $EFFECTIVE_USER_ID ) ;
+                diag( 'The "Error / is not writable" is on purpose' ) ;
+                ok( 0 == do_valid_directory( '/'), 'do_valid_directory: / bad' ) ;
+                diag( 'The "Error permission denied" on /noway is on purpose' ) ;
+                ok( 0 == do_valid_directory( '/noway'), 'do_valid_directory: /noway bad' ) ;
+        }
+
+
+        note( 'Leaving  tests_do_valid_directory()' ) ;
+        return ;
+}
+
 sub do_valid_directory
 {
         my $dir = shift @ARG ;
@@ -6898,7 +8263,7 @@
                 return( 0 ) ;
         }
         # Trying to create it
-        myprint( "Creating directory $dir\n"  ) ;
+        myprint( "Creating directory $dir (current directory is " . getcwd(  ) . ")\n"  ) ;
         if ( ! eval { mkpath( $dir ) } ) {
                 myprint( "$EVAL_ERROR" ) if ( $EVAL_ERROR )  ;
         }
@@ -6924,11 +8289,14 @@
         is( 1, match_a_pid_number( 99999 ), 'match_a_pid_number: 99999 => 1' ) ;
         is( 1, match_a_pid_number( -99999 ), 'match_a_pid_number: -99999 => 1' ) ;
         is( undef, match_a_pid_number( 0 ), 'match_a_pid_number: 0 => undef' ) ;
-        is( undef, match_a_pid_number( 100000 ), 'match_a_pid_number: 100000 => undef' ) ;
-        is( undef, match_a_pid_number( 123456 ), 'match_a_pid_number: 123456 => undef' ) ;
+        is( 1, match_a_pid_number( 100000 ), 'match_a_pid_number: 100000 => 1' ) ;
+        is( 1, match_a_pid_number( 123456 ), 'match_a_pid_number: 123456 => 1' ) ;
         is( undef, match_a_pid_number( '-0' ), 'match_a_pid_number: "-0" => undef' ) ;
-        is( undef, match_a_pid_number( -100000 ), 'match_a_pid_number: -100000 => undef' ) ;
-        is( undef, match_a_pid_number( -123456 ), 'match_a_pid_number: -123456 => undef' ) ;
+        is( 1, match_a_pid_number( -100000 ), 'match_a_pid_number: -100000 => 1' ) ;
+        is( 1, match_a_pid_number( -123456 ), 'match_a_pid_number: -123456 => 1' ) ;
+        is( 1, match_a_pid_number( 2**22 ), 'match_a_pid_number: 2**22 => 1' ) ;
+        is( undef, match_a_pid_number( 2**22 + 1 ),  'match_a_pid_number: 2**22 + 1 => undef' ) ;
+        is( undef, match_a_pid_number( 4194304 + 1 ), 'match_a_pid_number: 2**22 + 1 = 4194305 => undef' ) ;
 
         note( 'Leaving  tests_match_a_pid_number()' ) ;
         return ;
@@ -6944,7 +8312,7 @@
         # can be negative on Windows
         #if ( 0 > $pid ) { return ; }
         #if ( 65535 < $pid ) { return ; }
-        if ( 99999 < abs( $pid ) ) { return ; }
+        if ( 2**22 < abs( $pid ) ) { return ; }
         if ( 0 == abs( $pid ) ) { return ; }
         return 1 ;
 }
@@ -6974,13 +8342,20 @@
 {
         #
         my $pid_filename = shift @ARG ;
-
+        
+        #myprint( "In remove_pidfile_not_running $pid_filename\n" ) ;
         if ( ! $pid_filename )    { myprint( "No variable pid_filename\n" ) ; return } ;
-        if ( ! -e $pid_filename ) { myprint( "File $pid_filename does not exist\n" ) ; return } ;
+        if ( ! -e $pid_filename )
+        { 
+                myprint( "File $pid_filename does not exist\n" ) ;
+                return ;
+        }
+        #myprint( "Still In remove_pidfile_not_running $pid_filename\n" ) ;
+        
         if ( ! -f $pid_filename ) { myprint( "File $pid_filename is not a file\n" ) ; return } ;
 
         my $pid = firstline( $pid_filename ) ;
-        if ( ! match_a_pid_number( $pid ) ) { myprint( "pid $pid in $pid_filename is not a number\n" ) ; return } ;
+        if ( ! match_a_pid_number( $pid ) ) { myprint( "In remove_pidfile_not_running: pid $pid in $pid_filename is not a pid number\n" ) ; return } ;
         # can't kill myself => do nothing
         if ( ! kill 'ZERO', $PROCESS_ID  ) { myprint( "Can not kill ZERO myself $PROCESS_ID\n" ) ; return } ;
 
@@ -7061,6 +8436,8 @@
         if ( ! $lock )    { return ; }
         if ( ! $tail )    { return ; }
 
+        if ( ! -e $pidfile ) { return ; }
+        
         my $pidtotail = firstline( $pidfile ) ;
         if ( ! $pidtotail ) { return ; }
 
@@ -7173,13 +8550,14 @@
 {
         # returns undef if something is considered fatal
         # returns 1 otherwise
-
+        
+        #myprint( "In write_pidfile\n" ) ;
         if ( ! @ARG ) { return 1 ; }
 
         my $mysync = shift @ARG ;
 
-        # Do not write the pid file if this process goal is to abort the process designed by the pid file
-        if ( $mysync->{abort} ) { return 1 ; }
+        # Do not write the pid file if the current process goal is to abort the process designed by the pid file
+        if ( $mysync->{ abort } ) { return 1 ; }
 
         #
         my $pid_filename = $mysync->{ pidfile } ;
@@ -7384,6 +8762,9 @@
 
         is( '[&ZTZO9nux-] = [æ”¶ä»¶ç®±]', jux_utf8( '&ZTZO9nux-'), 'jux_utf8: => [&ZTZO9nux-] = [æ”¶ä»¶ç®±]' ) ;
         #
+        #
+        is( '[!Old Emails]', jux_utf8( '!Old Emails'), 'jux_utf8: !Old Emails => [!Old Emails]' ) ;
+        is( '[2006 Budget & Fcst]', jux_utf8( '2006 Budget & Fcst'), 'jux_utf8: 2006 Budget & Fcst => [2006 Budget & Fcst]' ) ;
         note( 'Leaving  tests_jux_utf8()' ) ;
         return ;
 }
@@ -7530,6 +8911,7 @@
         if ( $create_folder_old ) {
                 return( create_folder_old( $mysync, $myimap2 , $h2_fold , $h1_fold ) ) ;
         }
+
         myprint( "Creating folder [$h2_fold] on host2\n"  ) ;
         if ( ( 'INBOX' eq uc  $h2_fold  )
          and ( $myimap2->exists( $h2_fold ) ) ) {
@@ -7577,6 +8959,7 @@
                 if ( ! $mysync->{ justfolders } ) {
                         myprint( "Since --dry mode is on and folder [$h2_fold] on host2 does not exist yet, syncing messages will not be simulated.\n"
                         . "To simulate message syncing, use --justfolders without --dry to first create the missing folders then rerun the --dry sync.\n" ) ;
+                        # The messages that could be transferred are counted and the number is given at the end.
                 }
                 return( 0 ) ;
         }
@@ -7639,7 +9022,7 @@
 {
         my @requested_folders_sorted = () ;
 
-        #myprint "folderfirst: @folderfirst\n" ;
+        $sync->{ debug } and myprint "folderfirst: @folderfirst\n" ;
         my @folderfirst_requested = remove_from_requested_folders( @folderfirst ) ;
         #myprint "folderfirst_requested: @folderfirst_requested\n" ;
 
@@ -7648,7 +9031,7 @@
         my @middle = sort keys %requested_folder ;
 
         @requested_folders_sorted = ( @folderfirst_requested, @middle, @folderlast_requested ) ;
-        #myprint "requested_folders_sorted: @requested_folders_sorted\n" ;
+        $sync->{ debug } and myprint "requested_folders_sorted: @requested_folders_sorted\n" ;
         add_to_requested_folders( @requested_folders_sorted ) ;
 
         return( @requested_folders_sorted ) ;
@@ -7707,7 +9090,7 @@
         is_deeply( [ 'F1', 'F2' ], [ remove_from_requested_folders( 'F1', 'F2' ) ], 'remove_from_requested_folders: remove F1 F2 among F1 F2 F3 => F1 F2' ) ;
         is_deeply( { 'F3' => 1 }, { %requested_folder }, 'remove_from_requested_folders: remove F1 F2 among F1 F2 F3 => %requested_folder F3' ) ;
 
-
+        undef %requested_folder ;
 
         note( 'Leaving  tests_remove_from_requested_folders()' ) ;
         return ;
@@ -7784,13 +9167,13 @@
         ok(+1 == compare_lists([1] , [])        , 'compare_lists, [1] > []');
 
 
-        ok( 0 == compare_lists([1],  1 )          , 'compare_lists, [1] =  1 ') ;
-        ok( 0 == compare_lists( 1 , [1])          , 'compare_lists,  1  = [1]') ;
+        ok( 0 == compare_lists( [1],  1 )          , 'compare_lists, [1] =  1 ') ;
+        ok( 0 == compare_lists( 1 , [1] )          , 'compare_lists,  1  = [1]') ;
         ok( 0 == compare_lists( 1 ,  1 )          , 'compare_lists,  1  =  1 ') ;
-        ok($MINUS_ONE == compare_lists( 0 ,  1 )          , 'compare_lists,  0  <  1 ') ;
-        ok($MINUS_ONE == compare_lists($MINUS_ONE ,  0 )          , 'compare_lists, -1  <  0 ') ;
-        ok($MINUS_ONE == compare_lists( 1 ,  2 )          , 'compare_lists,  1  <  2 ') ;
-        ok(+1 == compare_lists( 2 ,  1 )          , 'compare_lists,  2  >  1 ') ;
+        ok( $MINUS_ONE == compare_lists( 0 ,  1 )          , 'compare_lists,  0  <  1 ') ;
+        ok( $MINUS_ONE == compare_lists( $MINUS_ONE ,  0 )          , 'compare_lists, -1  <  0 ') ;
+        ok( $MINUS_ONE == compare_lists( 1 ,  2 )          , 'compare_lists,  1  <  2 ') ;
+        ok( +1 == compare_lists( 2 ,  1 )          , 'compare_lists,  2  >  1 ') ;
 
 
         ok( 0 == compare_lists([1,2], [1,2])   , 'compare_lists,  [1,2] = [1,2]' ) ;
@@ -8015,6 +9398,7 @@
         return( $listing ) ;
 }
 
+# Globals are $sync @h1_folders_all @h2_folders_all $prefix1 $prefix2
 sub private_folders_separators_and_prefixes
 {
 # what are the private folders separators and prefixes for each server ?
@@ -8121,8 +9505,32 @@
         }
 }
 
+sub tests_sanitize_host
+{
+        note( 'Entering tests_sanitize_host()' ) ;
+
+        is( undef, sanitize_host(  ),  'sanitize_host: no args => undef' ) ;
+        is( '', sanitize_host( '' ),  'sanitize_host: empty => empty' ) ;
+        is( 'imap.example.org', sanitize_host( 'imap.example.org' ),         'sanitize_host: imap.example.org => imap.example.org' ) ;
+        is( 'imap.example.org', sanitize_host( ' imap.example.org' ),        'sanitize_host: imap.example.org 1 => imap.example.org' ) ;
+        is( 'imap.example.org', sanitize_host( 'imap.example.org ' ),        'sanitize_host: imap.example.org 2 => imap.example.org' ) ;
+        is( 'imap.example.org', sanitize_host( 'imap.exam  ple.org' ),       'sanitize_host: imap.example.org 3 => imap.example.org' ) ;
+        is( 'imap.example.org', sanitize_host( '  imap.exam  ple.org   ' ),  'sanitize_host: imap.example.org 4 => imap.example.org' ) ;
+        is( 'imap.example.org', sanitize_host( 'imap.exa/mple.org/' ),        'sanitize_host: imap.example.org/  => imap.example.org' ) ;
+
+        note( 'Leaving  tests_sanitize_host()' ) ;
+        return ;
+}
 
 
+sub sanitize_host
+{
+        my $host = shift ;
+        if ( ! defined $host ) { return ; }
+
+        $host =~ tr{ /}{}d ;
+        return $host ;
+}
 
 
 sub tests_add_subfolder1_to_folderrec
@@ -8707,86 +10115,89 @@
 
 
 
-sub tests_flags_regex
+sub tests_regexflags
 {
-	note( 'Entering tests_flags_regex()' ) ;
+        note( 'Entering tests_regexflags()' ) ;
 
-        ok( q{} eq flags_regex(q{} ), 'flags_regex, null string q{}' ) ;
-        ok( q{\Seen NonJunk $Spam} eq flags_regex( q{\Seen NonJunk $Spam} ), q{flags_regex, nothing to do} ) ;
+        my $mysync = {} ; 
+        
+        ok( q{} eq regexflags( $mysync, q{} ), 'regexflags, null string q{}' ) ;
+        ok( q{\Seen NonJunk $Spam} eq regexflags( $mysync, q{\Seen NonJunk $Spam} ), q{regexflags, nothing to do} ) ;
 
-        @regexflag = ('I am BAD' ) ;
-        ok( not ( defined flags_regex( q{} ) ), 'flags_regex, bad regex' ) ;
+        @{ $mysync->{ regexflag } } = ('I am BAD' ) ;
+        ok( not ( defined regexflags( $mysync, q{} ) ), 'regexflags, bad regex' ) ;
 
-        @regexflag = ( 's/NonJunk//g' ) ;
-        ok( q{\Seen  $Spam} eq flags_regex( q{\Seen NonJunk $Spam} ), q{flags_regex, remove NonJunk: 's/NonJunk//g'} ) ;
-        @regexflag = ( q{s/\$Spam//g} ) ;
-        ok( q{\Seen NonJunk } eq flags_regex( q{\Seen NonJunk $Spam} ), q{flags_regex, remove $Spam: 's/\$Spam//g'} ) ;
+        @{ $mysync->{ regexflag } } = ( 's/NonJunk//g' ) ;
+        ok( q{\Seen  $Spam} eq regexflags( $mysync, q{\Seen NonJunk $Spam} ), q{regexflags, remove NonJunk: 's/NonJunk//g'} ) ;
+        @{ $mysync->{ regexflag } } = ( q{s/\$Spam//g} ) ;
+        ok( q{\Seen NonJunk } eq regexflags( $mysync, q{\Seen NonJunk $Spam} ), q{regexflags, remove $Spam: 's/\$Spam//g'} ) ;
 
-        @regexflag = ( 's/\\\\Seen//g' ) ;
+        @{ $mysync->{ regexflag } } = ( 's/\\\\Seen//g' ) ;
 
-        ok( q{ NonJunk $Spam} eq flags_regex( q{\Seen NonJunk $Spam} ), q{flags_regex, remove \Seen: 's/\\\\\\\\Seen//g'} ) ;
+        ok( q{ NonJunk $Spam} eq regexflags( $mysync, q{\Seen NonJunk $Spam} ), q{regexflags, remove \Seen: 's/\\\\\\\\Seen//g'} ) ;
 
-        @regexflag = ( 's/(\s|^)[^\\\\]\w+//g' ) ;
-        ok( q{\Seen \Middle \End}   eq flags_regex( q{\Seen NonJunk \Middle $Spam \End} ), q{flags_regex: only \word among \Seen NonJunk \Middle $Spam \End} ) ;
-        ok( q{ \Seen \Middle \End1} eq flags_regex( q{Begin \Seen NonJunk \Middle $Spam \End1 End} ),
-                     q{flags_regex: only \word among Begin \Seen NonJunk \Middle $Spam \End1 End} ) ;
+        @{ $mysync->{ regexflag } } = ( 's/(\s|^)[^\\\\]\w+//g' ) ;
+        ok( q{\Seen \Middle \End}   eq regexflags( $mysync, q{\Seen NonJunk \Middle $Spam \End} ), q{regexflags: only \word among \Seen NonJunk \Middle $Spam \End} ) ;
+        ok( q{ \Seen \Middle \End1} eq regexflags( $mysync, q{Begin \Seen NonJunk \Middle $Spam \End1 End} ),
+                     q{regexflags: only \word among Begin \Seen NonJunk \Middle $Spam \End1 End} ) ;
 
-        @regexflag = ( q{s/.*?(Keep1|Keep2|Keep3)/$1 /g} ) ;
-        ok( 'Keep1 Keep2  ReB' eq flags_regex('ReA Keep1 REM Keep2 ReB'), 'Keep only regex' ) ;
+        @{ $mysync->{ regexflag } } = ( q{s/.*?(Keep1|Keep2|Keep3)/$1 /g} ) ;
+        ok( 'Keep1 Keep2  ReB' eq regexflags( $mysync, 'ReA Keep1 REM Keep2 ReB' ), 'Keep only regex' ) ;
 
-        ok( 'Keep1 Keep2 ' eq flags_regex( 'REM REM Keep1 Keep2'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex( 'Keep1 REM REM Keep2'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex( 'REM Keep1 REM REM  Keep2'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex( 'Keep1 Keep2'), 'Keep only regex' ) ;
-        ok( 'Keep1 ' eq flags_regex( 'REM Keep1'), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'REM REM Keep1 Keep2' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'Keep1 REM REM Keep2' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'REM Keep1 REM REM  Keep2' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'Keep1 Keep2' ), 'Keep only regex' ) ;
+        ok( 'Keep1 ' eq regexflags( $mysync, 'REM Keep1' ), 'Keep only regex' ) ;
 
-        @regexflag = ( q{s/(Keep1|Keep2|Keep3) (?!(Keep1|Keep2|Keep3)).*/$1 /g} ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex( 'Keep1 Keep2 ReB'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex( 'Keep1 Keep2 REM REM  REM'), 'Keep only regex' ) ;
-        ok( 'Keep2 ' eq flags_regex('Keep2 REM REM  REM'), 'Keep only regex' ) ;
+        @{ $mysync->{ regexflag } } = ( q{s/(Keep1|Keep2|Keep3) (?!(Keep1|Keep2|Keep3)).*/$1 /g} ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'Keep1 Keep2 ReB' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'Keep1 Keep2 REM REM  REM' ), 'Keep only regex' ) ;
+        ok( 'Keep2 ' eq regexflags( $mysync, 'Keep2 REM REM  REM' ), 'Keep only regex' ) ;
 
 
-        @regexflag = ( q{s/.*?(Keep1|Keep2|Keep3)/$1 /g},
+        @{ $mysync->{ regexflag } } = ( q{s/.*?(Keep1|Keep2|Keep3)/$1 /g},
            's/(Keep1|Keep2|Keep3) (?!(Keep1|Keep2|Keep3)).*/$1 /g' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex('REM Keep1 REM Keep2 REM'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex('Keep1 REM Keep2 REM'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex('REM Keep1 Keep2 REM'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 ' eq flags_regex('REM Keep1 REM Keep2'), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep2 Keep3 ' eq flags_regex('REM Keep1 REM Keep2 REM REM Keep3 REM'), 'Keep only regex' ) ;
-        ok( 'Keep1 ' eq flags_regex('REM  REM Keep1 REM REM REM '), 'Keep only regex' ) ;
-        ok( 'Keep1 Keep3 ' eq flags_regex('RE1 Keep1 RE2 Keep3 RE3 RE4 RE5 '), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'REM Keep1 REM Keep2 REM' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'Keep1 REM Keep2 REM' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'REM Keep1 Keep2 REM' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 ' eq regexflags( $mysync, 'REM Keep1 REM Keep2' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep2 Keep3 ' eq regexflags( $mysync, 'REM Keep1 REM Keep2 REM REM Keep3 REM' ), 'Keep only regex' ) ;
+        ok( 'Keep1 ' eq regexflags( $mysync, 'REM  REM Keep1 REM REM REM ' ), 'Keep only regex' ) ;
+        ok( 'Keep1 Keep3 ' eq regexflags( $mysync, 'RE1 Keep1 RE2 Keep3 RE3 RE4 RE5 ' ), 'Keep only regex' ) ;
 
-        @regexflag = ( 's/(.*)/$1 jrdH8u/' ) ;
-        ok('REM  REM  REM REM REM jrdH8u' eq flags_regex('REM  REM  REM REM REM'), q{Add jrdH8u 's/(.*)/\$1 jrdH8u/'} ) ;
-        @regexflag = ('s/jrdH8u *//');
-        ok('REM  REM  REM REM REM ' eq flags_regex('REM  REM  REM REM REM jrdH8u'), q{Remove jrdH8u s/jrdH8u *//} ) ;
+        @{ $mysync->{ regexflag } } = ( 's/(.*)/$1 jrdH8u/' ) ;
+        ok('REM  REM  REM REM REM jrdH8u' eq regexflags( $mysync, 'REM  REM  REM REM REM' ), q{Add jrdH8u 's/(.*)/\$1 jrdH8u/'} ) ;
+        @{ $mysync->{ regexflag } } = ('s/jrdH8u *//' );
+        ok('REM  REM  REM REM REM ' eq regexflags( $mysync, 'REM  REM  REM REM REM jrdH8u' ), q{Remove jrdH8u s/jrdH8u *//} ) ;
 
-        @regexflag = (
+        @{ $mysync->{ regexflag } } = (
         's/.*?(?:(\\\\(?:Answered|Flagged|Deleted|Seen|Draft)\s?)|$)/defined($1)?$1:q()/eg'
         );
 
         ok( '\\Deleted \\Answered '
-        eq flags_regex('Blabla \$Junk \\Deleted machin \\Answered truc'),
+        eq regexflags( $mysync, 'Blabla \$Junk \\Deleted machin \\Answered truc' ),
         'Keep only regex: Exchange case (Phil)' ) ;
 
-        ok( q{} eq flags_regex( q{} ), 'Keep only regex: Exchange case, null string (Phil)' ) ;
+        ok( q{} eq regexflags( $mysync, q{} ), 'Keep only regex: Exchange case, null string (Phil)' ) ;
 
         ok( q{}
-        eq flags_regex('Blabla $Junk  machin  truc'),
+        eq regexflags( $mysync, 'Blabla $Junk  machin  truc' ),
         'Keep only regex: Exchange case, no accepted flags (Phil)' ) ;
 
         ok('\\Deleted \\Answered \\Draft \\Flagged '
-        eq flags_regex('\\Deleted    \\Answered  \\Draft \\Flagged '),
+        eq regexflags( $mysync, '\\Deleted    \\Answered  \\Draft \\Flagged ' ),
         'Keep only regex: Exchange case (Phil)' ) ;
 
-        @regexflag = ( 's/\\\\Flagged//g' ) ;
+        @{ $mysync->{ regexflag } } = ( 's/\\\\Flagged//g' ) ;
 
         is('\Deleted \Answered \Draft  ',
-        flags_regex('\\Deleted \\Answered \\Draft \\Flagged '),
-        'flags_regex: remove \Flagged 1' ) ;
+        regexflags( $mysync, '\\Deleted \\Answered \\Draft \\Flagged ' ),
+        'regexflags: remove \Flagged 1' ) ;
+
         is('\\Deleted  \\Answered \\Draft',
-        flags_regex('\\Deleted \\Flagged \\Answered \\Draft'),
-        'flags_regex: remove \Flagged 2' ) ;
+        regexflags( $mysync, '\\Deleted \\Flagged \\Answered \\Draft' ),
+        'regexflags: remove \Flagged 2' ) ;
 
         # I didn't understand why it gives \F
         # https://perldoc.perl.org/perlrebackslash.html
@@ -8795,49 +10206,136 @@
 
         # \F Not available in old Perl so I comment the test
 
-        # @regexflag = ( 's/\\Flagged/X/g' ) ;
+        # @{ $mysync->{ regexflag } } = ( 's/\\Flagged/X/g' ) ;
         #is('\Deleted FX \Answered \FX \Draft \FX',
-        #flags_regex( '\Deleted Flagged \Answered \Flagged \Draft \Flagged' ),
-        # 'flags_regex: remove \Flagged 3 mistery...' ) ;
+        #regexflags( '\Deleted Flagged \Answered \Flagged \Draft \Flagged' ),
+        # 'regexflags: remove \Flagged 3 mistery...' ) ;
 
-	note( 'Leaving  tests_flags_regex()' ) ;
+        $mysync->{ regexflag } = [  ] ;
+        $mysync->{ filterbuggyflags } = 1 ;
+        filterbuggyflags( $mysync ) ;
+        
+        is( '\Deleted \Answered  \Draft  \Flagged',
+        regexflags( $mysync, '\\Deleted \\Answered \\RECEIPTCHECKED \\Draft \\Indexed \\Flagged' ),
+        'regexflags: remove famous /X 1' ) ;
+
+        is( '\\Deleted  \\Flagged \\Answered  \\Draft',
+        regexflags( $mysync, '\\Deleted \\RECEIPTCHECKED \\Flagged \\Answered \\Indexed \\Draft' ),
+        'regexflags: remove famous /X 2' ) ; 
+
+        is( '\ ', '\\ ',  'regexflags: \ is \\ ' ) ;
+        is( '\\ ', '\\ ', 'regexflags: \\ is \\ ' ) ;
+        is( '\\ \ ', '\ \\ ', 'regexflags: \\ \ is \ \\ ' ) ;
+        note( 'Leaving  tests_regexflags()' ) ;
         return ;
 }
 
-sub flags_regex
+sub regexflags
 {
-        my ( $h1_flags ) = @_ ;
-        foreach my $regexflag ( @regexflag ) {
-                my $h1_flags_orig = $h1_flags ;
-                $debugflags and myprint( "eval \$h1_flags =~ $regexflag\n"  ) ;
-                my $ret = eval "\$h1_flags =~ $regexflag ; 1 " ;
-                $debugflags and myprint( "regexflag $regexflag [$h1_flags_orig] -> [$h1_flags]\n"  ) ;
+        my $mysync = shift ;
+        my $flags = shift ;
+        
+        foreach my $regexflag ( @{ $mysync->{ regexflag } } )
+        {
+                my $flags_orig = $flags ;
+                $debugflags and myprint( "eval \$flags =~ $regexflag\n"  ) ;
+                my $ret = eval "\$flags =~ $regexflag ; 1 " ;
+                $debugflags and myprint( "regexflag $regexflag [$flags_orig] -> [$flags]\n"  ) ;
                 if( not ( defined $ret ) or $EVAL_ERROR ) {
                         myprint( "Error: eval regexflag '$regexflag': $EVAL_ERROR\n"  ) ;
                         return( undef ) ;
                 }
         }
-        return( $h1_flags ) ;
+        return( $flags ) ;
 }
 
+
+sub filterbuggyflags
+{
+        my $mysync = shift ;
+        if ( $mysync->{ filterbuggyflags } )
+        {
+                unshift @{ $mysync->{ regexflag } }, buggyflagsregex(  ) ;
+        }
+        return ;
+}
+
+
+sub tests_remove_doublequotes_if_any
+{
+        note( 'Entering tests_remove_doublequotes_if_any()' ) ;
+        # the number of tests is stupid here
+        is( undef, remove_doublequotes_if_any(  ),  'remove_doublequotes_if_any: no args => undef' ) ;
+        is( q{}, remove_doublequotes_if_any( q{} ),  'remove_doublequotes_if_any: empty string => empty string' ) ;
+        is( q{}, remove_doublequotes_if_any( q{""} ),  'remove_doublequotes_if_any: double-quotes => empty string' ) ;
+        is( q{}, remove_doublequotes_if_any( q{"""} ),  'remove_doublequotes_if_any: double-quotes => empty string' ) ;
+        is( q{}, remove_doublequotes_if_any( q{"""} ),  'remove_doublequotes_if_any: double-quotes => empty string' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{"toto"} ),   'remove_doublequotes_if_any: "toto"   => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{toto} ),     'remove_doublequotes_if_any: toto     => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{to"to} ),    'remove_doublequotes_if_any: to"to    => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{toto"} ),    'remove_doublequotes_if_any: toto"    => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{"toto} ),    'remove_doublequotes_if_any: "toto    => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{"to"to} ),   'remove_doublequotes_if_any: "to"to   => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{to"to"} ),   'remove_doublequotes_if_any: to"to"   => toto' ) ;
+
+        is( q{toto}, remove_doublequotes_if_any( q{to\"to} ),   'remove_doublequotes_if_any: to\"to   => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{toto\"} ),   'remove_doublequotes_if_any: toto\"   => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{\"toto} ),   'remove_doublequotes_if_any: \"toto   => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{\"to\"to} ), 'remove_doublequotes_if_any: \"to\"to => toto' ) ;
+        is( q{toto}, remove_doublequotes_if_any( q{to\"to\"} ), 'remove_doublequotes_if_any: to\"to"  => toto' ) ;
+
+
+        note( 'Leaving  tests_remove_doublequotes_if_any()' ) ;
+        return ;
+}
+
+
+
+sub remove_doublequotes_if_any
+{
+        my $string = shift ;
+
+        if ( ! defined $string ) { return ; }
+        $string =~ s/\\\"//g ;
+        $string =~ tr/"//d ;
+        return $string ;
+}
+
+
+# No globals here
 sub acls_sync
 {
-        my($h1_fold, $h2_fold) = @_ ;
-        if ( $syncacls ) {
-                my $h1_hash = $sync->{imap1}->getacl($h1_fold)
-                  or myprint( "Could not getacl for $h1_fold: $EVAL_ERROR\n" ) ;
-                my $h2_hash = $sync->{imap2}->getacl($h2_fold)
-                  or myprint( "Could not getacl for $h2_fold: $EVAL_ERROR\n" ) ;
+# https://tools.ietf.org/html/rfc4314
+# Standard Rights:
+# https://tools.ietf.org/html/rfc4314#section-2.1
+
+        my( $mysync, $h1_fold, $h2_fold ) = @_ ;
+        if ( $mysync->{ syncacls } ) {
+                my $h1_hash = $mysync->{imap1}->getacl($h1_fold)
+                  or myprint( "Host1: Could not getacl for $h1_fold: $EVAL_ERROR\n" ) ;
+                my $h2_hash = $mysync->{imap2}->getacl($h2_fold)
+                  or myprint( "Host2: Could not getacl for $h2_fold: $EVAL_ERROR\n" ) ;
+
                 my %users = map { ($_, 1) } ( keys  %{ $h1_hash} , keys %{ $h2_hash }  ) ;
                 foreach my $user (sort keys %users ) {
-                        my $acl = $h1_hash->{$user} || 'none' ;
-                        myprint( "acl $user: [$acl]\n" ) ;
-                        next if ($h1_hash->{$user} && $h2_hash->{$user} &&
-                                 $h1_hash->{$user} eq $h2_hash->{$user});
-                        unless ($sync->{dry}) {
-                                myprint( "setting acl $h2_fold $user $acl\n" ) ;
-                                $sync->{imap2}->setacl($h2_fold, $user, $acl)
-                                  or myprint( "Could not set acl: $EVAL_ERROR\n" ) ;
+                        my $h1_acl = remove_doublequotes_if_any( $h1_hash->{$user} ) || '' ;
+                        my $h2_acl = remove_doublequotes_if_any( $h2_hash->{$user} ) || '' ;
+                        myprint( "Host1: user $user has acl [$h1_acl] on host1\n" ) ;
+                        myprint( "Host2: user $user has acl [$h2_acl] on host2\n" ) ;
+                        # removes surrounding double-quotes if any
+                        my $user_no_quotes = remove_doublequotes_if_any( $user ) ;
+
+                        if (       $h1_hash->{$user}
+                                && $h2_hash->{$user}
+                                && $h1_hash->{$user} eq $h2_hash->{$user} )
+                        {
+                                myprint( "Host2: user $user_no_quotes has already the same acl, no need to set it.\n" ) ;
+                                next ;
+                        }
+                        myprint( "Host2: setting acl for folder $h2_fold user $user_no_quotes acl $h1_acl $mysync->{dry_message}\n" ) ;
+                        unless ( $mysync->{dry} ) {
+                                $mysync->{imap2}->setacl( $h2_fold, $user_no_quotes, $h1_acl )
+                                  or myprint( "Could not set acl for user $user_no_quotes on host2: $EVAL_ERROR\n" ) ;
                         }
                 }
         }
@@ -8874,10 +10372,11 @@
                 if ( $line =~ m{\[PERMANENTFLAGS\s\(([^)]+?)\)\]}x ) {
                         ( $debugflags or $sync->{ debug } ) and myprint( "permanentflags: $line"  ) ;
                         my $permanentflags = $1 ;
-                        if ( $permanentflags =~ m{\\\*}x ) {
+                        if ( $permanentflags =~ m{\\\*}x )
+                        {
                                 $permanentflags = q{} ;
                         }
-                        return($permanentflags) ;
+                        return( $permanentflags ) ;
                 } ;
         }
         return( q{} ) ;
@@ -8913,19 +10412,6 @@
         return( $flags_out ) ;
 }
 
-sub flagscase
-{
-        my $flags = shift ;
-
-        my @flags = split /\s+/x, $flags ;
-        my %rfc_flags = map { $_ => 1 } split q{ }, '\Answered \Flagged \Deleted \Seen \Draft' ;
-        my @flags_out = map { exists $rfc_flags{ ucsecond( lc $_ ) } ? ucsecond( lc $_ ) : $_ } @flags ;
-
-        my $flags_out = join q{ }, @flags_out ;
-
-        return( $flags_out ) ;
-}
-
 sub tests_flagscase
 {
 	note( 'Entering tests_flagscase()' ) ;
@@ -8943,6 +10429,93 @@
         return ;
 }
 
+sub flagscase
+{
+        my $flags = shift ;
+
+        my @flags = split /\s+/x, $flags ;
+        my %rfc_flags = map { $_ => 1 } split q{ }, '\Answered \Flagged \Deleted \Seen \Draft' ;
+        my @flags_out = map { exists $rfc_flags{ ucsecond( lc $_ ) } ? ucsecond( lc $_ ) : $_ } @flags ;
+
+        my $flags_out = join q{ }, @flags_out ;
+
+        return( $flags_out ) ;
+}
+
+
+
+sub tests_flags_for_host2
+{
+        note( 'Entering tests_flags_for_host2()' ) ;
+
+        is( undef, flags_for_host2(  ),  'flags_for_host2: no args => undef' ) ;
+        
+        my $mysync ;
+        is( undef, flags_for_host2( $mysync ),  'flags_for_host2: undef => undef' ) ;
+        
+        $mysync = { } ;
+        is( undef, flags_for_host2( $mysync ),  'flags_for_host2: nothing => undef' ) ;
+        
+        is( q{}, flags_for_host2( $mysync, '' ),  'flags_for_host2: no flags => empty string' ) ;
+        
+        is( q{}, flags_for_host2( $mysync, '\Recent' ),  'flags_for_host2: \Recent => empty string' ) ;
+        
+        is( q{\Seen}, flags_for_host2( $mysync, '\Recent \Seen' ),  'flags_for_host2: \Recent \Seen => \Seen' ) ;
+       
+        is( q{\Deleted \Seen}, flags_for_host2( $mysync, '\Deleted \Recent \Seen' ),  'flags_for_host2: \Deleted \Recent \Seen => \Deleted \Seen' ) ;
+       
+        $mysync->{ flagscase } = 0 ;
+        is( q{\DELETED \Seen}, flags_for_host2( $mysync, '\DELETED \Seen' ),  'flags_for_host2: flagscase = 0 \DELETED \Seen => \DELETED \Seen' ) ;
+       
+        $mysync->{ flagscase } = 1 ;
+        is( q{\Deleted \Seen}, flags_for_host2( $mysync, '\DELETED \Seen' ),  'flags_for_host2: flagscase = 1 \DELETED \Seen => \Deleted \Seen' ) ;
+       
+        $mysync->{ filterflags } = 0 ;
+        is( q{\Seen \Blabla}, flags_for_host2( $mysync, '\Seen \Blabla', '\Seen \Junk' ),  'flags_for_host2: filterflags = 0 \Seen \Blabla among \Seen \Junk  => \Seen \Blabla' ) ;
+        
+        $mysync->{ filterflags } = 1 ;
+        is( q{\Seen}, flags_for_host2( $mysync, '\Seen \Blabla', '\Seen \Junk' ),  'flags_for_host2: filterflags = 1 \Seen \Blabla among \Seen \Junk  => \Seen' ) ;
+        
+        $mysync->{ filterflags } = 1 ;
+        is( q{\Seen \Blabla}, flags_for_host2( $mysync, '\Seen \Blabla', '' ),  'flags_for_host2: filterflags = 1 \Seen \Blabla among "" => \Seen \Blabla' ) ;
+        
+        
+        note( 'Leaving  tests_flags_for_host2()' ) ;
+        return ;
+}
+
+
+
+
+sub flags_for_host2
+{
+        my $mysync = shift ;
+        my $h1_flags = shift ;
+        my $permanentflags2 = shift ;
+        
+        if ( ! all_defined( $mysync, $h1_flags ) ) { return ; } ; 
+        
+        # RFC 2060: This flag can not be altered by any client
+        $h1_flags =~ s@\\Recent\s?@@xgi ;
+        
+        my $h1_flags_re ;
+        if ( $mysync->{ regexflag } and defined( $h1_flags_re = regexflags( $mysync, $h1_flags ) ) ) {
+                $h1_flags = $h1_flags_re ;
+        }
+        
+        if ( $mysync->{ flagscase } )
+        {
+                $h1_flags = flagscase( $h1_flags ) ;
+        }
+        
+        if ( $permanentflags2 and $mysync->{ filterflags } )
+        {
+                $h1_flags = flags_filter( $h1_flags, $permanentflags2 ) ;
+        }
+        
+        return( $h1_flags ) ;
+}
+
 
 
 sub ucsecond
@@ -9041,8 +10614,7 @@
 
 
         $debugdev and myprint( "Calling fetch_hash()\n"  ) ;
-        my $uidnext = $imap->uidnext( $folder ) || $uidnext_default ;
-        my $fetch_hash_uids = $fetch_hash_set || "1:$uidnext" ;
+        my $fetch_hash_uids = $fetch_hash_set || "1:*" ;
         %fetch = %{$imap->fetch_hash( $fetch_hash_uids, 'INTERNALDATE' ) } ;
 
         @msgs_all = sort { $a <=> $b } keys  %fetch  ;
@@ -9108,6 +10680,10 @@
         @min = @{ $min_ref } ;
 
         SWITCH: {
+                if ( not ( defined $minage or defined $maxage ) )
+                {
+                        return ;
+                }
                 unless( defined  $minage  ) { @msgs = @max ; last SWITCH } ;
                 unless( defined  $maxage  ) { @msgs = @min ; last SWITCH } ;
                 my ( %union, %inter ) ;
@@ -9125,23 +10701,38 @@
 
 sub tests_msgs_from_maxmin
 {
-	note( 'Entering tests_msgs_from_maxmin()' ) ;
+        note( 'Entering tests_msgs_from_maxmin()' ) ;
+
 
         my @msgs ;
+
+        # no maxage nor minage
+        @msgs = msgs_from_maxmin( [ '1', '2' ], [ '2', '3' ] ) ;
+        is_deeply( [  ], \@msgs , 'msgs_from_maxmin: no maxage nor minage => empty result' ) ;
+
+        # maxage alone
         $maxage = $NUMBER_200 ;
         @msgs = msgs_from_maxmin( [ '1', '2' ], [ '2', '3' ] ) ;
-        ok( 0 == compare_lists( [ '1', '2' ], \@msgs ), 'msgs_from_maxmin: maxage++' ) ;
+        is_deeply( [ '1', '2' ], \@msgs , 'msgs_from_maxmin: maxage++' ) ;
+
+        # maxage > minage -> intersection
         $minage = $NUMBER_100 ;
         @msgs = msgs_from_maxmin( [ '1', '2' ], [ '2', '3' ] ) ;
-        ok( 0 == compare_lists( [ '2' ], \@msgs ), 'msgs_from_maxmin:  -maxage++minage-' ) ;
+        is_deeply( [ '2' ], \@msgs , 'msgs_from_maxmin:  -maxage++minage-' ) ;
+
+        # maxage < minage -> union
         $minage = $NUMBER_300 ;
         @msgs = msgs_from_maxmin( [ '1', '2' ], [ '2', '3' ] ) ;
-        ok( 0 == compare_lists( [ '1', '2', '3' ], \@msgs ), 'msgs_from_maxmin:  ++maxage-minage++' ) ;
+        is_deeply( [ '1', '2', '3' ], \@msgs, 'msgs_from_maxmin:  ++maxage-minage++' ) ;
+
+
+        # minage alone
         $maxage = undef ;
         @msgs = msgs_from_maxmin( [ '1', '2' ], [ '2', '3' ] ) ;
-        ok( 0 == compare_lists( [ '2', '3' ], \@msgs ), 'msgs_from_maxmin:  ++minage-' ) ;
+        is_deeply( [ '2', '3' ], \@msgs, 'msgs_from_maxmin:  ++minage-' ) ;
 
-	note( 'Leaving  tests_msgs_from_maxmin()' ) ;
+
+        note( 'Leaving  tests_msgs_from_maxmin()' ) ;
         return ;
 }
 
@@ -9249,6 +10840,13 @@
         ( $mysync->{ debug } or $mysync->{dry} )
                 and myprint( "msg $h1_fold/$h1_msg copying to $h2_fold $mysync->{dry_message} " . eta( $mysync ) . "\n" ) ;
 
+        if ( $mysync->{dry1} )
+        {
+                $mysync->{ h1_nb_msg_processed } +=1 ;
+                $nb_msg_skipped_dry_mode += 1 ;
+                return ;
+        }
+
         my $h1_size  = $h1_fir_ref->{$h1_msg}->{'RFC822.SIZE'}  || 0 ;
         my $h1_flags = $h1_fir_ref->{$h1_msg}->{'FLAGS'}        || q{} ;
         my $h1_idate = $h1_fir_ref->{$h1_msg}->{'INTERNALDATE'} || q{} ;
@@ -9294,7 +10892,7 @@
         ( $mysync->{ debug } or $debugflags ) and
         myprint( "Host1: flags init msg $h1_fold/$h1_msg date [$h1_date] flags [$h1_flags] size [$h1_size]\n"  ) ;
 
-        $h1_flags = flags_for_host2( $h1_flags, $permanentflags2 ) ;
+        $h1_flags = flags_for_host2( $mysync, $h1_flags, $permanentflags2 ) ;
 
         ( $mysync->{ debug } or $debugflags ) and
         myprint( "Host1: flags filt msg $h1_fold/$h1_msg date [$h1_date] flags [$h1_flags] size [$h1_size]\n"  ) ;
@@ -9447,7 +11045,7 @@
                 ${ $string_ref } = $header . "\r\n" . ${ $string_ref } ;
         }
 
-        if ( ( defined $mysync->{ truncmess } ) and is_an_integer( $mysync->{ truncmess } ) )
+        if ( ( defined $mysync->{ truncmess } ) and is_integer( $mysync->{ truncmess } ) )
         {
                 ${ $string_ref } = truncmess( ${ $string_ref }, $mysync->{ truncmess } ) ;
         }
@@ -10094,20 +11692,6 @@
         return( $h1_date ) ;
 }
 
-sub flags_for_host2
-{
-        my( $h1_flags, $permanentflags2 ) = @_ ;
-        # RFC 2060: This flag can not be altered by any client
-        $h1_flags =~ s@\\Recent\s?@@xgi ;
-        my $h1_flags_re ;
-        if ( @regexflag and defined( $h1_flags_re = flags_regex( $h1_flags ) ) ) {
-                $h1_flags = $h1_flags_re ;
-        }
-        $h1_flags = flagscase( $h1_flags ) if $flagscase ;
-        $h1_flags = flags_filter( $h1_flags, $permanentflags2) if ( $permanentflags2 and $filterflags ) ;
-
-        return( $h1_flags ) ;
-}
 
 sub subject
 {
@@ -10116,7 +11700,7 @@
 
         my $header = extract_header( $string ) ;
 
-        if( $header =~ m/^Subject:\s*([^\n\r]*)\r?$/msx ) {
+        if( $header =~ m/^Subject:[ \t]*([^\n\r]*)\r?$/msx ) {
                 #myprint( "MMM[$1]\n"  ) ;
                 $subject = $1 ;
         }
@@ -10125,12 +11709,14 @@
 
 sub tests_subject
 {
-	note( 'Entering tests_subject()' ) ;
+        note( 'Entering tests_subject()' ) ;
 
         ok( q{} eq subject( q{} ), 'subject: null') ;
-        ok( 'toto le hero' eq subject( 'Subject: toto le hero' ), 'subject: toto le hero') ;
-        ok( 'toto le hero' eq subject( 'Subject:toto le hero' ), 'subject: toto le hero blank') ;
-        ok( 'toto le hero' eq subject( "Subject:toto le hero\r\n" ), 'subject: toto le hero\r\n') ;
+        is( '', subject( 'Subject:' ), 'Subject:') ;
+        is( '', subject( "Subject:\r\n" ), 'Subject:\r\n') ;
+        ok( 'toto le hero' eq subject( 'Subject: toto le hero' ), 'Subject: toto le hero') ;
+        ok( 'toto le hero' eq subject( 'Subject:toto le hero' ), 'Subject:toto le hero') ;
+        ok( 'toto le hero' eq subject( "Subject:toto le hero\r\n" ), 'Subject: toto le hero\r\n') ;
 
         my $MESS ;
         $MESS = <<'EOF';
@@ -10169,13 +11755,24 @@
 EOF
         ok( q{} eq subject( $MESS ), 'subject: null but body could') ;
 
+
+        $MESS = <<'EOF';
+From: lalala
+Subject:
+Date: zzzzzz
+
+Subject: toto le hero
+EOF
+        is( '', subject( $MESS ), 'Subject:') ;
+
+
+
 	note( 'Leaving  tests_subject()' ) ;
         return ;
 }
 
 
 # GlobVar
-# $max_msg_size_in_bytes
 # $h2_uidguess
 # ...
 #
@@ -10187,10 +11784,9 @@
 
         my $new_id ;
         if ( ! $mysync->{dry} ) {
-                $max_msg_size_in_bytes = max( $string_len, $max_msg_size_in_bytes ) ;
                 $new_id = $mysync->{imap2}->append_string( $h2_fold, ${ $string_ref }, $h1_flags, $h1_date ) ;
                 myprint( debugmemory( $mysync, " at A2" ) ) ;
-                if ( ! $new_id){
+                if ( ! defined $new_id ){
                         my $subject = subject( ${ $string_ref } ) ;
                         my $error_imap = $mysync->{imap2}->LastError || q{} ;
                         my $error = "- msg $h1_fold/$h1_msg {$string_len} could not append ( Subject:[$subject], Date:[$h1_date], Size:[$h1_size], Flags:[$h1_flags] ) to folder $h2_fold: $error_imap\n" ;
@@ -10210,6 +11806,7 @@
                         $mysync->{ total_bytes_transferred } += $string_len ;
                         $mysync->{ nb_msg_transferred } += 1 ;
                         $mysync->{ h1_nb_msg_processed } +=1 ;
+                        $mysync->{ biggest_message_transferred } = max( $string_len, $mysync->{ biggest_message_transferred } ) ;
 
                         my $time_spent = timesince( $mysync->{begin_transfer_time} ) ;
                         my $rate = bytes_display_string( $mysync->{total_bytes_transferred} / $time_spent ) ;
@@ -10279,15 +11876,18 @@
 {
         my( $mysync ) = shift ;
 
-	if ( ! $mysync ) {
-		return ;
-	}
-	# No need to go further if there is no limit set
-	if (  not ( $mysync->{maxmessagespersecond}
-		or $mysync->{maxbytespersecond} )
-	) {
-		return ;
-	}
+        if ( ! $mysync ) {
+                return ;
+        }
+        # No need to go further if there is no limit set
+        if (
+                not (
+                        $mysync->{maxmessagespersecond}
+                        or $mysync->{maxbytespersecond}
+                )
+        ) {
+                return ;
+        }
 
 	$mysync->{maxsleep} = defined $mysync->{maxsleep} ? $mysync->{maxsleep} : $MAX_SLEEP ;
         # Must be positive
@@ -10360,7 +11960,7 @@
 
 sub tests_sleep_max_bytes
 {
-	note( 'Entering tests_sleep_max_bytes()' ) ;
+        note( 'Entering tests_sleep_max_bytes()' ) ;
 
         ok( 0 == sleep_max_bytes( 4000, 2, undef ),  'sleep_max_bytes: maxbytespersecond == undef => sleep 0' ) ;
         ok( 0 == sleep_max_bytes( 4000, 2, 0 ),  'sleep_max_bytes: maxbytespersecond = 0 => sleep 0') ;
@@ -10371,7 +11971,7 @@
         ok( 0 == sleep_max_bytes( 2000, 2, 2000 ),  'sleep_max_bytes: maxbytespersecond = 2k max not reached => sleep 0') ;
         ok( 0 == sleep_max_bytes( -2000, 2, 1000 ), 'sleep_max_bytes: maxbytespersecond = 1k max not reached => sleep 0') ;
 
-	note( 'Leaving  tests_sleep_max_bytes()' ) ;
+        note( 'Leaving  tests_sleep_max_bytes()' ) ;
         return ;
 }
 
@@ -10383,7 +11983,8 @@
         if ( ! @h1_msg ) { return ; }
         delete_messages_on_any(
                 $mysync,
-                $mysync->{imap1},
+                $mysync->{ acc1 },
+                $mysync->{ imap1 },
                 "Host1: $h1_fold",
                 $expunge,
                 $split1,
@@ -10419,18 +12020,22 @@
         return ;
 }
 
+
 sub delete_messages_on_any
 {
-        my( $mysync, $imap, $hostX_folder, $expunge, $split, @messages  ) = @_ ;
+        # $acc is not used yet,
+        #
+        my( $mysync, $acc, $imap, $hostX_folder, $expunge, $split, @messages  ) = @_ ;
         my $expunge_message = q{} ;
 
         my $dry_message = $mysync->{ dry_message } ;
         $expunge_message = 'and expunged' if ( $expunge ) ;
         # "Host1: msg "
 
-        $imap->Debug( 1 ) ;
+        # $imap->Debug( 1 ) ;
 
-        while ( my @messages_part = splice @messages, 0, $split )
+        my @messages_to_mark_deleted = @messages ;
+        while ( my @messages_part = splice @messages_to_mark_deleted, 0, $split )
         {
                 foreach my $message ( @messages_part )
                 {
@@ -10442,7 +12047,7 @@
                         if ( defined $nb_deleted )
                         {
                                 # $nb_deleted is not accurate
-                                $mysync->{ h1_nb_msg_deleted } += scalar @messages_part ;
+                                $acc->{ nb_msg_deleted } += scalar @messages_part ;
                         }
                         else
                         {
@@ -10458,7 +12063,7 @@
                 uidexpunge_or_expunge( $mysync, $imap, @messages ) ;
         }
 
-        $imap->Debug( 0 ) ;
+        #$imap->Debug( 0 ) ;
 
         return ;
 }
@@ -10547,13 +12152,13 @@
         $mysync->{ begin_transfer_time } = time ; # Now
         $mysync->{ h1_nb_msg_processed } = 0 ;
 
-        is( "ETA: " . localtime( time ) . "  0 s  0/0 msgs left",
+        is( "ETA: " . localtimez( time ) . "  0 s  0/0 msgs left",
                 eta( $mysync ),
                 'eta: no args => ETA: "Now"  0 s  0/0 msgs left' ) ;
 
         $mysync->{ h1_nb_msg_processed } = 1 ;
         $mysync->{ h1_nb_msg_start }     = 2 ;
-        is( "ETA: " . localtime( time ) . "  0 s  1/2 msgs left",
+        is( "ETA: " . localtimez( time ) . "  0 s  1/2 msgs left",
                 eta( $mysync ),
                 'eta: 1, 1, 2 => ETA: "Now"  0 s  1/2 msgs left' ) ;
 
@@ -10584,7 +12189,7 @@
         my $time_remaining = time_remaining( $time_spent, $h1_nb_processed, $h1_nb_msg_start, $nb_msg_transferred ) ;
         $mysync->{ debug } and myprint( "time_spent: $time_spent time_remaining: $time_remaining\n" ) ;
         my $nb_msg_remaining = $h1_nb_msg_start - $h1_nb_processed ;
-        my $eta_date = localtime( time + $time_remaining ) ;
+        my $eta_date = localtimez( time + $time_remaining ) ;
         return( mysprintf( 'ETA: %s  %1.0f s  %s/%s msgs left',
                 $eta_date, $time_remaining, $nb_msg_remaining, $h1_nb_msg_start ) ) ;
 }
@@ -11171,6 +12776,7 @@
 }
 
 
+
 sub tests_tmpdir_has_colon_bug
 {
 	note( 'Entering tests_tmpdir_has_colon_bug()' ) ;
@@ -11237,7 +12843,7 @@
                         myprint( "Old cache directory $cachedir_old still exists\n"  ) ;
                         $err++ ;
                 }else{
-                        myprint( "Old cache directory $cachedir_old successfuly moved\n"  ) ;
+                        myprint( "Old cache directory $cachedir_old successfully moved\n"  ) ;
                 }
         }
         return( not $err ) ;
@@ -11280,31 +12886,33 @@
 
 sub tests_filter_forbidden_characters
 {
-	note( 'Entering tests_filter_forbidden_characters()' ) ;
+        note( 'Entering tests_filter_forbidden_characters()' ) ;
 
-        ok( 'a_b' eq filter_forbidden_characters( 'a_b' ), 'filter_forbidden_characters: a_b -> a_b' ) ;
-        ok( 'a_b' eq filter_forbidden_characters( 'a*b' ), 'filter_forbidden_characters: a*b -> a_b' ) ;
-        ok( 'a_b' eq filter_forbidden_characters( 'a|b' ), 'filter_forbidden_characters: a|b -> a_b' ) ;
-        ok( 'a_b' eq filter_forbidden_characters( 'a?b' ), 'filter_forbidden_characters: a?b -> a_b' ) ;
-        ok( 'a_______b' eq filter_forbidden_characters( 'a*|?:"<>b' ), 'filter_forbidden_characters: a*|?:"<>b -> a_______b' ) ;
+        is( undef , filter_forbidden_characters(  ), 'filter_forbidden_characters: no args -> undef' ) ;
 
-        SKIP: {
-                skip( 'Not on MSWin32', 1 ) if ( 'MSWin32' eq $OSNAME ) ;
-                ok( ( 'a b ' eq filter_forbidden_characters( 'a b ' ) ), 'filter_forbidden_characters: "a b " -> "a b "' ) ;
-        } ;
+        is( 'a_b' , filter_forbidden_characters( 'a_b' ), 'filter_forbidden_characters: a_b -> a_b' ) ;
+        is( 'a_b' , filter_forbidden_characters( 'a*b' ), 'filter_forbidden_characters: a*b -> a_b' ) ;
+        is( 'a_b' , filter_forbidden_characters( 'a|b' ), 'filter_forbidden_characters: a|b -> a_b' ) ;
+        is( 'a_b' , filter_forbidden_characters( 'a?b' ), 'filter_forbidden_characters: a?b -> a_b' ) ;
+        is( 'a________b', filter_forbidden_characters( q{a*|?:"<>'b} ), q{filter_forbidden_characters: a*|?:"<>'b -> a________b} ) ;
 
-        SKIP: {
-                skip( 'Only on MSWin32', 2 ) if ( 'MSWin32' ne $OSNAME ) ;
-                ok( ( ' a b_' eq filter_forbidden_characters( ' a b ' ) ), 'filter_forbidden_characters: "a b " -> "a b_"' ) ;
-                ok( ( ' a b_/ c d_' eq filter_forbidden_characters( ' a b / c d ' ) ), 'filter_forbidden_characters: " a b / c d " -> "a b_/ c d_"' ) ;
-        } ;
 
-        ok( 'a_b' eq filter_forbidden_characters( "a\tb" ), 'filter_forbidden_characters: a\tb -> a_b' ) ;
-        ok( "a_b" eq filter_forbidden_characters( "a\rb" ), 'filter_forbidden_characters: a\rb -> a_b' ) ;
-        ok( "a_b" eq filter_forbidden_characters( "a\nb" ), 'filter_forbidden_characters: a\nb -> a_b' ) ;
-        ok( "a_b" eq filter_forbidden_characters( "a\\b" ), 'filter_forbidden_characters: a\b -> a_b' ) ;
+        is( 'a_b_' , filter_forbidden_characters( 'a b ' ), 'filter_forbidden_characters: "a b " -> "a_b_"' ) ;
 
-	note( 'Leaving  tests_filter_forbidden_characters()' ) ;
+
+        is( 'a_b' , filter_forbidden_characters( "a\tb" ), 'filter_forbidden_characters: a\tb -> a_b' ) ;
+        is( "a_b" , filter_forbidden_characters( "a\rb" ), 'filter_forbidden_characters: a\rb -> a_b' ) ;
+        is( "a_b" , filter_forbidden_characters( "a\nb" ), 'filter_forbidden_characters: a\nb -> a_b' ) ;
+        is( "a_b" , filter_forbidden_characters( "a\\b" ), 'filter_forbidden_characters: a\b -> a_b' ) ;
+
+        is( 'a-b' , filter_forbidden_characters( 'a-b' ), 'filter_forbidden_characters: a-b -> a-b' ) ;
+        is( 'a__-__-__-__-__b' , filter_forbidden_characters( 'aÃ©-Ã¨-Ã -Ã§-Ã–b' ), 'filter_forbidden_characters: aÃ©-Ã¨-Ã -Ã§-Ã–b -> a__-__-__-__-__b' ) ;
+
+        is( 'abcdABCDwxyzWXYZ012789' , filter_forbidden_characters( 'abcdABCDwxyzWXYZ012789' ),
+                'filter_forbidden_characters: abcdABCDwxyzWXYZ012789 -> abcdABCDwxyzWXYZ012789' ) ;
+
+
+        note( 'Leaving  tests_filter_forbidden_characters()' ) ;
         return ;
 }
 
@@ -11312,13 +12920,12 @@
 {
         my $string = shift ;
 
-	if ( ! defined $string ) { return ; }
+        if ( ! defined $string ) { return ; }
 
-        if ( 'MSWin32' eq $OSNAME ) {
-                # Move trailing whitespace to _ " a b /c d " -> " a b_/c d_"
-                $string =~ s{\ (/|$)}{_$1}xg ;
-        }
-        $string =~ s{[\Q*|?:"<>\E\t\r\n\\]}{_}xg ;
+        $string =~ s{[\Q*|?:"<>' \E\t\r\n\\]}{_}xg ;
+        # replace all non-ascii and control characters by _
+        $string =~ s/[[:^ascii:][:cntrl:]]/_/xg ;
+
         #myprint( "[$string]\n"  ) ;
         return( $string ) ;
 }
@@ -11351,58 +12958,58 @@
 
 sub tests_regexmess
 {
-	note( 'Entering tests_regexmess()' ) ;
+        note( 'Entering tests_regexmess()' ) ;
 
-        ok( 'blabla' eq regexmess( 'blabla' ), 'regexmess, no regexmess, nothing to do' ) ;
+        ok( 'blabla' eq regexmess( 'blabla' ), 'regexmess: no regexmess, nothing to do' ) ;
 
         @regexmess = ( 'lalala' ) ;
-        ok( not( defined regexmess( 'popopo' ) ), 'regexmess, bad regex lalala' ) ;
+        ok( not( defined regexmess( 'popopo' ) ), 'regexmess: bad regex lalala' ) ;
 
         @regexmess = ( 's/p/Z/g' ) ;
-        ok( 'ZoZoZo' eq regexmess( 'popopo' ), 'regexmess, s/p/Z/g' ) ;
+        ok( 'ZoZoZo' eq regexmess( 'popopo' ), 'regexmess: s/p/Z/g' ) ;
 
         @regexmess = ( 's{c}{C}gxms' ) ;
         ok("H1: abC\nH2: Cde\n\nBody abC"
                    eq regexmess( "H1: abc\nH2: cde\n\nBody abc"),
-           'regexmess, c->C');
+           'regexmess: c->C');
 
         @regexmess = ( 's{\AFrom\ }{From:}gxms' ) ;
         ok(          q{}
         eq regexmess(q{}),
-        'From mbox 1 add colon blank');
+        'regexmess: From mbox 1 add colon blank');
 
         ok(          'From:<tartanpion@machin.truc>'
         eq regexmess('From <tartanpion@machin.truc>'),
-        'From mbox 2 add colo');
+        'regexmess: From mbox 2 add colo');
 
         ok(          "\n" . 'From <tartanpion@machin.truc>'
         eq regexmess("\n" . 'From <tartanpion@machin.truc>'),
-        'From mbox 3 add colo') ;
+        'regexmess: From mbox 3 add colo') ;
 
         ok(          "From: zzz\n" . 'From <tartanpion@machin.truc>'
         eq regexmess("From  zzz\n" . 'From <tartanpion@machin.truc>'),
-        'From mbox 4 add colo') ;
+        'regexmess: From mbox 4 add colo') ;
 
         @regexmess = ( 's{\AFrom\ [^\n]*(\n)?}{}gxms' ) ;
         ok(          q{}
         eq regexmess(q{}),
-        'From mbox 1 remove, blank');
+        'regexmess: From mbox 1 remove, blank');
 
         ok(          q{}
         eq regexmess('From <tartanpion@machin.truc>'),
-        'From mbox 2 remove');
+        'regexmess: From mbox 2 remove');
 
         ok(          "\n" . 'From <tartanpion@machin.truc>'
         eq regexmess("\n" . 'From <tartanpion@machin.truc>'),
-        'From mbox 3 remove');
+        'regexmess: From mbox 3 remove');
 
         #myprint( "[", regexmess("From zzz\n" . 'From <tartanpion@machin.truc>'), "]" ) ;
         ok(          q{}            . 'From <tartanpion@machin.truc>'
         eq regexmess("From  zzz\n" . 'From <tartanpion@machin.truc>'),
-        'From mbox 4 remove');
+        'regexmess: From mbox 4 remove');
 
 
-        ok(
+        is(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11410,7 +13017,7 @@
 Hello,
 Bye.
 EOM
-        eq regexmess(
+        , regexmess(
 <<'EOM'
 From  zzz
 Date: Sat, 10 Jul 2010 05:34:45 -0700
@@ -11419,7 +13026,7 @@
 Hello,
 Bye.
 EOM
-), 'From mbox 5 remove');
+        ), 'regexmess: From mbox 5 remove');
 
 
 @regexmess = ( 's{\A((?:[^\n]+\n)+|)^Disposition-Notification-To:[^\n]*\n(\r?\n|.*\n\r?\n)}{$1$2}xms' ) ; # SUPER SUPER BEST!
@@ -11460,7 +13067,7 @@
 Hello,
 Bye.
 EOM
-),
+        ),
         'regexmess: 2 Delete header Disposition-Notification-To:');
 
         ok(
@@ -11480,7 +13087,7 @@
 Hello,
 Bye.
 EOM
-),
+        ),
         'regexmess: 3 Delete header Disposition-Notification-To:');
 
         ok(
@@ -11500,7 +13107,7 @@
 Disposition-Notification-To: Gilles LAMIRAL <gilles@lamiral.info>
 Bye.
 EOM
-),
+        ),
         'regexmess: 4 Delete header Disposition-Notification-To:');
 
 
@@ -11520,11 +13127,11 @@
 Disposition-Notification-To: Gilles LAMIRAL <gilles@lamiral.info>
 Bye.
 EOM
-),
+        ),
         'regexmess: 5 Delete header Disposition-Notification-To:');
 
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11542,10 +13149,10 @@
 Disposition-Notification-To: Gilles LAMIRAL <gilles@lamiral.info>
 Bye.
 EOM
-),
+        ),
         'regexmess: 6 Delete header Disposition-Notification-To:');
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11565,11 +13172,11 @@
 
 Bye.
 EOM
-),
+        ),
         'regexmess: 7 Delete header Disposition-Notification-To:');
 
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11589,7 +13196,7 @@
         'regexmess: 8 Delete header Disposition-Notification-To:');
 
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11607,12 +13214,12 @@
 Disposition-Notification-To: Gilles LAMIRAL <gilles@lamiral.info>
 Bye.
 EOM
-),
+        ),
         'regexmess: 9 Delete header Disposition-Notification-To:');
 
 
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11634,10 +13241,10 @@
 
 Bye.
 EOM
-),
+        ),
         'regexmess: 10 Delete header Disposition-Notification-To:');
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11662,7 +13269,7 @@
 ),
         'regexmess: 11 Delete header Disposition-Notification-To:');
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11688,15 +13295,15 @@
 
 Bye.
 EOM
-),
+        ),
         'regexmess: 12 Delete header Disposition-Notification-To:');
 
 
-@regexmess = ( 's{\A(.*?(?! ^$))^Disposition-Notification-To:(.*?)$}{$1X-Disposition-Notification-To:$2}igxms' ) ; # BAD!
-@regexmess = ( 's{\A((?:[^\n]+\n)+|)(^Disposition-Notification-To:[^\n]*\n)(\r?\n|.*\n\r?\n)}{$1X-$2$3}ims' ) ;
+        @regexmess = ( 's{\A(.*?(?! ^$))^Disposition-Notification-To:(.*?)$}{$1X-Disposition-Notification-To:$2}igxms' ) ; # BAD!
+        @regexmess = ( 's{\A((?:[^\n]+\n)+|)(^Disposition-Notification-To:[^\n]*\n)(\r?\n|.*\n\r?\n)}{$1X-$2$3}ims' ) ;
 
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11722,10 +13329,10 @@
 
 Bye.
 EOM
-),
+        ),
         'regexmess: 13 Delete header Disposition-Notification-To:');
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 X-Disposition-Notification-To: Gilles LAMIRAL <gilles@lamiral.info>
@@ -11753,10 +13360,10 @@
 
 Bye.
 EOM
-),
+        ),
         'regexmess: 14 Delete header Disposition-Notification-To:');
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 X-Disposition-Notification-To: Gilles LAMIRAL <gilles@lamiral.info>
@@ -11776,11 +13383,11 @@
 
 Bye.
 EOM
-),
+        ),
         'regexmess: 15 Delete header Disposition-Notification-To:');
 
 
-ok(
+        ok(
 <<'EOM'
 Date: Sat, 10 Jul 2010 05:34:45 -0700
 From:<tartanpion@machin.truc>
@@ -11800,10 +13407,10 @@
 
 Bye.
 EOM
-),
+        ),
         'regexmess: 16 Delete header Disposition-Notification-To:');
 
-ok(
+        ok(
 <<'EOM'
 X-Disposition-Notification-To: Gilles LAMIRAL <gilles@lamiral.info>
 Date: Sat, 10 Jul 2010 05:34:45 -0700
@@ -11827,15 +13434,15 @@
         'regexmess: 17 Delete header Disposition-Notification-To:');
 
         @regexmess = ( 's/.{11}\K.*//gs' ) ;
-        is( "0123456789\n", regexmess( "0123456789\n" x 100 ), 'regexmess, truncate whole message after 11 characters' ) ;
-        is( "0123456789\n", regexmess( "0123456789\n" x 100_000 ), 'regexmess, truncate whole message after 11 characters ~ 1MB' ) ;
+        is( "0123456789\n", regexmess( "0123456789\n" x 100 ), 'regexmess: truncate whole message after 11 characters' ) ;
+        is( "0123456789\n", regexmess( "0123456789\n" x 100_000 ), 'regexmess: truncate whole message after 11 characters ~ 1MB' ) ;
 
         @regexmess = ( 's/.{10000}\K.*//gs' ) ;
-        is( "123456789\n" x 1000, regexmess( "123456789\n" x 100_000 ), 'regexmess, truncate whole message after 10000 characters ~ 1MB' ) ;
+        is( "123456789\n" x 1000, regexmess( "123456789\n" x 100_000 ), 'regexmess: truncate whole message after 10000 characters ~ 1MB' ) ;
 
-@regexmess = ( 's/^(X-Ham-Report.*?\n)^X-/X-/sm' ) ;
+        @regexmess = ( 's/^(X-Ham-Report.*?\n)^X-/X-/sm' ) ;
 
-is(
+        is(
 <<'EOM'
 X-Spam-Score: -1
 X-Spam-Bar: /
@@ -11848,7 +13455,7 @@
 Bye.
 EOM
 ,
-regexmess(
+        regexmess(
 <<'EOM'
 X-Spam-Score: -1
 X-Spam-Bar: /
@@ -11868,20 +13475,247 @@
 
 Bye.
 EOM
-),
-        'regexmess: 1 Delete header X-Ham-Report:');
+        ),
+        'regexmess: Delete header X-Ham-Report:');
 
 
 # regex to play with Date: from the FAQ
 #@regexmess = 's{\A(.*?(?! ^$))^Date:(.*?)$}{$1Date:$2\nX-Date:$2}gxms'
 
 
+# Change 8bit characters in whole email to X characters
+        @regexmess = ( 's{[\x80-\xff]}{X}gxms' ) ;
+        is( 'X-8bit: kaka 1 XX kiki', regexmess('X-8bit: kaka 1 Â¤ kiki'), 'regexmess: 1 Change 8bit characters in whole email to X characters');
+
+# Same change but using tr
+        @regexmess = ( 'tr [\x80-\xff] [X]' ) ;
+        is( 'X-8bit: kaka 1 XXXX kiki', regexmess('X-8bit: kaka 1 Â¤Â£ kiki'), 'regexmess: 2 Change 8bit characters in whole email to X characters, using tr');
 
 
 
-	note( 'Leaving  tests_regexmess()' ) ;
-	return ;
+# Add a final \r\n if missing
+        @regexmess = ( 's{(?<![\n])\z}{\r\n}gxms' ) ;
+        is( "\r\n", regexmess(""),       'regexmess: 1. Add a final \r\n if missing. Missing' ) ;
+        is( "abc\r\n", regexmess("abc"), 'regexmess: 2. Add a final \r\n if missing. Missing' ) ;
+        is( "abc\ndef\r\n", regexmess("abc\ndef"), 'regexmess: 3. Add a final \r\n if missing. Missing' ) ;
+        is( "abc\r\ndef\r\n", regexmess("abc\r\ndef"), 'regexmess: 3. Add a final \r\n if missing. Missing' ) ;
 
+        is( "\r\n", regexmess("\r\n"),   'regexmess: 3. Add a final \r\n if missing. Not missing' ) ;
+        is( "abc\n", regexmess("abc\n"), 'regexmess: 4. Add a final \r\n if missing. Not missing' ) ;
+        is( "abc\r\n", regexmess("abc\r\n"), 'regexmess: 4. Add a final \r\n if missing. Not missing' ) ;
+        is( "abc\ndef\n", regexmess("abc\ndef\n"), 'regexmess: 4. Add a final \r\n if missing. Not missing' ) ;
+        is( "abc\r\ndef\r\n", regexmess("abc\r\ndef\r\n"), 'regexmess: 4. Add a final \r\n if missing. Not missing' ) ;
+
+# Remove the fucking buggy X-Spam-Report: a bad header on several lines that can even begin without a space!
+
+        @regexmess = ( 's{X-Spam-Report:.*?\n(^[^\n]+:|^\r?\n)}{$1}xms' ) ;
+        # Damien regexes:
+        #@regexmess = ( 's{X-Spam-Report:.*?\n(^[a-zA-Z0-9\-]+:)}{$1}xms' ) ;
+        #@regexmess = ( 's{X-Spam-Report:.*?\n(^[a-zA-Z0-9\-]+:|^\r?\n)}{$1}xms' ) ;
+
+        is(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+LaSuite: super
+
+Hello,
+Bye.
+EOM
+        , regexmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+X-Spam-Report: caca
+caca
+  caca
+caca
+LaSuite: super
+
+Hello,
+Bye.
+EOM
+        ), 'regexmess: 1 remove buggy X-Spam-Report: across several lines, not the final header');
+
+
+        is(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+LaSuite: super
+LaSuite2: super 2
+
+Hello,
+Bye.
+EOM
+        , regexmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+X-Spam-Report: caca
+caca
+  caca
+caca
+LaSuite: super
+LaSuite2: super 2
+
+Hello,
+Bye.
+EOM
+        ), 'regexmess: 2 remove buggy X-Spam-Report: across several lines, not the final header');
+
+
+        is(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+LaSuite: super
+LaSuite2: super 2
+
+Hello,
+Bye.
+EOM
+        , regexmess(
+<<'EOM'
+X-Spam-Report: caca
+caca
+  caca
+caca
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+LaSuite: super
+LaSuite2: super 2
+
+Hello,
+Bye.
+EOM
+        ), 'regexmess: 3 remove buggy X-Spam-Report: across several lines, first header');
+
+
+
+
+        is(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+
+Hello,
+Bye.
+EOM
+        , regexmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+X-Spam-Report: caca
+caca
+  caca
+caca
+
+Hello,
+Bye.
+EOM
+        ), 'regexmess: 4 remove buggy X-Spam-Report: across several lines, final header');
+
+
+        is(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+
+Hello,
+Bye.
+EOM
+        , regexmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From:<tartanpion@machin.truc>
+
+Hello,
+Bye.
+EOM
+        ), 'regexmess: 5 remove buggy X-Spam-Report: not there at all');
+
+
+        is(
+<<"EOM"
+Date: Sat, 10 Jul 2010 05:34:45 -0700\r
+From:<tartanpion>\r
+LaSuite: super\r
+LaSuite2: super 2\r
+\r
+Hello,\r
+Bye.\r
+EOM
+        , regexmess(
+<<"EOM"
+X-Spam-Report: caca\r
+caca\r
+  caca\r
+caca\r
+Date: Sat, 10 Jul 2010 05:34:45 -0700\r
+From:<tartanpion>\r
+LaSuite: super\r
+LaSuite2: super 2\r
+\r
+Hello,\r
+Bye.\r
+EOM
+        ), 'regexmess: 6 remove buggy X-Spam-Report: across several lines, first header, with \r');
+
+
+        is(
+<<"EOM"
+Date: Sat, 10 Jul 2010 05:34:45 -0700\r
+From:<tartanpion>\r
+LaSuite: super\r
+LaSuite2: super 2\r
+\r
+Hello,\r
+Bye.\r
+EOM
+        , regexmess(
+<<"EOM"
+Date: Sat, 10 Jul 2010 05:34:45 -0700\r
+From:<tartanpion>\r
+X-Spam-Report: caca\r
+caca\r
+  caca\r
+caca\r
+LaSuite: super\r
+LaSuite2: super 2\r
+\r
+Hello,\r
+Bye.\r
+EOM
+        ), 'regexmess: 7 remove buggy X-Spam-Report: across several lines, middle header, with \r');
+
+
+        is(
+<<"EOM"
+Date: Sat, 10 Jul 2010 05:34:45 -0700\r
+From:<tartanpion>\r
+\r
+Hello,\r
+Bye.\r
+EOM
+        , regexmess(
+<<"EOM"
+Date: Sat, 10 Jul 2010 05:34:45 -0700\r
+From:<tartanpion>\r
+X-Spam-Report: caca\r
+caca\r
+  caca\r
+caca\r
+\r
+Hello,\r
+Bye.\r
+EOM
+        ), 'regexmess: 8 remove buggy X-Spam-Report: across several lines, final header, with \r');
+
+
+        undef @regexmess ;
+        note( 'Leaving  tests_regexmess()' ) ;
+        return ;
 }
 
 sub regexmess
@@ -12119,10 +13953,83 @@
         # Complex regular subexpression recursion limit (32766) exceeded with more lines
         # exit;
 
-	note( 'Leaving  tests_skipmess()' ) ;
+
+        undef @skipmess ;
+        note( 'Leaving  tests_skipmess()' ) ;
         return ;
 }
 
+
+sub tests_skipmess_neg
+{
+        note( 'Entering tests_skipmess_neg()' ) ;
+
+
+        @skipmess = ('m{i}') ;
+        ok( 1 == skipmess( 'Hi!' ), 'skipmess: i string yes' ) ;
+        ok( 0 == skipmess( 'Ho!' ), 'skipmess: i string no' ) ;
+
+        @skipmess = ('m{\A(?!.*i)}') ;
+        ok( 0 == skipmess( 'Hi!' ), 'skipmess: not i string no' ) ;
+        ok( 1 == skipmess( 'Ho!' ), 'skipmess: not i string yes' ) ;
+
+
+        @skipmess = ('m{\A(?!.*^From:[^\n]*tartanpion\@machin\.truc)}xms') ;
+
+        ok( 0 == skipmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From: <tartanpion@machin.truc>
+
+Bye.
+EOM
+),
+    'skipmess: 1 not From tartanpion@machin.truc' ) ;
+
+ok( 1 == skipmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From: <kikiki@machin.truc>
+
+Bye.
+EOM
+),
+    'skipmess: 2 not From tartanpion@machin.truc' ) ;
+
+
+
+
+        ok( 0 == skipmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From: <tartanpion@machin.truc>
+
+  From: <tartanpion@machin.truc>
+Bye.
+EOM
+),
+    'skipmess: 3 not From tartanpion@machin.truc' ) ;
+
+ok( 1 == skipmess(
+<<'EOM'
+Date: Sat, 10 Jul 2010 05:34:45 -0700
+From: <kikiki@machin.truc>
+
+  From: <tartanpion@machin.truc>
+Bye.
+EOM
+),
+    'skipmess: 4 not From tartanpion@machin.truc' ) ;
+
+
+
+
+        undef @skipmess ;
+        note( 'Leaving  tests_skipmess_neg()' ) ;
+        return ;
+}
+
+
 sub skipmess
 {
         my ( $string ) = @_ ;
@@ -12154,25 +14061,25 @@
         is(    'NA', bytes_display_string( undef ), 'bytes_display_string: undef   => NA' ) ;
         is(    'NA', bytes_display_string( 'blabla' ), 'bytes_display_string: blabla   => NA' ) ;
 
-        ok(    '0.000 KiB' eq bytes_display_string(       0 ), 'bytes_display_string:       0' ) ;
-        ok(    '0.001 KiB' eq bytes_display_string(       1 ), 'bytes_display_string:       1' ) ;
-        ok(    '0.010 KiB' eq bytes_display_string(      10 ), 'bytes_display_string:      10' ) ;
-        ok(    '1.000 MiB' eq bytes_display_string( 1_048_575 ), 'bytes_display_string: 1_048_575' ) ;
-        ok(    '1.000 MiB' eq bytes_display_string( 1_048_576 ), 'bytes_display_string: 1_048_576' ) ;
+        is(    '0.000 KiB', bytes_display_string(       0 ), 'bytes_display_string:       0' ) ;
+        is(    '0.001 KiB', bytes_display_string(       1 ), 'bytes_display_string:       1' ) ;
+        is(    '0.010 KiB', bytes_display_string(      10 ), 'bytes_display_string:      10' ) ;
+        is(    '1.000 MiB', bytes_display_string( 1_048_575 ), 'bytes_display_string: 1_048_575' ) ;
+        is(    '1.000 MiB', bytes_display_string( 1_048_576 ), 'bytes_display_string: 1_048_576' ) ;
 
-        ok(    '1.000 GiB' eq bytes_display_string( 1_073_741_823 ), 'bytes_display_string: 1_073_741_823 ' ) ;
-        ok(    '1.000 GiB' eq bytes_display_string( 1_073_741_824 ), 'bytes_display_string: 1_073_741_824 ' ) ;
+        is(    '1.000 GiB', bytes_display_string( 1_073_741_823 ), 'bytes_display_string: 1_073_741_823 ' ) ;
+        is(    '1.000 GiB', bytes_display_string( 1_073_741_824 ), 'bytes_display_string: 1_073_741_824 ' ) ;
 
-        ok(    '1.000 TiB' eq bytes_display_string( 1_099_511_627_775 ), 'bytes_display_string: 1_099_511_627_775' ) ;
-        ok(    '1.000 TiB' eq bytes_display_string( 1_099_511_627_776 ), 'bytes_display_string: 1_099_511_627_776' ) ;
+        is(    '1.000 TiB', bytes_display_string( 1_099_511_627_775 ), 'bytes_display_string: 1_099_511_627_775' ) ;
+        is(    '1.000 TiB', bytes_display_string( 1_099_511_627_776 ), 'bytes_display_string: 1_099_511_627_776' ) ;
 
-        ok(    '1.000 PiB' eq bytes_display_string( 1_125_899_906_842_623 ), 'bytes_display_string: 1_125_899_906_842_623' ) ;
-        ok(    '1.000 PiB' eq bytes_display_string( 1_125_899_906_842_624 ), 'bytes_display_string: 1_125_899_906_842_624' ) ;
+        is(    '1.000 PiB', bytes_display_string( 1_125_899_906_842_623 ), 'bytes_display_string: 1_125_899_906_842_623' ) ;
+        is(    '1.000 PiB', bytes_display_string( 1_125_899_906_842_624 ), 'bytes_display_string: 1_125_899_906_842_624' ) ;
 
-        ok( '1024.000 PiB' eq bytes_display_string( 1_152_921_504_606_846_975 ), 'bytes_display_string: 1_152_921_504_606_846_975' ) ;
-        ok( '1024.000 PiB' eq bytes_display_string( 1_152_921_504_606_846_976 ), 'bytes_display_string: 1_152_921_504_606_846_976' ) ;
+        is( '1024.000 PiB', bytes_display_string( 1_152_921_504_606_846_975 ), 'bytes_display_string: 1_152_921_504_606_846_975' ) ;
+        is( '1024.000 PiB', bytes_display_string( 1_152_921_504_606_846_976 ), 'bytes_display_string: 1_152_921_504_606_846_976' ) ;
 
-        ok( '1048576.000 PiB' eq bytes_display_string( 1_180_591_620_717_411_303_424 ), 'bytes_display_string: 1_180_591_620_717_411_303_424' ) ;
+        is( '1048576.000 PiB', bytes_display_string( 1_180_591_620_717_411_303_424 ), 'bytes_display_string: 1_180_591_620_717_411_303_424' ) ;
 
         #myprint(  bytes_display_string( 1_180_591_620_717_411_303_424 ), "\n" ) ;
 	note( 'Leaving  tests_bytes_display_string()' ) ;
@@ -12257,27 +14164,31 @@
         return ;
 }
 
-sub stats
+sub do_and_print_stats
 {
         my $mysync = shift ;
 
-        if ( ! $mysync->{stats} ) {
+        if ( ! $mysync->{can_do_stats} ) {
                 return ;
         }
 
         my $timeend = time ;
         my $timediff = $timeend - $mysync->{timestart} ;
 
-        my $timeend_str   = localtime $timeend ;
+        my $timeend_str   = localtimez( $timeend ) ;
+
+        my $cpu_time = cpu_time( $mysync ) ;
+        my $cpu_percent = cpu_percent( $mysync, $cpu_time, $timediff ) ;
+        my $cpu_percent_global = cpu_percent_global( $mysync, $cpu_percent ) ;
 
         my $memory_consumption_at_end = memory_consumption(  ) || 0 ;
         my $memory_consumption_at_start = $mysync->{ memory_consumption_at_start } || 0 ;
-        my $memory_ratio = ($max_msg_size_in_bytes) ?
-                mysprintf('%.1f', $memory_consumption_at_end / $max_msg_size_in_bytes) : 'NA' ;
+        my $memory_ratio = ( $mysync->{ biggest_message_transferred } ) ?
+                mysprintf( '%.1f', $memory_consumption_at_end / $mysync->{ biggest_message_transferred } ) : 'NA' ;
 
         # my $useheader_suggestion = useheader_suggestion( $mysync ) ;
         myprint(  "++++ Statistics\n" ) ;
-        myprint(  "Transfer started on                     : $timestart_str\n" ) ;
+        myprint(  "Transfer started on                     : $mysync->{ timestart_str }\n" ) ;
         myprint(  "Transfer ended on                       : $timeend_str\n" ) ;
         myprintf( "Transfer time                           : %.1f sec\n", $timediff ) ;
         myprint(  "Folders synced                          : $h1_folders_wanted_ct/$h1_folders_wanted_nb synced\n" ) ;
@@ -12285,8 +14196,8 @@
         myprint(  "(could be $nb_msg_skipped_dry_mode without dry mode)" ) if ( $mysync->{dry} ) ;
         myprint(  "\n" ) ;
         myprint(  "Messages skipped                        : $mysync->{ nb_msg_skipped }\n" ) ;
-        myprint(  "Messages found duplicate on host1       : $h1_nb_msg_duplicate\n" ) ;
-        myprint(  "Messages found duplicate on host2       : $h2_nb_msg_duplicate\n" ) ;
+        myprint(  "Messages found duplicate on host1       : $mysync->{ acc1 }->{ nb_msg_duplicate }\n" ) ;
+        myprint(  "Messages found duplicate on host2       : $mysync->{ acc2 }->{ nb_msg_duplicate }\n" ) ;
         myprint(  "Messages found crossduplicate on host2  : $mysync->{ h2_nb_msg_crossdup }\n" ) ;
         myprint(  "Messages void (noheader) on host1       : $mysync->{ h1_nb_msg_noheader }  ", useheader_suggestion( $mysync ), "\n" ) ;
         myprint(  "Messages void (noheader) on host2       : $h2_nb_msg_noheader\n" ) ;
@@ -12294,8 +14205,8 @@
         nb_messages_in_2_not_in_1( $mysync ) ;
         myprintf( "Messages found in host1 not in host2    : %s messages\n", $mysync->{ nb_messages_in_1_not_in_2 } ) ;
         myprintf( "Messages found in host2 not in host1    : %s messages\n", $mysync->{ nb_messages_in_2_not_in_1 } ) ;
-        myprint(  "Messages deleted on host1               : $mysync->{ h1_nb_msg_deleted }\n" ) ;
-        myprint(  "Messages deleted on host2               : $h2_nb_msg_deleted\n" ) ;
+        myprint(  "Messages deleted on host1               : $mysync->{ acc1 }->{ nb_msg_deleted }\n" ) ;
+        myprint(  "Messages deleted on host2               : $mysync->{ acc2 }->{ nb_msg_deleted }\n" ) ;
         myprintf( "Total bytes transferred                 : %s (%s)\n",
                 $mysync->{total_bytes_transferred},
                 bytes_display_string( $mysync->{total_bytes_transferred} ) ) ;
@@ -12311,10 +14222,10 @@
                  $memory_consumption_at_end / $KIBI / $KIBI,
                  $memory_consumption_at_start / $KIBI / $KIBI ) ;
         myprint( "Load end is                             : " . ( join( q{ }, loadavg(  ) ) || 'unknown' ), " on $mysync->{cpu_number} cores\n" ) ;
-
-        myprintf("Biggest message                         : %s bytes (%s)\n",
-                $max_msg_size_in_bytes,
-                bytes_display_string( $max_msg_size_in_bytes) ) ;
+        myprint( "CPU time and %cpu                       : $cpu_time sec $cpu_percent %cpu $cpu_percent_global %allcpus\n" ) ;
+        myprintf("Biggest message transferred             : %s bytes (%s)\n",
+                $mysync->{ biggest_message_transferred },
+                bytes_display_string( $mysync->{ biggest_message_transferred } ) ) ;
         myprint(  "Memory/biggest message ratio            : $memory_ratio\n" ) ;
         if ( $mysync->{ foldersizesatend } and $mysync->{ foldersizes } ) {
 
@@ -12440,7 +14351,7 @@
 }
 
 
-
+# Globals: $skipsize $wholeheaderifneeded
 sub parse_header_msg
 {
         my ( $mysync, $imap, $m_uid, $s_heads, $s_fir, $side, $s_hash ) = @_ ;
@@ -12463,9 +14374,7 @@
 
         #myprint( Data::Dumper->Dump( [ $head, \%useheader ] )  ) ;
 
-        my $headstr ;
-
-        $headstr = header_construct( $head, $side, $m_uid ) ;
+        my $headstr = header_construct( $mysync, $head, $side, $m_uid ) ;
 
         if ( ( ! $headstr ) and ( $mysync->{addheader} ) and ( $side eq 'Host1' ) ) {
                 my $header = add_header( $m_uid ) ;
@@ -12481,49 +14390,124 @@
         my $idate = $s_fir->{$m_uid}->{'INTERNALDATE'} ;
         $size = length $headstr  unless ( $size ) ;
         my $m_md5 = md5_base64( $headstr ) ;
-        $mysync->{ debug } and myprint( "$side: uid $m_uid sig $m_md5 size $size idate $idate\n" ) ;
+
         my $key ;
-        if ($skipsize) {
+        if ( $skipsize ) {
                 $key = "$m_md5";
         }
         else {
                 $key = "$m_md5:$size";
         }
-        # 0 return code is used to identify duplicate message hash
-        return 0 if exists $s_hash->{"$key"};
-        $s_hash->{"$key"}{'5'} = $m_md5;
-        $s_hash->{"$key"}{'s'} = $size;
-        $s_hash->{"$key"}{'D'} = $idate;
-        $s_hash->{"$key"}{'F'} = $flags;
-        $s_hash->{"$key"}{'m'} = $m_uid;
 
-        return( 1 ) ;
+        if ( exists $s_hash->{"$key"} )
+        {
+                # 0 return code is used to identify duplicate message hash
+                my $dup_ref = $s_hash->{"$key"}->{'U'} ;
+                my $num = scalar( @{ $dup_ref } ) ;
+                push( @{ $dup_ref }, $m_uid ) ;
+                my $keydup = "$key#$num" ;
+                $mysync->{ debug } and myprint( "$side: uid $m_uid sig $keydup size $size idate $idate dup @{ $dup_ref }\n" ) ;
+                if ( $mysync->{ syncduplicates } )
+                {
+                        $s_hash->{"$keydup"}{'5'} = $m_md5 ;
+                        $s_hash->{"$keydup"}{'s'} = $size ;
+                        $s_hash->{"$keydup"}{'D'} = $idate ;
+                        $s_hash->{"$keydup"}{'F'} = $flags ;
+                        $s_hash->{"$keydup"}{'m'} = $m_uid ;
+                }
+                return 0 ;
+        }
+        else
+        {
+                $s_hash->{"$key"}{'5'} = $m_md5 ;
+                $s_hash->{"$key"}{'s'} = $size ;
+                $s_hash->{"$key"}{'D'} = $idate ;
+                $s_hash->{"$key"}{'F'} = $flags ;
+                $s_hash->{"$key"}{'m'} = $m_uid ;
+                $s_hash->{"$key"}{'U'} = [ $m_uid ] ; # ? or [  ] ?
+                $mysync->{ debug } and myprint( "$side: uid $m_uid sig $key size $size idate $idate\n" ) ;
+                return( 1 ) ;
+        }
+
+        # we should not be here
+        return ;
 }
 
+sub tests_header_construct
+{
+        note( 'Entering tests_header_construct()' ) ;
+
+        is( undef, header_construct(  ),  'header_construct: no args => undef' ) ;
+        my $mysync = {} ;
+        my $head = {
+                'key1' => [ 'val1_key1' ]
+        } ;
+        is( undef, header_construct( $mysync, $head, 'Host1', '1' ),  'header_construct: key1 val1_key1 no useheader => undef' ) ;
+
+        $mysync->{useheader}->{ 'KEY1'  } = 1 ;
+        is( 'KEY1: VAL1_KEY1', header_construct( $mysync, $head, 'Host1', '1' ),  'header_construct: key1 val1_key1 => KEY1: VAL1_KEY1' ) ;
+
+
+
+        $head = {
+                'key1' => [ 'val1_key1', 'val3_key1', 'val2_key1' ]
+        } ;
+        is( 'KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1', header_construct( $mysync, $head, 'Host1', '1' ),
+        'header_construct: key1 val1_key1 val3_key1 val2_key1                => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1' ) ;
+
+        $head = {
+                'key1' => [ 'val1_key1', 'val3_key1', ' val2_key1' ]
+        } ;
+        is( 'KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1', header_construct( $mysync, $head, 'Host1', '1' ),
+        'header_construct: key1 val1_key1 val3_key1  val2_key1               => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1' ) ;
+
+        $mysync->{useheader}->{ 'ALL'  } = 1 ;
+
+        is( 'KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1', header_construct( $mysync, $head, 'Host1', '1' ),
+        'header_construct: key1 val1_key1 val3_key1  val2_key1 useheader ALL => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1' ) ;
+
+        $mysync->{skipheader} = 'key1' ;
+        is( undef, header_construct( $mysync, $head, 'Host1', '1' ),
+        'header_construct: key1 val1_key1 val3_key1  val2_key1 useheader ALL => undef' ) ;
+
+        $head = {
+                'key1' => [ 'val1_key1', 'val3_key1', ' val2_key1' ],
+                'key2' => [ 'val1_key2', 'val3_key2', ' val2_key2' ]
+        } ;
+        is( 'KEY2: VAL1_KEY2KEY2: VAL2_KEY2KEY2: VAL3_KEY2', header_construct( $mysync, $head, 'Host1', '1' ),
+        'header_construct: ... useheader ALL skipheader key1 => KEY2: VAL1_KEY2KEY2: VAL2_KEY2KEY2: VAL3_KEY2' ) ;
+
+
+        note( 'Leaving  tests_header_construct()' ) ;
+        return ;
+}
+
+
+# No global in header_construct
 sub header_construct
 {
+        my( $mysync, $head, $side, $m_uid ) = @_ ;
 
-        my( $head, $side, $m_uid ) = @_ ;
-
-        my $headstr ;
+        my @headstr ;
         foreach my $h ( sort keys  %{ $head }  ) {
-                next if ( not ( exists $useheader{ uc  $h  } )
-                      and ( not exists  $useheader{ 'ALL' } )
+                next if ( not ( exists $mysync->{useheader}->{ uc  $h  } )
+                      and ( not exists $mysync->{useheader}->{ 'ALL' } )
                 ) ;
-                foreach my $val ( sort @{$head->{$h}} ) {
+                foreach my $val ( @{$head->{$h}} ) {
 
                         my $H = header_line_normalize( $h, $val ) ;
 
                         # show stuff in debug mode
-                        $sync->{ debug } and myprint( "$side uid $m_uid header [$H]", "\n" ) ;
+                        $mysync->{ debug } and myprint( "$side uid $m_uid header [$H]", "\n" ) ;
 
-                        if ($skipheader and $H =~ m/$skipheader/xi) {
-                                $sync->{ debug } and myprint( "$side uid $m_uid skipping header [$H]\n" ) ;
+                        if ( $mysync->{skipheader} and $H =~ m/$mysync->{skipheader}/xi) {
+                                $mysync->{ debug } and myprint( "$side uid $m_uid skipping header [$H]\n" ) ;
                                 next ;
                         }
-                        $headstr .= "$H" ;
+                        push @headstr, $H ;
                 }
         }
+        my $headstr = join( '', sort @headstr ) || undef ;
         return( $headstr ) ;
 }
 
@@ -12655,7 +14639,6 @@
         is( q{}, nthline( 'W/tmp/tests/noexist.txt', 2 ), 'nthline: 2nd getting empty string from inexisting W/tmp/tests/noexist.txt' ) ;
 
         ok( (-d 'W/tmp/tests/' or  mkpath( 'W/tmp/tests/' ) ), 'nthline: mkpath W/tmp/tests/' ) ;
-
         is( "L1\nL2\nL3\nL4\n" , string_to_file( "L1\nL2\nL3\nL4\n", 'W/tmp/tests/nthline.txt' ), 'nthline: put L1\nL2\nL3\nL4\n in W/tmp/tests/nthline.txt' ) ;
         is( 'L3' , nthline( 'W/tmp/tests/nthline.txt', 3 ), 'nthline: get L3 from W/tmp/tests/nthline.txt' ) ;
 
@@ -12689,21 +14672,44 @@
         }
 }
 
+sub tests_file_to_array
+{
+        note( 'Entering tests_file_to_array()' ) ;
 
-# Should be unit tested and then be used by file_to_string, refactoring file_to_string
+        is( undef, file_to_array(  ),           'file_to_array: no args => undef' ) ;
+	is( undef, file_to_array( '/noexist' ), 'file_to_array: /noexist => undef' ) ;
+	is( undef, file_to_array( '/' ),        'file_to_array: reading a directory => undef' ) ;
+
+        ok( (-d 'W/tmp/tests/' or  mkpath( 'W/tmp/tests/' ) ), 'file_to_array: mkpath W/tmp/tests/' ) ;
+        is( "L1\nL2\nL3\nL4\n" , string_to_file( "L1\nL2\nL3\nL4\n", 'W/tmp/tests/file_to_array.txt' ), 'file_to_array: put L1\nL2\nL3\nL4\n in W/tmp/tests/file_to_array.txt' ) ;
+        is_deeply( [ "L1\n", "L2\n", "L3\n", "L4\n" ] , [ file_to_array( 'W/tmp/tests/file_to_array.txt' ) ], 'file_to_array: get back L1\n L2\n L3\n L4\n from W/tmp/tests/file_to_array.txt' ) ;
+
+        note( 'Leaving  tests_file_to_array()' ) ;
+        return ;
+}
+
 sub file_to_array
 {
 
         my( $file ) = shift ;
+	if ( ! $file )    { return ; }
+	if ( ! -e $file ) { return ; }
+	if ( ! -f $file ) { return ; }
+	if ( ! -r $file ) { return ; }
+        
         my @string ;
 
-        open my $FILE, '<', $file or do {
+        if ( open my $FILE, '<', $file )
+        {
+                @string = <$FILE> ;
+                close $FILE ;
+                return( @string ) ;
+        }
+        else
+        {
 		myprint( "Error reading file $file : $OS_ERROR\n" ) ;
 		return ;
-	} ;
-        @string = <$FILE> ;
-        close $FILE ;
-        return( @string ) ;
+	}
 }
 
 
@@ -12735,15 +14741,8 @@
 	if ( ! -e $file ) { return ; }
 	if ( ! -f $file ) { return ; }
 	if ( ! -r $file ) { return ; }
-        my @string ;
-        if ( open my $FILE, '<', $file ) {
-		@string = <$FILE> ;
-		close $FILE ;
-		return( join q{}, @string ) ;
-	}else{
-		myprint( "Error reading file $file : $OS_ERROR\n" ) ;
-		return ;
-	}
+        
+        return( join q{}, file_to_array( $file ) ) ;
 }
 
 
@@ -13157,7 +15156,7 @@
 {
 	note( 'Entering tests_version_from_rcs()' ) ;
 
-	is( undef, version_from_rcs(  ), 'version_from_rcs: no args => UNKNOWN' ) ;
+	is( undef, version_from_rcs(  ), 'version_from_rcs: no args => undef' ) ;
 	is( 1.831, version_from_rcs( q{imapsync,v 1.831 2017/08/27} ), 'version_from_rcs: imapsync,v 1.831 2017/08/27 => 1.831' ) ;
 	is( 'UNKNOWN', version_from_rcs( 1.831 ), 'version_from_rcs:  1.831  => UNKNOWN' ) ;
 
@@ -13221,47 +15220,104 @@
 {
 	note( 'Entering tests_cpu_number()' ) ;
 
-        is( 1, is_an_integer( cpu_number(  ) ), "cpu_number: is_an_integer" ) ;
+        is( 1, is_integer( cpu_number(  ) ), "cpu_number: is_integer" ) ;
 	ok( 1 <= cpu_number(  ), "cpu_number: 1 or more" ) ;
         is( 1, cpu_number( 1 ), "cpu_number: 1 => 1" ) ;
         is( 1, cpu_number( $MINUS_ONE ), "cpu_number: -1 => 1" ) ;
         is( 1, cpu_number( 'lalala' ), "cpu_number: lalala => 1" ) ;
         is( $NUMBER_42, cpu_number( $NUMBER_42 ), "cpu_number: $NUMBER_42 => $NUMBER_42" ) ;
+
+        note( "cpu_number = " . cpu_number(  ) . "\n" ) ;
+        note( "hostname   = " . hostname(  ) . "\n" ) ;
+        SKIP: {
+                if ( ! ( 'i005' eq hostname() ) )
+                {
+                        skip( 'cpu_number on host != i005 (FreeBSD)', 1  ) ;
+                }
+                is( 4, cpu_number(  ), "cpu_number: on i005 (FreeBSD) => 4" ) ;
+        } ;
+ 
+        SKIP: {
+                if ( ! ( 'petite' eq hostname() ) )
+                {
+                        skip( 'cpu_number on host != petite (Linux)', 1  ) ;
+                }
+                is( 2, cpu_number(  ), "cpu_number: on petite (Linux) => 2" ) ;
+        } ;
+
+        SKIP: {
+                if ( ! ( skip_macosx(  ) ) )
+                {
+                        skip( 'cpu_number on host != polarhome macosx (Darwin MacOS X 10.7.5 Lion)', 1  ) ;
+                }
+                is( 2, cpu_number(  ), "cpu_number: on polarhome macosx (Darwin MacOS X 10.7.5 Lion) => 2" ) ;
+        } ;
+        
+        SKIP: {
+                if ( ! ( 'pcHPDV7-HP' eq hostname() ) )
+                {
+                        skip( 'cpu_number on host != pcHPDV7-HP (Windows 7, 64bits)', 1  ) ;
+                }
+                is( 2, cpu_number(  ), "cpu_number: on pcHPDV7-HP (Windows 7, 64bits) => 2" ) ;
+        } ;
+        
+        SKIP: {
+                if ( ! ( 'CUILLERE' eq hostname() ) )
+                {
+                        skip( 'cpu_number on host != CUILLERE (Windows XP, 32bits)', 1  ) ;
+                }
+                is( 1, cpu_number(  ), "cpu_number: on CUILLERE (Windows XP, 32bits) => 1" ) ;
+        } ;
+        
+
         note( 'Leaving  tests_cpu_number()' ) ;
 	return ;
 }
 
-sub cpu_number
-{
+
+sub cpu_number {
 
         my $cpu_number_forced = shift ;
 	# Well, here 1 is better than 0 or undef
 	my $cpu_number = 1 ; # Default value, erased if better found
 
         my @cpuinfo ;
-	if ( $ENV{"NUMBER_OF_PROCESSORS"} ) {
+	if ( $ENV{"NUMBER_OF_PROCESSORS"} )
+        {
 		# might be under a Windows system
 		$cpu_number = $ENV{"NUMBER_OF_PROCESSORS"} ;
-		$sync->{ debug } and myprint( "Number of processors found by env var NUMBER_OF_PROCESSORS: $cpu_number\n" ) ;
-	}elsif ( 'darwin' eq $OSNAME or 'freebsd' eq $OSNAME ) {
+		#myprint( "Number of processors found by env var NUMBER_OF_PROCESSORS: $cpu_number\n" ) ;
+	}
+        
+        if ( 'darwin' eq $OSNAME )
+        {
 		$cpu_number = backtick( "sysctl -n hw.ncpu" ) ;
 		chomp( $cpu_number ) ;
-                $sync->{ debug } and myprint( "Number of processors found by cmd 'sysctl -n hw.ncpu': $cpu_number\n" ) ;
-	}elsif ( ! -e '/proc/cpuinfo' ) {
-		$sync->{ debug } and myprint( "Number of processors not found so I might assume there is only 1\n" ) ;
-		$cpu_number = 1 ;
-	}elsif( @cpuinfo = file_to_array( '/proc/cpuinfo' ) ) {
-                $cpu_number = grep { /^processor/mxs } @cpuinfo ;
-                $sync->{ debug } and myprint( "Number of processors found via /proc/cpuinfo: $cpu_number\n" ) ;
+                #myprint( "Number of processors found by cmd 'sysctl -n hw.ncpu': $cpu_number\n" ) ;
 	}
-
-        if ( defined $cpu_number_forced ) {
+        
+        if ( 'freebsd' eq $OSNAME )
+        {
+		$cpu_number = backtick( "sysctl -n kern.smp.cpus" ) ;
+		chomp( $cpu_number ) ;
+                #myprint( "Number of processors found by cmd 'sysctl -n kern.smp.cpus': $cpu_number\n" ) ;
+	}
+        
+        if ( 'linux' eq $OSNAME && -e '/proc/cpuinfo' )
+        {
+		@cpuinfo = file_to_array( '/proc/cpuinfo' ) ;
+                $cpu_number = grep { /^processor/mxs } @cpuinfo ;
+                #myprint( "Number of processors found via /proc/cpuinfo: $cpu_number\n" ) ;
+	}
+	
+        if ( defined $cpu_number_forced )
+        {
                 $cpu_number = $cpu_number_forced ;
         }
+        
 	return( integer_or_1( $cpu_number ) ) ;
 }
 
-
 sub tests_integer_or_1
 {
         note( 'Entering tests_integer_or_1()' ) ;
@@ -13279,33 +15335,33 @@
 sub integer_or_1
 {
         my $number = shift ;
-        if ( is_an_integer( $number  ) ) {
+        if ( is_integer( $number  ) ) {
                 return $number ;
         }
         # else
         return 1 ;
 }
 
-sub tests_is_an_integer
+sub tests_is_integer
 {
-	note( 'Entering tests_is_an_integer()' ) ;
+	note( 'Entering tests_is_integer()' ) ;
 
-        is( undef, is_an_integer(  ), 'is_an_integer: no args => undef ' ) ;
-        ok( is_an_integer( 1 ), 'is_an_integer: 1 => yes ') ;
-        ok( is_an_integer( $NUMBER_42 ), 'is_an_integer: 42 => yes ') ;
-        ok( is_an_integer( "$NUMBER_42" ), 'is_an_integer: "$NUMBER_42" => yes ') ;
-        ok( is_an_integer( '42' ), 'is_an_integer: "42" => yes ') ;
-        ok( is_an_integer( $NUMBER_104_857_600 ), 'is_an_integer: 104_857_600 => yes') ;
-        ok( is_an_integer( "$NUMBER_104_857_600" ), 'is_an_integer: "$NUMBER_104_857_600" => yes') ;
-        ok( is_an_integer( '104857600' ), 'is_an_integer: 104857600 => yes') ;
-        ok( ! is_an_integer( 'blabla' ), 'is_an_integer: blabla => no' ) ;
-        ok( ! is_an_integer( q{} ), 'is_an_integer: empty string => no' ) ;
+        is( undef, is_integer(  ), 'is_integer: no args => undef ' ) ;
+        ok( is_integer( 1 ), 'is_integer: 1 => yes ') ;
+        ok( is_integer( $NUMBER_42 ), 'is_integer: 42 => yes ') ;
+        ok( is_integer( "$NUMBER_42" ), 'is_integer: "$NUMBER_42" => yes ') ;
+        ok( is_integer( '42' ), 'is_integer: "42" => yes ') ;
+        ok( is_integer( $NUMBER_104_857_600 ), 'is_integer: 104_857_600 => yes') ;
+        ok( is_integer( "$NUMBER_104_857_600" ), 'is_integer: "$NUMBER_104_857_600" => yes') ;
+        ok( is_integer( '104857600' ), 'is_integer: 104857600 => yes') ;
+        ok( ! is_integer( 'blabla' ), 'is_integer: blabla => no' ) ;
+        ok( ! is_integer( q{} ), 'is_integer: empty string => no' ) ;
 
-	note( 'Leaving  tests_is_an_integer()' ) ;
+	note( 'Leaving  tests_is_integer()' ) ;
         return ;
 }
 
-sub is_an_integer
+sub is_integer
 {
         my $number = shift ;
         if ( ! defined $number ) { return ; }
@@ -13470,48 +15526,38 @@
 	is( undef, load_and_delay(  ), 'load_and_delay: no args => undef ' ) ;
 	is( undef, load_and_delay( 1 ), 'load_and_delay: not 4 args => undef ' ) ;
 	is( undef, load_and_delay( 0, 1, 1, 1 ), 'load_and_delay: division per 0 => undef ' ) ;
-	is(  0, load_and_delay( 1, 1, 1, 1 ), 'load_and_delay: one core, loads are all 1 => ok ' ) ;
-	is(  0, load_and_delay( 1, 1, 1, 1, 'lalala' ), 'load_and_delay: five arguments is ok' ) ;
-	is(  0, load_and_delay( 2, 2, 2, 2 ), 'load_and_delay: two core, loads are all 2 => ok ' ) ;
-	is(  0, load_and_delay( 2, 2, 4, 5 ), 'load_and_delay: two core, load1m     is 2 => ok ' ) ;
 
-# Old behavior, rather strict
-        # is(  0, load_and_delay( 1, 0, 0, 0 ), 'load_and_delay: one core, load1m=0 load5m=0 load15m=0 => 0 ' ) ;
-	# is(  0, load_and_delay( 1, 0, 0, 2 ), 'load_and_delay: one core, load1m=0 load5m=0 load15m=2 => 0 ' ) ;
-	# is(  0, load_and_delay( 1, 0, 2, 0 ), 'load_and_delay: one core, load1m=0 load5m=2 load15m=0 => 0 ' ) ;
-	# is(  0, load_and_delay( 1, 0, 2, 2 ), 'load_and_delay: one core, load1m=0 load5m=2 load15m=2 => 0 ' ) ;
-	# is(  1, load_and_delay( 1, 2, 0, 0 ), 'load_and_delay: one core, load1m=2 load5m=0 load15m=0 => 1 ' ) ;
-	# is(  1, load_and_delay( 1, 2, 0, 2 ), 'load_and_delay: one core, load1m=2 load5m=0 load15m=2 => 1 ' ) ;
-	# is(  5, load_and_delay( 1, 2, 2, 0 ), 'load_and_delay: one core, load1m=2 load5m=2 load15m=0 => 5 ' ) ;
-	# is( 15, load_and_delay( 1, 2, 2, 2 ), 'load_and_delay: one core, load1m=2 load5m=2 load15m=2 => 15 ' ) ;
+#       ( $cpu_num, $avg_1_min, $avg_5_min, $avg_15_min )
 
-	# is(  0, load_and_delay( 4, 0, 2, 2 ), 'load_and_delay: four core, load1m=0 load5m=2 load15m=2 => 0 ' ) ;
-	# is(  1, load_and_delay( 4, 8, 0, 0 ), 'load_and_delay: four core, load1m=2 load5m=0 load15m=0 => 1 ' ) ;
-	# is(  1, load_and_delay( 4, 8, 0, 2 ), 'load_and_delay: four core, load1m=2 load5m=0 load15m=2 => 1 ' ) ;
-	# is(  5, load_and_delay( 4, 8, 8, 0 ), 'load_and_delay: four core, load1m=2 load5m=2 load15m=0 => 5 ' ) ;
-	# is( 15, load_and_delay( 4, 8, 8, 8 ), 'load_and_delay: four core, load1m=2 load5m=2 load15m=2 => 15 ' ) ;
+        is(  0, load_and_delay( 1, 1, 1, 1 ), 'load_and_delay: one core, loads are all 1 => ok ' ) ;
+        is(  0, load_and_delay( 1, 1, 1, 1, 'lalala' ), 'load_and_delay: five arguments is ok' ) ;
+        is(  0, load_and_delay( 2, 2, 2, 2 ), 'load_and_delay: two core, loads are all 2 => ok ' ) ;
+        is(  0, load_and_delay( 2, 2, 4, 5 ), 'load_and_delay: two core, load1m     is 2 => ok ' ) ;
 
-# New behavior, tolerate more load
 
-        is(  0, load_and_delay( 1, 0, 0, 0 ), 'load_and_delay: one core, load1m=0 load5m=0 load15m=0 => 0 ' ) ;
-        is(  0, load_and_delay( 1, 0, 0, 2 ), 'load_and_delay: one core, load1m=0 load5m=0 load15m=2 => 0 ' ) ;
-        is(  0, load_and_delay( 1, 0, 2, 0 ), 'load_and_delay: one core, load1m=0 load5m=2 load15m=0 => 0 ' ) ;
-        is(  0, load_and_delay( 1, 0, 2, 2 ), 'load_and_delay: one core, load1m=0 load5m=2 load15m=2 => 0 ' ) ;
-        is(  0, load_and_delay( 1, 2, 0, 0 ), 'load_and_delay: one core, load1m=2 load5m=0 load15m=0 => 1 ' ) ;
-        is(  0, load_and_delay( 1, 2, 0, 2 ), 'load_and_delay: one core, load1m=2 load5m=0 load15m=2 => 1 ' ) ;
-        is(  0, load_and_delay( 1, 2, 2, 0 ), 'load_and_delay: one core, load1m=2 load5m=2 load15m=0 => 5 ' ) ;
-        is(  0, load_and_delay( 1, 2, 2, 2 ), 'load_and_delay: one core, load1m=2 load5m=2 load15m=2 => 15 ' ) ;
+        is(  0, load_and_delay( 1, 0, 0, 0 ),       'load_and_delay: one core, load1m=0 load5m=0 load15m=0 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 0, 0, 2 ),       'load_and_delay: one core, load1m=0 load5m=0 load15m=2 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 0, 2, 0 ),       'load_and_delay: one core, load1m=0 load5m=2 load15m=0 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 0, 2, 2 ),       'load_and_delay: one core, load1m=0 load5m=2 load15m=2 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 0, 3, 3 ),       'load_and_delay: one core, load1m=0 load5m=3 load15m=3 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 0, 4, 4 ),       'load_and_delay: one core, load1m=0 load5m=3 load15m=3 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 2, 0, 0 ),       'load_and_delay: one core, load1m=2 load5m=0 load15m=0 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 2, 0, 2 ),       'load_and_delay: one core, load1m=2 load5m=0 load15m=2 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 2, 2, 0 ),       'load_and_delay: one core, load1m=2 load5m=2 load15m=0 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 2, 2, 2 ),       'load_and_delay: one core, load1m=2   load5m=2   load15m=2   => 0 ' ) ;
+        is(  0, load_and_delay( 1, 2.9, 2.9, 2.9 ), 'load_and_delay: one core, load1m=2.9 load5m=2.9 load15m=2.9 => 0 ' ) ;
 
-        is(  1, load_and_delay( 1, 4, 0, 0 ), 'load_and_delay: one core, load1m=4 load5m=0 load15m=0 => 1 ' ) ;
-        is(  1, load_and_delay( 1, 4, 0, 4 ), 'load_and_delay: one core, load1m=4 load5m=0 load15m=4 => 1 ' ) ;
-        is(  5, load_and_delay( 1, 4, 4, 0 ), 'load_and_delay: one core, load1m=4 load5m=4 load15m=0 => 5 ' ) ;
-        is( 15, load_and_delay( 1, 4, 4, 4 ), 'load_and_delay: one core, load1m=4 load5m=4 load15m=4 => 15 ' ) ;
+        is(  0, load_and_delay( 1, 3, 0, 0 ),       'load_and_delay: one core, load1m=3 load5m=0   load15m=0   => 0 ' ) ;
+        is(  0, load_and_delay( 1, 3, 2.9, 2.9 ),   'load_and_delay: one core, load1m=3 load5m=2.9 load15m=2.9 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 3, 3, 2.9 ),     'load_and_delay: one core, load1m=3 load5m=3   load15m=2.9 => 0 ' ) ;
+        is(  0, load_and_delay( 1, 3, 3, 3 ),       'load_and_delay: one core, load1m=3 load5m=3   load15m=3   => 0 ' ) ;
 
-        is(  0, load_and_delay( 4, 0, 9, 9 ), 'load_and_delay: four core, load1m=0 load5m=9 load15m=9 => 0 ' ) ;
-        is(  1, load_and_delay( 4, 9, 0, 0 ), 'load_and_delay: four core, load1m=9 load5m=0 load15m=0 => 1 ' ) ;
-        is(  1, load_and_delay( 4, 9, 0, 9 ), 'load_and_delay: four core, load1m=9 load5m=0 load15m=9 => 1 ' ) ;
-        is(  5, load_and_delay( 4, 9, 9, 0 ), 'load_and_delay: four core, load1m=9 load5m=9 load15m=0 => 5 ' ) ;
-        is( 15, load_and_delay( 4, 9, 9, 9 ), 'load_and_delay: four core, load1m=9 load5m=9 load15m=9 => 15 ' ) ;
+        is(  1, load_and_delay( 1, 6, 0, 0 ),       'load_and_delay: one core, load1m=3 load5m=0   load15m=0   => 1 ' ) ;
+        is(  1, load_and_delay( 1, 6, 5.9, 5.9 ),   'load_and_delay: one core, load1m=3 load5m=2.9 load15m=2.9 => 1 ' ) ;
+        is(  5, load_and_delay( 1, 6, 6, 5.9 ),     'load_and_delay: one core, load1m=3 load5m=3   load15m=2.9 => 5 ' ) ;
+        is(  15, load_and_delay( 1, 6, 6, 6 ),      'load_and_delay: one core, load1m=3 load5m=3   load15m=3 => 15 ' ) ;
+
+
 
         note( 'Leaving  tests_load_and_delay()' ) ;
         return ;
@@ -13531,12 +15577,123 @@
 	# Let divide by number of cores
 	( $avg_1_min, $avg_5_min, $avg_15_min ) = map { $_ / $cpu_num } ( $avg_1_min, $avg_5_min, $avg_15_min ) ;
 	# One of avg ok => ok, for now it is a OR
-	if ( $avg_1_min <= 2 ) { return 0 ; }
-	if ( $avg_5_min <= 2 ) { return 1 ; } # Retry in 1 minute
-	if ( $avg_15_min <= 2 ) { return 5 ; } # Retry in 5 minutes
+	if ( $avg_1_min < 6 ) { return 0 ; }
+	if ( $avg_5_min < 6 ) { return 1 ; } # Retry in 1 minute
+	if ( $avg_15_min < 6 ) { return 5 ; } # Retry in 5 minutes
 	return 15 ; # Retry in 15 minutes
 }
 
+
+sub tests_cpu_time
+{
+        note( 'Entering tests_cpu_time()' ) ;
+
+        ok( is_number( cpu_time(  ) ),  'cpu_time: no args => a number' ) ;
+
+        my $mysync = {  } ;
+        $mysync->{ debug } = 1 ;
+        ok( is_number( cpu_time( $mysync ) ),  'cpu_time: {} => a number' ) ;        
+
+        note( 'Leaving  tests_cpu_time()' ) ;
+        return ;
+}
+
+sub cpu_time
+{
+        my $mysync = shift ;
+        
+        my @cpu_times = times ;
+        if ( ! @cpu_times ) { return ; }
+        
+        my $cpu_time = 0 ;
+        # last element is the sum of all elements
+        $cpu_time = ( map { $cpu_time += $_ } @cpu_times )[ -1 ] ;
+        $mysync->{ debug } and myprint( join(' + ', @cpu_times), " = $cpu_time\n" ) ;
+
+        return $cpu_time ;
+}
+
+
+sub tests_cpu_percent
+{
+        note( 'Entering tests_cpu_percent()' ) ;
+
+        is( '0.0',  cpu_percent(  ),  'cpu_percent: no args => 0.0' ) ;
+        my $mysync = {  } ;
+        $mysync->{ debug } = 1 ;
+        is( '0.0', cpu_percent( $mysync ),   'cpu_percent: {} => 0.0' ) ;
+        is( '0.0', cpu_percent( $mysync, 0 ),     'cpu_percent: {} 0 => 0.0' ) ;
+        is( '300.0', cpu_percent( $mysync, 3 ),     'cpu_percent: {} 3 => 300.0' ) ;
+        is( '30.0', cpu_percent( $mysync, 3, 10 ), 'cpu_percent: {} 3 10 => 30.0' ) ;
+        is( '0.0', cpu_percent( $mysync, 0, 10 ), 'cpu_percent: {} 0 10 => 0.0' ) ;
+
+        note( 'Leaving  tests_cpu_percent()' ) ;
+        return ;
+}
+
+sub cpu_percent
+{
+        my $mysync   = shift ;
+        my $cpu_time = shift || 0 ;
+        my $timediff = shift || 1 ; # no division by 0
+
+        if ( $cpu_time > $timediff )
+        {
+                myprint( "Strange: cpu_time $cpu_time > timediff $timediff\n" ) ;
+        }
+        my $cpu_percent = 0 ;
+        $cpu_percent = mysprintf( '%.1f', 100 * $cpu_time / $timediff ) ;
+        $mysync->{ debug } and myprint( "cpu_percent: $cpu_percent \n" ) ;
+        
+        return $cpu_percent ;
+        
+}
+
+sub tests_cpu_percent_global
+{
+        note( 'Entering tests_cpu_percent_global()' ) ;
+
+        is( '0.0',  cpu_percent_global(  ),  'cpu_percent_global: no args => 0' ) ;
+        my $mysync = {  } ;
+        $mysync->{ debug } = 1 ;
+        is( '0.0',  cpu_percent_global( $mysync      ),     'cpu_percent_global: {} => 0' ) ;
+        is( '0.0',  cpu_percent_global( $mysync,   0 ),  'cpu_percent_global: {} 0 => 0' ) ;
+
+        SKIP: {
+                if ( ! ( 'i005' eq hostname() ) )
+                {
+                        skip( 'cpu_percent_global on host != i005', 1  ) ;
+                }
+                is( '25.0', cpu_percent_global( $mysync, 100 ), 'cpu_percent_global: {} 100 => 25 on host i005' ) ;
+        } ;
+ 
+        SKIP: {
+                if ( ! ( 'petite' eq hostname() ) )
+                {
+                        skip( 'cpu_percent_global on host != petite', 1  ) ;
+                }
+                is( '50.0', cpu_percent_global( $mysync, 100 ), 'cpu_percent_global: {} 100 => 50 on host petite' ) ;
+        } ;
+
+        note( 'Leaving  tests_cpu_percent_global()' ) ;
+        return ;
+}
+
+sub cpu_percent_global
+{
+        my $mysync      = shift ;
+        my $cpu_percent = shift || 0 ;
+        
+        my $cpu_number = cpu_number(  ) ;
+        
+        my $cpu_percent_global ;
+        $cpu_percent_global = mysprintf( '%.1f', $cpu_percent / $cpu_number ) ;
+        $mysync->{ debug } and myprint( "cpu_percent_global: $cpu_percent_global \n" ) ;
+       
+        return( $cpu_percent_global ) ;
+}
+
+
 sub ram_memory_info
 {
         # In GigaBytes so division by 1024 * 1024 * 1024
@@ -13623,7 +15780,7 @@
                 #myprint( "ps: @ps" ) ;
 
                 # Use IPC::Open3 from perlcrit -3
-                # It stalls on Darwin, don't understand why!
+                # But it stalls on Darwin, I don't understand why!
                 #my @ps = backtick( "ps -o vsz -p @pid" ) ;
                 #myprint( "ps: @ps" ) ;
 
@@ -13795,7 +15952,7 @@
         else
         {
                 # Found only embedded dynamic lib
-                myprint( "Found nothing\n" ) ;
+                myprint( "Found only embedded dynamic lib. Good!\n" ) ;
                 return 1 ;
         }
 }
@@ -13819,22 +15976,22 @@
 
 sub search_dyn_lib_locale_darwin
 {
-        my $command = qq{ lsof -p $PID | grep ' REG ' | grep .dylib | grep -v '/par-' } ;
+        my $command = qq{ lsof -p $PROCESS_ID | grep ' REG ' | grep .dylib | grep -v '/par-' } ;
         myprint( "Search non embeded dynamic libs with the command: $command\n" ) ;
         return backtick( $command ) ;
 }
 
 sub search_dyn_lib_locale_linux
 {
-        my $command = qq{ lsof -p $PID | grep ' REG ' | grep -v '/tmp/par-' | grep '\.so' } ;
+        my $command = qq{ lsof -p $PROCESS_ID | grep ' REG ' | grep -v '/tmp/par-' | grep '\.so' } ;
         myprint( "Search non embeded dynamic libs with the command: $command\n" ) ;
         return backtick( $command ) ;
 }
 
 sub search_dyn_lib_locale_MSWin32
 {
-        my $command = qq{ Listdlls.exe $PID|findstr Strawberry } ;
-        # $command = qq{ Listdlls.exe $PID|findstr Strawberry } ;
+        my $command = qq{ Listdlls.exe $PROCESS_ID|findstr Strawberry } ;
+        # $command = qq{ Listdlls.exe $PROCESS_ID|findstr Strawberry } ;
         myprint( "Search non embeded dynamic libs with the command: $command\n" ) ;
         return qx( $command ) ;
 }
@@ -14229,6 +16386,8 @@
         {
                 myprint( "The sync is not finished, there are ",
                 $mysync->{ nb_messages_in_1_not_in_2 },
+                " among ",
+                $nb_identified_h1_messages,
                 " identified messages in host1 that are not on host2.\n" ) ;
         }
 
@@ -14242,7 +16401,7 @@
         }
         else
         {
-                myprint( "There is no unidentified message\n" ) ;
+                myprint( "There is no unidentified message on host1.\n" ) ;
         }
 
         return ;
@@ -14277,9 +16436,11 @@
         {
                 myprint( "The sync is not strict, there are ",
                         $mysync->{ nb_messages_in_2_not_in_1 },
-                        " messages in host2 that are not on host1.",
-                        " Use --delete2 to delete them and have a strict sync.",
-                        " ($nb_identified_h2_messages identified messages in host2)\n" ) ;
+                        " among ",
+                        $nb_identified_h2_messages,
+                        " identified messages in host2 that are not on host1.",
+                        " Use --delete2 and sync again to delete them and have a strict sync.\n" 
+                ) ;
         }
         return ;
 }
@@ -15053,24 +17214,25 @@
         my( $mysync ) = shift ;
 
         # When aborting another process the log file name finishes with "_abort.txt"
-        my $abort_suffix = ( $mysync->{abort} ) ? '_abort' : q{} ;
+        my $abort_suffix = ( $mysync->{ abort } ) ? '_abort' : q{} ;
+        
         # When acting as a proxy the log file name finishes with "_remote.txt"
-        # proxy mode is not done yet
-        my $remote_suffix = ( $mysync->{remote} ) ? '_remote' : q{} ;
+        # proxy mode is not done in imapsync, it is done by proximapsync
+        my $remote_suffix = ( $mysync->{ remote } ) ? '_remote' : q{} ;
 
         my $suffix = (
-                filter_forbidden_characters( slash_to_underscore( $mysync->{user1} ) ) || q{} )
+                filter_forbidden_characters( slash_to_underscore( $mysync->{ user1 } ) ) || q{} )
                 . '_'
-                . ( filter_forbidden_characters( slash_to_underscore( $mysync->{user2} ) ) || q{} )
+                . ( filter_forbidden_characters( slash_to_underscore( $mysync->{ user2 } ) ) || q{} )
                 . $remote_suffix . $abort_suffix ;
 
-        $mysync->{logdir}  = defined $mysync->{logdir}  ? $mysync->{logdir}  : $DEFAULT_LOGDIR ;
+        $mysync->{ logdir }  = defined $mysync->{ logdir }  ? $mysync->{ logdir }  : $DEFAULT_LOGDIR ;
 
-        $mysync->{logfile} = defined $mysync->{logfile}
-                ? "$mysync->{logdir}/$mysync->{logfile}"
-                : logfile( $mysync->{timestart}, $suffix, $mysync->{logdir} ) ;
+        $mysync->{ logfile } = defined $mysync->{ logfile }
+                ? "$mysync->{ logdir }/$mysync->{ logfile }"
+                : logfile( $mysync->{ timestart }, $suffix, $mysync->{ logdir } ) ;
 
-        return( $mysync->{logfile} ) ;
+        return( $mysync->{ logfile } ) ;
 }
 
 sub tests_logfile
@@ -15082,7 +17244,8 @@
                 skip( 'Too hard to have a well known timezone on Windows', 10 ) if ( 'MSWin32' eq $OSNAME ) ;
 
                 local $ENV{TZ} = 'GMT' ;
-                { POSIX::tzset unless ('MSWin32' eq $OSNAME) ;
+                {
+                        POSIX::tzset unless ('MSWin32' eq $OSNAME) ;
                         is( '1970_01_01_00_00_00_000.txt', logfile(  ),           'logfile: no args    => 1970_01_01_00_00_00.txt' ) ;
                         is( '1970_01_01_00_00_00_000.txt', logfile( 0 ),          'logfile: 0          => 1970_01_01_00_00_00.txt' ) ;
                         is( '1970_01_01_00_01_01_000.txt', logfile( 61 ),         'logfile: 0          => 1970_01_01_00_01_01.txt' ) ;
@@ -15129,6 +17292,38 @@
 }
 
 
+sub tests_localtimez
+{
+        note( 'Entering tests_localtimez()' ) ;
+
+        SKIP: {
+                # Too hard to have a well known timezone on Windows
+                skip( 'Too hard to have a well known timezone on Windows', 1 ) if ( 'MSWin32' eq $OSNAME ) ;
+                local $ENV{TZ} = 'GMT' ;
+                like( localtimez( 0 ), qr'1970-01-01 00:00:00 \+0000 (GMT|UTC)', 'localtimez: 0 => match 1970-01-01 00:00:00 +0000 GMT' ) ;
+        }
+
+        is( localtimez( ), localtimez( time ), 'localtimez: undef => equals currrent' ) ;
+        note( 'Leaving  tests_localtimez()' ) ;
+        return ;
+}
+
+
+
+sub localtimez
+{
+        my $time = shift ;
+        
+        $time = defined( $time ) ? $time : time ;
+        
+        my $datetimestr = POSIX::strftime( '%A %e %B %Y-%m-%d %H:%M:%S %z %Z', localtime( $time ) ) ;
+
+        #myprint( "$datetimestr\n" ) ;
+        return $datetimestr ;        
+}
+
+
+
 
 sub tests_slash_to_underscore
 {
@@ -15227,6 +17422,8 @@
         is( undef, teelaunch( $mysync ), 'teelaunch: arg empty {} => undef' ) ;
         $mysync->{logfile} = q{} ;
         is( undef, teelaunch( $mysync ), 'teelaunch: logfile empty string => undef' ) ;
+
+        # First time, learning IO::Tee intrasics
         $mysync->{logfile} = 'W/tmp/tests/tests_teelaunch.txt' ;
         isa_ok( my $tee = teelaunch( $mysync ), 'IO::Tee' , 'teelaunch: logfile W/tmp/tests/tests_teelaunch.txt' ) ;
         is( 1, print( $tee "Hi!\n" ), 'teelaunch: write Hi!') ;
@@ -15234,6 +17431,38 @@
         is( 1, print( $tee "Hoo\n" ), 'teelaunch: write Hoo') ;
         is( "Hi!\nHoo\n", file_to_string( 'W/tmp/tests/tests_teelaunch.txt' ), 'teelaunch: reading W/tmp/tests/tests_teelaunch.txt is Hi!\nHoo\n' ) ;
 
+        # closing so tee won't be happy
+        close $mysync->{logfile_handle} ;
+        is( undef, print( $tee "Argh1\n" ), 'teelaunch: write Argh1') ;
+        is( undef, print( $tee "Argh2\n" ), 'teelaunch: write Argh2') ;
+        # write not done
+        is( "Hi!\nHoo\n", file_to_string( 'W/tmp/tests/tests_teelaunch.txt' ), 'teelaunch: reading W/tmp/tests/tests_teelaunch.txt is still Hi!\nHoo\n' ) ;
+        print join( ' ', $tee->handles ), "\n";
+        is( 2, scalar $tee->handles, 'teelaunch: 2 handles') ;
+        shift @{*{$tee}};
+        print join(' ', $tee->handles), "\n" ;
+        is( 1, scalar $tee->handles, 'teelaunch: 1 handle') ;
+        is( 1, print( $tee "Argh3\n" ), 'teelaunch: write Argh3 yeah') ;
+
+        shift @{*{$tee}};
+        # will not print anything now
+        is( 0, scalar $tee->handles, 'teelaunch: 0 handle') ;
+        is( 1, print( $tee "Argh 4\n" ), 'teelaunch: write Argh4 no') ;
+
+        # Second time, lesson learnt IO::Tee
+        $mysync->{logfile} = 'W/tmp/tests/tests_teelaunch2.txt' ;
+        isa_ok( $tee = teelaunch( $mysync ), 'IO::Tee' , 'teelaunch: logfile W/tmp/tests/tests_teelaunch2.txt' ) ;
+        is( 1, print( $tee "Hi!\n" ), 'teelaunch: write Hi!') ;
+        is( "Hi!\n", file_to_string( 'W/tmp/tests/tests_teelaunch2.txt' ), 'teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is Hi!\n' ) ;
+        is( 1, print( $tee "Hoo\n" ), 'teelaunch: write Hoo') ;
+        is( "Hi!\nHoo\n", file_to_string( 'W/tmp/tests/tests_teelaunch2.txt' ), 'teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is Hi!\nHoo\n' ) ;
+
+        is( 1, teefinish( $mysync ), 'teefinish: return 1') ;
+        is( 1, print( $tee "Argh1\n" ), 'teelaunch: write Argh1') ;
+        is( 1, print( $tee "Argh2\n" ), 'teelaunch: write Argh2') ;
+        is( "Hi!\nHoo\n", file_to_string( 'W/tmp/tests/tests_teelaunch2.txt' ), 'teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is still Hi!\nHoo\n' ) ;
+        is( 1, teefinish( $mysync ), 'teefinish: still return 1') ;
+
         note( 'Leaving  tests_teelaunch()' ) ;
         return ;
 }
@@ -15268,6 +17497,28 @@
         return $tee ;
 }
 
+sub teefinish
+{
+        my $mysync = shift ;
+
+        if ( ! defined( $mysync ) ) { return ; }
+
+        my $tee = $mysync->{tee} ;
+
+        if ( ! defined( $tee ) ) { return ; }
+
+        if ( 2 == scalar $tee->handles )
+        {
+                shift @{*{$tee}};
+        }
+        else
+        {
+                # nothing
+        }
+        return scalar $tee->handles ;
+}
+
+
 sub getpwuid_any_os
 {
         my $uid = shift ;
@@ -15278,15 +17529,44 @@
 
 }
 
+
+
+sub abortifneeded
+{
+        my $mysync = shift ;
+        if ( -e $mysync->{ abortfile } )
+        {
+                myprint( "Asked to terminate by file $mysync->{ abortfile }\n" ) ;
+                do_and_print_stats( $mysync ) ;
+                myprint( "You should resynchronize those accounts by running a sync again,\n",
+                         "since some messages and entire folders might still be missing on host2.\n"
+                ) ;
+                exit_clean( $mysync, $EXIT_BY_FILE ) ;
+                return ;
+        }
+        else
+        {
+                return ;
+        }
+}
+
 sub simulong
 {
-	my $max_seconds = shift ;
+        my $mysync = shift ;
+
+        my $max_seconds = $mysync->{ simulong } ;
+
+        if ( ! $max_seconds ) { return ; }
+
 	my $division = 5 ;
-	my $last_count = $division * $max_seconds ;
+	my $last_count = int( $division * $max_seconds ) ;
+        $mysync->{ debug } and myprint "last_count $last_count = int( division $division * max_seconds $max_seconds)\n" ;
 	foreach my $i ( 1 .. ( $last_count ) ) {
-		 myprint( "Are you still here ETA: " . ($last_count - $i) . "/$last_count msgs left\n" ) ;
+                myprint( "Are you still here ETA: " . ( $last_count - $i ) . "/$last_count msgs left\n" ) ;
+                #this one is for testing huge page behavior
 		#myprint( "Are you still here ETA: " . ($last_count - $i) . "/$last_count  msgs left\n" . ( "Ah" x 40 . "\n") x 4000 ) ;
 		sleep( 1 / $division ) ;
+                abortifneeded( $mysync ) ;
 	}
 
 	return ;
@@ -15302,12 +17582,14 @@
 	return ;
 }
 
-sub testsexit
+
+sub unittestssuite
 {
         my $mysync = shift ;
         if ( ! ( $mysync->{ tests }  or $mysync->{ testsdebug } or $mysync->{ testsunit } ) ) {
                 return ;
         }
+
         my $test_builder = Test::More->builder ;
         tests( $mysync ) ;
         testsdebug( $mysync ) ;
@@ -15323,16 +17605,12 @@
                 #$test_builder->reset(  ) ;
                 myprint( "Summary of tests: failed $nb_tests_failed tests, run $nb_tests_run tests, expected to run $nb_tests_expected tests.\n",
                 "List of failed tests:\n", $tests_failed ) ;
-                exit $EXIT_TESTS_FAILED ;
+                return $EXIT_TESTS_FAILED ;
         }
 
         cleanup_mess_from_tests(  ) ;
-        # Cover is larger with --tests --testslive
-        if ( ! $mysync->{ testslive } )
-        {
-                exit ;
-        }
-        return ;
+
+        return 0 ;
 }
 
 sub cleanup_mess_from_tests
@@ -15476,8 +17754,8 @@
 	$mysync->{ssl1} = ( defined $mysync->{ssl1} ) ? $mysync->{ssl1} : 1 ;
 	$mysync->{host2} ||= 'imap.gmail.com' ;
 	$mysync->{ssl2} = ( defined $mysync->{ssl2} ) ? $mysync->{ssl2} : 1 ;
-	$mysync->{maxbytespersecond} ||= 20_000 ; # should be 10_000 when computed from Gmail documentation
-	$mysync->{maxbytesafter} ||= 1_000_000_000 ;
+	$mysync->{maxbytespersecond} ||= 20_000 ; # should be less than 10_000 when computed from Gmail documentation
+	$mysync->{maxbytesafter} ||= 1_000_000_000 ; # In fact it is documented as half: 500_000_000
 	$mysync->{automap}   = ( defined $mysync->{automap} )  ? $mysync->{automap} : 1 ;
 	$mysync->{maxsleep}  = ( defined $mysync->{maxsleep} ) ? $mysync->{maxsleep} : $MAX_SLEEP ; ;
 	$skipcrossduplicates = ( defined $skipcrossduplicates ) ? $skipcrossduplicates : 0 ;
@@ -15495,8 +17773,8 @@
 	# Gmail at host2
 	$mysync->{host1} ||= 'imap.gmail.com' ;
 	$mysync->{ssl1} = ( defined $mysync->{ssl1} ) ? $mysync->{ssl1} : 1 ;
-	$mysync->{maxbytespersecond} ||= 40_000 ; # should be 20_000 computed from by Gmail documentation
-	$mysync->{maxbytesafter} ||= 2_500_000_000 ;
+	$mysync->{maxbytespersecond} ||= 40_000 ;     # should be 30_000 computed from by Gmail documentation
+	$mysync->{maxbytesafter} ||= 3_000_000_000 ;  #
 	$mysync->{automap}   = ( defined $mysync->{automap} ) ? $mysync->{automap} : 1 ;
 	$mysync->{maxsleep}  = ( defined $mysync->{maxsleep} ) ? $mysync->{maxsleep} : $MAX_SLEEP ; ;
 	$skipcrossduplicates = ( defined $skipcrossduplicates ) ? $skipcrossduplicates : 1 ;
@@ -15507,24 +17785,24 @@
 	return ;
 }
 
-sub gmail2
+sub gmail2 
 {
 	my $mysync = shift ;
 	# Gmail at host2
-	$mysync->{host2} ||= 'imap.gmail.com' ;
-	$mysync->{ssl2} = ( defined $mysync->{ssl2} ) ? $mysync->{ssl2} : 1 ;
-	$mysync->{maxbytespersecond} ||= 20_000 ; # should be 10_000 computed from by Gmail documentation
-	$mysync->{maxbytesafter} ||= 1_000_000_000 ; # In fact it is documented as half: 500_000_000
+	$mysync->{ host2 } ||= 'imap.gmail.com' ;
+	$mysync->{ ssl2 } = ( defined $mysync->{ ssl2 } ) ? $mysync->{ ssl2 } : 1 ;
+	$mysync->{ maxbytespersecond } ||= 20_000 ;     # should be less than 10_000 computed from by Gmail documentation
+	$mysync->{ maxbytesafter } ||= 1_000_000_000 ;  # In fact it is documented as half: 500_000_000
 
-	$mysync->{automap} = ( defined $mysync->{automap} ) ? $mysync->{automap} : 1 ;
+	$mysync->{ automap } = ( defined $mysync->{ automap } ) ? $mysync->{ automap } : 1 ;
 	#$skipcrossduplicates = ( defined $skipcrossduplicates ) ? $skipcrossduplicates : 1 ;
 	$mysync->{ expunge1 }  = ( defined $mysync->{ expunge1 } )  ? $mysync->{ expunge1 }  : 1 ;
-	$mysync->{addheader} = ( defined $mysync->{addheader} ) ? $mysync->{addheader} : 1 ;
-	$mysync->{maxsleep}  = ( defined $mysync->{maxsleep} )  ? $mysync->{maxsleep} : $MAX_SLEEP ; ;
+	$mysync->{ addheader } = ( defined $mysync->{ addheader } ) ? $mysync->{ addheader } : 1 ;
+	$mysync->{ maxsleep }  = ( defined $mysync->{ maxsleep } )  ? $mysync->{ maxsleep } : $MAX_SLEEP ; ;
 
-        $mysync->{maxsize}  = ( defined $mysync->{maxsize} )  ? $mysync->{maxsize} : $GMAIL_MAXSIZE ;
+        #$mysync->{ maxsize }  = ( defined $mysync->{ maxsize } )  ? $mysync->{ maxsize } : $GMAIL_MAXSIZE ;
 
-        if ( ! $mysync->{noexclude} ) {
+        if ( ! $mysync->{ noexclude } ) {
                 push @exclude, '\[Gmail\]$' ;
         }
         push @useheader, 'Message-Id' ;
@@ -15571,7 +17849,7 @@
         $mysync->{ssl2} = ( defined $mysync->{ssl2} ) ? $mysync->{ssl2} : 1 ;
         $mysync->{ maxsize } ||= 45_000_000 ;
         $mysync->{maxmessagespersecond} ||= 4 ;
-        #push @regexflag, 's/\\\\Flagged//g' ; # No problem without! tested 2018_09_10
+        #push @{ $mysync->{ regexflag } }, 's/\\\\Flagged//g' ; # No problem without! tested 2018_09_10
         $disarmreadreceipts = ( defined $disarmreadreceipts ) ? $disarmreadreceipts : 1 ;
         # I dislike double negation but here is one
         if ( ! $mysync->{noregexmess} )
@@ -15607,7 +17885,7 @@
         $disarmreadreceipts = ( defined $disarmreadreceipts ) ? $disarmreadreceipts : 1 ;
         # I dislike double negation but here are two
         if ( ! $mysync->{noregexflag} ) {
-                push @regexflag, 's/\\\\Flagged//g' ;
+                push @{ $mysync->{ regexflag } }, 's/\\\\Flagged//g' ;
         }
         if ( ! $mysync->{noregexmess} ) {
                 push @regexmess, 's,(.{10239}),$1\r\n,g' ;
@@ -15649,14 +17927,17 @@
 	is( undef, resolv( 'hostnotexist' ), 'resolv: hostnotexist => undef' ) ;
 	is( '127.0.0.1', resolv( '127.0.0.1' ), 'resolv: 127.0.0.1 => 127.0.0.1' ) ;
 	is( '127.0.0.1', resolv( 'localhost' ), 'resolv: localhost => 127.0.0.1' ) ;
-	is( '5.135.158.182', resolv( 'imapsync.lamiral.info' ), 'resolv: imapsync.lamiral.info => 5.135.158.182' ) ;
+	is( '2001:41d0:2:84e0::1', resolv( 'imapsync.lamiral.info' ), 'resolv: imapsync.lamiral.info => 2001:41d0:2:84e0::1' ) ;
 
 	# ip6-localhost ( in /etc/hosts )
 	is( '::1', resolv( 'ip6-localhost' ), 'resolv: ip6-localhost => ::1' ) ;
 	is( '::1', resolv( '::1' ), 'resolv: ::1 => ::1' ) ;
-	# ks2
+	# ks2ipv6 now has CNAME ks6ipv6
 	is( '2001:41d0:8:d8b6::1', resolv( '2001:41d0:8:d8b6::1' ),  'resolv:  2001:41d0:8:d8b6::1 => 2001:41d0:8:d8b6::1' ) ;
-	is( '2001:41d0:8:d8b6::1', resolv( 'ks2ipv6.lamiral.info' ), 'resolv: ks2ipv6.lamiral.info => 2001:41d0:8:d8b6::1' ) ;
+	is( '2001:41d0:8:9951::1', resolv( 'ks6ipv6.lamiral.info' ), 'resolv: ks6ipv6.lamiral.info => 2001:41d0:8:9951::1' ) ;
+	# ks6
+	is( '2001:41d0:8:9951::1', resolv( '2001:41d0:8:9951::1' ),  'resolv:  2001:41d0:8:9951::1 => 2001:41d0:8:9951::1' ) ;
+	is( '2001:41d0:8:9951::1', resolv( 'ks6ipv6.lamiral.info' ), 'resolv: ks6ipv6.lamiral.info => 2001:41d0:8:9951::1' ) ;
 	# ks3
 	is( '2001:41d0:8:bebd::1', resolv( '2001:41d0:8:bebd::1' ),  'resolv:  2001:41d0:8:bebd::1 => 2001:41d0:8:bebd::1' ) ;
 	is( '2001:41d0:8:bebd::1', resolv( 'ks3ipv6.lamiral.info' ), 'resolv: ks3ipv6.lamiral.info => 2001:41d0:8:bebd::1' ) ;
@@ -15692,6 +17973,7 @@
 {
 	my $host = shift @ARG ;
 
+        $sync->{ debug } and myprint( "Entering resolv_with_getaddrinfo( $host )\n" ) ;
 	if ( ! $host ) { return ; }
 
 	my ( $err_getaddrinfo, @res ) = Socket::getaddrinfo( $host, "", { socktype => Socket::SOCK_RAW } ) ;
@@ -15706,14 +17988,17 @@
 		if ( $err_getnameinfo ) {
 			myprint( "Cannot getnameinfo of $host: $err_getnameinfo\n" ) ;
 			return ;
-		}
-		$sync->{ debug } and myprint( "$host => $ipaddr\n" ) ;
-		push @addr, $ipaddr ;
-                my $reverse ;
-		( $err_getnameinfo, $reverse ) = Socket::getnameinfo( $ai->{addr}, 0, Socket::NIx_NOSERV() ) ;
-		$sync->{ debug } and myprint( "$host => $ipaddr => $reverse\n" ) ;
-	}
+		}else{
+                        $sync->{ debug } and myprint( "$host => $ipaddr\n" ) ;
+                        push @addr, $ipaddr ;
+                        my $reverse ;
+                        ( $err_getnameinfo, $reverse ) = Socket::getnameinfo( $ai->{addr}, 0, Socket::NIx_NOSERV() ) ;
+                        $sync->{ debug } and myprint( "$host => $ipaddr => $reverse\n" ) ;
+                }
+                $sync->{ debug } and myprint( "$host => $ipaddr\n" ) ;
 
+	}
+        $sync->{ debug } and myprint( "Leaving resolv_with_getaddrinfo( $host => $addr[0])\n" ) ;
         return $addr[0] ;
 }
 
@@ -15733,8 +18018,8 @@
 	is( 'ip6-localhost', resolvrev( 'ip6-localhost' ), 'resolvrev: ip6-localhost => ip6-localhost' ) ;
 	is( 'ip6-localhost', resolvrev( '::1' ), 'resolvrev: ::1 => ip6-localhost' ) ;
 	# ks2
-	is( 'ks2ipv6.lamiral.info', resolvrev( '2001:41d0:8:d8b6::1' ),  'resolvrev:  2001:41d0:8:d8b6::1 => ks2ipv6.lamiral.info' ) ;
-	is( 'ks2ipv6.lamiral.info', resolvrev( 'ks2ipv6.lamiral.info' ), 'resolvrev: ks2ipv6.lamiral.info => ks2ipv6.lamiral.info' ) ;
+	is( 'ks6ipv6.lamiral.info', resolvrev( '2001:41d0:8:d8b6::1' ),  'resolvrev:  2001:41d0:8:d8b6::1 => ks6ipv6.lamiral.info' ) ;
+	is( 'ks6ipv6.lamiral.info', resolvrev( 'ks6ipv6.lamiral.info' ), 'resolvrev: ks6ipv6.lamiral.info => ks6ipv6.lamiral.info' ) ;
 	# ks3
 	is( 'ks3ipv6.lamiral.info', resolvrev( '2001:41d0:8:bebd::1' ),  'resolvrev:  2001:41d0:8:bebd::1 => ks3ipv6.lamiral.info' ) ;
 	is( 'ks3ipv6.lamiral.info', resolvrev( 'ks3ipv6.lamiral.info' ), 'resolvrev: ks3ipv6.lamiral.info => ks3ipv6.lamiral.info' ) ;
@@ -15793,7 +18078,7 @@
 	is( undef, imapsping(  ), 'imapsping: no args => undef' ) ;
 	is( undef, imapsping( 'hostnotexist' ), 'imapsping: hostnotexist => undef' ) ;
 	is( 1, imapsping( 'imapsync.lamiral.info' ), 'imapsping: imapsync.lamiral.info => 1' ) ;
-        is( 1, imapsping( 'ks2ipv6.lamiral.info' ), 'imapsping: ks2ipv6.lamiral.info => 1' ) ;
+        is( 1, imapsping( 'ks6ipv6.lamiral.info' ), 'imapsping: ks6ipv6.lamiral.info => 1' ) ;
 	note( 'Leaving  tests_imapsping()' ) ;
 	return ;
 }
@@ -15873,7 +18158,7 @@
 
 	$mysync = {
 		sslcheck => 1,
-		host1 => 'imapsync.lamiral.info',
+		host1 => 'test1.lamiral.info',
 		tls1 => 1,
 	} ;
 
@@ -15881,32 +18166,32 @@
 
 	$mysync = {
 		sslcheck => 1,
-		host1 => 'imapsync.lamiral.info',
+		host1 => 'test1.lamiral.info',
 	} ;
 
 
-	is( 1, sslcheck( $mysync ), 'sslcheck: imapsync.lamiral.info => 1' ) ;
-	is( 1, $mysync->{ssl1}, 'sslcheck: imapsync.lamiral.info => ssl1 1' ) ;
+	is( 1, sslcheck( $mysync ), 'sslcheck: test1.lamiral.info => 1' ) ;
+	is( 1, $mysync->{ssl1}, 'sslcheck: test1.lamiral.info => ssl1 1' ) ;
 
 	$mysync->{sslcheck} = 0 ;
 	is( undef, sslcheck( $mysync ), 'sslcheck: sslcheck off => undef' ) ;
 
 	$mysync = {
 		sslcheck => 1,
-		host1 => 'imapsync.lamiral.info',
+		host1 => 'test1.lamiral.info',
                 host2 => 'test2.lamiral.info',
 	} ;
 
-        is( 2, sslcheck( $mysync ), 'sslcheck: imapsync.lamiral.info + test2.lamiral.info => 2' ) ;
+        is( 2, sslcheck( $mysync ), 'sslcheck: test1.lamiral.info + test2.lamiral.info => 2' ) ;
 
 	$mysync = {
 		sslcheck => 1,
-		host1 => 'imapsync.lamiral.info',
+		host1 => 'test1.lamiral.info',
                 host2 => 'test2.lamiral.info',
                 tls1  => 1,
 	} ;
 
-        is( 1, sslcheck( $mysync ), 'sslcheck: imapsync.lamiral.info + test2.lamiral.info + tls1 => 1' ) ;
+        is( 1, sslcheck( $mysync ), 'sslcheck: test1.lamiral.info + test2.lamiral.info + tls1 => 1' ) ;
 
 	note( 'Leaving  tests_sslcheck()' ) ;
 	return ;
@@ -15977,10 +18262,10 @@
 sub testslive6_init
 {
         my $mysync = shift ;
-        $mysync->{host1}     ||= 'ks2ipv6.lamiral.info' ;
+        $mysync->{host1}     ||= 'ks6ipv6.lamiral.info' ;
         $mysync->{user1}     ||= 'test1' ;
         $mysync->{password1} ||= 'secret1' ;
-        $mysync->{host2}     ||= 'ks2ipv6.lamiral.info' ;
+        $mysync->{host2}     ||= 'ks6ipv6.lamiral.info' ;
         $mysync->{user2}     ||= 'test2' ;
         $mysync->{password2} ||= 'secret2' ;
         return ;
@@ -16143,7 +18428,6 @@
 }
 
 
-
 sub tests_toggle_sleep
 {
         note( 'Entering tests_toggle_sleep()' ) ;
@@ -16318,6 +18602,147 @@
         return( $usage ) ;
 }
 
+
+
+
+sub setvalfromcgikey
+{
+        my ( $mysync, $mycgi, $key, $val ) = @ARG ;
+
+        my $badthings = 0 ;
+        
+                
+        my ( $name, $type, $struct ) ;
+        if ( $key !~ m/^([\w\d\|]+)([=:][isf])?([\+!\@\%])?$/mxs )
+        {
+                $badthings++ ;
+                next ;    # Unknown item
+        }
+        else
+        {
+                $name   = [ split '|', $1, 1 ]->[0] ; # option name ab|cd|ef => keep only ab
+                $type   = $2 ; # = or : followed by i or s or f
+                $struct = $3 ; # + or ! or @ or %
+        }
+                
+        if ( ( $struct || q{} ) eq '+' )
+        {
+                ${$val} = $mycgi->param( $name ) ;    # "Incremental" integer
+        }
+        elsif ( $type )
+        {
+                my @values = $mycgi->multi_param( $name ) ;
+
+                #myprint( "type[$type]values[@values]\$struct[", $struct || q{}, "]val[$val]ref(val)[", ref($val), "]\n" ) ;
+                if ( ( $struct || q{} ) eq '%' or ref( $val ) eq 'HASH' )
+                {
+                        setvalfromhash( $val, $type, @values ) ;
+                }
+                else 
+                {
+                        setvalfromlist( $mysync, $val, $name, $type, $struct, @values ) ;
+                }
+        }
+        else
+        {
+                setvalfromcheckbox( $mysync, $mycgi, $key, $name, $val ) ;
+        }
+                
+        return $badthings ;
+}
+
+sub setvalfromlist
+{
+        my ( $mysync, $val, $name, $type, $struct, @values ) = @ARG ;
+        if ( $type =~ m/i$/mxs )
+        {
+                @values = map { q{} ne $_ ? int $_ : undef } @values ;
+        }
+        elsif ( $type =~ m/f$/mxs )
+        {
+                @values = map { 0 + $_ } @values ;
+        }
+
+        if ( ( $struct || q{} ) eq '@' )
+        {
+                @{ ${$val} } = @values ;
+                my @option = map { +( "--$name", "$_" ) } @values ;
+                push @{ $mysync->{ cmdcgi } }, @option ;
+        }
+        elsif ( ref( $val ) eq 'ARRAY' )
+        {
+                @{$val} = @values ;
+        }
+        elsif ( my $value = $values[0] )
+        {
+                ${$val} = $value ;
+                push @{ $mysync->{ cmdcgi } }, "--$name", $value ;
+        }
+        else
+        {
+        }
+        
+        return ;
+}
+sub setvalfromhash
+{
+        my ( $val, $type, @values ) = @ARG ;
+
+        my %values = map { split /=/mxs, $_ } @values ;
+
+        if ( $type =~ m/i$/mxs )
+        {
+                foreach my $k ( keys %values )
+                {
+                        $values{$k} = int $values{$k} ;
+                }
+        }
+        elsif ( $type =~ m/f$/mxs )
+        {
+                foreach my $k ( keys %values ) {
+                        $values{$k} = 0 + $values{$k};
+                }
+        }
+
+        if ( 'REF' eq ref $val )
+        {
+                %{ ${$val} } = %values ;
+        }
+        else 
+        {
+                %{$val} = %values ;
+        }
+        
+        return ;
+}
+
+
+sub setvalfromcheckbox
+{
+        my ( $mysync, $mycgi, $key, $name, $val ) = @ARG ;
+        
+        # Checkbox
+        # --noname is set by name=0 or name=
+        my $value = $mycgi->param( $name ) ;
+        if ( defined $value )
+        {
+                ${$val} = $value ;
+                if ( $value )
+                {
+                        push @{ $mysync->{ cmdcgi } }, "--$name" ;
+                }
+                else
+                {
+                        push @{ $mysync->{ cmdcgi } }, "--no$name" ;
+                }
+        }
+        else
+        {
+                ${$val} = undef ;
+        }
+        return ;
+}
+
 sub myGetOptions
 {
 
@@ -16325,6 +18750,7 @@
         # https://metacpan.org/release/Getopt-Long-CGI
         # So this sub function is under the same license as Getopt-Long-CGI Luke Ross wants it,
         # which was Perl 5.6 or later licenses at the date of the copy.
+        # It also applies for the sub functions called from this one.
 
         my $mysync        = shift @ARG ;
         my $arguments_ref = shift @ARG ;
@@ -16345,84 +18771,10 @@
         foreach my $key ( sort keys %options ) {
                 my $val = $options{$key} ;
 
-                if ( $key !~ m/^([\w\d\|]+)([=:][isf])?([\+!\@\%])?$/mxs ) {
-                        $badthings++ ;
-                        next ;    # Unknown item
-                }
+                $badthings += setvalfromcgikey( $mysync, $mycgi, $key, $val ) ;
 
-                my $name = [ split '|', $1, 1 ]->[0] ;
-
-                if ( ( $3 || q{} ) eq '+' ) {
-                        ${$val} = $mycgi->param( $name ) ;    # "Incremental" integer
-                }
-                elsif ( $2 ) {
-                        my @values = $mycgi->multi_param( $name ) ;
-                        my $type   = $2 ;
-
-                        #myprint( "type[$type]values[@values]\$3[", $3 || q{}, "]val[$val]ref(val)[", ref($val), "]\n" ) ;
-                        if ( ( $3 || q{} ) eq '%' or ref( $val ) eq 'HASH' ) {
-                                my %values = map { split /=/mxs, $_ } @values ;
-
-                                if ( $type =~ m/i$/mxs ) {
-                                        foreach my $k ( keys %values ) {
-                                                $values{$k} = int $values{$k} ;
-                                        }
-                                }
-                                elsif ( $type =~ m/f$/mxs ) {
-                                        foreach my $k ( keys %values ) {
-                                                $values{$k} = 0 + $values{$k};
-                                        }
-                                }
-                                if ( 'REF' eq ref $val ) {
-                                        %{ ${$val} } = %values ;
-                                }
-                                else {
-                                        %{$val} = %values ;
-                                }
-                        }
-                        else {
-                                if ( $type =~ m/i$/mxs ) {
-                                        @values = map { q{} ne $_ ? int $_ : undef } @values ;
-                                }
-                                elsif ( $type =~ m/f$/mxs ) {
-                                        @values = map { 0 + $_ } @values ;
-                                }
-                                if ( ( $3 || q{} ) eq '@' ) {
-                                        @{ ${$val} } = @values ;
-                                        my @option = map { +( "--$name", "$_" ) } @values ;
-                                        push @{ $mysync->{ cmdcgi } }, @option ;
-                                }
-                                elsif ( ref( $val ) eq 'ARRAY' ) {
-                                        @{$val} = @values ;
-                                }
-                                elsif ( my $value = $values[0] )
-                                {
-                                        ${$val} = $value ;
-                                        push @{ $mysync->{ cmdcgi } }, "--$name", $value ;
-                                }
-                                else
-                                {
-
-                                }
-                        }
-                }
-                else
-                {
-                        # Checkbox
-                        # Considers only --name
-                        # Should consider also --no-name and --noname
-                        my $value = $mycgi->param( $name ) ;
-                        if ( $value )
-                        {
-                                ${$val} = 1 ;
-                                push @{ $mysync->{ cmdcgi } }, "--$name" ;
-                        }
-                        else
-                        {
-                                ${$val} = undef ;
-                        }
-                }
         }
+        
         if ( $badthings ) {
                 return ;    # undef or ()
         }
@@ -16432,11 +18784,12 @@
 }
 
 
-my @blabla ; # just used to check get_options_cgi() with an array
+
 
 sub tests_get_options_cgi_context
 {
-	note( 'Entering tests_get_options_cgi()' ) ;
+	note( 'Entering tests_get_options_cgi_context()' ) ;
+
 
 # Temporary, have to think harder about testing CGI context in command line --tests
 	# API:
@@ -16454,15 +18807,21 @@
 	my $mysync ;
 	is( undef, get_options( $mysync ), 'get_options cgi context: no CGI module => undef' ) ;
 
-	require CGI ;
-	CGI->import( qw( -no_debug  -utf8 ) ) ;
+        # skip all next tests if the CGI module is not available
+
+        SKIP: {
+                if ( ! eval { require CGI ; }  ) {
+                        skip( "CGI Perl module is not installed", 19 ) ;
+                }
+
+                CGI->import( qw( -no_debug  -utf8 ) ) ;
 
 	is( undef, get_options( $mysync ), 'get_options cgi context: no CGI param => undef' ) ;
 	# Testing boolean
 	$mysync->{cgi} = CGI->new( 'version=on&debugenv=on' ) ;
 	local $ENV{'QUERY_STRING'} = 'version=on&debugenv=on' ;
 	is( 22,   get_options( $mysync ), 'get_options cgi context: QUERY_STRING => 22' ) ;
-	is(  1,   $mysync->{ version },        'get_options cgi context: --version => 1' ) ;
+	is(  'on',   $mysync->{ version },        'get_options cgi context: --version => on' ) ;
 	# debugenv is not allowed in cgi context
 	is(  undef,   $mysync->{debugenv},        'get_options cgi context: $mysync->{debugenv} => undef' ) ;
 
@@ -16474,14 +18833,6 @@
 	is( 'test1',  $mysync->{user1},    'get_options cgi context: $mysync->{user1} => test1' ) ;
         #local $ENV{'QUERY_STRING'} = undef ;
 
-	# Testing @
-	$mysync->{cgi} = CGI->new( 'blabla=fd1' ) ;
-	get_options( $mysync ) ;
-	is_deeply( [ 'fd1' ],  [ @blabla ],    'get_options cgi context: @blabla => fd1' ) ;
-	$mysync->{cgi} = CGI->new( 'blabla=fd1&blabla=fd2' ) ;
-	get_options( $mysync ) ;
-	is_deeply( [ 'fd1', 'fd2' ],  [ @blabla ],    'get_options cgi context: @blabla => fd1, fd2' ) ;
-
 	# Testing s@ as ref
 	$mysync->{cgi} = CGI->new( 'folder=fd1' ) ;
 	get_options( $mysync ) ;
@@ -16522,10 +18873,21 @@
         #myprint( Data::Dumper->Dump( [ $mysync ] )  ) ;
 
         $mysync ={} ;
-	$mysync->{cgi} = CGI->new( 'justfoldersizes=on' ) ;
+        $mysync->{cgi} = CGI->new( 'testslive=on' ) ;
         get_options( $mysync ) ;
-	is( 1,  $mysync->{ justfoldersizes },    'get_options cgi context: --justfoldersizes=1 => justfoldersizes => 1' ) ;
-        myprint( Data::Dumper->Dump( [ $mysync ] )  ) ;
+        is( 'on',  $mysync->{ testslive },    'get_options cgi context: --testslive=on => testslive => on' ) ;
+        #myprint( Data::Dumper->Dump( [ $mysync ] )  ) ;
+
+                $mysync ={} ;
+                $mysync->{cgi} = CGI->new( 'log=0' ) ;
+                get_options( $mysync ) ;
+                is( 0,  $mysync->{ log },    'get_options cgi context: --log=0 => log => 0' ) ;
+                #myprint( Data::Dumper->Dump( [ $mysync ] )  ) ;
+
+
+        # What is this fucked up indentation?
+        }
+
 
 	note( 'Leaving  tests_get_options_cgi_context()' ) ;
 	return ;
@@ -16545,41 +18907,43 @@
         my $opt_ret = myGetOptions(
 	$mysync,
 	\@arguments,
-	'abort'            => \$mysync->{abort},
+        'abort'            => \$mysync->{ abort },
+        'abortbyfile'      => \$mysync->{ abortbyfile },
         'host1=s'          => \$mysync->{ host1 },
         'host2=s'          => \$mysync->{ host2 },
         'user1=s'          => \$mysync->{ user1 },
         'user2=s'          => \$mysync->{ user2 },
-        'password1=s'      => \$mysync->{password1},
-        'password2=s'      => \$mysync->{password2},
-        'dry!'             => \$mysync->{dry},
-        'version'          => \$mysync->{version},
-        'ssl1!'            => \$mysync->{ssl1},
-        'ssl2!'            => \$mysync->{ssl2},
-        'tls1!'            => \$mysync->{tls1},
-        'tls2!'            => \$mysync->{tls2},
-        'justlogin!'       => \$mysync->{justlogin},
-        'justconnect!'     => \$mysync->{justconnect},
-        'addheader!'       => \$mysync->{addheader},
-        'automap!'         => \$mysync->{automap},
-        'justautomap!'     => \$mysync->{justautomap},
-	'gmail1'           => \$mysync->{gmail1},
-	'gmail2'           => \$mysync->{gmail2},
-	'office1'          => \$mysync->{office1},
-	'office2'          => \$mysync->{office2},
-	'exchange1'        => \$mysync->{exchange1},
-	'exchange2'        => \$mysync->{exchange2},
-	'domino1'          => \$mysync->{domino1},
-	'domino2'          => \$mysync->{domino2},
-        'f1f2=s@'          => \$mysync->{f1f2},
-        'f1f2h=s%'         => \$mysync->{f1f2h},
-        'folder=s@'        => \$mysync->{ folder },
-        'blabla=s'         => \@blabla,
-        'testslive!'       => \$mysync->{testslive},
-        'testslive6!'      => \$mysync->{testslive6},
-        'releasecheck!'    => \$mysync->{releasecheck},
-        'simulong=i'       => \$mysync->{simulong},
-        'debugsleep=f'     => \$mysync->{debugsleep},
+        'password1=s'      => \$mysync->{ password1 },
+        'password2=s'      => \$mysync->{ password2 },
+        'dry!'             => \$mysync->{ dry },
+        'dry1!'            => \$mysync->{ dry1 },
+        'version'          => \$mysync->{ version },
+        'ssl1!'            => \$mysync->{ ssl1 },
+        'ssl2!'            => \$mysync->{ ssl2 },
+        'tls1!'            => \$mysync->{ tls1 },
+        'tls2!'            => \$mysync->{ tls2 },
+        'justbanner!'      => \$mysync->{ justbanner },
+        'justlogin!'       => \$mysync->{ justlogin },
+        'justconnect!'     => \$mysync->{ justconnect },
+        'addheader!'       => \$mysync->{ addheader },
+        'automap!'         => \$mysync->{ automap },
+        'justautomap!'     => \$mysync->{ justautomap },
+	'gmail1'           => \$mysync->{ gmail1 },
+	'gmail2'           => \$mysync->{ gmail2 },
+	'office1'          => \$mysync->{ office1 },
+	'office2'          => \$mysync->{ office2 },
+	'exchange1'        => \$mysync->{ exchange1 },
+	'exchange2'        => \$mysync->{ exchange2 },
+	'domino1'          => \$mysync->{ domino1 },
+	'domino2'          => \$mysync->{ domino2 },
+        'f1f2=s@'          => \$mysync->{ f1f2 },
+        'f1f2h=s%'         => \$mysync->{ f1f2h },
+        'folder=s@'        => \$mysync->{ folder  },
+        'testslive!'       => \$mysync->{ testslive },
+        'testslive6!'      => \$mysync->{ testslive6 },
+        'releasecheck!'    => \$mysync->{ releasecheck },
+        'simulong=f'       => \$mysync->{ simulong },
+        'debugsleep=f'     => \$mysync->{ debugsleep },
         'subfolder1=s'     => \$mysync->{ subfolder1 },
         'subfolder2=s'     => \$mysync->{ subfolder2 },
         'justfolders!'     => \$mysync->{ justfolders },
@@ -16587,9 +18951,15 @@
         'delete1!'         => \$mysync->{ delete1 },
         'delete2!'         => \$mysync->{ delete2 },
         'delete2duplicates!'  => \$mysync->{ delete2duplicates },
-        'tail!'               => \$mysync->{tail},
+        'tail!'            => \$mysync->{ tail },
+        'tmphash=s'        => \$mysync->{ tmphash },
+        'exitwhenover=i'   => \$mysync->{ exitwhenover },
+        'syncduplicates!'  => \$mysync->{ syncduplicates },
+        'log!'             => \$mysync->{ log },
+        'loglogfile!'      => \$mysync->{ loglogfile },
+        
 
-#  blabla and f1f2h=s% could be removed but
+# f1f2h=s% could be removed but
 # tests_get_options_cgi() should be split before
 # with a sub tests_myGetOptions()
         ) ;
@@ -16624,9 +18994,9 @@
         'debugcontent!' => \$debugcontent,
         'debugsleep=f'  => \$mysync->{debugsleep},
         'debugflags!'   => \$debugflags,
-        'debugimap!'    => \$debugimap,
-        'debugimap1!'   => \$debugimap1,
-        'debugimap2!'   => \$debugimap2,
+        'debugimap!'    => \$mysync->{ debugimap },
+        'debugimap1!'   => \$mysync->{ acc1 }->{ debugimap },
+        'debugimap2!'   => \$mysync->{ acc2 }->{ debugimap },
         'debugdev!'     => \$debugdev,
         'debugmemory!'  => \$mysync->{debugmemory},
         'debugfolders!' => \$mysync->{debugfolders},
@@ -16635,8 +19005,11 @@
         'debugenv!'     => \$mysync->{debugenv},
         'debugsig!'     => \$mysync->{debugsig},
         'debuglabels!'  => \$mysync->{debuglabels},
-        'simulong=i'    => \$mysync->{simulong},
+
+        'simulong=f'    => \$mysync->{simulong},
         'abort'         => \$mysync->{abort},
+        'abortbyfile'   => \$mysync->{abortbyfile},
+
         'host1=s'       => \$mysync->{ host1 },
         'host2=s'       => \$mysync->{ host2 },
         'port1=i'       => \$mysync->{port1},
@@ -16653,8 +19026,8 @@
         'exchange2'   => \$mysync->{exchange2},
         'domino1'     => \$mysync->{domino1},
         'domino2'     => \$mysync->{domino2},
-        'domain1=s'   => \$domain1,
-        'domain2=s'   => \$domain2,
+        'domain1=s'   => \$mysync->{ acc1 }->{ domain },
+        'domain2=s'   => \$mysync->{ acc2 }->{ domain },
         'password1=s' => \$mysync->{password1},
         'password2=s' => \$mysync->{password2},
         'passfile1=s' => \$mysync->{ passfile1 },
@@ -16662,6 +19035,15 @@
         'authmd5!'    => \$authmd5,
         'authmd51!'   => \$authmd51,
         'authmd52!'   => \$authmd52,
+
+        'trylogin!'   => \$mysync->{ trylogin },
+
+        'oauthdirect1=s' => \$mysync->{ acc1 }->{ oauthdirect },
+        'oauthdirect2=s' => \$mysync->{ acc2 }->{ oauthdirect },
+
+        'oauthaccesstoken1=s' => \$mysync->{ acc1 }->{ oauthaccesstoken },
+        'oauthaccesstoken2=s' => \$mysync->{ acc2 }->{ oauthaccesstoken },
+
         'sep1=s'      => \$mysync->{ sep1 },
         'sep2=s'      => \$mysync->{ sep2 },
         'sanitize!'         => \$mysync->{ sanitize },
@@ -16687,10 +19069,11 @@
         'pipemess=s'        => \@pipemess,
         'pipemesscheck!'    => \$pipemesscheck,
         'disarmreadreceipts!' => \$disarmreadreceipts,
-        'regexflag=s'         => \@regexflag,
-        'noregexflag'         => \$mysync->{noregexflag},
-        'filterflags!'        => \$filterflags,
-        'flagscase!'          => \$flagscase,
+        'regexflag=s@'        => \$mysync->{ regexflag },
+        'noregexflag'         => \$mysync->{ noregexflag },
+        'filterflags!'        => \$mysync->{ filterflags },
+        'filterbuggyflags!'   => \$mysync->{ filterbuggyflags },
+        'flagscase!'          => \$mysync->{ flagscase },
         'syncflagsaftercopy!' => \$syncflagsaftercopy,
         'resyncflags!'        => \$mysync->{ resyncflags },
         'synclabels!'         => \$mysync->{ synclabels },
@@ -16703,7 +19086,7 @@
         'delete2foldersbutnot=s' => \$delete2foldersbutnot,
         'syncinternaldates!' => \$syncinternaldates,
         'idatefromheader!'   => \$idatefromheader,
-        'syncacls!'          => \$syncacls,
+        'syncacls!'          => \$mysync->{ syncacls },
         'maxsize=i'       => \$mysync->{ maxsize },
         'appendlimit=i'   => \$mysync->{ appendlimit },
         'truncmess=i'     => \$mysync->{ truncmess },
@@ -16716,51 +19099,52 @@
         'foldersizes!'      => \$mysync->{ foldersizes },
         'foldersizesatend!' => \$mysync->{ foldersizesatend },
         'dry!'              => \$mysync->{dry},
+        'dry1!'             => \$mysync->{dry1},
         'expunge1|expunge!' => \$mysync->{ expunge1 },
         'expunge2!'         => \$mysync->{ expunge2 },
         'uidexpunge2!'      => \$mysync->{ uidexpunge2 },
         'subscribed'  => \$subscribed,
         'subscribe!'  => \$subscribe,
         'subscribeall|subscribe_all!'  => \$subscribeall,
-        'justbanner!' => \$justbanner,
+        'justbanner!' => \$mysync->{ justbanner },
         'justfolders!'=> \$mysync->{ justfolders },
         'justfoldersizes!' => \$mysync->{ justfoldersizes },
         'fast!'       => \$fast,
         'version'     => \$mysync->{version},
         'help'        => \$help,
-        'timeout=i'   => \$timeout,
-        'timeout1=i'   => \$mysync->{h1}->{timeout},
-        'timeout2=i'   => \$mysync->{h2}->{timeout},
-        'skipheader=s' => \$skipheader,
+        'timeout=f'   =>  \$mysync->{timeout},
+        'timeout1=f'   => \$mysync->{ acc1 }->{timeout},
+        'timeout2=f'   => \$mysync->{ acc2 }->{timeout},
+        'skipheader=s' => \$mysync->{ skipheader },
         'useheader=s' => \@useheader,
         'wholeheaderifneeded!'   => \$wholeheaderifneeded,
         'messageidnodomain!' => \$messageidnodomain,
         'skipsize!'   => \$skipsize,
         'allowsizemismatch!' => \$allowsizemismatch,
-        'fastio1!'     => \$fastio1,
-        'fastio2!'     => \$fastio2,
+        'fastio1!'     => \$mysync->{ acc1 }->{ fastio },
+        'fastio2!'     => \$mysync->{ acc2 }->{ fastio },
         'sslcheck!'    => \$mysync->{sslcheck},
         'ssl1!'        => \$mysync->{ssl1},
         'ssl2!'        => \$mysync->{ssl2},
-        'ssl1_ssl_version=s' => \$mysync->{h1}->{sslargs}->{SSL_version},
-        'ssl2_ssl_version=s' => \$mysync->{h2}->{sslargs}->{SSL_version},
-        'sslargs1=s%'        => \$mysync->{h1}->{sslargs},
-        'sslargs2=s%'        => \$mysync->{h2}->{sslargs},
+        'ssl1_ssl_version=s' => \$mysync->{ acc1 }->{sslargs}->{SSL_version},
+        'ssl2_ssl_version=s' => \$mysync->{ acc2 }->{sslargs}->{SSL_version},
+        'sslargs1=s%'        => \$mysync->{ acc1 }->{sslargs},
+        'sslargs2=s%'        => \$mysync->{ acc2 }->{sslargs},
         'tls1!'        => \$mysync->{tls1},
         'tls2!'        => \$mysync->{tls2},
         'uid1!'        => \$uid1,
         'uid2!'        => \$uid2,
-        'authmech1=s' => \$authmech1,
-        'authmech2=s' => \$authmech2,
-        'authuser1=s' => \$authuser1,
-        'authuser2=s' => \$authuser2,
-        'proxyauth1'  => \$proxyauth1,
-        'proxyauth2'  => \$proxyauth2,
+        'authmech1=s' => \$mysync->{ acc1 }->{ authmech },
+        'authmech2=s' => \$mysync->{ acc2 }->{ authmech },
+        'authuser1=s' => \$mysync->{ acc1 }->{ authuser },
+        'authuser2=s' => \$mysync->{ acc2 }->{ authuser },
+        'proxyauth1'  => \$mysync->{ acc1 }->{ proxyauth },
+        'proxyauth2'  => \$mysync->{ acc2 }->{ proxyauth },
         'split1=i'    => \$split1,
         'split2=i'    => \$split2,
         'buffersize=i' => \$buffersize,
-        'reconnectretry1=i' => \$reconnectretry1,
-        'reconnectretry2=i' => \$reconnectretry2,
+        'reconnectretry1=i' => \$mysync->{ acc1 }->{ reconnectretry },
+        'reconnectretry2=i' => \$mysync->{ acc2 }->{ reconnectretry },
         'tests!'          => \$mysync->{ tests },
         'testsdebug|tests_debug!' => \$mysync->{ testsdebug },
         'testsunit=s@'    => \$mysync->{testsunit},
@@ -16816,15 +19200,23 @@
         'nof1f2'           => \$mysync->{nof1f2},
         'f1f2h=s%'         => \$mysync->{f1f2h},
         'justfolderlists!' => \$mysync->{justfolderlists},
-        'delete1emptyfolders' => \$mysync->{delete1emptyfolders},
+        'delete1emptyfolders'   => \$mysync->{delete1emptyfolders},
+        'checknoabletosearch!' => \$mysync->{checknoabletosearch},
+        'syncduplicates!'  => \$mysync->{ syncduplicates },
+        'dockercontext!'   => \$mysync->{ dockercontext },
+        
+
         ) ;
         #myprint( Data::Dumper->Dump( [ $mysync ] )  ) ;
         $mysync->{ debug } and output( $mysync, "get options: [$opt_ret][$numopt]\n" ) ;
         my $numopt_after = scalar @arguments ;
         #myprint( "get options: [$opt_ret][$numopt][$numopt_after]\n" ) ;
-        if ( $numopt_after ) {
+
+        # The $arguments[0] test is just because parallel adds "" when it is
+        # used with {=7=} in sync_parallel_unix.sh
+        if ( $numopt_after and $arguments[0] ) {
                 myprint(
-                        "Extra arguments found: @arguments\n",
+                        "Found ", scalar( @arguments ), " extra arguments : [@arguments]\n",
                         "It usually means a quoting issue in the command line ",
                         "or some misspelling options.\n",
                 ) ;
@@ -16915,6 +19307,25 @@
 	return $ret ;
 }
 
+
+sub condition_to_leave_after_tests
+{
+        my $mysync = shift ;
+        if ( $mysync->{ testslive } or $mysync->{ testslive6 } )
+        {
+                return 0 ;
+        }
+
+        if ( $mysync->{ tests } 
+          or $mysync->{ testsdebug } 
+          or $mysync->{ testsunit } 
+        )
+        {
+                return 1 ;
+        }
+}
+
+
 sub testunitsession
 {
 	my $mysync = shift ;
@@ -17055,7 +19466,9 @@
                 #tests_killpid_by_brother(  ) ;
                 #tests_kill_zero(  ) ;
                 #tests_connect_socket(  ) ;
-                tests_probe_imapssl(  ) ;
+                #tests_probe_imapssl(  ) ;
+                tests_cpu_number(  ) ;
+                tests_mailimapclient_connect(  ) ;
                 #tests_always_fail(  ) ;
 
                 note( 'Leaving  testsdebug()' ) ;
@@ -17077,7 +19490,7 @@
                 tests_compare_lists(  ) ;
                 tests_regexmess(  ) ;
                 tests_skipmess(  ) ;
-                tests_flags_regex();
+                tests_regexflags(  );
                 tests_ucsecond(  ) ;
                 tests_permanentflags();
                 tests_flags_filter(  ) ;
@@ -17186,7 +19599,7 @@
                 tests_remove_pidfile_not_running(  ) ;
                 tests_match_a_pid_number(  ) ;
                 tests_prefix_seperator_invertion(  ) ;
-                tests_is_an_integer(  ) ;
+                tests_is_integer(  ) ;
                 tests_integer_or_1(  ) ;
                 tests_is_number(  ) ;
                 tests_sig_install(  ) ;
@@ -17232,16 +19645,37 @@
                 tests_abort(  ) ;
                 tests_probe_imapssl(  ) ;
                 tests_mailimapclient_connect(  ) ;
+                tests_checknoabletosearch(  ) ;
+                tests_errorsdump(  ) ;
+                tests_errorsanalyse(  ) ;
+                tests_most_common_error(  ) ;
+                tests_errorclassify(  ) ;
+                tests_error_type(  ) ;
+                tests_sanitize_host(  ) ;
+                tests_hmac_sha1_hex(  ) ;
+                tests_total_bytes_max_reached(  ) ;
+                tests_header_construct(  ) ;
+                tests_remove_doublequotes_if_any(  ) ;
+                tests_login_imap(  ) ;
+                tests_login_imap_oauth(  ) ;
+                tests_skipmess_neg(  ) ;
+                tests_localtimez(  ) ;
+                tests_file_to_array(  ) ;
+                tests_cpu_time(  ) ;
+                tests_cpu_percent(  ) ;
+                tests_cpu_percent_global(  ) ;
+                tests_flags_for_host2(  ) ;
+                tests_under_docker_context(  ) ;
                 #tests_resolv(  ) ;
-                
-                # Those three are for later use, when webserver will be inside imapsync 
+
+                # Those three are for later use, when webserver will be inside imapsync
                 # or will be deleted them if I abandon the project.
                 #tests_killpid_by_parent(  ) ;
                 #tests_killpid_by_brother(  ) ;
                 #tests_kill_zero(  ) ;
-                
+
                 #tests_always_fail(  ) ;
-                done_testing( 1496 ) ;
+                done_testing( 1742 ) ;
                 note( 'Leaving  tests()' ) ;
         }
         return ;
@@ -17251,11 +19685,19 @@
 {
         note( 'Entering tests_template()' ) ;
 
-        is( undef, undef,  'template: no args => undef' ) ;
+        is( undef, template(  ),  'template: no args => undef' ) ;
+        my $mysync = {  } ;
+        is( undef, template( $mysync ),  'template: undef => undef' ) ;
         is_deeply( {}, {}, 'template: a hash is a hash' ) ;
         is_deeply( [], [], 'template: an array is an array' ) ;
+
         note( 'Leaving  tests_template()' ) ;
         return ;
 }
 
-
+sub template
+{
+        my $mysync = shift @ARG ;
+        
+        return ;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync_cron.pl b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync_cron.pl
deleted file mode 100644
index 746b1d4..0000000
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync_cron.pl
+++ /dev/null
@@ -1,180 +0,0 @@
-#!/usr/bin/perl
-
-use DBI;
-use LockFile::Simple qw(lock trylock unlock);
-use Proc::ProcessTable;
-use Data::Dumper qw(Dumper);
-use IPC::Run 'run';
-use File::Temp;
-use Try::Tiny;
-use sigtrap 'handler' => \&sig_handler, qw(INT TERM KILL QUIT);
-
-sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };
-my $t = Proc::ProcessTable->new;
-my $imapsync_running = grep { $_->{cmndline} =~ /imapsync\s/i } @{$t->table};
-if ($imapsync_running ge 1)
-{
-  print "imapsync is active, exiting...";
-  exit;
-}
-
-sub qqw($) {
-  my @params = ();
-  my @values = split(/(?=--)/, $_[0]);
-  foreach my $val (@values) {
-    my @tmpparam = split(/ /, $val, 2);
-    foreach my $tmpval (@tmpparam) {
-        if ($tmpval ne '') {
-          push @params, $tmpval;
-        }
-    }
-  }
-  foreach my $val (@params) {
-    $val=trim($val);
-  }
-  return @params;
-}
-
-$run_dir="/tmp";
-$dsn = 'DBI:mysql:database=__DBNAME__;mysql_socket=/var/run/mysqld/mysqld.sock';
-$lock_file = $run_dir . "/imapsync_busy";
-$lockmgr = LockFile::Simple->make(-autoclean => 1, -max => 1);
-$lockmgr->lock($lock_file) || die "can't lock ${lock_file}";
-$dbh = DBI->connect($dsn, '__DBUSER__', '__DBPASS__', {
-  mysql_auto_reconnect => 1,
-  mysql_enable_utf8mb4 => 1
-});
-$dbh->do("UPDATE imapsync SET is_running = 0");
-
-sub sig_handler {
-  # Send die to force exception in "run"
-  die "sig_handler received signal, preparing to exit...\n";
-};
-
-open my $file, '<', "/etc/sogo/sieve.creds"; 
-my $creds = <$file>; 
-close $file;
-my ($master_user, $master_pass) = split /:/, $creds;
-my $sth = $dbh->prepare("SELECT id,
-  user1,
-  user2,
-  host1,
-  authmech1,
-  password1,
-  exclude,
-  port1,
-  enc1,
-  delete2duplicates,
-  maxage,
-  subfolder2,
-  delete1,
-  delete2,
-  automap,
-  skipcrossduplicates,
-  maxbytespersecond,
-  custom_params,
-  subscribeall,
-  timeout1,
-  timeout2
-    FROM imapsync
-      WHERE active = 1
-        AND is_running = 0
-        AND (
-          UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(last_run) > mins_interval * 60
-          OR
-          last_run IS NULL)
-  ORDER BY last_run");
-
-$sth->execute();
-my $row;
-
-while ($row = $sth->fetchrow_arrayref()) {
-
-  $id                  = @$row[0];
-  $user1               = @$row[1];
-  $user2               = @$row[2];
-  $host1               = @$row[3];
-  $authmech1           = @$row[4];
-  $password1           = @$row[5];
-  $exclude             = @$row[6];
-  $port1               = @$row[7];
-  $enc1                = @$row[8];
-  $delete2duplicates   = @$row[9];
-  $maxage              = @$row[10];
-  $subfolder2          = @$row[11];
-  $delete1             = @$row[12];
-  $delete2             = @$row[13];
-  $automap             = @$row[14];
-  $skipcrossduplicates = @$row[15];
-  $maxbytespersecond   = @$row[16];
-  $custom_params       = @$row[17];
-  $subscribeall        = @$row[18];
-  $timeout1            = @$row[19];
-  $timeout2            = @$row[20];
-
-  if ($enc1 eq "TLS") { $enc1 = "--tls1"; } elsif ($enc1 eq "SSL") { $enc1 = "--ssl1"; } else { undef $enc1; }
-
-  my $template = $run_dir . '/imapsync.XXXXXXX';
-  my $passfile1 = File::Temp->new(TEMPLATE => $template);
-  my $passfile2 = File::Temp->new(TEMPLATE => $template);
-
-  print $passfile1 "$password1\n";
-  print $passfile2 trim($master_pass) . "\n";
-
-  my @custom_params_a = qqw($custom_params);
-  my $custom_params_ref = \@custom_params_a;
-
-  my $generated_cmds = [ "/usr/local/bin/imapsync",
-  "--tmpdir", "/tmp",
-  "--nofoldersizes",
-  ($timeout1 gt "0" ? () : ('--timeout1', $timeout1)),
-  ($timeout2 gt "0" ? () : ('--timeout2', $timeout2)),
-  ($exclude eq "" ? () : ("--exclude", $exclude)),
-  ($subfolder2 eq "" ? () : ('--subfolder2', $subfolder2)),
-  ($maxage eq "0" ? () : ('--maxage', $maxage)),
-  ($maxbytespersecond eq "0" ? () : ('--maxbytespersecond', $maxbytespersecond)),
-  ($delete2duplicates ne "1" ? () : ('--delete2duplicates')),
-  ($subscribeall  ne "1" ? () : ('--subscribeall')),
-  ($delete1 ne "1" ? () : ('--delete')),
-  ($delete2 ne "1" ? () : ('--delete2')),
-  ($automap ne "1" ? () : ('--automap')),
-  ($skipcrossduplicates ne "1" ? () : ('--skipcrossduplicates')),
-  (!defined($enc1) ? () : ($enc1)),
-  "--host1", $host1,
-  "--user1", $user1,
-  "--passfile1", $passfile1->filename,
-  "--port1", $port1,
-  "--host2", "localhost",
-  "--user2", $user2 . '*' . trim($master_user),
-  "--passfile2", $passfile2->filename,
-  '--no-modulesversion',
-  '--noreleasecheck'];
-
-  try {
-    $is_running = $dbh->prepare("UPDATE imapsync SET is_running = 1 WHERE id = ?");
-    $is_running->bind_param( 1, ${id} );
-    $is_running->execute();
-    
-    run [@$generated_cmds, @$custom_params_ref], '&>', \my $stdout;
-    
-    $update = $dbh->prepare("UPDATE imapsync SET returned_text = ? WHERE id = ?");
-    $update->bind_param( 1, ${stdout} );
-    $update->bind_param( 2, ${id} );
-    $update->execute();
-  } catch {
-    $update = $dbh->prepare("UPDATE imapsync SET returned_text = 'Could not start or finish imapsync' WHERE id = ?");
-    $update->bind_param( 1, ${id} );
-    $update->execute();
-  } finally {
-    $update = $dbh->prepare("UPDATE imapsync SET last_run = NOW(), is_running = 0 WHERE id = ?");
-    $update->bind_param( 1, ${id} );
-    $update->execute();
-  };
-
-
-}
-
-$sth->finish();
-$dbh->disconnect();
-
-$lockmgr->unlock($lock_file);
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync_runner.pl b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync_runner.pl
new file mode 100644
index 0000000..0f01a97
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/imapsync_runner.pl
@@ -0,0 +1,181 @@
+#!/usr/bin/perl
+
+use DBI;
+use LockFile::Simple qw(lock trylock unlock);
+use Proc::ProcessTable;
+use Data::Dumper qw(Dumper);
+use IPC::Run 'run';
+use File::Temp;
+use Try::Tiny;
+use sigtrap 'handler' => \&sig_handler, qw(INT TERM KILL QUIT);
+
+sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s };
+my $t = Proc::ProcessTable->new;
+my $imapsync_running = grep { $_->{cmndline} =~ /imapsync\s/i } @{$t->table};
+if ($imapsync_running ge 1)
+{
+  print "imapsync is active, exiting...";
+  exit;
+}
+
+sub qqw($) {
+  my @params = ();
+  my @values = split(/(?=--)/, $_[0]);
+  foreach my $val (@values) {
+    my @tmpparam = split(/ /, $val, 2);
+    foreach my $tmpval (@tmpparam) {
+        if ($tmpval ne '') {
+          push @params, $tmpval;
+        }
+    }
+  }
+  foreach my $val (@params) {
+    $val=trim($val);
+  }
+  return @params;
+}
+
+$run_dir="/tmp";
+$dsn = 'DBI:mysql:database=' . $ENV{'DBNAME'} . ';mysql_socket=/var/run/mysqld/mysqld.sock';
+$lock_file = $run_dir . "/imapsync_busy";
+$lockmgr = LockFile::Simple->make(-autoclean => 1, -max => 1);
+$lockmgr->lock($lock_file) || die "can't lock ${lock_file}";
+$dbh = DBI->connect($dsn, $ENV{'DBUSER'}, $ENV{'DBPASS'}, {
+  mysql_auto_reconnect => 1,
+  mysql_enable_utf8mb4 => 1
+});
+$dbh->do("UPDATE imapsync SET is_running = 0");
+
+sub sig_handler {
+  # Send die to force exception in "run"
+  die "sig_handler received signal, preparing to exit...\n";
+};
+
+open my $file, '<', "/etc/sogo/sieve.creds"; 
+my $creds = <$file>; 
+close $file;
+my ($master_user, $master_pass) = split /:/, $creds;
+my $sth = $dbh->prepare("SELECT id,
+  user1,
+  user2,
+  host1,
+  authmech1,
+  password1,
+  exclude,
+  port1,
+  enc1,
+  delete2duplicates,
+  maxage,
+  subfolder2,
+  delete1,
+  delete2,
+  automap,
+  skipcrossduplicates,
+  maxbytespersecond,
+  custom_params,
+  subscribeall,
+  timeout1,
+  timeout2
+    FROM imapsync
+      WHERE active = 1
+        AND is_running = 0
+        AND (
+          UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(last_run) > mins_interval * 60
+          OR
+          last_run IS NULL)
+  ORDER BY last_run");
+
+$sth->execute();
+my $row;
+
+while ($row = $sth->fetchrow_arrayref()) {
+
+  $id                  = @$row[0];
+  $user1               = @$row[1];
+  $user2               = @$row[2];
+  $host1               = @$row[3];
+  $authmech1           = @$row[4];
+  $password1           = @$row[5];
+  $exclude             = @$row[6];
+  $port1               = @$row[7];
+  $enc1                = @$row[8];
+  $delete2duplicates   = @$row[9];
+  $maxage              = @$row[10];
+  $subfolder2          = @$row[11];
+  $delete1             = @$row[12];
+  $delete2             = @$row[13];
+  $automap             = @$row[14];
+  $skipcrossduplicates = @$row[15];
+  $maxbytespersecond   = @$row[16];
+  $custom_params       = @$row[17];
+  $subscribeall        = @$row[18];
+  $timeout1            = @$row[19];
+  $timeout2            = @$row[20];
+
+  if ($enc1 eq "TLS") { $enc1 = "--tls1"; } elsif ($enc1 eq "SSL") { $enc1 = "--ssl1"; } else { undef $enc1; }
+
+  my $template = $run_dir . '/imapsync.XXXXXXX';
+  my $passfile1 = File::Temp->new(TEMPLATE => $template);
+  my $passfile2 = File::Temp->new(TEMPLATE => $template);
+
+  print $passfile1 "$password1\n";
+  print $passfile2 trim($master_pass) . "\n";
+
+  my @custom_params_a = qqw($custom_params);
+  my $custom_params_ref = \@custom_params_a;
+
+  my $generated_cmds = [ "/usr/local/bin/imapsync",
+  "--tmpdir", "/tmp",
+  "--nofoldersizes",
+  "--addheader",
+  ($timeout1 gt "0" ? () : ('--timeout1', $timeout1)),
+  ($timeout2 gt "0" ? () : ('--timeout2', $timeout2)),
+  ($exclude eq "" ? () : ("--exclude", $exclude)),
+  ($subfolder2 eq "" ? () : ('--subfolder2', $subfolder2)),
+  ($maxage eq "0" ? () : ('--maxage', $maxage)),
+  ($maxbytespersecond eq "0" ? () : ('--maxbytespersecond', $maxbytespersecond)),
+  ($delete2duplicates ne "1" ? () : ('--delete2duplicates')),
+  ($subscribeall  ne "1" ? () : ('--subscribeall')),
+  ($delete1 ne "1" ? () : ('--delete')),
+  ($delete2 ne "1" ? () : ('--delete2')),
+  ($automap ne "1" ? () : ('--automap')),
+  ($skipcrossduplicates ne "1" ? () : ('--skipcrossduplicates')),
+  (!defined($enc1) ? () : ($enc1)),
+  "--host1", $host1,
+  "--user1", $user1,
+  "--passfile1", $passfile1->filename,
+  "--port1", $port1,
+  "--host2", "localhost",
+  "--user2", $user2 . '*' . trim($master_user),
+  "--passfile2", $passfile2->filename,
+  '--no-modulesversion',
+  '--noreleasecheck'];
+
+  try {
+    $is_running = $dbh->prepare("UPDATE imapsync SET is_running = 1 WHERE id = ?");
+    $is_running->bind_param( 1, ${id} );
+    $is_running->execute();
+    
+    run [@$generated_cmds, @$custom_params_ref], '&>', \my $stdout;
+    
+    $update = $dbh->prepare("UPDATE imapsync SET returned_text = ? WHERE id = ?");
+    $update->bind_param( 1, ${stdout} );
+    $update->bind_param( 2, ${id} );
+    $update->execute();
+  } catch {
+    $update = $dbh->prepare("UPDATE imapsync SET returned_text = 'Could not start or finish imapsync' WHERE id = ?");
+    $update->bind_param( 1, ${id} );
+    $update->execute();
+  } finally {
+    $update = $dbh->prepare("UPDATE imapsync SET last_run = NOW(), is_running = 0 WHERE id = ?");
+    $update->bind_param( 1, ${id} );
+    $update->execute();
+  };
+
+
+}
+
+$sth->finish();
+$dbh->disconnect();
+
+$lockmgr->unlock($lock_file);
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/maildir_gc.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/maildir_gc.sh
index 24c1e46..21358cc 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/maildir_gc.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/maildir_gc.sh
@@ -1,2 +1,2 @@
-#/bin/bash
+#!/bin/bash
 [ -d /var/vmail/_garbage/ ] && /usr/bin/find /var/vmail/_garbage/ -mindepth 1 -maxdepth 1 -type d -cmin +${MAILDIR_GC_TIME} -exec rm -r {} \;
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/postlogin.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/postlogin.sh
deleted file mode 100755
index 01a45f3..0000000
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/postlogin.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-export MASTER_USER=$USER
-exec "$@"
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quarantine_notify.py b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quarantine_notify.py
index adf3171..acd887a 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quarantine_notify.py
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quarantine_notify.py
@@ -2,6 +2,7 @@
 
 import smtplib
 import os
+import sys
 import mysql.connector
 from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
@@ -15,137 +16,154 @@
 import html2text
 import socket
 
-while True:
-  try:
-    r = redis.StrictRedis(host='redis', decode_responses=True, port=6379, db=0)
-    r.ping()
-  except Exception as ex:
-    print('%s - trying again...'  % (ex))
-    time.sleep(3)
-  else:
-    break
+pid = str(os.getpid())
+pidfile = "/tmp/quarantine_notify.pid"
 
-time_now = int(time.time())
-mailcow_hostname = '__MAILCOW_HOSTNAME__'
+if os.path.isfile(pidfile):
+  print("%s already exists, exiting" % (pidfile))
+  sys.exit()
 
-max_score = float(r.get('Q_MAX_SCORE') or "9999.0")
-if max_score == "":
-  max_score = 9999.0
+pid = str(os.getpid())
+f = open(pidfile, 'w')
+f.write(pid)
+f.close()
 
-def query_mysql(query, headers = True, update = False):
+try:
+
   while True:
     try:
-      cnx = mysql.connector.connect(unix_socket = '/var/run/mysqld/mysqld.sock', user='__DBUSER__', passwd='__DBPASS__', database='__DBNAME__', charset="utf8")
+      r = redis.StrictRedis(host='redis', decode_responses=True, port=6379, db=0)
+      r.ping()
     except Exception as ex:
       print('%s - trying again...'  % (ex))
       time.sleep(3)
     else:
       break
-  cur = cnx.cursor()
-  cur.execute(query)
-  if not update:
-    result = []
-    columns = tuple( [d[0] for d in cur.description] )
-    for row in cur:
-      if headers:
-        result.append(dict(list(zip(columns, row))))
-      else:
-        result.append(row)
-    cur.close()
-    cnx.close()
-    return result
-  else:
-    cnx.commit()
-    cur.close()
-    cnx.close()
 
-def notify_rcpt(rcpt, msg_count, quarantine_acl, category):
-  if category == "add_header": category = "add header"
-  meta_query = query_mysql('SELECT SHA2(CONCAT(id, qid), 256) AS qhash, id, subject, score, sender, created, action FROM quarantine WHERE notified = 0 AND rcpt = "%s" AND score < %f AND (action = "%s" OR "all" = "%s")' % (rcpt, max_score, category, category))
-  print("%s: %d of %d messages qualify for notification" % (rcpt, len(meta_query), msg_count))
-  if len(meta_query) == 0:
-    return
-  msg_count = len(meta_query)
-  if r.get('Q_HTML'):
-    try:
-      template = Template(r.get('Q_HTML'))
-    except:
-      print("Error: Cannot parse quarantine template, falling back to default template.")
+  time_now = int(time.time())
+  mailcow_hostname = os.environ.get('MAILCOW_HOSTNAME')
+
+  max_score = float(r.get('Q_MAX_SCORE') or "9999.0")
+  if max_score == "":
+    max_score = 9999.0
+
+  def query_mysql(query, headers = True, update = False):
+    while True:
+      try:
+        cnx = mysql.connector.connect(unix_socket = '/var/run/mysqld/mysqld.sock', user=os.environ.get('DBUSER'), passwd=os.environ.get('DBPASS'), database=os.environ.get('DBNAME'), charset="utf8")
+      except Exception as ex:
+        print('%s - trying again...'  % (ex))
+        time.sleep(3)
+      else:
+        break
+    cur = cnx.cursor()
+    cur.execute(query)
+    if not update:
+      result = []
+      columns = tuple( [d[0] for d in cur.description] )
+      for row in cur:
+        if headers:
+          result.append(dict(list(zip(columns, row))))
+        else:
+          result.append(row)
+      cur.close()
+      cnx.close()
+      return result
+    else:
+      cnx.commit()
+      cur.close()
+      cnx.close()
+
+  def notify_rcpt(rcpt, msg_count, quarantine_acl, category):
+    if category == "add_header": category = "add header"
+    meta_query = query_mysql('SELECT SHA2(CONCAT(id, qid), 256) AS qhash, id, subject, score, sender, created, action FROM quarantine WHERE notified = 0 AND rcpt = "%s" AND score < %f AND (action = "%s" OR "all" = "%s")' % (rcpt, max_score, category, category))
+    print("%s: %d of %d messages qualify for notification" % (rcpt, len(meta_query), msg_count))
+    if len(meta_query) == 0:
+      return
+    msg_count = len(meta_query)
+    if r.get('Q_HTML'):
+      try:
+        template = Template(r.get('Q_HTML'))
+      except:
+        print("Error: Cannot parse quarantine template, falling back to default template.")
+        with open('/templates/quarantine.tpl') as file_:
+          template = Template(file_.read())
+    else:
       with open('/templates/quarantine.tpl') as file_:
         template = Template(file_.read())
-  else:
-    with open('/templates/quarantine.tpl') as file_:
-      template = Template(file_.read())
-  html = template.render(meta=meta_query, username=rcpt, counter=msg_count, hostname=mailcow_hostname, quarantine_acl=quarantine_acl)
-  text = html2text.html2text(html)
-  count = 0
-  while count < 15:
-    count += 1
+    html = template.render(meta=meta_query, username=rcpt, counter=msg_count, hostname=mailcow_hostname, quarantine_acl=quarantine_acl)
+    text = html2text.html2text(html)
+    count = 0
+    while count < 15:
+      count += 1
+      try:
+        server = smtplib.SMTP('postfix', 590, 'quarantine')
+        server.ehlo()
+        msg = MIMEMultipart('alternative')
+        msg_from = r.get('Q_SENDER') or "quarantine@localhost"
+        # Remove non-ascii chars from field
+        msg['From'] = ''.join([i if ord(i) < 128 else '' for i in msg_from])
+        msg['Subject'] = r.get('Q_SUBJ') or "Spam Quarantine Notification"
+        msg['Date'] = formatdate(localtime = True)
+        text_part = MIMEText(text, 'plain', 'utf-8')
+        html_part = MIMEText(html, 'html', 'utf-8')
+        msg.attach(text_part)
+        msg.attach(html_part)
+        msg['To'] = str(rcpt)
+        bcc = r.get('Q_BCC') or ""
+        redirect = r.get('Q_REDIRECT') or ""
+        text = msg.as_string()
+        if bcc == '':
+          if redirect == '':
+            server.sendmail(msg['From'], str(rcpt), text)
+          else:
+            server.sendmail(msg['From'], str(redirect), text)
+        else:
+          if redirect == '':
+            server.sendmail(msg['From'], [str(rcpt)] + [str(bcc)], text)
+          else:
+            server.sendmail(msg['From'], [str(redirect)] + [str(bcc)], text)
+        server.quit()
+        for res in meta_query:
+         query_mysql('UPDATE quarantine SET notified = 1 WHERE id = "%d"' % (res['id']), update = True)
+        r.hset('Q_LAST_NOTIFIED', record['rcpt'], time_now)
+        break
+      except Exception as ex:
+        server.quit()
+        print('%s'  % (ex))
+        time.sleep(3)
+
+  records = query_mysql('SELECT IFNULL(user_acl.quarantine, 0) AS quarantine_acl, count(id) AS counter, rcpt FROM quarantine LEFT OUTER JOIN user_acl ON user_acl.username = rcpt WHERE notified = 0 AND score < %f AND rcpt in (SELECT username FROM mailbox) GROUP BY rcpt' % (max_score))
+
+  for record in records:
+    attrs = ''
+    attrs_json = ''
+    time_trans = {
+      "hourly": 3600,
+      "daily": 86400,
+      "weekly": 604800
+    }
     try:
-      server = smtplib.SMTP('postfix', 590, 'quarantine')
-      server.ehlo()
-      msg = MIMEMultipart('alternative')
-      msg_from = r.get('Q_SENDER') or "quarantine@localhost"
-      # Remove non-ascii chars from field
-      msg['From'] = ''.join([i if ord(i) < 128 else '' for i in msg_from])
-      msg['Subject'] = r.get('Q_SUBJ') or "Spam Quarantine Notification"
-      msg['Date'] = formatdate(localtime = True)
-      text_part = MIMEText(text, 'plain', 'utf-8')
-      html_part = MIMEText(html, 'html', 'utf-8')
-      msg.attach(text_part)
-      msg.attach(html_part)
-      msg['To'] = str(rcpt)
-      bcc = r.get('Q_BCC') or ""
-      redirect = r.get('Q_REDIRECT') or ""
-      text = msg.as_string()
-      if bcc == '':
-        if redirect == '':
-          server.sendmail(msg['From'], str(rcpt), text)
-        else:
-          server.sendmail(msg['From'], str(redirect), text)
-      else:
-        if redirect == '':
-          server.sendmail(msg['From'], [str(rcpt)] + [str(bcc)], text)
-        else:
-          server.sendmail(msg['From'], [str(redirect)] + [str(bcc)], text)
-      server.quit()
-      for res in meta_query:
-       query_mysql('UPDATE quarantine SET notified = 1 WHERE id = "%d"' % (res['id']), update = True)
-      r.hset('Q_LAST_NOTIFIED', record['rcpt'], time_now)
-      break
+      last_notification = int(r.hget('Q_LAST_NOTIFIED', record['rcpt']))
+      if last_notification > time_now:
+        print('Last notification is > time now, assuming never')
+        last_notification = 0
     except Exception as ex:
-      server.quit()
-      print('%s'  % (ex))
-      time.sleep(3)
-
-records = query_mysql('SELECT IFNULL(user_acl.quarantine, 0) AS quarantine_acl, count(id) AS counter, rcpt FROM quarantine LEFT OUTER JOIN user_acl ON user_acl.username = rcpt WHERE notified = 0 AND score < %f AND rcpt in (SELECT username FROM mailbox) GROUP BY rcpt' % (max_score))
-
-for record in records:
-  attrs = ''
-  attrs_json = ''
-  time_trans = {
-    "hourly": 3600,
-    "daily": 86400,
-    "weekly": 604800
-  }
-  try:
-    last_notification = int(r.hget('Q_LAST_NOTIFIED', record['rcpt']))
-    if last_notification > time_now:
-      print('Last notification is > time now, assuming never')
+      print('Could not determine last notification for %s, assuming never' % (record['rcpt']))
       last_notification = 0
-  except Exception as ex:
-    print('Could not determine last notification for %s, assuming never' % (record['rcpt']))
-    last_notification = 0
-  attrs_json = query_mysql('SELECT attributes FROM mailbox WHERE username = "%s"' % (record['rcpt']))
-  attrs = attrs_json[0]['attributes']
-  if isinstance(attrs, str):
-    # if attr is str then just load it
-    attrs = json.loads(attrs)
-  else:
-    # if it's bytes then decode and load it
-    attrs = json.loads(attrs.decode('utf-8'))
-  if attrs['quarantine_notification'] not in ('hourly', 'daily', 'weekly'):
-    continue
-  if last_notification == 0 or (last_notification + time_trans[attrs['quarantine_notification']]) < time_now:
-    print("Notifying %s: Considering %d new items in quarantine (policy: %s)" % (record['rcpt'], record['counter'], attrs['quarantine_notification']))
-    notify_rcpt(record['rcpt'], record['counter'], record['quarantine_acl'], attrs['quarantine_category'])
+    attrs_json = query_mysql('SELECT attributes FROM mailbox WHERE username = "%s"' % (record['rcpt']))
+    attrs = attrs_json[0]['attributes']
+    if isinstance(attrs, str):
+      # if attr is str then just load it
+      attrs = json.loads(attrs)
+    else:
+      # if it's bytes then decode and load it
+      attrs = json.loads(attrs.decode('utf-8'))
+    if attrs['quarantine_notification'] not in ('hourly', 'daily', 'weekly'):
+      continue
+    if last_notification == 0 or (last_notification + time_trans[attrs['quarantine_notification']]) < time_now:
+      print("Notifying %s: Considering %d new items in quarantine (policy: %s)" % (record['rcpt'], record['counter'], attrs['quarantine_notification']))
+      notify_rcpt(record['rcpt'], record['counter'], record['quarantine_acl'], attrs['quarantine_category'])
+
+finally:
+  os.unlink(pidfile)
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quota_notify.py b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quota_notify.py
index fdfda30..2d7361b 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quota_notify.py
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/quota_notify.py
@@ -9,6 +9,7 @@
 from jinja2 import Template
 import redis
 import time
+import json
 import sys
 import html2text
 from subprocess import Popen, PIPE, STDOUT
@@ -57,6 +58,27 @@
   p = Popen(['/usr/lib/dovecot/dovecot-lda', '-d', username, '-o', '"plugin/quota=maildir:User quota:noenforcing"'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
   p.communicate(input=bytes(msg.as_string(), 'utf-8'))
 
+  domain = username.split("@")[-1]
+  if domain and r.hget('QW_BCC', domain):
+    bcc_data = json.loads(r.hget('QW_BCC', domain))
+    bcc_rcpts = bcc_data['bcc_rcpts']
+    if bcc_data['active'] == 1:
+      for rcpt in bcc_rcpts:
+        msg = MIMEMultipart('alternative')
+        msg['From'] = username
+        subject = r.get('QW_SUBJ') or "Quota warning"
+        msg['Subject'] = subject + ' (' + username + ')'
+        msg['Date'] = formatdate(localtime = True)
+        text_part = MIMEText(text, 'plain', 'utf-8')
+        html_part = MIMEText(html, 'html', 'utf-8')
+        msg.attach(text_part)
+        msg.attach(html_part)
+        msg['To'] = rcpt
+        server = smtplib.SMTP('postfix', 588, 'quotanotification')
+        server.ehlo()
+        server.sendmail(msg['From'], str(rcpt), msg.as_string())
+        server.quit()
+
 except Exception as ex:
   print('Failed to send quota notification: %s' % (ex))
   sys.exit(1)
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/sa-rules.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/sa-rules.sh
index 1bfc8cc..89911c1 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/sa-rules.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/sa-rules.sh
@@ -2,7 +2,6 @@
 
 # Create temp directories
 [[ ! -d /tmp/sa-rules-heinlein ]] && mkdir -p /tmp/sa-rules-heinlein
-#[[ ! -d /tmp/sa-rules-schaal ]] && mkdir -p /tmp/sa-rules-schaal
 
 # Hash current SA rules
 if [[ ! -f /etc/rspamd/custom/sa-rules ]]; then
@@ -12,19 +11,11 @@
 fi
 
 # Deploy
-## Heinlein
-curl --connect-timeout 15 --retry 10 --max-time 30 http://www.spamassassin.heinlein-support.de/$(dig txt 1.4.3.spamassassin.heinlein-support.de +short | tr -d '"').tar.gz --output /tmp/sa-rules-heinlein.tar.gz
+curl --connect-timeout 15 --retry 10 --max-time 30 http://www.spamassassin.heinlein-support.de/$(dig txt 1.4.3.spamassassin.heinlein-support.de +short | tr -d '"' | tr -dc '0-9').tar.gz --output /tmp/sa-rules-heinlein.tar.gz
 if gzip -t /tmp/sa-rules-heinlein.tar.gz; then
   tar xfvz /tmp/sa-rules-heinlein.tar.gz -C /tmp/sa-rules-heinlein
   cat /tmp/sa-rules-heinlein/*cf > /etc/rspamd/custom/sa-rules
 fi
-## Schaal
-#curl --connect-timeout 15 --max-time 30 http://sa.schaal-it.net/$(dig txt 1.4.3.sa.schaal-it.net +short | tr -d '"').tar.gz --output /tmp/sa-rules-schaal.tar.gz
-#if gzip -t /tmp/sa-rules-schaal.tar.gz; then
-#  tar xfvz /tmp/sa-rules-schaal.tar.gz -C /tmp/sa-rules-schaal
-#  # Append, do not overwrite
-#  cat /tmp/sa-rules-schaal/*cf >> /etc/rspamd/custom/sa-rules
-#fi
 
 sed -i -e 's/\([^\\]\)\$\([^\/]\)/\1\\$\2/g' /etc/rspamd/custom/sa-rules
 
@@ -40,4 +31,3 @@
 
 # Cleanup
 rm -rf /tmp/sa-rules-heinlein /tmp/sa-rules-heinlein.tar.gz
-#rm -rf /tmp/sa-rules-schaal /tmp/sa-rules-schaal.tar.gz
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/supervisord.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/supervisord.conf
index 2d91b55..a769864 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/supervisord.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/supervisord.conf
@@ -15,10 +15,6 @@
 command=/usr/sbin/dovecot -F
 autorestart=true
 
-[program:cron]
-command=/usr/sbin/cron -f
-autorestart=true
-
 [eventlistener:processes]
 command=/usr/local/sbin/stop-supervisor.sh
 events=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng-redis_slave.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng-redis_slave.conf
index 335cbfe..f690509 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng-redis_slave.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng-redis_slave.conf
@@ -27,7 +27,7 @@
     host("`REDIS_SLAVEOF_IP`")
     persist-name("redis2")
     port(`REDIS_SLAVEOF_PORT`)
-    command("PUBLISH" "F2B_CHANNEL" "$MESSAGE")
+    command("PUBLISH" "F2B_CHANNEL" "$(sanitize $MESSAGE)")
   );
 };
 filter f_mail { facility(mail); };
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng.conf
index f0489ea..bdaca9c 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/syslog-ng.conf
@@ -27,7 +27,7 @@
     host("redis-mailcow")
     persist-name("redis2")
     port(6379)
-    command("PUBLISH" "F2B_CHANNEL" "$MESSAGE")
+    command("PUBLISH" "F2B_CHANNEL" "$(sanitize $MESSAGE)")
   );
 };
 filter f_mail { facility(mail); };
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/trim_logs.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/trim_logs.sh
index 2993a4c..9b0824e 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/trim_logs.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/dovecot/trim_logs.sh
@@ -14,12 +14,12 @@
 else
   REDIS_CMDLINE="redis-cli -h redis -p 6379"
 fi
-catch_non_zero "${REDIS_CMDLINE} LTRIM ACME_LOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM POSTFIX_MAILLOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM DOVECOT_MAILLOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM SOGO_LOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM NETFILTER_LOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM AUTODISCOVER_LOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM API_LOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM RL_LOG 0 __LOG_LINES__"
-catch_non_zero "${REDIS_CMDLINE} LTRIM WATCHDOG_LOG 0 __LOG_LINES__"
+catch_non_zero "${REDIS_CMDLINE} LTRIM ACME_LOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM POSTFIX_MAILLOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM DOVECOT_MAILLOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM SOGO_LOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM NETFILTER_LOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM AUTODISCOVER_LOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM API_LOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM RL_LOG 0 ${LOG_LINES}"
+catch_non_zero "${REDIS_CMDLINE} LTRIM WATCHDOG_LOG 0 ${LOG_LINES}"
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/Dockerfile
new file mode 100644
index 0000000..7758df2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/Dockerfile
@@ -0,0 +1,33 @@
+FROM ejabberd/ecs:21.01
+
+LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
+
+ENV GOSU_VERSION 1.11
+
+# We need to copy cert files, dropping rights at a later point
+USER root
+
+RUN apk add --update --no-cache su-exec \
+  bash \
+  tini \
+  jq \
+  mariadb-client \
+  redis \
+  tzdata \
+  curl \
+  openssl \
+  bind-tools \
+  composer \
+  php7-pdo \
+  php7-pdo_mysql \
+  php7-ctype
+
+RUN mkdir -p /var/www/authentication && \
+  cd /var/www/authentication && \
+  composer require leesherwood/ejabberd-php-auth monolog/monolog
+
+COPY docker-entrypoint.sh /docker-entrypoint.sh
+COPY authenticator /var/www/authentication/authenticator
+COPY mailcowCommandExecutor.php /var/www/authentication/vendor/leesherwood/ejabberd-php-auth/src/CommandExecutors/mailcowCommandExecutor.php
+
+ENTRYPOINT ["/docker-entrypoint.sh"]
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/authenticator b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/authenticator
new file mode 100755
index 0000000..96a6b8e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/authenticator
@@ -0,0 +1,19 @@
+#!/usr/bin/env php
+<?php
+require_once __DIR__."/vendor/autoload.php";
+
+use Monolog\Logger;
+use LeeSherwood\Ejabberd\AuthenticationService;
+use LeeSherwood\Ejabberd\CommandExecutors\mailcowCommandExecutor;
+
+$logger = new Logger('ejabberdAuth');
+
+$stdoutHandler = new Monolog\Handler\StreamHandler('/var/www/authentication/auth.log', Logger::INFO);
+
+$logger->pushHandler($stdoutHandler);
+
+$executor = new mailcowCommandExecutor();
+
+$application = new AuthenticationService($logger, $executor);
+
+$application->run();
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/docker-entrypoint.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/docker-entrypoint.sh
new file mode 100755
index 0000000..1777315
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/docker-entrypoint.sh
@@ -0,0 +1,100 @@
+#!/bin/bash
+set -e
+
+until dig +short mailcow.email > /dev/null; do
+  echo "Waiting for DNS..."
+  sleep 1
+done
+
+until nc phpfpm 9001 -z; do
+  echo "Waiting for PHP on port 9001..."
+  sleep 3
+done
+
+until nc phpfpm 9002 -z; do
+  echo "Waiting for PHP on port 9002..."
+  sleep 3
+done
+
+# Wait for MySQL to warm-up
+while ! mysqladmin status --socket=/var/run/mysqld/mysqld.sock -u${DBUSER} -p${DBPASS} --silent; do
+  echo "Waiting for database to come up..."
+  sleep 2
+done
+
+# We dont want to give global write access to ejabberd in this directory
+chown -R root:root /var/www/authentication
+
+[ ! -f /sqlite/sqlite.db ] && cp /sqlite/sqlite_template.db /sqlite/sqlite.db
+
+[ ! -d /ejabberd_ssl ] && mkdir /ejabberd_ssl
+cp /ssl/cert.pem /ejabberd_ssl/cert.pem
+cp /ssl/key.pem /ejabberd_ssl/key.pem
+
+# Write access to upload directory and log file for authenticator
+touch /var/www/authentication/auth.log
+chown -R ejabberd:ejabberd /var/www/upload \
+  /var/www/authentication/auth.log \
+  /sqlite \
+  /ejabberd_ssl
+
+# ACL file for vhosts, hosts file for vhosts
+touch /ejabberd/ejabberd_acl.yml \
+  /ejabberd/ejabberd_hosts.yml \
+  /ejabberd/ejabberd_macros.yml
+chmod 644 /ejabberd/ejabberd_acl.yml \
+  /ejabberd/ejabberd_hosts.yml \
+  /ejabberd/ejabberd_macros.yml
+chown 82:82 /ejabberd/ejabberd_acl.yml \
+  /ejabberd/ejabberd_hosts.yml
+chown 82:82 /ejabberd
+
+cat <<EOF > /ejabberd/ejabberd_api.yml
+# Autogenerated by mailcow
+api_permissions:
+  "Reload by mailcow":
+    who:
+      - ip: "${IPV4_NETWORK}.0/24"
+    what:
+      - "reload_config"
+      - "restart"
+      - "list_certificates"
+      - "list_cluster"
+      - "join_cluster"
+      - "leave_cluster"
+      - "backup"
+      - "status"
+      - "stats"
+      - "muc_online_rooms"
+EOF
+
+cat <<EOF > /ejabberd/ejabberd_macros.yml
+# Autogenerated by mailcow
+define_macro:
+  'MAILCOW_HOSTNAME': "${MAILCOW_HOSTNAME}"
+  'EJABBERD_HTTPS': ${XMPP_HTTPS_PORT}
+EOF
+
+# Set open_basedir
+sed -i 's/;open_basedir =/open_basedir = \/var\/www\/authentication/g' /etc/php7/php.ini
+
+sed -i "s/__DBUSER__/${DBUSER}/g" /var/www/authentication/vendor/leesherwood/ejabberd-php-auth/src/CommandExecutors/mailcowCommandExecutor.php
+sed -i "s/__DBPASS__/${DBPASS}/g" /var/www/authentication/vendor/leesherwood/ejabberd-php-auth/src/CommandExecutors/mailcowCommandExecutor.php
+sed -i "s/__DBNAME__/${DBNAME}/g" /var/www/authentication/vendor/leesherwood/ejabberd-php-auth/src/CommandExecutors/mailcowCommandExecutor.php
+
+# Run hooks
+for file in /hooks/*; do
+  if [ -x "${file}" ]; then
+    echo "Running hook ${file}"
+    "${file}"
+  fi
+done
+
+alias ejabberdctl="su-exec ejabberd /home/ejabberd/bin/ejabberdctl --node ejabberd@${MAILCOW_HOSTNAME}"
+
+if [[ -z "$(mysql --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -B -e 'SELECT domain FROM domain WHERE xmpp = 1')" ]]; then
+  echo "No XMPP host configured, sleeping the sleep of the righteous, waiting for someone to wake me up..."
+  exec su-exec ejabberd tini -g -- sleep 365d
+fi
+
+exec su-exec ejabberd tini -g -- /home/ejabberd/bin/ejabberdctl --node ejabberd@${MAILCOW_HOSTNAME} foreground
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/mailcowCommandExecutor.php b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/mailcowCommandExecutor.php
new file mode 100644
index 0000000..390783a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/ejabberd/mailcowCommandExecutor.php
@@ -0,0 +1,229 @@
+<?php namespace LeeSherwood\Ejabberd\CommandExecutors;
+
+/**
+ * Dummy command executor for ejabberd
+ *
+ * This class implements the command executor interface and just returns some sane boolean values.
+ * You may want to use this class to test your ejabberd external authentication module is set up correctly
+ * before you start creating your custom code.
+ *
+ * @package LeeSherwood\Ejabberd
+ * @author Lee Sherwood
+ */
+
+use \PDO;
+
+class mailcowCommandExecutor implements CommandExecutorInterface {
+
+    /**
+     * Authenticate a user (login)
+     *
+     * @param string $username
+     * @param string $servername
+     * @param string $password
+     *
+     * @return bool
+     */
+
+    public static function verify_salted_hash($hash, $password, $algo, $salt_length) {
+      // Decode hash
+      $dhash = base64_decode($hash);
+      // Get first n bytes of binary which equals a SSHA hash
+      $ohash = substr($dhash, 0, $salt_length);
+      // Remove SSHA hash from decoded hash to get original salt string
+      $osalt = str_replace($ohash, '', $dhash);
+      // Check single salted SSHA hash against extracted hash
+      if (hash_equals(hash($algo, $password . $osalt, true), $ohash)) {
+        return true;
+      }
+      return false;
+    }
+
+    public static function verify_hash($hash, $password) {
+      if (preg_match('/^{(.+)}(.+)/i', $hash, $hash_array)) {
+        $scheme = strtoupper($hash_array[1]);
+        $hash = $hash_array[2];
+        switch ($scheme) {
+          case "ARGON2I":
+          case "ARGON2ID":
+          case "BLF-CRYPT":
+          case "CRYPT":
+          case "DES-CRYPT":
+          case "MD5-CRYPT":
+          case "MD5":
+          case "SHA256-CRYPT":
+          case "SHA512-CRYPT":
+            return password_verify($password, $hash);
+
+          case "CLEAR":
+          case "CLEARTEXT":
+          case "PLAIN":
+            return $password == $hash;
+
+          case "LDAP-MD5":
+            $hash = base64_decode($hash);
+            return hash_equals(hash('md5', $password, true), $hash);
+
+          case "PBKDF2":
+            $components = explode('$', $hash);
+            $salt = $components[2];
+            $rounds = $components[3];
+            $hash = $components[4];
+            return hash_equals(hash_pbkdf2('sha1', $password, $salt, $rounds), $hash);
+
+          case "PLAIN-MD4":
+            return hash_equals(hash('md4', $password), $hash);
+
+          case "PLAIN-MD5":
+            return md5($password) == $hash;
+
+          case "PLAIN-TRUNC":
+            $components = explode('-', $hash);
+            if (count($components) > 1) {
+              $trunc_len = $components[0];
+              $trunc_password = $components[1];
+
+              return substr($password, 0, $trunc_len) == $trunc_password;
+            } else {
+              return $password == $hash;
+            }
+
+          case "SHA":
+          case "SHA1":
+          case "SHA256":
+          case "SHA512":
+            // SHA is an alias for SHA1
+            $scheme = $scheme == "SHA" ? "sha1" : strtolower($scheme);
+            $hash = base64_decode($hash);
+            return hash_equals(hash($scheme, $password, true), $hash);
+
+          case "SMD5":
+            return self::verify_salted_hash($hash, $password, 'md5', 16);
+
+          case "SSHA":
+            return self::verify_salted_hash($hash, $password, 'sha1', 20);
+
+          case "SSHA256":
+            return self::verify_salted_hash($hash, $password, 'sha256', 32);
+
+          case "SSHA512":
+            return self::verify_salted_hash($hash, $password, 'sha512', 64);
+
+          default:
+            return false;
+        }
+      }
+      return false;
+    }
+
+    public function authenticate($username, $servername, $password)
+    {
+      $database_type = 'mysql';
+      $database_sock = '/var/run/mysqld/mysqld.sock';
+      $database_user = '__DBUSER__';
+      $database_pass = '__DBPASS__';
+      $database_name = '__DBNAME__';
+
+      $dsn = $database_type . ":unix_socket=" . $database_sock . ";dbname=" . $database_name;
+      $opt = [
+        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
+        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+        PDO::ATTR_EMULATE_PREPARES   => false
+      ];
+      try {
+        $pdo = new PDO($dsn, $database_user, $database_pass, $opt);
+      }
+      catch (PDOException $e) {
+        return false;
+      }
+      if (!filter_var($username, FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $username))) {
+        return false;
+      }
+      $username = strtolower(trim($username));
+      $stmt = $pdo->prepare("SELECT `password` FROM `mailbox`
+          INNER JOIN domain on mailbox.domain = domain.domain
+          WHERE `kind` NOT REGEXP 'location|thing|group'
+            AND `mailbox`.`active`= '1'
+            AND `domain`.`active`= '1'
+            AND `domain`.`xmpp` = '1'
+            AND JSON_UNQUOTE(JSON_VALUE(`mailbox`.`attributes`, '$.xmpp_access')) = '1'
+            AND CONCAT(`domain`.`xmpp_prefix`, '.', `domain`.`domain`) = :servername
+            AND `username` = CONCAT(:local_part, '@', `domain`.`domain`)");
+      $stmt->execute(array(':local_part' => $username, ':servername' => $servername));
+      $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+      foreach ($rows as $row) {
+        if (self::verify_hash($row['password'], $password) !== false) {
+          return true;
+        }
+      }
+      return false;
+    }
+
+    /**
+     * Check if a user exists
+     *
+     * @param string $username
+     * @param string $servername
+     *
+     * @return bool
+     */
+    public function userExists($username, $servername)
+    {
+        return true;
+    }
+
+    /**
+     * Set a password for a user
+     *
+     * @param string $username
+     * @param string $servername
+     * @param string $password
+     *
+     * @return bool
+     */
+    public function setPassword($username, $servername, $password)
+    {
+        return false;
+    }
+
+    /**
+     * Register a user
+     *
+     * @param string $username
+     * @param string $servername
+     * @param string $password
+     *
+     * @return bool
+     */
+    public function register($username, $servername, $password)
+    {
+        return false;
+    }
+
+    /**
+     * Delete a user
+     *
+     * @param string $username
+     * @param string $servername
+     *
+     * @return bool
+     */
+    public function removeUser($username, $servername)
+    {
+        return false;
+    }
+
+    /**
+     * Delete a user with password validation
+     *
+     * @param string $username
+     * @param string $servername
+     * @param string $password
+     *
+     * @return bool
+     */
+    public function removeUserWithPassword($username, $servername, $password)
+    {
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/Dockerfile
index 42aafd4..007bd64 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/Dockerfile
@@ -1,15 +1,29 @@
-FROM alpine:3.11
+FROM alpine:3.13
 LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
 
 ENV XTABLES_LIBDIR /usr/lib/xtables
 ENV PYTHON_IPTABLES_XTABLES_VERSION 12
 ENV IPTABLES_LIBDIR /usr/lib
 
-RUN apk add --virtual .build-deps gcc python3-dev libffi-dev openssl-dev \
-  && apk add -U python3 iptables ip6tables tzdata musl-dev \
-  && pip3 install --upgrade pip python-iptables redis ipaddress dnspython \
+RUN apk add --virtual .build-deps \
+  gcc \
+  python3-dev \
+  libffi-dev \
+  openssl-dev \
+&& apk add -U python3 \
+  iptables \
+  ip6tables \
+  tzdata \
+  py3-pip \
+  musl-dev \
+&& pip3 install --upgrade pip \
+  python-iptables \
+  redis \
+  ipaddress \
+  dnspython \
+&& apk del .build-deps
+
 #  && pip3 install --upgrade pip python-iptables==0.13.0 redis ipaddress dnspython \
-  && apk del .build-deps
 
 COPY server.py /
 CMD ["python3", "-u", "/server.py"]
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/server.py b/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/server.py
index bf3980a..04f6c47 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/server.py
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/netfilter/server.py
@@ -2,6 +2,7 @@
 
 import re
 import os
+import sys
 import time
 import atexit
 import signal
@@ -39,6 +40,7 @@
 bans = {}
 
 quit_now = False
+exit_code = 0
 lock = Lock()
 
 def log(priority, message):
@@ -61,6 +63,7 @@
 def refreshF2boptions():
   global f2boptions
   global quit_now
+  global exit_code
   if not r.get('F2B_OPTIONS'):
     f2boptions = {}
     f2boptions['ban_time'] = int
@@ -81,10 +84,12 @@
     except ValueError:
       print('Error loading F2B options: F2B_OPTIONS is not json')
       quit_now = True
+      exit_code = 2
 
 def refreshF2bregex():
   global f2bregex
   global quit_now
+  global exit_code
   if not r.get('F2B_REGEX'):
     f2bregex = {}
     f2bregex[1] = 'warning: .*\[([0-9a-f\.:]+)\]: SASL .+ authentication failed'
@@ -95,6 +100,7 @@
     f2bregex[6] = '([0-9a-f\.:]+) \"GET \/SOGo\/.* HTTP.+\" 403 .+'
     f2bregex[7] = 'Rspamd UI: Invalid password by ([0-9a-f\.:]+)'
     f2bregex[8] = '-login: Aborted login \(auth failed .+\): user=.+, rip=([0-9a-f\.:]+), lip.+'
+    f2bregex[9] = 'NOQUEUE: reject: RCPT from \[([0-9a-f\.:]+)].+Protocol error.+'
     r.set('F2B_REGEX', json.dumps(f2bregex, ensure_ascii=False))
   else:
     try:
@@ -103,6 +109,7 @@
     except ValueError:
       print('Error loading F2B options: F2B_REGEX is not json')
       quit_now = True
+      exit_code = 2
 
 if r.exists('F2B_LOG'):
   r.rename('F2B_LOG', 'NETFILTER_LOG')
@@ -110,6 +117,7 @@
 def mailcowChainOrder():
   global lock
   global quit_now
+  global exit_code
   while not quit_now:
     time.sleep(10)
     with lock:
@@ -126,9 +134,11 @@
               if position > 2:
                 logCrit('Error in %s chain order: MAILCOW on position %d, restarting container' % (chain.name, position))
                 quit_now = True
+                exit_code = 2
           if not target_found:
             logCrit('Error in %s chain: MAILCOW target not found, restarting container' % (chain.name))
             quit_now = True
+            exit_code = 2
 
 def ban(address):
   global lock
@@ -270,22 +280,30 @@
   logInfo('Watching Redis channel F2B_CHANNEL')
   pubsub.subscribe('F2B_CHANNEL')
 
+  global quit_now
+  global exit_code
+
   while not quit_now:
-    for item in pubsub.listen():
-      refreshF2bregex()
-      for rule_id, rule_regex in f2bregex.items():
-        if item['data'] and item['type'] == 'message':
-          try:
-            result = re.search(rule_regex, item['data'])
-          except re.error:
-            result = False
-          if result:
-            addr = result.group(1)
-            ip = ipaddress.ip_address(addr)
-            if ip.is_private or ip.is_loopback:
-              continue
-            logWarn('%s matched rule id %s (%s)' % (addr, rule_id, item['data']))
-            ban(addr)
+    try:
+      for item in pubsub.listen():
+        refreshF2bregex()
+        for rule_id, rule_regex in f2bregex.items():
+          if item['data'] and item['type'] == 'message':
+            try:
+              result = re.search(rule_regex, item['data'])
+            except re.error:
+              result = False
+            if result:
+              addr = result.group(1)
+              ip = ipaddress.ip_address(addr)
+              if ip.is_private or ip.is_loopback:
+                continue
+              logWarn('%s matched rule id %s (%s)' % (addr, rule_id, item['data']))
+              ban(addr)
+    except Exception as ex:
+      logWarn('Error reading log line from pubsub')
+      quit_now = True
+      exit_code = 2
 
 def snat4(snat_target):
   global lock
@@ -468,3 +486,5 @@
 
   while not quit_now:
     time.sleep(0.5)
+
+  sys.exit(exit_code)
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/olefy/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/olefy/Dockerfile
index 05ffcc2..3cacabb 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/olefy/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/olefy/Dockerfile
@@ -1,11 +1,11 @@
-FROM alpine:3.11
+FROM alpine:3.13
 LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
 
 WORKDIR /app
 
 #RUN addgroup -S olefy && adduser -S olefy -G olefy \
-RUN apk add --virtual .build-deps gcc python3-dev musl-dev libffi-dev openssl-dev \
-  && apk add --update --no-cache python3 openssl tzdata libmagic \
+RUN apk add --virtual .build-deps gcc musl-dev python3-dev libffi-dev openssl-dev cargo \
+  && apk add --update --no-cache python3 py3-pip openssl tzdata libmagic \
   && pip3 install --upgrade pip \
   && pip3 install --upgrade asyncio python-magic \
   && pip3 install --upgrade https://github.com/HeinleinSupport/oletools/archive/master.zip \
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/Dockerfile
index 5a2d578..ca851e6 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/Dockerfile
@@ -1,12 +1,12 @@
-FROM php:7.4-fpm-alpine3.11
+FROM php:8.0-fpm-alpine3.14
 LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
 
-ENV APCU_PECL 5.1.18
-ENV IMAGICK_PECL 3.4.4
+ENV APCU_PECL 5.1.20
+ENV IMAGICK_PECL 3.5.1
 # Mailparse is pulled from master branch
 #ENV MAILPARSE_PECL 3.0.2
 ENV MEMCACHED_PECL 3.1.5
-ENV REDIS_PECL 5.3.1
+ENV REDIS_PECL 5.3.4
 
 RUN apk add -U --no-cache autoconf \
   aspell-dev \
@@ -61,7 +61,7 @@
   && docker-php-ext-configure exif \
   && docker-php-ext-configure gd --with-freetype=/usr/include/ \  
     --with-jpeg=/usr/include/ \
-  && docker-php-ext-install -j 4 exif gd gettext intl ldap opcache pcntl pdo pdo_mysql pspell soap sockets xmlrpc zip bcmath gmp \
+  && docker-php-ext-install -j 4 exif gd gettext intl ldap opcache pcntl pdo pdo_mysql pspell soap sockets zip bcmath gmp \
   && docker-php-ext-configure imap --with-imap --with-imap-ssl \
   && docker-php-ext-install -j 4 imap \
   && curl --silent --show-error https://getcomposer.org/installer | php \
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/docker-entrypoint.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/docker-entrypoint.sh
index 80df768..9a2b582 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/docker-entrypoint.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/phpfpm/docker-entrypoint.sh
@@ -24,6 +24,7 @@
 CONTAINER_ID=
 until [[ ! -z "${CONTAINER_ID}" ]] && [[ "${CONTAINER_ID}" =~ ^[[:alnum:]]*$ ]]; do
   CONTAINER_ID=$(curl --silent --insecure https://dockerapi/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" 2> /dev/null | jq -rc "select( .name | tostring | contains(\"mysql-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id" 2> /dev/null)
+  sleep 2
 done
 echo "MySQL @ ${CONTAINER_ID}"
 SQL_LOOP_C=0
@@ -89,6 +90,15 @@
     ${REDIS_CMDLINE} --raw SET Q_MAX_AGE 365
   fi
 
+  # Set default password policy - if unset
+  if [[ -z $(${REDIS_CMDLINE} --raw HGET PASSWD_POLICY length) ]]; then
+    ${REDIS_CMDLINE} --raw HSET PASSWD_POLICY length 6
+    ${REDIS_CMDLINE} --raw HSET PASSWD_POLICY chars 0
+    ${REDIS_CMDLINE} --raw HSET PASSWD_POLICY special_chars 0
+    ${REDIS_CMDLINE} --raw HSET PASSWD_POLICY lowerupper 0
+    ${REDIS_CMDLINE} --raw HSET PASSWD_POLICY numbers 0
+  fi
+
   # Trigger db init
   echo "Running DB init..."
   php -c /usr/local/etc/php -f /web/inc/init_db.inc.php
@@ -171,6 +181,9 @@
 # Fix permissions for global filters
 chown -R 82:82 /global_sieve/*
 
+[[ ! -f /etc/nginx/conf.d/ZZZ-ejabberd.conf ]] && echo '# Autogenerated by mailcow' > /etc/nginx/conf.d/ZZZ-ejabberd.conf
+chown 82:82 /etc/nginx/conf.d/ZZZ-ejabberd.conf
+
 # Run hooks
 for file in /hooks/*; do
   if [ -x "${file}" ]; then
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/Dockerfile
index 8b913af..56b274a 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/Dockerfile
@@ -45,7 +45,6 @@
 COPY rspamd-pipe-ham /usr/local/bin/rspamd-pipe-ham
 COPY rspamd-pipe-spam /usr/local/bin/rspamd-pipe-spam
 COPY whitelist_forwardinghosts.sh /usr/local/bin/whitelist_forwardinghosts.sh
-COPY smtpd_last_login.sh /usr/local/bin/smtpd_last_login.sh
 COPY stop-supervisor.sh /usr/local/sbin/stop-supervisor.sh
 COPY docker-entrypoint.sh /docker-entrypoint.sh
 
@@ -53,7 +52,6 @@
   /usr/local/bin/rspamd-pipe-ham \
   /usr/local/bin/rspamd-pipe-spam \
   /usr/local/bin/whitelist_forwardinghosts.sh \
-  /usr/local/bin/smtpd_last_login.sh \
   /usr/local/sbin/stop-supervisor.sh
 RUN rm -rf /tmp/* /var/tmp/*
 
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/postfix.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/postfix.sh
index 3b18de4..35cd790 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/postfix.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/postfix.sh
@@ -10,7 +10,7 @@
   sleep 2
 done
 
-until dig +short mailcow.email @unbound > /dev/null; do
+until dig +short mailcow.email > /dev/null; do
   echo "Waiting for DNS..."
   sleep 1
 done
@@ -25,17 +25,21 @@
 newaliases;
 
 # create sni configuration
-echo -n "" > /opt/postfix/conf/sni.map;
-for cert_dir in /etc/ssl/mail/*/ ; do
-  if [[ ! -f ${cert_dir}domains ]] || [[ ! -f ${cert_dir}cert.pem ]] || [[ ! -f ${cert_dir}key.pem ]]; then
-    continue;
-  fi
-  IFS=" " read -r -a domains <<< "$(cat "${cert_dir}domains")"
-  for domain in "${domains[@]}"; do
-    echo -n "${domain} ${cert_dir}key.pem ${cert_dir}cert.pem" >> /opt/postfix/conf/sni.map;
-    echo "" >> /opt/postfix/conf/sni.map;
+if [[ "${SKIP_LETS_ENCRYPT}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
+  echo -n "" > /opt/postfix/conf/sni.map
+else
+  echo -n "" > /opt/postfix/conf/sni.map;
+  for cert_dir in /etc/ssl/mail/*/ ; do
+    if [[ ! -f ${cert_dir}domains ]] || [[ ! -f ${cert_dir}cert.pem ]] || [[ ! -f ${cert_dir}key.pem ]]; then
+      continue;
+    fi
+    IFS=" " read -r -a domains <<< "$(cat "${cert_dir}domains")"
+    for domain in "${domains[@]}"; do
+      echo -n "${domain} ${cert_dir}key.pem ${cert_dir}cert.pem" >> /opt/postfix/conf/sni.map;
+      echo "" >> /opt/postfix/conf/sni.map;
+    done
   done
-done
+fi
 postmap -F hash:/opt/postfix/conf/sni.map;
 
 cat <<EOF > /opt/postfix/conf/sql/mysql_relay_ne.cf
@@ -121,16 +125,31 @@
         AND mailbox.active = '1'
     ), 'smtp_enforced_tls:', 'smtp:') AS 'transport'
     UNION ALL
-    SELECT hostname AS transport FROM relayhosts
+    SELECT COALESCE(
+      (SELECT hostname FROM relayhosts
+      LEFT OUTER JOIN mailbox ON JSON_UNQUOTE(JSON_VALUE(mailbox.attributes, '$.relayhost')) = relayhosts.id
+        WHERE relayhosts.active = '1'
+          AND (
+            mailbox.username IN (SELECT alias.goto from alias
+              JOIN mailbox ON mailbox.username = alias.goto
+                WHERE alias.active = '1'
+                  AND alias.address = '%s'
+                  AND alias.address NOT LIKE '@%%'
+            )
+          )
+      ),
+      (SELECT hostname FROM relayhosts
       LEFT OUTER JOIN domain ON domain.relayhost = relayhosts.id
         WHERE relayhosts.active = '1'
-          AND domain = '%d'
-          OR domain IN (
-            SELECT target_domain FROM alias_domain
-              WHERE alias_domain = '%d'
+          AND (domain.domain = '%d'
+            OR domain.domain IN (
+              SELECT target_domain FROM alias_domain
+                WHERE alias_domain = '%d'
+            )
           )
-  )
-  AS transport_view;
+      )
+    )
+  ) AS transport_view;
 EOF
 
 cat <<EOF > /opt/postfix/conf/sql/mysql_transport_maps.cf
@@ -318,14 +337,17 @@
       AND alias_domain.active='1'
 EOF
 
-# Reject sasl usernames with smtp disabled
-cat <<EOF > /opt/postfix/conf/sql/mysql_sasl_access_maps.cf
+# MX based routing
+cat <<EOF > /opt/postfix/conf/sql/mysql_mbr_access_maps.cf
 # Autogenerated by mailcow
 user = ${DBUSER}
 password = ${DBPASS}
 hosts = unix:/var/run/mysqld/mysqld.sock
 dbname = ${DBNAME}
-query = SELECT 'REJECT' FROM mailbox WHERE username = '%u' AND JSON_UNQUOTE(JSON_VALUE(attributes, '$.smtp_access')) = '0';
+query = SELECT CONCAT('FILTER smtp_via_transport_maps:', nexthop) as transport FROM transports
+  WHERE '%s' REGEXP destination
+    AND active='1'
+    AND is_mx_based='1';
 EOF
 
 cat <<EOF > /opt/postfix/conf/sql/mysql_virtual_spamalias_maps.cf
@@ -354,12 +376,15 @@
 
 if [[ ! -f /opt/postfix/conf/custom_postscreen_whitelist.cidr ]]; then
   echo "Creating dummy custom_postscreen_whitelist.cidr"
-  echo '# Autogenerated by mailcow' > /opt/postfix/conf/custom_postscreen_whitelist.cidr
+  cat <<EOF > /opt/postfix/conf/custom_postscreen_whitelist.cidr
+# Autogenerated by mailcow
+# Rules are evaluated in the order as specified.
+# Blacklist 192.168.* except 192.168.0.1.
+# 192.168.0.1          permit
+# 192.168.0.0/16       reject
+EOF
 fi
 
-# Fix SMTP last login on slaves
-sed -i "s/__REDIS_SLAVEOF_IP__/${REDIS_SLAVEOF_IP}/g" /usr/local/bin/smtpd_last_login.sh
-
 # Fix Postfix permissions
 chown -R root:postfix /opt/postfix/conf/sql/ /opt/postfix/conf/custom_transport.pcre
 chmod 640 /opt/postfix/conf/sql/*.cf /opt/postfix/conf/custom_transport.pcre
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/smtpd_last_login.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/smtpd_last_login.sh
deleted file mode 100755
index 9d249af..0000000
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/smtpd_last_login.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-REDIS_SLAVEOF_IP=__REDIS_SLAVEOF_IP__
-
-# Do not attempt to write to slave
-if [[ ! -z ${REDIS_SLAVEOF_IP} ]]; then
-  REDIS_CMDLINE="redis-cli -h ${REDIS_SLAVEOF_IP} -p ${REDIS_SLAVEOF_PORT}"
-else
-  REDIS_CMDLINE="redis-cli -h redis -p 6379"
-fi
-
-while read QUERY; do
-  QUERY=($QUERY)
-  # If nothing matched, end here - Postfix last line will be empty
-  if [[ -z "$(echo ${QUERY[0]} | tr -d '\040\011\012\015')" ]]; then
-    echo -ne "action=dunno\n\n"
-  # We found a username, log and return
-  elif [[ "${QUERY[0]}" =~ sasl_username ]]; then
-    MUSER=$(printf "%q" ${QUERY[0]#sasl_username=})
-    ${REDIS_CMDLINE} SET "last-login/smtp/$MUSER" "$(date +%s)"
-    echo -ne "action=dunno\n\n"
-  fi
-done
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng-redis_slave.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng-redis_slave.conf
index 609ee55..40fb1cd 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng-redis_slave.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng-redis_slave.conf
@@ -28,7 +28,7 @@
     host("`REDIS_SLAVEOF_IP`")
     persist-name("redis2")
     port(`REDIS_SLAVEOF_PORT`)
-    command("PUBLISH" "F2B_CHANNEL" "$MESSAGE")
+    command("PUBLISH" "F2B_CHANNEL" "$(sanitize $MESSAGE)")
   );
 };
 filter f_mail { facility(mail); };
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng.conf
index 9e14fe1..8fdc104 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/postfix/syslog-ng.conf
@@ -28,7 +28,7 @@
     host("redis-mailcow")
     persist-name("redis2")
     port(6379)
-    command("PUBLISH" "F2B_CHANNEL" "$MESSAGE")
+    command("PUBLISH" "F2B_CHANNEL" "$(sanitize $MESSAGE)")
   );
 };
 filter f_mail { facility(mail); };
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/rspamd/docker-entrypoint.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/rspamd/docker-entrypoint.sh
index 203a196..e6d329b 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/rspamd/docker-entrypoint.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/rspamd/docker-entrypoint.sh
@@ -104,7 +104,8 @@
   /etc/rspamd/custom/bad_words.map \
   /etc/rspamd/custom/bad_asn.map \
   /etc/rspamd/custom/bad_words_de.map \
-  /etc/rspamd/custom/bulk_header.map
+  /etc/rspamd/custom/bulk_header.map \
+  /etc/rspamd/custom/bad_header.map
 
 # www-data (82) group needs to write to these files
 chown _rspamd:_rspamd /etc/rspamd/custom/
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/Dockerfile
index 1e49965..9cf5f62 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/Dockerfile
@@ -4,14 +4,13 @@
 ARG DEBIAN_FRONTEND=noninteractive
 ARG SOGO_DEBIAN_REPOSITORY=http://packages.inverse.ca/SOGo/nightly/5/debian/
 ENV LC_ALL C
-ENV GOSU_VERSION 1.11
+ENV GOSU_VERSION 1.12
 
 # Prerequisites
 RUN echo "Building from repository $SOGO_DEBIAN_REPOSITORY" \
   && apt-get update && apt-get install -y --no-install-recommends \
   apt-transport-https \
   ca-certificates \
-  cron \
   gettext \
   gnupg \
   mariadb-client \
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/bootstrap-sogo.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/bootstrap-sogo.sh
index fef7958..04472df 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/bootstrap-sogo.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/bootstrap-sogo.sh
@@ -128,11 +128,6 @@
   done
 fi
 
-if [[ "${ALLOW_ADMIN_EMAIL_LOGIN}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
-  TRUST_PROXY="YES"
-else
-  TRUST_PROXY="NO"
-fi
 # cat /dev/urandom seems to hang here occasionally and is not recommended anyway, better use openssl
 RAND_PASS=$(openssl rand -base64 16 | tr -dc _A-Z-a-z-0-9)
 
@@ -148,7 +143,7 @@
     <key>SOGoIMAPServer</key>
     <string>imap://${IPV4_NETWORK}.250:143/?TLS=YES&amp;tlsVerifyMode=none</string>
     <key>SOGoTrustProxyAuthentication</key>
-    <string>${TRUST_PROXY}</string>
+    <string>YES</string>
     <key>SOGoEncryptionKey</key>
     <string>${RAND_PASS}</string>
     <key>OCSCacheFolderURL</key>
@@ -249,14 +244,4 @@
 # Chown backup path
 chown -R sogo:sogo /sogo_backup
 
-# Creating cronjobs
-if [[ "${MASTER}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
-  echo "* * * * *   sogo   /usr/sbin/sogo-ealarms-notify -p /etc/sogo/sieve.creds 2>/dev/null" > /etc/cron.d/sogo
-  echo "* * * * *   sogo   /usr/sbin/sogo-tool expire-sessions ${SOGO_EXPIRE_SESSION}" >> /etc/cron.d/sogo
-  echo "0 0 * * *   sogo   /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds" >> /etc/cron.d/sogo
-  echo "0 2 * * *   sogo   /usr/sbin/sogo-tool backup /sogo_backup ALL" >> /etc/cron.d/sogo
-else
-  rm /etc/cron.d/sogo
-fi
-
 exec gosu sogo /usr/sbin/sogod
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/docker-entrypoint.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/docker-entrypoint.sh
index ce28c34..2ff602a 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/docker-entrypoint.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/docker-entrypoint.sh
@@ -10,4 +10,12 @@
   cp /etc/syslog-ng/syslog-ng-redis_slave.conf /etc/syslog-ng/syslog-ng.conf
 fi
 
+# Run hooks
+for file in /hooks/*; do
+  if [ -x "${file}" ]; then
+    echo "Running hook ${file}"
+    "${file}"
+  fi
+done
+
 exec "$@"
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/supervisord.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/supervisord.conf
index 551a8e1..4946d98 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/supervisord.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/supervisord.conf
@@ -11,18 +11,13 @@
 autostart=true
 priority=1
 
-[program:cron]
-command=/usr/sbin/cron -f
-autorestart=true
-priority=2
-
 [program:bootstrap-sogo]
 command=/bootstrap-sogo.sh
 stdout_logfile=/dev/stdout
 stdout_logfile_maxbytes=0
 stderr_logfile=/dev/stderr
 stderr_logfile_maxbytes=0
-priority=3
+priority=2
 startretries=10
 autorestart=true
 stopwaitsecs=120
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf
index 9b04c78..5a84b72 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng-redis_slave.conf
@@ -30,7 +30,7 @@
     host("`REDIS_SLAVEOF_IP`")
     persist-name("redis2")
     port(`REDIS_SLAVEOF_PORT`)
-    command("PUBLISH" "F2B_CHANNEL" "$MESSAGE")
+    command("PUBLISH" "F2B_CHANNEL" "$(sanitize $MESSAGE)")
   );
 };
 log {
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng.conf b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng.conf
index 0c257d6..537038e 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng.conf
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/sogo/syslog-ng.conf
@@ -30,7 +30,7 @@
     host("redis-mailcow")
     persist-name("redis2")
     port(6379)
-    command("PUBLISH" "F2B_CHANNEL" "$MESSAGE")
+    command("PUBLISH" "F2B_CHANNEL" "$(sanitize $MESSAGE)")
   );
 };
 log {
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/unbound/Dockerfile b/mailcow/src/mailcow-dockerized/data/Dockerfiles/unbound/Dockerfile
index cb34e45..cce2c00 100644
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/unbound/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/unbound/Dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.11
+FROM alpine:3.13
 
 LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
 
diff --git a/mailcow/src/mailcow-dockerized/data/Dockerfiles/watchdog/watchdog.sh b/mailcow/src/mailcow-dockerized/data/Dockerfiles/watchdog/watchdog.sh
index 4013cb4..66ab12e 100755
--- a/mailcow/src/mailcow-dockerized/data/Dockerfiles/watchdog/watchdog.sh
+++ b/mailcow/src/mailcow-dockerized/data/Dockerfiles/watchdog/watchdog.sh
@@ -44,8 +44,8 @@
   local IPV6=
   local IPV6_SRCS=
   local TRY=
-  IPV6_SRCS[0]="ip6.korves.net"
-  IPV6_SRCS[1]="ip6.mailcow.email"
+  IPV6_SRCS[0]="ip6.mailcow.email"
+  IPV6_SRCS[1]="ip6.nevondo.com"
   until [[ ! -z ${IPV6} ]] || [[ ${TRY} -ge 10 ]]; do
     IPV6=$(curl --connect-timeout 3 -m 10 -L6s ${IPV6_SRCS[$RANDOM % ${#IPV6_SRCS[@]} ]} | grep "^\([0-9a-fA-F]\{0,4\}:\)\{1,7\}[0-9a-fA-F]\{0,4\}$")
     [[ ! -z ${TRY} ]] && sleep 1
@@ -109,7 +109,7 @@
     SUBJECT="${BODY}"
     BODY="Please see netfilter-mailcow for more details and triggered rules."
   else
-    SUBJECT="Watchdog ALERT: ${1}"
+    SUBJECT="${WATCHDOG_SUBJECT}: ${1}"
   fi
   IFS=',' read -r -a MAIL_RCPTS <<< "${WATCHDOG_NOTIFY_EMAIL}"
   for rcpt in "${MAIL_RCPTS[@]}"; do
@@ -210,7 +210,7 @@
       sleep 60
     else
       diff_c=0
-      sleep $(( ( RANDOM % 20 ) + 120 ))
+      sleep $(( ( RANDOM % 20 ) + 1800 ))
     fi
   done
   return 1
@@ -660,39 +660,6 @@
   return 1
 }
 
-ipv6nat_checks() {
-  err_count=0
-  diff_c=0
-  THRESHOLD=${IPV6NAT_THRESHOLD}
-  # Reduce error count by 2 after restarting an unhealthy container
-  trap "[ ${err_count} -gt 1 ] && err_count=$(( ${err_count} - 2 ))" USR1
-  while [ ${err_count} -lt ${THRESHOLD} ]; do
-    err_c_cur=${err_count}
-    CONTAINERS=$(curl --silent --insecure https://dockerapi/containers/json)
-    IPV6NAT_CONTAINER_ID=$(echo ${CONTAINERS} | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"ipv6nat-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id")
-    if [[ ! -z ${IPV6NAT_CONTAINER_ID} ]]; then
-      LATEST_STARTED="$(echo ${CONTAINERS} | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], StartedAt: .State.StartedAt}" | jq -rc "select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | select( .name | tostring | contains(\"ipv6nat-mailcow\") | not)" | jq -rc .StartedAt | xargs -n1 date +%s -d | sort | tail -n1)"
-      LATEST_IPV6NAT="$(echo ${CONTAINERS} | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], StartedAt: .State.StartedAt}" | jq -rc "select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | select( .name | tostring | contains(\"ipv6nat-mailcow\"))" | jq -rc .StartedAt | xargs -n1 date +%s -d | sort | tail -n1)"
-      DIFFERENCE_START_TIME=$(expr ${LATEST_IPV6NAT} - ${LATEST_STARTED} 2>/dev/null)
-      if [[ "${DIFFERENCE_START_TIME}" -lt 30 ]]; then
-        err_count=$(( ${err_count} + 1 ))
-      fi
-    fi
-    [ ${err_c_cur} -eq ${err_count} ] && [ ! $((${err_count} - 1)) -lt 0 ] && err_count=$((${err_count} - 1)) diff_c=1
-    [ ${err_c_cur} -ne ${err_count} ] && diff_c=$(( ${err_c_cur} - ${err_count} ))
-    progress "IPv6 NAT" ${THRESHOLD} $(( ${THRESHOLD} - ${err_count} )) ${diff_c}
-    if [[ $? == 10 ]]; then
-      diff_c=0
-      sleep 30
-    else
-      diff_c=0
-      sleep 300
-    fi
-  done
-  return 1
-}
-
-
 rspamd_checks() {
   err_count=0
   diff_c=0
@@ -1005,18 +972,6 @@
 echo "Spawned acme_checks with PID ${PID}"
 BACKGROUND_TASKS+=(${PID})
 
-(
-while true; do
-  if ! ipv6nat_checks; then
-    log_msg "IPv6 NAT warning: ipv6nat-mailcow container was not started at least 30s after siblings (not an error)"
-    echo ipv6nat-mailcow > /tmp/com_pipe
-  fi
-done
-) &
-PID=$!
-echo "Spawned ipv6nat_checks with PID ${PID}"
-BACKGROUND_TASKS+=(${PID})
-
 # Monitor watchdog agents, stop script when agents fails and wait for respawn by Docker (restart:always:n)
 (
 while true; do
@@ -1112,9 +1067,7 @@
       else
         log_msg "Sending restart command to ${CONTAINER_ID}..."
         curl --silent --insecure -XPOST https://dockerapi/containers/${CONTAINER_ID}/restart
-        if [[ ${com_pipe_answer} != "ipv6nat-mailcow" ]]; then
-          [[ ! -z ${WATCHDOG_NOTIFY_EMAIL} ]] && mail_error "${com_pipe_answer}"
-        fi
+        [[ ! -z ${WATCHDOG_NOTIFY_EMAIL} ]] && mail_error "${com_pipe_answer}"
         log_msg "Wait for restarted container to settle and continue watching..."
         sleep 35
       fi
diff --git a/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf
index cef7de8..b7aca75 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf
@@ -45,36 +45,25 @@
 auth_master_user_separator = *
 mail_shared_explicit_inbox = yes
 mail_prefetch_count = 30
+passdb {
+  driver = lua
+  args = file=/etc/dovecot/lua/passwd-verify.lua blocking=yes
+  result_success = return-ok
+  result_failure = continue
+  result_internalfail = continue
+}
 # try a master passwd
 passdb {
   driver = passwd-file
   args = /etc/dovecot/dovecot-master.passwd
   master = yes
-  pass = yes
-  result_failure = continue
-  result_internalfail = continue
-}
-# try an app passwd
-passdb {
-  driver = lua
-  args = file=/etc/dovecot/lua/app-passdb.lua blocking=yes
-  pass = yes
-  result_failure = continue
-  result_internalfail = continue
+  skip = authenticated
 }
 # check for regular password - if empty (e.g. force-passwd-reset), previous pass=yes passdbs also fail
 # a return of the following passdb is mandatory
 passdb {
-  args = /etc/dovecot/sql/dovecot-dict-sql-passdb.conf
-  driver = sql
-  result_success = return-ok
-  result_failure = continue
-  result_internalfail = continue
-}
-passdb {
-  driver = passwd-file
-  args = /etc/dovecot/dovecot-master.passwd
-  skip = authenticated
+  driver = lua
+  args = file=/etc/dovecot/lua/passwd-verify.lua blocking=yes
 }
 # Set doveadm_password=your-secret-password in data/conf/dovecot/extra.conf (create if missing)
 service doveadm {
@@ -83,224 +72,7 @@
   }
   vsz_limit=2048 MB
 }
-namespace inbox {
-  inbox = yes
-  location =
-  separator = /
-  mailbox "Trash" {
-    auto = subscribe
-    special_use = \Trash
-  }
-  mailbox "Deleted Messages" {
-    special_use = \Trash
-  }
-  mailbox "Deleted Items" {
-    special_use = \Trash
-  }
-  mailbox "Rubbish" {
-    special_use = \Trash
-  }
-  mailbox "Gelöschte Objekte" {
-    special_use = \Trash
-  }
-  mailbox "Gelöschte Elemente" {
-    special_use = \Trash
-  }
-  mailbox "Papierkorb" {
-    special_use = \Trash
-  }
-  mailbox "Itens Excluidos" {
-    special_use = \Trash
-  }
-  mailbox "Itens Excluídos" {
-    special_use = \Trash
-  }
-  mailbox "Lixeira" {
-    special_use = \Trash
-  }
-  mailbox "Prullenbak" {
-    special_use = \Trash
-  }
-  mailbox "Odstránené položky" {
-    special_use = \Trash
-  }
-  mailbox "Koš" {
-    special_use = \Trash
-  }
-  mailbox "Verwijderde items" {
-    special_use = \Trash
-  }
-  mailbox "废件箱" {
-    special_use = \Trash
-  }
-  mailbox "已删除消息" {
-    special_use = \Trash
-  }
-  mailbox "已删除邮件" {
-    special_use = \Trash
-  }
-  mailbox "Archive" {
-    auto = subscribe
-    special_use = \Archive
-  }
-  mailbox "Archiv" {
-    special_use = \Archive
-  }
-  mailbox "Archives" {
-    special_use = \Archive
-  }
-  mailbox "Arquivo" {
-    special_use = \Archive
-  }
-  mailbox "Arquivos" {
-    special_use = \Archive
-  }
-  mailbox "Archief" {
-    special_use = \Archive
-  }
-  mailbox "Archív" {
-    special_use = \Archive
-  }
-  mailbox "Archivovať" {
-    special_use = \Archive
-  }
-  mailbox "归档" {
-    special_use = \Archive
-  }
-  mailbox "Sent" {
-    auto = subscribe
-    special_use = \Sent
-  }
-  mailbox "Sent Messages" {
-    special_use = \Sent
-  }
-  mailbox "Sent Items" {
-    special_use = \Sent
-  }
-  mailbox "已发送" {
-    special_use = \Sent
-  }
-  mailbox "已发送消息" {
-    special_use = \Sent
-  }
-  mailbox "已发送邮件" {
-    special_use = \Sent
-  }
-  mailbox "Gesendet" {
-    special_use = \Sent
-  }
-  mailbox "Gesendete Objekte" {
-    special_use = \Sent
-  }
-  mailbox "Gesendete Elemente" {
-    special_use = \Sent
-  }
-  mailbox "Itens Enviados" {
-    special_use = \Sent
-  }
-  mailbox "Enviados" {
-    special_use = \Sent
-  }
-  mailbox "Verzonden items" {
-    special_use = \Sent
-  }
-  mailbox "Verzonden" {
-    special_use = \Sent
-  }
-  mailbox "Odoslaná pošta" {
-    special_use = \Sent
-  }
-  mailbox "Odoslané" {
-    special_use = \Sent
-  }
-  mailbox "Drafts" {
-    auto = subscribe
-    special_use = \Drafts
-  }
-  mailbox "Entwürfe" {
-    special_use = \Drafts
-  }
-  mailbox "Rascunhos" {
-    special_use = \Drafts
-  }
-  mailbox "Concepten" {
-    special_use = \Drafts
-  }
-  mailbox "Koncepty" {
-    special_use = \Drafts
-  }
-  mailbox "草稿" {
-    special_use = \Drafts
-  }
-  mailbox "草稿箱" {
-    special_use = \Drafts
-  }
-  mailbox "Junk" {
-    auto = subscribe
-    special_use = \Junk
-  }
-  mailbox "Junk-E-Mail" {
-    special_use = \Junk
-  }
-  mailbox "Junk E-Mail" {
-    special_use = \Junk
-  }
-  mailbox "Spam" {
-    special_use = \Junk
-  }
-  mailbox "Lixo Eletrônico" {
-    special_use = \Junk
-  }
-  mailbox "Nevyžiadaná pošta" {
-    special_use = \Junk
-  }
-  mailbox "Infikované položky" {
-    special_use = \Junk
-  }
-  mailbox "Ongewenste e-mail" {
-    special_use = \Junk
-  }
-  mailbox "垃圾" {
-    special_use = \Junk
-  }
-  mailbox "垃圾箱" {
-    special_use = \Junk
-  }
-  mailbox "Koncepty" {
-    special_use = \Drafts
-  }
-  mailbox "Nevyžádaná pošta" {
-    special_use = \Junk
-  }
-  mailbox "Odstraněná pošta" {
-    special_use = \Trash
-  }
-  mailbox "Odeslaná pošta" {
-    special_use = \Sent
-  }
-  mailbox "Skräp" {
-    special_use = \Trash
-  }
-  mailbox "Borttagna Meddelanden" {
-    special_use = \Trash
-  }
-  mailbox "Arkiv" {
-    special_use = \Archive
-  }
-  mailbox "Arkeverat" {
-    special_use = \Archive
-  }
-  mailbox "Skickat" {
-    special_use = \Sent
-  }
-  mailbox "Skickade Meddelanden" {
-    special_use = \Sent
-  }
-  mailbox "Utkast" {
-    special_use = \Drafts
-  }
-  prefix =
-}
+!include /etc/dovecot/dovecot.folders.conf
 protocols = imap sieve lmtp pop3
 service dict {
   unix_listener dict {
@@ -331,6 +103,7 @@
     mode = 0600
     user = vmail
   }
+  vsz_limit = 2G
 }
 service managesieve-login {
   inet_listener sieve {
@@ -373,7 +146,7 @@
   }
 }
 service imap {
-  executable = imap imap-postlogin
+  executable = imap
   user = vmail
   vsz_limit = 1G
 }
@@ -389,8 +162,6 @@
 listen = *,[::]
 ssl_cert = </etc/ssl/mail/cert.pem
 ssl_key = </etc/ssl/mail/key.pem
-!include_try /etc/dovecot/sni.conf
-!include_try /etc/dovecot/sogo_trusted_ip.conf
 userdb {
   driver = passwd-file
   args = /etc/dovecot/dovecot-master.userdb
@@ -417,8 +188,7 @@
   acl_anyone = </etc/dovecot/acl_anyone
   acl_shared_dict = file:/var/vmail/shared-mailboxes.db
   acl = vfile
-  last_login_dict = </etc/dovecot/last_login
-  last_login_key = last-login/%s/%u
+  acl_user = %u
   fts = solr
   fts_autoindex = yes
   fts_solr = url=http://solr:8983/solr/dovecot-fts/
@@ -439,6 +209,7 @@
   imapsieve_mailbox2_causes = COPY
   imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve
   # END
+  master_user = %u
   quota_warning = storage=95%% quota-warning 95 %u
   quota_warning2 = storage=80%% quota-warning 80 %u
   sieve_pipe_bin_dir = /usr/lib/dovecot/sieve
@@ -459,7 +230,6 @@
   sieve_after2 = /var/vmail/sieve/global_sieve_after.sieve
   sieve_duplicate_default_period = 1m
   sieve_duplicate_max_period = 7d
-  sieve_vacation_dont_check_recipient = yes
 
   # -- Global keys
   mail_crypt_global_private_key = </mail_crypt/ecprivkey.pem
@@ -491,13 +261,6 @@
 }
 submission_host = postfix:588
 mail_max_userip_connections = 500
-service imap-postlogin {
-  executable = script-login /usr/local/bin/postlogin.sh
-  unix_listener imap-postlogin {
-    user = vmail
-    mode = 0660
-  }
-}
 service stats {
   unix_listener stats-writer {
     mode = 0660
@@ -528,8 +291,12 @@
 replication_max_conns = 10
 doveadm_port = 12345
 replication_dsync_parameters = -d -l 30 -U -n INBOX
+# <Includes>
+!include_try /etc/dovecot/sni.conf
+!include_try /etc/dovecot/sogo_trusted_ip.conf
 !include_try /etc/dovecot/extra.conf
 !include_try /etc/dovecot/sogo-sso.conf
 !include_try /etc/dovecot/shared_namespace.conf
+# </Includes>
 default_client_limit = 10400
 default_vsz_limit = 1024 M
diff --git a/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.folders.conf b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.folders.conf
new file mode 100644
index 0000000..99c9670
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.folders.conf
@@ -0,0 +1,293 @@
+namespace inbox {
+  inbox = yes
+  location =
+  separator = /
+  mailbox "Trash" {
+    auto = subscribe
+    special_use = \Trash
+  }
+  mailbox "Deleted Messages" {
+    special_use = \Trash
+  }
+  mailbox "Deleted Items" {
+    special_use = \Trash
+  }
+  mailbox "Rubbish" {
+    special_use = \Trash
+  }
+  mailbox "Gelöschte Objekte" {
+    special_use = \Trash
+  }
+  mailbox "Gelöschte Elemente" {
+    special_use = \Trash
+  }
+  mailbox "Papierkorb" {
+    special_use = \Trash
+  }
+  mailbox "Itens Excluidos" {
+    special_use = \Trash
+  }
+  mailbox "Itens Excluídos" {
+    special_use = \Trash
+  }
+  mailbox "Lixeira" {
+    special_use = \Trash
+  }
+  mailbox "Prullenbak" {
+    special_use = \Trash
+  }
+  mailbox "Odstránené položky" {
+    special_use = \Trash
+  }
+  mailbox "Koš" {
+    special_use = \Trash
+  }
+  mailbox "Verwijderde items" {
+    special_use = \Trash
+  }
+  mailbox "Удаленные" {
+    special_use = \Trash
+  }
+  mailbox "Удаленные элементы" {
+    special_use = \Trash
+  }
+  mailbox "Корзина" {
+    special_use = \Trash
+  }
+  mailbox "Видалені" {
+    special_use = \Trash
+  }
+  mailbox "Видалені елементи" {
+    special_use = \Trash
+  }
+  mailbox "Кошик" {
+    special_use = \Trash
+  }
+  mailbox "废件箱" {
+    special_use = \Trash
+  }
+  mailbox "已删除消息" {
+    special_use = \Trash
+  }
+  mailbox "已删除邮件" {
+    special_use = \Trash
+  }
+  mailbox "Archive" {
+    auto = subscribe
+    special_use = \Archive
+  }
+  mailbox "Archiv" {
+    special_use = \Archive
+  }
+  mailbox "Archives" {
+    special_use = \Archive
+  }
+  mailbox "Arquivo" {
+    special_use = \Archive
+  }
+  mailbox "Arquivos" {
+    special_use = \Archive
+  }
+  mailbox "Archief" {
+    special_use = \Archive
+  }
+  mailbox "Archív" {
+    special_use = \Archive
+  }
+  mailbox "Archivovať" {
+    special_use = \Archive
+  }
+  mailbox "归档" {
+    special_use = \Archive
+  }
+  mailbox "Архив" {
+    special_use = \Archive
+  }
+  mailbox "Архів" {
+    special_use = \Archive
+  }
+  mailbox "Sent" {
+    auto = subscribe
+    special_use = \Sent
+  }
+  mailbox "Sent Messages" {
+    special_use = \Sent
+  }
+  mailbox "Sent Items" {
+    special_use = \Sent
+  }
+  mailbox "已发送" {
+    special_use = \Sent
+  }
+  mailbox "已发送消息" {
+    special_use = \Sent
+  }
+  mailbox "已发送邮件" {
+    special_use = \Sent
+  }
+  mailbox "Отправленные" {
+    special_use = \Sent
+  }
+  mailbox "Отправленные элементы" {
+    special_use = \Sent
+  }
+  mailbox "Надіслані" {
+    special_use = \Sent
+  }
+  mailbox "Надіслані елементи" {
+    special_use = \Sent
+  }
+  mailbox "Gesendet" {
+    special_use = \Sent
+  }
+  mailbox "Gesendete Objekte" {
+    special_use = \Sent
+  }
+  mailbox "Gesendete Elemente" {
+    special_use = \Sent
+  }
+  mailbox "Itens Enviados" {
+    special_use = \Sent
+  }
+  mailbox "Enviados" {
+    special_use = \Sent
+  }
+  mailbox "Verzonden items" {
+    special_use = \Sent
+  }
+  mailbox "Verzonden" {
+    special_use = \Sent
+  }
+  mailbox "Odoslaná pošta" {
+    special_use = \Sent
+  }
+  mailbox "Odoslané" {
+    special_use = \Sent
+  }
+  mailbox "Drafts" {
+    auto = subscribe
+    special_use = \Drafts
+  }
+  mailbox "Entwürfe" {
+    special_use = \Drafts
+  }
+  mailbox "Rascunhos" {
+    special_use = \Drafts
+  }
+  mailbox "Concepten" {
+    special_use = \Drafts
+  }
+  mailbox "Koncepty" {
+    special_use = \Drafts
+  }
+  mailbox "草稿" {
+    special_use = \Drafts
+  }
+  mailbox "草稿箱" {
+    special_use = \Drafts
+  }
+  mailbox "Черновики" {
+    special_use = \Drafts
+  }
+  mailbox "Чернетки" {
+    special_use = \Drafts
+  }
+  mailbox "Junk" {
+    auto = subscribe
+    special_use = \Junk
+  }
+  mailbox "Junk-E-Mail" {
+    special_use = \Junk
+  }
+  mailbox "Junk E-Mail" {
+    special_use = \Junk
+  }
+  mailbox "Spam" {
+    special_use = \Junk
+  }
+  mailbox "Lixo Eletrônico" {
+    special_use = \Junk
+  }
+  mailbox "Nevyžiadaná pošta" {
+    special_use = \Junk
+  }
+  mailbox "Infikované položky" {
+    special_use = \Junk
+  }
+  mailbox "Ongewenste e-mail" {
+    special_use = \Junk
+  }
+  mailbox "垃圾" {
+    special_use = \Junk
+  }
+  mailbox "垃圾箱" {
+    special_use = \Junk
+  }
+  mailbox "Нежелательная почта" {
+    special_use = \Junk
+  }
+  mailbox "Спам" {
+    special_use = \Junk
+  }
+  mailbox "Небажана пошта" {
+    special_use = \Junk
+  }
+  mailbox "Koncepty" {
+    special_use = \Drafts
+  }
+  mailbox "Nevyžádaná pošta" {
+    special_use = \Junk
+  }
+  mailbox "Odstraněná pošta" {
+    special_use = \Trash
+  }
+  mailbox "Odeslaná pošta" {
+    special_use = \Sent
+  }
+  mailbox "Skräp" {
+    special_use = \Trash
+  }
+  mailbox "Borttagna Meddelanden" {
+    special_use = \Trash
+  }
+  mailbox "Arkiv" {
+    special_use = \Archive
+  }
+  mailbox "Arkeverat" {
+    special_use = \Archive
+  }
+  mailbox "Skickat" {
+    special_use = \Sent
+  }
+  mailbox "Skickade Meddelanden" {
+    special_use = \Sent
+  }
+  mailbox "Utkast" {
+    special_use = \Drafts
+  }
+  mailbox "Skraldespand" {
+    special_use = \Trash
+  }
+  mailbox "Slettet mails" {
+    special_use = \Trash
+  }
+  mailbox "Arkiv" {
+    special_use = \Archive
+  }
+  mailbox "Arkiveret mails" {
+    special_use = \Archive
+  }
+  mailbox "Sendt" {
+    special_use = \Sent
+  }
+  mailbox "Sendte mails" {
+    special_use = \Sent
+  }
+  mailbox "Udkast" {
+    special_use = \Drafts
+  }
+  mailbox "Kladde" {
+    special_use = \Drafts
+  }
+  prefix =
+}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before b/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before
index e6a523d..3e79ca1 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before
+++ b/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before
@@ -1,2 +1,13 @@
 # global_sieve_before script
 # global_sieve_before -> user sieve_before (mailcow UI) -> user sieve_after (mailcow UI) -> global_sieve_after
+
+require ["mailbox", "fileinto"];
+
+if header :contains ["Chat-Version"] [""] {
+  if mailboxexists "DeltaChat" {
+    fileinto "DeltaChat";
+  } else {
+    fileinto :create "DeltaChat";
+  }
+  stop;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/conf/nginx/includes/site-defaults.conf b/mailcow/src/mailcow-dockerized/data/conf/nginx/includes/site-defaults.conf
index c4c06b2..b38f4b2 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/nginx/includes/site-defaults.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/nginx/includes/site-defaults.conf
@@ -3,6 +3,8 @@
   charset utf-8;
   override_charset on;
 
+  server_tokens off;
+
   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_prefer_server_ciphers on;
   ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
@@ -86,6 +88,11 @@
     return 301 /SOGo/dav;
   }
 
+  location ^~ /inc/lib/ {
+    deny all;
+    return 403;
+  }
+
   location ~ \.php$ {
     try_files $uri =404;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
@@ -140,7 +147,6 @@
     try_files /autoconfig.php =404;
   }
 
-  # auth_request endpoint if ALLOW_ADMIN_EMAIL_LOGIN is set
   location /sogo-auth-verify {
     internal;
     proxy_set_header  X-Original-URI $request_uri;
@@ -152,7 +158,7 @@
   }
 
   location ^~ /Microsoft-Server-ActiveSync {
-    include /etc/nginx/conf.d/sogo_proxy_auth.active;
+    include /etc/nginx/conf.d/includes/sogo_proxy_auth.conf;
     include /etc/nginx/conf.d/sogo_eas.active;
     proxy_connect_timeout 75;
     proxy_send_timeout 3600;
@@ -166,7 +172,22 @@
   }
 
   location ^~ /SOGo {
-    include /etc/nginx/conf.d/sogo_proxy_auth.active;
+    location ~* ^/SOGo/so/.*\.(xml|js|html|xhtml)$ {
+      include /etc/nginx/conf.d/includes/sogo_proxy_auth.conf;
+      include /etc/nginx/conf.d/sogo.active;
+      proxy_set_header X-Real-IP $remote_addr;
+      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+      proxy_set_header Host $http_host;
+      proxy_set_header x-webobjects-server-protocol HTTP/1.0;
+      proxy_set_header x-webobjects-remote-host $remote_addr;
+      proxy_set_header x-webobjects-server-name $server_name;
+      proxy_set_header x-webobjects-server-url $client_req_scheme://$http_host;
+      proxy_set_header x-webobjects-server-port $server_port;
+      proxy_hide_header Content-Type;
+      add_header Content-Type text/plain;
+      break;
+    }
+    include /etc/nginx/conf.d/includes/sogo_proxy_auth.conf;
     include /etc/nginx/conf.d/sogo.active;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
diff --git a/mailcow/src/mailcow-dockerized/data/conf/nginx/includes/sogo_proxy_auth.conf b/mailcow/src/mailcow-dockerized/data/conf/nginx/includes/sogo_proxy_auth.conf
new file mode 100644
index 0000000..045b98a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/nginx/includes/sogo_proxy_auth.conf
@@ -0,0 +1,8 @@
+auth_request /sogo-auth-verify;
+auth_request_set $user $upstream_http_x_user;
+auth_request_set $auth $upstream_http_x_auth;
+auth_request_set $auth_type $upstream_http_x_auth_type;
+proxy_set_header x-webobjects-remote-user "$user";
+proxy_set_header Authorization "$auth";
+proxy_set_header x-webobjects-auth-type "$auth_type";
+
diff --git a/mailcow/src/mailcow-dockerized/data/conf/nginx/site.conf b/mailcow/src/mailcow-dockerized/data/conf/nginx/site.conf
index d6e6b13..1b46d2b 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/nginx/site.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/nginx/site.conf
@@ -1,4 +1,3 @@
-server_tokens off;
 proxy_cache_path /tmp levels=1:2 keys_zone=sogo:10m inactive=24h  max_size=1g;
 server_names_hash_bucket_size 64;
 
diff --git a/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/server_name.template b/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/server_name.template
deleted file mode 100644
index 261a1ec..0000000
--- a/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/server_name.template
+++ /dev/null
@@ -1 +0,0 @@
-server_name ${MAILCOW_HOSTNAME} autodiscover.* autoconfig.*;
diff --git a/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/server_name.template.sh b/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/server_name.template.sh
new file mode 100755
index 0000000..291b378
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/server_name.template.sh
@@ -0,0 +1 @@
+echo "server_name ${MAILCOW_HOSTNAME} autodiscover.* autoconfig.* $(echo ${ADDITIONAL_SERVER_NAMES} | tr ',' ' ');"
diff --git a/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/sogo.auth_request.template.sh b/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/sogo.auth_request.template.sh
deleted file mode 100644
index f6d2d98..0000000
--- a/mailcow/src/mailcow-dockerized/data/conf/nginx/templates/sogo.auth_request.template.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-if printf "%s\n" "${ALLOW_ADMIN_EMAIL_LOGIN}" | grep -E '^([yY][eE][sS]|[yY])+$' >/dev/null; then
-    echo 'auth_request /sogo-auth-verify;
-auth_request_set $user $upstream_http_x_user;
-auth_request_set $auth $upstream_http_x_auth;
-auth_request_set $auth_type $upstream_http_x_auth_type;
-proxy_set_header x-webobjects-remote-user "$user";
-proxy_set_header Authorization "$auth";
-proxy_set_header x-webobjects-auth-type "$auth_type";
-'
-fi
diff --git a/mailcow/src/mailcow-dockerized/data/conf/phpfpm/php-conf.d/other.ini b/mailcow/src/mailcow-dockerized/data/conf/phpfpm/php-conf.d/other.ini
index 379be75..02f59a9 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/phpfpm/php-conf.d/other.ini
+++ b/mailcow/src/mailcow-dockerized/data/conf/phpfpm/php-conf.d/other.ini
@@ -1,2 +1,3 @@
 max_execution_time = 3600
 max_input_time = 3600
+memory_limit = 512M
diff --git a/mailcow/src/mailcow-dockerized/data/conf/postfix/main.cf b/mailcow/src/mailcow-dockerized/data/conf/postfix/main.cf
index 3e4b2b1..b4f34b4 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/postfix/main.cf
+++ b/mailcow/src/mailcow-dockerized/data/conf/postfix/main.cf
@@ -7,7 +7,6 @@
 smtpd_tls_key_file = /etc/ssl/mail/key.pem
 tls_server_sni_maps = hash:/opt/postfix/conf/sni.map
 smtpd_tls_received_header = yes
-smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
 smtpd_relay_restrictions = permit_mynetworks,
   permit_sasl_authenticated,
@@ -78,7 +77,7 @@
 postscreen_non_smtp_command_enable = no
 postscreen_pipelining_enable = no
 proxy_read_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_sasl_passwd_maps_transport_maps.cf,
-  proxy:mysql:/opt/postfix/conf/sql/mysql_sasl_access_maps.cf,
+  proxy:mysql:/opt/postfix/conf/sql/mysql_mbr_access_maps.cf,
   proxy:mysql:/opt/postfix/conf/sql/mysql_tls_enforce_in_policy.cf,
   $sender_dependent_default_transport_maps,
   $smtp_tls_policy_maps,
@@ -116,7 +115,7 @@
 smtpd_hard_error_limit = ${stress?1}${stress:5}
 smtpd_helo_required = yes
 smtpd_proxy_timeout = 600s
-smtpd_recipient_restrictions = check_sasl_access proxy:mysql:/opt/postfix/conf/sql/mysql_sasl_access_maps.cf,
+smtpd_recipient_restrictions = check_recipient_mx_access proxy:mysql:/opt/postfix/conf/sql/mysql_mbr_access_maps.cf,
   permit_sasl_authenticated,
   permit_mynetworks,
   check_recipient_access proxy:mysql:/opt/postfix/conf/sql/mysql_tls_enforce_in_policy.cf,
@@ -160,8 +159,9 @@
 virtual_gid_maps = static:5000
 virtual_mailbox_base = /var/vmail/
 virtual_mailbox_domains = proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_domains_maps.cf
-recipient_bcc_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_recipient_bcc_maps.cf
-sender_bcc_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_sender_bcc_maps.cf
+# -- moved to rspamd on 2021-06-01
+#recipient_bcc_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_recipient_bcc_maps.cf
+#sender_bcc_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_sender_bcc_maps.cf
 recipient_canonical_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_recipient_canonical_maps.cf
 recipient_canonical_classes = envelope_recipient
 virtual_mailbox_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_mailbox_maps.cf
@@ -191,11 +191,10 @@
 postscreen_discard_ehlo_keywords = silent-discard, dsn
 compatibility_level = 2
 smtputf8_enable = no
-smtpd_last_auth = check_policy_service inet:127.0.0.1:10028
 # Define protocols for SMTPS and submission service
 submission_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
 smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
+parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,qmqpd_authorized_clients
 
 # DO NOT EDIT ANYTHING BELOW #
 # User overrides #
-
diff --git a/mailcow/src/mailcow-dockerized/data/conf/postfix/master.cf b/mailcow/src/mailcow-dockerized/data/conf/postfix/master.cf
index ffd1ac4..63ce875 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/postfix/master.cf
+++ b/mailcow/src/mailcow-dockerized/data/conf/postfix/master.cf
@@ -17,7 +17,6 @@
   -o tls_preempt_cipherlist=yes
   -o cleanup_service_name=smtp_sender_cleanup
   -o syslog_name=postfix/smtps
-  -o smtpd_end_of_data_restrictions=$smtpd_last_auth
 10465    inet  n       -       n       -       -       smtpd
   -o smtpd_upstream_proxy_protocol=haproxy
   -o smtpd_tls_wrappermode=yes
@@ -26,7 +25,6 @@
   -o tls_preempt_cipherlist=yes
   -o cleanup_service_name=smtp_sender_cleanup
   -o syslog_name=postfix/smtps-haproxy
-  -o smtpd_end_of_data_restrictions=$smtpd_last_auth
 
 # smtpd with starttls on 587/tcp
 # TLS protocol can be modified by setting submission_smtpd_tls_mandatory_protocols in extra.cf
@@ -38,7 +36,6 @@
   -o tls_preempt_cipherlist=yes
   -o cleanup_service_name=smtp_sender_cleanup
   -o syslog_name=postfix/submission
-  -o smtpd_end_of_data_restrictions=$smtpd_last_auth
 10587      inet n       -       n       -       -       smtpd
   -o smtpd_upstream_proxy_protocol=haproxy
   -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
@@ -48,7 +45,6 @@
   -o tls_preempt_cipherlist=yes
   -o cleanup_service_name=smtp_sender_cleanup
   -o syslog_name=postfix/submission-haproxy
-  -o smtpd_end_of_data_restrictions=$smtpd_last_auth
 
 # used by SOGo
 # smtpd_sender_restrictions should match main.cf, but with check_sasl_access prepended for login-as-mailbox-user function
@@ -58,7 +54,6 @@
   -o smtpd_sender_restrictions=check_sasl_access,regexp:/opt/postfix/conf/allow_mailcow_local.regexp,reject_authenticated_sender_login_mismatch,permit_mynetworks,permit_sasl_authenticated,reject_unlisted_sender,reject_unknown_sender_domain
   -o cleanup_service_name=smtp_sender_cleanup
   -o syslog_name=postfix/sogo
-  -o smtpd_end_of_data_restrictions=$smtpd_last_auth
 
 # used to reinject quarantine mails
 590 inet n      -       n       -       -       smtpd
@@ -68,7 +63,15 @@
   -o smtpd_milters=
   -o non_smtpd_milters=
   -o syslog_name=postfix/quarantine
-  -o smtpd_end_of_data_restrictions=$smtpd_last_auth
+
+# used to send bcc mails
+591 inet n      -       n       -       -       smtpd
+  -o smtpd_helo_restrictions=
+  -o smtpd_client_restrictions=permit_mynetworks,reject
+  -o smtpd_tls_auth_only=no
+  -o smtpd_milters=
+  -o non_smtpd_milters=
+  -o syslog_name=postfix/bcc
 
 # enforced smtp connector
 smtp_enforced_tls      unix  -       -       n       -       -       smtp
@@ -115,7 +118,6 @@
 
 # start whitelist_fwd
 127.0.0.1:10027 inet n n n - 0 spawn user=nobody argv=/usr/local/bin/whitelist_forwardinghosts.sh
-127.0.0.1:10028 inet n n n - 0 spawn user=nobody argv=/usr/local/bin/smtpd_last_login.sh
 # end whitelist_fwd
 
 # start watchdog-specific
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bad_asn.map b/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bad_asn.map
index fb42628..1858c55 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bad_asn.map
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bad_asn.map
@@ -1,30 +1,30 @@
 # High spam networks, disabled by default
 # ASN SCORE DESC
 # Remove comment to enable score
-#201942 5 #Soltia Consulting SL - ipinfo.io
-#16276 2 #OVH
-#12876 2 #ONLINE S.A.S
-#31034 5 #ARUBA-ASN, IT
-#12874 5 #FASTWEB, IT
-#30823 3 #PKV spam
-#42831 5 #UK Dedicated Servers Ltd
-#29119 5 #Aire Networks del Mediterraneo S.L.U.
-#13335 5 #Cloudflare
-#28753 5 #Leaseweb
-#61272 5 #Informacines sistemos ir technologijos
-#53755 5 #Input Output Flood LLC
-#29422 5 #FICIX Helsinki
-#62255 4 #Asmunda New Media Ltd
-#14061 4 #Digitalocean
-#55293 4 #A2 Hosting
-#63018 4 #US Dedicated
-#197518 2 #RACKMARKT
-#44493 2
-#46606 2
-#49505 2
-#21100 2
-#197695 2
-#198068 2
-#43146 2
-#49100 4
-#39364 4
+#12874 5 #Fastweb SpA, Italy
+#12876 2 #ONLINE S.A.S, France
+#13335 5 #Cloudflare Inc., United States
+#14061 4 #DigitalOcean LLC, United States
+#16276 2 #OVH SAS, France
+#21100 2 #ITL LLC, Ukraine
+#28753 5 #Leaseweb Deutschland GmbH, Germany
+#29119 5 #ServiHosting Networks S.L., Spain
+#29422 5 #Telia Inmics-Nebula Oy, Finland
+#30823 3 #combahton GmbH, Germany
+#31034 5 #Aruba S.p.A, Italy
+#39364 4 #Hormoz IT & Network Waves Connection Co. (PJS), Iran
+#42831 5 #UK Dedicated Servers Limited, United Kingdom
+#43146 2 #Domain names registrar REG.RU Ltd, Russia
+#44493 2 #Chelyabinsk-Signal LLC, Russia
+#46606 2 #Unified Layer, United States
+#49100 4 #Pishgaman Toseeh Ertebatat Company (Private Joint Stock), Iran
+#49505 2 #OOO Network of data-centers Selectel, Russia
+#53755 5 #Input Output Flood LLC, United States
+#55293 4 #A2 Hosting Inc., United States
+#61272 5 #Informacines sistemos ir technologijos - UAB, Lithuania
+#62255 4 #Asmunda New Media Ltd., Seychelles
+#63018 4 #Dedicated.com, United States
+#197518 2 #Rackmarkt SL, Spain
+#197695 2 #Domain names registrar REG.RU Ltd, Russia
+#198068 2 #P.A.G.M. OU, Estonia
+#201942 5 #Soltia Consulting SL, Spain
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bad_header.map b/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bad_header.map
new file mode 100644
index 0000000..839c3c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bad_header.map
@@ -0,0 +1,2 @@
+/Thread-Topic:\s[a-zA-Z]{3}\s[a-zA-Z]{2}[\s\r\n]{0,1}[^a-zA-Z0-9][\r\n]/i
+/Thread-Topic:\s[a-zA-Z]{3}\s[a-zA-Z]{2}\s[a-zA-Z]{1}\s[a-zA-Z]{5}[\s\r\n]{0,1}[^a-zA-Z0-9][\r\n]/i
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bulk_header.map b/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bulk_header.map
index 303954e..e9dc206 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bulk_header.map
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/custom/bulk_header.map
@@ -1,5 +1,5 @@
 /X-EMV-Platform; .*/i
-/.*nur-1-click*/i
+/.*nur-1-click.*/i
 /.*episerver.*/i
 /.*supergewinne.*/i
 /List-Unsubscribe.*nbps\.eu/i
@@ -16,3 +16,4 @@
 /.*dynamic-lht.*/i
 /.*light-house-traffic.*/i
 /.*newsletterplus.*/i
+/.*X-Chpo.*/i
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/dynmaps/bcc.php b/mailcow/src/mailcow-dockerized/data/conf/rspamd/dynmaps/bcc.php
new file mode 100644
index 0000000..3145fee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/dynmaps/bcc.php
@@ -0,0 +1,88 @@
+<?php
+// File size is limited by Nginx site to 10M
+// To speed things up, we do not include prerequisites
+header('Content-Type: text/plain');
+require_once "vars.inc.php";
+// Do not show errors, we log to using error_log
+ini_set('error_reporting', 0);
+// Init database
+//$dsn = $database_type . ':host=' . $database_host . ';dbname=' . $database_name;
+$dsn = $database_type . ":unix_socket=" . $database_sock . ";dbname=" . $database_name;
+$opt = [
+    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
+    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+    PDO::ATTR_EMULATE_PREPARES   => false,
+];
+try {
+  $pdo = new PDO($dsn, $database_user, $database_pass, $opt);
+}
+catch (PDOException $e) {
+  error_log("BCC MAP SQL ERROR: " . $e . PHP_EOL);
+  http_response_code(501);
+  exit;
+}
+
+function parse_email($email) {
+  if(!filter_var($email, FILTER_VALIDATE_EMAIL)) return false;
+  $a = strrpos($email, '@');
+  return array('local' => substr($email, 0, $a), 'domain' => substr(substr($email, $a), 1));
+}
+if (!function_exists('getallheaders'))  {
+  function getallheaders() {
+    if (!is_array($_SERVER)) {
+      return array();
+    }
+    $headers = array();
+    foreach ($_SERVER as $name => $value) {
+      if (substr($name, 0, 5) == 'HTTP_') {
+        $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
+      }
+    }
+    return $headers;
+  }
+}
+
+// Read headers
+$headers = getallheaders();
+// Get rcpt
+$rcpt = $headers['Rcpt'];
+// Get from
+$from = $headers['From'];
+// Remove tags
+$rcpt = preg_replace('/^(.*?)\+.*(@.*)$/', '$1$2', $rcpt);
+$from = preg_replace('/^(.*?)\+.*(@.*)$/', '$1$2', $from);
+
+try {
+  if (!empty($rcpt)) {
+    $stmt = $pdo->prepare("SELECT `bcc_dest` FROM `bcc_maps` WHERE `type` = 'rcpt' AND `local_dest` = :local_dest AND `active` = '1'");
+    $stmt->execute(array(
+      ':local_dest' => $rcpt
+    ));
+    $bcc_dest = $stmt->fetch(PDO::FETCH_ASSOC)['bcc_dest'];
+    if (!empty($bcc_dest) && filter_var($bcc_dest, FILTER_VALIDATE_EMAIL)) {
+      error_log("BCC MAP: returning ". $bcc_dest . " for " . $rcpt . PHP_EOL);
+      http_response_code(201);
+      echo trim($bcc_dest);
+      exit;
+    }
+  }
+  if (!empty($from)) {
+    $stmt = $pdo->prepare("SELECT `bcc_dest` FROM `bcc_maps` WHERE `type` = 'sender' AND `local_dest` = :local_dest AND `active` = '1'");
+    $stmt->execute(array(
+      ':local_dest' => $from
+    ));
+    $bcc_dest = $stmt->fetch(PDO::FETCH_ASSOC)['bcc_dest'];
+    if (!empty($bcc_dest) && filter_var($bcc_dest, FILTER_VALIDATE_EMAIL)) {
+      error_log("BCC MAP: returning ". $bcc_dest . " for " . $from . PHP_EOL);
+      http_response_code(201);
+      echo trim($bcc_dest);
+      exit;
+    }
+  }
+}
+catch (PDOException $e) {
+  error_log("BCC MAP SQL ERROR: " . $e->getMessage() . PHP_EOL);
+  http_response_code(502);
+  exit;
+}
+
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/dynmaps/sasl_logs.php b/mailcow/src/mailcow-dockerized/data/conf/rspamd/dynmaps/sasl_logs.php
new file mode 100644
index 0000000..2d4cbe6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/dynmaps/sasl_logs.php
@@ -0,0 +1,2 @@
+<?php
+// PoC
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/composites.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/composites.conf
index 13c977c..337a2eb 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/composites.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/composites.conf
@@ -11,6 +11,11 @@
   expression = "-g+:policies & !DMARC_POLICY_ALLOW & !MAILLIST & ( FREEMAIL_ENVFROM | FREEMAIL_FROM ) & !WHITELISTED_FWD_HOST";
   score = 16.0;
 }
+# Applies to freemail with undisclosed recipients
+FREEMAIL_TO_UNDISC_RCPT {
+  expression = "FREEMAIL_FROM & ( MISSING_TO | R_UNDISC_RCPT | TO_EQ_FROM )";
+  score = 5.0;
+}
 # Bad policy from non-whitelisted senders
 # Remove SOGO_CONTACT symbol for fwd hosts and senders with broken policy
 SOGO_CONTACT_EXCLUDE {
@@ -29,23 +34,37 @@
 }
 # Applies to a content filter map
 BAD_WORD_BAD_TLD {
-  expression = "FISHY_TLD & ( BAD_WORDS | BAD_WORDS_DE )"
+  expression = "FISHY_TLD & ( BAD_WORDS | BAD_WORDS_DE )";
   score = 10.0;
 }
 # Forged with bad policies and not fwd host, keep bad policy symbols
 FORGED_W_BAD_POLICY {
-  expression = "( -g+:policies | -R_SPF_NA) & ( ~FROM_NEQ_ENVFROM | ~FORGED_SENDER ) & !WHITELISTED_FWD_HOST & !DMARC_POLICY_ALLOW"
+  expression = "( -g+:policies | -R_SPF_NA) & ( ~FROM_NEQ_ENVFROM | ~FORGED_SENDER ) & !WHITELISTED_FWD_HOST & !DMARC_POLICY_ALLOW";
   score = 3.0;
 }
 # Keep negative (good) scores for rbl, policies and hfilter, disable neural group
 WL_FWD_HOST {
-  expression = "-WHITELISTED_FWD_HOST & (^g+:rbl | ^g+:policies | ^g+:hfilter | ^g:neural)"
+  expression = "-WHITELISTED_FWD_HOST & (^g+:rbl | ^g+:policies | ^g+:hfilter | ^g:neural)";
 }
 # Exclude X-Spam like flags from scoring from fwd and sieve hosts
 UPSTREAM_CHECKS_EXCLUDE_FWD_HOST {
-  expression = "(-SIEVE_HOST | -WHITELISTED_FWD_HOST) & (^UNITEDINTERNET_SPAM | ^SPAM_FLAG | ^KLMS_SPAM | ^AOL_SPAM | ^MICROSOFT_SPAM)"
+  expression = "(-SIEVE_HOST | -WHITELISTED_FWD_HOST) & (^UNITEDINTERNET_SPAM | ^SPAM_FLAG | ^KLMS_SPAM | ^AOL_SPAM | ^MICROSOFT_SPAM)";
 }
 # Remove fuzzy group from bounces
 BOUNCE_FUZZY {
   expression = "-BOUNCE & ^g+:fuzzy";
 }
+# Remove bayes ham if fuzzy denied
+FUZZY_HAM_MISMATCH {
+  expression = "( -FUZZY_DENIED | -MAILCOW_FUZZY_DENIED | -LOCAL_FUZZY_DENIED ) & ( ^BAYES_HAM | ^NEURAL_HAM_LONG | ^NEURAL_HAM_SHORT )";
+}
+# Remove bayes spam if local fuzzy white
+FUZZY_SPAM_MISMATCH {
+  expression = "( -LOCAL_FUZZY_WHITE ) & ( ^BAYES_SPAM | ^NEURAL_SPAM_LONG | ^NEURAL_SPAM_SHORT )";
+}
+WL_FWD_HOST {
+  expression = "-WHITELISTED_FWD_HOST & (^g+:rbl | ^g+:policies | ^g+:hfilter | ^g:neural)";
+}
+ENCRYPTED_CHAT {
+  expression = "CHAT_VERSION_HEADER & ENCRYPTED_PGP";
+}
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/dkim_signing.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/dkim_signing.conf
index 13eb094..4fac27f 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/dkim_signing.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/dkim_signing.conf
@@ -32,4 +32,4 @@
 # forwards are arc signed, rejects are dkim signed
 sign_networks = "/etc/rspamd/custom/dovecot_trusted.map";
 use_domain_sign_networks = "header";
-sign_headers = "from:sender:reply-to:subject:date:message-id:to:cc:mime-version:content-type:content-transfer-encoding:resent-to:resent-cc:resent-from:resent-sender:resent-message-id:in-reply-to:references:list-id:list-help:list-owner:list-unsubscribe:list-subscribe:list-post:openpgp:autocrypt";
+sign_headers = "from:sender:reply-to:subject:date:message-id:to:cc:mime-version:content-type:content-transfer-encoding:content-language:resent-to:resent-cc:resent-from:resent-sender:resent-message-id:in-reply-to:references:list-id:list-help:list-owner:list-unsubscribe:list-subscribe:list-post:list-unsubscribe-post:disposition-notification-to:disposition-notification-options:original-recipient:openpgp:autocrypt";
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/external_services.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/external_services.conf
index f05314b..2b091ff 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/external_services.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/external_services.conf
@@ -6,4 +6,7 @@
   # mime-part regex matching in content-type or filename
   # block all macros
   extended = true;
+  max_size = 3145728;
+  timeout = 20.0;
+  retransmits = 1;
 }
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/groups.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/groups.conf
index ef599ef..9ca3409 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/groups.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/groups.conf
@@ -9,9 +9,15 @@
   "BAD_REP_POLICIES" {
     score = 2.0;
   }
+  "BAD_HEADER" {
+    score = 10.0;
+  }
   "BULK_HEADER" {
     score = 4.0;
   }
+  "ENCRYPTED_CHAT" {
+    score = -20.0;
+  }
 }
 
 group "MX" {
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/metadata_exporter.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/metadata_exporter.conf
index f29f480..b6aa150 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/metadata_exporter.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/metadata_exporter.conf
@@ -51,6 +51,7 @@
     and not task:has_symbol('GLOBAL_MIME_FROM_BL')
     and not task:has_symbol('LOCAL_BL_ASN')
     and not task:has_symbol('GLOBAL_RCPT_BL')
+    and not task:has_symbol('BAD_SUBJECT_00')
     and not task:has_symbol('MAILCOW_BLACK') then
       local action = task:get_metric_action('default')
       if action == 'reject' or action == 'add header' or action == 'rewrite subject' then
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/multimap.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/multimap.conf
index 0f05bb5..17ada99 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/multimap.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/multimap.conf
@@ -19,6 +19,22 @@
   symbols_set = ["BULK_HEADER"];
 }
 
+CHAT_VERSION_HEADER {
+  type = "header";
+  header = "Chat-Version";
+  map = "${LOCAL_CONFDIR}/custom/chat_versions.map";
+  regexp = true;
+  symbols_set = ["CHAT_VERSION_HEADER"];
+}
+
+BAD_HEADER {
+  type = "content";
+  map = "${LOCAL_CONFDIR}/custom/bad_header.map";
+  filter = "headers"
+  regexp = true;
+  symbols_set = ["BAD_HEADER"];
+}
+
 LOCAL_BL_ASN {
   require_symbols = "!MAILCOW_WHITE";
   type = "asn";
@@ -80,7 +96,6 @@
   type = "ip";
   map = "${LOCAL_CONFDIR}/custom/dovecot_trusted.map";
   symbols_set = ["SIEVE_HOST"];
-  score = -15;
 }
 
 RSPAMD_HOST {
@@ -136,7 +151,7 @@
   score = 5.0;
 }
 
-BAZAR_ABUSE_CH {
+BAZAAR_ABUSE_CH {
   type = "selector";
   selector = "attachments(hex,md5)";
   map = "https://bazaar.abuse.ch/export/txt/md5/recent/";
@@ -155,3 +170,12 @@
   map = "redis://SMTP_LIMITED_ACCESS";
   symbols_set = ["SMTP_LIMITED_ACCESS"];
 }
+
+BAD_SUBJECT_00 {
+  type = "header";
+  header = "subject";
+  regexp = true;
+  map = "http://nullnull.org/bad-subject-regex.txt";
+  score = 6.0;
+  symbols_set = ["BAD_SUBJECT_00"];
+}
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/options.inc b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/options.inc
index 4fbdfba..fcf499d 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/options.inc
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/options.inc
@@ -2,8 +2,7 @@
   enable_dnssec = true;
 }
 map_watch_interval = 30s;
-dns {
-  timeout = 4s;
-  retransmits = 2;
-}
 disable_monitoring = true;
+# In case a task times out (like DNS lookup), soft reject the message
+# instead of silently accepting the message without further processing.
+soft_reject_on_timeout = true;
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/policies_group.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/policies_group.conf
index 8799db1..954deac 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/policies_group.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/policies_group.conf
@@ -1,6 +1,6 @@
 symbols = {
     "ARC_REJECT" {
-        score = 0.01;
+        score = 0.1;
     }
     "R_SPF_FAIL" {
         score = 8.0;
@@ -8,6 +8,9 @@
     "R_SPF_PERMFAIL" {
         score = 8.0;
     }
+    "R_SPF_SOFTFAIL" {
+        score = 0.1;
+    }
     "R_DKIM_REJECT" {
         score = 8.0;
     }
@@ -18,6 +21,6 @@
         weight = 8.0;
     }
     "DMARC_POLICY_SOFTFAIL" {
-        weight = 0.0;
+        weight = 0.1;
     }
 }
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/rbl.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/rbl.conf
index c44b9ef..f132b4d 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/rbl.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/rbl.conf
@@ -1,12 +1,4 @@
 rbls {
-  uceprotect1 {
-    symbol = "RBL_UCEPROTECT_LEVEL1";
-    rbl = "dnsbl-1.uceprotect.net";
-  }
-  uceprotect2 {
-    symbol = "RBL_UCEPROTECT_LEVEL2";
-    rbl = "dnsbl-2.uceprotect.net";
-  }
   sorbs { 
     symbol = "RBL_SORBS"; 
     rbl = "dnsbl.sorbs.net";  
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/reputation.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/reputation.conf
index 0e3d03e..c9600b7 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/reputation.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/reputation.conf
@@ -3,7 +3,6 @@
     selector "ip" {
     }
     backend "redis" {
-      servers = "redis";
     }
     symbol = "IP_REPUTATION";
   }
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/statistics_group.conf b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/statistics_group.conf
index 7ed35b1..cf40583 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/statistics_group.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/local.d/statistics_group.conf
@@ -1,6 +1,6 @@
 symbols = {
     "BAYES_SPAM" {
-        weight = 2.5;
+        weight = 4.5;
         description = "Message probably spam, probability: ";
     }
     "BAYES_HAM" {
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/lua/rspamd.local.lua b/mailcow/src/mailcow-dockerized/data/conf/rspamd/lua/rspamd.local.lua
index 3f4c326..b007f09 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/lua/rspamd.local.lua
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/lua/rspamd.local.lua
@@ -321,6 +321,116 @@
 })
 
 rspamd_config:register_symbol({
+  name = 'BCC',
+  type = 'postfilter',
+  callback = function(task)
+    local util = require("rspamd_util")
+    local rspamd_http = require "rspamd_http"
+    local rspamd_logger = require "rspamd_logger"
+
+    local from_table = {}
+    local rcpt_table = {}
+
+    if task:has_symbol('ENCRYPTED_CHAT') then
+      return -- stop
+    end
+
+    local send_mail = function(task, bcc_dest)
+      local lua_smtp = require "lua_smtp"
+      local function sendmail_cb(ret, err)
+        if not ret then
+          rspamd_logger.errx(task, 'BCC SMTP ERROR: %s', err)
+        else
+          rspamd_logger.infox(rspamd_config, "BCC SMTP SUCCESS TO %s", bcc_dest)
+        end
+      end
+      if not bcc_dest then
+        return -- stop
+      end
+      lua_smtp.sendmail({
+        task = task,
+        host = os.getenv("IPV4_NETWORK") .. '.253',
+        port = 591,
+        from = task:get_from(stp)[1].addr,
+        recipients = bcc_dest,
+        helo = 'bcc',
+        timeout = 10,
+      }, task:get_content(), sendmail_cb)
+    end
+
+    -- determine from
+    local from = task:get_from('smtp')
+    if from then
+      for _, a in ipairs(from) do
+        table.insert(from_table, a['addr']) -- add this rcpt to table
+        table.insert(from_table, '@' .. a['domain']) -- add this rcpts domain to table
+      end
+    else
+      return -- stop
+    end
+
+    -- determine rcpts
+    local rcpts = task:get_recipients('smtp')
+    if rcpts then
+      for _, a in ipairs(rcpts) do
+        table.insert(rcpt_table, a['addr']) -- add this rcpt to table
+        table.insert(rcpt_table, '@' .. a['domain']) -- add this rcpts domain to table
+      end
+    else
+      return -- stop
+    end
+
+    local action = task:get_metric_action('default')
+    rspamd_logger.infox("metric action now: %s", action)
+
+    local function rcpt_callback(err_message, code, body, headers)
+      if err_message == nil and code == 201 and body ~= nil then
+        if action == 'no action' or action == 'add header' or action == 'rewrite subject' then
+          send_mail(task, body)
+        end
+      end
+    end
+
+    local function from_callback(err_message, code, body, headers)
+      if err_message == nil and code == 201 and body ~= nil then
+        if action == 'no action' or action == 'add header' or action == 'rewrite subject' then
+          send_mail(task, body)
+        end
+      end
+    end
+
+    if rcpt_table then
+      for _,e in ipairs(rcpt_table) do
+        rspamd_logger.infox(rspamd_config, "checking bcc for rcpt address %s", e)
+        rspamd_http.request({
+          task=task,
+          url='http://nginx:8081/bcc.php',
+          body='',
+          callback=rcpt_callback,
+          headers={Rcpt=e}
+        })
+      end
+    end
+
+    if from_table then
+      for _,e in ipairs(from_table) do
+        rspamd_logger.infox(rspamd_config, "checking bcc for from address %s", e)
+        rspamd_http.request({
+          task=task,
+          url='http://nginx:8081/bcc.php',
+          body='',
+          callback=from_callback,
+          headers={From=e}
+        })
+      end
+    end
+
+    return true
+  end,
+  priority = 20
+})
+
+rspamd_config:register_symbol({
   name = 'DYN_RL_CHECK',
   type = 'prefilter',
   callback = function(task)
diff --git a/mailcow/src/mailcow-dockerized/data/conf/rspamd/override.d/worker-normal.inc b/mailcow/src/mailcow-dockerized/data/conf/rspamd/override.d/worker-normal.inc
index c0f1fb1..d206757 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/rspamd/override.d/worker-normal.inc
+++ b/mailcow/src/mailcow-dockerized/data/conf/rspamd/override.d/worker-normal.inc
@@ -1,4 +1,4 @@
 bind_socket = "*:11333";
-task_timeout = 12s;
+task_timeout = 25s;
 count = 1;
 .include(try=true; priority=30) "$CONFDIR/override.d/worker-normal.custom.inc"
diff --git a/mailcow/src/mailcow-dockerized/data/conf/sogo/custom-favicon.ico b/mailcow/src/mailcow-dockerized/data/conf/sogo/custom-favicon.ico
new file mode 100644
index 0000000..4d5cb32
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/sogo/custom-favicon.ico
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/conf/sogo/custom-theme.js b/mailcow/src/mailcow-dockerized/data/conf/sogo/custom-theme.js
new file mode 100644
index 0000000..0df5067
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/sogo/custom-theme.js
@@ -0,0 +1,36 @@
+/* EXAMPLE - EXAMPLE - EXAMPLE - EXAMPLE - EXAMPLE - EXAMPLE - EXAMPLE
+(function() {
+  'use strict';
+  angular.module('SOGo.Common')
+    .config(configure)
+
+  configure.$inject = ['$mdThemingProvider'];
+  function configure($mdThemingProvider) {
+    var greyMap = $mdThemingProvider.extendPalette('grey', {
+      '200': 'F5F5F5',
+      '300': 'E5E5E5',
+      '1000': '4C566A'
+    });
+    var greenCow = $mdThemingProvider.extendPalette('green', {
+      '600': 'E5E5E5'
+    });
+    $mdThemingProvider.definePalette('frost-grey', greyMap);
+    $mdThemingProvider.definePalette('green-cow', greenCow);
+    $mdThemingProvider.theme('default')
+      .primaryPalette('green-cow', {
+        'default': '400',
+        'hue-1': '400',
+        'hue-2': '600',
+        'hue-3': 'A700'
+      })
+      .accentPalette('green', {
+        'default': '600',
+        'hue-1': '300',
+        'hue-2': '300',
+        'hue-3': 'A700'
+      })
+      .backgroundPalette('frost-grey');
+    $mdThemingProvider.generateThemesOnDemand(false);
+  }
+})();
+ */
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/conf/sogo/sogo-full.svg b/mailcow/src/mailcow-dockerized/data/conf/sogo/sogo-full.svg
deleted file mode 100644
index 98ff2fc..0000000
--- a/mailcow/src/mailcow-dockerized/data/conf/sogo/sogo-full.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY st0 "fill:#50BD37;">
-]>
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="640px" height="350px" viewBox="78.712 58.488 640 350" style="enable-background:new 78.712 58.488 640 350;"
-	 xml:space="preserve">
-<path style="&st0;" d="M648.541,145.679c-9.947,0-17.009-7.278-17.009-17.048c0-9.777,7.062-17.057,17.009-17.057
-	c10.024,0,17.086,7.279,17.086,17.057C665.627,138.401,658.565,145.679,648.541,145.679z M648.511,94.893
-	c-19.693,0-33.679,14.4-33.679,33.738c0,19.33,13.985,33.729,33.679,33.729c19.822,0,33.808-14.4,33.808-33.729
-	C682.318,109.293,668.333,94.893,648.511,94.893z M648.482,179.843c-29.889,0-51.123-21.868-51.123-51.212
-	c0-29.353,21.234-51.209,51.123-51.209c30.082,0,51.307,21.856,51.307,51.209C699.789,157.975,678.564,179.843,648.482,179.843z
-	 M648.442,58.488c-40.929,0-69.995,29.946-69.995,70.143c0,40.189,29.066,70.125,69.995,70.125c41.194,0,70.27-29.937,70.27-70.125
-	C718.712,88.434,689.637,58.488,648.442,58.488z M158.166,183.902l-21.018-5.008c-19.131-4.396-28.849-9.413-28.849-23.21
-	c0-15.684,15.99-21.965,30.419-21.965c14.667,0,25.382,7.329,31.693,18.737c0.02,0.048,0.051,0.097,0.09,0.157
-	c0.127,0.247,0.276,0.484,0.403,0.731l0.03-0.02c1.985,3.002,5.323,5.008,8.919,5.008c6.122,0,10.558-4.425,10.558-10.547
-	c0-2.341-0.504-4.82-1.601-6.688c-10.764-18.302-28.513-26.192-48.838-26.192c-27.594,0-54.262,13.797-54.262,44.218
-	c0,27.921,27.605,36.079,37.64,38.578l20.069,4.71c15.368,3.763,27.912,8.791,27.912,23.517c0,16.938-17.561,23.943-34.499,23.943
-	c-17.245,0-30.015-9.37-38.814-22.37h-0.01c-1.956-3-4.988-4.328-8.702-4.328c-5.984,0-10.805,5.185-10.587,11.162
-	c0.098,2.438,0.909,4.637,2.153,6.405c13.787,20.633,33.728,28.41,55.96,28.41c28.543,0,57.085-13.143,57.085-45.132
-	C193.918,203.325,178.551,188.613,158.166,183.902z M298.479,250.312c-33.866,0-55.199-25.403-55.199-58.331
-	c0-32.939,21.333-58.343,55.199-58.343c34.192,0,55.516,25.403,55.516,58.343C353.996,224.91,332.672,250.312,298.479,250.312z
-	 M298.479,114.823c-45.471,0-77.777,32.93-77.777,77.158c0,44.217,32.306,77.146,77.777,77.146
-	c45.786,0,78.093-32.929,78.093-77.146C376.572,147.753,344.266,114.823,298.479,114.823z M518.715,234.312
-	c-0.771,0.74-1.549,1.472-2.399,2.175c-1.106,1.014-2.391,2.112-3.854,3.208c-8.829,6.391-19.979,10.094-33.017,10.094
-	c-33.876,0-55.198-25.402-55.198-58.332c0-32.939,21.322-58.342,55.198-58.342c34.183,0,55.506,25.403,55.506,58.342
-	C534.951,208.653,529.135,223.774,518.715,234.312z M468.097,317.938c2.528,0,5.146-0.168,7.863-0.504
-	c5.018-0.631,9.588-0.909,13.729-0.909c19.24,0.109,29.036,5.7,34.943,12.158c5.895,6.499,8.168,15.311,8.158,22.796
-	c0.01,3.586-0.555,6.795-1.177,8.721c-2.944,8.93-8.888,15.002-17.996,19.576c-9.035,4.484-21.095,6.777-33.707,6.757
-	c-4.514,0-9.105-0.288-13.639-0.831c-8.573-0.987-19.911-4.671-28.13-11.093c-4.138-3.199-6.458-6.991-8.858-11.485
-	c-2.379-4.514-2.783-9.748-2.783-16.442v-0.742c0-12.346,4.84-20.544,11.051-26.5c3.07-2.904,5.69-5.064,7.99-6.438
-	c0.366-0.218,0.438-0.416,0.755-0.593C452.39,316.014,459.684,317.968,468.097,317.938z M479.445,114.301
-	c-45.471,0-77.786,32.929-77.786,77.157c0,29.887,14.765,54.598,38.378,67.489c-0.314,0.314-0.621,0.641-0.916,0.966
-	c-6.104,6.687-9.226,15.25-9.236,23.913c-0.008,3.821,0.624,7.741,1.977,11.494c-3.062,1.956-6.717,4.634-10.46,8.147
-	c-9.026,8.408-18.734,22.541-19.021,42.097c-0.01,0.454-0.01,0.829-0.01,1.118c-0.01,10.071,2.379,19.157,6.459,26.774
-	c6.133,11.466,15.683,19.445,25.539,24.77c9.917,5.334,20.257,8.166,29.273,9.274c5.373,0.643,10.826,0.988,16.268,0.988
-	c15.151-0.02,30.261-2.578,43.409-9.019c13.085-6.34,24.333-17.253,29.192-32.562c1.443-4.553,2.212-9.719,2.231-15.428
-	c-0.02-11.595-3.349-25.759-13.767-37.452c-10.421-11.734-27.654-19.566-51.288-19.459c-5.138,0-10.606,0.356-16.426,1.078
-	c-1.877,0.227-3.596,0.334-5.166,0.334c-7.239-0.048-10.872-2.053-13.036-4.098c-2.133-2.084-3.2-4.839-3.229-8.058
-	c-0.01-3.28,1.284-6.727,3.467-9.078c2.231-2.332,5.008-3.91,9.846-3.97c0.436,0,0.9,0.01,1.374,0.05
-	c3.101,0.216,6.112,0.325,9.037,0.325c24.188,0.047,42.38-7.448,54.756-17.759c12.415-10.312,18.971-22.854,22.071-32.76l-0.04-0.01
-	c3.37-8.899,5.197-18.715,5.197-29.166C557.539,147.229,525.234,114.301,479.445,114.301z"/>
-</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/conf/sogo/sogo.conf b/mailcow/src/mailcow-dockerized/data/conf/sogo/sogo.conf
index 78791d5..2513f49 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/sogo/sogo.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/sogo/sogo.conf
@@ -14,7 +14,12 @@
     SOGoEnableEMailAlarms = YES;
     SOGoFoldersSendEMailNotifications = YES;
     SOGoForwardEnabled = YES;
-    SOGoUIAdditionalJSFiles = (js/custom-sogo.js);
+
+    SOGoUIAdditionalJSFiles = (
+      js/theme.js,
+      js/custom-sogo.js
+    );
+
     SOGoEnablePublicAccess = YES;
 
     // Multi-domain setup
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica b/mailcow/src/mailcow-dockerized/data/hooks/dovecot/.gitkeep
similarity index 100%
copy from mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica
copy to mailcow/src/mailcow-dockerized/data/hooks/dovecot/.gitkeep
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica b/mailcow/src/mailcow-dockerized/data/hooks/phpfpm/.gitkeep
similarity index 100%
copy from mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica
copy to mailcow/src/mailcow-dockerized/data/hooks/phpfpm/.gitkeep
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica b/mailcow/src/mailcow-dockerized/data/hooks/postfix/.gitkeep
similarity index 100%
copy from mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica
copy to mailcow/src/mailcow-dockerized/data/hooks/postfix/.gitkeep
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica b/mailcow/src/mailcow-dockerized/data/hooks/rspamd/.gitkeep
similarity index 100%
copy from mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica
copy to mailcow/src/mailcow-dockerized/data/hooks/rspamd/.gitkeep
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica b/mailcow/src/mailcow-dockerized/data/hooks/sogo/.gitkeep
similarity index 100%
copy from mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica
copy to mailcow/src/mailcow-dockerized/data/hooks/sogo/.gitkeep
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica b/mailcow/src/mailcow-dockerized/data/hooks/unbound/.gitkeep
similarity index 100%
copy from mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica
copy to mailcow/src/mailcow-dockerized/data/hooks/unbound/.gitkeep
diff --git a/mailcow/src/mailcow-dockerized/data/web/_status.502.html b/mailcow/src/mailcow-dockerized/data/web/_status.502.html
index a0f8fb1..ec6617e 100644
--- a/mailcow/src/mailcow-dockerized/data/web/_status.502.html
+++ b/mailcow/src/mailcow-dockerized/data/web/_status.502.html
@@ -3,17 +3,22 @@
   <head>
     <title>Preparing</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
   </head>
-  <body style='background-color:#fff;color:#333;text-align:center;font-family: Verdana, "Lucida Sans Unicode", sans-serif'>
-    <p>🐄 - we are on our way.</p>
-    <h1 style="color:#333;font-size:48px">502</h1>
-    <p>Please do not stop the stack, while we are initializing the database or do other preparations.</p>
-    <p style="font-size:small"><b>What is happening?</b> - Nginx cannot connect to an upstream server.<br>
-    This is fine, if mailcow was just
+  <body style='background-color:#fff;color:#333;width: 60%;margin: 0 auto;text-align:left;font-family: Verdana, "Lucida Sans Unicode", sans-serif'>
+    <h1 style="color:#333;font-size:48px">What is happening?</h1>
+    <p style="color:green;font-weight:bold;">Please do not stop the stack while we are initializing the database or do other preparations.</p>
+    <p style="font-size:small"><b>What is happening?</b> - Nginx cannot connect to an upstream server or other services are not ready yet.<br>
+    This is fine if mailcow was just
     installed or updated and can take a few minutes to complete.<br>
-    Please check the logs or contact support, if the error persists.</p>
-    <pre>docker-compose logs --tail=200 php-fpm-mailcow</pre>
-    <br><a style="color:#555;text-decoration:none;" href="https://mailcow.github.io/mailcow-dockerized-docs/#get-support" target="_blank">Need support?</a>
+    Please check the logs or contact support if the error persists.</p>
+    <h2>Quick debugging</h2>
+    <p>Check Nginx and PHP logs:</p>
+    <pre>docker-compose logs --tail=200 php-fpm-mailcow nginx-mailcow</pre>
+    <p>Make sure your SQL credentials in mailcow.conf (a link to .env) do fit your initialized SQL volume. If you see an access denied, you might have the wrong mailcow.conf:</p>
+    <pre>source mailcow.conf ; docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME}</pre>
+    <p>In case of a previous failed installation, remove all volumes and start over (<b>NEVER</b> do this with a production system, it will remove <b>ALL</b> data):</p>
+    <pre>docker-compose down -v ; docker-compose up -d</pre>
+    <p>Make sure your timezone is correct. Use "America/New_York" for example, do not use spaces. Check <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">here</a> for a list.</p>
+    <br>Click to learn more about <a style="color:red;text-decoration:none;" href="https://mailcow.github.io/mailcow-dockerized-docs/#get-support" target="_blank">getting support.</a>
   </body>
 </html>
diff --git a/mailcow/src/mailcow-dockerized/data/web/admin.php b/mailcow/src/mailcow-dockerized/data/web/admin.php
index f2d6cfb..1a28776 100644
--- a/mailcow/src/mailcow-dockerized/data/web/admin.php
+++ b/mailcow/src/mailcow-dockerized/data/web/admin.php
@@ -12,10 +12,19 @@
 ?>
 <div class="container">
 
-  <ul class="nav nav-tabs" role="tablist">
-    <li role="presentation" class="active"><a href="#tab-access" aria-controls="tab-access" role="tab" data-toggle="tab"><?=$lang['admin']['access'];?></a></li>
-    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['admin']['configuration'];?>
-      <span class="caret"></span></a>
+  <ul class="nav nav-tabs responsive-tabs" role="tablist">
+    <li class="dropdown active">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['admin']['access'];?><span class="caret"></span></a>
+      <ul class="dropdown-menu">
+        <li class="active" data-dont-remember="1" role="presentation"><a href="#tab-config-admins" aria-controls="tab-config-admins" role="tab" data-toggle="tab"><?=$lang['admin']['admins'];?></a></li>
+        <!-- <li role="presentation"><a href="#tab-config-ldap-admins" aria-controls="tab-config-ldap-admins" role="tab" data-toggle="tab"><?=$lang['admin']['admins_ldap'];?></a></li> -->
+        <li role="presentation"><a href="#tab-config-oauth2" aria-controls="tab-config-oauth2" role="tab" data-toggle="tab"><?=$lang['admin']['oauth2_apps'];?></a></li>
+        <li role="presentation"><a href="#tab-config-rspamd" aria-controls="tab-config-rspamd" role="tab" data-toggle="tab">Rspamd UI</a></li>
+      </ul>
+    </li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['admin']['configuration'];?><span class="caret"></span></a>
       <ul class="dropdown-menu">
         <li role="presentation"><a href="#tab-config-dkim" aria-controls="tab-config-dkim" role="tab" data-toggle="tab"><?=$lang['admin']['dkim_keys'];?></a></li>
         <li role="presentation"><a href="#tab-config-fwdhosts" aria-controls="tab-config-fwdhosts" role="tab" data-toggle="tab"><?=$lang['admin']['forwarding_hosts'];?></a></li>
@@ -23,6 +32,7 @@
         <li role="presentation"><a href="#tab-config-quarantine" aria-controls="tab-config-quarantine" role="tab" data-toggle="tab"><?=$lang['admin']['quarantine'];?></a></li>
         <li role="presentation"><a href="#tab-config-quota" aria-controls="tab-config-quota" role="tab" data-toggle="tab"><?=$lang['admin']['quota_notifications'];?></a></li>
         <li role="presentation"><a href="#tab-config-rsettings" aria-controls="tab-config-rsettings" role="tab" data-toggle="tab"><?=$lang['admin']['rspamd_settings_map'];?></a></li>
+        <li role="presentation"><a href="#tab-config-password-policy" aria-controls="tab-config-password-policy" role="tab" data-toggle="tab"><?=$lang['admin']['password_policy'];?></a></li>
         <li role="presentation"><a href="#tab-config-customize" aria-controls="tab-config-customize" role="tab" data-toggle="tab"><?=$lang['admin']['customize'];?></a></li>
       </ul>
     </li>
@@ -40,17 +50,18 @@
   <div class="row">
   <div class="col-md-12">
   <div class="tab-content" style="padding-top:20px">
-  <div role="tabpanel" class="tab-pane active" id="tab-access">
+  <div role="tabpanel" class="tab-pane active" id="tab-config-admins">
     <div class="panel panel-danger">
-      <div class="panel-heading"><?=$lang['admin']['admin_details'];?></div>
+      <div class="panel-heading xs-show"><?=$lang['admin']['admin_details'];?></div>
       <div class="panel-body">
         <div class="table-responsive">
           <table class="table table-striped table-condensed" id="adminstable"></table>
         </div>
         <div class="mass-actions-admin">
           <div class="btn-group">
-            <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="admins" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-            <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="admins" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+            <div class="clearfix visible-xs"></div>
             <ul class="dropdown-menu">
               <li><a data-action="edit_selected" data-id="admins" data-api-url='edit/admin' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
               <li><a data-action="edit_selected" data-id="admins" data-api-url='edit/admin' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
@@ -59,7 +70,7 @@
               <li role="separator" class="divider"></li>
               <li><a data-action="delete_selected" data-id="admins" data-api-url='delete/admin' href="#"><?=$lang['mailbox']['remove'];?></a></li>
             </ul>
-            <a class="btn btn-sm btn-success" data-id="add_admin" data-toggle="modal" data-target="#addAdminModal" href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['add_admin'];?></a>
+            <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-id="add_admin" data-toggle="modal" data-target="#addAdminModal" href="#"><i class="bi bi-person-plus-fill"></i> <?=$lang['admin']['add_admin'];?></a>
           </div>
         </div>
 
@@ -70,17 +81,17 @@
         <div class="row">
           <div class="col-sm-3 col-xs-5 text-right"><?=$lang['tfa']['tfa'];?>:</div>
           <div class="col-sm-9 col-xs-7">
-            <p id="tfa_pretty"><?=$tfa_data['pretty'];?></p>
+            <p id="tfa_pretty"><?=(isset($tfa_data['pretty'])) ? $tfa_data['pretty'] : '';?></p>
               <div id="tfa_keys">
                 <?php
                 if (!empty($tfa_data['additional'])) {
                   foreach ($tfa_data['additional'] as $key_info) {
                 ?>
                 <form style="display:inline;" method="post">
-                  <input type="hidden" name="unset_tfa_key" value="<?=$key_info['id'];?>" />
+                  <input type="hidden" name="unset_tfa_key" value="<?=$key_info['id'];?>">
                   <div style="padding:4px;margin:4px" class="label label-keys label-<?=($_SESSION['tfa_id'] == $key_info['id']) ? 'success' : 'default'; ?>">
                   <?=$key_info['key_id'];?>
-                  <a href="#" style="font-weight:bold;color:white" onClick="$(this).closest('form').submit()">[<?=strtolower($lang['admin']['remove']);?>]</a>
+                  <a href="#" style="font-weight:bold;color:white" onClick="$(this).closest('form').submit()">[<?=$lang['admin']['remove'];?>]</a>
                   </div>
                 </form>
                 <?php
@@ -105,13 +116,11 @@
 
         <? // FIDO2 ?>
         <legend style="margin-top:20px">
-        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="margin-bottom: -5px;">
-          <path d="M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3c-1.98 0-3.86.47-5.57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 9.86 2 12.01 2c2.13 0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28zM3.5 9.72c-.1 0-.2-.03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9.98 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7-.23.16-.54.11-.7-.12-.9-1.26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.96-.08.14-.23.21-.39.21zm6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39-2.57 0-4.66 1.97-4.66 4.39 0 1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 0 .71-.11.1-.24.15-.37.15zm7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39 0-.28.22-.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-1.21.12zM14.91 22c-.04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.17-3.24-2.17-5.22 0-1.62 1.38-2.94 3.08-2.94 1.7 0 3.08 1.32 3.08 2.94 0 1.07.93 1.94 2.08 1.94s2.08-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6.61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-.55-.04-.64-.29-.49-1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.55 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38z"/>
-        </svg>
+        <i class="bi bi-shield-fill-check"></i>
         <?=$lang['fido2']['fido2_auth'];?></legend>
         <div class="row">
-          <div class="col-sm-3 col-xs-5 text-right"><?=$lang['fido2']['known_ids'];?>:</div>
-          <div class="col-sm-9 col-xs-7">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left space20"><?=$lang['fido2']['known_ids'];?>:</div>
+          <div class="col-sm-9 col-xs-12">
               <div class="table-responsive">
               <table class="table table-striped table-hover table-condensed" id="fido2_keys">
                 <tr>
@@ -124,14 +133,14 @@
                 ?>
                 <tr>
                   <td>
-                    <?=($_SESSION['fido2_cid'] == $key_info['cid']) ? '→ ' : NULL; ?><?=(!empty($key_info['fn']))?$key_info['fn']:$key_info['subject'];?>
+                    <?=(isset($_SESSION['fido2_cid']) && $_SESSION['fido2_cid'] == $key_info['cid']) ? '<i class="bi bi-unlock-fill"></i> ' : NULL; ?><?=(!empty($key_info['fn']))?$key_info['fn']:$key_info['subject'];?>
                   </td>
                   <td style="min-width:240px;text-align: right">
                     <form style="display:inline;" method="post">
-                    <input type="hidden" name="unset_fido2_key" value="<?=$key_info['cid'];?>" />
+                    <input type="hidden" name="unset_fido2_key" value="<?=$key_info['cid'];?>">
                     <div class="btn-group">
-                    <a href="#" class="btn btn-xs btn-default" data-cid="<?=$key_info['cid'];?>" data-subject="<?=base64_encode($key_info['subject']);?>" data-toggle="modal" data-target="#fido2ChangeFn"><span class="glyphicon glyphicon-pencil"></span> <?=strtolower($lang['fido2']['rename']);?></a>
-                    <a href="#" onClick='return confirm("<?=$lang['admin']['ays'];?>")?$(this).closest("form").submit():"";' class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> <?=strtolower($lang['admin']['remove']);?></a>
+                    <a href="#" class="btn btn-xs btn-default" data-cid="<?=$key_info['cid'];?>" data-subject="<?=base64_encode($key_info['subject']);?>" data-toggle="modal" data-target="#fido2ChangeFn"><i class="bi bi-pencil-fill"></i> <?=$lang['fido2']['rename'];?></a>
+                    <a href="#" onClick='return confirm("<?=$lang['admin']['ays'];?>")?$(this).closest("form").submit():"";' class="btn btn-xs btn-danger"><i class="bi bi-trash"></i> <?=$lang['admin']['remove'];?></a>
                     </form>
                     </div>
                   </td>
@@ -147,7 +156,7 @@
         </div>
         <div class="row">
           <div class="col-sm-offset-3 col-sm-9">
-            <button class="btn btn-sm btn-primary" id="register-fido2"><?=$lang['fido2']['set_fido2'];?></button>
+            <button class="btn btn-sm btn-primary visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline" id="register-fido2"><?=$lang['fido2']['set_fido2'];?></button>
           </div>
         </div>
         <br>
@@ -159,8 +168,8 @@
           <br>
         </div>
 
-        <legend style="cursor:pointer;margin-top:40px" data-target="#license" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-          <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['admin']['guid_and_license'];?>
+        <legend style="cursor:pointer;margin-top:40px" data-target="#license" unselectable="on" data-toggle="collapse">
+          <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['admin']['guid_and_license'];?>
         </legend>
         <div id="license" class="collapse">
         <form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
@@ -169,7 +178,7 @@
             <div class="col-sm-9">
               <div class="input-group">
                 <span class="input-group-addon">
-                  <span class="glyphicon <?=(isset($_SESSION['gal']['valid']) && $_SESSION['gal']['valid'] === "true") ? 'glyphicon-heart text-danger' : 'glyphicon-remove';?>" aria-hidden="true"></span>
+                  <i class="bi bi-suit-heart<?=(isset($_SESSION['gal']['valid']) && $_SESSION['gal']['valid'] === "true") ? '-fill text-danger' : '';?>"></i>
                 </span>
                 <input type="text" id="guid" class="form-control" value="<?=license('guid');?>" readonly>
               </div>
@@ -184,15 +193,15 @@
             <div class="col-sm-offset-3 col-sm-9">
               <p class="help-block"><?=$lang['admin']['license_info'];?></p>
               <div class="btn-group">
-                <button class="btn btn-sm btn-success" name="license_validate_now" type="submit" href="#"><?=$lang['admin']['validate_license_now'];?></button>
+                <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="license_validate_now" type="submit" href="#"><?=$lang['admin']['validate_license_now'];?></button>
               </div>
             </div>
           </div>
         </form>
         </div>
 
-        <legend style="cursor:pointer;" data-target="#admin_api" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-          <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> API
+        <legend style="cursor:pointer;" data-target="#admin_api" unselectable="on" data-toggle="collapse">
+          <i style="font-size:10pt;" class="bi bi-plus-square"></i> API
         </legend>
         <div id="admin_api" class="collapse">
         <div class="row">
@@ -206,20 +215,20 @@
           <div class="col-lg-6">
             <div class="panel panel-default">
               <div class="panel-heading">
-                <h4 class="panel-title">⇇ Read-Only Access</h4>
+                <h4 class="panel-title"><i class="bi bi-file-earmark-arrow-down"></i> <?=$lang['admin']['api_read_only'];?></h4>
               </div>
                 <div class="panel-body">
                   <form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
                     <div class="form-group">
                       <label class="control-label col-sm-3" for="allow_from_ro"><?=$lang['admin']['api_allow_from'];?>:</label>
                       <div class="col-sm-9">
-                        <textarea class="form-control textarea-code" rows="7" name="allow_from" id="allow_from_ro" <?=($api_ro['skip_ip_check'] == 1) ? 'disabled' : null;?> required><?=htmlspecialchars($api_ro['allow_from']);?></textarea>
+                        <textarea class="form-control textarea-code" rows="7" name="allow_from" id="allow_from_ro" <?=(isset($api_ro['skip_ip_check']) && $api_ro['skip_ip_check'] == 1) ? 'disabled' : null;?> required><?=(isset($api_ro['allow_from'])) ? htmlspecialchars($api_ro['allow_from']) : '';?></textarea>
                       </div>
                     </div>
                     <div class="form-group">
                       <div class="col-sm-offset-3 col-sm-9">
                         <label>
-                          <input type="checkbox" name="skip_ip_check" id="skip_ip_check_ro" <?=($api_ro['skip_ip_check'] == 1) ? 'checked' : null;?>> <?=$lang['admin']['api_skip_ip_check'];?>
+                          <input type="checkbox" name="skip_ip_check" id="skip_ip_check_ro" <?=(isset($api_ro['skip_ip_check']) && $api_ro['skip_ip_check'] == 1) ? 'checked' : null;?>> <?=$lang['admin']['api_skip_ip_check'];?>
                         </label>
                       </div>
                     </div>
@@ -232,15 +241,15 @@
                     <div class="form-group">
                       <div class="col-sm-offset-3 col-sm-9">
                         <label>
-                          <input type="checkbox" name="active" <?=($api_ro['active'] == 1) ? 'checked' : null;?>> <?=$lang['admin']['activate_api'];?>
+                          <input type="checkbox" name="active" <?=(isset($api_ro['active']) && $api_ro['active'] == 1) ? 'checked' : null;?>> <?=$lang['admin']['activate_api'];?>
                         </label>
                       </div>
                     </div>
                     <div class="form-group">
                       <div class="col-sm-offset-3 col-sm-9">
                         <div class="btn-group">
-                          <button class="btn btn-sm btn-success" name="admin_api[ro]" type="submit" href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
-                          <button class="btn btn-sm btn-default admin-ays-dialog" name="admin_api_regen_key[ro]" type="submit" href="#" <?=(!empty($api_ro['api_key'])) ?: 'disabled';?>><?=$lang['admin']['regen_api_key'];?></button>
+                          <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="admin_api[ro]" type="submit" href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+                          <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default admin-ays-dialog" name="admin_api_regen_key[ro]" type="submit" href="#" <?=(!empty($api_ro['api_key'])) ?: 'disabled';?>><?=$lang['admin']['regen_api_key'];?></button>
                         </div>
                       </div>
                     </div>
@@ -251,7 +260,7 @@
           <div class="col-lg-6">
             <div class="panel panel-default">
               <div class="panel-heading">
-                <h4 class="panel-title">⇄ Read-Write Access</h4>
+                <h4 class="panel-title"><i class="bi bi-file-earmark-diff"></i> <?=$lang['admin']['api_read_write'];?></h4>
               </div>
                 <div class="panel-body">
                   <form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
@@ -284,8 +293,8 @@
                     <div class="form-group">
                       <div class="col-sm-offset-3 col-sm-9">
                         <div class="btn-group">
-                          <button class="btn btn-sm btn-success" name="admin_api[rw]" type="submit" href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
-                          <button class="btn btn-sm btn-default admin-ays-dialog" name="admin_api_regen_key[rw]" type="submit" <?=(!empty($api_rw['api_key'])) ?: 'disabled';?> href="#"><?=$lang['admin']['regen_api_key'];?></button>
+                          <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="admin_api[rw]" type="submit" href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+                          <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default admin-ays-dialog" name="admin_api_regen_key[rw]" type="submit" <?=(!empty($api_rw['api_key'])) ?: 'disabled';?> href="#"><?=$lang['admin']['regen_api_key'];?></button>
                         </div>
                       </div>
                     </div>
@@ -299,15 +308,15 @@
     </div>
 
     <div class="panel panel-default">
-    <div class="panel-heading"><?=$lang['admin']['domain_admins'];?></div>
+    <div class="panel-heading xs-show"><?=$lang['admin']['domain_admins'];?></div>
         <div class="panel-body">
           <div class="table-responsive">
             <table class="table table-striped table-condensed" id="domainadminstable"></table>
           </div>
           <div class="mass-actions-admin">
             <div class="btn-group">
-              <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="domain_admins" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-              <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+              <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="domain_admins" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+              <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
               <ul class="dropdown-menu">
                 <li><a data-action="edit_selected" data-id="domain_admins" data-api-url='edit/domain-admin' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                 <li><a data-action="edit_selected" data-id="domain_admins" data-api-url='edit/domain-admin' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
@@ -316,14 +325,25 @@
                 <li role="separator" class="divider"></li>
                 <li><a data-action="delete_selected" data-id="domain_admins" data-api-url='delete/domain-admin' href="#"><?=$lang['mailbox']['remove'];?></a></li>
               </ul>
-              <a class="btn btn-sm btn-success" data-id="add_domain_admin" data-toggle="modal" data-target="#addDomainAdminModal" href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['add_domain_admin'];?></a>
+              <div class="clearfix visible-xs"></div>
+              <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-id="add_domain_admin" data-toggle="modal" data-target="#addDomainAdminModal" href="#"><i class="bi bi-person-plus-fill"></i> <?=$lang['admin']['add_domain_admin'];?></a>
             </div>
           </div>
         </div>
     </div>
+  </div>
 
+  <div role="tabpanel" class="tab-pane" id="tab-config-ldap-admins">
     <div class="panel panel-default">
-    <div class="panel-heading">OAuth2 Apps</div>
+    <div class="panel-heading"><?=$lang['admin']['admins_ldap'];?></div>
+        <div class="panel-body">
+        </div>
+    </div>
+  </div>
+
+  <div role="tabpanel" class="tab-pane" id="tab-config-oauth2">
+    <div class="panel panel-default">
+    <div class="panel-heading"><?=$lang['admin']['oauth2_apps'];?></div>
         <div class="panel-body">
           <p><?=$lang['admin']['oauth2_info'];?></p>
           <div class="table-responsive">
@@ -331,8 +351,8 @@
           </div>
           <div class="mass-actions-admin">
             <div class="btn-group">
-              <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="oauth2_clients" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-              <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+              <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="oauth2_clients" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+              <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
               <ul class="dropdown-menu">
                 <li><a data-action="delete_selected" data-id="oauth2_clients" data-api-url='delete/oauth2-client' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 <li role="separator" class="divider"></li>
@@ -340,48 +360,54 @@
                 <li role="separator" class="divider"></li>
                 <li><a data-action="edit_selected" data-id="oauth2_clients" data-api-url='edit/oauth2-client' data-api-attr='{"renew_secret":"1"}' href="#"><?=$lang['admin']['oauth2_renew_secret'];?></a></li>
               </ul>
-              <a class="btn btn-sm btn-success" data-id="add_oauth2_client" data-toggle="modal" data-target="#addOAuth2ClientModal" href="#"><span class="glyphicon glyphicon-plus"></span> Add OAuth2 client</a>
+              <div class="clearfix visible-xs"></div>
+              <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-id="add_oauth2_client" data-toggle="modal" data-target="#addOAuth2ClientModal" href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['oauth2_add_client'];?></a>
             </div>
           </div>
         </div>
     </div>
+  </div>
 
+  <div role="tabpanel" class="tab-pane" id="tab-config-rspamd">
     <div class="panel panel-default">
       <div class="panel-heading">
         <h3 class="panel-title">Rspamd UI</h3>
       </div>
       <div class="panel-body">
         <div class="row">
-          <div class="col-sm-9">
+          <div class="col-xs-12 visible-xs">
+            <img class="img-responsive" src="/img/rspamd_logo.png" alt="Rspamd UI">
+          </div>
+          <div class="col-sm-9 col-xs-12">
           <form class="form-horizontal" autocapitalize="none" data-id="admin" autocorrect="off" role="form" method="post">
             <div class="form-group">
               <div class="col-sm-offset-3 col-sm-9">
                 <label>
-                  <a href="/rspamd/" target="_blank"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Rspamd UI</a>
+                  <a href="/rspamd/" target="_blank"><i class="bi bi-window"></i> Rspamd UI</a>
                 </label>
               </div>
             </div>
             <div class="form-group">
               <label class="control-label col-sm-3" for="rspamd_ui_pass"><?=$lang['admin']['password'];?>:</label>
               <div class="col-sm-9">
-              <input type="password" class="form-control" name="rspamd_ui_pass" autocomplete="new-password" required>
+              <input type="password" class="form-control" id="rspamd_ui_pass" name="rspamd_ui_pass" autocomplete="new-password" required>
               </div>
             </div>
             <div class="form-group">
               <label class="control-label col-sm-3" for="rspamd_ui_pass2"><?=$lang['admin']['password_repeat'];?>:</label>
               <div class="col-sm-9">
-              <input type="password" class="form-control" name="rspamd_ui_pass2" autocomplete="new-password" required>
+              <input type="password" class="form-control" id="rspamd_ui_pass2" name="rspamd_ui_pass2" autocomplete="new-password" required>
               </div>
             </div>
             <div class="form-group">
               <div class="col-sm-offset-3 col-sm-9">
-                <button type="submit" class="btn btn-sm btn-success" id="rspamd_ui" name="rspamd_ui" href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
+                <button type="submit" class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" id="rspamd_ui" name="rspamd_ui" href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
               </div>
             </div>
           </form>
           </div>
-          <div class="col-sm-3">
-            <img class="img-responsive" src="/img/rspamd_logo.png" alt="Rspamd UI" />
+          <div class="col-sm-3 hidden-xs">
+            <img class="img-responsive" src="/img/rspamd_logo.png" alt="Rspamd UI">
           </div>
         </div>
       </div>
@@ -398,34 +424,35 @@
         </div>
         <div class="mass-actions-admin">
           <div class="btn-group btn-group-sm">
-            <button type="button" id="toggle_multi_select_all" data-id="rlyhosts" class="btn btn-default"><?=$lang['mailbox']['toggle_all'];?></button>
-            <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-            <ul class="dropdown-menu">
+            <button type="button" id="toggle_multi_select_all" data-id="rlyhosts" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default"><?=$lang['mailbox']['toggle_all'];?></button>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+            <ul class="dropdown-menu top100">
               <li><a data-action="edit_selected" data-id="rlyhosts" data-api-url='edit/relayhost' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
               <li><a data-action="edit_selected" data-id="rlyhosts" data-api-url='edit/relayhost' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
               <li role="separator" class="divider"></li>
               <li><a data-action="delete_selected" data-id="rlyhosts" data-api-url='delete/relayhost' href="#"><?=$lang['admin']['remove'];?></a></li>
             </ul>
+            <div class="clearfix visible-xs"></div>
           </div>
         </div>
         <legend><?=$lang['admin']['add_relayhost'];?></legend>
         <p class="help-block"><?=$lang['admin']['add_relayhost_hint'];?></p>
         <div class="row">
-          <div class="col-md-6">
+          <div class="col-md-8">
             <form class="form" data-id="rlyhost" role="form" method="post">
               <div class="form-group">
-                <label for="hostname"><?=$lang['admin']['host'];?></label>
-                <input class="form-control input-sm" name="hostname" placeholder='[0.0.0.0], [0.0.0.0]:25, host:25, host, [host]:25' required>
+                <label for="rlyhost_hostname"><?=$lang['admin']['host'];?></label>
+                <input class="form-control" id="rlyhost_hostname" name="hostname" placeholder='[0.0.0.0], [0.0.0.0]:25, host:25, host, [host]:25' required>
               </div>
               <div class="form-group">
-                <label for="username"><?=$lang['admin']['username'];?></label>
-                <input class="form-control input-sm" name="username">
+                <label for="rlyhost_username"><?=$lang['admin']['username'];?></label>
+                <input class="form-control" id="rlyhost_username" name="username">
               </div>
               <div class="form-group">
-                <label for="password"><?=$lang['admin']['password'];?></label>
-                <input class="form-control input-sm" name="password">
+                <label for="rlyhost_password"><?=$lang['admin']['password'];?></label>
+                <input class="form-control" id="rlyhost_password" name="password">
               </div>
-              <button class="btn btn-default" data-action="add_item" data-id="rlyhost" data-api-url='add/relayhost' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['add'];?></button>
+              <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="rlyhost" data-api-url='add/relayhost' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
             </form>
           </div>
         </div>
@@ -441,49 +468,50 @@
         </div>
         <div class="mass-actions-admin">
           <div class="btn-group btn-group-sm">
-            <button type="button" id="toggle_multi_select_all" data-id="transports" class="btn btn-default"><?=$lang['mailbox']['toggle_all'];?></button>
-            <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-            <ul class="dropdown-menu">
+            <button type="button" id="toggle_multi_select_all" data-id="transports" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default"><?=$lang['mailbox']['toggle_all'];?></button>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+            <ul class="dropdown-menu top100">
               <li><a data-action="edit_selected" data-id="transports" data-api-url='edit/transport' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
               <li><a data-action="edit_selected" data-id="transports" data-api-url='edit/transport' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
               <li role="separator" class="divider"></li>
               <li><a data-action="delete_selected" data-id="transports" data-api-url='delete/transport' href="#"><?=$lang['admin']['remove'];?></a></li>
             </ul>
+            <div class="clearfix visible-xs"></div>
           </div>
         </div>
         <legend><?=$lang['admin']['add_transport'];?></legend>
         <p class="help-block"><?=$lang['admin']['add_transports_hint'];?></p>
         <div class="row">
-          <div class="col-md-6">
+          <div class="col-md-8">
             <form class="form" data-id="transport" role="form" method="post">
               <div class="form-group">
-                <label for="destination"><?=$lang['admin']['destination'];?></label>
-                <input class="form-control input-sm" name="destination" placeholder='<?=$lang['admin']['transport_dest_format'];?>' required>
+                <label for="transport_destination"><?=$lang['admin']['destination'];?></label>
+                <input class="form-control" id="transport_destination" name="destination" placeholder='<?=$lang['admin']['transport_dest_format'];?>' required>
               </div>
               <div class="form-group">
-                <label for="nexthop"><?=$lang['admin']['nexthop'];?></label>
-                <input class="form-control input-sm" name="nexthop" placeholder='host:25, host, [host]:25, [0.0.0.0]:25' required>
+                <label for="transport_nexthop"><?=$lang['admin']['nexthop'];?></label>
+                <input class="form-control" id="transport_nexthop" name="nexthop" placeholder='host:25, host, [host]:25, [0.0.0.0]:25' required>
               </div>
               <div class="form-group">
-                <label for="username"><?=$lang['admin']['username'];?></label>
-                <input class="form-control input-sm" name="username">
+                <label for="transport_username"><?=$lang['admin']['username'];?></label>
+                <input class="form-control" id="transport_username" name="username">
               </div>
               <div class="form-group">
-                <label for="password"><?=$lang['admin']['password'];?></label>
-                <input class="form-control input-sm" name="password">
+                <label for="transport_password"><?=$lang['admin']['password'];?></label>
+                <input class="form-control" id="transport_password" name="password">
               </div>
-              <!-- <div class="form-group">
+              <div class="form-group">
                 <label>
-                  <input type="checkbox" name="lookup_mx" value="1"> <?=$lang['admin']['lookup_mx'];?>
+                  <input type="checkbox" name="is_mx_based" value="1"> <?=$lang['admin']['lookup_mx'];?>
                 </label>
-              </div> -->
+              </div>
               <div class="form-group">
                 <label>
                   <input type="checkbox" name="active" value="1"> <?=$lang['admin']['active'];?>
                 </label>
               </div>
               <p class="help-block"><?=$lang['admin']['credentials_transport_warning'];?></p>
-              <button class="btn btn-default" data-action="add_item" data-id="transport" data-api-url='add/transport' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['add'];?></button>
+              <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="transport" data-api-url='add/transport' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
             </form>
           </div>
         </div>
@@ -496,9 +524,10 @@
       <div class="panel-heading"><?=$lang['admin']['dkim_keys'];?></div>
       <div class="panel-body">
         <div class="btn-group" data-toggle="button" style="margin-bottom: 20px;">
-          <a class="btn btn-sm btn-default active" href="#" data-toggle="collapse" data-target=".dkim_key_valid"><?=$lang['admin']['dkim_key_valid'];?></a>
-          <a class="btn btn-sm btn-default active" href="#" data-toggle="collapse" data-target=".dkim_key_unused"><?=$lang['admin']['dkim_key_unused'];?></a>
-          <a class="btn btn-sm btn-default active" href="#" data-toggle="collapse" data-target=".dkim_key_missing"><?=$lang['admin']['dkim_key_missing'];?></a>
+          <a class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default active" href="#" data-toggle="collapse" data-target=".dkim_key_valid"><?=$lang['admin']['dkim_key_valid'];?></a>
+          <a class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default active" href="#" data-toggle="collapse" data-target=".dkim_key_unused"><?=$lang['admin']['dkim_key_unused'];?></a>
+          <a class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default active" href="#" data-toggle="collapse" data-target=".dkim_key_missing"><?=$lang['admin']['dkim_key_missing'];?></a>
+          <div class="clearfix visible-xs"></div>
         </div>
         <?php
         foreach(mailbox('get', 'domains') as $domain) {
@@ -507,7 +536,7 @@
               ($GLOBALS['SHOW_DKIM_PRIV_KEYS'] === true) ?: $dkim['privkey'] = base64_encode('Please set $SHOW_DKIM_PRIV_KEYS to true to show DKIM private keys.');
           ?>
             <div class="row collapse in dkim_key_valid">
-              <div class="col-md-1"><input type="checkbox" data-id="dkim" name="multi_select" value="<?=$domain;?>" /></div>
+              <div class="col-md-1"><input type="checkbox" data-id="dkim" name="multi_select" value="<?=$domain;?>"></div>
               <div class="col-md-3">
                 <p><?=$lang['admin']['domain'];?>: <strong><?=htmlspecialchars($domain);?></strong>
                   <p class="dkim-label"><span class="label label-success"><?=$lang['admin']['dkim_key_valid'];?></span></p>
@@ -517,7 +546,7 @@
               </div>
               <div class="col-md-8">
                   <pre><?=$dkim['dkim_txt'];?></pre>
-                  <p data-toggle="modal" data-target="#showDKIMprivKey" id="dkim_priv" style="cursor:pointer;margin-top:-8pt" data-priv-key="<?=$dkim['privkey'];?>"><small>↪ <?=$lang['admin']['dkim_private_key'];?></small></p>
+                  <p data-toggle="modal" data-target="#showDKIMprivKey" id="dkim_priv" style="cursor:pointer;margin-top:-8pt" data-priv-key="<?=$dkim['privkey'];?>"><small><i class="bi bi-arrow-return-right"></i> <?=$lang['admin']['dkim_private_key'];?></small></p>
               </div>
               <hr class="visible-xs visible-sm">
             </div>
@@ -526,7 +555,7 @@
           else {
           ?>
           <div class="row collapse in dkim_key_missing">
-            <div class="col-md-1"><input class="dkim_missing" type="checkbox" data-id="dkim" name="multi_select" value="<?=$domain;?>" disabled /></div>
+            <div class="col-md-1"><input class="dkim_missing" type="checkbox" data-id="dkim" name="multi_select" value="<?=$domain;?>" disabled></div>
             <div class="col-md-3">
               <p><?=$lang['admin']['domain'];?>: <strong><?=htmlspecialchars($domain);?></strong><br><span class="label label-danger"><?=$lang['admin']['dkim_key_missing'];?></span></p>
             </div>
@@ -541,7 +570,7 @@
               ($GLOBALS['SHOW_DKIM_PRIV_KEYS'] === true) ?: $dkim['privkey'] = base64_encode('Please set $SHOW_DKIM_PRIV_KEYS to true to show DKIM private keys.');
             ?>
               <div class="row collapse in dkim_key_valid">
-              <div class="col-md-1"><input type="checkbox" data-id="dkim" name="multi_select" value="<?=$alias_domain;?>" /></div>
+              <div class="col-md-1"><input type="checkbox" data-id="dkim" name="multi_select" value="<?=$alias_domain;?>"></div>
                 <div class="col-md-2 col-md-offset-1">
                   <p><small>↳ Alias-Domain: <strong><?=htmlspecialchars($alias_domain);?></strong></small>
                     <p class="dkim-label"><span class="label label-success"><?=$lang['admin']['dkim_key_valid'];?></span></p>
@@ -551,7 +580,7 @@
                 </div>
                 <div class="col-md-8">
                   <pre><?=$dkim['dkim_txt'];?></pre>
-                  <p data-toggle="modal" data-target="#showDKIMprivKey" id="dkim_priv" style="cursor:pointer;margin-top:-8pt" data-priv-key="<?=$dkim['privkey'];?>"><small>↪ Private key</small></p>
+                  <p data-toggle="modal" data-target="#showDKIMprivKey" id="dkim_priv" style="cursor:pointer;margin-top:-8pt" data-priv-key="<?=$dkim['privkey'];?>"><small><i class="bi bi-arrow-return-right"></i> Private key</small></p>
                 </div>
               <hr class="visible-xs visible-sm">
               </div>
@@ -560,7 +589,7 @@
             else {
             ?>
             <div class="row collapse in dkim_key_missing">
-              <div class="col-md-1"><input class="dkim_missing" type="checkbox" data-id="dkim" name="multi_select" value="<?=$alias_domain;?>" disabled /></div>
+              <div class="col-md-1"><input class="dkim_missing" type="checkbox" data-id="dkim" name="multi_select" value="<?=$alias_domain;?>" disabled></div>
               <div class="col-md-2 col-md-offset-1">
                 <p><small>↳ Alias-Domain: <strong><?=htmlspecialchars($alias_domain);?></strong><br></small><span class="label label-danger"><?=$lang['admin']['dkim_key_missing'];?></span></p>
               </div>
@@ -577,7 +606,7 @@
             ($GLOBALS['SHOW_DKIM_PRIV_KEYS'] === true) ?: $dkim['privkey'] = base64_encode('Please set $SHOW_DKIM_PRIV_KEYS to true to show DKIM private keys.');
           ?>
             <div class="row collapse in dkim_key_unused">
-              <div class="col-md-1"><input type="checkbox" data-id="dkim" name="multi_select" value="<?=$blind;?>" /></div>
+              <div class="col-md-1"><input type="checkbox" data-id="dkim" name="multi_select" value="<?=$blind;?>"></div>
               <div class="col-md-3">
                 <p><?=$lang['admin']['domain'];?>: <strong><?=htmlspecialchars($blind);?></strong>
                   <p class="dkim-label"><span class="label label-warning"><?=$lang['admin']['dkim_key_unused'];?></span></p>
@@ -587,7 +616,7 @@
                 </div>
                 <div class="col-md-8">
                   <pre><?=$dkim['dkim_txt'];?></pre>
-                  <p data-toggle="modal" data-target="#showDKIMprivKey" id="dkim_priv" style="cursor:pointer;margin-top:-8pt" data-priv-key="<?=$dkim['privkey'];?>"><small>↪ Private key</small></p>
+                  <p data-toggle="modal" data-target="#showDKIMprivKey" id="dkim_priv" style="cursor:pointer;margin-top:-8pt" data-priv-key="<?=$dkim['privkey'];?>"><small><i class="bi bi-arrow-return-right"></i> Private key</small></p>
                 </div>
                 <hr class="visible-xs visible-sm">
             </div>
@@ -597,43 +626,44 @@
         ?>
         <div class="mass-actions-admin">
           <div class="btn-group btn-group-sm">
-            <button type="button" id="toggle_multi_select_all" data-id="dkim" class="btn btn-default"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></button>
-            <button type="button" data-action="delete_selected" name="delete_selected" data-id="dkim" data-api-url="delete/dkim" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> <?=$lang['admin']['remove'];?></button>
+            <button type="button" id="toggle_multi_select_all" data-id="dkim" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></button>
+            <button type="button" data-action="delete_selected" name="delete_selected" data-id="dkim" data-api-url="delete/dkim" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger"><i class="bi bi-trash"></i> <?=$lang['admin']['remove'];?></button>
+            <div class="clearfix visible-xs"></div>
           </div>
         </div>
 
         <legend style="margin-top:40px"><?=$lang['admin']['dkim_add_key'];?></legend>
         <form class="form" data-id="dkim" role="form" method="post">
           <div class="form-group">
-            <label for="domain"><?=$lang['admin']['domain_s'];?></label>
+            <label for="dkim_add_domains"><?=$lang['admin']['domain_s'];?></label>
             <input class="form-control input-sm" id="dkim_add_domains" name="domains" placeholder="example.org, example.com" required>
-            <small>↪ <a href="#" id="dkim_missing_keys"><?=$lang['admin']['dkim_domains_wo_keys'];?></a></small>
+            <small><i class="bi bi-arrow-return-right"></i> <a href="#" id="dkim_missing_keys"><?=$lang['admin']['dkim_domains_wo_keys'];?></a></small>
           </div>
           <div class="form-group">
-            <label for="domain"><?=$lang['admin']['dkim_domains_selector'];?></label>
-            <input class="form-control input-sm" name="dkim_selector" value="dkim" required>
+            <label for="dkim_selector"><?=$lang['admin']['dkim_domains_selector'];?></label>
+            <input class="form-control input-sm" id="dkim_selector" name="dkim_selector" value="dkim" required>
           </div>
           <div class="form-group">
-            <select data-width="200px" data-style="btn btn-default btn-sm" class="form-control" id="key_size" name="key_size" title="<?=$lang['admin']['dkim_key_length'];?>" required>
+            <select data-style="btn btn-default btn-sm" class="form-control" id="key_size" name="key_size" title="<?=$lang['admin']['dkim_key_length'];?>" required>
               <option data-subtext="bits">1024</option>
               <option data-subtext="bits">2048</option>
             </select>
           </div>
-          <button class="btn btn-sm btn-default" data-action="add_item" data-id="dkim" data-api-url='add/dkim' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['add'];?></button>
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="dkim" data-api-url='add/dkim' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
         </form>
 
-        <legend data-target="#import_dkim" style="margin-top:40px;cursor:pointer" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-          <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['admin']['import_private_key'];?>
+        <legend data-target="#import_dkim" style="margin-top:40px;cursor:pointer" unselectable="on" data-toggle="collapse">
+          <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['admin']['import_private_key'];?>
         </legend>
         <div id="import_dkim" class="collapse">
         <form class="form" data-id="dkim_import" role="form" method="post">
           <div class="form-group">
-            <label for="domain"><?=$lang['admin']['domain'];?>:</label>
-            <input class="form-control input-sm" name="domain" placeholder="example.org" required>
+            <label for="dkim_import_domain"><?=$lang['admin']['domain'];?>:</label>
+            <input class="form-control input-sm" id="dkim_import_domain" name="domain" placeholder="example.org" required>
           </div>
           <div class="form-group">
-            <label for="domain"><?=$lang['admin']['dkim_domains_selector'];?>:</label>
-            <input class="form-control input-sm" name="dkim_selector" value="dkim" required>
+            <label for="dkim_import_selector"><?=$lang['admin']['dkim_domains_selector'];?>:</label>
+            <input class="form-control input-sm" id="dkim_import_selector" name="dkim_selector" value="dkim" required>
           </div>
           <div class="form-group">
             <label for="private_key_file"><?=$lang['admin']['private_key'];?>: (RSA PKCS#8)</label>
@@ -644,12 +674,12 @@
               <input type="checkbox" name="overwrite_existing" value="1"> <?=$lang['admin']['dkim_overwrite_key'];?>
             </label>
           </div>
-          <button class="btn btn-sm btn-default" data-action="add_item" data-id="dkim_import" data-api-url='add/dkim_import' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['import'];?></button>
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="add_item" data-id="dkim_import" data-api-url='add/dkim_import' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['import'];?></button>
         </form>
         </div>
 
-        <legend data-target="#duplicate_dkim" style="margin-top:40px;cursor:pointer" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-          <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['admin']['duplicate_dkim'];?>
+        <legend data-target="#duplicate_dkim" style="margin-top:40px;cursor:pointer" unselectable="on" data-toggle="collapse">
+          <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['admin']['duplicate_dkim'];?>
         </legend>
         <div id="duplicate_dkim" class="collapse">
           <form class="form-horizontal" data-id="dkim_duplicate" role="form" method="post">
@@ -690,7 +720,7 @@
               </select>
               </div>
             </div>
-            <button class="btn btn-sm btn-default" data-action="add_item" data-id="dkim_duplicate" data-api-url='add/dkim_duplicate' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-duplicate"></span> <?=$lang['admin']['duplicate'];?></button>
+            <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="add_item" data-id="dkim_duplicate" data-api-url='add/dkim_duplicate' data-api-attr='{}' href="#"><i class="bi bi-clipboard-plus"></i> <?=$lang['admin']['duplicate'];?></button>
           </form>
         </div>
       </div>
@@ -707,22 +737,23 @@
         </div>
         <div class="mass-actions-admin">
           <div class="btn-group btn-group-sm">
-            <button type="button" id="toggle_multi_select_all" data-id="fwdhosts" class="btn btn-default"><?=$lang['mailbox']['toggle_all'];?></button>
-            <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-            <ul class="dropdown-menu">
+            <button type="button" id="toggle_multi_select_all" data-id="fwdhosts" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default"><?=$lang['mailbox']['toggle_all'];?></button>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+            <ul class="dropdown-menu top100">
               <li><a data-action="edit_selected" data-id="fwdhosts" data-api-url='edit/fwdhost' data-api-attr='{"keep_spam":"0"}' href="#">Enable spam filter</a></li>
               <li><a data-action="edit_selected" data-id="fwdhosts" data-api-url='edit/fwdhost' data-api-attr='{"keep_spam":"1"}' href="#">Disable spam filter</a></li>
               <li role="separator" class="divider"></li>
               <li><a data-action="delete_selected" data-id="fwdhosts" data-api-url='delete/fwdhost' href="#"><?=$lang['admin']['remove'];?></a></li>
             </ul>
+            <div class="clearfix visible-xs"></div>
           </div>
         </div>
         <legend><?=$lang['admin']['add_forwarding_host'];?></legend>
         <p class="help-block"><?=$lang['admin']['forwarding_hosts_add_hint'];?></p>
         <form class="form" data-id="fwdhost" role="form" method="post">
           <div class="form-group">
-            <label for="hostname"><?=$lang['admin']['host'];?></label>
-            <input class="form-control" name="hostname" placeholder="example.org" required>
+            <label for="fwdhost_hostname"><?=$lang['admin']['host'];?></label>
+            <input class="form-control" id="fwdhost_hostname" name="hostname" placeholder="example.org" required>
           </div>
           <div class="form-group">
             <select data-width="200px" class="form-control" id="filter_spam" name="filter_spam" title="<?=$lang['user']['spamfilter'];?>" required>
@@ -730,7 +761,7 @@
               <option value="0"><?=$lang['admin']['inactive'];?></option>
             </select>
           </div>
-          <button class="btn btn-default" data-action="add_item" data-id="fwdhost" data-api-url='add/fwdhost' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['add'];?></button>
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="fwdhost" data-api-url='add/fwdhost' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
         </form>
       </div>
     </div>
@@ -745,48 +776,51 @@
       ?>
         <form class="form" data-id="f2b" role="form" method="post">
           <div class="form-group">
-            <label for="ban_time"><?=$lang['admin']['f2b_ban_time'];?>:</label>
-            <input type="number" class="form-control" name="ban_time" value="<?=$f2b_data['ban_time'];?>" required>
+            <label for="f2b_ban_time"><?=$lang['admin']['f2b_ban_time'];?>:</label>
+            <input type="number" class="form-control" id="f2b_ban_time" name="ban_time" value="<?=$f2b_data['ban_time'];?>" required>
           </div>
           <div class="form-group">
-            <label for="max_attempts"><?=$lang['admin']['f2b_max_attempts'];?>:</label>
-            <input type="number" class="form-control" name="max_attempts" value="<?=$f2b_data['max_attempts'];?>" required>
+            <label for="f2b_max_attempts"><?=$lang['admin']['f2b_max_attempts'];?>:</label>
+            <input type="number" class="form-control" id="f2b_max_attempts" name="max_attempts" value="<?=$f2b_data['max_attempts'];?>" required>
           </div>
           <div class="form-group">
-            <label for="retry_window"><?=$lang['admin']['f2b_retry_window'];?>:</label>
-            <input type="number" class="form-control" name="retry_window" value="<?=$f2b_data['retry_window'];?>" required>
+            <label for="f2b_retry_window"><?=$lang['admin']['f2b_retry_window'];?>:</label>
+            <input type="number" class="form-control" id="f2b_retry_window" name="retry_window" value="<?=$f2b_data['retry_window'];?>" required>
           </div>
           <div class="form-group">
-            <label for="netban_ipv4"><?=$lang['admin']['f2b_netban_ipv4'];?>:</label>
+            <label for="f2b_netban_ipv4"><?=$lang['admin']['f2b_netban_ipv4'];?>:</label>
             <div class="input-group">
               <span class="input-group-addon">/</span>
-              <input type="number" class="form-control" name="netban_ipv4" value="<?=$f2b_data['netban_ipv4'];?>" required>
+              <input type="number" class="form-control" id="f2b_netban_ipv4" name="netban_ipv4" value="<?=$f2b_data['netban_ipv4'];?>" required>
             </div>
           </div>
           <div class="form-group">
-            <label for="netban_ipv6"><?=$lang['admin']['f2b_netban_ipv6'];?>:</label>
+            <label for="f2b_netban_ipv6"><?=$lang['admin']['f2b_netban_ipv6'];?>:</label>
             <div class="input-group">
               <span class="input-group-addon">/</span>
-              <input type="number" class="form-control" name="netban_ipv6" value="<?=$f2b_data['netban_ipv6'];?>" required>
+              <input type="number" class="form-control" id="f2b_netban_ipv6" name="netban_ipv6" value="<?=$f2b_data['netban_ipv6'];?>" required>
             </div>
           </div>
           <hr>
           <p class="help-block"><?=$lang['admin']['f2b_list_info'];?></p>
           <div class="form-group">
-            <label for="whitelist"><?=$lang['admin']['f2b_whitelist'];?>:</label>
-            <textarea class="form-control" name="whitelist" rows="5"><?=$f2b_data['whitelist'];?></textarea>
+            <label for="f2b_whitelist"><?=$lang['admin']['f2b_whitelist'];?>:</label>
+            <textarea class="form-control" id="f2b_whitelist" name="whitelist" rows="5"><?=$f2b_data['whitelist'];?></textarea>
           </div>
           <div class="form-group">
-            <label for="blacklist"><?=$lang['admin']['f2b_blacklist'];?>:</label>
-            <textarea class="form-control" name="blacklist" rows="5"><?=$f2b_data['blacklist'];?></textarea>
+            <label for="f2b_blacklist"><?=$lang['admin']['f2b_blacklist'];?>:</label>
+            <textarea class="form-control" id="f2b_blacklist" name="blacklist" rows="5"><?=$f2b_data['blacklist'];?></textarea>
           </div>
           <div class="btn-group">
-            <button class="btn btn-sm btn-success" data-action="edit_selected" data-item="self" data-id="f2b" data-api-url='edit/fail2ban' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
-            <a href="#" role="button" class="btn btn-sm btn-default" data-toggle="modal" data-container="netfilter-mailcow" data-target="#RestartContainer"><span class="glyphicon glyphicon-refresh"></span> <?= $lang['header']['restart_netfilter']; ?></a>
+            <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-item="self" data-id="f2b" data-api-url='edit/fail2ban' data-api-attr='{}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+            <a href="#" role="button" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-toggle="modal" data-container="netfilter-mailcow" data-target="#RestartContainer"><i class="bi bi-arrow-repeat"></i> <?= $lang['header']['restart_netfilter']; ?></a>
+            <div class="clearfix visible-xs"></div>
           </div>
         </form>
-        <hr>
-        <h4><?=$lang['admin']['f2b_filter'];?></h4>
+        <legend data-target="#f2b_regex_filters" style="margin-top:40px;cursor:pointer" unselectable="on" data-toggle="collapse">
+          <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['admin']['f2b_filter'];?>
+        </legend>
+        <div id="f2b_regex_filters" class="collapse">
         <p class="help-block"><?=$lang['admin']['f2b_regex_info'];?></p>
         <form class="form-inline" data-id="f2b_regex" role="form" method="post">
           <table class="table table-condensed" id="f2b_regex_table">
@@ -800,9 +834,9 @@
               foreach ($f2b_data['regex'] as $regex_id => $regex_val) {
             ?>
             <tr>
-              <td><input disabled class="input-sm form-control" style="text-align:center" data-id="f2b_regex" type="text" name="app" required value="<?=$regex_id;?>"></td>
-              <td><input class="input-sm form-control regex-input" data-id="f2b_regex" type="text" name="regex" required value="<?=htmlspecialchars($regex_val);?>"></td>
-              <td><a href="#" role="button" class="btn btn-xs btn-default" type="button"><?=$lang['admin']['remove_row'];?></a></td>
+              <td><input disabled class="input-sm input-xs-lg form-control" style="text-align:center" data-id="f2b_regex" type="text" name="app" required value="<?=$regex_id;?>"></td>
+              <td><input class="input-sm input-xs-lg form-control regex-input" data-id="f2b_regex" type="text" name="regex" required value="<?=htmlspecialchars($regex_val);?>"></td>
+              <td><a href="#" role="button" class="btn btn-xs btn-xs-lg btn-default" type="button"><?=$lang['admin']['remove_row'];?></a></td>
             </tr>
             <?php
               }
@@ -810,12 +844,13 @@
             ?>
           </table>
           <p><div class="btn-group">
-            <button class="btn btn-sm btn-success" data-action="edit_selected" data-item="admin" data-id="f2b_regex" data-reload="no" data-api-url='edit/fail2ban' data-api-attr='{"action":"edit-regex"}' href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
-            <button class="btn btn-sm btn-default admin-ays-dialog" data-action="edit_selected" data-item="self" data-id="f2b-quick" data-api-url='edit/fail2ban' data-api-attr='{"action":"reset-regex"}' href="#"><?=$lang['admin']['reset_default'];?></button>
-            <button class="btn btn-sm btn-default" type="button" id="add_f2b_regex_row"><span class="glyphicon glyphicon-plus"></span> <?=$lang['admin']['add_row'];?></button>
+            <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-item="admin" data-id="f2b_regex" data-reload="no" data-api-url='edit/fail2ban' data-api-attr='{"action":"edit-regex"}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+            <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default admin-ays-dialog" data-action="edit_selected" data-item="self" data-id="f2b-quick" data-api-url='edit/fail2ban' data-api-attr='{"action":"reset-regex"}' href="#"><?=$lang['admin']['reset_default'];?></button>
+            <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" type="button" id="add_f2b_regex_row"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add_row'];?></button>
           </div></p>
         </form>
-        <hr>
+        </div>
+
         <p class="help-block"><?=$lang['admin']['ban_list_info'];?></p>
         <?php
         if (empty($f2b_data['active_bans']) && empty($f2b_data['perm_bans'])):
@@ -826,7 +861,7 @@
         if (!empty($f2b_data['active_bans'])):
           foreach ($f2b_data['active_bans'] as $active_bans):
           ?>
-          <p><span class="label label-info" style="padding:4px;font-size:85%;"><span class="glyphicon glyphicon-filter"></span> <?=$active_bans['network'];?> (<?=$active_bans['banned_until'];?>) -
+          <p><span class="label label-info" style="padding:4px;font-size:85%;"><i class="bi bi-funnel-fill"></i><a href="https://bgp.he.net/ip/<?=$active_bans['ip'];?>" target="_blank" style="color:white"> <?=$active_bans['network'];?></a>(<?=$active_bans['banned_until'];?>) -
             <?php
             if ($active_bans['queued_for_unban'] == 0):
             ?>
@@ -850,7 +885,7 @@
         if (!empty($f2b_data['perm_bans'])):
           foreach ($f2b_data['perm_bans'] as $perm_bans):
           ?>
-          <span class="label label-danger" style="padding: 0.1em 0.4em 0.1em;"><span class="glyphicon glyphicon-filter"></span> <?=$perm_bans?></span>
+          <span class="label label-danger" style="padding: 0.1em 0.4em 0.1em;"><i class="bi bi-funnel-fill"></i><a href="https://bgp.he.net/ip/<?=$perm_bans['ip'];?>" target="_blank" style="color:white"> <?=$perm_bans['network'];?></a></span>
           <?php
           endforeach;
         endif;
@@ -866,66 +901,66 @@
         <?php $q_data = quarantine('settings');
         if (empty($q_data['retention_size']) || empty($q_data['max_size'])):
         ?>
-        <div class="panel-body"><div class="alert alert-info"><?=$lang['quarantine']['disabled_by_config'];?></div></div>
+        <div class="alert alert-info"><?=$lang['quarantine']['disabled_by_config'];?></div>
         <?php
         endif;
         ?>
         <form class="form-horizontal" data-id="quarantine" role="form" method="post">
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="retention_size"><?=$lang['admin']['quarantine_retention_size'];?></label>
+            <label class="col-sm-4 control-label" for="quarantine_retention_size"><?=$lang['admin']['quarantine_retention_size'];?></label>
             <div class="col-sm-8">
-              <input type="number" class="form-control" name="retention_size" value="<?=$q_data['retention_size'];?>" placeholder="0" required>
+              <input type="number" class="form-control" id="quarantine_retention_size" name="retention_size" value="<?=$q_data['retention_size'];?>" placeholder="0" required>
             </div>
           </div>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="max_size"><?=$lang['admin']['quarantine_max_size'];?></label>
+            <label class="col-sm-4 control-label" for="quarantine_max_size"><?=$lang['admin']['quarantine_max_size'];?></label>
             <div class="col-sm-8">
-              <input type="number" class="form-control" name="max_size" value="<?=$q_data['max_size'];?>" placeholder="0" required>
+              <input type="number" class="form-control" id="quarantine_max_size" name="max_size" value="<?=$q_data['max_size'];?>" placeholder="0" required>
             </div>
           </div>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="max_score"><?=$lang['admin']['quarantine_max_score'];?></label>
+            <label class="col-sm-4 control-label" for="quarantine_max_score"><?=$lang['admin']['quarantine_max_score'];?></label>
             <div class="col-sm-8">
-              <input type="number" class="form-control" name="max_score" value="<?=$q_data['max_score'];?>" placeholder="9999.0">
+              <input type="number" class="form-control" id="quarantine_max_score" name="max_score" value="<?=$q_data['max_score'];?>" placeholder="9999.0">
             </div>
           </div>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="max_age"><?=$lang['admin']['quarantine_max_age'];?></label>
+            <label class="col-sm-4 control-label" for="quarantine_max_age"><?=$lang['admin']['quarantine_max_age'];?></label>
             <div class="col-sm-8">
-              <input type="number" class="form-control" name="max_age" value="<?=$q_data['max_age'];?>" min="1" required>
+              <input type="number" class="form-control" id="quarantine_max_age" name="max_age" value="<?=$q_data['max_age'];?>" min="1" required>
             </div>
           </div>
           <hr>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="sender"><span class="glyphicon glyphicon-share-alt"></span> <?=$lang['admin']['quarantine_redirect'];?></label>
+            <label class="col-sm-4 control-label" for="quarantine_redirect"><i class="bi bi-box-arrow-right"></i> <?=$lang['admin']['quarantine_redirect'];?></label>
             <div class="col-sm-8">
-              <input type="email" class="form-control" name="redirect" value="<?=htmlspecialchars($q_data['redirect']);?>" placeholder="">
+              <input type="email" class="form-control" id="quarantine_redirect" name="redirect" value="<?=htmlspecialchars($q_data['redirect']);?>" placeholder="">
             </div>
           </div>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="sender"><span class="glyphicon glyphicon-copy"></span> <?=$lang['admin']['quarantine_bcc'];?></label>
+            <label class="col-sm-4 control-label" for="quarantine_bcc"><i class="bi bi-files"></i> <?=$lang['admin']['quarantine_bcc'];?></label>
             <div class="col-sm-8">
-              <input type="email" class="form-control" name="bcc" value="<?=htmlspecialchars($q_data['bcc']);?>" placeholder="">
+              <input type="email" class="form-control" id="quarantine_bcc" name="bcc" value="<?=htmlspecialchars($q_data['bcc']);?>" placeholder="">
             </div>
           </div>
           <hr>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="sender"><?=$lang['admin']['quarantine_notification_sender'];?>:</label>
+            <label class="col-sm-4 control-label" for="quarantine_sender"><?=$lang['admin']['quarantine_notification_sender'];?>:</label>
             <div class="col-sm-8">
-              <input type="email" class="form-control" name="sender" value="<?=htmlspecialchars($q_data['sender']);?>" placeholder="quarantine@localhost">
+              <input type="email" class="form-control" id="quarantine_sender" name="sender" value="<?=htmlspecialchars($q_data['sender']);?>" placeholder="quarantine@localhost">
             </div>
           </div>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="subject"><?=$lang['admin']['quarantine_notification_subject'];?>:</label>
+            <label class="col-sm-4 control-label" for="quarantine_subject"><?=$lang['admin']['quarantine_notification_subject'];?>:</label>
             <div class="col-sm-8">
-              <input type="text" class="form-control" name="subject" value="<?=htmlspecialchars($q_data['subject']);?>" placeholder="Spam Quarantine Notification">
+              <input type="text" class="form-control" id="quarantine_subject" name="subject" value="<?=htmlspecialchars($q_data['subject']);?>" placeholder="Spam Quarantine Notification">
             </div>
           </div>
           <hr>
           <div class="form-group">
-            <label class="col-sm-4 control-label" for="release_format"><?=$lang['admin']['quarantine_release_format'];?>:</label>
+            <label class="col-sm-4 control-label" for="quarantine_release_format"><?=$lang['admin']['quarantine_release_format'];?>:</label>
             <div class="col-sm-8">
-              <select data-width="100%" name="release_format" class="selectpicker" title="<?=$lang['tfa']['select'];?>">
+              <select data-width="100%" id="quarantine_release_format" name="release_format" class="selectpicker" title="<?=$lang['tfa']['select'];?>">
                 <option <?=($q_data['release_format'] == 'raw') ? 'selected' : null;?> value="raw"><?=$lang['admin']['quarantine_release_format_raw'];?></option>
                 <option <?=($q_data['release_format'] == 'attachment') ? 'selected' : null;?> value="attachment"><?=$lang['admin']['quarantine_release_format_att'];?></option>
               </select>
@@ -936,23 +971,25 @@
             <div class="col-sm-8">
               <select data-width="100%" name="exclude_domains" class="selectpicker" title="<?=$lang['tfa']['select'];?>" multiple>
               <?php
-              foreach (array_merge(mailbox('get', 'domains'), mailbox('get', 'alias_domains')) as $domain):
-              ?>
-                <option <?=(in_array($domain, $q_data['exclude_domains'])) ? 'selected' : null;?>><?=htmlspecialchars($domain);?></option>
-              <?php
-              endforeach;
+              if (is_array($q_data['exclude_domains'])) {
+                foreach (array_merge(mailbox('get', 'domains'), mailbox('get', 'alias_domains')) as $domain) {
+                ?>
+                  <option <?=(in_array($domain, $q_data['exclude_domains'])) ? 'selected' : null;?>><?=htmlspecialchars($domain);?></option>
+                <?php
+                }
+              }
               ?>
               </select>
             </div>
           </div>
           <hr>
-          <legend data-target="#quarantine_template" style="cursor:pointer" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-            <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['admin']['quarantine_notification_html'];?>
+          <legend data-target="#quarantine_template" style="cursor:pointer" unselectable="on" data-toggle="collapse">
+            <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['admin']['quarantine_notification_html'];?>
           </legend>
           <div id="quarantine_template" class="collapse" >
             <textarea autocorrect="off" spellcheck="false" autocapitalize="none" class="form-control textarea-code" rows="40" name="html_tmpl"><?=$q_data['html_tmpl'];?></textarea>
           </div>
-          <button class="btn btn-sm btn-success" data-action="edit_selected" data-item="self" data-id="quarantine" data-api-url='edit/quarantine' data-api-attr='{"action":"settings"}' href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-item="self" data-id="quarantine" data-api-url='edit/quarantine' data-api-attr='{"action":"settings"}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
         </form>
       </div>
     </div>
@@ -968,21 +1005,21 @@
         <div class="row">
           <div class="col-sm-6">
             <div class="form-group">
-              <label for="sender"><?=$lang['admin']['quarantine_notification_sender'];?>:</label>
-              <input type="email" class="form-control" name="sender" value="<?=htmlspecialchars($qw_data['sender']);?>" placeholder="quota-warning@localhost">
+              <label for="quota_notification_sender"><?=$lang['admin']['quota_notification_sender'];?>:</label>
+              <input type="email" class="form-control" id="quota_notification_sender" name="sender" value="<?=htmlspecialchars($qw_data['sender']);?>" placeholder="quota-warning@localhost">
             </div>
           </div>
           <div class="col-sm-6">
             <div class="form-group">
-              <label for="subject"><?=$lang['admin']['quarantine_notification_subject'];?>:</label>
-              <input type="text" class="form-control" name="subject" value="<?=htmlspecialchars($qw_data['subject']);?>" placeholder="Quota warning">
+              <label for="quota_notification_subject"><?=$lang['admin']['quota_notification_subject'];?>:</label>
+              <input type="text" class="form-control" id="quota_notification_subject" name="subject" value="<?=htmlspecialchars($qw_data['subject']);?>" placeholder="Quota warning">
             </div>
           </div>
         </div>
         <div class="row">
           <div class="col-sm-12">
-            <legend data-target="#quota_template" style="cursor:pointer" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-              <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['admin']['quarantine_notification_html'];?>
+            <legend data-target="#quota_template" style="cursor:pointer" unselectable="on" data-toggle="collapse">
+              <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['admin']['quarantine_notification_html'];?>
             </legend>
             <div id="quota_template" class="collapse" >
               <!-- <small><?=$lang['admin']['quota_notifications_vars'];?></small><br><br>-->
@@ -994,11 +1031,11 @@
           <div class="col-sm-10">
             <div class="form-group">
               <br>
-              <a type="button" class="btn btn-sm btn-success" data-action="edit_selected"
+              <a type="button" class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected"
                 data-item="quota_notification"
                 data-id="quota_notification"
                 data-api-url='edit/quota_notification'
-                data-api-attr='{}'><span class="glyphicon glyphicon-check"></span> <?=$lang['user']['save_changes'];?></a>
+                data-api-attr='{}'><i class="bi bi-check-lg"></i> <?=$lang['user']['save_changes'];?></a>
             </div>
           </div>
         </div>
@@ -1011,8 +1048,8 @@
     <div class="panel panel-default">
       <div class="panel-heading"><?=$lang['admin']['rspamd_settings_map'];?></div>
       <div class="panel-body">
-      <legend data-target="#active_settings_map" style="cursor:pointer" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-        <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['admin']['active_rspamd_settings_map'];?>
+      <legend data-target="#active_settings_map" style="cursor:pointer" unselectable="on" data-toggle="collapse">
+        <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['admin']['active_rspamd_settings_map'];?>
       </legend>
       <div id="active_settings_map" class="collapse" >
         <textarea autocorrect="off" spellcheck="false" autocapitalize="none" class="form-control textarea-code" rows="20" name="settings_map" readonly><?=file_get_contents('http://nginx:8081/settings.php');?></textarea>
@@ -1067,19 +1104,19 @@
                   <form class="form" data-id="rsettings" role="form" method="post">
                     <input type="hidden" name="active" value="0">
                     <div class="form-group">
-                      <label for="desc"><?=$lang['admin']['rsetting_desc'];?>:</label>
-                      <input type="text" class="form-control" name="desc" value="<?=htmlspecialchars($rsetting_details['desc']);?>">
+                      <label for="rsettings_desc"><?=$lang['admin']['rsetting_desc'];?>:</label>
+                      <input type="text" class="form-control" id="rsettings_desc" name="desc" value="<?=htmlspecialchars($rsetting_details['desc']);?>">
                     </div>
                     <div class="form-group">
-                      <label for="content"><?=$lang['admin']['rsetting_content'];?>:</label>
-                      <textarea class="form-control" name="content" rows="10"><?=htmlspecialchars($rsetting_details['content']);?></textarea>
+                      <label for="rsettings_content"><?=$lang['admin']['rsetting_content'];?>:</label>
+                      <textarea class="form-control" id="rsettings_content" name="content" rows="10"><?=htmlspecialchars($rsetting_details['content']);?></textarea>
                     </div>
                     <div class="form-group">
                       <label>
                         <input type="checkbox" name="active" value="1" <?=($rsetting_details['active'] == 1) ? 'checked' : null;?>> <?=$lang['admin']['active'];?>
                       </label>
                     </div>
-                    <button class="btn btn-sm btn-success" data-action="edit_selected" data-item="<?=$rsetting_details['id'];?>" data-id="rsettings" data-api-url='edit/rsetting' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
+                    <button class="btn btn-sm btn-success" data-action="edit_selected" data-item="<?=$rsetting_details['id'];?>" data-id="rsettings" data-api-url='edit/rsetting' data-api-attr='{}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
                     <button class="btn btn-sm btn-danger" data-action="delete_selected" data-item="<?=$rsetting_details['id'];?>" data-id="rsettings" data-api-url="delete/rsetting" data-api-attr='{}' href="#"><?=$lang['admin']['remove'];?></button>
                   </form>
                 </div>
@@ -1099,12 +1136,12 @@
     <div class="panel panel-default">
       <div class="panel-heading"><?=$lang['admin']['customize'];?></div>
       <div class="panel-body">
-        <legend><?=$lang['admin']['change_logo'];?></legend>
+        <legend><i class="bi bi-file-image"></i> <?=$lang['admin']['change_logo'];?></legend>
         <p class="help-block"><?=$lang['admin']['logo_info'];?></p>
         <form class="form-inline" role="form" method="post" enctype="multipart/form-data">
           <p>
-            <input type="file" name="main_logo" class="filestyle" data-buttonName="btn-default" data-buttonText="Select" accept="image/gif, image/jpeg, image/pjpeg, image/x-png, image/png, image/svg+xml">
-            <button name="submit_main_logo" type="submit" class="btn btn-default"><span class="glyphicon glyphicon-cloud-upload"></span> <?=$lang['admin']['upload'];?></button>
+            <input type="file" name="main_logo" accept="image/gif, image/jpeg, image/pjpeg, image/x-png, image/png, image/svg+xml"><br>
+            <button name="submit_main_logo" type="submit" class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default"><i class="bi bi-upload"></i> <?=$lang['admin']['upload'];?></button>
           </p>
         </form>
         <?php
@@ -1123,7 +1160,7 @@
             </div>
             <hr>
             <form class="form-inline" role="form" method="post">
-              <p><button name="reset_main_logo" type="submit" class="btn btn-xs btn-default"><?=$lang['admin']['reset_default'];?></button></p>
+              <p><button name="reset_main_logo" type="submit" class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default"><?=$lang['admin']['reset_default'];?></button></p>
             </form>
           </div>
         </div>
@@ -1139,29 +1176,32 @@
             </tr>
             <?php
             $app_links = customize('get', 'app_links');
-            foreach ($app_links as $row) {
-              foreach ($row as $key => $val) {
-            ?>
+            if ($app_links) {
+              foreach ($app_links as $row) {
+                foreach ($row as $key => $val) {
+              ?>
             <tr>
-              <td><input class="input-sm form-control" data-id="app_links" type="text" name="app" required value="<?=$key;?>"></td>
-              <td><input class="input-sm form-control" data-id="app_links" type="text" name="href" required value="<?=$val;?>"></td>
-              <td><a href="#" role="button" class="btn btn-xs btn-default" type="button"><?=$lang['admin']['remove_row'];?></a></td>
+              <td><input class="input-sm input-xs-lg form-control" data-id="app_links" type="text" name="app" required value="<?=$key;?>"></td>
+              <td><input class="input-sm input-xs-lg form-control" data-id="app_links" type="text" name="href" required value="<?=$val;?>"></td>
+              <td><a href="#" role="button" class="btn btn-sm btn-xs-lg btn-default" type="button"><?=$lang['admin']['remove_row'];?></a></td>
             </tr>
             <?php
+                }
               }
             }
             foreach ($MAILCOW_APPS as $app) {
             ?>
             <tr>
-              <td><input class="input-sm form-control" value="<?=htmlspecialchars($app['name']);?>" disabled></td>
-              <td><input class="input-sm form-control" value="<?=htmlspecialchars($app['link']);?>" disabled></td>
+              <td><input class="input-sm input-xs-lg form-control" value="<?=htmlspecialchars($app['name']);?>" disabled></td>
+              <td><input class="input-sm input-xs-lg form-control" value="<?=htmlspecialchars($app['link']);?>" disabled></td>
               <td>&nbsp;</td>
             </tr>
             <?php } ?>
           </table>
           <p><div class="btn-group">
-            <button class="btn btn-sm btn-success" data-action="edit_selected" data-item="admin" data-id="app_links" data-reload="no" data-api-url='edit/app_links' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
-            <button class="btn btn-sm btn-default" type="button" id="add_app_link_row"><?=$lang['admin']['add_row'];?></button>
+            <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-item="admin" data-id="app_links" data-reload="no" data-api-url='edit/app_links' data-api-attr='{}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+            <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" type="button" id="add_app_link_row"><?=$lang['admin']['add_row'];?></button>
+            <div class="clearfix visible-xs"></div>
           </div></p>
         </form>
         <legend data-target="#ui_texts" style="padding-top:20px" unselectable="on"><?=$lang['admin']['ui_texts'];?></legend>
@@ -1169,16 +1209,16 @@
         <?php $ui_texts = customize('get', 'ui_texts'); ?>
           <form class="form" data-id="uitexts" role="form" method="post">
             <div class="form-group">
-              <label for="title_name"><?=$lang['admin']['title_name'];?>:</label>
-              <input type="text" class="form-control" name="title_name" placeholder="mailcow UI" value="<?=$ui_texts['title_name'];?>">
+              <label for="uitests_title_name"><?=$lang['admin']['title_name'];?>:</label>
+              <input type="text" class="form-control" id="uitests_title_name" name="title_name" placeholder="mailcow UI" value="<?=$ui_texts['title_name'];?>">
             </div>
             <div class="form-group">
-              <label for="main_name"><?=$lang['admin']['main_name'];?>:</label>
-              <input type="text" class="form-control" name="main_name" placeholder="mailcow UI" value="<?=$ui_texts['main_name'];?>">
+              <label for="uitests_main_name"><?=$lang['admin']['main_name'];?>:</label>
+              <input type="text" class="form-control" id="uitests_main_name" name="main_name" placeholder="mailcow UI" value="<?=$ui_texts['main_name'];?>">
             </div>
             <div class="form-group">
-              <label for="apps_name"><?=$lang['admin']['apps_name'];?>:</label>
-              <input type="text" class="form-control" name="apps_name" placeholder="mailcow Apps" value="<?=$ui_texts['apps_name'];?>">
+              <label for="uitests_apps_name"><?=$lang['admin']['apps_name'];?>:</label>
+              <input type="text" class="form-control" id="uitests_apps_name" name="apps_name" placeholder="<?=$lang['header']['apps']?>" value="<?=$ui_texts['apps_name'];?>">
             </div>
             <div class="form-group">
               <label for="help_text"><?=$lang['admin']['help_text'];?>:</label>
@@ -1188,7 +1228,7 @@
             <div class="form-group">
               <p class="help-block"><?=$lang['admin']['ui_header_announcement_help'];?></p>
               <label for="ui_announcement_type"><?=$lang['admin']['ui_header_announcement'];?>:</label>
-              <p><select multiple data-width="100%" name="ui_announcement_type" class="selectpicker show-tick" data-max-options="1" title="<?=$lang['admin']['ui_header_announcement_select'];?>">
+              <p><select multiple data-width="100%" id="ui_announcement_type" name="ui_announcement_type" class="selectpicker show-tick" data-max-options="1" title="<?=$lang['admin']['ui_header_announcement_select'];?>">
                 <option <?=($ui_texts['ui_announcement_type'] == 'info') ? 'selected' : null;?> value="info"><?=$lang['admin']['ui_header_announcement_type_info'];?></option>
                 <option <?=($ui_texts['ui_announcement_type'] == 'warning') ? 'selected' : null;?> value="warning"><?=$lang['admin']['ui_header_announcement_type_warning'];?></option>
                 <option <?=($ui_texts['ui_announcement_type'] == 'danger') ? 'selected' : null;?> value="danger"><?=$lang['admin']['ui_header_announcement_type_danger'];?></option>
@@ -1205,28 +1245,71 @@
               <label for="ui_footer"><?=$lang['admin']['ui_footer'];?>:</label>
               <textarea class="form-control" id="ui_footer" name="ui_footer" rows="7"><?=$ui_texts['ui_footer'];?></textarea>
             </div>
-            <button class="btn btn-sm btn-success" data-action="edit_selected" data-item="ui" data-id="uitexts" data-api-url='edit/ui_texts' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
+            <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-item="ui" data-id="uitexts" data-api-url='edit/ui_texts' data-api-attr='{}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
           </form>
         </div>
       </div>
     </div>
   </div>
 
+  <div role="tabpanel" class="tab-pane" id="tab-config-password-policy">
+    <div class="panel panel-default">
+      <div class="panel-heading"><?=$lang['admin']['password_policy'];?></div>
+      <div class="panel-body">
+        <?php $password_complexity = password_complexity('get'); ?>
+        <form class="form-horizontal" data-id="passwordpolicy" role="form" method="post">
+          <?php
+          foreach ($password_complexity as $name => $value) {
+          if ($name == 'length') {
+          ?>
+          <div class="form-group">
+            <label class="control-label col-sm-3" for="<?=$name;?>"><?=$lang['admin']['password_length'];?>:</label>
+            <div class="col-sm-2">
+              <input type="number" class="form-control" min="3" max="64" name="<?=$name;?>" id="<?=$name;?>" value="<?=$value;?>" required>
+            </div>
+          </div>
+          <?php
+          } else {
+          ?>
+          <input type="hidden" name="<?=$name;?>" value="0">
+          <div class="form-group">
+            <div class="col-sm-offset-3 col-sm-9">
+              <label>
+                <input type="checkbox" name="<?=$name;?>" id="<?=$name;?>" value="1" <?=($value == 1) ? 'checked' : null;?>> <?=$lang['admin']["password_policy_$name"];?>
+              </label>
+            </div>
+          </div>
+          <?php
+          }
+          }
+          ?>
+          <div class="form-group">
+            <div class="col-sm-offset-3 col-sm-9">
+              <div class="btn-group">
+                <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-item="passwordpolicy" data-action="edit_selected" data-id="passwordpolicy" data-api-url='edit/passwordpolicy' data-api-attr='{}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+              </div>
+            </div>
+          </div>
+        </form>
+      </div>
+    </div>
+  </div>
+
   <div role="tabpanel" class="tab-pane" id="tab-sys-mails">
     <div class="panel panel-default">
       <div class="panel-heading"><?=$lang['admin']['sys_mails'];?></div>
       <div class="panel-body">
         <form class="form-horizontal" autocapitalize="none" data-id="admin" autocorrect="off" role="form" method="post">
           <div class="form-group">
-            <label class="control-label col-sm-2" for="mass_from"><?=$lang['admin']['from'];?>:</label>
+            <label class="control-label col-sm-2" for="admin_mass_from"><?=$lang['admin']['from'];?>:</label>
             <div class="col-sm-10">
-              <input type="email" class="form-control" name="mass_from" value="noreply@<?=getenv('MAILCOW_HOSTNAME');;?>" required>
+              <input type="email" class="form-control" id="admin_mass_from" name="mass_from" value="noreply@<?=getenv('MAILCOW_HOSTNAME');;?>" required>
             </div>
           </div>
           <div class="form-group">
-            <label class="control-label col-sm-2" for="mass_subject"><?=$lang['admin']['subject'];?>:</label>
+            <label class="control-label col-sm-2" for="admin_mass_subject"><?=$lang['admin']['subject'];?>:</label>
             <div class="col-sm-10">
-              <input type="text" class="form-control" name="mass_subject" required>
+              <input type="text" class="form-control" id="admin_mass_subject" name="mass_subject" required>
             </div>
           </div>
           <?php
@@ -1282,7 +1365,7 @@
             <label class="control-label col-sm-2" for="mass_html"><?=$lang['admin']['html'];?> (<?=$lang['admin']['optional'];?>):</label>
             <div class="col-sm-10">
               <textarea class="form-control" rows="10" name="mass_html" id="mass_html"></textarea>
-              <p class="small">↪ <a target="_blank" href="https://templates.mailchimp.com/resources/html-to-text/"><?=$lang['admin']['convert_html_to_text'];?></a></p>
+              <p class="small"><i class="bi bi-arrow-return-right"></i> <a target="_blank" href="https://templates.mailchimp.com/resources/html-to-text/"><?=$lang['admin']['convert_html_to_text'];?></a></p>
             </div>
           </div>
           <div class="form-group">
@@ -1294,7 +1377,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" type="submit" id="mass_send" name="mass_send" disabled><span class="glyphicon glyphicon-envelope"></span> <?=$lang['admin']['send'];?></button>
+              <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" type="submit" id="mass_send" name="mass_send" disabled><i class="bi bi-envelope-fill"></i> <?=$lang['admin']['send'];?></button>
             </div>
           </div>
         </form>
@@ -1316,30 +1399,31 @@
       </div>
       <div class="mass-actions-admin">
         <div class="btn-group">
-          <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="mailqitems" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-          <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-          <ul class="dropdown-menu">
+          <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="mailqitems" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+          <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+          <ul class="dropdown-menu top33">
             <li><a data-toggle="tooltip" title="postqueue -i" data-action="edit_selected" data-id="mailqitems" data-api-url='edit/mailq' data-api-attr='{"action":"deliver"}' href="#"><?=$lang['admin']['queue_deliver_mail'];?></a></li>
             <li><a data-toggle="tooltip" title="postsuper -H" data-action="edit_selected" data-id="mailqitems" data-api-url='edit/mailq' data-api-attr='{"action":"unhold"}' href="#"><?=$lang['admin']['queue_unhold_mail'];?></a></li>
             <li><a data-toggle="tooltip" title="postsuper -h" data-action="edit_selected" data-id="mailqitems" data-api-url='edit/mailq' data-api-attr='{"action":"hold"}' href="#"><?=$lang['admin']['queue_hold_mail'];?></a></li>
             <li role="separator" class="divider"></li>
             <li><a data-toggle="tooltip" title="postsuper -d" data-action="delete_selected" data-id="mailqitems" data-api-url='delete/mailq' href="#"><?=$lang['mailbox']['remove'];?></a></li>
           </ul>
-          <a class="btn btn-sm btn-primary"
+          <div class="clearfix visible-xs"></div>
+          <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-primary"
             data-action="edit_selected"
             data-item="mailqitems-all"
             data-api-url='edit/mailq'
             data-api-attr='{"action":"flush"}'
             data-toggle="tooltip" title="postqueue -f"
-            href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['admin']['flush_queue'];?></a>
-          <a class="btn btn-sm btn-danger"
+            href="#"><i class="bi bi-check-all"></i> <?=$lang['admin']['flush_queue'];?></a>
+          <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger"
             id="super_delete"
             data-action="edit_selected"
             data-item="mailqitems-all"
             data-api-url='edit/mailq'
             data-api-attr='{"action":"super_delete"}'
             data-toggle="tooltip" title="postsuper -d ALL"
-            href="#"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span> <?=$lang['admin']['delete_queue'];?></a>
+            href="#"><i class="bi bi-trash"></i> <?=$lang['admin']['delete_queue'];?></a>
         </div>
       </div>
       </div>
@@ -1353,7 +1437,7 @@
       </div>
       <div class="panel-body">
         <p><?=$lang['admin']['rspamd_global_filters_info'];?></p>
-        <div id="confirm_show_rspamd_global_filters" class="<?=($_SESSION['show_rspamd_global_filters'] === true) ? 'hidden' : '';?>">
+        <div id="confirm_show_rspamd_global_filters" class="<?=(!isset($_SESSION['show_rspamd_global_filters']) || $_SESSION['show_rspamd_global_filters'] !== true) ? '' : 'hidden';?>">
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
               <label>
@@ -1362,7 +1446,7 @@
             </div>
           </div>
         </div>
-        <div id="rspamd_global_filters" class="<?=($_SESSION['show_rspamd_global_filters'] !== true) ? 'hidden' : '';?>">
+        <div id="rspamd_global_filters" class="<?=(isset($_SESSION['show_rspamd_global_filters']) && $_SESSION['show_rspamd_global_filters'] === true) ? '' : 'hidden';?>">
         <hr>
         <span class="anchor" id="regexmaps"></span>
         <h4><?=$lang['admin']['regex_maps'];?></h4>
@@ -1381,7 +1465,7 @@
         ?>
         <hr>
         <span class="anchor" id="<?=$rspamd_regex_map;?>"></span>
-        <form class="form-horizontal" data-id="<?=$rspamd_regex_map;?>" role="form" method="post">
+        <form class="form-horizontal" data-cached-form="false" data-id="<?=$rspamd_regex_map;?>" role="form" method="post">
           <div class="form-group">
             <label class="control-label col-sm-3" for="<?=$rspamd_regex_map;?>"><?=$rspamd_regex_desc;?><br><small><?=$rspamd_regex_map;?></small></label>
             <div class="col-sm-9">
@@ -1390,8 +1474,8 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-3 col-sm-9">
-              <button class="btn btn-xs btn-default validate_rspamd_regex" data-regex-map="<?=$rspamd_regex_map;?>" href="#"><?=$lang['add']['validate'];?></button>
-              <button class="btn btn-xs btn-success submit_rspamd_regex" data-action="edit_selected" data-id="<?=$rspamd_regex_map;?>" data-item="<?=htmlspecialchars($rspamd_regex_map);?>" data-api-url='edit/rspamd-map' data-api-attr='{}' href="#" disabled><?=$lang['edit']['save'];?></button>
+              <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default validate_rspamd_regex" data-regex-map="<?=$rspamd_regex_map;?>" href="#"><?=$lang['add']['validate'];?></button>
+              <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success submit_rspamd_regex" data-action="edit_selected" data-id="<?=$rspamd_regex_map;?>" data-item="<?=htmlspecialchars($rspamd_regex_map);?>" data-api-url='edit/rspamd-map' data-api-attr='{}' href="#" disabled><?=$lang['edit']['save'];?></button>
             </div>
           </div>
         </form>
@@ -1426,7 +1510,7 @@
 $js_minifier->add('/web/js/site/pwgen.js');
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';
 } else {
-	header('Location: /');
-	exit();
+  header('Location: /');
+  exit();
 }
 ?>
diff --git a/mailcow/src/mailcow-dockerized/data/web/api/openapi.yaml b/mailcow/src/mailcow-dockerized/data/web/api/openapi.yaml
index a14c47d..e1ef65b 100644
--- a/mailcow/src/mailcow-dockerized/data/web/api/openapi.yaml
+++ b/mailcow/src/mailcow-dockerized/data/web/api/openapi.yaml
@@ -126,6 +126,9 @@
                 goto_spam:
                   description: learn as spam
                   type: boolean
+                sogo_visible:
+                  description: toggle visibility as selectable sender in SOGo
+                  type: boolean
               type: object
       summary: Create alias
   /api/v1/add/app-passwd:
@@ -420,11 +423,11 @@
                         - domain
                         - active: "1"
                           aliases: "400"
+                          restart_sogo: "1"
                           backupmx: "0"
                           defquota: "3072"
                           description: some decsription
                           domain: domain.tld
-                          lang: cs
                           mailboxes: "10"
                           maxquota: "10240"
                           quota: "10240"
@@ -471,13 +474,13 @@
                 defquota: "3072"
                 description: some decsription
                 domain: domain.tld
-                lang: cs
                 mailboxes: "10"
                 maxquota: "10240"
                 quota: "10240"
                 relay_all_recipients: "0"
                 rl_frame: s
                 rl_value: "10"
+                restart_sogo: "10"
               properties:
                 active:
                   description: is domain active or not
@@ -497,23 +500,6 @@
                 domain:
                   description: Fully qualified domain name
                   type: string
-                lang:
-                  description: language code
-                  enum:
-                    - sk
-                    - cs
-                    - de
-                    - en
-                    - es
-                    - fr
-                    - lv
-                    - nl
-                    - pl
-                    - pt
-                    - ru
-                    - it
-                    - ca
-                  type: string
                 mailboxes:
                   description: limit count of mailboxes associated with this domain
                   type: number
@@ -523,6 +509,9 @@
                 quota:
                   description: maximum quota for this domain (for all mailboxes in sum)
                   type: number
+                restart_sogo:
+                  description: restart SOGo to activate the domain in SOGo
+                  type: number
                 relay_all_recipients:
                   description: >-
                     if not, them you have to create "dummy" mailbox for each
@@ -1018,7 +1007,7 @@
                 password2:
                   description: mailbox password for confirmation
                   type: string
-                pasword:
+                password:
                   description: mailbox password
                   type: string
                 quota:
@@ -2752,6 +2741,9 @@
                       type: string
                     public_comment:
                       type: string
+                    sogo_visible:
+                      description: toggle visibility as selectable sender in SOGo
+                      type: boolean
                   type: object
                 items:
                   description: contains list of aliases you want update
@@ -2805,7 +2797,6 @@
                   defquota: "3072"
                   description: domain description
                   gal: "1"
-                  lang: cs
                   mailboxes: "10"
                   maxquota: "10240"
                   quota: "10240"
@@ -2835,23 +2826,6 @@
                         is domain global address list active or not, it enables
                         shared contacts accross domain in SOGo webmail
                       type: boolean
-                    lang:
-                      description: language code
-                      enum:
-                        - sk
-                        - cs
-                        - de
-                        - en
-                        - es
-                        - fr
-                        - lv
-                        - nl
-                        - pl
-                        - pt
-                        - ru
-                        - it
-                        - ca
-                      type: string
                     mailboxes:
                       description: limit count of mailboxes associated with this domain
                       type: number
@@ -3029,7 +3003,8 @@
                     - domain3.tld
                     - "*"
                   sogo_access: "1"
-                items: info@domain.tld
+                items:
+                  - info@domain.tld
               properties:
                 attr:
                   properties:
@@ -3045,7 +3020,7 @@
                     password2:
                       description: new mailbox password for confirmation
                       type: string
-                    pasword:
+                    password:
                       description: new mailbox password
                       type: string
                     quota:
@@ -3743,7 +3718,6 @@
                       description: Some description
                       domain_name: domain.tld
                       gal: "0"
-                      lang: en
                       max_new_mailbox_quota: 10737418240
                       max_num_aliases_for_domain: 400
                       max_num_mboxes_for_domain: 10
@@ -3766,7 +3740,6 @@
                       description: domain description
                       domain_name: domain2.tld
                       gal: "0"
-                      lang: cs
                       max_new_mailbox_quota: 10737418240
                       max_num_aliases_for_domain: 400
                       max_num_mboxes_for_domain: 10
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/001-bootstrap.min.css b/mailcow/src/mailcow-dockerized/data/web/css/build/001-bootstrap.min.css
index 769bf30..232dfb9 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/001-bootstrap.min.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/001-bootstrap.min.css
@@ -8,4 +8,4 @@
  * Bootstrap v3.4.1 (https://getbootstrap.com/)
  * Copyright 2011-2019 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:"Glyphicons Halflings";src:url("/fonts/glyphicons-halflings-regular.eot");src:url("/fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("/fonts/glyphicons-halflings-regular.woff2") format("woff2"),url("/fonts/glyphicons-halflings-regular.woff") format("woff"),url("/fonts/glyphicons-halflings-regular.ttf") format("truetype"),url("/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#158cba;text-decoration:none}a:hover,a:focus{color:#158cba;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:5px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #eeeeee;border-radius:4px;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:400;line-height:1.1;color:#333333}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#999999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#ff851b}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999999}.text-primary{color:#158cba}a.text-primary:hover,a.text-primary:focus{color:#106a8c}.text-success{color:#ffffff}a.text-success:hover,a.text-success:focus{color:#e6e6e6}.text-info{color:#ffffff}a.text-info:hover,a.text-info:focus{color:#e6e6e6}.text-warning{color:#ffffff}a.text-warning:hover,a.text-warning:focus{color:#e6e6e6}.text-danger{color:#ffffff}a.text-danger:hover,a.text-danger:focus{color:#e6e6e6}.bg-primary{color:#fff;background-color:#158cba}a.bg-primary:hover,a.bg-primary:focus{background-color:#106a8c}.bg-success{background-color:#28b62c}a.bg-success:hover,a.bg-success:focus{background-color:#1f8c22}.bg-info{background-color:#75caeb}a.bg-info:hover,a.bg-info:focus{background-color:#48b9e5}.bg-warning{background-color:#ff851b}a.bg-warning:hover,a.bg-warning:focus{background-color:#e76b00}.bg-danger{background-color:#ff4136}a.bg-danger:hover,a.bg-danger:focus{background-color:#ff1103}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eeeeee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#999999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #eeeeee}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #eeeeee}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #eeeeee}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #eeeeee}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #eeeeee}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#28b62c}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#23a127}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#75caeb}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#5fc1e8}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#ff851b}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#ff7701}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#ff4136}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ff291c}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #eeeeee}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="search"]{box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:8px;font-size:14px;line-height:1.42857143;color:#555555}.form-control{display:block;width:100%;height:38px;padding:7px 12px;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff;background-image:none;border:1px solid #e7e7e7;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:38px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:28px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:52px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:8px;padding-bottom:8px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}select.input-sm{height:28px;line-height:28px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}.form-group-sm select.form-control{height:28px;line-height:28px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:28px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-lg{height:52px;line-height:52px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}.form-group-lg select.form-control{height:52px;line-height:52px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:52px;min-height:38px;padding:14px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:52px;height:52px;line-height:52px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:28px;height:28px;line-height:28px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#ffffff}.has-success .form-control{border-color:#ffffff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#e6e6e6;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-success .input-group-addon{color:#ffffff;background-color:#28b62c;border-color:#ffffff}.has-success .form-control-feedback{color:#ffffff}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ffffff}.has-warning .form-control{border-color:#ffffff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e6e6e6;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-warning .input-group-addon{color:#ffffff;background-color:#ff851b;border-color:#ffffff}.has-warning .form-control-feedback{color:#ffffff}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ffffff}.has-error .form-control{border-color:#ffffff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#e6e6e6;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fff}.has-error .input-group-addon{color:#ffffff;background-color:#ff4136;border-color:#ffffff}.has-error .form-control-feedback{color:#ffffff}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#959595}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:8px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:28px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:8px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:5px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:7px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#555555;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:0.65;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#555555;background-color:#eeeeee;border-color:#e2e2e2}.btn-default:focus,.btn-default.focus{color:#555555;background-color:#d5d5d5;border-color:#a2a2a2}.btn-default:hover{color:#555555;background-color:#d5d5d5;border-color:#c3c3c3}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#555555;background-color:#d5d5d5;background-image:none;border-color:#c3c3c3}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#555555;background-color:#c3c3c3;border-color:#a2a2a2}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#eeeeee;border-color:#e2e2e2}.btn-default .badge{color:#eeeeee;background-color:#555555}.btn-primary{color:#ffffff;background-color:#158cba;border-color:#127ba3}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#106a8c;border-color:#052531}.btn-primary:hover{color:#ffffff;background-color:#106a8c;border-color:#0c516c}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#106a8c;background-image:none;border-color:#0c516c}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#0c516c;border-color:#052531}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#158cba;border-color:#127ba3}.btn-primary .badge{color:#158cba;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#28b62c;border-color:#23a127}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#1f8c22;border-color:#0c390e}.btn-success:hover{color:#ffffff;background-color:#1f8c22;border-color:#186f1b}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#1f8c22;background-image:none;border-color:#186f1b}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#186f1b;border-color:#0c390e}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#28b62c;border-color:#23a127}.btn-success .badge{color:#28b62c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#75caeb;border-color:#5fc1e8}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#48b9e5;border-color:#1984ae}.btn-info:hover{color:#ffffff;background-color:#48b9e5;border-color:#29ade0}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#48b9e5;background-image:none;border-color:#29ade0}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#29ade0;border-color:#1984ae}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#75caeb;border-color:#5fc1e8}.btn-info .badge{color:#75caeb;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#ff851b;border-color:#ff7701}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#e76b00;border-color:#813c00}.btn-warning:hover{color:#ffffff;background-color:#e76b00;border-color:#c35b00}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#e76b00;background-image:none;border-color:#c35b00}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#c35b00;border-color:#813c00}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#ff851b;border-color:#ff7701}.btn-warning .badge{color:#ff851b;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#ff4136;border-color:#ff291c}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#ff1103;border-color:#9c0900}.btn-danger:hover{color:#ffffff;background-color:#ff1103;border-color:#de0c00}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#ff1103;background-image:none;border-color:#de0c00}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#de0c00;border-color:#9c0900}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#ff4136;border-color:#ff291c}.btn-danger .badge{color:#ff4136;background-color:#ffffff}.btn-link{font-weight:400;color:#158cba;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#158cba;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}.btn-sm,.btn-group-sm>.btn{padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:2px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition-property:height, visibility;transition-duration:0.35s;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#ffffff;background-clip:padding-box;border:1px solid #cccccc;border:1px solid #e7e7e7;border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#eeeeee}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#333333;text-decoration:none;background-color:transparent}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;background-color:#158cba;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#eeeeee}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999999;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:52px;line-height:52px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:28px;line-height:28px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:7px 12px;font-size:14px;font-weight:400;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #e7e7e7;border-radius:4px}.input-group-addon.input-sm{padding:4px 10px;font-size:12px;border-radius:2px}.input-group-addon.input-lg{padding:13px 16px;font-size:18px;border-radius:5px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#ffffff}.nav>li.disabled>a{color:#999999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#ffffff;border-color:#158cba}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #e7e7e7}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #e7e7e7}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;cursor:default;background-color:#ffffff;border:1px solid #e7e7e7;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #e7e7e7}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #e7e7e7;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#158cba}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #e7e7e7}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #e7e7e7;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:11px;margin-bottom:11px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#333333}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#333333;background-color:transparent}.navbar-default .navbar-text{color:#555555}.navbar-default .navbar-nav>li>a{color:#999999}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#eeeeee;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#333333;background-color:transparent}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#999999}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#eeeeee;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#eeeeee}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ffffff}.navbar-default .navbar-toggle .icon-bar{background-color:#999999}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#999999}.navbar-default .navbar-link:hover{color:#333333}.navbar-default .btn-link{color:#999999}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#eeeeee}.navbar-inverse{background-color:#ffffff;border-color:#e6e6e6}.navbar-inverse .navbar-brand{color:#999999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-text{color:#999999}.navbar-inverse .navbar-nav>li>a{color:#999999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#eeeeee;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#333333;background-color:transparent}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#e6e6e6}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#e6e6e6}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#333333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#eeeeee;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#eeeeee}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#eeeeee}.navbar-inverse .navbar-toggle .icon-bar{background-color:#999999}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#ededed}.navbar-inverse .navbar-link{color:#999999}.navbar-inverse .navbar-link:hover{color:#333333}.navbar-inverse .btn-link{color:#999999}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#333333}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#eeeeee}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#fafafa;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#999999;content:">\00a0"}.breadcrumb>.active{color:#999999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:7px 12px;margin-left:-1px;line-height:1.42857143;color:#555555;text-decoration:none;background-color:#eeeeee;border:1px solid #e2e2e2}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#555555;background-color:#eeeeee;border-color:#e2e2e2}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#ffffff;cursor:default;background-color:#158cba;border-color:#127ba3}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;cursor:not-allowed;background-color:#eeeeee;border-color:#e2e2e2}.pagination-lg>li>a,.pagination-lg>li>span{padding:13px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:5px;border-bottom-right-radius:5px}.pagination-sm>li>a,.pagination-sm>li>span{padding:4px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:2px;border-bottom-left-radius:2px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:2px;border-bottom-right-radius:2px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#eeeeee;border:1px solid #e2e2e2;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;cursor:not-allowed;background-color:#eeeeee}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#158cba}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#106a8c}.label-success{background-color:#28b62c}.label-success[href]:hover,.label-success[href]:focus{background-color:#1f8c22}.label-info{background-color:#75caeb}.label-info[href]:hover,.label-info[href]:focus{background-color:#48b9e5}.label-warning{background-color:#ff851b}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#e76b00}.label-danger{background-color:#ff4136}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#ff1103}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:normal;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#158cba;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#158cba;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#fafafa}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#e1e1e1}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:5px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#ffffff;border:1px solid #eeeeee;border-radius:4px;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#158cba}.thumbnail .caption{padding:9px;color:#555555}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#ffffff;background-color:#28b62c;border-color:#24a528}.alert-success hr{border-top-color:#209023}.alert-success .alert-link{color:#e6e6e6}.alert-info{color:#ffffff;background-color:#75caeb;border-color:#40b5e3}.alert-info hr{border-top-color:#29ade0}.alert-info .alert-link{color:#e6e6e6}.alert-warning{color:#ffffff;background-color:#ff851b;border-color:#ff7701}.alert-warning hr{border-top-color:#e76b00}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{color:#ffffff;background-color:#ff4136;border-color:#ff1103}.alert-danger hr{border-top-color:#e90d00}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#fafafa;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#158cba;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#28b62c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#75caeb}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff851b}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#ff4136}.progress-striped .progress-bar-danger{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #eeeeee}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#999999;cursor:not-allowed;background-color:#eeeeee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#999999}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#158cba;border-color:#158cba}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#a6dff5}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#ffffff;background-color:#28b62c}a.list-group-item-success,button.list-group-item-success{color:#ffffff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#ffffff;background-color:#23a127}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-info{color:#ffffff;background-color:#75caeb}a.list-group-item-info,button.list-group-item-info{color:#ffffff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#ffffff;background-color:#5fc1e8}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-warning{color:#ffffff;background-color:#ff851b}a.list-group-item-warning,button.list-group-item-warning{color:#ffffff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#ffffff;background-color:#ff7701}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-danger{color:#ffffff;background-color:#ff4136}a.list-group-item-danger,button.list-group-item-danger{color:#ffffff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#ffffff;background-color:#ff291c}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#ffffff;border-color:#ffffff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid transparent;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #eeeeee}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid transparent}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid transparent}.panel-default{border-color:transparent}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:transparent}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-primary{border-color:transparent}.panel-primary>.panel-heading{color:#ffffff;background-color:#158cba;border-color:transparent}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-primary>.panel-heading .badge{color:#158cba;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-success{border-color:transparent}.panel-success>.panel-heading{color:#ffffff;background-color:#28b62c;border-color:transparent}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-success>.panel-heading .badge{color:#28b62c;background-color:#ffffff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-info{border-color:transparent}.panel-info>.panel-heading{color:#ffffff;background-color:#75caeb;border-color:transparent}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-info>.panel-heading .badge{color:#75caeb;background-color:#ffffff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-warning{border-color:transparent}.panel-warning>.panel-heading{color:#ffffff;background-color:#ff851b;border-color:transparent}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-warning>.panel-heading .badge{color:#ff851b;background-color:#ffffff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-danger{border-color:transparent}.panel-danger>.panel-heading{color:#ffffff;background-color:#ff4136;border-color:transparent}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-danger>.panel-heading .badge{color:#ff4136;background-color:#ffffff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#fafafa;border:1px solid #e8e8e8;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:5px}.well-sm{padding:9px;border-radius:2px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#ffffff;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=20);opacity:0.2}.close:hover,.close:focus{color:#ffffff;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:0.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);transform:translate(0, -25%);transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;background-clip:padding-box;border:1px solid #eeeeee;border:1px solid rgba(0,0,0,0.05);border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:0.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:0.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#ffffff;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:5px;box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#ffffff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#ffffff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#ffffff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:0.5}.carousel-control.left{background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#ffffff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:0.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #ffffff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#ffffff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.navbar{border-width:0 1px 4px 1px}.btn{padding:9px 12px 7px;border-width:0 1px 4px 1px;font-size:12px;font-weight:bold;text-transform:uppercase}.btn:hover{margin-top:1px;border-bottom-width:3px}.btn:active{margin-top:2px;border-bottom-width:2px;box-shadow:none}.btn-lg,.btn-group-lg>.btn{padding:15px 16px 13px;line-height:15px}.btn-sm,.btn-group-sm>.btn{padding:6px 10px 4px}.btn-xs,.btn-group-xs>.btn{padding:3px 5px 1px}.btn-default:hover,.btn-default:focus,.btn-group.open .dropdown-toggle.btn-default{background-color:#eeeeee;border-color:#e2e2e2}.btn-primary:hover,.btn-primary:focus,.btn-group.open .dropdown-toggle.btn-primary{background-color:#158cba;border-color:#127ba3}.btn-success:hover,.btn-success:focus,.btn-group.open .dropdown-toggle.btn-success{background-color:#28b62c;border-color:#23a127}.btn-info:hover,.btn-info:focus,.btn-group.open .dropdown-toggle.btn-info{background-color:#75caeb;border-color:#5fc1e8}.btn-warning:hover,.btn-warning:focus,.btn-group.open .dropdown-toggle.btn-warning{background-color:#ff851b;border-color:#ff7701}.btn-danger:hover,.btn-danger:focus,.btn-group.open .dropdown-toggle.btn-danger{background-color:#ff4136;border-color:#ff291c}.btn-group.open .dropdown-toggle{box-shadow:none}.navbar-btn:hover{margin-top:8px}.navbar-btn:active{margin-top:9px}.navbar-btn.btn-sm:hover{margin-top:11px}.navbar-btn.btn-sm:active{margin-top:12px}.navbar-btn.btn-xs:hover{margin-top:15px}.navbar-btn.btn-xs:active{margin-top:16px}.btn-group-vertical .btn+.btn:hover{border-top-width:1px}.btn-group-vertical .btn+.btn:active{border-top-width:2px}.text-primary,.text-primary:hover{color:#158cba}.text-success,.text-success:hover{color:#28b62c}.text-danger,.text-danger:hover{color:#ff4136}.text-warning,.text-warning:hover{color:#ff851b}.text-info,.text-info:hover{color:#75caeb}table a:not(.btn),.table a:not(.btn){text-decoration:underline}table .dropdown-menu a,.table .dropdown-menu a{text-decoration:none}table .success,.table .success,table .warning,.table .warning,table .danger,.table .danger,table .info,.table .info{color:#fff}table .success a:not(.btn),.table .success a:not(.btn),table .warning a:not(.btn),.table .warning a:not(.btn),table .danger a:not(.btn),.table .danger a:not(.btn),table .info a:not(.btn),.table .info a:not(.btn){color:#fff}table:not(.table-bordered)>thead>tr>th,.table:not(.table-bordered)>thead>tr>th,table:not(.table-bordered)>tbody>tr>th,.table:not(.table-bordered)>tbody>tr>th,table:not(.table-bordered)>tfoot>tr>th,.table:not(.table-bordered)>tfoot>tr>th,table:not(.table-bordered)>thead>tr>td,.table:not(.table-bordered)>thead>tr>td,table:not(.table-bordered)>tbody>tr>td,.table:not(.table-bordered)>tbody>tr>td,table:not(.table-bordered)>tfoot>tr>td,.table:not(.table-bordered)>tfoot>tr>td{border-color:transparent}.form-control{box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}label{font-weight:normal}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label,.has-warning .form-control-feedback{color:#ff851b}.has-warning .form-control,.has-warning .form-control:focus{border:1px solid #ff851b;box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}.has-warning .input-group-addon{border:1px solid #ff851b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label,.has-error .form-control-feedback{color:#ff4136}.has-error .form-control,.has-error .form-control:focus{border:1px solid #ff4136;box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}.has-error .input-group-addon{border:1px solid #ff4136}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label,.has-success .form-control-feedback{color:#28b62c}.has-success .form-control,.has-success .form-control:focus{border:1px solid #28b62c;box-shadow:inset 0 2px 0 rgba(0,0,0,0.075)}.has-success .input-group-addon{border:1px solid #28b62c}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:transparent}.nav-tabs>li>a{margin-top:6px;border-color:#e7e7e7;color:#333333;transition:all .2s ease-in-out}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus,.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus,.nav-tabs .open>a,.nav-tabs .open>a:hover,.nav-tabs .open>a:focus{padding-bottom:16px;margin-top:0}.nav-tabs .open>a,.nav-tabs .open>a:hover,.nav-tabs .open>a:focus{border-color:#e7e7e7}.nav-tabs>li.disabled>a:hover,.nav-tabs>li.disabled>a:focus{padding-top:10px;padding-bottom:10px;margin-top:6px}.nav-tabs.nav-justified>li{vertical-align:bottom}.dropdown-menu{margin-top:0;border-width:0 1px 4px 1px;border-top-width:1px;box-shadow:none}.breadcrumb{border-color:#ededed;border-style:solid;border-width:0 1px 4px 1px}.pagination>li>a,.pager>li>a,.pagination>li>span,.pager>li>span{position:relative;top:0;border-width:0 1px 4px 1px;color:#555555;font-size:12px;font-weight:bold;text-transform:uppercase}.pagination>li>a:hover,.pager>li>a:hover,.pagination>li>span:hover,.pager>li>span:hover{top:1px;border-bottom-width:3px}.pagination>li>a:active,.pager>li>a:active,.pagination>li>span:active,.pager>li>span:active{top:2px;border-bottom-width:2px}.pagination>.disabled>a:hover,.pager>.disabled>a:hover,.pagination>.disabled>span:hover,.pager>.disabled>span:hover{top:0;border-width:0 1px 4px 1px}.pagination>.disabled>a:active,.pager>.disabled>a:active,.pagination>.disabled>span:active,.pager>.disabled>span:active{top:0;border-width:0 1px 4px 1px}.pager>li>a,.pager>li>span,.pager>.disabled>a,.pager>.disabled>span,.pager>li>a:hover,.pager>li>span:hover,.pager>.disabled>a:hover,.pager>.disabled>span:hover,.pager>li>a:active,.pager>li>span:active,.pager>.disabled>a:active,.pager>.disabled>span:active{border-left-width:2px;border-right-width:2px}.close{color:#fff;text-decoration:none;opacity:0.4}.close:hover,.close:focus{color:#fff;opacity:1}.alert{border-width:0 1px 4px 1px}.alert .alert-link{font-weight:normal;color:#fff;text-decoration:underline}.label{font-weight:normal}.progress{border:1px solid #e7e7e7;box-shadow:inset 0 2px 0 rgba(0,0,0,0.1)}.progress-bar{box-shadow:inset 0 -4px 0 rgba(0,0,0,0.15)}.well{border:1px solid #e7e7e7;box-shadow:inset 0 2px 0 rgba(0,0,0,0.05)}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border-color:#eeeeee}a.list-group-item-success.active{background-color:#28b62c}a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{background-color:#23a127}a.list-group-item-warning.active{background-color:#ff851b}a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{background-color:#ff7701}a.list-group-item-danger.active{background-color:#ff4136}a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{background-color:#ff291c}.jumbotron{border:1px solid #e7e7e7;box-shadow:inset 0 2px 0 rgba(0,0,0,0.05)}.panel{border:1px solid #e7e7e7;border-width:0 1px 4px 1px}.panel-default .close{color:#555555}.modal .close{color:#555555}.popover{color:#555555}
\ No newline at end of file
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#158cba;text-decoration:none}a:focus,a:hover{color:#158cba;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:5px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #eee;border-radius:4px;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:400;line-height:1.1;color:#333}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#999}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#ff851b}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999}.text-primary{color:#158cba}a.text-primary:focus,a.text-primary:hover{color:#106a8c}.text-success{color:#fff}a.text-success:focus,a.text-success:hover{color:#e6e6e6}.text-info{color:#fff}a.text-info:focus,a.text-info:hover{color:#e6e6e6}.text-warning{color:#fff}a.text-warning:focus,a.text-warning:hover{color:#e6e6e6}.text-danger{color:#fff}a.text-danger:focus,a.text-danger:hover{color:#e6e6e6}.bg-primary{color:#fff;background-color:#158cba}a.bg-primary:focus,a.bg-primary:hover{background-color:#106a8c}.bg-success{background-color:#28b62c}a.bg-success:focus,a.bg-success:hover{background-color:#1f8c22}.bg-info{background-color:#75caeb}a.bg-info:focus,a.bg-info:hover{background-color:#48b9e5}.bg-warning{background-color:#ff851b}a.bg-warning:focus,a.bg-warning:hover{background-color:#e76b00}.bg-danger{background-color:#ff4136}a.bg-danger:focus,a.bg-danger:hover{background-color:#ff1103}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#999}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#999;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #eee}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #eee}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #eee}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #eee}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #eee}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#28b62c}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#23a127}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#75caeb}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#5fc1e8}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#ff851b}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#ff7701}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#ff4136}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ff291c}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #eee}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:8px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:38px;padding:7px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #e7e7e7;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:38px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:28px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:52px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:8px;padding-bottom:8px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}select.input-sm{height:28px;line-height:28px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}.form-group-sm select.form-control{height:28px;line-height:28px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:28px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-lg{height:52px;line-height:52px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}.form-group-lg select.form-control{height:52px;line-height:52px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:52px;min-height:38px;padding:14px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:52px;height:52px;line-height:52px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:28px;height:28px;line-height:28px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#fff}.has-success .form-control{border-color:#fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#e6e6e6;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-success .input-group-addon{color:#fff;background-color:#28b62c;border-color:#fff}.has-success .form-control-feedback{color:#fff}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#fff}.has-warning .form-control{border-color:#fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#e6e6e6;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-warning .input-group-addon{color:#fff;background-color:#ff851b;border-color:#fff}.has-warning .form-control-feedback{color:#fff}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#fff}.has-error .form-control{border-color:#fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#e6e6e6;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-error .input-group-addon{color:#fff;background-color:#ff4136;border-color:#fff}.has-error .form-control-feedback{color:#fff}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#959595}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:8px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:28px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:8px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:5px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:7px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#555;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#555;background-color:#eee;border-color:#e2e2e2}.btn-default.focus,.btn-default:focus{color:#555;background-color:#d5d5d5;border-color:#a2a2a2}.btn-default:hover{color:#555;background-color:#d5d5d5;border-color:#c3c3c3}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#555;background-color:#d5d5d5;background-image:none;border-color:#c3c3c3}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#555;background-color:#c3c3c3;border-color:#a2a2a2}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#eee;border-color:#e2e2e2}.btn-default .badge{color:#eee;background-color:#555}.btn-primary{color:#fff;background-color:#158cba;border-color:#127ba3}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#106a8c;border-color:#052531}.btn-primary:hover{color:#fff;background-color:#106a8c;border-color:#0c516c}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#106a8c;background-image:none;border-color:#0c516c}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#0c516c;border-color:#052531}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#158cba;border-color:#127ba3}.btn-primary .badge{color:#158cba;background-color:#fff}.btn-success{color:#fff;background-color:#28b62c;border-color:#23a127}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#1f8c22;border-color:#0c390e}.btn-success:hover{color:#fff;background-color:#1f8c22;border-color:#186f1b}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#1f8c22;background-image:none;border-color:#186f1b}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#186f1b;border-color:#0c390e}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#28b62c;border-color:#23a127}.btn-success .badge{color:#28b62c;background-color:#fff}.btn-info{color:#fff;background-color:#75caeb;border-color:#5fc1e8}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#48b9e5;border-color:#1984ae}.btn-info:hover{color:#fff;background-color:#48b9e5;border-color:#29ade0}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#48b9e5;background-image:none;border-color:#29ade0}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#29ade0;border-color:#1984ae}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#75caeb;border-color:#5fc1e8}.btn-info .badge{color:#75caeb;background-color:#fff}.btn-warning{color:#fff;background-color:#ff851b;border-color:#ff7701}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#e76b00;border-color:#813c00}.btn-warning:hover{color:#fff;background-color:#e76b00;border-color:#c35b00}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#e76b00;background-image:none;border-color:#c35b00}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#c35b00;border-color:#813c00}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff851b;border-color:#ff7701}.btn-warning .badge{color:#ff851b;background-color:#fff}.btn-danger{color:#fff;background-color:#ff4136;border-color:#ff291c}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#ff1103;border-color:#9c0900}.btn-danger:hover{color:#fff;background-color:#ff1103;border-color:#de0c00}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#ff1103;background-image:none;border-color:#de0c00}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#de0c00;border-color:#9c0900}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ff4136;border-color:#ff291c}.btn-danger .badge{color:#ff4136;background-color:#fff}.btn-link{font-weight:400;color:#158cba;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#158cba;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}.btn-group-sm>.btn,.btn-sm{padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:2px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition-property:height,visibility;transition-duration:.35s;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid #e7e7e7;border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#eee}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#999;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#158cba;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#eee}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:52px;padding:13px 16px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:52px;line-height:52px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:28px;padding:4px 10px;font-size:12px;line-height:1.5;border-radius:2px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:28px;line-height:28px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:7px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #e7e7e7;border-radius:4px}.input-group-addon.input-sm{padding:4px 10px;font-size:12px;border-radius:2px}.input-group-addon.input-lg{padding:13px 16px;font-size:18px;border-radius:5px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#fff}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#fff;border-color:#158cba}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #e7e7e7}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #e7e7e7}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #e7e7e7;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #e7e7e7}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #e7e7e7;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#158cba}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #e7e7e7}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #e7e7e7;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:11px;margin-bottom:11px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#333}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#333;background-color:transparent}.navbar-default .navbar-text{color:#555}.navbar-default .navbar-nav>li>a{color:#999}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#eee;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#333;background-color:transparent}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#eee;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#eee}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#fff}.navbar-default .navbar-toggle .icon-bar{background-color:#999}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#999}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#999}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#eee}.navbar-inverse{background-color:#fff;border-color:#e6e6e6}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#333;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#333;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#eee;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#333;background-color:transparent}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#e6e6e6}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#e6e6e6}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#333;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#eee;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#eee}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#eee}.navbar-inverse .navbar-toggle .icon-bar{background-color:#999}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#ededed}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#333}.navbar-inverse .btn-link{color:#999}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#333}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#eee}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#fafafa;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#999;content:">\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:7px 12px;margin-left:-1px;line-height:1.42857143;color:#555;text-decoration:none;background-color:#eee;border:1px solid #e2e2e2}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#555;background-color:#eee;border-color:#e2e2e2}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#158cba;border-color:#127ba3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#eee;border-color:#e2e2e2}.pagination-lg>li>a,.pagination-lg>li>span{padding:13px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:5px;border-bottom-right-radius:5px}.pagination-sm>li>a,.pagination-sm>li>span{padding:4px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:2px;border-bottom-left-radius:2px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:2px;border-bottom-right-radius:2px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#eee;border:1px solid #e2e2e2;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#eee}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:focus,.label-default[href]:hover{background-color:grey}.label-primary{background-color:#158cba}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#106a8c}.label-success{background-color:#28b62c}.label-success[href]:focus,.label-success[href]:hover{background-color:#1f8c22}.label-info{background-color:#75caeb}.label-info[href]:focus,.label-info[href]:hover{background-color:#48b9e5}.label-warning{background-color:#ff851b}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#e76b00}.label-danger{background-color:#ff4136}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#ff1103}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:400;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#158cba;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#158cba;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#fafafa}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#e1e1e1}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:5px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #eee;border-radius:4px;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#158cba}.thumbnail .caption{padding:9px;color:#555}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#fff;background-color:#28b62c;border-color:#24a528}.alert-success hr{border-top-color:#209023}.alert-success .alert-link{color:#e6e6e6}.alert-info{color:#fff;background-color:#75caeb;border-color:#40b5e3}.alert-info hr{border-top-color:#29ade0}.alert-info .alert-link{color:#e6e6e6}.alert-warning{color:#fff;background-color:#ff851b;border-color:#ff7701}.alert-warning hr{border-top-color:#e76b00}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{color:#fff;background-color:#ff4136;border-color:#ff1103}.alert-danger hr{border-top-color:#e90d00}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#fafafa;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#158cba;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#28b62c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#75caeb}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#ff851b}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#ff4136}.progress-striped .progress-bar-danger{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #eee}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#999;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#999}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#158cba;border-color:#158cba}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#a6dff5}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#fff;background-color:#28b62c}a.list-group-item-success,button.list-group-item-success{color:#fff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#fff;background-color:#23a127}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-info{color:#fff;background-color:#75caeb}a.list-group-item-info,button.list-group-item-info{color:#fff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#fff;background-color:#5fc1e8}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-warning{color:#fff;background-color:#ff851b}a.list-group-item-warning,button.list-group-item-warning{color:#fff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#fff;background-color:#ff7701}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-danger{color:#fff;background-color:#ff4136}a.list-group-item-danger,button.list-group-item-danger{color:#fff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#fff;background-color:#ff291c}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid transparent;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #eee}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid transparent}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid transparent}.panel-default{border-color:transparent}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:transparent}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-primary{border-color:transparent}.panel-primary>.panel-heading{color:#fff;background-color:#158cba;border-color:transparent}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-primary>.panel-heading .badge{color:#158cba;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-success{border-color:transparent}.panel-success>.panel-heading{color:#fff;background-color:#28b62c;border-color:transparent}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-success>.panel-heading .badge{color:#28b62c;background-color:#fff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-info{border-color:transparent}.panel-info>.panel-heading{color:#fff;background-color:#75caeb;border-color:transparent}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-info>.panel-heading .badge{color:#75caeb;background-color:#fff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-warning{border-color:transparent}.panel-warning>.panel-heading{color:#fff;background-color:#ff851b;border-color:transparent}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-warning>.panel-heading .badge{color:#ff851b;background-color:#fff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-danger{border-color:transparent}.panel-danger>.panel-heading{color:#fff;background-color:#ff4136;border-color:transparent}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-danger>.panel-heading .badge{color:#ff4136;background-color:#fff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#fafafa;border:1px solid #e8e8e8;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:5px}.well-sm{padding:9px;border-radius:2px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#fff;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#fff;text-decoration:none;cursor:pointer;opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);transform:translate(0,-25%);transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #eee;border:1px solid rgba(0,0,0,.05);border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;opacity:0}.tooltip.in{opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:5px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.popover-content{padding:9px 14px}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.navbar{border-width:0 1px 4px 1px}.btn{padding:9px 12px 7px;border-width:0 1px 4px 1px;font-size:12px;font-weight:700;text-transform:uppercase}.btn:hover{margin-top:1px;border-bottom-width:3px}.btn:active{margin-top:2px;border-bottom-width:2px;box-shadow:none}.btn-group-lg>.btn,.btn-lg{padding:15px 16px 13px;line-height:15px}.btn-group-sm>.btn,.btn-sm{padding:6px 10px 4px}.btn-group-xs>.btn,.btn-xs{padding:3px 5px 1px}.btn-default:focus,.btn-default:hover,.btn-group.open .dropdown-toggle.btn-default{background-color:#eee;border-color:#e2e2e2}.btn-group.open .dropdown-toggle.btn-primary,.btn-primary:focus,.btn-primary:hover{background-color:#158cba;border-color:#127ba3}.btn-group.open .dropdown-toggle.btn-success,.btn-success:focus,.btn-success:hover{background-color:#28b62c;border-color:#23a127}.btn-group.open .dropdown-toggle.btn-info,.btn-info:focus,.btn-info:hover{background-color:#75caeb;border-color:#5fc1e8}.btn-group.open .dropdown-toggle.btn-warning,.btn-warning:focus,.btn-warning:hover{background-color:#ff851b;border-color:#ff7701}.btn-danger:focus,.btn-danger:hover,.btn-group.open .dropdown-toggle.btn-danger{background-color:#ff4136;border-color:#ff291c}.btn-group.open .dropdown-toggle{box-shadow:none}.navbar-btn:hover{margin-top:8px}.navbar-btn:active{margin-top:9px}.navbar-btn.btn-sm:hover{margin-top:11px}.navbar-btn.btn-sm:active{margin-top:12px}.navbar-btn.btn-xs:hover{margin-top:15px}.navbar-btn.btn-xs:active{margin-top:16px}.btn-group-vertical .btn+.btn:hover{border-top-width:1px}.btn-group-vertical .btn+.btn:active{border-top-width:2px}.text-primary,.text-primary:hover{color:#158cba}.text-success,.text-success:hover{color:#28b62c}.text-danger,.text-danger:hover{color:#ff4136}.text-warning,.text-warning:hover{color:#ff851b}.text-info,.text-info:hover{color:#75caeb}.table a:not(.btn),table a:not(.btn){text-decoration:underline}.table .dropdown-menu a,table .dropdown-menu a{text-decoration:none}.table .danger,.table .info,.table .success,.table .warning,table .danger,table .info,table .success,table .warning{color:#fff}.table .danger a:not(.btn),.table .info a:not(.btn),.table .success a:not(.btn),.table .warning a:not(.btn),table .danger a:not(.btn),table .info a:not(.btn),table .success a:not(.btn),table .warning a:not(.btn){color:#fff}.table:not(.table-bordered)>tbody>tr>td,.table:not(.table-bordered)>tbody>tr>th,.table:not(.table-bordered)>tfoot>tr>td,.table:not(.table-bordered)>tfoot>tr>th,.table:not(.table-bordered)>thead>tr>td,.table:not(.table-bordered)>thead>tr>th,table:not(.table-bordered)>tbody>tr>td,table:not(.table-bordered)>tbody>tr>th,table:not(.table-bordered)>tfoot>tr>td,table:not(.table-bordered)>tfoot>tr>th,table:not(.table-bordered)>thead>tr>td,table:not(.table-bordered)>thead>tr>th{border-color:transparent}.form-control{box-shadow:inset 0 2px 0 rgba(0,0,0,.075)}label{font-weight:400}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#ff851b}.has-warning .form-control,.has-warning .form-control:focus{border:1px solid #ff851b;box-shadow:inset 0 2px 0 rgba(0,0,0,.075)}.has-warning .input-group-addon{border:1px solid #ff851b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#ff4136}.has-error .form-control,.has-error .form-control:focus{border:1px solid #ff4136;box-shadow:inset 0 2px 0 rgba(0,0,0,.075)}.has-error .input-group-addon{border:1px solid #ff4136}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#28b62c}.has-success .form-control,.has-success .form-control:focus{border:1px solid #28b62c;box-shadow:inset 0 2px 0 rgba(0,0,0,.075)}.has-success .input-group-addon{border:1px solid #28b62c}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:transparent}.nav-tabs>li>a{margin-top:6px;border-color:#e7e7e7;color:#333;transition:all .2s ease-in-out}.nav-tabs .open>a,.nav-tabs .open>a:focus,.nav-tabs .open>a:hover,.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover,.nav-tabs>li>a:focus,.nav-tabs>li>a:hover{padding-bottom:16px;margin-top:0}.nav-tabs .open>a,.nav-tabs .open>a:focus,.nav-tabs .open>a:hover{border-color:#e7e7e7}.nav-tabs>li.disabled>a:focus,.nav-tabs>li.disabled>a:hover{padding-top:10px;padding-bottom:10px;margin-top:6px}.nav-tabs.nav-justified>li{vertical-align:bottom}.dropdown-menu{margin-top:0;border-width:0 1px 4px 1px;border-top-width:1px;box-shadow:none}.breadcrumb{border-color:#ededed;border-style:solid;border-width:0 1px 4px 1px}.pager>li>a,.pager>li>span,.pagination>li>a,.pagination>li>span{position:relative;top:0;border-width:0 1px 4px 1px;color:#555;font-size:12px;font-weight:700;text-transform:uppercase}.pager>li>a:hover,.pager>li>span:hover,.pagination>li>a:hover,.pagination>li>span:hover{top:1px;border-bottom-width:3px}.pager>li>a:active,.pager>li>span:active,.pagination>li>a:active,.pagination>li>span:active{top:2px;border-bottom-width:2px}.pager>.disabled>a:hover,.pager>.disabled>span:hover,.pagination>.disabled>a:hover,.pagination>.disabled>span:hover{top:0;border-width:0 1px 4px 1px}.pager>.disabled>a:active,.pager>.disabled>span:active,.pagination>.disabled>a:active,.pagination>.disabled>span:active{top:0;border-width:0 1px 4px 1px}.pager>.disabled>a,.pager>.disabled>a:active,.pager>.disabled>a:hover,.pager>.disabled>span,.pager>.disabled>span:active,.pager>.disabled>span:hover,.pager>li>a,.pager>li>a:active,.pager>li>a:hover,.pager>li>span,.pager>li>span:active,.pager>li>span:hover{border-left-width:2px;border-right-width:2px}.close{color:#fff;text-decoration:none;opacity:.4}.close:focus,.close:hover{color:#fff;opacity:1}.alert{border-width:0 1px 4px 1px}.alert .alert-link{font-weight:400;color:#fff;text-decoration:underline}.label{font-weight:400}.progress{border:1px solid #e7e7e7;box-shadow:inset 0 2px 0 rgba(0,0,0,.1)}.progress-bar{box-shadow:inset 0 -4px 0 rgba(0,0,0,.15)}.well{border:1px solid #e7e7e7;box-shadow:inset 0 2px 0 rgba(0,0,0,.05)}a.list-group-item.active,a.list-group-item.active:focus,a.list-group-item.active:hover{border-color:#eee}a.list-group-item-success.active{background-color:#28b62c}a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{background-color:#23a127}a.list-group-item-warning.active{background-color:#ff851b}a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{background-color:#ff7701}a.list-group-item-danger.active{background-color:#ff4136}a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{background-color:#ff291c}.jumbotron{border:1px solid #e7e7e7;box-shadow:inset 0 2px 0 rgba(0,0,0,.05)}.panel{border:1px solid #e7e7e7;border-width:0 1px 4px 1px}.panel-default .close{color:#555}.modal .close{color:#555}.popover{color:#555}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/004-bootstrap-slider.min.css b/mailcow/src/mailcow-dockerized/data/web/css/build/004-bootstrap-slider.min.css
deleted file mode 100644
index f8e395b..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/004-bootstrap-slider.min.css
+++ /dev/null
@@ -1,41 +0,0 @@
-/*! =======================================================
-                      VERSION  10.6.1              
-========================================================= */
-/*! =========================================================
- * bootstrap-slider.js
- *
- * Maintainers:
- *		Kyle Kemp
- *			- Twitter: @seiyria
- *			- Github:  seiyria
- *		Rohit Kalkur
- *			- Twitter: @Rovolutionary
- *			- Github:  rovolution
- *
- * =========================================================
-  *
- * bootstrap-slider is released under the MIT License
- * Copyright (c) 2019 Kyle Kemp, Rohit Kalkur, and contributors
- * 
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- * 
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * ========================================================= */.slider{display:inline-block;vertical-align:middle;position:relative}.slider.slider-horizontal{width:210px;height:20px}.slider.slider-horizontal .slider-track{height:10px;width:100%;margin-top:-5px;top:50%;left:0}.slider.slider-horizontal .slider-selection,.slider.slider-horizontal .slider-track-low,.slider.slider-horizontal .slider-track-high{height:100%;top:0;bottom:0}.slider.slider-horizontal .slider-tick,.slider.slider-horizontal .slider-handle{margin-left:-10px}.slider.slider-horizontal .slider-tick.triangle,.slider.slider-horizontal .slider-handle.triangle{position:relative;top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);border-width:0 10px 10px 10px;width:0;height:0;border-bottom-color:#2e6da4;margin-top:0}.slider.slider-horizontal .slider-tick-container{white-space:nowrap;position:absolute;top:0;left:0;width:100%}.slider.slider-horizontal .slider-tick-label-container{white-space:nowrap;margin-top:20px}.slider.slider-horizontal .slider-tick-label-container .slider-tick-label{padding-top:4px;display:inline-block;text-align:center}.slider.slider-horizontal .tooltip{-ms-transform:translateX(-50%);transform:translateX(-50%)}.slider.slider-horizontal.slider-rtl .slider-track{left:initial;right:0}.slider.slider-horizontal.slider-rtl .slider-tick,.slider.slider-horizontal.slider-rtl .slider-handle{margin-left:initial;margin-right:-10px}.slider.slider-horizontal.slider-rtl .slider-tick-container{left:initial;right:0}.slider.slider-horizontal.slider-rtl .tooltip{-ms-transform:translateX(50%);transform:translateX(50%)}.slider.slider-vertical{height:210px;width:20px}.slider.slider-vertical .slider-track{width:10px;height:100%;left:25%;top:0}.slider.slider-vertical .slider-selection{width:100%;left:0;top:0;bottom:0}.slider.slider-vertical .slider-track-low,.slider.slider-vertical .slider-track-high{width:100%;left:0;right:0}.slider.slider-vertical .slider-tick,.slider.slider-vertical .slider-handle{margin-top:-10px}.slider.slider-vertical .slider-tick.triangle,.slider.slider-vertical .slider-handle.triangle{border-width:10px 0 10px 10px;width:1px;height:1px;border-left-color:#2e6da4;border-right-color:#2e6da4;margin-left:0;margin-right:0}.slider.slider-vertical .slider-tick-label-container{white-space:nowrap}.slider.slider-vertical .slider-tick-label-container .slider-tick-label{padding-left:4px}.slider.slider-vertical .tooltip{-ms-transform:translateY(-50%);transform:translateY(-50%)}.slider.slider-vertical.slider-rtl .slider-track{left:initial;right:25%}.slider.slider-vertical.slider-rtl .slider-selection{left:initial;right:0}.slider.slider-vertical.slider-rtl .slider-tick.triangle,.slider.slider-vertical.slider-rtl .slider-handle.triangle{border-width:10px 10px 10px 0}.slider.slider-vertical.slider-rtl .slider-tick-label-container .slider-tick-label{padding-left:initial;padding-right:4px}.slider.slider-disabled .slider-handle{background-image:-webkit-linear-gradient(top,#dfdfdf 0,#bebebe 100%);background-image:-o-linear-gradient(top,#dfdfdf 0,#bebebe 100%);background-image:linear-gradient(to bottom,#dfdfdf 0,#bebebe 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdfdfdf',endColorstr='#ffbebebe',GradientType=0)}.slider.slider-disabled .slider-track{background-image:-webkit-linear-gradient(top,#e5e5e5 0,#e9e9e9 100%);background-image:-o-linear-gradient(top,#e5e5e5 0,#e9e9e9 100%);background-image:linear-gradient(to bottom,#e5e5e5 0,#e9e9e9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe5e5e5',endColorstr='#ffe9e9e9',GradientType=0);cursor:not-allowed}.slider input{display:none}.slider .tooltip{pointer-events:none}.slider .tooltip.top{margin-top:-36px}.slider .tooltip-inner{white-space:nowrap;max-width:none}.slider .hide{display:none}.slider-track{position:absolute;cursor:pointer;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#f9f9f9 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#f9f9f9 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#f9f9f9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);border-radius:4px}.slider-selection{position:absolute;background-image:-webkit-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#f9f9f9 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:4px}.slider-selection.tick-slider-selection{background-image:-webkit-linear-gradient(top,#8ac1ef 0,#82b3de 100%);background-image:-o-linear-gradient(top,#8ac1ef 0,#82b3de 100%);background-image:linear-gradient(to bottom,#8ac1ef 0,#82b3de 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8ac1ef',endColorstr='#ff82b3de',GradientType=0)}.slider-track-low,.slider-track-high{position:absolute;background:transparent;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:4px}.slider-handle{position:absolute;top:0;width:20px;height:20px;background-color:#337ab7;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7',endColorstr='#ff2e6da4',GradientType=0);filter:none;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);border:0 solid transparent}.slider-handle:hover{cursor:pointer}.slider-handle.round{border-radius:50%}.slider-handle.triangle{background:transparent none}.slider-handle.custom{background:transparent none}.slider-handle.custom::before{line-height:20px;font-size:20px;content:'\2605';color:#726204}.slider-tick{position:absolute;cursor:pointer;width:20px;height:20px;background-image:-webkit-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#f9f9f9 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;filter:none;opacity:.8;border:0 solid transparent}.slider-tick.round{border-radius:50%}.slider-tick.triangle{background:transparent none}.slider-tick.custom{background:transparent none}.slider-tick.custom::before{line-height:20px;font-size:20px;content:'\2605';color:#726204}.slider-tick.in-selection{background-image:-webkit-linear-gradient(top,#8ac1ef 0,#82b3de 100%);background-image:-o-linear-gradient(top,#8ac1ef 0,#82b3de 100%);background-image:linear-gradient(to bottom,#8ac1ef 0,#82b3de 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8ac1ef',endColorstr='#ff82b3de',GradientType=0);opacity:1}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/004-slider.min.css b/mailcow/src/mailcow-dockerized/data/web/css/build/004-slider.min.css
new file mode 100644
index 0000000..6cc5621
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/004-slider.min.css
@@ -0,0 +1 @@
+.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.noUi-connect{height:100%;width:100%}.noUi-origin{height:10%;width:10%}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:transform .3s;transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;top:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-connects{border-radius:3px}.noUi-connect{background:#3FB8AF}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-sub{background:#AAA}.noUi-marker-large{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0,50%);transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{-webkit-transform:translate(50%,0);transform:translate(50%,0);left:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{-webkit-transform:translate(0,-18px);transform:translate(0,-18px);top:auto;right:28px}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/005-bootstrap-switch.min.css b/mailcow/src/mailcow-dockerized/data/web/css/build/005-bootstrap-switch.min.css
deleted file mode 100644
index cbfa013..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/005-bootstrap-switch.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.
-  *
-  * @version v3.3.3
-  * @homepage http://www.bootstrap-switch.org
-  * @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)
-  * @license Apache-2.0
-  */
-
-.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:4px;border:1px solid #ccc;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;padding:6px 12px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background:#337ab7}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning{background:#f0ad4e;color:#fff}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger{color:#fff;background:#d9534f}.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default{color:#000;background:#eee}.bootstrap-switch .bootstrap-switch-label{text-align:center;margin-top:-1px;margin-bottom:-1px;z-index:100;color:#333;background:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch input[type=radio],.bootstrap-switch input[type=checkbox]{position:absolute!important;top:0;left:0;margin:0;z-index:-1;opacity:0;filter:alpha(opacity=0)}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.3333333}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;-o-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 3px 3px 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:3px 0 0 3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/006-footable.bootstrap.min.css b/mailcow/src/mailcow-dockerized/data/web/css/build/006-footable.bootstrap.min.css
index 87841b2..a04d825 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/006-footable.bootstrap.min.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/006-footable.bootstrap.min.css
@@ -1 +1,323 @@
-table.footable-details,table.footable>thead>tr.footable-filtering>th div.form-group{margin-bottom:0}table.footable,table.footable-details{position:relative;width:100%;border-spacing:0;border-collapse:collapse}table.footable-hide-fouc{display:none}table>tbody>tr>td>span.footable-toggle{margin-right:8px;opacity:.3}table>tbody>tr>td>span.footable-toggle.last-column{margin-left:8px;float:right}table.table-condensed>tbody>tr>td>span.footable-toggle{margin-right:5px}table.footable-details>tbody>tr>th:nth-child(1){min-width:40px;width:120px}table.footable-details>tbody>tr>td:nth-child(2){word-break:break-all}table.footable-details>tbody>tr:first-child>td,table.footable-details>tbody>tr:first-child>th,table.footable-details>tfoot>tr:first-child>td,table.footable-details>tfoot>tr:first-child>th,table.footable-details>thead>tr:first-child>td,table.footable-details>thead>tr:first-child>th{border-top-width:0}table.footable-details.table-bordered>tbody>tr:first-child>td,table.footable-details.table-bordered>tbody>tr:first-child>th,table.footable-details.table-bordered>tfoot>tr:first-child>td,table.footable-details.table-bordered>tfoot>tr:first-child>th,table.footable-details.table-bordered>thead>tr:first-child>td,table.footable-details.table-bordered>thead>tr:first-child>th{border-top-width:1px}div.footable-loader{vertical-align:middle;text-align:center;height:300px;position:relative}div.footable-loader>span.fooicon{display:inline-block;opacity:.3;font-size:30px;line-height:32px;width:32px;height:32px;margin-top:-16px;margin-left:-16px;position:absolute;top:50%;left:50%;-webkit-animation:fooicon-spin-r 2s infinite linear;animation:fooicon-spin-r 2s infinite linear}table.footable>tbody>tr.footable-empty>td{vertical-align:middle;text-align:center;font-size:30px}table.footable>tbody>tr>td,table.footable>tbody>tr>th{display:none}table.footable>tbody>tr.footable-detail-row>td,table.footable>tbody>tr.footable-detail-row>th,table.footable>tbody>tr.footable-empty>td,table.footable>tbody>tr.footable-empty>th{display:table-cell}@-webkit-keyframes fooicon-spin-r{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fooicon-spin-r{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fooicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings'!important;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fooicon:after,.fooicon:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fooicon-loader:before{content:"\e030"}.fooicon-plus:before{content:"\2b"}.fooicon-minus:before{content:"\2212"}.fooicon-search:before{content:"\e003"}.fooicon-remove:before{content:"\e014"}.fooicon-sort:before{content:"\e150"}.fooicon-sort-asc:before{content:"\e155"}.fooicon-sort-desc:before{content:"\e156"}.fooicon-pencil:before{content:"\270f"}.fooicon-trash:before{content:"\e020"}.fooicon-eye-close:before{content:"\e106"}.fooicon-flash:before{content:"\e162"}.fooicon-cog:before{content:"\e019"}.fooicon-stats:before{content:"\e185"}table.footable>thead>tr.footable-filtering>th{border-bottom-width:1px;font-weight:400}.footable-filtering-external.footable-filtering-right,table.footable.footable-filtering-right>thead>tr.footable-filtering>th,table.footable>thead>tr.footable-filtering>th{text-align:right}.footable-filtering-external.footable-filtering-left,table.footable.footable-filtering-left>thead>tr.footable-filtering>th{text-align:left}.footable-filtering-external.footable-filtering-center,.footable-paging-external.footable-paging-center,table.footable-paging-center>tfoot>tr.footable-paging>td,table.footable.footable-filtering-center>thead>tr.footable-filtering>th,table.footable>tfoot>tr.footable-paging>td{text-align:center}table.footable>thead>tr.footable-filtering>th div.form-group+div.form-group{margin-top:5px}table.footable>thead>tr.footable-filtering>th div.input-group{width:100%}.footable-filtering-external ul.dropdown-menu>li>a.checkbox,table.footable>thead>tr.footable-filtering>th ul.dropdown-menu>li>a.checkbox{margin:0;display:block;position:relative}.footable-filtering-external ul.dropdown-menu>li>a.checkbox>label,table.footable>thead>tr.footable-filtering>th ul.dropdown-menu>li>a.checkbox>label{display:block;padding-left:20px}.footable-filtering-external ul.dropdown-menu>li>a.checkbox input[type=checkbox],table.footable>thead>tr.footable-filtering>th ul.dropdown-menu>li>a.checkbox input[type=checkbox]{position:absolute;margin-left:-20px}@media (min-width:768px){table.footable>thead>tr.footable-filtering>th div.input-group{width:auto}table.footable>thead>tr.footable-filtering>th div.form-group{margin-left:2px;margin-right:2px}table.footable>thead>tr.footable-filtering>th div.form-group+div.form-group{margin-top:0}}table.footable>tbody>tr>td.footable-sortable,table.footable>tbody>tr>th.footable-sortable,table.footable>tfoot>tr>td.footable-sortable,table.footable>tfoot>tr>th.footable-sortable,table.footable>thead>tr>td.footable-sortable,table.footable>thead>tr>th.footable-sortable{position:relative;padding-right:30px;cursor:pointer}td.footable-sortable>span.fooicon,th.footable-sortable>span.fooicon{position:absolute;right:6px;top:50%;margin-top:-7px;opacity:0;transition:opacity .3s ease-in}td.footable-sortable.footable-asc>span.fooicon,td.footable-sortable.footable-desc>span.fooicon,td.footable-sortable:hover>span.fooicon,th.footable-sortable.footable-asc>span.fooicon,th.footable-sortable.footable-desc>span.fooicon,th.footable-sortable:hover>span.fooicon{opacity:1}table.footable-sorting-disabled td.footable-sortable.footable-asc>span.fooicon,table.footable-sorting-disabled td.footable-sortable.footable-desc>span.fooicon,table.footable-sorting-disabled td.footable-sortable:hover>span.fooicon,table.footable-sorting-disabled th.footable-sortable.footable-asc>span.fooicon,table.footable-sorting-disabled th.footable-sortable.footable-desc>span.fooicon,table.footable-sorting-disabled th.footable-sortable:hover>span.fooicon{opacity:0;visibility:hidden}.footable-paging-external ul.pagination,table.footable>tfoot>tr.footable-paging>td>ul.pagination{margin:10px 0 0}.footable-paging-external span.label,table.footable>tfoot>tr.footable-paging>td>span.label{display:inline-block;margin:0 0 10px;padding:4px 10px}.footable-paging-external.footable-paging-left,table.footable-paging-left>tfoot>tr.footable-paging>td{text-align:left}.footable-paging-external.footable-paging-right,table.footable-editing-right td.footable-editing,table.footable-editing-right tr.footable-editing,table.footable-paging-right>tfoot>tr.footable-paging>td{text-align:right}ul.pagination>li.footable-page{display:none}ul.pagination>li.footable-page.visible{display:inline}td.footable-editing{width:90px;max-width:90px}table.footable-editing-no-delete td.footable-editing,table.footable-editing-no-edit td.footable-editing,table.footable-editing-no-view td.footable-editing{width:70px;max-width:70px}table.footable-editing-no-delete.footable-editing-no-view td.footable-editing,table.footable-editing-no-edit.footable-editing-no-delete td.footable-editing,table.footable-editing-no-edit.footable-editing-no-view td.footable-editing{width:50px;max-width:50px}table.footable-editing-no-edit.footable-editing-no-delete.footable-editing-no-view td.footable-editing,table.footable-editing-no-edit.footable-editing-no-delete.footable-editing-no-view th.footable-editing{width:0;max-width:0;display:none!important}table.footable-editing-left td.footable-editing,table.footable-editing-left tr.footable-editing{text-align:left}table.footable-editing button.footable-add,table.footable-editing button.footable-hide,table.footable-editing-show button.footable-show,table.footable-editing.footable-editing-always-show button.footable-hide,table.footable-editing.footable-editing-always-show button.footable-show,table.footable-editing.footable-editing-always-show.footable-editing-no-add tr.footable-editing{display:none}table.footable-editing.footable-editing-always-show button.footable-add,table.footable-editing.footable-editing-show button.footable-add,table.footable-editing.footable-editing-show button.footable-hide{display:inline-block}
\ No newline at end of file
+table.footable-details,
+table.footable > thead > tr.footable-filtering > th div.form-group {
+  margin-bottom: 0;
+}
+table.footable,
+table.footable-details {
+  position: relative;
+  width: 100%;
+  border-spacing: 0;
+  border-collapse: collapse;
+}
+table.footable-hide-fouc {
+  display: none;
+}
+table > tbody > tr > td > span.footable-toggle {
+  margin-right: 8px;
+  opacity: 0.3;
+}
+table > tbody > tr > td > span.footable-toggle.last-column {
+  margin-left: 8px;
+  float: right;
+}
+table.table-condensed > tbody > tr > td > span.footable-toggle {
+  margin-right: 5px;
+}
+table.footable-details > tbody > tr > th:nth-child(1) {
+  min-width: 40px;
+  width: 120px;
+}
+table.footable-details > tbody > tr > td:nth-child(2) {
+  word-break: break-all;
+}
+table.footable-details > tbody > tr:first-child > td,
+table.footable-details > tbody > tr:first-child > th,
+table.footable-details > tfoot > tr:first-child > td,
+table.footable-details > tfoot > tr:first-child > th,
+table.footable-details > thead > tr:first-child > td,
+table.footable-details > thead > tr:first-child > th {
+  border-top-width: 0;
+}
+table.footable-details.table-bordered > tbody > tr:first-child > td,
+table.footable-details.table-bordered > tbody > tr:first-child > th,
+table.footable-details.table-bordered > tfoot > tr:first-child > td,
+table.footable-details.table-bordered > tfoot > tr:first-child > th,
+table.footable-details.table-bordered > thead > tr:first-child > td,
+table.footable-details.table-bordered > thead > tr:first-child > th {
+  border-top-width: 1px;
+}
+div.footable-loader {
+  vertical-align: middle;
+  text-align: center;
+  height: 300px;
+  position: relative;
+}
+div.footable-loader > span.fooicon {
+  display: inline-block;
+  opacity: 0.3;
+  font-size: 30px;
+  line-height: 32px;
+  width: 32px;
+  height: 32px;
+  margin-top: -16px;
+  margin-left: -16px;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  -webkit-animation: fooicon-spin-r 2s infinite linear;
+  animation: fooicon-spin-r 2s infinite linear;
+}
+table.footable > tbody > tr.footable-empty > td {
+  vertical-align: middle;
+  text-align: center;
+  font-size: 30px;
+}
+table.footable > tbody > tr > td,
+table.footable > tbody > tr > th {
+  display: none;
+}
+table.footable > tbody > tr.footable-detail-row > td,
+table.footable > tbody > tr.footable-detail-row > th,
+table.footable > tbody > tr.footable-empty > td,
+table.footable > tbody > tr.footable-empty > th {
+  display: table-cell;
+}
+@-webkit-keyframes fooicon-spin-r {
+  0% {
+    -webkit-transform: rotate(0);
+    transform: rotate(0);
+  }
+  100% {
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg);
+  }
+}
+@keyframes fooicon-spin-r {
+  0% {
+    -webkit-transform: rotate(0);
+    transform: rotate(0);
+  }
+  100% {
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg);
+  }
+}
+.fooicon {
+  position: relative;
+  top: 0px;
+  display: inline-block;
+  font-family: "bootstrap-icons" !important;
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+@-moz-document url-prefix() {
+  .fooicon {
+    top: 2px;
+  }
+}
+.fooicon:after,
+.fooicon:before {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.fooicon-loader:before {
+  content: "\f130";
+}
+.fooicon-plus:before {
+  content: "\f4fc";
+}
+.fooicon-minus:before {
+  content: "\f2e8";
+}
+.fooicon-search:before {
+  content: "\f52a";
+}
+.fooicon-remove:before {
+  content: "\f62a";
+}
+.fooicon-sort:before {
+  content: "\f3c6";
+}
+.fooicon-sort-asc:before {
+  content: "\f575";
+}
+.fooicon-sort-desc:before {
+  content: "\f57b";
+}
+.fooicon-pencil:before {
+  content: "\f4c9";
+}
+.fooicon-trash:before {
+  content: "\f62a";
+}
+.fooicon-eye-close:before {
+  content: "\f33f";
+}
+.fooicon-flash:before {
+  content: "\f46e";
+}
+.fooicon-cog:before {
+  content: "\f3e2";
+}
+.fooicon-stats:before {
+  content: "\f359";
+}
+table.footable > thead > tr.footable-filtering > th {
+  border-bottom-width: 1px;
+  font-weight: 400;
+}
+.footable-filtering-external.footable-filtering-right,
+table.footable.footable-filtering-right > thead > tr.footable-filtering > th,
+table.footable > thead > tr.footable-filtering > th {
+  text-align: right;
+}
+.footable-filtering-external.footable-filtering-left,
+table.footable.footable-filtering-left > thead > tr.footable-filtering > th {
+  text-align: left;
+}
+.footable-filtering-external.footable-filtering-center,
+.footable-paging-external.footable-paging-center,
+table.footable-paging-center > tfoot > tr.footable-paging > td,
+table.footable.footable-filtering-center > thead > tr.footable-filtering > th,
+table.footable > tfoot > tr.footable-paging > td {
+  text-align: center;
+}
+table.footable > thead > tr.footable-filtering > th div.form-group + div.form-group {
+  margin-top: 5px;
+}
+table.footable > thead > tr.footable-filtering > th div.input-group {
+  width: 100%;
+}
+.footable-filtering-external ul.dropdown-menu > li > a.checkbox,
+table.footable > thead > tr.footable-filtering > th ul.dropdown-menu > li > a.checkbox {
+  margin: 0;
+  display: block;
+  position: relative;
+}
+.footable-filtering-external ul.dropdown-menu > li > a.checkbox > label,
+table.footable > thead > tr.footable-filtering > th ul.dropdown-menu > li > a.checkbox > label {
+  display: block;
+  padding-left: 20px;
+}
+.footable-filtering-external ul.dropdown-menu > li > a.checkbox input[type="checkbox"],
+table.footable > thead > tr.footable-filtering > th ul.dropdown-menu > li > a.checkbox input[type="checkbox"] {
+  position: absolute;
+  margin-left: -20px;
+}
+@media (min-width: 768px) {
+  table.footable > thead > tr.footable-filtering > th div.input-group {
+    width: auto;
+  }
+  table.footable > thead > tr.footable-filtering > th div.form-group {
+    margin-left: 2px;
+    margin-right: 2px;
+  }
+  table.footable > thead > tr.footable-filtering > th div.form-group + div.form-group {
+    margin-top: 0;
+  }
+}
+table.footable > tbody > tr > td.footable-sortable,
+table.footable > tbody > tr > th.footable-sortable,
+table.footable > tfoot > tr > td.footable-sortable,
+table.footable > tfoot > tr > th.footable-sortable,
+table.footable > thead > tr > td.footable-sortable,
+table.footable > thead > tr > th.footable-sortable {
+  position: relative;
+  padding-right: 30px;
+  cursor: pointer;
+}
+td.footable-sortable > span.fooicon,
+th.footable-sortable > span.fooicon {
+  position: absolute;
+  right: 6px;
+  top: 50%;
+  margin-top: -7px;
+  opacity: 0;
+  transition: opacity 0.3s ease-in;
+}
+td.footable-sortable.footable-asc > span.fooicon,
+td.footable-sortable.footable-desc > span.fooicon,
+td.footable-sortable:hover > span.fooicon,
+th.footable-sortable.footable-asc > span.fooicon,
+th.footable-sortable.footable-desc > span.fooicon,
+th.footable-sortable:hover > span.fooicon {
+  opacity: 1;
+}
+table.footable-sorting-disabled td.footable-sortable.footable-asc > span.fooicon,
+table.footable-sorting-disabled td.footable-sortable.footable-desc > span.fooicon,
+table.footable-sorting-disabled td.footable-sortable:hover > span.fooicon,
+table.footable-sorting-disabled th.footable-sortable.footable-asc > span.fooicon,
+table.footable-sorting-disabled th.footable-sortable.footable-desc > span.fooicon,
+table.footable-sorting-disabled th.footable-sortable:hover > span.fooicon {
+  opacity: 0;
+  visibility: hidden;
+}
+.footable-paging-external ul.pagination,
+table.footable > tfoot > tr.footable-paging > td > ul.pagination {
+  margin: 10px 0 0;
+}
+.footable-paging-external span.label,
+table.footable > tfoot > tr.footable-paging > td > span.label {
+  display: inline-block;
+  margin: 0 0 10px;
+  padding: 4px 10px;
+}
+.footable-paging-external.footable-paging-left,
+table.footable-paging-left > tfoot > tr.footable-paging > td {
+  text-align: left;
+}
+.footable-paging-external.footable-paging-right,
+table.footable-editing-right td.footable-editing,
+table.footable-editing-right tr.footable-editing,
+table.footable-paging-right > tfoot > tr.footable-paging > td {
+  text-align: right;
+}
+ul.pagination > li.footable-page {
+  display: none;
+}
+ul.pagination > li.footable-page.visible {
+  display: inline;
+}
+td.footable-editing {
+  width: 90px;
+  max-width: 90px;
+}
+table.footable-editing-no-delete td.footable-editing,
+table.footable-editing-no-edit td.footable-editing,
+table.footable-editing-no-view td.footable-editing {
+  width: 70px;
+  max-width: 70px;
+}
+table.footable-editing-no-delete.footable-editing-no-view td.footable-editing,
+table.footable-editing-no-edit.footable-editing-no-delete td.footable-editing,
+table.footable-editing-no-edit.footable-editing-no-view td.footable-editing {
+  width: 50px;
+  max-width: 50px;
+}
+table.footable-editing-no-edit.footable-editing-no-delete.footable-editing-no-view td.footable-editing,
+table.footable-editing-no-edit.footable-editing-no-delete.footable-editing-no-view th.footable-editing {
+  width: 0;
+  max-width: 0;
+  display: none !important;
+}
+table.footable-editing-left td.footable-editing,
+table.footable-editing-left tr.footable-editing {
+  text-align: left;
+}
+table.footable-editing button.footable-add,
+table.footable-editing button.footable-hide,
+table.footable-editing-show button.footable-show,
+table.footable-editing.footable-editing-always-show button.footable-hide,
+table.footable-editing.footable-editing-always-show button.footable-show,
+table.footable-editing.footable-editing-always-show.footable-editing-no-add tr.footable-editing {
+  display: none;
+}
+table.footable-editing.footable-editing-always-show button.footable-add,
+table.footable-editing.footable-editing-show button.footable-add,
+table.footable-editing.footable-editing-show button.footable-hide {
+  display: inline-block;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/007-languages.min.css b/mailcow/src/mailcow-dockerized/data/web/css/build/007-languages.min.css
index 2c6a926..a081cac 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/007-languages.min.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/007-languages.min.css
@@ -1 +1 @@
-.lang-lg,.lang-sm,.lang-xs{background-repeat:no-repeat;display:inline-block;background-image:url(/img/languages.png)}.lang-sm,.lang-sm:after,.lang-xs,.lang-xs:after{position:relative}.lang-xs{background-position:0 -484px;min-width:14px;height:11px;min-height:11px;max-height:11px}.lang-sm{background-position:0 -1199px;min-width:22px;height:16px;min-height:16px;max-height:16px}.lang-lg{background-position:0 -2134px;min-width:30px;height:22px;min-height:22px;max-height:22px}.lang-xs[lang=ar]{background-position:0 0}.lang-xs[lang=be]{background-position:0 -11px}.lang-xs[lang=bg]{background-position:0 -22px}.lang-xs[lang=cs]{background-position:0 -33px}.lang-xs[lang=da]{background-position:0 -44px}.lang-xs[lang=de]{background-position:0 -55px}.lang-xs[lang=el]{background-position:0 -66px}.lang-xs[lang=en]{background-position:0 -77px}.lang-xs[lang=es]{background-position:0 -88px}.lang-xs[lang=et]{background-position:0 -99px}.lang-xs[lang=fi]{background-position:0 -110px}.lang-xs[lang=fr]{background-position:0 -121px}.lang-xs[lang=ga]{background-position:0 -132px}.lang-xs[lang=hi]{background-position:0 -143px}.lang-xs[lang=hr]{background-position:0 -154px}.lang-xs[lang=hu]{background-position:0 -165px}.lang-xs[lang=in]{background-position:0 -176px}.lang-xs[lang=is]{background-position:0 -187px}.lang-xs[lang=it]{background-position:0 -198px}.lang-xs[lang=iw]{background-position:0 -209px}.lang-xs[lang=ja]{background-position:0 -220px}.lang-xs[lang=ko]{background-position:0 -231px}.lang-xs[lang=lt]{background-position:0 -242px}.lang-xs[lang=lv]{background-position:0 -253px}.lang-xs[lang=mk]{background-position:0 -264px}.lang-xs[lang=ms]{background-position:0 -275px}.lang-xs[lang=mt]{background-position:0 -286px}.lang-xs[lang=nl]{background-position:0 -297px}.lang-xs[lang=no]{background-position:0 -308px}.lang-xs[lang=pl]{background-position:0 -319px}.lang-xs[lang=pt]{background-position:0 -330px}.lang-xs[lang=ro]{background-position:0 -341px}.lang-xs[lang=ru]{background-position:0 -352px}.lang-xs[lang=sk]{background-position:0 -363px}.lang-xs[lang=sl]{background-position:0 -374px}.lang-xs[lang=sq]{background-position:0 -385px}.lang-xs[lang=sr]{background-position:0 -396px}.lang-xs[lang=sv]{background-position:0 -407px}.lang-xs[lang=th]{background-position:0 -418px}.lang-xs[lang=tr]{background-position:0 -429px}.lang-xs[lang=uk]{background-position:0 -440px}.lang-xs[lang=vi]{background-position:0 -451px}.lang-xs[lang=zh]{background-position:0 -462px}.lang-xs[lang=ca]{background-position:0 -473px}.lang-sm[lang=ar]{background-position:0 -495px}.lang-sm[lang=be]{background-position:0 -511px}.lang-sm[lang=bg]{background-position:0 -527px}.lang-sm[lang=cs]{background-position:0 -543px}.lang-sm[lang=da]{background-position:0 -559px}.lang-sm[lang=de]{background-position:0 -575px}.lang-sm[lang=el]{background-position:0 -591px}.lang-sm[lang=en]{background-position:0 -607px}.lang-sm[lang=es]{background-position:0 -623px}.lang-sm[lang=et]{background-position:0 -639px}.lang-sm[lang=fi]{background-position:0 -655px}.lang-sm[lang=fr]{background-position:0 -671px}.lang-sm[lang=ga]{background-position:0 -687px}.lang-sm[lang=hi]{background-position:0 -703px}.lang-sm[lang=hr]{background-position:0 -719px}.lang-sm[lang=hu]{background-position:0 -735px}.lang-sm[lang=in]{background-position:0 -751px}.lang-sm[lang=is]{background-position:0 -767px}.lang-sm[lang=it]{background-position:0 -783px}.lang-sm[lang=iw]{background-position:0 -799px}.lang-sm[lang=ja]{background-position:0 -815px}.lang-sm[lang=ko]{background-position:0 -831px}.lang-sm[lang=lt]{background-position:0 -847px}.lang-sm[lang=lv]{background-position:0 -863px}.lang-sm[lang=mk]{background-position:0 -879px}.lang-sm[lang=ms]{background-position:0 -895px}.lang-sm[lang=mt]{background-position:0 -911px}.lang-sm[lang=nl]{background-position:0 -927px}.lang-sm[lang=no]{background-position:0 -943px}.lang-sm[lang=pl]{background-position:0 -959px}.lang-sm[lang=pt]{background-position:0 -975px}.lang-sm[lang=ro]{background-position:0 -991px}.lang-sm[lang=ru]{background-position:0 -1007px}.lang-sm[lang=sk]{background-position:0 -1023px}.lang-sm[lang=sl]{background-position:0 -1039px}.lang-sm[lang=sq]{background-position:0 -1055px}.lang-sm[lang=sr]{background-position:0 -1071px}.lang-sm[lang=sv]{background-position:0 -1087px}.lang-sm[lang=th]{background-position:0 -1103px}.lang-sm[lang=tr]{background-position:0 -1119px}.lang-sm[lang=uk]{background-position:0 -1135px}.lang-sm[lang=vi]{background-position:0 -1151px}.lang-sm[lang=zh]{background-position:0 -1167px}.lang-sm[lang=ca]{background-position:0 -1183px}.lang-lg[lang=ar]{background-position:0 -1188px}.lang-lg[lang=be]{background-position:0 -1210px}.lang-lg[lang=bg]{background-position:0 -1232px}.lang-lg[lang=cs]{background-position:0 -1254px}.lang-lg[lang=da]{background-position:0 -1276px}.lang-lg[lang=de]{background-position:0 -1298px}.lang-lg[lang=el]{background-position:0 -1320px}.lang-lg[lang=en]{background-position:0 -1342px}.lang-lg[lang=es]{background-position:0 -1364px}.lang-lg[lang=et]{background-position:0 -1386px}.lang-lg[lang=fi]{background-position:0 -1408px}.lang-lg[lang=fr]{background-position:0 -1430px}.lang-lg[lang=ga]{background-position:0 -1452px}.lang-lg[lang=hi]{background-position:0 -1474px}.lang-lg[lang=hr]{background-position:0 -1496px}.lang-lg[lang=hu]{background-position:0 -1518px}.lang-lg[lang=in]{background-position:0 -1540px}.lang-lg[lang=is]{background-position:0 -1562px}.lang-lg[lang=it]{background-position:0 -1584px}.lang-lg[lang=iw]{background-position:0 -1606px}.lang-lg[lang=ja]{background-position:0 -1628px}.lang-lg[lang=ko]{background-position:0 -1650px}.lang-lg[lang=lt]{background-position:0 -1672px}.lang-lg[lang=lv]{background-position:0 -1694px}.lang-lg[lang=mk]{background-position:0 -1716px}.lang-lg[lang=ms]{background-position:0 -1738px}.lang-lg[lang=mt]{background-position:0 -1760px}.lang-lg[lang=nl]{background-position:0 -1782px}.lang-lg[lang=no]{background-position:0 -1804px}.lang-lg[lang=pl]{background-position:0 -1826px}.lang-lg[lang=pt]{background-position:0 -1848px}.lang-lg[lang=ro]{background-position:0 -1870px}.lang-lg[lang=ru]{background-position:0 -1892px}.lang-lg[lang=sk]{background-position:0 -1914px}.lang-lg[lang=sl]{background-position:0 -1936px}.lang-lg[lang=sq]{background-position:0 -1958px}.lang-lg[lang=sr]{background-position:0 -1980px}.lang-lg[lang=sv]{background-position:0 -2002px}.lang-lg[lang=th]{background-position:0 -2024px}.lang-lg[lang=tr]{background-position:0 -2046px}.lang-lg[lang=uk]{background-position:0 -2068px}.lang-lg[lang=vi]{background-position:0 -2090px}.lang-lg[lang=zh]{background-position:0 -2112px}.lang-lbl-en:after,.lang-lbl-full:after,.lang-lbl:after{content:"Unknown language"}.lang-lbl[lang=ar]:after{content:"\000627\000644\000639\000631\000628\00064A\000629"}.lang-lbl[lang=be]:after{content:"\000411\000435\00043B\000430\000440\000443\000441\00043A\000456"}.lang-lbl[lang=bg]:after{content:"\000411\00044A\00043B\000433\000430\000440\000441\00043A\000438"}.lang-lbl[lang=ca]:after{content:"Catal\0000E0"}.lang-lbl[lang=cs]:after{content:"\00010Ce\000161tina"}.lang-lbl[lang=da]:after{content:"Dansk"}.lang-lbl[lang=de]:after{content:"Deutsch"}.lang-lbl[lang=el]:after{content:"\000395\0003BB\0003BB\0003B7\0003BD\0003B9\0003BA\0003AC"}.lang-lbl[lang=en]:after{content:"English"}.lang-lbl[lang=es]:after{content:"Espa\0000F1ol"}.lang-lbl[lang=et]:after{content:"Eesti"}.lang-lbl[lang=fi]:after{content:"Suomi"}.lang-lbl[lang=fr]:after{content:"Fran\0000E7ais"}.lang-lbl[lang=ga]:after{content:"Gaeilge"}.lang-lbl[lang=hi]:after{content:"\000939\00093F\000902\000926\000940"}.lang-lbl[lang=hr]:after{content:"Hrvatski"}.lang-lbl[lang=hu]:after{content:"Magyar"}.lang-lbl[lang=in]:after{content:"Bahasa\000020indonesia"}.lang-lbl[lang=is]:after{content:"\0000CDslenska"}.lang-lbl[lang=it]:after{content:"Italiano"}.lang-lbl[lang=iw]:after{content:"\0005E2\0005D1\0005E8\0005D9\0005EA"}.lang-lbl[lang=ja]:after{content:"\0065E5\00672C\008A9E"}.lang-lbl[lang=ko]:after{content:"\00D55C\00AD6D\00C5B4"}.lang-lbl[lang=lt]:after{content:"Lietuvi\000173"}.lang-lbl[lang=lv]:after{content:"Latvie\000161u"}.lang-lbl[lang=mk]:after{content:"\00041C\000430\00043A\000435\000434\00043E\00043D\000441\00043A\000438"}.lang-lbl[lang=ms]:after{content:"Bahasa\000020melayu"}.lang-lbl[lang=mt]:after{content:"Malti"}.lang-lbl[lang=nl]:after{content:"Nederlands"}.lang-lbl[lang=no]:after{content:"Norsk"}.lang-lbl[lang=pl]:after{content:"Polski"}.lang-lbl[lang=pt]:after{content:"Portugu\0000EAs"}.lang-lbl[lang=ro]:after{content:"Rom\0000E2n\000103"}.lang-lbl[lang=ru]:after{content:"\000420\000443\000441\000441\00043A\000438\000439"}.lang-lbl[lang=sk]:after{content:"Sloven\00010Dina"}.lang-lbl[lang=sl]:after{content:"Sloven\000161\00010Dina"}.lang-lbl[lang=sq]:after{content:"Shqipe"}.lang-lbl[lang=sr]:after{content:"\000421\000440\00043F\000441\00043A\000438"}.lang-lbl[lang=sv]:after{content:"Svenska"}.lang-lbl[lang=th]:after{content:"\000E44\000E17\000E22"}.lang-lbl[lang=tr]:after{content:"T\0000FCrk\0000E7e"}.lang-lbl[lang=uk]:after{content:"\000423\00043A\000440\000430\000457\00043D\000441\00044C\00043A\000430"}.lang-lbl[lang=vi]:after{content:"Ti\001EBFng\000020vi\001EC7t"}.lang-lbl[lang=zh]:after{content:"\004E2D\006587"}.lang-lbl-en[lang=ar]:after{content:"Arabic"}.lang-lbl-en[lang=be]:after{content:"Belarusian"}.lang-lbl-en[lang=bg]:after{content:"Bulgarian"}.lang-lbl-en[lang=ca]:after{content:"Catalan"}.lang-lbl-en[lang=cs]:after{content:"Czech"}.lang-lbl-en[lang=da]:after{content:"Danish"}.lang-lbl-en[lang=de]:after{content:"German"}.lang-lbl-en[lang=el]:after{content:"Greek"}.lang-lbl-en[lang=en]:after{content:"English"}.lang-lbl-en[lang=es]:after{content:"Spanish"}.lang-lbl-en[lang=et]:after{content:"Estonian"}.lang-lbl-en[lang=fi]:after{content:"Finnish"}.lang-lbl-en[lang=fr]:after{content:"French"}.lang-lbl-en[lang=ga]:after{content:"Irish"}.lang-lbl-en[lang=hi]:after{content:"Hindi"}.lang-lbl-en[lang=hr]:after{content:"Croatian"}.lang-lbl-en[lang=hu]:after{content:"Hungarian"}.lang-lbl-en[lang=in]:after{content:"Indonesian"}.lang-lbl-en[lang=is]:after{content:"Icelandic"}.lang-lbl-en[lang=it]:after{content:"Italian"}.lang-lbl-en[lang=iw]:after{content:"Hebrew"}.lang-lbl-en[lang=ja]:after{content:"Japanese"}.lang-lbl-en[lang=ko]:after{content:"Korean"}.lang-lbl-en[lang=lt]:after{content:"Lithuanian"}.lang-lbl-en[lang=lv]:after{content:"Latvian"}.lang-lbl-en[lang=mk]:after{content:"Macedonian"}.lang-lbl-en[lang=ms]:after{content:"Malay"}.lang-lbl-en[lang=mt]:after{content:"Maltese"}.lang-lbl-en[lang=nl]:after{content:"Dutch"}.lang-lbl-en[lang=no]:after{content:"Norwegian"}.lang-lbl-en[lang=pl]:after{content:"Polish"}.lang-lbl-en[lang=pt]:after{content:"Portuguese"}.lang-lbl-en[lang=ro]:after{content:"Romanian"}.lang-lbl-en[lang=ru]:after{content:"Russian"}.lang-lbl-en[lang=sk]:after{content:"Slovak"}.lang-lbl-en[lang=sl]:after{content:"Slovenian"}.lang-lbl-en[lang=sq]:after{content:"Albanian"}.lang-lbl-en[lang=sr]:after{content:"Serbian"}.lang-lbl-en[lang=sv]:after{content:"Swedish"}.lang-lbl-en[lang=th]:after{content:"Thai"}.lang-lbl-en[lang=tr]:after{content:"Turkish"}.lang-lbl-en[lang=uk]:after{content:"Ukrainian"}.lang-lbl-en[lang=vi]:after{content:"Vietnamese"}.lang-lbl-en[lang=zh]:after{content:"Chinese"}.lang-lbl-full[lang=ar]:after{content:"\000627\000644\000639\000631\000628\00064A\000629\0000A0/\0000A0Arabic"}.lang-lbl-full[lang=be]:after{content:"\000411\000435\00043B\000430\000440\000443\000441\00043A\000456\0000A0/\0000A0Belarusian"}.lang-lbl-full[lang=bg]:after{content:"\000411\00044A\00043B\000433\000430\000440\000441\00043A\000438\0000A0/\0000A0Bulgarian"}.lang-lbl-full[lang=ca]:after{content:"Catal\0000E0\0000A0/\0000A0Catalan"}.lang-lbl-full[lang=cs]:after{content:"\00010Ce\000161tina\0000A0/\0000A0Czech"}.lang-lbl-full[lang=da]:after{content:"Dansk\0000A0/\0000A0Danish"}.lang-lbl-full[lang=de]:after{content:"Deutsch\0000A0/\0000A0German"}.lang-lbl-full[lang=el]:after{content:"\000395\0003BB\0003BB\0003B7\0003BD\0003B9\0003BA\0003AC\0000A0/\0000A0Greek"}.lang-lbl-full[lang=en]:after{content:"English\0000A0/\0000A0English"}.lang-lbl-full[lang=es]:after{content:"Espa\0000F1ol\0000A0/\0000A0Spanish"}.lang-lbl-full[lang=et]:after{content:"Eesti\0000A0/\0000A0Estonian"}.lang-lbl-full[lang=fi]:after{content:"Suomi\0000A0/\0000A0Finnish"}.lang-lbl-full[lang=fr]:after{content:"Fran\0000E7ais\0000A0/\0000A0French"}.lang-lbl-full[lang=ga]:after{content:"Gaeilge\0000A0/\0000A0Irish"}.lang-lbl-full[lang=hi]:after{content:"\000939\00093F\000902\000926\000940\0000A0/\0000A0Hindi"}.lang-lbl-full[lang=hr]:after{content:"Hrvatski\0000A0/\0000A0Croatian"}.lang-lbl-full[lang=hu]:after{content:"Magyar\0000A0/\0000A0Hungarian"}.lang-lbl-full[lang=in]:after{content:"Bahasa\000020indonesia\0000A0/\0000A0Indonesian"}.lang-lbl-full[lang=is]:after{content:"\0000CDslenska\0000A0/\0000A0Icelandic"}.lang-lbl-full[lang=it]:after{content:"Italiano\0000A0/\0000A0Italian"}.lang-lbl-full[lang=iw]:after{content:"\0005E2\0005D1\0005E8\0005D9\0005EA\0000A0/\0000A0Hebrew"}.lang-lbl-full[lang=ja]:after{content:"\0065E5\00672C\008A9E\0000A0/\0000A0Japanese"}.lang-lbl-full[lang=ko]:after{content:"\00D55C\00AD6D\00C5B4\0000A0/\0000A0Korean"}.lang-lbl-full[lang=lt]:after{content:"Lietuvi\000173\0000A0/\0000A0Lithuanian"}.lang-lbl-full[lang=lv]:after{content:"Latvie\000161u\0000A0/\0000A0Latvian"}.lang-lbl-full[lang=mk]:after{content:"\00041C\000430\00043A\000435\000434\00043E\00043D\000441\00043A\000438\0000A0/\0000A0Macedonian"}.lang-lbl-full[lang=ms]:after{content:"Bahasa\000020melayu\0000A0/\0000A0Malay"}.lang-lbl-full[lang=mt]:after{content:"Malti\0000A0/\0000A0Maltese"}.lang-lbl-full[lang=nl]:after{content:"Nederlands\0000A0/\0000A0Dutch"}.lang-lbl-full[lang=no]:after{content:"Norsk\0000A0/\0000A0Norwegian"}.lang-lbl-full[lang=pl]:after{content:"Polski\0000A0/\0000A0Polish"}.lang-lbl-full[lang=pt]:after{content:"Portugu\0000EAs\0000A0/\0000A0Portuguese"}.lang-lbl-full[lang=ro]:after{content:"Rom\0000E2n\000103\0000A0/\0000A0Romanian"}.lang-lbl-full[lang=ru]:after{content:"\000420\000443\000441\000441\00043A\000438\000439\0000A0/\0000A0Russian"}.lang-lbl-full[lang=sk]:after{content:"Sloven\00010Dina\0000A0/\0000A0Slovak"}.lang-lbl-full[lang=sl]:after{content:"Sloven\000161\00010Dina\0000A0/\0000A0Slovenian"}.lang-lbl-full[lang=sq]:after{content:"Shqipe\0000A0/\0000A0Albanian"}.lang-lbl-full[lang=sr]:after{content:"\000421\000440\00043F\000441\00043A\000438\0000A0/\0000A0Serbian"}.lang-lbl-full[lang=sv]:after{content:"Svenska\0000A0/\0000A0Swedish"}.lang-lbl-full[lang=th]:after{content:"\000E44\000E17\000E22\0000A0/\0000A0Thai"}.lang-lbl-full[lang=tr]:after{content:"T\0000FCrk\0000E7e\0000A0/\0000A0Turkish"}.lang-lbl-full[lang=uk]:after{content:"\000423\00043A\000440\000430\000457\00043D\000441\00044C\00043A\000430\0000A0/\0000A0Ukrainian"}.lang-lbl-full[lang=vi]:after{content:"Ti\001EBFng\000020vi\001EC7t\0000A0/\0000A0Vietnamese"}.lang-lbl-full[lang=zh]:after{content:"\004E2D\006587\0000A0/\0000A0Chinese"}.lang-lg:before,.lang-sm:before,.lang-xs:before{content:'\0000A0'}.lang-xs.lang-lbl,.lang-xs.lang-lbl-en,.lang-xs.lang-lbl-full{padding-left:16px}.lang-sm.lang-lbl,.lang-sm.lang-lbl-en,.lang-sm.lang-lbl-full{padding-left:24px}.lang-lg.lang-lbl,.lang-lg.lang-lbl-en,.lang-lg.lang-lbl-full{padding-left:32px}.lang-lg.lang-lbl-en:before,.lang-lg.lang-lbl-full:before,.lang-lg.lang-lbl:before,.lang-sm.lang-lbl-en:before,.lang-sm.lang-lbl-full:before,.lang-sm.lang-lbl:before,.lang-xs.lang-lbl-en:before,.lang-xs.lang-lbl-full:before,.lang-xs.lang-lbl:before{content:''}.lang-lg,.lang-lg:after{top:0;position:relative}.lang-sm{top:1px}.lang-sm:after{top:-1px}.lang-xs{top:4px}.lang-xs:after{top:-4px}.lead>.lang-lg{top:2px}.lead>.lang-lg:after{top:-2px}.lead>.lang-sm{top:6px}.lead>.lang-sm:after{top:-6px}.lead>.lang-xs{top:8px}.lead>.lang-xs:after{top:-8px}small>.lang-sm{top:-1px}small>.lang-sm:after{top:1px}small>.lang-xs{top:2px}small>.lang-xs:after{top:-2px}h1>.lang-lg{top:9px}h1>.lang-lg:after{top:-9px}h1>.lang-sm{top:12px}h1>.lang-sm:after{top:-12px}h1>.lang-xs{top:14px}h1>.lang-xs:after{top:-14px}h2>.lang-lg{top:5px}h2>.lang-lg:after{top:-5px}h2>.lang-sm{top:8px}h2>.lang-sm:after{top:-8px}h2>.lang-xs{top:10px}h2>.lang-xs:after{top:-10px}h3>.lang-lg{top:1px}h3>.lang-lg:after{top:-1px}h3>.lang-sm{top:5px}h3>.lang-sm:after{top:-5px}h3>.lang-xs{top:8px}h3>.lang-xs:after{top:-8px}h4>.lang-lg{top:-1px}h4>.lang-lg:after,h4>.lang-sm{top:1px}h4>.lang-sm:after{top:-1px}h4>.lang-xs{top:4px}h4>.lang-xs:after{top:-4px}h5>.lang-sm,h5>.lang-sm:after{top:0}h5>.lang-xs{top:2px}h5>.lang-xs:after{top:-2px}h6>.lang-sm,h6>.lang-sm:after{top:0}h6>.lang-xs{top:1px}h6>.lang-xs:after{top:-1px}.btn>.lang-sm{top:2px}.btn>.lang-sm:after{top:-2px}.btn>.lang-xs{top:4px}.btn>.lang-xs:after{top:-4px}.btn.btn-xs>.lang-sm,.btn.btn-xs>.lang-sm:after{top:0}.btn.btn-xs>.lang-xs{top:3px}.btn.btn-xs>.lang-xs:after{top:-3px}.btn.btn-sm>.lang-sm,.btn.btn-sm>.lang-sm:after{top:0}.btn.btn-sm>.lang-xs{top:3px}.btn.btn-sm>.lang-xs:after{top:-3px}.btn.btn-lg>.lang-lg{top:1px}.btn.btn-lg>.lang-lg:after{top:-1px}.btn.btn-lg>.lang-sm{top:3px}.btn.btn-lg>.lang-sm:after{top:-3px}.btn.btn-lg>.lang-xs{top:6px}.btn.btn-lg>.lang-xs:after{top:-6px}
\ No newline at end of file
+.flag-icon-background{background-size:contain;background-position:50%;background-repeat:no-repeat}.flag-icon{background-size:contain;background-position:50%;background-repeat:no-repeat;position:relative;display:inline-block;width:1.33333333em;line-height:1em}.flag-icon:before{content:'\00a0'}.flag-icon.flag-icon-squared{width:1em}.flag-icon-ad{background-image:url(../flags/4x3/ad.svg)}.flag-icon-ad.flag-icon-squared{background-image:url(../flags/1x1/ad.svg)}.flag-icon-ae{background-image:url(../flags/4x3/ae.svg)}.flag-icon-ae.flag-icon-squared{background-image:url(../flags/1x1/ae.svg)}.flag-icon-af{background-image:url(../flags/4x3/af.svg)}.flag-icon-af.flag-icon-squared{background-image:url(../flags/1x1/af.svg)}.flag-icon-ag{background-image:url(../flags/4x3/ag.svg)}.flag-icon-ag.flag-icon-squared{background-image:url(../flags/1x1/ag.svg)}.flag-icon-ai{background-image:url(../flags/4x3/ai.svg)}.flag-icon-ai.flag-icon-squared{background-image:url(../flags/1x1/ai.svg)}.flag-icon-al{background-image:url(../flags/4x3/al.svg)}.flag-icon-al.flag-icon-squared{background-image:url(../flags/1x1/al.svg)}.flag-icon-am{background-image:url(../flags/4x3/am.svg)}.flag-icon-am.flag-icon-squared{background-image:url(../flags/1x1/am.svg)}.flag-icon-ao{background-image:url(../flags/4x3/ao.svg)}.flag-icon-ao.flag-icon-squared{background-image:url(../flags/1x1/ao.svg)}.flag-icon-aq{background-image:url(../flags/4x3/aq.svg)}.flag-icon-aq.flag-icon-squared{background-image:url(../flags/1x1/aq.svg)}.flag-icon-ar{background-image:url(../flags/4x3/ar.svg)}.flag-icon-ar.flag-icon-squared{background-image:url(../flags/1x1/ar.svg)}.flag-icon-as{background-image:url(../flags/4x3/as.svg)}.flag-icon-as.flag-icon-squared{background-image:url(../flags/1x1/as.svg)}.flag-icon-at{background-image:url(../flags/4x3/at.svg)}.flag-icon-at.flag-icon-squared{background-image:url(../flags/1x1/at.svg)}.flag-icon-au{background-image:url(../flags/4x3/au.svg)}.flag-icon-au.flag-icon-squared{background-image:url(../flags/1x1/au.svg)}.flag-icon-aw{background-image:url(../flags/4x3/aw.svg)}.flag-icon-aw.flag-icon-squared{background-image:url(../flags/1x1/aw.svg)}.flag-icon-ax{background-image:url(../flags/4x3/ax.svg)}.flag-icon-ax.flag-icon-squared{background-image:url(../flags/1x1/ax.svg)}.flag-icon-az{background-image:url(../flags/4x3/az.svg)}.flag-icon-az.flag-icon-squared{background-image:url(../flags/1x1/az.svg)}.flag-icon-ba{background-image:url(../flags/4x3/ba.svg)}.flag-icon-ba.flag-icon-squared{background-image:url(../flags/1x1/ba.svg)}.flag-icon-bb{background-image:url(../flags/4x3/bb.svg)}.flag-icon-bb.flag-icon-squared{background-image:url(../flags/1x1/bb.svg)}.flag-icon-bd{background-image:url(../flags/4x3/bd.svg)}.flag-icon-bd.flag-icon-squared{background-image:url(../flags/1x1/bd.svg)}.flag-icon-be{background-image:url(../flags/4x3/be.svg)}.flag-icon-be.flag-icon-squared{background-image:url(../flags/1x1/be.svg)}.flag-icon-bf{background-image:url(../flags/4x3/bf.svg)}.flag-icon-bf.flag-icon-squared{background-image:url(../flags/1x1/bf.svg)}.flag-icon-bg{background-image:url(../flags/4x3/bg.svg)}.flag-icon-bg.flag-icon-squared{background-image:url(../flags/1x1/bg.svg)}.flag-icon-bh{background-image:url(../flags/4x3/bh.svg)}.flag-icon-bh.flag-icon-squared{background-image:url(../flags/1x1/bh.svg)}.flag-icon-bi{background-image:url(../flags/4x3/bi.svg)}.flag-icon-bi.flag-icon-squared{background-image:url(../flags/1x1/bi.svg)}.flag-icon-bj{background-image:url(../flags/4x3/bj.svg)}.flag-icon-bj.flag-icon-squared{background-image:url(../flags/1x1/bj.svg)}.flag-icon-bl{background-image:url(../flags/4x3/bl.svg)}.flag-icon-bl.flag-icon-squared{background-image:url(../flags/1x1/bl.svg)}.flag-icon-bm{background-image:url(../flags/4x3/bm.svg)}.flag-icon-bm.flag-icon-squared{background-image:url(../flags/1x1/bm.svg)}.flag-icon-bn{background-image:url(../flags/4x3/bn.svg)}.flag-icon-bn.flag-icon-squared{background-image:url(../flags/1x1/bn.svg)}.flag-icon-bo{background-image:url(../flags/4x3/bo.svg)}.flag-icon-bo.flag-icon-squared{background-image:url(../flags/1x1/bo.svg)}.flag-icon-bq{background-image:url(../flags/4x3/bq.svg)}.flag-icon-bq.flag-icon-squared{background-image:url(../flags/1x1/bq.svg)}.flag-icon-br{background-image:url(../flags/4x3/br.svg)}.flag-icon-br.flag-icon-squared{background-image:url(../flags/1x1/br.svg)}.flag-icon-bs{background-image:url(../flags/4x3/bs.svg)}.flag-icon-bs.flag-icon-squared{background-image:url(../flags/1x1/bs.svg)}.flag-icon-bt{background-image:url(../flags/4x3/bt.svg)}.flag-icon-bt.flag-icon-squared{background-image:url(../flags/1x1/bt.svg)}.flag-icon-bv{background-image:url(../flags/4x3/bv.svg)}.flag-icon-bv.flag-icon-squared{background-image:url(../flags/1x1/bv.svg)}.flag-icon-bw{background-image:url(../flags/4x3/bw.svg)}.flag-icon-bw.flag-icon-squared{background-image:url(../flags/1x1/bw.svg)}.flag-icon-by{background-image:url(../flags/4x3/by.svg)}.flag-icon-by.flag-icon-squared{background-image:url(../flags/1x1/by.svg)}.flag-icon-bz{background-image:url(../flags/4x3/bz.svg)}.flag-icon-bz.flag-icon-squared{background-image:url(../flags/1x1/bz.svg)}.flag-icon-ca{background-image:url(../flags/4x3/ca.svg)}.flag-icon-ca.flag-icon-squared{background-image:url(../flags/1x1/ca.svg)}.flag-icon-cc{background-image:url(../flags/4x3/cc.svg)}.flag-icon-cc.flag-icon-squared{background-image:url(../flags/1x1/cc.svg)}.flag-icon-cd{background-image:url(../flags/4x3/cd.svg)}.flag-icon-cd.flag-icon-squared{background-image:url(../flags/1x1/cd.svg)}.flag-icon-cf{background-image:url(../flags/4x3/cf.svg)}.flag-icon-cf.flag-icon-squared{background-image:url(../flags/1x1/cf.svg)}.flag-icon-cg{background-image:url(../flags/4x3/cg.svg)}.flag-icon-cg.flag-icon-squared{background-image:url(../flags/1x1/cg.svg)}.flag-icon-ch{background-image:url(../flags/4x3/ch.svg)}.flag-icon-ch.flag-icon-squared{background-image:url(../flags/1x1/ch.svg)}.flag-icon-ci{background-image:url(../flags/4x3/ci.svg)}.flag-icon-ci.flag-icon-squared{background-image:url(../flags/1x1/ci.svg)}.flag-icon-ck{background-image:url(../flags/4x3/ck.svg)}.flag-icon-ck.flag-icon-squared{background-image:url(../flags/1x1/ck.svg)}.flag-icon-cl{background-image:url(../flags/4x3/cl.svg)}.flag-icon-cl.flag-icon-squared{background-image:url(../flags/1x1/cl.svg)}.flag-icon-cm{background-image:url(../flags/4x3/cm.svg)}.flag-icon-cm.flag-icon-squared{background-image:url(../flags/1x1/cm.svg)}.flag-icon-zh{background-image:url(../flags/4x3/zh.svg)}.flag-iconzh.flag-icon-squared{background-image:url(../flags/1x1/zh.svg)}.flag-icon-cn{background-image:url(../flags/4x3/cn.svg)}.flag-icon-cn.flag-icon-squared{background-image:url(../flags/1x1/cn.svg)}.flag-icon-co{background-image:url(../flags/4x3/co.svg)}.flag-icon-co.flag-icon-squared{background-image:url(../flags/1x1/co.svg)}.flag-icon-cr{background-image:url(../flags/4x3/cr.svg)}.flag-icon-cr.flag-icon-squared{background-image:url(../flags/1x1/cr.svg)}.flag-icon-cu{background-image:url(../flags/4x3/cu.svg)}.flag-icon-cu.flag-icon-squared{background-image:url(../flags/1x1/cu.svg)}.flag-icon-cv{background-image:url(../flags/4x3/cv.svg)}.flag-icon-cv.flag-icon-squared{background-image:url(../flags/1x1/cv.svg)}.flag-icon-cw{background-image:url(../flags/4x3/cw.svg)}.flag-icon-cw.flag-icon-squared{background-image:url(../flags/1x1/cw.svg)}.flag-icon-cx{background-image:url(../flags/4x3/cx.svg)}.flag-icon-cx.flag-icon-squared{background-image:url(../flags/1x1/cx.svg)}.flag-icon-cy{background-image:url(../flags/4x3/cy.svg)}.flag-icon-cy.flag-icon-squared{background-image:url(../flags/1x1/cy.svg)}.flag-icon-cz{background-image:url(../flags/4x3/cz.svg)}.flag-icon-cz.flag-icon-squared{background-image:url(../flags/1x1/cz.svg)}.flag-icon-cs{background-image:url(../flags/4x3/cs.svg)}.flag-icon-cs.flag-icon-squared{background-image:url(../flags/1x1/cs.svg)}.flag-icon-de{background-image:url(../flags/4x3/de.svg)}.flag-icon-de.flag-icon-squared{background-image:url(../flags/1x1/de.svg)}.flag-icon-dj{background-image:url(../flags/4x3/dj.svg)}.flag-icon-dj.flag-icon-squared{background-image:url(../flags/1x1/dj.svg)}.flag-icon-da{background-image:url(../flags/4x3/da.svg)}.flag-icon-da.flag-icon-squared{background-image:url(../flags/1x1/d.svg)}.flag-icon-dk{background-image:url(../flags/4x3/dk.svg)}.flag-icon-dk.flag-icon-squared{background-image:url(../flags/1x1/dk.svg)}.flag-icon-dm{background-image:url(../flags/4x3/dm.svg)}.flag-icon-dm.flag-icon-squared{background-image:url(../flags/1x1/dm.svg)}.flag-icon-do{background-image:url(../flags/4x3/do.svg)}.flag-icon-do.flag-icon-squared{background-image:url(../flags/1x1/do.svg)}.flag-icon-dz{background-image:url(../flags/4x3/dz.svg)}.flag-icon-dz.flag-icon-squared{background-image:url(../flags/1x1/dz.svg)}.flag-icon-ec{background-image:url(../flags/4x3/ec.svg)}.flag-icon-ec.flag-icon-squared{background-image:url(../flags/1x1/ec.svg)}.flag-icon-ee{background-image:url(../flags/4x3/ee.svg)}.flag-icon-ee.flag-icon-squared{background-image:url(../flags/1x1/ee.svg)}.flag-icon-eg{background-image:url(../flags/4x3/eg.svg)}.flag-icon-eg.flag-icon-squared{background-image:url(../flags/1x1/eg.svg)}.flag-icon-eh{background-image:url(../flags/4x3/eh.svg)}.flag-icon-eh.flag-icon-squared{background-image:url(../flags/1x1/eh.svg)}.flag-icon-er{background-image:url(../flags/4x3/er.svg)}.flag-icon-er.flag-icon-squared{background-image:url(../flags/1x1/er.svg)}.flag-icon-es{background-image:url(../flags/4x3/es.svg)}.flag-icon-es.flag-icon-squared{background-image:url(../flags/1x1/es.svg)}.flag-icon-et{background-image:url(../flags/4x3/et.svg)}.flag-icon-et.flag-icon-squared{background-image:url(../flags/1x1/et.svg)}.flag-icon-fi{background-image:url(../flags/4x3/fi.svg)}.flag-icon-fi.flag-icon-squared{background-image:url(../flags/1x1/fi.svg)}.flag-icon-fj{background-image:url(../flags/4x3/fj.svg)}.flag-icon-fj.flag-icon-squared{background-image:url(../flags/1x1/fj.svg)}.flag-icon-fk{background-image:url(../flags/4x3/fk.svg)}.flag-icon-fk.flag-icon-squared{background-image:url(../flags/1x1/fk.svg)}.flag-icon-fm{background-image:url(../flags/4x3/fm.svg)}.flag-icon-fm.flag-icon-squared{background-image:url(../flags/1x1/fm.svg)}.flag-icon-fo{background-image:url(../flags/4x3/fo.svg)}.flag-icon-fo.flag-icon-squared{background-image:url(../flags/1x1/fo.svg)}.flag-icon-fr{background-image:url(../flags/4x3/fr.svg)}.flag-icon-fr.flag-icon-squared{background-image:url(../flags/1x1/fr.svg)}.flag-icon-ga{background-image:url(../flags/4x3/ga.svg)}.flag-icon-ga.flag-icon-squared{background-image:url(../flags/1x1/ga.svg)}.flag-icon-en{background-image:url(../flags/4x3/en.svg)}.flag-icon-en.flag-icon-squared{background-image:url(../flags/1x1/en.svg)}.flag-icon-gd{background-image:url(../flags/4x3/gd.svg)}.flag-icon-gd.flag-icon-squared{background-image:url(../flags/1x1/gd.svg)}.flag-icon-ge{background-image:url(../flags/4x3/ge.svg)}.flag-icon-ge.flag-icon-squared{background-image:url(../flags/1x1/ge.svg)}.flag-icon-gf{background-image:url(../flags/4x3/gf.svg)}.flag-icon-gf.flag-icon-squared{background-image:url(../flags/1x1/gf.svg)}.flag-icon-gg{background-image:url(../flags/4x3/gg.svg)}.flag-icon-gg.flag-icon-squared{background-image:url(../flags/1x1/gg.svg)}.flag-icon-gh{background-image:url(../flags/4x3/gh.svg)}.flag-icon-gh.flag-icon-squared{background-image:url(../flags/1x1/gh.svg)}.flag-icon-gi{background-image:url(../flags/4x3/gi.svg)}.flag-icon-gi.flag-icon-squared{background-image:url(../flags/1x1/gi.svg)}.flag-icon-gl{background-image:url(../flags/4x3/gl.svg)}.flag-icon-gl.flag-icon-squared{background-image:url(../flags/1x1/gl.svg)}.flag-icon-gm{background-image:url(../flags/4x3/gm.svg)}.flag-icon-gm.flag-icon-squared{background-image:url(../flags/1x1/gm.svg)}.flag-icon-gn{background-image:url(../flags/4x3/gn.svg)}.flag-icon-gn.flag-icon-squared{background-image:url(../flags/1x1/gn.svg)}.flag-icon-gp{background-image:url(../flags/4x3/gp.svg)}.flag-icon-gp.flag-icon-squared{background-image:url(../flags/1x1/gp.svg)}.flag-icon-gq{background-image:url(../flags/4x3/gq.svg)}.flag-icon-gq.flag-icon-squared{background-image:url(../flags/1x1/gq.svg)}.flag-icon-gr{background-image:url(../flags/4x3/gr.svg)}.flag-icon-gr.flag-icon-squared{background-image:url(../flags/1x1/gr.svg)}.flag-icon-gs{background-image:url(../flags/4x3/gs.svg)}.flag-icon-gs.flag-icon-squared{background-image:url(../flags/1x1/gs.svg)}.flag-icon-gt{background-image:url(../flags/4x3/gt.svg)}.flag-icon-gt.flag-icon-squared{background-image:url(../flags/1x1/gt.svg)}.flag-icon-gu{background-image:url(../flags/4x3/gu.svg)}.flag-icon-gu.flag-icon-squared{background-image:url(../flags/1x1/gu.svg)}.flag-icon-gw{background-image:url(../flags/4x3/gw.svg)}.flag-icon-gw.flag-icon-squared{background-image:url(../flags/1x1/gw.svg)}.flag-icon-gy{background-image:url(../flags/4x3/gy.svg)}.flag-icon-gy.flag-icon-squared{background-image:url(../flags/1x1/gy.svg)}.flag-icon-hk{background-image:url(../flags/4x3/hk.svg)}.flag-icon-hk.flag-icon-squared{background-image:url(../flags/1x1/hk.svg)}.flag-icon-hm{background-image:url(../flags/4x3/hm.svg)}.flag-icon-hm.flag-icon-squared{background-image:url(../flags/1x1/hm.svg)}.flag-icon-hn{background-image:url(../flags/4x3/hn.svg)}.flag-icon-hn.flag-icon-squared{background-image:url(../flags/1x1/hn.svg)}.flag-icon-hr{background-image:url(../flags/4x3/hr.svg)}.flag-icon-hr.flag-icon-squared{background-image:url(../flags/1x1/hr.svg)}.flag-icon-ht{background-image:url(../flags/4x3/ht.svg)}.flag-icon-ht.flag-icon-squared{background-image:url(../flags/1x1/ht.svg)}.flag-icon-hu{background-image:url(../flags/4x3/hu.svg)}.flag-icon-hu.flag-icon-squared{background-image:url(../flags/1x1/hu.svg)}.flag-icon-id{background-image:url(../flags/4x3/id.svg)}.flag-icon-id.flag-icon-squared{background-image:url(../flags/1x1/id.svg)}.flag-icon-ie{background-image:url(../flags/4x3/ie.svg)}.flag-icon-ie.flag-icon-squared{background-image:url(../flags/1x1/ie.svg)}.flag-icon-il{background-image:url(../flags/4x3/il.svg)}.flag-icon-il.flag-icon-squared{background-image:url(../flags/1x1/il.svg)}.flag-icon-im{background-image:url(../flags/4x3/im.svg)}.flag-icon-im.flag-icon-squared{background-image:url(../flags/1x1/im.svg)}.flag-icon-in{background-image:url(../flags/4x3/in.svg)}.flag-icon-in.flag-icon-squared{background-image:url(../flags/1x1/in.svg)}.flag-icon-io{background-image:url(../flags/4x3/io.svg)}.flag-icon-io.flag-icon-squared{background-image:url(../flags/1x1/io.svg)}.flag-icon-iq{background-image:url(../flags/4x3/iq.svg)}.flag-icon-iq.flag-icon-squared{background-image:url(../flags/1x1/iq.svg)}.flag-icon-ir{background-image:url(../flags/4x3/ir.svg)}.flag-icon-ir.flag-icon-squared{background-image:url(../flags/1x1/ir.svg)}.flag-icon-is{background-image:url(../flags/4x3/is.svg)}.flag-icon-is.flag-icon-squared{background-image:url(../flags/1x1/is.svg)}.flag-icon-it{background-image:url(../flags/4x3/it.svg)}.flag-icon-it.flag-icon-squared{background-image:url(../flags/1x1/it.svg)}.flag-icon-je{background-image:url(../flags/4x3/je.svg)}.flag-icon-je.flag-icon-squared{background-image:url(../flags/1x1/je.svg)}.flag-icon-jm{background-image:url(../flags/4x3/jm.svg)}.flag-icon-jm.flag-icon-squared{background-image:url(../flags/1x1/jm.svg)}.flag-icon-jo{background-image:url(../flags/4x3/jo.svg)}.flag-icon-jo.flag-icon-squared{background-image:url(../flags/1x1/jo.svg)}.flag-icon-jp{background-image:url(../flags/4x3/jp.svg)}.flag-icon-jp.flag-icon-squared{background-image:url(../flags/1x1/jp.svg)}.flag-icon-ke{background-image:url(../flags/4x3/ke.svg)}.flag-icon-ke.flag-icon-squared{background-image:url(../flags/1x1/ke.svg)}.flag-icon-kg{background-image:url(../flags/4x3/kg.svg)}.flag-icon-kg.flag-icon-squared{background-image:url(../flags/1x1/kg.svg)}.flag-icon-kh{background-image:url(../flags/4x3/kh.svg)}.flag-icon-kh.flag-icon-squared{background-image:url(../flags/1x1/kh.svg)}.flag-icon-ki{background-image:url(../flags/4x3/ki.svg)}.flag-icon-ki.flag-icon-squared{background-image:url(../flags/1x1/ki.svg)}.flag-icon-km{background-image:url(../flags/4x3/km.svg)}.flag-icon-km.flag-icon-squared{background-image:url(../flags/1x1/km.svg)}.flag-icon-kn{background-image:url(../flags/4x3/kn.svg)}.flag-icon-kn.flag-icon-squared{background-image:url(../flags/1x1/kn.svg)}.flag-icon-kp{background-image:url(../flags/4x3/kp.svg)}.flag-icon-kp.flag-icon-squared{background-image:url(../flags/1x1/kp.svg)}.flag-icon-ko{background-image:url(../flags/4x3/ko.svg)}.flag-icon-ko.flag-icon-squared{background-image:url(../flags/1x1/ko.svg)}.flag-icon-kr{background-image:url(../flags/4x3/kr.svg)}.flag-icon-kr.flag-icon-squared{background-image:url(../flags/1x1/kr.svg)}.flag-icon-kw{background-image:url(../flags/4x3/kw.svg)}.flag-icon-kw.flag-icon-squared{background-image:url(../flags/1x1/kw.svg)}.flag-icon-ky{background-image:url(../flags/4x3/ky.svg)}.flag-icon-ky.flag-icon-squared{background-image:url(../flags/1x1/ky.svg)}.flag-icon-kz{background-image:url(../flags/4x3/kz.svg)}.flag-icon-kz.flag-icon-squared{background-image:url(../flags/1x1/kz.svg)}.flag-icon-la{background-image:url(../flags/4x3/la.svg)}.flag-icon-la.flag-icon-squared{background-image:url(../flags/1x1/la.svg)}.flag-icon-lb{background-image:url(../flags/4x3/lb.svg)}.flag-icon-lb.flag-icon-squared{background-image:url(../flags/1x1/lb.svg)}.flag-icon-lc{background-image:url(../flags/4x3/lc.svg)}.flag-icon-lc.flag-icon-squared{background-image:url(../flags/1x1/lc.svg)}.flag-icon-li{background-image:url(../flags/4x3/li.svg)}.flag-icon-li.flag-icon-squared{background-image:url(../flags/1x1/li.svg)}.flag-icon-lk{background-image:url(../flags/4x3/lk.svg)}.flag-icon-lk.flag-icon-squared{background-image:url(../flags/1x1/lk.svg)}.flag-icon-lr{background-image:url(../flags/4x3/lr.svg)}.flag-icon-lr.flag-icon-squared{background-image:url(../flags/1x1/lr.svg)}.flag-icon-ls{background-image:url(../flags/4x3/ls.svg)}.flag-icon-ls.flag-icon-squared{background-image:url(../flags/1x1/ls.svg)}.flag-icon-lt{background-image:url(../flags/4x3/lt.svg)}.flag-icon-lt.flag-icon-squared{background-image:url(../flags/1x1/lt.svg)}.flag-icon-lu{background-image:url(../flags/4x3/lu.svg)}.flag-icon-lu.flag-icon-squared{background-image:url(../flags/1x1/lu.svg)}.flag-icon-lv{background-image:url(../flags/4x3/lv.svg)}.flag-icon-lv.flag-icon-squared{background-image:url(../flags/1x1/lv.svg)}.flag-icon-ly{background-image:url(../flags/4x3/ly.svg)}.flag-icon-ly.flag-icon-squared{background-image:url(../flags/1x1/ly.svg)}.flag-icon-ma{background-image:url(../flags/4x3/ma.svg)}.flag-icon-ma.flag-icon-squared{background-image:url(../flags/1x1/ma.svg)}.flag-icon-mc{background-image:url(../flags/4x3/mc.svg)}.flag-icon-mc.flag-icon-squared{background-image:url(../flags/1x1/mc.svg)}.flag-icon-md{background-image:url(../flags/4x3/md.svg)}.flag-icon-md.flag-icon-squared{background-image:url(../flags/1x1/md.svg)}.flag-icon-me{background-image:url(../flags/4x3/me.svg)}.flag-icon-me.flag-icon-squared{background-image:url(../flags/1x1/me.svg)}.flag-icon-mf{background-image:url(../flags/4x3/mf.svg)}.flag-icon-mf.flag-icon-squared{background-image:url(../flags/1x1/mf.svg)}.flag-icon-mg{background-image:url(../flags/4x3/mg.svg)}.flag-icon-mg.flag-icon-squared{background-image:url(../flags/1x1/mg.svg)}.flag-icon-mh{background-image:url(../flags/4x3/mh.svg)}.flag-icon-mh.flag-icon-squared{background-image:url(../flags/1x1/mh.svg)}.flag-icon-mk{background-image:url(../flags/4x3/mk.svg)}.flag-icon-mk.flag-icon-squared{background-image:url(../flags/1x1/mk.svg)}.flag-icon-ml{background-image:url(../flags/4x3/ml.svg)}.flag-icon-ml.flag-icon-squared{background-image:url(../flags/1x1/ml.svg)}.flag-icon-mm{background-image:url(../flags/4x3/mm.svg)}.flag-icon-mm.flag-icon-squared{background-image:url(../flags/1x1/mm.svg)}.flag-icon-mn{background-image:url(../flags/4x3/mn.svg)}.flag-icon-mn.flag-icon-squared{background-image:url(../flags/1x1/mn.svg)}.flag-icon-mo{background-image:url(../flags/4x3/mo.svg)}.flag-icon-mo.flag-icon-squared{background-image:url(../flags/1x1/mo.svg)}.flag-icon-mp{background-image:url(../flags/4x3/mp.svg)}.flag-icon-mp.flag-icon-squared{background-image:url(../flags/1x1/mp.svg)}.flag-icon-mq{background-image:url(../flags/4x3/mq.svg)}.flag-icon-mq.flag-icon-squared{background-image:url(../flags/1x1/mq.svg)}.flag-icon-mr{background-image:url(../flags/4x3/mr.svg)}.flag-icon-mr.flag-icon-squared{background-image:url(../flags/1x1/mr.svg)}.flag-icon-ms{background-image:url(../flags/4x3/ms.svg)}.flag-icon-ms.flag-icon-squared{background-image:url(../flags/1x1/ms.svg)}.flag-icon-mt{background-image:url(../flags/4x3/mt.svg)}.flag-icon-mt.flag-icon-squared{background-image:url(../flags/1x1/mt.svg)}.flag-icon-mu{background-image:url(../flags/4x3/mu.svg)}.flag-icon-mu.flag-icon-squared{background-image:url(../flags/1x1/mu.svg)}.flag-icon-mv{background-image:url(../flags/4x3/mv.svg)}.flag-icon-mv.flag-icon-squared{background-image:url(../flags/1x1/mv.svg)}.flag-icon-mw{background-image:url(../flags/4x3/mw.svg)}.flag-icon-mw.flag-icon-squared{background-image:url(../flags/1x1/mw.svg)}.flag-icon-mx{background-image:url(../flags/4x3/mx.svg)}.flag-icon-mx.flag-icon-squared{background-image:url(../flags/1x1/mx.svg)}.flag-icon-my{background-image:url(../flags/4x3/my.svg)}.flag-icon-my.flag-icon-squared{background-image:url(../flags/1x1/my.svg)}.flag-icon-mz{background-image:url(../flags/4x3/mz.svg)}.flag-icon-mz.flag-icon-squared{background-image:url(../flags/1x1/mz.svg)}.flag-icon-na{background-image:url(../flags/4x3/na.svg)}.flag-icon-na.flag-icon-squared{background-image:url(../flags/1x1/na.svg)}.flag-icon-nc{background-image:url(../flags/4x3/nc.svg)}.flag-icon-nc.flag-icon-squared{background-image:url(../flags/1x1/nc.svg)}.flag-icon-ne{background-image:url(../flags/4x3/ne.svg)}.flag-icon-ne.flag-icon-squared{background-image:url(../flags/1x1/ne.svg)}.flag-icon-nf{background-image:url(../flags/4x3/nf.svg)}.flag-icon-nf.flag-icon-squared{background-image:url(../flags/1x1/nf.svg)}.flag-icon-ng{background-image:url(../flags/4x3/ng.svg)}.flag-icon-ng.flag-icon-squared{background-image:url(../flags/1x1/ng.svg)}.flag-icon-ni{background-image:url(../flags/4x3/ni.svg)}.flag-icon-ni.flag-icon-squared{background-image:url(../flags/1x1/ni.svg)}.flag-icon-nl{background-image:url(../flags/4x3/nl.svg)}.flag-icon-nl.flag-icon-squared{background-image:url(../flags/1x1/nl.svg)}.flag-icon-no{background-image:url(../flags/4x3/no.svg)}.flag-icon-no.flag-icon-squared{background-image:url(../flags/1x1/no.svg)}.flag-icon-np{background-image:url(../flags/4x3/np.svg)}.flag-icon-np.flag-icon-squared{background-image:url(../flags/1x1/np.svg)}.flag-icon-nr{background-image:url(../flags/4x3/nr.svg)}.flag-icon-nr.flag-icon-squared{background-image:url(../flags/1x1/nr.svg)}.flag-icon-nu{background-image:url(../flags/4x3/nu.svg)}.flag-icon-nu.flag-icon-squared{background-image:url(../flags/1x1/nu.svg)}.flag-icon-nz{background-image:url(../flags/4x3/nz.svg)}.flag-icon-nz.flag-icon-squared{background-image:url(../flags/1x1/nz.svg)}.flag-icon-om{background-image:url(../flags/4x3/om.svg)}.flag-icon-om.flag-icon-squared{background-image:url(../flags/1x1/om.svg)}.flag-icon-pa{background-image:url(../flags/4x3/pa.svg)}.flag-icon-pa.flag-icon-squared{background-image:url(../flags/1x1/pa.svg)}.flag-icon-pe{background-image:url(../flags/4x3/pe.svg)}.flag-icon-pe.flag-icon-squared{background-image:url(../flags/1x1/pe.svg)}.flag-icon-pf{background-image:url(../flags/4x3/pf.svg)}.flag-icon-pf.flag-icon-squared{background-image:url(../flags/1x1/pf.svg)}.flag-icon-pg{background-image:url(../flags/4x3/pg.svg)}.flag-icon-pg.flag-icon-squared{background-image:url(../flags/1x1/pg.svg)}.flag-icon-ph{background-image:url(../flags/4x3/ph.svg)}.flag-icon-ph.flag-icon-squared{background-image:url(../flags/1x1/ph.svg)}.flag-icon-pk{background-image:url(../flags/4x3/pk.svg)}.flag-icon-pk.flag-icon-squared{background-image:url(../flags/1x1/pk.svg)}.flag-icon-pl{background-image:url(../flags/4x3/pl.svg)}.flag-icon-pl.flag-icon-squared{background-image:url(../flags/1x1/pl.svg)}.flag-icon-pm{background-image:url(../flags/4x3/pm.svg)}.flag-icon-pm.flag-icon-squared{background-image:url(../flags/1x1/pm.svg)}.flag-icon-pn{background-image:url(../flags/4x3/pn.svg)}.flag-icon-pn.flag-icon-squared{background-image:url(../flags/1x1/pn.svg)}.flag-icon-pr{background-image:url(../flags/4x3/pr.svg)}.flag-icon-pr.flag-icon-squared{background-image:url(../flags/1x1/pr.svg)}.flag-icon-ps{background-image:url(../flags/4x3/ps.svg)}.flag-icon-ps.flag-icon-squared{background-image:url(../flags/1x1/ps.svg)}.flag-icon-pt{background-image:url(../flags/4x3/pt.svg)}.flag-icon-pt.flag-icon-squared{background-image:url(../flags/1x1/pt.svg)}.flag-icon-pw{background-image:url(../flags/4x3/pw.svg)}.flag-icon-pw.flag-icon-squared{background-image:url(../flags/1x1/pw.svg)}.flag-icon-py{background-image:url(../flags/4x3/py.svg)}.flag-icon-py.flag-icon-squared{background-image:url(../flags/1x1/py.svg)}.flag-icon-qa{background-image:url(../flags/4x3/qa.svg)}.flag-icon-qa.flag-icon-squared{background-image:url(../flags/1x1/qa.svg)}.flag-icon-re{background-image:url(../flags/4x3/re.svg)}.flag-icon-re.flag-icon-squared{background-image:url(../flags/1x1/re.svg)}.flag-icon-ro{background-image:url(../flags/4x3/ro.svg)}.flag-icon-ro.flag-icon-squared{background-image:url(../flags/1x1/ro.svg)}.flag-icon-rs{background-image:url(../flags/4x3/rs.svg)}.flag-icon-rs.flag-icon-squared{background-image:url(../flags/1x1/rs.svg)}.flag-icon-ru{background-image:url(../flags/4x3/ru.svg)}.flag-icon-ru.flag-icon-squared{background-image:url(../flags/1x1/ru.svg)}.flag-icon-rw{background-image:url(../flags/4x3/rw.svg)}.flag-icon-rw.flag-icon-squared{background-image:url(../flags/1x1/rw.svg)}.flag-icon-sa{background-image:url(../flags/4x3/sa.svg)}.flag-icon-sa.flag-icon-squared{background-image:url(../flags/1x1/sa.svg)}.flag-icon-sb{background-image:url(../flags/4x3/sb.svg)}.flag-icon-sb.flag-icon-squared{background-image:url(../flags/1x1/sb.svg)}.flag-icon-sc{background-image:url(../flags/4x3/sc.svg)}.flag-icon-sc.flag-icon-squared{background-image:url(../flags/1x1/sc.svg)}.flag-icon-sd{background-image:url(../flags/4x3/sd.svg)}.flag-icon-sd.flag-icon-squared{background-image:url(../flags/1x1/sd.svg)}.flag-icon-se{background-image:url(../flags/4x3/se.svg)}.flag-icon-se.flag-icon-squared{background-image:url(../flags/1x1/se.svg)}.flag-icon-sg{background-image:url(../flags/4x3/sg.svg)}.flag-icon-sg.flag-icon-squared{background-image:url(../flags/1x1/sg.svg)}.flag-icon-sh{background-image:url(../flags/4x3/sh.svg)}.flag-icon-sh.flag-icon-squared{background-image:url(../flags/1x1/sh.svg)}.flag-icon-si{background-image:url(../flags/4x3/si.svg)}.flag-icon-si.flag-icon-squared{background-image:url(../flags/1x1/si.svg)}.flag-icon-sj{background-image:url(../flags/4x3/sj.svg)}.flag-icon-sj.flag-icon-squared{background-image:url(../flags/1x1/sj.svg)}.flag-icon-sk{background-image:url(../flags/4x3/sk.svg)}.flag-icon-sk.flag-icon-squared{background-image:url(../flags/1x1/sk.svg)}.flag-icon-sl{background-image:url(../flags/4x3/sl.svg)}.flag-icon-sl.flag-icon-squared{background-image:url(../flags/1x1/sl.svg)}.flag-icon-sm{background-image:url(../flags/4x3/sm.svg)}.flag-icon-sm.flag-icon-squared{background-image:url(../flags/1x1/sm.svg)}.flag-icon-sn{background-image:url(../flags/4x3/sn.svg)}.flag-icon-sn.flag-icon-squared{background-image:url(../flags/1x1/sn.svg)}.flag-icon-so{background-image:url(../flags/4x3/so.svg)}.flag-icon-so.flag-icon-squared{background-image:url(../flags/1x1/so.svg)}.flag-icon-sr{background-image:url(../flags/4x3/sr.svg)}.flag-icon-sr.flag-icon-squared{background-image:url(../flags/1x1/sr.svg)}.flag-icon-ss{background-image:url(../flags/4x3/ss.svg)}.flag-icon-ss.flag-icon-squared{background-image:url(../flags/1x1/ss.svg)}.flag-icon-st{background-image:url(../flags/4x3/st.svg)}.flag-icon-st.flag-icon-squared{background-image:url(../flags/1x1/st.svg)}.flag-icon-sv{background-image:url(../flags/4x3/sv.svg)}.flag-icon-sv.flag-icon-squared{background-image:url(../flags/1x1/sv.svg)}.flag-icon-sx{background-image:url(../flags/4x3/sx.svg)}.flag-icon-sx.flag-icon-squared{background-image:url(../flags/1x1/sx.svg)}.flag-icon-sy{background-image:url(../flags/4x3/sy.svg)}.flag-icon-sy.flag-icon-squared{background-image:url(../flags/1x1/sy.svg)}.flag-icon-sz{background-image:url(../flags/4x3/sz.svg)}.flag-icon-sz.flag-icon-squared{background-image:url(../flags/1x1/sz.svg)}.flag-icon-tc{background-image:url(../flags/4x3/tc.svg)}.flag-icon-tc.flag-icon-squared{background-image:url(../flags/1x1/tc.svg)}.flag-icon-td{background-image:url(../flags/4x3/td.svg)}.flag-icon-td.flag-icon-squared{background-image:url(../flags/1x1/td.svg)}.flag-icon-tf{background-image:url(../flags/4x3/tf.svg)}.flag-icon-tf.flag-icon-squared{background-image:url(../flags/1x1/tf.svg)}.flag-icon-tg{background-image:url(../flags/4x3/tg.svg)}.flag-icon-tg.flag-icon-squared{background-image:url(../flags/1x1/tg.svg)}.flag-icon-th{background-image:url(../flags/4x3/th.svg)}.flag-icon-th.flag-icon-squared{background-image:url(../flags/1x1/th.svg)}.flag-icon-tj{background-image:url(../flags/4x3/tj.svg)}.flag-icon-tj.flag-icon-squared{background-image:url(../flags/1x1/tj.svg)}.flag-icon-tk{background-image:url(../flags/4x3/tk.svg)}.flag-icon-tk.flag-icon-squared{background-image:url(../flags/1x1/tk.svg)}.flag-icon-tl{background-image:url(../flags/4x3/tl.svg)}.flag-icon-tl.flag-icon-squared{background-image:url(../flags/1x1/tl.svg)}.flag-icon-tm{background-image:url(../flags/4x3/tm.svg)}.flag-icon-tm.flag-icon-squared{background-image:url(../flags/1x1/tm.svg)}.flag-icon-tn{background-image:url(../flags/4x3/tn.svg)}.flag-icon-tn.flag-icon-squared{background-image:url(../flags/1x1/tn.svg)}.flag-icon-to{background-image:url(../flags/4x3/to.svg)}.flag-icon-to.flag-icon-squared{background-image:url(../flags/1x1/to.svg)}.flag-icon-tr{background-image:url(../flags/4x3/tr.svg)}.flag-icon-tr.flag-icon-squared{background-image:url(../flags/1x1/tr.svg)}.flag-icon-tt{background-image:url(../flags/4x3/tt.svg)}.flag-icon-tt.flag-icon-squared{background-image:url(../flags/1x1/tt.svg)}.flag-icon-tv{background-image:url(../flags/4x3/tv.svg)}.flag-icon-tv.flag-icon-squared{background-image:url(../flags/1x1/tv.svg)}.flag-icon-tw{background-image:url(../flags/4x3/tw.svg)}.flag-icon-tw.flag-icon-squared{background-image:url(../flags/1x1/tw.svg)}.flag-icon-tz{background-image:url(../flags/4x3/tz.svg)}.flag-icon-tz.flag-icon-squared{background-image:url(../flags/1x1/tz.svg)}.flag-icon-ua{background-image:url(../flags/4x3/ua.svg)}.flag-icon-ua.flag-icon-squared{background-image:url(../flags/1x1/ua.svg)}.flag-icon-ug{background-image:url(../flags/4x3/ug.svg)}.flag-icon-ug.flag-icon-squared{background-image:url(../flags/1x1/ug.svg)}.flag-icon-um{background-image:url(../flags/4x3/um.svg)}.flag-icon-um.flag-icon-squared{background-image:url(../flags/1x1/um.svg)}.flag-icon-us{background-image:url(../flags/4x3/us.svg)}.flag-icon-us.flag-icon-squared{background-image:url(../flags/1x1/us.svg)}.flag-icon-uy{background-image:url(../flags/4x3/uy.svg)}.flag-icon-uy.flag-icon-squared{background-image:url(../flags/1x1/uy.svg)}.flag-icon-uz{background-image:url(../flags/4x3/uz.svg)}.flag-icon-uz.flag-icon-squared{background-image:url(../flags/1x1/uz.svg)}.flag-icon-va{background-image:url(../flags/4x3/va.svg)}.flag-icon-va.flag-icon-squared{background-image:url(../flags/1x1/va.svg)}.flag-icon-vc{background-image:url(../flags/4x3/vc.svg)}.flag-icon-vc.flag-icon-squared{background-image:url(../flags/1x1/vc.svg)}.flag-icon-ve{background-image:url(../flags/4x3/ve.svg)}.flag-icon-ve.flag-icon-squared{background-image:url(../flags/1x1/ve.svg)}.flag-icon-vg{background-image:url(../flags/4x3/vg.svg)}.flag-icon-vg.flag-icon-squared{background-image:url(../flags/1x1/vg.svg)}.flag-icon-vi{background-image:url(../flags/4x3/vi.svg)}.flag-icon-vi.flag-icon-squared{background-image:url(../flags/1x1/vi.svg)}.flag-icon-vn{background-image:url(../flags/4x3/vn.svg)}.flag-icon-vn.flag-icon-squared{background-image:url(../flags/1x1/vn.svg)}.flag-icon-vu{background-image:url(../flags/4x3/vu.svg)}.flag-icon-vu.flag-icon-squared{background-image:url(../flags/1x1/vu.svg)}.flag-icon-wf{background-image:url(../flags/4x3/wf.svg)}.flag-icon-wf.flag-icon-squared{background-image:url(../flags/1x1/wf.svg)}.flag-icon-ws{background-image:url(../flags/4x3/ws.svg)}.flag-icon-ws.flag-icon-squared{background-image:url(../flags/1x1/ws.svg)}.flag-icon-ye{background-image:url(../flags/4x3/ye.svg)}.flag-icon-ye.flag-icon-squared{background-image:url(../flags/1x1/ye.svg)}.flag-icon-yt{background-image:url(../flags/4x3/yt.svg)}.flag-icon-yt.flag-icon-squared{background-image:url(../flags/1x1/yt.svg)}.flag-icon-za{background-image:url(../flags/4x3/za.svg)}.flag-icon-za.flag-icon-squared{background-image:url(../flags/1x1/za.svg)}.flag-icon-zm{background-image:url(../flags/4x3/zm.svg)}.flag-icon-zm.flag-icon-squared{background-image:url(../flags/1x1/zm.svg)}.flag-icon-zw{background-image:url(../flags/4x3/zw.svg)}.flag-icon-zw.flag-icon-squared{background-image:url(../flags/1x1/zw.svg)}.flag-icon-es-ct{background-image:url(../flags/4x3/es-ct.svg)}.flag-icon-es-ct.flag-icon-squared{background-image:url(../flags/1x1/es-ct.svg)}.flag-icon-es-ga{background-image:url(../flags/4x3/es-ga.svg)}.flag-icon-es-ga.flag-icon-squared{background-image:url(../flags/1x1/es-ga.svg)}.flag-icon-eu{background-image:url(../flags/4x3/eu.svg)}.flag-icon-eu.flag-icon-squared{background-image:url(../flags/1x1/eu.svg)}.flag-icon-gb-eng{background-image:url(../flags/4x3/gb-eng.svg)}.flag-icon-gb-eng.flag-icon-squared{background-image:url(../flags/1x1/gb-eng.svg)}.flag-icon-gb-nir{background-image:url(../flags/4x3/gb-nir.svg)}.flag-icon-gb-nir.flag-icon-squared{background-image:url(../flags/1x1/gb-nir.svg)}.flag-icon-gb-sct{background-image:url(../flags/4x3/gb-sct.svg)}.flag-icon-gb-sct.flag-icon-squared{background-image:url(../flags/1x1/gb-sct.svg)}.flag-icon-gb-wls{background-image:url(../flags/4x3/gb-wls.svg)}.flag-icon-gb-wls.flag-icon-squared{background-image:url(../flags/1x1/gb-wls.svg)}.flag-icon-un{background-image:url(../flags/4x3/un.svg)}.flag-icon-un.flag-icon-squared{background-image:url(../flags/1x1/un.svg)}.flag-icon-xk{background-image:url(../flags/4x3/xk.svg)}.flag-icon-xk.flag-icon-squared{background-image:url(../flags/1x1/xk.svg)}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/008-mailcow.css b/mailcow/src/mailcow-dockerized/data/web/css/build/008-mailcow.css
index 717b4d1..c060065 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/008-mailcow.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/008-mailcow.css
@@ -1,26 +1,37 @@
 @font-face {
-  font-family: 'PT Sans';
+  font-family: 'Noto Sans';
   font-style: normal;
   font-weight: 400;
-  src: local('PT Sans'), local('PTSans-Regular'),
-    url('/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff2') format('woff2'),
-    url('/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff') format('woff');
+  src: local(''),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff2') format('woff2'),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff') format('woff');
 }
+
 @font-face {
-  font-family: 'PT Sans';
+  font-family: 'Noto Sans';
   font-style: normal;
   font-weight: 700;
-  src: local('PT Sans Bold'), local('PTSans-Bold'),
-    url('/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff2') format('woff2'),
-    url('/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff') format('woff');
+  src: local(''),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff2') format('woff2'),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff') format('woff');
 }
+
 @font-face {
-  font-family: 'PT Sans';
+  font-family: 'Noto Sans';
   font-style: italic;
   font-weight: 400;
-  src: local('PT Sans Italic'), local('PTSans-Italic'),
-    url('/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff2') format('woff2'),
-    url('/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff') format('woff');
+  src: local(''),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff2') format('woff2'),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff') format('woff');
+}
+
+@font-face {
+  font-family: 'Noto Sans';
+  font-style: italic;
+  font-weight: 700;
+  src: local(''),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff2') format('woff2'),
+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff') format('woff');
 }
 #maxmsgsize { min-width: 80px; }
 #slider1 .slider-selection {
@@ -56,10 +67,23 @@
 .navbar-fixed-top .navbar-collapse {
   max-height: 1000px
 }
-.glyphicon-spin {
-  font-size:12px;
+.bi {
+  display: inline-block;
+  font-size: 12pt;
+}
+.btn .bi {
+  display: inline-block;
+  font-size: inherit;
+}
+.icon-spin {
+  animation-name: spin;
+  animation-duration: 2000ms;
+  animation-iteration-count: infinite;
+  animation-timing-function: linear;
   -webkit-animation: spin 2000ms infinite linear;
-  animation: spin 2000ms infinite linear;
+}
+.dropdown-menu {
+  font-size: 0.9rem;
 }
 @-webkit-keyframes spin {
   0% {
@@ -94,7 +118,14 @@
   padding-right: inherit !important;
 }
 body {
-  font-family: "PT Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
+  font-family: "Noto Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
+  font-size: 10.5pt;
+  line-height: 1.5;
+}
+html {
+  font-family: "Noto Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
+  font-size: 10.5pt;
+  line-height: 1.5;
 }
 #mailcow-alert {
   position: fixed;
@@ -111,7 +142,7 @@
   -ms-user-select: none;
   -o-user-select: none;
   user-select: none;
-  font-size: 12pt;
+  font-size: 1.2rem;
 }
 .navbar .navbar-brand {
   padding-top: 5px;
@@ -128,9 +159,6 @@
 .lang-link-disabled  {
   cursor: not-allowed;
 }
-.dkim-label {
-  margin: 0 0 2px !important;
-}
 .overlay {
   background: #fff;
   position: absolute;
@@ -138,9 +166,6 @@
   top: 0; right: 0; bottom: 0; left: 0;
   opacity: 0.7;
 }
-nav .glyphicon {
-  font-size: 12px !important;
-}
 #top {
   padding-top: 70px;
 }
@@ -167,10 +192,10 @@
 }
 .tooltip {
   font-family: inherit;
-  font-size: 12px;
+  font-size: 0.8rem;
 }
 .progress-bar {
-  font-size: 12px;
+  font-size: 0.8rem;
   line-height: 14px;
 }
 .footer {
@@ -197,3 +222,25 @@
   background-color: #ff4136;
   border-color: #ff291c;
 }
+table.footable>tbody>tr.footable-empty>td {
+  font-style:italic;
+  font-size: 1rem;
+}
+.navbar-nav > li {
+  font-size: 1rem !important;
+}
+.dropdown-menu > li > a {
+  font-size: 1rem !important;
+}
+.label {
+  font-size:inherit;
+}
+[class^="bi-"]::before, [class*=" bi-"]::before {
+  vertical-align: -0.2em !important;
+}
+legend > [class^="bi-"]::before, legend > [class*=" bi-"]::before {
+  vertical-align: 0em !important;
+}
+code {
+  font-size: inherit;
+}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/010-numberedtextarea.min.css b/mailcow/src/mailcow-dockerized/data/web/css/build/010-numberedtextarea.min.css
index 133faf9..4d12000 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/010-numberedtextarea.min.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/010-numberedtextarea.min.css
@@ -1 +1 @@
-div.numberedtextarea-wrapper{position:relative}div.numberedtextarea-wrapper textarea{display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.numberedtextarea-line-numbers{position:absolute;top:0;left:0;right:0;bottom:0;width:50px;border-right:none;color:rgba(0,0,0,.4);overflow:hidden}div.numberedtextarea-number{padding-right:6px;text-align:right}
+div.numberedtextarea-wrapper{position:relative}div.numberedtextarea-wrapper textarea{display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}div.numberedtextarea-line-numbers{position:absolute;top:0;left:0;right:0;bottom:0;width:45px!important;border-right:none;color:rgba(0,0,0,.4);overflow:hidden}div.numberedtextarea-number{padding-right:6px;text-align:right}
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/013-bootstrap-icons.css b/mailcow/src/mailcow-dockerized/data/web/css/build/013-bootstrap-icons.css
new file mode 100644
index 0000000..4ea58d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/013-bootstrap-icons.css
@@ -0,0 +1,1390 @@
+@font-face {
+  font-family: "bootstrap-icons";
+  src: url("/fonts/bootstrap-icons.woff2?856008caa5eb66df68595e734e59580d") format("woff2"),
+url("/fonts/bootstrap-icons.woff?856008caa5eb66df68595e734e59580d") format("woff");
+}
+
+[class^="bi-"]::before,
+[class*=" bi-"]::before {
+  display: inline-block;
+  font-family: bootstrap-icons !important;
+  font-style: normal;
+  font-weight: normal !important;
+  font-variant: normal;
+  text-transform: none;
+  line-height: 1;
+  vertical-align: -.125em;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.bi-alarm-fill::before { content: "\f101"; }
+.bi-alarm::before { content: "\f102"; }
+.bi-align-bottom::before { content: "\f103"; }
+.bi-align-center::before { content: "\f104"; }
+.bi-align-end::before { content: "\f105"; }
+.bi-align-middle::before { content: "\f106"; }
+.bi-align-start::before { content: "\f107"; }
+.bi-align-top::before { content: "\f108"; }
+.bi-alt::before { content: "\f109"; }
+.bi-app-indicator::before { content: "\f10a"; }
+.bi-app::before { content: "\f10b"; }
+.bi-archive-fill::before { content: "\f10c"; }
+.bi-archive::before { content: "\f10d"; }
+.bi-arrow-90deg-down::before { content: "\f10e"; }
+.bi-arrow-90deg-left::before { content: "\f10f"; }
+.bi-arrow-90deg-right::before { content: "\f110"; }
+.bi-arrow-90deg-up::before { content: "\f111"; }
+.bi-arrow-bar-down::before { content: "\f112"; }
+.bi-arrow-bar-left::before { content: "\f113"; }
+.bi-arrow-bar-right::before { content: "\f114"; }
+.bi-arrow-bar-up::before { content: "\f115"; }
+.bi-arrow-clockwise::before { content: "\f116"; }
+.bi-arrow-counterclockwise::before { content: "\f117"; }
+.bi-arrow-down-circle-fill::before { content: "\f118"; }
+.bi-arrow-down-circle::before { content: "\f119"; }
+.bi-arrow-down-left-circle-fill::before { content: "\f11a"; }
+.bi-arrow-down-left-circle::before { content: "\f11b"; }
+.bi-arrow-down-left-square-fill::before { content: "\f11c"; }
+.bi-arrow-down-left-square::before { content: "\f11d"; }
+.bi-arrow-down-left::before { content: "\f11e"; }
+.bi-arrow-down-right-circle-fill::before { content: "\f11f"; }
+.bi-arrow-down-right-circle::before { content: "\f120"; }
+.bi-arrow-down-right-square-fill::before { content: "\f121"; }
+.bi-arrow-down-right-square::before { content: "\f122"; }
+.bi-arrow-down-right::before { content: "\f123"; }
+.bi-arrow-down-short::before { content: "\f124"; }
+.bi-arrow-down-square-fill::before { content: "\f125"; }
+.bi-arrow-down-square::before { content: "\f126"; }
+.bi-arrow-down-up::before { content: "\f127"; }
+.bi-arrow-down::before { content: "\f128"; }
+.bi-arrow-left-circle-fill::before { content: "\f129"; }
+.bi-arrow-left-circle::before { content: "\f12a"; }
+.bi-arrow-left-right::before { content: "\f12b"; }
+.bi-arrow-left-short::before { content: "\f12c"; }
+.bi-arrow-left-square-fill::before { content: "\f12d"; }
+.bi-arrow-left-square::before { content: "\f12e"; }
+.bi-arrow-left::before { content: "\f12f"; }
+.bi-arrow-repeat::before { content: "\f130"; }
+.bi-arrow-return-left::before { content: "\f131"; }
+.bi-arrow-return-right::before { content: "\f132"; }
+.bi-arrow-right-circle-fill::before { content: "\f133"; }
+.bi-arrow-right-circle::before { content: "\f134"; }
+.bi-arrow-right-short::before { content: "\f135"; }
+.bi-arrow-right-square-fill::before { content: "\f136"; }
+.bi-arrow-right-square::before { content: "\f137"; }
+.bi-arrow-right::before { content: "\f138"; }
+.bi-arrow-up-circle-fill::before { content: "\f139"; }
+.bi-arrow-up-circle::before { content: "\f13a"; }
+.bi-arrow-up-left-circle-fill::before { content: "\f13b"; }
+.bi-arrow-up-left-circle::before { content: "\f13c"; }
+.bi-arrow-up-left-square-fill::before { content: "\f13d"; }
+.bi-arrow-up-left-square::before { content: "\f13e"; }
+.bi-arrow-up-left::before { content: "\f13f"; }
+.bi-arrow-up-right-circle-fill::before { content: "\f140"; }
+.bi-arrow-up-right-circle::before { content: "\f141"; }
+.bi-arrow-up-right-square-fill::before { content: "\f142"; }
+.bi-arrow-up-right-square::before { content: "\f143"; }
+.bi-arrow-up-right::before { content: "\f144"; }
+.bi-arrow-up-short::before { content: "\f145"; }
+.bi-arrow-up-square-fill::before { content: "\f146"; }
+.bi-arrow-up-square::before { content: "\f147"; }
+.bi-arrow-up::before { content: "\f148"; }
+.bi-arrows-angle-contract::before { content: "\f149"; }
+.bi-arrows-angle-expand::before { content: "\f14a"; }
+.bi-arrows-collapse::before { content: "\f14b"; }
+.bi-arrows-expand::before { content: "\f14c"; }
+.bi-arrows-fullscreen::before { content: "\f14d"; }
+.bi-arrows-move::before { content: "\f14e"; }
+.bi-aspect-ratio-fill::before { content: "\f14f"; }
+.bi-aspect-ratio::before { content: "\f150"; }
+.bi-asterisk::before { content: "\f151"; }
+.bi-at::before { content: "\f152"; }
+.bi-award-fill::before { content: "\f153"; }
+.bi-award::before { content: "\f154"; }
+.bi-back::before { content: "\f155"; }
+.bi-backspace-fill::before { content: "\f156"; }
+.bi-backspace-reverse-fill::before { content: "\f157"; }
+.bi-backspace-reverse::before { content: "\f158"; }
+.bi-backspace::before { content: "\f159"; }
+.bi-badge-3d-fill::before { content: "\f15a"; }
+.bi-badge-3d::before { content: "\f15b"; }
+.bi-badge-4k-fill::before { content: "\f15c"; }
+.bi-badge-4k::before { content: "\f15d"; }
+.bi-badge-8k-fill::before { content: "\f15e"; }
+.bi-badge-8k::before { content: "\f15f"; }
+.bi-badge-ad-fill::before { content: "\f160"; }
+.bi-badge-ad::before { content: "\f161"; }
+.bi-badge-ar-fill::before { content: "\f162"; }
+.bi-badge-ar::before { content: "\f163"; }
+.bi-badge-cc-fill::before { content: "\f164"; }
+.bi-badge-cc::before { content: "\f165"; }
+.bi-badge-hd-fill::before { content: "\f166"; }
+.bi-badge-hd::before { content: "\f167"; }
+.bi-badge-tm-fill::before { content: "\f168"; }
+.bi-badge-tm::before { content: "\f169"; }
+.bi-badge-vo-fill::before { content: "\f16a"; }
+.bi-badge-vo::before { content: "\f16b"; }
+.bi-badge-vr-fill::before { content: "\f16c"; }
+.bi-badge-vr::before { content: "\f16d"; }
+.bi-badge-wc-fill::before { content: "\f16e"; }
+.bi-badge-wc::before { content: "\f16f"; }
+.bi-bag-check-fill::before { content: "\f170"; }
+.bi-bag-check::before { content: "\f171"; }
+.bi-bag-dash-fill::before { content: "\f172"; }
+.bi-bag-dash::before { content: "\f173"; }
+.bi-bag-fill::before { content: "\f174"; }
+.bi-bag-plus-fill::before { content: "\f175"; }
+.bi-bag-plus::before { content: "\f176"; }
+.bi-bag-x-fill::before { content: "\f177"; }
+.bi-bag-x::before { content: "\f178"; }
+.bi-bag::before { content: "\f179"; }
+.bi-bar-chart-fill::before { content: "\f17a"; }
+.bi-bar-chart-line-fill::before { content: "\f17b"; }
+.bi-bar-chart-line::before { content: "\f17c"; }
+.bi-bar-chart-steps::before { content: "\f17d"; }
+.bi-bar-chart::before { content: "\f17e"; }
+.bi-basket-fill::before { content: "\f17f"; }
+.bi-basket::before { content: "\f180"; }
+.bi-basket2-fill::before { content: "\f181"; }
+.bi-basket2::before { content: "\f182"; }
+.bi-basket3-fill::before { content: "\f183"; }
+.bi-basket3::before { content: "\f184"; }
+.bi-battery-charging::before { content: "\f185"; }
+.bi-battery-full::before { content: "\f186"; }
+.bi-battery-half::before { content: "\f187"; }
+.bi-battery::before { content: "\f188"; }
+.bi-bell-fill::before { content: "\f189"; }
+.bi-bell::before { content: "\f18a"; }
+.bi-bezier::before { content: "\f18b"; }
+.bi-bezier2::before { content: "\f18c"; }
+.bi-bicycle::before { content: "\f18d"; }
+.bi-binoculars-fill::before { content: "\f18e"; }
+.bi-binoculars::before { content: "\f18f"; }
+.bi-blockquote-left::before { content: "\f190"; }
+.bi-blockquote-right::before { content: "\f191"; }
+.bi-book-fill::before { content: "\f192"; }
+.bi-book-half::before { content: "\f193"; }
+.bi-book::before { content: "\f194"; }
+.bi-bookmark-check-fill::before { content: "\f195"; }
+.bi-bookmark-check::before { content: "\f196"; }
+.bi-bookmark-dash-fill::before { content: "\f197"; }
+.bi-bookmark-dash::before { content: "\f198"; }
+.bi-bookmark-fill::before { content: "\f199"; }
+.bi-bookmark-heart-fill::before { content: "\f19a"; }
+.bi-bookmark-heart::before { content: "\f19b"; }
+.bi-bookmark-plus-fill::before { content: "\f19c"; }
+.bi-bookmark-plus::before { content: "\f19d"; }
+.bi-bookmark-star-fill::before { content: "\f19e"; }
+.bi-bookmark-star::before { content: "\f19f"; }
+.bi-bookmark-x-fill::before { content: "\f1a0"; }
+.bi-bookmark-x::before { content: "\f1a1"; }
+.bi-bookmark::before { content: "\f1a2"; }
+.bi-bookmarks-fill::before { content: "\f1a3"; }
+.bi-bookmarks::before { content: "\f1a4"; }
+.bi-bookshelf::before { content: "\f1a5"; }
+.bi-bootstrap-fill::before { content: "\f1a6"; }
+.bi-bootstrap-reboot::before { content: "\f1a7"; }
+.bi-bootstrap::before { content: "\f1a8"; }
+.bi-border-all::before { content: "\f1a9"; }
+.bi-border-bottom::before { content: "\f1aa"; }
+.bi-border-center::before { content: "\f1ab"; }
+.bi-border-inner::before { content: "\f1ac"; }
+.bi-border-left::before { content: "\f1ad"; }
+.bi-border-middle::before { content: "\f1ae"; }
+.bi-border-outer::before { content: "\f1af"; }
+.bi-border-right::before { content: "\f1b0"; }
+.bi-border-style::before { content: "\f1b1"; }
+.bi-border-top::before { content: "\f1b2"; }
+.bi-border-width::before { content: "\f1b3"; }
+.bi-border::before { content: "\f1b4"; }
+.bi-bounding-box-circles::before { content: "\f1b5"; }
+.bi-bounding-box::before { content: "\f1b6"; }
+.bi-box-arrow-down-left::before { content: "\f1b7"; }
+.bi-box-arrow-down-right::before { content: "\f1b8"; }
+.bi-box-arrow-down::before { content: "\f1b9"; }
+.bi-box-arrow-in-down-left::before { content: "\f1ba"; }
+.bi-box-arrow-in-down-right::before { content: "\f1bb"; }
+.bi-box-arrow-in-down::before { content: "\f1bc"; }
+.bi-box-arrow-in-left::before { content: "\f1bd"; }
+.bi-box-arrow-in-right::before { content: "\f1be"; }
+.bi-box-arrow-in-up-left::before { content: "\f1bf"; }
+.bi-box-arrow-in-up-right::before { content: "\f1c0"; }
+.bi-box-arrow-in-up::before { content: "\f1c1"; }
+.bi-box-arrow-left::before { content: "\f1c2"; }
+.bi-box-arrow-right::before { content: "\f1c3"; }
+.bi-box-arrow-up-left::before { content: "\f1c4"; }
+.bi-box-arrow-up-right::before { content: "\f1c5"; }
+.bi-box-arrow-up::before { content: "\f1c6"; }
+.bi-box-seam::before { content: "\f1c7"; }
+.bi-box::before { content: "\f1c8"; }
+.bi-braces::before { content: "\f1c9"; }
+.bi-bricks::before { content: "\f1ca"; }
+.bi-briefcase-fill::before { content: "\f1cb"; }
+.bi-briefcase::before { content: "\f1cc"; }
+.bi-brightness-alt-high-fill::before { content: "\f1cd"; }
+.bi-brightness-alt-high::before { content: "\f1ce"; }
+.bi-brightness-alt-low-fill::before { content: "\f1cf"; }
+.bi-brightness-alt-low::before { content: "\f1d0"; }
+.bi-brightness-high-fill::before { content: "\f1d1"; }
+.bi-brightness-high::before { content: "\f1d2"; }
+.bi-brightness-low-fill::before { content: "\f1d3"; }
+.bi-brightness-low::before { content: "\f1d4"; }
+.bi-broadcast-pin::before { content: "\f1d5"; }
+.bi-broadcast::before { content: "\f1d6"; }
+.bi-brush-fill::before { content: "\f1d7"; }
+.bi-brush::before { content: "\f1d8"; }
+.bi-bucket-fill::before { content: "\f1d9"; }
+.bi-bucket::before { content: "\f1da"; }
+.bi-bug-fill::before { content: "\f1db"; }
+.bi-bug::before { content: "\f1dc"; }
+.bi-building::before { content: "\f1dd"; }
+.bi-bullseye::before { content: "\f1de"; }
+.bi-calculator-fill::before { content: "\f1df"; }
+.bi-calculator::before { content: "\f1e0"; }
+.bi-calendar-check-fill::before { content: "\f1e1"; }
+.bi-calendar-check::before { content: "\f1e2"; }
+.bi-calendar-date-fill::before { content: "\f1e3"; }
+.bi-calendar-date::before { content: "\f1e4"; }
+.bi-calendar-day-fill::before { content: "\f1e5"; }
+.bi-calendar-day::before { content: "\f1e6"; }
+.bi-calendar-event-fill::before { content: "\f1e7"; }
+.bi-calendar-event::before { content: "\f1e8"; }
+.bi-calendar-fill::before { content: "\f1e9"; }
+.bi-calendar-minus-fill::before { content: "\f1ea"; }
+.bi-calendar-minus::before { content: "\f1eb"; }
+.bi-calendar-month-fill::before { content: "\f1ec"; }
+.bi-calendar-month::before { content: "\f1ed"; }
+.bi-calendar-plus-fill::before { content: "\f1ee"; }
+.bi-calendar-plus::before { content: "\f1ef"; }
+.bi-calendar-range-fill::before { content: "\f1f0"; }
+.bi-calendar-range::before { content: "\f1f1"; }
+.bi-calendar-week-fill::before { content: "\f1f2"; }
+.bi-calendar-week::before { content: "\f1f3"; }
+.bi-calendar-x-fill::before { content: "\f1f4"; }
+.bi-calendar-x::before { content: "\f1f5"; }
+.bi-calendar::before { content: "\f1f6"; }
+.bi-calendar2-check-fill::before { content: "\f1f7"; }
+.bi-calendar2-check::before { content: "\f1f8"; }
+.bi-calendar2-date-fill::before { content: "\f1f9"; }
+.bi-calendar2-date::before { content: "\f1fa"; }
+.bi-calendar2-day-fill::before { content: "\f1fb"; }
+.bi-calendar2-day::before { content: "\f1fc"; }
+.bi-calendar2-event-fill::before { content: "\f1fd"; }
+.bi-calendar2-event::before { content: "\f1fe"; }
+.bi-calendar2-fill::before { content: "\f1ff"; }
+.bi-calendar2-minus-fill::before { content: "\f200"; }
+.bi-calendar2-minus::before { content: "\f201"; }
+.bi-calendar2-month-fill::before { content: "\f202"; }
+.bi-calendar2-month::before { content: "\f203"; }
+.bi-calendar2-plus-fill::before { content: "\f204"; }
+.bi-calendar2-plus::before { content: "\f205"; }
+.bi-calendar2-range-fill::before { content: "\f206"; }
+.bi-calendar2-range::before { content: "\f207"; }
+.bi-calendar2-week-fill::before { content: "\f208"; }
+.bi-calendar2-week::before { content: "\f209"; }
+.bi-calendar2-x-fill::before { content: "\f20a"; }
+.bi-calendar2-x::before { content: "\f20b"; }
+.bi-calendar2::before { content: "\f20c"; }
+.bi-calendar3-event-fill::before { content: "\f20d"; }
+.bi-calendar3-event::before { content: "\f20e"; }
+.bi-calendar3-fill::before { content: "\f20f"; }
+.bi-calendar3-range-fill::before { content: "\f210"; }
+.bi-calendar3-range::before { content: "\f211"; }
+.bi-calendar3-week-fill::before { content: "\f212"; }
+.bi-calendar3-week::before { content: "\f213"; }
+.bi-calendar3::before { content: "\f214"; }
+.bi-calendar4-event::before { content: "\f215"; }
+.bi-calendar4-range::before { content: "\f216"; }
+.bi-calendar4-week::before { content: "\f217"; }
+.bi-calendar4::before { content: "\f218"; }
+.bi-camera-fill::before { content: "\f219"; }
+.bi-camera-reels-fill::before { content: "\f21a"; }
+.bi-camera-reels::before { content: "\f21b"; }
+.bi-camera-video-fill::before { content: "\f21c"; }
+.bi-camera-video-off-fill::before { content: "\f21d"; }
+.bi-camera-video-off::before { content: "\f21e"; }
+.bi-camera-video::before { content: "\f21f"; }
+.bi-camera::before { content: "\f220"; }
+.bi-camera2::before { content: "\f221"; }
+.bi-capslock-fill::before { content: "\f222"; }
+.bi-capslock::before { content: "\f223"; }
+.bi-card-checklist::before { content: "\f224"; }
+.bi-card-heading::before { content: "\f225"; }
+.bi-card-image::before { content: "\f226"; }
+.bi-card-list::before { content: "\f227"; }
+.bi-card-text::before { content: "\f228"; }
+.bi-caret-down-fill::before { content: "\f229"; }
+.bi-caret-down-square-fill::before { content: "\f22a"; }
+.bi-caret-down-square::before { content: "\f22b"; }
+.bi-caret-down::before { content: "\f22c"; }
+.bi-caret-left-fill::before { content: "\f22d"; }
+.bi-caret-left-square-fill::before { content: "\f22e"; }
+.bi-caret-left-square::before { content: "\f22f"; }
+.bi-caret-left::before { content: "\f230"; }
+.bi-caret-right-fill::before { content: "\f231"; }
+.bi-caret-right-square-fill::before { content: "\f232"; }
+.bi-caret-right-square::before { content: "\f233"; }
+.bi-caret-right::before { content: "\f234"; }
+.bi-caret-up-fill::before { content: "\f235"; }
+.bi-caret-up-square-fill::before { content: "\f236"; }
+.bi-caret-up-square::before { content: "\f237"; }
+.bi-caret-up::before { content: "\f238"; }
+.bi-cart-check-fill::before { content: "\f239"; }
+.bi-cart-check::before { content: "\f23a"; }
+.bi-cart-dash-fill::before { content: "\f23b"; }
+.bi-cart-dash::before { content: "\f23c"; }
+.bi-cart-fill::before { content: "\f23d"; }
+.bi-cart-plus-fill::before { content: "\f23e"; }
+.bi-cart-plus::before { content: "\f23f"; }
+.bi-cart-x-fill::before { content: "\f240"; }
+.bi-cart-x::before { content: "\f241"; }
+.bi-cart::before { content: "\f242"; }
+.bi-cart2::before { content: "\f243"; }
+.bi-cart3::before { content: "\f244"; }
+.bi-cart4::before { content: "\f245"; }
+.bi-cash-stack::before { content: "\f246"; }
+.bi-cash::before { content: "\f247"; }
+.bi-cast::before { content: "\f248"; }
+.bi-chat-dots-fill::before { content: "\f249"; }
+.bi-chat-dots::before { content: "\f24a"; }
+.bi-chat-fill::before { content: "\f24b"; }
+.bi-chat-left-dots-fill::before { content: "\f24c"; }
+.bi-chat-left-dots::before { content: "\f24d"; }
+.bi-chat-left-fill::before { content: "\f24e"; }
+.bi-chat-left-quote-fill::before { content: "\f24f"; }
+.bi-chat-left-quote::before { content: "\f250"; }
+.bi-chat-left-text-fill::before { content: "\f251"; }
+.bi-chat-left-text::before { content: "\f252"; }
+.bi-chat-left::before { content: "\f253"; }
+.bi-chat-quote-fill::before { content: "\f254"; }
+.bi-chat-quote::before { content: "\f255"; }
+.bi-chat-right-dots-fill::before { content: "\f256"; }
+.bi-chat-right-dots::before { content: "\f257"; }
+.bi-chat-right-fill::before { content: "\f258"; }
+.bi-chat-right-quote-fill::before { content: "\f259"; }
+.bi-chat-right-quote::before { content: "\f25a"; }
+.bi-chat-right-text-fill::before { content: "\f25b"; }
+.bi-chat-right-text::before { content: "\f25c"; }
+.bi-chat-right::before { content: "\f25d"; }
+.bi-chat-square-dots-fill::before { content: "\f25e"; }
+.bi-chat-square-dots::before { content: "\f25f"; }
+.bi-chat-square-fill::before { content: "\f260"; }
+.bi-chat-square-quote-fill::before { content: "\f261"; }
+.bi-chat-square-quote::before { content: "\f262"; }
+.bi-chat-square-text-fill::before { content: "\f263"; }
+.bi-chat-square-text::before { content: "\f264"; }
+.bi-chat-square::before { content: "\f265"; }
+.bi-chat-text-fill::before { content: "\f266"; }
+.bi-chat-text::before { content: "\f267"; }
+.bi-chat::before { content: "\f268"; }
+.bi-check-all::before { content: "\f269"; }
+.bi-check-circle-fill::before { content: "\f26a"; }
+.bi-check-circle::before { content: "\f26b"; }
+.bi-check-square-fill::before { content: "\f26c"; }
+.bi-check-square::before { content: "\f26d"; }
+.bi-check::before { content: "\f26e"; }
+.bi-check2-all::before { content: "\f26f"; }
+.bi-check2-circle::before { content: "\f270"; }
+.bi-check2-square::before { content: "\f271"; }
+.bi-check2::before { content: "\f272"; }
+.bi-chevron-bar-contract::before { content: "\f273"; }
+.bi-chevron-bar-down::before { content: "\f274"; }
+.bi-chevron-bar-expand::before { content: "\f275"; }
+.bi-chevron-bar-left::before { content: "\f276"; }
+.bi-chevron-bar-right::before { content: "\f277"; }
+.bi-chevron-bar-up::before { content: "\f278"; }
+.bi-chevron-compact-down::before { content: "\f279"; }
+.bi-chevron-compact-left::before { content: "\f27a"; }
+.bi-chevron-compact-right::before { content: "\f27b"; }
+.bi-chevron-compact-up::before { content: "\f27c"; }
+.bi-chevron-contract::before { content: "\f27d"; }
+.bi-chevron-double-down::before { content: "\f27e"; }
+.bi-chevron-double-left::before { content: "\f27f"; }
+.bi-chevron-double-right::before { content: "\f280"; }
+.bi-chevron-double-up::before { content: "\f281"; }
+.bi-chevron-down::before { content: "\f282"; }
+.bi-chevron-expand::before { content: "\f283"; }
+.bi-chevron-left::before { content: "\f284"; }
+.bi-chevron-right::before { content: "\f285"; }
+.bi-chevron-up::before { content: "\f286"; }
+.bi-circle-fill::before { content: "\f287"; }
+.bi-circle-half::before { content: "\f288"; }
+.bi-circle-square::before { content: "\f289"; }
+.bi-circle::before { content: "\f28a"; }
+.bi-clipboard-check::before { content: "\f28b"; }
+.bi-clipboard-data::before { content: "\f28c"; }
+.bi-clipboard-minus::before { content: "\f28d"; }
+.bi-clipboard-plus::before { content: "\f28e"; }
+.bi-clipboard-x::before { content: "\f28f"; }
+.bi-clipboard::before { content: "\f290"; }
+.bi-clock-fill::before { content: "\f291"; }
+.bi-clock-history::before { content: "\f292"; }
+.bi-clock::before { content: "\f293"; }
+.bi-cloud-arrow-down-fill::before { content: "\f294"; }
+.bi-cloud-arrow-down::before { content: "\f295"; }
+.bi-cloud-arrow-up-fill::before { content: "\f296"; }
+.bi-cloud-arrow-up::before { content: "\f297"; }
+.bi-cloud-check-fill::before { content: "\f298"; }
+.bi-cloud-check::before { content: "\f299"; }
+.bi-cloud-download-fill::before { content: "\f29a"; }
+.bi-cloud-download::before { content: "\f29b"; }
+.bi-cloud-drizzle-fill::before { content: "\f29c"; }
+.bi-cloud-drizzle::before { content: "\f29d"; }
+.bi-cloud-fill::before { content: "\f29e"; }
+.bi-cloud-fog-fill::before { content: "\f29f"; }
+.bi-cloud-fog::before { content: "\f2a0"; }
+.bi-cloud-fog2-fill::before { content: "\f2a1"; }
+.bi-cloud-fog2::before { content: "\f2a2"; }
+.bi-cloud-hail-fill::before { content: "\f2a3"; }
+.bi-cloud-hail::before { content: "\f2a4"; }
+.bi-cloud-haze-1::before { content: "\f2a5"; }
+.bi-cloud-haze-fill::before { content: "\f2a6"; }
+.bi-cloud-haze::before { content: "\f2a7"; }
+.bi-cloud-haze2-fill::before { content: "\f2a8"; }
+.bi-cloud-lightning-fill::before { content: "\f2a9"; }
+.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; }
+.bi-cloud-lightning-rain::before { content: "\f2ab"; }
+.bi-cloud-lightning::before { content: "\f2ac"; }
+.bi-cloud-minus-fill::before { content: "\f2ad"; }
+.bi-cloud-minus::before { content: "\f2ae"; }
+.bi-cloud-moon-fill::before { content: "\f2af"; }
+.bi-cloud-moon::before { content: "\f2b0"; }
+.bi-cloud-plus-fill::before { content: "\f2b1"; }
+.bi-cloud-plus::before { content: "\f2b2"; }
+.bi-cloud-rain-fill::before { content: "\f2b3"; }
+.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; }
+.bi-cloud-rain-heavy::before { content: "\f2b5"; }
+.bi-cloud-rain::before { content: "\f2b6"; }
+.bi-cloud-slash-fill::before { content: "\f2b7"; }
+.bi-cloud-slash::before { content: "\f2b8"; }
+.bi-cloud-sleet-fill::before { content: "\f2b9"; }
+.bi-cloud-sleet::before { content: "\f2ba"; }
+.bi-cloud-snow-fill::before { content: "\f2bb"; }
+.bi-cloud-snow::before { content: "\f2bc"; }
+.bi-cloud-sun-fill::before { content: "\f2bd"; }
+.bi-cloud-sun::before { content: "\f2be"; }
+.bi-cloud-upload-fill::before { content: "\f2bf"; }
+.bi-cloud-upload::before { content: "\f2c0"; }
+.bi-cloud::before { content: "\f2c1"; }
+.bi-clouds-fill::before { content: "\f2c2"; }
+.bi-clouds::before { content: "\f2c3"; }
+.bi-cloudy-fill::before { content: "\f2c4"; }
+.bi-cloudy::before { content: "\f2c5"; }
+.bi-code-slash::before { content: "\f2c6"; }
+.bi-code-square::before { content: "\f2c7"; }
+.bi-code::before { content: "\f2c8"; }
+.bi-collection-fill::before { content: "\f2c9"; }
+.bi-collection-play-fill::before { content: "\f2ca"; }
+.bi-collection-play::before { content: "\f2cb"; }
+.bi-collection::before { content: "\f2cc"; }
+.bi-columns-gap::before { content: "\f2cd"; }
+.bi-columns::before { content: "\f2ce"; }
+.bi-command::before { content: "\f2cf"; }
+.bi-compass-fill::before { content: "\f2d0"; }
+.bi-compass::before { content: "\f2d1"; }
+.bi-cone-striped::before { content: "\f2d2"; }
+.bi-cone::before { content: "\f2d3"; }
+.bi-controller::before { content: "\f2d4"; }
+.bi-cpu-fill::before { content: "\f2d5"; }
+.bi-cpu::before { content: "\f2d6"; }
+.bi-credit-card-2-back-fill::before { content: "\f2d7"; }
+.bi-credit-card-2-back::before { content: "\f2d8"; }
+.bi-credit-card-2-front-fill::before { content: "\f2d9"; }
+.bi-credit-card-2-front::before { content: "\f2da"; }
+.bi-credit-card-fill::before { content: "\f2db"; }
+.bi-credit-card::before { content: "\f2dc"; }
+.bi-crop::before { content: "\f2dd"; }
+.bi-cup-fill::before { content: "\f2de"; }
+.bi-cup-straw::before { content: "\f2df"; }
+.bi-cup::before { content: "\f2e0"; }
+.bi-cursor-fill::before { content: "\f2e1"; }
+.bi-cursor-text::before { content: "\f2e2"; }
+.bi-cursor::before { content: "\f2e3"; }
+.bi-dash-circle-dotted::before { content: "\f2e4"; }
+.bi-dash-circle-fill::before { content: "\f2e5"; }
+.bi-dash-circle::before { content: "\f2e6"; }
+.bi-dash-square-dotted::before { content: "\f2e7"; }
+.bi-dash-square-fill::before { content: "\f2e8"; }
+.bi-dash-square::before { content: "\f2e9"; }
+.bi-dash::before { content: "\f2ea"; }
+.bi-diagram-2-fill::before { content: "\f2eb"; }
+.bi-diagram-2::before { content: "\f2ec"; }
+.bi-diagram-3-fill::before { content: "\f2ed"; }
+.bi-diagram-3::before { content: "\f2ee"; }
+.bi-diamond-fill::before { content: "\f2ef"; }
+.bi-diamond-half::before { content: "\f2f0"; }
+.bi-diamond::before { content: "\f2f1"; }
+.bi-dice-1-fill::before { content: "\f2f2"; }
+.bi-dice-1::before { content: "\f2f3"; }
+.bi-dice-2-fill::before { content: "\f2f4"; }
+.bi-dice-2::before { content: "\f2f5"; }
+.bi-dice-3-fill::before { content: "\f2f6"; }
+.bi-dice-3::before { content: "\f2f7"; }
+.bi-dice-4-fill::before { content: "\f2f8"; }
+.bi-dice-4::before { content: "\f2f9"; }
+.bi-dice-5-fill::before { content: "\f2fa"; }
+.bi-dice-5::before { content: "\f2fb"; }
+.bi-dice-6-fill::before { content: "\f2fc"; }
+.bi-dice-6::before { content: "\f2fd"; }
+.bi-disc-fill::before { content: "\f2fe"; }
+.bi-disc::before { content: "\f2ff"; }
+.bi-discord::before { content: "\f300"; }
+.bi-display-fill::before { content: "\f301"; }
+.bi-display::before { content: "\f302"; }
+.bi-distribute-horizontal::before { content: "\f303"; }
+.bi-distribute-vertical::before { content: "\f304"; }
+.bi-door-closed-fill::before { content: "\f305"; }
+.bi-door-closed::before { content: "\f306"; }
+.bi-door-open-fill::before { content: "\f307"; }
+.bi-door-open::before { content: "\f308"; }
+.bi-dot::before { content: "\f309"; }
+.bi-download::before { content: "\f30a"; }
+.bi-droplet-fill::before { content: "\f30b"; }
+.bi-droplet-half::before { content: "\f30c"; }
+.bi-droplet::before { content: "\f30d"; }
+.bi-earbuds::before { content: "\f30e"; }
+.bi-easel-fill::before { content: "\f30f"; }
+.bi-easel::before { content: "\f310"; }
+.bi-egg-fill::before { content: "\f311"; }
+.bi-egg-fried::before { content: "\f312"; }
+.bi-egg::before { content: "\f313"; }
+.bi-eject-fill::before { content: "\f314"; }
+.bi-eject::before { content: "\f315"; }
+.bi-emoji-angry-fill::before { content: "\f316"; }
+.bi-emoji-angry::before { content: "\f317"; }
+.bi-emoji-dizzy-fill::before { content: "\f318"; }
+.bi-emoji-dizzy::before { content: "\f319"; }
+.bi-emoji-expressionless-fill::before { content: "\f31a"; }
+.bi-emoji-expressionless::before { content: "\f31b"; }
+.bi-emoji-frown-fill::before { content: "\f31c"; }
+.bi-emoji-frown::before { content: "\f31d"; }
+.bi-emoji-heart-eyes-fill::before { content: "\f31e"; }
+.bi-emoji-heart-eyes::before { content: "\f31f"; }
+.bi-emoji-laughing-fill::before { content: "\f320"; }
+.bi-emoji-laughing::before { content: "\f321"; }
+.bi-emoji-neutral-fill::before { content: "\f322"; }
+.bi-emoji-neutral::before { content: "\f323"; }
+.bi-emoji-smile-fill::before { content: "\f324"; }
+.bi-emoji-smile-upside-down-fill::before { content: "\f325"; }
+.bi-emoji-smile-upside-down::before { content: "\f326"; }
+.bi-emoji-smile::before { content: "\f327"; }
+.bi-emoji-sunglasses-fill::before { content: "\f328"; }
+.bi-emoji-sunglasses::before { content: "\f329"; }
+.bi-emoji-wink-fill::before { content: "\f32a"; }
+.bi-emoji-wink::before { content: "\f32b"; }
+.bi-envelope-fill::before { content: "\f32c"; }
+.bi-envelope-open-fill::before { content: "\f32d"; }
+.bi-envelope-open::before { content: "\f32e"; }
+.bi-envelope::before { content: "\f32f"; }
+.bi-eraser-fill::before { content: "\f330"; }
+.bi-eraser::before { content: "\f331"; }
+.bi-exclamation-circle-fill::before { content: "\f332"; }
+.bi-exclamation-circle::before { content: "\f333"; }
+.bi-exclamation-diamond-fill::before { content: "\f334"; }
+.bi-exclamation-diamond::before { content: "\f335"; }
+.bi-exclamation-octagon-fill::before { content: "\f336"; }
+.bi-exclamation-octagon::before { content: "\f337"; }
+.bi-exclamation-square-fill::before { content: "\f338"; }
+.bi-exclamation-square::before { content: "\f339"; }
+.bi-exclamation-triangle-fill::before { content: "\f33a"; }
+.bi-exclamation-triangle::before { content: "\f33b"; }
+.bi-exclamation::before { content: "\f33c"; }
+.bi-exclude::before { content: "\f33d"; }
+.bi-eye-fill::before { content: "\f33e"; }
+.bi-eye-slash-fill::before { content: "\f33f"; }
+.bi-eye-slash::before { content: "\f340"; }
+.bi-eye::before { content: "\f341"; }
+.bi-eyedropper::before { content: "\f342"; }
+.bi-eyeglasses::before { content: "\f343"; }
+.bi-facebook::before { content: "\f344"; }
+.bi-file-arrow-down-fill::before { content: "\f345"; }
+.bi-file-arrow-down::before { content: "\f346"; }
+.bi-file-arrow-up-fill::before { content: "\f347"; }
+.bi-file-arrow-up::before { content: "\f348"; }
+.bi-file-bar-graph-fill::before { content: "\f349"; }
+.bi-file-bar-graph::before { content: "\f34a"; }
+.bi-file-binary-fill::before { content: "\f34b"; }
+.bi-file-binary::before { content: "\f34c"; }
+.bi-file-break-fill::before { content: "\f34d"; }
+.bi-file-break::before { content: "\f34e"; }
+.bi-file-check-fill::before { content: "\f34f"; }
+.bi-file-check::before { content: "\f350"; }
+.bi-file-code-fill::before { content: "\f351"; }
+.bi-file-code::before { content: "\f352"; }
+.bi-file-diff-fill::before { content: "\f353"; }
+.bi-file-diff::before { content: "\f354"; }
+.bi-file-earmark-arrow-down-fill::before { content: "\f355"; }
+.bi-file-earmark-arrow-down::before { content: "\f356"; }
+.bi-file-earmark-arrow-up-fill::before { content: "\f357"; }
+.bi-file-earmark-arrow-up::before { content: "\f358"; }
+.bi-file-earmark-bar-graph-fill::before { content: "\f359"; }
+.bi-file-earmark-bar-graph::before { content: "\f35a"; }
+.bi-file-earmark-binary-fill::before { content: "\f35b"; }
+.bi-file-earmark-binary::before { content: "\f35c"; }
+.bi-file-earmark-break-fill::before { content: "\f35d"; }
+.bi-file-earmark-break::before { content: "\f35e"; }
+.bi-file-earmark-check-fill::before { content: "\f35f"; }
+.bi-file-earmark-check::before { content: "\f360"; }
+.bi-file-earmark-code-fill::before { content: "\f361"; }
+.bi-file-earmark-code::before { content: "\f362"; }
+.bi-file-earmark-diff-fill::before { content: "\f363"; }
+.bi-file-earmark-diff::before { content: "\f364"; }
+.bi-file-earmark-easel-fill::before { content: "\f365"; }
+.bi-file-earmark-easel::before { content: "\f366"; }
+.bi-file-earmark-excel-fill::before { content: "\f367"; }
+.bi-file-earmark-excel::before { content: "\f368"; }
+.bi-file-earmark-fill::before { content: "\f369"; }
+.bi-file-earmark-font-fill::before { content: "\f36a"; }
+.bi-file-earmark-font::before { content: "\f36b"; }
+.bi-file-earmark-image-fill::before { content: "\f36c"; }
+.bi-file-earmark-image::before { content: "\f36d"; }
+.bi-file-earmark-lock-fill::before { content: "\f36e"; }
+.bi-file-earmark-lock::before { content: "\f36f"; }
+.bi-file-earmark-lock2-fill::before { content: "\f370"; }
+.bi-file-earmark-lock2::before { content: "\f371"; }
+.bi-file-earmark-medical-fill::before { content: "\f372"; }
+.bi-file-earmark-medical::before { content: "\f373"; }
+.bi-file-earmark-minus-fill::before { content: "\f374"; }
+.bi-file-earmark-minus::before { content: "\f375"; }
+.bi-file-earmark-music-fill::before { content: "\f376"; }
+.bi-file-earmark-music::before { content: "\f377"; }
+.bi-file-earmark-person-fill::before { content: "\f378"; }
+.bi-file-earmark-person::before { content: "\f379"; }
+.bi-file-earmark-play-fill::before { content: "\f37a"; }
+.bi-file-earmark-play::before { content: "\f37b"; }
+.bi-file-earmark-plus-fill::before { content: "\f37c"; }
+.bi-file-earmark-plus::before { content: "\f37d"; }
+.bi-file-earmark-post-fill::before { content: "\f37e"; }
+.bi-file-earmark-post::before { content: "\f37f"; }
+.bi-file-earmark-ppt-fill::before { content: "\f380"; }
+.bi-file-earmark-ppt::before { content: "\f381"; }
+.bi-file-earmark-richtext-fill::before { content: "\f382"; }
+.bi-file-earmark-richtext::before { content: "\f383"; }
+.bi-file-earmark-ruled-fill::before { content: "\f384"; }
+.bi-file-earmark-ruled::before { content: "\f385"; }
+.bi-file-earmark-slides-fill::before { content: "\f386"; }
+.bi-file-earmark-slides::before { content: "\f387"; }
+.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; }
+.bi-file-earmark-spreadsheet::before { content: "\f389"; }
+.bi-file-earmark-text-fill::before { content: "\f38a"; }
+.bi-file-earmark-text::before { content: "\f38b"; }
+.bi-file-earmark-word-fill::before { content: "\f38c"; }
+.bi-file-earmark-word::before { content: "\f38d"; }
+.bi-file-earmark-x-fill::before { content: "\f38e"; }
+.bi-file-earmark-x::before { content: "\f38f"; }
+.bi-file-earmark-zip-fill::before { content: "\f390"; }
+.bi-file-earmark-zip::before { content: "\f391"; }
+.bi-file-earmark::before { content: "\f392"; }
+.bi-file-easel-fill::before { content: "\f393"; }
+.bi-file-easel::before { content: "\f394"; }
+.bi-file-excel-fill::before { content: "\f395"; }
+.bi-file-excel::before { content: "\f396"; }
+.bi-file-fill::before { content: "\f397"; }
+.bi-file-font-fill::before { content: "\f398"; }
+.bi-file-font::before { content: "\f399"; }
+.bi-file-image-fill::before { content: "\f39a"; }
+.bi-file-image::before { content: "\f39b"; }
+.bi-file-lock-fill::before { content: "\f39c"; }
+.bi-file-lock::before { content: "\f39d"; }
+.bi-file-lock2-fill::before { content: "\f39e"; }
+.bi-file-lock2::before { content: "\f39f"; }
+.bi-file-medical-fill::before { content: "\f3a0"; }
+.bi-file-medical::before { content: "\f3a1"; }
+.bi-file-minus-fill::before { content: "\f3a2"; }
+.bi-file-minus::before { content: "\f3a3"; }
+.bi-file-music-fill::before { content: "\f3a4"; }
+.bi-file-music::before { content: "\f3a5"; }
+.bi-file-person-fill::before { content: "\f3a6"; }
+.bi-file-person::before { content: "\f3a7"; }
+.bi-file-play-fill::before { content: "\f3a8"; }
+.bi-file-play::before { content: "\f3a9"; }
+.bi-file-plus-fill::before { content: "\f3aa"; }
+.bi-file-plus::before { content: "\f3ab"; }
+.bi-file-post-fill::before { content: "\f3ac"; }
+.bi-file-post::before { content: "\f3ad"; }
+.bi-file-ppt-fill::before { content: "\f3ae"; }
+.bi-file-ppt::before { content: "\f3af"; }
+.bi-file-richtext-fill::before { content: "\f3b0"; }
+.bi-file-richtext::before { content: "\f3b1"; }
+.bi-file-ruled-fill::before { content: "\f3b2"; }
+.bi-file-ruled::before { content: "\f3b3"; }
+.bi-file-slides-fill::before { content: "\f3b4"; }
+.bi-file-slides::before { content: "\f3b5"; }
+.bi-file-spreadsheet-fill::before { content: "\f3b6"; }
+.bi-file-spreadsheet::before { content: "\f3b7"; }
+.bi-file-text-fill::before { content: "\f3b8"; }
+.bi-file-text::before { content: "\f3b9"; }
+.bi-file-word-fill::before { content: "\f3ba"; }
+.bi-file-word::before { content: "\f3bb"; }
+.bi-file-x-fill::before { content: "\f3bc"; }
+.bi-file-x::before { content: "\f3bd"; }
+.bi-file-zip-fill::before { content: "\f3be"; }
+.bi-file-zip::before { content: "\f3bf"; }
+.bi-file::before { content: "\f3c0"; }
+.bi-files-alt::before { content: "\f3c1"; }
+.bi-files::before { content: "\f3c2"; }
+.bi-film::before { content: "\f3c3"; }
+.bi-filter-circle-fill::before { content: "\f3c4"; }
+.bi-filter-circle::before { content: "\f3c5"; }
+.bi-filter-left::before { content: "\f3c6"; }
+.bi-filter-right::before { content: "\f3c7"; }
+.bi-filter-square-fill::before { content: "\f3c8"; }
+.bi-filter-square::before { content: "\f3c9"; }
+.bi-filter::before { content: "\f3ca"; }
+.bi-flag-fill::before { content: "\f3cb"; }
+.bi-flag::before { content: "\f3cc"; }
+.bi-flower1::before { content: "\f3cd"; }
+.bi-flower2::before { content: "\f3ce"; }
+.bi-flower3::before { content: "\f3cf"; }
+.bi-folder-check::before { content: "\f3d0"; }
+.bi-folder-fill::before { content: "\f3d1"; }
+.bi-folder-minus::before { content: "\f3d2"; }
+.bi-folder-plus::before { content: "\f3d3"; }
+.bi-folder-symlink-fill::before { content: "\f3d4"; }
+.bi-folder-symlink::before { content: "\f3d5"; }
+.bi-folder-x::before { content: "\f3d6"; }
+.bi-folder::before { content: "\f3d7"; }
+.bi-folder2-open::before { content: "\f3d8"; }
+.bi-folder2::before { content: "\f3d9"; }
+.bi-fonts::before { content: "\f3da"; }
+.bi-forward-fill::before { content: "\f3db"; }
+.bi-forward::before { content: "\f3dc"; }
+.bi-front::before { content: "\f3dd"; }
+.bi-fullscreen-exit::before { content: "\f3de"; }
+.bi-fullscreen::before { content: "\f3df"; }
+.bi-funnel-fill::before { content: "\f3e0"; }
+.bi-funnel::before { content: "\f3e1"; }
+.bi-gear-fill::before { content: "\f3e2"; }
+.bi-gear-wide-connected::before { content: "\f3e3"; }
+.bi-gear-wide::before { content: "\f3e4"; }
+.bi-gear::before { content: "\f3e5"; }
+.bi-gem::before { content: "\f3e6"; }
+.bi-geo-alt-fill::before { content: "\f3e7"; }
+.bi-geo-alt::before { content: "\f3e8"; }
+.bi-geo-fill::before { content: "\f3e9"; }
+.bi-geo::before { content: "\f3ea"; }
+.bi-gift-fill::before { content: "\f3eb"; }
+.bi-gift::before { content: "\f3ec"; }
+.bi-github::before { content: "\f3ed"; }
+.bi-globe::before { content: "\f3ee"; }
+.bi-globe2::before { content: "\f3ef"; }
+.bi-google::before { content: "\f3f0"; }
+.bi-graph-down::before { content: "\f3f1"; }
+.bi-graph-up::before { content: "\f3f2"; }
+.bi-grid-1x2-fill::before { content: "\f3f3"; }
+.bi-grid-1x2::before { content: "\f3f4"; }
+.bi-grid-3x2-gap-fill::before { content: "\f3f5"; }
+.bi-grid-3x2-gap::before { content: "\f3f6"; }
+.bi-grid-3x2::before { content: "\f3f7"; }
+.bi-grid-3x3-gap-fill::before { content: "\f3f8"; }
+.bi-grid-3x3-gap::before { content: "\f3f9"; }
+.bi-grid-3x3::before { content: "\f3fa"; }
+.bi-grid-fill::before { content: "\f3fb"; }
+.bi-grid::before { content: "\f3fc"; }
+.bi-grip-horizontal::before { content: "\f3fd"; }
+.bi-grip-vertical::before { content: "\f3fe"; }
+.bi-hammer::before { content: "\f3ff"; }
+.bi-hand-index-fill::before { content: "\f400"; }
+.bi-hand-index-thumb-fill::before { content: "\f401"; }
+.bi-hand-index-thumb::before { content: "\f402"; }
+.bi-hand-index::before { content: "\f403"; }
+.bi-hand-thumbs-down-fill::before { content: "\f404"; }
+.bi-hand-thumbs-down::before { content: "\f405"; }
+.bi-hand-thumbs-up-fill::before { content: "\f406"; }
+.bi-hand-thumbs-up::before { content: "\f407"; }
+.bi-handbag-fill::before { content: "\f408"; }
+.bi-handbag::before { content: "\f409"; }
+.bi-hash::before { content: "\f40a"; }
+.bi-hdd-fill::before { content: "\f40b"; }
+.bi-hdd-network-fill::before { content: "\f40c"; }
+.bi-hdd-network::before { content: "\f40d"; }
+.bi-hdd-rack-fill::before { content: "\f40e"; }
+.bi-hdd-rack::before { content: "\f40f"; }
+.bi-hdd-stack-fill::before { content: "\f410"; }
+.bi-hdd-stack::before { content: "\f411"; }
+.bi-hdd::before { content: "\f412"; }
+.bi-headphones::before { content: "\f413"; }
+.bi-headset::before { content: "\f414"; }
+.bi-heart-fill::before { content: "\f415"; }
+.bi-heart-half::before { content: "\f416"; }
+.bi-heart::before { content: "\f417"; }
+.bi-heptagon-fill::before { content: "\f418"; }
+.bi-heptagon-half::before { content: "\f419"; }
+.bi-heptagon::before { content: "\f41a"; }
+.bi-hexagon-fill::before { content: "\f41b"; }
+.bi-hexagon-half::before { content: "\f41c"; }
+.bi-hexagon::before { content: "\f41d"; }
+.bi-hourglass-bottom::before { content: "\f41e"; }
+.bi-hourglass-split::before { content: "\f41f"; }
+.bi-hourglass-top::before { content: "\f420"; }
+.bi-hourglass::before { content: "\f421"; }
+.bi-house-door-fill::before { content: "\f422"; }
+.bi-house-door::before { content: "\f423"; }
+.bi-house-fill::before { content: "\f424"; }
+.bi-house::before { content: "\f425"; }
+.bi-hr::before { content: "\f426"; }
+.bi-hurricane::before { content: "\f427"; }
+.bi-image-alt::before { content: "\f428"; }
+.bi-image-fill::before { content: "\f429"; }
+.bi-image::before { content: "\f42a"; }
+.bi-images::before { content: "\f42b"; }
+.bi-inbox-fill::before { content: "\f42c"; }
+.bi-inbox::before { content: "\f42d"; }
+.bi-inboxes-fill::before { content: "\f42e"; }
+.bi-inboxes::before { content: "\f42f"; }
+.bi-info-circle-fill::before { content: "\f430"; }
+.bi-info-circle::before { content: "\f431"; }
+.bi-info-square-fill::before { content: "\f432"; }
+.bi-info-square::before { content: "\f433"; }
+.bi-info::before { content: "\f434"; }
+.bi-input-cursor-text::before { content: "\f435"; }
+.bi-input-cursor::before { content: "\f436"; }
+.bi-instagram::before { content: "\f437"; }
+.bi-intersect::before { content: "\f438"; }
+.bi-journal-album::before { content: "\f439"; }
+.bi-journal-arrow-down::before { content: "\f43a"; }
+.bi-journal-arrow-up::before { content: "\f43b"; }
+.bi-journal-bookmark-fill::before { content: "\f43c"; }
+.bi-journal-bookmark::before { content: "\f43d"; }
+.bi-journal-check::before { content: "\f43e"; }
+.bi-journal-code::before { content: "\f43f"; }
+.bi-journal-medical::before { content: "\f440"; }
+.bi-journal-minus::before { content: "\f441"; }
+.bi-journal-plus::before { content: "\f442"; }
+.bi-journal-richtext::before { content: "\f443"; }
+.bi-journal-text::before { content: "\f444"; }
+.bi-journal-x::before { content: "\f445"; }
+.bi-journal::before { content: "\f446"; }
+.bi-journals::before { content: "\f447"; }
+.bi-joystick::before { content: "\f448"; }
+.bi-justify-left::before { content: "\f449"; }
+.bi-justify-right::before { content: "\f44a"; }
+.bi-justify::before { content: "\f44b"; }
+.bi-kanban-fill::before { content: "\f44c"; }
+.bi-kanban::before { content: "\f44d"; }
+.bi-key-fill::before { content: "\f44e"; }
+.bi-key::before { content: "\f44f"; }
+.bi-keyboard-fill::before { content: "\f450"; }
+.bi-keyboard::before { content: "\f451"; }
+.bi-ladder::before { content: "\f452"; }
+.bi-lamp-fill::before { content: "\f453"; }
+.bi-lamp::before { content: "\f454"; }
+.bi-laptop-fill::before { content: "\f455"; }
+.bi-laptop::before { content: "\f456"; }
+.bi-layer-backward::before { content: "\f457"; }
+.bi-layer-forward::before { content: "\f458"; }
+.bi-layers-fill::before { content: "\f459"; }
+.bi-layers-half::before { content: "\f45a"; }
+.bi-layers::before { content: "\f45b"; }
+.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; }
+.bi-layout-sidebar-inset::before { content: "\f45d"; }
+.bi-layout-sidebar-reverse::before { content: "\f45e"; }
+.bi-layout-sidebar::before { content: "\f45f"; }
+.bi-layout-split::before { content: "\f460"; }
+.bi-layout-text-sidebar-reverse::before { content: "\f461"; }
+.bi-layout-text-sidebar::before { content: "\f462"; }
+.bi-layout-text-window-reverse::before { content: "\f463"; }
+.bi-layout-text-window::before { content: "\f464"; }
+.bi-layout-three-columns::before { content: "\f465"; }
+.bi-layout-wtf::before { content: "\f466"; }
+.bi-life-preserver::before { content: "\f467"; }
+.bi-lightbulb-fill::before { content: "\f468"; }
+.bi-lightbulb-off-fill::before { content: "\f469"; }
+.bi-lightbulb-off::before { content: "\f46a"; }
+.bi-lightbulb::before { content: "\f46b"; }
+.bi-lightning-charge-fill::before { content: "\f46c"; }
+.bi-lightning-charge::before { content: "\f46d"; }
+.bi-lightning-fill::before { content: "\f46e"; }
+.bi-lightning::before { content: "\f46f"; }
+.bi-link-45deg::before { content: "\f470"; }
+.bi-link::before { content: "\f471"; }
+.bi-linkedin::before { content: "\f472"; }
+.bi-list-check::before { content: "\f473"; }
+.bi-list-nested::before { content: "\f474"; }
+.bi-list-ol::before { content: "\f475"; }
+.bi-list-stars::before { content: "\f476"; }
+.bi-list-task::before { content: "\f477"; }
+.bi-list-ul::before { content: "\f478"; }
+.bi-list::before { content: "\f479"; }
+.bi-lock-fill::before { content: "\f47a"; }
+.bi-lock::before { content: "\f47b"; }
+.bi-mailbox::before { content: "\f47c"; }
+.bi-mailbox2::before { content: "\f47d"; }
+.bi-map-fill::before { content: "\f47e"; }
+.bi-map::before { content: "\f47f"; }
+.bi-markdown-fill::before { content: "\f480"; }
+.bi-markdown::before { content: "\f481"; }
+.bi-mask::before { content: "\f482"; }
+.bi-megaphone-fill::before { content: "\f483"; }
+.bi-megaphone::before { content: "\f484"; }
+.bi-menu-app-fill::before { content: "\f485"; }
+.bi-menu-app::before { content: "\f486"; }
+.bi-menu-button-fill::before { content: "\f487"; }
+.bi-menu-button-wide-fill::before { content: "\f488"; }
+.bi-menu-button-wide::before { content: "\f489"; }
+.bi-menu-button::before { content: "\f48a"; }
+.bi-menu-down::before { content: "\f48b"; }
+.bi-menu-up::before { content: "\f48c"; }
+.bi-mic-fill::before { content: "\f48d"; }
+.bi-mic-mute-fill::before { content: "\f48e"; }
+.bi-mic-mute::before { content: "\f48f"; }
+.bi-mic::before { content: "\f490"; }
+.bi-minecart-loaded::before { content: "\f491"; }
+.bi-minecart::before { content: "\f492"; }
+.bi-moisture::before { content: "\f493"; }
+.bi-moon-fill::before { content: "\f494"; }
+.bi-moon-stars-fill::before { content: "\f495"; }
+.bi-moon-stars::before { content: "\f496"; }
+.bi-moon::before { content: "\f497"; }
+.bi-mouse-fill::before { content: "\f498"; }
+.bi-mouse::before { content: "\f499"; }
+.bi-mouse2-fill::before { content: "\f49a"; }
+.bi-mouse2::before { content: "\f49b"; }
+.bi-mouse3-fill::before { content: "\f49c"; }
+.bi-mouse3::before { content: "\f49d"; }
+.bi-music-note-beamed::before { content: "\f49e"; }
+.bi-music-note-list::before { content: "\f49f"; }
+.bi-music-note::before { content: "\f4a0"; }
+.bi-music-player-fill::before { content: "\f4a1"; }
+.bi-music-player::before { content: "\f4a2"; }
+.bi-newspaper::before { content: "\f4a3"; }
+.bi-node-minus-fill::before { content: "\f4a4"; }
+.bi-node-minus::before { content: "\f4a5"; }
+.bi-node-plus-fill::before { content: "\f4a6"; }
+.bi-node-plus::before { content: "\f4a7"; }
+.bi-nut-fill::before { content: "\f4a8"; }
+.bi-nut::before { content: "\f4a9"; }
+.bi-octagon-fill::before { content: "\f4aa"; }
+.bi-octagon-half::before { content: "\f4ab"; }
+.bi-octagon::before { content: "\f4ac"; }
+.bi-option::before { content: "\f4ad"; }
+.bi-outlet::before { content: "\f4ae"; }
+.bi-paint-bucket::before { content: "\f4af"; }
+.bi-palette-fill::before { content: "\f4b0"; }
+.bi-palette::before { content: "\f4b1"; }
+.bi-palette2::before { content: "\f4b2"; }
+.bi-paperclip::before { content: "\f4b3"; }
+.bi-paragraph::before { content: "\f4b4"; }
+.bi-patch-check-fill::before { content: "\f4b5"; }
+.bi-patch-check::before { content: "\f4b6"; }
+.bi-patch-exclamation-fill::before { content: "\f4b7"; }
+.bi-patch-exclamation::before { content: "\f4b8"; }
+.bi-patch-minus-fill::before { content: "\f4b9"; }
+.bi-patch-minus::before { content: "\f4ba"; }
+.bi-patch-plus-fill::before { content: "\f4bb"; }
+.bi-patch-plus::before { content: "\f4bc"; }
+.bi-patch-question-fill::before { content: "\f4bd"; }
+.bi-patch-question::before { content: "\f4be"; }
+.bi-pause-btn-fill::before { content: "\f4bf"; }
+.bi-pause-btn::before { content: "\f4c0"; }
+.bi-pause-circle-fill::before { content: "\f4c1"; }
+.bi-pause-circle::before { content: "\f4c2"; }
+.bi-pause-fill::before { content: "\f4c3"; }
+.bi-pause::before { content: "\f4c4"; }
+.bi-peace-fill::before { content: "\f4c5"; }
+.bi-peace::before { content: "\f4c6"; }
+.bi-pen-fill::before { content: "\f4c7"; }
+.bi-pen::before { content: "\f4c8"; }
+.bi-pencil-fill::before { content: "\f4c9"; }
+.bi-pencil-square::before { content: "\f4ca"; }
+.bi-pencil::before { content: "\f4cb"; }
+.bi-pentagon-fill::before { content: "\f4cc"; }
+.bi-pentagon-half::before { content: "\f4cd"; }
+.bi-pentagon::before { content: "\f4ce"; }
+.bi-people-fill::before { content: "\f4cf"; }
+.bi-people::before { content: "\f4d0"; }
+.bi-percent::before { content: "\f4d1"; }
+.bi-person-badge-fill::before { content: "\f4d2"; }
+.bi-person-badge::before { content: "\f4d3"; }
+.bi-person-bounding-box::before { content: "\f4d4"; }
+.bi-person-check-fill::before { content: "\f4d5"; }
+.bi-person-check::before { content: "\f4d6"; }
+.bi-person-circle::before { content: "\f4d7"; }
+.bi-person-dash-fill::before { content: "\f4d8"; }
+.bi-person-dash::before { content: "\f4d9"; }
+.bi-person-fill::before { content: "\f4da"; }
+.bi-person-lines-fill::before { content: "\f4db"; }
+.bi-person-plus-fill::before { content: "\f4dc"; }
+.bi-person-plus::before { content: "\f4dd"; }
+.bi-person-square::before { content: "\f4de"; }
+.bi-person-x-fill::before { content: "\f4df"; }
+.bi-person-x::before { content: "\f4e0"; }
+.bi-person::before { content: "\f4e1"; }
+.bi-phone-fill::before { content: "\f4e2"; }
+.bi-phone-landscape-fill::before { content: "\f4e3"; }
+.bi-phone-landscape::before { content: "\f4e4"; }
+.bi-phone-vibrate-fill::before { content: "\f4e5"; }
+.bi-phone-vibrate::before { content: "\f4e6"; }
+.bi-phone::before { content: "\f4e7"; }
+.bi-pie-chart-fill::before { content: "\f4e8"; }
+.bi-pie-chart::before { content: "\f4e9"; }
+.bi-pin-angle-fill::before { content: "\f4ea"; }
+.bi-pin-angle::before { content: "\f4eb"; }
+.bi-pin-fill::before { content: "\f4ec"; }
+.bi-pin::before { content: "\f4ed"; }
+.bi-pip-fill::before { content: "\f4ee"; }
+.bi-pip::before { content: "\f4ef"; }
+.bi-play-btn-fill::before { content: "\f4f0"; }
+.bi-play-btn::before { content: "\f4f1"; }
+.bi-play-circle-fill::before { content: "\f4f2"; }
+.bi-play-circle::before { content: "\f4f3"; }
+.bi-play-fill::before { content: "\f4f4"; }
+.bi-play::before { content: "\f4f5"; }
+.bi-plug-fill::before { content: "\f4f6"; }
+.bi-plug::before { content: "\f4f7"; }
+.bi-plus-circle-dotted::before { content: "\f4f8"; }
+.bi-plus-circle-fill::before { content: "\f4f9"; }
+.bi-plus-circle::before { content: "\f4fa"; }
+.bi-plus-square-dotted::before { content: "\f4fb"; }
+.bi-plus-square-fill::before { content: "\f4fc"; }
+.bi-plus-square::before { content: "\f4fd"; }
+.bi-plus::before { content: "\f4fe"; }
+.bi-power::before { content: "\f4ff"; }
+.bi-printer-fill::before { content: "\f500"; }
+.bi-printer::before { content: "\f501"; }
+.bi-puzzle-fill::before { content: "\f502"; }
+.bi-puzzle::before { content: "\f503"; }
+.bi-question-circle-fill::before { content: "\f504"; }
+.bi-question-circle::before { content: "\f505"; }
+.bi-question-diamond-fill::before { content: "\f506"; }
+.bi-question-diamond::before { content: "\f507"; }
+.bi-question-octagon-fill::before { content: "\f508"; }
+.bi-question-octagon::before { content: "\f509"; }
+.bi-question-square-fill::before { content: "\f50a"; }
+.bi-question-square::before { content: "\f50b"; }
+.bi-question::before { content: "\f50c"; }
+.bi-rainbow::before { content: "\f50d"; }
+.bi-receipt-cutoff::before { content: "\f50e"; }
+.bi-receipt::before { content: "\f50f"; }
+.bi-reception-0::before { content: "\f510"; }
+.bi-reception-1::before { content: "\f511"; }
+.bi-reception-2::before { content: "\f512"; }
+.bi-reception-3::before { content: "\f513"; }
+.bi-reception-4::before { content: "\f514"; }
+.bi-record-btn-fill::before { content: "\f515"; }
+.bi-record-btn::before { content: "\f516"; }
+.bi-record-circle-fill::before { content: "\f517"; }
+.bi-record-circle::before { content: "\f518"; }
+.bi-record-fill::before { content: "\f519"; }
+.bi-record::before { content: "\f51a"; }
+.bi-record2-fill::before { content: "\f51b"; }
+.bi-record2::before { content: "\f51c"; }
+.bi-reply-all-fill::before { content: "\f51d"; }
+.bi-reply-all::before { content: "\f51e"; }
+.bi-reply-fill::before { content: "\f51f"; }
+.bi-reply::before { content: "\f520"; }
+.bi-rss-fill::before { content: "\f521"; }
+.bi-rss::before { content: "\f522"; }
+.bi-rulers::before { content: "\f523"; }
+.bi-save-fill::before { content: "\f524"; }
+.bi-save::before { content: "\f525"; }
+.bi-save2-fill::before { content: "\f526"; }
+.bi-save2::before { content: "\f527"; }
+.bi-scissors::before { content: "\f528"; }
+.bi-screwdriver::before { content: "\f529"; }
+.bi-search::before { content: "\f52a"; }
+.bi-segmented-nav::before { content: "\f52b"; }
+.bi-server::before { content: "\f52c"; }
+.bi-share-fill::before { content: "\f52d"; }
+.bi-share::before { content: "\f52e"; }
+.bi-shield-check::before { content: "\f52f"; }
+.bi-shield-exclamation::before { content: "\f530"; }
+.bi-shield-fill-check::before { content: "\f531"; }
+.bi-shield-fill-exclamation::before { content: "\f532"; }
+.bi-shield-fill-minus::before { content: "\f533"; }
+.bi-shield-fill-plus::before { content: "\f534"; }
+.bi-shield-fill-x::before { content: "\f535"; }
+.bi-shield-fill::before { content: "\f536"; }
+.bi-shield-lock-fill::before { content: "\f537"; }
+.bi-shield-lock::before { content: "\f538"; }
+.bi-shield-minus::before { content: "\f539"; }
+.bi-shield-plus::before { content: "\f53a"; }
+.bi-shield-shaded::before { content: "\f53b"; }
+.bi-shield-slash-fill::before { content: "\f53c"; }
+.bi-shield-slash::before { content: "\f53d"; }
+.bi-shield-x::before { content: "\f53e"; }
+.bi-shield::before { content: "\f53f"; }
+.bi-shift-fill::before { content: "\f540"; }
+.bi-shift::before { content: "\f541"; }
+.bi-shop-window::before { content: "\f542"; }
+.bi-shop::before { content: "\f543"; }
+.bi-shuffle::before { content: "\f544"; }
+.bi-signpost-2-fill::before { content: "\f545"; }
+.bi-signpost-2::before { content: "\f546"; }
+.bi-signpost-fill::before { content: "\f547"; }
+.bi-signpost-split-fill::before { content: "\f548"; }
+.bi-signpost-split::before { content: "\f549"; }
+.bi-signpost::before { content: "\f54a"; }
+.bi-sim-fill::before { content: "\f54b"; }
+.bi-sim::before { content: "\f54c"; }
+.bi-skip-backward-btn-fill::before { content: "\f54d"; }
+.bi-skip-backward-btn::before { content: "\f54e"; }
+.bi-skip-backward-circle-fill::before { content: "\f54f"; }
+.bi-skip-backward-circle::before { content: "\f550"; }
+.bi-skip-backward-fill::before { content: "\f551"; }
+.bi-skip-backward::before { content: "\f552"; }
+.bi-skip-end-btn-fill::before { content: "\f553"; }
+.bi-skip-end-btn::before { content: "\f554"; }
+.bi-skip-end-circle-fill::before { content: "\f555"; }
+.bi-skip-end-circle::before { content: "\f556"; }
+.bi-skip-end-fill::before { content: "\f557"; }
+.bi-skip-end::before { content: "\f558"; }
+.bi-skip-forward-btn-fill::before { content: "\f559"; }
+.bi-skip-forward-btn::before { content: "\f55a"; }
+.bi-skip-forward-circle-fill::before { content: "\f55b"; }
+.bi-skip-forward-circle::before { content: "\f55c"; }
+.bi-skip-forward-fill::before { content: "\f55d"; }
+.bi-skip-forward::before { content: "\f55e"; }
+.bi-skip-start-btn-fill::before { content: "\f55f"; }
+.bi-skip-start-btn::before { content: "\f560"; }
+.bi-skip-start-circle-fill::before { content: "\f561"; }
+.bi-skip-start-circle::before { content: "\f562"; }
+.bi-skip-start-fill::before { content: "\f563"; }
+.bi-skip-start::before { content: "\f564"; }
+.bi-slack::before { content: "\f565"; }
+.bi-slash-circle-fill::before { content: "\f566"; }
+.bi-slash-circle::before { content: "\f567"; }
+.bi-slash-square-fill::before { content: "\f568"; }
+.bi-slash-square::before { content: "\f569"; }
+.bi-slash::before { content: "\f56a"; }
+.bi-sliders::before { content: "\f56b"; }
+.bi-smartwatch::before { content: "\f56c"; }
+.bi-snow::before { content: "\f56d"; }
+.bi-snow2::before { content: "\f56e"; }
+.bi-snow3::before { content: "\f56f"; }
+.bi-sort-alpha-down-alt::before { content: "\f570"; }
+.bi-sort-alpha-down::before { content: "\f571"; }
+.bi-sort-alpha-up-alt::before { content: "\f572"; }
+.bi-sort-alpha-up::before { content: "\f573"; }
+.bi-sort-down-alt::before { content: "\f574"; }
+.bi-sort-down::before { content: "\f575"; }
+.bi-sort-numeric-down-alt::before { content: "\f576"; }
+.bi-sort-numeric-down::before { content: "\f577"; }
+.bi-sort-numeric-up-alt::before { content: "\f578"; }
+.bi-sort-numeric-up::before { content: "\f579"; }
+.bi-sort-up-alt::before { content: "\f57a"; }
+.bi-sort-up::before { content: "\f57b"; }
+.bi-soundwave::before { content: "\f57c"; }
+.bi-speaker-fill::before { content: "\f57d"; }
+.bi-speaker::before { content: "\f57e"; }
+.bi-speedometer::before { content: "\f57f"; }
+.bi-speedometer2::before { content: "\f580"; }
+.bi-spellcheck::before { content: "\f581"; }
+.bi-square-fill::before { content: "\f582"; }
+.bi-square-half::before { content: "\f583"; }
+.bi-square::before { content: "\f584"; }
+.bi-stack::before { content: "\f585"; }
+.bi-star-fill::before { content: "\f586"; }
+.bi-star-half::before { content: "\f587"; }
+.bi-star::before { content: "\f588"; }
+.bi-stars::before { content: "\f589"; }
+.bi-stickies-fill::before { content: "\f58a"; }
+.bi-stickies::before { content: "\f58b"; }
+.bi-sticky-fill::before { content: "\f58c"; }
+.bi-sticky::before { content: "\f58d"; }
+.bi-stop-btn-fill::before { content: "\f58e"; }
+.bi-stop-btn::before { content: "\f58f"; }
+.bi-stop-circle-fill::before { content: "\f590"; }
+.bi-stop-circle::before { content: "\f591"; }
+.bi-stop-fill::before { content: "\f592"; }
+.bi-stop::before { content: "\f593"; }
+.bi-stoplights-fill::before { content: "\f594"; }
+.bi-stoplights::before { content: "\f595"; }
+.bi-stopwatch-fill::before { content: "\f596"; }
+.bi-stopwatch::before { content: "\f597"; }
+.bi-subtract::before { content: "\f598"; }
+.bi-suit-club-fill::before { content: "\f599"; }
+.bi-suit-club::before { content: "\f59a"; }
+.bi-suit-diamond-fill::before { content: "\f59b"; }
+.bi-suit-diamond::before { content: "\f59c"; }
+.bi-suit-heart-fill::before { content: "\f59d"; }
+.bi-suit-heart::before { content: "\f59e"; }
+.bi-suit-spade-fill::before { content: "\f59f"; }
+.bi-suit-spade::before { content: "\f5a0"; }
+.bi-sun-fill::before { content: "\f5a1"; }
+.bi-sun::before { content: "\f5a2"; }
+.bi-sunglasses::before { content: "\f5a3"; }
+.bi-sunrise-fill::before { content: "\f5a4"; }
+.bi-sunrise::before { content: "\f5a5"; }
+.bi-sunset-fill::before { content: "\f5a6"; }
+.bi-sunset::before { content: "\f5a7"; }
+.bi-symmetry-horizontal::before { content: "\f5a8"; }
+.bi-symmetry-vertical::before { content: "\f5a9"; }
+.bi-table::before { content: "\f5aa"; }
+.bi-tablet-fill::before { content: "\f5ab"; }
+.bi-tablet-landscape-fill::before { content: "\f5ac"; }
+.bi-tablet-landscape::before { content: "\f5ad"; }
+.bi-tablet::before { content: "\f5ae"; }
+.bi-tag-fill::before { content: "\f5af"; }
+.bi-tag::before { content: "\f5b0"; }
+.bi-tags-fill::before { content: "\f5b1"; }
+.bi-tags::before { content: "\f5b2"; }
+.bi-telegram::before { content: "\f5b3"; }
+.bi-telephone-fill::before { content: "\f5b4"; }
+.bi-telephone-forward-fill::before { content: "\f5b5"; }
+.bi-telephone-forward::before { content: "\f5b6"; }
+.bi-telephone-inbound-fill::before { content: "\f5b7"; }
+.bi-telephone-inbound::before { content: "\f5b8"; }
+.bi-telephone-minus-fill::before { content: "\f5b9"; }
+.bi-telephone-minus::before { content: "\f5ba"; }
+.bi-telephone-outbound-fill::before { content: "\f5bb"; }
+.bi-telephone-outbound::before { content: "\f5bc"; }
+.bi-telephone-plus-fill::before { content: "\f5bd"; }
+.bi-telephone-plus::before { content: "\f5be"; }
+.bi-telephone-x-fill::before { content: "\f5bf"; }
+.bi-telephone-x::before { content: "\f5c0"; }
+.bi-telephone::before { content: "\f5c1"; }
+.bi-terminal-fill::before { content: "\f5c2"; }
+.bi-terminal::before { content: "\f5c3"; }
+.bi-text-center::before { content: "\f5c4"; }
+.bi-text-indent-left::before { content: "\f5c5"; }
+.bi-text-indent-right::before { content: "\f5c6"; }
+.bi-text-left::before { content: "\f5c7"; }
+.bi-text-paragraph::before { content: "\f5c8"; }
+.bi-text-right::before { content: "\f5c9"; }
+.bi-textarea-resize::before { content: "\f5ca"; }
+.bi-textarea-t::before { content: "\f5cb"; }
+.bi-textarea::before { content: "\f5cc"; }
+.bi-thermometer-half::before { content: "\f5cd"; }
+.bi-thermometer-high::before { content: "\f5ce"; }
+.bi-thermometer-low::before { content: "\f5cf"; }
+.bi-thermometer-snow::before { content: "\f5d0"; }
+.bi-thermometer-sun::before { content: "\f5d1"; }
+.bi-thermometer::before { content: "\f5d2"; }
+.bi-three-dots-vertical::before { content: "\f5d3"; }
+.bi-three-dots::before { content: "\f5d4"; }
+.bi-toggle-off::before { content: "\f5d5"; }
+.bi-toggle-on::before { content: "\f5d6"; }
+.bi-toggle2-off::before { content: "\f5d7"; }
+.bi-toggle2-on::before { content: "\f5d8"; }
+.bi-toggles::before { content: "\f5d9"; }
+.bi-toggles2::before { content: "\f5da"; }
+.bi-tools::before { content: "\f5db"; }
+.bi-tornado::before { content: "\f5dc"; }
+.bi-trash-fill::before { content: "\f5dd"; }
+.bi-trash::before { content: "\f5de"; }
+.bi-trash2-fill::before { content: "\f5df"; }
+.bi-trash2::before { content: "\f5e0"; }
+.bi-tree-fill::before { content: "\f5e1"; }
+.bi-tree::before { content: "\f5e2"; }
+.bi-triangle-fill::before { content: "\f5e3"; }
+.bi-triangle-half::before { content: "\f5e4"; }
+.bi-triangle::before { content: "\f5e5"; }
+.bi-trophy-fill::before { content: "\f5e6"; }
+.bi-trophy::before { content: "\f5e7"; }
+.bi-tropical-storm::before { content: "\f5e8"; }
+.bi-truck-flatbed::before { content: "\f5e9"; }
+.bi-truck::before { content: "\f5ea"; }
+.bi-tsunami::before { content: "\f5eb"; }
+.bi-tv-fill::before { content: "\f5ec"; }
+.bi-tv::before { content: "\f5ed"; }
+.bi-twitch::before { content: "\f5ee"; }
+.bi-twitter::before { content: "\f5ef"; }
+.bi-type-bold::before { content: "\f5f0"; }
+.bi-type-h1::before { content: "\f5f1"; }
+.bi-type-h2::before { content: "\f5f2"; }
+.bi-type-h3::before { content: "\f5f3"; }
+.bi-type-italic::before { content: "\f5f4"; }
+.bi-type-strikethrough::before { content: "\f5f5"; }
+.bi-type-underline::before { content: "\f5f6"; }
+.bi-type::before { content: "\f5f7"; }
+.bi-ui-checks-grid::before { content: "\f5f8"; }
+.bi-ui-checks::before { content: "\f5f9"; }
+.bi-ui-radios-grid::before { content: "\f5fa"; }
+.bi-ui-radios::before { content: "\f5fb"; }
+.bi-umbrella-fill::before { content: "\f5fc"; }
+.bi-umbrella::before { content: "\f5fd"; }
+.bi-union::before { content: "\f5fe"; }
+.bi-unlock-fill::before { content: "\f5ff"; }
+.bi-unlock::before { content: "\f600"; }
+.bi-upc-scan::before { content: "\f601"; }
+.bi-upc::before { content: "\f602"; }
+.bi-upload::before { content: "\f603"; }
+.bi-vector-pen::before { content: "\f604"; }
+.bi-view-list::before { content: "\f605"; }
+.bi-view-stacked::before { content: "\f606"; }
+.bi-vinyl-fill::before { content: "\f607"; }
+.bi-vinyl::before { content: "\f608"; }
+.bi-voicemail::before { content: "\f609"; }
+.bi-volume-down-fill::before { content: "\f60a"; }
+.bi-volume-down::before { content: "\f60b"; }
+.bi-volume-mute-fill::before { content: "\f60c"; }
+.bi-volume-mute::before { content: "\f60d"; }
+.bi-volume-off-fill::before { content: "\f60e"; }
+.bi-volume-off::before { content: "\f60f"; }
+.bi-volume-up-fill::before { content: "\f610"; }
+.bi-volume-up::before { content: "\f611"; }
+.bi-vr::before { content: "\f612"; }
+.bi-wallet-fill::before { content: "\f613"; }
+.bi-wallet::before { content: "\f614"; }
+.bi-wallet2::before { content: "\f615"; }
+.bi-watch::before { content: "\f616"; }
+.bi-water::before { content: "\f617"; }
+.bi-whatsapp::before { content: "\f618"; }
+.bi-wifi-1::before { content: "\f619"; }
+.bi-wifi-2::before { content: "\f61a"; }
+.bi-wifi-off::before { content: "\f61b"; }
+.bi-wifi::before { content: "\f61c"; }
+.bi-wind::before { content: "\f61d"; }
+.bi-window-dock::before { content: "\f61e"; }
+.bi-window-sidebar::before { content: "\f61f"; }
+.bi-window::before { content: "\f620"; }
+.bi-wrench::before { content: "\f621"; }
+.bi-x-circle-fill::before { content: "\f622"; }
+.bi-x-circle::before { content: "\f623"; }
+.bi-x-diamond-fill::before { content: "\f624"; }
+.bi-x-diamond::before { content: "\f625"; }
+.bi-x-octagon-fill::before { content: "\f626"; }
+.bi-x-octagon::before { content: "\f627"; }
+.bi-x-square-fill::before { content: "\f628"; }
+.bi-x-square::before { content: "\f629"; }
+.bi-x::before { content: "\f62a"; }
+.bi-youtube::before { content: "\f62b"; }
+.bi-zoom-in::before { content: "\f62c"; }
+.bi-zoom-out::before { content: "\f62d"; }
+.bi-bank::before { content: "\f62e"; }
+.bi-bank2::before { content: "\f62f"; }
+.bi-bell-slash-fill::before { content: "\f630"; }
+.bi-bell-slash::before { content: "\f631"; }
+.bi-cash-coin::before { content: "\f632"; }
+.bi-check-lg::before { content: "\f633"; }
+.bi-coin::before { content: "\f634"; }
+.bi-currency-bitcoin::before { content: "\f635"; }
+.bi-currency-dollar::before { content: "\f636"; }
+.bi-currency-euro::before { content: "\f637"; }
+.bi-currency-exchange::before { content: "\f638"; }
+.bi-currency-pound::before { content: "\f639"; }
+.bi-currency-yen::before { content: "\f63a"; }
+.bi-dash-lg::before { content: "\f63b"; }
+.bi-exclamation-lg::before { content: "\f63c"; }
+.bi-file-earmark-pdf-fill::before { content: "\f63d"; }
+.bi-file-earmark-pdf::before { content: "\f63e"; }
+.bi-file-pdf-fill::before { content: "\f63f"; }
+.bi-file-pdf::before { content: "\f640"; }
+.bi-gender-ambiguous::before { content: "\f641"; }
+.bi-gender-female::before { content: "\f642"; }
+.bi-gender-male::before { content: "\f643"; }
+.bi-gender-trans::before { content: "\f644"; }
+.bi-headset-vr::before { content: "\f645"; }
+.bi-info-lg::before { content: "\f646"; }
+.bi-mastodon::before { content: "\f647"; }
+.bi-messenger::before { content: "\f648"; }
+.bi-piggy-bank-fill::before { content: "\f649"; }
+.bi-piggy-bank::before { content: "\f64a"; }
+.bi-pin-map-fill::before { content: "\f64b"; }
+.bi-pin-map::before { content: "\f64c"; }
+.bi-plus-lg::before { content: "\f64d"; }
+.bi-question-lg::before { content: "\f64e"; }
+.bi-recycle::before { content: "\f64f"; }
+.bi-reddit::before { content: "\f650"; }
+.bi-safe-fill::before { content: "\f651"; }
+.bi-safe2-fill::before { content: "\f652"; }
+.bi-safe2::before { content: "\f653"; }
+.bi-sd-card-fill::before { content: "\f654"; }
+.bi-sd-card::before { content: "\f655"; }
+.bi-skype::before { content: "\f656"; }
+.bi-slash-lg::before { content: "\f657"; }
+.bi-translate::before { content: "\f658"; }
+.bi-x-lg::before { content: "\f659"; }
+.bi-safe::before { content: "\f65a"; }
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/014-responsive.css b/mailcow/src/mailcow-dockerized/data/web/css/build/014-responsive.css
new file mode 100644
index 0000000..2085568
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/014-responsive.css
@@ -0,0 +1,302 @@
+.space20 {
+  margin-bottom: 20px;
+}
+
+.btn-xs-lg>.lang-sm:after {
+  margin-left: 4px;
+}
+
+.bootstrap-select {
+  max-width: 350px;
+}
+
+.panel-login .apps .btn {
+  width: auto;
+  float: left;
+  margin-right: 10px;
+  margin-top: auto;
+}
+.panel-login .apps .btn:hover {
+  margin-top: 1px !important;
+  border-bottom-width: 3px;
+}
+
+@media (max-width: 767px) {
+  .panel-login .apps .btn {
+    width: 100%;
+    float: none;
+    margin-bottom: 10px;
+  }
+
+  .panel-login .apps .btn {
+    border-bottom-width: 4px;
+  }
+
+  .media-clearfix::after {
+    clear: both;
+    box-sizing: border-box;
+  }
+
+  .media-clearfix::before {
+    display: table;
+    content: " ";
+    box-sizing: border-box;
+  }
+
+  .xs-show {
+    display: block !important;
+  }
+
+  .js-tabcollapse-panel-group .panel{
+    border: none;
+    box-shadow: none;
+  }
+
+  .js-tabcollapse-panel-group .panel-body {
+    padding: 10px 0;
+  }
+
+  .js-tabcollapse-panel-group .js-tabcollapse-panel-body .panel-body {
+    padding: 0;
+  }
+
+  .js-tabcollapse-panel-body .panel-heading {
+    display: none;
+  }
+
+  .js-tabcollapse-panel-body .well,
+  .panel-body .form-inline.well {
+    border: none;
+    padding: 0;
+    margin: 0;
+    box-shadow: none;
+    background-color: #fff;
+  }
+
+  .js-tabcollapse-panel-heading {
+    display: block;
+    height: 37px;
+    line-height: 37px;
+    text-indent: 15px;
+  }
+  .js-tabcollapse-panel-heading:hover {
+    text-decoration: none;
+  }
+  .js-tabcollapse-panel-heading {
+    position: relative;
+  }
+  .js-tabcollapse-panel-heading:after {
+    content: '';
+    display: block;
+    position: absolute;
+    top: 17px;
+    right: 17px;
+    width: 0;
+    height: 0;
+    margin-left: 2px;
+    vertical-align: middle;
+    border-bottom: 4px dashed;
+    border-right: 4px solid transparent;
+    border-left: 4px solid transparent;
+  }
+  .js-tabcollapse-panel-heading.collapsed:after {
+    border-bottom: none;
+    border-top: 4px dashed;
+  }
+
+  .recent-login-success {
+  font-size: 14px;
+  margin-top: 10px !important;
+  }
+  .pull-xs-right {
+  float: right !important;
+  }
+  .pull-xs-right .dropdown-menu {
+  right: 0;
+  left: auto;
+  }
+  .text-xs-left {
+    text-align: left;
+  }
+  .text-xs-bold {
+    font-weight: bold;
+  }
+  .text-xs-bold .small {
+    font-weight: normal;
+    text-align: justify;
+  }
+  .help-block {
+    text-align: justify;
+  }
+  .btn.visible-xs-block {
+    width: 100%;
+    float: none;
+    white-space: normal;
+  }
+  .btn-group.footable-actions .btn.btn-xs-half,
+  .btn.visible-xs-block.btn-xs-half {
+    width: 50%;
+    float: left;
+  }
+  .btn-group.footable-actions .btn.btn-xs-third,
+  .btn.visible-xs-block.btn-xs-third {
+    width: 33.33%;
+    float: left;
+  }
+  .btn-group.footable-actions .btn.btn-xs-quart,
+  .btn.visible-xs-block.btn-xs-quart {
+    width: 25%;
+    float: left;
+  }
+  .btn.visible-xs-block.btn-sm,
+  .btn-xs-lg {
+    padding: 15px 16px 13px;
+    line-height: 15px;
+  }
+  .input-xs-lg {
+  height: 47px;
+    padding: 13px 16px;
+  }
+  .btn-group:not(.input-group-btn) {
+    display: flex;
+    flex-wrap: wrap;
+  }
+  .panel-login .btn-group {
+    display: block;
+  }
+  .mass-actions-user .btn-group {
+    float: none;
+  }
+  div[class^='mass-actions'] .dropdown-menu,
+  .panel-xs-lg .dropdown-menu,
+  .dropdown-menu.login {
+    width: 100%;
+  }
+  div[class^='mass-actions'] .btn-group .dropdown-menu {
+  top: 50%;
+  }
+  div[class^='mass-actions'] .btn-group .btn-group .dropdown-menu,
+  div.mass-actions-quarantine .btn-group .dropdown-menu,
+  .panel-xs-lg .dropdown-menu {
+    top: 100%;
+  }
+  div[class^='mass-actions'] .dropdown-menu>li>a,
+  .panel-xs-lg .dropdown-menu>li>a,
+  .dropdown-menu.login>li>a {
+    padding: 8px 20px;
+  }
+  div[class^='mass-actions'] .dropdown-header {
+    font-size: 14px;
+    font-weight: bold;
+  }
+  .space20 {
+    margin-bottom: 10px;
+  }
+  .top100 {
+    top: 100% !important;
+  }
+  .top33 {
+    top: 33% !important;
+  }
+  .footable-filtering .form {
+    width: 65%;
+  }
+  .btn-xs-lg>.lang-sm:after {
+    top: 1px;
+  }
+  table.footable>tfoot>tr.footable-paging>td {
+    text-align: left;
+  }
+  .footable-first-visible {
+    min-width: 55px;
+  }
+  table>tbody>tr>td>span.footable-toggle {
+    font-size: 24px;
+    margin-right: 14px !important;
+  }
+  table>tbody>tr>td>span.footable-toggle + input {
+    position: absolute;
+    left: 38px;
+  }
+  .pagination {
+    margin-bottom: 5px;
+  }
+  tr.footable-filtering>th>form {
+    width: 270px;
+  }
+  .mass-actions-mailbox {
+    padding: 0;
+  }
+  .panel-xs-lg .panel-heading {
+    height: 66px;
+    line-height: 47px;
+  }
+  .panel-xs-lg .btn-group .btn {
+    padding-right: 5px;
+    padding-left: 5px;
+  }
+  .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
+    width: 100%;
+  }
+  .btn-group:not(.bootstrap-select) {
+    width: auto !important;
+  }
+  .bootstrap-select {
+    max-width: 100%;
+  }
+  .img-responsive {
+    margin: 0 auto;
+  }
+  .btn-group.footable-actions {
+  position: absolute;
+    width: 90vw !important;
+    left: 0;
+    height: 36px;
+    margin-top: -8px;
+  }
+  .btn-group.footable-actions .btn {
+  padding: 10px 16px 7px;
+    line-height: 15px;
+    display: block;
+    width: 100%;
+  }
+  .btn-group.footable-actions:after {
+    content: "";
+    display: block;
+    clear: both;
+  }
+  .bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
+    margin-right: 14px;
+    white-space: normal;
+  }
+  .clearfix {
+    flex-basis: 100%;
+    height: 0;
+  }
+  .btn-group > .btn-group {
+    flex-basis: 100%;
+  }
+  .btn-group .btn {
+  display: flex !important;
+  align-items: center;
+  justify-content: center;
+  }
+  .btn-group .btn i {
+    margin-right: 5px;
+  }
+  .btn-group .btn .caret {
+  margin-left: 5px;
+  }
+  .panel-login .btn-group .btn {
+    display: block !important;
+  }
+  .panel-login .clearfix {
+    height: auto;
+  }
+}
+
+@media (max-width: 350px) {
+  .mailcow-logo img {
+    max-width: 250px;
+  }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ad.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ad.svg
new file mode 100644
index 0000000..e7fc56a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ad.svg
@@ -0,0 +1,148 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ad" viewBox="0 0 512 512">
+  <path fill="#d0103a" d="M0 0h512v512H0z"/>
+  <path fill="#fedf00" d="M0 0h348.2v512H0z"/>
+  <path fill="#0018a8" d="M0 0h163.8v512H0z"/>
+  <path fill="#c7b37f" d="M240.3 173.3c6.2 0 8.7 5.3 14.9 5.3 3.8 0 6-1.2 9.3-3.1 2.4-1.3 3.8-2 6.5-2s4.4.8 5.8 3.1a9 9 0 011 5.4 32 32 0 01-2.1 6.7c-.5 1.2-1 2-1 3.3 0 3.3 4.4 4.4 7.4 4.5.7 0 6.3 0 9.7-3.4-1.9 0-4-1.5-4-3.4 0-2 1.5-3.5 3.5-4.1.4-.1 1 .2 1.4 0 .5-.2.2-.8.7-1.1 1-.8 1.6-1.3 2.9-1.3a3 3 0 012 .6c.3.2.5.6.9.6 1 0 1.4-.6 2.3-.6.7 0 1.2 0 1.8.4.6.3.6 1.2 1.2 1.2.3 0 1.9-.6 2.8-.6 1.7 0 2.7.6 3.8 2 .3.3.5 1 .8 1a5 5 0 013.9 2.4c.2.3.5 1.1.9 1.3.4.1.7.1 1.3.5a4.8 4.8 0 012.3 3.9c0 .5-.3 1.2-.4 1.7-1.5 5.2-5.1 7-8.7 11.4-1.6 2-2.8 3.5-2.8 6 0 .6.8 1.7 1 2.2-.1-1.2.4-2.6 1.6-2.7 1.7 0 3 1.2 3.2 2.8 0 .4 0 1.1-.2 1.5.9-.6 2-1 3.2-1.1a9.9 9.9 0 011.5 0 13 13 0 017.4 3 16.9 16.9 0 015.9 13.4c-.7 4.3-.3 11.9-11 15 2 .8 3.3 2.3 3.3 4.1 0 2-1.5 3.8-3.5 3.8a3.5 3.5 0 01-2.8-1.1c-2.2 2.2-2.7 4.5-2.7 7.7 0 1.9.4 3 1.2 4.7a9 9 0 003 4.2c.8-1.2 1.6-2 3-2 1.5 0 2.7.4 3.3 1.7.1.3 0 .7.2 1 .2.5.7.6 1 1.1.3.8 0 1.4.3 2.2.2.5.7.6 1 1 .3.9.4 1.4.4 2.3 0 2.4-2.2 4-4.6 4-.8 0-1.2-.2-1.9-.1 1.4 1.3 2.4 2 3.5 3.6a14.1 14.1 0 012.3 8.2c0 3.6-.6 5.8-2.2 9a16 16 0 01-5.6 6.8 28 28 0 01-12.8 5c-3.4.7-5.3 1-8.8 1.2l-11.3.6c-5.7.4-9.7 1.2-13.8 5.3 2 1.4 3.3 2.8 3.3 5.2 0 2.4-1.5 4.2-3.9 5-.5.1-1 0-1.4.2-.6.3-.6 1-1.2 1.4a5 5 0 01-3 .8c-2.2 0-3.6-.5-5.2-2-1.7 1.4-2.3 2.7-4.3 3.9-.7.3-1 .8-1.7.8-1.2 0-1.8-.7-2.7-1.4a18.4 18.4 0 01-3.6-3.3c-1.8 1.1-2.9 2-5 2a5.2 5.2 0 01-3.1-.9c-.6-.3-.7-.9-1.3-1.2-.6-.4-1-.2-1.7-.5-2.4-1-4-2.8-4-5.5 0-2.3 1.5-3.8 3.6-4.7-4-4-8-4.7-13.6-5-4.4-.4-7-.4-11.3-.7-3.4-.2-5.4-.6-8.8-1.1-2.6-.4-4.1-.6-6.5-1.7-8.2-3.8-13.4-9-14.5-18v-2c0-4.7 1.8-7.5 5-10.8-.8-.2-1.3 0-2.2-.2-2-.8-3.5-2.2-3.5-4.4 0-.8 0-1.4.4-2 .3-.6.8-.7 1-1.2.1-.8 0-1.3.3-2 .2-.5.6-.5.8-1 .7-1.5 1.6-2.7 3.3-2.7 1.4 0 2.3.8 3 2 1.4-.7 1.8-1.7 2.6-3 1.3-2.2 1.8-3.7 1.8-6.2a11 11 0 00-.7-4.4c-.4-1.2-.5-2-1.4-3a3.5 3.5 0 01-2.8 1.2c-2.3 0-4-2-4-4.3 0-1.7.8-3 2.4-3.7-1.3-1-2.4-1.2-3.7-2-2.1-1.4-2.9-2.7-4.2-4.8-1-1.4-1.2-2.3-1.6-3.8a15 15 0 01-.9-5v-1.3c.6-3.9 1.3-6.4 3.8-9.5a11 11 0 014.6-3.9 11.6 11.6 0 016.5-1.3c1 .2 1.5.2 2.3.7.3.2.9.7.9.3l-.2-1c0-1.7 1.2-3.2 2.8-3.2 1.2 0 1.7 1 2.3 2 .4-.6.6-1 .6-1.7 0-2.8-1.5-4.2-3.2-6.3-3.7-4.7-8.4-6.9-8.4-12.8 0-1.8.9-3 2.4-4 .4-.2 1 0 1.5-.2.3-.3.3-.7.5-1.1a4 4 0 011.3-1.3c.8-.8 1.6-.5 2.5-1.2.5-.3.6-.7 1-1.2 1-1.2 2-1.8 3.6-1.8.8 0 1.3 0 2 .3.3 0 .8.5.9.4.1-.2.6-.7 1.1-1 .7-.3 1-.4 1.8-.4.9 0 1.4.5 2.3.5.4 0 .4-.3.7-.5.8-.5 1.2-.8 2.2-.8 1 0 1.4.3 2.2.8.7.4.8 1 1.6 1.5l1.2.3c2 .6 3.6 2 3.6 4.2 0 1.2-.2 2-1.1 2.8-.7.6-1.4.5-2.3.8a13 13 0 009 2.8c3.5 0 7.6-1.3 7.6-4.7 0-1.6-.9-2.4-1.5-3.8a15 15 0 01-1.7-6.9c0-2.2.2-3.5 1.5-5.3 1.3-1.9 3-2.3 5.2-2.3z"/>
+  <g fill="none" stroke="#703d29">
+    <path stroke-linejoin="round" stroke-width=".5" d="M217.9 191.2c.2.9.9 1.6 2 2a3 3 0 003-1.1c.8-1 .7-2.3.5-3.3a3.8 3.8 0 00-1.4-1.8l-4.1 4.2z"/>
+    <path stroke-linecap="round" stroke-width=".5" d="M320.8 252.9c-1-2.3-3.4-1.3-3.6 0-.3 3 2.3 3.8 4.1 3.3.9-.2 1.6-.8 2-1.5.5-.8.6-2 .3-3a4 4 0 00-.7-1.3 4 4 0 00-1-1c-.7-.4-1.5-.5-2.7-.5-4.4 0-8.3 5.3-9.6 10.8a23.6 23.6 0 00-.2 9.6 18 18 0 004.7 9 20 20 0 007.9 4.7c1.1.3 2.2.3 3.1 0 2.7-.5 3.9-3 2.6-5.5-1.1-2-4.3-3.2-5.8-.6a2.6 2.6 0 00-.4 1.3c0 .7.3 1.5.8 1.8 1.2.8 3 .6 3-1.5"/>
+    <path stroke-width=".7" d="M307 283.2a9 9 0 015.3-3c2.4-.2 4.5.5 6.6 1.6a14.9 14.9 0 018.6 13.6c0 3-.8 6-1.5 7.6-.7 1.3-2.5 7.1-12.3 11.2a67.4 67.4 0 01-20.5 3c-8.4.4-16 .7-20.5 6.2"/>
+    <g stroke-width=".6">
+      <path d="M309.1 292.6c-.2-.9 0-1.7.7-2.7 1-1.3 2.9-1.7 4.7-.7.6.3 1.3.8 2 1.7l1 1.2.8 2c2 5.6-1.2 11.7-5.2 14.1-3.2 2-7 2.8-11.5 3.3l-5.3.3h-7.6a56.3 56.3 0 00-5.8 0l-6 .6-4.4.8-1.5.4-1 .3a31.9 31.9 0 00-7.7 3.3c-.7.4-1.5.9-2 1.4l-1.1 1c-1.5 1.4-3.1 3-3.5 5.3v1.3c0 1.4 1.1 3.4 4.3 4m4.4-136.1c.6 1.2 1 2 .6 3.1-.4 1.4-1.4 2.3-2.8 2.3-3.2 0-5-3.8-3.6-6.2 2.5-4.3 7.4-1.9 12 .2-.3-1-.7-1.4-.6-2.8 0-3.3 2.6-4.8 3.6-8 .6-1.8.8-3.4-.6-4.7-1.1-1.2-2.5-1.1-4-.5-3.1 1.2-6.8 4.6-13.3 4.7-6.5 0-10.3-3.5-13.4-4.7-1.5-.6-2.9-.7-4 .5-1.4 1.3-1.2 3-.6 4.8 1 3 3.5 4.6 3.6 8 0 1.3-.3 1.6-.6 2.7 4.6-2 9.7-4.7 12-.2 1.3 2.5-.4 6.2-3.6 6.2-1.4 0-2.4-1-2.8-2.3-.4-1.1 0-2.2.6-3.1"/>
+      <path stroke-linecap="round" d="M251.7 191.9c1.2 1 2 2.1 1.9 4-.1 2-.7 2.5-2.2 3.6m1.9-3c-.1 1.2-.6 2-1.8 2.5"/>
+    </g>
+    <path fill="#c7b37f" stroke="none" d="M221.4 186.6l.5.4.6.7.4.8.2.6v1.5l-.2.7-.4.5-.4.5-.7.3-.9.2-.7.2-.8-.4-.8-.5-.4-.7-.3-.8v-.3l3.9-3.7z"/>
+    <path stroke-linecap="round" stroke-width=".5" d="M220.2 189.7c-.3-1.3-1.8-1.6-2.4-.8-1 1.2-.3 3.2 1.6 3.8a3 3 0 003-1.1c.8-1 .8-2.3.5-3.2-.2-.7-.7-1.2-1.4-1.7-2.2-1.7-5.7-1.3-6.8 1.5-1.5 3.6 1.7 6.3 4.7 8.3 3.8 2.5 8 3 11.3 3 7.3-.1 12.9-3.6 16.5-5.6.8-.5 1.7-.4 2.1.2.5.6.5 1.5-.2 2.2"/>
+    <path stroke-width=".5" d="M198.4 289l-1.6.5-1.7 1.3-.7 1-.9 1.6-.4 1.2-.3 1.5-.2 1m15.2-8v1.4l-.3 1-.7 1.7-1.1 1.5-1.2 1-1 .4-1.2.3"/>
+    <path stroke-width=".6" d="M255.8 327.3c-.3 1.3-1.5 2.8-4.3 3.4h-.5"/>
+    <path stroke-width=".7" d="M323.4 285a14.6 14.6 0 014.5 10.8c-.1 2.8-.8 6-1.6 7.5-.7 1.3-2.5 7.2-12.3 11.2a67.7 67.7 0 01-20.5 3.1c-8.2.4-15.8.7-20.3 6"/>
+    <path stroke-width=".5" d="M310 290.3c.6-.9 2.8-1.9 4.6-1a5 5 0 012 1.7"/>
+    <path stroke-width=".7" d="M321.3 283l1.1.4a5.6 5.6 0 003.2 0c2.2-.6 3.7-2.7 2.5-5.5a4.5 4.5 0 00-1.4-1.7"/>
+    <path stroke-linecap="round" stroke-width=".5" d="M192.2 223.8c-1.5 1-2.6 1.2-3.8 2.5a22.5 22.5 0 00-2.1 5.5m36.9-41.4c0 1.4-1 2.3-2.4 2.6"/>
+    <path stroke-width=".5" d="M317.7 217.6c3.8 0 14.8 2.9 14.9 15.8 0 12.8-8 14.9-11.1 15.7"/>
+    <path stroke-width=".5" d="M318.7 217.6c6.5-.3 13.2 4.5 13.5 16.5.3 9.4-6.4 13.6-9.6 14.5m-7.6 14.1l.2-1.2.4-2 .6-1.7.7-1.3.8-1m6.3-2.7l-.1 1.2-.4.9-.5.8-.7.5-1 .3h-1.5m-11.4-42.3l.3-1.3.6-1.3.7-1.2 1.4-1.7 1-1.2 1.7-1.7 1.5-1.5 1-1.1 1.2-1.5 1-1.7.7-1.3.4-1.8.1-2.1-.2-.7M310 296.7l1.3-.3 1-.5.5-.5.4-.7.2-1v-.6M187 283.3l.9.1h1.2l1.3-.5m4-29.3l-.2 1.2-.2.4-.4.5-.5.4-.6.3-.8.1h-.5m8-12.5l-.3 1.8-.4.7-.7 1-1 .7-.9.5-1.8.4m12.2-31.8l-.3 1-.5.8-.6.9-.8.7-1 .5-.8.2h-.6m.3-5v.8"/>
+    <g stroke-width=".5">
+      <path stroke-linecap="round" d="M203.4 243.3a5.5 5.5 0 01-1.6 1M322.2 280l.4.2c1 .7 3.3-.2 2.7-2"/>
+      <path d="M318.2 255.7c.8 1 2.4 1.3 3.6 1 .9-.2 1.5-.8 2-1.6.4-.8.6-1.9.3-3a4 4 0 00-.7-1.3 5.4 5.4 0 00-1.1-1.1l-.3-.2m5.2 27.2a3.1 3.1 0 000-.6c0-.9-.4-1.7-1-2.3-.2-.2-.4-.5-.7-.6m.4.3c0-1.5-1.3-2.5-2.8-2.8m-3.3 2.3c-.4-.3-.8-.5-1-.9a12.6 12.6 0 01-3.5-8.5c0-3.3 1.3-6.7 2.8-8M273 323.3l1.5-1.3 1-.8 1.8-1.1 1.8-.9 1.2-.3 2.5-.5 2.9-.5M262 333.4a14.1 14.1 0 01-6.1 5 14.1 14.1 0 01-6.1-5"/>
+      <path stroke-linecap="round" d="M251.5 330.1a8 8 0 01-1.7 3.3"/>
+      <path d="M251.8 328.4l-.4 1.8m-1.8 3.3l-.8.8-1.4.7-1.5.5m-4.5-142.2c.2-.6.4-1.1.3-2.1 0-3.4-2.5-4.9-3.5-8-.6-1.8-.9-3.4.5-4.8 1.2-1.1 2.5-1 4-.5 3.2 1.2 6.9 4.7 13.4 4.8-6.5-.1-10.2-3.6-13.3-4.8-1.6-.6-3-.8-4.2.4-1.4 1.3-1 3-.4 5 1 3 3.3 4.5 3.4 7.9 0 1-.2 1.5-.4 2m14.9-10.7c6.4-.4 11.9-4.7 13.7-5 1.6-.3 2.4-.2 3.6.9-1.2-1.1-2.5-1-4-.5-3 1.2-6.8 4.7-13.3 4.8m63.7 90.3a12.4 12.4 0 01-5-9.9c0-3.3 1.3-6.7 2.9-8m-56 78a14.1 14.1 0 01-6 5 14 14 0 01-6.2-5"/>
+      <path stroke-linecap="round" d="M245.3 195l1.9-1c.8-.6 1.9-.5 2.3 0 .5.7.6 1.7-.1 2.3"/>
+      <path d="M235.8 199.4c4.4-.9 8-2.9 10.6-4.4m25.9 131.4l.6.7.2.7c.2 1.2-.6 2-1.5 2.1a2.7 2.7 0 01-2.8-1.6m-33.3-129.1c4.4-1 8-2.9 10.7-4.4m78 85.5c-.7.3-1.2.3-2.2-.2l-1.5-.8c-2-1.1-4.5-3-6.8-7.2a15 15 0 01-1.3-3.6c-.2-.9-.4-1.8-.4-2.7a20.5 20.5 0 01.5-5 16.2 16.2 0 013.2-7.2c1-1.3 1.7-2 3.5-2m-115-31.5a5.7 5.7 0 012.1 4.6c0 2.5-2 6.5-7.2 8-2 .5-3.8 0-5-.7"/>
+      <path d="M205 228.5c1 .6 1.3 1.4 1.3 2.6 0 .8-.5 2-1.5 3a9.9 9.9 0 01-7 3.2 8.2 8.2 0 01-4.8-1.4 7.3 7.3 0 01-3-4.3"/>
+      <path d="M205 233.8c1 1 1.3 2.2 1.3 3.7 0 2.2-.9 3.9-3 5.7a5 5 0 01-1.5 1m103.6-17.6v2.9m-.3-3.6v4m.3-12.6v5.2m-.3-6.3v7m-1.5 65.7c-1 2-1.8 3-3.3 4.5a15.7 15.7 0 01-4.7 3.3 19.7 19.7 0 01-5.2 1.7c-2.1.5-3.4.6-5.5.7-2 0-3.1 0-5.1-.2-2.1 0-3.3-.4-5.4-.6-1.7-.1-2.7-.3-4.5-.3a22.8 22.8 0 00-8.7 1.5c-2.2.9-4.6 2.4-5.1 3-.5-.6-3-2.1-5.1-3a22.8 22.8 0 00-8.8-1.5c-1.7 0-2.7.2-4.4.3-2.1.2-3.3.5-5.4.6a37.3 37.3 0 01-10.6-.5c-2.1-.5-3.3-.8-5.3-1.8a15.7 15.7 0 01-5-3.7m33.6 42.7l1.5-.2m24.2-1.9l1.4-.1 1.4-.6 1-.5 1.3-1.6.3-.6.2-1.3v-.6M314 218.8c.6-2.1-.2-4.3-2.2-4.3m-105.6 37.3a6.5 6.5 0 01-2.9 3.7m3-37.4a5.2 5.2 0 01-3 3.2c-1.4.7-3.2 0-4-.6"/>
+      <path stroke-linecap="round" d="M195 225.9c1.3.6 2.5-.3 2.3-1.9a2.3 2.3 0 00-2-1.8"/>
+      <path d="M200.1 293.3c.3.3.4.6.7.6.5.1 1 .3 1.5-.4.7-.9.3-2.2-.4-3.1a4 4 0 00-4.7-.7c-.5.3-1.3.7-2 1.6l-.9 1.3-.9 2c-1.6 4.6.3 9.5 3.4 12.5"/>
+      <path stroke-linecap="round" d="M272.2 326.3l.5.6.2.7c.2 1.2-.6 2-1.6 2-1.3.2-2.2-.6-2.7-1.6"/>
+      <path d="M311.6 187.8a6 6 0 015 5.6c0 3.6-1.2 4.9-3.1 7.4-2 2.7-8.5 7.7-8.5 13.4 0 3.4 1 5.6 3.4 6.7 1.6.7 3.5 0 4.3-.8 2-1.9 1.3-5.2-1-5.6-2.5-.4-3 3.7-.5 3.4m14.3 55.3a3 3 0 00-2.9-2.5 3 3 0 00-3 3c0 .8.4 1.5.9 2"/>
+      <path d="M307.1 220.1a5.7 5.7 0 00-2.1 4.6c0 2.5 2 6.5 7.2 8 1.9.5 3.8.4 5-.3m-124.9-8.2a7.5 7.5 0 00-3.8 2.7 13.5 13.5 0 00-1.9 4.9c-.1.7-.3 3 .1 5.3a12.7 12.7 0 001.9 4.5l.8 1 .9.7m51.2 73.6c3.9 1.8 6.7 3 9.2 6.9a8.2 8.2 0 01-1.7 10 6.6 6.6 0 01-5.4 1.6c-1.5-.2-3-1.3-3.2-2m-37.2-90a6.6 6.6 0 013.1 6c0 3-1.5 4.8-3.2 5.9"/>
+      <path stroke-linecap="round" d="M201.2 253.1c3.3 4.1 5 6.5 5.1 11.3.1 4.6-1.4 7.7-4 11"/>
+      <path d="M263.8 199.5a3.3 3.3 0 001.3-1.8c.4-1.2.4-2.2-.3-3.1.8 1 .9 1.9.7 3.1-.2.8-.7 1.2-1.3 1.8m41.2 69v12.8a19.6 19.6 0 01-.3 3.4m0-17.5V283l-.4 2.1m.4-34.3v11.6m.3-10.7v9.4m0-21.5v7.1m-.3-7.9v8.8m.3-15.2v2.8m-.3-3.4v4m-1.4 52.2l-.3.5a15 15 0 01-3.4 4.6 15.7 15.7 0 01-4.6 3.2 19.7 19.7 0 01-5.3 1.8c-2 .5-3.3.6-5.5.7-2 0-3 0-5-.2-2.2-.1-3.3-.4-5.4-.6-1.8-.1-2.8-.3-4.5-.3a22.9 22.9 0 00-8.8 1.5c-2.1.9-4.5 2.4-5 3a17 17 0 00-5.1-3 22.9 22.9 0 00-8.8-1.5c-1.7 0-2.7.2-4.5.3-2 .2-3.2.5-5.4.6a37.3 37.3 0 01-10.5-.5 19.8 19.8 0 01-10-5 17.6 17.6 0 01-1.9-2.3m-1.6-2.5a8 8 0 01-1.8 6.2c-.7.7-2.2 2-4 2-3 .1-4-2-4.1-2.5"/>
+      <path d="M204.5 287a8.2 8.2 0 011.5 2.1c.7 1.4.5 3.8-.1 5a3.7 3.7 0 01-.3.3m-16.1 14.4c1.8 2 4.5 4 8.7 5.7a67.4 67.4 0 0020.5 3.1c8 .3 15.5.7 20 5.7m13.9-3.3a12 12 0 013.2 4.5m-5.9 9.2a7 7 0 01-.5.5 6.6 6.6 0 01-5.3 1.6 5 5 0 01-3.5-2m-4.3-2.4l.3.3a6 6 0 004 2m21.6 0a14.1 14.1 0 01-6.1 4.9 14.1 14.1 0 01-6.1-5l-.2-.3m12.4.3l.6.6a6.6 6.6 0 005.3 1.6 4.4 4.4 0 003.3-2l.4-.6"/>
+      <path d="M271.2 333.3l-.6 1-.9.7-1.3.6H267"/>
+      <path d="M274.4 324.2a6.1 6.1 0 011.9 2.3c.2.6.4 1.3.4 2a4.7 4.7 0 01-1.1 3.2 6 6 0 01-4.4 2 4.4 4.4 0 01-.3 0m.1-.2a5.5 5.5 0 01-4.1-1.7m51-54.3a19 19 0 01-4-5.2 15 15 0 01-1.3-3.6c-.2-.9-.4-1.7-.4-2.6 0-1.6.1-3.2.5-5a16.7 16.7 0 013.3-7.3c.5-.6 1-1.4 1.6-1.8m-1-60.6c2 .2 3.8 2.3 3.8 4.5 0 3.1-1 4.4-3.5 7.4-2.1 2.7-8.5 7.3-8.3 11.7 0 .8.5 1.6 1 2.2M307 220c.4.5 1 .8 1.6 1.1a4 4 0 003.4-.2m-16.9-34.6a4.8 4.8 0 011.8 2.1c1.4 3.6-1.8 6.3-4.8 8.3a17 17 0 01-6.6 2.6"/>
+      <path d="M291.7 193.2c-.7 0-1.6-.2-2.5-1.2a2.7 2.7 0 01-.6-.7m-11.9 3.9a3.7 3.7 0 01-1-.8c-.7-.8-1.2-1.9-.7-3.5.5-1.5 3-5.8 3-8.7.3-4.5-1.5-7.2-4.2-8.2"/>
+      <path stroke-linecap="round" d="M277.9 181.2l-.1 1.7-.5 1.7-.9 2.3-.7 1.6-.7 1.5-.3 1-.2.8.1.8m30.5 101c0 .3.4.6.4.6a6.2 6.2 0 004.4 2.5c3 0 3.7-2.1 3.8-2.6.4-2.3-.4-3-1.6-3.6 0 0-.7-.3-1.5-.2"/>
+      <path d="M189.6 283.5a5.5 5.5 0 01-3 0c-2.3-.7-4-2.9-3.1-5.5m10.7-25.5c.2.2.3.6.3.8.3 3-2.2 3.8-4 3.4a4.5 4.5 0 01-2.5-1.9 3.8 3.8 0 01-.5-1.8m17.7-19c.4.5.8 1 1 1.5m-1-6.8c.5.3.8.6 1 1"/>
+      <path stroke-linecap="round" d="M206.3 232.4a6.8 6.8 0 01-1.3 2 9.9 9.9 0 01-7 3.1 8.2 8.2 0 01-4.8-1.4 7.6 7.6 0 01-3.3-4.4"/>
+      <path d="M204.3 220.2a6.2 6.2 0 012 2.7"/>
+      <path stroke-linecap="round" d="M206.3 226.6a9.4 9.4 0 01-7 6.3 7 7 0 01-5.2-.9"/>
+      <path d="M192 226c.2 2.1 1.7 3.7 4.3 3.8 3.8 0 6-5.4 2.7-9.3"/>
+      <path stroke-linecap="round" d="M183.6 244.4c.5.7 1.2 1.3 1.8 1.9a13.4 13.4 0 004.8 2.6m4.2.4c3.4-.4 5.3-2.9 4.9-5.8-.3-2.3-2.4-4-3.8-4"/>
+      <path d="M199.9 214.5c1.4 0 2.3 1.3 2.2 2.4"/>
+      <path stroke-linecap="round" d="M199.5 194.5a9.2 9.2 0 004 4.6M319 224a3.7 3.7 0 01-3.3 5.7 4.2 4.2 0 01-3.5-2"/>
+      <path d="M305.4 199.3v12.6"/>
+      <path stroke-linecap="round" d="M195 225.9c1.2.8 2.6-.6 2-2.1-.3-1-1.8-2.1-3.8-.8-2.1 1.5-1.5 6.3 2.7 6.3 3.7.1 6-5.4 2.7-9.2-3.2-3.7-9-2.9-13 .2a17.1 17.1 0 00-5.6 9.3 17 17 0 000 7.4 16.7 16.7 0 002.4 6l1 1.3 1.6 1.6a12 12 0 008.3 3c3.8-.1 6-2.8 5.5-5.9-.4-3-3.4-4.5-5.4-3-1.3.9-1.8 3.8.6 4.5 1.3.4 2.5-1.3 1.6-2.3m103.6-57.5c2.2-1.2 3.8-1 5 .7a7.9 7.9 0 011.3 5.8c-.4 2.2-1 3-2.8 4.6"/>
+      <path stroke-linecap="round" d="M304.4 185.6c2.5-1.6 5.2-1 6.6 1.3a7.3 7.3 0 011.3 4.9 9 9 0 01-4.6 7.3"/>
+      <path d="M316 191.3c2 .2 3.7 2 3.7 4.2 0 3-.8 4.4-3.3 7.4-2.1 2.6-8.4 7.2-8.3 11.7 0 1.6 1.5 3.2 2.7 3.3"/>
+      <path stroke-linecap="round" d="M316.3 225.9c-1.2.8-2.6-.5-2-2 .4-1 1.8-2.2 3.7-.9 2.2 1.5 1.6 6.3-2.6 6.3-3.7.1-6.3-5.2-2.7-9.2 3.3-3.7 9.4-3 13.2 0 1.6 1.4 5 5 5.6 9.6.9 5.6.7 12.6-5 16.8a13.8 13.8 0 01-8.5 2.4c-3.8-.1-6-2.8-5.5-5.9.4-3 3.3-4.3 5.4-3 2.2 1.1 1.8 4.3-.6 4.5-1.4.2-2.5-1.3-1.6-2.3"/>
+      <path d="M314.3 224c.6-2.9 3-3.1 5-3.1 5.2 0 8.9 6.3 9 12.4 0 7.6-3.3 12.1-9 12.3-1.3.1-3.8-.6-3.9-2.3"/>
+      <path stroke-linecap="square" d="M317.5 222.7c5.6 1.2 7.6 6.2 7.6 11 0 3.9-.4 9.2-8 11"/>
+      <path d="M326.7 276.3a3.1 3.1 0 10-5 1.8"/>
+      <path stroke-linecap="round" d="M315.6 271.5a13.3 13.3 0 005 4.8m-1 8.4c-2.7-1.7-7.7-4-12.2-1.8a6.3 6.3 0 00-3.4 3.5 8 8 0 001.5 7.7 6 6 0 004 2.1c3 0 3.7-2 3.8-2.5.3-2.2-1-3.1-1.6-3.3-.6-.2-2.2-.2-2.6 1-.1.4-.1 1.1.2 1.6"/>
+      <path stroke-linecap="round" d="M272.4 326.7c.8 1.8-.1 2.6-1.3 2.7-1.7.2-2.6-1.1-2.7-2.3-.2-2 1.5-3.9 3.5-3.8a4.4 4.4 0 014 2.8c.2.6.3 1.2.3 1.9a4.7 4.7 0 01-1.1 3.3 6 6 0 01-4.3 2c-3.4.1-6-3-6-6.3 0-6.1 9.1-9.5 12.8-10.4a67 67 0 0114.3-1.8c2.9-.2 5-.1 8.1-.4 2.8-.3 4.3-.5 7.2-1.1a22 22 0 0010-5.2 13.7 13.7 0 003.7-17.7 11.5 11.5 0 00-8.2-5.3c-3-.5-5.6.8-7.2 3.8a6.2 6.2 0 00.1 5c.5.9 2 2.3 3.8 2.3 3 0 3.8-2 3.9-2.5.3-2.2-1-3.1-1.6-3.3-.6-.2-2.2-.2-2.6 1-.1.4-.1 1.1.2 1.6"/>
+      <path stroke-linecap="round" d="M269.8 317c-4 1.7-6.8 3-9.2 6.7a7.9 7.9 0 00-1 4c0 2.1 1 4.5 2.7 6a6.6 6.6 0 005.4 1.7c1.5-.2 3-1.3 3.2-2"/>
+      <path d="M308 243.3c-1.7.6-3 3.4-3 6 0 3 1.4 5 3.2 6"/>
+      <path stroke-linecap="round" d="M310 253.1c-3.2 4.1-5 6.5-5 11.3-.1 4.6 1.3 7.7 4 11"/>
+      <path d="M292.7 185.6l.3-.4c1.3-2 3.7-2.5 5.5-1.2 2 1.6 2.6 4.3 2 7.2a7 7 0 01-3.2 4.4"/>
+      <path stroke-linecap="round" d="M212 184.7c-2-1-3.7-.8-5 .7a7.5 7.5 0 00-1.2 5.8c.4 2.1 1 3 2.8 4.6"/>
+      <path d="M206.9 185.6c-2.5-1.6-5.2-1-6.6 1.3a7.3 7.3 0 00-1.3 4.9 9 9 0 004.6 7.3"/>
+      <path d="M199.7 187.8a5.5 5.5 0 00-4.8 5.3c0 3.6.9 5 2.9 7.7s8.5 7.7 8.5 13.4c0 3.4-1 5.6-3.4 6.7-1.6.7-3.5 0-4.3-.8-2-1.9-1.2-5.2.9-5.6 2.6-.4 3.1 3.7.6 3.4"/>
+      <path d="M195.2 191.3c-2 .2-4 2-4 4 0 3.1 1.2 4.5 3.7 7.6 2 2.6 8 7.2 7.9 11.6 0 1.6-1.2 3.7-2.3 3.4"/>
+      <path stroke-linecap="round" d="M190.5 252.9c1-2.3 3.4-1.3 3.5 0 .4 3-2.2 3.8-4 3.3-1-.2-1.6-.8-2-1.5a3.9 3.9 0 01.4-4.3 4 4 0 011-1c.7-.4 1.5-.5 2.7-.5 4.4 0 8.3 5.3 9.6 10.8a23.6 23.6 0 01.2 9.6 18 18 0 01-4.7 9 20.1 20.1 0 01-7.9 4.7 5.6 5.6 0 01-3.2 0c-2.2-.6-3.7-2.8-2.5-5.5 1-2.1 4.3-3.2 5.8-.6.1.3.3.7.3 1.3 0 .7-.3 1.5-.8 1.8-1.1.8-3 .6-2.9-1.5"/>
+      <path d="M187 280.3c.8.3 1.3.3 2.3-.2l1.5-.8c2-1.1 4.5-3 6.7-7.2a15.1 15.1 0 001.4-3.6c.2-.9.4-1.8.4-2.7a20.5 20.5 0 00-.5-5 16.2 16.2 0 00-3.2-7.2c-1-1.3-1.7-2-3.5-2m-7.5 24.7a3.1 3.1 0 115 1.8"/>
+      <path d="M185.8 273.2a3 3 0 012.9-2.5 3 3 0 013 3 3 3 0 01-1 2"/>
+      <path d="M191.5 273a12.4 12.4 0 005-9.9c0-3.3-1.3-6.7-2.9-8"/>
+      <path stroke-linecap="round" d="M195.7 271.5a13.2 13.2 0 01-5 4.8"/>
+      <path d="M203.7 283c-.8-1.8-2.2-2.6-4.6-2.9a11 11 0 00-6.6 1.6 14.8 14.8 0 00-8 9 13.7 13.7 0 00-.6 4.6c0 2.9.8 6 1.6 7.5.6 1.4 2.4 7.2 12.2 11.2a67.7 67.7 0 0020.6 3.2c8.3.3 16 .6 20.4 6.1"/>
+      <path stroke-linecap="round" d="M191.7 284.7c2.7-1.7 7.6-4 12.1-1.8a7 7 0 013.5 3.5 8 8 0 01-1.5 7.7c-.7.7-2.1 2-4 2.1-3 0-3.7-2-3.8-2.5-.3-2.2 1-3.1 1.6-3.3.5-.2 2.2-.2 2.6 1 .1.4.1 1.1-.2 1.6"/>
+      <path d="M202.2 292.6a2.7 2.7 0 00-.7-2.7 4.1 4.1 0 00-4.7-.7 5 5 0 00-2 1.7l-1 1.2-.8 2c-2 5.6 1.2 11.6 5.2 14.1a24 24 0 0011.5 3.3l5.3.3h13.4l6 .6 4.4.8 1.5.4 1 .3a31.9 31.9 0 017.7 3.3c.7.4 1.5.8 2 1.4l1.1 1c1.5 1.4 3.1 3 3.5 5.3v1.3c0 1.4-1.1 3.4-4.3 4"/>
+      <path d="M239 326.7c-1 1.8 0 2.6 1.2 2.7 1.7.2 2.6-1.1 2.7-2.3.2-2-1.5-3.9-3.5-3.8a4.4 4.4 0 00-4 2.8 5.5 5.5 0 00-.3 1.9 4.7 4.7 0 001 3.3 6 6 0 004.4 2c3.4.1 6-3 6-6.3 0-6.1-9.1-9.5-12.8-10.4a67 67 0 00-14.3-1.8c-2.9-.2-5-.1-8.1-.4-2.8-.3-4.3-.5-7.2-1.1a22 22 0 01-10-5.2 13.7 13.7 0 01-3.7-17.7 11.5 11.5 0 018.2-5.3c3-.5 5.6.8 7.1 3.8.8 1.4.6 3.8 0 5a4.8 4.8 0 01-3.9 2.3c-3 0-3.7-2-3.8-2.5-.3-2.2 1-3.1 1.6-3.3.5-.2 2.2-.2 2.6 1 .1.4.1 1.1-.2 1.6"/>
+      <path stroke-linecap="round" d="M218.6 185.6a97 97 0 00-.3-.4c-1.3-2-3.7-2.5-5.5-1.2-2 1.6-2.6 4.3-2 7.2a7 7 0 003.2 4.4"/>
+      <path d="M293.4 191.7c-3.2 3.5-6.5 4.6-11.3 4.8-1.5 0-4.4-.5-6-1.7-1-.8-2.3-2-1.5-4.4.5-1.5 3-5.7 3-8.7.2-4.5-1.5-7-4.2-7.9-5-1.8-10.4 3.2-13.6 4.3a11 11 0 01-4.1.6c-1.6 0-2.5 0-4.2-.6-3.2-1.1-8.6-6-13.6-4.3-2.7 1-4.4 3.4-4.2 8 0 2.9 2.5 7.1 3 8.6.8 2.3-.4 3.6-1.5 4.4a11.6 11.6 0 01-6 1.7c-4.9-.2-8-1.3-11.3-4.8"/>
+      <path stroke-linecap="round" d="M237.9 315.5c.6.3.1-.1 4.2 1.7 3.8 1.7 6.6 3.2 9 7a8.5 8.5 0 01.7 5.9"/>
+      <path d="M238.1 332.8a6.4 6.4 0 002.6.7c3.4.1 6-3 6-6.3 0-2.2-1.2-4-2.9-5.6"/>
+      <path stroke-linecap="round" d="M238.9 326.7c-.9 1.9.3 2.8 1.5 3 1.7.2 2.6-1.2 2.8-2.4a3.6 3.6 0 00-1.7-3.3"/>
+      <path d="M312 187.8c2.6 0 4.9 2.9 4.9 5.8 0 3.4-1.8 5.5-3.1 7-1 1.3-2.2 2.4-3.6 3.8"/>
+      <path stroke-linecap="round" d="M309 185.1a5 5 0 012.3 2 7.3 7.3 0 011.2 4.9c-.1 3.4-2.5 5.7-4.7 7.1m-3.8-14l.5.6a7 7 0 011.2 5.7 6.5 6.5 0 01-3 4.4m-4-11.6c2 1.6 2.7 4.4 2 7.2-.5 2-1.8 3.3-3.3 4.2m8.9 32.9c.2.7.6 1 1.2 1.5a10.8 10.8 0 004.9 2.9 6.2 6.2 0 005-.7M187 275.4c1 0 2 .6 2.7 1.8a2.6 2.6 0 01.3 1.2c0 .7-.3 1.4-.8 1.8-1.2.7-3.2.4-3.1-1.7"/>
+      <path d="M193.2 249c4 .8 7.7 5.5 9 10.7a23.6 23.6 0 01.2 9.6 18 18 0 01-4.7 9c-.5.6-1 1-1.7 1.5l-.9.6m-6.3-9.7c1.6 0 3 1.5 3 3.2a3 3 0 01-.8 2"/>
+      <path d="M187.7 272.6c1.7 0 3.3 1.6 3.3 3.3a3.1 3.1 0 01-1.2 2.5"/>
+      <path stroke-linecap="round" d="M203.2 255.6c1.5 2 2.6 3.9 3 6.2m0 6.8a13.8 13.8 0 01-1.2 3.2 14.2 14.2 0 01-2.8 3.7"/>
+      <path d="M203.4 243.5a7.5 7.5 0 012.8 3.8"/>
+      <path stroke-linecap="round" d="M206.3 239.6a8.7 8.7 0 01-2.7 3.7m-7.3-13.8l1.7-.4 1-.8.7-1 .5-1.4.3-1.2"/>
+      <path d="M192.8 223.4l-2 .7a7 7 0 00-2.8 2.4 13.5 13.5 0 00-1.8 4.8c-.2.7-.4 3 0 5.3a12.6 12.6 0 002 4.6l.8 1c1 1 2 1.7 3.5 1.4"/>
+      <path stroke-linecap="round" d="M202.4 215.8c-.2 1-.8 2.3-2.4 2.2"/>
+      <path d="M196.5 222.8c-1.5-1.5-4.8-1.9-8 .2-.5.2-.9.6-1.3 1a7 7 0 00-1.1 1.2l-1.2 2a10 10 0 00-.7 2c-.6 2.3-.6 4.5-.6 5l.3 2.2a15 15 0 001.8 5 8.2 8.2 0 006.2 4.3c1.4.1 3.9-.6 4-2.4"/>
+      <path stroke-linecap="round" d="M291 189.7c.2-1.4 1.8-1.6 2.4-.8 1 1.2.4 3.2-1.5 3.8a3 3 0 01-3-1.1c-.9-1-.8-2.2-.5-3.2.2-.7.7-1.2 1.4-1.7 2.1-1.7 5.7-1.3 6.8 1.5 1.5 3.6-1.7 6.3-4.7 8.3-3.8 2.5-8 3-11.3 3-7.3-.1-12.9-3.6-16.5-5.6-.8-.5-1.7-.4-2.1.2-.5.6-.5 1.5.2 2.1"/>
+      <path stroke-linecap="round" d="M292.5 188.4c.8 0 1 .4 1.2.7 1 1.2.3 3.2-1.6 3.8m14.3 41.2c-2.8 3-.3 8.3 1.8 9.5.7.5 1 .2 1.6.6"/>
+      <path d="M306.5 228.3c-1 .7-1.2 1.4-1.3 2.6a4.2 4.2 0 001.2 3.2 11.2 11.2 0 007.3 3 8.2 8.2 0 004.9-1.4 7.3 7.3 0 003-4.3M305 281v2c-.4 2.2-.7 3.5-1.7 5.5a15 15 0 01-3.4 4.5 15.7 15.7 0 01-4.7 3.3 19.7 19.7 0 01-5.2 1.8 33 33 0 01-5.5.6h-5l-5.5-.7c-1.7-.2-2.7-.3-4.4-.3a22.8 22.8 0 00-8.8 1.5 17 17 0 00-5 3c-.6-.6-3-2.2-5.2-3a17.6 17.6 0 00-4.1-1.2c-1.8-.3-2.8-.3-4.6-.3-1.8 0-2.7.1-4.5.3-2 .2-3.3.5-5.4.6-2 .1-3 .2-5 .1-2.2 0-3.4-.2-5.6-.6a19.7 19.7 0 01-5.2-1.8c-2-1-3-1.7-4.7-3.3a15 15 0 01-3.3-4.5 15.1 15.1 0 01-1.7-5.5v-83.4H305V281z"/>
+    </g>
+    <g fill="#c7b37f" stroke="#c7b37f">
+      <path stroke-width=".3" d="M198.3 292.5a2 2 0 114 0 2 2 0 01-4 0zm-12.2-14.1c0-1 .6-1.8 1.4-1.8.8 0 1.4.8 1.4 1.8s-.6 1.8-1.4 1.8c-.8 0-1.4-.8-1.4-1.8z"/>
+      <path stroke="none" d="M193 242.9c0-.8.7-1.5 1.4-1.5.8 0 1.4.7 1.4 1.5s-.6 1.4-1.4 1.4c-.7 0-1.3-.6-1.3-1.4zm24.6-52.5c-.1-.9.4-1.6 1-1.6.7-.1 1.4.5 1.5 1.3 0 .8-.4 1.5-1.1 1.6-.7 0-1.4-.5-1.4-1.3z"/>
+    </g>
+    <g stroke="#c7b37f" stroke-linecap="round" stroke-width=".5">
+      <path d="M191.4 251.2a1.8 1.8 0 00-.6.4l-.5.7-.2 1m3.8 21.3l.7-.8.6-.8.4-.7.5-1m-1 11l-1.2.6-.9.5a14 14 0 00-1 .7l-1 .8m12-30.3l-.6-.7-.7-.7-.8-.5"/>
+      <path stroke-linecap="butt" d="M203.3 244l-1 .4a4 4 0 01-1.1.2"/>
+      <path d="M190 230.8c0 .4.1.7.3 1.1l.7 1.4a6.8 6.8 0 002.2 2.1l1.2.7m-.9-4.7l1 .5a6 6 0 002.4.5l1.5-.1m5.7-32.5l-1.6-1a9.6 9.6 0 01-2.4-2.3l-.7-1m6-3.6l.5 1.3 1.2 1.7c.7.8 1.3 1 2.2 1.6m1.1-4.7l.5 1.2.7 1 1 1c.6.5 1 .6 1.6 1"/>
+    </g>
+    <path fill="#703d29" stroke-width=".1" d="M266.6 185.3c0-1.4-1.3-1.5-1.9-1.5-1.4 0-1.8 1-3.7 2a9.5 9.5 0 01-5.3 1.4 9 9 0 01-5.4-1.5c-1.9-1-2.2-1.9-3.6-1.9-.8 0-1.9.7-1.8 2v.7s.2 0 .2.2c0-.7.1-1 .4-1.4a1.8 1.8 0 011.3-.7c1.5 0 2 1 3.9 2a9.5 9.5 0 005.3 1.5c2 0 3.1-.3 5.4-1.5 1.9-1 2.4-2 3.9-2 .5 0 .8.3 1 .8v.7h.2c0-.1.2-.2.1-.8z"/>
+  </g>
+  <g fill="#703d29">
+    <path d="M211.5 299.2c.4-.4.8-.3.8-.5l-.2-.2-.7-.2-.7-.3s-.3-.2-.4 0c0 .3.9.3.5 1.1 0 .2-.1.5-.6 1l-2.1 2.3-.2.2V299l.1-1.4c.2-.4.6 0 .7-.3 0-.2 0-.2-.2-.3-.2 0-.4 0-1-.3l-.7-.3c-.1 0-.4-.2-.5 0l.1.2c.3.2.4.3.4.7v6c0 .4.1.6.2.6l.3-.2 4.2-4.6z"/>
+    <path d="M214 300.1c.3-.8.8-.3.9-.6l-.3-.2-1-.3-1-.4h-.3c0 .4 1 .4.7 1.3l-1.4 4.4c-.3.8-.8.4-.9.7v.1l1 .3 1.2.4h.3c.1-.3-1-.2-.6-1.3l1.4-4.3zm3 1c.1-.6.4-.6.7-.5.8.3 1 1.1.8 2-.2.5-.4 1-1.6.7-.3-.1-.6-.2-.5-.4l.6-1.9zm-2.3 3.9c-.4 1.1-1 .6-1 1l.2.1 1.3.4.7.2h.3c0-.4-.9-.2-.6-1.2l.5-1.6c0-.3 0-.4.5-.3.4.2.5.3.6.7l.3 1.7c0 .6.2 1.3.8 1.4.3.2 1 .1 1-.2v-.1h-.3l-.3-.3-.5-3 .6-.2c.3-.2.6-.4.8-1 .1-.4.3-1.7-1.5-2.3l-1.6-.4-1-.3h-.2c-.1.4.9.3.6 1.3l-1.2 4zm6.7 2c-.2 1-1 .4-1.2.7 0 .2.1.3.3.3l1.2.2 1.1.4.5-.1c0-.3-1.1-.3-.8-1.4l1-4.2c0-.5.2-.5.5-.4l.7.2c1 .2.5 1.1.8 1.2.3 0 .2-.3.3-.5v-1.1l-2.6-.6-2.5-.6c-.2 0-.2 0-.2.2l-.5 1.2v.3c.5.1.5-1.2 1.4-1l.7.2c.4.1.5.2.4.6l-1 4.3zm10.2-2.7c.3-.5.7-.4.7-.6l-.3-.2h-.7l-.7-.2c-.1 0-.4-.1-.4 0 0 .4.9.2.7 1 0 .2-.1.6-.5 1.1l-1.7 2.7-.1.2v-.3l-.6-3.2a4.3 4.3 0 01-.1-1.3c0-.4.5-.2.6-.5l-.3-.2-1-.1-.8-.2c-.1 0-.4-.1-.4 0l.1.2c.4.2.5.3.5.7l1.1 5.9c.1.4.2.5.3.5l.2-.2 3.4-5.3zm.5 5.4l.1.4 1.4.6c1.1.2 2-.5 2.3-1.7.2-1.2-.3-1.7-1.2-2.3-1-.8-1.5-1-1.3-1.6 0-.6.5-1 1-.8 1.5.2 1.4 2 1.6 2 .1 0 .2 0 .2-.3l.1-1.3v-.3h-.5c-.3 0-.5-.4-1.2-.5-1-.2-1.8.5-2 1.6-.2 1 .2 1.4 1 1.9 1.2.9 1.7 1 1.6 1.9-.2.7-.8 1.1-1.4 1-1-.2-1.3-1.1-1.5-2l-.1-.3c-.2 0-.2.3-.2.4v1.3zm12.6-3.5c.3-.6.6-.5.7-.7 0-.2-.2-.2-.3-.2h-.8l-.7-.1-.4.1c0 .4 1 0 .8 1 0 .1 0 .5-.3 1l-1.4 2.9-.2.2v-.2l-1-3.2a4.3 4.3 0 01-.2-1.3c0-.4.6-.3.6-.5s0-.2-.3-.2h-1l-.8-.1c-.1 0-.4-.1-.4 0l.1.2c.4.2.5.3.6.6l1.7 5.8c.1.4.2.5.3.5l.2-.3 2.8-5.5z"/>
+    <path d="M246 310.8c0 1-.8.8-.8 1.2h1l1 .1.4-.1c0-.5-1.1.2-1.1-1.7v-3.4s.2 0 .3.2l4 5h.3v-.2l.1-5.3c0-1 .8-.8.8-1.1l-.2-.1h-2v.1c0 .3 1 .2 1 1v3.2l-.1.4-.3-.3-3.4-4.2c-.1-.2 0-.3-.3-.3h-1.4l-.1.2c0 .4 1-.2.9 1.7v3.6zm8.4-4.3c0-1 .6-.6.6-.9l-.3-.1h-2.3c0 .4.9.1.9 1v4.6c0 1-.6.7-.6 1v.1h2.3l.3-.1c0-.3-1 .1-1-1v-4.6zm3.6 4.4c0 1.2-1 .7-1 1 0 .3.2.3.3.3h2.4c.3 0 .5 0 .5-.2 0-.3-1.1 0-1.1-1.2v-4.3c0-.5 0-.5.3-.5h.8c1 0 .7 1 1 1 .3 0 .2-.4.2-.5l-.1-.9s0-.2-.2-.2H256c-.2 0-.2.2-.2.3l-.1 1.2.1.4c.4 0 .1-1.3 1.1-1.3h.7c.4 0 .5 0 .5.5v4.4zm5-1.8h-.3v-.4l.6-1.8h.1l1 1.7v.3l-.2.1-1.2.1zm1.5.4c.2 0 .3 0 .6.8l.2.6c0 .6-.6.6-.6.8 0 .2.2.1.3.1h1l1-.1c.3 0 .4 0 .4-.2 0-.3-.5.1-.8-.6l-2.8-5.6-.2-.3-.2.4-1.9 5.9c-.2.5-.6.5-.6.7 0 .2.2.1.3.1h1.5c.2-.1.5 0 .5-.3 0-.2-1 0-1-.7l.1-.7c.2-.7.3-.7.5-.7l1.7-.2zm6.6-4c0-.6 0-.6 1-.7 1.6-.3 1.1 1 1.5.9.2 0 .1-.4.1-.5l-.1-1h-.2l-2 .2-2.2.3c-.2 0-.2 0-.2.2 0 .3 1 0 1 .8l.6 4.4c.2 1.2-.5.7-.5 1.2h.2l1.1-.1 1-.1c.2 0 .4 0 .4-.2 0-.3-1 0-1.1-1l-.2-1.4c0-.5-.1-.6.3-.7h.6c.9-.2.8.9 1 .8.3 0 .2-.3.1-.5l-.2-1.6c0-.3-.2-.3-.2-.3-.2 0-.1 1-.8 1l-.6.1c-.4 0-.4 0-.4-.4l-.2-1.3zm3.2 2.2c.3 2 1.7 3 3.4 2.7 2.7-.5 2.8-3 2.5-4.2-.3-2-1.8-3-3.5-2.7-2 .4-2.8 2.2-2.4 4.2zm.9-.7c-.3-1.4 0-2.7 1.4-3 1-.3 2.3.6 2.7 2.7.3 1.6 0 3-1.4 3.2-1.5.3-2.4-1.5-2.7-2.9zm6.7-3.3c-.2-.6.1-.7.4-.7.8-.2 1.5.3 1.7 1.3.1.5.2 1-1 1.3-.3.1-.6.2-.7 0l-.4-2zm0 4.5c.3 1.2-.5 1-.4 1.3 0 .2.2.2.3.1l1.3-.3.7-.1c.2 0 .2-.2.2-.2 0-.4-.8.2-1-.8l-.4-1.6c-.1-.3-.2-.4.3-.5.4 0 .6 0 .9.3l1 1.3c.4.5.8 1 1.5.9.3-.1.8-.5.7-.7 0-.1 0-.2-.1-.1h-.6l-2-2.3.5-.5c.1-.3.3-.7.2-1.3-.1-.4-.6-1.7-2.5-1.2l-1.6.4-1 .2-.2.2c.1.4 1-.2 1.2.8l1 4.1zm6.9-1.5c.3 1-.8.9-.7 1.2 0 .2.2.2.3.2l1.2-.4 1.2-.3c.2 0 .4 0 .3-.2 0-.3-1 .2-1.3-.9l-1.1-4.2c-.1-.4 0-.5.3-.6l.7-.2c1-.3 1 .8 1.3.8.2 0 0-.4 0-.5l-.4-.9s0-.2-.2-.2l-2.5.7-2.5.7c-.2 0-.1.1-.1.2l.2 1.3c0 .1 0 .3.2.3.3-.1-.2-1.3.7-1.5l.7-.2c.3 0 .4 0 .6.4l1 4.3zm4.4-5.9c-.3-.9.4-.7.3-1h-.3c-.4 0-.7.2-1 .3l-1 .2s-.3 0-.2.2c0 .3 1-.2 1.2.6l1.2 4.4c.2 1-.4.8-.3 1.2l1-.2 1.3-.3c.2-.1.2-.2.2-.3 0-.3-.9.4-1.2-.7l-1.2-4.4zm1.8 2.1c.6 1.9 2.1 2.7 3.8 2.2 2.6-.9 2.3-3.3 1.9-4.5-.6-2-2.3-2.7-3.8-2.2-2 .7-2.6 2.6-1.9 4.5zm.8-.8c-.4-1.3-.4-2.7 1-3.2 1-.4 2.3.3 3 2.4.5 1.5.5 2.8-1 3.3-1.4.5-2.5-1.2-3-2.5zm6.1-4.3c-.2-.6 0-.7.4-.8.8-.3 1.5.2 1.8 1 .2.6.4 1-.8 1.6-.3 0-.6.2-.7 0l-.7-1.8zm.7 4.5c.4 1-.4 1-.2 1.3 0 .2.2.1.3 0 .4 0 .8-.3 1.2-.4l.7-.3c.2 0 .2-.1.2-.2-.1-.3-.8.3-1.2-.6l-.6-1.5c0-.4-.2-.4.3-.6.4-.1.5-.1.9.2l1.2 1.2c.5.4 1 .8 1.6.6.3-.1.7-.5.6-.8 0 0 0-.1-.1 0h-.6l-2.2-2 .3-.5c.1-.3.2-.7 0-1.3-.2-.4-.8-1.6-2.6-.9l-1.6.7-1 .3v.2c.1.3.8-.4 1.2.6l1.6 4z"/>
+  </g>
+  <g fill="#fedf00" transform="matrix(.512 0 0 .512 0 76.8)">
+    <path fill="#d52b1e" d="M412.7 249.3h82.1v82h-82.1z"/>
+    <path id="a" fill="#fff" d="M451.2 313.8s0 3-.8 5.3c-1 2.7-1 2.7-1.9 4a13.2 13.2 0 01-3.8 4c-2 1.2-4 1.8-6 1.6-5.4-.4-8-6.4-9.2-11.2-1.3-5.1-5-8-7.5-6-1.4 1-1.4 2.8-.3 4.6a9 9 0 004.1 2.8l-2.9 3.7s-6.3-.8-7.5-7.4c-.5-2.5.7-7.1 4.9-8.5 5.3-1.8 8.6 2 10.3 5.2 2.2 4.4 3.2 12.4 9.4 11.2 3.4-.7 5-5.6 5-7.9l2.4-2.6 3.7 1.2h.1z"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 907.5 0)" xlink:href="#a"/>
+    <path d="M461.1 279l10.8-11.7s1.6-1.3 1.6-3.4l-2.2.4-.5-1.2-.1-1.1 3-.7V260l.3-1.3-3.2.2.3-1.4.5-1 1.9-.4h1.9c1.8-3.4 9.2-6.4 14.4-1 3.8 4 3 11.2-2 13.2a6.3 6.3 0 01-6.8-1.1l2-4c2.7 1.7 5-.3 4.8-2.4-.2-2.7-2-4.3-4.3-4.5-2.3-.2-4 1-5 3-.6 1.3-.3 2.2-.5 3.6-.2 1.5 0 2.3-.5 3.8a8.8 8.8 0 01-2.4 3.6l-11 12-43 46.4-3.2-3 43.2-46.7z"/>
+    <path fill="#fff" d="M429.5 283s2.7 13.4 11.9 33.5c4.7-1.7 7.4-2.8 12.4-2.8 4.9 0 7.6 1 12.3 2.8A171 171 0 00478 283l-24.2-31-24.4 31z"/>
+    <path d="M456.1 262.4l16.8 21.7s-2.2 10.5-9 26.3c-2.7-.6-5-1.1-7.8-1.3v-46.7zm-4.7 0l-16.8 21.7s2.2 10.5 9 26.3c2.7-.6 5-1.1 7.8-1.3v-46.7z"/>
+  </g>
+  <g fill="#d52b1e">
+    <path fill="#fedf00" d="M257.8 204.4H300v42h-42z"/>
+    <path d="M263.7 204.4h6.3v42h-6.3zm12 0h6.3v42h-6.2zm12 0h6.3v42h-6.2z"/>
+  </g>
+  <g fill="#d52b1e" stroke="#d52b1e" stroke-width=".5">
+    <path fill="#fedf00" stroke="none" d="M211.4 282.8c.2.8.4 2 1.1 3.4.8 1.2.5 1.2 2.2 3a13.8 13.8 0 006.7 3.6c3.4 1 5.7 1 8.5.9 2.2-.1 3.9-.4 5.3-.6 2-.2 3.4-.4 5.7-.5a32.4 32.4 0 013.1 0c1.2 0 2.4.3 3.7.5 2.8.6 5.6 1.7 5.6 1.7v-43.9h-42v30l.1 2z"/>
+    <path stroke-width=".3" d="M216.3 290.5l2 1.2 2.7 1v-41.8h-4.7zm23.4 2v-41.6H235v42.2l4.7-.5zm9.3-41.6h-4.6v41.7a31 31 0 014.6.8V251zm-18.6 0v42.7h-4.7v-42.7z"/>
+  </g>
+  <g transform="matrix(.512 0 0 .512 0 76.8)">
+    <path fill="#fedf00" d="M585.5 402.4a20.8 20.8 0 01-2.2 6.6c-1.5 2.3-1 2.3-4.3 6a26.3 26.3 0 01-13 7 51.8 51.8 0 01-16.6 1.6c-4.3-.2-7.5-.7-10.3-1-3.8-.6-6.7-.9-11-1a62.9 62.9 0 00-6.2 0 83.3 83.3 0 00-18.3 4.2V340h82.2v58.5l-.3 3.8z"/>
+    <g id="b">
+      <path fill="#d52b1e" d="M524.6 347l-.6.2-.8.8c-.4.4-.7.5-1.2.8l-.6.5c-.3.3 0 .6-.3 1-.1.4-.3.6-.6 1-.4.4-.7.5-1 1l-1.2 1-.3.1h-.6c-.4.2-.5.6-.8.8l.3.6.8 1.4c.2.3.2.7.5.8.5.2.9.2 1.3.1.8.2 1.3.2 2 .5l1.5.8c.5.3.8.4 1.3.5h1.8v.3l2 1a1.7 1.7 0 00-.1.4c-.1.3-.2.7-.1.8.6 1.9 1.2 3 1.5 3.2.6.2.8.9 1.1 1.5l-.3.3c-.6.6-1.2 1-1.7 1.8-.7 1.2-1.2 1.2-.3 2.8l1.5 2.4c.4.7.6 1.2.8 2 .2.7.3 1.2.3 2l1 .3.7-.6.6-1.2v-1c-.2-.1-.3-.4-.2-.7 0-.4.5-.3.7-.6.3-.5-.4-.8-.7-1.1-.6-.7-1.4-.9-1.6-1.9 0-.2 0-.4.4-.7l2-1.8c.2.1.6.2 1 .1l1.3.4c.6.2.9 0 1.2 0h.4l.1.6c.1 1-.1 3 .2 3.5l.3.6.2.6v2l-.2 1.7c0 .4-.2.7-.5 1-.2.4-.6.4-1 .7v1l1.1.5 1.3.3.7-.3.1-.6.5-.5c.4-.2.8 0 .9-.1.2-.3 0-.4 0-.8 0-.6-.2-1-.3-1.6a11.8 11.8 0 01-.1-2.8c0-.6 0-1 .2-1.5.1-1 .4-1.4.6-2.2.3-1 .3-1.6.4-2.5a24.4 24.4 0 0010.1-.6c.8.7 1.7 1.2 2.7 1.6v1c0 .3 0 .4.2.7l.3.3c.3 0 .5 0 .7-.2.2-.2.2-.4.2-.7v-.7h1.8v1.1c.1.3.3.4.5.4a.7.7 0 00.6 0c.3-.2.2-.6.3-1v-.7l1-.4a5.1 5.1 0 010 .9l-.3.9c-.2.6-.5.8-.8 1.4-.4.6-.5 1-1 1.5l-.6.7-.6.9-.9 1c-.7.6-1.2.2-2 .9l-.3 1 1.4.6 1.3.2.4-.2c0-.3 0-.6.3-.8.2-.3.4-.3.7-.4.4 0 .8 0 1-.2.4-.3.4-1 .7-1.5a12.7 12.7 0 013-3.9l1.7-1.4c.2-.4.5-.5.5-1l-.2-.6-.2-1c1.5.7 1 .7 1.2 1.4.3.6 0 1 .1 1.7.1.8.5 1.1.5 1.9.1.9-.1 1.4-.3 2.3-.1.8-.1 1.3-.5 2a3.8 3.8 0 01-1.1 1.5l-.6.5-.1 1 1.1.4 1.6.4.4-.3c.2-.7 0-1.7.4-1.7.4-.1.7 0 .8-.3v-.7l.7-4.5.4-1.9.4-1.7c.7-2-.2-2.3-1-3.6-.5-.7-.7-1-.7-1.5V362a42.7 42.7 0 010-2.8l.4-.2c1.2-.7 1.7-.9 2.4-2.5a3.4 3.4 0 00.3-1.5v-1l-.4-1a3.2 3.2 0 00-.6-.8c-.7-1-1.7-1.1-2.7-1.5-1.5-.5-2.5-.4-4-.5-1.8-.2-2.7-.2-4.4 0-2 0-3.1.4-5.1.7l-4.9.4c-2.3 0-4.4-.5-5.8-.4-2.4.2-2.5.8-6.2 1.1a67 67 0 01-3.8.2l-2.2-.7c.9-.3 1.1-.5 1.5-1 .3-.4.2-.7.6-1.1l.7-1a2.2 2.2 0 00-.9-.4h-1a3 3 0 00-1.2.3l-.8.6-2.2-1.2a8.8 8.8 0 00-3-.9zm2 11.8z"/>
+      <g fill="none" stroke="#fedf00" stroke-linecap="round">
+        <path d="M568.8 359.5l-.8.3c-.9.4-1.6.4-2.6.5-2.6.2-4.3-1.1-7-.9-1.4.1-2 1.2-3.5 1.6a9.3 9.3 0 01-1.7.2l.5-1s-1.2.3-2 .3a7.5 7.5 0 01-1.6-.2l1-1-1.3-.2a4 4 0 01-1-.7 20.5 20.5 0 001.7-.3c1.5-.4 2-1.2 3.9-1.4 1.1 0 3 0 7.6.8 3 .5 4.4.2 5.5-.3.8-.3 1-1 1.1-1.8.1-.8-.4-1.4-.8-1.8-.1 0-.5-.3-1.1-.4"/>
+        <path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M524.8 350.6c-.5 0-.9 0-1.3.3-.5.3-.6.7-1 1.1.5.1.8.4 1.2.3.4 0 .5-.2.8-.5.3-.4.4-.7.4-1.2h-.1z"/>
+        <path d="M536 363.8a13.6 13.6 0 001 2.3c.2.8 0 1.2.2 2v1.6m6.8-7l-.3 1.3-1 3.5v.7m-11-4c.9.2.6 3.3 1.9 4"/>
+        <path stroke-linecap="butt" d="M560.1 369.8l.4-.3a8.2 8.2 0 002.7-1.8"/>
+        <path d="M552.4 368c3.5-.9 5.9-2.6 7.6-2.9m-4-1.5h.8c1.5-.3 1.7.6 2.7 1.2 1.9 1 2.1 2.3 4.3 3.4l.4.1.8.4"/>
+        <path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M517.7 354.5h.7l.8-.2c.3 0 .5 0 .7.2.2 0 .2.1.3.3 0 .2.2.3.1.5 0 .2-.3.4-.6.4-.2 0-.4 0-.5-.3a.5.5 0 010-.4 1 1 0 01-.9 0 1 1 0 01-.6-.5z"/>
+      </g>
+      <path fill="#0065bd" d="M525.1 364.2l-2-.9c.4-.2.7-.2 1-.5.3-.4.3-.8.5-1.3s.2-1 .7-1.4c.3-.2.8-.2 1.1-.1.4 0 .8.4.9.7 0 .6-.2 1-.3 1.5 0 .6-.3.9-.2 1.4 0 .4.2.6.4 1l-2-.4zm-1 1a.6.6 0 11.7.5.6.6 0 01-.7-.6zm-1.7-16.6h-.2c-.4-.4-.4-.8-.6-1.2a4 4 0 01-.3-1.2v-2c0-.3 0-.6-.2-.9 0-.2-.4-.3-.3-.4 0-.1.3 0 .4 0 .4 0 .6.1 1 .4.3.3.5.6.6 1l.4 1.5.3.8.5.6-.7.8-.9.6zm3.6 10.6l2.2 1a9.2 9.2 0 003.5-3.8c.9-1.8 1-2.7 1.4-4.4l-1.8-.5h-.4c-.5 1.8-.7 2.7-1.6 4.2-.8 1.3-1.7 2.3-2.6 3l-.7.5zm5 18.2l.8-1.3 1.4-1.1h.4a8.7 8.7 0 01-.5 2.8l-.4 1-.5.5c-.5-.8-1.3-1.3-1.3-2zm33 1.8l1.4.6 1.5.9v.5l-1.5.2a8.4 8.4 0 01-1.3 0h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9.8-2l1.4.5 1.5 1c0 .1.1.3 0 .4a9 9 0 01-2.7.3l-1-.1-.7-.3c.6-.7.9-1.7 1.5-1.8zm-17.4 2.1l1.5.5 1.5 1v.5a9 9 0 01-2.8.2h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9-29.8c-.6-.3-1-1-.6-1.6.1-.2.4-.2.6-.4.2-.3.1-.5 0-.8l-.1-1-.2-1c0-.6 0-1 .4-1.6.2-.3.7-.6.8-.6.2.1 0 .5 0 .8 0 .5.1.7.3 1.2l.7 1.3c.2.6.4.8.4 1.4 0 .5 0 .7-.2 1.2a2 2 0 01-.6.8 2 2 0 01-.8.4 1.1 1.1 0 01-.6 0z"/>
+    </g>
+    <use width="100%" height="100%" y="36.6" xlink:href="#b"/>
+  </g>
+  <path fill="none" stroke="#703d29" stroke-width=".4" d="M211.3 204.4h42v42h-42zm46.5 0H300v42h-42zm-46.4 78.4c.2.8.4 2 1.1 3.4.8 1.2.5 1.2 2.2 3a13.8 13.8 0 006.7 3.6c3.4 1 5.7 1 8.5.9 2.2-.1 3.9-.4 5.3-.6 2-.2 3.4-.4 5.7-.5a32.4 32.4 0 013.1 0c1.2 0 2.4.3 3.7.5 2.8.6 5.6 1.7 5.6 1.7v-43.9h-42v30l.1 2zm88.4 0c-.1.8-.4 2-1.1 3.4-.8 1.2-.5 1.2-2.2 3a13.8 13.8 0 01-6.7 3.6 26.1 26.1 0 01-8.5.9c-2.2-.1-3.9-.4-5.3-.6a55.6 55.6 0 00-5.6-.5 32.4 32.4 0 00-3.2 0c-1.2 0-2.4.3-3.7.5-2.8.6-5.7 1.7-5.7 1.7v-43.9H300v30l-.1 2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ae.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ae.svg
new file mode 100644
index 0000000..739c5d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ae.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ae" viewBox="0 0 512 512">
+  <path fill="#00732f" d="M0 0h512v170.7H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <path d="M0 341.3h512V512H0z"/>
+  <path fill="red" d="M0 0h180v512H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/af.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/af.svg
new file mode 100644
index 0000000..90c34b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/af.svg
@@ -0,0 +1,81 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-af" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path d="M0 0h512v512H0z"/>
+    <path fill="#090" d="M341.3 0H512v512H341.3z"/>
+    <path fill="#bf0000" d="M170.7 0h170.6v512H170.7z"/>
+  </g>
+  <g fill="#fff" fill-rule="evenodd" stroke="#bd6b00" stroke-width=".5" transform="translate(2.2 86.8) scale(.84611)">
+    <path d="M319.5 225.8h8.3c0 3.2 2 6.6 4.5 8.5h-16c2.5-2.2 3.2-5 3.2-8.5z"/>
+    <path stroke="none" d="M266.7 178.5l4.6 5 57 .2 4.6-5-14.6-.3-7-5h-23l-6.6 5.1h-15z"/>
+    <path d="M290 172.7h19.7c2.6-1.4 3.5-5.9 3.5-8.4 0-7.4-5.3-11-10.5-11.2-.8 0-1.7-.6-1.9-1.3-.5-1.6-.4-2.7-1-2.6-.4 0-.3 1-.7 2.4-.3.8-1.1 1.5-2 1.6-6.4.3-10.6 5-10.5 11.1.1 4 .6 6.4 3.4 8.4z"/>
+    <path stroke="none" d="M257.7 242.8H342l-7.5-6.1h-69.4l-7.5 6.1z"/>
+    <path d="M296.4 219.7l1.5 4.6h3.5l-2.8-4.6h-2.2zm-2 4.6l1 4.6h4l-1.5-4.6h-3.5zm7 0l2.8 4.6h5.9l-4.6-4.6h-4.1zm-34.5 10.4c3.1-2.9 5.1-5.3 5.1-8.8h7.6c0 2 .7 3.1 1.8 3h7.7v-4.5h-5.6v-24.7c-.2-8.8 10.6-13.8 15-13.8h-26.3v-.8h55.3v.8H301c7.9 0 15.5 7.5 15.6 13.8v7h-1l-.1-6.9c0-6.9-8.7-13.3-15.7-13.1-6 .1-15.4 5.9-15.3 13v2.2l14.3.1-.1 2.5 2.2 1.4 4.5 1.4v3.8l3.2.9v3.7l3.8 1.7v3.8l2.5 1.5-.1 3.9 3.3 2.3h-7.8l4.9 5.5h-7.3l-3.6-5.5h-4.7l2.1 5.4h-5l-1.3-5.4h-6.2v5.8H267zm22.2-15v4.6h5.3l-1-4.6H289z"/>
+    <path fill="none" d="M289.4 211.7h3.3v7.6h-3.3z"/>
+    <path fill="none" d="M284.7 219.8h3.2v-5.6c0-2.4 2.2-4.9 3.2-5 1.2 0 2.9 2.3 3 4.8v5.8h3.4v-14.4h-12.8v14.4zm25.6 3.3h4v3.2h-4zm-2.4-5.3h4v3.1h-4zm-3.9-5.4h4v3.1h-4zm-3.3-4.5h4v3.1h-4z"/>
+    <path fill="none" d="M298 219.8l4.2.2 7.3 6.4v-3.8l-2.5-1.8v-3l-3.6-2v-3.3l-3.5-1.2V207l-1.7-1.5-.1 14.4z"/>
+    <path d="M315.4 210.3h1v7.1h-1z"/>
+    <g id="a">
+      <path d="M257.3 186.5c-1.2-2-2.7 2.8-7.8 6.3-2.3 1.6-4 5.9-4 8.7 0 2 .2 3.9 0 5.8-.1 1.1-1.4 3.8-.5 4.5 2.2 1.6 5.1 5.4 6.4 6.7 1.2 1 2.2-5.3 3-8 1-3 .6-6.7 3.2-9.4 1.8-2 6.4-3.8 6-4.6l-6.3-10z"/>
+      <path fill="#bf0000" d="M257 201.9a10 10 0 00-1.6-2.6 6.1 6.1 0 00-2.4-1.8 5.3 5.3 0 01-2.4-1.5 3.6 3.6 0 01-.8-1.5 5.9 5.9 0 010-2l-.3.3c-2.3 1.6-4 5.9-4 8.7a28.5 28.5 0 000 2.3c.2.5.3 1 .6 1.3l1.1.8 2.7.7a7.1 7.1 0 012.6 2 10.5 10.5 0 011.8 2.6l.2-.8c.8-2.7.7-5.9 2.6-8.5z"/>
+      <path fill="none" d="M249.8 192.4c-.5 3.3 1.4 4.5 3.2 5.1 1.8.7 3.3 2.6 4 4.4m-11.7 1.5c.8 3 2.8 2.6 4.6 3.2 1.8.7 3.7 3 4.5 4.8"/>
+      <path d="M255.6 184.5l1-.6 17.7 29.9-1 .6-17.7-30z"/>
+      <path d="M257.5 183.3a2 2 0 11-4 0 2 2 0 114 0zm15.2-24h7.2v1.6h-7.2zm0 3.1h7.2v13.8h-7.2zm-.4-5h8c.2-2.7-2.5-5.6-4-5.6-1.6.1-4.1 3-4 5.6z"/>
+      <path fill="#bd6b00" stroke="none" d="M292.6 155.8c-1.5.6-2.7 2.3-3.4 4.3-.7 2-1 4.3-.6 6.1 0 .7.3 1.1.5 1.5.2.3.4.5.6.5.3 0 .6 0 .7-.3l.2-.8c-.1-2-.1-3.8.3-5.4a7.7 7.7 0 013-4.4c.3-.2.4-.5.5-.7a1 1 0 00-.3-.7c-.4-.3-1-.4-1.5-.1zm.2.4c.4-.2.8 0 1 .1l.1.2c0 .1 0 .2-.3.4a8.2 8.2 0 00-3.1 4.6 16.7 16.7 0 00-.3 5.6 1 1 0 01-.2.6s0 .1-.2 0c0 0-.2 0-.4-.3a3.9 3.9 0 01-.4-1.2c-.3-1.8 0-4 .7-6 .7-1.8 1.8-3.4 3-4z"/>
+      <path fill="#bd6b00" stroke="none" d="M295.2 157.7c-1.5.7-2.5 2.3-3 4.2a13.6 13.6 0 00-.3 5.9c.2 1.3 1 2 1.6 2 .3.1.6 0 .8-.3.2-.3.3-.6.2-1-.4-1.6-.5-3.4-.3-5.1.3-1.7 1-3.2 2.2-4.1.3-.3.5-.5.5-.8a.8.8 0 00-.2-.6c-.4-.3-1-.4-1.5-.2zm.2.5c.4-.2.8-.1 1 0l.1.3-.3.4a6.5 6.5 0 00-2.4 4.4c-.3 1.8-.1 3.7.2 5.2.1.4 0 .6 0 .8l-.5.1c-.3 0-1-.5-1.2-1.7-.3-1.7-.2-3.9.3-5.7.5-1.8 1.5-3.3 2.8-3.8z"/>
+      <path d="M272.3 187.4h8v11h-8zm.5 17.4h7.7v2.4h-7.7zm-.2 4.1h8v8.7h-8zm-.6 10.5h8.7v4.9H272zm1.1-16.6h7l1.4-2.4h-9.6l1.2 2.4zm9.4-8.6l.1-6h4.8a17.4 17.4 0 00-4.9 6z"/>
+      <path fill="none" d="M273.6 196.7c0 1.3 1.5.8 1.5.1v-5.6c0-1 2.4-.8 2.4-.1v6c0 1 1.7.9 1.6 0v-7c0-2.2-5.5-2.1-5.5-.1v6.7zm0 13.3h5.7v7h-5.7z"/>
+      <path d="M277.2 213h2v1h-2zm-3.5 0h2v1h-2zm2-3h1.5v3h-1.5zm0 4h1.5v3.1h-1.5zM244 139c.4 5.5-1.4 8.6-4.3 8.1-.8-3 1-5.1 4.3-8.1zm-6.5 12.3c-2.6-1.3-.7-11.5.3-15.8.7 5.5 2 13.3-.3 15.8z"/>
+      <path d="M238.4 151.8c4.4 1.5 8-3.2 9.1-8.7-3.6 5-9.5 5-9 8.7zm-3.3 5.1c-3.4-.9-1.4-11.7-.7-16 .7 4.5 3.1 14.5.7 16zm1.2-.3c.2-3.7 3.9-2.7 6.5-4.7-.5 2-2 5.2-6.5 4.7zm-4.2 5c-3.4-1-1.4-12.6-1.6-17.4 1 4.2 4.2 16.3 1.6 17.4zm1.6-.5c2.8.9 6.5-1 6.8-4.3-2.5 1.7-6.3.4-6.8 4.3z"/>
+      <path d="M229.5 166.7c-3.2.3-1.8-9.6-1.8-18.8 1.2 8.6 4.5 16.5 1.8 18.8z"/>
+      <path d="M230.7 166.3c2.2 1 6.1-.7 7.2-4.4-4 1.7-6.6 0-7.2 4.4zm25.6-22.2c-.6 4.9-2.6 7.7-5.5 7.2-.8-3 1.6-5 5.5-7.2zm-7.8 12.4c4.9.7 6.6-3 10-7.9-4.7 3.4-10.2 4-10 8z"/>
+      <path d="M247 156c-2.6-3.2 0-7.3 2-10.7-.4 5.1 1.3 8-2 10.7zm-1 5.3c-.4-3.2 5-3.9 7.4-5.6-.9 1.8-2 6.7-7.5 5.6z"/>
+      <path d="M244.8 161.3c-3.7-.4-2.2-6.7.5-10.1-1.1 4.8 2 8.1-.5 10.1z"/>
+      <path d="M242 166.6c-4.2-2-1.5-7.2 0-10.3-.6 4.1 2.8 7.2 0 10.2z"/>
+      <path d="M242.8 166c2.2 3 6.5-.8 7.4-5.2-3.7 3.1-6.5 2.6-7.4 5.3zm-9.6 20.3c-.4-4.3 2.8-12 .5-16.2-.3-.6.7-2.1 1.4-1.2 1 1.5 2 5.7 2.5 4.1.4-1.7.5-4.6 2-5.2 1-.3 2.3-.6 1.9 1-.4 1.4-1.2 3.4-.3 3.5.5 0 2-2 3.3-3 1-.8 2.6.6 1 1.8-4.8 4-9.5 5.9-12.3 15.2zm-8.7 64.5c-.6 0-1.3-.3-.6.6 5.7 7 7.3 9 15.6 8 8.3-1.1 10.3-3.4 16.2-6.7a14.6 14.6 0 0111.2-1c1.6.5 2.6.5 1.4-.7-1.2-1.1-2.5-2.7-4-3.8a17.5 17.5 0 00-12.7-2.7c-6 1-11.1 4.9-17.2 6.4a25 25 0 01-9.9 0zm47.8 12.5c1 .2 1.7 2.2 2.3.9.8-2.3.2-4-.8-3.9-1.2.3-3.1 3-1.5 3z"/>
+      <path stroke="none" d="M220.6 183c-1.2-1.4-.9-1.8 1-1.9 1.4 0 4.2 1 5.3.1 1-.7.5-3.7 1-5 .2-.9.7-2 2-.2 3.6 5.8 8 12.8 10 19.6 1 3.8 0 9.8-3.4 13.8 0-3.4-1.2-5.7-2.7-8.6-2-3.7-9.1-14-13.2-17.9z"/>
+      <path d="M235.5 213.4c4 0 4.7-5.3 4.7-6.8-2 .4-5.4 3.7-4.7 6.8zm34.5 51.9c2.8.6 2.7-6.2-.2-9.1 1.3 4.4-2 8.4.1 9zm-1.2-.1c.2 3.2-8-.4-10-3 4.8 2.1 9.8.4 10 3zm-3.5-4.6c.3 3.1-7 .3-9.3-2.1 4.9 1.6 9-.5 9.3 2zm1.3.4c2.9.7 2.4-6.4-.4-8.8 1.4 4.7-1.8 8.1.4 8.8zm-3-4.3c2.9.7 1.2-5.4-.9-7.8.4 4.4-1 7.5 1 7.8zm-1.5 0c.3 3.2-5.4.8-7.6-2.3 4.8 1.5 7.3-.3 7.6 2.3zm-1.5-2.5c1.8-1.3-.1-4.8-3.7-4.6.4 2.1 1.6 5.9 3.7 4.6zm14 14.7c.1 3.2-8 1.6-10.6-1.8 5.2 1 10.3-.8 10.5 1.8zm-32.4-5.8c.3 3.2-8.6-.4-10.8-3.4 4.7 1.6 10.5.8 10.8 3.4zm5.4 1.3c1.9-1.3-1.9-4.7-5-5.5.4 2.1 3 6.8 5 5.6zm.6 2.3c.2 2.9-9.5 1.3-12-1.4 8.3 1.5 11.7-1.1 12 1.4z"/>
+      <path d="M252.8 268.6c1 2.7-8.3 2-11.6.5 5.3 0 10.8-2.4 11.6-.5z"/>
+      <path d="M257.1 270.6c1 2.4-7.6 2.4-11.8 1 5.6 0 10.8-3.4 11.8-1zm6.3 1.3c1.6 2.9-7.6 3.1-10.5 1.7 5.2-.7 9.2-4 10.5-1.7zm-10.7-4.9c-2.9 1.8-2.7-3.6-5-7.3 3.6 3.3 7 5.6 5 7.3z"/>
+      <path d="M257.9 269c-2.4 2.1-4.4-5.3-6.6-9.5 3.6 4 8.8 7.7 6.6 9.4zm6.8 2c-2 2.4-8-7-10.2-12 3.3 3.9 11.8 10 10.2 12zm-5.8 7.2c-1 3.6-16.2-3.4-18-7.1 8.8 4.6 18.2 3.6 18 7zm-48.7-73.8c-.4-.5-1.4 0-1.2 1.1.3 1.5 2.5 9.2 6.3 11.8 2.7 2 17 5.1 23.4 6.5 3.6.7 6.5 2.5 8.9 5.3a94.4 94.4 0 00-3-9.8c-1.2-3-4.4-6.2-7.8-6.3-6.1-.3-14.1-.8-20-3.3a16 16 0 01-6.7-5.3z"/>
+      <path d="M245.5 234.9c2 1.4 4.1-3.7 1.7-8.6-.1 4.7-3.8 6.3-1.7 8.6z"/>
+      <path d="M247.4 239.6c2.7.8 3.5-4 1.8-7.8.3 4.1-4.3 6.6-1.8 7.8z"/>
+      <path d="M249.5 243.4c2.6 1.3 3.5-3.6 1.7-7.1.2 4.5-3.7 5.9-1.7 7z"/>
+      <path d="M248.4 243.7c-1 3-7-2.7-8-5.8 3.7 3.7 8.7 3.2 8 5.7z"/>
+      <path d="M245.7 239c-1.2 3-8.7-5-10.4-8.7 3.7 3.7 11.2 6.5 10.4 8.6z"/>
+      <path d="M244.2 234.3c-1.2 3.5-9.3-5.8-11.7-9.1 4 3.6 12.6 6.6 11.7 9.1zm-.3-3.4c3-.6-.1-3-3.7-6.9-.1 4.1.5 7 3.7 6.9z"/>
+      <path d="M239 228.5c1.3-1.3-1.1-1.9-4.1-5.3-.5 2.3 2.8 6.5 4.2 5.3zm14 15.2c1.6 1 2.6-2.3.7-5.2-.5 3.2-2.1 4-.7 5.2zm-34.2-20.3c-3.3 2-8.6-6-10-9.3 2.9 3.8 10.6 7.2 10 9.3z"/>
+      <path d="M221.7 228c-1.9 2-7.7-3.5-9.7-6.3 3 2.7 10.5 3 9.7 6.3z"/>
+      <path d="M224.8 232.2c-.6 2.8-9-3.5-11-6.5 3.6 3.5 11.6 3.2 11 6.5z"/>
+      <path d="M223.5 235.3c-1.3 2.5-8.2-3.8-9.9-7 4.3 3.6 11 4.5 10 7zM220 223c2.1-2.3 1.2-3.4-.4-7-.8 3.7-2.1 5.2.4 7zm2.9 4.3c4 .2 0-4.6-1-8.7.4 4.6-1 8.3 1 8.7z"/>
+      <path d="M225.4 231.1c2.7-.6 2-4.5-.2-9.2.5 5.1-2.3 8 .2 9.2zm-1 7.7c-1 3-8.8-4-10-6.8 4 3.4 10.7 4.5 10 6.8z"/>
+      <path d="M229.1 243.6c-1.1 3-9.3-3.2-11.8-6.6 4.9 4 12.4 3.6 11.8 6.6z"/>
+      <path d="M233.9 248.5c-1.3 4.3-9.9-2.6-12.4-6 5.4 4.2 13 3 12.4 6zm-8-11c2.3 1.1 3.2-5.4 1.9-10.1 0 5-4.7 8.8-2 10z"/>
+      <path d="M229.8 242.7c2.8.8 2-6.3-.5-11-.3 4.7-2.3 9 .5 11zm5 4.9c3 .1 1-6.1-1.6-9.6.4 4.5-1 9 1.6 9.6zm-5.5 2.6c-1 1.6-3.2-1.3-7-3.5 3.4 1 7.4 2 7 3.5zm-1.8-52.7c3-2.2.7-6.2 0-10-1 3.6-3.4 8.4 0 10zm0 5.3c-4.5-.5-3.8-6.1-4-9.7 1.4 4.9 5 5.7 4 9.8zm.6-.7c3.7-.2 3.5-4.4 3.7-8.6-1.9 3.9-4 4.5-3.7 8.6z"/>
+      <path d="M228 207.3c-3 .3-4.4-2.6-5-7 2.7 4.1 5.1 2.8 5 7zm1-.3c3.7.5 3-3.8 3-7-1.2 3-4.2 4-3 7z"/>
+      <path d="M223.2 205.2c.3 2.8 2.1 7.6 5 6.5 1.1-3.4-2.6-4.1-5-6.5z"/>
+      <path d="M229 212c-1.2-2.4 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 7zm-11.9-29.2c2.3-2.4.3-6.4-.4-10.2-1 3.6-2.5 8.4.4 10.2zm0 4.6c-4 .5-5-7.7-5.5-11.3 1.4 4.9 6 7 5.5 11.4zm.8 0c2.8-1.5 2.2-4.7 3-7-1.8 2.9-3.6 3.3-3 7z"/>
+      <path d="M217 192.8c-4.1.3-6.6-8.8-6.8-12.4 1.3 4.9 7.4 7.5 6.9 12.4zm.9-.2c4-.9 3.5-3.5 2.9-7.6-1.3 4.2-3.5 3.3-2.9 7.6z"/>
+      <path d="M217 198c-4.6.8-4.3-6.6-8-11.9 3.2 4 9 9 8 11.9zm1-.3c3.6.2 4-5.1 3.8-7.3-.9 2.2-5 4.2-3.7 7.4z"/>
+      <path d="M209.8 192.3c1.7 5.7 4.2 11.4 7.2 11 1.5-3.3-2.9-3.7-7.2-11z"/>
+      <path d="M218.1 202.4c-1.2-2.5 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 6.9zm-7.1-3.6c2.5 5.1 3.6 11 7 10.1 1.3-4-3.8-4.8-7-10.1z"/>
+      <path d="M218.7 208c-1.5-2.8 2.7-3.7 3.8-7.4.5 4.8 0 8.3-3.8 7.3zm7.2-34.5c2.4.6 5-2.1 4.1-6.2-2.8.6-4 3.2-4.1 6.2zm-7.9-2.1c.2 1.2 1.7 1.3 1.2-.4a5.3 5.3 0 010-3.4 7.5 7.5 0 000-4.6c-.4-1-1.8-.4-1.2.4.6.9.7 2.8.2 3.7-.6 1.3-.4 3-.2 4.3zm22.9 16c-1 1.3-2.9.4-1.4-1.5 1.2-1.5 3-2.8 3-4.4.2-2 1.3-5 2.4-6.1 1.1-1.1 2.4.4 1.2 1.2-1.3.8-2.2 4.4-2.1 5.8-.1 2-2 3.5-3.1 5zm-3-2.3c-1 1.4-2.4.5-1.6-1.7.7-1.5.8-3.5 1.6-4.6 1.2-1.7 3-3.1 4.1-4.2 1.2-1 2 0 1 1a27 27 0 00-3.3 4c-1.4 2.2-.8 4-1.8 5.5zm-15.7-7.2c-.1 2 1.5 2.4 1.4-.4 0-3-2.2-5.8-1-10.3.8-2.2.8-6.3.4-8.4-.4-2.2-2-.8-1.3.9.6 2-.1 5.6-.6 7.5-1.5 5.4 1.2 8 1 10.7zm4.3-11c-.2 1.9-1.8 2-1.3-.5.4-2 .4-3.6 0-5.3-.6-2.1-.4-5.7 0-7.2.5-1.6 2-.7 1.4.5a9.9 9.9 0 00-.3 5.9c.6 2 .5 4.8.2 6.7zM210.9 204c.8.9 2 .3 1-1-1-1-.7-1.2-1.3-2.4-.6-1.4-.5-2.1-1.2-3-.7-1-1.6 0-1 .7.8 1 .6 1.6 1 2.5 1 1.5.7 2.3 1.5 3.2zm20.4 24.6a8.6 8.6 0 014.4 6.7 16 16 0 002 7.1c-2-.5-3-3.7-3.3-6.8-.3-3.2-2-4.5-3-7zm5.1 5.9c1.7 3.1 4 4.3 4.2 6.6.2 2.7.4 2.8 1.1 5.4-2-.5-2.5-.7-3-4.7-.3-2.8-2.6-4.7-2.3-7.3z"/>
+      <path stroke="none" d="M289 263.3c1 1.8 2 4.5 4 4 0-1.3-2.1-2.3-4-4zm3 .6c3.7 1.6 7 1.2 7.5 3.6-3.6.4-5-1-7.6-3.6zm-16.1-12.7a14 14 0 015 7.7 29 29 0 003.6 7.8 13 13 0 01-5.3-7.4c-.7-3-1.6-5.3-3.3-8zm3.1 0c2.8 2.2 5.4 4.8 6.2 7.9.8 2.9 1.3 5.1 3.2 8-3-1.9-4.1-4.7-5-7.8-.7-3-2.5-5.2-4.4-8zm9.2 7.3a1.1 1.1 0 01.7-1.2 33.4 33.4 0 012.6-.8c1-.3 1.6.4 1.6.9v2c0 .7-.2.8-.7.9-.7.1-1.7.2-2.4.7-.6.4-1.2.1-1.5-.5l-.3-2zm10.6 0c0-.6-.2-1.1-.6-1.2a5.4 5.4 0 00-2.4-.4c-1 0-1.1.2-1.1.6v2.1c0 .8 0 .8.4 1 .7 0 1.8 0 2.5.6.5.3 1 0 1.1-.6l.1-2.1z"/>
+    </g>
+    <use width="100%" height="100%" x="-600" transform="scale(-1 1)" xlink:href="#a"/>
+    <g stroke="none">
+      <path d="M328.5 286.6c0 1.2.2 2.2 1 3.1a19 19 0 00-13.8 1.1c-1.8.8-4-1-1.9-2.7 3-2.3 9.7-1 14.7-1.5zm-57.5 0a7 7 0 01-.4 3c4.4-1.7 9.1-.2 13.6 1.6 3 1.3 3.3-1 2.8-1.7a6.5 6.5 0 00-5-2.9h-11zm3.8-21.7c-1.3-.5-2.7 0-4 1.4-4.3 4.2-9.4 8.3-13.5 11.6-1.5 1.3-3 3.7 3.4 6 .3.2 5 2 8 2 1.3 0 1.3 1.8 1 2.3-.5 1-.1 1.4-1.1 2.3-1.1 1 0 2.1 1 1.3 3.6-3.2 9.6-1.1 15.3.7 1.4.4 3.8.3 3.8-1.6 0-2 1.5-3.4 2.4-3.5 2.4.4 14 .5 17.5.1 2-.3 2.2 2.9 3.3 4 .8.9 3.7 1.1 5.8.2 4-1.8 10-1.8 12.5 0 1 .7 1.9 0 1.3-.7-.8-1-.7-1.6-1.1-2.4-1-2-.2-2.4.8-2.5 11-1.5 14.6-5.2 11.2-8.3-4.4-3.8-9.2-7.7-13.4-12.2-1.2-1.2-2-1.7-4.3-.7a66.5 66.5 0 01-25.3 5.9 76 76 0 01-24.6-5.8z"/>
+      <path fill="#bd6b00" d="M326.6 265.5l-1.6.4c-9 3.2-17.2 5.4-25.7 5.4-8.3 0-17-2.4-24.9-5.6a2.3 2.3 0 00-1.5 0c-.5.1-1 .4-1.3.7a115.5 115.5 0 01-11.8 10.3c-.7.5-.6 1.8.5 2.2 8.3 3 16.4 8.5 39.6 8.3 23.5-.2 31.8-5.6 39.2-8.1.5-.2 1-.5 1.3-1a1 1 0 00.1-.8 2 2 0 00-.6-.8c-4.3-3.5-8.8-6.3-11.8-10.4-.3-.5-.9-.6-1.5-.5zm0 .5c.5 0 1 0 1.1.3 3 4.3 7.7 7 11.9 10.5l.4.7a.5.5 0 010 .4c-.1.3-.6.6-1 .7-7.6 2.6-15.7 8-39 8.2-23.2.2-31.2-5.3-39.5-8.3-.8-.4-.7-1.2-.4-1.4 4.2-3.2 8.2-6.8 11.8-10.4a2.5 2.5 0 011.1-.6h1.2a68 68 0 0025 5.6c8.7 0 17-2.2 26-5.3a6.7 6.7 0 011.5-.4z"/>
+      <path d="M269.7 114.6c0-1.4 2-1.5 1.8.4-.3 2.3 4.5 8.3 4.9 12 .3 2.5-1.5 4.6-3.2 6a6.6 6.6 0 01-6.8.5c-.9-.8-1.7-3.3-1-4.3.2-.3 1.3 3.7 3.7 3.7 3.3 0 6-2.5 6-4.7.2-3.8-5.3-9.8-5.4-13.6zm9.5 9.4c.6-.4 1.4 1.3.8 1.7-.5.3-1.5-1.3-.8-1.8zm1.5-3.5c-.3.2-.8 0-.7-.2a12 12 0 013.6-3.3c.4-.2 1 .4.8.7a11 11 0 01-3.7 2.8zm12.6-10c.3-.6 2.1-1.3 2.6-1.7.4-.5.6.4.4.7-.3.7-1.9 1.7-2.6 1.8-.3 0-.6-.4-.4-.7zm4.3.3a8.3 8.3 0 012.5-3.4c.5-.3 1.3 0 1.1.4a9 9 0 01-2.9 3.3c-.3.3-.8 0-.7-.3zm-3.7 2.7c-.3.2-.1.7.1.8.6.2 1.5.2 2 0 .6-.4.3-2.9-.5-1.6-.6.8-1 .6-1.6.8zm-7.3 5.6c-1.3-1 .4-2.4 1.7-1.4 2.7 2-4 9.8-7.6 13.4-.7.7-1.3-1-.4-1.9a33.7 33.7 0 006.7-7.6c.4-.5.7-1.6-.4-2.5zm15.3-6.6c.1-1-1.6 0-1.6-1.3 0-.7 1.9-1.2 2.7-.4 1.3 1.4.3 3.7-2 3.9-1.8 0-5 2.7-4.5 3.2.5.7 5.4 1.1 8.3.7 1.8-.3 1.4 1.3-.4 1.5-1.8.2-3.2 0-4.8.6-2 .5-2.8 3-3.9 4-.2.2-.8-.8-.6-1.2.8-1.2 2-3 3.4-3.6.8-.3-2.4-.4-3.4-.7-.8-.2-.6-1.3-.3-1.9.4-.8 3.4-3.9 4.7-3.8 1.1 0 2.3-.3 2.4-1zm5 .2c.6-.5 1-1.3 1.5-1.8.3-.3.9 0 .8.8-.1.7-1 1.2-1.5 1.7-.5.3-1-.4-.7-.7zm6.5-2.3c.9 0 1 1.6.2 1.8-.6.2-1-1.7-.2-1.8zm-2.1 5c0 1.5.7 1.4 2 1.3 1.3 0 2.4 0 2.4-1.2 0-1.3-.7-2.5-1-1.6-.1.8-.3 2.2-.8 1.6-.4-.5-.2-.6-1 .2-.5.5-.5-.2-.8-.6-.2-.3-.8.2-.8.4zm-9.2 7.2c-.3 1.9 0 4.5.9 4.5 1.2 0 3.6-4 4.8-6.2.7-1.2 1.8-1.4 1.3-.1-.7 1.9-.6 6 0 7.2.4.6 3-.6 3.4-1.5.8-1.7.1-4.8.4-6.7.1-1.2 1.3-1.5 1.2-.3a75.6 75.6 0 00-.1 7.5c0 1 2.9 2.4 3.3-.6.2-1.8 1.2-3.7 0-5.7-.8-1.3 1.1-1.2 2.1.6.7 1.2-.6 3.2-.5 4.7 0 2.4-1.8 3.8-3.1 3.8-1.2 0-2-1.5-3-1.5s-2.2 1.7-3 1.6c-3.6-.2-1.7-5.3-2.8-5.4-1.2 0-2.5 5-4 4.9-1.4-.2-3-4.2-2.3-5.8.5-1.6 1.5-2 1.4-1zm16.9-8c-1.7-1 0-3.7.9-2.8 1.6 2 3.2 6.5 4.4 6.9.7.2.6-3.4 1.1-5 .4-1.3 1.8-.9 1.6.7-.1.5-2 6.4-1.8 6.6a47.1 47.1 0 013.3 7.8c.3 1.2-1.1.4-1.3.2-.9-1.4-2.4-6.5-2.4-6.2l-1.7 7.7c-.2 1-1.7.8-1.3-1 .3-1.4 2.3-8.3 2.2-8.6a17.2 17.2 0 00-5-6.3z"/>
+      <path d="M322 131.2c-.4 0-1.2 1 1.2 1.5 3.1.6 6.6-.5 7.6-3.6 1.3-3.7 2-7.2 2.7-8.5.8-1.5 1.8-1.4 1-3.6-.5-1.7-1.5-1.2-1.7-.3-.5 2.3-2.6 10-3.3 11.3-1.2 2.6-3.7 3.6-7.5 3.2z"/>
+      <path d="M328.4 119c-.4-.7-1.2 0-1 .7a1.2 1.2 0 001.2 1c.7 0 2.2.1 2.2-1 0-.8-.7-1.5-1.1-.6-.5.8-1 .7-1.3 0zm.7-3c-.2.2 0 1.1.3 1a7 7 0 003.3-.8c.2-.2.1-.7-.2-.7-1 0-2.6 0-3.4.5zm8.8 2.3c.8-1.2 2.8-1.3 2 .4a614.3 614.3 0 01-6.3 12.3c-.8 1.4-1.4.7-.8-.4.7-1.4 4.9-12 5.1-12.3z"/>
+      <path d="M330.2 133c-.2-.8-1.5-2-1.3.2.2 3.8 5.5 2.6 7 1.3s.3 4.3 2.2 4.9c1 .3 3-1.1 4-2.4 2.7-3.5 4.5-8.6 7-12 1-1.4-.5-2.4-1-1.3-2.4 3.8-5.2 11.6-8.3 13.6-2.5 1.6-1.7-2-1.8-3.2-.1-.8-1.1-2-2.4-.9a5.5 5.5 0 01-3.7 1.2c-.7 0-1.4 0-1.7-1.4z"/>
+      <path d="M339.6 126c0-.3-1.1-.4-1 .7 0 .8 1 1 1.1 1 1.5-1.2-.3-.6-.1-1.8zm-2.3 4.4c-.3 0-.6 1 .2 1.1l3.9-.2c.4 0 .6-.9-.4-.8-1.2 0-2.7-.3-3.7 0zm-62-16.6c.5 0 1.6 1.4 1.5 1.9 0 .2-1.2 0-1.5-.3-.3-.3-.2-1.6 0-1.6zm-5.3 10.4c-1 .6.2 1.7 1 1.2 2.8-1.9 7-3.8 8-7.5.3-1.2 1.4-3.1 2.5-3.5 1-.5 2.6 1.9 3.6 0 .6-1 2.7.7 3.2-.4.6-1.3.3-2 .3-3.4 0-.8-.7-1-1.2.3-.2.6 0 1.2-.1 1.6-.2.2-.6.4-1 .2-.2-.2 0-.7-.6-1-.2 0-.6-.1-.8.2-.7 1.3-1 2.5-2.1 1-.9-1-1.4-3.1-2-.3-.2 1-1.7 2.4-2.6 2.4-1.1 0-.8-3-3.2-2.5-1.3.3-1.2 2.7-1 3.5.3 1.3 4 .4 3.7 1.2-.6 2.7-4.4 5.4-7.7 7zm-22.7 13.2c-.1.5.5 1.7 1.1 1.8.6 0 1-1.3.8-1.8-.2-.3-1.8-.3-1.9 0zm3.3 4.9c-.4-.4-1.6.7-.6 1.5.5.5 2.5 1.1 3 .2.8-1.2-.7-5.5 0-6 .5-.5 2.8 2.8 4 3 2.7.4 2-4.6 5-4.2 1.9.2 2.1-2.2 1.8-3.8-.2-1.5-2.6-3.6-3.7-4.6-1.4-1.2-2.1 1-1.2 1.6 1.2 1 3.3 2.9 3.6 4.1.1.6-1.4 1.8-2 1.5-1.4-.8-2.6-4-3.8-4.7-.4-.2-1.4.3-1 1.3.6 1.1 3 2.7 3.1 3.9.1 1-1 3.2-1.8 3.2-.9 0-3-2.7-3.7-4-.4-.5-1.5-.5-1.7.4a22 22 0 00.5 5.5c.2 1.6-.9 1.7-1.5 1.1zm-4-8.6c-.4.4.8 1.2 1 1 .4-.4 2.1-2.3 1.8-3-.3-.6-2.6-2-3-1.3-.7 1.1 2.2 1.7 1.7 2a7 7 0 00-1.5 1.3zm4.1-8.4s.8 2.5 1.4 1.4c.4-.7-1.4-1.4-1.4-1.4zm1.2 4c-.2 0-1 .7-.5 1 .8.4 2.9.8 2.4-.7-.3-.9 3.2 0 2.3-2.4a3.7 3.7 0 00-1.7-1.7c-.4 0-1.5.5-.8.9.5.2 2 1.1 1.5 1.7-.7.6-1.1-.3-1.9-.1-.4 0-.1 1.2-.4 1.5 0 .2-.7-.4-.9-.3zm5.5-9.5a3.5 3.5 0 00-1.2 2c0 .2.3.6.5.5a3.2 3.2 0 001.2-1.9c0-.3-.2-.8-.5-.6zm2.8-.3c-.8-1 1-2.6 1.7-.5.5 1.3 5.5 7.9 6.5 10.1.8 1.5 0 2.1-.9 1-2.5-3.2-4.6-7.2-7.3-10.6zm5.2.1c.9-1 2.7-3 2.2-4-.4-1-1.5-1-1.7-.7-1 1.3.8 1 .5 1.4-.5 1-1 1.6-1.3 2.6-.1.3.1.9.3.7zm77.8 3.2c-.7-.5.6-3 1.5-2 2.3 2.7 3.4 11.6 4.1 18.3 0 0-1 .9-1 .7 0-3.5-1.5-14.4-4.6-17zm-53.1-8.6c-.8-1.8 1.1-2.4 1.4-1.2 1.3 5.8 4.5 10.2 7 14.1.7 1.2 0 2-1.7.8-1.2-.8-2.5-3.9-3-4-1.2-.2-3.8 5-9.1 3.5-1.4-.4-1.3-4.5-1.4-6.3 0-.9 1-1 1 0 0 1.7 0 5.2 2.1 5.4 1.8 0 5.6-2.4 6.4-4.4.8-2-1.9-5.9-2.7-8z"/>
+      <path d="M344.6 138.4c.4-1.2 6.1-10.8 6.9-12.9.4-1 2 1.8.4 3.3-1.4 1.2-5.5 8-6.3 10.4-.4 1-1.4.5-1-.8z"/>
+      <path d="M354.3 129.3c1-4 3.6.6 1.3 2.8-3.4 3.4-4.5 9.9-10 10.9-1.4.3-4-.7-4.8-1.3-.3-.2.2-1.6 1.1-.9 1.3 1 4.1 1.3 5.6.1a25.4 25.4 0 006.8-11.6zm-57 12.7c-.3.3-1 .3-1.1.7-.3 1.4 0 2.2-.3 3.6s-1.3 1.4-1.2.3c0-1.4 1.3-3.5.4-3.6-.6-.1-1-.9-.4-1.3 1.1-.7 1.7-.6 2.4-.4.3.1.4.5.2.7z"/>
+      <path d="M296.5 140c-1.4 1.4-2.8 1.9-4.1 3.5-.6.6-.5 1.5-.9 2.4-.3.9-1.4 1-1.7.9-.5-.4-.4-2-1-1.2-.6.9-.9 2-1.7 2-.7 0-2-1.5-1.3-1.5 2.3-.3 2.2-2 3-2.2 1-.1 1 1.5 1.7 1.2.4-.2.7-2.1 1.2-2.6 1.5-1.6 2.7-2.4 4.3-3.6.7-.6 1.3.5.5 1.2zm5.3 5c-1.2.2-1 1.7-.6 1.8.5.3 1.4.4 1.7-1.3.2-.7.3 3.5 1.8 1.9 1-1 3.1.2 4-1 .7-.9 1-1.5.4-2.7-.2-.3-1-.2-1 .7 0 .8-.5 1.7-1.3 1.6-.4-.1.2-1.9-.2-2.4a.5.5 0 00-.7 0c-.3.4.3 2.2-.6 2.4-1.2.2-.6-1.2-1-1.4-1.7-.8-1.8.2-2.5.3zm9-3c.9-.2.6-.2 2-1.3.5-.4.6.8.5 1.3 0 .7-1 .2-1.3.9-.4.9-.2 3-.4 3.8 0 .4-.8.4-.8 0-.2-1 .1-2 0-3.3 0-.4-.5-1.1 0-1.3zm-5-2.5c-.2.9-.2 1.6-.2 2.3 0 .5 1 .2 1 .1 0-.8.2-2 0-2.3-.2-.1-.7-.3-.8-.1z"/>
+      <path d="M299.5 130.2l-1.4 5.6-2-3.8v3.9l-4.4-5.2 1.5 5.6-4-3.4 2.2 3.8-7-4.5 4.4 5.2-5.6-2.8 4 3.4-9-3.4 8.7 4.3a29 29 0 0112.6-2.6c4.9 0 9.3 1 12.5 2.6l8.8-4.3-9 3.4 4-3.4-5.5 2.8 4.3-5.2-7 4.5 2.2-3.8-4 3.3 1.5-5.5-4.3 5.2V132l-2 3.8-1.5-5.6z"/>
+    </g>
+  </g>
+  <path fill="#fff" d="M249 299.7l-.1 2.2h-.4v-1.5a7.4 7.4 0 00-.4-1.3 5.8 5.8 0 00-.5-1 11.3 11.3 0 00-.8-1.1l.7-1.8a5.3 5.3 0 011.1 2 7.5 7.5 0 01.5 2.5m5.5-3.4c0 .6-.1 1-.3 1.2-.2.3-.6.5-1 .6l.2 1.1a5.3 5.3 0 010 1.7v1h-.4v-1a4.4 4.4 0 00-.2-.8 28.8 28.8 0 00-.3-.8 8.4 8.4 0 00-.6-1.2l-.8-1.3.5-1.6.8.9.7.2c.7 0 1-.3 1-1h.3a8 8 0 000 .5v.5m5.1 3.9l-.4 1.7-.6-.6a3.5 3.5 0 01-.3-1 9.9 9.9 0 010-1.4 3 3 0 01-.9.1c-.4 0-.7 0-1-.3a1 1 0 01-.4-.8c0-.7.2-1.3.6-1.8.3-.6.7-.9 1.2-.9.3 0 .6.1.7.3l.3.8v1.6c0 .7 0 1.2.2 1.4 0 .3.3.5.6.9m-1.5-2.9c0-.4-.3-.6-.7-.6a.8.8 0 00-.4.1c-.2.1-.2.2-.2.3 0 .2.2.3.8.3a2.2 2.2 0 00.5 0m6.9 2.3l-.2 2.1c-.4-.3-.8-.8-1.1-1.5a20 20 0 01-1.1-3.3 41.3 41.3 0 01-.8 3l-.6 1.3a2 2 0 01-.6.6v-2l.8-1.2a6 6 0 00.6-1.4 16 16 0 00.3-2h.4l.7 2a6.7 6.7 0 001.6 2.4"/>
+  <path fill="#bf0000" d="M280.5 319.2c.3.3.5.6.6 1l.2 1.2h-.6a6.2 6.2 0 00-.7-1.1 15.2 15.2 0 00-1-1l-1.3-1.2a27.3 27.3 0 00-1.6-1.3l-.5-.4-.2-.6a9 9 0 01-.1-1.3l2.1 1.7a35.3 35.3 0 012 1.8l1.1 1.2m-7.6-4.6l-.1 1.6-2.5-.1.2-1.6h2.4m6.7 7.1l-6 1.9-1.2-1.6 5.2-1.5a6.3 6.3 0 00-.5-.7l-.7-.5a1.1 1.1 0 01-.4.8 2 2 0 01-.8.5 2.7 2.7 0 01-1.4 0c-.5 0-.8-.3-1-.6a3.1 3.1 0 01-.5-1.7c0-.8.2-1.3.6-1.5.6-.2 1.4 0 2.5.5a6.5 6.5 0 012.4 2l1.8 2.4m-4.7-3.2a3.1 3.1 0 00-.6-.2.9.9 0 00-.5 0 .5.5 0 00-.4.3.4.4 0 000 .4l.4.2h.5a.9.9 0 00.3-.3l.3-.4m-6.4-1.2l-.4 1.6-2.5-.3.4-1.5 2.5.2m6 6l-1.4.4a4.2 4.2 0 01-1.4 0 2.8 2.8 0 01-1.2-.3c-.2.4-.6.7-1.1 1a5.9 5.9 0 01-1.3.4l-1 .3-.8-1.6 1-.2 1-.3.6-.4a4.7 4.7 0 00-.7-.4 1 1 0 00-.6-.1.3.3 0 00-.2 0 .5.5 0 000 .3h-.5c-.4-.7-.5-1.2-.3-1.6.3-.4.8-.7 1.6-.9.8-.2 1.5-.2 2.1 0 .6 0 1 .3 1.2.6.1.2.2.4.1.6 0 .2 0 .5-.3 1a1.6 1.6 0 001 0l1.3-.3.8 1.6m-6.4 1.5l-1.3.2c-.7 0-1.3 0-1.8-.4a4.3 4.3 0 01-1.3-2l-.6-1.7a2 2 0 00-.6-1l-.8-.3.5-1.7 1.1.9.8 1.3.4 1.2a5 5 0 001 1.7c.2.3.4.4.7.3l1.3-.2.6 1.7m-5.5-6l-.9 1.5-2.3-.6.8-1.5 2.4.6m1.4 6.7l-6 .5-.3-1.6 5-.5a1.9 1.9 0 00-.6-.7 6 6 0 00-.8-.5l.5-1.5c.5.3 1 .6 1.2 1 .2.4.5 1 .6 1.7l.4 1.6m-4.8.8a13 13 0 01-1.8-.2 8.3 8.3 0 01-1.3-.4 4.5 4.5 0 01-1 .3h-3c-.5 0-.8 0-1-.2l-.6-.8a3.3 3.3 0 01-1.3.7 4 4 0 01-1.3.2h-1.4l.2-1.8 1.3.1c.7 0 1.3 0 1.7-.3.6-.3 1-.8 1-1.4h.6a22.9 22.9 0 00-.1 1c0 .3 0 .5.3.6l.7.2h2.9c.4-.2.6-.5.7-1l.1-.3a2.6 2.6 0 01.4-.2l.4-.1v.6l-.3.8a6.4 6.4 0 001.7.4c0-.1 0-.3-.2-.5 0-.3-.2-.4-.2-.5a.4.4 0 01.1-.2l.3-.2.8-.7.3.7c0 .2.1.5 0 .8l-.1 2.4m-9-7l-1.5 1-1.1-.6-1.1.8-1.5-.9 1.4-1 1.2.7 1.1-.9 1.5 1m-2.4 6.4l-5.8-1 .7-1.6 4.8.8a1.3 1.3 0 000-.8 4 4 0 00-.5-.6l1.3-1.3c.3.4.5.8.5 1.2 0 .4 0 1-.4 1.7l-.6 1.6m-4.9-.8l-1.2-.3c-.7-.1-1.1-.4-1.2-.9-.1-.5.1-1.2.7-2.2l1-1.7.2-.9-.3-.6 1.8-1.2.2 1.1c0 .4-.2.9-.6 1.4l-.6 1.2a4 4 0 00-.7 1.7c0 .3.1.5.4.5l1.2.3-.9 1.6m-3-6.3l-2 .9-1.4-1.4 2-.8 1.5 1.3m-.9 5.3a4 4 0 01-1.2 1.1c-.4.3-.9.4-1.4.5a7 7 0 01-1.9 0 11.8 11.8 0 01-2.2-.6 6 6 0 01-2.7-1.6c-.5-.6-.5-1.2 0-1.8a5.6 5.6 0 011.5-1.3 18.8 18.8 0 013-1.2l.4.4c-1 .4-1.8.7-2.2 1a3.3 3.3 0 00-1 .7c-.3.4-.3.8.1 1.3a8.4 8.4 0 005 1.8c1 0 1.6-.3 1.9-.6l.4-.7.1-1.4 2-1.2-.1 1.2c-.1.4-.4.8-.8 1.3l-.9 1.1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ag.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ag.svg
new file mode 100644
index 0000000..d0b2a83
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ag.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ag" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill="#25ff01" d="M109 47.6h464.8v464.9H109z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-120 -52.4) scale(1.1014)">
+    <path fill="#fff" d="M0 47.6h693V512H0z"/>
+    <path d="M1.5 48.2h690.9v196.2H1.5z"/>
+    <path fill="#0061ff" d="M128.3 232.1h458.5v103.4H128.3z"/>
+    <path fill="#e20000" d="M692.5 49.2v463.3H347L692.5 49.2zm-691.3 0v463.3h345.7L1.2 49.2z"/>
+    <path fill="#ffd600" d="M508.8 232.2l-69.3-17.6 59-44.4-72.5 10.3 37.3-63-64.1 37.2 11.3-73.5-43.4 58-17.6-67.3-19.6 69.3-43.4-59 12.4 75.6-64.1-39.3 37.2 63-70.3-11.3 57.9 43.4-72.4 18.6h321.6z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ai.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ai.svg
new file mode 100644
index 0000000..472be20
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ai.svg
@@ -0,0 +1,763 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ai" viewBox="0 0 512 512">
+  <defs id="defs1837">
+    <clipPath id="a">
+      <path id="path1834" fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <path id="rect4120" fill="#012169" fill-opacity="1" stroke-width="4.1" d="M0 0h512v512H0z"/>
+  <path id="path1855" fill="#49497d" d="M384 212.7l2 2z"/>
+  <path id="path1857" fill="#0e0e6e" d="M386 212.7l2 2z"/>
+  <path id="path1859" fill="#262678" d="M379.9 214.7l2 2z"/>
+  <path id="path1861" fill="#808067" d="M382 214.7l2 2z"/>
+  <path id="path1863" fill="#58587b" d="M388 214.7l2 2z"/>
+  <path id="path1865" fill="#0e0e6e" d="M312.9 216.8l2 2z"/>
+  <path id="path1867" fill="#1b1b74" d="M375.9 216.8l2 2z"/>
+  <path id="path1869" fill="#6e6c70" d="M377.9 216.8l2 2z"/>
+  <path id="path1871" fill="#cc3" d="M316.5 220.4c0 52.5-6 111.6 33 152.7 8 8.4 23.4 27.7 36.5 27 13.7-.8 31.4-21.1 39.2-31 34-44.8 28.7-98.2 29.8-150.2-15.3 6.9-23 9.2-36.4 9-10 1-25.3-5.5-34.5-10-6 4-14.7 8.9-30.4 9.4-18 .8-23.8-2.3-37.2-7z"/>
+  <path id="path1873" fill="#99994e" d="M390 216.8l2 2z"/>
+  <path id="path1875" fill="#49497d" d="M392 216.8l2 2z"/>
+  <path id="path1877" fill="#0e0e6e" d="M455 216.8l2 2z"/>
+  <path id="path1879" fill="#a4a43d" d="M315 218.8l2 2z"/>
+  <path id="path1881" fill="#6e6c70" d="M317 218.8l2 2z"/>
+  <path id="path1883" fill="#3a3a7c" d="M319 218.8l2 2z"/>
+  <path id="path1885" fill="#1b1b74" d="M371.8 218.8l2 2z"/>
+  <path id="path1887" fill="#6e6c70" d="M373.8 218.8l2 2z"/>
+  <path id="path1889" fill="#a4a43d" d="M375.9 218.8l2 2z"/>
+  <path id="path1891" fill="#d0d045" d="M384 218.8l2 2z"/>
+  <path id="path1893" fill="#a4a43d" d="M392 218.8l2 2z"/>
+  <path id="path1895" fill="#8d8d5b" d="M394 218.8l2 2z"/>
+  <path id="path1897" fill="#3a3a7c" d="M396.2 218.8l2 2z"/>
+  <path id="path1899" fill="#262678" d="M448.9 218.8l2 2z"/>
+  <path id="path1901" fill="#53527c" d="M451 218.8l2 2z"/>
+  <path id="path1903" fill="#8d8d5b" d="M453 218.8l2 2z"/>
+  <path id="path1905" fill="#737370" d="M323 220.9l2 2z"/>
+  <path id="path1907" fill="#53527c" d="M325 220.9l2 2z"/>
+  <path id="path1909" fill="#1b1b74" d="M327 220.9l2 2z"/>
+  <path id="path1911" fill="#262678" d="M367.7 220.9l2 2z"/>
+  <path id="path1913" fill="#6e6c70" d="M369.8 220.9l2 2z"/>
+  <path id="path1915" fill="#a4a43d" d="M371.8 220.9l2 2z"/>
+  <path id="path1917" fill="#e5e59d" d="M382 220.9l2 2z"/>
+  <path id="path1919" fill="#fff" d="M320.6 226a509 509 0 004 88.2c4.9 15.4 4.2 23.9 11.3 33l99-.7c6-9.7 10.5-24.4 11-30.3 5.6-29.7 5.7-62.6 5.9-92a62 62 0 01-35.7 7.4 69 69 0 01-30.5-9.2c-9.5 5.6-12.8 8.2-28.4 8.9-12.2.6-22 1.6-36.6-5.2z"/>
+  <path id="path1921" fill="#f2f1d7" d="M386 220.9l2 2z"/>
+  <path id="path1923" fill="#d9d868" d="M388 220.9l2 2z"/>
+  <path id="path1925" fill="#a4a43d" d="M396.2 220.9l2 2z"/>
+  <path id="path1927" fill="#99994e" d="M398.2 220.9l2 2z"/>
+  <path id="path1929" fill="#49497d" d="M400.2 220.9l2 2z"/>
+  <path id="path1931" fill="#0e0e6e" d="M402.2 220.9l2 2z"/>
+  <path id="path1933" fill="#3a3a7c" d="M442.9 220.9l2 2z"/>
+  <path id="path1935" fill="#667" d="M444.9 220.9l2 2z"/>
+  <path id="path1937" fill="#99994e" d="M446.9 220.9l2 2z"/>
+  <path id="path1939" fill="#a4a43d" d="M448.9 220.9l2 2-2-2m-121.8 2l2 2z"/>
+  <path id="path1941" fill="#99994e" d="M329.2 222.9l2 2z"/>
+  <path id="path1943" fill="#6e6c70" d="M331.2 222.9l2 2z"/>
+  <path id="path1945" fill="#49497d" d="M333.2 222.9l2 2z"/>
+  <path id="path1947" fill="#1b1b74" d="M335.2 222.9l2 2-2-2m26.4 0l2 2z"/>
+  <path id="path1949" fill="#53527c" d="M363.6 222.9l2 2-2-2z"/>
+  <path id="path1951" fill="#8d8d5b" d="M365.7 222.9l2 2z"/>
+  <path id="path1953" fill="#a4a43d" d="M367.7 222.9l2 2z"/>
+  <path id="path1955" fill="#e5e59d" d="M377.9 222.9l2 2z"/>
+  <path id="path1957" fill="#fbfaf2" d="M379.9 222.9l2 2z"/>
+  <path id="path1959" fill="#f2f1d2" d="M390 222.9l2 2z"/>
+  <path id="path1961" fill="#d9d868" d="M392 222.9l2 2z"/>
+  <path id="path1963" fill="#a4a43d" d="M402.2 222.9l2 2z"/>
+  <path id="path1965" fill="#6e6c70" d="M404.3 222.9l2 2z"/>
+  <path id="path1967" fill="#3a3a7c" d="M406.3 222.9l2 2z"/>
+  <path id="path1969" fill="#0e0e6e" d="M432.7 222.9l2 2z"/>
+  <path id="path1971" fill="#32327b" d="M434.7 222.9l2 2z"/>
+  <path id="path1973" fill="#58587b" d="M436.8 222.9l2 2z"/>
+  <path id="path1975" fill="#808067" d="M438.8 222.9l2 2z"/>
+  <path id="path1977" fill="#a4a43d" d="M442.2 223.5l1.3.7z"/>
+  <path id="path1979" fill="#dddc7a" d="M319 224.9l2 2z"/>
+  <path id="path1981" fill="#d0d045" d="M321 224.9l2 2z"/>
+  <path id="path1983" fill="#a4a43d" d="M336.6 225.5l1.4.7z"/>
+  <path id="path1985" fill="#808067" d="M339.3 224.9l2 2z"/>
+  <path id="path1987" fill="#667" d="M341.3 224.9l2 2z"/>
+  <path id="path1989" fill="#58587b" d="M343.4 224.9l2 2z"/>
+  <path id="path1991" fill="#49497d" d="M345.4 224.9l2 2z"/>
+  <path id="path1993" fill="#737370" d="M357.6 224.9l2 2z"/>
+  <path id="path1995" fill="#99994e" d="M359.6 224.9l2 2z"/>
+  <path id="path1997" fill="#a4a43d" d="M361.6 224.9l2 2z"/>
+  <path id="path1999" fill="#e5e59d" d="M373.8 224.9l2 2z"/>
+  <path id="path2001" fill="#fbfaf2" d="M375.9 224.9l2 2z"/>
+  <path id="path2003" fill="#f2f1d2" d="M394 224.9l2 2z"/>
+  <path id="path2005" fill="#d9d868" d="M396.2 224.9l2 2z"/>
+  <path id="path2007" fill="#a4a43d" d="M407.6 225.5l1.4.7-1.3-.7z"/>
+  <path id="path2009" fill="#808067" d="M410.4 224.9l2 2z"/>
+  <path id="path2011" fill="#667" d="M412.4 224.9l2 2z"/>
+  <path id="path2013" fill="#58587b" d="M414.4 224.9l2 2z"/>
+  <path id="path2015" fill="#3a3a7c" d="M416.5 224.9l2 2z"/>
+  <path id="path2017" fill="#58587b" d="M425.9 225.5l1.4.7z"/>
+  <path id="path2019" fill="#737370" d="M428.6 224.9l2 2z"/>
+  <path id="path2021" fill="#99994e" d="M430.6 224.9l2 2-2-2z"/>
+  <path id="path2023" fill="#a4a43d" d="M432.7 224.9l2 2z"/>
+  <path id="path2025" fill="#dddc7a" d="M448.9 224.9l2 2z"/>
+  <path id="path2027" fill="#d0d045" d="M451 224.9l2 2z"/>
+  <path id="path2029" fill="#f2f1d7" d="M323 226.9l2 2z"/>
+  <path id="path2031" fill="#e0dea1" d="M325 226.9l2 2z"/>
+  <path id="path2033" fill="#dddc7a" d="M327 226.9l2 2z"/>
+  <path id="path2035" fill="#d9d868" d="M367.7 226.9l2 2z"/>
+  <path id="path2037" fill="#e5e3af" d="M369.8 226.9l2 2z"/>
+  <path id="path2039" fill="#f6f6e4" d="M398.2 226.9l2 2z"/>
+  <path id="path2041" fill="#e1e18c" d="M400.2 226.9l2 2z"/>
+  <path id="path2043" fill="#d4d456" d="M440.8 226.9l2 2z"/>
+  <path id="path2045" fill="#e1e18c" d="M442.9 226.9l2 2z"/>
+  <path id="path2047" fill="#eeedc1" d="M444.9 226.9l2 2z"/>
+  <path id="path2049" fill="#f2f1d2" d="M331.2 228.9l2 2z"/>
+  <path id="path2051" fill="#e0dea1" d="M333.2 228.9l2 2z"/>
+  <path id="path2053" fill="#dddc7a" d="M335.2 228.9l2 2z"/>
+  <path id="path2055" fill="#d0d045" d="M337.3 228.9l2 2z"/>
+  <path id="path2057" fill="#dddc7a" d="M361.6 228.9l2 2z"/>
+  <path id="path2059" fill="#e5e3af" d="M363.6 228.9l2 2-2-2z"/>
+  <path id="path2061" fill="#f6f6e4" d="M365.7 228.9l2 2z"/>
+  <path id="path2063" fill="#eeedc1" d="M404.3 228.9l2 2z"/>
+  <path id="path2065" fill="#e1e18c" d="M406.3 228.9l2 2z"/>
+  <path id="path2067" fill="#d4d456" d="M408.3 228.9l2 2z"/>
+  <path id="path2069" fill="#d9d868" d="M432.7 228.9l2 2z"/>
+  <path id="path2071" fill="#e1e18c" d="M434.7 228.9l2 2z"/>
+  <path id="path2073" fill="#eeedc1" d="M436.8 228.9l2 2z"/>
+  <path id="path2075" fill="#f6f6e4" d="M438.8 228.9l2 2z"/>
+  <path id="path2077" fill="#f2f1d7" d="M341.3 230.9l2 2-2-2z"/>
+  <path id="path2079" fill="#f2f1d2" d="M343.4 230.9l2 2-2-2z"/>
+  <path id="path2081" fill="#eeedc1" d="M345.4 230.9l2 2-2-2z"/>
+  <path id="path2083" fill="#f2f1d2" d="M354.9 231.6l1.3.7z"/>
+  <path id="path2085" fill="#fbfaf2" d="M357.6 230.9l2 2-2-2z"/>
+  <path id="path2087" fill="#fef8f1" d="M367.7 230.9l4 4v-4h-4z"/>
+  <path id="path2089" fill="#f2f1d7" d="M412.4 230.9l2 2-2-2z"/>
+  <path id="path2091" fill="#f2f1d2" d="M414.4 230.9l2 2-2-2z"/>
+  <path id="path2093" fill="#e5e3af" d="M416.5 230.9l2 2-2-2z"/>
+  <path id="path2095" fill="#e5e59d" d="M419.9 231.6l1.3.7-1.4-.7z"/>
+  <path id="path2097" fill="#e0dea1" d="M422.6 230.9l2 2-2-2z"/>
+  <path id="path2099" fill="#f2f1d2" d="M425.9 231.6l1.4.7z"/>
+  <path id="path2101" fill="#fbfaf2" d="M428.6 230.9l2 2-2-2z"/>
+  <path id="path2103" fill="#fef8f1" d="M363.6 233l2 2-2-2z"/>
+  <path id="path2105" fill="#fbbe66" d="M365.7 233l2 2z"/>
+  <path id="path2107" fill="#fbc477" d="M363.6 235l2 2-2-2z"/>
+  <path id="path2109" fill="#fcb144" d="M367.7 235l2 2z"/>
+  <path id="path2111" fill="#fe9f11" d="M363.6 237l2 2-2-2z"/>
+  <path id="path2113" fill="#fea522" d="M367.7 237l2 2z"/>
+  <path id="path2115" fill="#fae3c9" d="M361.6 239l2 2-2-2m8.2 0l2 2z"/>
+  <path id="path2117" fill="#fbead6" d="M379.9 239l2 2z"/>
+  <path id="path2119" fill="#f9d6aa" d="M382 239l2 2z"/>
+  <path id="path2121" fill="#fae3c9" d="M390 239l2 2z"/>
+  <path id="path2123" fill="#fef8f1" d="M392 239l2 2z"/>
+  <path id="path2125" fill="#f9d099" d="M361.6 241l2 2z"/>
+  <path id="path2127" fill="#fdab33" d="M369.8 241l2 2z"/>
+  <path id="path2129" fill="#fcf1e4" d="M373.8 241l2 2z"/>
+  <path id="path2131" fill="#fbc477" d="M375.9 241l2 2z"/>
+  <path id="path2133" fill="#fea522" d="M377.9 241l2 2z"/>
+  <path id="path2135" fill="#fcb755" d="M394 241l2 2z"/>
+  <path id="path2137" fill="#f9d6aa" d="M396.2 241l2 2z"/>
+  <path id="path2139" fill="#faca88" d="M361.6 243.2l2 2z"/>
+  <path id="path2141" fill="#fea522" d="M371.8 243.2l2 2-2-2m26.4 0l2 2z"/>
+  <path id="path2143" fill="#f8dcbb" d="M400.2 243.2l2 2z"/>
+  <path id="path2145" fill="#f6f6e4" d="M319 245.2l2 2z"/>
+  <path id="path2147" fill="#fbc477" d="M361.6 245.2l2 2z"/>
+  <path id="path2149" fill="#fbbe66" d="M402.2 245.2l2 2z"/>
+  <path id="path2151" fill="#f8dcbb" d="M404.3 245.2l2 2z"/>
+  <path id="path2153" fill="#faca88" d="M361.6 247.2l2 2z"/>
+  <path id="path2155" fill="#fcb755" d="M408.3 247.2l2 2z"/>
+  <path id="path2157" fill="#f8dcbb" d="M410.4 247.2l2 2z"/>
+  <path id="path2159" fill="#fef8f1" d="M359.6 249.3l2 2z"/>
+  <path id="path2161" fill="#fe9f11" d="M361.6 249.3l2 2z"/>
+  <path id="path2163" fill="#fdab33" d="M418.5 249.3l2 2z"/>
+  <path id="path2165" fill="#fcb144" d="M420.6 249.3l2 2z"/>
+  <path id="path2167" fill="#fbc477" d="M422.6 249.3l2 2z"/>
+  <path id="path2169" fill="#f9d6aa" d="M424.6 249.3l4 4z"/>
+  <path id="path2171" fill="#fef8f1" d="M426.6 249.3l2 2z"/>
+  <path id="path2173" fill="#fcb144" d="M359.6 251.3l2 2z"/>
+  <path id="path2175" fill="#fdab33" d="M388 251.3l2 2z"/>
+  <path id="path2177" fill="#fbc477" d="M390 251.3l2 2zm8 0l2.2 2-2-2z"/>
+  <path id="path2179" fill="#fea522" d="M400.2 251.3l2 2z"/>
+  <path id="path2181" fill="#fae3c9" d="M357.6 253.3l2 2z"/>
+  <path id="path2183" fill="#fcb144" d="M384 253.3l2 2z"/>
+  <path id="path2185" fill="#fae3c9" d="M386 253.3l2 2z"/>
+  <path id="path2187" fill="#f8dcbb" d="M402.2 253.3l2 2z"/>
+  <path id="path2189" fill="#fdab33" d="M404.3 253.3l2 2z"/>
+  <path id="path2191" fill="#fe9f11" d="M416.5 253.3l2 2z"/>
+  <path id="path2193" fill="#fcb755" d="M418.5 253.3l2 2z"/>
+  <path id="path2195" fill="#f9d099" d="M420.6 253.3l2 2z"/>
+  <path id="path2197" fill="#fbead6" d="M422.6 253.3l2 2z"/>
+  <path id="path2199" fill="#fcb144" d="M357.6 255.3l2 2z"/>
+  <path id="path2201" fill="#fbbe66" d="M382 255.3l2 2z"/>
+  <path id="path2203" fill="#f9d099" d="M406.3 255.3l2 2z"/>
+  <path id="path2205" fill="#fbead6" d="M414.4 255.3l2 2z"/>
+  <path id="path2207" fill="#fcf1e4" d="M355.6 257.4l2 2z"/>
+  <path id="path2209" fill="#fbbe66" d="M379.9 257.4l2 2z"/>
+  <path id="path2211" fill="#f9d099" d="M408.3 257.4l2 2z"/>
+  <path id="path2213" fill="#fae3c9" d="M414.4 257.4l2 2z"/>
+  <path id="path2215" fill="#fbc477" d="M355.6 259.4l2 2z"/>
+  <path id="path2217" fill="#fcb144" d="M377.9 259.4l2 2-2-2m32.5 0l2 2z"/>
+  <path id="path2219" fill="#fbbe66" d="M414.4 259.4l2 2z"/>
+  <path id="path2221" fill="#f6f6e4" d="M319 261.4l2 2z"/>
+  <path id="path2223" fill="#fea522" d="M355.6 261.4l2 2z"/>
+  <path id="path2225" fill="#fbead6" d="M377.9 261.4l2 2z"/>
+  <path id="path2227" fill="#fcf1e4" d="M410.4 261.4l2 2z"/>
+  <path id="path2229" fill="#fef8f1" d="M416.5 261.4l2 2z"/>
+  <path id="path2231" fill="#fcf1e4" d="M353.6 263.5l2 2z"/>
+  <path id="path2233" fill="#fbbe66" d="M375.9 263.5l2 2z"/>
+  <path id="path2235" fill="#faca88" d="M412.4 263.5l2 2z"/>
+  <path id="path2237" fill="#f9d099" d="M416.5 263.5l2 2z"/>
+  <path id="path2239" fill="#f9d6aa" d="M353.6 265.5l2 2z"/>
+  <path id="path2241" fill="#fcf1e4" d="M375.9 265.5l2 2z"/>
+  <path id="path2243" fill="#fae3c9" d="M386 265.5l2 2z"/>
+  <path id="path2245" fill="#fea522" d="M388 265.5l2 2z"/>
+  <path id="path2247" fill="#fcb144" d="M390 265.5l2 2z"/>
+  <path id="path2249" fill="#f9d6aa" d="M392 265.5l2 2z"/>
+  <path id="path2251" fill="#fef8f1" d="M412.4 265.5l2 2z"/>
+  <path id="path2253" fill="#fea522" d="M414.4 265.5l2 2z"/>
+  <path id="path2255" fill="#fdab33" d="M416.5 265.5l2 2z"/>
+  <path id="path2257" fill="#faca88" d="M353.6 267.5l-2.1 6 2-6z"/>
+  <path id="path2259" fill="#fea522" d="M373.8 267.5l2 2z"/>
+  <path id="path2261" fill="#fef8f1" d="M375.9 267.5l2 2z"/>
+  <path id="path2263" fill="#f9d099" d="M386 267.5l2 2z"/>
+  <path id="path2265" fill="#fdab33" d="M394 267.5l2 2z"/>
+  <path id="path2267" fill="#fae3c9" d="M396.2 267.5l2 2z"/>
+  <path id="path2269" fill="#f8dcbb" d="M414.4 267.5l2 2z"/>
+  <path id="path2271" fill="#f90" d="M416.5 267.5l2 2z"/>
+  <path id="path2273" fill="#fbead6" d="M419.2 268.9l.6 1.3z"/>
+  <path id="path2275" fill="#fea522" d="M377.9 269.5l2 2z"/>
+  <path id="path2277" fill="#fbbe66" d="M379.9 269.5l2 2z"/>
+  <path id="path2279" fill="#faca88" d="M382 269.5l2 2z"/>
+  <path id="path2281" fill="#fcb144" d="M384 269.5l2 2z"/>
+  <path id="path2283" fill="#fae3c9" d="M386 269.5l2 2z"/>
+  <path id="path2285" fill="#fe9f11" d="M388 269.5l2 2z"/>
+  <path id="path2287" fill="#fdab33" d="M398.2 269.5l2 2z"/>
+  <path id="path2289" fill="#fbc477" d="M400.2 269.5l2 2z"/>
+  <path id="path2291" fill="#faca88" d="M402.2 269.5l2 2z"/>
+  <path id="path2293" fill="#f9d6aa" d="M404.3 269.5l2 2z"/>
+  <path id="path2295" fill="#fae3c9" d="M407.6 270.2l1.4.7-1.3-.7z"/>
+  <path id="path2297" fill="#fef8f1" d="M410.4 269.5l2 2z"/>
+  <path id="path2299" fill="#fbc477" d="M416.5 269.5l2 2z"/>
+  <path id="path2301" fill="#fef8f1" d="M329.2 271.6l2 2z"/>
+  <path id="path2303" fill="#fcf1e4" d="M331.2 271.6l2 2z"/>
+  <path id="path2305" fill="#fcb755" d="M384 271.6l2 2z"/>
+  <path id="path2307" fill="#fbead6" d="M388 271.6l2 2z"/>
+  <path id="path2309" fill="#fea522" d="M390 271.6l2 2z"/>
+  <path id="path2311" fill="#fe9f11" d="M406.3 271.6l2 2z"/>
+  <path id="path2313" fill="#fcb144" d="M408.3 271.6l-2 4z"/>
+  <path id="path2315" fill="#fe9f11" d="M412.4 271.6l2 2z"/>
+  <path id="path2317" fill="#fbbe66" d="M414.4 271.6l2 2z"/>
+  <path id="path2319" fill="#fcf1e4" d="M416.5 271.6l2 2z"/>
+  <path id="path2321" fill="#fae3c9" d="M329.2 273.6l2 2z"/>
+  <path id="path2323" fill="#fe9f11" d="M331.2 273.6l4 4z"/>
+  <path id="path2325" fill="#fbead6" d="M333.2 273.6l2 2zm18.3 0l2 2z"/>
+  <path id="path2327" fill="#fae3c9" d="M353.6 273.6l2 2z"/>
+  <path id="path2329" fill="#fe9f11" d="M371.8 273.6l2 2z"/>
+  <path id="path2331" fill="#fbc477" d="M373.8 273.6l2 2z"/>
+  <path id="path2333" fill="#fea522" d="M375.9 273.6l2 2z"/>
+  <path id="path2335" fill="#fbc477" d="M382 273.6l2 2z"/>
+  <path id="path2337" fill="#fef8f1" d="M384 273.6l2 2z"/>
+  <path id="path2339" fill="#fbc477" d="M392 273.6l2 2z"/>
+  <path id="path2341" fill="#fff" d="M408.3 273.6l2 2z"/>
+  <path id="path2343" fill="#fdab33" d="M410.4 273.6l2 2z"/>
+  <path id="path2345" fill="#fbc477" d="M418.5 273.6l2 2z"/>
+  <path id="path2347" fill="#fef8f1" d="M329.2 275.6l2 2z"/>
+  <path id="path2349" fill="#fbead6" d="M335.2 275.6l2 2z"/>
+  <path id="path2351" fill="#f9d6aa" d="M345.4 275.6l2 2z"/>
+  <path id="path2353" fill="#fe9f11" d="M355.6 275.6l2 2z"/>
+  <path id="path2355" fill="#f9d6aa" d="M358.9 276.3l1.4.7z"/>
+  <path id="path2357" fill="#f8dcbb" d="M371.8 275.6l2 2z"/>
+  <path id="path2359" fill="#fcf1e4" d="M377.9 275.6l2 2z"/>
+  <path id="path2361" fill="#f9d6aa" d="M394 275.6l2 2z"/>
+  <path id="path2363" fill="#fdab33" d="M408.3 275.6l2 2z"/>
+  <path id="path2365" fill="#fcb755" d="M420.6 275.6l2 2z"/>
+  <path id="path2367" fill="#fef8f1" d="M422.6 275.6l2 2z"/>
+  <path id="path2369" fill="#53527c" d="M312.9 277.7l2 2z"/>
+  <path id="path2371" fill="#fcb755" d="M331.2 277.7l2 2z"/>
+  <path id="path2373" fill="#fea522" d="M335.2 277.7l2 2z"/>
+  <path id="path2375" fill="#fbead6" d="M343.4 277.7l2 2z"/>
+  <path id="path2377" fill="#fe9f11" d="M347.4 277.7l2 2z"/>
+  <path id="path2379" fill="#fcf1e4" d="M349.5 277.7l2 2z"/>
+  <path id="path2381" fill="#fbbe66" d="M355.6 277.7l2 2z"/>
+  <path id="path2383" fill="#fbc477" d="M357.6 277.7l2 2z"/>
+  <path id="path2385" fill="#fbbe66" d="M359.6 277.7l2 2z"/>
+  <path id="path2387" fill="#fea522" d="M369.8 277.7l2 2z"/>
+  <path id="path2389" fill="#f9d6aa" d="M396.2 277.7l2 2z"/>
+  <path id="path2391" fill="#fcb144" d="M422.6 277.7l2 2z"/>
+  <path id="path2393" fill="#8d8d5b" d="M455 277.7l2 2z"/>
+  <path id="path2395" fill="#e5e3af" d="M319 279.7l2 2z"/>
+  <path id="path2397" fill="#f8dcbb" d="M331.2 279.7l2 2z"/>
+  <path id="path2399" fill="#fdab33" d="M337.3 279.7l2 2z"/>
+  <path id="path2401" fill="#fe9f11" d="M343.4 279.7l2 2z"/>
+  <path id="path2403" fill="#faca88" d="M347.4 279.7l2 2z"/>
+  <path id="path2405" fill="#fcf1e4" d="M355.6 279.7l2 2z"/>
+  <path id="path2407" fill="#f9d099" d="M369.8 279.7l2 2-2-2m28.4 0l2 2z"/>
+  <path id="path2409" fill="#fbbe66" d="M424.6 279.7l2 2z"/>
+  <path id="path2411" fill="#fea522" d="M333.2 281.7l2 2z"/>
+  <path id="path2413" fill="#fdab33" d="M339.3 281.7l2 2z"/>
+  <path id="path2415" fill="#fea522" d="M341.3 281.7l2 2z"/>
+  <path id="path2417" fill="#fe9f11" d="M345.4 281.7l2 2z"/>
+  <path id="path2419" fill="#fef8f1" d="M347.4 281.7l2 2z"/>
+  <path id="path2421" fill="#fbbe66" d="M357.6 281.7l2 2z"/>
+  <path id="path2423" fill="#fef8f1" d="M369.8 281.7l2 2z"/>
+  <path id="path2425" fill="#fbbe66" d="M400.2 281.7l2 2z"/>
+  <path id="path2427" fill="#f9d099" d="M426.6 281.7l2 2z"/>
+  <path id="path2429" fill="#f9d6aa" d="M333.2 283.8l2 2z"/>
+  <path id="path2431" fill="#f9d099" d="M345.4 283.8l2 2z"/>
+  <path id="path2433" fill="#fcf1e4" d="M357.6 283.8l2 2z"/>
+  <path id="path2435" fill="#fdab33" d="M367.7 283.8l2 2-2-2m34.5 0l2 2z"/>
+  <path id="path2437" fill="#fbead6" d="M428.6 283.8l2 2z"/>
+  <path id="path2439" fill="#fea522" d="M335.2 285.8l2 2z"/>
+  <path id="path2441" fill="#fe9f11" d="M343.4 285.8l2 2z"/>
+  <path id="path2443" fill="#fcb144" d="M359.6 285.8l2 2z"/>
+  <path id="path2445" fill="#faca88" d="M367.7 285.8l2 2z"/>
+  <path id="path2447" fill="#f8dcbb" d="M402.2 285.8l2 2z"/>
+  <path id="path2449" fill="#fcb144" d="M428.6 285.8l2 2z"/>
+  <path id="path2451" fill="#d3d079" d="M319 287.9l2 2z"/>
+  <path id="path2453" fill="#faca88" d="M335.2 287.9l2 2zm24.4 0l2 2z"/>
+  <path id="path2455" fill="#fae3c9" d="M367.7 287.9l2 2-2-2m34.5 0l2 2z"/>
+  <path id="path2457" fill="#f8dcbb" d="M430.6 287.9l2 2-2-2z"/>
+  <path id="path2459" fill="#f2f1d7" d="M448.9 287.9l2 2z"/>
+  <path id="path2461" fill="#58587b" d="M455.7 289.2l.7 1.3z"/>
+  <path id="path2463" fill="#d9d868" d="M319.6 291.2l.8 1.4-.7-1.4z"/>
+  <path id="path2465" fill="#f8dcbb" d="M335.2 289.9l2 2z"/>
+  <path id="path2467" fill="#f9d6aa" d="M400.2 289.9l2 2z"/>
+  <path id="path2469" fill="#fe9f11" d="M402.2 289.9l2 2z"/>
+  <path id="path2471" fill="#fcb144" d="M430.6 289.9l2 2-2-2z"/>
+  <path id="path2473" fill="#f2f1d2" d="M449.6 291.2l.7 1.4z"/>
+  <path id="path2475" fill="#fcf1e4" d="M335.2 291.9l2 2z"/>
+  <path id="path2477" fill="#fef8f1" d="M398.2 291.9l2 2z"/>
+  <path id="path2479" fill="#fe9f11" d="M400.2 291.9l2 2z"/>
+  <path id="path2481" fill="#fdab33" d="M406.3 291.9l-2 4z"/>
+  <path id="path2483" fill="#fcb755" d="M408.3 291.9l2 2z"/>
+  <path id="path2485" fill="#fea522" d="M432.7 291.9l2 2z"/>
+  <path id="path2487" fill="#f9d099" d="M434.7 291.9l2 2z"/>
+  <path id="path2489" fill="#53527c" d="M455 291.9l2 2z"/>
+  <path id="path2491" fill="#808067" d="M315.6 295.3l.7 1.3z"/>
+  <path id="path2493" fill="#fea522" d="M337.3 293.9l2 2-2-2m6 0l2 2-2-2z"/>
+  <path id="path2495" fill="#fe9f11" d="M365.7 293.9l2 2z"/>
+  <path id="path2497" fill="#fae3c9" d="M398.2 293.9l2 2z"/>
+  <path id="path2499" fill="#fef8f1" d="M406.3 293.9l2 2z"/>
+  <path id="path2501" fill="#fcb144" d="M410.4 293.9l2 2z"/>
+  <path id="path2503" fill="#fcb755" d="M436.8 293.9l2 2z"/>
+  <path id="path2505" fill="#fef8f1" d="M438.8 293.9l4 4z"/>
+  <path id="path2507" fill="#e5e59d" d="M449.6 295.3l.7 1.3z"/>
+  <path id="path2509" fill="#32327b" d="M455.7 295.3l.7 1.3z"/>
+  <path id="path2511" fill="#fcb755" d="M338 297.3l.6 1.4z"/>
+  <path id="path2513" fill="#fef8f1" d="M345.4 295.9l2 2z"/>
+  <path id="path2515" fill="#fbbe66" d="M365.7 295.9l2 2z"/>
+  <path id="path2517" fill="#fbead6" d="M398.2 295.9l2 2z"/>
+  <path id="path2519" fill="#fe9f11" d="M402.2 295.9l2 2z"/>
+  <path id="path2521" fill="#fcf1e4" d="M404.3 295.9l2 2z"/>
+  <path id="path2523" fill="#fbead6" d="M410.4 295.9l2 2z"/>
+  <path id="path2525" fill="#fdab33" d="M438.8 295.9l2 2z"/>
+  <path id="path2527" fill="#667" d="M315 297.9l2 2-2-2z"/>
+  <path id="path2529" fill="#f6f6e4" d="M321 297.9l2 2-2-2z"/>
+  <path id="path2531" fill="#f9d6aa" d="M345.4 297.9l2 2-2-2z"/>
+  <path id="path2533" fill="#fdab33" d="M361.6 297.9l2 2-2-2z"/>
+  <path id="path2535" fill="#fe9f11" d="M363.6 297.9l2 2-2-2z"/>
+  <path id="path2537" fill="#fcf1e4" d="M365.7 297.9l2 2-2-2z"/>
+  <path id="path2539" fill="#fea522" d="M400.2 297.9l2 2-2-2z"/>
+  <path id="path2541" fill="#faca88" d="M402.2 297.9l2 2-2-2m10.2 0l2 2z"/>
+  <path id="path2543" fill="#fcb144" d="M440.8 297.9l2 2-2-2z"/>
+  <path id="path2545" fill="#dddc7a" d="M448.9 297.9l2 2-2-2z"/>
+  <path id="path2547" fill="#58587b" d="M315 300l2 2z"/>
+  <path id="path2549" fill="#f2f1d2" d="M321 300l2 2z"/>
+  <path id="path2551" fill="#fcb144" d="M338 301.4l.6 1.3z"/>
+  <path id="path2553" fill="#fea522" d="M345.4 300l2 2z"/>
+  <path id="path2555" fill="#fef8f1" d="M365.7 300l2 2z"/>
+  <path id="path2557" fill="#fea522" d="M367.7 300l2 2z"/>
+  <path id="path2559" fill="#fcb144" d="M371.8 300l2 2z"/>
+  <path id="path2561" fill="#fbead6" d="M373.8 300l2 2z"/>
+  <path id="path2563" fill="#f8dcbb" d="M400.2 300l2 2z"/>
+  <path id="path2565" fill="#fcf1e4" d="M402.2 300l2 2z"/>
+  <path id="path2567" fill="#fef8f1" d="M412.4 300l2 2z"/>
+  <path id="path2569" fill="#fe9f11" d="M414.4 300l2 2z"/>
+  <path id="path2571" fill="#fbead6" d="M442.9 300l2 2z"/>
+  <path id="path2573" fill="#d9d868" d="M448.9 300l2 2z"/>
+  <path id="path2575" fill="#3a3a7c" d="M315 302l2 2z"/>
+  <path id="path2577" fill="#e5e3af" d="M321 302l2 2z"/>
+  <path id="path2579" fill="#faca88" d="M347.4 302l2 2z"/>
+  <path id="path2581" fill="#fbead6" d="M367.7 302l2 2z"/>
+  <path id="path2583" fill="#fe9f11" d="M373.8 302l2 2z"/>
+  <path id="path2585" fill="#fcf1e4" d="M375.9 302l2 2z"/>
+  <path id="path2587" fill="#fbead6" d="M398.2 302l2 2z"/>
+  <path id="path2589" fill="#fae3c9" d="M400.2 302l2 2z"/>
+  <path id="path2591" fill="#fbead6" d="M402.2 302l2 2z"/>
+  <path id="path2593" fill="#fbbe66" d="M414.4 302l2 2-2-2m16.3 0l2 2z"/>
+  <path id="path2595" fill="#fcf1e4" d="M432.7 302l2 2z"/>
+  <path id="path2597" fill="#fef8f1" d="M434.7 302l2 2z"/>
+  <path id="path2599" fill="#f8dcbb" d="M436.8 302l2 2z"/>
+  <path id="path2601" fill="#fcb755" d="M438.8 302l2 2z"/>
+  <path id="path2603" fill="#fae3c9" d="M442.9 302l2 2z"/>
+  <path id="path2605" fill="#808067" d="M453 302l2 2z"/>
+  <path id="path2607" fill="#32327b" d="M315 304l2 2z"/>
+  <path id="path2609" fill="#a4a43d" d="M317.6 305.4l.7 1.4-.6-1.4z"/>
+  <path id="path2611" fill="#e5e59d" d="M321 304l2 2z"/>
+  <path id="path2613" fill="#fbc477" d="M337.3 304l2 2z"/>
+  <path id="path2615" fill="#f9d6aa" d="M349.5 304l2 2z"/>
+  <path id="path2617" fill="#fbbe66" d="M369.8 304l2 2z"/>
+  <path id="path2619" fill="#f9d099" d="M375.9 304l2 2z"/>
+  <path id="path2621" fill="#fae3c9" d="M394 304l2 2z"/>
+  <path id="path2623" fill="#fcb144" d="M396.2 304l2 2z"/>
+  <path id="path2625" fill="#fae3c9" d="M404.3 304l2 2z"/>
+  <path id="path2627" fill="#f8dcbb" d="M414.4 304l2 2z"/>
+  <path id="path2629" fill="#f9d099" d="M430.6 304l2 2-2-2z"/>
+  <path id="path2631" fill="#fbc477" d="M440.8 304l2 2z"/>
+  <path id="path2633" fill="#fbead6" d="M442.9 304l2 2z"/>
+  <path id="path2635" fill="#737370" d="M453 304l2 2z"/>
+  <path id="path2637" fill="#d9d868" d="M321 306l2 2z"/>
+  <path id="path2639" fill="#f9d099" d="M337.3 306l2 2z"/>
+  <path id="path2641" fill="#f9d6aa" d="M351.5 306l2 2-2-2m18.3 0l2 2z"/>
+  <path id="path2643" fill="#fbc477" d="M375.9 306l2 2z"/>
+  <path id="path2645" fill="#fef8f1" d="M386 306l2 2z"/>
+  <path id="path2647" fill="#f8dcbb" d="M388 306l2 2z"/>
+  <path id="path2649" fill="#fbc477" d="M390 306l2 2z"/>
+  <path id="path2651" fill="#fea522" d="M392 306l2 2z"/>
+  <path id="path2653" fill="#fbead6" d="M404.3 306l2 2z"/>
+  <path id="path2655" fill="#f2f1d2" d="M446.9 306l2 2z"/>
+  <path id="path2657" fill="#58587b" d="M453 306l2 2z"/>
+  <path id="path2659" fill="#99994e" d="M317 308l2 2z"/>
+  <path id="path2661" fill="#d0d045" d="M321 308l2 2z"/>
+  <path id="path2663" fill="#fcb144" d="M353.6 308l2 2z"/>
+  <path id="path2665" fill="#fae3c9" d="M355.6 308l2 2z"/>
+  <path id="path2667" fill="#fef8f1" d="M369.8 308l2 2z"/>
+  <path id="path2669" fill="#fcb755" d="M377.9 308l2 2z"/>
+  <path id="path2671" fill="#fbc477" d="M379.9 308l2 2z"/>
+  <path id="path2673" fill="#fcb144" d="M382 308l2 2z"/>
+  <path id="path2675" fill="#fea522" d="M384 308l2 2z"/>
+  <path id="path2677" fill="#fe9f11" d="M400.2 308l2 2z"/>
+  <path id="path2679" fill="#f9d6aa" d="M402.2 308l2 2z"/>
+  <path id="path2681" fill="#fef8f1" d="M430.6 308l2 2-2-2z"/>
+  <path id="path2683" fill="#e0dea1" d="M446.9 308l2 2z"/>
+  <path id="path2685" fill="#3a3a7c" d="M453 308l2 2z"/>
+  <path id="path2687" fill="#737370" d="M317 310.2l2 2z"/>
+  <path id="path2689" fill="#fbfaf2" d="M323 310.2l2 2z"/>
+  <path id="path2691" fill="#fea522" d="M339.3 310.2l2 2z"/>
+  <path id="path2693" fill="#fe9f11" d="M357.6 310.2l2 2z"/>
+  <path id="path2695" fill="#fcb144" d="M359.6 310.2l2 2z"/>
+  <path id="path2697" fill="#fbc477" d="M361.6 310.2l2 2z"/>
+  <path id="path2699" fill="#faca88" d="M363.6 310.2l2 2-2-2z"/>
+  <path id="path2701" fill="#fbc477" d="M365.7 310.2l2 2z"/>
+  <path id="path2703" fill="#fcb144" d="M367.7 310.2l2 2z"/>
+  <path id="path2705" fill="#fdab33" d="M369.8 310.2l2 2z"/>
+  <path id="path2707" fill="#fbc477" d="M398.2 310.2l2 2z"/>
+  <path id="path2709" fill="#fef8f1" d="M400.2 310.2l2 2z"/>
+  <path id="path2711" fill="#fdab33" d="M428.6 310.2l2 2z"/>
+  <path id="path2713" fill="#e1e18c" d="M446.9 310.2l2 2z"/>
+  <path id="path2715" fill="#a4a43d" d="M451.6 311.5l.7 1.4z"/>
+  <path id="path2717" fill="#262678" d="M453 310.2l2 2z"/>
+  <path id="path2719" fill="#58587b" d="M317 312.2l2 2z"/>
+  <path id="path2721" fill="#f2f1d2" d="M323 312.2l2 2z"/>
+  <path id="path2723" fill="#faca88" d="M339.3 312.2l2 2z"/>
+  <path id="path2725" fill="#fe9f11" d="M394 312.2l2 2z"/>
+  <path id="path2727" fill="#fbead6" d="M396.2 312.2l2 2z"/>
+  <path id="path2729" fill="#fbc477" d="M414.4 312.2l2 2z"/>
+  <path id="path2731" fill="#faca88" d="M428.6 312.2l2 2z"/>
+  <path id="path2733" fill="#d4d456" d="M446.9 312.2l2 2z"/>
+  <path id="path2735" fill="#32327b" d="M317 314.2l2 2z"/>
+  <path id="path2737" fill="#e5e59d" d="M323 314.2l2 2z"/>
+  <path id="path2739" fill="#fef8f1" d="M339.3 314.2l2 2z"/>
+  <path id="path2741" fill="#fe9f11" d="M341.3 314.2l2 2z"/>
+  <path id="path2743" fill="#fbead6" d="M394 314.2l2 2z"/>
+  <path id="path2745" fill="#fea522" d="M414.4 314.2l2 2z"/>
+  <path id="path2747" fill="#fcf1e4" d="M428.6 314.2l2 2z"/>
+  <path id="path2749" fill="#808067" d="M451 314.2l2 2z"/>
+  <path id="path2751" fill="#0e0e6e" d="M317 316.2l2 2z"/>
+  <path id="path2753" fill="#a4a43d" d="M319 316.2l2 2z"/>
+  <path id="path2755" fill="#d9d868" d="M323 316.2l2 2z"/>
+  <path id="path2757" fill="#f8dcbb" d="M341.3 316.2l2 2z"/>
+  <path id="path2759" fill="#f9d6aa" d="M412.4 316.2l2 2z"/>
+  <path id="path2761" fill="#faca88" d="M426.6 316.2l2 2z"/>
+  <path id="path2763" fill="#f2f1d2" d="M444.9 316.2l2 2z"/>
+  <path id="path2765" fill="#58587b" d="M451 316.2l2 2z"/>
+  <path id="path2767" fill="#8d8d5b" d="M319 318.3l2 2z"/>
+  <path id="path2769" fill="#f9d6aa" d="M343.4 318.3l2 2z"/>
+  <path id="path2771" fill="#fdab33" d="M384 318.3l2 2z"/>
+  <path id="path2773" fill="#fff" d="M386 318.3l2 2z"/>
+  <path id="path2775" fill="#fcb144" d="M389.4 318.9l1.4.7z"/>
+  <path id="path2777" fill="#fef8f1" d="M410.4 318.3l-2 4z"/>
+  <path id="path2779" fill="#fe9f11" d="M412.4 318.3l2 2z"/>
+  <path id="path2781" fill="#fdab33" d="M424.6 318.3l-2 4z"/>
+  <path id="path2783" fill="#e5e59d" d="M444.9 318.3l2 2z"/>
+  <path id="path2785" fill="#3a3a7c" d="M451 318.3l2 2z"/>
+  <path id="path2787" fill="#667" d="M319 320.3l2 2z"/>
+  <path id="path2789" fill="#f2f1d2" d="M325 320.3l2 2z"/>
+  <path id="path2791" fill="#f9d6aa" d="M345.4 320.3l2 2z"/>
+  <path id="path2793" fill="#fe9f11" d="M384 320.3l2 2z"/>
+  <path id="path2795" fill="#faca88" d="M386 320.3l2 2z"/>
+  <path id="path2797" fill="#fea522" d="M388 320.3l2 2z"/>
+  <path id="path2799" fill="#fcf1e4" d="M390 320.3l2 2z"/>
+  <path id="path2801" fill="#fdab33" d="M410.4 320.3l2 2z"/>
+  <path id="path2803" fill="#fef8f1" d="M424.6 320.3l2 2z"/>
+  <path id="path2805" fill="#d9d868" d="M444.9 320.3l2 2z"/>
+  <path id="path2807" fill="#a4a43d" d="M448.9 320.3l2 2z"/>
+  <path id="path2809" fill="#0e0e6e" d="M451 320.3l2 2z"/>
+  <path id="path2811" fill="#3a3a7c" d="M319 322.3l2 2z"/>
+  <path id="path2813" fill="#e5e59d" d="M325 322.3l2 2z"/>
+  <path id="path2815" fill="#fae3c9" d="M347.4 322.3l4 4z"/>
+  <path id="path2817" fill="#fe9f11" d="M349.5 322.3l2 2z"/>
+  <path id="path2819" fill="#f8dcbb" d="M388 322.3l2 2z"/>
+  <path id="path2821" fill="#fcf1e4" d="M406.3 322.3l2 2z"/>
+  <path id="path2823" fill="#fdab33" d="M408.3 322.3l2 2z"/>
+  <path id="path2825" fill="#fcb144" d="M420.6 322.3l2 2z"/>
+  <path id="path2827" fill="#fef8f1" d="M422.6 322.3l2 2z"/>
+  <path id="path2829" fill="#fbfaf2" d="M442.9 322.3l2 2z"/>
+  <path id="path2831" fill="#8d8d5b" d="M448.9 322.3l2 2z"/>
+  <path id="path2833" fill="#0e0e6e" d="M319 324.4l2 2z"/>
+  <path id="path2835" fill="#a4a43d" d="M321 324.4l2 2z"/>
+  <path id="path2837" fill="#d4d456" d="M325 324.4l2 2z"/>
+  <path id="path2839" fill="#f9d6aa" d="M386 324.4l2 2z"/>
+  <path id="path2841" fill="#f9d099" d="M404.3 324.4l2 2z"/>
+  <path id="path2843" fill="#fe9f11" d="M406.3 324.4l2 2z"/>
+  <path id="path2845" fill="#faca88" d="M418.5 324.4l2 2z"/>
+  <path id="path2847" fill="#eeedc1" d="M442.9 324.4l2 2z"/>
+  <path id="path2849" fill="#58587b" d="M448.9 324.4l2 2z"/>
+  <path id="path2851" fill="#737370" d="M321 326.4l2 2z"/>
+  <path id="path2853" fill="#f6f6e4" d="M327 326.4l2 2z"/>
+  <path id="path2855" fill="#fbbe66" d="M349.5 326.4l2 2z"/>
+  <path id="path2857" fill="#fcb144" d="M382 326.4l2 2z"/>
+  <path id="path2859" fill="#f8dcbb" d="M384.6 327.8l.7 1.3z"/>
+  <path id="path2861" fill="#fbbe66" d="M400.2 326.4l2 2z"/>
+  <path id="path2863" fill="#fe9f11" d="M402.2 326.4l2 2z"/>
+  <path id="path2865" fill="#fbc477" d="M414.4 326.4l2 2z"/>
+  <path id="path2867" fill="#fcf1e4" d="M416.5 326.4l2 2z"/>
+  <path id="path2869" fill="#d3d079" d="M442.9 326.4l2 2z"/>
+  <path id="path2871" fill="#a4a43d" d="M446.9 326.4l2 2z"/>
+  <path id="path2873" fill="#262678" d="M448.9 326.4l2 2z"/>
+  <path id="path2875" fill="#49497d" d="M321 328.4l2 2z"/>
+  <path id="path2877" fill="#e0dea1" d="M327 328.4l2 2z"/>
+  <path id="path2879" fill="#fae3c9" d="M347.4 328.4l2 2z"/>
+  <path id="path2881" fill="#fdab33" d="M375.9 328.4l2 2z"/>
+  <path id="path2883" fill="#fbc477" d="M377.9 328.4l2 2z"/>
+  <path id="path2885" fill="#fbead6" d="M379.9 328.4l2 2z"/>
+  <path id="path2887" fill="#fcb144" d="M386 328.4l2 2z"/>
+  <path id="path2889" fill="#f9d6aa" d="M412.4 328.4l2 2z"/>
+  <path id="path2891" fill="#99994e" d="M446.9 328.4l2 2z"/>
+  <path id="path2893" fill="#0e0e6e" d="M321 330.5l2 2z"/>
+  <path id="path2895" fill="#a4a43d" d="M323 330.5l2 2z"/>
+  <path id="path2897" fill="#d4d456" d="M327 330.5l2 2z"/>
+  <path id="path2899" fill="#f9d099" d="M345.4 330.5l2 2z"/>
+  <path id="path2901" fill="#fe9f11" d="M347.4 330.5l2 2-2-2m10.2 0l2 2z"/>
+  <path id="path2903" fill="#f9d6aa" d="M359.6 330.5l2 2z"/>
+  <path id="path2905" fill="#f9d099" d="M361.6 330.5l2 2z"/>
+  <path id="path2907" fill="#f9d6aa" d="M369.8 330.5l2 2z"/>
+  <path id="path2909" fill="#fae3c9" d="M371.8 330.5l2 2z"/>
+  <path id="path2911" fill="#fef8f1" d="M373.8 330.5l2 2z"/>
+  <path id="path2913" fill="#fbead6" d="M390 330.5l2 2z"/>
+  <path id="path2915" fill="#fae3c9" d="M392 330.5l2 2z"/>
+  <path id="path2917" fill="#faca88" d="M394 330.5l2 2z"/>
+  <path id="path2919" fill="#fbc477" d="M396.2 330.5l2 2z"/>
+  <path id="path2921" fill="#fdab33" d="M398.2 330.5l2 2z"/>
+  <path id="path2923" fill="#fe9f11" d="M408.3 330.5l2 2z"/>
+  <path id="path2925" fill="#f9d6aa" d="M410.4 330.5l2 2z"/>
+  <path id="path2927" fill="#e5e3af" d="M440.8 330.5l2 2z"/>
+  <path id="path2929" fill="#667" d="M446.9 330.5l2 2z"/>
+  <path id="path2931" fill="#737370" d="M323 332.5l2 2z"/>
+  <path id="path2933" fill="#f2f1d7" d="M329.2 332.5l2 2z"/>
+  <path id="path2935" fill="#fea522" d="M343.4 332.5l2 2z"/>
+  <path id="path2937" fill="#fe9f11" d="M353.6 332.5l2 2z"/>
+  <path id="path2939" fill="#fbbe66" d="M355.6 332.5l2 2z"/>
+  <path id="path2941" fill="#fcf1e4" d="M357.6 332.5l2 2z"/>
+  <path id="path2943" fill="#fea522" d="M406.3 332.5l2 2z"/>
+  <path id="path2945" fill="#fbead6" d="M408.3 332.5l2 2z"/>
+  <path id="path2947" fill="#dddc7a" d="M440.8 332.5l2 2z"/>
+  <path id="path2949" fill="#a4a43d" d="M444.9 332.5l2 2z"/>
+  <path id="path2951" fill="#262678" d="M446.9 332.5l2 2z"/>
+  <path id="path2953" fill="#49497d" d="M323 334.5l2 2z"/>
+  <path id="path2955" fill="#a4a43d" d="M325.8 335.9l.7 1.3z"/>
+  <path id="path2957" fill="#d3d079" d="M329.2 334.5l2 2z"/>
+  <path id="path2959" fill="#f9d099" d="M345.4 334.5l2 2z"/>
+  <path id="path2961" fill="#fcb144" d="M347.4 334.5l2 2z"/>
+  <path id="path2963" fill="#faca88" d="M349.5 334.5l2 2z"/>
+  <path id="path2965" fill="#f8dcbb" d="M351.5 334.5l2 2z"/>
+  <path id="path2967" fill="#fef8f1" d="M353.6 334.5l2 2z"/>
+  <path id="path2969" fill="#f8dcbb" d="M398.2 334.5l2 2z"/>
+  <path id="path2971" fill="#fcf1e4" d="M406.3 334.5l2 2z"/>
+  <path id="path2973" fill="#f6f6e4" d="M438.8 334.5l2 2z"/>
+  <path id="path2975" fill="#8d8d5b" d="M444.9 334.5l2 2z"/>
+  <path id="path2977" fill="#fbfaf2" d="M331.2 336.5l2 2z"/>
+  <path id="path2979" fill="#fbbe66" d="M398.2 336.5l2 2z"/>
+  <path id="path2981" fill="#faca88" d="M404.3 336.5l2 2z"/>
+  <path id="path2983" fill="#e1e18c" d="M438.8 336.5l2 2z"/>
+  <path id="path2985" fill="#49497d" d="M444.9 336.5l2 2z"/>
+  <path id="path2987" fill="#58587b" d="M325 338.6l2 2z"/>
+  <path id="path2989" fill="#e5e59d" d="M331.2 338.6l2 2z"/>
+  <path id="path2991" fill="#fe9f11" d="M398.2 338.6l2 2z"/>
+  <path id="path2993" fill="#fdab33" d="M402.2 338.6l2 2z"/>
+  <path id="path2995" fill="#fbfaf2" d="M436.8 338.6l2 2z"/>
+  <path id="path2997" fill="#a4a43d" d="M442.9 338.6l2 2z"/>
+  <path id="path2999" fill="#0e0e6e" d="M444.9 338.6l2 2z"/>
+  <path id="path3001" fill="#1b1b74" d="M325 340.6l2 2z"/>
+  <path id="path3003" fill="#a4a43d" d="M327 340.6l2 2z"/>
+  <path id="path3005" fill="#d0d045" d="M331.2 340.6l2 2z"/>
+  <path id="path3007" fill="#fbead6" d="M396.2 340.6l2 2z"/>
+  <path id="path3009" fill="#fe9f11" d="M400.2 340.6l2 2z"/>
+  <path id="path3011" fill="#fbead6" d="M402.2 340.6l2 2z"/>
+  <path id="path3013" fill="#e5e59d" d="M436.8 340.6l2 2z"/>
+  <path id="path3015" fill="#667" d="M442.9 340.6l2 2z"/>
+  <path id="path3017" fill="#6e6c70" d="M327 342.6l2 2z"/>
+  <path id="path3019" fill="#e5e3af" d="M333.2 342.6l2 2z"/>
+  <path id="path3021" fill="#faca88" d="M396.8 344l.7 1.4z"/>
+  <path id="path3023" fill="#fae3c9" d="M400.2 342.6l2 2z"/>
+  <path id="path3025" fill="#fbfaf2" d="M434.7 342.6l2 2z"/>
+  <path id="path3027" fill="#a4a43d" d="M440.8 342.6l2 2z"/>
+  <path id="path3029" fill="#1b1b74" d="M442.9 342.6l2 2-2-2m-115.8 2l2 2z"/>
+  <path id="path3031" fill="#a4a43d" d="M329.2 344.7l2 2z"/>
+  <path id="path3033" fill="#d0d045" d="M333.2 344.7l2 2z"/>
+  <path id="path3035" fill="#fbfaf2" d="M335.2 344.7l2 2z"/>
+  <path id="path3037" fill="#f9d6aa" d="M398.2 344.7l2 2z"/>
+  <path id="path3039" fill="#e5e59d" d="M434.7 344.7l2 2z"/>
+  <path id="path3041" fill="#6e6c70" d="M440.8 344.7l2 2-2-2m-111.6 2l2 2z"/>
+  <path id="path3043" fill="#8cbf84" d="M335.2 346.7l2 2z"/>
+  <path id="path3045" fill="#0cf" d="M336 346.7c7 14.8 32 49.8 51 49.2 18.7-.7 39.6-35 47.7-49.2z"/>
+  <path id="path3047" fill="#a4a43d" d="M438.8 346.7l2 2z"/>
+  <path id="path3049" fill="#1b1b74" d="M440.8 346.7l2 2-2-2m-111.6 2l2 2z"/>
+  <path id="path3051" fill="#a4a43d" d="M331.2 348.7l2 2z"/>
+  <path id="path3053" fill="#adb333" d="M335.2 348.7l2 2z"/>
+  <path id="path3055" fill="#1ac5b5" d="M337.3 348.7l2 2z"/>
+  <path id="path3057" fill="#68b070" d="M432.7 348.7l2 2z"/>
+  <path id="path3059" fill="#667" d="M438.8 348.7l2 2z"/>
+  <path id="path3061" fill="#58587b" d="M331.2 350.8l2 2z"/>
+  <path id="path3063" fill="#7fb15c" d="M337.3 350.8l2 2z"/>
+  <path id="path3065" fill="#27c2aa" d="M430.6 350.8l2 2-2-2z"/>
+  <path id="path3067" fill="#a4a43d" d="M436.8 350.8l-2 4z"/>
+  <path id="path3069" fill="#0e0e6e" d="M438.8 350.8l2 2-2-2m-107.6 2l2 2z"/>
+  <path id="path3071" fill="#a4a43d" d="M333.2 352.8l4 4z"/>
+  <path id="path3073" fill="#34be9e" d="M339.3 352.8l2 2z"/>
+  <path id="path3075" fill="#96b247" d="M430.6 352.8l2 2-2-2z"/>
+  <path id="path3077" fill="#53527c" d="M436.8 352.8l2 2z"/>
+  <path id="path3079" fill="#3a3a7c" d="M333.2 354.9l2 2z"/>
+  <path id="path3081" fill="#a2b23d" d="M339.3 354.9l2 2z"/>
+  <path id="path3083" fill="#0dc9c1" d="M341.3 354.9l2 2z"/>
+  <path id="path3085" fill="#5bb47c" d="M428.6 354.9l2 2z"/>
+  <path id="path3087" fill="#8d8d5b" d="M434.7 354.9l2 2z"/>
+  <path id="path3089" fill="#737370" d="M335.2 356.9l2 2z"/>
+  <path id="path3091" fill="#74b166" d="M341.3 356.9l2 2z"/>
+  <path id="path3093" fill="#27c2aa" d="M426.6 356.9l2 2z"/>
+  <path id="path3095" fill="#a4a43d" d="M432.7 356.9l-2 4z"/>
+  <path id="path3097" fill="#262678" d="M434.7 356.9l2 2z"/>
+  <path id="path3099" fill="#0e0e6e" d="M335.2 358.9l2 2z"/>
+  <path id="path3101" fill="#a4a43d" d="M337.3 358.9l4 4z"/>
+  <path id="path3103" fill="#42bb92" d="M343.4 358.9l2 2z"/>
+  <path id="path3105" fill="#0dc9c1" d="M424.6 358.9l2 2z"/>
+  <path id="path3107" fill="#96b247" d="M426.6 358.9l2 2z"/>
+  <path id="path3109" fill="#58587b" d="M432.7 358.9l2 2z"/>
+  <path id="path3111" fill="#3a3a7c" d="M337.3 360.9l2 2z"/>
+  <path id="path3113" fill="#adb333" d="M343.4 360.9l2 2z"/>
+  <path id="path3115" fill="#27c2aa" d="M345.4 360.9l2 2z"/>
+  <path id="path3117" fill="#74b166" d="M424.6 360.9l2 2z"/>
+  <path id="path3119" fill="#8d8d5b" d="M430.6 360.9l2 2-2-2z"/>
+  <path id="path3121" fill="#6e6c70" d="M339.3 362.9l2 2z"/>
+  <path id="path3123" fill="#96b247" d="M345.4 362.9l2 2z"/>
+  <path id="path3125" fill="#0dc9c1" d="M347.4 362.9l2 2z"/>
+  <path id="path3127" fill="#42bb92" d="M422.6 362.9l2 2z"/>
+  <path id="path3129" fill="#a4a43d" d="M428.6 362.9l-4 6 4-6z"/>
+  <path id="path3131" fill="#1b1b74" d="M430.6 362.9l2 2-2-2z"/>
+  <path id="path3133" fill="#0e0e6e" d="M339.3 364.9l2 2-2-2z"/>
+  <path id="path3135" fill="#8d8d5b" d="M341.3 364.9l2 2-2-2z"/>
+  <path id="path3137" fill="#7fb15c" d="M347.4 364.9l2 2-2-2z"/>
+  <path id="path3139" fill="#34be9e" d="M420.6 364.9l2 2-2-2z"/>
+  <path id="path3141" fill="#3a3a7c" d="M428.6 364.9l2 2-2-2z"/>
+  <path id="path3143" fill="#1b1b74" d="M341.3 367l2 2z"/>
+  <path id="path3145" fill="#a4a43d" d="M343.4 367l22.3 22.3z"/>
+  <path id="path3147" fill="#74b166" d="M349.5 367l2 2z"/>
+  <path id="path3149" fill="#27c2aa" d="M418.5 367l2 2z"/>
+  <path id="path3151" fill="#adb333" d="M420.6 367l2 2z"/>
+  <path id="path3153" fill="#667" d="M426.6 367l2 2z"/>
+  <path id="path3155" fill="#32327b" d="M343.4 369l2 2z"/>
+  <path id="path3157" fill="#42bb92" d="M351.5 369l2 2z"/>
+  <path id="path3159" fill="#0dc9c1" d="M416.5 369l-8.2 10.2 8.3-10.3z"/>
+  <path id="path3161" fill="#adb333" d="M418.5 369l2 2z"/>
+  <path id="path3163" fill="#737370" d="M424.6 369l2 2z"/>
+  <path id="path3165" fill="#49497d" d="M345.4 371l2 2z"/>
+  <path id="path3167" fill="#42bb92" d="M353.6 371l2 2z"/>
+  <path id="path3169" fill="#96b247" d="M416.5 371l2 2z"/>
+  <path id="path3171" fill="#8d8d5b" d="M422.6 371l-2 4z"/>
+  <path id="path3173" fill="#0e0e6e" d="M424.6 371l2 2z"/>
+  <path id="path3175" fill="#53527c" d="M347.4 373l2 2z"/>
+  <path id="path3177" fill="#42bb92" d="M355.6 373l2 2z"/>
+  <path id="path3179" fill="#96b247" d="M414.4 373l2 2z"/>
+  <path id="path3181" fill="#0e0e6e" d="M422.6 373l2 2z"/>
+  <path id="path3183" fill="#6e6c70" d="M349.5 375l2 2z"/>
+  <path id="path3185" fill="#42bb92" d="M357.6 375l2 2z"/>
+  <path id="path3187" fill="#96b247" d="M412.4 375l2 2z"/>
+  <path id="path3189" fill="#a4a43d" d="M418.5 375l-4 6.2 4-6z"/>
+  <path id="path3191" fill="#262678" d="M420.6 375l2 2z"/>
+  <path id="path3193" fill="#6e6c70" d="M351.5 377.2l2 2z"/>
+  <path id="path3195" fill="#42bb92" d="M359.6 377.2l2 2z"/>
+  <path id="path3197" fill="#96b247" d="M410.4 377.2l2 2z"/>
+  <path id="path3199" fill="#262678" d="M418.5 377.2l2 2z"/>
+  <path id="path3201" fill="#6e6c70" d="M353.6 379.2l2 2z"/>
+  <path id="path3203" fill="#68b070" d="M361.6 379.2l2 2z"/>
+  <path id="path3205" fill="#27c2aa" d="M406.3 379.2l2 2z"/>
+  <path id="path3207" fill="#adb333" d="M408.3 379.2l2 2z"/>
+  <path id="path3209" fill="#262678" d="M416.5 379.2l2 2z"/>
+  <path id="path3211" fill="#667" d="M355.6 381.2l2 2z"/>
+  <path id="path3213" fill="#74b166" d="M363.6 381.2l2 2-2-2z"/>
+  <path id="path3215" fill="#34be9e" d="M404.3 381.2l2 2z"/>
+  <path id="path3217" fill="#adb333" d="M406.3 381.2l2 2z"/>
+  <path id="path3219" fill="#8d8d5b" d="M412.4 381.2l-2 4z"/>
+  <path id="path3221" fill="#262678" d="M414.4 381.2l2 2z"/>
+  <path id="path3223" fill="#49497d" d="M357.6 383.2l2 2z"/>
+  <path id="path3225" fill="#96b247" d="M365.7 383.2l2 2z"/>
+  <path id="path3227" fill="#0dc9c1" d="M367.7 383.2l2 2z"/>
+  <path id="path3229" fill="#42bb92" d="M402.2 383.2l2 2z"/>
+  <path id="path3231" fill="#0e0e6e" d="M412.4 383.2l2 2z"/>
+  <path id="path3233" fill="#49497d" d="M359.6 385.3l2 2z"/>
+  <path id="path3235" fill="#a2b23d" d="M367.7 385.3l2 2z"/>
+  <path id="path3237" fill="#27c2aa" d="M369.8 385.3l2 2z"/>
+  <path id="path3239" fill="#74b166" d="M400.2 385.3l2 2z"/>
+  <path id="path3241" fill="#a4a43d" d="M406.3 385.3l-6 8z"/>
+  <path id="path3243" fill="#808067" d="M408.3 385.3l2 2z"/>
+  <path id="path3245" fill="#0e0e6e" d="M410.4 385.3l2 2z"/>
+  <path id="path3247" fill="#262678" d="M361.6 387.3l2 2z"/>
+  <path id="path3249" fill="#adb333" d="M369.8 387.3l2 2z"/>
+  <path id="path3251" fill="#42bb92" d="M371.8 387.3l2 2z"/>
+  <path id="path3253" fill="#0dc9c1" d="M396.2 387.3l2 2z"/>
+  <path id="path3255" fill="#96b247" d="M398.2 387.3l2 2z"/>
+  <path id="path3257" fill="#6e6c70" d="M406.3 387.3l2 2z"/>
+  <path id="path3259" fill="#1b1b74" d="M363.6 389.3l2 2-2-2z"/>
+  <path id="path3261" fill="#8d8d5b" d="M365.7 389.3l2 2z"/>
+  <path id="path3263" fill="#74b166" d="M373.8 389.3l2 2z"/>
+  <path id="path3265" fill="#0dc9c1" d="M375.9 389.3l2 2z"/>
+  <path id="path3267" fill="#34be9e" d="M394 389.3l2 2z"/>
+  <path id="path3269" fill="#adb333" d="M396.2 389.3l2 2z"/>
+  <path id="path3271" fill="#49497d" d="M404.3 389.3l2 2z"/>
+  <path id="path3273" fill="#0e0e6e" d="M365.7 391.4l2 2z"/>
+  <path id="path3275" fill="#6e6c70" d="M367.7 391.4l2 2z"/>
+  <path id="path3277" fill="#a4a43d" d="M369.8 391.4l4 4z"/>
+  <path id="path3279" fill="#96b247" d="M375.9 391.4l2 2z"/>
+  <path id="path3281" fill="#27c2aa" d="M377.9 391.4l2 2z"/>
+  <path id="path3283" fill="#68b070" d="M392 391.4l2 2z"/>
+  <path id="path3285" fill="#32327b" d="M402.2 391.4l2 2z"/>
+  <path id="path3287" fill="#49497d" d="M369.8 393.4l2 2z"/>
+  <path id="path3289" fill="#5bb47c" d="M379.9 393.4l2 2z"/>
+  <path id="path3291" fill="#27c2aa" d="M388 393.4l2 2z"/>
+  <path id="path3293" fill="#96b247" d="M390 393.4l2 2z"/>
+  <path id="path3295" fill="#a4a43d" d="M396.2 393.4l-2 4z"/>
+  <path id="path3297" fill="#808067" d="M398.2 393.4l2 2z"/>
+  <path id="path3299" fill="#0e0e6e" d="M400.2 393.4l2 2z"/>
+  <path id="path3301" fill="#262678" d="M371.8 395.4l2 2z"/>
+  <path id="path3303" fill="#8d8d5b" d="M373.8 395.4l2 2z"/>
+  <path id="path3305" fill="#8bb252" d="M382 395.4l2 2z"/>
+  <path id="path3307" fill="#1ac5b5" d="M384 395.4l2 2z"/>
+  <path id="path3309" fill="#5bb47c" d="M386 395.4l2 2z"/>
+  <path id="path3311" fill="#58587b" d="M396.2 395.4l2 2z"/>
+  <path id="path3313" fill="#0e0e6e" d="M373.8 397.5l2 2z"/>
+  <path id="path3315" fill="#667" d="M375.9 397.5l2 2z"/>
+  <path id="path3317" fill="#a4a43d" d="M377.9 397.5l2 2z"/>
+  <path id="path3319" fill="#99994e" d="M392 397.5l2 2z"/>
+  <path id="path3321" fill="#32327b" d="M394 397.5l2 2-2-2m-16.1 2l2 2z"/>
+  <path id="path3323" fill="#99994e" d="M379.9 399.5l2 2z"/>
+  <path id="path3325" fill="#a4a43d" d="M388 399.5l2 2z"/>
+  <path id="path3327" fill="#667" d="M390 399.5l2 2z"/>
+  <path id="path3329" fill="#0e0e6e" d="M392 399.5l2 2-2-2m-12.1 2l2 2z"/>
+  <path id="path3331" fill="#667" d="M382 401.5l2 2z"/>
+  <path id="path3333" fill="#a4a43d" d="M384 401.5l2 2z"/>
+  <path id="path3335" fill="#99994e" d="M386 401.5l2 2z"/>
+  <path id="path3337" fill="#32327b" d="M388 401.5l2 2z"/>
+  <path id="path3339" fill="#262678" d="M384 403.5l2 2z"/>
+  <path id="path3341" fill="#0e0e6e" d="M386 403.5l2 2z"/>
+  <path id="path3343" fill="#f90" d="M388 267.5c3.2 7.4 13.2 15.5 16 19.5-3.5 4-4.2 3.6-3.8 11 6-6.4 6.2-7 10.2-6.1 8.6 8.6 1.5 27-5.6 31-7.1 4.3-5.8-.1-16.5 5.2 4.9 4.2 10.6-.6 15.2.7 2.5 3-1.2 8.4.7 13.6 4-.4 3.6-8.7 4.6-11.7 3-11 21-18.6 21.9-28.7 3.8-1.7 7.5-.5 12 2-2.2-9.4-9.7-9.3-11.8-12.2-4.8-7.4-9.1-15.8-19.4-18-8-1.7-7.3.5-12.3-3-3.2-2.4-12.7-7-11.2-3.3z"/>
+  <path id="path3345" fill="#fff" fill-rule="evenodd" d="M410.6 275.9a1.6 1.6 0 11-3.3 0 1.6 1.6 0 013.3 0z"/>
+  <path id="path3347" fill="#f90" d="M362.9 298.8c5-6.2 7.6-19 9.8-23.2 5.2 1.2 5 2 11.5-1.8-8.5-2.4-9.2-2.2-10.2-6.1 3.6-11.7 23.2-14 30-9.6 7.2 4.3 2.7 5.2 12.4 12 1.4-6.2-5.5-9-6.5-13.6 1.5-3.7 8-3 11.6-7-2.2-3.5-9.3.8-12.4 1.4-11 2.5-26.3-9.8-35.6-6-3.3-2.5-4-6.4-4-11.7-7.1 6.5-3.5 13-5.2 16.3-4.2 7.7-9.7 15.5-6.8 25.6 2.2 7.8 3.8 6.2 3.2 12.3-.7 3.9-.4 14.5 2.2 11.4z"/>
+  <path id="path3349" fill="#fff" fill-rule="evenodd" d="M359.8 274.9c.8-.4 1.8-.1 2.2.7a1.6 1.6 0 11-2.2-.7z"/>
+  <path id="path3351" fill="#f90" d="M404 303c-8-1-20.1 3.4-25 3.8-1.5-5.1-.8-5.5-7.4-9 2.3 8.6 2.8 9 0 12-11.8 2.9-24-12.7-23.8-20.8 0-8.3 3.2-5 4-17-6 2-4.8 9.5-8.3 12.8-4 .6-6.6-5.3-12-6.3-1.8 3.7 5.5 7.5 7.6 9.9 7.9 8.2 5.2 27.5 13.3 33.5-.4 4.2-3.4 6.8-8 9.4 9.3 2.9 13-3.7 16.7-4 8.8-.2 18.3.4 25.5-7.3 5.4-6 3.3-6.5 8.8-9 3.7-1.4 12.6-7.2 8.6-8z"/>
+  <path id="path3353" fill="#fff" fill-rule="evenodd" d="M385.2 318.2a1.6 1.6 0 111.7-2.8 1.6 1.6 0 01-1.7 2.8z"/>
+  <path id="path6674" fill="#012169" stroke-width=".5" d="M0 0h256v256H0z"/>
+  <path id="path6676" fill="#fff" stroke-width=".5" d="M256 0v32l-95 96 95 93.5V256h-33.5L127 162l-93 94H0v-34l93-93.5L0 37V0h31l96 94 93-94z"/>
+  <path id="path6678" fill="#c8102e" stroke-width=".5" d="M92 162l5.5 17L21 256H0v-1.5zm62-6l27 4 75 73.5V256zM256 0l-96 98-2-22 75-76zM0 .5L96.5 95 67 91 0 24.5z"/>
+  <path id="path6680" fill="#fff" stroke-width=".5" d="M88 0v256h80V0zM0 88v80h256V88z"/>
+  <path id="path6682" fill="#c8102e" stroke-width=".5" d="M0 104v48h256v-48zM104 0v256h48V0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/al.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/al.svg
new file mode 100644
index 0000000..75995ec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/al.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-al" viewBox="0 0 512 512">
+  <path fill="#e41e20" d="M0 0h512v512H0z"/>
+  <path id="a" d="M204.9 99.5c-5 0-13.2 1.6-13 5.4-14-2.3-15.4 3.4-14.6 8.5 1.4-2 3-3.1 4.2-3.3 1.9-.3 3.8.3 5.8 1.5a23 23 0 015 4.4c-4.8 1.1-8.6.4-12.4-.3a17.6 17.6 0 01-6.1-2.5c-1.6-1.1-2.1-2.1-4.6-4.7-2.9-3-6-2.1-5 2.5 2.2 4.3 6 6.3 10.7 7 2.2.4 5.6 1.2 9.4 1.2 3.8 0 8.1-.5 10.5 0-1.4.8-3 2.4-6.2 3-3.2.6-8-2-11-2.6.4 2.5 3.5 4.8 9.7 6 10.2 2.2 18.7 4 24.3 7 5.6 3 9.1 6.8 11.6 9.8 5 6 5.3 10.5 5.6 11.5 1 9.5-2.2 14.8-8.4 16.4-3 .8-8.5-.7-10.5-3-2-2.4-4-6.4-3.4-12.7.5-2.5 3.4-9 1-10.3a291.6 291.6 0 00-34.4-16c-2.7-1.1-5 2.5-5.8 4A53.5 53.5 0 01129 107c-4.6-8.1-12.1 0-10.9 7.7 2.1 8.6 8.6 14.8 16.5 19.2 8 4.5 18.1 8.8 28.3 8.6 5.5 1 5.5 8.2-1.1 9.5-13 0-23.2-.2-32.9-9.6-7.4-6.7-11.5 1.3-9.4 5.8 3.6 14 23.6 18 43.8 13.4 7.8-1.3 3.1 7 .9 7.2-8.4 6-23.5 12-36.8-.1-6.1-4.7-10.2-.7-8 6 6 17.5 28.5 13.8 44 5.2 4-2.2 7.6 3 2.7 6.9-19.2 13.4-28.9 13.6-37.6 8.4-10.8-4.3-11.8 7.8-5.3 11.8 7.2 4.4 25.4 1 38.9-7.4 5.7-4.2 6 2.4 2.3 5-15.9 13.8-22.2 17.5-38.8 15.2-8.2-.6-8 9.5-1.6 13.5 8.8 5.4 26.1-3.6 39.5-14.7 5.6-3 6.6 2 3.8 7.8a57.4 57.4 0 01-23.3 19.2 29.1 29.1 0 01-19.5.7c-6.2-2.2-7 4.2-3.6 10 2 3.5 10.6 4.7 19.7 1.4 9.2-3.2 19-10.8 25.7-19.8 6-5.1 5.2 1.8 2.5 6.7-13.5 21.3-25.9 29.2-42.1 27.9-7.3-1.2-8.9 4.4-4.3 9.6 8 6.7 18.2 6.4 27-.2a751 751 0 0030.8-32.6c5.5-4.4 7.3 0 5.7 9-1.5 5.1-5.2 10.5-15.3 14.5-7 4-1.8 9.4 3.4 9.5 2.9 0 8.7-3.3 13-8.3 5.9-6.5 6.2-11 9.5-21.1 3-5 8.4-2.7 8.4 2.5-2.6 10.2-4.8 12-10 16.2-5.1 4.7 3.4 6.3 6.3 4.4 8.3-5.6 11.3-12.8 14.1-19.4 2-4.8 7.8-2.5 5.1 5.3-6.4 18.5-17 25.8-35.5 29.6-1.9.3-3 1.4-2.4 3.6l7.5 7.5c-11.5 3.3-20.8 5.2-32.2 8.5L142 300.6c-1.5-3.4-2.2-8.7-10.4-5-5.7-2.6-8.2-1.6-11.4 1 4.5.1 6.5 1.3 8.3 3.4 2.3 6 7.6 6.6 13 5 3.5 2.9 5.4 5.2 9 8.2l-17.8-.6c-6.3-6.7-11.3-6.3-15.8-1-3.5.5-5 .5-7.3 4.7 3.7-1.5 6-2 7.7-.3 6.6 3.9 11 3 14.3 0l18.7 1.1c-2.3 2-5.6 3.1-8 5.2-9.7-2.8-14.7 1-16.4 8.8a18.2 18.2 0 00-1.4 10c1-3.2 2.5-5.9 5.3-7.6 8.6 2.2 11.8-1.3 12.3-6.5 4.2-3.4 10.5-4.1 14.6-7.6 4.9 1.6 7.2 2.6 12.1 4.1 1.7 5.3 5.7 7.4 12 6 7.7.3 6.3 3.4 7 5.9 2-3.6 2-7-2.8-10.3-1.7-4.6-5.5-6.7-10.4-4-4.7-1.3-5.9-3.2-10.5-4.6 11.7-3.7 20-4.5 31.8-8.3 3 2.8 5.2 4.8 8.2 7.2 1.6 1 3 1.2 4 0 7.3-10.6 10.6-20 17.4-27 2.6-2.9 6-6.8 9.6-7.8 1.8-.4 4-.2 5.5 1.4 1.4 1.6 2.6 4.4 2 8.7-.6 6.2-2 8.2-3.8 11.8-1.7 3.7-3.9 6-6 8.8-4.4 5.7-10.1 9-13.5 11.2-6.8 4.4-9.7 2.5-15 2.2-6.7.8-8.5 4.1-3 8.7a21 21 0 0013.7 2.3c3.3-.6 7-4.8 9.8-7 3-3.6 8.1.6 4.7 4.7-6.3 7.5-12.6 12.4-20.3 12.3-8.2 1-6.7 5.7-1.3 7.9 9.8 4 18.6-3.5 23-8.5 3.5-3.7 6-3.9 5.3 2-3.4 10.5-8.1 14.6-15.7 15.1-6.2-.5-6.3 4.2-1.7 7.5 10.3 7 17.7-5 21.2-12.4 2.5-6.6 6.3-3.5 6.7 2 0 7.3-3.2 13.2-12 20.7 6.7 10.7 14.5 21.7 21.3 32.5l20.5-228.2-20.5-36c-2.1-2-9.3-10.5-11.2-11.7-.7-.7-1.1-1.2-.1-1.6 1-.4 3.2-.8 4.8-1-4.4-4.4-8-5.8-16.3-8.2 2-.8 4-.3 9.9-.6a32.3 32.3 0 00-14.4-11c4.5-3 5.3-3.3 9.8-7-7.7-.6-14.3-2-20.8-4a41 41 0 00-12.8-3.7zm.7 9c4 0 6.6 1.4 6.6 3 0 1.7-2.5 3.1-6.6 3.1-4 0-6.6-1.5-6.6-3.2 0-1.7 2.6-3 6.6-3z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/am.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/am.svg
new file mode 100644
index 0000000..1198be0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/am.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-am" viewBox="0 0 512 512">
+  <path fill="red" d="M0 0h512v170.7H0z"/>
+  <path fill="#00f" d="M0 170.7h512v170.6H0z"/>
+  <path fill="orange" d="M0 341.3h512V512H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ao.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ao.svg
new file mode 100644
index 0000000..a5a25bf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ao.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ao" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="red" d="M0 0h512v259.8H0z"/>
+    <path d="M0 252.2h512V512H0z"/>
+  </g>
+  <path fill="#ffec00" fill-rule="evenodd" d="M228.7 148.2c165.2 43.3 59 255.6-71.3 167.2l-8.8 13.6c76.7 54.6 152.6 10.6 174-46.4 22.2-58.8-7.6-141.5-92.6-150l-1.3 15.6z"/>
+  <path fill="#ffec00" fill-rule="evenodd" d="M170 330.8l21.7 10.1-10.2 21.8-21.7-10.2zm149-99.5h24v24h-24zm-11.7-38.9l22.3-8.6 8.7 22.3-22.3 8.7zm-26-29.1l17.1-16.9 16.9 17-17 16.9zm-26.2-39.8l22.4 8.4-8.5 22.4-22.4-8.4zM316 270l22.3 8.9-9 22.2-22.2-8.9zm-69.9 70l22-9.3 9.5 22-22 9.4zm-39.5 2.8h24v24h-24zm41.3-116l-20.3-15-20.3 14.6 8-23-20.3-15h24.5l8.5-22.6 7.8 22.7 24.7-.3-19.6 15.3 7 23.4z"/>
+  <path fill="#fe0" fill-rule="evenodd" d="M336 346.4c-1.2.4-6.2 12.4-9.7 18.2l3.7 1c13.6 4.8 20.4 9.2 26.2 17.5a7.9 7.9 0 0010.2.7s2.8-1 6.4-5c3-4.5 2.2-8-1.4-11.1-11-8-22.9-14-35.4-21.3z"/>
+  <path fill-rule="evenodd" d="M365.3 372.8a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.6 0zm-21.4-13.6a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.7 0zm10.9 7a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.7 0z"/>
+  <path fill="#fe0" fill-rule="evenodd" d="M324.5 363.7c-42.6-24.3-87.3-50.5-130-74.8-18.7-11.7-19.6-33.4-7-49.9 1.2-2.3 2.8-1.8 3.4-.5 1.5 8 6 16.3 11.4 21.5A5288 5288 0 01334 345.6c-3.4 5.8-6 12.3-9.5 18z"/>
+  <path fill="#ffec00" fill-rule="evenodd" d="M297.2 305.5l17.8 16-16 17.8-17.8-16z"/>
+  <path fill="none" stroke="#000" stroke-width="3" d="M331.5 348.8l-125-75.5m109.6 58.1L274 304.1m18.2 42.7L249.3 322"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/aq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/aq.svg
new file mode 100644
index 0000000..80e682a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/aq.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-aq" viewBox="0 0 512 512">
+  <path fill="#072B5F" d="M0 0h512v512H0z"/>
+  <path fill="#FFF" d="M277.8 0c37.7 3.2 73 14.4 104.3 32l18.5-32h6.6L387 35c37 22 68.2 53 90.2 90l34.8-20v6.6L480 130c17.5 31 28.7 66 32 103.2V279a255.3 255.3 0 01-32 103l32 18.4v6.6l-34.8-20c-22 37-53.1 68-90.2 90l20.1 34.9h-6.6l-18.4-32c-31 17.5-66 28.7-103.2 32h-45.7A255.3 255.3 0 01130 480l-18.4 32H105l20-34.8c-37-22-68-53.1-90-90.2L0 407.2v-6.6L32 382A255.4 255.4 0 010 277.8v-43.5c3.2-37.7 14.4-73 32-104.3L0 111.5V105l35 20.2C57 88 88 56.9 125 34.9L105 0h6.5L130 32A255.4 255.4 0 01234.3 0h43.5zm-109 413l-35.9 62a250 250 0 00120.3 32.3v-71.7h-.1c-30.6-.5-59.3-8.6-84.4-22.6zm178.8 7.3l-6.5 3.9-7-2.1-12.3 2-1.1-.5a179 179 0 01-61.8 12v71.6h1.3a250 250 0 00119-32.1l-31.6-54.8zm89.2-56.6l-10.5.9 2.8 6.3-5.7 5.7-9.2 1.7-2.8 5 6.8 3.4-13 12 3.9 6.4-10.2-2.3-11.4 6.8-15.3 7.3-3.4 5.2-2.3-2 2.3-5-10.2 4-2.3-4-3.8 2.3 31.7 54.8a252.5 252.5 0 0088-88l-35.4-20.5zM102 348.3l-62.1 35.8a252.5 252.5 0 0088 88.1l35.9-62a180.5 180.5 0 01-61.8-61.9zm128 6.9l-1.7 2.9-8 .5h-2l-3.5 5.8-9.6-7-5.3 1.8.7 4.6-2.6-1.5-26.4 45.7a173 173 0 0081.6 21.9v-69.4l-.4-.1-22.7-5.2zm55.8 5.2l-4.2 1.9 2 5.5h-14.4l-10.3-4.5V430c19.1-.3 37.4-3.7 54.6-9.7l-3.4-2-13.6 3.5-12-7.7v3.1l-2.9-3.8 3.5-3.5-.6-10.3h4l2.3-6.7 2.9-1.3-2.3-3.4 3.4-1.2-.5-5.1-3.5-1.6 4.6-.5-2.9-12.5-6.7-6.8zm-152-30.5L107 345.5c14.7 24.4 35.3 45 59.7 59.7l26.3-45.6-4.9-2.7-.5 4.6-12.5-5.7-.5.5-6.3 2.3-1.2-4.5-14.7-7.3-15.8-5.2-2.6-11.7zm326.5-71l1.1 3.6-1.7 8 3.4 4.6 9 1.8-9 12.4 1.8 2 2.2 2.6-4 6 3.9 2.4-20 16.4 4.7 11.5-1.2 6.7-6.8 2.2-1.8 5.8-7.6 3.4-2.1 6.1 42.9 24.8a250 250 0 0032.2-120.3h-47zM4.8 259v1.3a250 250 0 0032.2 119l62-35.8A180 180 0 0176.5 259H4.8zm77.4 0a173 173 0 0021.8 81.6l28.7-16.5-5.4-9.5 2.8-13.8-5.1-1.7-1.7-5.7 8.6-1H128l.4-8.6-12.4 3.9-.6-3.3-1.7 6.3-6.7 2.7-4.7-4.4-1.6-4.6-1.9-9 4-2.8 1.7 2 1.2-2.6-1.8-13H82.2zm44.3 41l-1.7 4-5.5 1 3.4-4.5 3.8-.4zm-27.9-90.7l-4 5.6-1.1-3.8-5.2 1.5-.7.4a174 174 0 00-5.4 40.3h20.9l-.3-1.7 4.6 1 2.5-21.3.6-.8 4.6-2.6-5.8.5-2-5.1 10-11.5-9.1-1.5-6.9 6.7-2.7-7.7zM475.1 133L428 160l11.2 28.2-6.3 5.8-.4 6.6-4.1 5 .7 2.5 4 2.7-2.3 1.9 5 5 7.8 1.3 2.4 3.2 2.1 4.6 5.8 2.3 6.8-4.6 4.6.6-5.7 8 5.7 14.7-6.4 5.4h48.2v-1.3a250 250 0 00-32.1-119zm-438 0A250 250 0 004.7 253.2h71.7v-.1c.3-18.4 3.4-36.2 8.8-52.9l-1.6.4-.4-5.7H87l1.8-4.7-5.2-9-3.2 1.1-2.3-3.8-1.2 3.4-3.4-2.5 3.4-2-5.1-2 1.1-2.7-4-2.2-1.1-9-4-1.4 2.4-1.5-4.5-11.4L37 133zm98 56.6l5 6 2.8-1.4-7.9-4.6zM93.2 195h.8l-.2-1.4-.6 1.4zm73.4-88a174.7 174.7 0 00-59.7 59.7l43.5 25.2 32-7.4 1.4-6.9 2.7 1.4-.6-2.3 2-1.2 7.8-2.8v-7.9l2.6-3-31.7-54.8zm-91 79.4l.1.2h-.2v-.2zm-5.6-7.6l6.3 3.8-.8 3.8-5.5-7.6zM128 40a252.5 252.5 0 00-88.1 88l22.5 13 1.5-10.2h3.4l-.5 4.2v.2l-.3.1.1.7-.3 2.2 6 8.5 22.6 13 .5-.7 1.5 1.9 5 2.9a180.5 180.5 0 0161.9-61.8l-35.9-62.1zM61.7 155.2v.7l-1.6 4.4-1.9-5.1h3.5zM384.2 39.9L349 100.6l2.5-.8.7 4.6 3.6 2.4 2.7-4.7h3.3l2 10.3 7.6 6.1 2.4-1.2 6.3-2.2 17.6 6 3.2-.9 1.4 6.1 4.6.8-1.2-3h3.8l1.2 6.2 4.6-5 10.9 6.8 2.8 12.4-4.6 1.3 1.1 9 46.6-26.9a252.5 252.5 0 00-88-88zm-324 110.3l1.7 4-3.4-2.3 1.7-1.7zm191.6-68h1a173 173 0 00-81.2 21.8l28.8 50 1.4-5.3-1.7-5.2 8-19v-12.3h3.8l4.8-6.9 5.7-1.7.6-6.3 7.6-9.6 3.7 2 15.8-5.8 1.7-1.7zM70.5 133.8v4.4h-.2v.4l-3.4-.4-.3-2.2.1-.8v-.2l3.8-1.1zm-1.3-10.5l-2.3 5.1-1-2.3v-.3l3.3-2.5zm250.6-29l7.5 6.4 8.1.6c-5-2.6-10.2-5-15.6-7zM256 4.8A250 250 0 00133 37l35.8 62a180 180 0 0184.5-22.5V4.8h2.8zm3 0v71.7c15.4.2 30.2 2.4 44.4 6.3l1.4-.8v1.2c13.6 3.8 26.5 9.2 38.6 15.9l35.8-62A250 250 0 00258.9 4.7zm25 79.6l12 2.8.3-.3c-4-1-8.1-1.8-12.3-2.5zm-23.8-2.2l16.6 4 2.4-2.5a175 175 0 00-19-1.5z"/>
+  <path fill="#072B5F" d="M257.6 73l1.7 9 1 .2H259v76.5a97 97 0 0143.4 11.6l38.2-66.3-5-2.7 2.1.2 6.3 1 5.2-1.9-.8 1.4 4 2.4v.5l3.5 2.1.1-.2 8 5.6.5 2.7 2.6.5-.5 4.6-.4.6h1l4.4-2.3a178.5 178.5 0 0138.6 45.3l15.5-9v.6l1.8 2.8.7 1.8-15 8.7c6.4 11.6 11.6 24 15.4 37l-1 1.2 1.7 1.2c4 14.4 6.2 29.5 6.4 45H459l-.4.5 1.7 5.3h-24.7v.1c-.5 30.6-8.6 59.3-22.6 84.4l19.2 11-.4 1.2-1.7 3.8 8 4.2-1.3.1-26.7-15.4a180.5 180.5 0 01-61.8 61.8l4.2 7.3-5 3-4.1-7.4c-7.3 4-14.9 7.6-22.7 10.6l-2.4-1.2-1.1-.4-2.1-1.3h-.2l2 1.1-2.2-.9-1.2-.7a173 173 0 0027-12.2l-38.2-66.2a97 97 0 01-43.4 11.6v10l-1.5-.8-4.2-2v-7.2a97 97 0 01-43.4-11.6L198 362.3l-5-2.7 11.9-20.6a98 98 0 01-31.8-31.8L134 330l-.3-1.3v-3l-1-1.6 37.7-21.7a97 97 0 01-11.6-43.4H104l-.8-5.7h55.6a97 97 0 0111.6-43.4L143 194.2l2.1-1.1 5.4-1.2 22.7 13a98 98 0 0131.8-31.7l-6.6-11.4 2.1-7.8 9.4 16.4a97 97 0 0143.4-11.6V82.2h-1.4l.2-.2 3.3-3.4L254 73h3.5zM339 307.2a98 98 0 01-31.8 31.8l38.3 66.2c24.4-14.7 45-35.3 59.7-59.7L339 307.2zm-80-40.5v81a91.2 91.2 0 0040.4-10.8l-40.5-70.2zm-5.8 0L212.7 337a91.2 91.2 0 0040.5 10.8v-81zm176.7-7.8h-76.5a97 97 0 01-11.6 43.4l66.2 38.2a173 173 0 0021.9-81.6zm-166 5l40.5 70.1a92.2 92.2 0 0029.6-29.6l-70.1-40.5zm-15.7 0l-70.1 40.5a92.2 92.2 0 0029.6 29.6l40.5-70.1zm18.5-5l70.2 40.5a91.2 91.2 0 0010.8-40.5h-81zm-21.4 0h-81a91.2 91.2 0 0011 40.5l70-40.5zm91.6-46.2l-70.2 40.5h81a91.2 91.2 0 00-10.8-40.5zm-161.7 0a91.2 91.2 0 00-10.8 40.5h81l-70.2-40.5zM408 171.6l-66.2 38.2a97 97 0 0111.6 43.4H430a173 173 0 00-21.9-81.6zm-200.3 6.5a92.2 92.2 0 00-29.6 29.6l70.1 40.5-40.5-70.1zm96.7 0l-40.5 70.1 70.1-40.5a92.2 92.2 0 00-29.6-29.6zm-51.2-13.7a91.2 91.2 0 00-40.5 10.8l40.5 70.1v-81zm5.7 0v81l40.5-70.2a91.2 91.2 0 00-40.5-10.8zM87.6 212.9l-2.5 1.3 2.6-10.3-2.3-1.2 1.4-2.8-1.5.3 1.8-5.3h6.1c-2.1 5.9-4 11.8-5.6 18zm257.9-106l-38.3 66.2A98 98 0 01339 205l66.2-38.3a174.7 174.7 0 00-59.7-59.7zM62.4 141l10 5.8 2.3 3.3 6.2 8 12.6 3.5v.4l1.4-2.2 2 1.2 5.2 6.1 3.4 3.8 1.7 2 19.1 9.1 3.5 1.7 1.1 1 4.1 4.9-31-17.9c-3.9 7-7.3 14.4-10.2 22l-.3-1.6H90l-1-1.8c2.9-7.4 6.2-14.6 10-21.5l-37.2-21.5-.2-.6.5-3.8.3-1.9zm242.4-57.7l.3 4 7 .7 5.7 4.4h-.6v.6h1.1l.6.6 1 .8a169 169 0 00-23.5-7.4l.3-.3 6.7-3.8 1.4.4zm-25 .1l1 .4 3.3.7-3.4-.5-1.2-.4.7.4-.9-.2.4-.4zm-26.5-1h-.1zm2.7-.1h-2.7 2.7zm61 339.5l.3.2 1.1.6-1.4-.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ar.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ar.svg
new file mode 100644
index 0000000..1730eca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ar.svg
@@ -0,0 +1,31 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ar" viewBox="0 0 512 512">
+  <path fill="#74acdf" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <g id="c" transform="translate(-153.6) scale(1.024)">
+    <path id="a" fill="#f6b40e" stroke="#85340a" stroke-width="1.1" d="M396.8 251.3l28.5 62s.5 1.2 1.3.9c.8-.4.3-1.5.3-1.5l-23.7-64m-.7 24.1c-.4 9.4 5.4 14.6 4.7 23-.8 8.5 3.8 13.2 5 16.5 1 3.3-1.3 5.2-.3 5.7s3-2.1 2.4-6.8c-.7-4.6-4.2-6-3.4-16.3.8-10.3-4.2-12.7-3-22"/>
+    <use width="100%" height="100%" transform="rotate(22.5 400 250)" xlink:href="#a"/>
+    <use width="100%" height="100%" transform="rotate(45 400 250)" xlink:href="#a"/>
+    <use width="100%" height="100%" transform="rotate(67.5 400 250)" xlink:href="#a"/>
+    <path id="b" fill="#85340a" d="M404.3 274.4c.5 9 5.6 13 4.6 21.3 2.2-6.5-3.1-11.6-2.8-21.2m-7.7-23.8l19.5 42.6-16.3-43.9"/>
+    <use width="100%" height="100%" transform="rotate(22.5 400 250)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(45 400 250)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(67.5 400 250)" xlink:href="#b"/>
+  </g>
+  <use width="100%" height="100%" transform="rotate(90 256 256)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="rotate(180 256 256)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="rotate(-90 256 256)" xlink:href="#c"/>
+  <circle cx="256" cy="256" r="28.4" fill="#f6b40e" stroke="#85340a" stroke-width="1.5"/>
+  <path id="h" fill="#843511" d="M265.7 250c-2 0-3.8.8-4.9 2.5 2.2 2 7 2.2 10.3-.2a7.5 7.5 0 00-5.4-2.4zm0 .4c1.9 0 3.6.8 3.9 1.7-2.2 2.4-5.7 2.2-7.9.4a4.6 4.6 0 014-2.1z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)" xlink:href="#d"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)" xlink:href="#e"/>
+  <use width="100%" height="100%" transform="translate(19.3)" xlink:href="#f"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)" xlink:href="#g"/>
+  <path fill="#85340a" d="M251.7 260a2 2 0 102 3c.7.6 1.7.6 2.3.6h.3a4.2 4.2 0 002.3-.6 2 2 0 102-3c.5.1.9.6.9 1.2a1.3 1.3 0 01-1.3 1.3 1.3 1.3 0 01-1.3-1.3 3.3 3.3 0 01-2.8 1.8 3.3 3.3 0 01-2.7-1.8 1.3 1.3 0 01-1.3 1.3 1.3 1.3 0 01-1.3-1.3c0-.6.3-1 .8-1.3zm2 5.8c-2.1 0-3 2-5 3.3 1.2-.5 2-1.3 3.6-2.2 1.5-.9 2.8.2 3.7.2.9 0 2.2-1.1 3.7-.2 1.5.9 2.4 1.7 3.5 2.2-2-1.4-2.8-3.3-5-3.3a6 6 0 00-2.2.6 5.8 5.8 0 00-2.2-.6z"/>
+  <path fill="#85340a" d="M253 268.4a15 15 0 00-3.6.7c4-1 4.8.4 6.6.4 1.8 0 2.6-1.3 6.6-.5-4.4-1.2-5.3-.4-6.6-.4-.9 0-1.5-.3-3-.3z"/>
+  <path fill="#85340a" d="M249.6 269h-.8c4.6.5 2.3 3.1 7.2 3.1 4.8 0 2.6-2.6 7.2-3-4.8-.5-3.3 2.4-7.2 2.4-3.7 0-2.6-2.5-6.4-2.5zm10.3 7.1a4 4 0 00-3.9-4 4 4 0 00-4 4 4 4 0 014-3 4 4 0 014 3z"/>
+  <path id="e" fill="#85340a" d="M238.3 249.9c5-4.4 11.4-5 14.9-1.8a8.6 8.6 0 011.6 3.7c.5 2.5-.3 5.2-2.3 8 .3 0 .7.1 1 .4 1.6-3.4 2.3-6.8 1.7-10a14.2 14.2 0 00-.7-2.5c-4.8-4-11.4-4.4-16.2 2.2z"/>
+  <path id="d" fill="#85340a" d="M246.2 248.6c2.8 0 3.5.6 4.8 1.7 1.3 1.1 2 .9 2.2 1.1.2.2 0 .9-.5.7-.4-.3-1.2-.7-2.6-1.8-1.3-1-2.6-1-4-1-3.8 0-6 3.2-6.5 3-.4-.2 2.2-3.7 6.6-3.7z"/>
+  <use width="100%" height="100%" transform="translate(-19.6)" xlink:href="#h"/>
+  <circle id="f" cx="246.3" cy="252.1" r="2" fill="#85340a"/>
+  <path id="g" fill="#85340a" d="M241 253.4c3.7 2.8 7.4 2.6 9.6 1.3 2.2-1.3 2.2-1.8 1.7-1.8-.4 0-.9.5-2.6 1.3-1.8 1-4.4 1-8.8-.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/as.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/as.svg
new file mode 100644
index 0000000..b8d8162
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/as.svg
@@ -0,0 +1,33 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-as" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill="gray" d="M496 16h496.1v496h-496z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-512 -16.4) scale(1.032)">
+    <path fill="#006" d="M0 16h992.1v496H0z"/>
+    <path fill="#bd1021" fill-rule="evenodd" d="M0 264l992.1 248V16L0 264z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M992.1 42.5v443L106.3 264 992.1 42.5z"/>
+    <g stroke="#000">
+      <path fill="#9c3900" fill-rule="evenodd" stroke-linejoin="round" stroke-width="1.7" d="M825.5 319.6s-6.2-5 1.1-13.2c-4-3.4-.3-9.9-.3-9.9s-6.7-2.5.3-13c-5-3.3-2.8-11-2.8-11s-16.6-6.1-.8-12c-13 5.6-25.1-7.6-25.1-7.6l-18.9.5c-3.2-15.6-28-2-9.5-47-4.8-.8-10.2-2.2-15.5 1.7s-20.6 12.4-29.6 4 6-20.6 6.2-20.9c.3-.3 20-10.4 22.8-17.2-.3-5-6.5-9-.8-20 6.4-10.4 46.1-20.2 64.2-23.6 8.7-4 12.6-11.5 12.6-11.5l2 7.3s40-11.9 42-17.5.8 5 .8 5c15.8-1.3 35.8-14.8 38.6-8.6 13.2-2.6 38.5-13.8 38.5-13.8s8.8-.3 2.6 9.3c4 6.1-1.2 11.5-1.4 11.5-.3 0 1.7 6.2-3.4 9.6 1.7 5.3-3.1 9.5-3.1 9.5s2.2 6.5-6.8 9.9c.9 5.6-5 6.7-5 6.7s.8 6-3.1 8.5c0 4.5-4.5 6.8-4.5 6.8s2.8 1.6-1.2 4.5a2029 2029 0 01-44.7 27.6c0-.3 29.8 5.3 31.8 6.4s24.5 16 24.5 16l-22.8 28.2s-25.4-2.8-26.5-1.4 5.4 2 6.8 4.2c1.4 2.3 3.6 7.6 8.1 7 4.5-.5-8.4 8.2-16.9 9 0 3.2 10.7 3.5 13.6 1 2.8-2.6-6.8 7.3-8 8.7s12.7-2 12.7-2-2.2 9.3-14.3 12.1c4.8 7.9 2.8 13 2.5 13s-7.9-8-15.2-6.5a35 35 0 009.6 15.7c1.7 1.2-13.2.9-15.2-3.3s-3.7 10.1 1.7 14.6c-6.2.3-11.6-3.4-11.6-3.4s-3.6 8.5-1.1 12.7c2.5 4.2-8.7-8.5-8.7-8.5l-21.4 9-4.8-8.1z"/>
+      <path fill="#ffc221" fill-rule="evenodd" stroke-width="1.8" d="M660.1 302.8c.5 0 31.1-.5 45.1-8.5a83.6 83.6 0 0016.6 18.6l4.5-16s11 .4 12 3c-1.5 3-2 7-2 7s7.5.4 8 1.4-2 9.6-2 9.6l32.1 7.5s2.5-12.6 5-11c2.5 1.5 13.6 17 29.1 18s16.6-13 16.6-13l3.5 2s6.5-14 7.5-14 2.5 2 11 2c2.5 3 3.5 10 3.5 10s-9.5 9.5-6.5 17 3.5 5.5 3.5 5.5l69.2 16.6s3.5 5.5-2.5 8.5c0 .5-69.7-16-69.7-16s-6.5 7.5-11.5 6-1.5 3-1.5 3l75.2 6s5.5 7 1.5 9c-5 .5-81.2-5-81.2-5s-4.5 9.5-9.6 1.5C814 377 810 370 810 370s-6.5 5-7.5-.5c-5.5 4-9-2.5-9-2.5l-32.1-2-2 3s5.5 1.5-3 5 51.1 2 52.6 2.5-4 5-4 5 30.6 2 36.1-4.5-2 8.5-2 8.5 24-1 24-2-.4 7.6-17 6.6c10 6.5 22.6 10.5 22.6 10.5s-12.5 3-27-.5c2.4 6.5 13.5 12.5 13.5 12.5s-8 7-26.1-10c5 9 1 12.5.5 11.5s-9-13.5-29-18c12.4 8 7 11.5 7 11.5s-6.6-11.5-17.1 0c-4-10.5-19.6-16.5-38.6-17.5-6-7-9.6-5-23.6-9-8-9-19.5-19.1-19.5-19.1s.5-13.6 14-12c1.5 4.5 1.5 3 1.5 3s15-5.6 19.6 2c6.5-11.6 15.5-1.8 17 2.3 4.3.6 26 1.2 26 1.2s-2.4-4.5-1-4 13.6-4.5 13.1-6c-.5-1.6-1-6.6 1-6 2 .4-17-2.6-27.6 5.4-3.5-3.5-1-13-1-13l-31-6.5-1.6 8s-9 1.5-8.5-.5l-2 7s-12-3-12-3.5l3.5-17.5c0 .5-10 1-24 11.5-4-12.5-35.7-29-35.7-29.6z"/>
+      <path fill="none" stroke-width="1.8" d="M736.3 307.4l-6.5 29m12.5-18l-2 9.5m34.1-2l-3 9m58.7 52.2c-.5 0-16 2-18 1.5s24.5 8 24.5 11.5m-34.6-9.5s-15.5-10-18-9 15.5-.6 17-2m-31-.6s-16.1.5-17.6-1 15.5 11 18.5 10m-32-16c-.6 0-11.1-4-15.6-5 4 4 7 9.5 17 11.5m2.5-13c-.5-1-20-7-20-10 4.5 1.5 11 3.5 17 2m106.8-15l-2 9"/>
+      <path fill="#ffc221" fill-rule="evenodd" stroke-width="1.8" d="M699.2 261.7s-21 18 0 28.6c1-7 2.5-8 2.5-8s17.6 6.5 28.1-9c-4.5-6.6-12.5-4-12.5-4s-16.6 0-18-7.6z"/>
+      <path fill="none" stroke-width="1.8" d="M716.8 269.7l-14.6 12.6m59.3 74.5s3.4 3.7.4 8.2m70.2-4.5l-5.5.5m-39.6-3.5l10 1.5m17-27.3s.2 10.1-8.2 9.9c-8.5-.3-5.7.2-5.7.2"/>
+      <path fill="none" stroke-width="1.8" d="M820.4 330s3.4 1.1 2.6 3.7c-.9 2.5.8 9.8-9 16.9-10.5 2.2-9.4-8.8-9.4-8.8"/>
+      <path fill="none" stroke-width="1.8" d="M824 333.1s6.3-3.7 7.1 2.3c.9 5.9-5 16.9-9.3 18.5-4.2 1.7-9-.2-8.4-3m18.3-15.3s5.6-4.5 7.3 1.4c1.7 6-4.5 19.2-7 19.5m7.6-19.5s2.8-1.4 4.8.3m-13.8 20c-1.2.3-6 .6-7.6-3m-17.8-6.8l-5.9.2m27.6 22l-.6-9.3-2.2-3-4 3.9s-.5 9.3-2.2 10.1M820 361l-3-6-4.8 6s-.6 8.4-2.3 9.3m2.3-9.6c0-.3-2-5.6-2-5.6s-5.6 3-6.2 5.3c-.6 2.3-.9 8.4-2.3 9m2.3-10.1s.6-5-1.1-5-9.3 7-9.6 13.1"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-linejoin="round" stroke-width="1.8" d="M700 261.9s2.7-2.8 3.6-6.2c.8-3.4-1.2-7 2.2-10.2 3.4-3 47.9-22 51.5-25.6a102 102 0 0011.3-13.2c.9-1.7 3.4 8.4-4.2 13 8.2-2.3 13.5-4.8 16.9-3.7-3.4 4.8-12.4 12.7-16.6 12.7 9.8-3.7 18.8-6.8 21.4-4.8 2.5 2-12.1 11.8-18 12.3 9.8-2.5 23-6.4 24.7-2.2-5.3 1.7-3.6 3-14.6 9.3-1.4 1.1-8.5 1.4-8.5 1.4 8.5-.8 20-4.2 21.2 2-6.8 2.5-9.3 5.9-15 7.3-5.6 1.4-18.6 4-26.4 7-8 3.1-19.5 12.1-19.5 12.1s-25 .9-25 .6-4.8-11.5-5-11.8z"/>
+      <path fill="none" stroke-width="1.8" d="M711.7 259.9s.3-5.6 2.9-7.6c2.5-2 15.2-6.8 18-11 2.8-4.2-4.2 7.3-3.1 10.4m-12.7-.3s6.2 2.3 4.8 7"/>
+      <path fill="none" stroke-width="1.6" d="M724.1 254.7a4.7 4.7 0 11-9.3 0 4.7 4.7 0 019.3 0z"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.8" d="M914.7 244.7l48.7 9.3s5.4-6.2 2.6-9.6c7.3-1.7 5.3-11.3 5.3-11.3s8.5-3.6 1.4-12c4.8-4.8-1-8.5-1-8.5s1.9-8.4-4.3-9.3c1.7-6.7-10.7-9-10.7-9s-25.6 7-43.7 7.6c6 6-2.2 9.6-2.2 9.6s4.8 3.4 3.4 6.2c-1.4 2.8.8 5.9-5.4 7.8 8.2 3.7-.8 10-.8 10s9 6.1 6.7 9.2z"/>
+      <path fill="none" stroke-width="1.8" d="M910 234.3s43 5 45 5 9.6 2.6 11 5.1m-53.8-12.7l60 1.4m-59.7-2.8s56.9-3.3 60.8-9.3m-59.1-3s57.1-6.3 57.7-5.4m-59.7-1.7s55.5-8.7 56-7.3M754 175.2s17.4 19.1 15.7 32"/>
+      <path fill="none" stroke-width="1.8" d="M768.6 197.1s5.6 8.2 7.9 9 22 2 23 10.4c1.2 5.4-4.1 3.7-3.3 7.6 1.4 5.1 14.6 11.6 29 4m-13.2 4s11.8 17.4 29.3-1.5m-9 7.6s14.3 7.6 26.1-12m-15.2 13.7s7 6 21.7-2m20.3-7.9s21.6 4.5 23 6m-14.9-10.7l15.2.5m-24.5-9s26-1.7 29.3 3.7m-40.5-11.8s36.3 1.4 38 3.3m-29.9 33.8s6.2-1.7 7-.8m-21 16s8.1 7 18.5 4m-14 7.9s9.3 4.2 20.2 1.6m-17.1 5.4s9.3 6.2 15.5 5m-19.7-1.4s6.4 4.8 6.7 7.4m-15.8-1.7s2 10.1 9 13.8m-13.8-9.3s-3 13.2 4.8 21.4m-12.9-11c0 .3-.6 6.2-.3 6.8m-50.4-58l15.2-.9s5.7-2.2 1.7-5.9m2 3.4c.3 0 14.3 1.1 18 5.3 3.7 4.3 8.2 12.7 10.7 14.1 2.5 1.4 3.1-.5 3.1-.5m-6.2-2.3s-7.6 13-1.7 16.9m-2.5-2.5s-6.8 9-1.4 13.5m-1.4-1.2s-5.4 8.8 1 14.7m-3.4-37.8c-.4.3-6.5 4.7-8.7 3.6m2.2 10.2s2.5 2.5 4.7 2.2m-4.4 11l4 2.8m-3.5 7.3l3.5 2.1m-67-140.2s7.3 3.9 13.2 0 34.4-18.3 41.8-20.7c7.4-2.4 11.5-16 13-21.9m-5.6 16l41.4-12.2s6.8-5.6 7.1-16m-3 11.3s41.5-4.1 41.5-19.5m-6.5 10.6s43.5-11.8 47.7-16.3"/>
+      <path fill="none" stroke-width="1.8" d="M785 178.2s26.4-13.6 30.5-15.1c4.2-1.5 13.6-13.3-.6-13.3"/>
+      <path fill="none" stroke-width="1.8" d="M797.8 183.5c.3 0 21.6-13.9 28.7-15.7 3.8-5.3 1.8-11-4.8-9.7"/>
+      <path fill="none" stroke-width="1.8" d="M828.3 164.3c.5-.3 11.5-.6 7.7 8-5.7 4.1-30 16.3-30 16.3m16.6-33.5l46.2-15.4s3.9-8-1.8-9.2m38.5-13.9c0 .3 6 3.6 2.4 9-6.5 3.8-37.3 11.2-37.3 11.2m81.7-25L908.8 124m40.2-2.3l-37.9 11.5m34.7-2l-33.5 10m27.3-.6c-1 0-24.9 7.4-24.9 7.4m19.5 0l-15.4 6.2m11.6 2.1c-.6 0-13.3 5.6-13.3 5.6m9.5 1.2l-11.9 5.6m-8.6 7.1s1.5.6 1.2 2.4m-31.1 14s5 1.7.3 6.4c-2.4 3.3-9.2 2.4-13.3 8.3m45.3-81.1s6.2 1.5 1.5 9.5c-12.5 4.7-37.6 12.4-37.6 12.4s-1.2 2-4.5 3.9c-3.2 1.7-39 11.8-39 11.8m81.7-28.4s6.8 3 0 8c-7.7 4.4-34.7 12.7-34.7 12.7s-.3 2.4-1.5 3.3c-1.1.8-36.7 12.7-36.7 12.7"/>
+      <path fill="none" stroke-width="1.8" d="M912.3 143s7.1 2 1 8c-7.5 4.4-31.2 12.4-31.2 12.4s-2.3 3-6.2 4.2c-3.8 1.1-28.4 11.2-28.4 11.2m66.6-27.8c2 .9 7.7 1.7.9 7-8 3.6-27.5 11.3-27.5 11.3l-1.8 3.3-31.1 13.3m61.3-27s3 3.6-3.6 7.8c-7 3.8-22.5 9.7-22.5 9.7m22.5-9.1s3.3 2-.8 5c-4.8 2.3-23.4 12.1-23.4 12.1l-12.2 8"/>
+      <path fill="none" stroke-width="1.8" d="M869.7 140c0 .3 5 4.4 3.3 9.2 4.4 3.3 3.5 6.8 3.5 6.8s6.2 3.5 5.3 8.6c6.3 1.5 6 5 6 5l-2.1 3.3s6.2-.3.9 7.7c3.2 1.7 1.7 3.8 1.7 3.8m-1.7-3.5c-1 0-21.7 7.7-27 12.4"/>
+      <path fill="none" stroke-width="1.8" d="M836.5 171.7s6.3-.3 5.4 6.5c7-2.4 5.6 4.5 5.6 4.5s8.3-3.3 6.8 7c5.3-1.1 4.5 4.2 4.5 4.2s4.7-.3 4.7 2.4c3.2-3 6.8-1.5 6.8-1.5s2.4-3.3 5.6-2.4M842.2 178c0 .6-27.9 16-27.9 16m33.2-11l-21 13m28.1-6.5c0 .3-18.4 11-18.4 11m22.5-6.8s-13 10.7-16 10m20.5-6.7s-7.4 5.6-13.6 8.2m21.3-10.6s2.3 3-12.5 10.6"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/at.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/at.svg
new file mode 100644
index 0000000..649d6ef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/at.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-at" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M512 512H0V0h512z"/>
+    <path fill="#ed2939" d="M512 512H0V341.3h512zm0-341.2H0V.1h512z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/au.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/au.svg
new file mode 100644
index 0000000..ca5d607
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/au.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-au" viewBox="0 0 512 512">
+  <path id="path598" fill="#006" stroke-width="1.3" d="M0 0h512v512H0z"/>
+  <path id="path606" fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M54.9 368.6L95.5 384l13.4-41.4 13.3 41.4 40.7-15.4-24.1 36.3 37.4 22.2-43.3 3.7 6 43.1-30-31.5-30 31.5 6-43-43.4-3.8L79 404.9m325 71.5l-19 1.6 2.7 18.8-13-13.7-13 13.7L364 478l-18.8-1.6 16.3-9.6L351 451l17.7 6.7 5.8-18 5.7 18L398 451l-10.4 15.8m16.2-270.4L385 198l2.6 18.8-13-13.7-13 13.7L364 198l-18.8-1.6 16.3-9.6L351 171l17.7 6.7 5.8-18 5.7 18L398 171l-10.4 15.8m-88.8 123.4l-18.8 1.6 2.6 18.7-13-13.7-13 13.7 2.5-18.7-18.8-1.6 16.3-9.7-10.5-15.7 17.7 6.7 5.8-18 5.7 18 17.7-6.7-10.4 15.7M497 282.2l-18.8 1.6 2.6 18.7-13-13.7-13 13.7 2.5-18.7-18.8-1.6 16.3-9.7-10.5-15.7 17.7 6.7 5.8-18 5.8 18 17.6-6.7-10.4 15.7M416.6 355l-10.3 6.4 2.9-11.8-9.3-7.8 12-.9 4.7-11.2L421 341l12.1 1-9.2 7.7 2.9 11.8"/>
+  <g id="g1582" transform="scale(.5)">
+    <path id="path1560" fill="#006" d="M0 0h512v512H0z"/>
+    <path id="path1562" fill="#fff" d="M512 0v64L322 256l190 187v69h-67L254 324 68 512H0v-68l186-187L0 74V0h62l192 188L440 0z"/>
+    <path id="path1564" fill="#c8102e" d="M184 324l11 34L42 512H0v-3zm124-12l54 8 150 147v45zM512 0L320 196l-4-44L466 0zM0 1l193 189-59-8L0 49z"/>
+    <path id="path1566" fill="#fff" d="M176 0v512h160V0zM0 176v160h512V176z"/>
+    <path id="path1568" fill="#c8102e" d="M0 208v96h512v-96zM208 0v512h96V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/aw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/aw.svg
new file mode 100644
index 0000000..248a08d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/aw.svg
@@ -0,0 +1,186 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-aw" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill="gray" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <path fill="#39c" d="M0 0v512h768V0H0z"/>
+    <path fill="#ff0" d="M0 341.3v28.5h768v-28.5H0zm0 57v28.4h768v-28.5H0z"/>
+    <path fill="#9cc" d="M122 28l2.4 2.5-2.3-2.4zm-2.3 4.8l2.4 2.4-2.4-2.4m4.7 0l2.4 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M119.7 35.2l2.4 2.4-2.4-2.4m4.7 0l2.4 2.4-2.3-2.4z"/>
+    <path fill="#6cc" d="M117.3 40l2.4 2.3-2.4-2.3z"/>
+    <path fill="#c66" d="M122 40l2.4 2.3-2.3-2.3z"/>
+    <path fill="#6cc" d="M126.8 40l2.4 2.3-2.4-2.3z"/>
+    <path fill="#ccf" d="M117.3 42.4l2.4 2.3-2.4-2.3zm9.5 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#fcc" d="M119.7 44.7l2.4 2.4-2.4-2.4m4.7 0l2.4 2.4-2.3-2.4z"/>
+    <path fill="#6cc" d="M115 47.1l2.3 2.4-2.4-2.4z"/>
+    <path fill="#c00" stroke="#fff" stroke-width="3" d="M121.7 32.9L105 96.2l-63.5 17.2 63.3 16.5 16.9 63.3 16.9-63.3 63.2-16.9-63.3-16.8-16.8-63.3z"/>
+    <path fill="#6cc" d="M129.2 47.1l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M115 49.5l2.3 2.4-2.4-2.4m14.3 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M117.3 51.9l2.4 2.3-2.4-2.3m9.5 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#69c" d="M112.5 54.3l2.4 2.3-2.4-2.3z"/>
+    <path fill="#c33" d="M118.1 55.8l.8 1.6-.8-1.6m9.5 0l.8 1.6-.8-1.6z"/>
+    <path fill="#69c" d="M131.6 54.3l2.4 2.3-2.4-2.3z"/>
+    <path fill="#9cf" d="M112.5 56.6L115 59l-2.4-2.4m19 0L134 59l-2.4-2.4z"/>
+    <path fill="#fcc" d="M115 59l2.3 2.4-2.4-2.4m14.3 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M110.2 61.4l2.3 2.4-2.3-2.4zm23.8 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M110.2 63.8l2.3 2.4-2.3-2.4m23.8 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#cff" d="M110.2 66.2l2.3 2.3-2.3-2.3m23.8 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#69c" d="M107.8 68.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M112.5 68.5L115 71l-2.4-2.4m19 0L134 71l-2.4-2.4z"/>
+    <path fill="#69c" d="M136.3 68.5l2.4 2.4-2.3-2.4z"/>
+    <path fill="#9cc" d="M107.8 71l2.4 2.3-2.4-2.4z"/>
+    <path fill="#c33" d="M113.3 72.5l.8 1.6-.8-1.6m19 0l.9 1.6-.8-1.6z"/>
+    <path fill="#9cc" d="M136.3 71l2.4 2.3-2.3-2.4z"/>
+    <path fill="#cff" d="M107.8 73.3l2.4 2.4-2.4-2.4m28.6 0l2.3 2.4-2.3-2.4z"/>
+    <path fill="#fcc" d="M110.2 75.7l2.3 2.3-2.3-2.3m23.8 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#9cc" d="M105.4 78l2.4 2.4-2.4-2.3z"/>
+    <path fill="#c33" d="M111 79.6l.7 1.6-.8-1.6m23.9 0l.8 1.6-.8-1.6z"/>
+    <path fill="#9cc" d="M138.7 78l2.4 2.4-2.4-2.3z"/>
+    <path fill="#ccf" d="M105.4 80.4l2.4 2.4-2.4-2.4m33.3 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M107.8 82.8l2.4 2.4-2.4-2.4m28.6 0l2.3 2.4-2.3-2.4z"/>
+    <path fill="#9cc" d="M103 85.2l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M108.6 86.8l.8 1.6-.8-1.6m28.5 0l.8 1.6-.8-1.6z"/>
+    <path fill="#9cc" d="M141.1 85.2l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M103 87.6l2.4 2.4-2.4-2.4m38.1 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M105.4 90l2.4 2.3-2.4-2.3m33.3 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#9cc" d="M100.6 92.3l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M105.4 92.3l2.4 2.4-2.4-2.4m33.3 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M143.5 92.3l2.4 2.4-2.4-2.4m-50 2.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M95.9 94.7l2.4 2.4-2.4-2.4m52.3 0l2.4 2.4-2.3-2.4z"/>
+    <path fill="#9cc" d="M150.6 94.7l2.4 2.4-2.4-2.4m-64.2 2.4l2.3 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M88.7 97.1l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M98.3 97.1l2.3 2.4-2.3-2.4z"/>
+    <path fill="#c33" d="M100.6 97.1l2.4 2.4-2.4-2.4m42.9 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M145.9 97.1l2.3 2.4L146 97z"/>
+    <path fill="#ccf" d="M155.4 97.1l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M157.8 97.1l2.3 2.4-2.3-2.4z"/>
+    <path fill="#69c" d="M76.8 99.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M79.2 99.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#cff" d="M81.6 99.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M91.1 99.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M95 100.3l1.7.8-1.6-.8m54.7 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M153 99.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#cff" d="M162.5 99.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M165 99.5l2.3 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M167.3 99.5l2.4 2.4-2.4-2.4m-97.6 2.4l2.4 2.3-2.4-2.3z"/>
+    <path fill="#9cc" d="M72 101.9l2.5 2.3L72 102z"/>
+    <path fill="#cff" d="M74.5 101.9l2.3 2.3-2.3-2.3z"/>
+    <path fill="#fcc" d="M84 101.9l2.4 2.3L84 102z"/>
+    <path fill="#c33" d="M88 102.7l1.5.8-1.5-.8m69 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M160.2 101.9l2.3 2.3-2.3-2.3z"/>
+    <path fill="#cff" d="M169.7 101.9l2.3 2.3-2.3-2.3z"/>
+    <path fill="#9cc" d="M172 101.9l2.4 2.3-2.3-2.3z"/>
+    <path fill="#69c" d="M174.4 101.9l2.4 2.3-2.4-2.3m-111.8 2.3l2.3 2.4-2.3-2.4z"/>
+    <path fill="#9cf" d="M65 104.2l2.3 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M76.8 104.2l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M80.8 105l1.6.8-1.6-.8m83.3 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M167.3 104.2l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M179.2 104.2l2.4 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M181.6 104.2l2.3 2.4-2.3-2.4z"/>
+    <path fill="#6cc" d="M55.4 106.6l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M57.8 106.6l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M67.3 106.6l2.4 2.4-2.4-2.4zm109.5 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M186.3 106.6l2.4 2.4-2.4-2.4z"/>
+    <path fill="#6cc" d="M188.7 106.6l2.4 2.4-2.4-2.4M48.3 109l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M50.6 109l2.4 2.4-2.3-2.4z"/>
+    <path fill="#fcc" d="M60.2 109l2.3 2.4-2.3-2.4z"/>
+    <path fill="#c33" d="M64.1 109.8l1.6.8-1.6-.8m116.7 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M184 109l2.3 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M193.5 109l2.4 2.4-2.4-2.4z"/>
+    <path fill="#6cc" d="M195.9 109l2.3 2.4-2.3-2.4z"/>
+    <path fill="#9cc" d="M41.1 111.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M43.5 111.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M53 111.4l2.4 2.4-2.4-2.4zm138.1 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M200.6 111.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M203 111.4l2.4 2.4-2.4-2.4m-166.6 2.4l2.4 2.3-2.4-2.3z"/>
+    <path fill="#c66" d="M48.3 113.8l2.4 2.3-2.4-2.3zm147.6 0l2.3 2.3-2.3-2.3z"/>
+    <path fill="#9cc" d="M207.8 113.8l2.3 2.3-2.3-2.3M41 116l2.4 2.4L41 116z"/>
+    <path fill="#ccf" d="M43.5 116.1l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M53 116.1l2.4 2.4-2.4-2.4m138.1 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M200.6 116.1l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M203 116.1l2.4 2.4-2.4-2.4z"/>
+    <path fill="#6cc" d="M48.3 118.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M50.6 118.5L53 121l-2.3-2.4z"/>
+    <path fill="#fcc" d="M60.2 118.5l2.3 2.4-2.3-2.4z"/>
+    <path fill="#c33" d="M64.1 119.3l1.6.8-1.6-.8m116.7 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M184 118.5l2.3 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M193.5 118.5l2.4 2.4-2.4-2.4z"/>
+    <path fill="#6cc" d="M195.9 118.5l2.3 2.4-2.3-2.4M55.4 121l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M57.8 120.9l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M67.3 120.9l2.4 2.4-2.4-2.4zm109.5 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M186.3 120.9l2.4 2.4-2.4-2.4z"/>
+    <path fill="#6cc" d="M188.7 120.9l2.4 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M62.5 123.3l2.4 2.4-2.3-2.4z"/>
+    <path fill="#9cf" d="M65 123.3l2.3 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M76.8 123.3l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M80.8 124l1.6.9-1.6-.8m83.3 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M167.3 123.3l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M179.2 123.3l2.4 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M181.6 123.3l2.3 2.4-2.3-2.4m-111.9 2.4l2.4 2.3-2.4-2.3z"/>
+    <path fill="#9cc" d="M72 125.7l2.5 2.3-2.4-2.3z"/>
+    <path fill="#cff" d="M74.5 125.7l2.3 2.3-2.3-2.3z"/>
+    <path fill="#fcc" d="M84 125.7l2.4 2.3-2.4-2.3z"/>
+    <path fill="#c33" d="M88 126.5l1.5.7-1.5-.8m69 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M160.2 125.7l2.3 2.3-2.3-2.3z"/>
+    <path fill="#cff" d="M169.7 125.7l2.3 2.3-2.3-2.3z"/>
+    <path fill="#9cc" d="M172 125.7l2.4 2.3-2.3-2.3z"/>
+    <path fill="#69c" d="M174.4 125.7l2.4 2.3-2.4-2.3M76.8 128l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M79.2 128l2.4 2.4-2.4-2.4z"/>
+    <path fill="#cff" d="M81.6 128l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M91.1 128l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M95 128.8l1.7.8-1.6-.8m54.7 0l1.6.8-1.6-.8z"/>
+    <path fill="#fcc" d="M153 128l2.4 2.4-2.4-2.4z"/>
+    <path fill="#cff" d="M162.5 128l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M165 128l2.3 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M167.3 128l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M86.4 130.4l2.3 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M88.7 130.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M98.3 130.4l2.3 2.4-2.3-2.4z"/>
+    <path fill="#c33" d="M100.6 130.4l2.4 2.4-2.4-2.4m42.9 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M145.9 130.4l2.3 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M155.4 130.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M157.8 130.4l2.3 2.4-2.3-2.4m-64.3 2.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#ccf" d="M95.9 132.8l2.4 2.4-2.4-2.4m52.3 0l2.4 2.4-2.3-2.4z"/>
+    <path fill="#9cc" d="M150.6 132.8l2.4 2.4-2.4-2.4m-50 2.4l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M105.4 135.2l2.4 2.4-2.4-2.4m33.3 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cc" d="M143.5 135.2l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M105.4 137.6l2.4 2.3-2.4-2.3m33.3 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#ccf" d="M103 140l2.4 2.3-2.4-2.4z"/>
+    <path fill="#c33" d="M108.6 141.5l.8 1.6-.8-1.6m28.5 0l.8 1.6-.8-1.6z"/>
+    <path fill="#ccf" d="M141.1 140l2.4 2.3-2.4-2.4z"/>
+    <path fill="#9cc" d="M103 142.3l2.4 2.4-2.4-2.4m38.1 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M107.8 144.7l2.4 2.4-2.4-2.4m28.6 0l2.3 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M105.4 147l2.4 2.5-2.4-2.4z"/>
+    <path fill="#c33" d="M111 148.7l.7 1.6-.8-1.6m23.9 0l.8 1.6-.8-1.6z"/>
+    <path fill="#ccf" d="M138.7 147l2.4 2.5-2.4-2.4z"/>
+    <path fill="#9cc" d="M105.4 149.5l2.4 2.3-2.4-2.3m33.3 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#fcc" d="M110.2 151.8l2.3 2.4-2.3-2.3m23.8 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#cff" d="M107.8 154.2l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M113.3 155.8l.8 1.6-.8-1.6m19 0l.9 1.6-.8-1.6z"/>
+    <path fill="#cff" d="M136.3 154.2l2.4 2.4-2.3-2.4z"/>
+    <path fill="#9cc" d="M107.8 156.6l2.4 2.4-2.4-2.4m28.6 0l2.3 2.4-2.3-2.4z"/>
+    <path fill="#69c" d="M107.8 159l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M112.5 159l2.4 2.4-2.4-2.4m19 0l2.5 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M136.3 159l2.4 2.4-2.3-2.4z"/>
+    <path fill="#cff" d="M110.2 161.4l2.3 2.3-2.3-2.3zm23.8 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#9cc" d="M110.2 163.8l2.3 2.3-2.3-2.3m23.8 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#69c" d="M110.2 166.1l2.3 2.4-2.3-2.4m23.8 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M115 168.5l2.3 2.4-2.4-2.4m14.3 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#9cf" d="M112.5 170.9l2.4 2.4-2.4-2.4z"/>
+    <path fill="#c33" d="M118.1 172.5l.8 1.6-.8-1.6m9.5 0l.8 1.6-.8-1.6z"/>
+    <path fill="#9cf" d="M131.6 170.9l2.4 2.4-2.4-2.4z"/>
+    <path fill="#69c" d="M112.5 173.3l2.4 2.3-2.4-2.3m19 0l2.5 2.3-2.4-2.3z"/>
+    <path fill="#fcc" d="M117.3 175.7l2.4 2.3-2.4-2.3m9.5 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#9cf" d="M115 178l2.3 2.4-2.4-2.4zm14.2 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#6cc" d="M115 180.4l2.3 2.4-2.4-2.4m14.3 0l2.4 2.4-2.4-2.4z"/>
+    <path fill="#fcc" d="M119.7 182.8l2.4 2.4-2.4-2.4m4.7 0l2.4 2.4-2.3-2.4z"/>
+    <path fill="#ccf" d="M117.3 185.2l2.4 2.3-2.4-2.3m9.5 0l2.4 2.3-2.4-2.3z"/>
+    <path fill="#6cc" d="M117.3 187.6l2.4 2.3-2.4-2.3z"/>
+    <path fill="#c66" d="M122 187.6l2.4 2.3-2.3-2.3z"/>
+    <path fill="#6cc" d="M126.8 187.6l2.4 2.3-2.4-2.3z"/>
+    <path fill="#ccf" d="M119.7 192.3l2.4 2.4-2.4-2.4m4.7 0l2.4 2.4-2.3-2.4z"/>
+    <path fill="#9cc" d="M119.7 194.7l2.4 2.4-2.4-2.4m4.7 0l2.4 2.4-2.3-2.4m-2.4 4.8l2.4 2.3-2.4-2.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ax.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ax.svg
new file mode 100644
index 0000000..cdeb07e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ax.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ax" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M166 0h850v850H166z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-100) scale(.6024)">
+    <path fill="#0053a5" d="M0 0h1300v850H0z"/>
+    <g fill="#ffce00">
+      <path d="M400 0h250v850H400z"/>
+      <path d="M0 300h1300v250H0z"/>
+    </g>
+    <g fill="#d21034">
+      <path d="M475 0h100v850H475z"/>
+      <path d="M0 375h1300v100H0z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/az.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/az.svg
new file mode 100644
index 0000000..0119e1a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/az.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-az" viewBox="0 0 512 512">
+  <path fill="#3f9c35" d="M0 0h512v512H0z"/>
+  <path fill="#ed2939" d="M0 0h512v341.3H0z"/>
+  <path fill="#00b9e4" d="M0 0h512v170.7H0z"/>
+  <circle cx="238.8" cy="256" r="76.8" fill="#fff"/>
+  <circle cx="255.9" cy="256" r="64" fill="#ed2939"/>
+  <path fill="#fff" d="M324.2 213.3l8.1 23 22-10.5-10.4 22 23 8.2-23 8.2 10.4 22-22-10.5-8.1 23-8.2-23-22 10.5 10.5-22-23-8.2 23-8.2-10.5-22 22 10.5 8.2-23z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ba.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ba.svg
new file mode 100644
index 0000000..5b92b0a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ba.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ba" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#009" d="M0 0h512v512H0z"/>
+    <path fill="#fc0" d="M77 0l437 437V0H77z"/>
+    <path fill="#FFF" d="M461.4 470.4l-26.1-19.1-26.9 19 10.2-31.2-26.4-19.2h32.7l10.2-31 10 31.1 32.8.1-26.2 19.4 9.7 30.9zm76.7 10.4h-32.7l-10-31.2-10.2 31.1h-32.8l26.4 19.2-10.1 31.2 26.8-19 26.2 19-9.8-30.9 26.2-19.4zM391.8 379.6l26.2-19.4h-32.7L375.2 329 365 360h-32.7l26.4 19.3-10.1 31.1 26.8-19 26.1 19.1-9.7-31zm-60.3-60.4l26.2-19.4-32.8-.1-10-31.2-10.2 31.2-32.7-.1 26.4 19.2-10.2 31.2 26.9-19 26.1 19.1-9.7-31zm-59.7-59.7l26.2-19.4h-32.7l-10.1-31.2L245 240h-32.7l26.4 19.2-10.1 31.2 26.8-19 26.1 19-9.7-30.9zm-60.4-60.3l26.2-19.3-32.8-.1-10-31.2-10.2 31.2-32.7-.1 26.4 19.2-10.2 31.2 26.9-19 26.1 19-9.7-30.8zm-59.7-59.9L178 120l-32.7-.1-10-31.2-10.3 31.1H92.2l26.4 19.2-10.1 31.2 26.8-19 26.1 19-9.7-30.9zm-60-60L118 60l-32.7-.1-10-31.2L65 59.8H32.2L58.6 79l-10.1 31.2 26.8-19 26.2 19-9.8-30.9zm-60-60L58 0 25.2-.1l-10-31.2L4.8-.2h-32.7L-1.4 19l-10.1 31.2 26.8-19 26.1 19-9.7-30.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bb.svg
new file mode 100644
index 0000000..9d62784
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bb.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-bb" viewBox="0 0 512 512">
+  <path fill="#00267f" d="M0-.2h512V512H0z"/>
+  <path fill="#ffc726" d="M170.7-.2h170.6V512H170.7z"/>
+  <path id="a" d="M256 173.3c-5.5 15.1-11.2 30.9-23.3 43a51.7 51.7 0 0114.6-2.3v63.6l-18 2.7c-.7 0-.9-1-.9-2.4a243.6 243.6 0 00-11.7-53.6c-.4-2.3-7.2-11.3-2-9.7.7 0 7.7 3 6.6 1.6a68 68 0 00-37.1-19.2c-1.2-.3-2 .3-.9 1.7 18 27.7 33.1 60.4 33 99.2 7 0 24-4.1 31-4.1v44.9h8.8l2-125.4z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bd.svg
new file mode 100644
index 0000000..4cb38cf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bd.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bd" viewBox="0 0 512 512">
+  <path fill="#006a4e" d="M0 0h512v512H0z"/>
+  <circle cx="230" cy="256" r="170.7" fill="#f42a41"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/be.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/be.svg
new file mode 100644
index 0000000..01496c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/be.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-be" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path d="M0 0h170.7v512H0z"/>
+    <path fill="#ffd90c" d="M170.7 0h170.6v512H170.7z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bf.svg
new file mode 100644
index 0000000..a3c7c44
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bf" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#de0000" d="M512 511.6H.5V0H512z"/>
+    <path fill="#35a100" d="M511.8 512H0V256.2h511.7z"/>
+  </g>
+  <path fill="#fff300" fill-rule="evenodd" d="M389 223.8l-82.9 56.5 31.7 91.6-82.7-56.7-82.8 56.7 31.7-91.6-82.8-56.6 102.3.2 31.6-91.7 31.5 91.6"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bg.svg
new file mode 100644
index 0000000..5abe67f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bg.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bg" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#d62612" d="M0 341.3h512V512H0z"/>
+    <path fill="#fff" d="M0 0h512v170.7H0z"/>
+    <path fill="#00966e" d="M0 170.7h512v170.6H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bh.svg
new file mode 100644
index 0000000..22fba62
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bh.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bh" viewBox="0 0 512 512">
+  <defs id="defs448">
+    <clipPath id="a">
+      <path id="path445" fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <path id="path1077" fill="#fff" stroke-width="4.4" d="M0 0h512v512H0" opacity="1" stop-opacity="1"/>
+  <path id="path1079" fill="#ce1126" stroke-width="4.5" d="M512 0H102.4l83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2H512" opacity="1" stop-opacity="1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bi.svg
new file mode 100644
index 0000000..cc11dcf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bi.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bi" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill="gray" d="M60.8 337h175v175h-175z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-178 -986) scale(2.9257)">
+    <path fill="#00cf00" d="M0 337l146.6 87.5L0 512zm293.1 0l-146.5 87.5L293 512z"/>
+    <path fill="red" d="M0 337l146.6 87.5L293 337zm0 175l146.6-87.5L293 512z"/>
+    <path fill="#fff" d="M293.1 337h-27.3L0 495.7V512h27.3l265.8-158.7z"/>
+    <path fill="#fff" d="M197.2 424.5a50.6 50.6 0 11-101.2 0 50.6 50.6 0 01101.2 0z"/>
+    <path fill="#fff" d="M0 337v16.3L265.8 512h27.3v-16.3L27.3 337z"/>
+    <path fill="red" stroke="#00de00" stroke-width="1pt" d="M156.5 405.4l-6.6.1-3.4 5.6-3.4-5.6-6.5-.1 3.2-5.8-3.2-5.7 6.6-.2 3.4-5.6 3.4 5.7h6.5l-3.1 5.8zm-22 38.2h-6.6l-3.4 5.7-3.4-5.6-6.6-.2 3.2-5.7-3.1-5.8 6.5-.1 3.4-5.6 3.4 5.6 6.6.2-3.2 5.7zm44.6 0h-6.6l-3.4 5.7-3.4-5.6-6.5-.2 3.1-5.7-3.1-5.8 6.6-.1 3.4-5.6 3.4 5.6 6.5.2-3.2 5.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bj.svg
new file mode 100644
index 0000000..07c4c11
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bj.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bj" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill="gray" d="M67.6-154h666v666h-666z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-52 118.4) scale(.7688)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="#319400" d="M0-154h333v666H0z"/>
+      <path fill="#ffd600" d="M333-154h666v333H333z"/>
+      <path fill="#de2110" d="M333 179h666v333H333z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bl.svg
new file mode 100644
index 0000000..0fa74e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bl.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bl" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bm.svg
new file mode 100644
index 0000000..a7057d2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bm.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bm" viewBox="0 0 512 512">
+  <path fill="#cf142b" d="M0 0h512v512H0z"/>
+  <path fill="#00247d" d="M0 0h256v128H0z"/>
+  <path fill="#fff" d="M0 0v14.3L227.4 128H256v-14.3L28.6 0H0zm256 0v14.3L28.6 128H0v-14.3L227.4 0H256z"/>
+  <path fill="#fff" d="M106.7 0v128h42.6V0h-42.6zM0 42.7v42.6h256V42.7H0z"/>
+  <path fill="#cf142b" d="M0 51.2v25.6h256V51.2H0zM115.2 0v128h25.6V0h-25.6zM0 128l85.3-42.7h19.1L19.1 128H0zM0 0l85.3 42.7h-19L0 9.5V0zm151.6 42.7L236.9 0H256l-85.3 42.7h-19.1zM256 128l-85.3-42.7h19l66.3 33.2v9.5z"/>
+  <path fill="#fff" d="M443 182.6V291c0 29-57.8 38.4-57.8 38.4s-58-9.4-58-38.4V182.6h115.9z"/>
+  <path fill="#2f8f22" d="M443 291c0 29-57.8 38.4-57.8 38.4s-58-9.4-58-38.4c0 0 0-2.3 1.3-3.6 0 0-.7 4.8 3 8.4 0 0-2.9-5.1 0-10.2 0 0-1 6.5 3 10.3 0 0-2.3-5.3.3-11.3 0 0-1.3 9.7 3.1 11.6 0 0 1.2-5.5-.5-9 0 0 3 1.1 2.8 9.2 0 0 1-1.2 1.3-7 0 0 0 6.7 2.4 8.2 0 0 .7-.7-.3-3.7s.4-4 .7-4c0 0-.5 3.3 2.3 5.8 0 0-1.3-5.2.4-6 0 0-.3 4.5 3.2 5.5 0 0 .2-1.3-.5-2.7 0 0-.7-1.7-.2-3 0 0 1.1 4 2.7 4.7 0 0-1-2.4-.1-4.7 0 0 .2 3.3 3.2 4.7 0 0-2-2.6-1.2-5.5l19.3 1 10 .5 30-2.2 5-4.4s2.1 2.8-1.1 7.3c0 0 3.2-.6 4.2-5.6 0 0 1.3 2.8-.5 5.9 0 0 3.6-3.6 4-7.6 0 0 1.5 3.9-1.9 8 0 0 3-1 4.3-5.4 0 0 1 2.7-1.9 6.5 0 0 5.4-2.9 5.3-8.8 0 0 2.2 3.2-.4 7.7 0 0 2.8-2.4 3-6.1 0 0 1.6 1.6 0 6.2 0 0 3.3-3.1 3.8-6.6 0 0 .8 3.2-2.1 7.2 0 0 2-.5 3.8-4.4 0 0 .5 1.6-1.2 4.4 0 0 1.9-.3 3.1-3.9 0 0 .2 2.2-.3 4 0 0 1.4-.9 1.7-5 0 0 .8 1.4.9 3v.6z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M413.3 228.3s-2 .4-4.6-.4c-2.6-.8-3.7-.5-4.5 0 0 0 1-2-1.5-3.7 0 0 .9 2-.3 3 0 0-.5.5-1.1-.2l-1.8-1.6s2.1-.8 1.7-3c-.4-2.2-1.5-2.5-2.2-2.7 0 0 .2 1 0 1.6 0 0-2.4-1.3.9-3.2s2.6-3 2-3.9c-.6-.9-1.8-2-2.4-2.3 0 0 .6 1 .5 1.8 0 .9-1.5 1.4-1.3 0 .3-1.6 0-1.3 0-2.9 0 0 2.9 1 4-1.8 0 0 1-2.9-2.5-4.3 0 0 .8 1.1.4 2 0 0-.8 1.5-1.7.3-.9-1.2-1.4-1.4-1.4-2.8 0 0 3.3.5 2.4-3 0 0-.5 2.3-4.7-.9 0 0 2.7-2.8 1.6-5.1 0 0-.3-1-3.3-.5 0 0 2.6-1.6 1.5-3 0 0-.5-1-3 .3 0 0 1-1.6-1.4-3.4 0 0-1.6.9-2.4 1.6 0 0-1.7-2-2.7-2.8 0 0-1.9.7-2.4 2.8 0 0-.8-1-2.8-1.5 0 0-1 1.8.2 3.3 0 0-.9 0-2.6-.8 0 0-2-.9-1.6.8.3 1.6.4 2 .8 2.8 0 0-4.3-1-4.1 1.3a6 6 0 002 4.2s-2.4 3.2-4.5.8c0 0-.7.8.9 2.8 0 0 1.5 1.7.2 2.8 0 0-1.7 1.4-2.5-1.3 0 0-2.8 2.7.5 4.8 0 0 2 1.3 4.2-.6 0 0-.6 5.3-2.7 4.3 0 0-1.2-1 1-2 0 0-3.2-.4-3.7 2.7 0 0-.4 2.4 2.4 3.3 0 0 2.1.8-.1 2.4 0 0-1.6 1.2-.5 3 0 0 1.2 2-2 2.1 0 0-1.6 0-2.2-.2 0 0-.7 1.3-.2 2.7 0 0-1.6-1.2-5.1.1-3.5 1.3-3.3.4-3.5.8l-1 1.7 1.9 2.2-.4 2.5 1 .5 7.2-3.3 7.4-3.8 5.9.4 3.7.9 5 .3 3.5-1.9h5.1l5.7 2.8 6.4 3.9 3.3.6 2.6-.2v-5.2l-1.2-1.9z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M354.8 234.4s2.8 1.5 4-.3c0 0 1.5-2.9-1.8-4 0 0 1.8-2.1-.2-4.1 0 0-1-1.1-2.8-.3 0 0-.7-1.6-2.5-1.5 0 0-1.5 0-2 1.7 0 0-2.1-1-3.3.3 0 0-2 2.2.7 4l2 .1 1.9-.9 2.1.6s-.5 2.2 1.9 4.4z"/>
+  <path fill="#64b4d1" stroke="#000" stroke-width=".3" d="M417.5 229.3a4.5 4.5 0 014.5 2.5c1.8 4.2-2 6.4-2 6.4a9 9 0 01.4 2.2c5.3.6 4.3 6.6 4.3 6.6l-1.7-1.5c-3-1.2-6.2 1.4-8.5 5.8s-1.2 6.4-.8 11.6c.4 5.2 8.8 8.3 8.8 8.3l-6.6 16.8c-2.6 6.6-8 3.9-9.5 2.5-1.6-1.4-2-.6-2.8 0-.7.6 3.6 4-4.3 7.2s-9.2 5.6-10.6 6.4c-1.3.8-6.7.3-7.3-.4-.5-.7-.2-.7-2.2-2-2-1.2-5.5-2.3-9.3-4.1-3.7-1.8-3.6-4.2-3.6-4.7 0-.4 1.3-4.4-3.1-1.3-4.4 3.2-8.2-1.4-8.2-1.4-.8-1.2-4.5-11-4.5-11-1-3.7-3-8-3-8 .2 0-.1.5 3.1-1.4 3.3-1.8 4.7-5 5.9-8 1.1-3 0-8.3-.4-9.4-.4-1-2.9-6-5.9-7-3-1-5 1.6-5 1.6s-.9-6 4.4-6.6c0 0 0-1.3.3-2.2 0 0-3.7-2.2-2-6.4 0 0 1.2-2.8 4.6-2.5l-.8 1.5s-.9 8.5 11.6 2.8 12-6.7 19.1-3.1l5.2-.1s7.4-3.5 9.8-2c2.4 1.5 11 6.3 11 6.3s8.4 3.1 10-2.6l-1-2.8z"/>
+  <path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width=".4" d="M380 266.1l-.8-4.3s-1-2.6.6-4.5l2-2.2s1.2-1.7 2.7-1.9c0 0 1.5 0 1.6-.3.2-.3 1.8-3 5.7 0 0 0 1.3-2 3.2-2.4 0 0 2-.6 3 1 0 0 2.4-1.8 4.4 1 0 0 2.7-1.5 4.7 1.6 0 0 2.8-1.4 4.4 1.5 1.7 2.8 1.4 4 1.4 4l1.2 4.5 4.4 5.4-10.2 3.9h-4.6l-9.2 2.4-16.3 1.3-4.6-5.4 6.5-5.6z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M366.3 293.2s-2.5.2-3.7.8c-1.3.6-2.2 1.3-3.7 2.2 0 0-.6 1-3.4.4 0 0-5-1.2-5 2.6 0 0-5.8.5-3.4 5.6 0 0 1.7 4 5 1.2 0 0-2.1 3 2 4.3 0 0 3 .7 3.8-2.3 0 0 .5-1.2-.6-2.7 0 0 1.4-.3 2.4-1.9 0 0-3 3.9.3 5.3 0 0 4.2 1 4.4-3.3 0 0-.3-2 1.3-2.8 0 0 3.4-.8 5-4.5 0 0-4.9-2.6-4.4-4.9zm-9.9-38.4s-3.8-1.8-5.5 0c0 0-2.5-1.6-5.1 0 0 0-2.5 1.6-4.3 3.4 0 0-1.2 1-.7 4.3 0 0 .6 2.3.2 3.4 0 0-.8-.1-2.5 1.8 0 0-2 2.5-3.9.3 0 0 .6 3 4 2.5 0 0-1.7 1.4-.2 4.8 0 0 1.1 2.4-.6 5.4 0 0 3-1.2 2.9-4.8 0 0-.3-2.4.6-4.1 0 0-.9 1.6 1.2 4.9 0 0 1.6 2.3.3 4.8 0 0 3-1 2.7-4.7-.3-3.6-2.1-2.1-1-5.5 0 0 .4 1.7 1.3 2.6.9.9 2 2.3 1.5 4.7 0 0 1.8-2.2 1.4-4.5-.4-2.3-.9-3-.9-3l5.7-3.2 2.8-5 .1-8.1z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M347.8 269.1s-2.3-.2-2.7-2m-4-1.2s.7 0 1.5.8c0 0 .6.8 1.4.7"/>
+  <path d="M351.3 262.2s-1.2 0-1.9-.5c0 0-.7-.5-1.1.3 0 0-.7 1 .5 1.5 0 0 1.5.8-.8 2.3 0 0 2.7-1 1.6-2.4 0 0-1.2-.9-.7-1.2 0 0 0-.2.6 0s1.4.3 1.8 0z"/>
+  <path fill="#784421" stroke="#000" stroke-width=".3" d="M389.3 268.4l-9.3-32.2h-.3l8.2 32.7z"/>
+  <path d="M356.9 304.5s-2.2-1.2-4 .2c0 0 .1-.8 1.5-1.1 0 0 .8-2.1 2.9-2l-2 2s1.2 0 1.6 1z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M349.1 309.6s-3.5-2.2-1.6-5.8c0 0 .5-1.1 1.6-.9 0 0 2.2.7.5 3.7 0 0-.9 2-.5 3zm7 3.5s-4.9-2.3-3.4-6.1c0 0 .5-1.3 1.6-1.2 0 0 2 0 1.5 2.6 0 0-.5 2.5.4 4.7z"/>
+  <path d="M355.1 298.7s-1.5 1.1-2 1.9c0 0-.7-.8-1.5-1.3 0 0 1 0 1.4.3 0 0 .8-.7 2.1-.9z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M359.6 312.1s3.8-1 3.1-5c0 0-.3-1.7-2-1.5 0 0-2 .5-.7 3 0 0 .8 2-.4 3.5z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M377.2 227l3.8 1.2s3.7 1.7 8.3 0l3.5-1.3-2.4 3.7v1.8l1.4 2.2s-.9.4-3.6-1.2c0 0-3-2.3-6.5 0 0 0-1.9 1.3-3.5 1.2l2.3-2.5-1-2.3-2.3-2.9z"/>
+  <path fill="#fff" d="M361 307.3s.2-.2 0-.2c0 0-.1-.1-.2.1 0 0-.5.7-.1 1.6 0 0 .3.6.2 1.2v.2s.2 0 .2-.2c0 0 .2-.6-.1-1.2 0 0-.4-1 0-1.5z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M415 234.4s-2.7 1.5-4-.3c0 0-1.4-2.9 2-4 0 0-2-2.1 0-4.1 0 0 1-1.1 2.9-.3 0 0 .7-1.6 2.5-1.5 0 0 1.5 0 2 1.7 0 0 2.1-1 3.3.3 0 0 2 2.2-.8 4l-2 .1-1.8-.9-2.2.6s.6 2.2-1.8 4.4z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M392.8 232.2s0 .5-.6.6c0 0-.6.2-1-.5v-.3c0-.3-.2-1.3 1-2.2 0 0 1.7-1.4 5 .3l4.6 2.4 5.4 2.8s2 1 5.3 1.2c0 0 4.4.3 6.3-2.8 0 0 1.4-2.3 0-3.8 0 0-.6-.7-1.6-.6a2 2 0 00-1.2.7s-.7 1 0 1.8c0 0 1.1.6 1.5-.7 0 0 0-.1 0 0 0 0 .3 1.1-.3 2 0 0-2.6 4-10-.2l-9.5-5.4s-4.9-2.5-7.8 1.4c0 0-2.3 3.2.7 5.3 0 0 2.2 1.4 3.6-.8 0 0 1.2-2-.6-3 0 0-1.6-.7-2.3.9-.6 1.6 1.3 2 1.4.9 0 0 0-.3.1 0z"/>
+  <path fill="#e4cb5e" stroke="#000" stroke-miterlimit="2.6" stroke-width=".3" d="M354.6 248.8v-6c0-.6 0-1 .8-1.5s1.5-1.5 2.6 1c0 0 2.1-2.2 2.8-2.5 0 0 1.3-1 2.1.5 0 0 1.2-1.8 2-2.2 0 0 2.2-1.4 2.3 2.8l1.7-1.6s1.3-1 2.7.4c0 0 2.5 2.4 2.8 3 0 0 .6.8.6 2 0 0 0 1.3.7 2 0 0 .7.7 1.5.8 0 0 1.7 0 2.3 1.7 0 0 .3-.3 1.2 7.6V271l-9.7 11.5-15.5-4.4-6.2-2.6-1.3-4.5 6-3.9 3.2-8.8-1-6.1-1.6-3.6z"/>
+  <path fill="#784421" stroke="#000" stroke-width=".3" d="M397.4 256.4l.7-1.1 1.8-1.4s2.6 7 2.8 8.6v2.2s4 1 4.7 7.2l-3.3 6-5.2-2.8-1.5-1.1v-17.6z"/>
+  <path fill="#fff" d="M348.1 304.6s.2-.2 0-.3l-.2.1s-1 1.2-.2 3c0 0 0 .3.2.2 0 0 .2 0 0-.3 0 0-.7-1.5.2-2.7z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M363.8 303.4s.2-.5-.2-1c0 0-.3-.5-.2-1"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M367.2 240.9s0 1.5.5 2.6c.4 1.1 1.9 3 2 4"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M403.7 293.2s2.4.2 3.7.8c1.2.6 2.2 1.3 3.6 2.2 0 0 .7 1 3.5.4 0 0 4.9-1.2 4.9 2.6 0 0 5.8.5 3.4 5.6 0 0-1.6 4-5 1.2 0 0 2.2 3-2 4.3 0 0-3 .7-3.8-2.3 0 0-.5-1.2.7-2.7 0 0-1.4-.3-2.4-1.9 0 0 3 3.9-.3 5.3 0 0-4.2 1-4.5-3.3 0 0 .4-2-1.3-2.8 0 0-3.3-.8-4.8-4.5 0 0 4.8-2.6 4.3-4.9z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M365.3 247.6l4 32.1m-3-32.2l4.4 30m-3.6-30.1l5.1 29.7"/>
+  <path fill="#784421" stroke="#000" stroke-width=".3" d="M376.6 274l-9.3-32.2-.3.1 8.2 32.6z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M370 246.2l9.4 23.8m-10.1-23.4l9 24.8"/>
+  <path fill="#fff" d="M354.4 310.8s-1.1-1-1-2.9c0 0 .1-.4-.1-.5 0 0-.2 0-.3.4 0 0-.2 2 1 3.1h.3s.2 0 0 0z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M370.4 245.8l9.7 21.8m-12.4-20.4l6 29.2"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M416.4 268.9c-4.2-2.4-5.2-7.8-5.2-7.8a16.4 16.4 0 011-9.6c2.8-5.8 7.6-6.8 7.6-6.8s-4.7 3.2-6 7.5c0 0-1 3.6-.4 7.2s.4 2.7 1.3 5.5l1.7 4z"/>
+  <path fill="#784421" stroke="#000" stroke-width=".2" d="M398.1 255.3l-17.9 5.6-1 8c-4.2 6.1-12.8 7.2-12.8 7.2l6.7 7.1L386 286l6.7-5.2 6.2-5.6c-.7-3-.3-7.5-.3-7.5l.3-2.6s-1-7.2-.8-9.7z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M379.5 266.9s11.8-3.7 18.8-6.7m-24.5 13.4s14.7-2.7 25-8.6l3.9-2.5"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M402.7 264.7l-4.1 2.9s-16.4 7.5-29 7.7m29-2.3s-12.6 6.5-19.9 6.6"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M413.6 254.8s3.8-1.8 5.6 0c0 0 2.5-1.6 5 0 0 0 2.6 1.6 4.3 3.4 0 0 1.2 1 .8 4.3 0 0-.7 2.3-.3 3.4 0 0 .8-.1 2.5 1.8 0 0 2.1 2.5 4 .3 0 0-.6 3-4 2.5 0 0 1.6 1.4.1 4.8 0 0-1 2.4.7 5.4 0 0-3-1.2-3-4.8 0 0 .3-2.4-.6-4.1 0 0 1 1.6-1.1 4.9 0 0-1.7 2.3-.4 4.8 0 0-3-1-2.6-4.7.2-3.6 2-2.1.9-5.5 0 0-.3 1.7-1.2 2.6a4.9 4.9 0 00-1.6 4.7s-1.8-2.2-1.3-4.5a9 9 0 01.8-3l-5.6-3.2-2.8-5-.2-8.1z"/>
+  <path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width=".4" d="M349.7 275.1s.5-2.5 2.9-1.5c0 0 .8-4.1 5.2-4.2 4.3-.2 4.6 4.2 4.6 4.5 0 0 1.2-1.9 3.4-1.7 0 0 3.7-.2 2.3 5.7l.7.8s2.8-6.6 8.6-5c0 0 5.6 1.8 2 7.3 0 0 2.7 3.6 5 3.3 2.5-.4 4.6-1.1 7-5.3 2.3-4.1 7.7-4.7 9-4.5 1.5.2 2.6 1.2 2.8 2.1 0 0 2.9-9.6 13.3-8l4.1 2 1.6.7-2.3 6.7-5.8 13-4.3 1.3-4.6-2.6-1.6.8v3.9l-6 4.3-4.2 1.7-4.6 3.2-1.1 2.8s-2.5-1.1-5.4 0l-1-2.4-2.6-2.5-10.4-5-2-6-1.8-.8-2.1 2.4-3.2.4-4.6-3.2-5-14.2z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M395 227.9s-4-.2-3.8 4"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M421.1 271.6c-6.9-2-8.8-9.5-8.8-9.5-1.4-5.6.9-10.5.9-10.5 3.2-7.4 8.5-7.4 8.5-7.4 2.7 0 3 2.3 3 2.3.3 1.6-.9 2.2-.9 2.2-1.8 1-3-.4-3-.4-.7-1-.2-1.9-.2-1.9.5-.6 1.4-.3 1.4-.3.7.2.6 1 .6 1v.1c.1 0 0 0 0 0s.2-1.1-.8-1.2c0 0-2.1-.5-4.5 2.6 0 0-3.3 4-3.2 9.4 0 0-.5 10 10 12.5 0 0-1.2 1.6-3.2 7.5 0 0-2.2 7.5-4.4 11.5 0 0-2.8 5.8-9.2 3.4 0 0-3.8-1.6-3.8-4.4 0 0-.2-2.5 2-2.7 0 0 2.3-.1 2.2 1.8 0 0 .1 2-2.3 1.6 0 0-.9-.2-.7-1 0 0 .1-.8 1.1-.5 0 0-.3-.2-.8 0 0 0-.3 0-.4.7 0 0 0 .4.5.7l1.1.2s.6 1.3 2.1 1.7a5 5 0 004.7-.8 7.3 7.3 0 002-2.8c.3-.4 2.1-4.6 3.6-9 0 0 1.2-4 2.2-6l.3-.7z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M401.6 290.5s1.3-.1 1.3 1c0 0 0 1.7-2.1 1.3 0 0-2-.4-1.3-2.7 0 0 .5-1.6 2.4-1.3 0 0 1.8 0 2.7 2.6 0 0 .6 2.1-.5 4-1.2 2-4.2 3.3-5.6 4 0 0-5.9 2.2-7.6 3.5 0 0-2.6 2-1.5 3.8 0 0 .5.7 1.2.7 0 0 .7 0 .9-.7 0 0-.1.5-.5.6 0 0-.6.3-1.2-.2 0 0-.6-.6 0-1.5 0 0 .6-1.2 2.2-.5 0 0 1.4.7.8 2.2 0 0-.5 1.4-2.2 1.4 0 0-1.3 0-2-1-1.4-1.3-1.5-3.9-.3-5.2 0 0 1-1.5 3.2-2.4l6-2.4a11 11 0 004.3-2.7s1-1 1.2-2.8c0 0 .2-1.3-.5-1.6h-.9z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M401.7 290.5s1.5-.2 2.4 1.5a8 8 0 00.6 1.7m.4-6s-1.4.2-.7 2.2c.7 1.9 2 2.5 2.4 2.8"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M377.2 232.2s0 .5.6.6c0 0 .6.2 1-.5v-.3c0-.3.2-1.3-1-2.2 0 0-1.7-1.4-5 .3 0 0-2.8 1.3-4.6 2.4l-5.3 2.8s-2.2 1-5.4 1.2c0 0-4.4.3-6.3-2.8 0 0-1.4-2.3 0-3.8 0 0 .6-.7 1.6-.6.4 0 .8.2 1.2.7 0 0 .7 1 0 1.8 0 0-1.1.6-1.5-.7 0 0 0-.1 0 0 0 0-.3 1.1.3 2 0 0 2.6 4 10-.2l9.5-5.4s4.9-2.5 7.8 1.4c0 0 2.3 3.2-.7 5.3 0 0-2.2 1.4-3.6-.8 0 0-1.2-2 .6-3 0 0 1.6-.7 2.3.9.6 1.6-1.3 2-1.4.9 0 0 0-.3-.1 0zm-23.6 36.7c4.2-2.4 5.2-7.8 5.2-7.8 1-5.3-1-9.6-1-9.6-2.8-5.8-7.5-6.8-7.5-6.8s4.6 3.2 5.9 7.5c0 0 1 3.6.4 7.2s-.4 2.7-1.2 5.5l-1.8 4z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M375 227.9s4-.2 3.8 4"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M348.9 271.6c6.9-2 8.8-9.5 8.8-9.5a17 17 0 00-.9-10.5c-3.2-7.4-8.5-7.4-8.5-7.4-2.7 0-3 2.3-3 2.3-.3 1.6.9 2.2.9 2.2 1.8 1 3-.4 3-.4.8-1 .2-1.9.2-1.9-.5-.6-1.4-.3-1.4-.3-.7.2-.6 1-.6 1v.1c-.1 0 0 0 0 0s-.2-1.1.8-1.2c0 0 2.1-.5 4.5 2.6 0 0 3.3 4 3.2 9.4 0 0 .5 10-10 12.5 0 0 1.2 1.6 3.2 7.5 0 0 2.2 7.5 4.4 11.5 0 0 2.8 5.8 9.2 3.4 0 0 3.8-1.6 3.8-4.4 0 0 .2-2.5-2-2.7 0 0-2.3-.1-2.2 1.8 0 0-.1 2 2.3 1.6 0 0 .9-.2.7-1 0 0-.1-.8-1.1-.5 0 0 .3-.2.8 0 0 0 .3 0 .4.7 0 0 0 .4-.5.7l-1.1.2s-.6 1.3-2.1 1.7a5 5 0 01-4.7-.8c-1.1-.9-1.8-2.4-2-2.8a76 76 0 01-3.5-9s-1.3-4-2.3-6l-.3-.7z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M368.4 290.5s-1.3-.1-1.3 1c0 0 0 1.7 2.1 1.3 0 0 2-.4 1.3-2.7 0 0-.5-1.6-2.4-1.3 0 0-1.8 0-2.6 2.6 0 0-.7 2.1.4 4 1.2 2 4.2 3.3 5.6 4 0 0 5.9 2.2 7.6 3.5 0 0 2.6 2 1.5 3.8 0 0-.5.7-1.2.7 0 0-.7 0-.9-.7 0 0 .1.5.5.6 0 0 .6.3 1.2-.2 0 0 .6-.6 0-1.5 0 0-.6-1.2-2.2-.5 0 0-1.4.7-.8 2.2 0 0 .5 1.4 2.2 1.4 0 0 1.3 0 2-1 1.4-1.3 1.5-3.9.3-5.2 0 0-1-1.5-3.2-2.4l-6-2.4a11 11 0 01-4.3-2.7s-1-1-1.2-2.8c0 0-.3-1.3.5-1.6h.9z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M368.3 290.5s-1.5-.2-2.4 1.5c0 0-.5 1-.6 1.7m-.4-6s1.4.2.7 2.2c-.7 1.9-2 2.5-2.4 2.8m18.3-61s3.5-2.3 7 .1"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".3" d="M361.9 252.8s.5-2-1.7-5.4c0 0-1.5-3-2.2-5m5-2.1l1.6 4.4 1.9 4.5"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M363.6 254.9s1.3 1.4 1.1 3.7m-5.5-5.2s1.5.7 1.4 4.5c0 0-.2 2.8 2 4.2m-3.6 1s4.5-.6 4.8 2.2c0 0 0 2.7 1.6 3 0 0 2.3.2 2.8 2.3m-7.7-4.5s.8 1.2 1.5 1.7m4.2-4.6s1.2 1.7 1.4 2.7m3.6-23.5s1 1.4 2 2m2.2 6.5s2.2 1 1.8 6.7c0 0-.2 3.3.7 5"/>
+  <path fill="#784421" stroke="#000" stroke-width=".3" d="M364.9 247l.1.6s4 .1 6.2-2.6l-.2-.5s-3.6-.2-6.1 2.5z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M379.3 268.5s13.8-4.1 19.2-6.5"/>
+  <path fill="#784421" stroke="#000" stroke-width=".2" d="M377.6 242.5l6.9-2.6.2.5-6.9 2.6z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".3" d="M378.4 242.8l4.5 22.2m-3.7-22.5l5.2 22.1m-4.3-22.5l5.7 22m-3.5-22.8l7.8 16.5m-6.8-17l8.3 16.5m-7.5-16.7l9 16.3m-10.5 8.3l3.5-1.1m-6.1-1s10.3-3 18-6.2m-18.2 7.2s13-3.4 18.3-6m-14.3 16.7l.7 2 1.9-.6-.7-2m3.4-1l.7 2.1 1.8-.6-.6-2m-10.8-11.8l-.1-2.8 17-5.2 1 2.4m-10.8.6l1 2.5m5-4.3l1.1 2.3m.3-2.8l1 2.3m.4-2.7l1 2.4m0-2.7l2-1 .8 2m-1.8-1.5l1 2.1"/>
+  <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width=".4" d="M355.7 285s-3.4-3.5 0-6.8c0 0-3.7-1.8-3.1-4.6m9 14s-3.4.5-2.4-6.3l-2 4.1a3 3 0 001.4 3.6c.6.3 3.7 1.2 4.7-.9m-5.5-10.8s-1.5 1.3-.4 3.7m1.8-3.4s.2 2.3 1.3 3.6m-.3-4.5s0 2.7 2 4.4m-1-5.3s0 3 2.3 4.9m9-.5s1.1-2.5 3.5-2.4c0 0-1.1.6-1.1 1.8 0 0-.1 1.9 2 2 0 0 1.6.3 2.4-.6"/>
+  <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width=".4" d="M378.2 291.7s-6-2.8-5.3-6.8c0 0 .2-2.5 2.6-3.6m-1.3 2.5s-.5 1.7.7 3m.7-4.2s-.7 2 .5 3.3m1-4.2s-1 1.6 0 3m-5.5 7.4s3.2 2.8 5.8 2.8m-6.8-1.9s3 2.5 5 2.8m-6.2-2.1s3.8 3.3 6.1 3.5m9.2 3s-3.7 2-.8 4.2m-1.5-6.3l6-3m-4.5 4.1s6-3.7 7.8-4.5m-4.7 4.8s5.1-3.5 8-5m-4.6 4.8s3.6-2.8 7-4.8m1.2-3.5s-1.7-2.5-7.5 0c0 0 2.1-1.9 6.3-3.4m5.8-11s.5 2.1 0 3.4"/>
+  <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width=".4" d="M393.9 286.7s1.2-1.8 4.2-2.6c0 0 .8 2 3.2 1.6 0 0 3.6-.7 2.5-4.6 0 0-.7-3-4.8-3.3m12-4.8s4.2.7 4.2 4c0 0 .3 5.1-5 6.1m4.4-8s1.1-2.5 3.7-3.5m-3.1-1.5s1 1.8 1.9 2m-2.5-.6s1 1.4 1.4 1.6m-1.8-.3l1 1.1M393 253.2s.8-1.3 2.8-.7M404 263s1.3-5.3 5.7-3.3m-1.8-.5s.5-2.4-.6-3.6m-2.4 3.5s.6 1 0 1.8"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M413.8 313.1s5-2.3 3.4-6.1c0 0-.4-1.3-1.5-1.2 0 0-2 0-1.6 2.6 0 0 .6 2.5-.3 4.7z"/>
+  <path fill="#fff" d="M415.6 310.8s1.1-1 1-2.9v-.5s.3 0 .3.4c0 0 .3 2-1 3.1 0 0 0 .1-.2 0h-.1z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M420.9 309.6s3.5-2.2 1.6-5.8c0 0-.6-1.1-1.6-.9 0 0-2.2.7-.5 3.7 0 0 .9 2 .5 3z"/>
+  <path fill="#fff" d="M421.8 304.6s-.2-.2-.1-.3l.3.1s1 1.2.2 3c0 0 0 .3-.2.2 0 0-.2 0 0-.3 0 0 .7-1.5-.2-2.7z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M410.4 312.1s-3.9-1-3.2-5c0 0 .4-1.7 2-1.5 0 0 2 .5.8 3 0 0-.8 2 .4 3.5z"/>
+  <path fill="#fff" d="M409 307.3s-.2-.2 0-.2c0 0 .1-.1.2.1 0 0 .4.7 0 1.6 0 0-.2.6 0 1.2 0 0 0 .2-.2.2l-.2-.2s-.2-.6.2-1.2c0 0 .4-1 0-1.5z"/>
+  <path d="M413.2 304.5s2.2-1.2 4 .2c0 0-.1-.8-1.5-1.1 0 0-.8-2.1-2.9-2l2 2s-1.2 0-1.6 1zm1.7-5.8s1.5 1.1 2 1.9c0 0 .7-.8 1.5-1.3 0 0-1 0-1.4.3 0 0-.8-.7-2.1-.9z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M406.2 303.4s-.2-.5.2-1c0 0 .3-.5.2-1m15.6-32.3s2.4-.2 2.7-2m4.1-1.2s-.8 0-1.5.8c0 0-.6.8-1.4.7"/>
+  <path d="M418.8 262.2s1.2 0 1.8-.5c0 0 .7-.5 1.2.3 0 0 .6 1-.6 1.5 0 0-1.4.8.9 2.3 0 0-2.8-1-1.7-2.4 0 0 1.2-.9.8-1.2 0 0-.1-.2-.6 0-.5.4-1.4.3-1.8 0z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M420.4 233s.6-.8.3-3c-.2-2.3 1.8-2.5 2.5-1.9 0 0 .8.7 0 2.1a5.7 5.7 0 01-2.8 2.8z"/>
+  <path fill="#fff" d="M421.1 231.3s.8-.8.4-2.5l.1-.2s.2 0 .2.2c0 0 .4 1.7-.4 2.7 0 0-.1.2-.3 0v-.2z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M419.8 232.1s0-.9-1.6-2.4-.3-3 .7-3c0 0 1 0 1.3 1.6.2.9.4 2-.4 3.8z"/>
+  <path fill="#fff" d="M419.6 230.2s0-1.1-1.4-2.3c0 0-.1-.1 0-.2 0 0 0-.1.2 0 0 0 1.5 1.2 1.5 2.5 0 0 0 .2-.2.2l-.1-.2z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M417.7 231.5s-.4-.8-2.3-1.5c-2-.6-1.4-2.3-.6-2.7 0 0 .8-.3 1.7.8.5.6 1.1 1.6 1.2 3.4z"/>
+  <path fill="#fff" d="M416.8 230.1s-.4-1-2.2-1.4c0 0-.1-.1 0-.2 0 0 0-.2.1-.1 0 0 2 .4 2.5 1.6l-.1.2h-.3z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M418.9 232.2s-1 .3-3-.8c-2-1-3 .8-2.6 1.7 0 0 .4 1 2 .8 1 0 2.2-.3 3.6-1.7z"/>
+  <path fill="#fff" d="M414.1 232.8s1 .6 2.6 0h.2v.3s-1.9.7-3 0c0 0-.2 0 0-.2 0 0 0-.1.2 0z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M415.9 225.7s1 .5.8 1.7"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M420.4 225.8s.4 1.3 0 2"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M349.4 233s-.5-.8-.3-3c.3-2.3-1.7-2.5-2.4-1.9 0 0-.8.7 0 2.1a5.6 5.6 0 002.8 2.8z"/>
+  <path fill="#fff" d="M348.7 231.3s-.7-.8-.4-2.5v-.2s-.2 0-.2.2c0 0-.4 1.7.4 2.7 0 0 .1.2.2 0 0 0 .1 0 0-.2z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M350 232.1s.1-.9 1.7-2.4c1.5-1.5.3-3-.7-3 0 0-1 0-1.3 1.6-.2.9-.4 2 .4 3.8z"/>
+  <path fill="#fff" d="M350.3 230.2s0-1.1 1.4-2.3c0 0 .1-.1 0-.2 0 0 0-.1-.2 0 0 0-1.5 1.2-1.6 2.5 0 0 0 .2.2.2 0 0 .2 0 .2-.2z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M352.2 231.5s.4-.8 2.3-1.5c2-.6 1.4-2.3.6-2.7 0 0-.8-.3-1.7.8a5.2 5.2 0 00-1.2 3.4z"/>
+  <path fill="#fff" d="M353 230.1s.5-1 2.2-1.4l.2-.2s0-.2-.2-.1c0 0-2 .4-2.5 1.6v.2h.3z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".3" d="M351 232.2s.9.3 3-.8c2-1 2.9.8 2.5 1.7 0 0-.3 1-2 .8a5.6 5.6 0 01-3.5-1.7z"/>
+  <path fill="#fff" d="M355.8 232.8s-1 .6-2.7 0h-.2l.1.3s1.8.7 3 0c0 0 .2 0 0-.2 0 0 0-.1-.2 0z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M354 225.7s-1 .5-.8 1.7"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M349.4 225.8s-.3 1.3 0 2"/>
+  <path d="M394.1 214.2s.7 1.8.4 3.5c-.3 1.5 0 1.9.6 2.2.5.3 1.6-.2 1.7-1.4 0 0 1.3 2.5-1.2 4.2 0 0-1.8 1.2-3.4-.3-.5-.6-.7-2-.5-3.3 0 0 .4-1.9-.2-3.7 0 0 1 1 .7 3.3 0 0-.5 3.9 2.4 3.7 0 0 2 0 2-2.5 0 0-.7 1-1.6.6a1.7 1.7 0 01-1.2-1.8c.1-1 .4-3 .3-4.6zm-3.3 6.4s-.2 3.1-3 3.9c0 0 .4-.6-.2-2.1 0 0-.7-1-.6-2.3 0 0-.9.7.1 2.5a3 3 0 010 2.6c-.3 0 4.6-.7 3.7-4.6zm-3.7-3s-.7-.9-.7-2.6c0-1.8-.4-2.3-.6-2.5 0 0 .3 1.6.2 2.5 0 1 0 1.5.2 2 0 0-1.5.2-2.5-2s-1.9-2-2.3-2c0 0 .5 0 1.6 2 1 2 1.4 2.4 4.1 2.5zm-7.2-4.8s.9 2.2 1 3.3c0 0-2.2-.7-2.7-2.5 0 0-2.2.8-1.4 3.3 0 0-2-.6-2.8-2.2 0 0 1 .8 2 1.1 0 0 0-2 2.5-2.8 0 0 .4 1.9 1.7 2.3 0 0 0-1.2-.3-2.5zm3.4-3.6s.7 1 2.2 1c.7.1 1.4 0 2.2-1 0 0-.1 1.8-2.2 1.8 0 0-2.2.1-2.2-1.8zm-9 12.4l1.3 1.3s.7.8 1.4-.2c0 0 .8-1.5 1.9-1.5 0 0-.8.5-1.6 2 0 0-.2.5-.8.6-.3 0-.7 0-1.2-.5 0 0-.5-.6-1-1.7zm11.2-19.7c-2.2 0-.4 1.7-.4 1.7 0 2.7-2 3.5-3.5 2.7-1.5-.8-.3-2.7-.3-2.7s-1.7 1-.6 2.6c1 1.6 3.8.9 4.8-.5 1 1.4 3.8 2.1 4.8.5 1-1.5-.6-2.6-.6-2.6s1.2 2-.3 2.7c-1.5.8-3.6 0-3.6-2.7 0 0 1.9-1.7-.3-1.7zm1.3-2.9s.8 1.3.6 3.3c0 0 .7-2-.6-3.3zm-6.7 3s-.2-1.4-1.5-1.5c0 0 1.1.9 1.5 1.6zm10.8 0s.1-1.4 1.5-1.5c0 0-1.1.9-1.5 1.6zm-13 2.2s1.1.4 1.8-.4l-1.8.4zm-3.6-8.7s1.3-.1 2.6 1.8c0 0-1.3.6-1.6 1 0 0 0-.6.6-1.1 0 0-.2-1-1.5-1.7zm21.5 0s-1.3-.1-2.6 1.8c0 0 1.3.6 1.6 1 0 0 0-.6-.6-1.1 0 0 .2-1 1.6-1.7zm-9.9 1.4s1.1.3 2.6-.5c0 0 1.7-.9 2.9 0 0 0-1-.4-2.9.5 0 0-1.9 1-2.6 0z"/>
+  <path fill="#fff" d="M387.1 198s1-1.6 4-1.3c0 0-.8 2.4-4 1.4z"/>
+  <ellipse cx="389.2" cy="197.6" fill="#784421" rx=".6" ry=".8"/>
+  <ellipse cx="389.2" cy="197.6" rx=".3" ry=".5"/>
+  <path d="M380.7 194.4s1.9.1 3 .9c0 0 1.2.7 2.6-.4 0 0 1.5-.8 2.5-2 0 0-2.3 1.6-3.2 1.8 0 0-.8-.6-1-1.5 0 0 0-.6 1.3-1.8 0 0-1.7.5-2 2 0 0 .3.8 1 1.4 0 0-.4.2-1.2-.3 0 0-1.7-.6-3 0zm4.8 11.4c-1.6 1.4 0 1.2 0 1.2s1.6.2 0-1.2zm-1-8.9s-1.1.3-2.5-.5c0 0-1.8-.9-3 0 0 0 1-.4 3 .5 0 0 1.8 1 2.5 0z"/>
+  <path fill="#fff" d="M383.3 198s-1-1.6-4-1.3c0 0 .9 2.4 4 1.4z"/>
+  <ellipse cx="381.3" cy="197.6" fill="#784421" rx=".6" ry=".8"/>
+  <ellipse cx="381.3" cy="197.6" rx=".3" ry=".5"/>
+  <path fill="none" stroke="#000" d="M443.3 182.6V291c0 29-58 38.4-58 38.4s-57.8-9.4-57.8-38.4V182.6h115.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bn.svg
new file mode 100644
index 0000000..2e93aea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bn.svg
@@ -0,0 +1,36 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-bn" viewBox="0 0 512 512">
+  <path fill="#f7e017" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 35.6V263l512 106.7v-121z"/>
+  <path d="M0 156.4v106.7l512 213.3V369.8z"/>
+  <g fill="#cf1126" transform="translate(-256) scale(.71111)">
+    <path d="M695.7 569.7a117.2 117.2 0 01-49.4-17.2c-2.4-1.6-4.6-3-5-3-.4 0-.6 1.9-.6 4.1 0 6.4-2.6 9.6-9 11.3-6.2 1.6-15.6-1.6-23.2-8a68.3 68.3 0 00-24.7-13.5 39.9 39.9 0 00-28 3.6 8.7 8.7 0 01-2.8 1.3c-1.1 0-1-6.9.2-9 1.5-3 5.1-5.8 9.4-7.3 2.2-.8 4-1.8 4-2.3 0-.4-.8-2-1.7-3.6-2.9-5.1-1.7-10 3.4-13.9 5.2-4 14-4.6 21.7-1.7a32 32 0 004 1.4c1 0 .4-1.5-2.4-5.6-3.2-4.7-3.9-7-3.5-12.7a14.7 14.7 0 0113.5-13.5c5.8-.4 9.4 1.6 18 9.7a144 144 0 0086 41.6c8.3 1 24.8.5 34.5-1a156 156 0 0081.8-40.8c6.4-6 9.4-7.6 14.7-7.6 4.5 0 7.7 1.4 11 5 3 3.3 4 6.4 3.6 11.5-.2 3.2-.7 4.7-2.6 7.9-2.8 4.5-2.3 5 3.2 2.8 7.6-3 16.9-1.6 21.9 3.2 4.4 4.2 4.8 8.4 1.4 14-1.3 2.1-2.3 4-2.3 4.4 0 .6 1 .8 5.5 1.6 6 1 9.5 5.4 9.5 12.2 0 2-.3 3.7-.6 3.7s-2.6-.9-5-1.9c-7-2.9-11-3.6-19.2-3.5-6.2 0-8.3.3-12.6 1.7a57.5 57.5 0 00-19.5 11.5c-6.4 5.7-10.4 7.5-16.6 7.4-5.8 0-9.7-1.7-11.8-5-1.1-1.8-1.3-2.8-1-6.8.2-2.6.1-4.7 0-4.7-.3 0-2.5 1.4-5 3.1A80.5 80.5 0 01778 560a181.6 181.6 0 01-82.3 9.7z"/>
+    <path d="M706.3 525.2a136.4 136.4 0 01-97.9-55.7c-24.4-33.2-32-77.1-24.6-117.2 4-18.3 12-36.6 25.5-49.6a114.6 114.6 0 00-8.7 74.3c9 49.8 51 91.9 101.3 99.2 20 5.7 40.5-.4 59.5-6.5 42-14.8 74-54.6 77.8-99.1 3.3-24-.3-49.1-11.2-71 6.2 3.3 14 16.2 18.6 24.8 16 31 16.7 68.1 7.3 101.2-12.8 42.1-45 79-87.5 92.4a165.7 165.7 0 01-60 7.2z"/>
+    <g id="a">
+      <path d="M512 469.9c-2.5-.4-5.3 2.1-4.3 4.7 1.8 2.6 5 4 7.8 5.2a54.2 54.2 0 0023.2 3.6 49.6 49.6 0 0017-3c3-1 6.8-2 8-5.4 1.3-2.1-1-4.3-3.1-3.9-3 .7-6 2-9 2.9a57.7 57.7 0 01-20.3 2 54 54 0 01-14.4-4.2c-1.6-.7-3.1-1.7-4.9-1.9z"/>
+      <path d="M514.8 459.5c-2.5-.4-4.7 2.6-3.7 5 2 2.8 5.3 4.3 8.4 5.6a42.4 42.4 0 0017 2.9h1.5a37.6 37.6 0 0014.4-2.8c2.7-1.1 6.1-2.2 7.3-5.2.9-1.7.2-4.1-2-4.3-1.8 0-3.5 1.2-5.3 1.7a44.3 44.3 0 01-20.6 3.2c-4.4-.5-8.5-2.1-12.5-4-1.5-.7-2.8-1.8-4.5-2z"/>
+      <path d="M518.3 449.6c-2.2-.3-3.7 2.2-3.3 4.1.3 1.8 1.8 3 3.1 4a30 30 0 0018.6 5.3h1.6a28 28 0 0012-2.8c2.5-1 5.4-2.3 6.3-5.2.4-1.3.6-3.2-.9-4-1.6-.8-3.1.5-4.5 1a34 34 0 01-15.5 3.9 27 27 0 01-13.1-4c-1.5-.7-2.7-2-4.3-2.3z"/>
+      <path d="M481.5 302.7c-3.2 3.3-.7 9.3-1 13.5 1.8 13.2 3.9 26.5 8.8 39 6 12 18.8 18.5 26.5 29.2 2.8 5.1 1.8 11.3 2.4 17 .4 15.3.3 30.7 0 46 7 3.6 14.5 7 22.5 5.7 4.7-1.1 13.5-1.8 14.5-6.5l-1-79.5c-2.7-8.1-11-12.3-17.1-17.5a155.5 155.5 0 01-14.2-16.1c-2.6-4.5-12.9-6-9.2 1.6 2.2 6.7 7.7 11.6 9.1 18.6.3 3.9 5 11 1 13.2a24.5 24.5 0 00-10.7-10c-4.4-3.3-11.7-4.7-13.3-10.5a42.9 42.9 0 00-11-22c1.5-7.4 0-16.7-6.4-21.5l-.9-.2z"/>
+      <path d="M491.4 304.2c-3 .5-2.8 4.2-1.5 6.2a27.2 27.2 0 011.1 13.4 44.1 44.1 0 0110.6 21.7c0 3 3.2 4 5.3 5.5 4.9 3.1 10.3 5.4 14.7 9.3.9 1 1.6 2 1 0-.7-2.6-1-5.4-3-7.3-2.8-3-6.2-5.6-10.2-6.4-.3-4.2-2.3-8-4.1-11.6-2-3.5-4.1-7.2-7.5-9.4 0-6.1 0-12.5-2.6-18.2-.8-1.4-2-3.1-3.8-3.2z"/>
+      <path d="M499.7 306.6c-2 .6-1.6 3.2-1 4.7a54 54 0 011 13.2c3.9 3 6.2 7.4 8.4 11.6 1.4 2.8 2.6 5.8 3.1 8.9 3.1 1 5.8 3 8.2 5-1-2.8-3-5-4.5-7.7s-3-5.6-3.7-8.7c-3-3.1-4.6-7.6-4-12 .2-4.7-1.3-9.6-4.5-13.2-.8-.8-1.8-1.7-3-1.8z"/>
+      <path d="M509.2 308c-1.2.2-1.8 1.2-2.4 2.1-.3.9.8 1.8 1 2.8a21.8 21.8 0 011.4 10.4c-.1 2.5.8 5 2 7a3.9 3.9 0 013.5-2.8c.5 0 1.4.2 1-.7-.4-4.8-1.1-9.6-2.8-14a9.6 9.6 0 00-2.8-4.5c-.2-.2-.6-.4-1-.3z"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 1440 0)" xlink:href="#a"/>
+    <path d="M715.7 476a35.6 35.6 0 01-29.9-24c.3-2.2 3 1.2 4.3 1.5a19 19 0 008 2.6c3.5 1.5 5.7 5 9.1 6.9 1.6 1.2 7.2 3.6 6.1-.3-1.3-2-2.2-4.6-1-7 1.8-4.1 4.7-7.7 7.7-11.2 2.1-.7 3.6 3.6 5.1 5 2.1 3.3 4.7 7.3 3.4 11.3-1.2 1.5-2 6 1.3 4.6 4-1.8 7.3-4.8 10.6-7.6 3-2 6.7-2.1 9.7-4 1.5-.3 4.4-3.1 5-1.6a44.9 44.9 0 01-7.4 12.3 32.1 32.1 0 01-18.8 10.9c-4.4.8-8.8 1-13.2.6z"/>
+    <path d="M731.5 460.2c.3-2.7-.3-5.4-1.7-8-2.1-4.2-5-8-8-11.9-2.8-1.6-4.3 3.7-6.1 5.2-2.9 4.3-6.5 8.7-6.7 14-1.6 2.5-4.6-2-5.9-3.5a19 19 0 01-4-12 50.8 50.8 0 013.6-20.6c2-5.6 5.1-11 4.8-17 .2-4.7-.7-9.7-4.4-12.8-3.6-2.8 2.3-3.4 4.1-2 3.2.3 4.9 5.5 7.8 4.2 1.1-2.7 1.4-6 3.8-8.1 2.3-3.2 4.7 1.3 5.5 3.5 1.7 1.8 0 6.5 2.6 6.6 3.2-2.3 5.5-6 9.6-6.9 1.7-1 4.5 0 2.3 1.8-3 2.9-5.6 6.4-6.2 10.7-.9 5.3.4 10.7 2.7 15.4 4.5 9.4 8 20 5.7 30.5-1 4.6-4.2 8.6-8 11.3-.5.3-1.3.3-1.5-.4z"/>
+    <path d="M726.7 389.6a21.2 21.2 0 00-5.6-7c-2.4 0-3.9 3-5.5 4.6-1.1 2.1-2.5 5.6-5.3 2.9-4.5-2.6-5.2-8.3-5.2-13-.3-7.6 2.8-14.7 5.5-21.6 1.7-4.3 1.3-9.2.2-13.6-1.3-5-5.4-8.6-8.5-12.6.2-1.5 4.2-.7 5.7-.4 3.4.9 5.4 3.8 7.9 6 1.8-.6 1-4.2 1.9-5.9 0-2.4 3.2-5.5 4.5-2.1 2 2.2 0 6.5 2.5 7.8 2.4-.9 3.6-3.5 5.8-4.7a8 8 0 017.8-.5c.9 2.2-2.6 4-3.6 6a20.4 20.4 0 00-3.8 18c1.4 5 3.8 9.5 4.7 14.5a40.1 40.1 0 01-.5 17.2c-.9 3.4-3.8 5.6-6.8 7-.8-.7-1.2-1.7-1.7-2.6z"/>
+    <path d="M711.6 326.9c-3.4-2.5-4.5-4.8-4.5-9.5 0-2.3.5-3.6 2-5.8 2.4-3.2 2-4.2-1.3-3.3-5.3 1.5-7.8.2-8-4.3 0-2.2.4-3.1 3.3-6.7 2.4-2.8 3.3-4.3 2.8-4.8-.5-.4-3.3 2-9 7.8a124 124 0 01-11.4 10.6c-9.8 6.6-19.2 7.6-23.5 2.5-2.2-2.6-2.1-4 .4-5.6a27.4 27.4 0 004.4-3.7 86 86 0 0116.1-11.6c3.6-1.8 4.4-3 2.1-3-3 0-12.5 6.2-19.8 12.8-2.1 2-5.2 4.2-6.8 5a25.4 25.4 0 01-13.9 1c-2.2-.7-6.3-4.5-6.3-5.9 0-.3 1-1.1 2-1.8a30 30 0 004.6-3.2c5.8-5 16.8-10.3 25.5-12.2 2.8-.5 1.7-2-1.4-1.8a56 56 0 00-25 11.7c-8.3 6.9-20.8 6.2-24.8-1.3-.7-1.3-1.2-2.5-1-2.7a92.8 92.8 0 0020.4-7.8 51.5 51.5 0 0118.1-6.5c2.8-.5 3-1.9.3-2.2-3.6-.4-9 1.4-18.5 6-12.3 6.1-15.8 7.2-22.2 6.8-6-.4-9.3-1.9-14-6.4-3.2-3-7.6-10.5-6.8-11.4a63.5 63.5 0 0015.8 1.3c8.3 0 10.6-.2 15-1.5a84.3 84.3 0 0024-12.1 57.5 57.5 0 0136.8-13.6c12.4 0 20.2 2.8 27.2 9.9 2.4 2.4 4.4 3.9 4.7 3.6.3-.3.6-4.5.7-9.3 0 0 3.7-.4 4.5.7 0 7.7 0 8.4 1.2 8.4.7 0 1.5-.8 2-2 1-2.5 5-6 9.2-8.2 9-4.5 24.7-4.7 37.3-.3a62.4 62.4 0 0116.7 9.5 90.2 90.2 0 0024 12c6.8 2 19 2.5 25.1 1a61.9 61.9 0 015.4-1c2.3 0-1.6 7.6-6.2 12.1-8.4 8.2-19.3 8.1-34.6-.1-9.6-5.2-21-8-21-5.2 0 .6.6 1 1.5 1 3.3 0 9.7 2.2 18.7 6.5a53.7 53.7 0 0018.3 6.5c2.3 0 2.4 1.5.2 4.7-2.3 3.4-6.2 5-11.7 5-5.3 0-8.3-1.1-13-5-8-6.6-27.6-14-26.9-10 .2.7 1.1 1.2 3.2 1.5a56 56 0 0123.1 11l5.9 4.3c1.1.6 1.1.8.2 2.5-1.4 2.8-5.2 4.9-9.2 5.3-5.2.6-9.8-1-14.5-5-10-8.3-19.3-14.3-22.3-14.3-2.5 0-1.4 1.4 3 3.7a79.7 79.7 0 0115.8 11c2 1.9 4.3 3.7 5 4.1 1.9 1 1.8 2.4-.2 5s-5.4 3.8-9.7 3.3c-8.6-.9-15.4-5-26-16a70.7 70.7 0 00-8.2-7.8c-1.4 0-.5 1.9 2.2 5 3.4 3.7 4 5.8 2.7 9-1.1 2.6-3 3.3-6.8 2.2-4-1-4.6 0-2 3.1 3.8 4.9 3.3 10.7-1.5 14.8a12 12 0 01-3.4 2.3c-.4 0-1.4-1-2.3-2.4-3-4.6-5.7-4.6-8.7 0a53.6 53.6 0 01-2 3 113.1 113.1 0 01-3-2.2z"/>
+    <path d="M726.7 233l-5.2 4-4.6-3.4v27.8h9.8z"/>
+    <path d="M694.9 204.3a88.3 88.3 0 01-9 32.3l11.1-10.3 7.7 9.2 8.4-9.4 8.5 8 8.2-8.3 8.5 10 7.4-8.2 12.6 9c-4.6-10-10.7-18.6-10-32.8-12.1 9-41 10.6-53.4.4z"/>
+    <path d="M717 197.6c-4.5 0-9.2.1-13.4 1a20.1 20.1 0 00-7.8 3c.3 8.6 41 12.1 51.9.2a20 20 0 00-8.2-3.3c-4-.8-8.6-.8-12.9-1v7.1H717v-7z"/>
+    <path d="M724.9 154h-6.3v49.4h6.4z"/>
+    <path d="M724.9 155.2l-2.4 23.7 24.3 11.9-12.3-16.5 16.8-5.5zm-2.7-6.1c-3.7 0-6.4 1.4-6.4 3s2.7 3 6.4 3 6.4-1.4 6.4-3-2.7-3-6.4-3z"/>
+  </g>
+  <g fill="#f7e017">
+    <path d="M249.6 401c2.9-1 4.5-2.7 5.6-6a18 18 0 001-3.9c-.3-1-1.6-1-2.9.2-1 .7-1 1.1-.8 2.7.7 4-.7 5-8.3 5.8-.7 0-2.9 0-4.8-.3-3.6-.4-4.8 0-3.5 1a7 7 0 002.2 1c2 .5 9.4.2 11.5-.6zm15.7-.7c.4-.4 1.8-1 3.2-1.5 1.8-.6 2.8-1.2 3.5-2.4 2.2-3.3 1.8-6.1-1.4-10-1.8-2-2.6-2-4 .4-1.2 2-1.2 2 .6 2.5 1 .2 1.8 1 2.3 1.8 1.9 3.3 1.3 5.3-1.5 5.3-2.6 0-3.3.4-4 2a8.9 8.9 0 00-.6 2.1c0 .7 1 .6 1.9-.2zm-5.2-3.8c.5-1.3.7-3.6.6-8.4 0-3.7-.1-6.8-.3-7-.4-.3-2.5 1-2.8 1.9-.1.5.1 1.5.5 2.3.7 1.3.8 2.5.6 7.5-.3 6.3.1 7.3 1.4 3.7z"/>
+    <path d="M248.1 393.6c.3-1.2.6-3.6.7-5.4.2-1.7.5-4 .8-5 .8-2.4 0-3-2-1.6l-1.4 1 .3 3.5c.3 3.2-.2 9.1-1 11.4-.1.7.2.5 1-.4a9.4 9.4 0 001.6-3.6zm-10.7 1.7c2.6-2.2 2.3-6 2.9-9 0-2 1.3-4.4.4-6.1-2.4.4-4 2.7-2.7 5 .1 2.7 0 5.6-1.3 8-1.1 1.5-4.7 1-4.5-1.1.9-3.3-3-1.7-4.6-.8-1.2.8-3.7.9-2.8-1.2-.6-2.8-4.1-1-6-1-1.8 0-.2-3.7-2.8-3-4.8-.5-10.2 0-14.4-3-2.4-1.1-2-4-.8-6 1.6-2.6 2-5.9 4.4-7.9 2.4-2.3-2.2-1.3-3.3-.5-2.3 1.2-.2 4.5-2 6.3-1.2 2-2.7 4.5-5.2 4.2-3.8-.7-6-4.2-8.6-6.5-2.3-.5-1 3.7.2 4.6a23.3 23.3 0 007.9 3.8c2.8-.5 2.9 3.2 5.3 3.8 4.4 2 9.3 2.6 14 2.9 2 .1.9 3.5 3.4 2.8 1.4.4 4.5-.5 4.6 1.1-2 2.5 2 2.5 3.6 2 2-.3 4.4-1 5 1.6 1.6 1.8 4.6 1.5 6.5.5l.8-.5z"/>
+    <path d="M195 373.7c.7-1 1.9-3 2.6-4.5a17.3 17.3 0 012.1-3.7c1.3-1.4.6-2.2-1.5-1.7-1 .2-1.5.6-1.6 1.5-.6 3-1.7 6.1-2.7 7.5-1.8 2.6-1.8 2.7-1 2.7.3 0 1.2-.8 2-1.8zM168.2 357c-2 0-2 1.3-.1 2 .9.3 1.7 1 2.3 2.4 2 3.7 3 4.4 8 4.8l3.3.3.1 2c.1 1 .4 2 .6 2 .3 0 1.5-.6 2.8-1.2 2.3-1.2 4.6-4 4.6-5.7 0-1.1-2-2.4-3.6-2.4a7 7 0 00-3.4 1.5c-3.6 2.6-7.4 2-9.5-1.3-1.7-2.8-3.5-4.4-5.1-4.4zm17.4 7c1 0 1.2.7.7 2-.4 1-1.6 1-2 0-.3-1 .3-2 1.3-2zm134.9-4.4c-1.3 0-1.7.3-2.5 1.6-1.4 2-1.5 6.3-.2 7.8.7 1 .8 1 2.5.3 2.3-1 2.7-.9 2.6.3 0 3.2-4.5 9.2-9.2 12.5a8.5 8.5 0 00-2.5 2.1c-.4 1 1.4.7 3.5-.4 3-1.5 6.8-5.4 8.4-8.5 1.2-2.5 1.4-3.3 1.6-7.6 0-4 0-5.1-.7-6.5-.7-1.5-1-1.6-2.9-1.6h-.6zm.2 2.8c1 0 1.1.2 1.2 1.6.1 1.2 0 1.9-.7 2.5-1 .8-1 .8-1.8-.4-1-1.7-.4-3.7 1.3-3.7zm-21.6 30.3a16 16 0 008.2-7.7 20.6 20.6 0 001.3-3.3c0-.6-2-1.5-3.3-1.5s-1.4-.9-1-3.2c.6-2.3 0-5.1-1-5.1-.4 0-1 .5-1.4 1.1-.7 1-.7 1.5-.2 3 .7 2 .1 3.7-1.8 5-1 .7-1.5 1.5-1.5 2.2 0 .6.1 1.1.2 1.1l2.3-1.1 2-1.2 1.3 1c.6.5 1.2 1.4 1.2 1.9 0 2.5-7.2 6.8-12.2 7.2-2.6.2-3 0-4-.8-.7-.8-1-1.4-.8-2.3l.6-2.7c.5-2.2-.5-1.9-2.1.7-1.4 2-1.8 4.4-1 5.6.6 1 4.7 1.9 7.6 1.7 1.8-.1 3.7-.6 5.6-1.6zm27.7-15.5c2.6-2.6 3.8-5.8 3.8-10.7v-3.7l2.1-1c2.8-1.3 5.5-4 5.5-5.4 0-1.6-.7-1.5-1.9.2-.9 1.2-2 1.9-6.4 3.9-1.1.5-1.2.8-1.4 5.4-.3 5.3-1 7.2-4 10.9-1.8 2.1-1.9 2.4-.6 2.4.5 0 1.8-.8 3-2zm-28.5-3c.3-.7-1.2-1.2-1.8-.6-.3.3-.3.7-.1 1 .4.7 1.7.5 2-.3zm39.3-10.1c.3-.8-1.2-1.3-1.8-.7-.3.3-.3.8-.1 1 .4.7 1.7.5 2-.3zm-47.3-27.6c-1 .5-1.5 1.6-2.2 2.5-.5.3-.1.6.2 1 1.8 1.9 2.5 4.5 3.4 7 .8 2.8 1.9 5.9 1 8.9-.4 1.1-1.3 2.3-2.6 2-2.2-.2-4.3-.7-6.4-.7-2 0-3.5 1.8-5.4 1.6-1.3.1-1.2-2.5-2.4-1.8-.6 1.4-.3 2.9-.4 4.4.3.2.9 0 1.2 0h4c.2 1.4.1 3 1.1 4 1.4.5 2.9 0 4.1-.5 1.4-.6 1.6-2.3 2-3.5.4-1.4 2.2-1 3.3-1.6a6.1 6.1 0 004.1-6.1c-.1-4.1-1.7-8-2.9-11.8-.6-1.7-1-3.4-1.7-5.1 0-.1-.2-.3-.4-.2zm-6.4 23.3c1.4 0 2 1.7 1.8 2.9-.6 1.6-2.6.6-3-.6-.7-1-.2-2.4 1.2-2.3z"/>
+    <path d="M230.4 346.5a3.6 3.6 0 00-2.1.7c-3.8 2.7-4.8 5.8-2.2 7 1.9.9 1.4 2-1.6 3.5-4.2 2-8 1.8-15-1.1-1.8-.8-2.3-.5-1.9 1.1.4 1.6 1.9 2.4 5.4 3.3 3.9.8 8.5.6 11.5-.7a14.9 14.9 0 004.6-3.6l2.3-2.5 2.7.3c3.3.4 3.4.5 3.4 2 0 1.3 0 1.4 3.1 1.6l5 .3c1.4 0 2.2.3 2.6 1 .6.7 1 .8 6 .3 4.6-.4 5.6-.4 7.7.4 1.5.5 3.1.7 4.4.5 3.6-.4 8.5-3.3 9.2-5.5.1-.2 1.4-.7 2.9-1 3.6-.7 3.8-1.5.4-1.9a24.3 24.3 0 01-4.9-1.2 13 13 0 00-3.7-.9c-1.8 0-3.6 1.1-3.6 2.3 0 .8.3.9 2.5.7 2-.3 2.6-.2 3.6.7.8.6 1.2 1.2 1 1.4-.4.8-4.6 2.7-6.5 3a5 5 0 01-3.2-.4c-1.7-.8-4.1-1-4.6-.3-.1.4-.7.2-1.4-.5l-1-1-2.6 1c-2.6 1-3.5 1-3.5-.2 0-.6-.7-.6-4.5-.4-4.2.3-4.6.2-5.4-.6-.7-.8-.7-1.1-.2-2 .5-.7.5-1 0-1.5-.4-.4-1-.4-2.6 0-4.1 1.1-5.3.5-5.3-2.7 0-2-1.1-3.1-2.5-3.1zm-1 3c.2 0 .3 0 .6.4.4.3.6 1 .4 1.4-.3 1-2.1.9-2.5-.1-.1-.5 0-1 .6-1.4l.8-.4z"/>
+    <path d="M222 352.4c2.4-1.6 2.4-1.4 2.7-5.9.3-3 .3-3.3-.6-3.3-1.2 0-1.9 1.3-1.9 3.9 0 1.6-.2 2.4-1 3.3-2.2 2-7.4 1.1-8-1.5-.2-.9 0-1.7 1.1-3.2 2.3-3.2 1.8-4-1-1.6-2 1.7-2.3 1.7-1.9.3.3-1.3-.4-1.9-2-1.5-.7.2-1.1.7-1.3 1.7-.2 1-.7 1.5-1.4 1.6-1.3.4-3.4-.8-3.4-1.9 0-.7 3.2-4.6 7.3-9a19 19 0 002.9-3.3c0-.2-.9-.4-1.9-.4-1.5 0-1.8.2-1.8.9 0 .4-2.1 3.2-4.7 6-5.3 6-5.7 7.3-3 8.8a6.4 6.4 0 006.9-.2l1.7-1.2v2.2c0 2.7.5 3.6 2.7 4.8a8.5 8.5 0 008.5-.5zm111.3-36.9c-2 1.2-.5 3.7-.2 5.3-.8 2.2-3.6 2.8-5.7 3.3-3 .4-5.1 3-6.2 5.6-.6 1.7-2.1 4.3-3.7 1.7-1.4-1.4-4-2.5-5.6-.9-1.3 1.2-1.6 3-2.1 4.6-.7-1.2-1-3-2.6-3.4-2.5.3-1.6 3.5-.5 4.8 1.1 1.5 2.1 3.5 1 5.3-.8 2.2-4 3.6-6 1.8-1.7-1-.5-4.3-2.2-4.5-.9.7-1 4.1-2.3 2.2-1-1.6-.5-3.8-1.7-5.2-1.4.2-2.6 2.6-2.1 4a23 23 0 013.4 8.8c.5 1.3 0 3.7 1.1 4.2.8-2 0-4.2.7-6.2 1.8-.2 4 .6 5.9.2 2.8-.4 5-2.7 5.9-5.2.3-2 0-3.8-.1-5.7 2.2.3 4.5.3 6.6 1 1 1.6-.3 3.9-.6 5.6-1.1 3.6-4 6.2-6.7 8.6-1.1.7-1.3 2.5.4 1.6 3.7-1.6 6.4-5 8-8.6 1.2-2.7.2-5.8 1-8.6 1.1-2.2 3.8-1.7 5.8-1.7 2-.1 3.8-2.5 3-4.5-.6-2.3 1.9-3.4 3.5-4.2 2.2-1.1 4-3.4 3.8-6-.1-1.3 0-3.8-1.8-3.9zm-7.9 13.3c2.4.7-.4 5.2-1.7 2.3-.3-1 .6-2.3 1.7-2.3zm-11 3.3c3.1-.2 2 4.3-.6 2.3-1.4-.7-1-2.4.6-2.3zm-111.7 17.4c.1-.5-.1-.8-.5-.8-.9 0-1.4.8-1 1.4.4.7 1.4.3 1.5-.6zm36.2-4c0-.7-.3-1-.8-.8-1.2.2-1.4 1.7-.2 1.7.7 0 1-.3 1-1zm-44.7-21.7c-1.5-.3-2.4.9-2.9 2-1 1.9-2.4 3.7-4.3 4.7-1.4.4-3-.2-4.1-.9-1.5-.7-1.1-2.4-1.8-3.6-1-.8-2.8.3-2.8 1.6-.1 1.7 1.5 2.7 2.8 3.3 1.1.7 2.7 1.1 3.2 2.5 0 1.2.4 2.5 1.9 2 1.6 0 2 2 1.3 3.2a6.8 6.8 0 00-.8 4.3c.8.7 1.6-1 2.2-1.6l1.1-1.5c2.8.2 5.7.5 8.5.4 2 0 3.8-1.3 5-2.7 1.9-2 3.4-4.2 5.5-5.8 1.5-.4.7-3.2-.9-2.4-1.4.6-1.8 2.1-2.8 3.1-1.6 2-3.3 4-5.4 5.6-1.5.6-3.2.4-4.8 0-.6-.5 1.3-1 1.6-1.6.9-1 2-1.8 2.4-3-.5-1-2-1.1-3-1.1-2.7.3-4.7 2.5-7.3 2.7-2 0-1-2.1 0-2.8 1.7-2.1 3.6-4.1 5.5-6.2.5-.6 2.4-1.2 1.2-2-.4-.2-.9-.2-1.3-.2zm1.3 10.6c1.3.7-.9 2-1.8 1.8-1.2.3-1.2-.9-.2-1.1.6-.3 1.3-.7 2-.7zm-4.1 2.8c.7 0 2.3.7.8 1.1-1 .8-2.2-.8-.8-1.1z"/>
+    <path d="M223.4 339c0-1-1.8-.9-2 .2-.1.6 0 .8 1 .7.5-.1 1-.5 1-.9zm79.7-7c.2-1-1.2-1.6-1.9-1-.7.8 0 2.1 1 2 .4-.2.8-.6.9-1zm-124-9.8c1.2-1 1.2-1.1.7-3.5-.8-3.3-.7-3.7.5-4 1.6-.4 5.7 1.8 6.6 3.5.7 1.4.7 1.4-.5 2.5-1.3 1.2-1.3 2.6 0 2.6 1 0 4-2.8 4-3.8 0-1.3-3.3-4.6-5.8-5.8a11.4 11.4 0 00-5-1c-3.3 0-3.7.7-2.9 4.5 1 4.4-.3 5-4 1.7a11.1 11.1 0 01-3.6-9.2c0-4.4 1.7-6.6 5.4-7 2.6-.4 2.5-1 0-1.4-3.9-.6-7 2-8.3 6.4-1.3 5 1.8 11.1 7.2 14.2 2.9 1.7 4 1.7 5.7.3zm148.5-5.5c.3-.3.5-1 .5-1.5s.6-1.7 1.2-2.5a7.2 7.2 0 001.2-2c0-.9-1.5-.8-2.6 0-1.2 1-2 1-2 .1 0-.2.5-.7 1.2-1 1.7-.8 1.8-1.6.4-2.3-1.9-.8-3.7.7-3.9 3.2-.1 1.7 0 2 1.3 2.7 1.2.7 1.4 1.1 1.2 2-.3 1.8.4 2.4 1.5 1.3zm14-1.6c1-.9 1.8-2 1.8-2.3 0-.3.9-1.2 2-2 3-2.2 3.7-4.4 2.3-7.9-.5-1.3-2.2-3.2-5.8-6.5a37 37 0 00-5.7-4.6c-1 0-.9 3.7.1 4 1.9.6 3 1.4 5.8 4 3.4 3 4.9 5.8 4 7.3-.7 1.5-1.8 1-4.8-2-1.5-1.7-3-3-3.3-3-.4 0-.6.5-.6 1.4 0 1 .5 2 2 3.7 2.5 2.8 2.8 4.4 1 5.9-.8.5-1.4 1-1.6 1a35.7 35.7 0 00-9.5-10.6c-.5 0-.7.4-.7 1.5 0 1.3.3 1.8 1.3 2.3 1.2.6 4.4 3.8 7.5 7.6.9 1 1.8 2 2 2 .1 0 1.1-.8 2.1-1.8zm6.2-17.8c-.4-1.3-9-10-9.8-10-.5 0-.6.5-.5 1.9 0 1.7.3 2 1.4 2.2.8.3 3 2 5 4s3.8 3.4 4 3.3l-.1-1.4zm-51 98.7a1.3 1.2 0 11-2.4 0 1.3 1.2 0 112.5 0zm4.6-1.5a1.3 1.2 0 11-2.6 0 1.3 1.2 0 112.6 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bo.svg
new file mode 100644
index 0000000..52a534f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bo.svg
@@ -0,0 +1,678 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bo" viewBox="0 0 512 512">
+  <path fill="#007934" d="M0 0h512v512H0z"/>
+  <path fill="#ffe000" d="M0 0h512v341.3H0z"/>
+  <path fill="#d52b1e" d="M0 0h512v170.7H0z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M307.8 224.8L203.3 329.2a97.8 97.8 0 00-1.4-1c.4-.5 104-103.8 104.5-104.5a7.4 7.4 0 011.4 1z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M314.3 218.2c-.4.7-1.5 2.6-1 4l-2.1-1.6c.5 1 .4 1.5-.2 1.9-.3.4-1.5.3-2.2.2a6 6 0 002.6 1l2 .1c-.6.3-2.3.9-3.4 1-.6.2-1.7.3-2.2 0-.6.6-2-.4-1.3-1-.3-.4-.3-.9-.4-1.5 0-.8 0-2 .7-3.2 0 .6.3 1.2.5 1.8.2.5.7 1 1.2 1.5-.3-.5-.5-1.3 0-1.9.6-.5 1.4-.5 2.2-.2l-2-1.4c.8 0 3.5-1 4.4-1.6a67 67 0 005.2-4 57.6 57.6 0 00-4 4.9z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M327.5 237.6l-134 75.7-1-1.3c.5-.4 133.2-75.2 134-75.7a6.3 6.3 0 011 1.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M335.9 232.8c-.6.6-2.3 2.2-2.3 3.6-.7-.7-1-1.2-1.6-2 .3 1 0 1.6-.7 1.8-.4.3-1.5 0-2.2-.3.6.6 1.2 1.2 2.2 1.6l1.9.5c-.7.2-2.5.3-3.7.2-.5 0-1.6-.2-2-.6-.8.5-1.8-.8-1-1.3-.2-.3 0-.8.1-1.4.2-.8.7-2 1.7-3a8.3 8.3 0 000 1.9c0 .6.3 1.1.6 1.7-.1-.5 0-1.3.7-1.7.7-.5 1.5-.3 2.1.2l-1.5-1.8c.8.2 3.7-.2 4.7-.5s4.4-1.8 6.4-2.7a65 65 0 00-5.4 3.8z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M316 232l-120.4 90.9-1.2-1.2 120.5-90.9a6.3 6.3 0 011.2 1.2z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M323.6 226.2c-.5.7-2 2.4-1.7 3.9l-1.8-1.8c.4 1 .1 1.5-.5 1.8-.4.4-1.5.2-2.2 0 .7.5 1.4 1 2.4 1.3l2 .3c-.7.3-2.4.6-3.6.7-.6 0-1.7 0-2.1-.4-.7.5-2-.6-1.2-1.2-.2-.3-.2-.8-.1-1.5 0-.7.4-2 1.2-3a8.4 8.4 0 00.2 1.8c.1.6.5 1 1 1.6-.3-.5-.3-1.3.3-1.8.7-.5 1.5-.4 2.1 0l-1.7-1.7c.8.1 3.6-.6 4.6-1 1-.4 4-2.2 5.8-3.4a61.8 61.8 0 00-4.7 4.4z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M204.2 224.8l104.5 104.4a97.8 97.8 0 011.4-1L205.5 223.6l-1.3 1z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M197.7 218.2c.3.7 1.5 2.6 1 4l2.1-1.6c-.5 1-.4 1.5.2 1.9.3.4 1.5.3 2.2.2a6 6 0 01-2.6 1l-2 .1c.6.3 2.3.9 3.4 1 .6.2 1.7.3 2.2 0 .6.6 2-.4 1.4-1 .2-.4.3-.9.3-1.5a6.2 6.2 0 00-.7-3.2 8.5 8.5 0 01-.5 1.8c-.2.5-.7 1-1.2 1.5.3-.5.5-1.3 0-1.9-.6-.5-1.4-.5-2.2-.2l2-1.4c-.8 0-3.5-1-4.4-1.6a67 67 0 01-5.2-4c1.3 1.4 3.6 4.1 4 4.9z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M184.5 237.6l134 75.7 1-1.3c-.5-.4-133.2-75.2-134-75.7l-1 1.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M176.1 232.8c.6.6 2.3 2.2 2.4 3.6l1.4-2c-.2 1 .2 1.6.8 1.8.4.3 1.5 0 2.2-.3a5.4 5.4 0 01-2.2 1.6l-1.9.5c.7.2 2.5.3 3.6.2.6 0 1.7-.2 2.1-.6.8.5 1.8-.8 1-1.3.2-.3 0-.8-.1-1.4a6.8 6.8 0 00-1.7-3v1.9c0 .6-.3 1.1-.6 1.7.1-.5 0-1.3-.7-1.7-.7-.5-1.5-.3-2.1.2l1.4-1.8c-.7.2-3.6-.2-4.6-.5-1-.3-4.4-1.8-6.4-2.7a65 65 0 015.4 3.8z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M196 232l120.4 90.9 1.2-1.2-120.5-90.9-1.2 1.2z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M188.4 226.2c.5.7 2 2.4 1.7 3.9l1.8-1.8c-.4 1-.1 1.5.5 1.8.4.4 1.5.2 2.2 0-.6.5-1.4 1-2.4 1.3l-2 .3c.7.3 2.4.6 3.6.7.6 0 1.7 0 2.1-.4.7.5 2-.6 1.2-1.2.2-.3.2-.8.1-1.5 0-.7-.4-2-1.2-3a8.4 8.4 0 01-.2 1.8c-.1.6-.5 1-1 1.6.3-.5.3-1.3-.3-1.8-.7-.5-1.5-.4-2.2 0l1.8-1.7c-.8.1-3.6-.6-4.6-1a70.7 70.7 0 01-5.8-3.4l4.7 4.4z"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M234.8 302.4a40.8 40.8 0 0117.8-4c-8.5 6.5-17 6.8-17.8 4z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M234.8 302.4c.8 2.8 9.3 2.5 17.8-3.9a67 67 0 01-17.7 3.9z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M234.8 302.4c.8 2.8 9.3 2.5 17.8-3.9a67 67 0 01-17.7 3.9z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M234.8 302.3a44 44 0 0117.8-3.9c-8.4 6.5-17 6.7-17.8 4z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M285.4 234.8l-27.2 55.8c-1.3 1.1-2.4-.3-2.8-.2-1.7 1.9-3.9 2.3-4.4 2.7-1.9 2.5-.8 4.6-.7 4.8 1.4 2-1.7 3.8-1.5 4.4-.7 1-3 .8-3.4 2l-5 10c-.8.5-4 6.5-4 6.5-2.2 0-10.9-5.6-11-5.5 4.8-7.8 16.5-19.7 16.2-20.5 3.3-5.6 8.5-11.6 10.8-11.5 3.2-1.7 4.8-6 4.1-7 2.5-.1 3.8-1.6 4-1.7l20-40c1.7-.6 1.5.1 2 1 0 0 1-1.2 1-1.4 1-.4 1.9.2 1.9.6z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M286.4 222.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.2l-32 65.2c-1.3 1.1-2.6-.2-3 0l21.9-44.7 10.6-20-2.9-1.3c-.9-.2-1.2-.8-.8-1.7l13.4-23-10.7 22.3-.3.5"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M286.4 222.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.2l-32 65.2c-1.3 1.1-2.6-.2-3 0l21.9-44.7 10.6-20-2.9-1.3c-.9-.2-1.2-.8-.8-1.7l13.4-23-10.7 22.3-.3.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M244 290.6c-3-.1-4.8 2.2-2.8 5m1.5-2.5c-1.1.6-1.9-.4-1.9-.4m16.3-14c-1.7 6-4.7 10-5.3 11.2-2.3 2.4-4.2 7.7-3.8 8.7l-8.7 14.2"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M258.1 290.9c-1.4-.5-6.1-4.9-10.7-4.1-3.5 4-5.6 8.2-6.2 8.8a60 60 0 008.1 5.8c.7-.5 1-1.7 1-1.7 1-1-.1-1.8-.1-1.8.1-2.7 2-4.5 4-4.6 2.4-.2 1.7-.4 2-.4 1.1-.6 1.9-2 1.9-2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M258.1 290.9c-1.4-.5-6.1-4.9-10.7-4.1-3.5 4-5.6 8.2-6.2 8.8a60 60 0 008.1 5.8c.7-.5 1-1.7 1-1.7 1-1-.1-1.8-.1-1.8.1-2.7 2-4.5 4-4.6 2.4-.2 1.7-.4 2-.4 1.1-.6 1.9-2 1.9-2z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M253.4 291c-2.1 0-4.3 1-5 2.8l5-2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M253.4 291c-2.1 0-4.3 1-5 2.8m-3.9.7c.2.4.8.7 1.3.5.5-.2.8-.7.6-1.1-.2-.5-.8-.7-1.3-.5-.5.2-.8.6-.6 1.1zm2.7-3.6c.2.4.8.6 1.3.5.5-.2.8-.7.6-1.2-.2-.4-.8-.6-1.3-.4-.5.1-.8.6-.6 1z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M283 241.2c.8-.3 1.2-1.3.8-2.2l-5-1.8s-.6.1-1 .8c-.6.7.1 1.3.1 1.3l5.1 1.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M283 241.2c.8-.3 1.2-1.3.8-2.2l-5-1.8s-.6.1-1 .8c-.6.7.1 1.3.1 1.3l5.1 1.9"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M228.8 305.1c4.2-2.9 16-4.6 17.7-4.1-8.3 6.6-16.9 7-17.7 4.1z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M228.9 305.1c.8 2.8 9.3 2.5 17.6-4a66 66 0 01-17.6 4z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M228.9 305.1c.8 2.8 9.3 2.5 17.6-4a66 66 0 01-17.6 4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M228.8 305.1a42.6 42.6 0 0117.8-4.2c-8.4 6.6-17 7-17.8 4.2z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M278 236.9L252 293c-1.3 1-2.5-.3-2.9-.2-1.5 1.9-3.8 2.3-4.2 2.7-1.9 2.6-.8 4.7-.7 4.9 1.5 1.8-1.6 3.7-1.4 4.3-.6 1.1-2.9 1-3.3 2.2-.1-.1-4.5 9-5 10-.6.5-3.7 6.5-3.7 6.5-2.3 0-11-5.4-11.2-5.3 4.7-7.9 16.1-20 15.9-20.7 3.2-5.6 8.3-11.7 10.5-11.7 3.2-1.8 4.7-6.1 4-7 2.5-.2 3.8-1.7 4-1.8l19.2-40.3c1.7-.6 1.4 0 2 1l1-1.4c.9-.5 1.8.2 1.8.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M278 236.9L252 293c-1.3 1-2.5-.3-2.9-.2-1.5 1.9-3.8 2.3-4.2 2.7-1.9 2.6-.8 4.7-.7 4.9 1.5 1.8-1.6 3.7-1.4 4.3-.6 1.1-2.9 1-3.3 2.2-.1-.1-4.5 9-5 10-.6.5-3.7 6.5-3.7 6.5-2.3 0-11-5.4-11.2-5.3 4.7-7.9 16.1-20 15.9-20.7 3.2-5.6 8.3-11.7 10.5-11.7 3.2-1.8 4.7-6.1 4-7 2.5-.2 3.8-1.7 4-1.8l19.2-40.3c1.7-.6 1.4 0 2 1l1-1.4c.9-.5 1.8.2 1.8.6z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M278.8 224.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.1L252 293.1c-1.3 1-2.6-.3-3 0l21-45 10.2-20.2-3-1.2c-.9-.2-1.1-.8-.8-1.7l13-23.3-10.4 22.6-.2.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M278.8 224.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.1L252 293.1c-1.3 1-2.6-.3-3 0l21-45 10.2-20.2-3-1.2c-.9-.2-1.1-.8-.8-1.7l13-23.3-10.4 22.6-.2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M237.8 293.2c-3.1 0-4.8 2.3-2.7 5m1.4-2.5c-1.1.7-1.8-.3-1.8-.3m16-14.2c-1.6 6-4.5 10-5.1 11.3-2.3 2.3-4 7.7-3.7 8.6l-8.3 14.4"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M251.9 293.3c-1.5-.5-6.2-4.7-10.8-4-3.4 4.2-5.4 8.4-6 9a55 55 0 008.2 5.6c.7-.4 1-1.6 1-1.6 1-1-.2-1.9-.2-1.9 0-2.6 2-4.5 3.9-4.6 2.4-.3 1.7-.4 2-.5 1.1-.6 1.9-2 1.9-2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M251.9 293.3c-1.5-.5-6.2-4.7-10.8-4-3.4 4.2-5.4 8.4-6 9a55 55 0 008.2 5.6c.7-.4 1-1.6 1-1.6 1-1-.2-1.9-.2-1.9 0-2.6 2-4.5 3.9-4.6 2.4-.3 1.7-.4 2-.5 1.1-.6 1.9-2 1.9-2z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M247.2 293.5c-2.1 0-4.3 1-5 2.8l5-2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M247.2 293.5c-2.1 0-4.3 1-5 2.8m-3.8.8c.2.5.8.7 1.3.5.5-.2.7-.7.5-1.1-.2-.5-.8-.6-1.3-.5-.5.2-.7.7-.5 1.1zm2.6-3.7c.2.5.8.7 1.3.5.5-.2.7-.7.5-1-.2-.5-.7-.7-1.2-.6s-.8.7-.6 1.1z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M275.8 243.3c.8-.4 1.2-1.3.7-2.2l-5-1.7s-.6 0-1 .8c-.6.7.1 1.2.1 1.2l5.2 1.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M275.8 243.3c.8-.4 1.2-1.3.7-2.2l-5-1.7s-.6 0-1 .8c-.6.7.1 1.2.1 1.2l5.2 1.9"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M278 302.2a41 41 0 00-18-4c8.6 6.6 17.2 6.8 18 4z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M278 302.2c-.8 2.8-9.4 2.6-18-3.9a68 68 0 0018 3.9z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M278 302.2c-.8 2.8-9.4 2.6-18-3.9a68 68 0 0018 3.9z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M278 302.1c-4.5-3-17-4.2-18-3.9 8.6 6.5 17.2 6.8 18 4z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M226.9 234l27.4 56.4c1.4 1 2.5-.4 3-.2 1.6 1.8 3.8 2.2 4.3 2.6 2 2.6.9 4.7.8 4.9-1.5 2 1.6 3.8 1.5 4.4.6 1 3 .8 3.4 2.1l5.1 10c.7.5 4 6.6 4 6.6 2.3 0 11-5.7 11.2-5.6-5-7.8-16.7-19.9-16.5-20.7-3.3-5.6-8.6-11.7-10.9-11.6-3.2-1.7-4.8-6-4.1-7-2.5-.1-3.9-1.6-4-1.7l-20.3-40.5c-1.7-.6-1.4.1-2 1.1l-1-1.4c-1-.5-1.9.2-1.9.6z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M225.8 221.7c.6 1-.3 1-.5 1.2l-1.2.4c-1.3 0-2 .7-2 1l32.2 66c1.4 1.1 2.7-.2 3.1 0l-22.1-45.1-10.7-20.3 2.9-1.2c.9-.2 1.2-.8.8-1.8l-13.6-23.3 11 22.7.1.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M225.8 221.7c.6 1-.3 1-.5 1.2l-1.2.4c-1.3 0-2 .7-2 1l32.2 66c1.4 1.1 2.7-.2 3.1 0l-22.1-45.1-10.7-20.3 2.9-1.2c.9-.2 1.2-.8.8-1.8l-13.6-23.3 11 22.7.1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M268.7 290.3c3.1-.1 4.9 2.2 2.8 5m-1.4-2.5c1 .6 1.8-.4 1.8-.4m-16.4-14c1.7 6 4.7 10 5.3 11.2 2.3 2.4 4.3 7.8 3.9 8.7l8.7 14.4"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M254.5 290.6c1.4-.5 6.1-5 10.8-4.2 3.5 4.2 5.6 8.3 6.2 9a53 53 0 01-8.2 5.8c-.7-.5-1-1.7-1-1.7-1-1 .2-1.9.2-1.9-.1-2.6-2-4.5-4-4.6-2.5-.2-1.8-.4-2.1-.4a6.2 6.2 0 01-2-2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M254.5 290.6c1.4-.5 6.1-5 10.8-4.2 3.5 4.2 5.6 8.3 6.2 9a53 53 0 01-8.2 5.8c-.7-.5-1-1.7-1-1.7-1-1 .2-1.9.2-1.9-.1-2.6-2-4.5-4-4.6-2.5-.2-1.8-.4-2.1-.4a6.2 6.2 0 01-2-2z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M259.2 290.7c2.1 0 4.4 1 5 2.8l-5-2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M259.2 290.7c2.1 0 4.4 1 5 2.8m4 .7c-.2.5-.8.7-1.3.6-.5-.2-.8-.7-.6-1.2.2-.4.8-.6 1.3-.5.5.2.8.7.6 1.1zm-2.7-3.6c-.2.4-.8.6-1.3.4-.6-.1-.8-.6-.6-1 .2-.5.8-.7 1.3-.6.5.2.8.7.6 1.2z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M229.3 240.4c-.8-.3-1.2-1.3-.8-2.2l5-1.8s.7 0 1.2.8c.5.7-.2 1.2-.2 1.2l-5.2 2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M229.3 240.4c-.8-.3-1.2-1.3-.8-2.2l5-1.8s.7 0 1.2.8c.5.7-.2 1.2-.2 1.2l-5.2 2"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M283.3 305.1c-4-2.9-16-4.6-17.7-4.1 8.4 6.6 17 7 17.7 4.1z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M283.3 305.1c-.8 2.8-9.3 2.5-17.6-4a66 66 0 0017.6 4z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M283.3 305.1c-.8 2.8-9.3 2.5-17.6-4a66 66 0 0017.6 4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M283.3 305.1a42.6 42.6 0 00-17.7-4.2c8.4 6.6 17 7 17.7 4.2z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M234.1 236.9l26 56.2c1.4 1 2.5-.3 3-.2 1.5 1.9 3.7 2.3 4.2 2.7 1.8 2.6.8 4.7.6 4.9-1.4 1.8 1.6 3.7 1.5 4.3.6 1.1 2.9 1 3.3 2.2.1-.1 4.5 9 4.9 10 .7.5 3.8 6.5 3.8 6.5 2.2 0 11-5.4 11.2-5.3-4.7-7.9-16.2-20-16-20.7-3-5.6-8.2-11.7-10.5-11.7-3.1-1.8-4.6-6.1-4-7-2.4-.2-3.7-1.7-3.9-1.8L239 236.7c-1.7-.6-1.4 0-2 1l-1-1.4c-.9-.5-1.8.2-1.9.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M234.1 236.9l26 56.2c1.4 1 2.5-.3 3-.2 1.5 1.9 3.7 2.3 4.2 2.7 1.8 2.6.8 4.7.6 4.9-1.4 1.8 1.6 3.7 1.5 4.3.6 1.1 2.9 1 3.3 2.2.1-.1 4.5 9 4.9 10 .7.5 3.8 6.5 3.8 6.5 2.2 0 11-5.4 11.2-5.3-4.7-7.9-16.2-20-16-20.7-3-5.6-8.2-11.7-10.5-11.7-3.1-1.8-4.6-6.1-4-7-2.4-.2-3.7-1.7-3.9-1.8L239 236.7c-1.7-.6-1.4 0-2 1l-1-1.4c-.9-.5-1.8.2-1.9.6z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M233.3 224.7c.5 1-.3 1-.6 1.2l-1.1.3c-1.3 0-2 .7-2 1.1l30.6 65.8c1.3 1 2.6-.3 3 0l-21-45-10.2-20.2 3-1.2c.8-.2 1.1-.8.7-1.7l-12.9-23.3 10.3 22.5.2.5"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M233.3 224.7c.5 1-.3 1-.6 1.2l-1.1.3c-1.3 0-2 .7-2 1.1l30.6 65.8c1.3 1 2.6-.3 3 0l-21-45-10.2-20.2 3-1.2c.8-.2 1.1-.8.7-1.7l-12.9-23.3 10.3 22.5.2.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M274.3 293.2c3.2 0 4.9 2.3 2.8 5m-1.4-2.5c1 .7 1.8-.3 1.8-.3m-16-14.2c1.6 6 4.5 10 5 11.3 2.3 2.3 4.1 7.7 3.8 8.6l8.3 14.4"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M260.3 293.3c1.4-.5 6.2-4.7 10.8-4 3.4 4.2 5.4 8.4 6 9a53.2 53.2 0 01-8.3 5.6c-.6-.4-1-1.6-1-1.6-.8-1 .3-1.9.3-1.9 0-2.6-2-4.5-3.9-4.6-2.4-.3-1.7-.4-2-.5-1.1-.6-1.9-2-1.9-2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M260.3 293.3c1.4-.5 6.2-4.7 10.8-4 3.4 4.2 5.4 8.4 6 9a53.2 53.2 0 01-8.3 5.6c-.6-.4-1-1.6-1-1.6-.8-1 .3-1.9.3-1.9 0-2.6-2-4.5-3.9-4.6-2.4-.3-1.7-.4-2-.5-1.1-.6-1.9-2-1.9-2z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M265 293.5c2 0 4.3 1 5 2.8l-5-2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M265 293.5c2 0 4.3 1 5 2.8m3.8.8c-.2.5-.8.7-1.3.5-.5-.2-.8-.7-.6-1.1.2-.5.8-.6 1.3-.5.6.2.8.7.6 1.1zm-2.6-3.7c-.2.5-.8.7-1.3.5-.5-.2-.8-.7-.6-1 .2-.5.8-.7 1.3-.6.5.2.8.7.6 1.1z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M236.4 243.3a1.6 1.6 0 01-.8-2.2l5-1.7s.7 0 1.1.8c.5.7-.2 1.2-.2 1.2l-5 1.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M236.4 243.3a1.6 1.6 0 01-.8-2.2l5-1.7s.7 0 1.1.8c.5.7-.2 1.2-.2 1.2l-5 1.9"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M251 267.4l37.8-40.5a94.1 94.1 0 01-1.4-1l-38 40.5c-.5-.2 2 1.3 1.5 1z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M287.8 226.3c-1.3-1-3.7-2.3-5.3-2-.6-2.2 2.7-4.6 4-4.2-.3 2.5 3.4 4 3.3 4l-2 2.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M290.3 224.4c1 .9 1.4 1 3 1.7 1.4.8 3.4-1.2 4.3-1.8 0 0 1 3.6-1.2 6s-4.9 3-7 2.2c0 0 2.8-2.7 1.7-3.9-1.1-1.1-1.5-1.2-2.6-2"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M19.4-370.2h4.4v2.4h-4.4z" transform="matrix(-.67726 .73575 -.82314 -.56784 0 0)"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M243.4 309.7l-1 9.6 1.9-2.4c.3-.6 1.6-2.2 1.9-7.9 0 0-1-3-1.5-3-.8-.5-1.3 3.7-1.3 3.7zm2.3-21.5L243 305c0 .4 1.3 1.7 2.3-1.3l1.5-11.2-1-4.4z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M251.6 303.5c-.6-.8-1.4-1.7-1.5-2.1l-.4 3.4s2.1 1.5 1.8 4.6l.5-.6.2-1.3s.5-2 .5-3.2c0 0-.5-.2-1.1-.8z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M242.4 319.3s3.6-3 3.8-10.3l.4-2s0 1.6.8.4c.7-1.6.7-3 .7-3s1.3-1.6 1.7.4l-1.3 10.2a54.8 54.8 0 01-.3 2.2s-.7-1.2-1.4 0c-.8 1.3-2 2.9-4.4 2.1zm4.3-26.7l-1.5 11.2s1.2.6 1.4 3.2c.1 1.2.6.6.8.4.3-.8 0-2.4 0-2.4l.8-7.8s-1.4-3.6-1.5-4.6z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M245.5 318.7l-.2 2.8s1 0 1.8-1.2c.8-1.3 1-3 1-3s-.7-1.3-1.3 0a4 4 0 01-1.3 1.4zm2-11.3a6.3 6.3 0 00.6-3l-.8.6c.3 1.2.1 2.4.1 2.4z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M251 306.3c-.6-1-1.4-1.6-1.4-1.6l-1.6 12.7s-.4 3.2-2.4 4c0 0 1.1 11 4.7 8 .5-.5 1.2-3.9 1-5.9l-1-6.4a28.5 28.5 0 011.2-7.8c.2-.2 0-1.8-.6-3z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M252.7 304.3l1.1 1c.2 0-2.5 20.7-2.5 20.7s0-2.2-.7-6.4c-.7-3.4.2-8 1-10.2 0 0 .8-.7 1-5z"/>
+  <path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M248 297.4l-.6 7.6s1.8-2.6 2.3-.2l.4-3.5s-1.6-2.5-2-4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.7 307s-.6-6.5-3.8-2c0 0-.3 2.7 0 3.3 0 .8.9 1.8 1.3 2.5.7 1 1.4-.3 1.4-.3s.7-1 1-3.5z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M221.7 252.7c-.2-3.7-1.3-9.8-1.4-14l-12.8-13.1s-1.6 10.5-6.2 16.6l20.3 10.5"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M222.6 253.2c.5-2.6 1.2-5.5 1.6-11l-8.2-8c0 3.4-3.8 8.6-4.1 15"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M229.7 261c1-4.5-1.4-5.1 2-11.5l-7.6-7.3c-1.4 4.3-2.3 7-2.2 10.8l6.5 4.6"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M200 288c-1.5-4.5.6-13.5.4-19.3-.2-3.7 2.5-17.6 2.5-21.9l-15-9.4s-.7 15.3-2.5 32a66.3 66.3 0 00-.4 22.8c1.6 9.3 3.2 13.1 7 17 6.6 7 20.9 3 20.9 3 12-2.6 19-10.2 19-10.2s-4 1-10.3 1.6c-14-1-19.4 2.5-19.8-11.8"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M240.4 297.4l.2-.1c-2.6 1-6.2 2-6.2 2l-8.5.7c-18.4.4-16.1-11-15.4-29.4.2-7 1.6-15.8 1.2-18.9l-12.3-7c-4 11.3-2.8 19.3-3.6 25-.4 6.4-1.8 18.6.3 24 2.9 12.4 12.6 11.9 25.8 10.8 6.5-.6 10-2.3 10-2.3l8.5-4.9"/>
+  <path fill="#007a3d" stroke="#000" stroke-width=".1" d="M240.6 297.1a37.3 37.3 0 01-6.3 2.3l-8.6.9c-13.3 1-21.1-8.3-19.4-29.5A66 66 0 01209 250l7.3 4.3v.7c-.4 2.2-1.4 7.5-1.4 9.9 0 17 10.7 30 25.4 32.3l.2-.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M192 246c1.2 2 8.6 13.3 12.7 15.5m-11.5-8.2c1.2 2.1 10.3 14.9 14.4 15.6m-16.5 3.9c2 2.5 4.1 7.4 10.3 10.6M194 287c4.1 4 14.4 12.4 24.3 12.8m-24.3-6.4c2 2.5 6.6 14.2 25.6 8.9m-28.5-6.7c1.2 2.8 10.8 18.4 27.7 12.3"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M211 282.5c-1.6-4.6.5-13.6.3-19.4-.2-3.7 1.5-16.5 1.5-20.8l-14.1-10.5s-.7 15.3-2.4 32c-1.6 8.5-2.7 19-1.6 25.5 2 10.6 7 13.6 8 14.5 7.2 6.4 23.4 5.7 25 5.2 11.6-4.2 16.6-11.6 16.6-11.6s-5.5 0-11.8.6c-14-1-21-.4-21.4-14.7"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M251.3 291.8l.2-.2c-2.6 1-6.2 2.1-6.2 2.1l-8.5.7c-18.4.4-16.1-11-15.4-29.4.2-7 .4-13.3 0-16.4l-11-8c-4 11.3-3 17.8-3.7 23.6-.4 6.3-1.8 18.5.3 23.8 2.8 12.5 12.6 12 25.7 10.9 6.6-.6 10-2.3 10-2.3l8.6-4.9"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M251.6 291.6a37 37 0 01-6.3 2.3l-8.6.8c-13.3 1.2-21.2-8.2-19.5-29.4 0-7.5-.2-8 2.4-18 4 2.6 11.9 9.3 11.9 9.3s-2.1 3-1.6 7.2c0 17 6.8 25.7 21.5 27.9l1.6-14"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M202.8 240.3a60.7 60.7 0 0012.8 15.6m-11.5-8.2c1.2 2.2 10.3 14.9 14.4 15.6m-16.5 3.9c2 2.5 4.1 7.4 10.3 10.6m-7.4 3.5c4.1 4 14.4 12.4 24.3 12.8m-24.3-6.4c2 2.5 6.6 14.2 25.6 8.9m-28.5-6.7c1.2 2.8 10.7 18.4 27.7 12.3"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M188 238.9l-.8 6.4c-.3 4.7-.1 8.2.1 10.5 0 .2.9 5.8.6 6.1-1 1.3-1.1 1.4-2.3.5-.1-.2.5-6 .6-6.8l.4-10.5c0-1.1 1-6.8 1-6.8s.1-1.3.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M188 238.9l-.8 6.4c-.3 4.7-.1 8.2.1 10.5 0 .2 1.1 8 .7 6.1-1 1.3-1.3 1.7-2.4.8-.2-.2.5-6.3.6-7l.4-10.6c0-1.1 1-6.8 1-6.8s.1-1.3.3.6z"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M187.8 237s-1.2 6.5-1.3 10.2c-.2 4.5-.4 5.8-.3 8.5l-.6 4.8c-.1.7.1.1 0 .2-1 .6-1.6.1-2.1-.3-.2-.2 1.5-4 1.5-4.9.9-11.4 2.5-18.2 2.5-18.2s-.6 4.1.3-.3"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M187.8 237s-1.2 6.5-1.3 10.2c-.2 4.5-.4 5.8-.3 8.5l-.6 4.8c-.1.7.1.1 0 .2-1 .6-1.6.1-2.1-.3-.2-.2 1.5-4 1.5-4.9.9-11.4 2.5-18.2 2.5-18.2s-.6 4.1.3-.3zm-.5 18.5s-1 .4-1.1.2m0-1.4s.8 0 1-.2m-.1-1.2s-.7.4-.8.2m.7-1.8h-.6m.7-1.6h-.7m.6-2.3s-.4.2-.4 0m.5-1.9h-.5m-.5 10.2s-1 .1-1.1-.2m1.1-2s-1 0-1-.2m1-1.4h-.8m1-1.5h-.7m.7-1.8l-.5-.1m.7-1.5s-.5 0-.6-.2m.7-1.7s-.4.3-.4 0m0 9.6s-1 0-1-.3m13.6-21.1l-.7 6.4c-.3 4.7-.1 8.3 0 10.5 0 .2 1 5.8.7 6.1-1.1 1.3-1.2 1.4-2.3.5-.2-.2.5-6 .5-6.8.2-.8.3-7.5.5-10.5 0-1.1 1-6.8 1-6.8s.1-1.3.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M198.8 233.3l-.7 6.4a70 70 0 000 10.5c0 .2 1.2 8 .8 6.1-1 1.3-1.3 1.7-2.4.8-.2-.2.5-6.3.6-7l.4-10.6c0-1.1 1-6.8 1-6.8s.1-1.3.3.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M198.7 231.4s-1.2 6.5-1.4 10.2c-.1 4.5-.3 5.8-.2 8.5l-.6 4.8c-.1.7 0 .2 0 .2-1 .6-1.6.1-2.2-.3-.1-.2 1.5-4 1.6-4.9.9-11.4 2.5-18.2 2.5-18.2l.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M198.7 231.4s-1.2 6.5-1.3 10.2c-.2 4.5-.4 5.8-.3 8.5l-.6 4.8c-.1.7 0 .2 0 .2-1 .6-1.6.1-2.2-.3-.1-.2 1.5-4 1.6-4.9.9-11.4 2.5-18.2 2.5-18.2l.3-.3zm-.5 18.5s-1 .4-1.1.2m0-1.4s.7 0 .9-.2m0-1.2s-.7.4-.8.2m.7-1.8h-.6m.7-1.6h-.7m.6-2.3s-.4.2-.5 0m.6-1.9h-.6m-.5 10.2s-1 .1-1-.2m1.1-2s-1 0-1-.2m1-1.4h-.8m1-1.5h-.8m.8-1.8l-.5-.1m.7-1.5s-.5 0-.6-.2m.7-1.7s-.5.3-.5 0m0 9.6s-1 0-1-.3"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M207.3 225.3s.5 5.5.2 8.6c-.4 3.8-.3 4.9-.7 7v4.3c.9.5 1.6.2 2.2-.1.2-.1-1-3.5-1-4.2.4-9.5-.5-15.3-.5-15.3l-.2-.2"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M207.3 225.3s.5 5.5.2 8.6c-.4 3.8-.3 4.9-.7 7v4.3c.9.5 1.6.2 2.2-.1.2-.1-1-3.5-1-4.2.4-9.5-.5-15.2-.5-15.2l-.2-.4zm-.4 15.7s1 .2 1.1 0m-.8-1.8s.9.1 1-.1m-1-1.3h.9m-.8-1.2h.7m-.5-1.6h.5m-.5-1.3h.5m-.4-1.5s.4.3.4 0m-1 8s1 0 1-.2"/>
+  <path fill="#005000" stroke="#000" stroke-width=".1" d="M241 236.4h1-1z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M252.5 273.5s-.4-.2-.5 0l.2.2.3-.2zm-1 1.2l2.2-.2"/>
+  <path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M226.3 303.1c-.2 3.3-7.8 7-13.5.2-6-4.8-4.7-12.2 0-13.2l58.3-56.8c2.4-1.3 2.6-2.5 3.8-3.7 2.4 2.6 7.5 7.2 10.2 9.5-1.7 1.4-3 2.7-3.4 3.8l-55.4 60.2z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M275 229.4c2.8-3.8 13.6 6 10.7 9.2-2.9 3-13.3-5.4-10.7-9.2z"/>
+  <path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M284.8 237.8c-2 1.6-10-5-8.6-7.6 2.1-2.4 10.8 6.1 8.6 7.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M281.6 243a16.8 16.8 0 01-10.5-9.6m-24.5 48a17.3 17.3 0 01-12.2-12.5m9.7 15.3a17.3 17.3 0 01-12.2-12.4m-2.3 27.5a19 19 0 01-13-13m10.5 15.8a19.2 19.2 0 01-13-13"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M212.6 304c-.3 1.5-1 2-2.2 1.5m14.7-2c-2.3 3.6-4.9 2.5-7 2.5"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M209.5 304.2c0 1 .8 1.8 1.8 1.8a1.8 1.8 0 001.9-1.8c0-1-.8-1.8-1.9-1.8-1 0-1.8 1.1-1.8 2"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M212.8 303.9c-.3 1.4-1 1.9-2.2 1.4m14.5-1.9c-2.3 3.7-4.9 2.6-7 2.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M268.6 309.7l1 9.6-1.9-2.4c-.3-.6-1.6-2.2-1.9-7.9 0 0 1-3 1.5-3 .8-.5 1.3 3.7 1.3 3.7zm-2.4-21.5l2.9 16.9c0 .4-1.3 1.7-2.3-1.3l-1.5-11.2 1-4.4z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M260.4 303.5c.6-.8 1.4-1.7 1.5-2.1l.4 3.4s-2.2 1.5-1.8 4.6l-.5-.6-.2-1.3-.5-3.2s.5-.2 1.1-.8z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M269.6 319.3s-3.6-3-3.8-10.3l-.4-2s0 1.6-.8.4c-.7-1.6-.7-3-.7-3s-1.3-1.6-1.7.4a1925.6 1925.6 0 001.6 12.4s.7-1.2 1.4 0c.8 1.3 2 2.9 4.4 2.1zm-4.3-26.7l1.5 11.2s-1.2.6-1.4 3.2c-.1 1.2-.6.6-.8.4-.3-.8 0-2.4 0-2.4l-.8-7.8s1.4-3.6 1.5-4.6z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M266.5 318.7l.2 2.8s-1 0-1.7-1.2c-.9-1.3-1.2-3-1.2-3s.8-1.3 1.4 0a4 4 0 001.3 1.4zm-2-11.3a6.3 6.3 0 01-.6-3l.7.6c-.2 1.2 0 2.4 0 2.4z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M261 306.3c.6-1 1.4-1.6 1.4-1.6l1.6 12.7s.4 3.2 2.4 4c0 0-1.1 11-4.7 8-.5-.5-1.2-3.9-1-5.9l1-6.4a28.5 28.5 0 00-1.2-7.8c-.2-.2 0-1.8.6-3z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M259.4 304.3s-1 1-1.2 1c-.2 0 2.5 20.7 2.5 20.7s0-2.2.7-6.4c.7-3.4-.2-8-1-10.2 0 0-.8-.7-1-5z"/>
+  <path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M264 297.4l.6 7.6s-1.8-2.6-2.3-.2l-.4-3.5s1.6-2.5 2-4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M265.3 307s.6-6.5 3.8-2c0 0 .3 2.7 0 3.3 0 .8-.9 1.8-1.3 2.5-.7 1-1.4-.3-1.4-.3s-.7-1-1-3.5z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M290.4 252.7c0-3.7 1.2-9.8 1.3-14l12.8-13.1s1.6 10.5 6.2 16.6l-20.3 10.5"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M289.4 253.2c-.5-2.6-1.2-5.5-1.6-11l8.2-8c0 3.4 3.9 8.6 4.1 15"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M282.3 261c-1-4.5 1.4-5.1-2-11.5l7.6-7.3c1.4 4.3 2.3 7 2.2 10.8l-6.5 4.6"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M312 288c1.5-4.5-.6-13.5-.4-19.3.2-3.7-2.5-17.6-2.5-21.9l15-9.4s.7 15.3 2.5 32c1.5 8.5 1.5 16.3.4 22.8-1.6 9.3-3.2 13.1-7 17-6.6 7-20.9 3-20.9 3-12-2.6-19-10.2-19-10.2s4 1 10.3 1.6c14-1 19.4 2.5 19.8-11.8"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M271.6 297.4l-.2-.1c2.6 1 6.2 2 6.2 2l8.5.7c18.4.4 16.1-11 15.4-29.4-.2-7-1.6-15.8-1.2-18.9l12.3-7c4 11.3 2.8 19.3 3.6 25 .4 6.4 1.8 18.6-.3 24-2.8 12.4-12.6 11.9-25.7 10.8a31.7 31.7 0 01-10.1-2.3l-8.5-4.9"/>
+  <path fill="#007a3d" stroke="#000" stroke-width=".1" d="M271.4 297.1a37 37 0 006.3 2.3l8.6.9c13.3 1 21.1-8.3 19.4-29.5A66 66 0 00303 250l-7.3 4.3v.7c.4 2.2 1.4 7.5 1.4 9.9 0 17-10.7 30-25.4 32.3l-.2-.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M320 246c-1.2 2-8.6 13.3-12.8 15.5m11.6-8.2c-1.2 2.1-10.3 14.9-14.4 15.6m16.5 3.9c-2 2.5-4.1 7.4-10.3 10.6m7.4 3.5c-4.2 4-14.4 12.4-24.4 12.8m24.4-6.4c-2 2.5-6.6 14.2-25.6 8.9m28.5-6.7c-1.2 2.8-10.7 18.4-27.7 12.3"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M301 282.5c1.6-4.6-.5-13.6-.3-19.4.2-3.7-1.5-16.5-1.5-20.8l14.1-10.5s.7 15.3 2.4 32c1.6 8.5 2.7 19 1.6 25.5-2 10.6-7 13.6-8 14.5-7.2 6.4-23.4 5.7-25 5.2-11.6-4.2-16.7-11.6-16.7-11.6s5.5 0 11.9.6c14-1 21-.4 21.4-14.7"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M260.7 291.8l-.2-.2c2.6 1 6.2 2.1 6.2 2.1l8.5.7c18.4.4 16.1-11 15.4-29.4-.2-7-.4-13.3 0-16.4l11-8c4 11.3 3 17.8 3.7 23.6.4 6.3 1.8 18.5-.3 23.8-2.8 12.5-12.5 12-25.7 10.9-6.6-.6-10-2.3-10-2.3l-8.6-4.9"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M260.4 291.6a36.8 36.8 0 006.3 2.3l8.6.8c13.3 1.2 21.2-8.2 19.5-29.4 0-7.5.2-8-2.4-18-4 2.6-11.9 9.3-11.9 9.3s2.1 3 1.6 7.2c0 17-6.8 25.7-21.5 27.9l-1.6-14"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M309.2 240.3a60.7 60.7 0 01-12.8 15.6m11.6-8.2c-1.3 2.2-10.4 14.9-14.5 15.6m16.5 3.9c-2 2.5-4.1 7.4-10.3 10.6m7.4 3.5c-4.1 4-14.4 12.4-24.3 12.8m24.3-6.4c-2 2.5-6.6 14.2-25.6 8.9m28.5-6.7c-1.2 2.8-10.7 18.4-27.7 12.3"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M324 238.9l.8 6.4c.3 4.7.1 8.2-.1 10.5 0 .2-.9 5.8-.6 6.1 1 1.3 1.1 1.4 2.3.5.1-.2-.5-6-.6-6.8l-.4-10.5c0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M324 238.9l.8 6.4c.3 4.7.1 8.2-.1 10.5l-.8 6.1c1.1 1.3 1.4 1.7 2.5.8a64 64 0 00-.6-7l-.4-10.6c0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6z"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M324.2 237s1.2 6.5 1.3 10.2c.2 4.5.4 5.8.3 8.5l.6 4.8c.1.7-.1.1 0 .2 1 .6 1.6.1 2.1-.3.2-.2-1.5-4-1.5-4.9-.9-11.4-2.6-18.2-2.6-18.2s.7 4.1-.2-.3"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M324.2 237s1.2 6.5 1.3 10.2c.2 4.5.4 5.8.3 8.5l.6 4.8c.1.7-.1.1 0 .2 1 .6 1.6.1 2.1-.3.2-.2-1.5-4-1.5-4.9-.9-11.4-2.6-18.2-2.6-18.2s.7 4.1-.2-.3zm.5 18.5s1 .4 1.1.2m0-1.4s-.8 0-1-.2m.1-1.2s.6.4.8.2m-.7-1.8h.5m-.6-1.6h.7m-.6-2.3s.4.2.4 0m-.5-1.9h.5m.5 10.2s1 .1 1.1-.2m-1.1-2s1 0 1-.2m-1-1.4h.7m-1-1.5h.8m-.7-1.8l.5-.1m-.7-1.5s.4 0 .5-.2m-.6-1.7s.4.3.4 0m0 9.6s1 0 1-.3"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M313.2 233.3l.7 6.4c.3 4.7.1 8.3 0 10.5 0 .2-1 5.8-.7 6.1 1.1 1.3 1.2 1.4 2.3.5.2-.2-.5-6-.5-6.8-.2-.8-.3-7.5-.5-10.5 0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M313.2 233.3l.7 6.4a70 70 0 010 10.5c0 .2-1.2 8-.8 6.1 1 1.3 1.3 1.7 2.4.8a64 64 0 00-.6-7l-.4-10.6c0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6z"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M313.3 231.4s1.2 6.5 1.4 10.2c.1 4.5.3 5.8.2 8.5l.6 4.8c.1.7 0 .2 0 .2 1 .6 1.6.1 2.2-.3.1-.2-1.5-4-1.6-4.9-.9-11.4-2.5-18.2-2.5-18.2l-.3-.3"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M313.3 231.4s1.2 6.5 1.3 10.2c.2 4.5.4 5.8.3 8.5l.6 4.8c.1.7 0 .2 0 .2 1 .6 1.6.1 2.1-.3.2-.2-1.5-4-1.5-4.9-.9-11.4-2.5-18.2-2.5-18.2l-.3-.3zm.5 18.5s1 .4 1.1.2m0-1.4s-.8 0-.9-.2m0-1.2s.7.4.8.2m-.7-1.8h.6m-.7-1.6h.7m-.6-2.3s.4.2.4 0m-.5-1.9h.5m.6 10.2s1 .1 1-.2m-1.1-2s1 0 1-.2m-1-1.4h.8m-1-1.5h.8m-.8-1.8l.5-.1m-.7-1.5s.5 0 .6-.2m-.7-1.7s.5.3.4 0m.1 9.6s1 0 1-.3m-11.3-23.4s-.5 5.4-.2 8.5c.4 3.8.3 4.9.7 7v4.3c-.9.5-1.6.2-2.2-.1-.2-.1 1-3.5 1-4.2-.4-9.5.5-15.3.5-15.3l.2-.2"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M304.7 225.3s-.5 5.5-.2 8.6c.4 3.8.3 4.9.7 7v4.3c-.9.5-1.6.2-2.2-.1-.2-.1 1-3.5 1-4.2-.4-9.5.5-15.2.5-15.2l.2-.4zm.4 15.7s-1 .2-1.1 0m.8-1.8s-.9.1-1-.1m1-1.3h-.9m.8-1.2h-.7m.5-1.6h-.5m.5-1.3h-.5m.4-1.5s-.4.3-.4 0m1 8s-1 0-1-.2"/>
+  <path fill="#005000" stroke="#000" stroke-width=".1" d="M271 236.4h-1 1z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M259.5 273.5s.4-.2.5 0l-.2.2-.3-.2zm1 1.2l-2.2-.2"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M225.8 229.8c0-2.2 2-3.5 2.4-3.7 1-.7 1.7-1.3 4-1.6l.1.9c0 .4-.5 1.7-2.2 2.9a12.3 12.3 0 01-4.3 1.5z"/>
+  <path fill="#a05a2c" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M225.8 229l31.6 41 1.5-1.4-32.3-41.8-.8 2.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M225.3 221s3.4-.4 3-2.3c-.6-2-2.9-2-3.8-2-1 0-4.2.6-5 1.6-1 1-3 2.6-2.4 5.3a21.3 21.3 0 002.5 6.3c1 1.8.7 3.5.5 4.2-.1.3-.4 1.4.4 1.8 1.3.5 1.6.5 2.7-.7s2.6-3.1 2.6-5.4c0-2.2 2-3.5 2.4-3.7 1-.7 1.7-1.3 4-1.6 0 0-.9-1.3-2-1.2a9 9 0 01-5-2.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M225.3 221s3.4-.4 3-2.3c-.6-2-2.9-2-3.8-2-1 0-4.2.6-5 1.6-1 1-3 2.6-2.4 5.3a21.3 21.3 0 002.5 6.3c1 1.8.7 3.5.5 4.2-.1.3-.4 1.4.4 1.8 1.3.5 1.6.5 2.7-.7s2.6-3.1 2.6-5.4c0-2.2 2-3.5 2.4-3.7 1-.7 1.7-1.3 4-1.6 0 0-.9-1.3-2-1.2a9 9 0 01-5-2.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M225.3 221c-.5 0-1.9-.6-2.8-.3-1 .4-2.8 1.5-2.5 3.1m11-.2s-1.9.8-3.3 1.8a42 42 0 00-3.7 3.4c-1.1 1.1-1.4 2.6-3.7 4.2m9.5-9.7l-1.5 1.1c-.6.4-.8 1-1.3 1.4"/>
+  <path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M285.7 303.1c.2 3.3 7.8 7 13.5.2 6-4.8 4.7-12.2 0-13.2l-58.3-56.8c-2.4-1.3-2.6-2.5-3.8-3.7-2.4 2.6-7.5 7.2-10.2 9.5 1.6 1.4 3 2.7 3.4 3.8l55.4 60.2z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M237 229.4c-2.8-3.8-13.6 6-10.7 9.2 2.9 3 13.3-5.4 10.7-9.2z"/>
+  <path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M227.2 237.8c2 1.6 10-5 8.6-7.6-2.1-2.4-10.8 6.1-8.6 7.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M230.4 243c4.8-1.5 8.3-4.7 10.5-9.6m24.5 48a17.3 17.3 0 0012.2-12.5m-9.7 15.3a17.3 17.3 0 0012.2-12.4m2.3 27.5a19 19 0 0013-13M285 302.2a19.2 19.2 0 0013-13"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M299.4 304c.3 1.5 1 2 2.2 1.5m-14.7-2c2.3 3.6 4.9 2.5 7 2.5"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M302.5 304.2c0 1-.8 1.8-1.8 1.8a1.8 1.8 0 01-1.9-1.8c0-1 .9-1.8 1.9-1.8 1 0 1.8 1.1 1.8 2"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M299.2 303.9c.3 1.4 1 1.9 2.2 1.4m-14.5-1.9c2.3 3.7 4.9 2.6 7 2.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277 187.2c1.9 3 4.7 8.5 5.4 12.7a24 24 0 01-7.5 22.3c-5.5 5-14 6.5-17.7 7.2-3.5.8-6.1 2-6.7 2.7 0-.6-.1-1.1.5-1.7 1.7-.7 4.4-1.2 8.3-2 7.7-1.6 15.8-4.5 20.2-12.9 5.8-11 2.4-19.7-2.6-28.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M279 220a.5.6 49.9 01-.6-.7.5.6 49.9 01.7.7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M284.4 218.6c-1.2.7-2.3.9-3.2 1.2l-2.4.7-1.6.7c-.8.4-1.7 1.5-1.7 1.5s1.3 1.3 2.8 1.1c1.2-.1 1.8-.5 2.4-.8.7-.3.6-.6 1.6-1.3 1-.7 1.6-2.1 2-3.1zm-6 1.3c-.4.6-1.3.5-1.8.4l-.3.3c.7 0 1.7 0 2.1-.6v-.1z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M284.3 218.7a17.7 17.7 0 01-4.9 3c-2 .8-4.2 1-5.3 1l-.3.3a19.6 19.6 0 005.4-1.1 16 16 0 005.1-3.2zm-2.5 4.8c-2 0-3.2.6-5.2 1-1.7.4-3.9-.5-5 1.2 4.7 3 8 1 10.2-2.2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277.6 227.8c-1-.8-8.6-3.4-9.9-.5 1.9 2 7.2 2.5 9.9.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M275.7 229.8c-.8 0-1.7-.3-2.7-.4-.9 0-1.3-.2-2-.3-1.1-.2-2.4-1.8-6.4-.6 1.5 3.6 6.8 4.4 11.1 1.4zm1.8-2c-4.1.9-9 0-10.8-1l-.3.1a17.4 17.4 0 0011 1zm4.2-4.3c-2.4 1.6-5.5 2.9-12.1 2l-.2.2c9.2.8 10-.9 12.3-2.2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M275.7 229.9c-3.2 0-5 1.5-11-1.4-.4-.3-1-.4-1.4-.6l-.6.2c.4.2 1 .2 1.5.3 7.4 3.3 7.2 1.8 11.5 1.5z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M263.7 225.7a.5.6 66.2 10.5.8.5.6 66.2 10-.5-.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M263.6 226.4c-.7.2-.9 1-1 1.5l-.3.1c.2-.6.5-1.5 1.2-1.8l.1.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M283.6 199.3a.5.6 15.8 11-.9-.3.5.6 15.8 011 .3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M279 216.7c0-2.2-1.2.9-3.3-4.1-.7-1.5-.7-2.4-1.1-4.6 1.2 2 3.2 2.4 4 3.9.8 1.4.6 3.7.5 4.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M274.6 208.2s1.1 2.5 2.7 4.3c1.5 1.8 1.8 4 1.8 4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M275.7 210.3c1.4 1.9 3.2 4 3.3 6.4h.2c-.3-3-2.1-4.4-3.2-5.9l-.3-.5zm11.6 2.9c-1 .8-2 1.1-3 1.5-.5.3-1 .8-1.5 1-.3.2-.9.2-1.4.6-.7.4-2.2 2.1-2.2 2.1s1.4 1.2 2.3 1c2.5-.5 3.2-1.5 4.5-2.4 1-.8 1-2.7 1.3-3.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M278 218.5l-.2.3c1.5-.1 3.8-1.5 5.3-2.3 2-1 3.2-1.8 4-3.3a9.5 9.5 0 01-4.1 3.3c-1.6.8-4 2.1-5 2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M288.1 208.3c-.8 1-1.8 1.4-2.5 2l-1.4 1.2c-.3.2-.9.4-1.3.8-.6.6-1.6 2.3-1.6 2.3s.7.7 1.5.4c2.5-.3 3.3-1.5 4.2-3.7.5-1 1-1.9 1.1-3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M279 212.8a.6.5 62 10.8-.4.6.5 62 00-.8.3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280 215l-.2.4c3-1.4 7-4.2 8.4-7-1.9 3-5 5-8.2 6.6zm8.8-11.4c-.7 1-1.6 1.6-2.3 2.1l-1.2 1.3-1.1.9c-.6.6-1.4 2.4-1.4 2.4s1 .8 1.7.5c.8-.4 1.8-1.3 2.3-1.7.5-.5.6-1.6 1.2-2.4.7-1 .8-2 .8-3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M286.6 206.8a15.4 15.4 0 01-5 4v.4c2.7-1.6 3.8-3 5-4.4zm1.2-6c-.5 1-1.3 1.5-1.8 2.1l-1 1.3-.9.9c-.4.6-.8 2.3-.8 2.3s.6.6 1.2.2a12.5 12.5 0 002-1.8c.4-.4.6-1.5 1-2.3a4 4 0 00.3-2.8zm-4.7-1.2c-.3.5-.4 1.1-.5 1.7l-.1-.4c.1-.5.2-1 .5-1.4h.1z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M286.3 203.8a13.8 13.8 0 01-4 4.2l-.1.3c2.3-1.7 3.2-3.1 4.1-4.5zm-6 10.5a3.5 3.5 0 00-.6-1.4h-.1c.3.6.4 1 .5 1.7l.2-.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M279.4 193.4a.5.3 39.5 01-.6.5.5.3 39.5 01.6-.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.7 194.7a10 10 0 00-1.3-1c0 .1-.1.1 0 .2l1.4 1-.1-.2zm5.9.4c-1.2 2.5-4.1 4.3-3 8 3 2.7 3.2-4.8 3-8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M283.8 189.5c-.5 2.6-2.8 4.8-1.3 8.2 4.3 1 2.3-4.7 1.3-8.2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.3 185.6c2.1 4 2.7 6.3.1 8.9 0 0-1.3-1.3-1.6-3.5-.3-2 1.3-4.3 1.5-5.4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277.8 183.3c.5 2.5-1.6 3.7 1.5 7 2.2-2.7 1.1-3.4-1.5-7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277 187.7c-3.7.4-2.3-2.7-3.3-5.6 2.1 1.6 5 2.2 3.2 5.6zm2.3 4.8c-1-4.7-4.3-2.9-6-5 .9 3 2.2 5.1 6 5zm1.4 4.3c-2.8-.2-5-1.5-6.6-4.6 3 1.2 6.1 1.4 6.6 4.6z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.1 200.9c-1-1.3-1-2.1-1.5-3a9.6 9.6 0 00-3.3-3.9c0 3.3.5 7 4.8 6.9z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.8 204.3a21.5 21.5 0 00-6-6c1.1 2.3.6 6.6 6 6z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.3 209.1c-5.3-.1-4.8-5.1-4.8-7.5 1 1.5 2.1 2.7 3 3.7 1 1.2 1.8 2.4 1.8 3.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.7 212c-.5-1-.1-1.4-1-2.4-1.1-1-3-2.8-4-5-.2 2-.2 4.8 1.2 5.7 1 .8 2 1 3.8 1.8zm-4.6 7.8c-4.2-3.2-1.7-6-1.4-8.4 1.1 2.8 4 5.1 1.4 8.4zm1.6-31.1a59 59 0 00-3.9-6.5c2 3 3 4.9 4.1 6.9"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M276.1 220.6c.2-3.3-.7-6.1-1.3-9 .6 3 1.3 6.2 1 9.3l.3-.3zm5-7.9c-.5-2-4.5-3.3-5.4-8 .8 4.7 4.8 5.8 5.2 8.5l.1-.4zm.8-2.7v.5c-.7-3.1-4.4-4.7-5.4-8.9 1.5 4.6 4.5 5.2 5.4 8.4zm.8-4.7c-1.9-2.8-4.4-3.8-6.8-7 2.2 3.1 5 4.6 6.8 7.4v-.4zm-.1-3.6c-2-1-4-3.3-6.3-7.7 1.5 3.3 3.3 6.2 6.3 8.1v-.5zm-.9-4.3c-2.4-1.9-5.4-3.1-7.6-5.3 1.8 2 5.3 3.5 7.6 5.6v-.3zm-1.8-4.6c-2.4-1.6-4.7-2.1-6.6-5.2 1.5 3 4 3.8 6.6 5.4v-.2zm6.7 2.3c-.9 3.3-1.6 6.8-3.8 9v-.5c1-.5 2.6-4 3.8-8.5zm-2.7-5.5c-.2 3.4-.1 7-1.9 9l-.1-.5c1.8-1.4 1.6-5.2 2-8.5zm-2.4-3.8c.6 3 .6 5.7-.2 10.2l-.2-.4c.5-2.6 1-5.3.4-9.8zm-3.7-2.4c1.2 2.5 2.2 5.1 1.4 7.8l-.2-.3c.9-2.5-.2-5-1.2-7.5zm-4.6 33.3c1.4 3.4-.4 5.9-2.7 7.3-1.7-5 1.9-4.4 2.7-7.3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M273.3 216.7c.2 2-2 4.5-2.8 8l-.3.3c1-4.3 3.3-6 3-8.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281.3 193.3a.3.5 1.9 11-.7-.1.3.5 1.9 01.7.1z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.1 195.2v-1.7h-.2v1.9l.2-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M280.3 193a.3.4 2 01-.5.2.3.4 2 01.5-.3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.7 194.5a8.2 8.2 0 010 .3v-.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M282.4 199.3a.5.3 80.5 01-.7 0 .5.3 80.5 11.7 0z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M282.5 201.2a9.9 9.9 0 00-.4-1.6l.3 1.8.1-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281.2 199.7a.5.3 57 11-.5.5.5.3 57 01.5-.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M282.4 201.2a8.8 8.8 0 010 .3v-.4z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281 212.4a.3.5 12.7 11-.7-.3.3.5 12.7 01.6.3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.4 214.2l.2-1.6h-.1a9.5 9.5 0 01-.3 1.8l.2-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281.6 213.2a.3.5 50.5 00.5.5.3.5 50.5 10-.5-.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.2 214.5l1.4-1v.2a9.4 9.4 0 00-1.4 1v-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M278.1 218.6a.3.5 40.4 01-.5-.6.3.5 40.4 01.5.6z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M276.8 219.9a10 10 0 001-1.3h-.2l-1 1.4.2-.1z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M276.1 218.2a.5.6 10 001 0 .5.6 10 10-1 0z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M276.7 218.7c-.3.7-.1 1 0 1.2l-.1.4c-.2-.4-.3-.8-.1-1.6h.2zm-13 10c-.7.1-1-.3-1.2-.7h-.4c.4.5.8 1 1.6 1v-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M263.8 229.5a.6.5 9.5 01.2-.9.6.5 9.5 11-.2.9z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M269.5 219.8a5.9 5.9 0 01-4.2 6.8c-1-4.2 3-4.4 4.2-6.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M269.6 219.8a23 23 0 01-5.1 7.7h-.6a20 20 0 005.7-7.7z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M264.3 227.5a.5.4 9.8 01-.4-.8.5.4 9.8 11.4.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M262.3 228a8.6 8.6 0 001.6-.7h-.2l-1.7.7h.3zm2.8-5.3c-.1 1.3-1.2 2.5-2.1 3.5-1 .9-1.1 1.2-2.4 1.6-1.4-3 3-3.5 4.5-5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M265.1 222.7c-1.5 2.7-3.8 4-5 5.8h-.2c1.8-2.4 3.3-2.9 5.2-5.8zm-30-35.5c-1.9 3-4.7 8.5-5.4 12.7a24 24 0 007.5 22.3c5.5 5 14 6.5 17.7 7.2 3.5.8 6.1 2 6.7 2.7 0-.6.1-1.1-.5-1.7-1.7-.7-4.4-1.2-8.3-2-7.7-1.6-15.8-4.5-20.3-12.9-5.7-11-2.3-19.7 2.7-28.2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M249.7 227.8c-.2.5-4.3 4-8 3.7-2.6-.2-3-.8-3-.8s-.3-.7 2-1.2c2.5-.5 6.7-2.1 9-1.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M238.8 230.7c2.8.3 5.8-.8 8-1.7"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.6 222.6a11 11 0 014.9 4c1 1.6.8 2 .8 2s-.3.3-1.4-1c-1.2-1.4-3.6-3.6-4.3-5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M252.3 228.5c-1-1.8-2.7-3.3-4-4.5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M235 187.6c-.1-.4.3-3.7 2.1-4.7 1.4-.8 1.9-.6 1.9-.6s.4.3-.5 1.4c-1 1-2.3 3.3-3.6 3.9z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M239 182.3c-1.6.8-2.5 2.4-3.2 3.7"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234 189.3c-.2-.3-1-3.2-.2-5 .6-1.5 1-1.6 1-1.6s.3 0 .1 1.4c-.2 1.4-.2 4-.9 5.2z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M234.7 182.8c-.7 1.5-.7 3.3-.7 4.7"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234 189.3a9 9 0 004.1-2.2c1-1.1.9-1.4.9-1.4s-.1-.2-1.2.6c-1 .8-3 2-3.8 3z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M239 185.7c-1 1.2-2.5 2-3.6 2.8"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.7 191.6c-.1-.3-1.4-3.4-.9-5.6.3-1.6.7-1.8.7-1.8s.3 0 .3 1.5c0 1.6.3 4.5 0 5.9z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M232.5 184.3c-.5 1.7-.2 3.7 0 5.3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.8 193.7c-.3-.2-2.4-3.1-2.2-5.6.1-1.8.5-2 .5-2s.5-.2.7 1.5c.3 1.6 1.3 4.5 1 6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M230.1 186.1c-.2 2 .5 4 1 5.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230.6 196.4a10 10 0 01-2.5-5c-.2-1.7 0-2 0-2s.3 0 .8 1.4c.5 1.5 1.7 4.2 1.7 5.6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M228.2 189.5c0 1.8 1 3.7 1.6 5.1"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.8 191.6c.3 0 3.4-.3 4.8-1.8 1-1.2 1-1.6 1-1.6s-.1-.3-1.3.4c-1.3.8-3.7 1.9-4.5 3z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M238.6 188.3c-1.1 1.2-2.8 2-4.2 2.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.8 193.7c.2 0 3.4 0 5-1.5 1-1 1-1.5 1-1.5s-.1-.3-1.4.4c-1.2.7-3.7 1.6-4.6 2.6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M237.8 190.8c-1.2 1.2-3 1.8-4.3 2.3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230.8 196.4c.3.1 3.6-.1 5.2-1.8 1.2-1.1 1.1-1.6 1.1-1.6s-.1-.4-1.4.4c-1.4.8-4 2-5 3z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M237 193c-1.1 1.4-3 2.2-4.4 2.8"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.3 195.2s-.3-.6-.3-1.1l.1-.9h-.2l-.1.8v.3l-.5-.5-.2-.4h-.1l.3.7c.5.4.8 1.2.8 1.2"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230 192.3a.6.4 83.5 11.1 1.2.6.4 83.5 11-.1-1.2z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.3 192.3a.4.6 19.3 11-.4 1.1.4.6 19.3 11.4-1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.2 195.2l1-.7.4-.8h.2l-.5.8-.2.3.7-.1.4-.3.1.2-.7.3c-.6 0-1.4.4-1.4.4"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234 193.7a.4.6 45.6 10-.8.9.4.6 45.6 10.8-.8z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M233 192.9a.4.6 19.8 10-.4 1.1.4.6 19.8 10.4-1.1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.8 199.3a11 11 0 01-3-5c-.3-1.8 0-2 0-2s.3-.2.8 1.3c.7 1.5 2 4.2 2.2 5.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M226.8 192.3c.2 1.9 1.2 3.8 2 5.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230 199.3c.3.1 3.8-.4 5.3-2.2 1.1-1.3 1-1.7 1-1.7s-.1-.4-1.4.5c-1.4 1-4 2.2-5 3.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M236.3 195.4c-1.2 1.5-3 2.4-4.5 3.1"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.5 202.3c.3 0 3.8-1 5.4-2.9 1.2-1.3 1-1.7 1-1.7s0-.3-1.4.7-4 2.6-5 3.9z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M236 197.8c-1.3 1.4-3.2 2.5-4.6 3.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 202.3c-.3-.1-3.6-2.4-4-4.9-.4-1.8 0-2.1 0-2.1s.4-.3 1.1 1.3c.8 1.5 2.8 4 3 5.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M225.4 195.4a12 12 0 002.7 5.1"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.5 206c.3-.1 3.6-1.8 5-4 .9-1.5.7-2 .7-2s-.2-.2-1.4 1.1c-1.1 1.3-3.6 3.4-4.3 4.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M235.2 200.2c-1 1.7-2.7 3.2-4 4.3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 206c-.4 0-3.9-1.7-4.8-4.2-.6-1.8-.4-2.2-.4-2.2s.4-.3 1.4 1.1c1 1.5 3.4 3.8 3.8 5.4z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M224.3 199.7c.6 2 2.2 3.6 3.5 4.8"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 204.4s-.5-.6-.6-1.1c-.2-.6 0-1 0-1h-.4l.2 1v.3c.3.4-.4-.3-.6-.4l-.3-.5-.2.2.6.6c.6.3 1.2 1 1.2 1"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M227.2 201.7a.6.4 69.4 11.5 1.2.6.4 69.4 11-.5-1.2z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M228.6 201.3a.4.6 5.2 11-.1 1.3.4.6 5.2 11.1-1.3z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 204.3s.5-.4.8-1c.3-.5.3-.8.3-.8h.2l-.3.8a4.2 4.2 0 01-.1.4l.7-.3.4-.4.1.2-.6.5c-.7.2-1.4.8-1.4.8"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232 202a.4.6 31.5 10-.6 1.2.4.6 31.5 10.6-1.1zm-1.3-.5a.4.6 5.7 10-.1 1.2.4.6 5.7 10.1-1.2z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.8 209.3c-.4 0-4-1.9-5.5-4.3-1-1.8-.9-2.2-.9-2.2s.3-.4 1.6 1c1.3 1.5 4 3.9 4.8 5.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M223.5 202.8c1 2 3 3.6 4.4 5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230 209.2c.4 0 4.3-2 5.2-4.6.8-2 .4-2.4.4-2.4s-.4-.4-1.5 1.2c-1.1 1.5-3.6 4-4 5.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M235.6 202.3c-.7 2.1-2.5 3.9-3.8 5.3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231 212.5c.4 0 4-2.3 4.9-5 .6-2 .3-2.5.3-2.5s-.3-.3-1.3 1.4c-1.1 1.6-3.5 4.4-3.9 6.1z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M236.2 205.1c-.6 2.2-2.3 4-3.5 5.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230.8 212.5c-.5 0-5-1.3-6.7-4-1.1-2-.9-2.6-.9-2.6s.4-.5 1.9 1c1.6 1.5 4.8 3.8 5.7 5.6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M223.3 206c1.1 2.2 3.4 3.8 5.2 5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234.8 219.4a12 12 0 003-6c.1-1.9-.2-2.2-.2-2.2s-.4-.1-.9 1.6c-.5 1.8-1.9 5-1.9 6.6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M237.6 211.3c0 2.1-1 4.3-1.8 6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234.6 219.3c-.4.2-5.6 0-8-2.2-1.9-1.7-1.8-2.4-1.8-2.4s.3-.5 2.3.5c2 1.1 6.1 2.5 7.5 4.1z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M224.9 214.8c1.9 1.9 4.7 2.9 7 3.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.7 216.6c-.4 0-5-1-7.3-3.4-1.6-1.7-1.5-2.2-1.5-2.2s.2-.4 2 .9c1.9 1.2 5.5 3.1 6.8 4.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M224 211c1.6 2 4.2 3.3 6.2 4.3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M233 216.5c.3-.2 3.8-3 4.2-6 .2-2.1-.2-2.6-.2-2.6s-.5-.2-1.2 1.6c-.8 1.9-2.8 5-2.8 7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M237 208c-.2 2.4-1.6 4.6-2.7 6.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232 214.9s-.8-.3-1.2-.9c-.4-.5-.5-.9-.5-.9h-.3l.5 1 .3.3-.8-.1-.6-.4v.3s.5.4.8.4a4 4 0 011.6.5"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M228.5 213.1a.7.5 45.9 111 1 .7.5 45.9 11-1-1z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.8 212.1a.7.5 71.6 11.4 1.4.7.5 71.6 11-.4-1.4z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232 214.9s.4-.8.5-1.4c0-.7-.2-1-.2-1l.3-.2v1.5l.6-.6.3-.6.2.1s-.2.7-.4.9a4 4 0 00-1 1.4"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M233.7 211.4a.5.7 8 10-.2 1.4.5.7 8 10.2-1.4z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.1 211.3a.7.5 72.2 10.5 1.4.7.5 72.2 10-.5-1.4z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M236.6 221.4c-.4.2-4.6 1.2-7.3-.2-2-1-2-1.6-2-1.6s0-.5 2 0c2 .4 5.6.8 7.3 1.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M227.3 219.7c2.1 1.1 4.7 1.4 6.7 1.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M236.8 221.4c.2-.2 2-2.8 2-5.2 0-1.8-.4-2.1-.4-2.1s-.3-.2-.6 1.4c-.3 1.6-1.2 4.3-1 5.9z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M238.4 214.2c.2 1.9-.5 3.8-1 5.3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M240.6 224.4c-.4.2-5.5 1.5-8.5.2-2.3-1-2.4-1.5-2.4-1.5s0-.6 2.4-.2c2.3.4 6.6.4 8.5 1.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M229.8 223.1c2.4 1.1 5.4 1.2 7.8 1.3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M240.8 224.3c.2-.3 1.3-4 0-6-1-1.4-1.5-1.4-1.5-1.4s-.5.1-.1 1.7c.4 1.6.6 4.6 1.6 5.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M239.3 217c1.1 1.4 1.3 3.6 1.4 5.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M238.2 222.6s-.6.4-1.3 0c-.6-.3-.9-.7-.9-.7l-.3.2a10 10 0 001.4 1l-1 .2-.6-.2v.3l1 .1 1.6-.5"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234.1 222.7a.8.6 24.1 111.5.6.8.6 24.1 11-1.5-.7z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M235 221a.8.6 49.9 111 1.3.8.6 49.9 11-1-1.3z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M238.3 223s.6-.6.2-1.3a2.8 2.8 0 00-.7-1l.2-.3.7 1 .2.5.3-1a17.5 17.5 0 000-.6h.2v1c0 .3-.6 1.6-.6 1.6"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M238.6 218.8a.8.6 69.5 10.6 1.5.8.6 69.5 10-.6-1.5zm-1.6.8a.8.6 43.7 101.1 1.2.8.6 43.7 10-1.1-1.2z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M243.5 226c-.2.3-4.5 3.1-7.8 2.4-2.5-.5-2.8-1.1-2.8-1.1s-.2-.6 2-.8c2.4-.2 6.5-1.2 8.6-.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M233 227.3c2.6.7 5.5 0 7.7-.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.2 226.7s-.5.8-1.4.6c-.9-.2-1.3-.5-1.3-.5l-.3.3 1.4.5h.5s-.6.6-1 .6l-.7.2v.3l1.2-.3c.3 0 1.6-1.2 1.6-1.2"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M241.7 228.3a1 .6 5.4 111.8.2 1 .6 5.4 11-1.8-.2zm.4-2a1 .6 31.2 111.6.9 1 .6 31.2 11-1.6-1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M244.8 226.4c.2-.4.8-4.2-1-6-1.3-1.3-2-1.2-2-1.2s-.5.2.2 1.7c.8 1.5 1.5 4.5 2.8 5.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M242 219.3c1.4 1.3 2 3.4 2.3 5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.8 227.3s.2-.9-.5-1.4c-.7-.6-1.2-.7-1.2-.7v-.3l1.3.6.4.4s0-.8-.2-1.1a20 20 0 00-.4-.7l.3-.2.6 1.1.1 2"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M245 222.9a1 .6 42.7 101.4 1.2 1 .6 42.7 10-1.4-1.2zm-1.3 1.7a1 .6 17 101.8.5 1 .6 17 10-1.8-.5z" overflow="visible" style="marker:none"/>
+  <path fill="#452c25" d="M255 223s-2.5 5.7-1.6 6.3c0 0 2.5-4.5 4.8-6.2 1.1-1.1 1.8 0 2-1 .1-1-3-2.3-3-2.3l-2.1 2.9"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M255 223s-2.5 5.7-1.6 6.3c0 0 2.5-4.5 4.8-6.2 1.1-1.1 1.8 0 2-1 .1-1-3-2.3-3-2.3l-2.1 2.9"/>
+  <path fill="#452c25" d="M246 227.3s-3.7 6.4-2.7 6.4c1 .1 4.8-8 4.8-8l-1.3.2-.9 1.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M246 227.3s-3.7 6.4-2.7 6.4c1 .1 4.8-8 4.8-8l-1.3.2-.9 1.4z"/>
+  <path fill="#452c25" d="M247 225.6s-3.8 6.2-2.8 6.3c1 0 5-8 5-8l-1.3.3-.9 1.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M247 225.6s-3.8 6.2-2.8 6.3c1 0 5-8 5-8l-1.3.3-.9 1.4z"/>
+  <path fill="#452c25" d="M247.8 224.5s-4.3 5.8-3.4 6c1 .2 5.7-7.4 5.7-7.4h-1.3l-1 1.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M247.8 224.5s-4.3 5.8-3.4 6c1 .2 5.7-7.4 5.7-7.4h-1.3l-1 1.4z"/>
+  <path fill="#452c25" d="M249 223.5s-5.1 5.2-4.2 5.5a35 35 0 006.7-6.6l-1.4-.1-1.1 1.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M249 223.5s-5.1 5.2-4.2 5.5a35 35 0 006.7-6.6l-1.4-.1-1.1 1.2z"/>
+  <path fill="#452c25" d="M249.1 221.6s-4.4 5.8-3.4 6c.9.2 5.8-7.4 5.8-7.4h-1.3l-1 1.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M249.1 221.6s-4.4 5.8-3.4 6c.9.2 5.8-7.4 5.8-7.4h-1.3l-1 1.4z"/>
+  <path fill="#452c25" d="M248 226.5s-4.3 5.9-3.4 6c1 .3 5.7-7.4 5.7-7.4l-1.3.1-1 1.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M248 226.5s-4.3 5.9-3.4 6c1 .3 5.7-7.4 5.7-7.4l-1.3.1-1 1.3z"/>
+  <path fill="#452c25" d="M250.4 225.4s-2.5 4.7-2.2 5a17 17 0 004.9-5.6c1.5-2.8-2.8.5-2.8.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M250.4 225.4s-2.5 4.7-2.2 5a17 17 0 004.9-5.6c1.5-2.8-2.8.5-2.8.5"/>
+  <path fill="#452c25" d="M250.7 225s-2.5 5.7-1.6 6.3c0 0 3.1-3.5 4-6.3.7-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M250.7 225s-2.5 5.7-1.6 6.3c0 0 3.1-3.5 4-6.3.7-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
+  <path fill="#452c25" d="M249.4 224.4s-5 5.2-4.1 5.5c.9.3 6.6-6.6 6.6-6.6h-1.3l-1.2 1.1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M249.4 224.4s-5 5.2-4.1 5.5c.9.3 6.6-6.6 6.6-6.6h-1.3l-1.2 1.1z"/>
+  <path fill="#452c25" d="M249.8 225.1s-5 5.2-4.1 5.5c.9.3 6.6-6.5 6.6-6.5l-1.3-.2-1.2 1.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M249.8 225.1s-5 5.2-4.1 5.5c.9.3 6.6-6.5 6.6-6.5l-1.3-.2-1.2 1.2z"/>
+  <path fill="#452c25" d="M250.2 226s-5 5.1-4.1 5.4c.9.4 6.6-6.5 6.6-6.5l-1.3-.2-1.2 1.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M250.2 226s-5 5.1-4.1 5.4c.9.4 6.6-6.5 6.6-6.5l-1.3-.2-1.2 1.2z"/>
+  <path fill="#452c25" d="M250.6 218.8s-3.8 4.8-3.2 5.6c.5.9 4-2.2 5-4.3 1.1-2.1-1.8-1.5-1.8-1.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M250.6 218.8s-3.8 4.8-3.2 5.6c.5.9 4-2.2 5-4.3 1.1-2.1-1.8-1.5-1.8-1.5"/>
+  <path fill="#452c25" d="M250.5 223.9s-3.3 6.2-2.4 5.8c.8-.3 4-5 4.4-6 .4-1 .3-2.1.3-2.1l-2.5 1.5.2 1.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M250.5 223.9s-3.3 6.2-2.4 5.8c.8-.3 4-5 4.4-6 .4-1 .3-2.1.3-2.1l-2.5 1.5.2 1.2"/>
+  <path fill="#452c25" d="M250.5 221.9s2.7-5 0 .9c-2.7 5.8-3.7 4.9-3.7 4.9-.2-.4 2.3-4.3 2.3-4.3s2-3 2.4-3.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M250.5 221.9s2.7-5 0 .9c-2.7 5.8-3.7 4.9-3.7 4.9-.2-.4 2.3-4.3 2.3-4.3s2-3 2.4-3.3"/>
+  <path fill="#452c25" d="M253.4 221.2s3-4.9 0 1c-3 5.7-4.2 4.8-4.2 4.8-.2-.4 2.6-4.3 2.6-4.3s2.1-3 2.6-3.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M253.4 221.2s3-4.9 0 1c-3 5.7-4.2 4.8-4.2 4.8-.2-.4 2.6-4.3 2.6-4.3s2.1-3 2.6-3.3"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M252.3 219.2s-3.8 4.8-3.2 5.6c.5.8 4-2.2 5-4.3 1.1-2.2-1.8-1.5-1.8-1.5"/>
+  <path fill="#e8a30e" d="M291 267.8a35 39.4 0 11-70 0 35 39.4 0 1170 0z"/>
+  <path fill="none" stroke="#390" stroke-width=".9" d="M228 267.8c0-18.3 12.8-32.3 28-32.3s28 14 28 32.3" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;block-progression:tb;marker:none"/>
+  <path fill="#007934" stroke="#eee" stroke-width=".1" d="M221 269.9c1 20.8 16.3 37.3 35 37.3s34-16.5 35-37.3h-70z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M291 267.8a35 39.4 0 11-70 0 35 39.4 0 1170 0z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M250.1 240.4c-.3 1.5 0 2.7.8 3.9a5 5 0 011 2.9 8.4 8.4 0 00-.8.4l-6-3.9 4 5.9a8.6 8.6 0 00-.2.3 5.2 5.2 0 00-3.2-.4 5.3 5.3 0 01-3.9-.8 4.8 4.8 0 003.3 2.2c1 .2 2 .6 2.7 1.4l-.2.8-7 1.4 7 1.4a9 9 0 00.1.3 5.2 5.2 0 00-2.5 2 5.3 5.3 0 01-3.4 2.2c1.5.4 2.8 0 4-.8.8-.5 1.8-1 2.8-.9l.5.7-4 6 6-4 .2.2a5.2 5.2 0 00-.4 3.2 5.3 5.3 0 01-.8 3.9 4.8 4.8 0 002.2-3.3 5.2 5.2 0 011.4-2.7l.9.2 1.4 7 1.3-7h.4a5.2 5.2 0 002 2.5 5.3 5.3 0 012.2 3.3 4.8 4.8 0 00-.8-4 5.2 5.2 0 01-1-2.8l.8-.5 6 4-4-5.9a8.6 8.6 0 00.2-.3 5 5 0 003.2.4 5.3 5.3 0 013.9.8 4.8 4.8 0 00-3.4-2.2 5.2 5.2 0 01-2.7-1.4l.2-.9 7-1.4-7-1.3a8.3 8.3 0 000-.4 5.2 5.2 0 002.5-2 5.3 5.3 0 013.3-2.1 4.8 4.8 0 00-3.9.7 5.2 5.2 0 01-2.8 1 8.4 8.4 0 00-.5-.8l4-5.9-6 4a8.6 8.6 0 00-.2-.2c.5-1.2.6-2.2.4-3.2a5.3 5.3 0 01.8-4 4.8 4.8 0 00-2.2 3.4 5.2 5.2 0 01-1.4 2.7 8.5 8.5 0 00-.9-.2l-1.4-7-1.3 7h-.4a5.2 5.2 0 00-2-2.5 5.3 5.3 0 01-2.2-3.3z" overflow="visible" style="marker:none"/>
+  <use width="330" height="330" fill="#fcbf49" stroke-width="1.1" transform="rotate(22.5 -488.5 805) scale(.15213)"/>
+  <use width="330" height="330" fill="#fcbf49" stroke-width="1.1" transform="matrix(-.15213 0 0 .15213 270.9 248.2)"/>
+  <path d="M262.2 252.5c-1.7-1.5-4-1.8-5.1-.6-1 1.2-.8 2.5.2 4a.6.6 0 00-.3.2 5.2 5.2 0 01-.4-4.4c1.7-1.3 4-1.5 5.6.8"/>
+  <path d="M259.5 252c-1 0-1.2.3-1.7.6-.4.4-.7.3-.7.4-.1 0 0 .3.1.2.2 0 .5-.2 1-.6s.8-.3 1.3-.3c1.4 0 2.1 1.1 2.3 1 .1 0-.8-1.3-2.3-1.3"/>
+  <path d="M261.3 253.3c-1-1-2.9-1.1-3.6.1h.3c.7-1.2 2.6-.7 2.7-.2v.2"/>
+  <circle cx="259.4" cy="253.3" r=".7"/>
+  <path d="M257.7 253.4c.7.7 2.4.8 3.6 0l-.6-.2c-.7.9-2 .8-2.7.2v-.2"/>
+  <path d="M261.3 253.7c-1.3 1-2.6 1-3.3.5-.8-.5-.8-.6-.6-.6l.9.4c.6.3 1.5.3 3-.3m-3.7 2.3a.5.5 0 11-.6.4c0 .2-.4.6-1 .6h-.1l.1.3c.1 0 .6 0 1-.2a.7.7 0 10.6-1.1m1 3.2c-.8-.5-1-1.2-1.8-1.2a2 2 0 00-.8.3h-.1l.1.2c.3 0 .8-.4 1.3 0l1.2.7m-.2 0c-1.5-.5-1.8-.2-2.3-.2h-.1l.1.3c.6 0 1-.4 2.3-.1"/>
+  <path d="M258.5 259.2c-1.7-.2-1.1.8-2.5.8h-.1l.1.2c1.7 0 1-.9 2.5-1m-8.7-6.7c1.7-1.5 4-1.8 5.1-.6 1 1.2.8 2.6-.2 4 0 0 .2 0 .3.2a5.2 5.2 0 00.4-4.4c-1.7-1.3-4-1.5-5.6.8"/>
+  <path d="M252.5 252c1 0 1.2.3 1.7.6.4.4.7.3.7.4.1 0 0 .3-.1.2-.2 0-.5-.2-1-.6s-.8-.3-1.3-.3c-1.4 0-2.1 1.1-2.3 1-.1 0 .8-1.3 2.3-1.3"/>
+  <path d="M250.8 253.3c1-1 2.8-1.1 3.5.1h-.3c-.7-1.2-2.6-.7-2.7-.2v.2"/>
+  <circle cx="-252.7" cy="253.3" r=".7" transform="scale(-1 1)"/>
+  <path d="M254.3 253.4c-.7.7-2.4.8-3.5 0l.5-.2c.7.9 2 .8 2.7.2v-.2"/>
+  <path d="M250.7 253.7c1.3 1 2.6 1 3.3.5.8-.5.8-.6.6-.6l-.9.4c-.6.3-1.5.3-3-.3m3.7 2.3a.5.5 0 10.6.4c0 .2.4.6 1 .6h.2l-.2.3c-.1 0-.6 0-1-.2a.7.7 0 11-.6-1.1m-1 3.2c.8-.5 1-1.2 1.8-1.2l.8.3h.2l-.2.2c-.3 0-.8-.4-1.3 0l-1.2.7m.2 0c1.5-.5 1.8-.2 2.3-.2h.1l-.1.3c-.6 0-1-.4-2.3-.1"/>
+  <path d="M253.5 259.2c1.7-.2 1.1.8 2.5.8h.1l-.1.2c-1.7 0-1-.9-2.5-1"/>
+  <path fill="#007934" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M259.4 275.6c1.7.3 3.5.2 5-.3a10.5 10.5 0 014.6-.6c0-.2.4-.4.2-.6-.6-.3-1.3-.3-2-.6-1.1-.5-1.8-1.4-3-2 0-.1-.5-.4-.5-.7 2.3 3.4 8 1.7 12.7 1.3.5.1 1.6-.2 2.6-.5 1.2-.4 4 0 4.7-.6l-1.5-1c-.6-.9-2.4-.8-3.2-1.7-1.4-1.5-3.5-2-5.1-3.2-.4-.2-1.2-.1-1.7-.3-.7-.5 0-.5-5.4-4.9-4.8-2-4.5-3.5-7.5-4.6-1-.6-2-1.5-3-1.2-1.5.4-5 2.2-6.6 3l-4 3.1c-.3.3-3.7 3.1-7.5 5.2a121 121 0 01-9.9 5c8.7-.4-7.7 2.5 31.1 5.2z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M238.2 265.7a59 59 0 0013.2-9c-.4 0 .7 1 .6 1.4.8 0 .4-1 1-1s1-.2 1.4-.3c.5-.1.2.2.2.4-.7 1.3-2.2 2-3.4 3 .1.2.3.3.2.4.4.1 1 .1 1.2-.1l.1-.4c.5.2.3.5.1.8-.3.7-1.5.6-2 1.2a6.6 6.6 0 01-1.5 1.7c.5-.4 1.1-1 1.8-1 1-.1 1.4-.8 2.3-1 1-.2 1.6-1 2.4-1.6-.3.5-1 .9-.7 1.4a.6.6 0 00.6.1c-.7.9-2.1 1.6-2.6 2.6-.4-.1-.7.2-1 .2-.5.2-.4.9-.7 1-1.2.8-1.9 2-2.4 3l-1.5.8c-.7.2-4.9 3.5-5 3-.3-2.2-4.6 1.8-14.1-1.6m32.6-.1l-.2-.2c.1-.3-.5-.4-.5-.7 1 0 2 1.3 2.6.5.2-.1-.3-.4.4-.6.2 0-.1-.2 0-.3h-1l-.8-.3c-.3-.1-.5-.5 0-.6 1-.2 2 .5 2.8.2l1.8-.6c.3 0 1.3 0 1 .3-.3.2-.8.1-1 .2-.6.1-1 .4-1.6.6.4 0 .3.4.7.3.7-.2 1.4-.5 2.1-.5l.2-.5h.2c-.3-.5.7-.3 1-.7l.2.1c-.5.2-.3.6-.4.8l-.3.3c.3.2.3-.2.6 0h.6c.4 0 .8-.1.6-.4-.3-.3-.6-.5-.6-.9h-.2c.6 0 1 .1 1.2.4.3.2.4.6.8.7.9.2.8-.2.8-.7.7 0 1.7.4 1.5.7 0 .3-.6.5-1.1.5-.4 0-.2.3-.4.3-.4 0-1 0-1.1.3-.2.2 0 .7.3 1h2c.1-.4.6-.5 1-.8.4-.2-.3-.4-.6-.6-.3-.1-.1-.2 0-.4.3-.3 1 0 1-.2.2-.3-.1-.7.2-.8.2-.2.5.1.4.3l.7-.2c.4 0 .6.3.4.3-.4.3-.8.5-.7 1 0 .2-.5.2-.3.4.5.3.4.6.6 1 .1.4 1 .5 1.7.3-.3-.7 1.4-.3 2.2-.5v-.2c-.4-.2-.5-.3-.4-.6l-.2-.2c1.1.4 3 1 3.9 1.6-1 .2-3-.3-4 0-1.4.2-2.6.6-4 .6-.6 0-1.2-.3-1.8-.4m-12-.7l-.3-.1"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M257.3 276.4c2 0 2.3 1.5 3.7.1 1.2.2 2.4-.2 2.4-.4 2.9.6 11.9-.2 11.3-.8-1-1-2.5-1.5-3.7-2.4l-1.2-.4c-.7-.2-1.6 0-2.1-.3-1-.5-2-1-2.8-1.6-.5-.4-.7-1-1.3-1.5-.6-.4-1.4-.5-2-.8-1-.3-1.5-1.3-2.4-2-.3-.2-.8-.1-1.2-.4-.7-.3-1.3-1.2-2-1-1.2.1-1.9 1.1-3 1.6-1 .5-1.5 1.3-2.3 1.8-.2.1-2.8 1.9-5.7 3a76.7 76.7 0 01-7 2.7s2.5 1.9 8.5 1.6l3.6 1.2 2-.4h5.1z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M245 271.8c1.4-.6 6.5-3 8-4.8-.2 0 .5.5.4.8.5 0 .3-.5.7-.6l.8-.1c.3-.1.1 0 .1.2-.4.7-1.3 1-2 1.6 0 0 .1.1 0 .2h.8l.1-.3c.3.1.2.3 0 .4-.1.4-.9.4-1.1.7l-1 1c.3-.3.7-.6 1.1-.6.7 0 .9-.4 1.4-.5.6-.2 1-.6 1.5-.9-.2.2-.6.4-.5.7l.4.2c-.4.4-1.2.7-1.5 1.3-.3-.1-.5 0-.7.1-.2 0-.2.5-.3.6-.8.3-1.2 1-1.5 1.5 0 0-.7.4-1 .4-.3.2-2.9 2-3 1.7-.2-1.2-2.6.5-8.5-1.3"/>
+  <path fill="#00a6de" stroke="#000" stroke-width=".1" d="M256 228.4c-19.3 0-35 17.7-35 39.4 0 21.8 15.7 39.4 35 39.4s35-17.6 35-39.4-15.7-39.4-35-39.4zm0 8.8c14.1 0 26.3 13.1 26.3 30.6s-12.2 30.6-26.3 30.6c-14.1 0-26.3-13.1-26.3-30.6s12.2-30.6 26.3-30.6z" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;block-progression:tb;marker:none"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261 284.6c0 .2 0 .2-.4.2-.4.1-.5.1-.5-.1s0-.2.5-.3c.3 0 .4 0 .4.2z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.1 284.6l-.5.2h-.6c0-.2.3-.3.6-.3h.5zm-3 9.5c.9-2.2 1-4-.1-6.4 2-1.9 3.5-1.2 4.8.1-1.3 2.4-1 4.1-.2 6.4a4.3 4.3 0 01-4.5 0z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.3 286.5v8.3c0-2.8.2-5.5 0-8.3z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.7 286.6a47.4 47.4 0 00-.4 8.2h.2c0-3.1 0-5.7.4-8.2a3 3 0 00-.2 0zm.7-2.7c-.4.4-.5.4-.4 1 .4-.2.4-.5.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.6 284.2c.2.2.6.4.4 1-.5-.3-.4-.4-.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.5 284.9c.3.2.6.3.4.8-.3-.3-.4-.3-.4-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.4 285.2c.3.3.6.4.4 1-.4-.3-.4-.3-.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.3 285.8c.3.2.7.3.4 1-.4-.4-.2-.5-.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.3 286.3c.2.2.6.4.4 1-.4-.4-.4-.4-.4-1zm1.3-1.8c-.2.1-.6.1-.6.8.5-.3.5-.2.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.6 285c-.2.1-.7 0-.7.7.6-.3.6-.2.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.5 285.4c-.2.1-.6.1-.7.8.6-.3.6-.2.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.5 286c-.2 0-.7-.1-.7.7.4 0 .4-.3.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.3 286.5c-.3.1-.5 0-.6.8.5-.4.5-.3.6-.8zm.3.4c-.8 2.2-1 4.2-.9 7.9a6.8 6.8 0 00.2 0c0-3.7.1-5.7.8-7.8a3 3 0 00-.1-.1zm1.2-2.4c-.4.3-.6.2-.5.9.4-.2.4-.4.5-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262 284.6c.2.2.5.4.1 1-.3-.4-.2-.4-.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.8 285.2c.2.3.5.4.2 1-.2-.5-.3-.5-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.6 285.5c.2.3.5.5.2 1.1-.4-.4-.3-.5-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.4 286c.2.3.6.5.2 1-.4-.4-.1-.5-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.2 286.5c.2.3.6.5.2 1-.3-.3-.3-.4-.2-1zm1.8-1.4c-.3 0-.7 0-.8.6.5-.2.5-.1.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.8 285.5c-.2.1-.7 0-.8.6.6-.2.6-.1.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.7 286c-.3 0-.7 0-.9.6.6-.2.6-.2.9-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.5 286.5c-.2 0-.7-.2-.9.6.5 0 .5-.3 1-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.2 287c-.4 0-.5 0-.7.6.5-.2.5-.2.7-.7zm.1.4c-1 2-1.2 3.8-.7 7.2a5 5 0 00.2 0c-.5-3.3-.3-5.2.6-7.1a3.5 3.5 0 000-.1zm1.7-2.4c-.5.2-.7.2-.7.8.4-.1.5-.3.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.1 285c.2.3.4.5 0 1-.3-.4-.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.8 285.6c.2.3.5.5.1 1-.1-.5-.3-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.6 285.9c.2.3.4.6 0 1-.3-.4-.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.3 286.4c.2.3.5.5 0 1-.2-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262 286.8c.2.3.6.6.2 1-.3-.4-.3-.4-.1-1zm2-1.2c-.2 0-.6 0-.9.5.6 0 .6 0 .9-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.8 286c-.2.1-.7 0-.9.5.7 0 .6 0 1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.6 286.4c-.2 0-.7 0-1 .5.7 0 .7 0 1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.4 287c-.3 0-.7-.4-1 .4.5 0 .5-.2 1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263 287.4c-.3 0-.5-.1-.8.5.5-.1.5 0 .8-.5zm-3.2-.8h-.1a44 44 0 00.1 0zm-.7-2.7c.4.4.6.4.4 1-.4-.3-.4-.5-.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.9 284.2c-.2.2-.6.3-.4 1 .5-.3.4-.4.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260 284.9c-.3.2-.6.2-.4.8.3-.3.4-.3.4-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260 285.2c-.2.3-.5.4-.3 1 .4-.3.4-.3.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.2 285.8c-.3.2-.7.3-.4 1 .4-.4.2-.6.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.2 286.3c-.2.2-.6.3-.4 1 .4-.4.4-.4.4-1zm-1.3-1.9c.2.2.6.2.6.9-.5-.4-.5-.3-.6-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.9 284.9c.2.1.7.1.7.8-.6-.3-.6-.3-.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259 285.3c.2.2.6.2.7.9-.6-.4-.6-.3-.7-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259 286c.2 0 .7-.1.7.7-.4-.1-.4-.4-.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.2 286.4c.3.2.5.2.6.8-.5-.3-.5-.2-.6-.8zm-.2.6a4 4 0 00-.2 0c.7 2.2 1 4.2 1 7.7a20 20 0 00-.8-7.8zm-1.3-2.7c.4.4.6.3.6 1-.5-.2-.5-.4-.6-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.5 284.5c-.2.3-.5.5-.1 1 .3-.4.3-.4.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.7 285.1c-.2.3-.5.4-.2 1 .2-.4.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.9 285.5c-.2.3-.5.4-.2 1 .4-.4.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.1 286c-.2.3-.6.4-.2 1 .4-.4.1-.5.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.3 286.5c-.2.3-.6.5-.3 1 .3-.4.4-.4.3-1zm-1.8-1.6c.3.2.7 0 .8.7-.6-.2-.5-.1-.8-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.7 285.4c.2.1.7 0 .8.6-.6-.2-.6-.1-.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.8 285.8c.3.1.7 0 .9.7-.6-.2-.6-.2-.9-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258 286.4c.2 0 .7-.2.9.6-.5 0-.5-.3-1-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.3 286.8c.3.1.5 0 .7.7-.5-.2-.5-.2-.7-.7zm0 .7h-.2c1 2 1 3.8.8 7h.2c.3-3.2.1-5-.8-7zm-1.8-2.7c.5.3.7.2.7.9-.4-.2-.5-.4-.7-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.4 284.9c-.1.3-.4.5 0 1 .3-.4.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.7 285.5c-.2.3-.5.4-.1.9.1-.4.3-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.9 285.8c-.2.3-.4.5 0 1 .3-.4.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.2 286.3c-.2.3-.5.5-.1 1 .3-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.4 286.8c-.2.2-.5.5 0 1 .2-.4.2-.5 0-1zm-1.9-1.4c.2.1.6 0 .9.6-.6-.1-.6 0-.9-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M256.7 285.9c.2 0 .7-.1.9.5-.7-.1-.6 0-1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M256.9 286.3c.2 0 .7-.1 1 .5-.7 0-.7 0-1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.1 286.8c.2 0 .7-.3 1 .5-.5 0-.5-.2-1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.5 287.2c.3 0 .5 0 .8.6-.6-.1-.5-.1-.8-.6zm2.3-3.4c.4.5.6.5.3 1-.3-.2-.3-.5-.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.6 284.2c-.2.2-.6.3-.4 1 .4-.3.4-.4.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.6 284.9c-.3.2-.6.2-.4.8.3-.3.4-.3.4-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.7 285.2c-.3.3-.6.3-.4 1 .4-.3.4-.3.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.8 285.8c-.3.2-.7.3-.5 1 .5-.4.3-.6.5-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.8 286.3c-.2.2-.7.3-.5 1 .4-.4.5-.4.5-1zm-1.2-2c.1.2.6.3.5 1-.5-.4-.5-.4-.5-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.6 284.8c.2.2.6.2.6.9-.6-.4-.5-.3-.6-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.6 285.3c.2.1.7.2.7.8-.6-.3-.6-.3-.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.6 285.9c.2 0 .7 0 .7.8-.4-.2-.4-.4-.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.8 286.4c.3.1.5.1.5.8-.4-.3-.4-.3-.5-.8zm-.4.3h-.1c.6 2.6.7 5 .7 8h.1c.1-2.7 0-5.3-.7-8zm-1-2.5c.4.3.6.3.5 1-.5-.3-.5-.5-.6-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.2 284.4c-.2.2-.5.4-.2 1 .3-.4.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.3 285c-.2.3-.5.4-.2 1 .2-.4.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.5 285.4c-.2.2-.5.4-.2 1 .3-.4.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.7 285.9c-.2.3-.6.4-.3 1 .4-.4.2-.5.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M259.8 286.4c-.2.3-.6.4-.3 1 .3-.4.4-.4.3-1zm-1.6-1.6c.2 0 .6 0 .7.7-.5-.3-.5-.2-.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.3 285.2c.2.1.7 0 .8.7-.6-.2-.6-.2-.8-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.4 285.6c.2.2.7.1.8.8-.6-.3-.6-.2-.8-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.5 286.2c.3 0 .7-.1.9.7-.5 0-.5-.3-.9-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.8 286.7c.4 0 .5 0 .7.7-.5-.2-.5-.2-.7-.7zm-.8 1a6.7 6.7 0 01.8 4c0 .8-.2 1.7-.4 2.6h.2c.6-2.7.5-4.7-.6-6.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.6 287.2c.8 2.3.9 4.4.7 7.5h.2a16 16 0 00-.9-7.5zm-1.5-2.6c.5.3.7.2.7.9-.5-.2-.5-.4-.7-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258 284.6c-.2.3-.5.5 0 1.1.2-.4.1-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.2 285.3c-.2.3-.5.4-.1.9.2-.4.3-.4.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.4 285.6c-.1.3-.4.5 0 1 .3-.4.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.7 286c-.2.4-.6.6-.1 1.1.3-.5 0-.5.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.9 286.6c-.2.3-.5.5-.1 1 .2-.4.2-.5.1-1zm-1.9-1.4c.3 0 .7 0 .9.6-.6-.2-.6-.1-.9-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.2 285.6c.2.1.7 0 .9.6-.7-.1-.6 0-.9-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.4 286c.2.1.7 0 .9.6-.6-.1-.6 0-.9-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.6 286.6c.2 0 .7-.3 1 .5-.5 0-.6-.2-1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258 287c.3 0 .5 0 .7.6-.5-.2-.5-.1-.7-.6zm-2-1.7c.5.2.6 0 .8.7-.5 0-.6-.3-.9-.7zm.8-.1c-.1.3-.4.6.1 1 .3-.4.2-.5-.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.2 285.8c-.2.3-.4.4 0 .9.1-.4.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.4 286c-.1.4-.3.6.1 1.1.3-.5.2-.5-.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.8 286.5c-.2.3-.5.6 0 1 .3-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258 287c0 .2-.4.5 0 1 .3-.5.3-.5 0-1zm-2-1.1c.2 0 .6-.2 1 .4-.7 0-.7 0-1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M256.2 286.3c.3 0 .7-.2 1 .4-.7 0-.6 0-1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M256.5 286.6c.2 0 .7-.1 1 .5-.7 0-.7 0-1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M256.8 287.1c.2 0 .6-.3 1 .4-.5.1-.6-.1-1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M257.2 287.5c.4 0 .5 0 .8.5-.5-.1-.5 0-.8-.5zm4-.8a27.5 27.5 0 00-.7 8h.2c0-3 0-5.4.7-8h-.1zm1.1-2.4c-.4.3-.6.3-.5.9.4-.2.5-.4.5-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.5 284.4c.2.3.5.5.2 1-.4-.3-.3-.4-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.3 285c.3.3.6.4.3 1-.3-.4-.4-.4-.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.2 285.4c.2.3.5.5.2 1-.4-.3-.3-.4-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261 286c.2.2.6.4.3 1-.5-.5-.2-.6-.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M260.8 286.4c.3.3.6.5.3 1-.3-.3-.3-.4-.3-1zm1.7-1.5c-.2 0-.7 0-.8.7.6-.3.6-.2.8-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.4 285.3c-.2.1-.7 0-.8.6.6-.1.6 0 .8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.3 285.7c-.3.2-.8 0-.9.7.7-.2.6-.1.8-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.1 286.3c-.2 0-.7-.2-.8.6.4 0 .5-.3.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.8 286.8c-.3 0-.5 0-.6.6.5-.2.4-.1.6-.6zm.2.3c-1 2.3-1.1 4.4-.9 7.6h.2c-.2-3.2 0-5.3.8-7.5zm1.5-2.4c-.4.3-.6.2-.6.9.5-.2.5-.4.7-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.7 284.8c.2.3.5.5 0 1-.2-.4-.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.4 285.4c.3.3.5.4.2.9-.2-.4-.3-.4-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.3 285.7c.1.3.4.5 0 1-.3-.4-.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262 286.2c.2.3.5.5 0 1-.3-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M261.8 286.6c.1.3.5.6 0 1.1-.2-.4-.2-.5 0-1zm1.8-1.3c-.2.1-.6 0-.8.6.6-.1.5 0 .8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.4 285.8c-.2 0-.6-.1-.8.5.6-.1.6 0 .8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.3 286.2c-.3 0-.7-.1-1 .5.7 0 .7 0 1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263 286.7c-.2 0-.6-.3-.9.5.5 0 .5-.2 1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.7 287.1c-.4 0-.5 0-.8.6.5-.1.5-.1.8-.6zm0 .6c-1.2 2-1 4.2-.6 6.7h.2c-.2-1.2-.4-2.1-.3-3a6.4 6.4 0 01.8-3.6 11.8 11.8 0 00-.1 0zm2-2.2c-.5.2-.7 0-.8.7.5 0 .6-.3.8-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.9 285.3c0 .4.3.6-.2 1.1-.2-.5-.1-.5.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.5 285.9c.2.3.4.5 0 1-.2-.5-.3-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.3 286.2c0 .3.3.6-.2 1-.2-.5-.1-.5.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.9 286.6c.1.3.4.6 0 1-.3-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M262.6 287c.1.3.4.6 0 1-.2-.4-.3-.5 0-1zm2-1c-.2.1-.6-.1-.9.5.6 0 .6 0 1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M264.4 286.5c-.2 0-.6-.2-1 .3.7 0 .7 0 1-.3z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M264.2 286.8c-.3 0-.7-.2-1 .4.6 0 .6 0 1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.9 287.3c-.3 0-.6-.4-1 .3.4.1.5 0 1-.3z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M263.4 287.6c-.3 0-.4 0-.8.5.5 0 .5 0 .8-.5zm-3.7 3h1.2c.8 0 1.3.2 1.3.4s-.5.3-1.3.3h-1.2c-.7 0-1.3-.2-1.3-.4s.6-.3 1.3-.3z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M258.9 290.6l-.4.6a.3.3 0 00.2 0h.2l.4-.6h-.4zm1 0l-.5.7h.5l.4-.7h-.5zm.9 0l-.5.7h.5l.4-.7h-.4zm.9 0l-.4.7h.5l.3-.6a.3.3 0 00-.2 0h-.2z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M252.3 286.7l.5 2.9.2.2v1l.1.2c.3.5.3 1.2.4 1.7 0 .2 0 0 .4.6h.4l.1.2-.2.3h-.7l-.3-.2v-.2l-.2-.1-.1-.6-.8-1c-.1-.2-.1-.5-.3-.6 0-.2-.2-.2-.3-.3-.5-1.1-1-3.1-1-3.1m-6.9-1.2l2 .4-.6 2.8c-.3.9-.3 1-.2 1.2.2.4.4 1.2 1.2 2.3.2.3.5.3.6.4l.5.4h.6l.1-.2c0-.2-.3-.1-.5-.3-.1-.3-.6-.8-.6-1.2-.3-.8-.2-.8-.2-1.6 0-.4.4-1.3.5-1.8a4.6 4.6 0 00.5-2l-.8-2-.5-.6m-1.8-1.2c-3 1-1.7 3.8-.9 3.8m9.8-8.7l.5-1v-.4l-.8 1"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255.1 279.9h.5v-.3l-.1-.4c-.5-.4-1-.4-1-.7v-.2c0-.2-.9-.3-1-.5l-.5-.2h-.3c-.7 0-1 .8-1.2 1.3 0 0-.2 2.3-.6 3.3a.8.8 0 01-.1.3l-.2.2-4.5-.3a4 4 0 00-2 .8s-1 .7-1.2 1.7c0 .4 0 .8.2 1.2 1 2.7 2 0 2.3 0h.4c.5 0 1.4 1.6 2.8 2 4.3.9 5.5-1.4 5.4-6.3v-.2l.2-.5v-.5l-.1-.3 1.2-.2.2-.1"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M253 278.5l.6-1.2v-.5l-1 1.1v.1m-9.5 8c.3.9.8 1.7.7 2 0 .4-.3.6-.3.7l-.1.1c-.2.1-.2.4-.3.6l-.1.6c0 .8.5 2.4.6 2.4l.3.3v.5l-.1.7v.2l.4.2h.6l-.4-.4a.4.4 0 010-.3l.3-.4v-.4l-.1-.2a8.8 8.8 0 01-.1-1v-1.2l.2-.1.1-.3 1-.6 1-1.1.1-.5a.6.6 0 000-.2 4 4 0 00-.3-1 3.4 3.4 0 00-.6-.8m6.3 2c-.6.3-2 .6-2 .9 0 0 0 1.7-.2 2.4l-.3.6-.2.7c-.1.3-.3.6-.3 1v.5l.4.2-.4.2-.7-.3v-.6l.1-.7-.1-.5-.1-1.4v-5m5-5.7c.2.3.5.4 1.3.1.2.1.4.3.7-.2m-.4-.6l.3.1c0-.1 0-.2-.1-.1h-.2z"/>
+  <path d="M253.6 278.8l.1.1c.1.2.4.3.6 0-.3-.3-.5-.1-.6 0z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M265.7 291.1a2 2 0 000 .8 2 2 0 000 .8 2 2 0 000 .8 2.1 2.1 0 000 .7c.3.2 1 .2 1.3 0v-.7a2 2 0 000-.8 2 2 0 000-.8 2 2 0 000-.8 2.4 2.4 0 000-.8 2.2 2.2 0 000-.8 2.4 2.4 0 000-.8v-.9a2.5 2.5 0 000-.8 2.6 2.6 0 000-.9 2.3 2.3 0 000-.8 2 2 0 000-.8 2.7 2.7 0 000-.9 2.5 2.5 0 000-.8v-.8a3.1 3.1 0 000-.9 3.1 3.1 0 000-.8v-2.5a2.4 2.4 0 00-.1-.8v-.8a2.1 2.1 0 000-.3h-.8v.3c-.1.1-.1.6 0 .8a2.5 2.5 0 000 .8 2.7 2.7 0 00-.1.8 2.9 2.9 0 000 .8v.9a3.1 3.1 0 000 .8 3.1 3.1 0 000 .9 3.5 3.5 0 000 .8 2.5 2.5 0 00-.1.8 2.6 2.6 0 000 .9c0 .2-.1.5 0 .8a2.4 2.4 0 000 .8 2.6 2.6 0 000 .9c-.1.2-.1.5 0 .8a2.8 2.8 0 00-.1.9v.8a2.2 2.2 0 000 .8 2.4 2.4 0 000 .8z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M265.7 291.9h1.3m-1.3-.8h1.3m-1.2-.8h1.2m-1.2-.8h1.2m-1.2-.9h1.2m-1.2-.8h1.2m-1.2-.8h1.2m-1.1-.9h1m-1-.8h1m-1-.8h1m-1-.9h1m-1-.8h1m-1-.9h1m-1-.8h1m-1-.8h1m-.9-.9h1m-1-.8h1m-1-.8h.9m-.8-.9h.8m-.9-.7h.9m-1.2 16.5h1.3m-1.3.7a2.5 2.5 0 001.3 0"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#e7e7e7" stroke-width=".1" d="M268.3 274.2l2.2-.1a14.6 14.6 0 00-.9-.3h2.4a5.2 5.2 0 00-1-.5c.7-.1 1.7 0 2.3.1l-1-.5 2 .1a2.8 2.8 0 00-.9-.5 8.6 8.6 0 012.7-.1 9.2 9.2 0 00-8.6.8 6.5 6.5 0 011-1.2 2.7 2.7 0 00-.7 0l1.3-1a3.1 3.1 0 00-.8 0l1.5-1a3.3 3.3 0 00-.9 0 5 5 0 011.7-1.1 4.2 4.2 0 00-1 0c.5-.4 1.2-1 2.1-1.4-3.5.4-5.5 3-5.7 5.1-.9-2-3.5-4-7-3.8 1 .3 1.9.7 2.5 1.1a4.6 4.6 0 00-1 .1c.7.2 1.5.6 2 1a3.6 3.6 0 00-.9.1l1.8.8-.8.1 1.6.8a3 3 0 00-.8 0l1.4.8c-2.2-.5-5.4.3-7.9 3.1.4-.3 1.9-.8 2.4-1a4 4 0 00-.6.9 8.9 8.9 0 012.2-1.2 5 5 0 00-.4.8l2-1-.5.8 1.8-.7-.5.7 1-.3a6.6 6.6 0 00-3 6.1c0-.4.6-1.6.9-2v1a9 9 0 011-2.1l.1 1 1-2.1v1a14.2 14.2 0 011.2-2v.8l.3-.6.7-1 .3.4c.2.4.5 1.1.5 1.9a3.4 3.4 0 00.3-1c.3.8.7 2 .7 2.6l.2-1c.3.5.7 1.8.7 2.4l.3-1 .6 2.4c.8-3.1-.4-5.2-2-6.7.4.2 1 .6 1.4 1.1a5.2 5.2 0 00-.3-1l1.6 1.6a2.9 2.9 0 00-.2-1c.7.5 1.2 1.3 1.6 1.7l-.2-1c.6.5 1.2 1.4 1.4 2l-.1-1.2c.8.7 1 1.4 1.3 1.9 0-2.9-3.3-5.4-6.3-5.7z"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M267 274.2c3.4-.4 7.6 2.4 7.6 5.7-.2-.4-.5-1.2-1.4-1.9l.2 1.1a6.5 6.5 0 00-1.4-1.9l.2 1c-.4-.4-1-1.2-1.6-1.6l.2.8a15.3 15.3 0 00-1.6-1.4l.3 1a6 6 0 00-1.3-1.2m-2-1.6c-2-1.3-6.2-1-9.3 2.5.4-.3 1.9-.8 2.4-1a4 4 0 00-.5.9 8.9 8.9 0 012.1-1.2 5.1 5.1 0 00-.4.8l2-1-.5.8 1.8-.7-.5.7 1-.4"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M266.4 273.7c-.4-2.4-3.3-5-7.4-4.9 1 .3 1.9.7 2.5 1.1a4.6 4.6 0 00-1 .1c.7.2 1.5.6 2 1a3.6 3.6 0 00-.9.1l1.8.8-.8.1c.5.1 1.2.5 1.6.8a3 3 0 00-.8 0l1.4.8m1.6 1c-2.8.9-5.5 3.6-5.1 7.2 0-.4.6-1.6.9-2v1a9 9 0 011-2.1l.1 1 1-2.1v1a14.1 14.1 0 011.2-2v.8c0-.2.9-1.4 1-1.5m-1.7.1a9.3 9.3 0 00-.4 1.6m-.6-.9a10.4 10.4 0 00-.5 2m-.5-1a9.5 9.5 0 00-.6 2"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M266.5 275.9v-.7" class="fil1 str2"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M269.4 278.7l.1 1.5m-1.1-3.3l.1 1.7m-1.1-2.8l.2 1.4m5-.5a3.7 3.7 0 01.6 1.3m-2-2.3l.8 1.6m-2.1-2l.7 1.3m-11.3-.9a5 5 0 011.8-1.2m-.2 1c.4-.6.7-1 1.7-1.4m-.2 1.2c.4-.5 1-1 1.8-1.3m-.4 1.3c.5-.5 1-.8 1.7-1m-4-4.4c.8.1 1.7.3 2.3.7m-1.2.4a5 5 0 012 .5m-1.2.4c.7 0 1.5.3 2.2.7m-1.4.2a4.1 4.1 0 011.9.6m.8.2a9.1 9.1 0 019.2-1.2 8.6 8.6 0 00-2.7.1c.5.1.9.4 1 .5-.9-.1-1.2-.2-2.2-.1.5.1.8.3 1.1.5a7.8 7.8 0 00-2.3-.1l1 .4h-2.4l1 .4-2.3.1m5.1-1.7a6.4 6.4 0 00-2.2-.3m1 .7a6.2 6.2 0 00-2.7-.3m1.5.7a7.3 7.3 0 00-2.7-.2m1.3.7a5.3 5.3 0 00-2.1-.1m.9 1.1c.3.3.6.7.8 1.2"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M266 272.6c.2-2.1 2.2-4.7 5.7-5a9 9 0 00-2 1.3h1c-.7.2-1.4.7-1.8 1.2h1c-.6.2-1.2.6-1.5 1h.8c-.4 0-1 .6-1.3.9a2.7 2.7 0 01.7 0c-.5.3-1 .8-1.1 1.2m2.1-4.3c-.5.2-1.1.4-1.6.8m1 .4a4.8 4.8 0 00-1.6.5m1 .5c-.6 0-1.1.3-1.6.7m1 .2a3.4 3.4 0 00-1.5.8m-.5 2.6a6.4 6.4 0 00-.3 1.2m1.3-2.1c2 1.7 4.4 4 3.3 8a8.8 8.8 0 00-.6-2.3c0 .4-.2.7-.3 1a7.2 7.2 0 00-.7-2.6l-.2 1c0-.6-.4-1.7-.7-2.5a3.4 3.4 0 01-.3 1c0-1-.4-1.8-.8-2.2"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M227.5 249l1.4.8.3-.6c.2-.3.2-.5.1-.7 0-.2-.2-.4-.5-.5-.3-.2-.6-.3-.8-.2-.2 0-.3.2-.4.4l-.3.6c0 .1 0 .2.2.3m1.8 1l1.7.9h.3c.1 0 .3-.2.4-.5l.3-.6a.6.6 0 000-.5.8.8 0 00-.2-.2 2 2 0 00-.4-.3c-.8-.4-1.4-.3-1.7.4l-.4.7m-2.8-.8a31.7 31.7 0 00.7-1.2c.1-.4.3-.7.6-.9l.6-.4h.9l.5.6.1.8c.3-.3.7-.5 1-.6a1.3 1.3 0 011 .1c.4.2.7.6.8 1 0 .6 0 1.2-.5 1.9a28 28 0 01-.8 1.4l-.3.7a12 12 0 00-1.5-1l-1.9-1a12.3 12.3 0 00-1.6-.7l.4-.7m9.5-11.5c-.8.6-.7 1.5.4 2.8.5.6 1 1 1.5 1 .5.2 1 0 1.4-.3.4-.3.6-.7.5-1.1a3.3 3.3 0 00-.8-1.6c-.6-.7-1.1-1.1-1.6-1.2-.5-.2-1 0-1.4.4m4-.2c.5.6.7 1.4.7 2.1a3 3 0 01-1.2 2 3.1 3.1 0 01-2.2.9 2.6 2.6 0 01-2-1 3 3 0 01-.7-2.2 2.9 2.9 0 011.1-2 3.1 3.1 0 012.3-1c.7.1 1.4.5 2 1.2m8.5-2.8l.3 1a15.2 15.2 0 002-.7l.4-.1a5.3 5.3 0 00.3.9l-.6.1-2.5.7-.7.2-.4-1.7-.6-2a15 15 0 00-.5-1.7l.6-.2.7-.2.4 1.7.6 2m9.8-3l.1-1.8h.8l.7.1-.3 1.8-.2 2-.1 1.8a12 12 0 00-.7 0h-.8v-.1l.3-1.7.2-2.2m10.5 5.6a38.2 38.2 0 003.4-2.8l.4.2.4.2-5 3.8-.5-.3a292.6 292.6 0 01.5-4.7 28.2 28.2 0 00.1-1.4 7.9 7.9 0 001.4.7 37.1 37.1 0 00-.6 4.3m9 4.1a13 13 0 001.2-1.2l.5.5.5.5-1.4 1.1-1.5 1.5-1.3 1.2a12.3 12.3 0 00-.5-.5l-.5-.5 1.4-1.1 1.6-1.5m5.3 10.7a46.2 46.2 0 001.4-1.5h-2a22.2 22.2 0 00.6 1.5m-1.2-1.5l-2 .2a2 2 0 00-.2-.4 2.8 2.8 0 00-.2-.4 326.8 326.8 0 006.2 0l.4.6a87.3 87.3 0 00-4.2 4.6l-.3-.7a5.7 5.7 0 00-.3-.6l1.5-1.4a35.3 35.3 0 00-1-1.9" font-family="Linux Biolinum" font-size="100" font-weight="700" letter-spacing="60" text-anchor="middle" word-spacing="0" style="line-height:125%;-inkscape-font-specification:Linux Biolinum Bold;text-align:center"/>
+  <path fill="#e8a30e" stroke="#000" stroke-linecap="square" stroke-linejoin="round" stroke-width=".1" d="M261.3 299.3l-.9 2.4H258l2 1.5-.7 2.4 2-1.4 2.1 1.4-.7-2.4 2-1.5H262zm9.7-4.1l-.8 2.3h-2.5l2 1.6-.7 2.4 2-1.5 2 1.5-.7-2.4 2-1.5h-2.5zm15-26.7l-.8 2.4h-2.5l2 1.6-.7 2.3 2-1.4 2.1 1.4-.7-2.4 2-1.4-2.5-.1zm-7.1 19l.8 2.4h2.5l-2 1.5.8 2.4-2.1-1.4-2 1.4.7-2.4-2-1.4 2.5-.1zm5-8.7l.9 2.4h2.5l-2 1.6.7 2.3-2-1.4-2.1 1.4.7-2.3-2-1.5h2.5zm-33.1 20.5l.8 2.4h2.5l-2 1.5.7 2.4-2-1.4-2.1 1.4.7-2.4-2-1.5h2.5zm-9.8-4.1l.8 2.3h2.5l-2 1.6.8 2.4-2.1-1.5-2 1.5.7-2.4-2-1.5h2.5zm-15-26.7l.8 2.4h2.5l-2 1.5.7 2.4-2-1.4-2 1.4.6-2.4-2-1.5h2.5zm7.1 19l-.8 2.4h-2.5l2 1.5-.7 2.4 2-1.4 2 1.4-.7-2.4 2-1.5H234zm-5-8.7l-.9 2.4h-2.5l2 1.6-.7 2.3 2-1.4 2.1 1.4-.7-2.3 2-1.5h-2.5z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M257.1 264.6v-.5h.1l-.9-.5h-.7l-.8.5v.5h2.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M257.1 264.6v-.5h.1l-.9-.5v-.8h-.6v.8l-1 .5h.1v.5h2.3zm.3.7v.2h-2.8v-.2h2.8"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M257.4 265.3v.2h-2.8v-.2h2.8zm-2.6 0v-.6.6-.7h2.5v.1h-.2v.6-.6h.1v.6"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M254.8 265.3v-.6.6-.7h2.5v.1h-.2v.6-.6h.1v.6"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255.3 265.2v-.4h-.3v.4h.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255 264.9v.2h.2v-.2h-.1m1.9.3v-.4h-.4v.4h.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.7 264.9v.2h.2v-.2h-.2m.3-.3v-.4h-.4v.4h.4z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.7 264.3v.2h.2v-.2h-.2m-1.4.2v-.3h-.3v.3h.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255 264.3v.2h.2v-.2h-.1m.8.2v-.3h-.3v.4h.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255.7 264.3v.2h.1v-.2h-.1m.7.2v-.3h-.3v.4h.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.1 264.3v.2h.2v-.2h-.2"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.5 264.4v1h-1v-1h1"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.5 264.4v1h-1v-1h1zm-1 .3h1m-.9.6v-.6m.8.6v-.6m.5-.6l-.6-.4h-.6l-.6.4h1.8m-1.2-.5h.5m-.3-.2v.2h.2v-.2h-.2m-.3 1v.1m.1 0v0m.2 0v0zm.1 0h.1v0zm.2 0v0m.2 0v0"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width="0" d="M255.8 262.4h.4v.4h-.4v-.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M256 262v.4m-.2-.3h.4"/>
+  <path fill="#452c25" d="M253 224.3s-2.6 5.8-1.7 6.4c0 0 3.1-3.5 4-6.3.8-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M253 224.3s-2.6 5.8-1.7 6.4c0 0 3.1-3.5 4-6.3.8-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
+  <path fill="#452c25" d="M253.5 221.6s-3 6.4-2.3 6.8c0 0 2.5-2.9 3.1-5.1.7-2.3 0-.2 0-.2l.8-4.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M253.5 221.6s-3 6.4-2.3 6.8c0 0 2.5-2.9 3.1-5.1.7-2.3 0-.2 0-.2l.8-4.1"/>
+  <path fill="#452c25" d="M256.6 220.1s-3 6.4-2.4 6.9c0 0 2.6-2.9 3.2-5.2.7-2.3 0-.1 0-.1l.8-4.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M256.6 220.1s-3 6.4-2.4 6.9c0 0 2.6-2.9 3.2-5.2.7-2.3 0-.1 0-.1l.8-4.1"/>
+  <path fill="#452c25" d="M295.3 208.7l3.6 2s.8.7-1 .3c-2-.5-6-1.9-13.7-6.8-3.5-2.2-4.6-2.2-4.6-2.2l4.8.2 10.9 6.5z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M295.3 208.7l3.6 2s.8.7-1 .3c-2-.5-6-1.9-13.7-6.8-3.5-2.2-4.6-2.2-4.6-2.2l4.8.2 10.9 6.5z"/>
+  <path fill="#452c25" d="M296.5 207.8l3.5 2s.9.7-1 .3c-2-.4-6-1.8-13.7-6.8-3.4-2.2-.7 1.9-.7 1.9l.6-2.7 11.3 5.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M296.5 207.8l3.5 2s.9.7-1 .3c-2-.4-6-1.8-13.7-6.8-3.4-2.2-.7 1.9-.7 1.9l.6-2.7 11.3 5.3z"/>
+  <path fill="#452c25" d="M302.4 209.7s-4.3-.8-5.8-2c0 0 .3.6-1.8-.4 0 0 .8 1.9-5-2.1-6-4-3.9-2-3.9-2l1.7-.4 10 4c1 .3 4.8 3 4.8 3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M302.4 209.7s-4.3-.8-5.8-2c0 0 .3.6-1.8-.4 0 0 .8 1.9-5-2.1-6-4-3.9-2-3.9-2l1.7-.4 10 4c1 .3 4.8 3 4.8 3z"/>
+  <path fill="#452c25" d="M280.1 211.3l1.5 2s-.5 2-5.4-1.8l-4.7-3.4 2.7-.3 6 3.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M280.1 211.3l1.5 2s-.5 2-5.4-1.8l-4.7-3.4 2.7-.3 6 3.4"/>
+  <path fill="#452c25" d="M273.7 212.3s2.3 3 1.8 3.4c-.5.4-3.2.2-5.2-2.7-1.9-3 0-.2 0-.2l.2-4.7 3.3 4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M273.7 212.3s2.3 3 1.8 3.4c-.5.4-3.2.2-5.2-2.7-1.9-3 0-.2 0-.2l.2-4.7 3.3 4"/>
+  <path fill="#452c25" d="M276 211s2.3 2.8 2 3.2c-.2.5-3.3.2-5.8-2.6-2.5-2.8-.4-3.7-.4-3.7l4.2 2.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M276 210.9s2.3 2.9 2 3.3c-.2.5-3.3.2-5.8-2.6-2.5-2.8-.4-3.7-.4-3.7l4.3 3z"/>
+  <path fill="#452c25" d="M288.7 209.3s6.3 2.7 1.6 2.5c0 0-9.1-2.5-13.9-6.5l1.4-1.8 10.8 5.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M288.7 209.3s6.3 2.7 1.6 2.5c0 0-9.1-2.5-13.9-6.5l1.4-1.8 10.8 5.6"/>
+  <path fill="#452c25" d="M292 208.5s3.4 2 3.7 2.8-10.6-2-16.4-6.8l2.6-1.2 10.1 5.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M292 208.5s3.4 2 3.7 2.8-10.6-2-16.4-6.8l2.6-1.2 10.1 5.2z"/>
+  <path fill="#452c25" d="M282.1 210.3s2.5 2 2.2 2.3a17 17 0 01-9.2-3.5l.4-1.8 6.6 3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M282.1 210.3s2.5 2 2.2 2.3a17 17 0 01-9.2-3.5l.4-1.8 6.6 3"/>
+  <path fill="#452c25" d="M286.3 210.2s2.4 1.7 2 1.8c-.6.2-2.5 1.7-11.5-3.6l-1.1-.6 1.4-2.2 9.2 4.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M286.3 210.1s2.4 1.8 2 2c-.6.1-2.5 1.6-11.5-3.7l-1.1-.6 1.4-2.2 9.2 4.5z"/>
+  <path fill="#452c25" d="M277 205.2s3 2.6 2.6 3c-.4.4-3.9-.4-5.5-1.6-1.5-1.1-2.6-2.6-2.6-2.6l3.3-.7 2.2 2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M277 205.2s3 2.6 2.6 3c-.4.4-3.9-.4-5.5-1.6-1.5-1.1-2.6-2.6-2.6-2.6l3.3-.7 2.2 2z"/>
+  <path fill="#452c25" d="M273.5 200.8l5.4 3.2s4.4 3.1 3.9 3.4c-.5.2-4-.8-6.4-2.2a29.5 29.5 0 01-5.3-4.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M273.5 200.8l5.4 3.2s4.4 3.1 3.9 3.4c-.5.2-4-.8-6.4-2.2a29.5 29.5 0 01-5.3-4.2"/>
+  <path fill="#452c25" d="M270.1 216s1 2.5.4 2.7c-.6.2-2-.2-3.3-2.5-1.1-2.4 1-1.4 1-1.4l2 1.1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M270.1 216s1 2.5.4 2.7c-.6.2-2-.2-3.3-2.5-1.1-2.4.9-1.3.9-1.3l2 1z"/>
+  <path fill="#452c25" d="M271.9 214.3s1.5 2.4 1.2 2.7c-.4.3-2.3 1.2-4.5-2s2.2-2.5 2.2-2.5l1 1.8z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M271.9 214.3s1.5 2.4 1.2 2.7c-.4.3-2.3 1.2-4.5-2s2.2-2.5 2.2-2.5l1 1.8z"/>
+  <path fill="#452c25" d="M267.4 203s5.1 10 4.7 10.5c-.4.5-2.5 0-3.6-2.6a53.3 53.3 0 01-2-6l1-1.8z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M267.4 203s5.1 10 4.7 10.5c-.4.5-2.5 0-3.6-2.6s-2-6-2-6l1-1.8z"/>
+  <path fill="#452c25" d="M273.4 205.6s4.2 3.6 3.4 4c-1 .5-2.6-.1-5.1-2.6-2.5-2.5 1.6-1.6 1.6-1.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M273.4 205.5s4.3 3.7 3.4 4.2c-1 .5-2.6-.2-5.1-2.7-2.5-2.5 1.7-1.5 1.7-1.5z"/>
+  <path fill="#452c25" d="M271.3 205.7s3 5.6 2.7 6c-.4.6-2.7-1.3-3.8-2.7s-2-3.5-2-3.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M271.3 205.7s3 5.6 2.7 6c-.4.6-2.7-1.3-3.8-2.7s-2-3.5-2-3.5"/>
+  <path fill="#452c25" d="M248.4 217.2v3.5c.1.2 1.9.3 2-2.2 0-2.5-.4-2.6-.4-2.6l-1.6 1.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M248.4 217.2v3.5c.1.2 1.9.3 2-2.2 0-2.5-.4-2.6-.4-2.6l-1.6 1.2"/>
+  <path fill="#452c25" d="M249.4 213.2s-1.1 3.7 0 4.4c1.1.8 2-3.6 2-4.6.1-1-2 .2-2 .2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M249.4 213.2s-1.1 3.7 0 4.4c1.1.8 2-3.6 2-4.6.1-1-2 .2-2 .2z"/>
+  <path fill="#452c25" d="M250.2 218s.3 3.4.9 3.5c.6.2 1.7-1 1.7-1.9 0-.9-1.1-3-1.1-3l-1.5 1.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M250.2 218s.3 3.4.9 3.5c.6.2 1.7-1 1.7-1.9 0-.9-1.1-3-1.1-3l-1.5 1.2"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M250.3 213.8s-1.2 3.7 0 4.4c1 .8 2-3.6 2-4.6 0-1-2 .2-2 .2z"/>
+  <path fill="#452c25" d="M250.4 207.8s-1.8 1.8-1.7 2.8c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M250.4 207.8s-1.8 1.8-1.7 2.8c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1z"/>
+  <path fill="#452c25" d="M249.2 206.8s-1.4 2.6-1 3.3c.3.8 1.7-.5 2.3-1.4.6-1-1.3-1.8-1.3-1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M249.2 206.8s-1.4 2.6-1 3.3c.3.8 1.7-.5 2.3-1.4.6-1-1.3-1.8-1.3-1.8z"/>
+  <path fill="#452c25" d="M268.3 203.5s2.1 4.1 1.5 4.3c-.6.2-1.5-.8-2.4-2-.9-1.2.9-2.3.9-2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M268.3 203.5s2.1 4.1 1.5 4.3c-.6.2-1.5-.8-2.4-2-.9-1.2.9-2.3.9-2.3z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M268.3 211.9s.8 3.4.1 3.7c-1.3.7-2-2.4-2.2-3.6 0-1.2 2.1-.1 2.1-.1zm-2.7 5.4s.2 2.6-.2 2.8c-.3.3-1.2.3-2.3-1.8-1-2.2-.5-1.4-.5-1.4l2.5-1.2.5 1.4"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M268.1 216.7s.3 2.8-.2 2.8c-.6.1-2-.8-2.7-2.4-.7-2 2.6-1.4 2.6-1.4l.3 1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M265.6 208.4s2.7 6.2 2.3 7.1c-.9 1.8-3.4-3.8-4.2-6-.8-2.4 1.9-1.1 1.9-1.1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M264.3 209.4s3.8 7 2.1 7c-1.5.2-4.5-5-5-6.1-.5-1.2 2.9-.9 2.9-.9z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M264 210.8s1.9 6.6.7 6c-1.2-.5-2.7-5.5-2.9-6.6-.2-1 2.2.7 2.2.7zm6.6-9.4s3 4.5 2 4.6c-1 .1-4.4-3-4.4-3.5s2.4-1 2.4-1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M268.8 201.7s3.7 5 2.6 5.2c-1.1.3-1.2-.5-1.2-.5s-3-2.7-3.1-3.3c-.3-.7 1.6-1.5 1.6-1.5m3.8.1s2.5 2.6 1.8 3.5c-.6 1-4.2-3.3-4.6-3.8-.5-.6 3 .2 3 .2m-6.4 3.8s4.1 8 3.3 8.7c-.7.8-5.3-6-5.4-7-.2-.9 2.2-1.9 2.2-1.9"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".2" d="M264 206s1.6 2.6 1.5 4c0 1.3-2.5-2-2.7-2.6-.2-.6 1.2-1.3 1.2-1.3z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M267.3 204.8s1.3 2.6.9 3.3c-.4.8-2.1-1.5-2.7-2.4-.6-1 1.8-1 1.8-1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".2" d="M261.4 207.3s2 2.2 2 3.4c-.2 1.2-3-1.7-3.3-2.3-.3-.5 1.3-1 1.3-1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M274.3 201s3 2.6 2.6 3c-.5.5-4.6-2.4-5.2-3-.6-.6 2.6 0 2.6 0z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M271.8 200.7l2.3 2s2.2 1.5 1.8 1.9c-.3.3-3.8-1.2-4.4-2-.6-.6-.5-1.4-.5-1.4l.8-.5zm7.7.7s9 3.6 8.6 4.5c-.3.8-9.3-3-10.8-4s2.1-.6 2.1-.6"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M279.9 202.5s6.7 3.8 5.9 4.1c-.8.4-5.6-.9-8-2.6a38.4 38.4 0 01-3.6-2.6l3-.7 2.7 1.8zm-16.6 4.6s1.3 2.6 1 3.3c-.5.8-1.7-.6-2.3-1.5-.6-1 1.3-1.8 1.3-1.8zm.3 5.8s1.1 3.7 0 4.4c-1.2.7-2-3.7-2-4.7s2 .3 2 .3z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M258.4 206.7s3.8-1.6 4.5-1.5c0 0 .7-.2 1.1-.5l1.4-1.1s-.6-4.5 4.1-4l12.3 1.2a48 48 0 017 2c1 .5 8.1 3.7 9.6 4.2.8.3 2.7 1.5 4.1 2.4 1 .7 0 .2 0 .2s-11.5-6-15.5-6.9c-1-.2 0 1.2 0 1.2l-3.6-1.5a6.3 6.3 0 00-3-.6 6.2 6.2 0 01-2.4-.3c-.6-.2-4-.3-4.7-.4a7.8 7.8 0 01-1-.2l.2.4-1.7-.3-.5.8s-1.6.3-1.7-.2c-.2-.6-1 2.3-1.4 3.2-.4.8-2 .8-2.5 1.3a5.4 5.4 0 01-1 1c-.2.2-1.5.9-1.9.9l-3 .2-.7-1 .3-.5zm5 10.6s0 3.3-.2 3.6c-.2.2-1.8.1-1.8-2.3 0-2.5.4-2.6.4-2.6l1.6 1.2"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M263.8 214.8s-.4-1.4-.6-1.6c-.2-.2.1-.4.1-.4s-.6-1.5-1-1.7c-.3-.3.1-.5.1-.5s-.6-1-1-1.2c-.5-.3 0-.4 0-.4s-.6-1.3-1.7-2c0 0-.7-.7-1.4-1-.8-.1-2.6-.3-4.9-.3a4 4 0 00-3.3 1.7l-.2 1.9.4-.2-.5 2.3c-.1.6.4 1.5.4 2.6a11 11 0 00.9 4.2l.1.3c.1-.2.4.6.6 1 0 0 .1 1.1.2.7.1-.2.5.6.7 1.2 0 .2.5 1.5.5.9 0-.7.4 1.3.4 1.6l.6-.8.2 1 .5-.1-.2.8s1.3-1 1.3-1.4l.1-.7.4-.4.7-1s1.6 1.2 1.8 1.7l.3.8.4-.4.4 1 .2-.5.2.6.2.4c.1 0 .4.1.8-.7.7-1.1.7-2 .7-2.2 0-.2.3.4.3.4s.6-1.1.5-1.8c0-.7.4-.5.4-.5V218c-.1-.5.3-.4.3-.4s-.1-2.2-.3-2.4c0-.3.4-.3.4-.3z"/>
+  <path d="M260.6 209.8c.3 0 .5.4.6.7v-.1c-.1-.3-.3-.7-.6-.8v.2m.3 1.3c.6.5.6 1.2.6 2 0 0 0 .1 0 0 0-.8 0-1.6-.6-2.1v.1m1.2.7a3.2 3.2 0 01.4 1.8c0-.7 0-1.3-.4-2v.2m.4 2.6l-.1 1.1a.5.5 0 000 .2 11.8 11.8 0 00.1-1.3m-.4 2v.7a4.1 4.1 0 000-.8m-.7-2.4a15.3 15.3 0 000 1.2 14.3 14.3 0 010-1.2m1.5 2.4a1.2 1.2 0 01.3.6 1.2 1.2 0 00-.3-.7v.1m-.1-2.8l.4.5a3.3 3.3 0 00-.4-.6v.1m-1.5 2.1a6.4 6.4 0 01-.1 1.1.4.4 0 000 .1 6.9 6.9 0 000-1.2m-.7.8a5.7 5.7 0 010 1.1 6.6 6.6 0 000-1.2v.1"/>
+  <path fill="#452c25" d="M246.1 207.3s-.9 3.4-.2 3.7c1.3.7 2.2-2.3 2.3-3.5.1-1.3-2-.2-2-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M246.1 207.3s-.9 3.4-.2 3.7c1.3.7 2.2-2.3 2.3-3.5.1-1.3-2-.2-2-.2z"/>
+  <path fill="#452c25" d="M248 207.3s-1.6 1.7-1.6 2.7c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M248 207.3s-1.6 1.7-1.6 2.7c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1z"/>
+  <path fill="#452c25" d="M218.7 207.5s-3.5 1.8-3.8 2.5c-.4.8 10.7-1.1 16.7-5.4l-2.4-1.4-10.5 4.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M218.7 207.5s-3.5 1.8-3.8 2.5c-.4.8 10.7-1.1 16.7-5.4l-2.4-1.4-10.5 4.3z"/>
+  <path fill="#452c25" d="M222.9 208.2s-6.5 2.4-1.8 2.5c0 0 9.3-2 14.2-5.7l-1.2-1.9-11.1 5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M223 208.2s-6.6 2.4-1.9 2.5c0 0 9.3-2 14.2-5.7l-1.2-1.9-11.2 5z"/>
+  <path fill="#452c25" d="M232.4 201.7s-6.8 3.5-6 3.9c.7.4 5.6-.7 8.1-2.3 2.6-1.6 3.6-2.5 3.6-2.5l-3-.8-2.7 1.7z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M232.4 201.7s-6.8 3.5-6 3.9c.7.4 5.6-.7 8.1-2.3 2.6-1.6 3.6-2.5 3.6-2.5l-3-.8-2.7 1.7z"/>
+  <path fill="#452c25" d="M229.8 209.4s-2.4 2-2.1 2.2c.3.3 5.3-.5 9.2-3.6l-.5-1.8-6.6 3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M229.8 209.4s-2.4 2-2.1 2.2c.3.3 5.3-.5 9.2-3.6l-.5-1.8-6.6 3"/>
+  <path fill="#452c25" d="M225.6 209s-2.3 1.9-1.8 2c.5.2 2.5 1.6 11.2-4.2l1-.6-1.5-2.2-9 4.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M225.6 209s-2.3 1.8-1.8 2c.5.2 2.5 1.6 11.2-4.2l1-.6-1.5-2.2-8.9 5z"/>
+  <path fill="#452c25" d="M223.8 202.2A72.3 72.3 0 00209 210l19-7.6m12 11.4s-1.6 2.4-1.3 2.7c.3.3 2.3 1.2 4.6-1.9 2.2-3-2.2-2.6-2.2-2.6l-1.1 1.8z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M240 213.8s-1.6 2.4-1.3 2.7c.4.3 2.3 1.2 4.6-1.9 2.2-3.1-2.2-2.6-2.2-2.6l-1.1 1.8z"/>
+  <path fill="#452c25" d="M241.7 215.5s-1 2.5-.5 2.8c.6.2 2.1-.2 3.4-2.5s-.6-1-.6-1l-2.3.7zm-3.5-3.8s-2.4 3-1.9 3.4c.5.4 3.2.3 5.3-2.6 2-2.8 0-.1 0-.1l-.6-2.6-2.8 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M241.7 215.5s-1 2.5-.5 2.8c.6.2 2.1-.2 3.4-2.5s-.6-1-.6-1l-2.3.7zm-3.5-3.8s-2.4 3-1.9 3.4c.5.4 3.2.3 5.3-2.6 2-2.8 0-.1 0-.1l-.6-2.6-2.8 1.8"/>
+  <path fill="#452c25" d="M236 210.3s-2.4 2.7-2.2 3.2c.3.4 3.4.3 6-2.4 2.6-2.8.5-3.7.5-3.7L236 210"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M236 210.3s-2.4 2.7-2.2 3.2c.3.4 3.4.3 6-2.4 2.6-2.8.5-3.7.5-3.7L236 210"/>
+  <path fill="#452c25" d="M231.8 210.5l-1.5 2s.5 1.9 5.5-1.6l4.8-3.2-2.7-.5-6.1 3.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M231.8 210.4l-1.4 2s.4 2 5.4-1.5l4.8-3.2-2.7-.5-6 3.2z"/>
+  <path fill="#452c25" d="M215.7 207.4l-3.3 1.5s-.7.6 1.2.7a41.8 41.8 0 0017.6-7.7l-2.5-1-13 6.5z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M215.7 207.4l-3.3 1.5s-.7.6 1.2.7a41.8 41.8 0 0017.6-7.7l-2.5-1-13 6.5z"/>
+  <path fill="#452c25" d="M210.2 209.5s4.6-.5 6.4-1.7c0 0-.3.5 2-.4 0 0-1.2 2.1 5.7-2 7-4.3 0-.2 0-.2l7.8-4.4-.5-.8-15.7 6.6a58 58 0 00-5.7 2.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M224.4 205.3l7.6-4.5-.4-.8-15.7 6.6c-1.1.3-5.7 2.9-5.7 2.9s4.6-.5 6.4-1.7c0 0-.3.5 2-.4 0 0-1.1 2 5.8-2.1z"/>
+  <path fill="#452c25" d="M243.8 215.4s-.5 3.7 0 3.8c.6.1 2.1-1 2.8-3.3.6-2.2-2.5-2-2.5-2l-.5 1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M243.8 215.4s-.5 3.7 0 3.8c.6.1 2.1-1 2.8-3.3.6-2.2-2.5-2-2.5-2l-.5 1.4"/>
+  <path fill="#452c25" d="M246.2 217s-.3 2.6 0 2.9c.4.2 1.3.3 2.4-1.8l.6-1.3-2.5-1.4-.5 1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M246.2 217s-.3 2.6 0 2.9c.4.2 1.3.3 2.4-1.8l.6-1.3-2.5-1.4-.5 1.5z"/>
+  <path fill="#452c25" d="M246.8 212.3s-2 4.3-.8 4.3c1.1 0 2.6-3.3 2.9-4 .2-.8-2-.3-2-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M246.8 212.3s-2 4.3-.8 4.3c1.1 0 2.6-3.3 2.9-4 .2-.8-2-.3-2-.3z"/>
+  <path fill="#452c25" d="M246.7 212.3s-.8 4.7.3 4.3c1-.4 1.7-4 1.7-4.8 0-.7-2 .4-2 .4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M246.7 212.3s-.8 4.7.3 4.3c1-.4 1.7-4 1.7-4.8 0-.7-2 .4-2 .4z"/>
+  <path fill="#452c25" d="M248.3 212.7s-1.2 3.7 0 4.5c1 .7 2-3.7 2-4.7s-2 .2-2 .2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M248.3 212.7s-1.2 3.7 0 4.5c1 .7 2-3.7 2-4.7s-2 .2-2 .2z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M243.7 211.5s-1.2 3.4-.5 3.8c1.3.6 2.4-2.4 2.5-3.5.2-1.3-2-.3-2-.3zm-8.5-7s-3 2.5-2.7 2.9c.4.4 4-.3 5.5-1.4 1.6-1 2.2-1.6 2.2-1.6l-2.7-1.7-2.3 1.8z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M237.9 202s-2 1.5-1.6 1.9c.3.4 3.8-1 4.5-1.7.6-.7.6-1.4.6-1.4l-3.5 1.1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M239.9 201.7s-2.7 2.2-2 3c.6.7 4.3-2.8 4.8-3.2.5-.5-3.1 0-3.1 0"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M238.7 200.7l-5.3 2.5s-4.5 3-4 3.2c.4.3 3.9-.6 6.4-1.9 2.5-1.2 5.2-3.3 5.2-3.3m-.8 2.4s-5.8 4.9-5 5.4c1 .5 4.8-1.6 7.4-4"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M240.9 205.2s-3.3 5.5-2.9 6c.4.6 2.7-1.3 3.9-2.7 1.2-1.3 2.1-3.4 2.1-3.4"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M242.8 205.7s-3.6 6.5-3.2 7c.4.6 2.5.2 3.7-2.4 1.2-2.6 1.1-4.2 1.1-4.2l-1.6-.4z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M244.8 206s-3.9 8-3.1 8.8c.7.8 5-6 5.3-7 .3-1.8-2.2-2-2.2-2m-8.2-5.2s-3.6 1.7-2.8 2c.7.4 4-1 4.4-1.2.5-.2-1.6-.8-1.6-.8z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M237.1 201.2s-2.2 1.7-1.7 2.2c.4.4 3.7-1.4 4.4-2 .6-.5-2.7-.2-2.7-.2zm4.6.1s-3 4-2.1 4.2c1 .1 4.4-2.6 4.4-3 0-.5-2.3-1.2-2.3-1.2z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M243 202.2s-3.2 4-2.3 4.3c1 .2 1-.4 1-.4s2.5-2.1 2.7-2.6c.2-.6-1.3-1.3-1.3-1.3"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M244 203.2s-2.3 4-1.7 4.2c.6.2 1.5-.7 2.5-2 1-1.1-.8-2.2-.8-2.2z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M244.6 205s-1.4 2.5-1 3.3c.3.8 1.7-.6 2.3-1.5.6-.9-1.3-1.8-1.3-1.8zm.6 7s-1 3.4-.3 3.7c1.4.7 2.2-2.3 2.3-3.5.2-1.3-2-.2-2-.2z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M251.4 207.4s-1-.3-1.6-.3c0 0-2-1.6-3-1.8-1.2-.1-.3-.1-.3-.1s0-2.6-.4-2.8c0 0-.2-2.7-1.8-2.9-1.7-.2-5.5.2-6.2 0-.6-.3-2.7-1.2-6.7-.1-4 1-12 4.6-12.3 4.7-.4.1 9-2 11.8-3.2 0 0 2.6-.2 3.4-.5 0 0-3 1.5-.2.9 2.8-.7 2.2 0 2.2 0s-.3.6 1.3.2c1.6-.3 1.6 0 1.6 0s1.8.7 3.2-.2c0 0 .7 2.6 1.6 3 0 0 1.1 2.2 3.4 2.7l1.3.9 1.3.4 1.3-1"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M232.8 200.6s-9 3.2-8.7 4c.3 1 9.4-2.4 10.9-3.4 1.4-.9-2-.7-2-.7"/>
+  <path d="M257.9 207.6l.6.2a1.6 1.6 0 00-.4-.4l-.7-.3.1.2.4.3m-7 6.8c0 .3 0 .6.2.8v-.1c-.1-.3-.1-.6-.3-.8v.1m1.3-7l.9-.1v-.2c-.3 0-.6 0-1 .2v.1m1.9-.1l.9-.2v-.1a2 2 0 00-1 .2m-3 1.7h-.1a.3.3 0 000 .2v-.2m-.2 4.9v.7a.3.3 0 000-.1 4.3 4.3 0 010-.6c0-.1 0-.1 0 0"/>
+  <path fill="#bd8759" d="M252.4 228.2l-1.2 1.1a4 4 0 00-.1.7s.9 0 .8.4c0 0 .3.2.8-.9.4-1 .9-1.6 1.2-1.5.3 0 .8.3 1 .6.2.2.5.4.9.3 0 0-.4-.6-.2-.8h.7s-.4-.8-1-1c-.7 0-1.2-.2-1-.5l1-2.6-1.1-1.6-.5 1.4.2 1c0 .3-1 2.2-1 2.3l-3 1.2c-.2 0-.8.8-.8.8v.5s.3-.3.5-.1c0 0 .2-.4.5-.3l.2.2.5-.4.1-.1.6-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M252.4 228.2l-1.2 1.1a4 4 0 00-.1.7s.9 0 .8.4c0 0 .3.2.8-.9.4-1 .9-1.6 1.2-1.5.3 0 .8.3 1 .6.2.2.5.4.9.3 0 0-.4-.6-.2-.8h.7s-.4-.8-1-1c-.7 0-1.2-.2-1-.5l1-2.6-1.1-1.6-.5 1.4.2 1c0 .3-1 2.2-1 2.3l-3 1.2c-.2 0-.8.8-.8.8v.5s.3-.3.5-.1c0 0 .2-.4.5-.3l.2.2.5-.4.1-.1.6-.2"/>
+  <path fill="#bd8759" d="M259.3 223.1v2.3c0 .4 0 .9-.2 1.2-.2.3-.4.5-.7.5s-1.2 0-1.4.3a5.4 5.4 0 01-.3.5s.6-.4.6 0c.1.3-.2.5-.2.5s.5.1 1-.1c.4-.3.7-.4.9-.4.2 0 .4.3.4.3v1c0 .5 0 1.3.4 1.3 0 0 .1-.4.3-.5.2 0 .6.4.5.6v-1.4l-.3-1s1.4.5 1.5.7l.6.4c.1 0 0-.5.3-.5h.3s-.4-.9-1-1.2l-1.3-.5c-.2-.3-.3-.6-.3-1v-3l-1-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M259.4 223v2.4c0 .4 0 .9-.3 1.2-.2.3-.4.5-.7.5s-1.2 0-1.4.3a5.2 5.2 0 01-.3.5s.6-.4.6 0c.1.3-.2.5-.2.5s.5.1 1-.1c.4-.3.7-.4.9-.4.2 0 .4.3.4.3v1c0 .5 0 1.3.4 1.3 0 0 .1-.4.3-.5.2 0 .6.4.5.6v-1.4l-.3-1s1.4.5 1.5.7l.6.4c.1 0 0-.5.3-.5h.3s-.4-.9-1-1.2l-1.3-.5c-.2-.3-.3-.6-.3-1v-3l-1-.1z"/>
+  <path fill="#dcddde" d="M250.7 210.5s-.1-1.4.3-1.6c0 0 .1-1.2 1.8-1 0 0 .6-1 1.5-.5 0 0 .8-.4 1.3-.2a5 5 0 011.2.8s.7-.1 1 .1c.4.3.2 1.2.2 1.2s.9.6 1 1.2c0 .5 0 .7-.2.9 0 0 .4.3.3.7 0 .4-.4 1-.5 1s0 1.1-.3 1.5c-.4.4-.7.4-.9.5-.1 0-.5.6-1 .7-.3 0-.8-.6-.9-.8 0-.2-.5-.4-.5-.4s-1.2 1.3-2 1a2 2 0 01-1.2-1l-.3-1s-1-.5-.8-1c0-.5.4-1 .4-1l-.4-1.1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M253.7 226a.3.3 0 01-.3 0m.7-1a.8.8 0 01-.4 0m0 .6h.2m-1 1.5a.3.3 0 00.1.1m6.9-1l.5.1m-.2-.6h-.4m.4-.6a1 1 0 01-.4 0m-.1 2l.4.1m-.4.5a.2.2 0 01.2 0m0 1.7a.4.4 0 01.2 0m-5.4-2.2a.4.4 0 00-.3.3m1.1-.2c-.2.1-.3.3-.3.5m-4.9.4l.5.3m10.5-1a.4.4 0 00-.2.3m.8 0a.2.2 0 00-.1.1"/>
+  <path fill="#d9c0b9" d="M249 229.4l.6-.1s-.3.7-.2 1c0 0-.6-.4-.4-.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M249 229.4l.6-.1s-.3.7-.2 1c0 0-.6-.4-.4-.9z"/>
+  <path fill="#d9c0b9" d="M251.3 229.8s-.7 1.1.1 1.7c0 0 0-1 .6-1.3l-.8-.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M251.3 229.8s-.7 1.1.1 1.7c0 0 0-1 .6-1.3l-.8-.3z"/>
+  <path fill="#d9c0b9" d="M255.6 228.8l-.2-.6.2-.2h.6s.4.9 0 1.3c0 0 0-.5-.2-.5h-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M255.6 228.8l-.2-.6.2-.2h.6s.4.9 0 1.3c0 0 0-.5-.2-.5h-.4z"/>
+  <path fill="#d9c0b9" d="M257 227.6h.4l.1.4v.3l-.4.2s-.5-.2-.4.5c0 0-.2-1.2.3-1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M257 227.6h.4l.1.4v.3l-.4.2s-.5-.2-.4.5c0 0-.2-1.2.3-1.4z"/>
+  <path fill="#d9c0b9" d="M259.7 230.3l.4-.5.4.3-.2 1.2v.1l-.3-.3-.3-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M259.7 230.3l.4-.5.4.3-.2 1.2v.1l-.3-.3-.3-.8z"/>
+  <path fill="#d9c0b9" d="M262.3 229.1s.7.8.6 1c0 0 .7-.6-.2-1.5l-.4.5z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M262.3 229.1s.7.8.6 1c0 0 .7-.6-.2-1.5l-.4.5z"/>
+  <path d="M259.5 209c.1 0 .2 0 .3.2v-.1c0-.2-.2-.3-.3-.3v.1m.1 2.3l.5.7v-.1a1.8 1.8 0 00-.5-.8v.2m-.4-1.7l.5.6v-.1l-.5-.6v.1m.5 3.7l-.1 1a2 2 0 00.1-1.1.4.4 0 000 .1m.5 1.2v-.1m2 4.1a5.1 5.1 0 01.1 1.4l-.1-1.5v.1m-.3 1a7.9 7.9 0 01-.4.9v.1a7.8 7.8 0 00.4-1m-11-3.2l.8 1.3v-.1l-.8-1.3v.1m2 0c-.3.1-.4-.3-.6-.4v.2c.2 0 .3.4.5.4v-.1m-1 1.8l.5 1-.5-1.1v.1m1.2.5c.3.2.5.5.6.8v-.1a2.9 2.9 0 00-.6-.9v.2m0 1.3l.3.7v-.2l-.4-.7v.2m1.2.2a3 3 0 01.1.8 3.5 3.5 0 000-.9s-.1.1 0 .1m-.6 1.1c0 .4.2.7.4 1v-.1l-.4-1a.4.4 0 000 .1m.3-4.6l.9.2a8.6 8.6 0 01-.9-.4v.1m.2 1.3l1 .5v-.2l-1-.5v.2m.3 1.3l.6.6v-.1a4.8 4.8 0 01-.6-.6v.1m.4 1.7l.3.8a.3.3 0 000-.1 1.9 1.9 0 00-.3-.8v.1m1-4.2l.1.5v-.1a10.8 10.8 0 010-.5.3.3 0 000 .1m2.4-1l-.2.5v.2a3.8 3.8 0 00.3-.6m1-.1v.8a.4.4 0 000 .1 4.4 4.4 0 000-1m.2 1.7a3 3 0 010 .7.6.6 0 000 .1 4 4 0 000-.8m.8 1.5a1.4 1.4 0 01-.5.8v.2c.3-.3.5-.6.5-.9a.5.5 0 000-.1m-2.6-1.5l-.2.4v.1l.2-.4v-.1m.3 2a2 2 0 01-.3.4v.2a2 2 0 00.3-.4v-.1m-.9 1c-.3-.4-.5-.8-.3-1.3v-.1c-.2.5-.1 1.1.3 1.5v-.1m-1.2-1.1v.7a2 2 0 000-.9.3.3 0 000 .2m2.8 1.3l-.3.7v.1l.3-.7m1.8.7l-.5.7v.2a9.7 9.7 0 00.5-.8v-.1m.8.9a18 18 0 000 .1.5.5 0 000-.1m1.1-1.7v.5c0 .1 0 0 0 0v-.5c0-.1 0 0 0 0m-11.8-5.2v1.4s.1-.1 0-.1v-1.2"/>
+  <path fill="#fff" d="M254.7 209.4c.8-.7 1.8-1.4 2.9-1.1v-.2c-1-.2-2.1.5-2.9 1.2v.1m3.7.9c-.8-.6-2-.7-2.8-.1v.1c.7-.6 2-.4 2.8.1v-.1m-3 1.1a6 6 0 01.6 3.2.5.5 0 000 .1c.2-1.2-.2-2.3-.5-3.4v.2m-1.2.6c.2 1 0 2 0 3v.1c0-1 .2-2.2 0-3.2m1.6-.7c1 .3 2 1 2.5 1.8v-.1a4.1 4.1 0 00-2.5-1.8v.1m-.9 1.4l-.1 1.9v.1c.2-.6.1-1.3.1-2m1.6-.1c.6.5 1.1 1.3 1.2 2a3.4 3.4 0 00-1.2-2.2v.2m-4.6 1.7c.2-.3.4-.6.8-.8v-.1c-.4.1-.6.5-.8.8m1.5-5.3a2 2 0 00-1-1.2v.1c.4.3.8.7 1 1.2v-.1m-1 0a3.7 3.7 0 00-1.6-.3v.1c.6 0 1.1 0 1.7.3v-.1m1.6-.1c0-.5 0-1-.5-1.4v.1c.4.3.6.7.5 1.2m2 .7c.5-.2 1-.2 1.5-.2v-.1c-.5 0-1 0-1.5.2v.1m.9 1.4c.7 0 1.3.4 1.8 1v-.3a2.8 2.8 0 00-1.8-1v.3m-3.4 2c-.2.8 0 1.7-.9 2v.3c.9-.3.7-1.3 1-2v-.3"/>
+  <path fill="#fff" d="M255.5 212.3c.3.7.7 1.5.5 2.4a1 1 0 000 .2c.2-1-.2-2-.5-2.9v.3m1-.2a2 2 0 011.6 1.6v-.1a1 1 0 000-.2 1.8 1.8 0 00-1.5-1.5v.2m0 1.1c0 .7.3 1.3 0 2v.2c.3-.8.1-1.6 0-2.4a1 1 0 000 .2m-.4-2.7c.8-.2 1.6-.3 2.3.3v-.3c-.7-.6-1.5-.4-2.3-.3v.3m-1.5-1.6c0-.7.7-1.2 1.3-1.4v-.3c-.7.2-1.2.7-1.3 1.4a1 1 0 000 .2m-.8.5c0-.8-.3-1.4-.6-2v.2c.2.6.6 1.2.6 1.8 0 .2 0 0 0 0m-.7.4a2 2 0 00-1.1-1.4v.2c.5.3 1 .8 1.1 1.4a.8.8 0 000-.2m-1-.3a3 3 0 00-1.3-.6v.2c.5.1.9.4 1.3.6v-.2m2.3 3.1c0 .7.2 1.4-.2 2v.3c.5-.7.3-1.6.3-2.5v.2"/>
+  <path fill="#fff" d="M255.3 212.1c.3.7.6 1.4.5 2.1v.2c0-1-.2-1.7-.5-2.5v.2m.6-1c.7.3 1.3.5 1.8 1v-.2a3.8 3.8 0 00-1.8-1v.3m-1.8-1.5a16 16 0 00.1-1.8c0-.2 0-.2 0 0 0 .5 0 1-.2 1.6v.2m-1.2-.4a6 6 0 01-1.3-.9v.3l1.3.9v-.3m-.2 3.5c-.3.2-.5.5-.7.9v.2l.7-.8v-.3m.9.6c0 .4-.3.8-.6 1.2v.2c.4-.4.6-.8.6-1.4 0 0 0-.2 0 0m2.3-3.8c.4-.7 1.3-.7 2-1v-.2c-.7.2-1.6.2-2 .9v.2m-4.5 0a2.2 2.2 0 01-.4-.2v.2l.4.2v-.2m.1 3.3a1 1 0 00-.4.2v.3l.4-.2v-.2a.8.8 0 000-.1m.6.1l-.7.7v.2l.7-.7v-.2m1.1.3c-.2.6-1 1.3-.4 2v-.3c-.4-.5.2-1 .4-1.4v-.3m.8 0l-.2 1.8a1 1 0 000 .3 10.5 10.5 0 00.2-2.1m2-.7c.5.6.9 1.2 1 2v-.3a5.7 5.7 0 00-1-2v.3m.2-.5c.8.5 1.6 1 2.1 1.9v-.3c-.5-.8-1.3-1.3-2-1.9v.3"/>
+  <path fill="#fff" d="M256.6 211h.8l.6.5c.2.1.5.2.6.4.3.3.3.7.3 1a.8.8 0 000-.2l-.1-.8-.5-.5-.8-.5c-.3-.2-.6-.2-1-.1v.2"/>
+  <path fill="#fff" d="M258.4 212.5l.3.8v-.2l-.3-.7v.1m-2.1-3.8l1.6-.4v-.3l-1.6.4v.3m-2.2.3a2.4 2.4 0 01.4-.8l.4-.9v-.3l-.4.8c0 .3-.3.6-.4 1v.2m-1.8 5l.1 1.3v-.3a1.5 1.5 0 010-.8v-.2m1 .8c-.2.2-.2.6 0 1v-1m.8-.5l-.2.8v.2l.2-1s0-.1 0 0m0-1.5v.5-.6.1m-.3.2a.9.9 0 010 .1.8.8 0 000 .3v-.7.3m-.6-.2a3.7 3.7 0 000 .5.8.8 0 000 .2v-.6m-.4 0l-.9.6v.3l1-.7v-.2m-.8 0c-.1.2-.3.3-.5.3v.3c.2 0 .4-.1.5-.3v-.1a3.3 3.3 0 000-.1m-1-.3l-.4.2v.2l.4-.2v-.2m3-.1l.1.5a.8.8 0 000-.2v-.4.1m.4-.2l.1.6a.4.4 0 000-.1v-.2a1 1 0 010-.3v-.2.2m.3 0l.1.3v-.1a.9.9 0 000-.5h-.1v.2m.4-.1a.8.8 0 01.4.2v-.4a.8.8 0 00-.4-.2v.3m.3-.4l.6.3v-.3a1.3 1.3 0 01-.6-.3v.4m.5-1.2h.4v-.2a2.5 2.5 0 00-.4 0v.2m-.3-.6l.4-.4a5.7 5.7 0 000-.2l-.4.4v.2m-.4-.5a1 1 0 01.2-.5v-.2a1.1 1.1 0 00-.2.6s0 .1 0 0m-.4-.2l.5-.8v-.2l-.5.8v.2"/>
+  <path fill="#fff" d="M254.4 208.3l.1 1v-.1a.7.7 0 000-.2v-.8.1m-1.4.2l.2.4a2 2 0 01.1.3c0-.1 0 0 0 0v-.3l-.3-.6v.2m-.2.6a4.8 4.8 0 00-.6-.5 1.6 1.6 0 000 .1v.2l.6.4v-.2m.8.3a3 3 0 00-.1-1.8v.3c.2.4.2.8.1 1.2v.2m1.3-.7v-.3.3"/>
+  <path fill="#fff" d="M253.6 209.4l.1-1v-.3l-.2 1a1.6 1.6 0 000 .3m3.8 2.1c.3.1.6.3.7.6v-.4c-.1-.3-.4-.5-.7-.6v.4m-1 2v.6a1.2 1.2 0 000 .3s0 .1 0 0a2.8 2.8 0 000-1.2.7.7 0 000 .1v.3m-.9-.6v1.3s0 .2 0 0v-1.5.2m-.4.4a22.6 22.6 0 00-.3 1.7l.3-1.3v-.4m.6.3v1.1a1.5 1.5 0 000 .3c0 .1 0 .1 0 0v-1.6.2m-2.8.2a.7.7 0 010 .1v-.5.1a1.4 1.4 0 000 .3m1.2-.8l.1.4v-.8.4m.3-.2a.4.4 0 01.1.2s0 .1 0 0a.7.7 0 000 .2v-.3l-.1-.5a1.4 1.4 0 000 .2v.2m.4-.3l.2.4a1 1 0 000-.2v-.2l-.2-.4a2.8 2.8 0 000 .3m.9-.3l.5.7v-.4a10 10 0 01-.5-.7v.4m.4-.7l.5.6v-.5a4.4 4.4 0 01-.4-.6v.5m-4.6-2.1a1.8 1.8 0 00-.5-.3v.4c.2 0 .3.2.5.3v-.4m1.4-.5a.5.5 0 010 .1v.1l.1-.2a1 1 0 000-.4 1 1 0 000 .1v.3m1-1.1l-.1.8v.3s0 .1 0 0c.2-.3.2-.8.2-1.2a.6.6 0 000-.1v.2m.2 1.5l.5-.6v-.4l-.5.6v.4m.7 0l.2-.3v-.3l-.2.2a1.4 1.4 0 000 .2v.2m1 .2a8.3 8.3 0 01-.7 0v.4a8 8 0 00.8 0v-.4m-.3 1c.4.1.7.4 1 .6 0 0 .2-.4 0-.4l-1-.7v.4"/>
+  <path fill="#fff" d="M256 211.2l.9.6v-.5l-1-.6a2.3 2.3 0 000 .2v.2m-2-1.5v-.6.6m-2.4-1c.2.3.6.5 1 .8l.6.7s.1-.4 0-.4l-.6-.6-1-1c0 .1-.1.4 0 .4m.6 1.2a8.2 8.2 0 01-.5-.6 1.8 1.8 0 000 .2v.2a8 8 0 00.5.6v-.4m-.4 2.7l-.3.6v.4l.3-.6v-.4m.3.4v.7a1.4 1.4 0 000 .3v-1.1a.7.7 0 000 .1m1.1 2c.2-.8.2-1.4.2-2.1 0-.3 0 0 0 0 0 .6 0 1.1-.2 1.6v.4m.6-1.6l.1.7a1.4 1.4 0 000 .3s0 .1 0 0v-1.4a.7.7 0 000 .2v.2m.6-.2c.2.3.3.6.2 1v.2c.1-.5.1-1.2-.2-1.6v.4"/>
+  <path fill="#fff" d="M254.5 212.6l.4 1.8v-.3a14.2 14.2 0 00-.3-1.9v.4m.5-.1l.7 1.1a.7.7 0 000-.1v-.3a4 4 0 00-.7-1.1v.4m1.2-1c0-.2-.3-.3-.5-.2v.4c.2 0 .4 0 .5.2v-.4"/>
+  <path fill="#fff" d="M255.7 211.3h1.2v-.5h-1.2v.5m.7-3.1a3 3 0 00-.5 1.3v.3s0 .1 0 0c0-.4.2-.9.5-1.2v-.4m-1.6.3c0 .4.2.7.3 1a.8.8 0 000-.1v-.3l-.3-1v.1a1.3 1.3 0 000 .3m-.3.6a1.6 1.6 0 01-.4-.5 1 1 0 000 .1v.3a1.7 1.7 0 00.4.5v-.4m-.6.3c-.5-.1-.9-.3-1.3-.6v.4c.4.3.8.5 1.3.6v-.4"/>
+  <path fill="#dba05f" d="M254.4 209.3l-2.3.4-2 .2-1.3-.4c-.4 0-1.7-.2-2.2.3l-1 .8c-.1.2-.7.7-.7 1 0 .2.1.6.4.6.3 0 1 .6 1 .8 0 .2.8.4 1.6.4 1.4 0 2.1-.7 4.2-.4 1.2 0 3.3-.8 3.7-1.4.4-.5.6-1.1.2-1.7-.3-.7-1.5-.6-1.6-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M254.4 209.3l-2.3.4-2 .2-1.3-.4c-.4 0-1.7-.2-2.2.3l-1 .8c-.1.2-.7.7-.7 1 0 .2.1.6.4.6.3 0 1 .6 1 .8 0 .2.8.4 1.6.4 1.4 0 2.1-.7 4.2-.4 1.2 0 3.3-.8 3.7-1.4.4-.5.6-1.1.2-1.7-.3-.7-1.5-.6-1.6-.6z"/>
+  <path d="M246.8 211.3v-.1l.1-.2.2-.2a.9.9 0 01.4-.3h-.1.7l-.7.1h.6-.5c-.3.1-.3.5-.7.7"/>
+  <path fill="none" d="M246.7 211.2l.4-.4.7-.3h.3"/>
+  <path fill="none" d="M247.4 210.6l-.4.3-.3.3m.8-.6h.5m-.6.1h.5"/>
+  <path d="M247.9 211l-.2.1-.1.1-.3.2-.4.1.5-.1-.4.1.4-.1-.4.1h.1s.4 0 .8-.4"/>
+  <path fill="none" d="M247.8 211l-.3.2s-.3.3-.4.2l-.2.1m.4-.1l.3-.2.2-.2m-.4.4l-.4.1m.4-.1l-.3.1"/>
+  <path fill="#c6262c" d="M248.4 209.6s0-.6-.6-.8a3.4 3.4 0 00-1.4-.2l-.6.1a2.7 2.7 0 00-.6.2v.3c-.2.2-.5.4-.4.6.2.3 0 .3.2.4.2 0 0-.1 0-.1s-1 .3-.8.9c.2.6.5.4.6.4l.5-.3.8-.7 1-.4h.6l.7-.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M248.4 209.6s0-.6-.6-.8a3.4 3.4 0 00-1.4-.2l-.6.1a2.7 2.7 0 00-.6.2v.3c-.2.2-.5.4-.4.6.2.3 0 .3.2.4.2 0 0-.1 0-.1s-1 .3-.8.9c.2.6.5.4.6.4l.5-.3.8-.7 1-.4h.6l.7-.4z"/>
+  <path d="M247.7 211l-.3.4-.4-.1.4-.5.3.1"/>
+  <path fill="#d9c0b9" d="M243.8 213.6s-.7-1.3 1.4-2l.8.6s-.4.6-1.6.8c0 0-.6.2-.6.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M243.8 213.6s-.7-1.3 1.4-2l.8.6s-.4.6-1.6.8c0 0-.6.2-.6.6z"/>
+  <path fill="#d9c0b9" d="M244 213.4s.9.1 1.5-.3c.4-.3.6-.2.7-.1 0 0 0-.5-.2-.8l-1 .7c-.5 0-.8 0-1 .5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M244 213.4s.9.1 1.5-.3c.4-.3.6-.2.7-.1 0 0 0-.5-.2-.8l-1 .7c-.5 0-.8 0-1 .5z"/>
+  <path fill="#7a2e26" d="M246.4 213h.5v-.2h-.5v.1m-.3-2.2c-.1 0 0 .2-.2.3v.1c.1 0 0-.2.2-.2v-.2m.5.3l.3-.2v-.1c-.2 0-.3 0-.4.2v.1m.6.8a.3.3 0 00.3-.1v-.1a.3.3 0 01-.3 0v.2m.5-.2a.8.8 0 00.4-.3v-.1a.8.8 0 01-.4.3v.1m-.7-.7l-.4.4v.1l.4-.4v-.1m.3 2.2l1-.1v-.2a3.3 3.3 0 01-1 .2m1.6 0c.5-.3 1-.6 1-1.2v-.1c0 .6-.5.9-1 1.2v.1m.3-.8c.4-.2.6-.5.7-.9v-.1c-.1.4-.4.7-.7.9v.1m-.1-2c.2-.1.5.1.7.3v-.2l-.7-.3v.1m6.6 1c.3-.4.2-1-.1-1.4v.1c.2.4.4.8.1 1.2v.2m-5-.7c.2.2 1 .8.8 1.2v.1c.3-.6-.4-1.2-.9-1.5v.2m2.3 2.2a1.6 1.6 0 00.1-.4.5.5 0 000-.1v.5"/>
+  <path fill="#5e3f17" d="M253.7 212.5l.6-.3m-9-.2c-.4.2-1 .2-1 .7 0-.5.6-.5 1-.7"/>
+  <path fill="#842116" d="M245 210.4c.1 0 .3.1.3.3a.5.5 0 000 .1.7.7 0 000-.3c0-.2-.2-.2-.3-.2v.1m.7.3a.7.7 0 000-.6v.6m.6-.6c0-.2-.1-.5-.4-.6v.1c.3.1.3.4.4.6a.3.3 0 000-.1m.5-.1c0-.2 0-.5-.2-.6v.1l.2.4m-.9-.7c.5-.2 1.6-.3 2 .2v-.2c-.4-.5-1.5-.4-2-.1v.1"/>
+  <path fill="#7a2e26" d="M244.8 211.3v-.5s-.1 0 0 0v.5m5 1.5a.7.7 0 00.3-.5v-.1a.7.7 0 01-.3.4v.2m.8-.1a.4.4 0 00.1-.3l-.1.2v.1m4.6-2.5a1 1 0 01.1.7.4.4 0 000 .1v-1s-.1.1 0 .2m-.6.4l.1.7v-.8.1m-.5.4"/>
+  <path fill="#452c25" d="M260.5 224.5l.1.3h.1l-.1-.3z"/>
+  <path fill="#dcddde" d="M250 208c-1.7 0-3.5-1.2-3.5-1.2-2.3-.4-2.4-2.5-2.4-2.5-1-.3-1.7-2.6-1.7-2.6-1.4.8-3.2 0-3.2 0s0-.4-1.6 0c-1.6.3-1.3-.3-1.3-.3s.6-.7-2.2 0c-2.8.6.3-.9.3-.9-.9.3-3.5.5-3.5.5-1 0-2 .5-3 .8-.8.2-2 .4-2.5.7l-7.3 3.1-5.9 2.3c.3 0 3.7-2.3 8-4.2a93.5 93.5 0 0111-4.2c3.1-1 5.6-.5 7 0 .7.2 4.4-.1 6 0 1.8.3 2 3 2 3 .2.2.4 2.8.4 2.8s-1 0 .1.2 3.1 1.7 3.1 1.7h.8s.4-.5.9-.7l1.6-.5h2.1l2.2.3c.9.1 1 .2 1.3.3h.5c1-.5 3.2-1.3 3.6-1.2 0 0 .8-.2 1.2-.5a112 112 0 001.4-1.1s-.6-4.7 4.1-4.3l12.3 1.3a47.8 47.8 0 0112.5 4.5l4.3 1.9c2.4 1 4.1 2.5 4.1 2.5l-3.8-1.9c-1-.4-2-.6-2.8-1l-3.9-1.8c-3.7-1.7-3.6-1.8-5.1-1.9-1 0 .7 1.2.7 1.2l-4.4-1.7a6.3 6.3 0 00-3-.6 6.2 6.2 0 01-2.4-.3c-.6-.2-4-.4-4.7-.4a7.8 7.8 0 01-1-.2l.2.4-1.7-.3-.5.7s-1.6.3-1.7-.2c-.2-.5-1 2.4-1.4 3.2-.4.9-2.4.6-2.9 1.1-.4.6-1.5 1-1.7 1-.2.2-1 .1-1.4.1-.6 0 0 0-1.1.2l-1.2-.1-1.5-.5-3.8-.2a6 6 0 00-1.5.4l-1.3.8"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M250 208c-1.7 0-3.5-1.2-3.5-1.2-2.3-.4-2.4-2.5-2.4-2.5-1-.3-1.7-2.6-1.7-2.6-1.4.8-3.2 0-3.2 0s0-.4-1.6 0c-1.6.3-1.3-.3-1.3-.3s.6-.7-2.2 0c-2.8.6.3-.9.3-.9-.9.3-3.5.5-3.5.5-1 0-2 .5-3 .8-.8.2-2 .4-2.5.7l-7.3 3.1-5.9 2.3c.3 0 3.7-2.3 8-4.2a93.5 93.5 0 0111-4.2c3.1-1 5.6-.5 7 0 .7.2 4.4-.1 6 0 1.8.3 2 3 2 3 .2.2.4 2.8.4 2.8s-1 0 .1.2 3.1 1.7 3.1 1.7h.8s.4-.5.9-.7l1.6-.5h2.1l2.2.3c.9.1 1 .2 1.3.3h.5c1-.5 3.2-1.3 3.6-1.2 0 0 .8-.2 1.2-.5l1.4-1.1s-.6-4.7 4.1-4.3l12.3 1.3a47.8 47.8 0 0112.5 4.5l4.3 1.9c2.4 1 4.1 2.5 4.1 2.5l-3.8-1.9c-1-.4-2-.6-2.8-1l-3.9-1.8c-3.7-1.7-3.6-1.8-5.1-1.9-1 0 .7 1.2.7 1.2l-4.4-1.7a6.3 6.3 0 00-3-.6 6.2 6.2 0 01-2.4-.3c-.6-.2-4-.4-4.7-.4a7.8 7.8 0 01-1-.2l.2.4-1.7-.3-.5.7s-1.6.3-1.7-.2c-.2-.5-1 2.4-1.4 3.2-.4.9-2.4.6-2.9 1.1-.4.6-1.5 1-1.7 1-.2.2-1 .1-1.4.1-.6 0 0 0-1.1.2l-1.2-.1-1.5-.5-3.8-.2a6 6 0 00-1.5.4l-1.3.8"/>
+  <path fill="#452c25" d="M250.3 207.4s-.2.1-.3.5v.2"/>
+  <path fill="#574f4c" d="M259.5 206.9l.7.5s0 .1 0 0a7 7 0 00-.8-.7.6.6 0 00.1.2"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bq.svg
new file mode 100644
index 0000000..cc872ef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bq.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bq" viewBox="0 0 512 512">
+  <path fill="#21468b" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h512v341.3H0z"/>
+  <path fill="#ae1c28" d="M0 0h512v170.7H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/br.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/br.svg
new file mode 100644
index 0000000..8353e82
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/br.svg
@@ -0,0 +1,45 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-br" viewBox="0 0 512 512">
+  <g stroke-width="1pt">
+    <path fill="#229e45" fill-rule="evenodd" d="M0 0h512v512H0z"/>
+    <path fill="#f8e509" fill-rule="evenodd" d="M261.4 405.4l229.8-149.2L260 106.6l-230.7 150 232 148.8z"/>
+    <path fill="#2b49a3" fill-rule="evenodd" d="M361.5 256a97.2 97.2 0 11-194.3-.2 97.2 97.2 0 01194.3.2z"/>
+    <path fill="#ffffef" fill-rule="evenodd" d="M232.3 314.2l-3-1.8-3.1 1.6.7-3.5-2.4-2.5 3.4-.4 1.6-3.2 1.5 3.3 3.4.6-2.6 2.4m65.7 20l-3-1.8-3.2 1.6.7-3.5-2.4-2.5 3.5-.4 1.6-3.2 1.4 3.3 3.4.6-2.5 2.4m-27.6-22.9l-2.6-1.5-2.7 1.3.6-3-2-2.2 2.9-.3 1.4-2.7 1.2 2.8 3 .5-2.2 2m66.2-6.4l-2.6-1.5-2.6 1.3.6-2.9-2-2.1 2.9-.4 1.3-2.6 1.3 2.7 2.9.5-2.2 2m-66.6-16.7l-3-1.8-3.1 1.6.7-3.5-2.4-2.5 3.4-.4 1.6-3.1 1.5 3.2 3.4.6-2.6 2.4M188 245l-3-1.8-3 1.6.6-3.5-2.4-2.5 3.5-.4 1.6-3.2 1.4 3.3 3.4.6-2.5 2.4m10.1 43.5l-3-1.7-3.1 1.5.7-3.4-2.4-2.6 3.4-.4 1.6-3 1.5 3.1 3.4.7-2.6 2.3m100.6-51.3l-2.6-1.5-2.8 1.3.6-3-2-2.3 3-.3 1.4-2.8 1.3 2.9 3 .5-2.3 2.1m-5 29.2L290 255l-2.1 1 .4-2.4-1.6-1.7 2.4-.3 1.1-2.2 1 2.3 2.4.4-1.8 1.6m-108.4 38.5l-2-1.2-2.1 1 .4-2.3-1.6-1.7 2.4-.2 1-2 1 2 2.3.5-1.7 1.6m152.6 11.5l-1.7-.8-1.7.7.4-1.7-1.3-1.3 1.9-.2.9-1.5.7 1.6 1.9.3-1.4 1.2"/>
+    <path fill="#ffffef" fill-rule="evenodd" d="M183.5 292.3l-2-1.2-2.1 1 .5-2.3-1.7-1.7 2.3-.2 1.1-2 1 2 2.3.5-1.7 1.6"/>
+    <path fill="#ffffef" fill-rule="evenodd" d="M183.5 292.3l-2-1.2-2.1 1 .5-2.3-1.7-1.7 2.3-.2 1.1-2 1 2 2.3.5-1.7 1.6m32.2 2.3l-2-1.2-2 1 .4-2.3-1.6-1.7 2.3-.2 1-2.1 1 2.1 2.3.5-1.7 1.6m-3.7 13l-2-1.2-2 1 .4-2.3-1.6-1.7 2.3-.3 1-2 1 2 2.3.5-1.7 1.6m66.7-17l-2-1.2-2.1 1 .4-2.3-1.6-1.7 2.3-.2 1.1-2.1 1 2.1 2.2.4-1.7 1.6m-19.1 2.4l-2-1.2-2.1 1 .5-2.3-1.6-1.7 2.3-.2 1-2.1 1 2.1 2.3.4-1.7 1.6m-52.5-4.4l-1.2-.7-1.3.6.2-1.5-1-1 1.5-.2.7-1.3.5 1.4 1.5.2-1 1M333.2 310l-2-1.1-2.1 1 .5-2.3-1.6-1.7 2.3-.3 1-2 1 2 2.3.5-1.7 1.6m-16 4.4l-1.6-1-1.7 1 .4-2-1.4-1.4 2-.2.8-1.7.8 1.7 2 .4-1.5 1.3m8 1.8l-1.6-1-1.6.9.3-1.8-1.2-1.3 1.8-.2.8-1.6.7 1.6 1.8.3-1.3 1.3m22.2-17.4l-1.5-.9-1.6.8.4-1.7-1.2-1.3 1.7-.2.8-1.5.7 1.6 1.7.3-1.3 1.2M317 322.9l-2-1.1-2 1 .5-2.2-1.6-1.5 2.2-.3 1.1-1.9 1 2 2.1.4-1.6 1.4m.4 10.9l-1.8-1-1.8.9.4-2.2-1.4-1.5 2-.3 1-1.9.8 2 2 .4-1.5 1.4M302.3 312l-1.5-.9-1.6.8.4-1.8-1.2-1.2 1.7-.2.8-1.6.7 1.6 1.7.3-1.3 1.2m-13.5 1.8l-1.5-.9-1.6.8.4-1.8-1.2-1.2 1.7-.2.8-1.6.7 1.6 1.7.3-1.2 1.2M265 291.4l-1.5-.9-1.6.8.4-1.7-1.2-1.3 1.7-.2.8-1.5.7 1.6 1.7.3-1.3 1.1m2.9 43.5l-1.3-.7-1.3.7.3-1.5-1-1 1.4-.3.7-1.3.6 1.4 1.5.2-1.1 1m-35.2-66l-3-1.7-3.1 1.5.7-3.4-2.4-2.6 3.4-.4 1.6-3.1 1.5 3.2 3.4.6-2.6 2.4"/>
+    <path fill="#fff" fill-rule="evenodd" d="M355.1 291a95 95 0 004.4-15.1c-51.6-45.4-109.2-68.7-182-63.9a95 95 0 00-6.4 15.9 233 233 0 01184 63z"/>
+    <path fill="#309e3a" d="M331.9 265.4l1.8 1a2.6 2.6 0 00-.2 1.8c.1.4.5.9 1 1.2.6.4 1.1.6 1.6.6.4 0 .8-.3 1-.6.1-.2.2-.4.1-.7l-.3-.8-1.2-1.3a5.9 5.9 0 01-1.4-2.3 2.8 2.8 0 011.6-3.3 2.9 2.9 0 011.7-.2 5.3 5.3 0 012 .9 6 6 0 012 2.4 3 3 0 01-.5 2.6l-1.8-1.1c.2-.5.3-1 .2-1.4-.1-.3-.5-.7-1-1-.5-.4-1-.5-1.4-.5a.8.8 0 00-.6.3.8.8 0 00-.1.7c0 .4.5 1 1.2 1.7l1.5 2a3 3 0 01-.2 3.2 3.1 3.1 0 01-1.4 1.1 3 3 0 01-1.9.2 6 6 0 01-2.1-1 4.6 4.6 0 01-2-2.5c-.3-.9-.2-1.9.4-3zm-8.8-5.7l2 1a2.6 2.6 0 00-.2 1.6c.1.5.5 1 1 1.3.6.4 1.1.5 1.6.4.4 0 .8-.2 1-.6a1 1 0 00.1-.6c0-.3-.1-.5-.4-.8l-1.2-1.3a6 6 0 01-1.5-2.2 2.8 2.8 0 01.3-2.4 2.8 2.8 0 011.2-1 3 3 0 011.7-.2c.6 0 1.2.3 2 .8 1 .7 1.8 1.4 2 2.3a3 3 0 01-.3 2.6l-1.9-1.1c.3-.5.3-1 .2-1.3-.2-.4-.5-.7-1-1a2.4 2.4 0 00-1.5-.5.8.8 0 00-.6.4.8.8 0 000 .7c0 .3.5.9 1.2 1.7.8.7 1.3 1.4 1.6 1.8a3 3 0 01-.1 3.3 3.2 3.2 0 01-3.2 1.4 6.1 6.1 0 01-2.2-.9 4.7 4.7 0 01-2.1-2.4 4.1 4.1 0 01.3-3zm-10.8-3l5.6-9 6.7 4-1 1.6-4.8-3-1.3 2 4.6 2.8-1 1.6-4.5-2.8-1.5 2.5 5 3-.9 1.6-6.9-4.2zm-15.8-12.9l.9-1.6 4 2.2-1.9 3.7a7.2 7.2 0 01-4.8-.6 5.8 5.8 0 01-2.2-2 4.5 4.5 0 01-.8-2.6c0-1 .3-1.9.8-2.8a6.1 6.1 0 012-2.3c.7-.6 1.7-.9 2.7-.9.7 0 1.6.3 2.5.7a5 5 0 012.3 2.2c.4.8.5 1.7.3 2.7l-2.1-.6a2.2 2.2 0 00-.2-1.5 2.5 2.5 0 00-1.2-1.1 2.9 2.9 0 00-2.4-.3c-.7.3-1.4 1-2 2a4.8 4.8 0 00-.5 3c.2.8.7 1.4 1.6 1.8l1.3.4h1.3l.6-1.2-2.2-1.2zm-68.8-17l1.6-10.6 3.2.5.8 7.5 3-7 3.1.5-1.5 10.6-2-.3 1.2-8.3-3.3 8-2-.3-.9-8.7-1.2 8.4-2-.3zm-10.7-1.3l1-10.6 7.8.7-.1 1.8-5.8-.5-.2 2.3 5.3.5-.1 1.8-5.3-.5-.3 3 5.9.5-.2 1.8-8-.8z"/>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M181.4 218.8c0-1 .2-2 .5-2.7l1-1.4 1.5-1a5.8 5.8 0 012.3-.3 5 5 0 013.7 1.6c1 1 1.3 2.3 1.3 4 0 1.8-.6 3.1-1.5 4a5 5 0 01-3.8 1.4 5 5 0 01-3.7-1.5 5 5 0 01-1.3-4z"/>
+      <path fill="#f7ffff" d="M183.6 218.8c0 1.2.2 2.2.8 2.8.5.7 1.2 1 2 1a3 3 0 002.2-.9c.5-.6.8-1.5.9-2.7 0-1.3-.2-2.2-.8-2.8a2.7 2.7 0 00-2-1c-1 0-1.7.3-2.2.9-.6.6-.9 1.5-1 2.7z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M194 224.4l.1-10.7h4.5c1.2 0 2 .2 2.5.4s1 .5 1.2 1 .5 1 .5 1.7c0 .8-.3 1.4-.7 2-.5.5-1.2.8-2.2 1 .5.2.9.5 1.2.8l1.2 1.8 1.3 2H201l-1.5-2.3a16 16 0 00-1.2-1.6 1.6 1.6 0 00-.6-.4 3.5 3.5 0 00-1-.2h-.5v4.5H194z"/>
+      <path fill="#fff" d="M196.2 218.2h1.6a8.1 8.1 0 002 0l.5-.5c.2-.2.3-.5.3-.8 0-.4-.1-.7-.3-.9a1.3 1.3 0 00-.8-.4h-3.2v2.6z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M206.2 214.2l3.9.2a7.6 7.6 0 012 .3 4 4 0 011.5 1 5 5 0 011 1.9c.2.7.2 1.5.2 2.5a5.3 5.3 0 01-1.7 4.1c-.4.3-.9.6-1.5.8h-2l-4-.1.6-10.7z"/>
+      <path fill="#fff" d="M208.2 216.1l-.3 7 1.6.2h1.3l.9-.5c.3-.2.4-.5.6-1l.3-2-.1-1.8c-.2-.5-.3-.8-.6-1a2 2 0 00-1-.6 9.6 9.6 0 00-1.7-.2h-1z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M258.5 233.3l2.5-10.4 3.3.8c1.3.3 2.1.6 2.5.8.5.3 1 .7 1.2 1.3.3.7.3 1.4.1 2.2a3 3 0 01-1.9 2.3 3 3 0 01-1.1.3 12 12 0 01-2.2-.4l-1.4-.3-1 3.9-2-.5z"/>
+      <path fill="#fff" d="M262.6 225.2l-.7 3 1.2.2c.8.2 1.4.3 1.7.2a1.4 1.4 0 001.2-1l-.1-1.1a1.5 1.5 0 00-.8-.7l-1.5-.4-1-.2z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M268.4 236.3l3.5-10.1 4.3 1.5a8 8 0 012.2 1c.4.4.7.9.9 1.5s0 1.1-.2 1.7c-.2.8-.7 1.3-1.3 1.6a3 3 0 01-2.3.3l.8 1.2.6 2 .5 2.4-2.4-.8-.7-2.7a14.5 14.5 0 00-.6-1.9 1.6 1.6 0 00-.4-.6 3.4 3.4 0 00-1-.5l-.4-.1-1.5 4.2-2-.7z"/>
+      <path fill="#fff" d="M272.4 231.2l1.5.5 1.9.5c.3 0 .5 0 .7-.2l.5-.7v-1a1.3 1.3 0 00-.6-.6l-1.5-.5-1.6-.6-.9 2.6z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M280.9 235.9a6.8 6.8 0 011.3-2.5c.3-.5.8-.8 1.3-1.1a4.2 4.2 0 011.6-.5c.7 0 1.5 0 2.3.3a5 5 0 013.2 2.5c.6 1.2.7 2.7.1 4.3a5.6 5.6 0 01-2.5 3.5 5 5 0 01-4 .2 5 5 0 01-3.2-2.5 5.5 5.5 0 01-.1-4.2z"/>
+      <path fill="#fff" d="M283 236.5c-.3 1.1-.3 2 0 2.8.4.8 1 1.3 1.8 1.6.8.2 1.5.1 2.2-.3.7-.4 1.3-1.2 1.7-2.4.3-1.2.3-2.1 0-2.9a2.7 2.7 0 00-1.8-1.5 2.7 2.7 0 00-2.3.3c-.7.4-1.2 1.2-1.6 2.4z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M301.7 250.8l4.9-9.5 4 2c1 .6 1.7 1 2 1.4.4.5.6 1 .7 1.5s0 1.2-.4 1.7c-.3.7-.8 1.2-1.5 1.5-.7.2-1.4.2-2.3-.1.3.4.5.9.6 1.3l.3 2.1.2 2.5-2.3-1.2-.3-2.8-.3-2a1.6 1.6 0 00-.4-.6 3.5 3.5 0 00-.9-.6l-.4-.2-2 4-1.9-1z"/>
+      <path fill="#fff" d="M306.4 246.3l1.4.7 1.8.8c.3 0 .5 0 .7-.2a1.5 1.5 0 00.8-1.5 1.3 1.3 0 00-.6-.7 21 21 0 00-1.3-.8l-1.5-.7-1.3 2.4z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M341.2 270.3c.6-1 1.2-1.6 2-2a5 5 0 011.6-.7 4.2 4.2 0 011.6 0c.7.1 1.5.4 2.2 1a5 5 0 012.3 3.3 6 6 0 01-1.1 4.1 5.6 5.6 0 01-3.5 2.6 5 5 0 01-3.9-.9 5 5 0 01-2.3-3.3 5.5 5.5 0 011-4.1z"/>
+      <path fill="#fff" d="M343 271.4c-.6 1-.9 2-.8 2.8a3 3 0 001.3 2 2.7 2.7 0 002.2.4c.8-.2 1.6-.8 2.3-1.9.7-1 1-1.9.8-2.7 0-.8-.5-1.4-1.2-2s-1.5-.6-2.3-.4c-.8.2-1.5.8-2.2 1.8z"/>
+    </g>
+    <path fill="#309e3a" d="M246.4 229l1.7-7.6 5.6 1.3-.3 1.3-4-1-.4 1.7 3.7.9-.3 1.3-3.7-1-.5 2.1 4.2 1-.3 1.3-5.7-1.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bs.svg
new file mode 100644
index 0000000..decdebb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bs.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bs" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M56.6 26.4H537v480.3H56.6z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="matrix(1.066 0 0 1.067 -60.4 -28.1)">
+    <path fill="#fff" d="M990 506.2H9.4V27.6H990z"/>
+    <path fill="#ffe900" d="M990 370.6H9.4V169.2H990z"/>
+    <path fill="#08ced6" d="M990 506.2H9.4V346.7H990zm0-319H9.4V27.9H990z"/>
+    <path d="M9 25.9c2.1 0 392.3 237 392.3 237L7.8 505.3 9 25.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bt.svg
new file mode 100644
index 0000000..3bbbfaa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bt.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bt" viewBox="0 0 512 512">
+  <path fill="#ffd520" d="M0 0h512v512H0z"/>
+  <path fill="#ff4e12" d="M0 512h512V0z"/>
+  <g stroke="#000" stroke-width=".5">
+    <g fill="#fff" stroke-width=".4">
+      <path d="M281.9 162.5c-4-1.4-6.4.6-6.3 5.7.1 5 2.8 7.9 6.7 6l-.4-11.7z"/>
+      <path d="M285.3 153.1c-3.2-2.6-6.3-1.5-7.8 3.3s.1 8.4 4.4 7.9l3.4-11.2z"/>
+      <path d="M290.7 144c-2.8-3-6-2.5-8.2 2-2.2 4.5-1.3 8.3 3 8.5l5.2-10.5zm-3.5 44.2c-4.8 1.8-5.3 8.3-2.3 12.3s8.5 4.8 11.6 0l-9.4-12.3z"/>
+      <path d="M281.6 174.4c-4.5-1.5-8.6 4.6-9.3 10-.8 7-10.6 9.2-5.2 19.7 1.1-6.7 5.5-10.3 9-10.6 3.5-.2 8.8-1 11-5.3l-5.5-13.8zm14.3 26.9c-5.2 1.3-6 8.3-2.2 13.3 3.2 4.3 13.3 3.3 13-1L296 201.3zm15 42.3c.2-4.5-7-6.3-10.5-5.4-3.6.9-10.3-.1-11.9-3.9-1.2 3 .6 6.3 5.7 8 3.8 1.2 3.8 4 2.6 5.2 3 .5 11.5.5 14-3.9z"/>
+      <path d="M306.8 214.7c-5.2-2.2-8.3 1.2-10.2 4.6-3 4.9-11.8-1.4-14.8 5.1 4-1.7 8.2 2 10.1 3.3 5.6 3.6 16.2 2.5 17.7-6l-2.9-7z"/>
+      <path d="M309.8 220.8c-5.2 3.8-7.2 8.5-7 11.6 0 3.2 4.5 10 9.2 10.5 2.8-5.7 4.2-17.6-2.2-22.1zM288.4 245c0-1.9 2.8-2.6 4.7-2 1.8.6 4.7 2.5 3.7 4.5l-8.4-2.5zM260 234.7c-.5-2.3 3.2-6.2 8-4 5 2.1 5.6 6.3 3.6 7.9l-11.6-3.9z"/>
+      <path d="M272 238.8c-.4-1.2 3.1-3.7 9.1-2.2s7.5 5.4 7.3 8.4l-16.4-6.2zm-12.6-4.1c3.1-2.4 2-7-.9-8.3-5.1-2.5-3.2-9-6.5-10.3-3.3-1.2-6.4-3.5-6.5-5.8-1.7 3.2-.7 6 1.6 8s-1.8 10.2 1.1 12.4l11.2 4zm-67.3-1.8c-2.6-4.1-9-3.3-11.5-.5-2.7 3-2.3 7.2.2 9l11.3-8.5zm15-6.1c-1-5.5-7.6-6.2-11.2-4.8-3.7 1.4-6.2 7-3.8 11l15-6.2z"/>
+      <path d="M217.2 226c2.4-4.6-2.2-11.5-7.5-12.5-4.4-.9-9.6-.8-11.3-5.2-1 3.8 1.7 6.2 5 8.3 3.3 2.2-.6 7.7 4.7 10.8l9.1-1.4z"/>
+      <path d="M216.7 226.2c-1-3.3 1.2-7.8 5.7-7.5 4.5.4 7 3.6 5 7.7l-10.7-.2z"/>
+      <path d="M226.8 226.4c-.7-3.4 2.2-7.5 6.6-6.5 4.4.9 6.5 4.5 4 8.3l-10.6-1.8z"/>
+      <path d="M236.7 228c-.4-3.4 2.6-7.4 7-6.2 4.4 1.1 6.3 4.8 3.5 8.5l-10.5-2.3zM161 285.6c-8.4 0-10.5 2-11.7 10.6-1.5 10.8 13.2 12 11.7-10.6z"/>
+      <path d="M164.7 274.3c-12.9-5-20 15.5-32.7 11.9 4.6 7.3 15.7 0 19.8.7 7 1.3 22.2-1.3 13-12.6zm-8.4 28c-6.4-3-13.3 6.8-12 11.1 1.6 5.5 16.2 1 12-11.1zm-29.9 42.1c3.6 1 7.8 3 7 9.8-.7 6.8-13.5 20.6-25 21.4-11.6.7-15.7 14.7-25.7 10.8 9.3-1.8 9.3-12.3 16.6-15.6-5.3-1.9-8 10-14.8 10-6.8 0-10 10.9-18.3 10.1-8.3-.7-9.2 13.1-25.8 13.3-12.6.1-28.3 15-34 8.6 12.3-1.8 17.3-8.6 24.6-16.1 11.8-12 25.1-6.7 29.7-17.3a30.9 30.9 0 01-17.9 5.2c-7.7-.1-16.2 12.3-24.8 6.8 5-.6 8.3-2.8 13.5-8.3 5.4-5.6 13.3-2 19.6-7.8 9.8-9 18.2-1.5 27.6-12.8-2.6-1.2-8.3-.3-13.5 2.4-5.3 2.8-12-1.9-18.1 1.4.7-7.4 14.8-3.2 23.6-8.3 10-5.8 18.1-4 26-3.4-11 0-15.2-10.4-30.3-7.4-6.5 1.3-11.8-9-18.3-3.8.2-3.9 7-7 14-3.2 7 3.7 10-3.3 24 5.5 5.7 3.6 15.6-2.3 21.9 1.6-.8-2.4-4.4-3.9-8.6-3.5 2.6-5.4 19.6-4.7 27 .7z"/>
+      <path d="M137.6 336.3c-5.5-4.3-13.2.9-18.4-1.2 0 3.6 1.7 8.8 7.5 10.8a139 139 0 0011-9.6z"/>
+      <path d="M146.3 324.1c-8.7-4.4-10.2 6.5-17 4.3.3 3.1 2.8 7 8.3 7.9l8.7-12.2z"/>
+      <path d="M151.4 314.2c-12.8-5-14.4 7.3-22 4.9 1.8 4.2 12.6 6.5 18.1 5l4-10zm17.6-53.9c-3.4-4.8-10.5-.9-11.7 4.8-1.1 5.6 1.7 13.5 6.4 11.8l5.3-16.6z"/>
+      <path d="M177.7 245.2c-6-1.3-12.7-.7-12 5-2.2 1-2.9 8.5 3.3 10.1l8.7-15z"/>
+      <path d="M181.6 241.3c-5.8-6.7-12.3-6.6-15.9-3.7-6.6 5.3-13 2.2-13.3 7.5 4-3 7.6.6 10.8-.5 3.3-1.1 5.7 5.2 14.7 2.5l3.7-5.8zm-14 101.4c.9 1.6 6.3 2.4 9-.4 3.4-3.7-.4-13.8-6-14.6-5.5-.7-6 11.5-3 15z"/>
+      <path d="M161.3 343c8 2.8 11.3-3.7 7-7.9a79.6 79.6 0 01-7 7.8z"/>
+      <path d="M131.7 353.7c-1.5 4.6-9.3 5.3-18 19.4-8.9 14-17.3 8.1-19.4 17.8 10.5-8.5 18.8-2.9 25.1-11.3 9.6-12.8 17.4-11 21.1-19.6 5.3-12.3 28.4-12 29.6-31.4-7.7-1.5-32.4 19.4-38.4 25.1zM330 164c10 3.3 10.3 16.3 21.8 20.6 11.6 4.2 12.7 14.5 22.1 12-8.8-2.4-8.2-12.5-17.3-15-10.8-3-14.8-19.4-23.4-21.9m42.8 72.5c1.8 4 1.5 11.1-4.7 13 3.4 2.2 8.4.1 11.1-4.5-4.1 9.2-1.3 17.5 5.2 19-3.1-6.3 3.9-9.3 1.6-13.5 4.2 1.8 7.8 7.4 7.7 11 5.4-6-4-14.1-2.3-19.8l-18.6-5.2zm-65 64.5c-6.2-5.4-8.8 1.4-11.8-1-2.8-2.1-6.6-2.4-8-.2 5.2.1 2.7 4.2 12.9 5.2-10.2.7-8.4 12.1-15.2 11.6 7.3 6.9 11-6.2 17-4-1.8.5 2.7 4.6-.4 10.1 5-.1 7.1-7.1 7.8-10.8l-2.3-10.9zm-135.5 58.6c-2.3-1.8-8.8-2.7-11.3-1.2-2.5 1.5-1.6 1.9 1.4 2.1 3 .3 6.9 5.1.4 5.4-3 .1-2 7.4-8.3 8 2.5 3 9.9 1 12.5-2.5-.5 2.9 3.3 5.4 1.8 8.8 4.6.5 2-9.4 9.3-8.9-3 .4-1.8 7.2 3.5 5.4-3.1 1.5-1.5 5.2 2 4.3-2.2.7-3 3.6.1 5.3 3-4.2-.3-19-11.4-26.7zM449 216.7a17.4 17.4 0 100-34.8 17.4 17.4 0 000 34.8z"/>
+      <path d="M358 237.7c5.3-5 13.3-7.5 18.8-3.7 5.5 3.7 23.9 8.2 33 2 9-6.3 13.2-9.6 17.2-8.8 3 4.5 6.7 6.6 11.2 7 1.4 1.5 6.3 2.8 9 2.4 4 1 9-.3 12.9-4.5 6 .8 11.6-3.7 13.8-10.5 6.4-.7 6.8-7.9 2.7-12.6-3.7-.8-.8-13.5-14.5-11 5.7 3.5 1.3 10.6 6.1 13.8-3.2 0-7.4 1.4-8.4 6.3 1.2-3.4-.2-5.6-1.1-6.4.1-2.9-6.3-10-12.3-7.4 4.3 1 1.9 8 5 10.6a8 8 0 00-6 3.2c-1.7-2.9-7.4-5.9-11-6.1 0-1-.1-3-.6-4a18 18 0 01-2.2-11.2c-3 3.2-5.6 7.8-7 11-4.8-3.2-16.6 1.5-22.2 2.8-5.5 1.3-24-1.8-28.3-6.3a47.9 47.9 0 00-20.4-9.5c-10.7-3.1-10.8-14.8-22.6-22.9-.2 14.6 21.9 60.8 26.9 65.8zm-123 111a16.8 16.8 0 100-33.6 16.8 16.8 0 000 33.6z"/>
+      <path d="M194.7 335.8c3.4 4.4 9.2 4.1 11.6 3.7 2 5.3 8.4 5.2 11.2 8 2.7 3 12.2 2.7 15 1-2.6-.2-5.9-1.7-9-4.3-3.8-3.2-2-9.5-5-11.8 2.2-2.5 2.6-6.7 2.1-8.3 2.4-1.4 4.2-3.6 4.4-4.8a15 15 0 009.3-4c2.1 2 7.5-.6 10.4 2.8.7-8.3-7.3-12.7-12.5-10-2.2-1-7.8-.3-8.8 1.2-1.8-.8-6.7 1.7-9 3.4 2.6-1.4 3-5.5 2-7 2-1 4.5-3.8 4.7-6 3 .5 7.5-1.5 9.6-1-3.3-4.2-8.7-5.7-14.2-5.4-5.8.4-8.2 4.4-9 8.7-3.3 2-4.5 8.8-3.2 11.2-2 0-3.8 1.8-4.5 2.9a26 26 0 00-9.1-2m1.2-6.8c-1.2-3.3.3-6.2 1-8.8 2-6.6.8-8.3-5-7.4a46 46 0 004 16.2z"/>
+      <path d="M187.5 291.4c1.5 1.6 6.9 2.3 7.4-2.5.7-5.5-1.5-7.6-6.3-5.5-.4 1.3-.8 6.4-1 8z"/>
+      <path d="M188.7 283.2c2 .8 6.3 2.5 8.7-2.2 2-3.9-.6-6.9-4.8-6.6-1 1.1-3 5.1-4 8.8z"/>
+      <path d="M192.4 274c.5 1.5 5.6 6.5 9.4 2.9 3.7-3.6 3.7-9-1.9-11-1.5.2-6 5.5-7.5 8.1z"/>
+      <path d="M199.9 265.8c1.1 3.2 4.6 8.6 11.2 6 6.5-2.4 3.7-10.6.7-12.2-1.7 0-8.9 3.3-12 6.2z"/>
+      <path d="M211.8 259.6c-.5 2.7 0 10.3 9 10.1 8.8 0 6.3-10.5 4-12-3.6 0-9.7.1-13 1.9z"/>
+      <path d="M225.3 258c-1 2.2-3.3 16.2 14.1 12.4 2.3-.5 8.2-13.5-14.2-12.3z"/>
+      <path d="M234.8 259.3c-1.8 1.8 2.8 16 14.6 13.6 11.8-2.4 1.9-15.9-14.6-13.6z"/>
+      <path d="M244.8 261.4c-1.8 4 1 15.5 15.5 15.5 13.3 0-.6-15.2-15.4-15.5z"/>
+      <path d="M256.3 264.8c-1 2.2-2.1 14.4 15 15.5 12.5.7 9.5-16.9-15-15.5z"/>
+      <path d="M274.7 270c-2.1 3.8-4.4 13.2 14.5 14 12 .4 4.6-13.8-14.5-14z"/>
+      <path d="M290.4 272.9c-2.7 3.7-.7 11.1 6.3 12.5 8.8 1.8 10-6.5 4-10.5s-10.3-2-10.3-2z"/>
+      <path d="M299 274.6c-2 3.5-.8 12 12.5 12 2.8 0 13.3-10.7-12.5-12zM195.9 438.4a19.5 19.5 0 100-39.1 19.5 19.5 0 000 39z"/>
+      <path d="M339.1 154.3c-1.5 1.5-4.6 6-5.2 7.8-6.6 19.6 10.9 34.3 21 55.3a61 61 0 01-5.5 59.2c-4.3 5.7-3 7.3-8.5 13.1-2.1 2.2-4.5 5-3.8 13 3.6-1.2 8.6 2 9.6 4.8 2.5-1.2 6-.7 7.3.8 4.2-2 7.8-1 11.5 3 3.3-.5 6.8 0 10 3.5 1.8-3.5 5.3-4.8 7.8-4-.2-4.5 4.3-7.8 8.3-6a7.4 7.4 0 019.6-8.8c4.5-3.5 13.5-3.8 18 1.5-8-2.3-7.7 6.3-14.5 5.5 1.8 5-2.8 8-7.3 9.5 2.9-1.3 6-3 7-1.2 2.5-2.2 7.6-1.4 8.8-.3 3.4-1 6.6-.2 8 3.8 4.6 2.8 7.6 9.8 4.3 15-1-5.5-4.7-5.2-6.2-7.5-3.6 1.3-7 1.3-8-1-2 2-8.9 3.8-11.9.8-1.1 4.5-5 8.3-9.5 8.3 1.2 3.5-2.3 9.5-5 12.5 4.2 2.3 3 7.3 2 10.3 6.5 1 1 6.8 12.3 10.6-5.6 1.7-16.4 0-17.9-6.8-5.5-.3-9.3-5.8-9-11.6-4.3-4-5-9.7 1-13.8-5 1.5-7.8-6.5-15-3.2-3.7 1.6-13.2-1.2-13.1-4.5-1.5 2.5-10.7 1.5-12-2.8-3 1.6-10-1.1-9.9-5.3-3.9 1.8-9.1-1.4-8.9-5.4-3.6-.5-4-3.7-3.8-6.5-3.2-1.5-2.3-4.7-1-8.4-2.3-2.5-1.3-6 .4-9.3-2.5-2.5-2-5.5-1.2-9-12.1-1-27.2-4-61.8-14.6-52.2-16-66.3 21.6-54.8 45.2 13.4 27.2-1.5 33.1 3 53.5 4.8 1 7.3 5 7 9.3 2.9 0 5 2.7 4 7.7a8.7 8.7 0 017.4 2.3c1.7-3.3 7.5-4 10.5-.2 6.6-.5 9.8 4.7 9.6 11.3a17.6 17.6 0 01-1.5 18.8c.3-2.6 0-6.4-.2-8.7-.2-4.1-6-5-5.4-8.4-3 .3-5.9-1.4-6.9-3.6a6.6 6.6 0 01-6.4 1.2c3.4 1.5 6 7.6 5 11.6 1.8 3 1.4 8.5-.7 11-1 4.8-4.8 6.6-9.7 4.4a8.4 8.4 0 003.7-7.5 9.8 9.8 0 01-2.8-6.2c-4.9.8-11.7-3.4-13-5a19.5 19.5 0 00-19.4 19.6c-.5-4-5.6-8-5-11.4-3-9.3 1.3-18 13.6-19.7-1.5-3.5 3.7-7.2 1.7-11.2a94.8 94.8 0 00-14.3-19.6c4.3-7.3 3-17 .5-23.1-3.6-8.7-7-6.5-19.8 7.5-21 23-48.8 16.6-73.4 31.7-6.5 4-13 5.5-6-1.5s25.6-14 37.7-20.1c22.6-11.3 41.7-30.2 49.2-66.8 17.7-86.2 82.9-57.8 124-41.7 38.7 15 31.7-19.1 12.1-39.7-23.5-24.7-18.8-44.2-7.8-59.8 19.9-2.7 57.9 4.2 50.2 10.8z"/>
+      <path d="M409 366a21.5 21.5 0 100-43 21.5 21.5 0 000 43z"/>
+    </g>
+    <g fill="none" stroke-width=".4">
+      <path d="M327.1 155.3c-4.8 21.1-.8 30.7 6.3 40 14.5 19.2 26 63 9.5 91.6"/>
+      <g stroke-linecap="round">
+        <path d="M352.2 262.2c2-.8 5.8-3.1 6.7-7.3m-5.2-1.9c.6-3.6 6.3-5.2 6.4-9m-6.3-5.2c-.3-3.7 5.7-7.1 4.8-10.9m-8-2.6c-.5-2.1 5-6.2 3.5-9.6m-7.7-3.6c-1.1-2.4 2.7-5.1 1-7.7m-7-2.9c-.4-1.6 2-5.2.7-7.3m-6.7-5c.5-.7 2.5-2.2 1.7-4.1m-5.9-5c.9-.5 3.3-1.3 3-3.1"/>
+        <path stroke-linejoin="round" d="M204.5 416.8c-5-1.8-11.3.7-12.5 5m3.7 3.9c.7-4.3 7.2-6.2 9.2-4.2-4.1-2.2-6.1 5.8-2.5 6m33.8-101.1c-3 1.5-4 7 0 11.1m4.5-9.9c-2.1 1.8-2 7 1.1 8.3-2.6-1.9 0-5.1 2-5.3 1.8 0 3 2.2.8 4.4m172.5 5c-7-1.8-12.7 6.3-6.3 13.6 0-7 5-11.7 11-10.4m-2.7 4.8a2.6 2.6 0 00-2.7 2.7c0 1.4 1.2 2.7 3.1 2.7 1.3 0 2.3-1.4 2.3-2.6m22-157c1.2 4.4 7 6.1 11.7 5.1m0-2.8c-3.6.2-6.6-3.2-6.4-6.1 0 2.1 5 3.1 6.4 1.7"/>
+        <path d="M206.3 339.5c-1-2.5 3-5 3.1-7.4.2-2.4 4.6-4.2 9 .3m-2-26.8c-1 .4-1.7 1-2.4 1.2m11 12.5c-1 0-3.3 0-4.5-.9m.1 5.7c-.9.4-2.8 1.2-4 1.4m-39 74.4c-.2 2.3 2 5.6 3.3 6.6m6.4-12c-1.2 2-2 5.2-1.2 7.4m20 .2c-2.3-1.5-.8-5.4-1-8-.3-2.5 2.6-6.5 8.2-3m-28.4-3.3c2.3-.4 4.7-.3 6.2.3m22.5-7.5a8.1 8.1 0 00-1.4 3.9m12-4.2c-1.8 0-3.3 1.3-4.1 2.6M199.8 316c2 .7 7.2 3.9 7.4 7.2m13.9-23.6c-6.2 0-8.5-6.4-3.9-6.4m15 14.8c-2.4 1-1.3 5.2 2 7.2m-16.7 32.3c-1.2-1.5.3-6 4.2-4.6m5 50.4c.2-3.8 5-6 7-1.8m-24.9 12.7c-.3-4.2 1.8-5.6 3.7-5.8 1.9-.3 4.6 1.3 5.8 4m-47 5c.3-2.5 2.5-5.2 4.7-4.8M401.2 296c-1.7 1.2-2.7 6.5 3.5 7m-13 1.8c0 .6.7 1.5 1.2 1.8m28.3 8.2c-1.6-1.3-5.8 3.8-2 7.5M381.3 357c-1-3.6 2.4-4.5 5.5-3.8m-13.5-21.6c1.9-1.2 3.8-2.6 6.1-3.2m-7.1 17c0-3 1.5-5.5 2.9-6.2m8.1-28.4a17 17 0 002.4 9m27.5-8.8c-1.8.6-3.4 1.3-4.1 2.8m2.1 7.5c.9-.7 1.9-1.6 2.3-2.2m45.2-107.4c0 3.5-4.4 5.4-7.3 3.2m16.8-3c2 1.4 8.7 0 7.1-3.9M460 232a9.7 9.7 0 01-4.7-3m18.6-7.4a7.3 7.3 0 01-5-.5m-30.7 13.1c1.3 0 4.3-.5 6.3-1.6m-10-20.6a5.4 5.4 0 00-3.8.7m29 5.4a10 10 0 01-3 5.1"/>
+        <path stroke-linejoin="round" d="M430.2 223.7c3.1-1.4 7 9.3 14.5 5.5m.7-11c-1 1.3-1.7 3.4-1.8 5.3"/>
+      </g>
+      <path d="M295.2 201.8c1-.1 2.8-.5 3.1-1.8M166 318.8c3.8 2.1 6.4 5.8 4.8 11.2m167.8-139.6c1.2.7 5.4.7 7.8-.2m3 2.7c0 1.7.4 8.4-3 9.8m1.3-1c3.1 1 9.4.7 11.4-5m-4.4 4.8a6.9 6.9 0 01-2.8 10m4-5.8c3.7 1.2 12.1 1.3 11.2-5.8m-2.8 5.8c2.5 3.5 13.5 7.6 11.8.3m-22 9.8c4.3 1 10.3-1.9 7.8-9.4m12 3.8c.7 2.9 14.7 5.9 12.8-.6m-2.6 3.7c2.6 6 16.6 5.6 12.2-2.5M394 217c2.8 3.4 15 1.4 10.2-6.8m-.1 6.7c7.6 5.7 16.5-2.5 6.9-8.6m4.4 6.7c6.7 5.4 15-4.4 9.1-7.2m-62.8 5c2.2.6 6.7.3 7.7-3.6m-1.7 2.6c-.2 5.8 9.4 8 11.8 1.4m-3.2 3.5c1.8 3.8 10.2 5.3 11.6 0m-1.4 2.4c1.4 3.8 8.7 3.4 10.7-.5m-2.7 2.5c2.3 5 11.6 5 13.7-2.2m-1.6 3.1c3.6 2.3 11.4 1.4 10.8-5.6m-1.5 5c5.4 4.4 13 .1 9.3-7.3m-.4 13c2.9-.4 4.4-6.2 1.4-7.7m-68.3 8.8c6-3.3 7.1-8.8 3-14.2m2.1 8.7c3.8 2.2 11-.2 12.2-5.7m-7 6.3c2 2.7 2.5 6.1-.3 9.3m2-5.8c6.7-4.2 15 3.5 8.8 8.2m-1.1-8.6c1.5-.4 4.1-3.1 4.4-6.3m-1.4 9.2c2.7-2.9 21.6 3 9.7 9m-1-17c3.7 1.5 5.6 6.6 0 8.4m4.8 4.3c4-4.2 16.6-1.5 12.1 3.7m-3-5.4c2.2-7.6 15.7-2.9 11.3.3m-14-8c.3 1.6.4 5.3-2 7.3m13.2-8.7a6 6 0 01-.7 5m9.3-5c.7 1.5 2 4-.8 6.2m-106.7-63.9c.1 7.2 2.6 12 12.3 7.4m-9.3 1.2c-4.8 6.4.6 13.3 10 6.4m-24.7-3.3c6.5 7 18.2 1.9 10.7-8.8m7.9 14.8c-1.3 7 4.4 8.3 9 5.2m-33.4-10c1.2 6.9 8.3 12.4 15.2 8M304 188c0 9.9 13.7 11 16.8.7m-5 6.3c4.5 9 14 5.4 17.2-.1m-27-14.5c1.8 4.5 5.3 9.4 13.5 5.7m-38.6-7.8c1.1 3.7 7.7 8 15.2 3m-10.5 1.7c-4 5.9 4 11.4 13.6 2.6m-8.9 4.7c1.7 8.2 5 14.9 16.7 4.2m-5.9 4.3c4.3 5.3 10.8 8.5 17-.4"/>
+      <path d="M322.7 200.3c-.4 6.3.9 9.4 5.8 9.2 3.8-.2 7.5-3.3 9.6-6.6m-10.5 6.6c-.1 7.1 5.5 12.8 16 5.5m-11.6 2.9c-2 5.4 4 14.2 15.8 9.6m-40.8-24c-.8 7 5.7 11.6 16 2.7m-11 5c.4 5.7 6.8 12.5 16.2 2.7m-11.7 4.5c-.7 9.6 8.2 12.4 15.7 5m-29-12.2c2 .1 3.5-1.6 4.5-2.9m-.3 10c1.7.3 4.7-1.3 5.7-3.3m-1.3 14.7c2 2.1 8.8.6 9.6-2.3m-2 2.1c3.7 8.8 13.7 8.5 17.9-1.5m-2 3.6c2 5.1 6.7 8.4 14.5 6.6m-10.7-1.4c-4.4 7.2 1.4 15.6 11.2 7.3m-8.8 3.4c-.5 4.5 3.7 9.7 9.3 10.3M323 234.3c-1.5 10.2 5.8 15 15 9.7m-25.6-4.8c2.4 1.9 6.6 2.1 10.6.6m5 6c-2.3 8.5 6.5 14.6 14 5.1m-26.2-10.3c0 4.4 4.4 9.2 11.8 7.8m20.7 8.8c-5 3.4-6 9.4 1 13.3m-13.3-15c.2 5 2.6 8 8.3 8.4m-15.7-11.1c-7.6 6.9-.2 15 8.8 8.1m-3.6 2.2c-2.5 7.9 7 12.7 12 4.6m-27.5-21.5c-2.8 7.8.7 13 7.1 12.5m-17-14c.3 4.7 4.3 6.3 8.9 5.3m-6-.4c-3.5 6.6 1.7 10 8.5 7.6m20.6 14.5c-1.1 4.2-.5 7.2 5.6 8.6m-5.2-2.7c-7.5 3.4-8 10.6-2.3 15.2m-3.7-23.1a7.4 7.4 0 001.1 12m-34-35c-4.3 4.3-.3 15.9 9.2 9.5m15.2 5.2c-5.8 4.8-3.1 13.5 6.4 11m-16-14.6c-3 8.5 0 11.5 6.7 11.7"/>
+      <path d="M295.4 246.4a8 8 0 00-1.4 11.9c2.2 2.5 6.5 1.4 7.8-1.9M284.6 243c-5.7 7.4 0 16.2 8.2 13.6m22.7 8.4c-5.9 2-10.4 7.5-6.7 12.1 2 2.8 11.4 3.2 14-7.5m-18-11.5c-3.3 4.9-2.2 9.5 4 11.9m-4.3-2.8c-3.6 2-6 4.4-5.2 8.8m-3-16.4c-1.3 5.9.3 9.5 4 11.3m-4.1-4.3c-5.6-.4-8.5 2-6.6 7.5m.5-6.1c-5.6-2-6.4-6.8-4-11.8m-.8 7.4c-6 .2-8.7 3.2-8.7 7.4"/>
+      <path d="M277.1 240.1c-4.4 1.9-5.8 7.8-4.1 11 1.6 3.3 6.8 3.6 9.9 1.4m-18-17c-4.1 4.5.5 13.3 7.7 11.1m-18-14.7c-3.8 5.3.3 14.1 10 11.6m.5 24.5c-1-6.3 5.5-10.4 13.5-2.3m-3.9-12.7a9.9 9.9 0 00-3.1 8.3M244.2 229c-4.1 7 .9 13.5 9.8 11m13.5 6.5c-6 5.9-4 11.8.5 15.2m-4.3-8.3c-9 .1-9.4 10.4-2.1 13.7m-4.7-24c-3.6 2.5-4.8 9.4 1.5 12.2m-1.7 3.2c-3.8-1.7-8.3.4-8 4.8m2.3-4.6c-3.4-8-13.3-6.7-12.4 1.6m15.2-11.6c-2.2.4-6.4 1.7-8 5m.6-14c-4 4.5-1 10 2.3 11M234.4 227c-.7 5.4 1.4 8 8.2 7.6m-5.8-.7c-2.6 6.6.9 9.4 7.7 9m-6.2-1c-4 4.8-1.2 10 2.7 12.1m-4.6-6c-7.1-.9-8.2 7.4-5.9 11.3"/>
+      <path d="M230.7 226.3c-4.4 1.9-7 7.4-4.6 10.8 2.4 3.4 7.2 2.3 9.8.5m-8.3 1c-3.6 5.5-.3 9.7 3.6 11.3"/>
+      <path d="M213.6 225.7c-3 3-1.1 9.1 5.9 9.3 5.6 0 8.5-5.3 6.8-9m-7.8 9c-2.3 5-.9 10.4 7.6 9.5m3.7 7.9c-5.3-2.4-12.3 0-9.3 6.3m-.8-15.2c-2.1 3-1.3 7.3 1 10m-1.3-2c-3.6.6-7 2.5-4.8 8m-.5-4.5c-4.5-1.3-10.3 2-6.8 6.6m-.8-4.4c-3.8-.6-8.5 3.5-4.7 7.6m-1.5-3.4c-3.5 1-7.7 5-4 8m21.7-27.7c-5 2.3-5.6 8-3.2 12m-2.1-22.4c-7.5 2.9-7.4 13 .9 16m-3.5-2.2c-4.6 2.7-5.4 7.7-2.4 11m-5.5-28.6c-3 1-2.8 10.3 5.2 10m-13.5-6.8c-6 4 1.2 14.2 11 6.9m-5.4 2.5c-.9 4.1.3 8.7 7 9.2m-6.6-3.7a6.5 6.5 0 003 12.3m-18.2-21.2c-6.1 5.7 5 10.6 9.2 2.4m-17.7 7c-3 3.7 7.5 13.2 12.1-2.7m1.2-.3c.2 3.8 2.5 6 7.1 6.3m0 3.6c-7.5 1.2-9.9 10.5-1.6 12.5m-12.2-13.7c-.2 3.5 3.4 6.4 7.6 5.8m3.7 7.6c-6.8 1.5-7.6 10.3-1.6 9.8m-3.1 8.2c-5.7-1.7-5.8-8.4-.8-11"/>
+      <path d="M184.7 277.3c-4.8 2.8-2.9 9.8-.4 10.8s4.5-.3 4.8-2.4m-.4 9.6c.5 3.3-11.6 2-5.4-8.1m0 8.7c-4.1 6.4 2.5 11.6 6.7 6.2m-6.2 1.5c-1.6 5.2 4.6 8.9 8.6 4.9m-22.1-53c-2.3 4.6 9 6.3 9.8-3.2m-13 10c-2.2 9 14.8 7.2 10.4-4.5m.4 6a8 8 0 0011.3-6.1m-5.1 6.4a9.8 9.8 0 004.6 6.1m-12.8-3.7c-.7 4.9 4.2 8.9 9.8 8.5m-9-3.8c-2.7 3.8-3.5 11 5.1 11.6m-18.2-10.3c-1.4 3.9 6.8 7.9 11.6 1.5m-14.1 8.4c-.7 3 6.7 7 10.8-5.6m-3.3 6.4c1.8 3.1 7.7 5.6 11.3-.5m-5.9 3.7c-1.5 4.4 2.7 8.6 7.7 7.3m-17-8.3c-1 6.3 6.2 10 10.7 6.7m-15.6-4c-2.1 8.1 8.2 11.1 12 5.1m-2.5 2.4c.3 4.5 7.4 8.4 12.9 4.6m-25.5-.8c-.5 2 8 4 9.2-3m-4.3 4.7c2 5.2 8.8 6.4 12.7.1m-2.3 2.5c.9 4.8 7 7.5 12.5 4.2m2.2 1.9c-1.4 6.4 5.3 11.5 9.4 8m-20-9.1c-2 7 6.7 11 11.6 7.1m-22.2-10.7c-.5 6.6 4.6 10.5 10.5 7.6m-21.7-7c-1.7 4.3 7.6 7.8 12 4.2m-17.8 7.5c2.4 2.8 10.7 0 11.5-6.1m-2.3 4.5c3 3.5 10.2 5.4 13-2.1m-2.4 3.9c-.2 5.4 9.5 9.3 12.6-.7m11.4 2c-.9 2.6 1.2 6.8 5.5 7.3m-13.5-9c-.6 3 3.8 7.3 8.4 5.6m1 1.2c-1.3 3.3-.3 8 4.1 8m-3.7-1.9c-3.3 2.8-2 7.7 2.8 7.9m-4.5-3.2c-4.7 3.1-3 10 3.1 9.6m-17.2-23c0 6.8 8.4 7.8 10 1.6m-3.2 4c-1.3 4 2 7.9 7.1 6.8m-6.1 41.7c1.1 1.6 5.8-1.2 4.5-4-1.2-2.7-6.2-1.2-5.6 1.7m4.5-2.8c.6-5.5-6-6.4-7.6-1.6m2.4-2.8c1.7-2.7-3.9-6.5-6.1-2.5m2-1.6c1.5-4-4.8-5.8-5.3-2.1m-1.4-5.3c.8-2 7.8-.8 4.8 3.4m5.4 5c2.8-2.5-1.9-7.7-4.8-5.8m23.4 13.5c-2.2.2-4.5 1.6-2.9 6.3 1.2 3.2 6 3.4 6.7 1.4"/>
+      <path d="M199 372.9c-2-1.4-6.7 1-4.6 5.4 1.6 3.4 5.7 2 6.3.3m-13.6.7c1 2 6.4 1.1 7.3-1m-3.7-5.2c1.2-.7 3.2.2 3.7 1.2m-4-32.1c-3.7 2.4-1.4 9.6 4.2 7.8m-5.4-2c-2.9 2.3-.2 9.4 5.2 6.7m-4.3 0c-2 2 0 7.6 5.2 6.6m-6-3.8c-1-.5-4-.1-5.3 1.7m2-27.1c-2.7 2.6-1.4 8 3.8 8.4m-4.7-3c-4 2-4 9.9 4 10.2m-4.3-1.3c-2.2 1.8-1.2 8.6 4.5 7.7m-2.7-.2c-.8.8-1 2.8-.3 3.7m-2.2-6.3c-2 0-4.7 1.5-5.4 3.6m-3.6-7.3c.8-2 7-1.9 7.4 4m.6-7a4 4 0 00-3 2.7m.3-21.1c-2.7 2.4-4 10.1 4.2 11.6m-9.6 4.3c0-2 5.6-3.8 7.5-.7m-11.1-10.5c.8 1.5 4.7 3.7 7 2m-27.2-14.3a6.2 6.2 0 007 6.4c4.2-.5 5-4.2 3.8-6.6m-3.2 6.7c-2.7 3.4.7 8.2 3.8 6.8m-.6-9.2c1.6-.6 7-1.4 8.6 1.1m-26 0c-1.3 1.8 6.5 3.7 9 0m-2.5 2c-.3 2.4 1 6.7 7.4 5"/>
+      <path d="M159.5 334.6c1-2-3.8-5.6-7.4-1.7-3.7 3.9.5 8.3 2.7 6.8m-12-13.5c-2 3.3 5.4 9.3 9.5 3.7"/>
+      <path d="M138 331.9c-2.7 2.7.6 7.6 4.5 6.1 4-1.5 3.6-5.6 2.7-6.7"/>
+      <path d="M132.8 336.9c-2 2 0 6.5 3 6.5s4.7-2.3 4.1-5.2m5-1.7c-.5 3 3.8 5 6.6 2.2m.1-5.2c.4-.7 0-1.7-.6-2.2m-22.7 9.5c-2.5 2 2.8 7.4 6.1 2.4m12.8-3.5c-1.6 1.5.9 5.5 3.4 4.3m-12-1.5c.3 2.7 5.6 4.7 9 .6m-6.2 2c-.8 1.8.9 4.5 2.9 4.1m47.1 11.5c-2 3.8 4.3 8.3 8.8 3.7m-4.3 2c-1 2 .2 5 2 6m-7.9-1.7c.5-1.8 3.2-3.6 5.6-2.7m-8.8-2.2c.3-1.7 2.6-3.4 4.3-3m143.5-75.4c-8.9.2-5.1 14.5 2.5 11.6m-5.4-1c-1.7 2.9 1.7 7.5 5.4 4.8m-1 .5c-2.6 4.4 6.8 11.1 10.6 4.2m-3 2.7c0 4.1 12.2 6.7 10.4-1.5m-1.1 4.5c2.8 4.9 13.6 5.4 12.5-2m-2.4 5.1c2.3 3.3 12.8 5.3 12.5-1.5M320.3 275c1.5 3.9 6.7 5.3 12.3 3m-15.6-.2c3.6 2.2-1.6 12.5-7 8.4m7-2c4 1.8 8.7.5 10-5m-2.3 4.2c.4 2.9 4.5 5.2 10 4m-19.7-1c5 4.3-2.2 13-5.5 9m7.4-5.7c2.4 1.7 8.6.7 9.2-4m-2.8 4c.5 3 3 4.1 6.3 4.3m-14-.2c2.5 3.5 8.7 4.6 11.5-.1m-2.8 2.6c-.2 3.4 3.5 6.2 7.4 5.4m-21 2.2c3.2 1.6 6.7-4.5 4-8.8m-.3 15.3c4 .3 4.4-5.7.8-9m8.1 14.4c3.3-.8 2.3-8-5.6-8.5m15.5 13.8c3.2-.9.7-8.8-8-8.3m20 11c2.1-3.2-5-8.8-10.7-5.9m16.6 10.5c3.9 1 6.5-9.2-5.8-7.6m13 7.6c3.3-1 5.7-7-4.2-5m11.7 5.5c3 1.5 4.4-7.3-4.8-5m-45.8-22.4c3.7 2.1 9.6-.4 9.1-5.2m-1.5 4.2c1.3 2.2.8 6.6-1.6 7.8m2-2.5c2.5 1 5.9 0 7.9-4m-3.5 4c.7 1.7 1 5.2-.6 7m1.2-4c2.8 1.5 6-.5 7.4-3.4m-1.7 2.5c2 1.2 3.7 7.1.4 9.5m1.8-2.7c2.4.1 6 .1 8.2-3m-1.6 1.7c2.1.6 4.6 4.2 3.7 7.3m.2-1.1c2.4-.3 6.5-2 7.6-4.8m-1.1 1.9a6.5 6.5 0 013.1 6.3m0-2c2.4-.2 4.5-1.4 5.2-4m-.7 1.7c1.8.6 4 2.6 4 5m-.2-1.5c1.8-.3 3-1.4 4.2-3.1m4.7-.3c2.3 2.3-.7 9.8-5.4 8.4m-42.8-160.6c-4.6 2.8-17.8 2-11.3-9m12.6 1.6c-9.2 3.7-20.5-3.4-8.7-11m-3.1-2.5c-7.7 0-12.8 12.3-2.5 16.5m-27.3-11.4c-2 4 5.2 8.2 10 4.3 3.9-3 3.6-11.2 1.3-14.3M281 160c-2.5 8.3 16 8.8 13-4.4m-14 16.7c.6 6.3 17.7 4.3 12.2-8.4m2-3.5c1.4 1.9 5.1 5.1 11.5 4.5m-8.5-13.4c.6 2.2 4.4 4 9.3 2.3M125.9 342.6c-4.4 3.1 2.3 8 4.7 2.6m-8.1-.2c-4.3 3 2.3 8 4.8 2.6m-8.4-.3c-4.3 3.1 2.3 8 4.8 2.6m-8.6-.4c-4.1 2.2.7 7.6 5 2.8m-9-.8c-4.2 2.2.7 7.6 4.9 2.9m16-9.3c0 3.2 6.1 4.5 8.3-.3M136 348c-1.9 2.4 1.6 5.4 3.5 4.3m-11.6-4.7c-.2 2.7 5.1 4.2 7.7 1.3m-4.8 1.5c-1.7 2.2 1.6 5.2 3.8 4.3m-10.2-4.7c.2 2.2 3.2 4.6 6.5 3.2m-4.6-.3c-1.2 1.1-.6 3.8 1.2 4.6m-7.7-4.8c-.5 2 2.8 5.4 6.2 3.2m-5.5-1c-2 1.7-1.8 4 .8 4.4m-5.6-4.6c-.3 1.3 1.4 3.5 3.6 3.2m-14.4-3.3c-2 1 3.2 6.5 6.4 1.5m-11.3.8c-2.5 1.2 3.7 7.2 6.5 1m9.8-1.3c-2 .5-3.2 3.3-1.6 4.4m-4.8-3.4c-.2 1.2 2.1 3 4 2.3m-5.6-1.8c-2 1.2-1 4.5 1.3 4m-8-1.8c-1.8 1.3-.6 4 1.8 3.3m1.4-3.5c0 .7 1.6 1.8 2.9 1.4M95.4 359c-2.2 1-2.1 6.5 5.3 3.5m-10.3-1.3c-3 1.5-2 5.7 4.7 1.7m.5.3c-.8.6-1.7 3.4 1.4 2.3m-7-1c-1.3 1.1-.5 3.5 2.3 2.6m-8.8-2.2c-2.3 1.3 2.7 3 6-.4m-4.5 2c-1 1-1 4 1.6 3m-8-1.8c-1.5 1.2 1 2.7 5.8.6m-4 1c-1.7 1.5-1.5 3.3 1 2.8m-6.1-2c-2 1.8.8 3 4.2 1.6m-4.2.4c-3.3 1.5-1.9 4.3.2 3.2m111 6.4c-.8 1.7 1.7 3 4.1 2.7 2.3-.4 4.5-2.3 2.8-5m0 3.3c2.3 1.8 6.4-.2 6.4-2.9"/>
+    </g>
+    <g fill="#fff" stroke-width=".4">
+      <path d="M332 116.7c-10-5-30.9-14.4-36.8-6.8 5.4-2.3 21.2.1 34.3 12.2l2.5-5.4z"/>
+      <path d="M338 116.1c-11.5-13.5-18.4-10.5-26.7-15.1-7.9-4.4-20.4-5.3-22.8 1.7 11.5-5.6 22 3 28.4 4 9 1.4 14 8.3 16.6 11.5l4.6-2zm43.8-1.7c-6-13.8-18.9-10.2-24.6-16-8.3-8.6-29.2-16.5-37.9-10.6 19-1 27.2 13.1 37.4 18 7.3 3.6 15 11.1 25.1 8.6z"/>
+      <path d="M359.2 112.9c-10.3-12.8-26-24.1-33.4-19.8 9.6.5 12.6 7.1 19.4 11.4 6.8 4.3 3.7 10.4 14 8.4zm-49 22.6c-10.7-4-31.8-6-41.6 6.3 16.3 2.7 41 1.2 41.7-6.3z"/>
+      <path d="M308.3 140.3c-10.8-5-19.3 2-29.4 1-19.4-1.9-33.2-.8-35 8.5 11.1-9.9 29.7-1.7 37.2-3.8 7.6-2 35.4-.2 44.2 3.6-4.5-5.6-11.5-7-17-9.3zm33.9-28.8c-2.6-8.3-2.4-17 10-16.4-3.1-4-14.7-6-16.6 8.6-13.7-10-28.6-11.8-31.4-3.1 7-6 18-1.6 31 13.2a23.2 23.2 0 017-2.3z"/>
+      <path d="M323.3 123c-7.8-5-18.3-13.2.1-16.5-7.8-4.3-19.4-2.4-18.1 12.2-21.2-8.6-36.3-5.7-39.5 2.7-3.5 9.3 9.6 14.5 11.8 8.6-2.4 1-10.5-1.8-6.3-7 4.3-5.3 26.2-1.4 47 9.5 5.8 3 25.6 2.5 5-9.5z"/>
+      <path d="M317.8 136.8c-6-12.3-25.5-1.2-29.4-13-5.4 17.4 27.7 7.7 29.4 13zm124 13.3c4 2 7.6-1.2 1.3-3.7 4 2 7.7-1 1.4-3.6 4.1 2 7.7-1 1.4-3.6-1.7 1.7-4 7.9-4.2 10.9zm2-23.6c9.1-9.6-.7-12.8 10.4-22.6 9-8 1.7-13.4 10.3-19.6 2.7-2 8.7-6 9.3-10 3.6 9-11.3 10.2-10.3 24.8.6 9.3-5.7 8.5-8 24-.6 3.4-2.8 10.7-11.6 3.4z"/>
+      <path d="M447.9 130.7c5-10.8 10.8-10.6 13.5-14.8 5.3-8 16.5 1.4 26-5.8-1.7 10.2-14.4 6.6-20 13.1-5.4 6.5-10 9.5-19.5 7.5z"/>
+      <path d="M449.1 134.3c8.8-7 15.3-2.4 21.4-6 15.3-9.4 21.5 1.8 35.1-2.6-3.6 8.8-23.8 1.3-32.6 7.8s-39.7 12.8-23.9.8zm-25.6 50a11 11 0 00-9.1-9.8c-5.3-.6-7.6-6.1-11.6-6.4-4-.2-6.7-8.2-12.2-8.1-5.5.1-7.8 7.3 5.2 13.8 13 6.5 27.2 14 27.7 10.5zm-16.3 3.4c-5.5.3-6.3 8.3-11.6 8.6 7.3 3.9 12.6-1.8 16.4-6.8l-4.8-1.8z"/>
+      <path d="M411.7 188.7c-4.7 4-6.1 12.5.8 14.9-4.2-5.7 7.3-8.3 3.7-13.6l-4.5-1.3z"/>
+      <path d="M416.5 189c-3.8 7.3 5.9 8.2 3.4 13.7 5.5-1.3 6.4-11.7 1.4-14.5l-4.8.8z"/>
+      <path d="M379.6 173.4c9-.5 17.3 4.4 22.8 12.3 3.5 5 15.3 7 19.4 3 4-4 1.7-12.5-8.3-9.8-2.5-4.2-9.8-2.7-13.3-6.2-3.5-3.6-17.1-13.6-20.6.7z"/>
+      <path stroke-linecap="round" d="M413.5 179c-2.4.4-3.2 4.6-1.7 6.7m6.8-4.2c.8 1.2.3 3-.1 3.9m-24.6-11.6c4.6.2 5.5 3.6 10.5 4.9"/>
+      <path d="M390.8 162.4c16 4 28.8 7.5 36.7 12a42.5 42.5 0 0030.8 2.8c10.7-3 31.3-5.8 30.3 7.5 5.6-6.6-1.5-13.8-15.8-15 .3-6.6-6.7-12.5-11.7-8.6 4.6-.6 8.6 8-.5 11.6A8.2 8.2 0 00449 163c4.3 1.3 8.7 8.5-1 11.3-6.1 1.8-15-.5-21.6-4.5-6.6-4-43.8-18.6-35.7-7.5z"/>
+      <path d="M431.3 155.8c-5 2.3-1.8 7.6-9.5 10.6-7.8 3-13.2 10-11.5 15.8 5.3-11.5 14.6-11 17.9-15.6 3.2-4.5 8-11.1 3.1-10.8z"/>
+      <path d="M432.7 156.6c-.3 9.2-7.5 5.8-4.7 18.7a26 26 0 01-.2 17c8-5.8 2.9-18.2 6.5-22.9a33 33 0 005-8.8c-2 5.3-1.8 15 3.3 17.6-4.1-9.8 11.2-17.8.6-29.1-1.5 2.7-6.2 7.6-10.5 7.5zm-25.6-9.2c1.2 2 2.5 6.7 1.4 9.3a22 22 0 007.2-8c5.2.7 7.2 7.1 2.3 10 3 0 8.2 0 11-3.5-3.5-3.9-14.4-9.9-22-7.8z"/>
+      <path d="M329 129.4a9.6 9.6 0 00-4.7-2c-7.6-1.5-3.6-8.3 2.8-8.3 13.8-15 21.6-3.4 38.4-8.2 6-1.7 10-1.2 13.2.2 7.5-5 16.3-3.6 22.7 2.3.7-1.1 1.7-2 3-2.4 6-1.6 10.7 3.4 12.3 10 4.6-1 9.9 1.4 13.4 4.5 4.7-2.5 8-2.6 9.2 0 4.3-2 9.8-3.3 12.6 3.5 2.8 6.8-6.5 4.7-8 19-1 8.9-10.8 12.4-18.6 7-12.5-8.3-24.6-9.7-30.7 3.1-6 12.8-10.7 20.3-25.3 16-5.3-1.4-12 .6-16.3 6.4-4.3 5.7-10.8.3-18.6 1 9.8-1.5 6-4 14.5-4.6 7.8-.5 5.8-7.7 10.8-8.8-19.5 5-18.8-2.2-34.9 2.8 7-9 18.1-4 23.6-9.3-14.5-.2-21-9.7-27.6-5.8-10.3 6.3-5.8 24.2-32.6 22.6-13-.7-21.4 1-29.2 8.8 13.6-28 32-12.6 41-21.6a66 66 0 0012-14.3 6 6 0 014-3.1c-22.4-7-8.9-18 13-18.8z"/>
+      <path stroke-linecap="round" d="M439.3 125.5c.4.7.5 1.6.5 2.7 0 5.6-8.2 5.8-8.7 14-.3 4.2-.8 6.6-3.7 6.1-2.9-.5-5.4-5-2.6-10.3"/>
+      <path d="M333.1 121.2a10.6 10.6 0 00-6-2m51.5-8.1c6.7 2.9 9.9 9.8 19.6 10 9.3.4 15 13.9 30.6 5.1l1.2-.6m-28.6-12.2a12.3 12.3 0 00-1.3 8m-29 20.4c-11.9 0-14.9 6-14.9 11.8 0 5.8 5.6 13.3 15.3 13.3 9.8 0 15.1-6 15.1-12.6s-6-12.5-15.6-12.5z"/>
+      <path d="M373.2 166.6c-.3-3.2-6.2-2.7-6-5.2s3.3-3.6 3.3-7 5.3-3.8 7-1c1.8 2.7 7.1 8 8.2 5.3m-8.1-5.4a9.7 9.7 0 00-.4 12.8m4.1-8.5c-.8 1.9-1 4.8 0 6.5"/>
+      <path fill="none" d="M428.2 148.4c9.3.7 10.8-9.4 4-10m-15.3-17.5c-3.2-4-10.6-5.4-10.7 3.2"/>
+      <path d="M405.3 134c-3.1-7.8-11.2-9-15.4-5-3.6 3.2-3.7 11.6 4 13.4 2.6-3.1 7.8-7.3 11.4-8.4zm-3.4-4.9c-4.6-4-11.2 3.6-5.2 10.6M316 148c3-.7 7.4.8 14.2 4 4.3 2 17 6.3 25.1 2-8.3 3-14.5-9.6-20.8-8-6.3 1.5-17.8 3.8-22.6-.8 11.8.8 18.1-8.6 31.6-.5a23 23 0 0012.8 3.5c-11-13.3-25.6-4.8-27.1-15.6 6.7 7.2 23-1.6 31.2 11.8m-28.8-9.8c-1.6-1.9-.9-3.8-2.5-5.3"/>
+    </g>
+    <path stroke="none" d="M416.9 121c-2.8-3-8.8-.7-7.1 5.3a9.4 9.4 0 017-5.4zm-17.1 16a20.6 20.6 0 015.5-3 12 12 0 00-3.7-5.1c-1.4-1-5.6 4.6-1.8 8.1z"/>
+    <path fill="none" stroke-linecap="round" stroke-width=".4" d="M392.4 126.8c-4.5-3-8.7-2.7-10-.2-3.3-.1-6 2.3-6.2 7m7 2c-5.4-3.7-12.8-2.3-12.3 6m-3.2 4.7c2.6-2.1 6.4-3.6 9.2.1m31-8.3c-1 1.4-1.7 3.6 0 6.8-2-2.6-7.1-2.6-12.5 4.4m24.5-11.5c-6.5.7-6.4 5-1.1 6.9m-45.4-22.9c-5.5-1.1-9.5 2.2-1.9 5M384 118c-7.8-2-11 0-7.4 1.8m-15.1 29.4c-.3 2.8 1.3 6.4 5.8 2.3m-4.3 6c0 .8-.1 1.6-.6 2.3m-17.5-39c-4.7-1.5-5.6-5.9-.1-5.5m-1.5 15.6c-5.3-1.8-5.3-7-.9-6.4m10.7 3.7c-6.2-1.5-6.4-5.7-1.8-5.1m2.5-8c-3.2-.2-8.3 3.5.2 5.6m9 1.8c-7.7-1.2-7.5 2-3 4m8.8-11.3c-6-1.1-8 2.4-4 3.9M350.3 137c-1.4-1.2-2.6-6.9 4.3-5.2m10 3.4c-4.6-1.2-9 3.3-4.8 6m11-11.4c-5-.8-9 .5-6.4 2.3"/>
+    <path fill="#fff" stroke-width=".4" d="M416.6 121a9.3 9.3 0 00-6.8 5.3"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bv.svg
new file mode 100644
index 0000000..01c9ee1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bv.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bv" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)">
+    <path fill="#fff" d="M-68 0h699.7v512H-68z"/>
+    <path fill="#d72828" d="M-93-77.8h218.7v276.2H-93zM249.4-.6h381v199h-381zM-67.6 320h190.4v190.3H-67.5zm319.6 2.1h378.3v188.2H252z"/>
+    <path fill="#003897" d="M156.7-25.4H221v535.7h-64.5z"/>
+    <path fill="#003897" d="M-67.5 224.8h697.8v63.5H-67.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bw.svg
new file mode 100644
index 0000000..0bc5d3d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bw.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bw" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#00cbff" d="M0 0h512v512H0z"/>
+    <path fill="#fff" d="M0 192h512v128H0z"/>
+    <path d="M0 212.7h512V299H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/by.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/by.svg
new file mode 100644
index 0000000..73e14f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/by.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-by" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="scale(1.032)">
+    <path fill="#b20000" d="M0 0h992.1v329.5H0z"/>
+    <path fill="#429f00" d="M0 329.5h992.1v166.6H0z"/>
+    <path fill="#fff" d="M0 0h109.8v496H0z"/>
+    <g fill="#b20000" stroke-width="1pt">
+      <path d="M5.2 8.4h5.3v8.4H5.2zm15.7 0h15.7v8.4H21zM26.1 0h5.3v8.4H26zm26.2 0h5.2v8.4h-5.2zm21 8.4h15.6v8.4H73.2zM78.4 0h5.2v8.4h-5.2zM15.7 16.8h10.5v8.4H15.7zm15.7 0h10.5v8.4H31.4zm36.6 0h10.5v8.4H68zm15.7 0H94v8.4H83.8zm-73.2 8.4h10.4v8.4H10.5zm26.1 0h10.5v8.4H36.6zm26.2 0h10.4v8.4H62.8zm26.1 0h10.5v8.4H88.9zM99.4 8.4h5.2v8.4h-5.2zM5.2 33.6h10.5V42H5.2zm36.6 0h10.5V42H41.8zm52.4 0h10.4V42H94.2zM10.5 59h10.4v8.4H10.5zm5.2 8.4h10.5v8.4H15.7zm21-8.4H47v8.4H36.6zm-5.3 8.4h10.4v8.4H31.4zm-10.5 8.4h15.7V84H21zm5.2 8.2h5.3v8.5H26zm36.7-25.2h10.4v8.5H62.8zm5.2 8.5h10.5v8.4H68zm21-8.4h10.4v8.4H88.9zm-5.3 8.4H94v8.4H83.8zm-10.5 8.4H89V84H73.2zm5.3 8.3h5.2v8.5h-5.2zm-26.2-8.3h5.2V84h-5.2zM0 75.7h5.2V84H0zm104.6 0h5.2V84h-5.2zm-78.5 42h5.3v8.4H26zm-5.2 8.4h15.7v8.4H21zm-5.2 8.4h26.2v8.4H15.7zm62.8-16.8h5.2v8.4h-5.2z"/>
+      <path d="M73.2 126.1H89v8.4H73.2zm-5.2 8.4h26.1v8.4H68zm5.2 42h26.2v8.5H73.2zM62.8 143h36.6v8.4H62.8zm-52.3 0H47v8.4H10.5zm5.2 42h15.7v8.5H15.7zm-5.2-8.3h26.1v8.4H10.5zm73.2-16.9h26.1v8.5h-26zM78.5 185h15.7v8.4H78.5zm-57.6 8.4h5.3v8.4h-5.3zm62.8 0h5.2v8.4h-5.2zM0 159.7h26.2v8.5H0zm47 16.9h15.8v8.4H47zm5.3 8.4h5.2v8.4h-5.2zm-15.7-25.3h36.6v8.5H36.6zm21-126H68V42H57.5zM47 42h15.7v8.4H47zm-5.3 8.4h10.5v8.4H41.8zm15.7 0H68v8.4H57.5zM0 42h10.5v8.4H0zm5.2 8.4h10.5v8.4H5.2zM99.4 42h10.4v8.4H99.4zM94 50.4h10.5v8.4H94.2zM0 126.1h5.2v8.4H0zm104.6 0h5.2v8.4h-5.2zm-57.5 67.3h15.7v8.4H47zm-5.3 8.4h10.5v8.4H41.8zm15.7 0H68v8.4H57.5zm-20.9 8.4h10.5v8.4H36.6zm26.2 0h10.4v8.4H62.8zm-31.4 8.4h10.5v8.4H31.4zm36.6 0h10.5v8.4H68zM26.1 227h10.5v8.4H26.1zm47.1 0h10.5v8.4H73.2zm-57.5 8.4h15.7v8.4H15.7zm62.8 0h15.7v8.4H78.5zm10.4-8.4h10.5v8.4H88.9zm5.3-8.4h10.4v8.4H94.2zm5.2-8.4h10.4v8.4H99.4zm-89 16.8H21v8.4H10.5zm-5.2-8.4h10.5v8.4H5.2z"/>
+      <path d="M0 210.2h10.5v8.4H0zm21 33.6h5.2v8.4h-5.3zm62.7 0h5.2v8.4h-5.2zm-31.4-25.2h5.2v8.4h-5.2zm-15.7 25.2h5.2v8.4h-5.2zm31.4 0h5.2v8.4H68zm-15.7 0h5.2v8.4h-5.2zm-52.3 0h5.2v8.4H0zm104.6 0h5.2v8.4h-5.2zM52.3 126.1h5.2v8.4h-5.2zm-26.1-84h5.2v8.3h-5.2zm52.3 0h5.2v8.3h-5.2zM47 100.8h15.7v8.4H47zm-10.4 8.5h15.7v8.4H36.6z"/>
+      <path d="M41.8 117.7h5.3v8.4h-5.3zm-10.4-16.8h10.5v8.4H31.4zm5.2-8.4h15.7v8.4H36.6zm5.2-8.4h5.3v8.4h-5.3zm15.7 8.4h15.7v8.4H57.5zm5.3-8.4H68v8.4h-5.2zm5.2 16.8h10.5v8.4H68zm-10.5 8.4h15.7v8.4H57.5zm5.3 8.4H68v8.4h-5.2zm20.9-16.8h10.5v8.4H83.7zm5.2-8.4h15.7v8.4H89zm10.5 8.4h10.4v8.4H99.4z"/>
+      <path d="M89 109.3h15.6v8.4H89zm5.2 8.4h5.2v8.4h-5.2zm0-33.6h5.2v8.4h-5.2zM0 100.9h10.5v8.4H0zm5.2-8.4H21v8.4H5.2zm10.5 8.4h10.5v8.4H15.7z"/>
+      <path d="M5.2 109.3H21v8.4H5.2zm5.3 8.4h5.2v8.4h-5.2zm0-33.6h5.2v8.4h-5.2zm-5.3 67.2h21v8.4h-21zm26.2 0h21v8.4h-21zm26.1 0h21v8.4h-21zm26.2 0h21v8.4h-21zm-41.9 16.8H68v8.5H41.8zm-36.6 0h26.2v8.5H5.2zm73.3 0h26.1v8.5H78.5zm26.1 33.7h5.2v8.4h-5.2zM0 201.8h5.2v8.4H0zm5.2 285.9h5.3v-8.5H5.2zm15.7 0h15.7v-8.5H21zm5.2 8.3h5.3v-8.3H26zm26.2 0h5.2v-8.3h-5.2zm21-8.3h15.6v-8.4H73.2zm5.2 8.3h5.2v-8.3h-5.2zm-62.8-16.8h10.5v-8.4H15.7zm15.7 0h10.5v-8.4H31.4zm36.6 0h10.5v-8.4H68zm15.7 0H94v-8.4H83.8zm-47-8.4H47v-8.4H36.6zm26 0h10.5v-8.4H62.8zm26.2 0h10.5v-8.4H88.9zm10.5 16.9h5.2v-8.5h-5.2zM5.2 462.4h10.5V454H5.2zm36.6 0h10.5V454H41.8zm52.4 0h10.4V454H94.2zm-83.7-25.2h10.4v-8.4H10.5zm5.2-8.4h10.5v-8.4H15.7zm21 8.4H47v-8.4H36.6zm-5.3-8.4h10.4v-8.4H31.4zm-10.5-8.4h15.7V412H21zm5.2-8.4h5.3v-8.4H26zm36.7 25.2h10.4v-8.4H62.8zm5.2-8.4h10.5v-8.4H68zm21 8.4h10.4v-8.4H88.9zm-5.3-8.4H94v-8.4H83.8zm-10.5-8.4H89V412H73.2zm5.3-8.4h5.2v-8.4h-5.2zm-26.2 8.4h5.2V412h-5.2zm-52.3 0h5.2V412H0zm104.6 0h5.2V412h-5.2zm-78.4-42h5.2v-8.5h-5.2z"/>
+      <path d="M21 370h15.6v-8.5H21zm-5.3-8.5h26.2v-8.4H15.7zm62.8 16.8h5.2V370h-5.2zm-5.3-8.3H89v-8.5H73.2zm-5.2-8.5h26.1v-8.4H68zm5.2-42h26.2v-8.4H73.2zm-10.4 33.6h36.6v-8.4H62.8zm-52.3 0H47v-8.4H10.5zm5.2-42h15.7v-8.4H15.7zm-5.2 8.4h26.1v-8.4H10.5zm73.2 16.8h26.1V328h-26zm-5.2-25.2h15.7v-8.4H78.5zM0 336.3h26.2V328H0zm47-16.8h15.8v-8.4H47zm5.3-8.4h5.2v-8.4h-5.2zm-15.7 25.2h36.6V328H36.6zm21 126.1H68V454H57.5zM47 454h15.7v-8.4H47zm-5.3-8.4h10.5v-8.4H41.8zm15.7 0H68v-8.4H57.5zM0 454h10.5v-8.4H0zm5.2-8.4h10.5v-8.4H5.2zm94.2 8.4h10.4v-8.4H99.4zm-5.3-8.4h10.5v-8.4H94.2zM0 370h5.2v-8.4H0zm104.6 0h5.2v-8.4h-5.2zm-62.8-75.6h10.5V286H41.8zm15.7 0H68V286H57.5zM36.6 286h10.5v-8.4H36.6zm26.2 0h10.4v-8.4H62.8zm-31.4-8.5h10.4V269H31.4zm36.6 0h10.5V269H68zM26.1 269h10.5v-8.3H26.1zm47.1 0h10.5v-8.3H73.2zm-57.5-8.3h15.7v-8.5H15.7zm62.8 0h15.7v-8.5H78.5zm10.4 8.4h10.5v-8.5H88.9zm5.3 8.3h10.4v-8.3H94.2zm5.2 8.5h10.4v-8.4H99.4zm-89-16.8H21v-8.5H10.5zm-5.2 8.3h10.5v-8.3H5.2zM0 286h10.5v-8.4H0zm21-33.7h5.2v-8.4h-5.3zm31.3 25.3h5.2V269h-5.2zm0 92.5h5.2v-8.5h-5.2zm-26.1 84h5.2v-8.4h-5.2zm52.3 0h5.2v-8.4h-5.2zM47 395.2h15.7v-8.4H47zm-10.5-8.4h15.7v-8.4H36.6zm5.2-8.5H47V370h-5.3zm-10.4 16.9h10.4v-8.4H31.4zm5.3 8.4h15.7v-8.4H36.6zm5.2 8.4h5.3v-8.4h-5.3zm15.7-8.4h15.7v-8.4H57.5zm5.3 8.4H68v-8.4h-5.2zm5.2-16.8h10.5v-8.4H68zm-10.5-8.4h15.7v-8.4H57.5zm5.3-8.5H68V370h-5.2zm20.9 16.9H94v-8.4H83.8zm5.2 8.4h15.7v-8.4H89zm10.5-8.4h10.4v-8.4H99.4zm-10.5-8.4h15.7v-8.4H89zm5.3-8.5h5.2V370h-5.2zm0 33.7h5.2v-8.4h-5.2zM0 395.2h10.5v-8.4H0z"/>
+      <path d="M5.2 403.6H21v-8.4H5.2zm10.5-8.4h10.5v-8.4H15.7zm-10.5-8.4H21v-8.4H5.2zm5.3-8.5h5.2V370h-5.2zm0 33.7h5.2v-8.4h-5.2zm-5.3-67.3h21v-8.4h-21zm26.2 0h21v-8.4h-21zm26.1 0h21v-8.4h-21zm26.2 0h21v-8.4h-21zM41.8 328H68v-8.4H41.8zm-36.6 0h26.2v-8.4H5.2zm73.3 0h26.1v-8.4H78.5zm26.1-33.6h5.2V286h-5.2zM0 294.3h5.2v-8.4H0zm47-42h5.3v8.3h-5.2zm10.5 0h5.3v8.3h-5.3zm0-16.9h5.3v8.4h-5.3zm-10.4 0h5.2v8.4h-5.2zm-36.6 227h10.4v8.4H10.5zm73.2-159.7h5.2v-8.4h-5.2zm-62.8 0h5.2v-8.4H21zm26.2-8.4h15.7v8.4H47z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bz.svg
new file mode 100644
index 0000000..0e9a27c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/bz.svg
@@ -0,0 +1,145 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-bz" viewBox="0 0 512 512">
+  <defs>
+    <radialGradient id="a">
+      <stop offset="0" stop-color="#ffef5d"/>
+      <stop offset="1" stop-color="#ea5700"/>
+    </radialGradient>
+    <radialGradient id="b">
+      <stop offset="0" stop-color="#952d1a"/>
+      <stop offset="1" stop-color="#570a00"/>
+    </radialGradient>
+    <radialGradient id="c" cx="247.1" cy="238.3" r="36" fx="247.1" fy="238.3" gradientTransform="scale(1.22624 .8155)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="d" cx="322" cy="152.9" r="10.6" fx="322" fy="152.9" gradientTransform="scale(.93615 1.06821)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="e" cx="364.2" cy="237.8" r="36" fx="364.2" fy="237.8" gradientTransform="scale(1.2242 .81686)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <radialGradient id="f" cx="468.1" cy="156.1" r="10.7" fx="468.1" fy="156.1" gradientTransform="scale(.95596 1.04607)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+  </defs>
+  <path fill="#ce1126" d="M0 0h512v512H0z"/>
+  <path fill="#003f87" d="M0 36.6h512v438.8H0z"/>
+  <circle cx="256" cy="256" r="201.1" fill="#fff"/>
+  <circle cx="256" cy="255" r="166.7" fill="none" stroke="#552300" stroke-width="4.2"/>
+  <path fill="#007f00" d="M236.7 78c15.1-16.1 28.8 2.6 28.4 11.3-.4 8.8-15.6 28.1-29.3 12.6 14.2 3.6 18.5-12.3 25.7-12.5-7.2.2-10.2-15.6-24.8-11.3zm-157 127c-7.8-20.7 15-24.5 22.8-20.3 7.8 4.2 18.5 26.3-1.7 31.6 9.7-11-2.8-21.9.2-28.4-3 6.5-18.6 2.1-21.2 17zm338.4-20.4c20.6 8 8 27.4-.3 30.3-8.4 2.8-32-4.3-22.4-22.6 1.7 14.5 18.2 12.6 21 19.3-2.8-6.6 11-15 1.7-27zm-270 218c-22.1-2.2-15.3-24.3-8-29.3 7.2-5 31.9-4.6 27.7 15.7-5.7-13.5-21-7.2-25.5-12.9 4.4 5.7-6.5 17.5 5.8 26.5zm223.3-16c.3 22-22.6 17.8-28.4 11.2-5.8-6.5-8.2-31 12.5-29.1-12.8 7.1-4.8 21.6-10 26.6 5.2-5 18.3 4.4 25.8-8.7zM95.9 163.1c-2-22 21-19.5 27.4-13.4 6.3 6.1 10.6 30.3-10.3 30 12.3-8 3.2-21.9 8-27.3-4.8 5.4-18.6-3-25.1 10.7zm23.6 205.8c-21.9-3.6-13.6-25.2-6-29.7s32.2-2.4 26.7 17.5c-4.8-13.8-20.5-8.6-24.6-14.5 4 5.9-7.6 17 4 26.7zm173-290c20-9.7 26 12.5 22.5 20.6-3.4 8-24.6 20.8-31.9 1.4 12 8.4 21.7-5 28.5-2.6-6.8-2.4-3.9-18.2-19-19.3zM335 414.3c-9.9 19.7-28.3 5.6-30.4-2.9-2.2-8.5 7-31.3 24.6-20.2-14.8.5-14.3 17-21.2 19.1 6.9-2.1 14.2 12.2 27 4zm96.5-190.6c16.8 14.5-1.7 28.6-10.5 28.5-8.9-.2-28.7-14.7-13.4-28.8-3.3 14.2 12.8 18 13.2 25.2-.4-7.2 15.5-10.5 10.7-24.9zM151 107.6c5-21.5 26.2-12 30.3-4.2 4 7.7.5 32-19.2 25.3 14.2-3.9 10-19.8 16.1-23.5-6.2 3.7-16.6-8.5-27.2 2.4zm-65.6 184c-19.5-10.7-4.5-28.3 4.1-30 8.7-1.8 31.2 8.2 19.4 25.2.1-14.6-16.5-14.9-18.4-21.8 1.9 6.9-12.8 13.6-5.1 26.6zm281-170.3c22-3.1 20.8 19.9 15 26.5-5.9 6.6-30 12-30.8-8.6 8.8 11.7 22.2 2 28 6.4-5.8-4.4 2-18.5-12.1-24.3zm-125 314c-20.2 9-25.3-13.5-21.5-21.4 3.8-7.9 25.4-19.7 32 0-11.7-9-22 4-28.7 1.3 6.7 2.7 3.2 18.4 18.3 20.1zm182-122.9c9.1 20-13.5 25.3-21.5 21.5-8-3.7-20-25.1-.2-31.7-9 11.7 4.2 21.8 1.5 28.4 2.7-6.6 18.5-3.2 20.2-18.2zm-347-64.7c-12.7-18 8.6-27.3 17.1-25 8.6 2.1 24.4 21 6.2 31 6.6-13-8.2-20.5-6.8-27.6-1.4 7-17.6 6.6-16.5 21.6zM196.3 422c-20.8 7.6-24.4-15.2-20-22.8 4.3-7.7 26.7-18 31.8 2-11-9.7-22.1 2.6-28.6-.5 6.5 3.1 1.9 18.5 16.8 21.3zm-6-335c12.4-18.3 28.8-2 29.8 6.7s-11 30.2-27 17c14.7 1.3 16.4-15 23.4-16.3-7 1.2-12.5-14-26.2-7.4zm213.5 269c1.4 22-21.7 18.8-27.8 12.5-6.1-6.3-9.6-30.6 11.2-29.7-12.5 7.7-3.9 21.8-8.7 27 4.8-5.2 18.4 3.6 25.3-9.8zm-5.6-207.4c21.7 4.3 12.7 25.6 5 29.9-7.7 4.2-32.2 1.4-26-18.4 4.3 14 20.2 9.3 24 15.3-3.8-6 8.2-16.7-3-26.8zM122.4 133c.2-22 23-17.3 28.6-10.6s7.5 31.2-13.2 28.8c13-6.8 5.4-21.4 10.6-26.3-5.2 4.9-18-4.8-26 8zM95 331.7c-19.8-10-5.5-28.1 3.1-30.2 8.6-2 31.5 7.2 20.2 24.6-.4-14.6-17-14.3-19.1-21.1 2.1 6.8-12.4 14-4.2 26.7zM332.8 97c20.8-7.8 24.6 15 20.3 22.6-4.3 7.7-26.6 18.2-31.9-1.8 11.1 9.6 22.1-2.8 28.6.3-6.5-3-2-18.5-17-21.1zm-44.1 335.8c-16.1 15.1-28.5-4.4-27.5-13.2 1-8.7 17.5-27 30.1-10.5-14-4.6-19.3 11-26.5 10.7 7.2.3 9 16.3 23.9 13zm141.6-168.6c15.1 16.1-4.7 28.3-13.4 27.3-8.8-1-27.1-17.5-10.5-30-4.7 13.9 11 19.2 10.7 26.4.3-7.2 16.4-9 13.2-23.7z"/>
+  <path fill="#005800" d="M235.8 101.9c14.2 3.6 17.8-12.1 25-12.3-4.2 5-15.2 17.9-25 12.3zm1-23.8c15-16.2 28.6 2.5 28.3 11.2-12.3-21.3-16-18-28.4-11.2zm-136 138.2c9.7-11-3-21.2 0-27.7 2.7 6 9.4 21.5 0 27.7zm-21-11.4c-8-20.6 15-24.4 22.7-20.2-24.7 1.4-23.4 6.3-22.7 20.2zm315.6-12.6c1.7 14.5 17.8 12 20.6 18.7-6.3-2-22.3-7.6-20.6-18.7zm22.7-7.7c20.6 8 8 27.4-.3 30.3 15.6-19 11.1-21.4.3-30.3zM167.8 389c-5.7-13.5-20.5-6.8-25-12.4 6.6.3 23.5 1.3 25 12.4zM148 402.6c-22.1-2.2-15.3-24.3-8-29.3-9.8 22.6-4.9 23.6 8 29.3zm207.4-33.9c-12.8 7.1-4.5 21-9.6 26-.4-6.5-1.4-23.3 9.6-26zm15.8 18c.4 22-22.5 17.7-28.3 11.2 23.7 7 24.2 2 28.3-11.3zM113 179.6c12.3-8 3-21.2 7.6-26.6 1 6.4 3.2 23-7.6 26.6zm-17-16.5c-2-22 21.1-19.5 27.4-13.4-24.2-5.3-24.3-.2-27.4 13.4zm44.3 193.6c-4.8-13.8-20-8.2-24-14 6.5.7 23.3 2.8 24 14zM119.6 369c-22-3.6-13.6-25.2-6-29.7-11.3 21.9-6.5 23.2 6 29.7zm163.6-268c12 8.4 21-5 27.8-2.7-5.8 3.3-20.6 11.4-27.8 2.7zm9.4-22c19.9-9.7 26 12.5 22.4 20.6-3.8-24.3-8.5-22.5-22.4-20.5zM329 391.2c-14.7.5-13.7 16.6-20.6 18.8 2.6-6 9.5-21.4 20.6-18.8zm5.8 23.1c-9.9 19.7-28.3 5.6-30.4-2.9 17.8 17 20.6 12.8 30.4 2.9zm72.6-190.9c-3.3 14.2 12.6 17.4 13 24.5-5.2-4-18.4-14.6-13-24.5zm24 .3c16.7 14.5-1.8 28.6-10.6 28.5 21.1-12.8 17.7-16.5 10.6-28.5zm-269.4-95c14.2-3.9 9.4-19.3 15.6-23-1.1 6.4-4.3 23-15.6 23zm-11-21.1c5-21.5 26.1-12 30.2-4.2-21.3-12.5-23-7.8-30.3 4.2zm-42.2 179.2c.1-14.6-16.2-14.3-18-21.2 5.9 2.8 21 10.3 18 21.2zm-23.5 4.8c-19.5-10.7-4.5-28.3 4.1-30-17.9 16.9-13.7 19.8-4.1 30zm265.2-152.4c8.8 11.7 21.6 1.7 27.3 6.1-6.5 1.3-23.1 4.4-27.3-6zm15.9-17.9c22-3.1 20.7 19.9 14.9 26.5 4-24.2-1-24-15-26.5zM251.7 413.8c-11.6-8.9-21.2 4.2-27.9 1.5 5.9-3 21-10.4 28-1.5zm-10.3 21.5c-20.3 9-25.4-13.5-21.6-21.4 2.8 24.4 7.6 22.9 21.6 21.4zm160.2-133c-9 11.6 4.3 21 1.6 27.6-3-5.8-10.6-20.8-1.6-27.6zm21.7 10.1c9.1 20-13.5 25.3-21.5 21.5 24.6-2.9 23-7.6 21.5-21.5zM99.7 253.7c6.6-13-8.2-19.8-6.8-26.8 4 5.1 14.4 18.5 6.8 26.8zm-23.2-6c-12.8-18 8.5-27.3 17-25-23.5 7.3-21.1 11.7-17 25zM208 401.2c-11-9.7-21.4 2.8-28-.3 6.1-2.6 21.8-9 28 .3zM196.2 422c-20.8 7.6-24.4-15.2-20-22.8 1 24.5 6 23.3 20 22.8zM193 110.6c14.7 1.4 15.7-14.7 22.8-16-3.4 5.7-12.2 20-22.8 16zM190.2 87c12.4-18.3 28.8-2 29.8 6.7-15.4-19.2-18.7-15.3-29.8-6.7zm196.9 251.8c-12.5 7.7-3.5 21.1-8.4 26.4-.8-6.5-2.5-23.2 8.4-26.4zm16.6 17.2c1.4 22-21.7 18.8-27.8 12.5 24 6 24.3 1 27.8-12.5zm-26.6-196c4.2 14 19.7 8.8 23.5 14.8-6.5-.9-23.2-3.6-23.5-14.8zm21-11.5c21.7 4.3 12.7 25.6 5 29.9 12-21.5 7.2-23-5-30zm-260.3 2.7c13-6.8 5-20.8 10.2-25.8.3 6.6.9 23.4-10.2 25.8zM122.4 133c.2-22 23-17.3 28.6-10.6-23.5-7.6-24-2.6-28.6 10.6zm-4.2 193c-.4-14.6-16.6-13.7-18.7-20.5 6 2.6 21.4 9.6 18.7 20.5zM95 331.7c-19.8-10-5.4-28.1 3.1-30.2-17.3 17.6-13 20.3-3.1 30.2zm226.3-213.8c11.1 9.6 21.4-2.9 28 .2-6.1 2.6-21.7 9.2-28-.2zm11.6-20.8c20.8-7.8 24.6 15 20.3 22.6-1.4-24.5-6.3-23.2-20.3-22.6zm-41.5 312c-14-4.5-18.6 11-25.8 10.7 4.6-4.8 16.4-16.8 25.8-10.6zm-2.6 23.8c-16.1 15.1-28.5-4.4-27.5-13.2 10.8 22.1 14.8 19.1 27.5 13.2zm117.7-171.3c-4.7 13.8 10.9 18.5 10.5 25.7-4.7-4.5-16.8-16.4-10.5-25.7zm23.9 2.7c15.1 16.1-4.7 28.3-13.4 27.3 22.3-10.6 19.3-14.6 13.4-27.3z"/>
+  <g fill="#730000" stroke="#000" stroke-width=".5">
+    <path d="M287 128.3s.6-1.4 1.8-.6c1 .9 1.3 4.5 1.3 4.5l-1.7.8s1-1.3-1.4-4.7zm-9.5 32.8s.8-1.2-.3-3.7l1.7-.5s.6 2-.2 4.2h-1.2m28.9-5.8l-4 2.4 2 1 4.8-2.9-2.8-.5m-53 15.5c-1.1.9-1.2 2.3-1.8 3.2-.5.8-2.1 2-2.2 3.2a6.8 6.8 0 00.2 3.8c.6 1.6 3.2 9 2.2 14.7-1.2 5.6-.7 8-.3 8.8.4.8 1.6 3.1 2.4 3.1 1.6-.2.9-.7 1.5-1.7 1.6-2.7 0-23.7-.7-29.5-.5-4.5-2.6-8.6-2.8-9l-1-2.7c-1.5-3.8-3.4-7-3.4-14.8 0 0-5.1 1.2-9.5-8.8-2.3-5-5.6-4.4-9.6-6l1.8-1.2s3.4 1.6 5 1.6c1.7 0 1.2-3.3 1.2-3.3l1.6-1.7v7.3c0 3.4 4.6 8 7.3 9.3 1.7.8 3.9-2.6 3.4-6-.6-3.3 0-7.8 0-7.8l2.3 1.4s-.9 1.4-.7 2.3c.3.8 1.5-.9 2.3-1.7 0 0 .2.2 1 .2l-2.4 4.3c-.9 1.4-.9 6.7-.9 8.6 0 2 .8 6.6.8 8 0 1.1 2 5.4 3.5 8l1.8 3.7c1.2 2 1.3 3.4 2 5 .5.9 1.2 3.3 1.7 7.4.2 1 .4 5 .8 7.6.3 2.5 2.4.6 4.9-1.2 2.5-1.9 2.5-6.4 2.5-6.4s2-1.6 1.6-.7c-.2 1 1 2.1 1 2.1-1.5 3.5-.6 3.1 1 3 1.6-.2 7-4.3 7-4.3.7-.2 4-.2 3.4 0-.6.4-1.4 2-1.4 2l3.5-.5c-1.3 1-6 3.6-7 4.3a96.3 96.3 0 01-9.1 4.3c-2.4 1-7.1 3.4-7.3 5.8-.1 2.4.3 8.8 0 11l-1 11.3h-11.2s2.2-8.2-.1-10.3c-2.2-2.3-7.3-9-10.7-11.3-3.3-2.2 2.2-.5 2.2-.5v-2.3l5.1 6.1s8.9-7.8 0-18.4c-2.8-3.3-5.6-8.4-7.8-9-2.3-.6-3.4-1.1-7.3 0-4 1.2-13.4 1.2-17.4-5l3.4-.6 2.8-1.1s-1.2 4 6.7 4 9 0 8.4-7.4l2.3-1.1 1.6 1.7s-1.1 4-.5 5.6c.5 1.6 3.3 2.8 5.5 4.5 1 .7 1.7.8 2.3.8 1-.1 1.2-.1 2.4-1.4 1.9-2 1.5-2 3.4-3.6l1.1-1.7 1.1 3z"/>
+    <path d="M255 165.3c.4-.4 1.3-2 2-3.3 1.2-2 2.7-3.3 4.4-6 1.5-2.3 2.2-5.9 1.5-8.4l1.5.9v4s2-1.7 2.9-2.2l.8.5s-6.2 6.4-12 16.8l-1-2.3zm-54.8-21.6c.9 1.4 1.7 4.2 4.2 6.4l1.6-.5s-3.8-4.5-3.8-6.4l-2 .5m9.8-2.5s.5 5.3-.8 7.3l1.6-.9s1.2-3.6.9-5.6l-1.7-.8zm55-16.8s-.4 7.5 1 12l2-.5s-.3-1.4 1.4-2c1.7-.5 5.6-2.2 7.6-3.9l-.6-1.6s-3 2.4-4.5 3c-1.4.5-2.2 1.1-3.3.8-1.2-.3-2.6-2.2-1.7-6.5l-2-1.3m22 35s-.4 5.3-.1 7.6l1.7.4s-.4-6.3.8-6.9l-2.3-1.1m8 4s-2 3.4-4.4 3.7l3.7-.7s1-.5 2.6-2.2l-2-.8"/>
+  </g>
+  <g fill="#289400" stroke="#030" stroke-width=".5">
+    <path d="M263 147.6l1.4.9 1.5.2 3.3 2.8c1.3 1.1 1.3-.2 1.3-.2l.9 3.3h1.1l-.3 3.3 2-1.6 2.3 2s1.6-1.5 2.5-1.5c.8 0 1.1-.8 1.1-.8h.1c-5.5-2.6-7.9-5.4-6.2-8.2 2.7-4.7 7.2-1.6 8.6-1l20.2 10.8s1.4-.8.4-1.6c-1-.9-1.4-3-1.1-3.8.3-.8 2.6 2.6 3.8 3l3.7.7-.1-1s3.3 2.2 3.3 3.4c0 0 2.4-1.3 1.6-2-.8-.8 3.6 1.7 4 3.1l.9-1a11 11 0 011.4-5c1-1.5 2.2-2 2.2-2s1-1.7 2.1-1.7c0 0-1-.7-1.5-1.6-.5-.8-1.7-1.2-1.7-1.2l2-1.7c.4-.6.8-.7.8-.7s-2.4-2-4-2.3c0 0-.2-2.7-2.3-3h1s-1.6-2.8-3-3c0 0 .9-1 1.7-1 0 0-1.7-2.4-4.1-1.5l1.5-.7s-1.1-1.2-4.7-.6c0 0 .3-1.4-1.2-2.6 0 0-1.4.1-1.4 1.2 0 0-1.2-1.2-2.8-1.2-1.5 0 .5 1.7.5 1.7s-2-1.4-3.3-1c0 0 .5-2.4-.8-3.6 0 0-1.6.8-2 1.9l-.4-1s-2.1 2.4-2.5 1.7c-.3-.4-.6-2.2-.6-2.2l-1.3 1.9.2-2.6s-1.4.8-2.6 3.5c0 0-1.5 1.4-1.5 2.6 0 0-1-1.3-2.1 0-1 1.5 0 1.2 0 1.2s-.5.5-1.5.7l.2.8s-1.3-.7-2.4-.4l.5 1.3s-2.7.2-2.8-2c0 0-2.3-1.2-2.6 0l-1.6 1.1s-.6-1-1.5-1.2c-1-.3-.2 1.3-.2 1.3s-.3-1.2-1.6-1.8c-1.2-.6-.2 1.1-.2 1.1s-1.7-1.3-.8-2.4c0 0-1.6 1.5-.9 2.8l-1 .8s-.5-.6-.4-1c.1-.4-1.8 1.3-1.8 1.3s-1.1-2.7 0-2.7c.1 0-2-.1-2.3 2.3 0 0-1.3 0-2.6.5-1.3.4 1 1.3 1 1.3s-2-.4-3.2.2l.8 1s-.8-.8-2.5-.1c-2 .5.4.8.4.8s-1.9-.4-2.8 0 .3 1.1.3 1.1-3.5-1-4-.7c-.5.3 1.2 2 1.2 2s-2.1.5-2.5 2l1.8.8s-.8.4-1.2 1.3c-.4.8 1.2.4 1.2.4s-2.3 1.6-2.3 2.9c0 0 1.7.5 3-.7s.4-.9.4-.9v.9s2.5-1 2.5-1.7c0-.5-.4.8-.4.8l2.4-1.2 1.5 1z"/>
+    <path d="M261 115.1l-.5-2.3 5.3.7 1-2.2s2.5 1.1 3.3 2c0 0 5-1.3 6.4-.8l-.7 2.3s4.5.3 6 .8c1.3.6-.6 1.7-.6 1.7s5 .6 7.3 2c2.3 1.3 2.3 2.5 1.1 2.8l2.8 4.5s-4.5.5-5.3 1.6c-.8 1.2-1.7-1.1-1.7-1.1l-.8 3.1s-2.8-1.4-4-2.5c0 0-1.3 1.7-.5 2.5l-5-3.3s-2.3-.3-2.3 1.7l-3.1-3.7-2.8.8s-.8-1.1-1.9-1.4c-1.1-.2-.3 1.4-.3 1.4l-1.7-2-1.6-2s-1.5 2-2.6 2c-1 0-1-1.3-.9-2.2.3-.9-3.3-1-3.6 0 0 0-1-4.2 2.8-5.3l4-1zm-20 14.3l-2 1.6-1-.6-2.1 2.3-.5-1.2-1.1 1.9-1.8-.7-.8 1.4-1.6-.3s-1.3 1.2-2.2 1.5c-.8.3 0-1.8 0-1.8s-1.2 2-2.2 2c-.8 0-.5-.9-.5-.9s-.5 1.4-1.5 1.6c-1 0-.6-1-.6-1l-1.6 1.2v-1l-.8-.4s.5-1.8 1.2-2.3c.7-.4-.7-1.6-.7-1.6l.7-.9s-2.1-.5-2.1 0c0 0 1-2.9 2.5-3.4l.1-3.1s1.5-1.3 2.8-1.4c1.5-.2-.4-2.4-.4-2.4l3.3-2 .5-2.4 5 .5 1.1-2.2 4 1 3.5-1.8 2.5 3 3.7.3v3.3s4.4 1.4 5 1.8c0 0-.9 2.7-.9 3.2 0 0 3.1-.8 4-.6l.5 3.6s5.3 1.7 5.6 2.6c0 0-1.1.8-1.7 1.7 0 0 .6 3.2.6 4.3l-.4.6s-1.6-1.5-2.9-1.7l-1 2.3-1.9-1.2h-1.1s-1-1-1.7-1v-1.1l-1.5 1s-2.3-1.2-2.3-2v-1.6l-2.3 1.7s-.5-1.3-.4-1.8c0-.5-1 1.2-1 1.2s-1.2-2.2-1.1-2.6l-.3 1.8s-2.5-.8-2.9-2.5z"/>
+    <path d="M207.5 139.6s4.4 2.2 4.4 3.2c0 0 1.1-2.3.5-3l1.7 1s.5-2-.1-2.7c-.6-.5 3.7-2.3 4.6.6 0 0 2.7-2.7-2.3-5 0 0-.5-1.7 2.5-1.3 0 0-.2-1-.9-1.4h3s-1.8-1.5-4.4-2c-2.5-.3-1-.7-1-1.2-.3-.5 0-2.4 0-2.4s-1.5-.5-2.7.1l.4-.5s-2.7-.7-3.7 0c0 0-1.6-.7-1.4-2.4 0 0-1.5 0-2.3 1.6 0 0-1.4 1.6-3.4 1.6-.4 0-1.9-.8-1.9-.8l-1.2 3-2-.2.6 1.2s-3-.9-4 0c0 0 1.2 1.7.9 3 0 0-2.4.4-3 .8-.6.4 1 .8 1 .8s-2.8.8-3.4 1.6l1 .9-1.2 1.6 1 .2-2.7.9c-1 .3 1.7.5 1.7.5l-1.3 1.1 2 .3s-1.6 4.2-1.7 6.2c0 0 2.4-3 3-3.1l-1.8 3s3.5-1 3.8-1.6l.7-1.1v1.7s1.4-1.8 1.6-2.6c.1-.7 2.2.8 2.2.8v-1l2.5.7c.7 0 .8-.3.8-.3l1.8-.3-.3 1.5s1.2-.8 1.6-1.7c.2-.8.8 0 .8 0l.8-3.3h1.8zm-14.3 14.8l1.7 3.4c-1.4.1-3.3 1.7-3.3 1.7.3 5.7-1.2 5.4-1.2 5.4.4 1-.3 3-.3 3l8.3-5 .1-.5 9.8-4.6.3.5 2.9-1.5 2 5.2-2 1.1c0 1.8 2.1 5 2.1 5l2.6-.7 2.9-1v1c0-.4 3-1.4 3-1.4l1.4 1.3c1 0 3-2.6 3-2.6l2.1.9s.8-1.3.8-2.2c0-.9 2.7-.9 2.7-.9l1.9 1.4 2.4-2s.7 1.5 1.6 1.7c1 0 3.7 2 3.7 1.6 0-.4 1.1-2.7 1.1-2.7l4.4 1.8c-.6-2-2-4.4-2-4.4s2-1.6 1.6-2c-.4-.5-1.7 0-1.7 0l1.3-2.6h-1.7l.5-.6-2.7-1.1 1.5-3c-.7-.7-7.8-2.1-7.8-2.1l1.6-1.6s-.8-1.3-1.7-1.3-5.2.1-5.4-.3c0-.4-1.8-2-1.8-2l-2.8 2-1.3-.4-2.4 1s0 1.3-.3.4-2.5-3-2.5-3c-.4.7-3.3 4-3.3 4s-.4 1.8-1.3.5c-1-1.2-3.2-2.6-3.5-1.5-.4 1.1-2.3 2.2-2.8 1.8-.4-.3-2.7 0-2.9.6 0 .7-2.6 2.6-2.6 2.6-1.5-.8-4-.3-4-.3s-.8 1.1-.9 2l-5 1.4zm47.1 42.2v-2.2l2.5 1.7 1.5-1.7 1.9 1.9 1.1-1.9v3l2.8-2.5 1.7.8v-2.4s2-3.4 1.1-4l1.7-.5s-2.8-2.8-3.7-3.3c-.8-.7-2-.7-2-.7s-2.1-2.2-3.6-2.8c-1.3-.5-2.2.6-2.2.6s-.8-1.6-2.3-2c-1.3-.2-1.3 1.2-1.3 1.2s-1-1-2.4-1.6c-1.4-.6-.4 1.3-.4 1.3l-4.8-1.5.6 1.5-4.5-1.1.5 1.6-3-.5-.3 1.3-4.5.9.9 1.4-2.9-1.1v2l-3 1.1 1 1s-4 2-5 2.7c-.8.5 1.7 1.6 1.7 1.6l-4.4-.6 1.6 1.5-4 3.6 2.9 2-1.7 2.5 4.2.8 1.6 2.8 3.5-.6v3.1l5-4s3.6 3.3 4 2.4l.1-3.7h1.8v-2.8l1.4 1.2 2.3-3.4 3 4.2 2.3-5.3 3.3.5zm20.4-12.6l-.5-4.8-1.4 1.5.6-4.5-2.3-.4.8-4.4-1.6-.8.4-2.1 1.6-1.3 3-2.9 7 .1.9-2.3 5 .9c.8.9 3.4-2 3.4-2h1l1.2 2.3s3.6-.6 5.3.6l-2 2.7 3.7.3 2.5.5 2.6-.8 3.3-.2.8 1.3h3.2l-1 1.3 4 1.9-.8.8s2.3.8 4 .8h.8s.8 2-.4 2.8c0 0 1.2 2.9 3.7 3.4s2.5.5 2.8 1.1c.3.5 0 3.4-2.8 3.4v2.8s-2.2 2-2.5 2.8l-1.7-1.2s-1.4 1.7-1.4 2.9c0 0-3.7-4.8-5-5-1.5-.4-1.2 2.7-1.2 2.7l-4-3.4-.5 2.3-3.3-2.8-2 1.4-3.5-3.7-3.5.4 1.4-1.7h-4.2l-.8-3.7-.6 3-2.5-1.6-3.3 3.5s-.4-.4-.9-2c-.5-1.7-2 1.9-2 1.9l-1.1-2.6-1.4 2.6s-1.1-2-2.3-2.6c-1-.5-2.2 3.1-2.5 4.8zm.7 11l.2-1.7 6-2.3 5-2 2.4-1 1.2 2 1.4-2.9 2.3 3 1.3-1.6 2 1.4h1.6l.3 2.2s4.2.3 4.5-.5c.3-.8.8 2.8.8 2.8l4 .5.8 4.5s2 4.2 1.4 5.9c-.6 1.7-2.2-2.2-2.2-2.2s-.3 3-.6 4c-.3.8-5.4-1-5.4-1l-2.1 4.3s-2.3-3.4-3.4-3.4-1.1 3.4-1.1 3.4l-4.8-5.7c-1.4-1.6-1.7 1.7-1.7 1.7s-2.2-3.7-2.2-4.7c0-1.1-2-2.3-2-2.3s-3.4 4-5.9 5c0 0 .3-2.5-.5-3.3-.8-.9-3.3 1.6-3.3 1.6s-1.8-3.8 0-7.8z"/>
+  </g>
+  <g fill="none" stroke="#004b00" stroke-width=".5">
+    <path d="M288.9 132.8l.5 2.1s1.9-.4 3.1-.3c0 0-.3 1.7-.7 2.4 0 0 2.5-.4 3.6.3l-.5 1.3 3 1.2-2.8 2.2s4.4 1.6 5.2 2.8c0 0-2.8 2-3.2 1.9-.4-.2-.1.8.6 1.8l-2.4-.1s1 2.1.9 3c-.1.8-4 .6-4 .6m15-5.6s.7-4.2-.4-5.2c0 0 2.7 2.3 4.5 2.4 1.8 0-.1-3.5-.1-3.5s2.6 1.4 3.8 1.7c1.3.2-1-2.6-1-2.6s.8-1.4 2.9-.1m-48.4-16.6s0-1-.4-1.4c-2.5-3.5 2.6 2.6 3.7 2.8m4.8 0s1.6 1.2 2.5 1.2-.6-3.3-1-3.7c-.4-.5 3 1.3 4.3 1.5 1.3.3 1.5-2 1.5-2s3.8.6 4.7 1m-26.8-.6l-.4-3.2m-25.9 13.6c-.2-.4 1-2.3.5-3.1 0 0 .8.6 1.5.7.6 0 .4-2.4.4-2.4l.9.3s2.1-1 1.7-1.9c-.4-.8 1.5 1.3 1.5 1.3s1.2-1.3 1.2-1.8 1.5 1.3 1.5 1.3 1.5-.3 1.5-1.3 2 .3 2 .3.9-1.1.8-1.9m-21 10.5s.9-2.2-.2-3.7m-25.2 10.5c.1-1 .6-3.8.1-4.2-.5-.5 1 .4 2.3.7m9.9-.4c-1.3-1.3-2-1.9-4-1.9m-17.2 8.8c.4-.7.9-2.5.6-3.5m26.6 55.2l1.4-2.8 1.7 4 1.1-2.5.4.8 2.5-2.7 2.7 4m43.5-17.5l1.7-3.6 2.4 1.3 1.2-3.5 2.5 1.6 1.4-3.2 2.9.7.2-2.3s2 1.1 2.5 2c.6.8 0-2.8 0-2.8l2.3 1s1.6-1.7-.7-2.6"/>
+    <path d="M281.2 174l2.5 3.6 2-2.4 2 4.1 2.3-1.5 3.4 2 1.6-1.2 3.8 2.7 1.5-3.3 3.4 1.1 2.1-3.8m-90-9.8s1.5-2.5 1-3.6c-.7-1.2 3 2 3 2s.8-2.5.3-3.7c-.6-1.1 4.2 3.4 4.2 3.4s.8-3.9 0-4.7c-.9-.9 4.6 1.1 4.6 1.1s2.2-.6 1.3-1.7c-.8-1.2 3.7 1.6 3.7 1.6s1-2.8 0-3.8c-1.2-1.2 3.3 1.3 3.3 1.3l-1.7-3 3.7.2-.3-3.3m32.3 48.1l2.4-1.1 2 2 2.3-3.6 2.8 2.7.5-2.7 3 1.3.6-1.7 3.3 1.7.3-2.4 1.7.5.3-1.7"/>
+  </g>
+  <path fill="#9dd7ff" d="M216.7 318a74.5 74.5 0 01-6.4-13.9l45.1-39.7 45.1 39.6a69 69 0 01-6.5 14.2l-.4.6-3.4-1.3s-1.4 1.3-2.6 1.4c-1.6.2-2.9-1.3-2.9-1.3s-2 1.6-4 1.3c-2-.2-2.8-1.4-2.8-1.4s-2 1.6-3.5 1.3c-1.4-.3-2.3-1.2-2.3-1.2s-1.3 1.5-3 1.2c-1.7-.3-3.3-1.2-3.3-1.2s-2.6 1.1-4.2 1.3c-1.7.3-3.2-1.4-3.2-1.4s-2.1 1.4-3 1.4c-.8 0-4-1.4-4-1.4s-3.2 1-4.3 1c-1 0-4.3-1.3-4.3-1.3s-3 .8-4.4.8c-1.4 0-3.5-.8-3.5-.8s-2.5 1.1-3.9.8c-1.4-.3-2.6-.8-2.6-.8s-2.7 1.1-4.4.8c-1.7-.3-3.7-1.5-3.7-1.5s-.3.9-3.5 1.5h-.1"/>
+  <path fill="#fff" stroke="#000" stroke-width=".7" d="M255.4 218.8v45.6l-45 40a89.8 89.8 0 01-4.8-29v-56.6h49.8"/>
+  <path fill="#ffd83c" stroke="#000" stroke-width=".7" d="M255.4 218.8v45.6l45 40a89.8 89.8 0 004.7-29v-56.6h-49.7"/>
+  <g stroke="#000" stroke-width=".5">
+    <path fill="#730000" d="M226.3 308.5c3.4 1.8 2.3 1.3 9.3 3.8 5.7 2 12.4 2.9 22 2.9a66 66 0 0016-1.4c2.8-.9 3.5-2 3.5-2l-7 7.1s-28 1.5-33.2-1.8a66 66 0 01-10.6-8.6z"/>
+    <path fill="none" d="M267.5 295.3s9 5 0 14.9m-40.3-1.2l12.9-12.3-1.5 16.5m6.8 1.4v-27.5m22 27.5v-29.1m-11 29.7v-31.4"/>
+    <path fill="#ff0018" d="M245.4 288.6l-5.8 1.9 5.8.6v-2.5m11-4.3l-6.2 2.3 6.1.2v-2.5m11.2 1.7l-6.2 2.3 6.2.3V286zm3.6 13.2c-.3-1.2 3.7-1.1 3.7-1.1s1.1 4.2 0 6.8l-3.4-.7s.4-2.8-.3-5z"/>
+    <g fill="#fff">
+      <path d="M229.1 307.4l11-10.7-.5 6.4s-5.7 3.6-5.7 6.2l-4.8-2m5.9 2.3s1.1-3.4 4.2-5l-.3 6.6-4-1.7zm15.7-18.5s4.5-.6 7.8 0c0 0-.5 4.5 0 5.3 0 0-6.1-1.4-8.6.9 0 0-.9-4.2.8-6.2zm-9.5 1.1s4.5-.6 7.8 0c0 0-.8 5-.3 5.9 0 0-5-2.8-7.5-.5 0 0-1.6-3.5 0-5.4z"/>
+      <path d="M240.9 298s4.5-.4 7.8 0c0 0-.5 4.6 0 5.4 0 0-5.8-1.4-8.3.8 0 0-1.2-4.1.5-6.1zm9-.8s6.4-.8 9.8-.3c0 0-1.4 3.7.3 6.2 0 0-7-1.9-9.6.3 0 0-2.2-4.2-.5-6.1zm-9.5 7l8.6.7s-.8 6.3-.3 7.2c0 0-7-1.7-8.3.6 0 0-2.3-5.9 0-8.5zm9.8 0s7.5-.5 11 0c0 0-2 4.8.1 9 0 0-9.8-2.8-11.1-.5 0 0-2.3-5.9 0-8.5zm11.4-13.1s4.5-.6 7.9 0c0 0-.6 4.5 0 5.3 0 0-6.2-1.4-8.7.9 0 0-.8-4.2.8-6.2zm0 6.2s4.5-.6 7.9 0c0 0-.6 4.4 0 5.3 0 0-6.2-1.4-8.7.8 0 0-.8-4.2.8-6.1zm.6 6.4s4.4-.6 7.9 0c0 0-1.2 7-.6 7.8 0 0-5.1-2.4-7.5-.3 0 0-1.5-5.5.2-7.5z"/>
+      <path d="M271.4 304.2s1.5 5.3 3.4 6l-2.5 3s-3-2.2-3.4-4.7c0 0 2-2.3 2.5-4.3z"/>
+    </g>
+  </g>
+  <g stroke="#000" stroke-width=".6">
+    <path fill="#006ac8" stroke="none" d="M293.8 318.6c-7.2 12-19 23.2-38.4 30.2a71.8 71.8 0 01-38.7-30.7v-.1c3.3-.6 3.6-1.5 3.6-1.5s2 1.2 3.7 1.5c1.7.3 4.5-.9 4.5-.9s1 .6 2.6.9c1.3.3 3.8-.9 3.8-.9s2 .9 3.6.9c1.3 0 4.3-.9 4.3-.9s3.3 1.4 4.3 1.4c1.1 0 4.4-1 4.4-1s3 1.4 4 1.4c.8 0 3-1.4 3-1.4s1.4 1.7 3 1.4c1.7-.2 4.3-1.3 4.3-1.3s1.6.9 3.3 1.2c1.7.3 3-1.2 3-1.2s1 .9 2.3 1.2c1.4.3 3.5-1.3 3.5-1.3s.9 1.2 2.8 1.4c2 .3 4-1.3 4-1.3s1.4 1.5 3 1.3c1 0 2.5-1.4 2.5-1.4l3.6 1.1"/>
+    <path fill="none" stroke-width=".5" d="M292 321.3c-1.6.1-1.8-1-1.8-1s-2 1.9-4 1.5a4.6 4.6 0 01-3-1.6s-2.2 1.7-3.7 1.4c-1.5-.2-2.5-1.2-2.5-1.2s-1.4 1.5-3.1 1.2c-1.8-.2-3.4-1.2-3.4-1.2s-2.8 1.1-4.5 1.4c-1.8.4-3.3-1.6-3.3-1.6s-4 1.3-4.9 1.3c-1 0-3.8-1.3-3.8-1.3s-2 1.2-3.2 1.2c-1.2 0-4.5-1.4-4.5-1.4s-3.2.8-4.6.8c-1.5 0-3.7-.8-3.7-.8s-2.7 1.1-4.1.8a14.3 14.3 0 01-2.6-.8s-3 1.1-4.7.8c-1.8-.3-3.9-1.5-3.9-1.5s-.3.8-3.7 1.5h-.1"/>
+    <path fill="#5ac800" d="M227.3 325.6s-.3.6-3 1.2l-.7.2.6-.1-.7.2c3 4.5 7.6 8.5 12.4 11.7 4.8 3.3 10.3 7.1 19.7 9.9a76 76 0 0019-9.7c6.4-4.7 9.8-7.6 13.4-12.4-2.8 1.6-2.4 1.6-3.9 1.4-1.5-.3-2.5-1.4-2.5-1.4s-1.4 1.6-3.1 1.4c-1.8-.3-3.4-1.4-3.4-1.4s-2.3 1.6-4.6 1.5c-1.7-.1-3.2-1.7-3.2-1.7s-4 1.4-4.9 1.4c-1 0-3.8-1.4-3.8-1.4s-2 1.3-3.2 1.3c-1.2 0-4.5-1.5-4.5-1.5s-3.2.8-4.6.8-3.7-.8-3.7-.8-2.6 1.1-4.1.8c-1.5-.3-2.7-.8-2.7-.8s-2.9 1.1-4.6.8a15.7 15.7 0 01-3.9-1.4z"/>
+    <path fill="#ffd800" d="M255.6 348.7c10.2-4.3 12-5.4 18.2-9.2-1 0-4.2-1-3-1.3 0 0-1.3 1.1-2.6 1.1-1.1 0-4.4-1.4-4.4-1.4s-3.2.8-4.6.8-3.7-.8-3.7-.8-2.7 1.1-4.1.8c-1.5-.3-2.6-.8-2.6-.8s-3 1.1-4.7.8c-1.8-.3-3.9-1.4-3.9-1.4s-2.5 1.3-4.1 1.5a57 57 0 0019.5 9.9z"/>
+  </g>
+  <g stroke="#000" stroke-width=".5">
+    <path fill="#b34b00" d="M248.7 265.6c2-1.7 3.2-3.3 2.5-4.5-.7-1-2 .7-3.3.3 0 0-2-1.3-2.6-2.2-1.1-1.3-2.7-2.5-3.5-3.6-1-1-4.4-5.7-9.7-11-1.6-1-1.2-4.7-2.3-5.9-.1-.8-10.6-11.2-14.4-15-1.5-1.1-2.3-1.8-5 .6-2 1.9-2.8 3.8 0 6.2L224 243c2 2 4.8 2.3 6 3.3l13.9 14.3c1.7 1.5 2.6 2.5 1.6 3.8-1.1 2.2 0 2.5.3 2.5.2.1 1.2.1 1.8-.4l1.1-.8z"/>
+    <path fill="none" d="M214 228.3l14.3 14"/>
+    <path fill="#fff" stroke-width=".6" d="M233.4 234.7l1.2-2.7c.2-.4 4-6.6 6-6.7 0 0 12 8.6 12 8.8 0 .4-5.2 8.2-5.7 7.7 0 0-14-6-13.5-7z"/>
+    <path fill="#ccb8c8" stroke="none" d="M241 236.8c-1.6-1.3-4.3-2.5-6.5-4l-1 2c.8 1 10.7 5.6 12.4 6.5 0 0-2-2.2-4.9-4.5z"/>
+    <path fill="none" stroke-width=".4" d="M234.5 232.5c1.3 1 3.7 2.5 5.2 3.4 3 2 4.8 4.3 7 5.5"/>
+    <path fill="#782121" d="M210.3 269.8l27.2-33.7c.5-.5 3-.5 3.3 2.1l-25.7 35.2s-3-.3-4.9-3.6z"/>
+    <path fill="#730000" d="M301.5 270.2c-1 .7-2.5.9-2.5.9-1.8-2-3.3-4.3-5.8-7l-27.1-33.4 2.8-2.7 24.4 28.6c.8.7 5 5.2 9.1 10.5 0 0 .4 2.1-.9 3z"/>
+    <path fill="#fff" d="M275.3 235l-4.4-5.3s-3.3.4-4 2.2c0 0-2.3 4-8.7 4.4 0 0 1.8 7.4 9.2 11.3 0 0 2.7-7.6 5.3-9 0 0 2.7-1.9 2.6-3.7z"/>
+    <path fill="#730000" d="M264.4 258c-.6-.1-1.3 0-2.2.6-.8.5-1.9.3-1.8-.7.1-1 0-.9 1.2-1.6a6.7 6.7 0 015.2-.5l-2.4 2.3m29.7-29.6c-.2-.8-.4-1.5.3-2.4.7-.9.7-2.3-1-1.6-1.8.7-2.5 2.7-1 5.7l1.7-1.7z"/>
+    <path fill="#fff" d="M263.8 258.7l30.8-30.6 7.6 8s-1.6-.5-2.2-.1c-.5.4.6 2 .6 2s-1.4-.6-2-.1c-.8.4 0 2.1 0 2.1s-1.3-.9-2-.5c-.4.4 0 2.4 0 2.4s-1.6-.5-2 0c-.4.3 0 2.1 0 2.1s-1.7-.8-2.5 0 .4 2 .4 2-2-.9-2.9.4c-.8 1.2.1 2.4.1 2.4s-1.7-.8-2-.4c-.5.4 0 2.4 0 2.4s-1.5-.9-2.5.2.1 2 .1 2-1.3-.8-2-.4c-.8.5.2 2.4.2 2.4s-1.4-.9-2.3 0c-1 1 0 2.1 0 2.1s-1.2-1-2.3 0c-1 1.2 0 2.3 0 2.3s-1.7-.8-2.3 0c-.7.8.2 2 .2 2s-1.3-.7-2-.3c-1 .4 0 2.3 0 2.3s-1.3-1.4-1.9-.6c-.6.7.1 2.4.1 2.4s-1.1-1.3-1.7-.6c-.8.6.4 2.2.4 2.2s-2.1-1-1.6-1z"/>
+    <path fill="#7e4b7e" stroke="none" d="M292.8 230.6l-2.4 2.4.6 8.2s.5-2.4 1.2-.7c0 0 .2-2 .7-1.7-.4-.2 0-8.2 0-8.2m-4.5 4.4l-1.8 1.7.6 8.2s.5-3 1.3-.6l-.2-2.8V235m-18.6 18.5l-1.7 1.8.4 5s.6-3.3 1.3-.8l-.2-2.8.2-3.2"/>
+    <g fill="none" stroke="#7e4b7e" stroke-width=".9">
+      <path d="M267.6 232.9a97.5 97.5 0 014.4 5.3m-3-3c-.1.6-.5 2.4-1.5 3.3m2-3c0 .5 0 1.8-1.5 3.2m2.1-2.5c-.2.7-.3 1.3-.8 1.8m1.1-1.2c0 .5-.3.7-.4 1m-3.4-3a25.3 25.3 0 01-5.1 3m4.2-1.8c-.4.4-2.3 1.9-3.3 2.3m3-1c-.6.4-1.6 1.4-2.5 1.7m2-.5c-.5.5-1.1 1-1.7 1.2"/>
+      <path stroke-linecap="square" d="M246.7 239.6l1.7-3c1-1.4 1.4-1.6 2-2.1"/>
+    </g>
+  </g>
+  <path fill="#289400" stroke="#060" stroke-width=".5" d="M146.2 323.6c1.5.7 0-5 .5-7.3.6-2.3 5 5.6 7.3 6.7 2.3 1.1 16.2-5.5 16.2-5.5l3.3-6.3 1.8 5.1s3.9-4.5 5-6.1c1.2-1.7 0 3.3-1.1 5-1.2 1.6 3.3 2.3 2.8 5.6s4.5-2.3 4.5-2.3l12.9 1.2s2.2-7.9 5.6-12.3l1 5 5.4-5.4a70.3 70.3 0 0044 41.8 71 71 0 0043-39l7.1 7.4s5.7-1.7 6.7-2.3a76.8 76.8 0 0116.6 6c1.1.7.3-3.7.3-3.7s6.1 1.1 5.6 4.4c0 0 1.4-3 2.5-3.6 1.2-.5 3.9 2.8 4.5 4 .5 1 13.7 2.7 15.6 3.8 0 0 1.5 1.7 1.5 2.8 0 0 2.8-.3 5-.3 0 0-1.7.8-1.7 2.6 0 1.7-.8 3-2.5 3.9-1.7.8 0 1.4 2.2 1.6 2.3.3 0 3.2-4.5 4.8 0 0-1 2.5.8 3.4 0 0-3.8.3-4.4-.9 0 0-1.4 2.6-1.4 4 0 0-4.2-1.4-5.3-2 0 0-1.7 1.7-.5 2.5 0 0-7.6-.8-9-3.6 0 0-2.8.8-2.3 1.7 0 0-5.3-3.6-7-3.6l-1.1 1.9s-3.6-2.2-4.8-2.2c-1 0-.2 1.6-.2 1.6l-5.1-3-2 3s-4.2-2-5.3-2.8c-1-.8-1.4 1.7-2.2 2 0 0-1.7-2.3-4-2 0 0-.8 2.8-.5 3.7l-7.6-1.7c-1.1-.3-.5 1.4 0 2.5 0 0-4.8-1.3-5.8-2.2l-.3 2.2s-4-.3-4.8-1.1L282 348h-3.6l-.9 3s-7-2-7.6-.8c-.5 1.1.3 2.8.3 2.8l-6.1-.8-.5 2.5s-7.1-2.2-8.8-1.2c0 0-2.2 2.3-3.6 2.8-1.4.7 0-.8 0-.8l-2.2-3s-2.5 1.3-4 .8c-1.3-.6-5.8 2.2-7.3 1.4 0 0 0-2-1.1-2.5-1-.6-3-.6-3.9.8l-2.3-3.3c-1.3-2.3-3.3.2-3.3.2l-.3-2.7-3.9-.3c-2.3-.4-2.8-2.3-2.8-2.3s-6 .6-6.7.3l1.4-1.4s-8.1 1.7-9.8 1c-1.7-.5 1.9-2.7 1.9-2.7l-9-2.2c-1.3-.3-9.4 1.3-10.6 1.3-1.1 0-1.7-1.9-1.7-1.9s-2 1.7-3.6 2.2c0 0-1.4-3.3-.5-3.6 0 0-5.3 1.4-5.6 2.8 0 0-1.4-2.2-1.2-3.1 0 0-2.5 4-3.6 4.8-1.2.8-.2-2-.2-2s-3.2 4-4.3 4.3v-2.9s-9 4.8-11.5 4.2c0 0 0-2 .9-2.5l-5.7-.3c-1.3-.2-3-.8-4.5-1.1-1.3-.3 2-1.7 4.3-1.1 0 0-6.2-2.3-8.1-1.1 0 0-.8-2.3 2.5-3.2 0 0-4.3-4.1-6.8-3.8 0 0 2.8-1.7 5.1-.9 0 0-2.6-7-4.2-7.9 0 0 5.9-1 7.6-.2z"/>
+  <path fill="#730000" stroke="#000" stroke-width=".5" d="M137.5 201.4l75.8-39.3c.4-2-.8-3.6-2-5.2-21.6 10.6-41.4 23.5-65.5 31.4-1.3.5-13.3 5.5-19.5 12.9-1.9 2-2 4.8-2 4.8s.1 3.3.8 4.2c0 0 .2 1 1.3 1.7 0 0 .7.3 1.2.1.6.1 1.4.1 2.7-2a56 56 0 017.2-8.6z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".5" d="M198.5 162.5l9.8-4.7s3.4 2.5 3 5.3c0 0 .8 6.5 8.8 11 0 0-6.8 8.4-18.6 9.2 0 0 1.3-11.2-1.2-14.4 0 0-.4.4-.2-.2.3-1-.2-4.8-1.8-5.6-.2 0 .2-.4.2-.6z"/>
+  <path fill="none" stroke="#7e4b7e" stroke-width=".8" d="M210 163.9c-2 .8-8.8 4.4-8.8 4.4m5.6-2.3c-.1 1-.8 3.5 0 5.3m-1-5c0 .5-.8 2.4.1 4.9m-1.1-4.4c-.2 1-.4 1.7 0 2.8m-.8-2.2c-.2.6 0 1 0 1.4m6.1-1.7a41 41 0 004.8 7m-4.4-5c.3.8 1.9 3.8 3 5m-3.2-3.2a18 18 0 002.1 4m-2-2c.1.9.5 2 1.2 2.6"/>
+  <g stroke="#000" stroke-width=".5">
+    <path fill="#b34b00" d="M279.8 158.2l27.8 13.6c5.6 2.7 7.6.2 10.8 1.6l55 28c4.7 2 7.3 2.7 6.6 5.1 0 4 1.9 4 2.4 4 .4.1 2.3-.1 3-1.2l.6-.7c.7-.6.5-.7.7-1 2.3-3.3 3.6-6.2 1.2-8-2.8-1.4-3 1.6-6 1.3 0 0-5.2-2-7-3.4-3.5-1.8-8.4-4-9.5-5.3-3.5-.7-29.9-15.5-44.9-23-1.6-1.3-2.4-6.3-5.6-8-1-1.3-21.2-10.6-31.8-15.9-3.9-1.4-6-2.4-8.9 2.4-2.4 4.7-1.8 7.2 5.6 10.5z"/>
+    <path fill="none" d="M282.1 152.3l31.2 15.6"/>
+  </g>
+  <g fill="#ffa54b" stroke="#000" stroke-width=".5" transform="translate(-128) scale(1.024)">
+    <path fill="url(#c)" d="M309.7 165.1c-.2.6-.7.2-.7.4-.4 2.2-.3 3.3-.8 4.5a7.1 7.1 0 01-3.1 2.6c-2 .7-4.5 3.1-8.5.9l-.6-.5s1.1 4.1-3 6.2l-15.7 8.2s-1.5 2.8-.5 6.5c0 .6.3 1.1-.3 1.5-1 .7-2.7 2.8-3.7 6 0 0-3-1.3-3-3.2 0-2 1.2-3 1.5-4.4.3-1.3 1-4.7.7-5.7-.4-1.1-2.3-1.5-3-2-.6-.3-1.4.5-1.3 1.4.1 1 .8.8 1.6 1 0 0-.9 2-.8 3.4l-9.2 4.8 1.6 2.3c.4.7 1.3 10.2 4 14.7s3.7 3.2 4.3 3.8l2 2c.8.5 4 .8 4.5-1a9 9 0 013.2-4.1c2-1.6 6-5.4 6-7.2 0 0 2.3 6.8 2 12.4 0 0 8.5 1.7 16.1 1.9 7.6 0 11.5-1.5 11.5-1.5s1-6.4.6-7.7c0 0 1.2 4.2 2.2 5.6 1 1.8 2.1 5.3 4.3 5.5 2.2.1 4-2.1 4.2-3v-6.8h8.7s3.8 1.5 5 1.3c1.3-.1 2-1.3.8-1.7l-.4-.3c1.2 0 2.6.7 2.6.7h4.3l-.1-.5c-.3-1.2-2.6-2.2-4.2-3-1.6-.5-3.5-1.2-4.7-1.3a20 20 0 00-6.2.4c-.8 0-3.9.4-5.8 1.3-.5.3-1 .4-.8-1 .3-1.3.2-7.8-1.3-10.5-1.2-2-1-3.6-.9-5.2a87 87 0 000-8.8c-.3-1.7-2.5-4-6.6-4.4-3.8-.5-7-3.7-7.3-6.2-.3-2.6.4-7.2.8-9.3"/>
+    <g fill="none">
+      <path fill="url(#d)" d="M292.4 153.6c-.7 3.3-.7 6.1-.6 9.3.1 2.1 1.1 4.6 2 6.7a10 10 0 002.8 3.9c3.6 2.3 7-.2 8.9-1a6.4 6.4 0 002.7-2.5c.5-1.2.3-2.1.8-4.5l.7-.4c1-1.5.7-2 1.2-3 .6-1-.5-2.2-1.8-2 .6-1.9 1-4 .4-5.9-.2-.6.5-2.2-.6-1.8-4.6 1.8-10 1.4-14.8 1.4-.4 0-.8-.8-1.4-.7l-.3.5"/>
+      <path fill="#000" d="M292 155.3c-.5-.4-.6-1.3 0-3.2.7-2 0-2 1.1-3.2s.9-1.6 1.6-1.9c.7-.2 2.8-.2 3.5-.5a11 11 0 019-.3c1.5.8 2.5 2.8 3.4 3.6 1 .7 1.7 3.6 1.5 7.9-.3 4.3-1.2 3.5-1.2 3.5s-1.2-2-2.2-.3c0 0 0-1.7.2-3 .1-1.1-.6-3.4.1-4.9 0 0-5.8 1.8-8.7 1.7-3-.2-7.4-.9-7.6-1.6l-.7 2.2"/>
+      <path fill="#fff" stroke="#fff" d="M295 151.8c-.3-.6-1.8-2.9-.6-3.6 1-.6.4 2.8 2 3.5 0 0-.6 1.5-1.4.1z"/>
+      <path d="M298.3 160.1l-.9 3.2m10.6 1.6c.2.6.4.3 1 .4m.3-4c.5-.5 1.2-.2.8 1.3m-17.7-4.9l2.8 1c1.5.6.6 2.9.2 4.3-.2.7-1 2-.6 2.5.5.8 1.1.3 2 .4 0-.3.6-.5.8-.5.7 0 1.1.5 1.7.3.6-.3.5-1.2.3-1.7m-.1-4.5c0-.4 1-.8 1.5-.9 2.1-.4 3.6-.7 5.4.5m-5.7 11.1c-1.8.4-3.6.7-5.2-.2m0-.8c.8-.4 1.1-.8 2.1-.3a5 5 0 011.1-.4c.8 0 1.4.3 2.2.8m-5.5.3c1-.3 3.3-.3 5.4.1"/>
+      <path fill="#fff" stroke-width=".3" d="M292.3 160.1c.7 0 1.6-.9 3.2.3 1.1.8-1.8 1.5-1.3 1.4-1.4.2-1.8-.5-1.9-1.2 0-.1-.2-.5 0-.5zm8.4.8c.7-1.4 1.8-1 2.8-.8 1 .3.7.1 1.7.7-1.2.1-.9.2-1.7.6-.9.5-1.7.7-2.3.3-.2-.2-.7-.5-.7-1 0 .2 0 .3.2.3z"/>
+      <path fill="#000" stroke-width=".3" d="M293.8 161.4c.4 0 .7-.4.7-.8 0-.6-.3-1-.7-1-.5 0-.9.4-.9 1 0 .4.4.8.9.8zm8.6.2c.4 0 .7-.4.7-1a.8.8 0 00-.8-.8c-.4 0-.7.3-.7.8 0 .6.4 1 .8 1z"/>
+    </g>
+    <g id="g">
+      <g fill="none">
+        <path d="M345.9 213.7a3.9 3.9 0 00-1.9-1.4l-2-1c-.7-.4-1.7-.5-2.4-.9m.5 2.6l-.9-.5c-.3 0-.7 0-1-.2 0 0 0-.2-.2-.2a3.5 3.5 0 01-2.4-1.3m-62.8-9.3c1 .7 3.2 2.2 3.4 5.1a10.5 10.5 0 001 3M264 202c.5 1.7.6 7.4 6 13.4m-5-21.4c-.4 1.1-1 2.2.2 3m14.4 10.7c1.1-2.6 4.6-2.4 4.6-4.8"/>
+        <path d="M284.8 207.3c-.3-2.9-1-4.5-.4-8.7.2-1.2.4-5.9 0-8.1 0 0 1.6 7.8-3.7 9.3m34.4 12.5c0-4 1-6.2 1-6.2 1.2-5.6-1.2-7.7-.3-9.1.9-1.2 2-3.8.5-8.9 0 0 2.8 10.5-4.5 10.5-7.5 0-7.2-2.7-7.2-2.7"/>
+        <path d="M284.4 190.5c0 2 0 8.4 9 8.4 2.8 0 5.8-2 7.4-3.3m2.2-2.7c-.3-2-.3-4.4-.3-7m-13.6-3.4c2.4-.3 4.4-.6 9-.6m.2-6.3c.5 2.2-.3 5.8 4 6.3m4.3-7.1c-.6 1.6-.6 3.3-.8 4.4m.2 2.7c1.7 0 5-1.1 9-.3m1.4 22.8c.9 1.6 1 3.8 3.6 6.2m-31.7-11.4c.2 1.3-1.8 5.7-.3 9.3a12.3 12.3 0 01-1.2 11m6.7-19c-.9 1.7-2.3 3.3-2.6 4.7m6.6-1.6c0 1-2.7 8.7-4.7 10.9 0 0 3.6 1.4 3 6.6m7.4-21c0 1.2-.2 1.6 1 2.4m2.4 0c1.3 1.6 5.5 6.5 4.6 9.2m-7.4-6.5c.3 1 .3 6.3-.6 9m-2.1-.2c-1.1 0-2.8.8-3 2.7m8.7-3c1.1-.3 3.3 1.6 3.3 7m15.7-10.2c-2.1.6-3 1.7-2.4 1.1-1.1 1-2.2 1.6-2.2 1.6"/>
+      </g>
+      <path fill="#000" stroke-width=".3" d="M289.8 198c.6 0 1.1-.4 1.1-1 0-.3-.5-.7-1.1-.7-.5 0-1 .4-1 .8 0 .5.5.9 1 .9zm23 .3c.6 0 1.1-.4 1.1-1 0-.4-.5-.7-1-.7-.6 0-1.1.3-1.1.8s.5.9 1 .9z"/>
+      <path fill="#fff" d="M280.5 239.8c1.3-8 5-14.5 5.1-15.2 0 0 3.9.9 10.6 1.5 6.6.7 8.4.4 11.5.2l6.8-.8s1.2 2.4 1.3 4.8c.3 5.2 2.3 27.7 2.5 33.7 0 0 .8 3.6.8 12.3 0 9.6 2.6 29 2.6 39.4l-2.6.5s-14.5 1.1-14.5-.8c0-2.1-.8-27 1.4-42.1 0 0-.5-3-1.4-5.5-.8-2.5-4.3-10-4.3-11.7 0 0-5.7 16-6 18.8-.3 2.6-1.2 38.4-1.7 41.3 0 0-8.2 6.3-9.3 7-1.1.4-9-3.4-9.3-4.4a211 211 0 014.6-33.2c1.4-7.1.6-8.4.6-10.4s.1-27.5 1.3-35.4z"/>
+      <path fill="none" d="M294.3 275c-.6 2.2-1.7 4.3-3.6 5.7m-2.7-53.6c-.3 1.3-2.3 7.3-7.2 10.9m14.3-9.8c-1.1 3.6-5.5 22.7-6.3 45.4m-.3 7.1l-1.7 20.8m-.8 3a71.3 71.3 0 00-2.7 18.7m32.2-36c-.2 2-1 15.7 3.6 28m-18.5-86c-.3 2.3-.8 16.7-.8 17.8 0 1.2 1.6 2.8 2.4 3 0 0-1.6.6-2 6m-4-12.8c-.3 1.7-2 8.5-3 11.3m13-25.5s5 1 5.3 0c0 0 1.6 29.5 3.8 46m-11.2-42.2l-.6 16.5m2.5 2.1s1.9 2.8 1.4 4m-17.8-28l3 .8m5.2 1.6c-.3.9-.6 4.6-.6 4.6m8.8 38.9c.6.8 1.4 2 .8 4.4"/>
+      <path fill="#9b5f00" d="M285 224.4s0-3.2 1.1-4.8c0 0 3.5.7 8.4 1.2 5 .5 9 .9 12.6.5 3.7-.4 7.4-1.3 7.4-1.3s1 4.8.5 5.5c0 0-4 .8-8.3 1a86 86 0 01-14.5-.8 57 57 0 01-7.3-1.3z"/>
+      <path fill="#fff" d="M288 224.8l.7-4.8h1l-.2 5.1-1.4-.2m22-4.1l.1 5.5 1.3-.2-.1-5.6-1.3.3m-15.6 0l-.4 5.3h.7l.7-5.3h-1"/>
+      <path d="M276.8 320.8c-.3 1.3-.8 3.2-1 5.5 0 .5-.6 3.3 1 3.4 1 0 1.4-2.9 1.4-2.9s-1 3.3.3 3.7c1.8.4 2-3.6 2-3.6-.2 1.1-1.4 4 .3 4.3 1.9.3 2.4-3.9 2.4-3.9s-1.6 4.2.3 4.3c1.7 0 1.7-4 1.7-4s-.9 5 1.5 4.5c1.4-.2 1.7-2 2-3 .4-1.5 1.3-3.4.2-6.6-.8-2.3-.5-3-.5-3s-2.9 2.2-5.1 3.6c-1 .6-6.5-2.3-6.5-2.3zm29.7-4.4c-.5-.3-.4 1.9-.6 2.9-.1 1 .2 3.2 3.6 3 3.4-.3 6.7-1 8.9-.5 2.1.6 5.3.7 7 .7 1.7 0 2.8-.2 3.7-.5.7-.3 2.2.4 3 .4s1.7-1 1.6-1.8c0-1.3-1.3-1.3-3-1.4a22 22 0 01-5-1c-1.1-.3-3.1-1.5-5.7-2l-5.9.2c-1 0-7 .3-7.6 0z"/>
+    </g>
+    <g fill="none">
+      <path fill="#ffb366" d="M255.7 189.8c-.5.3-1.1-2 .4-2.9 0 0 .4-2 2-2.1 0 0 1.4-1.9 3.3-1.7 0 0 2.2-1.5 3-1.3.9.1 3 2.1 3 2.9.2.7 0 1.9-.5 2.4-.6.6-1-.1-1.1-1 0 0 .4 1.6-.8 2.2-1.2.7-1.1.2-1.2-.6 0 0-.4 1.6-1.2 1.9-.8.3-1.3-.5-2-.5 0 0 1.1.9.4 1.5-.7.5-1.5.3-2-.1-.5-.5-1.2-1.9-3.3-.6z"/>
+      <path d="M265.7 186c-.5-1.5-2.2-3-4-2.8m2.2 4.4c-.3-.4-.4-.8-.8-1.2-.9-1.5-2.8-1.4-4.4-1.8m2.4 4.5c-.6-.4-.8-1.2-1.4-1.5-1-.4-2-.9-3.3-.7"/>
+    </g>
+  </g>
+  <g stroke="#000" stroke-width=".5" transform="translate(-128) scale(1.024)">
+    <path fill="url(#e)" d="M439.1 165.1c.7-.3.5.6.6 1 .4 1.3.4 2.7.9 3.9.6 1.1.8 1.5 1.8 2 1.6 1 6.4 3.6 9.8 1.5a3.1 3.1 0 00.7-.5s-1.3 4.1 3 6.2l15.6 8.2s1.5 2.7.6 6.5c-.2.6-.4 1.1.2 1.5 1 .7 2.6 2.8 3.8 6 0 0 3-1.3 3-3.2 0-2-1.3-3-1.6-4.4-.2-1.3-1-4.7-.6-5.7.4-1.1 2.1-1.5 2.8-2 .7-.3 1.6.5 1.3 1.4 0 1-.8.8-1.6 1 0 0 1 2 .8 3.4l9.4 4.8-1.6 2.3c-.5.7-1.5 10.2-4.2 14.6-2.8 4.5-3.7 3.3-4.2 4l-2.1 1.8c-.6.5-3.8.9-4.5-.9a9 9 0 00-3.1-4.1c-2-1.6-6-5.4-6-7.2 0 0-2.3 6.8-2 12.4 0 0-8.4 1.7-16.2 1.9-7.6 0-11.5-1.5-11.5-1.5s-1-6.4-.6-7.7c0 0-1.2 4.2-2 5.6-1.1 1.8-2.2 5.3-4.4 5.5-2.2.1-4-2.1-4.2-3v-6.8h-8.7s-3.8 1.5-5 1.3c-1.3-.1-1.9-1.3-.9-1.7l.4-.3a7 7 0 00-2.5.7H402l.1-.5c.3-1.2 2.6-2.2 4.3-3 1.6-.5 3.3-1.2 4.6-1.3 1.9-.2 3.2-.1 6.2.4.8 0 4 .4 5.8 1.3.5.3 1 .4.8-1-.3-1.3-1.2-5.5.3-8.3 1-1.9.9-3.5.8-5.2-.2-1.7-1.1-5.6-1.1-7.3 0-5.7 4.4-8 8.2-9.2 4.3-1.4 7.1-2.8 7-5.3-.2-2.7.5-7 .1-9"/>
+    <g fill="none">
+      <path fill="url(#f)" d="M456.3 153.6a20 20 0 011.2 5.3c0 1.2-.5 1.4-.1 2.8.7 2.4-.8 5-2.5 8-.8 1.2-1.4 3-2.7 3.8-3.4 2.1-7.5-.4-9.6-1.3a3.7 3.7 0 01-2-2.2c-.4-1.2-.5-2.3-.8-4 0-.3 0-1.2-.6-.9-1.3-1.4-1-2-1.6-3-.5-1 1-2.2 2-2a10 10 0 01-.2-5.9c.2-.6-.6-2.2.5-1.8 4.5 1.8 10 1.4 14.8 1.4.4 0 .7-.8 1.3-.7l.3.5"/>
+      <path fill="#000" d="M456.8 155.3c.4-.4.1-2.3-.4-4.3-.1-1-1-1.5-2-2.6s-1.6-1-2.3-1.4c-.6-.2-2-.2-2.8-.5-.6-.3-2.2-.1-3.7.1-2 .3-3.2.2-4.7 1s-2.8 1.8-3.3 3.3c-.4 1-1 2.5-.8 6.8.2 4.3 1 3.5 1 3.5s1.1-1.7 1.9-.6l-.3-3.6c-.1-1.2 0-2.8.5-4.6 0 0 4.6 1.7 9 1.7 3 0 7-.3 7.1-1l.7 2.2z"/>
+      <path d="M450.4 160.1c.7 1.8.1 1.3.4 2.4m-10.2 2c0 .8-.6.6-1 .6"/>
+      <path d="M456.9 158.8c-1-.7-2.7-.2-3.5.1-1.5.7-.7 2.3-.2 3.7.2.7 1 1.7.5 2.4-.4.8-.7.4-1.6.5 0-.3-.8 0-1.1 0-.6 0-1 .4-1.5.2-.6-.3-.5-1.2-.3-1.7m.1-4.5c0-.4-1.3-.8-2.7-.9-2.3 0-2.5.1-4.2 1.3m11.5 9c-.4-.6-1-1-2.1-.4 0-.2-1.6-.4-1.6-.4-.8 0-1.3.3-2.1.7m5.6.6c-1-.6-3.3-.2-5.6-.2m.2.8c1.7.5 3.5.8 5.2 0"/>
+      <path fill="#fff" stroke-width=".3" d="M456.4 160.1c-.7 0-1-.9-3.1.3-1.1.7 1.8 1.5 1.4 1.4 1.2.2 1.6-.5 1.7-1.2 0-.1.2-.5 0-.5zm-8.3.8c0-.8-1.8-1-2.9-.8-1 .3-.5.1-1.5.7 1 .1.7.2 1.6.6.9.5 1 .9 2.3.3.3-.1.7-.5.8-1 0 .2-.2.3-.3.3z"/>
+      <path fill="#000" stroke-width=".3" d="M455.1 161.4a.8.8 0 01-.8-.8c0-.6.3-1 .8-1 .4 0 .7.4.7 1 0 .4-.3.8-.7.8zm-8.7.2c-.4 0-.7-.4-.7-1 0-.5.4-.8.8-.8s.7.3.7.8c0 .6-.3 1-.8 1z"/>
+    </g>
+    <use width="100%" height="100%" fill="#730000" transform="matrix(-1 0 0 1 748.8 0)" xlink:href="#g"/>
+    <g fill="none">
+      <path fill="#730000" d="M491.6 193.5c.5.2 2-2 .5-3 0 0-.5-2-2-2 0 0-1.4-2-3.4-1.7 0 0-2-1.5-2.9-1.4-1 .2-3 2.2-3 3-.2.5 0 1.8.5 2.4.6.5 1-.1 1-1 0 0-.3 1.5.9 2.2 1.2.7 1.1 0 1.2-.7 0 0 .3 1.6 1.1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3.7.6 1.5.3 2 0 .6-.5.3-1.8 2.4-.6z"/>
+      <path d="M482.5 189.8c.5-1.8 2.2-3.2 4-2.9m-2 4.4c.1-.4.2-.8.5-1.2 1-1.6 3-1.6 4.6-1.9m-2.5 4.5c.6-.4.8-1.1 1.4-1.4a5.3 5.3 0 013.2-.7"/>
+      <path fill="#730000" stroke="none" d="M482.3 186.8c-.9.7-1.8 1.8-1.9 2.2 0 .7 0 1.9.5 2.5.6.5 1 0 1.1-.8 0 .5 0 1.5.8 2 1.3.7 1.2.1 1.3-.7 0 0 .3 1.6 1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3.7.6 1.5.3 2 0 .6-.5.3-1.8 2.5-.6.2.2.8-.4 1-1.1l-7.7-5.5-2.3-.8z"/>
+      <path d="M480.7 188.2c-1.5 2.6.5 4.1 1.1 2.6-.1 2.4 1.7 2.3 2.3 1.5.7 2.5 1.9 1.4 3 1.2-1.3 2.3 1.4 1.6 2 1 1-1.3 1.4-.2 2-.3l1.3-1.3m-8-5.7c-1.7 1-2.5 2.2-2.6 3.7m5-2.2c-1.8 1-2.6 2.2-2.6 3.7m5.4-1.7c-1.7.9-1.8 1.7-2.5 2.8"/>
+    </g>
+  </g>
+  <path fill="#5ac800" d="M169 331.4l-.1-4.8 2 1.7.5-3.6c.8-.2 2.2 1.4 2.2 1.4l-.3-3.6 3 3.3s-.1-2.8.9-4.5c0 0 2.3 2 2.3 4.3 0 2 2-2.8 2-2.8l1.6 5.3 1.4-2 1.1 4.2 2.5-3.7 2 4.3 4.5-.3.5 2.5 2-2.2 2.6 1.7s2.2-.7 3.3-.7 2.5 1.5 2.5 1.5.8-1.5 1.7-2c.8-.5 2 .9 2.3 1.7l1.6-3s2.2 2.2 2.5 3c0 0 .3-2.5.9-3.3.5-.9 1.3.3 2 1.3l1.3-4.5s1.5.3 2.5 2c1.1 1.7 1.1-2.5 1.1-2.5s2.5 3.3 3.2 5.6c0 0-17.3 6-29.4 4.3a318.4 318.4 0 01-26.1-4.6m118.2-.5s.8-2.3 2-3.4c0 0 2.2 2.6 2.2 3.4l1.7-1.1 1.7 1.6 2-1.3 1.9 1.6 3.4-1.4 1.4 1.4 5.3-.6 2 .9 1.8-2.4 1.8 1.8 2.8-2.8s1.4 1.2 1.7 2c0 0 2.3-1.1 2.8-2 0 0 2.2-.8 2.5.5 0 0 1.3-1 1.2-2.1 0-1.2 1.6-.4 2.1 1 0 0 .6-2.2 2.3-2.4 0 0 1.2 1.3.8 3.9 0 0 2.5-2 3.7-2.2 0 0 .5 2.8-.3 5.3 0 0 2.6-4.3 3.1-2.8.2.8.8 3.6.2 5.6l2.3-1.5.8 2.8 2.5-.5s-14.8 2.3-28.7 1c-14-1.4-27-6.3-27-6.3M277 341.3c.7-.5-4.7 11-17.6 11.5-18 .9-33.3-8.1-33.3-8.1s1.8-3.1 3-4c0 0 2.5 2 3.3 4.5 0 0 .3-1.7 1.2-3.1 0 0 3 1.4 3.6 3.4 0 0 1.1-2 2-2.5.8-.6 1.7 2.2 1.7 3.9 0 0 2-2.1 3-2.2 0 0 2.3 1 2.9 4.7 0 0 2-2 2.8-1.7 0 0 2.5 1.7 1.9 4-.3 1.2 2.5-1.5 6-2.3l3 2.3 3.6-5s2.3.8 2.3 2.2c0 0 1-4 1.8-4.4.9-.5 2 1.2 2 2.4 0 0 .3-3 2-3.7 0 0 1.7 1.2 1.7 2.3 0 0 1.7-3.4 3-4.2z"/>
+  <path fill="none" stroke="#060" stroke-width=".5" d="M169 331.4l-.1-4.8 2 1.7.5-3.6c.8-.2 2.2 1.4 2.2 1.4l-.3-3.6 3 3.3s-.1-2.8.9-4.5c0 0 2.3 2 2.3 4.3 0 2 2-2.8 2-2.8l1.6 5.3 1.4-2 1.1 4.2 2.5-3.7 2 4.3 4.5-.3.5 2.5 2-2.2 2.6 1.7s2.2-.7 3.3-.7c1.2 0 2.5 1.5 2.5 1.5s.8-1.5 1.7-2c.8-.5 2 .9 2.3 1.7l1.6-3s2.2 2.2 2.5 3c0 0 .4-2.5.9-3.3.5-.9 1.3.3 2 1.3l1.3-4.5s1.5.3 2.5 2c1.2 1.7 1.2-2.5 1.2-2.5s2.5 3.3 3 5.6m62.8-.8s.8-2.3 2-3.4c0 0 2.2 2.6 2.2 3.4l1.7-1.1 1.7 1.6 2-1.3 1.9 1.6 3.4-1.4 1.4 1.4 5.3-.6 2 .9 1.8-2.4 1.8 1.8 2.8-2.8s1.4 1.2 1.7 2c0 0 2.3-1.1 2.8-2 0 0 2.2-.8 2.5.5 0 0 1.3-1 1.2-2.1 0-1.2 1.6-.4 2.1 1.1 0 0 .6-2.3 2.3-2.5a5 5 0 00.8 3.9s2.5-2 3.7-2.2c0 0 .5 2.8-.3 5.3 0 0 2.6-4.3 3.1-2.8.2.8.8 3.6.2 5.6l2.3-1.5.8 2.8 2.5-.5m-117 8.5s1.8-3.1 3-4c0 0 2.5 2 3.3 4.5 0 0 .3-1.6 1.2-3 0 0 3.1 1.4 3.6 3.3 0 0 1.2-2 2-2.5.8-.6 1.7 2.2 1.7 3.9 0 0 2-2 3.1-2.2 0 0 2.2 1 2.8 4.7 0 0 2.1-2 2.8-1.7 0 0 2.5 1.7 1.9 4-.3 1.2 2.5-1.5 6-2.3l3 2.3 3.6-5s2.3.8 2.3 2.2c0 0 1-4 1.9-4.4.8-.5 2 1.3 2 2.4 0 0 .3-3 2-3.6 0 0 1.6 1.1 1.6 2.3 0 0 1.8-3.5 3.1-4.3"/>
+  <g fill="#fff">
+    <path d="M255.4 386a75 75 0 0045-13.4c17.7-12 21.5-12.4 24.4-12.2 3.3.3 8.2 1.5 8.4 4.4.4 4.4-7 6.4-11.1 6.4-4.3 0-15.4-2.8-15.4-2.8l-3 2c2 1 24.9 8.5 29.2 1.4 4.5-7.3 9-19.1 9-19.1s-5-9-16.1-9c-11.3 0-22.3 7.1-29.5 12.4-7.3 5.3-16.5 12.6-40.9 12.6s-33.6-7.3-41-12.6c-7.2-5.3-18.2-12.4-29.3-12.4-11.2 0-16.3 9-16.3 9s4.5 11.8 9 19c4.4 7.2 27.2-.4 29.2-1.3l-2.8-2s-11.3 2.8-15.4 2.8c-4.3 0-11.6-2-11.3-6.4.2-3 5.1-4 8.4-4.4 3-.2 6.7.2 24.5 12.2a76.8 76.8 0 0045 13.4"/>
+    <path d="M217.7 358.4s0-2-.3-4.9c-.4-3.7-2.6-4.7-4.4-4.2-1.1.5-3.4 3.3-3.4 3.3a33.1 33.1 0 00-3.2-1.9 21 21 0 016.7-3.9c1 0 15.5 5.9 20 9.8 1.2 1 2 7.5 1.4 9.6a49.5 49.5 0 01-16.8-7.7m-6.9 14.5s-3 3.1-3.2 8.9c-.1 6.7 4.8 7 8 7 3.9-.2 7-2.4 6.9-9.5 0 0-6.4-2.7-11.7-6.4m82.2-14.6l.5-4.9c.4-3.7 2.5-4.7 4.2-4.2 1.2.5 3.5 3.3 3.5 3.3a33 33 0 013.2-1.9 20 20 0 00-6.7-3.9c-1.1 0-15.5 5.9-20 9.8-1.1 1-2 7.5-1.4 9.6a48.5 48.5 0 0016.7-7.7m7 14.5s3 3.1 3.1 8.9c.2 6.7-4.8 7-8 7-3.8-.2-6.9-2.4-6.9-9.5 0 0 6.4-2.7 11.7-6.4"/>
+  </g>
+  <path fill="#69f" d="M204 368.4s-11 2.8-15.2 2.8c-4.3 0-11.6-2-11.3-6.4.2-3 5.1-4 8.4-4.4 2.5-.2 5.8.1 18.2 8m102.6 0s11.1 2.8 15.4 2.8c4.2 0 11.5-2 11.1-6.4-.1-3-5-4-8.4-4.4-2.5-.2-5.7.1-18.1 8m-89-9.9l-3.3-2.5-4.8-3.3s2.3-3 3.4-3.2c1.8-.7 4 .3 4.4 4 .3 3 .3 5 .3 5m-7.6 29.4c2 1.2 4.2 1 5.5 1 3.9-.2 7-2.4 6.9-9.5 0 0 4.8 2.4 12.6 4.2 0 0 1.3 1.6 1.5 4.7.3 2.6-1.5 5.4-3.6 5.2l-17.6-3.1c-3.8-.7-5.3-2.5-5.3-2.5m83-29.4l3.4-2.5 4.7-3.3s-2.3-3-3.5-3.2c-1.7-.7-3.8.2-4.2 4a95.5 95.5 0 00-.5 5m7.6 29.4c-2 1.1-4.1 1-5.5 1-3.8-.2-6.9-2.4-6.9-9.5 0 0-4.8 2.4-12.5 4.2 0 0-1.3 1.6-1.5 4.7-.2 2.6 1.5 5.4 3.5 5.2l17.6-3.1c3.9-.7 5.3-2.5 5.3-2.5"/>
+  <g fill="none" stroke="#000" stroke-width=".7">
+    <path d="M255.4 386a75 75 0 0045-13.4c17.7-12 21.5-12.4 24.4-12.2 3.3.3 8.2 1.5 8.4 4.4.4 4.4-7 6.4-11.1 6.4-4.3 0-15.4-2.8-15.4-2.8l-3 2c2 1 24.9 8.6 29.2 1.4 4.5-7.3 9-19.1 9-19.1s-5-9-16.2-9-22.1 7.1-29.4 12.4c-7.3 5.3-16.5 12.6-40.9 12.6s-33.6-7.3-41-12.6c-7.2-5.3-18.2-12.4-29.3-12.4-11.3 0-16.3 9-16.3 9s4.5 11.8 9 19c4.4 7.2 27.2-.4 29.2-1.3l-2.8-2s-11.3 2.8-15.4 2.8c-4.3 0-11.6-2-11.3-6.4.2-3 5.1-4 8.4-4.4 3-.2 6.7.2 24.5 12.2a76.7 76.7 0 0045 13.4z"/>
+    <path d="M204 368.4s-11 2.8-15.2 2.8c-4.3 0-11.6-2-11.3-6.4.2-3 5.1-4.1 8.4-4.4 2.5-.2 5.8.1 18.2 8zm102.7 0s11.1 2.8 15.4 2.8c4.2 0 11.5-2 11.1-6.4-.2-3-5-4.1-8.4-4.4-2.5-.2-5.7.1-18.1 8zm-89-9.9a100 100 0 01-3.3-2.5l-4.8-3.3s2.3-3 3.4-3.2c1.8-.7 4 .3 4.4 4 .3 3 .3 5 .3 5z"/>
+    <path d="M217.7 358.4s0-2-.3-4.9c-.4-3.7-2.6-4.7-4.4-4.2-1.1.5-3.4 3.3-3.4 3.3a34 34 0 00-3.2-1.9 21 21 0 016.7-3.9c1 0 15.5 5.9 20 9.8 1.2 1 2 7.5 1.4 9.6a49.7 49.7 0 01-16.8-7.7m-6.9 14.5s-3 3.1-3.2 8.9c-.1 6.7 4.8 7 8 7 3.9-.2 7-2.4 6.9-9.5 0 0-6.3-2.7-11.7-6.4z"/>
+    <path d="M213.4 374.6s-2.5 2.6-2.9 6.8c-.2 3.4 2 5.2 4.8 5 4-.2 5.5-5.6 3.7-8.6l-5.6-3.2"/>
+    <path d="M210.1 387.9c2 1.1 4.2 1 5.5 1 3.9-.2 7-2.4 6.9-9.5 0 0 4.8 2.4 12.6 4.2 0 0 1.3 1.6 1.5 4.7.3 2.6-1.5 5.4-3.6 5.2l-17.6-3.1c-3.8-.7-5.3-2.5-5.3-2.5zm83-29.4l3.4-2.5 4.7-3.3s-2.3-3-3.5-3.2c-1.7-.7-3.8.2-4.2 4l-.5 5z"/>
+    <path d="M293 358.4l.5-4.9c.4-3.7 2.5-4.7 4.2-4.2 1.2.5 3.5 3.3 3.5 3.3a34 34 0 013.2-1.9 20 20 0 00-6.7-3.9c-1.1 0-15.5 5.9-20 9.8-1.1 1-2 7.5-1.4 9.6a48.7 48.7 0 0016.7-7.7m7 14.5s3.1 3.1 3.2 8.9c.2 6.7-4.8 7-8 7-3.9-.2-6.9-2.4-6.9-9.5 0 0 6.4-2.7 11.7-6.4z"/>
+    <path d="M297.3 374.6s2.5 2.6 3 6.8c.2 3.4-2 5.2-4.9 5-4-.2-5.4-5.6-3.6-8.6l5.5-3.2"/>
+    <path d="M300.6 387.9c-2 1.1-4.1 1-5.5 1-3.8-.2-6.9-2.4-6.9-9.5 0 0-4.8 2.4-12.5 4.2 0 0-1.3 1.6-1.5 4.7-.2 2.6 1.5 5.4 3.5 5.2l17.6-3.1c3.9-.7 5.3-2.5 5.3-2.5z"/>
+  </g>
+  <path fill="none" stroke="#fff" stroke-width=".7" d="M234.3 385.5s3.4 2.5-.8 5.6m-9.5-7.3l10.5 4.6m-8.8-2.2l7.7 3.4m-5-5.3l5.9 2.6m42.3-1.4s-3.6 2.5.6 5.6m9.6-7.3l-10.5 4.6m8.8-2.2l-7.7 3.4m5-5.3l-5.8 2.6"/>
+  <path stroke="#000" stroke-width=".7" d="M193 353.4l.4.8v.9a2.5 2.5 0 01-1.3 1.7c-.7.4-1.4.5-2.3.4a4 4 0 01-1.2-.4 4.6 4.6 0 01-.9-.7l-.4.4h-.5l.5-3h.5l.2 1.1c0 .3.2.6.4 1a2.3 2.3 0 001.6 1l.8.1a1.3 1.3 0 00.6-.2 1.4 1.4 0 00.4-.4l.2-.7a1.8 1.8 0 00-.1-1 2 2 0 00-.8-.9l-.8-.5-.9-.5a3 3 0 01-1-1.1 2 2 0 01-.1-1.5 2.2 2.2 0 01.3-.9 2.4 2.4 0 01.8-.7c.3-.1.6-.3 1-.3h1a3.1 3.1 0 011 .4l.9.6.3-.4.5.1-.5 3-.5-.2-.1-1a3.8 3.8 0 00-.3-.9 2 2 0 00-.6-.7 2 2 0 00-.9-.4 1.5 1.5 0 00-1 .2c-.4.2-.6.5-.7.8l.1 1 .7.8.8.6a15.3 15.3 0 011.5 1l.5.6m12.8 1.7a3.9 3.9 0 00-.5-.1 1.5 1.5 0 00-.6-.1l-.6.3a6 6 0 00-.6 1l-1.9 3.4a2.6 2.6 0 01-2 1.3 3.5 3.5 0 01-1.2 0 4.4 4.4 0 01-1-.4 4.6 4.6 0 01-1.2-.9c-.3-.3-.5-.7-.6-1a2.4 2.4 0 01-.2-1 2.2 2.2 0 01.3-1l2.5-4.6a1 1 0 00.1-.4v-.4a1.6 1.6 0 00-.4-.3l-.3-.3.2-.3 3.3 1.8-.2.4a3.3 3.3 0 00-.4-.2 2 2 0 00-.4-.1h-.4a1 1 0 00-.2.4l-2.4 4.3-.3.7a2 2 0 000 .8c0 .3 0 .5.2.8.2.3.5.5 1 .8l1 .3a2 2 0 001-.1 2.1 2.1 0 00.7-.4l.5-.6 1.7-3.3.5-1v-.7a1.6 1.6 0 00-.4-.5 3.8 3.8 0 00-.5-.4l.2-.3 3.3 1.8-.2.4m4.6 7.9a2 2 0 01-.1 2 2 2 0 01-.8.8 2.3 2.3 0 01-1 .3 3.1 3.1 0 01-1-.1 4.3 4.3 0 01-1-.5l-3.8-2.1.2-.4a5.4 5.4 0 00.9.3.6.6 0 00.3 0 .8.8 0 00.3-.3l3.2-5.6a1 1 0 00.1-.4.6.6 0 00-.1-.3 1.8 1.8 0 00-.3-.4l-.3-.2.2-.4 3.6 2 .8.6.6.7a1.7 1.7 0 010 1.8 2 2 0 01-1.4 1 2.6 2.6 0 01-.8 0 3.5 3.5 0 01-.8-.2l.6.6.6.8zm-.7-2l.6-.3.4-.6c.3-.4.4-.8.3-1.2-.1-.4-.4-.7-1-1l-.4-.3a20.4 20.4 0 00-.4-.2l-1.8 3 .7.4.9.3h.7zm-.7 3c.3-.5.4-1 .2-1.4-.1-.5-.5-.9-1-1.2l-.7-.4-.3-.2-1.6 2.8a.7.7 0 000 .7c.1.2.3.4.7.6.5.3 1 .4 1.5.2.5-.1.9-.5 1.2-1.1zm20.2 4.6a3.7 3.7 0 00-.5-.1 1.5 1.5 0 00-.6 0c-.2 0-.3.1-.5.4a6.3 6.3 0 00-.5 1l-1.5 3.5a2 2 0 01-.8 1 2.7 2.7 0 01-1.1.6 3.4 3.4 0 01-1.2 0 4.4 4.4 0 01-1-.3c-.6-.2-1-.4-1.3-.7-.4-.3-.6-.6-.8-1a2.4 2.4 0 01-.2-1 2.2 2.2 0 01.1-1l2.1-4.8a1 1 0 000-.4v-.4a1.7 1.7 0 00-.4-.3l-.3-.2.1-.4 3.5 1.5-.2.4a3.7 3.7 0 00-.4-.1 2.5 2.5 0 00-.4 0c-.2-.1-.3 0-.4 0a1 1 0 00-.2.3l-2 4.6-.2.7a2 2 0 000 .8c0 .3.2.6.4.8l1 .7 1.2.2a2 2 0 001.5-.7l.4-.7 1.5-3.3.3-1.1v-.7a1.6 1.6 0 00-.5-.4 4 4 0 00-.5-.4l.2-.4 3.4 1.5-.2.4m9.8 11.5l-3.8-1.1v-.4h1.1a.9.9 0 00.4-.1.8.8 0 00.2-.3l1.8-6.3a1.5 1.5 0 00-.1 0l-5.1 6.5-.3-.2-.7-8.2a432.2 432.2 0 00-1.8 6.2c0 .3 0 .5.2.7a3.5 3.5 0 001 .7l-.1.4-3.6-1 .2-.4h1.1a1 1 0 00.4-.5l.5-1.1 1.2-4.4.1-.7a1 1 0 00-.1-.4 1.3 1.3 0 00-.4-.4 2.2 2.2 0 00-.6-.3l.2-.4 3 .9c.1 2.4.4 4.7.6 7.1l3.7-4.7.3-.6a3 3 0 00.2-.4l2.9.8-.1.4a4.1 4.1 0 00-.5 0 2.6 2.6 0 00-.4 0 .5.5 0 00-.4.1 1 1 0 00-.1.4l-1.8 6.2a.8.8 0 000 .3l.1.4a3.8 3.8 0 00.8.4v.4m9.2-2.8a2 2 0 01.7 1.8 2.1 2.1 0 01-.4 1c-.2.3-.5.6-.8.7a3.2 3.2 0 01-1 .3 4.3 4.3 0 01-1.1 0l-4.3-.5v-.4a4.7 4.7 0 001 0 .6.6 0 00.3-.3.8.8 0 000-.3l.9-6.4v-.4a.6.6 0 00-.3-.3 1.8 1.8 0 00-.4-.2l-.4-.1v-.5l4.2.6c.4 0 .7 0 1 .2l.7.4a1.8 1.8 0 01.6.7 2 2 0 01-.2 1.7 1.9 1.9 0 01-.5.6 3.7 3.7 0 01-1.6.5 4.8 4.8 0 011.6.9zm-1.3-1.6l.4-.5.2-.7c0-.5 0-1-.3-1.2-.2-.4-.7-.5-1.2-.6a29 29 0 00-.5 0l-.6-.1-.4 3.4h1.8a1.4 1.4 0 00.6-.3zm.5 3c0-.5 0-1-.4-1.4-.3-.4-.8-.6-1.5-.7h-.6l-.5-.1-.4 3.1a.7.7 0 00.3.7l.9.3c.6 0 1.1 0 1.5-.4.4-.3.6-.8.7-1.5zm12.2 2.8h-2.5a45 45 0 00-1.4-2.2l-1.4-1.9h-1v2.9l.1.4s.1.2.3.2a7 7 0 00.9.2v.4H251v-.4l.4-.1h.4a.6.6 0 00.3-.3v-7.3s-.1-.2-.3-.2a2.4 2.4 0 00-.4-.1l-.4-.1v-.4h5.2l1 .5a1.8 1.8 0 01.8 1.6c0 .3 0 .6-.2.9a1.9 1.9 0 01-.4.7 3 3 0 01-.7.5 5.6 5.6 0 01-1 .3c.5.6 1 1 1.2 1.5l1 1.4a2.7 2.7 0 001 .9l.5.1h.4v.5zm-3.4-6.7c0-.5-.1-1-.4-1.3-.4-.3-.8-.4-1.4-.4h-1v3.8h.8c.6 0 1-.2 1.4-.5.4-.4.6-1 .6-1.6zm13.8 6l-3.7.3v-.4l.7-.2.4-.3v-.1a.5.5 0 00-.1-.2l-1-1.9-3.1.2-.2.8-.2.6v.8c0 .1 0 .3.4.3l.9.1v.5l-3.4.2v-.4a2.1 2.1 0 00.4-.1 1.4 1.4 0 00.4-.2l.3-.4a2 2 0 00.3-.5l1.2-4 1.2-3.7h.5l3.6 7.4.2.4.4.2.4.1h.4v.5zm-3.9-3.3l-1.6-3.4-1.1 3.6 2.7-.2zm16.8-7h-.5c-.2-.3-.4-.6-.8-.8-.4-.3-.7-.5-1-.4h-.4l-.6.2-1.5.4 1 3.5 1-.3.6-.3.4-.4a1.3 1.3 0 00.1-.5v-.6l.4-.1 1 3.4h-.5a3 3 0 00-.3-.5l-.4-.4a1 1 0 00-.5-.2 2.4 2.4 0 00-.7 0l-1 .4.8 3a.8.8 0 00.2.3l.3.1h.9l.2.4-3.8 1-.1-.4a9.6 9.6 0 00.8-.4.5.5 0 00.2-.3.9.9 0 000-.4 5108 5108 0 01-1.7-6.2 1.2 1.2 0 00-.1-.3l-.4-.2a2.6 2.6 0 00-.5 0 2.5 2.5 0 00-.5 0v-.4l6.8-1.9.6 2.2m10-.8l1 2.5-6.3 3.1a75.8 75.8 0 00-.2-.4 9.6 9.6 0 00.7-.5.5.5 0 00.1-.3.8.8 0 000-.4l-2.8-5.8a1 1 0 00-.3-.3.5.5 0 00-.4-.1 1.7 1.7 0 00-.4 0 2 2 0 00-.4.2l-.2-.4 3.4-1.7.2.4-.4.2-.3.3a.4.4 0 00-.1.4.8.8 0 000 .4l2.7 5.4c0 .2.2.4.3.5 0 .2.2.2.3.3l.5-.1a6 6 0 00.7-.3l.5-.2.4-.3a3 3 0 00.3-.3.6.6 0 00.2-.2 6.7 6.7 0 00.2-2.2l.4-.2m4.7-8.8a4.7 4.7 0 012.9 2.3 5.3 5.3 0 01.7 1.8l-.1 1.8a4.2 4.2 0 01-.7 1.5 4 4 0 01-1.3 1.1 4.2 4.2 0 01-3.4.5 4.3 4.3 0 01-1.5-.8 5.4 5.4 0 01-1.2-1.5 5.3 5.3 0 01-.7-1.8 4.6 4.6 0 010-1.8 4.2 4.2 0 01.8-1.5c.3-.5.7-.8 1.2-1.1a4.3 4.3 0 011.7-.6 4.1 4.1 0 011.6 0zm2.4 6a4.2 4.2 0 00-.2-1.5 7.4 7.4 0 00-.7-1.4 7.7 7.7 0 00-1-1.4 4.2 4.2 0 00-1.1-.8 2.5 2.5 0 00-1.2-.3l-1.2.3-1 1-.2 1.2c0 .5 0 1 .2 1.4a7.6 7.6 0 001.7 2.8l1 .8a2.4 2.4 0 002.5 0 2.5 2.5 0 001-1 2.5 2.5 0 00.2-1.2zm11.3-6.2l-2 1.4-2.5-.9-2.2-.7-.8.5 1.7 2.4.3.2s.2.1.4 0a1.9 1.9 0 00.3-.1l.4-.2.3.3-3.1 2.2-.3-.3.4-.3a1.7 1.7 0 00.2-.3.5.5 0 00.1-.4.8.8 0 00-.1-.4l-3.8-5.2a1.1 1.1 0 00-.3-.3h-.3a3.3 3.3 0 00-.8.3l-.3-.4 3.4-2.4a5 5 0 011-.5 2.9 2.9 0 011-.2 1.9 1.9 0 011.6.8 2.3 2.3 0 01.4.8v.9a2.7 2.7 0 01-.3.8 5.2 5.2 0 01-.5.8l1.7.5 1.8.6a2.7 2.7 0 001.2.1 2.8 2.8 0 00.8-.3l.3.3zm-6.6-3.5a1.8 1.8 0 00-1.1-.7c-.5-.1-1 0-1.4.3l-1 .7 2.3 3.1.7-.5a2 2 0 00.9-1.3c0-.5 0-1-.4-1.6zm14-2.1l.8 2.5-7 2.6a29.4 29.4 0 01-.2-.4 4.2 4.2 0 00.8-.4.6.6 0 00.2-.4.8.8 0 000-.3l-2.3-6a1 1 0 00-.2-.4l-.4-.1h-.4a2.4 2.4 0 00-.5 0 15 15 0 01-.2-.3l6.6-2.5.8 2-.5.2a2.9 2.9 0 00-.9-.8c-.4-.2-.7-.3-1-.2a4.6 4.6 0 00-.4.1l-.6.2-1.3.5 1.2 3.3 1-.3a2 2 0 00.6-.4 1 1 0 00.3-.4 1.6 1.6 0 000-.5 3 3 0 000-.6l.4-.2 1.2 3.3-.4.2a3.4 3.4 0 00-.4-.6c-.1-.2-.2-.3-.4-.3a1 1 0 00-.5-.2c-.2 0-.4 0-.6.2l-1 .3 1 2.5.2.6.3.3h.5l.8-.3.5-.2a3.7 3.7 0 001-.5l.3-.3.2-1 .1-1 .4-.2m7.6-6.2c.5.4.9.8 1.1 1.3.3.6.5 1.2.6 2a5.2 5.2 0 010 1.9 4.4 4.4 0 01-.8 1.6 4.1 4.1 0 01-1.3 1 4.2 4.2 0 01-1.6.6 4.1 4.1 0 01-3.2-.9c-.5-.3-.8-.8-1.1-1.3a5.2 5.2 0 01-.6-1.8 5 5 0 01.8-3.6 4.2 4.2 0 012.9-1.7 4.3 4.3 0 011.7.1 4.2 4.2 0 011.5.8zm-.1 6.4a4.2 4.2 0 00.4-1.4l-.1-1.6a7.5 7.5 0 00-.4-1.6 4 4 0 00-.7-1.3 2.6 2.6 0 00-1-.7c-.4-.1-.8-.2-1.2-.1-.5 0-1 .2-1.3.5-.3.3-.6.6-.7 1a4.4 4.4 0 00-.3 1.4 7.4 7.4 0 000 1.6l.4 1.6a4 4 0 00.7 1.2c.3.3.6.6 1 .7.3.2.8.2 1.3.2a2.5 2.5 0 001.1-.5 2.5 2.5 0 00.8-1z"/>
+  <path fill="none" stroke="#000" d="M305.1 218.8v56.6c0 11.2-1.5 56-49.7 73.4-48.2-17.4-49.8-62.2-49.8-73.4v-56.6h99.5"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ca.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ca.svg
new file mode 100644
index 0000000..6882f6d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ca.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ca" viewBox="0 0 512 512">
+  <path fill="#fff" d="M81.3 3h362.3v512H81.3z" transform="translate(-.2 -3)"/>
+  <path fill="#d52b1e" d="M-99.8 3H81.3v512H-99.8zm543.4 0h181.1v512H443.6zM135.5 250.4l-14 4.8 65.4 57.5c5 14.8-1.7 19.1-6 26.9l71-9-1.8 71.5 14.8-.5-3.3-70.9 71.2 8.4c-4.4-9.3-8.3-14.2-4.3-29l65.4-54.5-11.4-4.1c-9.4-7.3 4-34.8 6-52.2 0 0-38.1 13.1-40.6 6.2L338 187l-34.6 38c-3.8 1-5.4-.6-6.3-3.8l16-79.7-25.4 14.3c-2.1.9-4.2 0-5.6-2.4l-24.5-49-25.2 50.9c-1.9 1.8-3.8 2-5.4.8l-24.2-13.6 14.5 79.2c-1.1 3-3.9 4-7.1 2.3l-33.3-37.8c-4.3 7-7.3 18.4-13 21-5.7 2.3-25-4.9-37.9-7.7 4.4 15.9 18.2 42.3 9.5 51z" transform="translate(-.2 -3)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cc.svg
new file mode 100644
index 0000000..dd6e200
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cc.svg
@@ -0,0 +1,19 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cc" viewBox="0 0 512 512">
+  <defs>
+    <path id="a" d="M0-360l69.4 215.8 212-80.3L156-35.6 351 80.1 125 99.8l31.1 224.6L0 160l-156.2 164.3 31.1-224.5L-351 80l195-115.7-125.5-188.9 212 80.3z"/>
+    <path id="b" d="M0-210L54.9-75.5l144.8 10.6-111 93.8 34.7 141L0 93.3-123.4 170l34.6-141-111-93.8 145-10.6z"/>
+  </defs>
+  <path fill="green" d="M0 0h512v512H0z"/>
+  <circle cx="268.2" cy="250.4" r="61.2" fill="#ffe000"/>
+  <circle cx="287.3" cy="250.4" r="50.4" fill="green"/>
+  <circle cx="75.2" cy="189.2" r="64.2" fill="#ffe000"/>
+  <path fill="#802000" stroke="#7b3100" stroke-width="1.4" d="M70.7 237.6h16s.8-1.5-.1-2.2c-.9-.8-4.3-1-3.4-3.5 2-5.4 2.2-3.7 3.4-16.4 1.2-12.7 1.7-32.6 1.7-32.6H86s.5 6.2-.9 14.3c-1.3 8-1.7 8.7-3.2 15-1.4 6.1-1.7 6.6-3 10.3-1.3 3.6-1.5 3.7-3.5 7l-2.5 4.2c-.6 1-1.3.7-1.7 1.4-.4.8-.5 2.5-.5 2.5z"/>
+  <path fill="green" d="M83 142.5c0 2.5-.2 5.7-1.2 8.4-1 3-2.2 6-2.1 9-1.7.7-3.4-3.5-5-1 1.2 3.3 4 6 5.9 9 .3 1 3 3.5 1.5 4-4-1.3-5-6.4-7.5-9.5a17.5 17.5 0 00-14.2-9c-2.3 0-9.6-.6-7.7 3.2 2.8 2 6.3 3.2 9 5.3 2.1.2 5.8 3.6 5.6 5-3.6-1.5-5.3-3.3-9.2-4.8-5.3-2-12.6-.9-15.5 4.4-.6 1.4-1.4 5.3.3 5.7 2-3.1 5-6.6 9.2-5.7 3.3.3-3.8 6.3-1 5 .8-.3 2.8-1.6 4.1-1.7 1.4-.2 2.2.8 3.2 1 2.1.3 2.7 1.1 2.5 1.6-.2.6-1 .1-3 .8-1 .3-1.6 1.3-2.9 1.7-1.2.4-3.8.4-4.7 0-3.4-1.4-8.9-1.1-10 3 0 2-1.6-.1-2.3.7-.6 2-.8 4-3.8 3.9-1.8 1.9-3.6 3.9-6 5.2 1.4 3.1 6.8-3.1 6.5-.5-2.3 3.2 1.2 3.9 2.8 1.4 2.6-2.8 5.9-6.1 9.8-3.3 1.9 1.7 3-1 4.3-.8.9 2.2 2 0 3-.5 1.5-.2 1 2 3 .6 3.7-2.5 8.3-.4 12-2.8 3.8-1.8.5 1.4-.6 2.7-1.7 3.3-.2 7.7-4 9.7-1.4 4 1.8 9.2-1.5 12.1-.5 1.9 4.3 1.7 5.6 2.4 2.4.1 0-5.3 2.2-6 3.1 1.9 3-3.5 2.4-5.2.3-3.7.5-7.8 2.3-11.3 2-4.1 3.9 1.7 1.6 3.4-1.2 3.8-3 8.7-.2 12.2.9.2 1.5 2.2 2.6 2.8 1 .7 2.5-.1 2.8-2 1.4-5.4.7-11.4 2.7-16.7 1.3-1.7 3.3-.3 4.1 1.2 2.8 3.2 4.7 7.2 8 9.9a14 14 0 017.2 6.7c0 2.4 6.8 2.7 4.8 0-2-2.5-.7-5.2 1.3-6.9 1 .3.7-1.6 0-.9-1.4-.3-1.5-2.8.3-1.6 3.2 1-.2-2.3-1.3-2.4-2.7-1.6-5.7-3.5-7-6.4 3.4 0 7 2 10.5.8 2.9-1.5 5.7.1 6.7 2.6 2.2-.4 1.3-2.5 0-3.3 1.6-.6 2.7-2 .8-3.2-1-1.4 1.4-3.6-1.6-3.5.1-2.3-.8-4.3-3.2-5.1-2.5-2.1-9.7 3-9.5-1.7-.7-2.5 3-.3 4-1.6 1-2.7-5-2.4-3-4.5 1.2-.8 7.4-2 2.6-3a7.6 7.6 0 01-6.4-1c-1.7 3-6.7-1.6-5.8 3.6-.7 2-5 7-6.3 3.1 1-3 6.3-4 4.6-8-.2-2.6-2.3.4-3.3.2-.5-1.6 1.5-3.5 3-3.9 2.7 2.2 2.8-2.7 5.5-2.3 2-.4-.7-1.2-1.2-1.6.5-1.4 3.5-2.2.6-3.4-2.6-2-4.5 2-6.6 2.1-2-2.3 1.8-3.4 2.9-4.6 0-1-2.3-.3-1.6-1 .6-1.2 4.8-1.3 2.8-2.9-2.9-1-6.6-.7-9.4.5-1.8.6-2.3 4.6-3.8 4.4-.8-1.7.2-5.2-2.2-5.8zm13.7 38.9c2.3-.4 0 3.3-1 3.3.1-1.3-3.2-1.2-1.1-2.4a6.7 6.7 0 012.1-1z"/>
+  <g fill="#ffe000" transform="translate(-25.8 103.5) scale(.05833)">
+    <use width="100%" height="100%" x="7560" y="4200" xlink:href="#a"/>
+    <use width="100%" height="100%" x="6300" y="2205" xlink:href="#a"/>
+    <use width="100%" height="100%" x="7560" y="840" xlink:href="#a"/>
+    <use width="100%" height="100%" x="8680" y="1869" xlink:href="#a"/>
+    <use width="100%" height="100%" x="8064" y="2730" xlink:href="#b"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cd.svg
new file mode 100644
index 0000000..5da2a96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cd.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cd" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill="#fff" d="M0-88h600v600H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="matrix(.853 0 0 .853 0 75.1)">
+    <path fill="#007fff" d="M0-88h800v600H0z"/>
+    <path fill="#f7d618" d="M36 32h84l26-84 26 84h84l-68 52 26 84-68-52-68 52 26-84-68-52zM750-88L0 362v150h50L800 62V-88h-50"/>
+    <path fill="#ce1021" d="M800-88L0 392v120L800 32V-88"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cf.svg
new file mode 100644
index 0000000..e924621
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cf.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cf" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#00f" d="M-52-.5h768v127H-52z"/>
+    <path fill="#ff0" d="M-52 383.5h768V512H-52z"/>
+    <path fill="#009a00" d="M-52 255h768v128.5H-52z"/>
+    <path fill="#fff" d="M-52 126.5h768V255H-52z"/>
+    <path fill="red" d="M268 0h128v512H268z"/>
+    <path fill="#ff0" d="M109.5 112.3L75.9 89.1l-33.4 23.4 11.6-39.2-32.5-24.6 40.7-1L75.7 8.8l13.5 38.6 40.8.8L97.6 73"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cg.svg
new file mode 100644
index 0000000..a52ba7e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cg.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cg" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M115.7 0h496.1v496h-496z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-119.5) scale(1.032)">
+    <path fill="#ff0" d="M0 0h744v496H0z"/>
+    <path fill="#00ca00" d="M0 0v496L496 0H0z"/>
+    <path fill="red" d="M248 496h496V0L248 496z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ch.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ch.svg
new file mode 100644
index 0000000..773cdc8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ch.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ch" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#d52b1e" d="M0 0h512v512H0z"/>
+    <g fill="#fff">
+      <path d="M96 208h320v96H96z"/>
+      <path d="M208 96h96v320h-96z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ci.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ci.svg
new file mode 100644
index 0000000..bd1e3f4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ci.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ci" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#00cd00" d="M341.5 0H512v512H341.5z"/>
+    <path fill="#ff9a00" d="M0 0h170.3v512H0z"/>
+    <path fill="#fff" d="M170.3 0h171.2v512H170.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ck.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ck.svg
new file mode 100644
index 0000000..f2df0db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ck.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ck" viewBox="0 0 512 512">
+  <path id="path6059" fill="#006" d="M0 0h512v512H0z"/>
+  <path id="path6069" fill="#fff" fill-rule="evenodd" d="M344.8 250.1l5.7-18.3-15.4-11.7 19.4-.2 6.5-18.1 6.3 18.1 19.4.6-15.6 11.4 5.6 18.4-15.9-11m29.7 14.4l11.4-15.3-10.6-16.3 18.4 6.4 12-14.8V233l18 7.1-18.4 5.5-.9 19.2-11.3-15.8m-108 16.5l-.8-19.2-18.4-5.7 18.2-7v-19.1l12 14.9 18.4-6.2-10.8 16.1 11.4 15.4-18.6-5m-43.6 45l-8-17.4-19.2 2 14-13.5-7.2-17.7 16.7 9 14.6-13-3.7 19.1 16.3 9.7-19 2.8m-19.2 61l-14.6-12.1-16.5 10 7-18.3-14-12.8 18.9.9 7.7-18 4.7 18.8 18.9 1.7-16 10.8m3.5 66.3l-18.2-5.3-11 16-.8-19.7-18-6 17.7-6.9v-19.7l11.7 15.5 18-6.1-10.5 16.3m32.4 55.9l-18.7 2.6-3.8 19.1L244 428l-18.8 1.8 13.5-13.5-7.9-18 16.9 9.3 14-13-3 19.3m49.4 41.7l-16.7 9 3 19.3-14.1-13.6-17 8.3 8-17.4-13.5-14.1 19 2.8 8.7-17 3.7 19m59.1 10l-9 16.8 12.8 14.5-19.1-3.6-9.8 16.4-2.7-19-18.9-4.4 17.4-8.2-1.9-19 13.5 13.9m63-14.4l-.7 19.2 18 7-18.6 5.6-1.3 19.1-11-15.7-18.8 4.9 11.9-15.4-10.3-16.1 18.3 6.2m59.8-223.2l13.1 13.9 17.5-8.1-9 17.4L475 284l-18.7-3-9.8 17-2.5-19.3-18.6-4 17.2-8.7m37.6 23.1l6 18.3 19.1.3-15.5 11.7L495 338l-15.6-11-16 11.1 6-18.5-15.2-11.6 19.3-.5m21.4 36.5l-2.2 19 17.3 8.6-19 4-3 19-9.5-16.7-19.1 3.2 13-14.3-8.8-17 17.7 7.9m3.2 43.7l-8.5 17.1 13.3 14-19.1-2.8-9.3 16.7-3.3-18.9-19-3.7 17-8.8-2.5-19 14 13.5m-10.9 43l-16.1 10 4.1 19-14.8-12.6-16.5 9.4 7-18-14.4-13.2 19.1 1.6 7.7-17.6 4.9 19"/>
+  <g id="g6703" transform="matrix(.5 0 0 .5 0 -.5)">
+    <path id="path6681" fill="#006" d="M0 0h512v512H0z"/>
+    <path id="path6683" fill="#fff" d="M512 0v64L322 256l190 187v69h-67L254 324 68 512H0v-68l186-187L0 74V0h62l192 188L440 0z"/>
+    <path id="path6685" fill="#c8102e" d="M184 324l11 34L42 512H0v-3zm124-12l54 8 150 147v45zM512 0L320 196l-4-44L466 0zM0 1l193 189-59-8L0 49z"/>
+    <path id="path6687" fill="#fff" d="M176 0v512h160V0zM0 176v160h512V176z"/>
+    <path id="path6689" fill="#c8102e" d="M0 208v96h512v-96zM208 0v512h96V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cl.svg
new file mode 100644
index 0000000..b808896
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cl.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cl" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h708.7v708.7H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="scale(.722)">
+    <path fill="#fff" d="M354.3 0H1063v354.3H354.3z"/>
+    <path fill="#0039a6" d="M0 0h354.3v354.3H0z"/>
+    <path fill="#fff" d="M232.3 265.3l-55-41.1-54.5 41.5 20.3-67.5-54.5-41.7 67.4-.6 21-67.3 21.3 67.2h67.5L211.4 198l20.8 67.4z"/>
+    <path fill="#d52b1e" d="M0 354.3h1063v354.4H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cm.svg
new file mode 100644
index 0000000..08b710b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cm.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cm" viewBox="0 0 512 512">
+  <path fill="#007a5e" d="M0 0h170.7v512H0z"/>
+  <path fill="#ce1126" d="M170.7 0h170.6v512H170.7z"/>
+  <path fill="#fcd116" d="M341.3 0H512v512H341.3z"/>
+  <g fill="#fcd116" transform="translate(256 256) scale(5.6889)">
+    <g id="b">
+      <path id="a" d="M0-8L-2.5-.4 1.3.9z"/>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cn.svg
new file mode 100644
index 0000000..7873c1b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cn.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cn" viewBox="0 0 512 512">
+  <defs>
+    <path id="a" fill="#ffde00" d="M1-.3L-.7.8 0-1 .6.8-1-.3z"/>
+  </defs>
+  <path fill="#de2910" d="M0 0h512v512H0z"/>
+  <use width="30" height="20" transform="matrix(76.8 0 0 76.8 128 128)" xlink:href="#a"/>
+  <use width="30" height="20" transform="rotate(-121 142.6 -47) scale(25.5827)" xlink:href="#a"/>
+  <use width="30" height="20" transform="rotate(-98.1 198 -82) scale(25.6)" xlink:href="#a"/>
+  <use width="30" height="20" transform="rotate(-74 272.4 -114) scale(25.6137)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(16 -19.968 19.968 16 256 230.4)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/co.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/co.svg
new file mode 100644
index 0000000..18d1c5f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/co.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-co" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffe800" d="M0 0h512v512H0z"/>
+    <path fill="#00148e" d="M0 256h512v256H0z"/>
+    <path fill="#da0010" d="M0 384h512v128H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cr.svg
new file mode 100644
index 0000000..a60a6dd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cr.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cr" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#0000b4" d="M0 0h512v512H0z"/>
+    <path fill="#fff" d="M0 80.5h512v343.7H0z"/>
+    <path fill="#d90000" d="M0 168.2h512v168.2H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cs.svg
new file mode 100644
index 0000000..9557b6e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cs.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cz" viewBox="0 0 512 512">
+  <path fill="#ffffff" d="M0 0h512v256H0z"/>
+  <path fill="#d7141a" d="M0 256h512v256H0z"/>
+  <path fill="#11457e" d="M300 256 0 56V456z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cu.svg
new file mode 100644
index 0000000..3968176
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cu.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cu" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#0050f0" d="M-32 0h768v512H-32z"/>
+    <path fill="#fff" d="M-32 102.4h768v102.4H-32zm0 204.8h768v102.4H-32z"/>
+    <path fill="#ed0000" d="M-32 0l440.7 255.7L-32 511V0z"/>
+    <path fill="#fff" d="M161.8 325.5L114.3 290l-47.2 35.8 17.6-58.1-47.2-36 58.3-.4 18.1-58 18.5 57.8 58.3.1-46.9 36.3 18 58z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cv.svg
new file mode 100644
index 0000000..a8311b2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cv.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cv" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#fff" d="M-123.4 233H723v206h-846.5z"/>
+    <path fill="#081873" d="M-122.8 0h846v256.6h-846zm.3 385.9h852.1V512h-852.1z"/>
+    <path fill="#de3929" d="M-122.5 302.6h846v39.6h-846z"/>
+    <path fill="#ffce08" d="M131 399.2l6.6 20.4H159l-17.4 12.7 6.6 20.5L131 440l-17.4 12.7 6.7-20.5-17.4-12.7h21.5M317 250.4l6.7 20.5H345l-17.4 12.6 6.6 20.5-17.4-12.7-17.4 12.7 6.6-20.5-17.4-12.6h21.6m-222 64.4l6.6 20.5h21.5L99 368.6l6.7 20.4-17.4-12.6L70.9 389l6.6-20.4-17.4-12.7h21.5M317 329.5l6.7 20.4H345l-17.4 12.7 6.6 20.4-17.4-12.6-17.4 12.7 6.6-20.5-17.4-12.7h21.6m-40.5-161.7l6.7 20.4H298l-17.4 12.7 6.6 20.5-17.4-12.7-17.4 12.7 6.7-20.5-17.5-12.7h21.6m-64.5-45.2l6.7 20.5h21.5l-17.4 12.6 6.6 20.5-17.4-12.6-17.4 12.6 6.7-20.5-17.4-12.6H192m-64.5 2.9l6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H121m-34.8 43.2l6.6 20.5h21.6l-17.5 12.6 6.7 20.5-17.4-12.7-17.4 12.7 6.6-20.5L58 271h21.5m119.2 149.4l6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H192m82.2-41.7l6.6 20.4h21.5L285 432.3l6.7 20.5-17.4-12.7-17.5 12.7 6.7-20.5-17.4-12.7h21.5"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cw.svg
new file mode 100644
index 0000000..d7ba218
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cw.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cw" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h9000v9000H0z"/>
+    </clipPath>
+    <path id="b" d="M0-1l.2.7H1L.3 0l.2.7L0 .4l-.6.4.2-.7-.5-.4h.7z"/>
+  </defs>
+  <g clip-path="url(#a)" transform="scale(.057)">
+    <path fill="#002b7f" d="M0 0h13500v9000H0z"/>
+    <path fill="#f9e814" d="M0 5625h13500v1125H0z"/>
+    <use width="13500" height="9000" x="2" y="2" fill="#fff" transform="scale(750)" xlink:href="#b"/>
+    <use width="13500" height="9000" x="3" y="3" fill="#fff" transform="scale(1000)" xlink:href="#b"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cx.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cx.svg
new file mode 100644
index 0000000..ef82c45
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cx.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cx" viewBox="0 0 512 512">
+  <path fill="#0021ad" d="M0 0h512v512H0z"/>
+  <path fill="#1c8a42" d="M0 0h512v512z"/>
+  <circle cx="256" cy="256" r="61.7" fill="#ffc639"/>
+  <path fill="#1c8a42" d="M218.3 228.3c4.3 5.8 10.6 15.5 15.8 13 4 0 6 .3 6.6 3A39.5 39.5 0 00276 229s.8 0 .5-4.8c0-2.2 3-1.7 3-1 .4 1 .3 1.8.9 1.8 1.2-.4 2.9-3.1 4.3-4.8.3-.8.1-1.6.2-2.6.8-1.8 2.6-1.4 3-.4.3.6.3 1 .7 1.7 1.8 1.2 5.2 0 5.5 0 .3-1.5 1.3-1.3 1.3-1.3 1.2-.3.7-.2 1.6.2-.8 8.2 1.6 8.6 1.4 12.8 0 4.7-1.4 6-1.4 7.8.4 2.2 7.3 2.3 5 4.1-2.2 1.2 0 3.3-3.3 4.1-9.4 4.8-11.2 8.9-11.2 8.9s-2.3 4.4-2.6 4.4c-1.6 3-3.5 1.4-4.7 2.8-.5 1.8-1.1 5.9 0 8 .5 2.8 0 4.4-.8 7.3-.6 6-3 6.9-3.3 9-1 2.2.3 12.8-.8 12.8-7 .1-12.3-1.3-15-1.9 2.6-11.6 1.6-21.8 1.6-22.8-.7-8.3-12.4-6.3-14.2-7.4-1.5-.3-2.4-1.5-3-2-1.6-.2-2.2-.6-3.9-.8-.8.4-.3.9-2.2 1.4-4.6.6-6.7-4-6.7-4 .2-1.6-10.5.3-16.4-1-2.4 1.3-3.4 5.2-5.4 5.7 0 1.2-3.2-1-3.9-2.2 0-3.5 3.1-5 3.1-5 2.5-1.9 4-2.2 5.3-3.4.6-3 .3-5.3 1.6-7.6 1-1.7 2.7-1 3.8-1.7 1.2-.8 1.7-6 .6-7.3l-5-4.5c-1.6-4.5 1.8-7.3 2.7-7z"/>
+  <path fill="#ffc639" d="M452.3 63.7c-2.8-11-27.9-34.8-46.6-50-4.5-3-7.4-1.2-6.9 3.1 2.4 4 4.1 8.2 6.5 12.1.6 2.6 1.9 4.4 2.5 7 0 0 .2 4.5.6 5a25 25 0 016.6 11.8 52.4 52.4 0 0012.3 16.6c6.6 4.2 1.8 17.1 2 24 0 4.3-3.2 3.8-5.9 3.3-21.5-19.8-42.8-19.8-61.6-25.5-7.4-.8-7.5 2.7-5.1 4.6 13.1 14 25.5 23.6 41.7 31.6l8.2 5.1 9.4 7.8c7.2 4.7 7.8 9 7.8 9.4.2 8.8-4.5 15.6-5.8 18.3-2.5 9.3-7.5 11-7.5 11-40.1 27-61.2 34-126.4 25.7-1-.5-7.2.5 0 3.1 16.6 5.5 57.3 14.4 96.7-4.3 9.5-6.6 15.9-4.4 22.7-8.4 11.3-7 27.3-15.6 30.3-16.5 8.7-4.7 33.3-10 39-14.7 6.5-.5 13.2-1.4 13.7-7 2.1-1.3 5.2-.3 7.5-4.9 5.2-.9 4.3-2.7 4.3-2.7-1.3-3.7-6-5.2-9.5-7.8-5.1-1.7-8.6-2.2-12.3-.4l-3.5 1.6s-5.5-.8-5.5-1.2c-12.1-.7-11-41-15.2-57.7z"/>
+  <path fill="#1c8a42" d="M542.5 217.8a3 1.9 16 11-5.8-1.8 3 1.9 16 015.8 1.8z"/>
+  <g fill="#fff" transform="translate(-11.8 182.4) scale(.68267)">
+    <path id="a" d="M188.2 191l-12.8-12-12.9 11.8 1.4-17.4-17.3-2.8 14.5-9.8-8.6-15.2 16.7 5.3 6.5-16.2L182 151l16.7-5-8.8 15 14.4 10-17.3 2.5 1.2 17.4z"/>
+    <path d="M233.4 335.5l-13.8-9.1-13.4 9.6 4.8-15.5-13.6-9.5 16.6-.4 5-15.5 5.6 15.3 16.7-.1L228 320l5.3 15.4z"/>
+    <use width="100%" height="100%" x="2.5" y="269.1" xlink:href="#a"/>
+    <use width="100%" height="100%" x="-112.1" y="123.2" xlink:href="#a"/>
+    <use width="100%" height="100%" x="108.4" y="85" xlink:href="#a"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cy.svg
new file mode 100644
index 0000000..ba2b0f8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cy.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cy" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path id="a" fill="#435125" d="M243 425.2a.9.9 0 01-.3-.2v-.1l-1.4-1.4a75.9 75.9 0 01-4-4.9L232 412l-.7-.9-6.6-2-4.8-2.3 2.5-2.9 9 3.8 6.6 1.4 12.2 9a122.2 122.2 0 00-6.8 6.4 2.2 2.2 0 00-.2.4l.8-.5.8.7-1.7.1zm-45.5-13.7c-5.8 0-11.5-1.6-17-4.8s.8-1.3 2.5-2.6c1.6-1.2 4.6-2.7 9.5-2.7 5.8 0 12.8 2 20.9 5.8-.3.2-6.7 4.3-15.9 4.3zm-25-5.5c-1.1 0-2-.5-2.8-1.2a5.5 5.5 0 01-1.2-2.5 12.5 12.5 0 01-.3-3.5 3.7 3.7 0 011.4-.4c2.2 0 3.9 2 4.6 3.8.4 1 .5 1.9.3 2.6s-1.1 1.1-2 1.1zm44-5.2c-14.8-2-21-7.4-23.7-11.6a13.4 13.4 0 01-2.3-8.5s1-.2 2.3-.2c4 0 14 2 23.7 20.3zm-30.3-2.9c-6.3 0-11.2-1-14.3-3.2a8.8 8.8 0 01-3.2-3.6 5.8 5.8 0 01-.5-1.7 19.4 19.4 0 017.6-1.4c5 0 12.4 1.6 20.2 9.2a92 92 0 01-9.8.7zm-30.6-1.2c-6.7 0-15.9-2-21.6-7.7a66.9 66.9 0 0114.5-1.8c6.3 0 11 1.2 14.2 3.6 1.2.8 1.8 1.6 1.9 2.4.1.6-.2 1.3-.9 1.8-1.4 1-4 1.7-7.6 1.7h-.5zm-21.7-11a2.7 2.7 0 01-2-1 5 5 0 01-1-2.2c-.4-1.6-.3-3.1-.3-3.1a2 2 0 011-.3c1 0 1.8.5 2.3 1a6 6 0 011.4 2.2c.3 1 .4 1.7.2 2.3-.2.5-.8 1-1.6 1zm50-1.2c-1.1 0-2-.4-2.7-1.1a5.5 5.5 0 01-1.2-2.5 12.5 12.5 0 01-.3-3.6 3.7 3.7 0 011.3-.3c2.2 0 4 1.9 4.6 3.7.4 1 .5 2 .3 2.6-.3.7-1.1 1.2-2 1.2zm-24.4-1c-13.4-.5-20.4-4.3-23.8-7.4a15.7 15.7 0 01-3.7-4.7 10 10 0 01-.7-2s1.2-.5 3.3-.5h.3c4.5 0 13.8 1.9 24.6 14.6zm14.6-1.4a32.6 32.6 0 01-20.1-9.9 20.6 20.6 0 01-4.5-7.4s1.4-.3 3.4-.4a16.2 16.2 0 01.9 0c5.4.1 15.3 2.6 20.3 17.7zm-55.4-5.2c-3.6 0-7-.3-10.2-1.2-5.7-1.4-8.1-3.5-9.2-5.1a5.4 5.4 0 01-.8-2.2 3.6 3.6 0 010-.9s3.7-1 8.9-1.1a37.4 37.4 0 017.9.7 23.2 23.2 0 0113.7 8.6s-4.3 1.2-10.3 1.2zm25-9c-1 0-2-.5-2.7-1.2a5.5 5.5 0 01-1.2-2.5 12.3 12.3 0 01-.3-3.5 3.7 3.7 0 011.3-.3h.1c2.2 0 3.9 1.8 4.6 3.7.4 1 .5 1.8.2 2.6-.3.7-1 1.1-2 1.1zm-18.8-2.7c-.1 0-5.1-1.2-10.2-4.4-4.8-3-10.5-8-11.3-16s.5-.2 1.2-.2h.2c1.4 0 4.3.4 7.8 3 4.5 3.4 8.6 9.4 12.3 17.7zm12.3-.4s-3.6-1.4-8-5.2a51.4 51.4 0 01-14.4-19.9s1-.5 2.5-.6a3.7 3.7 0 01.3 0h.4c2 0 5.1.9 8.6 4.7a55 55 0 0110.6 21zm-32-1c-4 0-5.4-2.2-5.9-3.1a6.7 6.7 0 01-.4-3.2 9 9 0 012-.3h.2c3.2 0 5.8 1.7 6.9 3.3.2.3.9 1.5.3 2.3-.4.7-1.4 1-3 1zm-9-11.4c-2.3 0-5.8-.2-9.5-.8-3.7-.7-5.8-3.8-6.9-6.3a20.4 20.4 0 01-1.5-5.3c11.3.3 16.7 3.6 19.2 6.3a10 10 0 012.7 6h-4zm11.8-11.8a45.6 45.6 0 01-2.6-3.6c-1.4-2.1-2.6-4.3-2.6-6a85 85 0 00-.6-7.4l-.7-5c.3.2 7.1 2.7 7.1 9.1 0 6.4-.6 12.8-.6 12.9zm-8.8-.6h-.3c-2-.4-5.5-2-9.4-4.2a40.5 40.5 0 01-10-7.5c-1.8-2.1-3-5.5-3.2-10a37 37 0 010-6 3.5 3.5 0 011.2-.3c1.5 0 3 .7 5.2 2.2a42.4 42.4 0 015.6 4.7 84.5 84.5 0 016.1 6.8 93.9 93.9 0 015.5 12.3v1.5a.8.8 0 01-.4.4 1 1 0 01-.4 0z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 462.7 0)" xlink:href="#a"/>
+  <path fill="#d47600" d="M468.3 81.5l-2 .8-.8.3-2.4-.2-2.3 1.1-4 2.8-.2.1-1.5.4-1.4-.6-.8.4-.3 1.6-.7 1.2-1 .7-3.2.3-2.7 1.4-3.6-1-1.6.7-3.5 3.1-1.8.9h-.6l-2.4-.2-1 .4L429 97l-2.8.2-.9.6-1.4 2.8-1.5 1.6-.8.1-1-.3-.7.1-.3 1.8-.6.8-2 .6-1.4 1.3-1.4.6H412l-1.7 1-3.4.3-1.3 1.3-.4.3-.6.4-1 .6-.3.2-1.3-.3-1.5.6-.6-1-1 .7h-1.4l-1.7-.7-1.3-.6-1 .2-.3 1.6v.2l-1 1.3-1.9 1.1-.2.4-2.1 2.7-4 4.3-3.5 1.7-3.5 1-2.5 2-6.5 3.3-10.2 5.1-2.1.7-3 .4-5.3 2-4.8 1.4-.3.1-.9.3-6.6 2-3.1-.3-1.9.7-4.8-.6-3.3.1-2 .4-4 2-6.7 3.1-2.2 2-3.5 1.9-4 1.2v-1.7l-1.4.4-1 .3-3.3.5h-1.8l-1.1-.3h-.2l-6.7 2.3-7.4.7-3.7 1.2h-2.8l-1.8.4-3.4.5-1.2-.4h-.3l-10 .4-4.6-.5-2.2.5-3.6-1.3-5.4-.6-1.2-.4-2.8-.8-1.3.7-1 .1-2.2-.8h-.9l-1.8.7-1.1-.3-1-.8-2.4-.3-1.4-1.3-8 1.1-2.2-.6-7.3-2.2-1.2.1-1.4 1-2.2.9-1.9.5h-2.6l-3-.7-3-1.5-1.2-.3-2.5.3h-.8l-4.6-2.5-6-3.7-4.1-2-1.6-.2-.2.7.8 2.4.3 2.4-.1 2.1v1.4l.3 1.2 1.5 1.6.6 1.7.5 4.5v4.6l-.8 7.3-.2 1-.9 3.9-.7 3.4-3 9.3-.9 1.1-2 1.4-4.7 3.2-3.4 2-1 .4-2.8.2-1.7-.1-2.2-1.2-2-.5-2.8-2-3.1-.6-3.4-2-.8-1-1.9-.2-2.5-.8-1-.2-.6-.2-3.2-.1-3-1.4-1.6-.4-2.2-.1-2.3 1-1.1.6-1.5-.6h-1l-1.3 1.9-.1.3-.8.4H108l-.8.3-1.2.5-1 .5-.5.2h-.4l-.5.2h-.7l-1.2-.6-.6-.4-1.1-.2-.6.4v2l-.6 1.1L97 196l-1.7 1.5-1.2 1.8-3.1 7.1-2 3-.6.6-2 2.3-1.9 1.4-4.2 3.2-4 1.5-3.4.7h-1.6l-3.2-.4-2.8-.9-3.1-2-3.5-2.7-4.9-4.9-.7-.4H53l-1.5-1h-1.2l-.4.7-.3 1-.2 1-.5 5.5v.3l.3 2.2 3.8 5.3 1.1 2.8.2.3.8 1.3.6 1L57 232l-.9 2.2.5 1.4-1.2.9-.2 1.2 3.4 4.3.7 1.8-.8 2.6-1.3 1.4-.4.4.2 1.1 1.6 1.4 2.6 2.4 1.4 3.5 1 .9 1.3-.3.7.6h1l1 1 .7.3 1.1.5.8 1.1.2 3.3 1.6 4.2v2.6l1 1.6.3 1.3-.5 3.5 1.2 1.1 1.3-.3.9.2 1.4 1.1 1.7 2.6 1.6-.2 1 .5 5 4.5 1.2.6 1 .4 1 1 1.5-1h.2l1.7-.2.8.5 1.4 1h2l4 1.3 1.9.4 3.6 2.3 1.6 1 .9.7 1.2 1 2.4 1 2 .5 1.2.3.9.3 4.5 1.8 2.4.5 2.3.9 1.6.6h1.2l1.7-1.5h1.7l1.4.3 1.3-.2 2.1-1.3.5-.7 1.5-.7 5-.6 1.5.5 3.8-1.7 2.6.7 2.2-.8 5 1.1 1.3 1 1.4 1.6h1.8l-.6 1.2 2.1 2.3 2 3v.3l1.5 4.1 1 1.5.8 2v1.4l-1.1.9-.2.5v.2l.2.5.4-.2.8-.5 1-.1 1.8.2h1.1l1.9-.8 1.2-.6 2 .8h2.1l.9.4 2.6 1.1 1.3.2.5-.4.3-.7-.2-.8-1-1.2-2.1-2.5-1-1.3-.6-1.8-.2-2.4-.2-1.6.3-2.1.6-.8.4-1.7.1-.4 1.2-1.6 3.2-2 3.4-3 2.7-1.9 2.8-1.2v-.3l.4.1 7-2.4h.2l3.1-.6 21.3 1.5.8-.2.7-2 .4-.4.2-.2 2.4-1 1-.2 3 .8 1.3.3 2-1.1h1.4l3-1.6h1.8l.6-.2 3.5-2.6 3.4-1 1-.4.2-.2 3.5-1.8 2.2-1.7 1.9-1 2-.5 5.5-.4 1.1-1.8 2.3-.4 1.5-1.6 1.6-.6 1.1-1.7 1-1.4 1.4-.8 4.3-.2 5.2.6.7-.4 1.1-4.2 1.2-.8 3.3-4.7V252l.6-2.1-.4-3.8.5-3.8 2-4.8 1.8-2 2.9-1.9 1.5-.6 2-.4h.4l.5-.1 7.2-.1h2.6l2.4-.1 6 1 .5.2 2 .6 2.4 1.9 2.5 2.4.5.5 1.6.6.5.3 1.4-.3 1.9-1 1.4-1.2 2-1v-.1l1.1-1.7.5-.7 3.8-1.5 4.5-.2.5-.3.3-.1 1.1-1.4h1.1l2.7 1 1.9-.4 1.5.6 1.1-.2 2.2-.2 2.4 1.6 1.4.2 4.8 2.8h.4l.2.1.6-.1.9-.3.2.1.5.8.8.1.9-1.2-.4-.5-.1-.2-1.7-.4-1.6-2.6 1.5-1.6-2.3-2.8-.4-.5-.1-.2-.8-1.2-4-6.2-5.4-4.2-1.8-1.5-.7-.5-2.8-2.9-2-2.6-.3-.6-.4-1-1.2-2.5-2-1.7-1.8-1.8v-.1l-3.6-4.8-.6-.8-.8-.5h-1.8l-.2-.2v-.1l.8-1 1-.2.4-.9-1.8-5.2v-.2l-.2-1.6 1.5-7.6.2-1 2.5-5 1.6-1.3 1.6-3.3 1.5-2.1 1.4-1.4.2-.1 2.5-1.5 2.1-.3 2-.3 3.5 1h4l1.5-.2 2.5-.8 1.2-.7.6-1 1.2-4.2.5-1.4.7-1.4 4.6-5.3 3.4-3.1 7.7-5.7 3.8-2.2 1.9-1.2 17.2-7.6 4.4-4.5 2.3-2.4 4.2-2.7 4.8-2 4.1-3.3.9-1.1 1.2-3.7.9-.2.9-1.9.2-.5 3.4-2.4.4-.2L456 95l2 .2 1-1.5 3.8-.6.6-.2 1-.4.8-1.4v-.3l.1-3.6.8-1 .5-2.4.4-.6.4-.5 1.1-.8-.2-.5z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cz.svg
new file mode 100644
index 0000000..9557b6e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/cz.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cz" viewBox="0 0 512 512">
+  <path fill="#ffffff" d="M0 0h512v256H0z"/>
+  <path fill="#d7141a" d="M0 256h512v256H0z"/>
+  <path fill="#11457e" d="M300 256 0 56V456z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/da.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/da.svg
new file mode 100644
index 0000000..51ff69f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/da.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dk" viewBox="0 0 512 512">
+  <path fill="#c8102e" d="M0 0h512.1v512H0z"/>
+  <path fill="#fff" d="M144 0h73.1v512H144z"/>
+  <path fill="#fff" d="M0 219.4h512.1v73.2H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/de.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/de.svg
new file mode 100644
index 0000000..b9ea8a6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/de.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-de" viewBox="0 0 512 512">
+  <path fill="#ffce00" d="M0 341.3h512V512H0z"/>
+  <path d="M0 0h512v170.7H0z"/>
+  <path fill="#d00" d="M0 170.7h512v170.6H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dj.svg
new file mode 100644
index 0000000..3f6b2e4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dj.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dj" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M55.4 0H764v708.7H55.4z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-40) scale(.722)">
+    <path fill="#0c0" d="M0 0h1063v708.7H0z"/>
+    <path fill="#69f" d="M0 0h1063v354.3H0z"/>
+    <path fill="#fffefe" d="M0 0l529.7 353.9L0 707.3V0z"/>
+    <path fill="red" d="M221.2 404.3l-42.7-30.8-42.4 31 15.8-50.3-42.4-31.2 52.4-.4 16.3-50.2 16.6 50 52.4.2-42.1 31.4 16 50.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dk.svg
new file mode 100644
index 0000000..51ff69f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dk.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dk" viewBox="0 0 512 512">
+  <path fill="#c8102e" d="M0 0h512.1v512H0z"/>
+  <path fill="#fff" d="M144 0h73.1v512H144z"/>
+  <path fill="#fff" d="M0 219.4h512.1v73.2H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dm.svg
new file mode 100644
index 0000000..405a4b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dm.svg
@@ -0,0 +1,152 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dm" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#108c00" d="M-258.3 0H769.2v512H-258.3z"/>
+    <path fill="#ffd600" d="M-260 178.2H772.6v50.1H-260z"/>
+    <path fill="#ffd600" d="M181 0h48.5v512h-48.4z"/>
+    <path d="M227.8 0h48.4v512h-48.4z"/>
+    <path d="M-260 226.6H772.6v50.2H-260z"/>
+    <path fill="#fff" d="M-260 276.8H772.6v50.1H-260z"/>
+    <path fill="#fff" d="M276.2 0h48.5v512h-48.5z"/>
+    <rect width="273.8" height="275" x="-394.6" y="-393.9" fill="#e72910" ry="137.5" transform="scale(-1)"/>
+    <g stroke-width="1pt">
+      <path d="M250.5 137l5.6-16 5.1 15.7s17.1.5 17.1.2-13.5 10.3-13.5 10.3l6.1 17.6c-.2-.5-14.8-10.9-14.8-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17l-13.3-10.1 16.6-.3z"/>
+      <path fill="#ffe700" d="M251.3 137.7L256 124l4.4 13.6s14.9.4 14.9.2-11.7 9-11.7 9l5.2 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 5-14.8 5-14.8l-11.6-8.8 14.4-.2z"/>
+      <path fill="#108c00" d="M253.3 140l2.8-8 2.6 7.9s8.5.2 8.5 0-6.7 5.2-6.7 5.2l3 8.8c-.1-.3-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5 8.2-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M356.9 211.8l5.6-16 5 15.7s17.2.6 17.2.3-13.5 10.3-13.5 10.3l6 17.6c-.2-.5-14.7-10.9-14.7-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17L340.3 212l16.6-.3z"/>
+      <path fill="#ffe700" d="M357.6 212.6l4.9-13.9 4.4 13.7s14.8.4 14.8.2-11.7 9-11.7 9l5.3 15.1c-.2-.4-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7 14.3-.2z"/>
+      <path fill="#108c00" d="M359.7 214.9l2.8-8 2.5 7.8 8.6.2-6.8 5.1s3.2 9 3 8.8c0-.3-7.3-5.4-7.3-5.4l-7.3 5.1 2.8-8.5-6.6-5 8.3-.1z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M325.9 330.6l5.6-16 5 15.8s17.2.5 17.2.3-13.5 10.3-13.5 10.3l6 17.5c-.2-.5-14.7-10.8-14.7-10.8S316.7 358 316.9 358s5.7-17 5.7-17l-13.3-10 16.6-.3z"/>
+      <path fill="#ffe700" d="M326.6 331.4l4.9-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7 14.3-.3z"/>
+      <path fill="#108c00" d="M328.7 333.7l2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5 8.3-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M177.2 330.6l5.6-16 5 15.8s17.1.5 17.1.3-13.5 10.3-13.5 10.3l6.2 17.5c-.3-.5-14.8-10.8-14.8-10.8S168 358 168.2 358s5.7-17 5.7-17l-13.3-10 16.6-.3z"/>
+      <path fill="#ffe700" d="M178 331.4l4.8-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7 14.3-.3z"/>
+      <path fill="#108c00" d="M180 333.7l2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5 8.3-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M150 208.7l5.6-16 5.1 15.8s17.1.5 17.1.2-13.5 10.4-13.5 10.4l6.1 17.5c-.3-.5-14.8-10.8-14.8-10.8S140.8 236 141.1 236s5.6-17 5.6-17l-13.3-10 16.6-.3z"/>
+      <path fill="#ffe700" d="M150.8 209.5l4.8-13.8 4.5 13.6s14.7.5 14.7.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.5 9 4.8-14.8 4.8-14.8l-11.5-8.7 14.4-.3z"/>
+      <path fill="#108c00" d="M152.8 211.8l2.8-8 2.6 7.9 8.5.1-6.7 5.2 3 8.7c-.1-.2-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5 8.2-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M324.6 174.1l-5.6 16-5-15.7s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17l13.3 10-16.6.3z"/>
+      <path fill="#ffe700" d="M323.9 173.3c0 .3-5 13.9-5 13.9l-4.3-13.6s-14.8-.5-14.8-.3 11.7-8.9 11.7-8.9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7-14.4.2z"/>
+      <path fill="#108c00" d="M321.8 171l-2.8 8-2.5-7.8s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.5-2.9 8.5l6.7 5-8.3.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M367.3 290.3l-5.6 16-5-15.8s-17.2-.5-17.2-.2S353 280 353 280l-6-17.6c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L384 290l-16.6.3z"/>
+      <path fill="#ffe700" d="M366.6 289.5l-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8-14.4.2z"/>
+      <path fill="#108c00" d="M364.5 287.2l-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.6-2.9 8.6l6.7 5-8.3.1z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M261.4 375.3l-5.6 16-5-15.8s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L278 375l-16.6.3z"/>
+      <path fill="#ffe700" d="M260.7 374.4l-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7-14.3.3z"/>
+      <path fill="#108c00" d="M258.6 372.2l-2.8 8-2.5-7.9s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5-8.3.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M162 290.3l-5.7 16-5-15.8s-17.2-.5-17.2-.2 13.5-10.3 13.5-10.3l-6-17.6c.2.5 14.7 10.8 14.7 10.8L171 263l-5.7 17 13.3 10.1-16.6.3z"/>
+      <path fill="#ffe700" d="M161.2 289.5l-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8-14.3.2z"/>
+      <path fill="#108c00" d="M159.1 287.2l-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.6 6.6 5-8.3.1z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M198.7 175.8l-5.6 16-5.2-15.7s-17-.5-17-.3 13.5-10.3 13.5-10.3l-6.1-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.6-10.3-5.6 17-5.6 17l13.2 10-16.5.4z"/>
+      <path fill="#ffe700" d="M197.9 175l-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.8 14.8-4.8 14.8l11.4 8.7-14.3.3z"/>
+      <path fill="#108c00" d="M195.8 172.8l-2.8 8-2.5-7.9s-8.5-.3-8.5-.1 6.7-5.2 6.7-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5-8.3.2z"/>
+    </g>
+    <g transform="translate(-250.6 359.4) scale(1.036)">
+      <g fill="#009200" stroke="#000" stroke-width="2.5" transform="matrix(.164 -.016 .012 .184 429.8 -215.6)">
+        <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.405 -.006 .008 1 -534.3 263.7)"/>
+        <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.486 -.006 .01 1 -547.2 267)"/>
+        <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.19 -.006 .007 1.105 -365 214.1)"/>
+      </g>
+      <g stroke="#000" transform="translate(72.9 -9.8)">
+        <path fill="#a95600" stroke-width="2.5" d="M238.3 971.8c30-1.7 16.7-16.7 31.7-25s36.6-3.3 43.3 6.7c6.6 10 1.6 20 10 20 8.3 0 234.5-12.7 242.8-4.4 8.4 8.3 10 25 1.7 31.6s-294.5 14.4-304.5 7.7c-10-6.6-25-35-25-36.6z" transform="matrix(.202 .003 -.004 .214 340.9 -247.3)"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.148 .002 -.003 .115 340.4 -81.7)"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.148 .002 -.003 .115 344.4 -81.6)"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.148 .002 -.003 .115 348.7 -81.8)"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.148 .002 -.003 .115 352.7 -81.8)"/>
+        <ellipse cx="478.4" cy="-41.1" fill="#a95600" stroke-width=".4" rx="3.5" ry="3.4" transform="matrix(1.095 .016 -.024 1.154 -75.6 4.7)"/>
+      </g>
+      <g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(-5.8 688.4 -625.2)">
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.166 -.008 .002 .315 369.8 -361.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.166 -.008 .002 .315 364 -362.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.166 -.008 .002 .315 360.6 -370.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.01 .002 .348 369.3 -399.4)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 377.4 -379)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 373.2 -382.2)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 368 -386.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 363 -389.5)"/>
+      </g>
+      <path fill="#804bff" stroke="#000" stroke-width="2.5" d="M173.2 346.4s-54.2 64.9-21.3 208.8C186 699.8 331 745 331 745s26.5-47.5 1.7-164c-40-170-116.1-234.6-116.1-234.6h-43.3z" transform="matrix(.177 .032 -.03 .182 461.8 -208.6)"/>
+      <g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(4.5 181 769.9)">
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.166 -.008 .002 .315 369.8 -361.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.166 -.008 .002 .315 364 -362.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.166 -.008 .002 .315 360.6 -370.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.01 .002 .348 369.3 -399.4)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 377.4 -379)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 373.2 -382.2)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 368 -386.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 -.008 .002 .326 363 -389.5)"/>
+      </g>
+      <ellipse cx="624.4" cy="606.1" fill="#c90000" stroke="#000" stroke-width="1pt" rx="58.3" ry="186.5" transform="matrix(.157 -.06 .064 .148 369.6 -145)"/>
+      <g fill="#009200" stroke="#000" transform="rotate(1 242.4 -1957.8)">
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.395 0 0 .293 445 -230.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .293 457.2 -236)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .293 452 -236)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .275 449.5 -233.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .275 449 -238)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .293 447 -238.8)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .287 448 -241.6)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.395 0 0 .293 432.8 -243.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .275 446 -243.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .287 444.2 -247)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .293 436.1 -243.2)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .287 437.4 -243.9)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.354 0 0 .287 439 -247)"/>
+      </g>
+      <g fill="#009200" stroke="#000" transform="matrix(.18 -.005 .004 .185 421 -216.8)">
+        <ellipse cx="528.7" cy="564.5" stroke-width="2.5" rx="67.4" ry="205.6" transform="matrix(.976 -.308 .363 .874 -245.8 324.4)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.5" rx="13.3" ry="40.8" transform="rotate(-23.4 630.5 660.9)"/>
+        <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3 0-57.7 29.5-85.3 40.3-102-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.883 -.456 .953 1.182 -352.3 -10)"/>
+        <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3 0-57.7 29.5-85.3 40.3-102-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.883 -.456 .953 1.182 -348.4 44)"/>
+        <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3 0-57.7 29.5-85.3 40.3-102-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.873 -.495 .978 1.162 -362 105.8)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="1.4" rx="13.3" ry="40.8" transform="matrix(1.81 -.4 .7 1.635 -915.6 -221)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.626 -.23 .542 1.353 -739.5 -91.8)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.63 -.197 .513 1.363 -750.6 -91.8)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.314 -.2 .47 1.01 -531 47.6)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.326 -.13 .403 1.033 -517.9 12.2)"/>
+        <path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(1.025 -.493 .464 1.177 12.8 -14.5)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.326 -.13 .403 1.033 -519.5 -34.4)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.105 .38 1.04 -534 -40.1)"/>
+        <path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.672 -.472 .46 .8 39.5 143.3)"/>
+        <path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.672 -.472 .46 .8 51.1 125.8)"/>
+        <path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.937 -.645 .64 1.092 -40.2 -10.7)"/>
+        <path stroke-width="2.7" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.672 -.52 .46 .88 68.6 71.2)"/>
+      </g>
+      <g fill="#804bff" stroke="#000" stroke-width="2.5">
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.156 .007 -.004 .225 458 -214.3)"/>
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.156 .007 -.004 .225 456.6 -220.2)"/>
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.156 .007 -.004 .225 454.8 -225.8)"/>
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.156 .007 -.004 .225 450.9 -232.2)"/>
+      </g>
+      <g transform="rotate(1 -589.6 681.6)">
+        <path fill="#804bff" stroke="#000" stroke-width="2.5" d="M211.2 247.3c21.7-12 56.6-9.8 79.7 11.2 19.4 17 45.3 75.2 70.3 92.8a57.7 57.7 0 01-42.2-15.2c-28.8 15.5-38.1 16.7-64 15.7-35.8-1.4-62.4-17.7-68-40.6-6.3-21.8 4.8-52.5 24.2-63.9z" transform="matrix(.21 -.04 .047 .18 407.8 -213.6)"/>
+        <ellipse cx="287.2" cy="323" fill="red" stroke="#000" stroke-width="2.5" rx="14.2" ry="15" transform="matrix(.245 0 0 .134 401.8 -215.2)"/>
+        <ellipse cx="204.6" cy="348.3" fill="#ff0" stroke="#000" stroke-width="2.5" rx="23.3" ry="15.9" transform="matrix(.194 -.076 .068 .173 398.7 -208)"/>
+        <circle cx="283.9" cy="333.9" r="5.8" transform="matrix(.214 0 0 .185 411.3 -233.7)"/>
+        <path fill="#ff0" stroke="#000" stroke-width="6.6" d="M516.8 260.3c4.4 18-6.7 43-33.1 52.6-26.8 13.2-46.1 41.8-55.7 88-47.2-103.2-23-148.3 20.6-160.3 37.4-14.4 60.4-13.4 68.2 19.7z" transform="matrix(.092 0 -.003 .085 417.9 -191.5)"/>
+        <circle cx="199" cy="362.4" r="4.7" transform="matrix(.187 -.013 .014 .19 418.7 -235)"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/do.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/do.svg
new file mode 100644
index 0000000..03d3f35
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/do.svg
@@ -0,0 +1,6745 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-do" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M83.7 80.3h364.9v364.9h-365z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-117.4 -112.7) scale(1.403)">
+    <path fill="#00319c" fill-rule="evenodd" d="M313.2 314.8h318.1V510H313.2z"/>
+    <path fill="#d62918" fill-rule="evenodd" d="M-99.2 315.4H218V510H-99.2z"/>
+    <path fill="#00319c" fill-rule="evenodd" d="M-98.6-1.8h317.2V216H-98.6z"/>
+    <path fill="#d62918" fill-rule="evenodd" d="M315 0h315.7v218H315z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M-99 215.8h731v101H-99z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M217.3-.7h98.5v511h-98.5z"/>
+    <path fill="#cecece" d="M259.3 218.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M259.8 218.8l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M260.3 218.8l.5.5-.5-.5z"/>
+    <path fill="#848c9c" d="M263.8 218.8l.5.5-.5-.5z"/>
+    <path fill="#848ca5" d="M264.7 219l.3.1-.3-.2z"/>
+    <path fill="#848c9c" d="M265.3 218.8l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M268.9 218.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M269.4 218.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M269.9 218.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M255.8 219.3l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M256.3 219.3l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M256.8 219.3l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M257.3 219.3l.5.4-.5-.4z"/>
+    <path fill="#425a84" d="M257.8 219.3l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M258.7 219.4l.3.2-.3-.2z"/>
+    <path fill="#002984" d="M259.7 219.4l.3.2-.3-.2z"/>
+    <path fill="#003994" d="M251.7 224c-6 0-13.9.4-19 3.4-3.5 2-3.1 7.6 1.4 7.5v.5h-1v.4l7.6-1.9v-.4h-3v-.5h3.5l-1-2 18-1.8-1-3.4c6.7-.8 12-.2 18.6 1.5v.4l-4-1c.4 2.2 2.7 1.6 4.4 1l-5 1v.5l11.6 1 12 2.8v.5l-6.5-1v.5l8 2.4-1.5-1.5v-.4l2 2.3c3.2.2 5.6.9 7.5 3.4l-7-2.9 4 9h.5V244h.5v1.4l4.5-1c-1.1-4.8-3.2-10.5-8-12.9.4-1.8 0-2.6-1.5-3.8 1.9 3.7-1.2 5.2-4 2.4l-1 1 1-3.4-3 2.9.5-3.3h-.5l-.5 2.8-1.5-1.4-.5 1.4-8-1V225l1 1.4h.5V225l2.5 1.4h.5l10 .5.5 3.8h.5l1.5-3.3a53.3 53.3 0 00-19-3.4c.3-3.2-3.3-3.8-6-4.2-4.9-.7-19.6-2.4-20.1 4.2z"/>
+    <path fill="#002984" d="M269.7 219.4l.3.2-.3-.2z"/>
+    <path fill="#00184a" d="M270.7 219.4l.3.2-.3-.2z"/>
+    <path fill="#314a7b" d="M271.4 219.3l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M271.9 219.3l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M272.4 219.3l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M272.9 219.3l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M273.4 219.3l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M254.3 219.7l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M254.8 219.7l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M255.3 219.7l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M255.8 219.7l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M256.3 219.7l.5.5-.5-.5m16.6 0l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M273.4 219.7l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M273.9 219.7l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M274.4 219.7l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M274.9 219.7l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M252.8 220.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M253.3 220.2l.5.5-.5-.5z"/>
+    <path fill="#10214a" d="M253.8 220.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M254.3 220.2l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M259.3 220.2l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M259.8 220.2l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M260.3 220.2l.5.5-.5-.5m1 0l.5.5-.5-.5zm3 0l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M267.4 220.2l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M268.9 220.2l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M269.4 220.2l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M274.9 220.2l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M275.4 220.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M275.9 220.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M276.4 220.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M251.8 220.7l-.5 1 .5-1z"/>
+    <path fill="#8c8c8c" d="M252.3 220.7l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M252.8 220.7l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M255.8 220.7l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M256.3 220.7l.5.5-.5-.5z"/>
+    <path fill="#ad9431" d="M256.8 220.7l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M257.3 220.7l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M257.8 220.7l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M259.3 220.7l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M260.3 220.7l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M261.3 220.7l.5.5-.5-.5zm3 0l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M269.4 220.7l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M271.7 220.8l.3.2-.3-.2z"/>
+    <path fill="#295284" d="M272.4 220.7l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M276.4 220.7l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M276.9 220.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M277.4 220.7l.5.5-.5-.5z"/>
+    <path fill="#31394a" d="M251.8 221.2l.5.4-.5-.4z"/>
+    <path fill="#deb518" d="M255.8 221.2l.5.4-.5-.4z"/>
+    <path fill="#efbd08" d="M257.8 221.2l.5.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M259.3 221.2l.5.4-.5-.4z"/>
+    <path fill="#efbd08" d="M260.3 221.2l.5.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M265.8 221.2l.5.4-.5-.4z"/>
+    <path fill="#003994" d="M266.3 221.2l.5.4-.5-.4z"/>
+    <path fill="#4a636b" d="M266.9 221.2l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M267.9 221.2l.5.4-.5-.4z"/>
+    <path fill="#184a8c" d="M270.9 221.2l.5.4-.5-.4z"/>
+    <path fill="#4a636b" d="M272.4 221.2l.5.4-.5-.4z"/>
+    <path fill="#10214a" d="M277.4 221.2l1 1-1-1z"/>
+    <path fill="#cecece" d="M277.9 221.2l.5.4-.5-.4z"/>
+    <path fill="#212139" d="M251.3 221.7l.5.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M255.8 221.7l.5.4-.5-.4z"/>
+    <path fill="#cead21" d="M256.3 221.7l.5.4-.5-.4z"/>
+    <path fill="#003994" d="M257 222l.2.3-.2-.3z"/>
+    <path fill="#395273" d="M257.5 222l.2.3-.2-.3z"/>
+    <path fill="#6b735a" d="M258.3 221.7l.5.4-.5-.4z"/>
+    <path fill="#cead21" d="M259.8 221.7l.5.4-.5-.4z"/>
+    <path fill="#5a6b63" d="M260.8 221.7l.5.4-.5-.4z"/>
+    <path fill="#9c8c42" d="M265.8 221.7l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M266.3 221.7l.5.4-.5-.4z"/>
+    <path fill="#9c8c42" d="M266.9 221.7l.5.4-.5-.4z"/>
+    <path fill="#184a8c" d="M267.9 221.7l.5.4-.5-.4z"/>
+    <path fill="#295284" d="M268.4 221.7l.5.4-.5-.4z"/>
+    <path fill="#8c8442" d="M270.9 221.7l.5.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M272.4 221.7l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M278.4 221.7l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M250.8 222.1l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M251.3 222.1l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M255.8 222.1l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M258.3 222.1l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M258.8 222.1l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M259.8 222.1l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M260.3 222.1l.5.5-.5-.5z"/>
+    <path fill="#ad9431" d="M260.8 222.1l.5.5-.5-.5m6.5 0l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M268.5 222.4l.2.4-.2-.4z"/>
+    <path fill="#efbd08" d="M270.9 222.1l.5.5-.5-.5z"/>
+    <path fill="#ad9431" d="M271.4 222.1l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M271.9 222.1l.5.5-.5-.5z"/>
+    <path fill="#ad9431" d="M272.4 222.1l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M277.9 222.1l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M278.4 222.1l.5.5-.5-.5m-27.6.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M251.5 223l.1.2-.1-.3z"/>
+    <path fill="#6b735a" d="M255.8 222.6l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M256.8 222.6l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M258.3 222.6l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M258.8 222.6l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M259.8 222.6l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M260.3 222.6l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M265.8 222.6l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M266.3 222.6l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M266.9 222.6l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M270.4 222.6l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M271.4 222.6l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M272.2 222.8l.3.1-.3-.1z"/>
+    <path fill="#bdbdbd" d="M250.8 223l.5.6-.5-.5z"/>
+    <path fill="#395273" d="M255.8 223l.5.6-.5-.5z"/>
+    <path fill="#cead21" d="M256.8 223l.5.6-.5-.5z"/>
+    <path fill="#8c8442" d="M257.3 223l.5.6-.5-.5z"/>
+    <path fill="#395273" d="M257.8 223l.5.6-.5-.5z"/>
+    <path fill="#8c8442" d="M258.8 223l.5.6-.5-.5z"/>
+    <path fill="#5a6b63" d="M261.3 223l.5.6-.5-.5z"/>
+    <path fill="#7b7b52" d="M266 223.4l.2.3-.2-.3m.8-.3l1 1.4-1-1.4z"/>
+    <path fill="#4a636b" d="M268.4 223l.5.6-.5-.5z"/>
+    <path fill="#bd9c29" d="M270.4 223l.5.6-.5-.5z"/>
+    <path fill="#deb518" d="M271.9 223l.5.6-.5-.5z"/>
+    <path fill="#ada5a5" d="M248.8 223.6l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M250.8 223.6l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M251.3 223.6l.5.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M256.8 223.6l.5.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M258.8 223.6l.5.4-.5-.4z"/>
+    <path fill="#cead21" d="M259.3 223.6l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M259.8 223.6l.5.4-.5-.4z"/>
+    <path fill="#295284" d="M260.3 223.6l.5.4-.5-.4z"/>
+    <path fill="#deb518" d="M260.8 223.6l.5.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M261.3 223.6l.5.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M268.4 223.6l.5.4-.5-.4z"/>
+    <path fill="#ad9431" d="M270.9 223.6l.5.4-.5-.4z"/>
+    <path fill="#cead21" d="M271.9 223.6l.5.4-.5-.4z"/>
+    <path fill="#184a8c" d="M272.9 223.6l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M277.9 223.6l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M278.4 223.6l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M280.4 223.6l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M282.4 223.6l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M242.8 224l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M243.3 224l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M244.1 224.2l.4.2-.4-.2z"/>
+    <path fill="#42425a" d="M244.8 224l.5.5-.5-.5z"/>
+    <path fill="#314a7b" d="M245.3 224l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M246.1 224.2l.4.2-.4-.2z"/>
+    <path fill="#00216b" d="M246.8 224l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M256.8 224l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M258.8 224l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M259.3 224l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M260.8 224l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M261.3 224l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M262.3 224l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M262.8 224l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M263.3 224l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M265.3 224l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M268.4 224l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M268.9 224l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M269.9 224l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M270.9 224l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M271.9 224l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M282.4 224l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M283.2 224.2l.4.2-.4-.2z"/>
+    <path fill="#314a7b" d="M283.9 224l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M284.4 224l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M284.9 224l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M285.4 224l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M285.9 224l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M286.4 224l.5.5-.5-.5m-46.6.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M240.3 224.5l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M240.8 224.5l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M241.3 224.5l.5.5-.5-.5z"/>
+    <path fill="#29396b" d="M241.8 224.5l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M242.3 224.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M242.8 224.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M243.3 224.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M250.8 224.5l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M256.3 224.5l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M256.8 224.5l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M271.9 224.5l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M272.4 224.5l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M272.9 224.5l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M277.4 224.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M286.2 224.7l.4.1-.4-.1z"/>
+    <path fill="#00184a" d="M286.9 224.5l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M287.4 224.5l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M287.9 224.5l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M288.4 224.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M288.9 224.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M289.4 224.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M237.8 225l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M238.3 225l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M238.8 225l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M239.3 225l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M239.8 225l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M245.3 225l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M250.8 225l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M277.4 225l-.5 1 .5-1z"/>
+    <path fill="#395273" d="M279.9 225l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M280.4 225l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M281.4 225l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M289.4 225l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M290 225l.4.5-.5-.5z"/>
+    <path fill="#42425a" d="M290.4 225l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M291 225l.4.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M291.4 225l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M292 225l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M235.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M236.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#314a7b" d="M236.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M237.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M237.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#184a8c" d="M241.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M241.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M242.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#5a6b63" d="M244.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#efbd08" d="M244.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#ffce08" d="M245.6 225.6l.4.2-.4-.2z"/>
+    <path fill="#4a636b" d="M246.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M250.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M259.2 225.6l.3.2-.3-.2z"/>
+    <path fill="#00215a" d="M259.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M260.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#29396b" d="M260.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#425a84" d="M261.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#636b7b" d="M264.3 225.5l.5.4-.5-.4z"/>
+    <path fill="#737b94" d="M264.8 225.5l.5.4-.5-.4z"/>
+    <path fill="#29396b" d="M268.4 225.5l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M269.2 225.6l.3.2-.3-.2z"/>
+    <path fill="#002984" d="M270.2 225.6l.3.2-.3-.2z"/>
+    <path fill="#6b6b4a" d="M277.4 225.5l.5.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M280.4 225.5l1 3.8-1-3.8z"/>
+    <path fill="#cead21" d="M282.9 225.5l.5.4-.5-.4z"/>
+    <path fill="#4a636b" d="M283.4 225.5l.5.4-.5-.4z"/>
+    <path fill="#8c8442" d="M284.4 225.5l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M286.4 225.5l-.5 1.9.5-2z"/>
+    <path fill="#002984" d="M291.4 225.5l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M292 225.5l.4.4-.5-.4z"/>
+    <path fill="#314a7b" d="M292.4 225.5l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M293 225.5l.4.4-.5-.4z"/>
+    <path fill="#cecece" d="M293.4 225.5l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M234.3 226l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M234.8 226l.5.4-.5-.5z"/>
+    <path fill="#31425a" d="M235.3 226l.5.4-.5-.5z"/>
+    <path fill="#00216b" d="M235.8 226l.5.4-.5-.5z"/>
+    <path fill="#5a6b63" d="M240.8 226l.5.4-.5-.5z"/>
+    <path fill="#cead21" d="M242.8 226l.5.4-.5-.5z"/>
+    <path fill="#deb518" d="M244.6 226.1l.4.2-.4-.2z"/>
+    <path fill="#7b7b52" d="M245.3 226l.5.4-.5-.5z"/>
+    <path fill="#deb518" d="M246.1 226.1l.4.2-.4-.2z"/>
+    <path fill="#00216b" d="M251.3 226l.5.4-.5-.5m6 0l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M257.8 226l.5.4-.5-.5z"/>
+    <path fill="#cecece" d="M269.9 226l.5.4-.5-.5z"/>
+    <path fill="#bdbdbd" d="M270.4 226l.5.4-.5-.5z"/>
+    <path fill="#ada5a5" d="M270.9 226l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M271.4 226l.5.4-.5-.5z"/>
+    <path fill="#00184a" d="M272 226.3l.2.3-.2-.3z"/>
+    <path fill="#001039" d="M276.9 226l.5.4-.5-.5z"/>
+    <path fill="#deb518" d="M277.4 226l.5.4-.5-.5z"/>
+    <path fill="#bd9c29" d="M281.9 226l.5.4-.5-.5z"/>
+    <path fill="#7b7b52" d="M282.4 226l-.5.9.5-1z"/>
+    <path fill="#deb518" d="M282.9 226l.5.4-.5-.5z"/>
+    <path fill="#bd9c29" d="M284.4 226l1 .9-1-1zm3 0l.5.4-.5-.5z"/>
+    <path fill="#ffce08" d="M287.9 226l.5.4-.5-.5z"/>
+    <path fill="#bd9c29" d="M288.4 226l.5.4-.5-.5z"/>
+    <path fill="#ad9431" d="M288.9 226l.5.4-.5-.5z"/>
+    <path fill="#4a636b" d="M289.4 226l.5.4-.5-.5z"/>
+    <path fill="#00216b" d="M293.4 226l.5.4-.5-.5z"/>
+    <path fill="#21315a" d="M294 226l.4.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M294.4 226l.5.4-.5-.5z"/>
+    <path fill="#dedede" d="M295 226l.4.4-.5-.5z"/>
+    <path fill="#9c9494" d="M233.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M233.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M234.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M238.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M241.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M241.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M242.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M243.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M244.3 226.4l1 1-1-1z"/>
+    <path fill="#8c8442" d="M244.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M245.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M245.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M246.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M251.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M255.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M256.3 226.4l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M256.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M257.8 226.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M270.9 226.4l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M271.5 226.7l.2.4-.2-.4z"/>
+    <path fill="#002984" d="M272.5 226.7l.2.4-.2-.4z"/>
+    <path fill="#313931" d="M276.9 226.4l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M280.9 226.4l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M282.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M282.9 226.4l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M283.9 226.4l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M284.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M285.4 226.4l.5.5-.5-.5m1.7.3l.1.4-.1-.4z"/>
+    <path fill="#cead21" d="M287.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M287.9 226.4l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M288.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M290 226.4l.4.5-.5-.5z"/>
+    <path fill="#ffce08" d="M290.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M291 226.4l.4.5-.5-.5z"/>
+    <path fill="#8c8442" d="M291.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M292 226.4l.4.5-.5-.5z"/>
+    <path fill="#184a8c" d="M292.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M295 226.4l.4.5-.5-.5z"/>
+    <path fill="#31394a" d="M295.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M296 226.4l.4.5-.5-.5z"/>
+    <path fill="#efefef" d="M296.4 226.4l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M232.3 226.9l.4.5-.4-.5z"/>
+    <path fill="#212139" d="M232.8 226.9l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M233.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M235.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M235.8 226.9l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M236.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M237.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M238.8 226.9l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M239.8 226.9l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M240.3 226.9l.5 1.4-.5-1.4z"/>
+    <path fill="#7b7b52" d="M241.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M241.8 226.9v1.9h1v-1.9h-1z"/>
+    <path fill="#efbd08" d="M242.8 226.9l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M243.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M244.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M245.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M245.8 226.9l-.5 1 .5-1z"/>
+    <path fill="#7b7b52" d="M246.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M251.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M253.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M254.5 227.6v1.1h2.4l-2.4-1.1z"/>
+    <path fill="#00215a" d="M255.3 226.9l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M255.8 226.9l.5.5-.5-.5z"/>
+    <path fill="#31394a" d="M257.8 226.9l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M274.4 226.9l1 1-1-1z"/>
+    <path fill="#002984" d="M274.9 226.9l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M276.5 227.2l.2.3-.2-.3z"/>
+    <path fill="#8c8442" d="M276.9 226.9l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M283.4 226.9l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M284 227.2l.2.3-.1-.3z"/>
+    <path fill="#deb518" d="M284.9 226.9l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M285.4 226.9l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M286.4 226.9l.5.5-.5-.5z"/>
+    <path fill="#ad9431" d="M287.9 226.9l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M288.4 226.9l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M288.9 226.9l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M290 226.9l.4.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M290.4 226.9l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M291 226.9l.4.5-.5-.5z"/>
+    <path fill="#ffce08" d="M291.4 227.8l1.5-.4-1.5.4z"/>
+    <path fill="#6b735a" d="M293 226.9l.4.5-.5-.5z"/>
+    <path fill="#295284" d="M294 226.9l-.6 1 .5-1z"/>
+    <path fill="#10214a" d="M296.4 226.9l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M297 226.9l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M231.3 227.4l.4.4-.4-.4z"/>
+    <path fill="#42425a" d="M231.8 227.4l.4.4-.4-.4z"/>
+    <path fill="#002984" d="M232.3 227.4l.4.4-.4-.4z"/>
+    <path fill="#ad9431" d="M235.3 227.4l.5.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M236.6 227.5l.3.2-.3-.2m1.2-.1l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M238.8 227.4l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M241.3 227.4l.5.4-.5-.4z"/>
+    <path fill="#184a8c" d="M244.4 227.7l.2.3-.2-.3z"/>
+    <path fill="#9c8c42" d="M244.8 227.4l.5.4-.5-.4z"/>
+    <path fill="#ffce08" d="M246.1 227.5l.4.2-.4-.2z"/>
+    <path fill="#8c8442" d="M246.8 227.4l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M252 227.7l.1.3-.1-.3z"/>
+    <path fill="#002984" d="M252.3 227.4l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M252.8 227.4l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M253.3 227.4l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M257.8 227.4l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M258.3 227.4l.5.4-.5-.4z"/>
+    <path fill="#21315a" d="M271.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M275.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#9c8c42" d="M281.9 227.4l.5.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M282.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#efbd08" d="M282.9 227.4l.5.4-.5-.4z"/>
+    <path fill="#deb518" d="M283.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#8c8442" d="M286.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#184a8c" d="M286.9 227.4l.5.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M287.9 227.4l.5.4-.5-.4z"/>
+    <path fill="#4a636b" d="M288.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M288.9 227.4l.5.4-.5-.4z"/>
+    <path fill="#4a636b" d="M290 227.4l.4.4-.5-.4z"/>
+    <path fill="#5a6b63" d="M291 227.4l.4.4-.5-.4z"/>
+    <path fill="#6b735a" d="M292 227.4l.4.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M292.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#184a8c" d="M293 227.4l.4.4-.5-.4z"/>
+    <path fill="#efbd08" d="M294.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M297 227.4l.4.4-.5-.4z"/>
+    <path fill="#212139" d="M297.4 227.4l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M298 227.4l.4.4-.5-.4z"/>
+    <path fill="#9c9494" d="M230.8 227.8l-.6 1 .6-1z"/>
+    <path fill="#00215a" d="M231.3 227.8l.4.5-.4-.5z"/>
+    <path fill="#6b735a" d="M235.3 227.8l.5.5-.5-.5z"/>
+    <path fill="#295284" d="M236.3 227.8l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M236.8 227.8v2h.5l-.5-2z"/>
+    <path fill="#9c8c42" d="M237.3 227.8l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M238.3 227.8l1 1-1-1z"/>
+    <path fill="#395273" d="M238.8 227.8l.5.5-.5-.5zm6 0l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M245.6 228l.4.2-.4-.2z"/>
+    <path fill="#deb518" d="M246.3 227.8l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M246.8 227.8l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M252.5 228.2l.1.3-.1-.3z"/>
+    <path fill="#002984" d="M257.8 227.8l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M258.3 227.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M270.9 227.8l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M271.4 227.8l.5.5-.5-.5z"/>
+    <path fill="#000818" d="M275.9 227.8l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M281.9 227.8l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M282.4 227.8l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M282.9 227.8l-.5 1 .5-1z"/>
+    <path fill="#ffce08" d="M283.4 227.8l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M284.9 227.8l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M285.9 227.8l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M286.7 228l.4.2-.4-.2z"/>
+    <path fill="#9c8c42" d="M291 227.8l.4.5-.5-.5z"/>
+    <path fill="#efbd08" d="M291.4 227.8l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M293.4 227.8l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M296.4 227.8l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M297 227.8l.4.5-.5-.5z"/>
+    <path fill="#00216b" d="M298 227.8l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M298.4 227.8l1 1-1-1z"/>
+    <path fill="#00216b" d="M230.8 228.3l.4.5-.4-.5z"/>
+    <path fill="#295284" d="M235.3 228.3l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M237.3 228.3l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M238.3 228.3l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M239.8 228.3l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M241.3 228.3l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M244.3 228.3l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M245.3 228.3l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M246.5 228.7l.1.3-.1-.4z"/>
+    <path fill="#ad9431" d="M246.8 228.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M252.8 228.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M252.8 229.3l1.5-1-1.5 1z"/>
+    <path fill="#00216b" d="M254.3 228.3l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M258.3 228.3l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M270.9 228.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M273.9 228.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M273.9 229.3l1.5-1-1.5 1z"/>
+    <path fill="#00184a" d="M275.4 228.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M275.9 228.3l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M280.9 228.3l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M281.9 228.3l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M282.9 228.3l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M283.4 228.3l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M284.9 228.3l.5.5-.5-.5zm2 0l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M288.4 228.3l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M288.9 228.3l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M291 228.3l.4.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M291.4 228.3l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M293 228.3l.4.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M297.4 228.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M298.4 228.3l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M229.8 228.8l.4.5-.4-.5z"/>
+    <path fill="#00216b" d="M230.3 228.8l.4.5-.4-.5z"/>
+    <path fill="#efbd08" d="M235.8 228.8l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M236.3 228.8l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M238.4 229.1l.2.3-.2-.3z"/>
+    <path fill="#ad9431" d="M239.8 228.8l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M240.8 228.8l.5.5-.5-.5z"/>
+    <path fill="#ad9431" d="M242.1 229l.3.1-.3-.1m1.2-.2l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M244.8 228.8l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M246.8 228.8l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M257.3 228.8l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M258.3 228.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M270.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M270.9 228.8l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M276.9 228.8l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M283.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M286.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M286.9 228.8l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M287.9 228.8l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M291.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M292.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M293 228.8l.4.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M293.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M294 228.8l-.6 1 .5-1z"/>
+    <path fill="#5a6b63" d="M296 228.8l.4.5-.5-.5z"/>
+    <path fill="#ffce08" d="M296.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M298 228.8l.4.5-.5-.5z"/>
+    <path fill="#002984" d="M299 228.8l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M299.4 228.8l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M229.8 229.3l.4.5-.4-.5z"/>
+    <path fill="#bd9c29" d="M235.8 229.3l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M236.3 229.3l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M237.3 229.3l.5.5-.5-.5z"/>
+    <path fill="#cead21" d="M239.3 229.3l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M239.8 229.3l-.5 1 .5-1z"/>
+    <path fill="#ad9431" d="M241.3 229.3l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M242.8 229.3l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M245.3 229.3l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M245.8 229.3l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M246.3 229.3l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M257.8 229.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M258.3 229.3l.5.5-.5-.5m12 0l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M270.9 229.3l1 1-1-1z"/>
+    <path fill="#31394a" d="M271.4 229.3l.5.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M284.4 229.3l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M284.9 229.3l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M286.4 229.3l.5.5-.5-.5z"/>
+    <path fill="#ad9431" d="M286.9 229.3l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M288.9 229.3l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M290.4 229.3l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M292.4 229.3l.5.5-.5-.5z"/>
+    <path fill="#8c8442" d="M294 229.3l.4.5-.5-.5z"/>
+    <path fill="#cead21" d="M294.4 229.3l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M297 229.3l-.6 1.9h.5v-2z"/>
+    <path fill="#7b7b52" d="M297.4 229.3l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M298.4 229.3l.5.5-.5-.5z"/>
+    <path fill="#425a84" d="M299.6 229.6l.2.3-.2-.3z"/>
+    <path fill="#42425a" d="M229.8 229.8l.4.4-.4-.4z"/>
+    <path fill="#7b7b52" d="M235.8 229.8l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#deb518" d="M237.3 229.8l.5.4-.5-.4z"/>
+    <path fill="#5a6b63" d="M238.3 229.8l.5.4-.5-.4z"/>
+    <path fill="#ffce08" d="M239.8 229.8l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M256.3 229.8l.5.4-.5-.4z"/>
+    <path fill="#21315a" d="M256.8 229.8l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M257.3 229.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M257.8 229.8l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M271.9 229.8l.5.4-.5-.4z"/>
+    <path fill="#21315a" d="M272.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M272.9 229.8l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M287.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#8c8442" d="M288.9 229.8l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M289.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#7b7b52" d="M290.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M292 229.8l.4.4-.5-.4z"/>
+    <path fill="#bd9c29" d="M294.4 229.8l-.5 1.4.5-1.4z"/>
+    <path fill="#5a6b63" d="M295.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#ffce08" d="M296 229.8l.4.4-.5-.4z"/>
+    <path fill="#5a6b63" d="M296.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#395273" d="M297.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M298.4 229.8l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M229.8 230.2l.4.5-.4-.5z"/>
+    <path fill="#395273" d="M235.8 230.2l.5.5-.5-.5z"/>
+    <path fill="#9c8c42" d="M237.8 230.2l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M239.3 230.2l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M245.3 230.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M245.8 230.2l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M246.3 230.2l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M246.8 230.2l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M253.3 230.2l.5.5-.5-.5z"/>
+    <path fill="#848c9c" d="M253.8 230.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M256.3 230.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M272.9 230.2l.5.5-.5-.5z"/>
+    <path fill="#848c9c" d="M275.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M275.9 230.2l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M282.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M282.9 230.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M283.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M283.9 230.2l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M290.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M291 230.2l.4.5-.5-.5z"/>
+    <path fill="#efbd08" d="M292 230.2l.4.5-.5-.5z"/>
+    <path fill="#cead21" d="M292.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M293.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M294 230.2l.4.5-.5-.5m1.9.2l.3.2-.3-.2z"/>
+    <path fill="#8c8442" d="M297.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M298.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M299.4 230.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M229.8 230.7l.4.5-.4-.5z"/>
+    <path fill="#00216b" d="M230.3 230.7l.4.5-.4-.5z"/>
+    <path fill="#7b7b52" d="M236.3 230.7l.5.5-.5-.5z"/>
+    <path fill="#4a636b" d="M236.8 230.7l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M240.3 231.7l1.5-.5-1.5.5z"/>
+    <path fill="#00215a" d="M241.8 230.7l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M242.3 230.7l.5.5-.5-.5z"/>
+    <path fill="#314a7b" d="M242.8 230.7l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M243.3 230.7l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M243.8 230.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M244.3 230.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M244.8 230.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M245.3 230.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M245.8 230.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M283.4 230.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M283.9 230.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M284.4 230.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M284.9 230.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M285.4 230.7l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M285.9 230.7l.5.5-.5-.5z"/>
+    <path fill="#314a7b" d="M286.4 230.7l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M286.9 230.7l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M287.4 230.7l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M288.2 230.9l.4.1-.4-.1z"/>
+    <path fill="#184a8c" d="M292.4 230.7l.5.5-.5-.5z"/>
+    <path fill="#5a6b63" d="M295 230.7l.4.5-.5-.5zm1 0l.4.5-.5-.5z"/>
+    <path fill="#295284" d="M297 230.7l.4.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M298 230.7l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M299.4 230.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M229.8 231.2l.4.5-.4-.5z"/>
+    <path fill="#001039" d="M230.3 231.2l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M240.8 231.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M241.3 231.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M241.8 231.2l-.5 1 .5-1z"/>
+    <path fill="#bdbdbd" d="M287.9 231.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M288.4 231.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M288.9 231.2l.5.5-.5-.5z"/>
+    <path fill="#395273" d="M294 231.2l.4.5-.5-.5z"/>
+    <path fill="#6b735a" d="M294.4 231.2l.5.5-.5-.5z"/>
+    <path fill="#deb518" d="M295 231.2l.4.5-.5-.5z"/>
+    <path fill="#bd9c29" d="M296 231.2l.4.5-.5-.5z"/>
+    <path fill="#7b7b52" d="M296.4 231.2l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M299 231.2l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M299.4 231.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M228.7 231.7l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M229.3 231.7l.4.4-.4-.4z"/>
+    <path fill="#001039" d="M230 232v.3-.3z"/>
+    <path fill="#00216b" d="M238.8 231.7l-.5 1 .5-1z"/>
+    <path fill="#00184a" d="M239.3 231.7l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M239.8 231.7l.5.4-.5-.4z"/>
+    <path fill="#10214a" d="M240.8 231.7l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M287.9 231.7l.5.4-.5-.4z"/>
+    <path fill="#212139" d="M288.4 231.7l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M288.9 231.7l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M289.6 232l.1.3-.1-.3z"/>
+    <path fill="#184a8c" d="M295 231.7l.4.4-.5-.4z"/>
+    <path fill="#9c8c42" d="M295.4 231.7l.5.4-.5-.4z"/>
+    <path fill="#295284" d="M297.4 231.7l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M299.4 231.7l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M300 231.7l.4.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M300.4 231.7l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M228.2 232.1l-1 1.5 1-1.5z"/>
+    <path fill="#10214a" d="M228.7 232.1l-1 1.5 1-1.5z"/>
+    <path fill="#003994" d="M229.3 232.1c-1.5 1.5-3.5 3.2-2.6 5.3-2.6 1.4-3 4.5-4 7.1l5.6 1 4-9-5.6.4v-.5l5-.4-2.4-3.9z"/>
+    <path fill="#002984" d="M236.3 232.1l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M236.8 232.1l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M237.6 232.3l.3.2-.3-.2z"/>
+    <path fill="#002984" d="M238.8 232.1l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M241.3 232.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M287.9 232.1l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M288.4 232.1l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M291.4 232.1l.5.5-.5-.5z"/>
+    <path fill="#184a8c" d="M296 232.1l.4.5-.5-.5z"/>
+    <path fill="#395273" d="M296.4 232.1l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M300.4 232.1l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M301 232.1l1.4 1.5-1.5-1.5z"/>
+    <path fill="#00216b" d="M229.8 232.6l.4.5-.4-.5z"/>
+    <path fill="#002984" d="M230.3 232.6l.4.5-.4-.5z"/>
+    <path fill="#00216b" d="M234.8 232.6l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M235.6 232.8l.3.1-.3-.1z"/>
+    <path fill="#00216b" d="M236.3 232.6l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M241.3 232.6l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M287.9 232.6l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M291.4 232.6l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M292 232.6l.4.5-.5-.5z"/>
+    <path fill="#00184a" d="M292.8 232.8l.3.1-.4-.1z"/>
+    <path fill="#00216b" d="M293.6 233l.1.3-.1-.4m7.3-.3l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M230.3 233.1l.4.5-.4-.5z"/>
+    <path fill="#00216b" d="M233.4 233.4l.2.3-.2-.3z"/>
+    <path fill="#00184a" d="M234 233.3l.4.1-.3-.1z"/>
+    <path fill="#00215a" d="M237.8 233.1l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M240.8 233.1l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M241.3 233.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M287.4 233.1l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M287.9 233.1l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M288.7 233.3l.4.1-.4-.1z"/>
+    <path fill="#00215a" d="M289.4 233.1l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M290 233.1l.4.5-.5-.5z"/>
+    <path fill="#00216b" d="M290.4 233.1l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M294.3 233.3l.3.1-.4-.1z"/>
+    <path fill="#00216b" d="M301.4 233.1l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M226.7 233.6l.5.4-.5-.4z"/>
+    <path fill="#212139" d="M227.2 233.6l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M230.3 233.6l.4.4-.4-.4z"/>
+    <path fill="#002984" d="M230.8 233.6l.4.4-.4-.4z"/>
+    <path fill="#00184a" d="M232.6 233.7l.3.2-.3-.2z"/>
+    <path fill="#00216b" d="M236.3 233.6l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M236.8 233.6l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M237.3 233.6l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M240.8 233.6l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M241.3 233.6l-.5 1 .5-1z"/>
+    <path fill="#7b7373" d="M287.4 233.6l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M287.9 233.6l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M288.4 233.6l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M290.4 233.6l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M291.2 233.7l.4.2-.4-.2z"/>
+    <path fill="#002984" d="M292 233.6l.4.4-.5-.4z"/>
+    <path fill="#00216b" d="M295 233.6l.4.4-.5-.4z"/>
+    <path fill="#00184a" d="M295.4 233.6l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M296 233.6l.4.4-.5-.4z"/>
+    <path fill="#00184a" d="M302 233.6l.4.4-.5-.4z"/>
+    <path fill="#cecece" d="M302.4 233.6l.5.4-.5-.4z"/>
+    <path fill="#52525a" d="M226.7 234l.5.5-.5-.4z"/>
+    <path fill="#002984" d="M232.3 234l.4.5-.4-.4z"/>
+    <path fill="#00184a" d="M235.6 234.2l.3.2-.3-.2z"/>
+    <path fill="#002984" d="M236.3 234l.5.5-.5-.4z"/>
+    <path fill="#10214a" d="M240.3 234l.5.5-.5-.4z"/>
+    <path fill="#ada5a5" d="M288.4 234l.5.5-.5-.4z"/>
+    <path fill="#21315a" d="M288.9 234l.5.5-.5-.4z"/>
+    <path fill="#00216b" d="M292 234l.4.5-.5-.4z"/>
+    <path fill="#001039" d="M292.4 234l.5.5-.5-.4z"/>
+    <path fill="#002984" d="M293 234l.4.5-.5-.4z"/>
+    <path fill="#31425a" d="M302.4 234l.5.5-.5-.4z"/>
+    <path fill="#efefef" d="M303 234l.4.5-.5-.4z"/>
+    <path fill="#ada5a5" d="M226.2 234.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M226.7 234.5l.5.5-.5-.5m4 0l.6.5-.6-.5z"/>
+    <path fill="#00184a" d="M234.6 234.7l.3.2-.3-.2z"/>
+    <path fill="#00216b" d="M238.8 234.5l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M239.3 234.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M239.8 234.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M240.3 234.5l.5.5-.5-.5m48.6 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M289.4 234.5l.5.5-.5-.5z"/>
+    <path fill="#314a7b" d="M290 234.5l.4.5-.5-.5z"/>
+    <path fill="#00216b" d="M290.4 234.5l.5.5-.5-.5m2.5 0l-.5 1 .5-1z"/>
+    <path fill="#001039" d="M293.4 234.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M294 234.5l.4.5-.5-.5z"/>
+    <path fill="#7b7373" d="M303 234.5l.4.5-.5-.5z"/>
+    <path fill="#efefef" d="M225.7 235l.5.5-.5-.5z"/>
+    <path fill="#10214a" d="M226.2 235l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M231.8 235l.4.5-.4-.5m1 0l.4.5-.4-.5z"/>
+    <path fill="#00184a" d="M233.6 235.2l.3.1-.3-.1z"/>
+    <path fill="#002984" d="M236.3 235l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M236.8 235l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M237.3 235l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M237.8 235l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M238.3 235l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M238.8 235l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M290.4 235l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M291 235l.4.5-.5-.5z"/>
+    <path fill="#525a6b" d="M291.4 235l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M292 235l.4.5-.5-.5z"/>
+    <path fill="#002984" d="M293 235l.4.5-.5-.5z"/>
+    <path fill="#003994" d="M293.4 235l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M294 235l.4.5-.5-.5z"/>
+    <path fill="#001039" d="M294.4 235l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M295 235l.4.5-.5-.5m2 0l.5.5-.5-.5m6 0l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M303.4 235l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M225.7 235.5l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M231.8 235.5l.4.5-.4-.5z"/>
+    <path fill="#00216b" d="M232.8 235.5l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M234.8 235.5l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M235.3 235.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M236.3 235.5l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M236.8 235.5l.5.5-.5-.5m55.6 0l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M293 235.5l.4.5-.5-.5z"/>
+    <path fill="#525a6b" d="M294 235.5l.4.5-.5-.5z"/>
+    <path fill="#21315a" d="M294.4 235.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M296.4 235.5l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M303.4 235.5l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M225.2 236l.5.4-.5-.4z"/>
+    <path fill="#10295a" d="M225.7 236l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M229.8 236l.4.4-.4-.4z"/>
+    <path fill="#21315a" d="M233.3 236l.5.4-.5-.4z"/>
+    <path fill="#52525a" d="M233.8 236l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M234.3 236l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M236.3 236l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M292 236l.4.4-.5-.4z"/>
+    <path fill="#9c9494" d="M292.4 236l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M294.3 236.1l.3.2-.4-.2z"/>
+    <path fill="#8c8c8c" d="M295 236l.4.4-.5-.4z"/>
+    <path fill="#292921" d="M295.4 236l.5.4-.5-.4z"/>
+    <path fill="#080829" d="M296 236l.4.4-.5-.4z"/>
+    <path fill="#00216b" d="M298.4 236l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M304 236l.4.4-.5-.4z"/>
+    <path fill="#63636b" d="M225.2 236.4l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M226.7 236.4l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M227.6 236.6l.3.2-.3-.2z"/>
+    <path fill="#00216b" d="M228.2 236.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M232.8 236.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M233.3 236.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M296.4 236.4l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M297 236.4l.4.5-.5-.5z"/>
+    <path fill="#00216b" d="M300 236.4l.4.5-.5-.5z"/>
+    <path fill="#00184a" d="M300.8 236.6l.3.2-.3-.2z"/>
+    <path fill="#002984" d="M301.6 236.8l.2.3-.2-.3z"/>
+    <path fill="#212139" d="M304 236.4l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M224.7 237l.5.4-.5-.5z"/>
+    <path fill="#10214a" d="M231.8 237l.4.4-.4-.5z"/>
+    <path fill="#cecece" d="M232.3 237l-.6.9.6-1m64.6 0l1 1-1-1z"/>
+    <path fill="#10214a" d="M297.4 237l.5.4-.5-.5z"/>
+    <path fill="#00184a" d="M302 237l.4.4-.5-.5z"/>
+    <path fill="#00216b" d="M302.4 237l2 1.8-2-1.9z"/>
+    <path fill="#002984" d="M304 237l.4.4-.5-.5z"/>
+    <path fill="#9c9494" d="M304.4 237l.6.4-.6-.5z"/>
+    <path fill="#8c8c8c" d="M224.7 237.4l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M225.2 237.4l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M231.3 237.4l.4.5-.4-.5z"/>
+    <path fill="#101831" d="M298 237.4l.4.5-.5-.5z"/>
+    <path fill="#42425a" d="M304.4 237.4l.6.5-.6-.5z"/>
+    <path fill="#efefef" d="M224.2 237.9l.5.4-.5-.4z"/>
+    <path fill="#101829" d="M224.7 237.9l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M230.8 237.9l.4.4-.4-.4z"/>
+    <path fill="#9c9494" d="M231.3 237.9l.4.4-.4-.4z"/>
+    <path fill="#cecece" d="M235.8 237.9l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M236.3 237.9v.4h57.6l-17.5-.4h-40.1m61.6 0l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M298.4 237.9l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M304.4 237.9l.6.4-.6-.4z"/>
+    <path fill="#dedede" d="M305 237.9l.4.4-.4-.4z"/>
+    <path fill="#424242" d="M224.2 238.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M224.7 238.3l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M230.8 238.3l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M235.8 238.3l2.5 2.4-2.5-2.3z"/>
+    <path fill="#00216b" d="M236.3 238.3l1.5 1.5-1.5-1.5z"/>
+    <path fill="#003994" d="M236.8 238.3l4.2 5.3.3 18.6h4.5c0-6 1.3-12-3-16.7l6 3.8-2.5-7.1 14 13.3-10.5-16.2 10 12.9h.5v-13.9h-23.5z"/>
+    <path fill="#00184a" d="M260.3 238.3v14.4h.5l-.5-14.3z"/>
+    <path fill="#631808" d="M268.9 238.3v14.4h.5l-.5-14.3z"/>
+    <path fill="#de2110" d="M269.4 238.3v13.4l10.5-12.4-10.5 16.2 14.5-13.3-3 6.6 6-3.8c-3.2 6-3 10.4-3 17.2h4.5l.3-18.6 4.2-5.3h-23.5z"/>
+    <path fill="#b51010" d="M293 238.3l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M293.4 238.3l-1 1.5 1-1.5z"/>
+    <path fill="#8c8c8c" d="M298.4 238.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M299 238.3l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M305 238.3l.4.5-.4-.5z"/>
+    <path fill="#ada5a5" d="M223.7 238.8l.5.5-.5-.5z"/>
+    <path fill="#000818" d="M224.2 238.8l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M230.3 238.8l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M230.8 238.8l.4.5-.4-.5z"/>
+    <path fill="#ad1810" d="M292.4 238.8l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M299 238.8l.4.5-.5-.5z"/>
+    <path fill="#00184a" d="M304 238.8l.4.5-.5-.5z"/>
+    <path fill="#10214a" d="M305 238.8l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M305.4 238.8l.6.5-.6-.5z"/>
+    <path fill="#313931" d="M223.7 239.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M224.2 239.3l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M230.3 239.3l.4.5-.4-.5z"/>
+    <path fill="#002984" d="M249.8 239.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M299 239.3l.4.5-.5-.5z"/>
+    <path fill="#00184a" d="M304.6 239.6l.2.3-.2-.3z"/>
+    <path fill="#9c9494" d="M305.4 239.3l.6.5-.6-.5m-82 .8l.2.3-.2-.3z"/>
+    <path fill="#292921" d="M223.7 239.8l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M229.8 239.8l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M230.3 239.8l.4.5-.4-.5z"/>
+    <path fill="#00215a" d="M237.8 239.8l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M249.8 239.8l.5.5-.5-.5z"/>
+    <path fill="#212139" d="M250.3 239.8l1 1-1-1z"/>
+    <path fill="#100808" d="M279.4 239.8l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M292 239.8l-3 3.3 3-3.3z"/>
+    <path fill="#efefef" d="M299 239.8l.4.5-.5-.5z"/>
+    <path fill="#10295a" d="M299.4 239.8l.5.5-.5-.5z"/>
+    <path fill="#31425a" d="M305.4 239.8l.6.5-.6-.5z"/>
+    <path fill="#10295a" d="M223.7 240.3l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M229.8 240.3l.4.4-.4-.4z"/>
+    <path fill="#001039" d="M238.3 240.3l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M249.8 240.3l.5.4-.5-.4z"/>
+    <path fill="#6b5a00" d="M250.3 240.3l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M278.4 240.3l.5.4-.5-.4z"/>
+    <path fill="#7b5a00" d="M278.9 240.3l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M299.4 240.3l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M305.4 240.3l.6.4-.6-.4z"/>
+    <path fill="#bdbdbd" d="M306 240.3l.4.4-.4-.4z"/>
+    <path fill="#8c8c8c" d="M223.2 240.7l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M229.3 240.7l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M229.8 240.7l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M238.3 240.7l2.5 2.4-2.5-2.4z"/>
+    <path fill="#10214a" d="M238.8 240.7l.5.5-.5-.5z"/>
+    <path fill="#392121" d="M250.3 240.7l.5.5-.5-.5z"/>
+    <path fill="#cea508" d="M251 241l.1.4-.1-.4z"/>
+    <path fill="#293129" d="M251.3 240.7l1 1-1-1z"/>
+    <path fill="#631808" d="M277.9 240.7l.5.5-.5-.5z"/>
+    <path fill="#634a00" d="M278.9 240.7l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M279.4 240.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M299.4 240.7l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M300 240.7l.4.5-.5-.5z"/>
+    <path fill="#636b7b" d="M306 240.7l.4.5-.4-.5z"/>
+    <path fill="#42425a" d="M223.2 241.2l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M229.3 241.2l.4.5-.4-.5z"/>
+    <path fill="#10214a" d="M239.3 241.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M250.3 241.2l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M251.3 241.2l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M277.4 241.2l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M278.4 241.2l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M278.9 241.2l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M300 241.2l.4.5-.5-.5z"/>
+    <path fill="#10214a" d="M306 241.2l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M222.7 241.7l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M223.2 241.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M229.3 241.7l.4.5-.4-.5z"/>
+    <path fill="#10214a" d="M239.8 241.7l.5.5-.5-.5z"/>
+    <path fill="#634a00" d="M250.8 241.7l.5.5-.5-.5z"/>
+    <path fill="#deb508" d="M251.3 241.7l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M251.8 241.7l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M277.4 241.7l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M278.9 241.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M300 241.7l.4.5-.5-.5z"/>
+    <path fill="#002984" d="M300.4 241.7l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M306 241.7l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M306.4 241.7l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M222.7 242.2l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M223.2 242.2l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M228.7 242.2l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M229.3 242.2l.4.4-.4-.4z"/>
+    <path fill="#10214a" d="M240.3 242.2l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M246.5 242.5l.1.3-.1-.3z"/>
+    <path fill="#10295a" d="M250.8 242.2l.5.4-.5-.4z"/>
+    <path fill="#000818" d="M251.3 242.2l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M251.8 242.2l1 1-1-1z"/>
+    <path fill="#00184a" d="M252.3 242.2l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M276.9 242.2l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M277.4 242.2l.5.4-.5-.4z"/>
+    <path fill="#210800" d="M277.9 242.2l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M278.4 242.2l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M282.9 242.2l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M283.4 242.2l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M288.9 242.2l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M300.4 242.2l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M306.4 242.2l.6.4-.6-.4z"/>
+    <path fill="#636b7b" d="M222.7 242.6l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M228.7 242.6l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M240.8 242.6l.5.5-.5-.5z"/>
+    <path fill="#102110" d="M246.8 242.6l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M247.3 242.6l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M251.8 242.6l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M252.8 242.6l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M276.4 242.6l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M277.2 242.8l.3.2-.3-.2z"/>
+    <path fill="#b51010" d="M277.9 242.6l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M281.9 242.6l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M282.4 242.6l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M282.9 242.6l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M288.4 242.6l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M300.4 242.6l.5.5-.5-.5z"/>
+    <path fill="#314a7b" d="M306.4 242.6l.6.5-.6-.5z"/>
+    <path fill="#10214a" d="M222.7 243.1l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M228.7 243.1l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M240.8 243.1v19.6h.5c0-5.6 1.7-14.4-.5-19.6z"/>
+    <path fill="#634a00" d="M246.8 243.1l.5.5-.5-.5z"/>
+    <path fill="#8c7300" d="M247.3 243.1l.5.5-.5-.5z"/>
+    <path fill="#10214a" d="M247.8 243.1l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M251.8 243.1l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M252.3 243.1l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M252.8 243.1l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M275.9 243.1l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M276.4 243.1l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M276.9 243.1l-1 1.5 1-1.5z"/>
+    <path fill="#7b1008" d="M277.4 243.1l.5.5-.5-.5m4 0l.5.5-.5-.5z"/>
+    <path fill="#7b5a00" d="M281.9 243.1l.5.5-.5-.5z"/>
+    <path fill="#6b5a00" d="M282.4 243.1l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M282.9 243.1l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M288.4 243.1v19.1h.5c0-5.5 1.7-14-.5-19z"/>
+    <path fill="#8c8c8c" d="M300.4 243.1l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M306.4 243.1l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M307 243.1l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M222.2 243.6l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M222.7 243.6l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M228.2 243.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M228.7 243.6l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M246.8 243.6l.5.5-.5-.5z"/>
+    <path fill="#bd9408" d="M247.3 243.6l.5.5-.5-.5z"/>
+    <path fill="#cea508" d="M247.8 243.6l.5.5-.5-.5z"/>
+    <path fill="#293129" d="M248.3 243.6l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M248.8 243.6l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M252.3 243.6l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M252.8 243.6l1 1-1-1z"/>
+    <path fill="#101829" d="M253.3 243.6l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M275.9 243.6l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M276.9 243.6l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M280.4 243.6l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M280.9 243.6l.5.5-.5-.5z"/>
+    <path fill="#bd9408" d="M281.4 243.6l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M281.9 243.6l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M282.4 243.6l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M300.4 243.6l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M301 243.6l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M307 243.6l.4.5-.4-.5m-84.8.5l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M228.2 244l.5.5-.5-.4z"/>
+    <path fill="#dedede" d="M228.7 244l.5.5-.5-.4z"/>
+    <path fill="#313918" d="M247.3 244l.5.5-.5-.4z"/>
+    <path fill="#ffce08" d="M247.8 244l.5.5-.5-.4z"/>
+    <path fill="#ad8c08" d="M248.3 244l.5.5-.5-.4z"/>
+    <path fill="#00215a" d="M248.8 244l.5.5-.5-.4z"/>
+    <path fill="#101829" d="M252.8 244l.5.5-.5-.4z"/>
+    <path fill="#00184a" d="M253.8 244l.5.5-.5-.4z"/>
+    <path fill="#941808" d="M275.4 244l.5.5-.5-.4z"/>
+    <path fill="#ce2110" d="M276.9 244l.5.5-.5-.4z"/>
+    <path fill="#ad1810" d="M280.4 244l.5.5-.5-.4z"/>
+    <path fill="#7b5a00" d="M280.9 244l.5.5-.5-.4z"/>
+    <path fill="#ffce08" d="M281.4 244l.5.5-.5-.4z"/>
+    <path fill="#634a00" d="M281.9 244l-.5 1 .5-1z"/>
+    <path fill="#ce2110" d="M282.4 244l.5.5-.5-.4z"/>
+    <path fill="#10214a" d="M301 244l.4.5-.5-.4z"/>
+    <path fill="#00216b" d="M302 244l.4.5-.5-.4z"/>
+    <path fill="#525a6b" d="M307 244l.4.5-.4-.4z"/>
+    <path fill="#bdbdbd" d="M221.7 244.6l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M222.2 244.6l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M222.7 244.6l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M223.2 244.6l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M223.7 244.6l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M224.2 244.6l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M224.7 244.6l.5.4-.5-.4z"/>
+    <path fill="#314a7b" d="M228.2 244.6l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M247.3 244.6l.5.4-.5-.4z"/>
+    <path fill="#423100" d="M247.8 244.6l.5.4-.5-.4z"/>
+    <path fill="#211800" d="M248.3 244.6l.5.4-.5-.4z"/>
+    <path fill="#181000" d="M248.8 244.6l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M249.3 244.6l.5.4-.5-.4z"/>
+    <path fill="#181000" d="M253.3 244.6l.5.4-.5-.4z"/>
+    <path fill="#211800" d="M253.8 244.6l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M254.3 244.6l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M274.9 244.6l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M276.4 244.6l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M279.9 244.6l-.5.9.5-1z"/>
+    <path fill="#211800" d="M280.9 244.6l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M281.9 244.6l.5.4-.5-.4z"/>
+    <path fill="#636b7b" d="M301 244.6l.4.4-.5-.4z"/>
+    <path fill="#000818" d="M302 244.6l.4.4-.5-.4z"/>
+    <path fill="#002984" d="M304.4 244.6l.6.4-.6-.4z"/>
+    <path fill="#00184a" d="M305 244.6l.4.4-.4-.4z"/>
+    <path fill="#314a7b" d="M305.4 244.6l.6.4-.6-.4z"/>
+    <path fill="#636b7b" d="M306 244.6l.4.4-.4-.4z"/>
+    <path fill="#63636b" d="M306.4 244.6l.6.4-.6-.4z"/>
+    <path fill="#cecece" d="M307 244.6l.4.4-.4-.4z"/>
+    <path fill="#bdbdbd" d="M222.7 245l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M223.2 245l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M223.7 245l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M225.2 245l.5.5-.5-.5z"/>
+    <path fill="#314a7b" d="M225.7 245l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M226.2 245l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M228.2 245l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M229.3 245l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M229.8 245l.4.5-.4-.5z"/>
+    <path fill="#001039" d="M248.3 245l1.5 1.5-1.5-1.5z"/>
+    <path fill="#392100" d="M248.8 245l3.5 3.4-3.5-3.4z"/>
+    <path fill="#001010" d="M249.3 245l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M253.3 245l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M253.8 245l1.5 1.5-1.5-1.5z"/>
+    <path fill="#101810" d="M254.3 245l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M274.9 245l1 1-1-1z"/>
+    <path fill="#392100" d="M275.4 245l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M275.9 245l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M280.9 245l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M281.4 245l.5.5-.5-.5m5 0l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M301 245l.4.5-.5-.5z"/>
+    <path fill="#001000" d="M302 245l.4.5-.5-.5z"/>
+    <path fill="#00216b" d="M303 245l.4.5-.5-.5z"/>
+    <path fill="#21315a" d="M303.4 245l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M304 245l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M305.8 245.2l.3.1-.3-.1z"/>
+    <path fill="#cecece" d="M221.2 245.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M221.7 245.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M223.2 245.5l1 1-1-1z"/>
+    <path fill="#ada5a5" d="M223.7 245.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M224.2 245.5l1.5 1.9-1.5-1.9z"/>
+    <path fill="#9c9494" d="M224.7 245.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M225.6 245.7l.3.1-.3-.1z"/>
+    <path fill="#dedede" d="M226.2 245.5l-.5 1 .5-1z"/>
+    <path fill="#8c8c8c" d="M226.7 245.5l1.5 2.4-1.5-2.4z"/>
+    <path fill="#314a7b" d="M227.2 245.5l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M227.7 245.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M228.2 245.5l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M229.3 245.5l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M229.8 245.5l.4.5-.4-.5z"/>
+    <path fill="#002984" d="M286 245.2l.6.4-.5-.4z"/>
+    <path fill="#000818" d="M243.3 245.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M243.8 245.5l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M249.8 245.5l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M253.8 245.5l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M274.4 245.5l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M274.9 245.5l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M279.4 245.5l-1 1.4 1-1.4z"/>
+    <path fill="#392100" d="M279.9 245.5l-1.5 1.9 1.5-1.9z"/>
+    <path fill="#ce2110" d="M280.9 245.5l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M285.4 245.5l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M285.9 245.5l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M286.4 245.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M295 245.8l.3.3-.2-.3z"/>
+    <path fill="#dedede" d="M297.4 245.5l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M298 245.5l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M301 245.5l.4.5-.5-.5z"/>
+    <path fill="#080829" d="M301.4 245.5l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M302 245.5l.4.5-.5-.5z"/>
+    <path fill="#424242" d="M302.4 245.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M303 245.5l1 1-1-1z"/>
+    <path fill="#cecece" d="M303.4 245.5l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M305 245.5l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M305.4 245.5l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M221.2 246l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M221.7 246l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M223.2 246l.5.5-.5-.5m3.5 0l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M227.6 246.1l.3.2-.3-.2z"/>
+    <path fill="#cecece" d="M228.7 246l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M229.3 246l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M229.8 246l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M230.3 246l.4.5-.4-.5z"/>
+    <path fill="#00184a" d="M243.3 246l.5.5-.5-.5z"/>
+    <path fill="#8c7300" d="M243.8 246l.5.5-.5-.5z"/>
+    <path fill="#392121" d="M244.3 246l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M244.8 246l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M248.8 246v3.3h.5l-.5-3.3z"/>
+    <path fill="#001010" d="M250.3 246l.5.5-.5-.5m4 0l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M255.3 246l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M273.9 246l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M273.9 247l1.5-.5-1.5.4z"/>
+    <path fill="#bd2110" d="M275.4 246l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M279.9 246l-.5 1 .5-1z"/>
+    <path fill="#6b1821" d="M280.4 246l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M284.4 246l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M284.9 246l1 1-1-1z"/>
+    <path fill="#8c7300" d="M285.4 246l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M285.9 246l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M295.4 246l-.5 1 .5-1z"/>
+    <path fill="#101810" d="M298 246l.4.5-.5-.5z"/>
+    <path fill="#efefef" d="M298.4 246l.5.5-.5-.5m2.4.1l.3.2-.3-.2z"/>
+    <path d="M301.4 246l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M302 246l.4.5-.5-.5z"/>
+    <path fill="#313931" d="M302.4 246l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M303 246l.4.5-.5-.5z"/>
+    <path fill="#52525a" d="M305 246l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M305.4 246l.6.5-.6-.5z"/>
+    <path fill="#7b7373" d="M221.2 246.4l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M222 246.6l.4.2-.3-.2m2 0l.3.2-.3-.2z"/>
+    <path fill="#ada5a5" d="M225.7 246.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M226.2 246.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M227.2 246.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M228.2 246.4l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M228.7 246.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M229.3 246.4l.4.5-.4-.5z"/>
+    <path fill="#428c00" d="M229.8 246.4l-1 3.9h-.6l1-3.4h-.4l-.6 3.8 2-1-2.4 3.9 2-1.4-2.6 1.9-.4 2.4h.4l5-5.8-1.4.5v-.5l1.4-.4v-.5h-2l-.4-3.4z"/>
+    <path fill="#5a6b52" d="M230.3 246.4l.4.5-.4-.5z"/>
+    <path fill="#102121" d="M243.8 246.4l.5.5-.5-.5z"/>
+    <path fill="#efbd08" d="M244.3 246.4l.5.5-.5-.5z"/>
+    <path fill="#ad8c08" d="M244.8 246.4l.5.5-.5-.5z"/>
+    <path fill="#102121" d="M245.3 246.4l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M245.8 246.4l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M249.3 246.4c0 3.9 2.3 5.6 5.5 7.7-.2-3.2-3-5.7-5.5-7.7z"/>
+    <path fill="#001010" d="M249.8 246.4l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M250.8 246.4l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M254.3 246.4l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M255.2 246.6l.3.2-.3-.2z"/>
+    <path fill="#002984" d="M255.8 246.4l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M273.4 246.4l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M274.4 246.4l-1 1.5 1-1.5z"/>
+    <path fill="#941808" d="M274.9 246.4l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M279.9 246.4l-5 7.7c2.7-1.7 6.5-4.1 5-7.7z"/>
+    <path fill="#ce2110" d="M283.4 246.4l.5.5-.5-.5z"/>
+    <path fill="#6b2908" d="M283.9 246.4l.5.5-.5-.5z"/>
+    <path fill="#9c7b08" d="M284.4 246.4l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M284.9 246.4l-.5 1 .5-1z"/>
+    <path fill="#ce2110" d="M285.9 246.4l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M298 246.4l1 1-1-1z"/>
+    <path fill="#8c8c8c" d="M298.4 246.4l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M300.8 246.6l.3.2-.3-.2z"/>
+    <path fill="#103910" d="M301.4 246.4l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M302 246.4l.4 10h.5l1.5-8.5h-.5l-1 5.7h-.5l-.5-7.2z"/>
+    <path fill="#424242" d="M302.4 246.4l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M303 246.4l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M304.4 246.4l.6.5-.6-.5z"/>
+    <path fill="#7b7373" d="M305.4 246.4l.6.5-.6-.5z"/>
+    <path fill="#ada5a5" d="M306.4 246.4l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M307 246.4l-.6 1 .6-1z"/>
+    <path fill="#ada5a5" d="M308.5 246.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M221.2 247l1.5 1.4-1.5-1.5z"/>
+    <path fill="#cecece" d="M222.2 247l.5 1.4h.5l-1-1.5z"/>
+    <path fill="#9c9494" d="M222.7 247l.5.4-.5-.5z"/>
+    <path fill="#dedede" d="M224.2 247l.5.4-.5-.5z"/>
+    <path fill="#9c9494" d="M224.7 247l-.5.9.5-1z"/>
+    <path fill="#425242" d="M225.7 247l.5.4-.5-.5z"/>
+    <path fill="#213918" d="M226.2 247l.5.4-.5-.5z"/>
+    <path fill="#ada5a5" d="M226.7 247l.5.4-.5-.5z"/>
+    <path fill="#63636b" d="M228.2 247l.5.4-.5-.5z"/>
+    <path fill="#294200" d="M229.4 247.3l.2.3-.2-.4z"/>
+    <path fill="#295200" d="M230.3 247l.4.4-.4-.5z"/>
+    <path fill="#dedede" d="M230.8 247l.4.4-.4-.5z"/>
+    <path fill="#4a4208" d="M244.3 247l.5.4-.5-.5z"/>
+    <path fill="#ffce08" d="M244.8 247l.5.4-.5-.5z"/>
+    <path fill="#bd9408" d="M245.3 247l.5.4-.5-.5z"/>
+    <path fill="#00184a" d="M245.8 247l.5.4-.5-.5z"/>
+    <path fill="#001010" d="M250.3 247l.5.4-.5-.5z"/>
+    <path fill="#001039" d="M251.3 247l.5.4-.5-.5z"/>
+    <path fill="#00215a" d="M254.8 247l.5.4-.5-.5z"/>
+    <path fill="#392100" d="M255.3 247l1 .9-1-1z"/>
+    <path fill="#001010" d="M255.8 247l.5.4-.5-.5z"/>
+    <path fill="#efefef" d="M265.8 247l.5.4-.5-.5z"/>
+    <path fill="#420000" d="M273.4 247l.5.4-.5-.5z"/>
+    <path fill="#5a1008" d="M274.4 247l.5.4-.5-.5z"/>
+    <path fill="#7b1008" d="M277.9 247l.5.4-.5-.5z"/>
+    <path fill="#181000" d="M278.9 247l-1 1.4 1-1.5z"/>
+    <path fill="#002984" d="M279.4 247l.5.4-.5-.5z"/>
+    <path fill="#941808" d="M283.4 247l.5.4-.5-.5z"/>
+    <path fill="#7b5a00" d="M283.9 247l.5.4-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M285.4 247l.5.4-.5-.5z"/>
+    <path fill="#bdbdbd" d="M295 247l.4.4-.5-.5z"/>
+    <path fill="#103910" d="M295.4 247l.5.4-.5-.5z"/>
+    <path fill="#dedede" d="M296 247l.4.4-.5-.5z"/>
+    <path fill="#4a6342" d="M298 247l.4.4-.5-.5z"/>
+    <path fill="#7b7373" d="M301 247l.4.4-.5-.5z"/>
+    <path fill="#185200" d="M301.4 247l.5.4-.5-.5z"/>
+    <path fill="#7b8c73" d="M302.4 247l.5.4-.5-.5z"/>
+    <path fill="#395231" d="M304 247l.4.4-.5-.5z"/>
+    <path fill="#319400" d="M304.4 247l.6.4-.6-.5z"/>
+    <path fill="#9c9494" d="M307 247l.4.4-.4-.5z"/>
+    <path fill="#63636b" d="M308 247l.5.4-.5-.5z"/>
+    <path fill="#9c9494" d="M308.5 247l.5.4-.5-.5z"/>
+    <path fill="#7b7373" d="M221.2 247.4l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M224.7 247.4l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M225.2 247.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M225.7 247.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.2 247.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M226.7 247.4l1 1-1-1z"/>
+    <path fill="#397b00" d="M228.2 247.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M230.8 247.4l.4.5-.4-.5z"/>
+    <path fill="#002984" d="M244.3 247.4l1 1-1-1z"/>
+    <path fill="#6b5a00" d="M244.8 247.4l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M245.3 247.4l1.5 1-1.5-1z"/>
+    <path fill="#00216b" d="M246.3 247.4l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M250.8 247.4l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M251.8 247.4l.5.5-.5-.5m3.5 0l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M256.3 247.4l.5.5-.5-.5z"/>
+    <path fill="#bd9408" d="M264.3 247.4v.5l1 1.9h.5l-1.5-2.4z"/>
+    <path fill="#7b1008" d="M272.9 247.4l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M273.9 247.4l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M274.4 247.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M277.4 247.4l-.5 1 .5-1z"/>
+    <path fill="#211800" d="M277.9 247.4l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M278.9 247.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M282.9 247.4l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M283.4 247.4l-1 1.4 1-1.4z"/>
+    <path fill="#181000" d="M283.9 247.4l.5.5-.5-.5z"/>
+    <path fill="#6b5a00" d="M284.4 247.4l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M284.9 247.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M295 247.4l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M295.4 247.4l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M296 247.4l.4.5-.5-.5z"/>
+    <path fill="#6b735a" d="M298 247.4l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M298.4 247.4l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M299 247.4l.4.5-.5-.5z"/>
+    <path fill="#313931" d="M301 247.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M301.4 247.4l.5.5-.5-.5z"/>
+    <path fill="#4a6342" d="M302.4 247.4v2.4h.5l-.5-2.4z"/>
+    <path fill="#7b7373" d="M303.4 247.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M304.3 247.6l.3.1-.3-.1z"/>
+    <path fill="#63636b" d="M305 247.4l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M305.4 247.4l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M306.3 247.6l.3.1-.3-.1z"/>
+    <path fill="#8c8c8c" d="M307 247.4l-.6 1 .6-1z"/>
+    <path fill="#7b7373" d="M307.4 247.4l.6.5-.6-.5z"/>
+    <path fill="#103910" d="M308 247.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M308.5 247.4l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M220.7 247.9l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M221.2 247.9l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M223.2 247.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M224.7 247.9l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M225.2 247.9l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M225.7 247.9v1.4l1.5-.5v-.4l-1.5-.5z"/>
+    <path fill="#213918" d="M226.7 247.9l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M227.7 247.9l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M229 248l.4.2-.3-.2z"/>
+    <path fill="#8c8c8c" d="M230.8 247.9l.4.5-.4-.5z"/>
+    <path fill="#00216b" d="M245.3 247.9l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M246.8 247.9l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M250.8 247.9l1.5 1.4-1.5-1.4z"/>
+    <path fill="#181000" d="M251.3 247.9l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M252.3 247.9l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M255.8 247.9l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M256.5 248.2l.2.3-.2-.3z"/>
+    <path fill="#00216b" d="M256.8 247.9l.5.5-.5-.5z"/>
+    <path fill="#7b5a00" d="M263.8 247.9v1.9h.5l-.5-2z"/>
+    <path fill="#ffce08" d="M264.3 247.9v2.4h-2v1.4h2v5.7h.5l.5-5.7h2.5v-1.4h-2.5v-2.4h-1z"/>
+    <path fill="#b51010" d="M272.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M273.2 248l.3.2-.3-.2z"/>
+    <path fill="#b51010" d="M273.9 247.9l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M277.4 247.9l-1.5 1.9 1.5-2z"/>
+    <path fill="#002984" d="M278.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M282.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M283.9 247.9l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M284.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M295.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M296 247.9l.4.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M296.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M298 247.9l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M298.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M299 247.9l.4.5-.5-.5z"/>
+    <path fill="#52525a" d="M301 247.9l.4.5-.5-.5z"/>
+    <path fill="#395231" d="M303.4 247.9l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M304.4 247.9l.6.5-.6-.5z"/>
+    <path fill="#424242" d="M305 247.9l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M305.4 247.9l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M306 247.9l.4.5-.4-.5z"/>
+    <path fill="#52525a" d="M307 247.9l.4.5-.4-.5z"/>
+    <path fill="#185200" d="M307.4 247.9l.6.5-.6-.5z"/>
+    <path fill="#63636b" d="M308 247.9l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M221.7 248.4l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M222.2 248.4l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M223 248.5l.4.2-.3-.2z"/>
+    <path fill="#9c9494" d="M223.7 248.4l.5.4-.5-.4z"/>
+    <path fill="#424242" d="M224.7 248.4l.5.4-.5-.4z"/>
+    <path fill="#428c00" d="M225.2 248.4c-1.3 2.9-1.1 4.7 0 7.6h1l1-7.2h-.5l-.5 5.8h-1v-6.2z"/>
+    <path fill="#313931" d="M227.2 248.4l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M229 248.7v.3-.3z"/>
+    <path fill="#6b735a" d="M230.8 248.4l.4.4-.4-.4z"/>
+    <path fill="#00216b" d="M245.8 248.4l1 1-1-1z"/>
+    <path fill="#100808" d="M246.3 248.4l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M246.8 248.4l2 1.9-2-2z"/>
+    <path fill="#001039" d="M247.3 248.4l.5.4-.5-.4z"/>
+    <path fill="#181000" d="M251.8 248.4l1 1-1-1z"/>
+    <path fill="#211800" d="M252.3 248.4l2 2.3-2-2.3z"/>
+    <path fill="#00216b" d="M252.8 248.4l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M255.8 248.4l.5.4-.5-.4z"/>
+    <path fill="#181000" d="M256.8 248.4l.5.4-.5-.4z"/>
+    <path fill="#311000" d="M272.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M272.9 248.4l-.5 1 .5-1z"/>
+    <path fill="#7b1008" d="M273.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M276.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M277.9 248.4l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M281.9 248.4l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M283.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#5a6b52" d="M295.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#319400" d="M296 248.4l.4.4-.5-.4z"/>
+    <path fill="#103910" d="M296.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M297 248.4l.4.4-.5-.4z"/>
+    <path fill="#9c9494" d="M298 248.4l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M298.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M299 248.4l.4.4-.5-.4z"/>
+    <path fill="#cecece" d="M299.4 248.4l.5.4-.5-.4z"/>
+    <path fill="#315221" d="M301 248.4l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M303.4 248.4l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M305 248.4l.4.4-.4-.4z"/>
+    <path fill="#efefef" d="M305.8 248.5l.3.2-.3-.2z"/>
+    <path fill="#ada5a5" d="M306.4 248.4l.6.4-.6-.4z"/>
+    <path fill="#214210" d="M307 248.4l.4.4-.4-.4z"/>
+    <path fill="#296300" d="M307.4 248.4l.6.4-.6-.4z"/>
+    <path fill="#bdbdbd" d="M308 248.4l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M224.7 248.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M227.2 248.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M230.8 248.8l.4.5-.4-.5z"/>
+    <path fill="#002984" d="M245.8 248.8v13.4h-4.5v.5l5-.5v2.4h.5c0-4.1 1.6-12.4-1-15.8z"/>
+    <path fill="#001010" d="M246.8 248.8l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M253.3 248.8l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M256.3 248.8l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M256.8 248.8l1 1-1-1z"/>
+    <path fill="#101829" d="M257.3 248.8l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M271.9 248.8l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M272.9 248.8l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M275.9 248.8l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M277.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M280.9 248.8l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M281.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M281.9 248.8l-1.5 2 1.5-2z"/>
+    <path fill="#181000" d="M282.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M282.9 248.8l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M283.4 248.8v13.4h.5l-.5-13.4z"/>
+    <path fill="#8c8c8c" d="M295.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M296.3 249l.3.2-.3-.2z"/>
+    <path fill="#52525a" d="M297 248.8l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M298 248.8l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M298.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M299 248.8l2 12h.4a15 15 0 00-2.5-12z"/>
+    <path fill="#63636b" d="M299.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M300.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M301 248.8l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M303.4 248.8l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M304.4 248.8l.6.5-.6-.5z"/>
+    <path fill="#314231" d="M306.4 248.8l.6.5-.6-.5z"/>
+    <path fill="#319400" d="M307 248.8l.4.5-.4-.5z"/>
+    <path fill="#294221" d="M307.4 248.8l.6.5-.6-.5z"/>
+    <path fill="#efefef" d="M223.7 249.3l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M224.2 249.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M225.9 249.6l.2.4-.2-.4z"/>
+    <path fill="#294200" d="M227.2 249.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.6 249.5l.3.1-.3-.1z"/>
+    <path fill="#294200" d="M230.3 249.3l.4.5-.4-.5z"/>
+    <path fill="#315221" d="M231 249.5l.4.1-.3-.1z"/>
+    <path fill="#294200" d="M231.8 249.3l.4.5-.4-.5z"/>
+    <path fill="#8c8442" d="M232.3 249.3l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M232.8 249.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M233.3 249.3l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M246.8 249.3c0 3.6-1.8 13 .5 15.9 1 1.3 3.5 1.4 5 1.8 0-7.3 1.5-13.1-5.5-17.7z"/>
+    <path fill="#101829" d="M247.3 249.3l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M248.3 249.3l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M248.8 249.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M252.3 249.3l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M256.8 249.3l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M257.8 249.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M271.4 249.3l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M271.4 250.3l1.5-1-1.5 1z"/>
+    <path fill="#ce2110" d="M272.9 249.3l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M275.4 249.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M276.9 249.3l.5.5-.5-.5z"/>
+    <path fill="#5a1831" d="M280.4 249.3l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M280.9 249.3l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M281.9 249.3l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M277.4 267c1.6-.4 4-.6 5.2-1.8 2.6-2.6.8-12.4.8-15.9-7.8 3.5-6 10.8-6 17.7z"/>
+    <path fill="#dedede" d="M295.4 249.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M296 249.3l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M296.4 249.3l4 15.3h-.5c-.8-2.7-4-12.9-8-9 5.4.1 7.2 9.2 8 13.3h.5l6.6-19.1h-.6l-5 12.4h-.5c-1.3-4-1.2-9.8-4.5-12.9z"/>
+    <path fill="#296300" d="M297 249.3l.4.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M297.4 249.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M298 249.3l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M298.4 249.3l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M299.4 249.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M300 249.3l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M300.4 249.3l-.5 1 .5-1z"/>
+    <path fill="#297b00" d="M301 249.3l.4.5-.5-.5z"/>
+    <path fill="#395231" d="M303 249.3l.4.5-.5-.5z"/>
+    <path fill="#4a6342" d="M304.4 249.3l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M306 249.3l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M306.8 249.5l.3.1-.3-.1z"/>
+    <path fill="#8c8c8c" d="M307.4 249.3l.6.5-.6-.5z"/>
+    <path fill="#7b7373" d="M223.7 249.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M227.2 249.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M228.2 249.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M229.3 249.8l-2 .5v.4l2-1z"/>
+    <path fill="#103900" d="M229.8 249.8l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232.4 250.1l.2.3-.2-.3z"/>
+    <path fill="#428c00" d="M232.8 249.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M233.3 249.8l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M233.8 249.8l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M247.8 249.8l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M248.8 249.8l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M249.3 249.8l1 1-1-1m3.5 0l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M253.8 249.8l1.5 1.4-1.5-1.4z"/>
+    <path fill="#002984" d="M254.3 249.8l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M257.6 250l.4.1-.4-.2z"/>
+    <path fill="#002984" d="M258.3 249.8l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M261.3 249.8l.5.5-.5-.5z"/>
+    <path fill="#ada584" d="M261.8 249.8l.5.5-.5-.5z"/>
+    <path fill="#9c7b08" d="M263.8 249.8l.5.5-.5-.5z"/>
+    <path fill="#cea508" d="M265.3 249.8l.5.5-.5-.5z"/>
+    <path fill="#9c9463" d="M265.8 249.8l.5.5-.5-.5z"/>
+    <path fill="#bdb584" d="M266.3 249.8v.5h1.5l-1.5-.5z"/>
+    <path fill="#bdbdbd" d="M267.9 249.8l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M270.9 249.8l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M272.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M274.9 249.8l.5.5-.5-.5z"/>
+    <path fill="#210800" d="M275.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M275.9 249.8l-1 1.4 1-1.4z"/>
+    <path fill="#00184a" d="M276.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M279.9 249.8l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M280.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#101829" d="M281.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M293.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M294 249.8l.4.5-.5-.5z"/>
+    <path fill="#315221" d="M296 249.8l.4.5-.5-.5z"/>
+    <path fill="#103910" d="M297.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M298 249.8l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M298.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M299.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M300.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M302.4 249.8l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M303 249.8l.4.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M304.4 249.8l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M305.4 249.8l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M306 249.8l.4.5-.4-.5m1 0l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M307.4 249.8l.6.5-.6-.5z"/>
+    <path fill="#5a5231" d="M223.7 250.3l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M225.7 250.3v1.4h.5l-.5-1.4m3.6 0l.4.4-.4-.4m2.3.1l.3.2-.3-.2z"/>
+    <path fill="#214210" d="M232.8 250.3l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M233.3 250.3l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M248.3 250.3l.5.4-.5-.4z"/>
+    <path fill="#211800" d="M248.8 250.3v.4l1.5.5-1.5-1z"/>
+    <path fill="#00216b" d="M253.3 250.3l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M254.8 250.3l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M257.3 250.3l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M257.8 250.3l1.5 1.4-1.5-1.4z"/>
+    <path fill="#101810" d="M258.3 250.3l.5.4-.5-.4z"/>
+    <path fill="#bd9408" d="M261.8 250.3v1.4h.5l-.5-1.4z"/>
+    <path fill="#310000" d="M270.9 250.3l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M271.4 250.3l-.5 1 .5-1z"/>
+    <path fill="#631808" d="M271.9 250.3l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M274.4 250.3l-.5 1 .5-1z"/>
+    <path fill="#311000" d="M274.9 250.3l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M275.9 250.3l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M279.4 250.3l-.5 1 .5-1z"/>
+    <path fill="#181000" d="M279.9 250.3l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M280.9 250.3l.5.4-.5-.4z"/>
+    <path fill="#101810" d="M294 250.3l.4.4-.5-.4z"/>
+    <path fill="#efefef" d="M294.4 250.3l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M296 250.3l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M297.4 250.3l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M298 250.3l.4.4-.5-.4z"/>
+    <path fill="#315221" d="M298.4 250.3l.5.4-.5-.4z"/>
+    <path fill="#214210" d="M300 250.3l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M300.4 250.3l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M302.4 250.3v2.8h.5l-.5-2.8z"/>
+    <path fill="#297b00" d="M303 250.3l.4.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M304.4 250.3l.6.4-.6-.4z"/>
+    <path fill="#63636b" d="M305.4 250.3l.6.4-.6-.4z"/>
+    <path fill="#297b00" d="M306 250.3l.4.4-.4-.4z"/>
+    <path fill="#5a6b52" d="M307 250.3l.4.4-.4-.4z"/>
+    <path fill="#294200" d="M223.7 250.8l.5.4-.5-.4m4 0l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M230.8 250.8l.4.4-.4-.4z"/>
+    <path fill="#397b00" d="M231.3 250.8l.4.4-.4-.4z"/>
+    <path fill="#294200" d="M232.3 250.8l.4.4-.4-.4z"/>
+    <path fill="#cecece" d="M232.8 250.8l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M248.8 250.8l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M250.3 250.8l1 .9-1-1z"/>
+    <path fill="#00184a" d="M253.8 250.8l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M254.3 250.8l4 3.8-4-3.9z"/>
+    <path fill="#001039" d="M257.8 250.8l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M270.4 250.8l.5.4-.5-.4z"/>
+    <path fill="#311000" d="M271.4 250.8l.5.4-.5-.4m3 0l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M275.4 250.8l.5.4-.5-.4z"/>
+    <path fill="#211800" d="M278.9 251.7l1.5-.5-1.5.5z"/>
+    <path fill="#00215a" d="M280.4 250.8l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M294 250.8l.4.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M294.4 250.8l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M296 250.8l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M296.4 250.8l.5.4-.5-.4z"/>
+    <path fill="#295210" d="M298 250.8l.4.4-.5-.4z"/>
+    <path fill="#395231" d="M298.4 250.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M300 250.8l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M300.4 250.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M304 250.8l.4.4-.5-.4z"/>
+    <path fill="#9c9494" d="M304.4 250.8l.6.4-.6-.4z"/>
+    <path fill="#dedede" d="M305 250.8l.4.4-.4-.4z"/>
+    <path fill="#184a00" d="M305.4 250.8l.6.4-.6-.4z"/>
+    <path fill="#296300" d="M306.4 250.8l.6.4-.6-.4z"/>
+    <path fill="#ada5a5" d="M307 250.8l.4.4-.4-.4z"/>
+    <path fill="#cecece" d="M223.2 251.2l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M223.7 251.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M227.7 251.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M228.2 251.2l-.5 1.5h.5v-1.5m2 0l-.5 1 .5-1z"/>
+    <path fill="#397b00" d="M231.8 251.2l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M232.3 251.2l.4.5-.4-.5m2 0l.4.5-.4-.5z"/>
+    <path fill="#002984" d="M249.3 251.2l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M250.3 251.2l2 2-2-2z"/>
+    <path fill="#001039" d="M254.3 251.2l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M255.3 251.2l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M258.3 251.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M259.3 251.2l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M269.9 251.2l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M269.9 252.2l1.5-.5-1.5.5z"/>
+    <path fill="#bd2110" d="M271.4 251.2l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M273.9 251.2l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M274.4 251.2l.5.5-.5-.5z"/>
+    <path fill="#101829" d="M274.9 251.2l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M278.4 251.2l-.5 1 .5-1z"/>
+    <path fill="#181000" d="M279.4 251.2l-.5 1 .5-1z"/>
+    <path fill="#00216b" d="M279.9 251.2l.5.5-.5-.5z"/>
+    <path fill="#426331" d="M294 251.2l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M294.4 251.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M295 251.2l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M296.4 251.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M298 251.2l.4.5-.5-.5z"/>
+    <path fill="#001000" d="M298.4 251.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M300.4 251.2l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M304 251.2l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M304.4 251.2l.6.5-.6-.5z"/>
+    <path fill="#63636b" d="M305 251.2l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M305.4 251.2l.6.5-.6-.5z"/>
+    <path fill="#315221" d="M306.4 251.2l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M223.4 252l.2.3-.2-.3z"/>
+    <path fill="#295200" d="M225.7 251.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M227.4 252l.2.3-.2-.3m.8-.3l.6.5-.6-.5z"/>
+    <path fill="#425242" d="M231.8 251.7l.4.5-.4-.5z"/>
+    <path fill="#001000" d="M234.3 251.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M234.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M238.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M239.3 251.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M239.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M250.3 251.7l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M254.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M255.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M258.3 251.7l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M259.2 251.9l.3.1-.3-.1z"/>
+    <path fill="#dedede" d="M261.3 251.7l.5.5-.5-.5z"/>
+    <path fill="#ada584" d="M261.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#9c7b08" d="M263.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#cea508" d="M265.3 251.7l.5.5-.5-.5z"/>
+    <path fill="#9c9463" d="M265.8 251.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M267.9 251.7l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M269.4 251.7l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M270.4 251.7l-1 1.4 1-1.4z"/>
+    <path fill="#941808" d="M270.9 251.7l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M273.4 251.7l-1 1.4 1-1.4z"/>
+    <path fill="#392100" d="M273.9 251.7l-1 1.4 1-1.4z"/>
+    <path fill="#001010" d="M274.4 251.7l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M278.4 251.7l-1.5 1.9 1.5-1.9z"/>
+    <path fill="#002984" d="M279.4 251.7l.5.5-.5-.5z"/>
+    <path fill="#4a6342" d="M294 251.7l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M294.4 251.7l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M295 251.7l.4.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M296.4 251.7l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M298.4 251.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M300.4 251.7l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M301 251.7l-.6 1 .5-1z"/>
+    <path fill="#185200" d="M304 251.7l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M304.4 251.7l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M305 251.7l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M306 251.7l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M306.4 251.7l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M308 251.7l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M308.5 251.7l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M309 251.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M309.5 251.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M225.2 252.2v2.4h1v-2.4h-1z"/>
+    <path fill="#103900" d="M229.3 252.2l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M231.3 252.2l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M231.8 252.2l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M233.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M234.3 252.2l1 1-1-1z"/>
+    <path fill="#425242" d="M234.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M237.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M238.3 252.2l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M238.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#396b10" d="M239.3 252.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M239.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M250.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M251.8 252.2l1 1-1-1z"/>
+    <path fill="#002984" d="M252.3 252.2l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M255.3 252.2l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M256.3 252.2l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M258.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M259.3 252.2l1 1-1-1z"/>
+    <path fill="#001010" d="M259.8 252.2l.5.5-.5-.5z"/>
+    <path fill="#7b5a00" d="M263.8 252.2v5.2h.5l-.5-5.2z"/>
+    <path fill="#420000" d="M269.4 252.2l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M270.4 252.2l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M273.9 252.2l.5.5-.5-.5z"/>
+    <path fill="#314a7b" d="M274.4 252.2l.5.5-.5-.5z"/>
+    <path fill="#001010" d="M277.4 252.2l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M294 252.2l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M294.4 252.2l2.5 4.3h.5l-3-4.3z"/>
+    <path fill="#296300" d="M295 252.2l.4.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M295.4 252.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M296.4 252.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M297 252.2l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M298.4 252.2l1 1-1-1z"/>
+    <path fill="#297b00" d="M299 252.2l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M301 252.2l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M304 252.2l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M304.4 252.2l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M305 252.2l.4.5-.4-.5z"/>
+    <path fill="#185200" d="M306 252.2l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M306.4 252.2l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M307.4 252.2l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M308 252.2l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M305.4 255.5l5-1.4-1-2-4 3.4z"/>
+    <path fill="#214210" d="M309.5 252.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M310 252.2l.5.5-.5-.5m-86.8.5l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M223.7 252.7l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M227.4 253l.2.3-.2-.3m1.3-.4l.6.5-.6-.4z"/>
+    <path fill="#397b00" d="M229.3 252.7l.4.4-.4-.4z"/>
+    <path fill="#425242" d="M231.3 252.7l.4.4-.4-.4z"/>
+    <path fill="#bdbdbd" d="M233.8 252.7l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M234.3 252.7l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M235.3 252.7l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M237.3 252.7l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M237.8 252.7l.5.4-.5-.4z"/>
+    <path fill="#428c00" d="M236.3 259.8h-.5v-5.2h-.5l-.5 2.4h-.5v-2.4h-.5l-3 11h.4l1-2h.5l-1 2.4h.5l2.5-3.3-2 4.3h.5l5.1-7.2 1-7.1c-3.3 1.5-3 4-3 7.1z"/>
+    <path fill="#63636b" d="M239.3 252.7l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M251.3 252.7l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M252.8 252.7l1 1-1-1z"/>
+    <path fill="#efefef" d="M255.3 252.7l1.5 1.4-1.5-1.4z"/>
+    <path fill="#313931" d="M255.8 252.7l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M256.8 252.7l.5.4-.5-.4z"/>
+    <path fill="#101829" d="M259.3 252.7l.5.4-.5-.4z"/>
+    <path d="M260.3 252.7l.5.4-.5-.4z"/>
+    <path fill="#210800" d="M268.9 252.7l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M270.4 252.7l.5.4-.5-.4z"/>
+    <path fill="#292921" d="M273.4 252.7l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M273.9 252.7l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M276.4 252.7l.5.4-.5-.4z"/>
+    <path fill="#181000" d="M276.9 252.7l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M277.9 252.7l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M294 253l.2.3-.1-.3z"/>
+    <path fill="#297b00" d="M294.4 252.7l.5.4-.5-.4z"/>
+    <path fill="#103910" d="M295.4 252.7l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M296 252.7l.4.4-.5-.4z"/>
+    <path fill="#dedede" d="M296.4 252.7l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M297 252.7l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M298.4 252.7l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M301 252.7l.4.4-.5-.4z"/>
+    <path fill="#294221" d="M304 252.7l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M304.4 252.7l.6.4-.6-.4z"/>
+    <path fill="#425242" d="M306 252.7l.4.4-.4-.4z"/>
+    <path fill="#63636b" d="M307 252.7l-1 1.4 1-1.4z"/>
+    <path fill="#297b00" d="M307.4 252.7l.6.4-.6-.4z"/>
+    <path fill="#425242" d="M310 252.7l.5.4-.5-.4z"/>
+    <path fill="#396b10" d="M223.7 253.1l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M228.2 253.1l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.7 253.1l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M230.8 253.1l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M231.3 253.1l-.6 1 .6-1z"/>
+    <path fill="#7b7373" d="M233.8 253.1l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M234.6 253.3l.3.1-.3-.1z"/>
+    <path fill="#7b7373" d="M235.3 253.1l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M236.8 253.1l-.5 1 .5-1z"/>
+    <path fill="#397b00" d="M237.3 253.1l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M239.3 253.1l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M251.8 253.1l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M252.6 253.3l.4.1-.4-.1z"/>
+    <path fill="#313931" d="M256.3 253.1l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M257.3 253.1l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M259.8 253.1l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M260.5 253.4l.2.4-.2-.4z"/>
+    <path fill="#bdbdbd" d="M260.8 253.1l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M268.4 253.1l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M269.9 253.1l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M271.9 253.1l-1 1.5 1-1.5z"/>
+    <path fill="#211800" d="M272.4 253.1l-2.5 2.9 2.5-2.9z"/>
+    <path fill="#212118" d="M272.9 253.1l-.5 1 .5-1z"/>
+    <path fill="#cecece" d="M273.4 253.1l-1 1.5 1-1.5z"/>
+    <path fill="#00216b" d="M275.9 253.1l-.5 1 .5-1z"/>
+    <path fill="#181000" d="M276.4 253.1l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M277.4 253.1l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M293 253.1l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M293.4 253.1l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M294.4 253.1l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 253.1l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M296 253.1l.4.5-.5-.5z"/>
+    <path fill="#395231" d="M297 253.1l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M299 253.1v1.5h.4l-.5-1.5z"/>
+    <path fill="#296300" d="M301.3 253.3l.3.1-.3-.1m1.1-.2l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M304 253.1l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M304.4 253.1l.6.5-.6-.5m1 0l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M306 253.1l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M307 253.1l.4.5-.4-.5z"/>
+    <path fill="#296300" d="M310 253.1l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M310.5 253.1l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M223.7 253.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M226.7 253.6v.5h1.5l-1.5-.5z"/>
+    <path fill="#294200" d="M228.2 253.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.8 253.6l.4.5-.4-.5z"/>
+    <path fill="#52525a" d="M230.3 253.6l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M233.3 253.6l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M233.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M233.8 254v.6l1.5.4v-1.4l-1.5.5z"/>
+    <path fill="#5a5231" d="M235.3 253.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M236.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M238.6 253.8l.3.1-.3-.1z"/>
+    <path fill="#dedede" d="M239.3 253.6l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M252.3 253.6l.5.5-.5-.5z"/>
+    <path fill="#212118" d="M252.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M253.3 253.6l2 2-2-2z"/>
+    <path fill="#001039" d="M253.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M256.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M257.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M259.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#211810" d="M260.8 253.6l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M261.3 253.6l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M268.4 253.6l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M268.9 253.6l-.5 1 .5-1z"/>
+    <path fill="#631808" d="M269.4 253.6l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M276.2 253.8l.3.1-.3-.1z"/>
+    <path fill="#313931" d="M276.9 253.6l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M292.4 253.6l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M293 253.6l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M293.4 253.6l.5.5-.5-.5z"/>
+    <path fill="#295210" d="M294 253.6l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M294.4 253.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M296 253.6l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M296.4 253.6l1 1-1-1z"/>
+    <path fill="#8c8c8c" d="M297 253.6l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M301.4 253.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M303.4 253.6l1 1-1-1z"/>
+    <path fill="#184a00" d="M304 253.6l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M305.4 253.6l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M306.4 253.6l.6.5-.6-.5m1 0l-3 2v.4l1 .5 2-2.9z"/>
+    <path fill="#214210" d="M308 253.6l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M308.5 253.6l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M309 253.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M309.5 253.6l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M310.5 253.6l-.5 1 .5-1z"/>
+    <path fill="#bdbdbd" d="M223.7 254l.5.6-.5-.5z"/>
+    <path fill="#295200" d="M224.2 254l.5.6-.5-.5z"/>
+    <path fill="#103900" d="M226.7 254l.5.6-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.7 254l-.5 1 .5-1z"/>
+    <path fill="#5a5231" d="M229.3 254l.4.6-.4-.5z"/>
+    <path fill="#bdbdbd" d="M229.8 254l.4.6-.4-.5z"/>
+    <path fill="#9c9494" d="M233.3 254l.5.6-.5-.5z"/>
+    <path fill="#295200" d="M235.3 254l1 1-1-1z"/>
+    <path fill="#52525a" d="M235.8 254l.5.6-.5-.5z"/>
+    <path fill="#397b00" d="M236.3 254l.5.6-.5-.5z"/>
+    <path fill="#294200" d="M238 254.4l.1.3-.2-.3m.9-.3v3.3h.5l-.5-3.3z"/>
+    <path fill="#8c8c8c" fill-opacity=".5" d="M252.3 254v13h.5l-.5-13z"/>
+    <path fill="#cecece" d="M252.8 254l.5.6-.5-.5z"/>
+    <path fill="#211810" d="M253.3 254l.5.6-.5-.5z"/>
+    <path fill="#001039" d="M254.3 254l.5.6-.5-.5z"/>
+    <path fill="#cecece" d="M256.8 254l1.5 1.5-1.5-1.4z"/>
+    <path fill="#212118" d="M257.3 254l.5.6-.5-.5z"/>
+    <path fill="#00215a" d="M258.3 254l.5.6-.5-.5z"/>
+    <path fill="#001039" d="M260.3 254l.5.6-.5-.5z"/>
+    <path fill="#392100" d="M260.8 254l1 1-1-1z"/>
+    <path fill="#424242" d="M261.3 254l.5.6-.5-.5z"/>
+    <path fill="#7b7373" d="M267.9 254l.5.6-.5-.5z"/>
+    <path fill="#310000" d="M268.9 254l.5.6-.5-.5z"/>
+    <path fill="#001039" d="M274.9 254l.5.6-.5-.5z"/>
+    <path fill="#392100" d="M275.4 254l-1.5 2 1.5-2z"/>
+    <path fill="#212118" d="M275.9 254l.5.6-.5-.5z"/>
+    <path fill="#ada5a5" d="M276.4 254l.5.6-.5-.5z"/>
+    <path fill="#8c8c8c" d="M276.9 254v13h.5l-.5-13m15 0l.5.6-.5-.5z"/>
+    <path fill="#296300" d="M292.4 254l.5.6-.5-.5z"/>
+    <path fill="#185200" d="M294.4 254l.5.6-.5-.5z"/>
+    <path fill="#296300" d="M295 254l.4.6-.5-.5z"/>
+    <path fill="#214210" d="M296.4 254l.5.6-.5-.5z"/>
+    <path fill="#296300" d="M297.4 254l.5.6-.5-.5z"/>
+    <path fill="#184a00" d="M301.4 254l.5.6-.5-.5z"/>
+    <path fill="#297b00" d="M302 254l-.6 1 .5-1z"/>
+    <path fill="#185200" d="M303.4 254l.5.6-.5-.5z"/>
+    <path fill="#314231" d="M307.4 254l-1 1.5 1-1.4z"/>
+    <path fill="#efefef" d="M308 254l-1.5 2 1.5-2z"/>
+    <path fill="#bdbdbd" d="M309.5 254l.5.6-.5-.5z"/>
+    <path fill="#185200" d="M310.5 254l.5.6-.5-.5z"/>
+    <path fill="#ada5a5" d="M311 254l.5.6-.5-.5z"/>
+    <path fill="#63636b" d="M224.2 254.6l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M226.7 254.6l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M227.2 254.6l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M228.7 254.6l-.5 1 .5-1z"/>
+    <path fill="#7b7373" d="M229.3 254.6l.4.4-.4-.4z"/>
+    <path fill="#8c8c8c" d="M229.8 254.6l.4.4-.4-.4z"/>
+    <path fill="#efefef" d="M230.3 254.6l.4.4-.4-.4m2.4 0l.6.4-.6-.4z"/>
+    <path fill="#214210" d="M233.3 254.6l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M253.3 254.6l1 1-1-1z"/>
+    <path fill="#313931" d="M253.8 254.6l.5.4-.5-.4z"/>
+    <path d="M254.8 254.6l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M255.3 254.6l.5.4-.5-.4z"/>
+    <path fill="#212118" d="M257.8 254.6l1 1-1-1z"/>
+    <path fill="#211800" d="M258.3 254.6l2 2.3-2-2.3z"/>
+    <path fill="#00216b" d="M258.8 254.6l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M260.3 254.6v1.4h.5l-.5-1.4z"/>
+    <path fill="#313931" d="M260.8 254.6l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M261.8 254.6l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M267.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#211800" d="M268 254.9l.2.3-.2-.3z"/>
+    <path fill="#211810" d="M268.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M270.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M271.9 254.6l-1 1.4 1-1.4z"/>
+    <path fill="#efefef" d="M273.9 254.6l-.5 1 .5-1z"/>
+    <path fill="#292921" d="M274.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#211810" d="M275.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M275.9 254.6l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M291.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M292 254.6l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M295 254.6l1.4 1.4-1.5-1.4z"/>
+    <path fill="#297b00" d="M295.4 254.6l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M297 254.6l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M297.4 254.6l.5.4-.5-.4m1.5 0l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M299.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M302 254.6l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M303.4 254.6l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M305 254.6l.4.4-.4-.4z"/>
+    <path fill="#8c8c8c" d="M310.5 254.6l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M311 254.6l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M224.2 255l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M224.7 255l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M226.6 255.2l.3.2-.3-.2z"/>
+    <path fill="#295200" d="M227.7 255l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M229.3 255l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M229.8 255l.4.5-.4-.5z"/>
+    <path fill="#396b10" d="M230.3 255l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M230.8 255l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M231.3 255l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M232.8 255l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M234.3 255l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M235.8 255v4.3h.5l-.5-4.3z"/>
+    <path fill="#397b00" d="M237.6 255.2l.3.2-.3-.2z"/>
+    <path fill="#52525a" d="M254.3 255l.5.5-.5-.5z"/>
+    <path fill="#211810" d="M255.3 255l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M255.8 255l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M259.3 255l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M260.8 255l.5.5-.5-.5z"/>
+    <path fill="#392121" d="M261.3 255l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M261.8 255l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M262.3 255l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M266.9 255l.5.5-.5-.5z"/>
+    <path fill="#211810" d="M267.4 255l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M268.4 255l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M269.9 255l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M273.9 255l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M275.4 255l-.5 1 .5-1z"/>
+    <path fill="#294221" d="M291.4 255l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M292.4 255l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M293 255l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M293.4 255l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M296 255l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M297 255l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M297.4 255l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M299.3 255.2l.3.2-.3-.2z"/>
+    <path fill="#184a00" d="M302 255l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M303 255l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M303.4 255l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M305 255l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M308.1 255.4l.2.3-.2-.3z"/>
+    <path fill="#63636b" d="M224.7 255.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.4 255.8l.2.4-.2-.4z"/>
+    <path fill="#8c8c8c" d="M227.7 255.5l.5.5-.5-.5m1.7.3l.2.4-.2-.4z"/>
+    <path fill="#397b00" d="M230 255.7l.4.1-.3-.1z"/>
+    <path fill="#428c00" d="M230.8 255.5l.4 4.3h.6l-1-4.3z"/>
+    <path fill="#315221" d="M231.3 255.5l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M231.8 255.5l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M232.3 255.5l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M254.8 255.5l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M255.3 255.5l1.5 1v-.5l-1.5-.5z"/>
+    <path fill="#212118" d="M255.8 255.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M258.3 255.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M259.8 255.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M261.3 255.5l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M261.8 255.5l1.5 1.5-1.5-1.5z"/>
+    <path fill="#313931" d="M262.3 255.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M262.8 255.5l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M266.9 255.5l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M267.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M267.9 255.5l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M269.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M272.9 255.5l.5.5-.5-.5z"/>
+    <path fill="#211810" d="M273.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M274.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M291 255.5l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M291.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M292 255.5l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M292.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M293 255.5l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M293.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M294 255.5l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M297.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M299 255.5l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M299.4 255.5l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M302 255.5l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M303 255.5l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M305 255.5l.4.5-.4-.5z"/>
+    <path fill="#293129" d="M306 255.5l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M307 255.5l.4.5-.4-.5z"/>
+    <path fill="#292921" d="M307.4 255.5l.6.5-.6-.5z"/>
+    <path fill="#424242" d="M222.7 256l1 1-1-1z"/>
+    <path fill="#dedede" d="M223.2 256l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M224.7 256l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M225.2 256l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M225.7 256l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M227.2 256l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M229.8 256c-.2 2.5-.7 4.8 2 6.2l-2-6.2z"/>
+    <path fill="#294200" d="M230.4 256.3l.2.3-.2-.3z"/>
+    <path fill="#214210" d="M231.8 256l.4.5-.4-.5z"/>
+    <path fill="#424242" d="M232.3 256l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M255.3 256l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M258.8 256l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M259.8 256l1 1-1-1z"/>
+    <path fill="#001039" d="M260.3 256l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M261.8 256l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M262.8 256l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M266.3 256l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M266.9 256l.5.5-.5-.5z"/>
+    <path d="M267.4 256l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M267.9 256l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M268.4 256l-.5 1.4.5-1.4z"/>
+    <path fill="#5a1008" d="M268.9 256l.5.5-.5-.5z"/>
+    <path fill="#210800" d="M269.4 256l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M269.9 256l-.5 1 .5-1z"/>
+    <path fill="#63636b" d="M270.4 256l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M272.4 256l.5.5-.5-.5z"/>
+    <path fill="#212118" d="M272.9 256l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M273.4 256l-1 1.4 1-1.4z"/>
+    <path fill="#63636b" d="M273.9 256l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M290.4 256l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M291.2 256.1l.4.2-.4-.2z"/>
+    <path fill="#9c9494" d="M292 256l.4.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M294 256l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M294.4 256l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M296.4 256l.5.5-.5-.5m1 0l1 1-1-1z"/>
+    <path fill="#297b00" d="M298 256l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M299.4 256l.5.5-.5-.5m2.5 0l1 1-1-1z"/>
+    <path fill="#103900" d="M303 256l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M304.4 256l1 1-1-1z"/>
+    <path fill="#214210" d="M305.4 256l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M306 256l-.6 1 .6-1z"/>
+    <path fill="#9c9494" d="M306.4 256l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M307 256l.4.5-.4-.5z"/>
+    <path fill="#294221" d="M307.4 256l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M310 256l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M310.5 256l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M222.7 256.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M223.7 256.5l.5.5-.5-.5z"/>
+    <path fill="#5a1010" d="M224.7 256.5l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M225.2 256.5l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M225.7 256.5l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M226.2 256.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M226.7 256.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M227.2 256.5l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M229.3 256.5l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M232.3 256.5l-.6 1 .6-1m2 0l.4.5-.4-.5z"/>
+    <path fill="#ada5a5" d="M255.8 256.5l.5.5-.5-.5z"/>
+    <path fill="#212118" d="M256.3 256.5l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M256.8 256.5l2 1.9-2-2z"/>
+    <path fill="#63636b" d="M257.3 256.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M259 256.8l.2.3-.2-.3z"/>
+    <path fill="#520808" d="M259.3 256.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M260.8 256.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M261.8 256.5l.5.5-.5-.5z"/>
+    <path fill="#392121" d="M262.3 256.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M263.3 256.5l.5.5-.5-.5z"/>
+    <path fill="#9c7b08" d="M265.3 256.5l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M265.8 256.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M266.3 256.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M266.9 256.5l.5.5-.5-.5z"/>
+    <path d="M268.9 256.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M270.5 256.8l.2.3-.2-.3z"/>
+    <path fill="#9c9494" d="M271.9 256.5l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M290.4 256.5l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M291 256.5l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M291.4 256.5l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M294.4 256.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M295 256.5l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M296.4 256.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M296.4 257.4l1.5-.4-1.5.4z"/>
+    <path fill="#103900" d="M299.4 256.5l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M302 256.5v1.4h.4l-.5-1.4m1 0l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M304.4 256.5l-.4 1.4.4-1.4z"/>
+    <path fill="#8c8c8c" d="M306 256.5l.4.5-.4-.5z"/>
+    <path fill="#185200" d="M306.4 256.5l-.4 1 .4-1z"/>
+    <path fill="#296300" d="M307 256.5l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M307.4 256.5l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M309 256.5l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M309.5 256.5l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M310 256.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M310.5 256.5l-1 1.4 1-1.4z"/>
+    <path fill="#295200" d="M222.7 257l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M223.2 257l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M223.7 257l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M224.2 257l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M224.7 257l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M226.2 257l.5.4-.5-.4z"/>
+    <path fill="#313931" d="M226.7 257l.5.4-.5-.4z"/>
+    <path fill="#526b42" d="M229.3 257l.4.4-.4-.4z"/>
+    <path fill="#397b00" d="M230.6 257.1l.3.2-.3-.2m1.7-.2l.4.5-.4-.4z"/>
+    <path fill="#295200" d="M233.8 257l.5.4-.5-.4z"/>
+    <path fill="#524242" d="M256.3 257l.5.4-.5-.4z"/>
+    <path fill="#210800" d="M256.8 257l.5.4-.5-.4z"/>
+    <path fill="#424242" d="M257.8 257l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M258.3 257l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M259.5 257.3l.2.3-.2-.3z"/>
+    <path fill="#5a1008" d="M259.8 257l1 .9-1-1z"/>
+    <path fill="#392100" d="M260.3 257l1 .9-1-1z"/>
+    <path fill="#211810" d="M260.8 257l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M261.3 257l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M262.3 257l-.5.9.5-1z"/>
+    <path fill="#211800" d="M262.8 257l.5.4-.5-.4z"/>
+    <path fill="#212118" d="M263.3 257l.5.4-.5-.4z"/>
+    <path fill="#6b5a10" d="M264.8 257l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M265.3 257l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M266.3 257l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M266.9 257l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M267.4 257l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M268.4 257l.5.4-.5-.4z"/>
+    <path fill="#313931" d="M268.9 257l.5.4-.5-.4z"/>
+    <path fill="#de2110" d="M270 257.3l.2.3-.2-.3z"/>
+    <path fill="#63636b" d="M271.4 257l.5.4-.5-.4z"/>
+    <path fill="#392100" d="M271.9 257l-1.5 1.8 1.5-1.9z"/>
+    <path fill="#524242" d="M272.9 257l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M290.4 257l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M293 257l.4.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M293.4 257l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M294.4 257l-.5.9.5-1z"/>
+    <path fill="#214210" d="M295 257l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M297 257l.4.4-.5-.4z"/>
+    <path fill="#319400" d="M297.4 257l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M298 257l-.6 1.4.5-1.4z"/>
+    <path fill="#184a00" d="M299.4 257l.5.4-.5-.4z"/>
+    <path fill="#082108" d="M302.4 257l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M304 257l.4.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M305.1 257.3l.2.3-.2-.3z"/>
+    <path fill="#63636b" d="M305.4 257l.6.4-.6-.4z"/>
+    <path fill="#319400" d="M306.4 257l-3.5 5.2 3.6-5.3z"/>
+    <path fill="#294221" d="M307 257l.4.4-.4-.4z"/>
+    <path fill="#bdbdbd" d="M308 257l.5.4-.5-.4z"/>
+    <path fill="#425242" d="M308.5 257l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M309 257l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M309.5 257l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M222.7 257.4v1l1-1h-1z"/>
+    <path fill="#428c00" d="M223.7 257.4l1 2-1.5-1c.5 2 1 3 3 3.8v.5l-2-.5 1 1.4-1.5-.5 4.5 4.3.5-1.9 1.5 1-3-2.9v-.5l1.5.5a8.8 8.8 0 00-5-6.2z"/>
+    <path fill="#294200" d="M224.2 257.4l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M224.7 257.4l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M225.2 257.4l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M226.2 257.4l1 1-1-1z"/>
+    <path fill="#7b7373" d="M226.7 257.4l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M227.2 257.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M229.3 257.4l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M230.8 257.4l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M231.8 257.4v4.3h.4l-.4-4.3m2.1.4l.2.3-.2-.4z"/>
+    <path fill="#295200" d="M237.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#527b31" d="M238.8 257.4l.5.5-.5-.5z"/>
+    <path fill="#734a42" fill-opacity=".6" d="M256.3 257.4V268h.5l-.5-10.5z"/>
+    <path fill="#ce2110" d="M256.8 257.4l1 1-1-1z"/>
+    <path fill="#311000" d="M257.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M258.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M258.8 257.4l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M259.8 257.4v1h1l-1-1z"/>
+    <path fill="#313931" d="M261.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M262.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M262.8 257.4l.5.5-.5-.5z"/>
+    <path fill="#392121" d="M263.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#423100" d="M263.8 257.4l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M264.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M264.8 257.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M265.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M265.8 257.4l-.5 1 .5-1z"/>
+    <path fill="#9c9494" d="M266.3 257.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M268.9 257.4l-2 1v.5l2.5-1-.5-.5z"/>
+    <path fill="#ada5a5" d="M270.4 257.4l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M270.9 257.4l.5.5-.5-.5z"/>
+    <path fill="#210800" d="M271.9 257.4l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M272.4 257.4l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M272.9 257.4l-.5 11h.5a19 19 0 000-11z"/>
+    <path d="M293.4 257.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M295 257.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 257.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M297 257.4l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M297.4 257.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M299.8 257.6l.3.1-.3-.1z"/>
+    <path fill="#103900" d="M302.4 257.4l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M304.4 257.4l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M305.4 257.4l.6.5-.6-.5m1 0l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M307 257.4l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M307.4 257.4l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M308 257.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M308.5 257.4l-1 .5v.5l1-1z"/>
+    <path fill="#52525a" d="M309 257.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M223.2 257.9l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M223.7 257.9l.5.5-.5-.5z"/>
+    <path fill="#293100" d="M225.2 257.9l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M225.7 257.9l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M226.2 257.9l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M227.2 257.9l.5.5-.5-.5z"/>
+    <path fill="#5a2121" d="M227.7 257.9l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M228.2 257.9l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M228.7 257.9l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.3 257.9l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M237.1 258l.3.2-.3-.1z"/>
+    <path fill="#526b42" d="M238.8 257.9l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M256.8 257.9v10l5.5 1c-1.2-3.6-1.9-9-5.5-11z"/>
+    <path fill="#5a1008" d="M257.8 257.9l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M258.8 257.9l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M259.3 257.9l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M260.8 257.9l.5.5-.5-.5z"/>
+    <path fill="#524242" d="M261.3 257.9l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M262 258.2l.2.3-.2-.3z"/>
+    <path fill="#efefef" d="M263.8 257.9l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M264.5 258.2l.2.3-.2-.3z"/>
+    <path fill="#bdbdbd" d="M264.8 257.9l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M266.9 257.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M268.9 257.9l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M269.4 257.9l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M269.9 257.9l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M270.4 257.9l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M271.4 257.9l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M271.9 257.9l-.5 1 .5-1z"/>
+    <path fill="#de2110" d="M272.4 257.9l-2 1.4 2 6.2-3.5 1 .5 1.9 3.5-.5-.5-10z"/>
+    <path fill="#214210" d="M293.4 257.9l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M294 257.9l.4.5-.5-.5z"/>
+    <path fill="#395231" d="M295.4 257.9l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M298 257.9l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M298.4 257.9l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M300 257.9v1.4h.4l-.5-1.4z"/>
+    <path fill="#185200" d="M302 257.9l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M302.4 257.9l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M304 257.9l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M304.4 257.9l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M305 257.9l.4.5-.4-.5z"/>
+    <path fill="#102110" d="M306.4 257.9l.6.5-.6-.5z"/>
+    <path fill="#314231" d="M307 257.9l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M308 258.4v.5h1.5l-1.5-.5z"/>
+    <path fill="#426331" d="M222.7 258.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M223.7 258.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M224.2 258.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M225.7 258.4l1.5 1.4-1.5-1.4z"/>
+    <path fill="#211800" d="M226.2 258.4l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M228 258.7v.3-.3z"/>
+    <path fill="#7b7373" d="M228.4 258.7l.2.3-.2-.3z"/>
+    <path fill="#bdbdbd" d="M228.7 258.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M229.3 258.4l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M233.8 258.4l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M238.8 258.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M258.3 258.4l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M258.8 258.4l1 1v-1h-1z"/>
+    <path fill="#631808" d="M259.8 258.4l.5.5-.5-.5z"/>
+    <path fill="#5a2121" d="M260.3 258.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M261 258.7l.2.3-.2-.3z"/>
+    <path fill="#8c8c8c" d="M262.3 258.4v.5h1.5l-1.5-.5z"/>
+    <path fill="#bdbdbd" d="M263.8 258.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M265.8 258.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M266.3 258.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M267.4 258.4l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M269.4 258.4l.5.5-.5-.5z"/>
+    <path fill="#211800" d="M269.9 258.4l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M270.9 258.4l.5.5-.5-.5z"/>
+    <path fill="#4a6342" d="M293.4 258.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M294 258.4l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M294.4 258.4l.5.5-.5-.5m1.2.3l.2.3-.2-.3z"/>
+    <path fill="#185200" d="M296 258.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M297.4 258.4l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M298 258.4l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M298.4 258.4l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M302.1 258.7l.2.3-.2-.3z"/>
+    <path fill="#296300" d="M303.4 258.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M304 258.4l.4.5-.5-.5z"/>
+    <path fill="#314231" d="M304.4 258.4l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M306 258.4l.4.5-.4-.5z"/>
+    <path fill="#184a00" d="M306.4 258.4l.6.5-.6-.5z"/>
+    <path fill="#319400" d="M307 258.4l-.6 1 .6-1z"/>
+    <path fill="#296300" d="M307.4 258.4l.6.5-.6-.5z"/>
+    <path fill="#efefef" d="M308.5 258.4l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M309.5 258.4l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M222.7 258.9l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M224.2 258.9l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M226.7 258.9l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M228.7 258.9l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M233.6 259l.3.2-.3-.2z"/>
+    <path fill="#8c8c8c" d="M238.8 258.9l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M258.8 258.9l.5.4-.5-.4z"/>
+    <path d="M259.8 258.9l2.5 9.5c3-1 7.8-1.5 9.6-4.3l-9 2.9-3-8.1z"/>
+    <path fill="#ada5a5" d="M260.3 258.9l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M261.3 258.9l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M261.8 258.9l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M264.3 258.9l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M264.8 258.9l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M266.3 258.9l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M268 259.2l.2.3-.2-.3z"/>
+    <path fill="#9c9494" d="M268.4 258.9l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M269.2 259l.3.2-.3-.2z"/>
+    <path d="M269.9 258.9l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M270.4 258.9l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M293.4 258.9l.5.4-.5-.4z"/>
+    <path fill="#319400" d="M294 258.9l4 15.2h-.6v-1h-.5l.5 4.4h-.5v-1h-.5v3.8h-.5c0-4.8-2-9.2-4.5-13.3l-1 1v.4c3.7 3.5 4.8 11 5 15.7h-1l-2-10h-.5l1.5 13.4h-.5l-2-10h-.5l1.5 15.2h-.5l-1-12.4h-.5l1 12.4h-.5l-.5-6.6h-.5l.5 8h-.5l-.5-6.6h-.5l-1.5 9 5.5-.4v-.5l-3.5-.5v-.5l13 3.4v-.5l-6-1.9v-.5l9 2c-2.8-3.5-6.4-3-10.5-2.5v-.4l11.6.4v-.4l-8-2v-.4l8 .4v-.4c-5.8-1.3-8.7-.6-13 3.3l1-4.8h-.6l-.5 1.5h-.5l2.5-7.2h.5l-.5 5.3 11.6-4.3v-.5l-10.6 2.9c4-3.2 9.9-5.8 15-6.2v-.5a21 21 0 00-14 4.7c3.8-4.6 9.7-5.1 15-7.1v-.5c-6.7.5-10 2-15.5 5.7 3.4-3.2 9.2-8.8 14.6-7.6l-1-2.4a27 27 0 00-12 6.7c2.3-3.1 10.5-11.8 14.5-11.5-4-3.5-11.9 7.3-14.6 9.6l11-12-9.5 8.2 10.6-13.4v-.5c-5 1.8-6.5 7.7-10 11l7.5-12a19.4 19.4 0 00-7 10.6c-2.4.3-1.6 3.9-1.6 5.7h-.5c0-5.8-.7-12.8-4.5-17.6z"/>
+    <path fill="#314231" d="M294.4 258.9l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M295 258.9l.4.4-.5-.4z"/>
+    <path fill="#6b735a" d="M296 258.9l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M298 258.9l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M298.4 258.9l.5.4-.5-.4m5 0l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M304 258.9l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M304.4 258.9l.6.4-.6-.4m1 0l1 1-1-1z"/>
+    <path fill="#103900" d="M306 258.9l.4.4-.4-.4z"/>
+    <path fill="#185200" d="M307 258.9l-3 2.3v.5l3-2.8z"/>
+    <path fill="#8c8c8c" d="M307.4 258.9l-.4 1 .4-1z"/>
+    <path fill="#ada5a5" d="M308 258.9l.5.4-.5-.4z"/>
+    <path fill="#102110" d="M308.5 258.9l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M309 258.9l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M222.7 259.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M223.2 259.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M224.7 259.3l1.5 1.5-1.5-1.5z"/>
+    <path fill="#5a1008" d="M227.2 259.3l.5.5-.5-.5z"/>
+    <path fill="#733939" d="M227.7 259.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M228.2 259.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M228.7 259.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M230.8 259.3l1 1-1-1z"/>
+    <path fill="#294200" d="M233.3 259.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M235.8 259.3l.5.5-.5-.5m2.5 0l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M238.8 259.3l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M259.3 259.3l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M260.3 259.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M262.3 259.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M262.8 259.3v.5h1.5l-1.5-.5z"/>
+    <path fill="#efefef" d="M264.3 259.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M266.3 259.3l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M267.2 259.5l.3.2-.3-.2z"/>
+    <path fill="#dedede" d="M268.4 259.3l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#210800" d="M269.9 259.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M292.4 259.3l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M293 259.3l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M293.4 259.3l-.5 1 .5-1z"/>
+    <path fill="#185200" d="M294.4 259.3l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M295 259.3l.4.5-.5-.5z"/>
+    <path fill="#292921" d="M295.4 259.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M296 259.3l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M296.4 259.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M298 259.3l.4.5-.5-.5z"/>
+    <path fill="#082108" d="M298.4 259.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M300 259.3l1 1-1-1z"/>
+    <path fill="#297b00" d="M300.4 259.3l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M301.8 259.5l.3.2-.3-.2z"/>
+    <path fill="#102110" d="M303.4 259.3l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M304 259.3l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M305.4 259.3l.6.5-.6-.5z"/>
+    <path fill="#425242" d="M307.4 259.3l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M308 259.3l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M308.5 259.3l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M222.7 259.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M223.2 259.8l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M227.2 259.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M227.7 259.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M228.7 259.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M229.3 259.8l.4.5-.4-.5m1.4 0l.6.5-.6-.5z"/>
+    <path fill="#295200" d="M233.3 259.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M235.3 259.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M236.6 260l.3.1-.3-.1z"/>
+    <path fill="#315221" d="M238.3 259.8l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M259.3 259.8l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M260.3 259.8l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M261.3 259.8l-.5 1 .5-1z"/>
+    <path fill="#7b7373" d="M261.8 259.8l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M262.3 259.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M266.2 260l.3.1-.3-.1z"/>
+    <path fill="#efefef" d="M266.9 259.8l1 2.9h.5l-1.5-2.9m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M269 260.1l.2.3-.2-.3z"/>
+    <path fill="#ada5a5" d="M269.4 259.8l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M269.9 259.8l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M270.4 259.8l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M292.4 259.8l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M294 259.8l.4.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M295 259.8l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M295.4 259.8l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M296 259.8l.4.5-.5-.5z"/>
+    <path fill="#6b735a" d="M296.4 259.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M297 259.8l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M298.4 259.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M300 259.8l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M301.4 259.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M303 259.8l1 1-1-1z"/>
+    <path fill="#103900" d="M303.4 259.8l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M305 259.8l.4.5-.4-.5z"/>
+    <path fill="#313931" d="M306.4 259.8l.6.5-.6-.5z"/>
+    <path fill="#214210" d="M307 259.8l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M307.4 259.8l.6.5-.6-.5z"/>
+    <path fill="#103910" d="M308 259.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M308.5 259.8l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M223.2 260.3l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M227.7 260.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M228.7 260.3l-.5 1 .5-1z"/>
+    <path fill="#396b10" d="M229.3 260.3l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M233.3 260.3l.5.5-.5-.5m1 1l1.5-.5-1.5.4z"/>
+    <path fill="#103900" d="M236.3 260.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M238.3 260.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M259.3 260.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M261.3 260.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M262.8 260.3l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M263.3 260.3l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M265.3 260.3l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M267.4 260.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M268.2 260.4l.3.2-.3-.2z"/>
+    <path fill="#efefef" d="M269.4 260.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M269.9 260.3l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M270.4 260.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M292.4 260.3l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M293 260.3l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M293.4 260.3l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M294 260.3l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M295 260.3l.4.5-.5-.5z"/>
+    <path fill="#082108" d="M295.4 260.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M296 260.3l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M296.4 260.3l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M297 260.3l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M298.8 260.4l.3.2-.3-.2z"/>
+    <path fill="#103900" d="M300.4 260.3l.5.5-.5-.5m1 0l.5.5-.5-.5m1.5 0l.5.5-.5-.5m2 0l.6.5-.6-.5z"/>
+    <path d="M306 260.3l.4.5-.4-.5z"/>
+    <path fill="#296300" d="M306.4 260.3l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M307.4 260.3l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M308 260.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M222.7 260.8l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M223.2 260.8l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M223.7 260.8l.5.4-.5-.4z"/>
+    <path fill="#292100" d="M226.2 260.8l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M227.7 260.8l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M229.3 260.8l.4.4-.4-.4z"/>
+    <path fill="#397b00" d="M229.8 260.8l.4.4-.4-.4z"/>
+    <path fill="#294200" d="M234.8 260.8l.5.4-.5-.4z"/>
+    <path fill="#428c00" d="M235.3 260.8l-.5 1 .5-1z"/>
+    <path fill="#295200" d="M235.8 260.8l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M236.3 260.8l.5.4-.5-.4z"/>
+    <path fill="#213918" d="M237.8 260.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M238.3 260.8l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M259.3 260.8l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M260.8 260.8l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M261.8 260.8l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M262.7 261h.3-.3z"/>
+    <path fill="#cecece" d="M263.3 260.8l1.5 1.4-1.5-1.4z"/>
+    <path fill="#8c8c8c" d="M265.3 260.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M265.8 260.8l1 1.4-1-1.4z"/>
+    <path fill="#8c8c8c" d="M266.7 261h.3-.3z"/>
+    <path fill="#dedede" d="M269.4 260.8l1 1-1-1z"/>
+    <path fill="#bdbdbd" d="M269.9 260.8l.5.4-.5-.4z"/>
+    <path fill="#210800" d="M270.4 260.8l.5.4-.5-.4z"/>
+    <path fill="#103910" d="M293 260.8l.4.4-.5-.4z"/>
+    <path fill="#9c9494" d="M293.4 260.8l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M294 260.8l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M295 260.8l.4.4-.5-.4z"/>
+    <path fill="#001000" d="M295.4 260.8l.5.4-.5-.4z"/>
+    <path fill="#319400" d="M296 260.8l.4.4-.5-.4z"/>
+    <path fill="#103910" d="M296.4 260.8l.5.4-.5-.4z"/>
+    <path fill="#425242" d="M297 260.8l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M299 260.8l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M300.4 260.8l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M301.4 260.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M302.4 260.8l1 1-1-1z"/>
+    <path fill="#184a00" d="M303 260.8l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M304.4 260.8l.6.4-.6-.4z"/>
+    <path fill="#001000" d="M305.4 260.8l-.4 1 .4-1z"/>
+    <path fill="#297b00" d="M306 260.8l.4.4-.4-.4m1 0l-.6 1 .6-1z"/>
+    <path fill="#8c8c8c" d="M307.4 260.8l.6.4-.6-.4z"/>
+    <path fill="#dedede" d="M308 260.8l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M308.5 260.8l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M309 260.8l.5.4-.5-.4z"/>
+    <path fill="#8c9c84" d="M309.5 260.8l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M310 260.8l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M310.5 260.8l.5.4-.5-.4z"/>
+    <path fill="#313931" d="M222.7 261.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M223.2 261.2l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M223.7 261.2l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M226.2 261.2l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.7 261.2l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M228.2 261.2l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M229.8 261.2l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M234.3 261.2l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M235.3 261.2l-.5 1 .5-1z"/>
+    <path fill="#294200" d="M235.8 261.2l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M237.8 261.2l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M259.8 261.2l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M260.8 261.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M261.3 261.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M261.8 261.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M264.3 261.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M264.8 261.2l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M265.3 261.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M266.3 261.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M267.9 261.2v.5h1.5l-1.5-.5z"/>
+    <path fill="#ada5a5" d="M269.4 261.2l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M270.4 261.2l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M270.9 261.2l.5.5-.5-.5z"/>
+    <path fill="#4a6342" d="M293 261.2l.4.5-.5-.5z"/>
+    <path fill="#294221" d="M293.4 261.2l.5.5-.5-.5z"/>
+    <path fill="#4a6342" d="M294 261.2l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M295.4 261.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 262.2l1.5-.5-1.5.5z"/>
+    <path fill="#313931" d="M297 261.2l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M297.4 261.2l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M299 261.2l1 1-1-1z"/>
+    <path fill="#297b00" d="M299.4 261.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M302.4 261.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M305.4 261.2l.6.5-.6-.5z"/>
+    <path fill="#425242" d="M307 261.2l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M307.4 261.2l.6.5-.6-.5z"/>
+    <path fill="#214210" d="M308 261.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M308.5 261.2l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M310.5 261.2l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M311 261.2l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M311.5 261.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M312.1 261.6l.2.3-.2-.3z"/>
+    <path fill="#8c8c8c" d="M222.7 261.7l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M223.2 261.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M223.7 261.7l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M224.2 261.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M224.7 261.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M226.7 261.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M227.4 262l.2.4-.2-.4z"/>
+    <path fill="#315221" d="M228.2 261.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M229.8 261.7l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M230.3 261.7l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M231.8 261.7l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M233.8 261.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M235.3 261.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M236.8 261.7l-.5 1 .5-1z"/>
+    <path fill="#9c9494" d="M237.3 261.7l-.5 1 .5-1z"/>
+    <path fill="#941808" d="M259.8 261.7l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M261.3 261.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M262.3 261.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M263.2 261.9l.3.1-.3-.1z"/>
+    <path fill="#ada5a5" d="M263.8 261.7l.5.5-.5-.5m1.9.2l.3.1-.3-.1z"/>
+    <path fill="#8c8c8c" d="M266.9 261.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M267.4 261.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M270.4 261.7l-2 .5v.5l2.5-.5-.5-.5z"/>
+    <path fill="#7b1008" d="M270.9 261.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M293 261.7l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M293.4 261.7l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M294 261.7l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M296 261.7l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M296.4 261.7l2 8.1h.5c0-2.9-.4-5.8-2.5-8z"/>
+    <path fill="#184a00" d="M297 261.7l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M297.4 261.7l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M299 261.7l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M301 261.7l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M302.4 261.7l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M304.4 261.7l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M305 261.7l.4.5-.4-.5z"/>
+    <path fill="#214210" d="M306.4 261.7l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M307 261.7l.4.5-.4-.5z"/>
+    <path fill="#214210" d="M307.4 261.7l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M309 261.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M309.5 261.7l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M310 261.7l.5.5-.5-.5z"/>
+    <path fill="#295210" d="M310.5 261.7l.5.5-.5-.5z"/>
+    <path fill="#4a6342" d="M311 261.7l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M311.5 261.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M222.7 262.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M223.2 262.2l1.5 1-1.5-1m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M225.2 262.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M225.7 262.2l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.2 262.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M228.7 262.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M230.3 262.2l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M230.8 262.2v.5h1.4l-1.4-.5z"/>
+    <path fill="#103900" d="M233.3 262.2l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M245.8 262.2l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M259.8 262.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M261.3 262.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M261.8 262.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M262.3 262.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M263 262.5l.2.3-.2-.3z"/>
+    <path fill="#bdbdbd" d="M265 262.5l.2.3-.2-.3z"/>
+    <path fill="#dedede" d="M265.5 262.5l.2.3-.2-.3z"/>
+    <path fill="#7b7373" d="M266 262.5l.2.3-.2-.3z"/>
+    <path fill="#bdbdbd" d="M266.3 262.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M266.9 262.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M270.4 262.2l.5.5-.5-.5z"/>
+    <path fill="#210800" d="M270.9 262.2l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M283.4 262.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M283.9 262.2v.5h4.5l-4.5-.5z"/>
+    <path fill="#520808" d="M288.4 262.2l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M291.4 262.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M293 262.2l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M293.4 262.2l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M294 262.2l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M296 262.2l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M297 262.2l.4.5-.5-.5z"/>
+    <path fill="#001000" d="M297.4 262.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M298 262.2l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M299.6 262.5l.2.3-.2-.3z"/>
+    <path fill="#103900" d="M302 262.2l.4.5-.5-.5m1.5 0l1 1-1-1z"/>
+    <path fill="#185200" d="M304 262.2l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M304.4 262.2l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M306 262.2l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M306.4 262.2l.6.5-.6-.5z"/>
+    <path fill="#314231" d="M307 262.2l-.6 1 .6-1z"/>
+    <path fill="#297b00" d="M307.4 262.2l.6.5-.6-.5z"/>
+    <path fill="#214210" d="M308.5 262.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M309 262.2l-.5 1 .5-1z"/>
+    <path fill="#5a5231" d="M223.2 262.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.6 262.8l.3.2-.3-.2z"/>
+    <path fill="#8c8c8c" d="M228.7 262.7l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M230.8 262.7l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M231.3 262.7l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M232.8 262.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M233.3 262.7l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M234.3 262.7l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M235.8 262.7l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M236.3 262.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M240.8 262.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" fill-opacity=".3" d="M241.3 262.7v.5h4.5v7.1c2.7-4.3.2-7.6-4.5-7.6z"/>
+    <path fill="#8c8c8c" d="M245.8 262.7l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M260.3 262.7l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M261.3 262.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M262.3 263.1v.5l2.5-.5h-2.5m5-.4l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M267.9 262.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M268.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M270.9 262.7l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M271.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M283.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M283.9 262.7v.5h4.5l-4.5-.5z"/>
+    <path fill="#63636b" d="M288.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M291.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M292 262.7l.4.5-.5-.5m1.2.3l.2.3-.2-.3z"/>
+    <path fill="#296300" d="M293.4 263.6l1.5-.5-1.5.5z"/>
+    <path fill="#185200" d="M296 262.7l1 1-1-1z"/>
+    <path fill="#297b00" d="M296.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M297.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M298 262.7l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M302 262.7l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M302.4 262.7l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M303 262.7l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M306 262.7l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M307 262.7l.4.5-.4-.5z"/>
+    <path fill="#296300" d="M308 262.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M223.2 263.1l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M224.2 263.1l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M224.7 263.1l.5.5-.5-.5m2.9.2l.3.2-.3-.2z"/>
+    <path fill="#5a6b52" d="M228.7 263.1l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M230.8 263.1l.4.5-.4-.5z"/>
+    <path fill="#292100" d="M231.3 263.1l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M232.8 263.1l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M234.3 263.1l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M235.3 263.1l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M235.8 263.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M240.8 263.1v3.9h.5l-.5-3.9z"/>
+    <path fill="#941808" d="M260.3 263.1l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M261.8 263.1l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M263.3 263.1l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M265.3 263.1l1 1-1-1z"/>
+    <path fill="#bdbdbd" d="M265.8 263.1l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M266.7 263.3l.3.2-.3-.2z"/>
+    <path fill="#dedede" d="M267.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M268.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M268.9 263.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M269.7 263.3l.3.2-.3-.2z"/>
+    <path fill="#9c9494" d="M270.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M270.9 263.1l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M271.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M283.4 263.1v6.2h.5l-.5-6.2m5 0v7.2h.5l-.5-7.2z"/>
+    <path fill="#6b735a" d="M291.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#395231" d="M292 263.1l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M294 263.1l2.4 8.6h.5l-3-8.6z"/>
+    <path fill="#103900" d="M294.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M296 263.1l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M298.1 263.5l.2.3-.2-.3z"/>
+    <path fill="#296300" d="M299.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M300 263.1l-.6 1 .5-1z"/>
+    <path fill="#184a00" d="M301.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M302.8 263.3l.3.2-.3-.2z"/>
+    <path fill="#185200" d="M303.4 263.1l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M305.4 263.1l.6.5-.6-.5z"/>
+    <path d="M306 263.1l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M306.4 263.1l.6.5-.6-.5z"/>
+    <path fill="#425242" d="M308 263.1l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M223.2 263.6l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M223.7 263.6l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M225.2 263.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M225.9 264l.2.3-.2-.4m1.8-.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M228.2 263.6l1 1-1-1z"/>
+    <path fill="#213918" d="M228.7 263.6l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M230.8 263.6l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M231.3 263.6l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M232.3 263.6l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M233.3 263.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M233.8 263.6l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M234.8 263.6l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M235.3 263.6l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M260.3 263.6l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M261.8 263.6l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M263.3 263.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M263.8 263.6l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M264.3 263.6v.5h1.5l-1.5-.5m2 0l-1.5 1v.5l1.5-1.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M268.4 263.6l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M268.9 263.6l.5.5-.5-.5m2 0l-.5 1 .5-1z"/>
+    <path fill="#210800" d="M271.4 263.6l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M291.4 263.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M292 264l.2.3-.1-.4z"/>
+    <path fill="#8c8c8c" d="M292.4 263.6l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M293.4 263.6l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M294.4 263.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M295 263.6l-.6 1 .5-1z"/>
+    <path fill="#103900" d="M296.4 263.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M298.4 263.6l-.5 1 .5-1z"/>
+    <path fill="#184a00" d="M300.1 264l.2.3-.2-.4z"/>
+    <path fill="#103900" d="M301.4 263.6l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M303.4 263.6l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M306 263.6l.4.5-.4-.5z"/>
+    <path fill="#184a00" d="M307.4 263.6l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M308 263.6l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M309.9 266l-2 3.3c1.3-1 2.6-1.8 2-3.4z"/>
+    <path fill="#dedede" d="M313 263.6l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M223.7 264.1l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M224.2 264.1l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.2 264.1l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M229.3 264.1l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M230.8 264.1l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M231.8 264.1l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232.3 264.1l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M233.3 264.1l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M234.8 264.1l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M236.6 264.3l.3.1-.3-.1z"/>
+    <path fill="#420000" d="M260.8 264.1l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M261.8 264.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M262.8 264.1l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M263.3 264.1l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M263.8 264.1l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M267.4 264.1l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M267.9 264.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M270.9 264.1l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M271.9 264.1l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M291.4 264.1l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M292.4 264.1l-.5 1 .5-1z"/>
+    <path fill="#dedede" d="M293 264.1l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M293.6 264.4l.1.3-.1-.3z"/>
+    <path fill="#185200" d="M295 264.1l.4.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M297 264.1l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M298.4 264.1l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M301 264.1l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M301.4 264.1l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M302 264.1l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M303 264.1l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M305.4 264.1l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M307 264.1l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M307.4 264.1l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M312 264.1l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M312.5 264.1l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M224.2 264.6l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.7 264.6l1 1-1-1z"/>
+    <path fill="#397b00" d="M227.2 264.6l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M229.3 264.6l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M230 264.7l.4.2-.3-.2z"/>
+    <path fill="#214210" d="M230.8 264.6l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M231.8 264.6l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M232.8 264.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M233.3 264.6l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M234.3 264.6l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M236.3 264.6l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M236.8 264.6l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M246.3 264.6l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M260.8 264.6l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M262.3 264.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M264.3 264.6l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M266.3 264.6l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M266.9 264.6l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M268.9 264.6l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M269.4 264.6l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M271.9 264.6l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M292.4 264.6L296 276h.5c0-4-1.3-8.3-4-11.4z"/>
+    <path fill="#425242" d="M293 264.6l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M295 264.6l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M297 264.6l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M298.6 264.9l.2.3-.2-.3m2.3-.3l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M301.4 264.6l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M302 264.6l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M303 264.6l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M305 264.6l.4.5-.4-.5z"/>
+    <path fill="#103910" d="M307 264.6l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M307.4 264.6l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M308.5 264.6l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M309 264.6l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M311 264.6l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M311.5 264.6l-1 1.9 1-2z"/>
+    <path fill="#313931" d="M312 264.6l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M224.2 265l1.5 1.5-1.5-1.4z"/>
+    <path fill="#314231" d="M224.7 265l.5.5-.5-.4z"/>
+    <path fill="#397b00" d="M227.7 265l.5.5-.5-.4z"/>
+    <path fill="#63636b" d="M229.8 265l.4.5-.4-.4z"/>
+    <path fill="#8c8c8c" d="M230.3 265l.4.5-.4-.4z"/>
+    <path fill="#397b00" d="M231.3 265l.4.5-.4-.4z"/>
+    <path fill="#295200" d="M231.8 265l.4.5-.4-.4z"/>
+    <path fill="#294200" d="M232.8 265l.5.5-.5-.4z"/>
+    <path fill="#295200" d="M233.8 265l.5.5-.5-.4z"/>
+    <path fill="#cecece" d="M234.3 265l.5.5-.5-.4z"/>
+    <path fill="#63636b" d="M235.8 265l.5.5-.5-.4z"/>
+    <path fill="#5a5231" d="M236.8 265l.5.5-.5-.4z"/>
+    <path fill="#101829" d="M246.3 265l.5.5-.5-.4z"/>
+    <path fill="#ce2110" d="M260.8 265l.5.5-.5-.4z"/>
+    <path fill="#63636b" d="M262.3 265l.5.5-.5-.4z"/>
+    <path fill="#efefef" d="M263 265.4l.2.3-.2-.3z"/>
+    <path fill="#9c9494" d="M263.3 265l.5.5-.5-.4z"/>
+    <path fill="#7b7373" d="M263.8 265l.5.5-.5-.4z"/>
+    <path fill="#bdbdbd" d="M264.3 265l.5.5-.5-.4z"/>
+    <path fill="#7b7373" d="M266.9 265l.5.5-.5-.4z"/>
+    <path fill="#cecece" d="M267.4 265l.5.5-.5-.4z"/>
+    <path fill="#313931" d="M267.9 265l.5.5-.5-.4z"/>
+    <path fill="#210800" d="M271.4 265l.5.5-.5-.4z"/>
+    <path fill="#7b1008" d="M271.9 265l.5.5-.5-.4z"/>
+    <path fill="#10214a" d="M282.9 265l.5.5-.5-.4z"/>
+    <path fill="#4a6342" d="M292 265.4l.2.3-.1-.3z"/>
+    <path fill="#296300" d="M293 265l.4.5-.5-.4z"/>
+    <path fill="#103900" d="M293.6 265.4l.1.3-.1-.3z"/>
+    <path fill="#296300" d="M295.3 265.2l.3.2-.4-.2z"/>
+    <path fill="#103900" d="M297 265l.4.5-.5-.4z"/>
+    <path fill="#185200" d="M301.3 265.2l.3.2-.3-.2m1.1-.1l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M304.4 265l.6.5-.6-.4z"/>
+    <path fill="#296300" d="M306.4 265l.6.5-.6-.4z"/>
+    <path fill="#9c9494" d="M307 265l.4.5-.4-.4z"/>
+    <path fill="#dedede" d="M307.4 265l.6.5-.6-.4z"/>
+    <path fill="#425242" d="M308 265l.5.5-.5-.4z"/>
+    <path fill="#313931" d="M308.5 265l.5.5-.5-.4z"/>
+    <path fill="#efefef" d="M309 265l.5.5-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M310.5 265l.5.5-.5-.4z"/>
+    <path fill="#185200" d="M311 265l.5.5-.5-.4z"/>
+    <path fill="#ada5a5" d="M218.7 265.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M219.2 265.5l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M225.2 265.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M225.7 265.5l1 1-1-1m3 0l.5.5-.5-.5m1 0l.6.5-.6-.5z"/>
+    <path fill="#214210" d="M230.3 265.5l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M230.8 265.5l.4.5-.4-.5z"/>
+    <path fill="#292100" d="M231.3 265.5l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232.3 265.5v1h1l-1-1z"/>
+    <path fill="#295200" d="M232.8 265.5l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M233.8 265.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M235.3 265.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M236.8 265.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M237.3 265.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M246.3 265.5l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M246.8 265.5l.5.5-.5-.5z"/>
+    <path fill="#10214a" d="M247.3 265.5l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M261.3 265.5l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M262.3 265.5l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M263.3 265.5l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M265.3 265.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M266.2 265.7l.3.2-.3-.2z"/>
+    <path fill="#313931" d="M266.9 265.5l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M267.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M269.9 265.5l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M270.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M281.9 265.5l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M282.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M282.9 265.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M294 265.5l-.6 1 .5-1z"/>
+    <path fill="#184a00" d="M295.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M297 265.5l1 1-1-1z"/>
+    <path fill="#297b00" d="M297.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M298.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M299 265.5l-.6 1 .5-1z"/>
+    <path fill="#184a00" d="M300.6 265.9l.2.3-.2-.3z"/>
+    <path fill="#103900" d="M301.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M302 265.5l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M302.4 265.5l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M304.3 265.7l.3.2-.3-.2z"/>
+    <path fill="#425242" d="M306.4 265.5l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M307 265.5l.4.5-.4-.5z"/>
+    <path fill="#184a00" d="M307.8 265.7l.3.2-.3-.2z"/>
+    <path fill="#cecece" d="M308.5 265.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M309.5 265.5l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M310 265.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M310.5 265.5l.5.5-.5-.5z"/>
+    <path fill="#8c9c84" d="M218.7 266l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M219.2 266l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M225.7 266l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M228.7 266l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.3 266l.4.5-.4-.5z"/>
+    <path fill="#292100" d="M230.3 266l.4.5-.4-.5z"/>
+    <path fill="#ad1810" d="M231 266.2l.4.1-.3-.1z"/>
+    <path fill="#311000" d="M231.8 266l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M233.8 266l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M234.8 266l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M235.3 266l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M233.1 270.9h-.5c0-2.7-1.1-4.5-4-5.3.1 1.5 1.1 7.2 3.5 5.3h.5l-1 4.3c1.5-1.6 7.7-7.2 5-9.6-2.3-2.1-3.4 4.2-3.5 5.3z"/>
+    <path fill="#295200" d="M236.3 266l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M237.3 266l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M247.3 266l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M247.8 266l.5.5-.5-.5z"/>
+    <path fill="#31425a" d="M248.3 266l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M248.8 266l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M261.3 266l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M262.8 266l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M263.8 266l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M264.3 266l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M268.9 266l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M269.4 266l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M280.4 266l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M280.9 266l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M281.4 266l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M281.9 266l.5.5-.5-.5m8.5 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M291 266l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M291.4 266l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M292 266l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M294 266l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M295.4 266l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M296 266l-.6 1 .5-1m1 0l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M301.4 266l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M304 266l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M306 266l.4.5-.4-.5z"/>
+    <path fill="#102110" d="M306.4 266l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M307.3 266.2l.3.1-.3-.1z"/>
+    <path fill="#8c8c8c" d="M308 266l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M308.5 266l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M309 266l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M309.5 266l-1.5 2.4 2.5-2.4h-1z"/>
+    <path fill="#295200" d="M219.2 266.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M219.7 266.5l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M225.7 266.5l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M226.2 266.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M226.7 266.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.2 266.5v.5h1.5l-1.5-.5z"/>
+    <path fill="#294200" d="M229.8 266.5l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M230.3 266.5l.4.5-.4-.5z"/>
+    <path fill="#941808" d="M232 266.8v.3-.3z"/>
+    <path fill="#292100" d="M232.3 266.5l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M233.3 266.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M233.8 266.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M234.3 266.5l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M234.8 266.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M236 266.8l.1.3-.2-.3z"/>
+    <path fill="#8c8c8c" d="M237.4 266.8l.2.3-.2-.3z"/>
+    <path fill="#dedede" d="M248.8 266.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M249.3 266.5l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M249.8 266.5l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M250.3 266.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M250.8 266.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M251.3 266.5l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M261.3 266.5l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M262.8 266.5l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M263.3 266.5l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M263.8 266.5l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M267.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M267.9 266.5l.5.5-.5-.5z"/>
+    <path fill="#210800" d="M268.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M277.9 266.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M278.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M278.9 266.5l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M279.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M279.9 266.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M280.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M290.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M291 266.5l1 1-1-1z"/>
+    <path fill="#103910" d="M291.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M292 266.5l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M294 266.5l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M294.4 266.5l-.5 1 .5-1z"/>
+    <path fill="#185200" d="M296 266.5l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M297.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M301 266.5l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M303.4 266.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M305.4 266.5v.5h2v-.5h-2z"/>
+    <path fill="#425242" d="M307.4 266.5l.6.5-.6-.5z"/>
+    <path fill="#ada5a5" d="M308 266.5l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M308.5 266.5l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M310 266.5l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M219.2 267l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M219.9 267.3l.2.3-.2-.3z"/>
+    <path fill="#314231" d="M220.2 267l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M220.7 267l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M222.7 267l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M225.2 267l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M225.7 267l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M226.7 267l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M227.2 267l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M228.2 267l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M230.3 267l.4.5-.4-.5z"/>
+    <path fill="#941808" d="M230.8 267l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M232.3 267l.4.5-.4-.5z"/>
+    <path fill="#5a2908" d="M232.8 267l-.5 1 .5-1z"/>
+    <path fill="#7b1008" d="M233.3 267l.5.5-.5-.5z"/>
+    <path fill="#5a3131" d="M233.8 267l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M234.3 267l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M240.3 267l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M240.8 267l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M241.3 267l.5.5-.5-.5m9.5 0l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M251.3 267l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M251.8 267l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M252.3 267l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M261.8 267l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M266.3 267l.5.5-.5-.5z"/>
+    <path fill="#7b0008" d="M266.9 267l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M264.8 267.4v.5h1.5c-3.8 6-1 14-.5 20.5h.5a46 46 0 000-20l2 1 .5-2-.5-.4-3.5.4z"/>
+    <path fill="#940008" d="M268.4 267l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M268.9 267l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M276.9 267l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M277.4 267l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M277.9 267l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M278.4 267l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M290 267l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M290.4 267l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M292 267l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M292.4 267l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M294.4 267l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M296 267l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M297.4 267l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M298 267l-.6 1 .5-1z"/>
+    <path fill="#103900" d="M301 267l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M303 267l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M305.4 267l.6.5-.6-.5z"/>
+    <path fill="#319400" d="M306.4 267l-.4 1 .4-1z"/>
+    <path fill="#082108" d="M307.1 267.3l.2.3-.2-.3z"/>
+    <path fill="#52525a" d="M307.4 267l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M308 267l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M309.5 267l-1.5 1.9 1.5-2z"/>
+    <path fill="#295200" d="M219.2 267.4l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M220.2 267.4l1 2.9h.5l.5-1.9-2-1z"/>
+    <path fill="#295200" d="M220.7 267.4l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M221.2 267.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M221.7 267.4l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M222.7 267.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M223.2 267.4l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M225.2 267.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M225.7 267.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M227.7 267.4l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M228.2 267.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M230.8 267.4l.4.5-.4-.5z"/>
+    <path fill="#4a1000" d="M231.3 267.4l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M231.8 267.4l.4.5-.4-.5z"/>
+    <path fill="#631808" d="M233.8 267.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M235.6 267.6l.3.2-.3-.2z"/>
+    <path fill="#6b735a" d="M237.3 267.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M238.3 267.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M238.8 267.4l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M239.3 267.4l.5.5-.5-.5z"/>
+    <path fill="#396b10" d="M239.8 267.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M240.3 267.4l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M240.8 267.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M241.3 267.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M261.8 267.4l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M263.8 267.4l-.5 1 .5-1z"/>
+    <path fill="#ad0008" d="M264.3 267.4l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M268.9 267.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M290 267.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M290.4 267.4l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M292 267.4l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M292.4 267.4l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M294.4 267.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M295 267.4l-.6 1 .5-1z"/>
+    <path fill="#185200" d="M296 267.4l1 1-1-1z"/>
+    <path fill="#297b00" d="M296.4 267.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M298 267.4l.4.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M299.4 267.4l.5.5-.5-.5m1 0l1 1-1-1z"/>
+    <path fill="#185200" d="M301 267.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M302.4 267.4l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M303 267.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M305 267.4l1 1-1-1zm2.4 0l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M310 267.4l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M310.5 267.4l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M311 267.4l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M311.5 267.4l.5.5-.5-.5z"/>
+    <path fill="#8c9c84" d="M218.7 268l.5.4-.5-.5z"/>
+    <path fill="#428c00" d="M219.2 268l1.5 2.3-1.5-2.4z"/>
+    <path fill="#103900" d="M219.7 268l.5.4-.5-.5z"/>
+    <path fill="#314231" d="M221.7 268l.5.4-.5-.5z"/>
+    <path fill="#bdbdbd" d="M222.2 268l.5.4-.5-.5z"/>
+    <path fill="#295200" d="M222.7 268l.5.4-.5-.5z"/>
+    <path fill="#314231" d="M223.2 268l.5.4-.5-.5z"/>
+    <path fill="#ada5a5" d="M224.7 268l.5.4-.5-.5z"/>
+    <path fill="#397b00" d="M225.6 268l.3.2-.3-.1z"/>
+    <path fill="#dedede" d="M226.2 268l.5.4-.5-.5z"/>
+    <path fill="#7b8c73" d="M228.2 268l.5.4-.5-.5z"/>
+    <path fill="#295200" d="M231.3 268l1 .9v-1h-1z"/>
+    <path fill="#4a1000" d="M232.3 268l.4.4-.4-.5z"/>
+    <path fill="#bd2110" d="M233.3 268l.5.4-.5-.5z"/>
+    <path fill="#526b42" d="M237.3 268l.5.4-.5-.5z"/>
+    <path fill="#9c9494" d="M237.8 268l.5.4-.5-.5z"/>
+    <path fill="#214210" d="M238.3 268l.5.4-.5-.5z"/>
+    <path fill="#428c00" d="M236.8 271.7l1-.4v.4l-3.5 2.9a9.7 9.7 0 006-5.7l-1.5 1 1-2-3 3.8z"/>
+    <path fill="#294200" d="M239.8 268l-.5.9.5-1z"/>
+    <path fill="#397b00" d="M240.3 268l-.5.9.5-1z"/>
+    <path fill="#424242" d="M240.8 268l.5.4-.5-.5z"/>
+    <path fill="#9c9494" d="M256.3 268l.5.4-.5-.5z"/>
+    <path fill="#845a52" d="M256.8 268l.5.4-.5-.5z"/>
+    <path fill="#734a42" d="M257.3 268l.5.4-.5-.5z"/>
+    <path fill="#842118" d="M257.8 268l.5.4-.5-.5z"/>
+    <path fill="#7b1008" d="M258.3 268l.5.4-.5-.5z"/>
+    <path fill="#b51010" d="M258.8 268l.5.4-.5-.5z"/>
+    <path fill="#ce2110" d="M261.8 268l.5.4-.5-.5z"/>
+    <path fill="#310000" d="M262.8 268l.5.4-.5-.5z"/>
+    <path fill="#310010" d="M263.8 268l.5.4-.5-.5z"/>
+    <path fill="#180821" d="M264.3 268l.5.4-.5-.5z"/>
+    <path fill="#310010" d="M264.8 268l.5.4-.5-.5z"/>
+    <path fill="#7b1008" d="M265.3 268l.5.4-.5-.5z"/>
+    <path fill="#b51010" d="M265.8 268l.5.4-.5-.5z"/>
+    <path fill="#7b1008" d="M268.9 268l.5.4-.5-.5z"/>
+    <path fill="#bd2110" d="M270.4 268l.5.4-.5-.5z"/>
+    <path fill="#7b1008" d="M270.9 268l.5.4-.5-.5z"/>
+    <path fill="#631808" d="M271.4 268l.5.4-.5-.5z"/>
+    <path fill="#8c4a4a" d="M271.9 268l.5.4-.5-.5z"/>
+    <path fill="#9c9494" d="M272.9 268l.5.4-.5-.5z"/>
+    <path fill="#214210" d="M290 268l.4.4-.5-.5z"/>
+    <path fill="#297b00" d="M292 268l.4.4-.5-.5z"/>
+    <path fill="#103900" d="M292.4 268l.5.4-.5-.5z"/>
+    <path fill="#185200" d="M295 268l.4.4-.5-.5z"/>
+    <path fill="#297b00" d="M296 268l.4.4-.5-.5z"/>
+    <path fill="#184a00" d="M298 268l.4.4-.5-.5z"/>
+    <path fill="#103900" d="M300.6 268.2l.2.4-.2-.4m1.8-.3l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M306.4 268l.6.4-.6-.5z"/>
+    <path fill="#8c8c8c" d="M309.5 268l.5.4-.5-.5z"/>
+    <path fill="#184a00" d="M310 268l.5.4-.5-.5z"/>
+    <path fill="#296300" d="M311.5 268l.5.4-.5-.5z"/>
+    <path fill="#63636b" d="M312 268l1 .9-1-1z"/>
+    <path fill="#8c8c8c" d="M218.9 268.7l.2.3-.2-.3z"/>
+    <path fill="#295200" d="M219.7 268.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M220.2 268.4l.5.5-.5-.5z"/>
+    <path fill="#102110" d="M222.2 268.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M222.7 268.4v.5l1.5.5-1.5-1z"/>
+    <path fill="#63636b" d="M223.7 268.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M224.7 268.4l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M225.2 268.4v2.4h-.5l-.5-1.5h-.5l.5 4.8h-.5l-.5-5.2h-.5l-.5 3.8h-.5l-2.5-2 1.5 3h-.5l-2-2.4c1.7 5.6 4.1 4.8 8.1 8 1.5 1.2 2.4 3.7 3.4 5.3l-2-1.4 1 1.4-2.4-1.4 3 2.9.4-1.5h.6c-1.3 2.3-3.5 2.6-6 2.9v-.5l1-1 2.4.5c-1.8-1.8-4-2-6.5-1.4l3 2.4v.5l-3 3.3 6-1-.5 1h.5l3-1.4-6 2.8v.5c5.1-.6 5.7-2.3 8.6-5.7-.4 1.5-.4 2.4 1 3.3l-.8-5.7 6.8-7.6-2.5 1.9 2-2.9c-2.9.6-4 2.6-4 5.3l-3 2.8h-.5c1-3 4-4.7 3-8-2.6 1.8-3.4 4-3.5 7l-2-9.5.5 2h-.5v-1h-.5l.5 6.7h-.5c-1.6-3.7-.2-11-3.6-13.4z"/>
+    <path fill="#9c9494" d="M226.2 268.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M228.4 268.7l.2.3-.2-.3z"/>
+    <path fill="#397b00" d="M229.8 268.4l1 1-1-1z"/>
+    <path fill="#5a1008" d="M232.8 268.4l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M233.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M237.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M237.8 268.4l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M240.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M258.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M258.8 268.4l.5.5-.5-.5z"/>
+    <path fill="#736b6b" d="M259.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#6b2908" d="M259.8 268.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M260.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M262.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#000818" d="M262.8 268.4l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M263.3 268.4l-.5 1 .5-1z"/>
+    <path fill="#003994" d="M261.8 285h.5c-.8-6-.4-11 2.5-16.6-5.9 2.9-5.5 12-3 16.7z"/>
+    <path fill="#52525a" d="M264.8 268.4l.5.5-.5-.5z"/>
+    <path fill="#9c2118" d="M265.3 268.4l.5.5-.5-.5z"/>
+    <path fill="#ce0008" d="M267.4 268.4l.5.5-.5-.5z"/>
+    <path fill="#bd0008" d="M268.4 268.4l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M268.9 268.4l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M269.4 268.4l.5.5-.5-.5z"/>
+    <path fill="#7b5252" d="M269.9 268.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M270.4 268.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M270.9 268.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M282.9 268.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M289.4 268.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M290 268.4l.4.5-.5-.5z"/>
+    <path fill="#314231" d="M290.4 268.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M291 268.4l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M292.4 268.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M293 268.4l-.6 1 .5-1z"/>
+    <path fill="#103900" d="M295 268.4l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M296.6 268.7l.2.3-.2-.3z"/>
+    <path fill="#185200" d="M298 268.4l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M302.1 268.7l.2.3-.2-.3z"/>
+    <path fill="#297b00" d="M302.4 268.4l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M307.4 268.4l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M308.5 268.4l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M309 268.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M309.5 268.4l.5.5-.5-.5m2.5 0l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M220.2 268.9l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M223.4 269.2l.2.3-.2-.3z"/>
+    <path fill="#ada5a5" d="M224.2 268.9l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M224.7 268.9l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M226.2 268.9l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M229.8 268.9l.4.5-.4-.5m2.4 0l.6.5-.6-.5z"/>
+    <path fill="#397b00" d="M232.8 268.9l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M233.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M237.4 269.2l.2.3-.2-.3z"/>
+    <path fill="#397b00" d="M238.8 268.9l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M239.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M240.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M246.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M260.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M260.8 268.9l.5.5-.5-.5z"/>
+    <path fill="#733939" d="M261.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M261.8 268.9l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M262.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M264.3 268.9l.5.5-.5-.5z"/>
+    <path fill="#6b5252" d="M264.8 268.9l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M267.4 268.9l.5.5-.5-.5z"/>
+    <path fill="#5a1010" d="M268.4 268.9l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M268.9 268.9l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M282.9 268.9l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M289.4 268.9l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M290 268.9l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M290.4 268.9l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M291 268.9l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M293 268.9l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M295 268.9l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 268.9l-.5 1 .5-1z"/>
+    <path fill="#184a00" d="M298.1 269.2l.2.3-.2-.3z"/>
+    <path fill="#297b00" d="M300 268.9l1 1-1-1z"/>
+    <path fill="#185200" d="M300.4 268.9l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M301.4 268.9l1 1-1-1z"/>
+    <path fill="#103900" d="M305 268.9l.4.5-.4-.5z"/>
+    <path fill="#185200" d="M307 268.9l-2 2.4 2-2.4z"/>
+    <path fill="#7b7373" d="M307.4 268.9l.6.5-.6-.5z"/>
+    <path fill="#ada5a5" d="M308 268.9l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M308.5 268.9l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M309 268.9l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M310 268.9l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M310.5 268.9l.5.5-.5-.5z"/>
+    <path fill="#395231" d="M311 268.9l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M311.5 268.9l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M312.6 269.2l.2.3-.2-.3z"/>
+    <path fill="#8c8c8c" d="M313 268.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M218.9 269.7l.2.3-.2-.3z"/>
+    <path fill="#397b00" d="M219.2 269.4l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M220.7 269.4l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M222 269.5l.4.2-.3-.2z"/>
+    <path fill="#213918" d="M224.2 269.4l.5.4-.5-.4z"/>
+    <path fill="#5a5231" d="M224.7 269.4l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M226.2 269.4l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M226.7 269.4l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M228.2 269.4l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M228.7 269.4l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M230.3 269.4l.4.4-.4-.4z"/>
+    <path fill="#001000" d="M232.8 269.4l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M235.3 269.4l-.5.9.5-1z"/>
+    <path fill="#103900" d="M238.8 269.4l.5.4-.5-.4z"/>
+    <path fill="#214210" d="M239.8 269.4l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M240.3 269.4l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M246.3 269.4l.5.4-.5-.4z"/>
+    <path fill="#733939" d="M246.8 269.4l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M247.3 269.4l.5.4-.5-.4m14.5 0l.5.4-.5-.4z"/>
+    <path fill="#001039" d="M262.3 269.4l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M263.8 269.4l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M264.3 269.4l.5.4-.5-.4z"/>
+    <path fill="#842118" d="M264.8 269.4l.5.4-.5-.4z"/>
+    <path d="M267.4 269.4l.5.4-.5-.4z"/>
+    <path fill="#ad0008" d="M267.9 269.4l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M268.4 269.4l.5.4-.5-.4z"/>
+    <path fill="#debdb5" d="M281.9 269.4l.5.4-.5-.4z"/>
+    <path fill="#8c4a4a" d="M282.4 269.4l.5.4-.5-.4z"/>
+    <path fill="#ce1810" d="M282.9 269.4l.5.4-.5-.4z"/>
+    <path fill="#946b63" d="M283.6 269.7l.1.3-.1-.3z"/>
+    <path fill="#001000" d="M289.4 269.4l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M290 269.4l.4.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M291.4 269.4l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M293 269.4l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M293.4 269.4l-.5.9.5-1z"/>
+    <path fill="#184a00" d="M295.4 269.4l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M296.4 269.4l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M297 269.4l-.6.9.5-1z"/>
+    <path fill="#103900" d="M300.1 269.7l.2.3-.2-.3m1.3-.3l.5.4-.5-.4z"/>
+    <path d="M304.4 269.4l.6.4-.6-.4z"/>
+    <path fill="#297b00" d="M305 269.4l.4.4-.4-.4z"/>
+    <path fill="#8c8c8c" d="M307 269.4l.4.4-.4-.4z"/>
+    <path fill="#63636b" d="M307.4 269.4l.6.4-.6-.4z"/>
+    <path fill="#296300" d="M308 269.4l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M309.5 269.4l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M310 269.4l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M311.5 269.4l.5.4-.5-.4z"/>
+    <path fill="#294221" d="M312 269.4l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M313 269.4l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M313.5 269.4l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M216.7 269.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M217.6 270l.3.2-.3-.2z"/>
+    <path fill="#9c9494" d="M218.2 269.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M219.2 269.8l1 1-1-1z"/>
+    <path fill="#103900" d="M220.7 269.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M221.7 269.8l-.5 1.5.5-1.5m1.5 0v1.5h.5l-.5-1.5z"/>
+    <path fill="#292100" d="M224.7 269.8l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M226.7 269.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M228.7 269.8l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M232.8 269.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M235.3 269.8l.5.5-.5-.5m1.8.2l.3.2-.3-.2z"/>
+    <path fill="#103900" d="M238.3 269.8l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M239.8 269.8l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M246.8 269.8v7.7h-.5l-.5-6.7h-4.5v13.8l2-1 1 3.4 2.5-1.4.5 5.2 4.5-1.4c2.1 1.4 3.5 1.4 4.5-1h1l3 2.9-.5-9-9-.6v-.4l8.5.4v-1.4c-6.3-.1-7-4-7-9l-5.5-1.5z"/>
+    <path fill="#b51010" d="M247.3 269.8l.5.5-.5-.5z"/>
+    <path fill="#7b5252" d="M247.8 269.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M248.3 269.8l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M261.8 269.8l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M262.3 269.8l.5.5-.5-.5z"/>
+    <path fill="#10214a" d="M263.8 269.8l.5.5-.5-.5z"/>
+    <path fill="#c6b5b5" d="M264.3 269.8l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M264.8 269.8l.5.5-.5-.5z"/>
+    <path fill="#6b0808" d="M266.9 269.8l.5.5-.5-.5z"/>
+    <path fill="#100808" d="M267.4 269.8l.5.5-.5-.5z"/>
+    <path fill="#5a3131" d="M267.9 269.8l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M280.9 269.8l.5.5-.5-.5z"/>
+    <path fill="#a56363" d="M281.4 269.8l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M281.9 269.8l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M277.4 271.3c0 4.8-.5 8.7-6.5 9 1.3 3.6 7.8 1.3 10-.6 3-2.6 2.5-6.3 2.5-9.9l-6 1.5z"/>
+    <path fill="#bdbdbd" d="M288.9 269.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M289.4 269.8l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M291.4 269.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M293.4 269.8l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M297 269.8l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M301 269.8l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M301.4 269.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M300.4 274.1l4.6-4.3c-2.5.6-3.6 2.2-4.6 4.3z"/>
+    <path fill="#103900" d="M304 269.8l.4.5-.5-.5z"/>
+    <path fill="#7b7373" d="M306.4 269.8l.6.5-.6-.5z"/>
+    <path fill="#294221" d="M307 269.8l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M307.4 269.8l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M309 269.8l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M309.5 269.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M312 269.8l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M312.5 269.8l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M313 269.8l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M313.5 269.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M314 269.8l.5.5-.5-.5m-97.3.5l.5.5-.5-.5z"/>
+    <path fill="#293129" d="M217.2 270.3l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M218 270.5l.4.1-.3-.1z"/>
+    <path fill="#397b00" d="M218.9 270.6l.2.3-.2-.3z"/>
+    <path fill="#295200" d="M219.2 270.3l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M220.7 270.3l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M224.7 270.3l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M226.7 270.3l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M228.7 270.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M230.8 270.3l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M232.8 270.3v1.4h.5l-.5-1.4m2.1.3l.2.3-.2-.3m1.9-.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M238.1 270.5l.3.1-.3-.1z"/>
+    <path fill="#295200" d="M239.3 270.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M239.8 270.3l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M240.8 270.3l.5.5-.5-.5z"/>
+    <path fill="#5a3131" d="M245.8 270.3l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M248.3 270.3l.5.5-.5-.5z"/>
+    <path fill="#842118" d="M248.8 270.3l.5.5-.5-.5z"/>
+    <path fill="#8c6363" d="M249.3 270.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M249.8 270.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M261.3 270.3l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M261.8 270.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M263.3 270.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M263.8 270.3l.5.5-.5-.5z"/>
+    <path fill="#8c6363" d="M264.3 270.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M266.9 270.3l.5.5-.5-.5z"/>
+    <path fill="#4a2129" d="M267.4 270.3l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M267.9 270.3l.5.5-.5-.5z"/>
+    <path fill="#d6a5a5" d="M279.4 270.3l.5.5-.5-.5z"/>
+    <path fill="#946b63" d="M279.9 270.3l.5.5-.5-.5z"/>
+    <path fill="#a52921" d="M280.4 270.3l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M280.9 270.3l.5.5-.5-.5z"/>
+    <path fill="#4a2129" d="M283.4 270.3l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M283.9 270.3v.5h4.5l-4.5-.5z"/>
+    <path fill="#212139" d="M288.4 270.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M290.4 270.3l1.5 1v-.5l-1.5-.5z"/>
+    <path fill="#8c8c8c" d="M291.4 270.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M292 270.3l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M293.4 270.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M294 270.3l-.6 1 .5-1m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M296 270.3l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M297 270.3l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M298 270.3l.4.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M300 270.3l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M301 270.3l.4.5-.5-.5m2.5 0l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M306 270.3l.4.5-.4-.5z"/>
+    <path fill="#184a00" d="M306.4 270.3l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M308.5 270.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M309 270.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M313 270.3l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M313.5 270.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M314 270.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M217.2 270.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M217.7 270.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M218.2 270.8l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M220.7 270.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M221.7 270.8l.5.5-.5-.5m3.7.3l.2.3-.2-.3m1.3-.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M227.2 270.8l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M229.3 270.8l.4.5-.4-.5m2 0l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M236.3 270.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M236.8 270.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M237.8 270.8l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M239.3 270.8l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M249.8 270.8l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M250.3 270.8l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M250.8 270.8l.5.5-.5-.5z"/>
+    <path fill="#943131" d="M251.6 271l.4.1-.4-.2z"/>
+    <path fill="#c6b5b5" d="M252.3 270.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M261.3 270.8l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M263.3 270.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M263.8 270.8l.5.5-.5-.5z"/>
+    <path fill="#943131" d="M264.3 270.8l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M266.3 270.8l1 4.3-1-4.3z"/>
+    <path fill="#6b0808" d="M266.9 270.8l1 1-1-1z"/>
+    <path fill="#733939" d="M267.4 270.8l.5.5-.5-.5z"/>
+    <path fill="#c69c94" d="M276.9 270.8l.5.5-.5-.5z"/>
+    <path fill="#ad3931" d="M277.7 271l.3.1-.3-.2z"/>
+    <path fill="#bd2110" d="M278.4 270.8l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M278.9 270.8l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M279.4 270.8l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M283.4 270.8v3.8h.5l-.5-3.8z"/>
+    <path fill="#003994" d="M283.9 270.8c0 8.8-5.2 12-14 11.4l-.6 9c2 0 4.6.2 5-1.8l2 1.4 2-1.9-.4 2 1-1h.5l3-.5-.5 1.4 1.5-1.9 1 1h1.5v-1.5l1 .5.5-4.3c2.5-2 1-10.7 1-13.8h-4.5z"/>
+    <path fill="#424242" d="M290.4 270.8l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M292 270.8l.4.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M296 270.8v1.4h.4l-.5-1.4z"/>
+    <path fill="#185200" d="M297 270.8l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M298.4 270.8v2.4h.5l-.5-2.4z"/>
+    <path fill="#185200" d="M300.4 270.8l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M301 270.8l.4.5-.5-.5z"/>
+    <path fill="#082108" d="M303 270.8l.4.5-.5-.5z"/>
+    <path d="M305.4 270.8l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M306 270.8l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M308 270.8l-1 1.4 1-1.4z"/>
+    <path fill="#63636b" d="M308.5 270.8l.5.5-.5-.5m-90.8.5l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M218.7 271.3l1 1-1-1z"/>
+    <path fill="#295200" d="M219.2 271.3l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M221.2 271.3l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M221.7 271.3l.5.4-.5-.4m1.5 0v1h1v-1h-1z"/>
+    <path fill="#8c8c8c" d="M227.2 271.3l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M229.3 271.3l.4.4-.4-.4z"/>
+    <path fill="#103900" d="M237.3 271.3l.5.4-.5-.4z"/>
+    <path fill="#396b10" d="M238.8 271.3l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M239.3 271.3l.5.4-.5-.4z"/>
+    <path fill="#8c7373" fill-opacity=".5" d="M252.3 271.3v4.3h.5l-.5-4.3z"/>
+    <path fill="#efefef" d="M260.8 271.3l.5.4-.5-.4z"/>
+    <path fill="#10214a" d="M261.3 271.3l.5.4-.5-.4z"/>
+    <path fill="#636b7b" d="M263.3 271.3l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M264.3 271.3l.5.4-.5-.4z"/>
+    <path fill="#420000" d="M266.9 271.3l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M290.4 271.3l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M291 271.3l.4.4-.5-.4z"/>
+    <path fill="#425242" d="M292 271.3l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M294 271.3l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M297 271.3l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M300 271.3l1 1-1-1z"/>
+    <path fill="#103900" d="M300.4 271.3l.5.4-.5-.4m2 0l.5.4-.5-.4m2 0L302 274l2.4-2.8z"/>
+    <path fill="#082108" d="M305 271.3l.4.4-.4-.4z"/>
+    <path fill="#297b00" d="M305.4 271.3l.6.4-.6-.4z"/>
+    <path fill="#314231" d="M308 271.3l-.5 1 .5-1z"/>
+    <path fill="#bdbdbd" d="M217.7 271.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M218.2 271.7l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M221.9 272l.2.4-.2-.3m3.5 0l.2.3-.2-.3z"/>
+    <path fill="#526b42" d="M227.2 271.7l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M229.3 271.7l.4.5-.4-.5z"/>
+    <path fill="#314231" d="M229.8 271.7l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232.8 271.7l.5.5-.5-.5m3 .5v.5h1.5l-1.5-.5m1.5-.5l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M238.8 271.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M256.6 271.9l.4.2-.4-.2z"/>
+    <path fill="#8c8c8c" d="M257.3 271.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M257.8 271.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M258.3 271.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M260.8 271.7l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M261.3 271.7l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M262.8 271.7l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M263.3 271.7l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M264.3 271.7l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M266.9 271.7l.5.5-.5-.5z"/>
+    <path fill="#940008" d="M267.4 271.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M267.9 271.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M270.9 271.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M271.4 271.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M272.2 271.9l.3.2-.3-.2z"/>
+    <path fill="#7b7373" d="M272.9 271.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M290.4 271.7l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M291 271.7l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M291.4 271.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M292 271.7l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M292.4 271.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M294.3 271.9l.3.2-.4-.2z"/>
+    <path fill="#297b00" d="M296.4 271.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M297 271.7l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M297.4 271.7l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M300 271.7l.4.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M308 271.7l.5.5-.5-.5z"/>
+    <path fill="#396b10" d="M218.2 272.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M219.7 272.2l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M223.9 272.5l.2.3-.2-.3z"/>
+    <path fill="#396b10" d="M227.2 272.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M228.7 272.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M229.8 272.2l.4.5-.4-.5z"/>
+    <path fill="#214210" d="M230.3 272.2l1.4 1.4-1.4-1.4z"/>
+    <path fill="#294200" d="M232.4 272.5l.2.3-.2-.3z"/>
+    <path fill="#103900" d="M236.3 272.2l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M238.3 272.2l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M256.8 272.2c0 2.4.3 3.6 3 3.8.4-2.6-.4-3.2-3-3.8z"/>
+    <path fill="#002984" d="M257.8 272.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M258.3 272.2l.5.5-.5-.5z"/>
+    <path fill="#10214a" d="M258.8 272.2l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M259.3 272.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M259.8 272.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M260.3 272.2l.5.5-.5-.5z"/>
+    <path fill="#31425a" d="M260.8 272.2l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M262.8 272.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M263.8 272.2l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M264.3 272.2l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M266.9 272.2l.5.5-.5-.5z"/>
+    <path fill="#ce0008" d="M267.4 272.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M267.9 272.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M269.4 272.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M269.9 272.2l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M270.4 272.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M270.9 272.2l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M271.4 272.2l.5.5-.5-.5z"/>
+    <path fill="#003994" d="M268.4 273.2c1.1 4.1 4.4 2.8 4.5-1l-4.5 1z"/>
+    <path fill="#efefef" d="M290.4 272.2l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M291 272.2l.4.5-.5-.5z"/>
+    <path fill="#425242" d="M291.4 272.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M292 272.2l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M292.4 272.2l.5.5-.5-.5m2 0l.5.5-.5-.5zm7 0l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M304 272.2l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M307 272.2l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M307.4 272.2l-.4 1 .4-1z"/>
+    <path fill="#5a6b52" d="M218.2 272.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M219.7 272.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M220.2 272.7l.5.5-.5-.5m2 0l.5.5-.5-.5m3 0l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M228.7 272.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M230.3 272.7l1.4 1.4-1.4-1.4z"/>
+    <path fill="#397b00" d="M235.3 272.7l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M237.8 272.7l-.5 1 .5-1z"/>
+    <path fill="#cecece" d="M238.3 272.7l-.5 1 .5-1z"/>
+    <path fill="#002984" d="M259.8 272.7l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M260.3 272.7l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M260.8 272.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M262.8 272.7l.5.5-.5-.5z"/>
+    <path fill="#b5adad" d="M263.8 272.7l.5.5-.5-.5z"/>
+    <path fill="#6b0808" d="M266.9 272.7l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M267.4 272.7l.5.5-.5-.5z"/>
+    <path fill="#524242" d="M267.9 272.7l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M268.4 272.7l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M268.9 272.7l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M269.4 272.7l.5.5-.5-.5z"/>
+    <path fill="#395231" d="M291 272.7l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M291.4 272.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M292 272.7l.4.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M292.4 272.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M294.4 272.7l1 1-1-1z"/>
+    <path fill="#297b00" d="M295 272.7l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M296.6 273l.2.3-.2-.3z"/>
+    <path fill="#297b00" d="M297 272.7l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M301 272.7l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M303.4 272.7l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M306.4 272.7l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M218.2 273.2l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M220.2 273.2l.5.5-.5-.5m2.2.3l.2.3-.2-.3z"/>
+    <path fill="#295200" d="M223.7 273.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M229.3 273.2l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M231.8 273.2l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M232.3 273.2l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M234.8 273.2l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M260.3 273.2l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M260.8 273.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M262.3 273.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M262.8 273.2l.5.5-.5-.5z"/>
+    <path fill="#ad0008" d="M267.4 273.2l.5.5-.5-.5z"/>
+    <path fill="#390821" d="M267.9 273.2l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M291 273.2l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M291.4 273.2l.5.5-.5-.5z"/>
+    <path fill="#103910" d="M292 273.2l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M292.4 273.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M293 273.2l.4.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M297.4 273.2l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M298.4 273.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M300.4 273.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M303 273.2l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M306 273.2l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M306.4 273.2l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M218.2 273.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M218.7 273.6l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M223.7 273.6l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M228.2 273.6l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M229.3 273.6l1 1-1-1z"/>
+    <path fill="#cecece" d="M229.8 273.6l1 1-1-1z"/>
+    <path fill="#001000" d="M231.8 273.6l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M233.8 273.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M234.3 273.6l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M236.3 273.6l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M236.8 273.6l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M237.3 273.6l.5.5-.5-.5z"/>
+    <path fill="#001039" d="M260.3 273.6l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M262.3 273.6l.5.5-.5-.5z"/>
+    <path fill="#7b0008" d="M266.9 273.6l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M289.7 273.8l.4.2-.4-.2z"/>
+    <path fill="#9c9494" d="M291 273.6l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M291.8 273.8l.3.2-.4-.2z"/>
+    <path fill="#7b7373" d="M292.4 273.6l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M293 273.6l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M295 274l.3.3-.2-.3m1.5 0l.2.3-.2-.3z"/>
+    <path fill="#296300" d="M297.4 273.6l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M300 273.6l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M302.4 273.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M305.4 273.6l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M306 273.6l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M308 273.6l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M308.5 273.6l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M309 273.6l.5.5-.5-.5z"/>
+    <path fill="#395231" d="M309.5 273.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M310 273.6l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M218.7 274.1l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M220.7 274.1l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M222.2 274.1l1 1-1-1z"/>
+    <path fill="#397b00" d="M222.7 274.1l.5.5-.5-.5m2.5 0l-.5 1h1l-.5-1z"/>
+    <path fill="#396b10" d="M227.2 274.1l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M228.4 274.4l.2.4-.2-.4z"/>
+    <path fill="#efefef" d="M231.3 274.1l-.6 1 .6-1z"/>
+    <path fill="#294200" d="M231.8 274.1l.4.5-.4-.5m1.6.3l.2.4-.2-.4z"/>
+    <path fill="#295200" d="M233.8 274.1l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M234.8 274.1l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M235.3 274.1l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M235.8 274.1l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M260.3 274.1l.5.5-.5-.5z"/>
+    <path fill="#31425a" d="M262.3 274.1l.5.5-.5-.5z"/>
+    <path fill="#6b0808" d="M267.5 274.4l.2.4-.2-.4z"/>
+    <path fill="#bd0008" d="M267.9 274.1l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M268.4 274.1l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M289.4 274.1l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M290 274.1l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M291 274.1l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M291.4 274.1l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M292.4 274.1l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M293 274.1l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M298.4 274.1v2h.5l-.5-2z"/>
+    <path fill="#185200" d="M299.8 274.3l.3.1-.3-.1m1.6-.2l-1 1.4 1-1.4z"/>
+    <path fill="#296300" d="M302 274.1l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M305 274.1l-1 2.4h.4l.6-2.4z"/>
+    <path fill="#63636b" d="M305.4 274.1l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M307 274.1l.4.5-.4-.5z"/>
+    <path fill="#425242" d="M307.4 274.1l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M308 274.1l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M308.5 274.1l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M310 274.1l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M310.5 274.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M218.7 274.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M221 274.8l.4.1-.3-.1z"/>
+    <path fill="#526b42" d="M227.2 274.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M229 274.8l.4.1-.3-.1z"/>
+    <path fill="#314231" d="M230.3 274.6l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M231.3 274.6l-.6 1 .6-1z"/>
+    <path fill="#397b00" d="M232.8 274.6v1.4l1.5-1.4h-1.5z"/>
+    <path fill="#5a6b52" d="M234.3 274.6l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M234.8 274.6l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M256.3 274.6l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M260.2 274.8l.3.1-.3-.1z"/>
+    <path fill="#7b7373" d="M262.3 274.6l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M268 275l.2.2-.2-.3z"/>
+    <path fill="#390821" d="M268.4 274.6l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M283.4 274.6l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M290 274.6l.4.5-.5-.5z"/>
+    <path fill="#315221" d="M291.4 274.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M292.4 274.6l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M293 274.6l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M293.4 274.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M295.3 274.8l.3.1-.4-.1z"/>
+    <path fill="#185200" d="M296.4 274.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M299.4 274.6l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M305 274.6l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M305.4 274.6l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M306 274.6l.4.5-.4-.5z"/>
+    <path fill="#315221" d="M306.4 274.6l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M307 274.6l.4.5-.4-.5z"/>
+    <path fill="#314231" d="M310.5 274.6l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M218.7 275l.5.6-.5-.5z"/>
+    <path fill="#295200" d="M219.2 275l.5.6-.5-.5z"/>
+    <path fill="#103900" d="M221.2 275l.5.6-.5-.5z"/>
+    <path fill="#294200" d="M222.7 275l.5.6-.5-.5z"/>
+    <path fill="#295200" d="M224.7 275l.5.6-.5-.5z"/>
+    <path fill="#6b735a" d="M227.2 275l.5.6-.5-.5z"/>
+    <path fill="#7b7373" d="M228.2 275l.5.6-.5-.5z"/>
+    <path fill="#294200" d="M229.4 275.4l.2.3-.2-.3z"/>
+    <path fill="#315221" d="M231.3 275l.4.6-.4-.5z"/>
+    <path fill="#103900" d="M232.8 275l.5.6-.5-.5z"/>
+    <path fill="#63636b" d="M233.8 275l-.5 1 .5-1z"/>
+    <path fill="#292921" d="M234.8 275l.5.6-.5-.5z"/>
+    <path fill="#dedede" d="M235.3 275l.5.6-.5-.5z"/>
+    <path fill="#733939" d="M240.8 275l.5.6-.5-.5z"/>
+    <path fill="#bd2110" d="M245.8 275l.5.6-.5-.5z"/>
+    <path fill="#8c8c8c" d="M256.3 275l.5.6-.5-.5z"/>
+    <path fill="#002984" d="M261.8 275l.5.6-.5-.5z"/>
+    <path fill="#9c9494" d="M262.3 275l.5.6-.5-.5z"/>
+    <path fill="#b51010" d="M266.9 275l.5.6-.5-.5z"/>
+    <path fill="#520808" d="M267.4 275l.5.6-.5-.5z"/>
+    <path fill="#7b0008" d="M268.4 275l.5.6-.5-.5z"/>
+    <path fill="#636b7b" d="M272.9 275l.5.6-.5-.5z"/>
+    <path fill="#002984" d="M283.6 275.4l.1.3-.1-.3z"/>
+    <path fill="#001000" d="M290 275l.4.6-.5-.5z"/>
+    <path fill="#dedede" d="M290.4 275l.5.6-.5-.5z"/>
+    <path fill="#6b735a" d="M291.4 275l.5.6-.5-.5z"/>
+    <path fill="#185200" d="M293.3 275.2l.3.2-.4-.2z"/>
+    <path fill="#103900" d="M295.4 275l.5.6-.5-.5z"/>
+    <path fill="#297b00" d="M297 275l.4.6-.5-.5z"/>
+    <path fill="#293129" d="M304.4 275l.6.6-.6-.5z"/>
+    <path fill="#7b7373" d="M305 275l.4.6-.4-.5z"/>
+    <path fill="#214210" d="M305.4 275l.6.6-.6-.5z"/>
+    <path fill="#297b00" d="M306 275l.4.6-.4-.5z"/>
+    <path fill="#185200" d="M310.5 275l.5.6-.5-.5z"/>
+    <path fill="#cecece" d="M311 275l.5.6-.5-.5z"/>
+    <path fill="#314231" d="M219.2 275.6l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M221.2 275.6l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M222.7 275.6l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M223.2 275.6l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M224.7 275.6l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M227.4 275.9l.2.3-.2-.3m.8-.3l.6.4-.6-.4z"/>
+    <path fill="#294200" d="M230.8 275.6l.4.4-.4-.4z"/>
+    <path fill="#397b00" d="M231.3 275.6l-.6 2.3h.6v-2.3z"/>
+    <path fill="#294200" d="M232.4 275.9l.2.3-.2-.3z"/>
+    <path fill="#bdbdbd" d="M234.3 275.6l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M235 275.9l.1.3-.2-.3z"/>
+    <path fill="#bdbdbd" d="M235.3 275.6l.5.4-.5-.4m4 0l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M239.8 275.6l.5.4-.5-.4z"/>
+    <path fill="#315221" d="M240.3 275.6l.5.4-.5-.4z"/>
+    <path fill="#310000" d="M240.8 275.6l.5.4-.5-.4z"/>
+    <path fill="#a51008" d="M246.3 275.6l.5.4-.5-.4z"/>
+    <path fill="#845a52" d="M252.3 275.6l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M256.3 275.6l.5.4-.5-.4z"/>
+    <path fill="#10214a" d="M256.8 275.6l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M261.8 275.6l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M262.3 275.6l.5.4-.5-.4z"/>
+    <path fill="#a51008" d="M266.9 275.6l.5.4-.5-.4z"/>
+    <path fill="#940008" d="M267.4 275.6l1 .9-1-1z"/>
+    <path fill="#bd0008" d="M268.2 275.7l.3.2-.3-.2z"/>
+    <path fill="#00215a" d="M268.9 275.6l.5.4-.5-.4z"/>
+    <path fill="#10214a" d="M272.4 275.6l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M272.9 275.6l-.5.9.5-1z"/>
+    <path fill="#103900" d="M290 275.6l.4.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M290.4 275.6l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M291.4 275.6l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M292 275.6l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M293.4 275.6l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M295.4 275.6l.5.4-.5-.4zm5 0l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M304 275.6l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M304.4 275.6l.6.4-.6-.4z"/>
+    <path fill="#297b00" d="M305 275.6l.4.4-.4-.4m4.3.1l.3.2-.3-.2m1.2-.1l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M311 275.6l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M219.2 276l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M219.7 276l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M221.7 276l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M223.2 276l1 1-1-1z"/>
+    <path fill="#397b00" d="M223.7 276l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M224.7 276l-.5 1.5.5-1.5z"/>
+    <path fill="#bdbdbd" d="M228.2 276l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.7 276l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.8 276l.4.5-.4-.5z"/>
+    <path fill="#738c63" d="M232.8 276l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M233.8 276l-2 2.4 2-2.4z"/>
+    <path fill="#214210" d="M234.3 276l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M235.4 276.4l.2.3-.2-.3z"/>
+    <path fill="#efefef" d="M237.3 276l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M237.8 276l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M238.3 276l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M238.8 276v1.5h.5l-.5-1.5z"/>
+    <path fill="#397b00" d="M239.6 276.2l.3.2-.3-.2z"/>
+    <path fill="#214210" d="M240.3 276l.5.5-.5-.5z"/>
+    <path fill="#733939" d="M240.8 276l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M246.3 276l.5.5-.5-.5z"/>
+    <path fill="#943131" d="M252.3 276l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M256.8 276l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M257.3 276l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M257.8 276l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M258.7 276.2l.3.2-.3-.2z"/>
+    <path fill="#001039" d="M259.3 276l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M261.8 276l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M262.3 276l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M266.9 276l.5.5-.5-.5z"/>
+    <path fill="#bd0008" d="M267.4 276l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M268.4 276l2 5.3-2-5.3z"/>
+    <path fill="#391810" d="M268.9 276l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M269.4 276l.5.5-.5-.5z"/>
+    <path fill="#21315a" d="M269.9 276l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M271.9 276l.5.5-.5-.5z"/>
+    <path fill="#9c4a42" d="M276.9 276l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M282.9 276l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M290 276.4l.2.3-.1-.3z"/>
+    <path fill="#395231" d="M290.4 276l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M291.4 276l-.5 1 .5-1z"/>
+    <path fill="#296300" d="M292 276l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M293.4 276l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M295.4 276l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M300 276l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M303.1 276.4l.2.3-.2-.3z"/>
+    <path fill="#103900" d="M303.4 276l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M308 276l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M308.5 276l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M309 276l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M309.5 276l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M310 276l1 1-1-1z"/>
+    <path fill="#315221" d="M311 276l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M219.7 276.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M220.2 276.5l1 1-1-1m1.5 0l1.5 1v-.5l-1.5-.5z"/>
+    <path fill="#294200" d="M222.2 276.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M224.2 276.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M227.2 276.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M228.2 276.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M228.7 276.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M229.8 276.5v1.4h.4l-.4-1.4z"/>
+    <path fill="#295200" d="M231.8 276.5l.4.5-.4-.5z"/>
+    <path fill="#396b10" d="M232.3 276.5l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M232.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M233.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M234.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M236.3 276.5l-.5 1 .5-1z"/>
+    <path fill="#63636b" d="M236.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#396b10" d="M237.3 276.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M239.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M240.3 276.5l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M246.3 276.5l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M252.3 276.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M259.3 276.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M259.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M261.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M263.8 276.5l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M266.9 276.5l.5.5-.5-.5z"/>
+    <path fill="#6b0808" d="M268 276.8l.2.3-.2-.3z"/>
+    <path fill="#7b0008" d="M268.9 276.5l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M269.4 276.5l.5.5-.5-.5z"/>
+    <path fill="#ad3931" d="M276.9 276.5l.5.5-.5-.5z"/>
+    <path fill="#842118" d="M282.9 276.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M290.4 276.5l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M292 276.5l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M293.8 276.7l.3.1-.4-.1z"/>
+    <path fill="#185200" d="M297 276.5l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M302 276.5l1 1-1-1z"/>
+    <path fill="#103900" d="M302.4 276.5l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M307 276.5l.4.5-.4-.5z"/>
+    <path fill="#425242" d="M307.4 276.5l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M308 276.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M310 276.5l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M311 276.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M311.5 276.5l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M315 276.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M315.6 276.8l.2.3-.2-.3z"/>
+    <path fill="#63636b" d="M220.2 277l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M224.7 277l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M226.7 277l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M227.2 277l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M228.7 277l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M231.8 277l.4.5-.4-.5z"/>
+    <path fill="#bdc6ad" d="M232.3 277l.4.5-.4-.5z"/>
+    <path fill="#214210" d="M233.3 277l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M234.3 277l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M235.4 277.3l.2.3-.2-.3z"/>
+    <path fill="#314231" d="M236.3 277l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M239.3 277l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M239.8 277l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M246.3 277l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M252.3 277l.5.5-.5-.5z"/>
+    <path fill="#a59494" d="M252.8 277l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M259.3 277l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M259.8 277l.5.5-.5-.5z"/>
+    <path fill="#10295a" d="M261.8 277l.5.5-.5-.5z"/>
+    <path fill="#c6b5b5" d="M263.8 277l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M264.5 277.3l.2.3-.2-.3z"/>
+    <path fill="#bd0008" d="M268.9 277l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M269.4 277l.5.5-.5-.5z"/>
+    <path fill="#debdb5" d="M276.4 277l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M276.9 277l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M282.9 277l.5.5-.5-.5z"/>
+    <path fill="#5a7b42" d="M290 277l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M290.4 277l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M291 277l.4.5-.5-.5z"/>
+    <path fill="#315221" d="M292 277l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M293.4 277l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M294 277v1.4h.4l-.5-1.4z"/>
+    <path fill="#185200" d="M296 277.3l.3.3-.2-.3z"/>
+    <path fill="#296300" d="M297 277l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M299 277l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M301.4 277l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M302 277l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M306 277l.4.5-.4-.5z"/>
+    <path fill="#395231" d="M306.4 277l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M307 277l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M310.5 277l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M311 277l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M311.5 277l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M313.5 277l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M314 277l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M314.5 277l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M315 277l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M220.7 277.5l.5.4-.5-.4z"/>
+    <path fill="#214210" d="M221.2 277.5l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M224.7 277.5l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M225.4 277.8l.2.3-.2-.3z"/>
+    <path fill="#8c8c8c" d="M227.2 277.5l.5.4-.5-.4z"/>
+    <path fill="#5a5231" d="M228.7 277.5l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M231.3 277.5l-.6 1 .6-1z"/>
+    <path fill="#425242" d="M231.8 277.5l.4.4-.4-.4z"/>
+    <path fill="#214210" d="M232.8 277.5l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M234.3 277.5l.5.4-.5-.4z"/>
+    <path fill="#425242" d="M235.8 277.5l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M238.3 277.5l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M238.8 277.5l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M239.8 277.5l.5.4-.5-.4z"/>
+    <path fill="#a51008" d="M246.8 277.5l.5.4-.5-.4z"/>
+    <path fill="#842118" d="M252.8 277.5l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M259.3 277.5l.5.4-.5-.4z"/>
+    <path fill="#42425a" d="M261.8 277.5v3.8h.5l-.5-3.8z"/>
+    <path fill="#bdbdbd" d="M263.8 277.5l.5.4-.5-.4z"/>
+    <path fill="#a51008" d="M266.9 277.5l.5.4-.5-.4z"/>
+    <path fill="#ad0008" d="M268.4 277.5l.5.4-.5-.4z"/>
+    <path fill="#733939" d="M269.4 277.5l.5.4-.5-.4z"/>
+    <path fill="#9c4239" d="M276.4 277.5l.5.4-.5-.4z"/>
+    <path fill="#ce1810" d="M282.4 277.5l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M288.9 277.5l1 1-1-1z"/>
+    <path fill="#4a6342" d="M290 277.8l.2.3-.1-.3z"/>
+    <path fill="#314231" d="M291 277.5l.4.4-.5-.4z"/>
+    <path fill="#4a6342" d="M292 277.5l.4.4-.5-.4z"/>
+    <path fill="#296300" d="M298.4 277.5l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M299 277.5l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M301 277.5l.4.4-.5-.4z"/>
+    <path fill="#296300" d="M301.4 277.5l.5.4-.5-.4m3.6 0l.4.4-.4-.4z"/>
+    <path fill="#294221" d="M305.4 277.5l.6.4-.6-.4z"/>
+    <path fill="#9c9494" d="M306 277.5l.4.4-.4-.4z"/>
+    <path fill="#7b7373" d="M311 277.5l.5.4-.5-.4z"/>
+    <path fill="#52525a" d="M311.5 277.5l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M312 277.5l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M312.5 277.5l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M313 277.5l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M313.6 277.8l.2.3-.2-.3z"/>
+    <path fill="#296300" d="M314 277.5l.5.4-.5-.4z"/>
+    <path fill="#294221" d="M314.5 277.5l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M315 277.5l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M221.2 278l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M221.7 278l.5.4-.5-.5z"/>
+    <path fill="#5a5231" d="M222.2 278l.5.4-.5-.5z"/>
+    <path fill="#295200" d="M222.7 278l.5.4-.5-.5z"/>
+    <path fill="#5a6b52" d="M227.2 278l.5.4-.5-.5z"/>
+    <path fill="#526b42" d="M228.7 278l.5.4-.5-.5z"/>
+    <path fill="#213918" d="M231.3 278l.4.4-.4-.5z"/>
+    <path fill="#315221" d="M232.3 278l.4.4-.4-.5z"/>
+    <path fill="#295200" d="M233.8 278l.5.4-.5-.5z"/>
+    <path fill="#397b00" d="M234.3 278l.5.4-.5-.5z"/>
+    <path fill="#292100" d="M235.3 278l.5.4-.5-.5z"/>
+    <path fill="#397b00" d="M235.8 278l.5.4-.5-.5z"/>
+    <path fill="#295200" d="M237.8 278l.5.4-.5-.5z"/>
+    <path fill="#397b00" d="M238.3 278l.5.4-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M239.8 278l.5.4-.5-.5z"/>
+    <path fill="#ad1810" d="M246.8 278l.5.4-.5-.5z"/>
+    <path fill="#ce1810" d="M252.8 278l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M253.3 278l.5.4-.5-.5z"/>
+    <path fill="#7b7373" d="M259.3 278l.5.4-.5-.5z"/>
+    <path fill="#efefef" d="M263.8 278l.5.4-.5-.5z"/>
+    <path fill="#b51010" d="M264.3 278l.5.4-.5-.5z"/>
+    <path fill="#ad0008" d="M267.4 278l.5.4-.5-.5z"/>
+    <path fill="#bd0008" d="M267.9 278l.5.4-.5-.5z"/>
+    <path fill="#7b0008" d="M268.4 278l.5.4-.5-.5z"/>
+    <path fill="#940008" d="M269.4 278l.5.4-.5-.5z"/>
+    <path fill="#dedede" d="M269.9 278l.5.4-.5-.5z"/>
+    <path fill="#a5847b" d="M275.9 278l-.5.9.5-1z"/>
+    <path fill="#ce1810" d="M276.4 278l.5.4-.5-.5z"/>
+    <path fill="#392121" d="M282.4 278l.5.4-.5-.5z"/>
+    <path fill="#103910" d="M288.9 278l.5.4-.5-.5z"/>
+    <path fill="#185200" d="M291 278l.4.4-.5-.5z"/>
+    <path fill="#efefef" d="M291.4 278l.5.4-.5-.5z"/>
+    <path fill="#6b735a" d="M292 278l.4.4-.5-.5z"/>
+    <path fill="#184a00" d="M296 278.3l.3.3-.2-.3z"/>
+    <path fill="#297b00" d="M298 278l1 .9-1-1z"/>
+    <path fill="#103900" d="M298.4 278l.5.4-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M304 278l.4.4-.5-.5z"/>
+    <path fill="#214210" d="M304.4 278l.6.4-.6-.5z"/>
+    <path fill="#9c9494" d="M305 278l.4.4-.4-.5z"/>
+    <path fill="#bdbdbd" d="M309.3 278.1l.3.2-.3-.2z"/>
+    <path fill="#8c8c8c" d="M310 278l.5.4-.5-.5z"/>
+    <path fill="#6b735a" d="M310.5 278l.5.4-.5-.5z"/>
+    <path fill="#4a6342" d="M311 278l.5.4-.5-.5z"/>
+    <path fill="#184a00" d="M311.5 278l.5.4-.5-.5z"/>
+    <path fill="#296300" d="M312 278l.5.4-.5-.5z"/>
+    <path fill="#297b00" d="M312.5 278l-.5.9.5-1z"/>
+    <path fill="#319400" d="M313 278l.5.4-.5-.5z"/>
+    <path fill="#7b7373" d="M314 278l.5.4-.5-.5z"/>
+    <path fill="#efefef" d="M314.5 278l.5.4-.5-.5z"/>
+    <path fill="#dedede" d="M222.7 278.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M223.2 278.4l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M223.7 278.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M224.2 278.4l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M227.2 278.4l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M230.8 278.4l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M231.3 278.4l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M231.8 278.4l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M233.8 278.4l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M237.3 278.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M237.8 278.4l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M247.3 278.4l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M253.3 278.4l1 1-1-1z"/>
+    <path fill="#a59494" d="M253.8 278.4l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M264.3 278.4l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M267.9 278.4v6.7h1.5l-1.5-6.7z"/>
+    <path fill="#6b0808" d="M268.5 278.7l.2.4-.2-.4z"/>
+    <path fill="#ce0008" d="M269.4 278.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M269.9 278.4l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M275.9 278.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M281.9 278.4l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M288.9 278.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M289.4 278.4l.5.5-.5-.5z"/>
+    <path fill="#103910" d="M290 278.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M291 278.4l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M291.4 278.4l.5.5-.5-.5z"/>
+    <path fill="#8c9c84" d="M292 278.7l.2.4-.1-.4z"/>
+    <path fill="#296300" d="M294 278.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M294.4 278.4l-.5 1 .5-1z"/>
+    <path fill="#185200" d="M298 278.4l.4.5-.5-.5m1.5 0l-1.5 2 1.5-2z"/>
+    <path fill="#184a00" d="M300 278.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M303 278.4l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M303.4 278.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M304 278.4l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M304.4 278.4l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M305 278.4l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M305.8 278.6l.3.1-.3-.1z"/>
+    <path fill="#6b735a" d="M306.4 278.4l.6.5-.6-.5z"/>
+    <path fill="#4a6342" d="M307 278.4l.4.5-.4-.5z"/>
+    <path fill="#426331" d="M307.4 278.4l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M308 278.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M308.5 278.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M309.3 278.6l.3.1-.3-.1z"/>
+    <path fill="#184a00" d="M312.5 278.4l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M313 278.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M313.5 278.4l.5.5-.5-.5m-89.3.5l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M224.7 278.9l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M225.2 278.9l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M225.7 278.9l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.2 278.9l1 1-1-1z"/>
+    <path fill="#397b00" d="M227.2 278.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M227.7 278.9l.5.5-.5-.5z"/>
+    <path fill="#293129" d="M230.8 278.9l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M231.3 278.9l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M231.8 278.9l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M233.3 278.9l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M235.3 278.9l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M237.3 278.9l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M239.3 278.9l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M247.3 278.9l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M247.8 278.9l1 1.4-1-1.4z"/>
+    <path fill="#8c7373" d="M254.3 278.9l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M254.8 278.9l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M264.3 278.9l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M267.5 279.2l.2.3-.2-.3z"/>
+    <path fill="#6b2131" d="M269.9 278.9l.5.5-.5-.5z"/>
+    <path fill="#946b63" d="M274.9 278.9l.5.5-.5-.5z"/>
+    <path fill="#ce1810" d="M275.4 278.9l.5.5-.5-.5m6 0l-.5 1 .5-1z"/>
+    <path fill="#00216b" d="M281.9 278.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M288.9 278.9l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M289.4 278.9l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M290 278.9l.4.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M291.4 278.9l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M294.6 279.2l.2.3-.2-.3m1.3-.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M302 278.9l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M302.4 278.9l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M303 278.9l.4.5-.5-.5z"/>
+    <path fill="#395231" d="M303.4 278.9l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M304 278.9l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M304.4 278.9l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M305 278.9l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M311 278.9l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M311.5 278.9l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M312 278.9l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M312.5 278.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M224.7 279.4l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M225.2 279.4l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M226.2 279.4l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M227.7 279.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M230.3 279.4l.4.5-.4-.5z"/>
+    <path fill="#ada5a5" d="M230.8 279.4l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M231.3 279.4l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M233 279.5l.4.2-.3-.2m2 0l.3.2-.3-.2z"/>
+    <path fill="#103900" d="M236.8 279.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M238.8 279.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M239.3 279.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M254.8 279.4l.5.5-.5-.5z"/>
+    <path fill="#8c7373" d="M255.3 279.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M255.8 279.4l.5.5-.5-.5z"/>
+    <path fill="#943131" d="M264.5 279.7l.2.3-.2-.3z"/>
+    <path fill="#940008" d="M268.4 279.4l.5.5-.5-.5z"/>
+    <path fill="#ad0008" d="M268.9 279.4l.5.5-.5-.5z"/>
+    <path fill="#940008" d="M269.9 279.4l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M270.4 279.4l.5.5-.5-.5z"/>
+    <path fill="#a5847b" d="M273.9 279.4l.5.5-.5-.5z"/>
+    <path fill="#9c2118" d="M274.4 279.4l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M281.4 279.4l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M289 279.7l.2.3-.1-.3z"/>
+    <path fill="#297b00" d="M289.4 279.4v.5h1.5v-.5h-1.5z"/>
+    <path fill="#185200" d="M290 279.4l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M291.4 279.4l.5.5-.5-.5z"/>
+    <path fill="#395231" d="M292 279.4l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M296 279.4l.4.5-.5-.5m5.5 0l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M302 279.4l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M302.4 279.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M310 279.4l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M310.5 279.4l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M311 279.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M311.5 279.4l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M224.7 279.9l.5.4-.5-.4z"/>
+    <path fill="#422100" d="M226.7 279.9l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M227.7 279.9l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M228.2 279.9l.5.4-.5-.4z"/>
+    <path fill="#214210" d="M230.3 279.9l.4.4-.4-.4z"/>
+    <path fill="#314231" d="M231.3 279.9l.4.4-.4-.4z"/>
+    <path fill="#294200" d="M232.8 279.9l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M234.8 279.9l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M236.3 279.9l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M236.8 279.9l.5.4-.5-.4z"/>
+    <path fill="#396b10" d="M238.8 279.9l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M239.3 279.9l.5.4-.5-.4z"/>
+    <path fill="#a51008" d="M248.8 279.9l.5.4-.5-.4m7 0l.5.4-.5-.4z"/>
+    <path fill="#9c2929" d="M256.3 279.9l.5.4-.5-.4z"/>
+    <path fill="#845a52" d="M256.8 279.9l.5.4-.5-.4z"/>
+    <path fill="#a59494" d="M257.3 279.9l.5.4-.5-.4z"/>
+    <path fill="#c6b5b5" d="M257.8 279.9l.5.4-.5-.4z"/>
+    <path fill="#8c7373" d="M258.7 280l.3.2-.3-.2z"/>
+    <path fill="#212139" d="M259.3 279.9l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M267.4 279.9l.5.4-.5-.4z"/>
+    <path fill="#ce0008" d="M268.4 279.9l.5.4-.5-.4z"/>
+    <path fill="#6b0808" d="M268.9 279.9l.5.4-.5-.4z"/>
+    <path fill="#ce0008" d="M269.9 279.9l.5.4-.5-.4z"/>
+    <path fill="#734a42" d="M270.4 279.9l.5.4-.5-.4z"/>
+    <path fill="#946b63" d="M270.9 279.9l.5.4-.5-.4z"/>
+    <path fill="#bd8c8c" d="M271.4 279.9l.5.4-.5-.4z"/>
+    <path fill="#a5847b" d="M271.9 279.9l.5.4-.5-.4z"/>
+    <path fill="#9c5a52" d="M272.4 279.9l.5.4-.5-.4z"/>
+    <path fill="#ad3931" d="M272.9 279.9l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M273.4 279.9l.5.4-.5-.4m7 0l.5.4-.5-.4z"/>
+    <path fill="#00216b" d="M280.9 279.9l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M289.4 279.9l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M290.6 280.2l.1.3-.1-.3z"/>
+    <path fill="#297b00" d="M291.4 279.9l.5.4-.5-.4z"/>
+    <path fill="#082108" d="M292 279.9l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M294.4 279.9v1.4h.5l-.5-1.4z"/>
+    <path fill="#103900" d="M301 279.9l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M308.5 279.9l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M309 279.9l.5.4-.5-.4z"/>
+    <path fill="#425242" d="M309.5 279.9l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M310 279.9l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M310.5 279.9l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M224.7 280.3l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M225.2 280.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M226.2 280.3l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M226.7 280.3l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M228.2 280.3l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M230.3 280.3l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M230.8 280.3l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M231.3 280.3l.4.5-.4-.5m1.4 0l.6.5-.6-.5m1.6 0l-1 2h.4l.6-2z"/>
+    <path fill="#397b00" d="M234.8 280.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M236.1 280.5l.3.1-.3-.1z"/>
+    <path fill="#397b00" d="M238.3 280.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M238.8 280.3l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M248.8 280.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M249.3 280.3l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M259.3 280.3l.5.5-.5-.5z"/>
+    <path fill="#8c6363" d="M264.3 280.3l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M267.5 280.6l.2.4-.2-.4z"/>
+    <path fill="#520808" d="M268.9 280.3l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M270.4 280.3l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M279.9 280.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M280.4 280.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M289.4 280.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M292 280.3l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M298 280.3l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M300 280.3l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M300.4 280.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M307.4 280.3l.6.5-.6-.5z"/>
+    <path fill="#214210" d="M308 280.3l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M308.5 280.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M309 280.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M225.2 280.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M225.7 280.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M226.2 280.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M226.7 280.8l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M227.2 280.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.2 280.8l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M228.7 280.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M230.3 280.8l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M230.8 280.8l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M231.3 280.8l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M234.3 280.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M235.3 280.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M235.8 280.8l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M238.3 280.8l-1 1.4 1-1.4z"/>
+    <path fill="#ad1810" d="M249.8 280.8l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M250.3 280.8l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M259.3 280.8l.5.5-.5-.5z"/>
+    <path fill="#8c7373" d="M264.3 280.8l.5.5-.5-.5z"/>
+    <path fill="#6b0808" d="M268.9 280.8l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M270.4 280.8l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M278.9 280.8l.5.5-.5-.5z"/>
+    <path fill="#291029" d="M279.4 280.8l.5.5-.5-.5z"/>
+    <path fill="#29396b" d="M288.4 280.8l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M289.4 280.8l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M290.4 280.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M291 280.8l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M292 280.8l.4.5-.5-.5m7.5 0l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M300 280.8l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M304 280.8l1 1-1-1z"/>
+    <path fill="#185200" d="M304.4 280.8l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M305 280.8v.5h2l-2-.5z"/>
+    <path fill="#185200" d="M307 280.8l.4.5-.4-.5z"/>
+    <path fill="#296300" d="M307.4 280.8l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M308 280.8v.5h1.5l-1.5-.5z"/>
+    <path fill="#4a6342" d="M309.5 280.8v.5h1.5l-1.5-.5z"/>
+    <path fill="#7b8c73" d="M311 280.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M311.5 280.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M312 280.8l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M225.2 281.3l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M227.2 281.3l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M228.7 281.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.8 281.3l.4.5-.4-.5z"/>
+    <path fill="#5a1008" d="M230.3 281.3l.4.5-.4-.5z"/>
+    <path fill="#733939" d="M230.8 281.3l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M234.3 281.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M234.8 281.3l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M238.3 281.3l-.5 1 .5-1z"/>
+    <path fill="#b51010" d="M250.8 281.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M251.3 281.3l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M251.8 281.3l1 1-1-1z"/>
+    <path fill="#ce1810" d="M259.3 281.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M259.8 281.3l.5.5-.5-.5z"/>
+    <path fill="#425a84" d="M261.8 281.3l.5.5-.5-.5z"/>
+    <path fill="#b5adad" d="M264.3 281.3l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M267.4 281.3l.5.5-.5-.5z"/>
+    <path fill="#940008" d="M269.2 281.4l.3.2-.3-.2z"/>
+    <path fill="#ad0008" d="M269.9 281.3l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M270.4 281.3l1 1-1-1z"/>
+    <path fill="#ce1810" d="M277.4 281.3l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M277.9 281.3l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M278.4 281.3l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M288.4 281.3l.5.5-.5-.5z"/>
+    <path fill="#396321" d="M289.4 281.3l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M291 281.3v1.4h.4l-.5-1.4z"/>
+    <path fill="#296300" d="M292 281.3l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M292.4 281.3l-.5 1 .5-1z"/>
+    <path fill="#296300" d="M294.4 281.3v2.4h1l-1-2.4z"/>
+    <path fill="#297b00" d="M295 281.3l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M299 281.3l-1 1.4 1-1.4z"/>
+    <path fill="#297b00" d="M299.4 281.3l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M303.1 281.6l.2.3-.2-.3z"/>
+    <path fill="#103900" d="M303.4 281.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M304 281.3l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M311 281.3l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M311.5 281.3l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M312 281.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M225.2 281.8l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M225.7 281.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M226.2 281.8l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M227.2 281.8l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M227.7 281.8l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M229.4 282l.2.4-.2-.3z"/>
+    <path fill="#7b1008" d="M229.8 281.8l.4.4-.4-.4z"/>
+    <path fill="#de2110" d="M230.4 282l.2.4-.2-.3z"/>
+    <path fill="#631808" d="M231 282v.4-.3z"/>
+    <path fill="#294200" d="M232.8 281.8l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M236.8 281.8l.5.4-.5-.4z"/>
+    <path fill="#946b63" d="M240.8 281.8l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M251.8 281.8l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M252.8 281.8l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M253.3 281.8l.5.4-.5-.4z"/>
+    <path fill="#a51008" d="M253.8 281.8l.5.4-.5-.4z"/>
+    <path fill="#ce1810" d="M254.3 281.8v.4h4l-4-.4z"/>
+    <path fill="#941808" d="M258.3 281.8l.5.4-.5-.4z"/>
+    <path fill="#a51008" d="M258.8 281.8l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M259.3 281.8l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M259.8 281.8l.5.4-.5-.4m2.2.3l.2.3-.2-.3z"/>
+    <path fill="#bdbdbd" d="M264.3 281.8l.5.4-.5-.4z"/>
+    <path fill="#ce1810" d="M265 282l.2.4-.2-.3z"/>
+    <path fill="#000818" d="M269.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M269.9 281.8l.5.4-.5-.4z"/>
+    <path fill="#080829" d="M270.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#ce1810" d="M271.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M275.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M275.9 281.8l.5.4-.5-.4z"/>
+    <path fill="#5a1021" d="M276.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#00215a" d="M276.9 281.8l.5.4-.5-.4z"/>
+    <path fill="#292921" d="M288.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#5a7b42" d="M289.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M292.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M299 281.8l.4.4-.5-.4m2.5 0l1 .9-1-1z"/>
+    <path fill="#185200" d="M302 281.8l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M302.4 281.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M308.5 281.8l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M309 281.8l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M309.5 281.8l.5.4-.5-.4z"/>
+    <path fill="#395231" d="M310 281.8l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M310.5 281.8l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M311 281.8l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M311.5 281.8l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M225.2 282.2l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M225.7 282.2l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.2 282.2l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M226.7 282.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M227.2 282.2l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M227.7 282.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M229.8 282.2l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232.6 282.4l.3.2-.3-.2z"/>
+    <path fill="#396b10" d="M236.3 282.2l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M254.3 282.2l.5.5-.5-.5zm3.5 0l.5.5-.5-.5z"/>
+    <path fill="#391810" d="M259.8 282.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M264.3 282.2l.5.5-.5-.5z"/>
+    <path fill="#291029" d="M269.4 282.2l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M271.9 282.2v.5h3.5l-3.5-.5z"/>
+    <path fill="#082108" d="M288.4 282.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M288.9 282.2l.5.5-.5-.5z"/>
+    <path fill="#4a6342" d="M289.6 282.6l.1.3-.1-.3z"/>
+    <path fill="#184a00" d="M292.6 282.6l.1.3-.1-.3z"/>
+    <path fill="#297b00" d="M298.4 282.2l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M301 282.2l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M301.4 282.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M306 282.2l.4.5-.4-.5z"/>
+    <path fill="#296300" d="M306.4 282.2l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M307 282.2l.4.5-.4-.5z"/>
+    <path fill="#4a6342" d="M307.4 282.2l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M308 282.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M308.5 282.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M309 282.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M225.2 282.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M225.7 282.7l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M226.2 282.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M226.7 282.7l1 1v-1h-1z"/>
+    <path fill="#292100" d="M227.7 282.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.2 282.7l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M229.8 282.7l.4.5-.4-.5z"/>
+    <path fill="#b51010" d="M230.3 282.7l.4.5-.4-.5z"/>
+    <path fill="#5a2908" d="M230.8 282.7l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M232.3 282.7l.4.5-.4-.5z"/>
+    <path fill="#214210" d="M235.3 282.7l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M235.8 282.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M236.3 282.7l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M259.8 282.7l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M260.3 282.7l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M262.3 282.7l.5.5-.5-.5z"/>
+    <path fill="#a51008" d="M264.8 282.7l.5.5-.5-.5z"/>
+    <path fill="#390821" d="M269.4 282.7l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M288.4 282.7l1 1-1-1z"/>
+    <path fill="#5a6b52" d="M288.9 282.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M291 282.7l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M291.4 282.7l-.5 1 .5-1z"/>
+    <path fill="#185200" d="M297 284.1l1.4-1.4-1.5 1.4z"/>
+    <path fill="#297b00" d="M300 282.7l1 1-1-1z"/>
+    <path fill="#103900" d="M300.4 282.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M301 282.7l.4.5-.5-.5m4 0l.6.5-.6-.5z"/>
+    <path fill="#315221" d="M305.4 282.7l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M306 282.7l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M306.4 282.7l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M219.7 283.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M220.2 283.2l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M225.7 283.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M226.7 283.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M228.2 283.2l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M228.7 283.2l.5 1.4h.5l-1-1.4z"/>
+    <path fill="#397b00" d="M230.3 283.2l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M230.8 283.2l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232 283.3l.4.2-.3-.2m1.7-.1l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M234.3 283.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M234.8 283.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M235.3 283.2l.5.5-.5-.5z"/>
+    <path fill="#391810" d="M260.3 283.2l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M261.8 283.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M262.3 283.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M264.8 283.2l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M267.4 283.2l.5.5-.5-.5z"/>
+    <path fill="#6b0808" d="M269.4 283.2l.5.5-.5-.5z"/>
+    <path fill="#395231" d="M289.4 283.2l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M291.4 283.2l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M292.4 283.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M293 283.2l-.6 1 .5-1z"/>
+    <path fill="#296300" d="M299.4 283.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M300 283.2l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M304 283.2l.4.5-.5-.5z"/>
+    <path fill="#425242" d="M304.4 283.2l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M305 283.2l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M219.7 283.7l.5.4-.5-.4z"/>
+    <path fill="#293129" d="M220.2 283.7l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M220.7 283.7l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M221.2 283.7l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M221.7 283.7l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M225.7 283.7l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M227.2 283.7l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M227.7 283.7l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M228.7 283.7l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M231.8 283.7l.4.4-.4-.4z"/>
+    <path fill="#295200" d="M233.3 283.7l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M233.8 283.7l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M234.8 283.7l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M235.3 283.7l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M239.3 283.7l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M239.8 283.7l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M242.8 283.7l.5.4-.5-.4z"/>
+    <path fill="#10214a" d="M260.8 283.7l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M262.3 283.7l.5.4-.5-.4z"/>
+    <path fill="#943131" d="M265 284l.2.3-.2-.3z"/>
+    <path fill="#a51008" d="M267.4 283.7l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M288.9 283.7l.5.4-.5-.4z"/>
+    <path fill="#082108" d="M289.4 283.7l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M291.6 284l.1.3-.1-.3z"/>
+    <path fill="#296300" d="M293 283.7l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M294.8 283.8l.3.2-.4-.2m1.7-.1l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M299 283.7l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M299.4 283.7l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M303 283.7l.4.4-.5-.4z"/>
+    <path fill="#294221" d="M303.4 283.7l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M304 283.7l.4.4-.5-.4z"/>
+    <path fill="#cecece" d="M219.7 284.1l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M220.2 284.1l.5.5-.5-.5zm1.5 0l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M222.6 284.3l.3.2-.3-.2z"/>
+    <path fill="#526b42" d="M223.2 284.1l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M223.7 284.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M224.2 284.1l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M224.7 284.1l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M225.2 284.1l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M225.7 284.1l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M226.2 284.1l-.5 1 .5-1z"/>
+    <path fill="#397b00" d="M227.7 284.1l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M228.2 284.1l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M231.8 284.1l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232.8 284.1l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M233.3 284.1l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M234.8 284.1l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M235.3 284.1v2h.5l-.5-2z"/>
+    <path fill="#63636b" d="M235.8 284.1l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M239.3 284.1l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M239.8 284.1l1 1-1-1z"/>
+    <path fill="#cecece" d="M240.3 284.1l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M242.3 284.1l-1 1.5 1-1.5z"/>
+    <path fill="#181000" d="M242.8 284.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M260.8 284.1l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M261.3 284.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M262.3 284.1l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M267.4 284.1l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M288.9 284.1v1.5h.5l-.5-1.5z"/>
+    <path fill="#103900" d="M289.4 284.1l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M293 284.5l.2.3-.1-.3z"/>
+    <path fill="#297b00" d="M297 285.6l2.4-1.5-2.5 1.5z"/>
+    <path fill="#103900" d="M298.4 284.1l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M302.4 284.1l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M303 284.1l.4.5-.5-.5z"/>
+    <path fill="#efefef" d="M303.4 284.1l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M220.2 284.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M224.7 284.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M225.2 284.6l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M226.2 284.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M226.7 284.6l1.5 1.4-1.5-1.4z"/>
+    <path fill="#294200" d="M228.7 284.6l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M229.8 284.6l.4.5-.4-.5z"/>
+    <path fill="#52525a" d="M232.8 284.6l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M234.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M234.8 284.6l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M235.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M236.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M239.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M239.8 284.6c-1.7 3.3-3.4 7 1 9 0-2.7 1-6.8-1-9z"/>
+    <path fill="#bd2110" d="M241.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M242.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M242.8 284.6l-.5 1h1l-.5-1z"/>
+    <path fill="#b51010" d="M243.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#31394a" d="M261.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#525a6b" d="M262.3 284.6l.5.5-.5-.5z"/>
+    <path fill="#8c7373" d="M265 285l.2.3-.2-.4z"/>
+    <path fill="#a51008" d="M267.4 284.6l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M287.6 285l.1.3-.1-.4z"/>
+    <path fill="#00216b" d="M287.9 284.6l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M288.4 284.6l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M289.4 284.6l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M291.4 284.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M295 284.6l-.6 1 .5-1z"/>
+    <path fill="#103900" d="M298 284.6l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M301.4 284.6l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M302 284.6l.4.5-.5-.5z"/>
+    <path fill="#7b7373" d="M302.4 284.6l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M303 284.6l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M303.8 284.8l.3.1-.3-.1z"/>
+    <path fill="#4a6342" d="M304.8 284.8l.3.1-.3-.1z"/>
+    <path fill="#295210" d="M305.4 284.6l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M306 284.6l.4.5-.4-.5z"/>
+    <path fill="#296300" d="M306.4 284.6v.5h2.6l-2.6-.5z"/>
+    <path fill="#184a00" d="M309 284.6l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M309.5 284.6l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M310 284.6l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M310.5 284.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M311 284.6l.5.5-.5-.5m-90.8.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M221.7 285l.5.6-.5-.5z"/>
+    <path fill="#294200" d="M222.6 285.3l.3.1-.3-.1z"/>
+    <path fill="#397b00" d="M223.4 285.4l.2.3-.2-.3z"/>
+    <path fill="#292100" d="M226.7 285l.5.6-.5-.5z"/>
+    <path fill="#397b00" d="M229.8 285l-.6 1.5h.6v-1.4m2.4 0l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M232.8 285l.5.6-.5-.5z"/>
+    <path fill="#425242" d="M234.3 285l.5.6-.5-.5z"/>
+    <path fill="#428c00" d="M234.8 285c-1.2 3.2-1 5 1 7.7h.5v-7.6h-.5v5.7h-1v-5.7z"/>
+    <path fill="#315221" d="M236.3 285l.5.6-.5-.5z"/>
+    <path fill="#efefef" d="M238.8 285l.5.6-.5-.5z"/>
+    <path fill="#396b10" d="M239.3 285l.5.6-.5-.5z"/>
+    <path fill="#293129" d="M240.8 285l.5.6-.5-.5z"/>
+    <path fill="#293100" d="M241.8 285l.5.6-.5-.5z"/>
+    <path fill="#631808" d="M243.3 285l.5.6-.5-.5z"/>
+    <path fill="#cecece" d="M261.3 285l.5.6-.5-.5z"/>
+    <path fill="#001039" d="M261.8 285l.5.6-.5-.5z"/>
+    <path fill="#42425a" d="M262.3 285l.5.6-.5-.5z"/>
+    <path fill="#520808" d="M267.4 285l.5.6-.5-.5z"/>
+    <path fill="#6b5252" d="M267.9 285l.5.6-.5-.5z"/>
+    <path fill="#8c8c8c" d="M268.4 285l.5.6-.5-.5z"/>
+    <path fill="#290018" d="M268.9 285l.5.6-.5-.5z"/>
+    <path fill="#420000" d="M269.4 285l.5.6-.5-.5z"/>
+    <path fill="#001010" d="M287.9 285l.5.6-.5-.5z"/>
+    <path fill="#292921" d="M288.4 285l.5.6-.5-.5z"/>
+    <path fill="#185200" d="M289.4 285l1 1-1-1z"/>
+    <path fill="#297b00" d="M290 285l.4.6-.5-.5z"/>
+    <path fill="#184a00" d="M291.4 285v1.5h.5l-.5-1.4z"/>
+    <path fill="#185200" d="M293 285l.4.6-.5-.5z"/>
+    <path fill="#103900" d="M297.4 285l.5.6-.5-.5z"/>
+    <path fill="#297b00" d="M300 285l.4.6-.5-.5z"/>
+    <path fill="#184a00" d="M300.4 285v.6h1.5l-1.5-.5z"/>
+    <path fill="#296300" d="M302.3 285.3l.3.1-.3-.1z"/>
+    <path fill="#297b00" d="M303 285l.4.6-.5-.5m3.6 0l.4.5-.4-.5z"/>
+    <path fill="#185200" d="M307 285l.4.6-.4-.5z"/>
+    <path fill="#315221" d="M307.4 285l.6.6-.6-.5z"/>
+    <path fill="#6b735a" d="M308 285l.5.6-.5-.5z"/>
+    <path fill="#8c8c8c" d="M308.5 285l.5.6-.5-.5z"/>
+    <path fill="#bdbdbd" d="M309 285l.5.6-.5-.5z"/>
+    <path fill="#425242" d="M220.7 285.6l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M227.2 285.6l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M229.8 285.6l.4.4-.4-.4m2.4 0l1 1-1-1z"/>
+    <path fill="#5a5231" d="M232.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M233.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M234.3 285.6l.5.4-.5-.4m2 0l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M236.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#52525a" d="M238.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M240 285.9l.1.3-.2-.3z"/>
+    <path fill="#295200" d="M240.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#100808" d="M241.3 285.6l.5.4-.5-.4z"/>
+    <path fill="#428c00" d="M241.8 285.6l-.5 7.6 1.5-1.4h.5l-.5 1.9c3.9-1.1 4.6-3.7 3.5-7.2l-2.5 5.3h-.5v-6.2h-.5l-1 5.2v-5.2z"/>
+    <path fill="#295200" d="M242.3 285.6l.5.4-.5-.4z"/>
+    <path fill="#293100" d="M243.3 285.6l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M245.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M246.3 285.6l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M261.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#080829" d="M262.3 285.6l.5.4-.5-.4z"/>
+    <path fill="#c6b5b5" d="M264.8 285.6l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M266.9 285.6l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M267.4 285.6l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M287.9 285.6l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M288.4 285.6l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M289.2 285.7l.4.2-.4-.2z"/>
+    <path fill="#184a00" d="M293 285.6l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M294.4 285.6l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M297 285.6l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M299 285.6l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M299.4 285.6l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M300 285.6l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M304.4 285.6l.6.4-.6-.4z"/>
+    <path fill="#185200" d="M305 285.6l.4.4-.4-.4z"/>
+    <path fill="#315221" d="M305.4 285.6l.6.4-.6-.4z"/>
+    <path fill="#6b735a" d="M306 285.6l.4.4-.4-.4z"/>
+    <path fill="#9c9494" d="M306.4 285.6l.6.4-.6-.4z"/>
+    <path fill="#dedede" d="M307 285.6l.4.4-.4-.4z"/>
+    <path fill="#cecece" d="M220.7 286l1 1-1-1z"/>
+    <path fill="#214210" d="M221.2 286l.5.5-.5-.4z"/>
+    <path fill="#397b00" d="M227.7 286l1 1v-1h-1z"/>
+    <path fill="#103900" d="M228.7 286l.5.5-.5-.4m2 0l-.5.9.5-1z"/>
+    <path fill="#397b00" d="M231.3 286l.4.5-.4-.4z"/>
+    <path fill="#295200" d="M232.3 286l.4.5-.4-.4z"/>
+    <path fill="#213918" d="M233.8 286l.5.5-.5-.4z"/>
+    <path fill="#294200" d="M235.3 286v2.4h.5l-.5-2.3z"/>
+    <path fill="#526b42" d="M236.8 286l.5.5-.5-.4z"/>
+    <path fill="#ada5a5" d="M238.3 286l.5.5-.5-.4z"/>
+    <path fill="#397b00" d="M238.8 286l.5.5-.5-.4z"/>
+    <path fill="#103900" d="M241.3 286l.5.5-.5-.4z"/>
+    <path fill="#294200" d="M242.3 286v2h.5l-.5-2z"/>
+    <path fill="#397b00" d="M243.3 286l.5.5-.5-.4z"/>
+    <path fill="#941808" d="M243.8 286l.5.5-.5-.4m1.5 0l-.5.9.5-1z"/>
+    <path fill="#293100" d="M245.8 286l.5.5-.5-.4z"/>
+    <path fill="#103900" d="M246.3 286l.5.5-.5-.4z"/>
+    <path fill="#efefef" d="M261.8 286l.5.5-.5-.4z"/>
+    <path fill="#292921" d="M262.3 286l.5.5-.5-.4z"/>
+    <path fill="#efefef" d="M262.8 286l.5.5-.5-.4z"/>
+    <path fill="#842118" d="M266.9 286l.5.5-.5-.4z"/>
+    <path fill="#293129" d="M288.4 286l.5.5-.5-.4z"/>
+    <path fill="#296300" d="M288.9 286l.5.5-.5-.4z"/>
+    <path fill="#103900" d="M290 286l.4.5-.5-.4z"/>
+    <path fill="#185200" d="M293 286l.4.5-.5-.4z"/>
+    <path fill="#103900" d="M294.4 286l.5.5-.5-.4z"/>
+    <path fill="#296300" d="M298 286l.4.5-.5-.4z"/>
+    <path fill="#103900" d="M298.4 286l.5.5-.5-.4z"/>
+    <path fill="#296300" d="M299 286l.4.5-.5-.4z"/>
+    <path fill="#297b00" d="M303 286l.4.5-.5-.4z"/>
+    <path fill="#103900" d="M303.4 286l.5.5-.5-.4z"/>
+    <path fill="#001000" d="M304 286l.4.5-.5-.4z"/>
+    <path fill="#101810" d="M304.4 286l.6.5-.6-.4z"/>
+    <path fill="#8c8c8c" d="M305 286l.4.5-.4-.4z"/>
+    <path fill="#bdbdbd" d="M305.8 286.2l.3.2-.3-.2z"/>
+    <path fill="#214210" d="M221.7 286.5l1 1-1-1z"/>
+    <path fill="#397b00" d="M225.9 286.8l.2.4-.2-.4m6.8-.3l.6.5-.6-.5z"/>
+    <path fill="#63636b" d="M233.3 286.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M233.8 286.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M237 286.8l.1.4-.2-.4z"/>
+    <path fill="#dedede" d="M237.8 286.5l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M238.3 286.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M239.8 286.5l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M243.8 286.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M245.3 286.5l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M246.8 286.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M262.3 286.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M263 286.8l.2.4-.2-.4z"/>
+    <path fill="#736b6b" d="M266.9 286.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M288.4 286.5l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M288.9 286.5l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M291.4 286.5l.5 2h.5l-1-2z"/>
+    <path fill="#297b00" d="M292 286.5l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M293 286.5l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M294 286.5l.4.5-.5-.5zm3 0l1 1-1-1z"/>
+    <path fill="#184a00" d="M297.4 286.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M298 286.5l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M301.4 286.5l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M302 286.5v.5l2 .5v-.5l-2-.5z"/>
+    <path fill="#103900" d="M302.4 286.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M303 286.5l.4.5-.5-.5z"/>
+    <path fill="#319400" d="M303.4 286.5v.5h1.5l-1.5-.5z"/>
+    <path fill="#297b00" d="M305.1 286.8l.2.4-.2-.4z"/>
+    <path fill="#296300" d="M305.4 286.5v.5l2 .5v-.5l-2-.5z"/>
+    <path fill="#185200" d="M306.4 286.5l.6.5-.6-.5z"/>
+    <path fill="#103900" d="M307 286.5l.4.5-.4-.5z"/>
+    <path fill="#4a6342" d="M307.4 286.5l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M308 286.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M308.5 286.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M221.7 287l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M224.6 287.2l.3.1-.3-.1z"/>
+    <path fill="#295200" d="M225.2 287l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M229.8 287l.4.5-.4-.5z"/>
+    <path fill="#001000" d="M233.3 287l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M237.8 287l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M240 287.3l.1.3-.2-.3z"/>
+    <path fill="#397b00" d="M241.1 287.2l.3.1-.3-.1z"/>
+    <path fill="#294200" d="M243.8 287l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M244.3 287l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M244.8 287l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M246.3 287l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M246.8 287l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M263.3 287l-.5 1 .5-1z"/>
+    <path fill="#ce1810" d="M266.3 287l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M266.9 287l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M288.4 287l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M288.9 287l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M290 287l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M290.4 287l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M293 287l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M297 287l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M300 287l1 1-1-1z"/>
+    <path fill="#185200" d="M300.4 287l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M301 287l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M301.8 287.2l.3.1-.3-.1m2.1-.2l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M304.6 287.3l.2.3-.2-.3z"/>
+    <path fill="#319400" d="M305.4 287l.6.5-.6-.5z"/>
+    <path fill="#297b00" d="M306 287l.4.5-.4-.5z"/>
+    <path fill="#185200" d="M307.4 287l.6.5-.6-.5z"/>
+    <path fill="#184a00" d="M308 287l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M308.5 287l.5.5-.5-.5z"/>
+    <path d="M309 287l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M309.5 287l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M310 287l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M222.4 287.8l.2.3-.2-.3z"/>
+    <path fill="#52525a" d="M222.7 287.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M223.2 287.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M223.7 287.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M229.3 287.5l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M229.8 287.5l.4.5-.4-.5m2.3.1l.3.2-.3-.2z"/>
+    <path fill="#294200" d="M233.4 287.8l.2.3-.2-.3z"/>
+    <path fill="#397b00" d="M236.8 287.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M237.3 287.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M237.8 287.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M240.8 287.5v1.4h.5l-.5-1.4z"/>
+    <path fill="#397b00" d="M243.8 287.5v1h1l-1-1z"/>
+    <path fill="#211800" d="M244.3 287.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M245.8 287.5l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M246.8 287.5l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M263.3 287.5l.5.5-.5-.5z"/>
+    <path fill="#9c2118" d="M266.3 287.5l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M287.4 287.5l.5.5-.5-.5z"/>
+    <path fill="#103910" d="M287.9 287.5l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M289 287.8l.2.3-.1-.3z"/>
+    <path fill="#296300" d="M290.2 287.6l.4.2-.4-.2z"/>
+    <path fill="#103900" d="M296 287.5l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M299.1 287.8l.2.3-.2-.3z"/>
+    <path fill="#103900" d="M299.8 287.6l.3.2-.3-.2z"/>
+    <path fill="#319400" d="M294 293.2c4.7-2.5 8.4-4.3 14-4.3-4.7-2.6-12.5-1-14 4.3z"/>
+    <path fill="#297b00" d="M304 287.5l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M305 287.5l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M305.4 287.5l.6.5-.6-.5z"/>
+    <path fill="#293129" d="M306 287.5l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M306.4 287.5l.6.5-.6-.5z"/>
+    <path fill="#ada5a5" d="M307 287.5l.4.5-.4-.5z"/>
+    <path fill="#314231" d="M222.7 288l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M227.2 288l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M227.7 288l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M228.7 288l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M229.3 288l.4.4-.4-.4m2.4 0l.6.4-.6-.4z"/>
+    <path fill="#294200" d="M236.8 288l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M237.3 288l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M239.6 288.1l.3.2-.3-.2m2.7-.1v1.4h.5l-.5-1.4z"/>
+    <path fill="#295200" d="M245.3 288l.5.4-.5-.4z"/>
+    <path fill="#293100" d="M246.8 288l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M263.3 288l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M263.8 288l.5.4-.5-.4z"/>
+    <path fill="#8c6363" d="M266.3 288l.5.4-.5-.4z"/>
+    <path fill="#00184a" d="M286.9 288l.5.4-.5-.4z"/>
+    <path fill="#21315a" d="M287.4 288l.5.4-.5-.4z"/>
+    <path fill="#5a7b42" d="M287.9 288l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M290.4 288l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M291.4 288l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M298 288l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M298.4 288l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M306.4 288l.6.4-.6-.4z"/>
+    <path fill="#103900" d="M307 288l.4.4-.4-.4z"/>
+    <path fill="#5a6b52" d="M307.4 288l.6.4-.6-.4z"/>
+    <path fill="#9c9494" d="M308 288l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M308.5 288l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M221.7 288.4l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M222.2 288.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M226.2 288.4l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M226.7 288.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M227.2 288.4l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M228.7 288.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M232 288.8v.3-.4z"/>
+    <path fill="#295200" d="M233.3 288.4l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M237.1 288.6l.3.1-.3-.1z"/>
+    <path fill="#295200" d="M239.3 288.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M244 288.8l.1.3-.2-.4m1.5 0l.2.4-.2-.4z"/>
+    <path fill="#397b00" d="M246.8 288.4l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M256.3 288.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M256.8 288.4l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M263.8 288.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M266.3 288.4l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M285.9 288.4l.5.5-.5-.5z"/>
+    <path d="M286.9 288.4l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M287.4 288.4l.5.5-.5-.5z"/>
+    <path fill="#396321" d="M287.9 288.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M288.9 288.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M289.4 288.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M290.4 288.4l.5.5-.5-.5m1.5 0l.5.5-.5-.5m2.5 0l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M297 288.4l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M297.4 288.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M298 288.4l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M308 288.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M308.5 288.4l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M309 288.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M309.5 288.4l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M221.7 289l.5.4-.5-.5z"/>
+    <path fill="#397b00" d="M224.7 289l.5.4-.5-.5z"/>
+    <path fill="#294200" d="M225.6 289l.3.2-.3-.1z"/>
+    <path fill="#397b00" d="M226.2 289l.5.4-.5-.5z"/>
+    <path fill="#103900" d="M228.2 289l.5.4-.5-.5z"/>
+    <path fill="#294200" d="M233.4 289.2l.2.4-.2-.4z"/>
+    <path fill="#397b00" d="M234.8 289v1.8h1V289h-1z"/>
+    <path fill="#6b735a" d="M236.8 289l.5.4-.5-.5z"/>
+    <path fill="#396b10" d="M237.3 289l.5.4-.5-.5z"/>
+    <path fill="#294200" d="M239.3 289v2.3h.5l-.5-2.4z"/>
+    <path fill="#295200" d="M241 289.2l.1.4-.2-.4z"/>
+    <path fill="#392100" d="M256.3 289l.5.4-.5-.5z"/>
+    <path fill="#292100" d="M256.8 289l.5.4-.5-.5z"/>
+    <path fill="#9c9494" d="M263.8 289l.5.4-.5-.5z"/>
+    <path fill="#cecece" d="M264.3 289l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M264.8 289l-.5.9.5-1z"/>
+    <path fill="#bd0008" d="M265.3 289l.5.4-.5-.5z"/>
+    <path fill="#63636b" d="M265.8 289l.5.4-.5-.5z"/>
+    <path fill="#00216b" d="M277.4 289l-.5.9.5-1z"/>
+    <path fill="#002984" d="M278 289.2l.2.4-.2-.4m5.4-.3l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M283.9 289l2 1.3v-.4l-2-1z"/>
+    <path fill="#001010" d="M285.9 289l.5.4-.5-.5z"/>
+    <path fill="#002984" d="M286.4 289l.5.4-.5-.5z"/>
+    <path fill="#103900" d="M286.9 289l.5.4-.5-.5z"/>
+    <path fill="#dedede" d="M287.4 289l.5.4-.5-.5z"/>
+    <path fill="#184a00" d="M288 289.2l.2.4-.1-.4z"/>
+    <path fill="#296300" d="M289.2 289l.4.2-.4-.1z"/>
+    <path fill="#184a00" d="M290.4 289l.5.4-.5-.5z"/>
+    <path fill="#297b00" d="M291.4 289l.5.4-.5-.5z"/>
+    <path fill="#296300" d="M292 289l-.6 1.8.5-1.9z"/>
+    <path fill="#103900" d="M293.4 289l.5.4-.5-.5z"/>
+    <path fill="#319400" d="M294 289.2l.2.4-.1-.4z"/>
+    <path fill="#103900" d="M294.4 289l.5.4-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 289.4v.5h1.5l-1.5-.5z"/>
+    <path fill="#103900" d="M296.4 289l.5.4-.5-.5z"/>
+    <path fill="#185200" d="M297 289l.4.4-.5-.5z"/>
+    <path fill="#297b00" d="M302.4 289l.5.4-.5-.5z"/>
+    <path fill="#296300" d="M303 289l.4.4-.5-.5z"/>
+    <path fill="#184a00" d="M303.4 289l-1 .4v.5l1-1z"/>
+    <path fill="#315221" d="M304 289l.4.4-.5-.5z"/>
+    <path fill="#4a6342" d="M304.4 289v.4h3.6l-3.6-.5z"/>
+    <path fill="#295210" d="M308 289l.5.4-.5-.5z"/>
+    <path fill="#184a00" d="M308.5 289l.5.4-.5-.5z"/>
+    <path fill="#296300" d="M309 289l.5.4-.5-.5z"/>
+    <path fill="#185200" d="M309.5 289l.5.4-.5-.5z"/>
+    <path fill="#294221" d="M310 289l.5.4-.5-.5z"/>
+    <path fill="#9c9494" d="M310.5 289l.5.4-.5-.5m-89.3.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M221.7 289.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M223.7 289.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M224.2 289.4l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M224.7 289.4l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M227.7 289.4l.5.5-.5-.5m4 0l.6.5-.6-.5z"/>
+    <path fill="#397b00" d="M236.3 289.4l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M236.8 289.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M237.3 289.4l.5.5-.5-.5m5 0l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M243.6 289.6l.4.1-.4-.1z"/>
+    <path fill="#295200" d="M245.3 289.4l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M251.8 289.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M255.8 289.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M256.3 289.4l1 1-1-1z"/>
+    <path fill="#428c00" d="M256.8 289.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M257.3 289.4l.5.5-.5-.5z"/>
+    <path fill="#8c7373" d="M264.8 289.4l.5.5-.5-.5z"/>
+    <path fill="#6b0808" d="M265.3 289.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M265.8 289.4l.5.5-.5-.5z"/>
+    <path fill="#000818" d="M274.4 289.4l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M277.4 289.4l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M281.4 289.4l1 1v-1h-1z"/>
+    <path fill="#001039" d="M283.4 289.4l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M285.9 289.4l.5.5-.5-.5z"/>
+    <path d="M286.4 289.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M286.9 289.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M287.4 289.4l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M290.6 289.7l.1.3-.1-.3z"/>
+    <path fill="#297b00" d="M293 289.4v.5l2.4 1v-.6l-2.5-1z"/>
+    <path fill="#185200" d="M293.4 289.4l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M294.4 289.4l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M296 289.4l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M301 289.4l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M301.8 289.6l.3.1-.3-.1z"/>
+    <path fill="#214210" d="M303.4 289.4l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M304 289.4l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M304.4 289.4l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M305 289.4l.4.5-.4-.5m4 0l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M309.5 289.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M310 289.4l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M310.8 289.6l.3.1-.3-.1z"/>
+    <path fill="#315221" d="M221.2 289.9l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M222.7 289.9l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M223.2 289.9l.5.4-.5-.4m4 0l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M227.7 289.9l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M229.3 289.9l-.6 1 .6-1z"/>
+    <path fill="#397b00" d="M229.8 289.9l.4.4-.4-.4z"/>
+    <path fill="#295200" d="M231.3 289.9l.4.4-.4-.4z"/>
+    <path fill="#63636b" d="M231.8 289.9l.4.4-.4-.4z"/>
+    <path fill="#397b00" d="M232.3 289.9l.4.4-.4-.4m1.3.1l.3.2-.3-.2z"/>
+    <path fill="#295200" d="M236.3 289.9l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M236.8 289.9l.5.4-.5-.4z"/>
+    <path fill="#426331" d="M237.3 289.9l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M241 290.2l.1.3-.2-.3z"/>
+    <path fill="#295200" d="M242.3 289.9l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M245.1 290l.4.2-.4-.2m1.7-.1l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M251.3 289.9l.5.4-.5-.4z"/>
+    <path fill="#211800" d="M251.8 289.9l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M252.3 289.9l1 1-1-1z"/>
+    <path fill="#b51010" d="M255.3 289.9l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M255.8 289.9l.5.4-.5-.4z"/>
+    <path fill="#428c00" d="M256.3 289.9l-1 2.8-1.5-1 1.5 3.9h.5v-2h.5v3.4c2.4-1.5 2.1-4.2 1.5-6.7h-.5v4.8h-.5l-.5-5.2z"/>
+    <path fill="#294200" d="M257.3 289.9l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M257.8 289.9l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M264.3 289.9l.5.4-.5-.4z"/>
+    <path fill="#6b4242" d="M264.8 289.9l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M265.3 289.9l.5.4-.5-.4z"/>
+    <path fill="#103910" d="M274.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#10214a" d="M274.9 289.9l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M276.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M276.9 289.9l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M277.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#002984" d="M278.9 289.9l.5.4-.5-.4z"/>
+    <path fill="#001010" d="M281.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M283.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M285.9 289.9l.5.4-.5-.4z"/>
+    <path fill="#424242" d="M286.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#319400" d="M286.9 289.9l-3 8.6a7.2 7.2 0 003-8.6z"/>
+    <path fill="#293129" d="M287.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M287.9 289.9l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M293 289.9l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M294.8 290l.3.2-.4-.2z"/>
+    <path fill="#184a00" d="M295.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M299.4 289.9l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M299.4 290.3v.5h2.5l-2.5-.5z"/>
+    <path fill="#297b00" d="M301 289.9l.4.4-.5-.4z"/>
+    <path fill="#319400" d="M301.4 289.9v.4h3.6l-3.6-.4z"/>
+    <path fill="#296300" d="M305 289.9l.4.4-.4-.4z"/>
+    <path fill="#315221" d="M305.4 289.9l-.4 1 .4-1z"/>
+    <path fill="#7b7373" d="M306 289.9l.4.4-.4-.4z"/>
+    <path fill="#cecece" d="M306.4 289.9l.6.4-.6-.4z"/>
+    <path fill="#dedede" d="M311 289.9l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M220.7 290.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M221.2 290.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M222.2 290.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M222.7 290.3l.5.5-.5-.5m3.5 0v1.5h.5l-.5-1.5z"/>
+    <path fill="#103900" d="M226.7 290.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.3 290.3l.4.5-.4-.5z"/>
+    <path fill="#425242" d="M231.3 290.3l.4.5-.4-.5z"/>
+    <path fill="#315221" d="M232.3 290.3l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M233.8 290.3l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M236.3 290.3l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M237.3 290.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M242.1 290.5l.3.2-.3-.2z"/>
+    <path fill="#294200" d="M243.4 290.7l.2.3-.2-.3m1.4-.4l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M251.3 290.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M251.8 290.3l1 2.4h1.5l-2.5-2.4z"/>
+    <path fill="#311000" d="M252.3 290.3l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M255.3 290.3l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M256.8 290.3v2h.5l-.5-2z"/>
+    <path fill="#5a1008" d="M257.8 290.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M264.3 290.3l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M264.8 290.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M265.3 290.3l.5.5-.5-.5z"/>
+    <path fill="#083121" d="M274.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M274.9 290.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M275.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#102110" d="M276.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M276.9 290.3l-.5 4.3h.5v-4.3z"/>
+    <path fill="#083121" d="M277.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#000818" d="M278.9 290.3l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M280.9 290.3l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M281.4 290.3l-.5 1 .5-1z"/>
+    <path fill="#00215a" d="M282.9 290.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M283.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#00215a" d="M283.9 290.3l.5.5-.5-.5z"/>
+    <path fill="#103910" d="M284.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M284.9 290.3l.5.5-.5-.5z"/>
+    <path fill="#103910" d="M285.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M285.9 290.3l-.5 1 .5-1z"/>
+    <path fill="#294221" d="M286.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M287.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M287.9 290.3l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M290.6 290.7l.1.3-.1-.3z"/>
+    <path fill="#103900" d="M293 290.3l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M294 290.3l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M298.4 290.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M299 290.3l.4.5-.5-.5m3 0l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M302.4 290.3v.5h1.5l-1.5-.5z"/>
+    <path fill="#4a6342" d="M304.3 290.5l.3.2-.3-.2z"/>
+    <path fill="#184a00" d="M305.4 290.3l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M306 290.3l.4.5-.4-.5z"/>
+    <path fill="#103900" d="M306.4 290.3l.6.5-.6-.5z"/>
+    <path fill="#425242" d="M307 290.3l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M307.4 290.3l1 1-1-1z"/>
+    <path fill="#7b7373" d="M220.7 290.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M224.2 290.8l.5 2h.5l-1-2z"/>
+    <path fill="#294200" d="M225.6 291l.3.1-.3-.1z"/>
+    <path fill="#295200" d="M227.7 290.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M228.2 290.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.7 290.8l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M230.8 290.8l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M231.3 290.8l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M232.3 290.8l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M232.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M233.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M233.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M234.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M236.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M237.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M240.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M244.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#181000" d="M246.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M247.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#313918" d="M251.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M251.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#293100" d="M252.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#5a1010" d="M253.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M254.2 291l.3.1-.3-.1z"/>
+    <path fill="#5a2121" d="M254.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M255.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M257.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M258.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M264.3 290.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M264.8 290.8l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M271.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#00216b" d="M272.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#103921" d="M274.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M274.9 290.8l-.5 6.2c1.8-1.7 1.8-4 .5-6.2z"/>
+    <path fill="#102121" d="M275.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#212139" d="M275.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M276.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#293129" d="M277.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M277.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#31425a" d="M278.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M278.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#31425a" d="M279.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M280.2 291l.3.1-.3-.1z"/>
+    <path fill="#184a00" d="M281.6 291.1l.1.4-.1-.4z"/>
+    <path fill="#42425a" d="M281.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#636b7b" d="M282.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M282.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M283.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M284.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M284.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M285.9 290.8l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M286.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M291.4 290.8l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M293 290.8l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M294 290.8l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M297.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M298 290.8l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M298.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M303 290.8l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M303.4 290.8l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M304 290.8l.4.5-.5-.5z"/>
+    <path fill="#7b7373" d="M304.4 290.8l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M305 290.8l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M306 290.8l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M306.4 290.8l-.4 1 .4-1z"/>
+    <path fill="#8c8c8c" d="M307 290.8l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M307.4 290.8l.6.5-.6-.5z"/>
+    <path fill="#314231" d="M220.7 291.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M221.2 291.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M221.7 291.3l.5.5-.5-.5z"/>
+    <path fill="#396b10" d="M222.2 291.3l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M222.7 291.3l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M223.6 291.4l.3.2-.3-.2z"/>
+    <path fill="#428c00" d="M225.6 291.4l.3.2-.3-.2z"/>
+    <path fill="#294200" d="M227 291.4l.4.2-.3-.2z"/>
+    <path fill="#397b00" d="M227.7 291.3l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M230.3 291.3l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M230.8 291.3l.4.5-.4-.5z"/>
+    <path fill="#420000" d="M232.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M234.4 291.6l.2.3-.2-.3z"/>
+    <path fill="#295200" d="M234.8 291.3l.5 1.9h.5l-1-1.9z"/>
+    <path fill="#8c8c8c" d="M236.4 291.6l.2.3-.2-.3z"/>
+    <path fill="#efefef" d="M237.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M237.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M240.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M243.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M244.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M246.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M246.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M247.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M247.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M248.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M248.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M249.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M249.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M251.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M251.8 291.3l1 1-1-1z"/>
+    <path fill="#103900" d="M252.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M253.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M254.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M254.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M258.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#7b5252" d="M258.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M259.3 291.3l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M259.8 291.3l.5.5-.5-.5z"/>
+    <path fill="#002984" d="M269.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#00184a" d="M269.9 291.3l.5.5-.5-.5z"/>
+    <path fill="#42425a" d="M270.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M270.9 291.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M271.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M271.9 291.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M272.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M275.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M275.9 291.3l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M278.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M280.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M280.9 291.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M282.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M283.9 291.3l1 1-1-1z"/>
+    <path fill="#296300" d="M284.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M284.9 291.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M285.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M285.9 291.3l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M286.4 291.3l.5.5-.5-.5m4 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M291.6 291.6l.1.3-.1-.3m.8-.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M293.4 291.3l1 1-1-1z"/>
+    <path fill="#184a00" d="M294 291.3l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M296.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M297 291.3l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M297.4 291.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M304.4 291.3l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M305 291.3l.4.5-.4-.5z"/>
+    <path fill="#5a6b52" d="M305.4 291.3l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M221 292h.4-.3z"/>
+    <path fill="#efefef" d="M222.2 291.8l.5.4-.5-.4z"/>
+    <path fill="#214210" d="M222.7 291.8l.5.4-.5-.4z"/>
+    <path fill="#428c00" d="M223.7 293.7l1-1.4c-1.3-.3-2 .4-1 1.4z"/>
+    <path fill="#294200" d="M225.6 292h.3-.3z"/>
+    <path fill="#295200" d="M226.2 291.8l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M229.3 291.8l.4.4-.4-.4z"/>
+    <path fill="#63636b" d="M229.8 291.8l.4.4-.4-.4z"/>
+    <path fill="#efefef" d="M230.3 291.8l.4.4-.4-.4z"/>
+    <path fill="#5a2121" d="M232.8 291.8l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M237.8 291.8l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M238.3 291.8l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M241 292l.1.4-.2-.3m1.9-.3l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M246.3 291.8l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M247.3 291.8l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M247.8 291.8l.5.4-.5-.4z"/>
+    <path fill="#428c00" d="M248.3 291.8l.5 3.3 2.5 2 3.5.4.5-.5c-.3-1.3-4.4-6.9-5-3.8l-1-1.4h-1z"/>
+    <path fill="#397b00" d="M249.3 291.8v1l1-1h-1z"/>
+    <path fill="#295200" d="M250.3 291.8l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M251.1 292h.4-.4z"/>
+    <path fill="#397b00" d="M252 292l.1.4-.1-.3z"/>
+    <path fill="#294200" d="M252.8 291.8l.5.4-.5-.4z"/>
+    <path fill="#214210" d="M254.3 291.8l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M254.8 291.8l.5.4-.5-.4z"/>
+    <path fill="#526b42" d="M258.3 291.8l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M259.8 291.8l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M260.3 291.8l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M260.8 291.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M261.3 291.8l.5.4-.5-.4m6.5 0l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M268.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M268.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M269.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M269.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M275.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M275.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M277.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M278.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M279.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#294221" d="M280.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#319400" d="M280.9 291.8l-3.5 5.7c3.9 0 5.6-2 6-5.7h-.5l-3.5 5.2 1.5-5.2z"/>
+    <path fill="#4a6342" d="M281.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#425242" d="M282.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M283.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M283.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M284.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#319400" d="M285.4 291.8l-3.5 6.2c2.3-1.1 4-3.7 3.5-6.2z"/>
+    <path fill="#082108" d="M285.9 291.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M286.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M290.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M293.4 291.8l.5.4-.5-.4m2.5 0l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M296.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M298.3 292h.3-.3z"/>
+    <path fill="#296300" d="M299 291.8l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M299.4 291.8v.4h1.5l-1.5-.4z"/>
+    <path fill="#185200" d="M301 291.8l.4.4-.5-.4z"/>
+    <path fill="#184a00" d="M301.8 292h.3-.3z"/>
+    <path fill="#185200" d="M302.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M303.1 292l.2.4-.2-.3z"/>
+    <path fill="#297b00" d="M303.4 291.8l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M306 291.8l.4.4-.4-.4z"/>
+    <path fill="#63636b" d="M306.4 291.8l.6.4-.6-.4z"/>
+    <path fill="#efefef" d="M307 291.8l.4.4-.4-.4z"/>
+    <path fill="#8c8c8c" d="M222.2 292.3l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M223.7 292.3l-.5.9h1l-.5-1z"/>
+    <path fill="#103900" d="M224.2 292.3l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M228.2 292.3l.5.4-.5-.4z"/>
+    <path fill="#5a5231" d="M228.7 292.3l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M229.3 292.3l.4.4-.4-.4z"/>
+    <path fill="#bdbdbd" d="M231.3 292.3l.4.4-.4-.4z"/>
+    <path fill="#8c8c8c" d="M231.8 292.3l.4.4-.4-.4z"/>
+    <path fill="#8c9c84" d="M232.3 292.3l.4.4-.4-.4z"/>
+    <path fill="#5a5231" d="M232.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#422100" d="M233.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#5a2908" d="M233.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#311000" d="M234.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M235.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#5a6b52" d="M236.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#52525a" d="M238.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M242.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M245.8 292.3l-.5.9.5-1z"/>
+    <path fill="#dedede" d="M246.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M247.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M248.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M252.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M253.3 292.3l-.5.9.5-1z"/>
+    <path fill="#103900" d="M254.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#295200" d="M257 292.6l.2.3-.2-.3z"/>
+    <path fill="#294200" d="M258.5 292.6l.2.3-.2-.3z"/>
+    <path fill="#dedede" d="M260.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M261.3 292.3l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M261.8 292.3l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M267.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M267.9 292.3l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M268.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M275.9 292.3l.5.4-.5-.4z"/>
+    <path fill="#63636b" d="M277.9 292.3l-.5.9.5-1z"/>
+    <path fill="#297b00" d="M278.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M279.9 292.3l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M280.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M281.7 292.4l.4.2-.4-.2z"/>
+    <path fill="#296300" d="M282.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M283.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#319400" d="M283.9 292.3l.5.4-.5-.4z"/>
+    <path fill="#082108" d="M284.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M284.9 292.3l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M285.9 292.3l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M290.4 292.3l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M293.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M294.4 292.7v.5h1.5l-1.5-.5z"/>
+    <path fill="#103900" d="M295.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#296300" d="M296 292.3l.4.4-.5-.4z"/>
+    <path fill="#082108" d="M303.4 292.3l.5.4-.5-.4z"/>
+    <path fill="#001000" d="M304 292.3l.4.4-.5-.4z"/>
+    <path fill="#395231" d="M304.4 292.3l.6.4-.6-.4z"/>
+    <path fill="#184a00" d="M305 292.3l.4.4-.4-.4z"/>
+    <path fill="#296300" d="M305.4 292.3l.6.4-.6-.4z"/>
+    <path fill="#297b00" d="M306.3 292.4l.3.2-.3-.2z"/>
+    <path fill="#214210" d="M307 292.3l.4.4-.4-.4z"/>
+    <path fill="#9c9494" d="M307.4 292.3l.6.4-.6-.4z"/>
+    <path fill="#5a5231" d="M222.2 292.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M225.7 292.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M226.2 292.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M226.7 292.7l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M227.2 292.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M227.7 292.7l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M228.2 292.7l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M229 292.9l.4.2-.3-.2z"/>
+    <path fill="#9c9494" d="M229.8 292.7l.4.5-.4-.5z"/>
+    <path fill="#5a6b52" d="M230.3 292.7l.4.5-.4-.5z"/>
+    <path fill="#396b10" d="M230.8 292.7l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M231.3 292.7l.4.5-.4-.5z"/>
+    <path fill="#428c00" d="M230.3 293.2v.5h4.5v.5h-4.6v.4h1v.5c-2.7.2-4 1.1-5.5 3.4l8.6-.5v.5c-2.3.7-5.7.4-6.6 2.8 3.2-1.2 7.9-1.7 9.6-4.8l-3 1.5 1.5-2-4.5-.4v-.5l8 .5v.5h-1.5v.4l6.5-.4v-.5h-1.5v-.5h3v-.5l-4 1-11.5-2.4z"/>
+    <path fill="#294200" d="M235.8 292.7l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M236.3 292.7l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M238.3 292.7l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M238.8 292.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M240.8 292.7l1 1-1-1z"/>
+    <path fill="#397b00" d="M242.6 292.9l.3.2-.3-.2m2.2-.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M245.8 292.7l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M247.8 292.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M248.3 292.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M249.6 292.9l.4.2-.4-.2z"/>
+    <path fill="#295200" d="M253.3 292.7l1.5 1v-.5l-1.5-.5z"/>
+    <path fill="#103900" d="M254 293l.1.4-.1-.4z"/>
+    <path fill="#294200" d="M255.3 292.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M261.8 292.7l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M262.3 292.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M262.8 292.7l.5.5-.5-.5m3.5 0l-1 1.5 1-1.5z"/>
+    <path fill="#63636b" d="M266.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M267.4 292.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M275.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M277.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M278.4 292.7l-3 4.8c1.9-1 3.6-2.6 3-4.8z"/>
+    <path fill="#184a00" d="M278.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M279.4 292.7l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M279.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M280.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M281.4 292.7l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M281.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M283.4 292.7l1 1-1-1z"/>
+    <path fill="#297b00" d="M283.9 292.7l1 1-1-1z"/>
+    <path fill="#103900" d="M284.4 292.7l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M285.4 292.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M285.9 292.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M289.4 292.7l.5.5-.5-.5zm4 0l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M295 292.7l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M304 292.7l.4.5-.5-.5z"/>
+    <path fill="#425242" d="M304.4 292.7l.6.5-.6-.5z"/>
+    <path fill="#efefef" d="M305 292.7l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M305.4 292.7l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M306 292.7l.4.5-.4-.5z"/>
+    <path fill="#5a6b52" d="M306.4 292.7l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M307 292.7l.4.5-.4-.5z"/>
+    <path fill="#184a00" d="M307.4 292.7l.6.5-.6-.5z"/>
+    <path fill="#7b7373" d="M308 292.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M222.4 293.5l.2.3-.2-.3m1.3-.3l.5.5-.5-.5z"/>
+    <path fill="#526b42" d="M224.2 293.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M225 293.4l.4.1-.3-.1z"/>
+    <path fill="#bdbdbd" d="M225.7 293.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M226.2 293.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M228.2 293.2l.5.5-.5-.5z"/>
+    <path d="M228.7 293.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.3 293.2l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M229.8 293.2l.4.5-.4-.5z"/>
+    <path fill="#292100" d="M236.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M236.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M238.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M238.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M239.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M240.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M241.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M242.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M243.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M244.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M244.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M247.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M248.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M250.3 293.2l1 1-1-1z"/>
+    <path fill="#295200" d="M255.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M256.8 293.2v1.9h.5l-.5-1.9z"/>
+    <path fill="#295200" d="M258.3 293.2l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M262.8 293.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M263.3 293.2l1.5 1.9-1.5-1.9z"/>
+    <path fill="#7b7373" d="M266.3 293.2l-1 1.4 1-1.4z"/>
+    <path fill="#efefef" d="M266.9 293.2l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M276 293.5l.2.3-.2-.3z"/>
+    <path d="M277.4 293.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M277.9 293.2l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M278.9 293.2l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M279.4 293.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M280.9 293.2l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M281.4 293.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M281.9 293.2l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M283.4 293.2l.5.5-.5-.5m2 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M289.4 293.2l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M294 293.2l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M294.4 293.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M304.4 293.2l.6.5-.6-.5z"/>
+    <path fill="#103910" d="M305 293.2l.4.5-.4-.5z"/>
+    <path fill="#ada5a5" d="M305.4 293.2l.6.5-.6-.5z"/>
+    <path fill="#efefef" d="M307 293.2l.4.5-.4-.5z"/>
+    <path fill="#9c9494" d="M307.4 293.2l.6.5-.6-.5z"/>
+    <path fill="#52525a" d="M308 293.2l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M308.5 293.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M221.7 293.7l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M222.7 293.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M223.2 293.7l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M223.7 293.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M228.7 293.7l1 1-1-1z"/>
+    <path fill="#214210" d="M229.3 293.7l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M229.8 293.7v.5h2.4l-2.4-.5z"/>
+    <path fill="#295200" d="M232.3 293.7l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M232.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M233.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M233.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M234.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M236.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M237.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M237.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M238.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M239.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M239.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M240.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M240.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M241.3 293.7l-.5 1 .5-1z"/>
+    <path fill="#b51010" d="M241.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M242.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M242.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#102110" d="M243.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M243.8 293.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M244.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M248.3 293.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M251.3 293.7l1.5 1.4-1.5-1.4m3 0l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M256 294l.1.3-.1-.3m2.3-.3l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M274.4 293.7l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M276.9 293.7l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M277.4 293.7l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M278.9 293.7l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M279.4 293.7l.5.5-.5-.5z"/>
+    <path fill="#001000" d="M280.9 293.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M281.4 293.7l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M283.7 293.8l.4.2-.4-.2z"/>
+    <path fill="#184a00" d="M285.4 293.7l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M286.9 293.7l1 1-1-1z"/>
+    <path fill="#184a00" d="M294 293.7l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 293.7l1 1-1-1z"/>
+    <path fill="#185200" d="M296 293.7l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M296.4 293.7v.5h1.5l-1.5-.5z"/>
+    <path fill="#296300" d="M298 293.7l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M298.4 293.7v.5h2.5l-2.5-.5z"/>
+    <path fill="#296300" d="M301 293.7l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M301.4 293.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M302 293.7l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M302.4 293.7l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M305.4 293.7l1 1-1-1z"/>
+    <path fill="#9c9494" d="M306 293.7l.4.5-.4-.5z"/>
+    <path fill="#bdbdbd" d="M221.7 294.2l.5.4-.5-.4z"/>
+    <path fill="#313931" d="M222.2 294.2l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M222.7 294.2l-1 .4v.5l1-1z"/>
+    <path fill="#103900" d="M229.8 294.2l.4.4-.4-.4z"/>
+    <path fill="#295200" d="M234.8 294.2l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M235.3 294.2l.5.4-.5-.4m2 0l.5.4-.5-.4z"/>
+    <path fill="#391810" d="M237.8 294.2l.5.4-.5-.4z"/>
+    <path fill="#423100" d="M240.1 294.3l.3.2-.3-.2z"/>
+    <path fill="#ce2110" d="M241.3 294.2l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M241.8 294.2l.5.4-.5-.4z"/>
+    <path fill="#293100" d="M242.3 294.2l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M242.8 294.2v.4h2l-2-.4z"/>
+    <path fill="#294200" d="M244.8 294.2l.5.4-.5-.4z"/>
+    <path fill="#315221" d="M245.3 294.2l.5.4-.5-.4z"/>
+    <path fill="#5a6b52" d="M245.8 294.2l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M246.3 294.2l.5.4-.5-.4z"/>
+    <path fill="#6b735a" d="M248.3 294.2l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M251.3 294.2l.5.4-.5-.4m3 0l.5 1.4h.5l-1-1.4z"/>
+    <path fill="#315221" d="M258.3 294.2l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M264.8 294.2l.5.4-.5-.4z"/>
+    <path fill="#4a6342" d="M274.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M276.9 294.2l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M278.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M278.9 294.2l-.5 1 .5-1z"/>
+    <path fill="#297b00" d="M280.4 294.2l1 1-1-1z"/>
+    <path fill="#103900" d="M280.9 294.2l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M282.9 294.2l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M283.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M284.9 294.2l1 1-1-1z"/>
+    <path fill="#185200" d="M285.4 294.2l.5.4-.5-.4m1.5 0l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M294.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M295 294.2l.4.4-.5-.4z"/>
+    <path fill="#185200" d="M295.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M301.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M302 294.2l.4.4-.5-.4z"/>
+    <path fill="#101810" d="M302.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#425242" d="M303 294.2l.4.4-.5-.4z"/>
+    <path fill="#315221" d="M303.4 294.2l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M304 294.2l.4.4-.5-.4z"/>
+    <path fill="#296300" d="M304.4 294.2l.6.4-.6-.4z"/>
+    <path fill="#8c8c8c" d="M306.4 294.2l.6.4-.6-.4z"/>
+    <path fill="#ada5a5" d="M228.2 294.6l.5.5-.5-.5z"/>
+    <path fill="#5a5231" d="M228.7 294.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M229.3 294.6l.4.5-.4-.5z"/>
+    <path fill="#397b00" d="M229.8 294.6l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M230.6 294.8l.3.2-.3-.2z"/>
+    <path fill="#397b00" d="M237.8 294.6l.5.5-.5-.5z"/>
+    <path fill="#293100" d="M238.3 294.6l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M238.8 294.6l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M239.3 294.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M239.8 294.6l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M240.3 294.6l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M240.8 294.6l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M241.3 294.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M245.8 294.6l-1.5 1.5 1.5-1.5z"/>
+    <path fill="#294200" d="M246.3 294.6v1h1l-1-1z"/>
+    <path fill="#213918" d="M246.8 294.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M247.3 294.6l1 1-1-1z"/>
+    <path fill="#8c8c8c" d="M248.3 294.6l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M251.8 294.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M254.3 294.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M255.8 294.6l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M258.3 294.6l.5.5-.5-.5m6.5 0l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M274.4 294.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M276.9 294.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M278.9 294.6l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M280.4 294.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M282.4 294.6l.5.5-.5-.5z"/>
+    <path d="M282.9 294.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M283.4 294.6l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M284.9 294.6l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M286.9 294.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M288.9 294.6l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M289.7 294.8l.4.2-.4-.2z"/>
+    <path fill="#185200" d="M290.4 294.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M291 294.6l-.6 1 .5-1m2 0l.5.5-.5-.5m9.5 0l.5.5-.5-.5z"/>
+    <path fill="#103910" d="M303 294.6l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M303.4 294.6l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M304 294.6l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M304.4 294.6l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M305 294.6l.4.5-.4-.5z"/>
+    <path fill="#294221" d="M305.4 294.6l.6.5-.6-.5z"/>
+    <path fill="#296300" d="M306 294.6l.4.5-.4-.5z"/>
+    <path fill="#297b00" d="M306.4 294.6l.6.5-.6-.5z"/>
+    <path fill="#63636b" d="M307 294.6l1 1-1-1z"/>
+    <path fill="#efefef" d="M227.2 295.1l-1 1.4 1-1.4z"/>
+    <path fill="#425242" d="M227.7 295.1l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M228.2 295.1l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M231.6 295.3l.3.1-.3-.1z"/>
+    <path fill="#397b00" d="M232.4 295.4l.2.4-.2-.4z"/>
+    <path fill="#294200" d="M239.6 295.3l.3.1-.3-.1z"/>
+    <path d="M240.8 295.1l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M241.3 295.1l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M242.8 295.1v.5h1.5l-1.5-.5z"/>
+    <path fill="#103900" d="M247.3 295.1l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M248.3 295.1l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M248.8 295.1l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M249.3 295.1l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M249.8 295.1l.5.5-.5-.5z"/>
+    <path fill="#4a4208" d="M250.3 295.1l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M252.3 295.1l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M252.8 295.1v1h1l-1-1zm5 0l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M258.3 295.1l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M273.9 295.1l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M274.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M275.9 295.1l1 1-1-1z"/>
+    <path fill="#185200" d="M277.9 295.1l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M278.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M279.9 295.1l1 1-1-1z"/>
+    <path fill="#103900" d="M280.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M282.7 295.3l.4.1-.4-.1m2.2-.2l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M286.4 295.1l1 1-1-1z"/>
+    <path fill="#185200" d="M286.9 295.1l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M291 295.1l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M291.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M292 295.1l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M292.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M296 295.1l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M296.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M297 295.1v1h1l-1-1z"/>
+    <path fill="#297b00" d="M297.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M303.4 295.1l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M304 295.1l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M306 295.1l.4.5-.4-.5z"/>
+    <path fill="#6b735a" d="M306.4 295.1l.6.5-.6-.5z"/>
+    <path fill="#082108" d="M307 295.1l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M308 295.1l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M227.2 295.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M232.8 295.6l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M233.3 295.6v.5h2l-2-.5z"/>
+    <path fill="#295200" d="M235.3 295.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M235.8 295.6v1.4l2-1.4h-2z"/>
+    <path fill="#294200" d="M238.1 295.8l.3.1-.3-.1z"/>
+    <path fill="#397b00" d="M238.8 295.6l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M241.8 295.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M242.3 295.6l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M244.8 295.6l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M245.3 295.6l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M245.8 295.6l-.5 1 .5-1z"/>
+    <path fill="#bdbdbd" d="M246.3 295.6v1h1l-1-1z"/>
+    <path fill="#cecece" d="M247.6 295.8l.4.1-.4-.1z"/>
+    <path d="M248.8 295.6l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M249.3 295.6l.5.5-.5-.5zm1 0l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M250.8 295.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M255.2 295.8l.3.1-.3-.1z"/>
+    <path fill="#5a6b52" d="M257.8 295.6l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M273.9 295.6l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M275.9 295.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M277.4 295.6l1 1-1-1z"/>
+    <path fill="#103900" d="M277.9 295.6l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M280 296l.2.2-.1-.3z"/>
+    <path fill="#297b00" d="M281.9 295.6l1 1-1-1z"/>
+    <path fill="#082108" d="M282.4 295.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M284.7 295.8l.4.1-.4-.1z"/>
+    <path fill="#185200" d="M286.4 295.6l.5.5-.5-.5m6.2.3l.1.3-.1-.3z"/>
+    <path fill="#103900" d="M293 296l.2.2-.1-.3z"/>
+    <path fill="#297b00" d="M293.4 295.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M295 295.6l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M295.4 295.6l-1 1.4 1-1.4z"/>
+    <path fill="#184a00" d="M298 295.6v.5h1.4l-1.5-.5z"/>
+    <path fill="#185200" d="M299.4 295.6l1 1v-1h-1z"/>
+    <path fill="#297b00" d="M300.4 295.6l.5.5-.5-.5m3.6 0l1.4 1.4-1.4-1.4z"/>
+    <path fill="#63636b" d="M304.4 295.6l1.6 1.4-1.6-1.4z"/>
+    <path fill="#efefef" d="M307 295.6l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M307.8 295.8l.3.1-.3-.1z"/>
+    <path fill="#314231" d="M226.7 296l.5.5-.5-.4z"/>
+    <path fill="#292100" d="M235.8 296l.5.5-.5-.4z"/>
+    <path fill="#397b00" d="M242.8 296l2 1v-.5l-2-.4z"/>
+    <path fill="#103900" d="M243.3 296l.5.5-.5-.4z"/>
+    <path fill="#292921" d="M243.8 296l.5.5-.5-.4z"/>
+    <path fill="#7b7373" d="M244.3 296l.5.5-.5-.4z"/>
+    <path fill="#bdbdbd" d="M244.8 296l.5.5-.5-.4z"/>
+    <path fill="#9c9494" d="M245.8 296l.5.5-.5-.4z"/>
+    <path fill="#dedede" d="M247.3 296l.5.5-.5-.4z"/>
+    <path fill="#734a42" d="M248.8 296l.5.5-.5-.4z"/>
+    <path fill="#423100" d="M250.8 296l.5.5-.5-.4z"/>
+    <path fill="#295200" d="M255.5 296.4l.1.3-.1-.3z"/>
+    <path fill="#397b00" d="M257.3 296l.5.5-.5-.4z"/>
+    <path fill="#9c9494" d="M257.8 296l.5.5-.5-.4z"/>
+    <path fill="#315221" d="M273.9 296l.5.5-.5-.4z"/>
+    <path fill="#185200" d="M275.5 296.4l.2.3-.2-.3z"/>
+    <path fill="#296300" d="M275.9 296l.5.5-.5-.4z"/>
+    <path fill="#103900" d="M277.4 296l.5.5-.5-.4z"/>
+    <path fill="#297b00" d="M279.4 296l.5.5-.5-.4z"/>
+    <path fill="#184a00" d="M282 296.4l.2.3-.1-.3m2.3-.3l.5.4-.5-.4z"/>
+    <path fill="#103900" d="M286.4 296l.5.5-.5-.4z"/>
+    <path fill="#297b00" d="M287.9 296l.5.5-.5-.4z"/>
+    <path fill="#185200" d="M288.4 296l.5.5-.5-.4z"/>
+    <path fill="#184a00" d="M287.4 296.5v.5l4.5-.5h-4.5z"/>
+    <path fill="#296300" d="M292 296l-.6 1 .5-1z"/>
+    <path d="M293.4 296l.5.5-.5-.4z"/>
+    <path fill="#103900" d="M294 296l.4.5-.5-.4z"/>
+    <path fill="#185200" d="M295.4 296l.5.5-.5-.4z"/>
+    <path fill="#103900" d="M296 296l.4.5-.5-.4z"/>
+    <path fill="#296300" d="M296.4 296l.5.5-.5-.4z"/>
+    <path d="M300.4 296l.5.5-.5-.4z"/>
+    <path fill="#52525a" d="M301 296l.4.5-.5-.4z"/>
+    <path fill="#315221" d="M301.4 296l.5.5-.5-.4z"/>
+    <path fill="#185200" d="M302 296l.4.5-.5-.4z"/>
+    <path fill="#297b00" d="M302.4 296l.5.5-.5-.4z"/>
+    <path fill="#314231" d="M226.2 296.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M232.8 296.5l-.5 1 .5-1z"/>
+    <path fill="#294200" d="M233.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M235.3 296.5l-.5 1.5.5-1.5z"/>
+    <path fill="#103900" d="M237.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M237.8 296.5l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M238.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M238.8 296.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M239.3 296.5v.5h2l-2-.5z"/>
+    <path fill="#294200" d="M241.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M241.8 296.5l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M242.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M240.3 299l10.5-1.5c-3.3-1.3-8-1.2-10.5 1.4z"/>
+    <path fill="#397b00" d="M246.3 296.5v.5h1.5l-1.5-.5z"/>
+    <path fill="#294200" d="M247.8 296.5v.5h1.5l-1.5-.5z"/>
+    <path fill="#422100" d="M249.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M249.8 296.5l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M250.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M250.8 296.5l1 1-1-1z"/>
+    <path fill="#214210" d="M257.3 296.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M273.4 296.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M276.4 297.5l1.5-1-1.5 1z"/>
+    <path fill="#103900" d="M279.4 296.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M281.4 296.5l-1 1.5h1.5l-.5-1.5z"/>
+    <path fill="#296300" d="M284.2 296.7l.4.2-.4-.2z"/>
+    <path fill="#185200" d="M285.9 296.5l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M286.7 296.7l.4.2-.4-.2z"/>
+    <path fill="#185200" d="M290.4 296.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M292 296.5l-.6 1 .5-1z"/>
+    <path fill="#319400" d="M292.4 296.5v.5l7 2v-.5l-7-2z"/>
+    <path fill="#296300" d="M294 296.5l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M296.4 296.5l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M297 296.5l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M297.4 296.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M300.4 296.5l1 1-1-1z"/>
+    <path fill="#314231" d="M301 296.5l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M301.4 296.5l1 1-1-1z"/>
+    <path fill="#dedede" d="M302 296.5l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M302.4 296.5l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M303 296.5l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M303.4 296.5l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M304 296.5l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M225.7 297l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M226.2 297l.5.5-.5-.5m2 0v1h1.5v-1h-1.5z"/>
+    <path fill="#295200" d="M229.8 297l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M230.3 297l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M230.8 297l.4.5-.4-.5z"/>
+    <path fill="#294200" d="M231.6 297.2l.3.1-.3-.1z"/>
+    <path fill="#8c8c8c" d="M237.3 297l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M238.8 297l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M239.3 297v.5h2l-2-.5z"/>
+    <path fill="#52525a" d="M241.3 297l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M241.8 297l.5.5-.5-.5m9 0l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M251.8 297v.5h1.5l-1.5-.5z"/>
+    <path fill="#295200" d="M253.3 297l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M254.8 297l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M255.3 297l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M257.3 297l.5.5-.5-.5z"/>
+    <path fill="#bd8c8c" d="M258.2 297.2l.3.1-.3-.1z"/>
+    <path fill="#845a52" d="M258.8 297l.5.5-.5-.5z"/>
+    <path fill="#9c4a42" d="M264.3 297l.5.5-.5-.5z"/>
+    <path fill="#ad524a" d="M264.8 297l.5.5-.5-.5z"/>
+    <path fill="#845a52" d="M270.4 297l.5.5-.5-.5z"/>
+    <path fill="#bd8c8c" d="M271.2 297.2l.3.1-.3-.1z"/>
+    <path fill="#293129" d="M273.4 297l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M274.9 297l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M281.4 297l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M283.4 297l-.5 1 .5-1z"/>
+    <path fill="#103900" d="M283.9 297l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M285.4 297l1 1-1-1z"/>
+    <path fill="#184a00" d="M285.9 297l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M285.9 298.4l12.5 2v1.9c1.4-4.2-10.1-7-12.5-3.9z"/>
+    <path fill="#103900" d="M292 297l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M292.4 297l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M293 297l1 1-1-1z"/>
+    <path fill="#297b00" d="M293.4 297l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M297.4 297l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M298 297l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M298.4 297l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M299 297l.4.5-.5-.5z"/>
+    <path fill="#214210" d="M301.4 297l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M304 297l.4.5-.5-.5z"/>
+    <path fill="#425242" d="M304.4 297l.6.5-.6-.5z"/>
+    <path fill="#185200" d="M305.3 297.2l.3.1-.3-.1z"/>
+    <path fill="#9c9494" d="M306 297l.4.5-.4-.5m-80.8.5l-1 1.4 1-1.4z"/>
+    <path fill="#397b00" d="M225.7 297.5l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M226.7 297.5l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M227.6 297.7l.3.1-.3-.1m6.6-.2l.6.5-.6-.5z"/>
+    <path fill="#315221" d="M236.8 297.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M240.3 297.5l-.5 1 .5-1z"/>
+    <path fill="#293129" d="M240.8 297.5l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M249.6 297.7l.4.1-.4-.1z"/>
+    <path fill="#294200" d="M250.3 297.5l.5.5-.5-.5z"/>
+    <path fill="#423100" d="M250.8 297.5l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M251.6 297.7l.4.1-.4-.1z"/>
+    <path fill="#5a2908" d="M252.3 297.5l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M252.8 297.5v.5h1.5l-1.5-.5z"/>
+    <path fill="#ad1810" d="M254.3 297.5v.5h1.5l-1.5-.5z"/>
+    <path fill="#bd2110" d="M255.8 297.5l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M244.3 306v-.4l-3 .5v-.5a92 92 0 0147.1 0v.5l-2.5-.5c2.5 3.6 9.2 1.4 7-2.8-2-3.6-8.9-4-12.5-4.5a112.6 112.6 0 00-31.6.1c-3.6.6-8 .9-11 3.3-2 1.7-1.2 5.2 1.5 6 1.7.4 3.6-.9 5-1.6z"/>
+    <path fill="#ce2110" d="M273.4 297.5l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M275.4 297.5l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M276.2 297.7l.3.1-.3-.1z"/>
+    <path fill="#6b2908" d="M276.9 297.5l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M278.9 297.5l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M279.4 297.5l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M279.9 297.5l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M280.9 297.5l.5.5-.5-.5m2.5 0l-.5 1 .5-1m2 0l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M293 297.5l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M294.3 297.7l.3.1-.4-.1z"/>
+    <path fill="#297b00" d="M295 297.5l-.6 1 .5-1m3 0l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M298.4 297.5l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M299 297.5l1 1-1-1z"/>
+    <path fill="#7b7373" d="M299.4 297.5l.5.5-.5-.5z"/>
+    <path fill="#315221" d="M300 297.5l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M300.4 297.5l.5.5-.5-.5z"/>
+    <path fill="#103910" d="M302 297.5l.4.5-.5-.5z"/>
+    <path fill="#efefef" d="M302.4 297.5l1 1-1-1z"/>
+    <path fill="#cecece" d="M305 297.5l.4.5-.4-.5z"/>
+    <path fill="#63636b" d="M305.4 297.5l.6.5-.6-.5z"/>
+    <path fill="#102110" d="M306 297.5l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M306.4 297.5l.6.5-.6-.5z"/>
+    <path fill="#294200" d="M225.2 298l3 1.4-3-1.4z"/>
+    <path fill="#397b00" d="M233.4 298.3l.2.3-.2-.3z"/>
+    <path fill="#294200" d="M233.8 298l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M236.3 298l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M236.8 298l.5.5-.5-.5z"/>
+    <path fill="#314231" d="M240.3 298l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M246.3 298l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M246.8 298l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M247.3 298l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M247.8 298l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M248.3 298l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M248.8 298l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M249.3 298l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M249.8 298l.5.5-.5-.5m29.6 0l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M279.9 298l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M280.4 298l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M280.9 298l.5.5-.5-.5z"/>
+    <path fill="#422100" d="M281.4 298l.5.5-.5-.5z"/>
+    <path fill="#4a4208" d="M281.9 298l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M282.4 298l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M283.4 298l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M284.9 298l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M285.4 298l.5.5-.5-.5m1 0l2.5.5-2.5-.5z"/>
+    <path fill="#297b00" d="M288.4 298l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M295 298l.4.5-.5-.5z"/>
+    <path fill="#082108" d="M295.4 298l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M296 298l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M296.4 298l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M299 298l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M300.4 298l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M301 298l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M301.4 298l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M302 298l.4.5-.5-.5z"/>
+    <path fill="#314231" d="M302.4 298l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M306 298l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M306.4 298l.6.5-.6-.5z"/>
+    <path fill="#292100" d="M224.7 298.4l.5.5-.5-.4z"/>
+    <path fill="#397b00" d="M228.2 298.4v1h1v-1h-1m3.7.4l.2.3-.2-.3z"/>
+    <path fill="#294200" d="M232.6 298.6l.3.2-.3-.2z"/>
+    <path fill="#397b00" d="M235.3 298.4l.5.5-.5-.4z"/>
+    <path fill="#314231" d="M235.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#dedede" d="M236.3 298.4l.5.5-.5-.4z"/>
+    <path fill="#425242" d="M239.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#397b00" d="M242.1 298.6l.3.2-.3-.2z"/>
+    <path fill="#294200" d="M243.1 298.6l.4.2-.4-.2z"/>
+    <path fill="#292100" d="M243.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#181000" d="M244.3 298.4l.5.5-.5-.4z"/>
+    <path fill="#310000" d="M244.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#631808" d="M245.3 298.4l.5.5-.5-.4z"/>
+    <path fill="#941808" d="M245.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#ad1810" d="M246.3 298.4l.5.5-.5-.4z"/>
+    <path fill="#ce2110" d="M246.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#de3110" d="M257.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#e75a10" d="M258.3 298.4l.5.5-.5-.4z"/>
+    <path fill="#de3110" d="M258.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#e75a10" d="M260.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#de3110" d="M261.3 298.4l.5.5-.5-.4z"/>
+    <path fill="#e75a10" d="M265.2 298.6l.3.2-.3-.2z"/>
+    <path fill="#de3110" d="M265.8 298.4l.5.5-.5-.4z"/>
+    <path fill="#e75a10" d="M268.7 298.6l.3.2-.3-.2z"/>
+    <path fill="#de3110" d="M269.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#ad1810" d="M282.9 298.4l.5.5-.5-.4z"/>
+    <path fill="#941808" d="M283.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#631808" d="M283.9 298.4l.5.5-.5-.4z"/>
+    <path fill="#5a2908" d="M284.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#293100" d="M284.9 298.4l.5.5-.5-.4z"/>
+    <path fill="#185200" d="M285.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#297b00" d="M285.9 298.4l.5.5-.5-.4z"/>
+    <path fill="#184a00" d="M288.9 298.4v.5h1.5l-1.5-.4z"/>
+    <path fill="#185200" d="M290.4 298.4l1 1-1-1z"/>
+    <path fill="#297b00" d="M291 298.4l.4.5-.5-.4z"/>
+    <path fill="#185200" d="M296 298.4l.4.5-.5-.4z"/>
+    <path fill="#001000" d="M296.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#293129" d="M297 298.4l.4.5-.5-.4z"/>
+    <path fill="#214210" d="M297.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#296300" d="M298 298.4l.4.5-.5-.4m1.5 0l1 .9-1-1z"/>
+    <path fill="#63636b" d="M300 298.4l.4.5-.5-.4z"/>
+    <path fill="#dedede" d="M301.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#63636b" d="M302 298.4l.4.5-.5-.4z"/>
+    <path fill="#214210" d="M302.4 298.4l.5.5-.5-.4z"/>
+    <path fill="#63636b" d="M303 298.4l.4.5-.5-.4z"/>
+    <path fill="#cecece" d="M224.2 299l.5.4-.5-.5z"/>
+    <path fill="#295200" d="M229.3 299l.4.4-.4-.5z"/>
+    <path fill="#294200" d="M229.8 299l.4.4-.4-.5z"/>
+    <path fill="#295200" d="M230.3 299l.4.4-.4-.5z"/>
+    <path fill="#294200" d="M231 299l.4.2-.3-.1z"/>
+    <path fill="#397b00" d="M234.3 299l.5.4-.5-.5z"/>
+    <path fill="#214210" d="M234.8 299l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M235.3 299l.5.4-.5-.5z"/>
+    <path fill="#7b7373" d="M239.3 299l.5.4-.5-.5z"/>
+    <path fill="#397b00" d="M240.1 299l.3.2-.3-.1z"/>
+    <path fill="#294200" d="M239.3 299.9v.5l3-1-3 .5z"/>
+    <path fill="#293100" d="M242.3 299l.5.4-.5-.5z"/>
+    <path fill="#5a2908" d="M242.8 299l.5.4-.5-.5z"/>
+    <path fill="#7b1008" d="M243.3 299l.5.4-.5-.5z"/>
+    <path fill="#b51010" d="M243.8 299l.5.4-.5-.5z"/>
+    <path fill="#de3110" d="M250.3 299l.5.4-.5-.5zm2 0l1 .9-1-1z"/>
+    <path fill="#e75a10" d="M257.3 299l.5.4-.5-.5zm2 0l.5.4-.5-.5z"/>
+    <path fill="#f7b508" d="M261.3 299l.5.4-.5-.5z"/>
+    <path fill="#de3110" d="M266.9 299l1 .9-1-1z"/>
+    <path fill="#ef9408" d="M267.9 299l1 .9-1-1z"/>
+    <path fill="#e75a10" d="M269.9 299l1 .9-1-1z"/>
+    <path fill="#de3110" d="M270.4 299l.5.4-.5-.5z"/>
+    <path fill="#e75a10" d="M272.4 299l.5.4-.5-.5z"/>
+    <path fill="#ef9408" d="M273.4 299l-.5 3.3.5-3.4z"/>
+    <path fill="#e75a10" d="M273.9 299l.5.4-.5-.5z"/>
+    <path fill="#de3110" d="M274.9 299l.5.4-.5-.5z"/>
+    <path fill="#ef9408" d="M275.4 299l.5.4-.5-.5z"/>
+    <path fill="#ef7b08" d="M275.9 299l.5.4-.5-.5z"/>
+    <path fill="#e75a10" d="M276.9 299l.5.4-.5-.5z"/>
+    <path fill="#de3110" d="M278.9 299l.5.4-.5-.5z"/>
+    <path fill="#bd2110" d="M285.4 299l.5.4-.5-.5z"/>
+    <path fill="#941808" d="M285.9 299l.5.4-.5-.5z"/>
+    <path fill="#4a1000" d="M286.4 299l.5.4-.5-.5z"/>
+    <path fill="#293100" d="M286.9 299l.5.4-.5-.5z"/>
+    <path fill="#297b00" d="M287.9 299l.5.4-.5-.5z"/>
+    <path fill="#319400" d="M288.4 299v.4l5 1-5-1.5z"/>
+    <path fill="#297b00" d="M290.4 299l.5.4-.5-.5z"/>
+    <path fill="#184a00" d="M291.4 299l.5.4-.5-.5z"/>
+    <path fill="#103900" d="M292 299l.4.4-.5-.5z"/>
+    <path fill="#296300" d="M292.6 299.3l.1.3-.1-.4m4.3-.3l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M297.4 299l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M298 299l.4.4-.5-.5z"/>
+    <path fill="#63636b" d="M298.4 299l.5.4-.5-.5z"/>
+    <path fill="#184a00" d="M299 299l.4.4-.5-.5z"/>
+    <path fill="#297b00" d="M299.4 299l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M300.4 299l.5.4-.5-.5z"/>
+    <path fill="#efefef" d="M302.4 299l.5.4-.5-.5z"/>
+    <path fill="#8c8c8c" d="M303 299l.4.4-.5-.5z"/>
+    <path fill="#cecece" d="M303.4 299l.5.4-.5-.5z"/>
+    <path fill="#bdbdbd" d="M227.2 299.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M227.7 299.4l.5.5-.5-.5m4.6 0l.4.5-.4-.5z"/>
+    <path fill="#295200" d="M232.8 299.4l.5.5-.5-.5z"/>
+    <path fill="#396b10" d="M233.3 299.4l.5.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M233.8 299.4l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M234.3 299.4l.5.5-.5-.5m4.5 0l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M239.3 299.4l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M241.3 299.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M241.8 299.4l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M247.8 299.4l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M252.3 299.4l.5.5-.5-.5m1.5 0l.5.5-.5-.5m3.9.2l.3.1-.3-.1z"/>
+    <path fill="#e75a10" d="M258.3 299.4l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M259.2 299.6l.3.1-.3-.1z"/>
+    <path fill="#ef9408" d="M266.9 299.4l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M269.7 299.6l.3.1-.3-.1z"/>
+    <path fill="#de3110" d="M271.9 299.4l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M275 299.7l.2.3-.2-.3z"/>
+    <path fill="#ef9408" d="M279.9 299.4l1 1-1-1z"/>
+    <path fill="#ef7b08" d="M281.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M283.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M287.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M287.9 299.4l.5.5-.5-.5z"/>
+    <path fill="#293100" d="M288.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M288.9 299.4l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M293 299.4l.4.5-.5-.5z"/>
+    <path fill="#001000" d="M293.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M294 299.4l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M294.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M295 299.4l.4.5-.5-.5m2.5 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M298 299.4l.4.5-.5-.5z"/>
+    <path fill="#7b7373" d="M298.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M299 299.4l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M299.4 299.4l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M300.3 299.6l.3.1-.3-.1z"/>
+    <path fill="#bdbdbd" d="M301 299.4l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M227.2 299.9l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M230.3 299.9l.4.5-.4-.5z"/>
+    <path fill="#396b10" d="M230.8 299.9l.4.5-.4-.5z"/>
+    <path fill="#526b42" d="M231.3 299.9l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M231.8 299.9l.4.5-.4-.5z"/>
+    <path fill="#ada5a5" d="M232.3 299.9l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M232.8 299.9l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M238.3 299.9l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M238.8 299.9l.5.5-.5-.5z"/>
+    <path fill="#4a1000" d="M239.8 299.9l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M240.3 299.9l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M243.6 300l.4.2-.4-.2z"/>
+    <path fill="#ef7b08" d="M247.3 299.9l.5.5-.5-.5zm2.7.3l.1.3-.1-.3z"/>
+    <path fill="#de2110" d="M251.3 299.9l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M251.8 299.9l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M252.8 299.9l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M258.8 299.9l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M259.3 299.9l.5.5-.5-.5m1 0l.5.5-.5-.5zm1.5 0l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M265.8 299.9v1.4h.5l-.5-1.4z"/>
+    <path fill="#ef9408" d="M266.3 299.9l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M268.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M268.9 299.9l.5 1.4-.5-1.4z"/>
+    <path fill="#e75a10" d="M271.9 299.9l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M272.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M279.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M279.9 299.9l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M280.9 299.9l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M281.9 299.9l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M282.9 299.9l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M283.4 299.9l-.5 1.4.5-1.4z"/>
+    <path fill="#ef7b08" d="M284 300.2l.2.3-.1-.3z"/>
+    <path fill="#e75a10" d="M285.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M285.9 299.9l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M288.9 299.9l.5.5-.5-.5z"/>
+    <path fill="#5a2908" d="M289.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M290 299.9l.4.5-.5-.5z"/>
+    <path fill="#297b00" d="M290.4 299.9l.5.5-.5-.5m3.2.3l.2.3-.2-.3z"/>
+    <path fill="#184a00" d="M294 299.9l.4.5-.5-.5z"/>
+    <path fill="#424242" d="M294.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M295 299.9l.4.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M295.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M296 299.9l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M296.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M298.4 299.9l1 1-1-1z"/>
+    <path fill="#314231" d="M299 299.9l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M300 299.9l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M300.4 299.9l.5.5-.5-.5z"/>
+    <path fill="#101810" d="M301 299.9l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M227.2 300.4l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M229.3 300.4l.4.4-.4-.4z"/>
+    <path fill="#6b735a" d="M229.8 300.4l.4.4-.4-.4z"/>
+    <path fill="#bdbdbd" d="M230.3 300.4l.4.4-.4-.4z"/>
+    <path fill="#52525a" d="M238.3 300.4l.5.4-.5-.4z"/>
+    <path fill="#311000" d="M238.8 300.4l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M239.3 300.4l.5.4-.5-.4z"/>
+    <path fill="#ef7b08" d="M241.8 300.4l.5.4-.5-.4z"/>
+    <path fill="#ef9408" d="M242.3 300.4l.5.4-.5-.4z"/>
+    <path fill="#f7b508" d="M242.8 300.4l.5.4-.5-.4z"/>
+    <path fill="#ffce08" d="M243.3 300.4l.5.4-.5-.4z"/>
+    <path fill="#ef9408" d="M243.8 300.4l.5.4-.5-.4z"/>
+    <path fill="#de3110" d="M248.3 300.4l.5.4-.5-.4zm4.5 0l.5.4-.5-.4z"/>
+    <path fill="#ef9408" d="M261.2 300.5l.3.2-.3-.2z"/>
+    <path fill="#ef7b08" d="M266.3 300.4l.5.4-.5-.4m5.5 0l.5.4-.5-.4z"/>
+    <path fill="#de3110" d="M274.9 300.4l.5.4-.5-.4z"/>
+    <path fill="#ef9408" d="M275.9 300.4l.5.4-.5-.4z"/>
+    <path fill="#de2110" d="M280.4 300.4v1.9l2-.5-2-1.4z"/>
+    <path fill="#e75a10" d="M281.9 300.4l.5.4-.5-.4z"/>
+    <path fill="#f7b508" d="M282.9 300.4l.5.4-.5-.4m2.8.1l.4.2-.4-.2z"/>
+    <path fill="#de3110" d="M286.9 300.4l.5.4-.5-.4z"/>
+    <path fill="#e75a10" d="M287.4 300.4l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M290 300.4l.4.4-.5-.4z"/>
+    <path fill="#5a1008" d="M290.4 300.4l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M291.2 300.5l.4.2-.4-.2z"/>
+    <path fill="#185200" d="M292 300.4l.4.4-.5-.4z"/>
+    <path fill="#296300" d="M292.8 300.5l.3.2-.4-.2z"/>
+    <path fill="#319400" d="M294 300.4l.4.4-.5-.4z"/>
+    <path fill="#297b00" d="M294.4 300.4l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M295 300.4l.4.4-.5-.4z"/>
+    <path fill="#7b7373" d="M295.4 300.4l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M296 300.4l.4.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M296.4 300.4l1 1.4-1-1.4z"/>
+    <path fill="#63636b" d="M297 300.4l.4.4-.5-.4z"/>
+    <path fill="#214210" d="M297.4 300.4l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M298 300.4l.4.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M299.4 300.4l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M228.2 300.8l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M228.7 300.8l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M229.3 300.8l.4.5-.4-.5m8 0l.5.5-.5-.5z"/>
+    <path fill="#524242" d="M237.8 300.8l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M238.3 300.8l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M240.1 301l.3.2-.3-.2z"/>
+    <path fill="#f7b508" d="M241.8 300.8l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M242.8 300.8l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M245.8 300.8l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M246.3 300.8l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M248.5 301.1l.1.4-.1-.4z"/>
+    <path fill="#ef7b08" d="M259.3 300.8l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M259.8 300.8l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M260.5 301.1l.2.4-.2-.4m1.5 0l.2.4-.2-.4z"/>
+    <path fill="#ef9408" d="M266.7 301l.3.2-.3-.2z"/>
+    <path fill="#de3110" d="M268.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M271.4 300.8l.5.5-.5-.5zm6 0l-.5 2 .5-2z"/>
+    <path fill="#de3110" d="M278.9 300.8l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M279.6 301.1l.1.4-.1-.4z"/>
+    <path fill="#ef7b08" d="M280 301.1l.2.4-.1-.4z"/>
+    <path fill="#e75a10" d="M282.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M283.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M284 301.1l.2.4-.1-.4z"/>
+    <path fill="#de3110" d="M284.9 300.8l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M286.9 300.8l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M287.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M291 300.8l.4.5-.5-.5z"/>
+    <path fill="#210800" d="M291.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M292 300.8l.4.5-.5-.5z"/>
+    <path fill="#313931" d="M292.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M293 300.8l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M293.4 300.8l1 1-1-1z"/>
+    <path fill="#8c8c8c" d="M294 300.8l.4.5-.5-.5z"/>
+    <path fill="#5a6b52" d="M294.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M295 300.8l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M295.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#293129" d="M296 300.8l.4.5-.5-.5z"/>
+    <path fill="#efefef" d="M297.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M298 300.8l.4.5-.5-.5z"/>
+    <path fill="#296300" d="M299 300.8l.4.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M299.4 300.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M227.7 301.3l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M228.2 301.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M236.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M237.3 301.3l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M237.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M238.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M239.3 301.3l.5.5-.5-.5zm1.5 0l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M241.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M242.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M244.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M247.3 301.3l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M251.3 301.3l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M251.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M257.6 301.5l.4.1-.4-.1m1.5 0l.4.1-.4-.1z"/>
+    <path fill="#e75a10" d="M259.8 301.3l-.5 1 .5-1z"/>
+    <path fill="#ef9408" d="M261.2 301.5l.3.1-.3-.1z"/>
+    <path fill="#e75a10" d="M262.3 301.3l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M265.8 301.3l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M266.9 301.3l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M267.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M269.7 301.5l.3.1-.3-.1z"/>
+    <path fill="#ef7b08" d="M271.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M272.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M276.4 301.3l.5.5-.5-.5zm6.5 0l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M283.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M284.9 301.3l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M286.9 301.3l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M287.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M288.9 301.3l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M289.6 301.6l.1.3-.1-.3z"/>
+    <path fill="#7b1008" d="M292 301.3l.4.5-.5-.5z"/>
+    <path fill="#185200" d="M292.4 301.3l1 1v-1h-1z"/>
+    <path fill="#314231" d="M293.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M295.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M296 301.3l.4.5-.5-.5z"/>
+    <path fill="#63636b" d="M296.4 301.3l.5.5-.5-.5z"/>
+    <path fill="#6b735a" d="M298 301.3l.4.5-.5-.5z"/>
+    <path fill="#184a00" d="M299 301.3l.4.5-.5-.5z"/>
+    <path fill="#52525a" d="M227.7 301.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M236.3 301.8l.5.5-.5-.5z"/>
+    <path fill="#631818" d="M236.8 301.8l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M238.3 301.8l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M238.8 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M239.8 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M240.3 301.8l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M241.8 301.8l.5.5-.5-.5m3 0l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M245.8 301.8l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M246.3 301.8l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M247.8 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M248.3 301.8l-.5 1 .5-1zm7 0l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M257.3 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M259.8 301.8l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M260.3 301.8l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M262.3 301.8l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M266.3 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M267.9 301.8l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M271.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M272.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M279.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M279.9 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M280.9 301.8l1 1-1-1z"/>
+    <path fill="#e75a10" d="M281.9 301.8l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M282.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M285.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M286.4 301.8l-.5 1 .5-1zm1 0l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M288.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M292.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M293.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M294 302.1l.2.3-.1-.3z"/>
+    <path fill="#314231" d="M294.4 301.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M295 301.8l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M298 301.8l.4.5-.5-.5z"/>
+    <path fill="#4a6342" d="M299 301.8l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M235.8 302.3l.5.4-.5-.4z"/>
+    <path fill="#631818" d="M236.3 302.3l.5.4-.5-.4z"/>
+    <path fill="#de2110" d="M239.8 302.3l.5.4-.5-.4z"/>
+    <path fill="#e75a10" d="M240.3 302.3l.5.4-.5-.4z"/>
+    <path fill="#de3110" d="M241.3 302.3l.5.4-.5-.4z"/>
+    <path fill="#de2110" d="M242 302.6l.1.3-.2-.3z"/>
+    <path fill="#ef9408" d="M243 302.6l.1.3-.2-.3z"/>
+    <path fill="#e75a10" d="M243.3 302.3l1 1-1-1z"/>
+    <path fill="#de3110" d="M244.8 302.3l.5.4-.5-.4z"/>
+    <path fill="#e75a10" d="M245.8 302.3l.5.4-.5-.4zm4 0l.5.4-.5-.4z"/>
+    <path fill="#de3110" d="M253.3 302.3l.5.4-.5-.4zm4.5 0l.5.4-.5-.4z"/>
+    <path fill="#e75a10" d="M258.3 302.3l.5.4-.5-.4z"/>
+    <path fill="#de3110" d="M258.8 302.3l.5.4-.5-.4m1.4.1l.3.2-.3-.2m2 0l.3.2-.3-.2zm6.1-.1l.5.4-.5-.4z"/>
+    <path fill="#e75a10" d="M268.9 302.3l.5.4-.5-.4z"/>
+    <path fill="#de3110" d="M269.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#e75a10" d="M270.9 302.3l.5.4-.5-.4m1 0l.5.4-.5-.4z"/>
+    <path fill="#de3110" d="M272.4 302.3v.4h1.5l-1.5-.4m2.5 0l.5.4-.5-.4z"/>
+    <path fill="#ef9408" d="M275.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#ef7b08" d="M279.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#ef9408" d="M282.9 302.3l.5.4-.5-.4z"/>
+    <path fill="#ffce08" d="M284 302.6l.2.3-.1-.3z"/>
+    <path fill="#f7b508" d="M284.9 302.3l.5.4-.5-.4m1.5 0l.5.4-.5-.4z"/>
+    <path fill="#e75a10" d="M287.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M293 302.3l.4.4-.5-.4z"/>
+    <path fill="#103900" d="M293.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M294.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#185200" d="M295 302.3l.4.4-.5-.4z"/>
+    <path fill="#7b7373" d="M295.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M298.1 302.6l.2.3-.2-.3z"/>
+    <path fill="#296300" d="M298.4 302.3l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M299 302.3l.4.4-.5-.4m-63.1.4l.5.5-.5-.4z"/>
+    <path fill="#ce2110" d="M236.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M238.8 302.7l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M239.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M241.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M242.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M243.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M244.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M245.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M245.8 302.7l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M248.3 302.7l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M248.8 302.7l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M249.3 302.7l.5.5-.5-.5m30.6 0l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M280.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M280.9 302.7l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M281.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M282.4 302.7l.5.5-.5-.5m1 0l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M284.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M285 303l.2.4-.1-.3z"/>
+    <path fill="#e75a10" d="M285.7 302.9l.4.2-.4-.2z"/>
+    <path fill="#de2110" d="M287.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M287.9 302.7l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M288.9 302.7l.5.5-.5-.5zm1.2.4l.1.3-.1-.3z"/>
+    <path fill="#736b6b" d="M293.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M294 302.7l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M294.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M295 302.7l.4.5-.5-.5z"/>
+    <path fill="#082108" d="M295.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M296 302.7l.4.5-.5-.5z"/>
+    <path fill="#103900" d="M298.4 302.7l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M299 302.7l.4.5-.5-.5z"/>
+    <path fill="#6b4242" d="M235.8 303.2l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M240.3 303.2l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M240.8 303.2l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M242.3 303.2l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M244.3 303.2l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M245.3 303.2l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M245.8 303.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M256.8 303.2v.5h3l-3-.5z"/>
+    <path fill="#7b1008" d="M259.8 303.2l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M260.3 303.2v.5h9.6l-9.6-.5z"/>
+    <path fill="#ad1810" d="M269.9 303.2v.5h3l-3-.5z"/>
+    <path fill="#ce2110" d="M272.9 303.2l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M283.4 303.2l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M283.9 303.2l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M284.4 303.2l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M285.7 303.4l.4.1-.4-.1z"/>
+    <path fill="#f7b508" d="M286.9 303.2l1 1-1-1z"/>
+    <path fill="#e75a10" d="M287.4 303.2l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M288.9 303.2l.5.5-.5-.5z"/>
+    <path fill="#631818" d="M293.4 303.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M295.6 303.5l.2.4-.2-.4z"/>
+    <path fill="#7b7373" d="M296 303.2l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M296.4 303.2l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M298.4 303.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M229.8 303.7l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M230.3 303.7l.4.5-.4-.5z"/>
+    <path fill="#6b4242" d="M230.8 303.7l.4.5-.4-.5z"/>
+    <path fill="#8c8c8c" d="M232.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M233.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M233.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#6b2908" d="M235.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M239.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#ffce08" d="M240 304l.1.3-.2-.3z"/>
+    <path fill="#f7b508" d="M241.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M243.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M243.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M250.6 303.9l.4.1-.4-.1z"/>
+    <path fill="#941808" d="M251.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M251.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#733129" d="M252.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M253.1 303.9l.4.1-.4-.1z"/>
+    <path fill="#845a52" d="M253.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M254.3 303.7v.5h2l-2-.5z"/>
+    <path fill="#ada5a5" d="M256.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M256.8 303.7v.5h1.5l-1.5-.5z"/>
+    <path fill="#cecece" d="M258.3 303.7l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M258.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M259.3 303.7l1.5 1.4-1.5-1.4z"/>
+    <path fill="#428c00" d="M259.8 303.7c1.3 1.6 2.4 2.3 4.5 1.9l-4.5-1.9z"/>
+    <path fill="#397b00" d="M262.8 303.7l1 2.4h1l-2-2.4z"/>
+    <path fill="#63636b" d="M263.3 303.7l1.5 1.4-1.5-1.4z"/>
+    <path fill="#cecece" d="M265.3 303.7l-.5 1 .5-1z"/>
+    <path fill="#214210" d="M265.8 303.7l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M266.3 306l4-1.8c-2-.8-4.4-.6-4 1.9z"/>
+    <path fill="#185200" d="M270.4 303.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M270.9 303.7l.5.5-.5-.5z"/>
+    <path fill="#946b63" d="M275.4 303.7l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M276.2 303.9l.3.1-.3-.1z"/>
+    <path fill="#8c3939" d="M276.9 303.7l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M277.4 303.7l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M277.9 303.7l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M278.7 303.9l.3.1-.3-.1z"/>
+    <path fill="#ce2110" d="M279.4 303.7l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M286.7 303.9l.4.1-.4-.1m1.2-.2l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M288.4 303.7l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M288.9 303.7l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M290 303.7l.4.5-.5-.5z"/>
+    <path fill="#631808" d="M293.4 303.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M296 303.7l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M296.4 303.7l.5.5-.5-.5zm2.5 0l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M299.4 303.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M229.3 304.2l.4.5-.4-.5z"/>
+    <path fill="#631818" d="M229.8 304.2l.4.5-.4-.5z"/>
+    <path fill="#bd2110" d="M230.3 304.2l.4.5-.4-.5z"/>
+    <path fill="#de2110" d="M229.8 308.5c5.2-3 12 5.2 16-1.5l-.5-.4c-1.7.5-3.7 2-5.5 1.7-1.3-.2-14-8.4-10 .2z"/>
+    <path fill="#bd2110" d="M233.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M233.8 304.2l.5.5-.5-.5z"/>
+    <path fill="#631818" d="M234.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M234.8 304.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M235.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M235.8 304.2l.5.5-.5-.5z"/>
+    <path fill="#de3110" d="M239.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#ef7b08" d="M240.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M246.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M246.8 304.2l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M247.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#733129" d="M247.8 304.2l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M248.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#8c6363" d="M248.8 304.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M249.6 304.3l.4.2-.4-.2z"/>
+    <path fill="#bdbdbd" d="M250.6 304.3l.4.2-.4-.2z"/>
+    <path fill="#efefef" d="M251.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M259.3 304.2l1.5 1.4-1.5-1.4z"/>
+    <path fill="#103910" d="M265.3 304.2l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M269.9 304.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M270.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M278.7 304.3l.3.2-.3-.2z"/>
+    <path fill="#8c8c8c" d="M279.7 304.3l.3.2-.3-.2z"/>
+    <path fill="#8c7373" d="M280.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M280.9 304.2l.5.5-.5-.5z"/>
+    <path fill="#733939" d="M281.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M281.9 304.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M282.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M282.9 304.2l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M287.4 304.2l.5.5-.5-.5m1.7.3l.1.3-.1-.3z"/>
+    <path fill="#6b2908" d="M293.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M294 304.2l.4.5-.5-.5z"/>
+    <path fill="#7b7373" d="M294.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#733129" d="M295 304.2l.4.5-.5-.5z"/>
+    <path fill="#941808" d="M295.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M296 304.2l.4.5-.5-.5z"/>
+    <path fill="#de2110" d="M284.9 306.6c-.7 6.6 11.8 0 15 1.9 1.8-3.7-2.3-5.3-5.4-3.4-1.5.9-2.2 2.8-4.1 3.1-1.9.3-3.9-1-5.5-1.6z"/>
+    <path fill="#ce2110" d="M299 304.2l.4.5-.5-.5z"/>
+    <path fill="#7b1008" d="M299.4 304.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M300 304.2l.4.5-.5-.5m-71.2.5l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M229.3 304.6l.4.5-.4-.5z"/>
+    <path fill="#941808" d="M235.3 304.6l.5.5-.5-.5z"/>
+    <path fill="#310000" d="M235.8 304.6l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M236.3 304.6l.5.5-.5-.5z"/>
+    <path fill="#ef9408" d="M239.8 304.6l.5.5-.5-.5z"/>
+    <path fill="#e75a10" d="M240.3 304.6l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M243.3 304.6l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M243.8 304.6l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M244.3 304.6l.5.5-.5-.5z"/>
+    <path fill="#6b2908" d="M244.8 304.6l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M245.3 304.6l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M245.8 304.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M246.3 304.6l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M246.8 304.6l.5.5-.5-.5z"/>
+    <path fill="#293129" d="M264.8 304.6l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M265.3 304.6l1 1.5-1-1.5m3.5 0l-.5 1 .5-1z"/>
+    <path fill="#103910" d="M269.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M269.9 304.6l-.5 1 .5-1z"/>
+    <path fill="#bdbdbd" d="M282.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M282.9 304.6l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M283.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M283.9 304.6l.5.5-.5-.5z"/>
+    <path fill="#733129" d="M284.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M284.9 304.6l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M285.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M285.9 304.6l.5.5-.5-.5z"/>
+    <path fill="#f7b508" d="M289.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M293.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M294 304.6l.4.5-.5-.5m6 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M300.4 304.6l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M228.2 305.1l.5.5-.5-.5z"/>
+    <path fill="#842118" d="M228.7 305.1l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M235.8 305.1l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M236.3 305.1l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M241.8 305.1l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M243.8 305.1l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M244.3 305.1l.5.5-.5-.5z"/>
+    <path fill="#214210" d="M260.8 305.1l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M264.8 305.1l.5.5-.5-.5z"/>
+    <path fill="#293129" d="M268.9 305.1l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M284.9 305.1l.5.5-.5-.5z"/>
+    <path fill="#391810" d="M285.4 305.1l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M285.9 305.1l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M286.4 305.1l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M286.9 305.1l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M287.4 305.1l1 1-1-1m5.5 0l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M293.4 305.1l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M300.4 305.1l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M301 305.1l.4.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M228.2 305.6l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M228.7 305.6l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M236.3 305.6l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M236.8 305.6l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M241.6 305.8l.3.1-.3-.1z"/>
+    <path fill="#631818" d="M244.3 305.6l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M244.8 305.6l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M258.8 305.6l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M259.3 305.6l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M259.8 305.6v.5h1.5l-1.5-.5z"/>
+    <path fill="#293100" d="M261.3 305.6l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M261.8 305.6l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M264.8 305.6l.5.5-.5-.5z"/>
+    <path fill="#082108" d="M265.3 305.6l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M267.4 305.6l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M267.9 305.6l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M268.4 305.6l.5.5-.5-.5z"/>
+    <path fill="#733939" d="M268.9 305.6l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M269.4 305.6l.5.5-.5-.5z"/>
+    <path fill="#736b6b" d="M269.9 305.6l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M270.4 305.6l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M284.4 305.6l-.5 1 .5-1z"/>
+    <path fill="#5a1010" d="M284.9 305.6l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M285.4 305.6l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M287.4 305.6l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M292.4 305.6l1 1-1-1z"/>
+    <path fill="#5a1008" d="M293 305.6l.4.5-.5-.5z"/>
+    <path fill="#736b6b" d="M301 305.6l.4.5-.5-.5z"/>
+    <path fill="#8c6363" d="M228.2 306l.5.6-.5-.5z"/>
+    <path fill="#520808" d="M236.8 306l.5.6-.5-.5z"/>
+    <path fill="#ce2110" d="M237.3 306l.5.6-.5-.5z"/>
+    <path fill="#bd2110" d="M243.8 306l.5.6-.5-.5z"/>
+    <path fill="#7b1008" d="M244.3 306l-.5 1 .5-1z"/>
+    <path fill="#100808" d="M244.8 306l.5.6-.5-.5z"/>
+    <path fill="#9c9494" d="M245.3 306l.5.6-.5-.5z"/>
+    <path fill="#bdbdbd" d="M256.8 306l.5.6-.5-.5z"/>
+    <path fill="#ada5a5" d="M257.3 306l.5.6-.5-.5z"/>
+    <path fill="#8c8c8c" d="M257.8 306l.5.6-.5-.5z"/>
+    <path fill="#52525a" d="M258.3 306l.5.6-.5-.5z"/>
+    <path fill="#7b1008" d="M258.8 306l.5.6-.5-.5z"/>
+    <path fill="#ce2110" d="M259.3 306l.5.6-.5-.5z"/>
+    <path fill="#de2110" d="M258.8 308.5l4 .5c-.2-3-3.4-3.7-4-.5z"/>
+    <path fill="#b51010" d="M261.8 306l.5.6-.5-.5z"/>
+    <path fill="#7b1008" d="M262.3 306l.5.6-.5-.5z"/>
+    <path fill="#292100" d="M262.8 306l.5.6-.5-.5z"/>
+    <path fill="#422100" d="M263.3 306l.5.6-.5-.5z"/>
+    <path fill="#941808" d="M263.8 306l.5.6-.5-.5z"/>
+    <path fill="#ad1810" d="M264.3 306v.6h1.5l-1.5-.5z"/>
+    <path fill="#311000" d="M265.8 306l.5.6-.5-.5z"/>
+    <path fill="#293100" d="M266.3 306l.5.6-.5-.5z"/>
+    <path fill="#631808" d="M266.9 306l.5.6-.5-.5z"/>
+    <path fill="#941808" d="M267.4 306l.5.6-.5-.5z"/>
+    <path fill="#de2110" d="M266.9 306.6l.5 2.3 3.5-.4c-.4-2.4-1.8-2.4-4-2z"/>
+    <path fill="#b51010" d="M270.4 306l.5.6-.5-.5z"/>
+    <path fill="#423131" d="M270.9 306l.5.6-.5-.5z"/>
+    <path fill="#8c8c8c" d="M271.4 306l.5.6-.5-.5z"/>
+    <path fill="#9c9494" d="M271.9 306l.5.6-.5-.5z"/>
+    <path fill="#bdbdbd" d="M272.4 306l.5.6-.5-.5z"/>
+    <path fill="#efefef" d="M272.9 306l.5.6-.5-.5z"/>
+    <path fill="#101810" d="M284.4 306l.5.6-.5-.5z"/>
+    <path fill="#631808" d="M284.9 306l.5.6-.5-.5z"/>
+    <path fill="#b51010" d="M285.4 306l.5.6-.5-.5z"/>
+    <path fill="#520808" d="M292.4 306l.5.6-.5-.5z"/>
+    <path fill="#734a42" d="M301.1 306.4l.2.3-.2-.3z"/>
+    <path fill="#8c8c8c" d="M228.2 306.6l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M236.8 306.6l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M237.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M242.8 306.6l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M243.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M244.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M245.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M245.8 306.6l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M254.8 306.6l.5.4-.5-.4z"/>
+    <path fill="#ada5a5" d="M255.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#736b6b" d="M255.8 306.6l.5.4-.5-.4z"/>
+    <path fill="#631818" d="M256.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M256.8 306.6l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M257.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#de2110" d="M257.8 306.6l-2 .4v2.9c1.7-.7 2.7-1.5 2-3.3z"/>
+    <path fill="#5a1008" d="M258.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#520808" d="M262.8 306.6l.5.4-.5-.4z"/>
+    <path fill="#de2110" d="M263.3 306.6v2.8h3v-2.8h-3z"/>
+    <path fill="#520808" d="M266.3 306.6l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M270.9 306.6l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M271.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M271.9 306.6l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M272.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M272.9 306.6l.5.4-.5-.4z"/>
+    <path fill="#6b4242" d="M273.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M273.9 306.6l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M274.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M283.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#5a1010" d="M283.9 306.6l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M284.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M285.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M285.9 306.6l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M286.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M292 306.6l.4.4-.5-.4z"/>
+    <path fill="#ad1810" d="M292.4 306.6l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M228.4 307.4l.2.3-.2-.3z"/>
+    <path fill="#ad1810" d="M228.7 307l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M231.3 307l.4.5-.4-.5z"/>
+    <path fill="#bd2110" d="M231.8 307l.4.5-.4-.5z"/>
+    <path fill="#7b1008" d="M237.3 307l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M237.8 307l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M241.8 307l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M242.3 307l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M242.8 307l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M245.8 307l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M255 307.4l.1.3-.1-.3z"/>
+    <path fill="#941808" d="M255.3 307l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M258.3 307v2h.5l-.5-2m4.5 0v2h.5l-.5-2z"/>
+    <path fill="#941808" d="M266.3 307l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M266.9 307l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M270.9 307l-1.5 2.4h1.5v-1l1 .6v-2h-1z"/>
+    <path fill="#de2110" d="M271.9 307v2.4l2 .5.5-2.4-2.5-.5z"/>
+    <path fill="#bd2110" d="M273.9 307l.5.5-.5-.5z"/>
+    <path fill="#6b4242" d="M274.4 307l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M283.4 307l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M283.9 307l.5.5-.5-.5m2.5 0l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M286.9 307l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M287.4 307l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M291.4 307l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M292 307l.4.5-.5-.5z"/>
+    <path fill="#bd2110" d="M297.8 307.2l.3.2-.3-.2m2.6-.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M301 307l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M224.7 307.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M225.2 307.5l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M227.7 307.5l.5.5-.5-.5z"/>
+    <path fill="#5a1010" d="M228.7 307.5l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M230.3 307.5l.4.5-.4-.5z"/>
+    <path fill="#5a1008" d="M230.8 307.5l.4.5-.4-.5z"/>
+    <path fill="#631808" d="M231.3 307.5l.4.5-.4-.5z"/>
+    <path fill="#941808" d="M231.8 307.5l.4.5-.4-.5z"/>
+    <path fill="#631808" d="M232.3 307.5l.4.5-.4-.5z"/>
+    <path fill="#7b1008" d="M232.8 307.5l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M233.3 307.5l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M233.8 307.5l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M237.8 307.5l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M238.4 307.8l.2.3-.2-.3z"/>
+    <path fill="#b51010" d="M240.8 307.5l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M241.3 307.5l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M241.8 307.5l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M242.3 307.5l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M245.3 307.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M245.8 307.5l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M255.3 307.5l.5.5-.5-.5m11 0v1h1v-1h-1z"/>
+    <path fill="#8c8c8c" d="M274.5 307.8l.2.3-.2-.3z"/>
+    <path fill="#dedede" d="M283.4 307.5l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M283.9 307.5l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M287.4 307.5l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M287.9 307.5l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M288.4 307.5l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M291 307.5l.4.5-.5-.5z"/>
+    <path fill="#520808" d="M291.4 307.5l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M292 307.5l.4.5-.5-.5m3.5 0l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M296 307.5l.4.5-.5-.5z"/>
+    <path fill="#631808" d="M296.8 307.7l.3.1-.3-.1z"/>
+    <path fill="#941808" d="M297.4 307.5l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M298 307.5l.4.5-.5-.5z"/>
+    <path fill="#5a1008" d="M298.4 307.5l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M299 307.5l.4.5-.5-.5z"/>
+    <path fill="#520808" d="M300.4 307.5l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M301.3 307.7l.3.1-.3-.1z"/>
+    <path fill="#bdbdbd" d="M304.3 307.7l.3.1-.3-.1z"/>
+    <path fill="#ada5a5" d="M223.2 308l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M223.7 308l.5.5-.5-.5z"/>
+    <path fill="#733129" d="M224.2 308l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M224.7 308l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M222.2 309.4c2 4.1 12.6 5.3 15 1-5.8.7-9.5-3.7-15-1z"/>
+    <path fill="#ce2110" d="M227.7 308l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M228.2 308l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M228.7 308l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M230.8 308l.4.5-.4-.5z"/>
+    <path fill="#de2110" d="M236.8 309.9c-4.7-3.6-7.8 1 0 0z"/>
+    <path fill="#ce2110" d="M233.3 308l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M233.8 308l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M234.3 308l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M234.8 308l.5.5-.5-.5zm6 0l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M241.3 308l.5.5-.5-.5z"/>
+    <path fill="#5a2121" d="M245.3 308l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M255.3 308l.5.5-.5-.5z"/>
+    <path fill="#736b6b" d="M283.9 308l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M284.4 308l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M288.4 308l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M288.9 308l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M294.4 308l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M295.3 308.1l.3.2-.4-.2z"/>
+    <path fill="#bd2110" d="M296 308l.4.5-.5-.5z"/>
+    <path fill="#de2110" d="M293 309.4v.5c2.5.3 5.4 1.2 6-2l-6 1.5z"/>
+    <path fill="#520808" d="M299 308l.4.5-.5-.5z"/>
+    <path fill="#b51010" d="M300 308l.4.5-.5-.5z"/>
+    <path fill="#5a1008" d="M300.4 308l-.5 1 .5-1z"/>
+    <path fill="#ad1810" d="M301 308l.4.5-.5-.5z"/>
+    <path fill="#ce2110" d="M301.4 308l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M292.4 310.4c2.5 4.3 13 3 15-1-5.4-2.7-9.2 1.7-15 1z"/>
+    <path fill="#941808" d="M304.4 308l.6.5-.6-.5z"/>
+    <path fill="#6b2908" d="M305 308l.4.5-.4-.5z"/>
+    <path fill="#736b6b" d="M305.4 308l.6.5-.6-.5z"/>
+    <path fill="#9c9494" d="M306 308l.4.5-.4-.5z"/>
+    <path fill="#efefef" d="M306.4 308l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M222.2 308.5l-1 1.4 1-1.4z"/>
+    <path fill="#5a3131" d="M222.7 308.5l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M223.2 308.5l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M229.3 308.5l.4.5-.4-.5z"/>
+    <path fill="#ad1810" d="M234.8 308.5l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M235.6 308.6l.3.2-.3-.2z"/>
+    <path fill="#bd2110" d="M236.3 308.5l.5.5-.5-.5z"/>
+    <path fill="#631818" d="M244.8 308.5l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M245.3 308.5l-.5 1 .5-1z"/>
+    <path fill="#631808" d="M255.3 308.5l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M258.8 308.5v.5l2 .4-2-1z"/>
+    <path fill="#941808" d="M266.3 308.5l1 1-1-1z"/>
+    <path fill="#ce2110" d="M266.9 308.5l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M268.9 308.5l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M270.9 308.5l1 1-1-1z"/>
+    <path fill="#ad1810" d="M273.9 308.5l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M274.4 308.5l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M283.9 308.5l.5.5-.5-.5z"/>
+    <path fill="#5a2121" d="M284.4 308.5l1 1-1-1z"/>
+    <path fill="#ce2110" d="M293 308.5l.4.5-.5-.5z"/>
+    <path fill="#7b1008" d="M293.4 308.5l-.5 1 .5-1z"/>
+    <path fill="#5a1008" d="M294 308.5l.4.5-.5-.5z"/>
+    <path fill="#941808" d="M294.4 308.5l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M299 308.5l.4.5-.5-.5z"/>
+    <path fill="#631808" d="M299.4 308.5l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M306 308.5l.4.5-.4-.5z"/>
+    <path fill="#5a2121" d="M306.4 308.5l.6.5-.6-.5z"/>
+    <path fill="#bdbdbd" d="M307 308.5l.4.5-.4-.5z"/>
+    <path fill="#631818" d="M222.2 309l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M229.3 309l.4.4-.4-.4z"/>
+    <path fill="#210800" d="M229.8 309l.4.4-.4-.4z"/>
+    <path fill="#ad1810" d="M230.3 309l-.6.9.6-1z"/>
+    <path fill="#ce2110" d="M235.8 309l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M236.3 309l.5.4-.5-.4z"/>
+    <path fill="#420000" d="M236.8 309l.5.4-.5-.4z"/>
+    <path fill="#ad1810" d="M237.3 309l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M243.8 309l.5.4-.5-.4z"/>
+    <path fill="#5a1010" d="M244.3 309l.5.4-.5-.4z"/>
+    <path fill="#734a42" d="M255.3 309l.5.4-.5-.4z"/>
+    <path fill="#ce2110" d="M257.8 309l.5.4-.5-.4z"/>
+    <path fill="#310000" d="M258.3 309l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M259 309.3l.2.3-.2-.3z"/>
+    <path fill="#b51010" d="M259.7 309.1l.3.2-.3-.2z"/>
+    <path fill="#7b1008" d="M260.8 309l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M261.3 309l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M261.8 309l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M262.3 309l.5.4-.5-.4z"/>
+    <path fill="#520808" d="M262.8 309l.5.4-.5-.4z"/>
+    <path fill="#420000" d="M266.3 309l.5.4-.5-.4z"/>
+    <path fill="#631808" d="M267.4 309v.4h1.5l-1.5-.4z"/>
+    <path fill="#941808" d="M268.9 309l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M269.9 309l.5.4-.5-.4z"/>
+    <path fill="#310000" d="M270.9 309l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M273.9 309l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M274.4 309l.5.4-.5-.4m10 0l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M285.4 309l.5.4-.5-.4m6.5 0l.5.4-.5-.4z"/>
+    <path fill="#520808" d="M292.4 309l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M293.4 309l.5.4-.5-.4m5.5 0l.5.4-.5-.4z"/>
+    <path fill="#210800" d="M299.4 309l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M300 309l.4.4-.5-.4z"/>
+    <path fill="#7b1008" d="M307 309l.4.4-.4-.4z"/>
+    <path fill="#9c9494" d="M307.4 309l.6.4-.6-.4z"/>
+    <path fill="#631818" d="M221.7 309.4l2.5 2.9-2.5-2.9z"/>
+    <path fill="#420000" d="M230.3 309.4l.4.5-.4-.5z"/>
+    <path fill="#842118" d="M236.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M237.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#524242" d="M237.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M238.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M238.8 309.4l.5.5-.5-.5m4 0l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M243.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M243.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M244.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#845a52" d="M255.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#bd2110" d="M256.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#631818" d="M256.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#7b5252" d="M257.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M257.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M258.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M259.3 309.4v.5h2l-2-.5z"/>
+    <path fill="#b51010" d="M261.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M261.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M262.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#392100" d="M262.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M263.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M263.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M264.7 309.6l.3.1-.3-.1z"/>
+    <path fill="#941808" d="M265.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#311000" d="M265.8 309.4l.5.5-.5-.5z"/>
+    <path fill="#292100" d="M266.3 309.4l.5.5-.5-.5z"/>
+    <path fill="#4a1000" d="M266.9 309.4l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M267.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M267.9 309.4l.5.5-.5-.5z"/>
+    <path fill="#de2110" d="M268.4 309.4v.5h2l-2-.5z"/>
+    <path fill="#b51010" d="M270.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#5a1010" d="M270.9 309.4l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M271.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M271.9 309.4l.5.5-.5-.5z"/>
+    <path fill="#6b2131" d="M272.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M272.9 309.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M273.9 309.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M285.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#631818" d="M285.9 309.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M286.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M290.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M291 309.4l.4.5-.5-.5z"/>
+    <path fill="#733939" d="M291.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M292 309.4l.4.5-.5-.5z"/>
+    <path fill="#631818" d="M292.4 309.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M307.4 309.4l.6.5-.6-.5z"/>
+    <path fill="#ada5a5" d="M308 309.4l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M221.2 309.9l2 1.9-2-1.9z"/>
+    <path fill="#941808" d="M230.3 309.9l.4.5-.4-.5z"/>
+    <path fill="#5a1008" d="M230.8 309.9l1 1-1-1z"/>
+    <path fill="#ce2110" d="M234.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M235.4 310.2l.2.3-.2-.3z"/>
+    <path fill="#631808" d="M236.1 310l.3.2-.3-.1z"/>
+    <path fill="#7b1008" d="M236.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#392121" d="M237.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M238.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M238.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M239.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#6b2131" d="M239.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M240.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#9c4239" d="M240.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#ad524a" d="M241.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M241.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M242.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M242.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M243.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M255.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#6b2131" d="M255.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M256.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M256.8 309.9l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M258.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M259.3 309.9v.5h2l-2-.5z"/>
+    <path fill="#296300" d="M261.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M261.8 309.9l-.5 1.9.5-1.9z"/>
+    <path fill="#319400" d="M262.7 310l.3.2-.3-.1z"/>
+    <path fill="#214210" d="M263.3 309.9l-.5 1 .5-1z"/>
+    <path fill="#9c9494" d="M263.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M264.7 310l.3.2-.3-.1z"/>
+    <path fill="#efefef" d="M265.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M265.8 309.9l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M266.3 309.9l.5.5-.5-.5z"/>
+    <path fill="#428c00" d="M266.9 309.9c1.8 2.1 5 4.8 7.5 2.4l-7.5-2.4z"/>
+    <path fill="#397b00" d="M267.9 309.9l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M268.4 309.9v.5h2l-2-.5z"/>
+    <path fill="#103900" d="M270.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M270.9 309.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M272.9 309.9l.5.5-.5-.5z"/>
+    <path fill="#524242" d="M273.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#5a1010" d="M273.9 309.9l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M286.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M286.9 309.9l.5.5-.5-.5z"/>
+    <path fill="#734a42" d="M287.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#ad524a" d="M288.2 310l.4.2-.4-.1z"/>
+    <path fill="#631808" d="M288.9 309.9l.5.5-.5-.5z"/>
+    <path fill="#733129" d="M289.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#736b6b" d="M290 309.9l.4.5-.5-.5z"/>
+    <path fill="#9c9494" d="M290.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M291 309.9l.4.5-.5-.5z"/>
+    <path fill="#52525a" d="M292 309.9l.4.5-.5-.5z"/>
+    <path fill="#5a1008" d="M292.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M293.3 310l.3.2-.4-.1z"/>
+    <path fill="#ad1810" d="M294 310.2l.2.3-.1-.3z"/>
+    <path fill="#ce2110" d="M294.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M298.4 309.9l.5.5-.5-.5z"/>
+    <path fill="#631818" d="M307.4 309.9l.6.5-.6-.5z"/>
+    <path fill="#63636b" d="M308 309.9l-.5 1 .5-1z"/>
+    <path fill="#efefef" d="M308.5 309.9l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M220.7 310.4l2 1.9-2-2z"/>
+    <path fill="#cecece" d="M221.2 310.4l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M230.8 310.4l.4.5-.4-.5z"/>
+    <path fill="#631808" d="M232 310.5l.4.2-.3-.2z"/>
+    <path fill="#941808" d="M232.8 310.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M233.3 310.4l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M233.8 310.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M234.6 310.5l.3.2-.3-.2z"/>
+    <path fill="#5a1008" d="M237.3 310.4l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M237.8 310.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M255.3 310.4l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M257.8 310.4l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M258.3 310.4l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M258.8 310.4l.5.5-.5-.5z"/>
+    <path fill="#319400" d="M255.8 312.3c2.4 2.2 4.9.1 6.5-2l-6.5 2z"/>
+    <path fill="#cecece" d="M263.3 310.4l-.5 1 .5-1z"/>
+    <path fill="#8c8c8c" d="M266.3 310.4l.5.5-.5-.5z"/>
+    <path fill="#294200" d="M266.9 310.4l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M270.9 310.4l.5.5-.5-.5z"/>
+    <path fill="#52525a" d="M271.4 310.4l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M271.9 310.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M273.9 310.4l.5.5-.5-.5z"/>
+    <path fill="#420000" d="M292 310.4l.4.5-.5-.5z"/>
+    <path fill="#7b1008" d="M294.4 310.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M295 310.4l.4.5-.5-.5z"/>
+    <path fill="#7b1008" d="M295.4 310.4l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M296 310.4l.4.5-.5-.5z"/>
+    <path fill="#941808" d="M296.4 310.4l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M297 310.4v.5h1.4l-1.5-.5z"/>
+    <path fill="#ad1810" d="M298.4 310.4l.5.5-.5-.5z"/>
+    <path fill="#520808" d="M307 310.4l.4.5-.4-.5z"/>
+    <path fill="#cecece" d="M308 310.4l-1 1.4 1-1.4z"/>
+    <path fill="#8c8c8c" d="M308.5 310.4l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M220.2 310.9l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M221.7 310.9l.5.4-.5-.4z"/>
+    <path fill="#7b1008" d="M237.3 310.9l.5.4-.5-.4z"/>
+    <path fill="#dedede" d="M237.8 310.9l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M257.3 310.9l.5.4-.5-.4z"/>
+    <path fill="#184a00" d="M257.8 310.9l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M262.3 310.9l-.5.9.5-1z"/>
+    <path fill="#bdbdbd" d="M266.9 310.9l.5.4-.5-.4z"/>
+    <path fill="#213918" d="M267.4 310.9l.5.4-.5-.4m4.5 0l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M272.4 310.9l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M292 310.9l.4.4-.5-.4z"/>
+    <path fill="#631808" d="M306.4 310.9l.6.4-.6-.4z"/>
+    <path fill="#424242" d="M307 310.9l.4.4-.4-.4z"/>
+    <path fill="#7b7373" d="M308 310.9l-1 1.4 1-1.4z"/>
+    <path fill="#9c9494" d="M308.5 310.9l-.5.9.5-1z"/>
+    <path fill="#cecece" d="M220.7 311.3l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M236.8 311.3l-.5 1 .5-1z"/>
+    <path fill="#63636b" d="M237.3 311.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M256.3 311.3l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M256.8 311.3l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M257.3 311.3l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M262.3 311.3l.5.5-.5-.5m5 0l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M267.9 311.3l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M268.4 311.3l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M272.4 311.3l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M272.9 311.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M273.4 311.3l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M292 311.3l.4.5-.5-.5z"/>
+    <path fill="#ad1810" d="M292.4 311.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M306 311.3l-1 1.5 1-1.5z"/>
+    <path fill="#424242" d="M306.4 311.3l-1 1.5 1-1.5z"/>
+    <path fill="#7b7373" d="M309 311.3l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M220.2 311.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M221.2 311.8l1 1-1-1z"/>
+    <path fill="#7b7373" d="M221.7 311.8l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M222.7 311.8l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M223.2 311.8l1 1-1-1z"/>
+    <path fill="#5a3131" d="M236.8 311.8l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M255.3 311.8l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M255.8 311.8l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M256.3 311.8l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M260.8 311.8l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M261.3 311.8l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M268.4 311.8l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M268.9 311.8l.5.5-.5-.5m4.5 0l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M273.9 311.8l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M274.4 311.8l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M292.4 311.8l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M293 311.8l.4.5-.5-.5z"/>
+    <path fill="#dedede" d="M306.4 311.8l.6.5-.6-.5z"/>
+    <path fill="#a59494" d="M307.4 311.8l.6.5-.6-.5z"/>
+    <path fill="#63636b" d="M308.5 311.8l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M309 311.8l-.5 1.4.5-1.4z"/>
+    <path fill="#bdbdbd" d="M220.7 312.3l.5.5-.5-.5z"/>
+    <path fill="#7b7373" d="M222.2 312.3l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M222.7 312.3l3.5 2.8-3.5-2.8z"/>
+    <path fill="#9c9494" d="M223.2 312.3l.5.5-.5-.5z"/>
+    <path fill="#7b1008" d="M224.2 312.3l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M228.7 312.3l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M229.3 312.3l.4.5-.4-.5z"/>
+    <path fill="#8c3939" d="M229.8 312.3l.4.5-.4-.5z"/>
+    <path fill="#843129" d="M233.3 312.3l.5.5-.5-.5z"/>
+    <path fill="#6b5252" d="M235.8 312.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M236.3 312.3l.5.5-.5-.5m18.5 0l.5.5-.5-.5z"/>
+    <path fill="#184a00" d="M255.3 312.3l.5.5-.5-.5z"/>
+    <path fill="#297b00" d="M259.8 312.3l.5.5-.5-.5z"/>
+    <path fill="#294221" d="M260.3 312.3l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M260.8 312.3l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M268.9 312.3l.5.5-.5-.5z"/>
+    <path fill="#213918" d="M269.4 312.3l.5.5-.5-.5z"/>
+    <path fill="#103900" d="M274.4 312.3l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M274.9 312.3l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M293 312.3l.4.5-.5-.5z"/>
+    <path fill="#736b6b" d="M293.4 312.3l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M294 312.3l.4.5-.5-.5z"/>
+    <path fill="#842118" d="M296 312.3l.4.5-.5-.5z"/>
+    <path fill="#8c4a4a" d="M296.4 312.3l.5.5-.5-.5zm3 0l.5.5-.5-.5z"/>
+    <path fill="#631808" d="M300 312.3l.4.5-.5-.5z"/>
+    <path fill="#941808" d="M300.4 312.3l.5.5-.5-.5z"/>
+    <path fill="#ce2110" d="M301 312.3l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M306 312.3l-1.6 1.9 1.6-2z"/>
+    <path fill="#8c8c8c" d="M306.4 312.3l-2.4 3.3 2.4-3.3z"/>
+    <path fill="#ada5a5" d="M307.3 312.4l.3.2-.3-.2z"/>
+    <path fill="#dedede" d="M220.7 312.8l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M221.2 312.8l1 1.4-1-1.4z"/>
+    <path fill="#efefef" d="M222.2 312.8l.5.4-.5-.4z"/>
+    <path fill="#9c9494" d="M223.7 312.8l.5.4-.5-.4z"/>
+    <path fill="#52525a" d="M224.2 312.8l.5.4-.5-.4z"/>
+    <path fill="#941808" d="M224.7 312.8l.5.4-.5-.4z"/>
+    <path fill="#bd2110" d="M227.2 312.8l.5.4-.5-.4z"/>
+    <path fill="#5a1008" d="M227.7 312.8l.5.4-.5-.4z"/>
+    <path fill="#736b6b" d="M228.2 312.8l.5.4-.5-.4z"/>
+    <path fill="#bdbdbd" d="M228.7 312.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M254.8 312.8l.5.4-.5-.4z"/>
+    <path fill="#314231" d="M255.3 312.8l.5.4-.5-.4z"/>
+    <path fill="#297b00" d="M255.8 312.8l1 1-1-1z"/>
+    <path fill="#185200" d="M259.3 312.8l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M259.8 312.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M260.3 312.8l.5.4-.5-.4m9 0l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M269.9 312.8l.5.4-.5-.4z"/>
+    <path fill="#294200" d="M270.4 312.8l.5.4-.5-.4z"/>
+    <path fill="#397b00" d="M273.9 312.8l-.5 1 .5-1z"/>
+    <path fill="#52525a" d="M274.4 312.8l.5.4-.5-.4z"/>
+    <path fill="#efefef" d="M274.9 312.8l.5.4-.5-.4z"/>
+    <path fill="#cecece" d="M300.4 312.8l.5.4-.5-.4z"/>
+    <path fill="#7b7373" d="M301 312.8l.4.4-.5-.4z"/>
+    <path fill="#631818" d="M301.4 312.8l.5.4-.5-.4z"/>
+    <path fill="#b51010" d="M302 312.8l.4.4-.5-.4m2.5 0l-.5 1 .5-1z"/>
+    <path fill="#292921" d="M305 312.8l.4.4-.4-.4z"/>
+    <path fill="#cecece" d="M307 312.8l.4.4-.4-.4m1 0l-1.6 1.9 1.6-2z"/>
+    <path fill="#bdbdbd" d="M221.7 313.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M222.7 313.2l.5.5-.5-.5z"/>
+    <path fill="#424242" d="M224.7 313.2l.5.5-.5-.5z"/>
+    <path fill="#ad1810" d="M225.2 313.2l.5.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M227.2 313.2l.5.5-.5-.5z"/>
+    <path fill="#efefef" d="M227.7 313.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M255.8 313.2l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M258.3 313.2l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M258.8 313.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M259.3 313.2l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M270.4 313.2l.5.5-.5-.5z"/>
+    <path fill="#425242" d="M270.9 313.2l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M271.4 313.2l.5.5-.5-.5z"/>
+    <path fill="#63636b" d="M273.9 313.2l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M302 313.2l.4.5-.5-.5z"/>
+    <path fill="#941808" d="M302.4 313.2l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M304.4 313.2l.6.5-.6-.5z"/>
+    <path fill="#cecece" d="M306.4 313.2l.6.5-.6-.5z"/>
+    <path fill="#ada5a5" d="M308 313.2l-1 1.5 1-1.5z"/>
+    <path fill="#cecece" d="M223.2 313.7l2 2-2-2z"/>
+    <path fill="#7b7373" d="M223.7 313.7l.5.5-.5-.5z"/>
+    <path fill="#292921" d="M225.2 313.7l.5.5-.5-.5z"/>
+    <path fill="#b51010" d="M225.7 313.7l.5.5-.5-.5z"/>
+    <path fill="#941808" d="M226.2 313.7l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M226.7 313.7l.5.5-.5-.5m29.6 0l.5.5-.5-.5z"/>
+    <path fill="#185200" d="M256.8 313.7l.5.5-.5-.5z"/>
+    <path fill="#296300" d="M257.3 313.7l.5.5-.5-.5z"/>
+    <path fill="#395231" d="M257.8 313.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M258.3 313.7l.5.5-.5-.5m13 0l.6.5-.5-.5z"/>
+    <path fill="#5a5231" d="M271.9 313.7l.5.5-.5-.5z"/>
+    <path fill="#397b00" d="M272.4 313.7l.5.5-.5-.5z"/>
+    <path fill="#295200" d="M272.9 313.7l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M273.4 313.7l.5.5-.5-.5m29 0l.5.5-.5-.5z"/>
+    <path fill="#5a1008" d="M303 313.7l.4.5-.5-.5z"/>
+    <path fill="#ce2110" d="M303.4 313.7l.5.5-.5-.5z"/>
+    <path fill="#391810" d="M304 313.7l.4.5-.5-.5z"/>
+    <path fill="#cecece" d="M306 313.7l.4.5-.4-.5z"/>
+    <path fill="#7b7373" d="M224.2 314.2l.5.5-.5-.5z"/>
+    <path fill="#313931" d="M225.7 314.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M226.2 314.2l.5.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M256.8 314.2l.5.5-.5-.5z"/>
+    <path fill="#9c9494" d="M257.3 314.2l.5.5-.5-.5m15 0l.6.5-.5-.5z"/>
+    <path fill="#ada5a5" d="M272.9 314.2l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M303 314.2l1 1-1-1z"/>
+    <path fill="#292921" d="M303.4 314.2l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M304 314.2l.4.5-.5-.5m1.5 0l.5.5-.5-.5z"/>
+    <path fill="#8c8c8c" d="M222.7 314.7l.5.5-.5-.5z"/>
+    <path fill="#cecece" d="M223.2 314.7l2 1.9-2-2z"/>
+    <path fill="#7b7373" d="M224.7 314.7l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M305 314.7l.4.5-.4-.5z"/>
+    <path fill="#dedede" d="M306 314.7l-.6 1 .6-1z"/>
+    <path fill="#7b7373" d="M306.4 314.7l-.4 1 .4-1m-83.2.5l.5.4-.5-.4z"/>
+    <path fill="#8c8c8c" d="M225.2 315.1l.5.5-.5-.5z"/>
+    <path fill="#bdbdbd" d="M304.4 315.1l.6.5-.6-.5z"/>
+    <path fill="#8c8c8c" d="M223.7 315.6l1 1-1-1z"/>
+    <path fill="#efefef" d="M225.2 315.6l.5.5-.5-.5z"/>
+    <path fill="#dedede" d="M305 315.6l.4.5-.4-.5m-81.3.5l1 1-1-1z"/>
+    <path fill="#efefef" d="M304.4 316.1l.6.5-.6-.5z"/>
+    <path fill="#dedede" d="M305.4 316.1l-.4 1 .4-1z"/>
+    <path fill="#ecca5e" d="M248.2 228.2l.8-.2.3.3h.5a.8.8 0 00.4 0 .2.2 0 00.1-.3.2.2 0 000-.1.7.7 0 00-.4-.1 4.7 4.7 0 01-1.3-.2.8.8 0 01-.4-.7.8.8 0 01.2-.6c.2-.2.5-.4 1-.4h1l.4.6-.7.2a.5.5 0 00-.2-.2.7.7 0 00-.4 0 1 1 0 00-.5 0 .2.2 0 000 .2v.2l.8.1 1 .2c.2.2.3.3.3.6a.9.9 0 01-.3.7c-.2.3-.5.4-1 .4a2 2 0 01-1 0 1.2 1.2 0 01-.6-.7zm-3.6-.2l.1-.8.5-.6c.2-.2.5-.3.8-.3.5 0 .9 0 1.2.3.3.2.5.6.6 1 0 .5 0 .9-.3 1.2a2 2 0 01-1.1.6 1.9 1.9 0 01-.8-.1 1.3 1.3 0 01-.7-.5c-.2-.2-.3-.5-.3-.8zm.8-.1c0 .3.2.5.3.7.2 0 .4.2.6.1a.7.7 0 00.5-.3c.1-.2.2-.4.1-.7a1 1 0 00-.3-.6.7.7 0 00-.5-.2.7.7 0 00-.5.3c-.2.2-.2.4-.2.7zm-2.5-1.6l-.1-.7.8-.1.1.7-.8.1zm.4 3.3l-.4-2.9.9-.1.3 3h-.8zm-4.8-3.5l1.6-.2h.8c.2 0 .5.1.7.3l.5.6.2 1v.8c0 .3-.2.6-.4.8l-.5.4-.8.2-1.6.2-.5-4.1zm1 .6l.3 2.7.6-.1.5-.1a.8.8 0 00.4-.2.8.8 0 00.1-.4v-.8l-.1-.7a1 1 0 00-.3-.4.9.9 0 00-.5-.1h-1.1z"/>
+    <path fill="#ecca5e" fill-rule="evenodd" d="M250 239.5l12.2 15.3-.6.7-12.2-15.3zm31.4-1.1l-13.6 18-1-.4 13.5-18zm-34.5 4.1l14.4 13.4-.5.8-14.4-13.4zm-3.4 3.1l15.9 11.9-.4.8-15.9-11.9zm40-2.3l-14.3 13.5-.8-.4 14.2-13.5zm3 2.5l-16 11.7-.6-.6 16-11.6z"/>
+    <path fill="#7b5a00" fill-opacity=".6" d="M277 244l3.3-4.2-.4-.3-2.9 4.5z"/>
+    <path fill="#7b5a00" fill-opacity=".5" d="M269.5 253.9l3.3-4.2-.4-.3-2.9 4.5z"/>
+    <path fill="#7b5a00" fill-opacity=".7" d="M273.3 249.1l3.2-4.2-.3-.3-3 4.5z"/>
+    <path fill="#7b5a00" fill-opacity=".5" d="M281 249.6l4.6-2.8-.3-.4-4.3 3.2z"/>
+    <path fill="#7b5a00" fill-opacity=".4" d="M275 251.3l4-3.5-.3-.3-3.8 3.8z"/>
+    <path fill="#428c00" d="M236 286h-.6c0-2.7-1.1-4.5-4-5.2 0 1.4 1.1 7.1 3.5 5.2h.5l-1 4.3c1.5-1.6 7.7-7.1 5-9.6-2.3-2-3.4 4.3-3.5 5.3zm-4-34h-.5c-.1-2.7-1.2-4.5-4-5.3 0 1.5 1.1 7.2 3.5 5.3h.5l-1 4.3c1.5-1.6 7.7-7.2 5-9.6-2.3-2.1-3.5 4.2-3.5 5.3z"/>
+    <path fill="#ecca5e" d="M297.1 230.6h-.7v-.5a1.3 1.3 0 01-.5.3 1.2 1.2 0 01-1.4-.5c-.2-.2-.3-.6-.2-1.1 0-.5.2-.9.5-1.1.3-.3.6-.4 1-.3.3 0 .6.2.8.5l.2-1.5.8.1-.5 4zm-2-1.8v.7a.6.6 0 00.6.4.6.6 0 00.5-.2c.2-.1.2-.4.3-.7l-.1-.7a.6.6 0 00-.5-.3.6.6 0 00-.5.2 1 1 0 00-.3.6zm-3.3-.9l-.7-.2c.1-.3.3-.4.5-.6s.5-.1 1 0l.7.1.4.4v.7l-.1 1a3 3 0 000 .5v.4h-.7a2.4 2.4 0 01-.1-.3v-.1a1.4 1.4 0 01-1 .3 1 1 0 01-.7-.4.8.8 0 01-.3-.6.8.8 0 01.6-.7l.7-.1.8-.1v-.4l-.5-.2a.6.6 0 00-.3 0 .6.6 0 00-.3.3zm1 .8h-.5a2 2 0 00-.4.1l-.2.3v.3l.4.1a.7.7 0 00.4 0 .5.5 0 00.3-.3v-.5zm-2-1.8l-.1.6h-.6l-.1 1.2v.4l.1.1a1 1 0 00.4 0v.6h-.7a1 1 0 01-.4 0 .6.6 0 01-.2-.3.7.7 0 01-.1-.3 3.5 3.5 0 010-.5l.2-1.3h-.4l.1-.7h.4v-.5l1-.4-.2 1 .6.1zm-3.4 2.6h-.8l.4-3h.7v.5l.4-.4a.7.7 0 01.3 0c.2 0 .4 0 .6.2l-.4.6a.7.7 0 00-.3-.1.5.5 0 00-.3 0l-.3.3-.2 1v1zm-2.2-1.2l.8.2a1 1 0 01-.5.6c-.3.2-.6.2-1 .2-.5 0-.8-.3-1-.7a1.6 1.6 0 01-.2-1c0-.5.2-.9.5-1.1.3-.3.7-.4 1-.3.5 0 .9.2 1.1.5.3.4.3.8.2 1.4l-2-.2.1.5c.1.2.3.3.5.3a.5.5 0 00.3 0 .6.6 0 00.2-.4zm.2-.8l-.1-.5a.6.6 0 00-.4-.2.6.6 0 00-.5.1.7.7 0 00-.3.5l1.3.1zm-5.8 1.2l.5-4.1h.9l-.2 1.5c.3-.2.6-.3 1-.3.3 0 .6.2.8.5.2.3.3.7.2 1.2 0 .5-.2.9-.5 1.1a1.2 1.2 0 01-1.5.1 1.3 1.3 0 01-.4-.4v.4h-.8zm1-1.5l.1.7a.7.7 0 00.5.4.6.6 0 00.5-.2c.2-.1.3-.4.3-.7l-.1-.7a.6.6 0 00-.5-.3.6.6 0 00-.5.2l-.3.6zm-2.2-2l.1-.8.8.1v.7h-.9zm-.4 3.3l.4-3 .8.1-.4 3-.8-.1zm-3.6-.4l.5-4h.8l-.4 3.4 2.2.2-.1.7-3-.3z"/>
+    <path fill="#428c00" d="M227 261.4h-.5c-.1-2.7-1.2-4.5-4-5.3 0 1.5 1 7.2 3.5 5.3h.5l-1 4.3c1.5-1.6 7.7-7.2 5-9.6-2.3-2.1-3.5 4.2-3.5 5.3z"/>
+    <path fill="#fac349" fill-rule="evenodd" d="M244.7 246.2c0 .4-.4.7-1 .7s-.9-.3-.9-.7c0-.3.5-.6 1-.6s.9.3.9.6zm3.1-3.3c0 .4-.4.7-.9.7s-1-.3-1-.7c0-.4.5-.6 1-.6s1 .3 1 .6zm3-3c0 .3-.5.6-1 .6s-1-.3-1-.7c0-.3.5-.6 1-.6s1 .3 1 .6zm30.8-1.3c0 .4-.4.7-1 .7s-.8-.3-.8-.7c0-.4.4-.7.9-.7s1 .3 1 .7zm2.2 4.3c0 .4-.4.7-.9.7s-1-.3-1-.7c0-.4.5-.6 1-.6s1 .3 1 .6zm3.3 2.8c0 .3-.4.6-1 .6s-.9-.3-.9-.6c0-.4.4-.7 1-.7s.9.3.9.7z"/>
+    <path fill="#ecca5e" d="M270.8 222.4l-.7-.2c0-.2.2-.5.4-.6l1-.2.8.1.3.4.1.7v.9a1.8 1.8 0 00.2 1h-.8a3.2 3.2 0 01-.1-.3l-.5.2-.5.1a1.1 1.1 0 01-.8-.3.8.8 0 01-.2-.6.8.8 0 01.5-.7l.6-.2.8-.2v-.4l-.5-.1a.6.6 0 00-.4 0 .6.6 0 00-.2.4zm1.1.6a5.7 5.7 0 01-.5.1l-.4.2-.2.2.1.3.4.2.4-.2a.5.5 0 00.2-.2v-.6zm-3.4-2v-.7h.9v.8h-.8zm0 3.4v-3h.9v3h-.9zm-1.5 0h-.9v-3h.8v.5l.4-.4a.7.7 0 01.4-.1l.5.1-.3.7a.8.8 0 00-.4-.1.5.5 0 00-.3 0l-.1.4a4.5 4.5 0 00-.1 1v.9zm-1.4-3v.6h-.5v1.7a.3.3 0 00.2.1h.3v.5l-.6.2a1 1 0 01-.4-.1.6.6 0 01-.3-.2.7.7 0 010-.3 3.4 3.4 0 010-.6V222h-.4v-.6h.3v-.6l.9-.4v1h.5zm-4.1.9l-.8-.1c.1-.3.2-.5.5-.7l.9-.2c.3 0 .6 0 .8.2.2 0 .3.2.4.3v1.6a1.8 1.8 0 00.2 1h-.8a3.2 3.2 0 010-.3 1.3 1.3 0 01-1 .3 1.1 1.1 0 01-.8-.2.8.8 0 01-.3-.7.8.8 0 01.1-.4.8.8 0 01.4-.3l.7-.2.8-.2-.1-.4h-.5a.6.6 0 00-.3 0 .6.6 0 00-.2.3zm1 .6a5.8 5.8 0 01-.4.2h-.5l-.2.4s0 .2.2.2l.3.2c.1 0 .3 0 .4-.2a.5.5 0 00.2-.2v-.6zm-5.7 1.4v-4h2.5c.2 0 .4.2.6.4.2.2.3.5.2.8l-.1.6a1.1 1.1 0 01-.4.4 1.3 1.3 0 01-.4.2 5 5 0 01-1 0h-.5v1.6h-.9zm1-3.4v1.2h1.1a.6.6 0 00.3-.6.5.5 0 000-.4.6.6 0 00-.4-.1 4.4 4.4 0 00-.7 0h-.4zm1.6 78.9h-.5a.8.8 0 01.2-.6l.7-.2h.6c.1 0 .3 0 .3.2l.2.5v.7l.2.4.1.3h-.6a2.7 2.7 0 010-.2 1 1 0 01-.8.4.8.8 0 01-.6 0 .6.6 0 01-.2-.5.6.6 0 01.2-.6l.5-.2.6-.3-.2-.2h-.3a.5.5 0 00-.2 0 .4.4 0 00-.2.3zm1 .3a3.9 3.9 0 01-.4.2 1 1 0 00-.3.1l-.1.2a.3.3 0 00.1.2h.3a.6.6 0 00.3 0 .4.4 0 000-.3v-.3zm-1.9-.2l-.6.2a.4.4 0 00-.1-.3.4.4 0 00-.3 0 .5.5 0 00-.4.2v.5c0 .3 0 .4.2.5 0 .2.2.2.4.2a.4.4 0 00.3-.2v-.3h.7a1 1 0 01-.3.6c-.1.2-.4.3-.7.3a1 1 0 01-.8-.2 1.2 1.2 0 01-.5-.8c0-.3 0-.6.2-.9l.8-.4.7.1.4.5zm-3.4-.5v-.5l.5-.1.1.5-.6.1zm.4 2.5l-.3-2.2h.6l.3 2.1-.6.1zm-1.2.2l-.5-3 .6-.1.5 3h-.6zm-2.8.4l-.5-3 .6-.2.2 1.2a.9.9 0 01.6-.4 1 1 0 01.8.1l.4.8-.1 1a.9.9 0 01-.7.3.9.9 0 01-.4 0 1 1 0 01-.4-.2v.3h-.5zm.4-1.3c0 .3.1.4.2.5.2.2.3.2.5.2a.4.4 0 00.3-.2v-.5c0-.3 0-.5-.2-.6a.5.5 0 00-.4 0 .5.5 0 00-.3.1v.5zm-1.6 1.5v-.4a.8.8 0 01-.3.4 1 1 0 01-.4.1.9.9 0 01-.4 0 .6.6 0 01-.4-.3 1.2 1.2 0 01-.1-.4l-.2-1.4.6-.1.1 1 .2.6a.3.3 0 00.1.1.5.5 0 00.5 0 .4.4 0 00.1-.3v-.6l-.1-1h.6l.3 2.2h-.6zm-4.6-1.6l.6-.1v.3a.9.9 0 01.7-.5c.3 0 .5 0 .7.2.3.2.4.5.5.8 0 .4 0 .7-.2 1a.9.9 0 01-.6.3.8.8 0 01-.4 0 1.3 1.3 0 01-.4-.2l.2 1.1-.6.1-.5-3zm.8 1l.2.5a.5.5 0 00.4 0 .5.5 0 00.4-.1v-.6c0-.2 0-.4-.2-.5a.5.5 0 00-.4 0 .5.5 0 00-.3.1l-.1.5zm-1.7.6h.7a1 1 0 01-.3.6 1 1 0 01-.6.2c-.4.1-.8 0-1-.2a1 1 0 01-.3-.7c-.1-.4 0-.7.1-1a1 1 0 01.7-.3c.4-.1.7 0 .9.2.2.1.4.5.4.9l-1.5.2.2.4a.5.5 0 00.4.1.4.4 0 00.2-.1.5.5 0 00.1-.3zm0-.6l-.2-.3a.4.4 0 00-.4-.1.4.4 0 00-.3.2.5.5 0 000 .4l.9-.2zm-4.4 2l-.5-3 1.4-.3h.7c.2 0 .3.1.4.3.2 0 .2.2.3.4a.8.8 0 01-.2.6 1 1 0 01-.5.4l.3.2.5.4.5.6h-.8l-.6-.5a4.4 4.4 0 00-.4-.4.5.5 0 00-.2-.1 1.2 1.2 0 00-.3 0h-.2l.2 1.3h-.6zm.4-1.9h.4l.6-.1.2-.2v-.2a.4.4 0 00-.1-.3.4.4 0 00-.3 0h-1l.2.8zm47.7.4l-.5-.2a.8.8 0 01.4-.4l.7-.1.6.2.2.2v1.3l-.1.4v.3h-.5a3 3 0 010-.3l-.5.1a1 1 0 01-.3 0 .8.8 0 01-.6-.2.6.6 0 01-.1-.5.6.6 0 01.4-.5h.5a3.7 3.7 0 00.6-.1v-.3l-.3-.2a.5.5 0 00-.3 0 .4.4 0 00-.2.3zm.8.5h-.4a1 1 0 00-.3.1l-.2.2v.3h.6a.4.4 0 00.2-.2v-.4zm-2 .8h-.7l.2-1.2v-.4a.3.3 0 000-.2.3.3 0 00-.3-.1.5.5 0 00-.3 0 .5.5 0 00-.2.3l-.1.4-.2 1h-.6l.4-2.2h.5v.4a1 1 0 01.8-.3 1 1 0 01.4.1l.2.2a.6.6 0 010 .3v.4l-.2 1.3zm-4-2l-.5-.2c0-.2.2-.4.4-.4l.7-.1.6.2.2.3v1.2a1.3 1.3 0 000 .7h-.6v-.3l-.5.1a1 1 0 01-.4 0 .8.8 0 01-.5-.2.6.6 0 01-.1-.5.6.6 0 01.4-.5h.5l.6-.1v-.4h-.3a.5.5 0 00-.3 0 .4.4 0 00-.2.2zm.8.6h-.4a1 1 0 00-.4 0l-.1.2v.3h.3a.6.6 0 00.3 0c.1 0 .2 0 .2-.2v-.3zm-1.7-.8h-.6a.4.4 0 00-.1-.2.4.4 0 00-.3-.2.5.5 0 00-.4.1l-.2.5v.6l.4.2a.4.4 0 00.3 0l.2-.3.6.1a1 1 0 01-.4.6c-.2 0-.5.1-.8 0-.3 0-.6-.1-.7-.3a1.1 1.1 0 01-.2-1c0-.3.2-.5.4-.7.2-.2.5-.3.9-.2.3 0 .5.1.6.3.2 0 .3.3.3.5zm-3.1-1.4v-.5h.7l-.1.6h-.6zm-.4 2.5l.3-2.2.7.1-.4 2.2h-.6zm-.6 0l-.6-.1.2-1.1v-.5a.3.3 0 00-.1-.2.4.4 0 00-.2 0 .5.5 0 00-.3 0 .4.4 0 00-.2.2l-.2.5-.1 1-.6-.1.3-2.2h.6v.4a1 1 0 01.8-.3 1 1 0 01.3.1l.2.2a.6.6 0 01.1.3v.4l-.2 1.4zm-3-3v-.5h.7v.6h-.7zm-.4 2.5l.4-2.2h.6l-.3 2.3h-.7zm-3.6-2.7h.5v.3c.2-.2.5-.2.8-.2a.8.8 0 01.3.1l.3.3.3-.2a.9.9 0 01.4 0l.4.1a.6.6 0 01.2.3v.5l-.2 1.4h-.6l.2-1.3v-.4l-.2-.2a.4.4 0 00-.5.2l-.1.5-.2 1h-.6l.2-1.2v-.5a.3.3 0 000-.1.3.3 0 00-.2 0 .5.5 0 00-.3 0 .4.4 0 00-.2.1l-.1.5-.2 1h-.6l.4-2.2zm-3 .7c0-.2 0-.4.2-.6a1 1 0 01.5-.3l.6-.1c.4 0 .7.2.8.4l.3.9a1.1 1.1 0 01-.5.8 1.2 1.2 0 01-1 .2l-.5-.2a1 1 0 01-.4-.5 1.3 1.3 0 010-.6zm.6 0v.6l.5.2a.6.6 0 00.4 0l.2-.6v-.5a.5.5 0 00-.4-.2.6.6 0 00-.5 0l-.2.6zm-3.4-2.4l1.2.2.6.1.4.4.2.5a2.2 2.2 0 01-.2 1.4c0 .2-.2.4-.4.5a1 1 0 01-.5.2 2.1 2.1 0 01-.6 0l-1.2-.2.5-3zm.5.6l-.3 2 .5.1h.4a.6.6 0 00.3 0 .6.6 0 00.2-.3l.1-.6v-.5a.7.7 0 000-.3.6.6 0 00-.3-.2 3.4 3.4 0 00-.6-.1h-.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dz.svg
new file mode 100644
index 0000000..37df0c8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/dz.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dz" viewBox="0 0 512 512">
+  <path fill="#fff" d="M256 0h256v512H256z"/>
+  <path fill="#006233" d="M0 0h256v512H0z"/>
+  <path fill="#d21034" d="M367 192a128 128 0 100 128 102.4 102.4 0 110-128m4.2 64L256 218.4l71.7 98.2V195.4L256 293.6z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ec.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ec.svg
new file mode 100644
index 0000000..65fd0ba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ec.svg
@@ -0,0 +1,138 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ec" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffe800" d="M0 0h512v512H0z"/>
+    <path fill="#00148e" d="M0 256h512v256H0z"/>
+    <path fill="#da0010" d="M0 384h512v128H0z"/>
+  </g>
+  <g fill-rule="evenodd">
+    <path d="M213.5 244.2l-54.7 57.7-1-1.2 54.7-57.8 1 1.3zm38 9.4L180 329l-1.2-1.2 71.5-75.4 1.3 1.2z"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(-.052 -.05 -.067 .068 210 348.9)"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(-.052 -.05 -.067 .068 191.6 319.4)"/>
+  </g>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185-158.6-116.2z" transform="matrix(.34 0 0 .486 64.7 -20.5)"/>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3-115.3-84.8z" transform="matrix(.34 0 0 .486 64.7 -20.5)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6-92.3-67.8z" transform="matrix(.34 0 0 .486 64.7 -20.5)"/>
+  <path fill-rule="evenodd" d="M165.7 112.2l54.6 57.7 1-1.2-54.7-57.7-1 1.2z"/>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124-159.4-159.5z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+  <g stroke="#000">
+    <path fill="none" stroke-width="2.3" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.29 -.02 -.038 .265 112 135.9)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.105 -.166 .22 .105 142.8 218.9)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.137 -.076 .067 .132 144 218.4)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.133 .09 -.096 .25 146.6 97.4)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.132 -.023 -.023 .245 145.4 144.9)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.048 .19 -.13 .146 182.1 59)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.156 -.14 .14 .178 123.4 206.6)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.164 -.17 .19 .153 112.3 237.6)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.194 .072 -.145 .24 108.7 136.1)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.114 .158 -.242 .167 144.8 102.7)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.06 .066 -.102 .123 199.2 102.1)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.08 .004 -.06 .13 189.7 127.6)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(-.007 .11 -.103 .062 227 85.9)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.05 .087 -.19 .115 176.6 111.9)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.098 .168 -.252 .15 166.3 77.6)"/>
+    <path fill="none" stroke-width="2.4" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.266 -.148 .107 .21 94.4 196.6)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.137 -.076 .067 .132 161.2 194.2)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.137 -.076 .067 .132 169.4 189.4)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.14 -.08 .05 .1 136 200.3)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.14 -.08 .05 .1 138.3 199.3)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.14 -.08 .05 .1 137 201.4)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.152 -.084 .074 .147 145 210.7)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.152 -.084 .074 .147 146.7 209)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.152 -.084 .074 .147 147.1 209.8)"/>
+  </g>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7-124-124z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1-88.6-88.6z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+  <path fill-rule="evenodd" d="M148.8 144l71.5 75.4 1.3-1.2-71.6-75.4-1.2 1.2z"/>
+  <path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M460.6 184.3l17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(.102 -.107 .08 .082 75.2 169.7)"/>
+  <path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M557.8 95.7l-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(.08 -.12 .105 .07 96 163.4)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.303 0 0 .234 43 77.3)"/>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.285 .07 -.114 .22 67.4 53.5)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.387 0 0 .38 -8.6 87.3)"/>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.365 .112 -.145 .36 22.6 48.5)"/>
+  <g fill-rule="evenodd">
+    <path d="M289.6 244.2l54.7 57.7 1-1.2-54.7-57.8-1 1.3zm-38 9.4L323 329l1.2-1.2-71.5-75.4-1.3 1.2z"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(.052 -.05 .067 .068 293 348.9)"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(.052 -.05 .067 .068 311.5 319.4)"/>
+  </g>
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffdf00" stroke="#000" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185-158.6-116.2z" transform="matrix(-.34 0 0 .486 438.5 -20.5)"/>
+    <path fill="#0000c4" stroke="#000" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3-115.3-84.8z" transform="matrix(-.34 0 0 .486 438.5 -20.5)"/>
+    <path fill="#e10000" stroke="#000" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6-92.3-67.8z" transform="matrix(-.34 0 0 .486 438.5 -20.5)"/>
+    <path d="M337.4 112.2L282.8 170l-1-1.2 54.7-57.7 1 1.2z"/>
+    <g fill="#005b00" stroke="#000">
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.124 -.056 .06 .266 243.6 183.9)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.148 -.04 .052 .294 230 162.4)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.175 .107 -.022 .3 233.8 77)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.186 .023 .012 .333 217.1 111.4)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.136 .126 -.028 .268 259 75.2)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.17 0 .026 .304 221.8 131.7)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.15 -.054 .05 .29 229 173.2)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.15 -.025 .038 .298 231 150.5)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.168 .115 -.038 .285 240.3 74.1)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.184 .04 -.004 .333 220.5 98.4)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.128 .128 -.043 .25 265.9 77.5)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.18 .01 .006 .31 218.7 121.3)"/>
+    </g>
+    <path fill="#ffdf00" stroke="#000" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124-159.4-159.5z" transform="matrix(-.44 0 0 .465 485.8 17)"/>
+    <path fill="#0000c4" stroke="#000" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7-124-124z" transform="matrix(-.44 0 0 .465 485.8 17)"/>
+    <path fill="#e10000" stroke="#000" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1-88.6-88.6z" transform="matrix(-.44 0 0 .465 485.8 17)"/>
+    <path d="M354.3 144l-71.5 75.4-1.3-1.2 71.6-75.4 1.2 1.2z"/>
+    <path fill="#cececc" stroke="#000" d="M460.6 184.3l17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(-.102 -.107 -.08 .082 428 169.7)"/>
+    <path fill="#cececc" stroke="#000" d="M557.8 95.7l-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(-.08 -.12 -.105 .07 407 163.4)"/>
+    <path fill="#e10000" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.303 0 0 .234 460 77.3)"/>
+    <path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.285 .07 .114 .22 435.7 53.5)"/>
+    <path fill="#e10000" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.387 0 0 .38 511.6 87.3)"/>
+    <path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.365 .112 .145 .36 480.5 48.5)"/>
+  </g>
+  <g fill-rule="evenodd" stroke="#000" stroke-width="1pt">
+    <path fill="#e10000" d="M478.4 698a53.3 53.3 0 0053.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+    <path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(.265 0 0 .524 103.2 -43.2)"/>
+    <path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3h-53.1z" transform="matrix(.265 0 0 .524 103.2 -43.2)"/>
+    <path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(.265 0 0 .35 95 63.1)"/>
+    <path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3h-53.1z" transform="matrix(.265 0 0 .35 95 63.1)"/>
+    <path fill="#e10000" d="M478.4 698a53.3 53.3 0 0053.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(-.44 0 0 .465 485.8 17)"/>
+    <path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(-.265 0 0 .524 399.9 -43.2)"/>
+    <path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3h-53.1z" transform="matrix(-.265 0 0 .524 399.9 -43.2)"/>
+    <path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(-.265 0 0 .35 408.2 63.1)"/>
+    <path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3h-53.1z" transform="matrix(-.265 0 0 .35 408.2 63.1)"/>
+  </g>
+  <g fill-rule="evenodd" stroke="#000">
+    <path fill="#908f8a" stroke-width="4.5" d="M198.6 78l-89.7 35.4 89.7 35.4 44.8-17.7 22.4 17.7 22.4 35.4 22.5-35.4 22.4-17.7H1535V95.7H333l-22.4-17.8c0-17.7 4.7-35.4 22.5-35.4h89.6c0-17.7-44.8-53.1-134.5-53.1-89.6 0-134.5 35.4-134.5 53.1h89.7c17.7 0 22.4 17.7 22.4 35.5l-22.4 17.7-44.9-17.8z" transform="matrix(.09 0 0 .17 174.4 269.5)"/>
+    <path fill="#b74d00" stroke-width="1.8" d="M204.3 95.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.7H541V78H204.4zm0-17.7H541v17.7H204.4zm0-17.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.6H541V7H204.4z" transform="matrix(.21 0 0 .207 173.1 277.2)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.19 0 0 .207 139.8 262.5)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.19 0 0 -.207 139.8 313.1)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.21 0 0 .207 130.5 262.5)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.19 0 0 .207 173.2 262.5)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.19 0 0 -.207 173.2 313.1)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.21 0 0 .207 190 262.5)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.21 0 0 .207 164 262.5)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.21 0 0 .207 156.5 262.5)"/>
+  </g>
+  <g fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt">
+    <path d="M655.5 396.9c0 88-55.6 159.4-124 159.4s-124-71.4-124-159.4 55.5-159.5 124-159.5 124 71.4 124 159.4zm-17.7 0c0 78.2-47.6 141.7-106.3 141.7-58.7 0-106.3-63.5-106.3-141.7 0-78.3 47.6-141.8 106.3-141.8 58.7 0 106.3 63.5 106.3 141.8z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+    <path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a82.8 82.8 0 0182.7 0l6.9-16.4z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+    <path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a82.8 82.8 0 0182.7 0l6.9-16.4z" transform="matrix(.44 0 0 -.465 17.4 386.4)"/>
+  </g>
+  <path fill="#a7cfff" fill-rule="evenodd" d="M298 201.5c0 36.4-21 65.9-46.8 65.9-25.9 0-46.8-29.5-46.8-65.9 0-36.4 21-65.9 46.8-65.9 25.8 0 46.7 29.5 46.7 65.9z"/>
+  <path fill="#afff7b" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c1.1 26.6-4.6 39.6-11.9 67.3-1.9 3-11-6.5-16.4-11.2s-7.8 4.2-14.6-3c-6.7-7.4-11 2-16-4.2s-51.3-7-51.3-7.6c4.6-2.2 28.2.2 24.4-11.1-4.3-11.8-31-.4-34.6-15.4-2.5-15-53.6-15.6-57.3-19.2 1.5 5.6 39.8 8 38.9 22.5-.9 6-37.7 7.7-41.3 12.7-3 6.3 29-1.7 30.1 6 0 3.2-4.7 0-21.3 5-8.4 2.5 15.4 10.3 6.4 14.6-9 4.3-28.3 6.2-27.5 8 3 9 44.7 19.6 40.6 21.1-14.8 6.6-22.6 10.9-29.7 14.7a167.9 167.9 0 01-31.1-100.2c31.7-11.4 25-13.8 83.6-13.8s78 2.3 129 13.8z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c-8 0-16.4 3.4-25 3.4-8.7 0-17.5-3.5-26.5-3.5s-19.3 4.6-28.5 4.6c-9.3 0-17.4-4.5-26.7-4.5s-18.6 3.4-27.8 3.4-18.3-3.5-27.2-3.5-17.7 3.5-26.2 3.5-16.8-3.5-24.7-3.5c0-19.5 3-38.1 8.4-55.1 27 2 11-15.7 27-15.7a33 33 0 0125.3 9.8c2.4 0 14.4-11.4 27.9-9.8 13.4 1.6 8.5 27.3 26.4 28.6 9 6.8 14.3 11.1 26.7 13.9 17.7 1.6 68.4-2.5 68.7-.2a188.2 188.2 0 012.2 28.6z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-.2-3.5 10.3-7 14.9-7.4s8.5 7.4 8.5 9.1-4.7-4.2-8.6-4.3-12.3.6-12.3 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(.155 0 0 .363 174 69.6)"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-1-4 11.8-6.6 16.4-6.9s10 8 10 9.6-5.4-5.2-9.3-5.3-14.6.6-14.6 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(-.155 0 0 .363 346.5 69.3)"/>
+  <path fill-rule="evenodd" d="M261.3 224.5c0 1-.5 1.9-1 1.9-.7 0-1.2-.8-1.2-1.9s.5-1.8 1.1-1.8c.6 0 1.1.8 1.1 1.8zm14.1 5.5h.4v14.7h-.4zm3.2-1.2h.4v14.8h-.4z"/>
+  <path fill-rule="evenodd" d="M276.1 237v-.5l3 .6v.3z"/>
+  <path fill="#b74d00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M497.3 478s26 11.4 31.7 18.2c5.6 6.8 3.4 6.8 3.4 6.8l57.7 2.3c0-3.4 10.2-3.4 12.5-11.4 2.3-7.9 2.3-10.2 2.3-10.2l-18.1 5.7 1-10.2H572l-2.3 10.2-34-1.1L538 461l-6.8 1.1-1 26c-1.2 0-31.8-7.9-33-10.1z" transform="matrix(.44 0 0 .465 15.3 17.5)"/>
+  <path fill="#fede00" fill-rule="evenodd" stroke="#fede00" stroke-width="1pt" d="M440.5 316.3s37.7-11.2 92.1-10.4 92.1 12.8 91.3 12.8-10.4-18.4-10.4-18.4-38.4-10.5-81.7-11.3c-43.2-.8-80.9 8-80 8.8l-11.3 18.5z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+  <path fill="#38a9f9" fill-rule="evenodd" d="M241 152.8l10.3-.2v6l-10.2.2zm-23.6 3.3l-3.6 5.9 12.2-1.5-1-6-7.6 1.6zm10.4-2.3l10.2-.9.5 6-10.2.9zm36.9-.6l-10.2-.7-.4 6 10.2.7zm22 3.8l3.7 7.3-11-2.8 1.2-5.8 6.1 1.3zm-8.9-2.2l-10.1-1.3-.7 5.9 10.1 1.3z"/>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M532.6 323.5l-2.5-13.5-7.6 11.5 2.8-13.5-11.3 7.7 7.6-11.3-13.4 2.8 11.5-7.6-13.5-2.5 13.5-2.6-11.5-7.6 13.4 2.8-7.7-11.3 11.4 7.7-2.8-13.5 7.6 11.5 2.5-13.5 2.6 13.5 7.5-11.5-2.7 13.5 11.3-7.7-7.7 11.3 13.5-2.8-11.5 7.6 13.5 2.6-13.5 2.5 11.5 7.6-13.5-2.8 7.7 11.3L540 308l2.8 13.5-7.6-11.5z" transform="matrix(.44 0 0 .465 17.3 17)"/>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M547 293.9c0 9.3-6.6 16.8-14.8 16.8s-14.8-7.5-14.8-16.8S524 277 532.2 277s14.8 7.6 14.8 17z" transform="matrix(.43 0 0 .388 23.8 41)"/>
+  <path fill-rule="evenodd" d="M252 153.4c0 .4-.9.7-2 .7s-2.2-.3-2.2-.7 1-.8 2.1-.8 2.2.4 2.2.8zm4.7 0c0 .4-.8.7-1.6.7s-1.6-.3-1.6-.7c0-.4.7-.8 1.6-.8s1.5.4 1.5.8z"/>
+  <path fill="none" stroke="#000" stroke-width="1pt" d="M529.4 297.9l.8.8c-1.9-2-1-1.2 1.6 3.2 2.4-.5 3.1-1.4 4.8-2.4" transform="matrix(.423 -.132 .125 .446 -10.1 93)"/>
+  <path fill="none" stroke="#000" stroke-width="1pt" d="M527.8 304.3l.8.8c-1.9-2-1-1 3.2 1.6 4 .5 8.1-1.2 10.5-4" transform="matrix(.44 0 0 .465 16.6 17)"/>
+  <path fill="#b7e1ff" fill-rule="evenodd" d="M223.5 170.7s.7 6-4 13.5c-4.5 7.4-3.8 4.8-3.8 4.8s2.1 4 1.8 4-3.6-3.6-3.6-3.6l-3.8 4s3.5-6.3 3.1-6.3-1-2.2-1-2.2l2.8-1.1s4.2-7.8 4.2-7.5-12.7 8.6-12.7 8.6l17-14.2zm2.8 2.3c-.4 0 1.7 6 3.5 9a15 15 0 011.8 6.6l6 3-7.8-11.5 5 1.8-8.5-9zm0 15.6s4.2 4.5 4.6 6 .3 4.8.3 4.8l-1.7-3.7-2.5 3.4s1.8-5.3 1.4-5.6-2.8 1.8-2.8 1.8l1-3.3c0-.3 0-2.3-.3-3.4zM205 199.1c1.4-1.2 4.3-2 4.3-2s-1.8 3-2.2 3-1.4 0-2-1zm48.7-16.4s9.1 5.6 9.1 6-6-2.7-6-2.7l-3.1-3.3zM237.2 171c.7.4 13.4 10.8 13 10.8s-5.6-3-5.6-2.6v2.6l-2.8-6-.7 2.3-3.9-7zm3.2 16.8l3.5 7 3.5-.7s-6.7-6.3-7-6.3zm11-4.5l.3 6.7s2 1.9 2 1.5-2-7.8-2.4-8.2z"/>
+  <path fill="#984000" fill-rule="evenodd" d="M147.8 92.2s15.9-8.7 34-15.3a229 229 0 0140.8-10.8c5.4 0 14.5 13.4 16 13.4 1.6 0 7.7-3.7 15.3-3.7s12.2 6 13.8 6h13.7c1.5 0-4.6-15 0-14.2 2.3.4 21.8 3.4 39.9 9.2 18.1 6 43.8 16.3 43.8 16.3s-42 5.6-53.2 4c-1.5.7 0 9.8-2.2 5.8-3.5-.8-16.4-2.8-18.7-2.8s-6.5 2.6-12.6 4a373.6 373.6 0 00-13.8 3.8l10 15.6-12.3 6s-7.6-17.9-10.7-17.9-4.5 12.7-8.4 12c-3.8-.8-5.3-12-8.3-15-3.1-3-19.2-4-25.3-5.5-6.1-1.5-16-2.7-21.3-4.2-5.3-1.5-10.7 3.8-13 3.8-2.3 0 3-4.5.8-5.3s-3.8 2.3-5.4 2.3c-1.5 0-17.5-3-19-3.8-1.6-.7 3.8-3.7 2.3-3.7h-6.1z"/>
+  <path fill="gray" fill-rule="evenodd" stroke="#772600" stroke-width="3.7" d="M463-65c0 21.2-20.6 38.4-45.9 38.4S371.3-43.8 371.3-65s20.5-38.3 45.8-38.3S463-86.1 463-65z" transform="matrix(.165 0 0 .2 184.8 97.5)"/>
+  <path fill="#984000" fill-rule="evenodd" stroke="#772600" stroke-width="5.3" d="M284.7-60c6.7-6.6 15-16.6 36.7-16.6 5-1.7 5-11.7 16.6-11.7 11.7 0 8.3 10 16.7 13.4 8.3 3.3 76.6-3.4 76.6-3.4s6.6 5 6.6 11.7-5 11.6-6.6 11.6-68.3-5-73.3-3.3c-5 1.7-8.3 3.3-20 3.3-11.6 0-15-11.6-23.3-11.6s-16.6-1.7-30 6.7z" transform="matrix(.206 0 0 .24 165 100.6)"/>
+  <path fill="none" stroke="#772600" stroke-width="3.5" d="M487.9-76.6h26.6c9.6.1 12.9 3 21.7 3.3h23.3c8.5-.3 13-2.3 21.6-3.3 14.5-.2 9.6-1.3 6.7-10-2.6-6.5-3-9.6-6.7-13.3-1.4-8-4.6-10.8-5-20-1.5-7-4.3-11.7-1.6-20 3.8 5.7 5.3 8 15 8.4 10 0 13.9-.3 20 3.3 4.6 4.9 10.8 3.3 20 3.3 7.6 1.4 8.9 5.3 14.9 8.3 7.1 4 11.7 5 21.6 5 8 1.5 15 2.6 20 5 4.3 5.1 11 6.4 20 6.7 5 0 9-.5 13.3-1.7 7.7.4 15.5 0 25 0 6.2 7.2 7.6 9.9 18.3 10 7.4 5.2 13.6 6 20 8.3h25c9 .7 11.8 4.4 20 6.7a200.9 200.9 0 0021.6 8.3 108 108 0 0021.7 1.7c6.1 3.2 13.6 3.4 18.3 6.6 6.9 1.5 16.3 3.3 21.6 5 8.8 1.2 12.2 4 20 5 6.7 2-2.2 3.6-6.7 5-9.8-.3-10.5-4-20-5-5-2.9-12.6-2.5-20-5h-1.6c6.6 4 13 6.5 10 13.4-8.5 0-15.4-1.1-23.3-1.7-8.4-1.6-12.2-3.3-21.6-3.3 9.4-2.3 11.8.2 18.3 3.3 2.4 8-2.8 5-11.7 5-7.6-2.7-12.2-6-21.6-6.7h-20c9.9.4 12 4.1 18.3 8.4.5 2.6-.1 2.4-5 3.3-5.2-4.5-11.9-6-20-8.3-7.9-.3-16.2-1-23.3-3.4-4.9-.3-4.1-6.1 6.7 3.4 6.5 3.8 8.8 7 8.3 10-8.6-2.2-12.8-5.6-18.3-8.4a61.3 61.3 0 00-23.3-3.3c-8.6-2.3.9-3.6 6.6 5 12.4 8.8-1.6 5-6.6 3.3-7.5-2.1-15.3-5.2-21.7-6.6-5-1.5-9.4-2.9-15-3.4 8.7.8 11.6 3.9 15 10 8.8 6-.4 3.1-8.3 1.7-5-4.4-11.5-6.7-15-11.7-8.3-4.1-8.6-9-3.3 1.7 1.3 3.4 1 10.8 1.6 11.7-6.1-6.7-4.8-8.4-11.6-8.4-4.7-3.2-11.5-5.7-15-10-6.4-.6-6.8-2.9-13.3-5 5.3 6.3 12.4 12.5 16.6 18.4 7.6 4.2 9.7 8 15 11.6 2.1 3.7 8 6.7 1.7 1.7-7.2-7-12.5-8.7-23.3-13.3-6.2-5-8.4-7-15-11.7-9-2.9-5.5-4.5 0 5 6.3 5.8 11.1 12.2 16.6 16.7a67.8 67.8 0 0015 13.3c1.5 2.2 6 2.6 0 3.3-5-4.6-12.4-7.5-18.3-11.7-8.3-2.3-12.2-6.6-18.3-11.6-4-5.9-10.4-10.4-15-15-9.6-3.8 1.9 3.6 5 8.3 2.1 6.1 4.8 11 6.6 16.7 2.8 5.5-8.4-1.3-11.6-3.3a57 57 0 00-21.7-8.4 298 298 0 00-20-3.3c-7.5-2 4.1 4.8 8.4 11.7 8.4 7.9-8.3 1.4-13.3 0a125 125 0 00-25-1.7c-10.7.6-3 2 0 6.6 3.3 2.6 5.6 8 5 10-7-1-13-3-21.7-3.3-7 2.3-15.3 1.7-23.3 1.7-.3 4.2 1.5.6 5 5 5.8 2.3 9.6 5.1 8.4 8.3h-48.3c-5.3 1.4 1.1.7 5 6.7-2.2 5.4-5 3.3-11.7 3.3-4.5-1.8-13.6-2.6-18.3-5-4.7 0-4.3-1.2-8.3-1.7 14 10 7 7.5 15 15 1.3.5 4.5 1.7 1.6 1.7M371.3 73.3c-1 0-3.2-5.4-6.6-10-2.4-6-5.4-2.6-8.4-11.7.4-9.4.7-11 0-20-6.8-4.8-9.7-6.2-15-15-8.4-7 1.3-19 2.9-27.8-7.4-1.6-11 11.5-22.3 16.2-8.2 5.5-1-11.4-5-21.2-2.7-13.9-10.8 7-13.8 12.9-5.5 3.7-7.2 8.5-15 1.6 0-5.1 4.9-19.5 2.8-22.3-7.8 3.9-18 15.5-26.1 17.3-8.2-1.7 1.7-14.8 1.7-24.5-3-1-14.7 25.8-19.5 26s-2.7-26-5-25.4c-3.5 5-10.6 15.4-15.5 19-9.5-1.3 1.4-17.5 2.8-23.5 1.6-7.2-8.9 13.8-14.5 15.1-4.1 3.6-12.2 6-15 6.7 3.2-6.2 19-18.7 18-22.3-9.3.3-23.4 12.5-31.3 14-5.2 0-12.4 1.7-13.3 1.6.4-8 19.4-14.6 22.4-19.5-9.3 1.5-27.2 9.7-32.4 16.2-6.2 1.3-14 3-20 0 .9-7.5 14.9-22 18-26.8-8.5 3.7-12.7 6.6-21.7 8.3-1.7 1.7-6.5 5.3-5 1.7 2.7-7 6.7-10 10-15-7.5 1.4-10.3 5.7-18.3 10-5.1.2-19.7 14.9-24.6 15.1a69.1 69.1 0 01-28.3 13.3c-7.6 1.4-11.3 3-15 6.7 3.8-6.7 9.6-13 15-16.6a29.8 29.8 0 0115-13.4c1.9-2.3 7.1-2.9 1.6-3.3-4.7 4.2-12.7 9-16.6 11.7-5.1 3.2-11 6.4-13.4 5 2.7-7.2 7.5-9 11.7-15 8.8-5.6 0-2-6.7 0-4.3 3.8-12 6.7-18.3 10-7 1.8-11.7 6-20 8.3 0 2.4 2.4-4.3 3.4-6.7 6.8-7.4 8.6-9.5 16.6-11.6 2-2.9 4.4-1.7-1.6-1.7-4.6 4-10.8 6.2-16.7 10-5.9 1.3-13.6 1.7-21.6 1.7-10.4 1.2-9.5 2 0-3.4 5.3-5 9.7-3.7 10-10-6.3 4.6-14 8-21.7 11.7-6.4.2-8.1 1.7-15 1.7 3.3-3.4 5.3-7.7 10-10 7-7.7-4.4-1.5-6.7 0h-25c-4.4 5.6-.2 0 3.4-3.4 4.3-2.2 8.8-5.1 8.3-6.6-5 4.3-10.7 6.3-15 10-4.6 1.4-10 2-10 3.3 3.7-5.3 9.6-8.6 13.4-13.3 5.6-1.2 10.4-3 11.6-5h-23.3 16.6c8.5 0 15.7-.8 23.4-1.7 13.2-2.2-1.2-3.3-8.4-3.3-1.3-2.6 4.2-4 10-5C-6.7-69-.4-71.1 5-73.3a45.2 45.2 0 0013.3-6.6c-5 .2-5 1.4-10 1.6 7.5-.5 12.8-1.6 21.7-1.6a239 239 0 0021.6-8.3c3-3.6 4.2-3.4-3.3-3.4 6.7-2.1 16.2-3.2 21.6-5a94 94 0 0020-6.6c4.9-3.3 7.7-7.2 13.3-10 6.5 4.4 6.6 5 18.3 5 9.4-.1 15.2-2.4 20-6.7 7.2-2 8.5-5.4 16.7-6.6a134 134 0 0023.3 1.6c8-2.1 15.7-6 21.6-10 5.1-2.5 11.2-6.1 16.7-8.3 6 3.1 10.8 5.6 18.3 6.7 7.7-1.2 11.8-5 18.3-6.7a28 28 0 0115-8.3c9.7-4.8 9 1.5 13.3 6.6 5 5.2 11.4 2.7 18.3 5 3.9 6 6.7 10 11.7 13.3 3.9 4.8 8.5 6 16.7 6.7 3 4 .6 6.8 6.6 8.3 2.4 2.6 6.5 3.6 10 5" transform="matrix(.206 0 0 .24 165 103.8)"/>
+  <path fill="none" stroke="#782600" stroke-width="3.1" d="M468.7 30.8v.8c0-2.3 0-1 1.7 3.4.6 3.6-.8 3.2-2.5 5.8-.3 3.7-.8 6.4-.8 10.8-.6 3.6-2.6 7-4.2 10-1.6 3.1-8.5 4.9-8.3 9.2-4 1.1-4.1-1.5-4.2-5.9-2.4-2.7-3.2-6.4-5-10-1-3.4-3.4-6-5-10-2.4-3.7-4.5-4.8-6.6-9.1-.9-2-.7-4.6-2.5-5.8-2.7-3.5-4.5-4-9.2-4.2-3.6.8-5 2.4-8.3 3.3-2.6.9-7.6.6-10.8 1.7-.8 1.3 1.6 2 2.5 5-2.2 1.8-3 4.9-4.2 7.5-2 2.5-3.3 3.7-4.2 7.5 1.4 2.3.2 5.4-1.6 7.5-.6 3.8-2.5 5.9-3.4 9.1-2.6 1.9-3.6 3.6-5.8 6.7-1.9 2.7-3.6 2.5-8.3 2.5-3.7-1-4.2-3-7.5-4.2-.3-1-.6-1.3-1.7-1.6" transform="matrix(.206 0 0 .24 165 103.8)"/>
+  <path fill="#812e00" fill-rule="evenodd" d="M242.2 119.4s-.3 3.7-2.7 6.2-7.4 5.4-7.4 5.4 6.7-3.1 7.4-2.5c.7.7-4.3 6.3-4.3 6.3s6.5-5.9 7.4-5.9 2.7 5.7 3.4 5.6c.7-.1-1.5-7.2-1.2-8.3.3-1.1 0-7 0-7l-2.6.2zm15.5-.5s-.3 4-2.8 6.6-7.4 5.8-7.4 5.8 6.8-3.4 7.4-2.6c.7.7-4.3 6.6-4.3 6.6s6.6-6.2 7.4-6.2 2.8 6 3.5 6c.7-.2-1.6-7.8-1.2-9 .3-1.1 0-7.5 0-7.5l-2.6.3zM236 82.6c0 .8-.7 1.4-1.6 1.4s-1.6-.6-1.6-1.4.7-1.3 1.6-1.3 1.6.6 1.6 1.3z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ee.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ee.svg
new file mode 100644
index 0000000..fbc9e33
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ee.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ee" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt" transform="scale(.482 .72)">
+    <rect width="1063" height="708.7" rx="0" ry="0"/>
+    <rect width="1063" height="236.2" y="475.6" fill="#fff" rx="0" ry="0"/>
+    <path fill="#1291ff" d="M0 0h1063v236.2H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eg.svg
new file mode 100644
index 0000000..2965b6a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eg.svg
@@ -0,0 +1,38 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-eg" viewBox="0 0 512 512">
+  <path d="M0 341.3h512V512H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <path fill="#ce1126" d="M0 0h512v170.7H0z"/>
+  <g fill="#fff" stroke="#c09300" transform="translate(-128) scale(.85333)">
+    <path stroke-linejoin="round" stroke-width="1.3" d="M450.8 302.4l68.5 63.6-4.9-115.5c-.7-17.5-15.9-13.5-27-7.2-11.1 7.2-24 7.2-37.4 2.5-13.5 4.7-26.3 4.7-37.4-2.5-11-6.3-26.3-10.3-27 7.2L380.7 366l70.1-63.6z"/>
+    <path id="a" fill="#c09300" stroke="none" d="M393.5 246.5l-4.8 112.3-8 7.2 4.9-115.5a24 24 0 017.9-4zm9.6 8l-4 94-8 8.2 4.8-108.5c1.6 1.6 6.3 5.5 7.2 6.3zm8.7 7.2l-3.1 78.4-6.5 6.3 4-89.4c1.6 1.5 4.8 3.8 5.6 4.7zm9.5 4l-3.1 66.8-6.3 5.1 3.1-74.3c1.6.7 4.7 2.4 6.3 2.4zm8.8 0l-2.3 55.7-6.5 6.3 2.5-61.3c1.5 0 5.6 0 6.3-.7z"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)" xlink:href="#a"/>
+    <path fill="#c09300" stroke-width="1.1" d="M453.2 315l9.6 43.8-3.2 3.2-3.3-2.5-5.4-39 2.3 39-3.2 4-3.1-4 2.3-39-5.5 39-3.3 2.5-3.2-3.2 9.6-43.7h6.4z"/>
+    <g id="b" fill="none" stroke-linejoin="round" stroke-width="1.3">
+      <path fill="#fff" stroke-width="1.2" d="M428.5 295.8l-19.1 67.7 26.3 4 11.1-50.9-18.3-20.8z"/>
+      <path d="M422.2 319l2.3 5.5 12.4-11.8"/>
+      <path d="M430.8 305l2.6 24.3 7.9-10.4m-3.2 4l4.3 15m1.7-5.5l-8.7 13.2m2.7 13.2l-2.8-13.2-2.4-13.4-5.9 7.9-2.5-9.1-8.2 8.4 4.1 15.2 5.8-9.4 3.1 9.6 6-9.2"/>
+      <path d="M415 362l5.3-7.5 3.4 11.5 4.8-8 3.1 9.6"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)" xlink:href="#b"/>
+    <g stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3">
+      <path stroke-width="2.4" d="M450 393.8c20 0 39-1.6 50.2-4.7 4.7-.9 4.7-3.3 4.7-6.5 4.8-1.6 2.4-7.2 5.7-7.2-3.4 1-4-5.5-8-4.7 0-5.6-5.7-6.3-10.4-4.7-9.5 3.1-26.3 3.9-42.2 3.9-16-.8-32.6-.8-42.2-4-4.7-1.5-10.3-.8-10.3 4.8-4-.8-4.7 5.6-8 4.7 3.3 0 .8 5.7 5.6 7.2 0 3.2 0 5.6 4.8 6.5 11 3.1 30.2 4.7 50.1 4.7z"/>
+      <path d="M422.9 363.5c6.4.9 13.6 1.6 19.2.9 3.2 0 5.5 5.5-.9 6.3-5.5.7-14.3 0-19-.8a231 231 0 01-18.4-4c-5.6-2.4-1.6-7 1.6-6.4a105.3 105.3 0 0017.5 4zm54.2 0c-6.4.9-13.6 1.6-19 .9-3.4 0-5.7 5.5.7 6.3 5.6.7 14.3 0 19-.8 4-.8 12.8-2.3 18.4-4 5.6-2.4 1.6-7-1.6-6.4a105.2 105.2 0 01-17.5 4z"/>
+      <path d="M403 360.4c-4.8-.9-7 4.7-5.5 7.9.7-1.6 4-1.6 4.7-3.2.9-2.4-.7-2.4.9-4.7zm19.2 14.7c0-3.2 3.1-2.8 3.1-6 0-1.5-.8-4-2.4-4a3.4 3.4 0 00-3.2 3.2c-.7 3.1 2.5 3.6 2.5 6.8zm22.7-9.1c4.7 0 4.2 6.3 2 9.5 0-2.3-4-3.2-4-4.8 0-2.4 3.6-2.4 2-4.7zm52-5.6c4.9-.9 7.2 4.7 5.6 7.9-.7-1.6-4-1.6-4.7-3.2-.9-2.4.7-2.4-.9-4.7zM478 375c0-3.2-3.2-2.8-3.2-6 0-1.5.8-4 2.4-4a3.4 3.4 0 013.2 3.2c.7 3.1-2.5 3.6-2.5 6.8zm-23-9c-4.7 0-4.2 6.3-2 9.5 0-2.3 4-3.2 4-4.8 0-2.4-3.6-2.4-2-4.7z"/>
+      <path stroke-width=".9" d="M404.7 362c1.6 0 4 .7 4.7 1.6l-4.7-1.6zm7.9 2.4c.8 0 4 .7 5.5 1.6l-5.5-1.6zm28.6 3.2c-1.5 0-4.7 0-5.5.7l5.5-.8zm-8.7 0c-.9-.9-4-.9-5.6 0h5.6zm62.8-5.6a8 8 0 00-4.7 1.6l4.7-1.6zm-7.8 2.4c-1 0-4 .7-5.6 1.6l5.6-1.6zm-28.7 3.2c1.5 0 4.7 0 5.6.7l-5.6-.8zm8.7 0c.9-.9 4-.9 5.6 0h-5.6z"/>
+      <g fill="#c09300" stroke="none">
+        <path d="M403.3 374.6c-.5-.1-.8-.6-.6-1 .1-.7.6-1 1-.8.4 0 .9.6.9.8l-.4.7-.2.1c0 .2-.4.2-.7.2zm55 3.9c-.2 0-.6-.5-.6-.7 0-.4.6-1 1-1l.8.4c.3.3.3.9-.1 1.2-.2.2-.8.2-1.1 0zm.3 2.5c-.4-.2-.5-.4-.6-.8 0-.5 0-.6.5-.9l.4-.2.4.2c.4.2.7.4.7.8 0 .3-.3.6-.7.8-.3.2-.4.2-.7 0z"/>
+        <path d="M407.8 370c-.4 0-.9.4-1.2.6-.6.1-1.4.5-2 0-.6-.1-1.4 0-1.5.8.1.7 1 1 1.6.6.4-.5 1.5-.9 1.7 0-.5.8-.4 1.7-.8 2.4 0 .5-.3.9-.5 1.3-.5 0-1 0-1.4.3a2 2 0 00-1.6.8c-.4.6-.8 1.2-.9 2 .1.6 1 .8 1.6.9l2 .6 3.2.9c1.6.5 3.2.7 4.8 1.1l.5.1c.7.2 1-.5 1-1l1-3.6c.2-.5.5-1.5-.4-1.3-.5.3-1 .8-1.6.8-.9 0-.4 1 0 1.3 0 .6-.2 1.3-.5 1.8-.6.3-1.2 0-1.8-.2-.5 0-1.7-.3-1.2-1l.5-1.8c.3-.6.3-1.3.5-2-.4-.7-1 .3-1.5.4-.4.2-1.6.3-1 1 .6.4.2 1.1 0 1.7 0 .7-.8 1-1.4.7-.6 0-1.5-.5-1-1.1l.5-1.8.7-2c0-.7.3-1.2.6-1.8 0-.7.5-1.3.5-2 0-.3-.2-.4-.4-.4zm-3.7 7.3a.3.3 0 01.3 0c.2.2.2.4 0 .6l-.3.2c-.5 0-.6-.1-.6-.3 0-.1 0-.2.3-.3a1.4 1.4 0 01.4-.2zm-1 5c-.5-.4-.4-.7.3-1.3.4-.2.5-.2.9.1.6.5.6.8 0 1.3-.2.2-.3.2-.5.2-.3 0-.4 0-.7-.2zm3 1a.9.9 0 01-.6-1.1c.2-.4.3-.5.9-.5.7 0 .8.1.9.7 0 .4 0 .5-.3.7a1 1 0 01-.8.2zm89.2 0c-.2-.1-.3-.2-.3-.5 0-.4.2-.7.8-.9.6-.3 1-.3 1.2.2.3.6.3.8-.1 1.2-.2.3-.3.3-.8.3s-.6 0-.8-.2zm-85 1.2c-.4 0-.6-.4-.6-.8 0-.3 0-.4.2-.6l.6-.2.6.1c.5.4.6.8.3 1.2-.3.4-.6.4-1.2.3zm21.8 1l-.2-.3c0-.6 0-1.1.2-1.7.1-.5 0-1 .2-1.5l.4-2.8c0-.5 0-1 .2-1.4.1-.8 0-1.5.2-2.2 0-.3.3-1 .6-.6.4.6.9 1 1.4 1.5.4.3 0 .7-.3.8-.4.1-.5.6-.5 1l-.2 1.2c0 .7 0 1.3-.2 2l-.1 1.8-.2 1.2c0 .4 0 .9-.4 1.1-.3.2-.8.2-1-.1zm29.7-9.8l-1.3 1.2c-.6.5.5.7.6 1.1.2.6.2 1.2.2 1.8.2.6.3 1.1.2 1.7 0 .7-.8.5-1.2.9-.5.2-.7.7-1 1a4.2 4.2 0 00-.4 1.6c0 .5-.3 1 0 1.4l.1.2h.5l1.5-.1c1.2-.2 2.5-.2 3.7-.3l2.2-.2c.6.1.9-.5.9-1-.4-.7-.1-1.4-.4-2-.2-.8-.1-1.5-.2-2.2 0-.6-.7-.8-1-.4-.4.4-1 .5-1.2.9-.3.6.6.6.8 1l.1 1.5c.1.6-.5.6-1 .7-.5.2-1.2.3-1.5-.3-.2-.5-.2-1-.2-1.5 0-1-.3-1.8-.3-2.7 0-1-.3-2.1-.3-3.2 0-.5-.1-1.2-.8-1.1zm-.6 8.2h.3v.8l-.3.1a3.3 3.3 0 01-.4.1 2.5 2.5 0 01-.2 0c-.2-.2-.2-.5.1-.8l.5-.2zm-30-9.2c-.3 0-.8.7-1.2.6-.9.1-.8 1-.1 1.3v.8c.1.8-.4 1.5-.3 2.3 0 .8-.3 1.7-.3 2.6-.3.9-.3 1.8-.4 2.7-.1.8-.7.5-1.2.3v-1c.1-.9-.5-1.1-1.2-1.2-.7 0-1-.5-.8-1.1.3-.4 1-.3 1.5-.3 1 .2.9-1.1.4-1.6-.4-.6-1.2-1-1.4-1.6 0-.8-.5-1.7-1.2-2.1-1.1-.1-2 .8-2.3 1.8-.5 0-1 .2-1.4.4-.7.2-1.7 1.4-.7 1.9.5.1 2.2.5 1.4 1.2-.4.8-1.2.8-1.9.6-.7 0-1.5-.4-1.5-1.2-.1-.8-.1-1.6-.4-2.3-.2-.8-1.1-.6-1.2.2-.7.5-.6 1.4-.1 2 .3.7 0 1.6-.3 2.2-.2 1-1.2 1-1.9 1.2-.3.2-1.6 0-1.1.7a4 4 0 002.4.3c.8 0 1.5-.7 2-1.4.5-.5 1.4-.2 2.2-.2.7 0 1.5.5 2.3.1.2-.5 1.2-1.5 1.5-.5 0 .9.7 1.3 1.5 1.2.9 0 .5.6.5 1.2 0 .9.7 1.4 1.5 1.8h.8c.7-.3 1.5-.6 1.8-1.4.3-.7.3-1.5.5-2.2.2-1.1.4-2.3.4-3.4.3-1 .2-2.1.4-3.2l.3-2.3c0-.5-.2-.5-.5-.4zm-6.7 4.1c.1 0 .2.2.2.5 0 .4.2.7.5.8v.3l-.8.2c-.5 0-.9-.2-1.2-.5l-.2-.2.3-.2.5-.5c.3-.3.5-.4.7-.4zm66-7.9a8.4 8.4 0 00-1.7.3c-1 0-1.5 1-.5 1.6.6 1.5 1.5-.4 2.5-.2 1.4.2 1.5 1.8 1.8 3 0 1.1.4 2.2.7 3.3 1 1.1-.7 1.8-1.4 1-.6-.7-2-1.5-2.7-.6-.9.4-1 1.6-1.7 2-1.2.3-1.3-1.2-2-1.8-.6-.9-1.7-1-2.6-1.2-.4-.9-.2-2.4-1-3-.8.3-2.2 1.7-1 2.4 1 1-.5 1.4-1 2-.8.9-1 2-1 3-1.3.7-1.5-.8-1.7-1.7 0-1.1-1-.8-1.7-.4-1 .4-1.4 1.3-2 2v2c.2.9 1.2.5 1.8.4 1-.4 1.4.7.6 1.3-.6.6-2.2.3-2 1.4h1.6c1-.3 2.2-1.1 2.3-2.3.2-1 1.7-.9 2.5-1.1 1-.3 2.3-.4 2.6 1 .7.7 2.2 1.5 3 .5a2.4 2.4 0 001.1-2.3c-.1-.8 1.3-.8 1.7-.3.5.8 2.1.6 2.9 0 .8-.5 1-1.6 2.2-1.6l5.4-1.5c1.4-.3-.2-1.2-.6-1.8-1-.5-2 1.7-3.2.6-1-.7-.9-2-1.2-3.1-.3-1.4-.2-3-1.2-4-.6-.7-1.6-.9-2.5-.9zm-6.8 9.5c.1 0 .3 0 .5.2.4.2.7.6.7 1 0 .2 0 .2-.3.3l-.5.2c-.2 0-.7-.3-.7-.5v-.4c-.2-.4-.2-.4 0-.6l.3-.2zm6.5.4c.4 0 .6 0 .8.3.1.4 0 .6-.4.8l-.5.2-.4-.3c-.2-.1-.3-.2-.3-.4 0-.3.4-.6.8-.7zm-9 0c.2 0 .3 0 .4.2.2.2.3.3.3.6v.6c0 .3 0 .2-.6.2s-.7 0-.7-.6c0-.4 0-.5.3-.7.1-.2.3-.2.4-.2zm-5.4 1.5a.6.6 0 01.4.4c0 .3 0 .5-.2.6-.3.1-.8.2-1 0a.6.6 0 010-.1c-.2-.1-.2-.2 0-.3v-.1l.2-.3a.5.5 0 01.6-.2zm9.2 1.2l.5.1v.6h-1.2l-.1-.2c0-.2 0-.3.2-.4l.6-.1zm-17.1 4.8c-.1 0-.3-.1-.1-.2.1-.3.5-.4.8-.6a3.4 3.4 0 001.4-1c0-.4.4-.6.4-1l-.1-1.4a1.8 1.8 0 00-.8-1c-.3-.1-.7-.2-.8-.6 0-.3.3-.6.4-.9l.6-1.2c.3-.3.7 0 .8.2l.5 1c.3.3.5.6.6 1 .2.4.4.7.4 1l.2 1.3c0 .5 0 1.1-.2 1.6l-.6.8c-.3.3-.6.6-1 .7-.3.1-.5.4-.9.4H468l-.1-.1zm-6.9.4c-.2-.2-.3-.3-.3-.6s0-.3.3-.6c.4-.4.6-.4 1.4 0 .7.4 1 .4 1 .1.1-.2.5-.5 1-.5a.8.8 0 01.5.2c.2.2.3.3.3.7 0 .5 0 .5-.3.8-.3.2-.3.2-.7.2a.9.9 0 01-.8-.6c0-.2 0-.3-.2-.1l-.2.1c-.2 0-.6.3-.8.5l-.5.1c-.4 0-.4 0-.7-.3zm-19.8-8.9c-.7 0-1.4.6-1.5 1.3.2.7.8 1.5.4 2.2.3 1-.8 1.4-1.5.9-.4-1-.6-2-1.3-3-.8-.2-1.1 1.1-1.7 1.6.3.7 1.1 1.4 1.2 2.3.2 1-.4 2-1.1 2.4-.7.7-1.7.5-2.5.6-1 .6.7.8 1.2.8 1 .1 2.1 0 3-.8.7-.3.6-1.7 1.5-1.8l4.8.3c.8.2 2.1-.1 2.7.5 0 1 1 1.8 1.9 2.2.5.2 1-.5 1.5-.6 1-.3.7-1.5 1.3-2h5c.2 0 .3-.5.6-.7l-.2-1.9c-.3-.8 0-1.8-.5-2.5-.9-.2-1.6.5-2.4.6-1 .4-1.7 1.3-1.8 2.3-.5.9-1.4-.2-1-1l-.1-1c-.5-.5-1.4-.3-2.1-.4l-3-.2c-1 0-1.9.1-2.7-.1-1 0-1-1-1-1.8a1 1 0 00-.7-.2zm2 3.7l1 .1h1.3c1 .2 2 .2 3 .2.2 0 .4.2.6.4v2c0 .3 0 .7-.2.8a.7.7 0 01-.2.2 1 1 0 01-.7-.5v-1.4a1.3 1.3 0 00-.7-.3l-2.6-.1-2-.1c-.3-.1-.7 0-.9-.4-.2-.2.1-.6.4-.7a2.3 2.3 0 011-.2zm11.3.3c.1 0 .2 0 .2.3l.2.5c0 .1 0 .2-.2.2-.5.2-1 .2-1.2 0 0-.1 0-.5.2-.6l.8-.4z"/>
+      </g>
+    </g>
+    <path stroke-width="1.1" d="M450 327.2c32.6-25 29.8-61.8 29.8-61.8l-2.5.2c-6.9 0-23.2-4-27-8.9-4 4.5-20.8 9-27.6 9l-2.5-.3s-2.9 36.7 29.8 61.8z"/>
+    <path stroke-width=".9" d="M477.2 268h-.8c-6.2 0-20.6-3.1-26.2-7.9-5.8 4.4-20.5 8-26.6 8a4.7 4.7 0 01-.8-.1 73.1 73.1 0 002.6 18.7 71 71 0 0024.6 37.1 71.2 71.2 0 0024.6-37.2 73.1 73.1 0 002.6-18.6z"/>
+    <path fill="#c09300" stroke="none" d="M439.4 265a62.2 62.2 0 01-16.6 3l.1 4.1a72.8 72.8 0 002.5 14.5 71 71 0 0014 26.8V265zm20.6 0v49.2a71.1 71.1 0 0014.6-27.6 73 73 0 002.5-14.5l.1-4h-.8c-3.8 0-10.4-1.2-16.4-3.2z"/>
+    <g stroke-width="1.3">
+      <path stroke-width="1.2" d="M462.3 253c.7.1-.9-3.5-.9-3.5 1.8 1.8 8.4 2.3 8.4 2.3-4-1.8-8-15.1-7.5-25.8.4-10.6-1.5-14.8-3-16.4-2-2-8.5-3.8-12.7-4-2.5-.1-2 1.8-2 1.8-4.5-1.1-9-1.6-11-.2-1.8 1.2-2.2 7.5-.8 6.4 3.3-2.7 6.2-.2 8.2 2.7 1.8 2.5 1.7 9.7-.9 18.2a60 60 0 01-10 17.7c4 0 9.6-3.5 9.6-3.5l-1.3 5.5c4.2-2 7.5-5.1 7.5-5.1l4 4.2c1.3-1.8 4-4.2 4-4.2s3.3 3.5 8.4 4z"/>
+      <path fill="none" d="M446.1 227.6s-2.2 16.4-6.4 21m10-21.5s-1 16.7-3.8 22m6.9-21.3s0 18.2 1 21.3m3-20.4s.8 15.3 4.6 20.8"/>
+      <path fill="#c09300" stroke-width=".3" d="M442 219.6a8 8 0 00-1-3.3c-2-3-4.9-5.4-8.2-2.7 0 0 1.1-3.5 3.6-3.6 1.8-.1 6.1 1.4 9.9 7.8 0 0-2.8-.6-3.5 0-1.2 1-.7 1.8-.7 1.8z"/>
+      <path fill="#c09300" stroke-width=".3" d="M432.4 209.3c.3-1 .7-1.8 1.3-2.1 2-1.4 6.4-1 10.9.2 0 0-.4-1.9 2-1.8 4.2.2 10.6 2 12.6 4a7.9 7.9 0 011.5 2.4c-1-1.4-3.8-1.3-4.5-1.2-1 .1-1.7 0-3.1.4-.7.2-1.7.4-2.3.8-.4.4-.8 1.6-1.4 1.6-1 0-1-.2-1.3-.5-.3-.5-.5-1.1-.9-1-1 .1-2.8-.7-5-2.5-2.3-1.8-3.2-2.2-6-2-3 .2-3.8 1.9-3.8 1.9v-.2z"/>
+      <circle cx="448.8" cy="210.7" r="1.2" stroke="none"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eh.svg
new file mode 100644
index 0000000..4c3feba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eh.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-eh" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path d="M-180 0H844v256H-180z"/>
+    <path fill="#107b00" d="M-180 256H844v256H-180z"/>
+    <path fill="#fff" d="M-180 169.3H844v176.1H-180z"/>
+    <path fill="#f0f" d="M310 195.6c-45.2-19.5-84.1 20.6-84 58 0 39.2 38 81 86 62.5-34-10-48-35.3-48-60.7-.3-25.2 15.8-54.6 46-59.9z"/>
+    <path fill="#ff1800" d="M363.1 294.2l-25.8-18.9-26 19 10-30.5-26-18.8h32l9.9-30.5 9.8 30.4h32.1l-25.9 18.8"/>
+    <path fill="red" d="M314.3 315.6a65.2 65.2 0 01-89.2-59.4 65 65 0 0189.5-60.9 60.6 60.6 0 00-51.2 59.2 61.3 61.3 0 0051 61.1zM-180 0l348.6 256.6L-180 512V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/en.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/en.svg
new file mode 100644
index 0000000..ef048dc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/en.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb" viewBox="0 0 512 512">
+  <path fill="#012169" d="M0 0h512v512H0z"/>
+  <path fill="#FFF" d="M512 0v64L322 256l190 187v69h-67L254 324 68 512H0v-68l186-187L0 74V0h62l192 188L440 0z"/>
+  <path fill="#C8102E" d="M184 324l11 34L42 512H0v-3l184-185zm124-12l54 8 150 147v45L308 312zM512 0L320 196l-4-44L466 0h46zM0 1l193 189-59-8L0 49V1z"/>
+  <path fill="#FFF" d="M176 0v512h160V0H176zM0 176v160h512V176H0z"/>
+  <path fill="#C8102E" d="M0 208v96h512v-96H0zM208 0v512h96V0h-96z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/er.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/er.svg
new file mode 100644
index 0000000..8634334
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/er.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-er" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#be0027" d="M-48 0h591.5v512H-48z"/>
+    <path fill="#b4d7f4" d="M-48 512l591.5-.3V256L-48 512z"/>
+    <path fill="#239e46" d="M-48 0l591.5.3V256L-48 0z"/>
+    <path fill="#f3e295" d="M148.8 351.4c-8.7 2.4-13.7 9.2-13.6 15.6l42.8-.2c.4-6.9-5.2-13.2-13.8-15.7 42-.8 78.4-16.6 85-26.6-6.5-2.9-14.1 1.7-19.5.6 12.8-5.9 51.2-30.8 45-57.4a62.3 62.3 0 01-25.8 30.3c14.3-21.8 34-44.5 17-62 .8 10.2-6.6 21.4-9.8 22.2 8.3-23 16.3-52-1.8-71 2.4 6.9 1.5 26.3-1.8 27.2-1-15.7-3.7-48.6-20.2-48.1 5.3 4.6 7.5 17.4 7.7 30.2-3.8-8.8-8-15.4-17.2-22a96.1 96.1 0 00-33.7-34.3 36.1 36.1 0 0017.1 29.2c-7.5-.5-15-14.7-23-15.1-6.4-.3-11.4 5.8-21.9 2.3 1.2 3.4 6 5 7 7.5-2.1 1.5-7.5-.2-11.9-2.5 6.1 8.2 15.5 13 23.5 11.4 9.5-1.8 19.7-.8 29.4 4.7a51.6 51.6 0 01-18.4.5c5.7 5.7 9.4 9.5 19.2 9.4 8.8 0 13.4-4.6 15.6-1.8 5.5 6.5 9.2 13 13.8 20.6-10.2 1.2-7.1-11.4-18.4-17.9-6.3 13.2 7.3 28.7 16.6 35.2 0 9.9 1.5 18 5.7 25.6 2.8 5.3 6.5 10.7 5.1 22.7-5.5-4-11-17.7-9-28.5-7 1.9-9.6 14-6.4 20.2 2.5 4.7 4.1 13.7 1.3 17.7-2.8 3.7-3 3.3-3 11.3 0 4.8-2.6 10.5-7 14.4 1-3.3 2-9.2 1-12.8-3.5 5.9-12.1 11.9-14.8 18.2-2.7 6.3-3.4 17.2-16.3 19.7-16.7 3.3-22.5 6.2-33.2 10.6-1.2-8.1 2.4-25.1 9.2-24.1 6.7 1.2 26.8-7 19.6-24-1.4 5.4-6.2 10.6-11.3 10.9 5.5-7.2 15.4-14.7 10.6-26.7a34.5 34.5 0 01-13.3 14.7c6.9-13.1.8-17-7.3-6.3-3 4.2-5 12.6-6.9 23.2-3.2-8.6-3-20-6.8-29.2-4-10 5.3-12.7 9.6-11.9 10.6 2.9 28.4 2.9 27-14.7-4.5 6-12.6 7.8-21.3 5.7 9.8-7.2 17.5-20.5 6.6-27.5a25.2 25.2 0 01-13.7 19.5 41 41 0 01-.3-20.1c-4.3 4.5-7.4 13.8-9.9 24.5a81.8 81.8 0 013.3-23.8c2.2-8.3 7.8-2.9 16.3-2.3 8.2.5 19.5-4 17.4-15.2-2.8 4.4-8.6 6.1-14.5 5.7 7.1-4.3 19.4-12 12.7-23.6-2.9 4.4-3.8 8.2-12 9.6 2.1-5 2.5-12 8.9-14.7-11.4-2.3-17.9 5.2-21.2 16.8-1.4-8-3-11-3.3-17 6.2-6.8 6.8-20.2-6.5-23.1-.8 6.8-.5 8.5 1 14-6.3-3.6-15-5.7-21-.4 4 4.3 10.2 8 19.7 3.4-2.3 7.3-8.1 6-16.1 3.2 4.9 9.2 11 10.9 17.9 9.8 3.5 9.4 3.7 16.5-6.7 30.2.4-8.5-.2-14.8-7-21.7-5.7-5.7-10.4.3-1.4 12.9A38.7 38.7 0 01127 200c-1.8 10.1-.2 22 5.4 28.8-2.7 2.8-5.7-.3-10.1-7.2 1.6 22.2 11.1 26.4 23.9 21.5.3 12.2.3 23.5 1 38.2a61.3 61.3 0 00-22-20.6c-1.7 6 4.5 13.7 8 18-5.3-1-16.7-9.7-16.7-9.7-1.2 9.9 11.6 19 19.9 23.1-9.7-.4-14-4-20.3-10 .1 27.4 29.7 22.6 35.3 18.4l2.5 42.6c-8.4-1.4-7.7-4-14.9-4.6-19.9-.8-35.7-23.9-40.9-40.9-1.5 2.8-.3 5.7-1.7 9.2-3.2-8.4-7.3-19.1-12.9-24.1 1.4 4.8 1.6 9.8 1.1 18.8-1.9-5.9-3.7-7.7-3.8-14.6.1-5.3 5.1-9.2 4.9-16.7-.2-5.4-5.2-17.2-6-26.4-2.4 9.5-3.9 19.4-7.6 25.2 1.9-10 1.3-17 4.4-23.7 3.6-7.2 6.6-13.5 4.2-20.7-2.3 2.8-1.5 5.3-7.2 12-1.3-7.3 7.4-19 15.8-23.8 6-3 13.4-14.3 8.6-22-5.6 4-8.1 9.5-16 18.7 5.6-22 20.2-27.7 37.7-27.8 4 0 11.7-1.4 14-6.5-5 1.9-10.9 2.1-16 1 3.7-5.4 11.7-4.7 19.1-4.8 5.8 0 14.9-.8 18.6-9a42 42 0 01-25.2 1.5c11.1-5.8 28.5-6.4 37.4-14-10.2-7.5-35.6 1.9-51.6 12.9 4.5-4.1 11.6-11.4 15.5-17.3-8.8-4.2-31 20.4-38.6 35-7.2 4-10.1 10.5-13 15 4-13.1 4.3-22.6 7.5-33.3-24.8 8.5-14.5 54.5-19.9 65.5.6-12.2.1-27.8-4.9-35.8-7.6 5.8-8.3 40.2-1 68.9-2.7-7.7-7.6-14.9-9.1-24.2-11.4 20.7 6.6 45 21.6 64.3a95.7 95.7 0 01-29.8-29.2c2 37 40.7 44.7 46.7 53.8-8.2-3.8-23.7-11.3-30.4-3.4a80.2 80.2 0 0126.3 9.9c10 12.5 29 18 62 19.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es-ca.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es-ca.svg
new file mode 100644
index 0000000..2a50685
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es-ca.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-es-ca" viewBox="0 0 512 512">
+  <path fill="#fcdd09" d="M0 0h512v512H0z"/>
+  <path stroke="#da121a" stroke-width="60" d="M0 90h810m0 120H0m0 120h810m0 120H0" transform="scale(.6321 .94815)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es-ga.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es-ga.svg
new file mode 100644
index 0000000..5c55ff8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es-ga.svg
@@ -0,0 +1,189 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-es-ga" version="1.0" viewBox="0 0 512 512">
+  <g id="g5162" font-size="12" transform="matrix(.85333 0 0 1.2801 0 -123)">
+    <path id="rect733" fill="#fff" fill-opacity="1" fill-rule="evenodd" stroke-width="1pt" d="M0 96h600v400H0z"/>
+    <path id="path556" fill="#09c" d="M600 437.8L86 96H0v57l516 343h84v-58.2"/>
+  </g>
+  <g id="g4979" font-size="12" transform="matrix(1.13778 0 0 1.13875 -85.4 -81.1)">
+    <path id="path558" fill="#005bbf" fill-opacity="1" d="M296.6 401.2c-60 0-58.1-56.5-58.1-56.5v-86.9h116.3v86.9s2 56.5-58.2 56.5"/>
+    <path id="path559" fill="none" stroke="#000" stroke-width="1" d="M296.6 401.2c-60 0-58.1-56.5-58.1-56.5v-86.9h116.3v86.9s2 56.5-58.2 56.5z"/>
+    <path id="path560" fill="#d81126" fill-opacity="1" d="M296.1 203.2s-12.4-6-24.1 2.8c0 0-21.1-3-22.7 17.2 0 .8-.2 2.3.2 2.8.4.4.8 1.2.8 1.8 0 .6.3.9.5 1.1 0 .3.4.7.5 1.7 0 1.1-.2 1.6.9 2.7 1 1 1 4.1 1 5 0 .9.6 3.3 1 3.8.5.5 1.3 1.8 1.3 2.9 0 1 .4 4 .2 4.7-.2.8 1.2 1.7 2.4 2.1 1.2.4 16 5.2 37.6 4.8 21.6-.3 29.4-1.5 38.4-4.7 1.3-.5 1.6-1.7 1.5-2.3-.2-.6 0-2.6.3-3.1.4-.5 3-4.6 2.4-5.3-.5-.8-.5-2.4 0-3 .5-.7 2.1-3.7 2.4-5 .3-1.2.4-2.7 1-3.1.5-.4.7-1.9.8-2.2a4 4 0 011.2-1.6s1-5.1.4-7.6c-.7-2.5-4.5-13.3-19.8-11 0 0-11.4-8.7-28.2-4.5"/>
+    <path id="path561" fill="none" stroke="#000" stroke-width="1.5" d="M296.1 203.2s-12.4-6-24.1 2.8c0 0-21.1-3-22.7 17.2 0 .8-.2 2.3.2 2.8.4.4.8 1.2.8 1.8 0 .6.3.9.5 1.1 0 .3.4.7.5 1.7 0 1.1-.2 1.6.9 2.7 1 1 1 4.1 1 5 0 .9.6 3.3 1 3.8.5.5 1.3 1.8 1.3 2.9 0 1 .4 4 .2 4.7-.2.8 1.2 1.7 2.4 2.1 1.2.4 16 5.2 37.6 4.8 21.6-.3 29.4-1.5 38.4-4.7 1.3-.5 1.6-1.7 1.5-2.3-.2-.6 0-2.6.3-3.1.4-.5 3-4.6 2.4-5.3-.5-.8-.5-2.4 0-3 .5-.7 2.1-3.7 2.4-5 .3-1.2.4-2.7 1-3.1.5-.4.7-1.9.8-2.2a4 4 0 011.2-1.6s1-5.1.4-7.6c-.7-2.5-4.5-13.3-19.8-11 0 0-11.4-8.7-28.2-4.5h0z"/>
+    <path id="path562" fill="#bcac0b" fill-opacity="1" d="M337.6 240.8c-47-14.9-83.4-.7-83.4-.7s.4 1.6.8 2.1 1 1.7 1 2.6v2.8c0 .7-.4 3.7 2.2 3.6 0 0 32.8-12.8 75.4.7 0 0 1.2-1 1.2-2.5a8 8 0 011-4c.5-.8 1.8-3.4 1.8-4.6"/>
+    <path id="path563" fill="#c8b100" fill-opacity=".9" d="M294 319.3h-20.5s-2 18.3 13.8 23.9v1.6h3.3v2.2s-5.8 5.2-.7 11.2v1.8h.8v3h1v4.7s-.8 17-17.6 25.2v1h44.7v-1c-16.7-8.1-17.5-25.2-17.5-25.2V363h1V360h.8v-1.8c5-6-.8-11.2-.8-11.2v-2.2h3.4v-1.6c15.7-5.6 13.7-23.9 13.7-23.9H294"/>
+    <path id="path564" fill="none" stroke="#000" stroke-width="1" d="M294 319.3h-20.5s-2 18.3 13.8 23.9v1.6h3.3v2.2s-5.8 5.2-.7 11.2v1.8h.8v3h1v4.7s-.8 17-17.6 25.2v1h44.7v-1c-16.7-8.1-17.5-25.2-17.5-25.2V363h1V360h.8v-1.8c5-6-.8-11.2-.8-11.2v-2.2h3.4v-1.6c15.7-5.6 13.7-23.9 13.7-23.9H294h0z"/>
+    <path id="path565" fill="none" stroke="#000" stroke-width=".3" d="M286.6 342.9h19.7m-19 1.5h18.4m-15 2.5h11.5m-12.3 11.5H303m-12.4 1.4h11.6m-11.6 2.8h11.5m-18.5 23.2h25.5m-32.7 5.9h40m-41.5.9h43"/>
+    <path id="path566" fill="#ccc" fill-opacity="1" d="M296.6 318.3a13 13 0 100-26.1 13 13 0 000 26"/>
+    <path id="path567" fill="none" stroke="#000" stroke-width="1" d="M296.6 318.3a13 13 0 100-26.1 13 13 0 000 26z"/>
+    <path id="path568" fill="#ccc" fill-opacity="1" d="M266.3 280h-8.1v-8.2H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8V280"/>
+    <path id="path569" fill="none" stroke="#000" stroke-width="1" d="M266.3 280h-8.1v-8.2H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8V280"/>
+    <path id="path570" fill="#ccc" fill-opacity="1" d="M350.8 280h-8.1v-8.2h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1V280"/>
+    <path id="path571" fill="none" stroke="#000" stroke-width="1" d="M350.8 280h-8.1v-8.2h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1V280"/>
+    <path id="path572" fill="#ccc" fill-opacity="1" d="M308 269.7h-8.2v-8h-7.2v8h-8v7.2h8v8.2h7.2v-8.2h8.2v-7.2"/>
+    <path id="path573" fill="none" stroke="#000" stroke-width="1" d="M308 269.7h-8.2v-8h-7.2v8h-8v7.2h8v8.2h7.2v-8.2h8.2v-7.2"/>
+    <path id="path574" fill="#ccc" fill-opacity="1" d="M266.3 315.2h-8.1V307H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8v-7.2"/>
+    <path id="path575" fill="none" stroke="#000" stroke-width="1" d="M266.3 315.2h-8.1V307H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8v-7.2"/>
+    <path id="path576" fill="#ccc" fill-opacity="1" d="M350.8 315.2h-8.1V307h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1v-7.2"/>
+    <path id="path577" fill="none" stroke="#000" stroke-width="1" d="M350.8 315.2h-8.1V307h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1v-7.2"/>
+    <path id="path578" fill="#ccc" fill-opacity="1" d="M266.3 350.7h-8.1v-8.1H251v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8v-7.3"/>
+    <path id="path579" fill="none" stroke="#000" stroke-width="1" d="M266.3 350.7h-8.1v-8.1H251v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8v-7.3"/>
+    <path id="path580" fill="#ccc" fill-opacity="1" d="M350.8 350.7h-8.1v-8.1h-7.2v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8.1v-7.3"/>
+    <path id="path581" fill="none" stroke="#000" stroke-width="1" d="M350.8 350.7h-8.1v-8.1h-7.2v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8.1v-7.3"/>
+    <path id="path582" fill="#005bbf" fill-opacity="1" d="M296.5 185.8a7.8 7.8 0 100-15.7 7.8 7.8 0 000 15.7"/>
+    <path id="path583" fill="none" stroke="#000" stroke-width="1" d="M296.5 185.8a7.8 7.8 0 100-15.7 7.8 7.8 0 000 15.7z"/>
+    <path id="path584" fill="#fc0" fill-opacity="1" d="M303.8 176.6h-6.4v-10.4h2.5v-2h-2.5v-2.5h-2v2.4h-2.5v2.1h2.4v10.4h-6v1.4h14.5v-1.4"/>
+    <path id="path585" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".5" d="M303.8 176.6h-6.4v-10.4h2.5v-2h-2.5v-2.5h-2v2.4h-2.5v2.1h2.4v10.4h-6v1.4h14.5v-1.4"/>
+    <path id="path586" fill="#fc0" fill-opacity="1" d="M265.2 195.1s5.8-.6 9.1.7c0 0-3.8 4.4-3 10.1.4 3 1 4.5 1.9 6 .8 1.3 1.7 4.3 1.2 6.6h1.1s1.1-4.8-.7-7.4a10 10 0 01-1-10.3c1.9-3.8 4.6-5.3 4.6-5.3 3 1.2 9.6 0 11.4-1.3 1.9-1.3 2.8-3.2-.6-3.3-3.5-.2-9.3-.1-13.3 2.9 0 0-2.1-2.4-12.6-1.3-10.5 1.2-18 5.7-20.4 15.1-1.2 4.8 3.3 14.9 7.4 17.3 0 0-.1-1.6.3-2.8 0 0-7-7.9-5-15.2 2.2-7.2 10.6-12 19.6-11.8"/>
+    <path id="path587" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M265.2 195.1s5.8-.6 9.1.7c0 0-3.8 4.4-3 10.1.4 3 1 4.5 1.9 6 .8 1.3 1.7 4.3 1.2 6.6h1.1s1.1-4.8-.7-7.4a10 10 0 01-1-10.3c1.9-3.8 4.6-5.3 4.6-5.3 3 1.2 9.6 0 11.4-1.3 1.9-1.3 2.8-3.2-.6-3.3-3.5-.2-9.3-.1-13.3 2.9 0 0-2.1-2.4-12.6-1.3-10.5 1.2-18 5.7-20.4 15.1-1.2 4.8 3.3 14.9 7.4 17.3 0 0-.1-1.6.3-2.8 0 0-7-7.9-5-15.2 2.2-7.2 10.6-12 19.6-11.8z"/>
+    <path id="path588" fill="#fff" d="M284.9 193.7c1.8-.2 3.3-.5 3.2-.7 0-.3-1.5-.3-3.3-.2-1.8.1-3.2.5-3.2.7 0 .3 1.5.3 3.3.2"/>
+    <path id="path589" fill="none" stroke="#000" stroke-width=".7" d="M278.3 195.4s-2 2 0 0 6.4-3.2 8.9-2.7c2.4.6-.5.9-1.3 1-.8 0-2.4.3-4.8 0"/>
+    <path id="path590" fill="#fc0" fill-opacity="1" d="M327.7 195.8s-5.7-.7-9.1.6a14.6 14.6 0 011.2 16c-.9 1.5-1.8 4.4-1.3 6.7h-1s-1.2-4.7.7-7.4a10 10 0 00.9-10.2 12.6 12.6 0 00-4.5-5.4c-3.1 1.3-9.7 0-11.5-1.3-1.8-1.3-2.8-3.1.7-3.3 3.4-.2 9.3-.1 13.3 3 0 0 2-2.5 12.6-1.3 10.4 1.1 18 5.6 20.3 15 1.2 4.8-3.2 14.9-7.3 17.3 0 0 0-1.6-.3-2.8 0 0 7-7.8 4.9-15.1-2.1-7.3-10.5-12-19.6-11.8"/>
+    <path id="path591" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M327.7 195.8s-5.7-.7-9.1.6a14.6 14.6 0 011.2 16c-.9 1.5-1.8 4.4-1.3 6.7h-1s-1.2-4.7.7-7.4a10 10 0 00.9-10.2 12.6 12.6 0 00-4.5-5.4c-3.1 1.3-9.7 0-11.5-1.3-1.8-1.3-2.8-3.1.7-3.3 3.4-.2 9.3-.1 13.3 3 0 0 2-2.5 12.6-1.3 10.4 1.1 18 5.6 20.3 15 1.2 4.8-3.2 14.9-7.3 17.3 0 0 0-1.6-.3-2.8 0 0 7-7.8 4.9-15.1-2.1-7.3-10.5-12-19.6-11.8z"/>
+    <path id="path592" fill="#fff" d="M308 194.3c-1.8-.1-3.2-.4-3.2-.7 0-.2 1.5-.3 3.3-.2 1.8.2 3.3.5 3.3.7 0 .3-1.5.4-3.4.2"/>
+    <path id="path593" fill="none" stroke="#000" stroke-width=".7" d="M314.6 196s2.1 2 0 0c-2-1.9-6.4-3.2-8.8-2.6-2.5.5.4.8 1.2.9.9 0 2.5.4 4.9 0"/>
+    <path id="path594" fill="#fc0" fill-opacity="1" d="M291.1 189.3v22.3c-.2 2.2 2.7 5.3 4.8 6.2 0 0 5-1.6 5.3-6.2v-23.5h-1.7v20.4c0 2-1.4 5.8-3.3 6.4 0 0-3.6-.6-3.8-6.4v-19.8l-1.3.6"/>
+    <path id="path595" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M291.1 189.3v22.3c-.2 2.2 2.7 5.3 4.8 6.2 0 0 5-1.6 5.3-6.2v-23.5h-1.7v20.4c0 2-1.4 5.8-3.3 6.4 0 0-3.6-.6-3.8-6.4v-19.8l-1.3.6"/>
+    <path id="path596" fill="#fff" d="M241.8 219.8a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path597" fill="none" stroke="#000" stroke-width="1" d="M241.8 219.8a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path598" fill="#fff" d="M240.1 213.7a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path599" fill="none" stroke="#000" stroke-width="1" d="M240.1 213.7a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path600" fill="#fff" d="M241 206.3a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path601" fill="none" stroke="#000" stroke-width="1" d="M241 206.3a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path602" fill="#fff" d="M245.1 200.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path603" fill="none" stroke="#000" stroke-width="1" d="M245.1 200.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path604" fill="#fff" d="M250 195.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path605" fill="none" stroke="#000" stroke-width="1" d="M250 195.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path606" fill="#fff" d="M256.4 193.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path607" fill="none" stroke="#000" stroke-width="1" d="M256.4 193.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path608" fill="#fff" d="M263 192a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path609" fill="none" stroke="#000" stroke-width="1" d="M263 192a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path610" fill="#fff" d="M269.3 191.6a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path611" fill="none" stroke="#000" stroke-width="1" d="M269.3 191.6a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path612" fill="#fff" d="M275 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4"/>
+    <path id="path613" fill="none" stroke="#000" stroke-width="1" d="M275 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4z"/>
+    <path id="path614" fill="#fff" d="M291 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path615" fill="none" stroke="#000" stroke-width="1" d="M291 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path616" fill="#fff" d="M296.2 191.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path617" fill="none" stroke="#000" stroke-width="1" d="M296.2 191.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path618" fill="#fff" d="M296.2 211.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path619" fill="none" stroke="#000" stroke-width="1" d="M296.2 211.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path620" fill="#fff" d="M351.3 221.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path621" fill="none" stroke="#000" stroke-width="1" d="M351.3 221.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path622" fill="#fff" d="M352.7 215a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path623" fill="none" stroke="#000" stroke-width="1" d="M352.7 215a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path624" fill="#fff" d="M351.6 208a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path625" fill="none" stroke="#000" stroke-width="1" d="M351.6 208a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path626" fill="#fff" d="M348.7 201.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path627" fill="none" stroke="#000" stroke-width="1" d="M348.7 201.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path628" fill="#fff" d="M343.8 197a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path629" fill="none" stroke="#000" stroke-width="1" d="M343.8 197a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path630" fill="#fff" d="M337.9 194a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path631" fill="none" stroke="#000" stroke-width="1" d="M337.9 194a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path632" fill="#fff" d="M331.1 192.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path633" fill="none" stroke="#000" stroke-width="1" d="M331.1 192.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path634" fill="#fff" d="M325 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path635" fill="none" stroke="#000" stroke-width="1" d="M325 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path636" fill="#fff" d="M319.4 191.3a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path637" fill="none" stroke="#000" stroke-width="1" d="M319.4 191.3a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path638" fill="#fff" d="M323 213a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4"/>
+    <path id="path639" fill="none" stroke="#000" stroke-width="1" d="M323 213a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4z"/>
+    <path id="path640" fill="#fff" d="M324.4 208a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path641" fill="none" stroke="#000" stroke-width="1" d="M324.4 208a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path642" fill="#fff" d="M302 190.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path643" fill="none" stroke="#000" stroke-width="1" d="M302 190.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path644" fill="#fff" d="M289 190.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path645" fill="none" stroke="#000" stroke-width="1" d="M289 190.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path646" fill="#fff" d="M285.8 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path647" fill="none" stroke="#000" stroke-width="1" d="M285.8 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path648" fill="#fff" d="M268.8 213.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path649" fill="none" stroke="#000" stroke-width="1" d="M268.8 213.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path650" fill="#fff" d="M268 206.8a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path651" fill="none" stroke="#000" stroke-width="1" d="M268 206.8a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path652" fill="#fff" d="M270 200.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path653" fill="none" stroke="#000" stroke-width="1" d="M270 200.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path654" fill="#fff" d="M281.7 190.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path655" fill="none" stroke="#000" stroke-width="1" d="M281.7 190.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path656" fill="#fff" d="M277.2 192.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path657" fill="none" stroke="#000" stroke-width="1" d="M277.2 192.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path658" fill="#fff" d="M273 196a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path659" fill="none" stroke="#000" stroke-width="1" d="M273 196a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path660" fill="#fff" d="M296.2 194.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path661" fill="none" stroke="#000" stroke-width="1" d="M296.2 194.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path662" fill="#fff" d="M296.2 199.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path663" fill="none" stroke="#000" stroke-width="1" d="M296.2 199.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path664" fill="#fff" d="M296.2 204.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path665" fill="none" stroke="#000" stroke-width="1" d="M296.2 204.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path666" fill="#fff" d="M305.4 190.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path667" fill="none" stroke="#000" stroke-width="1" d="M305.4 190.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path668" fill="#fff" d="M309 189.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path669" fill="none" stroke="#000" stroke-width="1" d="M309 189.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path670" fill="#fff" d="M313.2 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4"/>
+    <path id="path671" fill="none" stroke="#000" stroke-width="1" d="M313.2 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4z"/>
+    <path id="path672" fill="#fff" d="M323.5 201.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path673" fill="none" stroke="#000" stroke-width="1" d="M323.5 201.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path674" fill="#fff" d="M317.3 192.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path675" fill="none" stroke="#000" stroke-width="1" d="M317.3 192.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path676" fill="#fff" d="M321.1 196.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path677" fill="none" stroke="#000" stroke-width="1" d="M321.1 196.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path678" fill="#fff" d="M296 236l-7 3.6 6.3 4 7.5-3.8-6.8-3.8"/>
+    <path id="path679" fill="none" stroke="#000" stroke-width=".5" d="M296 236l-7 3.6 6.3 4 7.5-3.8-6.8-3.8"/>
+    <path id="path680" fill="#fff" d="M280.6 236.8l-10.5 1.6s-.2 5.7.3 7l10.9-1.4s.5-5.3-.7-7.2"/>
+    <path id="path681" fill="none" stroke="#000" stroke-width=".5" d="M280.6 236.8l-10.5 1.6s-.2 5.7.3 7l10.9-1.4s.5-5.3-.7-7.2z"/>
+    <path id="path682" fill="#058e6e" fill-opacity=".9" d="M279.5 238.8s-6.4.6-8 1.2v3.8s4.3-.7 8.1-1l-.1-4"/>
+    <path id="path683" fill="none" stroke="#000" stroke-width=".5" d="M279.5 238.8s-6.4.6-8 1.2v3.8s4.3-.7 8.1-1l-.1-4"/>
+    <path id="path684" fill="#fff" d="M310.7 237l10.6 1.7s.1 5.7-.4 7l-10.8-1.4s-.5-5.3.6-7.2"/>
+    <path id="path685" fill="none" stroke="#000" stroke-width=".5" d="M310.7 237l10.6 1.7s.1 5.7-.4 7l-10.8-1.4s-.5-5.3.6-7.2z"/>
+    <path id="path686" fill="#058e6e" fill-opacity=".9" d="M312 239.1s6.3.6 7.9 1.2l-.1 3.8s-4.2-.7-8-1l.1-4"/>
+    <path id="path687" fill="none" stroke="#000" stroke-width=".5" d="M312 239.1s6.3.6 7.9 1.2l-.1 3.8s-4.2-.7-8-1l.1-4"/>
+    <path id="path688" fill="none" stroke="#000" stroke-width=".5" d="M254.2 241.8s37-13.7 84.2 1.2m-82.7 6.7s35.9-13.4 80 .6m-79.8-9l7.2 2.1-5 5.4"/>
+    <path id="path689" fill="red" d="M256 247.8l4.2-3.5-4.7-.9s.6.7.5 1.4v3"/>
+    <path id="path690" fill="none" stroke="#000" stroke-width=".5" d="M256 247.8l4.2-3.5-4.7-.9s.6.7.5 1.4v3z"/>
+    <path id="path691" fill="none" stroke="#000" stroke-width=".5" d="M337.6 242.7l-7.7 1.4 5.2 6"/>
+    <path id="path692" fill="red" d="M335.3 248l-2.9-3 4.2-.4s-1.2.7-1.2 1.4c0 .6.2 1.5 0 2"/>
+    <path id="path693" fill="none" stroke="#000" stroke-width=".5" d="M335.3 248l-2.9-3 4.2-.4s-1.2.7-1.2 1.4c0 .6.2 1.5 0 2z"/>
+    <path id="path694" fill="none" stroke="#000" stroke-width=".5" d="M265.3 241.8c.6 0 1.2-.4 1.2-1 0-.4-.6-.9-1.2-.9-.7 0-1.2.5-1.2 1s.5 1 1.2 1zm20.6-2.3c.7 0 1.2-.4 1.2-1 0-.5-.5-.9-1.2-.9s-1.2.4-1.2 1c0 .5.5.9 1.2.9zm0 3.3c.7 0 1.2-.4 1.2-.9s-.5-1-1.2-1-1.2.5-1.2 1 .5 1 1.2 1zm20.3-3.1c.6 0 1.2-.5 1.2-1s-.6-1-1.2-1c-.7 0-1.2.5-1.2 1s.5 1 1.2 1zm20.1 3.7c.7 0 1.2-.5 1.2-1s-.5-1-1.2-1-1.2.5-1.2 1 .5 1 1.2 1zm-.3 2.6c.6 0 1.2-.4 1.2-1 0-.4-.6-.9-1.2-.9-.7 0-1.2.5-1.2 1s.5 1 1.2 1zm-19.8-3c.6 0 1.2-.4 1.2-1 0-.5-.6-.9-1.2-.9-.7 0-1.2.4-1.2 1 0 .5.5 1 1.2 1zm-40 3c.7 0 1.3-.4 1.3-1 0-.4-.6-.9-1.2-.9-.7 0-1.2.5-1.2 1s.5 1 1.2 1z"/>
+    <path id="path695" fill="#fc0" fill-opacity="1" d="M253.6 231s.1 7.2 4.8 6.2 4.2-6.9 4.5-7.2c.4-.3.9-.3.9-.3s.6 5.7 5 5c4.4-.7 4.2-7.7 3.7-8.9l1-.3s1.7 8.2 6.7 7c5-1.2 4.5-6.4 4.5-6.4h.4s1.1 5.6 5.2 5.2c4-.3 4.8-1.6 4.3-7.2l2.7-.5s-1 8 3.9 8c4.8-.3 5-4.1 5.3-4.8h.8s.2 5.7 4.3 5.7c4 0 4.8-4.8 4.8-6.7l4 .2s-4.2 7.5 1.9 8.5c6 1 6.2-4.8 6.2-4.8h1.2s-.2 7.5 3.1 7.7c3.4.1 5.4-1 5.7-6.6l1.9.7s-1.6 9-7.9 7.4c-3.3-.9-4.4-4.7-4.2-5.7 0 0-2.3 4.2-6.9 2.8-4.5-1.3-4-4.5-4-5.5 0 0-2.7 5-6.5 3.9-3.4-1-4.7-2.2-4.7-4.6 0 0-1.7 3.9-5 3.7-3.4-.1-5-2.2-5.2-4 0 0-.7 3.6-5.2 3.9-3 .1-4.7-1.4-5.4-3.4 0 0-.9 3.6-5.2 4.2-2.7.3-5.4-1.2-6-3.7 0 0-.7 4.9-5 5.5-4.4.7-5.4-2.3-5.4-2.3s-.9 3.8-4.4 4.7c-3.5.8-5.8-.7-6.7-4.2-.8-3.5-.5-5-.5-5l1.4 1.8"/>
+    <path id="path696" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M253.6 231s.1 7.2 4.8 6.2 4.2-6.9 4.5-7.2c.4-.3.9-.3.9-.3s.6 5.7 5 5c4.4-.7 4.2-7.7 3.7-8.9l1-.3s1.7 8.2 6.7 7c5-1.2 4.5-6.4 4.5-6.4h.4s1.1 5.6 5.2 5.2c4-.3 4.8-1.6 4.3-7.2l2.7-.5s-1 8 3.9 8c4.8-.3 5-4.1 5.3-4.8h.8s.2 5.7 4.3 5.7c4 0 4.8-4.8 4.8-6.7l4 .2s-4.2 7.5 1.9 8.5c6 1 6.2-4.8 6.2-4.8h1.2s-.2 7.5 3.1 7.7c3.4.1 5.4-1 5.7-6.6l1.9.7s-1.6 9-7.9 7.4c-3.3-.9-4.4-4.7-4.2-5.7 0 0-2.3 4.2-6.9 2.8-4.5-1.3-4-4.5-4-5.5 0 0-2.7 5-6.5 3.9-3.4-1-4.7-2.2-4.7-4.6 0 0-1.7 3.9-5 3.7-3.4-.1-5-2.2-5.2-4 0 0-.7 3.6-5.2 3.9-3 .1-4.7-1.4-5.4-3.4 0 0-.9 3.6-5.2 4.2-2.7.3-5.4-1.2-6-3.7 0 0-.7 4.9-5 5.5-4.4.7-5.4-2.3-5.4-2.3s-.9 3.8-4.4 4.7c-3.5.8-5.8-.7-6.7-4.2-.8-3.5-.5-5-.5-5l1.4 1.8h0z"/>
+    <path id="path697" fill="#fc0" fill-opacity="1" d="M263.3 231.3a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path698" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M263.3 231.3a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path699" fill="#fc0" fill-opacity="1" d="M285.1 227.8a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path700" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M285.1 227.8a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path701" fill="#fc0" fill-opacity="1" d="M307.3 228.5a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path702" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M307.3 228.5a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path703" fill="#fc0" fill-opacity="1" d="M329.2 232a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path704" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M329.2 232a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path705" fill="#fc0" fill-opacity="1" d="M295.2 226h-1.5c-.4 1.5-3.6 2.4-3.6 2.4-.4-1.2.5-2.9.5-2.9-3.7-1-3.7-2.2-3.7-2.2.5-1.3 4-1.5 4-1.5-1-1.1-.8-3-.8-3 2.3.2 4.2 2.5 4.2 2.5s-2.3-1.2-2-5.2c0 0 1.2 0 2 .8 0 0 0-4.4 1.8-4.9h.2c1.8.5 1.8 4.9 1.8 4.9.8-.9 2-.8 2-.8.3 4-2 5.2-2 5.2s1.9-2.3 4.2-2.4c0 0 .1 1.8-.7 3 0 0 3.4.1 4 1.4 0 0 0 1.3-3.8 2.2 0 0 .8 1.7.5 3 0 0-3.3-1-3.6-2.5h-3.5"/>
+    <path id="path706" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M295.2 226h-1.5c-.4 1.5-3.6 2.4-3.6 2.4-.4-1.2.5-2.9.5-2.9-3.7-1-3.7-2.2-3.7-2.2.5-1.3 4-1.5 4-1.5-1-1.1-.8-3-.8-3 2.3.2 4.2 2.5 4.2 2.5s-2.3-1.2-2-5.2c0 0 1.2 0 2 .8 0 0 0-4.4 1.8-4.9h.2c1.8.5 1.8 4.9 1.8 4.9.8-.9 2-.8 2-.8.3 4-2 5.2-2 5.2s1.9-2.3 4.2-2.4c0 0 .1 1.8-.7 3 0 0 3.4.1 4 1.4 0 0 0 1.3-3.8 2.2 0 0 .8 1.7.5 3 0 0-3.3-1-3.6-2.5h-3.5 0z"/>
+    <path id="path707" fill="#fff" d="M296 226.8a3 3 0 100-6 3 3 0 000 6"/>
+    <path id="path708" fill="none" stroke="#000" stroke-width=".4" d="M296 226.8a3 3 0 100-6 3 3 0 000 6z"/>
+    <path id="path709" fill="#fff" d="M296 225.5a1.7 1.7 0 100-3.4 1.7 1.7 0 000 3.4"/>
+    <path id="path710" fill="none" stroke="#000" stroke-width=".3" d="M296 225.5a1.7 1.7 0 100-3.4 1.7 1.7 0 000 3.4z"/>
+    <path id="path711" fill="#fc0" fill-opacity="1" d="M319.1 228l1.5.3c0 1.5 3 3.1 3 3.1.6-1 .1-2.9.1-2.9 3.9-.1 4.1-1.4 4.1-1.4-.2-1.4-3.5-2.3-3.5-2.3 1-.9 1.3-2.7 1.3-2.7-2.3-.4-4.6 1.4-4.6 1.4s2.5-.6 3-4.6c0 0-1.1-.3-2 .3 0 0 .9-4.2-.8-5l-.2-.1c-1.9 0-2.8 4.3-2.8 4.3-.6-1-1.8-1.1-1.8-1.1-1.1 3.8.9 5.4.9 5.4s-1.4-2.6-3.6-3.2c0 0-.5 1.8 0 3 0 0-3.3-.5-4.1.6 0 0-.3 1.3 3.1 3 0 0-1.1 1.5-1 2.8 0 0 3.3-.3 4-1.7l1.5.3 2 .4"/>
+    <path id="path712" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M319.1 228l1.5.3c0 1.5 3 3.1 3 3.1.6-1 .1-2.9.1-2.9 3.9-.1 4.1-1.4 4.1-1.4-.2-1.4-3.5-2.3-3.5-2.3 1-.9 1.3-2.7 1.3-2.7-2.3-.4-4.6 1.4-4.6 1.4s2.5-.6 3-4.6c0 0-1.1-.3-2 .3 0 0 .9-4.2-.8-5l-.2-.1c-1.9 0-2.8 4.3-2.8 4.3-.6-1-1.8-1.1-1.8-1.1-1.1 3.8.9 5.4.9 5.4s-1.4-2.6-3.6-3.2c0 0-.5 1.8 0 3 0 0-3.3-.5-4.1.6 0 0-.3 1.3 3.1 3 0 0-1.1 1.5-1 2.8 0 0 3.3-.3 4-1.7l1.5.3 2 .4"/>
+    <path id="path713" fill="#fff" d="M318 228.6a3 3 0 111.4-6 3 3 0 01-1.3 6"/>
+    <path id="path714" fill="none" stroke="#000" stroke-width=".4" d="M318 228.6a3 3 0 111.4-6 3 3 0 01-1.3 6z"/>
+    <path id="path715" fill="#fff" d="M318.4 227.3a1.7 1.7 0 11.7-3.3 1.7 1.7 0 01-.7 3.3"/>
+    <path id="path716" fill="none" stroke="#000" stroke-width=".3" d="M318.4 227.3a1.7 1.7 0 11.7-3.3 1.7 1.7 0 01-.7 3.3z"/>
+    <path id="path717" fill="#fc0" fill-opacity="1" d="M272.3 227.6l-1.5.2c-.2 1.6-3.3 3-3.3 3-.5-1.2 0-3 0-3-3.7-.4-3.9-1.7-3.9-1.7.4-1.3 3.8-2 3.8-2-1-1-1.1-2.8-1.1-2.8 2.2-.2 4.4 1.8 4.4 1.8s-2.4-.8-2.7-4.8c0 0 1.3-.3 2.1.4 0 0-.5-4.3 1.2-5h.2c1.9.2 2.4 4.5 2.4 4.5.7-.9 2-1 2-1 .7 4-1.4 5.4-1.4 5.4s1.6-2.5 3.8-3c0 0 .4 1.9-.3 3.1 0 0 3.4-.3 4.1 1 0 0 .2 1.2-3.4 2.6 0 0 1 1.6.9 2.8 0 0-3.3-.5-4-2l-1.4.3-2 .2"/>
+    <path id="path718" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M272.3 227.6l-1.5.2c-.2 1.6-3.3 3-3.3 3-.5-1.2 0-3 0-3-3.7-.4-3.9-1.7-3.9-1.7.4-1.3 3.8-2 3.8-2-1-1-1.1-2.8-1.1-2.8 2.2-.2 4.4 1.8 4.4 1.8s-2.4-.8-2.7-4.8c0 0 1.3-.3 2.1.4 0 0-.5-4.3 1.2-5h.2c1.9.2 2.4 4.5 2.4 4.5.7-.9 2-1 2-1 .7 4-1.4 5.4-1.4 5.4s1.6-2.5 3.8-3c0 0 .4 1.9-.3 3.1 0 0 3.4-.3 4.1 1 0 0 .2 1.2-3.4 2.6 0 0 1 1.6.9 2.8 0 0-3.3-.5-4-2l-1.4.3-2 .2"/>
+    <path id="path719" fill="#fff" d="M273.2 228.4a3 3 0 10-.8-6 3 3 0 00.8 6"/>
+    <path id="path720" fill="none" stroke="#000" stroke-width=".4" d="M273.2 228.4a3 3 0 10-.8-6 3 3 0 00.8 6z"/>
+    <path id="path721" fill="#fff" d="M273 227a1.7 1.7 0 10-.4-3.3 1.7 1.7 0 00.4 3.3"/>
+    <path id="path722" fill="none" stroke="#000" stroke-width=".3" d="M273 227a1.7 1.7 0 10-.4-3.3 1.7 1.7 0 00.4 3.3z"/>
+    <path id="path723" fill="#fc0" fill-opacity="1" d="M340.2 234.1s-.8-2-2.5-1.3-1.5 1-3 1c0 0-.6-1.9.2-2.7 0 0-2.4-.9-3-3 0 0 1.3-1.5 4.4-.9 0 0-.1-1.5.3-2.2 0 0 3.3 1 3.3 2.9 0 0-1-3.6.8-6.2 0 0 1.5.6 1.4 2.3 0 0 .7-3.4 5.2-2.5 0 0-2.4 2.2-2.5 3.2-.2 1-2.2 2.7-2.3 3.3 0 .5-.2 1.5-.8 2.1-.6.6-.7 1.6-.7 2 0 .2 0 1.6-.8 2"/>
+    <path id="path724" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M340.2 234.1s-.8-2-2.5-1.3-1.5 1-3 1c0 0-.6-1.9.2-2.7 0 0-2.4-.9-3-3 0 0 1.3-1.5 4.4-.9 0 0-.1-1.5.3-2.2 0 0 3.3 1 3.3 2.9 0 0-1-3.6.8-6.2 0 0 1.5.6 1.4 2.3 0 0 .7-3.4 5.2-2.5 0 0-2.4 2.2-2.5 3.2-.2 1-2.2 2.7-2.3 3.3 0 .5-.2 1.5-.8 2.1-.6.6-.7 1.6-.7 2 0 .2 0 1.6-.8 2z"/>
+    <path id="path725" fill="#fff" d="M337.7 230.1a3 3 0 014.8-1.8c0 .5-.3 1.3-.8 1.8-.6.6-.7 1.6-.7 2a3 3 0 01-.4 1.6h-.5a3 3 0 01-2.4-3.6"/>
+    <path id="path726" fill="none" stroke="#000" stroke-width=".4" d="M337.7 230.1a3 3 0 014.8-1.8c0 .5-.3 1.3-.8 1.8-.6.6-.7 1.6-.7 2a3 3 0 01-.4 1.6h-.5a3 3 0 01-2.4-3.6z"/>
+    <path id="path727" fill="#fff" d="M339 230.4a1.7 1.7 0 013-.7l-.3.4c-.6.6-.7 1.6-.7 2v.2h-.6c-1-.1-1.5-1-1.3-2"/>
+    <path id="path728" fill="none" stroke="#000" stroke-width=".3" d="M339 230.4a1.7 1.7 0 013-.7l-.3.4c-.6.6-.7 1.6-.7 2v.2h-.6c-1-.1-1.5-1-1.3-2z"/>
+    <path id="path729" fill="#fc0" fill-opacity="1" d="M252.2 233.3s.8-2 2.5-1.2c1.6.9 1.4 1.1 3 1.1 0 0 .6-1.8 0-2.6 0 0 2.4-.7 3-2.8 0 0-1.2-1.6-4.3-1.2 0 0 .2-1.5-.2-2.2 0 0-3.3.8-3.4 2.6 0 0 1.2-3.5-.4-6.2 0 0-1.6.6-1.6 2.2 0 0-.5-3.4-5-2.7 0 0 2.3 2.3 2.3 3.3s2 2.8 2 3.4c0 .5.2 1.6.8 2.2.6.6.6 1.6.5 2 0 .2 0 1.6.8 2"/>
+    <path id="path730" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M252.2 233.3s.8-2 2.5-1.2c1.6.9 1.4 1.1 3 1.1 0 0 .6-1.8 0-2.6 0 0 2.4-.7 3-2.8 0 0-1.2-1.6-4.3-1.2 0 0 .2-1.5-.2-2.2 0 0-3.3.8-3.4 2.6 0 0 1.2-3.5-.4-6.2 0 0-1.6.6-1.6 2.2 0 0-.5-3.4-5-2.7 0 0 2.3 2.3 2.3 3.3s2 2.8 2 3.4c0 .5.2 1.6.8 2.2.6.6.6 1.6.5 2 0 .2 0 1.6.8 2z"/>
+    <path id="path731" fill="#fff" d="M254.8 229.4a3 3 0 00-4.6-2c0 .5.2 1.3.7 1.8.6.6.6 1.6.5 2 0 .2 0 1 .4 1.7h.4a3 3 0 002.6-3.5"/>
+    <path id="path732" fill="none" stroke="#000" stroke-width=".4" d="M254.8 229.4a3 3 0 00-4.6-2c0 .5.2 1.3.7 1.8.6.6.6 1.6.5 2 0 .2 0 1 .4 1.7h.4a3 3 0 002.6-3.5z"/>
+    <path id="path733" fill="#fff" d="M253.5 229.6a1.7 1.7 0 00-3-.9l.4.5c.6.6.6 1.6.5 2v.2h.7c.9 0 1.5-.9 1.4-1.8"/>
+    <path id="path734" fill="none" stroke="#000" stroke-width=".3" d="M253.5 229.6a1.7 1.7 0 00-3-.9l.4.5c.6.6.6 1.6.5 2v.2h.7c.9 0 1.5-.9 1.4-1.8z"/>
+    <path id="path735" fill="none" stroke="#000" stroke-width="1.5" d="M257.2 251.6s33.8-13.2 76.4.3"/>
+    <path id="path736" fill="none" stroke="#000" stroke-width=".5" d="M338.4 241.1c-47.1-15-84.7-.8-84.7-.8"/>
+    <path id="path737" fill="red" d="M296 237.8l-3.8 1.9 3.4 2.1 4-2-3.6-2"/>
+    <path id="path738" fill="none" stroke="#000" stroke-width=".5" d="M296 237.8l-3.8 1.9 3.4 2.1 4-2-3.6-2"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es.svg
new file mode 100644
index 0000000..d7030eb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/es.svg
@@ -0,0 +1,547 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-es" viewBox="0 0 512 512">
+  <path fill="#AA151B" d="M0 0h512v512H0z"/>
+  <path fill="#F1BF00" d="M0 128h512v256H0z"/>
+  <path fill="#ad1519" d="M171.7 227.6s-.5 0-.8-.2a12.1 12.1 0 01-1.1-1l-.7-.5-.7-.9s-.7-1.2-.4-2c.4-1 1-1.3 1.5-1.6.5-.3 1.6-.6 1.6-.6l1.2-.5 1.3-.3.6-.3.9-.1 1.1-.3 1.7.1h5.1a41 41 0 003.6 1.2c.6.1 1.9.3 2.4.6.6.3 1 .8 1.3 1.1.3.4.3.8.4 1.1v1.1l-.5.9-.6 1-.8.7s-.6.5-1.1.5c-.5 0-5.1-.9-8.2-.9-3 0-7.8.9-7.8.9"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M171.7 227.6s-.5 0-.8-.2a12.1 12.1 0 01-1.1-1l-.7-.5-.7-.9s-.7-1.2-.4-2c.4-1 1-1.3 1.5-1.6.5-.3 1.6-.6 1.6-.6l1.2-.5 1.3-.3.6-.3.9-.1 1.1-.3 1.7.1h5.1a41 41 0 003.6 1.2c.6.1 1.9.3 2.4.6.6.3 1 .8 1.3 1.1.3.4.3.8.4 1.1v1.1l-.5.9-.6 1-.8.7s-.6.5-1.1.5c-.5 0-5.1-.9-8.2-.9-3 0-7.8.9-7.8.9z"/>
+  <path fill="#c8b100" d="M178.2 220.9c0-1.5.6-2.6 1.4-2.6.8 0 1.4 1.1 1.4 2.6 0 1.4-.6 2.5-1.4 2.5-.8 0-1.4-1.1-1.4-2.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M178.2 220.9c0-1.5.6-2.6 1.4-2.6.8 0 1.4 1.1 1.4 2.6 0 1.4-.6 2.5-1.4 2.5-.8 0-1.4-1.1-1.4-2.5z"/>
+  <path fill="#c8b100" d="M179 220.9c0-1.3.3-2.4.6-2.4.4 0 .7 1 .7 2.4 0 1.3-.3 2.3-.7 2.3-.3 0-.6-1-.6-2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179 220.9c0-1.3.3-2.4.6-2.4.4 0 .7 1 .7 2.4 0 1.3-.3 2.3-.7 2.3-.3 0-.6-1-.6-2.3z"/>
+  <path fill="#c8b100" d="M178.7 218.2c0-.5.4-1 .9-1s1 .5 1 1-.5.9-1 .9a1 1 0 01-1-1"/>
+  <path fill="#c8b100" d="M180.3 217.8v.6h-1.5v-.6h.5v-1.3h-.7v-.6h.7v-.6h.6v.6h.6v.6h-.6v1.3h.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M180.3 217.8v.6h-1.5v-.6h.5v-1.3h-.7v-.6h.7v-.6h.6v.6h.6v.6h-.6v1.3h.4"/>
+  <path fill="#c8b100" d="M181 217.8v.6h-2.7v-.6h1v-1.3h-.7v-.6h.7v-.6h.6v.6h.6v.6h-.6v1.3h1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M181 217.8v.6h-2.7v-.6h1v-1.3h-.7v-.6h.7v-.6h.6v.6h.6v.6h-.6v1.3h1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179.9 217.3a.9.9 0 01.6.9c0 .5-.4.9-.9.9s-1-.4-1-1c0-.3.4-.7.8-.8"/>
+  <path fill="#c8b100" d="M179.6 227.4h-5v-1.2l-.3-1.2-.2-1.6c-1.4-1.8-2.6-3-3-2.7 0-.4.2-.6.4-.8 1.2-.7 3.7 1 5.6 3.9l.5.7h4l.5-.7c1.9-2.9 4.4-4.6 5.6-3.9.2.2.4.4.5.8-.5-.3-1.7.9-3 2.7l-.3 1.6-.2 1.2-.1 1.2h-5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179.6 227.4h-5v-1.2l-.3-1.2-.2-1.6c-1.4-1.8-2.6-3-3-2.7 0-.4.2-.6.4-.8 1.2-.7 3.7 1 5.6 3.9l.5.7h4l.5-.7c1.9-2.9 4.4-4.6 5.6-3.9.2.2.4.4.5.8-.5-.3-1.7.9-3 2.7l-.3 1.6-.2 1.2-.1 1.2h-5z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M171.3 220.6c1-.5 3 1.2 4.8 3.8m11.9-3.8c-1-.5-3.1 1.2-4.9 3.8"/>
+  <path fill="#c8b100" d="M172.3 229.6a4.8 4.8 0 00-.6-1c2-.7 4.8-1 7.9-1 3 0 5.9.3 7.9 1l-.6.9-.3.8c-1.8-.6-4.2-.8-7-.8-2.9 0-5.6.3-7 .8l-.3-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M172.3 229.6a4.8 4.8 0 00-.6-1c2-.7 4.8-1 7.9-1 3 0 5.9.3 7.9 1l-.6.9-.3.8c-1.8-.6-4.2-.8-7-.8-2.9 0-5.6.3-7 .8l-.3-.7"/>
+  <path fill="#c8b100" d="M179.6 232.2a27 27 0 006.2-.7c.7-.2 1.1-.5 1-.8 0-.2-.1-.3-.3-.4a25.8 25.8 0 00-7-.9c-2.6 0-5.3.4-6.8.9-.2 0-.3.2-.4.4 0 .3.4.6 1 .8 1 .3 3.8.7 6.3.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179.6 232.2a27 27 0 006.2-.7c.7-.2 1.1-.5 1-.8 0-.2-.1-.3-.3-.4a25.8 25.8 0 00-7-.9c-2.6 0-5.3.4-6.8.9-.2 0-.3.2-.4.4 0 .3.4.6 1 .8 1 .3 3.8.7 6.3.7z"/>
+  <path fill="#c8b100" d="M187.6 227.4l-.6-.5s-.6.3-1.3.2c-.7-.1-1-1-1-1s-.8.7-1.5.6c-.6 0-1-.6-1-.6s-.8.5-1.4.5c-.7 0-1.3-.9-1.3-.9s-.6.9-1.2 1c-.7 0-1.2-.6-1.2-.6s-.3.6-1 .7c-.9.1-1.6-.6-1.6-.6s-.5.7-1 1c-.6.1-1.3-.4-1.3-.4l-.2.5-.3.2.2.4a32.5 32.5 0 0115.5.1l.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M187.6 227.4l-.6-.5s-.6.3-1.3.2c-.7-.1-1-1-1-1s-.8.7-1.5.6c-.6 0-1-.6-1-.6s-.8.5-1.4.5c-.7 0-1.3-.9-1.3-.9s-.6.9-1.2 1c-.7 0-1.2-.6-1.2-.6s-.3.6-1 .7c-.9.1-1.6-.6-1.6-.6s-.5.7-1 1c-.6.1-1.3-.4-1.3-.4l-.2.5-.3.2.2.4a32.5 32.5 0 0115.5.1l.2-.6z"/>
+  <path fill="#c8b100" d="M179.6 224.8h.3a1.1 1.1 0 001 1.5c.6 0 1-.3 1.2-.8l.1-.4v.5c.1.5.6.9 1.2.9a1.1 1.1 0 001.1-1.1v-.1l.4-.4.2.4a1 1 0 00-.1.5c0 .6.5 1 1 1 .4 0 .8-.1 1-.4l.2-.3v.4c0 .3.2.6.5.7 0 0 .4 0 1-.4l.8-.8v.5s-.5.8-1 1.1l-1 .3c-.3-.1-.5-.4-.7-.7a1.6 1.6 0 01-.8.3c-.6 0-1.2-.4-1.4-1a1.6 1.6 0 01-1.2.6 2 2 0 01-1.3-.6 1.6 1.6 0 01-1.1.4c-.6 0-1.1-.3-1.4-.7-.3.4-.8.7-1.4.7a1.6 1.6 0 01-1-.4c-.4.3-.9.6-1.4.6a1.6 1.6 0 01-1.2-.5c-.2.5-.8.8-1.4.8-.3 0-.6 0-.8-.2-.1.3-.4.6-.7.7a2 2 0 01-1-.3 4.4 4.4 0 01-1-1.1v-.5l.9.8c.5.4.9.4.9.4.4 0 .5-.4.5-.7v-.4l.2.3c.2.3.6.5 1 .5.5 0 1-.5 1-1a1 1 0 000-.6l.1-.4.4.4c0 .7.5 1.2 1 1.2.7 0 1.2-.4 1.2-1v-.3l.2.3c.2.5.6.8 1.1.8.7 0 1.2-.5 1.2-1.1a1 1 0 00-.1-.4h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179.6 224.8h.3a1.1 1.1 0 001 1.5c.6 0 1-.3 1.2-.8l.1-.4v.5c.1.5.6.9 1.2.9a1.1 1.1 0 001.1-1.1v-.1l.4-.4.2.4a1 1 0 00-.1.5c0 .6.5 1 1 1 .4 0 .8-.1 1-.4l.2-.3v.4c0 .3.2.6.5.7 0 0 .4 0 1-.4l.8-.8v.5s-.5.8-1 1.1l-1 .3c-.3-.1-.5-.4-.7-.7a1.6 1.6 0 01-.8.3c-.6 0-1.2-.4-1.4-1a1.6 1.6 0 01-1.2.6 2 2 0 01-1.3-.6 1.6 1.6 0 01-1.1.4c-.6 0-1.1-.3-1.4-.7-.3.4-.8.7-1.4.7a1.6 1.6 0 01-1-.4c-.4.3-.9.6-1.4.6a1.6 1.6 0 01-1.2-.5c-.2.5-.8.8-1.4.8-.3 0-.6 0-.8-.2-.1.3-.4.6-.7.7a2 2 0 01-1-.3 4.4 4.4 0 01-1-1.1v-.5l.9.8c.5.4.9.4.9.4.4 0 .5-.4.5-.7v-.4l.2.3c.2.3.6.5 1 .5.5 0 1-.5 1-1a1 1 0 000-.6l.1-.4.4.4c0 .7.5 1.2 1 1.2.7 0 1.2-.4 1.2-1v-.3l.2.3c.2.5.6.8 1.1.8.7 0 1.2-.5 1.2-1.1a1 1 0 00-.1-.4h.3z"/>
+  <path fill="#c8b100" d="M179.6 227.6c-3.1 0-5.9.3-7.9 1l-.3-.2c0-.2 0-.3.2-.4 2-.6 4.8-1 8-1s6 .4 8 1l.2.3c0 .2-.2.3-.3.2-2-.6-4.8-1-8-1"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M179.6 227.6c-3.1 0-5.9.3-7.9 1l-.3-.2c0-.2 0-.3.2-.4 2-.6 4.8-1 8-1s6 .4 8 1l.2.3c0 .2-.2.3-.3.2-2-.6-4.8-1-8-1z"/>
+  <path fill="#fff" d="M176.6 228.7c0-.3.2-.5.5-.5.2 0 .4.2.4.5 0 .2-.2.4-.5.4s-.4-.2-.4-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M176.6 228.7c0-.3.2-.5.5-.5.2 0 .4.2.4.5 0 .2-.2.4-.5.4s-.4-.2-.4-.4z"/>
+  <path fill="#ad1519" d="M179.6 228.8h-1a.3.3 0 01-.3-.3c0-.1.1-.3.3-.3h2a.3.3 0 01.4.3.3.3 0 01-.4.3h-1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179.6 228.8h-1a.3.3 0 01-.3-.3c0-.1.1-.3.3-.3h2a.3.3 0 01.4.3.3.3 0 01-.4.3h-1"/>
+  <path fill="#058e6e" d="M174.7 229.2h-.7c-.2.1-.4 0-.4-.2a.3.3 0 01.2-.3l.7-.1.8-.2c.2 0 .3.1.4.3 0 .2-.1.3-.3.4h-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M174.7 229.2h-.7c-.2.1-.4 0-.4-.2a.3.3 0 01.2-.3l.7-.1.8-.2c.2 0 .3.1.4.3 0 .2-.1.3-.3.4h-.8"/>
+  <path fill="#ad1519" d="M171.8 229.7l.3-.5.7.1-.4.6-.6-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M171.8 229.7l.3-.5.7.1-.4.6-.6-.2"/>
+  <path fill="#fff" d="M181.7 228.7c0-.3.2-.5.4-.5.3 0 .5.2.5.5 0 .2-.2.4-.5.4s-.4-.2-.4-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M181.7 228.7c0-.3.2-.5.4-.5.3 0 .5.2.5.5 0 .2-.2.4-.5.4s-.4-.2-.4-.4z"/>
+  <path fill="#058e6e" d="M184.5 229.2h.8c.1.1.3 0 .3-.2a.3.3 0 00-.2-.3l-.8-.1-.7-.2c-.2 0-.3.1-.4.3 0 .2.1.3.3.4h.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M184.5 229.2h.8c.1.1.3 0 .3-.2a.3.3 0 00-.2-.3l-.8-.1-.7-.2c-.2 0-.3.1-.4.3 0 .2.1.3.3.4h.7"/>
+  <path fill="#ad1519" d="M187.3 229.7l-.2-.5h-.7l.3.6h.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M187.3 229.7l-.2-.5h-.7l.3.6h.7"/>
+  <path fill="#ad1519" d="M179.6 231.6c-2.5 0-4.8-.2-6.5-.7a27.2 27.2 0 016.5-.7c2.5 0 4.7.3 6.5.7-1.8.5-4 .7-6.5.7"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M179.6 231.6c-2.5 0-4.8-.2-6.5-.7a27.2 27.2 0 016.5-.7c2.5 0 4.7.3 6.5.7-1.8.5-4 .7-6.5.7z"/>
+  <path fill="#c8b100" d="M187.4 226.2c.1-.2 0-.4 0-.4-.2 0-.4 0-.5.2 0 .2 0 .4.2.5.1 0 .3-.1.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M187.4 226.2c.1-.2 0-.4 0-.4-.2 0-.4 0-.5.2 0 .2 0 .4.2.5.1 0 .3-.1.3-.3z"/>
+  <path fill="#c8b100" d="M182.5 225.2c0-.2 0-.3-.2-.4-.2 0-.3.2-.3.4s0 .3.2.4c.1 0 .3-.2.3-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M182.5 225.2c0-.2 0-.3-.2-.4-.2 0-.3.2-.3.4s0 .3.2.4c.1 0 .3-.2.3-.4z"/>
+  <path fill="#c8b100" d="M176.7 225.2c0-.2 0-.3.2-.4.2 0 .3.2.3.4s0 .3-.2.4l-.3-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M176.7 225.2c0-.2 0-.3.2-.4.2 0 .3.2.3.4s0 .3-.2.4l-.3-.4z"/>
+  <path fill="#c8b100" d="M171.8 226.2c-.1-.2 0-.4.1-.4s.3 0 .4.2c0 .2 0 .4-.2.5-.1 0-.3-.1-.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M171.8 226.2c-.1-.2 0-.4.1-.4s.3 0 .4.2c0 .2 0 .4-.2.5-.1 0-.3-.1-.3-.3z"/>
+  <path fill="#c8b100" d="M179.6 222.4l-.9.5.7 1.4.2.2.2-.2.7-1.4-1-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179.6 222.4l-.9.5.7 1.4.2.2.2-.2.7-1.4-1-.5"/>
+  <path fill="#c8b100" d="M177.7 224.5l.4.6 1.3-.4.2-.2-.2-.2-1.3-.4-.4.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M177.7 224.5l.4.6 1.3-.4.2-.2-.2-.2-1.3-.4-.4.6"/>
+  <path fill="#c8b100" d="M181.5 224.5l-.4.6-1.3-.4-.2-.2.1-.2 1.4-.4.4.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M181.5 224.5l-.4.6-1.3-.4-.2-.2.1-.2 1.4-.4.4.6"/>
+  <path fill="#c8b100" d="M173.9 223l-.7.6.9 1.2.2.1.2-.2.3-1.4-1-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M173.9 223l-.7.6.9 1.2.2.1.2-.2.3-1.4-1-.3"/>
+  <path fill="#c8b100" d="M172.4 225.3l.5.5 1.3-.7v-.4h-1.5l-.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M172.4 225.3l.5.5 1.3-.7v-.4h-1.5l-.3.6"/>
+  <path fill="#c8b100" d="M176.2 224.6l-.3.6-1.4-.1-.2-.2.1-.2 1.3-.7.5.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M176.2 224.6l-.3.6-1.4-.1-.2-.2.1-.2 1.3-.7.5.6"/>
+  <path fill="#c8b100" d="M171 225.5v.7l-1.5.1h-.2v-.3l1.1-1 .6.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M171 225.5v.7l-1.5.1h-.2v-.3l1.1-1 .6.5"/>
+  <path fill="#c8b100" d="M173.8 225c0-.4.2-.6.5-.6s.5.2.5.5a.5.5 0 01-.5.5.5.5 0 01-.5-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M173.8 225c0-.4.2-.6.5-.6s.5.2.5.5a.5.5 0 01-.5.5.5.5 0 01-.5-.5z"/>
+  <path fill="#c8b100" d="M185.3 223l.7.6-.9 1.2-.2.1-.2-.2-.3-1.4 1-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M185.3 223l.7.6-.9 1.2-.2.1-.2-.2-.3-1.4 1-.3"/>
+  <path fill="#c8b100" d="M186.8 225.3l-.6.5-1.2-.7-.1-.2.2-.2h1.4l.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M186.8 225.3l-.6.5-1.2-.7-.1-.2.2-.2h1.4l.3.6"/>
+  <path fill="#c8b100" d="M183 224.6l.3.6 1.4-.1.2-.2-.1-.2-1.3-.7-.5.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M183 224.6l.3.6 1.4-.1.2-.2-.1-.2-1.3-.7-.5.6"/>
+  <path fill="#c8b100" d="M188 225.5v.7l1.5.1h.2v-.3l-1.1-1-.6.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M188 225.5v.7l1.5.1h.2v-.3l-1.1-1-.6.5"/>
+  <path fill="#c8b100" d="M179 224.5a.5.5 0 01.6-.5c.3 0 .5.2.5.5a.5.5 0 01-.5.4.5.5 0 01-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M179 224.5a.5.5 0 01.6-.5c.3 0 .5.2.5.5a.5.5 0 01-.5.4.5.5 0 01-.5-.4z"/>
+  <path fill="#c8b100" d="M184.4 225a.5.5 0 01.5-.6.5.5 0 01.5.5.5.5 0 01-.5.5.5.5 0 01-.5-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M184.4 225a.5.5 0 01.5-.6.5.5 0 01.5.5.5.5 0 01-.5.5.5.5 0 01-.5-.5z"/>
+  <path fill="#c8b100" d="M169.1 226.3l-.7-.8-.7-.3s.3-.3.6-.3l.5.2v-.2s.3 0 .4.4v1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M169.1 226.3l-.7-.8-.7-.3s.3-.3.6-.3l.5.2v-.2s.3 0 .4.4v1z"/>
+  <path fill="#c8b100" d="M169.1 226l.6.1c.2.2.2.4 0 .5s-.3.1-.4 0c-.2-.2-.3-.4-.2-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M169.1 226l.6.1c.2.2.2.4 0 .5s-.3.1-.4 0c-.2-.2-.3-.4-.2-.5z"/>
+  <path fill="#c8b100" d="M189.9 226.3l.7-.8.7-.3s-.3-.3-.6-.3a.6.6 0 00-.5.2v-.2s-.3 0-.4.4v.7l.1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M189.9 226.3l.7-.8.7-.3s-.3-.3-.6-.3a.6.6 0 00-.5.2v-.2s-.3 0-.4.4v.7l.1.3z"/>
+  <path fill="#c8b100" d="M189.9 226l-.5.1c-.2.2-.3.4-.2.5h.6c.2-.2.2-.4.1-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M189.9 226l-.5.1c-.2.2-.3.4-.2.5h.6c.2-.2.2-.4.1-.5z"/>
+  <path fill="#c8b100" d="M168.2 238h22.9v-6h-22.9v6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M168.2 238h22.9v-6h-22.9v6z"/>
+  <path fill="#c8b100" d="M170.6 242l.5-.1h17.5c-.6-.2-1-.7-1-1.3 0-.6.5-1.2 1-1.4a1.8 1.8 0 01-.5.1h-17a1.5 1.5 0 01-.5 0c.7.2 1 .7 1 1.3 0 .6-.4 1.1-1 1.3"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M170.6 242l.5-.1h17.5c-.6-.2-1-.7-1-1.3 0-.6.5-1.2 1-1.4a1.8 1.8 0 01-.5.1h-17a1.5 1.5 0 01-.5 0c.7.2 1 .7 1 1.3 0 .6-.4 1.1-1 1.3z"/>
+  <path fill="#c8b100" d="M171 241.9h17.2c.5 0 1 .3 1 .8 0 .4-.5.8-1 .8H171c-.6 0-1.1-.4-1.1-.8 0-.5.5-.8 1-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M171 241.9h17.2c.5 0 1 .3 1 .8 0 .4-.5.8-1 .8H171c-.6 0-1.1-.4-1.1-.8 0-.5.5-.8 1-.8z"/>
+  <path fill="#c8b100" d="M171 238h17.2c.5 0 1 .2 1 .6 0 .4-.5.7-1 .7H171c-.6 0-1-.3-1-.7 0-.4.4-.7 1-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M171 238h17.2c.5 0 1 .2 1 .6 0 .4-.5.7-1 .7H171c-.6 0-1-.3-1-.7 0-.4.4-.7 1-.7z"/>
+  <path fill="#005bbf" d="M195.6 338.6a8.7 8.7 0 01-4-.9 8.9 8.9 0 00-4-.8c-1.6 0-3 .3-4 .8a8.8 8.8 0 01-4 1 8.7 8.7 0 01-4-1 9 9 0 00-4-.8 9 9 0 00-3.9.8c-1 .6-2.4 1-4 1v2.4a8.9 8.9 0 004-1 8.8 8.8 0 014-.8 9 9 0 013.9.9 9 9 0 004 .9 9 9 0 004-.9 9 9 0 014-.9c1.5 0 3 .4 4 .9a8.6 8.6 0 004 .9v-2.5"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M195.6 338.6a8.7 8.7 0 01-4-.9 8.9 8.9 0 00-4-.8c-1.6 0-3 .3-4 .8a8.8 8.8 0 01-4 1 8.7 8.7 0 01-4-1 9 9 0 00-4-.8 9 9 0 00-3.9.8c-1 .6-2.4 1-4 1v2.4a8.9 8.9 0 004-1 8.8 8.8 0 014-.8 9 9 0 013.9.9 9 9 0 004 .9 9 9 0 004-.9 9 9 0 014-.9c1.5 0 3 .4 4 .9a8.6 8.6 0 004 .9v-2.5z"/>
+  <path fill="#ccc" d="M195.6 341a8.7 8.7 0 01-4-.8 8.9 8.9 0 00-4-.8c-1.6 0-3 .3-4 .8a9 9 0 01-4 .9 8.7 8.7 0 01-4-1 9 9 0 00-4-.8c-1.5 0-2.9.3-3.9.9a9 9 0 01-4 .9v2.4a8.9 8.9 0 004-.9 8.6 8.6 0 014-.8 9 9 0 013.9.8 8.7 8.7 0 004 1 8.9 8.9 0 004-1 9 9 0 014-.8 8.9 8.9 0 014 .9 9 9 0 004 .9V341"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M195.6 341a8.7 8.7 0 01-4-.8 8.9 8.9 0 00-4-.8c-1.6 0-3 .3-4 .8a9 9 0 01-4 .9 8.7 8.7 0 01-4-1 9 9 0 00-4-.8c-1.5 0-2.9.3-3.9.9a9 9 0 01-4 .9v2.4a8.9 8.9 0 004-.9 8.6 8.6 0 014-.8 9 9 0 013.9.8 8.7 8.7 0 004 1 8.9 8.9 0 004-1 9 9 0 014-.8 8.9 8.9 0 014 .9 9 9 0 004 .9V341"/>
+  <path fill="#005bbf" d="M195.6 343.6a8.7 8.7 0 01-4-1 8.9 8.9 0 00-4-.8 9 9 0 00-4 .9 8.9 8.9 0 01-4 .9 8.7 8.7 0 01-4-1 9 9 0 00-4-.8 9 9 0 00-3.9.8 8.9 8.9 0 01-4 1v2.4c1.5 0 3-.3 4-.9a8.7 8.7 0 014-.8 9 9 0 013.9.8 9 9 0 008 0 9 9 0 014-.8c1.5 0 3 .3 4 .8 1 .6 2.4 1 4 1v-2.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M195.6 343.6a8.7 8.7 0 01-4-1 8.9 8.9 0 00-4-.8 9 9 0 00-4 .9 8.9 8.9 0 01-4 .9 8.7 8.7 0 01-4-1 9 9 0 00-4-.8 9 9 0 00-3.9.8 8.9 8.9 0 01-4 1v2.4c1.5 0 3-.3 4-.9a8.7 8.7 0 014-.8 9 9 0 013.9.8 9 9 0 008 0 9 9 0 014-.8c1.5 0 3 .3 4 .8 1 .6 2.4 1 4 1v-2.6"/>
+  <path fill="#ccc" d="M195.6 348.5a8.6 8.6 0 01-4-1 9 9 0 00-4-.7 9 9 0 00-4 .8 8.9 8.9 0 01-4 .9 8.7 8.7 0 01-4-1 9 9 0 00-4-.7 9 9 0 00-3.9.8 9 9 0 01-4 .9V346a9 9 0 004-.9 8.8 8.8 0 014-.8 9 9 0 013.9.8c1 .6 2.4 1 4 1a9 9 0 004-1 9 9 0 014-.8 9 9 0 014 .8c1 .6 2.4 1 4 1v2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M195.6 348.5a8.6 8.6 0 01-4-1 9 9 0 00-4-.7 9 9 0 00-4 .8 8.9 8.9 0 01-4 .9 8.7 8.7 0 01-4-1 9 9 0 00-4-.7 9 9 0 00-3.9.8 9 9 0 01-4 .9V346a9 9 0 004-.9 8.8 8.8 0 014-.8 9 9 0 013.9.8c1 .6 2.4 1 4 1a9 9 0 004-1 9 9 0 014-.8 9 9 0 014 .8c1 .6 2.4 1 4 1v2.4"/>
+  <path fill="#005bbf" d="M195.6 351a8.7 8.7 0 01-4-1 8.8 8.8 0 00-4-.8 9 9 0 00-4 .9 9 9 0 01-4 .8 8.7 8.7 0 01-4-.9 9 9 0 00-4-.8 9 9 0 00-3.9.8c-1 .6-2.4 1-4 1v-2.5c1.5 0 3-.4 4-1a8.8 8.8 0 014-.7 9 9 0 013.9.8 9 9 0 004 .9 8.9 8.9 0 004-.9 9 9 0 014-.8 9 9 0 014 .8 9 9 0 004 .9v2.5"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M195.6 351a8.7 8.7 0 01-4-1 8.8 8.8 0 00-4-.8 9 9 0 00-4 .9 9 9 0 01-4 .8 8.7 8.7 0 01-4-.9 9 9 0 00-4-.8 9 9 0 00-3.9.8c-1 .6-2.4 1-4 1v-2.5c1.5 0 3-.4 4-1a8.8 8.8 0 014-.7 9 9 0 013.9.8 9 9 0 004 .9 8.9 8.9 0 004-.9 9 9 0 014-.8 9 9 0 014 .8 9 9 0 004 .9v2.5z"/>
+  <path fill="#c8b100" d="M170.6 328.5l.2.6c0 1.5-1.3 2.7-3 2.7h23.6c-1.6 0-2.9-1.2-2.9-2.7l.1-.6a1.4 1.4 0 01-.5 0h-17.5"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M170.6 328.5l.2.6c0 1.5-1.3 2.7-3 2.7h23.6c-1.6 0-2.9-1.2-2.9-2.7l.1-.6a1.4 1.4 0 01-.5 0h-17.5z"/>
+  <path fill="#c8b100" d="M171 327h17.2c.5 0 1 .3 1 .7 0 .5-.5.8-1 .8H171c-.6 0-1.1-.3-1.1-.8 0-.4.5-.8 1-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M171 327h17.2c.5 0 1 .3 1 .7 0 .5-.5.8-1 .8H171c-.6 0-1.1-.3-1.1-.8 0-.4.5-.8 1-.8z"/>
+  <path fill="#c8b100" d="M168 337.8h23.3v-6H168v6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M168 337.8h23.3v-6H168v6z"/>
+  <path fill="#ad1519" d="M166 305.8c-2.2 1.3-3.8 2.7-3.5 3.4 0 .6.8 1 1.9 1.8 1.6 1.1 2.6 3.2 1.8 4.1a5.9 5.9 0 00-.1-9.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M166 305.8c-2.2 1.3-3.8 2.7-3.5 3.4 0 .6.8 1 1.9 1.8 1.6 1.1 2.6 3.2 1.8 4.1a5.9 5.9 0 00-.1-9.3z"/>
+  <path fill="#ccc" d="M171.3 326h16.6v-81.6h-16.6V326z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M183.1 244.5V326m2-81.4V326m-13.8 0h16.6v-81.5h-16.6V326z"/>
+  <path fill="#ad1519" d="M205 275a52.8 52.8 0 00-17-3 51.6 51.6 0 00-8 .8c-9.9 1.7-17.5 5.6-16.9 8.9v.2l-3.7-8.7c-.7-3.6 7.7-8 18.8-9.8a57 57 0 019.8-.8c7 0 13.2.9 16.9 2.3v10"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M205 275a52.8 52.8 0 00-17-3 51.6 51.6 0 00-8 .8c-9.9 1.7-17.5 5.6-16.9 8.9v.2l-3.7-8.7c-.7-3.6 7.7-8 18.8-9.8a57 57 0 019.8-.8c7 0 13.2.9 16.9 2.3v10"/>
+  <path fill="#ad1519" d="M171.3 285.1c-4.7-.3-7.8-1.5-8.2-3.5-.3-1.5 1.3-3.2 4-4.7 1.3.1 2.7.3 4.2.3v8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M171.3 285.1c-4.7-.3-7.8-1.5-8.2-3.5-.3-1.5 1.3-3.2 4-4.7 1.3.1 2.7.3 4.2.3v8"/>
+  <path fill="#ad1519" d="M188 279c2.8.4 5 1 6 2l.2.1c.5 1-2 3.3-6.3 5.8v-8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M188 279c2.8.4 5 1 6 2l.2.1c.5 1-2 3.3-6.3 5.8v-8"/>
+  <path fill="#ad1519" d="M160.9 300.9c-.4-1.3 4-4 10.4-6.3 3-1 5.3-2.1 8.3-3.4 8.9-4 15.4-8.4 14.6-10l-.1-.2c.5.4 1.2 8.4 1.2 8.4.8 1.5-5.2 6-13.3 9.8-2.6 1.3-8.1 3.3-10.7 4.2-4.7 1.6-9.3 4.7-8.9 5.8l-1.5-8.3"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M160.9 300.9c-.4-1.3 4-4 10.4-6.3 3-1 5.3-2.1 8.3-3.4 8.9-4 15.4-8.4 14.6-10l-.1-.2c.5.4 1.2 8.4 1.2 8.4.8 1.5-5.2 6-13.3 9.8-2.6 1.3-8.1 3.3-10.7 4.2-4.7 1.6-9.3 4.7-8.9 5.8l-1.5-8.3z"/>
+  <path fill="#c8b100" d="M170.1 271c2-.7 3.4-1.6 2.7-3.2-.4-1-1.4-1.2-3-.7l-2.8 1 2.5 6.2.9-.3.8-.3-1-2.7zm-1.2-3l.7-.2c.6-.3 1.3 0 1.5.8.3.5.2 1.1-.5 1.6a4.7 4.7 0 01-.7.3l-1-2.5m7.7-2.6l-.8.3h-1l1.5 6.5 4.5-.9-.2-.4v-.4l-2.7.7-1.3-5.8m9 5.6l2.9-6.8a5.4 5.4 0 01-1.1 0 58.5 58.5 0 01-2 5c-.8-1.6-1.7-3.1-2.4-4.7l-1 .1h-1.1l3.7 6.5.5-.1h.5m9.4-5l.5-.9a3.7 3.7 0 00-1.9-.6c-1.8-.2-2.8.6-3 1.7-.2 2.3 3.4 2.1 3.3 3.7-.1.6-.8.9-1.6.8-.8 0-1.4-.5-1.5-1.2h-.2a8 8 0 01-.5 1.2c.5.3 1.2.5 1.9.6 1.8.2 3.3-.6 3.4-1.8.2-2.2-3.4-2.3-3.3-3.6 0-.6.5-1 1.4-.8.7 0 1.1.4 1.3 1h.2"/>
+  <path fill="#ad1519" d="M332.4 225.7s-.8.8-1.3 1c-.6 0-1.3-.6-1.3-.6s-.5.5-1.1.7c-.6.1-1.4-.7-1.4-.7s-.6.8-1.2 1c-.5.2-1.1-.2-1.1-.2s-.2.4-.7.6h-.5l-.6-.5-.7-.7-.6-.2-.3-1.1-.1-.6c-.1-.7.9-1.4 2.4-1.8.8-.2 1.5-.1 2 0a6 6 0 013.3-.8 6 6 0 013.2.7 5.9 5.9 0 013-.7c1.5 0 2.7.3 3.3.8a4.2 4.2 0 012.1 0c1.5.4 2.5 1.1 2.4 1.8v.6l-.4 1-.6.3-.7.8-.6.3s-.3.2-.5.1c-.5-.2-.7-.6-.7-.6s-.6.4-1.2.2c-.5-.2-1-1-1-1s-.9.8-1.5.7c-.6-.2-1.1-.7-1.1-.7s-.7.6-1.2.5c-.6 0-1.4-.9-1.4-.9"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M332.4 225.7s-.8.8-1.3 1c-.6 0-1.3-.6-1.3-.6s-.5.5-1.1.7c-.6.1-1.4-.7-1.4-.7s-.6.8-1.2 1c-.5.2-1.1-.2-1.1-.2s-.2.4-.7.6h-.5l-.6-.5-.7-.7-.6-.2-.3-1.1-.1-.6c-.1-.7.9-1.4 2.4-1.8.8-.2 1.5-.1 2 0a6 6 0 013.3-.8 6 6 0 013.2.7 5.9 5.9 0 013-.7c1.5 0 2.7.3 3.3.8a4.2 4.2 0 012.1 0c1.5.4 2.5 1.1 2.4 1.8v.6l-.4 1-.6.3-.7.8-.6.3s-.3.2-.5.1c-.5-.2-.7-.6-.7-.6s-.6.4-1.2.2c-.5-.2-1-1-1-1s-.9.8-1.5.7c-.6-.2-1.1-.7-1.1-.7s-.7.6-1.2.5c-.6 0-1.4-.9-1.4-.9z"/>
+  <path fill="#c8b100" d="M331 221.4c0-1.1.6-2 1.3-2 .8 0 1.4.9 1.4 2s-.6 2-1.4 2c-.8 0-1.4-.9-1.4-2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M331 221.4c0-1.1.6-2 1.3-2 .8 0 1.4.9 1.4 2s-.6 2-1.4 2c-.8 0-1.4-.9-1.4-2z"/>
+  <path fill="#c8b100" d="M331.7 221.4c0-1 .3-1.9.7-1.9.3 0 .6.9.6 1.9 0 1-.3 1.8-.7 1.8-.3 0-.6-.8-.6-1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M331.7 221.4c0-1 .3-1.9.7-1.9.3 0 .6.9.6 1.9 0 1-.3 1.8-.7 1.8-.3 0-.6-.8-.6-1.8z"/>
+  <path fill="#c8b100" d="M325 229.6a4.8 4.8 0 00-.5-1c2-.7 4.7-1 7.8-1 3.1 0 6 .3 8 1l-.6.9-.4.8c-1.8-.6-4.1-.8-7-.8-2.8 0-5.6.3-7 .8l-.2-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M325 229.6a4.8 4.8 0 00-.5-1c2-.7 4.7-1 7.8-1 3.1 0 6 .3 8 1l-.6.9-.4.8c-1.8-.6-4.1-.8-7-.8-2.8 0-5.6.3-7 .8l-.2-.7"/>
+  <path fill="#c8b100" d="M332.3 232.2c2.5 0 5.3-.4 6.3-.7.7-.2 1-.5 1-.8 0-.2-.2-.3-.4-.4a25.7 25.7 0 00-6.9-.9 26 26 0 00-6.8.9c-.2 0-.4.2-.4.4 0 .3.3.6 1 .8 1 .3 3.7.7 6.2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M332.3 232.2c2.5 0 5.3-.4 6.3-.7.7-.2 1-.5 1-.8 0-.2-.2-.3-.4-.4a25.7 25.7 0 00-6.9-.9 26 26 0 00-6.8.9c-.2 0-.4.2-.4.4 0 .3.3.6 1 .8 1 .3 3.7.7 6.2.7z"/>
+  <path fill="#fff" d="M338.4 222.3a.5.5 0 01.4-.5c.3 0 .5.2.5.5 0 .2-.2.4-.5.4a.5.5 0 01-.4-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M338.4 222.3a.5.5 0 01.4-.5c.3 0 .5.2.5.5 0 .2-.2.4-.5.4a.5.5 0 01-.4-.4zm-.3-1.6a.5.5 0 01.5-.4c.2 0 .4.2.4.4s-.2.5-.4.5a.5.5 0 01-.5-.4zm-1.1-1a.5.5 0 01.4-.3c.3 0 .5.1.5.4s-.2.4-.5.4a.5.5 0 01-.4-.4zm-1.5-.4c0-.2.2-.4.5-.4a.5.5 0 01.4.4.5.5 0 01-.4.5c-.3 0-.5-.2-.5-.5zm-1.5 0a.5.5 0 01.5-.4c.3 0 .5.2.5.5s-.2.4-.5.4a.5.5 0 01-.5-.4z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".3" d="M343 225.3a3 3 0 00.2-1.1 3 3 0 00-3-3 2.8 2.8 0 00-1.3.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M337.8 223.2l.3-.9c0-1.2-1.3-2.1-2.7-2.1-.7 0-1.3.1-1.7.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M343.4 224c0-.3.2-.5.4-.5s.5.2.5.4-.2.5-.5.5c-.2 0-.4-.2-.4-.5zm-.2-1.7c0-.2.2-.4.5-.4.2 0 .4.2.4.4s-.2.4-.5.4c-.2 0-.4-.1-.4-.4zm-1-1.2a.5.5 0 01.4-.5c.3 0 .5.2.5.5s-.2.4-.5.4a.5.5 0 01-.5-.4zm-1.5-.7c0-.2.3-.4.5-.4.3 0 .5.2.5.4a.5.5 0 01-.5.5.5.5 0 01-.4-.5zm-1.4 0c0-.2.2-.4.4-.4s.5.2.5.5-.2.4-.5.4-.4-.2-.4-.4z"/>
+  <path fill="#c8b100" d="M340.3 227.4l-.6-.5s-.6.3-1.3.2c-.7-.1-1-1-1-1s-.7.7-1.4.6c-.7 0-1.1-.6-1.1-.6s-.7.5-1.4.5c-.6 0-1.2-.9-1.2-.9s-.7.9-1.3 1c-.6 0-1.1-.6-1.1-.6s-.3.6-1.1.7c-.8.1-1.5-.6-1.5-.6s-.5.7-1 1c-.6.1-1.3-.4-1.3-.4l-.2.5-.4.2.2.4a32.5 32.5 0 0115.5.1l.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M340.3 227.4l-.6-.5s-.6.3-1.3.2c-.7-.1-1-1-1-1s-.7.7-1.4.6c-.7 0-1.1-.6-1.1-.6s-.7.5-1.4.5c-.6 0-1.2-.9-1.2-.9s-.7.9-1.3 1c-.6 0-1.1-.6-1.1-.6s-.3.6-1.1.7c-.8.1-1.5-.6-1.5-.6s-.5.7-1 1c-.6.1-1.3-.4-1.3-.4l-.2.5-.4.2.2.4a32.5 32.5 0 0115.5.1l.2-.6z"/>
+  <path fill="#fff" d="M325.3 222.3a.5.5 0 01.5-.5.5.5 0 01.4.5.5.5 0 01-.4.4c-.3 0-.5-.2-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M325.3 222.3a.5.5 0 01.5-.5.5.5 0 01.4.5.5.5 0 01-.4.4c-.3 0-.5-.2-.5-.4zm.3-1.6a.5.5 0 01.4-.4.5.5 0 01.5.4.5.5 0 01-.5.5.4.4 0 01-.4-.4zm1.1-1c0-.1.2-.3.5-.3s.5.1.5.4-.2.4-.5.4a.5.5 0 01-.5-.4zm1.5-.4c0-.2.2-.4.4-.4s.5.2.5.4c0 .3-.2.5-.5.5-.2 0-.4-.2-.4-.5zm1.5 0a.5.5 0 01.4-.4.5.5 0 01.5.5c0 .2-.2.4-.5.4a.5.5 0 01-.4-.4z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".3" d="M321.7 225.3a3 3 0 01-.3-1.1 3 3 0 013-3c.4 0 1 .2 1.3.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M326.9 223.2l-.3-.9c0-1.2 1.2-2.1 2.7-2.1.6 0 1.2.1 1.6.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M320.3 224c0-.3.2-.5.5-.5s.5.2.5.4a.5.5 0 01-.5.5c-.3 0-.5-.2-.5-.5zm.2-1.7c0-.2.2-.4.5-.4s.4.2.4.4-.2.4-.4.4a.5.5 0 01-.5-.4zm1-1.2c0-.3.3-.5.5-.5a.5.5 0 01.5.5.5.5 0 01-.5.4.5.5 0 01-.4-.4zm1.5-.7a.5.5 0 01.4-.4c.3 0 .5.2.5.4a.5.5 0 01-.5.5.5.5 0 01-.5-.5zm1.4 0c0-.2.2-.4.5-.4a.5.5 0 01.4.5c0 .2-.2.4-.4.4s-.5-.2-.5-.4z"/>
+  <path fill="#c8b100" d="M332.4 224.8h.2v.4c0 .6.5 1 1.1 1 .5 0 1-.2 1.1-.7l.2-.4v.5c0 .5.6.9 1.1.9a1.1 1.1 0 001.2-1.1.7.7 0 000-.1l.3-.4.2.4a1 1 0 000 .5c0 .6.4 1 1 1a1.1 1.1 0 001-.4l.1-.3v.4c0 .3.2.6.5.7 0 0 .4 0 1-.4l.8-.8v.5s-.5.8-1 1.1c-.2.1-.6.3-1 .3-.3-.1-.5-.4-.6-.7a1.6 1.6 0 01-.8.3c-.7 0-1.3-.4-1.5-1a1.6 1.6 0 01-1.2.6 1.7 1.7 0 01-1.3-.6c-.3.3-.7.4-1 .4a1.7 1.7 0 01-1.5-.7 1.7 1.7 0 01-2.4.3 1.7 1.7 0 01-1.3.6c-.5 0-1-.2-1.2-.5-.2.5-.8.8-1.5.8-.3 0-.5 0-.8-.2-.1.3-.3.6-.7.7a2 2 0 01-1-.3l-1-1.1v-.5l1 .8c.4.4.8.4.8.4.4 0 .5-.4.5-.7v-.4l.3.3c.2.3.5.5.9.5.6 0 1-.5 1-1a1 1 0 000-.6l.2-.4.3.4c0 .7.5 1.2 1.1 1.2.6 0 1.1-.4 1.2-1v-.3l.2.3c.1.5.6.8 1 .8a1.1 1.1 0 001.2-1.5h.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M332.4 224.8h.2v.4c0 .6.5 1 1.1 1 .5 0 1-.2 1.1-.7l.2-.4v.5c0 .5.6.9 1.1.9a1.1 1.1 0 001.2-1.1.7.7 0 000-.1l.3-.4.2.4a1 1 0 000 .5c0 .6.4 1 1 1a1.1 1.1 0 001-.4l.1-.3v.4c0 .3.2.6.5.7 0 0 .4 0 1-.4l.8-.8v.5s-.5.8-1 1.1c-.2.1-.6.3-1 .3-.3-.1-.5-.4-.6-.7a1.6 1.6 0 01-.8.3c-.7 0-1.3-.4-1.5-1a1.6 1.6 0 01-1.2.6 1.7 1.7 0 01-1.3-.6c-.3.3-.7.4-1 .4a1.7 1.7 0 01-1.5-.7 1.7 1.7 0 01-2.4.3 1.7 1.7 0 01-1.3.6c-.5 0-1-.2-1.2-.5-.2.5-.8.8-1.5.8-.3 0-.5 0-.8-.2-.1.3-.3.6-.7.7a2 2 0 01-1-.3l-1-1.1v-.5l1 .8c.4.4.8.4.8.4.4 0 .5-.4.5-.7v-.4l.3.3c.2.3.5.5.9.5.6 0 1-.5 1-1a1 1 0 000-.6l.2-.4.3.4c0 .7.5 1.2 1.1 1.2.6 0 1.1-.4 1.2-1v-.3l.2.3c.1.5.6.8 1 .8a1.1 1.1 0 001.2-1.5h.2z"/>
+  <path fill="#c8b100" d="M332.3 227.6c-3 0-5.8.3-7.8 1l-.4-.2.2-.4c2-.6 4.9-1 8-1s6 .4 8 1c.2 0 .3.2.2.3 0 .2-.2.3-.3.2-2-.6-4.8-1-7.9-1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M332.3 227.6c-3 0-5.8.3-7.8 1l-.4-.2.2-.4c2-.6 4.9-1 8-1s6 .4 8 1c.2 0 .3.2.2.3 0 .2-.2.3-.3.2-2-.6-4.8-1-7.9-1z"/>
+  <path fill="#fff" d="M329.4 228.7c0-.3.2-.5.4-.5s.5.2.5.5c0 .2-.3.4-.5.4s-.5-.2-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M329.4 228.7c0-.3.2-.5.4-.5s.5.2.5.5c0 .2-.3.4-.5.4s-.5-.2-.5-.4z"/>
+  <path fill="#ad1519" d="M332.4 228.8h-1c-.2 0-.4-.1-.4-.3 0-.1.2-.3.4-.3h2a.3.3 0 01.3.3c0 .2-.1.3-.3.3h-1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M332.4 228.8h-1c-.2 0-.4-.1-.4-.3 0-.1.2-.3.4-.3h2a.3.3 0 01.3.3c0 .2-.1.3-.3.3h-1"/>
+  <path fill="#058e6e" d="M327.4 229.2h-.7a.3.3 0 01-.4-.2.3.3 0 01.3-.3l.7-.1.7-.2c.2 0 .4.1.4.3 0 .2 0 .3-.3.4h-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M327.4 229.2h-.7a.3.3 0 01-.4-.2.3.3 0 01.3-.3l.7-.1.7-.2c.2 0 .4.1.4.3 0 .2 0 .3-.3.4h-.7"/>
+  <path fill="#ad1519" d="M324.5 229.7l.4-.5.6.1-.4.6-.6-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M324.5 229.7l.4-.5.6.1-.4.6-.6-.2"/>
+  <path fill="#fff" d="M334.4 228.7c0-.3.2-.5.5-.5.2 0 .4.2.4.5 0 .2-.2.4-.4.4s-.5-.2-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M334.4 228.7c0-.3.2-.5.5-.5.2 0 .4.2.4.5 0 .2-.2.4-.4.4s-.5-.2-.5-.4z"/>
+  <path fill="#058e6e" d="M337.3 229.2h.7c.2.1.3 0 .4-.2a.3.3 0 00-.3-.3l-.7-.1-.7-.2c-.2 0-.4.1-.4.3 0 .2 0 .3.3.4h.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M337.3 229.2h.7c.2.1.3 0 .4-.2a.3.3 0 00-.3-.3l-.7-.1-.7-.2c-.2 0-.4.1-.4.3 0 .2 0 .3.3.4h.7"/>
+  <path fill="#ad1519" d="M340.1 229.7l-.3-.5h-.7l.4.6h.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M340.1 229.7l-.3-.5h-.7l.4.6h.6"/>
+  <path fill="#ad1519" d="M332.3 231.6a27.1 27.1 0 01-6.4-.7 27.9 27.9 0 0113 0 27.1 27.1 0 01-6.6.7"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M332.3 231.6a27.1 27.1 0 01-6.4-.7 27.9 27.9 0 0113 0 27.1 27.1 0 01-6.6.7z"/>
+  <path fill="#c8b100" d="M340.2 226.2l-.1-.4c-.2 0-.3 0-.4.2l.1.5c.2 0 .3-.1.4-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M340.2 226.2l-.1-.4c-.2 0-.3 0-.4.2l.1.5c.2 0 .3-.1.4-.3z"/>
+  <path fill="#c8b100" d="M335.2 225.2c0-.2 0-.3-.2-.4-.1 0-.3.2-.3.4s0 .3.2.4c.2 0 .3-.2.3-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M335.2 225.2c0-.2 0-.3-.2-.4-.1 0-.3.2-.3.4s0 .3.2.4c.2 0 .3-.2.3-.4z"/>
+  <path fill="#c8b100" d="M329.5 225.2c0-.2 0-.3.2-.4.1 0 .3.2.3.4s0 .3-.2.4c-.2 0-.3-.2-.3-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M329.5 225.2c0-.2 0-.3.2-.4.1 0 .3.2.3.4s0 .3-.2.4c-.2 0-.3-.2-.3-.4z"/>
+  <path fill="#c8b100" d="M324.5 226.2l.1-.4c.2 0 .3 0 .4.2l-.1.5c-.2 0-.3-.1-.4-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M324.5 226.2l.1-.4c.2 0 .3 0 .4.2l-.1.5c-.2 0-.3-.1-.4-.3z"/>
+  <path fill="#c8b100" d="M332.3 222.4l-.8.5.6 1.4.2.2.3-.2.6-1.4-.9-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M332.3 222.4l-.8.5.6 1.4.2.2.3-.2.6-1.4-.9-.5"/>
+  <path fill="#c8b100" d="M330.4 224.5l.4.6 1.4-.4.1-.2-.1-.2-1.4-.4-.4.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M330.4 224.5l.4.6 1.4-.4.1-.2-.1-.2-1.4-.4-.4.6"/>
+  <path fill="#c8b100" d="M334.3 224.5l-.4.6-1.4-.4-.1-.2.1-.2 1.4-.4.4.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M334.3 224.5l-.4.6-1.4-.4-.1-.2.1-.2 1.4-.4.4.6"/>
+  <path fill="#c8b100" d="M326.6 223l-.7.6 1 1.2.2.1.1-.2.3-1.4-.9-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M326.6 223l-.7.6 1 1.2.2.1.1-.2.3-1.4-.9-.3"/>
+  <path fill="#c8b100" d="M325.2 225.3l.5.5 1.2-.7.1-.2-.1-.2h-1.5l-.2.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M325.2 225.3l.5.5 1.2-.7.1-.2-.1-.2h-1.5l-.2.6"/>
+  <path fill="#c8b100" d="M329 224.6l-.3.6-1.4-.1-.2-.2v-.2l1.3-.7.6.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M329 224.6l-.3.6-1.4-.1-.2-.2v-.2l1.3-.7.6.6"/>
+  <path fill="#c8b100" d="M323.8 225.5l-.1.7-1.5.1h-.2v-.3l1.2-1 .6.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M323.8 225.5l-.1.7-1.5.1h-.2v-.3l1.2-1 .6.5"/>
+  <path fill="#c8b100" d="M326.6 225a.5.5 0 01.5-.6.5.5 0 01.5.5.5.5 0 01-.5.5.5.5 0 01-.5-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M326.6 225a.5.5 0 01.5-.6.5.5 0 01.5.5.5.5 0 01-.5.5.5.5 0 01-.5-.5z"/>
+  <path fill="#c8b100" d="M338 223l.8.6-1 1.2-.2.1-.1-.2-.3-1.4.9-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M338 223l.8.6-1 1.2-.2.1-.1-.2-.3-1.4.9-.3"/>
+  <path fill="#c8b100" d="M339.5 225.3l-.5.5-1.3-.7v-.2l.1-.2h1.5l.2.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M339.5 225.3l-.5.5-1.3-.7v-.2l.1-.2h1.5l.2.6"/>
+  <path fill="#c8b100" d="M335.7 224.6l.3.6 1.4-.1.2-.2v-.2l-1.3-.7-.6.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M335.7 224.6l.3.6 1.4-.1.2-.2v-.2l-1.3-.7-.6.6"/>
+  <path fill="#c8b100" d="M340.7 225.5l.1.7 1.4.1h.3v-.3l-1.2-1-.6.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M340.7 225.5l.1.7 1.4.1h.3v-.3l-1.2-1-.6.5"/>
+  <path fill="#c8b100" d="M331.8 224.5c0-.3.3-.5.5-.5s.5.2.5.5c0 .2-.2.4-.5.4a.5.5 0 01-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M331.8 224.5c0-.3.3-.5.5-.5s.5.2.5.5c0 .2-.2.4-.5.4a.5.5 0 01-.5-.4z"/>
+  <path fill="#c8b100" d="M337.1 225a.5.5 0 01.5-.6c.3 0 .5.2.5.5s-.2.5-.5.5a.5.5 0 01-.5-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M337.1 225a.5.5 0 01.5-.6c.3 0 .5.2.5.5s-.2.5-.5.5a.5.5 0 01-.5-.5z"/>
+  <path fill="#c8b100" d="M331.4 219c0-.4.4-.8 1-.8s.9.4.9.9-.4.9-1 .9a1 1 0 01-.9-1"/>
+  <path fill="#c8b100" d="M333 218.8v.6h-1.5v-.6h.5v-1.4h-.6v-.6h.6v-.5h.7v.5h.6v.6h-.6v1.4h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M333 218.8v.6h-1.5v-.6h.5v-1.4h-.6v-.6h.6v-.5h.7v.5h.6v.6h-.6v1.4h.3z"/>
+  <path fill="#c8b100" d="M333.7 218.8v.6H331v-.6h1v-1.4h-.7v-.6h.6v-.5h.7v.5h.6v.6h-.6v1.4h1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M332.6 218.2a.9.9 0 01.7.9c0 .5-.4.9-1 .9a1 1 0 01-.9-1c0-.3.3-.7.7-.8"/>
+  <path fill="#c8b100" d="M321.9 226.3l-.7-.8-.7-.3s.3-.3.6-.3l.5.2v-.2s.2 0 .3.4c.2.3 0 .7 0 .7v.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M321.9 226.3l-.7-.8-.7-.3s.3-.3.6-.3l.5.2v-.2s.2 0 .3.4c.2.3 0 .7 0 .7v.3z"/>
+  <path fill="#c8b100" d="M321.9 226l.5.1c.2.2.3.4.1.5h-.5c-.2-.2-.2-.4-.1-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M321.9 226l.5.1c.2.2.3.4.1.5h-.5c-.2-.2-.2-.4-.1-.5z"/>
+  <path fill="#c8b100" d="M342.6 226.3l.7-.8.7-.3s-.3-.3-.6-.3a.6.6 0 00-.5.2v-.2s-.3 0-.4.4v.7l.1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M342.6 226.3l.7-.8.7-.3s-.3-.3-.6-.3a.6.6 0 00-.5.2v-.2s-.3 0-.4.4v.7l.1.3z"/>
+  <path fill="#c8b100" d="M342.6 226l-.5.1c-.2.2-.2.4-.1.5.1.2.3.1.5 0 .2-.2.3-.4.1-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M342.6 226l-.5.1c-.2.2-.2.4-.1.5.1.2.3.1.5 0 .2-.2.3-.4.1-.5z"/>
+  <path fill="#c8b100" d="M321 238h22.8v-6h-22.9v6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M321 238h22.8v-6h-22.9v6z"/>
+  <path fill="#c8b100" d="M341.4 242a1 1 0 00-.4-.1h-17.6c.6-.2 1-.7 1-1.3 0-.6-.5-1.2-1-1.4l.4.1h17.6c-.7.2-1 .7-1 1.3 0 .6.4 1.1 1 1.3"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M341.4 242a1 1 0 00-.4-.1h-17.6c.6-.2 1-.7 1-1.3 0-.6-.5-1.2-1-1.4l.4.1h17.6c-.7.2-1 .7-1 1.3 0 .6.4 1.1 1 1.3z"/>
+  <path fill="#c8b100" d="M323.9 241.9h17c.6 0 1.1.3 1.1.8 0 .4-.5.8-1 .8h-17.1c-.6 0-1-.4-1-.8 0-.5.4-.8 1-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M323.9 241.9h17c.6 0 1.1.3 1.1.8 0 .4-.5.8-1 .8h-17.1c-.6 0-1-.4-1-.8 0-.5.4-.8 1-.8z"/>
+  <path fill="#c8b100" d="M323.9 238h17c.6 0 1.1.2 1.1.6 0 .4-.5.7-1 .7h-17.1c-.6 0-1.1-.3-1.1-.7 0-.4.5-.7 1-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M323.9 238h17c.6 0 1.1.2 1.1.6 0 .4-.5.7-1 .7h-17.1c-.6 0-1.1-.3-1.1-.7 0-.4.5-.7 1-.7z"/>
+  <path fill="#005bbf" d="M316.4 338.6c1.6 0 3-.3 4-.9a8.9 8.9 0 014-.8c1.5 0 3 .3 4 .8 1 .6 2.5 1 4 1a8.7 8.7 0 004-1 9 9 0 014-.8c1.5 0 2.8.3 3.9.8 1 .6 2.5 1 4 1v2.4a8.9 8.9 0 01-4-1 8.8 8.8 0 00-4-.8c-1.5 0-2.8.4-3.9.9a8.8 8.8 0 01-4 .9 9 9 0 01-4-.9 9 9 0 00-4-.9c-1.5 0-3 .4-4 .9a8.6 8.6 0 01-4 .9v-2.5"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M316.4 338.6c1.6 0 3-.3 4-.9a8.9 8.9 0 014-.8c1.5 0 3 .3 4 .8 1 .6 2.5 1 4 1a8.7 8.7 0 004-1 9 9 0 014-.8c1.5 0 2.8.3 3.9.8 1 .6 2.5 1 4 1v2.4a8.9 8.9 0 01-4-1 8.8 8.8 0 00-4-.8c-1.5 0-2.8.4-3.9.9a8.8 8.8 0 01-4 .9 9 9 0 01-4-.9 9 9 0 00-4-.9c-1.5 0-3 .4-4 .9a8.6 8.6 0 01-4 .9v-2.5z"/>
+  <path fill="#ccc" d="M316.4 341a8.7 8.7 0 004-.8 8.9 8.9 0 014-.8c1.5 0 3 .3 4 .8a9 9 0 004 .9c1.6 0 3-.4 4-1a8.9 8.9 0 014-.8 8 8 0 013.9.9 8.9 8.9 0 004 .9v2.4a8.9 8.9 0 01-4-.9 8.6 8.6 0 00-4-.8c-1.5 0-2.8.3-3.9.8a8.7 8.7 0 01-4 1 8.9 8.9 0 01-4-1 9 9 0 00-4-.8 8.9 8.9 0 00-4 .9 8.6 8.6 0 01-4 .9V341"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M316.4 341a8.7 8.7 0 004-.8 8.9 8.9 0 014-.8c1.5 0 3 .3 4 .8a9 9 0 004 .9c1.6 0 3-.4 4-1a8.9 8.9 0 014-.8 8 8 0 013.9.9 8.9 8.9 0 004 .9v2.4a8.9 8.9 0 01-4-.9 8.6 8.6 0 00-4-.8c-1.5 0-2.8.3-3.9.8a8.7 8.7 0 01-4 1 8.9 8.9 0 01-4-1 9 9 0 00-4-.8 8.9 8.9 0 00-4 .9 8.6 8.6 0 01-4 .9V341"/>
+  <path fill="#005bbf" d="M316.4 343.6c1.6 0 3-.4 4-1a8.9 8.9 0 014-.8 9 9 0 014 .9c1 .5 2.5.9 4 .9 1.6 0 3-.4 4-1a9 9 0 014-.8c1.5 0 2.8.3 3.9.8 1 .6 2.5 1 4 1v2.4a8.9 8.9 0 01-4-.9 8.7 8.7 0 00-4-.8 9 9 0 00-3.9.8 8.7 8.7 0 01-4 1 9 9 0 01-4-1 9 9 0 00-4-.8c-1.5 0-3 .3-4 .8a8.6 8.6 0 01-4 1v-2.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M316.4 343.6c1.6 0 3-.4 4-1a8.9 8.9 0 014-.8 9 9 0 014 .9c1 .5 2.5.9 4 .9 1.6 0 3-.4 4-1a9 9 0 014-.8c1.5 0 2.8.3 3.9.8 1 .6 2.5 1 4 1v2.4a8.9 8.9 0 01-4-.9 8.7 8.7 0 00-4-.8 9 9 0 00-3.9.8 8.7 8.7 0 01-4 1 9 9 0 01-4-1 9 9 0 00-4-.8c-1.5 0-3 .3-4 .8a8.6 8.6 0 01-4 1v-2.6"/>
+  <path fill="#ccc" d="M316.4 348.5a8.6 8.6 0 004-1 9 9 0 014-.7 9 9 0 014 .8c1 .5 2.5.9 4 .9 1.6 0 3-.4 4-1a9 9 0 014-.7c1.5 0 2.8.3 3.9.8 1 .5 2.5.9 4 .9V346a8.8 8.8 0 01-4-.9 8.8 8.8 0 00-4-.8 9 9 0 00-3.9.8 8.7 8.7 0 01-4 1 9 9 0 01-4-1 9 9 0 00-4-.8 9 9 0 00-4 .8 8.7 8.7 0 01-4 1v2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M316.4 348.5a8.6 8.6 0 004-1 9 9 0 014-.7 9 9 0 014 .8c1 .5 2.5.9 4 .9 1.6 0 3-.4 4-1a9 9 0 014-.7c1.5 0 2.8.3 3.9.8 1 .5 2.5.9 4 .9V346a8.8 8.8 0 01-4-.9 8.8 8.8 0 00-4-.8 9 9 0 00-3.9.8 8.7 8.7 0 01-4 1 9 9 0 01-4-1 9 9 0 00-4-.8 9 9 0 00-4 .8 8.7 8.7 0 01-4 1v2.4"/>
+  <path fill="#005bbf" d="M316.4 351c1.6 0 3-.4 4-1a8.8 8.8 0 014-.8 9 9 0 014 .9c1 .5 2.5.8 4 .8 1.6 0 3-.3 4-.9a9 9 0 014-.8c1.5 0 2.8.3 3.9.8 1 .6 2.5 1 4 1v-2.5a8.8 8.8 0 01-4-1 8.8 8.8 0 00-4-.7c-1.5 0-2.8.3-3.9.8a8.8 8.8 0 01-4 .9 8.9 8.9 0 01-4-.9 9 9 0 00-4-.8 8.9 8.9 0 00-4 .8 8.7 8.7 0 01-4 .9v2.5"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M316.4 351c1.6 0 3-.4 4-1a8.8 8.8 0 014-.8 9 9 0 014 .9c1 .5 2.5.8 4 .8 1.6 0 3-.3 4-.9a9 9 0 014-.8c1.5 0 2.8.3 3.9.8 1 .6 2.5 1 4 1v-2.5a8.8 8.8 0 01-4-1 8.8 8.8 0 00-4-.7c-1.5 0-2.8.3-3.9.8a8.8 8.8 0 01-4 .9 8.9 8.9 0 01-4-.9 9 9 0 00-4-.8 8.9 8.9 0 00-4 .8 8.7 8.7 0 01-4 .9v2.5z"/>
+  <path fill="#c8b100" d="M341.4 328.5l-.2.6c0 1.5 1.3 2.7 3 2.7h-23.6c1.6 0 2.9-1.2 2.9-2.7a2.8 2.8 0 000-.6h17.9"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M341.4 328.5l-.2.6c0 1.5 1.3 2.7 3 2.7h-23.6c1.6 0 2.9-1.2 2.9-2.7a2.8 2.8 0 000-.6h17.9z"/>
+  <path fill="#c8b100" d="M323.9 327h17c.6 0 1.1.3 1.1.7 0 .5-.5.8-1 .8h-17.1c-.6 0-1-.3-1-.8 0-.4.4-.8 1-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M323.9 327h17c.6 0 1.1.3 1.1.7 0 .5-.5.8-1 .8h-17.1c-.6 0-1-.3-1-.8 0-.4.4-.8 1-.8z"/>
+  <path fill="#c8b100" d="M320.7 337.8H344v-6h-23.4v6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M320.7 337.8H344v-6h-23.4v6z"/>
+  <path fill="#ad1519" d="M346 305.8c2.2 1.3 3.8 2.7 3.6 3.4-.2.6-1 1-2 1.8-1.6 1.1-2.6 3.2-1.8 4.1a5.9 5.9 0 01.1-9.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M346 305.8c2.2 1.3 3.8 2.7 3.6 3.4-.2.6-1 1-2 1.8-1.6 1.1-2.6 3.2-1.8 4.1a5.9 5.9 0 01.1-9.3z"/>
+  <path fill="#ccc" d="M324 326h16.7v-81.6h-16.6V326z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M336.2 244.4v81.4m1.8-81.4v81.4m-14 .2h16.7v-81.6h-16.6V326z"/>
+  <path fill="#ad1519" d="M307 275a53 53 0 0125-2.2c9.9 1.7 17.5 5.6 16.9 8.9v.2s3.7-8.4 3.7-8.7c.7-3.6-7.7-8-18.8-9.8a57 57 0 00-9.8-.8c-7 0-13.2.9-16.9 2.3v10"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M307 275a53 53 0 0125-2.2c9.9 1.7 17.5 5.6 16.9 8.9v.2s3.7-8.4 3.7-8.7c.7-3.6-7.7-8-18.8-9.8a57 57 0 00-9.8-.8c-7 0-13.2.9-16.9 2.3v10"/>
+  <path fill="#ad1519" d="M340.8 285.1c4.6-.3 7.7-1.5 8-3.5.4-1.5-1.2-3.2-4-4.7-1.2.1-2.6.3-4 .3v8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M340.8 285.1c4.6-.3 7.7-1.5 8-3.5.4-1.5-1.2-3.2-4-4.7-1.2.1-2.6.3-4 .3v8"/>
+  <path fill="#ad1519" d="M324 279c-2.8.4-5 1-6 2l-.2.1c-.5 1 2 3.3 6.3 5.8v-8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M324 279c-2.8.4-5 1-6 2l-.2.1c-.5 1 2 3.3 6.3 5.8v-8"/>
+  <path fill="#ad1519" d="M351.1 300.9c.4-1.3-4-4-10.4-6.3-3-1-5.3-2.1-8.3-3.4-8.8-4-15.4-8.4-14.6-10l.1-.2c-.4.4-1.2 8.4-1.2 8.4-.8 1.5 5.2 6 13.3 9.8 2.6 1.3 8.1 3.3 10.7 4.2 4.7 1.6 9.3 4.7 8.9 5.8l1.5-8.3"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M351.1 300.9c.4-1.3-4-4-10.4-6.3-3-1-5.3-2.1-8.3-3.4-8.8-4-15.4-8.4-14.6-10l.1-.2c-.4.4-1.2 8.4-1.2 8.4-.8 1.5 5.2 6 13.3 9.8 2.6 1.3 8.1 3.3 10.7 4.2 4.7 1.6 9.3 4.7 8.9 5.8l1.5-8.3z"/>
+  <path fill="#c8b100" d="M317.5 271.3c.6-2.4 1.4-4.7 2.2-7a5.7 5.7 0 01-.5.1 5.4 5.4 0 01-.6 0c-.4 1.8-.9 3.4-1.5 5.1l-2.9-4.4-1 .2-1 .1a140 140 0 014.2 6h1.1m6.3-7H322l-.2 6.5h4.6v-.8a32 32 0 01-2.7.1v-5.9m7.3 1.1l2.1.3v-.4l.1-.4-6.2-.5v.8h2.2l-.6 6h1l.8.1.6-5.9m2.5 6.5c.3 0 .6 0 1 .2l.8.2.7-3h.1l.5 1.2 1 2.3c.3 0 .7 0 1 .2l1.1.2-.3-.6-1.5-3.1c1.2 0 2-.4 2.3-1.3.1-.7-.1-1.2-.7-1.6a6 6 0 00-1.9-.6l-2.5-.5-1.6 6.4m3.2-5.6c.8.2 1.7.3 1.7 1.1a2 2 0 010 .5c-.3 1-1 1.3-2.3 1l.6-2.6m8.7 7.6l-.3 2.1.9.5.9.5.6-7.4a3.6 3.6 0 01-.8-.4l-6.6 4.1.6.3.4.3 1.8-1.4 2.5 1.4zm-1.9-1.7l2.2-1.4-.3 2.4-1.9-1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M230.3 205.3c0-1.2 1-2.1 2.2-2.1 1.3 0 2.3.9 2.3 2 0 1.2-1 2.2-2.3 2.2a2.2 2.2 0 01-2.2-2.1z"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".3" d="M255.3 187.1c6.8 0 13 1 16.8 2.6a32 32 0 008.6 2.2c2.6.3 5 .4 7 .2 2.9 0 6.9.8 11 2.6a29.2 29.2 0 018 5l-1.7 1.5-.4 4-4.4 5-2.2 2-5.3 4-2.6.3-.8 2.3-33.7-4-33.8 4-.9-2.3-2.6-.2-5.2-4.2-2.2-1.9-4.4-5-.5-4-1.6-1.5a29.5 29.5 0 018-5c4-1.8 8-2.6 10.9-2.6 2 .2 4.4.1 7-.2a32 32 0 008.6-2.2c4-1.6 9.6-2.6 16.4-2.6z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M255.9 231.6c-12.6 0-23.8-1.5-31.9-4-.6 0-.9-.6-.8-1.2a1.2 1.2 0 01.8-1.2 120 120 0 0131.9-4c12.5.1 23.8 1.6 31.8 4 .6.2.9.7.9 1.2 0 .6-.3 1.1-1 1.3a119 119 0 01-31.7 4"/>
+  <path fill="#ad1519" d="M255.8 230a121 121 0 01-29.3-3.4c7.8-2 18-3.2 29.3-3.2a123 123 0 0129.5 3.2c-7.8 2-18.1 3.4-29.5 3.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M256.7 230v-6.7m-1.9 6.7v-6.7"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M253.1 230v-6.7m-1.7 6.7v-6.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M249.9 230v-6.7m-2.9 6.4v-6.2m1.4 6.2v-6.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M244.3 229.4v-5.7m1.4 5.9v-6m-5 5.4v-4.9m1.2 5V224m1.2 5.4V224"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M239.4 229v-4.8m-1.1 4.6v-4.5"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M237 228.7v-4.2m-2.6 3.8V225m1.4 3.5v-3.7"/>
+  <path fill="none" stroke="#000" stroke-width=".7" d="M233.1 228v-2.9m-1.2 2.7v-2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".8" d="M230.6 227.5v-2m-1.4 1.8v-1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".9" d="M227.8 227v-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M264 229.7v-6.2m-3.2 6.4v-6.6m-2.2 6.6v-6.6"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M255.8 221.3a115 115 0 00-32.2 4c.7-.3.6-1-.2-3.2-1-2.6-2.6-2.5-2.6-2.5a130 130 0 0135-4.3c13.8 0 26.2 1.7 35.1 4.3 0 0-1.5-.1-2.5 2.5-.9 2.1-1 3-.3 3.3-8-2.5-19.6-4.1-32.3-4.1"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M255.8 215.3a131 131 0 00-35 4.3c-.5.2-1.2 0-1.4-.6a1.1 1.1 0 01.8-1.4c8.9-2.7 21.6-4.4 35.6-4.4 14.1 0 26.9 1.7 35.8 4.4.6.2.9.9.7 1.4-.2.6-.8.8-1.4.6-8.9-2.6-21.3-4.2-35-4.3"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M255.8 230a121 121 0 01-29.3-3.4c7.8-2 18-3.2 29.3-3.2a123 123 0 0129.5 3.2c-7.8 2-18.1 3.4-29.5 3.4z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M246 218.5c0-.6.5-1.1 1.1-1.1.7 0 1.2.5 1.2 1 0 .6-.5 1.1-1.2 1.1a1.1 1.1 0 01-1-1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M255.9 219.3h-3.4c-.6 0-1.1-.5-1.1-1 0-.6.5-1.1 1-1.1h6.9a1 1 0 011.1 1c0 .6-.5 1.1-1.1 1.1h-3.4"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".4" d="M239 220.2l-2.5.3c-.6 0-1.2-.3-1.2-1a1 1 0 011-1.1l2.4-.3 2.5-.3a1.1 1.1 0 011.2 1c0 .5-.4 1-1 1.1l-2.5.3"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M229.1 220.4c0-.5.5-1 1.1-1a1 1 0 011.2 1c0 .6-.5 1.1-1.2 1.1a1.1 1.1 0 01-1-1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M221.6 222.4l1.3-1.7 3.4.5-2.7 2-2-.8"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".4" d="M272.8 220.2l2.4.3c.6 0 1.2-.3 1.3-1a1 1 0 00-1-1.1l-2.5-.3-2.4-.3c-.7 0-1.2.4-1.3 1 0 .5.4 1 1 1.1l2.5.3"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M263.4 218.5c0-.6.6-1.1 1.2-1.1s1.1.5 1.1 1c0 .6-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.2-1m17 2c0-.6.5-1.1 1-1.1a1 1 0 011.2 1c0 .6-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M290 222.4l-1.2-1.7-3.4.5 2.8 2 1.9-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M225.1 227c8-2.3 18.7-3.6 30.7-3.7 12 0 22.9 1.4 30.8 3.7"/>
+  <path fill="#c8b100" d="M230.4 196l1.5 1.1 2.1-3.4a7.9 7.9 0 01-3.8-7.6c.2-4.5 5.6-8.1 12.5-8.1 3.5 0 6.7 1 9 2.5l.2-1.9a18.6 18.6 0 00-9.2-2.3c-8 0-14.1 4.4-14.4 9.8a9.5 9.5 0 003.3 8l-1.2 2"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M230.4 196l1.5 1.1 2.1-3.4a7.9 7.9 0 01-3.8-7.6c.2-4.5 5.6-8.1 12.5-8.1 3.5 0 6.7 1 9 2.5l.2-1.9a18.6 18.6 0 00-9.2-2.3c-8 0-14.1 4.4-14.4 9.8a9.5 9.5 0 003.3 8l-1.2 2"/>
+  <path fill="#c8b100" d="M230.5 196a9.8 9.8 0 01-4.3-7.7c0-3.5 2.2-6.6 5.7-8.6a9.1 9.1 0 00-3.6 6.4 9.5 9.5 0 003.3 8l-1 2"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M230.5 196a9.8 9.8 0 01-4.3-7.7c0-3.5 2.2-6.6 5.7-8.6a9.1 9.1 0 00-3.6 6.4 9.5 9.5 0 003.3 8l-1 2"/>
+  <path fill="#c8b100" d="M206.8 199.6a9.4 9.4 0 01-2.5-6.3c0-1.4.4-2.8 1-4 2.1-4.5 9-7.8 17.1-7.8 2.2 0 4.4.2 6.3.7-.4.5-.8 1-1 1.5a27.2 27.2 0 00-5.3-.5c-7.4 0-13.6 3-15.4 6.8a7.5 7.5 0 00-.8 3.3 7.8 7.8 0 002.9 6l-2.7 4.4-1.5-1.2 1.9-3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M206.8 199.6a9.4 9.4 0 01-2.5-6.3c0-1.4.4-2.8 1-4 2.1-4.5 9-7.8 17.1-7.8 2.2 0 4.4.2 6.3.7-.4.5-.8 1-1 1.5a27.2 27.2 0 00-5.3-.5c-7.4 0-13.6 3-15.4 6.8a7.5 7.5 0 00-.8 3.3 7.8 7.8 0 002.9 6l-2.7 4.4-1.5-1.2 1.9-3z"/>
+  <path fill="#c8b100" d="M209.5 184.8a11.3 11.3 0 00-4.2 4.4 9.2 9.2 0 00-1 4.1c0 2.4 1 4.6 2.5 6.3l-1.7 2.6a11.1 11.1 0 01-2.4-6.8c0-4.3 2.7-8.1 6.8-10.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M209.5 184.8a11.3 11.3 0 00-4.2 4.4 9.2 9.2 0 00-1 4.1c0 2.4 1 4.6 2.5 6.3l-1.7 2.6a11.1 11.1 0 01-2.4-6.8c0-4.3 2.7-8.1 6.8-10.6z"/>
+  <path fill="#c8b100" d="M255.8 175.4c1.7 0 3.3 1.2 3.7 2.8.2 1.4.4 3 .4 4.7v1.2c0 3.6.6 6.7 1.3 8.7l-5.5 5.2-5.5-5.2c.7-2 1.2-5.1 1.3-8.7v-1.2c0-1.7.2-3.3.5-4.7.3-1.6 2-2.8 3.7-2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M255.8 175.4c1.7 0 3.3 1.2 3.7 2.8.2 1.4.4 3 .4 4.7v1.2c0 3.6.6 6.7 1.3 8.7l-5.5 5.2-5.5-5.2c.7-2 1.2-5.1 1.3-8.7v-1.2c0-1.7.2-3.3.5-4.7.3-1.6 2-2.8 3.7-2.8z"/>
+  <path fill="#c8b100" d="M255.8 177a2 2 0 011.9 1.5 30.6 30.6 0 01.4 4.5v1.1c0 3.4.5 6.4 1.2 8.2l-3.6 3.5-3.6-3.5c.7-1.8 1.2-4.8 1.2-8.2V183c0-1.6.2-3.1.5-4.5.2-.8 1-1.4 2-1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M255.8 177a2 2 0 011.9 1.5 30.6 30.6 0 01.4 4.5v1.1c0 3.4.5 6.4 1.2 8.2l-3.6 3.5-3.6-3.5c.7-1.8 1.2-4.8 1.2-8.2V183c0-1.6.2-3.1.5-4.5.2-.8 1-1.4 2-1.4z"/>
+  <path fill="#c8b100" d="M281 196l-1.4 1.1-2.2-3.4a7.9 7.9 0 003.9-7.6c-.2-4.5-5.7-8.1-12.5-8.1a16 16 0 00-9 2.5 24.5 24.5 0 00-.3-1.9 18.6 18.6 0 019.3-2.3c7.9 0 14 4.4 14.4 9.8a9.5 9.5 0 01-3.3 8l1.1 1.9"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M281 196l-1.4 1.1-2.2-3.4a7.9 7.9 0 003.9-7.6c-.2-4.5-5.7-8.1-12.5-8.1a16 16 0 00-9 2.5 24.5 24.5 0 00-.3-1.9 18.6 18.6 0 019.3-2.3c7.9 0 14 4.4 14.4 9.8a9.5 9.5 0 01-3.3 8l1.1 1.9"/>
+  <path fill="#c8b100" d="M280.9 196c2.7-2 4.4-4.7 4.4-7.7 0-3.5-2.3-6.6-5.7-8.6a9 9 0 013.6 7.3c0 2.8-1.3 5.4-3.3 7.2l1 1.9"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M280.9 196c2.7-2 4.4-4.7 4.4-7.7 0-3.5-2.3-6.6-5.7-8.6a9 9 0 013.6 7.3c0 2.8-1.3 5.4-3.3 7.2l1 1.9"/>
+  <path fill="#c8b100" d="M304.7 199.6a9.3 9.3 0 001.5-10.3c-2.2-4.5-9-7.8-17.2-7.8a28.4 28.4 0 00-6.3.7c.5.5.8 1 1.1 1.5a27.1 27.1 0 015.2-.5c7.5 0 13.7 3 15.5 6.8.5 1 .8 2.1.8 3.3a7.8 7.8 0 01-3 6l2.8 4.4 1.4-1.2-1.8-3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M304.7 199.6a9.3 9.3 0 001.5-10.3c-2.2-4.5-9-7.8-17.2-7.8a28.4 28.4 0 00-6.3.7c.5.5.8 1 1.1 1.5a27.1 27.1 0 015.2-.5c7.5 0 13.7 3 15.5 6.8.5 1 .8 2.1.8 3.3a7.8 7.8 0 01-3 6l2.8 4.4 1.4-1.2-1.8-3z"/>
+  <path fill="#c8b100" d="M302 184.8a11.3 11.3 0 014.2 4.4 9.3 9.3 0 011 4.1c0 2.4-1 4.6-2.5 6.3l1.6 2.6a11.1 11.1 0 002.5-6.8c0-4.3-2.7-8.1-6.9-10.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M302 184.8a11.3 11.3 0 014.2 4.4 9.3 9.3 0 011 4.1c0 2.4-1 4.6-2.5 6.3l1.6 2.6a11.1 11.1 0 002.5-6.8c0-4.3-2.7-8.1-6.9-10.6z"/>
+  <path fill="#fff" d="M253.8 193.5c0-1 .9-1.9 2-1.9 1 0 1.9.9 1.9 1.9a1.9 1.9 0 01-2 1.8 1.9 1.9 0 01-2-1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M253.8 193.5c0-1 .9-1.9 2-1.9 1 0 1.9.9 1.9 1.9a1.9 1.9 0 01-2 1.8 1.9 1.9 0 01-2-1.8z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M253.8 189.8a1.9 1.9 0 012-1.8 1.9 1.9 0 011.9 1.9 1.9 1.9 0 01-2 1.8 1.9 1.9 0 01-2-1.8m.5-4c0-.8.7-1.4 1.5-1.4.9 0 1.6.6 1.6 1.5 0 .8-.7 1.4-1.6 1.4-.8 0-1.5-.6-1.5-1.4m.4-3.6c0-.5.5-1 1.1-1a1 1 0 011.2 1c0 .6-.5 1.1-1.2 1.1a1.1 1.1 0 01-1-1m.1-3.1c0-.5.4-.9 1-.9s.8.4.8.9-.4.8-.9.8-.9-.3-.9-.8"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M255.9 204.6l1.3.2a5 5 0 004.8 6.4 5 5 0 004.8-3.3s.4-1.7.6-1.7c.2 0 .2 1.9.3 1.9.3 2.4 2.5 4 5 4a4.9 4.9 0 005-5.4l1.5-1.5.9 2a4.3 4.3 0 00-.5 2 4.7 4.7 0 004.8 4.6 5 5 0 004-2l1-1.3v1.6c0 1.5.7 3 2.2 3.2 0 0 1.8.1 4.1-1.7a28 28 0 003.7-3.4l.2 1.9s-2 3-4 4.2c-1.2.7-3 1.4-4.4 1.1-1.5-.2-2.6-1.4-3.1-2.7a7.2 7.2 0 01-3.6 1 7 7 0 01-6.5-4 7.5 7.5 0 01-11-.3 7.4 7.4 0 01-5 1.9 7.4 7.4 0 01-6.1-3.1 7.3 7.3 0 01-6.1 3 7.4 7.4 0 01-5-1.8 7.5 7.5 0 01-11 .3 7 7 0 01-6.5 4 7.1 7.1 0 01-3.6-1c-.6 1.3-1.6 2.5-3.1 2.8-1.4.2-3.2-.5-4.3-1.2-2.2-1.2-4.1-4.3-4.1-4.3l.2-1.8s1.3 1.5 3.6 3.4c2.4 1.8 4.2 1.7 4.2 1.7 1.5-.2 2.2-1.7 2.2-3.2v-1.6l1 1.3a4.9 4.9 0 004 2c2.6 0 4.8-2 4.8-4.6 0-.7-.2-1.4-.5-2l.8-2 1.6 1.5v.6a4.9 4.9 0 005 4.8c2.5 0 4.7-1.7 5-4 0 0 0-1.9.2-1.9s.7 1.8.7 1.7a5 5 0 004.8 3.3 4.9 4.9 0 004.8-6.4l1.3-.2"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M290.5 210.8c.3-.8 0-1.7-.6-1.8-.6-.2-1.4.3-1.6 1.2-.3.8 0 1.7.5 1.8.6.2 1.4-.3 1.7-1.2m-22-4.2c.2-.9-.2-1.6-.9-1.7-.6-.1-1.2.5-1.3 1.4-.1 1 .3 1.7 1 1.8.6 0 1.2-.6 1.3-1.5m-25.4 0c-.1-.9.3-1.6 1-1.7.6-.1 1.2.5 1.3 1.4.1 1-.3 1.7-1 1.8-.6 0-1.2-.6-1.3-1.5m-22 4.3c-.2-.9 0-1.7.7-2 .6-.1 1.3.4 1.6 1.3.3.8 0 1.7-.6 1.9-.6.1-1.3-.4-1.6-1.2"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M230.8 196.3a5.5 5.5 0 012.4 3s0-.2.7-.6c.6-.3 1.1-.3 1.1-.3l-.2 1.4c-.1.3-.1 1.4-.4 2.3a7.8 7.8 0 01-.6 1.8 2 2 0 00-1.6-.5 2 2 0 00-1.4 1s-.7-.6-1.2-1.4l-1.2-2.2-.7-1.2h1.1c.7.1 1 .3 1 .3a5.2 5.2 0 011-3.7"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M231.3 206.7a1.9 1.9 0 01-.7-1.1 1.7 1.7 0 01.2-1.3l-1.9-.7c-.7-.2-2-.2-2.4-.2h-1.2l.3.6.5.7a5.4 5.4 0 00-3 2.2 5.6 5.6 0 003.6 1l-.2.8v.7l1-.4c.4-.2 1.6-.6 2.2-1 .9-.6 1.6-1.3 1.6-1.3m2.9-.5a1.8 1.8 0 00.2-1.2 1.8 1.8 0 00-.7-1.1s.7-.8 1.5-1.3l2.3-1 1-.4v.6l-.2.9a5.6 5.6 0 013.7 1 5.4 5.4 0 01-3.1 2.1 7.1 7.1 0 00.8 1.4h-1.2c-.4 0-1.7 0-2.4-.3-1-.2-2-.7-2-.7"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M230.3 205.3c0-1.2 1-2.1 2.2-2.1 1.3 0 2.3.9 2.3 2 0 1.2-1 2.2-2.3 2.2a2.2 2.2 0 01-2.2-2.1"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M255.8 192.9a6 6 0 012 3.9s.2-.3 1-.6 1.2-.1 1.2-.1l-.5 1.4c-.2.4-.4 1.6-.9 2.6a8.8 8.8 0 01-1 1.8 2.3 2.3 0 00-1.8-.7c-.6 0-1.3.3-1.7.7 0 0-.6-.7-1-1.8-.5-1-.7-2.2-.9-2.6l-.6-1.4s.6-.1 1.3.2c.8.2 1 .5 1 .5a6 6 0 012-4"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M254.2 204.6a2 2 0 01-.6-1.3c0-.6.2-1 .6-1.4 0 0-1-.7-2-1.1-.8-.4-2.2-.6-2.6-.7l-1.3-.3.1.7.4 1c-1.5 0-2.9.8-3.9 1.8a6.3 6.3 0 004 1.8l-.5 1-.2.6 1.4-.2 2.6-.7 2-1.2m3.3 0c.3-.3.5-.8.5-1.3a2 2 0 00-.5-1.4s1-.7 2-1.1c.8-.4 2.2-.6 2.6-.7l1.3-.3-.2.7a7.6 7.6 0 01-.4 1 6 6 0 014 1.8 6.3 6.3 0 01-4 1.8l.4 1 .2.6-1.3-.2-2.6-.7a13 13 0 01-2-1.2m23.5-8.4a5.5 5.5 0 00-2.4 3.1l-.7-.6c-.6-.3-1.1-.3-1.1-.3l.2 1.4.3 2.3.7 1.8a2 2 0 011.6-.5 2 2 0 011.4 1l1.2-1.4 1.2-2.2.7-1.2h-1.2c-.7.1-.9.3-.9.3a5.2 5.2 0 00-1-3.7"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M280.5 206.7c.3-.3.6-.7.7-1.1a1.8 1.8 0 00-.2-1.3l1.8-.7c.8-.2 2-.2 2.5-.2h1.1l-.2.6-.6.7a5.4 5.4 0 013.1 2.2 5.6 5.6 0 01-3.6 1l.2.8v.7l-1-.4-2.3-1a11.5 11.5 0 01-1.5-1.3m-2.9-.5a1.8 1.8 0 01-.3-1.2c.1-.5.4-.9.7-1.1 0 0-.7-.8-1.5-1.3-.6-.4-1.8-.9-2.2-1l-1-.4v.6c0 .5.2.9.2.9a5.6 5.6 0 00-3.7 1c.7 1 1.8 1.8 3 2.1l-.4.8a4 4 0 00-.3.6h1.2c.4 0 1.7 0 2.4-.3 1-.2 1.9-.7 1.9-.7"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M277 205.3c0-1.2 1-2.1 2.2-2.1 1.3 0 2.3.9 2.3 2 0 1.2-1 2.2-2.3 2.2a2.2 2.2 0 01-2.2-2.1m24.8 4.6c-.5-.5-1.6-.4-2.4.3-.8.7-1 1.7-.5 2.2s1.6.5 2.4-.2c.8-.7 1-1.7.5-2.3"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M298.7 211.3c0-.4.4-.8.7-1.1.8-.7 2-.8 2.4-.3l.2.3s1.2-2.1 2.5-2.9 3.6-.5 3.6-.5a3 3 0 00-3.1-3c-1 0-2 .5-2.5 1.2l-.3-1.1s-1.4.3-2 1.8c-.6 1.7 0 4 0 4s-.3-1-.8-1.7a8.5 8.5 0 00-2.6-1.7l-1.4-.8v1.5a8.4 8.4 0 00-4 .5 5 5 0 002.7 2.3l-.8.8-.5.5 1.4.2c.4 0 1.8.3 2.7.2a15.7 15.7 0 001.8-.2m-85.6 0a2.3 2.3 0 00-.8-1.1c-.8-.7-1.9-.8-2.4-.3a1.1 1.1 0 00-.2.3s-1-2.1-2.4-2.9-3.6-.5-3.6-.5a3 3 0 013-3c1 0 2 .5 2.6 1.2l.2-1.1s1.4.3 2 1.9c.7 1.6 0 3.9 0 3.9s.4-1 .9-1.7 1.8-1.4 2.5-1.7l1.4-.8a7.4 7.4 0 000 1.5 8.4 8.4 0 014 .5 5 5 0 01-2.7 2.3l.9.8.4.5-1.3.2c-.4 0-1.9.3-2.7.2a15.7 15.7 0 01-1.8-.2"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M210 210c.5-.6 1.5-.5 2.3.2.9.7 1 1.7.6 2.2-.6.6-1.6.5-2.4-.2-.9-.7-1.1-1.7-.6-2.3m43.7-6.6c0-1.2 1-2.1 2.3-2.1s2.2.9 2.2 2-1 2.2-2.3 2.2a2.2 2.2 0 01-2.2-2.1"/>
+  <path fill="#005bbf" stroke="#000" stroke-width=".3" d="M251.2 171.3c0-2.4 2-4.3 4.6-4.3 2.5 0 4.5 2 4.5 4.3a4.4 4.4 0 01-4.5 4.3 4.4 4.4 0 01-4.6-4.3"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".3" d="M254.6 159.3v2.3H252v2.3h2.5v6.8h-3.2l-.2.6c0 .6.2 1.2.4 1.7h8.3a4.1 4.1 0 00.4-1.7l-.2-.6h-3V164h2.4v-2.3H257v-2.3h-2.5z"/>
+  <path fill="#ccc" d="M256.2 352.6a87.4 87.4 0 01-37.8-8.8 24.2 24.2 0 01-13.7-21.6V288h102.8v34c0 9.5-5.4 17.7-13.7 21.8a86.4 86.4 0 01-37.6 8.7"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M256.2 352.6a87.4 87.4 0 01-37.8-8.8 24.2 24.2 0 01-13.7-21.6V288h102.8v34c0 9.5-5.4 17.7-13.7 21.8a86.4 86.4 0 01-37.6 8.7z"/>
+  <path fill="#ccc" d="M256 288h51.5v-57H256v57z"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M256 288h51.5v-57H256v57z"/>
+  <path fill="#ad1519" d="M256 322.1a25 25 0 01-25.6 24.4c-14.2 0-25.8-11-25.8-24.4V288H256v34"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M215.8 342.3c1.7.8 3.9 2.2 6.2 2.8l-.1-58.3h-6v55.4z"/>
+  <path fill="#c8b100" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M204.5 321.7a26 26 0 006 16v-50.6h-5.9v34.6z"/>
+  <path fill="#c7b500" stroke="#000" stroke-width=".5" d="M227.3 346.4c2.4.2 4.1.2 6 0v-59.6h-6v59.6z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M238.6 345a20.3 20.3 0 006.2-2.6v-55.6h-6l-.2 58.3z"/>
+  <path fill="#ad1519" d="M204.6 288H256v-57h-51.4v57z"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M204.6 288H256v-57h-51.4v57z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M250.4 337.1c2.5-2.2 4.9-7.3 5.7-13l.2-37.3h-6V337z"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M256 322.1a25 25 0 01-25.6 24.4c-14.2 0-25.8-11-25.8-24.4V288H256v34"/>
+  <path fill="#ad1519" d="M307.6 288v34a25.1 25.1 0 01-25.8 24.4c-14.2 0-25.8-11-25.8-24.4v-34h51.6"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M307.6 288v34a25.1 25.1 0 01-25.8 24.4c-14.2 0-25.8-11-25.8-24.4v-34h51.6"/>
+  <path fill="#c8b100" d="M265.4 313.7l.1.6c0 .6-.5 1.1-1.2 1.1-.6 0-1.2-.5-1.2-1.1 0-.2 0-.4.2-.5h-1.7a2.7 2.7 0 001.9 3v4.1h1.7v-4.1a2.7 2.7 0 001.8-1.7h4.7v-1.4h-6.3m23.1 0v1.4h-4.2a2.7 2.7 0 01-.3.6l5 5.6-1.4 1-4.9-5.6-.2.1v9.3h-1.8v-9.3l-.2-.1-5 5.6-1.4-1 5.1-5.7a2.3 2.3 0 01-.2-.5h-4.4v-1.4h14zm2.8 0v1.4h4.8c.2.8.9 1.4 1.7 1.7v4.1h1.8v-4.1a2.7 2.7 0 002-2.5l-.2-.6h-1.6a1.2 1.2 0 01-1 1.7c-.8 0-1.3-.5-1.3-1.1l.1-.5h-6.3m-7 23.5a16.6 16.6 0 003.8-1l.9 1.4a18.8 18.8 0 01-4.6 1.3 2.8 2.8 0 01-2.8 2 2.8 2.8 0 01-2.7-2 18.7 18.7 0 01-4.8-1.3l.8-1.5c1.3.6 2.7 1 4.2 1.2a2.7 2.7 0 011.6-1.5v-7.1h1.8v7.1a3 3 0 011.7 1.4zm-11.8-2.4l-.9 1.5a17.8 17.8 0 01-3.9-3.3 3 3 0 01-2.6-.5 2.5 2.5 0 01-.4-3.7l.2-.2a16.3 16.3 0 01-1.4-5.1h1.8a14 14 0 001.1 4.4 3.1 3.1 0 011.5.1l4.4-4.8 1.3 1-4.4 4.9a2.5 2.5 0 010 3 16.2 16.2 0 003.2 2.7zm-6.5-5a1.2 1.2 0 011.7-.2 1 1 0 010 1.6 1.3 1.3 0 01-1.6.2 1.1 1.1 0 01-.1-1.6zm-2.2-4.8l-1.8-.4-.3-4.6 1.8-.6v2.6c0 1 0 2 .2 3zm1.4-5.7l1.8.4v2.3c0-.8.3 2.3.3 2.3l-1.8.6-.3-2.9v-2.7zm6 14.6a16.7 16.7 0 005.1 2.7l.4-1.7a14.6 14.6 0 01-4.3-2.1l-1.2 1m-1 1.6a18.6 18.6 0 005.2 2.7l-1.3 1.3a20 20 0 01-4.2-2.2l.4-1.8m2.3-10l1.7.7 3.2-3.5-1-1.5-3.9 4.2m-1.3-1l-1-1.5 3.1-3.5 1.7.7-3.8 4.3m19.3 10.5l.9 1.5a17.8 17.8 0 003.8-3.3c1 .3 2 .1 2.7-.5a2.5 2.5 0 00.3-3.7l-.1-.2c.7-1.6 1.2-3.3 1.3-5.1h-1.7a14.2 14.2 0 01-1.2 4.4 3.1 3.1 0 00-1.5.1l-4.3-4.8-1.3 1 4.3 4.9a2.5 2.5 0 00.1 3 16 16 0 01-3.3 2.7zm6.5-5a1.2 1.2 0 00-1.7-.2 1.1 1.1 0 00-.1 1.6c.4.5 1.2.6 1.7.1a1 1 0 000-1.6zm2.2-4.8l1.8-.5.2-4.5-1.7-.6v2.6l-.3 3zm-1.5-5.7l-1.8.4v2.3c0-.8-.3 2.3-.3 2.3l1.9.6.2-2.9v-2.7m-6 14.6a16.8 16.8 0 01-5 2.7l-.5-1.7a14.6 14.6 0 004.3-2.1l1.3 1m.9 1.6a18.6 18.6 0 01-5.2 2.7l1.3 1.3a20 20 0 004.3-2.2l-.4-1.8m-2.4-10l-1.7.7-3.1-3.5 1-1.5 3.8 4.2m1.4-1l1-1.5-3.2-3.5-1.7.7 3.8 4.3m-21.4-9.3l.5 1.7h4.8l.6-1.7h-5.9m22.5 0l-.5 1.7h-4.8l-.5-1.7h5.9m-12.4 23.3c0-.6.5-1.1 1.2-1.1.6 0 1.1.5 1.1 1.1 0 .7-.5 1.2-1.2 1.2s-1.2-.6-1.2-1.2zm2-8.2l1.8-.5V325l-1.8-.5v5.6m-1.8 0l-1.8-.5V325l1.8-.5v5.6"/>
+  <path fill="#c8b100" d="M261.6 313.8c.2-1 1-1.7 1.9-2V306h1.7v5.7c.9.3 1.6.9 1.8 1.7h4.7v.3h-6.3a1.2 1.2 0 00-1-.6 1.2 1.2 0 00-1.1.6h-1.7m13 0v-.3h4.4l.2-.4-5.4-6 1.3-1 5.3 5.8h.3v-8h1.7v7.9h.3l5.2-5.8 1.3 1-5.2 5.9.3.6h4.2v.3h-13.9zm23 0a1.2 1.2 0 011.1-.6c.5 0 .9.2 1 .6h1.7a2.7 2.7 0 00-1.8-2V306h-1.8v5.7a2.7 2.7 0 00-1.8 1.7h-4.6v.3h6.3m-32.2-16l6.5 7.3 1.3-1-6.5-7.3.3-.6h4.7v-1.6h-4.7a2.8 2.8 0 00-2.7-1.9 2.7 2.7 0 00-2.8 2.7c0 1.1.8 2.1 1.9 2.5v5.6h1.7v-5.6h.3zm34 .1v5.6h-1.7v-5.6a2.6 2.6 0 01-.4-.2L291 305l-1.3-1 6.5-7.5a2.4 2.4 0 01-.1-.3h-4.8v-1.6h4.8a2.8 2.8 0 012.6-1.9c1.6 0 2.8 1.2 2.8 2.7 0 1.2-.8 2.2-2 2.5zm-17 0v3.4h-1.8V298a2.7 2.7 0 01-1.8-1.7h-4.3v-1.6h4.3a2.8 2.8 0 012.6-1.9c1.3 0 2.3.8 2.7 1.9h4.3v1.6h-4.3a2.7 2.7 0 01-1.7 1.7zm-19 4.1l-1.8.5v4.6l1.8.5V302m1.8 0l1.8.5v4.6l-1.8.5V302m32.5 0l-1.8.5v4.6l1.8.5V302m1.8 0l1.8.5v4.6l-1.8.5V302m-27.3 1l1.7-.8 3.2 3.5-1 1.5-3.9-4.2m-1.3 1l-1 1.5 3 3.5 1.8-.7-3.8-4.3m19.7-1.2l-1.8-.7-3 3.5 1 1.5 3.8-4.3m1.3 1l1 1.6-3 3.5-1.8-.7 3.8-4.3m-21.7 9.6l.5-1.7h4.8l.6 1.7h-5.9m-7-18.1c0-.6.5-1.2 1.1-1.2.7 0 1.2.5 1.2 1.2s-.5 1.1-1.2 1.1c-.6 0-1.2-.5-1.2-1.1zm12.8.8l-.5 1.7h-4.8l-.5-1.7h5.8m0-1.7l-.5-1.7h-4.8l-.5 1.7h5.8m16.7 19l-.5-1.7h-4.8l-.5 1.7h5.9m4.6-18.1c0-.6.6-1.2 1.2-1.2.7 0 1.2.5 1.2 1.2s-.5 1.1-1.2 1.1c-.6 0-1.2-.5-1.2-1.1zm-17.2 0c0-.6.6-1.2 1.2-1.2s1.2.5 1.2 1.2-.5 1.1-1.2 1.1c-.6 0-1.2-.5-1.2-1.1zm6.7.8l.6 1.7h4.8l.5-1.7H287m0-1.6l.5-1.8h4.9l.5 1.7H287m-6.3 5.4l-1.8.5v4.6l1.8.5v-5.6m1.7 0l1.8.5v4.6l-1.8.5v-5.6"/>
+  <path fill="none" stroke="#c8b100" stroke-width=".3" d="M284.2 337.3a16.6 16.6 0 004-1l.8 1.4a18.8 18.8 0 01-4.6 1.3 2.8 2.8 0 01-2.8 2 2.8 2.8 0 01-2.7-2 18.7 18.7 0 01-4.8-1.3l.8-1.5c1.3.6 2.7 1 4.2 1.1a2.7 2.7 0 011.6-1.4v-7.2h1.8v7.2a2.8 2.8 0 011.7 1.4zm-5-21.7a2.4 2.4 0 01-.2-.5h-4.4v-1.6h4.4c0-.2 0-.3.2-.4l-5.4-6 1.3-1 5.3 5.8a2.2 2.2 0 01.3-.1V304h1.7v7.7l.3.1 5.2-5.9 1.3 1-5.2 6 .3.6h4.2v1.6h-4.2l-.3.6 5 5.6-1.4 1-4.9-5.6-.2.1v9.3h-1.8v-9.3l-.2-.1-5 5.6-1.4-1 5.1-5.7m-13.7-17.7l6.5 7.2 1.3-1-6.5-7.3.3-.6h4.7v-1.7h-4.7a2.8 2.8 0 00-2.7-1.8 2.7 2.7 0 00-2.8 2.7c0 1.1.8 2.1 1.9 2.5v5.5h1.7V298h.3zm7 37l-.9 1.5a17.8 17.8 0 01-3.9-3.3c-.9.3-1.9.1-2.6-.5a2.5 2.5 0 01-.3-3.7v-.2a16.3 16.3 0 01-1.3-5.1h1.8a14 14 0 001.1 4.4 3.1 3.1 0 011.5.1l4.4-4.8 1.3 1-4.3 4.9a2.5 2.5 0 01-.1 3 16.2 16.2 0 003.3 2.7zm-9-14v-4a2.7 2.7 0 01-2-2.6c0-1.2.9-2.2 2-2.6v-5.6h1.7v5.7c.9.2 1.5.9 1.8 1.7h4.7v1.6H267a2.7 2.7 0 01-1.8 1.7v4.1h-1.7m2.5 9a1.2 1.2 0 011.7-.2c.5.4.5 1.1 0 1.6a1.3 1.3 0 01-1.6.1 1.1 1.1 0 01-.1-1.6zm-2.2-4.9l-1.8-.4-.3-4.5 1.8-.6v2.6c0 1 0 2 .3 3zm1.5-5.6l1.7.4a64.3 64.3 0 00.3 4.6l-1.8.6-.3-2.9v-2.7zm5.9 14.6a16.7 16.7 0 005.1 2.7l.4-1.7a14.6 14.6 0 01-4.3-2.2l-1.2 1.2m-1 1.5a18.6 18.6 0 005.3 2.7l-1.4 1.2a20 20 0 01-4.2-2.1l.4-1.8"/>
+  <path fill="none" stroke="#c8b100" stroke-width=".3" d="M272.6 325.4l1.7.8 3.2-3.5-1-1.5-3.9 4.2m-1.3-1l-1-1.5 3.1-3.5 1.7.7-3.8 4.3m-8.2-10.1c0-.7.6-1.2 1.2-1.2.7 0 1.2.5 1.2 1.2 0 .6-.5 1.1-1.2 1.1-.6 0-1.2-.5-1.2-1.1zm27.5 20.6l.8 1.5a17.8 17.8 0 004-3.3c.8.3 1.8.1 2.6-.5a2.5 2.5 0 00.3-3.7l-.2-.2c.8-1.6 1.2-3.3 1.4-5.1h-1.7a14.2 14.2 0 01-1.2 4.4 3.1 3.1 0 00-1.5.1l-4.3-4.8-1.4 1 4.4 4.9a2.5 2.5 0 00.1 3 16 16 0 01-3.3 2.7zm9-14v-4.1a2.7 2.7 0 002-2.5 2.7 2.7 0 00-2-2.6v-5.6h-1.8v5.7c-.8.2-1.5.9-1.8 1.7h-4.7v1.6h4.8a2.7 2.7 0 001.7 1.7v4.1h1.8zm-2.5 9a1.2 1.2 0 00-1.7-.2 1.1 1.1 0 00-.1 1.6c.4.5 1.1.6 1.7.1a1 1 0 000-1.6zm2.2-4.8l1.8-.4.2-4.6-1.7-.6v2.6l-.3 3zm-1.5-5.7l-1.8.4v2.3c0-.8-.3 2.3-.3 2.3l1.9.6.2-2.9v-2.7m1.8-21.5v5.5h-1.8V298a2.4 2.4 0 01-.4-.2L291 305l-1.3-1.1 6.5-7.4a2.5 2.5 0 01-.1-.3h-4.8v-1.7h4.8a2.8 2.8 0 012.6-1.8c1.6 0 2.8 1.2 2.8 2.7 0 1.2-.8 2.2-2 2.5zm-17.2 0v3.4h-1.7v-3.4a2.7 2.7 0 01-1.8-1.7h-4.3v-1.7h4.3a2.8 2.8 0 012.6-1.8c1.3 0 2.3.8 2.7 1.8h4.3v1.7h-4.3a2.7 2.7 0 01-1.7 1.7zm9.5 36a16.8 16.8 0 01-5.2 2.8l-.4-1.7a14.6 14.6 0 004.3-2.1l1.3 1m.9 1.6a18.6 18.6 0 01-5.2 2.7l1.3 1.3a20 20 0 004.3-2.2l-.4-1.8M263.5 302l-1.8.5v4.6l1.8.5V302m1.8 0l1.8.5v4.6l-1.8.5V302m32.5 0l-1.8.5v4.6l1.8.5V302"/>
+  <path fill="none" stroke="#c8b100" stroke-width=".3" d="M299.6 302l1.8.5v4.6l-1.8.5V302m-9.2 23.4l-1.7.8-3.1-3.5 1-1.5 3.8 4.2m1.3-1l1-1.5-3-3.5-1.8.7 3.8 4.3m-19.4-21.5l1.7-.7 3.1 3.5-1 1.5-3.8-4.3M271 304l-1 1.5 3 3.5 1.8-.8-3.8-4.2m19.7-1.2l-1.8-.7-3 3.5 1 1.5 3.8-4.3m1.3 1l1 1.5-3 3.5-1.8-.7 3.8-4.2m-21.7 9.6l.5-1.7h4.8l.6 1.7h-5.9m0 1.6l.5 1.7h4.8l.6-1.7h-5.9m-7-19.7c0-.7.5-1.2 1.1-1.2.7 0 1.2.5 1.2 1.2s-.5 1.1-1.2 1.1c-.6 0-1.2-.5-1.2-1.1zm12.8.8l-.5 1.7h-4.8l-.5-1.7h5.8m0-1.7l-.5-1.7h-4.8l-.5 1.7h5.8m21.4 19.8c0-.6.5-1.2 1.2-1.2s1.2.5 1.2 1.2c0 .6-.5 1.1-1.2 1.1s-1.2-.5-1.2-1.1zm-4.7-.8l-.5-1.7h-4.8l-.5 1.7h5.9m0 1.6l-.6 1.7h-4.8l-.5-1.7h5.9m-12.4 23.3c0-.6.5-1.1 1.2-1.1.6 0 1.1.5 1.1 1.1 0 .7-.5 1.2-1.2 1.2s-1.2-.5-1.2-1.2zm2-8.2l1.8-.5V325l-1.8-.5v5.6m-1.8 0l-1.8-.5V325l1.8-.5v5.6m16.8-34.8c0-.7.6-1.2 1.2-1.2.7 0 1.2.5 1.2 1.2s-.5 1.1-1.2 1.1c-.6 0-1.2-.5-1.2-1.1zm-17.2 0c0-.7.6-1.2 1.2-1.2.7 0 1.2.5 1.2 1.2s-.5 1.1-1.2 1.1c-.6 0-1.2-.5-1.2-1.1zm6.7.8l.6 1.7h4.8l.5-1.7H287m0-1.7l.6-1.7h4.8l.5 1.7H287m-6.3 5.4l-1.8.5v4.5l1.8.5V300m1.7 0l1.8.5v4.5l-1.8.5V300"/>
+  <path fill="#058e6e" d="M278.8 314.3a2.7 2.7 0 012.8-2.6c1.6 0 2.8 1.1 2.8 2.6a2.7 2.7 0 01-2.8 2.7 2.7 2.7 0 01-2.8-2.7"/>
+  <path fill="#db4446" d="M282.3 245v-.6l.1-.4s-1.6.2-2.5 0a6.3 6.3 0 01-2.5-1.4c-.8-.7-1.1-1-1.7-1.2-1.4-.2-2.4.4-2.4.4s1 .4 1.8 1.4a5 5 0 002 1.5c.6.2 2.7 0 3.3.1l1.9.2"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M282.3 245v-.6l.1-.4s-1.6.2-2.5 0a6.3 6.3 0 01-2.5-1.4c-.8-.7-1.1-1-1.7-1.2-1.4-.2-2.4.4-2.4.4s1 .4 1.8 1.4a5 5 0 002 1.5c.6.2 2.7 0 3.3.1l1.9.2z"/>
+  <path fill="#ed72aa" stroke="#000" stroke-width=".4" d="M290 242.7v1.4c.1.7-.2 1.3 0 1.7l.2 1c.2.2.3.9.3.9l-.8-.6-.6-.4v1c.1.3.3 1 .6 1.3.3.3.9 1 1 1.4.3.4.2 1.4.2 1.4s-.4-.7-.9-.9l-1.3-.6s.9.8.9 1.6c0 .7-.4 1.6-.4 1.6s-.3-.7-.8-1.1l-1.2-1s.5 1.2.5 2v2.6s-.5-.7-1-1l-1-.8c0-.2.5.7.6 1.2 0 .5.3 2.4 2 4.8 1 1.4 2.4 3.8 5.6 3 3.2-.8 2-5 1.3-7-.6-2-1-4.3-1-5 .1-.8.7-3 .6-3.5a8.5 8.5 0 01.1-3.4c.4-1.3.8-1.9 1-2.4l.5-1.4v-1.4l.8 1.5.1 1.5s.1-1.1 1-1.7c1-.6 2-1.2 2.2-1.5l.4-.5s-.1 2-.7 2.7l-1.8 2.2s.8-.3 1.3-.3h.9s-.7.5-1.5 1.6c-.8 1.2-.5 1.3-1 2.3-.7 1-1.1 1-1.9 1.6-1 1-.5 4.5-.3 5 .1.5 2 4.9 2 6 .1 1 .3 3.3-1.6 4.9-1.2 1-3.1 1-3.6 1.2-.4.3-1.3 1.2-1.3 3s.7 2.1 1.2 2.6c.5.4 1.2.2 1.3.5l.5.8c.2.2.4.5.3.8 0 .4-1 1.3-1.2 2-.3.6-1 2.2-1 2.5 0 .2 0 1 .3 1.4 0 0 .9 1 .2 1.3-.4.1-.8-.3-1-.2l-1 .4c-.3 0-.3-.2-.4-.8l-.1-.7c-.3 0-.4.2-.4.5 0 .2 0 .9-.3.9s-.6-.5-.9-.6c-.2 0-.8-.2-.9-.5 0-.3.4-.9.8-1 .4 0 .8-.3.5-.5-.2-.2-.5-.2-.7 0s-.8 0-.8-.3.1-.7 0-.8c0-.2-.4-.6.2-.9.6-.3.8.3 1.4.2.6-.1 1-.3 1.1-.7.2-.3.2-1-.2-1.5s-.8-.5-1-.8l-.3-1v2.4l-.8-.9c-.3-.3-.6-1.4-.6-1.4v1.4c0 .4.4.7.2.9-.1.1-.8-.8-1-.9-.2-.1-.8-.6-1-1l-.6-1.5c0-.2-.2-1.4 0-1.6l.4-1.2h-1.4c-.8 0-1.3-.2-1.6.3-.3.5-.2 1.6.2 3 .4 1.3.6 2 .5 2.2a4 4 0 01-.8 1l-1-.1c-.2-.1-.5-.3-1.2-.3h-1.4c-.3 0-1-.4-1.2-.3-.3 0-.8.3-.7.7.2.6-.2.8-.5.7l-1-.2c-.3-.1-.9 0-.8-.4 0-.5.2-.5.4-.8.2-.3.3-.5 0-.5h-.7c-.2.2-.5.6-.7.5-.3-.2-.5-.5-.5-1.1 0-.7-.7-1.3 0-1.3.6 0 1.4.5 1.5.2.2-.4 0-.5-.3-.8-.3-.3-.7-.5-.3-.8l.8-.6c.2-.1.4-.8.7-.6.7.3 0 .7.7 1.4.6.7 1 1 2.1.9 1-.1 1.4-.3 1.4-.6l-.2-1 .2-1s-.5.3-.6.6l-.5.8v-2.1l-.2-.9-.3 1-.1 1s-.7-.5-.5-1.5v-2.1c.3-.4.9-1.7 2.2-1.8h2.8l2.1-.3s-3-1.5-3.7-2c-.7-.5-1.8-1.7-2.1-2.2-.4-.6-.7-1.6-.7-1.6s-.5 0-1 .3a5.3 5.3 0 00-1.3 1l-.7 1v-2s-.4 1.3-1 1.8l-1.5 1.2v-1l.2-1s-.5.8-1.2 1-1.9 0-2 .5c0 .5.2 1.1 0 1.4-.1.4-.5.6-.5.6s-.4-.4-.8-.4-.7.2-.7.2-.4-.4-.2-.7c0-.3.7-.7.5-.9-.1-.1-.6.1-.9.2-.3.2-.9.3-.8-.2 0-.4.2-.7 0-1-.1-.3 0-.6.2-.6.2-.1 1.2 0 1.3-.2 0-.3-.3-.5-.9-.7-.6-.1-.9-.5-.6-.8l.6-.6c.1-.3.2-.8.7-.6.6.3.5.9 1 1 .6.3 2 0 2.3-.1l1.5-1 1.7-1.2-1.1-.8-1-1.1a8.8 8.8 0 00-2-.7c-.5 0-1.8-.5-1.8-.5l.8-.3c.2-.2.7-.6.9-.6h.3-1.5c-.3-.2-1-.6-1.3-.6h-.9s.8-.4 1.4-.5l1.2-.1s-1-.3-1.3-.6l-.6-1c-.2-.2-.3-.6-.6-.6s-.9.4-1.2.3c-.3 0-.5-.2-.6-.7v-.5c-.2-.3-.7-.8-.2-1h1.4c.1-.2-.5-.7-.8-1-.4-.1-1-.4-.7-.7l.8-.6c.2-.3.4-1 .8-.7.3.2.9 1.3 1.1 1.2.3-.1.4-.9.3-1.2 0-.3 0-1 .3-.9.3 0 .5.5 1 .5.4 0 1.1-.1 1 .2 0 .4-.3.8-.6 1.1a1.6 1.6 0 00-.2 1.6 4 4 0 001.2 1.5c.4.3 1.3.5 1.8.8.6.4 1.9 1.4 2.3 1.5l.9.3s.5-.2 1.1-.2c.7 0 2.2.1 2.8-.1.6-.3 1.3-.7 1.1-1.2-.2-.5-1.5-1-1.4-1.4.1-.4.6-.4 1.4-.5.8 0 1.8.2 2-1 .2-1 .3-1.6-.8-1.9-1.1-.2-2-.3-2.1-1-.2-.8-.4-1-.2-1.3.2-.2.6-.3 1.5-.3.8-.1 1.7-.1 2-.3.2-.2.3-.7.6-1l1.5-.3s1.5.7 3 1.7c1.2 1 2.3 2.3 2.3 2.3"/>
+  <path d="M279.3 242l-.2-.7-.1-.3s.9 0 .9.2c0 .3-.3.3-.4.4 0 .2-.2.3-.2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M279.3 242l-.2-.7-.1-.3s.9 0 .9.2c0 .3-.3.3-.4.4 0 .2-.2.3-.2.3z"/>
+  <path d="M283.4 240.5v-.5s.7 0 1.1.3c.6.4 1 1 1 1-.2.2-.6-.2-1-.3h-.4c-.2 0-.3 0-.4-.2v-.3h-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M283.4 240.5v-.5s.7 0 1.1.3c.6.4 1 1 1 1-.2.2-.6-.2-1-.3h-.4c-.2 0-.3 0-.4-.2v-.3h-.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M289 246.7l-.4-.7a8 8 0 01-.2-.5"/>
+  <path fill="#db4446" d="M267.9 241.8s.5.3.8.3l.9.1s.2-.5.1-1c-.2-1.2-1.3-1.4-1.3-1.4s.3.7.1 1c-.2.6-.6 1-.6 1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M267.9 241.8s.5.3.8.3l.9.1s.2-.5.1-1c-.2-1.2-1.3-1.4-1.3-1.4s.3.7.1 1c-.2.6-.6 1-.6 1z"/>
+  <path fill="#db4446" d="M265.5 242.8s-.4-.8-1.3-.7c-1 .1-1.6.9-1.6.9h1.3c.4.3.5 1 .5 1l.7-.6.4-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M265.5 242.8s-.4-.8-1.3-.7c-1 .1-1.6.9-1.6.9h1.3c.4.3.5 1 .5 1l.7-.6.4-.6z"/>
+  <path fill="#db4446" d="M264.4 246s-.8.1-1.2.6c-.5.5-.4 1.5-.4 1.5s.5-.6 1-.6l1.2.2-.3-.9c0-.3-.3-.8-.3-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M264.4 246s-.8.1-1.2.6c-.5.5-.4 1.5-.4 1.5s.5-.6 1-.6l1.2.2-.3-.9c0-.3-.3-.8-.3-.8z"/>
+  <path d="M279.3 245.9l.4-.5.3.5h-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M279.3 245.9l.4-.5.3.5h-.7"/>
+  <path d="M280.2 245.9l.4-.6.4.5h-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M280.2 245.9l.4-.6.4.5h-.8"/>
+  <path d="M279.8 242.5l.8.3-.7.4-.1-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M279.8 242.5l.8.3-.7.4-.1-.7"/>
+  <path d="M280.8 242.8l.8.2-.6.4-.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M280.8 242.8l.8.2-.6.4-.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M275.2 249.2s-.9.3-1.2.7c-.3.6-.3 1.1-.3 1.1s.7-.6 1.6-.3l1.3.3c.4 0 1.3-.4 1.3-.4s-.7.9-.6 1.5c0 .6.2.9.1 1.2 0 .7-.5 1.6-.5 1.6l1-.3a4.9 4.9 0 001.8-.9l1-1s-.2 1 0 1.5l.2 1.7s.4-.5.8-.7c.2 0 .8-.4 1-.7l.3-1s0 .8.4 1.3c.3.4.7 1.8.7 1.8s.3-.9.6-1.3c.3-.3.7-.8.7-1v-1l.4 1m-11.7.6s.5-.9 1-1.2l1.2-.8 1-.4m1 5.3l1.4-.8a4.2 4.2 0 001.2-1.2"/>
+  <path fill="#db4446" d="M267 256.4s-.4-.5-1.2-.3c-.7 0-1.2 1-1.2 1l1-.2c.4.2.6.5.6.5l.5-.4.3-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M267 256.4s-.4-.5-1.2-.3c-.7 0-1.2 1-1.2 1l1-.2c.4.2.6.5.6.5l.5-.4.3-.6z"/>
+  <path fill="#db4446" d="M266.2 259.4s-.7 0-1.2.4c-.6.4-.6 1.2-.6 1.2s.5-.4 1-.3l.8.2.1-.6c.1-.4-.1-.9-.1-.9"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M266.2 259.4s-.7 0-1.2.4c-.6.4-.6 1.2-.6 1.2s.5-.4 1-.3l.8.2.1-.6c.1-.4-.1-.9-.1-.9z"/>
+  <path fill="#db4446" d="M267.6 262.2s0 .8.4 1.3c.4.6 1.2.6 1.2.6l-.3-.8c-.1-.4.3-.7.3-.7s-.4-.4-.7-.4h-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M267.6 262.2s0 .8.4 1.3c.4.6 1.2.6 1.2.6l-.3-.8c-.1-.4.3-.7.3-.7s-.4-.4-.7-.4h-.8zm17.1 1.4s2.1 1.3 2 2.4c0 1-1.1 2.4-1.1 2.4"/>
+  <path fill="#db4446" d="M275.2 269.4s-.5-.6-1.3-.6c-.7 0-1.5.7-1.5.7s1 0 1.2.2l.4.7.6-.3.6-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M275.2 269.4s-.5-.6-1.3-.6c-.7 0-1.5.7-1.5.7s1 0 1.2.2l.4.7.6-.3.6-.7z"/>
+  <path fill="#db4446" d="M273 272.3s-1-.1-1.5.4-.4 1.4-.4 1.4.6-.7 1-.6c.6 0 1.2.3 1.2.3l-.2-.8a14 14 0 00-.2-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M273 272.3s-1-.1-1.5.4-.4 1.4-.4 1.4.6-.7 1-.6c.6 0 1.2.3 1.2.3l-.2-.8a14 14 0 00-.2-.7z"/>
+  <path fill="#db4446" d="M275 275.4s-.5.6-.1 1.1c.3.6 1 .8 1 .8s-.2-.4-.1-.8.7-.8.7-.8l-1.5-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M275 275.4s-.5.6-.1 1.1c.3.6 1 .8 1 .8s-.2-.4-.1-.8.7-.8.7-.8l-1.5-.3z"/>
+  <path fill="#db4446" d="M287.7 276.6s-.8-.2-1.3 0c-.5.3-.8 1.5-.8 1.5s.7-.6 1.3-.6l1 .3v-.8a2.8 2.8 0 00-.2-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M287.7 276.6s-.8-.2-1.3 0c-.5.3-.8 1.5-.8 1.5s.7-.6 1.3-.6l1 .3v-.8a2.8 2.8 0 00-.2-.4z"/>
+  <path fill="#db4446" d="M288.1 279.7s-.6.6-.4 1.2a7.3 7.3 0 00.6 1s0-.7.3-1c.3-.3 1-.3 1-.3l-.7-.6-.8-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M288.1 279.7s-.6.6-.4 1.2a7.3 7.3 0 00.6 1s0-.7.3-1c.3-.3 1-.3 1-.3l-.7-.6-.8-.3z"/>
+  <path fill="#db4446" d="M291.3 280.6s-.3.8.3 1.3c.6.6 1.1.6 1.1.6s-.5-.8-.3-1.3c.1-.4.5-.7.5-.7l-.8-.2-.8.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M291.3 280.6s-.3.8.3 1.3c.6.6 1.1.6 1.1.6s-.5-.8-.3-1.3c.1-.4.5-.7.5-.7l-.8-.2-.8.3z"/>
+  <path fill="#ffd691" stroke="#000" stroke-width=".5" d="M258.7 337.5c2.1.6 3.2 2.2 3.2 4 0 2.5-2.3 4.3-5.4 4.3-3 0-5.6-1.8-5.6-4.2 0-1.9 1-4 3.2-4 0 0 0-.3-.3-.6l-.6-.7h1.3l.7.5.6-.7c.3-.4.7-.6.7-.6l.6.7.3.6s.4-.4.8-.5l.9-.3-.3.7-.1.8"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".5" d="M256 348.5s-4-2.8-5.8-3.1c-2.3-.5-4.8-.1-5.9-.2l1.9 1.5a11 11 0 003.5 2c3.3.8 6.3-.2 6.3-.2m1.2.2s2.6-2.7 5.3-3c3.3-.5 5.4.2 6.6.5 0 0-1 .5-1.6 1-.5.3-2 1.5-4.2 1.6-2.2 0-4.7-.3-5.1-.2l-1 .1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".5" d="M256.4 345.4a5.2 5.2 0 010-7.6 5.2 5.2 0 011.7 3.8 5.2 5.2 0 01-1.7 3.8"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".5" d="M255.4 351s.6-1.6.7-3l-.2-2.2h.8s.4 1.2.4 2.2l-.2 2.5-.7.1-.8.3"/>
+  <path fill="#fff" d="M307 203.4c0-.6.4-1 1-1 .7 0 1.2.4 1.2 1s-.5 1.1-1.2 1.1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M307 203.4c0-.6.4-1 1-1 .7 0 1.2.4 1.2 1s-.5 1.1-1.2 1.1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M308.4 200.7c0-.6.6-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M308.4 200.7c0-.6.6-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M309.5 197.6c0-.6.5-1 1-1a1 1 0 011.2 1c0 .6-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M309.5 197.6c0-.6.5-1 1-1a1 1 0 011.2 1c0 .6-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M309.6 194.2c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1-.7 0-1.2-.4-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M309.6 194.2c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1-.7 0-1.2-.4-1.2-1z"/>
+  <path fill="#fff" d="M308.8 190.9c0-.6.5-1 1-1a1 1 0 011.2 1c0 .6-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M308.8 190.9c0-.6.5-1 1-1a1 1 0 011.2 1c0 .6-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M307 187.8c0-.5.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1.1-1 1.1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M307 187.8c0-.5.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1.1-1 1.1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M304.7 185.4c0-.6.5-1 1.2-1a1 1 0 011 1c0 .5-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M304.7 185.4c0-.6.5-1 1.2-1a1 1 0 011 1c0 .5-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M302 183.3c0-.6.6-1 1.2-1s1.1.4 1.1 1-.5 1-1.1 1a1 1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M302 183.3c0-.6.6-1 1.2-1s1.1.4 1.1 1-.5 1-1.1 1a1 1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M298.9 181.6c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M298.9 181.6c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M295.5 180.4c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M295.5 180.4c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M291.8 179.8c0-.6.5-1.1 1.1-1.1.7 0 1.2.5 1.2 1 0 .7-.5 1.1-1.2 1.1a1.1 1.1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M291.8 179.8c0-.6.5-1.1 1.1-1.1.7 0 1.2.5 1.2 1 0 .7-.5 1.1-1.2 1.1a1.1 1.1 0 01-1-1z"/>
+  <path fill="#fff" d="M288.3 179.6c0-.6.5-1 1.1-1a1 1 0 011.2 1c0 .6-.5 1-1.2 1a1.1 1.1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M288.3 179.6c0-.6.5-1 1.1-1a1 1 0 011.2 1c0 .6-.5 1-1.2 1a1.1 1.1 0 01-1-1z"/>
+  <path fill="#fff" d="M284.9 179.7c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M284.9 179.7c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M281.4 179.7c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M281.4 179.7c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M283.1 182.7c0-.6.5-1.1 1.1-1.1.7 0 1.2.5 1.2 1 0 .6-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.2-1m.7 3.2c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1m.2 3.3c0-.6.5-1 1-1a1 1 0 011.2 1c0 .6-.5 1-1.1 1a1.1 1.1 0 01-1.1-1m-1 3c0-.6.4-1.1 1-1.1a1 1 0 011.2 1c0 .7-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.2-1m-1.9 2.7c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="#fff" d="M278.8 177.6c0-.5.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1.1-1 1.1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M278.8 177.6c0-.5.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1.1-1 1.1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M275.7 176c0-.7.5-1.1 1.1-1.1.7 0 1.2.4 1.2 1s-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M275.7 176c0-.7.5-1.1 1.1-1.1.7 0 1.2.4 1.2 1s-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M272.3 175c0-.7.5-1.1 1.2-1.1.6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M272.3 175c0-.7.5-1.1 1.2-1.1.6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M268.8 174.3c0-.6.5-1 1.1-1 .7 0 1.2.4 1.2 1s-.5 1-1.2 1a1.1 1.1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M268.8 174.3c0-.6.5-1 1.1-1 .7 0 1.2.4 1.2 1s-.5 1-1.2 1a1.1 1.1 0 01-1-1z"/>
+  <path fill="#fff" d="M265.4 174.4c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M265.4 174.4c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M261.8 175c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M261.8 175c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M258.5 176.1c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M258.5 176.1c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M202.3 203.4c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1.1-1 1.1a1 1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M202.3 203.4c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1.1-1 1.1a1 1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M200.8 200.7c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M200.8 200.7c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M199.7 197.6c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M199.7 197.6c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M199.6 194.2c0-.6.5-1 1.1-1 .7 0 1.2.4 1.2 1s-.5 1-1.2 1c-.6 0-1-.4-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M199.6 194.2c0-.6.5-1 1.1-1 .7 0 1.2.4 1.2 1s-.5 1-1.2 1c-.6 0-1-.4-1-1z"/>
+  <path fill="#fff" d="M200.4 190.9c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M200.4 190.9c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M202.2 187.8c0-.5.5-1 1-1a1 1 0 011.2 1c0 .6-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M202.2 187.8c0-.5.5-1 1-1a1 1 0 011.2 1c0 .6-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M204.5 185.4c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1 0 .5-.5 1-1.1 1-.6 0-1.1-.4-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M204.5 185.4c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1 0 .5-.5 1-1.1 1-.6 0-1.1-.4-1.1-1z"/>
+  <path fill="#fff" d="M207.2 183.3c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M207.2 183.3c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M210.3 181.6c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M210.3 181.6c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M213.7 180.4c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M213.7 180.4c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M217.4 179.8c0-.6.5-1.1 1.1-1.1a1 1 0 011.1 1c0 .7-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M217.4 179.8c0-.6.5-1.1 1.1-1.1a1 1 0 011.1 1c0 .7-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M220.9 179.6c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M220.9 179.6c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M224.3 179.7c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M224.3 179.7c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M227.8 179.7c0-.6.5-1 1.1-1 .6 0 1.2.4 1.2 1s-.5 1-1.2 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M227.8 179.7c0-.6.5-1 1.1-1 .6 0 1.2.4 1.2 1s-.5 1-1.2 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M226 182.7c0-.6.6-1.1 1.2-1.1s1.1.5 1.1 1c0 .6-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.1-1m-.7 3.2c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1c-.6 0-1.1-.4-1.1-1m-.2 3.3c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1m1 3c0-.6.6-1.1 1.2-1.1a1 1 0 011.1 1c0 .7-.5 1.1-1.1 1.1a1.1 1.1 0 01-1.1-1m1.9 2.7c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="#fff" d="M230.4 177.6c0-.5.5-1 1.1-1 .7 0 1.2.4 1.2 1s-.5 1.1-1.2 1.1a1.1 1.1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M230.4 177.6c0-.5.5-1 1.1-1 .7 0 1.2.4 1.2 1s-.5 1.1-1.2 1.1a1.1 1.1 0 01-1-1z"/>
+  <path fill="#fff" d="M233.5 176c0-.7.5-1.1 1.1-1.1.6 0 1.1.4 1.1 1s-.5 1.1-1 1.1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M233.5 176c0-.7.5-1.1 1.1-1.1.6 0 1.1.4 1.1 1s-.5 1.1-1 1.1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M236.9 175c0-.7.5-1.1 1-1.1s1.2.4 1.2 1-.5 1-1.1 1a1.1 1.1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M236.9 175c0-.7.5-1.1 1-1.1s1.2.4 1.2 1-.5 1-1.1 1a1.1 1.1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M240.4 174.3c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M240.4 174.3c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M243.8 174.4c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1 1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M243.8 174.4c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1 1 0 01-1.2-1z"/>
+  <path fill="#fff" d="M247.4 175c0-.6.5-1 1.1-1a1 1 0 011.2 1c0 .6-.5 1-1.2 1a1.1 1.1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M247.4 175c0-.6.5-1 1.1-1a1 1 0 011.2 1c0 .6-.5 1-1.2 1a1.1 1.1 0 01-1-1z"/>
+  <path fill="#fff" d="M250.7 176.1c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M250.7 176.1c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1.1 1.1 0 01-1.2-1z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M222.3 244.1h-1v-1h-1.6v3.9h1.6v2.6h-3.5v7.5h1.9v15.2h-3.8v7.8h29v-7.8h-3.7v-15.2h1.9v-7.5h-3.6V247h1.7v-3.8h-1.7v1h-1v-1H237v1h-1.2v-1h-1.6v3.8h1.6v2.6h-3.5v-8.3h1.9v-3.8h-1.9v1h-1v-1h-1.6v1h-1v-1h-1.9v3.8h2v8.3H225V247h1.7v-3.8H225v1h-1v-1h-1.8v1zm-6.4 36h29m-29-1.9h29m-29-1.9h29m-29-1.9h29m-29-2.1h29m-25.2-1.7h21.5m-21.5-1.9h21.5m-21.5-2h21.5m-21.5-2h21.5m-21.5-1.9h21.5m-21.5-1.9h21.5m-21.5-1.9h21.5m-23.4-1.9H243m-25.3-1.8H243m-25.3-2H243m-25.3-1.8H243m-21.8-2h18.2m-10.9-1.8h3.6m-3.5-2h3.5m-3.5-1.8h3.5m-3.5-1.9h3.5m-5.4-2.4h7.3m-12.8 8h3.8m-5.4-2.3h7m-7 34.8v-1.9m0-1.9v-1.9m-2 2v1.8m3.6 0v-1.9m2 3.8v-1.9m0-1.9v-1.9m0-2.1v-1.7m0-1.9v-2m-2 7.7v-2.1m-3.5 2.1v-2.1m7.3 0v2.1m1.7-2.1v-1.7m-5.5-1.9v2m3.8-2v2m3.5-2v2m-1.8-2v-2m1.8-2v2m0-5.8v2m-1.8-3.9v2m1.8-3.8v1.8m-3.5-1.9v2m-3.8-2v2m-1.6-3.8v1.9m3.5-2v2m3.6-2v2m1.9-3.8v1.9m-3.6-2v2m-3.8-2v2m-1.6-3.8v1.9m7-2v2m-3.5-5.7v1.9m16.3-2h-3.7m5.4-2.3H234m7 34.8v-1.9m0-1.9v-1.9m2 2v1.8m-3.6 0v-1.9m-1.9 3.8v-1.9m0-1.9v-1.9m0-2.1v-1.7m0-1.9v-2m2 7.7v-2.1m3.5 2.1v-2.1m-7.3 0v2.1m-1.7-2.1v-1.7m5.4-1.9v2m-3.7-2v2m-3.6-2v2m1.9-2v-2m-1.9-2v2m0-5.8v2m1.9-3.9v2m-1.9-3.8v1.8m3.6-1.9v2m3.8-2v2m1.6-3.8v1.9m-3.5-2v2m-3.6-2v2m-1.9-3.8v1.9m3.6-2v2m3.7-2v2m1.7-3.8v1.9m-7.1-2v2m3.6-5.7v1.9m-7.4 19.1v-2m0-5.8V259m0 5.7v-1.9m0-5.7v-1.8m0-2v-1.8m0-3.8v-2m0-1.8V242m-9 5h3.8m3.6-5.7h3.5m3.6 5.7h3.7"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M235.3 280.1v-5c0-1-.5-3.8-5-3.8-4.3 0-4.7 2.9-4.7 3.8v5h9.7z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M227.2 275.4l-2.3-.3c0-1 .2-2.3 1-2.8l2 1.7c-.2.2-.7.9-.7 1.4zm6.4 0l2.4-.3c0-1-.3-2.3-1-2.8l-2 1.7c.1.2.6.9.6 1.4zm-2.4-2.4l1.2-2.1a5.6 5.6 0 00-2-.5c-.6 0-1.5.2-2 .5l1.2 2.1h1.6zm-4.4-6v-5c0-1.4-1-2.6-2.6-2.6-1.7 0-2.6 1.2-2.6 2.6v5.2h5.2zm7.3 0v-5c0-1.4 1-2.6 2.6-2.6s2.6 1.2 2.6 2.6v5.2h-5.2zm-1.9-12.7l.5-4.7h-4.5l.2 4.7h3.8zm3.5 0l-.4-4.7h4.7l-.5 4.7h-3.8zm-10.6 0l.2-4.7h-4.5l.5 4.7h3.8z"/>
+  <path fill="#0039f0" d="M233.6 280.1v-4.3c0-.7-.4-2.8-3.3-2.8a2.9 2.9 0 00-3 2.8v4.3h6.3zm-7.3-13.5v-4.5c0-1.2-.7-2.4-2.1-2.4s-2.2 1.2-2.2 2.4v4.5h4.3zm8.3 0v-4.5c0-1.2.7-2.4 2.1-2.4s2.1 1.2 2.1 2.4v4.5h-4.2z"/>
+  <path fill="#ad1519" d="M239.5 287.8c0-10.4 7.5-18.8 16.6-18.8s16.7 8.4 16.7 18.7c0 10.4-7.5 18.8-16.7 18.8s-16.6-8.4-16.6-18.7"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M239.5 287.8c0-10.4 7.5-18.8 16.6-18.8s16.7 8.4 16.7 18.7c0 10.4-7.5 18.8-16.7 18.8s-16.6-8.4-16.6-18.7z"/>
+  <path fill="#005bbf" d="M244.4 287.7c0-7.6 5.3-13.7 11.7-13.7 6.5 0 11.8 6.1 11.8 13.7s-5.3 13.7-11.7 13.7c-6.5 0-11.8-6.1-11.8-13.7"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M244.4 287.7c0-7.6 5.3-13.7 11.7-13.7 6.5 0 11.8 6.1 11.8 13.7s-5.3 13.7-11.7 13.7c-6.5 0-11.8-6.1-11.8-13.7z"/>
+  <path fill="#c8b100" d="M250.6 278.3s-1.4 1.5-1.4 2.9.6 2.6.6 2.6a1.5 1.5 0 00-1.4-1 1.5 1.5 0 00-1.6 1.5l.3.8.5 1c.2-.4.5-.6 1-.6.6 0 1 .5 1 1v.3h-1.2v1h1.1l-.8 1.7 1-.4 1 1 .8-1 1 .4-.7-1.6h1v-1.1h-1.2a1 1 0 010-.3c0-.5.5-1 1-1s1 .2 1 .6l.6-1 .2-.8c0-.8-.6-1.5-1.5-1.5-.7 0-1.2.4-1.4 1 0 0 .5-1.2.5-2.6 0-1.4-1.4-3-1.4-3"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M250.6 278.3s-1.4 1.5-1.4 2.9.6 2.6.6 2.6a1.5 1.5 0 00-1.4-1 1.5 1.5 0 00-1.6 1.5l.3.8.5 1c.2-.4.5-.6 1-.6.6 0 1 .5 1 1v.3h-1.2v1h1.1l-.8 1.7 1-.4 1 1 .8-1 1 .4-.7-1.6h1v-1.1h-1.2a1 1 0 010-.3c0-.5.5-1 1-1s1 .2 1 .6l.6-1 .2-.8c0-.8-.6-1.5-1.5-1.5-.7 0-1.2.4-1.4 1 0 0 .5-1.2.5-2.6 0-1.4-1.4-3-1.4-3z"/>
+  <path fill="#c8b100" d="M248.4 287.9h4.5v-1.1h-4.5v1z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M248.4 287.9h4.5v-1.1h-4.5v1z"/>
+  <path fill="#c8b100" d="M261.5 278.3s-1.4 1.5-1.4 2.9.6 2.6.6 2.6c-.2-.6-.8-1-1.4-1-.9 0-1.6.7-1.6 1.5l.3.8.5 1c.1-.4.5-.6 1-.6a1 1 0 011 1 1 1 0 010 .3h-1.2v1h1.1l-.8 1.7 1-.4.9 1 .9-1 1 .4-.8-1.6h1.1v-1.1h-1.2a.9.9 0 010-.3c0-.5.5-1 1-1s.9.2 1 .6l.6-1 .2-.8c0-.8-.7-1.5-1.5-1.5-.7 0-1.3.4-1.5 1 0 0 .6-1.2.6-2.6 0-1.4-1.4-3-1.4-3"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M261.5 278.3s-1.4 1.5-1.4 2.9.6 2.6.6 2.6c-.2-.6-.8-1-1.4-1-.9 0-1.6.7-1.6 1.5l.3.8.5 1c.1-.4.5-.6 1-.6a1 1 0 011 1 1 1 0 010 .3h-1.2v1h1.1l-.8 1.7 1-.4.9 1 .9-1 1 .4-.8-1.6h1.1v-1.1h-1.2a.9.9 0 010-.3c0-.5.5-1 1-1s.9.2 1 .6l.6-1 .2-.8c0-.8-.7-1.5-1.5-1.5-.7 0-1.3.4-1.5 1 0 0 .6-1.2.6-2.6 0-1.4-1.4-3-1.4-3z"/>
+  <path fill="#c8b100" d="M259.3 287.9h4.5v-1.1h-4.5v1z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M259.3 287.9h4.5v-1.1h-4.5v1z"/>
+  <path fill="#c8b100" d="M256 287.6s-1.3 1.5-1.3 3c0 1.4.6 2.6.6 2.6a1.5 1.5 0 00-1.5-1 1.5 1.5 0 00-1.5 1.4l.2.8.5 1c.2-.3.6-.5 1-.5.6 0 1.1.4 1.1 1a1 1 0 010 .3h-1.2v1h1l-.8 1.7 1.1-.5.9 1 .8-1 1.1.5-.8-1.7h1.1v-1h-1.2a1 1 0 010-.3c0-.6.4-1 1-1 .5 0 .9.2 1 .5l.5-1c.1-.2.3-.5.3-.8 0-.8-.7-1.4-1.6-1.4a1.5 1.5 0 00-1.4 1s.6-1.2.6-2.7c0-1.4-1.4-2.9-1.4-2.9"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M256 287.6s-1.3 1.5-1.3 3c0 1.4.6 2.6.6 2.6a1.5 1.5 0 00-1.5-1 1.5 1.5 0 00-1.5 1.4l.2.8.5 1c.2-.3.6-.5 1-.5.6 0 1.1.4 1.1 1a1 1 0 010 .3h-1.2v1h1l-.8 1.7 1.1-.5.9 1 .8-1 1.1.5-.8-1.7h1.1v-1h-1.2a1 1 0 010-.3c0-.6.4-1 1-1 .5 0 .9.2 1 .5l.5-1c.1-.2.3-.5.3-.8 0-.8-.7-1.4-1.6-1.4a1.5 1.5 0 00-1.4 1s.6-1.2.6-2.7c0-1.4-1.4-2.9-1.4-2.9z"/>
+  <path fill="#c8b100" d="M253.8 297.2h4.5v-1h-4.5v1z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M253.8 297.2h4.5v-1h-4.5v1z"/>
+  <path fill="#c8b100" d="M289.4 238.3h-.3a1.6 1.6 0 01-.3.4c-.3.2-.7.3-.9 0a.5.5 0 01-.1-.4.5.5 0 01-.5 0c-.3-.1-.4-.5-.2-.8l.1-.2v-.3h-.3l-.1.3c-.3.2-.6.3-.8.1a.6.6 0 01-.1-.2h-.2c-.5.2-.7-1-.8-1.3l-.1.3v1.3a7 7 0 01-.3 1.2c.8.2 2 .8 3 1.7a9.6 9.6 0 012.5 2.5l1.2-.6c.6-.2 1.4-.2 1.4-.2l.2-.2c-.3 0-1.6.1-1.6-.4l.1-.2a.7.7 0 01-.3 0c-.2-.2-.2-.5 0-.8h.2v-.4h-.3l-.2.1c-.3.3-.7.3-.9 0a.5.5 0 010-.4.6.6 0 01-.6 0 .6.6 0 010-.9 1.6 1.6 0 01.2-.3v-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M289.4 238.3h-.3a1.6 1.6 0 01-.3.4c-.3.2-.7.3-.9 0a.5.5 0 01-.1-.4.5.5 0 01-.5 0c-.3-.1-.4-.5-.2-.8l.1-.2v-.3h-.3l-.1.3c-.3.2-.6.3-.8.1a.6.6 0 01-.1-.2h-.2c-.5.2-.7-1-.8-1.3l-.1.3v1.3a7 7 0 01-.3 1.2c.8.2 2 .8 3 1.7a9.6 9.6 0 012.5 2.5l1.2-.6c.6-.2 1.4-.2 1.4-.2l.2-.2c-.3 0-1.6.1-1.6-.4l.1-.2a.7.7 0 01-.3 0c-.2-.2-.2-.5 0-.8h.2v-.4h-.3l-.2.1c-.3.3-.7.3-.9 0a.5.5 0 010-.4.6.6 0 01-.6 0 .6.6 0 010-.9 1.6 1.6 0 01.2-.3v-.3z"/>
+  <path d="M287 239h.3s.1.2 0 .2h-.2v-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M287 239h.3s.1.2 0 .2h-.2v-.2z"/>
+  <path d="M288 239.8l-.3-.2v-.2h.2l.3.3.3.2s.1.1 0 .2h-.1l-.4-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M288 239.8l-.3-.2v-.2h.2l.3.3.3.2s.1.1 0 .2h-.1l-.4-.3"/>
+  <path d="M286.3 238.6l-.3-.2s-.1 0 0-.1h.1l.3.1.2.2.1.1h-.2l-.2-.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M286.3 238.6l-.3-.2s-.1 0 0-.1h.1l.3.1.2.2.1.1h-.2l-.2-.1"/>
+  <path d="M285.2 237.9h.2l.1.2h-.2l-.1-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M285.2 237.9h.2l.1.2h-.2l-.1-.2z"/>
+  <path d="M289.1 240.6v-.3h-.3v.3h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M289.1 240.6v-.3h-.3v.3h.3z"/>
+  <path d="M289.7 241.2l.2.2c0 .1.2.1.2 0l-.2-.3-.2-.2h-.2v.1l.2.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M289.7 241.2l.2.2c0 .1.2.1.2 0l-.2-.3-.2-.2h-.2v.1l.2.2"/>
+  <path d="M290.7 242v-.2h-.3v.3h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M290.7 242v-.2h-.3v.3h.3z"/>
+  <path fill="#c8b100" d="M287.9 235.9h-.6l-.2.9.1.1h.2l.7-.5-.2-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M287.9 235.9h-.6l-.2.9.1.1h.2l.7-.5-.2-.5"/>
+  <path fill="#c8b100" d="M286.2 236.4v.5l1 .2v-.3l-.5-.7-.5.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M286.2 236.4v.5l1 .2v-.3l-.5-.7-.5.3"/>
+  <path fill="#c8b100" d="M288.2 237.5l-.5.3-.6-.8v-.1h1.1v.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M288.2 237.5l-.5.3-.6-.8v-.1h1.1v.6"/>
+  <path fill="#c8b100" d="M287 236.8a.3.3 0 01.3-.1.3.3 0 01.1.4.3.3 0 01-.3 0 .3.3 0 01-.2-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M287 236.8a.3.3 0 01.3-.1.3.3 0 01.1.4.3.3 0 01-.3 0 .3.3 0 01-.2-.3z"/>
+  <path fill="#c8b100" d="M284.8 235.9l-.3-.8a2 2 0 00-.4-.4s.4-.2.9.1c.4.3 0 .9 0 .9l-.2.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M284.8 235.9l-.3-.8a2 2 0 00-.4-.4s.4-.2.9.1c.4.3 0 .9 0 .9l-.2.2z"/>
+  <path fill="#c8b100" d="M285.8 236.2l-.4.4-.7-.6v-.3h1l.1.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M285.8 236.2l-.4.4-.7-.6v-.3h1l.1.5"/>
+  <path fill="#c8b100" d="M284.6 235.8l.3-.2c.1 0 .2.2.1.3 0 .2-.2.3-.3.3 0 0-.1-.2 0-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M284.6 235.8l.3-.2c.1 0 .2.2.1.3 0 .2-.2.3-.3.3 0 0-.1-.2 0-.4z"/>
+  <path fill="#c8b100" d="M290.2 237.3h-.6l-.3.8v.2h.2l.9-.4-.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M290.2 237.3h-.6l-.3.8v.2h.2l.9-.4-.2-.6"/>
+  <path fill="#c8b100" d="M288.5 237.6l-.1.6.9.2h.1v-.2l-.4-.8-.5.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M288.5 237.6l-.1.6.9.2h.1v-.2l-.4-.8-.5.2"/>
+  <path fill="#c8b100" d="M290.3 239l-.6.2-.4-.8v-.2h.1l1 .2-.1.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M290.3 239l-.6.2-.4-.8v-.2h.1l1 .2-.1.6"/>
+  <path fill="#c8b100" d="M289.1 238.1c.1-.1.3-.1.4 0a.3.3 0 01.1.4.3.3 0 01-.4 0 .3.3 0 010-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M289.1 238.1c.1-.1.3-.1.4 0a.3.3 0 01.1.4.3.3 0 01-.4 0 .3.3 0 010-.4z"/>
+  <path fill="#c8b100" d="M292.2 239.2l.1.6-.9.3h-.1v-.2l.3-.8.6.1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M292.2 239.2l.1.6-.9.3h-.1v-.2l.3-.8.6.1"/>
+  <path fill="#c8b100" d="M292 240.8l-.5.2-.3-.9v-.1h.2l.8.3-.1.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M292 240.8l-.5.2-.3-.9v-.1h.2l.8.3-.1.5"/>
+  <path fill="#c8b100" d="M290.5 239.3l-.2.5.9.3h.1v-.1l-.2-.9-.6.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M290.5 239.3l-.2.5.9.3h.1v-.1l-.2-.9-.6.2"/>
+  <path fill="#c8b100" d="M291.5 240.3a.3.3 0 000-.4.3.3 0 00-.5 0 .3.3 0 000 .3.3.3 0 00.4 0"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M291.5 240.3a.3.3 0 000-.4.3.3 0 00-.5 0 .3.3 0 000 .3.3.3 0 00.4 0z"/>
+  <path fill="#c8b100" d="M292.9 242.1l.8.1a2 2 0 01.5.3s.1-.5-.3-.8c-.4-.3-.9.2-.9.2l-.1.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M292.9 242.1l.8.1a2 2 0 01.5.3s.1-.5-.3-.8c-.4-.3-.9.2-.9.2l-.1.2z"/>
+  <path fill="#c8b100" d="M292.3 241.2l-.3.5.8.5v-.1h.2l-.1-1h-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M292.3 241.2l-.3.5.8.5v-.1h.2l-.1-1h-.6"/>
+  <path fill="#c8b100" d="M293 242.2s.2-.2.1-.3h-.4c-.1 0-.2.2-.1.3h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M293 242.2s.2-.2.1-.3h-.4c-.1 0-.2.2-.1.3h.3zm40.7-23.4v.6H331v-.6h1v-1.4h-.7v-.6h.6v-.5h.7v.5h.6v.6h-.6v1.4h1"/>
+  <path fill="none" stroke="#000" stroke-width="0" d="M179.3 231.6v-1.3m-.3 1.3v-1.3m-.3 1.3v-1.3m-.4 1.3v-1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M178 231.6v-1.3m-.5 1.2v-1.2m.2 1.2v-1.2m-.7 1.2v-1.1m.2 1v-1m-.9 1v-1m.2 1v-1m.2 1v-1m-.7 1v-1m-.2.9v-.8m-.2.8v-.8m-.6.8v-.7m.3.7v-.7m-.5.6v-.6m-.2.5v-.4m-.3.3v-.3m-.3.3v-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M173.8 231v-.1"/>
+  <path fill="none" stroke="#000" stroke-width="0" d="M180.8 231.5v-1.2m-.7 1.2v-1.2m-.4 1.3v-1.3m152.6 1.3v-1.3m-.3 1.3v-1.3m-.4 1.3v-1.3m-.4 1.3v-1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M331 231.6v-1.3m-.6 1.2v-1.1m.3 1.1v-1.2m-.8 1.2v-1.1m.2 1.1v-1.2m-.9 1.1v-1m.2 1v-1m.3 1v-1m-.7 1v-1m-.3 1v-.9m-.2.8v-.8m-.5.8v-.7m.2.7v-.7m-.5.6v-.5m-.2.5v-.5m-.3.4v-.4m-.2.3v-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M326.7 231v-.1"/>
+  <path fill="none" stroke="#000" stroke-width="0" d="M333.7 231.5v-1.2m-.6 1.3v-1.3m-.5 1.3v-1.3"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/et.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/et.svg
new file mode 100644
index 0000000..8b02f6b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/et.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-et" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M229.3 6.3h489.3v489.3H229.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-240 -6.6) scale(1.046)">
+    <path fill="#ffc621" d="M2 9.7h991.8v475.9H1.9z"/>
+    <path fill="#ef2118" d="M0 333.6h993.2v162H0z"/>
+    <path fill="#298c08" d="M2 6.3h991.8v172H2z"/>
+    <circle cx="534.2" cy="353" r="199.7" fill="#006bc6" transform="matrix(.515 0 0 .515 204.7 77)"/>
+    <path fill="#ffc621" d="M434 186.2l-6 4.3 22.4 31.6 6-3.9-22.3-32zm28.2 74.5l-9.2-6.5 3.8-12-46 .6-13.3-10.2 62.7-.7 11.7-35.3L478 211l-16 49.8zm73.1-67.6l-6-4.5-23.3 31 5.5 4.5 23.8-31zm-62.5 49.3l3.3-10.7h12.7L474.3 188l5.7-15.8 19.6 59.7 37.2.4-11.7 10.3-52.3-.2zm86.6 49l2.5-7.2-36.6-12.6-2.6 6.5 36.7 13.2zm-66-44.4l11.2-.2 4 12.1 37-27.2 16.7.6-50.7 37 11 35.5-13.4-8-15.9-49.8zm-19 97.5l7.6.1.3-38.7-7-.4-.8 39zm21-76.8l3.7 10.6L489 286l37.6 26.5 4.8 16-51.2-36.2-30.1 21.7 3.3-15.2 42.1-31zm-98.7 12.4l2.3 7.2 36.9-11.7-1.8-6.8-37.4 11.3zm79.6-3.8l-9 6.8-10.4-7.4-13.5 44-13.8 9.5 18.7-60-30-21.8 15.5-1.6 42.5 30.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eu.svg
new file mode 100644
index 0000000..b031d2d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/eu.svg
@@ -0,0 +1,28 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-eu" viewBox="0 0 512 512">
+  <defs>
+    <g id="d">
+      <g id="b">
+        <path id="a" d="M0-1l-.3 1 .5.1z"/>
+        <use transform="scale(-1 1)" xlink:href="#a"/>
+      </g>
+      <g id="c">
+        <use transform="rotate(72)" xlink:href="#b"/>
+        <use transform="rotate(144)" xlink:href="#b"/>
+      </g>
+      <use transform="scale(-1 1)" xlink:href="#c"/>
+    </g>
+  </defs>
+  <path fill="#039" d="M0 0h512v512H0z"/>
+  <g fill="#fc0" transform="translate(256 258.4) scale(25.28395)">
+    <use width="100%" height="100%" y="-6" xlink:href="#d"/>
+    <use width="100%" height="100%" y="6" xlink:href="#d"/>
+    <g id="e">
+      <use width="100%" height="100%" x="-6" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-144 -2.3 -2.1)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(144 -2.1 -2.3)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(72 -4.7 -2)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(72 -5 .5)" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#e"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fi.svg
new file mode 100644
index 0000000..aff1304
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fi.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fi" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="#003580" d="M0 186.2h512v139.6H0z"/>
+  <path fill="#003580" d="M123.2 0h139.6v512H123.1z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fj.svg
new file mode 100644
index 0000000..9d9c302
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fj.svg
@@ -0,0 +1,125 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fj" viewBox="0 0 512 512">
+  <path id="path1992" fill="#68bfe5" d="M0 0v512h512V.2H322V0H0z"/>
+  <g id="g2202" stroke-miterlimit="4.8">
+    <path id="path1994" fill="#fff" d="M310.2 254v136.4c0 44.6 80.6 71.1 80.6 71.1s80.6-26.5 80.6-71V254z"/>
+    <path id="path1996" fill="#d21034" d="M379.6 302v61.4h-69.4v22.3h69.5v71.5l11.1 4.3 11.2-4.3v-71.5h69.4v-22.3H402V302z"/>
+    <path id="path1998" fill="#d21034" d="M310.2 254h161.2v52.7H310.2z"/>
+    <g id="g2072" stroke-miterlimit="3">
+      <g id="g2008" fill="#fff" stroke="#000" stroke-width=".8" transform="translate(-207.6 158.4) scale(.66486)">
+        <ellipse id="ellipse2000" cx="798.2" cy="192.2" rx="13.6" ry="11"/>
+        <ellipse id="ellipse2002" cx="798.2" cy="186.5" rx="12.1" ry="6.1"/>
+        <ellipse id="ellipse2004" cx="798.2" cy="198.8" rx="12.1" ry="6.1"/>
+        <ellipse id="ellipse2006" cx="798.2" cy="192.2" rx="12.1" ry="6.1"/>
+      </g>
+      <path id="path2010" fill="#ffd100" stroke="#000" stroke-width=".8" d="M467.4 296.3l-1.3-3.7s-3.6-1.4-3.9-3.4c-.6-5-2.5-7-5.2-7.7a6 6 0 00-4.6.4c-.8 1.2-4.9 1.2-7.2 1.3-2.3.1-2.3-1-2.3-1a2.9 2.9 0 01-2.5-1.3c-1.2-2.3-2-3.2-2.6-3.4 3 0 5.2-1.4 8.5-4.9 3.7-3.8 6.3-2.3 6.3-2.3-1.8 3.5.6 3.2.6 3.2 4.8-2.4.6-8.7-.9-8.4-1.4.3-1.8-.7-1.8-.7 0 1.1-1.7 1.6-1.7 1.6 1.3-7.1-3-9-3-9-.6.6-1 2-1 2-1.1 4.2-5 3.6-9.4 1.5s-16.1 2.2-19.8 3.6c-3.6 1.5-10.3 3.8-16.3.4s-7.5-2.8-9.9-2.1c-2.4.6-6.6 1.6-8.1.8a8.5 8.5 0 00-3.4-.9c.5-.2-.2-1.2-.2-1.2-1.8-2.5.2-4 .2-4s-3.3 1-2 6.8l.6.9s.5 1.8 1.5 2.3v.4s.8-.4 1 .8c.4 1.2 1.6.1 2.2-.9 0 0-1 5.3 5.6 6.6 0 0-.7-.8-.4-1.4.3-.5-.8-1-.7-1.8 0-.8-1.7-1.2-.3-1.8 1.4-.7 2-2 5-.2 2.8 1.7 5.1 1.3 5.1 1.3s-1.8-3.6-.8-3.6 5.4 5.5 7.6 5.2c2.2-.3 6.4-2.7 8.5-1.8 0 0 .2-1.1 8.2-2.5 8-1.4 18-5.4 21.7-1.9 0 0 .4 2.8 2 3.5 0 0-.3 5.8-10.3 2.6l-3.6-1s-.5-1.7-19.5 3.2c0 0-1 .4-1.8 1-.7.5-1.7-.4-5.5 1s-17.7 6-26.3 4.3c-1.9-.5-3.7-.3-3.7-.5-.1-.4 1 0 1 0-.7-.7-1-.8-1-.8-7.2-.7-5.9-4-5.9-4l.4 1c1.2-1.5-.5-5.2-.5-5.2a3.8 3.8 0 00-.1-.3l.6-.4c3.5-3 7.5-3.5 7.5-3.5-2.4-3-7.4-1.4-7.4-1.4 0-3.5-1.4-7.6-1.4-7.6-5 .5-7.8 4.6-7.8 4.6-.1-3.6-4.8-5.7-4.8-5.7 1.7 2 .6 7 .6 7l.2.2h-.4l-.1 1h-.2s-1.7.6-3.8 5.2c0 0-.2 1-1 2v-.3s-2.2 3-7.4 0c0 0-7-4.2-9.5-4-2.5.1-4.1 1.3-4 2 0 0-5.6-.5-7.5 2.7 0 0-4.3 1.6-.6 5 0 0 .4 1.6 1.5 2.4 0 0-.2-3.2.6-2.2 0 0 .2.3.6.5 0 .4.4 1.7 1.2 2.3l.5-.2a9 9 0 01.5-2.2h.2l-.1.1 1 1.5 1.1-.6c.6 0 1.3.5 1.3.5l1.3-1v-.1c1.3.2 1.6-2.3 1.6-2.3a4 4 0 003.2-.6c.6 2 5.2 4.3 5.2 4.3h.2l-.6.4c2 1.5 6 1.1 6 1.1-1.6.7-1.4 3.7-1.4 3.7-1 .4-1 1.3-1 1.3 3.1 1.3 5.3.3 5.3.3.2 1 0 1.1 0 1.1-1.3 2.7-1.9 5.4-1.9 5.4v.2s-5.6 2-8 4.7c0 0-.3-.8-1-.8s-2.9-1.8-3.9-2c-1-.4-2.5.2-2.9-.2-.3-.5-.1-3.6-.8-4.1l-.7-2c-.5 1-2.4.8-2.4.8a21.9 21.9 0 00-.8.6l-.8-.1c-.2 0-.4.6-.6 1.1a12 12 0 00-.2.2v-.6c-.4.3-1.2-.1-1.5-.1l-.5.9-1.8.2c-.3.1 0 2.5 0 2.5-2.3 1.3-1.2 3.1-1.2 3.1 1.2 6 11.5 3.4 12.3 4.1.7.8 2.5 1 3.5 1 .9 0 2 2.2 3.4 2.4 1.3.3 0-1.7 6-3.2 6.2-1.5 8.2-4 8.2-4 2-.3 2.5-2.7 2.6-3.6l.1 1.5c.3 2-1.1 2.8-1.1 2.8l5.2-1.6c2.1-.5 1.9-2.3 1.9-2.3 2 5.7 5.6 6 5.6 6 .8-2.1.7-2.8.7-2.8h1.6c0-1.3-1-2.2-1.6-2.6l2.5 1.6 1-.2c0 .9 1.4 1.7 1.4 1.7l.2-1.2c1.2 1.6 3.4 1 3.4 1a7.3 7.3 0 00-.2-.8c4.7 2.9 12.1-.8 12.1-.8 2 .4 2.3-.8 2.3-.8 2.3.3 2.8-1.2 2.8-1.2 5.4-.5 9.2-4.3 9.2-4.3 2.6-.2 2.7-2 2.7-2s2.7.4 5.2-2.8c6-8.5 14.8-4 14.8-4l-5 .3c-13.5-.1-8 9-8 9h.9c1.3.2 5.6 3.7 4 6.3v.1c-2.8 3.7-7.9.2-9.3-3-1.5-3.2-4.4-2.5-4.4-2.5s-7.6 1.3-4.5 7.3h.1c.1 1.5 1 3.2 3.7 4.9 1.5 2.1 6.5 2.3 10.2 1.5 1.7-.3 10.7-4.2 10.7-4.2.7-2 3-1.5 5-4.3 2-2.9-3-3.9-4-5.4-1.1-1.6.3-1.3.3-1.3 4.3 2.4 4.7-5.2 4.7-5.2a6.6 6.6 0 004.3 5.6c2.4-2.4.6-7.3.6-7.3 5.7 10.2 9.2 8.6 9.2 8.6-3.1-2-1.6-4.5-1.6-4.5 2.8 10.8 14 1.4 14 1.4-.5 1.6 0 2.5 1 3.5s2.2 1.4 1.7 3.3c-.6 1.8-5.8 1.4-5.8 1.4s-5.1-.2-4.6 4c.2 1 3.6 1.4 4.9 1.2 0 0-.5 0 1.3.3l2.2.1c2.2 0 4.5-.4 4.5-.4 3-.7 2.5-1.7 2.5-1.7 4.5-.8 5-3.8 5-3.8z"/>
+      <path id="path2012" d="M319 277.6s.2-.6.7-.7c.3 0 .8.2 1.2.8l.2-.2s-1.2-1.8-.7-3c.2-.5.8-1 1.6-1v-.4c-1 .2-1.6.6-1.9 1.3a2 2 0 00-.1.8c0 .6.2 1.2.4 1.6a1.1 1.1 0 00-.8-.2c-.4.1-.7.4-.8.6zm141 23.9c-3 .5-7.6.7-8-.2 0-.1 0-.8 2.5-2.4l-.3-.5c-2 1.4-3 2.4-2.6 3.1.6 1.7 7.2.7 8.5.5zm-58.4 1.8c-.7-1.1-.4-2.6 1-4.4l-.5-.3c-1.5 2-1.8 3.7-1 5z"/>
+      <path id="path2014" d="M397.5 298.7c0 1.8 1.3 3.5 3.8 5l.3-.4c-2.3-1.4-3.5-3-3.6-4.7 0-2.5 2.6-4.4 2.6-4.5l-.3-.4c-.1 0-3 2.1-2.8 5zm52 .6c-.8 1.3-.5 2.8-.5 2.8h.5s-.2-1.4.5-2.5a3 3 0 012-1.2v-.5c-1.1.2-2 .7-2.5 1.4zM330.3 276h-.2v.1s-.3 1.6-1 2a.8.8 0 01-.7.1l-1.2-.7c-.3-.3-.5-.4-.8-.3a1.8 1.8 0 01-.4-1.3c.1-.8.6-1.5 1.5-2.1l-.1-.3c-1 .7-1.6 1.5-1.7 2.3-.1 1 .4 1.6.5 1.7h.1c.3-.1.4 0 .7.2l1.3.8h1c.7-.5 1-1.9 1-2.2 3.3.7 6-3.3 6-3.4l-.2-.2s-2.7 4-5.8 3.3z"/>
+      <path id="path2016" d="M322.5 275.4c-.2.6 0 1.3.3 1.9.4.6.7.9 1.1 1 .5 0 .8-.3 1.1-.6.2-.3.5-.5.6-.4l.3.2.3-.2-.5-.3c-.3 0-.6.2-.9.4-.3.3-.6.6-.9.5-.2 0-.5-.3-.8-.8a2.2 2.2 0 01-.3-1.7c.3-1.4 2-2.5 2-2.5v-.2c-.1 0-2 1-2.3 2.7zM318 296c.2-.6.6-1 1.3-1.4-.1 0 .7.7 1.4.6l.4-.2c.2.1 1.4 1.2 1.4 2.6 0 .3 0 .6-.2.9l.3.1c1-2-1.3-4-1.3-4h-.2l-.5.3c-.5 0-1.2-.6-1.3-.6-.9.4-1.4 1-1.6 1.6zm10.4-5.3c-.7 0-2.6.4-3.2 1.3-.2.4-.2.8 0 1.2l.2.7c.6 1.5 1.2 3.1 1.8 3.5l.2-.3c-.6-.3-1.2-2-1.7-3.4l-.3-.6a1 1 0 010-.9c.6-.8 2.2-1.2 3-1.2.4 0 .5 1.5.6 2.5h.3c0-1.5-.2-2.9-1-2.8z"/>
+      <path id="path2018" d="M323.3 292.2a1 1 0 00-.3.9c0 .1.1 4 2 4.8l.1-.3c-1.7-.7-1.8-4.5-1.8-4.5s-.1-.4.2-.7c.2-.2.8-.2 1.6 0v-.3c-.8-.3-1.5-.2-1.8.1z"/>
+      <path id="path2020" d="M321.8 292.5c-.8.6-.8 2.2-.8 2.3h.3s0-1.6.7-2c.2-.2.6-.2 1 0v-.3c-.4-.2-.9-.2-1.2 0z"/>
+      <g id="g2060" transform="translate(-207.6 158.4) scale(.66486)">
+        <path id="path2022" d="M862.3 169.5s1.3 3 1.3 5.3c0 .4-.2.7-.3 1l-.5-1.3-.3 1s-.6 1.4.3 2.9c1.2 2 4.2 3.2 9 3.7v.1a.8.8 0 00-.4.1l-.2.2v.4c.2.5.7.5 1.8.5l.7.1.6.2-.1-.1c1 0 2.3.3 3.6.8l-1 .2 1.1.5c.1 0 8.7 3.5 12.2 6.3-1 .9-5.3 4-12.7 2.2l-1.2-.3.8 1s4.9 5.6 5.9 9c-1.7 0-8.2 0-10.5-2l-.5.5s3 4.6 3.8 8.1c-1 .2-3 .3-4.3-1.4l-.6-.7-.3 2c-.6-.5-1.4-1.1-1.4-1.9v-.4l-1.8.3-3.8-2.3a8 8 0 00-.6-.4l-.4.7.6.3c.8.6 2.2 1.7 2.3 3.3H863v.5c0 .3 0 1.4-.9 3.7-1.1-.2-5.3-1.7-7.8-8.8l-.8.2v.2c0 .7-.2 2.3-2.4 2.9l-6.5 2a4.5 4.5 0 00.8-2.8v-.8a20.3 20.3 0 01-.2-2.6c0-1.5.3-2.4 1.4-3l-.4-.8c-.1 0-9.6 3.9-14.3 2.3.2-1 1-4.2 2.6-7.6l-.2.2c.3-.2.6-.6.3-2.2v-.5l-.5.2s-3 1.4-7.4-.2c0-.4.3-1 1.2-1.4l.3-.1v-.8c0-1.2.1-4 1.8-4.6l-.2-.8s-5.1.4-8.2-1.3a11 11 0 014.5-1.9h.3v-.4a6 6 0 00-.5-2.3c1.2.4 2.6.7 3.1.3l.2-.1-.2-3.1h-.8l.1 2.6-3-.7-1.2-.4.8 1a4 4 0 01.7 2.4 12.7 12.7 0 00-5 2.3l-.5.4.5.3c2.4 1.6 6.1 1.8 8 1.7a8.4 8.4 0 00-1.3 4.5v.4a3.1 3.1 0 00-1.5 2.2v.3l.2.1a11 11 0 007.9.5v.9c-2 4.2-3 8.3-3 8.3v.4h.3c3.9 1.6 10.7-.5 13.8-1.6-.4.7-.7 1.5-.7 2.5a22.1 22.1 0 00.3 3.4c0 2.3-1.5 3.2-1.6 3.2l.3.8 8-2.4c1.8-.5 2.5-1.6 2.8-2.5 3.1 7.4 8 8 8.3 8.1h.3l.1-.3a14 14 0 001-4 439.6 439.6 0 002.4-.1v-.5c0-.7-.1-1.3-.4-1.8l1.4.8 1.3-.2c.3 1.3 1.9 2.4 2.1 2.5l.5.3.3-1.7c2 1.7 4.7 1.2 4.9 1.2l.3-.1v-.4c-.4-2.7-2.2-5.9-3.3-7.6 3.5 1.6 9.9 1.5 10.2 1.5h.4v-.5a30 30 0 00-5.6-9c8.2 1.5 12.6-2.8 12.8-3l.3-.3-.4-.2a53.8 53.8 0 00-11.6-6.3l.9-.2-1-.5a12.8 12.8 0 00-5.8-1.4c-1-1.2-1.5-1.3-1.6-1.4-5.6-.6-7.6-2.1-8.4-3.3v-.3l.2-.3c.5-.7.7-1.6.7-2.6 0-2.6-1.3-5.5-1.3-5.6l-.8.3z"/>
+        <path id="path2024" d="M836.8 167.9s-.6 3-3.2 4.5c-2 1-4.5 1-7.6-.3l-.4-.1v.4a5 5 0 002 3.2c1.3 1 3.3 1.4 5.9 1.2-.9 1-3.6 4.4-3.6 7.8v.5c.4.2 4.6 1.4 6.6-1.1 0 1 .4 4.5 1.7 5.8.8.8 1 1.8 1 2.7 0 .8-.2 1.4-.2 1.4l-.2.6.5-.4c.2-.1 4.1-3 5.3-6.7 0 0 .7-1 1.9-1.3v.5c0 1.5.6 4.1 4.8 5.7l.3.1v-.3a7.1 7.1 0 010-.7c0-1.1 0-3 1.1-4a2.8 2.8 0 00.6-3.3c.9.2 2.9.9 3.7 2.4 1.2 2.2 5.3.4 5.5.4l-.1-.5s-1.8.4-2.9-.3a2.1 2.1 0 01-.8-1.5l-.2-2.4c0-1-.2-1.7-.7-2.2.5 0 1.6 0 2 1 .8 1.6 3.3 1.7 3.4 1.7l.9.1-.7-.5s-2.2-1.4-1.8-3.3l.3-1.4c.6-2.5 1.6-6.6.7-9.2l-.4.2c.2.6.3 1.4.3 2.2 0 2.2-.7 5-1 6.7l-.4 1.4a2.6 2.6 0 000 .5c0 1.3.7 2.2 1.3 2.7-.7-.1-1.7-.5-2-1.3-.7-1.4-2.3-1.4-3-1.3l-.6.1.4.4c.7.4.8 1 .8 2.3l.2 2.3c.1.8.5 1.4 1 1.8.6.4 1.2.4 1.7.5-1.2.3-2.9.5-3.5-.6-1.1-2.2-4.3-2.7-4.4-2.8h-.5l.2.4s.4.6.4 1.4c0 .5-.2 1.2-.7 1.7-1.1 1.1-1.3 3.2-1.3 4.3v.4c-3.6-1.5-4.2-3.7-4.2-5v-1l.2-.3h-.4a3.5 3.5 0 00-2.5 1.8 15 15 0 01-4.7 6.2 6.9 6.9 0 00.1-1c0-.9-.2-2-1-2.9-1.5-1.4-1.7-6-1.7-6v-.8l-.4.7c-1.6 2.8-6.2 1.4-6.3 1.4-.2-3.5 4-8.1 4-8.2l.4-.4h-.6c-2.7.4-4.8 0-6.2-1a4.6 4.6 0 01-1.6-2.5c3 1.1 5.6 1.2 7.6.1a7.4 7.4 0 003.4-4.8c3-6.6 5.5-7.7 5.5-7.7l-.1-.4c-.2 0-2.8 1-5.8 8z"/>
+        <path id="path2026" d="M843.5 158h-.2l-2.4 3.3h.7a31 31 0 0119.7 9.2l.3.3 2.3-2.5-.2-.3c-6.5-10.2-20.1-10-20.3-10zm.2.9c1.6 0 13.2.3 19.2 9.3l-1.3 1.4a33 33 0 00-19.3-8.9 631.2 631.2 0 011.4-1.8z"/>
+        <path id="path2028" d="M841.6 164.8a11 11 0 00-2.1 4.8l.1.4a7.3 7.3 0 00-2 5.5c0 1.3.2 2.6.6 3.8l.3.7c1.2 3.4 2.3 6.4 7.8 4.6 5.2-1.6 5.4-2 6.7-4.2l.4-.5c.7-1.2 1.5-1.4 2.3-1.7 1-.3 2-.6 3-2.4l.8-1.3c1-1.3 2.2-3 2.3-5h-.4a9.8 9.8 0 01-2.2 4.7l-1 1.4a3.6 3.6 0 01-2.6 2.2 3.9 3.9 0 00-2.6 1.8l-.4.6c-1.2 2.1-1.4 2.4-6.5 4-5 1.6-6-.9-7.2-4.4l-.3-.7c-1.4-3.8-.3-7.6 1.6-9l.6-.5-.9.1v-.1c0-.7.7-2.6 2-4.5 1.2-1.6 4-3.1 4-3.2l-.2-.4c-.2.1-2.9 1.7-4.1 3.3z"/>
+        <path id="path2030" d="M839.2 178.7c.9.6 2.1.5 3.7 0 0 .5 0 1.7 1 2.5 1.2 1 3 1.2 5.5.6v-.5c-2.4.6-4.2.4-5.2-.5a3 3 0 01-.9-2.4v-.4l-.3.2c-1.5.6-2.7.7-3.6 0-1.5-1-1.4-3.7-1.4-3.7h-.4s-.2 3 1.6 4.2z"/>
+        <path id="path2032" d="M842 175c-.6.2-.8.7-.8 1.1v.3c.2 1.2 1.5 2 2.6 2.3 1.2.3 2.6.4 3.1-.3.2-.3.4-.8 0-1.7a3.7 3.7 0 00-4.8-1.7zm2 3.3c-1-.3-2.2-1-2.3-2 0 0-.1-.7.5-.9a3.3 3.3 0 014.2 1.6c.3.4.3.8.1 1-.3.5-1.4.6-2.5.3zm-2-3.3zm1.6 6c-.3 2.5 0 2.6.1 2.6h.2l.2-.1 1.4-2-1.8-.8v.3zm.5.4l.7.3-.8 1.1v-1.4zm-4.2-2.4l-.1 2.3 2-2.4-2-.2v.3zm.4.2h.6l-.6.8v-.8z"/>
+        <path id="path2034" d="M838.5 178.2s1.5 2.9 1.8 4c.1.6 1 1.4 2 1.7 1 .4 2 .4 2.7-.1l1.3-1.1c.4-.5.6-.6 1-.5v-.5c-.6 0-.9.2-1.3.6l-1.3 1c-.8.6-1.7.4-2.2.2-1-.3-1.7-1-1.8-1.5-.3-1-1.7-3.9-1.8-4l-.4.2zm2-8.6a5 5 0 00-2.4 2.8l.4.1s.7-1.8 2.1-2.5a2.9 2.9 0 012.4 0l.1-.4c-1-.4-1.8-.4-2.7 0zm10.8 5.2c.2 0 3.2 2.4 1.5 5.2l.3.3c2-3.3-1.5-5.9-1.5-6l-.3.5zm-9.2.4s-.5 1.7 2 2.3c0 0-2.3 0-2.5-.6-.1-.6 0-1.9.5-1.7zm7.5 2c0 .2-.2.3-.3.3a.3.3 0 01-.3-.2c0-.2.1-.3.3-.3.1 0 .3.1.3.3zm.2 1.2c0 .1 0 .2-.2.2a.3.3 0 01-.3-.2.3.3 0 01.3-.3c.1 0 .2.1.2.3z"/>
+        <circle id="circle2036" cx="848" cy="177.8" r=".3"/>
+        <path id="path2038" d="M848.8 179.4a.3.3 0 11-.6 0c0-.1.1-.2.3-.2l.3.2zm-7.1-7.3a.3.3 0 01-.6 0 .3.3 0 01.5 0z"/>
+        <circle id="circle2040" cx="841.6" cy="173.2" r=".3"/>
+        <circle id="circle2042" cx="840.1" cy="172.7" r=".3"/>
+        <path id="path2044" d="M840.8 174.3a.3.3 0 01-.2.3.3.3 0 010-.6.3.3 0 01.2.3zm4.8-9.6s3.5 2.2.1 6.3c0 0 1.7-1.3 1.8-3.4.2-2.1-1.2-3.8-2-2.9zm13.5 5.9c-1.2.6-2.8-.5-3.6-1.5-.8-1-2.5-1.3-3.6.6-1 1.8-2.5 2.5-2.5 2.5s1.5-.8 3-2.5c1.5-1.6 2.4-.3 3.9.5 1.4.8 1.7 1 2.7.5v-.1z"/>
+        <path id="path2046" d="M858.8 170.9a1.7 1.7 0 01-2.2-.1c-1-.8-1.7-1.8-2.8-1.2-1.2.6-3.3 2.2-3.3 2.2s3.5-2.4 4.2-1.8c.6.5 2.2 1.8 3.1 1.4l1-.5z"/>
+        <path id="path2048" d="M856.1 172.3c-1.1-.8-2.2 1-3.1.8-1-.2-1.7-1.8-1.7-1.8s.8 1.6 2 1.3c1.3-.4 2.1-1.2 2.9-.6.7.6-.1.3-.1.3z"/>
+        <path id="path2050" d="M854.4 172.6a2 2 0 01-2.4-1.9s.7 1.8 2.6 1.5l-.2.4z"/>
+        <path id="path2052" d="M854.3 171.2c.1.5.1.8-.5.8s-1-.2-1-.8c0-.5 1.4-.4 1.5 0zm-7.8-3a.7.7 0 01-.7.6c-.4 0-.5-.2-.5-.6s0-.7.5-.7.7.3.7.7z"/>
+        <path id="path2054" d="M844 165.7s3.8 0 2 4.7c0 0 1.4-2.3.5-4-1-1.6-2.3-1.2-2.3-1.2s-.4.3-.2.5z"/>
+        <path id="path2056" d="M844 167.6c0 1 .6 1.9 1.8 2.9l.3-.4c-1.1-.9-1.7-1.7-1.7-2.5s.6-1.3.6-1.3l-.3-.3s-.7.6-.8 1.6z"/>
+        <path id="path2058" d="M844.8 168.4c.1.5.6 1 1.2 1.2l.2-.4c-.5-.2-.9-.6-1-1-.2-.8.4-1.7.4-1.7l-.4-.3s-.7 1.2-.4 2.2zm5.1 2.6s.7 1.5-.3 3.1l-1 1.6s1.2-2.3.7-3.2c-.4-1 .6-1.5.6-1.5zm14.6 15.8c3.8.7 12.5 7.5 12.5 7.5l.5-.6c-.3-.3-8.9-7-12.9-7.7l-.2.8zm3.4 9.5c.2 3.5 4 5.6 4 5.7l.5-.7s-3.5-2-3.7-5h-.8zm-9.3.8c0 3.8 3.6 8.4 3.8 8.6l.6-.5s-3.6-4.6-3.6-8.1h-.8zm-12.1.4c.6 1.3.6 1.9.4 2.2-.2.4-.6.4-.6.4l.1.8c.3 0 .9-.2 1.2-.8.4-.7.3-1.7-.4-3l-.7.4z"/>
+      </g>
+      <g id="g2070" fill="#fff" stroke="#000" stroke-width=".2">
+        <path id="path2062" d="M319 277.1s0 1.7 1.4 2.7c0 0-.2-1.8.2-2.6 0 0-.7-.8-1.7 0zm2.6 1.1s.3 1.5 1.2 2.2l.5-.1s.3-2 .6-2.2c.3-.2-1.3.7-2.3.1z"/>
+        <path id="path2064" d="M323.9 278.1l1 1.6 1.2-.6-.3-1.9s-.7-.2-2 1z"/>
+        <path id="path2066" d="M328.6 278.4l-1.3 1.1s-.7-.5-1.3-.4l.3-1.7s1-.7 2.3 1zm-9.4 16s-.2-2.3.1-2.5c0 0 1 .3 1.3 0 0 0 .6 1.9.4 2.6-.1.8-1 .5-1.8 0zm6-2.4s0-2 .3-2.3c0 0 2 .3 2.4-.7l.7 1.9s-2.2-.2-3.4 1z"/>
+        <path id="path2068" d="M323.1 292.4s.4-2.1.8-2.2c0 0 1 .3 1.3 0v2.5s0-1.1-2-.3zm-2.2.3s.4-1.9.7-1.9c.3 0 1.1.5 1.5.2v1.4s-1.7-.4-2 2l-.2-1.7z"/>
+      </g>
+    </g>
+    <g id="g2112" fill="#00a651" stroke="#000" stroke-width=".8">
+      <path id="path2074" stroke-width=".5" d="M351 331.2s5.3 5 4 9.2c0 0 3.3-7.3-.3-9.4-3.7-2.2-3.8-.5-3.7.2z"/>
+      <path id="path2076" fill="#964b36" stroke-width=".5" d="M344.4 336s-1.4 1.9.1 3.2c0 0-1.6 2.4-.4 4.4 0 0-1 2.1-.7 4.4 0 0-.9 3.5 1 5.1 0 0 2 1 2.9.2 0 0 1.7-2.7.6-5.4 0 0 1.3-2.3-.1-5.1 0 0 .4-1.7-.8-3.6 0 0 .8-1.2.1-2.2 0 0-2.5-2.6-2.7-1z"/>
+      <path id="path2078" stroke-width=".5" d="M345.9 329.8s-6.3-12-10.7-12.5c-4.3-.5-4.6-4.8-4.6-4.8s.5 2 4 2 10.3 5 11 8.7c.8 3.8 1.5 3.3 1.5 3.3l-1.2 3.3z"/>
+      <path id="path2080" stroke-width=".5" d="M345.9 329s2.3-15.2 12.2-15.5 6.6.8 9-.8c0 0-6.7 3.5-10.8 4-4.1.5-7.5 8.5-7.4 10 .1 1.5-2.2 4.4-3.4 3.4-1.1-1 .4-1.1.4-1.1z"/>
+      <path id="path2082" stroke-width=".5" d="M348.1 334.6s2.3-6 6.2-4c0 0-3-5.8-8.4-.8 0 0 2.4 3.3 2.3 4.8zm-7.5-6S344 342 339 346c0 0 .1-6.9-2.9-11s3-8.6 4.6-6.5z"/>
+      <path id="path2084" stroke-width=".5" d="M341 331s6 5.6 6.3 7.5c.4 1.9 1.7-5.6-1-7.8a13.8 13.8 0 00-5.8-2.5l.5 2.8z"/>
+      <path id="path2086" fill="#964b36" stroke-width=".5" d="M330.1 345.8s.6 2.3 2 2.8c0 0 .1 1.7 1.4 2.3 0 0-.7 1.4.5 2.3 0 0-.3 3 .8 3.6 0 0 2.6-.2 3.5-1 0 0 .6-1.9-.9-3.8 0 0 .2-1.8-1.2-2.8 0 0 .4-2.5-1.4-3.4 0 0-.3-2-1.4-3 0 0-2.3 3.2-3.3 3z"/>
+      <path id="path2088" stroke-width=".5" d="M333 342.9s-7.7-2.9-12 1.2c0 0 6.6.9 7.5 2.2.8 1.3 4.9-2.1 4.6-3.4z"/>
+      <path id="path2090" stroke-width=".5" d="M330.7 347.7l-1.4-1.1c-.8-.5-7.3-2.3-8.2 4 0 0-2.3-6.2 1.1-7 3.4-1 6.2 1 8.5 4m-5.1-12.7s2.4 5 3.3 5.4c.8.2 1.5-.7 1.5-.7s-3.2-4.6-4.8-4.7zm-1.8-8s-2-6.6-4.3-4.8c-2.4 1.7-1.8 6.5-1.8 6.5s-4.8-4.9-2-8.8c2.8-3.9 8.2.4 8.2 7.2z"/>
+      <path id="path2092" fill="#964b36" stroke-width=".5" d="M329.2 340.6s0 1.3 1 1.6c.8.4 2.4 1 2.4.3s-1.2-3.6-1.7-3.3c-.5.4-1.4.4-1.7 1.4z"/>
+      <path id="path2094" stroke-width=".5" d="M327.7 332.9s-.2-5.8 3.5-8c0 0 .8.2 1.2-1 0 0-3 7.3-2.2 11v.5"/>
+      <path id="path2096" stroke-width=".5" d="M328.5 325.8s6.8-14 15-9.1c0 0-8.6 1.7-11.7 7.9l-3.2 4.6-.1-3.4z"/>
+      <path id="path2098" stroke-width=".5" d="M324.9 331s-2-9.4-3.3-10.7c-1.3-1.2-3.4-2.6-5.9-.5 0 0 4.4-3.9 9-.6 4.7 3.3 3.7 8.4 3.7 8.4l-.5 6.5-3.2-2.9"/>
+      <path id="path2100" stroke-width=".5" d="M332.1 342.1s-8.3-15.6-13.6-4.5c0 0-1 2.9 0 4 0 0-3-2.2-1.6-7.8 1.4-5.4 10.6-3 13.2 1.6 2.6 4.5 3.4 6.7 3 7-.4.2-1-.3-1-.3zm23.3 4.5s6-12.4 9.6-6.7c0 0 1 2.7-.6 3.9 0 0-2.3-3-4.5.6-2 3.5-1.2 3.2-1.2 3.2s-2.3.7-3.3-1z"/>
+      <path id="path2102" stroke-width=".5" d="M364.4 343.8s3.3 1.7 2.2 5.2c0 0 4.4-8.4-1.7-9.1 0 0 1.2 2.6-.4 3.9zm.4-8.6s8 2.3 8.2 5.7c0 0 1.3-6.5-3.2-8.5 0 0-5.4.8-5 2.8z"/>
+      <path id="path2104" stroke-width=".5" d="M368.3 324.8c3.4-6.6 7.7 2.2 7.7 2.2s1.5-7-2.8-8.2-7 14.7-7 14.7l-5 1.1s1.4-13.9 8.9-15.2l.9.2"/>
+      <path id="path2106" stroke-width=".5" d="M362.3 328.8s-4.8-9.7-8-10.7c-3.3-1 1.8-2.5 3.8-.7 2 2 5.7 4.3 5.3 9.3l-1 2.1zm-4.9 13.4s1.4-6.6 5.2-8.6c3.7-2 7.2-1.3 7.2-1.3s-4.5 1-5.2 3.3c-.8 2.3-2 2.4-2 2.4l-5.2 4.2z"/>
+      <path id="path2108" fill="#964b36" stroke-width=".5" d="M355.4 346.6s-2.1 4-1.6 4.7c0 0-2.3 3.2-1.4 4.9 0 0 2.3 1.7 3.3 1 0 0 2.6-3.7 1.9-5.7 0 0 1.7-2.4 1-3.9 0 0-2.5.2-3.2-1z"/>
+      <path id="path2110" fill="#000" stroke="none" d="M344.4 339.5c.1 0 1.4.7 2.3.4l.6-.5-.5-.3c-.3.6-1.7.1-2.2-.1l-.2.5zm-.2 3.9l-.1.5c.1 0 2.6.5 3.9-.6l-.4-.4c-1 1-3.4.5-3.4.5zm-.7 4.4l-.3.4s3 2.2 5-.1l-.5-.4c-1.6 2-4 .2-4.1 0zm-11.4.6v.3c.2 0 2.7-1 2.9-2.9h-.3c-.2 1.7-2.6 2.6-2.6 2.6zm1.4 2.3v.3c.1 0 2.4-.2 2.8-1.8h-.3c-.3 1.4-2.5 1.5-2.5 1.5zm.5 2.4v.3s2.7.1 3.5-1.3l-.2-.2c-.8 1.3-3.3 1.2-3.3 1.2zm19.6-1.6s1.2 1.1 2.5 1a2.3 2.3 0 001.7-.8l-.4-.3a2 2 0 01-1.3.6 3 3 0 01-2.1-1l-.4.5z"/>
+    </g>
+    <g id="g2118" fill="#964b36" stroke="#000" stroke-width=".3">
+      <path id="path2114" d="M431.4 360.6a1.1 1.1 0 00-.4.3l.4-.3zm9.2-2.3c0-.2-.1-.1-.2-.2l-.4-.8h-.3l-.7-1.4a.4.4 0 000-.2 7.6 7.6 0 000-.4c-.1-.1-.2 0-.3-.2v-.7l-.1-.4v-.6a2 2 0 000-.4c-.2-.4-.4-.7-.4-1.2l.1-1-.2-1 .2-.9v-5.3c-.2-.4-.1-.7-.2-1v-2l-.1 2.5c0-2.2-.2-4.3-.2-4.3l-3.3-1.5s-.3 6.1-.2 7c0 .8.3 6.7.2 7.4-.2.7-.5 4.2-.5 4.2s-1.6 1.2-2.3 2.5c-.6 1.2-.5 1.7-.7 1.7l1.6-.3-1.2.8a.7.7 0 01.7.1l.3.2.2-.2.7.4.4-.3.2-.4h1.1c.3 0 .5-.4.8-.7.3-.2.5-.3.8-.3.3 0 .6.3.9.4.2 0 .4 0 .6-.3l.3-.6h1.9l.3.2.1-.4v-.4z"/>
+      <path id="path2116" d="M433.9 360.5l.5.1.1.2a.2.2 0 00.2 0l.3.1h.3l.4.1c.2.1.4 0 .6-.1.2-.2.3 0 .5.2s.2.1.3 0a1.7 1.7 0 010-.1l.3-.1.4-.1.3-.2.4.2a.8.8 0 01.2.1c.2-.3.6-.4.8-.6h1.3c.1-.1.1-.2.3-.2l.7.4c.1 0 .7.2.6-.3 0-.4-.4-.1-.5-.4v-.6a.7.7 0 00-.4-.4h-.3l-.2-.5c-.1 0-.2.1-.4 0l-.2-.2c-.3-.3-.5.2-.7.1-.2 0-.4-.5-.6-.7 0-.1-.3-.5-.4-.4-.2.1 0 .5-.1.7-.1.1-.4 0-.4 0-.2 0-.2 0-.3.3-.3.3-.4.6-.7.6l-.5-.2c-.1.1-.2.3-.4.3a1 1 0 01-.4 0c-.2 0-.3-.3-.4-.4a.1.1 0 00-.2 0l-.2-.1c-.2-.1-.2 0-.3.2v.5l-.4.4-.4.1c-.1 0-.3.3-.4 0-.1-.4.3-1.1-.2-1 0 0-.2 0-.3.3v.6c0 .3-.6.8-.5 1 0 .3.3 0 .4 0 .1.1 0 .3.2.4.1.3.7-.4.7 0m-2.1-2.7v-.1l-.5-.2-.4.4c-.3.5-.2 1-.7 1h-.4c-.2.1 0 .5 0 .7v.3c-.1 0-.2 0-.3.2 0 .4.3.3.4.3h1l.6-.2.5-.1a2.2 2.2 0 00.2-.5v-.4c0-.2.2-.1.3-.4 0-.7-.7-.2-.6-.9"/>
+    </g>
+    <g id="g2128" stroke="#000" stroke-width=".5">
+      <path id="path2120" d="M440.2 338.7c0 1-.6 1.7-1.4 1.7-.8 0-1.4-.8-1.4-1.7 0-.9.6-1.6 1.4-1.6.8 0 1.4.7 1.4 1.6zm-4.5-2c0 1-.7 1.6-1.4 1.6-.8 0-1.4-.7-1.4-1.6 0-.9.6-1.6 1.4-1.6.7 0 1.4.7 1.4 1.6z"/>
+      <path id="path2122" d="M438 337.3c0 1-.6 1.7-1.3 1.7-.8 0-1.4-.8-1.4-1.7 0-.9.6-1.6 1.4-1.6.7 0 1.3.7 1.3 1.6z"/>
+      <path id="path2124" d="M435.7 338.8c0 1-.6 1.7-1.3 1.7-.8 0-1.4-.8-1.4-1.7 0-.9.6-1.6 1.4-1.6.7 0 1.3.7 1.3 1.6z"/>
+      <path id="path2126" d="M437.9 340c0 1-.6 1.7-1.4 1.7-.8 0-1.4-.7-1.4-1.6 0-1 .6-1.7 1.4-1.7.8 0 1.4.8 1.4 1.7z"/>
+    </g>
+    <path id="path2130" fill="#00a651" stroke="#000" stroke-width=".5" d="M438.5 322.3s14-19.4 28.9.8c0 0 0 2-1.3 4l-.4-1.5-.8.2-.3-1-1.6-.1.5-2.1-1.8 1.3.3-1.5-2 2 .2-4.2-2.1 3.6.2-2.5-.7 1.1-.5-1.4-.6 1.4-1-.7v1l-1.8-1.5-.6 2-1-2.1-.2 1.4-.8-1.7-.2 1.9-2.8-1.3.6 1.8-1.4-1 .3 1-2-.4.2 1.1-2-.3.4 1-2.8-.4 1 1.1-.3.5s15.1-5 16.1 13.8l-2.7 1.4.7-1.5-.7-.5-2.3-1.8.6-2.4-.7.3-.2-1.4-.3.3-1-1.4-.2.5-.6-1.7-.6 1.2-.4-2.8-1 1.8-.1-1-.4.6-1.2-1.5-.4 1-.5-.8-.4 1-1.4-1.3v1l-.8-.8-.4.5-2.2-1.1v1l-1.2-1-.4 1s13.7 7.8 9.4 20.4l-.7 1.7-.3-4.3-1.2 2.3.8-5-.8 1-.2-2-1.1 2-.4-2.2-.5.6-.7-3.2-.7 1.4-1-3.7-.7 1.5-.5-3.1-.5 1.9-1.5-2.8-.3 1.1-.8-2.2-.5.7s-2.5 0-3.3-.7c-.8-.6-2.9 3.8-2.9 3.8l.3-2.7-1 1.8v-1.8l-1.5 5.3-.4-3.8-.9 3.3-.4-1-.2 1.4-.5-.5-.5 1.4-.8-.6v2l-.7-1-.7 3-.3-1.2v1.4l-.7-.8-.6 3-.9-1.2v2.1l.3 1.6-1-.5.4 2.7s-4-7.3.7-14.3c4.7-7 11-9 11-9l-.7-.5-.1-.7-3.8 2 .1-1.2-1 .8-.2-1.2-.6 1.1-.2-.5-.8 1.4-.5-2-.7 2.4-.6-1.7-1.3 3.6v-2.7l-1 2.8-.3-3-.8 3.5v-3.2l-1.1 3.2-.8-3-.5 2.9-.7-2.3-.8 3.4-1.1-3-.6 4.5-.8-1.8-.1 3.3-.9-2 .9 4.2-1.1-1.6.3 2.6-1.6-2.8.1 3.4-.8-1.2-.4 1.3s-.4-13 8.5-15.6c8.9-2.5 14.7.8 14.7.8l-3.4-2.8.4-.8H429l.5-1H427l.7-1-2 .3v-.6l-1.2 1 .5-1.1-1.8 1.1v-1.7l-1 1.5-.5-1.5-4 4 1.1-4.2-.7 1-.1-1-1.2 1.8-.2-1.3-.5 1.5-.4-1.7-.9 1.7-.8-1.6-.4 2.1-.7-1-.7 1.5-1-1-.1 1-2-.8.5 1.5-1.5-1.3-.4 2-.9-1-.6 2.5-.6-2.4-.7 2s7.9-20.2 27.7-7c0 0 2.2 2 2.7 3.5s0 .3 0 .3l-.3-14 .8 6 .5-2-.2 3 2-4.3s-2.3 7.3-1.5 10c0 0 1-8.5 4-9.5l-2.8 6 .8-.1-.6 1.2h.8l-1 2-.4 1 .5 1 .7-.7z"/>
+    <path id="path2132" d="M436.5 330.5l.4.3s1.3-1.3 3.3.4l.4-.4c-2.5-2.1-4.1-.3-4.1-.3zm-.6-6.8l-.1.4 1-.4-.7 1.2 1.4-.5-1.8 2.3.5.4 2.8-3.8-1.8.6.8-1.3-1.5.7.3-2h-.5l-.4 2.4z"/>
+    <path id="path2134" d="M433.2 323.8l.6 1.4-1-.4 3 5 .3-.4-.6 1.5.5.2 1.3-3.2-.5-.3-1 1.3-1.7-3 .8.3-.8-1.8 1 .7v-2h-.5v1L433 323l.3.8zm-1.8 6.4l.2.5c.8-.3 1.4-.4 2-.1.5.2.7.8.7.8l.5-.1s-.2-.8-1-1.2c-.7-.3-1.5-.3-2.4.1zm2.2 5.4l-.4-2.8h.5l.5 2.8zm3.9-.4l-.7-2.2.5-.1.7 2.1zm1.4 1.6l-.5-2.2.5-.1.5 2.1z"/>
+    <path id="path2136" fill="#00a651" stroke="#000" stroke-width=".5" d="M332 401s-2.4-1-3.5-.2c-1 .8-1 1.9-1.9 1.8 0 0 3.6.8 4.4-.1l1-1.2m.4.8s-1.6 2-1 3.2c.5 1.2 1.6 1.3 1.4 2.2 0 0 1.5-3.3.8-4.2l-1-1.2m-2.8-5.8s-2.5.8-2.8 2c-.3 1.4.6 2.1-.1 2.7 0 0 3.1-1.8 3.1-3a8.8 8.8 0 00-.1-1.5m1.3.7s1.2-2.3.4-3.4c-.7-1.1-1.9-1-1.7-2 0 0-1 3.6 0 4.4l1 1m-2.1-.9s0-2.5-1.1-3.2c-1.1-.7-2.1-.1-2.4-1 0 0 .6 3.6 1.8 4l1.5.3m4.4 4.2s2.7-.9 3 2c.1 3-.2 2-.2 2s-1.4-3.2-3-3.7l.2-.3z"/>
+    <path id="path2138" d="M332.3 402.1l.3 2.3h.4l-.3-2.3 1-4.9h-.5l-.9 4.9z"/>
+    <path id="path2140" d="M329.9 401.4l-.2.3c1.3.5 3.1-1 3.2-1l-.2-.3s-1.8 1.4-2.8 1zm3.3-2.9l-6-3 .2-.5 6 3z"/>
+    <path id="path2142" d="M328.9 397.8l-.4-.3 1.2-1.3.4.4zm2-.6l-1.2-2.7.5-.3 1.3 2.8zm1.9 3.4v.6c1.6-.1 2 1 2 1l.6-.2c0-.3-.7-1.5-2.6-1.4z"/>
+    <path id="path2144" fill="#fff" stroke="#000" stroke-width=".7" d="M360.5 401.9c2-1.1 2.4-5.1 2.4-5.1-.4 1.4-4.1 2.9-4.1 2.9 2.7-1.7 6-9.4 6-9.4-.9 2.8-8 5-12.7 7.6-4.6 2.6-2.2 10-2.2 10a16 16 0 01-4.2-8.3c-.5-3.5-1.9-4.8-5-5.2-3.2-.4-5 3.1-5 3.1L331 400l4.7.2s3.4 1.1 3.4 3.8c0 2.7-3 13.3 2 19.3 3.4 4.1 16 6.5 16 6.5"/>
+    <path id="path2146" fill="#fff" stroke="#000" stroke-width=".7" d="M351.3 410.1s1-4.8 4-4.6c3.2.2 4.1-3.5 6-4.1 1.8-.6 11.4-3.1 12.5-7.8 0 0-1 7.6-9.7 11.4 0 0 7-2.3 7.9-3.9 0 0-3.2 6.8-10.8 7.9 0 0 7.2-.6 8.2-2.5 0 0-3.2 4.3-8.5 4.8 0 0 4.9 2 6.2.3 0 0-2.7 3.2-6 3.4l.9.3s-3.2 3.7-6.6 1.2c-3.5-2.5-3.6.6-3.6.6"/>
+    <path id="path2148" fill="#fff" stroke="#000" stroke-width=".7" d="M358.4 417.3s4 6.8 4.5 10.4c0 0 7.7 8.6 10.6 9 0 0-1.3.6-3.8-1.5 0 0 2 2.2 2.5 2.3.4 0-1.7-.2-2-.8 0 0 .8 1.3 1.4 1.5l-.6-.2s-1-.1-1.5-.5-.2 1-.2 1-1.2-.3-1.6-.7c-.4-.4.2.9.2.9l-1-.3-.8.5s0 .5-.6.1c-.4-.4-1.3 0-1.3 0s-.7.6-1 .2c-.3-.4-1.5 1.5-1.5 1.5l-5.1-12.3"/>
+    <path id="path2150" d="M363.2 439.6l-6.4-12.3.7-.3 6.4 12.2zm5.6-.9l-11-12.3.6-.5 11 12.3zm2.6-1L358.8 426l.5-.6L372 437z"/>
+    <g id="g2162" transform="translate(-207.6 158.4) scale(.66486)">
+      <path id="path2152" d="M823.4 360.8s-1.2-2.2-2.3-1.3c-1 .8-1.6 1-1.8.9 0 0 1 0 1.7-.5.6-.6 1.6-.3 2.4 1zm-6.6-1l.7 1.4-.8 2.3.6.2.7-2.5-.7-1.6-.5.2z"/>
+      <path id="path2154" d="M823.2 360.5s-1 1-2.2.8l-1.3-.3h1.8c.7 0 1.6-.3 1.7-.5z"/>
+      <path id="path2156" d="M822.9 360.7s-1.2-1.2-2-.8c0 0 1.4-.5 2.2.7l-.2.1z"/>
+      <path id="path2158" d="M822.7 360.5s-1.3.9-2.7 0l-.1-.2h.2s1.7.7 2.6.2z"/>
+      <circle id="circle2160" cx="821.6" cy="360.3" r=".4"/>
+    </g>
+    <path id="path2164" d="M339.4 420.4s-.7 1.3-.3 2c.3.7 1.9 1.1 2 2.1.3 1 .8 1 1.5.8l1-.1s-3.1-1.7-4-4.3l-.2-.5z"/>
+    <g id="g2174" fill="#964b36" stroke="#000" stroke-width=".5">
+      <path id="path2166" stroke-width=".3" d="M438.8 395.6s5.5-7.4 10.5-5.4 8.2 2.9 8.2 2.9.1 5-2.5 5c-2.7 0-5.2-5-7.6-3.6-2.4 1.5-4.4 3.5-4.5 4.2-.2.7-6.4.9-4.1-3z"/>
+      <path id="path2168" d="M417.5 431.2s-1.5 1.6-.8 2c.7.4 2 0 2-.6s-.9-1.6-1.2-1.4z"/>
+      <path id="path2170" d="M416.3 432.8s-2.9-1.7-5.1 2.2c-2.3 3.9-4.2 10.2-5.5 11-1.3.8 12.8-6.2 13-9.1 0 0 1-3.8-.6-3.8-1.4.1-1.5.3-1.8-.4z"/>
+      <path id="path2172" stroke-width=".3" d="M416.7 433.2s-3 .7-3.6 4.9c-.6 4.2-4.7 6.3-5 6.5m49.4-51.6s-4.5 1.6-3.7 4.7"/>
+    </g>
+    <path id="path2176" fill="#fff200" stroke="#000" stroke-width=".3" d="M423.1 402.1s.1-10.6 8.8-10.1c1.7.1.9 2 .9 2s1.9-1.3 2.7.8c0 0 2.8-1.2 3 1.5 0 0 3-.4 2.7 2 0 0 2-.4 2 1.3 0 0 2.3-1 2 1.4 0 0 2.6-1.7 2.2 1.4 0 0 2.7-1.8 3.6 1.3 1 3-2.7 9.7-6.2 11.4"/>
+    <path id="path2178" d="M447.2 402.8s1.2 8.3-3.5 11.3l.2.2c4.8-3 3.6-11.5 3.6-11.6h-.3zm-5.6 9l.2.2c3-2.9 3.6-10.6 3.6-11h-.3c0 .1-.6 8-3.5 10.8zm-2.8-1.9h.3c.4-4.7 4.2-10.2 4.2-10.2l-.3-.2s-3.8 5.6-4.2 10.4zm-2.1-1.4h.3c.5-5.7 4.3-10 4.3-10l-.2-.3s-3.9 4.5-4.4 10.3zm-3-1.9h.2c.3-6.8 4.8-10.1 4.9-10.2l-.2-.2s-4.7 3.4-5 10.4zm-2.9-1.7h.4c-.3-6.2 4.5-10 4.5-10l-.1-.2s-5 3.9-4.8 10.2zm-5-2.2h.3a10.2 10.2 0 016.9-8.5l-.1-.3a10.5 10.5 0 00-7 8.8z"/>
+    <path id="path2180" fill="#00a651" stroke="#000" stroke-width=".3" d="M418 415s-1.5-9.8 4.4-13c0 0 1-.2 1.7 1.2 0 0 3.1-1.3 3.2 1.3 0 0 1.5-1.2 2 .5 0 0 3.3-.7 2.6 1.8 0 0 2.8-.8 2.6 1.6 0 0 2.8-1 2.3 1 0 0 3-.6 2.3 1.8 0 0 3.6-.4 2.5 2.2 0 0 2.7-.7 2.1 1.4 0 0 3.6.6 2 2.8a24 24 0 01-9.8 7.2"/>
+    <path id="path2182" fill="#00a651" stroke="#000" stroke-width=".3" d="M414.8 425s-2.4-8.3 2.2-10.4c0 0 .8-.2 1 .6 0 0 1-1.3 1.8-.1 0 0 2.3-1.1 2.8.6 0 0 1.6-1.3 2.4.6 0 0 1.4-.6 1.4 1 0 0 2-1 2 1 0 0 2-.8 1.6 1.3 0 0 3 .4 2 1.8 0 0 2.7.7 1.7 1.8 0 0 2.9-.3 1.3 1.6 0 0 2.2-.7 1 1.7-1.3 2.4-5.1 5-7.9 5.4"/>
+    <path id="path2184" fill="#00a651" stroke="#000" stroke-width=".3" d="M417.7 431.4s-5.1-5-2.7-6.4c0 0 1 .3 1.4 1.4 0 0 1.3-1.8 2 0 0 0 1.8-.6 1.8.7l1.5 1s1.7 0 1.4 1c0 0 1.9-.2 1.8.8 0 0 1.6 0 1.5 1.1 0 0 2.7.5 1.5 1.9 0 0-4.9 1-8.3-.4 0 0-1.8-.6-2-1z"/>
+    <path id="path2186" d="M435.2 423.2l.1.3c3-1.2 8.3-8.3 8.5-8.7l-.2-.1s-5.4 7.4-8.4 8.5zm-1.7-1.3l.1.3a47 47 0 008.1-8.7l-.2-.2s-5.4 7.2-8 8.6zm-1.5-.6l.2.2c2.8-2.3 6.8-10 7-10.2l-.3-.2c0 .1-4.2 8-7 10.2zm-1.4-1.8h.3c.6-3.8 6-9.8 6-10l-.2-.1c-.2.2-5.5 6.2-6 10.1zm-10.8-4.6h.3c-.5-5.5 4-11.5 4.1-11.6l-.2-.2s-4.7 6.2-4.2 11.8zm2.8.4h.3c-.7-4.4 4.4-10.6 4.5-10.7l-.2-.2c-.3.3-5.3 6.4-4.6 11zm4.4 1.6h.3c0-5 4.7-10 4.7-10l-.2-.2s-4.9 5.1-4.8 10.2zm-10.5 9h.3c-1.7-4.6 1.3-10.5 1.3-10.6l-.3-.1s-3 6-1.3 10.8zm2 .4l.3-.1c-1.5-4.7 1-11 1.1-11l-.3-.2s-2.6 6.5-1 11.3zm8.3 4.7l.1.3c5-1.8 8.2-6.3 8.3-6.4l-.3-.1s-3.2 4.4-8 6.2zm-1-1.1l.1.3c4-1.8 7.7-6.8 7.7-6.8l-.2-.2s-3.7 5-7.6 6.7zm-1-.4l.2.3c3.1-2.3 7-8 7.1-8l-.2-.2s-4 5.7-7 8zm-4.9-2.9h.3a21 21 0 012.6-10.8l-.3-.2s-3.3 6-2.6 11zm2.2 1.4l.2.2c3.2-2.9 4.2-10.6 4.3-11h-.3c0 .1-1.1 8-4.2 10.8z"/>
+    <path id="path2188" d="M424.3 428.9l.1.3c4.5-3.3 5.7-9.6 5.8-9.6h-.3s-1.2 6.1-5.6 9.3zm.5-13.4v.8l-3.4 11 .3.1 3.4-11c-.5-5.4 4.2-11.3 4.2-11.3l-.2-.2s-4.3 5.4-4.3 10.6z"/>
+    <path id="path2190" d="M428.3 418.1c0 .2-1 7.8-5.1 10.6l.1.2c4.2-2.9 5.3-10.3 5.3-10.6 1.8-2.2 6-9.8 6-9.8l-.2-.2c0 .1-4.2 7.6-6 9.8zm-12 8.3c0 .2.7 4 1.5 5.3l.2-.2c-.7-1.3-1.4-5-1.4-5.1h-.3zm2 0c0 2 0 5-.2 5.3h.3c.2-.3.1-4.4.1-5.2h-.3z"/>
+    <path id="path2192" d="M418.4 431.8l.3.2c1.3-2.9 1.7-4.9 1.7-4.9h-.3s-.4 2-1.7 4.7z"/>
+    <path id="path2194" d="M418.7 432l.1.2a6.6 6.6 0 003-4h-.3s-.5 2.4-2.8 3.7zm.4.1v.3c2.4-.2 4-3.1 4.1-3.2l-.2-.2s-1.7 3-3.9 3.1z"/>
+    <path id="path2196" d="M419.4 432.3v.3a7.6 7.6 0 005.6-2.6l-.2-.2s-1.8 2.3-5.4 2.5z"/>
+    <path id="path2198" d="M419.6 432.4v.3c.2 0 5 1 6.7-1.5l-.2-.2c-1.6 2.4-6.4 1.4-6.5 1.4z"/>
+    <path id="path2200" fill="none" stroke="#000" stroke-width="2.8" d="M310.2 254v136.4c0 44.6 80.6 71.1 80.6 71.1s80.6-26.5 80.6-71V254z"/>
+  </g>
+  <g id="g2864" transform="scale(.5)">
+    <path id="path2842" fill="#012169" d="M0 0h512v512H0z"/>
+    <path id="path2844" fill="#FFF" d="M512 0v64L322 256l190 187v69h-67L254 324 68 512H0v-68l186-187L0 74V0h62l192 188L440 0z"/>
+    <path id="path2846" fill="#C8102E" d="M184 324l11 34L42 512H0v-3zm124-12l54 8 150 147v45zM512 0L320 196l-4-44L466 0zM0 1l193 189-59-8L0 49z"/>
+    <path id="path2848" fill="#FFF" d="M176 0v512h160V0zM0 176v160h512V176z"/>
+    <path id="path2850" fill="#C8102E" d="M0 208v96h512v-96zM208 0v512h96V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fk.svg
new file mode 100644
index 0000000..12a34c4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fk.svg
@@ -0,0 +1,93 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-fk" viewBox="0 0 512 512">
+  <defs id="defs784">
+    <linearGradient id="b" x1="444.4" x2="470.9" y1="592.2" y2="577.1" gradientTransform="scale(1.003 .997)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="f" x1="851.8" x2="646.2" y1="369.9" y2="369.9" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="c" x1="458.2" x2="520.5" y1="562.5" y2="552.8" gradientTransform="scale(.936 1.068)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="d" x1="472.4" x2="445.3" y1="578.7" y2="580.2" gradientTransform="scale(1.003 .997)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="e" x1="518" x2="456.4" y1="553.7" y2="558.1" gradientTransform="scale(.936 1.068)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="a">
+      <stop id="stop770" offset="0" stop-color="#a43907"/>
+      <stop id="stop772" offset="1" stop-color="#fff"/>
+    </linearGradient>
+    <linearGradient id="g" x1="388.5" x2="677.4" y1="507.2" y2="508.8" gradientTransform="scale(.823 1.215)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="h" x1="579.8" x2="556.8" y1="504.9" y2="505.9" gradientTransform="scale(.835 1.198)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="i" x1="581.4" x2="558.9" y1="512" y2="514.3" gradientTransform="scale(.823 1.215)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="j" x1="552" x2="589.8" y1="517.9" y2="503.9" gradientTransform="scale(.835 1.198)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="linearGradient1802" x1="444.4" x2="470.9" y1="592.2" y2="577.1" gradientTransform="scale(1.003 .997)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  </defs>
+  <path id="path786" fill="#012169" d="M0 0h512v512H0z"/>
+  <g id="g988" transform="matrix(.815 0 0 .815 91.4 2.4)">
+    <path id="path798" fill="url(#linearGradient1802)" fill-rule="evenodd" stroke="#fff" stroke-width="10" d="M671 321.6a13.2 13.2 0 00-2 .1c-3.4.6-8.8 11.7-11.7 18.2-4.7 5.6-7.1 10-9 13.2-.8 1.3-2 2.7-1.6 4.4-7 1.7-7.4 7.7-7.4 10 0 2.6.8 3.8.8 3.8l4.2 7.8v.1c4.5 9.3 11 21.7 14.8 22.7 5.2 1.5 18.8-3.5 29-12.2a164 164 0 0062 12.6c23.8 0 45.2-5.7 61.9-12.6 10.2 8.7 23.7 13.7 29 12.2 3.7-1 10.3-13.5 14.8-22.7l4.1-7.9s.8-1.2.8-3.7c0-2.3-.4-8.4-7.4-10 .4-1.7-.7-3.2-1.5-4.5-2-3.3-4.4-7.7-9-13.4-3-6.5-8.4-17.4-11.7-18-4.8-.8-15 1.6-15 2.5v.5L795.4 344c0 .5 1 14.5 5 27a147 147 0 01-50.5 8.5c-19.8 0-36.7-3.5-50.4-8.6a136 136 0 005-27L684 324.7v-.5c0-.7-7.9-2.6-13-2.6zm5.2 24c2.6 0 5.3 2.2 7.6 4.5l-.2 1.4a78.7 78.7 0 01-3.2 10.6 85.8 85.8 0 01-14.3-10.3c2.2-2.4 5.8-5.6 9.6-6.1h.5zm147.6 0h.5c3.8.6 7.4 3.8 9.7 6.2a85.6 85.6 0 01-14.4 10.3 78.3 78.3 0 01-3.2-10.6 17 17 0 01-.2-1.4c2.2-2.4 5-4.5 7.6-4.5zm-166 27.4c2.7 2.1 6.3 4.5 10.6 7a12.3 12.3 0 01-3.8 1.7c-1.8.4-3.6.3-5.5-.1a17.5 17.5 0 01-1.2-5.7 70.3 70.3 0 01-.1-2.9zm184.5 0l-.2 2.9a17.6 17.6 0 01-1.2 5.7 12 12 0 01-9.3-1.6c4.4-2.5 8-4.9 10.7-7z" transform="translate(-509.2 18) scale(1.168)"/>
+    <path id="path800" fill="url(#b)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M445.6 595.5s5.7-8.8 10.3-8.1c4.7.6 9.1 6.2 9.4 6.5a41 41 0 006.9-7.5c-.3-.3-7.2-16.5-11-17.2a24.7 24.7 0 00-11.8 1.8z" transform="matrix(-1.477 0 0 1.545 953.6 -485.4)"/>
+    <path id="path802" fill="url(#c)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M433.1 586.1c0 .6 2 23.8 10 31.9 8 8.1 21.3 13.1 26 11.9 4.6-1.3 15.3-24.7 15.3-24.7s-11.3 11.2-19.7 9.3c-8.4-1.8-13.4-15.9-15-22.8-1.6-6.8-.3-20.3-.3-20.3L433 586.1z" transform="matrix(-1.477 0 0 1.545 953.6 -485.4)"/>
+    <path id="path804" fill="url(#d)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M445.6 595.5s5.7-8.8 10.3-8.1c4.7.6 9.1 6.2 9.4 6.5a41 41 0 006.9-7.5c-.3-.3-7.2-16.5-11-17.2a24.7 24.7 0 00-11.8 1.8z" transform="matrix(1.477 0 0 1.545 -219.8 -485.4)"/>
+    <path id="path806" fill="url(#e)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M433.1 586.1c0 .6 2 23.8 10 31.9 8 8.1 21.3 13.1 26 11.9 4.6-1.3 15.3-24.7 15.3-24.7s-11.3 11.2-19.7 9.3c-8.4-1.8-13.4-15.9-15-22.8-1.6-6.8-.3-20.3-.3-20.3L433 586.1z" transform="matrix(1.477 0 0 1.545 -219.8 -485.4)"/>
+    <path id="path808" fill="url(#f)" fill-rule="evenodd" stroke="#000" stroke-width="1.5" d="M656.4 338.6c-4.7 5.7-7.2 10.2-9.2 13.5-2 3.3-.8 8 3.7 14.5 5 7 45.4 34.7 98.1 34.7 52.7 0 93.1-27.6 98-34.7 4.6-6.6 5.8-11.2 3.8-14.5-2-3.3-4.5-7.8-9.2-13.5 0 8.6-33.5 40-92.6 40-59.1 0-92.6-31.4-92.6-40z" transform="translate(-508 19.2) scale(1.168)"/>
+    <path id="path810" fill="url(#g)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M467.8 625.5l7.2-11.9-3.6-2.5c-1 3-5.1 4-5.8 7.8-.7 3.8 2.8 7.5 2.2 6.6z" transform="matrix(1.477 0 0 1.545 -218.8 -484)"/>
+    <path id="path812" fill="url(#h)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M475 623s1.3-5.3-2.8-6c-4-.6-6.2 3-5.6 1.6.6-1.6 3-3.1 3.4-8.4.3-5.3-.3-8.2-.3-8.2s1.6-6.8 8.1-5.9c6.6 1 6.9 6 6.9 7.8 0 1.8-.6 2.8-.6 2.8z" transform="matrix(1.477 0 0 1.545 -219.8 -485.4)"/>
+    <path id="path814" d="M448.3 446.3l2 3.5 1.3-.8-.9-2.3.2-.5 2.3-1.4 6 10.6v.5l-1.3.9.6 1 5.7-3.7-.5-1-1.3.8-.5-.1-6-10.6 2.2-1.5h.5l1.5 2 1.3-.9-2-3.4-11.1 7zm-14.3 8.2l.5 1 1.2-.5.5.1 5.2 10.8-.1.5-1.2.7.5 1 5.7-3-.5-1-1.2.5-.5-.1-2.5-5.1 5.8-3 2.5 5-.1.5-1.2.8.5 1 5.7-3-.5-1-1.2.5-.5-.2-5.2-10.7.1-.5 1.2-.7-.5-1-5.7 3 .5 1 1.2-.6.5.2 2.2 4.4-5.8 3-2.2-4.4.2-.5 1.1-.7-.5-1zm-3.3 9.2l.3 1 1.6-.4.5.2 1.3 4.5-1.2.4c-3.3 1-6-.6-7.1-4.5-1.1-3.8.2-6.7 3.4-7.7a4.8 4.8 0 011.9-.2l.4.3 1.1 2.1 1.6-.5-1-3.6c-1.8 0-3.4.2-4.8.6-4.8 1.6-7 5.5-5.8 10 1.3 4.5 5.3 6.6 9.8 5.2a15.4 15.4 0 004.6-2.4l-1.5-5 .3-.4 1.2-.5-.3-1.1zm-13.3 12.5l6.4-2-.3-1.1-1.5.3-.4-.2-3.5-11.6.2-.4 1.4-.6-.3-1-6.4 2 .3 1 1.5-.3.4.2 3.5 11.6-.3.4-1.3.6.3 1zm-34.8 5.7l11.3-1-.4-4.1-1.4.1-.2 2.4-.2.4-4.9.5-.5-6 2.8-.2.3.3.3 1.6h1.3l-.5-5.3h-1.2v1.7l-.3.4-2.8.2-.4-5.4 4.2-.3.3.2.4 2 1.5-.1-.3-3.6-10.6 1v1h1.4l.3.4 1 12-.2.4-1.3.2v1.2zm-16.9-15v1.1l1.3.1.3.4.2 12-.3.4-1.2.2v1h6V481l-1.3-.1-.4-.4v-5.7l6-.1.2 5.7-.3.4-1.3.1v1.1h6v-1.2h-1.3l-.3-.4-.2-12.1.3-.4 1.2-.1v-1.1h-6v1.2l1.3.1.4.3v5l-6 .1-.2-5 .4-.3 1.2-.1v-1.1zm-12.8-.4v4h1.4l.4-2.4.3-.3h2.5v12.4l-.4.4h-1.4v1.2h6.3v-1l-1.4-.2-.3-.4.1-12.3h2.5l.4.3.3 2.5h1.4v-4zm-19.5 12.9l11 .5.2-4-1.4-.1-.4 2.4-.3.3-4.8-.2.3-6 2.7.2.2.3.2 1.7h1.2l.2-5.2h-1.2l-.3 1.5-.3.3H338l.3-5.5 4 .2.3.3.3 2 1.4.1.1-3.6-10.3-.5v1.1l1.2.2.3.4-.5 12-.4.4h-1.3v1.1zm-25.3-6.6l5.8 2 .3-1-1.2-.6-.2-.5 3.5-11.5.4-.2 1.4.3.3-1-5.9-2-.3 1 1.2.6.3.4-3.6 11.5-.4.3-1.3-.4zm-10.5-4a11.4 11.4 0 003.6 2c3.2 1 5.8-.2 6.6-2.7a4.2 4.2 0 00-.8-3.9c-1-1.2-1.9-1.9-2.3-2.5-.9-1-1.2-1.9-1-2.9.4-1.1 1.6-1.7 3-1.2.7.2 1 .4 1.4.8l.1.4-.3 2.3 1.4.5 1-3.5a11 11 0 00-3.4-2c-2.8-1-5.2.3-6 2.7a4.3 4.3 0 00.5 3.4c.7 1.1 1.5 1.8 2.1 2.5 1.2 1.2 1.6 2.3 1.3 3.4-.4 1.2-1.6 1.8-3.2 1.2a5.5 5.5 0 01-1.6-.9l-.2-.4.5-2.7-1.5-.5zm-13.3-5.6l10 5 1.7-3.7-1.2-.6-1.3 2-.4.2-4.4-2.2 2.5-5.3 2.4 1.2.1.4-.5 1.6 1.1.6 2.2-4.8-1.1-.5-.9 1.3-.4.2-2.4-1.2 2.2-4.9 3.7 1.9.2.4-.6 1.9 1.3.6 1.5-3.2-9.4-4.7-.4 1 1 .7.2.5-5 10.9-.4.1-1.2-.4-.4 1zm-1.6-18.2l-5-3.5-.6 1 1 .8v.5l-6.3 10-.5.1-1-.6-.7 1 5 3.4c1.8 1.2 3.3 1.8 4.9 1.6 2.1-.2 4-1.4 5.4-3.7 2.5-4 1.8-7.9-2.2-10.6zm-2.1 0l1 .8c2.7 1.8 3 4.5.7 8s-4.7 4.4-7.4 2.5l-1-.6 6.7-10.6zm40 15.8l-.2 1 1.2.4.2.4-2.4 11.8-.4.3-1.2-.1-.2 1 5.7 1.3.2-1-1.2-.5-.3-.4 1-5 .4.1c2 .5 2.4 1.5 2.6 3.8 0 1.1 0 2.1.9 3.3.4.5 1 1 2 1.1a13.8 13.8 0 002 .3l.2-1-.2-.1c-1.4-.3-2-.8-2.1-2.1-.1-1.2 0-2.4-.5-3.6a3.5 3.5 0 00-1.8-1.8c2.4 0 3.8-1 4.2-3 .5-2.5-.8-4.2-4-4.9l-6-1.3zm4 2.1l.8.2c2 .5 2.8 1.7 2.4 3.5-.4 2.1-1.6 2.8-3.8 2.3-.2 0-.4 0-.7-.2l1.2-5.8zm74 1.3l.2 1.1h1.3l.4.2 1.9 12-.3.3-1.3.4.2 1 6.2-1-.1-1.1-1.4.1-.4-.3-.8-5h.4c2.2-.5 3 .4 4 2.4.5 1 .8 2 2.1 2.7.6.3 1.5.5 2.5.3a16.5 16.5 0 002.2-.6l-.2-1h-.3c-1.5.3-2.2 0-2.9-1.1-.6-1-1-2.2-1.8-3.1-.6-.6-1.4-1-2.5-1 2.4-.9 3.5-2.4 3.2-4.5-.4-2.5-2.4-3.5-5.8-3zm4.8.5l1-.1c2.1-.4 3.4.4 3.7 2.3.3 2-.6 3.2-3 3.6h-.8l-1-5.8z"/>
+    <path id="path816" fill="url(#i)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M467.8 625.5l7.2-11.9-3.6-2.5c-1 3-5.1 4-5.8 7.8-.7 3.8 2.8 7.5 2.2 6.6z" transform="matrix(-1.477 0 0 1.545 952.7 -484)"/>
+    <path id="path818" fill="url(#j)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M475 623s1.3-5.3-2.8-6c-4-.6-6.2 3-5.6 1.6.6-1.6 3-3.1 3.4-8.4.3-5.3-.3-8.2-.3-8.2s1.6-6.8 8.1-5.9c6.6 1 6.9 6 6.9 7.8 0 1.8-.6 2.8-.6 2.8z" transform="matrix(-1.477 0 0 1.545 953.6 -485.4)"/>
+    <path id="path820" fill="#0072c4" fill-rule="evenodd" stroke="#fff" stroke-width="3.9" d="M396.9 606s-75.5-21.4-75-102.2l.5-107h148.9l.5 106.4c.5 80.8-75 102.7-75 102.7z" transform="matrix(1.477 0 0 1.545 -219.3 -481.5)"/>
+    <g id="g834" fill-rule="evenodd">
+      <path id="path822" fill="#bcbcbc" d="M272.3 169c.2 0 1.5-1.3 2.8-2.4 1.7-1 3.3-2.1 5-3 1.4-.7 4-1.3 5.1-1.9a12.5 12.5 0 004.2-3.3c.2-2.2.5-3.8.5-6.3l5-2.5c2.3-.6 2.8-1.5 5.1-1.9 1.5-.5 3.9-.5 6-.5 2.3 0 3.7 1.7 5.8 2 2.5 1 3.6 1.7 5.6 3.4 1 1.4 1.7 2.6 3.6 3.6 1.5.8 2.9 2 4.6 2.4 2 1.1 3.6 1.8 5.1 3.4 1.4 1 2 2.4 3.2 3.4a36.1 36.1 0 004.7 3.4c2 1.3 4 2.3 7.1 2 1.7 0 3.5-.3 5.5 0 2.3 0 4.5 0 6.5.6 2.4 0 4.3.3 6.5.5 2 .4 4.1.4 6.4.4 2 .6 4.2.5 6.5.5h13c2.3 0 4.7.1 6.4.5a51 51 0 006.4-.5c2.6 0 4.5-.4 7-.5h7.8c2 .6 4.6 1 6 2 1.9.5 2.8 1.4 4.6 2a13 13 0 014.7 3.3 24.7 24.7 0 013.7 5.3c1.2 1.9 1.7 4 2.7 6.3.5 2.2 1 4.3 1 6.7.4 2.1.4 4.4.4 6.8-.5 2.2-.6 4.6-1.4 6.7 0 2.4-.5 4.5-.9 6.3-.4 2-.9 3.3-1 5.8v6.8c0 2.2-.6 3.8-.8 6.2a71 71 0 00-3.3 7.3 14.7 14.7 0 00-3.7 3.8c-1 .7-1.5 1.6-1.4 2 1.9.6 1.4 1.9 1.4 4.3.3 1.9.4 4.2 1 6.3.1 2.3.6 3.7 1.3 5.3.8 1 1 .5-.9.5-1.3 1-2.7.5-3.2-1.5a12 12 0 01-1.9-5.3c-.2-2.2-.6-4.4-1.3-5.8-.3-2.7-1-2.7-3.7-2.9-1.3-1.1-3-1.4-5.6-1.4-2.5 0-2.7-.3-2.8 2.4v6.8c-.4 2-1.3 3.5-1.8 5.3-1.4 1-2 2.7-3.7 3.8-.8 2.2-1.9 2.6-4.1 3l-2.8-3.4c1.3-2.2 2.4-2.5 3.2-4.9 1-1.9 1.6-3.1 2.3-4.8-1-1.5-1.8-2.2-2.7-4.3a26.3 26.3 0 01-2.4-5.3c-1.5-.6-3.9-.7-5-1.5-2.3-.5-2.9 2-5.6 2h-6.4c-2.9 0-3.6 1.5-6 1.4-.8.2-2.5-.1-5.1 0-2 .7-4.3.5-6.5.5-2.3 0-4.2-.6-6-1-2.1-.6-4.2-1.2-6.4-1.4-2.8 0-3.8.2-5.6 1.4-1.4.9-3.5 2.8-5 3.9-.7 1.6-1 4.3-2 6.2-.4 2-1.2 3.1-1.8 4.9a18.4 18.4 0 00-1.3 5.8c-.2 3.2-.9 2.8-2.8 1.9-.8-1.4-2-2.8-2.8-4.4.4-2.4 1-3.6 1-6.2-.5-2-1.5-1.8-2.8-.5 0 2.5 0 4.5-1 5.8a6 6 0 01-2.7 3.8c-.7 1.8-2.2 2.7-3.7 3.4-.2 0 0-.6 0-2-1.1-2.1 0-4 0-6.7 0-2.4-.2-4 .5-6.2 0-2.4-1-4.6-1.4-6.3-.9-1.8-1.4-2.7-3.7-3.4-1.7-.7-4-1.5-5.1-3a9.6 9.6 0 00-4.2-3.3c-2-.7-3.1-1.5-4.6-2.4-1.4-1.6-2.6-2.2-3.2-4.3-1-1.5-1.1-4.3-1.8-6.3a21.7 21.7 0 00-1.4-5.8 24.3 24.3 0 00-1.4-5.8c-.3-2-.8-4-1.4-6.3 0-2.3 0-4.6-.5-6.7v-6.8c-.3-2-.4-4.8-.9-6.3 0-2.6-.3-4-1-5.8-1-1.7-1-2.4-2.7-2.9-1.2 1.5-3.1 2.2-5.5 2.5-1.7-.4-4.1-.7-6-1.5-1.9-.4-3.1-1.2-4.6-2a43.2 43.2 0 00-2.8-3.8c-.3-2.5-.8-3.8-1-6.3 0-1.8.1-.8 2-3.3z"/>
+      <path id="path824" fill="#fefefe" d="M299.6 186.4l.4-.4c-.8.8-.5.4 1.3-.3 1-.6 2.9-1.7 3.6-2.4.8-.4 2.2-1 3-1.7.8-1 1.7-1.8 2.9-2.7 1.2-1.1 2.4-1.5 3.9-2.4 1.8-.2 2.5-1 4.2-.4 1.6.4 2.3.4 3.6-1 1.3-.8 2.8-1.7 3.3-3V170c0 2.2-.5 3-2 3.7-1 1.3-2.4 2.6-3 3.8-1 1.5-1.2 2.3-2.2 3-.9 1.1-2.3 1.7-2.6 3.5.4.8 0 1.2 1 1.3.9.8 1.9.5 3.2 0a14.2 14.2 0 002.6-4c1.1-1.6 1.7-2.3 2.3-3.5 1.2-.8 1.9-1.4 2.3-2.7 1.3-.8 2.4-1.6 3.3-2.4 1-.6 1.5-1.1 2.9-1.4a6 6 0 01-1 3.8c-.3 1.9-.2 2.8.4 4 .9.7.7 1.2 1.3 2.5.5-1.2.8-3.4 1-4.8v-.3c0 1.4 0 3.4-.4 4.4 0 2 .5 2.9 1 4.4.5.8 1 1.3 1.6 1.7 0-2 .6-3.2.7-5 .4 1.3.3 3.2.6 4.7.1 1.6.7 2.8 1.3 4.1.8.4 1 1.8 1.3.7.8-2.4.8-5 1.3-7.5.1-1.3.2-3.2.7-4.1l-.7 4c.1-1.2.2-3 .7-4v-.4a39 39 0 01.7 5.5c0 1.5-.1 3 .3 4.4 1-.5 1.7-1.7 2.3-3a18.2 18.2 0 012.6-3.8l-2.6 3.7a18.2 18.2 0 012.6-3.7v-.3a40.3 40.3 0 00-.3 4.7c0 1.6 0 3.4.3 4.5.4 1.8.9 2.1 1 4 0 1-.2 2 .3 2.5 1.4.3 1.4-.5 1.6-2.4 0-2.2.6-3.7.7-5.8 0-2.6.3.3.6 1.3a13 13 0 011 4.5c0 1-.1 1.9.3 2.4 1.3-.6 1.8-2 2.6-2.8.7-1.6 1.4-2.3 2-3.4 1.7-.3 1.6-1 1.6-3 0-1.7-.1-3.4.4-4.8a41 41 0 001.3-4.5c.6-.3 1.2.6 1.6 1.4.7 1.1.6 2.7.6 4.4.4 1.5 1 2.7 1.7 4.1a15 15 0 002.3 3.4c.3 1.1.3 3 .3 4.5 1.3-1.5 1.5-3.6 1.6-5.8-.2-1.5-.2-3.4-.6-4.8 0-1.5-.4-3-.7-4.1-1-.5-1.3-1-.3-2.4 1-.9 2.2-.5 3.9-.3.9.9 1.2 1.4 1.3 3.4 0 1.8 0 3.2.7 4.4.6 1 1.2 1.7 1.6 3.4.5.5.9 1.2 1.6.4.4-1 .7-3 1-4.1.3-1.3.9-2 1.6-2.4 0 1.9 0 3 .7 4.4.6 1.5 1 2.1 1.6 3.8.7.5.8 1.5 1.7 2 .2-1.6.3-3.4.3-5.4V185c.1-1.6.5-2.5 1-3.8 1 1.4 1 1.9 1 3.8 1-.4 1.2-1.2 1.6-2.4.7-.7 1-1 1.3.7.2 1.8.6 3.4 1 5.1.6.8 1.4 2.7 2.2 3.4a16.4 16.4 0 002 2.8c.5 1 .6 1.7 2 2 0-2.3 0-4.6-.4-6.8 0-2-.4-2.7-.6-4.5-.6-1.1-.9-2.9-.7-3.4a11 11 0 013 4.1c.7 1.7 1.4 2.8 2 4.5a20 20 0 012.5 3.4c1.2 1 1.8 2.1 3 3 .6.6 2 1 2.3.7-.1-2-.4-3.7-1-5.4a9 9 0 00-1-4.1c-1.3-1.1-2.3-1.9-3-3.4-.4-.5-.5-.8-.6-1.7a26.3 26.3 0 014.6 4.7 7 7 0 002.6 2.4c.6.8 2.5 1.7 3.9 2a5.6 5.6 0 003.3 2.1l-3.3-2a5.6 5.6 0 003.3 2v.4a13 13 0 00-2-5.5 8.8 8.8 0 00-3-3.8 9.3 9.3 0 00-3.2-3c-.9-1-2.2-2.8-3-3.4 1.5-1 3.1.6 4.6 1.3 1.3 1.4 2.5 3.2 3.3 4.1a18 18 0 003 4.5c1.4.8 2.3 1.6 3.5 2.7 2 .5 1.2-.2.7-1.7-.7-2 0-2 1.3-.7.9.7 2 1.7 3.3 2.4.5.7 1.4 1.2 2.2.7.4-.5.4-.5.4-1-.7-2.2-1.4-3.8-3-4.5-.7-1-2-2-3-3-.6-1-1.3-1.6-1.9-2.8l2 2.7c-.7-1-1.4-1.5-2-2.7h-.3c2 0 2.7.6 4.2 1.4a6.8 6.8 0 013 2.4c.6.8 1.7 1.7 2.3 2.7l3.2 2.4c1.1 1.4 1.3 2.3 1.3 4.4.7 1 .8 3 1 4.1-.2 1.9-.9.4-1-.7-.2-1.5-.8-1.4-2-1 0 2 .3 2.6 1 4.1a8 8 0 01-1.2 3.4c-.8.5-1-1-1.7-1.7 0-2-.6-2.3-2-3.4v1.4c.8 1.4 1.6 2.7 1.7 4.7a12 12 0 01.7 4.5c0 1.7 0 3.3-.4 4.8 0 1.8-.3 2.6-.3 4.4v9.6a23.3 23.3 0 00-.3 4.4l.3-4.4c-.2 1.2-.3 2.7-.3 4.4v.3c-.6-1.7-1.3-3.2-1.7-5a10.3 10.3 0 01-2.2-3.5c-.3-1.5-.4-3.2-.7-4.4-.5-1.2-1-2.5-2-1.7-.4 2.5.2 4 1 6.4.5 1.6.5 3 1 4.5.8 1.8 1.4 2 0 4-.7 1.2-1 1.5-1.3 2.8-1.2.6-1.5 1-1.6 2.4-.4-1.3-1.4-2.9-2-4.4-.6-1.7-1.3-3.4-1.6-4.8-.8-1.2-1.7-3-2.6-3.8-.9-1-2-3-2.6-4-1.3-1.5-1.6-2.4-2.7-3.1-.2-.7-.6-1.6-1.3-1 0 1.6 0 3.3.4 4.7.3 2 .9 3.1 1 5.1v3.8c-.8-2-1.7-3.6-2.3-5.5-.8-1-1.4-3-2.3-3.7-.6-1.4-1-2.5-1.7-3.4-.1-1-.6-1-1-1.7 0 1.9.7 2.6 1 4a8 8 0 01.7 4.2c-.8-2.4-1.6-5-2.6-7.2-1-1.4-2-3.2-2.6-4.5-1-1.1-2-1.2-3-2a5.9 5.9 0 01-2.2-1.7c.2 1.8.9 3 1.3 4.4.2 1.7 1 3.1 1.3 4.5-.4 2.3-1-.7-1.3-1.7-.4-2-1-3-1.7-4.1-.9-.7-1.6-1.8-2.6-2.4-1-.4-.6 0-.6 1.3 0 2.1 0 3.5.6 4.8.7 1 .7 2.3.7 4.1-.1 1.7-.4 3-.4 4.8v2.7c-.7-1.4-1.4-2.3-2-4.1-1-1.6-1.4-2.7-2.2-4.4-.7-.3-2-.6-2.6 0 .1 1.7.9 2.4 1 4.4-1.3 1.3-1.1 1.7-2-.3-.7-1.6-1.6-1.5-2.6-2.4-1.6-.2-1.1-1.3-1.6-2.8 0-1.3 0-2.6-.4-3.7-1.8 0-2.8 0-3.9 1-.5 1-.3 3 0 4.5v4.7c-.4 1.2-1 1.3-1.3 2.8-.6 1.4-.8 3-1.3 4-1.2 1.1-.7 1.2-1.3-.6v-11c0-1.8.3-2.7.3-4.4-.6-1.4-.8-1.7-3-1.7-.4.9-.2 2.5 0 3.4 0 1.7.2 3.3.4 4.5 0 1.8.2 2.9.3 4.4 0 1.8-.4 3.2-1.3 4-1.1.4-.1 1.2-1.3 1.5a15 15 0 01-3.6-2.4c-1.2-.4-2.4-.7-4.2-.7-2.2 0-2.2-.3-3-2a31.4 31.4 0 01-1.2-5.5c-.8-1.6-1-2.7-1.3-4.5a6.2 6.2 0 00-2-2.4c-.5 1.8-1 3.2-1 5.2-.4.8-.5 2.8-.6 3.7-.7-1-1-3-1.4-4.4-.6-2-1.1-3.4-3.2-2.7-2.2 0-2.3 0-2.3 2.4l2.6 4v4.8c0 2 .1 2.6-1.3 3-.5-2-1.7-4-3-5.7-.1-1.4-.5-1-1.9-1-.9 0-1.8-.2-2.3.3v3c-.8.2-1 0-1.6-.6-.6 1-.1 2.4 0 3.7-.4 1.6-1 3-1.6 3.8-.2-.5-.5-.3 0-.3-2.3-.9-4-1.4-6-2-1 0-1.9 1.1-2.5 2-1.7.5-2.4 1-4.3 1-1.7 0-2.6.3-4.2.3-1.2.3-2.7.4-4.3.4-.8-.3-2.4-.3-2.9-.7.7-1 1.4-1.5 2-3a20 20 0 002.6-2.5c.8-.6 1.8-1.9 2.6-2.7.5-1.7 1.2-2 2.3-2.7 2 0 2.3.7 4.2 1 1.9.7 3 1 4-.4 1.5-.6 2.8-1.7 4.5-2l3.3-2c1.4-.9 2-1.8 3.2-2.8.4-1.4 1.4-2.5 1-4-1.8-.5-2.9-.4-4 .6-1.3 1.2-1.6 1.7-3.2 2.7-1.3.4-2 1-3.6 1.4-1.3.5-3 .3-4.5.3s-3.4-.1-4.3.4c1.5-1 3.2-2 4.6-2.4 1.3-.9 1.8-1.3 3.6-1.4.8-1 1.7-1 2-2.7.5-2-1.3-1.4-2.7-.7-1.3.3-2.8 1.2-3.9 1.7a14.3 14.3 0 01-4.2.7c-.4-.6.3-1.1.6-2 1.5-.6 1.8-.8 2-2.4-1.7.2-2.4.8-4 1-1.6.4-3.3.6-5.2.7h-4.5c-1.6 0-2.5-.4-4.3-.4-1.3-.7-1.3-1-1.3-3 1-1.2 2-1 4-1l3.5-1.8c1.2-.2 2-.7 1.7-1.3h-4.6c-1.8-.8 0-1.1 1-1.7 1.6 0 3.2 0 4.2.6 2 0 2.7-.7 4.3-2 1.2-1 1.8-1.7 3.2-2.4 1-1.1 2-1.7 2.6-2.7 1.4-1.3 2.3-2 3-3.1.8-.5 1.4-1 1-1.7-2.1.2-3 1-4.3 2a10 10 0 01-2.6 2 8.2 8.2 0 01-4.2 1.5c-1.7 0-3-.3-4.6-.4-1.8-.2-.2-.6.3-1.4.7-.4 1.2-1.5.7-2.3-1.4-.5-3-.4-4.6-.4h-4.6c-1.7 0-2.4-.4-3.6-1-.3-1 0-.7 1.3-.7a18 18 0 004.3-.7c1.5-.4 1.7-1 2-2.7-1.6 0-3.3 0-4.3-.3zm-28.2-7.8c-.3-2.5-.9-3.8-1-6.3 0-1.8.1-.8 1.9-3.3.2 0 1.5-1.3 2.8-2.4 1.7-1 3.3-2.1 5-3 1.3-.7 4-1.3 5.1-1.9a12.5 12.5 0 004.2-3.3c.1-2.2.4-3.8.4-6.3l5.1-2.5c2.3-.6 2.8-1.5 5.1-1.9 1.5-.5 3.9-.5 6-.5 2.3 0 3.7 1.7 5.8 2 2.5 1 3.6 1.7 5.5 3.4 1.1 1.4 1.8 2.6 3.7 3.6 1.5.8 2.9 2 4.6 2.4 0 1.8.4 1.5-.8 1.5-.2 1.8-.6 1.7-2.3 1.7a8 8 0 01-3-2.7c.7-1.8.3 1.4 0 2-.8.7-1.3 1.4-2.2.7-.6-1.7-1-2.8-1-4.8-.3-2.1-.9-.6-1.3.3-.5 1.8-.3 2.4.3 3.8-1.7 0-3-.2-4.2-.3-1.2-.3-2.6 0-4 .6-1.7 1.1-1.1 1.1-.3 2.4 1.5.5 2.6 1.3 4 2 1.4-.2 3-.6 4.5-1 1.6-.5 3-.1 4.6 0 .8.5 1.8.6 2.3 1 0 1.1 0 2.2-.4 2.8-.6.5-1.3 1.7-2.3 2a16.1 16.1 0 01-4.5 1.8c-2 0-2.8.5-4.3 1.3-.2 1.8-.7 2.2-2.3 2.8a10.3 10.3 0 01-4.5 1c-1 0-1.9.1-2.3-.4a12.8 12.8 0 002.6-4c.3-.7.9-1.2.3-1.8-1.9.1-2.4.1-2.6 2-.2 1.9-.9 2.2-2.3 2.8.4-1.6.5-3 1-4.4a25 25 0 01-4.2.3c-1 .7-1.4.9-1 2-1.3.5-3 .2-4.6 0-1.4 0-.6-.6-1.6-1.3-.7-1.3-1.4-1.6-3-1.7-.7 1-2 1.3-2.9 2-1.4.5-2.3.1-3.6-.6-1.6 0-1.4.5-1 1.7.7.4 0 .9 1 1 1 .8 1.8 1 3.6 1 1.4-.3 3-.3 4.6-.3 1.6 0 1.3.4 1.3 2-1 .8-2.6.7-4.3.7a16.6 16.6 0 01-3.9-1c-1.5-.1-2.7-.4-3.9 0-.5.6-2 .8-.3 1 .7.7 4.5.3 4.7 1.5 1 1 .7 2.3-.8 2.3a2.2 2.2 0 00-2.3 0c-1 .2-2.4 0-4.3.2 2.5.2-1.8-2.7-2.7-3.9z"/>
+      <path id="path826" fill="#bcbcbc" d="M281.7 167.3l-2 1.3c-1.4.8-3 2-3.9 2.7-.7.6-.7 1-1.6 1 1.5-.2 2.2-.6 3.6-1.3 1.7-.2 3.3-.6 4.2-1.4.9-.3 0-1.6-.3-2.4zm15-16.1c.2 0 .6 1 1.3 1.7.5 1.3 1 2.2 1 3.8.4-1.7 1-3 1.3-4.8-.5-1-.5-1.3-2-1.4 0 1 .2.3-1.6.7z"/>
+      <path id="path828" fill="#c4c4c2" stroke="#000" stroke-width=".9" d="M349.4 417.7c-.5 0 .8-.5 1.3-.6.4-.8.6-1.3 1.3-1.8 1.1 0 1.7.4 2.2 1.1 1 .3 1.3.7 2.4.9.5.4 1 .4 0 .7-.6.3-1.5.4-2.6.4a7.2 7.2 0 00-2.6.7c-1.5 0-1.3 0-2-1.4z" transform="matrix(1.477 0 0 1.545 -229.5 -480)"/>
+      <path id="path830" fill="#bcbcbc" d="M302.6 151.5v.4c0-1 0-.5.3 1.3.5 1.2.7 2.4.7 4.2a6.7 6.7 0 002-3.1c0-2.7-.5-2.6-3-2.8zm12 39.3h.4c-1 0-.4 0 1.3-1 1.1-.8 2-2 3.6-2.4a13 13 0 014.2-2.4c.8-.4 1.5-1 2.3-.4-.2 1.7-.5 2.4-2 3.1-.7 1-1.8 1.6-2.9 2-1 .5-2.2.6-2.6 1.8-1.8.8-2 .6-4.2-.7zm6.3 9.9c.5-.5 2.6-2.6 3.6-3.4a15 15 0 013.2-3.4c1-1.5 2.2-2.5 3-3.8l2.6-3.4c0 1.5-.2 3.5.3 4.4a7 7 0 01-1 4.1c-.7 1.2-1.3 2-3 2.8-1.4.8-2.3 1-3.5 2a26 26 0 01-3 1.7c-.9.4-.5.3-2.2-1zm-10.2 7.8h.4c-1 0-.5.1 1.3-1 1.4-1.4 2.5-2 4.2-2.7a10.3 10.3 0 004-1c.7-.2 1.3-.7 1.9 0 1 1.4 1.3 1.8-.3 2.7a9.4 9.4 0 01-3.3 1.7c-.8.7-2.4.7-4 1-1.2 0-2 .2-2.5-.7l2.6.7c-1.3 0-2 .2-4.3-.7zm14 0v-.3c0 1 0 .5.7-1.4 1.3-1.9 1.7-3 3.3-3.4.7-1 2-1.2 3.6-1.7.6 1 .1 2.2 0 3.4-.4 1.3-1.6 2.2-2.3 3.1-1 .7-1.4 1.4-3 1.7-1.2 0-.5 0-2.2-1.4z"/>
+      <path id="path832" d="M292.8 164.2c0 .9-.7 1.7-1.6 1.7-1 0-1.7-.8-1.7-1.7 0-1 .8-1.7 1.7-1.7.9 0 1.6.7 1.6 1.7z"/>
+    </g>
+    <g id="g840" fill="#005120" fill-rule="evenodd" stroke="#002b0d" stroke-width="1pt">
+      <path id="path836" d="M351.8 479.6h.9c-2.8 0-1.1-.2 3.5 3.5 2-1.6 2-1.8 3.5 1 1 1.5 1.2-.2 2.7-1.8.7 3.2 1.1 6.5 3.5 3.5 2.8 0 5.6-.2 7.1.9 1.8 3.3 1.2-.6 2.6.9 4 .4 3.9-3.4 8.1-4.4 2.6 3.3 3.8.8 7-.8 2.5.6 4.8 4.3 5.3.7 2-3.2 2.1-3 3.5 0 2 1.8 2.8-.8 4.4-1.7 3 1.7 6.3 2 10.6.9.8 2.9 2.6 1.6 4.5.8 3.9 1.7 5.2 2.2 9.7 0 2.2-2.6 1 .1 2.6 1.8 3.3-1 2.4-1.2 6.2-.9 3.9 0 4.2 0 5.3-2.6 2 1.9 2.6 3.3 5.3.9 4.2 0 2.9.5 5.3-1 1.9 4 2.3 1.2 4.5 2.7a14.5 14.5 0 01-6.2 7c-1.7 3-2.8 6-6.2 7.2-2.5 2.5-5.2 4-8 6.2-3.8 1-8 .8-12.3.8H388c-2.6 1.4-7 2-10.6 2.7-4 0-8.7 0-11.5-.9-1.9-1.9-5.2-4-7-6.2-2-1.5-2-4.4-3.6-6.2-1.4-2.5-2-6.5-3.5-8.8z" transform="matrix(1.477 0 0 1.545 -223 -481.4)"/>
+      <path id="path838" d="M437.5 487.6v.8c0-2.4.1-1.1-1.8 3.6-.3 1.1-1.2 1.4-2.6 1.8m-3.5-2.7h.9c-3.3 3-5.5 4.5-6.2 8l6.2-8c-3.3 3-5.5 4.5-6.2 8m-7.1-12.4s-.1 3.1-.9 4.4m-2.6 1.8v.8zm-7.1-5.3h.9-1c.4 0 .7 0 0 0zm-49.5 0c.4 0 2.2 2.8 4.4 4.4-.5 2.6-1.4 5.6 0 8m2.7-7.1c.4 0 2.1 2.8 4.4 4.4l-4.4-4.4c.4 0 2.1 2.8 4.4 4.4v.9c0-2.8-.2-5.6.9-7.1 1 1.7 2.2 4.3 2.6 1.8 5-.2 7.4-1.6 10.6-2.7 0 1.3-.2.7 1 1.8m60-3.6h.9c-1.7 1.4-3 4.3-4.4 6.2m-32.7-8.8h7" transform="matrix(1.477 0 0 1.545 -223 -481.4)"/>
+    </g>
+    <path id="path842" fill="#fff" fill-rule="evenodd" d="M293.6 279.3c-15.7 0-20.9 16.4-36.6 16.4h-.9v1c0 11.4.8 22 2.5 31.9 14.5-1 19.8-16.4 35-16.4 15.7 0 21 16.4 36.7 16.4 15.7 0 20.9-16.4 36.6-16.4 15.7 0 21 16.4 36.7 16.4 15.7 0 20.9-16.4 36.6-16.4 15.1 0 20.5 15.2 35 16.3a189.8 189.8 0 002.5-32.7h-.9c-15.7 0-20.9-16.4-36.6-16.4-15.7 0-21 16.4-36.6 16.4-15.6 0-21-16.4-36.7-16.4-15.7 0-21 16.4-36.6 16.4-15.6 0-21-16.4-36.7-16.4zm0 64.1c-12.2 0-18 10-27.5 14.3a151.4 151.4 0 0011.7 24.8c4.5-3.3 9.2-6.2 15.8-6.2 15.7 0 21 16.4 36.6 16.4 15.8 0 21-16.4 36.7-16.4 15.7 0 21 16.4 36.6 16.4 15.6 0 21-16.4 36.7-16.4a25 25 0 0115.5 6 152.8 152.8 0 0011.7-24.7c-9.2-4.5-15.1-14.2-27.2-14.2-15.7 0-21 16.4-36.7 16.4-15.7 0-20.9-16.4-36.6-16.4-15.7 0-21 16.4-36.7 16.4-15.7 0-20.9-16.4-36.6-16.4zm73.3 64c-15.7 0-21 16.5-36.6 16.5-14.9 0-20.4-14.7-34.2-16.3 18.5 20.6 39.4 33 53.7 40 4.9-3.8 9.9 4.5 17 4.5 7.3 0 12.2-8.4 17-4.7a176.2 176.2 0 0053.3-39.7c-13.4 2-19 16.2-33.6 16.2-15.7 0-20.9-16.4-36.6-16.4z"/>
+    <g id="g919" transform="translate(-527 21.8) scale(1.177)">
+      <path id="path844" fill="none" stroke="#512007" stroke-width=".5" d="M332.5 541.4a110 110 0 0110.5-3l16.3 15.7-13.4 2.7z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path846" fill="none" stroke="#512007" stroke-width=".6" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 31.3l6.7-31.1m-4.4 31.2l5.6-31.2m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(1.063 0 0 1.03 276.8 -178)"/>
+      <path id="path848" fill="none" stroke="#512007" stroke-width=".4" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(-1.255 0 0 1.762 1290.4 -502)"/>
+      <path id="path850" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(-1.255 0 0 1.312 1321.3 -302)"/>
+      <path id="path852" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M395.3 572.2l.9-73s2.6-.3 2.6 0-.3 72.7-.6 73c-.3.3-3.2.5-2.9 0zm28.5-69.8l-.6 61.3-2 2.4.6-63.7z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path854" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363 560.2s3 30 36.4 29.1c33.4-.9 42.7-30.2 42.7-30.2l-14.5-.6c-.3 0-11.6 14-26.2 13.7-14.6-.3-19.2-3.8-22.4-6.7-3.2-3-6-7.3-6-7.3l-17-6.7 1 6.4zm90.3-3l-1-4v-3.4l1.6-3.6s-25.3 3.7-25.3 4l-.1 6.8 24.8.1z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path856" fill="none" stroke="#512007" stroke-width=".5" d="M448.5 549.8l-.6 6h4.1l-.3-6zm-4.3.3l-.3 6.4 2.6-.3.3-6.1zm-4.4 6.4v-5l2.6-.9.3 5zm-5-.3l.6-4.4 3 .3.2 4.7zm-5.5 0l.3-3.8 3-.3v4.4zm-67.4 3.7c.9 0 7.6 1.5 7.6 1.5l7 9.3" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path858" fill="none" stroke="#512007" stroke-width=".5" d="M366.8 561.1c.3.3 6.1 19.8 34 19.8s34.6-22.1 34.6-22.1" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path860" fill="none" stroke="#512007" stroke-width=".5" d="M439.8 559.4s-13.4 29-39 27c-25.5-2-29.6-11.6-31.6-16.6-2-5-3.2-9-3.2-9" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path862" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M373.2 558.2c.3-1.7.3-54.4.3-54.4l-1.7-.2-.3 53.7 1.7 1zm-41.5-17.1l22 10.7-.5 1.5S332 543.3 332 543c0-.3.2-1.5-.3-2z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path864" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M341.8 537.9c0 .8 3.2 18.6 3.2 18.6s2 .3 2 0l-3.4-18.3zm20.4.5c1.1 0 21-3.2 21-3.2l-.4 3.2-19.5 2z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path866" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M365 514.3c.7 0 7 3.2 9.7 2.4 2.7-.8.9-3 1.4-3 .6 0 2.6 1.5 3.8.3 1.2-1.1 2-4.6 1.5-4.3-.6.3-16 5.8-16.3 4.6z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path868" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M362.5 521.6c1.1.3 23.8-6.1 23.8-6.1s0 2-.3 2l-23.5 6.1z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path870" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M415 512.6s1.5 3.5 3 2.9c1.5-.6 2.9-1.8 2.9-1.8s1.2 3 3.2 2.4c2-.6 3.2-3.8 3.2-3.8s2 .6 2.9.3c.9-.3 2-5 2-5l-17.1 5zm-1.7 28.2c-.3.6 1.5 2 3 2s2-2 2.3-1.4c.3.5.3 3.2 4 2.3 3.7-.9 3.8-3.5 3.8-3.5s-1.1.9 1.5 1.2c2.6.3 5.2-3.8 5-3.8-.4 0-19 3.5-19.6 3.2z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path872" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363.4 513.1a5 5 0 00.2 2.7l19-6.4s.8-1.5 0-1.5-19.5 5.8-19.3 5.3zm25-4c.5 0 19.4-6.1 19.4-6.1s.3 2.6 0 2.6l-17.7 5.2-1.8-1.7z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path874" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M413.3 521.9s-2.9 3.2-2 7.5c.9 4.4 2 8.2 2.3 8.2.3 0 3.5-5.8 7-6.1 3.5-.3 9.9 3.2 9.9 3.2s-.9-7-.6-10.2c.3-3.2 5.2-8.7 5.2-8.7l-21.8 6z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path876" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M386.9 516.6s-.6 2.7-.3 2.7l24.7-6.4V511l-24.4 5.5z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path878" fill="#b6b6b4" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M355.5 551.8s-5.8-.8-5.5.6c.3 1.5 2.9 2.9 3.2 3.8.3.9-.9 4 .9 3.8 1.7-.3 3.4-1.5 3.4-2.4l-.3-5z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path880" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M387.8 537.3v2l20.9-2.9-.6-1.5z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path882" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363 540.8c.4 0 0 2.6 2.4 2 2.3-.6 2.9-2 2.9-2s.6 3.2 3.8 2.9c3.2-.3 5-3.8 5-3.8s.2 2.6 2.2 1.7c2-.9 2.6-2.9 2.6-2.9l-18.3 2.6-.5-.5zm0-17.2s-2.6.9-1.7 6.1c.9 5.2 3 8.2 3.2 8.2.3 0 2.6-5 6.1-5.8 3.5-1 9.6 2.6 9.6 2.6s-.6-4.7.3-9a18 18 0 013.8-7.6s-20.4 5.5-21.2 5.5z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path884" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M411.9 538.7l.3 1.8s21-2.6 21-3c0-.2 0-2-.4-2-.3 0-20.6 3.5-21 3.2zm-.3-18.6l.3 2 24.7-6.6s.6-1.8.3-1.8-24.7 7.3-25.3 6.4z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path886" fill="none" stroke="#512007" stroke-width=".5" d="M414.2 510.8s-.3 1.8 0 1.8 18.3-4.4 18.3-4.7c0-.3 1.8-2 .3-1.7-1.4.3-18 5.5-18.6 4.6zm38.7 33.7l-18-28.4m-2.4 19.7c.3-.8 1.2-18.3 1.2-18.3" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path888" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M389 510c1 .2 3.1 3.2 4.3 2.6 1.2-.6 2.9-2.4 2.9-2.4s-.3 3.5 2 3c2.4-.6 2.7-3 2.7-3s1.7 1 3.2 0c1.4-.8 2.8-5.2 2.3-5.2s-16.9 5.2-17.5 5zm-.6 8.4c0 .6-3 5.2-2 9.6 1 4.4 2.5 8.4 2.8 8.4.3 0 4.7-4.6 8.5-5.5 3.7-.9 9.3 2.9 9 2.9-.3 0-1.5-4.4-1.5-7.6 0-3.2 4.4-13 4.4-13zm0 21c0 .2.8 2.2 2.9 2.2 2 0 2.3-2 2.3-2s-.3 3.5 2.9 3.2c3.2-.3 4.3-3.5 4.3-3.5s.3 1.8 3 .9c2.6-.9 6-3.8 5.8-3.8-.3 0-21 3.8-21.3 3z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <use id="use890" width="992.1" height="496.1" x="0" y="0" transform="translate(-6.6 7.3)" xlink:href="#k"/>
+      <use id="use892" width="992.1" height="496.1" x="0" y="0" transform="translate(6.6 3.8)" xlink:href="#k"/>
+      <use id="use894" width="992.1" height="496.1" x="0" y="0" transform="translate(0 11)" xlink:href="#k"/>
+      <path id="k" fill="#be0f17" fill-rule="evenodd" stroke="#512007" stroke-width=".6" d="M409 477a1.9 1.9 0 11-3.8 0 1.9 1.9 0 013.8 0z" transform="matrix(.04 -1.072 1.024 .043 251.6 668)"/>
+      <path id="path897" fill="none" stroke="#512007" stroke-width=".5" d="M398.2 500c0-.2 9 3.8 9 4.1 0 .3 32 42.8 32.3 42.8m-16-42.8l8.2 3.5 2.6 6.4m-61.4-10.4c-.3 0 9 7 9 7l1.2 5.7M341.3 546c4-1.7 32.2-26.4 32.2-26.4m-39.8 21.7l31.7-26.7m21.2 4l30 49.8m-3.6-29.2s3.5 11.7 7 13.5a86 86 0 017.6 4.6" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path899" fill="none" stroke="#512007" stroke-width=".5" d="M412.6 539.5s2.5 13.8 6 16.4c3.5 2.6 7 5.5 7 5.5" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <path id="path901" fill="none" stroke="#512007" stroke-width=".5" d="M391 439s3.4 19.2 10.4 23.6a950 950 0 0112.8 8.1" transform="matrix(1.255 0 0 1.312 256.3 -299.5)"/>
+      <path id="path903" fill="none" stroke="#512007" stroke-width=".5" d="M390.7 438.7s7.5 15.2 14 19.8c6.3 4.7 15 9 15 9M366.3 440c2 3.5 1.7 10.2 4 12.5a66 66 0 015.8 7.6m-9.3-19.9c1.2 1.7 4.4 10.4 6.4 13 1.5 2.4 16.3 17.2 16.3 17.2" transform="matrix(1.255 0 0 1.312 256.3 -299.5)"/>
+      <path id="path905" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M384.6 471.1a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0zm10.7 4.7a1.9 1.9 0 11-3.8 0 1.9 1.9 0 013.8 0zM409 477a1.9 1.9 0 11-3.8 0 1.9 1.9 0 013.8 0zm11.9-4.5c0 1-.7 1.7-1.6 1.7-.9 0-1.6-.8-1.6-1.7 0-.9.7-1.8 1.6-1.8.9 0 1.6.8 1.6 1.8zm9.6-5.7c0 .9-.9 1.6-1.9 1.6-1 0-1.9-.7-1.9-1.6 0-.9.9-1.6 1.9-1.6 1 0 1.9.7 1.9 1.6z" transform="matrix(1.255 0 0 1.312 256.3 -299.5)"/>
+      <path id="path907" fill="red" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M374.1 404.4c-.9.6-15.4 4.1-13.4 3.8 2-.3 13.7 3 13.4 2-.3-1 0-5.2 0-5.8zm24.7-4.3c-.6 0-9 3.2-8.7 3.2.3 0 9.6 2.6 9.3 2-.3-.6-.3-4.4-.6-5.2zm25.3 2.9c-.6.3-10.5 2.6-8.7 2.9 1.8.3 8.4 2.6 8.4 2 0-.5 0-4.6.3-5z" transform="matrix(1.255 0 0 1.312 256.3 -299.5)"/>
+      <path id="path909" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(1.255 0 0 1.312 256.3 -299.5)"/>
+      <path id="path911" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 31.3l6.7-31.1m-4.4 31.2l5.6-31.2m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(1.255 0 0 1.363 225.3 -323.4)"/>
+      <path id="path913" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(-1.255 0 0 1.32 1259.2 -307.3)"/>
+      <path id="path915" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M426.4 558.5l27.6.6.3-2-28.5-.3zm1.2-7.3c3.2 0 27.3-4.6 27.3-4.6s.9-3 0-3-27.3 5.6-27.3 5.6z" transform="matrix(1.255 0 0 1.312 259.4 -430)"/>
+      <use id="use917" width="992.1" height="496.1" x="0" y="0" transform="translate(0 5.5)" xlink:href="#k"/>
+    </g>
+  </g>
+  <g id="g1800" transform="scale(.5)">
+    <path id="path1778" fill="#012169" d="M0 0h512v512H0z"/>
+    <path id="path1780" fill="#FFF" d="M512 0v64L322 256l190 187v69h-67L254 324 68 512H0v-68l186-187L0 74V0h62l192 188L440 0z"/>
+    <path id="path1782" fill="#C8102E" d="M184 324l11 34L42 512H0v-3zm124-12l54 8 150 147v45zM512 0L320 196l-4-44L466 0zM0 1l193 189-59-8L0 49z"/>
+    <path id="path1784" fill="#FFF" d="M176 0v512h160V0zM0 176v160h512V176z"/>
+    <path id="path1786" fill="#C8102E" d="M0 208v96h512v-96zM208 0v512h96V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fm.svg
new file mode 100644
index 0000000..791fde9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fm.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fm" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M244.2 0h496v496h-496z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-252) scale(1.032)">
+    <path fill="#6797d6" d="M0 0h992.1v496H0z"/>
+    <path fill="#fff" d="M507.9 84.5h38.8l-31.5 21.4 12 34.8-31.3-21.5-31.5 21.5 12-34.8L445 84.4h39l12-34.7m12 363h38.8l-31.5-21.5 12-34.8-31.3 21.5-31.5-21.5 12 34.8-31.4 21.5H484l12 34.7M346 230.1l37.2-11.4-23.9 29.8 21.7 29.7-36.3-11.4-23.8 29.8 1.4-36.8-36.4-11.4 37.2-11.3 1.3-36.8m321 29.8l-37.1-11.4 23.8 29.7-21.7 29.8 36.4-11.4 23.7 29.8-1.3-36.8 36.4-11.4-37.2-11.3-1.3-36.8"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fo.svg
new file mode 100644
index 0000000..b28915c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fo.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fo" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="0" clip-path="url(#a)">
+    <path fill="#fff" d="M-78 0h708.2v512H-78z"/>
+    <path fill="#003897" d="M-75.9 199.1h198.3V0h113.3v199.1h396.6V313H235.7v199H122.4V312.9H-76V199z"/>
+    <path fill="#d72828" d="M-75.9 227.6h226.6V0h56.7v227.6h424.9v56.9h-425V512h-56.6V284.4H-75.9v-56.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fr.svg
new file mode 100644
index 0000000..f8e3ca0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/fr.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fr" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ga.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ga.svg
new file mode 100644
index 0000000..16c81b3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ga.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ga" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#ffe700" d="M512 512H0V0h512z"/>
+    <path fill="#36a100" d="M512 170.7H0V0h512z"/>
+    <path fill="#006dbc" d="M512 512H0V341.3h512z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-eng.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-eng.svg
new file mode 100644
index 0000000..18026d2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-eng.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb-eng" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="#ce1124" d="M215 0h82v512h-82z"/>
+  <path fill="#ce1124" d="M0 215h512v82H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-nir.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-nir.svg
new file mode 100644
index 0000000..6d8a3a3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-nir.svg
@@ -0,0 +1,131 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gb-nir" viewBox="0 0 512 512">
+  <path id="rect5053" fill="#fff" stroke-width="4.7" d="M0 0h512v512H0z"/>
+  <rect id="rect1126" fill="#fff" fill-rule="evenodd" rx="0" ry="0"/>
+  <rect id="a" width="512" height="102.4" y="204.8" fill="#c00" fill-rule="evenodd" rx="0" ry="0"/>
+  <use id="use1129" width="600" height="300" transform="matrix(0 1 -.9375 0 496 0)" xlink:href="#a"/>
+  <path id="path1131" fill="#ebeae3" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M291.2 156.4c3-5.2 1.2-8.5-3.4-9.5 0 0-14.9 5-31 5.6-16 .6-35-4.3-35-4.3-3.5 2.3-2.7 7.8-1 11.2 0 0 16.8 5.9 36 5.3a108 108 0 0030.1-5.8c3.7-1.3 4.3-2.5 4.3-2.5z"/>
+  <path id="path1133" fill="#fff" stroke="#161111" stroke-width="1.6" d="M320 389.6l-30.9-64.2-70.9 5.4 40-58.8-40-58.8 71 5.4 30.8-64.1 30.9 64 70.9-5.3-40 58.8 40 58.8-71-5.4z" transform="matrix(1 0 0 1.06667 -64 -34.1)"/>
+  <path id="path1135" fill="#b02320" fill-rule="evenodd" stroke="#000" stroke-width="1.4" d="M255.5 130.4c38.8 6.8 37.4 8.7 37.4 8.7L303 107s1.1-6.4-1.7-10.3-10.5-1.7-10.5-1.7-1-5.2-4.5-6.4c-3.4-1.3-16 4.9-20 6.2-4 1.4-6 2.7-11.5 2.6a52.1 52.1 0 01-17.3-6.3 15 15 0 00-6.9-2c-2.4.1-5 .8-6.3 2.6-1.2 1.9-1.2 4.1-1.2 4.1s-2-1.3-5.3-1.3c-3.2 0-5 .4-6.5 2.2-1.4 1.9-3.4 7-3.4 7l3.7 8.7.2 12 7.5 12.8 36.2-6.7z"/>
+  <path id="path1137" fill="#ebeae3" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M291.7 148.6s2 2.5 1.9 3.4c-.1.8-1 1.6-1 1.6s.7.7.5 1.7c-.1 1-1.4 1-1.4 1s.3.9-.5 1.3-3.8 1-3.8 1-15-4.5-31-4.5-35 5.6-35 5.6-2-.8-2-2.1c-.2-1.4.1-2.4.1-2.4s-1 .2-1.3-.8c-.4-1.4.1-2.5.1-2.5s-.7.2.1-1.6a4 4 0 011.5-1.9s16.8-6.4 36-6.4a101 101 0 0135.8 6.6z"/>
+  <path id="path1139" fill="none" stroke="#000" stroke-width="1.2" d="M212.2 108.3s-.6-2.4.8-4.4a4.1 4.1 0 014.7-1.5c.8.4.7 1.3 1.7 1.6 1 .3 1.8-.5 1.8-.5"/>
+  <path id="path1141" fill="#fc0" fill-opacity=".9" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M305.8 113.7l-5.8 12.8-2.3.5s-1.4-1-5.4-.6c-2.8.2-3.7 1-3.7 1l5.2-12.8s.4 2.7 1 4.3c.8 2 3.7 4 3.7 4s.4-2.4-.4-5.4c-.8-3.3-2.8-7.8-2.8-7.8l10.5 4z"/>
+  <path id="path1143" fill="#121116" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M252.5 73.8h6.5v29.5h-6.5z"/>
+  <path id="path1145" fill="#f6ca1f" fill-rule="evenodd" stroke="#000" d="M212.6 128.3l4.1 9.5s17.9-7.4 38.9-7.3c31.5.2 40.5 7 40.5 7l4.6-11.8-3.5 2.1-3.6 2.4-4 1.7-5-.4-4.4-3.5-2.2-5-3.7 3.7-6.6 1.6-6.4-1.8-5.6-7.6s-4.2 8.4-9.6 9c-7.7.7-12.1-4-12.1-4s-2.9 6.8-7.6 8c-7.5 2-13.7-3.6-13.8-3.6z"/>
+  <g id="g1265" stroke-width="2.2">
+    <path id="path1147" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 59.9 -67.6)"/>
+    <path id="path1149" fill="#a3afb8" fill-rule="evenodd" d="M279.5 71.9s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.1-.8 1.4-1.7 1.7-.6.1-1.6-.1-2-.5z"/>
+    <path id="path1151" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 51.7 -63.5)"/>
+    <path id="path1153" fill="#a3afb8" fill-rule="evenodd" d="M271.3 76s2.8 0 3-1.3c.3-1.1-.2-2.7-.2-2.7s1.3 1.6 1 2.7c-.4 1.2-.8 1.5-1.7 1.8-.6.1-1.6-.1-2-.5z"/>
+    <path id="path1155" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 69.3 -70)"/>
+    <path id="path1157" fill="#a3afb8" fill-rule="evenodd" d="M289 69.5s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.1-.8 1.5-1.7 1.7a3 3 0 01-2.1-.5z"/>
+    <path id="path1159" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 80 -67.7)"/>
+    <path id="path1161" fill="#a3afb8" fill-rule="evenodd" d="M299.7 71.8s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.1-.8 1.5-1.7 1.7-.7.2-1.6-.1-2.1-.5z"/>
+    <path id="path1163" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 88.2 -60.5)"/>
+    <path id="path1165" fill="#a3afb8" fill-rule="evenodd" d="M307.9 79s2.7 0 3-1.3c.2-1.2-.2-2.7-.2-2.7s1.3 1.5.9 2.7c-.4 1.2-.7 1.5-1.7 1.7-.6.2-1.5 0-2-.5z"/>
+    <path id="path1167" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 91.7 -48.8)"/>
+    <path id="path1169" fill="#a3afb8" fill-rule="evenodd" d="M311.4 90.7s2.7 0 3-1.2c.2-1.2-.2-2.7-.2-2.7s1.3 1.5.9 2.7c-.4 1.2-.7 1.5-1.7 1.7-.6.2-1.5-.1-2-.5z"/>
+    <path id="path1171" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 90.4 -36.9)"/>
+    <path id="path1173" fill="#a3afb8" fill-rule="evenodd" d="M310 102.6s2.8 0 3-1.2c.3-1.2-.1-2.7-.1-2.7s1.3 1.5.9 2.7c-.4 1.1-.7 1.5-1.7 1.7-.6.1-1.5-.1-2-.5z"/>
+    <path id="path1175" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 85.5 -26.5)"/>
+    <path id="path1177" fill="#a3afb8" fill-rule="evenodd" d="M305.1 113s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.2-.8 1.5-1.7 1.7-.6.2-1.6 0-2-.5z"/>
+    <path id="path1179" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 43.7 -60.4)"/>
+    <path id="path1181" fill="#a3afb8" fill-rule="evenodd" d="M263.4 79.1s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.1-.8 1.4-1.7 1.7a3 3 0 01-2.1-.5z"/>
+    <g id="g1187" stroke-width="2.7">
+      <path id="path1183" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.43616 0 0 .46523 70.3 -38.8)"/>
+      <path id="path1185" fill="#a3afb8" fill-rule="evenodd" d="M254 77.9s2.3 0 2.5-1c.3-1-.1-2.3-.1-2.3s1 1.2.8 2.2c-.4 1-.7 1.3-1.4 1.5a2.3 2.3 0 01-1.8-.4z"/>
+    </g>
+    <g id="g1193" stroke-width="2.7">
+      <path id="path1189" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.43616 0 0 .46523 70.4 -35)"/>
+      <path id="path1191" fill="#a3afb8" fill-rule="evenodd" d="M254 81.6s2.3 0 2.6-1c.2-1-.2-2.2-.2-2.2s1 1.2.8 2.2c-.3 1-.6 1.3-1.4 1.5a2.3 2.3 0 01-1.7-.4z"/>
+    </g>
+    <g id="g1199" stroke-width="2.7">
+      <path id="path1195" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.43616 0 0 .46523 70.6 -29.5)"/>
+      <path id="path1197" fill="#a3afb8" fill-rule="evenodd" d="M254.3 87.2s2.2 0 2.5-1c.2-1-.2-2.3-.2-2.3s1 1.3.8 2.3c-.3 1-.6 1.2-1.4 1.4a2.3 2.3 0 01-1.7-.4z"/>
+    </g>
+    <g id="g1205" stroke-width="2.5">
+      <path id="path1201" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.47168 0 0 .50313 55.5 -33)"/>
+      <path id="path1203" fill="#a3afb8" fill-rule="evenodd" d="M254.2 93.3s2.5-.1 2.7-1.2c.3-1-.1-2.4-.1-2.4s1.1 1.4.8 2.4c-.4 1.1-.7 1.4-1.5 1.6a2.5 2.5 0 01-1.9-.5z"/>
+    </g>
+    <path id="path1207" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 34.4 -38.2)"/>
+    <path id="path1209" fill="#a3afb8" fill-rule="evenodd" d="M254 101.3s2.8 0 3-1.2c.3-1.2-.1-2.7-.1-2.7s1.3 1.5.9 2.7c-.4 1.2-.7 1.5-1.7 1.7-.6.2-1.5 0-2-.5z"/>
+    <g id="g1215" stroke-width="2.4">
+      <path id="path1211" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.48982 0 0 .52248 47.7 -13.5)"/>
+      <path id="path1213" fill="#a3afb8" fill-rule="evenodd" d="M254 117.5s2.6 0 2.8-1.1c.3-1.2-.1-2.6-.1-2.6s1.2 1.4.8 2.5c-.3 1.2-.7 1.4-1.5 1.7a2.6 2.6 0 01-2-.5z"/>
+    </g>
+    <path id="path1217" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 25 -60.5)"/>
+    <path id="path1219" fill="#a3afb8" fill-rule="evenodd" d="M244.6 79s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.1-.8 1.5-1.7 1.7-.6.1-1.6-.1-2-.5z"/>
+    <path id="path1221" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 16.6 -64)"/>
+    <path id="path1223" fill="#a3afb8" fill-rule="evenodd" d="M236.3 75.5s2.7 0 3-1.2c.2-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.5 1.1-.8 1.4-1.8 1.7-.6.1-1.5-.1-2-.5z"/>
+    <path id="path1225" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 8.6 -68)"/>
+    <path id="path1227" fill="#a3afb8" fill-rule="evenodd" d="M228.3 71.5s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.1-.8 1.4-1.7 1.7a3 3 0 01-2.1-.5z"/>
+    <path id="path1229" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 -.5 -70.2)"/>
+    <path id="path1231" fill="#a3afb8" fill-rule="evenodd" d="M219.1 69.3s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.2-.8 1.5-1.7 1.7-.6.2-1.6 0-2-.5z"/>
+    <path id="path1233" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 -11.4 -67.4)"/>
+    <path id="path1235" fill="#a3afb8" fill-rule="evenodd" d="M208.3 72.1s2.7 0 3-1.2c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.2-.8 1.5-1.7 1.7-.7.2-1.6-.1-2-.5z"/>
+    <path id="path1237" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 -19 -59.3)"/>
+    <path id="path1239" fill="#a3afb8" fill-rule="evenodd" d="M200.7 80.3s2.7-.1 3-1.3c.2-1.2-.2-2.7-.2-2.7s1.3 1.5.9 2.7c-.4 1.2-.7 1.5-1.7 1.7-.6.2-1.5 0-2-.5z"/>
+    <path id="path1241" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 -22.2 -47.9)"/>
+    <path id="path1243" fill="#a3afb8" fill-rule="evenodd" d="M197.5 91.7s2.7 0 3-1.3c.3-1.2-.2-2.7-.2-2.7s1.3 1.5 1 2.7c-.4 1.2-.8 1.5-1.7 1.7-.7.2-1.6 0-2.1-.4z"/>
+    <path id="path1245" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 -20.8 -36)"/>
+    <path id="path1247" fill="#a3afb8" fill-rule="evenodd" d="M198.9 103.6s2.7 0 3-1.3c.3-1.1-.2-2.7-.2-2.7s1.3 1.6 1 2.7c-.4 1.2-.8 1.5-1.7 1.8a3 3 0 01-2.1-.5z"/>
+    <path id="path1249" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.52155 0 0 .55632 -15.6 -25.2)"/>
+    <path id="path1251" fill="#a3afb8" fill-rule="evenodd" d="M204 114.3s2.8 0 3-1.2c.3-1.2-.1-2.7-.1-2.7s1.3 1.5 1 2.7c-.5 1.2-.8 1.5-1.8 1.7-.6.2-1.5 0-2-.5z"/>
+    <g id="g1257" stroke-width="2.8">
+      <path id="path1253" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.31597 -.0903 .13499 .53737 45.4 32)"/>
+      <path id="path1255" fill="#a3afb8" fill-rule="evenodd" d="M212.3 128.7s1.6-.5 1.5-1.7c0-1.2-.7-2.6-.7-2.6s1.1 1.3 1.2 2.5c0 1.2-.1 1.5-.6 2-.3.2-1 .1-1.4-.2z"/>
+    </g>
+    <g id="g1263" stroke-width="2.8">
+      <path id="path1259" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.31758 .08362 -.125 .54011 196 -42.9)"/>
+      <path id="path1261" fill="#a3afb8" fill-rule="evenodd" d="M298.3 127.8s1.7.4 2.1-.7c.5-1.1.5-2.7.5-2.7s.5 1.7 0 2.8-.8 1.3-1.4 1.4c-.4 0-1-.4-1.2-.8z"/>
+    </g>
+  </g>
+  <path id="path1267" fill="#b3a192" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M252.7 57.4l.3 6s-6.8.7-7 1.4c-1.4 3.1 1.5 7.3 1.5 7.3s2.3-1.8 8-1.8c5.5 0 8.3 1.5 8.3 1.5s1.4-2.5 1.4-4.3c0-1.8-.6-3.6-.6-3.6l-3.6-.4h-2.5l-.2-6.2-5.6.1z"/>
+  <path id="path1269" fill="#f0ddcb" stroke="#121116" stroke-linejoin="round" stroke-width=".6" d="M262.4 66.8c0 .7-.6 1.3-1.2 1.3a1.2 1.2 0 01-1.3-1.3 1.2 1.2 0 011.2-1.2 1.2 1.2 0 011.3 1.2m2.7.7c0 .7-.5 1.3-1.2 1.3s-1.3-.6-1.3-1.3a1.3 1.3 0 011.3-1.3c.7 0 1.2.6 1.2 1.3m-5.5-.7c0 .7-.6 1.2-1.2 1.2-.7 0-1.2-.5-1.2-1.2a1.2 1.2 0 011.1-1.3 1.2 1.2 0 011.3 1.3m-5.6 0c0 .8-.6 1.3-1.3 1.3-.7 0-1.2-.5-1.2-1.2 0-.8.5-1.3 1.2-1.3s1.3.5 1.3 1.2m-3.1.3c0 .7-.6 1.3-1.3 1.3s-1.2-.6-1.2-1.3c0-.7.5-1.3 1.2-1.3s1.3.6 1.3 1.3m5.7-3.7c0 .6-.5 1-1 1a1 1 0 01-1.1-1 1 1 0 011-1.1 1 1 0 011 1m0-5c0 .6-.4 1-1 1a1 1 0 01-1-1 1 1 0 011-1 1 1 0 011 1m0 2.7c0 .6-.4 1.1-1 1.1a1 1 0 01-1-1 1 1 0 011-1.2 1 1 0 011 1.1m-8.8 7c0 .7-.5 1.2-1.2 1.2-.6 0-1.2-.5-1.2-1.2a1.2 1.2 0 011.2-1.3 1.2 1.2 0 011.2 1.3"/>
+  <path id="path1271" fill="#916c68" stroke="#4d3126" stroke-linejoin="round" stroke-width=".6" d="M256.9 66.5c0 .8-.6 1.4-1.4 1.4a1.4 1.4 0 01-1.3-1.4 1.4 1.4 0 011.3-1.3 1.4 1.4 0 011.4 1.3"/>
+  <g id="g1277" stroke-width="2.5">
+    <path id="path1273" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="3" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.386 0 0 .41173 91.8 -53.4)"/>
+    <path id="path1275" fill="#a3afb8" fill-rule="evenodd" d="M254.4 49.9s2 0 2.2-1c.2-.8-.1-2-.1-2s1 1.2.7 2c-.3 1-.6 1.2-1.2 1.3a2 2 0 01-1.6-.3z"/>
+  </g>
+  <path id="path1279" fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M216 138.8s2.2 2.2 2.8 4.2c.6 2 1.5 7.3 1.5 7.3s23.2-7 34.6-6.4c11.4.6 37.7 6.8 37.7 6.8l1-6.2c.5-3.2 2.7-6.6 2.7-6.6s-25.2-8.4-41-7.6c-15.9.8-23.8 2.6-27.3 3.8a248.5 248.5 0 00-12 4.7z"/>
+  <path id="path1281" fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M250.7 38.5h10s-2.5 1.8-3 3.5c-.4 1.5-.3 4-.3 4s2.7 0 4-1.1l3.7-3v13.5s-2.5-2.5-4-3.4c-1.7-1-3.5-1.3-3.5-1.3s0 2.2.8 3.5l4.3 6.2-14.3.6s3.4-3.8 4.7-6.6c1-1.8.6-3.7.6-3.7s-2.4 0-3.6.9c-1.3.9-3.4 3.6-3.4 3.6v-13s1 2.5 3 3.4c2 1 3.8.5 3.8.5s.4-2.6-.4-4.2c-.9-1.7-2.6-3.5-2.4-3.4z"/>
+  <path id="path1283" fill="#fc0" fill-rule="evenodd" stroke="#121116" stroke-width="1.2" d="M249.9 81.5s-7.1 0-13.2-3.9c-6.1-3.8-12.3-7.8-21.3-5.6-1.8.5-8.7 3.7-11.7 14-2 7.3.4 16 2.5 20 2.2 3.9 5.6 7.9 5.6 7.9l3.7-2.7s-9.4-8.4-8.2-19.4c1-11 6.2-13.5 6.2-13.5s6.4-5.3 14.9-.3a76.8 76.8 0 0025.3 9.2c.6 0-4-5.7-3.8-5.7z"/>
+  <path id="path1285" fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M210.5 122.7l-3.8-8 11.4-4.7s-2.8 4-3.4 6.7c-.8 3.4-.5 6.3-.5 6.3s1-.9 2.3-3c1-1.8 2.6-7.9 2.6-7.9l5.1 17.4s-2.6-2.8-4.5-3.1c-2-.4-4.6.3-4.6.3l-3 1-1.6-5z"/>
+  <path id="path1287" fill="#fc0" fill-rule="evenodd" stroke="#121116" stroke-width="1.2" d="M262.7 81.4s7.1 0 13.2-4c6.1-3.8 12.2-7.8 21.3-5.5 1.8.5 8.6 3.6 11.6 14 2.1 7.2-.3 16-2.5 20l-3.6 6.2-4.4-1.7s8.1-7.8 7-18.8c-1.1-11-6.2-13.5-6.2-13.5s-6.4-5.3-14.9-.3-16.8 7.3-16.8 7.3-7.8 2-8.5 2c-.7-.1 4-5.8 3.8-5.7z"/>
+  <path id="path1289" fill="#fc0" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M259 73.9h3v29.5h-3zm-10-.1h3.5v29.5H249z"/>
+  <path id="path1291" fill="#fc0" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M265.2 66.9a9.6 9.6 0 01-9.7 9.5 9.6 9.6 0 01-9.7-9.5 9.6 9.6 0 019.6-9.5 9.6 9.6 0 019.8 9.4"/>
+  <path id="path1293" fill="#fc0" fill-rule="evenodd" stroke="#000" d="M246.9 103.2l16.7-.1s-2 1.2-3.6 4.4c-1.7 3.2-1.5 5.2-1.5 5.2s2.6 0 4.3-1.5c1.8-1.3 3.8-4 3.8-4v16.5s-1.3-2.1-3.3-3.4c-2-1.2-4.8-1.2-4.8-1.2h-5.7s-2.6.2-3.7 1a29.9 29.9 0 00-3.7 3.4L245 108s.8 2.7 3.5 3.8 4.2 1 4.2 1 0-3.5-1.4-5.3-4.5-4.2-4.5-4.3z"/>
+  <path id="path1295" fill="#f6ca1f" fill-rule="evenodd" stroke="#000" d="M256.2 116s2.4 6.1 5.3 8.8c1.6 1.6 6.6 2.8 8.8 2.2 5-1.4 8.6-5.7 8.6-5.7s-.2 4.7 3 7.3c3.1 2.6 5.6 3.3 8.2 2.5 2.7-.8 10-6.6 10-6.6l1.6 1.4s-4.3 4.4-8.7 6.7c-2.3 1.2-9.3.6-11.5-1.4-2.3-1.9-3.6-6.5-3.6-6.5s-1.4 3-4.4 4c-3 1-7 1-10.9-.2-2.5-.8-5.9-4.5-6.5-5.8-.6-1.2-.4-2-.4-2s-2 5.8-5.8 7.4a17.6 17.6 0 01-11.5.4c-3.6-1.1-3.9-3.3-3.9-3.3s-.2 6-8 7.8c-8 1.8-14.2-4.4-14.2-4.4l1.1-1.7s4.4 5.3 11.2 4.8c6.8-.5 9-9.8 9-9.8s3 4.9 11 5c7.9 0 10.2-11 10.2-11l1.4.2z"/>
+  <g id="g1305" fill="#fc0" stroke="#000" stroke-width="2.2">
+    <path id="path1297" fill-rule="evenodd" d="M338.6 336.3s0-5.3 1.2-6.9a4.6 4.6 0 015-2c1.3.4 2.8 1.6 2.5 5.3-.2 3.7-1.2 5.5-.1 6.9 1 1.4 1.2 2.3 3.4 2 2-.3 3-1 2.5-3-.4-2-1 .2-1.5-1.5-.4-1.6 2.1-8.7 1.7-13.1-.4-4.3-2-7.8-5.3-8.6-3.1-.8-5.8-.8-8.7 1.3a35 35 0 00-6.3 8.7v14.3l5.7-.4-.1-3z" transform="matrix(.52155 0 0 .55632 60 -67.5)"/>
+    <path id="path1299" fill-rule="evenodd" d="M327.8 340.1s-2.3-4.8-4-5.8a4.7 4.7 0 00-5.3.1c-1 1-1.9 2.6-.2 6 1.7 3.2 3.3 4.5 2.9 6.2-.5 1.7-.2 2.6-2.3 3.2s-3.2.3-3.6-1.7c-.3-2 1.1-.3.8-2-.3-1.6-5.4-7.2-6.7-11.4-1.4-4-1.3-8 1.4-10 2.5-2 5-3 8.4-2.2 3.4.7 9.3 5.4 9.3 5.4l5.8 13-5.5 2-1-2.8z" transform="matrix(.52155 0 0 .55632 60 -67.5)"/>
+    <path id="path1301" fill-rule="evenodd" d="M326.7 297.9s-5.7 9.5-4.4 16.8c1.2 7.3 8.8 23 8.8 23v2l4-.4-.8-2.2s2-18.7.7-24.6c-.9-4.4-8.3-14.5-8.3-14.6zm9 43.4s2.8 3.4 6.2 5c3.6 1.8 5.2 1.8 6.6.7 1-.8.7-4.2-.5-5.2-1.3-.9-2.7-.4-3 .5-.3 1.6-.8 1.5-2 .9l-5.5-3.3-1.8 1.4zm-4.4.8s-1.2 4.2-3.6 7c-2.6 3.2-4 3.9-5.8 3.5-1.3-.3-2.3-3.6-1.6-5 .8-1.4 2.3-1.5 2.8-.7 1 1.2 1.5 1 2.3 0a149.1 149.1 0 003.7-5.4l2.2.6z" transform="matrix(.52155 0 0 .55632 60 -67.5)"/>
+    <path id="path1303" stroke-linejoin="round" d="M342.1 342c0 1.2-4 2.2-8.8 2.2s-8.9-1-9-2.3c0-1.2 4-2.2 8.9-2.2s8.9 1 8.9 2.2" transform="matrix(.51436 -.09206 .0863 .54866 33 -35.2)"/>
+  </g>
+  <g id="g1315" fill="#fc0" stroke="#000" stroke-width="2.2">
+    <path id="path1307" fill-rule="evenodd" d="M338.6 336.3s0-5.3 1.2-6.9a4.6 4.6 0 015-2c1.3.4 2.8 1.6 2.5 5.3-.2 3.7-1.2 5.5-.1 6.9 1 1.4 1.2 2.3 3.4 2 2-.3 3-1 2.5-3-.4-2-1 .2-1.5-1.5-.4-1.6 2.1-8.7 1.7-13.1-.4-4.3-2-7.8-5.3-8.6-3.1-.8-5.8-.8-8.7 1.3a35 35 0 00-6.3 8.7v14.3l5.7-.4-.1-3z" transform="matrix(.48843 .1951 -.1829 .521 177.8 -120.5)"/>
+    <path id="path1309" fill-rule="evenodd" d="M327.8 340.1s-2.3-4.8-4-5.8a4.7 4.7 0 00-5.3.1c-1 1-1.9 2.6-.2 6 1.7 3.2 3.3 4.5 2.9 6.2-.5 1.7-.2 2.6-2.3 3.2s-3.2.3-3.6-1.7c-.3-2 1.1-.3.8-2-.3-1.6-5.4-7.2-6.7-11.4-1.4-4-1.3-8 1.4-10 2.5-2 5-3 8.4-2.2 3.4.7 9.3 5.4 9.3 5.4l5.8 13-5.5 2-1-2.8z" transform="matrix(.48843 .1951 -.1829 .521 177.8 -120.5)"/>
+    <path id="path1311" fill-rule="evenodd" d="M326.7 297.9s-5.7 9.5-4.4 16.8c1.2 7.3 8.8 23 8.8 23v2l4-.4-.8-2.2s2-18.7.7-24.6c-.9-4.4-8.3-14.5-8.3-14.6zm9 43.4s2.8 3.4 6.2 5c3.6 1.8 5.2 1.8 6.6.7 1-.8.7-4.2-.5-5.2-1.3-.9-2.7-.4-3 .5-.3 1.6-.8 1.5-2 .9l-5.5-3.3-1.8 1.4zm-4.4.8s-1.2 4.2-3.6 7c-2.6 3.2-4 3.9-5.8 3.5-1.3-.3-2.3-3.6-1.6-5 .8-1.4 2.3-1.5 2.8-.7 1 1.2 1.5 1 2.3 0a149.1 149.1 0 003.7-5.4l2.2.6z" transform="matrix(.48843 .1951 -.1829 .521 177.8 -120.5)"/>
+    <path id="path1313" stroke-linejoin="round" d="M342.1 342c0 1.2-4 2.2-8.8 2.2s-8.9-1-9-2.3c0-1.2 4-2.2 8.9-2.2s8.9 1 8.9 2.2" transform="matrix(.51196 .1062 -.09955 .5461 141.8 -100.3)"/>
+  </g>
+  <path id="path1317" fill="#cca715" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M215 138.5s.6 2.2 1.8 1c1.1-1 17.2-7.8 39.8-7.8s37.6 6.6 38.5 7c.9.4 1.3 1 2 0 .8-.9-.7-2.4-.7-2.4s-15.8-7.1-40.4-7c-24.7 0-40.6 7.6-40.6 7.6s-1 .8-.3 1.6z"/>
+  <path id="path1319" fill-rule="evenodd" d="M243.8 148.6s.8-2.2 2-2.6c1-.3 2.6.8 2.6.8s-1.9-.2-2.5.1c-.5.4-.7 1.3-.7 1.3s.4-.7 1.9-.7l1.6.1s-2.5.2-3 1c-.6.7 2.3 1 2.3 1s-4.5.1-5-.2c-.7-.3-1-1.2-2-1-1 .4-2 1.3-2 1.3s1-2 1.8-2c.7 0 1.1 0 1.8.2s1.2.7 1.2.7zm-16.7 3.9s.3-2.3 1.5-3c1-.5 2.7.3 2.7.3s-2 .1-2.5.6c-.4.5-.4 1.4-.4 1.4s.2-.8 1.7-1l1.6-.3s-2.4.7-2.8 1.6c-.5.9 2.5.6 2.5.6s-4.4 1-5 .8c-.7-.2-1.2-1-2.2-.6-.9.5-1.7 1.6-1.7 1.6s.8-2.2 1.5-2.4c.7-.1 1-.2 1.8 0 .7.1 1.3.4 1.3.4zm30.9-4.7s.8-2.1 2-2.4c1.1-.3 2.6.8 2.6.8s-1.9-.2-2.5 0c-.5.4-.8 1.3-.8 1.3s.5-.7 2-.5l1.6.1s-2.5 0-3.1.8c-.6.7 2.3 1.3 2.3 1.3s-4.5-.3-5-.6c-.6-.3-1-1.3-2-1.1-1 .2-2 1.1-2 1.1s1.2-2 1.9-2c.7.1 1.1.1 1.8.5l1.2.7zm14.1 1.7s1-2 2.4-2.1c1-.2 2.4 1.1 2.4 1.1s-1.8-.5-2.5-.3c-.6.3-.9 1.2-.9 1.2s.5-.7 2-.3l1.6.3s-2.5-.2-3.2.4c-.7.7 2.1 1.6 2.1 1.6s-4.4-.8-5-1.2c-.4-.4-.7-1.5-1.7-1.4-1 .1-2.2 1-2.2 1s1.5-1.9 2.2-1.8c.7.1 1.1.2 1.7.6l1.1.9zm14 2.7s1-1.5 2.1-1.6c.9 0 1.9 1.2 1.9 1.2s-1.5-.6-2-.4c-.5 0-.8.8-.8.8s.5-.5 1.6-.1l1.3.4s-2-.4-2.6 0c-.6.5 1.6 1.5 1.6 1.5s-3.5-1-4-1.4c-.3-.3-.4-1.2-1.2-1.2-.9 0-1.9.6-1.9.6s1.3-1.4 1.9-1.2c.5.1.9.2 1.3.6l.9.8z"/>
+  <path id="path1321" fill="#0f6545" stroke="#000" stroke-linejoin="round" stroke-width=".7" d="M241 138.4c.4 1.8-1.6 3.7-4.4 4.3-2.7.6-5.3-.4-5.6-2.2-.3-1.8 1.6-3.7 4.4-4.3 2.8-.6 5.3.4 5.6 2.2z"/>
+  <path id="path1323" fill="#cecfc1" d="M234.8 138c0 .5-.4 1-1 1.1-.6.1-1.2-.1-1.3-.5 0-.5.4-1 1-1 .6-.2 1.2 0 1.3.5z"/>
+  <path id="path1325" fill="#0f6545" stroke="#000" stroke-linejoin="round" stroke-width=".7" d="M280.1 140.5c-.5 1.8-3 2.5-5.8 1.6-2.7-1-4.4-3-4-4.8.6-1.8 3.2-2.5 5.9-1.6 2.7 1 4.5 3 4 4.8z"/>
+  <path id="path1327" fill="#cecfc1" d="M274.8 137c-.2.5-.7.7-1.3.5-.6-.2-1-.7-.9-1.2.1-.4.7-.6 1.3-.4.6.2 1 .7.9 1.2z"/>
+  <path id="path1329" fill="#1f2d86" stroke="#000" stroke-linejoin="round" d="M250.6 134.3h10.1v5.5h-10.1z"/>
+  <path id="path1331" fill="#707c8b" d="M254.9 135.5c0 .3-.5.5-1 .5s-1-.3-1-.5.5-.4 1-.4 1 .2 1 .4z"/>
+  <path id="path1333" fill="#9f1209" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M222 139.8l1.6 5.3-3 1.8s-1.5 1-3 .2c-1.3-.8-2.2-3.2-1.4-4.2 1.5-2 5.7-3.2 5.7-3.1z"/>
+  <path id="path1335" fill="#8f322f" d="M219.3 143.6c0 .8-.6 1.6-1.4 1.6s-1.4-.8-1.4-1.6c0-1 .6-1.7 1.4-1.7s1.4.8 1.4 1.6z"/>
+  <path id="path1337" fill="#e2a494" d="M218 143a1 1 0 01-.2.6c-.1.2-.3.2-.5.1-.2 0-.3-.3-.4-.6a1 1 0 01.2-.7.4.4 0 01.5-.1c.2 0 .4.3.4.6z"/>
+  <path id="path1339" fill="#9f1209" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M289.9 140.5l-1.7 4.7 4 2.2s1.7.8 2.8-.2c1-.9 1.2-3 .4-4-.7-1-5.6-2.7-5.5-2.7z"/>
+  <path id="path1341" fill="#aa675d" d="M294.6 144.3c0 .5-.6 1-1.3 1s-1.2-.5-1.2-1c0-.6.6-1.1 1.2-1.1.7 0 1.3.5 1.3 1z"/>
+  <path id="path1343" fill="#e2a494" d="M293.4 144c0 .4-.1.6-.3.8a.5.5 0 01-.6 0 .8.8 0 01-.3-.7c0-.3.1-.5.3-.7a.5.5 0 01.6 0c.2.2.3.4.3.7z"/>
+  <path id="path1345" fill="#f5d8bc" d="M264.6 134.8a.7.7 0 01-.8.7.7.7 0 01-.7-.7.7.7 0 01.7-.7.7.7 0 01.8.7zm4.3.3a.7.7 0 01-.7.7.7.7 0 01-.8-.7.7.7 0 01.8-.7.7.7 0 01.7.7zm-2.2 1.8a.9.9 0 01-1 .9.9.9 0 01-.8-1c0-.4.4-.8.9-.8s.9.4.9.9zm2 3a.7.7 0 01-.6.7.7.7 0 01-.8-.7.7.7 0 01.7-.8.7.7 0 01.8.8zm-4.1-.6a.7.7 0 01-.7.7.7.7 0 01-.7-.7.7.7 0 01.7-.7.7.7 0 01.7.7zm-20.9-3.7a.7.7 0 01-.5.9.7.7 0 01-.9-.6.7.7 0 01.6-.8.7.7 0 01.8.5zm4.3-.8a.7.7 0 01-.6.9.7.7 0 01-.8-.5.7.7 0 01.5-1 .7.7 0 01.9.6zm-1.8 2.3a1 1 0 01-.6 1 .9.9 0 01-1.1-.6 1 1 0 01.7-1 .9.9 0 011 .6zm2.7 2.4a.7.7 0 01-.5.9.7.7 0 01-.9-.5.7.7 0 01.5-1 .7.7 0 01.9.6zm-4.2.5a.7.7 0 01-.5.8.7.7 0 01-.9-.5.7.7 0 01.6-.9.7.7 0 01.8.6zm-19.2-.2a.8.8 0 01-.4 1 .7.7 0 01-.9-.5.8.8 0 01.4-1 .7.7 0 011 .5zm4.1-1.4a.8.8 0 01-.4 1 .7.7 0 01-.9-.5.8.8 0 01.4-1 .7.7 0 011 .5zm-1.4 2.5a1 1 0 01-.5 1.2.9.9 0 01-1.2-.5 1 1 0 01.6-1.2.9.9 0 011.1.5zm3 2a.8.8 0 01-.4 1 .7.7 0 01-1-.5.8.8 0 01.5-1 .7.7 0 01.9.5zm-4.1 1a.8.8 0 01-.4 1 .7.7 0 01-1-.4.8.8 0 01.5-1 .7.7 0 01.9.4zm56.2-6.2a.8.8 0 01-1 .5.8.8 0 01-.5-1 .8.8 0 011-.5.8.8 0 01.5 1zm4.4 1.4a.8.8 0 01-.9.6.8.8 0 01-.6-1 .8.8 0 011-.5.8.8 0 01.5 1zm-2.7 1.3a1 1 0 01-1.1.7 1 1 0 01-.8-1.2 1 1 0 011.2-.7c.5.1.8.7.7 1.2zm1.5 3.7a.8.8 0 01-1 .6.8.8 0 01-.5-1 .8.8 0 01.9-.5.8.8 0 01.6 1zm-4.3-1.7a.8.8 0 01-.9.5.8.8 0 01-.5-1 .8.8 0 01.9-.5.8.8 0 01.5 1z"/>
+  <path id="path1347" fill="none" stroke="#000" stroke-width="1.2" d="M292 94.9s-2 2-4.5 2a7 7 0 01-4.6-1.6c-.8-.6.2-2.2.2-2.2"/>
+  <path id="path1349" fill="none" stroke="#000" stroke-width="1.1" d="M248.9 99s-3.7-.7-5.3-1.3c-1.5-.5-1.1-1.6-3-1.5-1.7.2-3.5 1.5-3.1 3.4.4 2 1.7 2.2 3 1.8 1.2-.4.8-2.7-.8-2.6-1.7.2-.3 1.7-.3 1.7M223.3 96s1 1.6 3.7 1.3c2.7-.2 3.7-1.8 3.8-2.4.1-.7 0-2-.5-2.5s-2.3-.8-2.3-.8"/>
+  <g id="g1355" stroke="#161111">
+    <path id="path1351" fill="#c00" d="M312 169c1.6-1.5 4-3.2 5.4-6.9 1.3-3.5 2-9.8 3.2-13 1.5-5.5 4.6-10.8 1-10.5-3.6.4-4.8 3.8-6.1 6.3-.6 1-2 3-2.3 4 0-1.8-1-7.4-1.2-13-.2-5.2 0-10.6-.2-12.6-.2-2.7-.2-5.2-.8-7.2-.3-1-1.6-1.8-2.3-1.8-1.5 0-2.3 1.3-2.5 2.5l-.2 1.7-.1 5.2v5.6l-.5 7.2c0-1.3-.6-7.3-.8-13a419.5 419.5 0 01-.2-6.3l-.1-4.6c-.3-2.2-1-3.1-2.5-3.1-1 0-2.6.7-3 3.1a21.5 21.5 0 00-.3 4.6l.1 5c-.1 6.5-.2 13.5-.5 15.5 0-.7-.7-4.1-.8-8.7a804.7 804.7 0 00-.3-6l-.2-6c0-1-.4-3.9-2.3-3.7-1-.1-2.1.6-2.5 3.3-.3 1.5-.3 4.1-.3 6.1 0 3.9-.2 7.2 0 10.6v4.8c0 .3-.5-1.8-.8-4.6l-.5-5.4c0-1.4 0-3.5-.2-5.3 0-1.3 0-2.8-1.5-2.7-1.5.1-2.4.6-2.7 3.2-.2 1.6-.3 5.2-.3 6.5a88 88 0 01-1.1 13.2c-.1 1.6-.8 3.6-1 5.8a44 44 0 00.6 12.9c1.2 4.4 4.4 6.4 4.2 9.4v10.6c0 2.4 2 2.5 6.3 1.6 7-1.5 10.8 1.5 16.5-.7-.7-6.6.7-10.5.7-12.9zm-4-15.4c1.4-4 3.2-5.6 5-6.4" transform="matrix(1.6 0 0 1.70667 -224 0)"/>
+    <path id="path1353" fill="none" d="M292.1 149.5c2.2-.9 4.4-1.5 6.6-2.3 2.8-.7 5.4-1.8 8.1-2.2 1.4-.3 2.7-.6 4-.7m-22.5 26.3c.3-.2.6.2.9.2.4.1.8.3 1.2.2a66.9 66.9 0 012.6 0c1 0 1.8 0 2.6-.6m6.3.3c.3.3.6.5 1 .6.5.2 1 .3 4.6 0 2.1.1 4-1.7 4.6-2.3" transform="matrix(1.6 0 0 1.70667 -224 0)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-sct.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-sct.svg
new file mode 100644
index 0000000..6987b08
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-sct.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb-sct" viewBox="0 0 512 512">
+  <path fill="#0065bd" d="M0 0h512v512H0z"/>
+  <path stroke="#fff" stroke-width=".6" d="M0 0l5 3M0 3l5-3" transform="scale(102.4 170.66667)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-wls.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-wls.svg
new file mode 100644
index 0000000..3931a17
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb-wls.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb-wls" viewBox="0 0 512 512">
+  <path fill="#00ab39" d="M0 256h512v256H0z"/>
+  <path fill="#fff" d="M0 0h512v256H0z"/>
+  <g stroke="#000" stroke-width="1.2">
+    <path fill="#d21034" d="M339.5 113.2zm0 0a585.4 585.4 0 00-94.4 63.3c-14.3 12.6-10.3 22.6-10.8 33.8.4 7.6-1.7 14.6-6.3 18.8l-32 6.5-3-8.8c1-4.5 4.7-6.8 12.6-4 .6-5.7-4-8-9.5-10.1-2-1.5-4.2-2.6-4-7.6-.9-11.4 17.4.8 17.5.8.2 0-.6-11.5-9-13.8-4.5-1.6-6.4-6.4-4.7-10 3.6-7.3 10.5.6 15.8.9-.2-4.8-1.6-8.2-5.7-12-2.2-1.4-7.6-2.4-7.7-4.7-.1-3 5-4.4 12.2-3.5-1.5-4.4-6.3-7.2-12.9-9.2l-3.9-6.8c-1.8-3.4-2.7-3.5 1.6-10l12.8-8.5-4.2-.5c.5-4.6.6-6.2 1.7-13.9-4.2 5.6-9.3 4.6-14 7 0 0-13.2 2.3-17.4 8l-33.3-1.8c-7 1-13 3-14.3 9.9-16 1.6-33 .2-45.3 15.6 8.4-.4 15.7-2.4 25.1-1.2 0 0 8 .2 9.7 8.7.2.3 2.7.3 2.7.3l3 2.4 1.3-3.3 2.7 2 .8-3.6 2.7 1.8.2-4.2 3.6 2.5v-5.6s13.1 0 17.1 8.4c.2.1-36.8 6.8-72.6 3.7l10.3-5.1c-13-2.7-25.3-5-36.8-14.1 4.4 16.4 26.8 35.6 31.4 35.5l-4.4-8 38.9 1.7c1.4 4.3.8 9.1 4.2 12.9 0 0-2.1 7.1 2.6 10 .2.4 5.7-14.4 5.7-14.4s1.7 4 3.4 6.6c2.5-12.7 16.3-14.8 16.3-14.8l3 6.8c-4.4.7-9.8 9.5-6.9 14.3-2.9 0-8 8.6-6.4 13.2-2.5 2.4-8.5 5.7-7 15.8-4.8 1-7.6 9.8-6.1 19-7.4 6.9-5.6 19.5 1 24.6-2.7 2.5-4.4 4.3-4.4 7.3-2.6-1-5-.1-6.1 1.6-3.2-3.3-7.8-6.2-11-3.1-.9-3.9-6-8.1-11.4-7.6.3-4.1-1.8-9.1-7.7-10.9 0 0-1.1-19.1-7-25.3-.5-3.5.4-5.8 5.2-8.6 4.7-2.6 5.8-4.6 5.4-11.8 1.9-4.8 3.3-9.7-2.5-13 .1 5.7-1.6 8.5-4 11-2.7-.4-3.7 2.8-5.5 4.3-2.7-3.6 5.5-9-.6-16.9-.3-.3-4.2-10.2-13.7-10a13 13 0 016.4 11.7 35 35 0 00-1.5 24.8c-4-6-6.2-17.2-9.5-19.2-2.9-.5-4.3-7.3-15.4-5.4 4.8 1.3 6.3 5 7.6 8.3-3 1.6-1.5 5.6.7 8.3-.4 6.6 3.5 10.4 9.3 12.8l-2.9 26.6c-2.3-.3-5.9 8.8-7.3 9-2.2 1.4-6.2 5.2-1.7 6.3-1.3 4.9-2.6 7.8-9.8 8.8 0 0 7.7 4.6 14-3.2 6.8-.2 4.6-8.3 7.9-11.9 0-.1 1.8-1.3 4.6-8.5 1.2 6.4 7.7 26 22.5 35.7 13 13.8 23.6 26.9 23.5 45.3 5-4.7 8-12.1 10.3-19.2 7-2.4 17-3.3 26-3-1.5 3.3-3.2 6.4-1 8.5-6.3 2.1-7.6 6.6-5.1 11.2-6.6 4.4-7 7.3-7.1 14.7-12.2 15.6-19.7 15.1-31.8 11-4-2.3-10-5.6-12.9-3.8-5.2-3.5-12.7-4-14 3.9 4-3.3 6.3-2.6 9.4.5-.6 1.6-1.1 3.1 1.2 4l-3 3.4c-5.6-.8-13.2-.8-15.1 7.3 2.8-2.3 9.2-3 14.4-.6l2.9 1 .3 3.9s-7.6-1.2-9.7 11.2c7.2-7.6 12.3-5.6 12.3-5.6 2.7 4 12.9 3.4 20.2-3.2 10.2-5.8 13.2 2.5 19.8-3 5.5-4 12-1.3 16.5 3.5 5.1 1.9 10.5 3.5 14.8 0 0 0 5.1-3.3 10.3 2 0-6-4.2-9.2-10-9.3l-1.7-1.7c-5.4-1.2-11.5-.7-16.3-3.4a49 49 0 0111.9-22.8c7.8-8.4 13.6-12.2 23.6-25.2-.4 7.3 5.2 15.4 8.1 22.9 0 0 6-9.5 6.8-17.2.2 0 7.4-3.8 10.5-7 6.6 4 17.2-3.2 24.1-9.3a17 17 0 0012.4 0c-4 8 2.3 15.5 12.3 18.7.9 7.1 8 8.6 19 8.6.4 4.2 7 4.8 7 4.8-4.2 2-6.3 3.8-6.2 8.2-4.2 0-7.4 1-8.5 5.9a34 34 0 00-16.6 3.4 29 29 0 01-16-7.3c-2.1-1.8-2.7-4.4-6.4-5.4-2.4-2.9-5.2-2.2-6.1.5-2.5-2-11.7-2.9-13.3 5.9 4.3-3.2 8.2-4.4 11-.5-1.6 2.7 3.5 4.2 7.9 5.3 3 .2 8.6 3 10.3 7.8a17 17 0 01-14-2.3 9.2 9.2 0 00-11-.6c-3.8-2.4-12.5 2-12.8 9.1 3.6-3.4 7-5 10.3-2.8-1.6.4-1 .5-.8 1.5l8.5 4.9c-4.2 1.1-8.1 2.8-6.3 10.5 0 0 3.4-6.7 11-4.2.2-.2 1 2.4 3.2.7 3.3-3.8 11-5.5 17.5-6.1 5.4-.7 10.7-2.2 15.3.8 4.1-2.1 8.7-3.6 13.4-.2 5.6 1.8 9.6 8.2 16.7 5.3 3.5-2.4 7.8-2.6 12.2 2.4 0-6.2-4.6-8.3-11.2-9.7l-4.6-2.7c-4.2-.7-8.5.1-12.8-1.9a78 78 0 0048.8-35.8l10.5 3.7c2.5.2 2.7 1 7.8 2.6.2-7.6-3-15.4-16.6-16.1l-17.9-6.8c-3.7-4-5.5-12.5-.6-17.5 4.7-4.2 5.5-3.7 8.6-8.8 3.8-.4 7.4 3.5 10.9 3.5 1.7 5 11.2 9.3 17.3 7.8 3.8 3.4 11 5.3 19 2.6 4.5 4 10.4 5.6 17.3 2.5 1.9 1.8 5.7 3.3 10.2 2.4.4 0 2.3 4.9 7.2 6.6-2.2 2-.9 11 1.3 14.3-1.5 3.4-2 7-.7 10.7-4.9 3.1-5.9 5.5-3.7 10.8-6.4 10.4-14.1 11.5-21.4 8.3l-7.8-4.9-8.3-8.1c-1.4-1.4-4.3-1.8-5 1.2 0 0-10.6-2.4-11.5 6.6 4.4-4.3 10.7-.5 10.7-.4 0 .2-1.5 1.2-.3 3 .2-.3 7.8 2.8 14.5 5.6a28.5 28.5 0 00-9.3-2.4c-3.8-.4-7.8-.9-9.6 2-4.1 1.7-10.5 3.1-10.2 10.7 2.7-4.5 6.5-4.3 11.3-4 0 .4-.2.8-.3 1.1 5.2 2.4 4.3-.7 9.1-1.1 4.1-.4 10 1.1 13 2.1-3.9 1.1-9.1.7-11.6 3.4-.4 1-2 .5-1.3 2.7 0 0-7.5-.2-9.5 10.2 7.6-4.9 13.4-4.7 13.5-4.7l2.4.5s9.2-6.2 9.4-6.2c.1 0 8.8-3.8 12.9.6 3.4 1.7 7.2 1.8 10.8-.4 7.2-3 13.8-3.3 20.4 1l6 3.6 2.5-1.7s6.7-1.9 11.6 4c-2-10.3-9.4-10.6-9.4-10.6l-1.7-1.5-10.5-4.1c-1.6-3.8-5.4-6.8-1.6-11.4 4-19.5 8.6-34 1-53.8 7.1 3 12.4 12.5 21.3 9.2 0-8-29.2-23-51.5-35 36.5-2 80.4-28.9 63.5-63.1l8-24.8a34 34 0 0018.2 15.8c-5.6-10.8-8.9-43.6-5.6-66.2a529.6 529.6 0 01-48.2 50.6c8.4 2 15.9.6 24-.4l-6.8 14.3c-22.5-13.2-48.8-3.3-49 14.2.8 20.5 26 23.4 40.6 16.3-2.9 18.6-45.7 11.7-45.7 11.7-15.2-5.2-29.7-4.3-45.6-4.2 3.3-10.2 21.7-19.3 35.8-15.3-19.7-22 2.8-49.4 29.8-57.9-29.5-9.7-4-32.2 18-48.3 0 0-63.5 26.7-69.3 26.6-18-1.3-13.1-22.7-6.3-34.2zM140 139c1.5 0 3.2.2 4.6.5 2.9.7 6.4 1.1 6.3 2-1.3 2.2-4.6 4.9-7.8 4.7-3.2-.1-5-2-6.1-6.9.3-.2 1.5-.3 3-.3zm267.5 75.4c4.1 0 9.1 1.7 14 6.9-2.4 6.7-22.7 10.2-24 .2-.4-3 3.9-7 10-7z"/>
+    <path fill="none" stroke-linejoin="round" d="M161 197.9l3 4.5m0 .1s0 6 1.2 6.2m-2.8 3.2l3.2 5.3m-8.8 1.4l4 4.4m3.2-3.4c0 .2 3.6 6.9 3.9 6.9m-8.6-2.3s1.3 8.2 2.4 7.9m-7.7 7l3.6 5.5m3.1-11.2s2 7.7 3.5 7m1.6-11.7c.1.2 3.6 5.2 4.6 4.5m-.8 2l3.3 6.7m-9-1.5c.2.2 2.8 8 2.8 8m-9.2-4s2.5 8.6 4.8 7.2m-5.8 4.2s.2 4.5 2.4 4.7m1.5-7c0 .2 2.3 3.3 2.3 3.3m4.1-8.6l1.9 3m4-8.4l2.9 3.5m-15.8-43.7c.1 3.8 6.1-1.4 8.5-4.6m-11 17.7s6.5-4.6 11.6-11.6M155 226.8c4.6-1.3 13.1-11.6 14.8-17M154.1 237c1.3.6 17.2-10.9 17.6-19.3m-18 28.1c0-.1 14.5-3.7 20.6-19.7M152.9 258s23.2-13.9 24.5-24.1M334 281.3s-1.5 12-13.5 13.8m17.3 7.6c.2-.1 11.5-12.6 8.6-16.4m17.8 4.4s-.2 8.7-7.3 14.7m21.4-12.2s.3 10.5-4.2 14.7m17.2-8.4s-5 9.8-6.8 10.8m6.6 6.6s6.6 1.7 8.7-2.7m-7 17s6.2 1.1 9-4.8m-9.6 15.8s5 4.2 8.3-1.3m-79.3-79.6s-.6 21.3 29.4 25.6c33.5 9.3 49.3 4.4 51.3 41.9-1.3 14.3-3 30.4-13.4 24.3m-99.1-72.2s4.7 8.5 10.5 8c7.5-2.3 10.3 2.4 10.3 2.4m-41.3-1.9s12.6 6.2 23.4-3.8m-22-5c1.1 14.7-17 23.1-24.1 21.7m25 34.7c.1 0 9.8-5.8 7.8-9.9m-27 1.3c.2-.3 16.2-1.8 19.1-7.6m-26.6-16c0-.1 22.7.1 24.2 4.3m6-17.7s-22.2 37.8 18.7 37.8m-42.2-38.4s-4.7 14.2-11.5 19m-12-23.9s8.2 16 0 23.8m-21.4-19.3c.1.3 2.6 22.6-3 28.9m-7.7-28.2s.9 14.2-3.3 19.2 1 15.5 1 15.5m-51.1 6.8s3 5.3 7.2 3.5m-2.1-15s6.7 3 9 1.8m-1.7-25.6s-10 2.8-6.2 14.5c5.7 4.7 11.4 4 11.4 4M135 347.3c-.2 0 1 9.2 7.5 2.2 4.5-9.4 18.7-35.8 21.9-45m6.6-4.3s-6.9-5.3-6.6 2.1c-.2 4.6 2 5.8 2 5.8.4 3.3 3.3 8 5.7 3.7 1-4.1-.7-6-.7-6m4-7.5c-6.3-.5-9.6 13.1 2.3 4.6m4-9.3s-1.5 2.1-3.9-.1c-1.2-2.2-5.7 10 2.1 10.5 1.4-3.6 5.8-4.6 5.8-4.6m3.6-11.6s-3.5 1.6-4.7 1.4c-4.2 1-3.4 10.7 2 10.2 1.7-2.1 3.7-5 3.7-5m-34-19.5c-.2 0-14 21.7 7.7 27.4m167-60s-8.4 7.2-.6 18.7c-26-.4-40 11.6-41.2 19.7-33.2-2.3-27.2 7.5-38 10.7-14.4-12-35.6-5.3-34.2 6.7-9.6-13.6-24.5-7-26.3-3.6-1.8 3.3-1.1-16.7-1.1-16.7s-9.7 4.3-16.4 12.3v-16.8c-8 1.6-15.9 1.7-24.2 1.6m-21.9-6.2s12 6.7 27-2.4m-28-21.9s9.4 8.5 27 5.8M132 225s2.1 6.9 22.3 7.3m-15.5-23.2s7.6 9.3 17.9 8m-11.4-21.3s3 5.1 14.2 6m-7.6-20.7s5.9 6.5 12.6 5.4m22.4-57.7s2.6-2.6 7-1.3m-8.9 15s-8-.3-7.5-3.5c.6-3.6 8.5-6.2 8.5-6.2s10.6-6.8 12.2-9.1m-47.8 37l10.3 19.7 5-7.4 2.5 5.1 4.2-7.4 7.3 4.7-2.8-9 6.1-.4s-1.6-4.4-7.1-5.3a153 153 0 016.5-4.4s-2.9-3.4-7.4-3.5c1.5-1.6 3.5-5.5 3.4-5.5l-4.5-1s10.3 3.3 18.2-1.3m-19.7-16c.2.2-.5 4.1-2.7 6.4m-37 4.5s6.4-1.7 11.2-.8c4.7 1 11 2.7 11 2.7s7.6-1 10-2.8m-47.9 5.1s-.9 3-1.2 5c0 1.5-4.6 3.4-4.6 3.4M120 138s4 5 4.2 8c.1 2.9-3 5-3 5m-43 21.6l-4.2-6.8 3.7-1.3m76.3 102c-3.4-4.4 2.5-71 15-88.5-4.4 31.4 10 63.5 13.7 63.4m-66.6-82s5.6 2.2 17.4-7.1m16 22.5l8.4.1m253.4-52.4s-140.7 65.8-142.7 69.2c23.7-7.1 124.4-24 126.9-22.5-6 1.5-128.2 29.5-133.9 36.3 30.5-1 94.4 9.8 104.4 20.2-21.7-4.9-86.6-14.5-106.4-10.2 14.5 3.5 70.2 39.5 70.2 45.3-8.4-8-75.4-35.7-78-33 15.3 9.2 37 43.4 37 51.8-4.5-7.2-43.2-48.8-45.4-46 4 5.6 12.2 54.7 8 57 0-6-15-48.9-16.2-50.1-3 .8-22.2 52.4-18.4 57.2-2.5-17.2.4-53.1 5-51.7-8.3 1.2-35.1 36.5-32.2 42 .8-8.7 2-14.6 17.1-43.8-16.8 1-51.6 22.9-57.5 30.7 4.7-14 34.2-37.5 47-39.1m60.8-51.3c14.9-8.2 60.8-25 91.5-37.4M228 228.9s10-.1 20.2-27.6c10-37.7 89.2-79.6 90.8-87.5m-245 153s-2.4 5-5.3 6.4m16.6 1.2s-3.2 6-3.9 9m14.7-6s2.7 8.3.5 12.2M86 255.7c-8 4.5 4.5 32.9 42.3 35.6m-6-15.3s-1.1 5 6 15.2c-2 11.3 8.6 20.1 12.8 21.6m-22-138.6l1.2-3 1.3 3.3h2l1.4-3.4 1.2 3.4h2l1.3-3.8 2 3.6h1.6l1.3-4.3 2.6 3.1 1-.4.8-4.3 2.6 3 .8-.4 1.2-4.2 2.2 3.1 1-.3 1-3.6 2.1 3.3m-32.9 5.3l15.8-.3c5 0 13.3-7 22.6-4.8m-71.7 38.9s2.6 5.6 6.3 2.4m-12.3 1.3s-5.1 13.7 1 16.8m-8.3-31.8s0 3.2 6.7-1.8m-27.4 73.3s5.4 1.6 4.5 5.7M51.5 206s3.4 1.7 6.6-3.3m28.8 160c5.2-.3 6.3 2 11 2 5.5.2 10.8-2 17.8-3.9m44.7 12.6c-.1 0-2.5 5-.4 7.4m-73.9-7s8.3-6.7 12.6-2.5c4.2 1.4 6.5 1.1 6.5 1.1m-14.7-18s2 5.3-4.8 4.6m-2 7.5s4.3 2.7-.6 6.3m3.2 5s6 .8 2.5 5.6M278 341.7s16.1 1.7 16.9 2.9c1.8-2 16.2-13.6-1.5-15.3a16.1 16.1 0 01-15.4 12.4zm-5.7 8c6 4.9 3.5 7.8 22.4-5m-31 11s8.9 9.6 15.3-2m-32.3 5.5l-12 6.3m-21.7 8.9s7.3-6.3 10.7-3c3.5 3.4 18-2.8 18-2.8M218.5 347s2.5 5-2.4 5.6m-7.2 10s2.6 4.7-2.4 6m8 6.8s7.7.4 5 6.1m66.1-7.1s-4.2 3.5-1 7.5m61.5-32.8s4.8 2.3-1 6.3m-4.7 8.3s3.6 3.8 1.2 7m8.9 7.6s5 1.4 4.4 5.5m65.6-9.2s-4.2 3-2 7M346.4 253c10-1.2 24.3 21 31.6 25.4m43.8-56.9s5 4.4.6 15.1m8.8-32.1c1.4 1.1 6.9 4 10.5 10.7m3.4-44l-7 19m14.9-20s-1.4 17-3.4 20.4m-28 30.7c-2.3 6.8-22.7 10.2-24 .2-.7-5 12-13 24-.2z"/>
+    <path stroke-linejoin="round" d="M139.8 139l7.9 1.4s-5.5 7.4-7.9-1.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb.svg
new file mode 100644
index 0000000..ef048dc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gb.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb" viewBox="0 0 512 512">
+  <path fill="#012169" d="M0 0h512v512H0z"/>
+  <path fill="#FFF" d="M512 0v64L322 256l190 187v69h-67L254 324 68 512H0v-68l186-187L0 74V0h62l192 188L440 0z"/>
+  <path fill="#C8102E" d="M184 324l11 34L42 512H0v-3l184-185zm124-12l54 8 150 147v45L308 312zM512 0L320 196l-4-44L466 0h46zM0 1l193 189-59-8L0 49V1z"/>
+  <path fill="#FFF" d="M176 0v512h160V0H176zM0 176v160h512V176H0z"/>
+  <path fill="#C8102E" d="M0 208v96h512v-96H0zM208 0v512h96V0h-96z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gd.svg
new file mode 100644
index 0000000..cca37ba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gd.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gd" viewBox="0 0 512 512">
+  <defs>
+    <g id="c">
+      <g id="b">
+        <path id="a" fill="#fcd116" d="M0-1v1h.5" transform="rotate(18 0 -1)"/>
+        <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+      </g>
+      <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+      <use width="100%" height="100%" transform="rotate(144)" xlink:href="#b"/>
+      <use width="100%" height="100%" transform="rotate(-144)" xlink:href="#b"/>
+      <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+    </g>
+  </defs>
+  <path fill="#ce1126" d="M0 0h512v512H0z"/>
+  <path fill="#007a5e" d="M71.7 71.7h368.6v368.6H71.7z"/>
+  <path fill="#fcd116" d="M71.7 71.7h368.6L71.7 440.4h368.6z"/>
+  <circle cx="255.9" cy="256.1" r="61.4" fill="#ce1126"/>
+  <use width="100%" height="100%" transform="translate(256 256) scale(56.32)" xlink:href="#c"/>
+  <use width="100%" height="100%" x="-100" transform="translate(-16.4 -.1)" xlink:href="#d"/>
+  <use id="d" width="100%" height="100%" transform="translate(256 35.9) scale(33.28)" xlink:href="#c"/>
+  <use width="100%" height="100%" x="100" transform="translate(16.4)" xlink:href="#d"/>
+  <path fill="#ce1126" d="M99.8 256.8c7.7 14.3 22.6 29.8 35.7 35.3.2-14.5-5-33.2-12-48l-23.7 12.7z"/>
+  <path fill="#fcd116" d="M86.8 207.6c11.1 23.3-29 78.7 37.8 91.7a67.5 67.5 0 01-11.5-44.7 75.5 75.5 0 0134.6 32.8c17.5-63.4-44.8-59.5-61-79.8z"/>
+  <use width="100%" height="100%" x="-100" transform="translate(-16.4 442)" xlink:href="#d"/>
+  <use width="100%" height="100%" transform="translate(256 478) scale(33.28)" xlink:href="#c"/>
+  <use width="100%" height="100%" x="100" transform="translate(16.4 442.2)" xlink:href="#d"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ge.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ge.svg
new file mode 100644
index 0000000..ac1d87b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ge.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ge" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="red" d="M205 0h102v512H205z"/>
+  <path fill="red" d="M0 205h512v102H0z"/>
+  <path fill="red" fill-rule="evenodd" d="M114.1 397.9c1.1-18 4.3-33.4 4.3-33.4s-10.6 1-15.9 1c-5.3 0-15.9-1-15.9-1s3.2 15.3 4.3 33.4c-18-1.1-33.4-4.3-33.4-4.3s1 8 1 15.9-1 15.9-1 15.9 15.3-3.2 33.4-4.3c-1.1 18-4.3 33.4-4.3 33.4s8-1 15.9-1c8 0 15.9 1 15.9 1s-3.2-15.3-4.3-33.4c18 1.1 33.4 4.3 33.4 4.3s-1-10.6-1-15.9c0-5.3 1-15.9 1-15.9s-15.3 3.2-33.4 4.3zm307-307c1.1-18 4.3-33.4 4.3-33.4s-10.6 1-15.9 1c-5.3 0-15.9-1-15.9-1s3.2 15.4 4.3 33.4c-18-1.1-33.4-4.3-33.4-4.3s1 8 1 15.9c0 8-1 15.9-1 15.9s15.3-3.2 33.4-4.3c-1.1 18-4.3 33.4-4.3 33.4s8-1 15.9-1 15.9 1 15.9 1-3.2-15.3-4.3-33.4c18 1.1 33.4 4.3 33.4 4.3s-1-10.6-1-15.9c0-5.2 1-15.9 1-15.9s-15.4 3.2-33.4 4.3zm-307 0c1.1-18 4.3-33.4 4.3-33.4s-10.6 1-15.9 1c-5.3 0-15.9-1-15.9-1s3.2 15.4 4.3 33.4c-18-1.1-33.4-4.3-33.4-4.3s1 8 1 15.9c0 8-1 15.9-1 15.9s15.3-3.2 33.4-4.3c-1.1 18-4.3 33.4-4.3 33.4s8-1 15.9-1c8 0 15.9 1 15.9 1s-3.2-15.3-4.3-33.4c18 1.1 33.4 4.3 33.4 4.3s-1-10.6-1-15.9c0-5.2 1-15.9 1-15.9s-15.3 3.2-33.4 4.3zm307 307c1.1-18 4.3-33.4 4.3-33.4s-10.6 1-15.9 1c-5.3 0-15.9-1-15.9-1s3.2 15.3 4.3 33.4c-18-1.1-33.4-4.3-33.4-4.3s1 8 1 15.9-1 15.9-1 15.9 15.3-3.2 33.4-4.3c-1.1 18-4.3 33.4-4.3 33.4s8-1 15.9-1 15.9 1 15.9 1-3.2-15.3-4.3-33.4c18 1.1 33.4 4.3 33.4 4.3s-1-10.6-1-15.9c0-5.3 1-15.9 1-15.9s-15.4 3.2-33.4 4.3z" style="mix-blend-mode:multiply"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gf.svg
new file mode 100644
index 0000000..c00a576
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gf" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gg.svg
new file mode 100644
index 0000000..2d06a9f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gg.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gg" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="#e8112d" d="M192 0h128v512H192z"/>
+  <path fill="#e8112d" d="M0 187.7h512v136.6H0z"/>
+  <path id="a" fill="#f9dd16" d="M46 305.8l23.3-25h210v-49.7h-210L46 206.2z"/>
+  <use width="36" height="24" transform="matrix(0 1.06667 -.9375 0 496 -17)" xlink:href="#a"/>
+  <use width="36" height="24" transform="matrix(0 -1.06667 .9375 0 16 529)" xlink:href="#a"/>
+  <use width="36" height="24" transform="rotate(180 256 256)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gh.svg
new file mode 100644
index 0000000..4b6446d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gh.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gh" viewBox="0 0 512 512">
+  <path fill="#006b3f" d="M0 0h512v512H0z"/>
+  <path fill="#fcd116" d="M0 0h512v341.3H0z"/>
+  <path fill="#ce1126" d="M0 0h512v170.7H0z"/>
+  <path d="M256 170.7l55.5 170.6L166.3 236h179.4L200.6 341.3z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gi.svg
new file mode 100644
index 0000000..39f5b27
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gi.svg
@@ -0,0 +1,32 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gi" viewBox="0 0 512 512">
+  <path fill="#da000c" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h512v343H0z"/>
+  <g stroke="#000" transform="matrix(2 0 0 2 -256 0)">
+    <g id="a" fill="#da000c" stroke-linecap="square">
+      <path fill="#000" stroke="none" d="M196.6 116.3h64v44h-64z"/>
+      <path d="M229.8 153.9h-39l-8.7 5.7v6h47.7m-16.3-37c5.6 0 10.2 4.7 10.2 10.5v14.7h7.3v-56h-40.3v56h12.6v-14.7c0-5.6 4.5-10.5 10.2-10.5z"/>
+      <path fill="#000" stroke="none" d="M204.5 60h18.6v34h-18.6z"/>
+      <path d="M223 88.7h-16.2v-5.8h-11.9v5.8h-8v-5.8H182v10.4h41m-36.2 0h35v4.5h-35zm14-45.7V83h6v-9.7c0-3.6 2.5-6.6 6.1-6.8h.4a6.8 6.8 0 016.8 6.8V83h5.7V47.6zm-2.3-4.8v4.8h29.3v-4.8zm-3.7-9.1v9.1h35v-9.1h-5.3v4.7h-6.6v-4.7h-10v4.7h-6.5v-4.7zM182 159.6h48m31-2.8h-32.4l-9.8 4.7v7H261"/>
+      <path stroke-linecap="butt" d="M218.8 161.5H262"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)" xlink:href="#a"/>
+    <g fill="#f8d80e">
+      <g stroke-linecap="round">
+        <path stroke-width=".8" d="M273.3 150c-2.7 1-5 2.4-7.5 3.8a72.4 72.4 0 00-8.9 6c-1 .7-2 1.4-2.7 2.4-1 .8-2 2-1.8 3.5 0 .6.8-.8 1.4-.9a4.4 4.4 0 013.1-.4c1.3-1.4 3-2.3 4.4-3.4a77.4 77.4 0 0113-7.6l-1-3.4z"/>
+        <path d="M260.4 157.4v3.9m2.4-5.6v3.9m2.4-5.4v3.8m2.5-5.3v4"/>
+        <path stroke-width=".8" d="M238.9 150.2l-1.2 3.3a86.6 86.6 0 0115.8 8c1.7 1.2 3.5 2.3 4.8 3.9.3.8-.5 1.5-1.3 1.2-.7-.2-1.5-.5-2.2 0-1.1.5-2.1 2.2-.5 2.7 2.4 1.6 6.1.9 7.2-1.8.6-1.4.7-3.2-.5-4.4-2-2.3-4.8-4-7.4-5.7a89.2 89.2 0 00-14.7-7.2z"/>
+        <path d="M254 158l-.3 3.4m3.1-1.7l-.8 3.3m3.8-1l-1.8 2.6m2.7 3.6l-2.6-1.4m3.4-1.4l-3 .3m-.8 4l-.2-2.6m-1-.3l-2.4 1.8m-9.4-15.7v3.1m6.3.3v3.5m-3.2-5.2v3.3"/>
+      </g>
+      <path d="M235.8 227.6v8h5v-4h6.9v4h5.4v-8zm0 11v8H253v-8h-5.4v4h-6.9v-4z"/>
+      <path d="M253 193.7h5v58h-5z"/>
+      <path d="M253 198.7h5v50h-5zm2.6-19.3l10.6 6.2-10.6 6.2-10.7-6.2zm-14.3 4h-2.7v4.4h2.7l14.3 8.3 14.2-8.3h2.8v-4.4h-2.8l-14.2-8.3z"/>
+      <path d="M255.3 164.3a5 5 0 00-4 5.1v11.2a5 5 0 004.6 4.6 4.9 4.9 0 004.8-2.8l-1.7-1a2.9 2.9 0 01-3 1.8c-1.6 0-2.9-1.6-2.7-3.1v-11.2a2.9 2.9 0 013-2.6c.6-.2 1.5.7 1.9 0 .6-.9-.4-1.5-1-2h-1.9zm5.8 3.9a5 5 0 01-1.9 1.6v7.5l2 1.1v-10.2z"/>
+    </g>
+    <g fill="#da000c">
+      <path fill="#000" stroke="none" d="M240.8 38.4h29.3v53.2h-29.3z"/>
+      <path d="M238.8 38.4v44.5h9.3V69.7c0-3 2-7.3 7.9-7.3s8 4.3 8 7.3V83h9.2V38.4zm15.8 5h2.8v15.2h-2.8zm-8.3 3h3v11.1h-3zm16.5 0h2.9v11.1h-3zM235.6 32v6.3h40.8V32zm-3.8-7.4V32h48.5v-7.4h-6.1v4h-7v-4h-7.8v4h-6.8v-4h-7.9v4H238v-4zm-9 73.2v4.6h66.5v-4.6z"/>
+      <path d="M220 82.9v15h72v-15h-6.8v5.8H276v-5.8h-12.2v5.8H248v-5.8h-12.2v5.8h-9v-5.8z"/>
+      <path stroke-linejoin="round" d="M228.7 102.4v54.4h12.8v-20.4c0-9.5 6.4-14 14.5-14 7.8 0 14.5 4.5 14.5 14v20.4h12.8v-54.4z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gl.svg
new file mode 100644
index 0000000..7a026d9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gl.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gl" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="#d00c33" d="M0 256h512v256H0zm53.3 0a170.7 170.7 0 10341.4 0 170.7 170.7 0 00-341.4 0"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gm.svg
new file mode 100644
index 0000000..b06ab6c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gm.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gm" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="red" d="M0 0h512v170.7H0z"/>
+    <path fill="#fff" d="M0 170.7h512V199H0z"/>
+    <path fill="#009" d="M0 199.1h512V313H0z"/>
+    <path fill="#fff" d="M0 312.9h512v28.4H0z"/>
+    <path fill="#090" d="M0 341.3h512V512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gn.svg
new file mode 100644
index 0000000..8f8855d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gn.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gn" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="red" d="M0 0h170.7v512H0z"/>
+    <path fill="#ff0" d="M170.7 0h170.6v512H170.7z"/>
+    <path fill="#090" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gp.svg
new file mode 100644
index 0000000..0a5bdb0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gp.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gp" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gq.svg
new file mode 100644
index 0000000..8149406
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gq.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gq" viewBox="0 0 512 512">
+  <path fill="#e32118" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h512v341.3H0z"/>
+  <path fill="#3e9a00" d="M0 0h512v170.7H0z"/>
+  <path fill="#0073ce" d="M0 0v512l160-256z"/>
+  <g stroke="#000">
+    <path fill="#fff" d="M215 204.5h81.7v85.6c0 28.8-37.5 6.6-40.7 22-5.6-15.8-40.8 7-40.8-23.7l-.2-83.9z"/>
+    <path fill="#73452b" stroke-width=".2" d="M261.7 298.4s-1 1.1-3 .3c-1.9-.9-2.1-54.9-2.1-54.9 4.3-4.7 7.7-6.1 7.7-6.1l2.5 2c-9.6 5-8.7 12-7.9 24.2.3 4.5.3 10.2 1.3 15.8 1.5 7 4.5 13 4.7 17.5.2 2.8-3.2 1.3-3.2 1.3z"/>
+    <path fill="#73452b" stroke-width=".2" d="M255.1 236.4h3.9c-3.3 31-.5 49.3-.5 58.2 0 3 1.7 4 1.5 4-3.8 4.3-5.8-.2-5.8-.2z"/>
+    <path fill="#a36629" stroke-width=".2" d="M249.1 298.4c-3.6 1.8-4-1.6-3.8-2 7.9-16 11.3-51.3 4-55.1l.5-3.4c2.7.8 5.3 4.4 5.3 4.4 1 39.5 0 55.7-.6 56.4-3.9 4-5.4-.7-5.6-1.1"/>
+    <path fill="none" stroke-width=".2" d="M249 297.8c-.7-3.4 5.5-12.2 5-21.3m5.4 7.5c1.9 5.3 2.8 10 2.3 14.5"/>
+    <path fill="#009a3b" stroke-width=".2" d="M267.7 221.9c1.3-1.5 1.3-1.5 3.6-1.5.4-3.2 5.8-3.2 6.2.8 4.3-.8 5.1 1.7 3.4 4.3 4-1 7.7 0 6.6 4.7 7.3 2 4.5 7 1.3 8-.4 3.3-3.4 4.4-7.5 3-5 3.7-8 2.4-10.4-1.2-5.8.8-6.2-.4-8.7-3.6-4.5 1.9-5.4 1.9-9.2-.5-.2 3-1.3 2.2-3.2 2 .2 3.8-1.3 5.5-4.7 4.2 2.5 5.4-4 7.7-7.3 3.2-3 .2-3.2-.6-4.7-1.7-1.2 4.3-6 3.7-6.8 1.3-6-.9-5.3-4-.4-4.3.4-3.4 3.4-2.7 5.3-2.3.2-2.1 1.5-1.7 2.6-1.3-.7-1.5-.2-2.3 1.7-2.8-2.8-3.6-1-4.9 1.7-6.2-1.5-3.4 1-3.2 3-3.4-.2-3.6.8-4.2 4.7-4.7-.5-1.2.2-2.3 2.3-2.3-1.3-3.6.4-4.5 4.3-3.8.6-5.3 12-2.8 11 4.4 3.3.5 4.3 1.1 5.2 3.7z"/>
+    <path fill="none" stroke-width=".2" d="M244.9 220c.8.4 1.9 0 2.1 2.3 1.7-3 3.8-1.3 3.8 2.1m11.8-6.2c-.9 1.3-4 1.3-3.7 4.7-1-1.5-3.1-1.9-4-.4m12.8-.6c0 .8-.2 3.4-1 4.7m14.2-1.1c.2.2-3 0-4.5 1m12.4 11.8c-.8-.4-2.6-1.5-3.8.2 0-.9 0-3.2-2.4-3.2m-1.2 6c0-2.2-.5-2.8-1-3.4m-6 .4c-1.8-1.3-3.5.6-3.5 1.7m-9-3.6c0-.9-.6-2.6.9-3.2m-25.2 12.1c.4-2.1 2-2.1 1.7-3.2-.2-1.7-2.1-3.2-4.5-.8m4.5.8c1.3-.4 2.6-.2 3 .5m-6.6-8.4c.9-.8 3-.6 4.3 0m0-5c1 0 3-.5 3.6 1.4 2.3-3.6 4-3.2 4.5-2.3m4.2-.5c1.7-.6 4.7 1.1 6.4 4 .9-2.2 2.2-1.8 3.5-2m8 2c2.8-1.2 4.5 1.4 5.4 2.4 1.3-1.7 2.3-1.7 3.6-1.7m-34.8 4.5c.7-1 2.2-1.3 3.2-.6-.2-2 1.1-2.8 2-2.4"/>
+    <path fill="gold" stroke-width=".8" d="M253.2 192.6l-4.7.2-2.3 4.2-2.6-4-4.7.2 2.1-4.3-2.5-4 4.9-.2 2.1-4.2 2.6 4 4.7-.2-2.2 4.2zm-20 1.5l-4.8 1.2-1.2 4.5-3.4-3.4-4.5 1.1 1.2-4.5-3.1-3.5 4.4-1.1 1.3-4.6 3.4 3.4 4.7-1-1.5 4.5zm-19.5 4l-4.2 2.1-.3 4.8-4-2.6-4.3 2 .4-4.7-4-2.6 4.3-2.2.4-4.7 3.8 2.6 4.3-2-.2 4.7zm45.7-5.5l4.7.2 2.1 4.2 2.6-4 4.7.2-2.2-4.3 2.6-4-4.7-.2-2.4-4.2-2.5 4-4.7-.2 2.1 4.2zm20 1.5l4.5 1.2 1.3 4.5 3.4-3.4 4.5 1.1-1.3-4.5 3.4-3.5-4.7-1.1-1.3-4.6-3.4 3.4-4.4-1 1.2 4.5zm19.2 4l4.3 2.1.2 4.8 4-2.6 4.3 2-.2-4.7 3.8-2.6-4.2-2.2-.2-4.7-4 2.6-4.4-2 .5 4.7z"/>
+    <g fill="#fff" stroke-width=".8">
+      <path d="M304.4 288.4l5.3 7.7 5-7.3-3.5-6.1zm-34 22.4l.5 7.7s2.1 0 4-.6c1.8-.7 3.3-2 3.3-2l-.3-4zm-28.5 0l-.5 7.5s-1.9 0-3.8-.4a11 11 0 01-3.2-1.5l-2.1-5.2zm-34.4-22.4l-5.5 7.7-6-9.8 4.5-4.7z"/>
+      <path d="M234.2 326.2c0 7.2 44 7.2 44 0V316c0 5.3-44 4.2-44 0z"/>
+      <path d="M195 302.5c3.8 19.6 39.2 20 39.2 20V316c-.8-2.6.6-3.5 6.4-4.3 2.4-.2 1.3-3.6 1.3-3.6s-15.4 2.7-26.3-1.5c-14.7-6-16.8-17.5-16.8-17.5s-1 9-3.9 13.4zm122.2 0c-3.6 19.6-39 20-39 20V316c.6-2.6-1-3.5-6.7-4.3-2.3-.2-1-3.6-1-3.6s15.3 2.7 26.2-1.5c14.5-6 16.2-17.5 16.2-17.5s1.5 9 4.3 13.4z"/>
+      <path d="M197.7 295c-9.8-5.3-2.1-10.8-1.3-26.6 1.5 9.6 12.4 13.6 11.1 19.8-4.5.2-6.6-6.6-8.7.9l-1 6zm116.7 0c9.8-5.5 1.7-10.8.9-26.6-1.5 9.6-12.2 13.6-11 19.8 4.4.2 6.5-6.6 8.6.9l1.5 5.7z"/>
+    </g>
+    <path stroke="none" d="M203.7 302.3l1 .8-2.3 2.6c-1 1-1.2 1.7-.5 2.3.8.8 1.4.5 2.2-.4l2.6-2.7.8.8-2.5 3c-1.4 1.6-2.7 1.2-3.8.2-1-.8-1.5-2.1 0-3.7l2.5-2.9zm4.3 3.6l1 .7-.2 5 2.4-3.6 1 .7-3.4 5.5-1.3-.6.2-5.1-2.3 3.6-1-.6zm1.9 9l3-6 1 .6-2.7 5.8zm4.7-5.1l-2.4 6.1 2.4.9c2.2.8 3.2-.2 3.9-2 .7-2 .4-3.3-1.8-4.2l-2.1-.8zm.8 1.5c2.2.7 2.4 1.6 1.8 3-.6 1.5-1.2 2-3.3 1l1.5-4zm6.2.8l-3.8 5.8 1.5.4.8-1.5 2.6.6.2 1.5 1.5.2-1.5-6.8-1.3-.2zm.4 1.5l.5 2.6-1.7-.2 1.2-2.4zm3.3-1l-.3 6.7h2.5c2.4 0 3-1.2 3.1-3.2 0-2-.7-3.2-3-3.3l-2.3-.1zm1.2 1.2c2.4 0 2.8.8 2.7 2.4 0 1.6-.4 2.3-2.8 2l.1-4.4zm21.1 8.1v6.8h1.5v-2.5s1.3 0 2.4-.2c.8-.2 1.4-.8 1.4-2.1s-.7-2-2-2h-3.3zm1.5 1l1.5.1c1.3 0 1 1.9 0 1.9h-1.5v-2zm6.2-1l-2.8 6.8h1.5l.7-1.7h2.8l.6 1.7h1.5l-2.8-6.8h-1.5zm.7 1.5l1 2.6h-1.9l.9-2.6zm3.6 4l3.6-4.4H260v-1h5.1v1l-3.8 4.5h3.8v1.3h-5.5zm21.5-13.2l1.3-.2.6 3.9c.3 1.3-.4 2.3-1.3 2.6-1.1.4-2.5 0-2.7-1.8l1-.2c.3 1.1.8 1.2 1.3 1 .4-.1.6-.8.5-1.4zm2.2-.3l1.2-.3.6 3.2c.3 1.4.7 2 1.6 1.8 1-.2 1.2-.8 1-2l-.8-3.4 1.3-.2.8 3.5c.5 2-.5 3-2 3.2-1.3.2-2.6-.1-3-2.1zm6.6 2.9l1-.4c.6 1 1.4.9 2 .6.9-.4 1-1.2.6-1.4-.7-.4-2.1.1-3-.2-.9-.3-1.3-.9-1.3-1.7.1-1 1-1.5 2-1.8 1-.3 2-.2 2.7 1l-1.2.5c-.5-.7-1-.7-1.5-.5-.4.2-1 .6-.7 1.2.3.4 1.9.1 2.7.1.9 0 1.6.7 1.7 1.5.1 1.1-.3 1.7-1.6 2.3-1.7.6-3.1-.1-3.4-1.2zm5.7-5.3l-1.7.8-.4-1 4.7-2 .4.9-1.7.8 2 4.7-1.1.7zm2.8-2.4l1-.6 3 5.5-1 .7zm7.3.4l1.2-.4a2.6 2.6 0 01-2.5 3.5c-3.2 0-3.6-3.6-3-4.8.8-2 3.2-1.9 4.3-.8l-1.1.8c-.7-.8-2.2-.3-2.3.5a3 3 0 001.6 3.1c1 .5 2.5-.7 1.8-1.9zm-.7-4.4l1-.9 4 5.1-1.1.9zm4-3.2l-1 .8 2.4 6.4 1-1-.6-1.3 1.9-1.7 1.3.6 1-.8-6-3zm.5 1.5l2.1 1-1.2 1.3-.9-2.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gr.svg
new file mode 100644
index 0000000..4bc68fc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gr.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gr" viewBox="0 0 512 512">
+  <path fill="#005bae" fill-rule="evenodd" stroke-width=".8" d="M0 0h512v57H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width=".8" d="M0 57h512v57H0z"/>
+  <path fill="#005bae" fill-rule="evenodd" stroke-width=".8" d="M0 114h512v57H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width=".8" d="M0 171h512v57H0z"/>
+  <path fill="#005bae" fill-rule="evenodd" stroke-width=".8" d="M0 228h512v56.9H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width=".8" d="M0 284.9h512v57H0z"/>
+  <path fill="#005bae" fill-rule="evenodd" stroke-width=".8" d="M0 341.9h512v57H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width=".8" d="M0 398.9h512v57H0z"/>
+  <path fill="#005bae" stroke-width="3" d="M0 0h284.9v284.9H0z"/>
+  <g fill="#fff" fill-rule="evenodd" stroke-width="1.3">
+    <path d="M148 0h74v370h-74z" transform="scale(.77)"/>
+    <path d="M0 148h370v74H0z" transform="scale(.77)"/>
+  </g>
+  <path fill="#005bae" fill-rule="evenodd" stroke-width=".8" d="M0 455h512v57H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gs.svg
new file mode 100644
index 0000000..48f68b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gs.svg
@@ -0,0 +1,206 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gs" viewBox="0 0 512 512">
+  <defs>
+    <linearGradient id="b">
+      <stop offset="0" stop-color="#d5dfff"/>
+      <stop offset="1" stop-color="#fff"/>
+    </linearGradient>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="#474747"/>
+      <stop offset="1" stop-color="#f50"/>
+    </linearGradient>
+    <linearGradient id="d" x1="109.3" x2="110.9" y1="218.5" y2="173.4" gradientTransform="matrix(1.51 0 0 .652 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="e" x1="125.9" x2="126" y1="316.4" y2="337.2" gradientTransform="matrix(1.232 0 0 .8 40.5 0)" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#b50000"/>
+      <stop offset="1" stop-color="#ffc500"/>
+    </linearGradient>
+    <linearGradient id="f" x1="407.9" x2="456.4" y1="149.4" y2="147.3" gradientTransform="matrix(.56 0 0 1.76 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="g" x1="215.8" x2="229" y1="103" y2="103" gradientTransform="matrix(.74 0 0 1.33 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="h" x1="117.6" x2="78.2" y1="1040.4" y2="1003.7" gradientTransform="matrix(2.563 0 0 .384 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="i" x1="264.7" x2="255" y1="246" y2="226.4" gradientTransform="matrix(.886 0 0 1.11 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <clipPath id="c">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#c)">
+    <g stroke-width="1pt">
+      <path fill="#006" d="M0 0h1024v512H0z"/>
+      <path fill="#fff" d="M0 0v28.6L454.8 256H512v-28.6L57.2 0H0zm512 0v28.6L57.2 256H0v-28.6L454.8 0H512z"/>
+      <path fill="#fff" d="M213.3 0v256h85.4V0h-85.4zM0 85.3v85.4h512V85.3H0z"/>
+      <path fill="#c00" d="M0 102.4v51.2h512v-51.2H0zM230.4 0v256h51.2V0h-51.2zM0 256l170.7-85.3h38.1L38.2 256H0zM0 0l170.7 85.3h-38.2L0 19.1V0zm303.2 85.3L473.8 0H512L341.3 85.3h-38.1zM512 256l-170.7-85.3h38.2L512 236.9V256z"/>
+    </g>
+    <path fill="#6a4c2d" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M333.8 380s-3 7.5-4.6 7.5c-1.6 0-7.6-3.2-7.6-3.2s-4.3 7-6.6 7.4c-2.2.4-8.2-1-8.2-1s-5.8 0-6-.9c-.2-.8.3-2.4.3-2.4s-8.3 6.5-10.1 6.1c-1.9-.4-8-8.2-8-8.2l-1 4.1-11.8-.4-10.3-6.6s-5.7 9.5-6 9.3c-.1-.2-10 2.2-10 2.2l-.6-1.8-6.6-4s5.1-7.1 5.1-7.3c0-.2-2.4-1-2.4-1l-3.7 3-7.6 5-7.7-3.5 3.3-6.2.4-4.5 6-9 73-71 36 66.4-5.3 20z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M385.6 384.3l19-.7-8-4 72.3-2.8-10.2-3.9-9-12.2-37.6-2.9s-2.8-2.1-7.4-1c-.2-3-3.7-6.8-3.7-6.8l-23-1.7-14.5 9.8 9.7 25 12.4 1.1z"/>
+    <path fill="url(#d)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M121.3 150.8l2.2-7.6s4-6.6 4-9.4c0-3 2.8-6.4 2.8-6.4s9-2.6 10.8 2.9c9.6-14.5 20.8-.7 20.8-.7l3.1-3.6 6.4-7.8s9 8.4 9 9.9 1.6.4 1.6.4l9.8-.8s4.7 3.7 3.7 10.6c3.4 2 6.6 14 6.6 14l-80.8-1.5z" transform="matrix(.86 0 0 .86 207.3 41.7)"/>
+    <path fill="#656263" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M385.5 248.7c1.4-.9 6-2.3 5.5-9-.6-6.7-6.4-7.5-9.6-7.3-3.3.3-6.2 3-6.2 3l-10.7-6.8s5.4-33.8 11-35.9c5.5-3.9 6.4-5.5 6.4-6.4s-2-3.2-2-3.2L345 179l-33 3.9s-2.6 3.9-2.2 5.5.4 3.2 6.3 7.8c6.6 5 11 33.9 11 33.9s-9.2 4.6-9.8 4c-.5-.6-3.3-1.1-4.7-.9-1.5.2-6.3 2.7-6.3 9 0 6.4 4.8 10 4.8 10s31.6-3.6 36.3 5.1c4.5-10.5 34.5-6.8 38.1-8.6z"/>
+    <path fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M419.5 213.6s.4-3.7 3-5.4c2.6-1.8 20-2.6 24.3 0s5.7 15.5 5.7 15.5 2.6 4.6 2.8 7.9l.5 5.6s14 18.1 14.2 34.6c1.6 11.1 1.2 41-3.2 52.4-.1 14.1-6 23.4-6 23.4s1.3 2.4 1.2 5c-.2 2.7-1.6 5.1-1.6 5.1l20.4 10.1-7.5-2.8 7.5 6.3-8.5-4 5 5-12.4-5.5s5.8 5.4 5.4 5.2l-9.2-4.3 5.4 5.6c-.2-.3-8-3.5-8-3.5l.3 3s-6.3-.4-6.3-5.1a23 23 0 01-5.2-4.2l-14.5-2.5-16.4-49 3.8-83 1-4.2-1.7-11.2z"/>
+    <path fill="#fb0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M408.5 478.8s-8.4-17.8-12.6-18c-3.8-7.2 13.2-66.2 46-69.5 18 1.4 1.4 20.7-10.4 14.8 1.5 5.2 7.4 12.6 7.4 12.6s-23.5 10.1-30.4 60zm-112.7 2.5s7-20.1 11.2-20.4c4.2-.2-11.2-67-44.8-67.6-18.1 1.5-1.5 21 10.4 15-1.4 5.2-7.4 12.6-7.4 12.6s23.6 10.2 30.6 60.4z"/>
+    <path fill="#00713d" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M326.6 355.5c-.1-.1-8.4 2.6-3 11.6.4-3.5 4-5.6 4-5.6s-5.6 6.7.4 12.4c.7-5.3 4.1-7 4.1-7s-4.2 12.3.1 14.8c.5-4.9 3.7-7 3.7-7s-3.8 11-.4 13.5c.4-4.2 3.2-6 3.2-6s-1.7 11.4 2.7 12.2c.1-4 3.4-8 3.4-8s-1.5 9.4 5.5 9.8c0-3.5 1.3-7.6 1.3-7.6s3.2 10 7.8 8.3v-8.4s2.9 9.5 8.4 7.7c-.8-2.7.3-5.8.3-5.8s3 5.9 8.2 4c.9-1.8-.2-5.3-.2-5.3s7.6 8 10 3.2c2.3-4.8-6.2-6.4-6.2-6.4h5.8s-1.9-4.9-9.6-6c2.6-1.1 5.4-.3 5.4-.3s-1.6-6-9.6-6.7c3.1-1 6.5-.3 6.5-.3s-1-5.7-9.8-7.4c1.4-1.5 5.1-1 5.1-1s-3.5-5.4-7.4-5.1-39.8-3.6-39.7-3.6z"/>
+    <path fill="none" stroke="#3ec26d" stroke-linecap="round" stroke-width="1.1" d="M361.9 384.7s3.1 1.6 3 3m-1.1-5.5s4 2.9 4 5m-.5-6.4s3.2 2 3.4 5.2m2-4s1.6 3.6 1 4.2m2.3-2.3c.2 2.8-.3 3-.3 3m-39.6-20.4s3.8 2.5 3.5 5.9m-3.7-3s1.7 1.8 1.3 2.9m3.3-5.7s2.6 3.5 1.7 6m2.6-3.7s1.2 2.2.1 3.4m2-2.4s1.3 2.2.1 3m-1.7 4.2s3.6.8 4 3.5m-1.9-5.9s3.7.3 4.1 4.2m.9-5.6s2.5 4.3 2 5.7m2.7-5.3s1 4.2.3 5.5m2.8-3.8v4.7m-4.7-11.2s2.4.9 2.2 3.1m0-5.2s3 1.7 2.7 5m.8-6.4s2.6 3 1.6 6.5m2.9-5.8s-1 3.8-.6 5.4m3.3-2.8s-1.6 1.3-.7 3m-14 11.8s.6 3 0 3.4m-3.7-5s1.9 3.2 1.2 4.8m-5.2-5s2.1 2.4 2 4.3m-5.2-3.8s2 1.8 1.8 2.9m-3.5-.1s1.9 2 1.8 2.3"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M300.9 252.2l26.7-.5s17.7 0 19.6 5.8c3.4-7.7 18.6-7.2 18.6-7.2l27.7-1 .5 67a71.5 71.5 0 01-44.9 52 68.6 68.6 0 01-45.3-52.6l-3-63.5z"/>
+    <path fill="#006b00" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M310.4 252l39 103.8 35.2-106.1c-11 .7-34.4-1.7-37.3 8.3-4.5-9-29.1-5.4-36.9-6z"/>
+    <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linecap="round" stroke-width=".6" d="M337 308.2c1.4.8 1.4-28.2 3.4-29.1l1.5-6c-1.7-3-9.3-2.8-12-.3a74.5 74.5 0 001.8 5.4c3.8 6.2 3 30.6 5.2 30z"/>
+    <path fill="#cdad56" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M326.5 84.3s2.8-3.1 2.9-3.9c.1-.7 12.5-1.2 19.9-15 4.1-7.2 0-3 0-3L349 59s5.1-4.9 3.3-7.5c-1.9-2.6-1.3 3.4-4.3 3.3-3-.2-1.4-6.5-1.4-6.5s-.2-.8-1-1.2c-1.3.2-1 2.4-2 2.7-1.2.2-2.2-5.3-2.2-5.3s-1.9-2.5-3.5 5.4c.9 8.4 6.2 6.7 6.2 12.2 0 5.5-4.7 9.8-6 10-1.5 0-1-4.7-1-4.7s-.7-2.3-1.2-2.3 2.7-.5 2.2-6.7c-1-7.5-2 1.7-4 1.4s-.5-7 .3-7.7-.9-3.8-5.3 4.2c-.4 3.8-.9-1-1.7-.8-1.5 3.1-1.3 5.4.9 8.3 3 2.8 5 5.7 5 7.2-.2 1.5-1.8 4.9-4 4.9s0-4.1 0-5.5c-.2-1.4-4-6.4-4-6.4s-2.6-4.2-2.3-4.4c.3 0-.3-.7-1.5 3.7s-2.8-3-2.8-3-1.7 5.5 2 8.7c-2.8-.4-3 .8-3 .8 0 1.5 3.8 2.1 4.3 4.7s-4 4.1-4 4.1 1.9 2.7 7.1-2.5c.1 3.3-2 5.5-2 5.5 1.8.8 3.1.8 3.4 2.8z"/>
+    <path fill="#cdad56" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".9" d="M309.3 84.3s-2.3-3.5-2.4-4.1c-.1-.7-11.5.8-17-13-3.4-6.7 0-2.8 0-2.8l.3-3.2s-3.7-4.6-2.1-7c1.6-2.4 1 3.1 3 3.1 2.5 0 1.1-5.9 1.1-5.9s.2-.7 1-1c1 .1 1.5 3.5 2.4 3.7 1 .3 3-4 3.6-4.9.9 0 .8-3.5 2.2 3.7-.7 7.6-7 6.1-7 11.1s4 9 5.2 9c1.1.1.7-4.2.7-4.2s.6-2 1-2c.5 0-3.6.8-3.2-5 1-5.2 3 .4 4.8 0 1.7-.3-.2-5.5.3-6.4 0-.8 2.6-4.2 3.5 3.4.4 3.6 2.3-3 3-2.8 1.3 2.9-.5 6.7-2.3 9.3-2.7 2.6-4 5.5-3.8 6.8.1 1.4.7 3 2.6 3 2 0 .7-2.3.8-3.5.1-1.3 3.3-5.3 3.3-5.3.6-1 .1-3 .8-3.8 1 0 1.4-1.4 2.5 2.6 1 4 2.3-2.6 2.3-2.6s1.5 4.9-1.7 7.8c2.5-.3 2.7.7 2.7.7 0 1.4-1.2 2-1.6 4.3a4 4 0 001.3 3.8s-1.6 2.4-6.1-2.3a7.8 7.8 0 001.7 5c-1.5.7-2.7.7-2.9 2.5z"/>
+    <path fill="#ffc900" fill-rule="evenodd" d="M378 267.4c-2.3-2-2.5-.2-3.7-.7-.5-.2-1-.8-1.5-1.2-.4-.5-.9-.7-1.5-.9l-.6 1.9c-.2.6.6 1.7.6 2.6-.2 1.4-.8 2.5-2.5 3 .5-1 .8-1 .6-2.2 0-.6-1.7-1.7-1.5-2.3.3-.9.8-2 .4-2.9-.7.5-1.6.3-2.4.6-.6.2-.6 1.4-1.4 1.8-1 .4-2.8.2-4.4-.7 1-.7 1.8-.2 2.7-1 .5-.3.5-1.9 1-2.3s1.6-.7 2.1-1c-.4-.6-.4-1.4-.8-1.9s-2.4-.4-2.8-.9c-.9-1-.7-2.3-1.6-3.3 2.2.9 2 2 2.5 1.9a4 4 0 012.7-.4c.5.2 1.6 1.6 2.2 1.9l.7-2c.2-.7-1-1.8-.7-2.4.4-1.3 1.4-2.4 1.9-3.6l.5 3.4c0 .6 1.2 1 1.3 1.5 0 .6-.6 2-.5 2.6l2.2-.1c.7-.2 1-1.7 1.7-1.8a8.4 8.4 0 013.6 0c-1 1-1.7 1-2.3 1.7-.5.4.1 1.6-1.3 2.5-.5.3-1.9 0-2.4.3l1.3 1.5s2.4.7 2.9 1.2c.9 1 1.3 2.2 1 3.3zm-59.8 1c2.3-2 2.6-.2 3.7-.7.6-.2 1-.7 1.5-1.2.4-.4 1-.6 1.5-.9l.6 2s-.6 1.6-.5 2.5c.1 1.4.7 2.6 2.4 3-.4-1-.7-1-.6-2.2 0-.6 1.8-1.7 1.6-2.2-.3-1-.9-2-.5-3 .8.6 1.7.3 2.4.6.6.3.6 1.4 1.5 1.8.9.4 2.8.2 4.3-.7-1-.7-1.7-.2-2.7-1-.5-.3-.5-1.9-1-2.2-.4-.4-1.6-.8-2-1.2.4-.5.3-1.2.8-1.7s2.3-.4 2.8-1c.9-1 .7-2.2 1.6-3.2-2.3.8-2 1.9-2.5 1.8-1.1-.5-2.2-.6-2.7-.4s-1.7 1.7-2.2 1.9l-.8-2c-.2-.7 1-1.8.8-2.4-.4-1.2-1.5-2.4-2-3.6 0 1.2-.3 2.2-.4 3.4-.1.6-1.3 1-1.4 1.5 0 .6.7 2 .6 2.7-.7-.2-1.6 0-2.3-.2-.6-.1-1-1.6-1.7-1.8a8.3 8.3 0 00-3.5.1c1 .9 1.7.8 2.3 1.7.5.3-.2 1.5 1.2 2.4.5.3 2 0 2.4.3l-1.3 1.5c-.4.5-2.4.7-2.8 1.2-1 1-1.4 2.2-1.1 3.3z"/>
+    <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linecap="round" stroke-linejoin="round" stroke-width=".6" d="M376 274.1c-2.1 1.7-15.8 5.1-15.9 17-.1 11.8 2.4 14.5-.1 14.8-5 0-5.7-13.2-5.5-19 .1-5.9.3-5 .3-5s3.3 1 3 3.8c-.2 2.8 3.4-7 2.2-9.8 2.2 2.3 5.2 1.4 5.2 1.2 0-.1-1.7-2-2.4-3.3-.7-1.3 2.5.8 2.5.8s.1-2.3-2.7-2.1c-3.6 0 .6-1.2.6-1.2s2.1 2 3.5-.2a12 12 0 00-3.8-2.5s-2-3.8-4.6-4.5c-3.1-.8-2.7 1.3-6.2 1-.7 1.4-.7 1.5.7 2-2.4 1.6-1.1 5-1.1 5s3.8-1.7 3.6 1c-.1 2.7-2.2 2.2-3.6.6-1.3-.8-1.7.7-1.7.7l2 2.1s-3.9-.1-4.8 2.4c2-.1 3.2.5 3.2.5s-4.3 2-4.8 3c-.4 1-.5-1.2-.7-1.2l-4.2-1.5-1.4 6.5s2.8 2.8 4.4 1.9c1.5-1 4.3-3.6 6-2.9-5 3.8-9.8 9.2-12.5 10-.7-.7-3.1-3-4-1.9-1 1.2-.4 2.7.9 2.6 1.3-.2-4 1.2-3 3.4 1.2 2.3 1 2.1 2 1.5 1-.6-.8-.7 2.8-1.8 3.7-1 3.5-2 3.5-2s-.7 1.6-2.6 2c-2 .5-3.5.5-3.1 1 .4.7 1.2 1.7 1 2.3-.3.6 4-3.1 5.2-.1 3-.2 4.9-3.8 3.5-5.9.1 2.3 1.5 3 .7 4s6.6-3.4 3-6c1 2.2 1 4 1 4s1.8-.2 2.2-.8c.4-.6-.9 1.7-.3 2.1.6.5 3.2 3 2 4.8-.6-1-.7-2.7-1.6-2.5-.8.1-4.3 2.7-6.5 2.8s2.6 7.8 2.6 7.8-3.3-.4-3.7-.1c-.4.3-2.5-2.7-3-1-.6 2.3.8 1.4.8 1.4s-1.9-.9-2.8.2c-1 1-2 2-1.3 2.5s3.8.5 4.2.3-3.5.3-3.8.8c-.3.4-.8 2 0 2.7s3-.3 3.1-.8c.2-.4.3 1.7.3 1.7s3.6.3 3.6-3.5.3 2.7.3 2.7 3.7.6 3.8-3.1.4 2.5.4 2.5 2.4-.7 2.4-1.3c0-.6-.1 7.5-1.8 9.7-2.7-1.8-4.4 1.2-4.4 1.2s.2 4.4-.1 5.4c-.3 1 1.8-.6 2-1 .1-.5 2.6-1.7 2.8-2l.8-1.8s-.5 2.1-1.5 2.4-2 1.4-1.6 2.3c.5.8 2 1.4 2.6 2.3.5 1 2.5-5.2 2.5-5.2l.1 1.3s2.6-.6 2.9-1.8c.2-1.2-2.7-2.2-.3-4.2 2.4-1.9 0 1.8 0 1.8s.8 2.9 1.4 2.9 2-5.4.5-6.7c-1.4-1.4 2.1 1.6 2.1 1.6s2-5.5-.1-6.3l-3.1-1s1.1-1.5.6-1.7 3 3.3 3.5 2.4 1.4-3.6-2.7-5c-4-1.6-.1-5.8-.1-5.8s2.5 3 4.3 1.4c1.9-1.7-.1-1.7-.1-1.7s5.2-3.3 5.3-5l-2.6.2s3-2 2.2-5a3.5 3.5 0 01-2.7 1.6s2.6-2.6 2.1-5c-1.5 1.2-1.4 2.1-2.3 1.8s-2.7-9.7 1.2-10.3c4-.6 1.8 4.6 2 4.6.1 0 5.9-2.4 0-6.3 1.4-.4 4.4 2.3 4.4 2.3s-1.3-6.6-7.6-2.6c1.5-1.6 2.5-2.7 3.7-2.4 1.3.3 5.8-.1 5.8-1.5-1.1-.9-3.5.5-4.8 0-1.2-.4 9-1.2 8.2-6.3z"/>
+    <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M481.3 118.5s12.3-6.4 18.4 1.6m4.9 12.2c-.3 0-4.3 4-5.2 4m13.4 8.9s11.4.9 18.7-10.4" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M525 141.8s1 6.1 2.8 6.1-3 1.6-4.9.3c2.2 2.8 3.4 7.7 0 9.5" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M519.3 219s-4 4.3-9 4.6" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M523.9 199.4s-2.5-12.3-1-15.3c1-4 5-5.5 8-10.7m-8.3 17s-3 7.4-16.5 5m20.2-23.3s1 9.8-11.3 6.1m-3.7-50.2s-4.9 4.3-3 10.1" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="#006b00" fill-rule="evenodd" d="M353.7 277.6s3-1.2 3.6-1.8a9 9 0 001.8-2.7c.3-.9-2-2.3-.9-4.2.7-.9 1.7-1 3.4 0s-1.5-3.3-3.2-3.4-2.8 1.2-3.3.9c-.4-.3.2 1.2-.5 1.2s1.4 1.1 1.2 1.9c-.1.8 2.3 3.3 2.1 3.9 0 .6-3.5 4-4.2 4.2z"/>
+    <path fill="#ffc900" fill-rule="evenodd" stroke="#ffc900" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3" d="M534.3 97.1c2.8-.6 3.2 0 2.7 2.5a7 7 0 01-2.7-2.5z" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1.3" d="M514.7 233.5s-1 6.4 1.5 7c-.1-2.5.5-4.2 1.2-4.9-.6-.2-2.6-2-2.7-2zm-5.7-7.9c-2.3-.3-6.2 1.6-5 4 1.8-1.7 3.6 0 4.9-1.6.4-.4.3-1.8.1-2.4zm0-4.5s-3.6-.6-4.1 1.9c2.5-.3 3.2-.6 4 0 .3-.6 0-1.8.1-2z" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M493.5 185s2.2.8 2.9 3c1.7-1 2.5-5.8-2.9-3zm-5.4 5.4c.1 0 4.6-2.8 5-.2-.9 1-1.3 1.6-2 1.8-.6 0-1.8-1.8-3-1.6zm-.4 8.8s2.9-2.5 4-.8c1 1.6-1 1.5-1 1.5s-1-.4-3-.7zm-4-49.2s-3.6-1.4-5 1c2.3.4 3.1 1.2 4.2 2-.3-1-.8-2.6.8-3zm-6.9 18.5s.2-4.2 2.1-5.9c1.2.7 1.5 1.7 2.2 2.9-1.5.3-3.4.4-4.3 3zm9.5-3s-4 1.9-2.6 3.8c1.2-1.3 2.7-1 2.7-1l-.1-2.8z" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M480.6 125.6c-1.4 1.6 1.8 5 5 4.5 1-3.7-4.1-5.7-5-4.5z" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="none" d="M331.2 278.1c-.3.9 1 2 1.7 1.7.3-.8-1.4-2.3-1.7-1.7z"/>
+    <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M484.3 122.8s.6 2.9 3.4 2.1c-.4-2.3-2.4-4-2.4-4-.1.7.4 1.7-1 1.9zm1.9 8.5s1.5 1.7 4.6-1.8c-1.4.4-3.8-.8-3.8-.8s0 2.4-.8 2.6z" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M480.5 118.9c-1.4 1.5.5 3.7 3.8 3.2.9-3.7-3-4.4-3.8-3.2z" transform="matrix(.46 0 0 .49 110.3 220.1)"/>
+    <path fill="url(#e)" fill-rule="evenodd" d="M144.6 266.6s7-2 10.8 1 3.7.3 3.7.3 5.5 2 7 1.6-1 .1 1-1.2c2.2-1.2-4.2.3-4.8-2.4-1-1.7.1-3.9-2.2-3.2-1.5-2 1-3.4.5-5.6-1.6 1.2-2.5-.4-3.8 2.5-3-.6-.4-4.8-3.7-5.2 0 3-2.4 3.2-2.6 4.9-1.4 1-7.7 4.7-5.9 7.3z" transform="matrix(.86 0 0 .86 207.3 41.7)"/>
+    <path fill="#c01500" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M262 467.9c4-1 25.2 4.7 33.4 13.5-1.7-15.7-6-27.7-6-27.7s-12.8-3.6-14.5-1.9a96.3 96.3 0 00-13 16.1zm-6.5-72.3c-1.5.2-3 1.2-4.5 3.7-1.7 4.2-3 14.9-5.4 17.4-2.5 2.5-4.8 2.7-4.8 5 0 2.2.3 7.4 7 9.4 6.7.3 17.4-10.7 17.4-10.7s5.5-6 7.7-12.4c-13 4.5-22.1-7.5-17.4-12.4zm187 69.8c-4-1-25.4 4.7-33.6 13.4a133 133 0 016-27.5c1.6-.4 12.5-3.6 14.2-1.9 2.6 2.7 10.7 10.7 13.4 16zm6-72c1.5.3 2 2.3 3.2 4.7 1.7 4.2 3.5 10.4 6 12.8 2.5 2.5 4.7 6.2 4.7 8.4s-.5 5.2-7.2 7.2c-6.7.3-16.3-8.3-16.3-8.3s-5.4-6-7.7-12.4c12.9 4.5 21.2-7 17.3-12.3z"/>
+    <path fill="#fb0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M248 454.2s13.5 9.2 13.7 13.5c36-53.5 128-70.1 180.5-3.8 7-9.2 14.2-12.1 14.2-12.1-55.2-72.2-165.1-63.2-208.4 2.4z"/>
+    <g fill="#1e5aa6" fill-rule="evenodd" stroke="#000" stroke-width="1.1">
+      <path d="M385 249.9l5.2-.2-9.4 12 11.3 13-22.2 28 21 25.2a70 70 0 01-8.6 15.4l-12-13.3 21.8-27.2-18-20.3L385 250zm-75.2 2.3l-5.6.2 10.5 11.4-11.1 13.9 23.1 25.1-19.1 25.7a75.8 75.8 0 009 16.5l11.5-14.4-23.4-26 17.1-21.8-12-30.6z"/>
+      <path d="M335.9 319.8l-8.3 11L357 365a74 74 0 0013.8-9.2L355.5 338l6.3-18.4 9 10.4-28.2 36a62 62 0 01-14.7-9.1l15-18.9-7-18.2zm-9.2-17.1l5.4 6.8-3.5-9.2-1.9 2.4zm38.6 6l4.3-5.8-1.6-2.2-2.7 8z"/>
+    </g>
+    <text x="-328.3" y="362.4" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(-49.4 149.8 -205) scale(.86)">
+      <tspan x="-328.3" y="362.4">L</tspan>
+    </text>
+    <text x="-292.3" y="384.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.6 -.6 .6 .6 207.3 41.7)">
+      <tspan x="-292.3" y="384.3">E</tspan>
+    </text>
+    <text x="-239.8" y="451.7" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.66 -.47 .5 .65 207.3 41.7)">
+      <tspan x="-239.8" y="451.7">O</tspan>
+    </text>
+    <text x="-188.5" y="430" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.7 -.48 .48 .7 207.3 41.7)">
+      <tspan x="-188.5" y="430">T</tspan>
+    </text>
+    <text x="-115.4" y="451.5" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.78 -.37 .37 .78 207.3 41.7)">
+      <tspan x="-115.4" y="451.5">E</tspan>
+    </text>
+    <text x="-94.1" y="453.1" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.8 -.35 .35 .8 207.3 41.7)">
+      <tspan x="-94.1" y="453.1">R</tspan>
+    </text>
+    <text x="-68.4" y="455" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.8 -.32 .32 .8 207.3 41.7)">
+      <tspan x="-68.4" y="455">R</tspan>
+    </text>
+    <text x="112" y="445.7" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 -.07 .07 .86 207.3 41.7)">
+      <tspan x="112" y="445.7">R</tspan>
+    </text>
+    <text x="180.2" y="430.8" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 0 0 .86 207.3 41.7)">
+      <tspan x="180.2" y="430.8">R</tspan>
+    </text>
+    <text x="414.8" y="275.2" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.75 .43 -.43 .75 207.3 41.7)">
+      <tspan x="414.8" y="275.2">R</tspan>
+    </text>
+    <text x="483.9" y="193.1" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(39.9 46.5 307.2) scale(.86)">
+      <tspan x="483.9" y="193.1">E</tspan>
+    </text>
+    <text x="309.1" y="414" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.83 .16 -.13 .82 207.3 41.7)">
+      <tspan x="309.1" y="414">O</tspan>
+    </text>
+    <text x="105.1" y="459.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.78 -.1 .12 .84 207.3 41.7)">
+      <tspan x="105.1" y="459.3">O</tspan>
+    </text>
+    <text x="-45.7" y="455.8" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.8 -.3 .3 .8 207.3 41.7)">
+      <tspan x="-45.7" y="455.8">A</tspan>
+    </text>
+    <text x="518.4" y="144.7" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.6 .6 -.6 .6 207.3 41.7)">
+      <tspan x="518.4" y="144.7">A</tspan>
+    </text>
+    <text x="271.2" y="388.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.84 .17 -.17 .84 207.3 41.7)">
+      <tspan x="271.2" y="388.3">A</tspan>
+    </text>
+    <text x="40.3" y="455.2" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.85 -.16 .16 .85 207.3 41.7)">
+      <tspan x="40.3" y="455.2">M</tspan>
+    </text>
+    <text x="94.4" y="448.1" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 -.1 .1 .86 207.3 41.7)">
+      <tspan x="94.4" y="448.1">P</tspan>
+    </text>
+    <text x="155.1" y="437.6" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 0 0 .86 207.3 41.7)">
+      <tspan x="155.1" y="437.6">P</tspan>
+    </text>
+    <text x="405.1" y="276.7" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(29.3 24.1 418.1) scale(.86)">
+      <tspan x="405.1" y="276.7">P</tspan>
+    </text>
+    <text x="232.1" y="409.8" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.85 .1 -.1 .85 207.3 41.7)">
+      <tspan x="232.1" y="409.8">I</tspan>
+    </text>
+    <text x="530.4" y="132.1" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(46.4 55 262.7) scale(.87)">
+      <tspan x="530.4" y="132.1">T</tspan>
+    </text>
+    <text x="464.2" y="218.5" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(36.4 39.4 333.9) scale(.87)">
+      <tspan x="464.2" y="218.5">T</tspan>
+    </text>
+    <text x="313.7" y="362" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.83 .24 -.24 .83 207.3 41.7)">
+      <tspan x="313.7" y="362">M</tspan>
+    </text>
+    <text x="513.7" y="123.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.58 .64 -.64 .58 207.3 41.7)">
+      <tspan x="513.7" y="123.3">G</tspan>
+    </text>
+    <path fill="none" stroke="#fff700" stroke-linecap="round" stroke-width="1.1" d="M427.4 214.5s5.2-4.4 8.9-4.6m-8.2 4c.1-.1 31-4.5 32-5.4m-31.9 5.6l34.6-3m-34.7 3.2s36.7-1.8 39 0m-39.1-.2s36 .3 36.6 1.1m-36.5-1l34.6 2.8m-35-2.6c.2 0 35.3 3 38.7 7.5m1.9 6.3c-.2-.1-12-14.2-40.7-14m.2.3s19.8 1.4 26.1 8.3m-25.8-8.5s12.9-2.5 26.3 13.7"/>
+    <path fill="url(#f)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M247.4 217.7s20.7.9 20.7 2.9-15.4 5.9-15.6 14.4c-.2 8.5 11.8 9.2 12.6 20 .8 10.7-9.4 12.3-11.4 15.2-2 1.4-6.9 16.6-6.3 25.5.6 9 3.3 39.2 8 45.3 3.6 2.9 9 12 15 9.2 5.9-2.9 1.8-13.2 1.2-16s2.4-7.6 2.4-11.8c0-4.3-2.2-7.8-2-8.8.2-1 16.4 3.9 15.4 20-1 16-7.5 11-7.5 11s2 19.8-3 22.4c-9.2 5-15.9-1-15.9-1l.9 4-7-3.6s-9-12.8-11-18.5-4.4-31-3.6-36.5c.8-5.5 1.4-37.6 1-39.2s-2-28.5-1-32.5 7.3-22 7.1-22z" transform="matrix(.86 0 0 .86 207.3 41.7)"/>
+    <path fill="#ff7000" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M400.8 224.4s12.4-12 19.6-10.6c3.7 0 .2 2.6.2 2.6s6.2.5 7.1 3.3c.2 1.2-3 1.6-3 1.6s2.7.5 2.9 2.8-26.6.5-26.8.3z"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M401.5 223.9s13.3-1.8 18.9-7.4m-5.4 3.7s9.7-.3 9.7 1"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M449.7 363.1s8.4-1.9 10.7-4.9c1.4-1 8.7 11-10.7 5z"/>
+    <path fill="none" stroke="#fff" stroke-linecap="round" stroke-width="1.1" d="M447.5 293.8s1 6.4-2 10.8c-1.5 1.7-6.3 4.7-6.3 6.8 0 2.1 1.8 4.9 1.4 7.3s-3 5-2.8 7c0 2.1 3 13.3 2.7 13.5m-8.4-66.4s-6.7 2.3-8 9"/>
+    <path fill="#c75b00" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M429.3 220.2s2.3 6.3 9.6.4c-4.7-6.5-9.6-.2-9.6-.4z"/>
+    <path fill-rule="evenodd" d="M434.9 220c0 .4-.4.7-.8.7s-.8-.3-.8-.6.3-.6.8-.6.8.2.8.6z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M369.3 205.6s14 15 23 15c1.6 4.4-4.2 8.5-6.5 10.4-4.5-1.4-8.7.3-19.3-12.8.6-8.3 3-12.2 2.8-12.6zm18.8-35c1.8-5.6 5.4-10 8.5-10.5-.8-4.2 6.6-23 28-30.3 1.3 9.7-9.1 19.2-9.1 19.2s31.6-5.4 38-13.4c-.7 3.6-7.1 26-40.8 25.8 12.7 12.1-4.1 21.8-11.3 18.9 13.2-10.2-3.8-16.2-13.3-9.7z"/>
+    <path fill="#cccccd" fill-rule="evenodd" stroke="#ccc" stroke-width="1.1" d="M399 162.8c6.3-4.1 8.6-4.1 13.8-3.3l-3.7.6s-.3.5 2 2.7c-2.7-.7-5-2.2-12.2 0z"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M396.5 160.1s12.6-6.7 19.6-11.3"/>
+    <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M385.7 231s17.3 4.8 19.3-20.1c-3.8-10.8-9-34-1-40.8-7.4-5-15.4.2-15.4.2-.5 1.1-7 10.5 1.8 26.8-21-5.5-12.4 14.3-12.4 14.3.8-3.1 12-6 14.7 9.8 1.2 4-7.5 10-7 9.8z"/>
+    <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M405.1 211s18.4-9.8 17.9-32.9c-15.6.4-21.1 20.5-21.1 20.5L405 211z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M323 209.9s-13.6 11.8-21.3 8c-5.7 3.4-12.4-2.6-12.4-2.6s7.8 29 36 8c-.5-6.4-2-13-2.3-13.4z"/>
+    <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M301.5 217.4c1.2-6 6-9 9.7-3.3 5 1 10.2-19.8-7.9-16.3 5.1-27.2-10.1-37.3-10.1-37.3s-5.4 30-3 35.6c2.5 5.6-3.5-10.3-23-14.7-.3 22.8 21.7 33.4 21.7 33.4s6.3 5.7 12.6 2.6z"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M303.3 197.6s-8.5 7.2-6.5 17m-6.4-18s-2 7 2.3 17m-3.6 2.4s4-6.4 12.4 1.8"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M290.7 171.8c0-.2-12.9 0-5.2 13-5.7 1.8-18.5-6.5-9.7-17.6-29-.7-40.7-14.6-40.7-27.4 8.5 8.9 28.8 5.3 36 10.7-8.8-8.2-7-19.5-7-19.5s24.7 7.4 29.1 29.3c-1.5 4.2-2.1 11.8-2.5 11.4z"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M270.9 149.9c4.7 4.9 17 6.3 23.2 11.7"/>
+    <path fill="#cccccd" fill-rule="evenodd" stroke="#ccc" stroke-width=".8" d="M276.5 164.2s10.2-1.3 13 2.3c-3.9 0-5.2-1-11 1.2 1.7-.9 1.2-2.3 2.1-2.3s-3.7-1.2-4.1-1.2z"/>
+    <path fill="#923f00" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M327 84.8s5.6-4.9 11.7-.4c-2.7 8.1-12.6 5-12.6 5s.3 4.1-.7 6c2 1.6 3.6 6.5 3.6 6.5s10.2-2.5 12.3 2c3.9-.6 6.7 0 6.7 0s7.9-2 10.7-2c2.7 0 11.6 2.3 12.4 3.9.8 1.6 3.8 12.6 5.7 12.4 2-.1-4.7 2.7-6.5-.1-1.8-2.8-1.3 3.6-1.3 3.6s5.5 5.9 6.2 7.2c.6 1.3-3.4 12-.3 19.3-2.8.2-3 3-3 3-.1 3.3-4.2 4.2-4.2 4.2l-1-4.4-2.8 1.6 1.1-3.4s3.8-9.2 4.1-12.1c.4-3-3.4-8.2-6.3-8.2s-5.1 9.3-5.1 9.3-1.5 7-1 7.7l-2-2.3s-1.3 4.3-2.3 5.6c-1 1.3-3 1.8-3 1.8s-1.5-4.3-1-6c.4-1.6 8-8 7.3-12.5-.6-4.6 0-3.5-.2-3.6-.1-.2-3.9-3.5-4-5.3-.2-1.8-5 2.3-11.2 1-1.9 3.3-2 11.6-2 11.6s-.8 10 .6 11.2c1.3 1.1-3.3 3.6-3.3 3.6l-3.3 4.4-1.1-2.6-2.3 1.6 1.3-3.3c0-2.5 3.2-9.2 3.2-15s.4-11.8.4-11.8-6-.3-6 5.9c.3 6.2-1.4 6.5-1 8.3.3 1.8 2 6.9 1.4 8.4-.5 1.4-2.4 2-2.4 2l-.5.8s-6 2.7-6 3.9c.2 1.1 0-3.3 0-3.3l-.4-4.7s3.6-2.3 3.6-8c0-5.8-.8-6.6-.7-8 .2-1.2 1-6 .9-6.5-.2-.5-3.5 1.3-4.5 1.3s1.8-3.4 2.2-5.9c.3-2.4-3.3 2.3-6.3-.4 1.4-3 3.5-4 3.8-6.3s-2.3 2-4.6.4c.2-2.2 2.5-4.1 2.5-4.1s-1.9-.2-2.6 0c-1.5-.5 1.6-2.8 1.8-6 .1-3.4-1.8-4.7-1.8-4.8 0-.2-3.3-3-3.8-4.1-.5-1.2-.5-2.5-.5-2.5s-5.4 4-11.8-4.4c5.9-5 12.1-1.3 12.1-1.3s1.7-4.6 9.2-4.3c7.5.4 9 4.6 8.7 4.1z"/>
+    <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M368.3 169.5s13.8.4 14 7.8c.1 7.3-4.2 5.4-4.4 5.4l-10-1.2.4-12z"/>
+    <path fill="#fffeff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M354.9 167.5s17.2-.2 16.2 7.3-5.3 6-5.3 6l-8.3-.7-2.6-12.6z"/>
+    <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M345.2 166.6l10 .9s6 .8 5.7 6.5c-.3 5.7-6.1 5.9-6.1 5.9l-9.7-.6.1-12.7z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M321.9 169.5c-.1 0-13.9.4-14 7.8-.2 7.3 4.2 5.4 4.3 5.4l10.1-1.2-.4-12z"/>
+    <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M335.3 167.5s-17.2-.2-16.3 7.3c1 7.5 5.4 6 5.4 6l8.3-.7 2.6-12.6z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M345 166.6l-10 .9s-6 .8-5.7 6.5c.2 5.7 6.1 5.9 6.1 5.9l9.7-.6-.2-12.7z"/>
+    <path fill="#5e0043" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M371.6 249.4s7.1-10.6 10.2-9.4c2.6.9.6 9-.7 9.8l-9.5-.4zm-49 1.9c-2.3-3.2-5.6-11.8-8.6-9.4-2.6.8-.6 9 .6 9.8l8-.4z"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M327.3 230.4s14 8.6 18.5 8.8c4.6.3 19-11.1 19-11.1"/>
+    <path fill="#5e0043" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M328.6 196.8l2.7-3.4 13.4 6.8 13.6-6 2.7 2.8-15.2 10.7-17.2-11z"/>
+    <path fill="#474747" fill-rule="evenodd" stroke="#474747" stroke-linejoin="round" stroke-width="1.1" d="M318 196.6c1 1.3 9.7 11.9 11.3 20.6 1.6 8.7-.9-12-.9-12s10.7 5.3 11 8.6c.4 3.4 5.2-.2 5.4-.8l-31-20.1 4.2 3.7zm52.9-.6s-11.3 14.8-10 31c-2.3-7.8-.4-20.6-.4-20.6l-2.4 1.6s-2.6 11-5.8 12.6c-.6-1.3-.5-1.8-.5-1.8s-3.4 4.5-4.1 5c-.7.4.2 15 .2 15s1.2 10.6 2.5 10.5a45 45 0 00-3.4 1.9l-1.4-28.3 3.2-3.2s4.3-5.1 4.6-10.1c-1.9 1.5-4 2-4 2s-.5 7.1-2.1 8.1c-1.7 1-1.8 2.9-1.8 2.9l-.4-9.3L371 196z"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="1.1" d="M345.1 213.1l2.2 44.6"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M317.7 234.4s5.1 3 7 12.2c16.7-1.2 22 4.7 22 4.7s13.7-6.6 20-5.4c2.3-4.7 8.7-10.7 8.7-10.7"/>
+    <path fill="#b4b6b9" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M310.7 190.7l34.4 22.6 31-21s6.5-3.5 6-6-2.8-1.6-4-1.2c-1 .5-32.4 22.7-32.4 22.7l-33.4-21s-2.4-.9-2.9.7 1 2.4 1.3 3.2z"/>
+    <path fill="#474747" fill-rule="evenodd" stroke="#474747" stroke-linejoin="round" stroke-width="1.1" d="M372.3 184.9s-8.8-3.8-8.8-.5c0 3.2.2 3.5 1.6 5.6 1.4 2.1-1 3.4-1 3.4l-.9-2.3c-.5-1.4-5.2-2.4-5.6-4-.4-1.7 1-4.4-1.9-4.7a5.2 5.2 0 00-6.1 4.4 67.5 67.5 0 01-4.2 10.8l.5-17.2c6.2.4 17.7 1.8 26.6 2.8-2.7-.4 1 .2.9 1-.3.8-1.2 1-1.1.7zm-31.2-4.4c-1.6 0-9.5 1-11.5 2.1-2 1.2 3.3 3 2.6 4.6-.7 1.6-.7 4.7-3.2 4-2.5-.6-11-4.7-11.2-6.2-.2-1.4-2-1.5-2-1.5s24.1-3.2 25.3-3z"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M344.9 178.6v21.1m-16.3-46l-9.8 16.1"/>
+    <path fill="url(#g)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M161.8 129.7s4.9 6.7 4.3 8.6a25 25 0 014.3 7.8" transform="matrix(.86 0 0 .86 207.3 41.7)"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M362.7 152.3s-9.1 12.8-8.8 13.8"/>
+    <path fill-rule="evenodd" d="M316.2 91.4c-.2.7-1.4 1-2.6.7s-2-1.3-1.8-2c.2-.7 1.3-1 2.6-.6s2 1.2 1.8 2zm3.7-.2c.2.7 1.4 1 2.6.6s2-1.3 1.8-2c-.2-.7-1.4-1-2.6-.6s-2 1.3-1.8 2z"/>
+    <path fill="#ff7000" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M426.1 356.6s-3.3.6-3.2 1-9.8.5-10 .2c-.2-.3-1.5 1.7-1.5 1.7l1.6-1s2.4 2.6 3.1 2.4c.8-.2-.3 1 0 1.1.1.2.9-.4.9-.4l16.3-.3-7.2-4.7zm6.1 5.1l-13.3.4s-3.4 3-3.6 3.7 2.2 1 2.2 1l.7 2.5 1.7-.6s11.4 1.7 21.8-.6c5.3-1.9 6.2-4.1 2.5-5.5-3.7-1.3-11.9-.9-12-1z"/>
+    <path fill="url(#h)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M208.4 404l28-1.3-5.3-4.4 75.7-3-2.6-6-84.7 3.3 10.2 4.8-23 .6.8 2.4-6-.2s6.6 2.6 6.9 3.7z" transform="matrix(.86 0 0 .86 207.3 41.7)"/>
+    <path fill="url(#i)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M239.7 249.4c-2.2-1-12-2.4-22.8 4.7l.4 25s16-8.6 23.8-6.6c-.5-7.8-.5-17.8-1.4-23z" transform="matrix(.86 0 0 .86 207.3 41.7)"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M280.4 321.8L223.7 378m82-56l-46 60.7m44-76.5l-61.5 74.5m-1.8-1l6-7m69-29l-23.9 32.8m-1 4.3l.6 12.6m35.2-38.2L301 386.9m20.8-2.5l10.2-16.8m-6.3-3.3l-12.4 14M322 351l-8.5 10.3m-2.4-25.3s-25.7 37.6-25.3 40.7m22.6-45.6c-.6.4-22.2 29-22.2 29m-1.2 9l-4 4.8m-4.9 7.2l-6 7.8"/>
+    <path fill="#8a9396" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M277.6 235.2s-1.7 5.5 0 8.2 12.7 24.9 12.7 24.9 7.5-9.2 10.2-9.5c2.7-.2 1.5 23.9 1.5 23.9s-4.5 4.2-7.2 4c-2.7-.3 6.7 9.4 6.5 17.6s-12.5 49-17 49.7c-4.4.8 2-7.4 1.8-9.7-.3-2.2-1.5-.7-2.5-3.2s1.5-6.2 1-8.7-2.8-2-3-3.7 1.5-2.3 1.2-4.2c-.2-2-3-1.5-2.7-3.3s.5-1 .3-4.2c-.3-3.2-.8 2.2-3.5 2.5-2.8.2-5 6.4-5 6.4s-5.5 7.7-11 4.3c3.3 7 .8 10-.4 10.2s1 5.4-2 5.7 2.2 11.7-1.3 12.7c3.8 1.7.8 4 .8 4s-8.6.7-6.7 11.9c-25.4-9-37.8-24.4-37.6-40 .3-15.7 5.3-29.9 17.4-35 3.5-13 9.5-27 9.5-27s-1-5.7-.3-9.4c.8-3.7 4.3-7.4 4.3-7.4s-.5-9-.3-13.5c.3-4.4 2-6.4 2.2-9 .3-2.4-.7-15 1.8-17.3 2.5-2.3 7.2-2 9.7-3.5 2.5-1.5 5.7-4.2 9-4s6 2.5 6 2.5 12 0 12.8 4.7c.8 4.7-2.5 6.5-2.5 6.5s1.8 6.7-5.7 13z"/>
+    <path fill="#cecfcf" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M266.9 218.1c.4.7-.5 2-2 2.8s-3 .8-3.4.1c-.4-.7.5-2 2-2.8s3-.8 3.4-.1z"/>
+    <path fill-rule="evenodd" d="M264.8 219.3c0 .5-.4.9-1 .9-.4 0-.9-.4-.9-.8 0-.5.5-.9 1-.9s.9.4.9.9z"/>
+    <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M283 227.5s3 13.4-.7 22.8m1.5-28.7s6 7.8 5.2 17.4m-4.6-19.1c.2 0 5 4.1 4.8 7m-3.6-8.8s3.2 2.3 4 4.6"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M284 216.8s-11.5 18.8-10 30.6"/>
+    <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M284.8 216.2s-15.4 9.2-18.2 39"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M283.1 221.8l-6 4.5"/>
+    <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M260.9 256.9s8.5-35.5 23.7-40.7"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M290.5 268.9s8.2-10.3 10-9.9c2 .4 1.4 23.8 1.4 23.8s-6 4.5-7.4 4.3c-1.3-.2 6.8 11 6.6 15.2l-.3 4.2s0-2.5-2-6.5c-1.8-4-.7-8.5-13-18.6-3-6.2 6 3.8 8 2.3 1.8-1.5-3.5-14.6-3.3-14.8z"/>
+    <path fill="none" stroke="#2b2b2b" stroke-width="1.1" d="M276 211s-3.5 1-4 2.4c-.4 1.4-2.4 2.8-3.5 2.4a18.9 18.9 0 01-3.1-2.2"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M256.5 223.1s-5.2 5.2-2.7 5.8c2.5.6 5.2-4 5.2-4s0 7.9 2.1 6.6l8.6-5.7s2.2-.2 2.7 0c.5.1 6 4.8 9.5 3-2 5.4-4.4 6-4.4 6s-3.7 4.9-8.6 3.8c-4.8-1.1-6-3.2-6-3.2s-4.1.3-5.3-1.5c-1.3-1.9-1.8-3-1.8-3s-2.3 2.4-3 1.3c-.6-1.1 0-7.5 3.7-9z"/>
+    <path fill="none" stroke="#2b2b2b" stroke-width="1.1" d="M285.7 216s-9.6-2.9-12.8 1.8c-3.3 4.7-2.5 7.3-.8 7.8"/>
+    <path fill-rule="evenodd" d="M287.1 215.7c0 1-.8 2-1.8 2s-1.8-1-1.8-2 .8-2 1.8-2 1.8.8 1.8 2z"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M259.4 240s3.9 6 8.5 7.6-3.2 3-7.8 0c-3.4-4.6-2.5-8-2.5-8s1-.8 1.8.4zm33.3 35.2s-11-15.1-14.1-16c-3.1-.8 2.4-1.5 5.7 1.8 3.4 3.2-.9-5.3-.9-5.3l9.3 19.5z"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M258.4 362.8c4.2-1 22.4 10.5 26.5 13.4 4 3 12.7 1 12.7 1s-4 2.5-6.5 3 7.4.7 7.4.7-23.3 6.4-47-6.1c-2.2-9.7 5-11.9 6.9-12z"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M285 279s-3-.6-4.6-2.4c-1.6-1.8-3.8-6.2-6.1-8.1s-14-8.2-18.1-7.8c-4.2.5-5.5-.4-6-1-.5-.5-2.2.3-2 2.5.4 2.1-3.1 6.9-1.9 9.1a63.5 63.5 0 008.5 11.7c1.2.3.4 5.3.4 5.3s5.3 5.4 6.7 5.7c1.3.3 2.7 1.2 2.5 2.5-.1 1.3-5.8 8.2-5.8 8.2s-6.1 3.2-6.2 5c0 1.8 1.5 5.6 6.3 6.8a45 45 0 0018.6-1c.7-1 1.8-7.8 1.3-8.4-.4-.7-3.7-2.7-5.3-2.4-1.6.3-3.1 1.6-3 1.9.2.3-2.3 1.6-2.3.4s4.9-6.6 5.3-6.2c.5.5 7.3 1.2 8.6 4.6s1.3 5.9 4.9 5.5c3.5-.3 8.5-3.6 9-10.5.4-6.9-4-11.5-5.2-12.2-1-.6-4.8-2.9-5.1-4-.3-1-1-4.4-.5-5.2z"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M220.4 309.3s11.6-3 14.6-3c3 .1 14.2 5.4 17.5 8.6 3.3 3.2 10 10.8 14.4 10.2 4.5-.7 5.7-1.6 5.7-1.6l-1.7 3.3s-3.6 1-5.4.5a19 19 0 01-8.8-5c-3.5-3.4-14.3-12.7-23.5-12-9.2.6-14.5 9.7-14.5 9.7s0-4.4.4-5.4-1.9 2-1.9 2l3.2-7.3z"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M263 318.3c.1 0 3 .8 7.8.8s7.3-2.1 7.3-2.1l-.3-1.9.7-2.6s3.7 3.7 3.6 4.5c0 .7-1.5 1-1.5 1l-.5-1.8-1.3 1.6s-7 5.5-10.7 4.7c-3.8-.8-7.4-3.3-6.4-3.9s1.5-.4 1.4-.4zm-16.8 9.7s-4.2 0-6 .9c-2 .9-2.6 2-3.9 1.8-1.2-.1-2.2-1.8-1.8-2.4.5-1 3-2.4 7.7-2s4 1.7 4 1.7zm14.6 11.4c0-.2-.3-6.1-2.6-8.5a7 7 0 00-6.4-2.1c-1.3.3 4.7 2.9 5.3 4.6.6 1.7 2.5 6.5 2 7.7-.5 1.2-1.5-3.3-5.2-4.6s-8.7-.6-7.6 1 5.1.2 7.2 3.7 3.7 7.2 3.7 7.2l.6-2.5 2-.5.1-4.9 1-1.1z"/>
+    <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M257.8 358.5l-3.8-7.6s-1.2-4.9-4.4-6.2c-3.2-1.4-7.5-1.1-7.5.5-.1 1.7 6.8 3.7 7.3 4.6.4 1 .2 2.4-.4 2.5-.6 0-3.6-1.1-5.2-.7-1.6.3-2.5 2.4-4.8 1.8-2.3-.6-4.2-8-3.4-8.8 1-.7-1.7 1.4-2.2-.6-.5-2 .8-8-.1-8.7s-5.3-3.4-5.3-4c-.1-.4.2-29.6 24.6-5.4-10.5-12.4-14.6-11-16.5-11.2-1.4 0-10.9.9-13.3 13-2.4 12-5.2 4.5-5.2 4.5s-.5 5.2 2 6.7-1.2 5.9-1.2 5.9-4.6-11.2-3.9-16c-.9 3.9-.8 13.5 5 24a78 78 0 0029.9 21.1c8.9-13.6 8.4-15.2 8.4-15.4z"/>
+    <path fill="#8a9396" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M241.8 358.6s5 .6 6.3 3.1a24 24 0 012 6.4c.8-1.6 1.2-3 2.8-4.2s2.8-1.4 2.8-2.2c-.1-1-5.3-6.4-7.9-6.7-2.6-.3-7.1 2.8-7.1 2.8s-.9 1.2 1.2.8z"/>
+    <path fill="none" stroke="#8a9396" stroke-linecap="round" stroke-width="1.1" d="M253.1 371.4s12.8 5.9 33.8 6.2"/>
+    <path fill="none" stroke="#2b2b2b" stroke-linecap="round" stroke-width="1.1" d="M295.8 312.1s-1.1 10.7-9.4 32"/>
+    <path fill="none" stroke="#2b2b2b" stroke-width="1.1" d="M294.1 318.7s-2.5 7.7-9.3 13.5"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gt.svg
new file mode 100644
index 0000000..761801c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gt.svg
@@ -0,0 +1,204 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gt" viewBox="0 0 512 512">
+  <defs>
+    <radialGradient id="a">
+      <stop offset=".2" stop-color="#f9f0aa"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </radialGradient>
+    <radialGradient id="d" cx="447.4" cy="308.3" r="16.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="e" cx="451.6" cy="313" r="10.9" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="f" cx="454.1" cy="308.6" r="9.8" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="g" cx="458.4" cy="307.1" r="17.4" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="j" cx="446" cy="252.4" r="13" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="m" cx="477.9" cy="215.3" r=".3" gradientUnits="userSpaceOnUse">
+      <stop offset=".3" stop-color="#a50a0a"/>
+      <stop offset="1" stop-color="#4c0505"/>
+    </radialGradient>
+    <radialGradient id="n" cx="489.1" cy="210.3" r=".3" fx="489.1" fy="210.3" gradientTransform="scale(.97707 1.02346)" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#fff"/>
+      <stop offset="1" stop-color="#fff" stop-opacity="0"/>
+    </radialGradient>
+    <linearGradient id="h" x1="473.9" x2="472.4" y1="259.2" y2="232" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#b07e09" stop-opacity="0"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+    <linearGradient id="i" x1="483.1" x2="485.5" y1="296.7" y2="326.6" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#b07e09" stop-opacity="0"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+    <linearGradient id="k" x1="451.5" x2="455.4" y1="249.5" y2="240.6" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#f9f0aa"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+    <linearGradient id="l" x1="473.3" x2="475.9" y1="237.3" y2="270.4" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#f9f0aa"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+  </defs>
+  <path fill="#4997d0" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M170.7 0h170.6v512H170.7z"/>
+  <g transform="translate(0 96) scale(.53333)">
+    <g stroke="#24420e">
+      <path fill="none" stroke-width=".4" d="M452.1 377.5c2.7-.4 4.2-1.2 6-1.8m2.3-4a13 13 0 013 4.6m-8.1-5.1a15.4 15.4 0 013 4.2m-49.5-136.6c-1 1.6-3.1 2.7-4.8 3.4m-.3-.2c0-1.4-.3-3 0-4.4m-2 5l.7 2m2 1l-2 .3m-4-.9c0 2.6.4 5.6.6 7.9m-1.8-1a6 6 0 001.6 1.9m-4.6 6.4c.5 1 1 2.2 1.3 4m3.7-4.6l-2 1.5m1.7 4.4c-1 .9-2.2 1.5-3.5 2.1m-3.8 40.4a16 16 0 004 4.7m.6 1.7a8 8 0 01-3-1m4.4 8.5l1.7 1m-.4 3.4c1.2.8 2.5 2.3 3.7 3.9m-1.4 2.8c1.4.3 2.5.7 3.2 1m-1 2.5h2m1.3-5.3l-.5 4.2m1 1.6l.4-1.6m4.7 6l-.1 3.2m39.2 28l-1.2 1.5m-2.4-4l-.7-1.7"/>
+      <g stroke-width=".2">
+        <path fill="#406325" d="M486.1 385c-.8-1.3-2-2.1-3.3-2.7-7.7-4-15.4-5.9-24-7.3-2.1-.3-4.1-2.2-6.2-3.2-5-2.3-10.5-3.2-15.3-5.7a7.8 7.8 0 01-2-1.5c-2-2.2-5.5-2.9-7.6-5-8.4-7.8-17.2-15-21.8-25.5-5.6-12.7-12.5-25.8-11.6-40.3.6-9-.7-18.3 1.5-27 3.4-12.9 7.6-25.6 15.4-36.3l-1.3.8a103.6 103.6 0 00-15.4 36.3c-2.3 8.7-1 18-1.5 27-1 14.5 6 27.6 11.5 40.3 4.6 10.4 13.5 17.7 21.8 25.6 2.2 2 5.6 2.7 7.6 5a10 10 0 002 1.5c4.9 2.4 10.4 3.3 15.4 5.7 2 1 4 2.8 6 3.1a76.4 76.4 0 0124.2 7.3 8 8 0 013.3 2.6l1.3-.8"/>
+        <g fill="#67923d">
+          <path d="M406.3 331.6a46.9 46.9 0 01-.2-23.5c6.7 13 4.5 23.7.2 23.5zm45.9 45.4c-7.1.4-20.6 9.3-21.9 11.4 15.1.1 24-7.3 21.9-11.4zm7.5-4.3a60 60 0 01-14-26.5c15 10.8 18.9 24.3 14 26.5z"/>
+          <path d="M454.6 372.8a55.1 55.1 0 01-16-22.8c15.3 8.2 20.3 20.2 16 22.8zM439 366c1-7.8-5.6-24.2-7.5-26-3 16.5 3 27.6 7.6 26zm-27.3-24.3a42 42 0 01.5-21c5.5 11.7 3.3 21.2-.5 21zM398 265a51 51 0 0121-16c-6.7 14.6-18 19.9-21 16z"/>
+          <path d="M398.7 259.3a51.7 51.7 0 0117.4-20c-3.7 15.7-13.7 23.2-17.4 20zm27.9 99.2c-5-6.2-8-23.9-7.3-26.4 11.2 12.5 12 25.2 7.2 26.4zM397.9 322c-7 1.1-21.4-4.6-23-6.3 14.6-3.2 24.4 2 23 6.3zm-2.2-9.7c.8-5.5 8.6-15.8 10.3-16.6-1 12-7.4 18.6-10.3 16.6zM447 371a57.1 57.1 0 00-26.1 13.6c18 .1 28.7-8.7 26.1-13.6z"/>
+        </g>
+        <g fill="#406325">
+          <path d="M406.4 331.5c4.2.2 6.4-10.4-.3-23.4a79 79 0 01.3 23.4zm11.2 20a48.8 48.8 0 00-21.7-11.2c8.9 12.1 19.9 15.1 21.7 11.2zm-24.4-53a57 57 0 00-14.8-24c1.5 17.2 10.6 26.7 14.8 24zm8.4 34.3c-5-3.7-19-5.4-21-4.7 10.2 8.2 20.2 8.4 21 4.7zm-9.4-24.9a42 42 0 00-16.9-13.7c5.5 12.4 14.6 17 16.9 13.7zm2.7-47.5c1-7.6-5.5-23.4-7.3-25.2-2.9 16 2.9 26.7 7.3 25.2zm4.5-15a48 48 0 00-.5-24.3c-6.4 13.5-3.8 24.6.5 24.4z"/>
+          <path d="M404.4 237.8a40.2 40.2 0 003.5-19.4c-7.2 9.7-7 18.9-3.5 19.4zm6-6.1a38.9 38.9 0 009-17.4c-9.7 7-12.2 15.8-9 17.4zm-16 43.2c0 .9-1-8.2-10.1-18.3.4 14.8 6.2 20.4 10 18.3zm32.5 85.8a53.1 53.1 0 00-25.8-6c12.6 10.4 24.9 10.6 25.8 6zm12 5.2c-4.5 1.6-10.4-9.4-7.5-25.9a99 99 0 007.5 26zm13.4 11.2c2 4-6.8 11.4-21.8 11.3 12-5 21.2-9.9 21.7-11.3zm7.3-4.5c5-2.3 1.1-15.5-14-26.4 8.6 13.2 14.5 24.6 14 26.4z"/>
+          <path d="M454.6 372.7c4.2-2.7-.7-14.5-16-22.7 9.5 11.2 16.2 21 16 22.7zm-42.8-31c3.7.2 6-9.3.5-21 .7 11 .4 20-.5 21zM398 264.9c3 4 14-1.3 20.9-15.9a90.6 90.6 0 01-20.9 16z"/>
+          <path d="M398.9 259.3c3.6 3.2 13.5-4.3 17.2-20-8 11.3-15.6 19.8-17.2 20zm27.7 99.1c4.7-1.1 4-13.8-7.3-26.3 5 13.5 8 24.8 7.3 26.3zM397.7 322c1.4-4.3-8.3-9.4-22.8-6.3 12.3 2.2 22 5 22.8 6.3zm-2-9.7c3 2 9.3-4.6 10.4-16.6a68.8 68.8 0 01-10.3 16.6zM447 371c2.6 5-8 13.7-26 13.5 14.2-5.8 25.3-11.7 26-13.5z"/>
+          <path d="M399.4 326.3a45.1 45.1 0 00-17-15.8c5 13.6 14.2 19.1 17 15.8z"/>
+        </g>
+        <g fill="#67923d">
+          <path d="M392.4 274c4-4.7 17.5-9.2 19.6-9-8 10.5-18 12.6-19.6 9zm25 77.5c-1.7 4-12.6 1-21.6-11.1a84.8 84.8 0 0021.7 11.1zm-24.3-53c-4.2 2.7-13.1-6.8-14.7-24 6.6 13.3 13 23.5 14.7 24zm8.4 34.3c-.7 3.7-10.7 3.6-20.8-4.7a74.6 74.6 0 0020.8 4.7zm-9.4-25c-2.4 3.3-11.3-1.2-16.8-13.6 8.2 8 15.5 13.7 16.8 13.6zm2.7-47.5c-4.4 1.6-10.1-9-7.3-25 2.7 13.5 6 24.2 7.3 25zm4.5-14.9c-4.3.3-6.9-10.8-.5-24.3-.8 12.8-.5 23.2.5 24.3zm5-7.6c-3.4-.6-3.7-9.7 3.6-19.4a66.2 66.2 0 00-3.6 19.4zm6-6.1c-3.1-1.7-.7-10.4 9-17.4a66.2 66.2 0 00-9 17.4z"/>
+          <path d="M394.3 274.9c-3.9 2.1-9.6-3.5-10-18.3 5 11.7 8.6 17.8 10 18.3zm32.5 85.8c-.9 4.6-13.1 4.4-25.7-5.9 13.2 4.3 24.3 6.7 25.7 5.9zm-8.2-9.5A41 41 0 01412 332c9 8.7 10.2 18.1 6.8 19.2zm-16.8-25a44.3 44.3 0 01-3-23c8.3 11.9 7.3 22.7 3 23zm-2.7.1c-2.7 3.3-11.9-2.1-16.8-15.8a77.8 77.8 0 0016.8 15.8z"/>
+        </g>
+        <g fill="#406325">
+          <path d="M392.4 274c1.6 3.6 11.4 1.5 19.5-8.9-12 6.8-16.7 9.8-19.5 8.9zm9.3 52c4.3-.3 5.3-11-3-22.8a72.8 72.8 0 013 22.9zm17 25.2c3.4-1 2.2-10.5-6.7-19.2 4.4 9.7 7.2 18 6.7 19.2z"/>
+          <path d="M394.2 291.8a41 41 0 00-4.3-25.6c-4.7 15.4-.2 26.6 4.3 25.6z"/>
+        </g>
+        <path fill="#67923d" d="M394 293.8c-6 1.3-8.7-12-4.1-27.1 1 13.5 2.8 26.1 4 27z"/>
+        <path fill="#67923d" d="M392.7 293.7a53 53 0 019-24.7c2 15.8-4.5 26.3-9 24.7z"/>
+        <path fill="#406325" d="M392.8 293.6c4.4 1.6 10.9-8.8 8.9-24.6-3.5 13.3-7.5 23.8-8.9 24.6z"/>
+        <path fill="#67923d" d="M394.1 303.3a50 50 0 0110.6-23.7c.8 16.2-6.3 25.9-10.6 23.7z"/>
+        <path fill="#406325" d="M394.2 303.4c4.2 2.2 11.3-7.3 10.5-23.5-4.4 12.8-9 22.9-10.5 23.5z"/>
+      </g>
+      <g fill="#ba1f3e" stroke="#511124" stroke-width=".2">
+        <circle cx="396.8" cy="251.3" r="1.1"/>
+        <circle cx="405.2" cy="245.1" r="1.1"/>
+        <circle cx="401.6" cy="241.7" r="1.1"/>
+        <circle cx="392.5" cy="313.1" r="1.3"/>
+        <circle cx="395" cy="297.1" r="1.3"/>
+        <circle cx="408.2" cy="334.5" r="1.3"/>
+        <circle cx="402.4" cy="336.4" r="1.3"/>
+        <circle cx="446.7" cy="367.6" r="1.3"/>
+        <circle cx="449.6" cy="374.7" r="1.3"/>
+      </g>
+    </g>
+    <g stroke="#24420e">
+      <path fill="none" stroke-width=".4" d="M561.1 259c.7.6 1.2.8 2.3 1.9m-6.6-19c0-1.3-.6-3.6-.9-5m3.5 3c0 2-.3 3.8-1.1 5.5m-4.2-.5c1.8 1.6 3.5 3 5.3 3.9m3.8 1.2c.1 2-.1 4-.7 6m.4 1.5l1.3-2.3m-1.9 12.2c1.4.3 2.8 2 3.5 3.5m.5-1.3l1.6-2.2m1.7 30.8a23.9 23.9 0 01-2.4 3.4m-4 0c.8 1.4 1.6 3 2.6 4m2.5 5.9a13.2 13.2 0 01-4.5 4m.2 4.5c-1.1.8-2.5 3-3.7 4.7m8.4-20.2l-2.1.9m-1.4-7.5l1.3 1.1m-9.3 37.4H555m-2-1.8l.7 1.6m-7.8 5.1c-.2 1.9 0 3.7.2 5.6m4.3-9l1 2.2m3.9-.2l-2.5.5m-30.9 25.2l-1 1.8m12-4c-1.5.2-2.8 0-4.1-.2m-5.5 6a27.3 27.3 0 00-3-1m-14.6 2.7c-1 .7-2 2.4-3.1 4m-.6-4.5c-2.4 1.3-3.1 3.7-4.4 5.8m2.8 2.9a52.4 52.4 0 01-5.3-2m16.7-.8c-2.3-1.2-4.7-1-7.1-1.4m10.8-.4c-3.7-.7-7-.6-10.3-.1m7.8-2.6l-1.4-.6m-5.6 5.5l-2.3-1.3m58-49.2c-1.3.8-2.6 2.3-3.8 3.9m1.8-79.6l-2.1-.8"/>
+      <g stroke-width=".2">
+        <path fill="#406325" d="M474.4 384.9a8 8 0 013.3-2.7c7.7-4 15.4-5.8 24-7.2 2.1-.4 4.1-2.3 6.2-3.2 5-2.4 10.5-3.3 15.3-5.7a7.8 7.8 0 002-1.6c2-2.2 5.5-2.9 7.6-5 8.4-7.8 17.2-15 21.8-25.5 5.6-12.7 12.5-25.8 11.6-40.2-.6-9.2.7-18.4-1.5-27a104.8 104.8 0 00-15.4-36.4l1.3.8a103.8 103.8 0 0115.4 36.3c2.3 8.7 1 18 1.5 27.1 1 14.4-6 27.5-11.5 40.3-4.6 10.4-13.5 17.6-21.8 25.5-2.2 2-5.6 2.7-7.6 5a10 10 0 01-2 1.5c-4.9 2.5-10.4 3.4-15.4 5.7-2 1-4 2.8-6 3.2A76.4 76.4 0 00479 383a8 8 0 00-3.3 2.7l-1.3-.9"/>
+        <g fill="#406325">
+          <path d="M553.6 334.6c2.8-7.4 0-24.8-1.4-27-6.7 15.4-3.4 27.6 1.4 27z"/>
+          <path d="M546.5 341.6c2.3-5.6.6-19.3-.4-21-5.6 11.7-3.3 21.3.4 21zm16.8-74.1a47 47 0 00-19.2-14.6c6.2 13.3 16.5 18.2 19.2 14.6z"/>
+          <path d="M561.8 259.5a43.3 43.3 0 00-14.5-16.7c3 13 11.4 19.3 14.5 16.7zm4.7 15c-3.5-4.1-15.2-8-17-7.8 7 9 15.6 10.9 17 7.7zm-2.8 46.3a40 40 0 0020.3-5.7c-12.9-2.8-21.5 1.9-20.3 5.7zm-.1-5.7c0-5.6-6.4-16.8-8-18-.6 12 4.8 19.5 8 18z"/>
+          <path d="M564 301.4a50 50 0 00-10.6-23.6c-.8 16.2 6.3 25.8 10.6 23.6zm-53 75.3a47.7 47.7 0 0022.2 11c-8.8-12.3-20.1-15.1-22.1-11z"/>
+        </g>
+        <g fill="#67923d">
+          <path d="M553.6 334.4c-4.9.6-8.1-11.4-1.4-26.8-.5 14.2.2 25.7 1.4 26.8zm-53.4 43.7a48 48 0 0121.8 11.4c-15 .1-24-7.3-21.8-11.4zm0-8c2-8 15-21.2 17.5-22.1-3.6 17.1-13.7 25.5-17.5 22.2zm21.3-4.2c-1-7.8 5.6-24.2 7.5-26 3 16.5-3 27.6-7.5 26zm21.4-14.5a48.8 48.8 0 0121.7-11.2c-8.9 12.1-19.9 15.1-21.7 11.2zm25.8-53.3c1-6.3 9.7-17.9 11.6-18.9-1.2 13.6-8.3 21-11.6 19z"/>
+          <path d="M557 336.2a50.4 50.4 0 0124.4-5.5c-11.8 9.7-23.5 9.8-24.4 5.5zm10.3-24.5a44 44 0 0117.7-14.4c-5.8 13-15.3 17.8-17.7 14.4zm-1.5-45.6c0-7.6 8-22.7 10-24.2 1.1 16.1-5.7 26.2-10 24.2zm-7-26a40.6 40.6 0 010-20c5.5 11 3.7 20.2 0 20zm-4.1-2.1a49.8 49.8 0 01-10.5-22.1c11.8 9.3 14.4 20.4 10.4 22.1z"/>
+          <path d="M566.3 272.5c-.3.9 3-7.7 14.2-15.3-4 14.3-11 18.3-14.2 15.3zm-34.1 90c7-5.2 26.5-7.7 29.2-6.8-14.2 11.8-28.2 12-29.2 6.7zm14.3-20.9c-3.7.2-6-9.3-.5-21-.7 11-.4 20 .5 21zm16.9-74c-2.7 3.5-13-1.3-19.2-14.7a78.8 78.8 0 0019.2 14.6zm-1.7-8.1c-3.1 2.6-11.3-3.6-14.4-16.7 6.7 9.4 13 16.5 14.4 16.7zm4.8 15c-1.4 3.2-9.9 1.3-16.9-7.7 10.4 5.9 14.5 8.5 17 7.7zm-2.6 46.2c-1.3-3.7 7.3-8.3 20.2-5.5a69 69 0 00-20.2 5.5zm-.4-5.6c-3.2 1.5-8.5-5.9-8-17.9a68.5 68.5 0 008 18z"/>
+          <path d="M563.9 301.6c-4.2 2.2-11.3-7.4-10.5-23.5 4.4 12.8 9 22.9 10.5 23.5zm-52.7 75c2-4 13.1-1.3 22 11a80.3 80.3 0 00-22-11z"/>
+        </g>
+        <g fill="#406325">
+          <path d="M521.5 365.8c4.6 1.6 10.5-9.4 7.6-25.9-2.8 14-6.2 25.1-7.6 26z"/>
+          <path d="M531.8 360.6a55 55 0 004.6-27c-10 13.6-9.4 26.3-4.6 27zM500.1 378c-2 4.1 6.7 11.5 21.8 11.3a80.2 80.2 0 01-21.8-11.3zm.2-8c3.8 3.3 13.8-5 17.4-22.1-8.1 12.4-15.7 21.8-17.4 22zm42.7-18.7c1.8 4 12.7 1 21.7-11.1a84.5 84.5 0 01-21.7 11.1zm25.8-53.3c3.3 2.1 10.3-5.3 11.5-18.8a74.6 74.6 0 01-11.5 18.8zM557 336.2c.9 4.4 12.4 4.2 24.3-5.5-12.5 4-23 6.2-24.3 5.5zm10.3-24.6c2.5 3.4 11.9-1.4 17.7-14.4a75.1 75.1 0 01-17.7 14.4zM566 266c4.3 2 11-8 10-24-4.2 13-8.5 23.3-10 24zm-7-25.9c3.6.1 5.5-9 0-20 .9 10.5.8 19.1 0 20zm-4.2-2.2c4-1.7 1.4-12.7-10.4-22a81.8 81.8 0 0110.4 22zm11.6 34.7c3.2 3 10.2-1 14.2-15.4-7.8 10.1-12.7 15.2-14.2 15.4zm-34 89.9c1 5.2 14.9 5 29-6.7-14.9 4.8-27.4 7.6-29 6.7z"/>
+          <path d="M539.1 354.8a41 41 0 003.6-20.1c-7.5 10-7.2 19.5-3.6 20zm19.6-28.7a44.3 44.3 0 003-23c-8.3 11.9-7.3 22.7-3 23z"/>
+        </g>
+        <path fill="#67923d" d="M531.8 360.5c-4.8-.6-5.3-13.3 4.5-26.8-3.6 13.8-5.4 25.4-4.5 26.8zm35.2-68.3c-1-7.7 4-20.1 6.6-22.5 2.5 14.4-2.7 24-6.7 22.5zm-28 62.5c-3.6-.5-3.9-10 3.5-20a67.5 67.5 0 00-3.5 20zm23.4-104.2c-2.2-6 0-20 1.2-21.8 5.3 12.2 2.6 22.1-1.2 21.8zm-58.1 120.1c2.5-8 16.2-21 18.8-21.9-4.3 17.4-15 25.5-18.8 22zm54.5-41.6a45.1 45.1 0 0117-15.8c-5 13.6-14.3 19.1-17 15.8zm-.1-3c-4.3-.4-5.3-11 3-22.9a72.8 72.8 0 00-3 22.9z"/>
+        <path fill="#406325" d="M567 294c5.2 1.9 9-9.8 6.6-23.9a98.2 98.2 0 01-6.6 24z"/>
+        <path fill="#406325" d="M567.8 293.6c.5-7.5-7-23-9-24.7-2 15.8 4.5 26.3 9 24.7zm-5.2-43.2c3.8.4 6.4-9.4 1.1-21.7a73 73 0 01-1.2 21.7zm-58.1 120.1c3.8 3.6 14.4-4.4 18.7-21.8-8.8 12.3-17 21.6-18.7 21.8zm54.6-41.5c2.8 3.3 12-2.1 17-15.8a77.8 77.8 0 01-17 15.8z"/>
+        <path fill="#67923d" d="M567.7 293.5c-4.5 1.7-10.9-8.7-8.9-24.5 3.5 13.2 7.5 23.7 8.9 24.5z"/>
+      </g>
+      <g fill="#ba1f3e" stroke="#511124" stroke-width=".2">
+        <circle cx="564.6" cy="254.9" r="1.1"/>
+        <circle cx="568.4" cy="266.8" r="1.1"/>
+        <circle cx="569.8" cy="304.3" r="1.3"/>
+        <circle cx="564.6" cy="297.3" r="1.3"/>
+        <circle cx="549.9" cy="337.2" r="1.3"/>
+        <circle cx="556.2" cy="339.9" r="1.3"/>
+        <circle cx="513.8" cy="372.3" r="1.3"/>
+        <circle cx="506.8" cy="377.3" r="1.3"/>
+        <circle cx="557" cy="249.3" r="1.1"/>
+      </g>
+    </g>
+    <g id="b" fill="#8c959d" stroke="#485654" stroke-width=".1">
+      <path d="M434.3 336.3c-.2 1 .8 2.3 2 2 .5 0 .7-.5.2-.5-.4.1-.9 0-1.2-.3a1.7 1.7 0 01-.4-2l-.6.8z"/>
+      <path stroke="none" d="M437.2 338.3c-1 1.2-2.5 1.7-3.4.9-.6-.6-.8-1.2-.5-2l-1 1.3a4.4 4.4 0 001.6 1.8c1.2.5 3-.3 4-1.6.8-1 1.6-2.4 1-3.6a4 4 0 00-2-1.7l-1 1c.5-.2 1.2 0 1.7.4 1.3 1 .5 2.5-.4 3.5z"/>
+      <path fill="#485654" stroke="none" d="M437.2 338.3a4 4 0 01-1.1 1c-.5.2-1 .4-1.5.3a1.5 1.5 0 01-.7-.3 2.4 2.4 0 01-.5-.6 1.6 1.6 0 01-.3-.7c0-.3 0-.5.2-.8l.1.1-1.1 1.2c.3.4.6.9 1 1.2l.7.5a2 2 0 00.8.1 3 3 0 001.6-.5 5.1 5.1 0 001.3-1l1-1.4c.2-.5.3-1 .3-1.6a1.8 1.8 0 00-.2-.8 3 3 0 00-.5-.6 4.2 4.2 0 00-1.4-1h.1l-1 1.1h-.1c.2-.2.5-.2.8-.2a2 2 0 011.6 1.4c.1.5 0 1-.2 1.4a5.1 5.1 0 01-.9 1.2zm0 0c.4-.3.6-.7.8-1.2.2-.4.3-1 .2-1.4a2 2 0 00-.9-1c-.4-.3-1-.4-1.3-.2h-.1l1-1.2a4.2 4.2 0 012 1.6c.2.3.3.6.3 1 0 .5-.1 1-.4 1.6a6.4 6.4 0 01-1 1.4c-.3.5-.8.8-1.3 1.1-.5.3-1 .5-1.7.5a2.2 2.2 0 01-.8-.1 2.7 2.7 0 01-.8-.5 5 5 0 01-1-1.4l1-1.3h.2l-.1.8c0 .2 0 .5.2.7l.5.5.6.3c.5.1 1 0 1.5-.3a4 4 0 001.1-.9z"/>
+      <path fill="#6c301e" stroke="#351710" stroke-linejoin="round" stroke-width=".2" d="M515.2 249.3l-40.1 39.5L434 328l-4.6 5.4c-2 2.3-4.4 5.3-7.2 8-.4.6-1.1.4-1.7.8a23.4 23.4 0 00-5 4.3L403.2 360c-.7.9-1 1.4-.4 2l6.6 8.8c1.2 1.2 2.6 1.8 3.2.8 3.1-5.5 11-13.8 14-20.3 1.7-4 3.9-11.1 5.5-12.8 2-2.2 7.1-7.8 11.8-12.7l1-1 .9-1c23.5-24 50.7-53.1 70.5-73.6l-1-1z"/>
+      <path d="M431.9 328.1c-1.2 0-2-.7-2.9-1.4 1.2.4 2.4.8 3.5.4l-.6 1z"/>
+      <path fill="#b2b6ba" stroke-width=".2" d="M557 220.1l-31.8 26.2c-.3.4-.6.3-.9 0l-2.9-2.4v-.6l1.4-1.4c.2-.2 0-.3-.1-.6l-.6-.6c-.3-.1-.5 0-.7.2l-1.4 1.5c-.7 0-1.3.6-1.4 1.4-19.2 18.7-35.8 35.4-54.9 53.8l-22.6 21.6c-.8 1-4.3 2.9-6.6 4.4a5.6 5.6 0 00-1.8 1.5l-1.8 5.5-2.5 4.2c2.3 2.4 2.2 2.2 3.8 3.7l11.2-11.9.8-1a13.2 13.2 0 00-1.4-1.6 34.1 34.1 0 00-1.2-1l-.6-.6c-.2-.2.2-.5.4-.7 26.5-25.5 55-53.7 78.3-76.6a1.4 1.4 0 001 0l2.8 3.2c.6.6 1.2.6 1.7.4l31.9-28.6z"/>
+      <path fill="#485654" stroke="none" d="M431 330.4h.5a1.5 1.5 0 00.6-.1 124.9 124.9 0 011.5-4.8 1.5 1.5 0 00-.7-.4c.3 0 .5.2.7.4l-.7 2.4-.7 2.4a1.4 1.4 0 01-.6.2 2.9 2.9 0 01-.7-.1z"/>
+      <circle cx="438.2" cy="328.1" r=".6" fill="none" stroke-width=".2"/>
+      <circle cx="434.4" cy="331.9" r=".6" fill="none" stroke-width=".2"/>
+      <path fill="#485654" stroke="none" d="M441 322.4l-1-.8a11.6 11.6 0 01-.8-.8 11.4 11.4 0 011.8 1.6z"/>
+      <path d="M502.2 259l3.5 3.5.6-.6-3.5-3.4-.6.6z"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(-177.2 487 -.2)" xlink:href="#b"/>
+    <g stroke="#24420e" stroke-width=".2">
+      <path fill="#67923d" d="M434 365.4a55.9 55.9 0 00-29.3.9c16.3 8 29.5 4.6 29.2-1zm89 3.3a55 55 0 0129.2 1c-16.3 7.9-29.6 4.5-29.3-1z"/>
+      <path fill="#406325" d="M433.8 365.5c.3 5.5-12.8 8.9-29.1.9 15.3 1 27.8.4 29-1zm89.3 3.3c-.3 5.5 12.8 8.9 29 .9-15.2 1-27.7.4-29-1z"/>
+    </g>
+    <g id="c">
+      <path fill="#b2b6ba" stroke="#485654" stroke-width=".2" d="M508.5 360a237.5 237.5 0 00-76.1-68c3.6-.2 11.5 3.9 14.7 6 23.9 15.4 44.3 35.7 65.6 59.8a35.1 35.1 0 01-3.4 3l-.8-.8z"/>
+      <path fill="#8c959d" d="M510.6 359.8L509 361c-23-29.6-55.1-57.9-76.7-69.1 30.1 13.9 55.4 41.8 78 67.7h.2z"/>
+      <path fill="#485654" d="M510.6 359.8L509 361a302.3 302.3 0 00-16.9-19.7 336 336 0 00-18.3-18.3 284.2 284.2 0 00-19.8-16.8 195.9 195.9 0 00-10.6-7.6c-3.6-2.3-7.3-4.6-11.1-6.6v-.2a136 136 0 0122.5 13.3 210.9 210.9 0 0120 16.6 360 360 0 0118.3 18.5c6 6.4 11.6 13 17.4 19.4zm0 0a899.3 899.3 0 00-17.5-19.4 360.2 360.2 0 00-18.3-18.5 212 212 0 00-20-16.6 134.7 134.7 0 00-22.4-13.2v-.2a200.9 200.9 0 0121.7 14.3A285 285 0 01474 323a336 336 0 0118.3 18.3 302.3 302.3 0 0116.8 19.8l1.5-1.4z"/>
+      <g fill="#fab81c" stroke="#6c301e" stroke-width=".1">
+        <path stroke-width=".2" d="M517.5 355a18.3 18.3 0 00-5.3 2.3c-.2 1.4-2 3-3.6 3.3l-.5-.8a.1.1 0 00-.2 0 7.2 7.2 0 00-.6.3c-.6 0-1.3.2-1.6 1-.4 1 .4 2.3 1.2 3.1 1 .7 1.4 1 2.4 1 1.1-.3 1.7-1.3 2-1.6 3.7 4.5 6.5 7 11.2 10.6 2.1 0 3.2-1.3 2.5-2.8-.2-.5-.8-.8-1.3-.6v-.5c2.4-2.2 3.5-5 .9-9.9-2.2-4-4.7-5.3-7-5.3zm6.3 4.6l1 2c1.5 3 .2 6.6-2.4 7.8h-.2c.4-.7-.8-2.2-1.4-1.7.3-.7-.7-2-1.5-1.7.4-.7-.5-1.9-1.4-1.5.4-.7-.3-1.8-1.3-1.6.3-.9-.4-1.8-1.3-1.6 0-.8-.2-1.2-.5-1.5 1-.8 2.3-2.1 3.4-2.7 2.7-1.2 4.4 1 5.5 2.5z"/>
+        <path d="M524.9 362.8c-.5-.3-.8-.8-.6-1.1.2-.4.7-.5 1.2-.2.5.2.8.7.6 1-.1.4-.7.5-1.2.3z"/>
+        <path d="M524.6 361.8c-.5-.3-.8-.8-.6-1.2.2-.3.7-.4 1.2-.1.5.2.8.7.6 1-.1.4-.7.5-1.2.3z"/>
+        <path d="M524 360.6c-.5-.2-.8-.7-.6-1 .2-.4.7-.5 1.2-.3.5.3.8.8.6 1.1-.1.4-.7.5-1.2.2z"/>
+        <path d="M523.2 359.6c-.5-.3-.8-.8-.6-1.1.2-.3.7-.4 1.2-.2.5.3.8.8.7 1.1-.2.3-.8.5-1.3.2z"/>
+        <path d="M522.2 358.6c-.6-.2-.8-.8-.6-1v-.2c.2.1.7.2.6-.1 0-.2-.1-.3 0-.2l.6.2c.5.3.8.8.6 1.1-.2.4-.7.5-1.2.2z"/>
+      </g>
+      <path fill="#fab81c" d="M511.3 363.6c.6-1.8 2-3.4 3.5-3.8m-3.3 4c1.3.3 3.3-1.2 3.8-2.5m-2.6 4c1.6.4 3.3-1.2 4-2.4m-2.5 4c2 0 3.1-1.3 3.7-2.4m-2.2 4c1.6 0 3.2-1.4 3.6-2.5m-2.2 3.8a4 4 0 003.7-2m-2 3.4c1.6.1 3-.9 3.4-1.8m-1.6 3.3c1.6 0 2.7-1 3.1-2"/>
+      <path fill="#6c301e" d="M511.3 363.6a7.1 7.1 0 011.3-2.3l1-1 1.2-.5a4 4 0 00-1.2.6l-1 1a9.3 9.3 0 00-1.3 2.2zm.2.3c.4 0 .8 0 1.2-.2a4.9 4.9 0 001-.6l1-.8.6-1a2 2 0 01-.6 1 5 5 0 01-1 .9 4.6 4.6 0 01-1 .5 2.1 2.1 0 01-1.2.2zm1.2 1.4h1.2l1-.6a6.2 6.2 0 001.7-1.8 4.7 4.7 0 01-.7 1 5.2 5.2 0 01-.9.9 3.7 3.7 0 01-1 .5h-1.3zm1.5 1.6a4.2 4.2 0 001.1-.2 3.8 3.8 0 001-.5 4.7 4.7 0 001-.8l.6-1a4.5 4.5 0 01-1.5 1.9 3.4 3.4 0 01-2.2.6zm1.5 1.5a4.1 4.1 0 002.1-.8 5.1 5.1 0 001.5-1.6c-.1.3-.3.7-.6 1l-.8.7a4.2 4.2 0 01-1 .5c-.4.2-.8.2-1.2.2zm1.5 1.4a7 7 0 001-.2 4.6 4.6 0 001-.4 3.6 3.6 0 001.6-1.5l-.6 1c-.3.2-.6.5-1 .6a4.5 4.5 0 01-2 .5zm1.6 1.4h1a4 4 0 001-.5l.8-.5c.3-.3.5-.5.6-.8a2.5 2.5 0 01-.5.8 3.6 3.6 0 01-.9.6 3.7 3.7 0 01-2 .4zm1.8 1.5a4 4 0 001-.1 3.3 3.3 0 001.6-1 4 4 0 00.5-.8 3 3 0 01-1.2 1.5 3 3 0 01-1 .3 3 3 0 01-1 0z"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(-176.6 490 -.4)" xlink:href="#c"/>
+    <g stroke="#24420e" stroke-width=".2">
+      <path fill="#406325" d="M409.2 240a52.4 52.4 0 0019.5-17.9c-15.6 4.2-22.7 14.4-19.5 18zm145.8 4.7a50 50 0 00-15.6-19.9c2.8 15.2 12 22.8 15.6 20z"/>
+      <path fill="#67923d" d="M409.2 240c-3.3-3.5 3.8-13.6 19.4-17.8-11 8.4-19.2 16.2-19.4 17.8zm145.8 4.7c-3.7 3-12.7-4.6-15.5-19.7 7.2 11 14 19.5 15.5 19.7z"/>
+    </g>
+    <g stroke="#999270" stroke-width=".2">
+      <path fill="url(#d)" d="M452.2 318.1s-6.2.7-7.9-7.8c-1.8-9.1 5.3-10 5.3-10s8.1-.9 13.2-1l2.2 18-12.8.8z"/>
+      <path fill="url(#e)" d="M453 315.4s-4 .7-4.8-5.6c-.6-4.5 2.2-5.1 2.2-5.1l9.2 1.6v8.2l-6.6.9z"/>
+      <path fill="url(#f)" d="M450.4 304.7s5.9-.4 9-.8l1.3 5.7-7.1.4s-.5-5.1-3.2-5.3z"/>
+      <path fill="url(#g)" d="M449.2 300.4s7.5-1.9 8.5 6.5c.2 2.1-1 7.1-4.7 8.5l13.9-1.5-1.3-15-4.6.4s-10 .3-11.8 1z"/>
+      <path fill="#f9f0aa" d="M452.2 318.1s51.9-3.5 57.2-3.3c15.8-8.6 0-42.5-13.3-61.5 1.5-4.3-29.9-13.9-44-13-1.9 0-3.6.2-5.2.3-7.7.8-7.8 10.7-4.7 17 3 6 30.3 55 11.2 60.3l-1.2.2z"/>
+      <path fill="url(#h)" d="M507.8 273.3a148.3 148.3 0 00-11.7-20c1.5-4.3-29.9-13.9-44-13-1.9 0-3.6.2-5.2.3-7.7.8-7.8 10.7-4.7 17 1 1.8 4.3 8 7.9 15.7"/>
+      <path fill="url(#i)" d="M455 285c5.6 14.6 8.7 30-1.6 32.8l-1.2.3s52-3.5 57.2-3.3c8.6-4.7 7.8-16.8 3.2-30"/>
+      <path fill="url(#j)" d="M447.4 243.5c-3.7 0-4.7 3.6-4.6 5.8.1 6 4.6 6.2 4.6 6.2l6-.3 2.8-12.2-8.8.5z"/>
+      <path fill="url(#k)" d="M447.4 243.5l8.8-.5 1 9.1-7.8.4s2.5-7.3-2-9z"/>
+      <path fill="url(#l)" d="M496.1 253.3c6.7-1 6.6-10 2-13.7-15.5-.5-35.9-.1-50.6 1 1.7 0 6.3.4 6.9 6.5a8.2 8.2 0 01-3 7c-2 1.4-4 1.4-4 1.4h3.6l3-.4c21-2.7 42-1.8 42-1.8h.1z"/>
+      <path fill="#b07e09" stroke="none" d="M458.5 267.4c-.2-.3-.3-.7-.8-.8-.2 0-.6 0-.5-.4h.8l1.6-.2c.4.1.3.6 0 .5-.5 0-.2.5-.1.8l1.3 3c.1.4.4.7.7.7l1.1-.1c.3-.2.2-.6.2-1-.1-.3.5-.2.5 0l.4 1.4c0 .2-.2.1-.4.1l-3 .2c-.3 0-.8.3-1 0 0-.4.6-.2.6-.5l-.3-1-1.1-2.7zm4.8-.3c-.1-.3-.3-.7-.7-.8-.2 0-.6 0-.6-.4h.7l1.7-.2c.3 0 .4.5 0 .4-.3 0-.3.4-.2.7l1.5 3.4c0 .2.2.5.5.6.3 0 .7 0 .7.3 0 .2-.4.1-.6.1a6.6 6.6 0 00-1.6.2c-.2 0-.5 0-.5-.3s.5 0 .6-.4c0-.3-.2-.6-.4-1l-1.1-2.6zm4.5.7c0 .2.4 0 .5 0 .3 0 .6-.1.6-.4a1.7 1.7 0 00-.7-1.2c-.3-.3-.8-.2-1.1-.2l.1.5.6 1.3zm.6 1.6c.2.3.3.7.6 1 .2.2.6.1.8 0 .3 0 .5-.3.4-.5-.1-.7-.5-1.3-1.2-1.5a2.4 2.4 0 00-1 0l.2.5.2.5zm-2-2.4c-.2-.3-.3-.7-.7-1-.2 0-.6.1-.7-.2 0-.3.6-.1.8-.2.9 0 1.7-.3 2.6 0 .7.2 1.4.8 1.5 1.6 0 .4-.3.7-.6.8l.5.1c.6.2 1.1.6 1.4 1.1.2.4.3 1 0 1.4-.4.4-1 .4-1.4.4-.8 0-1.5 0-2.3.2-.2 0-.4-.5 0-.5.3 0 .3-.4.2-.6l-1.3-3zm7.4-1.9c.3 0 .4.3.5.5l.3.9c-.3.2-.5-.2-.6-.4-.1-.2-.4-.5-.7-.4a8.3 8.3 0 00-1.2 0c-.2.2 0 .4.1.6l.6 1.3c.2 0 .6 0 .8-.2 0-.2-.3-.7.2-.6.3.2.2.6.4.9l.5 1.1c-.3.3-.5-.1-.6-.4-.2-.3-.7-.3-1-.3-.2 0 0 .2 0 .3l.6 1.5c.2.3.7.3 1 .3.4 0 .8 0 1-.4.2-.2-.3-.7 0-.8.4 0 .4.4.5.6 0 .3.2.6.3.8 0 .2-.3.2-.4.2l-3 .2c-.4 0-.9.2-1-.2 0-.3.6-.1.6-.6l-.4-1-1.1-2.6c-.2-.3-.4-.6-.8-.7-.2 0-.6 0-.4-.4h1l2.8-.2zm2.3 1.3c-.1-.3-.3-.7-.7-.9-.2 0-.7 0-.7-.4.3-.2.7 0 1 0 .8 0 1.6-.3 2.4 0 .8.2 1.5.9 1.6 1.8 0 .4-.3.7-.7.8-.3 0 .2.1.3.2.7.3 1 .9 1.4 1.5.1.2.5.7.6.2 0-.5.7 0 .5.3 0 .4-.3.6-.7.6-.4 0-.9-.2-1.1-.6-.4-.6-.7-1.3-1.3-1.7-.2-.2-.5-.3-.8-.1v.4l.6 1.2c.2.3.6.3 1 .3.3.1.2.6-.2.5h-1.7c-.3.2-.9 0-.7-.3.3 0 .7-.2.5-.5l-1-2.6-.3-.7zm1.4 1c.2.3.6 0 .9 0 .3 0 .3-.5.2-.7-.1-.5-.4-1-.9-1.2-.2 0-.8-.2-.9.1l.7 1.6v.1zm7.2 1.6c.2.3.3.6.6.7.2 0 .6 0 .7.3 0 .3-.4.1-.6.2a7 7 0 00-1.6 0c-.3.1-.6 0-.6-.3.2-.2.7 0 .7-.4l-.5-1.1-1.1-2.9c-.1-.3-.5-.3-.7-.3-.3 0-.7 0-.7.4 0 .3.2.7 0 .8-.3 0-.4-.3-.5-.5l-.3-1c0-.2.3-.1.4-.1l4.2-.2c.3 0 .5.2.5.5s.3.6.4 1c-.1.3-.5 0-.5-.3-.2-.3-.6-.6-1-.7-.2 0-.6 0-.8.2l.2.7 1.2 3zm3.8-.9c-.2 0-.1.3-.1.4v.8c.1.3.5.3.8.4.2 0 .1.5-.2.4h-1.2c-.3.1-.7-.1-.5-.4.2 0 .4-.1.5-.3v-5c.2-.3.6 0 .6.1l3.6 4.6c.2.2.5.4.8.4.3 0 .4.5 0 .4h-1.5c-.2 0-.5.2-.7 0-.2-.1 0-.4.2-.4.3 0 0-.4-.1-.6l-.6-.8h-1.6zm1.1-.5c.2 0 0-.1 0-.2l-1.3-1.7v2h1.3zm3.1-1.8c-.1-.4-.3-1-.8-1-.3 0-.7-.2-.5-.5h1.7c.7 0 1.4 0 2 .2a4.3 4.3 0 013 3.4c0 .6-.1 1.3-.6 1.6-.8.5-1.7.4-2.5.3l-1.4.1c-.3 0-.4-.5 0-.4.4 0 .4-.5.2-.7l-1.1-3zm2 2.5c.1.3.2.7.5 1h1c.5 0 .7-.5.7-.9a4.3 4.3 0 00-.6-2.1 2.7 2.7 0 00-1.8-1.4h-1c-.1 0 0 .2 0 .4l1.2 3zm-21.1 12.4c0 .3.4.6.8.6.2 0 .7 0 .7.4-.2.2-.5 0-.8 0a8.6 8.6 0 00-1.5.2h-.9c-.2 0-.2-.4.1-.4.3 0 .6-.1.7-.4 0-.3-.2-.6-.3-.8l-1.2-2.8c0-.3-.4-.3-.7-.3-.2 0-.6.1-.7-.2 0-.3.5-.2.7-.4l1-.3c.2 0 .3.1.4.3l1.7 4zm.7-4.5h2c.4 0 .2-.5.4-.5.4 0 .4.5.4.7a.5.5 0 01-.6.6H475l.5 1.2.6-.2a2.8 2.8 0 012.6 1.6c.2.4.3 1 0 1.5-.4.5-1 .6-1.6.6-.5 0-1-.1-1.4-.6-.1-.2-.1-.7.2-.6.4 0 .7.2.7.6.1.2.5.1.7.1.3 0 .6-.2.6-.6 0-.4-.2-1-.5-1.3-.2-.4-.7-.7-1.2-.7l-.9.1c-.3 0-.3-.3-.4-.5a23.9 23.9 0 01-.7-1.9s.1-.2.2-.1zm6.9 1c-.2-.4-.4-.9-.9-1-.2 0-.7-.2-.4-.4h1.6a3 3 0 012.1.1 4.3 4.3 0 013 3.4c0 .6-.1 1.2-.7 1.5-.7.5-1.6.4-2.4.4l-1.3.2c-.3 0-.4-.5 0-.5s.3-.4.2-.7l-1.2-3zm2 2.4c.2.4.3.8.6 1 .3.2.6.1 1 0 .4 0 .6-.5.6-.9a4 4 0 00-.7-2.1 2.6 2.6 0 00-1.8-1.3 3 3 0 00-1 0v.3l1.3 3zm6.4-4.2c.3 0 .4.3.5.5 0 .3.2.5.3.8-.2.3-.5 0-.6-.3-.1-.2-.3-.5-.6-.5a9.7 9.7 0 00-1.3 0c-.2.2 0 .5 0 .6l.6 1.4c.3 0 .6 0 .8-.2.2-.2-.2-.7.2-.6.4 0 .3.5.4.8l.5 1.1c-.1.4-.5 0-.6-.3-.1-.3-.5-.3-.8-.3-.2 0-.4 0-.2.2l.6 1.5c.2.4.7.3 1 .3.4 0 .8 0 1-.3.2-.2-.2-.6 0-.8.4 0 .5.3.5.5l.3 1c0 .1-.3 0-.4 0l-3.1.2c-.3 0-.7.2-.9 0-.2-.5.5-.3.6-.6l-.3-.9-1.1-2.9c-.2-.3-.4-.6-.8-.7-.2 0-.6 0-.4-.4h1l2.8-.1zm-27.2 14.3c.1.5.6.7 1 .8.8.2 1.7.5 2.2 1.1.3.4.5.9.5 1.4 0 .5-.5.9-1 1a2.5 2.5 0 01-1.7-.1c-.2-.1-.1.4-.4.2-.3-.1-.2-.5-.4-.8a9 9 0 00-.3-1c0-.3.4 0 .5.2.3.6.9 1 1.6 1.1.4 0 .8-.2.8-.6 0-.5-.4-1-.8-1.2-.7-.3-1.4-.4-2-.8a2 2 0 01-1-1.6c0-.4.4-.8.8-.9a2.6 2.6 0 011.6 0c.2 0 .3-.3.6-.1 0 .2 0 .4.2.6l.3.9c-.2.2-.5 0-.5-.2-.3-.4-.6-.8-1-.8s-.8 0-1 .3v.5zm6.6-1.7c.4 0 .4.3.5.5 0 .3.2.6.3.8-.2.3-.5 0-.6-.2-.1-.2-.3-.5-.7-.5h-1.2c-.2.2 0 .4 0 .6l.5 1.4c.3 0 .6 0 .8-.2.2-.2-.2-.6.1-.7.4 0 .4.4.5.7 0 .4.3.8.5 1.3-.2.3-.6 0-.6-.3-.1-.3-.5-.4-.8-.3-.2 0-.4 0-.3.2l.6 1.5c.1.3.4.3.7.3.4 0 .9 0 1.2-.3.2-.2 0-.6 0-.8.3-.2.6 0 .6.3l.2 1c0 .2-.3.2-.4.2l-3 .2c-.4 0-.8.3-1 0 0-.4.5-.3.6-.6 0-.3 0-.5-.2-.8l-1-3c0-.3-.3-.6-.7-.6-.2 0-.6-.2-.4-.4h1l2.8-.3zm4.2 4.2c.1.3.3.6.6.7.3 0 .7-.1.8.2 0 .4-.5.2-.7.2a6.3 6.3 0 00-1.6.1c-.2 0-.5.2-.6-.1 0-.4.5-.2.6-.4l-.1-.8-1-3c-.2-.3-.3-.7-.7-.7-.2 0-.6 0-.5-.4.1-.2.5 0 .7 0 .7 0 1.4-.3 2.2-.2a2 2 0 011.7 1.2c.2.4.2 1 0 1.3-.5.4-1.1.5-1.7.6-.2 0 0 .2 0 .3l.3 1zm-.5-1.8h.6c.3-.1.5-.4.4-.7a2.2 2.2 0 00-.5-1.2c-.3-.3-.8-.3-1.1-.2-.2.1 0 .3 0 .5l.5 1.6zm6.1 1.5c0 .2.2.6.5.6.2 0 .7 0 .7.3s-.5.2-.7.2a7 7 0 00-1.6.1c-.2 0-.5 0-.5-.3.2-.2.7 0 .7-.4l-.3-1.2-1-2.9c0-.3-.4-.3-.7-.2-.2 0-.6 0-.7.3v.8c-.2.2-.4 0-.4-.3a6.6 6.6 0 00-.4-1c0-.3.3-.3.5-.3l4.1-.2c.3 0 .5.2.5.5l.4 1c-.1.2-.5 0-.5-.2-.2-.3-.5-.7-1-.8-.2 0-.5 0-.8.2l.2.6 1 3.2zm2.1-3.3c-.1-.3-.2-.7-.6-.8-.2 0-.6 0-.6-.4.1-.2.4 0 .6 0l1.8-.2c.3-.1.5.4.2.4s-.6.2-.5.5l.5 1.6.7 2.2c0 .2.3.4.5.4.3 0 .7 0 .6.4h-.7l-1.6.2c-.2 0-.5-.2-.4-.4.2-.1.6 0 .6-.4l-.3-1.2-.8-2.3zm5.8-1.6c.3 0 .3.3.4.5l.2.8c-.1.3-.5 0-.5-.2-.1-.3-.3-.6-.7-.6a9.7 9.7 0 00-1.2 0c-.2.2 0 .5 0 .6l.5 1.4c.2 0 .5 0 .8-.2.2-.2-.2-.6.1-.7.4 0 .4.5.4.7l.5 1.3c-.1.3-.5 0-.5-.2-.1-.3-.5-.4-.8-.4-.1 0-.5 0-.3.2l.5 1.5c.1.3.4.4.7.3.4 0 .9 0 1.2-.2.2-.2 0-.6.1-.9.3-.2.5.1.5.4a9.3 9.3 0 00.3 1c0 .2-.3.2-.5.2l-3 .1c-.3 0-.7.2-1 0-.1-.4.5-.3.6-.5a1 1 0 00-.1-.8l-1-3c0-.3-.3-.7-.7-.7-.2 0-.6-.2-.4-.4h1l2.9-.2zm2 1c-.1-.4-.4-.7-.8-.7-.3.1-.5-.6 0-.4h1.5l.7.9 2.1 2.9v-.3l.4-3.6c.2-.2.7 0 1-.2.3 0 1 0 .8.4-.4 0-.8.2-.6.6l1.2 3.6c0 .4.4.6.8.5.3 0 .3.6 0 .5H494c-.3.1-.8.1-.6-.3.3 0 .8-.2.5-.6l-1-3.2c.1.1 0 .3 0 .4l-.2 3-.1.8c-.3.1-.4-.1-.5-.3l-2.9-3.7.2.3c.3 1 .5 2 .9 2.9 0 .4.5.5.8.5.4.2.1.5-.2.4h-1.5c-.3 0-.3-.4 0-.4.5 0 .4-.5.2-.8l-1-3.3zm8.7.8c0 .2.4 0 .5 0 .3 0 .7 0 .7-.4 0-.5-.2-1-.5-1.2-.4-.3-.8-.2-1.2-.2l.1.5.4 1.3zm.5 1.6l.4 1c.3.2.6.1.9.1.2 0 .5-.2.4-.5 0-.6-.3-1.3-.9-1.5a2.4 2.4 0 00-1 0v.3l.2.6zM496 288c-.1-.4-.2-.8-.6-1-.2 0-.6 0-.6-.3s.5 0 .7-.1c1 0 1.8-.3 2.7 0 .7.2 1.3.9 1.3 1.6 0 .4-.3.7-.7.9 0-.2.4 0 .5 0 .5.2 1 .6 1.2 1.1.2.5.3 1 0 1.4-.4.4-1 .4-1.5.4l-2.3.1c-.3 0-.4-.5 0-.4.3 0 .4-.4.2-.7l-.9-3zm5-.2c0-.3-.2-.8-.6-1-.2 0-.6 0-.6-.3.2-.3.6 0 1-.1h2c.8 0 1.5.6 1.7 1.4.2.4 0 1-.3 1.2l-.5.2c.6.2 1.1.7 1.4 1.2l.5.8c.3.2.3-.1.3-.3.4-.2.6.3.4.6-.1.4-.7.5-1 .4-.4 0-.6-.3-.8-.6l-1-1.7a.9.9 0 00-.9-.2v.5l.5 1.1c.1.4.5.4.8.5.4 0 .4.5 0 .4h-1.8c-.2 0-.6.2-.7 0-.2-.5.4-.3.6-.6l-.2-.8-.8-2.7zm1.3 1c.1.2.6 0 .8 0 .3 0 .5-.3.4-.5 0-.5-.2-1-.5-1.3-.3-.2-.7-.2-1-.1-.2 0-.1.3 0 .5l.3 1.3zm7-2.6c.2 0 .3.3.3.5 0 .3.2.5.3.8-.2.3-.5 0-.5-.2-.2-.2-.3-.6-.7-.6a9.5 9.5 0 00-1.3 0c-.2.1 0 .4 0 .6l.4 1.3h.8c.3-.2-.1-.7.2-.8.4 0 .4.4.4.7 0 .4.3.9.4 1.3-.1.3-.5 0-.5-.2 0-.3-.4-.5-.7-.4-.1 0-.5-.2-.4 0l.5 1.7c0 .3.4.3.7.3.4 0 .9 0 1.2-.2.3-.2 0-.6.1-.8.3-.2.6 0 .5.3l.2 1c0 .2-.3.2-.4.2h-3.1c-.3 0-.6.2-.8 0-.3-.4.3-.3.4-.5.2-.2 0-.5 0-.7l-.9-3.1c0-.3-.3-.7-.6-.7s-.6-.1-.5-.4h1l3-.1zm-32.9 13.1c-.1-.4-.2-.8-.6-1-.3 0-.7 0-.5-.3.3-.2.6 0 1-.1.8 0 1.6-.2 2.4 0a3.5 3.5 0 012.6 2.3c.2.8.3 1.6-.2 2.3-.5.6-1.4.8-2.2.8-.7 0-1.3 0-1.9.2-.2.1-.6-.1-.4-.4.3 0 .7-.2.6-.5l-.4-1.5-.4-1.8zm1.6 2.5c.1.3.2.7.4.9.3.2.7.1 1 0 .4 0 .8-.4.9-.9a4 4 0 00-.4-2.2 2 2 0 00-1.5-1.2 3 3 0 00-1.1 0c-.1 0 0 .2 0 .4l.7 3zm7.1-4.5c.3 0 .3.3.4.5l.2.9c-.1.2-.5 0-.5-.2-.1-.3-.3-.6-.6-.6a9.3 9.3 0 00-1.3 0c-.2.1 0 .4 0 .6 0 .5.2 1 .3 1.4.3 0 .6 0 .8-.2.2-.2-.1-.6.2-.7.4 0 .3.5.4.7 0 .4.3.8.3 1.3 0 .3-.5 0-.5-.2 0-.4-.4-.5-.7-.4-.1 0-.5-.1-.3.1 0 .5.2 1 .4 1.6 0 .3.4.3.7.3.4 0 .9 0 1.2-.3.2-.2 0-.6.2-.8.3-.2.4.1.4.4 0 .3 0 .6.2 1l-.5.1-3 .2c-.3 0-.6.2-.9 0-.2-.2.1-.4.4-.4.3-.1.2-.5.2-.7l-.8-3.2c-.1-.3-.3-.7-.6-.7s-.6-.1-.5-.4l1-.1 2.9-.2zm6.5 4.1c0 .3.3.6.6.6.2.1.6 0 .7.3.1.3-.4.2-.6.2l-1.7.1c-.3 0-.6.1-.8 0-.3 0-.2-.4.1-.4.3 0 .6-.1.7-.4l-.1-.8-.7-2.8c0-.3-.4-.3-.6-.3-.2 0-.6.2-.7-.1 0-.4.5-.3.7-.4l1.1-.4c.2 0 .3.1.3.3l1 4.1zm3.7-3.3c0-.4-.3-.8-.7-.8-.3 0-.7 0-.8.3a1 1 0 00.4 1l.9.5.2-.6a1.4 1.4 0 000-.4zm.8 3c0-.6-.5-.9-1-1-.2 0-.4-.3-.5-.2a1 1 0 00-.4 1c.2.6.5 1 1 1 .4.1.8 0 1-.4a1 1 0 000-.5zm1-.3a1.2 1.2 0 01-.6 1.3 2.4 2.4 0 01-2 .2 1.7 1.7 0 01-1.2-1.3c0-.4.1-1 .6-1.3 0 0 .4-.1.1-.2-.5-.2-1-.6-1-1.2-.2-.5 0-1 .5-1.3a2 2 0 012.6.7c.2.4.2.9 0 1.2l-.6.5c.5 0 1 .4 1.2.8.2.1.3.4.3.6zm3.2.5c.2 0 .5 0 .5-.4.1-.1 0-.6.3-.5.3 0 .2.3.3.6 0 .4 0 .8-.4 1.1-.2.2-.5.1-.8.1h-1.7c-.2 0-.5.2-.7 0-.2-.2 0-.5 0-.7.2-.7.6-1.2 1-1.6.4-.3.8-.6.9-1.1a2 2 0 00-.3-1.2 1 1 0 00-1.4-.3c-.3.1-.4.5-.3.7.2.2.6 0 .7.4.2.2 0 .6-.3.6-.4 0-.8-.3-1-.7a1.2 1.2 0 01.6-1.4c.5-.3 1.1-.3 1.7-.2.5.2 1 .6 1.2 1.2.1.4.1.9-.1 1.3-.4.7-1.1 1-1.7 1.7-.1.1-.2.3-.1.6 0-.3.4-.2.5-.2h1zm4-.4c0 .3.2.6.5.7.2 0 .6 0 .7.2.1.3-.3.3-.5.3h-2.7c-.2-.1 0-.5.2-.4.3 0 .6-.1.7-.4v-.8l-.7-2.8c0-.3-.3-.3-.5-.3-.3 0-.6.2-.7 0-.2-.5.3-.4.5-.5l1.2-.4c.2 0 .3.1.4.3l.8 4.1z"/>
+    </g>
+    <g fill="#448127" stroke="#34541f" stroke-width=".2">
+      <path fill="url(#m)" stroke="#4c0505" d="M475.8 219.4L472 224c-1.2 5.2 1.8 9.2 7.7 12.6 4.7 3 13.5 3.7 16.3 1.3l-13.7-13-6.5-5.4z"/>
+      <path d="M503.6 354.3a322.5 322.5 0 00-2-2.5 100.5 100.5 0 01-32.7 28.6c15.1-4.3 25-15.2 34.7-26.1zM488 390a460 460 0 0118.2-32.3 274.3 274.3 0 00-2.1-2.7c-7.3 12.2-16 26.7-16 35zm42-114.5a62 62 0 00-4.3-13 126.5 126.5 0 00-43.8-44v-.3h.3l-.2-.1h.5l-.2-.3h.4l-.3-.4h.4l-.3-.3h.5l-.3-.4h.4l-.4-.3.6-.1-.5-.3.5-.1-.4-.3.6-.2-.5-.3.6-.3-.6-.4.7-.2-.7-.3.6-.4h-.8l.5-.7h-.7l.3-.5h-.6l.3-.5-.7.1.3-.6-.6.4.2-.7-.7.4.1-.7-.5.5v-.7l-.5.5v-.7l-.5.6v-.7l-.4.6-.2-.7-.3.6-.2-.7-.3.8-.2-.8-.3.8-.2-.7-.2.6-.1-.5-.3.7-.2-.7-.2.8-.3-.7-.2.8-.3-.7v.8l-.4-.6v.8l-.5-.6v.7l-.4-.3.2.7-.5-.3.2.7-.4-.3.1.6h-.4l.2.4h-.3l.2.4a9 9 0 00-.4 3.5c0 .2.6.4.7.6.3.4.2.6.2.6-1.6 2.6-3 4.6-3.1 7.6 1.2-1.6 2.6-3.6 4.4-3.6-.9 1.5-1.3 6.1-.3 6.9l.8-1.4c0 1 .1 1.8.4 2.3l1-1.7c0 1.5.2 2.7.6 3.3a6 6 0 011.6-1.6c-.2.9-.5 1.7-.4 2.7l2-2.5c-.4 1.6 0 2.8.4 4.5.4-2 .6-2.3 1.5-3.1.1 1.9-.2 3.6.2 4.7.8-1.7 1.4-1.5 2-2.6-.2 1.6-.5 3.3 0 4.7a4.5 4.5 0 011.9-2.6c0 2.2.5 1.8-.8 3.7.6.2 2.5-.4 3.6-.9-.5 1.2-.4 2.1-.9 3 1-.6 2-1.5 2.9-2.4-.4 1.4-1.5 2.8-1 4.1.3-1.3 1.3-2.3 2.3-2.5-.2.7-.3 2.2-1.3 2.9 2.4.2 3.4-1.4 4.6-2.7-.1 1.4 0 2.4 1.6 4.3-.3-2.4.2-1.9 1.3-3.3.6 2.1 1.2 4.4 3.4 6-1-2.3-1-3.5-.6-4.9.3 1.5 1.7 3.3 2 4.7.3-1.6.5-3.1 1-4.1a20.2 20.2 0 011.4 5.6c.5-1 .9-2 1.1-3.1 19.8 20.6 24.2 46.8 2.6 74.5 7.7-5.2 9.7-13.5 14-20.6-4.2 9.3-6 19.7-13.5 27.4 7.2-6.2 8.7-11.9 13-17.9-4.5 12.5-11 26.2-19.8 38.8a690.6 690.6 0 014.8 5.2l4-6.9c9.4-15.4 24.7-37.5 17-71.1z"/>
+    </g>
+    <path fill="#eac102" stroke="#a08307" stroke-width=".2" d="M473.2 215.3c-1 .2-1.4.6-2.1 1.4.9.2 1.6.3 2.5.3.2 0 .3-.3.3-.6l-.2-1c0-.2-.6-.1-.8 0l.3-.1z"/>
+    <path fill="#a08307" d="M471 216.7a9.9 9.9 0 011-.3 9.8 9.8 0 011.2-.2 9.8 9.8 0 01-1 .3 10 10 0 01-1.2.2z"/>
+    <circle cx="477.7" cy="215.4" r=".8" stroke="#000" stroke-width=".1"/>
+    <circle cx="477.9" cy="215.3" r=".3" fill="url(#n)"/>
+    <g fill="#34541f">
+      <path d="M488.2 389.7a83.4 83.4 0 011.5-4.4 96.2 96.2 0 011.8-4.4c1.2-2.9 2.7-5.7 4.1-8.4a199.6 199.6 0 014.7-8.2 354.4 354.4 0 012.4-4l2.5-4-2.4 4a400 400 0 00-2.4 4.1l-4.6 8.2a133.7 133.7 0 00-4.2 8.4 98.1 98.1 0 00-1.8 4.3 82.7 82.7 0 00-1.6 4.4zm-18.9-9.5a75.8 75.8 0 005-2.3 72.3 72.3 0 004.6-2.7 72 72 0 008.8-6.5 84.7 84.7 0 007.7-7.5 113.6 113.6 0 003.6-4.1l3.4-4.3a153.8 153.8 0 01-3.3 4.3 111.9 111.9 0 01-3.6 4.2 81.9 81.9 0 01-7.7 7.6 70 70 0 01-8.8 6.4 71.3 71.3 0 01-4.7 2.6 77 77 0 01-5 2.3zm37.3-29.3a138.7 138.7 0 004.3-6.7l4-6.8a341.8 341.8 0 003.7-7l3.7-7-1.7 3.5-1.8 3.6a256 256 0 01-3.7 7 160.5 160.5 0 01-4 6.8 93.5 93.5 0 01-4.5 6.6zm6-25.1a58.4 58.4 0 004.6-6.4 60.2 60.2 0 003.8-7 72.6 72.6 0 005-15l.4-2a61 61 0 00.7-6 52 52 0 000-7.9 50.6 50.6 0 00-1.3-7.8 53.4 53.4 0 00-2.4-7.6 53.5 53.5 0 012.5 7.5 50.5 50.5 0 011.3 7.9c.2 2.6.2 5.3 0 8a61.3 61.3 0 01-.6 6 90.3 90.3 0 01-.4 1.9 72.7 72.7 0 01-5 15 59.9 59.9 0 01-4 7 58.2 58.2 0 01-4.7 6.4z"/>
+      <path d="M510.9 320a36 36 0 004.9-5.8 52 52 0 003.8-6.6 96 96 0 003-7c.4-1.2 1-2.4 1.3-3.6l.4-.9.3-.9.6-1.8c.5-2.5.7-5.1.8-7.7a45.8 45.8 0 00-.6-7.7c-.4-2.5-1-5-1.7-7.5a80.2 80.2 0 00-2.6-7.3 80.3 80.3 0 012.7 7.3 57.4 57.4 0 011.7 7.5 46 46 0 01.6 7.7 41.4 41.4 0 01-.7 7.7l-.6 1.9-.3.9-.4.9-1.3 3.6a96 96 0 01-3.1 7 51.6 51.6 0 01-3.8 6.6 36 36 0 01-5 5.8z"/>
+      <path d="M505 349.2c1.3-1.6 2.4-3.3 3.6-5l1.8-2.5 1.7-2.5a68.8 68.8 0 003-5.4l2.6-5.5c1.8-3.7 3.5-7.4 5-11.3a75.3 75.3 0 003.5-11.7c.8-4 1.4-8 1.9-12.1.4-4.1.4-8.2 0-12.3a52.4 52.4 0 00-2.7-12 72.8 72.8 0 00-5.1-11.1 72.8 72.8 0 015.2 11.1 52.4 52.4 0 012.7 12c.5 4 .4 8.2 0 12.3-.4 4-1 8.1-1.8 12.1a75.5 75.5 0 01-3.5 11.8 145.1 145.1 0 01-5 11.2l-2.7 5.5a67.3 67.3 0 01-3 5.4c-.5 1-1.1 1.7-1.7 2.6l-1.8 2.5-3.6 5z"/>
+      <path d="M507.8 352.3l7-11.6a200.5 200.5 0 006.4-11.9 82 82 0 005-12.5c.7-2.2 1.2-4.3 1.7-6.5a59.3 59.3 0 00.6-3.4 127.7 127.7 0 001.4-16.8c0-4.5-.4-9-1.2-13.4a57.5 57.5 0 00-4-12.9 54 54 0 00-7-11.5 54 54 0 017 11.5 57.6 57.6 0 014.1 12.9 73.4 73.4 0 011.2 13.4c0 4.5-.3 9-.9 13.5a134 134 0 01-.4 3.4 58.8 58.8 0 01-.6 3.3 74.3 74.3 0 01-1.7 6.5 82 82 0 01-5 12.6c-2 4-4.3 8-6.5 11.8a442.5 442.5 0 01-7 11.5zM480 220.8h1.4a18.7 18.7 0 014.1 1.3c1.7.8 3.4 1.8 4.9 3a35.8 35.8 0 014.3 3.7 45.3 45.3 0 011.8 2.1l1.8 2.3a60.9 60.9 0 00-1.8-2.2 42 42 0 00-2-2 37.8 37.8 0 00-4.2-3.8 26.8 26.8 0 00-4.9-3 18 18 0 00-5.4-1.4z"/>
+    </g>
+    <g fill="#448127">
+      <path d="M496.4 231.6s3 1.8 4.7 4.4c0 0-4.7-.9-8-4.6"/>
+      <path fill="#34541f" d="M496.4 231.6a14.1 14.1 0 012.6 1.9 13 13 0 012.2 2.4l.1.3h-.2a14.5 14.5 0 01-2.3-.8 15.7 15.7 0 01-2.1-1c-1.4-.8-2.6-1.8-3.7-3a15.2 15.2 0 003.8 2.8 18.3 18.3 0 002 1 14.4 14.4 0 002.3.7v.2a11.2 11.2 0 00-1-1.3l-1.2-1.2a17.7 17.7 0 00-1.2-1 18.6 18.6 0 00-1.3-1z"/>
+      <path d="M489.6 230.7s7.2 4.6 8.2 5c0 0-1.6-3.5-5-5"/>
+      <path fill="#34541f" d="M489.6 230.7l4.1 2.5a139.9 139.9 0 003.1 1.8l1 .6v.1a10.7 10.7 0 00-1-1.5l-1.1-1.4a10.7 10.7 0 00-1.4-1.2l-1.5-.9a8.4 8.4 0 011.6.9 11.1 11.1 0 013.5 4l.2.3-.3-.1-2.1-1.2-2-1.3a151.6 151.6 0 01-4.1-2.6z"/>
+      <path d="M492.5 228.4s3.7 1.6 4.6 4.3c0 0-6.8-2.8-8-4.3"/>
+      <path fill="#34541f" d="M492.5 228.4a10.7 10.7 0 012.8 1.6 7.2 7.2 0 011.1 1.2l.8 1.5v.2h-.2a79.6 79.6 0 01-2-1 49.8 49.8 0 01-2.1-1 34 34 0 01-2-1.1l-1-.6-.8-.8.9.7 1 .6 2 1a84.2 84.2 0 004.1 2h-.1a4.8 4.8 0 00-.8-1.3 7.8 7.8 0 00-1-1.2 12.5 12.5 0 00-2.8-1.8z"/>
+      <path d="M486.8 231.3s6.6 4.7 8.6 4.7c0 0-2-3.3-5.4-4.7"/>
+      <path fill="#34541f" d="M486.8 231.3a127 127 0 004.1 2.6 35 35 0 003.3 1.7l1.2.3-.1.2a15.5 15.5 0 00-2.3-2.8l-1.4-1.1a11 11 0 00-1.6-1c1.1.5 2.2 1.2 3 2a12.8 12.8 0 012.5 2.8v.1h-.1a3.7 3.7 0 01-1.3-.3 13.7 13.7 0 01-1.1-.5 33.3 33.3 0 01-2.1-1.2 63.9 63.9 0 01-2.1-1.4 56.3 56.3 0 01-2-1.4z"/>
+      <path d="M486.8 232.7s3.4 3 5.4 3c0 0-2-3.3-5.4-4.8"/>
+      <path fill="#34541f" d="M486.8 232.7a31.2 31.2 0 002.5 1.8l1.4.7a5.3 5.3 0 001.5.4l-.1.1a12.4 12.4 0 00-1-1.4 13.3 13.3 0 00-2.7-2.5 11 11 0 00-1.6-.9c1.1.5 2.2 1.1 3 2a12.9 12.9 0 012.5 2.7v.2h-.1c-.6 0-1-.2-1.6-.4a11.4 11.4 0 01-1.4-.8l-1.2-.9a17.6 17.6 0 01-1.2-1z"/>
+      <path d="M485 226.2s7.2 5.1 8 7.9c0 0-6.4-3-7.6-4.5"/>
+      <path fill="#34541f" d="M485 226.2a51.6 51.6 0 012.3 1.7 51 51 0 012.2 1.8 25.7 25.7 0 012 2l1 1 .7 1.4v.2l-.2-.1a77 77 0 01-2-1 50.3 50.3 0 01-2-1 34.8 34.8 0 01-1.9-1.2 15.4 15.4 0 01-1-.7 4 4 0 01-.7-.7l.8.7a36.7 36.7 0 003 1.7 87.3 87.3 0 004 2l-.2.1a4.6 4.6 0 00-.7-1.2 12.2 12.2 0 00-.9-1.1l-2-2a51.1 51.1 0 00-2.1-1.9 71.2 71.2 0 00-2.3-1.7z"/>
+    </g>
+    <g stroke="#24420e" stroke-width=".2">
+      <path fill="#406325" d="M445 370.3a42.2 42.2 0 01-20.4 4.8c10-8.2 19.7-8.4 20.4-4.8zm69.8 4.5c5.2 4.7 21 8 23.5 7.4-10.6-10.7-22.1-11.8-23.5-7.4z"/>
+      <path fill="#67923d" d="M445 370.3c-.7-3.7-10.5-3.5-20.4 4.8a69.4 69.4 0 0120.4-4.8zm69.9 4.4c1.4-4.4 12.8-3.3 23.4 7.5a84 84 0 00-23.4-7.5z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gu.svg
new file mode 100644
index 0000000..d6f5d53
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gu.svg
@@ -0,0 +1,39 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gu" viewBox="0 0 512 512">
+  <path fill="#be0027" fill-rule="evenodd" d="M0 0h512v512H0z"/>
+  <path fill="#3b5aa3" fill-rule="evenodd" d="M20.5 20.5h470v471h-470z"/>
+  <path fill="#cbe0e5" fill-rule="evenodd" d="M251.9 396.1c1.8 1 4.7 1 6.3.1 103.3-55 103.4-205.8.1-260a7.5 7.5 0 00-6.6.1c-100.7 55.1-101 204.2.2 259.8z"/>
+  <path fill="#add2d9" fill-rule="evenodd" d="M251.9 398.9c1.6 1.3 4.8 1.1 6.3 0 76.1-57 76.6-92.5 73.2-92.5H180.7c-2.3 0 1.3 36.1 71.2 92.4z"/>
+  <path fill="#fdf9a1" fill-rule="evenodd" d="M192.6 334.6a29.3 29.3 0 0120.9 1.3c5.7 3 9 3 15.1 3 6.5.1 11.5 4.9 18.5 5 12.8.4 18.3 6.7 8.3 6.8-4.7 0-14.8-3.2-19.7-2.5-10.2 1-16.7 3.3-26.3 14l11.1 7.6c9.6-4 11.2-8.3 16.5-8.5 6-.2 8-4 15-4 7.9 1.5 18.5-1 24.8-2.3 11.1-2.6 5.8-10.3-.9-13.2-5.4-2.3-15.6 0-22-2.3-4.7-1.9-.8-4.9 1.8-5.5 2.6-.5 5.4.4 8.6.9 5.8.5 13 0 18-.9 10.5-1.6 10-4.7 15.1-4.7a16 16 0 009-3.1c3-2 6-6 9.6-5.9l9.6.4L312 351l-38 38.8-19.8 7.5L211 369l-22-33.5 3.5-.9z"/>
+  <path fill="#179a3b" fill-rule="evenodd" d="M242.4 305.1l87-.4 1.6-7.7-5.6-.6c-3.2-.2-8.5 3.3-12.1 3.3-2.6 0-5.5-4.6-8-4.5-4.4 0-4.8 4-9 4-3.4 0-4.8-2.6-9.2-2.4-4.6.3-4.2 2.8-10 2.7-7.7-.2-10.7-6.9-16.8-7-10.3 0-10.6 9.8-17.9 12.6z"/>
+  <path fill="#fdf9a1" fill-rule="evenodd" d="M242.4 307l89.6-.5v-2.4l-91.6.5 2 2.4z"/>
+  <path fill="#a79270" fill-rule="evenodd" d="M279.2 334c1.4 5.2 2.9 7 8.4 8.4 5.5 1.3 13.9-4 8.7-9.2-5-4.8-10.2-6-14.6-10.4-9.4-9.2-23.5-31.9-23.5-47.8 0-13.8-1.3-41.9-1.3-68.5 0-1.8-5.2 4.8-5.2 6.5.2 23.6.2 41.3 1.1 65 1.5 17.4 9.8 29 17 39.6 3.3 5 8 10.5 9.4 16.3z"/>
+  <text x="465.1" y="269.5" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>G</tspan>
+  </text>
+  <text x="488.1" y="269.6" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>U</tspan>
+  </text>
+  <text x="516" y="269.6" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>A</tspan>
+  </text>
+  <text x="539.5" y="269.5" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>M</tspan>
+  </text>
+  <path fill="#239e46" fill-rule="evenodd" d="M211.9 207.3c-1.2 2.2 2.7-.6 3.6-1 5-1.7 7-8 15.6-4.3 6.8 3 16 1.3 11.2 4.2-6 3.6-17.7 7.5-18 25 1 1.7 1.2 1.4 2-.4 1.7-4 10.3-15.2 14.5-14.2 1.7.4 6.6-5 6.8-3.5.4 4.4-6.8 13.2-6.7 25 0 2.8 3.4 3.7 5 1.8 1.6-1.7 2.5-3.5 5.4-5.7 5-4.1 3.6-21.5 4.2-20.7 3.5 4.6 4 17.5 9.4 22.8 4.3 4.4 7.9 2.3 7-3.8-2-12.3-7.8-8.8-10.5-21.5-.6-2.5-.7-4.7 2.5-3.7 4 1.2 6.4 3 9.4 7.6 3 4.3 8.5 8.4 11.8 11 5.6 4.3 7.6.5 4.9-5a30 30 0 00-15.8-13.8c-4.6-1.6-6.3-1.7-10.4-2.5-1-.2-2.3-2.6-.3-3.8a32 32 0 0114.8-5.8c5-.1 9 3.9 12.5 5 7.1 1.8 7-2.7 4-6-2.6-2.8-8-7.5-13-7-10.2 1.3-9.6 1-15.8 5.2-2.3 1.3-4.8 2.8-3.9 1.2 2.3-4.1.1-3.4 3.7-7.6 2.7-3 4.7-5.3 7.5-6 2.6-.7 6-3.4 7-4.8 2.6-3.5.4-5.5-3.5-4.3-3.4 1-5.3 3.2-7.6 3.8-5.5 1.7-10 14.3-10.6 16-.9 2.2-1.8 1.1-1.7-.7.8-8.8 1.6-23.7-1.5-29.8-4.7-9-4.3-4.8-6.1-.5a30.2 30.2 0 000 19.8c.7 3.3 3.4 7 4 9.7.3 2-1.3-.7-2.1-1.9-3-4.5-5.2-7.6-10-10a26.8 26.8 0 00-15.2-1.5c-1.3.4 1.5 2.4 2.7 3.3 3.2 2.6 9.3 3.4 13.4 6 3.6 2 6.3 3.5 7.4 6.5.5 2.2 1.2 5.5-.2 5.4-3.9-.2-9.9-3.5-22.2-2.2-6.3.9-11.7 6.3-15.2 12.7z"/>
+  <path fill-rule="evenodd" d="M238.7 319.8h3.6v6h-3.6z"/>
+  <path fill="#fdf9ff" fill-rule="evenodd" d="M221 280.2c14.1 19.6 36.8 31 37.3 40L214 320c10.1-12.2 16.3-20.5 6.9-39.9z"/>
+  <path fill="#a68861" fill-rule="evenodd" d="M208.1 320.6c19.3 4.3 42.2 6.6 56.9-.6 0 4.3-4.8 10.4-8.8 10.4h-36.9c4.3-.6 6.7-1.9 13.7-2.3l-19.6.3c-2.1 0-6-5.7-5.3-7.8z"/>
+  <path fill="#be0027" fill-rule="evenodd" d="M251.7 406a8 8 0 006.8 0c111.1-59.1 111.2-221.3.2-279.6a8 8 0 00-7.1 0c-108.3 59.3-108.6 219.7.1 279.5zm.6-13.4a7 7 0 005.9 0c93-54.7 94.1-199.3.1-251.1-1.8-1.3-4.4-.9-6.2 0-89 52.7-94 191.4.2 251z"/>
+  <text x="465.1" y="269.5" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>G</tspan>
+  </text>
+  <text x="488.1" y="269.6" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>U</tspan>
+  </text>
+  <text x="516" y="269.6" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>A</tspan>
+  </text>
+  <text x="539.5" y="269.5" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="translate(-256.3 5)">
+    <tspan>M</tspan>
+  </text>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gw.svg
new file mode 100644
index 0000000..064a593
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gw.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gw" viewBox="0 0 512 512">
+  <path fill="#ce1126" d="M0 0h160v512H0z"/>
+  <path fill="#fcd116" d="M160 0h352v256H160z"/>
+  <path fill="#009e49" d="M160 256h352v256H160z"/>
+  <g transform="translate(-46.2 72.8) scale(.7886)">
+    <g id="b" transform="matrix(80 0 0 80 160 240)">
+      <path id="a" d="M0-1v1h.5" transform="rotate(18 0 -1)"/>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(72 160 240)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(144 160 240)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-144 160 240)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-72 160 240)" xlink:href="#b"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gy.svg
new file mode 100644
index 0000000..57eb520
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/gy.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gy" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#399408" d="M2 0h510v512H2z"/>
+    <path fill="#fff" d="M.1 0c-.6 0 495.7 257.6 495.7 257.6L0 511.7.1 0z"/>
+    <path fill="#ffde08" d="M.2 21.5C3 21.5 447.5 254 445 256.2L1.5 494.2.2 21.4z"/>
+    <path d="M1.5.8c1.5 0 232.8 257 232.8 257L1.5 508.8V.8z"/>
+    <path fill="#de2110" d="M.2 36.2C1.6 20.2 209 258.5 209 258.5L.2 481.8V36.2z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hk.svg
new file mode 100644
index 0000000..024c070
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hk.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-hk" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M164.8 0H909v744H165z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="matrix(.7 0 0 .7 -113.4 0)">
+    <path fill="#ba0000" fill-rule="evenodd" d="M1063 744.1H0V0h1063z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M516.4 360.1s-75-32.3-64.3-116c10.4-40.3 28.8-67.7 62.2-82.6a223 223 0 0148-8.4c-4.4 4-8 8.1-9.8 13.2-3.6 9.2-1 18 3.8 26.8a78 78 0 0110.8 34.4 53.2 53.2 0 01-21.2 49c-9.6 7.3-21 9.9-30.2 18.3a41.1 41.1 0 00-13.2 26.4c-.3 23.4 6.1 26.7 13.9 39z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M502.1 239v-.3"/>
+    <path fill="none" stroke="#ba0000" stroke-width="3.1" d="M506.9 351.4c-29.2-25.8-26.7-90.7-4.4-112.4"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M501.9 223l9.6-2.1 1.1-9.4 4.8 8 9.6-2.1-6.6 7.1 4.8 8-9-3.6-6.6 7.1 1.2-9.3"/>
+    <path fill="#fff" fill-rule="evenodd" d="M522.8 354.6s8.9-81.2 92-95.4c41.6-1.9 73.2 7.7 97.3 35.2a223.4 223.4 0 0122 43.4c-5.1-3-10-5.2-15.5-5.5-9.8-.7-17.4 4.4-24.4 11.5-8 8.8-17 15.3-29.8 20.4a53.3 53.3 0 01-53-5.9c-9.9-7-15.6-17.1-26.4-23.5a41 41 0 00-29.1-4.9c-22.5 6.7-23.7 13.7-33.2 24.7z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M634.4 305.5l.3-.1"/>
+    <path fill="none" stroke="#ba0000" stroke-width="3.1" d="M528.3 343c16.1-35.5 79-52 106.2-37.2"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M649.6 300.6l4.8 8.6 9.3-1.7-6.2 7 4.9 8.5-8.8-4.3-6.3 7 .9-9.6-8.8-4.3 9.3-1.6"/>
+    <path fill="#fff" fill-rule="evenodd" d="M528.4 360.5s79.8-17.4 119.7 57c15 38.8 16 71.8-2.5 103.4-10 13-21.7 24-34.2 34.6 1.2-5.8 1.7-11.2.3-16.4-2.4-9.5-9.7-15.1-18.7-19.5a77.2 77.2 0 01-28.7-21.7 53.3 53.3 0 01-11.3-52.2c3.5-11.6 11.3-20.3 13.9-32.5a41 41 0 00-4.6-29.2c-13.4-19.1-20.5-18-34-23.5z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M610.4 450.7l.2.3"/>
+    <path fill="none" stroke="#ba0000" stroke-width="3.1" d="M541.1 362c38.8 4 74.5 58.4 69 88.9"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M619.8 463.6l-6.5 7.3 4.5 8.3-8.6-3.8-6.5 7.4 1.3-9.7-8.6-3.7 9.3-2.2 1.3-9.7 4.5 8.3"/>
+    <path fill="#fff" fill-rule="evenodd" d="M526.6 368.7s39 71.7-21.1 131c-33.1 25.2-64.5 35.4-100 26.5-15.3-5.8-29.1-14-42.8-23 5.8-.5 11.2-1.5 15.8-4.4 8.4-5 11.8-13.5 13.5-23.4a77.2 77.2 0 0112.7-33.7 53.2 53.2 0 0147-25.4c12 .1 22.6 5.1 35 4.2a41 41 0 0026.8-12.6c14.6-18.3 11.6-24.8 13-39.2z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M463 472.7l-.2.3"/>
+    <path fill="none" stroke="#ba0000" stroke-width="3.1" d="M528.7 381.4c7 38.3-35.1 87.8-66 91.1"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M453.3 485.4l-8.9-4.2-6.7 6.7 1.2-9.3-8.9-4.2 9.7-1.5 1.1-9.3 4.8 8.4 9.6-1.5-6.7 6.6"/>
+    <path fill="#fff" fill-rule="evenodd" d="M517.7 367.1s-54.7 60.7-130.5 23.6c-34.8-22.8-54.9-49-58.3-85.4.4-16.3 3.6-32.1 7.5-48 2.5 5.3 5.1 10 9.4 13.4 7.5 6.3 16.7 6.7 26.5 5a77.2 77.2 0 0136 .8 53.3 53.3 0 0139.6 35.8c4 11.5 2.7 23 7.7 34.5a41 41 0 0020.8 21c22 7.7 27.2 2.8 41.3-.7z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M398.4 341.7h-.3"/>
+    <path fill="none" stroke="#ba0000" stroke-width="3.1" d="M506.4 373.4c-33.8 19.3-94.5-4-107.8-32"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M383.2 336.8l1-9.8-8.4-4 9.1-2 1-9.8 4.7 8.6 9-2-6.2 7.3 4.6 8.6-8.5-4.1"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hm.svg
new file mode 100644
index 0000000..7e1f7e7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hm.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-hm" viewBox="0 0 512 512">
+  <g stroke-width="1pt">
+    <path fill="#006" d="M0 0h512v512H0z"/>
+    <path fill="#fff" d="M0 0v19.2l234 152.6h29.5v-19.2L29.5 0H0zm263.5 0v19.2l-234 152.6H0v-19.2L234 0h29.5z"/>
+    <path fill="#fff" d="M109.8 0v171.8h43.9V0h-44zM0 57.3v57.3h263.5V57.3H0z"/>
+    <path fill="#c00" d="M0 68.7v34.4h263.5V68.7H0zM118.6 0v171.8h26.3V0h-26.3zM0 171.8l87.8-57.2h19.7l-87.9 57.3H0zM0 0l87.8 57.3H68.2L0 12.8V0zm156 57.3L243.8 0h19.7l-87.8 57.3H156zm107.5 114.5l-87.9-57.2h19.7l68.2 44.4v12.8z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M69.1 443.6l-16.3 17.2 3.2-23.5-23.6-2L52.8 423l-13.1-19.8 22.1 8.4 7.3-22.5 7.3 22.5 22.1-8.4-13 19.8 20.3 12.1-23.6 2 3.2 23.6m295.1 6L369 479l2.3-16.5-16.6-1.5 14.3-8.5-9.2-13.9 15.6 6 5.1-16 5.1 16 15.7-6-9.3 14 14.4 8.4-16.7 1.5L392 479m-11.5-259.5l-11.5 12 2.3-16.5-16.6-1.4L369 205l-9.2-14 15.6 6 5.1-16 5.1 16 15.7-6-9.3 14 14.4 8.5-16.7 1.4 2.3 16.6m-104.3 88.4L276.2 332l2.3-16.5L262 314l14.3-8.5-9.2-14 15.6 6 5.1-15.9 5.1 15.9 15.7-6-9.3 14 14.4 8.5-16.7 1.5 2.3 16.5M463 295.2l-11.5 12 2.3-16.5-16.6-1.4 14.3-8.5-9.2-14 15.6 6 5-16 5.2 16 15.6-6-9.2 14 14.3 8.5-16.6 1.4 2.3 16.5M411 349l-8.2-6.9 10.7-.8 4-9.9 4 10 10.8.7-8.2 6.9 2.5 10.4-9-5.7-9.2 5.7"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hn.svg
new file mode 100644
index 0000000..c7c4c4a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hn.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-hn" viewBox="0 0 512 512">
+  <path fill="#0073cf" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <g id="c" fill="#0073cf" transform="translate(256 256) scale(28.44446)">
+    <g id="b">
+      <path id="a" d="M0-1l-.3 1 .5.1z"/>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-144)" xlink:href="#b"/>
+  </g>
+  <use width="100%" height="100%" transform="translate(142.2 -45.5)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="translate(142.2 39.8)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="translate(-142.2 -45.5)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="translate(-142.2 39.8)" xlink:href="#c"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hr.svg
new file mode 100644
index 0000000..7ea0041
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hr.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-hr" viewBox="0 0 512 512">
+  <path fill="#171796" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h512v341.3H0z"/>
+  <path fill="red" d="M0 0h512v170.7H0z"/>
+  <path fill="red" d="M256 388.4a99.8 99.8 0 0099.6-99.5V170.6H156.5V289a99.8 99.8 0 0099.5 99.5z"/>
+  <path fill="#fff" d="M256 386.8a98 98 0 0097.7-97.6V172.5H158.4v116.7a98 98 0 0097.6 97.6z"/>
+  <path fill="red" d="M199.6 176.2H162v41.3h37.6zm0 82.6h37.6v-41.3h-37.6zM162 289c0 3.7.3 7.4.7 11h36.9v-41.2H162V289zm112.8-30.2h-37.6V300h37.6zm0 82.5h37.5V300h-37.6zm37.5 22.6a95.1 95.1 0 0021.5-22.6h-21.5V364zm-112.7-22.6h37.6V300h-37.6zm-21.5 0a95.1 95.1 0 0021.5 22.6v-22.6h-21.5zm84.4 41.3a93.4 93.4 0 0012.2-1.7v-39.6h-37.5V381a92.9 92.9 0 0012.2 1.7c4.4.3 8.7.3 13.1 0zm86.7-82.6c.4-3.6.7-7.3.7-11v-30.2h-37.6V300h36.9zm-74.4-41.2h37.5v-41.3h-37.6zm0-82.6h-37.6v41.3h37.6zm75 41.3v-41.3h-37.5v41.3z"/>
+  <path fill="#fff" d="M352 169.4l23.3-52.8L357.5 88l-29.4 11-20.6-23.7-27.2 15.6L256 71l-24.3 19.8-27.2-15.6L184 98.8 154.5 88l-17.8 28.7 23.3 52.8a232.3 232.3 0 0196-20.6c34.2 0 66.7 7.4 96 20.6z"/>
+  <path fill="#0093dd" d="M184.5 101.2l-29.2-10.8-16.3 26.4 6.3 14.2 15.8 36a234.3 234.3 0 0136.9-12.8l-13.5-53z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".3" d="M182.9 127.2a14.1 14.1 0 011.6 6.6c0 7.9-6.4 14.3-14.3 14.3a14.3 14.3 0 01-14-11.5 14.3 14.3 0 0012.5 7.3 14.3 14.3 0 0014.2-16.7z"/>
+  <path d="M169.8 107.5v.2l-1 5.2 3.9 3.4.2.1-.3.1-4.9 1.7-1 5.1v.3l-.2-.2-4-3.4-4.9 1.7h-.2v-.2l1-5.1-3.9-3.4-.2-.2h.2l5-1.8 1-5v-.3l.2.1 4 3.5 4.9-1.7z"/>
+  <path fill="#f7db17" d="M163.9 114.8l3.7 3.2 4.6-1.6zm0-.2l8.3 1.6-3.7-3.2zm-8.9-1.7l8.3 1.6-3.7-3.2zm8.3 1.7L155 113l3.6 3.2zm.4-.3l5.6-6.3-4.6 1.5zm-6 6.9l5.6-6.4-4.6 1.6zm5.8-6.3l-5.6 6.4 4.6-1.6zm5.9-6.8l-5.5 6.3 4.6-1.5zm-6 6.3l-2.7-8-1 4.7zm3 8.5l-2.8-8-1 4.8zm-2.6-8l2.7 8 1-4.8zm-3-8.6l2.8 8 .9-4.8z"/>
+  <path fill="#171796" d="M232 93.2l-27-15.4-20.5 23.4 13.5 53a234.4 234.4 0 0138.5-6.5L232 93.2z"/>
+  <path fill="red" d="M194.7 141a247.7 247.7 0 0140.7-6.8l-1.1-13.8a262 262 0 00-43 7.2l3.3 13.4zm-6.8-26.6a275.1 275.1 0 0145.2-7.6L232 93.3a288.8 288.8 0 00-47.5 8l3.4 13z"/>
+  <g transform="translate(-256) scale(.00253)">
+    <path fill="#0093dd" d="M212105 36890l-23 13-9517-7794-9497 7778 1788 21560c2543-210 5113-322 7709-322 2608 0 5190 113 7744 325l1795-21560z"/>
+    <g id="a">
+      <path d="M202545 46585c-18-2-44 10-69 45-186 250-359 469-545 720-195 61-242 180-167 348-261-26-291 193-302 432-250-379-522-482-814-307-11-230-187-338-439-392-180-10-319-65-436-145-60-42-110-64-170-106-126-88-226-5-172 74 267 434 535 868 802 1302-14 80 6 151 88 204 47 133 93 265 140 397-11 38-21 75-32 113-221-105-443-118-664-133-170-8-287-50-361-137-54-63-91-26-92 82-3 534 162 1014 599 1492-231 4-462 11-694 21-79 6-95 39-73 104 126 304 339 579 822 766-208 112-327 285-357 520-9 224-75 382-212 455-60 32-81 65-24 106 253 185 565 193 895 112-157 270-226 553-198 850 208 56 412 15 614-52-29 61-44 175-52 309-7 115-41 229-104 343-32 33-65 84 4 102 336 91 648 52 915-47 0 243 2 487 76 727 18 58 70 102 125 26 155-214 322-396 527-517 31 90 75 168 156 215 96 55 147 170 153 343 0 30-2 60 35 90 149 7 514-380 589-597 206 121 284 246 439 461 55 76 99 29 128-25 62-243 67-481 66-724 267 99 579 138 915 47 69-19 36-70 4-102-62-114-105-250-113-365-9-133-14-226-43-287 202 68 405 108 614 52 29-297-53-579-211-850 330 80 655 73 908-112 57-41 35-74-24-106-136-73-203-231-212-455-30-235-149-409-357-520 483-187 696-463 822-766 22-66 6-99-73-104-231-10-480-24-711-27 437-478 606-961 604-1495-1-108-38-146-92-82-74 87-179 137-348 146-222 15-435 24-656 128-11-38-21-75-32-113 46-132 106-260 153-393 82-53 102-123 88-204 267-434 513-868 781-1302 54-79-46-162-171-74-60 42-110 64-170 106-117 80-257 134-437 145-251 54-417 167-428 397-293-175-564-73-814 307-11-239-41-457-302-432 75-168 17-291-178-352-186-250-458-470-644-720-31-35-51-47-69-45z"/>
+      <g fill="#f7db17">
+        <path d="M205075 47978c-51-26-124 17-162 95s-33 170 19 196c40 20 84-6 119-56l22-36c2-3 4-6 5-9 38-78 49-163-2-188zm-5008 0c52-26 124 17 162 95s39 165-13 191-103-24-141-102-60-158-9-184zm4539 905c-32 0-59 27-59 59s26 59 59 59 59-26 59-59c0-32-26-59-59-59zm-4032 0a59.1 59.1 0 10.2 118.2 59.1 59.1 0 00-.2-118.2zm4294-304c-754-91-1506-133-2260-133s-1509 41-2269 115c-26 8-21 90 14 86 756-73 1507-113 2256-113 743 0 1485 40 2228 129 39 4 54-80 32-84z"/>
+        <path d="M200319 48495c768-75 1530-117 2289-116 754 0 1507 42 2261 133l111-184c-32 10-62 9-90-5-76-38-92-161-36-274 56-114 164-175 240-138 39 19 62 62 68 114l446-739c-204 130-328 214-581 252-281 41-409 139-368 307 38 156-57 133-201 54-314-171-541 71-652 353-73 186-159 181-168-13-4-70 0-131-7-200-21-223-89-286-216-224-161 78-175 25-137-58 28-60 86-128 66-221-9-67-66-92-151-98-182-244-467-483-649-727-182 244-374 483-556 727-86 5-142 30-152 98-20 93 52 157 80 217 38 82 23 135-137 57-127-61-186-3-207 220-7 69-10 139-13 209-9 194-95 199-168 13-111-282-352-524-667-353-145 79-203 102-182-54 23-172-107-266-388-307-253-37-377-122-581-252l419 682c12-25 29-45 53-57 76-38 184 24 240 138 56 113 40 237-36 274-10 5-21 8-32 10l100 163zm4389 911c-7 3-7 4-24 11-46 19-80 66-134 124-57 60-128 125-211 188-12 10-25 19-44-6s-7-35 6-44c80-62 149-124 204-182 30-32 56-63 77-92-95-11-190-21-284-30-79 24-157 55-222 95-59 35-107 77-137 125-8 14-16 27-44 11-27-16-19-30-11-44 35-58 91-107 158-147 33-20 69-38 106-54-107-9-214-18-321-25-22 13-42 29-61 47-20 19-39 42-56 67-9 13-18 26-44 8s-18-31-8-44c19-29 41-54 64-77l9-9c-80-5-161-10-241-14-2 2-5 5-8 7a340.4 340.4 0 00-93 126c-6 15-12 29-41 18-29-12-23-26-17-41 12-29 27-55 45-81 8-11 18-22 27-33-115-5-230-9-344-12-4 5-9 8-14 11-25 15-47 32-66 51s-35 40-48 63c-8 14-16 28-43 12-28-16-20-29-12-43 16-28 35-54 59-77 7-7 14-13 21-19-122-2-244-4-365-4-120 0-240 1-360 3 8 7 15 13 22 20 23 23 42 49 59 77 8 14 16 27-12 43s-35 2-44-12c-13-23-29-44-48-63s-41-36-66-51c-6-3-12-7-15-12-115 2-230 6-345 11 11 11 20 23 29 35 19 25 33 52 45 81 6 15 12 29-17 41s-35-3-41-18c-9-24-22-46-38-67-15-21-34-41-55-59-4-3-7-6-10-10-81 4-162 8-243 13 4 4 9 8 13 12 24 23 45 48 64 77 9 13 18 26-8 44s-35 5-44-8c-18-26-36-48-56-67s-41-35-64-49c-1-1-3-2-5-3-110 7-220 14-330 23 43 18 85 38 122 61 67 40 124 89 158 147 8 14 16 27-11 44-27 16-35 3-44-11-29-48-78-90-137-125-72-44-159-77-246-102h-2c-90 7-179 15-268 24 22 33 51 68 86 106 55 58 124 120 204 182 13 9 25 19 6 44s-32 15-44 6c-83-64-155-128-211-188-37-38-99-111-135-140-196-90-354-127-575-147-153-14-318-9-458-79 36 85 75 164 126 229 53 68 120 121 209 147 8 2 21 16 22 25 28 157 84 286 169 386 52 60 114 110 188 149-75-81-132-166-172-251-67-142-90-286-77-420 1-16 3-32 34-29 32 3 30 19 29 35-11 123 9 256 72 387 56 118 159 237 291 346 24 19 0 63-29 55-154-44-290-123-383-231-89-104-149-237-180-397-94-32-165-90-222-164-47-60-85-131-118-205 28 428 182 801 456 1137 61 75 165 182 255 216 92 35 95 100-20 101-34 1-69 1-105 1 84 31 164 66 233 105 127 73 217 162 224 273 1 16 2 32-29 34-32 2-33-14-34-29-6-86-82-160-192-223-113-65-259-117-402-160-154 0-312-1-459 3 39 28 80 57 131 84 82 44 188 86 343 122 89 21 166 52 233 91 71 42 130 93 177 150 10 12 20 25-5 45s-34 8-45-5c-42-52-95-98-159-135-61-36-133-64-216-84-161-38-272-81-358-128-75-40-131-82-184-123 180 393 450 573 835 689 23 7 43 13 61 19 3 1 6 1 9 2 86 21 175 40 266 55 92 15 166 28 261 37 16 1 32 3 29 34-3 32-19 30-34 29-99-9-174-22-266-38-58-10-115-21-171-33-26 6-64 9-107 12-232 14-420 225-435 494 0 5 0 11-1 16 88-80 179-157 273-212 117-68 239-103 364-69 15 4 31 8 22 39-8 31-23 27-39 22-106-28-212 3-316 63-108 63-213 158-315 253-24 147-82 285-205 377 61 34 104 65 163 45 86-39 172-78 261-108 91-31 184-52 282-57 16-1 32-1 33 31s-14 32-31 33c-91 4-179 24-264 53-75 26-149 58-222 91 221 47 460-1 667-79 60-22 105-42 133-41 51-30 112-53 172-79 66-28 132-51 182-57 16-2 32-4 35 28 4 32-12 33-28 35-112 13-127 21-222 79 0 21-66 57-126 96-36 24-70 52-87 67-95 86-144 181-188 287-29 70-52 145-68 224 55-108 121-211 201-303 94-108 208-201 345-265 14-7 29-13 42 15 13 29-1 35-15 42-129 60-236 147-324 250-90 103-161 222-219 345-31 64-8 1-42 86 110-122 212-224 323-307 132-100 283-157 418-133 15 3 31 6 26 37s-21 28-37 26c-116-21-250 32-369 121-121 92-244 223-366 361 184 26 366-26 542-85 91-30 183-135 239-152 19-24 38-46 57-67 33-37 67-71 102-100 12-10 24-20 45 4s8 34-4 45c-33 28-65 60-96 94-32 35-62 73-92 113-6 8-13 17-24 16-60 70-151 162-172 240-57 210-25 370-122 576 71-38 128-81 175-134 53-60 94-135 128-230 37-104 95-195 167-270 75-77 165-136 261-172 15-5 30-11 41 19s-4 35-19 41c-87 32-169 86-238 157-66 68-119 151-153 247-37 102-81 183-141 250-44 50-95 91-156 127 52-3 78-10 121-7 79-6 211-66 279-119 66-51 116-120 154-206 6-15 13-29 42-16s23 27 16 42c-42 96-99 174-173 231-56 43-121 75-196 93 161-5 311-42 467-100 65-24 87-168 127-208 32-58 66-112 105-158 47-56 101-101 164-127 15-6 29-12 41 18 12 29-3 35-17 41-52 21-98 60-139 108-36 42-68 93-98 147 10 73-51 228-53 305-7 205-2 409 53 612 53-71 107-134 162-192 0-5 0-10 1-15 18-106 33-219 40-332 7-112 7-223-6-329-2-16-4-32 27-35 32-4 34 12 35 28 14 111 14 226 7 340-6 90-16 180-30 269 54-51 53-51 77-103 37-80 59-159 67-237 9-80 5-157-13-230-4-15-7-31 24-38s35 8 38 24c19 80 25 165 14 252-8 65-24 132-49 199 56-42 114-82 178-122-4-75-5-153-3-227 2-68 7-134 18-190 4-20 7-40 47-33s37 27 33 48c-9 50-14 111-16 177-2 78 0 162 4 243 5 82 49 185 125 230 103 62 158 163 186 274 16-145 17-280 3-400-17-143-55-267-114-368-8-14-16-27 12-44 27-16 35-2 43 12 63 110 104 241 122 393 17 146 13 310-13 488 102-82 381-258 352-594-7-27-16-52-28-75-7-14-14-28 14-42s35 0 42 14c17 33 30 69 39 110 5 24 8 49 11 76 13-7 45-43 51-39 24 16 58 38 80 54-21-60-35-120-42-178-10-87-5-172 14-252 4-15 7-31 38-24s27 23 24 38c-18 73-22 151-13 230 9 77 31 157 67 237 4 8 8 16 5 25 24 21 47 42 70 65-13-84-22-170-28-255-8-115-7-230 7-341 2-16 4-32 35-28s29 20 27 35c-13 106-13 217-6 329 7 113 22 225 40 332 1 2 1 5 1 7 54 59 95 120 152 196 55-203 73-407 66-612-2-76-69-227-65-302-30-55-63-107-100-151-41-49-87-87-139-108-15-6-29-12-18-41 12-29 27-24 41-18 62 26 117 71 164 127 38 45 72 98 103 154 57 7 78 179 143 212 154 57 298 94 453 100-75-19-140-50-195-93-74-57-131-135-173-231-6-15-13-29 16-42s35 2 42 16c38 86 88 156 154 206 85 66 289 124 400 127-61-37-113-78-157-128-59-67-104-148-141-250-34-95-87-179-153-247a642 642 0 00-238-157c-15-6-29-11-19-41 11-29 26-24 41-19 96 36 186 94 261 172 72 74 130 166 167 270 34 95 75 169 128 230 47 54 105 98 177 135-98-207-66-367-122-577-35-129-232-277-193-320 45-51 133 88 248 127 175 59 357 111 540 85-122-138-244-269-366-361-119-90-237-140-352-120-16 3-31 6-37-26-5-31 10-34 26-37 135-24 269 32 401 132 111 84 201 175 311 298-18-47 0-14-30-77-59-123-130-241-220-345-89-102-196-189-324-250-14-7-28-13-15-42 13-28 28-22 42-15 137 65 251 157 345 265 81 93 147 198 203 307-15-81-39-157-68-227-44-106-93-201-188-287-62-56-209-140-208-179-29-15-33-11-63-24-61-26-121-46-164-52-16-2-32-4-28-35 4-32 19-30 35-28 50 6 115 28 182 56 33 14 66 43 98 60 53 4 139 47 208 74 206 78 446 126 666 79-73-33-147-65-223-91-85-29-172-49-264-53-16-1-32-1-31-33s17-31 33-31c98 4 191 26 282 57 89 30 175 69 261 108 59 27 101-7 163-45-123-92-181-230-205-376l-2-2c-102-95-207-190-315-253-104-60-210-91-316-63-15 4-31 8-39-22-8-31 7-35 22-39 125-33 247 1 364 69 94 55 186 132 274 213 0-6-1-11-1-17-15-270-203-480-435-494-78-5-189 21-186-32 4-59 97-44 234-86 385-116 655-296 836-690-54 41-110 83-186 124-86 47-198 91-358 128-82 19-154 48-216 84-64 38-117 84-159 135-10 12-20 25-45 5s-14-32-5-45c47-57 106-108 177-150 67-39 145-70 233-91 155-36 261-78 343-122 51-27 92-55 131-84-148-4-305-3-459-3-143 44-289 96-402 160-110 63-186 136-192 223-1 16-2 32-34 29-32-2-31-18-29-34 8-111 97-200 224-273 69-39 149-74 233-105-35 0-70 0-104-1-116-2-112-66-20-101 90-34 190-141 251-216 271-334 412-714 456-1130-33 72-69 140-115 198-57 73-128 131-222 164-31 160-91 293-180 397-92 108-216 185-369 230-29 8-52-35-29-55 132-109 221-226 278-344 62-131 83-264 72-387-1-16-3-32 29-35 31-3 33 13 34 29 12 134-10 278-78 420-40 85-97 170-172 251 73-39 136-89 187-149 85-100 141-229 170-386 1-8 14-22 22-25 89-27 155-79 209-147 51-65 90-143 126-228-140 69-304 64-457 78-213 19-369 68-554 152z"/>
+        <path d="M204649 49231c-680-88-1359-113-2041-114-684 0-1369 40-2058 112-20 6-15 33-14 46 2 28 37 35 121 27 643-60 1285-93 1932-93 674 0 1351 21 2038 102 33 9 77-85 22-81z"/>
+        <path fill-rule="evenodd" d="M200570 49160c683-71 1362-110 2038-110 675 0 1349 40 2025 127l31-127c-17 9-37 15-58 15a123 123 0 11113-171l60-170c-724-84-1446-122-2171-122-729 0-1459 38-2193 107l58 164c22-32 59-54 101-54a123 123 0 110 246c-12 0-25-2-36-6l33 94-2 7zm3067-416a123 123 0 100 246 123 123 0 100-246zm0 64a59.1 59.1 0 000 118c32 0 59-27 59-59s-26-59-59-59zm-1082-91a123 123 0 10123 123c0-68-55-123-123-123zm0 64a59.1 59.1 0 10.2 118.2 59.1 59.1 0 00-.2-118.2zm-1064-40a123 123 0 10-.2 245.8 123 123 0 00.2-245.8zm0 64c-33 0-59 26-59 59s26 59 59 59a59.1 59.1 0 000-118z"/>
+      </g>
+      <path d="M202601 47974c-14-68-49-129-100-175-51-47-116-78-187-88-33-4-39-58-7-68 60-20 114-67 157-133 45-69 79-157 95-256 5-34 64-35 69-1 15 84 51 153 97 208 55 66 125 112 193 138 31 12 25 63-8 68-59 9-105 42-141 87-50 62-81 145-100 221-8 33-62 31-69-2zm33-118c20-52 47-103 81-146 28-34 60-64 99-84-51-30-100-70-143-120-28-34-53-73-73-116-19 59-45 112-75 158-31 47-67 86-108 116 50 19 95 47 134 82 34 31 63 68 85 110zm799 5115l-515 206c-17 7-35 14-48-21-14-34 4-41 21-48l515-206c17-7 35-14 48 21 14 34-4 41-21 48zm59-326l-604 328c-16 9-33 18-51-15s-1-42 15-51l604-328c16-9 33-18 51 15s1 42-15 51zm-1826-65l604 328c16 9 33 18 15 51s-34 24-51 15l-604-328c-16-9-33-18-15-51s34-24 51-15zm51 322l515 206c18 7 35 14 21 48-14 35-31 28-49 21l-515-206c-17-7-34-14-21-48 14-35 31-28 48-21zm224 434c137 33 261 48 358 31 88-16 155-60 191-146v-493c-107-1-212-15-303-41-109-31-170-98-201-178-41-107-27-235-4-329 5-18 9-36 45-27s32 27 27 45c-20 82-33 194 1 284 23 60 69 110 152 133 91 25 198 38 307 38 107 0 214-13 304-40 82-24 148-69 192-123s65-117 57-176c-5-36-24-62-49-80-34-24-82-35-128-37-47-2-94 7-142 16-25 5-50 9-77 13-19 2-37 5-42-32s14-40 32-42c23-3 48-8 73-12 52-10 105-20 159-18 60 2 121 18 168 51 42 29 72 72 80 131 11 80-16 163-73 233-53 65-131 119-229 147-83 24-178 38-274 42v483c3 5 3 11 2 16 37 82 102 125 188 141 97 18 221 2 358-31 18-5 36-9 45 27 8 37-9 41-28 45-146 35-279 51-388 32-92-17-165-58-215-132-49 74-124 115-215 132-109 20-242 4-388-32-18-4-37-8-28-45 8-36 27-32 45-27zm356 210l402-9c19 0 38-1 38 37 1 38-18 38-37 38l-402 9c-19 0-37 1-38-37s18-38 37-38zm593-3082c151-125 293-227 423-297 133-72 254-111 359-106 19 1 37 1 36 39-1 37-20 37-39 36-92-4-200 32-322 97-125 67-263 166-410 289-14 12-29 24-53-5s-9-41 5-53zm-605 56c-141-130-298-240-445-314-139-71-268-108-363-100-19 2-37 4-40-34-4-37 15-39 34-40 110-10 252 31 404 107 152 77 315 191 461 325 14 13 28 25 2 53-25 27-39 15-53 2zm-213 1004c37-83 83-155 136-219 53-63 112-119 174-170 14-12 29-24 52 5 24 29 9 41-5 53-59 48-114 101-164 160-49 59-91 125-125 201-8 17-15 34-49 19s-27-32-19-49zm371-1734c49 66 88 139 114 223 26 82 40 175 39 279 5 80 6 165-7 249-13 86-42 170-97 246-43 60-101 97-165 113-53 13-109 10-164-7 29 100 51 208 6 308-8 18-33 27-51 18-43-22-86-43-128-62s-84-36-127-51l-1-1c-95-37-173-73-236-112-65-39-115-80-150-124l1 2c-44-49-72-106-88-170-14-55-20-114-22-174-72-39-138-78-194-116-64-43-118-87-161-131-13-14-26-27 1-53s40-12 53 1c39 40 89 80 150 121 60 40 128 81 204 121 124 13 247 51 370 109 106 50 211 115 317 192 13 7 19 16 27 20 8 6 16 13 25 19 51 22 104 28 152 16 47-11 90-39 122-84 48-66 72-139 84-214 12-77 11-157 6-234v-2c1-97-12-183-35-258-24-76-58-142-102-201-11-15-22-30 7-52s41-7 52 7zm-375 1047c-104-77-207-141-311-190-105-49-210-83-314-98 2 48 8 93 18 135 13 52 35 99 71 138l1 1c30 37 73 72 130 107 60 36 134 71 225 106l-1-1c45 16 89 34 133 54 31 14 61 28 93 44 19-83-10-179-37-267-2-8-5-15-9-29zm776-1003c-44 59-79 125-102 201-24 76-36 161-35 258v2c-5 77-6 158 6 234 12 75 37 148 84 214 32 45 75 72 122 84 48 12 101 6 152-16l25-19c6-4 13-12 27-20 105-77 211-143 317-192 123-58 246-95 370-109 75-40 144-80 204-121s111-81 149-121c13-13 26-27 53-1s14 39 0 53c-43 44-97 88-161 131-57 38-122 77-194 116-2 61-8 119-22 174-16 63-44 121-88 170l1-2c-35 44-85 85-150 124-63 38-141 75-237 112l-1 1c-43 15-85 32-127 51-43 19-85 40-128 62-18 9-43 0-51-18-45-100-23-208 6-308-55 18-111 20-164 7-64-15-122-53-165-113-55-76-84-160-97-246-13-85-12-169-7-249-1-104 13-196 39-279 26-84 65-158 114-223 11-15 22-30 52-7 30 22 19 37 7 52zm940 715c-105 15-209 49-314 98-104 49-207 113-311 190-4 13-6 21-8 29-27 88-56 184-37 267 31-15 62-30 93-44 44-20 87-38 133-54l-1 1c91-35 165-70 225-106 58-34 100-70 131-107l1-1c35-39 57-86 71-138 11-42 16-87 19-135z"/>
+      <path fill-rule="evenodd" d="M203459 50602a216.4 216.4 0 000 433 216.6 216.6 0 000-433zm0 69c-81 0-147 66-147 147s66 147 147 147 147-66 147-147-66-147-147-147zm0 60a87 87 0 10.1 174.1 87 87 0 00-.1-174.1zm-1697-124c119 0 217 97 217 216s-97 217-217 217a216.6 216.6 0 010-433zm0 69c81 0 147 66 147 147s-66 147-147 147-147-66-147-147 66-147 147-147zm0 60a87 87 0 11-.1 174.1 87 87 0 01.1-174.1z"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(-2.2 -55532.8 156275.8)" xlink:href="#a"/>
+    <use width="100%" height="100%" transform="rotate(2.2 459865.8 156275.8)" xlink:href="#a"/>
+  </g>
+  <path fill="#171796" d="M328.1 101.3L307.6 78l-27 15.4-4.5 54.6a234.6 234.6 0 0138.5 6.4l13.5-53z"/>
+  <path d="M286 104.7c.9-.3 1.8-.3 2.7.2.4.2.7.4.9.7l1.2-1a7 7 0 012-1 8 8 0 012.9-.9 13.4 13.4 0 013-.1c.9 0 1.7.3 2.5.7l2.1 1.1 2.3 1.1a9.8 9.8 0 004.8.4c.5 0 .7.2.2.5-3.5 2.2-6.3.2-8.6-.6a17.2 17.2 0 012.2 1.8c1 .9 2 1.7 3.7 2.5a8.9 8.9 0 003.8 1 9.4 9.4 0 001.7-.2c.3 0 .4 0 .4.2 0 0 0 .3-.2.4a5 5 0 01-2.7.8c-1.9.1-3.8-.5-5.6-1.4-1.4-.8-2.4-1.7-3.5-2.6a8 8 0 00-3.2-1.5 6.3 6.3 0 00-3.1.1c.3 0 .5.2.6.4.5.3 1.2.4 2 .5.5 0 .4.4-.3.8-.5.5-1 .8-1.8.8-1 .7-1.4.2-1.8-.2a3.1 3.1 0 01-.2.8.6.6 0 010 .5l.2.8a.7.7 0 00.2.4l.4.7c0 .2 0 .3.2.5l.7.6c.6.2.9.7 1 1.3.5.1.7.5.8.9.2.1.5.2.6.5h2.8c.9.2 1.5.7 2.1 1.4h1.3c.4-.2.9-.4 1.4-.4a7.8 7.8 0 012.5 0l1.3.8c.5.6 1.2.5 1.9.3a2.9 2.9 0 012.5 0c.4-.2.8-.2 1.2-.2.3-.4.6-.4 1-.5.6 0 1 .1 1 .9-.1.2-.2.4-.4.4-.3.6-.8.8-1.4.7l-.5 1c.3.9 0 1.2-.7 1.2-.2.3-.4.5-.7.4a1.5 1.5 0 01-1 .6l.3.6c.5.7-.2 1-.8 1 .1.5.2 1 .1 1.4.7.4.7.8.1 1.2.5.8.3 1.4-.5 1.8 0 .4 0 .8-.4 1-.2.3-.4.3-.3.6.4.6.3 1.3-.2 1.3l-.2.1c0 .1 0 .2-.2.2l-1.6 1.1h-.3c-.3.9-1 1.7-1.8 2.5a1.6 1.6 0 01-1 1.3c0 .2-.2.3-.4.3.3.4.5.7.2 1a3 3 0 01-1.4 1c-1.1.3-1.8.2-2.2-.2-.4-.3-.2-.6 0-.7-.7 0-.8-.3-.8-.8 0-.2.1-.2.4-.2l1-.3a2 2 0 01.5-.6c.1-.7.6-1.1 1.2-1.4.6-.2 1-.7 1.5-1.3l1-1.5a1.3 1.3 0 01-.3-.9 1.6 1.6 0 01-.6-.5c-.5 0-.7-.2-.8-.5a1.1 1.1 0 01-.3 0l-.7.2a7.4 7.4 0 01-1.2 1c-.2.3-.4.5-.8.5-1 .2-1.5 1.3-2 1.8l-.5.8c0 .6-.1 1.1-.5 1.1h-.3a1.3 1.3 0 00-.4 0c.2.3.3.6 0 1-.2.2-.5.3-.9.4a3.8 3.8 0 01-1.7-.3c-.5-.2-.6-.5-.5-.7-.4-.2-.5-.4-.4-.5 0-.2.2-.4.5-.3l.6-.2a5.6 5.6 0 012-1.5 3.2 3.2 0 01.7-.7c0-.6.4-1 1-1.5a2.2 2.2 0 01.2-.6v-.3c-.2-.4-.3-.8-.2-1.2a1.4 1.4 0 010-.6c-1.2.7-1.5.5-1.7 0-.4.3-.8.4-1 0-.5 0-.9.2-1.3 0a3 3 0 01-.8.3 3.3 3.3 0 01-.6.7 3 3 0 01-.5 1.5 9.8 9.8 0 01-.7 1.7l-.1.5c0 .7-.2 1-.5 1.1a2.6 2.6 0 01-.5.8v.2c.2.4.2.8-.2 1.2a9 9 0 01-1 .5c-.3.2-.7.1-1 0-.6-.2-.5-.4-.5-.6a.7.7 0 01-.5 0l-.4-.3c-.1-.2-.1-.4.2-.5l.9-.6c0-.2.2-.4.4-.5.2-.4.4-.7.7-.7l.7-1.6c.1-.2.2-.3.1-.5l.1-.3c.1 0 .2-.1 0-.2a1.4 1.4 0 01.3-1.2c.3-.5.6-1.6.3-2.1a3 3 0 01-.1-1h-.3c-.3-.2-.5 0-.6.3l-.4.6c-.2.9-.6 1.5-1 1.7a3 3 0 00-.2 1.2c0 .5 0 .8-.2.8s-.4.2-.5.6l-.1.3c.3.3.2.7 0 1-.8.7-1.6.6-2.5.3-.6-.2-.8-.5-.7-.7-.9-.1-.7-.8 0-1a3.7 3.7 0 002-1.5c0-.9.3-1.5.7-1.5 0-.6.3-1 .5-1.5.2-.4.4-.9.3-1.4-.5-.3-.5-.7 0-1l-.1-.3c-.3 0-.3-.3-.3-.6 0-.1 0-.2-.2-.2-.7 0-.5-.4-.2-.7.1-.1.2-.3 0-.4l-.1-.5c-.5-.3-.3-.6 0-1-.3-.1-.4-.4-.4-.7-.8 0-1-.5-.7-1l.7-.7c.2-.3.4-.6.3-.9-.2-.5.5-1 1-1.4a1 1 0 010-.4c-.4-.3-.3-.7 0-1a1.1 1.1 0 010-.4c-1 .2-1-.3-.5-1.1-.5-.3-.4-.8.5-1.6l.1-.4a2 2 0 00-1 .4c-.4.2-.7.1-1 0a1.6 1.6 0 00-.5-.4.7.7 0 01-.2-.7c-1 0-1.2-.7-.6-1.1l.6-.9c.3-.6.9-1.1 1.4-1.6a2 2 0 01.1-.6l-.8-.3c0-.2-.2-.5-.6-.6-.2-.2-.2-.3-.1-.5-.5-.5-.4-.8-.3-1z"/>
+  <g fill="#f7db17">
+    <path d="M304 130.2h-.3a9 9 0 01-.8.8c-.2-.3-.6 0-.2.1l-.2.2c-.1.3-.3.4-.6.5a1.8 1.8 0 00-.2 0 3.1 3.1 0 010-.4l.1-.4v-.1a4.6 4.6 0 00-.2 1c-.8.2-1.3 1.1-2 1.7l-.4.9c0 .2 0 1-.3 1h-.2c-.1-.2-.2-.2-.4 0a6 6 0 00-1 0c-.3.2.3.1.6.3.2.1.2.3.2.5-.3.7-2 .5-2.5.2-.3-.1-.3-.3-.3-.5h.4c.2 0 .4 0 .6-.2v-.2c0-.2-.1 0-.2 0l-.5.1h-.5c-.1 0-.2 0-.1-.1h.2l.7-.3a5.7 5.7 0 012-1.5l.8-.7c.1-.7.5-1 1-1.5 0-.3.1-.5.3-.8v-.4c-.2-.4-.3-.7-.2-1v-.9a.4.4 0 000-.1 6.6 6.6 0 01.9-.6v.8a1 1 0 00-.2.3.6.6 0 000 .3.5.5 0 010-.2 1.3 1.3 0 01.3-.3c.3 0 .5-.1.8-.4l.7-.7v1.2a2.5 2.5 0 00-.6.7v.1h.1l.5-.7h.1l.1-.2.9-.4v1a1.6 1.6 0 00.5.9z"/>
+    <path d="M287.4 120.6l.2-.2.4-.6a4.3 4.3 0 01.5-.7h.1c.1 0 0 .1 0 .1a4.2 4.2 0 00-.5.6 6.2 6.2 0 00-.4.6v.2c0 .4.1.6.3.8l.3-.5.5-.4a2 2 0 00.3-.3 1.5 1.5 0 00.2-.3h.1a1.7 1.7 0 01-.2.4 2.1 2.1 0 01-.4.3l-.4.4a1.3 1.3 0 00-.3.3c.1.1.2.3 0 .4-.1.3-.4.5 0 .8a.7.7 0 00.2.5c.1.1.1.5-.1.7-.3.3 0 .2.1.2h.1a2.7 2.7 0 01.3-.4l.3-.4.4-.5.2-.6h.1c0 .2 0 .4-.2.6a2.3 2.3 0 01-.4.6l-.3.4a2.8 2.8 0 00-.3.4c.3.2.2.5.2.8h.2a23.9 23.9 0 00.2-.3l.2-.4h.1l-.2.5-.2.2c.2.2.2.5 0 .7-.5.3-.3.4 0 .6v1.7-.4l-.1.1c-.3.7-.6 1.2-.7 1.9-.7.1-.6.8-.6 1.4a4.2 4.2 0 01-2 1.6c-.2 0-.6.1-.6.3 0 .1.3.3.4.2.5-.5.7-.2.2.2v.3c.6.4 1.8.6 2.4.2.4-.2.6-.5.2-.9 0-.6.3-1 .8-1.3.1 0 .1-.3 0-.4 0-.5 0-1 .2-1.4l.2-.2c.2 0 .6-.6.7-1.3l.1-.4c0-.2.1-.2.3-.1l.1-.4c.2-.3.6-.6 1-.4a3.2 3.2 0 01-.2-.9l.1-1 .1-.2.3-.8.4-.8c.1 0 0 0 0 .1l-.3.8-.3.8v.1a3 3 0 00.2 2v.1c.2.1.2.1.2.4v.6c.4.6 0 1.8-.3 2.3-.2.3-.2.6-.2 1 .2.1.1.3 0 .5-.1 0 0 .1 0 .1a.9.9 0 01-.3.6l-.7 1.7c-.5.1-.5.4-.7.8-.3 0-.3.1-.4.3a2.9 2.9 0 01-1 .7c-.2.1 0 .2.3.4.2.1.4-.2.6-.4.2-.3.3-.2.2 0a2.1 2.1 0 00-.2.7c0 .2.6.3.7.3.5 0 1-.4 1.3-.6.3-.2.3-.5.1-.8a2.1 2.1 0 01-.5 0 3.7 3.7 0 01-.6-.3c0-.1 0-.1 0 0l.7.1h.5v-.2l.5-.9c.4-.2.4-.4.4-1a1 1 0 00.1-.5c.3-.5.6-1 .8-1.7.3-.5.5-1 .5-1.5 0-.3 0-.4.3-.4 0-.2.2-.3.3-.5a1.8 1.8 0 01.2-.4.8.8 0 01.1-.2 1 1 0 000-.5 1.2 1.2 0 000-.5.5.5 0 01-.2-.2v-.2h.1v.2l.1.1.2.6v.5a.8.8 0 00-.2.2l-.1.4c.2 0 .4 0 .7-.2l.4-.5.2-.6h.1a2.2 2.2 0 01-.2.7l-.3.4c.4 0 .7 0 1.1-.2v-1.2l.4-.8c.1 0 0 0 0 0l-.2.8v1.2c.1.3.2.5.5.3l.4-.3v-.1a13.8 13.8 0 012-1.6 9.1 9.1 0 00-1.7 1.5v.3c0 .4 0 .6.6.4l.6-.3c.2 0 .3-.2.3-.2a9.9 9.9 0 011-.7l.2-.6.8-1.3a2.6 2.6 0 00.7-.6l.5-.7c.1 0 0 0 0 0a2.6 2.6 0 01-.4.8l-.7.6a4.3 4.3 0 00-.9 1.8v1l.7-.4.8-.7c0-.3.2-.5.3-.6a1 1 0 01.4-.4v.2a1 1 0 00-.4.3 2 2 0 00-.2.5v1.2a3.6 3.6 0 011-.6h.1v1.1c0 .3.2.6.4.8a3 3 0 01.5-.6 4.3 4.3 0 01.4-.3l.2-.2.2-.3h.1v.1l-.2.2-.3.3a3.3 3.3 0 00-.3.2v.5h.7c0 .5 0 .6.5.6a3.5 3.5 0 010-.5 2.1 2.1 0 01.1-.5h.1v.5a3.3 3.3 0 000 .5c.1.4.3.5.6.7a1.8 1.8 0 00.2-.5l.1-.5h.1a1.5 1.5 0 010 .5 2 2 0 01-.3.6v.5l.2-.3a1.8 1.8 0 01.3-.4h.1c.1 0 0 0 0 0a1.9 1.9 0 00-.3.4 4.7 4.7 0 00-.2.4l.2.2c-.7 1.1-1.4 2.7-2.6 3.2-.7.2-1 .6-1.1 1.3a2.3 2.3 0 00-.6.6c-.4.2-.8.4-1.3.4 0 .3.1.4.4.4l.8-.3s-.1.5-.6.8v.2c.4.6 1.4.4 2 .2.4 0 1.1-.6 1.3-1 .1-.2 0-.4-.2-.6-.8.1-.7-.6 0-.3.2 0 .3 0 .3-.4.7-.2 1-.5 1-1.1a11.6 11.6 0 001.8-2.2c0-.1.2-.4.1-.6l.2-.4.1-.5h.1a1.9 1.9 0 010 .5 4.1 4.1 0 01-.2.4c0 .1 0 .2.2.2.5-.5 1-.8 1.6-1.1 0-.3.2-.4.5-.4l.1-.1c.2-.4 0-.6-.2-.9-.1-.4.2-.5.4-.7.3-.2.3-.8.3-1.1v-.2a2.8 2.8 0 00-.1-.3c0-.1 0 0 0 0l.2.3v.1c.3-.1.6-.3.7-.6l-.3-.9a10.2 10.2 0 01-.6.3v-.1a11 11 0 00.7-.4l.3-.2c.2-.3-.3-.6-.5-.7l-.8-.7v-.1c0-.1 0 0 .1 0l.7.7v-1.3l-.2-.4a1.2 1.2 0 01-.5-.4 1.1 1.1 0 01-.2-.5h.1a1 1 0 00.2.5l.4.3c.3.2.7.1 1 0 .4-.2-.1-.7-.2-1l-.2-.5h.1a1 1 0 00-.1-.2.6.6 0 00-.2 0v-.1a.8.8 0 01.2 0l.2.3a1.6 1.6 0 00.1 0c.4-.1.6-.3.8-.6a3.8 3.8 0 00-.4-.4l-.4-.4.5.3a4.5 4.5 0 01.5.5c.3 0 .4 0 .5-.3a1.6 1.6 0 00-.2-.5 2.7 2.7 0 00-.3-.4c.2 0 .3.2.4.4l.2.4h.5c.3-.2 0-.8 0-1a3 3 0 00-.2-.2h-.2v-.2h.1l.2.1.2.1.4-.6c0-.4.1-.2.5-.3.5 0 .7-.1 1-.7.2 0 .2 0 .3-.3 0-.3 0-.5-.4-.5-.5 0-.8 0-1.1.4v.2c.1 0 .1 0 0 .1l-.1-.2a2.6 2.6 0 00-1.3.2 2.1 2.1 0 00-.1 0l.2.3.1.4v.1h-.1a1.1 1.1 0 00-.1-.5 2 2 0 00-.3-.4 2.8 2.8 0 00-1-.2l.1.1.2.2v.1c0 .1 0 0 0 0a8.7 8.7 0 01-.3-.2 14.6 14.6 0 01-.2-.2 3 3 0 00-.9.2 3 3 0 01-.6.2l.4.5.2.6v.1h-.1a2.3 2.3 0 00-.2-.6 2 2 0 00-.4-.5 1.9 1.9 0 01-.6 0l.2.3-.3-.4a1.5 1.5 0 01-.5-.2 8.7 8.7 0 01.2 1.6h-.1a8.4 8.4 0 000-1 5 5 0 00-.2-.7 1.8 1.8 0 01-.3-.2 2.2 2.2 0 00-.6-.5 1 1 0 01-.2.8c-.1 0 0 0 0 0a.9.9 0 00.1-.8 3.3 3.3 0 00-1.1-.3 7 7 0 01.6 1 .9.9 0 01.3.4v.5a2.2 2.2 0 00-.1-.5.8.8 0 00-.3-.4 6.3 6.3 0 00-.3-.5 5 5 0 00-.4-.5 5.3 5.3 0 00-.4 0h.1l.1.3h-.1a.5.5 0 000-.2.7.7 0 00-.2-.1h-.8a5.5 5.5 0 011 2.4v.1a5.2 5.2 0 00-.5-1.3 5.5 5.5 0 00-.7-1.2 3.7 3.7 0 00-.7.2 2.1 2.1 0 01.5.4 1.7 1.7 0 00-.3-.2 2.6 2.6 0 00-.3-.2 5.1 5.1 0 00-.3.1h-.2a4.9 4.9 0 011.1 1.2c0 .1 0 0 0 0a4 4 0 00-.6-.6 5 5 0 00-.6-.5 2.7 2.7 0 01-.7 0 5.1 5.1 0 01.5 1.9 3.8 3.8 0 00-.3-1 7 7 0 00-.4-.8 3 3 0 01-.4 0 10 10 0 01.4 1.7h-.1l-.2-1a9.9 9.9 0 00-.2-.8 4 4 0 00-1.4-1.1 1.8 1.8 0 01.4 1.2h-.1a1.7 1.7 0 00-.1-.7 1.8 1.8 0 00-.4-.6 2 2 0 00-.4 0 16.7 16.7 0 00-1-.1c.2.2.4.4.4.7h-.1c0-.2-.2-.5-.5-.7h-.7l.3.3.3.5c0 .2 0 .5.2.6 0 .2.2.4.4.5 0 .1 0 0 0 0a1.2 1.2 0 01-.5-.4 1.6 1.6 0 01-.3-.7 1.3 1.3 0 00-.2-.4 2.8 2.8 0 00-.3-.5h-.7l.2 1v1a7.6 7.6 0 00-.1-1 5 5 0 00-.3-1 1 1 0 00-.5-.4.6.6 0 01-.2.3.5.5 0 000-.4c-.2-.5-.3-.7-.7-.9v.5c0 .1 0 .3-.2.5-.1 0-.1 0 0 0a1.3 1.3 0 000-.6 2.5 2.5 0 00.1-.4c-.2-.7-.3-1-1-1.3a1.9 1.9 0 010 .2v.5h-.1v-.5a2 2 0 000-.4l-.5-.5a2.5 2.5 0 01-.1.8l-.4.9h-.1a3.3 3.3 0 00.4-1v-.8a1.1 1.1 0 01-.1-.3l-.1.3h-.1v-.3l.1-.1v-.1a.8.8 0 00-.3-.5 1.6 1.6 0 01-.3.5 1.5 1.5 0 00.2-.6 1 1 0 01-.1-.3.8.8 0 01-.1.2 1.2 1.2 0 01-.3.2l.2-.3a.7.7 0 000-.1c.1-.1.1 0 0-.2.1-.3 0-.5-.1-.8a1 1 0 00-.4 0l-.5.4v-.1c.2-.2.3-.3.5-.3a1 1 0 01.4-.1.4.4 0 000-.3 4 4 0 01-1.2.3 1.8 1.8 0 01-.8 0v-.2l.8.1c.3 0 .7 0 1.2-.3l.2-.6a1.8 1.8 0 01-.5 0h-.1l.6-.1v-.2c0-.2.3-.3.5 0 .2 0 .3.2.5.3.3.2.6 0 .9-.2h-.3v-.1h.4c.6 0 1 0 1.5-.5a7.4 7.4 0 01-1 0l-.7-.2v-.1l.7.2a7.5 7.5 0 001 0l.2-.1.4-.3a5.7 5.7 0 01-2-.6l-.8-.4a2.4 2.4 0 00-1.4.3l-.3-.3-.5-.1h-.7v-.1h.7l.6.1a4.8 4.8 0 011.9-.4 6 6 0 011.8-.2v-.2c.3-.3.4-.6.3-1-.1-.2-.4-.5-.8-.7h-1.4l-.9.1c.3.1.5.3.6.5.3.2.4.6.5 1v.1h-.2c0-.5-.2-.8-.4-1-.2-.3-.7-.4-.8-.5a9 9 0 00-1.4.3c-.3 0-.6.1-.8.3l1 .1c.2.1.4.4.6.8v.1c0 .1-.2 0-.2 0-.1-.4-.3-.6-.5-.7-.5-.2-1.4 0-1.8.2a4.5 4.5 0 00-.6.7h-.2c-.1-.1 0-.2 0-.2l.7-.7a2 2 0 01.7-.3 2.1 2.1 0 011-.6l1.5-.2-.6-.6h-.7a6 6 0 00-1.7.8h.6v.2c0 .1-.3 0-.4 0h-.5s0 .1 0 0l-1.6 1.3c-.6 0-.9 0-1 .2-.2.1-.2.3-.2.6l-.2.8c-.5.5-1.1 1-1.4 1.6l-.3.6h.3a.4.4 0 010 .1 2.5 2.5 0 010-.3l.3-.4-.1.4a2.6 2.6 0 000 .6h-.2a.3.3 0 00-.1-.3.6.6 0 00-.3 0 3.4 3.4 0 01-.4.3l-.2.3c0 .3.3.3.6.3.6 0 .1.4.5.7l.4.5h.6c0-.5 0-.7.2-.7a.8.8 0 01.2-.4c.1 0 0 0 0 0a.9.9 0 000 .3.8.8 0 00-.1.2v.4l1-.3c.8-.8 1-.6.5 0l-.1.2a1.5 1.5 0 00-.2.7c-.2.1-1 .8-.8 1.1.3 0 .4 0 .3.2 0 .2-.4.7-.3 1h.3a6.4 6.4 0 00.8-.7l.6-.8v-.1a9.7 9.7 0 01.3-.8l.3-.8h.1l.3.3a.4.4 0 00.2.1h.3l.3-.3s0-.1 0 0c.1 0 0 0 0 0a1.2 1.2 0 01-.2.3.5.5 0 01-.4.1.5.5 0 01-.3 0 1.2 1.2 0 01-.2-.3l-.3.7a10 10 0 00-.2.7v.2a4.4 4.4 0 01-.7.9l-.6.5.2.6 1-1a6.4 6.4 0 00.9-1.1 6 6 0 01-.3.6l-.1.4v.8a4.5 4.5 0 01-.1-.8v-.2a10.1 10.1 0 01-1.3 1.4c-.4.3-.6.4-.3.7l.4-.3.4-.3h.1v.1l-.4.3-.4.3a.7.7 0 00.1.4l1-.6-.8.6a.8.8 0 01-.1.2c-.3.2-1.3.8-1.2 1.2.3 0 .5-.2.7-.3.2 0 .5-.3.7-.5.1 0 0 0 0 .1a2.7 2.7 0 01-.6.5v.3h-.2v-.2l-.5.2c0 .4-.2.7-.4 1 0 .2-1 1-.7 1.2h.4z"/>
+    <path d="M287.9 106.9c-.2-.1-.5-.3-.8-.3a1.5 1.5 0 00-.5-.6c-.2-.1-.2-.1-.1-.3l.3-.1h.3l.2.2c.1 0 0 0 0 0a.6.6 0 00-.2-.3 1.1 1.1 0 00-.4 0 .8.8 0 00-.4 0l-.2-.6.4.1a.6.6 0 01.2.2.8.8 0 00-.2-.3 1.9 1.9 0 00-.2 0 3 3 0 012.3.3c.4.1.6.3.8.6l-.2.2c-.5 0-.9 0-1.1.2-.2.1-.2.4-.3.7z"/>
+  </g>
+  <path d="M304.4 130l-.4.2.4-.6v.4zm2.1 4.5l-.4.4a4.3 4.3 0 01-.5.4l.5-.5.3-.4h.1zm1.4-1.7l-.2.3c-.1 0-.1 0 0 0l.1-.3h.1zm-.7 0a1.1 1.1 0 01-.7.7l.4-.4.2-.4zm1.3-1.7a1 1 0 00-.1.2l-.1.2h-.1a1.2 1.2 0 01.2-.5h.1c.1 0 0 0 0 0zm1.1 0l-.1.5-.2.5h-.1c-.1 0 0 0 0 0l.2-.5.1-.5h.1zm-.5-6.4c.4.5.4 1 .5 1.5l.1-.5a1.5 1.5 0 00.3-1.3h.1v.7a1.8 1.8 0 01-.3.6 14.1 14.1 0 00-.2 1v.1h-.2v-.1c0-.7 0-1.3-.4-2h.1zm-.8 1v.3h-.1v-.2s0-.1 0 0zm-.2 1.5a6.3 6.3 0 01.2 1.5 1.3 1.3 0 01.4-.4h.1v.1a1.1 1.1 0 00-.3.3.8.8 0 00-.2.3l-.2-.9a6.3 6.3 0 00-.2-.8c.1-.1.1 0 .2 0zm1.1.6a3.8 3.8 0 010 1.2v-.6a3.9 3.9 0 000-.6s-.1 0 0 0zm1-.2v1.2a1.3 1.3 0 000 .6l.1.6c0 .1 0 0 0 0a2.7 2.7 0 01-.3-.6 1.4 1.4 0 010-.7 1.4 1.4 0 00.2-.5 2.3 2.3 0 000-.6zm.5-1.7v.3l-.1.3s0 .1-.1 0v-.3l.1-.3h.1zm-.5-2.8l.1.3c0 .1 0 0-.1 0v-.2s-.1 0 0-.1zm.3-2v.8a.8.8 0 00-.3.4 1.5 1.5 0 000 .6h-.1a1.5 1.5 0 010-.7 1 1 0 01.3-.4v-.8zm-2.1-.8l.8.7c.2.3.3.6.3 1h-.1l-.6-.2c.2.8.1 1.4 0 2a1.7 1.7 0 01-1 1l-.1-.1a4 4 0 00.1-1.8h.1v1a4.1 4.1 0 010 .7c.3-.2.6-.5.8-1 .1-.4.2-1 0-1.9l.7.2a1.5 1.5 0 00-.3-.8 2.7 2.7 0 00-.8-.7v-.1zm5.5-1l-.1.1h-.1v-.2h.1zm-1.3-.1a.8.8 0 01.2.2l.2.2c0 .1 0 0 0 0a.8.8 0 00-.2-.2.6.6 0 00-.3-.1v-.1zm-2 .5l.3.6v.6s0 .1 0 0a1.9 1.9 0 000-.6 1.1 1.1 0 00-.3-.5zm-6.4.7v.2a7 7 0 000 .2h-.1v-.5h.1zm1.2-.7v.3l.1.1v.1l-.1-.1a14.5 14.5 0 00-.1-.3v-.1zm2.5 1.7v.1a1 1 0 010 .2h-.1a.9.9 0 000-.2v-.2zm.8-1.9a.4.4 0 01.1.2.3.3 0 010 .2h-.1v-.1a.1.1 0 000-.1.3.3 0 000-.1c-.1 0-.1 0 0-.1zm-5.9.3l.1.4.2.3.2.5v.4a2.2 2.2 0 000-.4 1 1 0 00-.3-.4 1.1 1.1 0 01-.2-.4 1.2 1.2 0 010-.4zm2.4 1.6a2 2 0 01.2.7v.8c0 .3 0 .6.2.8.1.3.4.5.7.7a3 3 0 01-.2-1 1.8 1.8 0 01.4-1 1.5 1.5 0 00.3-.4v-.5h.1v.5a1.6 1.6 0 01-.3.5 1.7 1.7 0 00-.3 1l.1 1v.1a2.8 2.8 0 01-1-.8 1.3 1.3 0 01-.1-1v-.7a2 2 0 00-.2-.7h.1zm-1 1.5l-.1.8a4 4 0 01-.5.6 3.2 3.2 0 00.3-.1 2.4 2.4 0 00.7-.6l.4-.3a3.8 3.8 0 01-.3.4 2.6 2.6 0 01-.3.3 26.1 26.1 0 01.1.3v.1h-.1v-.4a2.5 2.5 0 01-.5.3l-.4.1s-.1 0 0 0a3.9 3.9 0 00.5-.8l.1-.7h.1zm-1.1-.1v.2h-.1v-.2z"/>
+  <path d="M302.4 121.3c.1.4.2.8.1 1 0 .4-.2.7-.4 1a2 2 0 00-.6.7 2.8 2.8 0 00-.1.5l.2-.2c0-.1.2-.3.5-.3a5 5 0 001.2-1h.1l-.6.6a5.1 5.1 0 01-.7.5 1.1 1.1 0 00-.5.3l-.3.4h-.1l.2-.9.6-.7.4-.8-.1-1c0-.1 0 0 0 0zm2.3 3.8l.2.4.1.2c.2.2.3.5.3.8l-.1 1h-.1a2 2 0 00-.4-1 3.7 3.7 0 00-.9-.7l1 .7.3.7v-.7a1.4 1.4 0 00-.2-.8 3.6 3.6 0 000-.1c-.3-.2-.3-.3-.3-.5h.1zm1 0l.2.1v.1c.1 0 .1 0 0 .1l-.1-.1-.1-.2zm1.3.4l-.3.7-.2.7s0 .1 0 0h-.1l.2-.7.3-.8zm.7 4.1a.3.3 0 000 .2h-.1a.4.4 0 010-.2zm-.8-1.2v.4l-.2.4v-.5l.1-.3h.1zm-1 0c0 .1.1.1 0 .2l-.1-.1v-.1zm-1.3-.6a5.7 5.7 0 01-.1.4h-.1a5.7 5.7 0 01.1-.4s0-.1.1 0zm-1.8 1.9a.7.7 0 00-.1.2 1.3 1.3 0 000 .3h-.1v-.3a.8.8 0 01.2-.3zm-5 5a.7.7 0 01-.1.1 1.3 1.3 0 01-.2.2h-.1v-.1a.9.9 0 00.3-.3zm.8-.5a.4.4 0 01-.1.2.7.7 0 01-.2 0s0 .1 0 0c-.1 0 0 0 0 0a.5.5 0 000-.1.3.3 0 00.2-.1zm1-.6a.6.6 0 01-.2.2v-.1a.4.4 0 00.1-.2h.1zm1.6-4.1v.4c-.1.1 0 .3 0 .4l-.1.1a1.5 1.5 0 01-.1-.5l.1-.5h.1zm1-11a1 1 0 010 .3l-.3.4v-.1l.2-.3a.8.8 0 000-.4h.1zm-1-1l.2.5v.5h-.1a1.9 1.9 0 000-.5 1.6 1.6 0 00-.2-.5zm-1.5 1.8a1.6 1.6 0 01-.4-.5.7.7 0 01-.1-.4c.1 0 .1 0 0 0a.6.6 0 00.2.4l.4.4c0 .1 0 .1 0 0zm1.6 2.7v.3-.3zm-2-2c.3.2.5.6.6 1v.8h.1c.1 0 .3-.1.3-.4a2.9 2.9 0 00.2-.9l.2-.6.1-.6h.1l.5.9.3 1h-.1a3.1 3.1 0 00-.3-1 4.1 4.1 0 00-.4-.7 3.1 3.1 0 010 .5 2 2 0 01-.3.5c0 .4 0 .8-.2 1 0 .2-.2.4-.3.4h-.1v.5h-.1l-.1-1.3a2.1 2.1 0 00-.6-1v-.2zm1.2 5.1v.5l-.2.4v-.9h.1zm-2.4 1l.1.4h-.1v-.4zm2-2.6l-.1.6a2.4 2.4 0 01-.4.6 1 1 0 00-.3.7v.7a2 2 0 01-.1-.8c0-.2.1-.5.3-.7a2.2 2.2 0 00.6-1.2zm-.5-.8v.6a3 3 0 01-.5.6 2 2 0 00-.4.5 4.4 4.4 0 00-.3.6l.2-.6.5-.6a2.2 2.2 0 00.4-.5 1 1 0 000-.6h.1zm-2.5 1.2c0 .4 0 .8-.2 1-.1.4-.4.7-.7 1-.1-.1-.1-.1 0-.2.2-.2.5-.5.6-.8.2-.3.2-.6.2-1zm-3.3 1.8v.2l.2.2c-.1.1-.1 0-.1 0l-.1-.1-.1-.2v-.1zm-1.3 0v.8c0 .3.2.4.4.7a2.3 2.3 0 01.2.9l.4-.6.1-.6h.1a1.7 1.7 0 01-.1.7l-.5.6h-.1a3.5 3.5 0 000-.5 2 2 0 00-.2-.5 2 2 0 01-.3-.7 2.9 2.9 0 01-.1-.8zm.2 4.5a2.8 2.8 0 01.1-.8h.1a2.7 2.7 0 00-.1.8h-.1zm-.2 1.2v-.5h.1v.5h-.1zm-.9 2.1l.3-.3a4.6 4.6 0 00.2-.3h.1a4.1 4.1 0 01-.2.4 2.1 2.1 0 01-.3.3v-.1zm-1.2-7v.2-.2zm-2 4.8v-.3.3zm5.2-8.5a4 4 0 00-.2 1c0 .4 0 .7.3.8.3.2.4.4.5.7l.1-.4a1.7 1.7 0 000-.4c0-.1.1 0 .1 0a2.7 2.7 0 01-.1 1h-.1a6.3 6.3 0 01-.1-.2c-.1-.2-.2-.5-.5-.6-.2-.2-.3-.5-.3-.8 0-.4 0-.8.2-1.1zm-.4-1.4v.8a4.3 4.3 0 01-.3.8 2.6 2.6 0 00-.2 1c0 .4.2.8.3 1.1v.1a2.7 2.7 0 01-.2-2.2l.3-.8v-.8h.1zm-2.4 3.5a.8.8 0 000 .5l.1.5a1.6 1.6 0 01-.3-.5 1 1 0 010-.6h.1c.1 0 0 0 0 0zm-1-.4a1.2 1.2 0 01-.2.6.4.4 0 000 .3l.1.3a1 1 0 01-.2-.3.5.5 0 010-.4.8.8 0 00.1-.2 1.2 1.2 0 000-.3h.1zm6.1-9.2a2.5 2.5 0 00.3 1.6l-.4-.8a2.5 2.5 0 010-.8h.1zm-.8.7a4.1 4.1 0 01.6 1.9h-.1a4 4 0 00-.6-1.8h.1zm-3.8.2c-.4.5-.6 1-.6 1.3 0 .4 0 .7.2 1a2.5 2.5 0 010 1.7h-.1l.2-.9a2.4 2.4 0 00-.2-.8l-.2-1c0-.4.2-.8.6-1.4.1 0 .1 0 0 0zm3.6-1.6a.8.8 0 010 .5l-.4.5a.9.9 0 00-.4.5v.7c-.1-.3-.1-.5 0-.8a1 1 0 01.3-.5l.3-.4a.7.7 0 000-.4l.1-.1zm-3.8.4v.7a1.7 1.7 0 01-.4.6c-.2.2-.4.4-.4.7a3 3 0 00-.2.8v-.9a1.4 1.4 0 01.5-.6l.4-.7a1 1 0 000-.6zm2.1 0a.8.8 0 000 .3.6.6 0 00.1.3.7.7 0 01-.2-.2.9.9 0 010-.3h.1zm0-.5a1 1 0 00-.5.4 2 2 0 00-.2.8l.2.6.1.7h-.1a2.6 2.6 0 000-.7 1.3 1.3 0 00-.3-.5c-.4.4-.6.8-.6 1.3a2.8 2.8 0 00.5 1.6 3 3 0 01-.6-1.6c0-.5.2-1 .7-1.4 0-.3 0-.6.2-.8a1 1 0 01.5-.5v.1zm-.7-.8v.1c0 .3 0 .6-.2.8a.9.9 0 00-.3.3v.4h-.1a1.8 1.8 0 010-.4 1 1 0 01.3-.4l.2-.7v-.1h.1zm6 6.5a2.1 2.1 0 01.3.8h-.1a1.5 1.5 0 000-.4 2 2 0 00-.2-.4zm0 2v.6a2.4 2.4 0 01-.2.7l-.2.6h-.1l.2-.6c.2-.2.2-.5.3-.7a1.7 1.7 0 000-.6v-.1zm-1.2-2a2.7 2.7 0 01.7 2.8h-.1a2.6 2.6 0 00-.7-2.6v-.1h.1zm0 2.3a5.7 5.7 0 01-1 1.4 2.7 2.7 0 00-.6 1 1.5 1.5 0 00-.2-.5 2 2 0 00-.2-.5c-.2-.3-.3-.6-.2-.9 0-.3 0-.6.3-.9a2.8 2.8 0 00.3-.6v-.6h.1a2.8 2.8 0 01-.3 1.3l-.3.8c0 .3 0 .6.2.9a2.2 2.2 0 01.3.7 2.8 2.8 0 01.5-.7 5.4 5.4 0 001-1.4zm-3.4-1a3 3 0 000 .7l.4.7c-.1.1-.1 0-.1 0a2.4 2.4 0 01-.3-.6 3.2 3.2 0 01-.1-.8v-.1h.1zm-1.9 1v.3-.3zm.7-1.7a1.5 1.5 0 01-.4 1c-.1 0-.1 0 0 0a1.4 1.4 0 00.2-.5 1.5 1.5 0 000-.5l.1-.1zM291 124a3.5 3.5 0 01-.3-1.9 2.1 2.1 0 01.6-1.1l.5-.7v-1h.1v1l-.6.8a2 2 0 00-.5 1c-.1.5 0 1.1.3 1.9h-.1zm-1-1.3a.8.8 0 000 .4v.4s.1 0 0 0a1 1 0 01-.2-.4.9.9 0 010-.4h.1c.1 0 0 0 0 0zm4.8-3.4l.3.9c0 .3 0 .6-.2 1-.1 0-.1 0 0-.1l.1-.9a1.6 1.6 0 00-.3-.8c0-.1 0 0 0 0zm1.5-1.1a2.6 2.6 0 010 1.7 1.9 1.9 0 00-.2-.7 1.6 1.6 0 00-.5-.6c0-.1 0-.1.1 0a1.7 1.7 0 01.6 1v-.6a2.4 2.4 0 00-.1-.8c0-.1 0 0 0 0zm.9-1.3l.4.8.1 1.1v.5l.1.5a1.1 1.1 0 01-.2-.4 2.4 2.4 0 010-.6 3.8 3.8 0 00-.1-1c0-.4-.2-.6-.4-.8 0-.1 0 0 0 0zm-2.4-.2l-.2.6v.6c-.1.1-.1 0-.1 0a2.2 2.2 0 010-.7c0-.2 0-.4.2-.6h.1v.1zm-4.6 3.1a2.1 2.1 0 01-.4 1.2l-.8.7h-.1c-.1 0 0 0 0 0l.8-.8a2 2 0 00.4-1v-.1zm-.1-1.6v.5a2.3 2.3 0 01-.3.5l.1-.5a1.3 1.3 0 000-.4l.1-.1zm3.1-.2v1.1h-.1V118h.1zm.8-1.4c-.3.3-.4.5-.4.8l.2.8c.3.4.4.8.3 1.2 0 .4-.1.9-.3 1.3h-.1l.3-1.3a2 2 0 00-.3-1.2l-.2-.8c0-.3.1-.6.4-.9.1 0 0 0 0 .1zm-5-8.7l1.2-.5c.4 0 .8 0 1.2.3h.8-.8v.1a3 3 0 01-1.2.7 1.1 1.1 0 01-.9-.2v-.1l.9.2 1-.6a2 2 0 00-1-.2c-.3 0-.7.2-1 .4h-.1z"/>
+  <path d="M290.2 107.8a.3.3 0 010 .6.3.3 0 01-.3-.3c0-.2.1-.3.3-.3zm1.9 1.7l.5-.3a2.3 2.3 0 00.3-.4c.1 0 .1 0 0 0l-.2.5a2.4 2.4 0 01-.5.3h-.1v-.1zm4-1.6a.6.6 0 01.2 0l.4.1v.1h-.1a.7.7 0 00-.3-.1.5.5 0 00-.2 0c-.1-.1 0-.1 0-.1zm-2.3 0a1 1 0 01.4-.4l.7-.1v.1a1 1 0 00-.7.1.8.8 0 00-.3.4h-.1zm.2.4a.5.5 0 01.2-.2.6.6 0 01.3-.2v.1a.5.5 0 00-.3.1.4.4 0 000 .2h-.1zm-3.7 1.3l-.2.3a.9.9 0 000 .3h-.1a1 1 0 01.2-.7c.1 0 .1 0 0 0zm1 .5v.1-.2zm-.6-1.2h.7a1.5 1.5 0 01-.4.1 1 1 0 01-.4 0v-.1zm.7-2a.3.3 0 00-.3 0 .4.4 0 00-.1.2h-.1a.5.5 0 01.2-.3.5.5 0 01.3 0zm-1.2 0a.8.8 0 00-.2.2l-.1.1a.4.4 0 010-.2 1 1 0 01.3-.2v.1zm-.7 0a.9.9 0 00-.1.2.7.7 0 00-.1.2h-.1a.8.8 0 010-.2 1 1 0 01.3-.2zm-.8.8a1.8 1.8 0 00-.4.4h-.1a2.2 2.2 0 01.4-.5c.1 0 0 0 0 0zm0 1l-.1.1-.2.2.1-.2.2-.2zm-.9.2v.4-.4zm1.2 1.5v.6s0 .1-.1 0v-.6c.1 0 .1 0 0 0zm-.7-.5a22.1 22.1 0 010 .4h-.1v-.4h.1zm-.6-4.8a.8.8 0 01.5.5v.1h-.1a.7.7 0 00-.2-.3.7.7 0 00-.2-.2s-.1 0 0 0zm5.5 7.2a1.8 1.8 0 010 1.5v-.8a1.7 1.7 0 00-.1-.6v-.1h.1zm-1.8 2l.3-.6.5-.6a1.9 1.9 0 00.3-1.5v-.1h.1v.9a2 2 0 01-.3.7l-.5.6a2.8 2.8 0 00-.3.7c-.1 0-.1 0 0 0zm-2.3-.5l.2-.3a1 1 0 01.3-.2v.1a.8.8 0 00-.3.2.6.6 0 00-.1.2h-.1zm-.5-.2l.3-.3.4-.2-.3.3-.3.3zm2.5-2.3a.7.7 0 00.2 0 .9.9 0 00.3 0 .8.8 0 01-.6 0zm-1.3-.2l.1-.1h.1a3 3 0 010 .2h-.1v-.1zm25.8 7.4l.2.2v.2c0 .1 0 0 0 0a.8.8 0 00-.1-.1.8.8 0 00-.2-.2c0-.1.1 0 .1 0zM287 132l.4.2.5.1v.1c0 .1 0 0 0 0a1.1 1.1 0 01-.5 0 1.9 1.9 0 01-.5-.4h.1z"/>
+  <g fill="red">
+    <path d="M308.6 106.3a8.8 8.8 0 001.8 0c-.6.3-1.3.6-2 .7a.8.8 0 00.2-.3.5.5 0 000-.4zm-1.5-.1l1.3.1v.3l-.3.3v.2a6 6 0 01-1.3 0 1 1 0 00.3-.5.7.7 0 000-.4zm-11.2-3.3h2.2c.2 0 .4.2.5.4.1.2.2.5.1.8l.1.1h.1l-.1-1a1.1 1.1 0 00-.3-.3h.2c.9 0 1.5.3 2.3.6l.2.6-.4.6c.1.2.2.1.2 0 .2-.1.3-.4.4-.6a.7.7 0 000-.4l1.8 1v.5l-.5.3s-.1 0 0 .1c0 .1 0 .1 0 0 .3 0 .5-.2.7-.3a.7.7 0 000-.5l1.3.6c0 .2.1.3 0 .4 0 .2-.2.3-.4.4v.1c0 .1 0 .1.1 0 .3 0 .4-.2.5-.4a.6.6 0 000-.3l.5.1a8.8 8.8 0 001.4.4.5.5 0 01.1.4.8.8 0 01-.2.4v.2c-1.5-.2-3-1-4.4-1.5l-.5-.2-1.7-.7h-.2v-.1a9 9 0 00-1.5-.4 6.5 6.5 0 00-1.8 0c0-.3 0-.6-.2-.8a1.3 1.3 0 00-.5-.5z"/>
+    <path d="M293.3 103.6a9.3 9.3 0 012.2-.6c.4.1.6.3.7.5.1.2.2.4.1.7a4.5 4.5 0 00-2 .2c-.1-.3-.3-.5-.6-.7a1.3 1.3 0 00-.4 0zm8 4a10 10 0 00-.6-.3 7.4 7.4 0 00-3.3-.9c.4-.4.5-.8.4-1.2a1.8 1.8 0 00-.7-.8l1.1.1a8.7 8.7 0 012 .5c.1.4.2.7.1 1s-.3.5-.6.7c0 0-.1 0 0 0 0 .2 0 .2.1.1.4-.2.6-.5.7-.8v-.9l1 .7 1.2.8c0 .5-.2.7-.4.9h-1v.2z"/>
+    <path d="M303.4 109.3l-2-1.5c.4 0 .8 0 1-.2.3-.1.4-.4.5-.8a16.6 16.6 0 011.7 1.5v.5a.5.5 0 010 .2.6.6 0 01-.3.2 1.9 1.9 0 01-.8 0v.1z"/>
+    <path d="M305.7 110.8a12.3 12.3 0 01-.7-.4l-1.4-1h.7a.8.8 0 00.4-.2.7.7 0 00.2-.4 1 1 0 000-.3 11.4 11.4 0 002.2 1.6c0 .2 0 .4-.3.4l-1 .2h-.1z"/>
+    <path d="M308.1 111.8a12.7 12.7 0 01-2.2-.9c.4 0 .8 0 1-.2.3 0 .5-.2.5-.5l1.3.6v.4c0 .2-.3.3-.5.4 0 0-.1 0 0 .1z"/>
+    <path d="M313.2 111.2h.2c-1.4 1-3.3 1-5.1.6.3-.1.5-.3.6-.5 0-.1.1-.3 0-.4a9.4 9.4 0 001.8.4.4.4 0 01-.1.2l-.5.4s-.1 0 0 0v.2l.7-.4a.6.6 0 00.1-.4 9.6 9.6 0 002.3 0zM302.9 137l-.3.4c-.4.1-.8.3-1.3.3 0 .3.1.4.4.4l.8-.3s-.1.5-.6.8v.2c.4.6 1.4.4 2 .2.4 0 1.1-.5 1.3-1 .1-.1 0-.4-.2-.6-.5 0-.6-.1-.6-.3-.4-.1-1-.2-1.5-.1zm-16.2-5.1l-1.1.6c-.2 0-.6.1-.6.3 0 .1.3.3.4.2.5-.5.8-.2.2.2v.3c.6.5 1.8.6 2.4.3.4-.3.6-.6.2-1v-.2l-.6-.1-.4-.3-.5-.3zm10.7 3.7h-.2c-.2.2.4.1.7.3.2.1.3.3.2.5-.3.7-2 .5-2.5.2-.3-.1-.3-.3-.3-.5a2 2 0 001-.2v-.2h-.2a1.4 1.4 0 01-.5.1h-.5c-.1 0-.2 0-.1-.1h.2l.8-.2v-.2c.6 0 1 .2 1.4.3zm-7.7-.5l-.2.3a2.9 2.9 0 01-1 .7c-.2.1 0 .2.3.4.2.1.4-.2.6-.4.2-.3.3-.2.2 0a2 2 0 00-.2.7c0 .2.6.3.8.3.4 0 .9-.4 1.2-.6.3-.2.3-.5.1-.8a2.1 2.1 0 01-.5 0 3.7 3.7 0 01-.6-.3v-.1l-.7-.2zm3-28.1h.3l.7.1a4.8 4.8 0 011.8-.4 6 6 0 011.8-.2v-.2c.3-.3.4-.6.3-1 0-.2-.4-.5-.8-.7h-1.4c-.3 0-.6 0-.9.2.3 0 .5.2.7.4.2.2.3.6.4 1v.1h-.2a2 2 0 00-.4-1c-.2-.3-.7-.4-.8-.4-.5 0-1 0-1.4.2-.3 0-.5.2-.8.3h1c.2.2.5.5.6.9v.1c0 .1-.2 0-.2 0-.1-.4-.3-.6-.5-.7-.5-.2-1.4 0-1.7.2a4.5 4.5 0 00-.7.7h-.1c.8 0 1.6.1 2.3.4zm-2.4-.5v-.1l.7-.7.7-.3a2 2 0 011-.6l1.5-.2a1.1 1.1 0 00-.6-.6h-.7l-1.7.8h.6v.2c0 .1-.3 0-.4 0a1.4 1.4 0 00-.5 0s0 .1 0 0l-1.4 1.1.7.4z"/>
+  </g>
+  <path fill="#0093dd" d="M351.4 167l22.2-50.1-16.4-26.4-29 10.8-13.6 53a234.2 234.2 0 0136.8 12.8z"/>
+  <path fill="#fff" d="M323.2 120.6a268.7 268.7 0 0142.3 14.7l-8.6 19.3a247.6 247.6 0 00-38.9-13.4z"/>
+  <path fill="red" d="M358.3 151.5l5.7-12.9a265.3 265.3 0 00-41.7-14.4l-3.4 13.2a251.8 251.8 0 0139.6 13.7l-.2.4z"/>
+  <path d="M326.4 134.2c.4-.2.8-.1 1.2 0 .3-.2.7-.2 1.1-.2a2 2 0 01.7-.2v-.3a.7.7 0 01-.2-.4 3 3 0 01-1.1-1.6c-.4 0-.6-.2-.6-.3a35.6 35.6 0 01-.6 0c-.8 0-1-.3-1.3-.5a1 1 0 01-.7-.5l-.2-.3c-.3-.3-.2-.7.2-.7h.7c.2-.2.6-.2 1-.2.3 0 .5-.2.9-.5v-.5c0-.1 0-.2.2-.1.4 0 .7.2.9.5.5.1 1 .3 1.3.8.7 0 1.2.3 1.2.5s-.2.5-.5.7v.1l.4.5 1.1.7c1-.1 2.8.6 5.1 2.1 1.5.3 3 .7 4.4 1.3h1c2.5-.3 5 0 7.2 1.7.8.1 1.6.4 2.4.7a5.8 5.8 0 001.7.4c.9 0 1.8.3 2.7.7 1 .2 2 .6 2.6 1.3.5.5.4 1-.2 1.2-.3.7-1 .7-2 .4-.6 0-1.4-.4-2-1a10 10 0 01-2.7-1.4 3.5 3.5 0 00-1.3-.6h-.9v.2c.3.2.4.5.5.8v1c0 .5.3.8.7 1l1 .5c.3 0 .4.1.4.3l.4 1.8.4.4c.6.4.3 1-.3 1-.5.5-.9.8-1.4.9-.4.1-.6 0-.7-.2a.5.5 0 01-.5-.3c-.5-.4 0-1 1.1-.7 0-.2.2-.2.3-.2a1.6 1.6 0 010-1l-.4-.2a3 3 0 01-1.1-.6c-.6-.6-1.6-1-2.5-1.6-.8 0-1.3-.3-2-.6h-.7c-.3-.1-.5 0-.6.1-.2.3-.5.3-.8.2h-1.2l-.5.1c-.5 0-.9 0-1.1.2-.3.3-.5.2-.7.2a1 1 0 01-.4-.3l-.6-.2c-.5-.2-.6-.3-.6-.4-.6-.2-.3-.7.1-.7l1.5.1c.4.1.9 0 1.2-.2l.6-.6a4.1 4.1 0 01-2-.5c-1.2-.7-2.2-1-3-.3-.2.2-.4.2-.6.1a1.1 1.1 0 00-.6 0l-1.3-.1a4.4 4.4 0 01-2 0c-.6.3-1 .4-1.2.1a9.1 9.1 0 01-.7-.4c-.4 0-.5-.1-.5-.2-.5-.1-.5-.3-.5-.4-.2-.3-.1-.4 0-.6.4-.1.7-.2 1.1 0l.5.4h.7c.2-.2.6-.2 1-.2l.8-.2v-.2c-.5-.1-.7-.4-.9-.8a3.1 3.1 0 01-1.7-.6c-.4 0-.7 0-1-.2h-.8a2.7 2.7 0 01-1.5 0l-.9-.1c-.3.3-.6.4-1 .2a1.6 1.6 0 00-.9-.5c-.3-.1-.4-.2-.4-.4-.4-.2-.3-.4 0-.6.3 0 .6-.1 1.1.1l.5.1z"/>
+  <path fill="#fff" d="M343.1 139.3s-.1-.2-.3 0c-.9 0-1.7 0-2.4-.5-.7-.4-1.4-.8-2.2-.7a2 2 0 01.9-.5 4 4 0 011.5 0c.8 0 1.5.3 2 .5.6.2 1 .4 1.1.7a.4.4 0 00.1 0 3.7 3.7 0 01.9.8h-.8a3 3 0 01-.8-.3z"/>
+  <path d="M345 101.1v.2l1 5.2-4 3.5-.2.1.3.1 5 1.7 1 5.2v.2l.2-.2 4-3.4 5 1.7h.1v-.1l-1-5.2 4-3.5.2-.1-.3-.1-5-1.7-1-5.2v-.2l-.2.1-4 3.5-5-1.7z"/>
+  <path fill="#f7db17" d="M342.5 109.9l3.7-3.2 4.7 1.6zm9-1.7l3.7-3.3 4.6 1.6zm8.4-1.5l-3.7 3.2-4.7-1.6zm-9 1.7l-3.7 3.3-4.7-1.6zm-5.4-6.8l4.6 1.6 1 4.8zm6 6.9l4.6 1.6 1 4.8zm5.4 6.5l-4.6-1.6-1-4.8zm-6-6.9l-4.6-1.6-1-4.8zm3.2-8.1l1 4.8-3.7 3.2zm-3 8.6l1 4.9-3.7 3.2zm-2.9 8l-1-4.8 3.8-3.2zm3-8.6l-1-4.9 3.8-3.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ht.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ht.svg
new file mode 100644
index 0000000..920833a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ht.svg
@@ -0,0 +1,116 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ht" viewBox="0 0 512 512">
+  <path fill="#d21034" d="M0 0h512v512H0z"/>
+  <path fill="#00209f" d="M0 0h512v256H0z"/>
+  <g fill="#f1b517" stroke="#000" stroke-width=".2">
+    <path fill="#fff" stroke="none" d="M175.2 191.6h161.6v128.6H175.2z"/>
+    <path fill="#016a16" stroke="#016a16" stroke-width=".3" d="M288.5 284.6l-33 1-32.8.3s-16.8 6.3-23.7 7.7c-6.9 1.4-6 3.6-11.3 4.8-4.3 1-4.8 1.3-7.3 1.4-1.5.1-3.3 1.3-5.2 2.6v17.8h161.6v-17a31.8 31.8 0 00-5.2-2.1c-2.3-.8-4-1.7-8.2-2.7-5.3-1.2-4.4-3.4-11.3-4.8s-23.6-9-23.6-9z"/>
+    <g transform="translate(-170.7) scale(1.70667)">
+      <g id="a">
+        <path d="M244.5 143.5h1.4l2.6 10.7-.6 3.4-3.4-14z"/>
+        <path fill="#fff" d="M243 136.3l1 8.3h1l-2-8.2z"/>
+        <path d="M245.7 154.6l-4.3-11.5 1.6-.1 5 14-2.3-2.4z"/>
+        <path fill="#fff" d="M239.4 136.5l1.8 8h1.4l-3.2-8z"/>
+        <path d="M241.9 150.6l-2.5-5.5 1-.2 4.7 9-3.2-3.3z"/>
+        <path fill="#fff" d="M236 138.8l2.9 7.6h1.4l-4.2-7.6z"/>
+        <path fill="#0a328c" d="M242.3 151.4l-11.5-12.5c-3.6 2.8-2.9 8-2.9 8l13 10.2 1.3-5.7z"/>
+        <path fill="#d20014" d="M248.9 158.2l-8.5-8.6c-3.6.2-.8 5.5-.6 6.2l9 7.7v-5.3z"/>
+        <path d="M248.1 156.8L230.6 138l-.7.5 18.6 20.6-.4-2.3zm-18.5-20l-.4-.5v-.9l-3.6-2.3 1.6 3.7 1.3.2.3.4.8-.6z"/>
+        <path d="M227.7 138.1a8.4 8.4 0 012.7-2.2l1 1.5-2.2 1.8-1.5-1z"/>
+        <path fill="#0a328c" stroke="#0a328c" d="M225.8 141.3l.6 1c.4-.1 4-3.5 4-3.5h2.7l.7-.9c-2-2-3.7.3-3.7.3l-4.3 3z"/>
+        <path fill="#d20014" stroke="#d20014" d="M228 143c0-1 1.8-3.2 2-3.3 1.3.4 2.5 1.2 3.9-1.8-1.2 1.4-3.5 0-3.5 0l-1 .8v.4l-3 2.8 1.5 1.1z"/>
+        <path fill="#0a328c" d="M237.3 154.7l-14.4-11.4c-2.5 2.5-.4 10.2-.4 10.2l14 7.6.7-6.4z"/>
+        <path fill="#d20014" d="M249.2 164l-11.9-9.6c-4 .6-.8 6.5-.6 7.2l12.5 6.8v-4.5z"/>
+        <path d="M248.7 162l-25.6-19.2-.5.6 26.8 21-.7-2.4zm-26.8-20.2l-.4-.4-.2-.8-4-1.7 2.3 3.3h1.3l.4.4.6-.8z"/>
+        <path d="M220.3 143.4a8.2 8.2 0 012.3-2.6l1.2 1.3-1.8 2.1-1.7-.8z"/>
+        <path fill="#0a328c" stroke="#0a328c" d="M219 146.6v1.1c.4-.2 3.7-3.7 3.7-3.7l2.5-.5.6-.8c-1.8-2.1-3.7.7-3.7.7l-3.2 3.2z"/>
+        <path fill="#d20014" stroke="#d20014" d="M221 148.5c-.2-1 1.2-3.8 1.4-4 1.6.5 3 1.2 3.5-2-1 1.6-3.5.4-3.5.4l-.8 1v.5l-2.5 3.3 1.9.8z"/>
+        <path fill="#0a328c" d="M236.2 161.7a2783.3 2783.3 0 01-18.5-10.5c-1.3 2.3-.1 5.5.5 6 0 1.5-.6 2.3.7 5.5.4 2 1.3 3.9 2.7 5 1.6 6.4 8.2 6.9 10.7 1.6l4-7.6z"/>
+        <path fill="#d20014" d="M248.3 168.5l-12.5-7.3c-4 .5 0 8 .3 8.7l12.2 4.3v-5.7z"/>
+        <path d="M246.2 165.8l-28.3-15-.5.6 30 16.7-1.2-2.3zM216.5 150l-.5-.3-.3-.8-4.1-1 2.7 2.9 1.2-.2.6.3.4-.9z"/>
+        <path d="M215.2 151.8c.4-1 .8-1.9 1.8-3l1.4 1.1-1.4 2.4-1.8-.5z"/>
+        <path fill="#0a328c" stroke="#0a328c" d="M214.1 155.2l.6 1.2 3-4.6 2.5-.9.5-1c-2-1.8-3.5 1.4-3.5 1.4l-3.1 3.9z"/>
+        <path fill="#d20014" stroke="#d20014" d="M216.8 156.8c-.2-1 .5-4.2.7-4.3 1.5.5 2.8.6 3.2-2.6-1 1.5-3.3 1-3.3 1l-.7 1 .1.4-2 4 2 .5z"/>
+      </g>
+      <use width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)" xlink:href="#a"/>
+    </g>
+    <g transform="translate(-170.7) scale(1.70667)">
+      <path fill="#016a16" stroke="#016a16" d="M248.8 125.6l-.5 9h2.9l-.4-9 3-.3-.3-3.6-7.5.3v3.2l2.8.4z"/>
+      <g id="b" fill="#016a16">
+        <path d="M249.8 121.9c-7.8-7.8-13.9-4-15.3-2.9 1 .2 1.8-.4 2.3-.5l-1 1.2s2.5-1 2.8-1c-.4.3-.8 1-.8 1 .2 0 1.6-1.1 1.8-1.1-.4.4-.5 1.5-.5 1.5l1.2-.5c.3.2-.1.6.1.6 2-.2 4.7 1.7 5 2.3"/>
+        <path d="M247.9 123.3c-.8-1.8-15.6-5-18.6.3 1.2.3 2.3-1 2.3-1v1.2l1.9-1.6-.7 1.6 1.5-1.3v1.3l2-2-.3 1.1 1.7-.7-.2 1"/>
+        <path d="M247.2 123.6c-3.8-2.5-9.6-.8-9.6-.8-3.8 2-5.8 1.7-6.2 5.6.3-.1 1.3-1.4 1.3-1.4l.8 1.5.2-2.1.6 1.7 1-2.8.2 1.9 1.4-1.9.6.6.6-1.5.6 1s1-.6 1.5-.3l1-1.2.3.9 1-1 .3.7.9-.8v.6h3"/>
+        <path d="M246.4 124c-2.7 0-10.3 2.9-12.2 5.8a13.3 13.3 0 011.3-.6l.3 1.2.5-1.2.1 1c.3-.8.6-.8 1.2-.1l.2-1.1.3 1 .5-1.1s.3 1.2.5 1.2c0 0 .8-2.2 1.2-2.3l.1 1.4.5-1.4.5 1v-1.4l.6 1s.2-1 .6-1.2l.8.7 3.4-2.5"/>
+        <path d="M246.9 124.7c-3.5 1.3-6.7 6.2-6.4 8.2 1.5-2 1.2-1.7 1.9.6 0 0 .2-2 .5-2.2l.5 1.4.1-1.9h.5l-.1-1.1.7.5c-.2-.7-.3-.9.4-1.5 0 0-1 .1-.2-1.5l.7.6s-.2-.7 0-1l2.6-.8"/>
+        <path d="M247.2 125l-1.3 2.6.7.2-1.6 1.1 1.3-.1s-2 .7-2.2 2.7l2-1s-1.7 1.8-2 2.9l1.3-1s-1.2 1.2-1 3l.9-1c-.2 2.3-.2 2.5.8 4.2 0 0-.2-2.6 0-3l2.3 2.4-1.2-3.3s1.4 2 2.2 1.9l-1.8-2.7 1.8 1.4-2-3 1.8.6s-1.3-1.7-1.2-2.8l1.3 1.4s-.5-1.5-.4-2l.7.1-1.3-1.4.9-.2-.1-1 .6-.1v-1.1m-1.1 0c-2.2 3-1.1 7.5-2.4 9.9"/>
+      </g>
+      <use width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)" xlink:href="#b"/>
+      <path d="M251 166.5s1.1-10 1.1-14.2c0-3.4-.8-10.8-.8-10.8H248s-.5 7.4-.4 10.8c0 4.2 1.1 14.2 1.1 14.2h2.3z"/>
+      <path d="M247.7 142h4l-.5-2.7h-2.9l-.6 2.6z"/>
+      <path d="M248 139.8h3.5l-.7-2.7h-2.2l-.7 2.7z"/>
+      <path d="M248.2 137.7h3l-.6-2.7h-1.9l-.5 2.7z"/>
+      <path d="M250.7 134.7h-2l-.3 1h2.5l-.2-1zm.4 29.7h-2.6m2.8-2h-3m3.4-2h-3.8m4-2.1h-4m4-2.2h-4.1m4.2-2h-4.4m4.4-1.7h-4.6m4.6-2.2h-4.6m4.5-2.1h-4.5m4.3-2.2h-4.1m3.9-2h-3.7"/>
+      <path fill="#0a328c" stroke="#0a328c" d="M250 119c-.8-.3-2.3-1.3-1.9-1.9l.7-1.2c1-2.2 0-1.4 0-2-.2-.8 3.8-.2 3.8 1.3 0 .5-.3.2-.2 2.6l-.8 1.5a3.5 3.5 0 01-1.7-.2z"/>
+      <path d="M250.4 125l-1-.9.3-7.1 1 .3-.3 7.6z"/>
+      <path fill="#d20014" stroke="#d20014" d="M251.7 119.3c.6-.4 1-1.5.6-2.1-1-1.3-1.7-.8-3.4-1.4-.3.4-1 1-.9 1.6 2.3 1 1.4.2 2.2.3.4 0 .6.5 1.5 1.5z"/>
+    </g>
+    <g transform="translate(-170.7) scale(1.70667)">
+      <use width="100%" height="100%" transform="matrix(1 0 0 -1 0 320.4)" xlink:href="#c"/>
+      <path fill="#016a16" stroke="#fff" stroke-linecap="round" d="M238.4 161.8c0 1.2-.9 2.3-1.9 2.3s-1.8-1-1.8-2.4v-1.2h3.7v1.2z"/>
+      <ellipse cx="236.5" cy="160.1" fill="#fff" stroke="none" rx="1.8" ry=".9"/>
+      <path fill="#016a16" stroke="#f1b517" d="M236.1 161l-.3-3.2h1.4l-.2 3.3h-.9z"/>
+      <path id="c" fill="#016a16" stroke="#fff" stroke-linecap="round" d="M238.5 160.1c-.2.5-1 .9-2 .9s-1.7-.4-2-.9a.8.8 0 000 .4c0 .7.9 1.2 2 1.2 1.2 0 2.1-.5 2.1-1.2a.8.8 0 000-.4z"/>
+      <g id="d">
+        <path d="M246 172.8l-7-2.2-3.1-5.3-10.9-.5.4 4 9.3 1.7.8 1.6 10.7 3-.2-2.3z"/>
+        <path fill="#503200" d="M238.7 174.3l-11.2-16.5-.5.5 11 16.4.7-.4z"/>
+        <path fill="#fff" d="M228.6 158.5l-1.2-2c-.3-.4-.6-.5-1.1-.2-.5.2-.4.7-.2 1.1l1 1.9 1.5-.8z"/>
+        <path d="M240 164.1l-22.5-2.3-.6 3.3 22.4 2.3.7-3.3z"/>
+        <path d="M217 161l-.5 4.5h1l.6-4.1-1-.4zm3.8.7l-.2 4.1h.6l.5-3.5-.8-.6zm15.3 1.8l-.6 3.8h1.1l.5-3.8h-1zm3.3.1l-.7 4.4 1.2.2.4-2.3c0 .5.5.8 1 .8.6 0 1-.5 1-1 0-.6-.4-1-1-1a1 1 0 00-1 .6l.3-1.6-1.2-.1zm-8 .7l-3.2 3.5.4.4 4-2.7-1.3-1.2zM224 173l3.1-3.5-.3-.4-4 2.7 1.2 1.2zm8.1-.9l-3.7-2.9-.4.3 3 3.8 1.1-1.2zm-9.3-6.7l3.9 2.8.4-.3-3-3.8-1.3 1.3zm4.2-2.3l.4 4.6h.5l1.2-4.5-2.1-.1zm1.2 11l-.3-4.5h-.6l-.7 4.6h1.6zm5.1-6l-4.8.4v.5l4.8.6V168zm-11.4 1.5l4.7-.7v-.4l-4.8-.5v1.6z"/>
+        <ellipse cx="227.7" cy="168.6" rx="1.3" ry="1.2"/>
+        <path fill-rule="evenodd" stroke-linecap="round" d="M234.4 168.6c0 3.5-3 6.5-6.7 6.5a6.6 6.6 0 01-6.7-6.5c0-3.6 3-6.5 6.7-6.5a6.6 6.6 0 016.7 6.5zm-1.3 0a5.3 5.3 0 01-5.4 5.2 5.3 5.3 0 01-5.4-5.3 5.3 5.3 0 015.4-5.1 5.3 5.3 0 015.4 5.2z"/>
+        <path d="M223.5 165.3l-1-.8m8.5 0l1-1m1 9.2l-1.1-.9m-8.4 1.9l1-1m21.7-10.6l1.1 6-.9.4-1-6.3h.8z"/>
+        <path fill="#fff" d="M245.6 161.4c-.5-.3-1.2.1-2.4-1.3-1.9 1.7 0 2 .2 3.7.5.2.9-1.4 2.3-1.5l2.3-.2-.5-.7h-2z"/>
+        <path fill="#fff" d="M246.4 162.5l-.2-1.7c-.3-.7-1-.1-1 .2l.2 1.7 1-.2z"/>
+        <path fill-rule="evenodd" d="M240.8 167.4v1.6c-.6.2-.5.6-.5 1.2v4.7c-.1.4-.7.4-1 .6-.3.3-.2.8 1 1l1 .1c1.5-.3 1.8-.8 1-1-.3-.2-.9-.4-1-.6v-1.2h1c.2 0 .7-.6.7-1.1v-2.5c0-1.4-1-1.6-1.4-1.5v-1.3h-.8zm1.6 2.7c0-.4-.6-.8-.8-.8-.2 0-.7.5-.7.9v1c0 .4.3 1.6.9 1.7.2 0 .6-.4.6-.8v-2z"/>
+        <path fill="#fff" d="M234.3 172.3c-.7-.2-.7 1.2-.7 1.2h1c.5.2.8.8.6 1.2-.3.2-2.2-.5-2.3 0 .3 1.9 2.9 2.6 3.8 1.8.9-.9 1.1-3-1.8-3.7l-.6-.5zm.6.6l-.3.6"/>
+        <path d="M215 173l-1-4m2.1 3.8l-1.5-3.1m4 2.3l-3.3-1.8m4.8 1.4l-6.2-2.7"/>
+        <path fill="#d20014" stroke="#d20014" d="M210.2 166l-2.6.1c-.2.1.5.9.4 1.1-.6 1.1-4.4 1-4.7.8-.5-.5 3.5-.8 3.6-1 0-.4-.6-1.2-.5-1.7 0-.7 1.7-1 1.7-1l2.1 1.7z"/>
+        <path fill="#503200" d="M213.2 168l-5-4.2s-.3-.2-.5 0 0 .4 0 .4l5.4 4.4.1-.5z"/>
+        <path d="M218.2 172.2l-4.2-3.6-.3-1-.8.6c-.3.2-.6.8-.6.8h1.1l3.6 3.4 1.1-.2z"/>
+        <circle cx="232.5" cy="177.1" r=".7"/>
+        <circle cx="230.6" cy="175.7" r=".7"/>
+        <circle cx="228.1" cy="176.6" r=".7"/>
+        <circle cx="224.2" cy="177.4" r=".7"/>
+        <circle cx="222.5" cy="177.6" r=".7"/>
+        <circle cx="220.8" cy="177.6" r=".7"/>
+        <circle cx="219.2" cy="177.6" r=".7"/>
+        <circle cx="220" cy="176.3" r=".7"/>
+        <circle cx="221.6" cy="176.4" r=".7"/>
+        <circle cx="223.1" cy="176.2" r=".7"/>
+        <circle cx="222.4" cy="175" r=".7"/>
+        <circle cx="220.8" cy="174.9" r=".7"/>
+        <path fill-rule="evenodd" d="M236.5 178c0-.3-.8-.2-.8-.6 0-.4 1.2 0 1.3.3.7-.6 1-.2 1.4 0 .6-.8 1.3-.8 2-.2.4-.4 1.4-.3 1.7.2.7-.6 1.3-.5 1.7 0 .2-.3.5-.3.7 0 .3-.7 1.2-.5 1.6 0 .3-.4.7-.1 1.1.1.3-.2.8-.2.8 0 0 .4-.6.3-.6.6 0 .2.4 0 .4.4 0 .3-.6.4-.7 0-.3.4-1.1.2-1.2-.2a.8.8 0 01-1.2 0c-.3.2-.7.2-.8 0-.5.5-1.4.4-1.7-.2h-.3a1 1 0 01-1.5 0c-.9.6-1.4.4-1.9 0-.5.7-1.4.7-1.5 0-.4.3-1.2.4-1.2 0 0-.2.7-.1.7-.4zm1.6.1c0 .2-.2.3-.4.3s-.4-.1-.4-.3.1-.2.4-.2.4.1.4.2zm1.9-.2c0 .2-.3.3-.6.3s-.5-.1-.5-.3c0-.1.2-.3.5-.3s.5.2.5.3zm3.5.2c0 .2-.2.3-.5.3s-.4-.1-.4-.3c0-.1.2-.3.4-.3s.5.1.5.3zm-1.9 0c0 .2-.2.3-.5.3s-.4-.1-.4-.4c0-.2.2-.4.4-.4s.5.2.5.4zm4 0c0 .1-.1.3-.3.3-.3 0-.5-.2-.5-.4s.2-.3.5-.3c.2 0 .4.1.4.3zm-1.2 0c0 .2 0 .3-.2.3s-.3-.1-.3-.3.1-.2.3-.2l.2.2zm2.4.1c0 .2 0 .4-.3.4-.1 0-.3-.2-.3-.4s.2-.3.3-.3c.2 0 .3.1.3.3z"/>
+      </g>
+      <use width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)" xlink:href="#d"/>
+      <path fill="#0a328c" stroke="#0a328c" d="M249.8 165.7c-2.5 0-4.5 1-4.5 2.1 0 .2 0 .4.2.6.5.6 2.3 1 4.4 1 2 0 3.6-.3 4.2-.9.2-.2.3-.4.3-.7 0-1.1-2-2-4.6-2z"/>
+      <path d="M254.4 168v7c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-7c0 .8 2 1.5 4.5 1.5 2.6 0 4.6-.7 4.6-1.5z"/>
+      <path fill="#d20014" stroke="#d20014" d="M245.3 168v1l2.2 7 1.8-5.4 2 5.5 1.3-5.2 1.8 3.5v-1.9l-1.6-3.4a8.3 8.3 0 01-.6.2l-1 3.8-1.5-3.6a14.5 14.5 0 01-.7 0l-1.5 3.6-1.6-4.4c-.4-.2-.6-.5-.6-.7z"/>
+      <path fill="#0a328c" stroke="#0a328c" d="M254.4 173.7v1.3c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-1.3c0 .9 2 1.5 4.5 1.5 2.6 0 4.6-.6 4.6-1.5z"/>
+      <path d="M251.7 175l-1.1.2v1.3l1.2-.1v-1.3zm-4.8-.1v1.3l1.1.2v-1.3a8.9 8.9 0 01-1.1-.2zm-1.6-1.2v1.3c0 .3.2.5.5.7v-1.3c-.3-.2-.5-.4-.5-.7zm9.1.2c0 .2-.4.5-.8.7v1.3c.5-.2.8-.5.8-.9v-1z"/>
+      <path fill="none" d="M254.4 168v7c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-7"/>
+      <path fill="#fff" stroke="#fff" d="M253.4 167.5c0 .5-1.6 1-3.5 1-2 0-3.6-.5-3.6-1s1.6-.9 3.5-.9c2 0 3.6.4 3.6 1z"/>
+      <path d="M248.7 168.2l.2 1.2h1l.1-1.2h-1.3zm4.1-.3l-1 .2.1 1.2 1-.2V168zm-5.4-2l-.7.3.1 1 .6-.2v-1zm2.4-.3h-.3l.2 1.2h.6l.2-1.2a9.7 9.7 0 00-.7 0zm2.7.4l-.1 1 .7.3v-1a5.3 5.3 0 00-.6-.3zm-6.5 2.8l.2-1.3-1-.5v1.5l.8.3zm8.4-.3v-1.3l-.8.3.8 1zm9.3-8.5c.8 0 2 1 2.1 2.5 0 1-1.7 1-1.7 1 0 .5-1 .9-1.8 1-.8 0 .2-1.5.2-1.5-.5-1.3.2-2.7.2-2.7l1-.3z"/>
+      <path d="M262.5 163h.8s0 .3.2.3.3-.4.3-.4h1.2"/>
+      <path fill="#d20014" stroke="#f1b517" d="M264.1 160.9c.7-.5.1-1.5-.4-1.5h-1c-.6 0-1.4.6-1.3 1 0 .5.4.7.8.6.2 0 .6-.6.8-.6.3 0 1 .6 1.1.5z"/>
+      <path fill-rule="evenodd" d="M214.2 174.8c-.6.1-.7.8-.5 1.5-2.6.7-5 1.7-7.4 2.4-.1-.5 1.2-1.8 1.2-1.8.3.1.6.9.6.9 0-1.6 1.6-2.6 1.6-2.6-1-.2-3.7 1-4 1.4 0 0 1-.2 1.2 0 0 0-2.2 2.3-2.3 3 .4.7 4 1.3 4 1.3 0 .2-1 1-1 1 1.5.2 3.7-.8 4.3-1.4 0 0-1.7-.2-3-1.3 0 0 .2.7 0 1 0 0-2-.6-2.3-1 0 0 5-1.2 7.4-2 .1.5.6 1.3 1.2 1.1.3-.1.2-.8 0-1.4a.8.8 0 00.6.2c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7a.8.8 0 00-.7.5c-.1-.5-.4-1.4-.8-1.3zm2 1.6c0 .2-.2.3-.4.3a.3.3 0 01-.4-.3c0-.2.2-.4.4-.4s.3.2.3.4z"/>
+      <path d="M293 177.9c.2-.4 0-2.2 0-2.2-.5 0-1 .7-1 .7.5-1.6-.8-4-.8-4 .9.1 3.9 3 4 3.6 0 0-1.3-.5-1.5-.4.3 1.5 1.3 2.2 1.7 3 0 0-1.7.3-1.6 1.8h-1.1c-.4-.5.1-1.3.1-1.3l-7.7-3.2c-.5-.2-1.6-.8-1.4-1.4.1-.5 2 .3 2.4.5l7 2.9z"/>
+      <path d="M285.6 176.5l1-1.6c.3-.5-.4-1-.9-.4l-1 1.5c-.4.9.5 1.1 1 .5z"/>
+    </g>
+    <g fill="#fff" stroke-width=".3">
+      <path d="M224.2 307.8l-.1-3-3.8.1-.2 3.4 4.1-.5z"/>
+      <path d="M196.7 312.2l-5-2.8c20.7 1.9 25-5.4 30-5.8 3-.2 3.5 3.4-2.4 1.7l1.5 3.8s-14.8 8.3-29.2 5l5-2zm90.5-4.4v-3h4.7l.2 3.4-5-.4z"/>
+      <path d="M315.6 311.4l4.8-2.6c-23.8.8-18.4-3.9-30.3-5.2-3-.3-5.4 3.7 2.4 1.7l-1.5 3.8h3.7a35 35 0 0026.3 4.1l-5.4-1.8z"/>
+      <path d="M219.2 305.3v5.4s13.2 5 36.7 5c23.6 0 36.7-5 36.7-5v-5.4s-10 4.6-36.7 4.6c-26.6 0-36.7-4.6-36.7-4.6z"/>
+    </g>
+    <path fill="#000" stroke="none" d="M221.1 310.8l1.2-4 .5.2-1 3.4 2 .6-.1.5-2.6-.8zm3.9-1.8v-.8l.2-.6.6.1-.2.7-.3.7h-.3zm5.6-.3l.6.2-.5 2.3c0 .4-.2.7-.4 1l-.6.4a2 2 0 01-1 0 2 2 0 01-1-.4 1.1 1.1 0 01-.3-.6v-1l.5-2.4.6.1-.5 2.3c-.1.4-.1.7 0 .8 0 .2 0 .4.2.5l.5.2h1c.2-.2.3-.5.4-1l.5-2.4zm.6 4.3l.7-4h.6l1.7 3.6.5-3.2.5.1-.7 4h-.5l-1.7-3.6-.5 3.2h-.6zm4.4.7l.6-4h.5l-.6 4h-.5zm1.6-1.8a2.2 2.2 0 01.7-1.5 2 2 0 011.6-.4c.4 0 .7.1 1 .3.3.3.5.5.6.9.1.3.2.7.1 1.1a2.4 2.4 0 01-.4 1c-.2.4-.5.6-.8.7a2.2 2.2 0 01-1 .2 2 2 0 01-1-.4c-.4-.2-.6-.5-.7-.9a2.2 2.2 0 01-.1-1zm.6 0c-.1.6 0 1 .2 1.3.3.3.6.5 1 .5s.8 0 1.1-.3c.3-.3.5-.6.5-1.2a2 2 0 000-.9 1.3 1.3 0 00-.5-.6 1.4 1.4 0 00-.7-.3c-.4 0-.7 0-1 .3-.4.2-.6.7-.6 1.3zm3.9 2.5l.3-4.1h.6l2 3.4.2-3.2h.6l-.4 4.2h-.5l-2-3.5-.3 3.2h-.5zm6 .4l.1-4.1 3 .1-.1.5h-2.3v1.2h2l-.1.5h-2v1.8h-.6zm3 .1l1.8-4h.6l1.7 4.1h-.7l-.5-1.3H252l-.5 1.3h-.6zm1.3-1.6h1.5l-.4-1.1a10.9 10.9 0 01-.3-.9c0 .3-.2.5-.3.8l-.5 1.2zm3.3 1.7v-4.1h.6v4.1h-.6zm2.6 0v-3.6h-1.4v-.5h3.3v.4h-1.4l.1 3.7h-.6zm4.2-.1l-.2-4.1h.6l.1 3.6 2.1-.1v.5h-2.6zm2.9-.1l1.3-4.2h.6l2 3.9h-.6l-.6-1.2-1.8.2-.3 1.2h-.6zm1-1.8h1.5l-.5-1.2a11 11 0 01-.4-.8 5.3 5.3 0 01-.2.8l-.3 1.2zm5 1.3l-.4-4 2.8-.4v.5l-2.2.3.1 1.2 2-.2v.5l-1.9.2.2 1.8-.5.1zm3.2-2.3c-.1-.7 0-1.3.3-1.7a2 2 0 011.4-.8 2 2 0 011 .2c.4 0 .7.3.9.6a2.5 2.5 0 01.3 2.2 1.7 1.7 0 01-.6.8c-.3.2-.7.4-1 .4a2 2 0 01-1.1-.1 1.9 1.9 0 01-.8-.7 2.3 2.3 0 01-.4-1zm.5-.1c.1.5.3.9.6 1 .3.3.7.4 1.1.4.4 0 .8-.3 1-.6.2-.3.3-.7.2-1.3a2 2 0 00-.3-.8 1.3 1.3 0 00-.6-.5 1.4 1.4 0 00-.8-.1 1.4 1.4 0 00-1 .5c-.2.3-.2.8-.1 1.4zm4.5 1.4l-.8-4 1.9-.4h.9c.2 0 .4.1.5.3.2.1.3.3.3.6a1 1 0 01-.2.7c-.1.2-.4.4-.8.5l.4.2.6.4.9 1-.7.1-.7-.7a8 8 0 00-.5-.5 1.3 1.3 0 00-.3-.2.9.9 0 00-.3 0h-1l.4 1.9h-.6zm.1-2.4l1.2-.2c.3 0 .5 0 .6-.2a.6.6 0 00.3-.6.6.6 0 00-.3-.5h-.7l-1.3.2.2 1.3zm6.7-.4h.6c0 .4-.1.8-.4 1.1-.2.3-.6.5-1 .6a2 2 0 01-1.1 0 1.7 1.7 0 01-.9-.7 2.7 2.7 0 01-.4-1v-1.1c0-.4.2-.7.5-.9a2 2 0 011-.4 1.8 1.8 0 011 0c.4.2.7.4.9.8l-.5.2a1.3 1.3 0 00-.6-.5 1.2 1.2 0 00-.7 0c-.4 0-.6.1-.8.3a1 1 0 00-.3.7 2.5 2.5 0 00.4 1.6c.2.3.4.4.6.5.3 0 .5.1.8 0 .3 0 .5-.1.7-.4.2-.2.3-.5.2-.8zm1.6 1l-1.1-3.9 3-.8v.5l-2.4.7.4 1.2 2.2-.6.2.4-2.3.6.4 1.4 2.5-.7.2.5-3 .8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hu.svg
new file mode 100644
index 0000000..94bc29f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/hu.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-hu" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M512 512H0V0h512z"/>
+    <path fill="#388d00" d="M512 512H0V341.3h512z"/>
+    <path fill="#d43516" d="M512 170.8H0V.1h512z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/id.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/id.svg
new file mode 100644
index 0000000..6d2cf09
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/id.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-id" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#e70011" d="M0 0h512v265.5H0z"/>
+    <path fill="#fff" d="M0 256h512v256H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ie.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ie.svg
new file mode 100644
index 0000000..60448a9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ie.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ie" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#009A49" d="M0 0h170.7v512H0z"/>
+    <path fill="#FF7900" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/il.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/il.svg
new file mode 100644
index 0000000..6cb4b1c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/il.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-il" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#fff" d="M619.4 512H-112V0h731.4z"/>
+    <path fill="#00c" d="M619.4 115.2H-112V48h731.4zm0 350.5H-112v-67.2h731.4zm-483-275l110.1 191.6L359 191.6l-222.6-.8z"/>
+    <path fill="#fff" d="M225.8 317.8l20.9 35.5 21.4-35.3-42.4-.2z"/>
+    <path fill="#00c" d="M136 320.6L246.2 129l112.4 190.8-222.6.8z"/>
+    <path fill="#fff" d="M225.8 191.6l20.9-35.5 21.4 35.4-42.4.1zM182 271.1l-21.7 36 41-.1-19.3-36zm-21.3-66.5l41.2.3-19.8 36.3-21.4-36.6zm151.2 67l20.9 35.5-41.7-.5 20.8-35zm20.5-67l-41.2.3 19.8 36.3 21.4-36.6zm-114.3 0L189.7 256l28.8 50.3 52.8 1.2 32-51.5-29.6-52-55.6.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/im.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/im.svg
new file mode 100644
index 0000000..0f487f6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/im.svg
@@ -0,0 +1,36 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-im" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M148.2 0h744.1v744h-744z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="matrix(.7 0 0 .7 -102 0)">
+    <path fill="#ba0000" fill-rule="evenodd" d="M1063 744H0V0h1063z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="3.2" d="M556.6 546.5c.3-1 1-10 .6-10s-13.7-15.8-13.4-15.8 17.2 3.8 17.2 3.2c0-.5 6.8-16.6 6.8-17l8.2 19.7 16.6 7.3-11.7 9.6 2.7 19c0 .3-11.7-11-11.7-11l-13 1.4s-1.7-5.8-2.3-6.4z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="3.8" d="M466 300.7c-11 5.7-53.7 54.5-59.6 62-4.9 11.1-14.5 25-24.4 34-10.5 8-16.4 19-14.9 29.2-.1 12.9 7 21.6 12.8 30.7 3.4 4 8 6.7 12.8 7 10 1.4 10.9 4.4 15.8 6.3 19.7 26.8 49 46.5 70 62a98.8 98.8 0 0126 18.1 47 47 0 014.2 29l-15.6 59c-2.7 16.1 11.3 12.5 12 9.3 6.4-8.2 15.8-2.4 29.2-49.8l18.5-25s7.2-2.8 7.2-3.5c10.8-13 2.5-20.4-3.6-22.8l-13.5-5s-15.7-15.6-16.4-15.6c-7.4-21.7-44-67.9-52.4-74.3a62.1 62.1 0 00-14.3-12.1c-8.5-4.1-11.3-5.5-16.5-7.6-4.4-1.7-1.3-6.5 1.5-8.7 28.9-15.7 51.8-33.2 79.6-51l4.3-2.9-10-57-46.3-16.3c-2.4 1.7-4.2 3.3-6.4 5z"/>
+    <path fill="#ffec00" fill-rule="evenodd" d="M504.7 600.5c.2-.6 29-5.9 29-5.9l-3.5 10.7-28.7 8.6 3.2-13.4z"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M429.6 492a55.1 55.1 0 0131.4-29.7"/>
+    <path fill="none" stroke="#000" stroke-width="3.5" d="M503.7 600.7c1.9-.5 10.1-3 12.5-3.3l7.6-2c2.9-.7 4.6-1.2 7.6-1.7 2.3-1 4.6-1.5 7-2.1m-40 26.9c.3-.3 2.3-2 3.7-2.9 1.7-.5 7.3-3 9.5-3.3l6.8-2c2.5-.6 4-1.2 6.7-1.7a44.3 44.3 0 016.4-2.1"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M510.2 496.2h-.4c1.3 0 .5-.1-1.3 2-.6 1.7-5.9 5.4-9.9 5.4-2 .2-4.9.4-6.8.4-.6 0-1.3-.4-1.9-.4m19.9 77.8h2c2.2 0 4.3.3 6.2.4 2.1 0 4.2.6 6.3.6 2 .3 4.6.2 6.7.5 2.4 0 4.4.5 6.9.5 2 0 3.1.4 5.4.4l-5.4-.4c2 0 3.1.4 5.4.4m-47.6 48c.2-.3 2-2 3.3-2.9 1.5-.5 6.7-2.9 8.7-3.3l6.2-2c2.3-.6 3.8-1.2 6.2-1.7 1.9-.9 3.8-1.5 5.8-2m8.6-60c-1.2 3.4.3 4.3 1 5.7 1 1.4 3.8 3.6 8.2 5l5 1.6c1.3.2 1.9.5 2.9.9M370.8 435.3h.4c-1.3 0-.5.1 1.7-1.6 1.3-1.5 2.4-2.2 3.7-3.7m21 34.8c.2 0 24-12 26.6-14.6 1.8-1.3 3.1-2.6 5.3-4.1 1.4-.7 2.4-1.7 3.7-2.5 1.1-1.6 2.5-2.5 3.3-4 1.5-1.2.9-2.6 2-4.1.6-1.6 1.7-4.2 2-5.7m30.3 17.8c.1.9-.4 3.5-.3 5.5-.1 2.3-3.1 9.5-6.7 11.7"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M428 447.4l9.9 3a145 145 0 0124 13.5c1.5 1.2 4.2 2.3 5.3 3.7 1.6 1.4 2.8 3 4 4.6a30 30 0 013.8 5c4.6 3.7 17 29.5 17.4 31a62.8 62.8 0 012 4.5c1 1 1.6 2.5 2.5 4.1.9 2 1.9 3 3 4.6 1.3 1 3.1 2.7 4.9 3.7 1.8 1.6 3.6 2.2 5 3.3 1.9.8 23.7 14.6 24.7 15.3 2 1.6 8 8 3.8 12.5-1.8 1.5-3.4 3.6-5 4.5a16 16 0 01-5.6 3c-9.8 3-14.8 2-16.7 2h-2m-129-167c2.7 1 1.6.2 4.1 1.4 1.7.7 2.8.7 4.5 1.3 1.7.6 6.6 1.5 9 3.9 1.7 1.5 3 2.8 5 4a34 34 0 006.6 3.4c2.4.9 5 1.9 7.4 2H428h-6 5.8"/>
+    <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="3.2" d="M379.3 426.2c6.2-.4 16.5 1.5 16.7 1.5l13.7-.2c7.1-.7 8.7-3.5 9.9-5.4 2.7-4.1 4.5-5.6 6.6-8.7 3.3-2.5 7.9 3.3 8 3.3 11.7 11 2.4 24.4 1.7 24.9-5.8 5.2-7 5.6-10.5 2.2-3.5-4.1-4.6-6-7.5-7.4-5.5-2.7-17.1-.6-17.3-.6l-6 2.2c-2.9 1-4.7 3.5-9.5 4.4-5 .3-6.7-.2-9.1-4.2-3.4-5.1-1.7-11.3 3.3-12z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="3.2" d="M703.1 175.4c-.9.1-9 4-9 4.3s-7 19.8-7.1 19.5-5.2-17-5.7-16.6c-.5.3-17.8 2.3-18 2.4-.3.2 13-16.7 13-16.7l-1.8-18.1 14.2 5.4L704 144c.2-.1-4 15.7-4 15.7l7.6 10.5s-4.3 4.4-4.5 5.2z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="3.8" d="M533.3 374.8c10.4 6.9 73.8 20.2 83.3 21.6 12-1.2 29 .3 41.6 4.5 12.1 5.3 24.5 5 32.8-1.2 11.2-6.2 15.3-16.8 20.4-26.2 1.9-5 2-10.3-.1-14.7-3.8-9.3-1.5-11.6-2.3-16.8 13.7-30.2 16.5-65.4 19.8-91.5a99.3 99.3 0 013-31.5 46.6 46.6 0 0123.1-17.8l59.2-15.3c15.3-5.6 5.3-16 2.1-15-10.2-1.6-9.8-12.6-57.7-1l-30.8-4s-6-4.8-6.6-4.5c-16.6-3-19 7.8-18 14.3l2.2 14.2s-6 21.3-5.6 22c-15.2 17-37.9 72-39.4 82.5-.6 9.9-4.4 8.1-3.4 17.7 0 7.6-.8 2.9 1.7 18.4.6 4.6-5.1 4.3-8.4 3-27.9-17.6-54.4-29-83.5-44.4l-4.6-2.4-44.7 36.6 8.4 48.4c2.6 1.3 5 2 7.5 3.1z"/>
+    <path fill="#ffec00" fill-rule="evenodd" d="M775.6 194.2c-.6.1-19.3-22.4-19.3-22.4l11-2.2 21.6 20.8-13.3 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M717.9 312.8a55 55 0 01-41.3-12.8"/>
+    <path fill="none" stroke="#000" stroke-width="3.5" d="M776.3 195c-1.3-1.4-7.5-7.4-9-9.4a95.8 95.8 0 00-5.5-5.5l-5.2-5.8a53.9 53.9 0 01-5.2-5.2m43 21.7a21 21 0 01-4.3-1.8c-1.2-1.2-6.1-5-7.5-6.6a79.4 79.4 0 00-5.1-5l-4.8-5a44 44 0 01-4.9-4.5"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M682 240.5l.2.4c-.6-1.1-.3-.4 2.4 0 1.8-.2 7.6 2.6 9.6 6a76 76 0 013.7 5.8c.3.5.3 1.4.6 1.8m58-55.4l-.2-.3-.8-1.5c-1-1.8-1.8-4-2.7-5.6-1-1.8-1.5-3.9-2.5-5.7-.8-2-2.1-4-2.9-6.1-1.1-2.2-1.6-4.1-2.9-6.3-1-1.8-1.2-3-2.3-4.9l2.3 4.9c-1-1.8-1.2-3-2.3-4.9m65.2 18c-.4 0-2.8-.8-4.1-1.5-1.2-1-5.9-4.4-7.2-6a68.3 68.3 0 00-4.8-4.3c-1.7-1.8-2.9-2.8-4.5-4.6a38.3 38.3 0 01-4.7-4M725.7 188c3.6-.6 3.6-2.4 4.5-3.6.7-1.7 1.2-5.2.3-9.7a48 48 0 01-1-5.1c-.5-1.2-.6-2-.7-3m-31.5 225.1l-.2-.3c.7 1 .4.4-2.2-.7-2-.4-3.1-1-5-1.4m20-35.3c-.1-.3-22.2-15.1-25.7-16.1-2-1-4-1.4-6.3-2.6-1.3-.9-2.6-1.3-4-2-1.9-.2-3.4-1-5-1-1.9-.6-2.8.6-4.7.3l-5.8 1m.6-35c.7-.6 3.3-1.4 5-2.5 2-1 9.8-2 13.4.2"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M679.7 336l-2.1-10a145 145 0 010-27.5c.3-2-.1-4.8.6-6.5.5-2.1 1.3-4 2-5.8.8-2.2 1.6-4.1 2.5-5.7 1-5.8 17.4-29.3 18.5-30.3a62.7 62.7 0 013-4c.4-1.4 1.4-2.7 2.4-4.3 1.3-1.7 1.7-3 2.5-4.7.2-1.7.8-4.2.8-6.2.5-2.4.2-4.2.5-6-.3-2 1-27.8 1.2-29 .4-2.5 2.9-10.9 9-9.4 2.2.8 4.8 1.2 6.3 2.1 2.2.6 3.9 2.2 5.5 3.4 7.3 7.1 8.9 12 9.8 13.7l1 1.8M660.8 401l-.2-.4c.5 1 .2.5-.5-1.6l-1-6c-.4-1.9-1.3-4-1-5.2-.7-1.8-.3-3.4 0-5.2.4-2.3.7-3.9.7-6.1.3-2.7 0-4.7.2-7.3-.7-2-.8-3.9-2-6-1-2-1.7-3.9-2.8-6l-2.9-5 2.9 5-2.9-5"/>
+    <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="3.2" d="M685.3 388.9c-3.4-5.2-6.9-15.1-7-15.3l-6.9-11.8c-4-6-7.3-6-9.5-6-5-.4-7.1-1.3-10.8-1.6-3.8-1.6-1-8.4-1.1-8.6 3.9-15.5 20.1-14 20.8-13.6 7.5 2.4 8.4 3.4 7.2 8-2 5.2-3 7-2.9 10.2.4 6.2 7.9 15.3 8 15.5l5 4c2.2 2 5.2 2.4 8.4 6.2 2.7 4.2 3.1 5.9.8 10-2.9 5.4-9 7-12 3z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="3.2" d="M301.2 245.2c.7.6 8.4 5.3 8.6 5s20.3-4.9 20.2-4.6-11.3 13.6-10.8 13.8c.5.3 11.7 13.7 12 13.8l-21.2-1.8-14.2 11.5-3.2-14.9-18-6.4c-.3-.1 15.2-5.3 15.2-5.3l4.6-12s6 1.1 6.8.9z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="3.8" d="M561 278c.1-12.5-23.5-72.9-27.5-81.6a112.3 112.3 0 01-19-37.2c-2.2-13-9.2-23.3-19-26.7-11.3-6-22.4-3.7-33-2.8-5.3 1.1-9.8 4-12.3 8.1-5.7 8.2-8.9 7.6-12.8 11.2-32.8 5-63.8 22-87.4 33.5a98.7 98.7 0 01-28 14.7c-13.3.1-23-6.2-27.6-9.6l-45.2-41c-13-9.8-16.3 4.2-13.8 6.4 4.4 9.4-5 15 30.8 48.8l13.6 28s-.8 7.6-.1 8c6.5 15.5 17 11.6 21.8 7.2l10.7-9.7s21-6.6 21.4-7.3c22.6 3.4 81-7.7 90.6-12.3 8.7-4.8 9.2-.7 16.7-6.8 6.3-4.2 2.9-.9 14.5-11.5 3.5-3 6.4 2 7 5.4.7 33 5.6 61.3 8.6 94.2l.6 5 55.1 17.5 35.9-33.6c-.4-2.9-1-5.3-1.5-8z"/>
+    <path fill="#ffec00" fill-rule="evenodd" d="M277.2 174.2c.5.4-8.1 28.4-8.1 28.4l-7.9-8 5.6-29.5 10.4 9z"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M408 157.5a55 55 0 0112 41.5"/>
+    <path fill="none" stroke="#000" stroke-width="3.5" d="M277.5 173.2c-.4 1.9-2 10.3-2.9 12.6a95.6 95.6 0 00-1.6 7.7l-2 7.5c-.3 2.4-.8 4.8-1.5 7.2m-5.4-47.9c.2.4.8 3 .9 4.6-.3 1.7-.8 7.8-1.5 10a78.7 78.7 0 00-1.2 6.9l-1.7 6.8a44.1 44.1 0 01-1 6.5"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M367.3 227l.1-.3c-.5 1.2 0 .5-1.2-2-1.2-1.4-2-7.8-.2-11.3a71 71 0 012.8-6.3c.2-.5 1-1 1.2-1.4m-78.2-18.2l-.1.3-.8 1.5c-1 2-2.3 3.6-3.2 5.3-1 1.9-2.5 3.4-3.4 5.3-1.2 1.7-2.3 4-3.6 5.7-1.2 2.1-2.5 3.7-3.6 5.9-1 1.8-1.9 2.6-2.9 4.6l2.9-4.6c-1 1.8-1.9 2.6-2.9 4.6m-20.7-64.4c.2.4 1 2.8 1 4.3-.2 1.6-.4 7.3-1 9.2-.4 2.2-.8 4.3-1 6.5L251 178a38.4 38.4 0 01-.8 6m49.2 35.3c-2.5-2.6-4-1.7-5.5-1.8-1.8.3-5 1.8-8.3 5a46.4 46.4 0 01-3.7 3.7c-.7 1-1.3 1.5-2 2.2m205.5-97l-.2.4c.6-1.2.1-.5.7 2.2.7 1.9.8 3.2 1.6 5m-40.6 2.6c-.1.2-.5 26.9.6 30.3.4 2.2 1 4 1.3 6.7 0 1.5.3 2.9.4 4.4 1 1.7 1.1 3.4 2 4.8.5 1.9 2 2 2.8 3.7 1.2 1.2 3 3.4 4.1 4.3m-29.7 18.7c-.8-.3-3-2-4.7-2.8-2-1.2-7-7.1-7.3-11.3"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M448.4 176.7l-7.2 7.3a145.5 145.5 0 01-23 15c-1.8.8-4 2.8-5.8 3-2 .9-4 1.2-6 1.6-2.2.5-4.2 1-6 1-5.5 2.4-34 1.5-35.6 1.2a63.6 63.6 0 01-5-.3c-1.3.3-3 .2-4.8.3-2.2-.2-3.5.2-5.4.5-1.4.7-3.9 1.6-5.5 2.7-2.3.9-3.7 2.1-5.3 2.8a660.6 660.6 0 01-25 15c-2.3 1-10.7 3.5-12.8-2.4-.5-2.3-1.6-4.7-1.7-6.5-.6-2.1-.3-4.4-.1-6.4 2-10 5.1-14 6-15.7l1-1.8m207-37l-.2.3c.5-1 .3-.4-1.1 1.3-1.5 1.2-3.2 3-4.5 4.2-1.3 1.3-2.6 3.1-3.8 3.6-1.2 1.6-2.7 2-4.3 3a29 29 0 00-5.6 2.6c-2.4 1.3-4 2.5-6.2 3.8-1.3 1.8-2.7 2.9-4 5-1 1.9-2.2 3.5-3.3 5.6l-2.7 5.2 2.7-5.2-2.7 5.2m17 106.2l.5-.7c-.7 1.4-.5 1 .2-1.3 0-2.7.6-6 .7-8.5.4-2.5.8-5.3.8-8-.1-3-.1-5.7-.6-8.6 0-2.7-.3-5.5-.4-8.2a35.5 35.5 0 00-.8-7.4 43 43 0 00-.7-6.8c.3-1.9-.2-3.6-.6-5l-1.8-7.5-1.5-6c-.3-2.2-1.5-5-2-7a19.7 19.7 0 01-1.6-5c-.7-1.6-1.6-3.4-2-5.2l-2.2-5.4-2-5.2c-.7-2-1.7-3.7-2.1-5.8-.7-.7-.9-1.4-1.3-2"/>
+    <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="3.2" d="M489.6 143.1c-2.5 5.7-8.9 14-9 14.2l-6 12.2c-2.8 6.7-1 9.4.1 11.3 2.4 4.3 2.9 6.6 4.7 9.9.7 4-6.6 5.5-6.7 5.6-15 5.2-22.7-9.2-22.8-10-2-7.5-1.7-8.8 2.9-10.3 5.3-1.3 7.4-1.3 10-3.2 5-3.7 8.5-15 8.6-15.2l.7-6.3c.4-3-1-5.8.5-10.5 2-4.5 3.2-5.8 8-6.2 6-.5 10.8 3.8 9 8.5z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="3.2" d="M469.8 290.1c-2.2-2 42.8 16.4 49 16.6 8.5-3.1 43.5-32.7 43.5-32.7.3 3 1.6 10.4 5 12-13.6 11-25.8 21.5-39.3 32.5 1 17.4-2.2 35.8 6.6 55.2 0 0-10.6.2-10.6 0-9.3-9.3-12.6-54.2-12.6-54.2L467 300c2.2-1.4 3.9-5.7 3-9.8z"/>
+    <path fill="none" stroke="#000" stroke-width="3.2" d="M512.7 336.1c.8-.5-8 4.2-10.4 5.3-41 21.9-62 53.7-63.3 54.9-.7 1.3-2 3.1-3.2 4.9-1 1.5-2.4 3-3.3 4.5a87.9 87.9 0 01-5.3 6.7c-.2 1 .7-.3.4.3m113.1-102.5c-.8-.4 7.4 5.3 9.5 6.8 38.2 26.4 76 30.7 77.7 31.3 1.6 0 3.8.3 5.9.6 1.7.1 3.7.7 5.5.8 2 .3 6.4 1 8.4 1.7 1-.3-.6-.5 0-.5"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/in.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/in.svg
new file mode 100644
index 0000000..e6557cd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/in.svg
@@ -0,0 +1,25 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-in" viewBox="0 0 512 512">
+  <path fill="#f93" d="M0 0h512v170.7H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <path fill="#128807" d="M0 341.3h512V512H0z"/>
+  <g transform="translate(256 256) scale(3.41333)">
+    <circle r="20" fill="#008"/>
+    <circle r="17.5" fill="#fff"/>
+    <circle r="3.5" fill="#008"/>
+    <g id="d">
+      <g id="c">
+        <g id="b">
+          <g id="a" fill="#008">
+            <circle r=".9" transform="rotate(7.5 -8.8 133.5)"/>
+            <path d="M0 17.5L.6 7 0 2l-.6 5L0 17.5z"/>
+          </g>
+          <use width="100%" height="100%" transform="rotate(15)" xlink:href="#a"/>
+        </g>
+        <use width="100%" height="100%" transform="rotate(30)" xlink:href="#b"/>
+      </g>
+      <use width="100%" height="100%" transform="rotate(60)" xlink:href="#c"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(120)" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="rotate(-120)" xlink:href="#d"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/io.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/io.svg
new file mode 100644
index 0000000..4d809e0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/io.svg
@@ -0,0 +1,140 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-io" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <g fill-rule="evenodd">
+      <path fill="#fff" d="M0 0h1024v512H0z"/>
+      <path fill="#000063" d="M1024 445.2c-11.5 7-21.3 23-51.8 23-61 0-76.2-33.9-122-33.9-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.2-57.9 24.2v43.7c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.6 51.8-16.5v-50.3zm0-84.9c-11.5 7-21.3 23-51.8 23-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.3-57.9 24.3v43.7c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.6 51.8-16.5v-50.3zm0-84.9c-11.5 7-21.3 23-51.8 23-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.3-57.9 24.3v43.7c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.7 51.8-16.6v-50.2zm0-85c-11.5 7-21.3 23.1-51.8 23.1-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.3-57.9 24.3v43.7c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.7 51.8-16.6v-50.2zm0-84.8c-11.5 6.9-21.3 23-51.8 23-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.2-57.9 24.2v43.8c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.7 51.8-16.6v-50.2zm0-85c-11.5 7-21.3 23.1-51.8 23.1-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34C27.4 9.7 18.3 34 0 34v43.8c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.7 51.8-16.6V20.7z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path fill="#000063" fill-rule="evenodd" d="M0 0h261.3v158H0z"/>
+      <path fill="#fff" d="M0 0v17.7L232.1 158h29.2v-17.7L29.3.1H0zm261.3 0v17.7L29.3 158H0v-17.7L232.1.1h29.2z"/>
+      <path fill="#fff" d="M108.9 0v158h43.5V0H109zM0 52.8v52.6h261.3V52.7H0z"/>
+      <path fill="#c00" d="M0 63.2v31.6h261.3V63.2H0zM117.6 0v158h26.1V0h-26.1zM0 158l87.1-52.7h19.5L19.5 158H0zM0 0l87.1 52.7H67.6L0 11.8V.1zm154.7 52.7L241.8.1h19.5l-87.1 52.6h-19.5zM261.3 158l-87-52.7h19.4l67.6 40.9V158z"/>
+    </g>
+    <path fill="#a24300" fill-rule="evenodd" stroke="#fff" stroke-width="6.9" d="M815-301.2l-17.8 708.7c0 37.3 80.1 37.3 88.6 0l-17.7-708.7H815z" transform="matrix(.2064 0 0 .4902 211.6 267.4)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M460.6 549.2l28.7 70.9 42.2-53.2-10.2 88.6 28-35.4-17.8 88.6 25.2-35.5-25.2 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-45.6-88.6 45.6 35.5-53.1-88.6 43 35.4-25.3-88.6 35.4 53.2v-70.9z" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M467.2 584.6l28.9 124v336.7" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.2 885.8l59.9 88.6 60.6-88.6" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M434.5 815l61.6 88.5 60.6-88.5" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M435.4 744.1l60.7 88.6 59.8-88.6" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M432.8 691l63.3 70.8 53.1-70.9" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 637.8l70.9 70.9 45.4-70.9" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.1 593.2l53.2 87 35.3-95.6" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M460.6 549.2l28.7 70.9 42.2-53.2-10.2 88.6 28-35.4-17.8 88.6 25.2-35.5-25.2 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-45.6-88.6 45.6 35.5-53.1-88.6 43 35.4-25.3-88.6 35.4 53.2v-70.9z" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M467.2 584.6l28.9 124v336.7" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.2 885.8l59.9 88.6 60.6-88.6" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M434.5 815l61.6 88.5 60.6-88.5" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M435.4 744.1l60.7 88.6 59.8-88.6" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M432.8 691l63.3 70.8 53.1-70.9" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 637.8l70.9 70.9 45.4-70.9" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.1 593.2l53.2 87 35.3-95.6" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M354.3 531.5l88.6 88.6 17.7-53.2v88.6l35.5-35.4-17.8 88.6 35.5-35.5-17.7 88.6 35.4-35.4-17.7 106.3 35.4-35.4-35.4 106.3 35.4-35.5-17.7 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-53.1-82.3 35.4 11.5-35.4-106.3 35.4 35.4-53.1-106.3 35.4 35.4-53.2-88.6 53.2 35.5-70.9-88.6 53.2 35.4-70.9-70.8 70.9 35.4-53.2-88.6z" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M379 560l64 95.5 17.6 53.2 8.9 45.2 8.8 78.8 9.4 70.9 8.4 141.7" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 903.5l63.7 71 50.7-88.7" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M417 815l70.7 88.5 50.7-88.5" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M407.5 752.4l70.9 80.3 45.9-88.6M372.1 637.8l88.5 70.9 25.9-70.9" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M360.6 602.4l82.3 53.1 10.5-53.1m-63.6 88.5l81 71 34-71" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <g fill-rule="evenodd">
+      <path fill="#c00" stroke="#000" stroke-width="1pt" d="M541.5 1173.3l-1.7-229.1-61.1-107c-15.3-52.6-7.8-78 17-79.8 24.7-1.6 49.2 13.6 84.8 15.3 35.6 1.7 28.9-59.4 81.5-57.7 52.6 1.7 144.3 32.3 222.3 37.4 78.1 5 118.8-27.2 208.8-30.6 90-3.4 113.7 42.4 118.8 42.4s30.6-18.6 56-22c25.5-3.4 34 10.2 34 10.2s-1.7 57.7-13.6 91.6c-11.9 34-54.3 90-56 90-1.7 0-15.3 249.5-15.3 251.2 0 1.7-675.5-6.8-675.5-11.9z" transform="matrix(.13659 0 0 .12573 266.4 208.2)"/>
+      <g stroke="#000" stroke-width="1pt">
+        <path fill="#fff100" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8V584.6z" transform="matrix(-.13659 0 0 .12573 508.4 252.7)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 506.2 252.5)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 508.6 247.4)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 509.9 242.2)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 510.8 236.7)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 510.6 230.7)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 502.7 257)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 508.5 225)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 504 220.5)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 498 217.5)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 492 217.1)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 485.5 217.3)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 479 218.2)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 472.6 219)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 465.6 220)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 459.6 221.6)"/>
+      </g>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 268.6 252.5)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 266.1 247.4)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 264.9 242.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 264 236.7)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 264.2 230.7)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 266.2 225)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 270.6 220.5)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 276.7 217.5)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 282.7 217.1)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 289.2 217.3)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 295.7 218.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 302.2 219)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 309.1 220)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 315.1 221.6)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 272 257)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8V584.6z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04553 0 0 .0479 299.4 309)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04553 0 0 .0479 347.8 309)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 832.7V673.2s35.4 53.2 88.6 53.2c43.5 0 88.6-70.9 88.6-70.9s41.5 53.2 88.6 53.2c42 0 88.5-68.6 88.5-68.6s43.2 68.6 88.6 68.6c45.5 0 88.6-53.2 88.6-53.2s46.3 70.9 106.3 70.9c53.1 0 70.9-53.2 70.9-53.2v159.5H531.5z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7H708.7z" transform="matrix(.13659 0 0 .12573 242.2 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7H708.7z" transform="matrix(-.13659 0 0 .12573 532.5 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7H602.4z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7H602.4z" transform="matrix(.13659 0 0 .12573 314.8 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M584.6 847.5c0-88.6 124.1-159.4 124.1-159.4s124 70.8 124 159.4h-248z" transform="matrix(.13659 0 0 .12573 290.6 250.9)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M1275.6 655.5c-35.4-17.7-166-35.4-376.3-35.4s-350 17.7-385.5 35.4c-35.4 17.7-35.4 53.2 0 70.9 35.4 17.7 175.3 35.4 385.5 35.4s340.9-17.7 376.3-35.4c35.4-17.7 35.4-53.2 0-70.9z" transform="matrix(.13505 0 0 .12573 265.9 275)"/>
+      <path fill="gray" d="M435.8 366.3c0 4.5-40.3 4.5-48.4 4.5-8.8 0-48.4 1.2-48.4-4.5 0-4.4 39.9-4.4 48.4-4.4 8.4 0 48.4.9 48.4 4.4z"/>
+      <path fill="#c00" d="M343.8 350.3c0 1.5-1 2.7-2.4 2.7s-2.4-1.2-2.4-2.7 1-2.6 2.4-2.6c1.3 0 2.4 1.2 2.4 2.6zm92 0c0 1.5-1.1 2.7-2.5 2.7-1.3 0-2.4-1.2-2.4-2.7s1.1-2.6 2.4-2.6c1.4 0 2.4 1.2 2.4 2.6z"/>
+      <path d="M392.2 349c0 1.4-2.2 2.6-4.8 2.6s-4.9-1.2-4.9-2.7 2.2-2.6 4.9-2.6 4.8 1.2 4.8 2.6z"/>
+      <path fill="#006300" d="M415.4 349c0 1.4-1.6 2.6-3.6 2.6s-3.6-1.2-3.6-2.7 1.6-2.6 3.6-2.6 3.6 1.2 3.6 2.6zm-49.8 0c0 1.4-1.6 2.6-3.6 2.6s-3.7-1.2-3.7-2.7 1.6-2.6 3.7-2.6c2 0 3.6 1.2 3.6 2.6z"/>
+      <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.07805 0 0 .07185 279.5 298)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9v248z" transform="matrix(.03903 0 0 .06287 285 307.3)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9v248z" transform="matrix(-.03903 0 0 .06287 489.7 307.3)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 11-35.4 0 17.7 17.7 0 0135.4 0z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.07805 0 0 .07185 279.5 251.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 11-35.4 0 17.7 17.7 0 0135.4 0z" transform="matrix(.13659 0 0 .12573 266.6 206.3)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 655.5h70.9v53.2h-71z" transform="matrix(.13659 0 0 .12573 266.4 208.2)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 683.3h70.9v202.5h-71z" transform="matrix(.13659 0 0 .12573 266.4 208.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 246)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 240.3)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 235)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 229.4)"/>
+      <path d="M392.5 357.5c0 1-2.2 1.8-5 1.8s-4.8-.8-4.8-1.8 2.2-1.8 4.9-1.8 4.9.8 4.9 1.8zm44.6 4.4c-.3.7-2.7.8-5.4.1-2.7-.6-4.6-1.6-4.4-2.3.3-.7 2.7-.8 5.4-.1 2.7.6 4.6 1.6 4.4 2.3zm-18.7-3c0 .9-2.4 1.4-5.2 1.3-2.7-.2-4.9-1.1-4.8-2 .1-.9 2.5-1.4 5.2-1.2 2.8.2 5 1 4.8 1.9zm-81.8 3c.2.7 2.6.8 5.3.1 2.7-.6 4.7-1.6 4.4-2.3-.3-.7-2.7-.8-5.4-.1-2.6.6-4.6 1.6-4.3 2.3zm19.5-3.4c.1.9 2.5 1.4 5.2 1.2 2.8-.2 5-1 4.8-2 0-.8-2.4-1.4-5.2-1.2-2.7.2-4.9 1-4.8 2z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/iq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/iq.svg
new file mode 100644
index 0000000..6b96774
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/iq.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-iq" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <path fill="#ce1126" d="M0 0h512v170.7H0z"/>
+  <path d="M0 341.3h512V512H0z"/>
+  <g fill="#007a3d" transform="translate(-276.6 -99) scale(1.8686)">
+    <path d="M325.5 173.2a5 5 0 01-1.4-1c-.3-.5-.1-.5 1.2-.2 2.3.7 3.8.4 5.3-.8l1.3-1.1 1.5.7c.9.5 1.8.8 2 .7.7-.2 2.1-2 2-2.6 0-.7.6-.5 1 .3.6 1.6-.3 3.5-2 3.9-.7.2-1.4.1-2.6-.3-1.4-.5-1.7-.5-2.4 0a5.4 5.4 0 01-5.9.4zm5.8-5.3a8 8 0 01-1-4c.1-.6.3-.8.8-.6 1 .3 1.2 1 1 3 0 1.8-.3 2.3-.8 1.6zm-67.6-1.9c-.1 1.3 2.4 4.6 3.5 5.2-.8.3-1.7.2-2.4.5-4 4-18.4 18-21 21.4 7.8.2 16.4-.1 23.7-.4 0-5.3 5-5.6 8.4-7.5 1.7 2.7 6 2.5 6.6 6.6v17.6H216a9.7 9.7 0 01-12.3 7.5c2-2 5.4-2.8 6.6-5.7 1-6.4-2-10.3-4-14a24 24 0 007-3.6c-2.3 7 6.2 6.3 12.4 6.1.2-2.4.1-5.2-1.7-5.6 2.3-.9 2.7-1.2 6.6-4.4v9.6l46.1-.1c0-3 .8-7.9-1.6-7.9-2.2 0 0 6.2-1.8 6.2h-35.7v-6c1.5-1.6 1.3-1.5 11.6-11.8 1-1 8.3-7.6 14.6-13.7zm89.1-.3c2.5 1.4 4.5 3.2 7.5 4-.3 1.3-1.5 1.8-1.8 3.1v27c3.4.7 4.2-1.3 5.8-2.3.4 4.3 3.2 8.5 3 12h-14.5v-43.7zm-19.4 14.5s5.3-4.5 5.3-4.7V199h3.8l-.1-26.3c1.5-1.6 4.6-3.8 5.3-5.4v42h-33.4c-.5-8.7-.6-17.7 9.6-15.8V190c-.3-.6-.9.1-1-.7 1.6-1.6 2.1-2 6.5-5.8l.1 15.5h3.9v-18.8zm-12.6 18.6c.7 1 3.2 1 3-.8-.3-1.5-3.5-1-3 .8z"/>
+    <circle cx="224" cy="214.4" r="2"/>
+    <path d="M287 165.8c2.5 1.3 4.5 3.2 7.6 4-.4 1.2-1.5 1.7-1.8 3v27c3.4.7 4.1-1.2 5.7-2.3.5 4.3 3.2 8.6 3.1 12H287v-43.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ir.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ir.svg
new file mode 100644
index 0000000..79f6632
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ir.svg
@@ -0,0 +1,219 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ir" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M186 0h496v496H186z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-192) scale(1.0321)">
+    <path fill="#fff" d="M0 0h868.1v496H0z"/>
+    <path fill="#da0000" d="M0 333.1h868.1v163H0z"/>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M165 340h47.6v3.3H165zm7.1 16.4h3.3v3.2H172zm40.6-.1v3.3h-9.5v-3.3zm5.1-16.3h3.3v19.6h-3.3z"/>
+      <path d="M236.7 356.3v3.3h-18v-3.3zm-33.5-7.6h3.3v10.9h-3.3z"/>
+      <path d="M234 340h3.3v19.6h-3.2zm-8.1 0h3.2v19.6H226zm-43.4 7.8v3.3H165v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M203.2 348.6h3.3v11h-3.3z"/>
+      <path d="M203.2 348.6h3.3v11h-3.3z"/>
+      <path d="M203.2 348.6h3.3v11h-3.3zm-38 0h3.2v11H165zm27.8 0h3.3v11H193zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M195.3 356.3v3.3h-14.7v-3.3zm1-8.5v3.3H187v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M87 340h47.5v3.3H86.9zm7 16.4h3.3v3.2H94zm40.6-.1v3.3h-9.5v-3.3zm5.1-16.3h3.3v19.6h-3.3z"/>
+      <path d="M158.6 356.3v3.3h-18v-3.3zm-33.5-7.6h3.3v10.9H125z"/>
+      <path d="M156 340h3.2v19.6H156zm-8.2 0h3.3v19.6h-3.3zm-43.4 7.8v3.3H87v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M125.1 348.6h3.3v11H125z"/>
+      <path d="M125.1 348.6h3.3v11H125z"/>
+      <path d="M125.1 348.6h3.3v11H125zm-38 0h3.2v11H87zm27.8 0h3.3v11H115zm-13.8 0h3.3v11H101z"/>
+      <path d="M117.2 356.3v3.3h-14.6v-3.3zm1-8.5v3.3H109v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M242.5 340H290v3.3h-47.5zm7 16.4h3.3v3.2h-3.2zm40.6-.1v3.3h-9.5v-3.3zm5.1-16.3h3.3v19.6h-3.3z"/>
+      <path d="M314.2 356.3v3.3h-18v-3.3zm-33.6-7.6h3.3v10.9h-3.3z"/>
+      <path d="M311.5 340h3.3v19.6h-3.3zm-8.2 0h3.3v19.6h-3.3zm-43.4 7.8v3.3h-17.3v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M280.6 348.6h3.3v11h-3.3z"/>
+      <path d="M280.6 348.6h3.3v11h-3.3z"/>
+      <path d="M280.6 348.6h3.3v11h-3.3zm-38 0h3.2v11h-3.2zm27.9 0h3.2v11h-3.2zm-13.9 0h3.3v11h-3.3z"/>
+      <path d="M272.8 356.3v3.3H258v-3.3zm1-8.5v3.3h-9.4v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M789.3 340h47.5v3.3h-47.5zm7 16.4h3.3v3.2h-3.2zm40.6-.1v3.3h-9.5v-3.3zm5.2-16.3h3.2v19.6h-3.2z"/>
+      <path d="M861 356.3v3.3h-18v-3.3zm-33.6-7.6h3.3v10.9h-3.3z"/>
+      <path d="M858.3 340h3.3v19.6h-3.3zm-8.2 0h3.3v19.6H850zm-43.4 7.8v3.3h-17.3v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M827.4 348.6h3.3v11h-3.3z"/>
+      <path d="M827.4 348.6h3.3v11h-3.3z"/>
+      <path d="M827.4 348.6h3.3v11h-3.3zm-38 0h3.2v11h-3.2zm27.9 0h3.3v11h-3.3zm-13.8 0h3.2v11h-3.3z"/>
+      <path d="M819.6 356.3v3.3h-14.7v-3.3zm1-8.5v3.3h-9.4v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M320.4 340h47.5v3.3h-47.5zm7.1 16.4h3.3v3.2h-3.3zm40.6-.1v3.3h-9.5v-3.3zm5-16.3h3.3v19.6h-3.2z"/>
+      <path d="M392.1 356.3v3.3h-18v-3.3zm-33.5-7.6h3.2v10.9h-3.2z"/>
+      <path d="M389.4 340h3.3v19.6h-3.3zm-8.1 0h3.2v19.6h-3.3zm-43.5 7.8v3.3h-17.3v-3.3zm38.1 0v3.3h-17.3v-3.3z"/>
+      <path d="M358.6 348.6h3.2v11h-3.2z"/>
+      <path d="M358.6 348.6h3.2v11h-3.2z"/>
+      <path d="M358.6 348.6h3.2v11h-3.2zm-38.1 0h3.3v11h-3.3zm27.9 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M350.7 356.3v3.3H336v-3.3zm1-8.5v3.3h-9.3v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M398.6 340h47.6v3.3h-47.6zm7.1 16.4h3.3v3.2h-3.3zm40.6-.1v3.3h-9.5v-3.3zm5.1-16.3h3.3v19.6h-3.3z"/>
+      <path d="M470.3 356.3v3.3h-18v-3.3zm-33.5-7.6h3.3v10.9h-3.3z"/>
+      <path d="M467.6 340h3.3v19.6h-3.3zm-8.1 0h3.2v19.6h-3.2zm-43.4 7.8v3.3h-17.4v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M436.8 348.6h3.3v11h-3.3z"/>
+      <path d="M436.8 348.6h3.3v11h-3.3z"/>
+      <path d="M436.8 348.6h3.3v11h-3.3zm-38 0h3.2v11h-3.3zm27.8 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M429 356.3v3.3h-14.7v-3.3zm.9-8.5v3.3h-9.3v-3.3z"/>
+    </g>
+    <path fill="#239f40" d="M0 0h868.1v163H0z"/>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M477.3 340h47.5v3.3h-47.5zm7.1 16.4h3.3v3.2h-3.3zm40.6-.1v3.3h-9.5v-3.3zm5-16.3h3.4v19.6H530z"/>
+      <path d="M549 356.3v3.3h-18v-3.3zm-33.5-7.6h3.2v10.9h-3.2z"/>
+      <path d="M546.3 340h3.3v19.6h-3.3zm-8.1 0h3.2v19.6h-3.2zm-43.4 7.8v3.3h-17.4v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M515.5 348.6h3.2v11h-3.2z"/>
+      <path d="M515.5 348.6h3.2v11h-3.2z"/>
+      <path d="M515.5 348.6h3.2v11h-3.2zm-38.1 0h3.3v11h-3.3zm27.9 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M507.6 356.3v3.3h-14.7v-3.3zm1-8.5v3.3h-9.3v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M555.5 340h47.6v3.3h-47.6zm7.1 16.4h3.3v3.2h-3.3zm40.6-.1v3.3h-9.5v-3.3zm5.1-16.3h3.3v19.6h-3.3z"/>
+      <path d="M627.2 356.3v3.3h-18v-3.3zm-33.5-7.6h3.3v10.9h-3.3z"/>
+      <path d="M624.6 340h3.2v19.6h-3.2zm-8.2 0h3.3v19.6h-3.3zm-43.4 7.8v3.3h-17.4v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M593.7 348.6h3.3v11h-3.3z"/>
+      <path d="M593.7 348.6h3.3v11h-3.3z"/>
+      <path d="M593.7 348.6h3.3v11h-3.3zm-38 0h3.2v11h-3.3zm27.8 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M585.8 356.3v3.3h-14.6v-3.3zm1-8.5v3.3h-9.3v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M633.8 340h47.5v3.3h-47.5zm7 16.4h3.3v3.2h-3.3zm40.6-.1v3.3H672v-3.3zm5.1-16.3h3.3v19.6h-3.3z"/>
+      <path d="M705.5 356.3v3.3h-18v-3.3zm-33.6-7.6h3.3v10.9h-3.3z"/>
+      <path d="M702.8 340h3.3v19.6h-3.3zm-8.2 0h3.3v19.6h-3.3zm-43.4 7.8v3.3h-17.4v-3.3zm38 0v3.3H672v-3.3z"/>
+      <path d="M672 348.6h3.2v11h-3.3z"/>
+      <path d="M672 348.6h3.2v11h-3.3z"/>
+      <path d="M672 348.6h3.2v11h-3.3zm-38.2 0h3.3v11h-3.3zm28 0h3.2v11h-3.3zm-13.9 0h3.3v11h-3.3z"/>
+      <path d="M664 356.3v3.3h-14.6v-3.3zm1-8.5v3.3h-9.3v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M712.4 340H760v3.3h-47.6zm7.1 16.4h3.3v3.2h-3.3zm40.6-.1v3.3h-9.5v-3.3zm5.1-16.3h3.3v19.6h-3.3z"/>
+      <path d="M784.1 356.3v3.3h-18v-3.3zm-33.5-7.6h3.3v10.9h-3.3z"/>
+      <path d="M781.5 340h3.2v19.6h-3.2zm-8.2 0h3.3v19.6h-3.3zm-43.4 7.8v3.3h-17.4v-3.3zm38 0v3.3h-17.3v-3.3z"/>
+      <path d="M750.6 348.6h3.3v11h-3.3z"/>
+      <path d="M750.6 348.6h3.3v11h-3.3z"/>
+      <path d="M750.6 348.6h3.3v11h-3.3zm-38 0h3.2v11h-3.3zm27.8 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M742.7 356.3v3.3h-14.6v-3.3zm1-8.5v3.3h-9.3v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M8 340h47.5v3.3H7.9zm7 16.4h3.3v3.2H15zm40.6-.1v3.3H46v-3.3zm5.1-16.3H64v19.6h-3.3z"/>
+      <path d="M79.6 356.3v3.3h-18v-3.3zm-33.5-7.6h3.3v10.9H46z"/>
+      <path d="M77 340h3.2v19.6H77zm-8.2 0H72v19.6h-3.2zm-43.4 7.8v3.3H8v-3.3zm38 0v3.3H46.1v-3.3z"/>
+      <path d="M46 348.6h3.4v11H46z"/>
+      <path d="M46 348.6h3.4v11H46z"/>
+      <path d="M46 348.6h3.4v11H46zm-38 0h3.3v11H8zm28 0h3.2v11h-3.3zm-14 0h3.4v11H22z"/>
+      <path d="M38.2 356.3v3.3H23.5v-3.3zm1-8.5v3.3h-9.3v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M165 139h47.6v3.2H165zm7.1 16.3h3.3v3.2H172zm40.6 0v3.2h-9.5v-3.3zm5.1-16.3h3.3v19.5h-3.3z"/>
+      <path d="M236.7 155.2v3.3h-18v-3.3zm-33.5-7.6h3.3v11h-3.3z"/>
+      <path d="M234 139h3.3v19.5h-3.2zm-8.1 0h3.2v19.5H226zm-43.4 7.7v3.3H165v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M203.2 147.6h3.3v11h-3.3z"/>
+      <path d="M203.2 147.6h3.3v11h-3.3z"/>
+      <path d="M203.2 147.6h3.3v11h-3.3zm-38 0h3.2v11H165zm27.8 0h3.3v11H193zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M195.3 155.2v3.3h-14.7v-3.3zm1-8.4v3.2H187v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M87 139h47.5v3.2H86.9zm7 16.3h3.3v3.2H94zm40.6 0v3.2h-9.5v-3.3zm5.1-16.3h3.3v19.5h-3.3z"/>
+      <path d="M158.6 155.2v3.3h-18v-3.3zm-33.5-7.6h3.3v11H125z"/>
+      <path d="M156 139h3.2v19.5H156zm-8.2 0h3.3v19.5h-3.3zm-43.4 7.7v3.3H87v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M125.1 147.6h3.3v11H125z"/>
+      <path d="M125.1 147.6h3.3v11H125z"/>
+      <path d="M125.1 147.6h3.3v11H125zm-38 0h3.2v11H87zm27.8 0h3.3v11H115zm-13.8 0h3.3v11H101z"/>
+      <path d="M117.2 155.2v3.3h-14.6v-3.3zm1-8.4v3.2H109v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M242.5 139H290v3.2h-47.5zm7 16.3h3.3v3.2h-3.2zm40.6 0v3.2h-9.5v-3.3zm5.1-16.3h3.3v19.5h-3.3z"/>
+      <path d="M314.2 155.2v3.3h-18v-3.3zm-33.6-7.6h3.3v11h-3.3z"/>
+      <path d="M311.5 139h3.3v19.5h-3.3zm-8.2 0h3.3v19.5h-3.3zm-43.4 7.7v3.3h-17.3v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M280.6 147.6h3.3v11h-3.3z"/>
+      <path d="M280.6 147.6h3.3v11h-3.3z"/>
+      <path d="M280.6 147.6h3.3v11h-3.3zm-38 0h3.2v11h-3.2zm27.9 0h3.2v11h-3.2zm-13.9 0h3.3v11h-3.3z"/>
+      <path d="M272.8 155.2v3.3H258v-3.3zm1-8.4v3.2h-9.4v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M789.3 139h47.5v3.2h-47.5zm7 16.3h3.3v3.2h-3.2zm40.6 0v3.2h-9.5v-3.3zm5.2-16.3h3.2v19.5h-3.2z"/>
+      <path d="M861 155.2v3.3h-18v-3.3zm-33.6-7.6h3.3v11h-3.3z"/>
+      <path d="M858.3 139h3.3v19.5h-3.3zm-8.2 0h3.3v19.5H850zm-43.4 7.7v3.3h-17.3v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M827.4 147.6h3.3v11h-3.3z"/>
+      <path d="M827.4 147.6h3.3v11h-3.3z"/>
+      <path d="M827.4 147.6h3.3v11h-3.3zm-38 0h3.2v11h-3.2zm27.9 0h3.3v11h-3.3zm-13.8 0h3.2v11h-3.3z"/>
+      <path d="M819.6 155.2v3.3h-14.7v-3.3zm1-8.4v3.2h-9.4v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M320.4 139h47.5v3.2h-47.5zm7.1 16.3h3.3v3.2h-3.3zm40.6 0v3.2h-9.5v-3.3zm5-16.3h3.3v19.5h-3.2z"/>
+      <path d="M392.1 155.2v3.3h-18v-3.3zm-33.5-7.6h3.2v11h-3.2z"/>
+      <path d="M389.4 139h3.3v19.5h-3.3zm-8.1 0h3.2v19.5h-3.3zm-43.5 7.7v3.3h-17.3v-3.2zm38.1 0v3.3h-17.3v-3.2z"/>
+      <path d="M358.6 147.6h3.2v11h-3.2z"/>
+      <path d="M358.6 147.6h3.2v11h-3.2z"/>
+      <path d="M358.6 147.6h3.2v11h-3.2zm-38.1 0h3.3v11h-3.3zm27.9 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M350.7 155.2v3.3H336v-3.3zm1-8.4v3.2h-9.3v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M398.6 139h47.6v3.2h-47.6zm7.1 16.3h3.3v3.2h-3.3zm40.6 0v3.2h-9.5v-3.3zm5.1-16.3h3.3v19.5h-3.3z"/>
+      <path d="M470.3 155.2v3.3h-18v-3.3zm-33.5-7.6h3.3v11h-3.3z"/>
+      <path d="M467.6 139h3.3v19.5h-3.3zm-8.1 0h3.2v19.5h-3.2zm-43.4 7.7v3.3h-17.4v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M436.8 147.6h3.3v11h-3.3z"/>
+      <path d="M436.8 147.6h3.3v11h-3.3z"/>
+      <path d="M436.8 147.6h3.3v11h-3.3zm-38 0h3.2v11h-3.3zm27.8 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M429 155.2v3.3h-14.7v-3.3zm.9-8.4v3.2h-9.3v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M477.3 139h47.5v3.2h-47.5zm7.1 16.3h3.3v3.2h-3.3zm40.6 0v3.2h-9.5v-3.3zm5-16.3h3.4v19.5H530z"/>
+      <path d="M549 155.2v3.3h-18v-3.3zm-33.5-7.6h3.2v11h-3.2z"/>
+      <path d="M546.3 139h3.3v19.5h-3.3zm-8.1 0h3.2v19.5h-3.2zm-43.4 7.7v3.3h-17.4v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M515.5 147.6h3.2v11h-3.2z"/>
+      <path d="M515.5 147.6h3.2v11h-3.2z"/>
+      <path d="M515.5 147.6h3.2v11h-3.2zm-38.1 0h3.3v11h-3.3zm27.9 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M507.6 155.2v3.3h-14.7v-3.3zm1-8.4v3.2h-9.3v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M555.5 139h47.6v3.2h-47.6zm7.1 16.3h3.3v3.2h-3.3zm40.6 0v3.2h-9.5v-3.3zm5.1-16.3h3.3v19.5h-3.3z"/>
+      <path d="M627.2 155.2v3.3h-18v-3.3zm-33.5-7.6h3.3v11h-3.3z"/>
+      <path d="M624.6 139h3.2v19.5h-3.2zm-8.2 0h3.3v19.5h-3.3zm-43.4 7.7v3.3h-17.4v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M593.7 147.6h3.3v11h-3.3z"/>
+      <path d="M593.7 147.6h3.3v11h-3.3z"/>
+      <path d="M593.7 147.6h3.3v11h-3.3zm-38 0h3.2v11h-3.3zm27.8 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M585.8 155.2v3.3h-14.6v-3.3zm1-8.4v3.2h-9.3v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M633.8 139h47.5v3.2h-47.5zm7 16.3h3.3v3.2h-3.3zm40.6 0v3.2H672v-3.3zm5.1-16.3h3.3v19.5h-3.3z"/>
+      <path d="M705.5 155.2v3.3h-18v-3.3zm-33.6-7.6h3.3v11h-3.3z"/>
+      <path d="M702.8 139h3.3v19.5h-3.3zm-8.2 0h3.3v19.5h-3.3zm-43.4 7.7v3.3h-17.4v-3.2zm38 0v3.3H672v-3.2z"/>
+      <path d="M672 147.6h3.2v11h-3.3z"/>
+      <path d="M672 147.6h3.2v11h-3.3z"/>
+      <path d="M672 147.6h3.2v11h-3.3zm-38.2 0h3.3v11h-3.3zm28 0h3.2v11h-3.3zm-13.9 0h3.3v11h-3.3z"/>
+      <path d="M664 155.2v3.3h-14.6v-3.3zm1-8.4v3.2h-9.3v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M712.4 139H760v3.2h-47.6zm7.1 16.3h3.3v3.2h-3.3zm40.6 0v3.2h-9.5v-3.3zm5.1-16.3h3.3v19.5h-3.3z"/>
+      <path d="M784.1 155.2v3.3h-18v-3.3zm-33.5-7.6h3.3v11h-3.3z"/>
+      <path d="M781.5 139h3.2v19.5h-3.2zm-8.2 0h3.3v19.5h-3.3zm-43.4 7.7v3.3h-17.4v-3.2zm38 0v3.3h-17.3v-3.2z"/>
+      <path d="M750.6 147.6h3.3v11h-3.3z"/>
+      <path d="M750.6 147.6h3.3v11h-3.3z"/>
+      <path d="M750.6 147.6h3.3v11h-3.3zm-38 0h3.2v11h-3.3zm27.8 0h3.3v11h-3.3zm-13.8 0h3.3v11h-3.3z"/>
+      <path d="M742.7 155.2v3.3h-14.6v-3.3zm1-8.4v3.2h-9.3v-3.2z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M8 139h47.5v3.2H7.9zm7 16.3h3.3v3.2H15zm40.6 0v3.2H46v-3.3zm5.1-16.3H64v19.5h-3.3z"/>
+      <path d="M79.6 155.2v3.3h-18v-3.3zm-33.5-7.6h3.3v11H46z"/>
+      <path d="M77 139h3.2v19.5H77zm-8.2 0H72v19.5h-3.2zm-43.4 7.7v3.3H8v-3.2zm38 0v3.3H46.1v-3.2z"/>
+      <path d="M46 147.6h3.4v11H46z"/>
+      <path d="M46 147.6h3.4v11H46z"/>
+      <path d="M46 147.6h3.4v11H46zm-38 0h3.3v11H8zm28 0h3.2v11h-3.3zm-14 0h3.4v11H22z"/>
+      <path d="M38.2 155.2v3.3H23.5v-3.3zm1-8.4v3.2h-9.3v-3.2z"/>
+    </g>
+    <path fill="#d90000" stroke-width="1pt" d="M119.3 329h5.9v10h-5.9zm155.5 0h5.9v10h-5.9zM0 329h5.8v10H0zm78.9 0h5.9v10h-5.9zm78.4 0h5.8v10h-5.8zm38.8 0h5.8v10h-5.8zm39.5 0h6v10h-6zm78 0h5.9v10h-5.9zm196.8 0h5.8v10h-5.8zm-157.2 0h5.9v10h-5.9zm38.8 0h5.9v10H392zm39.2 0h5.8v10h-5.8zm39.2 0h5.8v10h-5.8zm313 0h6v10h-6zm-235 0h5.8v10h-5.9zm39.5 0h5.9v10h-5.9zm40 0h5.9v10h-5.9zm37.6 0h5.9v10h-5.9zm40 0h5.9v10h-6zm39.2 0h5.8v10h-5.8zm116 0h5.8v10h-5.9zm-37.6 0h5.8v10h-5.8zm-783.8 0h5.9v10h-5.9z"/>
+    <path fill="#239e3f" stroke-width="1pt" d="M119.3 157.6h5.9v10.1h-5.9zm155.5 0h5.9v10.1h-5.9zM0 157.6h5.8v10.1H0zm78.9 0h5.9v10.1h-5.9zm78.4 0h5.8v10.1h-5.8zm38.8 0h5.8v10.1h-5.8zm39.5 0h6v10.1h-6zm78 0h5.9v10.1h-5.9zm196.8 0h5.8v10.1h-5.8zm-157.2 0h5.9v10.1h-5.9zm38.8 0h5.9v10.1H392zm39.2 0h5.8v10.1h-5.8zm39.2 0h5.8v10.1h-5.8zm313 0h6v10.1h-6zm-235 0h5.8v10.1h-5.9zm39.5 0h5.9v10.1h-5.9zm40 0h5.9v10.1h-5.9zm37.6 0h5.9v10.1h-5.9zm40 0h5.9v10.1h-6zm39.2 0h5.8v10.1h-5.8zm116 0h5.8v10.1h-5.9zm-37.6 0h5.8v10.1h-5.8zm-783.8 0h5.9v10.1h-5.9z"/>
+    <g fill="#da0000">
+      <path d="M457 191.4c8.3 10 33.5 65.5-15.2 101.9-22.9 17.2-8.7 18-8 21 36.8-19.6 48.8-46 48.5-69.8-.3-23.7-12.8-44.6-25.2-53.1z"/>
+      <path d="M462 188.8a71 71 0 0115 108.8c26.4-5.8 60-83.7-15.2-108.8zm-55.9 0a71 71 0 00-15 108.8c-26.5-5.8-60.1-83.7 15-108.8z"/>
+      <path d="M411 191.4c-8.2 10-33.5 65.5 15.2 101.9 22.9 17.2 8.7 18 8 21-36.7-19.6-48.8-46-48.5-69.8.3-23.7 12.9-44.6 25.3-53.1z"/>
+      <path d="M480.7 309.2a102 102 0 01-46-9c2.2 4.3 4 7 6.3 11.4 12.8 1.1 30.5 2.6 39.7-2.4zm-92 0c14.4.2 32.6-2 46-9-2.2 4.3-4 7-6.3 11.4-12.8 1.1-30.5 2.6-39.7-2.4zm26.4-134.4c3 7.7 10.6 8.9 18.8 4.3 6 3.6 15.2 3.8 18.4-4 2.4 19.2-17.8 14.7-18.5 11-7.5 7.2-21.5 3-18.7-11.3z"/>
+      <path d="M434.4 321.3l7.6-8.7 1-116.4-9-8-9 7.6 1.8 117.2 7.6 8.3z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/is.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/is.svg
new file mode 100644
index 0000000..08d1e68
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/is.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-is" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M85.4 0h486v486h-486z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="0" clip-path="url(#a)" transform="translate(-90) scale(1.0535)">
+    <path fill="#003897" d="M0 0h675v486H0z"/>
+    <path fill="#fff" d="M0 189h189V0h108v189h378v108H297v189H189V297H0V189z"/>
+    <path fill="#d72828" d="M0 216h216V0h54v216h405v54H270v216h-54V270H0v-54z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/it.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/it.svg
new file mode 100644
index 0000000..615c58f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/it.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-it" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#009246" d="M0 0h170.7v512H0z"/>
+    <path fill="#ce2b37" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/je.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/je.svg
new file mode 100644
index 0000000..c63ccb2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/je.svg
@@ -0,0 +1,29 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-je" viewBox="0 0 30 30">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M6.2 0h18v18h-18z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-10.33354 0) scale(1.6667)">
+    <path fill="#fff" d="M0 0h30v18H0z"/>
+    <path fill="#df112d" fill-rule="evenodd" d="M0 0v1.2L13 9 0 16.8V18h2l13-7.8L28 18h2v-1.2L17 9l13-7.8V0h-2L15 7.8 2 0H0z"/>
+    <g transform="translate(.4) scale(.12217)">
+      <path fill="#e8112d" stroke="#000" stroke-width=".1" d="M132.7 22.2c3.1 12.8 1.4 28.6-12.9 37.4-14.2-8.8-16-24.6-12.8-37.4 3.4-3 18.6-4.9 25.7 0z"/>
+      <path fill="#f9dd16" stroke="#000" stroke-width=".1" d="M119.8 19.7a26 26 0 0113 3.1 28 28 0 014.9-12.1c-2.5 0-3.6 1.3-3.6 2.6-.6-1.7-3-1.6-3.8-.7 2.7 1.8.6 5-1.8 4.4-1.1-.3-1.7-1.1-2-2.3a1.3 1.3 0 10-.5 0 2.9 2.9 0 01-3.1 1.3c-1.3-.3-1.9-1.5-1.9-2.5 0-2.7 2.6-3.1 3.4-2.6 0-1.8-2.9-3.3-3.8-1.8a4.8 4.8 0 00-.8-5.8A4.8 4.8 0 00119 9c-.9-1.5-3.7 0-3.7 1.8.7-.5 3.3-.1 3.3 2.6 0 1-.6 2.2-1.8 2.5a3 3 0 01-3.2-1.3 1.3 1.3 0 00.6-.4 1.3 1.3 0 10-1.1.4c-.2 1.2-.9 2-2 2.3a2.4 2.4 0 01-1.8-4.4c-.8-1-3.2-1-3.8.7 0-1.3-1.1-2.6-3.6-2.6a28 28 0 015 12.1 26 26 0 0113-3.1z"/>
+      <g id="b" stroke="#000">
+        <g fill="#f9dd16" stroke-width=".1">
+          <path d="M130.7 32.2c-.4 0-.4.5-.5.5.8 0 1.2-.3 1.4-.7v.6c.6-.2.8-.7.6-1l.7.2c-.4-.3-.1-1-.8-1.4.2 0 .6.2.8.5-.1-.7-.2-1.1-.8-1.5h.5a.9.9 0 01-.4-.8c0-.4-.2-.4-.6-.3l-1.8.1c-1 0-2 0-2.8-.6 1.3.6 3-.6 3-1.5 0-1-1.4-2-4-1.4-2.6.6-5.8.4-5.8-.5s2.3-1 3.5-.8c1.2.2 2 .3 4.2-.5-.5.2-2.3.3-3.7-.1s-4.8-.4-4.8 1.4c0 1.9 3.6 1.7 6.8 1.2 1.8-.2 2.8 0 2.8.5 0 .6-1.7.8-3 .7a10 10 0 00-4.1.3c-1.3.4-2.2 0-3.6.3-.7 0-2.4 0-3.2-1.4-.5.4-2 1.1-2.3 1.9-.3.6 0 1.3.4 2 .6.8-.3.7-1 .7-.8 0-2 0-2.6-.8-.6-.6-1.3-1.1-1.9-.7-.3.3 0 .6.2.5l.8.2a1 1 0 00-1 .1c-.3.2 0 .6.3.5.2-.1.7-.2 1 0-.3 0-.7 0-.8.2s0 .4.3.4c.6 0 .7.4 1.3.3a.9.9 0 00-.7.4c.6-.3 1.1.4 1.8.2-.2.1-.7.4-.7.6.4-.5 3.2.4 3.2-.7l-.1.8c.3-.2 1.4-.3 1.8-1 0 .2 0 .5-.2.6.3 0 .8-.2 1.3-.9.2-.3.2-.5.2-.7.5 0 .8-.1 1.2-.4.4-.3.8.3 1.5-.2.6-.4 1.2 0 1.6-.2.3-.2.8 0 1.2-.2s1 .1 1.6-.4c1 .4 2.3 1 5.2.5 1.6-.3 2.2.3 2.2 1 0 .6-.4.6-.6.6-1 .1-1.3-.3-1.7-.2-.2.1-.4.5 0 .7-.3.1-.3.4-.1.5s.5 0 .8-.1c-.4.1-.7.4-.5.7.1.2.4.3.7 0 .3-.4.8-.7 1.2-.7zm-18.6-8c-.8-.3-1-.3-.9.4 0 .3.3.7.5.9 0-.3.1-1 .4-1.2z"/>
+          <path d="M114.8 24.3c.8-.4 1.1-.4.9.3 0 .3-.3.7-.5.9 0-.3 0-1-.4-1.2z"/>
+          <path d="M113.5 23.8c1.6 0 1.8.8 1.7 1.7 0 1-.5.6-.8 2-.1.4-.5.5-1 .5-.3 0-.7 0-.9-.6-.3-1.3-.8-1-.8-2 0-.8.2-1.6 1.8-1.6z"/>
+          <path d="M109.4 27.5c-.4-.2-.7 0-.9 0 .6.1.6.8 1.8 1-.3 0-.4.2-.7 0 .5.4 1 .9 2.2.9.7 0 .2.3-.2.1.4.5 1.3.1 1.9 1 0-.7-1-1.7-.5-2.4-1.7-.1-1.8-1-2.7-1.7-.8-.6-.9-1.2-1.2-2.3-.1-.5-.7-.8-1-.7-.3 0-.5.3-.2.5.2.2.6.2.6.7-.3-.4-.8-.5-1-.3-.1.2 0 .5.2.5.5 0 .2.6.7 1-.5-.5-.9-.6-1.2-.3-.1.2 0 .5.4.5.5 0 1 1.2 1.8 1.5zm13 4.6c-.2 0-.1.5-.5.5.8 0 1.3-.2 1.6-.5l-.2.5c.4-.3 1.5-.4 2-.3s.6-.1.8-.4c.2-.4 0-.6-.3-.8-.3-.3-.4-.7-.3-1.3-1.4-2-4-1-4-.2.9 1.1 1 1 1.8 1.1.7.2 1.2.2.7.6-.2.2-1 0-1.5.1-1.3 0-2-.9-2.3-.4-.3.4 0 .6.6.6-.4 0-1 0-.9.4.2.7.8-.1 1.1.1-.2 0-.6.1-.6.3 0 .2.5.5 1 0a1.6 1.6 0 011-.3z"/>
+        </g>
+        <path fill="none" stroke-width=".1" d="M123.5 29.2c-.4-.2-.9-.3-1.4-.2m-5.6 0c-.4.8-.2 1.2-.1 1.6m-4-5.6c.2.2.4-.2.8.2-.1-.1-.3.3-.6 0m2-.1c-.3 0-.5-.3-.9.1.1-.1.3.3.6 0m-.6 0v.3c.1.7.3 1-.3 1-.5 0-.3-.3-.2-1v-.3"/>
+        <path fill="#ff0016" stroke-width=".1" d="M113.5 27.7c.4 0 .6 0 .6-.6 0-.2.3-.3.1-.7.2.4-.7.4-.7.2 0 .2-1 .2-.8-.2-.1.4.2.5.1.7 0 .6.2.6.7.6z"/>
+        <path stroke-width=".1" d="M113 26.5l-1-.3m1 .3h-1m1 .1l-.9.3m1.7-.4l1-.3m-1 .3h1.2m-1.2.1l1 .3"/>
+        <path fill="#0051ba" stroke-width="0" d="M108.1 23.4c-.3-.4-1 0-1 .4.2-.3.6.1.9 0 .1 0 .3-.2.1-.4zm-.3.9c-.3-.4-1.1 0-1.1.4.2-.3.6.1.9 0 .1 0 .3-.3.2-.4zm-.2 1.2c-.4-.4-1.1 0-1 .5.2-.3.6 0 .8 0 .2-.1.3-.4.1-.5zm.3 3.7c-.4-.4-1 .1-1 .6.2-.4.7 0 1-.2 0 0 .2-.3 0-.5zm0 .7c-.5-.1-1 .6-.7 1 0-.5.6-.3.8-.5l-.1-.5zm.6.7c-.5-.2-1 .4-.7.8 0-.3.6-.2.7-.4v-.5zm11.7 1.1c-.5-.1-1 .5-.7 1 0-.5.6-.3.8-.5l-.1-.5zm.6.6c-.5-.1-.9.6-.6 1 0-.5.6-.4.7-.6.1-.1.1-.4 0-.4zm-.4-1.4c-.4-.2-1 .4-.9.8.2-.4.7-.1.9-.3V31zm8.3 1c-.4-.1-.8.6-.6 1 0-.4.6-.3.8-.5 0-.2 0-.5-.2-.5zm0-.7c-.4-.3-1 .3-.8.7.2-.3.7-.1.9-.3v-.5zm.4 1.3c-.5 0-.9.7-.6 1 0-.4.6-.3.7-.5.1-.2 0-.4-.1-.5zm-15.6-5.2c.3 0 .4.1.4.7 0 1 0 1.6-.4 1.6-.3 0-.3-.5-.3-1.3 0-.4 0-.7-.1-.6 0-.3.1-.4.4-.4z"/>
+      </g>
+      <use width="30" height="18" transform="matrix(.9 0 0 .9 11.6 13.7)" xlink:href="#b"/>
+      <use width="30" height="18" transform="matrix(.67 0 0 .75 39.2 27.5)" xlink:href="#b"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jm.svg
new file mode 100644
index 0000000..c261da0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jm.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-jm" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path d="M0 0l256 256L0 512zm512 0L256 256l256 256z"/>
+    <path fill="#090" d="M0 0l256 256L512 0zm0 512l256-256 256 256z"/>
+    <path fill="#fc0" d="M512 0h-47.7L0 464.3V512h47.7L512 47.7z"/>
+    <path fill="#fc0" d="M0 0v47.7L464.3 512H512v-47.7L47.7 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jo.svg
new file mode 100644
index 0000000..ab1c62a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jo.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-jo" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M113.6 0H607v493.5H113.6z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-117.8) scale(1.0375)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path d="M0 0h987v164.5H0z"/>
+      <path fill="#fff" d="M0 164.5h987V329H0z"/>
+      <path fill="#090" d="M0 329h987v164.5H0z"/>
+      <path fill="red" d="M0 493.5l493.5-246.8L0 0v493.5z"/>
+      <path fill="#fff" d="M164.8 244l22 10.6h-24.5l5.5 24-15.3-19.3-15.3 19.2 5.5-23.9H118l22.1-10.7-15.3-19.1 22.1 10.6 5.5-23.9 5.5 24 22-10.7z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jp.svg
new file mode 100644
index 0000000..dc7a64a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/jp.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-jp" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M177.2 0h708.6v708.7H177.2z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-128) scale(.72249)">
+    <path fill="#fff" d="M0 0h1063v708.7H0z"/>
+    <circle cx="523.1" cy="344.1" r="194.9" fill="#d30000" transform="translate(-59.7 -34.5) scale(1.1302)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ke.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ke.svg
new file mode 100644
index 0000000..0b82f3a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ke.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ke" viewBox="0 0 512 512">
+  <defs>
+    <path id="a" stroke-miterlimit="10" d="M-28.6 47.5l1.8 1 46.7-81c2.7-.6 4.2-3.2 5.7-5.8 1-1.8 5-8.7 6.7-17.7a58 58 0 00-11.9 14.7c-1.5 2.6-3 5.2-2.3 7.9z"/>
+  </defs>
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path d="M0 0h512v153.6H0z"/>
+  <path fill="#060" d="M0 358.4h512V512H0z"/>
+  <g id="b" transform="matrix(3.2 0 0 3.2 255.8 256)">
+    <use width="100%" height="100%" stroke="#000" xlink:href="#a"/>
+    <use width="100%" height="100%" fill="#fff" xlink:href="#a"/>
+  </g>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 511.7 0)" xlink:href="#b"/>
+  <path fill="#b00" d="M255.8 102.4c-19.2 0-51.2 51.2-60.8 76.8H0v153.6h195c9.7 25.6 41.7 76.8 60.9 76.8 19.2 0 51.2-51.2 60.8-76.8H512V179.2H316.6c-9.6-25.6-41.6-76.8-60.8-76.8z"/>
+  <path id="c" d="M316.6 332.8a220 220 0 0016-76.8 220 220 0 00-16-76.8 220 220 0 00-16 76.8 220 220 0 0016 76.8"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 511.7 0)" xlink:href="#c"/>
+  <g fill="#fff" transform="matrix(3.2 0 0 3.2 255.8 256)">
+    <ellipse rx="4" ry="6"/>
+    <path id="d" d="M1 5.8s4 8 4 21-4 21-4 21z"/>
+    <use width="100%" height="100%" transform="scale(-1)" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="scale(1 -1)" xlink:href="#d"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kg.svg
new file mode 100644
index 0000000..71ee7b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kg.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kg" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M104 0h416.3v416.3H104.1z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-128) scale(1.23)">
+    <path fill="#be0027" d="M0 0h625v416.3H0z"/>
+    <path fill="#ff0" d="M189.8 212.3c11.1-13.5 34.1-.3 52.9-10-22.3 1.2-34.4-10.7-52-9 18.2-11.2 33.7 3.6 54.1-2.4-27-2.2-25.8-14.3-50.3-16 21.8-9.3 32.5 9.6 53.9 5.3-25.2-5.8-28.5-20.6-47.2-23.8 27.3-4.1 25.5 12 52.3 14-27.2-11.6-20-21.8-42.8-30.6 25.5-.6 23.8 17 49.5 21.6-22-14-19.3-26.8-37.5-36.8 21.6.4 23.7 22.5 45.7 29.3-19.6-15.5-14.5-28.7-31.4-42.6 21.4 5 18.3 24.1 40.6 36.2-16.5-18.3-10.2-31.5-24.6-46.6 20.6 6.7 12.8 24.8 34.2 42-12.3-20.2-4.7-33.1-16.8-50.2 19.2 10 9.9 28.4 27.7 46.8-8.4-20.7 0-33.6-8.6-52 16.4 12.3 6.7 32 19.9 50.9-4.8-26 6.4-30.3 2.9-53 12.4 15.3-1.5 30.6 8 53-1-25.5 12.5-31.5 10.1-52 12.4 18.4-6.9 34.4 1.2 54.1 2-24.3 18-30.5 18.3-49.4 9.7 17.3-11.5 29.8-8 52.8 6.9-25.4 23.9-28.5 26-45.6 5.8 20-17.4 29.4-16 51.6 6.9-22.5 28.1-25.2 32.5-41.8 2.6 21.2-18.3 25-24.1 48.4 11-19 30.2-20.7 38.8-35.8-.7 21-24.3 23.7-31.5 43.4 13.6-16.7 30.6-13.8 44.2-28.6-1.4 19-25.4 17.9-38.2 37.5 14.8-13.6 37-9.5 48.3-21.2-.6 16.7-30 15.5-44 30.4 17.2-9.3 38.9-3.8 51.5-12.6C427 184.3 396 181 381 192.4c20.5-5.7 36.3 3 53-3.3-8.1 14.3-36.3 5.3-51.3 14.6 17.8-3 36.7 7.7 52.9 4.3-5.3 12.3-36.2-.8-53 7 20-.3 33 12.5 51.4 11.6-10 11.2-37.2-4.2-53-1.6 19.3 4 34 20 48.7 20.8-12 9.2-34.5-11.8-52.8-9.1 18.8 5 34.6 26.4 45.4 26.9-11.6 8-34.6-18.3-50.3-17.4 19 8.7 27.8 30.5 40.4 33.6-15.5 5-30.8-23.7-47.5-24.7 19.3 12.2 20.4 30.8 35.3 39-15.6 4-26.8-28.5-43.3-31.2 15.9 11.6 18.2 36.5 28.8 44.4-16 .8-21.7-33.1-38-38 14 11.7 10.6 37 21.4 47.9-16.5-3.4-14.4-33-31.7-43 12.4 15.8 6 38.1 14.2 50.7-16.2-6.5-9.1-33-24.6-48 8.4 16.8-.6 36.3 6 52.5-14.7-7.2-4.8-38.5-16.1-51 5.2 19.4-4.4 35.4-.5 52.7-15.1-17.5 2.3-35-10.8-53 3.4 20.6-10.9 34.8-8.6 52-12-14 6.4-36.5-2.9-54.1 2 20.1-16.5 37.7-15.2 50.4-9.7-16.2 10.8-35.4 5.3-53.9-1.2 19.2-19.8 29.6-23.3 47-6.3-19.2 15.9-33.1 14-52-6.4 18-24.4 25.2-30.8 42.6-5.2-19.2 21.1-29.4 21.8-49.6-8.1 19-29.7 23.1-36.8 37.6-2.7-19 27.5-27.6 28.6-45.7-9.7 17.4-33.3 18-41.5 31.9-1.2-19 30.6-21.4 35.6-41.3-9.7 14.8-35.6 13-46.3 25 1.7-17.7 36-18.8 41.5-34.6-12.8 12.3-36.5 7.2-50 17 7.5-17.4 39.8-13.7 47-26.3-14.2 7.5-39.5.3-52 7.7 11.4-16.4 36.5-6.6 50.7-18-23.1 3.4-37-5.8-53-1.5z"/>
+    <path fill="#ff0" d="M393.4 208.2a80.7 80.7 0 11-161.3 0 80.7 80.7 0 01161.3 0z"/>
+    <path fill="#be0027" d="M383 208.4a70.1 70.1 0 11-140.2 0 70.1 70.1 0 01140.3 0z"/>
+    <path fill="#ff0" d="M373.3 208.5a60.2 60.2 0 11-120.5 0 60.2 60.2 0 01120.5 0z"/>
+    <path fill="#be0027" d="M261.8 169c16.7-.3 37.4 1.2 51.1 12.2a79 79 0 0149.2-11.7l9 16.4c-13-1.3-25.7.5-40.7 6.6a69.3 69.3 0 0128.1 58.6c-2.2 2.8-5.6 5.8-7.8 8.5 3.2-23.1-9-49-26.8-62.6 14.4 20.9 23 39.6 20.6 65.5l-8.2 5.1c3.8-22.8-1.5-49.5-18.4-65a87.5 87.5 0 0113.4 65.8c-2.6.8-6.6 3-9.3 3.8a78 78 0 00-8.8-64 77.6 77.6 0 00-8.5 63.4l-8.6-2.5c-4.6-24.5 1.8-52 12.9-66.4-11.3 6.6-22 34.7-19 63.4l-7.6-3.5c-3.7-21.4 6-49.3 20-65.4-15.8 10-28.7 34.4-26.4 60.7-2.4-2.1-4.7-3.2-7.1-5.3-2.8-23 10.5-46.1 26-60a87.6 87.6 0 00-40.6-6.7c2.5-5.3 5-11.5 7.5-16.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kh.svg
new file mode 100644
index 0000000..8c888f1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kh.svg
@@ -0,0 +1,61 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-kh" viewBox="0 0 512 512">
+  <path fill="#032ea1" d="M0 0h512v512H0z"/>
+  <path fill="#e00025" d="M0 128h512v256H0z"/>
+  <g fill="#fff" stroke="#000" transform="matrix(1.28 0 0 1.28 6 -556.7)">
+    <g stroke-linejoin="bevel">
+      <path d="M139 623.5h113.8v43.8H139z"/>
+      <path d="M247 647.6h3.5v16.5H247zm-108-8.1h113.8v5H139zm0-7h113.8v4.6H139z"/>
+      <path stroke-width=".9" d="M139 625.7h113.8v4.3H139z"/>
+      <path d="M169 647.6h3.6v16.5H169zm49 0h3.6v16.5H218zm-78 0h3.5v16.5H140zm7 0h3.5v16.5H147zm7.5 0h3.5v16.5h-3.5zm7.5 0h3.5v16.5H162zm62.8 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6z"/>
+      <path stroke-linejoin="miter" d="M94.5 669.5a9.3 9.3 0 004.4-5.3H292a9.3 9.3 0 004.4 5.3z"/>
+    </g>
+    <path d="M193 556.8s-.1-4.1 2.3-4.2c2.3 0 2.2 4.2 2.2 4.2zm-12.5 54.5v-5.5c0-2.8-2.8-3-2.8-5 0 0-.4-3 .4-4.4 1.1 4 3 3.3 3 1.6 0-1.4-1-2.8-3.3-6.3-.8-1.1-.3-4.6.7-5.9.4 3 .9 4.5 2.2 4.5.8 0 1.4-.5 1.4-2 0-2-1.3-3-2-4.8a5 5 0 011.1-5.3c.5 3 .4 4.2 1.7 4.2 2.7-.9 0-4.8-.6-5.8-.6-1.1 1-3.4 1-3.4.8 2.7 1 2.9 2 2.6 1.2-.3 1-2-.4-3.4-.9-1-.8-2.3.2-3.3 1 1.9 2.2 1.8 2.3.6l-.8-4.4H204l-.9 4.3c-.2 1.2 1.4 1.5 2.4-.5 1 1 1.1 2.4.2 3.3-1.4 1.4-1.6 3.1-.4 3.4 1 .3 1.2 0 2-2.6 0 0 1.5 1.5 1 3.4-.6 1-3.3 5-.6 5.8 1.3 0 1.2-1.2 1.7-4.2a5 5 0 011 5.3c-.6 1.8-2 2.8-2 4.8 0 1.5.7 2 1.5 2 1.3 0 1.8-1.4 2.2-4.5 1 1.3 1.5 4.8.7 6-2.3 3.4-3.4 4.8-3.4 6.2 0 1.7 2 2.4 3-1.6.9 1.4.5 4.4.5 4.4 0 2-2.7 2.2-2.8 5v5.5zm7.2-46l-.4-3.1h15.9l-.4 3.1zm1-3.2l-.2-2.5H202l-.3 2.5zm2.3-2.6l-.3-2.6h9l-.1 2.6zm33 110c-2-.7-5-2.9-5-5v-24.3l2.6-3.4H169l2.5 3.4v24.3c0 2.1-2 4.3-4 5z"/>
+    <path stroke-linejoin="bevel" d="M178.2 647.6h3.6v16.5h-3.6zm30.4 0h3.6v16.5h-3.6z"/>
+    <path d="M168 609.2v27.6h54v-27.6a4.2 4.2 0 00-2.6 2.8v11.8h-48.7V612s-.6-2-2.8-2.8z"/>
+    <path d="M214.6 669.5c-1.8-.7-5.6-2.9-5.6-5v-27.2c.4-1.5 2.4-2.4 3.7-3.4H177c1.7 1 3.6 1.7 4.3 3.4v27.2c0 2.1-3 4.3-4.8 5z"/>
+    <path d="M219.4 634.2v-19.6h-4.9v-1.9h-38.8v2h-5v19.5zM207 669.5c-1.8-.7-4.3-2.9-4.3-5v-23.2l1.4-2.1h-17.7l1.5 2v23.3c0 2.1-2.6 4.3-4.3 5z"/>
+    <path d="M190.7 639.2h9v30.3h-9z"/>
+    <path stroke-linejoin="bevel" d="M204.4 632.5c0-2 5.8-2.1 8.8-3.8h-36c3 1.7 8.7 1.8 8.7 3.8l1.2 3.9 15 .6z"/>
+    <path d="M211.4 611.3c0-4.9.2-6.7 1.7-6.7V620c-3.7 1.4-6.3 6-6.3 6h-23.2s-2.6-4.6-6.3-6v-15.5c1.8 0 1.8 2 1.8 6.7zm1.7-2c0-5.6 4.9-6.2 4.9-6.2v5c-1.9-.1-2.8 1.6-2.8 4 0 2.5 1.5 2.5 1.5 2.5v14.2h-3.6z"/>
+    <path d="M177.3 609.3c0-5.6-4.9-6.2-4.9-6.2v5c1.9-.1 2.8 1.6 2.8 4 0 2.5-1.5 2.5-1.5 2.5v14.2h3.6z"/>
+    <g fill="none" stroke-width=".8">
+      <path d="M186.8 570.6H204m-19.2 5.4h21m-23 6.5h24.9m-27 7.9h29.5m-30.2 9h30.4"/>
+      <path stroke-width="1" d="M170.8 629h48.6m-33.2 0h18v6.6h-18z"/>
+    </g>
+    <path d="M184 614.2c3 3.6 2.6 9.7 2.6 13.3H204c0-3.6-.4-9.7 2.6-13.3zm9.7-41l-2.4-1.3v-3.5c1 .3 2 .4 2.2 2 .3-2.3 1-2.1 1.9-3 1 .9 1.5.7 1.9 3 0-1.6 1.2-1.7 2.1-2v3.5l-2.3 1.2z"/>
+    <path d="M193.5 578.9l-4-2.8V573c1.5.3 3 .5 3.2 2.2.4-2.5 1.3-3.7 2.7-4.7 1.3 1 2.2 2.2 2.7 4.7.1-1.7 1.7-1.9 3-2.2v3.2l-3.9 2.7z"/>
+    <path d="M193.2 587.8l-4.5-4v-4.7c1.6.4 3.4.6 3.6 3.1.5-3.5 1.5-5.4 3-6.8 1.6 1.4 2.6 3.3 3.2 6.8.2-2.5 2-2.7 3.6-3.1v4.7l-4.6 4zm8.4 5.3l-4 5.7h-4.7l-4.1-5.7zm-15.2 9.5c2 1.1 2.8 3.4 3 7.6H201c.2-4.2 1-6.5 3-7.6z"/>
+    <path stroke-linejoin="bevel" d="M204.2 593v-5.6a5.2 5.2 0 00-3.8 3.3c0-2-2.5-6.3-5.2-8.5-2.7 2.4-5.3 6.4-5.2 8.4-.5-1.5-1.8-2.7-3.8-3.2v5.7z"/>
+    <path stroke-linejoin="bevel" d="M205 602.6V597c-2.1.6-3.5 1.7-4.1 3.3 0-2-2.7-6.3-5.7-8.5-3 2.5-5.8 6.4-5.7 8.5-.5-1.5-2-2.7-4.1-3.3v5.7z"/>
+    <path stroke-linejoin="bevel" d="M207.4 614.3v-6.6a9.6 9.6 0 00-5.1 3.8c0-3.5-4-9-7.1-10.7-3.2 1.8-7.1 7.4-7.1 10.7a9.7 9.7 0 00-5.2-3.8v6.6z"/>
+    <path stroke-linejoin="bevel" d="M206 629v-6.8c-2.4.9-3 3.1-3.8 4.7.3-6.9-3.8-14.2-7-16.1-3.2 1.9-7.4 9.4-7 16-.8-1.4-1.5-3.7-3.8-4.6v6.7z"/>
+    <path d="M204.4 639.2v-6.8c-2.5.6-2.6 1.5-3.4 3 .3-4.1-2.6-8.8-5.8-10.6-3.2 1.8-6 6.5-5.8 10.6-.8-1.5-.9-2.4-3.4-3v6.8z"/>
+    <g id="a">
+      <path d="M99 664.2v-20.4c-.7-2.6-3-5-4.6-5.4v-18l3.7 2 4.3 18.9v23z"/>
+      <path d="M99 664.3v-20.5c-.7-2.6-3-5-4.6-5.4v-19.2c2.5 0 3.7 3.2 3.7 3.2l4.3 18.9v22.9z"/>
+      <path d="M96.3 669.5c1.7-.7 4.2-2.9 4.2-5v-25.6l-1.2-2H143l-1.7 2v25.6a6 6 0 003.4 5z"/>
+      <path d="M135.8 669.5c-1.7-.7-4.2-2.9-4.2-5v-24.3l3.6-3.4h-29.6l3.6 3.4v24.3c0 2.1-2.5 4.3-4.2 5z"/>
+      <path d="M131.7 669.5c-1.7-.7-4.3-2.9-4.3-5v-22l2.4-3.3H111l2.4 3.3v22c0 2.1-2.5 4.3-4.3 5z"/>
+      <path d="M116 639.2h8.9v30.4h-9z"/>
+      <path stroke-linejoin="bevel" d="M103.7 647.6h3.6v16.5h-3.6zm30.8 0h3.5v16.5h-3.6zm-33.9-27.8h4.4v17h-4.4zm0-3.2h4.3v3.2h-4.3zm35.6 6.9h6.1v13h-6.1z"/>
+      <path d="M104.9 636.6v-29c1.2 0 1.4 4.3 4.2 4.3 1.5 0 1.4-1.8.5-3.2-.7-1.3-1.6-3-.4-6.3.9 2.5 3.1 3.3 2.7 1.8-.7-2.7-2.8-3.2-1.2-7.3.5 3.4 2.7 3.3 2.2 1.3-.6-2.3-1.9-3.3-.3-6.5.9 3.7 2 3.5 2 1.2 0-3.4 0-7 4.2-8.3 0 0 .3-3 1.9-3 1.5 0 1.8 3 1.8 3 4.3 1.3 4.2 5 4.2 8.3 0 2.3 1.1 2.5 2-1.2 1.6 3.2.3 4.2-.3 6.5-.5 2 1.7 2.1 2.2-1.3 1.6 4.1-.5 4.6-1.2 7.3-.4 1.5 1.8.7 2.7-1.8 1.2 3.3.3 5-.4 6.3-.8 1.4-1 3.2.5 3.2 2.8 0 3-4.2 4.2-4.2v28.9zM98 614.7v22.1h2.5v-22.1c-.9-.5-1.7-.5-2.5 0z"/>
+      <path d="M98.2 629c3.1 1.6 6.2 3.5 7 7.8h-7zm43.2-6.6v14.4h2v-14.4c-.6-.3-1.5-.4-2 0z"/>
+      <path d="M143.4 629c-3.1 1.5-6.2 3.3-7 7.7h7zm-20.6-33.7l1.8-1.5v-2c-.6 0-1 .3-1.5 1a5 5 0 00-2.5-3 5 5 0 00-2.6 2.9c-.5-.7-.8-.8-1.5-1v2l1.8 1.6z"/>
+      <path d="M123.8 600.2l.8-1.9v-2.5c-.6 0-1 .3-1.5 1a5 5 0 00-2.5-3 5 5 0 00-2.6 2.9c-.5-.7-.8-.8-1.5-.9v2.5l.8 1.9z"/>
+      <path d="M124 606.8l2.6-3.3v-3.2c-1 0-1.5.5-2.2 1.6-.7-2.3-2-2.7-3.8-3.8-1.9 1-3.2 1.5-3.8 3.7-.8-1.1-1.3-1.4-2.3-1.5v3.2l2.7 3.3z"/>
+      <path d="M124.7 613.3s3.2-2.7 3.3-4.2v-3.5c-1.2.1-2.3.4-3.2 1.9-.8-2.9-2-3.7-4.2-5-2.3 1.3-3.5 2.1-4.2 5-1-1.5-2-1.8-3.3-2v3.6a15 15 0 003.3 4.2z"/>
+      <path d="M126 625.3s4.4-4.7 4.5-6.6v-5.4c-1.6.2-3.2 1.3-4.4 3.6-1-4.5-2.6-7.6-5.5-9.8-3 2.2-4.6 5.3-5.6 9.8-1.2-2.3-2.7-3.4-4.3-3.6v5.4c.3 1.9 4.4 6.6 4.4 6.6z"/>
+      <path d="M126 632.4s3.7-3.7 4.5-5.3v-5.4c-1.6.2-3.2 1.3-4.4 3.5a14 14 0 00-5.5-9.2c-3 2.2-4.6 4.7-5.6 9.2-1.2-2.2-2.7-3.3-4.3-3.5v5.4c1 1.6 4.4 5.3 4.4 5.3z"/>
+      <path d="M127.5 636.6c-1-4.7-2-8.2-7.1-11.7-5.2 3.5-6.1 7-7.2 11.7z"/>
+      <path d="M130.2 639.2v-6.8c-2.4 1-4.5 2.3-5.3 3.8-.8-3.8-2.5-5.4-4.6-7.7-2.1 2.3-3.5 4-4.4 7.7-.8-1.5-2.9-2.9-5.2-3.8v6.8z"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 390.7 0)" xlink:href="#a"/>
+    <path d="M72.7 694.3H318v12.5H72.7zm-6.5 12.5h258.3v12.5H66.2zm19.4-31.3H305v8.1H85.6z"/>
+    <path d="M79.2 683.6h232.4v10.6H79.2zm10.2-14.3h212v6.2h-212z"/>
+    <path d="M112.4 669.3h16v50h-16z"/>
+    <path d="M116 669.3h8.9v50h-9zm71 0h16v50h-16z"/>
+    <path d="M190.7 669.3h9v50h-9zm71.5 0h16v50h-16z"/>
+    <path d="M265.7 669.3h9v50h-9z"/>
+    <path fill="none" d="M99 664.2h193M115.8 713h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m65.8 37.5h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m66.2 37.5h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ki.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ki.svg
new file mode 100644
index 0000000..bfc5cca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ki.svg
@@ -0,0 +1,36 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ki" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M161.8 5.8h491.7v491.6H161.8z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-168.5 -6) scale(1.0413)">
+    <path fill="#e73e2d" fill-rule="evenodd" d="M4 5.8h802.6V300H4z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M358 276.6c-18.7-14.5-53.5-9.6-59.2-49.2 26.6 20.6 21.8-1.2 61.6 18.5l-2.4 30.7z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M363 258.6c-13.4-19.6-48-25.5-41.3-65 19 27.8 21.1 5.6 53 36.5l-11.8 28.5z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M369 245.8c-4.8-23.1-34.5-41.9-13.2-75.8 7 33 17.3 13.2 35 54L369 245.8z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M383 234c2.5-23.6-20-50.5 10.6-76.3-3.5 33.5 12.5 18 16.8 62L382.9 234z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M395.4 224.4c12-20.4 2.4-54.2 40.9-65.2-16.9 29.1 4 21.4-10.1 63.5l-30.8 1.7z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M413.5 226.9c17.8-15.6 19.5-50.6 59.5-48.8-25.3 22.2-3 21.6-29.7 57l-29.8-8.2z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M429.4 236c21.6-9.6 33.5-42.6 71.2-29.1-30.7 13.8-9.2 19.8-45.2 45.7l-26-16.5z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M442.6 250.6c23.5-3.2 44.2-31.6 76.6-8-33.4 4.6-14.4 16.4-56.2 31.2l-20.4-23.2z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M526.2 255l-107.6 2.4 4.5 29 103.1-31.3z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M510.4 215.5l-99.7 38.3 16.7 32 83-70.3z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M431.2 275.3l51.6-93.7-79.1 73.6 27.5 20z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.3" d="M381.9 573.2l-13.5-82.6-15.4 82.6h28.9z" transform="matrix(1.2145 .40191 -.39943 1.207 195.4 -577.8)"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M424 259l-17.4-105.9-19.2 106.4 36.6-.5z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.3" d="M378.5 569.7l-10.2-79-17.9 83.5 28.1-4.5z" transform="matrix(1.1791 -.4886 .48383 1.1816 -307 -238.2)"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M407.2 249.3l-77.9-65.8 55.4 94.1 22.5-28.3z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M302 216l83.5 69 12.9-36.1-96.5-33z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M384.7 256.3l-98.3-1.4 97.9 32.6.3-31.2z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M464.4 274a59 59 0 11-117.9 0 59 59 0 01118 0z"/>
+    <path fill="#005989" fill-rule="evenodd" d="M3.2 297.1h806.6v200.3H3.2z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M2.8 441.7c15 7 36.4 24.3 59.4 24.3 38.5-.2 39.5-26.3 78.5-25 39 1 32 28.4 84.7 28.2 43.5 0 57.6-33.3 95.2-29.3 27.8-1.4 39.2 31.4 82 31.8 44.3 1 60.5-35.8 88.3-32.7 29.7 0 39.4 29.6 81 29.8 53 .3 62.2-30.8 95.3-28.8 23.6-.5 42.2 22.8 76.8 23.3 27.5.5 50.6-20.3 66.2-27.8l.8-35.4c-16.4 6.1-40.7 26-65.1 26.3-35 1.3-56.7-23-81.1-22.8-29.2.3-40.8 30-90.3 30-45.3 0-55.7-30-84.9-30-28.5.2-37.2 32.7-86.6 32-40.3-.4-56-31-84.6-30.7-30.2 0-61.5 29.7-95 28.2-46.2-2-56.2-28.2-86.5-28.2-22.6 0-47 24.6-74.2 25-27 .5-57.5-24.5-60.3-25l.4 36.8zm0-70c15 7 36.4 24.3 59.4 24.3 38.5-.3 39.5-26.4 78.5-25.1 39 1 32 28.4 84.7 28.3 43.5-.1 57.6-33.3 95.2-29.3 27.8-1.5 39.2 31.4 82 31.8 44.3 1 60.5-35.8 88.3-32.8 29.7 0 39.4 29.6 81 29.9 53 .2 62.2-30.8 95.3-28.9 23.6-.5 42.2 22.8 76.8 23.4 27.5.5 50.6-20.4 66.2-27.8l.8-35.4c-16.4 6-40.7 26-65.1 26.2-35 1.3-56.7-23-81.1-22.8-29.2.3-40.8 30-90.3 30-45.3 0-55.7-30-84.9-30-28.5.3-37.2 32.7-86.6 32.1-40.3-.5-56-31-84.6-30.7-30.2 0-61.5 29.6-95 28.2-46.2-2-56.2-28.2-86.5-28.2-22.6 0-47 24.6-74.2 25-27 .4-57.5-24.5-60.3-25l.4 36.8z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M2.8 302.4c15 7 36.4 24.3 59.4 24.3 38.4-.3 39.4-26.3 78.3-25.1 39 1 32 28.4 84.7 28.3 43.5 0 57.6-33.3 95-29.3 27.9-1.4 39.2 31.4 82 31.8 44.2 1 60.5-35.8 88.3-32.7 29.6 0 39.3 29.6 80.8 29.8 53 .2 62.2-30.8 95.3-28.8 23.6-.5 42.1 22.7 76.7 23.3 27.5.5 50.6-20.4 66.1-27.8l.8-35.4c-16.3 6.1-40.7 26-65 26.2-35 1.3-56.7-23-81-22.7-29.2.2-40.8 30-90.3 30-45.2 0-55.6-30-84.7-30-28.5.2-37.3 32.6-86.6 32-40.3-.4-56-31-84.5-30.7-30.2 0-61.4 29.6-94.9 28.2-46.2-2-56.2-28.2-86.4-28.2-22.6 0-47 24.6-74.2 25-27 .4-57.4-24.5-60.2-25l.3 36.8z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M293.2 78.7c58.6-4 47.9-9 71.5-12.8 29.7 4 33.1 22 49.7 33.1 0 0-6.2 21-26.6 18.1-2.7-8.4 9.9-11-26.4-33.2-21.1-1.2-58.8 3.7-68.2-5.2zm181.7 32.6l-42.2 1.7v10.5c28.5.9 33.6-3 42.2-12.2z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-linejoin="round" stroke-width="1.6" d="M329.7 109.5c7.4-3.8 11-2.2 17.4-2.5 4.4 8 8.5 8.7 18.1 9.7a47.5 47.5 0 0038.3 20.9c28.7-.8 37.8-20.9 57.1-23.1H481c-3.4-5.8-6-9.1-13.4-9.4a195 195 0 00-52 3.4l-24 6c-7-3.4-24.3-21.5-35.3-21.1-6.5 1.7-6.5 4-9.7 6.4-6.2 2.7-12.4 1.4-17 9.7z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.6" d="M358.7 100.7a3 3 0 11-6 0 3 3 0 016 0z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M378.4 109.3c43.1-52 80.8-45.7 130-49.2 1.6 6 1 15-22.4 23-32 4.8-89.5 38.6-89.7 38.6-10.7-.5-18.2-11.7-18-12.4z"/>
+    <path fill="none" stroke="#d9a43e" stroke-linecap="round" stroke-width="1.7" d="M467 75.4l31.8 1.4m-35.2 3.8l23.2 1.9"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/km.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/km.svg
new file mode 100644
index 0000000..8f842ea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/km.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-km" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h416.3v416.3H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="scale(1.23)">
+    <path fill="#ff0" d="M0 0h625v104H0z"/>
+    <path fill="#fff" d="M0 104h625v104.1H0z"/>
+    <path fill="#be0027" d="M0 208.1h625v104H0z"/>
+    <path fill="#3b5aa3" d="M0 312.2h625v104H0z"/>
+    <path fill="#239e46" d="M0 0v416.2l310.4-207.5L0 0z"/>
+    <path fill="#fff" d="M127.8 115c-69.2-3.5-100.7 51.6-100.6 94.2-.2 50.4 47.6 92 91.7 89.4A100 100 0 0165.8 209a98.3 98.3 0 0162-94z"/>
+    <path fill="#fff" d="M126.8 160.2l-9.8-7.6-11.8 3.7 4.2-11.6-7.1-10.1 12.3.4 7.4-10 3.4 12 11.8 3.9-10.3 7zm-.2 42.3l-9.8-7.6-11.8 3.7 4.2-11.6-7.2-10.1 12.4.4 7.4-10 3.4 12 11.8 4-10.3 6.9zm.2 42.8l-9.8-7.6-11.8 3.7 4.2-11.7-7.1-10 12.3.4 7.4-10 3.4 12 11.8 3.9-10.3 6.9zm-.2 43.1l-9.8-7.6-11.8 3.7 4.2-11.6-7.2-10.1 12.4.4 7.4-10 3.4 12 11.8 4-10.3 6.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kn.svg
new file mode 100644
index 0000000..4b2a248
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kn.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kn" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M151.7-.3h745.1v745H151.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-104.2 .2) scale(.68714)">
+    <path fill="#ffe900" d="M-5.3 0h1073.5v744H-5.3z"/>
+    <path fill="#35a100" d="M-5.8 0l1.2 536.4L830.7-.4-5.8 0z"/>
+    <path fill="#c70000" d="M1069.5 744l-1.9-557.7L225 744.5l844.5-.4z"/>
+    <path d="M-5.3 576.9l.7 167.9 182.3-.3L1068 147.6l-1-146L886.9 0-5.4 576.9z"/>
+    <path fill="#fff" d="M818 269l-64.2-2.2-25.3 60.2-14.3-61.5-64.2-2.2 55.4-35.7L691 166l48.5 39.4 55.3-35.9-25.4 60.2zM417.5 529.6l-64.3-2.3-25.2 60.2-14.3-61.5-64.3-2.2 55.4-35.8-14.4-61.4 48.5 39.4 55.3-35.9-25.3 60.1z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ko.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ko.svg
new file mode 100644
index 0000000..2db51b0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ko.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kr" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#fff" d="M610.6 511.6h-730.2V-.4h730.2z"/>
+    <path fill="#fff" d="M251.9 256a112.5 112.5 0 11-225 0 112.5 112.5 0 11225 0z"/>
+    <path fill="#c70000" d="M393 262.6a145.3 146.8 0 11-290.5 0 145.3 146.8 0 11290.5 0z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm27.4 23.7l83.6-96.7 19.9 17-83.7 96.9z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm55.4 48l83.6-96.9 19.9 17.2-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm508.8-96.8l83 97.4-20 17-83-97.4zm-55.7 47.5l83 97.4-20 17-83-97.4z"/>
+    <path fill="#fff" d="M417.6 133.2L496 65.4l14.7 17-84 75.4-9.3-24.6z"/>
+    <path d="M514.2 372l-80.4 95.8-19.7-16.4 80.4-95.8zM431.8 53.1l83 97.4-19.9 17L412 70zm109.7 341.6L461 490.5l-19.8-16.4 80.5-95.8zm-55.1-45.8L406 444.7l-19.7-16.4 80.4-95.8z"/>
+    <path fill="#3d5897" d="M104.6 236.7c4.6 37 11.3 78.2 68.2 82.4 21.3 1.3 62.8-5 77-63.2 18.8-55.8 75-71.8 113.3-41.6C385 228.5 391 251 392.4 268c-1.7 54-32.9 101-72.8 122-46 27.3-109.6 27.9-165.3-13.5-25.1-23.5-60.2-67-49.7-139.8z"/>
+    <path fill="#fff" d="M436 370.6l78.6 67.6-14.6 17-87.1-71.8 23-12.8z"/>
+    <path d="M-1.9 357.2l83 97.3-20 17-83-97.3z"/>
+    <path fill="#fff" d="M-16.2 437.3l78.6-67.9 14.7 17-84 75.5-9.3-24.7z"/>
+    <path d="M25.7 333.7l83 97.3-20 17-83-97.3zM-30 381.2l83 97.3-20 17-83-97.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kp.svg
new file mode 100644
index 0000000..8eda6be
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kp.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kp" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M92.2 7.8h593.6v485.5H92.2z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="matrix(.86254 0 0 1.0546 -79.5 -8.3)">
+    <path fill="#fff" stroke="#000" stroke-width="1.1" d="M991.8 492.9H4.2V8.4h987.6z"/>
+    <path fill="#3e5698" d="M991.8 405.2H4.2V493h987.6z"/>
+    <path fill="#c60000" d="M991.8 384.9H4.2V116.4h987.6z"/>
+    <path fill="#3e5698" d="M991.8 8.4H4.2V96h987.6z"/>
+    <path fill="#fff" d="M473 250.7c0 60.1-61.5 108.9-137.4 108.9-76 0-137.6-48.8-137.6-109 0-60.1 61.6-108.9 137.6-108.9S473 190.5 473 250.7z"/>
+    <path fill="#c40000" d="M402.9 326.8l-66.1-38.6-67.1 39 26.3-62.8-66.1-38.5 82.4-.3 26.2-63 24.5 62.8 82.4-.4-67.2 39z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kr.svg
new file mode 100644
index 0000000..2db51b0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kr.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kr" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#fff" d="M610.6 511.6h-730.2V-.4h730.2z"/>
+    <path fill="#fff" d="M251.9 256a112.5 112.5 0 11-225 0 112.5 112.5 0 11225 0z"/>
+    <path fill="#c70000" d="M393 262.6a145.3 146.8 0 11-290.5 0 145.3 146.8 0 11290.5 0z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm27.4 23.7l83.6-96.7 19.9 17-83.7 96.9z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm55.4 48l83.6-96.9 19.9 17.2-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm508.8-96.8l83 97.4-20 17-83-97.4zm-55.7 47.5l83 97.4-20 17-83-97.4z"/>
+    <path fill="#fff" d="M417.6 133.2L496 65.4l14.7 17-84 75.4-9.3-24.6z"/>
+    <path d="M514.2 372l-80.4 95.8-19.7-16.4 80.4-95.8zM431.8 53.1l83 97.4-19.9 17L412 70zm109.7 341.6L461 490.5l-19.8-16.4 80.5-95.8zm-55.1-45.8L406 444.7l-19.7-16.4 80.4-95.8z"/>
+    <path fill="#3d5897" d="M104.6 236.7c4.6 37 11.3 78.2 68.2 82.4 21.3 1.3 62.8-5 77-63.2 18.8-55.8 75-71.8 113.3-41.6C385 228.5 391 251 392.4 268c-1.7 54-32.9 101-72.8 122-46 27.3-109.6 27.9-165.3-13.5-25.1-23.5-60.2-67-49.7-139.8z"/>
+    <path fill="#fff" d="M436 370.6l78.6 67.6-14.6 17-87.1-71.8 23-12.8z"/>
+    <path d="M-1.9 357.2l83 97.3-20 17-83-97.3z"/>
+    <path fill="#fff" d="M-16.2 437.3l78.6-67.9 14.7 17-84 75.5-9.3-24.7z"/>
+    <path d="M25.7 333.7l83 97.3-20 17-83-97.3zM-30 381.2l83 97.3-20 17-83-97.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kw.svg
new file mode 100644
index 0000000..3d4047f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kw.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kw" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="scale(1.0321)">
+    <path fill="#fff" d="M0 165.3h992.1v165.4H0z"/>
+    <path fill="#f31830" d="M0 330.7h992.1v165.4H0z"/>
+    <path fill="#00d941" d="M0 0h992.1v165.4H0z"/>
+    <path d="M0 0v496l247.5-165.3.5-165.5L0 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ky.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ky.svg
new file mode 100644
index 0000000..b4ae00a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ky.svg
@@ -0,0 +1,70 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ky" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <path fill="#006" d="M0 0h1024v512H0z"/>
+    <path fill="#006" fill-rule="evenodd" d="M0 0h512v256H0z"/>
+    <g stroke-width="1pt">
+      <path fill="#fff" d="M0 0v28.6L454.8 256H512v-28.6L57.2 0H0zm512 0v28.6L57.2 256H0v-28.6L454.8 0H512z"/>
+      <path fill="#fff" d="M213.3 0v256h85.4V0h-85.4zM0 85.3v85.4h512V85.3H0z"/>
+      <path fill="#c00" d="M0 102.4v51.2h512v-51.2H0zM230.4 0v256h51.2V0h-51.2zM0 256l170.7-85.3h38.1L38.2 256H0zM0 0l170.7 85.3h-38.2L0 19.1V0zm303.2 85.3L473.8 0H512L341.3 85.3h-38.1zM512 256l-170.7-85.3h38.2L512 236.9V256z"/>
+    </g>
+    <path fill="#fff" fill-rule="evenodd" d="M308 185.9c-1.2.7-3.5 2.8-5.8 2-2.2-.6-7.3-9.5-13-8.2-5.6 1.4-9 3.5-11.3 3.5s-8.5 2-8.5 7.5.6 9.6 1.7 9.6 2.8-3.4 2.8-3.4.6 6.8 4.6 6.8 12.4.7 13 2.8c.6 2-4 6.8-2.8 11 1 4 6.2 10.9 6.2 10.9s-7.4 5.5-7.4 8.9 1.2 6.8 1.2 6.8l-33 1.4s-2.2 97.2-1 104.8c1 7.5 4 26 4 26s-7.4-2.4-13.7 3.8c-6.2 6.1-28 16.7-28.6 21.5-.6 4.8-2.5 9-.3 12.4 2.3 3.4 10.3 12.7 8 12.3-7.6-1.3-10.5-12.1-15.6-16.1-5-4-15-3-16.2 1a31 31 0 000 12.3c.6 1.4 6.8 23.3 8.5 28.1s19.6 12 27.5 11.3c15 .4 21.8-6.5 22.4-5.8.6.7 32.3 33.4 97.4 33.6 50.8 0 89-32.9 89-32.2 0 .7 21 6.8 28.3 4.8 7.4-2 18.2-6.9 20.4-11.7 2.3-4.8 8.5-29.4 9-33.5.6-4.1 0-9-5-10.3s-8-1-10.8.3-3.7 5.2-8 12c-2.2 2-8.1 7.6-6.4 6.2s5.4-11.6 6-15c.5-3.5 2.2-9.7-1.8-13-4-3.5-10-5-17-10-6.6-4.5-11.9-12-15.8-12-4 0-8.5-2-8-2 .6 0 5.1-10 4-20.3-1.1-10.3.6-108.5 0-108.5s-28.3 2-28.3.7 2.2-11 0-17.2c-2.3-6.1-12-10.2-9.1-11.6 2.8-1.4 15.3-4.8 14.7-10.3-.5-5.4-8.5-4.8-11.9-6.8-3.4-2-13.6-11.7-14.7-11.7-1.1 0 29.5-18.5 27.2-18.5-2.3 0-14.2-3.4-18.1-1.3 0-3.4 16.4-13.7 13.6-15-2.9-1.5-15.9-2.8-12.5-3.5 3.4-.7 4.5-8.9 4-8.9l-14.8 2s-3.4-4.8-4.5-4.8-6.2 2.8-6.2 2.8l-2.9-7.5-6.2 4-2.8-3.4s-5.1 1.4-5.1 0c.2 0-.6-3.4-1.4-3.4-.8 0-6.4 4.4-6.6 4.1-.2-.2-6.4-9-6.4-8.7 0 .3-4.4 16.5-4.6 16.5-.2 0-4.4.4-4.6.7-.3.2-22.5-12.8-22.3-12.6l5.8 12.6s-4.8 2.7-4.8 2.9l.8 5.6-14.8-5.1s5.6 11.4 5.2 11.4l-10.8.4c.2 0 5 9.5 5 9.5L293 174s16 11.2 14.8 12zm94.5 238.3c1.5 2 9.1 11.7 8 11.7-1.2 0-20.1 12.7-27.8 15a368 368 0 01-31.2 6.6 419 419 0 0031-17.4 130 130 0 0020-15.9zm-118.4-.3c-1.1 1.4-6.5 12-6.5 12s15.6 11 27.2 15c11.6 4.2 31.4 5.5 30.3 5.2-1.1-.4-25-11-31.7-16.5-6.8-5.4-19-15.7-19.3-15.7z"/>
+    <g fill="#fec500" fill-rule="evenodd" stroke="#6d6666">
+      <path stroke-width="1.3" d="M394.6-213l35.4 21.4c6.6 4.1 28 22.2 29.6 21.4 1.6-.8 13.2-9.9 13.2-9.9S448.9-199 434-203s-39.5-8.2-39.5-9.9z" transform="matrix(.34457 0 0 .41648 160.6 259)"/>
+      <path stroke-width="1.3" d="M390.5-231.9c2.5 0 47.7 23 61.7 34.6s19.7 26.3 21.4 26.3c1.6 0 23-3.3 22.2-3.3-.8 0-9.9-29.6-30.4-38.7-20.6-9-74-18.9-74.9-18.9z" transform="matrix(.34457 0 0 .41648 160.6 259)"/>
+      <path stroke-width="1.3" d="M603.5-296c-.8 0-9 24.7-11.5 32-2.5 7.5-6.6 23-6.6 23s-36.2 3.4-34.5-.7c1.6-4.2 55-54.3 52.6-54.3z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1.3" d="M398.8-261.5s42.7 28.8 57.5 45.2c14.8 16.5 29.6 45.3 30.4 45.3.9 0 40.3-8.3 40.3-7.4s-46-46-68.2-60-59.2-21.4-60-23z" transform="matrix(.34457 0 0 .41648 160.6 259)"/>
+      <path stroke-width="1.3" d="M443.2-273.8s21.3 32.9 25.5 44.4a1347 1347 0 0016.4 41h33.7s-16.4-37-34.5-55-40.3-28.8-41.1-30.4z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1.3" d="M454.7-291.9c.8 2.5 31.2 31.2 38.6 50.1a402 402 0 0113.2 42.8l29.6-7.4s-26.3-48.5-42.8-61.7c-16.4-13.1-37-22.2-38.6-23.8z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1.3" d="M700.5-209.7s-61.7 6.6-83.9 12.3-34.5 27.2-34.5 27.2 28.8 10.7 30.4 9 19-18.9 37.8-25.5c19-6.5 51.9-22.2 50.2-23z" transform="matrix(.34457 0 0 .41648 160.6 259)"/>
+      <path stroke-width="1.3" d="M698-250c-1.6.9-51 41.1-66.6 54.3-15.6 13.1-30.4 27.1-32 28-1.7.8-32.1-4.2-30.5-5.8 1.7-1.6 45.3-37 74-52.6 28.8-15.7 52.7-22.2 55.1-23.9z" transform="matrix(.34457 0 0 .41648 160.6 259)"/>
+      <path stroke-width="1.3" d="M685.7-278.8c-5 5.8-53.4 45.3-66.6 59.3S584.6-181 584.6-181s-25.5-11.5-23.9-16.5c1.7-4.9 36.2-33.7 60.9-50.1 24.6-16.5 66.6-29.6 64.1-31.3z" transform="matrix(.34457 0 0 .41648 160.6 259)"/>
+      <path stroke-width="1.3" d="M636.4-282a725 725 0 00-35.4 39.4c-5.7 8.2-23 44.4-23 44.4s-25.5-22.2-25.5-23 32-34.5 51-47.7 33.7-10.7 32.9-13.1z" transform="matrix(.34457 0 0 .41648 160.6 259)"/>
+      <path stroke-width="1pt" d="M565-241.8a10.5 10.5 0 11-20.8 0 10.5 10.5 0 0120.9 0zm21 14c0 5.1-4.7 9.3-10.4 9.3s-10.5-4.2-10.5-9.3 4.7-9.3 10.4-9.3 10.5 4.1 10.5 9.3zm-46.5-10.5c0 5.2-5.7 9.3-12.8 9.3-7 0-12.8-4.1-12.8-9.3s5.8-9.3 12.8-9.3c7 0 12.8 4.2 12.8 9.3z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1pt" d="M573.2-219c0 9.9-6.5 18-14.5 18s-14.5-8.1-14.5-18 6.5-18.1 14.5-18.1 14.5 8 14.5 18zm-39.5.5c0 7.7-6.5 14-14.5 14s-14.6-6.3-14.6-14 6.5-14 14.6-14c8 0 14.5 6.3 14.5 14z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1pt" d="M514-207.5c0 6.8-5 12.2-11.1 12.2s-11-5.4-11-12.2c0-6.7 4.9-12.2 11-12.2 6 0 11 5.5 11 12.2zm81.3-1.1c0 8-7.5 14.5-16.8 14.5-9.4 0-16.9-6.5-16.9-14.5s7.5-14.6 16.9-14.6c9.3 0 16.8 6.5 16.8 14.6zm-40.7-21c0 4.9-6 8.8-13.3 8.8s-13.4-4-13.4-8.8 6-8.7 13.4-8.7 13.3 4 13.3 8.7z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1pt" d="M557-210.4c0 7-8.4 12.8-18.6 12.8s-18.6-5.7-18.6-12.8c0-7 8.3-12.8 18.6-12.8s18.6 5.8 18.6 12.8zm47.6 22.7c0 8.7-7.8 15.7-17.4 15.7s-17.5-7-17.5-15.7 7.8-15.7 17.5-15.7c9.6 0 17.4 7 17.4 15.7zm-95.3-4c0 5.7-4.4 10.4-9.9 10.4s-9.9-4.7-9.9-10.5 4.4-10.4 9.9-10.4 9.9 4.6 9.9 10.4z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1pt" d="M579-193.5c0 7.4-6.7 13.4-15 13.4-8.4 0-15.2-6-15.2-13.4S555.6-207 564-207c8.4 0 15.1 6 15.1 13.4zm-47.6-.6c0 6.4-6 11.6-13.4 11.6s-13.4-5.2-13.4-11.6c0-6.4 6-11.6 13.4-11.6s13.4 5.2 13.4 11.6z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+      <path stroke-width="1pt" d="M554.6-190.6c0 7-6.2 12.8-14 12.8-7.6 0-13.9-5.8-13.9-12.8 0-7 6.3-12.8 14-12.8s14 5.7 14 12.8zm-60.4-76.8c3.4 0 27.9 8.2 27.9 8.2s-30.3 11.6-25.6 10.4 33.7-4.6 31.4-4.6c-2.3 0-25.6 22.1-18.6 21 7-1.2 20.9-15.2 22-15.2 1.2 0 15.2 22.1 16.4 21 1.1-1.2 0-22.2 1.1-22.2s29 14 26.7 12.8a123.2 123.2 0 01-17.4-17.4c1.2 0 38.4 3.5 36 2.3l-24.4-11.6s16.3-15.1 12.8-15.1-30.2 15.1-27.9 14c2.3-1.2 29-31.5 29-31.5L557-282.5s4.7-18.6 2.4-17.4c-2.4 1.2-21 24.4-22.1 24.4s-5.8-23.2-5.8-23.2 1.1 25.5-5.9 26.7c-7 1.2-31.3 5.8-31.3 4.7z" transform="matrix(.34457 0 0 .41648 160.6 261)"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#00389b" d="M304.7 227.9c.2 1 6.7 18.4 16.5 17.9s13.8-3.4 13.4-3.6c-.4-.3-4.6-3.2-7-9.5-2.4-6.3-2.8-9-2.8-9l-20 4.2zm35.1-6.8s7.2 17.2 10.4 19.6c3.2 2.4 10.6 4.4 13.8 4.1s7 0 7 0-3.1-1.7-5.8-11.1-3.4-12.6-3.4-12.6h-22zm44 6.3s-1.3 12.6 0 15.7c1.5 3.2 8.5 9 8.5 9s8.4-1.2 8.6-9a42 42 0 00-2.8-15l-14.2-.7z"/>
+      <path fill="#005120" stroke="#000" stroke-width="1pt" d="M289 21s1.1 4.7 0 8.2-11.1 12.8-11.1 20.3c0 7.6 11.6 30.8 47 31.4 35.6.6 80.3-19.2 79.7-19.8-.6-.5-84.9-57-86-56.4-1.2.6-29.7 17.5-29.7 16.3zm234.2 40.1s7.6 20.4 10.5 22.7c2.9 2.3 4 7 4.7 7s48.8 10.4 48.8 10.4 4.6-13.3-2.3-23.8c-7-10.5-33.2-37.8-33.2-37.8l-28.5 21.5zm33.2-25c1.1 0 12.8 10 22 4.7 9.4-5.2 24.5-19.2 24.5-19.2s-12.8 4-22.1 3.5c-9.3-.6-23.8 11.6-24.4 11z" transform="matrix(.34457 0 0 .41648 198.4 196.6)"/>
+      <path fill="#005120" stroke="#000" stroke-width="1pt" d="M287.2 23.3s-3.5-9.8-12.8-10.4c-9.3-.6-26.2 1.1-32-3.5C236.6 4.7 235-6.3 232-5.7c-3 .5-10.5 0-11 0s-3.6-9.3 4.6-14 15-.6 19.7-4 11.7-5.9 21-6.5c9.3-.5 24.4 11.7 31.4 14.6 7 2.9 22 6.4 27.9 3.5 5.8-3 38.3-15.7 50-16.3 11.6-.6 36-1.2 45.3-.6s46 5.3 57 10.5S547.7 7 555.8 11.7c8.1 4.7 26.2 11.6 26.2 11.6S550 54.7 534.2 60a354.9 354.9 0 01-95.4 11.6c-29.6-1.7-52.9-4.7-75.5-16.3-22.7-11.6-47.1-22.7-48.3-28.5-1.2-5.8-.6-13.3-.6-13.3l-27.3 9.8z" transform="matrix(.34457 0 0 .41648 198.4 196.6)"/>
+      <path fill="#005120" stroke="#000" stroke-width="1pt" d="M251.2-14.4c-1.2.5-7 2.9-5.9 4 1.2 1.2 3.5 4.7 10.5 4 7-.5 14.5-4.6 14.5-4.6s-8.7-4-19.1-3.4z" transform="matrix(.34457 0 0 .41648 198.4 196.6)"/>
+      <path stroke="#000" stroke-width="1pt" d="M250.6-13.3v6.4s8.1 2.3 8.1.6c0-1.7.6-5.8-1.2-5.8s-6.4-.6-7-1.2z" transform="matrix(.34457 0 0 .41648 198.4 196.6)"/>
+      <path fill="#001707" stroke="#000007" stroke-width="1pt" d="M332-8.4c2-3.7 0-8.7 11.9-14.4 11.9-5.8 32.7-4.2 32.7-4.2s-6 4.6-6.2 9.3c-.2 4.7.4 6.8.4 6.8s-11.3-3.7-20-1.5-18.6 4.6-18.9 4zm53.4-20.2c-1.2.6-10.3 10.7-9.3 13.8 1 3 13.2 10.5 17.1 9.8 4-.6 21.8-9.2 22.8-13.5 1-4.3 1.9-10.1.4-11.3-1.4-1.3-30.8 1.6-31 1.2zm39.3-1.6c-2.3 2.2-1.5 13.1-.7 14.3.9 1.3 15 15.5 18.1 16.3 3.1.8 26-1.5 27.8-4s7.4-12.9 5.7-15.3c-1.6-2.5-6.5-5.8-21.8-9s-24.2-3-29.1-2.3zm58.1 13.7c3.7 1.9 25.3 12.4 38 20.8 12.8 8.4 18 18 21.6 18.9 3.7.8 18.7-8.2 19.3-10.7.7-2.5-18.3-15.6-31-21.6-12.7-6-47.9-6.7-47.9-7.4zm-4.5 8.9c-1.9 1.6 23 45 27.7 46.4 4.8 1.5 33.1-8.4 32.7-11.7-.4-3.3-7.8-9.9-25.3-19.5-17.4-9.7-31.6-16-35.1-15.2zM447.5 8.2c-4 2.3-10.1 41.1-6.2 43 3.9 1.8 52-4.8 53.9-9C497 37.7 475.4 3.4 469 3.4c-6.4 0-18 1.6-21.6 4.7zM397.7 0c-5.1 4.7-4 40.9-1.8 43.1 2.2 2.3 30.8 9.7 33.9 7 3-2.6 7.2-43.3 4.3-46.4-2.9-3.1-10.9-10.5-17-11.1-6.2-.6-16.5 6-19.4 7.4zm-64.5-.6c-4.7 3.7-5 13.3.2 15 5.1 1.6 17.9 7.2 29.8 12.3 12 5.1 18.7 11.3 22.2 11.1 3.5-.2 6.8-36.4 3-38.4A62 62 0 00363.7-4a156 156 0 00-30.4 3.3z" transform="matrix(.34457 0 0 .41648 198.4 196.6)"/>
+    </g>
+    <path fill="#d40f0f" fill-rule="evenodd" d="M240.2 388c2.9-2.8 7.4-9.7 13.5-10 6.2-.4 12.6 5.3 12.6 5.3s6.5 26.4 6.2 26.4c-.4 0-10.7 7.5-11 7.5-.3 0-4.5-10.3-8.4-9.4-3.9 1-3.6 15.1-4.2 14.2-.7-1-17.1-20.5-16.5-21.1.7-.6 8-12 7.8-12.9zm170.4-3.5c2-.3 10.7-6.9 16.8-6.6 6.2.4 9.7 3.2 13 6 3.2 2.8 7 10 7 10s-7.7 21.5-8.3 21.5-4 1.8-4.6.3-2.5-6.6-6.4-7.3c-3.9-.6-4.9 7-4.9 7l-12.6-30.9z"/>
+    <path fill="#fddc59" fill-rule="evenodd" d="M414.8 391.1c0 2 12 31.5 31.4 37.1 19.3 5.7 25.5-5.3 27.7-9 2.3-3.8 10.3-3.5 10.3-3.5s-1.9 27.6-5.1 31c-3.2 3.6-5.8 11-24 11.4-18 .3-34.5-17-40-22-5.4-5-12.5-18.2-15.4-24.2-3-6 15.5-20.1 15.1-20.7zM204.3 450c.4 0 8.7 9.1 21 8.2 12.3-1 33.3-8.2 43-20.8 9.6-12.5 14.5-26 14.5-26S268.6 386 268.3 386c-.4 0-1.7 8.2-4.2 13.5-2.6 5.4-9.7 20.5-21.7 25.2-12 4.7-12 6.6-16.8 6a66.4 66.4 0 01-17.4-8.5c0-.4-6.1 14.7-6.1 14.7s-1.3 9.8 2.2 13z"/>
+    <path fill="#fddc59" fill-rule="evenodd" d="M240 387.1c-1 0-23.8 12.5-22.9 17.8 1 5.3 39.3 81 121.5 81.8 82.1.9 132.4-68.5 128.7-80-3.6-11.6-29.2-25-29.2-25s6.4 5.4 5.5 12.5c-1 7.2-29.2 68.5-100.5 66.7-71.2-1.7-105-56-105-62.2 0-6.2 3.7-9.8 1.9-11.6z"/>
+    <path fill="#d40f0f" fill-rule="evenodd" d="M462.6 442c2-1.5 13.9-34.2 20.7-33.3 6.8 1 4.5 10.7 3.9 13.3l-7.5 25.1s.4-5.3-4.2-6.6c-4.5-1.3-12 2.2-12.9 1.6zm-258.3 8.3c0-1.8-5.4-8 1-9.8 6.3-1.8 14.6 1.8 14.6 1.8s-4.6-13.4-10-24c-5.6-10.7-7.4-9-12-7.2-4.5 1.8-4.4 6.5-1.7 13.6 2.8 7.1 8.1 27.3 8.1 25.6z"/>
+    <path fill="#fdc400" fill-rule="evenodd" d="M279.7 389.3l7.9-26.9-22-16.8 27.6-.7 9-26.5 9 26.5 27.7.5-22 17 8 26.8-22.6-16z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M428.4 249.5v103.3c.2 50.5-51.3 94.7-85.5 103.3-34.2-8.6-85.7-52.8-85.5-103.3V249.5h171z"/>
+    <path fill="#d40f0f" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M177.2 326l.4 160.7s2.4-3.3 35-1.3c32.6 2 35.4 35.5 70.9 35.5 35.4 0 35.4-35.5 70.8-35.5s35.5 35.5 70.9 35.5 35.4-35.5 70.9-35.5 35.4 35.5 72.8 37.5c33.5-2 33.5-37.5 69-39.5l35.3 2V326h-496z" transform="matrix(.34457 0 0 .40213 196.4 118.5)"/>
+    <path fill="#0062bb" fill-rule="evenodd" d="M257.4 335v21.4h12.2c11.3.8 12.2 14.3 24.4 14.3s12.3-14.3 24.5-14.3 12.2 14.3 24.4 14.3 12.2-14.3 24.4-14.3 11.5 13.4 24.4 14.3c11.5-.9 12.2-13.5 24.4-14.3h12.2V335h-12.2c-12.2 0-12.2 14.3-24.4 14.3S379.5 335 367.3 335s-12.2 14.3-24.4 14.3-12.2-14.3-24.4-14.3-12.2 14.3-24.5 14.3-12.2-14.3-24.4-14.3h-12.2zm3.7 42.8l8.5 21.3c11.3.8 12.2 14.3 24.4 14.3s12.3-14.2 24.5-14.2 12.2 14.2 24.4 14.2 12.2-14.2 24.4-14.2 11.5 13.4 24.4 14.2c11.5-.8 11.9-13.4 24.2-14.2l8.8-21.8-8.6.4c-12.2 0-12.2 14.2-24.4 14.2s-12.2-14.2-24.4-14.2-12.2 14.2-24.4 14.2-12.2-14.2-24.4-14.2S306.3 392 294 392s-12.2-14.2-24.4-14.2h-8.5zm81.8 78.3c12.2 0 40.2-21.3 39.9-21.3.3 0-3.3-14.3-15.5-14.3s-12.2 14.3-24.4 14.3-12.2-14.3-24.4-14.3-15.4 14.3-15.4 14.3c-.6 0 27.6 21.3 39.8 21.3z"/>
+    <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M90.8 117.6c.9 0 8.3 1.2 13.6.8 5.4-.4 7.4-2.5 7.4-2.9v-1.2h7s1.2 5.7.4 6.1-2.9 2.1-3.3 2.1 0-2.9-.8-2-1.2 2-1.2 2-.9-1.2-1.3-1.2-1.2 1.2-1.2 1.2 0-1.2-.4-1.2-2.5 2-2.5 2l-2-1.6s-1.3 2-1.7 2-2.9-1.6-2.9-1.6l-4 2.5s0-3.7-.9-3.3c-.8.4-5.3.4-5.3.4S90.4 124 90 124s-2-2-1.6-2 1.2-1.2.8-1.7c-.4-.4-2.5 0-2.5-.4s-.8-2.8-.4-2.8l2 .4V115h2.1l.4 2.5z" transform="matrix(1.684 0 0 1.4651 126.8 126.6)"/>
+    <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M98.3 94.1c-.5 0-3.3 3.3-3 7 .5 3.7 7.5 9 7.5 9s3.7-1.6 4.9 0 1.2 6.6.8 6.6-5.3 1.3-5.3.5c0-.9 0-1.7-.4-1.7l-5 .4.4-1.6-4-.8 1.6-1.7s-6.6-2.9-6.2-2.9 2.9-1.6 2.9-1.6l-5-3.3h3s-4.2-3.3-3.8-3.3l2.5.4-1.2-3.3h1.2L88 95.4l2-.9 1.3 2.1-.5-5 3 .5v4s1.2-2.4 1.2-2.8c0-.4 3.7 1.7 3.2.8z" transform="matrix(1.684 0 0 1.4651 126.8 126.6)"/>
+    <path fill-rule="evenodd" d="M399.5 301.9c-.8.7-3.4 2.4-3.4 2.4l5.7-.5c-.2 0-2-1.5-2.3-2zm5 2.8c-.3.5-1.3 5.1-.6 4.8.7-.3 3.4-3.7 3.4-3.7l-2.8-1zm8 .6a34 34 0 004.3 3.5c-.5-.8-1-4-1.4-4-.3-.2-2.6.8-2.9.5zm-69.7-5c-.6.2-4.9 3-4.9 3l7-1.1c-.4 0-2.3-1.4-2.1-1.8zm4.5 3.7c-.7.6-3 4.8-2.1 4.6.8-.1 4.7-2.8 4.7-2.8l-2.6-1.8zm-2.8-5.9l-4-1.7 4.8-1-.8 2.7zm-68.6-2l-5.1-3.6 6.5 1.8-1.4 1.9zm-4.5 2.5c-.6 0-7.2 3.6-7 3.6h9c-.2-.2-1.6-3.3-2-3.6zm4.2 5.2c-.7.3-5.9 3.8-5.5 3.8h7.8l-2.3-3.8zm-.7-37.5s-1.9-4.2-1.7-4.2c.2 0 4.8 3.3 4.8 3.3l-3 1zm5.2-5.2l.5-2.8s4.7 3.2 4.5 3.2c-.2 0-4.7 0-5-.4zm7.3 2l.5-4s4.3 5.1 4 5.3c-.4.1-4.2-.8-4.5-1.4z"/>
+    <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M137.3 110.9c0 .2 4.3 3.7 4.4 4.5 0 .8-7.8 1-7.8 1s-2.3-1.7-3-1.6c-.7 0-1 1.8-1 1.8l1.8 1-3.5.2 1 2 2.7-.2-.6 1.8s1.6 1.3 2 1c.3-.1 1.3-2 2.1-2.3.8-.3 2.6-.3 2.6-.3s-1.4 2.3-.7 2.3c.6 0 3.4-2.4 3.4-2.4l.7 2.2 2-2.5s0 2 .3 2 3.2-2.5 3.2-2.5 2.3 2.8 2.6 2.6c.3-.2.6-3 1-3s2.2-.3 2.2-.5-1.3-1-1.5-2.5c-.2-1.5.2-4.8.1-4.8s-13.8.5-14 .2z" transform="matrix(1.684 0 0 1.4651 125.6 127)"/>
+    <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M115.4 104.6h40.3c4 0 7.8-1.6 7.8-4.1 0-2.5-6.6-2.9-9-2-2.5.8-13.2 5.7-17.7 5.3s-8.7-3.3-9.1-6.2c-.4-2.9 2-5.3 6.6-5.3s10.3 1.6 11.5 1.2 4.1-3.7 5.3-4.1c1.3-.4 5-.8 5-.8l-1.7 1.2 5.4-1.2s-4.1 4.5-8.3 5.7c-4 1.3-12.7.8-16 .8s-5-.4-4.5 2.1c.4 2.5 2.9 4.1 5 3.7 2-.4 8.1-2.5 8.1-2.5l-1.6-1.2 7.4-.4s-.4-1.2 0-1.2l4.1.4s-2.5-1.3-2-1.3 2 0 5.3.4 10.3 1.7 9.9 5c-.5 3.3-3 6.1-5.8 6.1s-5.3-.8-5.3.5c0 1.2 3.3 2 5.3 2s4.5-1.6 5-1.6 1.2 2.4 1.6 2.4 2.9-.8 2.9-.8l-1.7 4.5 2.9.8s-1.6 1.7-1.2 1.7 2.8 0 2.8.4-3.2 2.9-3.2 3.3 2.4 1.6 2.4 1.6-1.6 2.5-2 2.1l-2-2.5s-.5 1.7-1.3 1.7-2.5-.4-2.5-.4 1.2-2.5.8-2.5-2.4 1.6-2.4 1.2l-1.3-1.2s3.3-1.3 3.3-3.3c0-2-1.3-3.9-7.3-4.2-6-.3-6 1.4-10.5 1.2-4.4-.2-4.4-2-7.7-2s-13.4 4.2-18.2 4c-4.7 0-10.6-.3-10.4-.5.2-.2 3.9-9.7 4-10z" transform="matrix(1.684 0 0 1.4651 125.6 127)"/>
+    <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M106.9 102.5c-.4.2-4 .7-4.2 4.5-.2 3.8.3 3.8.7 3.6.4-.2 1.2-3.5 1.2-3.5s-1.2 4.5.1 5.5a9.3 9.3 0 002.8 1.5l.5-3.6s-1 3.5 1.5 4.7c2.4 1.2 3.4.3 3.1-.6a70 70 0 00-.9-3.3l2 2.4c.2.2 1 1.8 3.6 1 2.4-.6.7-2.3.7-2.3l-3-2.4s3 3.1 4.4 2-1-3.6-1-3.5 2 3.5 2.8 1.4-1.2-2.8-1.8-4.9c-.6-2-1.1-2.2-.5-3.5.6-1.2.7-3.6.7-3.6s2.6.7 2.4-1.5c-.2-2.2-2.8-2.7-3.3-2.8-.5 0-.4-2.2-.6-2.1-.2 0-1.9 1.3-1.9 1.3s-1.4-3.4-1.7-3.2-2 2-3.2 2c-1.2.2-2 2-2 2s-4.3-2.1-4.2 1.3c.1 3.4 2.6 2.5 2.6 2.6s-.4 4.8-.8 5z" transform="matrix(1.684 0 0 1.4651 126.8 126.6)"/>
+    <path fill-rule="evenodd" d="M310.8 269.1c.8-.3 2-1.3 3.4-1.2s3.7 1.2 2.6 1.8c-1.1.6-2 .9-3.2.6-1.3-.3-2.3-1-2.8-1.2zm14-.2c-.8-.2-2-1.3-3.4-1.1s-3.7 1.2-2.6 1.8c1.2.6 2 .8 3.3.5 1.2-.3 2.2-1 2.8-1.2z"/>
+    <path fill="#000039" fill-rule="evenodd" stroke="#000" stroke-width=".4" d="M111 103.2c0 .5.4 4.8.6 4.5l1.7-4.4-2.3-.1z" transform="matrix(1.684 0 0 1.4651 127 126.7)"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M110 103.2c0-1.3.8-1.2 2.4-1 1.7.2 2.5 1 2.4 1.3-.1.2-1.5.7-2.6.6-1.3-.4-2.3 0-2.2-1z" transform="matrix(1.684 0 0 1.4651 127 126.9)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M112.4 100l-.2 2m7.1-7.2s1.4.7 1.2 1.3c-.2.6-1.2.9-1.2.9m-11.2-2.7c-.3.1-.7.3-1 1.2-.1.8 1 1.3 1 1.3" transform="matrix(1.684 0 0 1.4651 127 126.9)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M111.2 136.1s-1.5 1.5 1 1.5.7-1.3.7-1.3" transform="matrix(1.684 0 0 1.4651 127.2 72)"/>
+    <path fill="#fdc400" fill-rule="evenodd" d="M323.6 438l7.2-23.6-20-14.9 25-.6 8.2-23.3 8.3 23.3 25 .5-19.9 15 7.3 23.5-20.6-14z"/>
+    <path fill="#003017" fill-rule="evenodd" d="M327 431.7l6-18.8-16.6-11.8 20.9-.5 6.8-18.5 6.8 18.5 20.9.4-16.6 11.9 6 18.7-17-11.2z"/>
+    <path fill="#fdc400" fill-rule="evenodd" d="M282.5 390.1l7-22.3-19.7-14 24.8-.6 8-22 8.2 22 24.8.4-19.7 14.1L323 390l-20.3-13.2z"/>
+    <path fill="#003017" fill-rule="evenodd" d="M285.9 384.1l5.9-17.7-16.5-11.2 20.6-.4 6.8-17.5 6.8 17.5 20.6.3-16.4 11.2 6 17.8-17-10.6z"/>
+    <path fill="#fdc400" fill-rule="evenodd" d="M365.4 390.1l7.2-22.3-20-14 25-.6 8.3-22 8.3 22 25 .4-20 14.1 7.4 22.3-20.6-13.2z"/>
+    <path fill="#003017" fill-rule="evenodd" d="M368.8 384.1l6-17.7-16.6-11.2 20.9-.4 6.8-17.5 6.9 17.5 20.9.3-16.7 11.2 6.1 17.8-17.1-10.6z"/>
+    <path fill="none" d="M223.7 403c9 38.8 47 67.5 98.2 74.3 65.8 8.8 128.5-24.6 140-74.4"/>
+    <path d="M223.5 409l12.4-7 1.1 2.5-4.8 2.8 1.6 3.5 4.8-2.7 1.2 2.5-12.4 7-1.1-2.6 5.6-3.1-1.6-3.5-5.6 3.1-1.2-2.5m5.2 10.8l11.5-8.5 4 6.5-2 1.5-2.5-4.2-2.6 2 2.3 3.8-1.8 1.4-2.4-4-3.2 2.4 2.6 4.3-2 1.5-4-6.7m8.1 12.4l10.2-10.5 1.7 2.1-4 4.1 2.4 3 4-4.2 1.8 2.1-10.2 10.5-1.7-2.1 4.6-4.8-2.4-2.9-4.6 4.8-1.8-2.1m13.3 6.2l1.7 1.6 3-5.7-4.7 4m-6.5 2L255 431l2.6 2.6-6.7 13.8-2.1-2 1.8-3.4-2.3-2.2-2.8 2.4-2-1.9m10 9.3l7-10.3-2.5-2 1.4-2 6.8 5.6-1.3 2-2.4-2-6.8 10.4-2.1-1.7m5.6 4.5l7.2-13.1 2.2 1.5-2.8 5.1 3 2 2.8-5.1 2.2 1.5-7.2 13.1-2.2-1.5 3.3-6-3-2-3.3 6-2.2-1.5m13.6 8.6l5.8-14 6.6 3.4-1 2.3-4.2-2.2-1.4 3.3 4 2-1 2.3-4-2-2.5 6.1-2.3-1.2m12.8-2.1a17 17 0 00-1.1 4.6c0 .7.4 1.2 1 1.5.7.3 1.2.2 1.7-.3.4-.5 1-2 1.9-4.3s1.2-4 1.2-4.7a1.6 1.6 0 00-1.1-1.5c-.7-.3-1.2-.2-1.7.3-.4.5-1 2-1.9 4.4m-2.4-1a27 27 0 011.4-3.6c.4-.9.9-1.5 1.3-1.8.6-.5 1.2-.8 1.8-.9a5 5 0 012.2.5 5 5 0 012 1.3c.4.5.7 1.1.8 2v2.3a30 30 0 01-2.6 7.3 5.9 5.9 0 01-1.3 1.8c-.6.5-1.2.8-1.8.8a4.6 4.6 0 01-2.2-.4 5 5 0 01-2-1.3 4.2 4.2 0 01-.8-2 6.3 6.3 0 010-2.3l1.2-3.8m11.9-3.2l2.4.8-2.6 10a5.2 5.2 0 00-.3 2.4c.2.5.6.8 1.2 1 .6.2 1.1.2 1.5-.2.3-.3.7-1 1-2.2l2.6-9.9 2.5.8-2.8 10.2c-.2 1-.5 1.7-.7 2.1a3.2 3.2 0 01-2.5 1.8 5.4 5.4 0 01-2.2-.3 5.2 5.2 0 01-3-2.2c-.4-1-.4-2.3.1-4.1l2.8-10.2m6.6 18.1l3-15 2.6.7 1.4 11.3 2-10.5 2.4.6-3 15-2.6-.6-1.4-11.4-2 10.5-2.4-.6m13.5.8l1.2.2h1.2c.2 0 .5-.1.6-.3.3-.4.6-.9.8-1.5a26.3 26.3 0 00.9-6.6 3.4 3.4 0 00-.4-1.6 1.2 1.2 0 00-.6-.5 4.1 4.1 0 00-1-.3l-1.1-.1-1.5 10.7m-2.9 1.8l2.2-15.2 4 .7c1 .2 1.6.3 2 .6.5.2.9.6 1.2 1 .4.6.6 1.3.7 2.1 0 .9 0 2-.2 3.8-.3 2.1-.6 3.6-.9 4.5-.2.9-.6 1.6-1 2.2-.4.5-.9.9-1.5 1a8 8 0 01-3 0l-3.5-.7m10.8 1.8l1.3-15.4 7 .8-.2 2.5-4.5-.4-.3 3.5 4.2.5-.2 2.4-4.2-.5-.4 4.3 4.7.5-.3 2.5-7.2-.7m11.8-1.3h2.3c.3-.1.5-.3.6-.5.3-.4.4-1 .6-1.6a25 25 0 00.2-6.6c-.1-.7-.3-1.2-.6-1.6a1.2 1.2 0 00-.6-.3 4 4 0 00-1-.2h-1.2l-.3 10.8m-2.6 2.2l.4-15.4 4.2.2c.8 0 1.5.1 2 .3.5.2.9.4 1.2.8.5.6.8 1.2 1 2 .2.9.2 2.1.2 3.8a35.2 35.2 0 01-.4 4.6c-.2 1-.4 1.7-.8 2.3a2.7 2.7 0 01-1.3 1.3c-.6.2-1.6.3-3 .2l-3.5-.1m15.4.2l-.6-15.4 2.6-.1.6 15.4h-2.6m6.9-.3l-1-12.8-3 .2-.1-2.5 8.5-.8.2 2.6-3 .2 1 12.9-2.6.2m9-16.5l2.6-.5 1.6 10.2c.2 1.2.5 2 .8 2.3.3.4.8.5 1.4.4s1.1-.4 1.3-1a5 5 0 000-2.4l-1.6-10.2 2.5-.5 1.7 10.5c.1 1 .2 1.8.1 2.3a3.6 3.6 0 01-.3 1.3 3.7 3.7 0 01-1.2 1.5c-.6.4-1.3.6-2.1.8-1.6.3-2.7.1-3.5-.5-.8-.6-1.3-1.9-1.6-3.7l-1.6-10.5m13.8 3.9l1-.3c.8-.2 1.3-.5 1.5-1 .3-.4.3-1 .1-1.8-.1-.9-.4-1.4-.8-1.6-.3-.3-1-.3-1.7 0l-1.1.2 1 4.5m-.6 9l-3.3-15 4.4-1c1.3-.4 2.3-.4 3 .1s1.3 1.5 1.6 3c.4 1.5.3 2.7-.2 3.6-.4.9-1.3 1.5-2.6 1.8l-1.8.5 1.4 6.4-2.5.7m9.9-10.9c.7 2.4 1.2 3.9 1.7 4.4.4.6 1 .7 1.6.5.7-.3 1-.7 1.2-1.4 0-.7-.3-2.3-1-4.7s-1.2-4-1.7-4.5c-.4-.5-1-.7-1.6-.4-.7.2-1 .7-1.1 1.4-.1.7.2 2.3.9 4.7m-2.5.9a28.9 28.9 0 01-.9-3.8 6.3 6.3 0 010-2.3 4 4 0 011-2 5 5 0 012-1.1c.8-.3 1.6-.4 2.2-.3.6 0 1.2.4 1.8 1 .4.3.8 1 1.2 1.8.4.9.8 2.1 1.2 3.7.5 1.5.8 2.8 1 3.8v2.3c-.3.8-.6 1.4-1 1.9-.5.5-1.2.9-2 1.2-1 .3-1.6.4-2.3.3-.6-.1-1.2-.4-1.7-1-.5-.3-.9-1-1.3-1.8a28.3 28.3 0 01-1.2-3.7m12.6 3.5l-5.1-14.3 2.4-1 7 8.4-3.7-10 2.3-1 5.1 14.3-2.4 1.1-7-8.5 3.7 10-2.3 1m16-7.9l-5.3-11.3-2.6 1.5-1.1-2.2 7.5-4.5 1 2.3-2.5 1.5 5.4 11.4-2.3 1.3m6-3.6l-7.3-13 2.2-1.5 2.9 5 3-2-3-5.1 2.2-1.6 7.4 13-2.2 1.6-3.3-6-3 2.2 3.4 5.9-2.2 1.5m9.2-6.7l-8.3-12.2 5.7-4.8 1.3 2-3.6 3 2 3 3.3-3 1.4 2-3.4 2.9 2.3 3.3 3.7-3 1.4 2-5.8 4.8m7.2-13.2l1.8-2 .6.7c.6.7 1.1 1 1.5 1.2.3 0 .7-.1 1-.5.5-.5.7-.9.7-1.3 0-.5-.2-1-.6-1.3-.3-.4-.6-.6-1-.7a4.7 4.7 0 00-1.6.1l-1.6.3c-1.4.3-2.4.3-3 .2a3.7 3.7 0 01-1.7-1.2 4.2 4.2 0 01-1.1-3 4.6 4.6 0 011.3-3c1-1 1.9-1.5 2.8-1.5s2 .6 2.9 1.6a4 4 0 01.3.4l-1.7 2-.3-.3c-.5-.6-1-1-1.4-1-.4-.1-.8 0-1.2.5-.3.4-.4.7-.4 1 0 .5.1.8.4 1.2.4.4 1.3.5 2.5.3l1.8-.4a6 6 0 012.8-.1c.6.2 1.3.7 2 1.4.8 1 1.2 2 1.2 3.1a5 5 0 01-1.5 3.3c-1 1-2 1.6-3 1.5-1 0-2-.6-3-1.8a14.3 14.3 0 01-.5-.6m10.7-4.4l-10.6-9.9 4.5-6 1.8 1.6-3 3.9 2.5 2.3 2.8-3.6 1.6 1.5-2.7 3.6 3 2.7 3-4 1.7 1.7-4.6 6.2m2.7-13.8l1.2-2-5.4-2.6 4.2 4.6m2.5 6.9l-9.7-11.5 2-3.2 13.2 5.7-1.6 2.6-3.3-1.6-1.6 2.8 2.5 2.8-1.5 2.4m1.7-12.5l1.1-2.6.8.5c.8.4 1.4.6 1.7.5.4 0 .7-.3 1-.8.2-.6.3-1 .1-1.5a1.7 1.7 0 00-.8-1 1.7 1.7 0 00-1.1-.3c-.4 0-1 .3-1.6.7l-1.5.9a7.5 7.5 0 01-2.7 1.1 4 4 0 01-2-.5 3.9 3.9 0 01-2-2.4 4.8 4.8 0 01.5-3.3c.6-1.3 1.4-2.1 2.3-2.4 1-.3 2-.2 3.2.5a4 4 0 01.4.3l-1.1 2.4-.4-.2a3 3 0 00-1.6-.5c-.4.1-.7.4-1 1-.1.4-.2.8 0 1.2 0 .3.3.6.7.8.5.3 1.3.1 2.4-.6l1.5-1a6.3 6.3 0 012.7-1 4 4 0 012.3.6 4.1 4.1 0 012 2.6 5.3 5.3 0 01-.4 3.6c-.7 1.3-1.5 2.2-2.4 2.5-1 .3-2.1 0-3.4-.7l-.7-.4"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kz.svg
new file mode 100644
index 0000000..f17bd6e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/kz.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kz" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#6fdcff" d="M0 0h512v512H0z"/>
+    <g fill="#ffe400">
+      <path d="M43 498c3.5 3.3 2.3 9 12 8.3 14.7 0 15.1-9 15.1-15.3 0-6.3-22-15-23-24.3s5.1-11.8 10.2-11.8c5 0 8.6 3 8.6 5.5s-2.5 3.3-6 3.3 1.5-1.8-1.6-3.3-5 2.2-5 4.5c0 2.2 7.6 2.9 12.6 1.3 1 5 1.6 5.3-5.6 13.8 5.1-3.3 5.6-4 11.2-2.2-5.6-4.8-1.4-14.6-1.2-17.1s-1-5.5-3.3-7c-4.1-3.6-13-3.8-18.3-1.4-7.8 3.4-8.2 13.6-6.1 17l21.5 22c1.5 2.6 2 9.8-7.1 10.2-9.7.7-13-12.4-14.7-16.8-2.3 4.8-4.8 18-14.5 17.2-9.1-.3-10.9-7.5-9.4-10.1l22.1-22.5c2-3.4 1.7-13.6-6-17-5.4-2.4-14.3-2.2-18.4 1.5-2.2 1.4-3.5 4.4-3.3 6.9s4.4 12.3-1.2 17c5.6-1.8 6-1 11.1 2.3-7-8.5-6.6-8.9-5.5-13.9 5 1.7 12.7 1 12.7-1.2 0-2.3-2-6-5.1-4.5-3 1.5 2 3.3-1.5 3.3-3.6 0-6.1-.7-6.1-3.3s3.5-5.5 8.6-5.5 11.2 2.6 10.1 11.8c-1 9.2-23.5 19.3-23.5 25.6 0 6.3 1.6 14 16.3 14 9.7.7 10.8-5 14.3-8.4z"/>
+      <path d="M41.8 366c3.5-3.4 6.3-13.5 16-12.7 14.7 0 20.3 8.1 20.3 14.4 0 6.3-30 57.7-31 67-1 9.2 5.1 11.8 10.2 11.8 5 0 8.6-3 8.6-5.6s-2.5-3.3-6-3.3 1.4 1.8-1.6 3.3-5-2.2-5-4.4c0-2.3 7.5-3 12.6-1.3 1-5 1.5-5.4-5.6-13.9 5.1 3.3 5.6 4 11.2 2.2-5.6 4.8-1.4 14.6-1.2 17.1s-1 5.5-3.4 7c-4 3.7-13 3.8-18.2 1.4-7.8-3.4-8.2-13.6-6.1-17l28.9-62.5c1.5-2.6-2.5-11-11.7-11.4-9.6-.8-13 9.3-14.6 13.7l13.1-1s.5 2 0 3.4c-6.8.4-13.1 1.7-13.1 1.7l-.5 6.6h6.5l-.6 3s-5.4-.4-6 0c-.5.4-1 6.7-1 6.7s-1 .3-2 .3c-1.2 0-2.2-.3-2.2-.3s-.5-6.3-1-6.7c-.5-.4-6 0-6 0l-.5-3h6.5l-.5-6.6s-6.4-1.3-13.2-1.7c-.5-1.3 0-3.3 0-3.3l13.2 1c-1.7-4.5-5-14.6-14.7-13.8-9.1.3-13.2 8.8-11.7 11.4l29 62.5c2 3.4 1.6 13.6-6.1 17-5.3 2.4-14.2 2.3-18.3-1.4-2.3-1.5-3.5-4.5-3.3-7s4.3-12.3-1.3-17c5.6 1.8 6.1 1 11.2-2.3-7 8.5-6.6 8.9-5.6 13.9 5.1-1.7 12.7-1 12.7 1.3 0 2.2-2 5.9-5 4.4-3.1-1.5 2-3.3-1.6-3.3-3.5 0-6 .7-6 3.3s3.5 5.6 8.6 5.6 11.1-2.6 10.1-11.9c-1-9.2-31-60.6-31-67 0-6.2 5.6-14.3 20.3-14.3 9.7-.8 13.1 9.3 16.6 12.7z"/>
+      <path d="M41.8 340.5c3.5 3.4 6.3 13.5 16 12.7 14.7 0 20.3-8.1 20.3-14.4 0-6.3-30-57.7-31-67-1-9.2 5.1-11.8 10.2-11.8 5 0 8.6 3 8.6 5.6s-2.5 3.3-6 3.3 1.5-1.8-1.6-3.3-5 2.2-5 4.4c0 2.3 7.5 3 12.6 1.3 1 5 1.5 5.4-5.6 13.9 5.1-3.3 5.6-4 11.2-2.2-5.6-4.8-1.4-14.6-1.2-17.1s-1-5.5-3.4-7c-4-3.7-13-3.8-18.2-1.4-7.8 3.4-8.2 13.6-6.1 17L71.5 337c1.5 2.6-2.5 11-11.7 11.4-9.6.8-13-9.3-14.6-13.7l13.1 1s.5-2 0-3.4c-6.8-.5-13.1-1.7-13.1-1.7l-.5-6.6H51l-.5-3s-5.4.4-6 0c-.4-.4-1-6.7-1-6.7s-1-.3-2-.3c-1.2 0-2.2.3-2.2.3s-.5 6.3-1 6.7c-.5.4-6 0-6 0l-.5 3h6.5l-.5 6.6s-6.4 1.2-13.2 1.7c-.5 1.3 0 3.3 0 3.3l13.2-1c-1.7 4.5-5 14.6-14.7 13.8-9.1-.3-13.2-8.8-11.6-11.4l28.9-62.5c2-3.4 1.6-13.6-6.1-17-5.3-2.4-14.2-2.3-18.3 1.4-2.3 1.5-3.5 4.5-3.3 7s4.3 12.3-1.3 17c5.6-1.8 6.1-1 11.2 2.3-7.1-8.5-6.6-8.9-5.6-13.9 5.1 1.7 12.7 1 12.7-1.3s-2-5.9-5-4.4 2 3.3-1.6 3.3c-3.5 0-6-.7-6-3.3s3.5-5.5 8.6-5.5 11.1 2.5 10.1 11.8c-1 9.2-31 60.6-31 67 0 6.2 5.6 14.3 20.3 14.3 9.7.8 13.1-9.3 16.6-12.7z"/>
+      <path d="M41.8 171.2c3.5-3.4 6.3-13.5 16-12.8 14.7 0 20.3 8.2 20.3 14.5 0 6.2-30 57.6-31 66.9-1 9.2 5.1 11.8 10.2 11.8 5 0 8.6-3 8.6-5.5s-2.5-3.4-6-3.4 1.4 1.9-1.6 3.4-5-2.2-5-4.5c0-2.2 7.5-3 12.6-1.3 1-5 1.5-5.3-5.6-13.8 5.1 3.3 5.6 4 11.2 2.2-5.6 4.8-1.4 14.6-1.2 17s-1 5.5-3.4 7c-4 3.7-13 3.9-18.2 1.5-7.8-3.5-8.2-13.7-6.1-17l28.9-62.5c1.5-2.6-2.5-11.1-11.7-11.5-9.6-.7-13 9.4-14.6 13.8l13.1-1s.5 2 0 3.4c-6.8.4-13.1 1.6-13.1 1.6l-.5 6.7h6.5l-.6 3s-5.4-.4-6 0c-.5.3-1 6.6-1 6.6s-1 .4-2 .4c-1.2 0-2.2-.4-2.2-.4s-.5-6.3-1-6.6c-.5-.4-6 0-6 0l-.5-3h6.5l-.5-6.7s-6.4-1.2-13.2-1.6c-.5-1.3 0-3.4 0-3.4l13.2 1c-1.7-4.4-5-14.5-14.7-13.8-9.1.4-13.2 8.9-11.7 11.5l29 62.5c2 3.3 1.6 13.5-6.1 17-5.3 2.4-14.2 2.2-18.3-1.5-2.3-1.4-3.5-4.4-3.3-7s4.3-12.2-1.3-17c5.6 1.8 6.1 1.1 11.2-2.2-7 8.5-6.6 8.9-5.6 13.8 5.1-1.6 12.7-.9 12.7 1.3s-2 6-5 4.5c-3.1-1.5 2-3.4-1.6-3.4-3.5 0-6 .8-6 3.4s3.5 5.5 8.6 5.5 11.1-2.6 10.1-11.8c-1-9.3-31-60.7-31-67 0-6.2 5.6-14.4 20.3-14.4 9.7-.7 13.1 9.4 16.6 12.8z"/>
+      <path d="M41.8 145.7c3.5 3.4 6.3 13.4 16 12.7 14.7 0 20.3-8.1 20.3-14.4 0-6.3-30-57.7-31-67-1-9.2 5.1-11.8 10.2-11.8 5 0 8.6 3 8.6 5.5s-2.5 3.4-6 3.4 1.5-1.9-1.6-3.4-5 2.3-5 4.5 7.5 3 12.6 1.3c1 5 1.5 5.3-5.6 13.8 5.1-3.3 5.6-4 11.2-2.2-5.6-4.8-1.4-14.6-1.2-17s-1-5.5-3.4-7c-4-3.7-13-3.9-18.2-1.5-7.8 3.5-8.2 13.7-6.1 17l28.9 62.5c1.5 2.6-2.5 11.1-11.7 11.5-9.6.7-13-9.4-14.6-13.8l13.1 1s.5-2 0-3.4a117 117 0 01-13.1-1.6l-.5-6.7H51l-.5-3s-5.4.4-6 0c-.4-.3-1-6.6-1-6.6s-1-.4-2-.4c-1.2 0-2.2.4-2.2.4s-.5 6.3-1 6.7c-.5.3-6 0-6 0l-.5 3h6.5l-.5 6.6s-6.4 1.2-13.2 1.6a7 7 0 000 3.4l13.2-1c-1.7 4.4-5 14.5-14.7 13.8-9.1-.4-13.2-8.9-11.6-11.5l28.9-62.5c2-3.3 1.6-13.5-6.1-17-5.3-2.4-14.2-2.2-18.3 1.5-2.3 1.5-3.5 4.4-3.3 7s4.3 12.2-1.3 17c5.6-1.8 6.1-1 11.2 2.2-7.1-8.5-6.6-8.8-5.6-13.8 5.1 1.6 12.7 1 12.7-1.3s-2-6-5-4.5 2 3.4-1.6 3.4c-3.5 0-6-.8-6-3.4s3.5-5.5 8.6-5.5S36.9 67.8 35.9 77c-1 9.3-31 60.7-31 67 0 6.3 5.6 14.4 20.3 14.4 9.7.7 13.1-9.3 16.6-12.7z"/>
+      <path d="M43 13.7c3.5-3.4 2.3-9 12-8.4 14.7 0 15.1 9 15.1 15.3 0 6.3-22 15.1-23 24.3-1 9.3 5.1 11.9 10.2 11.9 5 0 8.6-3 8.6-5.6S63.4 48 60 48s1.5 1.9-1.6 3.3-5-2.2-5-4.4 7.6-3 12.6-1.3c1-5 1.6-5.4-5.6-13.9 5 3.3 5.6 4 11.1 2.3-5.6 4.8-1.4 14.6-1.2 17s-1 5.5-3.3 7c-4.1 3.7-13 3.9-18.3 1.5-7.8-3.5-8.2-13.7-6.1-17l21.5-22c1.5-2.7 2-9.9-7.1-10.3-9.7-.7-13 12.5-14.7 16.8C40 22.2 37.5 9 27.8 9.7c-9.1.4-10.9 7.6-9.4 10.2l22.1 22.5c2 3.3 1.7 13.5-6 17-5.4 2.4-14.3 2.2-18.4-1.5-2.2-1.5-3.5-4.4-3.3-7s4.4-12.2-1.2-17c5.6 1.8 6 1 11.1-2.3-7 8.5-6.6 9-5.5 13.9 5-1.7 12.7-1 12.7 1.3 0 2.2-2 6-5.1 4.4-3-1.4 2-3.3-1.5-3.3-3.6 0-6.1.8-6.1 3.3s3.5 5.6 8.6 5.6S37 54.2 35.9 44.9c-1-9.2-23.5-19.3-23.5-25.6 0-6.3 1.6-14 16.3-14 9.7-.7 10.8 5 14.3 8.4z"/>
+    </g>
+    <g fill="#ffe400" transform="translate(-220 40)">
+      <rect width="170.2" height="161.3" x="425.9" y="104.5" rx="85.1" ry="80.7"/>
+      <path d="M507 56.4c-.8 0-4.6 26.8-6 32.8-1.4 13.5 18 13 14.8-.5L507 56.3zm6.8 259.8c.7 0 6.5-26.5 8.4-32.4 2.3-13.3-17.1-14-15-.4l6.6 32.8zM378.2 184.6c0 .7 27.9 6.3 34.1 8.1 14 2.3 15-16 .6-14l-34.7 6zm271.7 3.2c0-.7-28.2-5.3-34.5-6.9-14.1-1.7-14.2 16.6 0 14.1l34.5-7.2zM406.8 99.6c-.5.5 17.9 21.3 21.6 26.4 9.6 10 22.3-4 9.6-10.8l-31.2-15.5zm211.1 171c.5-.5-19.7-19.7-23.9-24.4-10.5-9.2-21.8 5.7-8.6 11.5l32.5 13zm-169-200c-.6.3 8 26.1 9.4 32.2 4.8 12.7 22.2 4.4 13.2-6.5L449 70.6zM572 303c.7-.3-6-26.6-6.9-32.7-3.9-13-21.8-6-13.7 5.6l20.7 27zm30.3-214.4c-.6-.5-22.8 16.6-28.2 20-10.7 9 3.8 21.2 11.2 9.3l17-29.3zm-183 193.7c.5.5 24-15 29.6-18.1 11.3-8.2-2.2-21.4-10.5-10l-19 28.1zm-35-144.1c-.3.6 24 14.7 29.3 18.4 12.5 6.5 19.8-10.5 5.5-13.2l-34.8-5.2zM638 236.6c.3-.6-23-16.3-28-20.3-12-7.4-20.5 9.1-6.4 12.7l34.4 7.6zM557.4 63.7c-.7-.2-14.6 23.4-18.3 28.5a7.8 7.8 0 0014 4.7l4.3-33.2zM463.5 308c.7.3 16.3-22.4 20.3-27.3 7.3-11.6-10.4-19-13.7-5.6l-6.6 32.9zM386 238.7c.3.6 28-6 34.5-7 13.6-3.8 6-20.6-6-12.8L386 238.7zM638.1 136c-.2-.6-28.3 4.1-34.8 4.7-14 2.9-7.5 20.2 5 13.2l29.8-17.9z"/>
+      <path d="M534.6 58.1c-.7-.1-10.1 25.4-12.9 31-4.1 13 15 16.2 14.7 2.4L534.7 58zM486.1 314c.7.2 12-24.7 15.2-30.2 5-12.6-13.8-17-14.5-3.3L486 314zm-9.7-253.4c-.7.2 1.9 27.2 1.9 33.4 1.9 13.3 20.6 8.7 14.4-3.7l-16.3-29.7zm68 251.9c.7-.1 0-27.2.5-33.4-.9-13.5-20-10.1-14.6 2.7l14 30.7zM428.2 83c-.6.4 12.7 24.3 15.2 30 7.2 11.7 22.7.7 11.8-8.6l-27-21.4zM593 290.9c.6-.4-11-25.2-13-31-6.3-12.1-22.5-2.1-12.4 7.8l25.4 23.2zM393 116.6c-.4.6 21.1 18.4 25.6 23 11.1 8.4 21.4-7.2 7.8-12.1L393 116.6zm234.2 139.7c.4-.6-19.7-19.8-23.9-24.6-10.4-9.1-21.8 5.8-8.6 11.6l32.5 13zm-249.6-97.8c-.2.7 26.3 10.8 32.1 13.7 13.4 4.5 17.7-13.4 3.1-13.8l-35.2.1zM645 216.3c.3-.6-25.4-12.4-31-15.7-13-5.4-18.7 12.2-4.2 13.6l35.2 2.1zM376.7 210c.1.6 28.7.2 35.2.7 14.2-.7 10.8-18.8-2.8-13.9L376.7 210zm270.2-45c0-.7-28.6-2.2-35-3.1-14.3-.2-12.2 18.1 1.7 14l33.3-11zm-245.7 98.4c.4.6 26-11.6 32-13.9 12.4-6.5 1-21.4-8.9-11.3l-23.1 25.2zm222.3-152.3c-.4-.6-26.7 9.9-33 11.8-12.9 5.7-2.6 21.3 8 11.9l25-23.7zM442.8 298.8c.6.3 18.9-20.5 23.5-24.9 8.7-10.7-8-20-12.9-7l-10.6 31.9zM582.5 75c-.5-.4-20.3 19.1-25.2 23.2-9.4 10.1 6.6 20.5 12.4 7.9L582.4 75z"/>
+      <g transform="matrix(2.1824 0 0 2.0629 -405 -272.6)">
+        <path d="M360.1 247.9c.7 2.5.8 16.5 14.9 30 14 13.4 38 16.4 38 16.4s.1 1.9-1.6 2c-1.7.2-9.9-1.5-14-2.8-4-1.2-7.6-3.4-8-3.3-.5.2-1.3 1.6-2.5 1.4s-7-6.2-9.6-7.8a80.6 80.6 0 01-13.7-15.3c-2.8-4.5-3.5-7.5-4.4-7.5s-4.2 2.2-4.2 2.2-3-4.5-5.6-11.7c-2.7-7.2-2.4-11.4-1.8-11.7.7-.3.7 5.3 2.7 10.4 2 5.2 4.8 6.8 4.8 6.8s-1.8-2.7-3.2-9.4-2-13.2-1-15.2 1.9-2.6 2-2.5c.2.2-1.7 3.1-.4 10.8s4.8 14.2 5.6 13.9c.8-.3-.5-1.9-1-6.4s.5-7.3 1.6-7.7c.5-.4 1.3 5 1.4 7.4zm-9.8 12.8c-2.7-2.5-6.9-11.2-7.8-10.8-1 .5 6.8 13 7 14 .2 1.2 1.9 4.6.6 4.1s-10.6-10.3-9.5-8.4 8.1 10.5 7.7 11-5.8-4.8-6-4.1c-.1.6 5.3 5.8 5.2 6.4s-3.5-3.3-3.5-2.5 3.5 4.7 3.5 5.3-3-2.8-2-1c.9 2 3.5 3.7 3.4 4.3s-2.2-.8-2.2-.5c0 .3 3.9 1.7 4.8 2.8 1 1.1 7.4 8.5 12.2 12.2s18.6 10.2 19.6 10.2c.9 0 2.3-2 2-2.8-.3-.8-13.8-5.4-17.5-8.8-3.8-3.4-13-11.6-13.8-12-.7-.5-2.8-.3-2.8-.8s2.7.3 2.5 0c-.1-.3-3.7-1.9-3.6-2.2.2-.3 2.5.6 2.5.3s-4.2-2.6-4-3.1c.1-.5 3.1 1.4 3.1 1 0-.2-4-3-3.9-3.5.1-.5 3.1 2.2 3 1.6s-2.4-4-2.4-4.4c0-.5 3.6 3.4 4 2.6.2-.7-1.3-7.2-1.2-7.3s2.7 1.4 3.1.5c.5-1-1.8-2.3-4-4.1zm46.1 49.2c-1.9.3-2.8-.4-1.7-2 1.5 0 5.5-1.3 6.9-1.9s2.9-1.4 4.1-2.5c1.2-1.3 2 .7 1.3 1.8-.5.7-2.8 2-4.5 2.7-2.5.8-4.7 2-6.1 1.9zm12.5-5.1c-1.3-1.4-.2-2.4 1.7-3.5 2.8-1.5 2-3.6 5.6-5.3 1.6-1 24-10 31.3-14.8s27.8-20.3 33.3-31c5.4-10.6 2.8-11.4 3.6-11.8.7-.5 1.5 1.5 1.4 3.9-.2 2.3-2 9.3-1.4 10s8.2-5.5 11.4-13 5.6-15.3 7.1-15.3c1.6 0-2.6 12.8-5.3 17.8-2.6 5-5.7 7.5-5 8.6.8 1 8.6-5.5 11.3-10.3 2.6-4.9 5.1-9.2 5.6-8.3a34 34 0 01-6.7 16.1c-4.2 4.8-9.2 8.3-8.4 9 .7.8 6.4 1.6 12.3-2.4 6-4.1 6.6-10 7.3-9.7.8.3-.7 8.4-6.4 13.4s-13.2 5.5-13 6.6c.4 1 16.3-4.6 16-3.3-.3 1.2-20.6 9.2-20.8 10 0 .6 3.5.8 9-.5 5.4-1.2 10.6-5.5 11.3-4.5.2 1.4-3.9 4.8-10.1 6.4-6.3 1.6-9.4 3.7-9.6 4.2-.1.5 11.2-1.4 11.2-.8s-14.8 3.5-14.9 4.3c-.2.7 14-2.9 13.8-2-.4.7-19.3 6.3-19.1 6.6.1.4 15.8-3.4 15.5-2.8-.4.7-26.4 8-26.6 8.5-.2.4 23-5.2 22.8-4.7s-12 3.4-12 3.7c0 .3 9.5-1.5 9.3-1-.1.4-24 6.5-24.5 7.4-.5 1 12.4-2.5 12.2-.7s-27.7 11-27.8 9.3c-.2-1.7 16.7-6 16.6-6.5-.2-.5-9.7 1-9.9.1-.1-1 6.3-3 5.8-3.4-.5-.5-5.3 1.4-4.9.3.5-1.1 9.6-5.3 9.4-5.6-.1-.3-3.3 1-3 0 .4-1.1 19.7-6.7 19.4-7.4-.3-.6-8.9 1.4-9.7 1.6-.3-.6 12-5.2 11.8-6-.4-.7-6.6 2.7-7 1.8-.2-1 10.9-5.3 10.2-6s-5.7 1.8-6.4 1.1 10.5-8.4 8.8-8.6c-1.7-.1-3.8 2.4-4 .8.2-2 8.7-5.3 6.8-6.9-3-.9-13.1.7-17.3 3.2s-18.2 16.4-21.6 18.6c-3.4 2.1-15 7-17.2 8-3.4 1.2-4 3-7.5 4.8-6.3 1.7-6.2 3.6-9.2 4.7-1.1.3-12.4 5.7-12.5 5.3zm-15.8 7c-1.9 1-3.6 3.4-2.5 4.4.6 1.2 2.5-2.7 4-2.5l8 .4c4.3.3 6.4-.9 8.8-.7s7.7-1.3 10.2-1.3 3 .3 3.2-.8c.3-1-7.8-.3-11.4-.4-3.6-.2-8.1.7-10.8.7-2.5-.1-6.8-.9-9.5.2z"/>
+        <rect width="3.4" height="3" x="401.7" y="309.1" rx="1.7" ry="1.5"/>
+        <path d="M445 307.7c1.7-.3 6.3 1.3 9.5 2 5.8 2.3 16.6 1.2 16.6 2.3s-.7 2.4-3.2 2.6-8.8-1-8.6-1 5 2.3 3.6 2.9-5.5-1.3-6.2-.8 3.8 1.4 3 1.7c-.6.3-3.7-.4-4.7-.3-1 .2.8 1.3-.4 1.7-1.2.5-3.2-.6-4-.3-.9.3 1.8 2 .6 2.2-1.2.2-4-.8-5.6-1-1.6 0 1.5 1.6.5 1.8-1 .1-3.8-1.3-4.5-1.3s0 2-1 2-2.2-1.7-2.8-1.7 0 2-1 2-1.4-2.1-2.2-2c-1 .2 0 2.7-1.4 2.5-1.3-.1-1.5-2.6-2.6-2.5-1 .2.2 2.5-.8 2.5s-1.2-2.3-2.2-2.5c-1-.1-.6 2.2-1.2 2.2s-1.2-2.2-1.6-2.2c-.3 0 0 2.2-1.2 2s-1.2-2.4-1.5-2.3c-.4.2-.4 1.8-1.2 1.8s-.9-1.6-1.2-1.4c-.4.1-1.6 2.1-2.4 1.8-.9-.3.2-1.9-.2-1.9s-1.4 1.1-2 1 0-1.4-.2-1.4-1.7.8-2.4.8-2.6 1-3.1.1c-.5-1 1.3-1 1.7-1.9.3-.9-1-3.6.4-4.5 1.3-1 5.6 1.3 12-.3 11.6-3.1 20.6-6.7 21.5-6.6z"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/la.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/la.svg
new file mode 100644
index 0000000..1e7686a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/la.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-la" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M177.2 0h708.6v708.7H177.2z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-128) scale(.72249)">
+    <path fill="#ce1126" d="M0 0h1063v708.7H0z"/>
+    <path fill="#002868" d="M0 176h1063v356.6H0z"/>
+    <path fill="#fff" d="M684.2 354.3a152.7 152.7 0 11-305.4 0 152.7 152.7 0 01305.4 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lb.svg
new file mode 100644
index 0000000..a047b0b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lb.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lb" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M124 0h496v496H124z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-128) scale(1.0321)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="red" d="M0 372h744v124H0zM0 0h744v124H0z"/>
+      <path fill="#fff" d="M0 124h744v248H0z"/>
+    </g>
+    <path fill="#007900" d="M368.3 125.9c-7.6 15.1-12.7 15.1-25.3 25.2-5 5-12.6 7.5-2.5 12.6-10 5-15.1 7.5-20.2 17.6l2.6 2.5s9.5-4.7 10-2.5c1.7 2-12.6 9.7-14.4 11s-10.8 6.6-10.8 6.6c-12.6 10.1-20.2 7.6-27.7 22.7l25.2-2.5c5 17.6-12.6 20.1-25.2 27.7l-20.2 12.6c5 17.6 20.2 7.5 32.8 2.5l2.5 2.5v5L270 282s-29.8 17-30.3 17.6c-.2 1 0 5 0 5 10.1 2.6 25.2 5.1 35.3 0 12.6-5 15.2-10 30.3-10a97.4 97.4 0 01-50.5 20.2v10c15.2 0 25.3 0 37.9-2.5l32.8-10c7.5 0 15.1 7.5 12.6 15-7.6 27.7-37.8 22.7-48 45.4l40.4-15.1c10.1-5 20.2-10.1 32.8-7.6 15.1 5 15.1 15.1 35.3 20.1l-5-12.5c5 2.5 10 2.5 15.1 5 12.6 5 15.1 10 30.3 7.5-12.6-15-15.2-12.5-25.2-22.6-10.1-15.1-15.2-37.8 0-40.3l17.6 5c17.7 2.6 17.7-2.5 42.9 7.6 15.1 5 20.2 12.6 37.8 7.5-7.5-17.6-35.3-30.2-53-35.2 20.2-12.6 15.2 5 43-2.5v-5c-20.2-15.2-27.8-27.8-55.6-27.8l43-5v-5S447 235.7 446 235.3a6.3 6.3 0 014.1-4.4c8 5.2 32.3 4.6 33.7 4.5-.7-6.2-12.2-11.3-22.3-16.3 0 0-43.2-26.7-43.4-29 .8-6.8 17.7 1 35.8 6.3-5-10-15.1-15.1-25.2-17.6l15.1-2.5c-10-22.7-35.3-20.2-50.4-30.3-10.1-7.5-10.1-12.6-25.2-20.1z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.1" d="M341 293.6c1.9-6 4.3-11.3-6.9-16.4-11.2-5.1 5.6 20.5 7 16.4zm13.3-12c-2.3.3-3.4 8.6 1 10.8 5.1.8 1-10.7-1-10.8zm13.1-.9c-2.3.7-2.4 12.4 5.8 10.3 8.3-2 0-11.2-5.8-10.2zm15.3-29.8c1.8-2.8-.1-14.5-7.2-9.6-7.1 5 5 10.4 7.2 9.6zm-15.5-9.7c2.2-.8 2.4-8-3.8-6-6.2 1.8 2.2 7.5 3.8 6zm-14 2.9s-4.3-6-7.7-4.8c-4.2 4 8 4.9 7.7 4.8zm-48 19.1c1.8.2 15.5-2.2 20.2-7.5 4.8-5.3-24.3 2.2-24.3 2.3s2.7 4.7 4 5.2zm136.7-33.8c.7-1.3-7.3-7-12-4.7-1.2 4.2 12 5.5 12 4.7zM415 215.8c1.5-2.1-3.5-11-13.3-6s10.3 9.5 13.3 6zm-31.1-5.2s2.4-8 8.4-6.4c6.6 5.1-8.1 6.7-8.4 6.4zm-5.8-6c-1-2.2-7.1-.9-14.2 3.8-7.1 4.6 16.3 1.3 14.2-3.8zm18-21.4s6.4-2.9 8.3 0c2.6 4.2-8.3 0-8.2 0zm-5.2-2.8c-1.3-2.5-8.3-2.8-8.1 1-1.2 2.8 9 2.3 8-1zm-16.7 0c-.7-1.5-10.6 0-13.6 6 4.8 2.3 15.8-2.2 13.6-6zm-21.3 6.1s-13 8-13.9 13.9c.4 5 16.3-9.2 16.3-9.2s1.4-5.6-2.4-4.7zm-14.5-7.3c.4-1.6 6.5-5.4 7-5 .5 1.6-5 6-7 5zm4.2 30.6c.3-2.3-15.6-2.1-9.6 5.1 5 6.1 10.7-4 9.6-5zM328 220.3c-.8-1.6-2-5.9-4.2-6.3-1.7 0-11.3 2-12 3.5-.4 1.3 4 9.2 5.4 9.4 1.7.6 10.5-5.8 10.8-6.6zm85.6 53.4c.5-1.7 16.7-7.3 22.3-2 6.6 9-22.7 4.8-22.3 2zm44.6 10.6c3.5-6-11-13.2-17-6.3 2 8.2 14.1 11.2 17 6.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lc.svg
new file mode 100644
index 0000000..b13b885
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lc.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lc" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#65cfff" d="M0 0h512v512H0z"/>
+    <path fill="#fff" d="M254.8 44.8l173.5 421.6-344 1L254.7 44.8z"/>
+    <path d="M255 103l150 362.6-297.5.8L255 103z"/>
+    <path fill="#ffce00" d="M254.8 256.1l173.5 210.8-344 .5 170.5-211.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/li.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/li.svg
new file mode 100644
index 0000000..cbed5cc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/li.svg
@@ -0,0 +1,43 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-li" viewBox="0 0 512 512">
+  <path fill="#002b7f" d="M0 0h512.1v256H0z"/>
+  <path fill="#ce1126" d="M0 256h512.1v256H0z"/>
+  <g fill="#ffd83d" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="translate(-54) scale(.85333)">
+    <g id="a">
+      <path stroke="none" d="M216.4 122.3l-1.9 62.5h-63.4c-7.8-15.2-14.2-28-14.2-45.5 0-14.6 11.5-26.2 28-26.2 17.5 0 36.8 5.9 51.5 9.2z"/>
+      <g stroke-width="1.5">
+        <path d="M144.5 125.2v36m5-39.7v48m5.2-50.5v57.2m5-58.4v44.9m5.1-45.1v45.3m5.1-47v47m5.1-47v47m5.1-46.5v47m5.1-46.5v46.9m5.1-44v47m5-46.5v52.9m5.2-52.9v47m5-47v47"/>
+        <path fill="#000" d="M176.4 118c10.8 1.7 34.4 12.8 31.7 27.7-3.8 21.2-16.2 12.7-32.6 9.7l-12.4 4.1c-4.5 4.5-11 8.7-15.4 3.2h-7.4v28.8h81.4V122z"/>
+      </g>
+      <circle cx="212.8" cy="113" r="4.9"/>
+      <circle cx="201.7" cy="110.3" r="4.9"/>
+      <circle cx="190.4" cy="107.5" r="4.9"/>
+      <circle cx="179.1" cy="105.6" r="4.9"/>
+      <circle cx="167.8" cy="104.5" r="4.9"/>
+      <circle cx="156.8" cy="105.1" r="4.9"/>
+      <circle cx="146.2" cy="108.7" r="4.9"/>
+      <circle cx="137.3" cy="115.3" r="4.9"/>
+      <circle cx="131" cy="124.4" r="4.9"/>
+      <circle cx="127.9" cy="135.2" r="4.9"/>
+      <circle cx="128" cy="146.3" r="4.9"/>
+      <circle cx="130.2" cy="157.2" r="4.9"/>
+      <path d="M215 119.5l-.5 6.5c-12.3-2-29.7-8.8-46-8.8-15 0-26.6 6-26.6 21.2 0 14.9 6.3 28.5 14.7 42.3l-8.7 4c-7.8-15-14.3-28-14.3-45.4 0-14.6 11.5-29 31.3-29 17.5 0 35.4 6 50.1 9.2z"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 444 0)" xlink:href="#a"/>
+    <path d="M222 53.1l-5.2 9.7 5.2 9.6 5.1-9.6L222 53zm0 24.4l-5.2 9.6 5.2 9.7 5-9.8-5.1-9.6zM203.6 75l8.1 5.1 8.1-5.1-8-5.2-8.2 5.2zm20.5 0l8.1 5.1 8.2-5.1-8.2-5.2-8 5.2z"/>
+    <circle cx="222" cy="75.1" r="3.9"/>
+    <circle cx="222" cy="100" r="10.5"/>
+    <path fill="none" stroke-width="1.5" d="M219.3 89.9v6.6a62.5 62.5 0 00-7.4.8m20.2 0a62.1 62.1 0 00-7.5-.8v-6.6m-12.8 12.7a61.4 61.4 0 0110.2-.9c3.4 0 6.8.3 10 .9"/>
+    <path d="M211.8 117.7c-1 17-3 34.5-9.7 47.1l10.8-4.4c3.8-14.3 4.6-32.8 5.7-41.6l-6.8-1.1zm20.4 0l-6.9 1.1c1.2 8.8 2 27.3 5.7 41.6l10.8 4.4c-6.6-12.6-8.6-30-9.6-47.1z"/>
+    <path d="M222 154.7c-13 0-22.5 6-23 21.6-3.2-5.6-16.5-23-29-20.7-7.4 1.4-14 11.7-12.8 23.4-6.2-17.6-24.1-20.5-37.3-10 11.7 9.5 16.9 37.8 26.7 50h150.7c9.8-12.2 15-40.5 26.7-50-13.1-10.5-31.1-7.6-37.2 10 1-11.7-5.5-22-13-23.4-12.4-2.3-25.7 15.1-28.9 20.7-.5-15.5-10-21.6-23-21.6z"/>
+    <g stroke-width="1.5">
+      <path fill="#000" d="M297.1 219c0 5.6-33.6 11.7-75.1 11.7s-75.2-6-75.2-11.7c0-5.5 33.7-8.5 75.2-8.5 41.4 0 75.1 3 75.1 8.5z"/>
+      <circle cx="222" cy="114.4" r="3.5"/>
+      <circle cx="222" cy="122" r="3.7"/>
+      <circle cx="222" cy="130.2" r="4.1"/>
+      <circle cx="222" cy="139.3" r="4.7"/>
+      <circle cx="222" cy="149.4" r="5.1"/>
+      <path fill="#000" stroke="none" d="M220 159.2c-.6 0-1.1.5-1 1.4l.6 4.3c.2 1.5 1 1 1.3 0 .2-1.2.1-2 .2-4.1 0-1.1-.6-1.6-1.2-1.6zm4 0c-.6 0-1.1.5-1.1 1.6 0 2.1 0 2.9.2 4 .2 1.2 1 1.6 1.3 0l.5-4.2c.2-1-.4-1.4-.9-1.4zm-7.7.6a1 1 0 00-1 1c0 1 .3 2.3.4 3.8.2 1.5 1.3 1 1.4 0 0-.8.2-2.2 0-3.9 0-.6-.2-.9-.6-1a.8.8 0 00-.2 0zm11.1 0c-.3 0-.6.3-.7 1a20.1 20.1 0 00.2 3.8c0 1 1.2 1.5 1.3 0 0-1.5.4-2.7.4-3.7 0-.6-.5-1-1-1.1a.8.8 0 00-.2 0zm-15.4 1.7c-.5.1-1 .7-.8 1.3.3 1.3.6 2.7.6 4 0 1.1.9.7 1 0a59.8 59.8 0 00.1-4c0-1-.5-1.4-1-1.3zm19.6 0c-.3.1-.6.5-.6 1.3l.2 4c0 .7 1 1.1 1 0 0-1.3.2-2.7.5-4 .2-.6-.3-1.2-.7-1.3a.6.6 0 00-.3 0zm-59 .2c-.6 0-1 .7-.6 1.5.6 1.4 1.3 2.2 1.9 3.6.5 1.3 1.4.5 1.1-.4l-1.4-3.7c-.3-.7-.7-1-1-1zm98.8 0c-.4 0-.7.3-1 1-.9 1.9-1.2 2.8-1.5 3.7-.2 1 .6 1.7 1.2.4l1.8-3.6c.4-.8 0-1.5-.5-1.5zm-94.8 0c-.5.2-.7.7-.5 1.3.6 1.2 1.3 2.5 1.8 3.8.4 1.1 1.4.8 1-.2l-1-3.7c-.4-1-1-1.3-1.3-1.2zm90.5 0c-.4.1-.8.5-1 1.2-.7 2-.8 2.6-1.1 3.7-.4 1 .6 1.3 1 .2l1.8-3.8c.2-.6 0-1.1-.4-1.3a.6.6 0 00-.3 0zm-85.5 1c-.6.1-1 .9-.6 1.9.4 1.2 1 2.3 1.6 3.7.6 1.4 1.5 1.1 1.3.2-.3-.9-.5-2.3-1.2-4.5-.3-1-.7-1.4-1.1-1.3zm80.8 0c-.4 0-.9.3-1.2 1.3-.6 2.2-1 3.6-1.1 4.5-.3 1 .7 1.2 1.2-.2.6-1.4 1.2-2.5 1.6-3.7.4-1 0-1.8-.5-1.9zm-93.2.7c-.6 0-1 1-.7 1.7.5 1 .9 1.4 1.4 2.6.6 1.2 1.2.3 1-.5-.3-.8-.6-1.7-.8-2.8-.2-.8-.6-1-1-1zm105.6 0c-.4 0-.7.2-1 1l-.7 2.8c-.2.8.4 1.7 1 .5.5-1.2.8-1.5 1.4-2.6.3-.7-.2-1.6-.7-1.7zm-67 2.8c-.7 0-1.3.8-1 1.5.2 1.2.8 2.2 1.1 3.7.4 1.3 1.3.7 1.2-.2a28.7 28.7 0 00-.5-4c-.2-.7-.5-1-.9-1zm28.4 0c-.3 0-.7.3-.8 1a28.7 28.7 0 00-.6 4c0 .9.9 1.5 1.2.2l1.2-3.7c.2-.7-.4-1.5-1-1.5zm-14.2 1.2c-.8 0-.9 1-.9 1.7a12.3 12.3 0 01-2 6.4c-1 1.2-2.3.9-3.5.2a22.3 22.3 0 01-3.3-2.2c-1.4-1-2.4-.4-.8 1.9 4.6 6.6 9.6 12.2 9.6 23 0 1.3.3 1.7.9 1.7s.8-.4.8-1.8c0-10.7 5-16.3 9.6-23 1.6-2.2.6-2.8-.7-1.8a21 21 0 01-3.3 2.2c-1.3.7-2.6 1-3.5-.2a12.3 12.3 0 01-2-6.4c-.1-.7-.2-1.7-1-1.7zm-35.3-1.6a.6.6 0 00-.2 0c-.3.1-.4.4-.3 1l1.1 3.9c.3 1 1.4.7 1.2-.5l-.6-3.1c-.2-.8-.8-1.3-1.2-1.3zm70.6 0c-.5 0-1 .5-1.2 1.3-.4 1.4-.4 1.8-.6 3-.3 1.3.9 1.5 1.1.6l1.2-4c0-.5-.1-.8-.4-.9a.6.6 0 00-.2 0zm-91.6.4c-.6 0-1 .8-.4 1.8.6 1.2 1.7 2.6 2.2 3.5.5.8 1.4.2.8-.8-.6-1-.8-2.3-1.6-3.8a1 1 0 00-1-.7zm112.5 0c-.3 0-.7.2-1 .7-.7 1.5-1 2.7-1.5 3.8-.6 1 .2 1.6.7.8.5-.9 1.6-2.3 2.2-3.5.6-1 .2-1.8-.4-1.8zM134 169.5c-.6 0-.8 1.2-.2 2a19.2 19.2 0 002.6 2.7c.8.8 1-.2.6-1l-1.8-2.7c-.5-.7-.9-1-1.2-1zm175.9 0c-.3 0-.7.3-1.1 1l-1.9 2.7c-.4.8-.2 1.8.7 1a19 19 0 002.6-2.7c.6-.8.4-2-.3-2zm-170.8 1c-.6 0-1 .4-.5 1.3l1.9 3.8c.5 1 2 1.3 1.4-.2l-1.3-3.8c-.3-.7-1-1-1.5-1zm165.8 0c-.6 0-1.3.4-1.6 1.1l-1.2 3.8c-.6 1.5.9 1.2 1.4.2.5-1 1.3-2.5 1.8-3.8.5-.9.1-1.3-.4-1.3zm-175.6.4c-.8 0-.8.7-.1 1.2.9.7 2 1.4 3 2.3 1.3 1 1.7 0 1-.8-.6-.8-1.2-1.6-2.9-2.5-.4-.2-.7-.2-1-.2zm185.3 0c-.2 0-.6 0-1 .2-1.6.9-2.3 1.7-3 2.5-.6.9-.1 1.8 1.1.8 1-.9 2.2-1.6 3-2.3.8-.5.7-1.2 0-1.2zm-109.6.7c-.5 0-.8.5-.7 1.2l1 3.6c.2 1.1 1.5 1.1 1.3 0-.2-1-.3-2.3-.7-3.9-.1-.6-.4-.9-.8-1a.6.6 0 00-.1 0zm33.8 0c-.3 0-.6.3-.8 1-.4 1.5-.5 2.8-.7 3.9-.2 1 1.1 1 1.3-.1l1-3.6c.2-.7-.2-1.2-.6-1.2a.6.6 0 00-.2 0zm-64-2c-.3 0-.5.7-.2 1.7a26 26 0 011.6 9c-.3 1.2-1 1.3-1.9 1a18.8 18.8 0 01-2.8-1.7c-.8-.5-1.7.1-.5 1.1 6 5 10.3 10.7 12 17.6.2 1.4 1.1 1.6.9 0-1.4-8.7-1.7-15.9.4-20.3.8-1.7 0-3.3-1.2-.6-.9 1.8-2.2 2.5-3.3 1a47.9 47.9 0 01-4-7.7c-.2-.7-.5-1-.8-1.1a.3.3 0 00-.1 0zm94.1 0c-.3 0-.6.4-.8 1-.7 2-2.9 6.2-4 7.8s-2.4.8-3.2-1c-1.3-2.7-2-1.1-1.3.6 2.1 4.4 1.8 11.6.5 20.3-.3 1.6.6 1.4 1 0a32.4 32.4 0 0111.8-17.6c1.2-1 .3-1.6-.5-1a18 18 0 01-2.8 1.5c-1 .4-1.6.3-1.9-1-.2-1.2.2-3.9 1.7-9 .2-.8 0-1.5-.3-1.6a.3.3 0 00-.2 0zM144.4 172c-.5 0-1 .4-.7 1.2.4 1.4 1.2 2.8 1.5 3.6.3.9 1.2.5 1-.7l-.5-3.1c0-.6-.7-1-1.3-1zm155.1 0c-.6 0-1.2.4-1.3 1l-.4 3.1c-.2 1.2.7 1.6 1 .7.2-.8 1-2.2 1.4-3.6.3-.8-.1-1.2-.7-1.2zm-136.3-1.7c-.6-.1-.7 1.5-.2 2.2l2.8 3.1c.8 1 1.3.1.8-.7l-2.6-3.8c-.3-.5-.6-.8-.8-.8zm117.5 0c-.2 0-.5.3-.8.8l-2.6 3.8c-.5.8 0 1.7.9.7l2.7-3.1c.5-.7.5-2.3-.2-2.2zm-132 4c-.4 0-.7.2-.5 1 .2 1.2.5 2 .8 3.1.3 1 1 .9 1-.1l-.3-3.2a1.1 1.1 0 00-1-.9zm146.5 0a1 1 0 00-1 .8l-.3 3.2c0 1 .8 1.2 1 .1l.9-3c.2-.9-.2-1.2-.6-1.2zm-133.4 1.4c-.6 0-1.1.7-.4 1.6 1.1 1.5 2.4 2.5 2.9 3 .4.6 1.5.4.8-.7l-2.3-3.5c-.2-.4-.6-.5-1-.4zm120 0c-.2 0-.5.1-.6.4l-2.4 3.5c-.7 1.1.4 1.3.9.8.4-.6 1.7-1.6 2.9-3.1.7-1 .1-1.6-.5-1.6a.9.9 0 00-.2 0zm-140.7 4.1c-.4 0-.6.4 0 1.3a17 17 0 013.3 6.4c.1 1.4-.5 1.4-1.1 1.4-1.9 0-2.8-1.4-4.4-1.8-1.7-.3-2 .5-.8 1.4a53.4 53.4 0 0114.7 13.8c1 1.9 2.3 2.5 1.6.8a23.7 23.7 0 01-2.4-12.6c.5-2.8 1.2-4.6 1.1-6.2 0-1.5-1-1.4-1.3 0l-1 2.8c-.4.5-1.8.8-3-.9a48 48 0 00-5.6-5.8c-.3-.3-.7-.5-1-.6zm161.7 0c-.3 0-.7.2-1.1.6a48.2 48.2 0 00-5.5 5.8c-1.3 1.7-2.7 1.4-3 1a12 12 0 01-1-2.9c-.4-1.4-1.3-1.5-1.4 0 0 1.6.6 3.4 1.1 6.2s0 7.2-2.3 12.6c-.8 1.7.6 1 1.6-.8a53 53 0 0114.6-13.8c1.2-.9 1-1.7-.7-1.4-1.7.4-2.6 1.8-4.4 1.8-.6 0-1.3 0-1.2-1.4.1-1.3 1.8-4.4 3.3-6.4.6-1 .5-1.3 0-1.3z"/>
+      <path d="M150.1 212.7l2 6.1m2-7.3l1.8 6.2m2.6-7l1.2 6.4m2.8-7.1l1.3 6.3m3.8-6.8l1 6.4m4.5-6.4l1.1 6.3m4.3-8.1l.8 6.4m4.2-6.1l.8 6.4m4.1-7l.8 6.4m4-7l.5 6.5m4.8-6.5l.4 6.5m4.4-6.8l.3 6.5m4.9-6.8l.3 6.4m5.7-6.6l.3 6.5m79 .2l-2 6.1m-2-7.3l-1.7 6.2m-2.6-7l-1.2 6.4m-2.8-7.1l-1.3 6.3m-4-6.8l-1 6.4m-4.4-6.4l-1.1 6.4m-4.2-8.2l-.8 6.4m-4.3-6.1l-.8 6.4m-4-7l-.9 6.4m-4-7l-.5 6.5m-4.8-6.5l-.4 6.5m-4.3-6.8l-.3 6.5m-5-6.8l-.2 6.4m-5.8-6.6l-.2 6.5m-7.2-7v7.2"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lk.svg
new file mode 100644
index 0000000..2b11215
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lk.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-lk" viewBox="0 0 512 512">
+  <path fill="#ffb700" d="M0 0h512v512H0z"/>
+  <path fill="#ff5b00" d="M21.3 256L91.4 21.3h70.1v469.4h-70z"/>
+  <path fill="#005641" d="M21.3 21.3h70.1v469.4h-70z"/>
+  <path fill="#8d2029" d="M182.7 21.3h308v469.4h-308z"/>
+  <path id="a" fill="#ffb700" stroke="#000" stroke-width=".9" d="M463.4 454.9s2.9 5.9 6.1 8.3c4.8 3.5 14.5 3.3 18.6 7.4 5 5-.4 11.4-.3 12l.3 3.4s-3.4 0-4.8.3c-2.1.3-3 2-6.9 1.8-9.9-.7-9.5-9.6-10-17.2-.5-3-1.7-6.7-2.3-9.6-.6-2.5-.7-6.4-.7-6.4z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 676.3 0)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="matrix(1 0 0 -1 0 512)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="rotate(180 338.1 256)" xlink:href="#a"/>
+  <g transform="matrix(.8 0 0 .8 0 3.2)">
+    <use width="100%" height="100%" stroke="#000" stroke-width="5.6" xlink:href="#b"/>
+    <g id="b" fill="#ffb700">
+      <path d="M363.5 415.8l2.3-1.4 1 1.4c1.3 1.8 5 1.7 7.4 0l1.9-1.5 1.6 1.4c2 1.9 5.8 1.9 8.3 0 1.7-1.2 2-1.3 3-.3.7.6 2.7 1.2 4.4 1.5 3.2.4 3.2.4 5-2.4 1.6-2.3 1.8-3.2 1.5-5.5a59.4 59.4 0 01-.6-5.3c-.2-2.6-.1-2.6 3.6-4a50.5 50.5 0 005.4-2c1.5-.9 5.7-5.8 5.7-6.8 0-.2-1.6-.6-3.6-.8-8-1-9.3-5.2-4.1-13 8.3-13 13.4-25.5 13.4-33.4 0-3.6.3-4.8.7-4 1.9 3.1-1.5 16.4-6.5 26l-2 3.8 1.9-.4c1-.3 7.4-3 14-6 18.2-8.2 24.4-9.8 36.2-9.3 9.9.4 14 2.3 21 9.6 3.7 4 7.3 6.7 13.8 10.8 13.8 8.6 14.4 9.4 15.1 19.6.7 10.3.3 10.9-7.5 12.6-6.7 1.5-10.9 4.6-12 9-.6 2.2.7 2.3 4 .1l2.5-1.6 1.1 1.6c1.5 2.1 4.5 2.1 7 0l2-1.5 2 1.5c3 2.5 7 1.9 8.2-1.2.2-.5.8-.4 2 .7 2.3 2 8 2.8 8.6 1.2.2-.6-.2-2-1-3.2-3.3-5-4.4-7.3-4.4-10 0-3.8 1-5.7 5.4-8.7 5.2-3.8 6.8-8.6 2.8-8.6-2.4 0-4.9-2.2-6.5-5.7-3.2-7.2-2.5-15.2 2.3-28.6a57.6 57.6 0 005.4-25.2c0-7.4-.2-8.6-1.8-12.7a45.4 45.4 0 00-4.6-8.1l-2.8-3.7 3.5-3c10.8-8.9 8.6-23.5-4.4-29.1-4-1.8-5-1.9-12-1.9-4 0-10.5.6-14 1.3a98.2 98.2 0 01-14.2 1.2c-6.8 0-8-.2-10.6-1.6-2.7-1.4-3.2-2.1-3.7-5.5a2 2 0 00-1.1-1.5c-1-.3-5.2 3.4-5.8 5-.4.9-.6.8-1.5-.3a13.4 13.4 0 01-2-3.6c-1-3.3.3-5.7 4.2-7.6l3-1.4-1.8-1.1c-3.6-2.3-9.8-.7-12 3-.7 1-1.4 2-1.6 2-.2 0-1.4-1-2.6-2.3-4.7-4.6-3.1-11.4 3.2-13.4 3.3-1.1 6.3-.3 6.9 2 1 3.3 3.8-1.1 3.3-5.2-.3-2.7-.3-2.8 1.6-2.8 2.6 0 8 3.4 9.8 6 2 3.1 1.8 8-.4 11.6l-1.7 2.8 2.3-.4c3.2-.7 6.4-2.7 8-5.2a12 12 0 00.4-10.4c-1.5-2.7-1.3-3.1.9-2.2 3.6 1.5 5.6 3.2 7 6.1 1.4 2.6 1.5 3.2.8 6a17 17 0 01-2.2 4.8c-1.2 1.6-1.3 1.9-.3 1.9 1.8 0 5.4-1.7 6.7-3 .7-.8 1.7-2.5 2.2-4l1-2.5 1 2c1.5 2.7 4.5 5.2 8.1 6.8 3.9 1.6 5.5 1.7 3.5.2-1.4-1-4-8.5-3.1-9.2a51 51 0 0111.7 9c5.7 5.1 9.3 6.8 14.5 6.8 6.7 0 10.6-5.8 7.6-11.3-1.7-3.2-5.6-3.7-8-1-1 1.3-1.3 2.3-1 3.7.4 1.6.3 1.8-1.2 1.8-2 0-5.8-2.5-12.6-8.2a102 102 0 00-32.1-18.7 70.4 70.4 0 00-24.3-1.3c-6.4 1.2-14 4.9-18.2 8.8-7.3 7-7.4 16.3-.3 24.8l2 2.4-1.3 2.2a9.3 9.3 0 00.4 10.4c1 1.4 2 2.5 2.3 2.5.2 0 .4-.9.5-2 .2-2.7 1.4-4.5 3.4-5.2 1.8-.7 3-.3 11.2 3 8.7 3.4 23 3.6 38.2.6a42.6 42.6 0 0120 .2c7.2 3 8.8 10.7 3.6 16.5-2.3 2.6-4.4 3.6-11.7 5.6a54.3 54.3 0 01-19.5 1.5c-10.8-.1-14.7.1-19 1-4.9 1-7.8 1.1-21.8.8l-16.3-.4 1.8 1.4a22 22 0 003.1 2.3c1.3.7 1.2.8-.6 1.5-1 .4-3.4.7-5.3.7h-3.3l-.4 2.8a10 10 0 000 4c.4 1 .2 1.2-.8.8-.7-.3-2.6-.8-4.3-1.1a26.7 26.7 0 01-5-1.6c-1.9-1-2.1-1-2.8.3-.6 1-6.2 5.2-7 5.2a26.7 26.7 0 00-2.2-7.5c-1-2.1-1.9-4.5-2.2-5.2-.3-1.1-.5-1.2-1-.3-.3.5-.7 2-1 3.2a15.5 15.5 0 01-1.8 4.6l-1.5 2.2-1-1.9c-1-2-2.6-4.2-3.2-4.2-.2 0-.5.6-.7 1.5-.5 1.6-4.4 6.3-5.4 6.3-.3 0-.6-1.3-.6-3 0-1.5-.3-2.9-.7-2.9-.4 0-.7.5-.7 1 0 1.2-3.3 5-4.5 5-.4 0-1.2.4-1.7 1-1.2 1.3-2.2 1.1-1.7-.4a9 9 0 00-.4-3.8l-1-3.2c-.2-.5-1.4-.3-4 .5-4 1.3-5.4 1-3.3-.6.8-.6 2-2.7 2.6-4.6.7-2 1.7-3.7 2.2-3.9.7-.2.7 0-.2 1.2a5.7 5.7 0 00-1.1 2.6c0 .5-.5 1.8-1 2.9-.6 1-1 2-.9 2.1s1.7-.5 3.5-1.3l3.2-1.6v1.4c0 .8.4 2.8.9 4.5l.9 3 2.2-1c2.2-1 4.3-4.6 4.3-7.5 0-1.4.8-1.2 1.2.3 0 .4.6 2.1 1 3.7l1 2.8 1.5-1.8c.9-1 1.9-3 2.3-4.3.8-2.4 2-3.5 2-1.7 0 1.2 3.4 5.8 4 5.4.4-.2 1-1.9 1.5-3.8 1-4 2.5-6.6 3.5-6 .4.2.5.6.3 1-.2.2.6 2.8 1.8 5.6a2557.7 2557.7 0 012.6 6.3c.4 1 .8 1 3.3-1.3 1.5-1.4 3-2.9 3.1-3.4.3-.8.6-.7 2 .2a25 25 0 009.5 2.8c.2-.2.4-2 .4-4l.1-3.7 2 .4c1 .3 3.3.3 5 0l3-.4-2.7-2c-1.5-1-3-2.3-3.4-2.9-.3-.6-1.7-1.2-3.2-1.3-4.1-.4-11.4-4.4-11.4-6.4 0-.4 1 .3 2.2 1.4 2.8 2.5 6.6 4 10 4h2.4l-1.5-2a11.9 11.9 0 01-2-5.2c-.2-3-.5-3.4-3.6-5.5a35.2 35.2 0 01-5-4.3l-1.7-1.9-.9 2.3c-.5 1.3-1 2.3-1.3 2.3-.2 0-1.2-.8-2-1.7a7 7 0 00-2-1.6c-.3 0-1 1.2-1.8 2.7l-1.4 2.7-1-1.5a23.8 23.8 0 00-3-3.4c-1.2-1-1.7-1.8-1.3-1.8.4 0 1.7 1 3 2.3l2.2 2.3 1-1.7a6 6 0 00.5-3.8c-.4-1.8-.3-1.9.3-.7a16 16 0 003 3l2.2 1.8 1.5-2.7c1.5-2.8 1.5-2.8 2.1-1.1 1 2.1 7.5 7.5 13 10.6 1 .5.6-1.1-1-5a12.7 12.7 0 01-.8-4c0-1.8-.5-2.6-2.8-4.4a10.9 10.9 0 01-5-8.4c-.3-1.7-.9-3.5-1.4-4.1-.6-1-.8-.4-.6 2.6.2 2.1-.1 4.7-.6 5.8l-.8 2-.6-1.7c-.4-.9-2-2.5-3.5-3.5s-2.6-2-2.4-2.2c.2-.2 1.8.7 3.5 2 2.7 2.1 3.2 2.3 3.6 1.4.4-1 0-5.6-.8-8.8-.4-1.6-.4-1.6 1.6.4 1.4 1.4 2.2 3.2 2.9 6.2.8 3.8 1.2 4.5 4.7 7.6 2.1 1.9 4 3.3 4.1 3.2.2-.2.4-5 .6-10.8.4-11.1 0-13.8-2.7-17.2l-1.4-1.8 2.2-2.3a16 16 0 004.7-8.8l.4-2.7-2.4 2.3c-2 1.9-3 2.3-5.3 2.3s-3.2-.4-4.7-2a20 20 0 00-8.3-4.8c-1.2-.4-1.6-.2-1.6.6 0 .6-.6 2.2-1.4 3.7l-1.4 2.6-3-3c-1.9-1.7-4-3.2-5.7-3.6-4.1-1-4.3-1-4.3 2.1 0 4.7-2 5.6-5.6 2.5-2.8-2.4-5-3-10.3-2.3l-4 .4.7 1.8c.6 1.5.5 2.2-.8 3.9-2.1 2.8-4.8 4-9 4-2 0-4.4.4-5.4.9s-3.6 1-5.7 1.2c-2 .2-4.3.6-5 .8-1 .4-1 0-.7-2.2.5-3.4-2-6-5.7-6-4.9 0-7.1 4.4-5.2 10.2a44.6 44.6 0 011 3.8 23 23 0 005.2 6.6c2.6 2.6 5 5.3 5.4 6a9 9 0 003 2.5l2.2 1.2-.3-2.4c-.3-2.6.2-3 1.6-1.1.5.6 1.8 1.7 2.8 2.3 1.7 1 2 1 2 .2 0-.6.3-1.9.7-2.9l.7-1.8 1.3 2.5c.7 1.4 3 4.5 5.1 7 4.1 4.7 6.7 10 5.4 11.2-.6.5-2 .5-5-.1-2.2-.4-5-.7-6.2-.5-2.3.3-2.5 0-1-1.8 1.5-2 1.2-2.3-1.8-2.3-3.5 0-12.2-1.7-15.6-3-3.2-1.3-4-1-5 2.1l-1.7 5.6-1 3 3.6-.3a37 37 0 005.5-1 6 6 0 012.2-.3c.2.1-.3 1.3-1 2.7l-1.4 2.4 2.2-.4c1.2-.3 3-.9 4-1.4 1.8-.8 2-.8 3.4 1.5 1.7 2.7 3 2.6 3.3-.3.3-3 1.3-2.6 3.2 1.4 1.8 3.8 3.6 5.2 4 3 .1-.8 1-2 2.1-2.8 2.2-1.5 3.8-1 4.7 1.3 1 2.5-1.2 5-7.4 8.8a43 43 0 00-21.7 31c-1.9 11.8 4 24 15.6 32.9 5.6 4.2 14.5 8.6 13.9 7-2.4-7.3-2.3-21 .1-23.3.4-.4.3 1-.3 3.1-2 7.9-1 14.1 4 28.7 4.4 13.2 3.8 18.9-2.6 22.6-2 1.2-3.3 1.4-8.8 1.3-6 0-6.7 0-8.6 1.6a15.7 15.7 0 00-4.3 8.6c0 1.3 1.4 1.1 4-.4z"/>
+      <path d="M460.5 415.5l2.5-1.6 1.7 1.6c2.2 2.1 4.9 2 7-.1 1-1 1.8-1.6 1.9-1.5l.9 1.6c.5.9 1.6 1.3 3.6 1.5 2.3.1 3 0 4-1.4l1-1.7 2.5 1.6c6.8 4.4 10.4-.2 7.3-9.3-1.5-4.6-.6-7.2 4.3-13 2.1-2.5 3.8-5.2 3.8-6 0-1.1-.4-1.3-3.2-1.2-2.6 0-3.4-.3-4.8-1.8-2.3-2.5-2.1-5.4.4-8.6l2-2.5-3.6-2.4a59.7 59.7 0 01-8-7.1 25.7 25.7 0 00-17.5-9l-4.7-.5v3.6c0 4.5 2.2 8.9 8 16.3 6.6 8.4 7 9.7 7.3 20.7l.3 9.3-2 1.8c-1.7 1.6-2.4 1.9-8 2.2-5.3.3-6.5.6-8 2a8.7 8.7 0 00-3.4 5.3c-.3 1.5-.2 1.8.9 1.8.7 0 2.4-.7 3.8-1.6zm-142.2-24a5.8 5.8 0 001-3c0-1 .6-1.4 3.2-1.8l3.1-.4-2-1.7c-2.5-2-2.8-3.5-.6-3.5s5.8-2.2 6.4-3.9c.3-.8 0-1.8-.4-2.3-1.2-1.4-3.5-1.2-3.9.4-.5 1.6-1.2 1.6-3 0-2.5-2.5-2.6-7.6 0-10.6 1.1-1.4 1.1-1.4-.4-2.9-1.6-1.6-2.8-4.6-2-5.4.2-.2 1.5 0 2.8.5 2 .6 2.7.6 3.5 0 2.3-1.9-.2-4.3-4-3.7-1.6.2-2.2 0-2.4-.8-.2-.6-1.5-1.4-3-1.8-2.7-.7-2.7-.7-2.7 1.2 0 2-1.2 2.4-3.4 1.1-1.8-1-3.5-.2-3.5 1.7 0 1.8 1.7 2.6 5 2.4 2.4-.1 2.5 1.7.2 4.3l-1.7 2 1.3 1.9c2 2.8 1.8 7.5-.3 9.9l-1.7 1.8-1.1-1.5c-1.6-2-3.7-1.9-4.3.3-.3 1.4 0 2 1.8 3.6 1.2 1 3 1.8 3.9 1.8 2.3 0 2.2 1.9-.2 3.7l-2 1.5 3 .4c1.6.3 3 .7 3 1 0 1.3 2 5.2 2.6 5.2.4 0 1.2-.7 1.8-1.5z"/>
+      <path d="M356.5 374.9c2.7-1 8.5-6 8.5-7.1 0-.4-1.6-2.2-3.6-4-4-3.6-8.5-9.9-9.7-13.5-.6-2-3.5-5.2-11.7-13.2l-10.9-10.5-3.1.8c-1.8.4-3.9.8-4.7.8-1.5 0-1.5 0 .5 1.6l2 1.6 3-1.6c2.7-1.6 2.8-1.6 3.1-.3.2.7-.2 2-1 2.9-.7.9-1.1 2-1 2.3.3.3-.4 1-1.5 1.6-2 1-3.5 4.3-1.9 4.3 1.5 0 4.7-4 4.3-5.3-.2-.7 0-1.4.2-1.6 1.3-.7 1.2 2.4 0 4-.8.8-1.2 1.8-1 2.2.2.3-.5 1-1.6 1.6-2 1-3.5 4.3-1.9 4.3s4.7-3.8 4.4-5.2c-.2-.7-.2-1.5.1-1.7.9-.4 1.3 2 .6 3.2a2.3 2.3 0 000 2.2c.7 1.3 0 3.7-1.3 4.5-.5.3-.2 1 1.2 2 2 1.4 2 1.6 2 8 0 5.4.2 6.8 1.2 7.7 1 1 1.2 1 1.2 0s2-2.4 3.5-2.4c.5 0 3.4 2.5 6.5 5.5s6.4 5.7 7.3 5.8l2.2.4c.3 0 1.7-.3 3.1-1zm-33.3-26.1c0-1.7-3.6-3.6-7.9-4-3.5-.5-3.5-.4-3.5 1.3 0 1.4.5 2 3 3 3.8 1.7 8.4 1.5 8.4-.3z"/>
+      <path d="M327.1 348.6c1.8-1.6 2.6-3.4 1.5-3.4-1.2 0-4.4 2.8-4.4 4 0 1.6.6 1.5 3-.6zm-3.7-5.1c.1-1-.5-1.6-2.3-2.5-4-1.7-8.6-2.6-9.7-1.7-2.1 1.7-.7 3.9 2.6 4.3 1.4.1 3.2.5 4.1.9 2.6 1 5 .5 5.3-1zm0-5.3c.2-1.3-.7-1.8-8-4.4-5.5-2-7.9-1-6.1 2.3.6 1.1 1.6 1.6 3.9 2 1.7.2 4 .7 5.1 1.1 3 1 4.8.6 5-1zm3.6-4.9c1.1-1.1 2-2.4 2-3 0-1.5-4.3 1.3-4.9 3.3-.6 2.3.5 2.2 3-.3zm-3.6-.3c.2-1.6-2.4-3-7.6-4.1-3.9-.9-5.6-.4-5.3 1.4.2 1 1.5 1.7 5 2.8 5.9 1.8 7.6 1.8 7.9-.1zm5-7.4c6.8-3 7.3-10.5 1-12.5-2.6-.8-4.2-.3-5.2 1.4-.8 1.4-.3 3.8.7 3.8.4 0 .7.5.7 1 0 2.7-10.2 3.8-14.4 1.7-1.5-.7-2-2.7-.9-2.7 1 0 1.6-2 1.1-3.3-.6-2-2.6-2.6-5.3-1.8-6.3 1.6-6.1 9 .3 12a33.6 33.6 0 0022 .4z"/>
+      <path d="M324.3 319.8c.4-.4.2-1-.4-1.4-1.4-1.1-1.3-2.8.2-4.7 1.2-1.4 1.3-3.6 1.7-25.1.7-37.1 3.5-65 7.1-71.8 1.5-2.6 1.3-2.6-2.5 0a36 36 0 00-11.7 13.6c-6.2 11.5-8.3 27-8.3 60.2 0 18.8.1 21.3 1.2 23 1 1.8 1 2.4.4 4.2-.5 1.1-.7 2.3-.5 2.5 1.4 1.3 11.4 1 12.8-.5zm56.1-35.4c.3-.3-.2-2-1-3.6-1.2-2.6-1.7-3-3.4-3a65 65 0 01-23-6.4c-5.1-2.3-7-2.8-7.5-2.2-1.6 1.5 1 5 5 6.9a64 64 0 0018.3 3.7c2.7 0 2.8 0 1.2 2.3l-1 1.6h3l5 .6c3 .7 3 .7 3.4.1z"/>
+      <path fill="#000" d="M412 301.1c0-1-2.9-3.5-5.7-5.2-2.3-1.3-2.7-1.4-2.7-.3 0 1.6-1.4 5.7-2 5.7-.3 0-.8-.8-1-1.7-.3-1-1.4-3-2.5-4.3l-2-2.5-1.4 2.3c-1.4 2.2-3.9 4.3-5 4.3-.2 0-.3-1.2 0-2.5.1-1.6 0-2.8-.5-3-.4-.3-.8-.2-.8.2 0 .8-3.4 4.6-4 4.6-.4 0-.8-1-1-2.4l-.8-4.8c-.2-1.2.3-.4 1 2l1.6 4.1 1.6-2.5a11 11 0 001.6-3.4c0-.5.3-.7.7-.5.4.2.9 1.9 1.1 3.7l.5 3.4 1.8-2a28.8 28.8 0 002.6-3.2c.7-1.2.8-1.2 2.3 0 .8.8 2.1 2.5 2.9 3.9s1.5 2.4 1.6 2.3l.6-3.2.4-3c.1-.5 5.4 3 7.4 4.7 1.2 1.1 2.4 1.9 2.6 1.7.2-.2.4-1.8.4-3.7 0-2.8-.3-3.6-2-5.1-2-1.8-2-1.8-2.8-.5-1 1.7-2.1 1.7-2.1 0 0-1.2-3.8-5.9-4.7-5.9-.3 0-1.1 1-1.8 2.3s-1.5 2.3-1.7 2.3c-1 0-6.3-6-6.3-7 0-.8.4-.6 1.3.8a21 21 0 003.1 3.6c2 1.8 2.8 1.4 3.6-2.1.3-1 .7-1.8 1-1.8.8 0 5.4 4.9 6 6.5l.7 1.6.5-1.8c.6-2.2 1.3-2.2 2.3-.2.4.8 2.4 2.6 4.4 3.8l3.7 2.4.7-2.4c.4-1.3 1-2 1.2-1.6.4.5-.6 4.5-1.3 5.3 0 .1-1.3-.6-2.6-1.5l-2.5-1.8v3.2c0 1.7-.2 3.8-.4 4.6-.5 1.6-1.7 2-1.7.6zm-18.5-25.4c-4.4-3.6-5-4.4-5-6.2l.1-1.8.3 1.7c.2 1 1.4 2.6 2.8 3.8l2.6 2 1.5-1.8c.9-1 1.6-2.2 1.6-2.6 0-1.2.2-1.1 3.2 1.5 2.6 2.3 2.7 2.3 3 .8.3-.8.2-2.4 0-3.5-1-3-.8-3.4.5-1.6l2.4 2.8c1 1.1 1.1 1.1 1.5-.3.3-.9.5-2.4.5-3.4v-1.9l2.3 2.7c2.3 2.6 2.5 2.7 3.1 1.4.5-.7.8-2.4.8-3.7 0-1.8.2-2.2.6-1.6.8 1.2.3 4.2-1.1 6.8l-1 2-1.3-2.1c-1.7-2.6-2.3-2.6-3.3.2-1 2.7-1.7 2.9-2.7.8-.6-1.3-.8-1.1-1.2 1.7l-.5 3-3-2.3-3-2.3-1.5 1.5c-.7.9-1.3 2-1.3 2.4 0 1-.8 1-1.9 0zm39-13.6c-1.5-1.4-2.6-2.8-2.4-3 .3-.3.5-.4.6-.2a67 67 0 003 3c3.4 3.6 2.7 3.7-1.1.2zm-52-5.4c-1.4-2-1.3-3.2.5-5.4 1.2-1.5 1.8-1.7 4-1.4 1.5.1 4.6 1.4 6.9 2.8a21.2 21.2 0 0011 3l-1.7-2.8c-2.2-3.3-2.2-3.7.4-1.7 2.6 2.1 5.7 2.7 12.7 2.5l3.4-.1-2-2c-2.7-2.7-1.9-3 1.2-.3 2.8 2.5 2.7 2.7-3.4 3.3a23 23 0 01-7.6-.5c-3.4-1-3.6-.9-2.9.2.4.7 1 1.2 1.3 1.2.4 0 .7.4.7.8 0 1.3-7.4.1-11-1.6-8-4.1-9-4.5-11-3.9a4.3 4.3 0 00-2.4 2.3c-1.3 3.3 3.4 5.9 5.3 3 .6-.9.5-1.4-.5-2.5-1.4-1.4-1.2-1.6.6-1 1.3.5 1.4 3.6.2 4.8-1.3 1.3-4.5 1-5.7-.7z"/>
+      <path fill="#000" d="M412.4 248.6c-1-1-.2-1.2 4.3-1.3 5.6-.1 9-1 13-3.6 3.2-2 4.1-1.6 1 .5-2.7 2-7 3.4-11.3 3.8l-5.1.7c-.8.2-1.7.1-2-.1z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lr.svg
new file mode 100644
index 0000000..0ae34e7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lr.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lr" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#fff" d="M0 0h767.9v512H0z"/>
+    <path fill="#006" d="M0 0h232.7v232.8H0z"/>
+    <path fill="#c00" d="M0 464.9h767.9V512H0z"/>
+    <path fill="#c00" d="M0 465.4h767.9V512H0zm0-92.9h767.9v46.2H0zm0-93.2h766V326H0zM232.7 0h535.1v46.5H232.7zm0 186h535.1v46.8H232.7zm0-92.7h535.1v46.5H232.7z"/>
+    <path fill="#fff" d="M166.3 177.5l-50.7-31-50.4 31.3 18.7-50.9-50.3-31.4 62.3-.4 19.3-50.7L135 95h62.3l-50.1 31.7 19.1 50.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ls.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ls.svg
new file mode 100644
index 0000000..e71bb5b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ls.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ls" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="#009543" d="M0 358.4h512V512H0z"/>
+  <path fill="#00209f" d="M0 0h512v153.6H0z"/>
+  <path stroke="#000" stroke-width="1.7" d="M257.6 163.1c-3 0-5.8 3.3-5.8 3.3l.3 34.5-11 11.5h9l-.2 19.7-52.2 70.4-7.7-2.7-13.5 28.8s33.4 20.9 81.8 20.3c53.2-.7 82-21.3 82-21.3l-13.9-28.4-6.8 3-53-70v-20.4h8.8l-12-11.3.1-34.4s-3-3-5.9-3z"/>
+  <path fill="none" stroke="#000" stroke-width="8.5" d="M275.8 245.8h-36.1s-13.1-27.6-11-47c2.2-19.6 13.4-28.9 28.4-29 17.6-.3 26.8 8.6 29.6 28.3 2.8 19.5-10.9 47.7-10.9 47.7z"/>
+  <path fill="#fff" d="M194.5 311.6c-.6.8-5 9.4-5 9.4l7.5-1.6-2.5-7.8zm4.3 11.2l-7.9 2.6 9.5 3.7-1.6-6.3zm3.6-11l3.9 11.6 9.6-2.8-2.5-5.5-11-3.3zm6 15.7l1.4 4.7 12.8 3.2-5-10.8-9.1 3zm14.2-9.8l4.5 10.8 9.7-3.7-3.2-4.8-11-2.3zm6.3 14.7l1.6 4.2 15 2.1-6.4-9.8-10.2 3.5zm14.4-11.6l5.5 9.7 14-5.1-1.6-3.8-18-.8zm8 13.2l3 5.1 17.3-.6-6.5-9.6-13.8 5.1zm18.3-12.8l4.8 8 11-5.2-3-4.3-12.8 1.5zm18.1 6.1l-11 5.5 3 4.8 14.7-2.4-6.7-7.9zm3.6-8.4l5.7 7 9.2-7.2-3.1-3.4-11.8 3.6zm16.9 3.7l-8.9 6.7 2.4 4.1 12.2-3.1-5.7-7.7zm12.2-14l2.2 3.2-6.1 9-6.3-8 10.2-4.2zm4.1 7.9l3.8 7.5-7.5 2.5-.6-3.5 4.3-6.5z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lt.svg
new file mode 100644
index 0000000..aa96cf3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lt.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lt" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt" transform="scale(.51314 1.0322)">
+    <rect width="1063" height="708.7" fill="#006a44" rx="0" ry="0" transform="scale(.93865 .69686)"/>
+    <rect width="1063" height="236.2" y="475.6" fill="#c1272d" rx="0" ry="0" transform="scale(.93865 .69686)"/>
+    <path fill="#fdb913" d="M0 0h997.8v164.6H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lu.svg
new file mode 100644
index 0000000..6293671
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lu.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lu" viewBox="0 0 512 512">
+  <path fill="#00a1de" d="M0 256h512v256H0z"/>
+  <path fill="#ed2939" d="M0 0h512v256H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lv.svg
new file mode 100644
index 0000000..5556de1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/lv.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lv" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#981e32" d="M0 0h512v204.8H0zm0 307.2h512V512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ly.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ly.svg
new file mode 100644
index 0000000..fe0ed81
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ly.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ly" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path d="M250 12h500v500H250z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-256 -12.3) scale(1.024)">
+    <path fill="#239e46" d="M0 12h1000v500H0z"/>
+    <path d="M0 12h1000v375H0z"/>
+    <path fill="#e70013" d="M0 12h1000v125H0z"/>
+    <path fill="#fff" d="M544.2 217.8a54.3 54.3 0 100 88.4 62.5 62.5 0 110-88.4M530.4 262l84.1-27.3-52 71.5v-88.4l52 71.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ma.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ma.svg
new file mode 100644
index 0000000..85c99b3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ma.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ma" viewBox="0 0 512 512">
+  <path fill="#c1272d" d="M512 0H0v512h512z"/>
+  <path fill="none" stroke="#006233" stroke-width="12.5" d="M256 191.4l-38 116.8 99.4-72.2H194.6l99.3 72.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mc.svg
new file mode 100644
index 0000000..d38822d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mc.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mc" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#f31830" d="M0 0h512v256H0z"/>
+    <path fill="#fff" d="M0 256h512v256H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/md.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/md.svg
new file mode 100644
index 0000000..86b2a96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/md.svg
@@ -0,0 +1,71 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-md" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#00319c" d="M0 0h170.7v512H0z"/>
+    <path fill="#ffde00" d="M170.7 0h170.6v512H170.7z"/>
+    <path fill="#de2110" d="M341.3 0H512v512H341.3z"/>
+  </g>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M173.6 691v63.7c0 3.6 0 7.1-3.5 7.1-3.6 0-7.1 7-7.1 10.6 0 7.1 3.5 10.7 7 10.7h32c3.5 0 7-3.6 7-10.7-.2-3.7-3.5-10.6-7-10.6-3.6 0-3.6-3.5-3.6-7v-63.9" transform="matrix(.46695 -.29552 .30926 .4462 -5.1 64.5)"/>
+  <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M177.2 696.3c0 24.4-9.6 44.3-21.3 44.3-11.7 0-21.3-19.9-21.3-44.3S144.3 652 156 652s21.3 19.8 21.3 44.3z" transform="matrix(.42858 -.34452 .36055 .40954 -29.7 77.3)"/>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M173.6 691v63.7c0 3.6 0 7.1-3.5 7.1-3.6 0-7.1 7-7.1 10.6 0 7.1 3.5 10.7 7 10.7h32c3.5 0 7-3.6 7-10.7-.2-3.7-3.5-10.6-7-10.6-3.6 0-3.6-3.5-3.6-7v-63.9" transform="matrix(.48902 .26089 -.27302 .46728 313.4 -58.3)"/>
+  <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M421.6 701.6h-28.3c-1 1-9 54-17.7 74.4-10.6 24.8-42.5 46.7-42.5 46.7s19 6 24.8 10c1.4-.4 31.8-7.1 35.4-46 3.5 38.9-21.3 56.6-21.3 56.6s35.5 10.6 35.5 35.5c0-24.8 35.4-35.5 35.4-35.5s-17.8-17.7-21.3-56.7c7 39 34 45.7 35.5 46 5.7-3.9 24.7-10 24.7-10S450 800.9 439.4 776c-8.7-20.3-16.8-73.5-17.7-74.4z" transform="matrix(.56007 0 0 .53518 29.7 -86.3)"/>
+  <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M336.6 467.7l53.2 17.7a38 38 0 0035.4-35.4c.6-39.4-14.2-53.2-17.7-53.2l7-7L404 379s3.6-18.4 39-17.7c35.4.7 35.4 17.7 35.4 35.4 0 17.8-17.7 17.8-17.7 53.2a38.1 38.1 0 0035.5 35.4l53.1-17.7V645H336.6V467.7z" transform="matrix(.56007 0 0 .53518 9.8 -56)"/>
+  <g fill="none" stroke="#000">
+    <path stroke-width=".6" d="M302.2 292.2l14.6 15 14.7-15 14.6 15 29.3-15 14.3 15.8 15-15.8 21.6 15.8 22.3-15.8 14.6 15 14.7-15" transform="matrix(.1355 0 0 .38018 203 87)"/>
+    <path stroke-width=".3" d="M432.3 435.8l-7.1 39m10.6-39v39m7.1-39v39m7.1-39l3.5 39m3.6-39l3.5 39" transform="matrix(.56007 0 0 .53518 9.8 -56)"/>
+  </g>
+  <g stroke="#000" stroke-width="3.1">
+    <path fill="#a77b3b" fill-rule="evenodd" d="M318.9 361.4c35.4 17.7 35.4 53.2 35.4 70.9-1.2 16.1 0 354.3 0 354.3s-2.3-20-17.7-35.4L319 733.5l-17.7-17.7c-13-11.8-17.7-35.5-17.7-53.2v-248s0-17.8 35.4-53.2z" transform="matrix(-.56007 0 0 .53518 357.1 -56)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.56007 0 0 .53518 357.1 -131.8)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.56007 0 0 -.53518 357.1 492)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.56007 0 0 .53518 357.1 -94)"/>
+    <path fill="none" d="M301.4 557l-.2 158.8" transform="matrix(-.56007 0 0 1.01529 357.1 -399.6)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(-.56007 0 0 .91125 347.3 -316)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(-.56007 0 0 1.0208 337.4 -384.6)"/>
+  </g>
+  <g stroke="#000" stroke-width="3.1">
+    <path fill="#a77b3b" fill-rule="evenodd" d="M318.9 361.4c35.4 17.7 35.4 53.2 35.4 70.9-1.2 16.1 0 354.3 0 354.3s-2.3-20-17.7-35.4L319 733.5l-17.7-17.7c-13-11.8-17.7-35.5-17.7-53.2v-248s0-17.8 35.4-53.2z" transform="matrix(.56007 0 0 .53518 158.7 -56)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.56007 0 0 .53518 158.7 -131.8)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.56007 0 0 -.53518 158.7 492)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.56007 0 0 .53518 158.7 -94)"/>
+    <path fill="none" d="M301.4 557l-.2 158.8" transform="matrix(.56007 0 0 1.01529 158.7 -399.6)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(.56007 0 0 .91125 168.5 -316)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(.56007 0 0 1.0208 178.4 -384.6)"/>
+  </g>
+  <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="3.1" d="M177.2 696.3c0 24.4-9.6 44.3-21.3 44.3-11.7 0-21.3-19.9-21.3-44.3S144.3 652 156 652s21.3 19.8 21.3 44.3z" transform="matrix(.51699 .20584 -.21541 .49401 290.2 -73.2)"/>
+  <path fill="red" fill-rule="evenodd" d="M198.4 203.8h119v56.9h-119z"/>
+  <path fill="#564dff" fill-rule="evenodd" d="M198.4 260.7h119V289c0 19-29.7 19-59.5 38-29.8-19-59.5-19-59.5-38v-28.4z"/>
+  <path fill="none" stroke="#ff0" stroke-width="2.5" d="M336.6 485.4h212.6V645c0 35.4-53.1 35.4-106.3 70.9-53.1-35.5-106.3-35.5-106.3-71V485.5z" transform="matrix(.56007 0 0 .53518 9.8 -56)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="3" d="M385.6 129.9S335 185.4 335 238.5c0 53.1 53.1 70.9 53.1 70.9s-17.7 0-17.7 70.8c0 35.5 53.1 17.8 53.1 35.5s-.7 60.5 0 88.6c0 17.7-35.4 0-35.4 17.7 0 8.8 26.6 53.1 53.2 53.1s53.1-44.3 53.1-53.1c0-17.7-35.4 0-35.4-17.7v-88.6c0-17.7 53.1 0 53.1-35.5 0-70.8-17.7-70.8-17.7-70.8s53.2-17.7 53.2-70.9-50.7-108.6-50.7-108.6 28.5 73.2 28.5 108.6c0 17.7-13.3 53.2-48.7 53.2 0 0-9-17.8-17.7 0 0 0-10.2-17.8-17.7 0-2.6 6-7.2-17.8-17.8 0-4.4 4.7-8-17.8-17.7 0-17.7 0-53.1-17.8-53.1-53.2s32.9-108.6 32.9-108.6z" transform="matrix(.39205 0 0 .2513 84.9 175)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="3" d="M382.7 248c-3.6 3.6 4.6 61.3 7 63.8 3.6 3.5 24.9 3.5 28.4 0 2.5-2.5 0-56.7-3.5-60.2-3.6-3.6-29.4-6-32-3.6z" transform="matrix(.39205 0 0 .2513 86.4 225)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="3" d="M382.7 248c-3.6 3.6 4.6 61.3 7 63.8 3.6 3.5 24.9 3.5 28.4 0 2.5-2.5 0-56.7-3.5-60.2-3.6-3.6-29.4-6-32-3.6z" transform="matrix(-.39205 0 0 .2513 429.4 225)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="3" d="M414.6 228.5a16 16 0 11-32 0 16 16 0 0132 0z" transform="matrix(.45063 0 0 .31327 63.9 210.4)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="3" d="M414.6 228.5a16 16 0 11-32 0 16 16 0 0132 0z" transform="matrix(.45063 0 0 .31328 92.6 210.4)"/>
+  <path fill-rule="evenodd" d="M270.4 311c0 1.2-1.6 2.2-3.5 2.2s-3.4-1-3.4-2.2 1.5-2.2 3.4-2.2 3.5 1 3.5 2.2zm-18 0c0 1.2-1.6 2.2-3.5 2.2s-3.5-1-3.5-2.2 1.6-2.2 3.5-2.2 3.4 1 3.4 2.2z"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M439.4 550l-7.8-10.3-12.8 1.7 1.8-12.8-10.3-7.7 10.3-7.8-1.8-12.8 12.8 1.8 7.8-10.3 7.8 10.3 12.7-1.8-1.7 12.8 10.2 7.8-10.2 7.8 1.7 12.7-12.8-1.7z" transform="matrix(.54641 0 0 .52213 17.8 -47.3)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M496 591.7l21.3 10.7 21.3-10.7-21.3-10.6-21.2 10.6z" transform="matrix(.56007 0 0 .53518 9.8 -56)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M496 591.7l21.3 10.7 21.3-10.7-21.3-10.6-21.2 10.6z" transform="matrix(.56007 0 0 .53518 -75.5 -56)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M535 659c-3.5-7-14.1-10.6-21.2-10.6s-14.2 0-21.3 10.7c0-14.2 10.5-21.3 21.3-21.3a22.7 22.7 0 0121.2 21.3z" transform="matrix(.48568 -.26652 .27892 .4641 -137.5 131.4)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.56007 0 0 .53518 7.9 -65.5)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.56007 0 0 .53518 3.9 -52.2)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.56007 0 0 .53518 1.9 -59.8)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.56007 0 0 .53518 11.8 -52.2)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.56007 0 0 .53518 13.8 -59.8)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.56007 0 0 .53518 7.9 -57.9)"/>
+  <g fill-rule="evenodd">
+    <path fill="#da4500" d="M238.7 159c-10 0-11.3 1.5-15.8 3 0-4.3 11.1-9.4 21.1-9.4 0 3.2-2.6 6.3-5.3 6.3z"/>
+    <path fill="#cac9c7" d="M254 148.8c0 2.1-1.8 3.8-4 3.8s-4-1.7-4-3.8 1.8-3.8 4-3.8 4 1.7 4 3.8z"/>
+    <path fill="#ff0" stroke="#000" stroke-width="1pt" d="M361.4 357.9v10.6h17.7v53.1h10.7v-53.1h17.7v-10.6h-17.7v-14.2H379v14.2h-17.7z" transform="matrix(.56007 0 0 .53518 9.8 -56)"/>
+    <path fill="#da4500" d="M244 152.6a64 64 0 00-23.8 3.2c0-5.9 6.8-12.7 18.5-12.7 2.7 0 5.3 6.3 5.3 9.5z"/>
+  </g>
+  <g fill-rule="evenodd">
+    <path fill="#008500" stroke="#000" stroke-width=".9" d="M67.3 613c-14.2-14.2-16.6-21.4 3.6-10.1l283.7 247.5-3.4 7L67.4 613z" transform="matrix(.31554 .24102 -.11439 .19257 189.7 119)"/>
+    <path fill="#008f00" d="M182.3 329.6c.7-8.6-15-17.9-15.7-17.3-.6.6 1 5.6 4 8.2-5.8-2.9-11.8-4.7-12-3.4-.4 1.7 9 5.8 9.8 7.4 0 1.1-7 1-6.8 2.1.1 1.2 19.7 11 20.7 3zm-15.7-25c.6-8.6-15.1-18-15.8-17.3-.6.6 1 5.6 4 8.2-5.7-3-11.7-4.8-11.9-3.5-.4 1.7 9 5.8 9.7 7.4.1 1.2-6.9 1-6.7 2.2.1 1.1 19.7 11 20.7 3zm-12-22.8c.6-8.6-15.2-17.9-15.8-17.3-.6.6 1 5.6 4 8.2-5.8-3-11.8-4.7-11.9-3.4-.5 1.7 9 5.8 9.7 7.4.1 1.1-6.9 1-6.8 2.1.2 1.1 19.7 11 20.7 3zm-12-24.6c.7-8.6-15-18-15.7-17.3-.6.6 1 5.6 4 8.2-5.8-3-11.8-4.8-11.9-3.5-.5 1.7 8.9 5.8 9.7 7.4.1 1.2-6.9 1-6.8 2.2.1 1 19.7 11 20.7 3z"/>
+    <path fill="#008f00" d="M146.7 256c7.7-4.6 6.2-22.2 5.3-22.3-.9-.2-4.2 4-4.6 7.9-1-6.2-3-11.9-4-11.2-1.8.7.3 10.3-.6 11.9-.9.7-5-4.7-5.8-4-.9.8 2.4 21.7 9.7 17.7zm11 21.7c8.9-2 13.6-19 12.9-19.4-.8-.4-5.4 2.5-7.1 6 1.3-6.1 1.3-12.1 0-11.9-1.8.1-3.3 9.8-4.6 11-1.1.5-3-6-4.1-5.5-1.1.4-5.3 21.2 3 19.8zm13.3 22.1c8-4 8.2-21.6 7.3-21.8-.9-.2-4.5 3.7-5.3 7.5-.4-6.2-1.8-12-3-11.5-1.8.5-.7 10.3-1.7 11.8-1 .6-4.4-5.2-5.4-4.5-1 .7.4 21.9 8 18.5zm14.2 29c8.4-3.2 10.5-20.8 9.6-21-.8-.4-4.9 3.1-6 6.8.3-6.2-.6-12.1-1.8-11.7-1.9.4-1.7 10.2-2.9 11.6-1 .6-3.9-5.5-4.9-5-1 .7-2 21.8 6 19.2z"/>
+  </g>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M209 776c0 7.8-10.2 14.2-23 14.2s-23-6.4-23-14.2 10.3-14.2 23-14.2 23 6.4 23 14.2z" transform="matrix(.48902 .26089 -.27302 .46728 313.4 -58.3)"/>
+  <g fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width=".6">
+    <path d="M156 414.6v-7.1h7v-7.1h7v7h7.2v7.2H170v17.7h-7v-17.7h-7zm7 60.2h7v205.5h-7z" transform="matrix(.40549 .1277 -.14842 .38308 363.6 58)"/>
+    <path d="M159.4 676.8h14.2v56.7h-14.2zM156 439.4h21.3c14.1 0-3.6 39-3.6 39h-14.1s-17.8-39-3.6-39zm17.6-5.4c0 3-3.1 5.4-7 5.4s-7.1-2.4-7.1-5.3 3.1-5.4 7-5.4 7.1 2.4 7.1 5.4z" transform="matrix(.40549 .1277 -.14842 .38308 363.6 58)"/>
+  </g>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M209 776c0 7.8-10.2 14.2-23 14.2s-23-6.4-23-14.2 10.3-14.2 23-14.2 23 6.4 23 14.2z" transform="matrix(.46695 -.29552 .30926 .4462 -5.1 64.5)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/me.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/me.svg
new file mode 100644
index 0000000..56a19ed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/me.svg
@@ -0,0 +1,118 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-me" viewBox="0 0 512 512">
+  <path fill="#d3ae3b" d="M0 0h512v512H0z"/>
+  <path fill="#c40308" d="M25.6 25.6h460.8v460.8H25.6z"/>
+  <path fill="#b96b29" d="M367.4 251.8c3-.8 13.5-3.9 20.8-9.8 7.3-6 8.8-10.7 9.4-13.3.6-2.6.8-4.6-1-3.2-2 1.5-7.7 6-11.6 8.2a43 43 0 01-9.6 3.7c-2 .6-3.8 1-1.7.2 2-.8 8.6-3.1 13.7-8.2 5.1-5.2 9.2-12.8 9.3-17.6 0-4.7-.3-4.3-1.8-3.1-1.5 1.1-6.9 7.8-10 10.3a96 96 0 01-10.3 7.3c-2.4 1.4-5.8 3-1-.2 4.8-3.3 13.8-11 17.5-21 3.7-10 3-16 3-17-.1-1-1-3-1.8-1.1-.8 1.8-6.9 14-11.8 19.2-4.8 5.2-3.7 4.2-4.8 5-1 .8-3 2.3-.5-.6 2.3-3 7.2-9.7 9.7-16.5a54.9 54.9 0 003.3-17.3c0-3.9-1.6-9.2-2.4-10.8-.7-1.6-1.5-2.8-1.7-1s-4.2 13.8-6.3 19.6a74.9 74.9 0 01-7.1 13.7c-.8 1.2-3 3.8-.7-.6a82.6 82.6 0 007.5-29.4 47 47 0 00-2.8-22.3c-1.6-3.3-3.1-4.5-3.1-4.5s.3 8.3-2.2 20.3-6.1 18.2-6.1 18.2-1.5 1.8-.5-1.1c.7-2 2.2-6.2 2.8-13.4.7-7.5.8-16.1-1.4-23.4-2.4-8-6.5-12-6.5-12-1.2 11.4-1 26-5.2 38-.7-.7-1.8-2-2.2.7a67.3 67.3 0 01-7.4 20.6c-5.2 9.4-7.3 10.6-7.3 10.6l-1.6-3.5c-.7-1.3-1-2-2-.2-.8 1.7-3.7 8.3-10 15.6-6.3 7.2-9.8 10.8-9.6 16.2.2 5.5 3 8.3 6.9 10.7 3.8 2.5 4.5 3.9 3.9 6.8-.6 3-4 4-7 4.1-3 .1-6.7-.1-8 .6-1.3.8-1.4 2.7-2.8 4-1.3 1.4-1.9 2.1-3.1 2.3l-1 .2c-.4-14.4 5.2-20.8 5.2-20.8L291 217.7l-2.4 1.1a4.4 4.4 0 00-.4-.7 12 12 0 01-2.8-8.3c.8.1 2.3.7 3.8.4 1.4-.3.3-1.7-.1-3a27.6 27.6 0 01-.2-10.3s2.3 2.4 3.7 2.4c1.4 0 1.3-1.4 1.5-3a12 12 0 013.2-6.9s2.5 1.7 5.3 1.7c2.9 0 6.7-.7 9.7-3.6 3-3 3-3.6 3-3.6s5.6 2 10 2.2c4.2.2 8.8-.5 11-5 2.2-4.6-.6-8.8-1.1-9.5-.5-.7-2-1.3-2 0s.1 4.7-2.5 6.4c-2.6 1.7-4.6 1.6-7.1.8a21.8 21.8 0 00-14-.3c.2-.2 3.4-3.5 6.6-4.5 3.2-1 5.1.4 6.2 1.6 1 1.3 2 3.4 2.8.4.9-3 .4-6.4-1-8.6a8 8 0 00-7.7-3.2c-3.1.3-4.3.8-4.3.8s-1.6-4.6-5.7-5.4c-5-1-10.5.8-14.8 3.2 0 0-3.4.8-6.8-.2a22.4 22.4 0 01-5.9-2.9 301.9 301.9 0 011.2-3.7l2-.7c1-.4.8-.8 1-1.6.1-.9-2-2.4-2-2.4s-.3-2.6 3.1-4.3l3-1.5s2 .3 2.9-.2c.8-.6.8-1 .8-1s1.5-.5 2-1.4c.6-1 .7-2.2.3-3.3-.4-1-1-1.3-.4-1.8a4.5 4.5 0 001.2-2.5v-1s1.2-.5 1.1-2.3c0-1.7-1-2.4-1.6-2.6l-.9-.1s0-1.1-1-2.5c-.9-1.4-1.5-2-1.5-2s.7-.5.3-1.7a3.1 3.1 0 00-2-2.1c-.7-.3-1.6 0-1.6 0l-4-2.3-1.5-.8s0-1.1-.5-1.7c-.4-.6-1.5-.9-2-.9-.6 0-1.2.3-1.2.3s-4.5-1.1-6.4-1.4c-1.9-.3-2-.5-2-.5s-4-1.9-5.5-2.2l-2-.5s1.6-2 1.7-4.2a6.3 6.3 0 00-3-5.4l-1.7-.8V99l3 .3.2-4.8-3 .4.5-3h-6.2l.5 2.9-3-.2.3 4.8 3-.4-.2 1.8s-1.1.2-2.1.9a5.7 5.7 0 00-2.9 5.1 9.2 9.2 0 001.5 4.3l-2 .4c-1.5.3-5.6 2.2-5.6 2.2s0 .2-2 .5l-6.3 1.4s-.6-.3-1.2-.3c-.5 0-1.6.3-2 .9-.5.6-.5 1.7-.5 1.7l-1.6.8-4 2.3s-.8-.3-1.6 0a3.1 3.1 0 00-2 2.1c-.3 1.2.3 1.7.3 1.7s-.6.6-1.5 2-1 2.5-1 2.5l-.9.1c-.5.2-1.5.9-1.5 2.6-.1 1.8 1 2.2 1 2.2l.1 1c0 1 .6 2.1 1.1 2.6.6.5 0 .7-.3 1.8a4 4 0 00.2 3.3c.6.9 2 1.4 2 1.4s0 .4.9 1c.8.5 2.8.2 2.8.2s-.4-.3 3 1.4c3.4 1.8 3.1 4.4 3.1 4.4s-2 1.5-2 2.4c.2.8 0 1.2 1 1.6l2 .7 1.2 3.7c-1.3.9-3.5 2.3-5.8 3-3.4 1-6.8.1-6.8.1a22.5 22.5 0 00-14.8-3.2c-4.1.8-5.8 5.4-5.8 5.4s-1.1-.5-4.3-.8a8 8 0 00-7.6 3.2 11.1 11.1 0 00-1 8.6c.8 3 1.7 1 2.8-.4 1-1.2 3-2.6 6.2-1.6a19 19 0 016.5 4.5s-.5-.4-4-.9c-4-.5-7.4.4-10 1.2-2.4.8-4.4.9-7-.8-2.7-1.7-2.6-5.1-2.6-6.4 0-1.3-1.4-.7-1.9 0s-3.3 4.9-1.1 9.4c2.2 4.5 6.8 5.3 11 5 4.4-.2 10-2.2 10-2.2s0 .8 3 3.7c3 2.9 6.8 3.6 9.6 3.6s5.3-1.7 5.3-1.7a12 12 0 013.3 7c.2 1.5 0 3 1.5 3s3.6-2.5 3.6-2.5l.4 2.4c.2 1.7-.1 6.5-.5 7.8-.4 1.4-1.5 2.8 0 3 1.3.4 2.9-.2 3.7-.3a12 12 0 01-2.8 8.3 4.8 4.8 0 00-.4.7 57.5 57.5 0 01-2.3-1.1L205.6 236s5.6 6.4 5.3 20.9v-.1a20.7 20.7 0 01-1.2-.2c-1.2-.2-1.8-1-3.1-2.3-1.3-1.3-1.4-3.2-2.8-4-1.3-.8-5-.5-8-.6-3 0-6.4-1.1-7-4-.5-3 .1-4.4 4-6.9 3.8-2.4 6.6-5.2 6.8-10.7.2-5.4-3.3-9-9.6-16.2-6.3-7.3-9.2-13.9-10-15.6-1-1.7-1.3-1-2 .2l-1.6 3.5s-2-1.2-7.2-10.6a67.2 67.2 0 01-7.5-20.7c-.4-2.6-1.4-1.3-2.2-.6-4.2-12-4-26.7-5.1-38 0 0-4.2 4-6.6 12a63.8 63.8 0 00-1.4 23.4c.6 7.2 2.1 11.5 2.8 13.4 1 2.9-.5 1.1-.5 1.1s-3.6-6.3-6-18.2c-2.6-12-2.3-20.3-2.3-20.3s-1.4 1.2-3.1 4.5a47 47 0 00-2.8 22.3c.6 12.2 5.1 25 7.5 29.4 2.4 4.4.2 1.8-.7.5-.8-1.2-5-7.8-7.1-13.6A242 242 0 01128 165c-.3-1.8-1-.6-1.8 1s-2.4 7-2.4 10.8a54.9 54.9 0 003.3 17.3 68.1 68.1 0 009.8 16.5c2.3 3 .5 1.4-.6.6s0 .1-4.8-5a98.3 98.3 0 01-11.8-19.2c-.8-1.9-1.7.1-1.7 1.2-.1 1-.8 6.9 2.9 16.9a48.8 48.8 0 0017.6 21c4.8 3.2 1.3 1.6-1.1.2A96 96 0 01127 219c-3-2.5-8.4-9.2-9.9-10.3-1.5-1.2-1.8-1.6-1.7 3.2 0 4.7 4 12.3 9.2 17.4 5 5.2 11.7 7.5 13.7 8.3 2 .8.4.4-1.7-.2a42.9 42.9 0 01-9.6-3.7c-3.9-2.2-9.6-6.7-11.5-8.2-1.9-1.4-1.6.6-1 3.2.5 2.5 2 7.3 9.3 13.3 7.4 6 17.8 9 20.8 9.8 3 .9.9.9.9.9l-7.3-1.5c-6-1.4-15.3-6.2-17.8-7.8-2.5-1.5-2.8-2.1-2.5 1.2.3 3.3 3.9 10.3 9.5 13.6a53 53 0 0018.3 5.1c2.6.2 2 .5.8.6a55.1 55.1 0 01-20.6-3.5 32 32 0 01-.5-2.1c-.2-1.3-.9-1-1.3-.8-.4.3-.6.5-2 1.2s-1.5-.1-1.5-.6l-.4-3.1c0-1-.5-1-1.2-.7l-5 2c-1 .6 0 1.5.6 2.6a157 157 0 001.5 2.8l-3.8 1c-1 .2-.7.9-.4 1.5l2 4.9c.4 1 1.2.4 1.2.4l3-1.8 1 4c-.1 0-1.4.3-2.9 1.3s-1 2.4.7 2.9c1.8.5 3.8 1.4 6.1 5.6 2.3 4.1 2.9 11.6 4.3 23.4 1.4 11.8 9 17.8 10 18.5 1 .8.4 1.4.4 1.4s-1 1.5-.6 3.7a5.7 5.7 0 003.5 4c1 .4.8 1.5.8 1.5s-.6 2.5 0 7c.5 4.7 4.2 9.9 5.3 10.8 1 .8 1 1.3 1 1.7-.2.3-.9 0-2.1 1-1.3 1-2.7 2.3-3.6 4-.9 1.6-.6 2.5-.3 4.7.3 2.3 3.6 4.3 3.6 4.3s-.6.1-.8 1.8c-.1 1.6 1 3.4 2.6 4.6 1.4 1.2 4.2 1.8 4.2 1.8l.4 2.4c.2 1 2 2 3.2 2.6 1.2.6 3.5.3 4.4-.2 1-.4 1.7.1 2.2 1 .6 1 .4 4.7.4 6.2s-.9 3-.4 3.8c.6.7 2 .2 3.4-.6s1.7-.2 3 .6 3.3 1.6 3.8 1.5c.5 0 .3-1.4.3-2.5 0-1.2.2-3.7.7-4 .2-.2 2.4-.4 4-1 .9-.4 1.8-.7 2-1.5 0-.7-1.1-.7-3.6-2-2.4-1.3-2.8-2-4.4-3-1.5-1-.8-1.4-.8-1.9 0-.4.7-1 1-1.5.3-.6.2-2 .2-2l1.8-1.9c.6-.7 1.4-1.7 2.2-2.4.8-.6 2-3.8 2.9-4.9.8-1 2.6-2.1 3.7-3.5s4-3.7 5.8-4.8c1.7-1.2 6.3-3.3 6.3-3.3s-.1 2.7 1 4c1.3 1.4 2.8-1 8-4.7s9.3-5 9.3-5l2.5 3.5c1.4 1.7 2.7-.1 9.1-9 5-7 11.8-13.4 14.4-15.8l1.4.6-.4 1.2c-.6 1.8-1.5 3-2.8 5.6-1.2 2.5-3.2 3.1-5.4 6.6a16.8 16.8 0 00-2.7 9.3c-.2 3.6 1.8 4.3 1.8 4.3s-3.3 3.2-4.2 5.5c-1 2.4-1.5 7.2-1.5 7.2s-.5.2-1.7 2.6c-1.2 2.5-3.3 2.8-6.4 6-3.1 3-6.6 4.4-8.2 5.3-1.6 1-1.2 2-.7 3.2.4 1.2 2.6 2.5 5.2 3.4 2.6 1 3.5.6 5.2.6 1.8-.1.4 1.3-.3 2-.8.8-1.7 3.3-1.6 6.2.2 2.9 2.3 2.2 5 1.8 2.6-.5 5.7-1.8 5.7-1.8l-.3.8c-.3.8-.4 1.4-.4 3.7 0 2.3.3 3.4 1 4 .7.6 2-.7 3-1 .9-.3 2.5-1.2 4.9-1.7 2.3-.6 3.2-1.6 3.2-1.6s-.6.7-.7 2.4a18.8 18.8 0 00.3 5.4 10 10 0 003 4.6c1.6 1.5 2 .8 3.2-1 1.2-1.9 3.6-4.2 3.6-4.2l1.8 5.8c1.6 5.2 6.9 9.5 6.9 9.5s5.3-4.3 6.9-9.5l1.8-5.9s2.4 2.4 3.6 4.2c1.2 1.9 1.5 2.5 3.1 1a10 10 0 003-4.5c.4-1.4.5-3.8.4-5.4-.2-1.7-.8-2.4-.8-2.4s.9 1 3.3 1.6c2.3.5 4 1.4 4.9 1.7 1 .3 2.3 1.6 3 1 .6-.6 1-1.7 1-4a9 9 0 00-.5-3.7l-.3-.8s3.1 1.3 5.8 1.8c2.6.4 4.8 1 5-1.8a11 11 0 00-1.6-6.2c-.8-.7-2.2-2.1-.4-2 1.8 0 2.7.4 5.2-.6 2.6-1 4.8-2.2 5.3-3.4.4-1.3.9-2.2-.8-3.2-1.6-1-5-2.3-8.1-5.4-3.1-3-5.3-3.4-6.5-5.9-1.1-2.4-1.6-2.6-1.6-2.6s-.6-4.8-1.5-7.2c-1-2.3-4.2-5.5-4.2-5.5s2-.7 1.8-4.3c-.3-3.5-.6-5.9-2.8-9.3-2.2-3.5-4.1-4-5.4-6.6s-2.2-3.8-2.8-5.6a33.8 33.8 0 00-.3-1.2 152.2 152.2 0 011.9-.8c2.5 2.4 9.3 8.8 14.4 15.9 6.4 8.9 7.6 10.7 9 9 1.5-1.8 2.6-3.5 2.6-3.5s4 1.3 9.2 5c5.2 3.7 6.8 6 8 4.8.6-.8.7-2 .8-2.8l6.5 2a111.5 111.5 0 016 2.4c4.6 2 5.1 3 8.7 5.8 3.7 2.9 8.8 2.6 13.7 1.1 4.9-1.5 17.8-5.8 23-8 5.3-2.3 9-4.2 9.5-5.3a16.6 16.6 0 001.2-5c0-1-1.2-2.6-1.6-2.9-.3-.2-.2-1 0-1.7 0-.7-.3-2.6-1.1-3.5-.8-1-.7-1.2-.6-3.8a16 16 0 00-9-14.2s-.2-.7-.6-1c-.4-.4-1.2-.7-1.2-.7v-3.8c0-.6.4-.6.7-.4.4.2 1 1 1.9 1.2.8.2 1.4-.4 1.6-1.4.1-1 .9-3 1.2-4 .3-1 0-1.1-.5-1.2-.4-.2-1.7-.3-2.3-.4-.6-.2-.6-.2-.5-.6l1.2-2c.8-1.3 0-1.3-.7-1.6a62.3 62.3 0 00-5.2-1.5c-1-.1-1.2.7-1.2 1v3c.1.6-.5.4-.9.2l-1.8-1.2c-.7-.5-1.2 0-1.4.7l-1.3 4.6c-.3 1-.2 1.6.2 1.8h3c1 0 .5.5.5.5l-1.5 2.5c-.3.7-1 .8-1.8.8h-2.2s-5.7.2-9.8 3.3a17.4 17.4 0 00-6 7.1c-.6 1.5-1.3 1.2-2 1.7-.6.6-2.4 2.5-2.4 3.6 0 1.2.4 1.8-1.4 3-1.8 1.2-3.3 6.3-.8 9 2.4 2.6 3.4 5.2 4.1 6.5.7 1.3 0 1.8-.6 1.8a273.5 273.5 0 01-12.2-9c-2.4-1.7-.7-1.5-.7-1.5s.6 0 2-.5c1.5-.6 1.7-1.4.3-1.8-1.4-.5-4.2-2-5-2.8-.6-.7-1-1.5.4-2.3 1.4-.7 4.5-2.7 2-3.4l-7.6-1.8c-2.4-.7-2.6-1.4-2.6-1.4l1.5-2.2s1.3-1.8-.2-2c-1.5-.2-5-.7-8.3-2a20 20 0 01-12-13.5v-.1c1.3 2.4 4.1 6.9 8.4 7 5.8.2 6.5-1.6 5.1-3.5-1.3-2-2.8-3.7-3.2-4.2-.4-.6-.5-1.4 1 0 1.6 1.5 4.5 6.4 13.2 5.8 8.8-.6 8.8-2.3 8.8-2.8 0-1.7-1.8-2-2.9-3-.5-.5-.8-1.3 1-.7 1.7.7 6 1.5 12 .2 2.3-.5 8.5-3.2 9-6.3 0 0-3.8-.2-6.6-1.4-2.7-1.2-4.4-2.1-1.5-1.6 3 .6 8.6 1.8 13.6.1 2.9-1 6.7-3.3 6.7-7.6 0 0-5.4-1.2-7.4-1.9S355 288 355 288s7.8 2.4 14.8-1.1c7-3.6 7.3-8.5 7.3-9.6 0-1.1-.2-1.5-.2-1.5s-6.4 1.6-11.1 1.5c-4.8 0-6.3-.4-6.3-.4s13.4-.4 20-4.5c6.8-4.1 7.2-12.2 7.2-12.2s-7.6 2.7-12.4 3.3a55 55 0 01-8.9.4c-1.1 0-1.8-.4.8-.6 2.6 0 12.7-1.8 18.4-5a21.7 21.7 0 009.4-13.7c.4-3.3 0-2.7-2.5-1.2a76.6 76.6 0 01-25 9.3s-2.4-.1.6-1zm-240.1 15.4l-2.7 1.5-1.4-2.8c-.2-.7-.1-1 .3-1l2.3-.4h.4l1.2 2.6h-.1zm81.9 48a22 22 0 01-9.4 7.6c-3.2 1.4-6.8 1.8-8.2 2-1.5.3-.3 2-.3 2l1.6 2.3s-.2.6-2.6 1.3c-2.4.7-5.2 1.2-7.7 1.9-2.4.6.7 2.6 2 3.4 1.5.7 1.1 1.5.4 2.3a18 18 0 01-4.9 2.7c-1.4.5-1.2 1.2.2 1.8 1.4.6 5.3 1.3 5.3 1.3l-2.5 2c-2.3 1.7-6.5 3-9.2 3-2.7.2-7 .4-12.6.1l-6-.3-.6-4.6a23 23 0 00-3.3-8.3l-4-5.3.3-1.6c.2-1 0-1.9-.5-3.5-.7-1.7-3.9-4.1-3.9-4.1l-.1-3.5c0-1.7-1.2-8.2-2.2-11.3-1-3-6-11.1-8.3-15a42 42 0 01-4.6-21l.5-1.3a13.8 13.8 0 003.7 3.3c6.7 4 20 4.5 20 4.5s-1.4.4-6.1.4c-4.8 0-11.2-1.5-11.2-1.5s-.2.3-.2 1.5.3 6 7.3 9.6c7 3.5 14.8 1 14.8 1s-.7.6-2.6 1.3a86.7 86.7 0 01-7.4 1.9c0 4.3 3.7 6.6 6.6 7.6 5 1.7 10.7.5 13.6 0 2.9-.6 1.3.3-1.5 1.5-2.7 1.2-6.7 1.4-6.7 1.4.6 3.1 6.8 5.8 9.2 6.3 5.9 1.3 10.2.5 12-.2 1.8-.6 1.4.2.9.7-1 1-2.9 1.3-2.9 3 0 .5 0 2.2 8.8 2.8s11.7-4.3 13.2-5.7c1.5-1.5 1.4-.7 1-.1-.3.5-1.9 2.3-3.2 4.2-1.3 1.9-.7 3.7 5.2 3.5 4.3-.1 7-4.7 8.3-7l.3.4a55.1 55.1 0 01-2.5 5.6zM280 125l-1.2-2.2s3.3 1.5 5.3 3.8c2 2.2 1.9 3.4 2.2 4.5.3 1 0 3-.3 5-.3 1.8-.3 3 0 3.7l.8 1s-1.5.3-2.9.9c-1.3.5-3.1 1-4.1.2-1-.9-1.3-1.4-.7-2 .6-.5 3-1.2 3.3-5.2.3-4-1.6-8.2-2.4-9.7zm-18 11c.7-2 1-3.8.4-7.7-.4-3.3-1-6.1-1.2-9.7 0 0 2.4.6 6 3.8 3.4 3.2 4.2 6.5 4.2 8 0 1.7-.8 3.7-1 5.2s.5 3 .5 3-1.3.5-2.5 1.3-2 1.3-3.7 1.2c-1.8 0-2.8-.9-3.9-1.4-1-.6-1.7-.7-1.7-.7s2-1.1 2.8-3zm-17.2-13.6a15 15 0 016-3.8c-.2 3.6-.8 6.4-1.3 9.7-.6 4-.3 5.8.5 7.7.7 1.9 2.8 3 2.8 3l-1.7.7c-1 .5-2 1.3-3.9 1.4-1.7.1-2.5-.4-3.7-1.2-1.2-.8-2.5-1.3-2.5-1.3s.6-1.4.5-3c-.1-1.5-1-3.5-1-5.1 0-1.6.8-5 4.3-8.1zM232.2 142c-1 .8-2.8.3-4.2-.2-1.4-.6-2.9-1-2.9-1l.8-1c.3-.6.3-1.8 0-3.6-.3-2-.5-4-.3-5 .3-1.1.3-2.3 2.3-4.5 2-2.3 5.2-3.8 5.2-3.8L232 125c-.8 1.5-2.7 5.6-2.4 9.7.3 4 2.7 4.7 3.3 5.2.6.6.4 1.2-.6 2zm46.8 33.7c-3.5 2-5.5 1.5-5.3 3 .1 1.3 3.2 2.4 3.2 2.4s-3.2 3.4-5.6 5c-2.5 1.5-5.4 2.5-5.4 2.5s-1 .1-.4 1.7a5.8 5.8 0 002.3 3l1.2.6s-4.3 4.6-6.2 6.1a16.3 16.3 0 01-4.5 2.6c-1.6.7-.8 3.2-.4 4.3a5.7 5.7 0 002.4 3c.8.2 1 .7.1 2.3l-4.4 6-4.4-6c-1-1.6-.7-2.1 0-2.4.8-.2 2.1-1.7 2.5-2.9.3-1 1.1-3.6-.4-4.3a16.2 16.2 0 01-4.5-2.6c-2-1.5-6.3-6-6.3-6l1.2-.7a5.8 5.8 0 002.4-3c.5-1.6-.5-1.7-.5-1.7s-2.8-1-5.3-2.5c-2.5-1.6-5.7-5-5.7-5s3.1-1 3.3-2.5c.1-1.4-1.8-1-5.3-2.9s-4.6-4.3-4.6-4.3 4-1.3 6-5.4a7 7 0 00.8-3.8h.2c6.4 2.2 13.9 3 20.6 3 6.7 0 14.2-.8 20.6-3h.2c-.1 1.1 0 2.4.8 3.8 2 4 6 5.4 6 5.4s-1.2 2.4-4.6 4.3z"/>
+  <path fill="#d4af3a" d="M300 253.6c0-10.9 5-17.7 5-17.7l-13.7-15.6c-12.9 5-24.8 5.3-35.3 0-10.6 5.3-22.4 5-35.4 0L207 236s5 6.8 5 17.7-2 19-3.3 24.2c-1.2 5.2-2.2 15 .6 22 2.7 7 5.7 13.2 17.8 18.2 12 5.1 18.4 7.7 22.6 11.2 4.2 3.6 6.3 6.4 6.3 6.4s2.1-2.9 6.3-6.4c4.2-3.4 10.5-6 22.6-11.2 12-5 15-11.2 17.9-18.2 2.8-7 1.7-16.8.5-22s-3.3-13.3-3.3-24.2z"/>
+  <path fill="#b96b29" d="M295.7 258a30.3 30.3 0 014.3-19.4L288.3 225c-9 5-21.4 4.3-32.3-.7-10.8 5-23.3 5.7-32.2.7L212 238.6s6 9.1 4.3 19.5c-1.7 10.3-5.4 26.8-4.5 33.4 1 6.7 5.7 14.5 10.5 18.5a61 61 0 0017.2 9.4 49.3 49.3 0 0112.5 7.2c2.4 1.8 4 3.4 4 3.4s1.5-1.6 3.9-3.4c2.3-1.8 7.3-5.4 12.4-7.2a61.5 61.5 0 0017.3-9.3 33 33 0 0010.4-18.6c1-6.7-2.7-23-4.4-33.4z"/>
+  <path fill="#1d5e91" d="M294.6 259.3a34.6 34.6 0 013.3-20.2l-10.5-11.7c-8.8 4.6-19.6 3.4-31.4-.7-11.7 4-22.5 5.3-31.4.7l-10.5 11.7s5 9 3.4 20.2c-1.7 11.2-4.3 23.9-3.8 31.3 0 .5 0 1 .2 1.6h9.5s.6-.7 1.6-1.1c1.1-.5 1.4-.8 1.4-.8s.2-2 1.4-2.3c1.1-.4 1.6-.4 2.1-.4s.8-.1 1.4-.7 2-2 2.7-3.9c.7-1.9 1-2.7 1-4s.5-3.2.5-3.2-.2-.6-1.2-.3c-1 .4-1.1-.6-1.2-1.6-.1-1 0-2.9.5-3.8l.8-1.2-.4-1.6s-6.1 1.3-7.2-3.5c-1-4.7-1.2-7-1.4-7.5-.1-.5-.3-.7-1.1-.7s-2.5-.5-3.8-3c-1.2-2.4-1.3-3.4-1-4.4.4-1 1-.6 1.3-.3.2.3 1.8 2.7 2.5 2 .6-.6.3-.6-.6-2.5-1-1.8-.6-2.4-.5-3.3 0-1-.3-2.2-.3-2.7s.5-.9 1-.6a4 4 0 011.4 1c.2.2.3.7.9.4.5-.3.2-2 .2-2.5 0-.6.6-1 1.4-.6a2.4 2.4 0 011.2 2c0 .6 0 1.1.4 1.1.3 0 .7-.9.7-1.5s.4-1.5 1-.7.7 1.8.5 3c-.2 1.2.2.6-.2 2.6s-.6 3-.5 4.5c0 1.5 0 2.4.8 4.2.8 2 1.4 4.1 2.8 4.2h1.8s1.6-3 2.8-3.8c1.2-.7 3-.8 4.2-1 1.2 0 1.7-.4 1.7-.7 0-.3-.4-.4-1.9-.6-1.4-.2-2.7-.6-2.7-1.7s.2-2.1-.7-2.2c-1 0-3.4-.8-4.2-2.4-.9-1.5-.7-1.9-.6-2.7.1-.9 1.2-2.6 2-1s1.1 1.8 1.7 2.2c.6.3 1.4.4 1-.7a5.4 5.4 0 01-.5-2.6c0-.8.6-1.2 1.3-1.3l3.6-1 1.1-.3s.1-.7 1.4-1.1a9.5 9.5 0 013.2-.5c1 0 1.6.2 2.9-.4a6 6 0 013-.7 4 4 0 012.1.8c.6.4.4 1 .4 1.5s.1.8 1 .8c.8 0 1.6 0 2.4.4s2 .7 1.2 1.6c-.7.8-.7 1.8-1.2 1.8-.4 0-.4.4-.6.7-.2.3-.3.6.2.9.5.3.5.6 1.2 1.3s1.8 1.3.7 2.4c-1 1-3 2-3 2s-1 .4.2 1.2c1.3.6 1.8 2.1 2.3 2.4l1.2.8c.3.1.2 1.2.2 1.2l-1.5.8c-1 .3-1.9.7-2.8.7-.8 0-1.3 0-1 .8l1.2 2.2.4 1.3s1.4.3 2.6.3c1.3 0 1.9 0 4.6-.3s3.6-.4 6.3 0c2.7.2 3.1.1 3.8.4l1.4.6s3.8 0 6-.5c2-.5 2.5-1.8 2.2-2.5-.3-.7-.3-1.8-3.9-2.3-3.6-.5-5.1-.3-8-.9-2.9-.5-7.4-2-8.2-5.6-.8-3.6 2.1-5.2 3.6-5.9 1.5-.7 4.6-1.8 6.1-2.4a14.1 14.1 0 017-.8c2.8.4 4.5 1.2 5.6.5 1-.7 2-.2 1.8.9-.2 1-1.3 3-4.5 4s-7 1.1-9.1.5c-2.1-.5-3.7-1.3-5-.9-1.2.5-2.6 2-1.3 4 1.4 1.8 8.4 2.4 10.3 2.6 1.9.2 8.8-.3 10.8 3.1 2 3.5.4 7.3-2 8.2a30 30 0 01-6 1.7l-1.8.2s.8 1.9.8 2.6c0 .8-.1 2.2.8 2.8s2 1 3.5.8c1.5-.2 3.3.8 3.4 2.2 0 1.3.5 3.1.6 5.8.2 2.6 0 4.8 0 4.8s0 1-.4 2l-2.2 4.7h10.2a22.5 22.5 0 00.1-1.6c.5-7.5-2.1-20.2-3.8-31.4z"/>
+  <path fill="#6d8c3e" d="M215 297.1c2 5.8 6.2 11.5 12.5 15.3 8.7 5.3 12.4 4.6 20.7 10 8.2 5.3 7.7 6.2 7.8 6.2.1 0-.4-1 7.8-6.3 8.3-5.3 12-4.6 20.7-9.9a29.2 29.2 0 0012.4-15.3h-81.8z"/>
+  <path fill="#d4af3a" d="M222.2 253c1 1 1.6 1.3 3 1.1 1.5-.1 1.8 1 2 2 .3 1.2.3 3.9 1.4 6.3 1 2.5 4.4 2.6 4.4 2.6.1-1.2.6-2.8 1-4 .2-.3.6-1.4-.6-1.4s-1.2-.5-2-1.7a23.1 23.1 0 01-2.4-6.3c-.4-2 .3-5 .6-6.1.3-1.1.4-1.9 0-2-.4-.3-1.2 0-1.2 0s.3.9 0 1c-.4.2-.7-.5-1-1.2-.2-.7-.5-.6-1-.5-.5 0-.5.5-.1 1 .3.5.1 1.4.1 1.4l-1.5-1c-.4-.2-1.5.2-1.6.8 0 .6.4 2 1.4 2.9 1 .8 1 2.4.6 3.1-.3.8-1.7.7-2 .3a.8.8 0 00-1.2 0c-.4.5-.8.7.1 1.7zm-.5-2.6l-.8-.7-.6-.8v.9c0 .6.6 1.2.6 1.2l.8-.6zm2-6.8c.5-.2.8-.3.5-.8-.4-.5-.7-1-1-1.2h-.6l.4 1.4c.1.6.3.8.7.6zm2.6-2.1c0 .4 0 .6.4.4s.6-.7.4-1.1c-.2-.4-.7-.7-.7-.7l-.3-.2.2 1.6zm3.7.6l-.2-1s0 .5-.2.9c-.3.3-.2.2 0 .5.3.3.3 0 .4-.4zm5.8 25c.7 1.7 2.5-1 4.2-3 1.7-2.2 1.6-.6 1.4 1.2a8.2 8.2 0 001.1 4.7c.7 1.2 1.3.5 1.5-.3.3-.8.5-2.6 1-3.4.7-.9 1.2-.1 1.3.6a8 8 0 001.7 3.3c.9 1 1.3-.3 1.5-1.5l.9-3.7c.2-.7 1-.1 1-.1l1.7 1.6c1 1 1.2-.6 1.3-1.4.1-.9-.2-2.7.2-3 .3-.3 1.2.4 2.7 1.1 1.5.7 1.4-.7 1.2-1.4a8 8 0 00-2.1-3.6c-1.2-1-1.4-2.2-1-2.7.4-.5 1.8 0 2.7-.2.9 0 1.3-.2 2-.3.7-.1.7-.8.7-.8s-.5-.8-1.5-1.7-1.5-1.5-2.7-1.8c-1.1-.2-2.7 0-2.7 0l-.2-.3c-.2-.3-.5-.3-.7 0l-1.3 1.2c-.4.4-.7.6-1 .4-.3-.1.3-.5.3-.5s.6-.5 1.1-1.6c.6-1.1.7-2.2.3-2.7-.4-.5-1.7 0-2.3 0-.7 0-1.1.1-1.2-.2 0-.4.7-.2 1.5-.3.9-.1 1.4-1.1 1.7-2 .2-.8.5-.7 1-.2s1 .4 1 0l1.1-2c.6-.8 1-2 .3-2.7-.6-.8-2.1-.7-2.7-.2-.6.5-1 1-1.2 2.2-.1 1.3-.5.6-.5.2s-.5-1-.3-1.5c.3-.5 0-1 0-1s0-1.1-1.2-1.4a9.2 9.2 0 00-3.7.4c-1.2.3-1 1.3-1 1.3l-1.8.1c-1 .1-2 .5-3 .8-.9.2-1.2.3-1.2.7l.2 1.2s.7 0 1 .2c.5.3.3.7-.2.8-.4.2-.6.2-.6.8s.2.7.7.7c.4 0 1.4 0 2.5.5 1 .5 1.4 1.5 1.3 2-.2.6-1.7 1.3-2.5 1.3s-1 .2-1 .7 1 .5 1 .5l2.7.2c1.9.3 2.2.6 3 1.4.8.7.2.9-.2 1-.4.3-1 .8-1.6 1-.6.3-1 .7-1.6.8-.5.1-2 0-4.5 1s-3.4 4.5-3.4 4.5l1.5-.8 4-2.1c1.3-.8 1.3.4.6 1.6s.6 1 1 .6.9-.7 2.2-1.4c1.3-.6.8.4.8.4s-.4.8-.5 2.7c-.1 1.8 1.9 0 2.7-1.1 1-1.2 1.3 0 .7 1.3-.7 1.4-2 2.4-2.7 2.4-.7 0-1.3-.7-1.4-1.2 0-.4.3-1.8-.2-2.1-.4-.4-1.7 0-2.7.6-1 .6-1.1.1-1.4-.4-.2-.5.4-.7.2-1-.3-.3-.8 0-1.2.2l-3 1.5c-1.7 1-1.6 1.4-1.6 2.7s.3 1.6 1 3.3z"/>
+  <path fill="#d4af3a" d="M252.5 239.1l1-.5 1.6-.3c.8 0 .6-.5.5-.9-.2-.3-.5-.5-1.5-.5s-1.6.5-2.1.7c-.6.3-1.3.4-1.3.4l.5.7c.4.6 1 .7 1.3.4zm4 4l.9-.2 1.3-.6c.7-.3 1-.4 1.4-1.1.4-.8-.5-.8-1.6-1.1-1.2-.3-1.7 0-1.9.5 0 .4 0 1-.5 1.8s0 .7.4.7zm-.3 1c-1.1 0-2.4 1.7-2.9 2-.4.3-.2.6-.2.6a6.7 6.7 0 00.7 3.1h.8c.6 0 1-.3 1.7-.7a4.3 4.3 0 012-.8 6 6 0 002.3-.9c1-.5-.5-1.4-1.6-2.3a4 4 0 00-2.8-1zm-15 3.9c1-.1 1.4-.6 1.4-1 0-.6-.5-1-1.6-1-2.8.3-5.5-.7-6-3.5 0 0-1 1.7.8 3.7 1.7 1.9 4.6 1.9 5.5 1.8zm-9.4 43.7l.5.5h4.3c.7-.2.7-.9.7-1.3 0-.6.5-2.1 1-5 .7-2.8 1.7-4.8 2.1-6 .4-1.1-.4-1.5-.7-2.2-.3-.7-.8-2-.9-2.6-.1-.7-1.1-.6-1.7-.5-.5 0-.6 1-.7 1.7 0 .9-.5 3.4-.9 5.5-.4 2.2-2.8 5-3.5 5.7-.7.6-1.2.9-1.7.9s-1.5 0-2 .3-1 1-1 1.7c0 .6 1 1 1 1l1-.9c.3-.4 1-.4 1.7-.6.7-.1.7.2.5.5-.3.3-.2.4.3 1.3zm-6.5-.2c-.3 0-.6.4-.7.7h2.8a1.5 1.5 0 00-.3-.7c-.3-.4-1.2-.2-1.8 0z"/>
+  <path fill="#d4af3a" d="M229 291.4a3 3 0 00-.9.8h3c.1-.3.2-.7-.2-1-.7-.5-1.4 0-1.8.2zm26-1.2c-.3 0-.6.3-1 .6-.5.3-.7.8-.7 1.2a.3.3 0 000 .2h1.3a.2.2 0 000-.2c0-.4.2-.7.7-1.2.6-.4 0-.6-.2-.6zm2.5 1.3c0-.4-.1-.7-.4-.7-.3 0-.8.6-1.2.8l-.5.6h2l.1-.7z"/>
+  <path fill="#d4af3a" d="M269 277.7c1-.6.8-.8.9-1.5 0-.7 0-.9-.3-1.1-.4-.3-1.8-.9-3-.9s-3.6.3-4.6 1c-.9.5-1.3 2.8-1.3 4 0 1 .2 1.2.5 1.2s.9-.8.9-.8l1.9 2.7c.7 1 .4 1.5 0 2.3-.3.8-1.4 3-2.4 3.5s-1.6 0-2.8-.1c-1-.2-1.7.1-2.3.8-.7.6 0 1.1.3 1.1.4 0 1 0 1.4.5.3.4 0 1.3 0 1.8h5.5c.9-.4 1.6-1.7 1.8-2.4.3-.8 1.5-1.9 2-2.4.7-.6.7-1 .7-2.1a5.2 5.2 0 00-.7-2.7 5 5 0 01-.7-2.8c.1-.7 1.3-1.5 2.2-2.1z"/>
+  <path fill="#d4af3a" d="M260 264c.5.8.3 1-.5 1.2-.8.1-1.7.3-3 .2s-1.1 0-1.2.7a5.4 5.4 0 01-.8 2.9c-.8 1-1.7.5-2.2.2-.6-.4-.9-.3-1 .4l-1.2 2.2c-.6 1-1 1-1.4 1-.4-.2-.8-.8-1.2-.8-.4 0-1.1-.9-1.7-1.9-.6-1-1 .1-1.4 1-.4.9-.8 1.5-1.6 1.4-.8-.1-1.7-1.6-2.1-2.5-.5-1-.8-1.8-1.4-1.7-.7 0-1.9 1.4-2.6 1.8-.8.4-1 .3-1.3-.2-.4-.5-.8.2-1.3 1.3-.4 1.1 0 2.1.7 2.4.6.3 1.8-.6 2.7-1.1.8-.6 1.2-.4 2-.4.9 0 .8 1.4 1.2 3.4.4 2.1 1.6 2.4 1.6 2.4s.4.3 1.3-1.2c1-1.6 1-3.2 2-3.2.9 0 1 .2 1.8 1.5 1 1.2 1.7 2.1 2.2 1.2.5-1 1-2.3 1.6-2.8.5-.5 1-.6.5.3-.6.9-1 1.8.4 1.5 1.2-.4 6-2.4 8-2.8l5-.5 4.4-.3c1 0 1 0 1.1-.8 0-.7-.5-.5-2.4-.5-2 0-3.3.2-4.6.4-1.4.2-2 .2-1.8-.2.3-.3.7-.6 2.2-.8a63 63 0 016.4-.4c1.7 0 1.1.4 1 1.6-.1 1 .1 2.7.2 3.7s.2 1.4 1 2.8c1 1.5 4 2.4 5 2.8.9.5.7 0 .7-.8 0-.9.7-.9 1.5-.4.8.4 2 .8 3 1 1 .3 1 .5 1 1l.3 2.5c.1 1 0 1.3-.4 2l-2.1 2.4s-.8 0-2.5.4-2.2 1.2-2.4 1.9c-.2.7.3.9.4 1.1v.9h.4a8.8 8.8 0 01.6-1c.6-.7 2-.9 3-.4.7.3.7 1 .6 1.4h3.9l2-4.2c.5-.9.7-1.5.7-2.8 0-1.2.2-6.2 0-6.4-.3-.3 0-1.1 0-2.5-.1-1.4 0-2.4-2.6-2.7-2.5-.2-3.3-1.3-4.2-2.2-.9-.8-.6-2.8-1.3-5.2-.7-2.5-2.4-2.8-5.4-3.4a25 25 0 00-7.5-.5c-2.2.2-5 .6-6.6.4-1.5-.2-1.2.3-.7 1.2z"/>
+  <path fill="#d4af3a" d="M274.5 291.6a1.9 1.9 0 00-.6.6h2.6a1 1 0 00-.2-.8c-.4-.5-1.2-.2-1.8.2zm4.7-.1a2.4 2.4 0 00-1 .7h2.7v-.3c0-.4-.9-.9-1.7-.4zM214 293l.6 2.5h82.8a24.5 24.5 0 00.6-2.5h-84zm55.8-39.6c2.7 1.8 11 1.9 14.9 2.6 3.9.8 3.6 3.8 2.4 5.4-1.2 1.5-6.7 1.7-7.7 1.8.6.4 1.4 1.6 1.4 1.6l2.2-.2a12 12 0 006.5-2.2c2-1.7 1.9-4.3.1-6.1-1.7-1.8-4.6-2-7.6-2.3l-8.5-1.1c-3.3-.6-4.9-2-4.9-3.8 0-2 1.8-3 3-3.3 1.4-.4 3.4-1 5.3-.3 1.8.7 4 .8 7.6.3 3.6-.4 4.4-3 4.4-3s-.4.3-2.3.3c-1.8 0-3.1-.7-6.5-.8-3.3 0-4.5 1.2-6 1.7-1.6.6-5.8 1-7 3.7-1.3 2.7.1 4 2.8 5.7z"/>
+  <ellipse cx="248.1" cy="241" fill="#b96b29" rx="1.6" ry="1.5"/>
+  <path fill="#b96b29" d="M281.6 243.7c-2-.2-4.8.3-4.8.3s.6.4 1.3.4c.6 0 1.9-.1 3.9.3 2 .3 3.5-.6 3.5-.6l-3.9-.5z"/>
+  <path fill="#1d5e91" d="M262 282.2c-.5-.8-.7-.7-1.2-.2-.6.5-1.2-1.2-1.3-2.3l.4-4.4s-2.8.5-4.3 1-3 .7-4.2 1c-1.2.3-1.9.6-2.5.4a18.5 18.5 0 00-3.1-.2c-1.1 0-1 .2-2.1 1.3-1.1 1-1.4 1.7-2.3 3.7-.8 2-1.1 3.9-1.4 6.4-.2 1.6-.5 2.7-.7 3.3h13l.5-1.4a3.2 3.2 0 011.5-1.4c.6-.3 1-.3 1.2-.8.3-.6 1-1 1.6-1.4.7-.3 1.9-.1 3 .2 1 .3 1.4-.5 1.7-.9l1-1.7c.6-.8.2-1.4.2-1.4s-.5-.4-1-1.2zm20.8.4c-.2-.8-.1-.9-.5-1-.5 0-1.2-.2-1.9-.5-.6-.3-.6 1.5-.6 1.5s-1.5.1-3.2 0c-1.7-.3-3.8-1.8-4.5-2.3-.7-.6-1.5-1.7-1.5-1.7l-1 .8c-.6.3-1 1.4-1 2.5-.1 1 1.2 2.4 1.3 3.5.1 1-1.2 3.3-1.8 4.1-.4.6-1 2-1.3 2.7h6.2l.7-1c.6-.7 1.7-.9 1.7-.9l.3-.8c.2-.6.9-1.3 2.4-1.9 1.6-.6 3.4-.7 3.4-.7s.8-.6 1.3-1.5c.6-.8.2-2 0-2.8z"/>
+  <path fill="#d4af3a" d="M230.6 351.6c1.2.4 3.4-.4 4.5-1.8 1-1.3 1.4-3.3 2.2-4.5l1.4-2s-.2 2-1.2 4.5a16.5 16.5 0 00-1 7.3c.5 2.8 2.4 3.3 3.5 3 .8-.4 2-1.7 3.2-3.6l1-2c.7-1.5 1.4-3.8 1.7-3.7.7.1.3 1.7 0 2.8-.6 2.2-1.6 5.4-1.7 7.3-.1 2 .1 5.5 2 5.7 2 .1 3-1.6 4.1-5.6 1.1-4 1.3-5.2 1.8-5.2s.5 2.7.5 3.9a19.5 19.5 0 001.7 7.9c1 .8 1.7.7 1.7.7s.8.1 1.7-.7c1-.9 1.7-6.7 1.7-7.9 0-1.2 0-3.9.5-3.9s.7 1.3 1.8 5.2c1 4 2 5.7 4 5.6 2-.2 2.2-3.7 2.1-5.6 0-2-1.1-5.2-1.7-7.4-.5-2.1.3-2 1.7.8l1.4 2.7c1 1.6 2 2.6 2.8 3 1.1.3 3-.2 3.5-3 .4-3-1.7-11.2-1.7-11.2l.9 1.4c.8 1.2 1.2 3.2 2.2 4.5 1.1 1.4 3.3 2.2 4.5 1.8s1.3-2.5.4-6.4c-.8-4-4.3-6.1-6.8-9.2-2.3-2.9-4-8-4.3-8.7a28.7 28.7 0 00-8.4 6l-6.3 6.6s-1-1.3-6.2-6.7a28.9 28.9 0 00-8.5-6c-.2.7-2.4 5.6-4.7 8.4-1.1 1.5-2.7 2.6-3.9 4a13.2 13.2 0 00-2.5 5.6c-.9 3.8-.7 6 .5 6.4z"/>
+  <path fill="#d4af3a" d="M230.5 364.8l2.3-2s1-1 .8.8c-.3 1.7-.9 5.3-.5 6.8.4 1.6.6 3 2.5 1.8s2.3-1.9 3.2-2.8c1-1 2-1.4 1.7.1-.2 1.5-1 3.8-.6 6.9.3 3 1.8 3.5 3.8.9a34.4 34.4 0 003.7-6.3c.6-1.3 1.8-2.4 1.8 0 0 5.1 1.2 12.6 6.8 14.5 5.7-2 6.8-9.4 6.8-14.5 0-2.4 1.2-1.3 1.8 0a34.5 34.5 0 003.7 6.3c2 2.6 3.5 2.1 3.8-1 .4-3-.3-5.3-.6-6.8-.2-1.5.8-1 1.7-.1.9 1 1.4 1.6 3.3 2.8 1.9 1.1 2-.2 2.4-1.8.4-1.5-.2-5-.5-6.8-.2-1.8.9-.8.9-.8l2.2 2c1.5 1.3 3.6 1.4 3.6 1.4s1-5.3-1.3-8.5l-3-4.3s-1.3 0-2.2-.4c-1-.4-2-1.1-2-1.1v3l3.4 3.3c.7.8 2 2.1 0 .9a53.9 53.9 0 01-3.3-2.6s-.4 2.7-1.2 3.4c-.8.7-1.9.8-2.3.6l-.5-.2-.1 1s1.7 3.2 2 4.5c.1 1.2-.2 1.1-1-.5-.8-1.7-2.3-3.8-3-5-.7-1-1.7-1.8-1.6-.4.1 1.5-.5 4.1-1 5l-.8 1.4 1.2 4.4c.1.6 0 1.4-.6.5-.6-.8-2.2-4.5-2.2-4.5s-2.3 0-3-.7c-.6-.6-1.6-3.1-1.6-3.1s-.9 3.1-1.6 4.1c-.8 1-2.6 2-2.6 2l-.2 6.5c-.1 1-.2 1.4-.6 1.4-.4 0-.4-.4-.6-1.4l-.2-6.4s-1.8-1-2.5-2c-.8-1-1.7-4.2-1.7-4.2s-1 2.5-1.6 3.1c-.7.6-3 .7-3 .7s-1.6 3.7-2.2 4.5c-.6 1-.7.1-.5-.6 0-.6 1.1-4.3 1.1-4.3l-.8-1.3a13 13 0 01-1-5c.1-1.5-1-.8-1.6.4-.7 1.1-2.2 3.2-3 4.9-.7 1.6-1.1 1.7-.9.5.3-1.3 2-4.5 2-4.5l-.2-1-.4.2c-.5.2-1.6 0-2.4-.6-.7-.7-1.1-3.4-1.1-3.4l-3.4 2.6c-2 1.2-.6 0 0-.9a76.8 76.8 0 013.4-3.3v-3s-1 .7-2 1a8 8 0 01-2.2.5l-3 4.3c-2.2 3.2-1.3 8.5-1.3 8.5s2.1 0 3.6-1.4zm27.5 35.7c-1.5-1.7-2-2.5-2-2.5s-.4.8-1.9 2.5c-1.4 1.7-4.8 4.3-4.8 4.3A16.5 16.5 0 00256 417c2.2-1.4 3.5-3.3 4.9-5.3 1.6-2.4 1.9-6.9 1.9-6.9s-3.4-2.6-4.8-4.3z"/>
+  <path fill="#b96b29" d="M255.3 406c.1 1 0 3.6.7 3.6.6 0 .5-2.6.7-3.6l.1-3.5h-1.7s0 2.4.2 3.5z"/>
+  <path fill="#d4af3a" d="M256 161.4a54 54 0 01-17-2.2l-4.2 1a55.3 55.3 0 0021.2 3.4c9.3-.1 14.7-1 21.1-3.5l-4.2-.9a54 54 0 01-17 2.2zm21.9-5a43 43 0 00-4-2.7c-.7-.4-.1-1.4 0-1.8a18 18 0 015-1.7c1.6-.4 1.4-.8 1.4-.8s-1-1.1-7.2-1.8-17.1-.5-17.1-.5-11-.2-17.1.5c-6.2.7-7.2 1.8-7.2 1.8s-.3.4 1.4.8c1.7.5 4.8 1.3 5 1.7 0 .4.6 1.4 0 1.8a31 31 0 00-4 2.7c-.5.4-.5 1 .2 1 .8 0 .8 0 3-.4a101 101 0 0137.5 0c2 .5 2.1.5 2.9.4.7 0 .7-.6.2-1z"/>
+  <path fill="#d4af3a" d="M270.8 159c-4.2-.5-7-1-14.8-1-7.9 0-10.6.5-14.8 1 2.6 1 7 1.6 14.8 1.6s12.2-.5 14.8-1.6zm-19.4-61l3.5-.4-.2 3 3.2-.2-.3-2.9 3.5.5.2-2.8-3.7.3.6-3h-4l.7 3-3.5-.3zm10.4 7.2h-4.4v-3.7a6.4 6.4 0 00-1.3-.1 6 6 0 00-1.1 0v3.8h-4.5a4.9 4.9 0 00-.2 2.1H262v-.6a5.8 5.8 0 00-.3-1.5z"/>
+  <path fill="#1d5e91" d="M256.1 112c2.6 0 4.8-1.5 5.6-3.6h-11.2c.8 2.1 3 3.6 5.6 3.6zm2.4-10.2v2.6h3a5.6 5.6 0 00-3-2.6zm-4.8 0a5.7 5.7 0 00-2.9 2.6h3v-2.6z"/>
+  <path fill="#b96b29" d="M259.5 149.3l-3.5-1.6-3.5 1.8c-1.3.6-1.1.4-1.5 1.4-.4.8 0 1.2.6 1.4l4.4 2.3 4.9-2.3c.9-.4.7-.9.5-1.6-.3-.6-.8-.9-2-1.4z"/>
+  <path fill="#d4af3a" d="M259.9 150.4l-4-1.8-3.7 1.8 3.9 2zm-4-15s-.3 1.4-.7 2c-.4.5-.7 1-.6 1.8.1.7.9 1.1 1.4 1.1.4 0 1.2-.4 1.4-1.1 0-.7-.2-1.3-.7-1.8-.4-.6-.7-2-.7-2z"/>
+  <circle cx="256" cy="141.7" r=".7" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M253.4 138s1.3-1.4 1.7-2.3l.9-1.6.8 1.6c.5.9 1.7 2.3 1.7 2.3s1.8-1 2.8-4.3c1-3.4-.3-7-.7-10.8a162 162 0 01-.8-10.4 7.8 7.8 0 01-3.8 1.1 7.8 7.8 0 01-3.8-1.1s-.4 6.6-.9 10.4c-.4 3.9-1.7 7.4-.7 10.8 1 3.4 2.8 4.3 2.8 4.3z"/>
+  <ellipse cx="256" cy="130.4" fill="#b96b29" rx="3" ry="2.9"/>
+  <ellipse cx="256" cy="123.5" fill="#b96b29" rx="2.9" ry="2.8"/>
+  <ellipse cx="256" cy="117" fill="#b96b29" rx="2.8" ry="2.7"/>
+  <circle cx="256" cy="129.9" r="1.6" fill="#d4af3a"/>
+  <ellipse cx="256" cy="123" fill="#d4af3a" rx="1.6" ry="1.5"/>
+  <ellipse cx="256" cy="116.5" fill="#d4af3a" rx="1.4" ry="1.3"/>
+  <path fill="#b96b29" d="M255.9 358.5c.2 0 .2-.5.2-1.4l.4-4.3c.2-1.2-.3-1.2-.7-1-.3 0-.5 1-.5 1.5l.2 4.4c0 .7.2.7.4.8z"/>
+  <path fill="#d4af3a" d="M224.4 383c1.4-.8 2.6-1.7 5.6-3.8a12.6 12.6 0 004.2-4.2h-1c-.7 0-1.2-.8-1.2-1.7 0-.8 0-2.4.2-4.4.2-2-.3-3.5-.3-3.5s-1.3 1.2-3.3 2.3c-2 1-2.8.5-2.8.5l-.5-2-2 4c-1.2 2-4.5 4.4-6.8 6.2a30.8 30.8 0 01-6.9 4.2c-1.9.7-.8 1.6-.8 1.6s2 2 7 2.8c5 1 7.3-1 8.6-2z"/>
+  <path fill="#d4af3a" d="M241.9 381.1c-1.8-.2-2.9-.8-3.2-2.8-.2-1.2 0-6 0-6l-1.2 1.2c-.7.9-2.2 1-2.2 1s-.2.7-.9 1.8a10 10 0 01-3.2 3.5 53.8 53.8 0 00-5 3.4 30 30 0 01-4.5 3.3 7.5 7.5 0 00-3.8 5c-.6 2.5-.2 3.3 1.8 3.2 2-.2 2.2 0 5.4-.8s7.7-4.4 11-6.5c3.4-2 5.8-6.3 5.8-6.3z"/>
+  <path fill="#d4af3a" d="M250.7 384s-1.3-1.7-1.8-3.6l-1.5-5.8-1.5 3.5c-1 2.3-3 2.9-3 2.9s0 1-1.5 2.9a22.5 22.5 0 01-6 5 22.5 22.5 0 00-7 5.6c-1.6 2.3-1.7 4.7-1 5.7.8 1 1.9-.2 3.4-1 1.5-.7 5.9-1.4 12-4.6 6-3.2 7.9-10.6 7.9-10.6z"/>
+  <path fill="#d4af3a" d="M253.3 397.5c1.7-2.5 2-8.5 2-8.5l-1.5-1-2.3-3.1-2 4a16.2 16.2 0 01-4 4.6c-2.2 2.1-5.2 4.1-6.5 6.3-1.3 2.3-.6 6.7.2 8.1.9 1.5 2 1 3.3-.2l3.9-3.4c2.2-1.9 5.3-4.3 7-6.8z"/>
+  <path fill="#b96b29" d="M233.6 347a23 23 0 012.7-5 16 16 0 001.3-2.5s-2.1 2-3 3.4a15 15 0 00-1.7 4.2c-.4 1.5-.2 1.7.7 0zm8.5 1.6a53.6 53.6 0 00.5-2s.4-1.2.2-1.3c-.2 0-1 .8-1.7 2.7-.6 2-1.5 4.8-1.3 5 .1 0 2-3.2 2.3-4.4zm6.7 5.4l.4-1s.7-2.1.7-2.6-.2-1-.8.2c-.6 1.1-.6 2.2-.7 2.7-.2.5-.8 2.2-.6 2.4.2.1.6-.9 1-1.7zM228 374.4l-.9-.5-1.3 1.5c-.7.8-1.6 1.2-2.2 2a8.5 8.5 0 01-2.8 2.4c-1.4.7-2 1-1.7 1.1.3.3 1.2-.3 1.2-.3s.4 0 2.1-1c1.7-1 2-1.6 3.1-2.5 1.1-1 2.5-2.7 2.5-2.7zm7.3 8.7c.7-.7 1.3-1.2 1-1.5-.4-.4-.8-.4-1.4.1l-3 2.8-2.2 1.7c-.7.6-2.4 1.5-3.2 1.9-.8.5 0 .5 0 .5l1.3-.5 2.6-1.1 1.8-1.1a25.9 25.9 0 003.1-2.8zm8.4 5.8c.6-1.1 0-.8-1-.4-.8.3-2.8 2.5-4 3.3-1.2.8-2.2 1.2-3.1 1.7-1 .5-1 .7-1 1 0 .2.5.2.9 0l1.8-1 1-.2c.6 0 1.4-.7 2.6-1.7 1.2-1 2.3-1.7 2.8-2.7zm4 7.7c-1.6.9-4.1 2.9-4.8 4.2-.7 1.4-1.1 2.3-.9 2.6.2.2 1-.3 1.3-.8.3-.6 1-1.4 1-1.4s2.5-2.5 3.4-3a8.9 8.9 0 002.9-3.3c.3-1 0-1.5 0-1.5s-1.5 2.3-3 3.2z"/>
+  <path fill="#c52126" d="M208 181.3a23.7 23.7 0 00-19-1.6c-2.3.6-4.2.7-6 .2-2.8-.7-5-3.2-5.7-6.3 0 0-2.6 3.3 0 6.8a7.7 7.7 0 004.6 3.2c5.5 1 10.8-2.3 15.3-2.6 4.4-.2 7.8 2.5 7.8 2.5s1 .9 2.5 0c1.4-.8 1.8-1.5.5-2.3z"/>
+  <path fill="#d4af3a" d="M192.3 338.7l-1.3-.2a16 16 0 01-2.8-.9c-.5-.2-1.2-.2-1.7.3s-4.4 2.9-4.4 2.9h6.5c2.2 0 3.7-2.2 3.7-2.2z"/>
+  <path fill="#d4af3a" d="M210.5 337.6v-.7l-.8-1.8s-1 .6-2 1.6c-1.3 1.3-2.6 3.2-3.2 4-1.1 1.3-2.6 2.6-1.3.4s1.7-3.2 2.7-4.6c1-1.5 1.8-2.1 1.7-2.2l-3.7-.6c-2.7-.3-4.4-1.4-5.6-2.1l-3.5-2s-4.6 2-6.3 2.4c-1.8.5-2.8.7-1.1 1.5 1.7.9 3.1 1.1 4 1.6.7.6 3.3 1.4 4.8 1.4 1.6 0 4.2 0 3.2 1-1 1.2-2.2 3.3-3.3 6.4a21.6 21.6 0 00-1.2 7.4l.2 2.7s1.9-2.1 7-5.3c5-3.2 7-4.3 7.9-4.7 1-.4 1.4-.4 1.2-1.6l-.7-4.8z"/>
+  <path fill="#d4af3a" d="M230 322.1l-1-.4a1.1 1.1 0 00-.2 0c-.6.4-3.7 2.4-5 4.5s-2.5 2.2-1.1 0a19.1 19.1 0 013.5-4.4l1-1a56.4 56.4 0 01-7.8-4.5c-.3.7-1 2-1.7 2.7-1 1.1-3.5 2.1-3.5 2.1s2-2 2.6-3.5l.8-2.6a33.9 33.9 0 01-5.1-4.9 19 19 0 01-4.4 7.9c-4 4.5-12 6.7-12 6.7s-2.8.3-.5 1c2.2.5 3.8 1.5 8.3.8 4.4-.8 4.7-1 5.3-1.2.6-.1 2.2 0 0 .8s-7.4 1.6-9.3 1.4c-2-.1-4.7-.6-1.9 1s4 2 5.7 2c1.8 0 2.5.6 4.2.6s2.1-.3 3.3-.6c1.2-.2 2 .2 2 .7s-1.6 1.8-1.6 5c0 3.3.3 5.5.6 6.4.3 1 1 2.5 1.5 3.4.5 1 .7 1.8 1.1 0 .5-2 1.6-4.7 2-6.6.4-1.8.7-1.9.8-2.9.2-.9 1.2-1.6.8.1a142.3 142.3 0 00-1.4 5.5c-.4 1.5-1.2 4.4.2 2.1 1.5-2.2 6.8-8.3 7.7-9.3 1-1 1.6-2.1 2.3-3 .6-.9 2.5-2 3.4-3.4.8-1.2 3.2-3.5 4.2-4.3L230 322zm-74.2-137.7c.1 3.3 3.8 9.6 5.8 13 2.1 3.3 2.7 4.6 2.3 4.8-.3.3-1.2-1.5-2.3-3l-5.2-7.6c-1.9-2.6-4.6-9-5-9.5-.3-.6-.5-1-1.4-.2-1 .7-2.7 7.6-.6 12.3 2.2 4.8 5.4 8.2 6.7 9.8 1.4 1.7 3.2 4.2 2.9 4.5-.3.2-.8-.5-2.4-2.2a152.9 152.9 0 01-6.2-6.8 49 49 0 01-4-6.5c-.3-.5-.7-.4-1-.1-.5.6-1.4 2-1 5.7.5 5.2 3.3 8.2 5.7 10.9 2.4 2.6 4.8 4.8 4.5 5.2-.4.3-2.9-1.9-4.6-3.5-1.7-1.7-6-5.7-6.8-6.9-1-1.1-2.3-.6-2.2 4 0 4.4 5 9 7 11.5 2.2 2.5 4.7 4 4.5 4.5-.2.5-2.3-.8-3.6-1.7-1.4-1-6.4-4.2-7.4-5-1-.6-1.5.7-.3 5 1.3 4.3 5 7.7 7.2 9.3 2.3 1.6 5.8 3.5 5.6 4-.2.5-1.7-.1-3.8-1.1-2-1-4.5-2-6.3-2.5-1.8-.5-1.8.8-1.8.8s-.4 3.7 2.3 6.6a14.2 14.2 0 008.5 4.6c2.8.5 3.3.6 3.2 1 0 .5-.4.5-1 .5-.7 0-3.3.3-5.7.3s-3.7.6-3.7 1.7c0 1-.1 2.5 3.5 4.9 3.7 2.4 7.7 2.8 9.5 3.1 1.7.4 1.7.5 1.4 1-.4.5-1.2.5-3.9.8-2.7.2-4.3 1.3-4.7 2-.4.8.2 2.9 2.4 4.4 2.2 1.5 5.1 2 9.4 1.7 4.3-.3 5.3-.3 5.5.4.1.7-1.3.9-3.4 1.3-2.2.3-3.8.3-5 1.3s-.3 3 1.7 4.6c2.1 1.5 7.2 1.5 9.4 1.3 2.1-.1 5.4-.9 5.6-.3.2.6-1.5 1.4-3.8 2.2-2.2.8-2.8 1.3-3.2 2.2-.5 1-.1 1.8 2.5 2.8 2.7 1 6.5 1 8.5 0 2-.8 3.1-1.2 3.5-.8.3.3 0 .7-.5 1.2a9.8 9.8 0 01-4.3 2.4c-2.2.6-2.5.6-3.2 2.4-.8 1.8 1.2 3.2 5.2 3.3 4 .2 9.3-1.4 11-2.4 1.7-1 2.4-1.2 2.7-.9.3.4.2.6-.7 1.2-.8.7-3.5 2.6-4.9 3-1.4.3-1.5 1.3-1.5 2.3 0 .9-.4 2.8 3.2 3.6 3.6.9 7.8.2 11.6-2.5a8.8 8.8 0 002.4-2.2c-.3-3.7-.1-6.2.3-8.5a14 14 0 01-3.6-.9c-2.2-.8-3-2.8-3.5-4-.5-1-1.3-1-2.1-.7-.9.3-1.7.7-3 .6a8.4 8.4 0 01-5.6-3c-1.8-2.2-1.5-4.3-1.6-5.4 0-1-1.7-.3-2.6-.3-.9 0-3.3-.3-5.6-1.9-2.3-1.6-2.3-3.7-2.5-4.6-.2-.8-1.2-1.4-1.9-1.7-.7-.3-1.8-.6-3.4-1.8s-2.1-3.8-2.2-4.7c0-.8-1-1-4.2-2.6s-3-5-2.8-6.4c.1-1.4 1.6-2.5 1.6-3s-1-.6-2.1-1.3c-1-.6-3.8-1.7-3.9-5.7 0-4 2.6-4.4 2.6-4.4l-1.6-.9c-1-.6-4-2.6-4-5s1.1-3.4 1.9-4c.8-.6 3-1.1 3-1.1s-1.4-1-2-2.8c-.6-1.8-.8-4.1.6-5.8 1.3-1.6 3.6-1.6 4.8-1.6s2.3.7 2.7.3c.4-.4.5-.6.1-1.6s-.5-3.2-.2-4c.4-.8.5-2.3 3.5-3.3s6.3 1 7.3 1.6.6-.8.6-1.8-2-3.5-4.4-7a77.8 77.8 0 01-10.8-25.1c-.4-1.8-1-1-1-1s-.8.3-2.4 4.5a26.7 26.7 0 00-1.8 11.2z"/>
+  <path fill="#d4af3a" d="M209.6 257.5a8 8 0 01-6-3.8c-1.9-2.7-4.6-3.3-9.4-3.2-4.8 0-7-2.2-8.2-5.5-1.2-3.4.2-7.1 5-9.5 5-2.4 7.1-5.1 7.3-9.2.2-4.2-4.9-9.3-9.9-15.1-5-5.8-9-14-9-14s-1.5 1.9-1.5 3.8c0 2 .8 4 0 4.5-.7.6-1-.8-4-2s-5.3-1.5-7.1.6 0 5.8 1.7 7.5c1.6 1.8 3 3 2.5 3.7-.4.7-3-1-3.7-1.6-.9-.5-2.8-2.6-5.7-2.4-2.8.3-3.8 1.1-4 3.5-.4 2.4 2.5 4.6 4.3 5.5 1.9.9 2.6 1.7 2.1 2-.4.5-.9 0-1.7-.2-.8-.3-3.1-.5-4.6 0-1.5.6-3.9 2.6-1.7 5 2.2 2.6 6.8 3.5 7.8 3.7.9.2 1.3-.1 1.4.6.1.8-1.9.8-4.4.9-2.5 0-3.2 2.4-2.8 4.3.3 1.8 4.5 3.8 6.8 4.2 2.3.4 3 0 3.3.7.2.6-.3.9-1.6 1.2-1.3.4-3.8.7-4.2 2.7-.5 2-.6 3 1.4 4.7 1.9 1.8 5 1.5 6 1.3.9-.2 2-1.2 2.9-.3.9 1-.8 1.7-2.4 2.8-1.6 1-1.5 3.2 1.2 4.7a8.2 8.2 0 006.4.5c1.1-.3 2.6-2 3.3-1 .8 1.1-2.3 1.5-3.6 3-1.2 1.6-.8 4.2 1.8 5.8 2.6 1.5 6.8.4 7.5-.2.8-.7 1.7-1 2.2-.4.6.6-.2 2-.8 3.3-.5 1.3-1.5 5 2.3 6.6 3.9 1.4 7.4-1.9 8-2.5.7-.7 1.3-.8 1.8-.5.6.3.3.8-.1 1.5a3.9 3.9 0 001.3 5.3 6.8 6.8 0 005 1c.6-2.1 1.3-4.4 2-7.6h-.5c-.4 0-.4.5-.4.7 0 .3 0 .4-.3.4s-.3.2-.8.6c-.5.3-1 .7-1.2.5-.2-.2 1-.8 1.3-1.2.4-.4 1-1 1-1.5.1-.5.3-.7 1-1.3l.5-.5c.4-2.2.9-4.7 1.3-7.7a61 61 0 00.4-5.9h-1.2zM131.1 200c4 8.3 9.9 13 9.9 13s-.8-2.1-1.1-3.5c-.4-1.4-.1-3-.1-3s-1.5-2-4.1-6c-2.7-4.2-4.2-10.3-4.2-10.3s2.5 6.1 4.5 9.3a50.3 50.3 0 004.2 6s.8-3 1.3-3c.6-.2 1 .2 1.5.9.5.6.9.5.9.5l-1.7-3c-.5-.7-1.2-1.5-1.6-2.3-1.6-2.4-4.9-7-6.6-11.6-1.7-4.6-5.4-16.1-6-19.5-.6-3.4-1.3-1.6-2 1a29.4 29.4 0 00-.9 11.3 57.1 57.1 0 006 20.2zm5.3 22.4a145 145 0 003.8 2.7l-.6-1.9-.3-3-3.1-2.7a44.2 44.2 0 01-6-6.4c-3-3.8-.6-1.5 2 1.3s7.4 6.8 7.4 6.8v-1c0-.8.3-1.4.7-2 .5-.6.3-.6-2.5-2.7a79.6 79.6 0 01-18.7-26.1s-1.6 9.5 4.2 20c5.8 10.5 11.5 13.9 13 15zm30.4 60c3.2-1.2 2.3-4.3 2.3-4.4l-3.7 1.3c-1.8.7-6.2 2-8 2-1.7 0-1.7-.2-1.8-.4 0-.3 1.4 0 3.9-.5s6.9-2.8 7.7-3.3c.7-.5.6-.6-.5-.7a4.8 4.8 0 01-2.5-1c-.4-.3-1.6.2-4.5.9a53.3 53.3 0 01-23 .8c-.6-.2-1.4.2.8 3.9 2.2 3.7 10 5.7 15.4 5.6 5.3 0 10.7-3 13.9-4.1zm-14.3-7.6c5.5 0 7.6-1.6 7.6-1.6s0-.3-.7-1.4c-.8-1.1-.6-3-.6-3l-3.7.5c-2.3.4-5 .7-8 .2-2.9-.6-1.6-.9.7-.6 2.4.3 7-.6 8.4-1 1.4-.6.8-1-.2-1.4-1-.3-3.6-2-3.6-2s-6.8.8-13 .1c-6.3-.7-10.2-2.3-11.5-2.5-1.3-.2-1.2.3-1.2.3s-.4.6 1.8 4a18 18 0 0010 6.6 53.7 53.7 0 0014 1.8zm-1.4-13l-.6-1.4c-.3-1.2.6-2 .6-2s-1.3-.4-5.4-1c-4.1-.4-4.4-.8-7-1.3-2.4-.6-4.1-1.3-4.1-1.6 0-.3.8.1 2.4.7 1.4.5 7.8 1.2 10.5 1.6 2.7.4 4.2.6 4.6.4.5-.3 2.2-.7 2.2-.7l-2.6-.6a9 9 0 01-3.4-1.4c-.8-.5-1-.6-4.4-1-3.4-.4-6.1-1.5-12.2-3.7-6-2.2-10.6-4.8-11.8-5.8-1.3-1-1.2-.3-.8 1 .3 1.2.3 2.8 3.3 6.4 3 3.6 4.6 5.1 12.3 8 7.7 2.8 16.4 2.4 16.4 2.4zM128.3 243a43.3 43.3 0 0016.5 6.8c.3-.4-.4-2 0-3 .4-1.2 1.1-1.2 2.7-1.3 1.7 0 .6-.4.2-.4l-3.2-.8c-2.7-.7-5.5-1-9.2-2.5-3.8-1.4-5-2.5-4.8-2.7 0-.3 1.7.9 5.2 2.2 3.5 1.3 7.5 1.8 9.7 2.3s.3-.5-.7-1.1c-1-.6-2.5-2.9-2.5-2.9s-2.5-.4-6.5-1.6c-4-1.2-7.3-2.6-10.6-4.5-1.2-.6-2.3-1.5-3.5-2.3l-5.5-4c-1.3-1-1-.2-.8.4.2.6 1.1 3.5 3.3 6.6 2.1 3 2.8 4 9.7 8.8zm-1.2-13.5c6.8 5.3 12.5 7 13.5 7.4 1 .4 1-.1.7-.7-.2-.6-.3-2.4-.3-2.4l-5-3c-2.8-1.5-5.7-3.6-7.7-5-2-1.3-.8-1.2-.2-.7.6.5 3.4 2 6 3.8l7 4.1s0-.9.6-1.4c.6-.6 2-.4 2-.4l-1.1-1.4c-.5-.7-2.7-1.4-5.2-2.6a62 62 0 01-10.2-7.2c-3.3-2.8-9.7-9.8-10.1-10.3-.5-.6-.7-.5-.8.2 0 .7-.3 1.2.4 4.4s3.7 9.9 10.4 15.2zm23.8-50.3l2.2 3.8a55.5 55.5 0 011.5 2.5V184a11.7 11.7 0 010-3.7c.1-.9.3-1.7.2-2.4 0-.9-.3-1.6-.4-2-.2-1-1.2-4.9-1.7-7.7a62 62 0 01-.9-10.2c0-3.5.5-1.7.5 0s.2 4.3.8 8.3c.5 4 2.2 10 2.2 10s0-.9.6-2.2c.5-1.4 1.3-2.9 2-4.5s.4-2 .4-2-2.4-11.3-3-16.6c-.6-5.3-1.6-19.4-1.6-19.4-3.5 3.5-6 12.6-6.5 21.3-.3 6.5.7 12.5 1 15a38 38 0 002.7 11.3zm-7.6 17.8c0-2.6.7-4.5 2.3-5 0 0-1.4-2.6-2.7-6.3a49 49 0 01-2-8.2c-.9-6-1.6-12.3.2-2 1.8 10.2 4 13.8 4 13.8l2.6 4.3a18.4 18.4 0 01-.3-5.3c0-2 .3-4.8 1-7 0 0-3.2-6.3-5.2-13.9a87 87 0 01-3.4-24.1s-3.3 2.4-4.4 14.8a73.5 73.5 0 003.8 28.8 202.7 202.7 0 004 10zm35.4 94.5l-2-1.3c-1.5-1-1-4-1-4l-1.6 1.1c-1.2.8-2.4 1.7-4 2.3L167 291c-1 .3-.8 0 0-.5.9-.5 1.1-.8 3.2-1.6 2-.8 6.1-4.4 6.1-4.4l-2.6-.1c-1.7-.1-3.9-1-3.9-1s-1.7 1.6-8.5 4.5c-6.8 3-12.6 3.7-12.6 3.7s.7 3.5 4 4.7c2.7 1.1 6.5 1.9 13.8.1a46.5 46.5 0 0012.3-4.8zm9 7c.6-2.9-1-4.9-1-4.9l-1.4 1.1c-1 1-2.6 2.7-5.4 4.1-2.9 1.5-4 1.4-1.2-.1s6.9-5.7 6.9-5.7l-1.1-.4c-1-.4-3 .3-10.6 4.9-7.7 4.6-12.2 4.8-12.2 4.8s3.4 4.1 12.7 3.8c9.4-.3 12.7-4.7 13.3-7.6zm17.6-3.4s-1 1.5-2.4 2.4c-1.4 1-5 1.5-5 1.5l-1 1.3a15 15 0 01-3.9 4.3c-1.6 1.2-4.2 2-4.3 1.7-.2-.3 1.5-1 3-2 1.7-.9 3-2.7 4.2-4 1-1.2-.5-1-.5-1h-3.7c-1.8-.2-1.5 0-2 .8-.5.9-1.2 1.7-2.6 3.2l-4.7 5.4c-1 1.3-.2 1.6-.2 1.6s.4.8 4.6 1.3c2.5.2 5.3 0 8.2-1.8a25 25 0 005.6-4.8c5-5.4 4.7-9.9 4.7-9.9zm2.2 11.3l-1.5 1.9s.7-2.2 1.3-3.3l1-1.4a27.6 27.6 0 01-1.7-5c-.5 1.5-1.9 5.8-3.7 8.6-2.1 3.5-4 4.7-2.8 5.6 1.3 1 3.7 1.2 6.4-.2a6.8 6.8 0 003.7-5.3 26.4 26.4 0 01-1.3-2.3c-.3.2-.8.6-1.3 1.4z"/>
+  <ellipse cx="206.9" cy="169.2" fill="#d4af3a" rx="1.9" ry="1.8"/>
+  <path fill="#d4af3a" d="M203 165.9c1.7 0 2.6-.9 4.5-.7a28 28 0 019.1 3.6 15.5 15.5 0 0010.5.9c1-.3 2-1 3-1.5 4.6-2.5 3.5-7.6 3.5-7.6a17.8 17.8 0 01-11.4 3.5l1 .8c.6.7 1.8 1.5 1.4 1.8-.4.3-2-1.3-3.4-2.3a20.6 20.6 0 00-7-3.4c-3.4-1-7.4-1.1-10 .3-2.7 1.5-2.9 3.3-2.5 4 .2.5.7.6 1.2.6zm49.2 37c-.8-.2-2.2-.5-4-2.2a76.4 76.4 0 01-6.7-7.3c-.5-1-.3-1.8 1-2.3 1.2-.5 2-2 2-2s-2.7-1.1-4.5-2.4-6-5.2-6.6-6.1c-.6-1-.3-1.1.5-1.4 1-.3 1.1-1 1.1-1s-2-1.1-3.8-2.6a75.5 75.5 0 01-4.3-4c-2.7 1.2-7 .7-9.3.3-4.1-.7-7.1-2.4-7.1-2.4l-.7 1.9c-.5 1.3-2.4 2-4.3.7-2-1.2-1.5-4-1.5-4s-1.5-.9-4.7-2c-3.1-1.2-5.7-1.4-8.2-.2-2.6 1.2-3.8 4.7-3.8 7.3 0 2.7 1.4 1.6 1.6 1.2.3-.4 1-2.3 4.1-2.8 3.3-.5 6.2 1 9.8 4 3.7 3 4.5 3.3 6.3 5.2 1.9 1.9.4 3-2.7 4-3.2 1-7.2-1-7.4-1-.6.3 1.4 3.1 4.1 4.2 2.7 1 6.2.3 8.9-.7 1.8-.8 2.2 0 2.7.5 3 3.2 3.7 6 4.2 9.7a4.3 4.3 0 002.8-3.3c.1-.6.3-1.9 1.3-1 1 1 1.9 6.3 1.9 8.7 0 2.5-.8 5.7-.8 5.7l.8-.1c.4 0 1.3-.6 2.5-1.2 1.1-.7 1.2 0 1.2 1.4 0 1.3.4 3.8 2.2 8.3 1.7 4.4 4.3 5.9 4.3 5.9s.5-.9 1-2.7c.5-1.7 1-5.2 1-8.2 0-3-.9-9.4-.9-9.4s3.7 4.4 7.5 5.5c3.8 1.1 7.6.5 9.2-1.4 1.6-1.8.1-2.6-.7-2.8z"/>
+  <path fill="#d4af3a" d="M227.2 214.5s-1.2 2.5-1.8 3.4c-.6 1-.9 1-.9 1s1.2 1 2.8 1.6l3.2.8s-1.9-2.6-2.5-4.4l-.8-2.4zm22.9-1.5l-1-2.3a16 16 0 01-8.7-1.8s1.8 3.6 3.5 4.8c1.8 1.3 2 1.3 2 1.3s-1.7.3-4-2c-2.4-2.3-3.5-5-3.5-5s.6 6.2-.4 10l-1.1 4.2s5 1 10.5-.6 6-2 6-2 .6-.2-.3-1.4a29.9 29.9 0 01-3-5.2z"/>
+  <path fill="#b96b29" d="M240 199.4l-1.9-2.4s-.6.6 0 1.4 2.9 3 4.5 4a11.8 11.8 0 003.3 1.2v-.3s-4.2-2-5.9-3.9zm-6.8 12.9l-.4-9c0-1-.7-.8-.7-.8l-.8.4 1.6 11.3c.2 1.2.8 1.1 1.1 1-.6-.2-.7-2.6-.8-3zm-10.4-33.6c-.6-.6-2-1-.7.5 1.4 1.5 3.2 3.4 3.7 5s.8 3.5 0 3c-1-.3-1.6-.3-2.5-1.1-1-.8-2.8-2.1-3.5-2.3-.7-.3-2 0-1 1.1a26.4 26.4 0 004.2 3.7l4.2 2.9 2.1 1.4s-1-6.4-2.7-9.1a28 28 0 00-3.8-5zm-34.1 105.9c-1.3 1-3 1.4-3 1.4s-.8 0-.8.2 1 0 1.9-.1c1-.2 2.3-1.2 2.8-1.5.5-.4 1.2-.8 1-1.5-.3-.6-.7.5-2 1.5zm11 5.9l-2.4 2-1.4.6c-.7.3-.9.7-.9.7s.2.2 1 0 2.9-1.8 3.6-2.5c.7-.6 1-.8.7-1-.2-.3-.4-.1-.6.2zM155 211.1c.4.5.9 1.1 1 1 .3-.3 0-.5-.5-1.1l-.8-1-1.2-1.6c-.4-.4-1.1-.7-.3.4l1.8 2.3zm-3.4 7.4l1.5 1.4c.5.6.9 1.2 1.2 1 .3-.4-.8-1-1.3-1.7a8 8 0 00-1.5-1.5 10.6 10.6 0 00-1.4-.8l1.5 1.6zm1.3 12c.8 1 2 1.2 2.2.8.2-.3 0-.6-.8-1a24.2 24.2 0 01-4-2.7c-.3-.4-.8-.7-1-.6 0 .1 1.2 1.6 1.6 1.8.4.2 1.1.9 2 1.7zm2.4 9.7c0-.4 0-.6-.6-.6l-1.7-.2s-1.4-.5-1.5-.3c0 .3 1.2.8 1.7 1a3 3 0 011.5.4c.3.2.6 0 .6-.3zm1 10.4c-1.4 0-2.7-.3-2.8-.1-.1.2.7.6 1.4.8.8.3 2.2.4 3.2.4s1.1-.1 1-.6c0-.5-1.2-.5-2.7-.5zm11.8 11.5c-.2-.3-.7 0-1.6 0-.8.3-2.2.5-3 .5a134.6 134.6 0 00-2.5-.1l-1 .2c0 .3 1.3.2 3.2.4 1.8.2 3-.2 4-.3.8-.1 1.2-.5 1-.7zm4.9 8.1c-1 .4-1.6.4-2.3.4l-2.4.3s-.8.2-.7.5c.2.3.4 0 1.1-.1h2.5c1.2 0 2-.4 2.7-.6.8-.1 1.6-.5 1.2-1-.4-.5-1.2.1-2.1.5zm9.5 6.2l-2.6 1.9-1.2.7c-.8.4-.7.6-.6.8.1.2.6-.3 1-.5.5-.2 2-1.2 2.7-1.8.8-.6 1.7-1 1.6-1.5-.2-.5-.4-.2-1 .4zm-15.8-79.8l1.8 2.5c1.6 2 .8 0 .4-.5s-2.8-3.9-3.7-4.8c-.8-1-.9-.5-.5.1l2 2.7zm-3.4 10.5c.2-.2-.3-.5-1.3-1.6a536.8 536.8 0 01-2.8-3.6s-.5-1.1-.7-1c-.1.1.7 1.9 1.4 2.6.8.8 1.8 2.3 2.3 2.9.5.6.8 1 1 .7zm4.5 19.7c0-.6-1.9-.5-2.7-.7l-2.3-.5s-1.8-.3-1.8 0c0 .2.3.4 1.3.6l3.5.8c1.1.1 2 .4 2-.2zm-4.5-10.7l2.6 1.9c.7.3 1.2.8 1.6.4.3-.4-.3-.7-1.4-1.1-1-.5-1.5-1-1.5-1l-1.2-.5c-.5-.3-1.4-.6-.1.3zm10.5-7l-1.4-1s-1-.8-1-.5c-.3.3 1 1.1 1.5 1.7.6.5 1.7 2 2.2 1.7.5-.3-.5-1.2-1.3-1.9zm-6.9 27.5l-1.7.4c-.6.2-.7.5.5.5s1.7-.3 3-.5c1.1-.3 1.5-.4 1.3-.8-.2-.4-.8-.2-1.3-.1l-1.8.5zm1.9 10c-.1.1.8 0 1.4-.3l2.7-1.1c.8-.2.8-.4.8-.8 0-.5-.8-.1-1.8.2s-2.2 1.3-2.2 1.3l-1 .6zm12.8 6c.8-.6 1-1 .7-1.3-.3-.2-.6-.2-1.3.4l-2 1.5-1.3.6c-.6.3-1.2.7-1 1 .2.2 1.3 0 1.9-.6.5-.4 2-1.1 3-1.7zm6 8c.3-.4 1.4-.8 1.9-1.1.5-.4.8-1.4.4-1.6-.4-.1-.6.5-1.5 1.1l-3.7 2.5-.7.3c-.8.3-.5.6.2.5.7-.1 1-.1 1.9-.7.8-.7 1.2-.8 1.5-1zm9 7.5c.7-.3 1.8-1.3 2.3-1.8s1.2-1.1.8-1.4c-.4-.3-.8 0-1.4.7-.7.5-2.3 2.2-2.3 2.2l-1.1.8c-.9.7 0 .6.3.3.4-.3.6-.5 1.3-.8z"/>
+  <path fill="#d4af3a" d="M232.3 150.9l-2.7 2.2 3.3 1.4 3.6-2.5z"/>
+  <ellipse cx="244.4" cy="151.6" fill="#b96b29" rx="3.4" ry="3.3"/>
+  <ellipse cx="244.4" cy="150.8" fill="#d4af3a" rx="2.1" ry="2"/>
+  <path fill="#d4af3a" d="M237.3 140.2c.9.3 2 .2 2 .2s.4-1.6-.5-2.3c-.8-.8-1.6-1.3-2-1.8l-.7-.6v2.1c-.1.8.3 2 1.2 2.4z"/>
+  <circle cx="239.1" cy="141.8" r=".6" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M234.4 141.2l-.8 1s.7 0 1.2.4c.6.4 1.4.8 2 .7a1 1 0 00.9-1.2c-.2-.5-.5-1-1.6-1.3-1.1-.4-1.4 0-1.7.4z"/>
+  <path fill="#d4af3a" d="M236.8 145.2c-2.1.2-5-2.2-5-2.2-.3 2-1.4 3-3.3 3.3h.2s1.7 1 3.7 1.2c.9.2 1.7 0 2.7-.2a10 10 0 003.2-1c1.3-.8.9-2.9.9-2.9s-.2 1.6-2.4 1.8zm-8.4-2.1c-.9-.4-2.2-1-2.8-1-.5 0-1.3-.2-1.2.8.2 1 1.2 1.5 2.2 1.6 1 0 1.6-.4 2.2-.7.6-.3.5-.4-.4-.7zm-6.7-3.7c-1-.7-1.9-.9-1.9-.9s-.6 1.7-.2 2.7 1 1.3 2 1.3c.9 0 2.3-.5 1.9-1.2a5.4 5.4 0 00-1.8-2z"/>
+  <ellipse cx="222.5" cy="144.1" fill="#d4af3a" rx=".8" ry=".5"/>
+  <path fill="#d4af3a" d="M224.6 135.8c-.6-2.9-.5-6 2.2-9.9 2.7-4 7.4-5.5 7.4-5.5l1.6-1.9c1.5-1.6 4.5-3.6 4.5-3.6l-5.5 1.5v.1a2.4 2.4 0 01-2.4 2.5 2.4 2.4 0 01-1.4-.4 24 24 0 00-5.6 3.1c.2.4.4.8.4 1.3a2.4 2.4 0 01-2.5 2.5c-.4 0-.7-.1-1-.3a10.8 10.8 0 00-.4.5 25 25 0 00-1.7 4 2.6 2.6 0 011 2.1c0 1.4-.9 2.5-2 2.5a4 4 0 000 1.6c0 .8.3 1.3 1.7 1.7 1.4.4 3.3 2.8 3.3 2.8.1 0 1.1-1.8.4-4.6z"/>
+  <path fill="#d4af3a" d="M233.2 117.6c.5-.4.6-1 .2-1.4-.4-.4-1.2-.3-1.7.1s-.6 1-.2 1.4c.4.4 1.2.3 1.7-.1zm-9 6.1c.5-.5.6-1.3.2-1.8-.5-.4-1.3-.4-1.9.2-.6.5-.7 1.3-.2 1.7.4.5 1.3.4 1.9 0z"/>
+  <circle cx="218.8" cy="131.4" r="1.4" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M248.9 112c-.8.2-2.1.6-4.1 1.7 1.4 0 2.5.9 2.5 2s-1.3 2.4-2.6 2.4a2.4 2.4 0 01-2.4-2.3c0-.3 0-.6.2-.8l-1.9 1.2c-4.4 3-5.5 4.5-7.7 8.5-2.2 4.1-3 8.6-2 11.2 1 2.7 4.4 3.2 4.5 3.2 0 0-.4-.4-.5-.9l.3-1.7v-2.2s.8-.1 1.3.4l1.5 1.8 1.7 1.6s.7-1 .7-2.2c0-1.2-.8-2.5-1-4.6-.1-2 1-5.8 3-8.6a24 24 0 017-5.7 2.2 2.2 0 001.4-2l.3-2c0-1.3-1-1.2-2.2-1z"/>
+  <path fill="#d4af3a" d="M244.5 116.8c.8 0 1.5-.7 1.5-1.4 0-.6-.6-1.1-1.4-1.1-.8 0-1.4.5-1.4 1.1 0 .7.5 1.4 1.3 1.4zm6.6 26c1 .4 2.2.2 2.8-.2.6-.4.8-1.3 0-1.9a2.1 2.1 0 00-2.2-.2l-2 1.4s.3.5 1.4.9z"/>
+  <path fill="#d4af3a" d="M254.5 144c-.4.6-.7 1-1.9 1s-2.5 0-3.2-.8a8.2 8.2 0 01-1.3-1.9h-1.4s-.4 1.9-1 2.4-2.7.6-3.6 0c-.9-.8-1.7-1.6-1.9-1.5-.1.1 0 .8 1 1.6s1.5 1.3 3 1.3h8.5s1.8.1 2.3-1c.5-1 .5-1.6.2-1.9-.2-.2-.3.2-.7.8z"/>
+  <path fill="#d4af3a" d="M241.5 142.6c1.3.7 2 .2 2.5-.3l.5-.9s-1.2-.4-1.8-.8c-.5-.3-1-.6-1.5-.6l-.7.2s-.2 1.6 1 2.4z"/>
+  <circle cx="235.4" cy="130" r="2.8" fill="#b96b29"/>
+  <path fill="#b96b29" d="M240.3 120.2c-1.1-.7-2.8-.4-3.7.7-1 1.2-.8 2.7.4 3.5 1.1.7 2.8.4 3.7-.7 1-1.2.7-2.7-.4-3.5z"/>
+  <circle cx="235.3" cy="129.6" r="1.6" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M239.1 120.5c-.7-.2-1.6.2-2 .8-.4.7 0 1.4 1 1.6 1.8.3 2.6-2 1-2.4zm-43.4 219.8s-4.3 2-5.7 2.4l-1.8.4s-3 2.7-5.1 4a19.4 19.4 0 01-7.6 2.7c-3.5.3-12.9.2-17.1 0-4.2 0-6.8 1-8.7 3-1.8 2-2.2 5 0 7.2 2.4 2.3 5 1.1 5.8-.2.9-1.4.4-3.2 0-4-.3-.8.8-1 2-1.1a25.5 25.5 0 0111.4 2.5c1.4.7.6.8-.4.6a21.5 21.5 0 01-3.7-1.2 14.8 14.8 0 00-4.3-1c-1 0-.7.6-.4 1l1 1.7-.4 2 .5 1 .9-1.5c.2-.6 0-1.6.2-2 .2-.6 1-.6 1.8.2a7 7 0 011.8 3.8c.4 2-.3 3.5-.3 3.5s.9.7 1 1.2c.2.5-.2 2.4-.2 2.4s.6.4 1.2-.7a25.3 25.3 0 001.3-3.8c.2-.7.6-2 1.5-1a8 8 0 011.6 2.7l.2 1s1.9-1.8 2.5-2.9a17.9 17.9 0 013.8-4.2c1.8-1.5 5-4.5 6.5-5.5l6.8-4c1.2-.7 1.4-.7 1.6-2.8.3-2.1 1.3-4 1.8-5.4l.5-2zm-70.1-78.7c0-.3-.8-1.6-1-2.2-.1-.7-.8-.3-.8-.3s-1.4.8-2.4 1.1c-1 .3-1.2-.1-1.3-.6l-.5-3.4c-.2-1.2-.4-1.1-.9-1l-2.6 1c-.9.5-.6.9-.3 1.4l1.8 3.4c.5.7 0 1-.5 1.3l-2.4.7c-1 .4-1 .6-.9 1l1.2 2.5c.4.6.8.2.8.2s1.1-1 2-1.5c1-.5 1.1-.3 1.4.4l1.5 5.2c.2.7.6.6 1.1.4l1.8-.5c.5-.2.7-1.3.7-1.3l-2.6-4.8c-.6-1 0-1.2.4-1.2l2.7-.5c1-.3.8-1 .8-1.3zm23.8 103c-.2-.9 0-1.8-.7-2.5a8.7 8.7 0 01-2-3.2c-.2-1.1.4-1.7.3-2.3-.1-.7-1-.7-1.9 0-.8.7-2 1.4-2 3.4s.8 4.5 3.6 5.3c2.9.9 2.8.3 2.7-.7zm2.8-1s-.5-.3-.8.2-.2.8.5 2 1.2 1.5 2.1 2c.9.5.3-.5.2-.9-.1-.3 0-.7-.3-1-.2-.2-.3-.6-.3-1.4s-1.4-.8-1.4-.8z"/>
+  <path fill="#d4af3a" d="M155.7 373.3c.6-.8 1-1 2.3-1.6 1.3-.6 3.7-.9 4.5-1 .8 0 2.6-1.6 2.3-3.2-.3-1.6-1.4-2.2-2.5-2.4-1-.3-1.9-.3-2.2.2a3.8 3.8 0 01-2 1.5c-1.2.4-1.3.8-2 1-.7.2-.2.6-.8 1.1-.6.5-1.4 0-2.3-.2-.9-.3-1-.5-2-.5l-3.6-.2h-.7c-.6 0-.7 0-1 .7-.2.6.1 2.2.8 3 .6.8 2.7 1.2 4 1.6a24 24 0 003.3.8c1.3.2 1.4 0 2-.8zm13 1.3c1.1-.7.5-2 .2-2.8-.2-.8-1.8-1-2.6-1s-1.2 0-1.7.4c-.4.3-1 .9-2.1 1.3-1.2.3-2.1.8-3.7 1.4-1.6.6-2.1 1.7-2.8 2.2-.7.4-2 0-2 0s-1-.3-1.3 0c-.3.2 0 .8.6 1.5s1.9.6 3.3 1c1.4.5 1.6.1 2.2-.2.5-.4 1-1.2 1.9-1.8 1-.6 3-.7 4-.8 1.1-.1 3-.4 4-1.2zm0-4.9c.5.5 1 1 1.5.3.4-.7 1-2.1.6-3l-1-1.6-1.2 3.1c-.4.7-.3.8.1 1.2zm-4.3-7.4c0-1.4-1-3-1-3s-.3 1.2-.9 2.3a8 8 0 01-1.2 1.7l2 .4c.5 0 1.1 0 1.1-1.4zm-8 3c1.5-.3 2.3-1 3-1.5.5-.5 1-2 .5-2.7-.4-.8-1.5-1.6-2-1.6h-.7s-.5 1.4-1 2.1c-.6.7-1.3 1.2-1.3 2.1 0 1 0 1.9 1.5 1.6zm3-6.8c0-.7-.2-1.5-.7-2l-.8-.8-.2 1.7-.2.7.8.6c.4.1 1 .5 1-.2zM141 320.4l1-6.3c-.7-6.3-4-12.3-6.6-16.5a79.3 79.3 0 01-6.5-14 39.9 39.9 0 01-2-10.7c0-2.5 1-3.8 1-3.8s.5-.6 0-1c-.3-.5-1 0-1.7.6a8 8 0 00-1.6 2.8l-.3 1.2s-1.4-.3-3.5-.2c-2.2.2-3.2.4-3.3.8 0 .5.3.9 1.9 1.5s2.5 1 3.3 2c.8.8 2.8 5.5 3.4 7.7a109 109 0 012.4 13 52 52 0 004.4 15.3c.7 1.6 4.7 9.1 8.1 7.6zm4 11.1c-1.5.8-1.5 6.8-.8 10 .6 3 3.7 6.9 4.6 8 1 1 1.1 1 1.6.7l.7-.3s1.3-.4 2.3-1.2c1-.7.6-2.6.4-4.3-.1-1.7-1.4-5-3.8-9s-3.6-4.7-5-3.9zm1.5-4.8c0-2-1.7-3.4-3.6-3.4-1 0-1.7.2-2.2.6-2 1.8-.8 6.3 2 6.3 1 0 2.3-.2 3-1 .7-.5.9-1.6.9-2.5zm28.3 56.2a12.6 12.6 0 01-5.7-4.4c-.3-.8-.3-.8-1.4-.5-1 .4-2.7.4-3.8.4-1.2 0 .1 1.4 1 2.6.7 1.3.5 5.4.5 5.4l-.2 1c-.2.6 0 1 .3 1.2.3.1.5-.2 1.3-1.1.8-1 2.3-3.5 2.3-3.5l1.6.3c1.3.3 3.3.2 4.4-.1 1-.4.5-1.1-.2-1.3z"/>
+  <path fill="#d4af3a" d="M169.8 386.1c-.5 0-.8-.1-1 .3-.3.3-.5 1-.7 1.4-.1.4 0 .7.3 1l.7.6s.5.5 1 .7c.4.2.5-.5.5-1l.3-2c0-.6-.5-.9-1-1z"/>
+  <path fill="#1d5e91" d="M378.6 345.8c-1.4-.3-2-.9-2-.9s-.5 0-1 .8c-.4.8-2.1 2-2.1 2s-2.4.6-2.8 2.2c-.3 1.7.9 2.3 2 2 1.2-.1 4-.7 5.2-2.2 1.2-1.4 1.4-2.3 1.7-2.8.2-.6.3-.8-1-1.1zm3.8-13.2c-1-3.7-3.3-8.3-7.9-10.6l-2.2 8c-.5 2-.5 1.9 1 2.2l7 1.7c1 .3 2.6 1 2-1.4zm-22-3.5c1.2.2 1-.2 1.4-1.7l2.3-8.7s-4.8-.2-9 1.8c-4.3 2-6.1 5.8-6.1 5.8s1 .5 4 1.1l7.5 1.7zm-11.2 10l-2.3-.5s1 4.2 2.8 6.5c1.8 2.3 3.8 3.4 7.5 3.5 3.7 0 6.5-2 7-3.6a11.7 11.7 0 011.2-2.8s-6.7-.9-9.5-1.5c-2.7-.7-5-1.3-6.7-1.6z"/>
+  <path fill="#d4af3a" d="M348 336.5l16.5 3.3c1.2.2 2.1.5 2.5.2.3-.4.5-.6 1.7-1 1.2-.5 1.1-1.7 1.1-1.7l.5-2.3c0-1.2.7-1.5 2 0 1.4 1.3 1.7 3.4 2 5.3.2 2 3.3 2.5 4.5 2.7 1.3.2 1.8-.2 2.5-1.3a16 16 0 001.3-5c.2-1.4 0-1.3-1.5-1.7l-9.9-2.3c-1.2-.3-1-1.1-.8-2l3-9.9a21 21 0 00-8.1-2.4s-2 9.2-2.5 10.6c-.4 1.4-1.3 1.4-2.7 1.2a636.2 636.2 0 01-12-2.8l-1 2a16.5 16.5 0 00-1.1 5.6c0 1.2.4 1.2 2 1.5z"/>
+  <path fill="#d4af3a" d="M384.3 344.8c-1.4-.9-2.4-1.2-3.2.6-.7 1.7-.8 4.2-2.6 6-1.8 1.7-4.4 3.6-7 3.4-2.5-.2-4-.8-3.4-3.7.6-3 4.5-3.9 5.5-5.4a3.4 3.4 0 00-.7-4.5c-1.4-1.2-3.3-1.4-3.9-1a8.4 8.4 0 00-2.9 3.9c-.8 2.2-1.3 4-3 5.4a13 13 0 01-9.5 2c-3.4-.8-4.7-1.8-6-5.2-1.2-3.4-2.7-9-3.4-9.6-.7-.6-1.6-1-3 0-1.5 1-1.6 2.6-1.8 3.8-.2 1.2 0 2.6 1.5 4.4 1.4 1.8 3 3.5 3.5 5.4.6 1.8 2.2 4.6-.1 4.7-2.3.1-3.4.2-5.1-1.5-1.8-1.7-8.7-6.4-10.6-8l-2.7-2c-3.2 0-6.4-1.3-9.6-3.5 0 0 1.9 4.7 2.2 6.5.4 1.7.3 2.7.3 2.7l9.7 5a177 177 0 0111 6c2.7 1.8 5 4.3 9.7 3.3 4.8-1 14.5-3.9 17.6-4.8 3.1-1 11.7-3 14.9-5.3 3.2-2.2 3.5-2 4-4.2.6-2.2 0-3.4-1.4-4.3zm-18.4-33l2.4-.3c1.6-.2 1 1.4.7 2-.2.6-.7 1.8-1.4 2.9-.7 1.1.2 1.3.7 1.5l2.4.6c1.3.3 1-.6 1.1-1.1 0-.5.1-3 .3-4 0-1 1-.7 1.3-.5l1.8 1c.6.3 1 0 1-.4l.8-2.2c.3-1-.3-.8-1-.8h-2.6c-1 0-.4-1-.4-1l1.4-2.3c.6-1 .4-1.1-.2-1.3l-3-.7c-.5-.2-.8 0-.8.3v2.9c0 .7-.1 1.1-1 1.1-1 0-1.5-.5-2.3-1.3-.7-.8-1-.5-1.1-.2l-.8 3.3c-.2.7.2.6.7.5zm5.2 23.3s-.1 1.8-.3 2.4c-.2.7-.6 1.6.1 1.9.8.3 1.5.6 2 .4.4 0 .2-1 0-1.7a6.8 6.8 0 00-1.3-2.4l-.5-.6zm11.2 7.3c.2.6.8.8 1.1.9.4.1 1 .1 1-.6s0-1.6-.5-2.4c-.6-.7-.9-1.3-1.2-.2-.4 1.2-.7 1.8-.4 2.3zm-39.1-7.4l1.5.4s0-1.7.3-3c.2-1.2.7-2 .3-2-.5 0-.7.4-1 .9-.4.5-1.3.6-1.6 2.1-.3 1.4.2 1.5.5 1.6z"/>
+  <circle cx="350.8" cy="331.9" r="2.5" fill="#b96b29"/>
+  <circle cx="357.8" cy="333.6" r="2.5" fill="#b96b29"/>
+  <circle cx="378.3" cy="338" r="2.5" fill="#b96b29"/>
+  <circle cx="364.9" cy="335.3" r="2.5" fill="#b96b29"/>
+  <circle cx="366.7" cy="329.2" r="2.5" fill="#b96b29"/>
+  <circle cx="368.5" cy="323.1" r="2.5" fill="#b96b29"/>
+  <circle cx="351" cy="331.7" r="1.2" fill="#d4af3a"/>
+  <circle cx="358" cy="333.4" r="1.3" fill="#d4af3a"/>
+  <circle cx="378.5" cy="337.7" r="1.3" fill="#d4af3a"/>
+  <circle cx="365.1" cy="335.1" r="1.3" fill="#d4af3a"/>
+  <circle cx="366.9" cy="328.9" r="1.3" fill="#d4af3a"/>
+  <circle cx="368.7" cy="322.8" r="1.3" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M287.5 383c-1.4-.8-2.5-1.7-5.6-3.8-3-2-4.1-4.2-4.1-4.2h1c.6 0 1.1-.8 1.2-1.7 0-.8 0-2.4-.3-4.4-.2-2 .3-3.5.3-3.5s1.3 1.2 3.3 2.3c2 1 2.8.5 2.8.5l.5-2 2 4c1.3 2 4.5 4.4 6.9 6.2 2.3 1.7 4.9 3.6 6.8 4.2 2 .7.8 1.6.8 1.6s-2 2-6.9 2.8c-5 1-7.4-1-8.7-2z"/>
+  <path fill="#d4af3a" d="M270 381.1c1.8-.2 3-.8 3.3-2.8.2-1.2-.1-6-.1-6l1.2 1.2c.7.9 2.2 1 2.2 1s.2.7 1 1.8a10 10 0 003.2 3.5 53.8 53.8 0 015 3.4 30 30 0 004.5 3.3 7.5 7.5 0 013.8 5c.6 2.5.1 3.3-1.9 3.2-2-.2-2.1 0-5.3-.8-3.2-.8-7.8-4.4-11-6.5-3.4-2-5.8-6.3-5.8-6.3z"/>
+  <path fill="#d4af3a" d="M261.2 384s1.4-1.7 1.9-3.6l1.4-5.8 1.5 3.5c1.1 2.3 3 2.9 3 2.9s0 1 1.6 2.9a22.5 22.5 0 006 5c2.3 1.4 5.3 3.3 6.9 5.6s1.8 4.7 1 5.7-1.8-.2-3.4-1c-1.5-.7-5.9-1.4-11.9-4.6-6-3.2-8-10.6-8-10.6z"/>
+  <path fill="#d4af3a" d="M258.6 397.5c-1.6-2.5-1.9-8.5-1.9-8.5l1.4-1c.8-.8 2.4-3.1 2.4-3.1l2 4c1.1 1.9 1.6 2.6 3.9 4.6 2.2 2.1 5.3 4.1 6.6 6.3 1.3 2.3.6 6.7-.3 8.1-.8 1.5-2 1-3.3-.2l-3.8-3.4c-2.3-1.9-5.3-4.3-7-6.8z"/>
+  <path fill="#b96b29" d="M278.4 347c-1-1.8-1.9-4-2.7-5a16 16 0 01-1.4-2.5s2.2 2 3 3.4a15 15 0 011.8 4.2c.3 1.5.2 1.7-.7 0zm-8.5 1.6a53.6 53.6 0 01-.6-2s-.3-1.2-.1-1.3c.2 0 1 .8 1.7 2.7.6 2 1.5 4.8 1.3 5-.2 0-2-3.2-2.3-4.4zM263 354l-.4-1s-.6-2.1-.6-2.6.2-1 .7.2c.6 1.1.7 2.2.8 2.7.1.5.8 2.2.6 2.4-.2.1-.7-.9-1-1.7zm20.9 20.4l.9-.5 1.3 1.5c.8.8 1.6 1.2 2.2 2a8.5 8.5 0 002.9 2.4c1.4.7 1.9 1 1.6 1.1-.2.3-1.2-.3-1.2-.3s-.4 0-2-1-2.1-1.6-3.2-2.5l-2.5-2.7zm-7.3 8.7c-.6-.7-1.3-1.2-1-1.5.4-.4.9-.4 1.5.1l3 2.8c.7.7 1.4 1 2.1 1.7.8.6 2.4 1.5 3.2 1.9.9.5.1.5.1.5l-1.3-.5-2.6-1.1-1.8-1.1a25.9 25.9 0 01-3.2-2.8zm-8.4 5.8c-.5-1.1 0-.8 1-.4.9.3 2.9 2.5 4 3.3 1.2.8 2.2 1.2 3.2 1.7s1 .7 1 1c-.1.2-.5.2-1 0l-1.7-1-1.1-.2c-.6 0-1.3-.7-2.6-1.7-1.2-1-2.2-1.7-2.8-2.7zm-3.9 7.7c1.5.9 4 2.9 4.7 4.2.7 1.4 1.2 2.3 1 2.6-.3.2-1-.3-1.3-.8-.3-.6-1-1.4-1-1.4s-2.6-2.5-3.5-3a8.9 8.9 0 01-2.8-3.3c-.4-1-.1-1.5-.1-1.5s1.6 2.3 3 3.2z"/>
+  <path fill="#c52126" d="M304 181.3a23.7 23.7 0 0119-1.6c2.3.6 4.1.7 6 .2a8 8 0 005.6-6.3s2.6 3.3 0 6.8a7.7 7.7 0 01-4.6 3.2c-5.4 1-10.8-2.3-15.3-2.6-4.3-.2-7.7 2.5-7.7 2.5s-1 .9-2.5 0c-1.5-.8-1.9-1.5-.5-2.3z"/>
+  <path fill="#d4af3a" d="M319.6 338.7l1.3-.2c.8-.1 2.4-.6 2.8-.9.5-.2 1.3-.2 1.7.3.5.5 4.4 2.9 4.4 2.9h-6.4c-2.3 0-3.8-2.2-3.8-2.2z"/>
+  <path fill="#d4af3a" d="M301.4 337.6v-.7l.9-1.8s1 .6 2 1.6c1.2 1.3 2.6 3.2 3.2 4 1 1.3 2.6 2.6 1.3.4s-1.7-3.2-2.8-4.6c-1-1.5-1.8-2.1-1.7-2.2l3.7-.6c2.7-.3 4.4-1.4 5.6-2.1l3.5-2s4.6 2 6.4 2.4c1.7.5 2.7.7 1 1.5-1.6.9-3 1.1-3.9 1.6a11 11 0 01-4.9 1.4c-1.5 0-4.2 0-3.1 1 1 1.2 2.2 3.3 3.3 6.4a21.6 21.6 0 011.2 7.4l-.2 2.7s-2-2.1-7-5.3c-5-3.2-7-4.3-8-4.7-.9-.4-1.4-.4-1.2-1.6l.7-4.8z"/>
+  <path fill="#d4af3a" d="M282 322.1l1-.4h.2c.6.4 3.7 2.4 5 4.5 1.2 2 2.4 2.2 1 0a19.1 19.1 0 00-3.4-4.4 25 25 0 00-1.1-1c2.5-1.2 5.2-2.6 7.8-4.5.4.7 1 2 1.8 2.7 1 1.1 3.4 2.1 3.4 2.1s-1.9-2-2.5-3.5c-.5-1-.7-2-.9-2.6a33.9 33.9 0 005.2-4.9 19 19 0 004.4 7.9c4 4.5 12 6.7 12 6.7s2.8.3.5 1c-2.3.5-3.9 1.5-8.3.8-4.4-.8-4.7-1-5.3-1.2-.6-.1-2.2 0 0 .8s7.3 1.6 9.3 1.4c2-.1 4.7-.6 1.8 1-2.8 1.4-4 2-5.7 2-1.7 0-2.4.6-4.1.6-1.7 0-2.1-.3-3.3-.6-1.2-.2-2 .2-2 .7s1.6 1.8 1.5 5a28 28 0 01-.6 6.4c-.3 1-1 2.5-1.5 3.4-.4 1-.6 1.8-1 0-.6-2-1.6-4.7-2-6.6-.5-1.8-.7-1.9-.9-2.9-.2-.9-1.2-1.6-.7.1l1.4 5.5c.3 1.5 1.2 4.4-.3 2.1-1.4-2.2-6.8-8.3-7.7-9.3-.9-1-1.6-2.1-2.2-3-.7-.9-2.5-2-3.4-3.4a30.3 30.3 0 00-4.2-4.3l4.8-2.1zm74.2-137.7c-.2 3.3-3.8 9.6-5.9 13-2 3.3-2.6 4.6-2.3 4.8.4.3 1.2-1.5 2.4-3s3.3-5 5.2-7.6c1.8-2.6 4.5-9 5-9.5.3-.6.4-1 1.3-.2 1 .7 2.8 7.6.6 12.3-2.1 4.8-5.3 8.2-6.7 9.8-1.4 1.7-3.1 4.2-2.9 4.5.3.2.8-.5 2.5-2.2a152.9 152.9 0 006.1-6.8c1.4-1.7 3.4-5.2 4.1-6.5.3-.5.6-.4.8-.1.7.6 1.6 2 1.2 5.7-.6 5.2-3.3 8.2-5.7 10.9-2.5 2.6-4.9 4.8-4.5 5.2.3.3 2.8-1.9 4.5-3.5 1.8-1.7 6-5.7 6.9-6.9 1-1.1 2.3-.6 2.2 4 0 4.4-5 9-7.1 11.5-2.1 2.5-4.7 4-4.5 4.5.3.5 2.3-.8 3.7-1.7 1.3-1 6.4-4.2 7.4-5 1-.6 1.5.7.2 5s-5 7.7-7.2 9.3c-2.2 1.6-5.8 3.5-5.6 4 .3.5 1.7-.1 3.8-1.1 2-1 4.6-2 6.4-2.5 1.8-.5 1.8.8 1.8.8s.3 3.7-2.3 6.6a14.2 14.2 0 01-8.5 4.6c-2.9.5-3.3.6-3.2 1 0 .5.3.5 1 .5.6 0 3.3.3 5.7.3s3.7.6 3.7 1.7c0 1 0 2.5-3.6 4.9-3.6 2.4-7.7 2.8-9.4 3.1-1.7.4-1.8.5-1.4 1 .3.5 1.1.5 3.8.8 2.7.2 4.4 1.3 4.7 2 .4.8-.2 2.9-2.4 4.4-2.2 1.5-5 2-9.3 1.7-4.3-.3-5.4-.3-5.5.4-.2.7 1.3.9 3.4 1.3 2.1.3 3.8.3 5 1.3 1.2 1 .3 3-1.8 4.6-2 1.5-7.2 1.5-9.3 1.3-2.2-.1-5.5-.9-5.7-.3-.2.6 1.6 1.4 3.8 2.2 2.2.8 2.8 1.3 3.3 2.2.4 1 0 1.8-2.6 2.8-2.6 1-6.5 1-8.5 0-2-.8-3-1.2-3.4-.8-.4.3 0 .7.4 1.2s2.2 1.8 4.4 2.4c2.2.6 2.4.6 3.2 2.4.8 1.8-1.2 3.2-5.2 3.3a25 25 0 01-11-2.4c-1.8-1-2.4-1.2-2.7-.9-.3.4-.2.6.6 1.2.9.7 3.6 2.6 5 3 1.3.3 1.4 1.3 1.4 2.3 0 .9.4 2.8-3.2 3.6-3.6.9-7.8.2-11.6-2.5a8.8 8.8 0 01-2.4-2.2c.3-3.7.2-6.2-.3-8.5.8 0 2.2-.3 3.7-.9 2.1-.8 3-2.8 3.5-4 .5-1 1.2-1 2-.7 1 .3 1.8.7 3 .6a8.4 8.4 0 005.6-3c1.9-2.2 1.5-4.3 1.6-5.4 0-1 1.8-.3 2.6-.3.9 0 3.4-.3 5.7-1.9 2.3-1.6 2.3-3.7 2.5-4.6.2-.8 1.1-1.4 1.8-1.7.7-.3 1.9-.6 3.4-1.8 1.6-1.3 2.2-3.8 2.3-4.7 0-.8 1-1 4.2-2.6s2.9-5 2.8-6.4c-.2-1.4-1.7-2.5-1.7-3s1-.6 2.2-1.3c1-.6 3.7-1.7 3.8-5.7 0-4-2.6-4.4-2.6-4.4l1.6-.9c1.1-.6 4-2.6 4-5s-1-3.4-1.8-4c-.8-.6-3-1.1-3-1.1s1.4-1 2-2.8c.5-1.8.7-4.1-.6-5.8-1.4-1.6-3.6-1.6-4.9-1.6s-2.2.7-2.7.3c-.4-.4-.5-.6 0-1.6s.5-3.2 0-4c-.3-.8-.3-2.3-3.4-3.3-3-1-6.3 1-7.3 1.6s-.6-.8-.6-1.8 2.1-3.5 4.5-7a78.9 78.9 0 0010.7-25.1c.4-1.8 1.1-1 1.1-1s.7.3 2.4 4.5a26.7 26.7 0 011.8 11.2z"/>
+  <path fill="#d4af3a" d="M302.3 257.5a8 8 0 006-3.8c2-2.7 4.7-3.3 9.5-3.2 4.7 0 7-2.2 8.1-5.5 1.2-3.4-.1-7.1-5-9.5-4.9-2.4-7.1-5.1-7.3-9.2-.2-4.2 4.9-9.3 10-15.1 5-5.8 9-14 9-14s1.4 1.9 1.4 3.8c0 2-.7 4 0 4.5.8.6 1-.8 4-2 3-1.4 5.3-1.5 7.2.6s0 5.8-1.7 7.5c-1.7 1.8-3 3-2.6 3.7.5.7 3-1 3.8-1.6.8-.5 2.8-2.6 5.6-2.4 2.9.3 3.9 1.1 4.1 3.5.3 2.4-2.5 4.6-4.4 5.5-1.8.9-2.5 1.7-2 2 .4.5.8 0 1.7-.2.8-.3 3-.5 4.6 0 1.4.6 3.8 2.6 1.6 5-2.2 2.6-6.8 3.5-7.7 3.7-1 .2-1.4-.1-1.5.6 0 .8 2 .8 4.4.9 2.5 0 3.2 2.4 2.9 4.3-.4 1.8-4.5 3.8-6.8 4.2-2.3.4-3.1 0-3.3.7-.2.6.2.9 1.5 1.2s3.8.7 4.3 2.7c.4 2 .5 3-1.4 4.7-2 1.8-5 1.5-6 1.3-1-.2-2-1.2-3-.3-.9 1 .9 1.7 2.5 2.8 1.5 1 1.4 3.2-1.2 4.7a8.2 8.2 0 01-6.5.5c-1-.3-2.6-2-3.3-1-.7 1.1 2.3 1.5 3.6 3 1.3 1.6.8 4.2-1.8 5.8-2.5 1.5-6.8.4-7.5-.2-.7-.7-1.6-1-2.2-.4-.5.6.3 2 .8 3.3.6 1.3 1.6 5-2.3 6.6-3.8 1.4-7.3-1.9-8-2.5-.6-.7-1.3-.8-1.8-.5-.6.3-.3.8.2 1.5a3.9 3.9 0 01-1.3 5.3 6.8 6.8 0 01-5 1c-.6-2.1-1.4-4.4-2.1-7.6h.5c.4 0 .5.5.5.7 0 .3-.1.4.2.4.3 0 .4.2.8.6.5.3 1 .7 1.2.5.3-.2-1-.8-1.3-1.2-.3-.4-1-1-1-1.5s-.3-.7-1-1.3a2.5 2.5 0 01-.4-.5 104.4 104.4 0 01-1.3-7.7 61 61 0 01-.5-5.9h1.2zM381 200c-4.1 8.3-10 13-10 13l1.2-3.5c.3-1.4 0-3 0-3l4.2-6c2.7-4.2 4.1-10.3 4.1-10.3s-2.5 6.1-4.4 9.3c-2 3.3-4.2 6-4.2 6s-.8-3-1.4-3c-.5-.2-1 .2-1.4.9-.5.6-1 .5-1 .5l1.8-3 1.6-2.3c1.5-2.4 4.8-7 6.5-11.6 1.7-4.6 5.4-16.1 6-19.5.7-3.4 1.3-1.6 2 1a31 31 0 011 11.3 57.1 57.1 0 01-6 20.2zm-5.3 22.4l-3.8 2.7.6-1.9.3-3 3-2.7c1.3-1.1 2.9-2.5 6-6.4 3.1-3.8.6-1.5-2 1.3a96.8 96.8 0 01-7.3 6.8v-1a3.3 3.3 0 00-.8-2c-.5-.6-.2-.6 2.5-2.7a72.8 72.8 0 0018.7-26.1s1.6 9.5-4.2 20c-5.8 10.5-11.5 13.9-13 15zm-30.5 60c-3.1-1.2-2.3-4.3-2.3-4.4l3.8 1.3c1.8.7 6.2 2 8 2 1.7 0 1.7-.2 1.7-.4 0-.3-1.3 0-3.8-.5s-7-2.8-7.7-3.3c-.8-.5-.7-.6.4-.7 1.2-.1 2.1-.6 2.5-1 .5-.3 1.6.2 4.5.9a53.4 53.4 0 0023 .8c.6-.2 1.4.2-.8 3.9-2.2 3.7-10 5.7-15.3 5.6-5.4 0-10.8-3-14-4.1zm14.3-7.6c-5.5 0-7.6-1.6-7.6-1.6s0-.3.8-1.4.6-3 .6-3l3.6.5c2.3.4 5 .7 8 .2s1.7-.9-.7-.6c-2.4.3-6.9-.6-8.3-1-1.5-.6-.9-1 .1-1.4 1-.3 3.7-2 3.7-2s6.7.8 13 .1c6.2-.7 10.2-2.3 11.5-2.5 1.2-.2 1.2.3 1.2.3s.3.6-1.8 4a18 18 0 01-10 6.6 53.7 53.7 0 01-14 1.8zm1.5-13l.5-1.4c.4-1.2-.6-2-.6-2s1.3-.4 5.4-1c4.2-.4 4.4-.8 7-1.3 2.5-.6 4.2-1.3 4.1-1.6 0-.3-.8.1-2.3.7-1.5.5-7.9 1.2-10.6 1.6-2.6.4-4.1.6-4.6.4-.5-.3-2.1-.7-2.1-.7l2.5-.6a9 9 0 003.4-1.4c.8-.5 1-.6 4.4-1 3.4-.4 6.1-1.5 12.2-3.7 6-2.2 10.6-4.8 11.9-5.8 1.2-1 1.1-.3.8 1-.4 1.2-.3 2.8-3.4 6.4-3 3.6-4.5 5.1-12.3 8s-16.3 2.4-16.3 2.4zm22.8-18.8a43.3 43.3 0 01-16.5 6.8c-.4-.4.4-2 0-3-.4-1.2-1.1-1.2-2.8-1.3-1.6 0-.6-.4-.2-.4.4 0 .5 0 3.2-.8 2.7-.7 5.5-1 9.3-2.5 3.7-1.4 4.9-2.5 4.8-2.7-.1-.3-1.8.9-5.2 2.2-3.5 1.3-7.6 1.8-9.8 2.3-2.2.5-.3-.5.8-1.1 1-.6 2.5-2.9 2.5-2.9s2.4-.4 6.4-1.6c4-1.2 7.3-2.6 10.7-4.5 1.1-.6 2.3-1.5 3.4-2.3l5.5-4c1.4-1 1-.2.8.4-.1.6-1 3.5-3.2 6.6-2.2 3-2.9 4-9.7 8.8zm1.1-13.5c-6.7 5.3-12.5 7-13.5 7.4-1 .4-.9-.1-.7-.7.2-.6.3-2.4.3-2.4l5.1-3c2.7-1.5 5.7-3.6 7.6-5 2-1.3.8-1.2.2-.7-.6.5-3.3 2-6 3.8l-7 4.1s0-.9-.6-1.4c-.5-.6-2-.4-2-.4l1.2-1.4c.4-.7 2.6-1.4 5.1-2.6a62 62 0 0010.3-7.2c3.3-2.8 9.7-9.8 10-10.3.5-.6.8-.5.8.2s.3 1.2-.4 4.4-3.7 9.9-10.4 15.2zM361 179.3l-2.2 3.8c-1 1.5-1.4 2.5-1.4 2.5s-.2-.5 0-1.5c0-.9.2-2.2 0-3.7l-.3-2.4c0-.9.3-1.6.5-2l1.6-7.7c.5-2.7 1-6.7 1-10.2 0-3.5-.6-1.7-.6 0s-.2 4.3-.7 8.3c-.5 4-2.2 10-2.2 10s-.1-.9-.7-2.2c-.5-1.4-1.3-2.9-2-4.5s-.4-2-.4-2 2.4-11.3 3-16.6c.6-5.3 1.6-19.4 1.6-19.4 3.5 3.5 6 12.6 6.5 21.3.4 6.5-.7 12.5-1 15-.6 4.8-1.4 8.6-2.7 11.3zm7.7 17.8c-.1-2.6-.7-4.5-2.4-5 0 0 1.5-2.6 2.7-6.3a35 35 0 002-8.2c1-6 1.6-12.3-.2-2a44.4 44.4 0 01-4 13.8l-2.6 4.3c.4-2 .5-3.2.4-5.3a33.6 33.6 0 00-1-7s3.2-6.3 5.2-13.9a87.7 87.7 0 003.4-24.1s3.2 2.4 4.3 14.8a74 74 0 01-3.8 28.8c-1.6 4.5-4 10-4 10zm-35.5 94.5l2-1.3c1.6-1 1.1-4 1.1-4a81 81 0 005.5 3.4l3.3 1.3c1 .3.7 0-.1-.5-.8-.5-1-.8-3.1-1.6-2-.8-6.2-4.4-6.2-4.4l2.7-.1c1.7-.1 3.8-1 3.8-1s1.7 1.6 8.5 4.5c6.9 3 12.7 3.7 12.7 3.7s-.8 3.5-4 4.7c-2.8 1.1-6.5 1.9-13.8.1a46.5 46.5 0 01-12.4-4.8zm-9 7c-.5-2.9 1.1-4.9 1.1-4.9l1.4 1.1c1 1 2.5 2.7 5.4 4.1 2.8 1.5 3.9 1.4 1.1-.1s-6.8-5.7-6.8-5.7l1-.4c1.1-.4 3 .3 10.7 4.9a29 29 0 0012.2 4.8s-3.5 4.1-12.8 3.8c-9.3-.3-12.7-4.7-13.3-7.6zm-17.6-3.4s1 1.5 2.4 2.4c1.4 1 5 1.5 5 1.5l1 1.3c.7 1 2.3 3.2 3.9 4.3 1.6 1.2 4.2 2 4.4 1.7.1-.3-1.5-1-3.1-2-1.6-.9-3-2.7-4.1-4-1-1.2.4-1 .4-1h3.8c1.8-.2 1.4 0 2 .8.4.9 1.2 1.7 2.5 3.2l4.7 5.4c1 1.3.3 1.6.3 1.6s-.5.8-4.7 1.3c-2.5.2-5.3 0-8.2-1.8a25 25 0 01-5.6-4.8c-5-5.4-4.7-9.9-4.7-9.9zm-2.2 11.3l1.6 1.9s-.7-2.2-1.4-3.3a20.2 20.2 0 00-.9-1.4 27.6 27.6 0 001.7-5c.4 1.5 1.8 5.8 3.6 8.6 2.2 3.5 4 4.7 2.8 5.6-1.2 1-3.6 1.2-6.3-.2-2.7-1.3-3.4-3.5-3.8-5.3a26.4 26.4 0 001.3-2.3c.3.2.8.6 1.4 1.4z"/>
+  <ellipse cx="-305" cy="169.2" fill="#d4af3a" rx="1.9" ry="1.8" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M309 165.9c-1.7 0-2.7-.9-4.6-.7a28 28 0 00-9 3.6 15.5 15.5 0 01-10.5.9c-1-.3-2-1-3-1.5-4.6-2.5-3.5-7.6-3.5-7.6a17.8 17.8 0 0011.3 3.5l-1 .8c-.6.7-1.8 1.5-1.4 1.8.4.3 2-1.3 3.4-2.3a20.6 20.6 0 017-3.4c3.5-1 7.4-1.1 10 .3 2.7 1.5 3 3.3 2.6 4-.2.5-.7.6-1.3.6zm-49.3 37c.8-.2 2.2-.5 4-2.2a78 78 0 006.8-7.3c.5-1 .3-1.8-1-2.3-1.2-.5-2.1-2-2.1-2s2.7-1.1 4.5-2.4c1.9-1.4 6.1-5.2 6.7-6.1.6-1 .3-1.1-.6-1.4-.9-.3-1-1-1-1s1.9-1.1 3.7-2.6a75.5 75.5 0 004.3-4c2.8 1.2 7 .7 9.4.3 4.1-.7 7.1-2.4 7.1-2.4l.7 1.9c.5 1.3 2.4 2 4.3.7 1.9-1.2 1.4-4 1.4-4s1.6-.9 4.7-2c3.2-1.2 5.7-1.4 8.3-.2 2.5 1.2 3.8 4.7 3.8 7.3 0 2.7-1.4 1.6-1.7 1.2-.3-.4-.9-2.3-4.1-2.8-3.2-.5-6.1 1-9.8 4-3.7 3-4.5 3.3-6.3 5.2-1.8 1.9-.4 3 2.8 4 3.1 1 7.2-1 7.3-1 .6.3-1.4 3.1-4 4.2-2.8 1-6.3.3-9-.7-1.8-.8-2.1 0-2.6.5-3 3.2-3.8 6-4.3 9.7a4.3 4.3 0 01-2.8-3.3c0-.6-.3-1.9-1.3-1s-1.8 6.3-1.8 8.7c0 2.5.7 5.7.7 5.7l-.7-.1c-.5 0-1.3-.6-2.5-1.2-1.2-.7-1.3 0-1.3 1.4 0 1.3-.4 3.8-2.2 8.3-1.7 4.4-4.3 5.9-4.3 5.9s-.5-.9-1-2.7c-.5-1.7-.9-5.2-.9-8.2 0-3 .8-9.4.8-9.4s-3.6 4.4-7.4 5.5c-3.8 1.1-7.6.5-9.2-1.4-1.6-1.8-.2-2.6.6-2.8z"/>
+  <path fill="#d4af3a" d="M284.8 214.5s1.1 2.5 1.7 3.4c.7 1 1 1 1 1s-1.2 1-2.9 1.6l-3.2.8s2-2.6 2.6-4.4l.8-2.4zm-22.9-1.5l.9-2.3a16 16 0 008.7-1.8s-1.8 3.6-3.5 4.8c-1.8 1.3-2 1.3-2 1.3s1.7.3 4.1-2c2.3-2.3 3.4-5 3.4-5s-.5 6.2.4 10l1.2 4.2s-5 1-10.5-.6c-5.6-1.6-6-2-6-2s-.7-.2.2-1.4a29.9 29.9 0 003.1-5.2z"/>
+  <path fill="#b96b29" d="M272 199.4l1.8-2.4s.6.6.1 1.4c-.5.9-3 3-4.6 4a13 13 0 01-3.3 1.2v-.3s4.2-2 6-3.9zm6.7 12.9l.4-9c0-1 .7-.8.7-.8l.9.4-1.7 11.3c-.1 1.2-.7 1.1-1 1 .6-.2.7-2.6.7-3zm10.4-33.6c.7-.6 2.1-1 .7.5-1.3 1.5-3.1 3.4-3.7 5-.5 1.6-.8 3.5 0 3 1-.3 1.6-.3 2.6-1.1s2.7-2.1 3.5-2.3c.7-.3 2 0 1 1.1a26.4 26.4 0 01-4.3 3.7l-4.2 2.9a39.3 39.3 0 01-2 1.4s.9-6.4 2.6-9.1a28 28 0 013.8-5zm34.2 105.9c1.3 1 3 1.4 3 1.4s.7 0 .7.2-.9 0-1.9-.2c-1-.1-2.3-1.1-2.7-1.5-.5-.3-1.2-.8-1-1.4.2-.6.6.5 1.9 1.5zm-11 5.9a28 28 0 002.4 1.9l1.3.7c.7.3 1 .7 1 .7h-1c-.8-.1-3-1.8-3.6-2.5-.8-.6-1-.8-.8-1 .3-.3.4-.1.7.2zM357 211c-.4.5-1 1.1-1.1 1-.3-.3 0-.5.5-1.2l.9-.9s.7-1.2 1.1-1.6c.5-.4 1.1-.7.3.3l-1.8 2.4zm3.3 7.4L359 220c-.5.6-1 1.2-1.2 1-.3-.4.8-1 1.2-1.7a8 8 0 011.5-1.5 10.6 10.6 0 011.4-.9l-1.5 1.7zm-1.2 12c-.9 1-2.1 1.2-2.3.8-.2-.3.1-.6.8-1a24.4 24.4 0 004-2.7c.4-.4.8-.7 1-.6.1.1-1.2 1.5-1.6 1.8-.4.2-1 .9-2 1.7zm-2.5 9.7c0-.4 0-.6.7-.6l1.6-.2s1.4-.5 1.5-.3c.1.3-1.1.8-1.7 1-.5 0-1.2.2-1.5.4-.3.1-.6 0-.6-.3zm-1 10.4c1.5 0 2.8-.4 2.9-.1 0 .2-.7.5-1.5.8-.8.3-2.2.4-3.1.4-1 0-1.2-.2-1.1-.7 0-.4 1.3-.4 2.8-.4zM343.8 262c.2-.2.8 0 1.6.2.9.2 2.2.4 3 .4l2.5-.1 1 .2c0 .2-1.3.2-3.1.4-1.9.2-3.1-.2-4-.3-.9-.1-1.2-.5-1-.8zm-4.9 8.2a8 8 0 002.4.4l2.3.3s.8.1.7.4c-.1.3-.4 0-1 0h-2.6c-1.2-.1-2-.5-2.7-.6-.7-.1-1.6-.5-1.2-1 .4-.5 1.2.1 2.1.5zm-9.4 6.1a27.7 27.7 0 003.7 2.7c.8.4.8.5.7.8-.2.2-.7-.3-1.1-.5a17.4 17.4 0 01-2.7-1.8c-.7-.6-1.7-1.1-1.5-1.6.2-.4.3 0 .9.5zm15.7-79.7l-1.8 2.4c-1.6 2-.7.2-.3-.4l3.6-4.8c.8-1 1-.5.5.1l-2 2.7zm3.5 10.5c-.3-.3.3-.5 1.2-1.7l2.8-3.5s.5-1.1.7-1c.2.1-.6 1.9-1.4 2.6-.8.8-1.7 2.2-2.3 2.9-.5.6-.8 1-1 .7zm-4.6 19.7c0-.6 1.9-.5 2.7-.7l2.4-.5s1.7-.3 1.8 0c0 .1-.4.4-1.4.5-1 .2-2.4.7-3.5.8-1 .2-2 .4-2-.1zm4.6-10.7c-1.3 1-2 1.5-2.7 1.8-.7.4-1.2 1-1.5.5-.4-.4.3-.7 1.3-1.2l1.6-.8 1.1-.6c.5-.3 1.4-.7.2.3zm-10.6-7l1.4-1s1-.8 1.1-.5c.2.3-1 1.1-1.6 1.6-.6.6-1.6 2-2.2 1.8-.5-.3.6-1.2 1.3-1.9zm7 27.5l1.6.4c.7.2.7.5-.5.5s-1.7-.3-2.9-.5c-1.2-.3-1.6-.4-1.4-.8.2-.4.8-.3 1.3-.1l1.8.5zm-2 9.9c.1.2-.8 0-1.4-.2-.6-.3-1.9-1-2.7-1.1-.7-.3-.7-.4-.7-.8 0-.5.8-.1 1.8.2 1 .3 2.2 1.3 2.2 1.3s.8.4.9.6zm-12.7 6c-1-.5-1-1-.8-1.2.3-.3.6-.2 1.3.4l2 1.5 1.3.6c.5.3 1.2.7 1 1-.1.2-1.2 0-1.8-.6l-3-1.7zm-6 8l-2-1c-.4-.4-.7-1.4-.3-1.6.3-.1.6.5 1.4 1 .8.7 3.7 2.6 3.7 2.6l.8.3c.8.3.4.6-.2.5-.7-.1-1.2-.1-2-.7-.7-.7-1.1-.8-1.4-1.1zm-9 7.6c-.7-.3-1.8-1.3-2.4-1.8-.5-.5-1.2-1.1-.8-1.4.4-.3.9 0 1.5.6l2.2 2.3s.3 0 1.1.8c1 .7 0 .6-.3.3s-.5-.5-1.3-.8z"/>
+  <path fill="#d4af3a" d="M279 154.5l-3.6-2.5 4.3-1.1 2.7 2.2z"/>
+  <ellipse cx="-267.5" cy="151.6" fill="#b96b29" rx="3.4" ry="3.3" transform="scale(-1 1)"/>
+  <ellipse cx="-267.5" cy="150.8" fill="#d4af3a" rx="2.1" ry="2" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M274.7 140.2c-1 .3-2 .2-2 .2s-.4-1.6.4-2.3l2.1-1.8.6-.6.1 2.1c0 .8-.3 2-1.2 2.4z"/>
+  <circle cx="-272.8" cy="141.8" r=".6" fill="#d4af3a" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M277.5 141.2l.9 1s-.7 0-1.3.4c-.6.4-1.3.8-2 .7a1 1 0 01-.8-1.2c.1-.5.5-1 1.6-1.3 1-.4 1.4 0 1.6.4z"/>
+  <path fill="#d4af3a" d="M275.1 145.2c2.2.2 5-2.2 5-2.2.3 2 1.5 3 3.3 3.3h-.2s-1.7 1-3.7 1.2c-.9.2-1.7 0-2.6-.2a11.3 11.3 0 01-3.2-1c-1.3-.8-1-2.9-1-2.9s.3 1.6 2.4 1.8zm8.4-2.1c1-.4 2.2-1 2.8-1 .5 0 1.3-.2 1.2.8-.1 1-1.2 1.5-2.2 1.6-1 0-1.6-.4-2.2-.7-.6-.3-.5-.4.4-.7zm6.8-3.7c1-.7 1.8-.9 1.8-.9s.6 1.7.3 2.7-1.1 1.3-2 1.3c-1 0-2.3-.5-2-1.2.5-.7 1-1.2 1.9-2z"/>
+  <ellipse cx="-289.4" cy="144.1" fill="#d4af3a" rx=".8" ry=".5" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M287.3 135.8c.6-2.9.5-6-2.2-9.9-2.7-4-7.3-5.5-7.3-5.5l-1.7-1.9a32.7 32.7 0 00-4.5-3.6l5.5 1.5v.1a2.4 2.4 0 002.4 2.5 2.4 2.4 0 001.4-.4c1.1.2 4.7 2.3 5.7 3.1a2.5 2.5 0 00-.4 1.3 2.4 2.4 0 002.4 2.5 2 2 0 001.1-.3l.3.5a25 25 0 011.8 4 2.6 2.6 0 00-1 2.1c0 1.4.8 2.5 2 2.5v1.6c0 .8-.4 1.3-1.8 1.7-1.4.4-3.3 2.8-3.3 2.8-.1 0-1-1.8-.4-4.6z"/>
+  <path fill="#d4af3a" d="M278.8 117.6c-.5-.4-.6-1-.2-1.4.4-.4 1.1-.3 1.6.1s.6 1 .2 1.4c-.4.4-1.1.3-1.6-.1zm9 6.1c-.6-.5-.7-1.3-.2-1.8.4-.4 1.2-.4 1.8.2.6.5.7 1.3.2 1.7-.4.5-1.2.4-1.8 0z"/>
+  <circle cx="-293.2" cy="131.4" r="1.4" fill="#d4af3a" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M263 112c.8.2 2.1.6 4.1 1.7-1.4 0-2.5.9-2.5 2s1.3 2.4 2.7 2.4c1.4 0 2.3-1.2 2.3-2.3 0-.3 0-.6-.2-.8l2 1.2c4.4 3 5.4 4.5 7.6 8.5 2.2 4.1 3 8.6 2 11.2-.9 2.7-4.4 3.2-4.4 3.2s.4-.4.4-.9l-.2-1.7c-.2-1 0-2.2 0-2.2s-.9-.1-1.3.4l-1.6 1.8-1.6 1.6s-.7-1-.7-2.2c0-1.2.8-2.5 1-4.6.1-2-1-5.8-3-8.6a24 24 0 00-7-5.7 2.2 2.2 0 01-1.5-2l-.2-2c-.1-1.3 1-1.2 2.2-1z"/>
+  <path fill="#d4af3a" d="M267.5 116.8c-.8 0-1.5-.7-1.5-1.4 0-.6.6-1.1 1.4-1.1.8 0 1.4.5 1.4 1.1 0 .7-.5 1.4-1.3 1.4zm-6.6 26a3.3 3.3 0 01-2.8-.2c-.6-.4-.8-1.3-.1-1.9a2.1 2.1 0 012.3-.2l2 1.4s-.3.5-1.4.9z"/>
+  <path fill="#d4af3a" d="M257.5 144c.4.6.6 1 1.8 1 1.2 0 2.5 0 3.3-.8a8.2 8.2 0 001.3-1.9h1.3s.5 1.9 1 2.4c.7.5 2.7.6 3.6 0 1-.8 1.7-1.6 1.9-1.5.1.1 0 .8-1 1.6s-1.5 1.3-3 1.3h-8.5s-1.7.1-2.2-1c-.5-1-.5-1.6-.3-1.9.2-.2.4.2.8.8z"/>
+  <path fill="#d4af3a" d="M270.4 142.6c-1.3.7-2 .2-2.4-.3l-.6-.9s1.2-.4 1.8-.8c.6-.3 1-.6 1.6-.6l.6.2s.3 1.6-1 2.4z"/>
+  <circle cx="-276.6" cy="130" r="2.8" fill="#b96b29" transform="scale(-1 1)"/>
+  <path fill="#b96b29" d="M271.6 120.2a3 3 0 013.8.7c.9 1.2.7 2.7-.4 3.5a3 3 0 01-3.7-.7c-1-1.2-.8-2.7.3-3.5z"/>
+  <circle cx="-276.7" cy="129.6" r="1.6" fill="#d4af3a" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M272.8 120.5c.8-.2 1.7.2 2 .8.4.7 0 1.4-1 1.6-1.8.3-2.6-2-1-2.4z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mf.svg
new file mode 100644
index 0000000..310afce
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mf" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mg.svg
new file mode 100644
index 0000000..f0375cc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mg.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mg" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ff3319" d="M170.7 0H512v256H170.7z"/>
+    <path fill="#00cc28" d="M170.7 256H512v256H170.7z"/>
+    <path fill="#fff" d="M0 0h170.7v512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mh.svg
new file mode 100644
index 0000000..97f3463
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mh.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mh" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#3b5aa3" d="M0 0h511.9v512H0z"/>
+    <path fill="#fff" d="M139 1.2l-5.3 88-23.2-56.1 9 59.7-35.9-48.2 23.5 55-47-36.5L96.7 109 43.5 85.4l46.6 35.3-58-7.7L87 134.7l-86 7.9 86 5.7-54.5 22.4L90 163l-46.4 34.2 53.8-23.6-36.7 46.2 46.7-35.4-23.4 54 37.4-46.8-10 58.3 23.4-54.5 5.4 86.1 8.2-85.9 20.3 54.9-7.7-59.1 37.2 46.8-24.5-54.7 46.7 37.6-37-47 55.4 23.1-49.1-35.8 59.8 10-57.3-22 89-5.5-89-8.3L251 116l-60.7 7.6 50.2-35-56.6 22.7 39-47.3-47.5 37.1 23-56.8-37 48.3 8-60.3-22 56.9-8.2-88z"/>
+    <path fill="#e2ae57" d="M0 498.2L512 0v92.7L0 512v-13.8z"/>
+    <path fill="#fff" d="M18 512l494-320.8-.1-101.9L-.1 512h18z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mk.svg
new file mode 100644
index 0000000..da2e9a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mk.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mk" viewBox="0 0 512 512">
+  <path fill="#d20000" d="M0 0h512v512H0z"/>
+  <path fill="#ffe600" d="M0 0h86.8L256 246.9 425.2 0H512L0 512h86.8L256 265.1 425.2 512H512zm512 204.8v102.4L0 204.8v102.4zM204.8 0L256 219.4 307.2 0zm0 512L256 292.6 307.2 512z"/>
+  <circle cx="256" cy="256" r="82.3" fill="#ffe600" stroke="#d20000" stroke-width="18.3"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ml.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ml.svg
new file mode 100644
index 0000000..1e4d989
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ml.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ml" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="red" d="M340.6 0H512v512H340.6z"/>
+    <path fill="#009a00" d="M0 0h170.3v512H0z"/>
+    <path fill="#ff0" d="M170.3 0h171.2v512H170.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mm.svg
new file mode 100644
index 0000000..5076184
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mm.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-mm" viewBox="0 0 512 512">
+  <defs>
+    <path id="a" fill="#fff" d="M.2 0h-.4L0-.5z" transform="scale(8.844)"/>
+    <g id="b">
+      <use width="18" height="12" transform="rotate(-144)" xlink:href="#a"/>
+      <use width="18" height="12" transform="rotate(-72)" xlink:href="#a"/>
+      <use width="18" height="12" xlink:href="#a"/>
+      <use width="18" height="12" transform="rotate(72)" xlink:href="#a"/>
+      <use width="18" height="12" transform="rotate(144)" xlink:href="#a"/>
+    </g>
+  </defs>
+  <path fill="#fecb00" d="M0 0h512v170.7H0z"/>
+  <path fill="#ea2839" d="M0 341.3h512V512H0z"/>
+  <path fill="#34b233" d="M0 170.7h512v170.6H0z"/>
+  <use width="18" height="12" x="9" y="6.4" transform="translate(-127.7) scale(42.66667)" xlink:href="#b"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mn.svg
new file mode 100644
index 0000000..568fda0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mn.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mn" viewBox="0 0 512 512">
+  <path fill="#c4272f" d="M0 0h512v512H0z"/>
+  <path fill="#015197" d="M170.7 0h170.6v512H170.7z"/>
+  <circle cx="85.6" cy="215.3" r="28" fill="#f9cf02"/>
+  <circle cx="85.6" cy="202.5" r="30.5" fill="#c4272f"/>
+  <path fill="#f9cf02" fill-rule="evenodd" d="M73 169.5a12.7 12.7 0 0025.3 0c0-5.1-3.1-5.8-3.1-7.7 0-1.9 1.9-4.4-2-7.6 2 3.2-1.2 3.8-1.2 7s1.2 3.2 1.2 5.7a2.5 2.5 0 01-5 0c0-2.5 2.5-5 2.5-8.9 0-3.8-.6-5-2.5-8.2-2-3.2-5.1-5.8-2.6-8.3-3.8 1.3-1.9 6.4-1.9 9.5 0 3.2-2.5 5.1-2.5 9 0 3.7 1.9 4.4 1.9 7a2.5 2.5 0 01-5.1 0c0-2.6 1.3-2.6 1.3-5.8 0-3.2-3.2-3.8-1.3-7-3.8 3.2-1.9 5.7-1.9 7.6 0 2-3.2 2.6-3.2 7.7z"/>
+  <circle cx="85.6" cy="207.6" r="20.4" fill="#f9cf02"/>
+  <path fill="#f9cf02" d="M29.6 248.3v122.2h25.5V248.3zm86.6 0v122.2h25.4V248.3zm-56 20.4v10.2H111v-10.2zm0 71.3v10H111v-10zm0-91.7H111l-25.5 15.3zm0 107H111l-25.5 15.2z"/>
+  <circle cx="85.6" cy="309.4" r="27" fill="#f9cf02" stroke="#c4272f" stroke-width="3"/>
+  <path fill="none" stroke="#c4272f" stroke-width="3" d="M85.6 282.4a13.5 13.5 0 010 27 13.5 13.5 0 100 27"/>
+  <circle cx="85.6" cy="295.9" r="5.1" fill="#c4272f"/>
+  <circle cx="85.6" cy="322.9" r="5.1" fill="#c4272f"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mo.svg
new file mode 100644
index 0000000..83d04ea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mo.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-mo" viewBox="0 0 512 512">
+  <path fill="#00785e" d="M0 0h512v512H0z"/>
+  <path fill="#fbd116" d="M272.5 147.4L256 96.5l-16.5 51 43.3-31.5h-53.6z"/>
+  <g id="mo">
+    <path fill="#fff" d="M256 353.7H146.7a156 156 0 01-4-4.2H256a2.3 2.3 0 011.5 2c0 1-.6 1.9-1.5 2.2zm0-33.4c.6-1.3 1.9-4.3 1.3-8a13.2 13.2 0 00-1.3-4.1 87.4 87.4 0 01-34.7 20.2 86.4 86.4 0 01-25 3.7h-67.4a154 154 0 006.3 8.6h65a86.2 86.2 0 0055.8-20.4zM139.1 294a34.4 34.4 0 01-10.3 2.2 86.3 86.3 0 0064.8 29.3 86.3 86.3 0 0062.4-26.6 470.3 470.3 0 004.8-62.9 470.3 470.3 0 00-4.8-72.2c-7 6.3-20.2 20-26.4 40.9a86.5 86.5 0 00-3.6 24.6 86.1 86.1 0 0014.6 48.1 86.1 86.1 0 01-18-52.9 86.1 86.1 0 018.2-37 34.7 34.7 0 01-8-13.8 86 86 0 00-11.2 42.6 86.1 86.1 0 0017 51.4 101.4 101.4 0 00-78.3-31.5 34.8 34.8 0 017.2 9.5 101.4 101.4 0 0173.3 31.4 101.3 101.3 0 00-65.2-23.6c-13.8 0-27 2.7-39 7.8a86.6 86.6 0 0088 55.6 87 87 0 01-15.4 1.4 86.2 86.2 0 01-60.1-24.3zM256 388.7h-56.6a153 153 0 0056.6 10.8 11.6 11.6 0 001.3-5.3 11.7 11.7 0 00-1.3-5.5zm0-26.2h-99.9a154 154 0 008.4 6.7H256a4.9 4.9 0 001.4-3.3c0-2-1.2-3.1-1.4-3.4zm0 13.4h-81.8a153.2 153.2 0 0015.4 8.5H256a8 8 0 001.2-4.5 8 8 0 00-1.2-4z"/>
+    <path fill="#fbd116" d="M155.6 211.7l-7-36.4-15.7 33.6 32.4-18-36.8-4.5zm49.3-58.8l-29.6-22.3 10.8 35.4 12.1-35-30.3 21.3z"/>
+  </g>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)" xlink:href="#mo"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mp.svg
new file mode 100644
index 0000000..54a0ede
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mp.svg
@@ -0,0 +1,86 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mp" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M248 0h496v496H248z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-256) scale(1.0321)">
+    <path fill="#0071bc" fill-rule="evenodd" d="M0 0h992.1v496H0z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M553.4 392.4s17.5-18.5 34.3-15c5-19.4 24.1-21 24.1-21s-1.9-21.5 22.5-26.2c.7-14.6 15.5-26.8 15.5-26.8s-3-22.6 12.5-27.9c-9.5-18 3.2-31 3-31.4-.2-.4-16-28.5-1.9-36.5-15-12.6-10-27-10-27s-16.4-4.1-10.5-23.7c-13.4-2.3-16.1-24-16.1-24S606 137 603.6 119c-13.7 2.2-15.2-11.3-15.4-11.3-.1 0-27 7.3-32.4-13-10.4 5.3-15-4.3-15-4.3s-15 7.4-23.9-6.9c-17.8 11.1-27.7-.5-27.7-.5s-23.4 15.5-31.1 3.5c-13.8 14-26.1 8-26.1 8s-10.4 18.4-27.3 13.7c-3.8 17.2-23.2 17.5-23.2 17.5s2 15.2-21.2 19.2c-3 17.8-15.1 20.9-15.1 20.9s1.2 17.3-9.8 22.8c4 9.8-6.2 21.7-6.2 21.7S340 224 325.3 239c14.2 3.7 4 28.1 4 28.1s19.4 8.8 7.1 25c14 4.4 9.6 15.6 9.8 22.1 9 4 16.8 2 13 20 27.4 3 14.4 18.2 14.4 18.2s12.8.5 7.8 10.6c23.3-.5 26.7 17.5 26.7 17.5s21.7-5.7 24.6 2.7c2.8 8.4-9.5 65-9.5 65s-18.3 0-32-14.6c-31.9-.8-24.8-21.8-25.3-21.8s-10.6 3.8-15.8-13.7c-21.4 4.4-20.7-13.6-20.9-13.8-.2-.1-9.6-4.3-6-13.2-22 2-20.4-19.5-20.4-19.5-4.8-2-6.6-6.5-5.9-11-2.8-1-22.4-1.3-12.3-27-18.6-11.3-7-24.3-7-24.3s-25.8-13.3-6-28.6C257 239 273 228 273 228s-20.5-20.8.3-35.6c-3.4-31.7 15.5-39.2 15.5-39.2s-10-25.7 17-36.5c1.7-26 20.5-26.8 20.5-26.8s.5-20.7 30-18.6c5.8-18.5 26-14.8 26-14.8s6.2-22.4 33.6-11.6c14-27.3 34.7-13.3 34.7-13.3s13.1-8.6 19.7-6c8.3-14.2 26-.5 37.5 2.3 4.2-1.6 19-12.8 30.4 1.3 15.2-10 28.1 8 28.1 8s20.9-10.7 30.6 13.6c44.3-4 37.9 24.9 37.9 24.9s34.8-8 27.2 26.7c31.7 2.2 28.5 23 28.5 23s20 15.2 11.2 28.8c17.8.8 11.3 18 11.3 18s13.6 5.2 2.3 26.4c26.1 20.9 5 41.5 5 41.4-.3-.2 13.9 16.8 1.1 36.3 3.9 31-11.8 38.9-11.8 38.9s4 20-13.4 25.7c-.4 23.5-22.6 26.4-22.6 26.4s6 10.2-16.1 21c-.9 15.8-23.9 17-23.9 17s-2.2 29-31.5 21.2c-7 23.2-41.3 16.3-42 16-.7-.3-6.6-49.8-6.6-50z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.9" d="M340.9 114.8s7.4 6.4 6 16c-1.4 9.6-6.9 22.9-5.8 32.8.7 4 .4 11.1.4 11.1s-6.6-9.4-6.7-19.5 7.2-19.7 7.2-27.2-1.3-13.3-1.1-13.2zm-3.7 2.9s-9.6 9.2-10.8 18.1c-1 4.6-1.3 26-1.4 35.6l-1.7 18.6c-.3 4.2 7-7.2 7.5-16.4a281 281 0 01.7-32.7c.9-4 .7-8.3 2-12.2l3.7-11z"/>
+    <g fill="#ffd200" fill-rule="evenodd" stroke="#ef8a10">
+      <path stroke-width="1.9" d="M548.9 87.7s12.5-5.8 16-16.5-10.8-10.8-12.7-7.4c-1.9 3.4 1.6 11.9.7 14.1-.9 2.3-6 7.7-4 9.8z"/>
+      <path stroke-width="2.6" d="M438.3 91.6s8.1-11.1 6-22.2c-2-11.1-14.7-4.2-14.7-.3 0 3.9 7.2 9.6 7.5 12 .3 2.4-1.5 9.6 1.2 10.5zm-21.9 6.6s8.1-11.1 6-22.2c-2-11.1-14.7-4.2-14.7-.3 0 3.9 7.2 9.6 7.5 12 .3 2.4-1.5 9.6 1.2 10.5zm-24.3 7.5s8.1-11.1 6-22.2c-2-11.1-14.7-4.2-14.7-.3 0 3.9 7.2 9.6 7.5 12 .3 2.4-1.5 9.6 1.2 10.5zm-17 17s8-11 6-22.1c-2.2-11.1-14.8-4.2-14.8-.3 0 3.9 7.2 9.6 7.5 12 .3 2.4-1.5 9.6 1.2 10.5zm-18 16.6s8-11.1 6-22.2c-2.2-11.1-14.8-4.2-14.8-.3 0 3.9 7.2 9.6 7.5 12 .3 2.4-1.5 9.6 1.2 10.5z"/>
+      <path stroke-width="1.9" d="M398.4 43.2s-10.8 8.5-11.7 19.7c-1 11.3 13 8 14 4.3 1-3.8-4.3-11.2-4-13.6.4-2.4 4-8.8 1.7-10.4zm36-11.1s-10.8 8.5-11.8 19.7c-1 11.3 13 8 14.1 4.3 1-3.8-4.3-11.2-4-13.6.4-2.4 4-8.8 1.7-10.4zm-134.1 97.1s2.2 13.6 11.6 19.8 13.3-7.5 10.5-10.3-11.9-1.5-13.8-3c-2-1.4-5.8-7.8-8.3-6.5zm-18 46s.1 13.8 8.4 21.4c8.3 7.7 14.3-5.3 12-8.5s-11.5-3.4-13.2-5.1c-1.7-1.8-4.5-8.6-7.2-7.8zm41.5 51.4s-5-12.8-15.4-17c-10.4-4.3-11.5 10-8.2 12 3.2 2.2 12-.7 14.1.3 2.2 1 7.2 6.5 9.5 4.7zm-8.7-22.2s8.4-11 6.5-22c-1.9-11.2-14.6-4.5-14.7-.6 0 3.9 7 9.7 7.3 12.1.2 2.4-1.7 9.6 1 10.5zM574.5 98.8s12.4-5.8 16-16.5-10.8-10.8-12.7-7.4c-1.9 3.4 1.6 11.9.7 14.1-.9 2.3-6 7.7-4 9.8zm37.7 18.8s7.3-11.6 4.5-22.6c-2.8-10.9-15-3.2-14.7.7.3 4 7.8 9.1 8.3 11.5.5 2.4-.9 9.7 1.9 10.4zm103 106.9s-5-12.8-15.4-17.1c-10.5-4.3-11.5 10-8.3 12.2 3.3 2 12-.9 14.2.2 2.2 1 7.2 6.5 9.5 4.7zm-50.4 8s.3-13.8 8.7-21.3c8.4-7.6 14.2 5.5 11.9 8.6-2.4 3.1-11.6 3.3-13.3 5-1.7 1.8-4.6 8.6-7.3 7.7zm-8.1-145.7s-12.8-4.9-23 0-.2 15.4 3.6 14.3c3.8-1 7.3-9.4 9.6-10.4 2.2-.9 9.6-1 9.8-3.9zm-29.4-24.6s-12.8-4.9-23 0c-10.1 5-.2 15.4 3.6 14.3 3.8-1 7.4-9.4 9.6-10.4 2.2-.9 9.7-1 9.8-3.9zm-43.8-23.5s-10.9 8.4-12 19.7c-1 11.2 13 8.1 14 4.4 1.1-3.8-4.2-11.2-3.8-13.6.4-2.4 4.1-8.8 1.8-10.4zM554.9 32s-5 12.8-.1 23 15.3.2 14.3-3.5-9.5-7.4-10.4-9.7c-.9-2.2-1-9.6-3.8-9.8zm-81 49.3s8.9-10.4 7.6-21.7c-1.3-11.2-14.4-5.2-14.7-1.3-.2 3.9 6.5 10 6.7 12.5 0 2.4-2.2 9.4.4 10.5z"/>
+    </g>
+    <path fill="#8c8a8c" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M522.2 103.7s21.3 1.4 22.4 13.6-5.1 19.6-5.1 19.6 2.7 26.4-18.2 34.1c-22.3 2.7-57.3.6-57.3.6s-10.2 2.6-14.4-18.7c-4.2-21.3-5.4-36.4-5.4-36.4s2.1-11.9 17.1-12.6c15-.8 60.8.1 61-.2z"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="1.9" d="M539.4 136.8s-11.5 14.3-10.3 20"/>
+    <path fill="#8c8a8c" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M524 170.3c2.8 2.4 5.5 5 6.1 13.8l1.2 17.6 14.9 134 13.1 96.9.9 15s-3.1 11-12 12c-6.3 13.3-41 17.2-44.4 17-3.1-.1-14.2-4.7-20.9-4.1-6.7.6-18.3 5-23.5 4.3-5.2-.7-17-4.8-19-13.3-14.6-4.6-17-15.7-17-15.7l15.8-112.1 15.3-141.8s1.8-18.9 9.4-21.7c7.9-.7 48.7.8 60.1-2z"/>
+    <path fill="none" stroke="#000" stroke-width="1.9" d="M443.6 364.3l-3.1 99.1m99.5-86l8.7 81.7"/>
+    <path fill="none" stroke="#000" d="M285.3 312.7l-.4 1.2m412.2-4.7l.3 1"/>
+    <path fill="none" stroke="#6b18b5" stroke-linejoin="round" stroke-width="1.9" d="M274.2 178.9s6.6 9 7.7 14.2c1.2 5.2 3.4 15.4 6.2 19.6 2.9 4.1 19 27.4 20 37.1 0 6.3-6.8 17.2-17 17.4-6.3-.2-22.7-4.4-23.4-18.4-.7-14 5-14.4 5.7-23 .7-8.5.8-46.7.8-47z"/>
+    <path fill="none" stroke="#6b18b5" stroke-linejoin="round" d="M386.3 56s-6.8.4-12 3.2c-4 2.5-10.8 6-15.6 12.7-12.1 9.4-30.4 13.8-36.1 21.7-3.5 5.3-3.3 18.2 5.4 23.6 5.5 3.2 21.7 8.1 29.5-3.5 8-11.7 3.2-15 7-22.6 6.5-17.5 21.7-35 21.8-35.2zM550 38.8s-5-4.6-10.7-6.3c-4.6-1.2-12.2-.7-20.1-1.5-15.3-2.1-31-13.1-40.6-11.8-6.2 1.3-15.3 10.4-13.2 20.3 1.5 6.2 8.4 18.7 22.3 16.2 13.8-2.4 13.7-5.5 21.9-8 19.9-11.2 40.2-9 40.4-9zm162.4 157.8c1.2-2.6-1-7.4-2.4-13.2-1.5-4.5-3.6-11.5-8.9-17.7-6.3-14-5.2-33.3-11.4-40.7-4.4-4.7-17-7.6-24.3-.5-4.4 4.6-13 19.1-3.6 29.6 9.4 10.4 13.5 6.5 20 12 15.5 10.4 23 28.6 30.6 30.5zM707 319.4c2-3 5.9-8.5 5.4-13.2-.3-3.8 1.7-15 2-20 1.4-15.2 11-27.7 8.3-41-1.5-6.1-10.6-15-20.4-12.4-6.1 1.9-19.6 9.3-16.5 23 3.1 13.8 7.5 13.5 10.5 21.6 8.4 16.6 3 36.3 10.7 42z"/>
+    <path fill="none" stroke="#000" stroke-width="1.9" d="M594.3 416.8s-2.6 5 7.8 9.3m13-21.1s11.5-2.8 19.3 0m15.2-29.2c0 .2-1.6 5.2 7.6 12.4m-1-25.4s6.8 5 18.2 4.8m-86.7 9.8s.4 13.2-6.4 19.4m29.2-39.8s11.1 2.8 20.3-1.8m51.3-17.5s2.4 3.4 14.8 2.8m-63-10.6c.3.2 14.5 4.8 23.5.6m4.8-55s.6-.7 5 14.7m6-58s-.6 8.2-7.2 11.8m49.3-45.3s-9.6 7.8-7.8 11m-40-16.6s5 8.4-3.1 14.2m-21-50.1s8.6-.4 12.4 7m-28.6-31.4h6.6m27.6-30c0 .3 1.8 1.9-1.6 5.3m-59.7-4.4s4.6 7.2 3.8 16m22.7-40.4c2-.2 8.8-3.2 8.8-3.2m-38.3-25.4c-.2 0-2.6 9 1.8 12.2M586 91.7c0 9.6 7.6 7.2 2.4 16.4m-21-24.4a66 66 0 00-12 10.8m-18.7-15.8s5 5 3.8 11.8m-18.4-15.8s-2.6 7.6-6 9.6m-20.6-11.6c-.2.4-4.2 9-7 10.6m-29.3-10.4c.2 0 4 8-1 13.8m-7.4-55.1c.2.2.8 6.2-3 11.4m-33 2.2c0 .2 1.7 6.8-9 9M394.7 106c.2.4 10.2 2 10.2 2m-35.1 21.1a413 413 0 0112.1-3.8m-31.5 18.8c.4 0 8.4 1.4 10.4.4m-16 7s2.6 1.4.4 14.8m-39.4-50l4.9 7.2m-21.2 29.8c0-.2 4.8 7.2 11.2 8.6m26.5 29c.2 0 7.8-1.7 9-2.5M323.8 218c.2 0-.2-5 6-8.4m-14.2 20.8c0 .2 5.8 7.4 9.8 8.4m-13.2 5.3c.6-.2 6.8-5.6 14-5.2m-16 23.8s.2 6.2 18.6 4.6M312 284.6c0-.2 5.4-12.4 16.4-17m-1.6 32.6s1.6-5.2 10.8-8.8m-.6 29.3s6.6-5.4 9-6.2m-.8 22.2s4 4.2 14-3M297 340c1.2-.2 15.7-3.6 20.7 4m-15 8s15.4-2 17.4-.4m37.6 3.6s-2 4.2 17-2.8m6.5 10.4c-3.4 5.7.8 10.3-3.6 13m-54-5c.5-.5 7-2.7 6-11.8m-.3 25.5c.8-.2 11.4-4.8 13.6-2.4M350 398s1.4-9.4 4.4-10.4m11.5 24.6s8.8-.2 12.6-3m4.4-28.8c.2.2 8.2 4.4 25.2.2m-18.8 38s2.4 12.1 2.2 15"/>
+    <g fill="#de2010" fill-rule="evenodd" stroke="#000" stroke-width="1pt">
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.84875 -.23108 .23809 1.90478 237.3 58.3)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.84875 -.23108 .23809 1.90478 235.6 38)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.8213 -.39265 .40456 1.87649 218 57.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.66103 -.84397 .86954 1.71136 192.5 159.5)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.66103 -.84397 .86954 1.71136 184.5 141.3)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.5836 -.9816 1.01134 1.63158 174.3 164.6)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.48128 -1.1301 1.16435 1.52616 167.2 194.1)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.30182 -1.3329 1.37328 1.34126 169 247)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.17368 -1.44698 1.49084 1.20925 167.8 274.1)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.91718 -1.62175 1.6709 .94498 188 334.2)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.76579 -1.6985 1.74996 .78897 193.6 360)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.65019 -1.74601 1.79893 .66988 194.9 377.2)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.51503 -1.79055 1.84481 .53064 200.8 397.8)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.23314 -1.8485 1.90451 .2402 237.1 442.1)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.07476 -1.86165 1.91806 .07702 250.5 463.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.07476 -1.86165 1.91806 .07702 230.4 464)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.41519 -1.81629 1.87134 -.42776 326.6 516.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.56358 -1.77586 1.82969 -.58066 344.7 530.5)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.77108 -1.69608 1.74749 -.79446 383.3 545.8)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.91296 -1.62412 1.67333 -.94064 405.7 556.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.08406 -1.5153 1.56121 -1.1169 440.5 564.5)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.20839 -1.41812 1.4611 -1.245 464.3 570)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.30696 -1.32783 1.36808 -1.34656 483.3 576.8)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.41352 -1.21378 1.25056 -1.45636 509.2 580.8)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.5349 -1.05613 1.08813 -1.5814 545 576.8)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.69349 -.77677 .8003 -1.74482 606.3 551.5)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.75693 -.62003 .63882 -1.81018 632.4 544)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.85518 -.13795 .1773 -1.53226 703.5 438.7)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.81654 -.41408 .42661 -1.8716 666.6 524.7)"/>
+    </g>
+    <path fill="#ffe300" fill-rule="evenodd" d="M680 196c2.4-2.7 4.7-3.5 7.6-2.5-1-7-3.2-9.3-6-8.5-2.6.8-3.8 4.4-1.7 11zm3.7 21c2.7-2.5 5-3 7.8-2-.5-7-2.5-9.5-5.2-8.8-2.8.6-4.2 4-2.6 10.7zm-9-40.3c1.8-3.2 3.8-4.5 6.9-4.3-2.8-6.4-5.5-8.2-7.9-6.7-2.4 1.5-2.7 5.3 1 11zm-9.3-19c1.7-3.3 3.8-4.6 6.8-4.4-2.7-6.5-5.5-8.2-7.9-6.7-2.3 1.5-2.6 5.3 1.1 11zM643 122.5c1.2-3.4 3-5 6-5.4-3.7-6-6.7-7.2-8.8-5.3s-1.8 5.6 2.8 10.7zm-14.7-15.3c1-3.5 2.8-5.1 5.9-5.5-4-5.8-7-7-9-5-2.1 1.9-1.7 5.6 3.1 10.5zm-30.8-26c0-3.6 1-5.8 3.8-7-5.5-4.4-8.8-4.5-10.1-2-1.4 2.4.3 5.8 6.3 9zm16 12c.6-3.6 2-5.5 5-6.3-4.7-5.2-7.9-5.9-9.6-3.7-1.8 2.2-.8 5.8 4.7 10zm-34.3-22.1c-.4-3.6.5-5.8 3-7.4-6-3.7-9.1-3.6-10.2-1-1.1 2.6.9 5.9 7.2 8.4zM560.5 63c-1-3.5-.4-5.8 2-7.8-6.5-2.8-9.6-2.1-10.3.6-.7 2.7 1.7 5.6 8.3 7.2zm-20.1-6.2c-1.3-3.4-.9-5.8 1.3-8-6.7-2.2-9.8-1.3-10.3 1.5-.4 2.8 2.2 5.5 9 6.5zM520.6 53c-1.5-3.3-1.3-5.7.7-8-6.8-1.8-9.8-.7-10.1 2.1-.3 2.8 2.5 5.3 9.4 5.8zm-21-1.6c-1.8-3.2-1.9-5.6 0-8-7-1.1-10 .3-10 3.1.1 2.8 3.2 5 10 4.9zm-41 3c-2.5-2.6-3.2-4.9-2-7.7-7 .6-9.5 2.7-8.8 5.4.7 2.8 4.2 4.2 10.8 2.3zm20.2-2.6c-2.2-3-2.5-5.3-1-8-7-.3-9.8 1.4-9.4 4.2.3 2.8 3.6 4.7 10.4 3.8zm-40 7c-3-2.3-3.9-4.5-3.2-7.5-6.8 1.7-9 4.1-7.9 6.7 1.1 2.6 4.8 3.5 11 .7zm-38 17.4c-3.2-1.7-4.6-3.7-4.5-6.7-6.4 3-8 5.7-6.5 8 1.6 2.4 5.4 2.6 11-1.3zm18.3-9.4c-3-2-4.1-4.1-3.6-7.1-6.7 2.1-8.7 4.7-7.4 7.2 1.2 2.5 5 3.1 11 0zm-52.3 33c-3.5-.8-5.3-2.5-5.8-5.5-5.6 4.2-6.7 7.3-4.7 9.2 2 2 5.8 1.3 10.5-3.6zM383 86.7c-3.4-1.2-5-3-5.3-6-6 3.7-7.2 6.7-5.4 8.8 1.9 2.1 5.6 1.8 10.7-2.8zM352.3 114c-3.5-.6-5.4-2.1-6.2-5-5.3 4.6-6 7.8-3.8 9.5 2.1 1.8 5.8.9 10-4.5zm-12.9 16.8c-3.6-.3-5.6-1.6-6.7-4.5-4.8 5.2-5.2 8.4-2.9 10 2.3 1.5 5.9.2 9.6-5.5zM328.6 148c-3.6.3-5.8-.7-7.3-3.4-4 5.9-4 9.1-1.4 10.3 2.6 1.2 5.9-.6 8.7-6.9zm-9.5 18.4c-3.6.7-5.9 0-7.7-2.4-3.1 6.2-2.7 9.4 0 10.3 2.7.8 5.7-1.4 7.7-8zm-7.6 18.8c-3.4 1.3-5.8 1-8-1.2-2 6.7-1.1 9.8 1.6 10.2 2.8.4 5.5-2.3 6.4-9zm-5.1 21c-3.3 1.4-5.7 1.3-8-.7-1.7 6.8-.5 9.8 2.3 10 2.8.3 5.3-2.6 5.7-9.4zm-2 17.4c-3.2 1.6-5.6 1.8-8 .6-1 5.5.5 7.7 3.3 7.5 2.8-.2 5-2.7 4.6-8.1zm352.7-83c1.2-3.4 3-5 6-5.3-3.6-6-6.6-7.3-8.7-5.5-2.1 1.9-1.8 5.6 2.7 10.8zm28.9 97.6c2.7-2.4 5-3 7.8-1.8-.5-7-2.5-9.6-5.2-9-2.8.7-4.2 4.2-2.6 10.8z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.9" d="M658.5 124c-.1 0-8 7.8-6.6 17.4 1.3 9.6 7.4 21.4 6.3 31.3-1.1 10-3 16.5-3 16.5s9.3-10.5 9.4-20.6c.1-10-6.3-23.4-6.3-30.8s.3-14 .2-13.9zm14.5 32s-6.2 4.6-5.6 15c.6 10.4 11.4 29.6 11.4 29.6s7.9 16.2 7.6 20.4c-.2 4.2 1.5-4 .7-13.3-.8-9.2-12.7-29.6-12.7-29.6s-2.5-4.2-2.3-11.1c.3-7 1-10.9.9-11z"/>
+    <path fill="#6b18b5" fill-rule="evenodd" d="M488 26.8c0-2.2-2.5-4-5.5-4s-5.4 1.8-5.4 4c0 2.1 2.4 3.9 5.4 3.9s5.4-1.8 5.4-4zm2.3 9c0-2-2.6-3.7-5.6-3.7-3.1 0-5.6 1.7-5.6 3.8s2.5 3.7 5.6 3.7c3 0 5.6-1.7 5.6-3.8zm6.9-10.7s-6.4 4.8-3.8 6.7c2.7 1.9 10-4.2 10-4.2l-6.2-2.5zm187.7 109.6a4 4 0 00-1.7-3.3 3 3 0 00-3.4 0 4 4 0 00-1.6 3.3 4 4 0 001.7 3.3 3 3 0 003.3 0 4 4 0 001.7-3.3zm-2.5-9.1c0-2.3-1.5-4.1-3.5-4.1s-3.5 1.8-3.5 4.1 1.6 4.1 3.5 4.1 3.5-1.8 3.5-4.1zm1.7 18.6c0-1.2-.6-2.2-1.4-2.2-.7 0-1.3 1-1.3 2.2s.6 2.1 1.3 2.1c.8 0 1.4-1 1.4-2.1zm5.6-16.6c0-1.4-.6-2.5-1.3-2.5-.8 0-1.4 1.1-1.4 2.5s.6 2.4 1.4 2.4c.7 0 1.3-1 1.3-2.4zm-15.3 1.6c0-1-.6-2-1.4-2-.8 0-1.4 1-1.4 2s.6 2 1.4 2c.8 0 1.4-.9 1.4-2zm2.4 13.2c0-1.8-1.3-3.3-2.9-3.3s-2.9 1.5-2.9 3.3c0 1.7 1.3 3.1 3 3.1s2.8-1.4 2.8-3.2zm-7.6-5.8c0-1.5-1.1-2.8-2.5-2.8-1.3 0-2.4 1.2-2.4 2.8s1.1 2.7 2.4 2.7c1.4 0 2.5-1.2 2.5-2.7zm-1.2-7.8c0-.8-.4-1.6-1-2a2 2 0 00-2.2 0 2.3 2.3 0 00-1 2c0 .8.3 1.6 1 2a2 2 0 002.1 0 2.3 2.3 0 001-2zm34.7 39.5c-3.2-4.2-8.2-6-11.3-4-3 2-3 7 .2 11.2 3.1 4.2 8.2 5.9 11.2 3.9 3.1-2 3-7-.1-11.1zm9 76.6c.5-5.1-2-9.6-5.6-10-3.7-.5-7.2 3.3-7.8 8.4-.6 5 1.9 9.6 5.6 10 3.7.4 7.1-3.3 7.7-8.4zm1.8 44.5c1-5-1-9.6-4.6-10.4-3.7-.8-7.4 2.7-8.5 7.7-1 5 1 9.7 4.7 10.5 3.6.7 7.4-2.7 8.4-7.7zm8.6-41.7c0-2-1.4-3.6-3-3.6s-3 1.6-3 3.6 1.3 3.7 3 3.7 3-1.7 3-3.7zm-7.5 8.4l-6.2 7s-5.9.2-5.6 2.1c.4 2 8.1 7.7 8 10 0 2.2 5.2-.6 5.2-.6l4.2-12.8s-.2-8.8-2.5-8.7c-2.3.2-2.9 2.8-3 3zM304 253.3a3 3 0 10-6 0 3 3 0 006 0zm2.8-9c0-1.8-1.4-3.2-3-3.2s-3 1.4-3 3.1 1.4 3.2 3 3.2 3-1.4 3-3.2zM282.4 201c-1.1-2.5-3.5-3.9-5.2-3-1.8.7-2.3 3.4-1.2 5.9 1.2 2.5 3.5 3.9 5.2 3 1.8-.7 2.3-3.4 1.2-5.9zm7.3 27c-1.5-3.3-4.7-5.1-7-4s-3.2 4.4-1.7 7.6 4.8 5 7.2 4 3-4.4 1.5-7.7zm8 19.7c.4-4-1.2-7.8-3.8-8.3-2.6-.6-5 2.3-5.5 6.3-.6 4 1.1 7.8 3.7 8.3 2.5.5 5-2.3 5.5-6.3zm-12.7 2.8c1.5-3.7 1-7.7-1.4-9s-5.4.9-7 4.6-1 7.8 1.3 9 5.5-.8 7-4.5z"/>
+    <path fill="#6b18b5" fill-rule="evenodd" d="M279.2 242c0-1.9-1.5-3.4-3.3-3.4s-3.3 1.6-3.3 3.5 1.5 3.4 3.3 3.4 3.3-1.5 3.3-3.4zm-2.6-8.5a3 3 0 00-3-3.2c-1.7 0-3 1.4-3 3.2s1.3 3.1 3 3.1 3-1.4 3-3.1zm2.8-16.5c0-3-1.3-5.3-3-5.3-1.5 0-2.8 2.4-2.8 5.3s1.3 5.3 2.9 5.3 2.9-2.4 2.9-5.3zm8.9-1.3c.3-2.9-.6-5.4-2.2-5.6-1.6-.2-3.2 2-3.6 4.8-.4 3 .6 5.4 2.2 5.7 1.6.2 3.2-2 3.6-4.9zm63.3-126.4c1.2-4 0-8.2-2.7-9.2s-5.8 1.6-7 5.7c-1.2 4 0 8.2 2.7 9.2s5.8-1.6 7-5.7zm-12 18.3c3.5-3 5-7.2 3.3-9.3-1.6-2.1-5.8-1.4-9.4 1.6s-5 7.1-3.3 9.3c1.6 2 5.8 1.4 9.4-1.6zm-7-10.2c3.4-2.5 5-6.1 3.3-8s-5.8-1.1-9.3 1.4c-3.5 2.6-5 6.2-3.4 8s5.9 1.2 9.4-1.4zm27-17.8c2.4-1.7 3.4-4.2 2.3-5.5-1.2-1.3-4-.8-6.3 1s-3.4 4.2-2.3 5.5c1.2 1.3 4 .9 6.3-1z"/>
+    <path fill="#6b18b5" fill-rule="evenodd" d="M345.5 96.9c1.6-2.5 1.7-5.2.2-6-1.4-.8-4 .5-5.5 3s-1.8 5.2-.3 6c1.5.8 4-.5 5.6-3zm20.4-10.7c2.5-2.1 3.5-5 2.2-6.3-1.4-1.3-4.5-.7-7 1.4s-3.5 5-2.2 6.4c1.3 1.3 4.4.7 7-1.5zM329 111.1c2.3-.1 4.1-1.3 4-2.6-.2-1.4-2.3-2.4-4.6-2.2-2.4 0-4.2 1.3-4 2.6.2 1.3 2.2 2.3 4.6 2.2zm44.5-38c1.6-2.6 1.7-5.2.2-6-1.4-.9-4 .5-5.5 3s-1.7 5.1-.3 6c1.5.8 4-.6 5.6-3z"/>
+    <path fill="#ffd200" fill-rule="evenodd" stroke="#ef8a10" d="M641.8 148.5s7.3-11.6 4.5-22.6c-2.8-10.9-15-3.2-14.7.7.3 4 7.8 9.1 8.3 11.5.5 2.4-.8 9.7 1.9 10.4z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.4" d="M501.7 51.9s26.4 1 26.6 18.1c-.1 2.7 0 5.8-1 13.5a17.8 17.8 0 008-15.8c.2-17.4-23.5-29.2-33.6-15.8z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.4" d="M484.9 51.1s21.3-4.4 21.5 12.7c.2 17-6.8 19.8-6.8 19.8S516 80.1 516 62.8c.1-17.4-21-25.1-31.1-11.7z"/>
+    <path fill="#f7df73" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.6" d="M557.3 420.3S657 392.2 687 269.8c-17.5 125.6-126.6 165.4-126.6 165.4l-3.2-14.9z"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M567.5 428c3.1 0 10.7-8.5 15.1-9.4 4.4-1 4.9-5.4-.2-5.6-5-.1-9.4 5.7-9.4 5.7s-4.3 3.8-8.9 4.2c-4.5.5-1.6 6.2 3.4 5z"/>
+    <path fill="#8c1800" fill-rule="evenodd" stroke="#8c1800" stroke-width="2.6" d="M625 385.1s-10.4 6-9 7.5c1.5 1.4 10.7-5.7 10.9-5.9.2-.1 3.9-4.7-2-1.6z"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M588.8 412.4s-3.1-1.1 4.8-4.2c8-3.1 7.5-6.7 10-8.1 2.7-1.5 8.2-5.4 9.3-3.1s-5.8 6.8-7.4 7.3c-1.6.5-9.6 7.8-11.9 8.4-2.2.7-3.9.3-4.8-.3z"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="3.1" d="M640.4 369.9c-6.8 7.6-6.8 7.4-6.8 7.4"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.9" d="M650.6 357.4l-6.5 8"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.6" d="M660.8 341.2l-7.3 11.6"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.4" d="M669.4 324.6l-6 12m9.9-20.8l-2 4.3"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.4" d="M677.7 304.3l-1.6 5"/>
+    <path fill="#f7df73" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1pt" d="M160.3 216s52-14.7 67.6-78.5c-9.1 65.5-66 86.2-66 86.2l-1.6-7.7z" transform="matrix(-1.9021 0 0 1.9542 731.4 -4.3)"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M416.4 425.5c-3 0-10.6-8.6-15-9.6-4.3-1-4.7-5.5.2-5.6 5-.2 9.4 5.8 9.4 5.8s4.3 3.8 8.8 4.3c4.5.5 1.6 6.2-3.4 5z"/>
+    <path fill="#8c1800" fill-rule="evenodd" stroke="#8c1800" stroke-width="1pt" d="M195.5 197.6s-5.4 3.2-4.6 4c.7.7 5.5-3 5.6-3.1.1-.1 2-2.5-1-.9z" transform="matrix(-1.9021 0 0 1.9542 731.4 -4.3)"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M395.4 409.6s3-1.1-4.9-4.3c-7.8-3.1-7.4-6.7-10-8.2-2.5-1.5-8-5.5-9-3.2s5.7 7 7.3 7.5c1.6.5 9.5 7.9 11.7 8.6 2.3.6 3.9.3 4.9-.4z"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.6" d="M203.5 189.7l-3.5 3.9" transform="matrix(-1.9021 0 0 1.9542 731.4 -4.3)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.5" d="M208.9 183.2l-3.4 4.1" transform="matrix(-1.9021 0 0 1.9542 731.4 -4.3)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.4" d="M214.2 174.7l-3.8 6.1" transform="matrix(-1.9021 0 0 1.9542 731.4 -4.3)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.3" d="M218.7 166.1l-3.2 6.3m5.2-10.9l-1 2.2" transform="matrix(-1.9021 0 0 1.9542 731.4 -4.3)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width=".8" d="M223 155.5l-.9 2.7" transform="matrix(-1.9021 0 0 1.9542 731.4 -4.3)"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.4" d="M691.9 247.2c.5 7.7 8 15 5 28.5-3.7 15.1-17 51.3-14.6 57.6-4-5.4-3.3-10.4-3.6-18-.4-7.5 10.9-35.4 11.9-44.9 0-8.5.8-20 1.3-23.2z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.4" d="M691.9 247.4s12.2 15.5 11.6 27.8c-.7 12.2-7.5 26.6-5.2 33-4-5.4-5-8.9-5.3-16.4-.3-7.5 6-15.8 4.8-24-1.3-8.2-6-20.4-6-20.4zm-401.4 3.4c-.5 7.7-6.2 14.6-3.3 28 3.8 15.1 17.2 34.4 15 56.5a33 33 0 005.5-19c.3-7.5-14.9-32.8-15.9-42.3 0-8.5-.8-20-1.3-23.2z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.4" d="M290.5 251s-12 15-11.3 27.3c.2 8.1 15.2 42.3 13 48.7 3.9-5.4 5-4.8 4.8-13-4.4-20.9-12.2-34.3-10.9-42.4 1.3-8.2 4.6-20.6 4.4-20.6z"/>
+    <path fill="#fff" stroke="#000" stroke-dashoffset="1" stroke-linecap="square" stroke-linejoin="round" stroke-width="1.5" d="M100 125.8l22 68.2h72l-58 42.2 22.1 68.2-58-42.1-58 42.1 22-68.2L6 194h71.8z" transform="matrix(1.3389 0 0 1.3391 360.4 -54.9)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mq.svg
new file mode 100644
index 0000000..7a69fb5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mq.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mq" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mr.svg
new file mode 100644
index 0000000..7da23e5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mr.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mr" viewBox="0 0 512 512">
+  <path fill="#cd2a3e" d="M0 0h512v512H0z"/>
+  <path fill="#006233" d="M0 76.8h512v358.4H0z"/>
+  <path fill="#ffc400" d="M416 164.9a160 160 0 01-320 0 165.2 165.2 0 00-5.4 41.8A165.4 165.4 0 10416 165z" class="st1"/>
+  <path fill="#ffc400" d="M256 100l-14.4 44.3h-46.5l37.6 27.3-14.3 44.2 37.6-27.3 37.6 27.3-14.4-44.2 37.7-27.3h-46.5z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ms.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ms.svg
new file mode 100644
index 0000000..d7d910d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ms.svg
@@ -0,0 +1,70 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ms" viewBox="0 0 512 512">
+  <path id="rect950" fill="#012169" stroke-width=".6" d="M.2 0h512v512H.2z" opacity="1" stop-opacity="1"/>
+  <path id="path962" fill="#fff" stroke-width=".8" d="M281.6 127H487l-.3 146.3c1.7 58.7-35 95.2-102.3 111.7-47.9-12-103.1-36.5-103.2-110l.3-148z" opacity="1" stop-opacity="1"/>
+  <path id="path964" fill="#00a2bd" stroke="#000" stroke-width="1.8" d="M286.1 131.4h196.4l-.2 140.2c1.6 56.3-33.4 91.2-97.8 107-45.8-11.4-98.6-35-98.6-105.4l.2-141.8z" opacity="1" stop-opacity="1"/>
+  <path id="path966" fill="#a53d08" stroke-width=".8" d="M481 288.2c-7.2 53.7-48.6 77.2-96.6 89.7-42.4-11.4-88-29.6-97-89.5l193.6-.2z" opacity="1" stop-opacity="1"/>
+  <path id="path968" fill="#000" stroke-width=".8" d="M376.7 157.5l-.3-17.6 14 .1.1 17.5h38.2l.1 13.7-38.3.2-.3 161.4-13.6.1-.2-161.7-38 .2v-14z" opacity="1" stop-opacity="1"/>
+  <path id="path970" fill="#ff9a08" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M345.8 294.8l35 36.3c12-13.3 3.6-63-12.3-72.1-1.9 5.9-5.1 13-8.6 15.2-7.6 5.2-26.1 11.2-20 15 1.5-1.9 5.2-3.7 7 .6 2 6.9-7.8 7.3-7.8 7.3s-6.2-.8-7.3-7c-1-6.4 9.3-12.2 10.1-12.6 1-.3 14.4-4 16.7-15.9 2.8-11.8 5.8-10 6.3-10.2 17.7 1.7 29.2 33.3 29.9 55.5.6 22.2-9 37-10.8 38-1.8.9-42-47.9-42-47.9l3.8-2.2z" opacity="1" stop-opacity="1"/>
+  <path id="path972" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M371.2 261l.3 65.5" opacity="1" stop-opacity="1"/>
+  <path id="path974" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M367.3 262.3l.2 59.4" opacity="1" stop-opacity="1"/>
+  <path id="path976" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M363 270.9l.3 47.2" opacity="1" stop-opacity="1"/>
+  <path id="path978" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M359.6 274.2l.2 39.1" opacity="1" stop-opacity="1"/>
+  <path id="path980" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M355.9 276v33" opacity="1" stop-opacity="1"/>
+  <path id="path982" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M351.9 278.6v26.1" opacity="1" stop-opacity="1"/>
+  <path id="path984" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M348.4 280.7v20" opacity="1" stop-opacity="1"/>
+  <path id="path986" fill="none" stroke="#ffdf00" stroke-linecap="round" stroke-width="1" d="M345.2 299l36 41.2" opacity="1" stop-opacity="1"/>
+  <path id="path988" fill="none" stroke="#ffdf00" stroke-linecap="round" stroke-width="1.4" d="M383 273s16.3 35.7 1.2 65" opacity="1" stop-opacity="1"/>
+  <path id="path990" fill="none" stroke="#ffdf00" stroke-linecap="round" stroke-width="1.4" d="M341 291.4s1.2-3.1 2.7-1.8" opacity="1" stop-opacity="1"/>
+  <path id="path992" fill="none" stroke="#ffdf00" stroke-linecap="round" stroke-width="1.4" d="M338.1 282.3s-6.5 5.8-3 9.5" opacity="1" stop-opacity="1"/>
+  <path id="path998" fill="#008021" stroke="#000" stroke-width=".3" d="M390.6 191.4c2.4-2 3.7-3.3 5.2-3 1.5.2 3.5 0 5-.4a31 31 0 0112-.4c1 .2 2.4.7 4.6 2.5 2.1 1.8 5.2 5 4.2 13.6s-.7 12.3-1.2 17.2c-.8 8.5-2.7 15.5-6 15 4.5 8 5 15 8 20.5s4.8 16.8 3.7 29c-1.2 12.3-4.4 39.7 5.3 58.2-1.6 1.1-5.5 0-9-3.7s-5-3.6-7.9-1.4c-8.7 6.7-17 14.8-29 6.7-2.8-1.8-3.7-4-1.6-9.7 5-14 7.5-33.4 6.7-42.4V191.4z" opacity="1" stop-opacity="1"/>
+  <path id="path1000" fill="#ffe1cf" stroke="#000" stroke-width=".3" d="M399 182.8c.6 2 .9 4.5-.1 6.8s-1.3 5 .4 8.4c2.8-3.9 6.7-3 9-5.4 2.3-2.3 2.8-4.5 4.5-5-1.7-1.5-4.4-3-3.8-7.5.6-4.3 6.7-8 1.2-14.6a8.1 8.1 0 00-11-1.4 8 8 0 00-2.4 2.6c-.3.8.1 2.5-.7 3.5l-2 2c-.6.3-1 .8-.4 1.5.2.2.7.3 1.1.4a9 9 0 01-.8 1.5c-.3.3-.2.6.1 1-.4 1.3.4 1.5-.1 2.5-.5.9-1.2 2 .6 3 .6.3 3 .9 4.3.7z" opacity="1" stop-opacity="1"/>
+  <path id="path1002" fill="#ffe1cf" stroke="#000" stroke-width=".3" d="M376.5 205.7c-3.2.9-8.4-.5-12.4 0-1.7.1-3-.8-2.8-2.5.2-1.7.4-4.4 0-6.8-.5-3.8 1.3-9 3.9-14.8A33 33 0 00369 170c0-1.8.2-3.8 1.8-4.8 1.2-.8 1.4-1.5 1.8-2.1 1-1.5 2-1.8 2-1 .1.5 0 1-.5 1.7 1-.9 2.8-1.9 3.2-2.2.4-.2 2.4-1.7 2.5-.3.8-.4 1.4-.4 1.6 0 .2.5 0 .7-.3 1 .5 0 1.2 1 0 1.8.7-.2 1.3.8.2 1.8-1.1.9-2.4 1.6-2.8 2.3-.4.8-3.1 2.9-4.2 3.3-1.1.5-1.2 1.1-1.2 2.7 0 17.8-2.1 16.4-2.1 20.6 0 1.2-.2 2.2 1 1.9 1-.4 2.8-.9 4.5-.9v10z" opacity="1" stop-opacity="1"/>
+  <path id="path1004" fill="#ffe1cf" stroke="#000" stroke-width=".3" d="M377.2 244c5.2-2.6 11.2-3.5 14.3-4.3 3-.8 8-3.3 10.5-4.5 2.4-1.3 4.4-3 5.7-3.5 1.4-.5 3-1.4 3.8-3.1 4.5-8.8 7-15.8 7-22 0-4-1-8.5-5-5.2-3.7 3-7.7 8.9-8.8 13.1-1.6 6.5-3 7.9-3.3 9.1-.4 1.3-1.7 1.3-3.2 1.6a26.7 26.7 0 00-13.5 6.4 136 136 0 01-14.3 9.2c-3.7 2-4.4 2.3-5.2 4a16 16 0 01-2.3 3.7 3 3 0 00-.7 2.5l-.3 5.4c0 1.1.2 1.4.7 1.5.4 0 1-.2 1.3-1.6-.2 1.4 1.7 1 1.8 0 0 1.4 2 .5 2-.8 0 1 1.6.3 1.7-.2l1.1-3.4c.7-1.3 1.4-3 2.8-4 1.5-1 .8-2.3 3.9-3.9z" opacity="1" stop-opacity="1"/>
+  <path id="path1006" fill="#ffe1cf" stroke="#000" stroke-width=".3" d="M414.5 338.5l1.3 3.6c.2.9-.2 1.1-.4 1.6a32.8 32.8 0 00-2.8 8.8c0 1.2-1 2.5-1.3 3.2-.5.8-.3 1.5.7 2.3.5.3 2-.2 2.3-1 .5.6 1.6.4 2-.5.6.5 1.4.2 2-.7.5.4 1.3-.3 1.6-.8.8.4 1.6 0 1.7-1.7l.4-1.2c.2-.4.3-1.1.3-1.7 0-.7.4-2 .9-2.8.5-1 1.5-2.5 1-4-.3-1.4-.9-1.3-1.4-3.3-1.3-1.3-3-3.2-4.8-3.3-1.8-.1-2.8 1.1-3.5 1.5z" opacity="1" stop-opacity="1"/>
+  <path id="path1008" fill="#ffe1cf" stroke="#000" stroke-width=".3" d="M381.7 348.4c1.6 1.6 5.3 1.7 7.8-1-1-.4-3-1.3-3.8-2-1.3 1.2-2.8 2.6-4 3z" opacity="1" stop-opacity="1"/>
+  <path id="path1012" fill="#870f00" stroke="#000" stroke-width=".3" d="M398 165c.7-4 3.6-4 5.4-3.5.8.1 2.6.3 4.3-.2 3.5-.9 6 .3 5.7 3.6 1 .7 1.9 2.3 1.7 3.7-.2 1.4.1 2 1.4 2.1 1.3.2 4 1.8 2.2 4 1.7 1 3 3.7 2.1 5.4-.9 1.8-3.7 2.1-4.8.5-1.3.6-3.4.7-4.6-.6-.9 1-3 .9-3.5 0-.4-1-1-1.4-1.9-1.7-1-.3-1-2.8.4-3.1-.2-.8-.1-1.6.2-2 .4-.4.1-1.2-.7-1.8-.8-.7-1.5-3-.7-4.4-1.4.5-4.4-.9-5-1.8-.7-1-1.6-1-2.1-.2z" opacity="1" stop-opacity="1"/>
+  <path id="path1014" fill="none" stroke="#000" stroke-width=".3" d="M399 182.8c2.2-.3 3-1.7 4.6-1.6" opacity="1" stop-opacity="1"/>
+  <path id="path1016" fill="none" stroke="#000" stroke-width=".3" d="M394.1 176.5l.6.4c.4.2 1 .3 1.4.3" opacity="1" stop-opacity="1"/>
+  <path id="path1018" fill="none" stroke="#000" stroke-width=".3" d="M394.8 174.1l1 .6" opacity="1" stop-opacity="1"/>
+  <path id="path1020" fill="none" stroke="#000" stroke-width=".3" d="M400 165c-1.3-1.2 2.3-3.8 6-.1.7.6 2.5.7 3 .5" opacity="1" stop-opacity="1"/>
+  <path id="path1022" fill="none" stroke="#000" stroke-width=".3" d="M405.2 167c1.7-.4 4.3-.4 5 1.5.8 2 2.3.7 3.5 3 1.2 2.4 3.2 5 5 3.2" opacity="1" stop-opacity="1"/>
+  <path id="path1024" fill="none" stroke="#000" stroke-width=".3" d="M411.4 180a4 4 0 01-.4-3.3c-.7-.8-.4-2.4 0-3.2" opacity="1" stop-opacity="1"/>
+  <path id="path1026" fill="none" stroke="#000" stroke-width=".3" d="M406.4 175.2c0 .7 1 2 2.4 2.2" opacity="1" stop-opacity="1"/>
+  <path id="path1028" fill="none" stroke="#000" stroke-width=".3" d="M416 180.6c-.8-1-.7-2-.5-3.2" opacity="1" stop-opacity="1"/>
+  <path id="path1030" fill="none" stroke="#000" stroke-width=".3" d="M407.6 169.1c0 1 .5 2.4 1.6 3 .3.5 1.4 2.1 3.7 1.9" opacity="1" stop-opacity="1"/>
+  <path id="path1032" fill="none" stroke="#000" stroke-width=".3" d="M413.4 165a11 11 0 00-5.3-2.6" opacity="1" stop-opacity="1"/>
+  <path id="path1034" fill="none" stroke="#000" stroke-width=".3" d="M399.3 198c-2 2.7-3.2 6.4-2.3 11.6 1 5.1 2.4 12.8-1.4 16.2" opacity="1" stop-opacity="1"/>
+  <path id="path1036" fill="none" stroke="#000" stroke-width=".3" d="M414.3 235.9c-2.6-.6-6.4-.6-8.5.9a8.2 8.2 0 01-7.9.4" opacity="1" stop-opacity="1"/>
+  <path id="path1038" fill="none" stroke="#000" stroke-width=".3" d="M408.7 235.7c-2.3.4-3.4 2-3.4 6.3 0 4.2-.9 10.5-.1 16.6" opacity="1" stop-opacity="1"/>
+  <path id="path1040" fill="none" stroke="#000" stroke-width=".3" d="M404.5 237.5c-1.5.4-3 .4-2.8 4.5" opacity="1" stop-opacity="1"/>
+  <path id="path1042" fill="none" stroke="#000" stroke-width=".3" d="M396.7 242c0-2.4 1-4.7 2.6-4.3" opacity="1" stop-opacity="1"/>
+  <path id="path1044" fill="none" stroke="#000" stroke-width=".3" d="M413.3 242.5c.2-5.4-1-7-2.7-7 2.2.1 3.7.4 4.6 9.4.7 6.6 2.1 9 3.7 14.3 4.2 13.6 2.1 34.6 4.2 42" opacity="1" stop-opacity="1"/>
+  <path id="path1046" fill="none" stroke="#000" stroke-width=".3" d="M410.2 244.2a71.6 71.6 0 01-.5 49.3c4.8 13.4 9.7 23.1 10.6 28.6" opacity="1" stop-opacity="1"/>
+  <path id="path1048" fill="none" stroke="#000" stroke-width=".3" d="M396.3 274.1c.8-2.8-2-3.2.5-13.3 1-4.4 1.3-7 .6-8.5" opacity="1" stop-opacity="1"/>
+  <path id="path1050" fill="none" stroke="#000" stroke-width=".3" d="M397.4 258.3c-1 4.5 3.3 13 1.1 19" opacity="1" stop-opacity="1"/>
+  <path id="path1052" fill="none" stroke="#000" stroke-width=".3" d="M393 278.5c0 4 1 9 .8 13-.2 3.9 1.4 5.7 3.2 9.4 6.7 13.4 11.3 23 10.6 35.5 0 2.3.7 7.2-1.7 8.6" opacity="1" stop-opacity="1"/>
+  <path id="path1054" fill="none" stroke="#000" stroke-width=".3" d="M393.3 348.4c.7 0 1.4-.3 2.3-2.4.8-2 3.6-14.5 2.5-23" opacity="1" stop-opacity="1"/>
+  <path id="path1056" fill="none" stroke="#000" stroke-width=".3" d="M399.4 332.6a27 27 0 01-1.3 12.4" opacity="1" stop-opacity="1"/>
+  <path id="path1058" fill="none" stroke="#000" stroke-width=".3" d="M403.8 324.7c1 5.6 1 10.7.1 14.3" opacity="1" stop-opacity="1"/>
+  <path id="path1060" fill="none" stroke="#000" stroke-width=".3" d="M401.5 339c.1 2.3 1.2 8-.6 8.5" opacity="1" stop-opacity="1"/>
+  <path id="path1062" fill="none" stroke="#000" stroke-width=".3" d="M410.2 312.2c4.2 6.7 7.6 23.2 11.1 26.7" opacity="1" stop-opacity="1"/>
+  <path id="path1064" fill="none" stroke="#000" stroke-width=".3" d="M413.9 336.2c-.2-1.8-.3-4.4-1.3-5.5" opacity="1" stop-opacity="1"/>
+  <path id="path1066" fill="none" stroke="#000" stroke-width=".3" d="M367.8 255.5c0-1.3-.2-2.5 1.2-4.5" opacity="1" stop-opacity="1"/>
+  <path id="path1068" fill="none" stroke="#000" stroke-width=".3" d="M365.7 256.2c.2-4.4.1-4.8 1.4-6" opacity="1" stop-opacity="1"/>
+  <path id="path1070" fill="none" stroke="#000" stroke-width=".3" d="M364 256.3c0-3.1-.4-4.2.8-6.3" opacity="1" stop-opacity="1"/>
+  <path id="path1072" fill="none" stroke="#000" stroke-width=".3" d="M379.8 161.2l-4.6 3.4" opacity="1" stop-opacity="1"/>
+  <path id="path1074" fill="none" stroke="#000" stroke-width=".3" d="M381 162.2c-.5.1-2 1.4-4.9 3.6" opacity="1" stop-opacity="1"/>
+  <path id="path1076" fill="none" stroke="#000" stroke-width=".3" d="M381.2 164c-1 .4-2.6 2-4.2 3.2" opacity="1" stop-opacity="1"/>
+  <path id="path1078" fill="none" stroke="#000" stroke-width=".3" d="M374 163.7l-1.6 1.6" opacity="1" stop-opacity="1"/>
+  <path id="path1080" fill="none" stroke="#000" stroke-width=".3" d="M414.3 357c-.3-.3-.3-1.3.2-2.4" opacity="1" stop-opacity="1"/>
+  <path id="path1082" fill="none" stroke="#000" stroke-width=".3" d="M416.3 356.5c-.3-.3 0-1.7.4-2.6" opacity="1" stop-opacity="1"/>
+  <path id="path1084" fill="none" stroke="#000" stroke-width=".3" d="M418.3 355.8c-.4-.2-.5-1 0-2" opacity="1" stop-opacity="1"/>
+  <path id="path1086" fill="none" stroke="#000" stroke-width=".3" d="M419.9 355c-.3 0-.4-.5 0-1.8" opacity="1" stop-opacity="1"/>
+  <path id="path1090" fill="#000" stroke="none" stroke-width=".3" d="M397.2 168.7c.8 1 1.7 1 1.8 1.7l.4 1h-.6l-1.4-.1c-.4 0-.9-.5-.6-.6.3 0 .3-.1.2-.3l.3-.6c.2-.1 0 0 0-.4-.2-.3-.3-1-.1-.7z" opacity="1" stop-opacity="1"/>
+  <path id="path1092" fill="#000" stroke="none" stroke-width=".3" d="M397.7 167.7a6 6 0 013.4 1.5c.7.8.1.6-.2.6-.4 0-1-.2-1.4-.6-.3-.4-1.4-1-2-1.1-.2-.1-.5-.5.2-.4z" opacity="1" stop-opacity="1"/>
+  <path id="path2758" fill="#012169" stroke-width=".5" d="M.2 0h256v256H.2z" opacity="1" stop-opacity="1"/>
+  <path id="path2760" fill="#FFF" stroke-width=".5" d="M256.2 0v32l-95 96 95 93.5V256h-33.5l-95.5-94-93 94H.2v-34l93-93.5L.2 37V0h31l96 94 93-94z" opacity="1" stop-opacity="1"/>
+  <path id="path2762" fill="#C8102E" stroke-width=".5" d="M92.2 162l5.5 17-76.5 77H.2v-1.5zm62-6l27 4 75 73.5V256zm102-156l-96 98-2-22 75-76zM.2.5L96.7 95l-29.5-4-67-66.5z" opacity="1" stop-opacity="1"/>
+  <path id="path2764" fill="#FFF" stroke-width=".5" d="M88.2 0v256h80V0zM.2 88v80h256V88z" opacity="1" stop-opacity="1"/>
+  <path id="path2766" fill="#C8102E" stroke-width=".5" d="M.2 104v48h256v-48zm104-104v256h48V0z" opacity="1" stop-opacity="1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mt.svg
new file mode 100644
index 0000000..96acc15
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mt.svg
@@ -0,0 +1,50 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mt" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ce0000" d="M256 0h256v512H256z"/>
+    <path fill="#fff" d="M0 0h256v512H0z"/>
+  </g>
+  <g transform="matrix(.35005 0 0 .35003 40.7 -25.5)">
+    <path fill="#f1eeee" fill-rule="evenodd" d="M183.1 381.7c0 2.3-2.6 4.2-5.8 4.2-3.3 0-5.9-2-5.9-4.2 0-2.3 2.6-4.2 5.8-4.2s6 1.9 6 4.2z"/>
+    <path fill="#c00" fill-rule="evenodd" d="M0 361.4v106.3h106.4a38.1 38.1 0 0035.4 35.5v106.3h106.3V503.2a38.1 38.1 0 0035.4-35.5h106.3V361.4H283.5a38.1 38.1 0 00-35.4-35.4V219.7H141.8V326a38.1 38.1 0 00-35.4 35.4H0z"/>
+    <path fill="#ffe600" fill-rule="evenodd" d="M3.6 365v99.2h106.3a38.1 38.1 0 0035.4 35.4V606h99.2V499.6a38.1 38.1 0 0035.5-35.4h106.3V365H280a38.1 38.1 0 00-35.5-35.5V223.2h-99.2v106.3A38.1 38.1 0 00110 365H3.6z"/>
+    <path fill="#707070" fill-rule="evenodd" d="M7 368.5v92.1h106.3a38.1 38.1 0 0035.5 35.5v106.3h92.1V496a38.1 38.1 0 0035.4-35.5h106.3v-92H276.3A38.1 38.1 0 00241 333V226.8h-92.1V333a38.1 38.1 0 00-35.5 35.4H7z"/>
+    <path fill="#a0a0a0" fill-rule="evenodd" d="M10.6 372v85h106.3a38.1 38.1 0 0035.4 35.5v106.3h85V492.5a38.1 38.1 0 0035.5-35.4H379v-85H272.8a38.1 38.1 0 00-35.4-35.5V230.3h-85v106.3a38.1 38.1 0 00-35.5 35.4H10.6z"/>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M153.2 327.8c6.3 6.3 1.2 21.4-11.2 33.9s-27.6 17.5-33.9 11.2c-6.2-6.2-1.1-21.3 11.3-33.8s27.6-17.5 33.8-11.3z"/>
+      <path fill="gray" d="M145.7 335.3c6.3 6.3 4.6 18-3.7 26.3s-20.1 10-26.3 3.8c-6.3-6.2-4.6-18 3.7-26.3s20.1-10 26.3-3.8z"/>
+      <path fill="#d0d0d0" d="M114.4 354.1l2.5-2.5 10 5-5-10 2.5-2.5 10 20-20-10zm15-15l2.5-2.5 15 15-2.4 2.5z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M281.6 373c-6.2 6.2-21.4 1.1-33.8-11.3s-17.5-27.6-11.3-33.9c6.3-6.2 21.4-1.1 33.8 11.3s17.5 27.6 11.3 33.8z"/>
+      <path fill="gray" d="M274.1 365.4c-6.2 6.2-18 4.6-26.3-3.7s-10-20.1-3.8-26.3 18-4.6 26.3 3.7 10 20 3.8 26.3z"/>
+      <path fill="#d0d0d0" d="M255.3 334l2.5 2.6-5 10 10-5 2.5 2.5-20 10 10-20zm15 15.1l2.5 2.5-15 15-2.5-2.4z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M236.5 501.3c-6.2-6.2-1.1-21.4 11.3-33.8s27.6-17.5 33.8-11.3c6.2 6.2 1.2 21.4-11.3 33.8s-27.5 17.5-33.8 11.3z"/>
+      <path fill="gray" d="M244 493.8c-6.2-6.2-4.5-18 3.8-26.3s20-10 26.3-3.8c6.2 6.3 4.5 18-3.8 26.3s-20 10-26.3 3.8z"/>
+      <path fill="#d0d0d0" d="M275.4 475l-2.5 2.5-10-5 5 10-2.6 2.5-10-20 20 10zm-15 15l-2.6 2.5-15-15 2.5-2.5z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M108.2 456.2c6.2-6.2 21.3-1.2 33.8 11.3s17.5 27.6 11.3 33.8c-6.3 6.2-21.4 1.2-33.9-11.3s-17.5-27.6-11.2-33.8z"/>
+      <path fill="gray" d="M115.7 463.7c6.2-6.2 18-4.5 26.3 3.8s10 20 3.7 26.3c-6.2 6.2-18 4.5-26.3-3.8s-10-20-3.7-26.3z"/>
+      <path fill="#d0d0d0" d="M134.4 495l-2.5-2.5 5-10-10 5-2.5-2.5 20-10-10 20zm-15-15l-2.5-2.5 15-15 2.5 2.5z"/>
+    </g>
+    <path fill="none" stroke="#707070" stroke-width="1pt" d="M269.3 414.6c0 41-34.1 74.4-76.2 74.4S117 455.7 117 414.6s34.1-74.4 76.2-74.4 76.2 33.3 76.2 74.4z" transform="matrix(.97674 0 0 1 6.3 0)"/>
+    <path fill="none" stroke="#707070" stroke-width="1pt" d="M269.3 414.6c0 41-34.1 74.4-76.2 74.4S117 455.7 117 414.6s34.1-74.4 76.2-74.4 76.2 33.3 76.2 74.4z" transform="matrix(.74419 0 0 .7619 51.2 98.7)"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" d="M170 474.8a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm56.8 0a3.5 3.5 0 11-7.1 0 3.5 3.5 0 017 0zm-34.3 0v3.7h-4.7c-4.7 0-4.7 3.7 0 3.7h4.7v3.7c0 3.8 4.2 4.3 4.5.3l.3-4h4.7c4.7 0 4.7-3.7 0-3.7h-4.7v-3.7c0-3.7-4.8-3.7-4.8 0z"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width="1pt" d="M180.7 163v7s-3.3 5.5-24.8 7.2-24.8 0-24.8 0c.6 6.1 4.7 17.9 3.5 31.9.9 16.2-4 31-4 31 .5.8-2 1.3-6.6.8 3.6-3.5 3.1-13.8 3.6-28.3.4-14.6-13.6-36.5-10.7-42.5s63.8-7.1 63.8-7.1z" transform="matrix(.33032 0 0 .29556 117.6 374.3)"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width="1pt" d="M272.8 162.3c20.9-1.1 55.9-.9 55.9-.9s8.3 18.5 7.9 28.7-3.2 19-7 14.6 1.7-3.5 2.4-14.6c.7-11-6.6-22.4-6.6-22.4s-15 7.3-37.5 5.8-12.5-10.8-15-11.2z" transform="matrix(.33032 0 0 .29556 115.2 366.9)"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width="1pt" d="M312.2 274c20.9-1.2 34.6 2.4 34.6 2.4s8.2 18.5 7.9 28.7-3.2 19-7.1 14.6 1.8-3.5 2.5-14.6c.7-11-6.7-22.5-6.7-22.5s-15 7.3-37.4 5.9c-22.5-1.5-16.1-3-18.6-3.4s-3.2 7-37.2 8-51.4-8-51.4-8-3.4 5.4-24.8 7-24.8 0-24.8 0c.5 6.2 4.7 18 3.5 32 .8 16.2-4 31-4 31 .5.8-2.1 1.3-6.6.8 3.5-3.5 3.1-13.8 3.5-28.3C146 313 132.1 291 135 285s18.3-.4 21.3-3.6c2.9-3.1-13.8-25.3-10.7-46 3.2-20.8 20.8-15 42.6-14.2 21.7.7 69.8 7 81.5 0 11.6-7 6.5-33 17.6-49.6a32.2 32.2 0 0128.4-14.2c7 0 17.7 28.4 17.7 35.4l-3.5 3.6h-3.6v3.5c-8 1-9.2-7.7-14.1-14.1-2.2 10 7 42.5 7 63.7 0 17.8-6.6 25.6-7 24.3z" transform="matrix(.33032 0 0 .29556 104.6 339.3)"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width="1pt" d="M209 131.1c.4 7-27.3 22.9-29.6 29.2s7 9.7 4.2 13.3c-2.9 3.6-5.2 2.2-5.8 2.9-.6.7-10.4-24.6-10.4-24.6s26-13 25-18.7-19.2-9-22.6-23.3c-3.3-14.2-1.4-41.7-4.1-47.5C163 56.7 131 51.2 131 42.5s33-32.5 36.4-36c3.5-3.6 7 3.5 3.5 7-3.5 3.6-29.2 25.5-29.2 29 0 3.6 21.3 7.1 28.4 7.1 7 0 10.6-3.5 10.6-7 0-3.1-7-3.6-7-10.7s3.5-10.6 10.6-10.6c3.5 0 10.3 4.5 10.6 10.6.3 6-6.3 6.6-7.1 10.6-.8 4 7 7.1 14.2 7.1 7 0 31.3 20.6 34.8 24.2 3.5 3.5 7 3.5 3.5 7-3.5 3.6-1.4 7.8-5 4.2-3-3.4-3.5-7-3.5-7-.3-3.3-26.3-17.8-29.8-14.2-3.6 3.5 0 46 0 49.6 0 7 7.3 7 7 17.7z" transform="matrix(.33032 0 0 .29556 116.1 372.4)"/>
+    <path fill="#a7a7a7" fill-rule="evenodd" d="M170.2 386.9h14v14.7h-14z"/>
+    <rect width="87.5" height="1.1" x="405.6" y="64.6" fill="gray" fill-rule="evenodd" rx="1.3" ry=".6" transform="matrix(.5544 .83225 -.88236 .47057 0 0)"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width="1pt" d="M180.7 42.5a7 7 0 11-14.2 0 7 7 0 0114.2 0z" transform="matrix(.33032 0 0 .29556 114 362.8)"/>
+    <path fill="gray" fill-rule="evenodd" d="M214.7 394.4c0 1-5.4 2-11.7 2s-11.7-1-11.7-2c0-.8 5.4 1.3 11.7 1.3s11.7-2.1 11.7-1.3z"/>
+    <path fill="#a7a7a7" fill-rule="evenodd" d="M171.4 401.6h11.7v4.1h-11.7z"/>
+    <path fill="gray" fill-rule="evenodd" d="M209.4 391.2c-1 2.2-2.2 3.7-2.4 3.4-.2-.2.6-2.2 1.7-4.3 1.2-2.1 2.3-3.6 2.4-3.4.2.3-.5 2.2-1.7 4.3zm3 5.5c-1.3 1.2-2.3 2-2.4 1.7 0-.2 1-1.3 2.3-2.5 1.3-1.1 2.4-1.9 2.4-1.6 0 .2-1 1.3-2.3 2.4z"/>
+    <path fill="gray" fill-rule="evenodd" d="M211 394c.9 1.8 1.5 3.3 1.3 3.4-.1 0-1-1.3-2-3-1-1.8-1.6-3.2-1.4-3.3.2 0 1 1.3 2 3zm-1 9.1c0 .3-3.6.5-8.2.5s-8.2-.2-8.2-.5 3.7-.5 8.2-.5c4.6 0 8.2.2 8.2.5zm-26.9-1c0 .3-2.6.5-5.8.5-3.3 0-5.9-.2-5.9-.5s2.6-.5 5.8-.5 6 .2 6 .5z"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="gray" stroke-width="1pt" d="M375.5 172s9 36 47 36.5 51.3-10.8 35.8-30-44-13.1-40.3 3.4-10.8 22-14.2 10.4c-3.4-11.6-17-46 7.5-48.3 24.5-2.3 76.5-14.8 89.5 9.2S486 198.9 507 204c21 5 24-5.8 60-9.1s49.7 11 62 9c12.3-2 10.6-37.2.8-46.1-9.7-9-28.5-10.6-33.3-20.4-4.8-9.8-17.8-1.9-16.6-13s18.5 7.7 18.7 2c0-.2 2.9-3.9 3.5-4.9-2.2-.8-3.5.6-5.1 2 1.8-2.4 1.7-3.5 2.3-5.4-.3-.7-2.5 2.8-2.9 2s2.5-5.6 1.2-3.8c-.4.5-3.8 3.3-3.9 1.4 0-.8 1.8-2.8 1.2-4-.5-.9-3 1.1-3.4 1.3 1.5-3.3 1.4-3.2 0-5.7-1.3-2.4-2.2-2.4-4.3.4.9-4 1.1-4.8-1-6.3-1.6-1.6-1.7-3-3.8 4.1.8-7.6-1.3-8-.4-11.5.5-3.3 3.3-4.7 7.9-4 9 .1 13.7 18 16.6 17.9 3 0 6.2-18.9 18.8-11.3 12.5 7.7 14 9.2 20.4 13.8 6.3 4.5-4.5 11.4-.9 20.4 3.6 9 28.3 38.8 21.3 70-7 31-25 36-26.7 49.5-1.6 13.4 57 8 72 12.5s24.4 23 25 26.2-26.2 2.9-26.2 2.9-13.8-11.8-46.6-13c-32.9-1-45.4-23-57.7-25.8s-38.5 4.7-53.1 3.6c-14.7-1.1-29.5-5-39-7.1-9.5-2.2-56.7 35.4-56.5 44.2-9.9-.7-33-2.7-32.1-1.7 1 1 4.2-17 22.2-20.2 18-3.2 35.7-17.6 35-27-.5-9.5 3.6-42 5-55.8s8.3-20.6 6.7-28c-1.6-7.2-22.2-14.7-42-14.5-19.8.2-41.8 2-45 10-3.2 8-.7 31 3.4 28.3 4-2.6-1-17.7 3.3-20.8a57.3 57.3 0 0125.8-6.2c10.4-.4 28.5 14.7 28.3 19.5-.2 4.9 5.8 21-2.5 27-8.3 6.2-25.3 9-41.6 7.6a71.4 71.4 0 01-38.7-16.7c-6-6-9.6-24.1-9.6-25.4z" transform="matrix(.21598 0 0 .12989 76.3 416.2)"/>
+    <path fill-rule="evenodd" d="M209.5 431.6a1 1 0 11-2 0 1 1 0 012 0z"/>
+    <path fill="#d0d0d0" d="M253.6 418l4.6 1 7.6-5.3-.6 2.8-4 2.6-2.2 1.4 1.5 2.2 2.5 4-.6 2.6-4.7-8.1-4.6-1 .5-2.2zm-7.7-33.5l8.8-4.1-2.4-5.2 1.2-.5 5.7 12.5-1.2.5-2.4-5.2-8.8 4-1-2zm-13.7-16.7l8.1-7.4 1.6 1.8-.2 12.5 6.4-5.8 1.5 1.6-8.2 7.4-1.6-1.7.3-12.6-6.4 5.9-1.5-1.7zm-35.5-14.3l1.4-11 2.2.4-1.1 9.6 8.5 1-.2 1.3-10.8-1.3zm-17.4 1.6l-2-10.8 2.3-.4 1.7 9.5 8.4-1.5.3 1.3-10.7 1.9zM147 371l-.8-1 5.8-4.6 2.5 3.2a16.3 16.3 0 01-2 3.2 16 16 0 01-2.5 2.6 14.8 14.8 0 01-4.1 2.4c-1.4.5-2.6.6-3.7.4s-2-.8-2.7-1.6a4.9 4.9 0 01-1-3 6.3 6.3 0 011-3.6 14.3 14.3 0 013.2-3.4 13.7 13.7 0 013-1.8c.9-.4 1.7-.7 2.5-.7s1.4.2 2.1.6l-1.4 1.6a3.7 3.7 0 00-1.6-.4c-.5 0-1 .1-1.7.4a9.2 9.2 0 00-2.1 1.3c-.8.6-1.5 1.3-2 2l-.9 1.7a4 4 0 00.7 3.7 3.8 3.8 0 002.2 1.4c.8.2 1.7.1 2.7-.3 1-.4 2-1 2.9-1.6a11.8 11.8 0 002-2.1c.6-.8 1-1.5 1.2-2l-1.3-1.6-4 3.2zm-.3 79.1l-9 6.4-6.8-9.6 1-.7 5.5 7.7 2.8-2-4.7-6.7 1-.7 4.8 6.6 4-2.9 1.4 2zm-13.2-14.3a3.6 3.6 0 002.5-2.5c.4-1.3.4-2.7 0-4.4a7.3 7.3 0 00-2.3-3.8 3.8 3.8 0 00-3.6-.7 3.9 3.9 0 00-2 1.3 4.5 4.5 0 00-1 2.5c-.1 1 0 2 .3 3.1a8 8 0 002.2 3.8c1 1 2.3 1.1 3.9.7zm.6 2.3c-1.8.5-3.4.1-4.8-1-1.4-1.3-2.4-3-3.1-5.4-.4-1.6-.6-3-.5-4.4s.5-2.5 1.2-3.4a4.7 4.7 0 012.5-1.8 4.7 4.7 0 013.2.2 6.5 6.5 0 012.8 2.4 12.8 12.8 0 011.8 3.9c.4 1.6.6 3 .4 4.4a6.6 6.6 0 01-1.2 3.4 4.4 4.4 0 01-2.3 1.7zm.9-22.4l-11-.2.2-7.7c0-1.6.1-2.7.3-3.5.3-.8.6-1.5 1.1-2 .5-.4 1.1-.6 1.7-.6.8 0 1.4.4 2 1.2s.8 2 .9 3.7l.6-1.3a9.8 9.8 0 011.5-2l3-2.9v3l-2.4 2.2-1.5 1.6c-.4.4-.6.8-.8 1.2a4.6 4.6 0 00-.3 1v1.3l-.1 2.6 4.8.2v2.3zm-6.1-2.4l.1-5-.1-2.4a2.8 2.8 0 00-.7-1.4 2 2 0 00-1-.5c-.5 0-1 .3-1.2 1a6 6 0 00-.6 2.7l-.1 5.5 3.6.1zm30.6-48.4V352l2.2-1.3 11.7 5.9-2.2 1.3-3.5-1.8-6.2 3.7v3.8l-2 1.3zm2-6.5l5-3-3.1-1.7-2.2-1.3.2 2.3v3.7zm53.1-3.4l11.9-5 2 1.5-.7 13-2.2-1.5.4-3.9-6-4.2-3.4 1.5-2-1.4zm6.7-.7l4.8 3.5.3-3.6c.1-1 .2-1.9.4-2.5l-2 1.1-3.5 1.5zm29.5 41l10.7-2.6 1.8 7.5c.3 1.5.5 2.7.5 3.5a4 4 0 01-.6 2.1c-.4.6-.8 1-1.4 1.1-.8.2-1.5 0-2.2-.7a8.2 8.2 0 01-1.9-3.3c0 .6 0 1-.2 1.4a9.8 9.8 0 01-1 2.2l-2.2 3.7-.7-2.8 1.7-2.8 1.1-2c.3-.5.4-1 .5-1.3a4.6 4.6 0 000-1l-.2-1.3-.7-2.6-4.7 1.1-.5-2.2zm6.5.8l1.1 4.8c.3 1 .5 1.8.8 2.3.3.6.6 1 1 1.2.3.2.7.3 1 .2.5-.1.9-.5 1-1.1a6 6 0 00-.1-3l-1.3-5.3-3.5.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mu.svg
new file mode 100644
index 0000000..773d3d5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mu.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mu" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#009f4d" d="M0 384h512v128H0z"/>
+    <path fill="#151f6d" d="M0 128h512v128H0z"/>
+    <path fill="#ee2737" d="M0 0h512v128H0z"/>
+    <path fill="#ffcd00" d="M0 256h512v128H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mv.svg
new file mode 100644
index 0000000..aa5ed53
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mv.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mv" viewBox="0 0 512 512">
+  <path fill="#d21034" d="M0 0h512v512H0z"/>
+  <path fill="#007e3a" d="M128 128h256v256H128z"/>
+  <circle cx="288" cy="256" r="85.3" fill="#fff"/>
+  <ellipse cx="308.6" cy="256" fill="#007e3a" rx="73.9" ry="85.3"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mw.svg
new file mode 100644
index 0000000..a9521a0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mw.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mw" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M179.7 0h708.7v708.7H179.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-129.8) scale(.72249)">
+    <path fill="#f41408" d="M0 0h1063v708.7H0z"/>
+    <path fill="#21873b" d="M0 472.4h1063v236.3H0z"/>
+    <path d="M0 0h1063v236.2H0z"/>
+    <path fill="#f31509" d="M401.4 214a147.3 147.3 0 01192.2-80.3 142 142 0 0180.2 80.3H401.4zm-36 9.8a419.9 419.9 0 01-72.5-12c-5.6-2-5.9-5.4-5.2-8a7 7 0 018.5-4.5c7.9 2 39.9 10.5 69.3 24.5zM538 92.6c-5.8-32-7.3-67.3-6.7-73.2.5-6 3.8-7 6.5-7a7 7 0 016.5 7c0 8.2-.2 41.3-6.3 73.2zm16 .8a427.9 427.9 0 01-.5-73.6c1.1-5.9 4.4-6.7 7.1-6.4 2.7.2 6.3 3.3 5.9 7.6-.7 8-3.7 41-12.5 72.4zm14.4 2c-.4-32.6 4-67.6 5.7-73.4 1.5-5.8 4.9-6.3 7.6-5.8a7 7 0 015.2 8c-1.4 8-7.1 40.6-18.5 71.1zm15.3 3.3c2.5-32.4 10-66.9 12-72.5 2-5.6 5.5-5.8 8.1-5.1a7 7 0 014.5 8.4c-2.1 7.9-10.6 39.9-24.6 69.2zm15 4.8A421.6 421.6 0 01617 32.3c2.6-5.4 6-5.3 8.6-4.4a7 7 0 013.7 8.9c-2.8 7.6-14.2 38.7-30.7 66.7zm14 5.9c8-31.6 21.4-64.2 24.5-69.4 3-5.2 6.4-4.8 8.8-3.6a7 7 0 013 9c-3.5 7.5-17.4 37.5-36.3 64zm13.8 7.2a432 432 0 0130.4-67c3.4-4.9 6.8-4.2 9.2-2.8a7 7 0 012 9.3c-4 7-20.5 35.7-41.6 60.5zm13 8.3a419.9 419.9 0 0136.2-64c3.8-4.6 7.1-3.6 9.3-2a7 7 0 011.3 9.4c-4.7 6.7-23.6 33.8-46.8 56.6zm12.2 9.5c16-28.4 37.4-56.4 41.7-60.7 4.2-4.2 7.4-3 9.5-1.2 2 1.8 3.2 6.3.4 9.6-5.2 6.2-26.4 31.6-51.6 52.3zm11.5 10.5a424 424 0 0146.7-56.8c4.6-3.8 7.7-2.3 9.6-.4a7 7 0 01-.4 9.6 410 410 0 01-56 47.6zm10.4 11.5c20.7-25.1 46.7-49 51.6-52.4 5-3.4 7.8-1.6 9.6.4a7 7 0 01-1.2 9.5 421.5 421.5 0 01-60 42.5zm9 11.8a422 422 0 0155.8-48c5.2-3 8-.9 9.5 1.4 1.6 2.2 1.6 6.8-2 9.3a415.9 415.9 0 01-63.2 37.3zm8.2 12.8a421.7 421.7 0 0159.7-43c5.4-2.5 8-.2 9.4 2.1 1.3 2.3 1 7-2.8 9.2-7 4-35.6 20.8-66.3 31.7zm7.6 14.6a431.5 431.5 0 0163.4-37.3c5.6-2 8 .5 9.1 3a7 7 0 01-3.6 8.8 417.9 417.9 0 01-68.9 25.5zm5.8 14.1a413 413 0 0166.3-31.7c5.8-1.5 8 1.2 8.9 3.7 1 2.5-.3 7-4.4 8.5a412.8 412.8 0 01-70.8 19.5zm4.6 15a421 421 0 0169-25.8c5.8-1 7.7 1.8 8.4 4.5a7 7 0 01-5 8c-8 2.2-39.9 10.7-72.4 13.2zM522.4 93.1A421.2 421.2 0 01508.9 21c0-6 3.1-7.3 5.8-7.6a7 7 0 017.1 6.5c.8 8 3.7 41 .6 73.4zm-15.4 2a418.8 418.8 0 01-19.7-70.8c-.5-6 2.5-7.6 5.1-8.1a7 7 0 017.7 5.8c1.4 8 7.2 40.6 6.9 73.1zm-15.3 3.4a421.5 421.5 0 01-25.9-68.9c-1-5.9 1.9-7.8 4.5-8.5a7 7 0 018 5.1c2.2 7.9 10.8 39.8 13.4 72.3zm-14.4 4.5a420.4 420.4 0 01-31.6-66.4c-1.5-5.8 1.2-8 3.7-8.9a7 7 0 018.5 4.4c2.8 7.7 14.1 38.7 19.4 70.9zm-14 5.7A419.8 419.8 0 01426 45.4c-2-5.7.4-8 2.9-9.1a7 7 0 018.9 3.6c3.4 7.4 17.3 37.4 25.4 69zm-14.2 7.4a420 420 0 01-42.8-59.9c-2.5-5.4-.3-8 2-9.3a7 7 0 019.2 2.8c4.1 7 20.7 35.7 31.6 66.4zm-13 8.2a422 422 0 01-47.8-56c-3-5.2-1-8 1.3-9.5a7.2 7.2 0 019.4 2c4.7 6.7 23.6 33.8 37.1 63.5zm-12.1 9a419.3 419.3 0 01-52.4-51.6c-3.4-4.9-1.6-7.8.5-9.5a7 7 0 019.5 1.2c5.2 6.2 26.4 31.6 42.4 60zM412.2 144a421.6 421.6 0 01-56.8-46.8c-3.8-4.6-2.3-7.7-.4-9.6a7 7 0 019.6.4c5.8 5.8 29.2 29.1 47.6 56zM402 154.9a421 421 0 01-60.5-41.8c-4.2-4.2-2.9-7.4-1.1-9.5a7 7 0 019.5-.4c6.3 5.2 31.5 26.5 52.1 51.7zm-9.7 12.5a421.4 421.4 0 01-64-36.3c-4.6-3.9-3.6-7.2-2-9.4a7 7 0 019.5-1.3 423 423 0 0156.5 47zm-8.7 13.4a420.5 420.5 0 01-67-30.3c-5-3.5-4.3-6.8-2.9-9.2a7 7 0 019.3-2.1c7.1 4 35.8 20.5 60.6 41.6zm-7.3 13.7c-31.5-8-64.2-21.4-69.4-24.4-5.1-3-4.8-6.4-3.6-8.8a7.1 7.1 0 019.1-3c7.4 3.4 37.4 17.4 64 36.2zm-5.8 13.8a415 415 0 01-71.2-18.6c-5.4-2.5-5.3-6-4.4-8.5 1-2.5 4.8-5.2 8.9-3.7 7.6 2.8 38.7 14.2 66.7 30.8z"/>
+    <path fill="#f31509" d="M365.5 223.8c-32.5-2.5-67-9.9-72.6-12-5.6-2-5.9-5.4-5.2-8a7 7 0 018.5-4.5c7.9 2 39.9 10.5 69.3 24.5z"/>
+    <path d="M275.3 214.7H803V234H275.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mx.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mx.svg
new file mode 100644
index 0000000..a440656
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mx.svg
@@ -0,0 +1,378 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-mx" viewBox="0 0 512 512">
+  <defs>
+    <radialGradient id="b" cx="842.3" cy="103.7" r="25.9" gradientTransform="matrix(.11321 .02876 -.02762 .11359 180.2 193.2)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="c" cx="651.5" cy="550.5" r="25.9" gradientTransform="matrix(-.10753 -.04307 .03971 -.09991 375.3 9.8)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="d" cx="380.8" cy="740.4" r="25.9" gradientTransform="matrix(.06029 .00225 -.00274 .11843 377.4 -120)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="#fff"/>
+      <stop offset="1" stop-color="#f15770"/>
+    </linearGradient>
+  </defs>
+  <path fill="#ce1126" d="M341.3 0H512v512H341.3z"/>
+  <path fill="#fff" d="M170.7 0h170.6v512H170.7z"/>
+  <path fill="#006847" d="M0 0h170.7v512H0z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M284.6 295.6l.2 3.5 1.4-.9-1-3z"/>
+  <circle cx="284.5" cy="294.6" r="1.1" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M289 301.1l-2.7-2.5-1.2 1 3.6 2z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M288.7 302.6c-.4-.6-.3-1.3.3-1.7.5-.4 1.2-.3 1.6.2.3.5.2 1.2-.3 1.6-.5.4-1.2.3-1.6-.2zm20.3-38.9l2.7 2.6.4-1.3-2.5-1.7z"/>
+  <circle cx="308.7" cy="263" r="1.1" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M316.1 265.3l-4 1.1.3-1.3 3.5-.4z"/>
+  <circle cx="316.8" cy="264.7" r="1.1" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M302.3 285.5l-2.5-4 .4-.1 2.9 3.3z"/>
+  <circle cx="299.6" cy="280.7" r="1.2" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M302.5 285.6l3.2.6.1-.5-2.7-1z"/>
+  <circle cx="306.6" cy="286.2" r="1.1" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M227.7 294.4c0 .6-.4 1-.8 1s-.8-.5-.8-1 .4-1 .8-1 .8.5.8 1zm0 1.8l.7 4-1-.3-.3-3.5z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M228.6 294.9c.4.6-.3 1.5-1.2 1.7-.8.3-1.9-.1-1.9-.9 0-.9 1.3-.4 1.6-.5.5-.2 1-1 1.5-.3z"/>
+  <ellipse cx="221.6" cy="301" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx="1.3" ry=".9"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M223.7 300.8l3.9-.2-.7-.8-3.2.4z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M224 300.4c.4 1 .4 2.3-.7 2.1-1.1-.1-.9-1.1-1-1.5-.1-.7-.8-1.3-.1-2 .6-.6 1.5.4 1.8 1.4z"/>
+  <ellipse cx="211.5" cy="279.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx=".8" ry="1.1"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M211.5 281.9l.1 3.7-1-.9.1-3z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M213 280.8c.2.8-1.1 1.3-2 1.1-.8-.1-1.5-.6-1.3-1.4 0-.7 1.2-.6 1.5-.4.4.3 1.5-.6 1.8.7z"/>
+  <ellipse cx="204.9" cy="285.2" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx="1.3" ry=".6"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M207.3 285.2l2.9-.2 1.2 1-4.2-.2z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M206.2 283.6c.8 0 1.3.9 1.2 1.8 0 1-.8 1.7-1.5 1.6-.8-.1-.7-.8-.7-1l.5-.8c0-.3-.2-1-.1-1.2 0-.3.2-.4.6-.4zm-2.4-22.7c-.3.6-1 1-1.2.7-.3-.2-.2-.9.1-1.4.3-.5.8-.8 1.2-.6.3.2.3.8 0 1.3zm-3.2 5.9l1.6-3.9-.2-.2-1.9 2.7z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M202 263c-.9-.6-1-1.3-.8-1.9.3-.5.9-.2.9-.2l.7.7c.2.1.7-.1 1 .4.4.5.2 1 0 1a2 2 0 01-1.9 0zm-6.9-.6c.6.4 1 1 .7 1.3-.2.4-.8.4-1.4 0s-.9-.8-.7-1.2c.2-.4.9-.4 1.4 0zm1.7 1.7l3 1.8v1.5l-3.3-2.8z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M196.8 264.5c-.7.7-1.3.8-1.8.5-.6-.3-.1-.9-.1-.9l.6-.6c.2-.3 0-.8.6-1 .5-.4 1-.1 1 .2.1.3.3 1.2-.3 1.8z"/>
+  <path fill="#aa8c30" d="M285.3 295.8l-.4.4-.2.7v-1.1l.4-.3.2.3z"/>
+  <path fill="#aa8c30" d="M285.4 295s-.2.5-.9.5c-.6 0-1-.3-1-.7l.1-.9-.3.4v.7l.5.6h.4l.4.1.5-.2.3-.2v-.2zm3.4 6h-.6a13.3 13.3 0 01-2.7-1.4l3 2 .3-.6zm1.9.8s0 .6-.6.8c-.6.3-1 .2-1.2 0a1.1 1.1 0 01-.3-1l-.1.5.3.6.6.3h.5l.3-.2.4-.4.2-.4-.1-.2zm19.4-38v.8l-.7-.7.3-.4.4.3zm-.3-1c0 .5-.8 1.3-1.3 1-.6-.2-1-.8-.7-1.4l-.2.3.1.8.6.5h.6l.6-.2.3-.6v-.4zm8 1.4s-.1-.3 0 0c0 .5-.5 1.4-1.1 1.3-.7 0-1-.6-.9-1.1v.8l.3.3.5.3h.5l.6-.4.2-.5v-.3l-.1-.4z"/>
+  <path fill="#aa8c30" d="M315 264.9s0 .2-.3.4a42.8 42.8 0 00-1 .6l2.2-.6-.2-.6-.7.2zm-13.6 17.9l-.2.4v.6l-1.2-2 .4-.2 1 1.2zm-.7-2c-.3.6-1.2 1-1.6.7-.5-.3-.8-1.2-.3-1.6l-.3.2-.1.6.2.5.4.5.4.2.7-.2.5-.3s.3-1 0-.5zm4.4 4.7s0 .2-.4.2h-1.2l2 .4.2-.4-.6-.2z"/>
+  <path fill="#aa8c30" d="M307.7 286c.2.7-.4 1.4-1.2 1.1s-1-1-.8-1.5l-.2.6.2.6.5.4.5.2.5-.2.5-.5.1-.6v-.1zm-79.2 8.9c.2.2-.1 1.2-1 1.5-1 .4-1.4 0-1.6-.3l-.2-.6-.2.2.2.4.4.4.8.2.6-.1.6-.3.3-.3.3-.4v-.5l-.1-.2z"/>
+  <path fill="#aa8c30" d="M227.7 296.9l-.3.3-.2.6v-1l.4-.3.1.4zm-3 3.2s-.1.2.1.4l.8.2h-1.4l-.2-.5.7-.1zm-.5 1a1.1 1.1 0 01-.1.5c-.2.4-.3.8-.8.7a1 1 0 01-.8-.9 1 1 0 00-.2-.5v.5l.3.8.6.3h.4l.4-.2.2-.5v-.8zm-3.8-.2s.2.7 1 .7c.7 0 1-.2 1-.2v.3l-.3.1-.6.1-.6-.1-.3-.2-.2-.4v-.3zm-7.5-20.3v.3c-.1.3-.6.9-1.5.9-.8 0-1.2-.3-1.4-.6-.3-.3-.3-.7-.3-.7v.5l.3.5.9.4h.8l.8-.2.4-.4v-.7zm-1.4 1.8l-.5.2a3 3 0 00-.3.3v-1h.8v.6zm-3.8 2.8l.4.3c.4.2 2.5.4 2.5.4l-3.3-.1.2-.6h.2zm-.3 0l-.2.5c-.2.3-.6 1.2-1.3 1.1-.7-.1-.6-.6-.6-.7v-.2l-.1.5.2.3.2.2h.6l.4-.1.4-.4.2-.4.2-.5v-.3zm-1.8.1s0 .2-.6.2l-1.3-.2.3.3.4.1h1l.2-.4zm-1.7-23s.1.3-.2.5c-.3.2-1 .4-1.4.1-.4-.2-1.2-1-1.2-1l.4.6.5.5.8.2h.8l.3-.4.1-.2v-.4z"/>
+  <path fill="#aa8c30" d="M201.6 263.3v.4l-.1 1 .6-1.6-.2-.2-.3.4zm-4.3 1.2l.1.3c.2.5 2 2.1 2 2.1l-2.8-2.2.3-.5.4.3zm-.9.2l-.7.3c-.2 0-.8 0-.8-.4v-.5l-.2.5.1.3.4.2h.6l.5-.2.1-.1zm-1-1.1h-.6c-.5 0-1-.6-1-.6l.3.6.9.4.3-.4z"/>
+  <path fill="#9ca168" d="M319.9 256.1c-.3 3-3.3 4.7-4.9 5.8a8.6 8.6 0 00-2.3 2.6l-.6 1.8-.2 1.1v.4l.2 1.7-.1 3.4 2.1-1.5 1.6-.6h.4s-1.7 1.6-2.3 3.4c-.7 1.9-2 5.8-4.3 7-2.3 1.3-3.8.8-4.6 1.5l-.8.9-1 1.3-.8 1-.7.6-.5.3c0 .4 0 1-.2 1.4l-.5 1.9 1-.4h1.1l-.6 1c-.1.5.1 3.7-2.9 5.6-3 1.9-10.7 1.6-10.7 1.6l-1.4.6-1.4 1-1.2 1.4-.1.3s-1 1.2-1.7 1.6l-2.2 1.5 1.8.1 2.8 1.2s-1.8 0-3 .4c-1.1.5-6.5 3.5-9 3.4-2.7 0-6.4-3.8-6.4-3.8l-1.6-1.2-2.8-.6-3.5-.2v-.4l.1-.6 3 .1c1.7.2 2.2.8 3.6 1a5.8 5.8 0 002.8-.3l4.7-3.8 4.7-1.6 1.8.2.8.2.7.2-.8 1-1.2.7.6.5 3-.5 1 .3.2.1.4-1c.4-.5 2-1.8 2.8-2.3.7-.5.9-.5 1-.8.3-.2 1.3-2.7 1.3-2.7l.1-1.3 3.3-3.1 2.2-2.4 1-2.7-.1-.5s.7.8.6 2.5c-.1 1.7-.5 2.2-.5 2.2s2.2-1.5 3.4-2c1-.5 1.7-.4 2-.4a5.4 5.4 0 001.6-1.5c.7-1 .8-1.2.8-1.6l.1-2.2-.2-5.7 2-4.2 2.8-2.5.5-.3-.3 1v1s1.4-1.8 2.1-2.2l.5-.2.6-1.6c.2-1 .2-2.5.2-2.5v-2.3l-.4-1.8-1.3-3.5v-4.6l-1-1.3s.9-.1 2 1.5a10.8 10.8 0 011.5 4l2.7-8.1s.7 1 1.2 2.5l.7 2.7 1-2.2.1.8c.2.7 1.8 1.7 1.6 4.7zm-53.8 52s-.6-1.2-3.1-2.5a19 19 0 00-4.5-1.5v1l4 1.7 2 1.6 1.6-.3z"/>
+  <path fill="#717732" d="M284.3 300.5a19.1 19.1 0 013.5-2.8 7.8 7.8 0 012.6-.7c1.5-.3 1.7 0 5.2-2s4.3-4.1 5-4.7c.7-.5 1.9-.7 1.9-.7l-2.7 3.2c-1.3 1.4-2.7 2.3-4.7 3.6-2 1.3-6 1.4-6 1.4a6.1 6.1 0 00-3.3 1.7c-1 .8-1.6 1.7-1.6 1.7s-.2-.4 0-.7zm9.7-10.2c-3.3 3-4.3 5.8-4.3 5.8l4.3-4c1.5-1.4 3.6-2 4.5-3 1-.8 1-1.5 1.6-2l1-.9s-1.4-1-7.1 4.1zm-6.9 6.9s1.4-.6 2-1.9c.3-.9.1-1.1.7-2.2 0 0 3.4-3.2 4.6-4.6 2.1-2.5 1.2-4.6 1.2-4.6s.2 1-.7 2.2c-.9 1-5.2 4-5.8 5.8-.5 1.7-.2 1.7-.4 2.7-.6 2-1.6 2.6-1.6 2.6zm-2.2 8.4s-1.7-1.1-3.6-1c-3.9.3-7.2 2.6-9.7 2.7-2.6 0-3.6-1.2-5.6-2.6-2.1-1.4-7.3-1.2-7.3-1.2v.1l-.1.2s3.6 0 5.1.4c3 .9 4.5 4 7.9 3.7 4.3-.2 7.8-2.9 9.6-2.9 3 0 3.7.6 3.7.6zm-19.3-2s3 .6 5.4-1.1c2.3-1.7 5.1-4 6.6-4.1 1.6-.1 3.2.3 3.2.3s-2-1-3.5-.9a9 9 0 00-4.6 1.1c-1.5.9-2.2 2.5-3.8 3.5-1.5 1-3.3 1.3-3.3 1.3zm-.5 4.1c-.4 0-.9.3-1 .2-.2 0-1-1-2.4-1.6-1.3-.7-3.2-1.1-3.2-1.1s-.2 0 .2.2l3 1.1a7 7 0 012.2 1.8c0 .1.4.6 1.2.6.7 0 1-.5 1-.7-.1-.3-.6-.5-1-.5zm2.1-3s1.2.8 3.2.7c4.2 0 6.8-3 9.6-4s4.2-.2 4.2-.2v-.2a5.6 5.6 0 00-3.1-1c-4.6.1-9 3-10.9 3.8-1.8.8-3 1-3 1zM312 273c-1.5 1.5-3.6 6.2-4.5 7.4-1 1.3-2.1 1.7-2.6 2.2l-2.5 3.3c-.4.6-.5.4-.8.6-.3.3-.4.3 0 .2.5-.1.6-.4 1.3-1.2.7-.8.7-1.2 1.8-2.2 1.1-1 3.1-2.1 4.1-3.3 1-1.3 3-6 4.2-7.2 1.1-1.2 3.1-2 3.1-2s-1.6-.4-4.1 2.2zm-7.2 8.9s0-.9 1-2.1c1-1.2 1.4-1 2.2-2.9.8-1.8 1.2-3.6 1.9-5.5.6-2 1.8-3.8 1.8-3.8s-1.1 0-2.2 1.6a27.6 27.6 0 00-3.8 7c-1 2.6-1 5.7-1 5.7zm-1.4 1.8s.4-.3.5-2.6c0-2.3-.1-5.6.5-7.3.7-1.6 4.3-5.5 4.3-5.5s-1.5.3-3.6 2c-2 1.7-3 3.7-2.8 5.3 0 1.6 1 3.4 1 5l.1 3zm8.5-16.2l1.2-4c.4-.7.4-1.2 2.2-3.2 1-1.1 2-1.9 2.5-3.5.4-1.6.4-6.1.4-6.1s-.5.4-.8 1.2c-.4.8-.1 3.7-.8 5-.7 1.4-2.2 4.6-3 5.3 0 0-.1-2.3.1-4.6.3-2.3 1-3 1.4-4.5.4-1.5.2-5.4.2-5.4s-1.3 1.2-1.9 2.7c-.6 1.5-1 4-1 6s.5 3.6.6 4.7c0 1.1.1 1.7-.3 2.9-.5 1.2-.2.4-.5 1.6a27.9 27.9 0 01-.6 2h.3zm-2.8-17.2s1 1.3.9 2.9c-.2 1.5-.8 3.6-.2 5.2.6 1.6 1.5 1.7 1.8 2.7.2.9.2 2.7.2 2.7s.5-3.4.2-4.4c-.4-1-.5-.5-1-1.5s0-3.7-.4-5.3a3.8 3.8 0 00-1.5-2.3z"/>
+  <path fill="#9ca168" d="M245.4 307.9s.3-1 2.5-2 5.4-2.5 5.7-2.3c.4.2-.1 1.3-.1 1.3l-2.1.7-1.7 1-2 1.3h-2.3z"/>
+  <path fill="#9ca168" d="M251 302.1c-2.9.1-4.4.8-5 1-.1 0-.5.2-.9 0-.6-.2-1.2-1.1-1.2-1.1l-.6-.5-.1 2-4-3.6-.5 2.4-.5 1-4-3.8.1 3h-1l-3-2-.8.4 1 1.7-3.7.3-.8.6-.7.9v.3h1.4c.3-.2.5-.7.6-.5.1.2.2 1 .7 1 .5-.2 2.2-1.4 3.4-.9 1.3.7-1.8 1.6-1.4 2.5.3 1 2.5.6 3 .3.6-.3 2.3-2.4 3-1.6 1 1-2 2-1.5 3 .6 1.1 2.2.9 3 .4.8-.5 2.7-3.3 3.1-2.7.7 1-1.6 2.1-1 3 .6.8 1.9 0 2.7-.7.9-.6 1.2-2 2.4-2.7 1.1-.6 1-.3 1.4-.4.3 0 1.2-.9 1.2-.9l2.7-1.1h1.4l.7.4 1.4.2.1-1.2s-1.6-.7-2.7-.7zm-22 0l.5-1-.3-.5s-1-.5-1.9-1.4a5.4 5.4 0 00-1.6-1.3 35.6 35.6 0 01-1.7-1.1l-.6-2.3-.4-.6-1 .4-1.4-4.9-.3-.9h-.6l-1.1 3-1.3-1.9-.3-4-.8.9-1 1-1.8-3.7s-.2 0-.3.3c0 .3-.2 1.4 0 2.1a19 19 0 01-2.5-1.8c-1.8-1.6-2.3-2.4-2.3-2.4l-.8-2 .8-1.7.4-2-1.8.7-.3-4.6-.3-1.4-2.1 3-.8-1.2v-3l-.6-.1-.9 1.6s-.8-1.7-1.2-2c.1-.7.2-2.3-.2-3.6-.5-1.6-1-2.5-.9-3.8.2-1.4.8-1.5.7-2 0-.7-1 .3-.6-.5.3-.7 3-2.5 2.5-3.4-.6-1-3.3 1.4-2.7-.2.7-1.6 3.2-1.6 3.4-3.9 0-1.3-2.5 1-2.7.2-.2-.7 1.6-2.1 1.6-3 0-1 .3-1-.2-1.5s-2 1.9-2 1.9l-1.7-.6-.6 2.4-.5 2-2.1-1.2.5 2.5.5 2.4-2.1-.6 1.1 2.1 1.5 1.5 1 1.3.6.3 1 1 .2 1.2.5 1.5.1 1.5v2.3l-.1.8c-.4 0-1-.6-1.3-.2-.3.5 1.2 1.6 1 2-.3.2-2.6-.5-2.7.2-.1.7.2 1.7 1.5 2 1.3.3 4.2 1 3.7 1.6-.5.6-3.7-1.8-3.5 0a3 3 0 002 2.7c.9.3 4.1 0 4 .7-.3.7-2.7-.3-3 .8-.2 1.1 1.8 1.3 2.2 1.3.4 0 1.7 0 2.3.4l3.4 3.2c1 .9 3.1 2.3 3.7 2.7-.6 0-1.9-.2-2.1.3-.3.6 4.9 2.4 3.4 3-1.5.6-3-1.6-3.5-.3-.4 1.3 1 2.4 1.8 3 .8.4 5.3 0 4.5 1-1 1-4.2-.7-4.3.6 0 1.2 2.2 3.1 3.4 3 1.1 0 2.4-1.8 2.9-.8s-.9 1.4.2 1.6 1.9-1 3.2-.8c1.2.2 3.2 1 4.4 2a63.2 63.2 0 012.2 2.3z"/>
+  <path fill="#717732" d="M246.7 307.3c.8 0 .9.4 1 .4 0 0 1.4-1.1 2.7-1.8 1.2-.7 3-1 3-1h.2s-2.3.7-3.3 1.4l-2.5 1.7c0 .2-.6.5-1.4.5-.7 0-1-.4-1-.6 0-.3.5-.6 1.3-.6zm6.8-3.4s-.7 0-1-.3a3.5 3.5 0 00-2.1-.6 5 5 0 00-3.2 1.4s-.2.5-1.1 1c.3.1.9-.3 1.5-.8a5.9 5.9 0 013-1.1c.8-.1 1.3.3 1.7.6.4.3 1.2.2 1.2.2v-.4zm-40.4-16.5v-.6s-.6-.2-1.7-1c-1.3-.7-4.1-2.9-4.1-2.9l2.3 2.1a28 28 0 003.2 2.3h.3zm28.5 20.2l1.2-1.8c.8-1.2 1.4-1.6 1.5-1.7.1-.1-.3-.7-.5-1.2-.2-.4-.2-.9-.2-1 0 0 .3.8.8 1.2l1 .7s1-.1 1-.3c0-.2 0-.4-.2-.5-.2 0-.4.2-.9 0-1-.5-1.4-2-2-2-.6-.1-.2 1.6-.5 1.6-1 0-1.6-3.5-4-3.6-1.5-.1-1.8.2-1.9.6 0 .3 2 2.4 1.3 2.7-.7.3-2.8-3.3-4.4-3.3-1.6 0-1.7.5-1.6.9.1.3 1.8.6 1.4 1.7-.4 1.1-2-1.7-3.4-1.5-1.4.1-1.6.3-1.7.7 0 .4.5 1 .3 1.1-.2.2-1 .1-1.8.6-.7.5-1.7 1.9-1.7 1.9s.9-1.4 2.2-1.5h4.4l-.9-.7c-.5-.4-.9-1.3-.9-1.3l1.4 1.3 1.5 1s1.4 0 1.5.2c0 .2 0 .5-.6 1.1a23 23 0 01-1.4 1.3l1.6-1.2 1.2-1s1 .2 1.1.1c.1 0 0-.3-.6-1.3a46.5 46.5 0 01-1.3-2s.8.7 1.6 1.8c.9 1 .7 1.6 1 1.6l1.2.2c.3 0 .3.4-.3 1.3s-1 2-1 2l1.3-1.6c.6-.6 1-1.4 1.2-1.4h1.2l-.7-1.3c-.4-1-.5-2.2-.5-2.2s.4 1.2 1 2l1.1 1.6h1.3c0 .4 0 .6-.5 1.4l-.8 1.7zm-17.2-10l1.3.3s-1.3-.8-1.7-2c-.3-1 0-3.4-.6-3.4-.5 0-.9 1.8-1.4 1.4-.6-.3.2-3.5-.5-4.8-.6-1.4-2-2.3-2.4-1.8-.3.5-.2 3.4-1.1 2.8-1-.7 0-3.2-.2-4.3-.3-1.1-1-2-1.5-1.7-.5.3.2 2.4-.6 2.5-.9 0-.7-1.5-1-1.7-.4-.1-.6.3-.7 0-.2-.3-.1-1.3-.6-1.2-.4 0-.3 1-.2 1.4l.6 1.4c.1.3.8.7.7 1 0 .2-.4.4-.8.4h-1.4l1.4.3c.4 0 1.2-.1 1.4.2l1.1 1.7s.3-.7.4-1.9v-2.1s.3 1.3.3 2.1l-.3 2.4s.9.7.6 1h-2.3c-1 0-2.6-.3-2.6-.3s1.4.6 2.4.8c1 .2 3 .2 3 .2l1.4 1.6s.7-1.1.8-2.3V289l.4 2.2a9.8 9.8 0 01-.5 3 4 4 0 01-1.5.8c-1 .3-2.9.5-2.9.5s1.8.3 3 0c1.3-.3 1.4-.7 1.8-.5l.7.6 1 .8-.8.5-1.2.6 1.8-.6.9-.3.4.2-.1-1-.3-1.4s.5.6.6 1.3l.1 1.2s.1.2 1 .6zM199.5 269s.3-1.4.3-3c0-1.5-1-3.9-1.3-4.1a3.8 3.8 0 01-.2-.5l.7-1-1 .7-1-.4c-.4-.3-.6-.7-.6-.7l1 .5c.4.2.5.1.5.1l-.3-1.5-1.6-.8c-1-.6-2-1.5-2-1.5l2.2 1.2 1.3.3s.9-.2 1.3-.5l1.3-.9s-.8.5-1.4.6l-1.2.2-.3-1.9-.9-.9c-.7-1-1.2-2.2-1.2-2.2s.7.9 1.3 1.3c.6.5 1.1 1.2 1.1 1.2l1.3-.8 2.3-1.6-2.2 1-1.3.6v-1.2c.2-.4.6-1 .6-1.3-.1-.4-.4-.2-.5-.5l.4-2.1v1c.1.3 0 .7.4.7s2.6-2.1 2.8-2.5c.3-.4.7-1.5-.4-1-1.1.4-.9 1.3-1.8 1.3-.3 0-.6-1.2-1-1-.3.3-1 1-1.2 2-.2.8.2 2-.3 2.4-.5.4-1-1.4-1.8-1.2-1 .3-1.2 1.6-1 2 .1.6 2.1 3 1.5 3.2-.6.3-2.2-2-3-.4-1 1.5 2.6 3.1 3 3.5.5.4 0 .5.7 1.3.6.8 1.5 1 1.9 1.5.4.5 1.7 3 1.7 4.6v2.3zm9.4 13.6s-.9-1-.6-2.6c.3-1.7 1.5-4.6 1-5-.3-.4-1.6 1.8-1.9 1.3-.3-.5.7-3.4.2-4.6-.5-1.2-.6-2-1.6-1.9-1 .1-1.5 3.5-2 3-.5-.7.3-2.2 0-3-.4-.8-.5-1.1-1-1-.6.1-.8 1.7-1.2 1.7-.3 0-1-2-1.7-1.6-.7.2 1.8 3.5 1.8 3.5s.5-.4.7-1l.5-1.1s.2 1 0 1.5c-.2.4-.3 1.4-.3 1.4s-.7.2-1.7 0c-1-.1-1.9-.5-1.9-.5s.7.4 1.8.7l2.2.6.7 1 .9 1.1.6-1.6 1-2.8s-.2 2-.5 3l-.5 2.5s-1 0-2.1-.3l-3-.6 3 1 2.3.6 1 1.4.8-1.1c.5-.7.8-1.5.8-1.5s-.2 1.1-.5 1.8l-.6 1.1-1.4.2h-2a16 16 0 003.6.7s0 .4.5 1.1a3.7 3.7 0 001 1z"/>
+  <path fill="#fff" d="M251.6 312.7s-.5-.6-1.2-1c-.7-.3-1-.2-1-.2h-.3l.7-1.6 4.4-4.3.7-4.3h2.7v5.9l.8.3 5 3v1.3l-.8.3-.6.3-1.8.2-3.3-2.4-1.4-1.4-2.4 3.1-1.6.8z"/>
+  <path fill="#016848" d="M255 301.3v1c0 .6 0 4-.2 4.5-.1.5-2.5 1.4-4 2.6-1.3 1.2-1.3 2.1-1.3 2.1l-1.3.4c-.9.3-1.3.8-1.3.8s.5-2.2 2.8-4.1c2.2-2 3.3-2.2 3.5-2.5.2-.3 0-4.1 0-4.4.1-.3.4-.3.6-.3h1.3zm5.7 12.6l.6-.9.7-.6-1-.6c-1.3-.5-2-.4-2.8-1a8.1 8.1 0 01-1.7-1.7l-1.2 1 1.4 1.7c.6.6 2.1.8 2.8 1.2l1.2 1z"/>
+  <path fill="#cd202a" d="M257.2 301.3l1.5.1.2.5c0 .1 0 3.2-.2 4.2a6.4 6.4 0 01-1 2.5c-.4.3-2.4 2-3.3 3-1 .9-1.9 2.2-1.9 2.2l-.6-.8c-.3-.4-.6-.5-.6-.7a8.1 8.1 0 012.7-2.8c1.5-1 2.9-2.2 3.1-3.9.3-1.7.1-4.3.1-4.3z"/>
+  <path fill="#cd202a" d="M266 312s-.3-.3-1.4-.4c-1.2 0-1.2.2-1.2.2s-.7-.8-1.6-1.4c-1-.7-1.8-.6-2.8-1.3-1-.7-1.6-1.7-1.6-1.7l.8-1.6s.9 1.3 1.8 2c1 .7 3 1.3 3.7 2 .7.5 2.3 2.2 2.3 2.2z"/>
+  <path fill="#30c2dc" stroke="#0872a7" stroke-width=".4" d="M276 293s-3-1-2.7-2c.2-1 6.6-2.7 6.6-2.7l.1-1.7s-1 0-2.5.5a22.8 22.8 0 01-7 1.2c-1.6 0-2.5-.2-3-.3a1475 1475 0 00-23.2-1.4 14.2 14.2 0 01-1.2 0c-3-.3-4.9-4.8-4.9-4.8l-1.4.2s.4 2.3-.3 2.5c-1.5.4-11.1-4.8-11.1-4.8l-.6 2.1s6 3.2 5.8 4.3c-.2 1.2-2 1.1-2 1.1l.8 1.4c.3 0 9.7.5 9.9 3.3 0 1.2-2.3 1.9-2.3 1.9l.8 1v.4s5.2 0 6.7.9c1.4.8 2.2 2 4 3a55 55 0 0015.7.2c2.1-.6 3.4-3 6.9-4 3.5-1.1 4.6-1.2 4.6-1.2z"/>
+  <circle cx="227.6" cy="288.6" r="1.7" fill="#fff" stroke="#0872a7" stroke-width=".8"/>
+  <circle cx="237.2" cy="280.8" r="1.7" fill="#fff" stroke="#0872a7" stroke-width=".8"/>
+  <circle cx="277.2" cy="293.2" r="1.7" fill="#fff" stroke="#0872a7" stroke-width=".8"/>
+  <path fill="#f8c83c" d="M220.1 278.3c-.5 1.2 1.6 3.6 3.1 3.9 1.5.2 2.4-.1 2.6-.9.3-.7 0-1.5-.3-2-1-1.3-4.8-2.3-5.4-1z"/>
+  <path fill="#fff" d="M224.8 280.2c0-.8-1.3-1.5-2-1.5s-1.7 0-1.5.4c.1.4 2.2 1 2.2 1.2 0 .2-.6.5-.3.8.4.3.8.1 1.1-.1.4-.3.6-.4.5-.8z"/>
+  <path fill="#f8c83c" d="M238.2 294.6c.3 1.1-.6 1.7-1.7 2.2-1.1.5-3.4.2-4-.7-.4-1 1-2.4 2.3-2.7 1.4-.3 3 .2 3.4 1.2z"/>
+  <path fill="#fff" d="M235.8 295.3c.5-.1.5.6.9.6s.7-.7.6-1.1c-.1-.5-.8-1-1.5-1-.6 0-2.4 1.6-2.2 2 .2.5.6.4 1 .2.3-.1.8-.7 1.2-.7z"/>
+  <path fill="#f8c83c" d="M279.4 288.8c1 1.4 2.8.1 3.3-.4s2-1.4 1.4-2.2c-.6-1-1.7-.9-2.4-.8-.7 0-2 1-2.3 1.5-.3.5-.5 1.3 0 2z"/>
+  <path fill="#fff" d="M279.7 288s.1-1.5 1.5-1.6c.7 0 .8.2 1.4.6.5.3.8-.5.8-.5s0 1-1 1.1c-.9 0-.5-.4-1.5-.6-.8 0-1.2 1-1.2 1z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4" d="M257.5 285.1l-.7-.4h-5l2.7 8 3.3 4.6 1.2.4 2.5-.1.5-1.3-1-7.6-3.5-3.6z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4" d="M248.5 285.6l.1-.9 1.5-.1a4 4 0 011.7.1c.1 0 2 2.3 2.5 3.8.6 1.4 1.4 3.8 2.2 5.3a59 59 0 002.5 4h-3.2l-1.5-.5-4.6-7.2-1.2-4.5z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4" d="M246.6 284.6l2 .1c.2.1 2.3 2 3.1 4.2.9 2.3.4 2.6 1.5 5 1 2.3 2.6 4 2.6 4s-3.2 0-5-.2c-1.7-.3-2.3-.3-2.7-.8a7.3 7.3 0 00-1.4-1h-1.8l.5-2.5-.5-5.5V285l1.7-.4zm18.7 1.5l-3-1.2-5.5-.3.4 2.8c.2 1.4 1.2 4.6 2 6.2 1 1.6 1.9 3.5 2.4 4 .4.4 3.6-.9 3.6-.9l2.1-.3-.3-2.3-.3-.7.5-6.4-.4-1h-1.5z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".4" d="M245.7 286.1c0 .7.7.8 1 .7.1 0 .8-.3.8-1.2s-.6-1.7-1.8-1.8c-1.1 0-2 1.4-2 2.4s1 1.5 1 1.9c0 0-1 .9-1 2.5s1.4 2.8 1.4 2.8-1.4 1.1-1.4 2.2 1 1.9 2 1.9 2.3-.7 2.3-1.5c0-.9-.8-1.4-1.4-1.4-.6 0-.9.4-.9.7m20.5-8.7c0 .7-.4.7-.8.7s-.9-.2-.9-1.1c0-.9 1.1-1.3 1.9-1.3.7 0 2 1 2 2.2s-1 2-1 2 .6.3.6 1.8-1 2.6-1 2.6 1.3.5 1.3 2.1-1 2.1-1.8 2.1-2.1-.5-2.1-1.5.7-1.5 1.2-1.5 1 .6 1 1.2"/>
+  <path fill="#953220" d="M247.6 295l.3.4c.2.3.3.8.6 1 .7.7 5.8.9 7.4.9 1.6 0 6.2.2 7.1-.3 1-.6 1-1.4 1.5-1.8l.7-.4-.6.6v1l.3.7s0 .3-.6.6c-.6.4-1 .5-1.8.6-.8 0-10.6 0-12.2-.2-1.6-.3-1.5-.3-2-.6a3.5 3.5 0 01-.7-.7l.3-.7-.3-1.2zm16-9.5l.8.4s-.7.2-1.3 1.8c-.6 1.5 0 2-.5 2.2H258l-.7-1.8 6.3-2.6z"/>
+  <path fill="#231f20" d="M277.1 284.9s-.7-.3-1-1c-.4-.5-.7-1.3-.4-1.4.3-.2.8.3.8.8s.6 1.6.6 1.6zm8.4-2.3l.7 1 1 .5s-1.2 0-1.6-.3a6.7 6.7 0 01-.8-1.2h.7z"/>
+  <path fill="#231f20" d="M288 283.3s-.7.4-1.3.2c-.6-.2-1-.6-.9-.8.3-.3.4-.2.7.2.4.3 1.5.4 1.5.4zm4.2-3.6s-.6.6-1 .6-1.2-.2-1.2-.4 1-.3 1.2-.3l1 .1zm-6.3-8.3s-1 .2-1.3.7c-.3.5-.2 1 .2 1s.5-.6.5-.7c0-.2.6-1 .6-1zm-4.2 2.3s-.7.4-.9.8c-.2.4-.3 1.2 0 1.3.5 0 .6-.7.7-1l.2-1.2z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".4" d="M274.2 278.7l-2.3 2.4s5.3 3 9.4 2.8c4 0 8.6-3.3 9-4 .2-.6 0-3.4-.5-4.3-.6-.9-3.4-3-4.4-3-1 .1-3 1.6-4.7 3.2-1.7 1.7-1.6 3.2-4 3l-2.5-.1z"/>
+  <path fill="#0c8489" d="M273.6 279.7s5.7.8 7.3-.6c1.6-1.5 3.4-4.3 4.5-5 1.2-.6 1.7-.6 1.7-.6l1.2 1 1.5 1.1.4 2.7v1.5l-1.7 1.4-3.3 1.5-3 1-2.7-.1-5.3-1.6-1.4-.9-.3-.3 1.1-1.1z"/>
+  <path fill="#04534e" d="M282.2 276.4c0-.5.4-.4.8-.4s.9 0 .9.5-.5 1.2-1 1.2c-.3 0-.7-.8-.7-1.3zm2.3 1.4c0-.4.3-.6.8-.6.6 0 1 .6 1 1s-.4.8-.9.8-.9-.7-.9-1.2zm-.8 3.4c0-.5.4-.6.9-.6s.8.2.8.7-.4 1-1 1c-.4 0-.7-.5-.7-1zm-3-1c0-.6.6-.8 1-.8.5 0 .9.5.9 1 0 .6-.4 1.1-.8 1.1-.5 0-1-.7-1-1.3zm-4.7.6a1.1 1.1 0 112.3 0 1.1 1.1 0 01-2.3 0z"/>
+  <path fill="#8cbebf" d="M284.5 277.8c0-.4.5-.6.8-.6.4 0 .6.3.6.7 0 .4-.2.7-.5.7-.4 0-.9-.4-.9-.8zm-.8 3.3c0-.5.5-.7 1-.7.4 0 .8.2.8.7s-.4.8-.9.8-.9-.4-.9-.8zm-3-1c0-.5.9-.7 1.2-.7.3 0 .3.3.3.8s-.3.9-.6.9c-.4 0-.8-.5-.8-1zm1.5-3.7c0-.5.3-.5.6-.5s.5.1.5.6c0 .4-.2.8-.5.8s-.6-.5-.6-1zm-6.2 4c0-.5.5-1 1.1-1 .7 0 1.4.2 1.4.7 0 .6-.8 1.5-1.5 1.5s-1-.7-1-1.2z"/>
+  <path fill="#231f20" d="M278.2 279.5s-.8.1-1.2.5c-.4.4-.5.9-.2 1 .2.1.5-.3.5-.5l.9-1zm3.7-.8s-.7.5-.8 1c0 .6 0 .8.2.8s.3-.6.3-1c-.1-.2.3-.8.3-.8z"/>
+  <path fill="#231f20" d="M282.5 279.5s-.4 0-.8.3c-.3.3-.6.7-.4.7.2 0 .6-.1.6-.3 0-.2.6-.7.6-.7zm.8-4.4l-.5.5c-.2.2-.5.7-.2.9.2 0 .4-.1.6-.5.2-.4.2-.9.2-.9zm2.9 1.8s-.7.1-1 .5c-.2.3-.4.6 0 .6s.3-.1.5-.4c0-.3.5-.7.5-.7zm-.5 3.4s-.1.5-.6.7c-.4.3-.5.5-.7.2-.2-.4 0-.5.3-.6a52.3 52.3 0 011-.3z"/>
+  <path fill="#04534e" d="M290.3 278s.3 1.6-1 2.3c-1.4.8-5.2 3.5-8.8 3.2-3.6-.4-7.7-2.4-7.7-2.4l-.5.3.9.4 2.8 1.1 3.1 1h2l1.7-.1 3.2-1.1 2.7-1.4 1.4-1 .3-.5v-1.6l-.1-.2z"/>
+  <path fill="#231f20" d="M219.9 257.8s.8.7.8 1.3c-.1.6-.3.8-.6.7-.2 0-.2-.7-.2-1v-1zm6.2 5.7s-.3 1-.7 1.1c-.4.1-.7-.3-.7-.5.1-.2.5 0 .7-.2l.6-.4zm-13.4.8s.3.6.8.7c.6.1.8-.3.7-.5h-.6l-1-.2zm2.4 4.7s.5.6 1.1.6a1 1 0 001.1-.6c0-.1-.8-.1-1 .1-.3.2-1.2-.1-1.2-.1zm4.2 3.6s1-.2 1.3-.5c.2-.3.4-.8.2-1-.2-.4-.4.3-.5.6l-1 .9z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".4" d="M226.1 269.7s.7-4.9-3.2-8.3c-4-3.4-6.5-2.6-7.9-1.3-1.3 1.2-2.5 5.4 1.7 9 4.2 3.6 9.3 2.5 9.3 2.5l.1-1.9z"/>
+  <path fill="#0c8489" d="M214 264.6s0-2.7 1.3-3.5a5.5 5.5 0 017.5 2.4c2 4 2 6 1.5 8h-2.2l-3.4-1.4-2.8-2.1-1.8-3.4z"/>
+  <path fill="#04534e" d="M225.6 270.4s-.7.8-2.1.7c-1.5 0-8-1.8-9.7-7.7v1.3l.1.4.5 1.2 1.4 2 1.7 1.5 2.2 1.2 1.6.4 2 .4h1.2l1-1.4z"/>
+  <path fill="#04534e" d="M222.1 268.7c0-.5.3-.5.7-.5.4 0 .8-.2.8.3s-.3 1.3-.7 1.3c-.5 0-.8-.6-.8-1zm.3-3.1c0-.4.3-.7.8-.7s.7.3.7.7c0 .3-.3.6-.7.6s-.8-.3-.8-.6zm-3 3.4c0-.3.4-.5.9-.5.4 0 .8.2.8.5s-.8.7-1.3.7-.4-.4-.4-.7zm-.3-3.7c0-.4.3-.3.7-.3.4 0 .9.1.9.6s-.5 1.1-1 1.1c-.3 0-.6-.9-.6-1.4zm-2.7.7c0-.4.2-1 .7-1s1 .6 1 1c0 .3-.4.7-.9.7s-.9-.4-.9-.7zm.5-3.3c0-.4.2-.4.7-.4s1 .2 1 .6c0 .4-.6 1-1.1 1-.6 0-.6-.8-.6-1.2zm3-.3c0-.4.3-.3.8-.3s.8.3.8.7c0 .4-.6.8-1 .8-.5 0-.6-.8-.6-1.2z"/>
+  <path fill="#8cbebf" d="M216.9 262.6c0-.3.2-.5.6-.5s.7 0 .7.5c0 .4-.3.7-.7.7-.3 0-.7-.3-.6-.7zm-.6 3.2c0-.4.2-.8.6-.8.4 0 .7 0 .7.5s-.3.8-.7.8c-.4 0-.6 0-.6-.5zm3.5-3.4c0-.3.3-.3.7-.3.4 0 .7 0 .7.4 0 .3-.4.5-.7.5-.4 0-.6-.3-.6-.6zm-.6 3.1c0 .4.3.8.7.8.4 0 .8-.4.8-.8s-.5-.8-.8-.8c-.5 0-.7.4-.7.8zm3.3-.5c0 .4.4.8.8.8s.8-.4.8-.8c0-.3-.4-.7-.8-.7s-.8.4-.8.7zm-3.2 4c0-.3.3-.7.7-.7.4 0 .7.2.7.6 0 .3-.6.8-1 .8-.3 0-.4-.4-.4-.7zm2.9-.5c0-.4.3-.5.7-.5s.7 0 .7.5-.4.8-.8.8c-.5 0-.7-.4-.7-.8z"/>
+  <path fill="#231f20" d="M223 263.6s.4.5.5 1l-.1.9c-.2 0-.4-.3-.5-.7v-1.3zm-2.6-2.7s.3.4.3.8 0 .8-.3.8c-.2 0-.2-.4-.2-.7l.2-1zm-3 .4s.3.4.3.8 0 .8-.2.8-.2-.4-.2-.7l.1-1z"/>
+  <path fill="#231f20" d="M216.4 261.8l.7.4c.4.3.5.6.4.7-.2.2-.5 0-.5-.2l-.6-.9zm2.3 3.1s.5 0 .9.3c.3.3.5.6.3.8-.1.2-.6-.2-.8-.4a6.7 6.7 0 01-.4-.7zm-2.8 0l.8.2c.3.2.3.6.2.7-.1 0-.3 0-.5-.3l-.5-.7zm6.7 2l.1 1c0 .5.1 1-.1 1s-.3-.6-.3-1l.3-1z"/>
+  <path fill="#231f20" d="M221.8 268l.7.3c.2.2.2.5 0 .5l-.3-.4-.4-.5zm-3 .1l.8.2c.2.2.2.8.2 1 0 0-.4 0-.5-.4a6.2 6.2 0 00-.4-.8z"/>
+  <path fill="#04534e" d="M217.7 259s-2.6.6-3 2.3c-.6 1.7-.6 3.6-.6 3.6l-.4-2.2.6-1.3.7-1.3 1.2-.7 1-.4h.5zm8.2 10s.2-.6-.5-2.6c-.8-2.1-2.4-4.8-2.4-4.8l1.2 1.4 1 1.6.5 1.4.4 1.3v1.3l-.2.5z"/>
+  <path fill="#231f20" d="M228.5 265.7s1 .6 1 1v.5c-.3 0-.7-.3-.8-.5l-.2-1zm-3.8 10.3s.4-.8 1-1c.6-.4 1-.3 1.1-.2.2.2-.3.7-.7.8l-1.4.4zm6.4 2.5s.7-.3 1-.8c.5-.4.5-.7.4-.9-.2-.1-.7.1-1 .5l-.4 1.2zm-.7-.6s.2-.8.5-1.1c.2-.3.5-.4.7-.3.3.2.1.5 0 .7l-1.2.7z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".4" d="M241.2 273s-4-5.8-10.3-6.1c-5-.3-6.5 4.2-6.3 5.5.1 1.4 2 4.3 8.7 4.7 6.6.5 7.7-3 8-3.3.2-.1-.1-.8-.1-.8z"/>
+  <path fill="#0c8489" d="M236.5 269s1.6 1.3 2.3 2.3.9 1.7.5 1.8c-.4.2-4-3.2-7-3.9-3-.7-5.5 0-6.1 1.4-.6 1.4-.4 3.5 1 4.4 1.3.9 7.7 2 7.7 2l3-.5 1.8-1 .4-1 .4-1.4.2-.5-1.5-1.7-2.7-1.9z"/>
+  <path fill="#04534e" d="M231.4 269.8c0 .4-.4.6-.8.6s-.7-.2-.7-.6c0-.4.3-.7.7-.7.4 0 .8.3.8.7zm-3.7 1.3c0-.3.4-.3.9-.3s.7.3.7.6c0 .4-.7 1-1 .8-.5-.3-.6-.7-.6-1zm4 2.2c0-.5.3-.9.8-.9s1 .4 1 .9-.7 1-1.2 1-.7-.5-.7-1z"/>
+  <path fill="#8cbebf" d="M228.7 274.2c0-.4.4-.5.8-.5.3 0 .8.4.8.8s-.5.7-.8.7c-.4 0-.8-.6-.8-1z"/>
+  <path fill="#04534e" d="M234 275.6c0-.3.2-.6.5-.6.4 0 .8.2.8.5s-.3.7-.7.7a.6.6 0 01-.6-.6zm2.4-1.8c0-.4.2-.4.6-.4.5 0 .9.3.9.7 0 .4-.5.6-1 .6-.4 0-.5-.5-.5-1z"/>
+  <path fill="#8cbebf" d="M231.1 269.5c0 .3-.1.5-.4.5-.4 0-.8-.2-.8-.5 0-.4.2-.5.5-.5s.7.1.7.5zm-1.9 1.5c0 .4-.5.6-.9.6s-.5-.2-.5-.6c0-.3.2-.4.6-.4.3 0 .8 0 .8.4zm.9 3.1c0 .3-.1.6-.5.6s-.9-.3-.9-.6.2-.5.5-.5c.4 0 .9.2.9.5zm3.1-1c0 .3-.6.7-1 .7s-.5-.6-.5-1c0-.3.3-.6.7-.6.3 0 .8.5.8.9zm4.7 1c0 .3-.6.3-1 .3-.2 0-.5-.4-.5-.8 0-.3 0-.6.9-.5.3 0 .6.6.6 1zm-2.8 1.3c0 .4-.2.7-.6.7a.6.6 0 01-.6-.6c0-.4.3-.5.6-.5.4 0 .6.1.6.5z"/>
+  <path fill="#231f20" d="M235.6 273.5s.6-.2 1-.1c.6 0 .6.2.6.3l-.6.2-1-.4zm-2.7 2.3l.9-.4c.4 0 .7 0 .6.3 0 .3-.1.3-.5.3l-1-.2zm-1.8-4s1.1.5 1.4 1c.2.4.3.5 0 .6-.2.2-.4-.1-.6-.3a43.8 43.8 0 01-.8-1.3z"/>
+  <path fill="#231f20" d="M230.8 273.3l1.3-.3c.4 0 .5 0 .5.2s0 .3-.4.3l-1.4-.3zm-2.7 0s1 .1 1.2.4c.2.2.2.4.1.6-.1.1-.5 0-.7-.1s-.6-.9-.6-.9z"/>
+  <path fill="#231f20" d="M228 274.6s.3-.5.7-.6c.3-.1.7 0 .8 0 0 .3-.3.5-.6.6h-1zm-.7-4l.9.2c.3.3.4.5.3.6h-.7c-.4-.3-.6-.8-.6-.8zm2-2.4s1 .3 1.2.7c.3.4.3.7.2.8l-.8-.4-.6-1.1z"/>
+  <path fill="#04534e" d="M240 275s-1.9 1.6-6.2 1.5c-4.3-.2-8.3-2-9.2-4l.4 1 1 1.2 3 1.6 3.4.7 2.7.2 2.5-.4 2-1 .3-.5.2-.3zm.6-2l-1.7-2a62.5 62.5 0 00-5-3.4l3.2 1.4 2.1 1.8 1.5 1.6v.5z"/>
+  <path fill="#231f20" d="M240.8 269s1.1.5 1.3.8l.4.5s-.3.7-.5.4l-.6-.7a7.7 7.7 0 01-.6-1zm3.3-1.7s1 .5 1.3 1c.4.5.3.9.2 1-.2 0-.9-.6-1-.8 0-.3-.5-1.2-.5-1.2z"/>
+  <path fill="#231f20" d="M245 267.1s1 .7 1.2 1c.2.4.5.8.2 1-.3 0-.8-.5-1-.8l-.3-1.2zm5.6 1.3s.7.3.8 1v1l-.6-.6v-.5l-.2-.9zm1.4.5s.6.6.7 1c0 .4.1.7-.2.7-.3.1-.5-.3-.5-.6v-1zm-9.8 12s.5.2.9 0c.5-.1.8-.5.7-.8 0-.2-.3-.5-.6-.1-.3.3-.2.5-.4.6l-.6.3zm5.4 1.5s.7-.1 1.2-.7c.5-.5.7-.9.4-1-.3-.1-.8 0-.9.4a4.5 4.5 0 01-.7 1.3zm4.4.1l1-.7c.4-.4.7-.6.4-1-.3-.2-.5 0-.7.1l-.1.6a7.1 7.1 0 01-.6 1z"/>
+  <path fill="#231f20" d="M253.4 282.5s.6-.7.7-1.1c.1-.4.2-.9 0-.8-.3 0-.6.4-.7.6a68.3 68.3 0 000 1.3z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".4" d="M239.9 275.3c0-2 2.8-6.5 6-6.4 1.3 0 4 .7 6 1.7 1.8.8 2.4 1.6 3.5 2 1.2.2 3 0 3 0l4-.5-3.2 4.6-1 1s-1 2-4 3c-2.7 1.1-7.5.3-9.7-.2-2.1-.5-4.7-2.6-4.6-5.2z"/>
+  <path fill="#04534e" d="M239.9 275.3h.2c0-.4.2-1 .5-1.7a9.8 9.8 0 012.1-3c1-.9 2-1.5 3.1-1.5a24.3 24.3 0 016 1.6 7 7 0 012 1.2 4.6 4.6 0 003.2 1l1.4-.1 3.5-.4-2.8 4.2-1.2 1a7.2 7.2 0 01-3.7 3c-1 .3-2.2.5-3.5.5-2.3 0-4.8-.5-6.1-.8a6.7 6.7 0 01-3-1.7 4.5 4.5 0 01-1.5-3.2v-.1h-.4a5 5 0 001.6 3.6 7.2 7.2 0 003.2 1.8c1.4.3 3.8.8 6.2.8a11 11 0 003.7-.6c2.9-1.1 3.9-3 3.9-3.1l-.2-.1.1.2 1.2-1 3.4-5-4.5.5H257a6.7 6.7 0 01-1.5-.1c-.6-.1-1-.4-1.5-.7-.5-.4-1-.8-2-1.2a23.2 23.2 0 00-3.3-1.2c-1.1-.3-2.1-.5-2.8-.5-1 0-1.7.3-2.5.8a9 9 0 00-2.6 2.8 6.7 6.7 0 00-1.1 3h.2z"/>
+  <path fill="#0c8489" d="M259.2 275.9c-.4.3-.7.3-1.1.3-.5 0-9.3-5.4-12-5.2-2.8.2-5.4 1.4-5.5 4.2 0 2.9.6 2.9 1.2 3.7s6 2 6 2h3.2l2.7-.4 2.3-1.3 1.3-1 .9-1 1-1.3z"/>
+  <path fill="#04534e" d="M245.2 274.5c0 .5-.2 1-.8 1-.5 0-.9-.3-.9-.9 0-.5.3-.7.8-.7s.9 0 .9.6zm1-2.5c0-.4.4-.6.9-.6s.9.1.9.6-.4.8-1 .8-.9-.3-.9-.8zm5.2 1.5c0-.4.4-.8.8-.8s.8.4.8.8-.4.7-.8.7a.7.7 0 01-.8-.7zm1 3.2c0-.5.4-1 1-1 .4 0 .8.3.8.8s-.2 1-.6 1c-.5 0-1.1-.3-1.1-.8zm-2.5 2c0-.4.4-.7.9-.7s.8.3.8.8c0 .4-.3.7-.8.7-.4 0-.9-.3-.9-.7zm-4.9-.8c0-.4.4-.7.8-.7a.8.8 0 110 1.5.8.8 0 01-.8-.8z"/>
+  <path fill="#8cbebf" d="M245.2 274.4c0 .4-.4.8-.9.8a.8.8 0 01-.8-.8c0-.5.4-.6.8-.6.5 0 .9.1.9.5zm2.5-2.5c0 .4-.1.7-.5.7-.5 0-1-.3-1-.8 0-.4.3-.7.7-.7.5 0 .8.3.8.8zm5.2 1.3c0 .4-.4.7-.8.7s-.7-.3-.7-.7c0-.3.3-.6.7-.6s.8.3.8.6z"/>
+  <path fill="#04534e" d="M250.1 275.4c0 .6-.2 1-.7 1s-1-.3-1-.9c0-.5.3-.7.9-.7s.8 0 .8.6z"/>
+  <path fill="#8cbebf" d="M246.4 277.8c0 .4-.3.7-.8.7a.8.8 0 01-.8-.7c0-.5.5-.7 1-.7.4 0 .6.2.6.6zm3.6-2.5a.8.8 0 01-.8.8.8.8 0 01-.8-.8.8.8 0 01.8-.8.8.8 0 01.8.8zm4.2 1c0 .6-.3 1-.8 1a.9.9 0 01-1-1c0-.4.2-.6.7-.6s1 .2 1 .7zm-2.7 2.3c0 .4-.3.7-.8.7s-.9-.3-.9-.7c0-.5.4-.7.9-.7.4 0 .8.3.8.7z"/>
+  <path fill="#231f20" d="M251.8 276s1.3-.2 1.6 0c.2.3.2.6 0 .8l-.7-.1-.9-.7zm-1.3-4.3s1 .3 1.4.7c.4.4.4.8.3.9 0 0-.5.2-.7-.2l-1-1.4zm-3 2s1.2.7 1.4 1c.3.4.4.7.2.9 0 .1-.7 0-.8-.3a78 78 0 00-.8-1.6z"/>
+  <path fill="#231f20" d="M247 274.6s1.3.2 1.6.5c.4.2.6.2.6.4s-.2.4-.4.4l-1-.4c0-.2-.8-.8-.8-.8zm-1.6-3.8s1.4.2 1.7.4c.3.2.3.8 0 1-.3.2-.6-.2-.8-.4 0-.3-.9-1-.9-1zm-2.9 2s1.3.6 1.7 1.2c.2.3.4.5 0 .6-.4.2-.8-.5-.8-.6a7 7 0 00-.9-1.2z"/>
+  <path fill="#231f20" d="M242.3 274.4l1.1-.1c.4 0 1-.2 1 .1 0 .3-.5.4-.8.3l-1.3-.3zm6.8 4.5s1-.6 1.3-.5c.5.1.6 0 .6.3s-.5.2-.6.2a48.8 48.8 0 01-1.2 0zm-4.8-.7s.4-.5.7-.6l.6.1c0 .2-.3.5-.5.5h-.8z"/>
+  <path fill="#04534e" d="M258 277.3s-1.2 1.6-3 2.4c-2 .8-3.3 1-5.9.9a12 12 0 01-5.6-1.5 9 9 0 01-3.3-2.7c-.3-.6.3 1 .3 1l1.5 2 2 .8 2.7.7 2.6.3h2l2.4-.4 1.6-.5 1-.7.8-.6 1-1.7zm-2.4-4.7s-.7.2-2.3-.7c-1.6-1-3.5-2.3-7-2.3-3.6 0-4.8 2.4-5 2.6l1.6-2.1 1.6-1 1.3-.1h1.2l1.6.5 1.4.4 1.7.6 1.5.8 1.7.9.7.4zm4.8 1h-2.7c-.6.1-.6.2-.7.4a3.1 3.1 0 01-.2.4l-.7-1.4 2.9-.4 1.6.6-.2.5z"/>
+  <path fill="#0c8489" stroke="#04534e" stroke-width=".4" d="M256.6 288.3c.1.4.4.8.8.8h1.4l2.8-.2 1-1.1.6-2.6.8-1 2.6-1.5 2.3-.6 1.5-.2 2-.7 1.5-.7.6-1 .7-1.5-.7-2-1.6-2-2.6-1.1H268l-2.5.9-4.3 1s-2.5 1-3.5 3c-1 1.8-1 2.3-1.1 4.8-.2 2.5 0 5.7 0 5.7z"/>
+  <path fill="#8cbebf" d="M257.7 287.4c.9 0 .2-1.4 1.2-3 1-1.7 2-3.7 2.4-3.7.3 0 .3.3.7.2.3-.1 1-.7 1-.8 0-.2 0-1 .7-1.7.7-.6 1.8-1.4 2.2-1.5.5-.1.7-.2.8 0 .1.2-.2.5.1.7.3 0 1 0 1.3-.5.2-.5.1-.7.1-.7s.5-.5 1.5-.3 1 .2 1.1.5c.1.4-.4.4-.3.7.1.3 0 .2 0 .4.1.2.3.8 1 .8.6 0 .8-.4.8-.4l.2-.3s.2-.4 0-.6c-.3-.2-.2-.4 0-.2.3 0 1.2 1.4 1.6.9.3-.6.3-1.4.2-1.6l-1.6-2.2-2.4-.9-3.2.3-3.2 1.8-2.9 1.5s-.1 2.4-.6 2c-.6-.5-1.3-1.6-1.5-1.3l-1 3c-.3.9-1.2 3.5-1 4.5 0 1 .5 2.4.8 2.4z"/>
+  <path fill="#8cbebf" d="M260.6 283.6l-.6.3a.8.8 0 00-.2.8c.1.3.6.6.6.6h.4l.7-.2s.3-.3.3-.7c0-.4-.2-.5-.3-.5l-.9-.3zm5-4.1c-.5-.2-.7.1-.7.2v.5s0 .6.3.7c.2.1.8.3 1 .1.2-.2.4-.3.4-.7 0-.4-.6-.6-.6-.6l-.4-.2zm4 1c0-.2-.4-.3-.7-.3-.3 0-.6.4-.5.9.1.5.6.5 1 .4.4 0 .3-.6.3-.7l-.1-.4zm-11.6.7c0 .3.5.7 1 .7a1 1 0 001-.8c0-.3-.3.3-.7.4-.4 0-.7.2-.9 0l-.3-.3z"/>
+  <path fill="#04534e" d="M261.8 284.4s0 .5-.3.8l-.8.2c-.2 0-.5 0-.6-.2l-.3-.6s.4.7 1 .5c.7-.1 1-.7 1-.7zm10.7-6.6s0 .5-.4.7c-.4.2-.6.3-.8.2-.2 0-.5 0-.6-.3-.5-.7-.2-1.2-.2-1.2s.3 1.3 1 1.2c.7-.1 1-.6 1-.6zM263 280s-.4 1-1 1c-.7 0-.6-.1-.6-.3 0 0 .3.2.6 0 .3 0 1-.6 1-.6zm1.8-.1s0 .7.2 1c.2.2.5.3.8.3s.5 0 .7-.3c.2-.3 0-.6 0-.6l-.1.3a.7.7 0 01-.6.3c-.2 0-.6 0-.7-.3l-.3-.7zm3.4-3.5s.2.5-.2 1c-.4.4-1.2.2-1.2.2s.6.1 1-.2c.3-.4.4-1 .4-1z"/>
+  <path fill="#04534e" d="M257.4 288.9s4.2 0 4.5-.7c.4-.5-.3-2.8 2.2-4.6 2.5-1.8 4.5-1.8 5.9-1.9 1.3 0 4.2-1 4.8-3.6.3-1.6-1.9-1.7-2.7-3.2-.8-1.5-2.9-.9-3-.9 0 0-2.4 0-3.5 1-.6.7-.5 1.5-.9 1.8-.2.4-3 0-3.3.5-.3.4 0 1.4-.2 1.6-.2.2-.8-.6-.8-.6l.2-2.3 3.5-2 4-2.3h2.8l2.8 1.5 1.4 1.6s.3.6.4 1.8a4.3 4.3 0 01-.1 1.6 6 6 0 01-5.4 4c-2.4.1-4.6 1.2-5.6 2-1.1.8-1.7 4.3-1.7 4.7 0 .5-5.2.2-5.2.2l-.1-.2z"/>
+  <path fill="#231f20" d="M259.1 280.7c-.2.2-.5.1-.6-.1-.2-.7.3-1.7.3-1.7v1.2c.1.2.3.2.4.3v.3zm2.7-.6c-.2 0-.2-.7 0-1l1.3-1.1-.5 1.2c-.1.3-.5 1-.8 1zm-1 4.3c-.2 0-.3-.3-.3-.8s.8-1.3.8-1.3l-.2 1v.7c0 .3-.2.4-.3.4z"/>
+  <path fill="#231f20" d="M262.7 283.2l-.8.7c-.4.2-.9.6-1.1.5-.3 0 .1-.6.3-.7l1.6-.5zm3.6-5.1l-.7 1c-.2.5-.3 1 0 1 .2.2.5-.6.5-.8l.2-1.2z"/>
+  <path fill="#231f20" d="M267.6 279.9s-.3-.3-.9-.5c-.6-.1-.9 0-1 .2 0 .2-.4.4-.2.6l.7-.3c.1 0 .4-.2.7-.1h.8zm-.7-3.5c.2.1.5-.2.8-.5l.5-1-.8.5c-.3.2-.6.8-.5 1zm5.5-.2l-1 .7c-.2.3-.5.6-.3.8.3.2.5-.2.7-.4l.6-1zm-1.6 3.7s-.2.5-.7.8c-.4.3-1 .4-1 .3-.2-.2 0-.5.2-.6l.7-.2c.4 0 .8-.3.8-.3z"/>
+  <ellipse cx="272.7" cy="229.2" fill="url(#b)" rx="2.3" ry="3.4" transform="rotate(8.7)"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M236.3 261.5l-1.4 3.5 1.1-.2.7-3z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M237 260c-.6 0-1 .4-1 1-.1.4.2.9.7 1 .5 0 1-.3 1-.9 0-.5-.3-1-.8-1zm58.8 8.6l-3.4 3.2 1.4.3 2.3-3z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M297.3 267.3c-.6-.3-1.3 0-1.7.5a1 1 0 00.4 1.5c.5.3 1.3 0 1.6-.5a1 1 0 00-.4-1.5zm-87.1-16.9l1.8 3.9.8-1-2-3z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M209.5 248.7a1.1 1.1 0 00-.1 1.5c.4.5 1 .6 1.5.2a1.1 1.1 0 00.1-1.5 1 1 0 00-1.5-.2z"/>
+  <path fill="#aa8c30" d="M237.3 260.2s.2.2 0 0c-.4 0-1.2.3-1.2.9 0 .5.4.8.8.8h-.6l-.2-.4-.2-.4.1-.5.3-.4.4-.1h.3l.3.1z"/>
+  <path fill="#aa8c30" d="M236.5 262.5s-.2 0-.4.3l-.6.8.7-1.9.5.2-.2.6zm61 5.1s.3.3 0 0-1.4-.2-1.7.4c-.2.6 0 1.1.5 1.3.5.2-.2 0-.2 0l-.5-.4-.1-.4v-.6l.4-.4.6-.3h.5l.3.2.3.2z"/>
+  <path fill="#aa8c30" d="M295.5 269.8h-.6l-1.2.7 1.9-1.7.4.5-.5.5zm-85.6-21.3s.3-.1 0 0c-.3.3-.6 1.2-.2 1.6a1 1 0 001.3 0c.4-.3 0 .2 0 .2l-.6.3h-.4l-.5-.2-.3-.5v-.6l.1-.5.3-.2.3-.1z"/>
+  <path fill="#aa8c30" d="M211.2 251s-.2.2-.1.6l.2 1.2-1-2.2.5-.2.4.6z"/>
+  <ellipse cx="327.1" cy="-73.3" fill="url(#c)" rx="3.7" ry="2.5" transform="rotate(62.9)"/>
+  <path fill="#e92736" d="M210 257s.8.2 1.2 0c.5-.3.5-.6.6-.7l.2-.7a3 3 0 00-.8-1.2h-.8c-.1-.2 0-.4-.2-.5-.2 0-1.3 1.3-1.1 1.5.2.2.3-.1.4 0v1l.6.6z"/>
+  <path fill="#e92736" d="M211.2 254.5c0 .2.5.8.7.8h.9c.1 0 .7-.5.7-.8l-.1-.6c-.1-.2 0-.8-.3-.9-.2 0-.2 0-.3-.2-.2 0 0-.3-.2-.5-.1-.3-2 .8-1.8 1 .1.2.3 0 .4.2v1z"/>
+  <path fill="#e92736" d="M215.4 254l-.1-1.4c-.2-.1-.5-.1-.6-.3 0-.1.3-.2.3-.4s-2 .1-2 .3c.2.3.5.1.5.3l-.4.5.2.9c.1.1 0 .3.2.4l.5.1h1.1c.1-.1.2 0 .3-.4zm17.5 10.3s.3.6.7.7h.7c.1 0 .5-.1.6-.3l.3-1.1-.5-.6c0-.2.3-.2.2-.4s-1.6 0-1.6.2.2.1.2.3l-.6.5v.7z"/>
+  <path fill="#e92736" d="M235 263.6v1l.5.5h.9a1 1 0 00.3-.5c.1-.2.5-.5.4-.6l-.1-.4c0-.1.3-.2.3-.4s-1.7-.8-1.7-.6c-.1.3.2.2.1.4 0 0-.6.4-.6.6z"/>
+  <path fill="#e92736" d="M237.8 266c.2-.1.8-.7.8-1l-.1-.4.4-.1c0-.1-1.3-1.3-1.3-1-.1.2.2.3 0 .4h-.4l-.5.7c0 .1-.2.1-.1.3l.1.4.7.7h.4zm52.9 4.4s0 .6.3 1l.6.3h.6c.2 0 .7-.7.7-.9v-.7c0-.1.2 0 .2-.2s-1.3-.9-1.4-.6v.3l-.7.2-.3.6z"/>
+  <path fill="#e92736" d="M292.7 270.8l-.5.6v.7l.9.4a1 1 0 00.4-.2c.2 0 .7-.1.7-.3v-.3c.1-.1.3 0 .5-.2.1-.1-1-1.3-1.1-1.2-.2.2 0 .3 0 .3l-.9.2z"/>
+  <path fill="#e92736" d="M293.2 273.8h1l.3-.4.3.1c.2 0 0-1.5-.1-1.4-.2 0-.1.3-.2.3-.2 0-.3-.2-.4-.3l-.7.1c-.2.1-.3 0-.4.2l-.1.3v.9l.3.2z"/>
+  <path fill="#f7e204" d="M211.3 255.3c.2.2 0 .8-.2 1-.1.2-1 0-1-.2v-.7c.1-.1.4-.5.7-.5.2 0 .5.3.5.4zm.3-1.2c-.1.3 0 .5.2.6 0 .2.7.3 1 .2 0 0 .4-1.1.2-1.3 0-.1-.4-.2-.6-.1a3 3 0 00-.8.6zm2.2-1v.6s.5.4.8.4c.2 0 .3-.8.3-1s0-.1-.2-.2l-1 .2zm20.9 11c0 .3-.6.5-.8.5-.2 0-.5-.7-.4-.8 0-.1.2-.3.4-.3h.7v.6zm.8-.5c-.2 0-.2.3-.2.5 0 .1.2.6.4.7.2 0 1-.4 1-.6l-.3-.4-.9-.2zm2 .8c-.2 0-.4.3-.4.4 0 0 0 .5.2.7.2.1.7-.2.8-.3v-.3l-.6-.5zm54.8 6.6c-.2.1-.7 0-.8 0-.2 0-.2-.9 0-.9 0 0 .3-.2.4-.1.2 0 .5.2.5.4v.6zm.8 0l-.5.2v.8c.1.1 1 .2 1 0 .2 0 .1-.4.1-.4l-.6-.6zm.9 1.6h-.5l-.3.6c0 .2.5.3.6.3.1 0 .2 0 .3-.2l-.1-.7z"/>
+  <ellipse cx="398.3" cy="-31.4" fill="url(#d)" rx="1.8" ry="3.6" transform="rotate(47.9)"/>
+  <path fill="#a8ac71" d="M228.6 223.4s-3 .3-5.2 0c-2-.4-1.6-5.9-1.7-6 0-.2-1.3-1.5-1-2.7.2-1.2 4-4.4 4.6-4.6.4-.1 1.2.2 1.2.2s1-1 1.3-1c.3 0 .7.6.6.8-.2.3-1.5 1-1.6 1.7-.1.6 0 1.2-.4 1.8-.4.6-1.1 1.4-1.2 1.9-.1.5-.3 1 0 1.1.4.2 1.7 0 2.8-.5 1.1-.5 1.6-1.1 1.7-1 .2 0-.6 1.3-1.8 1.8-1.3.5-2 1.1-2.7 1 0 0-.6 1.6 1.4 1.7 2.1.1 3.3-.4 3.3-.4l-1.3 4.2zm-12 12.8s1.7.6 1.7 2.4c0 1.8-1.8 3.3-1.7 6.5 0 3.2.5 3.2 4.7 6.6.1 0 1 1 1.2 2 .3 1 1 7 5 7s4.6-2.5 4.6-2.5l-1.7-2.5s-1.4.4-2.2.2a2.8 2.8 0 01-1.8-1.7c-.5-1-.6-3.3-1.3-4.3-1.7-2.5-4.7-3-4.7-5.6 0-2.7 1.9-3 1.3-6.1s-4.3-4.7-4.3-4.7l-1.5-.6-.5 3.1 1.3.2z"/>
+  <path fill="#f1a720" d="M227.8 214.1c1.3-.3.5-3.8.5-3.8l-.9.7s.6.8.6 1.6-.2 1.5-.2 1.5z"/>
+  <path fill="#a8ac71" d="M230.2 249.2l-.7-.6c-.4-.3-2.6-2-2.2-7 .4-5.8 8.7-8.8 9.2-11.1.7-2.6 2.6-3.7-4.1-8.9l-1.6 1.9 2.8 2s.6-.3.6.5c0 .7-.7 1.4-1 2 0 .5-4.2 3.4-4.5 3.7l-2.4 2s-1.1 1-2.1 3.2-.5 5-.5 5 0 6.2 6.5 7.3z"/>
+  <path fill="#78732e" d="M226.2 252.4l.4 2.2-1.3.5h-.6l-.4.1-1 1h-.3l-.2-.7a16.7 16.7 0 00-.1-1.1l1.2.5h.5l.3-.1.5-1.2 1-1.2zm-4 .4l-.5-.8-.8-.7 1-.5h1l-.2 1.2-.4.8zm2.3-3.5s.6.3.8.8l.5 1-1.6-.1-1.1-.4.7-1 .7-.3zm-.6 9.6s-.3-.2-.5-.7l-.3-1.3 1-.2 1.2.5h.3l-.3.6-1.1 1h-.3zm4-3.3s-.8-.3-1-.7c-.1-.5-.2-.4-.2-.4l-.3 1.2-.4 1.2.1.2 1-.3.6-.7.3-.5zm-3.7 3.8l1 .6c.7.4 1 .4 1 .4l.6-.5.4-1 .1-.1-2.5.2-.6.4zm3.5-1l2.1-1.2.1-1.1-.4-.3h-1.2l-.3 1.4-.3 1.3zm-1.5 2s1.5.7 4-.2c1.2-.5 1.4-1 1.4-1l-1-.4-1 .8-3.4.8zm-2-16.2l-.3-1-.1-1 .7.4 1.1.8-.7.6-.7.2zm1.8 3l-.7-.8a9.7 9.7 0 01-.5-1l.8.2.9.5-.4 1.1h-.1z"/>
+  <path fill="#c6c7a6" d="M221.3 213.7c-.2.5-.4 1.4.3 1.6.4 0 2 0 3.7-2 .8-1 .8-2 .8-2l.4-1s-.7-.5-1.8.2a33 33 0 00-3.4 3.2z"/>
+  <circle cx="226" cy="210.9" r=".3" fill="#1c242f"/>
+  <path fill="#a8ac71" d="M223.8 211.2c-.8.6-1.4 1.3-1.4 1.3s1.1-.3 2-1.1a2.8 2.8 0 012.2-.6c.2 0 .1-.3 0-.4-.3-.2-1.1-.3-1.3-.2 0 0-.8.4-1.5 1z"/>
+  <path fill="#78732e" d="M227.3 243.6v-1.8l-.7.6-.7 1 1 .3.4-.1zm-3.6-2v-1.9c0-.9.4-2.5.4-2.5l.4 1.1 1.3 2 .4.3-1 .7-1.2.4-.3-.1zm3.6-.6l.2-.8.4-1-1.1 1-.5.4.6.5h.5m-3-4.7s.2-.6.7-1.3l1.1-1.5.5 2 .3 1.6v.3l-.5.2c-.1 0-1.3 0-1.5-.3l-.6-1zm3.8 2.2l.7-.7.8-.8-2.6.5.4.8.7.2zm-1.5-5.3l.9-.8c.7-.7 1-.6 1-.6l.3 2.8-1.3-.4-1-1z"/>
+  <path fill="#78732e" d="M229.8 237l1.6-1.6-2.6-.8.5 1.8zm1.1-4.2l.2-2.7-1.2.8-1 .8.3.4 1 .6h.7zm2.3-2.6v-2l-.9.9a4.5 4.5 0 00-.6.6l.7.4.8.1zm1 2.8l1.2-1a5.2 5.2 0 001.2-1.3l-3.3-.3.1 1.4.8 1.2zm-7.8-11v1.5h2.7l-.7-1-.8-.5-.8-.8zm5.4 13l1.2-1 1-.8-2.7-.3.1 1.8.4.3zm5-4.8s.3-1 .3-2a5.2 5.2 0 00-.2-1.5l-2 1.3.3 1 .8.9.8.3z"/>
+  <path fill="#78732e" d="M233.4 227.8s.6-.7.7-1.1v-.3h1.6l.9.1.1.1-.7.8-1 .6-1.2.1-.4-.3zm3.2-1.5l-1-1.7-.6-.8-.8 2.2v.3h2.4z"/>
+  <path fill="#fff" d="M217.3 241.8l-.3.6s1-.6 1.9-.5c.8 0 1.7 1 1.7 1l.2-.7s-1.1-1-1.8-1.1c-.7 0-1.7.7-1.7.7zm.5-4.7l.3.3c0 .1 0-.7 1.1-1.2 1-.4 1.7 0 1.7 0s-.2-.7-.7-.8c-.5-.1-1 0-1.5.4-.6.4-.9 1.3-.9 1.3zm3.6 3.5s-.5-1-1.4-1.3c-.8-.2-1.9.5-1.9.5l-.2.5s1.2-.6 2-.3c.9.4 1.3 1.4 1.3 1.4l.2-.8zm-4-4l.3.3s-.2-1 .4-1.7l.9-.8-.5-.2s-.7.5-1 1c-.2.5-.2 1.1-.1 1.3zm-.5-2c.3-.5 1-.7 1-.7l-.3-.2h-.3s-.4.2-.7.8c-.3.7-.3 1.6-.3 1.6l.5.2s-.1-1 .1-1.6zm6.3-15.2c.7-.4 1.2-.3 1.2-.3s-1 1-.5 2.3c-.6 1-.8 1.9-.8 1.9h.6l.3-1.5a5 5 0 001.5 1.7h.8s0-1 .5-2a4 4 0 001.6 1.2v-.3s-.9-.5-1.4-1.2v-.1c.6-1 1.4-1.3 1.4-1.3l.6.4.1-.1-.4-.6h-.5l-1.4 1.4a7.3 7.3 0 01-.6-1.3h-.4s-.8 0-1.6 1.3c-.1-1 1-2 1-2l-.1-.3-2 .4c-.7.3-1.2 1-1.2 1v.6s.7-.8 1.3-1.2zm1.2 1.7c.5-.7 1.5-1.2 1.5-1.2s0 .6.7 1.3c-.4.8-.6 1.9-.6 1.9s-.9-.6-1.6-1.6a1.3 1.3 0 01-.1-.3 2 2 0 010-.1zm-6 16.9v.6s.6-.7 1.5-.7c1 0 1.8.7 1.8.7v-.9c-.2 0-1-.5-1.7-.5-.8 0-1.7.8-1.7.8zm17-9a8.1 8.1 0 01-.3-.8l.4-.2a10 10 0 001.4-1.3l-.3-.4h-1.3l-1.1-.1.4-1.4.4-1.1-.4-.4s.1.4-.7.5a7 7 0 01-2.2-.7v.4l2 .5 1-.2a6.9 6.9 0 00-.5 1l-.2.8.2.1-.1.7 1.1.1 1.4.1s-.7.8-1.4 1.1a1.8 1.8 0 01-.3.1l-.8-1.2v.4l.5 1-1.2-.2-.3.3v2l-1.4-.4-.3.2-.3.2s-.3 1.2-.3 2.6c-1.2-.3-1.9-1-1.9-1l-.3.2s-.2 1.2.1 2.6a4.7 4.7 0 01-2-1.2l-.4.4.4 3.5.1.3a4 4 0 01-.6 0c-1 0-1.8-1.1-1.8-1.1l-.3.8s.4 2.2 1.6 3.2l.3.2c-1 .8-2.3 1-2.3 1l.1.6a35.8 35.8 0 001.7 1.3c-.6.5-1.3.7-1.3.7l.2.4 1.4-1a7 7 0 001.5.4v-.4l-1.2-.2v-.1c.5-.4 1.2-1.5 1.2-1.5v-.8s-.4 0-.9-.4c1.5-1 1.5-1.5 1.5-1.5l.3-.5s-.5-.2-.9-1a9 9 0 002.4-.5l.2-.2s-.6-.9-.9-2l2.4.5.4-.4s-.3-.9-.4-2l2.5.3.3-.3s-.8-1.5-.8-2.3v-.1h3.2l.2-.4s-1-.7-1.4-1.2zm-8.4 12.4s-.3.8-1 1.6l-.3.2a3.7 3.7 0 01-.4-.2c-.8-.5-1-1-1-1l2-1.3.7.7zm.7-2.5l-1.5 1.5a3.3 3.3 0 01-.3-.4c-.7-.9-1.6-1.6-1.5-3 0 0 .5 1 1.7.9l.8-.2c.3.8.8 1.2.8 1.2zm1.6-2l-2 .5a4.2 4.2 0 01-.2-.3c-.4-1.3-.4-3.2-.4-3.2s.9.6 2 .9l.6 2zm-.3-2.4c-.2-1.1 0-2.3 0-2.3s.7.6 1.9.8c0 1.1.2 1.7.2 1.7l-2.1-.2zm4.6-1.8s-.7.3-2.2.1a18.4 18.4 0 010-2.8c.2 0 1 .4 1.8.5v.1a8 8 0 00.4 2.1zm0-2.5h-.2v-2.1s.8.2 1.4.1c.1.4 0 .5.4 1 .3.6.9 1 .9 1s-1.9.2-2.6 0zm-6 15l-.2-.5s-.7.5-1 1.1a1.3 1.3 0 01-.2 0l-1.6-.7.2.3 1.5.6-.3 1.2.2.3s0-.8.4-1.4h1l-.2.7a51.4 51.4 0 00-.3 1.2l.3.2h1.7l-.3-.3h-.6a3.2 3.2 0 00-.9 0l.3-1 .2-.6-.2-.6-.9.1.8-.7zm-9.1-1.1a3.4 3.4 0 011.8.7v-.5s-.8-1-1.7-1c-1 0-2 .9-2 .9v1s.9-1.1 1.9-1.1zm10.6 15.5c-1 .5-2.2.5-2.2.5l.7-1.3c2-.5 2.4-1.9 2.4-1.9l-.1-.5s-.5 1.3-2.2 2l.6-2.6-.5-.2s-.8 1-1.6 1.3a6 6 0 00.6-2.2l-.2-.4s-.6.5-1.4.6h-.5c.5-.6 1.4-2.5 1.4-2.5l-.1-.4s-.7 1.7-1.4 2.5l-.3.3a9.7 9.7 0 01-1.7-.8v.3s.7.5 1.5.8l-1 1v.8l2.4.3a5.8 5.8 0 01-1.6 1.7l.3.5s1.1 0 3-.5c-.5 1-1 1.5-1 1.5s1.8.1 3-.5 1.6-1.2 1.6-1.2l-.4-.4s-.2.9-1.3 1.3zm-5.5-3.3l1-1.1c1.2.3 1.6-.1 1.6-.1s.2.7-.5 1.8a6.6 6.6 0 01-2-.6zm1.1 2.5l1-1.3a3.2 3.2 0 00.3-.3c1.2 0 1.9-1 1.9-1s.1 1-.4 2.2c-1.6.6-2.8.4-2.8.4zm-1.5-7.9c1.2.1 2.6.6 2.6.6l-.1-.6-2.3-.4c.4-.9 1.2-1.3 1.2-1.3l-.4-.2s-.4 0-1 1.2l-.2.2a3.4 3.4 0 00-.3 0c-1 0-1.9.6-1.9.6l.2.3s.9-.4 1.8-.4l-.6 2 .2.5.8-2.5zm-2.4-4.9l-.2-.6s-1.3-.4-2.2 0c-1 .5-1.6 1.5-1.6 1.5l.4.8s.6-1.2 1.5-1.5c.8-.3 2.1-.2 2.1-.2zm2.4 1.9l-.8-.4s-1.3.3-1.8.8-.9 1.7-.7 2c.1.4.5.6.5.6s.2-1.3.9-1.9c.6-.6 1.9-1.1 1.9-1.1zm-3-.4c.4-.5 1.4-.7 1.4-.7l-.5-.5s-1.2.2-1.8.7l-1.4 1.7.7.7 1.5-1.9zm4-35.8c.7-.8 1.3-.8 1.5-.8h.6a7.4 7.4 0 00-.7 2c-.2.8-.5 1-.8 1.5-.3.5-.9 1.5-1 2.3 0 .8.2 1.2.5 1.3.2 0 .5-.4.5-.5 0-.3-.2 0-.4 0s0-.3-.2-.8c0-.5.6-1.8.8-2.2.3-.4.8-1 .9-1.6 0-.7.5-2 .5-2 0-.1-.3-.2-1-.2a2 2 0 00-1.5.9c-.4.5-1.4.9-1.4.9s1.1 0 1.7-.8z"/>
+  <path fill="#78732e" d="M228.2 219.6h-2l.5 1.5zm-2.4 0l-.4-.4a1.2 1.2 0 00-.3-.3l-.7.5-.4 1.5.2.2 1.6-1.6zm-.3 4l-1.4-2.2-.8 1.7.4.2 1 .1.8.1zm6 35.7h-.1a7.2 7.2 0 01-3.8 1.2c-.8 0-1.8-.2-2.7-.7a3.1 3.1 0 01-1.2-1.5c-.5-.9-.6-2-.8-3.1a8.8 8.8 0 00-1-3c-.6-1-1.8-1.7-3-2.6a5.9 5.9 0 01-2.2-4.2 6.5 6.5 0 010-.6 9 9 0 01.9-3.6c.4-1 .9-2 .9-2.8v-.4c-.2-.6-.8-1.1-1.2-1.5l-1-.6-.8-.3v.3l.7.2v-.1.1a6.8 6.8 0 011 .7c.5.4.9.8 1 1.3v.3c0 .7-.4 1.6-.9 2.7a9.4 9.4 0 00-.9 3.7 6.1 6.1 0 002.4 5c1.2 1 2.4 1.6 3 2.6.6 1 .7 2.5 1 4 .2.7.3 1.4.6 2 .3.7.7 1.2 1.4 1.6a5.6 5.6 0 002.8.8c2.3 0 4-1.3 4-1.3l-.1-.2z"/>
+  <path fill="#78732e" d="M229.7 255.4l-1 .2a2 2 0 01-1.4-.6c-.6-.6-.8-1.1-.9-1.8-.1-.7-.3-1.6-.7-2.7-.5-1.1-1.7-2-2.9-2.9-1-.9-2.1-1.8-2.3-2.7a2.6 2.6 0 010-.5c0-.8.3-1.6.6-2.6.4-.9.8-2 .8-3.2v-.6c-.2-1.6-1.5-2.8-2.6-3.6a11.3 11.3 0 00-2.3-1.1v.2h.1c.4.2 1.5.7 2.5 1.5 1 .7 1.8 1.7 2 3v.6c0 1.2-.3 2.2-.7 3.1-.3 1-.7 1.8-.7 2.7a3 3 0 000 .5c.3 1.1 1.4 2 2.5 2.9 1.1.9 2.3 1.8 2.7 2.8.5 1.1.6 2 .7 2.6a3.5 3.5 0 001 2c.6.5 1.1.7 1.6.7a2.2 2.2 0 001.2-.3l-.2-.2z"/>
+  <path fill="#a8ac71" d="M237 249.3s1.5.3 1.4 1.4c0 1.2-.6 2.7-.6 2.7l-2-1.7 1.1-1 .4-.5-.2-1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M213.1 235.6s-1.4.5-1.7-.1c-.2-.6-.1-1-.1-1.2 0-.1-.9-.2-.8-1 0-.8 1-.7 1.3-.7.2 0 .3-1.2 1-1.2s1 .9 1 .9l-.7 3.3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M214.6 236s-1.1.6-1.5 0c-.4-.5 0-1.3-.1-1.4-.2-.1-.9-.4-.7-1 0-.8.8-.5 1-.7.3-.1.5-1.1 1.3-1 .7.2.8.8.8.8l-.8 3.3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M216.6 236.3s-.3.7-1.2.5c-.8-.1-.5-1.3-.7-1.5-.1-.2-.7-.4-.6-1.2.1-.7.9-.6 1.2-.7.2-.1.5-1.3 1-1.1.6.1 1.2.8 1 1.1 0 0-1.1.4-1.3 1.2-.1.8.6 1.7.6 1.7z"/>
+  <path fill="#af7029" d="M235 249l-1.8-2.1-1.8-2.2-1.8-.9-1.2-1.9v-2.2l.4-1.3.7-1s-3.7 1.4-1.8 8.5c.8 3 2.8 3.4 2.8 3.4l3.4-.2 1-.1z"/>
+  <path fill="#816c2a" d="M233.3 225.4c.3 0 .5 0 .6.2l.1.6a1.6 1.6 0 010 .2l.1.1c-1.3 2.7-3.9 4-6.2 5.6a11 11 0 00-3 3.1 9.6 9.6 0 00-1.4 5.5c.1 4 1.6 6.3 3.3 7.4a7.7 7.7 0 004.2 1.3h.3l1.2-.1a28.5 28.5 0 012.4-.2 9 9 0 011.4.1c.4 0 .6.2.7.3a.6.6 0 01.2.4c0 .3-.2.7-.5 1l-.7.5v.3l.9-.6c.3-.4.5-.7.5-1.2a.9.9 0 00-.2-.5c-.2-.2-.5-.3-.9-.4a9.4 9.4 0 00-1.4-.1l-3.6.2v.2-.2a4.6 4.6 0 01-.2 0c-.7 0-2.5 0-4.1-1.2-1.6-1-3.1-3.2-3.2-7.2v-.3c0-2.2.5-3.8 1.2-5 1.2-2 3-3 4.8-4.3 1.8-1.2 3.5-2.4 4.4-4.5s0-.2 0-.4l-.1-.7c-.1-.2-.4-.4-.8-.4v.3z"/>
+  <path fill="#fff" d="M238.3 250.1s-1 1.6-1.2 1.7c-.2 0 .8.2 1 .6l-.2.4s-1-.7-1.5-.7l-.1-.6s.5-.2.9-.6c.3-.3.7-1.1.7-1.3l.3.5z"/>
+  <path fill="#fcca3d" d="M241.7 251.2l-2.2.6-1.1-.7s0-.9-.4-1.3c-.5-.4-.8-.5-1.3-.7-.4-.2-2-.2-2-.2l-4-4.3 1.5.2 2.4-.3 2.1-.2 1.2.2 1.2.3.6.6.7.6.7 1 .4 1.3.2 1.3v1.6z"/>
+  <path fill="#af7029" d="M241.8 251s-.8.3-1.8.3-1.6-.2-1.6-.2l-.2.7-.4 1v2.6l2.1.4 1.1-.4.6-2.8.1-1.5z"/>
+  <path fill="#fcca3d" d="M241.2 250v1h.5v-.8zm-2-24l-.2-1.7-.7-1.2-.9-1.2-.9-1-.5-.5-.2-.3-2.3.1-1.2 1.4s3 2.2 4.3 4.6c1 .3 1.8 1 2.2 1.4l.1-.2.3-1.4z"/>
+  <path fill="#af7029" d="M237 228c0 1.7-.3 2.6-.6 3l1.4-1.6 1-1.8a5.7 5.7 0 00-2.2-1.4c.2.6.4 1.2.4 1.8z"/>
+  <path fill="#816c2a" d="M240.2 254.3l-1.1-1.3-1-.7-.2.2h.1l1 .7a13.1 13.1 0 011 1.3l.2-.2z"/>
+  <path fill="#6f5b24" d="M241.6 252.4s-.2.8-1 1.5-1.8 1.1-1.8 1.1l2.2.9 1.5-1.4-1-2.1z"/>
+  <path fill="#404118" d="M241.9 254.3l-.2.2-.4.4-.3.4.6-2.4.4.7v.4z"/>
+  <path fill="none" stroke="#78732e" stroke-width=".2" d="M228.6 223.4s-3 .3-5.2 0c-2-.4-1.6-5.9-1.7-6 0-.2-1.3-1.5-1-2.7.2-1.2 4-4.4 4.6-4.6.4-.1 1.2.2 1.2.2s1-1 1.3-1c.3 0 .7.6.6.8-.2.3-1.5 1-1.6 1.7-.1.6 0 1.2-.4 1.8-.4.6-1.1 1.4-1.2 1.9-.1.5-.3 1 0 1.1.4.2 1.7 0 2.8-.5 1.1-.5 1.6-1.1 1.7-1 .2 0-.6 1.3-1.8 1.8-1.3.5-2 1.1-2.7 1 0 0-.6 1.6 1.4 1.7 2.1.1 3.3-.4 3.3-.4l-1.3 4.2z"/>
+  <path fill="#ab6d29" stroke="#4d2a15" stroke-width=".3" d="M255 200.5s-5.7-1-5.6 3.6c0 1.5.4 2 1.5 2.3 1.2.3 3.6.5 5.6 2.3 2 1.8 2.2 3.1 2.2 4.2 0 1-.5 2-.5 2l1.3 6.2 1.2 4.6 3.8-2.2 2.3-6.8-2.9-12.2-9-4z"/>
+  <path fill="#4d2a15" d="M260.5 224s2-.8 2.5-2.4c0-.4-2-2.3-2-2.3l1.5 1c.5.5 1 .7 1 .6.3 0 1.2-2.1.8-2.6-.3-.4-.9-1.5-1.7-2-.8-.6-1.9-.5-1.9-.5s1.5-.5 2.3 0c.7.3.8.8.9.6a9 9 0 00-.5-3c-.4-.6-.7-1-1.6-1.1-1-.2-1.9-.1-1.9-.1s1.3-.8 2.3-.5c1 .2 1 .7 1 .6a9.8 9.8 0 00-.7-2.3 5.3 5.3 0 00-1.7-1.5l-1.4-.2h-.5s.7-.5 1.7-.4c1 .1 1 .4 1.1.4.2 0 0-.2-.7-.6a39.6 39.6 0 00-3.4-1.6h-2.5s0-.7.7-.8c.7-.1 1 0 .9-.1 0-.2-2.2-.7-2.2-.7h-1.7l-2.4.3.5-.7c.3-.3.8-.4 1.1-.5.9-.2-.4-.9-.4-.9l.6-1 3.2.2 6.5 3.9 3.1 2.6 2 5-.6 8.6-4.4 3.6-2 .2.5-1.8z"/>
+  <path fill="#d2a567" d="M254.8 202.7s-.2-.6-.2-1.4v-.7s-2-.3-3.5.9c-1.6 1.2-.7 3.3-.7 3.3s.7-.6 1.5-1c.9-.3 2.4-.2 2.4-.2.2-.2-.3-.8-.9-.9l-1.7-.1s.7-.5 1.8-.4c1.1.1 1.3.5 1.3.5z"/>
+  <path fill="#8f4620" d="M261.3 224.7l-1.4.5.9 6 5.7 9.7 3-.5 1-1.8.7.3c.4.4 1.5 2.3 2.4 2.7 1 .3 1.4.2 2.3.9.8.6 3.9 5.2 4 5.3.2.2-.2-1.9-.2-1.9l-.9-2.7-1.1-1.9-.2-.5h1.5l1 .6 1.5 1.3.8.9.4 1 .2.8.4 1.3.8 1.7 1 1.7.3-.6-.5-2-1.5-4.9-1-1.6 1.6 1c.4 0 1.5 1.8 1.5 1.8l.7 1.7.5 1.6.4 1.4.5 1.5.9-.5-.2-1.1-.8-3.4-.3-3.6s.4 0 1 .6c.5.6 1 1.9 1 1.9l.3 3.2.5 3 1 3 1 2 .7 1v-1.5l-1.2-12.8.1-.5s.2-.1.6.5l.9 1.5.3 2 .2 1.4.3 2.6.3 2.8 1.3 3 .7 1.7.4-2-.6-13.6.3-.4 1 1 .6.8.5 3 .3 8.7.3 2.2 2.6-22.6 1.5-.3.2-.5-1.1-.8-2.6-4-1.7-3.9-3-5.6-5.3-6.4-4.1-3.4-1.5-1 .2-.9.9-1.4h-.8l-1.8.3-1.8-.6-3.5-2.4-3.7-1.8-2.2-.8-5.3-1.3-5.3-.7h-2.3l-2.2.3s-1 .5-1.4 1.2c-.4.6-.4 1.1-.3 2.1.1 1 .7 1.5 2.2 2.1 1.5.6 5 3 5 3l1.6 1.6.6.8.1.6 1.2 9-2.3 4.8-1.6.8z"/>
+  <path fill="#ab6d29" d="M267 238.6s1 1.6 2.3.3c1.4-1.2-.6-4.8-.5-5 0-.2.6-.3.6-.3l1 1.9s.6 1 .3 2.5c-.2 1.6-1.7 3-1.7 3l-1.7-.5-.3-2z"/>
+  <path fill="#4d2a15" d="M300.2 259.4l-1.2-3.6-.4-2.8-.3-7.5c-.1-1 0-2.3-.2-2.5l-1.3-1.8-.5-.5.3-.3s.5.5.6.3c.1-.3 0-1.6-.5-3.6s-3-6.7-3-6.7l.2.3.7.7 1.5 1.2 3.3 1.2 1.7.3 1.2 2.3s.8 3.9.7 5.9c0 2-.1 3.6-.9 5.6-.8 2-1 8.2-1 9.2l-.5 2-.4.3z"/>
+  <path fill="#8f4620" d="M300.2 249s.7-.9 1-2c.3-1 .4-9.9-.6-11a8.2 8.2 0 00-3.3-1.8l.8 2.9.7 1 .5 1.5c0 .7.7 2.5.8 4.8l.1 4.5z"/>
+  <path fill="#4d2a15" d="M295.4 254.4s.5-4.1.3-7.1-.5-3.4-.8-4a25.8 25.8 0 01-2-5c-.7-2.6-1.2-4.5-1.6-5-.5-.5-1.4-1.6-1.6-1.3-.2.3-.2.9-.2.9l-1.3-.3-.3-.8.4-1.3v-.6l-.2-.9 1.6 1.3 3.3 2.2 1.7 7 1.5 4.2.2 7.2-.1 6.4-.9-2.9zm2-19.7l1.3 1c.5.4 1.5 1 1.3 1l-1.6-.6-1-.7v-.7z"/>
+  <path fill="#4d2a15" d="M291 252.8s.6-1.4.5-3.3c-.1-1.8-1-6.3-1.3-6.8-.3-.6-1.6-1.4-2.7-4-1.2-2.4-1.1-3-1.9-3.8a73.6 73.6 0 01-1.6-2l.3-2.7 2.8 1.5 1.3.6 1.4 7 1.3 2 .6 2.7.7 6.5.3 5.2-.2.5-1.6-3.4zm-3.4-3s0-2-.4-3.8c-.5-1.9-1-3.2-1.5-3.8a28 28 0 01-3.3-4 45 45 0 00-3.1-4v-2.7l1.7 1.2a44.9 44.9 0 011.8 1l.8 3 1 2.1 1.4 2 1 .8.5 3.2.3 1.8.8 2.6-.3 1.3-.7-.6zm-2.4 0l-.8-.7s.5-.5.3-1.5c-.3-1-.5-2-1-3s-.6-1.6-.9-1.9a97.8 97.8 0 00-3.5-3.2l-3-2.6c-.8-.5-1.4-.6-1.4-.6l-.4-3.2s1 1.4 1.7 1.6l1.6.6 2.3 4 .8 1 2 1.7.9 1.7.6 2 .8 2.7.2 1.7-.2-.2zm-4.4-.8s-1.3-1.5-1.6-2.5c-.2-1 .2-1-.2-2.1a9.5 9.5 0 00-3-3.7c-1.1-1-2.7-2.3-2.6-3 0-.7.3-.8.3-.8l.7.6 3.5 3.8 1.1 2 .9 2.5.5 1.1.5 1.5-.1.6zm12.8-18.6s2.5 3 3.1.2c.3-1.2-.8-3.6-.8-3.6l-3-5-4.7-5.8-2.8-1.3 1 1.6s2 2 4.7 6.7c2.7 4.6 2.1 7 2.1 7l.4.2zM279.4 212s4.9 4.2 8 8.7c3.1 4.5 4.4 7.5 3.7 8-.7.7-2.7-.3-3.5-1.5-.8-1.3-1.5-3.5-4.4-6.9-3-3.4-4.4-3.9-4.4-3.9l-2.2-3.4 2.8-1zm-2.6 10s3 2.4 4.7 4.3a29.8 29.8 0 012.8 3.4l1.1 1.1s-.6-1.2-.2-1.6c.3-.4.8-.2.8-.2l-9.2-9.7v2.7zm-.6.2s1 1.8 2.5 3.3a298 298 0 003.2 3.1l.7 2.4s-4.2-3.2-4.2-2.4a7 7 0 001 2.4l-1.3-.7-1.8-2.5-1-2.3-1.2-3 2.1-.3z"/>
+  <path fill="#4d2a15" d="M263.6 232.2s2.2 2 3.4 0c1.2-1.9.2-4 .2-4s3.1 4.5 4 .2c.1-.8-1.9-3.7-1.9-3.7l.7-.7 1.6 2.6s1.5-.6 1.5-2.4c0-1.8-1.6-4.2-1.6-4.2l1.5 1.6s2.8 0 2.9-1.7c0-1.7-2.4-3.5-2.4-3.5s2 .1 2-1c-.1-1.2-2.7-2-2.8-2.7 0-.7.8-1.9 2-1.2 1.2.6 2.8 1.2 3.5-.1.7-1.3 0-1.6 0-1.6l-1.7-.4-2.8-1.4-2.1-.8-2.2-.3.8 1.7.6 4.5v2.1l.4 4.6-1 3.8-.7.7-.4.5-1 2-1.2 1.5-1.7 2.2-1.6 1.7z"/>
+  <path fill="#ab6d29" d="M279 240.7s-.5-1.3-1.7-2.3c-1.2-.9-3-1-3-1l3.2 3.4h1.5zm4.5.8s-1-2-2.2-3.3c-1.2-1.3-2-3-2.4-3l-.5.1.3 2.6 2.2 2.2s2 1.5 2.6 1.4zm3.7-.2s-.5-2.4-1.7-4.7-2.6-3.3-2.6-3.3l.3 2.5 1 2.4 1.7 2.4 1.3.7zm3-1.3s.9-5 .1-6.3a3.7 3.7 0 00-2.2-1.7l-.5.7.5 3.6 1.1 2.7 1 1zm3-8.3s.7.4 1.6 2c.9 1.7 2.1 6.7 2.1 7 0 .2-.5.1-.6 0l-3-4.7-.6-4.3h.5z"/>
+  <path fill="#d2a567" d="M272.3 237.5s1.6-.4 1.6-1c0-.5-2-1.6-1.8-2.5.1-.4 1.6.1 1.7-.2.2-.3-1.5-3-1-3.6.5-.6 2 2.9 2 2.9s.8 1.6.5 2.5c-1 3-3 1.9-3 1.9zm3.7-3.6c0-.2 2.5.3 2.5.1.1-.5-2.2-2.3-2.2-2.3s-.5-1-.3-1.1c.1-.2 1.6.1 1.7 0 0-.3-1.7-2.6-1.7-3 0-.4.5 0 .5 0s1.3 1.4 2 2.5c.8 1.2 1.5 2.1 1.2 4-.2 2-4 .4-3.7-.2zm11-3.6s-.5-1.7-.2-1.9l.8-.4s-1.3-.8-1.9-.8c-.6 0-.7-.2-.8 0-.2.3 1 2 1 2l1 1z"/>
+  <path fill="#d2a567" d="M279.6 231.5s3.7 1 3.8.7c.2-.3-3-3.2-3-3.2v-.7c0-.2 1.3-.2 1.7.1.3.3 0 1 0 1.2.2.2 1.4 2 1.6 1.7.2-.3-.2-2.5-.1-2.6 0-.2 1.4 1.2 1.7 1.5.4.2 2.5 1.8 2.7 1 .2-.7.3-.8.3-1.3-.1-.4.6 2.1-.3 2.4-1 .4-2.1-.3-2.1-.3l-.9-.7-.5-.5s.6 2 0 2.2c-.7.2-1.5.1-1.5.1l-1.5-.2-2-1.4zm8.5-2.5s4 2.4 4.3 2c.4-.5-1-6-.8-6.6.2-.5 3.2 6.3 1.8 7.2-1.2.7-1.7.2-1.7.2l-2-1-1.6-1.8zm11 10l.9.4.5.2-1.1.2-.3-.8zm-3.8-13.1l.6.3.5.2-.5.2a1.3 1.3 0 01-.3-.1l-.3-.6zm-1.2-2s.4.2 1-.1.5-.7.5-.8c0-.2-.9-.2-1.2-.4-.2-.2-.2-.5-.2-.5H293l1.1 1.9zm3.5 11.6l1.6.7c.3 0 .9.4.8.5 0 .1-1 .2-1.4 0-.5-.3-.6-.2-.6-.2l-.4-1zm-6.5-18.1h1c.2.2 0 1-.3 1.3l-.8.4a38.5 38.5 0 01-1.3-1.8l1.4.1zm-5.7-5l1.2-.1c.4 0 .9.3 1.2.5.4.2.7 2.6.5 3-.2.5-2.8-1.5-2.9-1.7 0-.2-1.2-2-1.2-2l1.2.2zm-2.5-1.2s2 .2 1.8-1a3 3 0 00-1-1.9l-2.4 1.7 1.6 1.2zm-5.2-2.2s.5.2 1.1 0c.6-.2 2.1-2.2 3.2-2.4 1.1-.3 1.4-.3 1.6 0 .2.2 0 1.4-.2 1.7-.2.3-3.5 1.7-3.5 1.7l-1.2-.2-1-.3v-.5zm-.6-3.6c-.5-1.2-1.4-1.6-1.7-1.6-.3.1 1.1 1.3 1.3 2.8l.2 2.8h.7v-.5l.2-.5v-.4l-.1-.8-.2-.6-.1-.5-.3-.7zm-4.6-1.7a12.3 12.3 0 00-4.4-3c-.2 0 3.2 2 4 3.4.7 1.2.7 3 1 3.2.4.3.7 0 .7-.1 0 0 .3-.4.2-.5l-.2-.9-.5-.8-.3-.6-.5-.7zm-4.4-1.8a13.4 13.4 0 00-8-2.5c-2.9 0-4.3.2-3.9 1.8.4 1.5 1.7 2.1 4 2.1 2.4 0 3-.2 4.2.2 1.2.4 2.4 1 2.9 1.6.4.4-1-1.2-2.1-2l-2-1.5s-.2-.5 1.4-.2c1.6.2 3.8 1.2 4.3 2.6.6 1.3.5 2 .5 2.4 0 .2.6-.2.6-.2l.2-.7s.1-.5-.2-1c-.3-.7-.4-.9-1.1-1.7l-.8-.9zm-7.7 22.8c1.2 0 3.8-2.2 4.2-5.4a27 27 0 00-2-10.1c-.5-.7.7-.3 1.4.3.6.7 2 5.2 2 8.5s-.8 4.3-2.5 6c-1.8 1.6-3.2 1.5-3.2 1.5l.1-.8zm4.1 9.3s.6.7 1.2.5c1.2-.5 3.1-1.4 3.1-3 0-1.2-1.4-2.2-1.5-2.6v-.8l1.3.3.3 1.8s.5.5 1 .3c.6-.2 2-1.3 1.9-2.4-.2-1-1.7-2.3-1.8-2.8a1.8 1.8 0 010-1l1.2.2.4 1.5s.3.6 1 .4c.7-.1 2-1.4 1.7-2l-1.3-2.1v-.7l.5.3s.4.2 1.4-.1c.9-.3 1.8-1 1.8-1.6 0-.6-.7-1.2-.8-1.6v-.5l.6.1.8 1 .2 1-.3 1-1.1 1.3-1.2.4h-.3l.7 1.2-.2 1.6-1 1-1.4.7v1.5l-.8 1.6-1.7 1h-.5l-.2 1-1 1.5-2 1.3-1.3.2-.8-1.1.1-.4z"/>
+  <path fill="#d2a567" d="M274.7 217.1s3.1 1 3-1c0-1.2-3-3.7-3.2-4.1-.2-.5-.1-1-.1-1l1.5 1.4s2 .5 2.6-.7c.5-1.1 0-1.8 0-1.9h.4l1 .1-.2 1.8-1 4.4s.3 1.7-1 1.9c-1.4 0-3-.9-3-.9zm3 23.6s0-.9-.7-1.5-2-1.2-2.2-1.4a48 48 0 002.2 2.8l.7.1zm4.5.1l-2-2.5c-.2-.7-1-2.1-1.7-2.2-.6 0 .6 2.4.6 2.4l2.5 2.3h.6zm4.3 0l-1.7-3.3c-.3-.7-1-2.7-1.8-3.3-.8-.5 0 1 0 1l1 2.6 1.4 2.3 1 .7zm3.1-1.8s-.1-2.2-.4-3.7a4.6 4.6 0 00-1.5-2.7l.1 2.7 1.8 3.7zm6.5 1.6l-1.5-3.8a17.6 17.6 0 00-1.7-3.3l.3 2.3 1.4 3.8 1.5 1zm5.6-6.8s-1-1-3.1-1.9a15 15 0 00-4.3-.9l.2.3 1 .8 2.2 1.2 3 .7 1-.2z"/>
+  <path fill="#202020" d="M278.6 235s0 2 1 3.1l3.7 3.7c.4.4.8 2.7 1.5 4.6.6 2 .8 3.5 1.1 4 .3.6.9 1.5.5 1.4-.5 0-1-.6-1.2-1.3-.3-.7-.2-.7-.1-1.7 0-1-1.5-5.9-2.2-6.4-.7-.6-3.9-3.2-5.1-5-1.2-1.9-1-2.3-1-2.3h1.8z"/>
+  <path fill="#202020" d="M283.7 247.5c-.7-1.4-.8-2.7-1-3.5a12 12 0 00-3.5-3.4c-.5-.2-1.5.1-2-.2l-2.9-3.2s-.3.4-.2.5c.1 0 2.7 3 3.7 3.8 1 1 1.5 3 2.2 4.6.6 1.6.4 1.2.4 2 .1.8.6 1.2 1 1.2s.7-.2.5-.3a8.3 8.3 0 01-1.7-2.8c-.6-1.4-1.2-4-2-4.9l-.3-.2 1-.1c.7 0 3.4 2.4 3.6 3.1.2.7 0 1 1 3.4 1.2 2.4 1.7 3 1.7 3h.2l-1.7-3zm-4.1-16l2.4 1.4 1 .2s.3 3.5 1.7 5.5 2.6 2.7 2.6 2.7 0 3.8 1 6.4a14 14 0 011 6.3c-.2.5-1-1.5-1.6-3.3l-1.5-5a10.3 10.3 0 00-2-3.6c-.7-.5-.2-.4.2 0a9.1 9.1 0 012 3.5c.6 2 .9 4 1.2 4 .4 0 .6-.3.6-.7 0-.4-.4-1.4-.7-3.3-.4-2-.7-3.2-1-3.7-.3-.6-.8-.6-2-2.8a16 16 0 01-2-4.2v-1c-.3-.2-.4 0-1.4-.5s-1.5-1.9-1.5-1.9z"/>
+  <path fill="#202020" d="M284.5 230.8s1.2 1 1.9 1.2c.6.3 1.6.3 1.6.3s-.3 3.4 1 5.5c1.3 2.2 2.7 3.4 2.7 3.4s.2.8.6 5.5l.6 6.6c0 1.8.1 8.4-.1 8.2-1-.8-.2-4.3-.7-5.8-.5-1.5-1.3-1.7-2.3-6-1-4-.3-5-1-6.6-.7-1.6-1.6-1.7-1.6-1.7s1.3.2 1.8 1.6c.5 1.3.6 4.8 1 6.5 1 4 2.4 6 2.4 6s-.3-5-.7-7.8c-.4-2.8-.3-5.1-.9-6.2-.5-1-1.6-2-2.3-3.3-.7-1.5-.9-4.3-1.2-5-.3-.7-.5-.5-1-.7-1.5-.6-1.8-1.7-1.8-1.7z"/>
+  <path fill="#202020" d="M288 229s1.1 1.2 2.6 2c1.4.9 2.2.6 2.4.8.2.2-.3 3.1 1.2 5.8 1.5 2.8 2 2.8 2.1 3.2l.5 11c.2 2.8.4 12-.7 12s-.1-6.8-.7-8.4c-.5-1.6-.5-1.1-1-2.4-.6-1.2-.6-6.2-1.4-9.2-.7-2.2-1.3-2.6-1.3-2.6s1 .6 1.6 2.5c.5 1.8.6 8 1.2 8.9.6 1 1.4 2.2 1.6 3 .2 1 0-11.5-.4-12.3-.2-.8-2.7-5.3-3-7.8-.1-2.5-.2-2.8-.4-3-.3-.2-1 0-2.2-1.1-1.2-1.2-2-2.4-2-2.4z"/>
+  <path fill="#202020" d="M293.8 230.4c0-.2.8 1.4 3 2.3 2.3.9 4.5.7 4.8 1a18 18 0 011.7 8.1c0 4.5-.8 4.1-1.5 8-.7 4-.7 11.8-1.1 13-.2.5-.5.7-.7 1.5-.3.7.2 2.2-.5 2.2s-.8-1.1-.8-1.7c0-.6.7-2.8.7-5s-.4-2.4-.8-5c-.3-2.5-.3-10.7-.6-11.5-.3-.8-1.7-2.5-1.7-2.5s1.5 1 1.9 2c.4 1.2.4 10.3.8 12.1.4 1.9.3-.4.4-1.5.2-1 .7-5.5.7-7.9-.1-2.4-1.1-7.6-2-8.4 0 0 .5.5 1 1.6l.6.5.8.4a2.3 2.3 0 01-.8-.2l-.5-.3a19.1 19.1 0 011 6.4c.1 4-.5 13 .1 13.2.7 0 .5-5 1.2-9s1.6-4.6 1.3-8c-.3-3.2-1.2-6.8-1.9-7.3-.6-.4-2.6-.3-4.4-1.4-1.8-1.1-2.8-2.3-2.7-2.6zm-28.6 4.6s.6.3 1.4 0c.7-.4 2.7-2 2.7-2.7V231s0 .3.7.4c.5 0 2.2-1.2 2.3-2V227c-.3-.2.4.3.8 0 .3-.3 1.9-1.3 1.9-2.4 0-1-1-2-1-2h1.3c.5-.1 2-1 2-2s-.6-2.4-1.8-2.5c0 0 .9.2 1.8 0 .9-.4 1.2-1 1.2-2s-1.8-3-2.1-3.2c-.4-.2 1.9.6 2.5-.3.5-1 .6-1.5.4-2-.1-.5-.6-.7-.6-.7s1 .3 2.3-.4c1.3-.6 2.4-1.5 3-1.5.6 0-1.9 1.4-2 2.1 0 .3.7.8 1.8 1.7l.2.1c.5.3 2.5.4 2.6.5.2 0-1.9 0-1.7.2a27.3 27.3 0 014.6 4.3s.3.3.7.4l1 .2H290a52.2 52.2 0 012.6 3.8s.4.5.7.6l1 .2c0 .2-1.2 0-1 .2a65.6 65.6 0 012.6 4.8s-2.5-4.3-5.5-7.6c-3-3.4-3.6-3.8-3.8-3.5-.2.3 2.2 3.3 3.5 5.3 1.3 2.1 2.4 4.7 2.4 4.7s-3-6.2-7.2-10c-4.2-3.9-4.6-4.5-5-4.3-.6.1-1 3-.6 3.5.3.6 3.3 3 6 6 2.6 3 5.9 8.4 5.9 8.4s-2.4-3.8-6.4-8-5.5-5.3-5.8-5.3c-.3 0-.4.8-.8 1.5-.5.6-1.5.5-1.5.8 0 .3 3.4 3.4 4 3.8.7.4 1.1.2 1.6.5l1.1.7-1.2-.4c-.5-.2-1-.2-1 0s2.7 3.5 3.2 3.7c.4.2.7.1 1.3.4.6.2 1.5.8 1.5.8l-1.6-.7c-.7 0-1 0-1 .2s2.1 2.9 2 3c0 0-3.2-3.8-5.8-6.1-2.7-2.4-3.9-2.9-4-2.8-.1.1 0 .8-.7 1-.6.3-1.2.3-1.2.6 0 .2 2.3 2.5 4 4.3a119.5 119.5 0 013.2 3.7l-3.6-3.5c-1.9-1.8-2.8-2.5-3-2.4-.2.1-.2 1 0 1.3.1.2 3.6 4.3 3.5 4.4-.1.1-4.1-4.9-4.4-4.9-.2 0-.4.6-.6 1-.3.2-1.4.2-1.4.6 0 .4 5.6 6 5.4 6 0 0-4.6-4-4.8-3.7-.1.2 2 4 1.9 4.1-.2.1-2.8-4-3-4-.2 0-.2.5-.9 1.1-.7.6-1.5.4-1.5.6 0 .3 3.8 4.6 3.7 4.7 0 0-4-4.1-4-3.9 0 0-.3.3-.2.6.3 1 1.2 2.9 1 3 0 0-1.2-2.5-1.5-2.4-.3 0-.3.6-1 1-.5.3-1 .2-1 .5s.7.7 1 1.3c.3.6.6 2 .6 2s-.4-1.2-1-1.9c-.5-.7-1-1.2-1.4-1.2-.4 0-.7.4-.7.4l-.4-.9z"/>
+  <path fill="#202020" d="M301.6 233.7s1.2-.1 1.4-.4c.1-.3-.5 0-1.6-1.3-1.2-1.2-4-9.7-7.3-14-5.2-6.9-10-10-10-10s5.7 3.3 10.2 9.9c4.6 6.6 5.7 11.9 7 13.2 1.3 1.4 2.5 1.6 2.4 2 0 .4-.2.7-.7.8l-1.7.1.2-.3zm-38.4-1.9l.2.1c.3 0 1.9-1.5 1.8-2 0 0-.7-.2-1.3-.8-.6-.6-.7-1.5-.7-1.5s.5 1 1 1.3c.4.3 1.1.5 1.4.3.2-.3 2.5-2 2.4-2.6 0 0-.7 0-1.4-.5s-.8-1.6-.8-1.6.4.9 1.1 1.2c.7.3 1.4.2 1.6 0 .2-.3 1.7-2.4 1.5-3 0 0-.7 0-1.4-.4-.7-.5-1.1-1.7-1.1-1.7s.5 1 1.4 1.2c.9.2 1.6-.4 1.7-1 .2-.6.7-3 0-3.6 0 0-1.2.4-2 0s-1.1-1.5-1.1-1.5.6 1 1.6 1c.9.2 1.3-.3 1.4-.7.2-.3.2-1.7 0-2.4-.3-.7-.9-.7-1-1.8 0 0-.3.4-1.5.4s-1.8-1.3-1.8-1.3 1 .9 1.9.8c.9 0 1.2-.8 1.3-1.4 0-.6-.5-1.2-.8-1.8-.2-.6-.3-1.3-.4-1.2-.2 0-.4.6-1.6.4-1.2-.2-1.5-1-1.5-1s.9.6 1.5.6c.7 0 1.2-.4 1.2-.9 0-.4-.3-1.3-1.8-2.6a46.5 46.5 0 00-2.8-2.2s2 1.1 3.3 2.2c1.3 1 2 2.1 2 2.1s1.4.5 1.5 0c.2-.5.2-1-.3-2-.4-.7-1.6-2-1.6-2s1.2 1 1.8 2.1c.6 1.1.4 1.9.4 2.1 0 .3 2.7 1.3 3.3 1 .6-.4.3-1.2-.2-2l-1-1.4s.7.7 1.2 1.5c.4.7.8 1.4.6 1.7-.2.4-.5.5-.5.7l1.8 1c.9.5 1.9 1 2 .7.2-.3.2-.9.2-1.8-.1-.8-.6-2.1-.6-2.1s.6 1.2.7 2.1v2c.3.2 1 .3 1 .3s-.6.4-1.7 0c-1.2-.3-6.2-2.8-6.4-2.6-.2.3 2.3 1.8 3.5 3 1.2 1 1.7 2.2 1.7 2.2s-.9-.8-1.8-1.3-3.5-1.8-3.7-1.6c-.1.2 1 .4 1.1.6.1.2-.8 1-.8 1.4 0 .3 3.8 3 3.7 3.2-.2.3-1 1-1.2 1-.1 0-2-1.5-2-1.3 0 .3 1 1.2 1 1.4 0 .2-.6.6-.5 1 .1.5 2.1 2.1 2 2.7 0 .5-1 1-.8 1.4l1.2 1.6-1.5-1.1c-.3-.4-1-1.2-1.1-1.1a6 6 0 00-.8 2c0 .4 1 .9 1.1 1.8.2 1-.1 2-.2 2 0 0-1.3-1.7-1.5-1.7-.3 0-.6 0-.8.5-.2.4-1 1.7-.8 2 0 .1 1.3.4 1.3 1.4 0 1-.8 1.9-.9 1.9l-1.6-2c-.2 0-1.8 1.9-1.8 2 0 .3 1 1.1.9 1.4-.2.4-1 0-1.5.2l-1.3.5c-.2 0-.4-.5-.4-.5z"/>
+  <path fill="#202020" d="M284 208s.1-.5.4-.8c.2-.2 1.2-1.3.8-1.6-.3-.2-1.6.2-2.4.2-.8-.1-1.3 0-3.7-1.9 0 0-7.4-5.1-18.9-5.8-3.6-.2-5.2 1-5.4 1.8 0 .1 1-1.5 4.6-1.5a40 40 0 0119.2 5.7c.3.3 2.3 2.2 4.1 2 1.9-.3 2.3-.5 2.2-.2 0 .2-.6 1-.7 1.2l-.3 1v-.1zm-20 1.5a9.6 9.6 0 00-2.2-2.6 30.3 30.3 0 00-6.4-3.4c-.2 0 4.8 2.3 6.2 3.7l2.4 2.3z"/>
+  <path fill="#d2a567" d="M264 217.8s-.4-.5-1.4-1.2a7.9 7.9 0 00-2-.9l2.4.6c.6.6 1 1.5 1 1.5zm-.7-4.3s-.3-.5-1.7-1c-1.4-.4-1.7-.3-1.7-.3s1.3-.6 2.3 0a2 2 0 011.2 1.3zm-.8-3.6s-.3-.6-1.5-1c-1.3-.5-2.1-.6-2.1-.6s1.3-.3 2.5.2c1.3.5 1.1 1.4 1.1 1.4zm-1.5-2.2s-.3-.5-2.7-1c-2.3-.6-3.2-.6-3.2-.6s3.3-.3 4.2 0c.9.4 1.7 1.6 1.7 1.6zm-4.3-2.5s-1.4-.4-2.8-.5l-3.5.1s4-.6 5-.4c1.1.3 1.3.8 1.3.8z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M243.6 254.7s.7 1.3 2 1.3c1.5 0 2.6 2 2.6 2l-1.5 1.6-3.7.2-1.2-2 1.8-3zm0-1.2c.2-.3-1-2.7-1.9-3-.8-.5.3.7.1 1.2-.2.5-.3 1-.2 1.2 0 0 .7 1 .3 1.5-.3.5 1.8-1 1.8-1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M243 257.1s.7.3 1.2.2c.5-.2 1-.7 1-.7m-2.9-.4s2.1-1.5 2-2.3c-.2-.8-.7-.8-1-.7a5.6 5.6 0 00-1.6 1.3l.6 1.7z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M240.9 257.2s.3 1 1 1 1.7-.5 1.7-1c0-.3-.7-1-1.1-1.3-.5-.2-1.5.3-1.5.3l-.1 1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M242.8 255.8c-.2.3-1.5 1-1.9 1-.4 0-1.3-1-1-1.2l1.2-.3c.3-.2.4-.7.6-.7.2 0 .7.2.9.5s.3.4.2.7z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M241.4 256.7s-2 2.8-2.9 2.6c-.8-.1.4-3.9.4-3.9l1 .4c.6.2 1.3.5 1.5 1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M237.8 254.8s2.6.4 2.7.8c.1.5-1.2 1-2 1-.7 0-.7-1.9-.7-1.9z"/>
+  <path fill="#202220" d="M231.2 258.7s.4 1.3 1.5 1.4c1.2 0 2.2-1.2 2.2-1.2l-2.7-1-1 .8z"/>
+  <path fill="#4b4139" d="M231.2 258.7l.3.7c.3.3.6.7 1.2.7h.1c1.1 0 2.2-1.2 2.2-1.2l-2.8-1.2-1 1 1-.8 2.7 1-.2.1c-.3.4-1.1 1-1.9 1-.6 0-1-.3-1.2-.7a2.3 2.3 0 01-.2-.4 3.3 3.3 0 01-.1-.1z"/>
+  <path fill="#202220" d="M232 258.4s.4 1 2 1c1.4 0 2.6-1.2 2.6-1.2l-2.4-1.9-2.2 2z"/>
+  <path fill="#4b4139" d="M232 258.4s.4 1 2 1a4 4 0 002.6-1.2l-2.4-2-2.3 2.2h.1l2.2-2 2.4 1.8h-.1a4 4 0 01-2.5 1.1 2.4 2.4 0 01-1.6-.5 1.8 1.8 0 01-.3-.3 1 1 0 010-.1h-.1z"/>
+  <path fill="#4b4139" d="M232.2 258.6s.6.5 1.4.6l1.8-.2-1 .3h-1.2l-.5-.2-.4-.3-.1-.2z"/>
+  <path fill="#202220" d="M234 257.3s.6 1.6 2 1.4c1.3-.1 1.4-1 1.4-1l-1.6-2.2-1.9 1.8z"/>
+  <path fill="#4b4139" d="M234 257.3h-.1l.4.8c.3.3.8.7 1.5.7h.2c.7-.1 1-.3 1.2-.6a.9.9 0 00.2-.4l-1.6-2.4-2 1.9h.1l2-1.7 1.4 2.2c0 .1-.1.7-1.3.9a1.4 1.4 0 01-.2 0c-.6 0-1-.4-1.4-.7a3.2 3.2 0 01-.3-.5 3 3 0 010-.2 1.2 1.2 0 01-.1 0z"/>
+  <path fill="#4b4139" d="M234.1 257.6s.9 1 1.6 1c.7 0 1.2-.3 1.2-.3v.1l-.4.2-.6.1h-.7l-.6-.4-.5-.7zm-2.6 1.6s.6.7 1.2.7 1.5-.5 1.5-.5h.1l-.1.1-.6.4-.8.2-.6-.1-.4-.3-.3-.3v-.2z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M237.6 254.6c.6 0 2 1.7 2 2.6 0 .9-.4 2.2-1 2.1-.7 0-2.2-1.3-2.5-2-.3-.6-.7-1.1-.4-1.4.2-.4 2-1.3 2-1.3zm-6.4.2s-1-.8-1.5-.4c-.4.4-.3 1.8 0 2 .3.4 1.5-.6 1.5-.6v-1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M231 255.8s-1.4 0-1.4.7.7 1.3.8 1.5c.2.1 1.4-.6 1.4-.6l-.8-1.6z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M231.6 256.9s-1.5.4-1.5 1c0 .4.7 1.3 1.1 1.3.5 0 .8-.9 1-1 .2-.2-.6-1.3-.6-1.3zm.7-4.1s-.3-.4-.9-.2c-.6.3-1.3.9-1.1 1.8 0 1 .4 1.6.4 1.6l2.1-.7-.5-2.5z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M232.4 254.4s-1.8.6-1.9 1.3c0 .8.4 1.5 1 1.6.4.1 2-1.4 2-1.4l-1-1.4z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M234 257.4s-1.8 1.2-2 1.2c-.3 0-1-1-.8-1.6.2-.6 1.4-1.1 1.9-1.3.4-.2 1 1.7 1 1.7zm1.6-6.6s-.6-.4-1.7-.4c-1 .1-1.9 1.5-2 2.3-.1.7 0 2 .4 2.2.4.2 2.7-1.6 2.7-1.6l.6-2.5z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M233.4 256.2c-.8 0-1.4-1.1-1.3-1.8.1-.6 1.6-1.8 2.4-1.6.8 0 .6 2 .6 2s-1 1.5-1.7 1.4z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M235.8 256s-.4 1-1.1 1.3c-.8.4-1.3.1-1.7-.5-.5-.7.2-1 .5-1.3.4-.3 1.4-.5 1.4-.5l.9 1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M234.6 253.8s-.9.6-.4 1.4c.5.8.9 1 1.5 1.2.6.1 1-.1 1.5-.7s1.2-.9 1.1-1.6c0-.7-.3-1.3-.8-1.5-.4-.2-1.7 0-3 1.1z"/>
+  <path fill="#202220" d="M237 250.4s-.9-.4-1.6 0c-.6.4-1.1 1.2-1.1 2l.1 1.7s1-.2 1.5-.7.8-.7.7-1c0 0-.3-.3-.3-.9 0-1 .7-1.1.7-1.1z"/>
+  <path fill="#4b4139" d="M237 250.4s-1-.2-1.5.1c-.5.3-1 .8-1.1 1.5-.2.7 0 .8 0 .8s-.2-.5 0-1.1c.2-.6.7-1.2 1.2-1.4a3 3 0 011.4 0z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M263 269.6l1.3-.6 1.6-1 .3 1.8-1.4 1h-1.2l-.7-.5.2-.7z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M261.1 269.7h.9l1-.1c.2 0 .5 1 .5 1l-.4.5-1.2.7-1-.6-.1-1.4h.3zm9.7-.5l-.7-.9-1.7-1.5v4h1.8l.8-1.3-.2-.3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M261.1 269.7s-.3-.4-1-.3c-.8.1-1.6.7-1.7 1.3 0 .5 0 2 .4 2.3.4.3 1 .5 1.8.3.8-.3 5-2.9 5-2.9l-1 .3-1.2-.2s-.5.7-1.2.8c-.7.1-.8-.3-1-.6l-.1-1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M264 271.1l-1 .4a7 7 0 01-1 .5l.3 1.3 1.8.4 1.1-1v-1.2l-1.3-.4zm8.3-.9l-.6-.6c-.3-.4-.8-.5-.9-.4l-1 1.1v.9l1 .5.7.1 1-.6-.2-1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M266.1 269.6l-1.2.7-1 .8 1 1 .9.2 2-1.4-.2-1.3h-1.5zm7.6 1.6l-.4-.6c-.4-.3-.8-.4-1-.4-.2 0-1 1.2-1 1.2l-.1.3.7.8 1.3.3.9-.8-.4-.8z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-linecap="round" stroke-linejoin="round" stroke-width=".2" d="M270.4 272.6l1 .2s-.1.2.2.4c.2.2.3 0 .3 0s0 1 1 1.7c0 0 1.2.4 1.7 0 .6-.3.5.1.5.1l1.6-2s0-.4-.4-.4c0 0 .3-1.2-.7-1.5s-1.9.1-1.9.1-.8 1.5-1.2 1.3a1.9 1.9 0 01-.6-.4l-.6-.7-.7-.2c-.4-.2-.7-.9-.7-.9s-.6 0-.8-.3a3 3 0 01-.5-.6l-1.5 1s0 .5-.9 1.1c-.8.7-1.4.7-1.4.7s-.2 1.3-1.2 1c-1-.1-1.6-1.2-1.6-1.2s-.7-.1-1.1.5c-.5.6-.7.8-.7 1.4 0 .6.4 1.4.7 1.7.3.3 1.3 1 2.4.4 1.2-.6.8-1.5.8-1.5l.6-.4c.7-.5 1.5-1.2 2-1.4"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".2" d="M268.6 264.7v2.5s.4 2.3-.1 3c-.5.7-2.3.6-2.6 0-.2-.7-.1-2.6-.1-2.6l2.8-3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-linecap="round" stroke-linejoin="round" stroke-width=".2" d="M266.6 272.4s-.4.7.8.8a.8.8 0 00.7-.3c.3-.3.3-.6.3-.6s-.1.9 1 1c1.1 0 1-1.1 1-1.1"/>
+  <path fill="#202220" d="M257 274.5s-.7-1.1 0-1.5c.8-.4 1.3 0 1.7 0 .5 0 .3-1.2.2-1.4 0-.3-.3-.8-.5-1-.2 0-2.8.2-2.7 1.9 0 1.7 1.3 2 1.3 2zm4 4.1s-.8-1.2-.4-1.9c.5-.7.8-.2 1-.3.2 0 .3-.5 0-1.3s-.9-1.1-1.2-1.2c-.2 0-1.8 1.1-1.5 2.6.4 1.8 2 2.1 2 2.1zm14.5-1.4s2.8 1.2 3-1.7c.1-1.5-1.3-2.5-1.7-2.5-.3 0-.5.2-1 .8-.5.6-.9 1-.7 1.2.2.3 1-.2 1.4.7.6 1.5-1 1.5-1 1.5z"/>
+  <path fill="#4b4139" d="M261 278.6s-2.2-.5-2.2-2.6c0-1.4 1.6-2 1.6-2s-1.4.7-1.5 2c0 2.1 2 2.6 2 2.6zm-4-4.1s-1.3-.3-1.4-2.1c-.2-1.8 2.8-1.7 2.8-1.7s-2.8 0-2.7 1.8c.2 1.8 1.3 2 1.3 2zm18.5 2.7s.6.3 1.2.2c.7 0 1.4-.2 1.7-1.2.3-1.1.1-1.6-.6-2.5-.5-.7-1-.7-1-.7s.6.1 1 .7.9 1.3.5 2.5-1.5 1.2-2 1.2l-.8-.2z"/>
+  <path fill="#904720" d="M242.1 217.9l-.5-.1.4-.9 1.4-.5 1.5-.1h1.5l.7.4.8 1.9-2.9 1.7-.5.2-.1-.8-.5-1.1z"/>
+  <path fill="#202020" d="M269.5 260.4l-.1-4.4-12 3.6 4.8 4.4z"/>
+  <path fill="#d2a567" d="M247.6 252.7l-1-.8-1.1-.6h-1l-.1.2.1.4 1.1 1.3 1.8 1 .7.5.4.2-1-2.2zm-.3 1.9h.7l.6.9.5.8.5 1 .2.7-1.3-.3-3.9-1.2.4-.9.6-.6.6-.2.8-.2z"/>
+  <path fill="#d2a567" d="M249.8 257.8l.6-.1.4-.4-.2-1.4.3-4.6-3.1-3.7-.7 2.1 1 3.8.6 2.2z"/>
+  <path fill="#ab6d29" d="M247.5 249.3s-.2.4.1 1.6c.3 1.2.7 4 1.8 5.8 1 1.8-1-1.5-1-1.5s-1.7-3.7-1.5-6.5c.3-2.9.6.6.6.6z"/>
+  <path fill="#ab6d29" d="M249.8 251.7s-.7.8-.8 1.5v1.7s0-.8.7-1c.7-.2.6 1.9.6 2.1l.4-3.8-.9-.5zm.4 7.7l-3.5-.8c-1.9-.8-2.8-1.5-2.8-2 0-.4 3.2.2 3.7.3.5.1 1.9.8 1.9.8h.8l1.5-.6.2 1.6-1.8.7zm-6-.7s1 .6.5.9c-.4.3-1.5.3-1.8.2l3.4.8.6-.6a279.8 279.8 0 00-2.6-1.3z"/>
+  <path fill="#d2a567" d="M243.4 257.8c0-.2.2.5 1.4.6 1.2.2 1.8-.2 1.8-.2l.5.4.6.1-.5.9-2.3-.7-1.2-.6-.3-.5z"/>
+  <path fill="#ab6d29" d="M251.3 256.2l.6.9.4-2v-2l-1.3-.8z"/>
+  <path fill="#4d2a15" d="M247.8 253l-1-1.8-1.4-2.5.8-1.4 1 1.4s-.3 1 0 2c0 1 .6 2.2.6 2.2z"/>
+  <path fill="#d2a567" d="M240.6 259.2s.5-.7 1.5-.8c1.1-.1 2 .1 2 .1l2 1.2.5.7-4-.6-2-.6z"/>
+  <path fill="#8f4620" d="M251.2 252l.1 3.3c.1.7.6 1.5.5 1.8 0 .3-.2.4-.8.6-.5.2-1.5 0-1.5 0s1-.1 1-.3c.1-.2-.2-1.1-.3-2 0-.8 0-1.7-.2-1.7-.3 0-.6.3-.7.4 0 .1.3-3 .6-3.3.4-.4 1.3 1.3 1.3 1.3z"/>
+  <path fill="#ab6d29" d="M243.8 258.4s-.4-.3-.4-.6.4 1.3 2.7 1.2c2.2-.1 2-.2 2-.2h1.1s-.2 1-.4 1.1c-.2 0-1.7 1.1-1.8 1.2l-.5.3v-.2l-.3-1.7-1.9-.7-.5-.4z"/>
+  <path fill="#8f4620" d="M247.8 253s-2.6-2.8-3.5-4.5c-.8-1.8-.3-4.2-.3-4.2l2.4 3.2s-.3.6-.2 1.6c.1 1 1.6 3.8 1.6 3.8z"/>
+  <path fill="#ab6d29" d="M246.1 262.6c0-.2-.2-.8.3-1.4a15 15 0 015.4-3.3v2.4l-5 2.4-.7-.1z"/>
+  <path fill="#8f4620" d="M246.4 260.8l1.1-1c0-.3-.6-.4-1.7-.6a8 8 0 01-2-.8s1.3 1.1 1.9 1.3c.5.2.5.4.4.6l.3.5zm6.6.6l-1-1.7-.2-1.8-.8.6-1.5.5s1.6 0 1.6.5c0 .6-2.4.8-2.4.9 0 0 1.9-.4 1.8 0-.2.5-1 .5-2 1a14.8 14.8 0 00-2.4 1.2s.4.3 1.2.2c.7 0 2.3-.4 2.3-.4l3-1.2.4.2z"/>
+  <path fill="#ab6d29" d="M253 261.4s-.8-.3-1.4-3.9c-.6-3.6-.5-4.5-.5-4.5l1.5 1 1.3 2.3-.9 5z"/>
+  <path fill="#8f4620" d="M253.5 255.4s-.7 2-.7 3.2c0 1.2 0 2 .2 2.8a6.9 6.9 0 001.5 1.8l.5-.5.3-1.6v-2.7l-1.8-3z"/>
+  <path fill="#202020" d="M255.5 258.2s.4 5-1 5.1c-.5.1-1.4-1.9-1.5-2 0 0 1.1 2 1.6 1.7.8-.3.5-5.2.5-5.2l.4.4zm-2.5 3.2l-.5-.7c-.4-.6 0 .5-2.8 1.5s-3.6.4-3.6.4.9.7 3.6-.1c2.7-.8 2.5-1 2.8-1l.5-.1z"/>
+  <path fill="#ab6d29" d="M248 255s.5.3 1 1.3l.8 1.7.1-.1-.8-1.7-1.7-2.6.6 1.4z"/>
+  <path fill="#8f4620" d="M246.4 261.2s.3-1 0-1.1c-.3-.2-.5 0-2.4-.2a27.3 27.3 0 01-3.4-.7s1.3.8 2.5 1.1a95.3 95.3 0 002.7.7h.5l.1.2z"/>
+  <path fill="#202020" d="M246.4 261.2l-.2-.4c-.2-.2-.5 0-2.8-.5l-2.8-1s.8.6 2.8 1.1l3 .8z"/>
+  <path fill="#ab6d29" d="M247.4 254.6s-1.7 0-2.2.5c-.5.4-1.3 1.6-1.3 1.6l1.1.1s-.1-1 .4-1.5 1.3-.6 2-.7z"/>
+  <path fill="#8f4620" d="M244.2 251.4s.7.9 1.4 1.2c.7.3 1.4.6 1.7 1 .4.3.7 1.4.7 1.4s-2.4-1.1-2.8-1.6c-.5-.6-1-2-1-2z"/>
+  <path fill="#8f4620" d="M246.6 252s-.3-.4-1-.7c-.6-.3-1-.3-1.3-.1-.1.1 0 .2 0 .2l.8 1.3.5-.1s-1.3-.8-1-1c.6-.6 2 .3 2 .3z"/>
+  <path fill="#202020" d="M253 248.9l13.6-7 6.4 9-11.7 3-6.2.6-3-2.2z"/>
+  <path fill="#4d2a15" d="M271.2 252.7l16.8 14.6-1.8 1.3-4-1.1-8.2-8.1-3-3.1z"/>
+  <path fill="#4d2a15" d="M292.8 264.4l-9.7-7.3L271 248l.3 4.3 13.9 12.8 4.6 2.2 2.3-.7 1.2-1.2-.5-1z"/>
+  <path fill="#803f1d" d="M271.1 254.1s4.9 5.5 8.6 8.3c3.7 2.8 7.2 5.8 8 5.4.7-.4.4-.9.4-.9l-17-13.9v1.1z"/>
+  <path fill="#4d2a15" d="M283 268.1l-1.6 1.3-2-.8L269 258l.5-2 1.5.3z"/>
+  <path fill="#202020" d="M292.8 264.4s-1.3 3-4 2.3c-2.7-.7-17.6-14.8-17.6-14.8v1.5s15 13.8 18 14.3c2.9.6 5.3-2 5-2.2a36 36 0 00-1.4-1z"/>
+  <path fill="#803f1d" d="M269.5 256.3s4.8 6.2 7.3 8.4c2.6 2.3 4.8 4.1 5.8 3.9 1-.2-.6-1.4-.6-1.4l-7.3-7.1-3.7-3.8s-1.5-.6-1.5 0z"/>
+  <path fill="#202020" d="M270.7 256.3s12.2 12.4 13.1 12.7c2 .6 5-1.5 5-1.5l-1-.6-.2.4s-.5 1.2-3.2.7a82 82 0 01-13.3-12.1l-.4.4z"/>
+  <path fill="#4d2a15" d="M275.3 268.2l-4.5-5.1-1-1.7-.2-2.2 8.8 9-1.2.8-1.1-.4z"/>
+  <path fill="#202020" d="M283.3 268.4s-1 1.6-2.5 1.3a4.3 4.3 0 01-2.3-1.4L270 260l-.2-1.3s9.3 9.9 11 10.3c1.2.3 2-1.2 2-1.2l.5.6z"/>
+  <path fill="#202020" d="M278.6 268.1s-.4 1.2-1.7 1c-1.2-.1-1.6-.6-1.6-.6l-5.2-6.2-.1-1.6s5.4 7.4 6.6 7.9c1.3.4 1.6-.9 1.6-.9l.4.4z"/>
+  <path fill="#b07229" d="M273 251.9s5 4.3 5.5 4.5c.4.2 2.2.3 2.3.6 0 .2-1.2 0-1.3.2 0 .3 2.6 2.4 3 2.5.4 0 2.5 0 2.5.3s-1.5 0-1.5.3 2.2 2.2 2.7 2.2c.4.1 3 .1 3 .4s-2.1 0-2 .4c0 .4 3.6 2.7 3.5 3-.2.3-4.4-2.8-4.5-2.7a4 4 0 01-.5 1.4c-.3.1 0-1.4-.2-2-.2-.6-2.7-2.5-3-2.3-.2.3 0 1.4-.2 1.4s0-1.4-.2-1.9c-.3-.5-2.6-2.4-2.9-2.4-.3 0-.1 1-.3 1.2-.2.2-.2-1.2-.5-1.6-.3-.4-5.6-5.2-5.4-5.5z"/>
+  <path fill="#4d2a15" d="M264.4 265.9s0 1.9-.8 2.2-2.5-3.5-2.5-3.5l-.4-3.6 2.5 2.4 1.2 2.5zm6.7-1v-1l-.2-1.2-.2-2-.4-1.2-.4-.9h-.6l-1.3 1-.4 1.3.7 2.4.6 2.1 1 .4 1.2-.9z"/>
+  <path fill="#4d2a15" d="M269.4 268.3c.3-.2-.3-2.8-.3-2.8l-1.5-3.8-.5-1.4-1.2-.5-.8 1 .1 1.5 1.9 3.5c.5.8 1.8 2.6 2.3 2.4z"/>
+  <path fill="#202020" d="M268 260c.5.4 1 1.4 1.1 2.1 0 0 1 2.9.9 3.1-.1.3-.8.3-.8.3s1.4 1.5 1.8 1.3c.5-.2.3-1.6.1-1.9-.1-.3-.5 0-.7-.4-.2-.3-.7-2.2-.7-3.3V259c.2-.3 1.2 2.3 1.2 3.7l.5.6-.5-2.6-.5-1.8.2-1.2v-.8l.7.4c.2 0 .5-.4.6-1.6s-.1-4.8-.1-4.8l-5.4 7.1 1.6 2z"/>
+  <path fill="#202020" d="M268 259.4s-.2 2 .5 4c.7 1.9.9 2 1 2.2.2.3.2 2.4 0 2.6 0 0-1.5-3.5-2-5.2-.4-1.8-.5-2.4-.8-2.6l-.6-.1 2-.9z"/>
+  <path fill="#4d2a15" d="M267.5 269.6c.1 0 0-.8 0-.8l-.2-1.8-1.9-4-2-1.8-1.1-1.7-.2 3.2s1.5 3.2 2.5 4.2c1 .9 2.6 2.8 2.9 2.7z"/>
+  <path fill="#202020" d="M259.7 260.9s.4.8.4 1.4v1l1.4 2.8c.7 1.3 1.4 2.5 2 2.3.5-.3.7-1.2.8-1.3 0-.1-.7 1-1 .8-.4-.1-2-5.2-1.9-5.3l-.8-.6-.9-1.1zm5.7 4.3l-1.4-2.5c-.4-.8-1-1.4-1.1-1.4-.2 0-.4-1.5-.4-1.5s.5 1 1.3 1.4c.7.3 1.1.6 1.5.5l.2 1.6-.1 2z"/>
+  <path fill="#5c3a1d" d="M262 262.6s.3 1.1 1 2.2l1.9 2.3s-1.3-1.2-2-2.2c-.7-1-1.1-2.3-1.1-2.3h.1z"/>
+  <path fill="#202020" d="M265.6 261.3s.4-1 .7-1l.9-.2s-.5-.1-1-.6c-.4-.6-.5-.5-1-1l.3 1.5.1 1.3zm-.3.3l2 4.4c.3 1.2.3 2.8.3 2.8l-.6-2.1c-.3-1-1.7-3.7-1.8-4-.2-.3 0-1 0-1z"/>
+  <path fill="#4d2a15" d="M267.4 259.5l.4-4.8-.4-1.8-2.2-4.8s-.1.7-.7.7a5 5 0 01-2.4-1.5 7.3 7.3 0 00-.2 3.9l4.3 7.9 1.2.4z"/>
+  <path fill="#8b441f" d="M259 262.7s.7.8 1 .7c.4-.1.3-1.6-.2-2.5-.5-.8-5.6-7.7-6.4-8.1-.7-.4 5.6 9.9 5.6 9.9z"/>
+  <path fill="#8b441f" stroke="#5c3a1d" stroke-width="0" d="M262.5 259.9c.1.3.5 2.5-.4 2.7-1.2.2-6.9-7.5-7.7-8.6 0 0-3.6-2.2-3.6-2.8 0-.5 3.8.8 3.8.8l7.5 7.2.4.7z"/>
+  <path fill="#202020" d="M259 262.7s-.6-1.1-.7-2c0-.7-.3-1.1-.3-1.4a91.2 91.2 0 00-4.6-6.6l-1.8-1.1a12.4 12.4 0 00.2 1.9s1.3 2.4 3.2 4.6l4 4.6z"/>
+  <path fill="#4d2a15" d="M265.3 261.6c.5-.3.3-2.2 0-2.8-.1-.6-3.5-7.6-3.5-7.6l-1 .4-1.9-1.5-1-1.1.3 2.5v1.3l2.6 4.6 4.5 4.2zm3.8-4.2l.8-1-.5-3.5-2.2-7.6s-.5.2-1-.2a6.3 6.3 0 01-1.2-1l.5 4.5 2.3 6.4.2 1.9 1 .5z"/>
+  <path fill="#202020" d="M262.1 259.2s-2.2-2.4-3-3.6l-1.3-2.4s-.6.3-1.4 0c-.7-.4-1.8-1.5-1.8-1.5s-.6 1.2 2.6 4.5c3.7 3.7 5 3 5 3z"/>
+  <path fill="#8b441f" d="M267.5 260c1-.4 1-4.3 0-7-.9-2.6-2.3-5-2.3-5s1.8 4.4 2.2 6c.4 1.8 0 3-.3 3-.3-.1-.3-1-1-2.7-.8-1.7-1.3-2.1-1.3-2.1s2.6 7 1.9 6.9c-.7-.2-4.3-8-4.5-8.2-.1-.2-.2.3-.2.3s3.2 9.8 5.5 8.8z"/>
+  <path fill="#4d2a15" d="M269.6 241l1.6 3.4.5 3.5.1 3s.1 6-.6 6c-.7.2-1.1-.5-1.1-.7l-1.4-6.6-1.4-6.8.5-.4.2-1 1-.1.6-.3z"/>
+  <path fill="#8b441f" d="M265.3 261.6c.6 0 0-1.6 0-1.6s-.5.7-1 .2c-.4-.5-1-2.5-1-2.5l-.4-1.2s-.5 1.3-1 1.3c-.7 0-3.7-5.1-3.7-5.1l-.4.5s4.3 8.9 7.5 8.4z"/>
+  <path fill="#202020" d="M263.3 257.7s.5-1.2.3-2.4a23 23 0 00-1.8-4l-1-.1-1.9-1a30 30 0 004.4 7.5zm2.5-1.8s-.4-2.7-1.7-5.2a13 13 0 00-2-3.4v2.8s1.2.5 2 2a27.8 27.8 0 011.7 3.8zm3.4-4.6s-.2-3-.7-4.7l-1-4 .3-.2h.5c.7.1 1 1.7 1 1.7l-.2-2.5a11.2 11.2 0 00-.2-.4h-1.1s.2.7-.1 1c-.3.3-.5-.1-.6-.2l-.1.3.2 1.6v1.4s.4 1.7 1 2.8l1 3.2zm2.6-.4s.5-4.2-.4-7a9 9 0 00-1.8-3.4l-.5.6s1.5 2.3 2 4.4c.4 2.3.7 5.4.7 5.4zm-4.3 2.2s-.4-3.4-1-5.5l-.8-3-.9-.7s.5 2.2.5 2.9l-.1 1s.4 1.2 1 2.2c.6 1 1.3 3 1.3 3z"/>
+  <path fill="#904720" d="M269.8 258.3c.8 0 0-4.8-.3-6l-2.3-7s2.4 8.2 2.2 8.6c-.3.6-1.2-2.5-1.4-2.4-.2 0 1.8 5.5 1 5.6-.6 0-1-1.2-1-1.2v1.2s.5 1.2 1.8 1.2z"/>
+  <path fill="#904720" d="M270.8 255.9c.6 0-.2-4.5-.6-6.6l-1.5-6s1.1 2.8 1.8 6c.6 3.2 1 7.3.5 7.4-.7 0-1-.6-1-.6v-.7s.2.5.8.5z"/>
+  <path fill="#312317" d="M263 261.2c0 .3 0 1.9-.8 1.8-.8-.1-2.3-1.5-2.6-2.5 0 0 1.8 2 2.4 2 .6 0 .6-2 .5-2.6 0-.5.5 1.3.5 1.3z"/>
+  <path fill="#d2a567" d="M267.3 239.6s1 .7 2 .2a3.1 3.1 0 001.3-2.4c0-.6 0-1.2-.5-1.9-.6-.7.8.6.8 1.9 0 1.2 0 3.4-2 3.9s-1.1-.1-1.1-.1l-.5-1.6z"/>
+  <path fill="#8f4620" d="M265.7 235.8s1.3 2 1.8 4c.5 1.8.4 2.5 0 2.6-.3 0-.4-.2-.4-.7l-1.4-6z"/>
+  <path fill="#1e2121" d="M243.3 238.3l8.4 12.3 10.7-12-6.7-6.8z"/>
+  <path fill="#4d2a15" d="M254 230.8l-.5 2 1 3.2 1.8 1.8 2 1.4.5-1.5.5-1.8.5-.2 1.3.5.9-1.3 1.4-2.4-.3-1-.4-.7-2.1-3.7-.7 1.4-.7.4-1.2-.7-1.5 2-1.9-.9z"/>
+  <path fill="#5c3818" d="M258.4 239.2s.3-.3.5-1.2c.1-1 .2-4-.1-5.2-.3-1.2-1-3.5-1.2-3.3-.2.1 1.2 2.5 1 5.5-.2 2.9 0 3.7-.7 4-.6.3.5.2.5.2z"/>
+  <path fill="#5c3818" d="M258.8 234.3s1.4 2 2.1 1.2c.7-.7.3-3.2 0-4.2l-1-2.5.4-.4.7 2.7c.3 1.1 1 4.2.1 4.8-.9.5-2.2-1.2-2.2-1.2v-.4z"/>
+  <path fill="#8f4620" d="M254.3 235.6s.5-.7 1.1-.7c.7 0 .8.2.8.2l.6 1.6.9 1.7.8.9-.4.5h-.7l-2-1-.6-.8-.5-2.4z"/>
+  <path fill="#d2a567" d="M257.6 253c-.6.4-2.1-.3-3-1.1l-5.4-5.4-.6-2.5 1.8.4 3-1.3.6-1 3.7-2 2-1 4.5-.2 1-2.1s1.6 2.6 1.8 3.6.2 4.3-.2 4.5c-.4.3-1.8-1-2-1-.3 0 1 4.6 0 4.8-1.1.1-3-1.8-3-1.8s.8 4.2 0 4.2c-1 0-3.2-1-4.1-2 0 0 1 3.4 0 4z"/>
+  <path fill="#8f4620" d="M256.8 247.7l.9 1.4c.2.3 0 2.3-.2 2.6-.3.8-1.3-.9-1.8-2.3l-1.8-3c0-.4 2.9 1.3 2.9 1.3zm8.7-10.3s1.5 6.5.8 6.7c-.8.2-3-2-3.2-2.4l-3.3-5.1-.6-.7.2-.3 1.3.5 4.8 1.3z"/>
+  <path fill="#8f4620" d="M254.3 249.8c-.3.3-1-.8-1.3-1l-2.4-2.7c-1-1-1.8-1.8-1.8-2 0-.3-.7-1-.7-1l.6-.6.7-.1s4.3 3.4 4.6 4c.3.5.5 3.3.3 3.5zm6.5.1c-.2.2-3-1.9-4.3-3.6-1.2-1.7-2.4-3.2-2.7-4a58.6 58.6 0 01-.5-1.5l.8.2s7 8.6 6.7 8.9zm1-3c-.2.2-1.4-.7-2.2-1.7-.7-1-.3-2.3-.3-2.3s2.6 3.8 2.5 4zm1.6-.4c-.4.2-2-1.8-3.4-4-1-1.6-1.3-1.9-1.5-2a3.7 3.7 0 00-1-.3l-.2-.2.7-.2.6-.7.8-1 3.4 6.8s.8 1.5.6 1.6z"/>
+  <path fill="#ab6d29" d="M254.6 251.9c0 .3 0 .5-1 .4-.8 0-5.7-2.7-7.8-6.2a1712 1712 0 01-2.5-4l1-1.1 7.6 8.7 2.7 2.2z"/>
+  <path fill="#8f4620" d="M254.6 251.9c.1.4-.4.5-.8.4-.6-.1-2.5-.8-5.5-4.2-3-3.4-4.3-5.9-4.3-6l-.1-1.4.9-.4 5.2 8 4.6 3.6z"/>
+  <path fill="#4d2a15" d="M259.7 248.5s-1.6-1.2-2.6-2.4-3-4-3-4.6c0-.5 1-.5 1-.5l-.1-1.5.2-.4 1.5.6 1.9 2.3.7 1s1.2 2.8 1 3c-.3.4-2-1.5-2.2-1.3-.2.2 2 3.5 1.6 3.8zm-3-.8s.6.8.3 1.3c-.2.6-.4.9-1.2-.3s-1.7-2.5-1.8-2.4c0 .1.1 1.8-.3 1.8s-1.6-1.4-2.4-2.6l-2-3s.2-.5.1-1.8l-.1-2s0 .4.2.7l.4.6 2.8 3.3.8-.5 1.7 3.3 1.6 1.6zm-10.8-5s2.2 4 4.3 6.1a14 14 0 004.4 3.1L248 244l-2-1.2zm17 2.4c-.1 0-1.5-1.4-2.4-2.7a8.8 8.8 0 01-1.4-4l.2-2.8s2.3 2.4 2.8 3.5c.4 1 1.3 2.6 1.1 2.8-.2.1-1.7-1-1.9-.8-.2.3 1.8 3.8 1.6 4zm2.6-2.5c-.3.1-1.5-1.2-1.8-2-.3-1-.4-2.6-.4-2.6l-1-2.4.1-2.6 1-.2 1.5 2.1s.6 1.3.6 3c0 1.9.3 4.5 0 4.7zm-18 6.5c-2-2.5-3.3-5-3.3-5l-.7-2.2.4.3s.6 2.6 3.7 5.7c3.2 3.1 3.9 3.4 3.9 3.4s.6 1.7.3 2.3c0 0-2.3-2-4.3-4.5z"/>
+  <path fill="#202020" d="M250.9 252.7s-2.7-2.4-4.9-5c-2.1-2.8-3.5-5.4-3.5-5.4l1-.9s1.8 4.2 3 5.9a609.9 609.9 0 004.4 5.4zm3.7-.8L250 247a17.5 17.5 0 01-2.5-3.5l1.3.5s.5 1.4 1.7 2.8l4.2 5.1zm-.6-5.6s-1.7-2-2.5-3.4l-1.7-3s2.3 2.7 3 2.8c.7.2.7 0 .7 0s-.3 1 0 1.8c.1.8.5 1.8.5 1.8zm.7-8.4s.3 1.4.1 2.3c-.2.9-.7.8-.7.8l1.5 1.8c.5.6 1.8 1.5 1.8 1.5l-1.5-2.2c-.4-.7-1-1.6-.7-2.3.2-.7 1.6.5 2 .8l2 2.3s-.5-2-1.4-2.7a43 43 0 00-3-2.3z"/>
+  <path fill="#202020" d="M261.6 242.3l-1.4-3.5-1.3-4v2.2c0 1-.4 2.4-.8 2.6-.4.2-.5.2-1.3 0-.7-.2.6.4.6.4s.8 0 1-.4c.4-.4.5-1.2.9-1.1.3.1.7 1.3 1 1.9l1.3 1.9z"/>
+  <path fill="#202020" d="M259 234.7s1.6 1.9 2.3 1c.7-.8.3-3.1.3-3.1s1 .3 1.3 0c.3-.2.2-1 .2-1s1.8 2.5 2.6 4.2c.9 1.6 1.3 4.6 1.3 4.6s-1.5-2.4-2.2-4.6c-.7-2.1-1.7-3-1.9-2.8-.1.2-.4 1.6-.2 2.4.2.7.8 1.7 1.2 2.7.5 1.1 1 2.8 1 2.8l-1.4-2c-.5-.7-1-1-1.4-1.3-.3-.3-.8-1-1.3-1.1-.5-.2-1.5-.7-1.5-.3l-.2-.8-.2-.7z"/>
+  <path fill="#171717" d="M253.4 242.6l1.6 2.8 1.8 2.3s-1.6-1.4-2.2-2.3c-.6-1-1.2-2.8-1.2-2.8z"/>
+  <path fill="#8f4620" d="M264.1 243c-.2.2-1-.1-1 .2-.1.3.4 1.3 1 1.9.5.6.7.6.9.5l-.2-1.1V243c-.1-.2-.7 0-.7 0z"/>
+  <path fill="#d2a567" d="M244.7 231.5l-1 .6-1 2.3.3 4.3 1.7 2.4c.6 1 2.8 3.4 3.3 3.2.6-.1 1.2-1.8 1.2-2.7l.2-2.6s.5 1 1.4 1.9c.9 1 1.7 1.9 2 1.8.5 0 1.7-2.5 1.8-2.9 0-.3-3.2-8-3.2-8l-1.4-.7-5.3.4z"/>
+  <path fill="#ab6d29" d="M251.8 238l.9 2.9c.3 1 0 1.8.2 1.8.1 0 1.8-2.2 1.8-3.2s0-2-.4-5c-.5-3.1.1-4 .1-4l-1-.8-1.5 3.3v5zm-5.5-1.8l.5 4c.2 1 .8 2.6 1.1 2.5.3 0 1.3-2.6 1.4-3.5 0 0-.7-1.3-.7-4.4 0-3.2-.3-3.5-.3-3.5l-2 4.9z"/>
+  <path fill="#45392d" d="M242 230s-2.5 3.6-2.4 5.6c0 2 .3 1.6 1 3.4.5 1.8.8 4.4.8 4.6 0 .3.4 0 .5-.3l.1-13.3z"/>
+  <path fill="#ab6d29" d="M242 230.5s-2.2 3.3-2 5.2c.1 1.9.4 1.8 1 3.5.7 1.6.7 4.4.7 4.4s.7-.2 1.5-.8a7 7 0 001.5-1.7l-.8-1.7-.6-1.5-.6-1 .2-3.1.6-2.4v-.8l-1.5-.1z"/>
+  <path fill="#dbad6c" d="M253.8 236.3l-1.6-.5c-.4-.3-.6-1-.6-1l.3-.6 1.9 2z"/>
+  <path fill="#d2a567" d="M242.4 230.8s-1.5 3.4-1.4 5.8a16.2 16.2 0 001.7 5.3v-7.7l.7-2.3v-1.2l-1 .1z"/>
+  <path fill="#8f4620" d="M246.3 231.6v1.4c-.1.5-1 1-1.3 1.6l-.8 2.3s.3-1 .9-1.5c.5-.5.7-1 .8-.6.1.3.3 1.6.2 1.9-.1.2-.6.6-.8 1.6a3.3 3.3 0 000 1.9l.4-1.8c.1-.5.5-.7.5-.7l1 1.8V238c.2-.7 1-1.6 1.1-1.6.3 0 .6-.2-.2-.6-.3-.2-.1-3.4 0-3.6.3-.1 1.5-.1 1.4-.6a8.7 8.7 0 00-1.3-1.7l-2 1.7z"/>
+  <path fill="#dbad6c" d="M253.6 238.5l-1.2-.2a.6.6 0 01-.4-.5v-.5l1 .5.6.7z"/>
+  <path fill="#8f4620" d="M243.6 238.9c0 .3-.3.7-.5 1.2l-.3 1.2-.3-2.6-.3-1.9-.5.5s0-1.2.2-1.8c.3-.6.4-1.4.2-1.6-.2 0-.6.3-.8.6l-.6 1 .5-1.5c.3-.4 1.4-1.7 1.7-2.3l.2-1 .8-.1s.9.7.9 1.3c0 .3-.9.6-.9.7 0 0-.7 0-.8 2.6-.2 2.7.5 2.5.5 3.7zm7.4-7s.2 1.5 0 2c-.1.4-.5.8-.8 1.3-.4.6-.3 2-.3 2l.4-1 .5-.9c.1 0 .5.5.7 1.3l.6 2s-.2-1 0-1 .4 0 .8.3l.7.6s0-.4-.5-1-.8-.4-1-1.1c-.1-.7-.2-1.5-.1-1.7 0-.3.4.1.7.5l1.2 1.1-.5-.8v-2.3c0-.8 0-1.6.2-1.8.3-.2.4-1.2.2-1.4 0-.2-2.8 2-2.8 2z"/>
+  <path fill="#1e2121" d="M259.7 228.9s0 1.6.3 2.6l.9 3s-.9-1.5-1.3-2.8c-.4-1.4-.7-2.8-1-3-.4 0-.8.7-.8 1.3a10 10 0 00.8 3.4c.5.7-.7-1-1-1.9l-.6-1.7s-.3.7-.2 1.6c.2.9.9 2.1.9 2.1l-.8-.8-.5-.5s0 1.2.3 1.7l1 1.3-1-.9a2 2 0 01-.4-.5s.1 1.7.5 2.6l1.2 2.3s-1-.7-1.6-2.2a21 21 0 01-.8-6.5l1-1.5c.4-.7 1-3.8 1-3.8s.6 2.9 1.1 3.5c.5.5 1 .7 1 .7zm-6.9-.9l.6 1.1.5.8s-.9 1-1.8 1.7c-1 .7-2.2 1.5-2.5 1.1-.3-.4-.3-.8-.3-.8s1-.6 1.9-1.5a5.3 5.3 0 001.3-1.7l.3-.7zm-8.7 2.9s.1 1.8.9 1.7c.8 0 3-2.3 3.1-2.4.2 0 .3-.6.3-.8v-.6s-2.5 2.4-3.3 2.5a1 1 0 01-1-.4zm0-2.4l-.2 1.6c0 .4.2.7.2.7s-1.7.6-2 0c-.3-.5-.1-1.2-.1-1.2l1.2-.1c.4-.1 1-1 1-1zm16.3-2.5s.7 1.8 1.2 2.6l1.1 2.2-1.5-1.6a120.9 120.9 0 01-1-.8l.2-.9V226z"/>
+  <path fill="#dbad6c" d="M241.7 229.6h1l.7-.1.6-1s-.3 1.1 0 2c.2.8.6.9.8.9a3 3 0 001.8-1l1.7-1.4s-.2 1 .2 2c.3 1.1 1 1.1 1.8.5.8-.7 1.6-1.8 2-2.3l.6-.8.9-.7.8-4.4-.5-.6-1 .6-1.4-.6-.4-.5-.8 1.3-.8.5h-.4l-1 .3-.4-.9-.2-.6-.5-.2-2 2-1-.1-1.1 1.7-.8 1-.8 2 .2.4z"/>
+  <path fill="#8f4620" d="M251.1 225.2s.2 1-.4 2.9-1.3 3-1.3 3 2-1.1 2.9-3.2c1-2.2.7-4.6.7-4.6l-1.9 1.9zm2.4-2s.2.3 0 2l-.6 3.2.5.9c.2.5.9 1.4 1.4 1.3.4-.2 1.2-.7 1.7-1.8l1-2.3c.3-.2.3 0 .4.2 0 0 .2 1 .7 1.4.5.4 1 1 1.4.8.3-.2.5-.7.5-1l-1-3.2-1.3-3.2-.8-1.2-2.3.2-1.6 2.7z"/>
+  <path fill="#ab6d29" d="M257.4 220.3s.6 1.3.7 2.8c0 1.5-.3 3-.3 3v-3c-.1-1.2-.6-1.7-.6-2l.2-.8z"/>
+  <path fill="#4d2a15" d="M260.5 226v2c-.2.5-1-.5-1.6-2.5-.5-2-.4-2.4-.8-3.4-.5-1-.7-1.8-.7-1.8l1.1-.2 2 6zm-5.6 3.8s2.2-1.3 2.5-5c0-1.7-1-4.5-1-4.5s0 3-.8 5l-1.5 3.1.8-.5.6-.9v1.3l-.6 1.5zm-1.9-6.5s0 .8-1 1.5c-.9.8-2.5 1.6-2.5 1.6s1.2-1.1 1.6-2.1c.5-1 .1-1.6.1-1.6s-.1.5-.6 1-1.3.4-1.3.4 0-.5.5-1c.1-.1 0-.4.2-.6.2-.8.9-1.9.9-1.9s.5 1.2 1 1.7l1.1 1z"/>
+  <path fill="#1e2121" d="M259.8 218.9s.5 1.3.7 3.2c.2 1.8 0 4 0 4l-1.4-2.5c-.3-.7-.3-1.7-.5-2.3a2.6 2.6 0 00-.9-.8l-.8-.1s.7-.3.7-.9v-.8a3.5 3.5 0 002.2.2zm-4.9 7.8s1.2-1.6 1.5-3.7c.3-2 0-2.7 0-2.7s-.5-.1-1-.5-1-1.4-1-1.4.2 1 0 2.4c-.2 1.3-1.4 2.5-1.4 2.5s.6.2 1.2-.1c1.2-.7 1-2 1-2s.3.2.3 1.8-.6 3.7-.6 3.7z"/>
+  <path fill="#8f4620" d="M241 229.5c-.3 0 .7-1.6 1.4-2.7l1.7-2.7s.2.2.6.2a2.9 2.9 0 002-1.3 8.2 8.2 0 00.7-2c0-.3 0 1.4.8 2.3.8 1 .7.9 1 .8 0 0 0 1.2-.3 2.2l-.6 2.7s.1-2-.2-2.6c-.3-.6-.5 0-.8.8-.3.7-.9 1.2-.9 1.2l.8-1.8c.3-1 .1-1 0-1 0 0-.2 0-.5.3-.3.4-.7.5-.7.5s.4-.3.6-.8c0-.5.5-1.2.7-1.4l.4-.8c0-.2 0-.6-.2-.6s-.4.3-1.1 1c-.8.7-1 .7-1 1l-.7 2a12.8 12.8 0 01-.9 2.3l-.4.4.6-2c.4-1 1-2.5.8-2.7-.1-.2-.4-.2-.5 0-.1.2-1 1.1-1.7 2.2s-.7 2.5-.9 2.6h-.7z"/>
+  <path fill="#874f20" d="M260.5 217.7c0 .1.1 1-.7 1.2a3 3 0 01-2-.1v-1.2l2.7.1z"/>
+  <path fill="#b27129" d="M244.8 220.3l-.6 1.7c-.5 1-1.2 1.7-1.1 1.8 0 .1.5.6 1.2.5.6 0 .8-3.8.8-3.8v-.2h-.3z"/>
+  <path fill="#dbad6c" d="M254.8 218.2s-.4 5-1.8 5-2-2.5-2-2.5-.2 3.5-2 3.5c-.9 0-1.7-2.7-1.6-3.2 0 0-.3 1.8-1.2 2.5-1.7 1.4-2.8.7-2.8.5-.1-.2 1.4-1.7 1.6-3.7 0 0 .3.1.7-.5.4-.6.7-1.2 1-1.1.5 0 2.6-.9 2.6-.9l1-1.3s.2.4 1-.1a3 3 0 001-1.4l2.2 1.8.2 1.4z"/>
+  <path fill="#b27129" d="M249.1 213.3l2.2 3 .5-.4c.2.4.4.7.3 1-.3.7-1 1.8-.5 3 0 0-.1-.7.2-1.5.3-.8.5-1.1.7-1 .2 0 .5 4.6.8 4.6.3 0 .7-2.1.7-3.6s.3-.3.5 0c.1.3 1.4 2.4 2.5 2 1-.2 1-2.2.9-2.6 0-.4-.8-3-.8-3l-4.9-3-.4 1.2c-.3.8-2.7.3-2.7.3z"/>
+  <path fill="#8f4620" d="M256 212.8s.3.3.8 1.5.5 5.1 0 5.1c-.7 0-2-.7-2.2-1.3-.2-.5.1-2.4-.3-3a6.5 6.5 0 01-1-2.2l.1-1.5 1.1-.4 1.6 1.8z"/>
+  <path fill="#4d2a15" d="M255.7 211.6l2 3.1 2 2.6.8.4a2 2 0 01-2.5.4c-.7-.4-.3-1.6-1.2-3.6a8 8 0 00-2.6-3l.6-.5 1 .6z"/>
+  <path fill="#1e2121" d="M254.6 210s1.8 1.1 2.5 2.5l1.8 3.4c.8 1.3 1.7 1.7 1.6 1.8 0 .1-.5.2-1 0a3.8 3.8 0 01-1-1.3l-2-3.4a6.7 6.7 0 00-1.9-1.5c0 .1.5.4 1.3 1.7a5.6 5.6 0 01.9 2.5l-1-1.6c-.6-1.2-2.1-2.7-2.2-2.5l1.2 2.4 1 2.6-1.4-2.3c-.8-1.3-1-1.1-1.3-1.5l-1.1-1.4s.7.2 1.5-.3c.7-.5 1-1.2 1-1.2z"/>
+  <path fill="#8f4620" d="M249.8 213.3s1.2.3 1.9.2h.9s.4.5.4 1.1c0 .6-.5 1.7-.6 1.8-.2 0-.2-1-.5-1.4a20.7 20.7 0 00-2-1.7z"/>
+  <path fill="#b27129" d="M250.5 216.5s.4 1.3 0 3c-.2 1.9-1.3 3.7-1.5 3.7-.3 0-.2-2-.3-3a31 31 0 000-.4l-.5 1.2c0-.1.4-1.9.3-2v-.7l1.3-1.6.7-.2z"/>
+  <path fill="#8f4620" d="M248.2 217.8c-.4.5-1 .3-1.4.5-.5.1-.7.9-.7.9s.4-.3.6-.2c.2 0 .4 0 0 1-.4.8-1.8 2.3-1.7 2.4 0 0 1.6-1.3 2-2 .6-.8.5-1.2.6-1.5.1-.3.7-.6.9-.6 0 0 .4 0 .5.6l.4 2a9 9 0 00.7-2l.1-2.3-.5-.1-1.2-.7s.2 1.4-.3 2z"/>
+  <path fill="#dbad6c" d="M254.6 208.6s.5 1.3-.5 2.1c-.3.3-.6.4-1.1.5-.6 0-1.4-.5-1.4-.5l-3.1-1.3-1.7-.5-.8-.2.1-.9 2.5.1 2.4 1 1 .3 1 .1h.6l.6-.1.3-.3.1-.3z"/>
+  <path fill="#ab6d29" d="M254.6 208.6c.1.2-.2 1-.4 1-.2.1-.7.3-1.6.1-1-.2-1.9-.8-3-1-1-.4-1.7-.6-2.5-.6s-.5-.4-.5-.4 1.9-.2 3.5.4c1.6.6 2.3 1 3.1 1 1.2 0 1.4-.5 1.4-.5z"/>
+  <path fill="#4d2a15" d="M246.1 207.7h.7c.3 0 .5-.2.5-.2l-.1.5h-1v-.3z"/>
+  <path fill="#dbad6c" d="M252.2 211.5s1.1 1 .8 2l-2-1-3.5-1.4-1.8-.6-.3-.3.6-.6v-.6l2.3.3 2.4.7 1.5 1.5z"/>
+  <path fill="#dbad6c" d="M249.9 213s2 2.5 1.5 3.4l-4.5-3-1.7 2.7-3.7-1.8s3-2.3 3.4-2.8l.3-.6 1.7.4 2.7.8.3 1z"/>
+  <path fill="#ab6d29" d="M248.8 209.3s1.6.4 2.7 1c1 .4 2.4.6 2.4.6s-.6.6-1.7.6c-.3 0-1.1-.6-1.6-1s-2-.8-2-.8l.2-.4z"/>
+  <path fill="#4d2a15" d="M246 208.4l1.9.6c.7.3.7.2 1 .2l.1-.2s.2.7-.4.7-.7-.2-1.4-.5-1.2 0-1.2 0v-.7z"/>
+  <path fill="#ab6d29" d="M252.3 212.9s.9.5.7.6c-.1 0-.6.3-1.3.3-.7 0-1 0-1.5-.2s-.8-1.1-2-1.6a14.5 14.5 0 00-2.3-.8l-1-.2.8-.3 2.6.5 2.2.7 1.3.6.5.4zm-4.3 1.5l.5 2-.3 1.3-.7.4-.6-.2-.2-.4s.3-.5 0-.9-1.6-1-1.6-1 .5-1 1-1.2c.7-.2.4-1 .4-1l1.5 1z"/>
+  <path fill="#4d2a15" d="M245.4 210.2s.4.4 1.3.5l1.7.3c.2.1.8-.2.9-.2l-.5.3 2 .7c.9.4 1.6 1 1.6 1l-1.6-.7a14 14 0 00-2.4-.7c-1.6-.3-3.1-.2-3.5-.3-.3-.1.2-.1.3-.3.2-.2.2-.6.2-.6z"/>
+  <path fill="#ab6d29" d="M251.2 215.8s.5.6 0 .8c-.5.2-2 .1-2.6-.6l-.4-1c-.3-.3-1.3-1-2-1.3-.5-.4.3-.5.3-.5l2.9 1.3c.8.4 1.8 1.3 1.8 1.3z"/>
+  <path fill="#4d2a15" d="M251.3 215.9s-1-1.4-4-2.6l.9-.2h-1.5a22.2 22.2 0 00-.7-.3c-1.6-.4-1.7-.4-1.8-.6 0-.2-.3 0-.4.3a10.5 10.5 0 01-.6.8 4 4 0 012-.1c.9.2.9.5.8.9 0 .3-1.1 1.6-1 1.6.1 0 .7-1.2 1.5-1 .8.2 1 .6 1 .6l-.1-.7c-.2-.2-1-1-.8-1s1.2.3 2.6 1c1.4.7 1.6.9 2 1.3z"/>
+  <path fill="#dbad6c" d="M246.5 213.6s2.2.7 2.1 3c0 2.4-1.8 2-2 1.1-.1-.9.3.4.9.3.7-.1.8-.8.8-1.7 0-.9-.3-1.3-.8-1.8a9.6 9.6 0 00-1-.9z"/>
+  <path fill="#6c3f18" d="M236.8 208s.3 0-.4 1.8a8.5 8.5 0 01-1.9 3.3c-1.8 2-2.6 2-2.4 2.8.2.9.9.7 1 .7.2 0 3.5-4.8 3.5-4.8l.7-2.8-.2-.8-.2-.3z"/>
+  <path fill="#dbad6c" d="M244.9 204.5s1 1.4.6 4c-.3 2.7-3.8 5-3.8 5l-5 3.6-2.2-.2h-.6c-.4-.1-.7-.4-.7-.4-.2 0-.4-1-.4-1l.6-.8 1.9-1.8 1.1-1.7s.6-1 .6-1.9c.1-1-.1-1.4-.1-1.4l.4.7.2 1.4-.2 1.6 1.4-1 1.7-.7s.5-.1.9-1c.3-1 .6-2.5.6-3.2v-1.4h.2c0 .1.5 1 .5 1.4l.3 2.2.9-.8.7-1.2c.2-.4.4-1 .4-1.4z"/>
+  <path fill="#904720" d="M245.5 217.8s.3.2.2 1.2c-.1 1-1 1.5-1.3 1.5v-1.3l-1.1-1-1.2-.3.2-.2c.1-.2 1.4-.7 1.4-.7l1.8.8z"/>
+  <path fill="#ab6d29" d="M244.6 217.8s.3.3.9.2.8-1 .5-1.4c-.3-.4-.2.8-.5 1-.4 0-.8-1-1.3-1-.5-.2-1.3.2-1.5.5-.2.3.8 0 .8 0l.6.2.4.1v.4z"/>
+  <path fill="#904720" d="M237.2 214.1s.7.2 1.4.1 2.5-.8 2.5-.8l1.4-1c.6-.7 2.5-1.8 2.7-4.2.2-2.3-.3-3.7-.3-3.7s2.8 3 .3 6.5c-1.6 2.3-3 3-3 3s2.8-.8 3-.1c.2.6-.1 1.6-.2 1.8 0 0 1.5.3 1.8 1.1.1.5-1.8-.5-3.2-.2a3.7 3.7 0 00-2 1.2s-.3-.4-1.5-.4c-1.3 0-1.9.6-2.6.5-.7 0-3-.5-3.4-1.1l1.5-1.7c.7-1.3 1.6-1 1.6-1z"/>
+  <path fill="#ab6d29" d="M243 207.8s1.1-1 1.5-1.9l.4-1.4s.1.8-.5 1.8a10.3 10.3 0 01-1.4 1.6v-.1z"/>
+  <path fill="#904720" d="M242.7 205.4s1 3.4 0 4.9c-1 1.4-5.1 3.2-5.1 3.2s3.1-1.7 4-3.6c1-2 1-3.6 1-3.6l.1-1z"/>
+  <path fill="#1e2121" d="M238.6 214.2s1.3 0 2-.5c.8-.4 1.9-1.4 1.9-1.4s-1 .9-1.3.9c-.3 0-.5-.5-.4-.8 0 0-.2.7-.8 1.1a4 4 0 01-1.4.7zm3-4.3s1.2-1.2 1.2-3.6c0-2.4-1-2-1-2s.8.6.6 2.4c-.1 1.9-.7 3.2-.7 3.2zm1.4.2s1.3-.3 1.7-1c.5-.8.5-2.2.5-2.2s-.2 1.3-.5 1.8c-.4.5-1.7 1.4-1.7 1.4zm-.7 7.6s.6-1.2 1.4-1c.9.4.9 1 .9 1s-.3-.4-1-.5a2.6 2.6 0 00-1.3.5zm-2.4-2.2l3-.8 2.3-.8s-.9 1-2.2 1.9c-1.4.7-2.5.8-2.5.8s2.5-1.1 2.7-1.6c0 0-2.4.7-3.3.5z"/>
+  <path fill="#fff" d="M237 212.7a2.1 2.1 67.8 01-2.4 3.5"/>
+  <path fill="#f16e16" d="M236.9 212.9a1.9 1.9 67.8 01-2.2 3"/>
+  <path d="M236 214a.8.8 0 11-.7 1"/>
+  <path fill="#d5d3ca" d="M236.2 214.9a.2.2 0 11-.5-.1.2.2 0 01.3-.2s.2.1.2.3z"/>
+  <path fill="#ab6d29" d="M237.5 211.3s1.2-1.2 1.5-2.8c.2-1.6 0-2.5 0-2.5l.7.7.3 1.2-.4 2 1.3-.6a10 10 0 001-5s.3.7-.2 3-.9 2.6-2.6 3.6a7.6 7.6 0 00-3 3.3 13 13 0 01-1.9 2.5s.9-1.2 1.3-2.2c.7-1.4 1.4-2.2 1.4-2.2l.6-1z"/>
+  <path fill="#904720" d="M236.9 212.3s.5-1.6.5-2.5c0-.9-.6-1.9-.6-1.9s.8 0 .9 1.8c0 2-.3 2-.8 2.6z"/>
+  <path fill="#4d2a15" d="M239.3 210.3s.6-1.5.6-2.4c0-1-.8-1.9-.8-1.9s1 .2 1 2c0 1.7-.2 1.7-.8 2.3z"/>
+  <path fill="#ab6d29" d="M233.7 216.8s-.5-.6-.4-1c0-.5 0-.6 1.1-1.8a8.9 8.9 0 002-2.5c.3-.6 1.2-2.3.5-3.6 0 0 .5 2-.6 3.4a12.7 12.7 0 01-2.7 3c-1 .7-1 1-1 1.4 0 .4.1.7.3.8.3.2.8.2.8.2z"/>
+  <path fill="#6c4119" d="M244.4 220.5s.2 0 .4-.3c.1-.2.1-.7-.3-1.2a2.6 2.6 0 00-1.3-1l-1.6-.2s.3.6 1 1c.4.2 1 0 1.4.3.3.4.4 1.4.4 1.4z"/>
+  <path fill="#6c4119" d="M244.4 220.5s1.2-.4 1.3-1.6l-.1-1s.2.4.7.6l.4-.2s-.7 2.3-2.3 2.2z"/>
+  <path fill="#bf802d" d="M235.8 220.3l.7.6.7.7 3-.8 1-.9-.9-1.3h-2.1l-2.4 1.7z"/>
+  <path fill="#f9c83a" stroke="#8f4620" stroke-width=".3" d="M243 219.3l-.5-.8s-.2-.3-.6-.5c-.4-.3-2.2-.2-2.2-.2l-1.3.2s-.4.4-1 .2l-2.2-.7-1.4-.7s-1.1-.4-1.4-.3c-.2 0-1 1-1 1s-.3.6.1.6c.3 0-.5.2-.5.2s-2.3 1.2-2.6 3.4c-.4 2.2 3.7 5.5 5.2 3.8 0 0-2.2-1.6-1.8-3 .4-1.3 1.5-2.2 3.2-2.3 1.7 0 1.8-.3 2.6-.8.7-.6 2.1-.9 3.2.2 1 1.1-4 2.1-4 2.1l.6.8s6.1-2.1 5.6-3.2z"/>
+  <path fill="#fcf3d8" d="M231.5 224.5s-2.5-.6-2.3-2.9a4 4 0 012.7-3.2c.4-.1.3-1.3.7-1.4.4-.1 1.2 0 1.6.3.3.4 1.1.7 1.1.7s-4.4 2-4.5 4.5c0 1.7.7 2 .7 2z"/>
+  <path fill="#fdeaaf" d="M243 219s-.3.2-.4 0c-.4-.8-1.5-1-2.4-1-1.1 0-1.9.4-2.7.4l-1.4-.2c-1 0-2.8-1.4-3.3-1.3-.4.2-.6.7-.5 1 0 .2-.8.3-1 0s.7-1.4 1.5-1.4c2.1 0 3.7 1.4 4.7 1.4s1.3-.5 2.7-.5 2.8.6 2.8 1.6z"/>
+  <path fill="#513625" d="M236.2 220.7l1.7-.6 1.8-.6-1.6 1-1.7.4-.3-.2z"/>
+  <path fill="#f9c83a" d="M232.6 225.8c-.1.1-1 0-2.4-.9s-1.8-2.5-1.8-2.5-.3-1.5 1.2-3c1.4-1.6 1.6-1.1 1.7-1v.1l-1.3 1-.7 1.1-.5 1v1l.7 1.2 2 1.3 1.1.7z"/>
+  <path fill="#8b5122" d="M231.9 217.2l-.1-.2v.2-.2.2-.2l-.2.1h.2v-.1l-.2.1.2-.1h-.2v.1l.2-.1h-.2.2l-.2-.1h.2-.2.2-.2.2-.2a3.6 3.6 0 00-.4.5 1 1 0 00-.2.5c0 .2.2.4.3.5h1.2a.2.2 0 000-.3.2.2 0 00-.2-.1h-.5a.6.6 0 01-.3 0v-.1a.4.4 0 010-.2 2.4 2.4 0 01.3-.4v-.1h.1v-.2a.2.2 0 00-.1-.2.2.2 0 00-.2.3.2.2 0 00.3 0z"/>
+  <path fill="#f9c83a" d="M236.1 219.3l-3 .9c-.3.2.9 0 1.8 0a3.5 3.5 0 011.1 0h.7c1.2-.5 3.6-1.4 3.8-.4.2 1-3.3 1.7-3.3 1.7v.3l2.8-.7 1.4-.7.5-.8-1.4-1h-2l-1 .3-1.4.4z"/>
+  <path fill="#8f4620" d="M231.8 223.6c.2.6.7 1.5 1.2 1.8 0 0 .1 0 0 0 0 .2-.4.4-1.3.2-1-.3-2.4-.7-3.3-3.3v.5l.5 1 1 1 1.4 1 1 .2.9-.2.4-.3-.9-.8-1-1.8v.7z"/>
+  <path fill="#fcca3d" d="M241.7 250.1v1h-.6l.1-1.3zm-3.8-27.5l-1-1.1h-.6l1 1.4z"/>
+  <path fill="#816c2a" d="M241.6 252.4l-1.3-.8-2-.5v.3h.2a5 5 0 011.7.5 11.4 11.4 0 011.3.7l.1-.2zm0-2.5h-2.2c-.8.2-1.2.6-1.2.6l.1.2a3 3 0 012.1-.6 17.7 17.7 0 011.1 0v-.2zm-.3-2.1l-2 1-1.4 1 .2.2.4-.3.9-.6a14.7 14.7 0 012-1l-.1-.3zm-1.4-2.2a2 2 0 01-.2 1 6.9 6.9 0 01-.5.6l-1.3 1.4-.7.7.1.2a165 165 0 001.2-1.2l.9-1 .5-.6c.3-.5.3-1 .3-1h-.3zm-1.7-1a3.4 3.4 0 01-.1 1.8l-.8 1.7-.4.8-.1.3h.2s1-1.7 1.3-2.7a3.6 3.6 0 00.2-1.2v-.7h-.3zm-1.7-.2a7.4 7.4 0 000 1 4.5 4.5 0 01-.1 1.3 97 97 0 01-.5 1.5l-.3.8h.2l.8-2.2c.2-.4.2-1 .2-1.5v-.9h-.3zm-1.3 0v1l-.1 1.5a41.4 41.4 0 00-.4 2h.2l.1-.6.3-1.3c.2-.9.2-2.6.2-2.6h-.3zm-1.3.3a9.8 9.8 0 000 2.2c-.3.8-.4 2-.4 2h.3a16.9 16.9 0 01.3-1.9v-2.4h-.2zm-1.1 0v.2c0 .3 0 1-.3 1.8l-.4 1.5-.2.8.2.1.7-2.3a7 7 0 00.2-1.9v-.1h-.2zm-1.3.1v.5c0 .5 0 1.2-.3 1.7-.2.5-.7.9-1 1.2a7.6 7.6 0 01-.7.5h-.1l.1.2s1.4-.8 2-1.8a4.6 4.6 0 00.3-2.3h-.3zm-.7-.2v.1a5.3 5.3 0 01-.8 1.5l-1 1-.5.2-.2.1.1.3s1.2-.7 1.8-1.4c.5-.7.8-1.8.8-1.8h-.2zm-1.2-.6v.1a7.3 7.3 0 01-.4.5c0 .2-.2.4-.3.5l-.8.5a16.2 16.2 0 01-.5.3l.1.2.5-.3.8-.5.6-.7.2-.5-.2-.1zm-.6-.8l-.2.3a13.8 13.8 0 01-.7.7 5.2 5.2 0 01-.4.4l-.3.2v.2l.6-.3 1.2-1.3-.2-.2zm-.2-.5l-.2.2-.7.4-.7.3v.3c.2 0 .3 0 .5-.2l1.2-.8-.1-.2zm-.3-.5l-.6.3a9.3 9.3 0 01-.4.2 1.5 1.5 0 01-.4.2v.2l.5-.1 1-.6v-.2zm-.2-1.1a2.7 2.7 0 01-.5.4l-.7.3v.2c.4 0 .7-.2 1-.4a2.9 2.9 0 00.4-.3l-.2-.2zm0-1.8l-.4.4-.6.8a.4.4 0 01-.1.1v.3l.2-.1a.6.6 0 00.1-.2c0-.2.3-.4.6-.7l.3-.2.1-.2-.1-.2zm8.6-10.2h1.3v-.2.2-.1.1-.1.1-.1l-.1.1v-.1.1-.1h-.1.1-.1v-.1h.1-1.2v.2zm0-.8h.1l.6-.1.8-.5.3-.3a.6.6 0 01.3 0v-.3l-.5.2-.8.5-.7.3v.2zm0-1.2c.1 0 .3 0 .5-.2l1-.6.7-.3v-.3l-.5.2-1 .6-.8.4v.2zm-.5-1l1.2-1 1.3-.9-.1-.2-1.3 1-1.2.8.1.2zm-.8-1.3l2.6-1.9-.2-.2-2.6 1.9.2.2zm-1.2-1.3l1.5-1 1.2-.8-.1-.2-1.2.8-1.5 1 .1.2zm-.8-.7a93.2 93.2 0 012.1-1.5l.6-.4v-.2a6.2 6.2 0 00-.7.3 90.4 90.4 0 00-2.2 1.6l.2.2z"/>
+  <path fill="#78732e" d="M235.6 220.3l.1.1a13.8 13.8 0 012 2c.8 1 1.4 2.2 1.4 3.3v.4a7.7 7.7 0 01-2 4c-1.5 1.9-3.8 3.5-5.6 5.1a14.4 14.4 0 00-2.4 2.5 5 5 0 00-1 2.8v.1c0 1 .4 2 1 2.7a3.5 3.5 0 002.5 1.6 5.5 5.5 0 00.6 0c1.4 0 3-.5 4.5-.5 1.2 0 2.4.3 3.5 1.5 1 1.1 1.3 2.9 1.3 4.6a19 19 0 01-.3 3.3 20.5 20.5 0 01-.3 1.5h.2s.7-2.3.7-4.8c0-1.7-.4-3.6-1.4-4.8a4.7 4.7 0 00-3.7-1.5c-1.6 0-3.1.4-4.5.4h-.6a3.3 3.3 0 01-2.3-1.4 4.9 4.9 0 01-.9-2.6v-.1c0-1.3.6-2.4 1.6-3.5 1.4-1.6 3.6-3.2 5.5-5 2-1.6 3.6-3.5 3.9-6v-.3c0-1.4-1-2.8-1.9-3.9a13.8 13.8 0 00-1.8-1.7l-.1.2z"/>
+  <path fill="#a8ac71" d="M233.7 222.8l-.3-.3-.3.1.5.4zm.8.7l-.2-.2h-.2l.2.3z"/>
+  <path fill="#78732e" d="M235.6 224.8l-.2-.3-.1.2.2.2zm.8 1.2v-.2h-.3l.3.3zm.5 1.2v-.3h-.1v.3zm0 1.2v-.4.4zm0 .7v-.3.4zm-9.7 11.9l.1-.6c.1-.3-.2.1-.2.1v.4h.1z"/>
+  <path fill="#fff" d="M227.1 241.7h-.1v.4h.1v-.4z"/>
+  <path fill="#78732e" d="M227.2 243.1v-.3h-.2v.5z"/>
+  <path fill="#fff" d="M227.3 243.9v-.3h-.2v.3zm.2 1.1l-.1-.3v.4zm.3 1.2l-.2-.4v.4z"/>
+  <path fill="#a8ac71" d="M228.5 247.8l-.1-.3h-.2l.2.3zm1.2 1.1l-.4-.3c-.2-.2-.1.2-.1.2l.3.2.2-.1zm7.8.6l-.3-.2.2.3v-.1z"/>
+  <path fill="#fff" d="M238.2 250l-.3-.2v.2h.2z"/>
+  <path fill="#a8ac71" d="M238.3 250.3l-.2.2.3.2-.1-.4zm0 1.1v-.4c0-.1 0 0 0 0v.4z"/>
+  <path fill="#fff" d="M238 252.6v-.3l-.2.3zm-12-41.7s.5-.1.1.4l.3-.4-.2-.1-.2.1z"/>
+  <path fill="#f9c83a" d="M235.7 220l.3.3-.4-.1.1-.2z"/>
+  <path fill="#8f4620" d="M236 220.3h-.6l.2-.1h.4z"/>
+  <path fill="#977c2e" d="M240.7 255.3s.4 0 .5-.3c.2-.2 0 .3 0 .3l-.3.1-.2-.1z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/my.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/my.svg
new file mode 100644
index 0000000..7ebe064
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/my.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-my" viewBox="0 0 512 512">
+  <path fill="#cc0001" d="M0 0h512v512H0z"/>
+  <path id="a" fill="#fff" d="M0 475.5h512V512H0z"/>
+  <use width="100%" height="100%" transform="translate(0 -73.1)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -146.3)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -219.4)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -292.6)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -365.7)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -438.9)" xlink:href="#a"/>
+  <path fill="#010066" d="M0 0h320v292.6H0z"/>
+  <g fill="#fc0">
+    <path d="M123.8 51.9a93 93 0 00-93.2 92.9 93 93 0 00143.7 78.1 82.7 82.7 0 01-27 4.5 82.5 82.5 0 01-82.7-82.3c0-45.5 37-82.4 82.6-82.4a82.6 82.6 0 0128.7 5A93 93 0 00124 52z"/>
+    <path d="M278.4 193.2L239 172.7l11.6 41.9-26.2-35-8.2 42.6-8-42.7-26.5 35 11.8-41.9-39.3 20.4 29.2-32.8-44.5 1.7 40.9-17.1-40.9-17.3 44.5 1.8-29-32.9 39.2 20.5L182 75l26.2 35 8.2-42.6 8 42.7L251 75l-11.8 42 39.3-20.4-29.2 32.8 44.5-1.7-40.9 17.2 40.9 17.2-44.5-1.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mz.svg
new file mode 100644
index 0000000..113a205
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/mz.svg
@@ -0,0 +1,21 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mz" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="scale(1.0321)">
+    <path fill="#009a00" fill-rule="evenodd" d="M0 0h744v155H0z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M0 155h744v15.5H0z"/>
+    <path fill-rule="evenodd" d="M0 170.5h744v155H0z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M0 325.5h744V341H0z"/>
+    <path fill="#ffca00" fill-rule="evenodd" d="M0 341h744v155H0z"/>
+    <path fill="red" fill-rule="evenodd" d="M0 0v496l325.6-248L0 0z"/>
+    <path fill="#ffca00" fill-rule="evenodd" d="M192.3 322.6l-49.6-36.3-49.5 36.3 19.2-58.4-50-36 61.6.3 18.7-58.5 18.8 58.5 61.5-.3-50 36z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M99.6 281.9h35.8c2.9 3.2 9.3 4.5 15.4 0 11.2-6.2 32.9 0 32.9 0l4.3-4.6-10.4-34.1-3.8-4s-8-4.8-23.2-3.2c-15.2 1.6-20.5-.6-20.5-.6S116.7 237 113 239l-4.3 4.3-9 38.7z"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M106.8 273s34.2-4.2 44 8.9c-5.5 3.8-10.4 4-15.7.2.9-1.4 12.3-13.3 41.4-9.3"/>
+    <path fill="none" stroke="#000" stroke-width="1.1" d="M143.4 238.9l-.3 37.6m30.7-37l6.4 29.8"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M113.3 239l-3.5 15.4"/>
+    <path fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M76.4 286l8.4 9.8c1 .6 1.9.6 2.8 0l12.4-15 5.3-6.4a4.1 4.1 0 001-3l10-9c.8.2 1.3.3 2 .3-.9-.3-1.6-.7-.8-1.8l2.2-1.7 1.8 2.2s-2.5 3.3-2.8 3.3H116l-5.3 4.7 2.3 2 3.5 9.5 4.2-3-2.7-9.7 6-6.5-2.3-3.5 1.5-2s20.7 13 28.7 9.5c.2.1.5-9.3.5-9.3s-21.5-2.2-22-6.4c-.5-4.3 4.8-4.8 4.8-4.8l-2.3-3.2.5-1.8 3.8 4.8 8.4-7.3 49.9 56.9c2.7-1.1 3.3-1.8 3.5-4.5L150 234l3.8-4c.7-.8 1-1.2 1-2.5l5.7-5a7.1 7.1 0 013.7 3l15.8-13.3c.4.4 1.7.8 2.5.3l26-25-28.3 20-1-.7c0-.8 1-1 0-2.5-1.1-1.3-2.8 1.3-3 1.3s-4.1-1.4-5-3.1l-.2 4.6-7.3 6.7-5.5-.2-8 7.7-1 3 1.3 2.5s-4.2 3.7-4.2 3.5c0-.3-.9-1.1-1-1.3l3.7-3.2.5-2.3-1.2-1.9c-.4.3-5 5.2-5.3 4.7L129.7 211l.7-2.8-8.5-9.2c-3-1-8-1.2-9 5.5-.7 1.6-7.2.2-7.2.2l-3.4.8-19.7 27.9 11 13.2 22.4-28.4.6-8 4.7 5.2c1.6.2 3.1.2 4.5-.5l13.3 14.8-2.2 2.2 2 2.2 2.2-1.6 1 1.3c-1.2.6-2 1.4-3 2-1.9-1.1-3.6-2.6-3.4-4.9l-7.5 6.2-.3 1.3-22.2 18.4-2 .3-.5 5.7 14.5-12v-1.7l1.5 1.2 11.2-9s.8 1 .5 1-10 9-10 9l-.2 1-1.7 1.5-1-.7-13.5 12h-2l-7.5 7.4c-1.9.2-3.6.4-5.2 1.5l-13.4 12z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/na.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/na.svg
new file mode 100644
index 0000000..b934fc1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/na.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-na" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#3662a2" d="M-108.2.2l.8 368.6L466.6 0l-574.8.2z"/>
+    <path fill="#38a100" d="M630.7 511.5l-1.4-383.2-579 383.5 580.4-.3z"/>
+    <path fill="#c70000" d="M-107.9 396.6l.5 115.4 125.3-.2 611.7-410.1L629 1.4 505.2.2l-613 396.4z"/>
+    <path fill="#ffe700" d="M154 183.4l-23.1-14-13.4 23.6-13-23.8L81 183l.6-27.1-27 .2 14-23.2L45 119.5l23.8-13L55 83l27 .6-.1-27.1 23.2 14 13.4-23.6 13 23.7L155.2 57l-.6 27 27-.1-14 23.2 23.6 13.3-23.8 13.1 13.7 23.4-27-.5z"/>
+    <path fill="#3662a2" d="M167.8 120c0 27.2-22.3 49.3-49.8 49.3s-49.7-22.1-49.7-49.4 22.3-49.3 49.8-49.3 49.7 22 49.7 49.3z"/>
+    <path fill="#ffe700" d="M157 120a39 39 0 11-77.9 0 39 39 0 0177.9 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nc.svg
new file mode 100644
index 0000000..2bdf6ee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nc.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-nc" viewBox="0 0 512 512">
+  <path fill="#009543" stroke-width=".8" d="M0 0h512v512H0z"/>
+  <path fill="#ed4135" stroke-width=".8" d="M0 0h512v341.3H0z"/>
+  <path fill="#0035ad" stroke-width=".8" d="M0 0h512v170.7H0z"/>
+  <circle cx="225.6" cy="256" r="167.8" fill="#fae600" stroke="#000" stroke-width="5.7"/>
+  <path stroke="#000" stroke-width="6.8" d="M197.2 281h56.9m-56.9-42h56.9M225.6 88.6v286.8"/>
+  <path stroke-width="1.1" d="M158 410c68.6 28 132.8 1.8 132.8 1.8s-24.3-26.2-36.7-36.5c-12.1-10-47.8-9.6-60 0-10 8-39.2 37.5-36 34.8z"/>
+  <ellipse cx="225.6" cy="333.4" stroke-width="1.1" rx="18.8" ry="27.3"/>
+  <ellipse cx="225.6" cy="260" stroke-width="1.1" rx="22.8" ry="14.4"/>
+  <circle cx="225.6" cy="193.4" r="22.8" stroke-width="1.1"/>
+  <path stroke-width="1.1" d="M253 108.7s2 3.2-2.2 10.7c-19.9 35.7-39.7 36.5-43.5 39.5-4.2 3.4-6 3.2-6 3.2.4-3 .6-15.6.8-16.8 3-16.6 28.3-16.4 48-33.5 3-2.7 2.8-3.2 2.8-3.2z"/>
+  <path d="M265.5 163s4 11.2 4.5 22.5c1 18 18.2 18.5 30 18.5v-10c-8.9 0-16.6-1.3-23-14.5a115 115 0 00-11.5-16.5zm-.5 145s6.3-7.8 13.7-26c3.8-9.5 13-15 21.3-15v-14c-19 0-28.2 7-29.1 17.4-2 21.1-5.9 37.6-5.9 37.6z" transform="translate(-115.7) scale(1.13778)"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 451.3 0)" xlink:href="#leaf"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ne.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ne.svg
new file mode 100644
index 0000000..e76e44c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ne.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ne" viewBox="0 0 512 512">
+  <path fill="#0db02b" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h512v341.3H0z"/>
+  <path fill="#e05206" d="M0 0h512v170.7H0z"/>
+  <circle cx="256" cy="256" r="72.5" fill="#e05206"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nf.svg
new file mode 100644
index 0000000..2149522
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nf.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nf" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M155.8 0h200.4v512H155.8z"/>
+    <path fill="#198200" d="M0 0h155.8v512H0zm356.2 0H512v512H356.2z"/>
+  </g>
+  <g fill-rule="evenodd" stroke="#000" stroke-linejoin="round">
+    <path fill="#198200" stroke-linecap="round" stroke-width=".7" d="M243 332.4v41l16.5.2s-5.3-35.8-2.4-40.6c3-4.7 5.7-4 5.7-4s10.8 3.2 12 2.7c1.2-.5-.2-4.1 5.6-3.6 1.9-.7.9-4 2.6-4.1 1.7-.2 34.7 9.2 41.8.3-1.8-5-8.3-.3-10-.2-1.6 0-8-3-11.8 0-3.5-2.5-19-4.2-19-4.2-2-2 37 1 39.3-.5 4.6-4.6-8.5-4.1-10.6-2.6-3.6-2.2-8.2-2-11-.5-1.4-3.2-14-1.8-21.1-2.7-2.3-1.4-2-2.1-.4-3 14.8.7 29.5 2.6 44.3 2 4-5.3-5-7.3-10.6-2.8-3.3-5.4-10-.2-14.4-.7-4.4-.5-2.4-6 3.3-5.1 5.6.8 15.7-.4 17.6-3 1.9-2.5-1.1-5.1-10.4-2.7-3.2-3-10.1 0-13.4 1-4.3-2.3-14.3-.3-17.7.6-3.4-2.1 17.6-5.5 17.6-5.5 8-.1 12.6-1.5 15.2-2.2 12.2-6.6-.2-7.3-6.6-2.5-4-3.1-7.8.3-11.4 1.5s-10.4 2-10.4 1.5 9.8-6.5 9.8-6.5 12-.9 14.3-1.2c2.4-.3 14.7-6.6-2-2.4-5.8.5-9.3.2-11.5.3-12.9-1.3 1.2-2.5 1.2-2.5s18.2-1.7 18.5-2.6c.3-7-15-3.7-15-3.7 0-5.1-14.3.1-14.3 0-2.7-1.6 1.6-3.3 1.6-3.3 3.7-.9 9.4-1.2 10.8-2.4 0 0 10.6 0 11.9-2.9-2.6-7.2-22.5 1.3-25.1 2.6-3.6 0 2.4-5.8 2.5-6 .2-.2 16.4-.9 24.1-11.3.6-6.3-9 3.6-9 3.6-.7-8.2-10.4.5-16 1.2-5.7.7-5.9-2.6-2-3 4-.6 8.4-.2 10.6-6.2 2.3-6 9 .3 10.1-2 1.2-2.1-2.4-4-2.4-4s5-5.1-3-5c-8 .2-18.5-1-18.5-1s8.4-3.2 16.2-3c7.9.1 3.6-5.7-4-5.7-7.4 0-11.4-2.6-11.4-2.6l12.9-4.8-.9-3.6s7.5-6-3-4.6l-11.9 1.6-21.3 3.2c-.2 0-5.8-1.7-.4-3 5.5-1.4 24.8-5.4 27.7-4.3 3 1-.3-7.2-10.6-8.2-10.2-1-16.6 2.5-16.6 2.5s-6.6-2.4-.5-4.4c6.2-2 16 .7 16 .7s10.9-3.3 1.8-4.7c-9-1.3-12 1.3-16 1.4-1.7-2 14.2-2.5 15.2-4.3-1.7-3-11.6 0-17.3 0-2.5-1-2.6-2.7.2-3.7 5.8-.2 11.3.1 17.2-.1-.2-3.2 0-6.9-.1-10-7.5-1.4-16.2 1-20.4.8 1.1-3.4 17.2-4.3 19-5.2 3.7-4.7-15.7 0-16 0-3.3-.5-3-2.7-1-4 5-.5 16.1.7 15.3-2.6-.7-3.2-7.7-1.5-10.6-.8-3 .7-7.2.2-7.2.2-1.9-2.5 16.7-1.5 16.6-3.4-.3-2.3-11.8-.7-15.7-.6-3.1-2 14.7-3.5 15-3.7.6-5.7-12 0-14.4 0-2.4 0-1.2-3.6-1.2-3.6s5-2.2 4.8-2.6c-.1-.3-3.7-1.5-4-1.5-.4 0 0-4 0-4s4-3 3.7-3.9c-.4-.8-4.8.7-4.8.7v-3.4s3.2-.4 3.6-1.9c.3-1.5-4-1.7-4-1.7l-1.6-18-1.6 16.8-5.6.9s3.9 2.2 4.6 4.4c.7 2.2-4.8 1.5-4.8 1.5s4.4 3.8 4.8 5.2c.3 1.3-6.2 1.7-6.2 1.7s5.5 4 5.8 6.1c.4 2.3 0 3.5 0 3.5s-9-8-14.8-5.7c-3 1.6 6.9 2.3 13.5 8 0 1.3-16-3.9-16.6-.6.4.9 17 3.3 18.3 5.4-6.1.3-18.7-1.3-18.3.7-1.3 2.3 11.9 1 17.4 3 1.6 1.8 1.5 3.3-1.3 3.5-5.4-2.5-17.3-4.4-17.3-1.2 0 .9 12.3.3 16.7 3.3-5.9 1.3-26-2.8-26.1-.8.6 1 3.8 5 9.2 4.9 5.5-.2 18.1 2.2 19 3.9.8 1.7-16.4-3.6-23-.5s18.7 1.2 22.8 5-8.2-.4-8.2-.4-17-2.4-19.6-1.2c-2.6 1.2-5.5 4-5.5 4s1.7 3.4 3.4 2.7c1.7-.7-.5 2-.5 2s24 5.8 29.2 11c5.3 5-30.4-8-30.4-8s-14.4 5.2.8 5.6c-1.7 2.5 1 4 1 4s25.2 5.4 27.8 9.5c2.5 4-17.3-4-21.7-6.2-4.5-2.2-17.1 1.4-17 2.2.2.9 6.2 2.1 6.4 3.6.1 1.6-7.4 2-7.4 3.4s32 8 40.5 15.3-25.1-8.6-25.1-8.6 1.9 2.6 0 3.3c-1.9.6-8.6-9.6-19.5-3.3-2 2.6 9.6 4.7 12.5 5-1 2.5-1.9 3.4 2.2 6 4.1 2.5-8-3.8-8-3.5l.8 4.5c-3.8-3-8.3-4-12.6-.9 0 0-.2 3.1 4.3 5-2.5 5 2.7 3.4 10.9 8-12.2-3.2-13.2 2.8-4.5 4.1 8.8 1.4 32.7 2.2 38.3 9.6 5.7 7.3-8-2.8-9.5-3a16 16 0 00-.7 3.7 37 37 0 00-11.4-5c-.3.8-.2 1.7-.6 2.4-4-2.8-7.4-4.8-13.1-5.1l-.7 2.7s-4.8-6-14.2 0c-5.3 3.8 19.8 1.4 24 5.8 4 4.5.8 5.2.8 5.2l-10.3-3.8s-12.1-2.2-15.5.5c-3.5 2.7 49.9 9.4 51.4 16.8 1 4-12.5-4.2-24.3-7.7l-1.3 4s-4.7-4.8-10-5.6l1 4.6s-13-6.1-19.7-2.9c-6.7 3.3 23.2 5 26 8 2.7 3.2-9.1-2-10.2 0-1 2.1-15.5-3.7-15.3-1 .1 2.8 2 4.3 2 4.3s30.3 3 31.3 6.5c1 3.6-16.8-2-16.8-2s-1.7 2.5-.3 3.7c1.4 1.2-10.3-6.8-9.2-1.5-3.8-1.5-13.5-6.2-12.2-2.6 1.4 3.6 27.6 8.7 27.6 8.7s-11.5.9-11 3.8c-14.7-9-14.3-3.2-14-3 .3.1-19-4.9-4.4 3 14.5 7.9 7.8 6.5 8 6.7.2.1 1.5 4 1.2 4-.4 0-10-5.2-13.2-5.6-3.2-.3-18.6 4.3-2.2 11.5 16.4 7.2 26.5-1.7 35.6-.7 9 1 13.3 2.6 12.4 5.5-.8 2.9-9.2-9.6-18 1.2-10.1-2-17-3.1-11.8 4.2-16.4-6-26.4 2-5.7 5.2 20.3.6 32.8-5 32.8-5s3.4 6.3 8.4 1.9c5-4.5 5.1 1.7 5.3 1.7l4.8-2h1.2z"/>
+    <path fill="#fff" stroke-linecap="round" stroke-width=".8" d="M245 308v-2.8s-6.5-1.1-9.6-.5c-2-1-3.7-2.5-5.9-1.3-.4 1 4 3.4 5.6 3.4 1.8 1.1 9.9 1.4 9.9 1.3zm-.1 4.7s-6.5-2.3-9 .4c.4 2.9 7.6 4.3 9 3.5 1.6-.8 0-3.7 0-3.9zm10.9 1.2v2s7.7 1.5 9-.2c1.4-1.6-6-2.7-9-1.8zm-.4-8l.3 2.3s6.7 1.5 9.2-2.2c2.6-3.6-5.8 0-9.5-.1zm.4-7.8v1.5s5 .8 6.1-1.3c1.2-2.2-6 0-6.1-.2zm-10.5-4.6c-.8-1-3.5-3.8-10.8-4.6-5 0 9.2 7.5 10.8 4.6zm10.3-7.6l-.2 2s17.2-5 21.2-4.7c3.6-1 4.3-3.5 4.2-3.5-3.1-2.2-17.9 1.8-25.2 6.2zm.4-6l-.2 2s12-2.4 15.3-4.7c3.2-2.3-15 2.7-15.1 2.6zm-.5-6v2s8-.2 9.7-1.9c1-1.6-7.1-.2-9.7-.1zm16.8 17s4.2.5 5-.7c-.1-2.2-5 .7-5 .6zm-16.5-24.5l.1 4.4s19.4-6.2 20.6-7.3c1.2-1.1 4-4.6-20.7 2.9zm-.5-6.2v3.2s7.8-.5 11.4-3.5c3.5-3-11.4.4-11.4.3zm-9.4-7.3l.5 3-25.6-8.4s-1.3-4.2 25 5.4zm.4-10.3c0 .3 0 2.8-.1 2.7 0 0-17.8-7.4-18.5-6.8-2.3-5.5 18.6 4.2 18.6 4zm8.7 4.6l.3 2.5s10.9-2.3 11.5-3.4c.6-1-11.8 1-11.8.9zm.2 5.8l.4 2.5s4.3-.3 5-1.3c.6-1-5.4-1.2-5.4-1.2zm-.6-13.3v2.5s12-2.4 13.3-3.5c1.3-1.2-13.6 1-13.3 1zm0-6.6c0 .2-.4 2.5-.1 2.5a69 69 0 0016.7-4.5c2.3-2-16.4 2.3-16.6 2zm-.2-11.6v2.5s9.2-1.9 11-3.8-11 1.5-11 1.3zm-1.6-16.9l.3 3.8s12.3-1.7 14.1-3.8c1.8-2-14.4 0-14.4 0zm-5.7-28.4v2.4s-5.9-.3-4.4-1.3c1.4-1 4.4-.9 4.4-1zm5.5 3.2v3.2s7.7-.7 8.3-2c.5-1.1-8.2-1.2-8.3-1.2zm-.5 4.6l.3 2c.1 0 3-.2 3.6-1s-3.6-.8-3.9-1zm-6.4 9.2c0 .2.2 3 0 3 0 0-16.5-4.8-18-4.7-1.6 0-2-3.8 18 1.7zm1.3 5.4c0 .5.4 3.5-.2 3.4-.6-.1-11.2-3.5-10-4.5 1-1 10.2 1.3 10.2 1zm-.9 22.6v2.7s-18.4-5.6-19-6.5c-.7-1-2.5-5.3 19 3.8zm.7 6.6c0 .1.2 2.6 0 2.6l-25-8.8s-2-6.6 25 6.2z"/>
+    <path fill="#fff" stroke-width=".8" d="M217 314.7v2.8s-5-1.4-6.5-4.1c2.9-.8 6.6 1.4 6.5 1.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ng.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ng.svg
new file mode 100644
index 0000000..57d65d3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ng.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ng" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#008753" d="M341.3 0H512v512H341.3zM0 0h170.7v512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ni.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ni.svg
new file mode 100644
index 0000000..8f68d42
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ni.svg
@@ -0,0 +1,129 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ni" viewBox="0 0 512 512">
+  <defs>
+    <linearGradient id="f" x1="498.7" x2="500.6" y1="289.1" y2="283.4" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#510000"/>
+      <stop offset=".3" stop-color="#8a0000"/>
+      <stop offset="1" stop-color="#a00"/>
+    </linearGradient>
+    <linearGradient id="g" x1="501.4" x2="502.9" y1="291.4" y2="287.4" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#ff2a2a"/>
+      <stop offset="1" stop-color="red"/>
+    </linearGradient>
+    <linearGradient id="b" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#F5F549"/>
+      <stop offset="1" stop-color="#97C924"/>
+    </linearGradient>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="#025"/>
+      <stop offset=".5" stop-color="#04a"/>
+      <stop offset="1" stop-color="#025"/>
+    </linearGradient>
+    <linearGradient id="h" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="v" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="o" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="p" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="q" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="r" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="u" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="x" x1="98.9" x2="125" y1="1440.2" y2="1440.2" gradientTransform="scale(4.45715 .22436)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="j" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="l" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="m" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="i" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="s" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="y" x1="47.9" x2="61.7" y1="3054.2" y2="3054.2" gradientTransform="scale(9.12405 .1096)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <clipPath id="c">
+      <path d="M500 226.4l-63.7 110.3h127.4z"/>
+    </clipPath>
+  </defs>
+  <path fill="#0067c6" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <path fill="#c8a400" d="M179.2 255.4l8.5.6.1-1.3-3.4-.2.3-4 3.6-2.6v-1.6l-3.7 2.7c-.1-.9-.6-1.8-1.5-2.1-.8-.3-1.7-.4-2.4.2-.8.6-1 1.8-1.1 2.7l-.4 5.6zm1.3-1.1l.3-4.2c.1-.7.2-1.5.8-2a1 1 0 011.6.6c.5 1 .3 2.2.2 3.3l-.2 2.5-2.7-.2zm-.2-12l8.3 2 2-8.1-1.3-.3-1.6 7-2.5-.7 1.4-6.2-1.1-.3-1.5 6.2-2.2-.5 1.5-6.6-1.2-.3-1.8 7.8zm3-11.1l8 2.8.5-1.2-3.2-1 1.3-3.7c.2-1 .4-2.2-.2-3.1a2.6 2.6 0 00-2.1-1.1c-1 0-1.7.7-2.1 1.5-.6 1.1-1 2.4-1.4 3.6l-.8 2.2zm1.6-.8l1.3-3.6c.2-.7.6-1.4 1.3-1.6.6-.2 1.3.3 1.3 1 .2 1-.3 2.2-.7 3.2l-.6 2-2.6-1zm2.9-9.5l4.5 2.6c.9.5 2 .8 2.9.2 1.2-.6 2-2 2.6-3.1.4-1 .8-2.3.2-3.4-.7-1-1.9-1.5-2.9-2.2l-3-1.7-.5 1c1.4 1 2.9 1.8 4.3 2.6.7.4 1.3 1.2 1.1 2a6 6 0 01-1.2 2.7c-.5.7-1.3 1.2-2.1 1-1-.1-1.6-.7-2.4-1.1l-3-1.7-.5 1zm6.1-10l6.8 5.1 3.1-4.1c.6-.9 1.2-2 .8-3a2.6 2.6 0 00-2.2-1.6c-.4 0-1 .2-1.2.4.2-1-.5-1.8-1.3-2-1-.4-2 .3-2.7 1-.8.8-1.5 1.8-2.2 2.7l-1.1 1.4zm1.7-.3l2.4-3c.4-.5 1-1 1.6-.7.6.3.7 1 .4 1.4-.4 1-1 1.6-1.6 2.4l-1 1.3-1.8-1.4zm2.8 2l2.4-3c.5-.5 1-1.1 1.7-1 .6.2 1 .8.9 1.4-.4 1.1-1.2 2-1.9 3l-1 1.3-2.1-1.6zm3.2-10.8l5.8 6.2 5-4.8-.8-.8-4 3.8h-.2l-5-5.3zm7.5-6.6l5.2 6.8 1-.8-5.2-6.8zm7.6-5.2a7.2 7.2 0 00-2 1.9 3.8 3.8 0 00-.2 4.5 4.4 4.4 0 001.7 1.6c.7.3 1.4.5 2.2.4a7.7 7.7 0 005-3.3 3.7 3.7 0 00.3-2.5l-1.2.5c.3 1.7-.8 2.5-2 3.3-2 1.1-3.8 1-5-.7-1.1-2 .2-3.6 1.8-4.7 1.2-.7 2.3-1.2 3.4-.5l1-.8a3.4 3.4 0 00-2.2-.6c-.9 0-1.8.3-2.8 1zm10.1-5l-.9 9.5 1.4-.5.2-3 4.4-1.7 2.2 2 1.3-.6-7.2-6.3-1.4.6zm1.2 1l2.8 2.4-3.2 1.3.4-3.7zm17.5-6.3l.6 8.5 4.6-.3c1.2-.1 2.5-.4 3.3-1.4a5 5 0 00.8-4.4 3.8 3.8 0 00-3-2.5c-1.2-.3-2.5-.1-3.9 0l-2.4.1zm1.3 1.1l3.7-.2a3.1 3.1 0 012 .6 2.9 2.9 0 011.2 2.7 2.9 2.9 0 01-2 2.6l-2 .3-2.5.1-.4-6zm10.6-1.6l-.5 8.5 8.3.5V187l-7-.4.2-2.6 6.3.4.1-1.2-6.3-.4v-2.3l6.9.4v-1.2l-8-.5zm22.3 3.6l-3 8 1 .3 2.5-6.3v-.3l.2.4 3 8.4 1.4.6 3-8-1-.4-2.5 6.3v.3l-.2-.3-3-8.5zm11.5 4.9l-4 7.6-1-.6 3.8-7.6zm6.4 3.8a7.2 7.2 0 00-2.5-1.1 3.8 3.8 0 00-4.2 1.7 4.4 4.4 0 00-.8 2.1c0 .8.2 1.6.6 2.3a7 7 0 002.2 2c1 .7 1.9 1 2.8 1.1 1 0 1.7-.2 2.5-.7l-1-1c-1.4 1-2.6.4-3.8-.4-1.9-1.2-2.6-3-1.5-4.7 1.3-2 3.4-1.5 5-.4 1.2.7 2.1 1.6 2 2.9l1 .5a3.4 3.4 0 00-.3-2.3 5.8 5.8 0 00-2-2zm8.1 6l-8.9 3.6 1 1 2.8-1.1 3.6 3-.7 3 1 .9 2.3-9.4-1-1zm-.3 1.6l-1 3.6-2.5-2.2 3.5-1.4zm6.8 4.4l-6.6 5.4.8 1 2.6-2.1 2.6 3.1-.8 4.3 1 1.3.8-4.6c.8.6 1.9 1 2.7.4.8-.3 1.5-1 1.5-1.9.1-1.2-.7-2.1-1.4-3l-3.2-3.9zm-.2 1.7c1 1.2 2 2.3 2.8 3.5.4.6 1 1.4.4 2.1-.3.6-1.2.6-1.7.2-1-.7-1.7-1.8-2.6-2.7l-1-1.3 2.1-1.8zm10.1 11.9l-9.6.4.8 1.3 3-.2 2.3 4-1.7 2.6.8 1.2 5.2-8-.7-1.3zm-.8 1.3l-2 3.1-1.7-3 3.7-.1zm6.3 10c-.5-1.5-1.4-3-2.8-3.7a4 4 0 00-4.8 1c-1 1.2-1 2.8-.8 4.2a9 9 0 002.2 4.5l-.6.2.4 1.1 4-1.4-1.6-4.3-.9.3 1.2 3.2-1.4.5a7.5 7.5 0 01-2.2-4c-.3-1.2-.3-2.6.6-3.4 1-1 2.7-1.4 4-.5a6.2 6.2 0 012 3.6c.3.9.3 2-.4 2.7-.2.1 0 .3.1.5l.4.5a3 3 0 001.1-2.4c0-.9-.2-1.8-.5-2.6zm2.5 6.7l-4.8.9c-.9.2-1.5.4-2 .8-.4.4-.7.9-.9 1.6a6.8 6.8 0 00.1 2.6c.2 1 .5 1.8 1 2.4.3.6.8 1 1.3 1.2.6.1 1.3.2 2.2 0l4.7-1-.2-1.2-4.6 1c-2.1.3-2.8-.8-3.2-2.6-.4-2-.1-3.2 2-3.6l4.6-1-.2-1.1zm2.6 14.5l-8.8-3.8v1.4l2.8 1.2.3 4.6-2.5 1.6.1 1.4 8.2-5-.1-1.4zm-1.3.8l-3.2 2-.3-3.5 3.5 1.5zm-145.6 21.3l-1.2.3 1.3 5.2 1.3-.3zm140.4 0l1.2.3-1.3 5.2-1.3-.3zM199 293.5l-9.5 1.1.8 1.2 3-.3 2.5 3.9-1.4 2.6.8 1.2 4.6-8.5-.8-1.2zm-.7 1.4l-1.8 3.3-2-2.9 3.8-.4zm4.4 3.9l-6.1 5.6.8 1 5.1-4.9-2.7 7.4 1 1 7.3-2.2-5 4.7.8.8 6-5.6-1.2-1.4-7.4 2.3 2.8-7.3zm8.8 9l-5.1 6.8 6.6 5 .7-1-5.6-4.2 1.6-2 5 3.7.8-1-5.1-3.8 1.4-1.8 5.4 4.1.7-1-6.4-4.8zm8.4 6.1l-4 7.5 1 .6 1.6-3 3.7 2 .8 4.3 1.4.7-.9-4.5c1 .3 2 .1 2.7-.6.5-.6.9-1.5.6-2.3-.3-1.1-1.4-1.7-2.3-2.2l-4.6-2.5zm.5 1.7l3.9 2c.5.5 1.3 1 1.2 1.8 0 .7-.8 1-1.4 1-1.3-.3-2.3-1-3.4-1.6l-1.6-.8 1.3-2.4zm9.1 3.3l-3.2 8 1.2.4 3.2-7.9zm7.7 2.7a7.2 7.2 0 00-2.7-.4 3.8 3.8 0 00-3.6 2.7 4.4 4.4 0 00-.2 2.3c.2.8.6 1.5 1.2 2a7 7 0 002.6 1.5c1.1.4 2.1.4 3 .3a3.7 3.7 0 002.2-1.4l-1.1-.6c-1.2 1.3-2.5 1-3.9.6-2.1-.8-3.2-2.3-2.6-4.3.7-2.2 2.8-2.2 4.7-1.6 1.3.4 2.4 1 2.6 2.3l1.2.1a3.4 3.4 0 00-1-2 5.8 5.8 0 00-2.4-1.5zm8.6 2l-5.6 7.7 1.4.2 1.7-2.4 4.6.7 1 2.8 1.4.2-3.1-9-1.4-.3zm.5 1.4l1.2 3.5-3.4-.5 2.2-3zm19.5-1.4a7.2 7.2 0 00-2.6 1 3.8 3.8 0 00-1.8 4.1 4.4 4.4 0 001 2c.5.7 1.2 1 2 1.3.8.2 1.8.2 3 0a5.8 5.8 0 002.7-1.3 3.7 3.7 0 001.3-2.2H270c-.3 1.7-1.6 2-3 2.4-2.3.4-4-.4-4.4-2.4-.4-2.3 1.4-3.4 3.3-3.8 1.3-.3 2.6-.3 3.3.7l1.2-.4a3.4 3.4 0 00-1.8-1.3 5.8 5.8 0 00-3-.1zm5.7-1l2.4 8.2 8-2.4-.4-1.2-6.7 2-.8-2.4 6.1-1.9-.3-1.1-6.1 1.8-.7-2.2 6.5-2-.3-1.1-7.7 2.3zm9.2-3l3.6 7.8 1-.5-3-6.4 8.3 3.8h.6l1-.6-3.5-7.7-1 .5 2.9 6.4-8.5-3.9-1.4.7zm9.4-4.3l.7 1 3-2 .1-.1 4 6.1 1-.7-3.9-6v-.2l3.1-2-.6-1zm8.6-6l5.8 6.4.9-.9-2.3-2.4 3-2.8 4.4.5 1.1-1-4.6-.6c.6-.8.8-2 .3-2.8-.4-.7-1.1-1.3-2-1.3-1.2 0-2 .8-3 1.6l-3.6 3.4zm1.7.1l3.3-3c.5-.4 1.4-1 2.1-.5.6.4.6 1.2.2 1.8-.6 1-1.6 1.8-2.5 2.7l-1.2 1-1.9-2zm8.2-10l3.8 8.9 1-1.1-1.3-2.8 3-3.6 2.9.7.9-1.2-9.4-2-.9 1.2zm1.5.4l3.7.7-2.2 2.7-1.5-3.4zm2.2-5.2l7.2 4.7 3.7-5.8-1-.7-3 4.6v.2l-.2-.1-6-4z"/>
+  <g clip-path="url(#c)" transform="translate(-170.7) scale(.85333)">
+    <path fill="#fff" d="M500 226.4l-31.5 54.5-15.4 26.7h93.8l-14.7-25.4-32.2-55.8z"/>
+    <g id="e">
+      <g id="d">
+        <path fill="#17c0eb" stroke="#17c0eb" stroke-width=".1" d="M500 226.4l-2.4 4 2.4 55 2.4-55z" opacity=".6"/>
+        <path fill="#fff" d="M500 277.5h-.1l.1 3 .1-3h-.1z"/>
+      </g>
+      <use width="100%" height="100%" transform="rotate(72 500 285.5)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(144 500 285.5)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-144 500 285.5)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-72 500 285.5)" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(8 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(16 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(24 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(32 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(40 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(48 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(56 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(64 500 285.5)" xlink:href="#e"/>
+    <path fill="red" d="M500 265.8a44.2 44.2 0 00-29 10.8L456.4 302a45 45 0 00-.8 8.3h5a39.4 39.4 0 0178.7 0h5a45 45 0 00-.7-8.3L529 276.6a44.3 44.3 0 00-29-10.8z"/>
+    <path fill="#f60" d="M500 266.7a43.5 43.5 0 00-30.3 12.2l-12 20.9a43.6 43.6 0 00-1.3 10.4h4.3a39.4 39.4 0 0178.6 0h4.3a43.9 43.9 0 00-1.3-10.5l-12-20.8a43.5 43.5 0 00-30.3-12.2z"/>
+    <path fill="#ff0" d="M500 267.5a42.7 42.7 0 00-32 14.3l-8.7 15a42.7 42.7 0 00-2 13.5h3.3a39.4 39.4 0 0178.7 0h3.5c0-4.7-.8-9.2-2.1-13.4l-8.8-15.1a42.6 42.6 0 00-31.9-14.3z"/>
+    <path fill="#0f0" d="M500 268.3a42 42 0 00-34.9 18.6l-2.8 4.9a41.8 41.8 0 00-4.3 18.5h2.7a39.4 39.4 0 0178.6 0h2.7a41.8 41.8 0 00-4.3-18.5l-2.8-5a42 42 0 00-34.9-18.6z"/>
+    <path fill="#0cf" d="M500 269a41.2 41.2 0 00-41.2 41.3h1.9a39.4 39.4 0 0178.6 0h1.9A41.2 41.2 0 00500 269z"/>
+    <path fill="#00f" d="M500 269.8a40.4 40.4 0 00-40.4 40.4h1.4a39 39 0 1178 0h1.4A40.4 40.4 0 00500 270z"/>
+    <path fill="purple" d="M500 270.7a39.6 39.6 0 00-39.6 40.3h.8v-.8a38.8 38.8 0 1177.6.8h.8v-.8a39.6 39.6 0 00-39.6-39.6z"/>
+    <path fill="#510000" d="M500.4 288.1c-.7 0-1.2-.5-1.8-.6a2.2 2.2 0 00-.7 2.1c.3.1.3.4.9.9s.5.7.4 2c0 .4.1 1.5.6 1.6.5.1 1-.3 1.1-1.2.1-.7.4-1.2.7-1.6.3-1.9-.2-2.6-1.2-3.2z"/>
+    <path fill="red" d="M497.2 283.5c-.6 0-1.6 1-2 .5-.2-.3-.3-.9 0-1.4a4.8 4.8 0 012.2-2.3c2.3-1.4 3.9-1 5 1 1.1 1.8 2.2 3.8 2.3 5.4 0 .5.3 1.4-.2 1.9-1.3 1.4-4.6-1.5-6.5-1-.6.1-1.4.6-2 .2-.4-.3 0-1 .3-1.3.6-.5 1.5-2.4 1.4-3.2 0-.4 0 .2-.5.2z"/>
+    <path fill="url(#f)" d="M497 282.6c-1.2.4-1 1-1.6 1.5.2.1.8.3 1.4-.3.2-.2.5-.3.7-.3l-.7.7a5.2 5.2 0 00-1.4 1.8c-.3.8-.4 1.7-.3 1.8 0 0 .4.8 1.5 1.2 2 .8 2.4 2.5 4.5 2.5 1.6 0 1.4-1.1 2.7-.9 1 .2 1.7-.7.6-1.2a14 14 0 00-5.4 0c-.4-4 0-2.6-.1-4.4-.1-1.7-.7-1.8 0-3.3-.5 1-1.2.8-2 .8z"/>
+    <path fill="#ff2a2a" d="M501 279.8l-.1.6.3 1 .2 1c0 .3.4.4.7.6.4.3 0 1 .3 1.1.2 0 .5-1 .5-1.2v-.7a15.3 15.3 0 00-.5-.9 3.6 3.6 0 00-.2-.3 4.2 4.2 0 00-.8-.9 4 4 0 00-.3-.2l-.2-.1z"/>
+    <path fill="url(#g)" d="M501.3 287.4l-2-.7c-1.3-.4-2.6-1.2-3.5-.8-.3.1-.3.4-.4.9 0 .5-.5 1.3 0 1 .6-.4 2.4.8 3 1.1.3.2 1 .6 1.1 1 .2.6 0 1.8 0 2.4 0 .5.2 1.8.7 2 .6.1 1.1-.4 1.3-1.3.3-.9.4-1.4.8-1.9s.8-.8 1.3-.9c.6 0 1.4.5 1.4-.2 0-.4-.4-.8-.2-1.4.1-.5-.4-.4-.9-.6l-2.7-.6z"/>
+    <path fill="#910000" d="M498.4 288.9c-.4-.2-2.3-1.5-3-1-.3 0-.4 0-.4-.3l.2-.9c0-.3.2-.8.5-1 .7-.6 2.3.5 3.1.8l-.4 2.4z"/>
+    <path fill="#ff3a3a" d="M501.8 291.4c.9-1.6 1.5-1.4 2.6-1.4.4 0 .5-.3.4-.7-.3.6-1.7 0-2.5.3-1.5.7-1.2 3.7-2 4 .8.7 1.1-1.7 1.5-2.2z"/>
+    <g fill="url(#h)">
+      <path fill="#fff" d="M453.1 307.6l-10 17.3H557l-10-17.2h-93.8z"/>
+      <g id="n" fill="url(#i)">
+        <path id="k" fill="url(#j)" d="M449.7 321.4a36 36 0 00-4.7.3l-.5.9c2.4-.3 4.7-.7 7.2-.7 3.2 0 6.2.8 9.7.8h4.6c3.5 0 6.4-.8 9.7-.8 3.3 0 6.3.8 9.8.8h4.6c3.5 0 6.4-.8 9.7-.8 3.3 0 6.3.8 9.8.8h4.5c3.5 0 6.5-.8 9.8-.8 3.3 0 6.3.8 9.8.8h4.5c3.5 0 6.5-.8 9.8-.8 2.6 0 5 .5 7.5.7l-.5-1a38 38 0 00-4.4-.2h-4.5c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8H522c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8H498c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8h-4.5c-3.5 0-6.5.7-9.8.8-3.3 0-6.2-.8-9.7-.8h-4.6z"/>
+        <use width="100%" height="100%" y="-1.1" fill="url(#l)" xlink:href="#k"/>
+        <use width="100%" height="100%" y="-2.2" fill="url(#m)" xlink:href="#k"/>
+      </g>
+      <use width="100%" height="100%" y="-3.3" fill="url(#o)" xlink:href="#n"/>
+      <use width="100%" height="100%" y="-6.7" fill="url(#p)" xlink:href="#n"/>
+      <path fill="url(#q)" d="M453.2 307.5v.2h93.7l-.1-.2h-93.6zm-.2.3l-.1.3H547l-.1-.3h-94zm-.2.4l-.2.3h94.8l-.2-.3h-94.4zm-.3.5l-.3.5h95.6l-.3-.5h-95zm-.4.7l-.3.5h96.4l-.3-.5h-95.8zm-.4.7l-.2.4h97l-.2-.4h-96.6zm-.4.7l-.2.4H549l-.3-.4h-97.4zm-.4.7l-.3.6h98.8l-.3-.6H451z"/>
+      <path fill="url(#r)" d="M457.4 312.3c3.4.7 3.7 0 3.7 0zm81.5 0s.3.7 3.7 0z"/>
+    </g>
+    <g fill="#ccd11e">
+      <g id="t">
+        <path fill="url(#s)" d="M530.6 297c-1.7 0-2.2.9-2.2.9-2.7 10.6-11.8 21.3-22.6 21.3h-8V330h61.4l-6.2-11c-9.7-1.4-17.6-11.3-20.1-21.1 0 0-.6-.9-2.3-.9z"/>
+        <path fill="#97c924" d="M530.6 297.5c-.8 0-1.2.1-1.5.3l-.3.3a33.6 33.6 0 01-8.4 14.7c-4 4.1-9 6.9-14.6 6.9h-7.7v9.9H559l-5.7-10c-4.7-.7-9-3.2-12.4-6.8a33.6 33.6 0 01-8.4-14.7l-.3-.3a2.8 2.8 0 00-1.6-.3z"/>
+        <path fill="#ede71f" d="M530.6 297.5h.4v10.8a13 13 0 01-2 6.4c-.5 1.6-1 1-2.3 2.9a25.4 25.4 0 01-5.2 1.2c-2.5.4-8 .8-10.9.1a23 23 0 009.8-6 30.6 30.6 0 002.1-2.5 33.7 33.7 0 003-4.4l1-2a33.9 33.9 0 001.3-2.9 29.8 29.8 0 001-3l.3-.3.6-.2 1-.1z"/>
+        <path fill="#c6cb24" d="M530 298.9c-.5 6-2.3 13.2-6.7 17.8-1.6 1.3-3.7 2.6-5.6 2.3 6.7-5.5 10.8-14 12.2-20.1z"/>
+        <path fill="#9ecb34" d="M524.5 309.3c-1 2.7-4.8 6.7-8.8 10h-2.9c2.5-.2 8.3-5 11.7-10z"/>
+      </g>
+      <use width="100%" height="100%" x="-15.3" xlink:href="#t"/>
+      <g fill="#c6cb24">
+        <path fill="url(#u)" d="M502.2 298c2.8 10.5 11.8 21.2 22.6 21.2h8.1V330h-65.8v-10.8h8c10.8 0 19.9-10.7 22.6-21.3 0 0 .6-.8 2.3-.8 1.7 0 2.2.8 2.2.8z"/>
+        <path fill="#97c924" d="M500 297.5c.8 0 1.2.2 1.5.3l.3.3a33.6 33.6 0 008.4 14.7c4 4.1 9 6.9 14.6 6.9h7.7v9.9h-65v-10h7.7c5.5 0 10.6-2.7 14.6-6.8a33.6 33.6 0 008.3-14.7l.3-.3a3 3 0 011.6-.3z"/>
+        <path fill="#ede71f" d="M499.3 297.5a3.4 3.4 0 00-.3 0l-.6.3-.3.3a28.9 28.9 0 01-1 3 34.2 34.2 0 01-1.2 3 34.2 34.2 0 01-1 1.9 33.6 33.6 0 01-3 4.4 30.7 30.7 0 01-2.1 2.4 23 23 0 01-9.8 6.1c2.8.7 4 0 6.5-.4 2-.3 4.2-.6 6-1.2 1.5-2 1-1.3 1.5-2.9 1.2-2.2 3-4.2 3.4-6.7 1.6-3 1.9-8.6 1.9-10.2z"/>
+        <path d="M499.3 298.9c-.4 6-2.3 13.2-6.7 17.8-1.6 1.3-3.6 2.6-5.6 2.3 6.8-5.5 10.9-14 12.3-20.1z"/>
+        <path fill="#9ecb34" d="M493.8 309.3a31 31 0 01-8.8 10h-2.8c2.5-.2 8.2-5 11.6-10z"/>
+        <path fill="#ede71f" d="M501 297.6l.5.2.4.3a32.3 32.3 0 001 3 33.6 33.6 0 001.2 3l1 1.9a33.6 33.6 0 003 4.4 30.7 30.7 0 002.1 2.4 24 24 0 009.8 6.5c-7.3 0-10.4-.6-13-4a19 19 0 01-4.2-7c-.5-2-2-6.5-1.9-10.7z"/>
+        <path d="M501.5 298.9c.4 6 2.2 12 6.6 16.6 1.6 1.4 3.6 2.6 5.6 2.3a31.1 31.1 0 01-12.2-18.9z"/>
+      </g>
+      <g id="w">
+        <path fill="url(#v)" d="M484.8 297c-1.8 0-2.3.9-2.3.9-2.5 9.8-11.8 22.3-21.5 23.8l-4.8 8.3h49v-11.3c-8.8-2.4-15.9-11.7-18.2-20.8 0 0-.5-.8-2.3-.8z"/>
+        <path fill="#97c924" d="M484.8 297.5c-.8 0-1.3.2-1.6.3l-.3.3a43.4 43.4 0 01-8.1 15c-3.4 4.3-9.7 8.6-14 9l-4.3 7.5h48v-10.7a23.2 23.2 0 01-9.5-6 33.6 33.6 0 01-8.4-14.8l-.3-.3a2.9 2.9 0 00-1.5-.3z"/>
+        <path fill="#93bc30" d="M483.4 298.9c-.6 9-5.6 20.5-11.3 22.4-1.9.7-5.1.9-6.2 1a36 36 0 0017.6-23.4z"/>
+        <path fill="#ede71f" d="M484.8 297.5h-.5v10.8c0 2.3.9 4.2 2 6.4l.2.5c.5 1.1.8 1.5 2.3 2.7a22 22 0 0014.8 4c-1.1-.9-2.3-1.7-3.4-2.4l4.5-.5a23 23 0 01-9.7-6.2 30.5 30.5 0 01-1.4-1.5l-.6-.8a35 35 0 01-3.2-4.5 34.2 34.2 0 01-1-2 34 34 0 01-1.6-3.9 31.7 31.7 0 01-.6-2l-.3-.3a2.2 2.2 0 00-.6-.2 3.6 3.6 0 00-1-.1z"/>
+        <path d="M485.4 298.9c.5 6 2.3 13.2 6.7 17.8 1.6 1.3 3.6 2.6 5.6 2.3a38.5 38.5 0 01-12.3-20.1z"/>
+        <path fill="#9ecb34" d="M489.6 307.3a35 35 0 0014.6 14.9h2.5c-4.4-2.4-11.5-5.8-17-15z"/>
+      </g>
+      <use width="100%" height="100%" x="-15.4" fill="#c6cb24" xlink:href="#w"/>
+    </g>
+    <path fill="#fff" d="M556.5 324.7c-.6.2-4.4-.2-6.4 0l-1.3.3h-3.3c-3.6 0-6.7 1-10.1 1-3.4 0-6.5-1-10-1H522c-3.6 0-6.7 1-10.1 1-3.4 0-6.5-1-10-1h-3.4c-3.6 0-6.7 1-10 1-3.5 0-6.5-1-10.1-1H475c-3.6 0-6.6 1-10 1-3.5 0-6.5-1-10.1-1h-3.4c-2.8 0-6.2.6-8.9.8l-6.3 10.9h127.4z"/>
+    <path fill="url(#x)" d="M548 323.1h-.6c-3.2.1-5.6 1.1-11.2 1.1s-6.2-1-12.6-.8c-6 0-8.4 1.2-11.7 1.2-3.2 0-8.4-.7-12.5-.3-4 .4-8.8 1.3-12 1.3-3.9 0-7.8-.7-11.8-.3-4.1.4-6 1.5-11.1 1.5-4.4 0-9-.7-12.8-.7-3.4 0-7.2 1-10 1.4l-.9 1.5c2.3-.3 8.6-1.3 10.8-1.3 2.4 0 10.7.5 15.3.3 4.7-.1 5.2-1.2 10.7-1.2 3.8 0 6.6.4 10.5.4 2.5 0 4.7-1.2 8.4-1.2l2.8-.1c3.1-.5 8.4 0 12 .2 3.3.2 5.5-.6 9-.7l4.4-.1c3.5-.2 6.4.6 9.7.6 3.2-.2 6.4-1 9.8-1l4.5-.2c2.3 0 5.9 0 8.3.5l-.8-1.4c-2.4-.1-5.3-.7-8.2-.7z"/>
+    <g id="A">
+      <path id="z" fill="url(#y)" d="M450.3 334.8c-3.4 0-6.4.8-9.6.9a31.8 31.8 0 01-3.6-.3l-.5.8h6c3.5 0 6.4-.8 9.6-.9 3.3.1 6.2 1 9.7 1h4.5c3.4 0 6.4-.9 9.6-1 3.3.1 6.3 1 9.7 1h4.5c3.5 0 6.4-.9 9.7-1 3.2.1 6.1 1 9.6 1h4.5c3.4 0 6.4-.9 9.7-1 3.2.1 6.2 1 9.6 1h4.5c3.5 0 6.4-.9 9.6-1 3.3.1 6.2 1 9.7 1h4.5l1.8-.1-.5-.8c-1 .1-2.1.3-3.2.3-3.3 0-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.5 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5z"/>
+      <use width="100%" height="100%" y="-1.3" xlink:href="#z"/>
+      <use width="100%" height="100%" y="-2.6" xlink:href="#z"/>
+    </g>
+    <use width="100%" height="100%" y="-3.9" xlink:href="#A"/>
+    <use width="100%" height="100%" y="-7.7" xlink:href="#A"/>
+    <path fill="#97c924" d="M443.9 324.7l-2.5 4.2c2.9-.5 7.1-1.7 10.7-1.7 3.6 0 8 .9 12.4 1 5 0 7-1.2 11-1.6 4.1-.4 8 .5 12 .6 3.1 0 7.9-1.1 12-1.5 4-.5 7.7.3 12.5.3 4.9.1 5.7-1.2 11.6-1.3 6.4-.1 7 .9 12.6.9 4.2.2 7.9-.9 11.7-1.1 3.8-.3 5.5 0 8.3 0l-1.9-3.2-101.3 2.3z"/>
+    <path fill="#fff" d="M550 324.6l4 .3a91.4 91.4 0 002.9.3l-.4-.5c-.6.2-4.4-.2-6.4 0z"/>
+  </g>
+  <path fill="#c8a400" d="M256 191.9l-27.4 47.5-28 48.6h110.8L284 240.5l-28-48.6zm0 2.5l27 46.7 26.3 45.6H202.8l26.9-46.6z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nl.svg
new file mode 100644
index 0000000..9db233d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nl.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nl" viewBox="0 0 512 512">
+  <path fill="#21468b" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h512v341.3H0z"/>
+  <path fill="#ae1c28" d="M0 0h512v170.7H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/no.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/no.svg
new file mode 100644
index 0000000..08ea572
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/no.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-no" viewBox="0 0 512 512">
+  <path fill="#ed2939" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M128 0h128v512H128z"/>
+  <path fill="#fff" d="M0 192h512v128H0z"/>
+  <path fill="#002664" d="M160 0h64v512h-64z"/>
+  <path fill="#002664" d="M0 224h512v64H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/np.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/np.svg
new file mode 100644
index 0000000..f34ee8c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/np.svg
@@ -0,0 +1,19 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-np" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="b">
+      <path fill-opacity=".7" d="M0-16h512v512H0z"/>
+    </clipPath>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <path fill="#fff" d="M0 0h512v512H0z" style="width:0"/>
+    <g clip-path="url(#b)" transform="translate(0 16)">
+      <g fill-rule="evenodd">
+        <path fill="#ce0000" stroke="#000063" stroke-width="13" d="M6.5 489.5h378.8L137.4 238.1l257.3.3L6.6-9.5v499z"/>
+        <path fill="#fff" d="M180.7 355.8l-27 9 21.2 19.8-28.5-1.8 11.7 26.2-25.5-12.3.5 28.6-18.8-20.9-10.7 26.6-9.2-26.3-20.3 20.6 1.8-27.7L49 409l12.6-25-29.3.6 21.5-18.3-27.3-10.5 27-9L32.2 327l28.4 1.8L49 302.6l25.6 12.3-.5-28.6 18.8 20.9 10.7-26.6 9.1 26.3 20.4-20.6-1.9 27.7 27-11.4-12.7 25 29.4-.6-21.5 18.3zm-32.4-184.7l-11.3 8.4 5.6 4.6a93.8 93.8 0 0030.7-36c1.8 21.3-17.7 69-68.7 69.5a70.6 70.6 0 01-71.5-70.3c10 18.2 16.2 27 32 36.5l4.7-4.4-10.6-8.9 13.7-3.6-7.4-12.4 14.4 1-1.8-14.4 12.6 7.4 4-13.5 9 10.8 8.5-10.3 4.6 14 11.8-8.2-1.5 14.3 14.2-1.7-6.7 13.2 13.7 4z"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nr.svg
new file mode 100644
index 0000000..282d80f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nr.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nr" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M135.6 0h496.1v496h-496z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-140) scale(1.0321)">
+    <path fill="#002170" d="M0 0h992.1v496H0z"/>
+    <path fill="#ffb20d" d="M0 226.8h992.1v42.4H0z"/>
+    <path fill="#fff" d="M292.4 424.4l-31.9-32-10.2 44-11.7-43.7-30.9 33 11.8-43.6-43.2 13 32-31.8-44-10.3 43.6-11.6-33-31 43.6 11.8-13-43.2 31.8 32 10.3-44 11.7 43.6 30.8-32.9-11.7 43.6 43.2-13-32 31.8 44 10.3L290 362l33 30.9-43.7-11.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nu.svg
new file mode 100644
index 0000000..aced440
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nu.svg
@@ -0,0 +1,26 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nu" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="scale(1.0321)">
+    <path fill="#fff" fill-rule="evenodd" d="M0 0h499.6v248.1H0z"/>
+    <path fill="#c00" d="M0 0v18.6L119.2 80l44.9 1.3L0 0z"/>
+    <path fill="#006" d="M51 0l144.6 75.5V0H51z"/>
+    <path fill="#c00" d="M214.9 0v96.4H0v55h215v96.4h66v-96.4h215v-55H281V0h-66z"/>
+    <path fill="#006" d="M300.2 0v71.1L441.6.6 300.2 0z"/>
+    <path fill="#c00" d="M304.7 78.9l39.8-.3L498.9.6l-41 .6L304.8 79z"/>
+    <path fill="#006" d="M0 167.5v52.8L99.2 168 0 167.6z"/>
+    <path fill="#c00" d="M381.9 169.7l-41.4-.3 155.8 77.5-1-17.7-113.5-59.5zM38.7 248.3l146.1-76.8-38.3.3L0 248.1"/>
+    <path fill="#006" d="M497.9 21.8l-118 58.5 116.4.5v87.1h-99.1l98.2 53.3 1.4 27-52.4-.6-143.6-70.5v71.2H196V177L61.3 248l-60.9.2V496H992V.4L499 0M.6 28L0 79.4l104.4 1.3L.5 28z"/>
+    <g fill="#ffd900" fill-rule="evenodd" stroke-width="1pt">
+      <path d="M496 0h496.1v496h-496z"/>
+      <path d="M0 248h523.5v248H0z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#000067" d="M290.9 125.3a42.8 42.8 0 11-85.5 0 42.8 42.8 0 0185.5 0z"/>
+      <path fill="#fff40d" d="M226.8 154l8.3-24.5-21.6-15.2h26.7l8.2-24.6 8.2 24.6h26.7l-21.6 15.2L270 154l-21.6-15.3zm155.3-17l4.1-11.5-10.7-7.2h13.2l4.1-11.5 4 11.6h13.3l-10.7 7 4.1 11.5-10.7-7zm-144.7 85.5l4.1-11.5-10.7-7.1h13.3l4-11.5 4.1 11.5h13.2l-10.7 7 4.1 11.6-10.7-7.1zm0-167l4.1-11.6-10.7-7h13.3l4-11.6 4.1 11.5h13.2L254.7 44l4.1 11.5-10.7-7zM92.3 136.8l4.1-11.5-10.7-7h13.2l4.1-11.6 4 11.5h13.3l-10.7 7.1 4 11.5-10.6-7z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nz.svg
new file mode 100644
index 0000000..5283a96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/nz.svg
@@ -0,0 +1,41 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-nz" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="c">
+      <path d="M0 0h600v300H0z"/>
+    </clipPath>
+    <clipPath id="d">
+      <path d="M0 0l300 150H0zm300 0h300L300 150zm0 150h300v150zm0 0v150H0z"/>
+    </clipPath>
+    <g id="b">
+      <g id="a">
+        <path d="M0 0v.5L1 0z" transform="translate(0 -.3)"/>
+        <path d="M0 0v-.5L1 0z" transform="rotate(-36 .5 -.2)"/>
+      </g>
+      <use transform="scale(-1 1)" xlink:href="#a"/>
+      <use transform="rotate(72 0 0)" xlink:href="#a"/>
+      <use transform="rotate(-72 0 0)" xlink:href="#a"/>
+      <use transform="scale(-1 1) rotate(72)" xlink:href="#a"/>
+    </g>
+  </defs>
+  <path fill="#00247d" fill-rule="evenodd" d="M0 0h512v512H0z"/>
+  <g transform="translate(-148.7 134.5) scale(.60566)">
+    <use width="100%" height="100%" fill="#fff" transform="matrix(45.4 0 0 45.4 900 120)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="matrix(30 0 0 30 900 120)" xlink:href="#b"/>
+  </g>
+  <g transform="rotate(82 393.4 127.1) scale(.60566)">
+    <use width="100%" height="100%" fill="#fff" transform="rotate(-82 519 -457.7) scale(40.4)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="rotate(-82 519 -457.7) scale(25)" xlink:href="#b"/>
+  </g>
+  <g transform="rotate(82 393.4 127.1) scale(.60566)">
+    <use width="100%" height="100%" fill="#fff" transform="rotate(-82 668.6 -327.7) scale(45.4)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="rotate(-82 668.6 -327.7) scale(30)" xlink:href="#b"/>
+  </g>
+  <g transform="translate(-148.7 134.5) scale(.60566)">
+    <use width="100%" height="100%" fill="#fff" transform="matrix(50.4 0 0 50.4 900 480)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="matrix(35 0 0 35 900 480)" xlink:href="#b"/>
+  </g>
+  <path stroke="#fff" stroke-width="60" d="M0 0l600 300M0 300L600 0" clip-path="url(#c)" transform="scale(.52004 .78924)"/>
+  <path stroke="#cc142b" stroke-width="40" d="M0 0l600 300M0 300L600 0" clip-path="url(#d)" transform="scale(.52004 .78924)"/>
+  <path fill="#fff" d="M125.7 0v88H-.1v60.7h125.8v88h60.6v-88h125.8V88.1H186.4V0h-60.7z" clip-path="url(#c)" color="#000" font-family="sans-serif" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;block-progression:tb;isolation:auto;mix-blend-mode:normal"/>
+  <path fill="#cc142b" d="M137.8 0v100.2H0v36.4h138v100.2h36.3V136.6h137.9v-36.4h-138V0h-36.4z" color="#000" font-family="sans-serif" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;block-progression:tb;isolation:auto;mix-blend-mode:normal"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/om.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/om.svg
new file mode 100644
index 0000000..055d1e6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/om.svg
@@ -0,0 +1,115 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-om" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <path fill="#ef2d29" fill-rule="evenodd" d="M-23.3-21.6h554.7v553H-23.3z"/>
+    <path fill="#009025" fill-rule="evenodd" d="M164.6 341.3H541V549H164.6z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M164.6-19.4H541v190H164.6z"/>
+    <g stroke="#ef2d28">
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19516 0 0 .17447 109.2 -5.3)">
+        <rect width="138.2" height="85" x="17.7" y="467.7" stroke-width="1.4" rx="11.5" ry="12.1"/>
+        <rect width="131.1" height="78" x="21.3" y="471.3" stroke-width="1pt" rx="10.9" ry="11.1"/>
+        <path stroke-width="1pt" d="M65 396l9.7.5.4 5.8 8 5.3 6.2-6.7 7.5 5.3-7 5.8 1.7 8 8.8-.5V430l-7-.4-3.6 6.6 8 7.5-6.2 6.2-6.7-6.6-9.7 2.6.5 9.7-10.6 1-1.4-9.4-8.8-4.8-4.9 6.6-7.5-4.9 4.4-7.5-5.3-4.8H34l-.4-13.7 7.5.9 5.3-8-6.2-6.2 8-7 5.7 5.7 9.7-1.8L65 396z" transform="matrix(.68108 0 0 .5852 38 260.7)"/>
+        <ellipse cx="68.9" cy="426.8" stroke-width="1pt" rx="11.1" ry="9.9" transform="matrix(.65819 0 0 .70224 38.8 209.6)"/>
+        <path stroke-width="1pt" d="M39 474.8l-10.7 10.6m17.8-10.6l-10.7 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6L78 485.4m17.7-10.6L85 485.4m17.8-10.6L92 485.4m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m-17.7-10.6L78 485.4m46-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m0-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.7 10.6M85 474.8l10.6 10.6m-17.8-10.6l10.7 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6M85 474.8l10.6 10.6m-46-10.6l10.5 10.6m-17.7-10.6l10.7 10.6m-17.8-10.6L46 485.4m-17.8-10.6L39 485.4m0 49.6l-10.6 10.7M46 535l-10.7 10.7M53.2 535l-10.7 10.7M60.2 535l-10.6 10.7M67.3 535l-10.6 10.7M74.4 535l-10.6 10.7M81.5 535L71 545.7M88.6 535L78 545.7M95.7 535L85 545.7m17.7-10.7L92 545.7m18-10.7l-10.7 10.7M117 535l-10.6 10.7M88.6 535L78 545.7m46-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m0-10.7l10.6 10.7M127.6 535l10.6 10.7M120.5 535l10.6 10.7M113.4 535l10.6 10.7M106.3 535l10.6 10.7M99.2 535l10.7 10.7M92 535l10.7 10.7M85 535l10.6 10.7M78 535l10.6 10.7M70.9 535l10.6 10.7M63.8 535l10.6 10.7M56.7 535l10.6 10.7M85.1 535l10.6 10.7m-46-10.7l10.5 10.7M42.5 535l10.7 10.7M35.4 535l10.7 10.7M28.4 535L39 545.7"/>
+      </g>
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19516 0 0 .17447 18.6 -6)">
+        <rect width="138.2" height="85" x="17.7" y="467.7" stroke-width="1.4" rx="11.5" ry="12.1"/>
+        <rect width="131.1" height="78" x="21.3" y="471.3" stroke-width="1pt" rx="10.9" ry="11.1"/>
+        <path stroke-width="1pt" d="M65 396l9.7.5.4 5.8 8 5.3 6.2-6.7 7.5 5.3-7 5.8 1.7 8 8.8-.5V430l-7-.4-3.6 6.6 8 7.5-6.2 6.2-6.7-6.6-9.7 2.6.5 9.7-10.6 1-1.4-9.4-8.8-4.8-4.9 6.6-7.5-4.9 4.4-7.5-5.3-4.8H34l-.4-13.7 7.5.9 5.3-8-6.2-6.2 8-7 5.7 5.7 9.7-1.8L65 396z" transform="matrix(.68108 0 0 .5852 38 260.7)"/>
+        <ellipse cx="68.9" cy="426.8" stroke-width="1pt" rx="11.1" ry="9.9" transform="matrix(.65819 0 0 .70224 38.8 209.6)"/>
+        <path stroke-width="1pt" d="M39 474.8l-10.7 10.6m17.8-10.6l-10.7 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6L78 485.4m17.7-10.6L85 485.4m17.8-10.6L92 485.4m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m-17.7-10.6L78 485.4m46-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m0-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.7 10.6M85 474.8l10.6 10.6m-17.8-10.6l10.7 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6M85 474.8l10.6 10.6m-46-10.6l10.5 10.6m-17.7-10.6l10.7 10.6m-17.8-10.6L46 485.4m-17.8-10.6L39 485.4m0 49.6l-10.6 10.7M46 535l-10.7 10.7M53.2 535l-10.7 10.7M60.2 535l-10.6 10.7M67.3 535l-10.6 10.7M74.4 535l-10.6 10.7M81.5 535L71 545.7M88.6 535L78 545.7M95.7 535L85 545.7m17.7-10.7L92 545.7m18-10.7l-10.7 10.7M117 535l-10.6 10.7M88.6 535L78 545.7m46-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m0-10.7l10.6 10.7M127.6 535l10.6 10.7M120.5 535l10.6 10.7M113.4 535l10.6 10.7M106.3 535l10.6 10.7M99.2 535l10.7 10.7M92 535l10.7 10.7M85 535l10.6 10.7M78 535l10.6 10.7M70.9 535l10.6 10.7M63.8 535l10.6 10.7M56.7 535l10.6 10.7M85.1 535l10.6 10.7m-46-10.7l10.5 10.7M42.5 535l10.7 10.7M35.4 535l10.7 10.7M28.4 535L39 545.7"/>
+      </g>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1pt" d="M538.6 531.5c1.7 166.6 24.8 202 3.5 202s-31.9-92.1-31.9-205.5 14.2-205.5 35.5-205.5-9 31.9-7.1 209z" transform="matrix(-.31598 -.12472 -.1982 .19883 340 68.2)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M545.7 779.5l-60.3 17.7c56.7 60.3 120.5 85 138.2 74.4 17.7-10.6-31.9-35.4-78-92z" transform="matrix(-.19516 0 0 .17447 142.6 -5.3)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M547.3 786.9l-51 14.7c56.7 60.3 112.8 77.4 127.3 70 14.6-7.3-30.3-28-76.3-84.7z" transform="matrix(-.1901 0 0 .16776 140.2 -.1)"/>
+      <path fill="none" stroke-width="1.8" d="M353.1 634.2c.2 1.3.8 7.1 1.3 9.4 0 3.2.3 5.6.6 8.1.8 2.2.7 4.2 3.1 5a9.9 9.9 0 005 4.4 27.7 27.7 0 006.3 3.8 11.6 11.6 0 007.5.6c2.2-1.5 3.8-3.1 5.6-4.4.4-2 .8-4.9 1.3-6.9a32.6 32.6 0 00-1.3 8.2c.2 3 1.3 4.4 2.5 6.8" transform="matrix(-.13744 0 0 .12206 120.8 27.9)"/>
+      <path fill="none" stroke-width="1.8" d="M389.4 681.7l.6-.6c-1.5 1.5-.9.8 2.5-1.3 2.4-1.2 5-1.8 8.1-2.4h8.8c3.4 0 5.7.5 8.1 1.2 1.8 1.8 4.4 2.8 6.3 4.4a11 11 0 013.7 5c1.7 1.7 2.8 4.3 4.4 5.6.7 2.9 2.1 2.8 3.1 5-3 .2-5.3.6-6.9 2.5-2.6 1.3 2.2-1.3 3.2-2.5 2-.6 2.5-1.2 5.6-1.2 2.8-1 4.6.7 7.5 1.2 1.7 1 2.2 1.3 4.4 1.3" transform="matrix(-.13744 0 0 .12206 122.6 27.2)"/>
+      <path fill="none" stroke-width="1.8" d="M438.1 724.9c1.3 0 7.1 1.1 9.4 0 2.6-.7 4-2 5.6-4.4.8-1.7 0 3 0 5 .3 3.7 1.4 3.7 3.2 6.2 1.8 1.2 3.7 2.8 5.6 3.8a18 18 0 005.6 3.1c2 1 4.1 1.8 5.6 3.1 2.1 1.5 2 3.3 3.2 5.7-.3 3-.8 4.8-2.5 6.2-.8 2.1-2.4 4.2-3.8 5.6-1.5 3-3.3 4.3.6 5 2.2 1 3.4.2 5.7 0" transform="matrix(-.13744 0 0 .12206 124.7 25.8)"/>
+      <path fill="none" stroke-width="1.8" d="M480.6 771.7c1.6-.4 7-2.2 9.4-3.1h8.8c3.3.3 4 1.3 6.8 2.5 1.9 1.9 3.1 3.2 5.7 4.4 1.3 1.7 4 4.7 5 6.9a25.5 25.5 0 011.2 8c0 3.7-1 4.4-1.2 7.6a19.3 19.3 0 01-3.8 7.5c-.3.8-.5 1-1.2 1.2" transform="matrix(-.13744 0 0 .12206 125 25.4)"/>
+      <path fill="none" stroke-width="2.4" d="M538.1 818c.4 0 1.2 2 2.5 3.7 2.9 3 3.2 3.2 7.5 3.2 4-.2 3.5-1.6 6.3-2.5 1.3-2 2.9-3.6 4.4-6.3 1-1.6 1.9-4.1 3-5.6 1.2-1.9 2.6-3.3 3.8-5 1.2-.5 1.6-1 3.2-1.3-3.6.6-4 1.9-6.3 3.8a58.9 58.9 0 00-3.1 5.6c-.4 2.7-1.2 4.8-1.3 8.1 0 3.5 0 5.9 1.3 8.8 1.5 1.5 2.5 3.1 4.4 4.4a36.7 36.7 0 014.3 5l5.7 3.7c1.8 1.1 3.9 2.2 6.8 2.5 3.7-.3 4.8-1.3 7.5-2.5 2.4-1.7 4.2-2.8 6.3-4.4a21 21 0 004.4-5c3.3-.8 5.5-.5 7.5 1.3a16.5 16.5 0 014.3 4.4c1 .5 2.8 2 3.8 2.5" transform="matrix(-.09758 0 0 .09635 107.4 46)"/>
+      <path fill="none" stroke-width="1.9" d="M503.8 836.1c-.8.3-3.8 2.4-5 3.1-.8 2.7-2.1 4.1-2.5 7-.7 2.6-.7 5.6-.7 8.7.7 3.2 2 5.5 3.2 8 2 1.4 3 2.4 5.6 3.8 2.5.4 5 .7 8.1.7 2 .6 5.6.9 7.5 0 2.8-.4 4.9-1.5 6.9-2.5 2.3-1.3 3.7-2.6 6.2-3.8 1.3-1.8 3.2-3.5 5-5.6 1.6-2.1 2.7-3.3 3.8-5.6-1 2.6-2.3 5-3.1 7.5-1.5 2.6-2.3 3.6-2.5 6.8-1 2.6-.7 5.8-.7 8.8.3 2 .4 5.8 1.3 7.5v1.9" transform="matrix(-.12132 0 0 .12024 109.3 26.8)"/>
+      <path fill="none" stroke-width="1.3" d="M541.3 799.2v.7c0-1.7 0-.9-.7 2.5-1.1 1.4-4 1.8-6.2 1.2-2-1.7-2-3-5.6-3.7-3.6.2-5 1.2-7 2.5a9.5 9.5 0 00-5 4.3c-.7 2.1-1.1 3.6 1.3 4.4a15.2 15.2 0 007 2.5c2.8 0 4.9-.3 6.2 1.3 2 2 1.8 3.2 1.8 6.8.7 1.1.8 4.4 1.3 5.7a10.6 10.6 0 005.6 1.2c.7-2 1.4-5.4 1.9-7.5.5-2.2.6-5.4 1.9-6.9a16.6 16.6 0 014.3-4.4 8 8 0 013.8-2.4c-2.5 1.2-2.8 2.6-3.1 5.6 2.1 1 2.7 1.8 6.2 1.9 3.5-.3 4.3-1.2 5.6-3.2.3 3.2 1.3 4.2 2 7 1.2 1.8 1.7 3.7 3 6.2-.5 3-1.7 3.1-1.8 6.8-.8 2.5-.8 4.8-2.5 6.3-.8 1-1.4 1.1-3.2 1.2 3.6 0 5.8-.4 8.2-1.8 1.8-1.2 3.2-2.6 5-3.8a23.9 23.9 0 017.5-3.8c2.9 0 5-.3 6.2 1.3 1.8 1.3 3 3.5 3.8 6.3.5 3.2.8 5.4-.7 7.5-1 2.4-1.3 3.3 0 6.2 1.5 2 3.6 2.3 7 3.1 2.3-.1 4.6-.6 6.2-1.2" transform="matrix(-.19516 0 0 .17447 142.6 -5.3)"/>
+      <g fill-rule="evenodd" stroke-width="1pt" transform="matrix(-.19516 0 0 .17447 142.6 -5.3)">
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4h-35.4z" transform="matrix(1.4216 -.73423 .46161 .89375 -716.8 541)"/>
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4" transform="matrix(1.1373 -.58739 .44532 .86221 -554.8 471.8)"/>
+        <path fill="#fff" d="M563.4 301.2c.2 18.9 0 40.2 0 60.2H535c0-20-.2-41.3 0-60.2h28.4z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M559.8 304.7c.2 19 0 33.1 0 53.2h-21.2c0-20-.2-34.3 0-53.2h21.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M542.1 311.8h14.2v39h-14.2zm0 0l14.2 39m-14.2 0l14.2-39m-14.2-198.4h14.2" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <circle cx="545.7" cy="92.1" r="3.5" fill="#ef0000" transform="matrix(1.6046 .45375 -.36215 1.5787 -734.9 -170.8)"/>
+      </g>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1pt" d="M538.6 531.5c1.7 166.6 24.8 202 3.5 202s-31.9-92.1-31.9-205.5 14.2-205.5 35.5-205.5-9 31.9-7.1 209z" transform="matrix(.31598 -.12472 .1982 .19883 -178.7 67.6)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M545.7 779.5l-60.3 17.7c56.7 60.3 120.5 85 138.2 74.4 17.7-10.6-31.9-35.4-78-92z" transform="matrix(.19516 0 0 .17447 18.6 -6)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M547.3 786.9l-51 14.7c56.7 60.3 112.8 77.4 127.3 70 14.6-7.3-30.3-28-76.3-84.7z" transform="matrix(.1901 0 0 .16776 21 -.7)"/>
+      <path fill="none" stroke-width="1.8" d="M353.1 634.2c.2 1.3.8 7.1 1.3 9.4 0 3.2.3 5.6.6 8.1.8 2.2.7 4.2 3.1 5a9.9 9.9 0 005 4.4 27.7 27.7 0 006.3 3.8 11.6 11.6 0 007.5.6c2.2-1.5 3.8-3.1 5.6-4.4.4-2 .8-4.9 1.3-6.9a32.6 32.6 0 00-1.3 8.2c.2 3 1.3 4.4 2.5 6.8" transform="matrix(.13744 0 0 .12206 40.5 27.3)"/>
+      <path fill="none" stroke-width="1.8" d="M389.4 681.7l.6-.6c-1.5 1.5-.9.8 2.5-1.3 2.4-1.2 5-1.8 8.1-2.4h8.8c3.4 0 5.7.5 8.1 1.2 1.8 1.8 4.4 2.8 6.3 4.4a11 11 0 013.7 5c1.7 1.7 2.8 4.3 4.4 5.6.7 2.9 2.1 2.8 3.1 5-3 .2-5.3.6-6.9 2.5-2.6 1.3 2.2-1.3 3.2-2.5 2-.6 2.5-1.2 5.6-1.2 2.8-1 4.6.7 7.5 1.2 1.7 1 2.2 1.3 4.4 1.3" transform="matrix(.13744 0 0 .12206 38.7 26.6)"/>
+      <path fill="none" stroke-width="1.8" d="M438.1 724.9c1.3 0 7.1 1.1 9.4 0 2.6-.7 4-2 5.6-4.4.8-1.7 0 3 0 5 .3 3.7 1.4 3.7 3.2 6.2 1.8 1.2 3.7 2.8 5.6 3.8a18 18 0 005.6 3.1c2 1 4.1 1.8 5.6 3.1 2.1 1.5 2 3.3 3.2 5.7-.3 3-.8 4.8-2.5 6.2-.8 2.1-2.4 4.2-3.8 5.6-1.5 3-3.3 4.3.6 5 2.2 1 3.4.2 5.7 0" transform="matrix(.13744 0 0 .12206 36.6 25.1)"/>
+      <path fill="none" stroke-width="1.8" d="M480.6 771.7c1.6-.4 7-2.2 9.4-3.1h8.8c3.3.3 4 1.3 6.8 2.5 1.9 1.9 3.1 3.2 5.7 4.4 1.3 1.7 4 4.7 5 6.9a25.5 25.5 0 011.2 8c0 3.7-1 4.4-1.2 7.6a19.3 19.3 0 01-3.8 7.5c-.3.8-.5 1-1.2 1.2" transform="matrix(.13744 0 0 .12206 36.2 24.8)"/>
+      <path fill="none" stroke-width="2.4" d="M538.1 818c.4 0 1.2 2 2.5 3.7 2.9 3 3.2 3.2 7.5 3.2 4-.2 3.5-1.6 6.3-2.5 1.3-2 2.9-3.6 4.4-6.3 1-1.6 1.9-4.1 3-5.6 1.2-1.9 2.6-3.3 3.8-5 1.2-.5 1.6-1 3.2-1.3-3.6.6-4 1.9-6.3 3.8a58.9 58.9 0 00-3.1 5.6c-.4 2.7-1.2 4.8-1.3 8.1 0 3.5 0 5.9 1.3 8.8 1.5 1.5 2.5 3.1 4.4 4.4a36.7 36.7 0 014.3 5l5.7 3.7c1.8 1.1 3.9 2.2 6.8 2.5 3.7-.3 4.8-1.3 7.5-2.5 2.4-1.7 4.2-2.8 6.3-4.4a21 21 0 004.4-5c3.3-.8 5.5-.5 7.5 1.3a16.5 16.5 0 014.3 4.4c1 .5 2.8 2 3.8 2.5" transform="matrix(.09758 0 0 .09635 53.8 45.4)"/>
+      <path fill="none" stroke-width="1.9" d="M503.8 836.1c-.8.3-3.8 2.4-5 3.1-.8 2.7-2.1 4.1-2.5 7-.7 2.6-.7 5.6-.7 8.7.7 3.2 2 5.5 3.2 8 2 1.4 3 2.4 5.6 3.8 2.5.4 5 .7 8.1.7 2 .6 5.6.9 7.5 0 2.8-.4 4.9-1.5 6.9-2.5 2.3-1.3 3.7-2.6 6.2-3.8 1.3-1.8 3.2-3.5 5-5.6 1.6-2.1 2.7-3.3 3.8-5.6-1 2.6-2.3 5-3.1 7.5-1.5 2.6-2.3 3.6-2.5 6.8-1 2.6-.7 5.8-.7 8.8.3 2 .4 5.8 1.3 7.5v1.9" transform="matrix(.12132 0 0 .12024 52 26.2)"/>
+      <path fill="none" stroke-width="1.3" d="M541.3 799.2v.7c0-1.7 0-.9-.7 2.5-1.1 1.4-4 1.8-6.2 1.2-2-1.7-2-3-5.6-3.7-3.6.2-5 1.2-7 2.5a9.5 9.5 0 00-5 4.3c-.7 2.1-1.1 3.6 1.3 4.4a15.2 15.2 0 007 2.5c2.8 0 4.9-.3 6.2 1.3 2 2 1.8 3.2 1.8 6.8.7 1.1.8 4.4 1.3 5.7a10.6 10.6 0 005.6 1.2c.7-2 1.4-5.4 1.9-7.5.5-2.2.6-5.4 1.9-6.9a16.6 16.6 0 014.3-4.4 8 8 0 013.8-2.4c-2.5 1.2-2.8 2.6-3.1 5.6 2.1 1 2.7 1.8 6.2 1.9 3.5-.3 4.3-1.2 5.6-3.2.3 3.2 1.3 4.2 2 7 1.2 1.8 1.7 3.7 3 6.2-.5 3-1.7 3.1-1.8 6.8-.8 2.5-.8 4.8-2.5 6.3-.8 1-1.4 1.1-3.2 1.2 3.6 0 5.8-.4 8.2-1.8 1.8-1.2 3.2-2.6 5-3.8a23.9 23.9 0 017.5-3.8c2.9 0 5-.3 6.2 1.3 1.8 1.3 3 3.5 3.8 6.3.5 3.2.8 5.4-.7 7.5-1 2.4-1.3 3.3 0 6.2 1.5 2 3.6 2.3 7 3.1 2.3-.1 4.6-.6 6.2-1.2" transform="matrix(.19516 0 0 .17447 18.6 -6)"/>
+      <g fill-rule="evenodd" stroke-width="1pt" transform="matrix(.19516 0 0 .17447 18.6 -6)">
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4h-35.4z" transform="matrix(1.4216 -.73423 .46161 .89375 -716.8 541)"/>
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4" transform="matrix(1.1373 -.58739 .44532 .86221 -554.8 471.8)"/>
+        <path fill="#fff" d="M563.4 301.2c.2 18.9 0 40.2 0 60.2H535c0-20-.2-41.3 0-60.2h28.4z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M559.8 304.7c.2 19 0 33.1 0 53.2h-21.2c0-20-.2-34.3 0-53.2h21.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M542.1 311.8h14.2v39h-14.2zm0 0l14.2 39m-14.2 0l14.2-39m-14.2-198.4h14.2" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <circle cx="545.7" cy="92.1" r="3.5" fill="#ef0000" transform="matrix(1.6046 .45375 -.36215 1.5787 -734.9 -170.8)"/>
+      </g>
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19516 0 0 .17447 18.6 -6)">
+        <path stroke-width="1pt" d="M305.6 396.9c0 124 .5 170.7-5.6 177.1-5.8 6.9-167.1 0-167.1 35.4s132.8 71 172.7 71c53.2 0 79.7-35.5 79.7-106.4V397h-79.7z" transform="matrix(1.3333 0 0 1 -141.7 0)"/>
+        <path stroke-width="1pt" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 35.4)"/>
+        <path stroke-width="1pt" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="scale(1 .99999)"/>
+        <path stroke-width="1pt" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 17.7)"/>
+        <path stroke-width="1pt" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 53.1)"/>
+        <ellipse cx="256.9" cy="210.8" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 394.3)"/>
+        <ellipse cx="292.3" cy="246.3" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 391.1)"/>
+        <ellipse cx="327.8" cy="264" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 390.5)"/>
+        <ellipse cx="363.2" cy="264" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 390.5)"/>
+        <ellipse cx="398.6" cy="246.3" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 391.1)"/>
+        <ellipse cx="434.1" cy="210.8" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 394.3)"/>
+        <path stroke-width="1pt" d="M265.8 485.4L372 581.1m-95.6-95.7l95.7 85M290.5 489l81.6 70.9m-71-71l71 60.3M311.8 489l60.2 49.6M322.4 489l49.6 39m-39-39l39 28.3M343.8 489l28.4 21.2M354.3 489l17.8 14.2M365 489l7 7m-106.2 0L372 591.8m0-106.3L255 591.7m106.3-106.3l-102.7 92.2m88.6-88.6l-81.5 70.8m70.8-70.8l-70.8 60.2M326 489l-60.2 49.6m49.6-49.6l-49.6 39m39-39l-39 28.3M294 489l-28.3 21.2m17.7-21.2l-17.7 14.2m7-14.2l-7 7m106.3 0L255 602.5m117-95.7L255 613m117-95.7L255 623.6m117-95.7L255 634.4m117-95.7L255 644.9m117-95.7L255 655.5m117-95.7L255 666.1m117-95.6L255 676.8m117-95.7l-109.9 99.2M372 591.7l-99.2 88.6m95.6-74.4l-78 70.9M365 620l-63.8 56.7m56.7-39l-32 28.3m-60.1-159.4l102.7 92.1m-102.7-81.5l102.7 92.2M265.8 528l99.2 88.5m-99.2-78l99.2 88.7m-99.2-78l95.6 85m-99.2-77.9l95.7 85M262.2 567l88.6 78m-92.1-71l88.6 78M255 581l85 74.4m-85-63.8l81.5 70.9M255 602.3l71 63.7"/>
+        <path stroke-width="1pt" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 70.9)"/>
+        <path stroke-width="1pt" d="M255.1 613l63.8 56.7m-63.8-46l56.7 49.5m-56.7-39l49.6 42.6m-49.6-32l35.5 32M255 655.5l28.4 24.8M255 666.1l17.7 14.2"/>
+        <ellipse cx="256.9" cy="210.8" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 447.5)"/>
+        <ellipse cx="292.3" cy="246.3" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 444.3)"/>
+        <ellipse cx="327.8" cy="264" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 443.6)"/>
+        <ellipse cx="363.2" cy="264" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 443.6)"/>
+        <ellipse cx="398.6" cy="246.3" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 444.3)"/>
+        <ellipse cx="434.1" cy="210.8" stroke-width="4.5" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 447.5)"/>
+        <path stroke-width="1pt" d="M113.4 652l127.5-74.4m-134.6 70.8l120.5-70.8m-124 63.7l109.8-63.7M99.2 634.3l95.7-56.7M92 627.2l88.6-49.6m-85 39l60.2-35.5M92 609.4l46-28.3m-46 17.7l32-17.7m0 74.4l120.4-70.9M134.7 659L248 591.7m-102.7 70.9l106.3-63.8m-95.7 67.3l88.6-53.1M170 666.1l78-46m-67.4 49.6l67.3-39m-56.7 42.5l53.2-31.9m-39 32l42.5-24.9m-28.3 28.4L248 659m-14 17.8l17.7-10.6"/>
+        <path stroke-width="1pt" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(0 1 -.99999 0 655.5 308.3)"/>
+        <path stroke-width="1pt" d="M49.6 623.6l42.5-35.4m-42.5 10.6l42.5 42.5"/>
+        <path stroke-width="1pt" d="M260.1 388l5.6 26.6c35.5 5.9 65.3 5.9 100.8 0l11.1-26.6c-35.4 5.9-82 5.9-117.5 0z" transform="matrix(0 .63333 -.8 0 423.8 416.3)"/>
+        <path stroke-width="1pt" d="M258.7 350.8v-17.9c-10.7.2-17.8-10.5-17.8-21.2l-35.4.1c0 10.6-7 21.3-17.7 21.3v17.7h70.9z" transform="matrix(1.4983 0 0 1 -15.6 53.1)"/>
+        <path stroke-width="1.4" d="M296 343.7h45.6V365H296zm3.9-21.3h37.9v21.3h-38zm0-21.2h37.9v21.2h-38zm3.8-28.4H334v28.4h-30.3zm-1.3-24.8h33v24.8h-33z"/>
+        <ellipse cx="237.4" cy="161.2" stroke-width="1pt" rx="42.5" ry="33.7" transform="matrix(1.0333 0 0 1 75.3 63.8)"/>
+        <path stroke-width="1pt" d="M258.7 159.4c0 9.3 10.6 24.8 10.6 24.8-7.7 6.2-20.2 10.7-31.9 10.7s-26.3-2.6-31.9-10.7c0 0 10.6-15.4 10.6-24.7s-10.6-21.3-10.6-21.3a54.6 54.6 0 0132-10.6c11.6 0 24 4.5 31.8 10.6 0 0-10.6 12-10.6 21.3z" transform="matrix(1.0333 0 0 1 75.3 63.8)"/>
+        <path stroke-width="1pt" d="M251.6 159.4c0 9.3 10.6 28.4 10.6 28.4-7.7 6-13 7-24.8 7s-19.2 1.1-24.8-7c0 0 10.6-19 10.6-28.4s-10.6-24.8-10.6-24.8c7.7-6 13-7 24.8-7 11.7 0 17.1 1 24.8 7 0 0-10.6 15.5-10.6 24.8z" transform="matrix(1.0333 0 0 1 75.3 63.8)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1pt" transform="matrix(1.0333 0 0 1 75.3 60.2)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1pt" transform="matrix(1.0333 0 0 1 163.2 60.2)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1pt" transform="matrix(1.0333 0 0 1 119.3 60.2)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1pt" transform="matrix(1.0333 0 0 1 119.3 24.8)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1pt" transform="matrix(1.0702 0 0 1 80 226.8)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1pt" transform="matrix(1.0702 0 0 1 140.6 226.8)"/>
+        <path stroke-width="1pt" d="M212.6 311.8h49.6l-24.8 31.9-24.8-31.9z" transform="matrix(1.0702 0 0 1 64.8 53.1)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1pt" transform="matrix(1.427 0 0 1.3333 40.7 167.7)"/>
+      </g>
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19516 0 0 .17447 18.3 -10.9)">
+        <rect width="81.5" height="21.3" x="262.2" y="524.4" stroke-width="1.3" rx="4.4" ry="3.8"/>
+        <path stroke-width="1.3" d="M368.5 506.7c-9.8 0-17.7 8.3-17.7 18.5v16.1a18 18 0 0017.7 18.5 18 18 0 0017.7-18.5v-16a18 18 0 00-17.7-18.6zm0 7c-5.9 0-10.6 6.7-10.6 14.9v9.3c0 8.2 4.7 14.8 10.6 14.8 5.9 0 10.6-6.6 10.6-14.8v-9.3c0-8.2-4.7-14.8-10.6-14.8zm-92.1-3.5c-6 0-10.6 6.6-10.6 14.9v16.4c0 8.2 4.7 14.8 10.6 14.8 5.9 0 10.6-6.6 10.6-14.8V525c0-8.3-4.7-14.9-10.6-14.9zm0-7a18 18 0 00-17.7 18.5v23.2a18 18 0 0017.7 18.5c9.8 0 17.7-8.3 17.7-18.5v-23.2a18 18 0 00-17.7-18.6z"/>
+        <path stroke-width="1.3" d="M248 517.3c-5.9 0-10.6 6.6-10.6 14.8v3.9c0 8.2 4.7 14.8 10.6 14.8 6 0 10.7-6.6 10.7-14.8v-3.9c0-8.2-4.8-14.8-10.7-14.8zm0-7a18 18 0 00-17.7 18.5v10.6a18 18 0 0017.7 18.5c9.8 0 17.8-8.3 17.8-18.5v-10.6a18 18 0 00-17.8-18.6z"/>
+        <path stroke-width=".9" d="M478.4 237.4c-6 0-10.7 6.6-10.7 14.8v16.5c0 8.1 4.8 14.8 10.7 14.8 5.8 0 10.6-6.6 10.6-14.9v-16.4c0-8.2-4.8-14.8-10.6-14.8zm0-7a18 18 0 00-17.8 18.4V272a18 18 0 0017.7 18.6c9.9 0 17.8-8.3 17.8-18.6v-23.2a18 18 0 00-17.7-18.5z" transform="matrix(1.8 0 0 1.1176 -655.5 242.2)"/>
+        <path stroke-width=".9" d="M478.4 237.4c-6 0-10.7 6.6-10.7 14.8v16.5c0 8.1 4.8 14.8 10.7 14.8 5.8 0 10.6-6.6 10.6-14.9v-16.4c0-8.2-4.8-14.8-10.6-14.8zm0-7a18 18 0 00-17.8 18.4V272a18 18 0 0017.7 18.6c9.9 0 17.8-8.3 17.8-18.6v-23.2a18 18 0 00-17.7-18.5z" transform="matrix(1.8 0 0 1.1176 -425.2 245.7)"/>
+        <rect width="42.5" height="21.3" x="375.6" y="524.4" stroke-width="1.3" rx="2.3" ry="3.8"/>
+        <rect width="24.8" height="28.4" x="336.6" y="520.9" stroke-width="1.3" rx="1.4" ry="5"/>
+        <rect width="24.8" height="28.4" x="219.7" y="520.9" stroke-width="1.3" rx="1.4" ry="5"/>
+        <rect width="49.6" height="35.4" x="141.7" y="517.3" stroke-width="1.3" rx="2.7" ry="6.3"/>
+        <rect width="46.1" height="35.4" x="450" y="520.9" stroke-width="1.3" rx="2.5" ry="6.3"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pa.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pa.svg
new file mode 100644
index 0000000..57965b9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pa.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pa" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)">
+    <path fill="#fff" d="M-26-25h592.5v596H-26z"/>
+    <path fill="#db0000" d="M255.3-20.4h312.1v275.2h-312z"/>
+    <path fill="#0000ab" d="M-54.5 254.8h309.9V571H-54.5zM179 181.6l-46.5-29.2-46.2 29.5 17.2-48-46.2-29.6 57.1-.4 17.7-47.8 18.1 47.7h57.1l-45.9 30 17.6 47.8z"/>
+    <path fill="#d80000" d="M435.2 449l-46.4-29.2-46.3 29.5 17.2-48-46.2-29.5 57.2-.4 17.7-47.8 18 47.7h57.2l-46 30 17.6 47.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pe.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pe.svg
new file mode 100644
index 0000000..40b87ba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pe.svg
@@ -0,0 +1,244 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-pe" viewBox="0 0 512 512">
+  <path fill="#d91023" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M170.7 0h170.6v512H170.7z"/>
+  <g fill="#00a854" stroke="#d4af37" stroke-width="2" transform="translate(196.3 187.3) scale(.14222)">
+    <g id="g" stroke-width="4.3" transform="matrix(.44722 -.20656 .2582 .35777 89.4 -67.3)">
+      <path d="M480.2 566.9c31.3 33 62.4 68.1 79 111.2 25.1 69.7 18.3 151.5-22.6 214a328.2 328.2 0 01-142 116.4 224.7 224.7 0 01-164.8 3.5c-20-7.4-38.9-18-57.5-28.3-8.4-1.4-13.9 8.6-7 13.3 62.4 40.6 130.9 42.2 202 28.2a273.1 273.1 0 0099-50.4c44.4-33.2 82.7-77.5 99.8-131 26.2-79 9.3-171.3-45.1-234.6a488.2 488.2 0 00-44.7-47.1l4 4.8z"/>
+      <path d="M170.6 983.3c-8.1-.8-12.2 11.8-5.1 13.6 4.2-1 10.7-12 5-13.6zm304.2-430.9c-4.5-5.6-14-2.9-17.7-7.3-4-4.7 2.9-6.5-.3-10-3-3.5-7.7-1.7-12-6.5-4.2-4.7-.4-8.8-4-12-3.7-3.4-4.2.8-8.4-3.8s-1.7-12.7-6.3-18.6c-4.5-5.7-3-12.5 2.5-11.2 3.6.8 5 4.4 10.4 5.7 5.4 1.4 7.6-2.5 11.2 1 3.5 3.4.3 9 4 14s5.9 1.2 8.6 5.5c2.7 4.4.5 6.6 2.2 11.7s8.4 3.1 10.9 10.8c2.5 7.6-1 20.7-1 20.7z"/>
+      <path d="M478.1 564.8c-5.5-26.2-27-57-52.6-79.5 15.3 12 44.9 40.5 54.4 79.3l-1.8.2z"/>
+      <path d="M460.2 524.4c-4.2-2.9-7.3-2.8-10.5-3.2 3-.2 5.9-.5 9.5 1.1l1 2.1zm-15.2-19c-4.5-1.4-7.4-.3-10.6.4 2.8-1.2 5.5-2.4 9.2-2l1.4 1.7zm4.4 3.5c-2.2-5.6-2.2-9.7-2.5-14-.1 3.9-.3 7.8.9 12.6l1.6 1.4zm13.5 18.1c-2.2-5.5-2.2-9.6-2.5-14-.1 4-.3 7.9 1 12.7l1.5 1.3zm92.3 155c-8.3-3.1-17.2 0-23.9-2.4-7.2-2.6 1.1-8.6-4.4-10.4-5.6-1.8-10.2 5.7-17.8 3.2-7.6-2.4-6.3-10-12.5-11.4-6.3-1.3-6.4 7.2-13.9 4.9-7.4-2.3-7.5-12.3-16-15.7-8.2-3.4-9-11.4-1.3-13.4 5.2-1.3 10.3 2 18 .2s7-8.7 13.1-7.1c6.1 1.5 4.4 10.4 11.4 13.2 7 2.8 11.4-4.9 16.7-2 5.3 3 .3 9.5 4.6 13.7 4.4 4.3 7.8-2.3 14.2 4.2 6.4 6.6 11.8 23 11.8 23z"/>
+      <path d="M563.5 691.6c-22.9-25.6-58.6-41.4-101.8-49.7 25 3.4 76.7 15 105.2 50l-3.4-.3z"/>
+      <path d="M524.3 661.5c-6.7-.6-10.8 1.3-15.2 2.8 3.8-2 7.5-4 13-4.4l2.2 1.6zm-27.9-10.9c-6.5 1.2-10 4-14 6.7 3.3-2.9 6.4-5.8 11.5-7.7l2.5 1zm7.2 1c-5.2-4.5-7-8.9-9.1-13.3 1.5 4.3 2.8 8.5 6.4 12.8l2.7.5zm25.3 11c-5.1-4.5-6.8-8.9-9-13.3a35 35 0 006.4 12.8l2.6.5zm25.8 223c7-5.4 9.2-15 14.7-19.4 5.8-4.7 6.2 5.9 10.6 2 4.4-3.7.9-12 6.9-17.2 6-5.2 11.4.2 15.8-4.4 4.3-4.7-2.4-9.7 3.4-14.8 5.8-5.2 13.9.5 21-5 7.1-5.3 14-1.4 11.5 6.4-1.7 5.3-7 7.9-9.7 15.6-2.6 7.8 3.2 11-1.2 15.5-4.5 4.4-10.7-2.2-16.7 2.3s-2 12.7-7.3 15.7c-5.1 3-7.6-5.1-13.4-3.8-5.7 1.4-2.2 8-10.9 10a67.8 67.8 0 01-24.7-2.9z"/>
+      <path d="M542.7 887.4c32.6-5.3 64.3-27.5 93.8-60.3-16 19.9-52.6 58.3-95.8 63.1l2-2.8z"/>
+      <path d="M587.6 870.5c4-5.6 4.7-10.2 5.8-15-.5 4.5-.8 9-3.3 14l-2.5 1zm23.5-18.1c2.5-6.4 2-11 2-16 .6 4.5 1.4 8.8.1 14.3l-2.1 1.6zm-4.6 5.7c6.4-2 10.8-1 15.5-.4-4.2-1.1-8.3-2.4-13.7-1.7l-1.8 2zm-22.2 15.8c6.3-2 10.7-1 15.4-.4-4.2-1.1-8.3-2.4-13.7-1.6l-1.7 2zm2.2-84c5.9-6.6 6.3-16.4 11-21.8 4.9-5.8 7.1 4.5 10.8 0 3.6-4.6-1.3-12.1 3.6-18.4 5-6.2 11.4-2 14.8-7.4 3.4-5.4-4-9 .7-15.2 4.8-6.2 13.7-2.1 19.9-8.9 6-6.6 13.4-4 12.3 4.2-.7 5.4-5.5 9-6.7 17.1-1.3 8.2 5.1 10.2 1.5 15.5-3.6 5.2-10.9-.1-16 5.5-5 5.6.3 12.9-4.3 16.8-4.6 3.9-8.5-3.6-13.9-1.2-5.4 2.5-.8 8.4-9 12s-24.7 1.8-24.7 1.8z"/>
+      <path d="M575 794c31.1-11.5 58.3-39.3 81.5-77.3-12.2 22.6-41.4 67.4-83 80.5l1.5-3.2z"/>
+      <path d="M616.1 768.7c3-6.2 2.8-10.8 3-15.7.4 4.4.9 8.8-.7 14.3l-2.2 1.4zm19.9-22.3c1.3-6.7 0-11.2-.9-16 1.4 4.2 3 8.4 2.7 14l-1.8 2zm-3.5 6.5c6-3.1 10.4-3 15.1-3.3-4.3-.3-8.5-.7-13.7 1l-1.4 2.3zm-19 19.8c5.8-3 10.3-3 15-3.3-4.3-.3-8.5-.7-13.7 1l-1.4 2.3zm-46.2-31.5c-7.9-5.6-18.3-4.8-24.7-9.3-6.9-4.6 3.6-8.6-1.8-12-5.4-3.4-12.4 3-19.8-1.6-7.4-4.7-3.8-12.4-10-15.5-6.3-3-9 5.7-16.2 1.2s-4.5-15-12.5-20.8c-7.9-5.8-6.4-14.4 2.4-14.3 5.8 0 10.4 4.9 19.1 5.2 8.7.2 5-4.4 11-1 6.2 3.2 5 12 11.6 17 6.7 4.8 15.2-4.7 20-.2s-2.4 10 1 15.6 9-.2 14 8.4 5.9 27.3 5.9 27.3z"/>
+      <path d="M573.4 753.5c-17-33.1-50.6-59.7-94.2-80.4 25.7 10.6 77.4 37 97.8 81.6l-3.6-1.2z"/>
+      <path d="M540.3 711c-7-2.4-11.9-1.6-17-1.2 4.6-1 9.2-2.1 15-1l2 2.2zm-26.6-19c-7.3-.7-11.8 1.4-16.7 3 4.2-2.1 8.3-4.3 14.3-4.8l2.4 1.7zm7.4 3c-4.3-6.2-4.8-11.3-6-16.4.4 4.8.7 9.6 3.3 15.1l2.7 1.2zm23.8 18.5c-4.2-6.2-4.8-11.2-5.9-16.4.4 4.9.6 9.6 3.3 15.2l2.6 1.2zm43.1 36.9c4.5-7.7 3-17.5 6.5-23.8 3.7-6.7 8 3 10.6-2.3 2.6-5.2-3.6-11.5 0-18.7s10.7-4.3 13-10.3c2.3-6-5.7-8-2.2-15 3.5-7.1 13-5 17.7-13 4.5-7.7 12.3-6.8 12.8 1.5.4 5.5-3.6 10-3.2 18.2.4 8.2 7 9 4.5 14.8-2.5 5.9-10.7 2.2-14.5 8.8-4 6.5 2.7 12.5-1 17.3-3.7 4.8-9-1.7-13.9 1.9-4.8 3.5 1 8.3-6.4 13.5s-23.9 7-23.9 7z"/>
+      <path d="M577.5 756.8C605.8 739 627 706 642.3 664c-7.6 24.7-27.4 74.7-65.6 96.3l.8-3.4z"/>
+      <path d="M613 723.3c1.6-6.6.5-11.2-.2-16 1.2 4.3 2.5 8.5 2 14.1l-1.9 2zm15-26c0-6.9-2.1-11-4-15.5 2.3 3.9 4.5 7.6 5.4 13.2l-1.4 2.3zm-2.1 7.1c5.2-4.3 9.6-5.1 14.1-6.5-4.3.7-8.5 1.1-13.2 4l-1 2.5zM611 727.8c5.1-4.3 9.6-5 14-6.4-4.2.6-8.4 1-13.2 3.9l-.8 2.5zM557.4 639c3.6-8.6.8-18.5 3.6-25.6 3-7.5 8.7 2 10.7-3.8 2.1-5.9-5.2-11.5-2.4-19.5s10.6-6 12.2-12.6c1.6-6.6-7-7.5-4.3-15.3 2.7-7.9 13-7.1 16.8-16 3.7-8.6 12-8.8 13.6-.3 1 5.7-2.5 11-1 19.5 1.4 8.4 8.4 8.2 6.6 14.7-1.9 6.5-10.8 3.8-14 11.2-3.2 7.3 4.4 12.6 1.2 18.2-3.2 5.5-9.6-.6-14.1 3.8-4.6 4.4 2 8.5-5 15-7 6.4-24 10.7-24 10.7z"/>
+      <path d="M547.3 647.1c27-22.6 44.8-59.9 55.3-105.8-4.6 26.8-18.8 81.6-55.7 109.5l.4-3.7z"/>
+      <path d="M579.8 607.3c.8-7.2-.9-11.7-2.2-16.7 1.8 4.3 3.7 8.5 4 14.4l-1.8 2.3zM592 578c-.9-7.2-3.7-11.1-6.1-15.6 2.7 3.7 5.6 7.3 7.2 13L592 578zm-1.3 7.7c4.8-5.2 9.3-6.7 13.9-8.7-4.4 1.2-8.7 2.3-13.3 5.9l-.6 2.8zm-12.4 26.4c4.8-5.2 9.3-6.7 13.9-8.7-4.4 1.3-8.7 2.4-13.3 6l-.6 2.7z"/>
+      <path d="M533.4 605.3c4.2-6.6-1-18.7 2.2-24 3.6-5.8 7.3 2.8 9.8-1.7 2.6-4.5-.4-10.3 3-16.4 3.6-6.2 8.6-1.7 10.9-6.9 2.2-5.2-2-5.3 1.3-11.4 3.4-6 12-3.9 16.5-10.6 4.4-6.6 11.5-5.5 11.8 1.9.2 4.8-2.9 7.1-2.7 14.4.1 7.2 4.6 9.5 2.2 14.6-2.5 5-9 1.5-12.6 7.1-3.8 5.6.3 7.8-3.2 11.8-3.5 4-6.4 1.5-10.9 4.4-4.5 3-.7 11.3-7.6 15.6s-20.7 1.2-20.7 1.2z"/>
+      <path d="M522.1 611.2c24.3-10.6 48.6-42.4 63.7-78.7-7.5 21.4-27.5 63.7-63 81l-.7-2.3z"/>
+      <path d="M556.9 582.6c1.7-5.8.8-9.8.3-14 1 3.8 2 7.5 1.5 12.5l-1.8 1.5zm14.4-22.2c.2-6-1.6-9.7-3.2-13.8 1.9 3.5 4 6.9 4.6 11.8l-1.4 2zm-2 6.2c4.8-3.6 8.9-4.1 13-5.1-3.9.4-7.8.6-12.2 2.8l-.9 2.3zm-14.2 20c4.8-3.6 8.9-4.2 13-5.2-3.8.4-7.7.6-12.2 2.9l-.8 2.2zm-173.3 425.7c3.6-9 1-19.7 3.7-27.1 2.9-7.9 8.4 2.5 10.4-3.6s-5-12.5-2.2-20.9c2.8-8.4 10.3-5.8 12-12.8 1.5-7-6.8-8.3-4.1-16.5 2.6-8.3 12.5-7 16.3-16.2 3.7-9 11.7-8.8 13.2.4 1 6-2.4 11.5-1 20.6 1.3 9.1 8.1 9.3 6.3 16-1.8 6.9-10.5 3.6-13.7 11.3-3.1 7.6 4.3 13.7 1.1 19.4-3.2 5.7-9.3-1-13.8 3.4-4.4 4.4 2 9.2-4.9 15.7-6.8 6.5-23.3 10.3-23.3 10.3z"/>
+      <path d="M375.2 1016.4c26.5-22.7 40.7-57.4 51.2-105.9-4.7 28.3-15.5 82-51.6 109.8l.4-3.9z"/>
+      <path d="M403.8 979.7c.8-7.6-.8-12.6-2-18 1.6 4.8 3.5 9.4 3.6 15.7l-1.6 2.3zm12-30.5c-.7-7.7-3.4-12-5.8-17 2.7 4.2 5.5 8.1 7 14.3l-1.1 2.7zm-1.2 8.1c4.7-5.3 9.1-6.6 13.5-8.6-4.2 1.1-8.5 2-13 5.7l-.5 3zM402.4 985c4.7-5.3 9.1-6.7 13.5-8.6-4.2 1.1-8.4 2-12.9 5.6l-.6 3zm158.7-152.7c-7.2-7.5-19.3-10.1-25.2-16-6.3-6.3 7-6.5 2-11.2-5-4.7-15.2-1.3-22-7.7-7-6.5-.4-12.1-6.5-16.8-6-4.7-12 2.2-18.7-4.1-6.8-6.3-.2-14.6-7.4-22.3-7-7.6-2.6-14.7 7.5-11.8 6.6 1.9 10.2 7.6 20 10.6 10 3 13.7-3 19.5 1.8 5.9 4.8-2 11.2 3.9 17.6 6 6.4 16 2.6 20 8.1 4 5.6-6 8-4 14 2 6.2 10.3 2.7 13.1 11.8 2.9 9.2-2.2 26-2.2 26z"/>
+      <path d="M540.3 797c-7.2-4.3-13-5.1-19-6.5 5.6.7 11.1 1.1 17.6 4l1.4 2.5zm-24-25.2c-8.2-2.9-14-2.5-20.2-2.6 5.6-.5 11-1.2 18 .3l2.1 2.3zm7.4 5c-2.8-6.8-1.8-11.4-1.4-16.3-1.1 4.4-2.5 8.6-1.3 14.3l2.7 2zm21 23.9c-2.7-6.8-1.7-11.4-1.3-16.3-1.1 4.4-2.5 8.7-1.3 14.4l2.6 1.9z"/>
+      <path d="M561.7 840c-8.5-34.5-35.7-63.7-78.5-95.8 25.8 17.5 73.7 52.4 82.2 98l-3.7-2.2z"/>
+      <g id="d">
+        <path d="M527.3 890.5c-3.4-8.8-19.8-13-22.7-20.1-3-7.6 9.1-5.3 6.6-11-2.6-5.7-13.4-4-17-11.8-3.4-7.8 5-12.3 1.3-18.2-3.6-5.9-11.8 0-15.4-7.5-3.5-7.6 6-14.8 2.7-24-3.2-9 4-15.4 11.8-10.6 5.3 3.2 6.2 9.6 13.9 14.4 7.7 4.9 13.7-.6 17 5.4 3.2 6-6.7 11-4 18.5 2.8 7.6 13.6 5.6 15 12 1.2 6.3-9 6.9-9.7 13.4-.7 6.5 8.3 4.5 7 14.3s-6.5 25.2-6.5 25.2z"/>
+        <path d="M520 853.1c-4.7-5.7-13-9-18-11.4a58 58 0 0117.8 8.5l.2 3zm-10-24.9c.4-7.3 3.2-11.8 5.7-16.7-2.9 4.2-5.9 8.3-7.2 14.3l1.6 2.4zm12.5 26c.3-7.3-.1-9.7 2.3-14.6-2.9 4.2-2.6 6.3-3.9 12.3l1.6 2.4z"/>
+        <path d="M525.2 906.6c6.8-36.5-12.8-78.4-38.3-118.7 16.1 22.4 52.2 73.9 40.7 121.6l-2.4-2.9z"/>
+        <path d="M505.4 821.9c-6.2-4.4-11.7-5.1-17.2-6.4 5.2.5 10.5.9 16.2 3.6l1 2.7z"/>
+      </g>
+      <path d="M493.6 566.1c-2-7-11.8-8.6-13.4-14.2-1.8-6 5.2-4.7 3.7-9.2-1.5-4.5-6.4-4.9-8.4-11s3-8.2 1-12.8c-2-4.6-4.2-1-6.2-7s3.4-12.3 1.5-19.6c-1.9-7 2.1-12.6 6.6-9.2 3 2.3 3 6.2 7.4 9.7 4.4 3.6 7.9.9 9.8 5.5 1.8 4.7-3.3 8.5-1.8 14.5 1.6 6 4.9 3.7 5.6 8.8.8 5-2.1 6.2-2.5 11.6-.4 5.3 6.4 6.4 5.7 14.4-.7 8-9 18.5-9 18.5z"/>
+      <path d="M491.7 578.8c5.2-26.2-2.3-63.4-17-94.8 9.3 17.3 25.2 56 18.7 95.4l-1.7-.6z"/>
+      <path d="M491.1 534.4c-2.7-4.4-5.5-5.7-8.3-7.5 2.8 1.1 5.5 2 8.2 5.1l.1 2.4zm-6.5-23.8c-3.5-3.2-6.6-3.5-9.8-4.2 3 .1 6 .1 9.3 2l.6 2.2zm2.7 5c.2-6 1.8-9.8 3.2-14-1.6 3.7-3.3 7.1-4.1 12l1 2zm5.3 22.3c.1-6 1.7-9.8 3.1-13.9-1.6 3.6-3.3 7-4 12l.9 1.9zm17 37.3c-.1-6.9-6.8-11.4-7.1-16.9-.3-5.8 14.6-4.3 14.2-8.8-.4-4.4-5.4-4.8-6-10.8s5.4-8 4.4-12.5-4.1-1-4.7-6.9c-.6-5.8 2-12.4 1.8-19.5-.1-7 5.6-12.4 9.4-9 2.6 2.2 1.5 6 5.2 9.5s8.4 1 11.3 4.5c3 3.5 2.3 6.4 2.4 12.3 0 6 4.1 3.6 3.6 8.6-.5 5-3.9 6.1-5.7 11.4-1.8 5.2 5.2 6.2 2.3 14.1-2.8 7.9-31 24-31 24z"/>
+      <path d="M499.2 585.6c24.4-21.6 36.5-63.2 18.3-94a68.8 68.8 0 018.1 50.3 92.1 92.1 0 01-24.8 44.3l-1.6-.6z"/>
+      <path d="M522.3 550.8a31.2 31.2 0 00-8.7-11.5c2.6 1 7.1 6.2 9.2 9.2l-.5 2.3zm4-26.8c-3-3.2-6.1-3.5-9.2-4.2 3 .1 6.2.1 9.2 2v2.2zm1.1.2c1.8-6 4.4-9.6 7-13.7-2.7 3.5-5.4 7-7.4 11.8l.4 1.9zm-4.2 27.5c1.7-5.9 7.8-3.8 12.4-5.2-3.5 0-10.8-1.5-13 3.3l.6 1.9zm-44.3 24.2c-6.5-4.6-4.6-15.7-9.7-19.5-5.5-4-6.7 3.8-10.8.6-4-3.2-2.7-8.6-8.2-13-5.6-4.4-9.5.2-13.5-3.6-4-3.9.5-4.8-4.9-9.2-5.4-4.3-13.9-.8-20.6-5.5-6.7-4.6-13.8-2.3-11.9 3.8 1.3 4 5.2 5.4 7.3 11.4 2 6-2 8.8 2.1 12.5 4.1 3.7 9.9-.5 15.5 3.4s2 6.5 7 9.2 7.1 0 12.7 1.5c5.7 1.5 4.2 9.2 12.7 11.4 8.5 2.1 22.3-3 22.3-3z"/>
+      <path d="M492.6 578.5c-28.8-4-64.1-25.6-91.1-52.7 14.5 16.3 48.3 47.3 91 54.8l.1-2z"/>
+      <path d="M447.2 561.7c-3.5-4.5-3.8-8-4.6-11.6.2 3.3.1 6.7 2.3 10.6l2.3 1zm-22-15.6c-2-5-1.1-8.4-.7-12-1 3.2-2 6.4-1.3 10.7l2 1.4zm4.1 4.7c-6.2-2-10.6-1.6-15.3-1.6 4.2-.5 8.4-1 13.7 0l1.6 1.6zm21 13.8c-6.2-2-10.6-1.7-15.3-1.7 4.2-.4 8.4-1 13.7 0l1.6 1.7zm50.2 41c-8-3.5-6.6-15.4-13-18.4-6.8-3-7.7 5.4-12.7 2.9-5.1-2.6-3.9-8.5-10.8-12-7-3.4-11.3 2.3-16.3-1-5-3.2.3-5-6.5-8.5s-16.5 2-25-1.6c-8.1-3.4-16.4.4-13.7 6.4 1.8 4 6.6 4.5 9.5 10.4 2.9 5.8-1.7 9.6 3.5 12.6s11.7-2.5 18.6.4c7 3 2.9 6.4 9 8.2 6 1.8 8.5-1.5 15.3-1 6.8.4 5.7 8.7 16 9.2 10.2.6 26.1-7.6 26.1-7.6z"/>
+      <path d="M517 605.6c-34.5 1.6-78.1-13.7-112.2-36.4 18.4 14 61 39.5 112.3 38.5l-.1-2.1z"/>
+      <path d="M461.8 597.2c-4.5-3.9-5.1-7.5-6.3-11.1.4 3.5.6 7 3.5 10.6l2.8.5zm-27.3-11.7c-2.8-4.8-2-8.5-1.8-12.4-.9 3.6-2 7.1-.6 11.4l2.4 1zm5.3 4c-7.5-.8-12.8.5-18.4 1.4 5-1.3 10-2.7 16.3-2.8l2 1.4zm26 10c-7.6-.8-12.8.5-18.4 1.5 5-1.4 9.9-2.8 16.3-2.8l2 1.4z"/>
+      <path d="M517.5 629.7c-8.3-3-7.6-15-14.2-17.5-7-2.7-7.3 5.9-12.6 3.7-5.2-2.2-4.3-8.2-11.5-11.2s-11.1 3-16.3 0c-5.2-2.9 0-5-7-8s-16.4 3-25 0c-8.5-3-16.5 1.4-13.4 7.2 2 3.9 7 4.1 10.2 9.7 3.2 5.7-1 9.7 4.3 12.4 5.3 2.7 11.5-3.2 18.6-.8 7.2 2.5 3.3 6.2 9.5 7.6 6.1 1.4 8.4-2 15.2-2 6.8 0 6.3 8.3 16.5 8.2 10.3-.2 25.7-9.3 25.7-9.3z"/>
+      <path d="M534 628.6c-34.4 3.9-79-8.6-114.4-29 19.3 12.7 63.4 35.4 114.6 31.1l-.3-2z"/>
+      <path d="M478.3 623.9c-4.8-3.7-5.6-7.2-7-10.8.6 3.5 1 7 4.1 10.4l3 .4zm-28-10c-3-4.6-2.6-8.4-2.7-12.3-.6 3.7-1.4 7.3.2 11.4l2.5 1zm5.5 3.7c-7.6-.4-12.7 1.3-18.3 2.6 5-1.7 9.8-3.4 16.2-3.9l2 1.3zm26.6 8.3c-7.6-.3-12.7 1.3-18.3 2.6 5-1.6 9.8-3.4 16.2-3.8l2 1.2z"/>
+      <g id="a">
+        <path d="M207.2 997.4c6.6-4.3 15.2-3.2 20.6-6.6 5.7-3.5-3-7 1.5-9.7 4.5-2.5 10.3 3 16.5-.5s3.3-9.9 8.5-12.1c5.2-2.3 7.3 5 13.4 1.5 6-3.3 3.8-12 10.6-16.4 6.6-4.4 5.5-11.4-1.8-11.7-4.9-.1-8.7 3.6-16 3.5-7.2 0-8-6-13.1-3.6-5 2.4-1.5 9.7-7.1 13.4-5.6 3.8-11.2-2-15.2 1.5s1.9 8-1 12.5-7.4-.5-11.6 6.3c-4.3 6.8-5.3 21.9-5.3 21.9z"/>
+        <path d="M202 1007c14.5-26 42.6-46.3 79-61.5-21.5 7.7-64.6 27.1-82 62.4l3-.8z"/>
+        <path d="M230 974c5.7-1.7 9.7-.9 14-.4a31 31 0 00-12.5-1.4l-1.6 1.8zm22.1-14.5c6.1-.2 9.8 1.6 13.9 3.1-3.5-1.8-7-3.8-11.9-4.4l-2 1.3zm-6.1 2.2c3.6-4.9 4.1-8.9 5.1-13-.4 3.8-.6 7.7-2.9 12l-2.2 1zm-20 14.1c3.6-4.8 4.1-8.9 5.1-13-.4 3.9-.6 7.7-2.8 12.1l-2.3 1z"/>
+      </g>
+      <g id="b">
+        <path d="M210.3 1024.5c9 3.6 19.3 0 26.7 2.7 7.8 3-1.9 9.7 4.2 11.8 6.2 2 11.9-6.4 20.2-3.7 8.4 2.8 6.5 11.5 13.4 13 6.9 1.4 7.6-8.2 15.8-5.6 8.2 2.6 7.6 14 17 17.8 9 3.8 9.4 12.9.6 15.1-5.9 1.5-11.5-2.1-20.2 0-8.8 2-8.4 9.7-15.2 8-6.8-1.7-4.2-11.8-12-15-7.6-3.2-13 5.6-18.8 2.3-5.8-3.4.3-10.7-4.3-15.6-4.6-4.8-8.8 2.7-15.7-4.7-6.8-7.4-11.7-26.1-11.7-26.1z"/>
+        <path d="M201.6 1013.7c24 29 63.2 46.9 111.1 56.2-27.9-3.8-85.2-16.8-115-56.5l3.9.3z"/>
+        <path d="M243.7 1047.8c7.5.6 12.2-1.5 17.3-3.3-4.5 2.2-8.8 4.6-15 5.1l-2.3-1.8zm30.6 12.2c7.4-1.3 11.5-4.6 16-7.6-3.7 3.3-7.4 6.7-13.3 8.8l-2.7-1.2zm-8-1c5.5 5.1 7.2 10 9.4 15-1.4-4.8-2.7-9.6-6.5-14.5l-3-.5zm-27.8-12.4c5.5 5 7.2 10 9.4 15-1.4-4.8-2.6-9.6-6.5-14.5l-2.9-.5z"/>
+      </g>
+      <use width="744.1" height="1052.4" transform="translate(44 17.4)" xlink:href="#a"/>
+      <use width="744.1" height="1052.4" transform="translate(59.3 11.2)" xlink:href="#b"/>
+      <g id="e">
+        <path d="M353.5 1034.1c9.8 1 18.8-5.3 26.7-4.7 8.4.6.7 9.8 7.2 10 6.4.3 9.9-9.3 18.7-9 8.8.4 9.2 9.2 16.3 8.7 7-.5 5.3-9.9 14-9.6s11 11.2 21 12.3c9.8 1.1 12.5 9.7 4.5 14.3-5.3 3-11.7 1-19.7 5.4s-5.7 11.7-12.7 12c-7 .1-7.1-10.2-15.5-11.2-8.3-.9-11.3 9-17.8 7.4-6.5-1.6-2.4-10.3-8.1-13.7-5.8-3.3-8 5-16.5-.2s-18-21.7-18-21.7z"/>
+        <path d="M342.3 1026.2c30.8 21 73.5 27.4 122.6 23.2-28.2 4-87.3 7.3-126.4-22.4l3.8-.8z"/>
+        <path d="M392 1047.2c7.4-1.4 11.5-4.8 16-7.9-3.8 3.4-7.4 6.8-13.2 9l-2.8-1zm33 3.3c6.8-3.3 10-7.6 13.6-11.7-2.8 4.2-5.5 8.4-10.7 12l-3-.3zm-8.1 1.2c6.6 3.4 9.5 7.6 13 11.7-2.7-4.1-5.1-8.4-10-12l-3 .3zm-30.3-4.2c6.7 3.3 9.6 7.6 13 11.7-2.6-4.2-5-8.4-10-12l-3 .3z"/>
+      </g>
+      <path d="M292.7 1024.5c5-5 13.2-6.2 17.3-10.2 4.4-4.3-4.5-5.2-1-8.4s10.2 0 15-4.4c4.8-4.3.5-8.8 4.7-12 4.3-3 8 2.4 12.7-1.8 4.8-4.2.5-10.7 5.6-16 5-5.2 2.1-10.7-4.7-9.2-4.5 1-7 5-13.8 6.6-6.7 1.7-9-3-13 .2-4.1 3.2 1 8.4-3.1 12.7-4.2 4.4-10.8 1-13.7 4.8-2.8 3.9 3.8 6.2 2.3 10.6-1.5 4.4-7 1.3-9 7.9-2.2 6.6.7 19.3.7 19.3z"/>
+      <path d="M292 1030.3c6.7-25 25.7-44.8 55.3-65.9-17.7 11.3-50.8 34.2-57.7 67.3l2.5-1.4z"/>
+      <path d="M307.6 1000c5-2.9 8.9-3.1 13-3.8-3.8.2-7.6.2-12 1.9l-1 1.8zm16.8-17.3c5.5-1.6 9.4-1 13.6-.7-3.7-.7-7.4-1.5-12-.8l-1.6 1.5zm-5.1 3.3c2-4.8 1.5-8.3 1.3-12 .7 3.4 1.5 6.6.5 10.7l-1.8 1.3zm-14.8 16.3c2-4.8 1.5-8.2 1.4-11.9.6 3.3 1.4 6.5.5 10.7l-1.9 1.2zm41 15c4-6.2 12-9.1 15.4-14.1 3.5-5.3-5.7-4.4-2.8-8.4 3-4 10.4-2.1 14.3-7.6 4-5.5-1.2-9.3 2.4-13.3 3.7-4.1 8.6.8 12.5-4.5 4-5.4-1.7-11.2 2.4-17.7 4-6.4 0-11.5-6.6-8.6-4.4 2-6.1 6.6-12.6 9.7-6.4 3-9.8-1.4-13.2 2.8-3.5 4.1 2.8 8.4-.6 13.8-3.3 5.4-10.7 3.2-12.8 7.7-2.1 4.6 5 5.7 4.4 10.5-.6 4.8-6.7 2.7-7.6 10-.8 7.2 4.7 19.7 4.7 19.7z"/>
+      <path d="M346 1023.4c1.6-27.1 16.9-51.5 42.6-79.3-15.7 15.3-44.6 45.6-45 81.3l2.3-2z"/>
+      <path d="M355.6 988.8c4.4-3.8 8.3-4.9 12.3-6.4-3.8 1-7.6 1.7-11.7 4.3l-.6 2.1zm13.5-21.1c5.3-2.8 9.3-3 13.6-3.5-4 0-7.8 0-12.4 1.6l-1.2 1.9zm-4.6 4.3c1.2-5.3-.1-8.8-1-12.5 1.3 3.2 2.8 6.4 2.6 10.9l-1.6 1.6zM353 992c1-5.4-.2-8.9-1-12.6 1.3 3.3 2.7 6.4 2.6 10.9L353 992z"/>
+      <g id="f">
+        <path d="M505.9 948.8c7.7-4.2 11.3-13.2 17.4-16.7 6.6-3.7 5.3 6.8 10.2 3.8 5-3 2.8-11.8 9.5-16 6.7-4 11.3 2.3 16.3-1.6s-.9-10 5.7-14c6.5-4.1 13.6 2.8 21.5-1.4 7.8-4 14 1 10.3 8.3-2.5 5-8.2 6.6-12 13.8-3.8 7.2 1.5 11.4-3.6 15-5.1 3.6-10.2-3.9-16.8-.5-6.6 3.5-4 12.2-9.6 14.3-5.6 2-6.8-6.4-12.7-6-5.9.3-3.5 7.6-12.3 8-8.8.3-24-7-24-7z" transform="translate(9.4 -7.9)"/>
+        <path d="M493.7 948.5c33 .2 67.7-16.3 102-43.7-18.9 17-61 48.6-104.4 46.2l2.4-2.5z" transform="translate(9.4 -7.9)"/>
+        <path d="M540.7 939.4c4.8-4.8 6.1-9.3 8-13.8-1.1 4.3-2.1 8.6-5.4 13.2l-2.6.6zm26-14c3.5-5.8 3.7-10.5 4.5-15.3-.1 4.5 0 8.9-2.2 14.1l-2.3 1.2zm-5.4 5c6.6-1 10.7.8 15.3 2.1-4-1.8-7.8-3.7-13.2-3.9l-2.1 1.7zm-24.4 11.8c6.5-.9 10.7.8 15.3 2.2-4-1.8-7.9-3.7-13.3-4l-2 1.8z" transform="translate(9.4 -7.9)"/>
+      </g>
+      <path d="M583 716.2c3.6-8.6.8-18.5 3.6-25.6 3-7.5 8.7 2 10.7-3.9s-5.2-11.5-2.3-19.4 10.5-6 12.1-12.6c1.6-6.6-7-7.5-4.3-15.4 2.8-7.8 13-7 16.8-15.9 3.7-8.6 12-8.8 13.6-.3 1 5.7-2.5 11-1 19.4 1.4 8.5 8.4 8.3 6.6 14.8-1.9 6.5-10.8 3.8-14 11.2-3.2 7.3 4.4 12.6 1.2 18.2-3.2 5.5-9.6-.6-14.1 3.8-4.6 4.4 2 8.5-5 15-7 6.4-24 10.7-24 10.7z"/>
+      <path d="M573 724.4c27-22.6 44.7-59.9 55.2-105.8-4.6 26.8-18.8 81.6-55.7 109.4l.4-3.6z"/>
+      <path d="M605.4 684.6c.9-7.2-.9-11.7-2.2-16.7 1.8 4.3 3.7 8.5 4 14.4l-1.8 2.3zm12.3-29.2c-.9-7.2-3.7-11.2-6.1-15.6 2.7 3.7 5.6 7.3 7.2 13l-1.1 2.6zm-1.3 7.7c4.8-5.2 9.3-6.7 13.9-8.8-4.4 1.3-8.7 2.4-13.3 6l-.6 2.8zM604 689.5c4.8-5.2 9.3-6.7 13.9-8.7-4.4 1.3-8.7 2.4-13.3 6l-.6 2.7z"/>
+      <path d="M572.3 672c4.4-7.6 3-17.3 6.4-23.6 3.7-6.7 8 3 10.6-2.3 2.7-5.3-3.6-11.6 0-18.8 3.7-7.1 10.8-4.3 13-10.3 2.4-6-5.7-8-2.2-15 3.5-7.1 13-5 17.7-13 4.6-7.6 12.4-6.8 12.9 1.5.4 5.5-3.6 10-3.2 18.2.3 8.2 7 9 4.5 14.8-2.6 6-10.7 2.3-14.6 8.8-3.9 6.5 2.7 12.6-1 17.4-3.7 4.8-9-1.8-13.8 1.8-4.8 3.5.9 8.3-6.4 13.5s-24 7-24 7z"/>
+      <path d="M561.8 678.5c28.2-17.8 49.4-50.8 64.8-92.9C619 610.3 599 660.3 561 682l.8-3.4z"/>
+      <path d="M597.2 645c1.6-6.6.5-11.2-.1-16 1.1 4.3 2.5 8.5 2 14.1l-2 2zm15-26c0-6.9-2-11-3.9-15.5 2.2 3.9 4.5 7.6 5.3 13.2l-1.4 2.3zm-2 7.1c5.1-4.3 9.5-5.1 14-6.5-4.2.7-8.4 1.1-13.2 4l-.9 2.5zm-14.9 23.5c5.2-4.4 9.6-5.2 14.1-6.5-4.2.6-8.5 1-13.2 3.9l-.9 2.6zm-28.6 126.3c-7.8-5.6-18.2-4.8-24.7-9.2-6.8-4.7 3.7-8.6-1.7-12-5.4-3.5-12.5 3-19.9-1.7-7.3-4.7-3.8-12.3-10-15.4-6.3-3.1-8.9 5.7-16.1 1.2-7.3-4.5-4.5-15-12.6-21-7.8-5.7-6.4-14.3 2.4-14.2 5.9 0 10.4 4.9 19.1 5.2 8.8.3 5-4.3 11.1-1s4.9 12 11.5 17c6.7 4.9 15.2-4.7 20-.1 5 4.5-2.3 9.9 1 15.6 3.5 5.7 9-.3 14 8.3 5 8.6 6 27.3 6 27.3z"/>
+      <path d="M572.9 788.2c-17-33.1-50.6-59.6-94.2-80.4 25.7 10.6 77.4 37 97.7 81.6l-3.5-1.2z"/>
+      <path d="M539.7 745.8c-7-2.5-11.8-1.6-17-1.3 4.7-1 9.2-2 15.2-1l1.8 2.3zm-26.5-19.1c-7.4-.6-11.8 1.4-16.8 3 4.3-2 8.4-4.3 14.4-4.8l2.4 1.8zm7.3 3c-4.2-6.2-4.8-11.2-5.9-16.4.4 4.8.6 9.6 3.3 15.1l2.6 1.2zm23.9 18.5c-4.2-6.1-4.8-11.1-6-16.3.5 4.8.7 9.6 3.3 15.1l2.7 1.2zm30.3 95.2c5.8-6.6 6.3-16.4 11-21.9 4.8-5.8 7.1 4.6 10.7 0 3.7-4.6-1.2-12 3.7-18.3 5-6.3 11.3-2 14.8-7.4 3.4-5.4-4-9 .7-15.2 4.8-6.2 13.7-2.2 19.8-9 6-6.5 13.5-4 12.4 4.2-.7 5.5-5.5 9-6.7 17.2-1.3 8.1 5 10.2 1.5 15.4-3.6 5.2-10.9 0-16 5.5s.2 12.9-4.3 16.8c-4.6 4-8.5-3.6-13.9-1.1-5.4 2.4-.8 8.3-9 11.9-8.1 3.5-24.7 1.9-24.7 1.9z"/>
+      <path d="M563.2 847.5c31.1-11.6 58.3-39.4 81.5-77.3-12.2 22.6-41.4 67.4-83 80.5l1.5-3.2z"/>
+      <path d="M604.3 822.2c3-6.2 2.8-10.9 3-15.8.4 4.5.9 8.9-.7 14.3l-2.3 1.5zm19.9-22.3c1.3-6.8 0-11.3-.9-16 1.4 4.2 3 8.3 2.7 14l-1.8 2zm-3.5 6.5c6-3.2 10.4-3 15.1-3.4-4.3-.3-8.5-.7-13.7 1l-1.4 2.4zm-19 19.8c5.8-3.1 10.3-3 15-3.4-4.3-.2-8.5-.7-13.7 1l-1.4 2.4z"/>
+      <use width="744.1" height="1052.4" transform="rotate(15 310 758.4)" xlink:href="#c"/>
+      <use id="c" width="744.1" height="1052.4" transform="rotate(5 93.2 577.1)" xlink:href="#d"/>
+      <use width="744.1" height="1052.4" transform="rotate(-10 275 690.3)" xlink:href="#e"/>
+      <use width="744.1" height="1052.4" transform="rotate(10 225.4 653.9)" xlink:href="#f"/>
+    </g>
+    <use width="1" height="1" transform="matrix(-1 0 0 1 840 .1)" xlink:href="#g"/>
+  </g>
+  <g stroke="#d4af37" stroke-width=".4">
+    <path fill="#007ea8" d="M232.8 220.5l-11.2 14a21 21 0 015.8 14.3 42.9 42.9 0 01-2.2 14v.1H256v-42.1c-6.8 4.2-16.1 5.9-23.2-.3z"/>
+    <path fill="#fff" d="M279.2 220.5c-7 6.2-16.4 4.5-23.2.3v42.1h30.8c-1.2-3.9-2.2-8-2.2-14.1a21 21 0 015.8-14.3l-11.2-14z"/>
+    <path fill="#d91023" d="M225.2 263c-1.7 5.2-3.8 9.7-4.5 17.2-1 11.2 8 17.3 11.7 19 5.7 2.7 11.7 1.8 17.8 2.6 2.8.3 4.4 2.1 5.8 3.6 1.4-1.5 3-3.3 5.8-3.6 6.1-.8 12 .1 17.8-2.6 3.7-1.7 12.6-7.8 11.7-19-.7-7.5-2.8-12-4.5-17.3h-61.6z"/>
+  </g>
+  <g stroke="#d4af37" stroke-width="3">
+    <g fill="#00a854" stroke-width="6.2" transform="matrix(.06756 0 0 .07111 186.3 262)">
+      <g id="j" stroke-width="3.1">
+        <path d="M1074.7-201.4s5.9-20.4 18-29.3c12-9 25.2-5.7 33.2-8.9-5.4 6.8-6 20.3-18 29.3s-33.2 8.9-33.2 8.9zm48.7-36.4c-8.3 2.3-13.5-.3-25 4m17.4 1.8c-8.4 2.2-14.1-1.4-25.4 3.4m16.2 3.4c-8 2.8-11.7-1.2-22.5 4m13.3 3c-8 2.7-9.6-1.8-17.5 4.2m9.3 1.8c-5.2 1.7-7.5-.2-12.2 5m46.4-30.5c-4.5 7.3-3.5 13-10.8 22.8m3.2-17.1c-4.5 7.3-2.8 13.9-10.5 23.3m1.3-16.5c-5 6.8-2.2 11.5-10.3 20.4m1-13.5c-4.9 6.8-1 9.7-9 15.6m.9-9.5c-3 4.5-2 7.3-8.3 10.2"/>
+        <path d="M1130.8-243.6l-24.2 18-31.6 24 32-23.5 24.2-18m-23-73.9s16.7 13 20.5 27.5c3.8 14.5-4 25.5-4 34.1-4.4-7.4-16.7-13-20.7-27.5s4.1-34.1 4.1-34.1zm15.6 58.7c1-8.6 5.3-12.4 5.7-24.6m-8.1 15.3c1-8.5 6.4-12.6 6.2-24.7m-9.2 13.7c.3-8.4 5.4-10.4 4.6-22.4m-7.6 11.3c.4-8.4 5.2-8.3 2.5-17.9m-5.1 8c.3-5.4 3-7-.2-13.2m11.2 54.5c-5.1-7-10.8-8.1-17.1-18.5m14.7 9.3c-5.2-7-12-7.8-17.8-18.4m14.8 7.3c-4.5-7.1-9.9-6.3-15.2-17.1m12.2 6c-4.5-7.1-8.6-4.6-11-14.2m8.4 4.3c-3-4.5-6-4.5-6.4-11.5"/>
+        <path d="M1126.6-249.3l-7.8-29.1-10.6-38.3 10 38.5a5074.4 5074.4 0 007.8 29"/>
+        <g id="h">
+          <path d="M1206.4-261.9s16.8 13 20.6 27.6c3.8 14.5-4 25.5-4 34-4.4-7.4-16.7-13-20.6-27.4-4-14.5 4-34.2 4-34.2zm15.7 58.7c1-8.5 5.4-12.4 5.7-24.6m-8.1 15.4c1-8.6 6.4-12.6 6.2-24.8m-9.2 13.7c.3-8.4 5.4-10.4 4.6-22.4m-7.6 11.3c.4-8.4 5.2-8.2 2.5-17.8m-5.1 8c.4-5.5 3-7-.2-13.2m11.2 54.4c-5.1-6.9-10.8-8-17.1-18.5m14.7 9.3c-5.2-6.9-12-7.7-17.8-18.3m14.8 7.2c-4.5-7-9.9-6.3-15.1-17m12.1 6c-4.5-7.2-8.6-4.7-11-14.3m8.4 4.4c-3-4.5-6-4.6-6.4-11.5"/>
+          <path d="M1224.9-194.1l-7.8-29.2-10.6-38.2 10 38.4a5155 5155 0 007.8 29.1m-53.8 57.3s2.9-21 13.5-31.6c10.7-10.6 24.2-9.2 31.6-13.5-4.3 7.4-3 20.9-13.5 31.6-10.6 10.6-31.6 13.5-31.6 13.5zm43-43c-8 3.4-13.4 1.7-24.2 7.5m17.4-.7c-8 3.4-14.2.7-24.6 7m16.5 1.1c-7.4 3.9-11.7.5-21.7 7.2m13.6 1c-7.5 3.8-9.7-.4-16.7 6.7m9.5.4c-5 2.4-7.5 1-11.3 6.8m41.5-37c-3.4 8-1.7 13.4-7.5 24.1m.7-17.3c-3.4 7.9-.7 14.1-7 24.6m-1.1-16.5c-3.9 7.4-.5 11.7-7.2 21.7m-1-13.6c-3.8 7.5.4 9.7-6.7 16.7m-.5-9.5c-2.4 5-.9 7.5-6.7 11.3"/>
+          <path d="M1219.9-186.6l-21.3 21.4-27.9 28.2s18.9-18.4 28.3-27.8a5074.4 5074.4 0 0021.4-21.3"/>
+        </g>
+        <path d="M1057-278.6s20.6-5.1 34.4.9c13.8 6 17.5 19 24.3 24.3-8.5-1.2-20.5 5-34.4-.9-13.8-5.8-24.2-24.3-24.2-24.3zm55.9 24c-6-6-6.5-11.8-15.9-19.6m7.1 15.8c-6-6-5.9-12.9-15.6-20.2m5 15.7c-6.3-5.5-4.7-10.7-14.7-17.4m4.2 12.9c-6.4-5.5-3.3-9.2-12.5-13m3.1 9c-4-3.7-3.6-6.7-10.4-8m49.7 24.8c-8.6-.2-13 3.5-25.2 2m16.4-5.8c-8.6-.2-13.4 4.6-25.4 2.6m14.9-7.1c-8.4-.9-11 3.9-22.8 1.3m12.2-5.8c-8.3-.9-8.9 3.9-18-.1m8.6-4c-5.4-.4-7.2 2-13-2"/>
+        <path d="M1121.7-251.2L1094-263l-36.6-15.4 36.3 16a5135.7 5135.7 0 0027.7 12M1072.3-384s14.7-15.3 29.5-17.5c14.9-2.3 25 6.7 33.5 7.6-7.8 3.5-14.7 15.2-29.5 17.6-14.9 2.4-33.5-7.7-33.5-7.7zm60-9.4c-8.4-2-11.8-6.6-23.9-8.2m14.5 9.7c-8.4-2-11.9-7.8-24-8.9m12.6 10.7c-8.3-1.3-9.7-6.5-21.7-7m10.4 8.7c-8.3-1.2-7.7-6-17.5-4.3m7.4 6c-5.4-1-6.6-3.8-13.1-1.3m55.3-5.4c-7.4 4.4-9.2 9.9-20.2 15.1m10.8-13.6c-7.4 4.4-9 11-20.2 15.7m8.8-14c-7.5 3.8-7.3 9.2-18.6 13.3m7.3-11.5c-7.5 3.7-5.5 8-15.3 9.5m5.2-7.9c-4.8 2.5-5.2 5.5-12.1 5.1"/>
+        <path d="M1141.6-395l-29.8 4.6c-13.1 2-39.2 6.4-39.2 6.4l39.3-5.8 29.8-4.6M1102-455s20 7 28.2 19.6c8.2 12.6 4.2 25.5 6.9 33.7-6.4-5.7-19.9-7.1-28.2-19.6-8.3-12.6-6.9-33.7-6.9-33.7zm33.4 50.8c-1.7-8.5 1.1-13.5-2.4-25.2m-2.8 17.2c-1.7-8.5 2.1-14-2-25.5m-4.3 15.9c-2.3-8 1.8-11.6-2.7-22.7m-3.7 13c-2.3-8 2.3-9.4-3.2-17.6m-2.4 9.2c-1.3-5.3.6-7.6-4.3-12.5m27.8 48.2c-7-5-12.8-4.4-22.1-12.2m16.9 4.2c-7.1-5-13.8-3.6-22.7-11.9m16.4 2.3c-6.5-5.3-11.4-2.9-19.8-11.5m13.4 1.9c-6.5-5.3-9.5-1.7-15-10m9.4 1.5c-4.3-3.4-7.1-2.4-9.6-9"/>
+        <path d="M1141-396.4l-16.6-25.2-22.1-33 21.6 33.3a5079.8 5079.8 0 0016.5 25.2"/>
+        <g id="i">
+          <path d="M1213.7-401.8s16.7 13 20.6 27.5c3.8 14.5-4.1 25.5-4.1 34.1-4.3-7.4-16.6-13-20.6-27.5s4-34.1 4-34.1zm15.7 58.7c1-8.6 5.3-12.4 5.6-24.6m-8 15.4c1-8.6 6.4-12.7 6.2-24.8m-9.2 13.7c.3-8.4 5.4-10.4 4.5-22.4m-7.5 11.3c.3-8.4 5.1-8.3 2.5-17.9m-5.2 8c.4-5.4 3-7-.2-13.1m11.3 54.4c-5.2-6.9-10.8-8.1-17.2-18.5m14.7 9.3c-5.2-7-11.9-7.7-17.8-18.4m14.9 7.3c-4.5-7.1-10-6.3-15.2-17.1m12.2 6c-4.5-7.1-8.6-4.6-11.1-14.2m8.4 4.3c-3-4.5-6-4.5-6.3-11.5"/>
+          <path d="M1232.1-334.1l-7.8-29.1-10.5-38.3s6.5 25.6 10 38.5a5074.4 5074.4 0 007.7 29m-64.4 39s8.2-19.5 21.3-27c13-7.4 25.7-2.6 34-4.8-6.1 6-8.3 19.4-21.3 27-13 7.6-34 4.9-34 4.9zm52.6-30.3c-8.5 1.2-13.4-1.9-25.2 1m17 3.8c-8.6 1.2-14-3-25.6.4m15.6 5.3c-8.2 1.9-11.4-2.5-22.8 1.4m12.9 4.4c-8.2 1.8-9.3-2.9-18 2.2m9.1 2.9c-5.3 1-7.4-1-12.6 3.6m49.6-25c-5.3 6.8-5 12.6-13.4 21.4m5.2-16.6c-5.4 6.8-4.4 13.5-13.2 22m3.2-16.3c-5.7 6.2-3.5 11.2-12.6 19m2.7-13.2c-5.7 6.1-2.2 9.4-10.9 14.3m2-9.2c-3.5 4-2.8 7-9.4 9.1"/>
+          <path d="M1227.7-330.3l-26 15.1-34.3 20.1 34.5-19.5a5074.4 5074.4 0 0026.1-15.1"/>
+        </g>
+        <path d="M1182.2-442s19.7-8 34.2-4c14.5 4 20 16.3 27.4 20.7-8.6 0-19.6 7.8-34.1 4-14.5-4-27.5-20.7-27.5-20.7zm58.7 15.9c-6.9-5.2-8.1-10.9-18.5-17.2m9.2 14.7c-6.8-5.2-7.6-12-18.2-17.9m7.2 14.9c-7.1-4.5-6.3-10-17-15.2m5.9 12.2c-7-4.5-4.6-8.6-14.2-11.1m4.3 8.4c-4.5-3-4.5-6-11.4-6.4m52.7 17.6c-8.6 1-12.5 5.2-24.6 5.5m15.4-8c-8.6 1-12.7 6.4-24.8 6.1m13.7-9.1c-8.4.3-10.4 5.4-22.4 4.5m11.3-7.5c-8.4.3-8.3 5-17.9 2.4m8-5c-5.4.2-7 2.8-13.1-.4"/>
+        <path d="M1250-424l-29-7.9-38.5-10 38.3 10.7a5074.4 5074.4 0 0029 7.8m-34.7-73.7s19.5 8.2 27 21.3c7.4 13 2.6 25.7 4.8 34-6-6.1-19.4-8.3-27-21.3-7.5-13-4.8-34-4.8-34zm30.3 52.7c-1.2-8.6 2-13.4-.9-25.3m-3.9 17c-1.2-8.6 3-13.9-.3-25.6m-5.4 15.6c-1.8-8.2 2.6-11.4-1.3-22.8m-4.4 12.8c-1.8-8.2 2.8-9.3-2.2-17.8m-2.9 9c-1-5.3 1-7.5-3.6-12.7m24.9 49.8c-6.8-5.4-12.6-5.1-21.4-13.5m16.6 5.2c-6.8-5.4-13.5-4.4-21.9-13.2m16.2 3.2c-6.2-5.7-11.2-3.5-19-12.6m13.3 2.7c-6.2-5.7-9.5-2.3-14.4-11m9.3 2c-4-3.5-7-2.7-9.1-9.4"/>
+        <path d="M1250.3-436.4l-15-26.2-20-34.3 19.5 34.6a5040.8 5040.8 0 0015 26.2"/>
+        <use width="744.1" height="1052.4" transform="translate(-32 -18)" xlink:href="#h"/>
+        <path d="M1142.4-297.9s16.8 13 20.6 27.6c3.8 14.5-4 25.5-4 34-4.4-7.4-16.7-13-20.6-27.4-4-14.5 4-34.2 4-34.2zm15.7 58.7c1-8.5 5.4-12.4 5.7-24.6m-8.1 15.4c1-8.6 6.4-12.6 6.2-24.8m-9.2 13.7c.3-8.4 5.4-10.4 4.6-22.4m-7.6 11.3c.4-8.4 5.2-8.2 2.5-17.8m-5.1 8c.4-5.5 3-7-.2-13.2m11.2 54.4c-5.1-6.9-10.8-8-17.1-18.5m14.7 9.3c-5.2-6.9-12-7.7-17.8-18.3m14.8 7.2c-4.5-7-9.9-6.3-15.1-17m12.1 6c-4.5-7.2-8.6-4.7-11-14.3m8.4 4.4c-3-4.5-6-4.6-6.4-11.5"/>
+        <path d="M1160.9-230.1l-7.8-29.2-10.6-38.2 10 38.4a5155 5155 0 007.8 29.1m-53.8 57.3s2.9-21 13.5-31.6c10.7-10.6 24.2-9.2 31.6-13.5-4.3 7.4-3 20.9-13.5 31.6-10.6 10.6-31.6 13.5-31.6 13.5zm43-43c-8 3.4-13.4 1.7-24.2 7.5m17.4-.7c-8 3.4-14.2.7-24.6 7m16.5 1.1c-7.4 3.9-11.7.5-21.7 7.2m13.6 1c-7.5 3.8-9.7-.4-16.7 6.7m9.5.4c-5 2.4-7.5 1-11.3 6.8m41.5-37c-3.4 8-1.7 13.4-7.5 24.1m.7-17.3c-3.4 7.9-.7 14.1-7 24.6m-1.1-16.5c-3.9 7.4-.5 11.7-7.2 21.7m-1-13.6c-3.8 7.5.4 9.7-6.7 16.7m-.5-9.5c-2.4 5-.9 7.5-6.7 11.3"/>
+        <path d="M1155.9-222.6l-21.3 21.4-27.9 28.2s18.9-18.4 28.3-27.8a5074.4 5074.4 0 0021.4-21.3"/>
+        <use width="744.1" height="1052.4" transform="translate(-62 -40)" xlink:href="#i"/>
+        <use width="744.1" height="1052.4" transform="translate(-31 -20)" xlink:href="#i"/>
+      </g>
+      <use width="744.1" height="1052.4" transform="matrix(-1 0 0 1 2501 0)" xlink:href="#j"/>
+      <path fill="#947245" d="M1250.5-437.1c-8.6 41.6-8.6 79.1-8.6 79.1-.5 14-7.4 23.7-13.8 20-54.9-31.7-60.3-37.5-89.1-59.6 24.3 26.4 31.2 38.2 86.7 70.2 10.7 6.2 12 16.4 11.6 29.5l-1.6 61.7c-.3 9 5.7 50.1-22.6 34.2-65.4-36.6-63.8-33.6-95.1-51.6 38 32.3 24.4 23.4 90.6 61.7 12 6.9 24.5 24.5 24.5 32.8 0 124.3 1.9 101.5-12.8 139.1h60.4c-14.7-37.6-12.8-14.8-12.8-139 0-8.4 12.6-26 24.5-33 66.2-38.2 51.5-29.3 89.6-61.6-31.3 18-28.7 15-94.1 51.6-28.3 15.9-22.3-25.2-22.6-34.2l-1.6-61.7c-.5-13.1.9-23.3 11.6-29.5 55.5-32 62.4-43.8 86.7-70.2-28.8 22-34.2 28-89.1 59.6-6.4 3.7-13.3-6-13.8-20 0 0 0-37.5-8.6-79.1z"/>
+    </g>
+    <g stroke-width="2.7">
+      <path fill="#e3e4e5" stroke-linecap="square" d="M264.4 424.6c-.2 1 1.6 12.4.6 15.7-.5 4.5-.6 5.2-1.7 11.1-1 5.9-2.4 17.3-4.4 24.2a37.3 37.3 0 00-.7 12.4l3.6 19.4s1.6 2 1.8 2.7c.3.8-.1 2 0 2.3 1 1.3 1.1 2.7 2.2 3.8.2.2 1 .1 1.1.4.2.2 1.5.3 1.8.4.8.8.6 1.3 1 2.4h-6.3c.2-2.8-2-3.9-2-3.9-.3-.3-2.9-1-3.2-2.7-.4-2.4 0-2.8 0-2.8s-2.2-9-3-11.4c-.6-1.7-.7-2.6-1-4-.7-4.3-1-6.2-3.2-12.5-.6-1-2-1.4-1.9-2.9l.7-1.4v-1.2l1.1-15.5a1.9 1.9 0 00.3-.7c.6-8.8-4.1-17-7.1-25-.6-1.4-.1-3-.7-4.4-3.2-1-5.4-6.4-6.6-9.8a23 23 0 01-.7-11.6 5 5 0 011-2.5m63.2 36.7a8.3 8.3 0 012.5-.4l1 1.5c1.5 2.8 3.4 15.4 4.4 21.2l1.5 7.9s-.4 2 .3 4.3l.6 2.1c.8 3 1.7 3.8 1.7 3.8.2.8 1.4 6.8 1.7 7.5a75.2 75.2 0 012.6 16.7c-.1 4.7-.1 4.2.3 4.6 1 1 1.5.4 3.8 6.1 0 .5.2-.2.5.2.2.6.7.5 1.1.6.8 0 .6.2 1.2.3a6.3 6.3 0 001.6 0h5.5a5.4 5.4 0 00-4.9-3.4c-.8-.5-1.8-1.2-2.1-2.3l-2.3-3.3c.1-.7-.4-1.7-.6-2.5l-2-23.2s.4-2.3.4-4.7c-.2-12.8.6-25.6 1-38.5.2-1 4-4.7 4-4.7" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#fff" stroke-linecap="square" d="M356.8 323.8a7.3 7.3 0 00-5.5 2.5 22 22 0 00-3 10.6c-.1.8.2 1.4 0 2.2a83.3 83.3 0 00-1.7 5c-.7 4.2-.9 19.7-2 25.6-1 6-6 14.6-8 17.4a9.7 9.7 0 01-4.5 2.2c-.8.2-7.2-.5-7.2-.5-8.4-.6-21-5.2-29.5-6.4-8.4-1.1-18.7-.6-26.6-1.4 0 0-10-3.7-19.1-1-9 2.6-14.1 7.5-22 19.5 0 0-3.4 4.1-3.4 5.5a17 17 0 005.2 12.8c1.1 1 .8.1.7-.1.4.7.7 2.4 1.2 3a43.7 43.7 0 013.2 5.2c.8 1.5.4 3.3 1.1 4.8 3.9 8.3 2 16.8 2 26.5a2 2 0 01-.1.8c-.1 5.7-5.7 13.3-5.7 19v1.2l-.7 1.6c0 1.6-2.1 1.9-1.5 3 3 6.7 3.4 8.7 4.5 13.2.4 1.7.6 2.6 1.3 4.5 1 2.4 4 12 4 12s-.3.6.3 3.2c.4 1.8 3.3 2.3 3.6 2.6a6 6 0 002.7 4.7c0 .4 2.5.3 2.8.3l3-.2c0-1.3-.4-2-1.3-2.8-.3-.1-1.5-.5-1.7-.7l-.6-1c-1.3-1.1-1.5-2.6-2.6-4-.2-.2.1-1.6-.2-2.4-.3-.9-2.2-2.8-2.2-2.8l-5.2-20.9c-.7-4.7 2.8-7.4 3.2-11.3 0-.8 4.6-12.2 4.8-12.8 3.3-8.9 8.8-22.8 8.7-28.7-.1-6.6-.3 1.3.3-3.7.5-3.8-1.7-13.8-1.5-14.8 12.4 20.7 24.5 28.2 44.5 26.2a9 9 0 012.5 0s.5 1.1.5 1.6c.8 2.9-1 15.3-1.7 21.2l-.8 7.8s-1 2-1 4.2v2.1c-.1 3 .6 4 .6 4l-.5 7.4a60.9 60.9 0 01-2.3 15.4c-.2.6-.7 1.5-1.3 1.6-.6.5-1.5 1.4-1.6 2.2 0 .6 0 1.2.2 1.8 0 .5.5 1.2.8 1.6.4 1.8.2 3.6.2 5.4l.3 1.7c.1.5.6.5 1 .6.7.2.5.6 1 .8l1.6.1h5.4c-.1-2-2-3-3.5-4-.7-.6-.6-.8-.6-1.8l-.1-4c0-.7.3-1 .5-1.5.3-.7.1-1.7.1-2.5 1-6.9 2.2-14 4-20.6 1.5-2 2.1-4.3 2.5-6.7 0 0 1.2-3.2.8-5l5-30a3.9 3.9 0 012.4-2.3c6.1-2.7 12.3-4.6 18-8.6 6.4-4.4 10.2-11.6 14.7-18 1-2 2.1-3.6 3.2-5.4a93 93 0 0010-27.2c1.5-8.5 1-16.9 3.4-27 .5-2.1 2.4-3.8 2.8-6v-.5l1.2-.1 3.8-.5h3.2l1.8.1c.5 0 1.4.6 1.9.6s1-.1 1.3-.6c.7-.8.7-.5.9-1.3 0-.2.3 0 .4 0 .5-.2.9-.8 1.4-1 .4 0 .7-.2.8-.5v-1.6c0-.8 0-.8-.5-1h-.2c-.6-.2 0-1.4 0-2a3.8 3.8 0 00-.1-1.6 2.4 2.4 0 00-.9-1.1l-.9-1c-2.8-2.3-4-4.1-6-6 .3-.4.3-.6.2-1.3-1-2.7-2.7-3.2-5.6-5.4a25.6 25.6 0 00-10.1-3.7h-1.6a6.6 6.6 0 00-.4 0z" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#d18219" stroke="none" d="M249.5 228.4a1.1 1.1 0 00-.8.4 3.7 3.7 0 00-.5 1.6v.4l-.3.8c0 .6-.1 3-.3 4s-.9 2.3-1.2 2.7l-.7.4-1.1-.1c-1.4-.1-3.3-.8-4.6-1-1.4-.2-3-.1-4.2-.2 0 0-1.5-.6-3-.2-1.4.4-2.2 1.2-3.4 3 0 0-.5.7-.5 1 0 .6.2 1.5.8 2h.1c0-1 .2-1.6.2-1.6a4.6 4.6 0 00.3 1.6l.6 1c.3.7.5 3 .6 3.8l-.5 2.8c-.5 1.4-.7 2.6-.1 1.7.2-.4 1.1-2.2 1.6-3.8.4-1.6.9-2.6.8-3l-.2-2.3a1.3 1.3 0 010-.2l-.1-.3.2-1.1c2.3 4.3 6 4.8 8.4 1.8a12.5 12.5 0 00-.3 3.7v.7l-.4 4.1-.2.5v.7h.1v.7l.4-1v-.7l.9-4.7a.4.4 0 010-.1l.6-.6c.1-.2.6-2 .5-3.3-.1-2.7 3.5-3.5 4.7-2.1l1.1-1a6.3 6.3 0 00.8-1.5v-.3a9.7 9.7 0 00.2-.7 12.2 12.2 0 00.2-1v-1l.1-1a11.8 11.8 0 01.3-1.2 1.1 1.1 0 010-.2l.2-.3a2.9 2.9 0 00.1-.2v-.3h.2-.9a1 1 0 01-.4 0l-.7-.8.3-1.3c.3-.7.6-.2 1.3 0a6 6 0 012 1l.6.1h.2v-.3a1.4 1.4 0 000-.1.4.4 0 000-.1.4.4 0 00-.2-.2l-.1-.1-1-1c.1 0 .1 0 0-.2 0-.4-.3-.5-.8-.8a4 4 0 00-1.6-.6h-.2z"/>
+      <path fill="none" stroke-linecap="square" d="M356.8 323.8a7.3 7.3 0 00-5.5 2.5 22 22 0 00-3 10.6c-.1.8.2 1.4 0 2.2a83.3 83.3 0 00-1.7 5c-.7 4.2-.9 19.7-2 25.6-1 6-6 14.6-8 17.4a9.7 9.7 0 01-4.5 2.2c-.8.2-7.2-.5-7.2-.5-8.4-.6-21-5.2-29.5-6.4-8.4-1.1-18.7-.6-26.6-1.4 0 0-10-3.7-19.1-1-9 2.6-14.1 7.5-22 19.5 0 0-3.4 4.1-3.4 5.5a17 17 0 005.2 12.8c1.1 1 .8.1.7-.1.4.7.7 2.4 1.2 3a43.7 43.7 0 013.2 5.2c.8 1.5.4 3.3 1.1 4.8 3.9 8.3 2 16.8 2 26.5a2 2 0 01-.1.8c-.1 5.7-5.7 13.3-5.7 19v1.2l-.7 1.6c0 1.6-2.1 1.9-1.5 3 3 6.7 3.4 8.7 4.5 13.2.4 1.7.6 2.6 1.3 4.5 1 2.4 4 12 4 12s-.3.6.3 3.2c.4 1.8 3.3 2.3 3.6 2.6a6 6 0 002.7 4.7c0 .4 2.5.3 2.8.3l3-.2c0-1.3-.4-2-1.3-2.8-.3-.1-1.5-.5-1.7-.7l-.6-1c-1.3-1.1-1.5-2.6-2.6-4-.2-.2.1-1.6-.2-2.4-.3-.9-2.2-2.8-2.2-2.8l-5.2-20.9c-.7-4.7 2.8-7.4 3.2-11.3 0-.8 4.6-12.2 4.8-12.8 3.3-8.9 8.8-22.8 8.7-28.7-.1-6.6-.3 1.3.3-3.7.5-3.8-1.7-13.8-1.5-14.8 12.4 20.7 24.5 28.2 44.5 26.2a9 9 0 012.5 0s.5 1.1.5 1.6c.8 2.9-1 15.3-1.7 21.2l-.8 7.8s-1 2-1 4.2v2.1c-.1 3 .6 4 .6 4l-.5 7.4a60.9 60.9 0 01-2.3 15.4c-.2.6-.7 1.5-1.3 1.6-.6.5-1.5 1.4-1.6 2.2 0 .6 0 1.2.2 1.8 0 .5.5 1.2.8 1.6.4 1.8.2 3.6.2 5.4l.3 1.7c.1.5.6.5 1 .6.7.2.5.6 1 .8l1.6.1h5.4c-.1-2-2-3-3.5-4-.7-.6-.6-.8-.6-1.8l-.1-4c0-.7.3-1 .5-1.5.3-.7.1-1.7.1-2.5 1-6.9 2.2-14 4-20.6 1.5-2 2.1-4.3 2.5-6.7 0 0 1.2-3.2.8-5l5-30a3.9 3.9 0 012.4-2.3c6.1-2.7 12.3-4.6 18-8.6 6.4-4.4 10.2-11.6 14.7-18 1-2 2.1-3.6 3.2-5.4a93 93 0 0010-27.2c1.5-8.5 1-16.9 3.4-27 .5-2.1 2.4-3.8 2.8-6v-.5l1.2-.1 3.8-.5h3.2l1.8.1c.5 0 1.4.6 1.9.6s1-.1 1.3-.6c.7-.8.7-.5.9-1.3 0-.2.3 0 .4 0 .5-.2.9-.8 1.4-1 .4 0 .7-.2.8-.5v-1.6c0-.8 0-.8-.5-1h-.2c-.6-.2 0-1.4 0-2a3.8 3.8 0 00-.1-1.6 2.4 2.4 0 00-.9-1.1l-.9-1c-2.8-2.3-4-4.1-6-6 .3-.4.3-.6.2-1.3-1-2.7-2.7-3.2-5.6-5.4a25.6 25.6 0 00-10.1-3.7h-1.6a6.6 6.6 0 00-.4 0z" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#d39044" stroke-linecap="square" d="M382.3 343.8l-.3 1.2v.2l.3-1.2v-.2z" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M335 432.9c-2.1 8.3-7.2 10-3.5 17 0 0-1.6 0-2.6-2.8a17 17 0 01-.7-6.3 46.8 46.8 0 011.2-8.5" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M338.8 429.4c-2.1 8.4-7.2 10-3.5 17.1 0 0-2 0-3-2.7a19 19 0 01-.8-5.4c0-1.7.4-4.7.8-6a31 31 0 011.2-3.2" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M345.8 418.4c-3 5.5-5.3 10.2-6.6 14.3-1.2 4-2 6.3.4 10.6 0 0-1.6-.8-3.7-4.6a13 13 0 01-.8-6.6 30.6 30.6 0 01.8-4.4 30 30 0 01.8-2.6" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M348.5 414.9c-1.8 2.8-2.4 5.5-3.4 7.7a29 29 0 00-3.1 10.5c0 2-.3 3.7 1.9 7.1 0 0-1-.1-1.7-.5a6.2 6.2 0 01-2.3-2.7 15 15 0 01-1.3-6.5c0-1.5.5-3.7.9-5.2s1.8-4.5 1.8-4.5" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#d18219" fill-rule="evenodd" stroke-width="1.4" d="M353.3 334.5c0-.2-11.6-3.6-13.3-13.8 2.3-2.2 14.3 5.7 14.5 13" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill-opacity=".5" fill-rule="evenodd" stroke-width="1.4" d="M340.4 320.8c.1.2 6.3.2 11.2 10.6-1.1-1.2-6 1.7-11.1-10.2" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill-rule="evenodd" stroke-width="1.4" d="M368.7 335.6c.2-.2.4-.5.1-.8-5-3.2-4.8.7-8.4.7 1.7 0 1.7.2 2.3 1 2.3 2.4 4 2.2 6-.2" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="none" stroke-linecap="square" d="M381.2 349.8c-.6.6-2.5-.8-4-1" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill-rule="evenodd" stroke-linecap="square" d="M382.3 346s-.5-.5-4.3-1c0 0 2.6-2.7 2.8.3" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M302.7 436.9a33.6 33.6 0 00-1 1.8c-1 2.3-1.4 4.5.5 8 0 0-1.6 0-2.6-2.8-.5-1.3-.8-3.3-.7-6.3l.2-2.4" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+      <path fill="none" d="M230.7 419.1s-1.5-6.2 2.1-13" transform="matrix(.15595 0 0 .15696 193.9 177.6)"/>
+    </g>
+    <g fill="#e7ca00" stroke-width="2.3">
+      <path d="M401.4 879.5c-2-1.6-4-6.3-3.2-8.9-2.7-2.2-9.7 2.2-6.3 8.6 3.3 6.4 8 5.8 9.5.3zm19.1 6c.6-3.6-.7-9.7-7-10.8-6.1-1-8 4.6-6.9 10.3 4.5-3.4 11.7-1.6 14 .5z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M407.4 882c1-4.7 5.9-6 10.6-5.6-3-3.3-6-8.8-10.3-5.6-3.3 2.5-5.6 6.2-.3 11.2z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M404.8 879.3c.5-3.6 2-8.4 5.9-10.4-3.4-3-11.7-2.1-12.3 4.1-.6 6.2 3 7.5 6.4 6.3zm-16 40c5.4 1 12.4-1.7 10.4-13.6-1.9-11.3-10.2-14-10.8-11.4 4.8 1.7 4.1 17.7.5 25.1z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M396.8 918.1c5.3 1 13.7-2.1 9.9-13.8-3.7-11.5-12.2-10-12.8-7.2 4.7 1.9 6.5 13 2.8 21z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M376.7 918.2c3.9 3.4 13.9 4.7 17-6.9 3-10.9.3-14.4-3.6-16.1 2 5.6-5 21.6-13.4 23zm25.5-1c3.2-1.8 10.6-5 5.8-16-4-9-10.1-5.2-11.8-3.7 4.3 1.8 8.1 11.5 6 19.7z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M409.2 914.6c3-2 10.7-7 4.6-17.8-6.1-10.5-14.2-3.5-14.2-.7 3.5 1 9.6 10 9.7 18.5z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M416.7 907.3c2-2.8 7.2-9.8-.7-16.8a6.7 6.7 0 00-12 4.3c3.2-.5 10.6 5.2 12.7 12.5z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M421.2 896.3c.5-3.6 2-12.6-7-14.7-9-2-9.6 8.6-8.1 10.4 2.4-2.2 10.5-1 15 4.3zm-50.3 18.6c3.4 4.2 13.4 7 18.7-4.1 5-10.7 2.7-14.7-1-17.2 1 6.1-9 21.3-17.7 21.3z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M360.9 906.7c3.2 6.6 19.2 14 25.5 2 5.9-11.6 1-22.2-4-26.2 2.4 11.8-12 29.7-21.6 24.2z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M352.4 898.4c7.8 17.2 24.1 14.2 29.6 1.7 5.2-11.8 3.8-18.8-2.2-24.4-4 15.2-12.2 23.7-27.5 22.7z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M342 884c5.9 21.5 27 19 36 6.6 6.4-8.7 4.2-15.1 1-19-7 8.3-19 15.6-37.1 12.4z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M338 871c.6 21.8 26 24.3 37.4 11.7 8-8.8 7.3-15.4 5.2-19.3-8.4 8.4-25.3 18.4-42.6 7.5z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M332.7 850.2c-3.9 28.4 29.1 37.6 43.5 20.7 7.7-9 7.3-15.4 5.2-19.3-14.3 10-39.2 11.2-48.7-1.4z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M329.5 823.5c-9.5 30.7 19.2 41.6 38 38.6 14.9-2.4 23.2-20 21.1-23.8-18.6 13.1-55.4 1.8-59.2-14.7z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M329 799.7c-12.6 29.9 15.4 47.4 38.6 45.7 15.3-1.2 27.8-7.1 27.2-19.6-22.7 8-58.2-5.4-65.8-26.1z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M330 775c-12.7 30.5 14.7 55.6 43.4 56.3 14.7.3 21.4-3.6 27.2-13.3-20.7 3.5-64.9-28-70.6-43z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M329.6 765.3c-11.4 35.9 80.3 80.4 85 33.7-22 11.5-81.8-20.7-85-33.7z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M327.5 755.6c-15.4 19.8 93 78.2 95.5 28.4-9.7 5-29.8.7-49.2-8.1-19.4-8.8-33.2-22.9-46.3-20.3z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M311 751.1c19.6.5 61.3 31 89.3 36 17.8 3.3 32.4-4.2 24.1-35.5-28.5 29.1-83-17.8-111.8-6.8-3-1.4.7 8.4-1.6 6.3z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M314.7 755.5c19-11.8 58.4 10.1 86.2 11.3 17 .7 38.4-18.6 24.4-47-21.9 37.6-82.9 7.5-108.6 27.3-2 4.3-.9 10-2 8.4z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M307.1 756.8c20.2-14.8 61.6-6.2 88-8.4 17.6-1.4 43.8-32 19.9-57.5-14.9 53.9-64.5 27.3-107.3 58.3-2.1 5.5.8 8.9-.6 7.5z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M314.4 752c16.7-15.7 57.6-14.7 82-27.1 16.2-8.3 32.8-43.6 4.3-61.4-3 56.7-55.2 39-87.5 81-.7 6 2.8 8.4 1.2 7.5z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M316.1 744.5c12.4-22.1 50.3-27.6 70.8-46 18.4-16.5 23.4-46.4-7.6-56-2.6 59.3-43.8 46.8-60.7 82.3-3.2 7.8-1.6 20.5-2.5 19.7z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <path d="M325.5 722c12.7-20.2 22.2-13.3 42.4-34 17.3-17.7 22.6-60.3-7.8-61.3 4.5 51.5-15.3 52-29.2 79.7.5 6.1-3.6 16-5.4 15.5z" transform="matrix(.01517 -.19478 .17623 .01677 116.1 336.6)"/>
+      <g stroke-width="3">
+        <path fill-rule="evenodd" d="M310.4 602.7l-10.5 5.6L250 762.1l18.1 40 17.2 2.6L306 803l30.7-138.4 8.7-56.5-21-12.4-14 6.9z" transform="matrix(.01033 -.15961 .1223 .0163 152.5 322.4)"/>
+        <path d="M309.3 597.5l1.3 6.1c9.8-6.8 20.4-.2 23.3 15.6 2.9 15.8-3 39-13.7 56.7a167.2 167.2 0 00-17 56.2c-1.8 18.8 1.9 41.7-2.2 62.6-2.6 10-7.9 9.1-18.2 8.5 4.1 6.8 9.3 10.6 16 10.3 14.4-3.2 24.7-16.1 28.5-44.8a106 106 0 019.8-72 85.9 85.9 0 0026.3-50 54 54 0 00-9.6-39.1c-11.5-17.4-20.8-18-29.6-16.4l-15 6.3z" transform="matrix(.01033 -.15961 .1223 .0163 152.5 322.4)"/>
+      </g>
+      <path fill-rule="evenodd" stroke-width=".5" d="M-325.7 629.7c0-3.1 2-5.6 4.5-5.6s4.5 2.5 4.5 5.6h-9z" transform="matrix(.80795 .2725 .34088 -.78636 295.4 874.6)"/>
+      <path d="M295.5 723c-3.8 7.3-11.3 10.6-16.7 7.5-5.4-3.2-6.7-11.7-3-19 3.8-7.3 11.3-10.6 16.8-7.4 5.4 3.1 6.7 11.7 2.9 19zm-19-82c-2.5-3.5-6.3-5.7-10.3-5a12 12 0 00-6.6 3.9l-.2-1c-1.4-7.7 4.8-16.8 11.4-18 3-.5 5.7.6 8 2.7a15.2 15.2 0 00-1.2 8.8 15.2 15.2 0 001 3.6 18.3 18.3 0 00-2 5z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M300.3 632.4c-2.9-3.6-6.7-5.8-11-5.2-4 .5-8 3.6-10.7 7.7a18.8 18.8 0 01-1.1-4.1c-1.4-9 6-19.1 13.7-20.2a9.8 9.8 0 015.6.8 15.6 15.6 0 000 4 18.3 18.3 0 005 10.2 18.6 18.6 0 00-1.5 6.8zm-42.3 45l-.4.6a14.5 14.5 0 01-8.5-4.7 13.4 13.4 0 009 4zm6.8-13.6a17 17 0 01-8.1-12.3c-1.4-8.7 5.8-18.6 13.3-19.6a9.1 9.1 0 012.2-.1 18.1 18.1 0 00-3.6 13c.4 2.8 1.5 5.4 3 7.6a20.8 20.8 0 00-6.8 11.3z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M258.3 689.2c-2 .6-4 .4-5.8-.8-4.4-2.9-5.6-10.5-2.6-17 3-6.3 9-9.2 13.3-6.3a9.3 9.3 0 013.6 5.1 7.5 7.5 0 00-5.4.4c-4.7 2.2-7.1 8.6-5.4 14.3a11 11 0 002.3 4.3z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M262.4 694c-3-1-5.8-3.5-7.4-7.3-3-7-.9-15.6 4.7-19.2a9.6 9.6 0 019-.9 17.5 17.5 0 001.1 9.7 12.7 12.7 0 006.2 6.7 9.6 9.6 0 00-7.7 1.3 14 14 0 00-5.9 9.6zm-5.1 49.4c-7-4.5-11.4-14-9.7-21.1 1.4-6 6.7-8.4 12.5-6.4a25.9 25.9 0 00-1.4 18.2 19 19 0 008 11.4c-2.7.7-6 0-9.4-2.1z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M251.7 770a12.3 12.3 0 01-1-1c-5.6-6.5-7-16.9-3.2-23 3.7-5.8 10.7-6 16.3-.7-3 6.5-2.3 15.4 1.6 22.2a11.9 11.9 0 00-10.3.2 14.1 14.1 0 00-3.4 2.2z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M268 783.8c-5.3-.3-10.6-6.3-12.4-14.5-2-9.1 1.3-17.6 7.3-18.9h.3c2.8 4.7 7.1 7.5 11.7 7.7v.2c-6.6 4.6-9.8 15.3-7 25l.2.5zm-2.8-66.2c-6.6 2-14.4-2.7-17.5-10.7-3-8 0-16.3 6.5-18.4 1.7-.5 3.5-.6 5.3-.3 1.5 4.7 4.3 8.4 7.6 10.5a26 26 0 001 17.5 10.8 10.8 0 01-2.9 1.4z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M270 727.9c-7-4.5-11.4-14-9.7-21.1 1.6-7.1 8.7-9.3 15.7-4.8a21.5 21.5 0 015.4 5 25 25 0 00-3 23.1c-2.6.4-5.5-.3-8.5-2.2z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M284.7 750.9c-3.7 7.6-11.2 10.5-16.7 6.3-5.5-4-7-13.7-3.3-21.3 3.7-7.7 11.2-10.5 16.7-6.4s7 13.7 3.3 21.4zm-9.3-47.8a12.2 12.2 0 01-11.2.4c-6.2-3.4-7.6-12.5-3.2-20.4a18 18 0 0113.4-9.4 9.7 9.7 0 007.9 2.6l.5.5c-8 3.4-12.2 13.3-9.4 22a16 16 0 002 4.3z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M284.2 666c1.2 8-4.1 15.3-10.5 16.2-6.3.9-12.4-4.8-13.7-12.8a17.6 17.6 0 015.8-15c2.7 4.3 7 6.9 11.4 6.3 1.6-.3 3.2-.9 4.6-1.9a23.1 23.1 0 012.4 7.2z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M287.2 705.7c-5.7 3-12.2-1.4-14.5-9.6-2.3-8.3.5-17.5 6.2-20.4a8 8 0 015.4-.8 25.5 25.5 0 00-1.7 3.6c-3.4 9-1.7 20 3.8 24.3.9.7 1.8 1.2 2.8 1.5a10 10 0 01-2 1.4z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M304.5 668a14 14 0 01-1 7.8c-5.3-3.2-12.2 0-16 7.3a15 15 0 01-8.3-11.6c-1.2-7.7 5-16.4 11.7-17.4v1c1.2 7.4 7.2 12.9 13.6 12.4v.4z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M303.5 696.7c-4.3 9.2-12.9 13.3-19.2 9.2-6.3-4.2-8-15.1-3.7-24.4 4.2-9.2 12.9-13.4 19.2-9.2 6.3 4.2 8 15.1 3.7 24.4zm-14.1-41.5a14.8 14.8 0 01-6.4 6.9c-6.3 3.1-14-.3-17-7.8-3.1-7.4 1-18.5 7.2-21.7a9.2 9.2 0 018.2 0l-.1.6c-1.7 9.7 2 19.1 8 22zm31.2-41a14 14 0 01-.9 7.4c-2.5-3.1-5.8-5-9.4-4.5-4.4.6-8.6 4.6-10.7 9.4a15.9 15.9 0 01-4.4-8.8c-1.2-7.8 5.2-16.6 11.9-17.6 6.6-.9 12.3 6.2 13.5 14z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M322.4 630.6c1 6.6-3.1 12.8-8.5 14.7-2.4-3.5-5.9-5.7-9.6-5.1a9.6 9.6 0 00-2.9.8 15.3 15.3 0 01-3-7c-1.1-7.3 5-15.7 11.3-16.6 6.3-.9 11.7 5.9 12.8 13.2z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M293.2 654.4a8.5 8.5 0 01-9.4.2c-5.1-3.4-6.5-12.3-3-19.8 3.4-7.4 10.4-10.8 15.5-7.4a12 12 0 014.8 9c-5.1 3.8-9 11.1-8 17.7l.1.3zm-36.7 144.3c-5.8 2-12.1-2.4-14.4-10.5-2.4-8.7.6-18.3 6.6-21.4 5.7-2.9 12.2 1 15 8.5-6.2 4.5-9.3 14.2-7.2 23.3z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M270.6 803.8c-6.3 2.8-13.2-1.1-15.5-8.8-2.3-7.7 1-16.3 7.3-19.2 5.4-2.5 11.4 0 14.4 5.7a21.6 21.6 0 00-6.2 22.3z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M267.6 818c-5.7 2.5-12-1-14-7.9a15.9 15.9 0 011.9-13.3c4 3.4 9 4.4 13.8 2.1a14.5 14.5 0 003-2 14.3 14.3 0 011.7 3.8c.8 2.4.9 4.9.5 7.2a20.6 20.6 0 00-4.6 8.5c-.7.6-1.5 1.1-2.3 1.5zm8.5 29.3c-6.4 2.9-13.5-1-15.8-8.8-2.3-7.8 1-16.5 7.3-19.4l1.5-.5a26.6 26.6 0 00.9 9.4c2 7.2 6.9 12 12.3 13a13.3 13.3 0 01-6.2 6.3z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M285.2 848.4c-6.2 2.8-13-1-15.2-8.4a17.7 17.7 0 010-10c4 3.6 9.2 4.7 14 2.4a16 16 0 006.6-6.2 16.6 16.6 0 011.6 3.6c2.3 7.4-.9 15.8-7 18.6z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M293.1 863.4c-6.1 2.8-13-1-15.2-8.5a17.8 17.8 0 01-.6-6.2c2.3.4 4.8 0 7.2-1a18 18 0 008.9-11.4c3 1.4 5.6 4.4 6.8 8.4 2.2 7.5-1 15.8-7 18.7zM273 786c-2.8-1.8-5-4.8-6.3-8.6-2.4-8.3 1-17.5 7.8-20.6 6.8-3.2 14.3 1 16.8 9.3 1.9 6.2.4 13-3.5 17.4a11 11 0 00-10.5-.8c-1.7.8-3.1 1.9-4.3 3.3zm46.8-134.5c1 6.6-5.5 17-12.1 18.4-6.7 1.4-11-1.9-14-6.2-3-4.4-4.3-10-2.6-15.2 1.7-5.2 6-10.4 10.4-12.3 4.4-2 7.4-1.2 11 1.7 3.5 3 6.3 7 7.3 13.6z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M285.2 808.6c-6.2 2.8-13-1-15.2-8.5-2.3-7.5.9-15.8 7-18.7 6.1-2.7 13 1 15.2 8.5 2.2 7.5-1 15.9-7 18.7z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+      <path d="M283.1 834.2c-6 2.7-12.8-1-15-8.4-2.2-7.3 1-15.6 7-18.4 6-2.8 12.8 1 15 8.4 2.2 7.3-.9 15.6-7 18.4z" transform="matrix(.01517 -.19526 .17623 .01113 117 337.6)"/>
+    </g>
+  </g>
+  <path fill="#e7ca00" stroke="#d4af37" stroke-width=".4" d="M232.8 219.9l-.3.3-11.3 14-.2.3.3.3c3.6 3.4 5.7 9.3 5.7 14 0 6-1 10-2.2 13.9-1.7 5.2-3.8 9.8-4.5 17.5a18 18 0 004.2 13.3 23.5 23.5 0 007.7 6.1c5.9 2.8 12 1.8 18 2.6 2.6.3 4.1 2 5.5 3.5l.3.3.3-.3c1.4-1.5 2.9-3.2 5.5-3.5 6-.8 12.1.2 18-2.6a23.5 23.5 0 007.7-6 18 18 0 004.2-13.4c-.7-7.7-2.8-12.3-4.5-17.5a42.5 42.5 0 01-2.2-14 21 21 0 015.7-14l.3-.2-.2-.3-11.3-14-.3-.3-.3.3a15.8 15.8 0 01-11.4 3.9 23.8 23.8 0 01-11.3-3.7l-.2-.1-.2.1a23.8 23.8 0 01-11.3 3.7c-4 .2-8-1-11.4-4l-.3-.2zm0 1.2a16.7 16.7 0 0011.7 3.8 23 23 0 0011-3.4v41h-29.7a43.2 43.2 0 002-13.7 21 21 0 00-5.7-14.3L233 221zm46.3 0l10.8 13.4a21.5 21.5 0 00-5.7 14.3c0 5.8.9 10 2 13.7h-29.8v-41a24.3 24.3 0 0011 3.4c4.1.2 8.2-.9 11.7-3.8zm-53.6 42.3h61c1.7 5 3.7 9.5 4.3 16.9a17.1 17.1 0 01-4 12.7 22.8 22.8 0 01-7.4 5.8c-5.6 2.7-11.5 1.8-17.6 2.5-2.8.4-4.5 2-5.8 3.5a9.7 9.7 0 00-5.7-3.5c-6.2-.7-12.1.2-17.7-2.5a22.8 22.8 0 01-7.4-5.8 17.1 17.1 0 01-4-12.7c.6-7.4 2.6-11.8 4.3-17z"/>
+  <g fill="#008f4c">
+    <path fill="#00a854" d="M298.6 201.1v.1c-.2.3-.4 1.8-.6 3.4a19.6 19.6 0 01-.3 2.8 40 40 0 01-2-.8c-2.4-1-7.6-1.7-7.9-.9-.2.5.4 3.2 1.3 6.3.2.7 0 1-1.5 1.4a9.1 9.1 0 00-2.4 1c-.7.6-.6.7 1.1 2.3l1.9 1.7-.9.8c-.8.6-.8.6 2.2 3.6 3.4 3.2 5.2 4.2 7.5 4.2h2.1c.8-.2 1.4-.4 3.2-.6 2 .1 4 1.1 4.8 1.6l.5 1.1c-1.4-1.6-4.6-2.2-5.3-2.2-.6 0-1 .1-1.7.4-.7.2-1 .5-1.7 1.5-.5 1.2.5 2.5 1.7 2.7 1.5.2 2.5-.6 2.5-2 0-1-.6-1.8 0-1.8 1.7.1 4.4 1.5 5 3.3.5 2.3.4 2.4-.7.9-1-1.3-2.6-2.7-3-2.8-.4 0-1.3 2-1.3 3 0 .5-.1.6-.6.4-.4-.2-1.3-.4-2-.4l-1.3-.2.3 2c.2 1 .7 2.7 1.2 3.6l.8 1.6-2-.6c-4.1-1.3-3.8-1.3-3.5 1 0 1 .3 2.2.5 2.6.2.6 0 .7-1.4.7-1 0-1.7.1-1.7.2 0 1 3.3 5.3 5 6.6 2 1.5 5.7 3.2 7.2 3.2.4 0 1.8.4 3 .9l2.3.8v2.4c0 2.6-.8 8-1.3 8l-1.6-2.5c-1.6-3.1-1.6-3-2-2.3-.3.4-.4.4-.4-.3a14 14 0 00-3-5.8l-1-.9-.5 1-.5 1.1-2.2-2.4a9.7 9.7 0 00-2.5-2.2c-.2 0-.5 1.2-.6 2.4-.4 3.5-.6 3.7-2 2.4l-1-1-.4 1a32 32 0 001 11 39 39 0 011.3 5.2 17.1 17.1 0 004.4 8.6c.8.8.9 1.1.4 1.1-.3 0-.9.4-1.3.8-1.5 1.7 0 4 2.3 3.5 1.2-.2 1.4-.1 1.8.8.7 1.3.7 3.6.1 4.6-.4.8-2.8 1.8-3.2 1.4-.1-.2-.2-1.5-.1-3v-2.8l-2 1c-5 2.7-9.3 9.5-10.3 14.8-.4 1.8-1.4 2-2.7 4-1.2.7-2.4 1.7-3.6 2.9-2 2-2.6 2.2-5.6 3a157 157 0 01-17.8 2.8c-5.2.5-21.7 3.2-22.7 3.6l-2.3 1a5.4 5.4 0 00-2.2 1.6c-.6.9-.6 1.2-.2 2 1.1 2 3.2 2 7.7-.1a24.4 24.4 0 016.3-2l5.1-1c1.2-.4 4.6-1 7.5-1.5 16.4-2.6 22.4-3.9 29.2-6.2 4.4-1.6 4.4-1.6 8.5-1.2 4.6.4 10.5-1 12.9-3.2.5-.5 1.9-2.1 3-3.7a21 21 0 013.3-3.6c1.5-1 .6-1.4-3.3-1.4H306l1.2-2.5a28 28 0 002.4-7 9.3 9.3 0 00-2.6.5l-2.5.4s0-.7.3-1.3c.3-1 .8-1.4 1.5-1.6.6 0 1.4-.3 1.7-.4a6 6 0 012 .3c1.6.4 1.6.5 1.4 1.7-.2 1.6.6 2.7 2 2.7 1.1 0 2.3-1.2 2.3-2.1 0-1.1-1.5-2.4-2.5-2.2a9 9 0 01-3.1-.5l-2.2-.7 2.1-.5c3.2-.7 4.3-.6 4.7.5.3.6.8 1 1.7 1 2.6.2 3.4-3.4 1-4.1-1-.3-2.9.6-2.9 1.4 0 .2-.7.4-1.5.4a14 14 0 00-4.8.9l3.1-1.6c2-.5 4.4-1.4 5.4-2 3.7-1.6 7.2-5.8 8.6-9.8.8-2.5 2.1-10.4 1.7-10.4l-3 1.1c-2.5 1.2-2.6 1.2-2.6.4 0-1.7.8-6.5 1-7.3.2-.4.2-.7-.2-.7-1.2 0-5.2 2.2-7.8 4.3-2.5 2-2.7 2.1-2.7 1.3 0-.5.3-1.5.8-2.3.7-1.2 1-1.2 2.4-1 1.4.2 1.6.1 2.3-.8.8-1.3.3-2.8-1-3.3-.8-.2-.8-.3.7-1 1.8-1 3.8-3 5.3-5.6l1-1.7-1.5.2h-1.5l.6-1.7c.3-1 .6-2.5.6-3.3 0-1.7-1.5-7.9-2-8.5-.2-.3-1 .1-2 .9l-1.6 1.2-1.5-3.3a46.9 46.9 0 00-1.6-3.4c-.1-.2-.7.2-1.2.7-1.3 1.2-1.4.5-.3-1.8 1-2.1 1.5-2.4 2.6-1.6 1.4.8 3 0 3-1.7.2-1 0-1.4-.8-1.9-.5-.3-1.2-.5-1.5-.4-.4.1-.8-.2-1-1a2.3 2.3 0 00-1.6-1.5c-2-.5-3.6 2.2-2 3.7.6.6.6 1 .2 4-.8 4.7-1 5.1-1.6 3-.6-2.4-.4-9 .5-10.9 1.5-3.3.6-8.6-1.8-11.3-2-2.3-7.6-6.3-8.6-6.2zm-2.8 11c.4 0 1.9 1.3 4.4 4.2 2 2.5 4.5 6.7 6 9.8-.5-.6-.9-.6-2.5-2.9-1.3-1.8-3.5-5.9-5.6-8-1.8-1.9-2.6-3-2.3-3z"/>
+    <path d="M306 255.3c-.4 1.5-.7 1.8 0 3 .5.5 1.2.8 1.8.8 1.1 0 1.7.8 2.7 3.6.1.5.2.5.2-.1 0-.4-.3-1.4-.8-2.3-.5-1-.6-1.6-.4-1.8.8-.5.5-2.5-.5-3.2-1.2-.9-1.6-.6-3 0z"/>
+  </g>
+  <path fill="#9eab05" d="M231 321.1c-1 .7-1.2 1.8-.5 2.4.9 1 4 .1 4.4-1.1.5-1.8-2.2-2.6-4-1.3z"/>
+  <path fill="#75b52b" d="M299.6 204.5c.3 2 2.3 6 3.7 7.8.6.7 1.2 1.2 1.3 1.1.1 0-1-2.5-2.5-5.3-2.1-4-2.7-4.8-2.5-3.6zm-13.5 10.8a22 22 0 006.5 1.8c0-.7-2-1.5-4.3-1.8-1.3-.2-2.3-.2-2.2 0zm2.5 4.9a89 89 0 009.5 4.4c1.2.4 2.8.6 3.5.5 1.2-.1 1-.2-1.5-1a42.4 42.4 0 01-4.7-2c-2.4-1.2-7.5-2.6-6.8-2zm23 10.3a95 95 0 00-1.8 12c-.2 2.7-.1 3.6.4 4.2.5.7.6.4 1-3.3.6-5 1.3-14 1.1-14.1 0 0-.4.5-.6 1.2zm-6.7 3.3c.2 3.2 1.6 6.7 2 5.2.2-.5-.2-2.3-1-4.4l-1.2-3.6.2 2.8zm-4.6.1l1.5 1.9 1 1.1v-1c0-.6-.5-1.3-1.1-1.8-1.3-1-2.1-1.1-1.4-.2zm-5.7 10c0 .1 4.4 3.5 5.9 4.4 1.2.8 1.2.8-.3-1-1.6-1.8-4.1-3.6-5-3.6l-.6.1zm2.2 8.6c1 4.5 1.9 7 2.4 7.3.2.1.5.3.6.2.2-.2-2-6.3-2.6-7.4l-.6-1.1.2 1zm4.7 3.5c0 .6.4 1.9.8 2.7.5 1 .8 1.4.7 1a26.9 26.9 0 01-.5-2.5c-.3-2.1-1-3-1-1.2zm-8.2 3a54 54 0 005.5 11.2c2.1 3.4 2.1 3.4 2.2 2 .1-1.1-.3-2.1-1.8-4.7l-4-6.9c-1-2-2.1-3.7-2.3-3.7-.2 0 0 1 .4 2.1zm25.2.6a60.3 60.3 0 00-6.6 9.2c-.4.8-.5 1.6-.3 2.3.2.9.8.2 4.8-6.2 2.5-4 4.4-7.2 4.2-7.2-.2 0-1.1.9-2.1 2zm-6.4 29.9a1.6 1.6 0 001.4 2.4c1.2 0 2-1.4 1.3-2.6-.5-.9-2.2-.8-2.7.2z"/>
+  <path fill="#d91023" d="M300.1 228.1c-1.5 1.1.1 3.8 1.7 2.9 1-.7 1.2-2.2.3-2.9l-1-.5-1 .5zm10.7-8.6c-1 .2-1.3 1.4-.8 2.5.8 1.5 2.9.9 2.9-.9 0-1.2-1-1.9-2.1-1.7zm2.6 3c0 .4-.1 1 0 1.6 0 .7.3.9 1.3.9 1.4 0 2.2-1 1.6-2.1-.6-1-2.5-1.2-2.9-.4zm-15.2 60c-1.5 1.3 0 3.4 1.8 2.7.8-.3 1.2-1.3.7-2.2-.6-1-1.5-1.2-2.5-.4zm8.3-26.8c-.5.4-.4 1.9.2 2.4 1.2 1.2 3 0 2.6-1.7-.2-.8-.6-1-1.4-1-.7 0-1.3.1-1.4.3zm7.5 0c-.3 1 .4 2.1 1.5 2.1 1 0 1.7-1 1.5-2 0-.8-.4-1-1.4-1.1-1.1-.1-1.4 0-1.6 1zm1 29.5c-.2 1.2.5 2.2 1.5 2.2s1.7-1 1.6-2c-.1-.8-.4-1-1.5-1-1-.2-1.3 0-1.5.8zm-2.4 3.8c-1.5 1.2 0 3.3 1.8 2.6.8-.4 1.2-1.3.7-2.2-.6-1-1.5-1.2-2.5-.4z"/>
+  <path fill="#75b52b" d="M295.8 212.5l1.7 2c1.5 1.7 2.7 3.4 5 6.9a18 18 0 003.6 4.6 64 64 0 00-5-8.4 23.6 23.6 0 00-5.4-5.6c-.2 0-.1.2 0 .5z"/>
+  <path fill="#eac102" fill-opacity=".5" d="M306.1 263.2c0 .3-.4 3-.6 6.2a126.6 126.6 0 01-2.4 20.5l.1.7.7-1a9.6 9.6 0 012.5-2.4 117.8 117.8 0 0013.6-15.5 66 66 0 005-6.9c0-.1-1.4 1.1-6.5 7.4a183.1 183.1 0 01-5.3 6.2c-3.6 4-7.6 7.6-8.6 9l.3-1.7c1-3.8 1.3-8 1.4-16.4a134.6 134.6 0 00-.2-6zm-10 26.6l-2.2 3.8a55 55 0 01-8.3 11.6c-.8.9-.6 1-.8 1.1-1 1 3 1.7 5.8 2 4 .4 6.1-.4 16.6-6 2.5-1.2 3.1-1.6 2.6-1.6-1 .2-2.5.6-7 2.7s-6.4 3-8.5 3.5a13.6 13.6 0 01-5.2 0h-1l.6-.2c.4 0 1 0 1.2-.3.2-.1 1-.7 1.9-1.1a68.6 68.6 0 0012.7-11.3c0-.2-1.9 1.4-4.3 3.5-5 4.5-10 7.8-12.1 8.1l-.6.1.6-.6 1.8-2.6a51.3 51.3 0 004.6-8c1.7-3.4 2.4-5.5 2.3-5.6l-.7.9zm.1-51.8a42 42 0 004.6 5.7c2.5 2.9 4 4 6 6.5 2 2.6 2.3 2.8 4.5 4.8 2.8-3.7 4.5-8.7 5.7-12 1.2-3 2.1-5.8 2.2-10-1.6 3.5-1.7 4.8-3 8.6a72 72 0 01-5 11.9c-.2 0-6-7-8.6-10a23.4 23.4 0 00-6.4-5.5z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M298.1 203.8l-.5 3.7-1.4-.8a24.8 24.8 0 00-7.5-1.5c-1 0-1 0-.9 1.3a48.1 48.1 0 001.7 5.7c0 .3-.6.7-1.6 1-1 .2-2 .7-2.5 1-.7.6-.6.7 1 2 1.8 1.7 2 2.2.9 2.9-.6.4-.4.8 2.3 3.4a28 28 0 004.6 3.6c2 1.1 6.1 1.1 8.3 0 1.5-.7 1.6-.7 2.6 0 1 .5 1 .5.5-.1-.4-.4-2.3-1.6-4.3-2.6-5.6-2.9-10.2-8-12.2-13.6-1-2.7-1-4.2 0-4.2 1.7 0 5.3.9 7.3 1.7 3 1.4 8.3 6.5 9.7 9.4 1 2.1 1.2 2.8 1.3 5.9 0 3.5.5 5 .6 1.8.2-4 .3-5 1-6.5 1.1-3 .5-7.6-1.4-10.3-.7-.8-2.8-2.7-4.8-4-2-1.5-3.7-2.7-3.8-3-.2-.2-.6 1.3-.9 3.2zm5.3.6c2.7 2 3.5 2.7 4.3 4.5 1.3 2.7 1.7 6 1 8.4l-.6 1.8-1-2.3a23 23 0 00-4.6-5.7c-2-2-3.7-3.5-4-3.5-.4 0-.2-2.8.4-5.1.2-1 0-1.2 4.5 2zm-13.1 10a6.4 6.4 0 001.4 1.5c.4.3.8 1 .9 1.4.2.7 0 .8-2 .8-1.8 0-2.2-.2-3.6-1.6-.9-1-1.5-1.7-1.4-1.8.3-.3 3-1.4 3.5-1.5.2 0 .8.5 1.2 1.1zm5.4 6.2c2.4 2.1 3 2.6 5.9 3.7 1.5.6 1.6.7 1 1.3-1 .9-5.4 1.2-7.5.5-1.7-.5-8-6.3-7.4-6.7a14 14 0 014.3-.9c1.1 0 1.8.4 3.7 2zm11.8 7.4c-.2.2 0 1 .3 2 .7 2 .7 2.6 0 4a7.3 7.3 0 00-.6 2.8c0 .9-.3 2.1-.5 2.9l-.5 1.3-1.3-.9c-.8-.5-1.5-1.2-1.6-1.7a15 15 0 01.3-6.2c.4-1.8.7-2.2 1.2-2.2.6 0 .7 0 .2-.5-.4-.5-.5-.5-1 .1a6 6 0 00-.8 2c-.2 1.4-.2 1.4-1.4.8-1.7-1-2.4-.8-2.4.5s.7 3.5 1.6 4.8c.9 1.5 1 .9 0-1-1.1-2.2-1.5-4.5-.7-4.5.3 0 1 .3 1.4.6.8.5.9 1 .8 3.3 0 3.3-.3 3.4-4.1 2.1a8.7 8.7 0 00-2.6-.6c-.1.2.5 3.6 1 4.7.1.4-.2.6-1.7.4l-2-.1 1.2 2a16 16 0 0011.3 8c1.6.3 3.5.9 4.2 1.2 1 .5 1.1.5.7.1a5.4 5.4 0 00-2-1.1c-2.3-.9-4.6-2.5-7.5-5.6-3-3-4.5-5.7-4.5-7.7 0-1 .2-1.3.7-1.1l3.1.9c3.4.8 4.3 1.3 6.5 3.7 2.3 2.4 3.1 3.9 3.8 7.2l.8 2.8c.5.6.7-1.3.2-2.8-.7-2.7.4-7.9 2.7-12.4 1-2 4.2-5 4.7-4.5l1.2 3.8c1 4.1 1 5.3-1 9.4a14.8 14.8 0 01-5 6.1c-1.5 1.1-1 1.5 1.1 1a16 16 0 006.9-6.3l.9-1.5-1.7.3-1.5.2.7-2.1c1-2.7 1-3.8 0-7.1l-1-3.8-.3-1.2-1.3 1a7.6 7.6 0 00-1.5 1.2c-.5.7-1 0-2.5-3.1a12 12 0 00-1.6-3c-.2 0-.8.4-1.4 1l-1 1.2.2-1.2c.2-.7 0-1-.2-.9-.2.2-.4.7-.4 1.2 0 2-.7 2-1.3 0-.3-1-.7-1.7-.8-1.5zm5.9 10.1c-1.2 2.4-2 4.8-2.3 6.6l-.5 3-.7-1.7a14 14 0 00-1.7-2.9c-1.1-1.2-1.1-1.3-.7-4.2.7-4.5 1.6-7 3.2-8.8l1.5-1.6 1.5 3 1.5 2.9-1.8 3.7zm-15.5 6.7c5 5.2 6.7 7.2 5.9 6.9a14 14 0 01-8.3-6l-1.4-2.4 1-.2c.8 0 1.7.5 2.8 1.7zm23.2 3.2c-1.6 2.6-2.6 3.5-4.4 4.4l-1.6.9 1.6-1.8c1-1 2.1-2.5 2.6-3.3.8-1.3 1.4-1.7 2.6-1.9.2 0-.1.8-.8 1.7z"/>
+  <path fill="#005000" d="M306.3 231.2c.6 1.2 1.6 2.4 1.7 2 0-.2-.5-1-1-1.6-.7-.7-1-.9-.7-.4z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M295.5 252.2c-.1.9-.4 2.2-.7 3.1l-.3 1.5-1.2-1-1.1-1.1-.4 1.9c-.3 2.6.1 6.5 1.3 10.2l1.2 5c.5 3.8 3.6 8.1 7.5 10.8.8.6 1 1.2 1.3 3l.3 2.4v-2.2l-1.1-6.7c-1.3-5.8-1-8.3 2-14.2l2.1-4.3 2.2 4.3c2.9 5.8 3.2 7.7 1.6 12.4-.6 2-1.3 3.6-1.5 4-.2.2-.3.6-.2.8.1.1 0 .5-.2.9-.3.4-.4.4-.2-.2.2-.5-.4 0-1.3 1a7 7 0 00-1.8 2.6c-.2.7-.2.7.4 0l1.5-2c.4-.6.9-1 1-.8.6.3 1.2-.8 2.6-4.5 1.8-5.2 3-7.3 5.6-9.9 1.7-1.7 3.4-2.8 6.2-4.1l4-1.9c.4 0-.8 7-1.5 9a20.9 20.9 0 01-4.7 7.6 22.7 22.7 0 01-8.4 4.2 10 10 0 00-2.8 1c-.2.4 3-.5 6-1.6 4.4-1.6 8.4-5.8 10.1-10.2.7-2 2.3-10.3 2-10.6l-3 1.2-3 1.4.3-2.7c.1-1.5.4-3.6.7-4.6.5-1.9.5-2-.3-1.7-2 .6-5.7 2.8-8 4.8l-2.3 2.2v-3.7c.2-2.5.1-3.5-.1-3a8 8 0 00-.4 2.7c0 2-1 6-1.3 6-.2 0-1-1.1-1.7-2.6-1.3-2.5-2-3.2-2-2.1 0 .3-.4-.6-1-2a18 18 0 00-2-4l-1.2-1.4-.7 1.2-.6 1.3-1.6-2a11.3 11.3 0 00-2.3-2.5c-.6-.3-.8-.2-1 1.1zm2.8 1.3c1.6 1.9 5 8.2 5.4 10.1l.2 1-.7-1a29.1 29.1 0 00-7-6.3c-1-.6-1.1-.8-.8-2.1l.5-2.6c.2-.6.4-1 .6-1a11 11 0 011.8 1.9zm5.7 3.9c1.2 2.4 1.4 4 .8 5-.6.8-4-6.2-3.6-7.5.3-.9.4-1 1-.5a12 12 0 011.8 3zm-7.2 1.3a19 19 0 016 5.9c.3.7.2 1.3-.5 2.6a19.1 19.1 0 00-1.3 9.4c.2 1.3.2 2.3 0 2.3-.5 0-3.5-3.7-4.8-6a30.6 30.6 0 01-4-15.9l.3-1.5 1 .8 3.3 2.4zm24.6 0a60.5 60.5 0 00-.6 4.1c-.2 2.2-.3 2.3-2.6 3.7a19.1 19.1 0 00-4.2 3.7c-1 1.2-1.8 2.2-2 2-.2 0-.4-1-.6-2-.1-1.1-.5-2.6-.8-3.3-.5-1.2-.5-1.5.3-2.6a31 31 0 0110.6-7.5l-.1 1.9zm-22 19.7c1.6 1.5 2.5 2.7 2.4 3.2-.1.5-.6.3-2.2-1.3a15 15 0 01-4.5-6.8c-.2-1 0-1 .8.6.6 1 2.2 3 3.6 4.3z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M295.5 288.4c-4.4 3-8.1 9-9.3 14 0 1.2-1.4 2.3-1.2 2.1.2.6 1.5 0 2-2 1-3.7 4-10.5 8-13.2 1.1-.8 2.3-1.5 2.5-1.5.2 0 .3 1.5.2 3.5 0 2.7-.4 4-1.1 5.5a21.8 21.8 0 01-6.9 7.4c-2 1.1-2 1.6-.3 1 2-.8 6.8-5.7 8-8.3a14.4 14.4 0 001.2-3c0-.2.5-.7 1.1-1 1.5-.5 8.8-2.3 9-2.1.3.3-2.8 6.8-3.8 8.2a20 20 0 01-7.1 5.3c-.9.3-2.7 1.3-4.1 1.5l-3.7.5-1.4.9 1.4-.3 4.3-.5c4.5-1.6 6.2-2.5 9.2-4.8l1.9-1.6 3.6.2 3 .2-1.4 1.7-3.2 3.9a14 14 0 01-3 2.9c-1.9 1-6.2 2-9.8 2-3.2 0-3.3 0-5-1.4-1.6-1.5-2.3-1.8-2.5-1.2 0 .2-1.5.8-3 1.4-3.2 1.1-4 .8-2.1-.8.7-.7 1.4-.7 2.9-.8 0 0 3 .7 3.1 0 0-.5-3-.5-3-.5-1.5 0-1.9 0-.7-1.4 1.3-.9 1.8-2.5 1.1-2.2-1.8 2.2-3 3-5.6 5.7a14.7 14.7 0 01-6.4 2.8 98.1 98.1 0 01-8.2 1.4c-4.2.5-6 1.6-1.9.8 2-.3 4.8-.6 8.2-1.3a24 24 0 007.7-2.5c2-2 2.3-2.3 1.2-.6-.3 1.2.3 1.2 4.2-.3 3.1-1.2 3.2-1.2 4-.5.7.8.7.8-.9 1.5a100 100 0 01-16.3 4.4c-3.7.8-6.9 1.5-7 1.7a16 16 0 005.5-.7l7.5-1.9a94.3 94.3 0 009.4-2.7c2.6-1 3-1 5.1-.6 2.8.5 7.3 0 10.6-1 2.5-.9 4.3-2.4 6.8-6 1.1-1.4 2.4-3 3-3.4l1-.8-3.5-.2c-2-.1-3.7-.3-3.8-.5l.5-1.4 1.9-4.5 1.2-3.3-1.4.3-2.9.5-1.4.3.6-1.5.4-1.5-.8 1.4c-.7 1.6-1.5 2-1.2.5.1-.6 0-.5-.5.4a4.4 4.4 0 01-1.7 1.7l-1.9.7c-.7.3-.7 0-.5-2.8 0-2 0-3.1-.3-3.1s-1.4.6-2.5 1.4z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M257.4 315.1c-2.3.2-7.1 1-15 2.2l-8 1.3c-.4 0-.5.1-.4.3.1.2-.5.4-1.2.5-1.8.4-3.9 2-3.9 3.2 0 1.2 1.3 2.4 2.3 2.2.7-.2.6-.2 0-.3-1.9 0-2.6-2.2-1.2-3.4a25 25 0 019.6-2.8c3.9-.3 15-1.9 15.5-2.2a26.4 26.4 0 013.3-.7c2.7-.5 2.2-.6-1-.3z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M250.7 319a64.1 64.1 0 00-14.1 3.7c-2.9 1.4-2.4 1.5.6.2a25.4 25.4 0 015.4-1.6 275.8 275.8 0 0014.4-2.8l2.3-.3h-1.9c-1 0-4 .3-6.7.8z"/>
+  <path fill="#fff" d="M282.8 308.3c-1.2.8-2.6 2.3-1.1 2 1 0 5.1-1.3 5.4-2-1.5 0-2.8-.3-4.3 0z"/>
+  <g stroke="#d4af37" stroke-width=".9">
+    <path fill="#fff" d="M367.7 432.4c-1.5.5-2.5 1-9 .5-4.6-.3-10.3-1.1-13.2-1.2-5.6 0-5.6.3-15.5 7.1-7 4.8-16 4.4-22.7 3-4-2-5.8-2.3-5.2-1.3 1.1 1.8 9 4.4 13.4 4.4 7 0 12.2-1.8 20.7-7.1 6.6-4.2 9.5-4.5 18.5-2.5 10.6 2.1 12.2 1.2 20.9-2.7-2.6 0-3.2 0-4 .4 1.4-1.6 1.5-3.2 1.8-4.2.4-.6-.8.2-2.1 1.2l-3.6 2.4z" transform="matrix(.47638 0 0 .46773 113 114.3)"/>
+    <path fill="#d91023" d="M354 429.8c-4.9-.7-8.2-1.4-11.3-1-3.4.3-5.8 2-9.9 4.5-4 2.7-7.7 4.6-8.1 4.6-.6 0-5.8 1.2-9.8 1.2-1.8 0-5.9-1.3-8.6-2.3-5.7-2.1-7.8 1.4-1.8 3.9a33.4 33.4 0 0015.6 1.8c5-.8 9.6-3 13.4-5.8 7.7-5.6 3.2-3 6.2-4.2 3-1.3 5.9-.9 5.9-.9 4 .2 11.9 1.5 15.9 1.6 7.2-.7 6-.7 8.4-2 .8-.6 3.5-2.3 3.6-2.7.2-.4 1.4-2.7 1.2-2.8-7.5 5.1-11.2 5.1-20.7 4.1z" transform="matrix(.47638 0 0 .46773 113 114.3)"/>
+    <path fill="#d91023" d="M341 435.4l-7.1 4c-6.2 3.8-12 5.6-18.8 5.6-3 .5-13-3.6-11.5-3.1 1.6 3 4 3.4 9.6 4.5 4 .8 6.6.1 11.1-.8 5-.6 7-3 9-4.3a33.5 33.5 0 0114-5.4c1 0 4.7 2.1 8.9 3 4.1.9 6.1 1.1 10.4.4s8.7-4.2 12.8-6.9c-.6.2-2 .2-4 .3-6 3.5-16 4.8-21.2 2.4-5.4-1.3-10.5-1-13.2.3z" transform="matrix(.47638 0 0 .46773 113 114.3)"/>
+  </g>
+  <path fill="#00a854" d="M221.1 205a30.3 30.3 0 00-14 10.6c-.7 1-1.4 1.8-1.5 1.7l1-4.6 1-5.4c0-1-.2-1-1.7.8-2 2.2-4.6 7-5.6 10.3-.5 1.8-.7 3.8-.7 7.5v5l-1-3.5c-1-3.8-2-6.4-3.1-7.8-.5-.7-.7-.7-1-.2-.9 1.2-.3 6.2 1 10 .1.4-.4-.2-1.1-1.4-.8-1.3-1.6-2.2-1.8-2-.5.2-.5 4.2 0 5.8.3 1.2.3 1.2-1-.4-2.4-2.6-3-2.8-3-1 0 .7.4 1.9.7 2.7l.6 1.5-1.3.4c-1.8.4-2.4 1-2.4 2.4 0 1.7 1.1 5.4 1.7 5.8.6.4.8 0 1.4-2.3l.5-2.1 1.5 1.9c2.1 2.8 5.4 9.3 7 14.2 1.8 5.1 1.8 6.1.2 3a58 58 0 00-2.5-4.3 95.7 95.7 0 00-10.7-11c-.6 0 0 2.7 1.1 5a31 31 0 003.5 5c1.4 1.6 2.4 3 2.3 3l-2.1-1.5c-2.1-1.5-4.2-2.8-4.5-2.5-.1 0 .7 1.8 1.8 3.8l2 3.7-1.3-.2a4.3 4.3 0 00-2.2.3c-.8.4-1 .8-1 2.8 0 2.6.8 5.3 1.4 5.3.5 0 1.6-2.5 1.6-4 0-1 0-1 2 1 3 2.8 6.9 7.6 10.7 13.2l3.3 4.8-3.8-2.8a55.4 55.4 0 00-12.4-7c-.4 0-.6.3-.6.5a60 60 0 005.3 5.4l5.4 5-2.8-.9a54.5 54.5 0 00-4.3-1.1c-1.4-.3-1.4-.2 1.8 2.6a54.3 54.3 0 007 5.4l3 2c-3.8-1-9.3-1.8-9.3-1.4 0 .6 2.8 2.8 4.8 3.9l6.3 2.4a29 29 0 0110 5.3l1.7 1.4-3-1.2a95 95 0 00-13.1-4.5c-1 0 3 4 7 7a64.6 64.6 0 0015.6 7.8c4.2 1.3 7.7 2 14.4 2.9 3 .4 5.7.8 6.3 1 .5.2 4 .8 8 1.2a80 80 0 0124.6 5.8c1.3.6 2.7.9 5.7 1 4.5.2 4.7.1 3.4-2.3-1-2-3-3.1-7-3.8a969.9 969.9 0 00-30.5-5.5c-11.2-1.8-16.1-3.8-21.4-8.5-7.9-7-12-18.3-10.7-29.5.3-2.4.5-4.4.4-4.5-.4-.3-3 5-3.7 7.5l-.8 2.7.2-4.3a25 25 0 016.6-16.6 6.9 6.9 0 001.5-1.7l-1.8.2a8 8 0 00-3.9 2.6l-2.1 2 1-1.8c1.5-3 4.1-6 6.6-7.7l2.4-1.5-1.4-.1c-2.7-.3-7.6 3.2-10.3 7.4-1.5 2.5-1.5 1.7 0-2 1.6-3.7 4-7.3 6.5-10 1.4-1.5 1.6-2 1.1-2-2.1 0-5.7 2.8-8.7 6.7-.9 1.2-.9 1 0-1.2a32 32 0 015-7.8c1.2-1.5.9-1.7-1.3-.7a22 22 0 00-6.8 7.7c-.9 1.5-1.5 2.4-1.4 2l.7-2.6a37 37 0 0110.2-18.2c1.9-1.8 2.4-2.5 1.9-2.5-1.6 0-5.3 2-7.7 4.3-2.5 2.4-2.5 2.4-1.5.7a45.6 45.6 0 0114.5-14.8 32.6 32.6 0 003.5-2.4c0-.7-6.2 1.2-9 2.6a33.8 33.8 0 00-3.6 2.5c-2 1.6-2.2 1.7-1.4.7 1.4-2 6.1-6.1 8-7.1 1.4-.7 1.5-1 .8-1-1.8-.3-7 2.4-11.2 5.8l-1.8 1.6 1-1.7a38.3 38.3 0 0111.8-12.4 48 48 0 013.5-2c.2-.2.4-.4.3-.5a11 11 0 00-3.3.8zm61.7 116.1a5 5 0 011 1.4c0 .2-.8.4-2 .4-2 0-2 0-2-1.1 0-2.1 1.3-2.4 3-.7z"/>
+  <path fill="#9eab05" d="M280.2 320.4c-1 1-.8 2.5.3 2.8 1.7.4 4 .2 4-.4 0-.6-2.7-3-3.3-3-.2 0-.7.2-1 .6z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M223.3 204.4a25.4 25.4 0 00-12.2 6.8c-.2.3-2.5 2.2-3.8 4.1-.7.8-1.6 2-2 2.9 0-.8.6-3.1 1.2-5.7.7-3.1 1-5.6.9-5.7-.4-.4-3.4 3.5-4.9 6.5a25 25 0 00-2.8 13.3v5l-1-3.8c-1.1-4-3-8.2-3.8-8.5-.3 0-.6.5-.8 1.4-.3 1.3 0 2.6 1.7 9.6.1.5-.3 0-1-1.2-1.6-2.7-2.1-3.4-2.6-3l1.1 1.5a67.3 67.3 0 017 20c0 .2-.3-.2-.5-.7a317.8 317.8 0 01-1.3-3.4 50 50 0 00-2.5-5.3c-2-3.6-3.3-7.5-3.6-10.2l-.2-2c-.6.5-.4 2.8.5 5.4l.6 2.5-2-2.5c-1.5-1.8-2-2.3-2.4-2-.3.7-.1 1.9.7 4.2l.6 1.5h-1.3a4 4 0 00-2.1.6c-.7.5-.8.8-.4 3 .5 2.6 1.2 4.6 1.7 4.6.8 0 .8-.8 1.2-3.1.1-.7.4-1.1.5-1.5l.8 1a62.5 62.5 0 018 15.4 89.6 89.6 0 013 12.9s-.6-1.5-1-3.5a33 33 0 00-11.2-18s-2.5-3-4.5-4.2c0 1.7.4 2 .4 2 .5 2.5 1.8 4.7 5.6 9.2 1.7 2 3 3.7 3 3.9 0 .1-1-.6-2.1-1.7-2.2-2-5.6-4.1-6-3.8l1.9 4c1.4 2.6 1.8 3.6 1.4 3.5-1.6-.7-2.2-.7-3.2 0-1.1.7-1.1.7-.9 3.5.2 1.6.5 3.2.7 3.7.5.8.5.8 1-.2.3-.5.6-1.6.8-2.5l.5-1.5c.2 0 2.3 2.2 3.3 3.2l1.4 1.7c2.4 3 9 11.5 10.8 14.3l.9 1.4-1.4-1.1c-4.7-4-12.3-8.4-15.2-9.3-.8-.2-1 0-.6.4 2 2.7 7.7 7.6 9.2 8.8 1.6 1.3 1.6 1.8 1.5 1.9 0 0-1.1-.5-3-1-4.6-1.7-5.8-1.7-5.2-1 .3.3 1 .5 1.7.6 2.3 0 8.4 2.7 12.6 5.5 2.7 1.8 9.2 8 10 9.6.5 1 .4.8-1.3-.5a34.7 34.7 0 00-8.8-5 11 11 0 01-3.2-.6c-1.6-.4-4-.8-5.4-1l-2.4-.3 1.4 1.3a31 31 0 0010.4 5.1 28.5 28.5 0 0111.8 7c-.1 0-1.6-.5-3.4-1.3a99.3 99.3 0 00-12.7-4.4c-1-.2-.6.2 1.9 2.6a60.6 60.6 0 006.2 5 64.2 64.2 0 0031.4 10c2.4.3 4.1.7 4 .9-.1.2 3.6.8 7.6 1.2a89.3 89.3 0 0123.5 5.2 18.7 18.7 0 007 1.6c2.8.1 3.7.1 3.7-.3 0-.9-1.2-2.7-2.6-4-1.2-1-2-1.6-6.9-2.5a40.4 40.4 0 01-6.1-1.3c-.4-.2-6.5-1-13.5-2.2a89.1 89.1 0 01-24-5.5 32.4 32.4 0 01-17.6-27.9 45 45 0 01.2-7.3c.3-1.5.5-2.9.4-3-.4-.3-3.5 5.9-4 8.3l-.2 1.5-.2-2.8a27.1 27.1 0 015.5-16.5s2.3-2.2 2.6-2.8v-.1s0-.1 0 0v-.1c-1.7-.5-3.5.8-5.8 3-1.5 1.4-1.7 1.8-1.8 1.7.1-1.1 4.4-7.6 5.2-7.6a8 8 0 001.6-1.6c.5-1.2-2.5 1.6-4.7 4.6-4.8 6.4-5.8 12.8-5.6 21.5a29.1 29.1 0 01-.2 4.7c-.2 0-1.4-3-2-5-1.6-5.1.8-15.7 4.9-21l2.7-3.3c.5-1-2.8 2.7-4 4.6-.4.6-.7 1-.8.8l.4-1.7a36.3 36.3 0 017.5-12.6c1.3-1.4 1.3-1.4.3-1-2.4.6-4.6 2.5-7 5.2-.6.9-1.1 1.4-1.8 2.1.3-1 2.4-5.6 4.2-8.1 1.1-1.5 2.2-2.5 2.1-2.9 0-.3-1.2 0-2.8 1.3-2.5 1.8-4 3.8-6.1 7.3-1 2-.9 1.4-1.2 1.8 1.1-5.7 1.9-8.3 3.8-12 1.6-3.3 3.3-5.5 6.5-8.8 2.2-2.3 2.6-3 1.9-2.7a18.5 18.5 0 00-7.4 4.7c-1.4 1.4-2 1.8-2 1.6 0-.2.8-1.3 2.1-3.4 2.9-4.4 7-9 11.3-11.8 2.1-1.4 5.4-3 5-3.2a.4.4 0 00-.1 0c.2-.4-1-.2-4 .7-2.8 1-6 2.7-9.1 5.1-1.3 1.1-1 .2 2-2.8a31.4 31.4 0 015.3-4.3c2-1.2 1.9-1.5.6-1.2-3.1.6-9 4-10.8 6.1l-.2.2c-1 .5-1.9 1.8-1.7 1.3.2-.6.7-1 1.8-2.8a38 38 0 0113.4-12.7c1.4-.8 1.4-1.2.5-1.1zM192.2 226zm27.8-20a.2.2 0 01.1 0 58.2 58.2 0 00-9.5 9.3 48 48 0 00-5.9 10.6c-.7 1.9-1.3 3.1-1.3 2.8a68 68 0 011.8-9.6c.3-.2.6-.5 1.1-1.4a33.6 33.6 0 012.1-2.8c1-1.1 3.8-4.1 3.7-4.2l1-.7c2.6-2 6.2-4 7-4zm-13.5 2.2c.1.3-.4 3.8-1.3 8-2 8.6-3.3 15.4-3.7 20-.3 2.9-.4 3.2-.6 1.9a90 90 0 01-.6-8.8c-.3-8 0-10.3 2-14.7a22 22 0 014.2-6.4zm11 6.7c.2 0-.9 1-2.3 2.5a45.5 45.5 0 00-12.7 21.7l-.8 2.9.3-2.7c.1-1.4.4-3.7.7-5a63.2 63.2 0 012.1-6.8 16 16 0 013.6-6.3l1.4-1.4a58.3 58.3 0 002.2-1.7 23 23 0 015.6-3.2zm5 2c.1 0 .2 0 .2.2l-2.3 1.7c-3.1 2-9 8-11.1 11.2a67 67 0 00-6.3 12.3c-1.1 3.4-1 1.6.2-3.2a55.5 55.5 0 016-13.8l1.1-1.6c.6-.6.7-1 1-.8.2 0 1-.5 2-1.3a29 29 0 019.1-4.7zm-27.6 3l.5.6a74.8 74.8 0 015.2 23.9c0-.5-1-3.8-2.1-7.2a49.7 49.7 0 01-4-16.5l.4-.7zm21.2 8.8l-2 2.1a39.3 39.3 0 00-10.5 22.2c-.4 2.2-.8 4.2-1 4.4-.2.2-.5-.7-.7-2-.5-4.3 1-11.2 3.4-16.2l1-2.3c.3-.2.6-.8 1-1.5 2-2 5-5 7-6l1.8-.7zm-26.7 1l.8 1a67 67 0 012.5 3.5 89.8 89.8 0 016.7 13.3c.2.5-.4-.4-1.2-2a55.2 55.2 0 00-4.3-6.4c-3.3-4.4-4.5-6.6-4.5-8.1v-1.3zm-1 6h.5c1.2 0 3.7 2.2 6 5.2a54 54 0 017 17.1c.7 3.2 2 11.4 2 13.2v1.3l-.8-1.2c-.3-.7-.9-2.8-1.2-4.6a81 81 0 00-4.2-15.3 53 53 0 00-8-13.2c-.3-.5-1-1-1.2-1.2-1-.8-1-1.3 0-1.3zm-2 .6l1 .6c1.4 1 1.9 1.4 1.6 2.6-.2 1.2-.4 2.4-.6 2.8-.3.6-.7.1-1-1.2l-.7-3.2-.3-1.6zm27 5.5c.2 0 .2.1 0 .4-.4.3-1.3 1.6-1.8 2.2a55.2 55.2 0 00-7.2 19c-.4 3-1 1.6-1-2.5 0-5.8 2.5-12.3 6.5-16.3 1.7-1.7 3.2-2.8 3.6-2.8zm-27.4 2.5c.4.1 1.5 1.2 4.3 4 2.5 2.6 5.3 5.7 6 7 1.6 2.6 3.3 6.5 3.7 8.5.2 1.2-.2.7-2.6-2.5a140 140 0 00-4.9-6.3c-4.4-5.1-6-7.7-6.6-10.2l.1-.5zm30.4 1.1l-2.1 2.7a41.8 41.8 0 00-3.7 5.7 73.2 73.2 0 00-5 15.2c-.9 4.8-1 4.7-.8-.6.4-10 4-18.3 9.7-21.8l2-1.2zm-30 7.3l1.3.6 3.7 2.7c1.3 1.1 2.5 1.9 2.7 1.7.2-.1.3-.1.1.1 0 .2 1 2 2.4 3.9a54.7 54.7 0 017.2 13.2l.7 2.5-2.7-4.1a48.7 48.7 0 00-9.5-11.9 15.6 15.6 0 01-4-5.1l-1.9-3.6zm32.5 5.3l-2.3 2.4a25.3 25.3 0 00-5.2 10.1 59.6 59.6 0 001.3 22.8 39 39 0 01-3.2-8.8c-.7-3.5-.6-11.8 0-14.6a23 23 0 014.2-8.7c1.4-1.6 4-3.2 5.2-3.2zm-31.5 1.4c.6 0 1.3.4 2.4 1.1 4.4 2.8 10 10.1 16.4 21.5 5.2 9.3 8.1 16.3 4 9.3a215.1 215.1 0 00-20.2-27.6 16.2 16.2 0 00-3-2.5c-1.6-1-1.7-1.4-.3-1.7a2 2 0 01.6 0zm-1.6 1.9c.3 0 .8.2 1 .6.6.6.3 3.7-.3 4-.5.4-.7 0-1-2.5-.3-1.7-.2-2.1.3-2.1zm28.9 11l-.1 4.8a34.3 34.3 0 0011.3 27.8 34 34 0 0018.3 7.7l5.7 1c.3.2 4.2.6 4 1-.2.1.2.2.8.1 1.6-.3 6.7.8 8 .9a141 141 0 0119 4c1.2.4 3.6 3.2 3.6 4.1 0 .2-1.3.3-3.6.1a17 17 0 01-6.8-1.7c-5.3-2.3-12.7-4-21.7-4.8-4.6-.4-19.7-3-24-4a54.6 54.6 0 01-14.3-4.8 41.4 41.4 0 01-11.5-7.6l-2.7-2.5 2.3.6a70 70 0 0118.7 8.5 30 30 0 0010 4.9c2.6.7 3.4.7 3.4.3 0-.2-1.4-.8-3-1.2a29.7 29.7 0 01-19.7-33.1c.4-1.6 2.1-6.1 2.3-6.1zm-26.7 1.3a3 3 0 00.6.2 55 55 0 0115.4 9.8 24.4 24.4 0 013.5 4.6l1.3 2.5-2.2-1.8a53.4 53.4 0 00-5.2-3.5c-1.6-1-5-4-8-6.8-2-2-4.3-4-5.4-5zm6.7 17.1l.9.1 4.7 1a36.1 36.1 0 0118.2 11.6l1.8 2.3-1.8-1c-1-.5-1.8-1-1.7-1.1.3-.4-3.9-3.9-6-5a74.4 74.4 0 00-7-3 26 26 0 01-9-4.3c-.3-.4-.4-.5-.1-.6z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M217.8 251.4c-1 .3-2.3 1.6-3.2 2.3-1.8 1.3-2 1.8-.4.6 1.3-1 3.4-2.5 5.3-2.7.2 0-.7.9-1.2 1.4-.7.8-.5.7 1-.3l2-1.4c0-.3-2-.5-3.5 0zM190 281.7c0 1 12.6 10.4 13.2 9.8l-3.7-2.5a51.8 51.8 0 01-6.2-4.7c-1.4-1.2-3.1-3.2-3.3-2.6z"/>
+  <g stroke="#d4af37" stroke-width=".9">
+    <path fill="#fff" d="M246.2 432.3a31 31 0 01-16.4.7 21 21 0 00-6.2 0l2.8 1.8c1.3.8.8.6 3.1 1.7-.4.4-.6.6-2.4 1.3 2.4.5 5.4.8 8.3.6a37 37 0 008.7-1.4 47 47 0 019-1.8c1.2 0 5.4 1.3 9.4 3.4 8.6 4.7 14.6 6 20.6 6 4.1 0 8.4-1 13.3-4.2 3.6-2.3.6-2.2-3-.7-5 2-15.2 3-27-3.2a44.4 44.4 0 00-14.6-5.6c-.4 0-3 .6-5.6 1.4z" transform="matrix(.47638 0 0 .46773 113 114.3)"/>
+    <path fill="#d91023" d="M219.9 429.5c1.4 1.2 1.2 1.5 3.8 3.5 3.5.4 10.6 1.1 13.2 1.1 2.4 0 6.8-.4 10-1.2 6.2-1.3 9.2-1 20.5 4 13.1 6.8 20.5 5.6 27.3 2.3 9.4-3.6.2-2-3.2-3-1.1.3-2.5 1.8-5.2 2.7-3.8 1.4-5.8 1.4-10.3-1-2.9-1.4-5.4-2-8-3.5-2.5-1.5-3.1-1.3-7.3-2.7l-6.2-1.2-9.4-.5a44 44 0 01-21.5-1.3c-5.4-1.7-6.4-1.4-3.7.8z" transform="matrix(.47638 0 0 .46773 113 114.3)"/>
+    <path fill="#d91023" d="M244.3 436.8a35 35 0 01-17.2 1l-3.9 1.3c-5 1.7-5 1.8-2.9 2.4 1.3.4 6.3.7 11.3.6 8.5 0 9.3-.1 14-2.4a24 24 0 017-2.5c1 0 4.5 2 7.7 3.7 8.8 4.6 12.1 6 19.4 5.9 7.3 0 16.7-5.3 17.9-7a28 28 0 01-17.3 4.8 41 41 0 01-19.8-7c-5.8-3.1-7.8-3.2-16.1-.8z" transform="matrix(.47638 0 0 .46773 113 114.3)"/>
+    <g stroke-width=".8">
+      <path fill="#fff" d="M293.5 417.7c1.2-1.4.8-2-2.5-2.4a47.2 47.2 0 01-23.1-10.9c-2.2-2.3-3.1-2.5-3.1-.7 0 2 6.7 8.1 11.6 10.6a45.6 45.6 0 0014.5 4.7c.8 0 1.9-.5 2.6-1.3z" transform="matrix(-.16796 -.34478 -.72366 .17969 593.5 332.2)"/>
+      <path fill="#d91023" d="M290.7 421.4c.2-.4-.4-2.4-3.1-3a41.8 41.8 0 01-19-9.8c-3.6-3.5-5.3-3.9-4.1-.7 1.6 4.6 14.3 11 19.3 12.6 5 1.6 6.1 2 6.9.9z" transform="matrix(-.16796 -.34478 -.72366 .17969 593.5 332.2)"/>
+      <path fill="#ed1c24" d="M295.5 415.4l.8-1.4-4-2.6c-4.7-.6-13-3.6-18.6-6.7a21.5 21.5 0 00-6.1-2.6c-1.5 0-1.6 0 .1 1.9a44 44 0 0021.8 10.4c2.3.4 4.7 2 6 1z" transform="matrix(-.16796 -.34478 -.72366 .17969 593.5 332.2)"/>
+      <path fill="#fff" d="M293.5 417.7c1.2-1.4.8-2-2.5-2.4a47.2 47.2 0 01-23.1-10.9c-2.2-2.3-3.1-2.5-3.1-.7 0 2 6.7 8.1 11.6 10.6a45.6 45.6 0 0014.5 4.7c.8 0 1.9-.5 2.6-1.3z" transform="matrix(.18999 -.33346 .71052 .22504 -81.5 310.7)"/>
+      <path fill="#d91023" d="M289 420.6c0-.2 1.2-1.6-1.4-2.2a41.8 41.8 0 01-19-9.8c-4.2-4.6-6.3-5.6-4.1-.7 1.6 4.6 14.3 11 19.3 12.6 5 1.6 4.4 1.3 5.1.1z" transform="matrix(.18999 -.33346 .71052 .22504 -81.5 310.7)"/>
+      <path fill="#ed1c24" d="M295.5 415.4l.8-1.4-4-2.6c-4.7-.6-13-3.6-18.6-6.7a21.5 21.5 0 00-6.1-2.6c-1.5 0-1.6 0 .1 1.9a44 44 0 0021.8 10.4c2.3.4 4.7 2 6 1z" transform="matrix(.18999 -.33346 .71052 .22504 -81.5 310.7)"/>
+    </g>
+    <path fill="#fff" d="M319.7 402.7a30.7 30.7 0 00-16.7 13.1c-2 3-4 4.4-2.6 5 1.5.8 2.9-1.3 5.6-4 7-7 12.5-10 20-10h6l-1.8-2.5c-2.1-3-4.6-3.3-10.5-1.6zm-50.5 2.4c-1.2 1.4-.9 2 2.6 2.5A49.4 49.4 0 01296 419c2.3 2.4 3.3 2.6 3.3.7 0-2-7.1-8.5-12.2-11-4.4-2.4-12.2-5-15.1-5-1 0-2 .5-2.8 1.4z" transform="matrix(.47614 .01506 -.01519 .46749 120 112.2)"/>
+    <path fill="#d91023" d="M318.6 399.5a52 52 0 00-5.4 2.3 48 48 0 00-9.9 9.6l-3 4.2c-1.3 2-1.5 3.2-.8 3.3.6.2 2-.7 3.5-2.7 6-8.4 11.6-12.2 19.8-13.9 4.2-.8 4.8-.8 6.3.7 1.2 1-.3-.2-.6-1-.5-1.8-1.8-2.7-4.5-3.2a13.3 13.3 0 00-5.4.7z" transform="matrix(.47614 .01506 -.01519 .46749 120 112.2)"/>
+    <path fill="#d91023" d="M272 403.3c-.2.4 1.8 1.2 4.5 1.7a42 42 0 0119 9.9c3.5 3.5 5.3 3.8 4 .6-1.5-4.5-14.2-11-19.2-12.5-5-1.6-7.6-.8-8.3.3zm48.5 4A39.3 39.3 0 00307 416c-4 3.9-5.8 6.3-4.2 6.3.3 0 2.7-1.9 4.3-3.3 7-6 19.8-9.4 25.4-7.3 2.8 1 1.5-2-.4-4.8-1.1-1.7-8-.7-11.5.6zm-53-.2l-3.4 3.1 5 .9c5 .6 14.3 4 20.5 7.4 2.7 1.6 5.8 2.9 6.7 2.9 1.7 0 1.8 0-.1-2.1a48.7 48.7 0 00-24-11.6c-2.7-.4-3.4-1.8-4.8-.6z" transform="matrix(.47614 .01506 -.01519 .46749 120 112.2)"/>
+    <path fill="#d91023" d="M304.5 422.4a33.6 33.6 0 00-1 14.1c1.6-.2 2.7-.2 5.3-.7.3-2.2.7-4.7.6-7.4.3-3.7 0-1.8 2.1-4.8-2.3-1.5-3-1.6-7-1.2z" transform="matrix(.47638 0 0 .46773 112.6 115.7)"/>
+    <path fill="#fff" d="M296.2 428.6c0 4.2.3 5.2.3 7.2 2.3.3 7.4 1 7 .2v-8l1-5.5-3.7-.6-3.2.4-1.4 6.3z" transform="matrix(.47638 0 0 .46773 112.6 115.7)"/>
+    <path fill="#d91023" d="M291 428.8c.1 3.4-.5 4.5-.1 6.5 1 .3 5 .2 6.3.5-.2-4.3-.2-.5-.6-6.2l1.2-7.3-3.6.3s-2.2-.7-3.7-.7c1.3 2.3.5 7 .5 7z" transform="matrix(.47638 0 0 .46773 112.6 115.7)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pf.svg
new file mode 100644
index 0000000..94ff90c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pf.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pf" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <path fill="#fff" d="M0 0h512v512H0z" style="width:0"/>
+    <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-width="2pt" d="M210.4 363.5s11.6-9.4 22.8-9.4 14.4 7.8 22.2 8.4c7.8.7 14.4-7.8 24-8 9.8-.4 22 6.8 22 6.8L258.9 374l-48.5-10.6zm-24.3-13.8l144.3.7s-12.5-13.5-27.2-13.8c-14.6-.3-10.6 6.3-21.8 7.2-11.3 1-14.1-6.9-24.4-6.6-10.3.3-16.3 6.6-24 6.9-7.9.3-17.9-7.8-23.8-7.5-6 .3-27.2 9.4-27.2 9.4l4 3.7zm-18.5-17.2l178.1.7c2.9-4.1-8.7-13.8-19.3-14.7-8.8.3-15 9-22.2 9.3-7.2.4-15.3-9-23.5-8.7-8 .3-16.5 8.8-24.6 8.8-8.2 0-14.1-9.1-24.4-9.1s-15 10-22.8 9.4c-7.9-.7-14.7-10-22.2-10s-20 11.2-22.5 10.6c-2.5-.6 3.1 4.7 3.4 3.7z"/>
+    <path fill="red" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="M236 233.5l41 11V186c-18.8 1-34.4-35.6-1.3-38.1-32.4-4.8-36.2 3.7-40 12.7l.4 72.9z"/>
+    <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-linecap="round" stroke-width="5" d="M210.1 276l92.5.3"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="4" d="M214.5 253.8l11 14.7m-11 0l11.9-14.4m-5.6-1.3l-.4 9.1m11.6-8.1l11 14.7m-11 0l11.9-14.4m-5.6-1.3l-.4 9.1m12-8.1l10.8 14.7m-10.9 0l11.9-14.4m-5.6-1.3l-.3 9.1m12.4-8.1l11 14.7m-11 0l12-14.4m-5.7-1.3l-.3 9.1m11.9-8.1l10.9 14.7m-11 0l12-14.4m-5.7-1.3l-.3 9.1"/>
+    <path fill="#ef7d08" fill-rule="evenodd" d="M148 277l39.3.2v-24.7l-45-2.1 5.6 26.5zm-2-34.1l42 4-.4-17.5-41-16.2-.5 29.7zm8.5-35l32.2 15.6 4.6-4.8s-3-2-2.8-4c0-1.8 3-2.1 3-4.2 0-1.9-3.3-2.1-3.3-4-.3-2 2.6-4.3 2.6-4.3L161.7 177l-7.2 31zm211.2 69.3h-41.5l-.3-24 45.6-3.5-3.8 27.5zm-41.2-29.7l49.4-6-10.7-28.3-39 16.5.3 17.8zm36-42.1L324.7 224c-.5-2-1-4-3.4-5.6 0 0 2.2-1.3 2.2-3.5s-2.9-2.5-2.9-3.7 2.6-2.4 2.8-5.2c-.3-2-2.8-4.6-2.3-5.2l27.7-21.2 11.5 25.7zM283.1 247l17.9-.8.3-7.2-18.1 8zm-54.3-.6L210 246v-7.5l18.8 8zm-.1-2.2l-18.7-9.6v-12.5s-2.2.3-1.9-2.2c.1-5.2 13.8 9.5 20.7 14.3l-.1 10zm54.4-1.1V235s16.8-15.2 20.4-18c0 3.1-2 5.5-2 5.5v12l-18.4 8.7zM174 174.7l18.9 21c.5-2 4.8-2.2 9.2-2 4.4.4 7.9-.2 7.9 3 0 3-2.3 2.6-2.3 4.8s3.4 2 3.4 4.8-2.4 2.2-2.5 4.4c0 1.8 2.6 2 2.6 2l17.7 17.1v-18.4l-36.5-57.3-18.4 20.6zm29-21.7l24.8 50.7s.3-46.8 4.4-49.3l-7-12.8L203 153zm107.7 2l-27.6 49.3v-20.8s2.3-3.5-1.3-3.2c-3.6.3-8.1-.3-8.1-.3l11.1-39 26 14zm28.4 21.1c-.3.6-18.7 19.2-18.7 19.2-.8-2.2-6.4-1.1-11.6-1.1-5.3 0-6 1.7-5.8 3 .6 3.7 2.4 1 2.4 4.4 0 3.3-2.6 2-2.8 4.5.2 2.8 4 2.1 1.8 4.3l-21.3 20.4v-19.4l39.6-61.5 16.4 26.2z"/>
+    <path fill="red" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="M245.1 286.3c-8.9 14.7-32.7 10.4-38.2 0-1.7-.4-.7-63.5-.7-63.5s-2.7-1.2-2.8-3.1c-.1-2 3.6-2.1 3.6-4.6 0-2.5-3.8-1.6-3.9-4 0-2.5 4.1-2.2 4-4.4-.3-2.5-4.6-2.1-4.8-4.5-.2-1.8 3-3.4 4-4.2h-9.9c-4.8 0 .1 1.1 0 4 0 1.8-2.4 3-2.6 4.6 0 1.6 3.4 2.7 3.5 4.7 0 1.7-3.5 1.9-3.4 3.5.3 2.7 3.1 3.3 3.1 5 0 1.6-3.9 2.3-3.9 3.6l.6 64.8c6 31.8 41.4 39.8 51.4-2zm23.3 0c9 14.7 32.7 10.4 38.3 0 1.7-.4.7-63.5.7-63.5s2.7-1.2 2.8-3.1c.1-2-3.4-2.1-3.4-4.6 0-2.5 3.6-1.6 3.7-4 0-2.5-3.8-2.3-3.6-4.6.2-2.5 3.1-2.2 3.3-4.5.1-2-1.9-3.2-2.8-4h9.7c4.9 0 0 1.1 0 4 0 1.8 2.5 3 2.7 4.6 0 1.6-3.5 2.7-3.5 4.7 0 1.7 3.5 1.9 3.3 3.5-.2 2.7-3 3.3-3 5 0 1.6 3.9 2.3 3.9 3.6-.2 2.6-.6 64.8-.6 64.8-6.1 31.8-41.4 39.8-51.5-2z"/>
+    <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-width="2pt" d="M236.5 315.3h39.8c.3-.3-9-13.8-20-12.8-12.2.3-20.5 12.8-19.8 12.8zm126.8-1h-54.4s7-4.1 9-8c3.5 2 2.5 3.9 9.5 4.2 7 .3 13.8-8 20.5-7.7 6.7.3 15.4 11.8 15.4 11.5zm-214.4 0h54.4s-7-4.1-9-8c-3.5 2-2.5 3.9-9.6 4.2-7 .3-13.7-8-20.5-7.7-6.7.3-15.3 11.8-15.3 11.5zm4-17l38.8.2s-2.5-5.3-2.8-11.8c-10-3.5-18.2 7.5-25.3 7.8-7.2.3-14.7-7.8-14.7-7.8l4 11.5zm207 0l-38.8.2s2.5-5.3 2.8-11.8c10-3.5 18.1 7.5 25.3 7.8 7.2.3 14.7-7.8 14.7-7.8l-4 11.5zm-113.5.2l19.7-.6s.3-6-10-6-9.4 7-9.7 6.6zm-12-8.4c3.5-1.9 6.7-3.8 8.8-8.1l-13.4.3s-6.2 3.7-9.4 7.8h14zm43.5 0a18.2 18.2 0 01-8.7-8.1l13.4.3s6.3 3.7 9.4 7.8h-14z"/>
+    <path fill="#de2010" fill-rule="evenodd" d="M-128 384h768v128h-768zm0-384h768v128h-768z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pg.svg
new file mode 100644
index 0000000..7397754
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pg.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pg" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M81.4 0h496v496h-496z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-84) scale(1.0321)">
+    <g fill-rule="evenodd">
+      <path d="M.5 0L0 496h659L.5 0z"/>
+      <path fill="red" d="M658.5 496L659 0H0l658.5 496z"/>
+    </g>
+    <path fill="#fc0" stroke="#fc0" stroke-width="2.3" d="M406.9 123.4l-8.8-.4c-2.7-6.4-10.3-8.8-15-6-4.2.3-26.5-.4-26.5-.4l16.3 7.1c4 10.9 18 13.5 18 13.5-1.2 20-20.3-2.6-36.3 8.8-11.4 6.9-11.6 15-17.8 28.3a119 119 0 01-10 13.1l13.5-1-4.3 5.6 16-2.3s-2.1 1.8-3.4 3.2c2.4.5 18.3-3.7 18.3-3.7l-1.1 5.1c8.1-3.3 18.2-6.6 18.2-6.6s3.6 3 6.9 4.3l2.3-9.1 9.1 2.3 2.3-9.2c13.7 18.3 18.3 36.6 43.4 41.2l-2.3-9.2c7 3 20 9.4 20 9.4l2-4.2c10.9 7.8 20 7.7 26 8.5l-4.5-11.4 4.6 2.3-6.9-18.3 6.9 2.3-9.2-13.7 3.4-2.3-1-6.9c13.6 4.6 32 11.5 34.2 27.5 2.3 25.1-25.2 32-43.4 29.7 13.7 11.4 38.8 6.8 50.3-4.6a47 47 0 009.1-18.3c2.3 6.9 6.9 16 6.9 25.2-2.3 20.5-29.8 27.4-48 29.7 20.5 11.4 57.1-2.3 59.4-32 0-25.2-16-36.6-22.9-48a231 231 0 01-2.3-12.3c1 .2 6.9 3.2 6.9 3.2s-4-7.6-4.6-9.2c0 0-7.1-19.4-9.7-23.7.4-.3 5.2.8 5.2.8l-18.8-23.5 5.3-.6S493 100.5 487 98.3l6.9-2.3c-13.8-6.8-29.8-2.3-43.5 6.9l2.3-6.9-4.2.4v-7.8l4.2-6.3-6.8-2.3 4.5-11.4-6.8 2.3 2.3-11.5s-5.2 2.4-8.3 2c.1.3 3.7-7.7 3.7-7.7-2.2-3.4 0-10.3 0-10.3-16 2.3-18.3 4.6-27.4 18.3-13.8 25.2-9.2 36.6-6.9 61.7z"/>
+    <path fill="red" fill-rule="evenodd" stroke="red" stroke-width="3" d="M493.3 161c1.2 2 14.1 8.2 23.9 13.8-2.6-10.6-21.7-12.9-24-13.8z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M179 412.4l-14.6-9.3-19.5 9.4 4.4-16.7-15-15.7 17.3-1 10.3-19 6.3 16 21.2 3.9-13.3 11zm37.3-81.6l-6.8-3.2-6.4 3.7 1-7.4-5.6-5 7.4-1.4 3-6.8 3.6 6.6 7.4.8-5.2 5.4zm32.9-46.8l-14.8-7.2-14.4 8 2.3-16.2-12.1-11.2 16.2-2.8 6.8-15 7.8 14.6 16.3 1.8-11.3 12zm-67.7-65l-17.4-8.8-17 9.4 2.8-19.2-14.2-13.4 19.2-3.1 8.3-17.7 9 17.3 19.3 2.4-13.7 14zM119 286.5l-17.6-10.4-17.5 10.7 4.5-20-15.6-13.3 20.4-2 7.9-18.9 8 18.8 20.5 1.7-15.3 13.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ph.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ph.svg
new file mode 100644
index 0000000..681cf23
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ph.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ph" viewBox="0 0 512 512">
+  <path fill="#0038a8" d="M0 0h512v256H0z"/>
+  <path fill="#ce1126" d="M0 256h512v256H0z"/>
+  <path fill="#fff" d="M443.4 256L0 512V0"/>
+  <g fill="#fcd116">
+    <path stroke-width="1.1" d="M25.2 44.4l15.4 13.3 17.9-9.8-8 18.7 15 14L45 78.9l-8.6 18.4-4.7-19.8-20.2-2.6L29 64.4zM372.1 229l.4 20.3 19.3 6.7-19.3 6.7-.4 20.3-12.3-16.2-19.5 6L352 256l-11.7-16.7 19.5 5.9zM36.5 414.7l8.6 18.4 20.3-1.7-14.8 14 7.9 18.7-17.9-9.8-15.4 13.3 3.9-20-17.5-10.5 20.2-2.6z"/>
+    <path stroke-width="5.7" d="M158.9 148l-6.6 6.6 3.2 50.3-3.3.3-6-45.9-5.5 5.4 8.2 41a51 51 0 00-18.4 7.7l-23.3-34.8h-7.7l28.2 36.8-2.5 2.1-33.3-38h-9.4v9.5l38 33.3-2.2 2.5-36.8-28.2v7.7l34.8 23.3a50.9 50.9 0 00-7.6 18.4l-41-8.2-5.5 5.5 46 6-.4 3.4-50.3-3.3-6.7 6.6 6.7 6.6 50.3-3.2.3 3.3-45.9 6 5.4 5.5 41-8.2a51 51 0 007.7 18.4l-34.8 23.3v7.7l36.8-28.2 2.1 2.5-38 33.3v9.4H92l33.3-38 2.5 2.2-28.2 36.8h7.7l23.3-34.8a50.8 50.8 0 0018.4 7.6l-8.2 41 5.5 5.5 6-46 3.3.4-3.2 50.3 6.6 6.7 6.6-6.7-3.2-50.3 3.3-.3 6 45.9 5.5-5.4-8.2-41a51 51 0 0018.4-7.7l23.3 34.8h7.7L190 296.6l2.5-2.1 33.3 38h9.4V323l-38-33.3 2.2-2.5 36.8 28.2v-7.7l-34.8-23.3A50.9 50.9 0 00209 266l41 8.2 5.5-5.5-46-6 .4-3.3 50.3 3.2 6.7-6.6-6.7-6.6-50.3 3.3c0-1.2-.2-2.3-.3-3.4l45.9-6-5.4-5.5-41 8.2a51 51 0 00-7.7-18.4l34.8-23.3v-7.7l-36.8 28.2-2.1-2.5 38-33.3v-9.4h-9.5l-33.3 38-2.5-2.2 28.2-36.8h-7.7l-23.3 34.8a50.9 50.9 0 00-18.4-7.6l8.2-41-5.5-5.5-6 46-3.3-.4 3.2-50.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pk.svg
new file mode 100644
index 0000000..06b6022
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pk.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pk" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)">
+    <path fill="#0c590b" d="M-95 0h768v512H-95z"/>
+    <path fill="#fff" d="M-95 0H97.5v512H-95z"/>
+    <g fill="#fff">
+      <path d="M403.7 225.4l-31.2-6.6-16.4 27.3-3.4-31.6-31-7.2 29-13-2.7-31.7 21.4 23.6 29.3-12.4-15.9 27.6 21 24z"/>
+      <path d="M415.4 306a121.2 121.2 0 01-161.3 59.4 122.1 122.1 0 01-59.5-162.1A118.6 118.6 0 01266 139a156.2 156.2 0 00-11.8 10.9A112.3 112.3 0 00415.5 306z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pl.svg
new file mode 100644
index 0000000..f7c12a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pl.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pl" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M512 512H0V0h512z"/>
+    <path fill="#dc143c" d="M512 512H0V256h512z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pm.svg
new file mode 100644
index 0000000..3d4014a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pm.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pm" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pn.svg
new file mode 100644
index 0000000..47b0749
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pn.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pn" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="b">
+      <path d="M-15-7.5h30v15h-30z"/>
+    </clipPath>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M-15-15h30v30h-30z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(256 256) scale(17.06667)">
+    <path fill="#00247d" d="M-15-15h60v30h-60z"/>
+    <g clip-path="url(#b)" transform="translate(0 -7.5)">
+      <circle r="20" fill="#00247d"/>
+      <path stroke="#fff" stroke-width="3" d="M-20-10l40 20m-40 0l40-20"/>
+      <path stroke="#cf142b" stroke-width="2" d="M-20-10l40 20m-40 0l40-20"/>
+      <path fill="#fff" d="M0 0l20 10h-3L-3 0m3 0l20-10h3L3 0M0 0l-20 10h-3L-3 0m3 0l-20-10h3L3 0"/>
+      <path stroke="#fff" stroke-width="5" d="M-20 0h40M0-10v20"/>
+      <path stroke="#cf142b" stroke-width="3" d="M-20 0h40M0-10v20"/>
+    </g>
+    <path fill="#f7e017" stroke="#000" stroke-width="0" d="M-.3 3.8a4.2 4.2 0 00-1.4 2C-2 8-2.7 8.4-3.5 8c0 1.1 1 1.2 1.4.6a3 3 0 001.2 2.6c.3.3.4.1.2-.2-.2-.4-.2-1.5-.5-2.2.5.4 1.3.2 1.3-.9-.7.4-1.4.4-1.5-.5 0-1.1.4-2.8 1.1-3.5zm-.8-8c0-.4 0-.8-.3-1-.6-.5-1.1-.4-1.5 0-.7-.3-1 .9-1.7.7.1.4.3.5.7.4-.4.3 0 .7-.5 1.1.8.3 1.2-.2 1.2-.9.3.3.8.2 1 0-.4-.2-.4-.6-.2-.9.2-.5 1.4-.5 1.3.6z"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M.7 1.6C0 2.1-1.8 2-1.9.7-2.1-.4-1-.9-.6-1c.4-.2.8.2.6.7a.8.8 0 00.4-1.1c.7 0 1.3-.5 1.6-1.2-.2.2-.9 0-1.4 0v-.7c-.5.6-1.3.3-2.4 2L-1-4a1.9 1.9 0 000-.3c0-1-1-1-1.3-.6.2.3.1.7 0 1.2L-3-.9c0-.8-.6-.9-.7-1.2l-.2.5c-.1-.2-.8 0-1-.2-.3.5.1 1 .6 1.2-.3 0-.3.3-.6.3.4.4.7.6 1.1.6.5 0 .8.2 1 .7.4.8 2 1.4 3.5.6z"/>
+    <path fill="#f7e017" stroke="#000" stroke-width="0" d="M3 .6A4.5 4.5 0 01.4 3.1c-1 .3-3.2 1.3-3.7 1.9"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M-.3 3.8c-.8.7-1.2 2.4-1 3.5 0 .3 0 .5.2.6 0-.6.5-2.2 1.6-3 1-.6 2.4-2 3-3.6L2.9.8c-.6 1.4-2 2.1-3.2 3z"/>
+    <path fill="#316d3a" stroke="#000" stroke-width="0" d="M2.4 0A4 4 0 011 1.2a.8.8 0 000-.5c-.8.3-2.4.3-3 0A4 4 0 002-.5l.3.5z"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M-3.6 3.5c-1.2 1.1-.4 2.2.1 2.4-.1.8.6.7.6 1.4.3-.1.4-.6.4-1 .4.4 1.4 0 1.6.7.1-.8-.5-1.7-1.4-1.6.4-.4.2-.9-.2-1 0 .6-.8.6-1 .4-.3-.2-.6-.8 0-1.4z"/>
+    <path fill="#f7e017" stroke="#000" stroke-width="0" d="M-.8 11c-.1.1-.1.3 0 .4.1.2-.2.7.4.9.2 0 .3-.1.3-.3.2-.5-.3-.6-.4-.8 0-.3-.2-.3-.3-.2z"/>
+    <path fill="#f7e017" stroke="#000" stroke-width="0" d="M-.3 12c-.2 0-.4.2-.3.8 0 .3 0 .8-.2.9h.5c.1.1.4 0 .5-.2.1.2.3 0 .3-.2.1 0 .3 0 .3-.4l.4-.1c-.2 0-.7-.4-.9-.6C.2 12 0 12-.3 12z"/>
+    <path fill="none" stroke="#000" stroke-width="0" d="M-3.2-4.8a2.2 2.2 0 01.3-.4m2.8 2.6l.7-.1m-.9 16.3V13m.5.5"/>
+    <path fill="#f7e017" stroke="#000" stroke-width="0" d="M8.5 3.5c2 1.7 2.1 3 1.8 3.8-.1-.7-1-1.9-1.9-2.2V3.5z"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M4.8 2.5h3.8V7a8 8 0 01-4.3 7.3A8 8 0 010 7V2.5h2.7c0 .2 0 .6.3 1a4 4 0 001.8-1z"/>
+    <path fill="#006ec7" stroke="#000" stroke-width="0" d="M8.6 2.5V7a9 9 0 01-.5 3L4.3 3.1l-3.8 7A8.6 8.6 0 010 7V2.5h8.6z"/>
+    <g fill="#f7e017" stroke="#000" stroke-width="0">
+      <path d="M6 12.2l.4.2c.2-.5.2-1 .1-1.5-.2.5-.9.5-1.1.8l.3.3-1.1.7V9.2l-.1-.7v-.7c0-.2 0-.4-.2-.4s-.2.2-.2.4v4.9c-.2-.5-1-.3-1.3-.8a1 1 0 01.4 0c-.2-1-1-1-1-1.2 0 .3-.2 1.1 0 1.5a1 1 0 01.2-.2c.3.6 1.6.6 2 1.6.1-.4 1-.8 1.6-1.4z"/>
+      <path d="M4.3 9.2h1.5l.2-.4-.2-.3h-3l-.1.3.1.3 1.5.1zm-.2-1.5"/>
+      <path d="M2.8 9.1l.1-.3-.1-.3m.2.6v-.6m.8.7l.1-.4-.1-.3m.1.7l.2-.4c0-.2 0-.3-.2-.3m.7.7l.2-.4c0-.2-.1-.3-.2-.3m.2.7l.2-.4c0-.2-.1-.3-.2-.3m.9.6l.1-.3-.1-.3M2.4 12l.4-.1m3.2.3l.6-.9"/>
+    </g>
+    <g stroke="#000" stroke-width="0">
+      <path fill="#fff" d="M3.5 5.7l.2-.2.2-.1H5l.1.1V7H3.5V5.8"/>
+      <path fill="#e5e5e5" d="M4.7 7.2l.2-.1c.2-.1.1-.1.1-.2V5.5H3.6l-.1.2v1.5h1.1z"/>
+      <path fill="#fff" d="M4.8 7.2H3.5V5.6h1.3v1.6z"/>
+    </g>
+    <path fill="#96877d" stroke="#000" stroke-width="0" d="M7 1.6a.8.8 0 01.1.9h-.3c.1-.4 0-.8-.5-.8-.9-.1-1.9 1.5-3.3 1.7-.5-.5-.4-1.5.1-2a6 6 0 00-1.3-2"/>
+    <path d="M3.3 2A4 4 0 002-.5c.3.1 1 .1 1.3-.2.6-.4 2-1 2.5-.7 0 0 .1.3 0 .4 0-.3-1.4.2-1.8.4-.4.1-.6.3-.4.9-.3-.2-.2-.4-.4-.5l.2 1c-.1-.3-.3-.8-.6-1 .3.5.6 1.8.4 2.5.3 0 .8-.2 1-.4-.2.3-.7.4-1 .5-.2.2-.3.6-.3.9L3.2 2zm3.6-.4c-.2-.3-.7-.4-1.4-.3l.5-.1L5.8 0H6l.3 1.2h.3a17.2 17.2 0 01-.3-1.5l.2-.1.5 2z"/>
+    <path fill="#96877d" stroke="#000" stroke-width="0" d="M6.8 2.5c.1-.4 0-.8-.5-.8s-1 .4-1.5.8h2zM3.1-1.1a3.3 3.3 0 01-1 0v-.3a4 4 0 00-.6.5c.4 0 1.2.1 1.6-.2z"/>
+    <path fill="none" stroke="#000" stroke-width="0" d="M3.1 1.5l.2.7m-1-4a2 2 0 00-.3.6l1.1.1m-1.3.5h.3c.3.1 1 .1 1.3-.2C4-1 5-2 6.3-2"/>
+    <path fill="none" stroke="#000" stroke-width="0" d="M1.5-1c.4.2 1.2.2 1.6 0A5.6 5.6 0 016-2.3"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M8.5 3.5c1.4 1 2.4 1.9 2.7 3.4.3 1.5.9 1.9 1.6 1.5-.2.8-1 1-1.8.3 0 1-.3 2.2-1.4 2.6 0-.6.4-1 .2-1.6 0-.2 0-.7.3-1-.6.3-1.4-.1-1.5-1 .6.4 1.4.4 1.7-.4.3-.8.2-2.1-1.8-3.8zm1.7-7.8c.5-1.2 1.6-1 2-.6 1-.6 1.2.8 2.2.6 0 .2-.4.5-.7.5.4.3-.1.8.6 1-.6.4-1.6 0-1.8-.8-.2.4-1 .4-1.3 0 .7-.1.6-.8.2-1-.4-.3-1-.2-1.2.3zM7-1.8C7.3-.8 8 .1 8.6.7c.8.8 2 .6 2.7-.1C11.2 2 9.8 2 9 1.6c-.4-.1-.7 0-.4.3a8 8 0 003 1c2.3.6 1.5 2.4.8 2.4.2 0 .4-.2.1-.5-2-1.8-6.1-1-6-5.1C6 .7 4.2.3 5-1c.2.2.7.2.8-.1.1-.3 0-.8-.4-1.1 0 0 .3 0 .2-.2l.4.2.3.2v-.2c0 .2.3.3.4.3z"/>
+    <path fill="#f7e017" stroke="#000" stroke-width="0" d="M9 1.6c1 .7 2 .7 3-.5.3-.4.8-.7 1.2-.7.3 0 .3-.4.6-.4-.2 0-.3-.3-.5-.3.6-.2.4-.7.7-1-.2.2-.6-.2-1 .3v-.6c0 .3-.6.3-.7 1 0 .3-.2.3-.3-.3a8.9 8.9 0 00-.4-2c-.2-.6-.3-1.4 0-1.5M9.3 11.9c.2.1.4.3.2 1 0 .2 0 .9.2 1l-.6-.1c0 .2-.4.1-.5-.1-.1 0-.3-.1-.3-.3-.2 0-.4 0-.3-.5l-.5-.1c.3 0 .9-.4 1-.6.2-.3.5-.4.8-.3z"/>
+    <path fill="none" stroke="#000" stroke-width="0" d="M9.1 13.8c.1-.1.2-.5.1-.7m-.6.5a1.1 1.1 0 00.4-.5m-.7.3c.1 0 .5-.5.5-.7m-.8.2c.1 0 .6-.3.8-.6"/>
+    <path fill="#f7e017" stroke="#000" stroke-width="0" d="M6.5-.3c0 1.7.6 2.5 1.6 3.1-.4-.2-.2-1-.7-1.2H8c0-.1-.4-.6-1-.7h.7C7.5.3 6.7.6 6.4-.3zM6.3-2H6l-.4-.2c0 .2-.1.2-.2.2.5.3.5.8.4 1-.1.4-.6.4-.8.2 0 .7.8.9 1.2 0 0 .2.2.1.2.3.3-.3 0-.9-.2-1.4z"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M4.8-5.3a2 2 0 01-.6-1.4c0-.4.2-.8.7-.6-.1 0 0 .3-.2.4l.4-.2.2.2-.1-.4v-.5l-.1.3c0-.1 0-.4-.3-.5a.4.4 0 000 .5c-.2 0-.5 0-.6.2 0-.2 0-.5.2-.7 0 0 0-.2-.2 0-.1-.3-.6-.5-.7-.3-.2.1-.5-.1-.6.1-.2.3-.7.3-.7.6l-.1.5c-.2.2 0 .3.1.5 0-.6 1-1.8 2-1.3l-.2.8c0 .6 0 1.4.6 1.8h.2z"/>
+    <path fill="#cf142b" stroke="#000" stroke-width="0" d="M5.1-7.3c0-.1.3-.3.6-.3.4 0 .8.3 1 .3.4 0 .3.1.2.2 0 0-.1.1 0 .2 0 .1-.1.2-.2 0-.3-.1-.6.2-1 0C5.3-7 5-7 5-7.3z"/>
+    <path fill="#96877d" stroke="#000" stroke-width="0" d="M3.4-3.4c-.2-.5-.8-1-1.1-1.2V-5l.7-.5c1.3.6 3-.3 3.8-1.2l.3.2-.2.2h-.2a9 9 0 01-1 1 4 4 0 00.7 0C7.1-5.5 7.7-6 8-6l.3.3-.2.1h-.2a8 8 0 00-2 2.8c-.4 0-2 0-2.4-.5z"/>
+    <path fill="none" stroke="#000" stroke-width="0" d="M3.5-3.6c-.1-.6 0-1.3.4-1.5.6.5 1.8.5 2.5 0"/>
+    <path fill="none" stroke="#000" stroke-width="0" d="M3.5-3.9l2 .1c.2 0 .7.2.6.3M3.7-4H4l-.2-.2-.1.2.1.1z"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M4-7c-.1-.3-.6-.4-.8 0 0 0 0 .3-.2.3-.1.1-.1.3 0 .4 0 .3 0 .5.2.7 0-.2.3-.4.6-.5.2 0 .6-.2.6-.5 0-.2.1-.4-.3-.5z"/>
+    <path fill="#96877d" stroke="#000" stroke-width="0" d="M2.9-4.7v.5l.5-.2L3-4l.4.2L3-4"/>
+    <path fill="#96877d" stroke="#000" stroke-width="0" d="M3.5-3.6a.8.8 0 110-1v.4"/>
+    <path fill="#337321" stroke="#000" stroke-width="0" d="M2.6-2.8l-.2-.4a.4.4 0 01.3.2v-.4c.1 0 .3.1.3.3v-.5l.3.4.2-.5.2.2.2-.3a1 1 0 01.2.5l.2-.3a.5.5 0 010 .4l.3-.3s.2.1.2.3v-.4a.5.5 0 01.3.3l.1-.4.1.4.2-.2v.4a.8.8 0 01.3-.3.7.7 0 010 .3l.2-.4.3.3a1 1 0 00.3-.2v.1a.8.8 0 010 .4.4.4 0 01.3 0s0 .3-.2.5c-.8-.2-2.4-.3-4.1-.4z"/>
+    <path fill="#f7e017" d="M5.4-7.2s0-.2.3-.2l.8.2h.1v.2h-.9l-.3-.2z"/>
+    <g stroke="#000" stroke-width="0">
+      <path fill="#f7e017" d="M2.8-2.3c-.2.3-.5.2-.5 0s.1-.2 0-.4c0-.2.2-.3.3-.2 0 .1.3-.1.4.1l.2.5c-.1.1-.3 0-.4 0zM4-2.8s.2-.3.4-.1c0 .1.3-.2.4 0l.2.5c0 .2-.3.2-.4.1 0 .1-.3.2-.4 0L4-2.8zm1.7.2c0-.1.3-.3.4-.1 0 0 .4-.1.4.1v.5c0 .1-.1.2-.3 0-.2 0-.3 0-.4-.2a1.1 1.1 0 000-.3z"/>
+      <path fill="#337321" d="M3-2.8s.2-.2.4-.1c.1.1.4-.1.5.1.2.5.2.5.1.6h-.7L3-2.9zm1.8 0c-.1-.1.3-.2.5 0 0 0 .2 0 .3.2.1.2.2.4 0 .4 0 0-.2.1-.2 0-.1 0-.4 0-.5-.2a4.4 4.4 0 00-.2-.4zm1.6.3c0-.1.2-.2.3 0 0 .1.3 0 .3.3v.3c-.1.1-.5 0-.6-.2"/>
+      <path fill="none" d="M2.8-2.3c0-.1-.2-.3-.3-.1m1.1.1"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pr.svg
new file mode 100644
index 0000000..79cf4c0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pr.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pr" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M51.6 0h708.7v708.7H51.6z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-37.3) scale(.72249)">
+    <path fill="#ed0000" d="M0 0h1063v708.7H0z"/>
+    <path fill="#fff" d="M0 141.7h1063v141.8H0zm0 283.5h1063v141.7H0z"/>
+    <path fill="#0050f0" d="M0 0l610 353.9L0 707.3V0z"/>
+    <path fill="#fff" d="M268.2 450.5l-65.7-49-65.3 49.5 24.3-80.5-65.3-49.7 80.7-.7 25-80.2 25.6 80 80.7.1-64.9 50.2 24.9 80.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ps.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ps.svg
new file mode 100644
index 0000000..7c1ea3f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ps.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ps" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M237.1 0h493.5v493.5H237.1z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-246) scale(1.0375)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path d="M0 0h987v164.5H0z"/>
+      <path fill="#fff" d="M0 164.5h987V329H0z"/>
+      <path fill="#090" d="M0 329h987v164.5H0z"/>
+      <path fill="red" d="M0 493.5l493.5-246.8L0 0v493.5z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pt.svg
new file mode 100644
index 0000000..4255150
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pt.svg
@@ -0,0 +1,57 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-pt" viewBox="0 0 512 512">
+  <path fill="red" d="M204.8 0H512v512H204.7z"/>
+  <path fill="#060" d="M0 0h204.8v512H-.1z"/>
+  <g fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".6">
+    <path stroke-width=".7" d="M293.8 326.6c-34.4-1-192-99.4-193-115.1l8.6-14.5C125 219.7 286.2 315.4 302 312l-8.2 14.6"/>
+    <path stroke-width=".7" d="M107.6 195c-3.1 8.3 41.1 35.6 94.3 68 53.2 32.3 99 52.3 102.5 49.5l1.5-2.9c-.6 1-2.2 1.3-4.6.6-14.4-4.2-51.9-21.4-98.3-49.5s-86.8-54.1-93-65.1a6.7 6.7 0 01-.7-3.3h-.2l-1.3 2.3-.2.4zm187 132c-.6 1.1-1.7 1.1-3.7 1-12.9-1.5-52-20.5-98-48.1-53.8-32.2-98.2-61.5-93.3-69.1l1.3-2.4.2.1c-4.3 13 87.6 65.5 93 68.9 53.1 33 98 52.2 102 47.2l-1.5 2.4z"/>
+    <path stroke-width=".7" d="M205 221c34.3-.3 76.8-4.7 101.2-14.4L301 198c-14.5 8-57.1 13.3-96.3 14-46.4-.4-79.1-4.7-95.5-15.7l-5 9.1c30.2 12.7 61 15.5 100.8 15.6"/>
+    <path stroke-width=".7" d="M307.7 206.8c-.9 1.3-16.8 6.8-40.3 10.8a416 416 0 01-62.6 4.6 444.3 444.3 0 01-60-3.8c-24.5-3.9-37.3-9.3-42-11.2l1.2-2.3a186 186 0 0041.3 11 438.9 438.9 0 0059.5 3.7 417.8 417.8 0 0062.1-4.6c24-3.9 37.2-8.9 39-11.2l1.8 3zM303 198c-2.6 2-15.6 6.7-38.4 10.3a414 414 0 01-59.5 4.2 400 400 0 01-57.4-3.7c-23.3-3-35.6-8.5-40-10.1l1.3-2.3c3.4 1.8 15.4 6.6 39 10a423 423 0 0057.1 3.5 408.6 408.6 0 0059-4.2c23-3.2 35.4-9 37.3-10.5l1.6 2.8zM92 262.4c21.2 11.4 68.1 17.2 112.6 17.6 40.5 0 93.3-6.3 113-16.8l-.6-11.4c-6.1 9.7-62.6 19-112.8 18.6-50.2-.4-96.8-8.2-112.3-18.2v10.2"/>
+    <path stroke-width=".7" d="M318.7 260.8v2.7c-3 3.6-21.6 9-44.9 12.7a463.2 463.2 0 01-69.7 4.8c-27.4 0-49.2-2-66.2-4.6a164.8 164.8 0 01-47.3-12.7v-3.2c10.4 6.9 38.3 11.9 47.7 13.4 16.8 2.6 38.5 4.5 65.8 4.5 28.7 0 51.7-2 69.3-4.7 16.8-2.4 40.6-8.7 45.3-12.9zm0-9.7v2.8c-3 3.5-21.6 8.9-44.9 12.6a463.2 463.2 0 01-69.7 4.8c-27.4 0-49.2-2-66.1-4.5A165 165 0 0190.6 254v-3.2c10.4 6.9 38.3 12 47.7 13.4 16.9 2.6 38.6 4.6 65.8 4.6 28.7 0 51.7-2 69.3-4.8 16.8-2.4 40.6-8.7 45.3-12.9zm-114.2 73.5c-48.6-.3-90.3-13.2-99.1-15.4l6.4 10c15.5 6.6 56.2 16.4 93.2 15.3s69.3-4 92-15l6.6-10.5c-15.5 7.3-68.3 15.6-99 15.6"/>
+    <path d="M299.5 317.1a152.6 152.6 0 01-3 4.4 258.9 258.9 0 01-34.7 8.9 315 315 0 01-57.2 5.2c-43.1-.6-78.4-9-95-16.2l-1.4-2.3.3-.4 2.2.9a305.5 305.5 0 0094.1 15.5c20 .1 40-2.3 56.1-5.1 24.8-5 34.8-8.7 37.9-10.4l.7-.5zm5.7-9.4h.1a302 302 0 01-2.2 3.8c-5.7 2-21.3 6.6-44 9.8-15 2-24.3 4-54 4.6a371 371 0 01-100.5-15l-1.2-2.5a424.4 424.4 0 00101.7 15c27.2-.6 38.8-2.6 53.6-4.7 26.5-4 39.8-8.4 43.8-9.7a3 3 0 00-.1-.2l2.8-1.1z"/>
+    <path stroke-width=".7" d="M305.8 253.4c.2 32-16.2 60.8-29.4 73.5a106 106 0 01-72.3 30c-32.3.6-62.7-20.5-70.9-29.7-16-18.1-29-41-29.4-72 2-35 15.7-59.3 35.6-76a106.3 106.3 0 0168.4-24.2c25.4.7 55.2 13.2 75.7 38 13.4 16.2 19.3 33.8 22.3 60.5zM204.4 143.8c62 0 113 50.5 113 112.3a113 113 0 01-113 112.3c-62 0-112.6-50.4-112.6-112.3s50.6-112.3 112.6-112.3"/>
+    <path stroke-width=".7" d="M204.7 143.4c62 0 112.6 50.7 112.6 112.7s-50.6 112.7-112.6 112.7A113 113 0 0192 256a113 113 0 01112.7-112.7zM94.5 256.1c0 60.6 49.8 110.2 110.2 110.2 60.4 0 110.1-49.6 110.1-110.2S265.1 146 204.7 146A110.6 110.6 0 0094.5 256.1z"/>
+    <path stroke-width=".7" d="M204.8 152.8c56.5 0 103.1 46.5 103.1 103.2 0 56.8-46.6 103.2-103.1 103.2A103.6 103.6 0 01101.5 256c0-56.7 46.6-103.2 103.2-103.2zM104 256c0 55.4 45.5 100.7 100.8 100.7 55.2 0 100.7-45.3 100.7-100.7 0-55.4-45.5-100.7-100.8-100.7S104 200.6 104 256z"/>
+    <path stroke-width=".7" d="M209.3 143h-9.7v226.4h9.7z"/>
+    <path stroke-width=".7" d="M208.3 141.7h2.5v229h-2.5v-229zm-9.6 0h2.5v229h-2.5v-229z"/>
+    <path stroke-width=".7" d="M317.4 260.5V252l-6.8-6.3-38.7-10.3-55.8-5.7-67 3.4-47.9 11.4-9.6 7.2v8.3l24.4-11 58-9h55.8l41 4.5 28.4 6.9z"/>
+    <path stroke-width=".7" d="M204.7 238.7a394 394 0 0172.9 6.5c21.1 4.2 36 9.5 41 15.4v3c-6-7.4-26-12.8-41.5-16-20.3-3.9-46-6.4-72.4-6.4-28 0-54 2.7-74 6.6-16 3.2-37.4 9.5-40.1 15.8v-3c1.5-4.4 17.4-10.9 39.8-15.4a405 405 0 0174.3-6.5zm0-9.7a396 396 0 0173 6.5c21 4.2 36 9.5 41 15.5v2.9c-6.1-7.4-26.2-12.8-41.6-15.9-20.3-4-46-6.5-72.4-6.5a402 402 0 00-73.8 6.6c-15.5 3-37.8 9.6-40.3 15.8v-3c1.5-4.3 17.8-11 39.8-15.3a405 405 0 0174.3-6.6zm-.5-49.3c41.9-.2 78.5 5.9 95.2 14.5l6.1 10.5c-14.5-7.8-54-16-101.3-14.7-38.5.2-79.6 4.2-100.3 15.2l7.3-12.2c17-8.8 57-13.2 93-13.3"/>
+    <path stroke-width=".7" d="M204.7 188.4c24 0 47 1.3 65.4 4.6 17.1 3.2 33.5 8 35.8 10.6l1.8 3.2c-5.7-3.7-19.8-7.9-38-11.3a367.2 367.2 0 00-65-4.5c-27 0-48 1.3-66 4.5-19 3.5-32.2 8.6-35.5 11l1.8-3.3c6.3-3.3 16.4-7.2 33.3-10.2 18.6-3.4 39.7-4.4 66.4-4.6zm0-9.6a371 371 0 0163.1 4.4c13.9 2.7 27.6 6.9 32.7 10.6l2.6 4.2c-4.5-5-21.4-9.7-36.4-12.3-17.4-3-39.1-4.2-62-4.4-24 0-46.2 1.5-63.4 4.6-16.4 3.2-27 6.9-31.5 9.8l2.3-3.6c6.2-3.2 16.2-6.2 28.8-8.7 17.3-3.1 39.7-4.6 63.8-4.6zm56 124.1a293.3 293.3 0 00-56-4.2c-69.9.8-92.4 14.3-95.2 18.4l-5.2-8.5C122 295.7 160 288.5 205 289.2c23.3.4 43.4 2 60.4 5.2l-4.8 8.5"/>
+    <path d="M204.3 297.5c19.4.3 38.5 1 57 4.5l-1.4 2.4a297.6 297.6 0 00-55.5-4.3c-25.8-.2-52 2.2-74.6 8.7-7.2 2-19 6.6-20.3 10.4l-1.3-2.2c.4-2.2 7.6-6.9 21-10.6 26-7.5 50.3-8.7 75-9zm.9-9.8a351 351 0 0161.1 5.3l-1.4 2.5a319 319 0 00-59.6-5.2c-25.9 0-53.3 1.9-78.3 9.1-8 2.4-22 7.4-22.4 11.4l-1.3-2.3c.3-3.6 12.3-8.4 23.2-11.6a285 285 0 0178.7-9.2z"/>
+    <path stroke-width=".7" d="M304.4 309.9l-8.4 13-24.1-21.4-62.6-42-70.5-38.8-36.7-12.5 7.8-14.5 2.7-1.4 22.8 5.7 75 38.7 43.3 27.3 36.3 26 14.8 17.1z"/>
+    <path stroke-width=".7" d="M100.8 208.5c6.5-4.3 53.7 16.7 103 46.5 49.3 29.9 96.4 63.6 92.2 70l-1.4 2.1-.7.5c.2 0 .9-1 0-3.3-2.2-6.9-35.5-33.5-91-67-54-32.2-99-51.6-103.5-46l1.4-2.8zm205.3 101.2c4-8-39.7-41-94-73.1-55.5-31.5-95.6-50-102.9-44.5l-1.6 3c0 .1 0-.2.4-.5 1.3-1.1 3.5-1 4.5-1 12.6.1 48.6 16.6 99 45.6 22.1 12.8 93.4 58.6 93.1 71.4 0 1.1.1 1.3-.3 1.9l1.8-2.8z"/>
+  </g>
+  <g transform="translate(-68.3 28.4) scale(1.13778)">
+    <path fill="#fff" stroke="#000" stroke-width=".7" d="M180.6 211a58.7 58.7 0 0017.5 41.7 59 59 0 0041.8 17.6 59.4 59.4 0 0042-17.4 59 59 0 0017.4-41.8v-79.2l-118.7-.2V211z"/>
+    <path fill="red" stroke="#000" stroke-width=".5" d="M182.8 211.1a56.4 56.4 0 0016.8 40 57 57 0 0040.2 16.8 56.9 56.9 0 0040.2-16.6 56.4 56.4 0 0016.7-40v-77H183v76.8m91-53.7v48.9l-.1 5.1a33.2 33.2 0 01-10 24 34 34 0 01-24 10c-9.4 0-17.7-4-23.9-10.2a34 34 0 01-10-24v-54l68 .2z"/>
+    <g id="e">
+      <g id="d" fill="#ff0" stroke="#000" stroke-width=".5">
+        <path stroke="none" d="M190.2 154.4c.1-5.5 4-6.8 4-6.8.1 0 4.3 1.4 4.3 6.9h-8.3"/>
+        <path d="M186.8 147.7l-.7 6.3h4.2c0-5.2 4-6 4-6 .1 0 4 1.1 4.1 6h4.2l-.8-6.4h-15zm-1 6.4h17c.3 0 .6.3.6.7 0 .5-.3.8-.6.8h-17c-.3 0-.6-.3-.6-.8 0-.4.3-.7.7-.7z"/>
+        <path d="M192 154c0-3.3 2.3-4.2 2.3-4.2s2.3 1 2.3 4.2H192m-5.8-9h16.3c.3 0 .6.4.6.8 0 .3-.3.6-.6.6h-16.3c-.3 0-.6-.3-.6-.7 0-.3.3-.6.6-.6zm.4 1.5H202c.3 0 .6.3.6.7 0 .4-.3.7-.6.7h-15.5c-.4 0-.6-.3-.6-.7 0-.4.2-.7.6-.7zm5-10.6h1.2v.8h.9v-.8h1.3v.9h.9v-1h1.2v2c0 .4-.2.6-.5.6h-4.4c-.3 0-.6-.2-.6-.5v-2zm4.6 2.7l.3 6.4h-4.3l.3-6.5h3.7"/>
+        <path id="a" d="M191 141.6v3.4h-4v-3.4h4z"/>
+        <use width="100%" height="100%" x="10.6" xlink:href="#a"/>
+        <path id="b" d="M186.3 139h1.2v1h.9v-1h1.2v1h.9v-1h1.2v2c0 .4-.2.6-.5.6h-4.3a.6.6 0 01-.6-.6v-2z"/>
+        <use width="100%" height="100%" x="10.6" xlink:href="#b"/>
+        <path fill="#000" stroke="none" d="M193.9 140.6c0-.6.9-.6.9 0v1.6h-.9v-1.6"/>
+        <path id="c" fill="#000" stroke="none" d="M188.6 142.8c0-.6.8-.6.8 0v1.2h-.8v-1.2"/>
+        <use width="100%" height="100%" x="10.6" xlink:href="#c"/>
+      </g>
+      <use width="100%" height="100%" y="46.3" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-45.2 312.8 180)" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" x="45.7" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 479.8 0)" xlink:href="#e"/>
+    <g id="f" fill="#fff">
+      <path fill="#039" d="M232.6 202.4a8.3 8.3 0 002.2 5.7 7.2 7.2 0 005.3 2.4c2.1 0 4-1 5.3-2.4a8.3 8.3 0 002.2-5.7v-10.8h-15v10.8"/>
+      <circle cx="236.1" cy="195.7" r="1.5"/>
+      <circle cx="244.4" cy="195.7" r="1.5"/>
+      <circle cx="240.2" cy="199.7" r="1.5"/>
+      <circle cx="236.1" cy="203.9" r="1.5"/>
+      <circle cx="244.4" cy="203.9" r="1.5"/>
+    </g>
+    <use width="100%" height="100%" y="-26" xlink:href="#f"/>
+    <use width="100%" height="100%" x="-20.8" xlink:href="#f"/>
+    <use width="100%" height="100%" x="20.8" xlink:href="#f"/>
+    <use width="100%" height="100%" y="25.8" xlink:href="#f"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pw.svg
new file mode 100644
index 0000000..83bc3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/pw.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pw" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M61.7 4.2h170.8V175H61.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-185 -12.5) scale(2.9973)">
+    <path fill="#4aadd6" d="M0 4.2h301.2V175H0z"/>
+    <path fill="#ffde00" d="M185.9 86.8a52 52 0 01-53 50.8 52 52 0 01-53.2-50.8c0-28 23.8-50.8 53.1-50.8s53 22.7 53 50.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/py.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/py.svg
new file mode 100644
index 0000000..88f55e6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/py.svg
@@ -0,0 +1,156 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-py" viewBox="0 0 512 512">
+  <path fill="#0038a8" d="M0 341h512v171H0z"/>
+  <path fill="#fff" d="M0 170.7h512v170.6H0z"/>
+  <path fill="#d52b1e" d="M0 0h512v170.7H0z"/>
+  <g fill="none" stroke="#000" transform="translate(-209) scale(1.55152)">
+    <circle cx="300" cy="165" r="42.2" stroke-width="1.1"/>
+    <circle cx="300" cy="165" r="34.7" stroke-width=".5"/>
+    <circle cx="300" cy="165" r="26.6" stroke-width=".4"/>
+  </g>
+  <path d="M221.6 281.3l-7.6 4.5-2.3-4a6.6 6.6 0 01-.8-1.7 2 2 0 01.2-1.3c.2-.5.5-.8 1-1.1a2.4 2.4 0 012.4-.1l.8.6a2.7 2.7 0 010-.7l.1-.6.3-.7 1.5-2.4 1.6 2.6-1.6 2.7a2 2 0 00-.3.8 1.1 1.1 0 00.1.6l.2.2 3-1.8zm-5.9.3l-.6-1a5 5 0 00-.4-.6.7.7 0 00-.5-.2.8.8 0 00-.5.1c-.3.2-.4.3-.5.6l.4 1 .6 1zm-7.1-5.9l-2.3-7 1.8-.5 1.4 4.3 1.3-.4-1.3-4 1.7-.6 1.3 4 1.7-.5-1.5-4.5 2-.6 2.3 7zm-3-10.3l-.6-4.5c0-1 0-1.8.5-2.3.4-.5 1-.9 1.9-1 .9 0 1.6.1 2.2.6.5.5.9 1.3 1 2.4l.2 1.4 3.2-.3.3 2.7zm3.4-3.1l-.1-.7c0-.5-.2-.9-.4-1a.9.9 0 00-.7-.3 1 1 0 00-.7.3c-.2.2-.2.6-.2 1.1l.1.8zm-3.7-13.5l.3-2.7 5.2.6c.5 0 1 .2 1.4.4.5.2.9.5 1.2.9l.6 1.2a4 4 0 010 1.9c0 .4 0 .9-.2 1.4 0 .5-.2.9-.5 1.2l-.8.8a2.8 2.8 0 01-1.1.5c-.6.1-1 .2-1.5.1l-5.2-.6.3-2.7 5.3.6c.5 0 .9 0 1.2-.3.3-.2.4-.6.5-1a1.5 1.5 0 00-.3-1.2c-.2-.3-.6-.4-1-.5zm1.1-6.4l1.7-4.9c.3-.8.7-1.3 1.3-1.6a2 2 0 011.7-.1 2 2 0 011.3 2c.4-.6.8-1 1.2-1a2 2 0 011.5 0 2.4 2.4 0 011.6 1.8v1l-.4 1.2-1.5 4.5zm4.2-1.5l.4-1.1c.2-.4.2-.7.1-1 0-.1-.2-.3-.5-.4a.8.8 0 00-.7 0l-.5.8-.4 1.2zm3.3 1.2l.5-1.4v-1a.8.8 0 00-.5-.5.8.8 0 00-.7 0c-.2.2-.4.5-.5 1l-.5 1.3zm-3.3-10.3l1.4-2.4 5.7 3.4 2.2-3.6 1.9 1.1-3.6 6zm5.4-8.1l1.7-2.1 6.8 5.6-1.8 2.1zm11.8-4.6l2.3-1c.3.6.5 1.2.5 1.8a3.3 3.3 0 01-.3 1.6 5 5 0 01-1.2 1.5 5.7 5.7 0 01-2 1.2c-.7.2-1.4.2-2.2 0a5 5 0 01-2.3-1.7c-1-1-1.4-2.2-1.3-3.3 0-1.1.6-2.1 1.7-3a4.5 4.5 0 012.4-1.2 4 4 0 012.5.6l-1.5 2a2 2 0 00-.6-.3 1.6 1.6 0 00-.7 0 1.6 1.6 0 00-.7.4c-.5.4-.7.9-.6 1.5 0 .4.3 1 .9 1.5.6.8 1.2 1.2 1.6 1.3.5 0 .9 0 1.3-.4s.6-.7.6-1.1c0-.4-.1-.9-.4-1.4zm9.4-3.4l-2.7 1.5.3 1.5-2.5 1.3-1.2-9.4 2.6-1.4 7.1 6.3-2.5 1.3zm-1.4-1.4l-2.3-2.3.6 3.2zm8.4-9l4-.7a4.8 4.8 0 012 0c.5.1.9.3 1.3.7.4.3.7.7 1 1.2l.4 1.7c.2 1 .2 1.7 0 2.2a3.6 3.6 0 01-.6 1.5 2.9 2.9 0 01-1 .9l-1.6.5-4 .7zm3 1.5l.8 4.7h.7c.5-.2 1-.3 1.1-.5.3-.1.4-.4.5-.7v-1.6c-.2-.9-.5-1.5-.8-1.8-.4-.3-1-.4-1.6-.2zm8.3-3l7.3.2v2l-4.6-.2-.1 1.4 4.2.1v1.8l-4.3-.1v1.7l4.7.2-.1 2-7.5-.3zm10.6.8l2.7.6-1.6 6.5 4.1 1-.5 2.1-6.8-1.6zm14.2 4.7l3.9 2.3c.9.5 1.4 1 1.6 1.7.1.7 0 1.4-.4 2.1a2.7 2.7 0 01-1.8 1.4c-.7.2-1.5 0-2.5-.6l-1.3-.7-1.6 2.8-2.4-1.4zm.5 4.6l.5.4 1.1.3a.9.9 0 00.6-.4 1 1 0 00.2-.8c-.1-.3-.3-.5-.8-.8l-.6-.4zm7.6 10.3l-2.3-2.1-1.3.8-2-2 8.4-4.1 2.2 2-3.6 8.7-2-2zm.9-1.8l1.4-3-2.8 1.7zm1 5.9l7.3-5 2.6 3.7 1 1.8-.1 1.3c-.2.4-.5.8-1 1.1a2 2 0 01-1.2.5 2.5 2.5 0 01-1.2-.2 3.3 3.3 0 01-.8-.6v1.4l-.3.6-1.4 2.5-1.7-2.5 1.4-2.7.3-.8c0-.2 0-.5-.2-.7l-.2-.2-3 2zm6-.7l.6 1 .5.4a.7.7 0 00.5.3c.1 0 .3 0 .5-.2a.8.8 0 00.4-.6l-.4-1-.7-1zm2.7 13.2l-1.2-2.9-1.5.1-1-2.5 9.4-.2 1 2.7-6.9 6.4-1-2.7zm1.5-1.2l2.6-2.1-3.3.2zm2.3 9.6l1.8-.3.7 4.2-3.8.6a8.6 8.6 0 01-1.4-2 7.4 7.4 0 01-.5-4.8c.3-.7.7-1.2 1.4-1.7a5.3 5.3 0 012.3-.9 5 5 0 012.6.2 3.9 3.9 0 011.9 1.5c.3.6.6 1.3.7 2.3a7 7 0 010 2.2 2.8 2.8 0 01-.5 1.3l-1.3 1-.9-2.6c.3-.1.5-.3.7-.6.1-.3.2-.7.1-1a1.8 1.8 0 00-.8-1.4c-.5-.3-1.2-.3-2-.2-1 .1-1.7.4-2 .8a1.9 1.9 0 00-.4 1.6l.3.9.6.8h.8zm5.8 12.8l-.3 2.7-5.2-.4a4.4 4.4 0 01-1.4-.4 3.2 3.2 0 01-1.2-.9 3 3 0 01-.6-1.1 5.5 5.5 0 01-.1-2c0-.4 0-.9.2-1.4l.4-1.2a3.2 3.2 0 01.9-.9 2.8 2.8 0 011-.5 5.3 5.3 0 011.6 0l5.2.4-.2 2.7-5.4-.5c-.5 0-.9 0-1.2.3-.3.3-.4.6-.5 1.1 0 .5 0 .8.3 1.1.3.3.6.5 1.1.5zm-9.8 9.4l1-3-1.2-.9.8-2.6 7.4 5.9-1 2.8-9.4.4 1-2.7zm2 0h3.3l-2.7-1.8zm3.2 7.2l-1.6 2.6H299l1.6 3-1.6 2.6-2.6-5.6-3.2-1.8 1.4-2.4 3.2 1.9z"/>
+  <g fill="#009b3a" stroke="#000" stroke-width=".1">
+    <path d="M265.2 225.4s24.9 10.8 20.5 33c-4.3 22.1-18.2 22-23.6 24.4-5.5 2.5-9.2 6-11.4 5.5-2.1-.5-5-2.2-5-2.2s-.2 3.7 4.2 4.3c4.4.7 10-5.7 12.9-6.4s19.6-2.6 23.8-25.1c4.8-24.1-21.3-32.8-21.4-33.5z"/>
+    <path d="M277.7 230.2a3.4.8 75.1 01-1.6 0 3.4.8 75.1 111.6 0zm-.8.2a3.5.8 63.3 11-1.5.5 3.5.8 63.3 011.5-.5zm-2.5 1.6a3.3.8 17 01-.2 1.7 3.3.8 17 01.2-1.7z"/>
+    <path d="M274.8 231.1a3.5.8 34.2 11-.8 1.4 3.5.8 34.2 11.7-1.4z"/>
+    <path d="M275.8 230.7a3.6.8 46.2 11-1 1 3.6.8 46.2 011-1z"/>
+    <path d="M277.5 233.8l-1.1.6c-.3.1-.6-.3-1.2 0-.6.4-1 1-1.2 1.3-.1.4.2.5 1 .2.7-.4 1-1 1.3-1.2.3-.3 1-.6 1.3-.7l1-1.5c.2-.4 1.2-1 1.6-1.9.3-.6.2-1.2-.3-1a4 4 0 00-1.2 1.4c-.3.5 0 1-.3 1.5l-.9 1.3zm7.8 2.6a1.1 5.1-1.6 11-2.4-.6 1.1 5.1-1.6 112.4.6z"/>
+    <path d="M284 236.3a5.3 1.1 77.5 11-2.3.1 5.3 1.1 77.5 112.3 0z"/>
+    <path d="M280 237.6a5 1.2 35 11-.8 2.3 5 1.2 35 11.8-2.4z"/>
+    <path d="M280.8 236.4a5.3 1.1 50.9 01-1.5 1.7 5.3 1.1 50.9 111.5-1.7z"/>
+    <path d="M282.4 236.3a5.4 1 61.8 11-1.9 1 5.4 1 61.8 111.9-1z"/>
+    <path d="M283.8 241.5l-1.9.4c-.3 0-.6-.7-1.6-.5-1 .2-1.8.9-2 1.3-.4.4 0 .8 1.2.6 1.2-.2 1.6-1 2.2-1.1l2.1-.4 1.8-1.7c.5-.5 2-1 2.8-2 .7-.8.7-1.6 0-1.5a5 5 0 00-2.1 1.4c-.5.6-.4 1.5-1 2l-1.5 1.5zm5.5 5.2a1.1 5.2 8.7 11-2.2-1 1.1 5.2 8.7 112.2 1z"/>
+    <path d="M288 246.4a1.1 5.4-2 11-2.1-.3 1.1 5.4-2 112.2.3z"/>
+    <path d="M284 246.8a5 1.2 46 11-1.2 2.2 5 1.2 46 111.1-2.2z"/>
+    <path d="M285 245.9a5.4 1.1 61.8 11-1.8 1.4 5.4 1.1 61.8 111.7-1.4z"/>
+    <path d="M286.5 246a5.5 1 72.5 11-2 .8 5.5 1 72.5 112-.8z"/>
+    <path d="M287 251.5h-2c-.3 0-.4-.8-1.4-.8-1 0-2 .5-2.3.9-.4.3 0 .8 1.1.8 1.2 0 1.8-.6 2.4-.7h2.1l2-1.3c.6-.4 2.3-.6 3.2-1.4.8-.6 1-1.5.3-1.4a5 5 0 00-2.4 1c-.6.4-.6 1.3-1.3 1.7l-1.8 1.2m2.7 6.7a1.1 5.2 31.3 01-1.6-1.8 1.1 5.2 31.3 011.6 1.8"/>
+    <path d="M288.6 257.4a1 5.4 20.6 01-1.9-1.2 1 5.4 20.6 011.9 1.2m-3.9-1.3a5 1.2 70 01-2 1.6 5 1.2 70 012-1.6"/>
+    <path d="M286 255.7a1 5.5-4.9 01-2.2.6 1 5.5-4.9 112.2-.6"/>
+    <path d="M287.4 256.5a1 5.5 5.5 11-2.2-.2 1 5.5 5.5 112.2.2"/>
+    <path d="M285.6 261.7l-1.7-.8c-.3-.2-.1-.9-1-1.3-1-.4-2-.4-2.4-.2-.5.2-.4.7.7 1.3 1 .5 1.8.1 2.4.4l2 .8 2.2-.4c.7 0 2.3.4 3.4 0 1-.2 1.5-1 .9-1.2a4.8 4.8 0 00-2.6-.1c-.7.2-1.1 1-1.8 1.2-.5 0-2 .4-2.1.3m1 8.2a1.3 5.9 48.5 11-1.2-2.6 1.3 5.9 48.5 111.1 2.6"/>
+    <path d="M285.6 268.7a1.3 6.2 37.5 11-1.6-2 1.3 6.2 37.5 111.6 2"/>
+    <path d="M281.8 265.8a1.3 6-3.5 11-2.6 1 1.3 6-3.5 112.6-1"/>
+    <path d="M283.3 265.8a1.3 6.3 11.6 01-2.5-.2 1.3 6.3 11.6 112.5.2"/>
+    <path d="M284.6 267.1a1.2 6.4 22.1 11-2.3-.9 1.2 6.4 22.1 112.3 1"/>
+    <path d="M281 272.3l-1.7-1.5c-.2-.3.2-1-.7-1.8a3.9 3.9 0 00-2.6-1c-.6 0-.6.6.4 1.6s2 .8 2.5 1.3a10 10 0 011.9 1.6l2.7.4c.7.1 2.3 1.3 3.7 1.3 1.2 0 2-.6 1.3-1.1a5.6 5.6 0 00-2.7-1c-.9 0-1.6.7-2.5.6l-2.4-.4m-2.4 7.8a1.5 6.5 79.8 11.3-3 1.5 6.5 79.8 11-.3 3"/>
+    <path d="M278.4 278.4a1.4 6.8 68.5 01-.5-2.8 1.4 6.8 68.5 01.5 2.8"/>
+    <path d="M276.1 273.5a1.5 6.5 26.2 01-3-.6 1.5 6.5 26.2 113 .6"/>
+    <path d="M277.7 274.4a1.4 6.9 41.8 01-2.4-1.6 1.4 6.9 41.8 012.4 1.6"/>
+    <path d="M278.1 276.4a1.4 7 52.7 11-1.7-2.2 1.4 7 52.7 011.8 2.2"/>
+    <path d="M271.8 279.2l-.7-2.3c-.1-.5.7-1 .3-2.2a4.5 4.5 0 00-2-2.5c-.5-.3-1 .3-.5 1.8.4 1.5 1.5 2 1.8 2.7l.8 2.6c.6.3 1.7 1.4 2.4 2 .7.5 1.6 2.5 3 3.3 1 .7 2 .6 1.8-.3a6.5 6.5 0 00-2.1-2.5c-.8-.6-2-.3-2.7-.9-.5-.4-2.1-1.6-2-1.7"/>
+    <path d="M268 285.9a1.9 6.5 89 010-3.8 1.9 6.5 89 010 3.8"/>
+    <path d="M267.1 280a1.8 6.8 37.6 01-2.8-2.4 1.8 6.8 37.6 112.8 2.4"/>
+    <path d="M268 283a1.9 6.6 66.5 01-1.3-3.5 1.9 6.6 66.5 011.3 3.5m1.8-57a4 .8 41.1 01-1.5.8 4 .8 41.1 111.5-.8m-2 1.7a4.1.8 8.2 01.3 1.7 4.1.8 8.2 11-.3-1.7"/>
+    <path d="M268.6 226.6a4.3.8 26.8 11-.8 1.4 4.3.8 26.8 01.8-1.4m-29.5 52.9s5.5 1.2 10.3 2.9c4.7 1.7 12 7.7 14 8 2.1.1 5.1-.6 6.3-3.8-3.4 1-5.4 2.3-8.6.5-1.1-.4-4.8-3.8-9-5.6a103 103 0 00-12.2-3.9l-.8 1.9m5.9-49.6l6.3-3.4-7 1.8-.8 1.2 1.5.4"/>
+    <path d="M251 231.4c-2.5-.4-6.3-1.3-8.7-1.5 1.7-1.8 4-4.9 5.4-6.8-1 1.8-2.4 4.2-3 6 1.7.9 4.4 1.6 6.3 2.3"/>
+    <path d="M243.8 230.3l5.6-4.4-6.5 3-.6 1.3h1.5"/>
+    <path d="M249.8 231.3c-2.5-.4-6.2-1.3-8.6-1.5 1.6-1.9 3.8-5 5.2-7-1 1.8-2.3 4.3-2.9 6.1 1.7 1 4.4 1.7 6.3 2.4"/>
+    <path d="M242.9 230.6l6.6-2.7-7.1 1.1-1 1.2 1.5.4"/>
+    <path d="M249 231.4c-2.4-.2-6.3-.7-8.7-.6 1.4-2.1 3.2-5.6 4.4-7.7-.7 2-1.8 4.6-2.1 6.5 1.8.8 4.5 1.3 6.5 1.8"/>
+    <path d="M242.2 230.7l4.5-5.5-5.7 4.2-.2 1.5 1.4-.3"/>
+    <path d="M249 231.8c-2.6 0-6.8-.3-9.3 0 1.3-2.5 2.8-6.4 3.8-8.8-.5 2.2-1.4 5.2-1.6 7.3 2 .7 5 1 7.1 1.5"/>
+    <path d="M241.3 232a321.4 321.4 0 015.4-5.3l-6.5 3.7-.5 1.5h1.6"/>
+    <path d="M247.8 232c-2.8 0-7.2-.2-10 .1 1.8-2.7 4.4-7 6-9.7-1 2.4-2.7 5.8-3.3 8 2 .8 5.1 1 7.3 1.5"/>
+    <path d="M239.5 232.3l7-5.9-8 4.2-.7 1.7h1.7"/>
+    <path d="M246.8 232.1c-2.8.4-7.2.9-10 1.6a129 129 0 004.5-10.3c-.6 2.5-1.7 6-2 8.3 2.1.4 5.2.3 7.5.4"/>
+    <path d="M238.6 233.5a498.6 498.6 0 015.3-7.4l-6.7 6-.3 1.9 1.6-.5"/>
+    <path d="M245.2 233c-2.8.3-7.2.5-10 1 1.6-2.7 3.8-7.2 5-10-.7 2.5-2 5.9-2.4 8.2 2 .5 5.2.5 7.4.8"/>
+    <path d="M237.6 234.3l6.8-6-7.7 4.2-.8 1.8h1.7"/>
+    <path d="M244.4 233.3c-2.9.6-7.3 1.3-10 2.2 1.3-2.9 3-7.6 4-10.5-.5 2.6-1.4 6-1.6 8.4 2.1.3 5.3-.1 7.6-.1"/>
+    <path d="M236.5 234.6l4.3-8.1-5.9 7v1.8l1.6-.7"/>
+    <path d="M244.4 233.8c-3 .7-7.8 1.8-10.7 2.9 1.1-3.3 2.4-8.6 3.2-11.9-.3 2.9-1 6.8-.8 9.4 2.3.2 5.8-.3 8.3-.4"/>
+    <path d="M235.6 236.4l5.5-8-7 6.5-.3 2 1.8-.5"/>
+    <path d="M243.2 234.7c-3 1-7.7 2.2-10.5 3.4 1-3.3 2-8.6 2.6-11.9-.2 2.9-.6 6.8-.4 9.3 2.4.1 5.8-.6 8.3-.8"/>
+    <path d="M234.5 237.6l4.2-9-6 7.8v2l1.8-.8"/>
+    <path d="M242 235.9c-3 .7-7.8 1.6-10.8 2.6 1.3-3.2 2.8-8.5 3.7-11.7-.4 2.9-1.2 6.7-1.2 9.3 2.4.3 5.8-.2 8.3-.2"/>
+    <path d="M233.5 238.5l6.8-7-8 5.2-.7 2 2-.2"/>
+    <path d="M240.7 237.1c-3 .4-7.8.8-10.7 1.6 1.4-3.2 3.2-8.3 4.3-11.5-.6 2.8-1.6 6.7-1.8 9.3 2.3.5 5.7.4 8.2.6"/>
+    <path d="M232.2 237.8l4.6-8.8-6.3 7.4v2l1.7-.6"/>
+    <path d="M241 236c-3.3 1.4-8.4 3.3-11.5 5 1-4 2-10.2 2.7-14-.1 3.3-.6 7.9-.3 10.8 2.7 0 6.4-1.2 9.2-1.7"/>
+    <path d="M231.5 240.4l5.6-10-7.3 8.5-.2 2.4 2-.9"/>
+    <path d="M239.8 237.3c-3.3 1.5-8.4 3.7-11.4 5.5.8-4 1.6-10.1 2.1-14 0 3.3-.2 7.9.2 10.7 2.7-.2 6.3-1.5 9-2.2"/>
+    <path d="M230.4 242l4-10.8-6 9.6.1 2.3 1.9-1.1"/>
+    <path d="M238.3 238.2c-3.2 1.6-8.3 3.8-11.3 5.6.8-4 1.6-10.1 2-14 .1 3.3-.1 7.8.3 10.7 2.6-.3 6.3-1.6 9-2.3"/>
+    <path d="M229.5 243.3l6.2-9.6-7.9 7.8-.3 2.4 2-.6"/>
+    <path d="M238 237.7c-2.8 2.3-7.4 5.7-10 8.3 0-4-.6-10.2-.9-14 .8 3.2 1.5 7.6 2.5 10.2 2.5-.9 5.9-3.1 8.5-4.5"/>
+    <path d="M229.8 243.7l.7-11.4-3 11 .8 2.2 1.5-1.8"/>
+    <path d="M237.2 238.8c-2.9 2.3-7.5 5.6-10 8.1 0-4-.6-10-.9-13.9.7 3.2 1.4 7.6 2.4 10.2 2.6-.9 6-3.1 8.5-4.4"/>
+    <path d="M229 245.6a633.9 633.9 0 013-11.1l-5 10.2.3 2.3 1.8-1.4"/>
+    <path d="M236.9 239c-2.7 2.7-7.1 6.7-9.5 9.6-.5-4-1.7-10.3-2.4-14.1 1 3.1 2.3 7.5 3.6 10.1 2.6-1.2 5.8-3.9 8.3-5.6"/>
+    <path d="M229 247l.6-11.8-2.9 11.5.9 2.2 1.5-1.8"/>
+    <path d="M236 241c-2.9 2.4-7.5 6-10.2 8.7 0-4.2-.8-10.5-1.2-14.5.9 3.3 1.7 7.8 2.8 10.5 2.6-1 6-3.3 8.6-4.7"/>
+    <path d="M228.2 248.4l4.1-11.2-6.2 10 .2 2.4 1.9-1.2"/>
+    <path d="M236 241c-2.6 2.8-6.7 6.9-9 9.8-.4-4.1-1.6-10.4-2.3-14.3 1 3.1 2.2 7.6 3.5 10.2 2.4-1.2 5.4-4 7.8-5.7"/>
+    <path d="M228.4 249l-.5-11.8-2 11.7 1.2 2 1.3-2"/>
+    <path d="M234.7 242c-2.5 2.7-6.5 6.8-8.7 9.8-.5-4.2-1.9-10.5-2.7-14.4 1.1 3.2 2.4 7.7 3.8 10.3 2.3-1.3 5.3-4 7.6-5.8"/>
+    <path d="M227.7 250.2l1.3-12-3.5 11.3.7 2.3 1.5-1.6"/>
+    <path d="M234.2 242.4c-2.3 3-6 7.5-8 10.6-.8-4-2.6-10.2-3.7-14 1.3 3 3 7.4 4.5 9.9 2.2-1.5 5-4.6 7.2-6.5"/>
+    <path d="M227.6 251.3l-.7-12-1.5 11.9 1 2 1.2-2"/>
+    <path d="M234 243c-2.2 3.2-5.7 8-7.5 11.2-1-4-3.2-10.1-4.5-13.9 1.5 3 3.4 7.3 5 9.7 2.2-1.6 4.8-4.8 7-7"/>
+    <path d="M228.4 252.4l1.2-12-3.4 11.3.7 2.4 1.5-1.7"/>
+    <path d="M233.5 244.2c-1.9 3.4-4.9 8.6-6.4 12.1-1.4-3.9-4-9.6-5.7-13.2 1.8 2.8 4 6.8 5.9 9 2-2 4.3-5.5 6.2-8"/>
+    <path d="M228 253.4l-3.4-11.4 1.1 12 1.6 1.7.7-2.3"/>
+    <path d="M233.4 245.5c-2 3.4-5 8.6-6.6 12.1-1.5-3.9-4.1-9.6-5.8-13.2 1.8 2.8 4 6.8 6 9 2-2 4.5-5.5 6.4-7.9"/>
+    <path d="M228.1 255.6l-1.2-12-1.1 12 1.2 2 1.1-2"/>
+    <path d="M233.6 246.6c-2 3.4-5.2 8.4-6.8 11.9-1.4-3.9-4-9.7-5.6-13.3 1.8 2.8 4 6.8 5.8 9 2.2-1.8 4.6-5.3 6.6-7.6"/>
+    <path d="M228 256.5l-2.2-11.8-.1 12.1 1.3 1.9 1-2.2"/>
+    <path d="M232.8 248.3c-2.2 3.2-5.6 8-7.4 11.4-1.2-4-3.5-10-5-13.6 1.7 2.9 3.7 7 5.4 9.4 2.2-1.8 4.9-5 7-7.2"/>
+    <path d="M227 257.8l1-12-3.3 11.4.8 2.3 1.5-1.7"/>
+    <path d="M232.9 248.6c-1.8 3.5-4.8 8.8-6.3 12.3-1.5-3.8-4.4-9.4-6.2-12.9 2 2.7 4.3 6.6 6.3 8.6 2-2 4.3-5.6 6.2-8"/>
+    <path d="M226.6 258.8l-3.7-11.2 1.4 12 1.6 1.6.7-2.4"/>
+    <path d="M232.4 249.5c-1.3 3.8-3.4 9.7-4.4 13.5-2-3.4-5.7-8.3-8-11.3 2.3 2.2 5.2 5.5 7.5 7 1.7-2.3 3.4-6.4 4.9-9.2"/>
+    <path d="M229.9 259.8l-4-11.1 1.7 11.9 1.6 1.5.7-2.4"/>
+    <path d="M232.4 250.7c-1.3 3.8-3.4 9.7-4.3 13.5-2-3.4-5.8-8.2-8-11.2 2.2 2.2 5.1 5.4 7.4 7 1.7-2.4 3.4-6.5 4.9-9.3"/>
+    <path d="M229.9 261.6l-5.2-10.3 3 11.5 1.8 1.3.4-2.5"/>
+    <path d="M232 251.6c-.8 4-2.2 10.1-2.7 14-2.5-3-6.7-7.3-9.3-10 2.5 2 5.8 4.7 8.2 6 1.4-2.7 2.6-7 3.8-10"/>
+    <path d="M230.2 263.3l-2.7-11.7.4 12.1 1.5 1.8.8-2.2"/>
+    <path d="M232 252.9c-.4 4-1.3 10.3-1.3 14.3-2.8-2.7-7.4-6.4-10.2-8.7 2.7 1.5 6.2 3.9 8.7 4.8 1.1-2.8 2-7.3 2.8-10.4"/>
+    <path d="M230.4 264.1l-7.4-8.4 5.6 10.2 2 .7-.2-2.5"/>
+    <path d="M232.2 254.3c-.5 4-1.4 10.3-1.4 14.3-2.8-2.7-7.4-6.4-10.2-8.7 2.7 1.5 6.2 3.9 8.7 4.8 1.2-2.8 2-7.2 2.9-10.4"/>
+    <path d="M231.2 266a602.2 602.2 0 01-5.7-10l3.6 11.3 1.9 1.2.2-2.4"/>
+    <path d="M232.5 256c-.3 4-.9 10.4-.8 14.4-2.9-2.6-7.6-6-10.5-8.1 2.7 1.3 6.3 3.5 8.9 4.2 1-2.9 1.6-7.3 2.4-10.5"/>
+    <path d="M232 268c-.2 0-7-9-7-9l5 10.6 2 .8V268"/>
+    <path d="M232.6 257.9c-.3 4-.8 10.4-.7 14.4a128 128 0 00-10.6-8c2.7 1.3 6.4 3.4 9 4.1 1-2.9 1.5-7.3 2.3-10.5"/>
+    <path d="M232.6 269.4l-5-10.6 2.8 11.6 1.7 1.5.5-2.5"/>
+    <path d="M232.8 259c0 4.2.1 10.6.6 14.5-3-2-8.1-4.9-11.2-6.6 2.8 1 6.6 2.7 9.2 3 .7-3 1-7.5 1.3-10.8"/>
+    <path d="M233.4 269l-9-6.1 7.6 8.3 2.1.2-.7-2.4"/>
+    <path d="M233 259.5c.4 4.1.7 10.5 1.4 14.4a128 128 0 00-11.5-6.1c2.8.8 6.7 2.3 9.3 2.6.6-3 .6-7.6.8-10.9"/>
+    <path d="M234.4 271.3l-7.5-8.6 5.7 10.3 2 .8-.2-2.5"/>
+    <path d="M233.7 261c.5 4.2 1.1 10.5 2 14.4-3.3-1.8-8.5-4-11.8-5.5 3 .7 6.8 2 9.5 2.1.4-3 .2-7.6.3-11"/>
+    <path d="M235.8 272.7l-8.8-6.2 7.5 8.5h2l-.7-2.3"/>
+    <path d="M234 262.8c.8 4 1.8 10.3 2.9 14.2-3.4-1.6-8.7-3.3-12-4.4 2.9.4 6.9 1.3 9.5 1.2.2-3.1-.3-7.6-.4-11"/>
+    <path d="M236.8 274l-7.3-8.7 5.5 10.4 2 .8-.2-2.5"/>
+    <path d="M234.4 264c1.2 3.9 2.8 10 4.3 13.7-3.5-1-9-2.1-12.3-2.8 2.9 0 6.9.4 9.5 0 0-3.2-1-7.6-1.5-11"/>
+    <path d="M237.2 274l-10.2-2.2 9.7 4.8 2-.7-1.5-1.9"/>
+    <path d="M235.1 265.2c1.2 3.9 2.8 10 4.2 13.7-3.5-1-9-2.1-12.3-2.8 2.9 0 7 .4 9.5 0 0-3.2-1-7.6-1.4-11"/>
+    <path d="M238.9 275c0 .2-9.8-4.7-9.8-4.7l8.8 7.2 2-.2-1-2.2"/>
+    <path d="M234.6 265.9c2 3.5 4.8 9.2 7 12.5-3.6-.3-9.2-.1-12.6 0 2.8-.7 6.8-1.2 9.2-2.2-.6-3-2.5-7.2-3.6-10.3"/>
+    <path d="M240.4 276.1l-10.2-2.8 9.6 5.4 2-.6-1.4-2"/>
+    <path d="M235.7 267.4c2 3.5 4.8 9.2 7 12.4-3.6-.2-9.2 0-12.6.2 2.9-.7 6.9-1.3 9.3-2.3-.8-3-2.6-7.2-3.8-10.3"/>
+    <path d="M241.7 277l-9.5-5.7 8.3 8h2.2l-1-2.3"/>
+    <path d="M236.4 268.3c2.3 3.3 5.7 8.6 8.2 11.6-3.6.2-9 1.2-12.4 1.8 2.8-1 6.6-2.2 8.9-3.6-1-3-3.3-6.8-4.7-9.8"/>
+    <path d="M242.4 277.8l-10.2-.2 10.1 3 1.8-1.1-1.7-1.7m6-49.6l7.3-1.3-7.3.2-1.3.7 1.3.4"/>
+    <path d="M252.4 229.7c-2.1-.6-5.4-1.7-7.6-2.2a97 97 0 008-3.6c-1.7 1-4 2.4-5.3 3.4 1.2.8 3.4 1.7 5 2.4"/>
+    <path d="M248 228.4l7.2-2-7.4 1-1.1.8 1.3.2"/>
+    <path d="M252.8 230.3c-2.5-.3-6.4-.8-8.8-.8 1.8-1.6 4.4-4.4 6-6-1 1.5-2.8 3.6-3.5 5.1 1.7.7 4.4 1.1 6.3 1.7"/>
+    <path d="M245.4 229l7.4-1-7.2-.1-1.4.6 1.2.4"/>
+    <path d="M250.9 230.5c-2.3-.4-5.7-1.2-8-1.4 2.1-1 5.3-3 7.3-4-1.5 1-3.6 2.5-4.7 3.5 1.4.7 3.7 1.3 5.4 2"/>
+    <path d="M244.8 228.8l6.5-2.8-7.2 2-.8.8h1.5"/>
+    <path d="M250.7 231.4c-2-.8-4.8-2.1-6.7-2.7 1.5-1.3 3.5-3.7 4.8-5.1-1 1.4-2.3 3.3-2.8 4.7 1.2 1 3.2 2.1 4.7 3"/>
+    <path d="M245.1 229.3l5.1-2.2-5.5.8-.7 1 1.1.4M241 277h-10.6l10.7 2.7 1.8-1.2-2-1.5"/>
+    <path d="M242.8 277.6L232 275l10.3 5 2-.6-1.6-2"/>
+    <path d="M244.5 278.3l-10.6-.6 10.6 3.3 1.8-1-1.8-1.7"/>
+    <path d="M237.8 270.8c2.7 3 6.9 7.9 9.8 10.6-3.6.5-9 2-12.2 2.8 2.6-1.2 6.3-2.7 8.4-4.2-1.4-2.8-4.2-6.4-6-9.2"/>
+    <path d="M246 278.8l-10.6-3.5 10 6 2-.5-1.4-2"/>
+    <path d="M238.8 271.5c3 2.7 7.5 7.1 10.6 9.5-3.4 1-8.5 3.1-11.6 4.4 2.4-1.6 6-3.5 7.8-5.3-1.6-2.7-4.8-6-6.8-8.6"/>
+    <path d="M246.8 279.5l-10 2 10.6.7 1.5-1.5-2-1.2"/>
+    <path d="M244.8 278.8l-10.5.8 10.8 1.9 1.7-1.3-2-1.4"/>
+    <path d="M246.7 279.4l-10.9-1.7 10.7 4.3 2-.8-1.8-1.8z"/>
+    <path d="M248.5 280l-10.6.2 10.8 2.4 1.7-1.1-2-1.5z"/>
+    <path d="M241.2 273c3 2.8 7.5 7.4 10.6 9.8-3.6.8-8.8 2.6-12 3.7 2.5-1.4 6.1-3 8.1-4.7-1.6-2.8-4.7-6.2-6.7-8.8z"/>
+    <path d="M250 280.4l-10.8-2.7 10.4 5.2 2-.6-1.6-1.9z"/>
+    <path d="M242.2 273.6c3.3 2.5 8.1 6.6 11.4 8.7a168 168 0 00-11.3 5.2c2.3-1.7 5.7-3.9 7.4-5.8-1.8-2.6-5.2-5.6-7.5-8.1z"/>
+    <path d="M251 281l-10 2.7h10.7l1.3-1.6-2-1z"/>
+  </g>
+  <path fill="#fedf00" stroke="#000" stroke-width=".5" d="M264.6 266.1l-8.1-5.6-8 5.6 3-9-7.1-5.5h9l3.1-9 3 9h9.1l-7 5.6 3 9z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/qa.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/qa.svg
new file mode 100644
index 0000000..0bf30ea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/qa.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-qa" viewBox="0 0 512 512">
+  <path fill="#8d1b3d" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0v512h113l104.2-28.4L113 455l104.2-28.4L113 398.2l104.2-28.4L113 341.3 217.2 313 113 284.4 217.2 256 113 227.6 217.2 199 113 170.7l104.2-28.5L113 113.8l104.2-28.5L113 57l104.2-28.4L113 0H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/re.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/re.svg
new file mode 100644
index 0000000..027c9f3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/re.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-re" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ro.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ro.svg
new file mode 100644
index 0000000..994992a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ro.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ro" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#00319c" d="M0 0h170.7v512H0z"/>
+    <path fill="#ffde00" d="M170.7 0h170.6v512H170.7z"/>
+    <path fill="#de2110" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/rs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/rs.svg
new file mode 100644
index 0000000..3270f30
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/rs.svg
@@ -0,0 +1,296 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-rs" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path d="M54.3 32h480v480h-480z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-57.9 -34.1) scale(1.06667)">
+    <path fill="#fff" d="M-32 32h720v480H-32z"/>
+    <path fill="#0c4076" d="M-32 32h720v320H-32z"/>
+    <path fill="#c6363c" d="M-32 32h720v160H-32z"/>
+    <g transform="matrix(.53333 0 0 .53566 -32 31.8)">
+      <path fill="#21231e" d="M473.4 259.4v-.2h1v.2l-.5.5-.6-.6zm1 0v.5h-.5l.4-.6zm-93 5.2l-1 .2.3-.6 4.2-.2 4-.3 4-.2 3.8-.3 4-.2 3.6-.3 3.7-.2 3.7-.2 3.5-.2h3.4l3.3-.3 3.2-.2 3.2-.2 3-.2h3l3-.2 3-.2 2.7-.2h2.8l2.7-.2 2.5-.2h2.5l2.4-.3h2.2l2.2-.2h2.2l2-.2h2l2-.2h5.3v1h-5.5l-1.8.2h-2l-2 .2h-2.2l-2.2.2-2.4.2h-2.4l-2.5.2-2.5.2H446l-2.8.3h-2.8l-3 .3-2.8.2h-3l-3 .3-3.3.2-3.3.2-3.3.2h-3.5l-3.5.3-3.6.2-3.5.3-3.8.2-3.8.2-4 .3-4 .2-4 .3-4.2.2.5-.6zm-1 .2l-.3-.5h.7l-.4.5zm6.4 31l-6.5-31 1-.2 6.5 31-.5.7-.5-.4zm.5.5h-.4l-.2-.4.5.3zm95-4l-.2 1h.2-5.8l-3 .2h-3l-2.8.2h-3l-3 .2h-6l-3 .2h-3l-3 .2h-3l-3 .2h-3.2l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-2.8.2h-5.8l-2.7.2h-2.7v-1h5.8l2.7-.2h5.8l3-.2h3l2.8-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3.2l3-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3l2.8-.2h3l2.8-.2h.2zm-.2 0h.2zm94.5 3.4l1 .2-.5.3h-2.8l-2.8-.2h-8.8l-2.8-.2h-3l-3-.2H551l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3.2-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2H485l-3-.2.2-1h2.8l3 .2h3l2.8.2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3.2l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h5.8l2.7.2h3l2.7.2h2.8l-.5.5zm1 .2v.3h-.5l.5-.4zm6.5-31.2l-6.5 31h-1l6.5-31.2.6-.4.4.6zm-.4-.6h.5v.6l-.4-.6zm-93.7-4.8h1l-.6-.5h5.4l2 .2h2l2 .2h2l2.4.2h2.4l2.4.3h5l2.6.3h2.7l3 .3 2.8.2h3l3 .3 3 .3 3.3.2 3.3.2 3.4.2h3.4l3.6.3 3.6.2 3.7.2 3.6.3 4 .2 3.8.3 4 .2 4 .3 4.2.2v1l-4.3-.2-4-.3-4-.2-4-.3-3.7-.2-3.8-.2-3.6-.3-3.6-.2-3.5-.2h-3.4l-3.3-.3-3.3-.2-3.2-.2-3-.2h-3l-3-.2-3-.2h-2.7l-2.6-.3h-2.6l-2.6-.3h-2.5l-2.4-.2-2.3-.2h-2.2l-2.2-.2h-2l-2-.2h-2l-1.8-.2h-3.3l-.5-.6zm.4.5h-.5v-.6l.4.5zm.5-.8v.2h-1v-.2l.3-.5.6.5zm-1 0v-.4h.3l-.4.4zm-8 .3l.2-1h8.8l.3.2v.8h-.5v.2h-.3l-.2-1h.2v.7h.2-8.2zm.2 0zm-8.3.2v-1l-.2 1h-.4l-.2-.2-.3-.3v-.5l.2-.2h9.4v1h-8.8l.2-.2v-.8h-.2.4v1zm0-1v1l-.6-.5.5-.5zm-.6.5v-.5h.5l-.6.5z"/>
+      <path fill="#edb92e" d="M583.5 264.2c3.2-6.6 6.7-13 11.2-18.7-11.7 8.8-18 7.5-18.7-4-.7-.2-1.7-.2-2.6-.2-9 14-17.7 12-26.2-5.8-11.5 18.4-21.4 18-29.2-1-13.3 16.6-24.5 16.7-33.6.2v-2c.5.2 0 .3-1 0l-.3-.3a69.3 69.3 0 01-1 .2c-.2 0-.5 0-.8-.2l-.2.4c-1.2.2-1.6 0-1 0v2c-9.2 16.4-20.4 16.3-33.7-.4-7.8 19-17.7 19.5-29.2 1-8.4 18-17 20-26 6-1 0-2 0-2.7.2-.8 11.4-7 12.7-18.8 4 4.6 5.5 8 12 11.3 18.6 34-1.4 67.6-3.2 101.3-5 34 1.8 67.6 3.6 101.5 5z"/>
+      <path fill="#21231e" d="M595 246l-.6-1 .7 1-.3.4-.4.5-.4.4-.5.6-.4.5-.3.6-.4.6-.4.6-.5.5-.3.6-.4.6-.4.4-.3.6-.3.6-.3.6-.4.6-.3.5-.3.6-.4.5-.3.6-.3.7-.4.6-.3.6-.3.5-.3.6-.2.8-.3.6-.4.6-.2.6-.3.6-.3.6-.3.6-1-.4.3-.6.3-.7.3-.6.2-.5.4-.6.3-.7.2-.6.3-.6.3-.6.4-.6.3-.6.3-.6.3-.6.5-.6.3-.6.4-.6.3-.6.4-.5.2-.5.4-.6.4-.7.3-.6.4-.5.4-.6.5-.6.4-.5.3-.6.4-.6.4-.6.5-.5.4-.6.4-.5.7.7zm-19.2-4l.3-1 .5.5v1l.2 1v1l.3.7.2.8.3.7.3.7.2.6.4.5.3.5.4.4.5.3.4.3.4.3.5.2h.4l.5.2h1.9l.7-.2.7-.2.8-.3.8-.3.8-.3 1-.5.8-.6 1-.5 1-.7 1-.7 1-.7 1-1 .7 1-1 .7-1 .8-1 .7-1 .6-1 .5-1 .5-1 .5-.8.4-1 .3-.7.3-.8.2h-.8l-.8.2h-2l-.7-.3-.5-.2-.6-.3-.5-.5-.6-.4-.5-.4-.5-.5-.3-.5-.4-.7-.3-.7-.2-.7-.3-.8-.2-1v-.8l-.2-1v-1l.2.3zm.3-1l.4.2v.3l-.3-.4zm-2.2.6l-.8-.6.4-.2h2v.2h.4l-.2 1h-1.2v-.2h-1.2l.4-.2zm-.8-.6v-.2h.4l-.4.2zm-25.3-5.2l-1-.6h1l.8 1.7.8 1.4.8 1.5.8 1.2.8 1.2.8 1.2.8 1 .8 1 .8.8.8.8.8.7.7.5 1 .4.7.3.8.3.7.3h2.3l.8-.2.8-.2.8-.3.8-.4.8-.6.8-.6.8-.7.8-.6 1-1 .7-1 .8-1 .8-1 1-1.4.8.6-.8 1.3-1 1-.7 1.2-1 1-.7 1-1 .7-.8.6-.8.6-1 .6-.7.4-1 .4-.8.2-1 .2h-3l-1-.4-.7-.3-1-.5-.7-.5-1-.6-.7-.7-1-.8-.8-1-.8-1-.8-1-.8-1.2-.8-1.3-.8-1.3-.8-1.5-.8-1.6-.8-1.7h1zm-1-.6l.6-.7.4.8h-1zm-28.3-.5l-.8-.6 1 .2.6 1.7.7 1.5.7 1.5.8 1.4.7 1.3.8 1.2.8 1 .8 1 .8.7.8.7.8.6 1 .5.7.4.8.2 1 .2h2.5l1-.3.8-.2 1-.4.8-.6 1-.7 1-.6 1-1 1-1 1-1 1-1.2 1-1.3 1-1.6 1-1.5 1.2-1.8 1 .6-1.2 1.7-1 1.5-1.2 1.5-1 1.3-1 1.3-1 1.2-1.2 1-1 1-1 .8-1 .7-1 .6-1 .4-1 .4-1 .4h-3l-1-.2-1-.3-.8-.6-1-.5-.8-.8-1-.8-.7-.8-1-1-.8-1-.8-1.3-.8-1.4-.8-1.5-.8-1.5-.7-1.7-.8-1.7h1zm-.8-.6l.5-.6.5.8h-1zm-33.8.7h1v-.2l.8 1.5 1 1.4.8 1.2 1 1.2.8 1 1 1 .8 1 1 .8.8.7 1 .6 1 .4 1 .4.8.3 1 .3 1 .2h2l1-.2 1-.3 1-.3 1.2-.4 1-.6 1.2-.6 1-.6 1.3-.8 1-1 1.3-1 1.2-1 1-1.3 1.4-1.3 1.2-1.4 1.2-1.5.8.7-1.3 1.5-1 1.5-1.3 1.3-1.2 1.3-1.2 1-1.2 1-1 1-1.3 1-1.2.7-1 .6-1.3.6-1 .5-1.3.3-1.2.3h-1l-1.2.2h-1l-1.2-.2-1-.2-1-.3-1-.4-1-.5-1-.7-1-.6-1-1-1-.8-1-1-1-1.2-.8-1.2-1-1.3-.8-1.5-1-1.5v-.3zm0 .3v-.3.3zm1-2.3v2h-1v-2l.8-.5.3.5zm-1 0v-.8l.8.2-.8.5zm-1 .3l1-.4-.4-.3h1l-.2.2v.4l.4-1h.2v.2l.2.2v.6h-1.8l-.5-.3zm.5.3h-.3v-.3l.3.3zm.3-1l.2.3-1 .4v-.4l.2-.7.6.2zm-.6-.4l.4-.2.2.4-.6-.3zm-1 1l.2-1h.8l.2 1h-1zm.2 0zm-.6-.4l-1-.4.7-.3h.8v1h-1l.4-.4zm-1-.4l.3-.4h.3l-.6.4zm0 .4v-.4l1 .4-.2.4-.4.3-.5-.7zm.8.4v.3h-.4l.4-.3zm-1-.3h-1l.7.4v.2h.2v-.8h-.2.2l.2-.2h.4l.2 1h-1.9v-.2h-.2v-.5h.2v-.2h.2l.8.4zm-.7-.5l.7-.3v.7l-.7-.5zm-.3 2.5v-2h1v2.3l-1-.3zm1 0v.2-.3zm-33.6 0l-1-.5h1l1 1.4 1.3 1.4 1.3 1.3 1.2 1.2 1.2 1 1.2 1.2 1 1 1.2.7 1 .7 1.2.7 1 .6 1.2.4 1 .3 1 .3h1l1 .2h1l1-.2 1-.2 1-.2 1-.4 1-.5 1-.7.8-.7 1-.8.8-1 1-1 .8-1 1-1.2.8-1.2.8-1.4 1-1.5.8.5-1 1.5-.8 1.4-1 1.2-.8 1.2-1 1.2-1 1-.8 1-1 .8-1 .7-1 .8-1 .5-1 .4-1 .4-1 .3-1.2.2h-2.2l-1-.2-1.3-.3-1-.3-1.2-.5-1-.6-1.2-.6-1.2-.8-1.2-.8-1.2-1-1.2-1-1.2-1-1.2-1.4-1.2-1.3-1.3-1.5-1-1.5h.8zm-1-.5l.3-.8.7.7-1 .2zm-28.3 1.5l-1-.4h1l1 1.6 1 1.4 1.2 1.5 1 1.2 1 1.2 1 1 1 1 1 1 1 .7 1 .8 1 .6.8.4 1 .3.8.4h2.8l.8-.2.8-.3.8-.5 1-.5.7-.6 1-.7.7-.8.8-1 .8-1 .8-1.3.8-1.3.8-1.4.8-1.5.7-1.6.8-1.8 1 .4-.8 1.7-.7 1.7-.8 1.5-.8 1.4-.8 1.3-1 1.2-.7 1-1 1-.7 1-1 .7-.8.7-1 .4-.8.5-1 .2-1 .2h-3l-1-.3-1-.3-1-.4-1-.6-1-.7-1-.8-1-1-1-1-1-1-1-1.4-1-1.3-1.2-1.5-1-1.5-1.2-1.7h1zm-1-.4l.5-.8.5.7h-1zm-25.6 6.5v-1l.3.2 1 1.3.7 1.2.8 1 .8 1 .8.8 1 .8.7.8 1 .6.7.5.7.3.8.3.8.2.8.2h2.3l.8-.4.8-.3.8-.4.7-.5 1-.6.7-.8.8-.8.8-.8.8-1 1-1 .7-1.2.7-1.2.8-1.3.8-1.6.8-1.5.8-1.7 1 .4-1 1.7-.7 1.5-1 1.4-.7 1.3-.8 1.3-.8 1.2-.8 1-1 1-.8 1-.8.8-.8.7-1 .6-.7.5-1 .5-1 .3-.7.3h-2.6l-1-.2-.8-.2-1-.4-.8-.4-1-.6-.8-.6-.8-.7-1-1-.7-.8-1-1-.8-1-1-1.3-.7-1.4.4.2zm0-1h.2v.2l-.3-.2zm-2.2.8h-1l.4-.5h1.2v-.2h1.5v1H389v.2h-.4l.2-.4zm-1 0v-.4h.4l-.4.3zm-18 3.6l-.6.7.6-1 1 1 1.2.6 1 .7 1 .6 1 .4.8.5 1 .4.7.3.8.3.8.3.8.2h.7l.7.2h1.7l.4-.2.5-.2.4-.3.4-.3.4-.3.4-.4.3-.5.2-.5.3-.6.3-.7.3-.7.3-.8v-.8l.3-1v-.8l.2-1h1v1l-.2 1-.2 1-.2 1-.2.7-.2.8-.3.8-.4.7-.2.6-.5.6-.4.5-.6.5-.5.4-.7.2-.6.2-.6.2h-3.3l-.8-.3-.8-.3-1-.3-.8-.4-1-.5-.8-.5-1-.5-1-.6-1-.7-1-.8-1.2-.8.7-.8zm11 18.5v1l-.4-.3-.3-.6-.2-.6-.3-.6-.3-.6-.4-.6-.3-.6-.3-.7-.3-.5-.4-.6-.4-.7-.3-.6-.4-.6-.3-.5-.4-.6-.4-.7-.4-.5-.3-.6-.4-.6-.4-.6-.4-.6-.3-.5-.4-.7-.3-.6-.3-.5-.4-.6-.4-.5-.4-.5-.4-.5-.4-.6-.4-.5-.4-.6-.4-.5.7-.8.4.5.4.6.4.5.4.6.4.5.4.5.4.5.4.6.4.6.4.5.3.6.4.6.4.5.4.6.4.6.3.6.5.6.3.6.3.6.5.6.3.6.3.6.5.6.3.7.3.7.4.6.3.6.4.5.4.6.3.7.3.7.3.6-.5-.3zm0 1h-.3v-.3l.4.3zm101.4-6v1l-3.2.2h-3.2l-3 .3h-3.3l-3 .3-3.3.2H460l-3 .3-3.3.3h-3.2l-3 .3H444l-3 .3h-3.3l-3.3.2-3 .2h-3.3l-3.2.3h-3l-3.3.3-3.3.2h-3l-3.3.3h-3.2l-3 .2-3.3.2h-3.3l-3.2.2h-3l-3.3.3H384l-3 .2-.2-1h3.2l3.2-.3h3l3.3-.2 3.2-.2h3l3.3-.3h3.2l3-.3h3.3l3.2-.3h3l3.3-.2h3.2l3-.3h3.3l3.2-.3 3-.2h3.3l3.2-.3h3l3.3-.3 3.2-.2h3l3.3-.3 3-.3h3.3l3.2-.3 3-.2h3.3l3.2-.3 3-.3h.2zm0 0zm101.2 5v1h-3l-3.3-.2-3-.2h-3.3l-3-.3h-3.3l-3.2-.3h-3l-3.3-.2-3.3-.2h-3l-3.3-.3-3.2-.2h-3l-3.3-.3h-3.3l-3-.3h-3.3l-3.2-.3-3-.3h-3.3l-3.3-.3h-3l-3.3-.3h-3l-3.3-.2-3-.2-3.2-.2h-3.2l-3.2-.3h-3l-3.3-.2.2-1h3l3.3.3 3.2.2 3 .2 3.3.2h3l3.3.3h3.2l3 .2 3.3.2 3.2.2h3l3.3.3h3l3.3.2 3.2.2h3l3.3.3h3.3l3 .3h3.3l3.2.3h3l3.3.3h3.3l3 .3h3.3l3.2.2h3.2l3 .2 3.3.2h3.2zm0 1zm0 0v-1l.5.7-.6.3zm.5-.3l-.2.3h-.4l.5-.3z"/>
+      <path fill="#edb92e" d="M505 276.2l-23 11.4-22.6-11.4 22.7-11.5z"/>
+      <path fill="#edb92e" d="M474 259.2v.2c-17.6.7-48.6 2.5-93.2 5.3l6.5 31c29.6-.8 64.3-2 94.8-3 30.7 1 65.3 2.2 95 3l6.5-31c-44.6-2.8-75.6-4.6-93-5.3v-.2c1.7-.4-1-.4-8.4-.2-7-.2-10-.2-8 .2z"/>
+      <path fill="#edb92e" d="M597.3 236.7l-3.7-.6c-7 17.5-13.4 18-14.6 1.4 1.6-.6 1-3.3 2.8-2.2 1 .5 2-1 1.3-2-2-1.5-3.6-1.3-5.4.4-.8-2.7-3-4-5.4-2.8-1 .5-.7 2.5.4 2.4 1.8-.2 1 1.6 1.6 3-12.5 16.4-19 14.4-17.4-7.3-3-.7-6.5-1.3-9.6-2.4-11.5 23.3-19.7 24.3-26.4 3.4 1.4-1 1-3.8 3-3 1.3.6 2.3-1.5 1.2-2.4-2.4-2-5-1.3-6.8 1.3-1.4-3-4-4-6.6-2.2-1.2.7-.5 3 .8 2.6 2.3-.7 1.3 2.4 3 3.5-5 19.6-30.8 21-26.6-8.2-2.4 0-4.5 0-6.6.2l-6.7-.2c4.2 29-21.5 27.8-26.6 8 1.6-1 .6-4 3-3.4 1.2.3 2-2 .7-2.7-2.6-1.7-5.2-.7-6.6 2.2-1.7-2.7-4.3-3.4-6.7-1.4-1 1 0 3 1 2.5 2.2-.8 1.8 2 3.2 3-6.7 21-15 20-26.4-3.4-3 1-6.5 1.7-9.5 2.3 1.6 21.6-5 23.6-17.4 7 .6-1.2 0-3 1.7-2.8 1 0 1.5-2 .4-2.4-2.4-1-4.5 0-5.3 2.8-1.7-1.7-3.5-2-5.5-.4-.8 1 .4 2.5 1.3 2 1.8-1 1.2 1.6 2.8 2.2-1.2 16.5-7.6 16-14.6-1.3l-3.7.7c0 4 1.3 8.5 3.8 11.7 10.6 13.5 18.5 10.4 18.8-4.7 14 16.4 24.4 14.3 26.2-3 11.7 21.8 30.5 11.4 31-2 5 19.4 33.5 19.2 35.4-3 1.8 22.2 30.3 22.4 35.4 3 .4 13.4 19.2 23.8 31 2 1.7 17.3 12.3 19.4 26 3 .4 15 8.3 18.2 19 4.7 2.4-3.2 3.8-7.6 3.7-11.7z"/>
+      <path fill="#21231e" d="M593.7 235.6l3.7.6-.2 1-3.6-.6-.4-.7.5-.4zm-.5.3v-.4h.5l-.5.3zm-14.3 1l.2 1 .3-.6.2 1.4v1.4l.3 1.3.2 1.2.2 1 .3 1 .3 1 .3.7.3.7.3.6.3.5.3.5.4.2.3.2h1.3l.4-.3.4-.2.5-.4.4-.3.6-.6.5-.6.6-.7.7-1 .6-.8.7-1.2.6-1.2.6-1.3.7-1.3.5-1.5.7-1.6 1 .3-.8 1.6-.6 1.4-.7 1.4-.5 1.3-.7 1.3-.6 1-.6 1-.7 1-.7.8-.6.8-.6.6-.5.5-.6.3-.7.4-.5.2h-1.2l-.6-.2-.5-.2-.5-.4-.5-.4-.4-.6-.3-.6-.3-.8-.4-.8-.3-1-.2-1-.3-1-.2-1.3-.2-1.3-.2-1.5v-1.6l.3-.5zm-.5.4v-.4h.4l-.5.4zm3.5-2.7l-.5 1v-.2h-.4v.2h-.2v.2l-.2.2v.3l-.2.3-.2.3v.2h-.2v.3h-.3v.2h-.3l-.2.2-.3-1v-.2h.2v-.2h.2v-.2l.2-.2v-.5h.2v-.4l.2-.2v-.3l.2-.2.2-.2h.2l.2-.2h1l.2.2zm-.5 1zm1.3-2l.6-1v.2h.2l.2.3v1.6h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.5v.2h-.8l-.3-.2.5-1v.2h.4v-.2h.2v-.2h.2v-.8zm.6-1v.2-.2zm-6.3 1l1-.3-.8-.2h.2l.2-.3.2-.2.2-.2.3-.2h.2l.2-.2h.2v-.2h.4l.2-.2h2.3l.2.2h.2l.2.2h.2l.2.2h.2l.2.2.2.2-.6.8-.3-.2h-.2l-.2-.2-.2-.2h-.3l-.2-.2h-2.1v.2h-.3v.2h-.2l-.3.2v.2h-.3v.2l-.3.2-1-.3zm1 .3l-.7.5-.2-.8 1 .3zm-5.6-2.7l-.4-1h.5l.3-.2h2.1l.4.2h.4l.2.3h.2v.2l.3.2h.2l.2.2v.2l.2.2v.2l.2.2.2.2v.2l.2.3v.2l.2.2v.2l-1 .3v-.5h-.2v-.3l-.2-.2v-.2h-.3v-.3h-.2v-.4h-.3v-.2h-.3v-.2h-.6v-.2h-2l-.2.2h-.2zm0 1.4l.2 1h-.6v-.2h-.2l-.2-.2-.2-.2-.2-.2V231l.2-.2.2-.2.3-.2.4 1h-.2v1.2h.2zm2.2 3.7l-.8-.6v.5-.2h-.2v-1h-.2v-1l-.2-.2h-.7v-1.2h.6l.3.2.2.2h.2v.2l.2.3v.4h.2v1.5h.2v.8zm0-.5h.2l-.2.4v-.5zm-18-6.6l.3-1 .3.6v2l-.2 1.8v4.9l.3 1.4v1.3l.3 1 .2 1 .3 1 .4.8.3.8.4.5.5.5.4.3.4.3.5.2h1l.6-.2.7-.3.7-.4.8-.5 1-.4.7-.8 1-.8 1-1 1-1 1-1 1-1.4 1-1.4 1.3-1.4.8.6-1.2 1.5-1 1.3-1.2 1.3-1 1-1 1.2-1 1-1 .8-1 .8-.8.6-1 .5-.7.4-.8.3h-.8l-.8.2h-.7l-.7-.2-.6-.3-.6-.5-.5-.5-.4-.7-.5-.7-.4-1-.2-1-.2-1-.2-1.2-.2-1.3V229l.5.6zm.3-1h.3v.6l-.4-.6zm-9.3-1.6l-1-.4.7-.3.3.2h.3l.3.2h.3l.2.2h.3l.4.2h.6l.3.2h.3l.4.2h.6l.3.2h.5l.3.2h.7l.3.2h.6l.3.2h.5l.3.2h.8l.3.2h.3l-.3 1h-.8l-.2-.2h-.6l-.3-.2h-.8l-.3-.2h-.6l-.4-.2h-.7l-.4-.2h-.3l-.3-.2h-.6l-.3-.2h-.2l-.3-.2h-.6l-.4-.2h-.3l-.4-.2h-.4l-.3-.2h-.2l.7-.4zm-1-.4l.3-.4h.4l-.6.4zm-26.2 3.2l.6.8.3-.6.6 2 .5 1.7.7 1.6.6 1.6.7 1.4.7 1.2.6 1 .7 1 .7 1 .7.6.6.6.7.4.7.4.7.2h1.4l1-.2.6-.2.8-.4 1-.6.7-.6 1-.8 1-1 .8-1 1-1.2 1-1.3.8-1.4 1-1.6 1-1.7 1-1.8 1-2 1.2-2 1 .3-1.2 2.2-1 2-1 1.8-1 1.8-1 1.6-1 1.5-1 1.3-1 1.2-1 1-1 1-1 1-.8.7-1 .5-.8.4-1 .2-.8.2h-1.8l-.8-.3-.8-.3-.8-.5-.8-.6-.7-.8-.8-1-.7-1-.7-1-.7-1.4-.7-1.4-.7-1.5-.7-1.7-.6-1.7-.7-1.8.2-.6zm-.2.6v-.4l.2-.2-.2.5zm3.8-3.6l-.3 1h-.3l-.2-.2h-.2v.2h-.2v.2h-.2v.5h-.2v.4l-.2.3-.2.2v.2l-.2.3-.3.3-.2.3h-.2l-.5-.7.2-.2.2-.2v-.5h.2v-.4h.2v-.3l.2-.3v-.2l.2-.2.2-.3.2-.2h.2v-.2h.5v-.2h.7l.2.2zm.7-1.6l.6-.8.2.2.2.2v.2l.2.3v1.3l-.2.3v.2l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2h-1.1l.4-1h.7v-.2h.2v-.6h.2v-.7h-.2v-.2zm-7 1l1-.3h-1l.2-.3v-.3h.3l.2-.3.2-.3.2-.2.3-.3.3-.3h.2l.2-.3h.3l.2-.2h.5l.2-.2h2.2l.3.2h.2l.3.2h.3l.3.3h.2l.3.3.3.2-.6.8-.2-.2h-.2l-.2-.3-.4-.2h-.2l-.2-.2H521v.2h-.5l-.2.3h-.2v.2h-.2l-.2.3-.2.2-.3.3v.2l-.2.3-.2.2h-1zm1 .2l-.6.7-.3-1 1 .2zm-7-2l-.4-1h.3l.2-.2h.3l.4-.2h.2l.3-.2h.4l.3-.2h1.6l.2.2h.2l.3.2h.2l.2.3.3.2.2.2v.2l.3.2.2.2.2.2v.2l.3.2.2.3.3.4v.3l-.8.4-.2-.4-.2-.2v-.2l-.3-.2v-.2l-.3-.2-.3-.3h-.2v-.2h-.3l-.3-.2h-.2l-.3-.2h-.4l-.2-.2h-1.2l-.2.2h-.5l-.2.2h-.2l-.2.2-.2.2zm.5 1.7l.3 1h-.5l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2v-.2l-.2-.2V224l.2-.2.2-.3.3-.2.5 1h-.2v1.2h.2v.2h.4zm3.7 4l-1-.2.2.5h-.2l-.2-.2h-.2v-.3h-.2l-.2-.3v-.4l-.2-.2v-.3l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2h-.6l-.4-1h1.1l.3.2h.2v.4h.2v.3l.2.2v.2h.2v.5l.2.3v.5h.2v.4h.2l.2.2.2.2.3.6zm-.3-.5l.3.2v.3l-.3-.5zm-27-7.2v-1l.6.5-.3 2.7-.2 2.4v2.2l.2 2 .3 2 .4 1.7.5 1.5.7 1.4.6 1 .8 1.2 1 1 1 .7 1 .6 1 .5 1 .4 1.3.3h2.4l1.3-.2 1.2-.3 1.2-.5 1.2-.5 1-.7 1.2-1 1-.8 1-1 1-1.3 1-1.3.8-1.3.8-1.5.6-1.7.5-1.7 1 .2-.6 2-.7 1.6-.8 1.6-1 1.5-1 1.4-1 1.3-1 1-1.2 1-1.2 1-1.2.8-1.3.7-1.2.5-1.3.3-1.4.2h-2.5l-1.2-.3-1.3-.4-1.2-.5-1-.7-1-1-1-1-1-1-.8-1.5-.7-1.5-.6-1.6-.4-1.8-.3-2-.2-2.2V227l.2-2.6.3-2.7.5.6zm0-1h.7v.5l-.6-.5zm-6.6 1.2l.2-1h4l.2-.2h2.1v1h-4.1l-.2.2h-2zm.2 0zm-6.2-.8h-1l.5-.4h5.1l.2.2h1.2v1h-4l-.3-.2h-2l.5-.6zm-1 0v-.5h.5l-.5.6zm-26.4 7.8l.5.8.3-.5.6 1.7.5 1.7.7 1.5 1 1.4.8 1.4 1 1.2 1 1 1 1 1.2 1 1.2.6 1.2.5 1.2.5 1.2.3 1.2.2h2.4l1.2-.3 1-.3 1.2-.4 1-.7 1-1 .8-.8 1-1 .6-1.3.6-1.5.6-1.6.4-1.8.3-2v-2l.2-2.3-.2-2.5-.3-2.7h1l.3 2.6.2 2.5v2.2l-.2 2.2-.3 2-.5 1.8-.5 1.6-.7 1.5-.8 1.4-1 1.2-1 1-1 .8-1 .7-1.2.5-1.3.4-1.3.3H463l-1.2-.2-1.3-.3-1.3-.5-1.3-.6-1.3-.7-1.2-1-1.2-1-1-1-1-1.2-1-1.3-1-1.5-.7-1.6-.7-1.7-.6-2 .2-.5zm-.2.5v-.3l.2-.2-.2.5zm3.7-4l-.2 1-.2-.2h-.7v.2l-.2.2v.4l-.2.2v.5l-.2.2v.2l-.2.3v.2l-.2.2v.2h-.2v.3h-.3l-.2.2h-.2l-.4-.7.2-.2.2-.2h.2v-.3l.2-.2v-.5l.2-.2v-.5l.2-.3v-.3l.2-.2.3-.3.2-.2h.2l.2-.2h1.1zm.4-1.8l.6-1v.2h.3v.3h.2v.2l.2.2v1.5l-.2.2v.2l-.2.2-.3.2-.2.2h-.9l.3-1h.4v-.4l.2-.2v-.8h-.2v-.2h-.2zm-6.7 2l.8-.6h-.8v-.2l.2-.3.3-.4v-.2l.3-.2.2-.2.2-.2.2-.2.2-.2.2-.2h.2l.3-.3.3-.2h.2l.3-.2h.5l.2-.2h1.6l.4.2h.2l.3.2h.2l.3.2.2.2h.3l-.6 1-.2-.2h-.2l-.2-.2h-.3l-.2-.2h-.5l-.2-.2h-1.3l-.2.2h-.3v.2h-.3l-.2.3-.2.2-.3.3-.3.3-.2.2v.2l-.2.2-.2.2v.3h-.2l-1 .2zm1 0l-.5.7-.5-.8h1zm-7-1.2l-.8-.8.2-.2.2-.2h.3l.2-.3h.2l.2-.2h.3l.3-.2h2.5l.3.2h.2l.3.2.2.2h.2l.2.3h.2l.2.2.2.2.2.3.2.2h.2v.4l.3.2-.8.6-.2-.2v-.3l-.3-.2-.2-.2-.3-.3-.2-.2h-.2l-.2-.2v-.2h-.2l-.2-.2h-.4l-.2-.2H441l-.2.2h-.2l-.2.2h-.2l-.2.3h-.2l-.2.3zm.5 1.6l.4 1h-1.3l-.2-.2-.3-.2h-.2v-.2l-.2-.3v-.2l-.2-.2v-1.6l.2-.2.2-.2v-.2l.8.8-.2.2v1l.2.2.2.2h.4zm3.8 3.6l-1-.4.2.6h-.2v-.3h-.3v-.2h-.2v-.3h-.2v-.5h-.2v-.6h-.2v-.5l-.2-.2-.2-.2h-.2v-.2h-.5v.2l-.5-1h.4l.2-.2h.6l.2.2.3.2h.2v.2l.2.2.2.3v.2l.2.2v.2l.2.3v.2l.2.2.2.2.2.2.2.2.2.6zm-.2-.6l.3.2v.4l-.2-.6zm-26.6-2.5l-.3-1 .5.4 1 2 1 2 1.2 2 1 1.6 1 1.6 1 1.5 1 1.4.8 1.2 1 1 .8 1 1 .8.7.6 1 .6.6.4.8.2.8.2h1.3l.7-.2.7-.4.7-.4.7-.6.7-.7.8-.7.6-1 .7-1 .8-1.3.6-1.4.7-1.5.7-1.5.7-1.8.6-2 1 .5-.7 2-.6 1.6-.7 1.7-.6 1.5-.7 1.4-.7 1.3-.7 1.2-.7 1-.8.8-.7.8-.7.6-.8.5-1 .4-.7.4H432l-1-.2-.7-.3-1-.5-1-.6-.8-.8-1-1-.8-1-1-1-1-1.2-1-1.3-1-1.5-1-1.6-1-1.8-1-1.8-1-2-1-2.2.5.3zm-.3-1h.3l.2.4-.6-.3zm-9 3h-1l.4-.6h.7l.3-.2h.6l.4-.2h.9l.3-.2h.5l.3-.2h.6l.4-.2h.3l.3-.2h.6l.3-.2h.5l.3-.2h.3l.4-.2h.3l.3-.2h.3l.3-.2h.3l.2 1h-.7l-.3.2h-.3l-.3.2h-.3l-.3.2h-.5l-.3.2h-.3l-.4.2h-.6l-.4.2h-.6l-.3.2h-.6l-.2.2h-.6l-.3.2h-.7l-.3.2h-.8v.2h-.4l.4-.5zm-1 0v-.5h.4l-.4.5zm-17.4 7l1 .3v-.5l1 1.4 1 1.4 1.2 1.3 1 1 1 1 1 1 1 .8.8.8 1 .6.6.4.8.4.7.3h.6l.6.2h.4l.5-.2.3-.2.5-.2.4-.5.3-.5.4-.7.2-.7.3-1 .2-1 .2-1v-2.7l.2-1.5v-5l-.2-1.8h1v2l.2 1.8v4.9l-.2 1.4v1.4l-.3 1.2-.3 1-.3 1-.2 1-.4.7-.4.7-.6.5-.5.5-.7.3-.7.2H402l-.6-.2-.8-.4-1-.5-.7-.5-1-.6-1-.8-1-.8-1-1-1-1-1-1.2-1-1.3-1.2-1.4-1-1.6-.2-.5zm0 .4v-.3.4zm2-3.7v1h-.6v.8l-.2.3v1h-.2v.3l-1-.4v-.4l.2-.2v-.9h.2v-.5l.2-.2v-.2h.4v-.2h1zm.3-1.4l.3-1 .2.2h.2v.2h.2v.7h.2v1.2l-.2.2v.3l-.2.2-.2.2h-.2l-.2.2h-.5v-1h.4v-.2h.2v-.8l-.2-.2zm-5.7 2.7l.7-.8-.8.2v-.2l.2-.3v-.3l.2-.3v-.2l.2-.2.2-.2v-.2l.3-.2v-.2l.3-.2h.2v-.3h.3l.3-.2.2-.2h.4v-.2h2.5l.3.2h.2l.3.2-.4 1-.3-.2h-.5l-.2-.2h-1.3l-.3.2h-.2v.2h-.2l-.2.2v.2h-.2l-.2.2v.2h-.2v.3l-.2.2v.2h-.2v.5l-.2.2-1 .3zm1-.3l-.4.8-.7-.5 1-.3zm-5.8-.2l-.7-.6v-.2l.3-.2h.3l.2-.2h.2l.2-.2.3-.2h.2l.2-.2h2.1l.2.2h.2l.2.2h.2l.2.2.3.2.2.2h.2l.2.3v.2l-.7.8v-.2h-.3v-.2l-.3-.2-.3-.2h-.3v-.2h-.2l-.2-.2h-2v.2h-.3l-.2.2-.2.2h-.2l-.2.2zm-.7-.6v-.2zm1.4 1.7l.6 1h-1.3l-.3-.2-.2-.2v-.2h-.2l-.2-.2v-.3l-.2-.2v-.8l.2-.3h.2l.7.5v.8h.2v.2h.2v.2h.2zm3.6 2.7h-1l.3.5v-.2h-.3v-.2h-.3v-.3h-.2v-.2h-.2v-.2l-.2-.2v-.3h-.2v-.2l-.2-.3v-.2h-.7l-.6-.8h.2l.2-.2h1.1l.3.2.2.2v.2h.2v.4l.2.2v.5h.2v.2l.2.2.2.2h.2l.4.6zm-.4-.5h.4v.4l-.4-.5zm-14.7-.4v-1l.4.3.8 1.5.6 1.5.7 1.3.7 1.3.6 1.2.6 1 .6 1 .6 1 .5.6.6.7.5.7.6.4.5.5.3.2.5.2h1.1l.3-.3.3-.2.4-.4.3-.4.4-.5.3-.6.3-.8.3-.8.2-1 .3-1 .3-1.3.2-1.3v-1.4l.2-1.4h1v1.5l-.2 1.4-.2 1.3-.2 1.2-.2 1-.2 1-.3 1-.4.8-.4.8-.4.6-.4.6-.5.4-.5.4-.5.2-.6.2h-1.1l-.6-.3-.7-.4-.6-.4-.5-.6-.6-.6-.7-.7-.7-.7-.6-1-.6-1-.6-1-.6-1.2-.6-1.2-.7-1.4-.7-1.5-.6-1.7.5.3zm0-1h.3v.3l-.4-.4zm-3.8.6l3.6-.6v1l-3.6.6-.5-.5.4-.5zm-.5.5v-.4h.4l-.5.4zm4.7 11.4l-.8.7-.3-.3v-.3l-.3-.3-.2-.3-.3-.3-.2-.3-.2-.3v-.4l-.3-.3-.2-.4-.2-.4v-.4l-.2-.4v-.4l-.3-.4v-.4l-.2-.3v-.4l-.2-.4v-.9l-.2-.3v-.8l-.2-.5V238l-.2-.5v-.7h1v1.9l.2.4v1.1l.2.5v.7l.2.3v.4l.2.4.2.3v.4l.2.5.2.3v.4l.2.3.2.4.2.2v.3l.3.4.2.2v.3l.3.3.2.4.2.3.2.3.2.3zm18.7-4.7l-.8.7 1-.3-.2 1.4v1.4l-.2 1.3-.2 1.2-.2 1-.3 1-.2 1-.3 1-.4.7-.4.8-.4.7-.6.6-.5.5-.5.4-.7.3-.6.3h-.7l-.8.2h-.7l-.8-.2-.8-.2-.8-.2-1-.4-.7-.5-1-.7-1-.6-.8-.8-1-1-1-1-1-1-.8-1-1-1.3.8-.6 1 1.3 1 1 .8 1 1 1 1 .8.7 1 1 .5.7.6.8.5.8.4.7.2h.7l.7.3h1.4l.6-.2.4-.2.6-.2.4-.3.5-.5.4-.5.4-.6.4-.7.3-.8.3-.8.3-1 .4-1 .2-1 .2-1.2v-1.2l.2-1.3v-1.3l1-.4zm-1 .4V242l1 1-1 .4zm27.3-3.2l-1 .4 1-.2-.2 1.6v1.5l-.4 1.3-.4 1.3-.4 1.2-.4 1.2-.5 1-.7 1-.6 1-.6.7-.6.7-.8.6-.7.5-1 .4h-.8l-1 .3h-2.8l-1-.3-1-.4-1.2-.4-1-.6-1.2-.6-1.2-.8-1-.8-1.3-1-1.2-1-1.3-1.2-1.2-1.3-1.3-1.5-1.3-1.5.7-.7 1.2 1.5 1.3 1.4 1.2 1.2 1.2 1.2 1 1 1.3 1 1 .8 1.2.7 1 .7 1 .6 1 .4 1 .3 1 .2h1l.8.2h.8l1-.2.7-.3.7-.4.7-.5.7-.4.6-.6.6-.7.5-.8.5-1 .4-1 .5-1 .2-1.2.4-1.3.3-1.3v-1.5l.3-1.6h1zm-1 0l.2-1.5.8 1.5h-1zm31.8-1.8l-.8.3h1v1l-.3 1.4-.4 1.2-.4 1.2-.5 1-.6 1.3-.6 1-.7 1-.8 1-1 1-1 .7-1 .7-1 .7-1 .6-1.2.5-1.2.4-1.2.3h-3.8l-1.3-.2-1.3-.4-1.4-.4-1.3-.7-1.3-1-1.3-.8-1.3-1.2-1.3-1.2-1-1.5-1.3-1.6-1.2-1.8-1-2 .8-.5 1 2 1.2 1.6 1.2 1.7 1.2 1.4 1 1.3 1.3 1 1.2 1 1.3.7 1.2.6 1.2.5 1.3.5 1.2.2h3.6l1.2-.3 1-.3 1-.3 1.2-.5 1-.6 1-.7.7-.8 1-1 .6-.7.6-1 .6-1 .6-1 .4-1 .4-1.2.3-1V239h1zm35.6-3l-1 .2h1l-.2 2-.4 2-.6 1.6-.6 1.7-.8 1.6-1 1.3-1 1.3-1 1-1.3 1-1.3 1-1.3.8-1.3.6-1.5.6-1.5.3-1.5.2h-1.5l-1.6.2-1.4-.2-1.6-.2-1.5-.3-1.5-.5-1.4-.6-1.4-.7-1.4-1-1.3-1-1.2-1-1-1.2-1-1.4-1-1.4-1-1.6-.6-1.6-.5-1.8 1-.3.5 1.7.6 1.6.8 1.5 1 1.3 1 1.3 1 1.2 1.2 1 1.2 1 1.3.8 1.3.7 1.4.5 1.4.5 1.4.3 1.5.2h4.4l1.5-.3 1.4-.4 1.3-.5 1.3-.5 1.3-.7 1-1 1.2-.8 1-1 1-1.3 1-1.4.6-1.4.7-1.7.5-1.7.4-1.8.2-2h1zm35.5 3l-1 .2h1l-.4 1.8-.7 1.6-1 1.6-1 1.4-1 1.4-1 1.2-1.3 1-1.2 1-1.4 1-1.3.6-1.5.6-1.4.5-1.6.3-1.5.2-1.5.2h-1.6l-1.5-.2-1.4-.3-1.5-.4-1.4-.6-1.4-.6-1.3-.8-1.4-1-1.2-1-1-1-1.2-1.3-1-1.4-.7-1.7-.7-1.7-.5-1.7-.4-2-.4-2 1-.2.3 2 .3 1.8.5 1.7.6 1.6.8 1.3 1 1.4.8 1.2 1 1 1.2 1 1.2.8 1.3.7 1.3.6 1.4.6 1.4.3 1.4.2h4.5l1.4-.2 1.5-.3 1.4-.5 1.3-.5 1.3-.7 1.3-.8 1-1 1.2-1 1-1 1-1.4 1-1.3.7-1.5.6-1.6.5-1.7h1zm31 2h-1l1 .2-1.2 2-1.2 1.7-1.2 1.6-1.2 1.5-1.3 1.2-1.4 1.2-1.3 1-1.3.7-1.3.6-1.3.5-1.4.5-1.3.2H530l-1.3-.3-1.2-.3-1.2-.4-1-.5-1-.6-1-.7-1-.8-1-1-.7-1-.8-1-.6-1-.6-1-.5-1.2-.3-1.2-.3-1.2-.2-1.3v-1l1-.2v1.2l.2 1.2.3 1 .4 1.2.5 1 .6 1 .7 1 .7 1 .7 1 1 .8.8.7 1 .6 1 .6 1 .5 1 .4 1 .4 1.3.2 1.2.2h2.4l1.2-.3 1.2-.4 1.3-.4 1.2-.6 1.3-.7 1.2-1 1.2-1 1.2-1.2 1.2-1.3 1.2-1.6 1-1.6 1.2-2 1 .2zm-1-.2l.8-1.5.2 1.6h-1zm27.2 3.2h-1l1 .3-1.4 1.5-1.3 1.4-1.2 1.2-1.3 1-1.2 1.2-1.2 1-1.2.8-1 .8-1.2.6-1 .6-1.2.4-1 .4-1 .2-1 .2h-2l-1-.3h-.8l-.8-.5-.8-.5-.7-.6-.8-.7-.6-.8-.6-1-.6-1-.5-1-.5-1-.4-1.4-.3-1.3-.3-1.4-.2-1.6-.3-1.6 1-.2.2 1.6.2 1.5.3 1.3.3 1.3.4 1.2.4 1 .5 1 .5 1 .6.8.6.7.6.6.6.5.7.6.6.3.8.2h.8l.8.2h.8l1-.2 1-.2.8-.3 1-.4 1-.6 1.2-.6 1-.6 1.2-.8 1.2-1 1-1 1.4-1.2 1.2-1.2 1.3-1.4 1.3-1.5 1 .4zm-1-.4l1-1v1.4l-1-.4zm19 4.8l.7.7-1 1.2-1 1-1 1-1 1-1 1-.8.7-1 .6-.8.6-.8.4-1 .4-.7.3-1 .3-.7.2h-1.5l-.7-.2-.6-.3-.6-.3-.6-.4-.6-.5-.5-.6-.4-.7-.4-.8-.4-.8-.3-1-.3-1-.3-1-.3-1-.2-1.3V246l-.2-1.3v-1.3h1v2.6l.2 1.3.2 1 .2 1.2v1l.4 1 .4.7.3.8.5.6.4.5.4.5.4.5.5.3.5.3.6.3h.6l.6.2h.6l.7-.2h.6l.7-.4.8-.5 1-.4.7-.5 1-.6.7-1 1-.7.8-1 1-1 1-1 1-1.2zm4-10.7v-1l.6.4v2.9l-.2.4v.7l-.2.4v.5l-.2.4v.3l-.2.4v.3l-.3.4v.4l-.2.4-.2.4v.3l-.3.3-.2.4-.2.3-.2.4-.2.3-.2.4-.2.4-.2.3-.2.4-.2.4-.3.3-1-.6.3-.2.3-.3.2-.3.2-.4.2-.3.2-.3.2-.3v-.5l.3-.3v-.3l.2-.5.2-.3v-.4l.3-.3v-.4l.2-.3v-.7l.2-.4v-.3l.2-.4v-.5l.2-.4v-1l.2-.4v-1.8l.5.5zm0-1h.6v.4l-.5-.5zm0 0v1-1zm0 1z"/>
+      <path fill="#edb92e" d="M482 263h-22.5l-1.3.2H451l-1.3.2h-4.4l-1.2.2h-2.3l-6.3.4h-.3c-3 0-6 .3-9 .4h-.8l-18.2 1.3h-.2a965 965 0 00-26.4 2.4c-5 .6-6-5.3 0-6a960.5 960.5 0 0126.3-2.2 983.7 983.7 0 0137-2.2h2.4l15.4-.5h16.8a1082.3 1082.3 0 017.2 0h16.6l15.2.5h3.3a984 984 0 0137 2.3 960.5 960.5 0 0126.2 2c5.8.7 5 6.6 0 6a965.6 965.6 0 00-26.4-2.3h-.3a978.4 978.4 0 00-18.3-1.2h-.6l-9.2-.5h-.3c-2.2 0-4.3-.2-6.4-.3h-2.3l-1.2-.2h-4.5l-1.3-.2H506l-1-.2h-23z"/>
+      <path fill="#0c4076" d="M482 105a17.3 17.3 0 01.1 34.7c-9.3 0-17-7.8-17-17.3 0-9.6 7.7-17.3 17-17.3z"/>
+      <path fill="#edb92e" d="M485.3 85c1.6-.2 3-1.5 3-3.2 0-1.7-1.4-3-3-3.2 0-1.7-1.4-3-3.2-3a3 3 0 00-3 3c-1.6 0-3 1.5-3 3.2a3 3 0 003 3v6.5h-5.5a3 3 0 00-3-3c-1.8 0-3 1.3-3.2 3a3 3 0 00-3 3c0 1.8 1.3 3.2 3 3.2a3 3 0 003 3c1.8 0 3.2-1.2 3.2-3h5.5V119h6.3V97.6h5.5a3 3 0 003 3c1.8 0 3-1.4 3.2-3 1.7 0 3-1.5 3-3.2a3 3 0 00-3-3c0-1.8-1.4-3.2-3-3.2-2 0-3.2 1.4-3.2 3h-5.5V85z"/>
+      <path fill="#21231e" d="M487.8 81.8h1v1h-.2v.5h-.2v.3l-.2.3-.2.2v.2h-.2l-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2v.2h-.8l-.2.2h-.3v-1h.7V84h.2l.3-.2h.2v-.2h.2v-.2l.2-.2V83h.2l.2-.2v-.4l.2-.2v-.4zm-3-3.2h1l-.5-.5h.2l.3.2h.4l.3.2h.3l.2.2.2.2h.2v.2h.2l.2.2.2.3.2.2v.2h.2v.4h.2v.5l.2.2v.7h-1V81h-.2v-.4l-.2-.2V80h-.4v-.2h-.2v-.2h-.2l-.3-.2h-.2V79h-.8l-.4-.6zm.4.5h-.4v-.4l.4.5zm-3-3v-1h.7l.2.2h.2l.3.2h.2l.2.2.2.2h.2v.3l.2.2.2.3.2.2v.2h.2v.4h.2v.8h.2v.3h-1V78h-.2v-.5h-.2v-.2l-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.4l-.3-.2h-.4zm-3.2 3v-1l-.5.6v-.8l.2-.2V77h.2v-.6h.2v-.2l.2-.2.2-.2.2-.2h.2v-.2h.3v-.2h.3l.3-.2h.4l.2-.2h.4v1h-.5v.2h-.3l-.2.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.2h-.2v.5h-.2v1l-.6.5zm.5-.4v.5h-.5l.5-.4zm-3 3.2h-1V81l.2-.3v-.5l.2-.2v-.2l.2-.2.2-.3.2-.2h.2l.2-.2h.2v-.2h.3v-.2h.5l.3-.2h.7v1h-.7l-.2.2h-.2l-.2.2-.2.2-.2.2-.2.2v.2h-.2v.4l-.2.2v.8zm3 3h-1l.5.6h-1V85h-.7v-.2h-.3v-.2h-.2l-.2-.2-.2-.2V84h-.2v-.2l-.2-.2-.2-.3v-.5h-.2v-1h1v1h.2v.4h.2v.2h.2v.2l.2.2h.2v.2h.2l.3.2h.7v.2h.2l.5.5zm-.5-.4h.5v.5l-.5-.6zm-.5 7V85h1v6.3l-.5.5-.5-.5zm1 0v.4h-.5l.5-.5zm-6-.6h5.5v1h-5.5l-.5-.5.5-.5zm0 1h-.5v-.5l.5.5zm-3-3v-1h1.2v.2h.3l.3.2.3.2.3.2v.2l.2.2.2.3.2.3.2.3v.4l.2.2v.8h-1v-.7l-.2-.2V90h-.2v-.2h-.2v-.2l-.2-.2-.2-.2h-.2V89h-.4l-.2-.2h-.8zm-3.2 3v-1l-.5.4v-.8l.2-.3V90l.2-.3v-.2h.2v-.2l.2-.2h.2v-.3h.2l.2-.2.2-.2h.2V88h.7v-.2h1.1v1h-1l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2v.2h-.2v.4h-.2v.8l-.2.2v.3l-.5.5zm.5-.5v.5h-.5l.5-.5zm-3 3h-1V93h.2v-.2h.2v-.3l.2-.3.3-.3v-.2h.2v-.2h.2v-.2h.2l.2-.2h.2V91h.7l.2-.2h.8v1h-.7l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2v.2h-.2v.5h-.2v.7zm3 3.2h-1l.5.5h-1v-.2h-.5l-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2v-.2h-.3v-.2l-.2-.2V96h-.2v-.4l-.2-.3v-.8h1v.9h.2v.2l.2.3h.2v.2h.2v.2h.2v.2h.2l.2.2h.5v.2h.4l.6.5zm-.5-.5h.5v.5l-.5-.5zm3 3v1h-1l-.2-.2h-.3v-.2h-.3v-.2h-.2l-.2-.2-.2-.3v-.2h-.2v-.3h-.2V99h-.2v-.5l-.2-.2V98h-.2v-.5h1v.7h.2v.4h.2v.2l.2.2v.2h.2v.2h.2v.2h.2l.2.2h.2l.3.2h.6zm3.2-3v1l.5-.4v.8l-.2.2v.3h-.2v.3l-.2.3-.2.2-.2.2-.2.2-.3.2-.2.2h-.2l-.2.2h-.2l-.3.2h-.8v-1h.9v-.2h.2l.2-.2h.2v-.2h.2l.2-.2V99h.2v-.2l.2-.3v-.2l.2-.2v-.4l.5-.5zm-.5.6V97h.5l-.5.6zm6 .5h-5.5v-1h5.5l.5.6-.5.5zm0-1h.5v.6l-.5-.5zm-.5 22V97.6h1V119l-.5.5-.5-.5zm.5.5h-.5v-.5l.5.5zm6.3 0H479v-1h6.3l.5.5-.5.5zm.5-.5v.5h-.5l.5-.5zm0-21.4V119h-1V97.6l.5-.5.5.6zm-1 0V97h.5l-.5.6zm6 .5h-5.5v-1h5.5l.5.6-.5.5zm0-1h.4v.6l-.4-.5zm3 3v1h-1l-.3-.2h-.2l-.3-.2-.2-.2h-.2v-.2h-.2l-.2-.2v-.2h-.2v-.2l-.2-.2V99h-.2v-.2h-.2v-1l-.2-.2h1v.4l.2.2v.2l.2.3v.2h.2v.2h.2l.2.2v.2h.2l.3.2h.2v.2h1.1zm3.2-3v1l.5-.5v.7h-.2v.5l-.2.3v.4h-.2v.3h-.2v.2h-.2v.2h-.3v.2l-.3.2h-.3l-.2.2h-.3l-.2.2h-.8v-1h.9v-.2h.2v-.2h.2l.2-.2.2-.2V99h.2v-.2l.2-.2v-.2l.2-.2v-.6l.6-.6zm-.5.5V97h.5l-.5.5zm3-3h1v.9l-.2.3v.2h-.2v.6h-.2l-.2.2v.2h-.2v.2h-.3v.2h-.2v.2h-.3l-.3.2h-.2l-.3.2h-.7v-1h.8V97h.2v-.2h.2l.2-.2.2-.2h.2V96l.2-.3v-.2h.2v-.7l.2-.3zm-3-3.2h1l-.5-.6h.7l.2.2h.4l.3.2.3.2.3.2.2.2.2.3.2.2v.5h.2v.3h.2v.7l.2.3v.4h-1v-.6h-.2v-.4l-.2-.2-.2-.2v-.2h-.2l-.2-.2-.2-.2h-.2V92h-.5l-.2-.2h-.5l-.5-.5zm.5.5h-.5v-.5l.5.5zm-3-3v-1h1.1l.2.2h.4v.2h.3v.2l.3.2.2.3h.2v.3h.2v.4l.2.2v.4h.2v.7h-1v-.8h-.2V90l-.2-.2-.2-.2-.2-.2-.2-.2h-.2V89h-.5v-.2h-.6zm-3.2 3v-1l-.6.5v-.9l.2-.2V90l.2-.3.2-.3.2-.3h.2v-.2l.2-.2h.2v-.2h.2l.2-.2h.3l.2-.2h.3l.2-.2h1v1h-1l-.3.2h-.2v.2h-.2l-.2.2v.2l-.2.2-.2.2v.2l-.2.2v.7l-.7.6zm.5-.5v.5h-.6l.6-.5zm-6-.5h5.5v1h-5.5l-.5-.5.5-.5zm0 1h-.5v-.5l.5.5zm.5-7v6.5h-1V85l.4-.6.6.5zm-1 0v-.4h.4l-.4.5zm.5 0v-.4.5zm-.5 0v-.4h.4l-.4.5z"/>
+      <path fill="#21231e" d="M499.8 122.4h-1v-1.7l-.2-1v-.7l-.3-.8-.2-.8-.2-.8-.3-.8-.3-.7-.4-.6-.4-.7-.4-.7-.5-.7-.5-.6-.5-.6-.6-.5-.7-.6-.6-.6-.6-.5-.5-.6-.7-.4-.7-.4-.6-.4-.8-.3-.7-.4-1-.3-.7-.2h-.8l-.8-.2h-.8l-1-.2h-1v-1h2l.8.2h1l.8.3.8.4.8.2.8.4.8.3.8.4.7.4.7.6.7.5.7.6.6.6.6.6.6.6.6.6.5.7.5.7.5.7.4 1 .4.6.4.8.3.8.3 1 .3.7.2.8v1l.2.7v2zM482 140.2v-1h1.8l1-.2.7-.2.8-.2.8-.2 1-.3.6-.2.8-.3.7-.4.8-.3.7-.4.6-.5.7-.5.6-.5.6-.6.5-.5.5-.6.5-.6.5-.6.4-.7.4-.6.4-.8.3-.7.3-1 .3-.6.3-.8.2-.8v-1l.2-.7v-1.6h1v2.8l-.2.8-.2.8-.3 1-.3.7-.3.8-.3.8-.3 1-.4.6-.5.7-.5.7-.5.7-.6.6-.6.7-.6.6-.6.5-.7.6-.7.5-.7.6-.7.4-.8.4-.8.4-.8.3-.8.4-.8.2-1 .2-.8.2h-.8l-1 .2h-1zm-17.5-17.8h1v1.8l.2.7v.8l.3.8.2.8.3.7.3 1 .3.6.5.8.4.7.3.8.5.6.5.6.5.7.6.5.5.6.5.5.7.5.6.5.7.4.7.4.7.5.7.3.7.3.8.4.8.2.8.2.8.2h1.8l.7.2v1h-1.8l-.7-.2-1-.2-.8-.2-.8-.2-1-.3-.7-.2-.8-.4-.8-.4-.7-.4-.7-.5-.7-.4-.7-.5-.7-.4-.7-.6-.5-.7-.5-.6-.5-.7-.5-.7-.5-.7-.4-.7-.4-1-.3-.7-.5-.8-.2-.8-.3-1-.2-.7v-1l-.2-.8v-1.8zm17.6-17.8v1h-1.7l-.7.2h-.8l-.8.3-.8.3-.8.3-.7.3-.8.2-.8.4-.7.4-.7.4-.6.5-.7.4-.6.5-.6.5-.6.6-.5.7-.5.6-.5.7-.4.7-.5.7-.4.7-.2.8-.3.8-.3.8-.2.8-.2.8v.8l-.2 1v1.7h-1v-2.8l.2-1 .2-.8.3-1 .2-.8.4-.8.2-.8.4-.7.4-1 .5-.6.5-.7.5-.7.6-.6.6-.6.7-.6.6-.6.6-.5.7-.4.7-.5.7-.3.8-.4.8-.3.8-.4 1-.2.7-.3h1l.8-.2h.8l1-.2h.8z"/>
+      <path fill="#edb92e" d="M499 118.8a17.6 17.6 0 010 6c-5.5-.2-11.2-.3-17-.3-5.5 0-11.2 0-17 .3a17.5 17.5 0 01.3-6l16.8-.3c5.8 0 11.4.2 17 .3z"/>
+      <path fill="#21231e" d="M499.8 122.4h-1V120h-.2v-1l1-.2v1.7l.2.2v1.6zm-.7 3l.2-1-.6.3v-.8l.2-.2v-1.1h1v2.2h-.2l-.5.5zm.6-.5v.3h-.5l.6-.4zm-17.5 0v-1H494l.4.2h4.8v1h-10.6l-.5-.2h-6zm-17.4 0l1-.3-.5-.4h4.7l.4-.2H482v1h-11l-.5.2H465l-.5-.3zm.6.3h-.5v-.4l.5.3zm-.7-3h1v2.4l-1 .3v-2.6zm.8-4v1l.5-.3v.8l-.2.2v2.5h-1v-3h.2v-.4l.5-.5zm-.5.5v-.4h.5l-.5.4zm17.3-.8v1h-9.1l-.5.2H466l-.7.2v-1h2.5l.5-.2h9l.5-.2h4.2zm17.5.8l-1 .2.4.4h-3.6l-.5-.2h-10.3l-.5-.2h-2.1v-1h10l.5.2h6.1l.5.6zm-.5-.5h.4v.5l-.4-.5z"/>
+      <path fill="#edb92e" d="M468.8 133.2c-3.6-2.3-4.3 1.2-4.2 4.7.4 13.2 3 25.8-.6 42-1.4 6.4-3.7 10-1.5 11.3 5.7 3.2 8.3 6 7.4 7.7 1.5 3.2 5.7 2.6 12 1.6 6.6 1 10.7 1.6 12.4-1.6-1-1.6 1.7-4.5 7.4-7.7 2.2-1.2 0-5-1.5-11.3-3.5-16.2-1-28.8-.7-42 0-3.6-.5-7-4-4.8a28.6 28.6 0 01-26.8 0z"/>
+      <path fill="#21231e" d="M465 138h-1v-1.5l.2-.3v-1.6l.2-.3v-.3h.2v-.4l.2-.2v-.3h.2l.2-.3.2-.2.2-.2h.2l.2-.2h1.8l.4.2.4.2h.3l.4.3-.4 1-.4-.3h-.2l-.3-.2h-.3l-.2-.2h-1.2v.2h-.2v.2l-.2.2v.2l-.2.2v.4l-.2.3v.4l-.2.2v2.5zm-.5 42l-1-.2.3-1.5.3-1.4.3-1.6.2-1.4.2-1.5.2-1.4v-2.5l.2-1.4V154l-.2-1.2v-2.5l-.2-1.2V148l-.2-1.2v-1.2l-.2-1.3V142l-.2-1.3V138h1v3.5l.2 1.2v2.6l.2 1.2v1.3l.2 1.2v2.5l.2 1.2v1.3l.2 1.3v13.3l-.2 1.4v1.4l-.3 1.5-.2 1.4-.2 1.6-.2 1.4-.2 1.5-.3 1.6zm-1.8 11l-.4.8-.3-.2-.2-.2-.2-.2-.2-.2v-.2l-.2-.3V188l.2-.3v-.4l.2-.3v-.4l.2-.4v-.5l.3-.4.2-.4v-.5l.3-.3v-.5l.3-.5v-.6l.3-.4.2-.6v-.6l.3-.6 1 .3-.2.7v.6l-.3.5v.6l-.2.5-.2.4v.6l-.3.4v.5l-.3.4v.4l-.2.4v.4l-.2.4v.4l-.2.3v.4l-.2.4v1.9l.2.2.2.2zm7.6 7.8l-1 .4v-.4h.2v-1l-.2-.2v-.2l-.2-.2v-.4l-.3-.2-.2-.2-.2-.3h-.3l-.2-.4-.3-.2-.3-.3h-.3l-.4-.4-.4-.3-.3-.2-.5-.2-.4-.3-.3-.3-.5-.3-.5-.3-.4-.3-.5-.3-.6-.2.5-1 .6.4.5.3.5.3.4.3.5.4.4.3.5.3.5.2.3.3.4.3.4.3.3.4.2.2.3.3.3.2.2.2.2.3.3.2.2.2v.2l.3.3v.2l.3.2v.5l.2.2v1.1l-.2.3v-.5zm-1 .4v-.4.4zm13 1l-.2 1h.2-1.2l-.5.2h-1.2l-.6.2h-1l-.5.2h-4.7l-.4-.2h-.3l-.3-.2-.3-.2-.3-.2-.2-.2-.3-.2-.2-.2-.3-.3h-.2l-.2-.4-.2-.4 1-.4v.2l.2.3.2.2.2.2.2.2h.2l.2.2h.2l.3.2h.3l.3.2h.3l.2.2h4.3l.5-.2h1l.6-.2h1.1l.5-.2h.8zm-.2 0h.2zm12-1l1-.4v.4l-.3.4-.2.3h-.2l-.3.4-.2.2-.3.2-.3.2-.3.2-.4.2h-.3l-.3.2h-.4l-.4.2H486l-.6-.2h-.5l-.6-.2h-1.2l-.5-.2h-.6l.2-1h1.8l.5.2h.6l.6.2h1.1l.5.2h4.2l.3-.2h.3l.2-.2h.3l.2-.2.2-.2.3-.3.2-.2.2-.2v-.3l.3-.2v.5zm1-.4v.4-.4zm6.5-8l.5 1-.5.3-.5.4-.5.3-.4.2-.4.2-.4.3-.4.3-.4.3-.4.3-.3.3-.3.3h-.3l-.2.4-.3.2-.3.3h-.2l-.2.4-.2.2-.2.2v.2l-.3.2v.7h-.2v1.2l-.8.5v-.2l-.2-.2v-1.3l.2-.2v-.3l.3-.3v-.3l.3-.2.2-.3.2-.3.3-.3.2-.2.3-.3.3-.4.4-.2.3-.3.4-.2.4-.3.4-.3.4-.2.4-.3.5-.3.5-.3.5-.2.5-.3.5-.3.5-.3zm-1.7-10.7l1-.2v.6l.3.6.2.6.2.5v.7l.3.5v.5l.2.4v.6l.2.5.2.5v.4l.2.3v.4l.2.4v.5l.2.3v.7l.2.3v1.8l-.2.3v.2l-.3.3h-.2l-.2.3-.3.2-.5-1h.2l.2-.2v-.4h.2v-2.5l-.2-.3v-.3l-.2-.3v-.4l-.2-.4v-.4l-.2-.4v-.4l-.3-.5v-.6l-.2-.4v-.6l-.3-.5v-.6l-.3-.6v-.5l-.2-.6-.2-.6zm-.7-42h1v5.9l-.2 1.4v1.2l-.2 1.2v1.3l-.2 1.3v2.5l-.2 1.2v2.6l-.2 1.2v9.3l.2 1.4v1.4l.2 1.3.2 1.5.2 1.5.2 1.4.2 1.5.3 1.3.3 1.5-1 .3-.3-1.5-.3-1.5-.2-1.4-.2-1.5-.2-1.3-.2-1.5v-1.4l-.2-1.4V167l-.2-1.3v-10.3l.2-1.3v-2.5l.2-1.3V149l.2-1.2v-1.3l.2-1.2V143l.2-1.2V138zm-3.3-4.4l-.5-1h.4l.3-.2.2-.2h.3l.4-.2h1.2l.3.2h.2l.2.3v.2l.2.2h.2v.4l.2.2v.3h.2v.7l.2.3v1.5l.2.3v1.1h-1v-2.4l-.2-.3v-.8l-.2-.3v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-1.1l-.2.2h-.3l-.3.2-.3.2zm-27 0l.4-1 .8.5.7.5.7.4.7.2.7.3.8.2.8.3 1 .2.7.2 1 .2h.7l1 .2h.8l1 .2h4.6l.7-.2h1l.8-.3h.8l1-.3.7-.2.8-.3.8-.2.8-.3.7-.4.8-.3.7-.4.7-.3.5 1-.7.3-.7.4-.8.4-.7.3-1 .4-.7.3-.7.3-1 .2-.7.2-1 .2h-.8l-1 .2h-1l-.8.2h-4.6l-1-.2h-.8l-1-.2-.8-.2-1-.2-.7-.2-.8-.3-.8-.3-.8-.3-.8-.2-.8-.4-.7-.4-.7-.4z"/>
+      <g id="b">
+        <path fill="#edb92e" d="M363 212c-2-4-.3-9.8.3-11 .3-.8-.6-2.2-1-2.8-13-18.3-13.2-20-4.3-26.8 8-6 26.2-12 39.2-16.2 2.7-2 4.4-5 6.8-7.2-25 1.8-52 12-65.5 23.8-7.2 6.2 1.5 19 12.2 38 6.7 5 9.8 7 12.3 2.3z"/>
+        <path fill="#21231e" d="M362.8 200.7l1 .4v.2l-.2.2v.3l-.2.3v.5l-.2.2v.6l-.2.4v.7l-.2.3v1.6l-.2.4v2.5l.2.4v.4l.2.4v.4l.2.4v.3l.3.4-1 .3v-.4l-.3-.5v-.4l-.2-.4v-.4l-.2-.5v-.8l-.2-.6v-2.9l.2-.4v-1.2l.2-.3v-.4l.2-.2v-.6l.2-.3v-.6l.2-.2v-.2l.2-.2zm-1-2.2l1-.6v.2h.2v.4h.2v.4h.2v.2l.2.2v.4h.2v1.2l-1-.3v-.6l-.2-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2zm-4-27.5l.5 1-.8.5-.7.6-.7.6-.5.6-.6.5-.6.5-.5.6-.5.5-.3.4-.3.5-.3.5v.5l-.3.5v1.7l.2.6.2.8.2.7.4.8.4.8.4 1 .5 1 .6 1 .7 1 .7 1.3 1 1.2.7 1.3 1 1.4 1 1.5 1 1.5 1.3 1.7-.8.5-1.3-1.7-1-1.5-1-1.5-1-1.4-1-1.3-.8-1.2-.8-1.2-.7-1-.6-1-.7-1-.4-1-.6-1-.3-.7-.2-1-.2-.7v-.7l-.2-.7v-1.4l.2-.6.2-.6.2-.6.3-.6.4-.6.5-.5.5-.5.5-.5.6-.6.7-.5.7-.7.7-.6.7-.7zm39-16.2l.7.8h-.2l-1.2.5-1.2.5-1.2.4-1.4.3-1.3.4-1.4.5-1.4.4-1.3.5-1.5.5-1.4.5-1.3.5-1.3.5-1.4.5-1.4.5-1.3.5-1.4.5-1.4.5-1.3.6-1.3.6-1.3.5-1.2.7-1.2.5-1.2.6-1 .5-1.2.6-1 .4-1 .6-1 .6-1 .5-1 .7-.7.6-.7.6-.6-1 .8-.5 1-.6.8-.7 1-.6 1-.6 1-.4 1-.6 1.2-.6 1.2-.5 1-.7 1.4-.6 1.3-.5 1.3-.6 1.3-.5 1.2-.4 1.4-.5 1.3-.5 1.3-.5 1.4-.5 1.3-.5 1.4-.5 1.4-.5 1.4-.4 1.4-.5 1.3-.4 1.3-.4 1.3-.4 1.3-.5 1.2-.4 1.3-.5 1.3-.4 1.2-.3zm.7.8h-.2.2zm6.6-7v-1l.4.8-.2.2-.3.2-.3.3-.2.3-.2.2-.2.2v.3l-.3.2-.2.2-.2.2-.2.3-.3.3-.2.3-.2.2-.2.3v.3l-.3.2-.2.3-.2.2-.3.2-.2.3-.2.2-.2.2h-.2l-.3.4-.3.2-.2.2-.3.2-.2.2-.3.2-.2.2-.6-.8v-.2l.3-.2.3-.2.2-.2.2-.2.2-.2.3-.2.2-.2.2-.2v-.2l.3-.3.2-.2.2-.2.2-.2v-.2l.3-.2.2-.2.2-.3.2-.3v-.3l.3-.2.2-.2.2-.3.2-.2v-.2l.4-.3.2-.2.2-.2.2-.3.2-.2h.3l.2-.3.4.8zm0-1l1.4-.2-1 1-.4-1zM338.8 172l-.7-.8 1.5-1 1.4-1.2 1.4-1 1.5-1.2 1.5-1 1.7-1 1.7-1 1.7-1 2-1 1.8-1 2-1 2-1 2-.8 2-1 2.2-.7 2-.8 2.3-.8 2.3-1 2.2-.6 2.3-.7 2.3-.6 2.4-.5 2.3-.6 2.4-.7 2.4-.5 2.4-.4 2.4-.4 2.4-.4 2.3-.3 2.3-.3 2.4-.3 2.3-.2v1l-2.3.2-2.3.3-2.3.3-2.3.3-2.4.4-2.3.4-2.4.4-2.3.5-2.3.6-2.3.5-2.3.6-2.3.7-2.2.7-2.2.7-2.2.8-2.2.8-2.2.8-2 1-2 .7-2.2 1-2 1-2 1-1.8.8-1.8 1-1.8 1-1.7 1-1.6 1-1.5 1-1.6 1-1.5 1.2-1.4 1-1.2 1.2zm12.2 37.3l-.5.8-.2-.2-1-1.6-1-1.8-1-1.7-1-1.7-.8-1.7-1-1.6-.8-1.5-.8-1.5-1-1.5-.7-1.5-.8-1.4-.7-1.3-.7-1.4-.5-1.3-.6-1.3-.6-1.2-.4-1.2-.5-1.2-.3-1-.3-1-.4-1.2v-1l-.2-1v-2.8l.3-.8.3-.8.4-.7.5-.8.5-.7.6-.6.8.8-.6.5-.5.6-.4.7-.3.6-.3.7-.2.8v4.5l.4 1v1l.5 1 .4 1 .4 1.3.5 1.2.4 1.2.6 1.3.7 1.3.7 1.4.7 1.4 1 1.4.7 1.5 1 1.5.8 1.5 1 1.6.8 1.7 1 1.7 1 1.7 1 2 1 1.6h-.3zm-.5.8l-.2-.2.2.3zm12.5 1.3v1l.5-.2-.3.4-.2.4-.3.4-.3.3-.3.2-.2.3-.3.2-.3.2h-.3l-.5.2h-2.1l-.4-.2-.5-.2-.4-.2-.3-.2-.5-.2-.4-.3-.5-.3-.5-.3-.4-.4-.6-.3-.5-.3-.5-.4-.6-.4-.5-.4-.6-.4-.5-.5.5-.8.7.4.5.3.6.5.6.3.5.5.4.4.5.2.4.3.4.3.5.3.4.3.4.2.5.2.4.2h.5l.3.2h1.5l.2-.2h.3l.2-.3.2-.2.3-.2.2-.3v-.3l.4-.4.2-.4.4-.4zm-.4.3v-.4h.4l-.4.3zm.4.6v-1l.5.3-.5.6zm.5-.7l.3.6h-.8l.5-.7z"/>
+        <path fill="#edb92e" d="M359 213.6a34 34 0 01-1-4.7c-.7-2.8-.4-5.7.5-8.3-3-4.2-6.4-8.8-8.8-13.3-1.7-3.3-3-7-2-10.6 1-4 4.5-6.6 7.6-9 3.7-2.8 8.6-5.3 13.6-7.5 11-4.6 20-7 26.5-7l-4.2 3.8c-12 4-26.4 9.2-33.3 14.5-9 6.8-8.6 8.4 4.3 26.7.4.6 1.3 2 1 2.7-.6 1.2-1.8 7.2 0 11.4-1 2-2.6 1-4.2 1.2z"/>
+        <path fill="#21231e" d="M357.4 209l1-.2v.7l.2.2v.7h.2v.8l.2.3v.3l.2.3v.7h.2v.6h.2l-1 .4v-.3l-.2-.3v-.2l-.2-.3v-.5l-.2-.3v-.6h-.2v-.5l-.2-.3v-.7l-.2-.3v-.2zm1-.2zm-.4-7.8l1-.6v.5l-.2.4v.2l-.2.2v1l-.2.2v.8l-.2.2v4.7l.2.3-1 .2v-.6l-.2-.2V203h.2v-1l.2-.2v-.5l.2-.2v-.2l.2-.3v.5zm1-.6v.5-.6zm-9.7-12.8l1-.5v.6l.3.4.3.4v.4l.4.5.2.4.3.4v.5l.4.4.3.4.2.4.2.4.3.4.2.4.3.5.3.4.3.3.3.4.2.4.2.5.3.5.3.4.3.4.3.4.3.4.2.4.3.4.2.4.3.4.3.4.3.4.3.4-1 .6-.2-.4-.3-.4-.3-.4-.3-.4-.4-.4-.3-.4-.2-.4-.2-.4-.3-.4-.3-.4-.3-.5-.4-.4-.3-.3-.3-.4-.2-.4-.3-.5-.3-.5-.3-.4-.4-.4-.3-.4-.2-.5-.2-.4-.3-.5-.2-.4-.3-.4-.3-.4-.2-.4-.3-.5-.2-.4-.2-.5-.3-.5-.2-.4zm-2-11l1 .4-.2.3v4.1l.2.4v.3l.2.3v.7l.3.3v.4l.2.4v.6l.3.3v.3l.3.3v.2l.3.3v.3l.2.3-1 .6v-.3l-.2-.3-.2-.3v-.3l-.3-.4v-.3l-.3-.3v-.3l-.3-.3-.2-.3v-.3l-.2-.2v-.4l-.2-.3v-.3l-.2-.3v-.7l-.2-.4V180l-.2-.4V178l.2-.2v-.7l.2-.3zm7.7-9.2l.6.8-.3.2-.3.3-.3.2h-.3l-.3.3-.2.3-.2.2-.3.3-.3.3-.3.2-.3.3-.2.2-.3.3-.4.3-.2.2-.3.3v.3l-.4.3-.2.3-.2.2-.3.3-.3.3-.2.3-.2.4v.3l-.3.3-.2.3v.3l-.3.3v.3l-.2.3v.4l-1-.3v-.4l.2-.4v-.4l.2-.4.2-.4v-.3l.3-.4.2-.2.2-.3.2-.3v-.3l.4-.5.2-.3.2-.2.3-.3.4-.3.2-.3.3-.2.2-.2.3-.3.2-.3.3-.2.3-.3.3-.2.3-.3.2-.2.3-.2.3-.3.3-.2h.4l.3-.4.3-.2zm13.7-7.5l.4.8-.4.2-.4.2-.5.2-.5.2-.4.2-.5.2-.4.3-.6.2-.5.2-.5.2h-.5l-.4.3-.5.3-.3.2-.4.2-.5.3-.4.2-.4.2-.4.3-.5.2-.3.2-.4.3-.4.2-.5.2-.4.2-.2.3-.4.2-.4.2-.4.2-.3.3-.4.3-.4.2-.6-.8.3-.3h.4l.4-.4.4-.3.4-.2.4-.2.4-.2.4-.3.4-.2.4-.2.4-.2.4-.3.5-.2.5-.2.4-.2.4-.2.4-.3h.4l.5-.3.4-.3.6-.2.4-.2.5-.2.5-.3.4-.2.5-.2h.4l.4-.3.5-.2.5-.2.4-.2h.5zm0 0zm27-6.4l-.6-.7.5.7H394l-.6.2h-1.8l-.7.2h-.8l-.7.2h-.7l-.8.3-.8.2h-.7l-.8.2-.8.2-1 .2-.8.2-.8.3-1 .3-.8.3-1 .3-.8.2-1 .3-.8.3-1 .3-1 .5-1 .3-.8.4-1 .4-1 .4-1 .4-1 .4-.5-1 1-.4 1-.4 1-.4 1-.4 1-.3 1-.5 1-.3 1-.4 1-.3.8-.3 1-.3.8-.4 1-.2.8-.3h1l.8-.4.8-.2.8-.2.8-.2h.8l.8-.3.8-.2h.7l.7-.2h.8l.7-.2h1.4l.5-.2h1.9l.4.8zm-.3-1h1.4l-1 1-.4-1zm-4.4 4l4-3.7.8.6-4 3.8-.3.2-.5-1zm.7.8l-.2.2.2-.2zM358.3 172l-.6-1 .7-.5.7-.5 1-.5.7-.5.8-.5 1-.5.8-.4 1-.5 1-.4.8-.5 1.2-.4 1-.5 1-.3 1-.5 1.2-.5 1-.4 1.3-.5 1-.4 1.2-.5 1-.5 1.3-.5 1-.4 1.3-.4 1.2-.5 1.2-.4 1.2-.4 1.2-.5 1-.4 1.3-.3 1.2-.4 1-.3 1.2-.4.3 1-1.2.3-1 .3-1.3.4-1 .4-1.3.5-1.2.4-1.2.3-1.2.4-1 .4-1.2.6-1.2.4-1 .4-1.3.5-1 .3-1.3.5-1 .4-1.2.5-1 .4-1 .6-1.2.5-1 .5-1 .5-1 .5-1 .5-.8.5-1 .4-.8.4-.8.5-.8.4-.7.5-.7.4-.7.5zm4.4 26l-.8.5-1.3-1.7-1-1.5-1-1.5-1-1.4-1-1.3-.8-1.2-.8-1.2-.7-1-.6-1-.7-1-.4-1-.5-1-.4-.7-.2-1-.2-.7v-.7l-.2-.7v-1.4l.2-.6.2-.6.2-.6.3-.6.4-.6.5-.5.5-.5.5-.5.6-.6.7-.5.7-.7.7-.6.7-.7.6 1-.8.5-.7.6-.7.6-.5.6-.6.5-.6.5-.5.6-.5.5-.3.4-.3.5-.3.5v.5l-.2.6v2.2l.3.8.3.7.4.8.4.8.4 1 .6 1 .5 1 .7 1 .7 1.3 1 1.2.7 1.3 1 1.4 1 1.5 1 1.5 1.3 1.7zm1 3l-1-.3v-1h-.2v-.2l-.2-.2v-.2h-.2v-.4l.7-.7.2.2v.4h.2v.2l.2.2v.2l.2.2v.4h.2v1.4zm.2 11.6l-1-.5v.6l-.2-.4-.2-.5v-.4l-.2-.4v-.6l-.2-.4v-.5l-.2-.4v-5.4l.2-.4v-.7l.2-.4v-.5l.2-.3v-.4l.2-.2 1 .3v.2l-.2.2v.6l-.2.2v.6l-.2.3v1.1l-.2.4v5.1l.2.4v.8l.3.4v.4l.2.4.2.4v.4zm0-.4v.4-.4zm-5 1v1-1h.2l.2-.2h1.4v.2h1.5l.2-.2h.2v-.2h.2v-.2l.2-.2.2-.3 1 .6-.2.2-.2.2v.2l-.2.2h-.2v.2l-.3.2h-.4l-.2.2h-.3v.2h-3v-1zm0 1v-1l.6.2-.5.7zm.6-.8l.2.7h-.7l.6-.6z"/>
+        <path fill="#edb92e" d="M468 132.2c.3-2.3 0-2-.3 1.6-.3-.7-.8-1-1.4-1-1 0-1.7 1.6-1.8 5.2l.2 2.8c-33-.7-52.7 4.3-57.7 14-4.2 7.8 3 21 13.6 36 1.3 1.8 1.2 1.6 0 3-1.8 2.3-3.8 6-2.3 9.2a24.3 24.3 0 01-21 1.5c-1-3-3.4-4.4-5.4-5.8-.5-.2-2-1-2-1.4l-10.2-31.6c-9.5-30.7 75.3-33.5 88.3-33.5z"/>
+        <path fill="#21231e" d="M467.3 134l1-.4-1 .2V132h.2v-1.2l.2-.2.6-.3.3.3v1.6h-1V131l.4.2h.6v-.2 1l-.2.2v1.8h-1zm1 0l-.2 1.6-.7-1.5h1zm-2-.7v-1h.7v.2h.4v.2h.2v.2h.2v.2h.2v.2h.2v.2l-1 .5v-.2h-.2v-.2h-.2v-.2h-.4zm0 0zM465 138h-1v-1.8l.2-.3v-.9l.2-.3v-.7h.2v-.3l.2-.3.2-.3.2-.2h.2v-.2h.2v-.2h.5v1h-.2v.2h-.2v.2l-.2.2v.3l-.2.3v.6l-.2.2v2l-.2.3v.4zm-1 0zm.7 3.3v-1l-.5.5v-2.3h-.2v-.4l1-.2v1.8l.2.2v1l-.5.5zm.5-.5v.5h-.5l.5-.5zM407.4 155l-1-.5.7-1 .7-.8.7-1 .8-.7 1-.8 1-.8 1-.8 1-.7 1.3-.7 1.2-.7 1.4-.6 1.6-.6 1.5-.5 1.7-.7 1.7-.5 1.8-.4 2-.5 1.8-.5 2-.3 2.2-.4 2.2-.3 2.2-.2 2.4-.3 2.4-.2 2.5-.2h2.5l2.7-.2h2.7l2.8-.2h9v1H453l-2.8.2h-2.6l-2.6.2-2.5.2-2.4.2-2.3.3-2.2.2-2.2.3-2 .4-2 .3-2 .4-1.8.4-1.8.4-1.7.5-1.6.5-1.5.6-1.5.5-1.3.5-1.3.7-1.2.6-1 .7-1 .7-1 .7-1 .7-.6.8-.7.8-.6.8-.6 1zm13.6 35.5l-.8.6-1-1.3-1-1.4-1-1.4-1-1.5-.8-1.3-.8-1.4-1-1.3-.7-1.3-.8-1.3-.8-1.4-.7-1.2-.7-1.3-.6-1-.6-1.3-.5-1.2-.5-1.2-.5-1.2-.4-1-.5-1-.3-1.2-.3-1-.3-1-.2-1.2v-1l-.2-1V158l.3-.8.3-1 .2-.7.3-.8 1 .5-.4.7-.2.7-.2.8-.2.8v4.5l.2 1 .3 1v1l.5 1 .3 1.2.4 1 .5 1.2.5 1 .5 1.2.6 1.2.6 1.2.6 1.3.7 1 .7 1.4.8 1.3.8 1.3.8 1.3 1 1.3.8 1.4 1 1.3.8 1.4 1 1.4 1 1.5zm0 3.8l-.8-.7.2-.3.2-.2h.2v-.2l.2-.2v-.4l-.2-.2v-.2h-.2v-.3h-.2v-.3h-.2l.8-.7.2.3.2.3v.2h.2v.4h.2v.2l.2.2v1l-.2.2v.2h-.2v.2l-.2.2-.2.2-.2.3zm-2.5 9l-.4-.8-.2.7v-.3l-.2-.5v-.3l-.2-.3v-3.5l.2-.3v-.3l.2-.4.2-.3v-.3l.2-.3.2-.3v-.3l.3-.2v-.3l.3-.2.2-.3v-.2l.3-.3.2-.2v-.3l.3-.2.2-.2.8.7-.2.2-.2.2v.2h-.3v.3l-.3.3-.2.2v.3l-.3.3v.3l-.2.2-.2.3v.7l-.2.2v.2l-.2.3v.6l-.2.4v2.7l.2.3.2.3-.3.6zm.3-.5v.4l-.3.2.3-.6zm-22 1.8l1-.3-.2-.3.6.2.7.3.5.2.6.2h.8l.6.2.6.2h.7l.6.2h5.7l.7-.2h.5l.7-.3h.6l.7-.2.6-.2.7-.2.7-.2.6-.2.6-.3.6-.3.6-.2.7-.4.6-.3.5 1-.6.2-.7.4-.6.4-.7.2-.6.3-.7.2-.6.2-.6.2-.7.2-.6.2h-.6l-.7.3h-.7l-.6.2h-.7l-.7.2h-5l-.7-.2h-.7l-.6-.3h-.7l-.7-.3-.6-.3-.7-.3-.6-.2-.8-.3-.3-.4zm.4.3l-.2-.2v-.2l.2.3zm-5.6-5.8l.6-1 .2.2.2.2h.2l.2.2.2.2h.2l.2.2v.2h.3v.3h.3l.2.3h.2l.2.3.3.3.2.2.2.2.2.2v.2l.3.2v.2l.3.2.2.2v.2l.3.3.2.2.2.2v.2l.3.3v.3l.2.3-1 .3-.2-.2v-.3h-.2v-.3l-.2-.3-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.3-.2-.2-.2-.3-.3-.2-.2-.3-.3h-.2l-.2-.3v-.2l-.3-.2h-.2v-.3h-.3l-.2-.2h-.2l-.2-.2h-.2l-.2-.3h-.2l-.2-.2h-.2zm-2-1.7l.8-.3h.2v.2h.2l.2.2h.2v.2h.4v.2h.2l.2.2h.2l-.6 1-.2-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2zm-10.2-31.7l1-.3.2 1 .3 1 .2.8.3 1 .3 1 .3.8.4 1 .3 1 .3 1 .3 1 .3 1 .3.8.2 1 .4 1 .3 1 .2 1 .3 1 .3 1 .4 1 .3 1 .3 1 .3 1 .5 1 .3 1 .3 1 .5 1 .3 1 .3 1 .4 1.2.4 1 .3 1 .4 1.2-1 .3-.3-1-.2-1.2-.3-1-.4-1-.2-1-.3-1-.3-1.2-.4-1-.3-1-.3-1-.4-1-.3-1-.3-1-.3-1-.4-1-.4-1-.3-1-.4-1-.3-1-.3-.8-.3-1-.4-1-.3-1-.3-1-.3-.8-.3-1-.2-1-.3-1-.3-.8-.3-1-.4-.8-.2-1zm88.2-33.6h1l-.5.5h-5.4l-2.5.2h-2.8l-3 .2-3.3.2-3.5.2-3.7.3-3.8.3-4 .4-4 .5-4 .6-4.2.6-4 .7-4.2 1-4 .8-4 1-3.7 1-3.7 1.3-3.4 1.4-3.3 1.4-3 1.5-2.6 1.6-2.3 1.7-2 2-1.6 1.8-1.2 2.2-.8 2.2-.4 2.3v2.5l.7 2.7-1 .3-.6-2.8v-2.8l.3-2.6 1-2.4 1.2-2.2 1.8-2 2-2 2.5-2 2.7-1.6 3-1.5 3.3-1.6 3.5-1.3 3.6-1 4-1.2 3.8-1 4-1 4-.7 4.2-.6 4.2-.6 4-.6 4-.5 4-.4 4-.4 3.7-.4 3.5-.2 3.3-.2 3-.2h3l2.4-.2h5.4l-.6.4zm1 0v.5h-.5l.7-.5zm-.5 0h-.4.5zm.7 0v.5h-.6l.7-.5z"/>
+        <path fill="#fff" d="M405 190.2c3.5 0 6.4 2.8 6.4 6.4 0 3.5-3 6.4-6.4 6.4s-6.4-3-6.4-6.4c0-3.6 3-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M412 196.6h-1a6 6 0 00-3.4-5.3 5.8 5.8 0 00-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 011 3.6zm-7 7v-1c2.2 0 4.3-1.4 5.2-3.4a6 6 0 00.7-2.6h1c0 2.3-1.4 4.6-3.4 6a7 7 0 01-3.6 1zm-7-7h1c0 2.2 1.4 4.3 3.4 5.3a5.8 5.8 0 002.6.5v1a7 7 0 01-5.8-3.3 7 7 0 01-1-3.6zm7-7v1a6 6 0 00-5.2 3.3 6 6 0 00-.7 2.6h-1c0-2.4 1.4-4.7 3.4-6a6.8 6.8 0 013.6-1z"/>
+        <path fill="#fff" d="M350.8 203.6c3.2 0 6 2.7 6 6s-2.8 6-6 6c-3.3 0-6-2.7-6-6s2.7-6 6-6z"/>
+        <path fill="#21231e" d="M357.2 209.6h-1c0-2-1-4-2.8-4.8a5.4 5.4 0 00-2.6-.7v-1a7 7 0 015.4 3 6.5 6.5 0 011 3.6zm-6.4 6.4v-1c2 0 4-1.2 4.8-3a5.5 5.5 0 00.6-2.4h1c0 2-1.2 4.3-3 5.4a6.4 6.4 0 01-3.4 1zm-6.5-6.4h1c0 2 1.2 4 3 4.8.8.4 1.6.6 2.5.6v1a6.6 6.6 0 01-5.5-3 6.5 6.5 0 01-1-3.4zm6.5-6.5v1c-2 0-4 1.3-5 3a5.5 5.5 0 00-.5 2.6h-1c0-2.2 1.2-4.4 3-5.5a6.4 6.4 0 013.5-1z"/>
+        <path fill="#fff" d="M345 192.7c3.4 0 6 2.7 6 6s-2.6 6-6 6c-3.2 0-5.8-2.7-5.8-6s2.6-6 6-6z"/>
+        <path fill="#21231e" d="M351.5 198.7h-1c0-2-1.2-4-3-5a5.3 5.3 0 00-2.4-.5v-1c2.3 0 4.4 1.2 5.5 3a6.5 6.5 0 011 3.5zM345 205v-1c2 0 4-1 4.8-2.7a5.5 5.5 0 00.7-2.6h1c0 2.2-1.2 4.3-3 5.5a6.4 6.4 0 01-3.4 1zm-6.3-6.3h1c0 2 1.2 4 3 4.8a5 5 0 002.4.6v1c-2 .2-4.2-1-5.3-3a6.5 6.5 0 01-1-3.3zm6.4-6.5v1c-1.8 0-3.7 1-4.6 2.8a5.5 5.5 0 00-.7 2.7h-1c0-2.2 1.2-4.4 3-5.5a6.4 6.4 0 013.4-1z"/>
+        <path fill="#fff" d="M339.8 181.7c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z"/>
+        <path fill="#21231e" d="M346.2 187.7h-1c0-2-1.2-4-3-5a5.4 5.4 0 00-2.4-.5v-1c2.2 0 4.3 1.2 5.4 3a6.5 6.5 0 011 3.5zm-6.4 6.4v-1c2 0 3.8-1 4.7-2.7.5-.8.7-1.7.7-2.6h1c0 2-1 4.3-3 5.4a6.4 6.4 0 01-3.4 1zm-6.4-6.3h1c0 2 1 4 3 4.8.7.4 1.5.6 2.4.6v1a6 6 0 01-5.4-3 6.5 6.5 0 01-1-3.3zm6.4-6.5v1c-2 0-4 1.2-4.8 3a5.5 5.5 0 00-.6 2.5h-1c0-2.2 1-4.4 3-5.5a6.4 6.4 0 013.4-1z"/>
+        <path fill="#edb92e" d="M444.3 202.2c3.4-.3 2.5 5.8 2 7.2-1 1.8-1.8 1.8-3 .2-.8-1.3-2.4-7.2 1-7.5z"/>
+        <path fill="#21231e" d="M446.6 209.6l-1-.4h.2v-.7l.2-.3v-.5l.2-.3V204h-.2v-.3l-.2-.2v-.2l-.2-.2h-.2l-.3-.2h-.2l-.2-.2h-.3v-1h.7l.3.2h.3l.3.2v.2l.3.3.2.2.2.3v.2l.2.3v.7l.2.3v3.7l-.2.3v.5l-.2.3v.5h-.2zm-3.7.3l.8-.7.2.3v.2h.2v.2h.2v.2h.7l.2-.2v-.2h.2v-.2h.2v-.3l1 .3v.2l-.2.2v.3h-.2v.2l-.2.2-.2.2h-.4v.2H444v-.2h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.3h-.3zm1.2-8.4v1h-.4v.2h-.3v.2h-.3v.3l-.2.2v.4h-.2v3.2l.2.2v.6l.2.2v.3l.2.2v.2l.2.2v.2h.2l-1 .7v-.5l-.2-.2v-.2l-.2-.4v-.2l-.2-.3v-.2l-.2-.3v-.7l-.2-.3v-3l.2-.3v-.3l.3-.3.2-.2.2-.3h.2l.2-.3.3-.2h.4l.2-.2z"/>
+        <path fill="#fff" d="M444.5 205.5c8-.6 6 13.8 4.4 17-2 4.2-4 4.3-6.7.5-2-3-5.8-17 2.2-17.5z"/>
+        <path fill="#21231e" d="M449.4 222.7l-1-.4.2-.3.2-.4v-.4l.3-.5.2-.5v-.6l.2-.6.2-.7V217l.2-.7v-5.1l-.3-.7v-.6l-.3-.7-.3-.6-.3-.5-.3-.5-.3-.4-.3-.4-.4-.4-.5-.2-.5-.2-.5-.2h-1.4v-1h1.5l.6.2.7.2.5.4.6.4.4.4.4.5.4.7.3.6v.7l.3.6.2.7v.7l.3.8v6.3l-.3.7v.7l-.2.6v.6l-.3.6v.5l-.3.5v.4l-.3.3zm-7.5.5l.8-.5.2.3.2.3.3.3.2.3h.2v.4h.3l.2.3.2.2h.4l.2.2h1v-.2h.3l.2-.3v-.2l.2-.2.2-.2h.2l.2-.4v-.3l.3-.3.3-.3.2-.4 1 .4-.3.4-.2.5-.2.3-.2.4-.2.3-.2.3-.2.2-.2.2-.2.3-.3.2h-.2v.3h-.4l-.2.2H445l-.4-.2h-.2l-.3-.3v-.2l-.4-.2-.2-.2-.2-.2-.3-.2-.3-.3-.3-.4-.2-.4-.3-.4zm2.5-17.2v-1 1h-.6l-.7.2-.5.2-.5.3-.4.3-.5.4-.3.4-.3.4-.3.6-.2.5v.6l-.2.5v.7l-.2.7v.6l.2.7v1.4l.2.7v.8l.3.7v.6l.3.7.2.6.2.5.2.6.2.7.2.5.2.4.2.4.2.4.2.3-1 .5v-.3l-.3-.5-.2-.4-.2-.4v-.6l-.4-.5-.2-.7-.2-.6-.2-.7-.2-.7v-.7l-.3-.6v-.8l-.2-.7V213l-.2-.7v-.8l.2-.7v-.6l.2-.7v-.7l.4-.6.2-.6.4-.6.4-.5.4-.5.5-.4.6-.3.7-.3.7-.2h.8v1zm0-1v1-1z"/>
+        <path fill="#edb92e" d="M379.7 210.8c3.3-1 4 5 3.6 6.6-.4 2-1.2 2.2-2.7 1-1-1.2-4-6.5-1-7.6z"/>
+        <path fill="#21231e" d="M383.8 217.5l-1-.2v-2.8l-.2-.3v-.7l-.2-.3v-.3l-.2-.2v-.3l-.3-.2-.2-.2-.3-.3-.3-.3h-.3l-.3-.2h-.6l-.4-1h1.5l.2.2.3.2.2.2.3.2.2.3.2.2v.3l.3.3v.4l.2.3v.3l.2.3v.3l.2.4v.6l.2.3v2.5zm-3.5 1l.7-.6h.2v.2h.2l.2.2h.2v.2h.4l.2-.2v-.2h.2v-.6h.2v-.3l1 .2v.4h-.2v.4l-.2.3v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-1v-.2h-.3l-.2-.2h-.2v-.2h-.2l-.2-.2v-.2zm-.7-8.2l.3 1h-.3l-.2.2h-.2v.2l-.2.2v.2l-.2.2v1.8l.2.4v.3l.2.3v.2l.2.3.2.3v.3l.2.3.2.3v.2l.3.2v.2l.2.2.3.3.2.2-.7.6h-.2v-.4l-.3-.2v-.2l-.3-.2v-.3l-.3-.2v-.2l-.2-.3v-.3l-.3-.3v-.4l-.2-.3v-.3l-.3-.3v-.7l-.2-.3V212l.3-.2.2-.3.2-.3.3-.2.2-.2h.2l.4-.3z"/>
+        <path fill="#fff" d="M380.7 214c7.7-2.5 9.2 12 8.4 15.5-1 4.5-2.8 5-6.2 2-2.6-2.4-9.7-15-2-17.5z"/>
+        <path fill="#21231e" d="M389.6 229.6l-1-.2v-.8l.2-.4v-2.9l-.2-.7V223l-.3-.7v-.7l-.3-.8-.2-.7-.2-.6-.2-.7-.3-.7-.2-.6-.3-.6-.3-.4-.4-.5-.3-.4-.4-.3-.4-.4-.4-.4-.5-.2h-.5l-.5-.2h-1.1l-.6.3-.4-1 .7-.2h2.2l.7.2.7.2.5.4.5.5.5.4.4.5.4.5.4.6.3.7.3.6.3.6.3.7.2.8.2.8.2.7v.8l.3.7v1.5l.2.7v4.4zm-7 2.3l.5-1 .5.4.2.2.3.3h.3l.3.3h.2l.3.3h.3l.2.2h1.4l.2-.2.2-.2.2-.3.3-.3v-.6l.2-.2v-.3l.2-.4v-.2l.2-.4 1 .2v.4l-.2.4v.4l-.2.4-.2.3v.3l-.2.3-.2.4v.3l-.3.2h-.2v.3l-.3.2h-.2l-.2.3h-.8l-.3.2h-.5l-.3-.2h-.2l-.3-.2h-.4l-.3-.3-.3-.2h-.3l-.3-.3-.3-.3-.2-.2-.3-.3zm-2-18.5l.3 1-.7.2-.6.3-.4.3-.4.4-.4.4-.3.5-.2.5v.5l-.2.6v2.5l.2.6.2.7.2.6.2.7.3.7v.7l.4.6.3.7.4.6.4.6.3.6.4.6.4.5.3.4.3.4.4.4.2.4.3.3-.5 1-.3-.4-.3-.3-.4-.4-.4-.5-.3-.5-.4-.5-.4-.6-.3-.7-.5-.6-.3-.6-.4-.6-.3-.6-.3-.7-.3-.7-.3-.7-.3-.7-.2-.8-.2-.8v-.7l-.2-.7V218l.2-.7.2-.6.2-.6.3-.5.4-.5.6-.5.6-.4.7-.2.6-.3zm0 .5v-.5.5z"/>
+        <path fill="#edb92e" d="M464.2 137.8c-17.2-1.6-35 .2-52.3 7-14.8 6-13.4 23.2 4.6 47-1.7 3-2.6 6.8-2.7 11h4.8c-1.3-2.8 0-6.4 1.8-9 1-1.5 1.3-1.2 0-3-10.7-15-17.8-28.2-13.6-36 5-9.7 24.6-14.7 57.7-14 0-1 0-1.8-.2-2.7 0 0-.2 0-.3-.2z"/>
+        <path fill="#21231e" d="M412 145.4l-.3-1 1.7-.6 1.6-.6 1.7-.6 1.6-.5 1.6-.4 1.6-.5 1.6-.4 1.7-.4 1.5-.4 1.7-.4 1.6-.4 1.7-.3 1.6-.3 1.8-.3h1.6l1.7-.3 1.7-.2 1.7-.2 1.6-.2h3.3l1.6-.2h11.5l1.6.2h1.6l1.6.3v1l-1.7-.2h-4.9l-1.6-.2h-9.7l-1.6.2H443l-1.5.3-1.7.2-1.6.2-1.6.2H435l-1.7.4-1.6.3-1.7.3-1.6.4-1.6.3-1.7.5-1.5.4-1.6.4-1.8.5-1.6.6-1.6.6-1.7.6-1.6.6-1.6.6zm5 46.7l-1-.4.2.5-1.7-2-1.5-2.3-1.5-2-1.3-2.2-1.3-2-1.2-2-1-2-1-2-1-2-.7-1.7-.6-1.8-.5-1.8-.6-1.7-.4-1.6-.3-1.7-.2-1.6v-4.4l.2-1.3.3-1.3.4-1.2.5-1.2.5-1.2.7-1 .8-1 .8-1 1-.7 1-.8 1.3-.8 1.4-.6 1.3-.5.4 1-1.2.5-1.2.6-1 .7-1 .8-1 1-1 .8-.6 1-.7 1-.5 1-.5 1-.3 1.2-.3 1.2-.2 1.2v3.8l.2 1.5.3 1.7.3 1.6.5 1.6.6 1.6.7 1.8.8 1.8 1 2 .8 1.8 1 2 1.2 2 1.2 2 1.4 2 1.4 2.2 1.5 2 1.7 2.3v.6zm0-.5l.2.3-.2.3v-.5zm-3 11v1l-.6-.6v-2.5l.2-.4v-1l.2-.4v-.7l.2-.5v-.4l.2-.2v-.4l.2-.3v-.3l.2-.3v-.4l.2-.3v-.3l.2-.3v-.3l.3-.3v-.3l.2-.2.2-.3v-.3l.3-.3v-.4l1 .5v.4l-.3.2v.3l-.2.2-.2.3v.3l-.2.3v.4l-.2.3v.3l-.2.4v.3l-.2.3v.3l-.2.4v.7l-.2.3v.8l-.2.4v.8l-.2.4v1.4l-.2.4v.7l-.5-.6zm0 1h-.6v-.6l.5.5zm4.3-.4l1-.4-.5.8h-4.6v-1h4.6l-.5.7zm1-.4l.3.7h-.8l.4-.7zm1-9l.7.6-.2.2v.3l-.2.2-.2.2v.2l-.3.3v.4l-.2.3-.2.2v.3l-.2.3v.2l-.2.3v.7l-.2.2v.5l-.2.3v2.2l.2.3v.4l.2.2-1 .5v-.5l-.2-.3v-.7l-.2-.3v-2.7l.2-.3v-.3l.2-.2v-.3l.2-.3v-.3l.2-.4v-.3l.2-.3.2-.3v-.2l.2-.3.2-.3v-.3l.3-.3v-.3h.3l.2-.3zm0-2.5l.7-.5.2.3.2.3v.2h.2v.4h.2v.4l.2.2v.5l-.2.2v.2h-.2v.2l-.2.2v.2h-.2v.3l-.2.2-.8-.6v-.2l.2-.2.2-.2v-.2h.2v-.4h.2v-.2h-.2v-.2l-.2-.2v-.3h-.2v-.3h-.2zm-13.8-36.5l1 .5-.4.7-.2.7-.2.8-.2.8v4.5l.2 1 .3 1v1l.5 1 .3 1.2.4 1 .5 1.2.5 1 .5 1.2.6 1.2.6 1.2.6 1.3.7 1 .7 1.4.8 1.3.8 1.3.8 1.3 1 1.3.8 1.4 1 1.3.8 1.4 1 1.4 1 1.5-.8.6-1-1.3-1-1.4-1-1.4-1-1.5-.8-1.3-.8-1.4-1-1.3-.7-1.3-.8-1.3-.8-1.4-.7-1.2-.7-1.3-.6-1-.6-1.3-.5-1.2-.5-1.2-.5-1.2-.4-1-.5-1-.3-1.2-.3-1-.3-1-.2-1.2v-1l-.2-1V158l.3-.8.3-1 .2-.7.3-.8zm57.7-13.7h1l-.5.5h-14.5l-2.6.2H445l-2.5.3-2.4.2-2.3.3-2.2.2-2.2.3-2 .4-2 .3-2 .4-1.8.4-1.8.4-1.7.5-1.6.5-1.5.6-1.5.5-1.3.5-1.3.7-1.3.6-1 .7-1 .7-1 .7-.8.7-.8.8-.7.8-.6.8-.6 1-1-.5.7-1 .7-.8.7-1 .8-.7 1-.8 1-.8 1-.8 1-.7 1.2-.7 1.3-.7 1.4-.6 1.6-.6 1.5-.5 1.7-.7 1.7-.5 1.8-.4 2-.5 1.8-.5 2-.3 2.2-.4 2.2-.3 2.2-.2 2.4-.3 2.4-.2 2.5-.2h2.5l2.7-.2h2.7l2.8-.2h9l-.6.6zm1 0v.5h-.5l.5-.5zm-1-2.3l.7-.7v1.9h.2v1h-1v-2.3l-.2-.2v-.4.3zm.7-.7v.3-.2zm-1.2-.4l.8.7v-.6.2h.2v.2l-.7.7v-.4h-.2v-.6zm0 .7l-.3-.2.3-.4v.7zm.8 0l-.8-.6h.4l.4.7zm-.4-.7h1l-.6.8-.4-.7z"/>
+        <path fill="#fff" d="M380.6 142.7c3.4 0 6 2.7 6 6s-2.6 6.3-6 6.3-6.2-2.7-6.2-6.2a6 6 0 016.2-6z"/>
+        <path fill="#21231e" d="M387.2 148.8h-1c0-2-1.2-4-3-5a5.6 5.6 0 00-2.6-.6v-1c2.2 0 4.5 1.2 5.6 3a6.7 6.7 0 011 3.6zm-6.6 6.7v-1c2 0 4-1.2 5-3a7 7 0 00.6-2.7h1a7 7 0 01-3 5.7 6.6 6.6 0 01-3.6 1zm-6.7-6.7h1c0 2 1.2 4.2 3 5a5.6 5.6 0 002.6.7v1a6.6 6.6 0 01-5.6-3 6.7 6.7 0 01-1-3.7zm6.6-6.7v1.2c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.6h-1c0-2.2 1-4.4 3-5.6a6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M392.6 138.7c3.4 0 6.2 2.8 6.2 6.2 0 3.3-2.8 6-6.2 6a6 6 0 01-6-6c0-3.5 2.6-6.3 6-6.3z"/>
+        <path fill="#21231e" d="M399.3 145h-1c0-2.2-1.3-4.3-3.2-5.2a5.6 5.6 0 00-2.4-.6v-1a7 7 0 015.7 3 6.7 6.7 0 011 3.7zm-6.7 6.6v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.7-2.7h1c0 2.2-1.2 4.4-3.2 5.6a6.6 6.6 0 01-3.4 1zM386 145h1c0 2 1.2 4 3 5a5.6 5.6 0 002.6.6v1a6.7 6.7 0 01-5.6-3.2 6.7 6.7 0 01-1-3.5zm6.6-6.8v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.7h-1c0-2.4 1.2-4.7 3.2-5.8a6.6 6.6 0 013.4-1z"/>
+        <path fill="#edb92e" d="M394.2 144a261.2 261.2 0 002 2.4c-9.8 5.4-14 11-13 16.7.2 1 3.2 11.5 9.8 31.7 4.5 3 7.8 6 10 8.4-.2.4.8 1.2.5 1.5.7 3-2.8 2.4-5 1.7-1.2-3-4.6-6-6.6-7.5-.5-.2-2-1-2-1.4l-10.2-31.6c-3-9.8 3.6-16.8 14.4-21.7z"/>
+        <path fill="#21231e" d="M396.3 147l-.5-1v.7h-.2v-.2h-.2v-.2l-.2-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2l.8-.7.2.2h.2v.4h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l.2.2v1zm.2-1l.3.6-.5.3.2-1zm-12.7 17l-1 .2v-3.9l.2-.6.2-.5.2-.6.2-.5.3-.5.2-.5.3-.6.4-.5.3-.6.4-.6.5-.5.4-.6.6-.5.5-.5.6-.5.6-.6.5-.5.7-.4.7-.5.6-.5.8-.5.8-.5 1-.5.7-.5.8-.5.5 1-1 .4-.7.5-.8.4-.8.5-.8.4-.7.5-.7.4-.6.5-.7.4-.6.5-.6.4-.5.5-.6.4-.5.6-.5.5-.4.5-.3.5-.3.5-.3.5-.2.5-.2.5-.2.5-.2.5-.2.5v.5l-.2.5v3.1zm0 0zm9.5 31.3l-.6.8-.2-.2-.6-1.8-.7-1.8-.5-1.8-.6-1.7-.5-1.6-.5-1.5-.5-1.5-.5-1.5-.4-1.4-.4-1.2-.4-1.3-.4-1.3-.4-1-.3-1.3-.4-1-.3-1-.3-1-.3-1-.3-.8-.2-.8-.2-.8-.2-.6-.2-.7v-.5l-.3-.5v-.5l-.2-.4v-.8h-.2v-.3h1v.3l.2.3v.4l.2.3v.5l.2.5.2.6.2.7.2.7.2.7.2 1 .3.7.2 1 .2 1 .3 1 .3 1 .4 1 .4 1.2.3 1.2.3 1.3.5 1.3.4 1.4.5 1.5.4 1.5.7 1.6.5 1.6.5 1.7.6 2 .6 1.7.5 1.8-.2-.2zm-.6.8l-.2-.2.2.3zm10.7 8.4l-.7-.6v.6l-.2-.2-.2-.2-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2-.2-.2-.2-.3-.3-.2-.3-.2-.2-.2-.3-.3-.3-.3-.3-.2-.4-.3-.3-.2-.4-.3-.4-.3-.3-.2-.4-.3-.4-.3-.4-.3-.3-.3-.5-.3-.4-.2-.3-.3-.4-.2-.4-.3-.5-.3-.4-.3-.3-.3.6-.7.4.3.4.3h.5l.4.4.3.3.4.3.4.3.5.3.3.2.4.3.3.4.4.3.2.2.4.2.3.3.2.2.3.3.3.3.3.2.4.3.3.2.3.3.3.3.2.2.3.3.3.3.3.3.2.2.3.2.2.3.2.2.2.3v.6zm0-.6l.3.3-.3.4v-.6zm.6 1.6l-1 .2.2-.5v.2h-.2v.2-.2l-.2-.2v-.2h-.2v-1.2l.8.6v-.2h.2v.2l.2.2v.2l.2.2v.7l-.2.2.2-.6zm-1 .2v-.3l.2-.2-.2.6zm-5 1.8l1-.4-.4-.3h.4l.2.2h.7l.4.2h2.3v-.2h.2v-1.4l1-.2v1.6l-.2.3v.2l-.2.2h-.2l-.2.2h-.4l-.2.2h-3l-.3-.2h-.5l-.3-.2h-.5l-.3-.4zm.2.3h-.2v-.3l.2.3zm-6.6-7.5l.6-1 .2.3h.2l.2.3h.2l.3.3.2.3.2.2.2.2.2.2h.2l.2.3.3.2v.3l.4.2.2.3.2.2.3.3.3.2.2.3.3.3.2.2.2.3.2.4.2.3.2.3.2.2.2.3v.3l.3.3v.4l.3.3v.3l-1 .4v-.3l-.2-.4-.2-.3v-.2l-.3-.2v-.3l-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.2-.2-.3-.3-.2-.2-.3v-.2l-.3-.3-.3-.2-.2-.2-.2-.2-.3-.2-.2-.2-.2-.2h-.2l-.2-.3h-.2l-.2-.3h-.2l-.2-.3h-.2l-.2-.2zm.6-1l.3.3-.3-.2zm-2.7-.7l1-.3.2.2h.2v.2h.2v.2h.4v.2h.2l.2.2h.2l-.6 1-.2-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2zm-10-31.7l.8-.3.3 1 .3 1 .2.8.3 1 .3 1 .3.8.4 1 .3 1 .3 1 .3 1 .3 1 .3.8.2 1 .4 1 .3 1 .2 1 .3 1 .3 1 .4 1 .3 1 .3 1 .3 1 .5 1 .3 1 .3 1 .5 1 .3 1 .3 1 .4 1.2.4 1 .3 1 .4 1.2-1 .3-.3-1-.2-1.2-.3-1-.4-1-.2-1-.3-1-.3-1.2-.4-1-.3-1-.3-1-.4-1-.3-1-.3-1-.3-1-.4-1-.4-1-.3-1-.4-1-.3-1-.3-.8-.3-1-.4-1-.3-1-.3-1-.3-.8-.3-1-.2-1-.3-1-.3-.8-.3-1-.4-.8-.2-1zm15-22l-.7.5h.6l-1 .6-1 .4-1 .5-.8.4-1 .5-.7.4-1 .5-.7.5-.8.5-.7.6-.7.6-.5.6-.7.6-.5.6-.6.7-.5.6-.4.7-.4.6-.4.7-.3.7-.3.7-.3.7v.8l-.2.7v.7l-.2.8v2.6l.3.8v1l.3.7-1 .3-.2-1v-.8l-.3-1V159l.2-1 .2-.7.2-.6.3-.8.4-.7.5-1 .4-.6.4-.7.6-.7.5-.7.6-.6.8-.6.6-.6.8-.6.7-.6.7-.5.8-.6 1-.5.7-.5 1-.5 1-.5.8-.5 1-.5 1-.5.6.2zm-.5-.3l.4-.2.2.4-.6-.2z"/>
+        <path fill="#edb92e" d="M356 217l-.4 2c-2.8.5-5.3.7-7.3.3 3.4-3.3 6-4 7.6-2.4z"/>
+        <path fill="#21231e" d="M355 218.8l.4-2 1 .2-.3 2-.3.4-.6-.6zm1 0v.5h-.3l.4-.4zm-8 .2l.7.7-.3-1 .2.2h4.1l.3-.2h1l.2-.2h.7l.2-.2h.3l.2 1h-.8l-.4.2h-.5l-.4.2h-1.3v.2h-3.7l-.4-1zm.2 1l-1-.3.8-.7.2 1zm8.2-3l-1-.2.2.5v-.2h-.6v-.2h-.6l-.2-.2H353v.2h-.6l-.2.3-.2.2h-.3l-.2.2-.3.2-.2.2-.3.2-.3.2-.2.2-.3.2-.4.3h-.3l-.3.4-.3.3-.7-.7.3-.3.3-.3.3-.3.2-.2.3-.2.3-.2.3-.3h.4l.3-.3h.3l.2-.3h.3l.3-.3h.6l.3-.2h.5l.4-.2h1.3l.2.2h.3l.2.2h.2l.2.2.3.3v.5zm0-.5v.5-.5zm-.5.4h.4-.5zm.3-.5l.2.2v.3l-.2-.5z"/>
+        <path fill="#edb92e" d="M355.6 212.3c1.8.4 2 .7 2.7 1 1 0 2.4 0 3.3-1 4-2.2 4 2 2.5 5-1 2.4-.5 5 .6 7 1.2 2.2 1 3.2 0 4l-1.6 1c-1 1.2-1.8 1-2-.6-3.8-1.6-5-5.3-6.2-8.6-1.7-4.7-7.8-5.8.8-7.7z"/>
+        <path fill="#21231e" d="M358.4 212.7v1h-.7v-.2h-.4l-.2-.2h-.4l-.2-.2h-.8l-.3-.2.2-1h.4l.2.2h.4l.2.2h.4v.2h.8v.2h.4zm3-.7l.5 1v-.2l-.2.2h-.3v.2h-.2l-.2.2h-.2l-.2.2h-2.1v-1h2.2l.2-.2h.2v-.2h.2l.2-.2zm0 0zm3 5.6l-.8-.4v-.3l.3-.4v-.5l.2-.2v-.6l.2-.3v-2.2h-.2v-.2h-.2v-.2h-1.2l-.3.2-.3.2-.3.2-.6-1 .4-.2.3-.2h.5l.3-.2h1.8l.2.2.2.2v.2l.2.3v.4l.2.3v2.4l-.2.3v.3l-.2.4v.3l-.2.3v.3l-.3.3zm.6 6.3l-1 .4v-.4l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.5l-.2-.2v-.8l-.2-.2v-2.3l.2-.2v-.3l.2-.3v-.3l.2-.2 1 .4-.2.2v.4l-.2.2v.8l-.2.2v2l.2.2v.5l.2.2v.4h.2v.2l.2.2v.4h.2zm0 4.6l-.6-1h.2v-.2h.2v-1.6l-.2-.3v-.3l-.2-.2v-.2l-.2-.2v-.2l.8-.5v.2l.2.2v.2l.2.2v.2l.2.2v.2l.2.3v1.7l-.2.2v.2h-.2v.2h-.2v.2l-.2.2zm0 0zm-1.6 1l-.8-.7v-.2h.2l.2-.2h.2v-.2h.4v-.2h.2v-.2h.4v-.2h.2l.6.8h-.2v.2h-.4v.2h-.2l-.2.2h-.2v.2h-.2l-.2.2zm-.8-.7v-.2zm-1.8 0l.4-.8.3.4v.5h.2v.2h.4v-.2h.2v-.2h.2l.8.6-.2.2-.2.2-.3.2h-.2v.2h-1.1l-.2-.2v-.2l-.2-.2v-.4h-.2v-.7l.2.4zm.4-.8h.3v.4l-.3-.4zm-7-8l1-.3.2.2v.3l.2.3v.4l.2.3v.3l.3.3.2.4v.3l.2.3.2.3v.3l.3.3v.2l.2.3v.2l.3.3.2.3.2.2v.3l.3.2.2.3.2.2.2.2.2.2h.2l.3.3.3.2.3.2.3.2h.3l.2.2-.4 1-.3-.2-.4-.2-.2-.2-.4-.2-.3-.2-.2-.3-.3-.3-.2-.2-.3-.3-.3-.2-.2-.3-.2-.3-.2-.3-.3-.4-.2-.3-.2-.3-.2-.3v-.4l-.2-.3v-.3l-.3-.3v-.3l-.3-.2v-.3l-.2-.4v-.2l-.2-.3-.2-.3v-.3l-.2-.4v-.3zm1.4-8.4v1l-.6.2-.7.2h-.6l-.5.3h-.4l-.4.3h-.3v.3l-.2.2v.2h-.2v.2l.2.3.3.2.2.3.2.2.2.3.3.2v.3l.4.3.2.3.3.5.2.3.2.4.3.4.2.4v.5l.3.4-1 .3v-.4l-.3-.5-.2-.4-.2-.3-.3-.3-.2-.3v-.2l-.4-.3-.2-.3-.3-.3v-.4l-.3-.2-.3-.3-.3-.4v-.2l-.2-.3-.2-.4v-.6l.3-.3v-.2l.3-.3h.3l.4-.3.4-.3.5-.2h.4l.7-.3.8-.2.7-.2zm0 0zm0 1v-1 1zm0-1z"/>
+        <path fill="#edb92e" d="M357 212.5c3.5 1.2 4-.7 6-.6-.8 5-1.7 7.7-7 5-3-1.6-6.7.7-7.4 2.3-.3.6-2-.6-2.6-2-2.6-5.8 6.7-6.4 11-4.8z"/>
+        <path fill="#21231e" d="M363.6 212l-1-.2.5.6H362v.2h-.3l-.2.2h-.2l-.3.2h-.3v.2h-.7l-.2.2h-2l-.4-.2h-.3l-.3-.2.3-1h.3l.3.2h.4l.2.2h1.3l.2-.2h.2l.2-.2h.5l.2-.2h.2l.3-.2h.5l.2-.2h.4l.6.6zm-.5-.6h.7v.6l-.6-.6zm-7.2 6l.4-1 .5.4.5.2h.4l.4.3h.3l.4.2h1.7l.2-.2.3-.3.2-.3v-.2l.2-.2.2-.3v-.3l.2-.3v-.3l.2-.2v-.4l.2-.4v-.4l.2-.4v-.9l.2-.5 1 .2v.5l-.2.5v.8l-.2.5v.4l-.2.4v.4l-.3.4v.3l-.2.4-.2.4v.2l-.3.3-.2.3-.2.2-.3.2-.2.2h-.2l-.3.2h-.3l-.3.2h-1.6l-.4-.2-.4-.2h-.4l-.4-.3-.5-.3-.5-.3zm-6.8 2l-1-.3h.2v-.3h.3v-.3l.3-.2v-.2l.3-.2h.3l.2-.3.2-.2h.3l.2-.3h.3l.2-.3h.3l.3-.2h.3l.2-.2h.3l.4-.2h2.3l.3.2h.3l.3.2h.2l-.4 1h-.3l-.2-.2h-.5l-.3-.2h-1.8l-.3.2h-.3l-.3.2h-.3l-.2.3h-.2l-.3.2h-.2l-.2.2h-.2v.2l-.2.2h-.2v.3h-.2v.2h-.2v.2h-.2zm-3.5-2l1-.3v.4h.2v.4h.2v.2l.2.2h.2v.2l.2.2h.2v.2h.4v.2l.8.5v.2l-.3.2h-1v-.2h-.2l-.3-.2h-.2v-.2l-.2-.2-.2-.2h-.2v-.3h-.2v-.2h-.2v-.3h-.2v-.4h-.2v-.3zm11.8-5.4l-.3 1-.4-.2h-.5l-.3-.2h-.5l-.5-.2h-5l-.5.2-.4.2h-.4l-.4.3-.4.3-.3.2v.2l-.4.2-.2.2v.3l-.3.2v1.6l.3.4.2.5-1 .5-.2-.5-.2-.6V215l.2-.6.2-.4.2-.4.3-.3.2-.4.3-.3.4-.3.4-.2.4-.2.5-.2h.5l.5-.3h1.1l.5-.2h3.3l.6.2h.5l.4.2.5.2h.3zm0 .5v-.5.5z"/>
+        <path fill="#fff" d="M458.8 124.5c3.4 0 6.2 2.7 6.2 6 0 3.5-2.8 6.3-6.2 6.3s-6-2.8-6-6.2a6 6 0 016-6z"/>
+        <path fill="#21231e" d="M465.5 130.6h-1c0-2-1.3-4.2-3.3-5a5.5 5.5 0 00-2.4-.6v-1a7 7 0 015.7 3 6.7 6.7 0 011 3.6zm-6.7 6.7v-1c2 0 4-1.2 5-3a5.6 5.6 0 00.6-2.7h1c0 2.3-1 4.5-3 5.7a6.6 6.6 0 01-3.6 1zm-6.6-6.7h1c0 2 1.3 4.2 3.2 5a5.5 5.5 0 002.4.7v1a6.6 6.6 0 01-5.6-3.2 6.7 6.7 0 01-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a5.6 5.6 0 00-.6 2.6h-1c0-2.2 1.2-4.4 3.2-5.6a6.6 6.6 0 013.4-1z"/>
+        <path fill="#fff" d="M446.3 124.5a6 6 0 016 6c0 3.5-2.6 6.3-6 6.3s-6-2.8-6-6.2c0-3.4 2.6-6 6-6z"/>
+        <path fill="#21231e" d="M453 130.6h-1c0-2-1.3-4-3.2-5a5.5 5.5 0 00-2.5-.6v-1c2.3 0 4.5 1.2 5.6 3a6.7 6.7 0 011 3.6zm-6.7 6.7v-1c2 0 4-1.3 5-3a7 7 0 00.6-2.7h1c0 2.3-1.3 4.5-3.2 5.7a6.6 6.6 0 01-3.5 1zm-6.6-6.7h1c0 2 1.2 4.2 3 5a5.5 5.5 0 002.6.7v1a6.5 6.5 0 01-5.6-3.2 6.7 6.7 0 01-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a5.6 5.6 0 00-.6 2.6h-1a7 7 0 013-5.6 6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M433.8 125.5a6 6 0 016 6c0 3.5-2.6 6.3-6 6.3s-6-2.8-6-6.2 2.6-6 6-6z"/>
+        <path fill="#21231e" d="M440.4 131.6h-1c0-2-1.2-4-3-5a5.5 5.5 0 00-2.6-.6v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.6zm-6.6 6.7v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.6-2.7h1a7 7 0 01-3 5.7 6.6 6.6 0 01-3.6 1zm-6.6-6.7h1c0 2.2 1.3 4.3 3.2 5.2a5.5 5.5 0 002.4.5v1a6.4 6.4 0 01-5.6-3.2 6.7 6.7 0 01-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.6h-1c0-2.3 1.3-4.6 3.3-5.7a6.6 6.6 0 013.3-1z"/>
+        <path fill="#fff" d="M422.3 127.7c3.3 0 6 2.8 6 6.2 0 3.3-2.7 6-6 6s-6.2-2.7-6.2-6 3-6.3 6.3-6.3z"/>
+        <path fill="#21231e" d="M429 134h-1a6 6 0 00-3.3-5.2 5.5 5.5 0 00-2.4-.6v-1c2.2 0 4.4 1.2 5.6 3.2a6.7 6.7 0 011 3.5zm-6.7 6.5v-1c2 0 4-1.2 5-3 .4-1 .6-1.8.6-2.6h1c0 2-1.3 4.3-3.3 5.5a6.6 6.6 0 01-3.4 1zm-6.7-6.6h1c0 2 1.2 3.8 3 4.8a5 5 0 002.7.7v1a7 7 0 01-5.7-3 6.7 6.7 0 01-1-3.6zm6.7-6.8v1c-2 0-4.2 1.3-5 3.2a5.7 5.7 0 00-.7 2.5h-1c0-2.5 1.3-4.7 3.3-6a6.6 6.6 0 013.3-.8z"/>
+        <path fill="#fff" d="M346.3 159.4a6 6 0 016 6.2c0 3.4-2.6 6.2-6 6.2s-6-2.8-6-6.2a6 6 0 016-6.2z"/>
+        <path fill="#21231e" d="M353 165.6h-1c0-2-1.3-4-3.2-5a5.6 5.6 0 00-2.5-.7v-1c2.2 0 4.5 1 5.6 3a6.7 6.7 0 011 3.6zm-6.7 6.7v-1c2 0 4-1.2 5-3a7 7 0 00.6-2.7h1c0 2.3-1.3 4.5-3.2 5.7a6.6 6.6 0 01-3.5 1zm-6.7-6.7h1c0 2 1.3 4.2 3.2 5a5.6 5.6 0 002.5.7v1a7 7 0 01-5.6-3 6.7 6.7 0 01-1-3.7zm6.7-6.7v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.6h-1a7 7 0 013-5.7 6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M356.8 152.8c3.4 0 6.2 2.7 6.2 6 0 3.6-2.8 6.3-6.2 6.3-3.4 0-6-2.6-6-6a6 6 0 016-6.2z"/>
+        <path fill="#21231e" d="M363.5 159h-1c0-2.2-1.3-4.2-3-5a5.6 5.6 0 00-2.7-.7v-1a7 7 0 015.7 3 6.7 6.7 0 011 3.6zm-6.7 6.6v-1a5.7 5.7 0 005.7-5.7h1a7 7 0 01-3 5.6 6.6 6.6 0 01-3.7 1zm-6.6-6.7h1c0 2 1.2 4 3 5a5.6 5.6 0 002.6.6v1a7 7 0 01-5.6-3 6.7 6.7 0 01-1-3.7zm6.6-6.8v1c-2 0-4 1.3-5 3.2a5.7 5.7 0 00-.6 2.5h-1c0-2.3 1.2-4.6 3-5.8a6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M368.8 147c3.4 0 6 3 6 6.3 0 3.4-2.6 6.2-6 6.2s-6-2.8-6-6.2a6 6 0 016-6.2z"/>
+        <path fill="#21231e" d="M375.4 153.3h-1c0-2-1.2-4.2-3-5a5.6 5.6 0 00-2.6-.7v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.7zm-6.6 6.7v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.6-2.7h1a7 7 0 01-3 5.7 6.6 6.6 0 01-3.6 1zm-6.7-6.7h1c0 2 1.4 4 3.2 5a5.6 5.6 0 002.6.7v1a6.9 6.9 0 01-5.7-3.2 6.7 6.7 0 01-1-3.5zm6.8-6.7v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.7h-1c0-2.3 1-4.5 3-5.7a6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M338.2 169.5a6 6 0 016 6.2c0 3.4-2.6 6.2-6 6.2s-6.2-3-6.2-6.3 2.8-6.2 6.2-6.2z"/>
+        <path fill="#21231e" d="M344.8 175.7h-1c0-2-1.3-4.2-3.2-5a5.6 5.6 0 00-2.4-.7v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.7zm-6.6 6.7v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.6-2.7h1c0 2.3-1.2 4.5-3.2 5.7a6.6 6.6 0 01-3.4 1zm-6.7-6.7h1c0 2 1.2 4 3 5a5.6 5.6 0 002.7.7v1a6.9 6.9 0 01-5.7-3.2 6.7 6.7 0 01-1-3.5zm6.7-6.7v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.7 2.7h-1c0-2.3 1.2-4.5 3.2-5.7a6.6 6.6 0 013.5-1z"/>
+        <path fill="#edb92e" d="M408.8 279l22-12.8 23.4 10-22 13z"/>
+        <path fill="#21231e" d="M431 266.7l-22 12.8-.4-1 22-12.7h.5v1zm-.4-1h.5-.4zm23.5 11l-23.3-10 .4-1 23.4 10v1h-.3zm.4-1l1 .5-1 .5v-1zm-22.4 13l22-13 .5 1-22 12.8h-.5v-.8zm.5.8l-.2.2h-.3l.5-.2zm-23.4-11l23.4 10-.4 1-23.3-10v-1h.4zm-.3 1l-1-.4 1-.4v1z"/>
+        <path fill="#c6363c" d="M431 270.6c5.8-.3 10.5 2.5 10.8 6.3.2 3.7-4.2 7-9.8 7.4-5.7.3-10.4-2.5-10.7-6.3-.2-3.6 4.2-7 9.8-7.4z"/>
+        <path fill="#21231e" d="M442.3 277h-1v-.7l-.2-.3v-.6l-.3-.3v-.2l-.3-.2-.2-.3-.2-.3-.3-.2-.3-.3-.2-.2-.3-.2h-.5l-.3-.3-.3-.2-.5-.2-.4-.2h-.3l-.4-.2h-.4l-.5-.3h-.9l-.5-.2h-.8l-.5-.2h-1l-.5.2v-1h3.6l.4.2.5.2h.5l.4.2.5.2.5.2.4.2.3.2.4.2.4.2.4.2.4.3.3.3.4.3.3.3.3.3.2.4.2.3.2.3.2.4v.3l.3.4.2.4v.8zm-10.3 8v-1l.4-.2h.9l.5-.2h.4l.4-.2h.5l.4-.3h.5l.4-.2.4-.2.4-.2.3-.2.4-.2.4-.3.4-.2.3-.2.3-.3.3-.2.3-.3v-.3l.3-.3.2-.4.2-.2v-.3l.2-.2v-.6l.2-.3v-1.1l1-.2v1.6l-.2.4v.3l-.3.5v.3l-.3.4-.3.3v.3l-.4.4-.3.3-.3.3-.3.2-.3.3-.4.3-.4.2-.4.3-.4.3-.4.2-.4.2-.5.2h-.4l-.4.2-.5.2h-.4l-.5.2h-.4l-.5.2h-1zm-11.2-6.8h1v.5l.2.3v.3l.2.3.2.3v.2l.3.3.2.2v.3l.4.2.2.3.3.2.2.2.3.2.4.2.2.2h.4l.4.3h.4l.4.2.4.2h.4l.5.2h1l.4.2h2.3v1H428l-.5-.2h-.4l-.5-.3h-.6l-.4-.3h-.4l-.5-.3-.3-.2-.3-.3-.4-.2-.4-.2-.3-.3-.3-.2-.3-.3-.3-.3-.3-.3v-.3l-.3-.3-.2-.3-.2-.4-.2-.3v-1l-.2-.4zm10.3-8l.2 1h-1.5l-.5.2h-.5l-.5.2-.4.2h-.5l-.4.3-.5.2-.4.2-.3.2-.4.2-.3.2-.3.3-.4.2-.3.3-.3.2-.2.3-.3.2-.2.3-.2.3-.2.4-.2.3v.3l-.3.3v.8l-.2.3v.6l-1 .2V277l.2-.4v-.3l.2-.4v-.5l.3-.3.2-.4.3-.3.2-.3.3-.3.2-.4.4-.3.4-.3.3-.3.4-.3.5-.2.3-.3.5-.3.4-.2.4-.2.6-.2h.4l.5-.2h.5l.5-.3h.5l.5-.2h1.1l.5-.2z"/>
+        <path fill="#edb92e" d="M382.4 270l23.8 9-19.7 13c-5-1.6-9-19-4-22z"/>
+        <path fill="#21231e" d="M406 279.4l-23.8-9 .4-1 23.7 9v1h-.3zm.3-1l1 .4-1 .5v-1zm-20 13.3l19.6-13.2.4.8-19.6 13.3h-.4v-1zm.5 1h-.4.4zm-4.2-23.3l-.4 1h.5l-.4.2-.4.3-.4.4-.2.5-.2.4-.2.7-.2.8v1.5l-.2.8v2.8l.3.8v1l.2.8.2 1 .2 1 .3.7v1l.5 1 .3.7.3.7.5.8.4.6.3.6.4.6.4.5.5.4.4.2.3.3.4.2-.3 1-.6-.3-.5-.3-.5-.3-.5-.5-.4-.6-.6-.6-.4-.7-.4-.7-.4-.7-.4-1-.3-.8-.3-1-.3-.8-.4-1-.2-.8-.2-1-.2-1v-.8l-.3-1v-5.2l.3-.8.2-.7.3-.6.3-.6.4-.5.4-.5.5-.4h.6zm-.5 0h.6-.5zm.4.4l.2-.4-.2.5zm-.3-.4h.6-.5z"/>
+        <path fill="#0c4076" d="M382.8 274.3c5.7-.6 10.5 2 11 5.8.3 3.8-4 7.4-9.6 8-3.6.3-6-3-6.3-6.3-.5-3.4 1-7 4.8-7.4z"/>
+        <path fill="#21231e" d="M394.2 280h-1v-.5l-.2-.3v-.3l-.2-.4-.2-.3-.2-.2-.2-.2-.2-.3-.2-.2-.3-.3-.2-.2-.3-.2-.3-.2-.4-.2-.3-.2-.4-.2-.3-.2h-.4l-.5-.3h-.4l-.4-.2h-.8l-.5-.2h-3.6l-.2-1h3.8l.4.2h.5l.4.2.4.2h.4l.5.3.4.2h.5l.4.3.2.2.4.3.3.2.2.3.3.3.3.3.2.2.3.3.2.3.2.3v.5l.3.4v.2l.2.4v.4zm-10 8.4v-1h1l.5-.2h.4l.6-.2.5-.2h.5l.4-.3.4-.2h.4l.4-.3.3-.3.4-.2.2-.2.4-.3.3-.2.2-.3.3-.2.2-.3.3-.3.2-.3.2-.2.2-.3v-.4l.3-.3v-.8l.2-.4v-1h1v1.6l-.2.3v.3l-.2.4-.2.3-.2.4-.2.3-.2.4-.3.4-.2.3-.3.3-.3.3-.5.3-.3.3h-.4l-.4.4-.4.2-.4.3h-.4l-.4.3-.5.2h-.5l-.4.3-.5.2h-.6l-.5.2h-.7l-.5.2h-.5zm-6.8-6.7h1v.7l.2.3v.3l.2.4v.3l.2.2v.2l.2.3.2.2v.3l.3.2.2.3v.2l.2.2h.2l.2.3h.2l.2.3.2.2h.3l.2.2h.2l.2.2h.2l.3.2h1.4v1h-2.1l-.3-.2h-.4l-.3-.3-.3-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.3-.2-.2v-.2l-.3-.3-.2-.3v-.2l-.3-.4v-.3l-.3-.3-.2-.3v-.3l-.2-.3v-.6l-.2-.3v-.3zm5.4-8v1h-.2l-.4.2h-.8l-.3.3-.3.2-.3.2-.2.2h-.2l-.2.2v.2l-.3.2v.3h-.3v.3l-.2.3-.2.2v.7l-.2.3v.4l-.2.3v2.2h-1V279l.2-.3v-.3l.2-.2v-.3l.2-.3.2-.3v-.4l.3-.3.2-.3.2-.2v-.3l.3-.2.3-.2h.2l.3-.3.4-.2.3-.2h.3l.3-.2h.7l.4-.2h.4z"/>
+        <path fill="#fff" d="M457.5 280.4c1.7 0 3.2 1.5 3.2 3.2 0 1.8-1.5 3.3-3.2 3.3-1.8 0-3.2-1.6-3.2-3.4 0-1.7 1.4-3.2 3.2-3.2z"/>
+        <path fill="#21231e" d="M461.2 283.6h-1v-.6l-.2-.2v-.2l-.2-.3v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.7v-1h1l.3.2.2.2h.2l.3.2v.2h.2v.2h.2v.3h.2v.2l.2.2v.2h.2v.2l.2.3v.5l.2.2v.2zm-3.7 3.8v-1h.4l.3-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2.2-.2v-.2l.2-.2v-1h1.2v.8l-.2.2v.3l-.2.2v.2l-.2.2-.2.3h-.2v.3h-.3l-.2.2-.3.2-.3.2h-.6v.2h-.6v.2h-.3zm-3.7-3.8h1v1h.2v.2l.2.2v.2l.2.2h.2v.2h.2v.2h.2l.2.2h.2v.2h1v1.2h-.7l-.2-.2h-.5v-.2h-.3l-.2-.2-.3-.2-.2-.2h-.2v-.3h-.2l-.2-.3-.2-.3v-.2l-.2-.3v-.3l-.2-.3v-.8zm3.7-3.7v1h-.9l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.3v.5h-.2v.8h-1v-1.2l.2-.2v-.3h.2v-.3l.2-.2.2-.2v-.2h.4v-.2l.2-.2h.2v-.2h.5v-.2h.4v-.2h1z"/>
+        <path fill="#fff" d="M408.7 283c1.8 0 3.2 1.6 3.2 3.4 0 1.7-1.5 3.2-3.3 3.2a3.2 3.2 0 01-3.2-3.2c0-1.8 1.4-3.3 3.2-3.3z"/>
+        <path fill="#21231e" d="M412.4 286.4h-1v-.9l-.2-.2v-.2l-.2-.2v-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.4l-.2-.2h-.8v-1.2h.7v.2h.7v.2h.3v.2h.3v.2h.3l.2.2.2.3h.2l.2.3.2.3v.3h.2v.6l.2.2v.9zm-3.7 3.7v-1h1v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.3h.2v-.5l.2-.2v-.4h1v.8l-.2.2v.3l-.2.2v.3h-.2v.3h-.2l-.2.3h-.2v.2h-.3l-.2.2h-.2v.2h-.3v.2h-.5l-.2.2h-.8zm-3.7-3.6h1v.8h.2v.5h.2v.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.5v.2h.7v1h-1.2v-.2h-.3v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.3h-.3v-.3h-.2v-.3l-.2-.2v-.2l-.2-.3v-.8zm3.7-3.8v1h-.7v.2h-.5v.2h-.2l-.2.2v.2h-.2l-.2.2v.2l-.2.2v.2h-.2v.7l-.2.3v.4h-1v-1l.2-.2v-.3l.2-.3.2-.3v-.3h.3v-.3h.2l.2-.2.2-.2h.2v-.2h.6l.3-.2h.5l.3-.2h.2z"/>
+        <path fill="#fff" d="M407 268.3c1.8 0 3.2 1.4 3.2 3.2 0 1.8-1.4 3.2-3.2 3.2a3.2 3.2 0 01-3.2-3.2c0-1.8 1.4-3.2 3.2-3.2z"/>
+        <path fill="#21231e" d="M410.7 271.5h-1v-.7l-.2-.2v-.3l-.2-.2h-.2v-.4h-.2v-.2h-.2l-.2-.2h-.2l-.2-.2h-.5v-.2h-.4v-1h.8v.2h.3l.3.2h.2l.3.2h.2v.2l.3.2.2.2.3.3.2.3v.3h.2v.4l.2.2v1zm-3.7 3.7v-1h1v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2.2-.2v-.4h.2v-1h1v1.2l-.2.2-.2.3v.3h-.2l-.2.3h-.2v.3h-.3v.2h-.2v.2h-.2l-.2.2h-.5l-.3.2h-.7zm-3.7-3.7h1v.8l.2.2v.4h.2v.2l.2.2v.2h.2v.2h.2v.2h.2l.2.2h.5l.2.2h.5v1h-.9l-.3-.2h-.2l-.3-.2-.3-.2h-.2l-.2-.2-.2-.3h-.3v-.3l-.2-.3v-.3h-.2v-.4l-.2-.2v-.8zm3.7-3.7v1h-.8v.2h-.5l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.3l-.2.2v.7h-1v-1.2h.2v-.6h.2v-.3h.2v-.3h.3l.2-.2v-.2h.3v-.2h.3l.2-.2h.4v-.2h.5l.2-.2h.7z"/>
+        <path fill="#fff" d="M457.3 266.2c1.8 0 3.2 1.4 3.2 3.2 0 1.8-1.4 3.2-3.2 3.2a3.2 3.2 0 01-3.2-3.2c0-1.8 1.6-3.2 3.3-3.2z"/>
+        <path fill="#21231e" d="M461 269.4h-1v-.8h-.2v-.3l-.2-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2h-.2l-.2-.2h-.2l-.3-.2h-.7v-1h1.1l.2.2h.3l.3.2.3.2.2.3h.2v.2h.2v.2h.2v.3h.2v.3l.2.2v.5l.2.2v.7zm-3.7 3.7v-1h1.2v-.2h.2l.2-.2.2-.2v-.2h.2v-.2h.2v-.2l.2-.2v-.5h.2v-.8h1v1.1l-.2.2v.2l-.2.2-.2.3-.2.3-.2.2-.2.2-.2.2h-.2v.2h-.3v.2h-.4l-.2.2h-1zm-3.7-3.6h1v.5l.2.2v.3l.2.2v.2h.2l.2.2v.2h.2v.2h.2l.3.2h.2l.2.2h.7v1h-1l-.3-.2h-.3l-.3-.2-.3-.2v-.2l-.3-.2-.2-.2v-.2h-.2v-.3h-.2v-.6l-.2-.2v-.7l-.2-.2v-.2zm3.7-3.7v1h-.7v.2h-.4l-.2.2h-.2v.2h-.2v.2l-.2.2-.2.2v.4h-.2v.8h-1.2v-.5l.2-.3v-.4l.2-.2v-.2h.2v-.3h.2v-.3h.2v-.2h.3v-.3l.3-.2.3-.2h.3l.2-.2h1z"/>
+        <path fill="#edb92e" d="M371 237.4c2.3-.8 6 4.6 7 4.5 1.2-3-1.2-10.5-5.5-16.3-3-1-3.2-3-3.8-7.3-.2-1.3-2.7-.4-2.7 2 0 2.3-.3 3.6.3 5.6.2.8 0 1.6-.8 2.3 4.5 1.8 5.6 4 5.4 9z"/>
+        <path fill="#21231e" d="M377.6 241.8l1 .3-.5.4h-.4l-.3-.2-.2-.2-.3-.3-.2-.2-.2-.2-.2-.2-.3-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2-.2-.3-.2-.2-.3h-.3l-.3-.3h-.2l-.3-.3-.3-.2h-.2l-.3-.2h-.4l-.2-.2h-.4l-.4-1h1.3l.3.2h.3l.3.2.2.2h.3l.3.3.2.2h.3l.3.3.3.3v.2l.4.2.2.3.3.2v.2l.4.3.2.2.2.2.2.2.2.2.2.2h.2v.2h.3v.2l-.4.3zm1 .3l-.2.4h-.3l.5-.3zm-6.3-15.8l.4-1 .2.2.3.5.4.5.4.6.4.7.4.5.3.6.5.6.3.6.3.6.4.6.3.6.2.6.2.6.2.5.2.6.2.7.2.5v.6l.3.5v.6l.2.4v.5l.2.4v3.3l-.2.3-1-.2v-.3l.2-.3v-3.6l-.3-.5v-.4l-.2-.5-.2-.5-.2-.5v-.5l-.4-.6-.2-.7-.2-.5-.3-.6-.2-.6-.3-.5-.3-.5-.4-.6-.3-.7-.4-.5-.4-.6-.4-.6-.3-.5-.5-.5-.4-.5.3.2zm.4-1l.2.2-.3-.2zm-4.5-6.7h1v.7l.2.3v1l.2.3v.5l.2.3v.5l.2.2v.4h.2v.3l.2.2v.2h.2v.3h.2l.2.2v.2h.2l.2.2h.2l.2.2h.2l.2.2h.2l.3.2-.4 1h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.2l-.2-.3-.2-.2h-.2v-.2l-.3-.2-.2-.2-.2-.2v-.2l-.2-.2v-.2l-.2-.3v-.2l-.2-.2v-.3l-.2-.2v-.9l-.2-.3v-.6l-.2-.3V219l-.2-.5zm-1.7 1.8h-1v-1l.2-.2.2-.2v-.4h.2l.2-.3h.2l.2-.2.3-.2h.2l.2-.2h1.2v.2h.2v.3l.2.2v.2h-1.6v.2h-.2v.2h-.2v.2h-.2v.3l-.2.2v.8zm.3 5.6l-1 .2v-.6l-.2-.2V224h-.2v-3.6h1v4.2l.2.2v.7l.2.2zm-1 2l-.5.8v-1l.2-.2v-.2h.2v-.4h.2v-.4l-.2-.2v-.2l1-.3v1.8h-.2v.4h-.2v.2h-.2v.2l-.2.2h-.2v-.7zm-.5.8l-.8-.3.7-.6v.8zm5 8.6h1-1v-.5l.2-.5v-2l-.2-.3v-.7l-.2-.3v-.6l-.2-.3v-.2l-.2-.3-.2-.3v-.2l-.3-.3v-.2l-.3-.2-.2-.2-.3-.2-.2-.2-.3-.2h-.3l-.3-.3-.2-.2-.3-.2-.4-.2h-.3l-.4-.2.4-1 .4.2.5.2.4.2.3.2.3.2.4.2.3.2.3.2.3.2v.2l.4.3.2.3.3.3v.2l.3.3v.4l.3.3v.3l.3.3v.7l.2.3v.7l.2.4v2.9h-1zm1 0h-1l.5-.5.6.4zm-1 0v-.4h.5l-.4.4z"/>
+        <path fill="#edb92e" d="M368.8 218.5c-.4 1-.6 1.8-.7 3.4 0 1 .5 2 1.2 3 .8 1 1.8 2 3 2.6.8.5 1.6 1.7 2.3 3 .7 1.4 1.2 3 1.2 4 0 3.5.8 6.7 2.4 7.3 1.2.3 1.6.2 2.4 0-.2-.6 0-1.5-.7-2.4a8 8 0 01-1.4-3.7c0-1-.5-1.6-.2-3.3.4-1.2 1-1.6 1-2.7-.3-2-2-6-4.3-6s-3.4-.3-4.6-3.4c-.3-1-1-1.6-1.2-2z"/>
+        <path fill="#21231e" d="M368.6 222l-1-.2v-1.2l.2-.2v-1h.2v-.7h.2v-.4l1 .3v.4h-.2v1l-.2.2v1.5l-.2.3zm1 2.8l-.8.6v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.4h-.2v-.5l-.2-.2v-.7l-.2-.2v-.7h1v1.1h.2v.7h.2v.4h.2v.4h.2v.2h.2v.2zm3 2.4l-.6 1v-.2h-.4v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.3v-.2h-.2l-.2-.2v-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2.8-.6.2.2.2.2v.2h.2l.2.2v.2h.2l.2.2.2.2h.2v.2h.2v.2h.3l.2.2.2.2h.2v.2zm2.4 3.2l-1 .4v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2l-.2-.2h-.2l.5-1h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l.2.2v.2l.2.2v.2h.2v.3h.2v.3h.2zm1.2 4.2h-1v-.8l-.2-.2v-.8h-.2v-.5h-.2v-.4h-.2v-.5h-.2v-.2l-.2-.2 1-.4v.4h.2v.4h.2v.5l.2.2v.3h.2v.6h.2v1h.2v.7zm-1 0zm3 6.8l-.3 1h-.3l-.2-.2-.3-.3v-.2l-.3-.2h-.2l-.2-.3v-.2h-.2v-.3l-.2-.2v-.3l-.2-.2v-.3l-.2-.2v-.5l-.2-.3v-.8l-.2-.3V236l-.2-.3v-1.5h1v2.1l.2.3v1.4l.2.2v.8l.2.2v.2l.2.2v.4l.2.2v.2l.2.2.2.2v.2h.2v.2h.2l.2.2zm1.7.8l1-.3-.5.5h-.4v.2h-1.4l-.2-.2h-.4l.3-1h.7v.2h1.2v-.2l-.3.7zm1-.3v.4h-.5l.4-.5zm-1.7-2l.8-.7h.2v.4h.2v.4h.2v.8l.2.2v1l-1 .4V241l-.2-.2v-.8h-.2v-.2zm-1.5-4h1v.8h.2v.8l.2.2v.2l.2.2v.2h.2v.5h.2v.2h.2v.2l-.7.7v-.2l-.2-.2v-.4h-.2v-.5h-.2v-.2l-.2-.3v-.2l-.2-.2v-.2l-.2-.3v-.4l-.2-.2v-.5zm1 0zm-1.2-3.4l1 .2v3l.2.2-1 .2v-.8l-.2-.2v-2.6zm1-2.5h1v.7h-.2v.6l-.2.2v.2l-.2.2v.2h-.2v.6h-.2v.2l-1-.2v-.4h.2v-.4l.2-.2v-.2l.2-.2v-.2l.2-.2v-.9zm-4-5.5v-1h1.1l.3.2h.2l.2.2h.3l.2.2.2.2v.2l.3.2v.2l.3.2.2.3v.2l.3.3.2.2.2.3v.2l.2.3v.2l.2.3v.3l.2.2v.3l.2.2v.5l.2.3v.8h-1v-1l-.2-.2v-.4l-.2-.3-.2-.4v-.2l-.2-.2v-.3l-.3-.3v-.2l-.2-.2v-.3l-.2-.2-.3-.3-.2-.2-.3-.3-.3-.2-.3-.2h-.8zm-5-3.7l1-.4v.3l.2.3v.2l.2.2v.2l.2.2v.2l.2.2.2.2v.2h.2v.2h.2v.2h.4v.2h.7v.2h1.7v1H373l-.3-.2h-.4v-.2h-.3v-.2h-.3v-.3h-.3v-.2l-.2-.2-.2-.3-.2-.2v-.2l-.2-.2-.2-.4-.2-.2v-.3l-.2-.2zm-.4-2l-1-.5h1.2v.4h.2v.2h.2v.2h.2v.4h.2v.2l.2.2v.2l.2.2-1 .4v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2h.8zm-1-.5l.5-1 .5 1h-1zm.6.2l.4.2-.4-.2zm-.5-.2l.4-1 .5 1h-1z"/>
+        <path fill="#edb92e" d="M360 227l2-1a6 6 0 014-.2c5.5 1.7 8 11.6 1.8 14-1.2.2-2.3-1-3.4-3.3a20.5 20.5 0 00-4-6.8c-1-1-1-2-.4-2.6z"/>
+        <path fill="#21231e" d="M362 225.5l.3 1h-.4v.2h-.4v.2h-.8v.2h-.2l-.2.2-.7-.7.2-.2v-.2h.4v-.2h.8v-.2h.4v-.2h.4zm4-.2l-.2 1h-.5v-.2h-2.1v.2h-.7l-.2.2-.5-1h.4l.3-.2h.8v-.2h1.6l.2.2h.4zm2 15l-.2-1h-.2l.5-.2h.6l.4-.4.4-.3.3-.4.3-.5.2-.4.2-.3.2-.5v-.5l.2-.5V232l-.3-.4-.2-.5-.2-.5v-.5l-.4-.4-.2-.5-.4-.3-.3-.5-.4-.3-.3-.5-.4-.3-.5-.3-.3-.4-.5-.2h-.4l.2-1h.6l.5.3.7.3.4.4.6.3.5.4.5.6.3.4.4.5.3.5.3.6.3.5.3.7.2.6v.6l.3.5v3.4l-.2.5-.2.6-.3.6-.2.5-.3.5-.4.5-.4.4-.4.3-.6.3-.6.3zm0 0zm-4-3.6l1-.4v.4l.2.2.2.3.2.3v.2h.2v.5h.2v.2l.2.2.2.2h.2v.2h.2l.2.2h.8v1.2h-.8v-.2h-.5l-.2-.2-.2-.2-.2-.2-.2-.2v-.2h-.2l-.2-.2v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.3-.3-.3zm0 0zm-4-6.6l.7-.6.2.2v.2h.2l.2.3v.3h.2l.2.3v.2l.2.2h.2v.3l.3.2v.2l.2.2.2.2v.4l.2.2.2.3v.3l.2.2.2.3v.3l.2.3v.3l.3.3.2.4v.3l.3.3v.3l-1 .4v-.6l-.2-.2v-.3l-.3-.2v-.3l-.2-.2v-.5l-.3-.3v-.2l-.2-.2v-.3l-.3-.2-.2-.3v-.2l-.3-.2v-.2h-.2v-.3h-.3v-.3l-.2-.2-.3-.3v-.2l-.2-.2h-.2v-.2l-.2-.2zm0 0zm0-3.4v1l.3-.2v.2h-.2v.8h.2v.4l.2.2.2.2v.2l-.7.7h-.2v-.2l-.2-.2-.2-.2v-.3h-.2V227h.2v-.2h.2l.4-.2zm-.4 0h.4-.4zm.4 1v-1l.3 1h-.3zm.3 0h-.2.3z"/>
+        <path fill="#edb92e" d="M362.8 227.7c5.4-2 9.4 8.3 4.3 10.2-2.6 1-2.8-2.4-3.4-4.3-.7-2.5-6-4-.8-6z"/>
+        <path fill="#21231e" d="M367.3 238.4l-.4-1h.3l.3-.3.3-.2.2-.3.2-.3.2-.3v-.5l.2-.4v-2.7l-.2-.4-.2-.5-.2-.4-.2-.4-.3-.4-.3-.4-.2-.3-.4-.4-.3-.2-.3-.2-.4-.2-.4-.2h-.4l-.3-.2h-1.3l-.4.2-.4-1h.6l.5-.2h1.6l.5.3.5.2.4.2.4.4.5.4.4.4.3.4.3.5.2.4.3.6.3.5.2.6.2.6v.5l.2.5v1.6l-.2.5v.5l-.3.5-.2.4-.3.5-.4.3-.4.4-.4.2-.5.2zM363 234l1-.4.2.2v.6l.2.2v.8l.2.2v.4l.2.2v.2l.2.3.2.3v.2h.2v.2h.2l.2.2h1.2l.3.8h-.3l-.3.2h-1.2l-.2-.2h-.2v-.2l-.3-.2-.3-.3v-.2l-.2-.2v-.2h-.2v-.3l-.2-.2v-.4h-.2v-.8l-.2-.2v-.8l-.2-.2v-.2zm-.4-6.7l.4 1h-.5l-.3.3h-.4l-.2.3h-.2l-.2.2v.2h-.2v.4h.2v.3l.2.2v.2h.3v.3l.3.2h.2l.2.2.2.2.2.2.2.2.2.3.2.3.2.2v.3l.3.2v.6l-1 .3v-.7l-.2-.2h-.2v-.3l-.3-.2h-.2v-.3l-.3-.2-.2-.2-.2-.2-.2-.2v-.2l-.2-.2h-.2v-.3l-.3-.3v-.2l-.2-.2v-.8l.2-.3v-.3l.3-.2.2-.2.3-.3.3-.2h.4l.4-.3.6-.2z"/>
+        <path fill="#0c4076" d="M363.4 229.3c2.6-1 6.2 5 3 6.5-2.3 1-4-.3-4.8-2-.7-2 0-3.8 1.7-4.5z"/>
+        <path fill="#21231e" d="M366.5 236.3l-.4-1h.3l.2-.2h.2v-.2l.2-.2v-2l-.2-.3v-.3h-.2v-.4l-.3-.3-.2-.2-.3-.4-.2-.2-.2-.2h-.2v-.2l-.3-.2h-1.1l-.3-1h1.5l.4.3.3.2.2.3.2.2.3.2.2.2.2.3v.3l.3.3.2.4.2.3v.4l.2.4v2.6l-.2.3-.2.4-.2.3-.2.2h-.4l-.3.3zm-5.4-2.5l1-.3.2.3.2.3v.2l.2.3.2.2.2.2h.3v.2h.2l.3.2h.4v.2h1.3l.3-.2.5 1h-.7l-.2.2h-1.9l-.2-.2h-.2v-.2h-.3l-.2-.2-.3-.2-.3-.3-.3-.3h-.2v-.3l-.2-.3-.2-.3v-.2l-.2-.2v-.2zm2.2-5l.3 1h-.3l-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.7l-.2.2v1.1l.2.2v.3l-1 .3v-.7l-.2-.3v-1.5l.2-.2v-.3l.2-.2.2-.3.2-.3v-.2l.3-.2v-.2h.3l.2-.2.3-.2h.2l.2-.2zm.2.5l-.2-.5.2.5z"/>
+        <path fill="#fff" d="M400 179.7c3.6 0 6.4 2.8 6.4 6.4 0 3.6-2.8 6.5-6.3 6.5s-6.3-3-6.3-6.4 3-6.3 6.4-6.3z"/>
+        <path fill="#21231e" d="M407 186h-1c0-2-1.4-4.3-3.3-5.2a5.8 5.8 0 00-2.6-.6v-1c2.4 0 4.7 1.2 6 3.2a7 7 0 011 3.7zm-7 7v-1a6 6 0 005.3-3.3 6 6 0 00.6-2.6h1c0 2.4-1.3 4.7-3.3 6a6.8 6.8 0 01-3.6 1zm-6.8-7h1a6 6 0 003.3 5.4 5.8 5.8 0 002.6.6v1a6.8 6.8 0 01-5.7-3.3 7 7 0 01-1-3.6zm7-7v1.2a5.9 5.9 0 00-5.3 3.2 6 6 0 00-.8 2.7h-1a7 7 0 013.3-5.8 6.8 6.8 0 013.6-1z"/>
+        <path fill="#fff" d="M395.4 169c3.5 0 6.4 3 6.4 6.4 0 3.6-3 6.4-6.4 6.4s-6.3-2.8-6.3-6.4c0-3.5 3-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M402.3 175.4h-1c0-2.2-1.3-4.3-3.2-5.3a5.8 5.8 0 00-2.6-.5v-1c2.4 0 4.6 1.3 6 3.2a7 7 0 011 3.7zm-7 7v-1c2.3 0 4.4-1.4 5.4-3.3a6 6 0 00.6-2.6h1c0 2.4-1.2 4.7-3.2 6a6.8 6.8 0 01-3.6 1zm-6.7-7h1a6 6 0 003.2 5.3c.8.4 1.7.6 2.6.6v1a6.8 6.8 0 01-5.8-3.2 7 7 0 01-1-3.6zm6.8-7v1c-2 0-4.2 1.4-5.2 3.3a6 6 0 00-.6 2.7h-1c0-2.3 1.2-4.6 3.2-6a7 7 0 013.6-1z"/>
+        <path fill="#fff" d="M410.7 131.5c3.4 0 6 2.7 6 6s-2.6 6.3-6 6.3-6.2-2.7-6.2-6.2a6 6 0 016.2-6z"/>
+        <path fill="#21231e" d="M417.3 137.7h-1c0-2.2-1.2-4.2-3-5a5.6 5.6 0 00-2.6-.7v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.7zm-6.6 6.6v-1c2 0 4-1.2 5-3 .4-1 .6-1.8.6-2.6h1c0 2.2-1.2 4.5-3 5.6a6.6 6.6 0 01-3.6 1zm-6.7-6.7h1c0 2.2 1.3 4.2 3.2 5a5.6 5.6 0 002.5.7v1a6.6 6.6 0 01-5.6-3 6.7 6.7 0 01-1-3.6zm6.7-6.6v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.7 2.6h-1a7 7 0 013-5.6 6.6 6.6 0 013.7-1z"/>
+        <path fill="#fff" d="M400.4 136.2c3.5 0 6.3 3 6.3 6.4 0 3.5-2.8 6.4-6.3 6.4s-6.4-3-6.4-6.4c0-3.5 2.8-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M407.2 142.6h-1a6 6 0 00-3.3-5.3 5.8 5.8 0 00-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 011 3.6zm-6.8 7v-1c2 0 4.2-1.4 5.2-3.3a6 6 0 00.6-2.7h1c0 2.3-1.2 4.7-3.2 6a6.8 6.8 0 01-3.6 1zm-7-7h1c0 2.2 1.4 4.3 3.3 5.3a5.8 5.8 0 002.7.5v1a7.2 7.2 0 01-6-3.2 7 7 0 01-1-3.7zm7-7v1a6.2 6.2 0 00-5.3 3.3 6 6 0 00-.5 2.6h-1c0-2.4 1.2-4.7 3.2-6a6.8 6.8 0 013.7-1z"/>
+        <path fill="#fff" d="M392.8 145.3c3.5 0 6.3 2.8 6.3 6.4 0 3.5-2.7 6.4-6.2 6.4s-6.4-2.8-6.4-6.3c0-3.6 3-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M399.6 151.7h-1a6 6 0 00-3.2-5.3 5.8 5.8 0 00-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 011 3.7zm-6.8 7v-1c2 0 4.2-1.4 5.2-3.4a6 6 0 00.6-2.6h1c0 2.3-1.2 4.6-3.2 6a6.8 6.8 0 01-3.6 1zm-7-7h1c0 2 1.4 4.3 3.3 5.2a5.8 5.8 0 002.8.6v1a7.4 7.4 0 01-6-3.3 7 7 0 01-1-3.6zm7-7v1a6 6 0 00-5.3 3.3 6 6 0 00-.6 2.7h-1c0-2.4 1-4.7 3.2-6a7 7 0 013.6-1z"/>
+        <path fill="#fff" d="M391.5 156.7c3.6 0 6.4 2.8 6.4 6.4s-3 6.5-6.5 6.5-6.3-3-6.3-6.4 2.8-6.3 6.3-6.3z"/>
+        <path fill="#21231e" d="M398.4 163h-1c0-2-1.3-4.2-3.2-5.2a5.8 5.8 0 00-2.7-.6v-1c2.4 0 4.7 1.2 6 3.2a7 7 0 011 3.7zm-7 7v-1a6 6 0 005.4-3.3 6 6 0 00.6-2.6h1c0 2.5-1.3 5-3.4 6a6.8 6.8 0 01-3.5 1zm-6.7-7h1c0 2.3 1.3 4.4 3.2 5.4.7.4 1.6.6 2.5.6v1a7 7 0 01-5.8-3.2 7 7 0 01-1-3.7zm6.8-6.8v1c-2 0-4.2 1.3-5.2 3.2a6 6 0 00-.6 2.7h-1c0-2.3 1.2-4.6 3.2-5.8a7 7 0 013.5-1z"/>
+        <path fill="#edb92e" d="M474.4 198c-2.7-5-5.6-8.2-8.6-9.6 4.2-13.2 5.2-30.2 2.7-51-.2-3.3-1-4.6-2.2-4.6-1 0-1.7 1.6-1.8 5.2.8 11.6 1.7 21.6 1.2 30.2-.5 7.6-2.3 14-4.2 21.2-.3 1 .4 1.7 3.8 3.7 2.6 1.5 4.2 3.3 4.7 5 .7-.2 1.2 0 1.5 0 2.5.8 3.6.6 3 0z"/>
+        <path fill="#21231e" d="M465.3 188.2l1 .3-.3-.6h.3l.3.2.3.2.2.2h.3l.3.3h.3l.4.4.2.2.3.2.2.3.3.3.3.3.3.3.3.2.3.3.3.3.2.3.2.5.3.3.3.4.2.3.3.4.3.3.2.4.3.4.3.5.2.5.3.4.3.4.3.5.3.5-1 .5-.3-.5-.2-.4-.3-.5-.2-.5-.3-.4-.3-.3-.2-.4-.3-.4-.3-.5-.3-.4-.2-.2-.3-.4-.4-.3-.2-.2-.3-.3v-.3l-.4-.3-.3-.4-.2-.3-.2-.2-.3-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.3-.2h-.3l-.3-.3-.4-.2-.3-.6zm.3.6h-.4v-.6l.4.6zm2.4-51.5h1l.2 2 .2 1.8.2 2 .2 2v1.8l.2 1.8v1.8l.2 1.8v15l-.3 1.5-.2 1.5v1.5l-.3 1.5-.2 1.5-.2 1.4-.2 1.5-.2 1.3-.3 1.4-.3 1.3-.3 1.4-.3 1.3-.4 1.3-.3 1.3-.4 1.2-1-.3.4-1.2.4-1.3.4-1.3.3-1.3.3-1.2.3-1.3.3-1.4.2-1.3.3-1.4.3-1.5.2-1.4V172l.3-1.6V169l.2-1.7v-1.6l.2-1.6v-13.6l-.2-1.8v-2l-.2-1.7-.2-2-.2-1.8-.2-2-.2-2zm0 0zm-1.7-4v-1h.6v.2h.3v.2h.2l.2.3h.2v.5h.2v.3l.2.2v.3l.2.2v.4l.2.4v.9l.2.3v.4h-1v-.9l-.2-.2v-.6l-.2-.2v-.5h-.2v-.5h-.2v-.2l-.2-.2h-.2v-.2h-.4zM465 138h-1v-1.7l.2-.3v-1l.2-.3v-.7h.2v-.3l.2-.3v-.3h.2l.2-.2.3-.2.2-.2h.5v1h-.2v.2h-.2v.2l-.2.2v.3l-.2.3v.6l-.2.2v1.6l-.2.4v.7zm-1 0zm2.2 30.2h-1V154l-.2-1v-2.8l-.2-1v-2l-.2-1v-1l-.2-1v-2l-.2-1V139l-.2-1 1-.2v1l.2 1.2v2l.2 1v2.2l.2 1v2l.2 1v2l.2 1v2.8l.2 1v12zm-4.3 21.3l-1-.3.2-.6v-.7l.3-.8.2-.6.2-.7v-.7l.2-.7.2-.6.2-.7v-.6l.3-.6v-.6l.2-.6.2-.7v-.5l.2-.6.2-.8v-.6l.2-.7.2-.7v-.7l.2-.6v-.7l.2-.6v-.7l.2-.7v-.7l.2-.6V169l.2-.8h1v1.5l-.2.7v1.5l-.2.6v.7l-.2.8v.7l-.2.6v.8l-.2.7-.2.6v.8l-.2.6-.2.7v.7l-.3.7v.6l-.3.7v.6l-.3.6-.2.6v.6l-.3.7-.2.5-.2.7v.6l-.3.7-.2.7-.2.6v.7zm3.6 3l-.5 1-.2-.2h-.3l-.3-.3-.3-.2h-.4l-.2-.3h-.2l-.3-.3h-.3v-.2l-.3-.2h-.2l-.2-.2-.2-.3h-.2v-.2h-.2l-.2-.2v-.2l-.2-.2v-1l1 .2v.5h.2v.2l.2.2h.2v.2h.2l.2.2.3.3h.2l.2.2.2.2h.2l.2.3h.3l.3.3.3.2h.3zm0 0zm4.2 5.2l.4 1-.7-.4v-.2l-.2-.2v-.3l-.2-.2v-.3l-.2-.3-.3-.3-.2-.3-.3-.2-.3-.3v-.2h-.3v-.2h-.3v-.2l-.3-.2h-.2v-.3h-.3l-.2-.2h-.3l-.2-.2-.2-.2h-.2l.6-1 .2.2h.2l.3.3.2.2.2.2h.2v.3h.4l.2.3.3.3.3.3.2.2.3.3v.3l.3.2h.2v.3l.3.2v.2h.2v.3l.2.2v.2l.2.3v.3l.2.2v.2l-.6-.3zm.4 1h-.5l-.2-.4.7.3zm1.4-1.2l-.3 1h-1l-.4-.8h.2l.2-.2h1.4zm3.3.5h-1l.7-.4.2.2v.8l-.2.2h-.2v.2h-1.8l-.2-.2h-.3l-.2-.2h-.5l.3-1h.7l.2.2h1v.2h.7v.4l.7-.4zm-1 0v-1l.7.6-.8.4zm0 0h1l-1 .3v-.3z"/>
+        <path fill="#edb92e" d="M458.4 214.6c1.6-1 2-.8 2.4-1.4.6-.8.6-2.2.4-3.5-.8-5.3 2.4-4.6 6-2.2 1.7 1 3.5 4 5 5.3s2.8 1.5 3.2 2v9.2c-.4.6-1.7.7-3.2 2-1.5 1.5-3.3 4.2-5 5.4-3.6 2.3-6.8 3-6-2.2.2-1.3.2-2.7-.4-3.5-.5-.7-.8-.4-2.4-1.4a7 7 0 01-2.3-2.2c-.4-.8 0-1.7 0-2.6 0-1-.4-1.8 0-2.6.6-.8 1.4-1.6 2.4-2.2z"/>
+        <path fill="#21231e" d="M460.4 213l.8.5-.2.2-.2.2h-.4v.2h-.4l-.2.2h-.2l-.2.2h-.2v.2h-.5v.2l-.7-1h.6v-.2h.2l.2-.2h.2l.2-.2h.4v-.2h.4v-.2h.2zm.3-3.2l1-.2v2.9l-.2.3v.2h-.2v.2l-1-.5v-.2h.2v-.4h.2v-2.6zm6.7-2.8l-.6 1-.3-.3-.3-.2-.3-.2-.4-.2h-.3l-.3-.2h-.3l-.3-.2h-.3v-.2h-.4l-.2-.2h-1.1v.2h-.2v.2l-.2.2v.6l-.2.3v2l-1 .2v-3l.2-.4v-.3l.3-.2.3-.2.2-.2h.2l.2-.2h.2l.2-.2h1.5v.2h.5l.3.2h.3l.4.3h.3l.3.2.4.2.3.2.3.2.4.2zm5 5.4l-.6.7-.3-.2-.3-.3-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2v-.2h-.2v-.3l-.3-.2-.3-.3-.2-.2v-.2l-.3-.2v-.2h-.3l-.2-.3-.3-.2-.2-.2h-.2l-.2-.2v-.2h-.3v-.2h-.2l.6-1 .2.2.3.2v.2h.3v.3h.3l.2.2.2.2v.2l.3.2h.2v.3l.3.3.2.2v.2l.3.2.3.3h.2v.3l.3.2.2.2.2.2.3.3v.2h.3v.3h.3v.3h.2zm3.5 2.4h-1.2v.3h-.2l-.2-.2h-.2v-.2h-.4l-.2-.2h-.2v-.2h-.3v-.2h-.3v-.2l-.3-.2-.3-.2-.2-.3.7-.6h.2v.2h.2v.2h.2v.2h.2v.2h.3l.2.2.2.2h.2l.2.2h.2l.2.2h.2v.2h.4v.2l.2.2v.2zm-.2-.2v.2-.2zm0 4.8h-1v-4.5l1-.2v4.5zm-1 0zm0 0h1-1zm0 0zm1 5l-1-.7v.3-4.4h1v4.7zm0-.4v.2-.2zm-3.3 2.5l-.7-.8h.2v-.2l.3-.2.3-.2h.3v-.2h.3v-.2h.2l.2-.2h.2v-.2h.4v-.2h.4v-.2l1 .5-.2.2-.2.2h-.2v.2h-.4l-.2.2h-.2v.2h-.4v.2h-.3v.2h-.2l-.2.2-.2.2v.2h-.3zm-5 5.3l-.7-.8h.2v-.2l.3-.2.3-.2.2-.2.3-.3.2-.2.2-.2.2-.2v-.2h.3v-.3l.2-.3.2-.2v-.2l.3-.2.3-.2v-.2l.3-.2.2-.2v-.2h.3v-.3l.3-.2.2-.2h.2v-.3h.3v-.3l.8.8-.2.2-.2.2-.2.2v.2h-.3v.3l-.3.2-.3.2-.2.2-.2.2-.2.2v.2l-.3.2v.2l-.2.2h-.2v.3h-.3l-.2.3v.2h-.2l-.2.3-.2.2-.3.3-.3.3-.3.2zm-6.8-2.7l1 .3v2.6l.2.2v.2h.2v.2h1.7v-.2h.4l.3-.2h.3l.3-.3.3-.3h.3l.2-.3.3-.2.3-.2.6.8-.4.2-.3.3-.3.2h-.4l-.3.3-.3.2h-.3l-.2.3h-.4l-.3.2h-.4l-.3.2h-.9l-.3-.2h-.3l-.2-.3-.2-.2-.2-.2v-.3l-.2-.2v-.7l-.2-.3V229zm-.3-3l.8-.6v.2h.2v.4h.2v.6l.2.2v2.4l-1-.2v-2.5h-.2v-.4h-.2v-.2zm-2.3-1.3l.7-.8h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.2v.2h.2l.2.2.2.2-.8.6-.2-.2h-.2v-.2h-.4l-.2-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.3zm.7-.8l.5.2-.5-.3zm-3-1.7l.8-.5.2.2v.2h.2v.4h.2v.2h.2v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2l-.5 1v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2zm-.3-3h1v2.4l-.7.5v-.2h-.2v-.4l-.2-.2v-2.1zm.3-2.8l.8.6v.4l-.2.2v1.8h-1V217h.2v-.4h.2zm2.4-2.4l.7 1h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2h-.2v.2l-1-.5h.2v-.2l.2-.2.2-.2v-.2h.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2l.2-.2h.2v-.2h.2zm.7 1l.5-.3-.5.3z"/>
+        <path fill="#21231e" d="M475.5 220.2v1c-4 .4-7 2-9.7 4.3 1.8-2.7 5.7-4.7 9.7-5.3zm0-1.6v-.8c-4-.5-7-2-9.7-4.4 1.8 2.7 5.7 4.6 9.7 5.2z"/>
+        <path fill="#edb92e" d="M461.2 207.3c1 .4 2.3 1 3.4 2 1.6 1.5.6 4-1.5 6.6-.6.7-1 2-1 3.5 0 1.3.5 2.7 1 3.5 2.2 2.5 3.2 5 1.6 6.6-1 1-2.3 1.5-3.4 2v-2.4c.2-1.3.2-2.7-.4-3.5-.5-.7-.8-.4-2.4-1.4a7 7 0 01-2.3-2.2c-.4-.8 0-1.7 0-2.6 0-1-.4-1.8 0-2.6.6-.8 1.4-1.6 2.4-2.2 1.6-1 2-.8 2.4-1.4.6-.8.6-2.2.4-3.5v-2.4z"/>
+        <path fill="#21231e" d="M465 209l-.8.6-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.4v-.2h-.5v-.2h-.2l-.2-.2h-.2l-.2-.2h-.2l.4-1h.2l.2.2h.2l.2.2h.3l.2.2h.2v.2h.3l.2.2h.2v.2h.3v.2h.2l.2.2.2.2.2.2zm-1.5 7.2l-.8-.6.2-.3v-.2h.2l.2-.3.2-.3v-.2l.3-.2v-.5l.2-.2v-.2h.2v-.3l.2-.2v-.4h.2v-1.6l-.2-.3-.2-.2-.2-.2.7-.7.3.3v.2l.2.2v.2h.2v.5l.2.2v1l-.2.2v.4l-.2.2v.5l-.2.3v.3l-.3.2v.5l-.3.2v.3l-.3.2-.2.3v.2l-.3.2-.3.3-.2.2zm-1 3.3h-1v-.7l.2-.2v-1.2h.2v-1h.2v-.4l.2-.2v-.2h.2v-.2l1 .6h-.2v.4h-.2v.2l-.2.2v.9h-.2v1.4h-.2v.5zm1 3.2l-.8.6v-.2h-.2v-.2h-.2v-.4h-.2v-1.1l-.2-.3V220h-.2v-.5h1v1.1l.2.2v.4l.2.2v.4l.2.2v.2h.2v.2zm1.5 7.3l-.8-.8h.2v-.2h.2v-.3l.2-.2v-1.9l-.2-.2v-.2l-.2-.2v-.2l-.2-.3v-.2l-.2-.2-.3-.3v-.3l-.3-.2-.2-.2v-.2l-.3-.3-.3-.2.8-.6.2.2h.2v.4l.2.2.2.3h.2v.3l.3.3v.5l.3.3v.3l.2.2v.5l.2.2v.5l.2.2v.7l-.2.4v.4l-.2.2v.2l-.2.2v.2l-.3.2v.2zm-4.3 1.7l1-.2-.7-.4h.7v-.2h.4l.2-.2h.2l.2-.2h.2v-.2h.4v-.2h.2l.2-.2.2-.2h.2v-.2h.2v-.2l.8.8h-.2v.2h-.2v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-.2v.2h-.4v.2h-.4v.2h-.5v.2h-.2l-.2.2h-.2l-.7-.3zm.7.4l-.6.3v-.6l.6.4zm-.7-3l1 .3v2l-1 .3v-2.4zm-.3-3l.8-.6v.2h.2v.4h.2v.6l.2.2v2.4l-1-.2v-2.4h-.2v-.4h-.2v-.2zm-2.3-1.3l.7-.8h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.2l.2.2.2.2.2.2-.8.6-.2-.2h-.2v-.2h-.4l-.2-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.3zm0 0l-.3-.2.4.2zm-2.3-2.4l.8-.5.2.2v.2h.2v.4h.2v.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2l-.5 1v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2zm0 0l.3.5-.3-.5zm-.3-3h1v2.4l-.7.5v-.2h-.2v-.4l-.2-.2v-2.2zm.3-2.8l.8.6v.4l-.2.2v1.8h-1V217h.2v-.4h.2zm2.4-2.4l.7 1h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2h-.2v.2l-1-.5h.2v-.2l.2-.2.2-.2v-.2h.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2h.2zm2.4-1l.8.5-.2.2-.2.2h-.4v.2h-.4l-.2.2h-.2l-.2.2h-.2v.2h-.5v.2l-.7-1h.6v-.2h.2l.2-.2h.2l.2-.2h.4v-.2h.4v-.2h.2zm.3-3.2l1-.2v2.9l-.2.2v.2h-.2v.2l-1-.5v-.2h.2v-.4h.2V210zm.5-2v-1l.5.6v2.1l-1 .2V207l.5.6zm0-1h.6v.6l-.6-.6zm0 0v1h-.2l.2-1zM361 226.3l.7-.3c-1.6-2.2-2-4.2-1.3-6.3-1.3 1.6-1 4.2.6 6.6z"/>
+        <path fill="#edb92e" d="M410.7 200c1.4 1.6 1.2 2 2 2.5 1 .6 2 .4 3.3 0 5-2 5 2 3.5 6.4-.7 2-2.8 4.3-3.7 6.2-1 1.7-.7 3-1 3.5a95.4 95.4 0 01-4 .6l-4 .5c-.6-.3-1-1.6-2.6-3s-4.4-3-6-4.6c-3-3.5-4.6-6.8.2-6.7 1.2 0 2.4-.2 3-1 .4-.7 0-1 .4-3 .3-1.2.8-2.3 1.4-3 .6-.8 1.5-.6 2.3-.7 1-.2 1.6-.7 2.5-.2 1 .4 2 1.2 2.7 2.3z"/>
+        <path fill="#21231e" d="M413 202l-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.3-.3-.3.8-.6.3.2.2.3v.2h.2v.4h.2v.4h.2v.2l.2.2v.2h.2v.2l.2.2zm-.6 1zm3.5-1l.2 1h-.5l-.2.2h-.8v.2h-1.2l-.3-.2h-.2l-.2-.2h-.2l.5-1v.2h.8v.2h1l.2-.2h.4l.2-.2h.3zm4 7l-1-.3v-.4l.2-.4v-.5l.2-.4v-.3l.2-.3v-.7l.2-.4v-1.7l-.2-.2v-.4h-.2l-.2-.3h-.2l-.3-.2H417l-.4.3h-.4l-.3-.8.3-.2h.5l.4-.2h1.8l.3.2h.3l.2.3.2.4v.2l.3.3.2.4v3.3l-.2.4v.4l-.2.4v.4l-.2.4v.4zm-3.7 6.4l-1-.5v-.2l.2-.2.2-.2v-.2l.2-.2v-.4l.2-.2.2-.2v-.2l.2-.2.2-.2.2-.3.2-.2.2-.3.2-.2v-.2l.2-.2h.2v-.3l.2-.2v-.2l.2-.2.2-.3v-.2l.2-.2v-.2l.2-.3 1 .3v.2l-.2.3v.2l-.2.2-.2.3v.2l-.2.2v.3l-.3.2-.2.2v.2l-.2.2-.2.2v.2l-.2.2-.2.2v.2l-.3.2v.2l-.2.2-.2.2v.2l-.2.2v.4h-.3v.3l-.2.2-.2.2v.2zm-1.5 3.8l-.2-1-.3.2v-.4h.2v-1l.2-.2v-.4l.2-.3v-.4l.2-.3v-.2h.2l1 .4-.2.2-.2.3v.3h-.2v.7h-.2v.9l-.2.2v.4l-.2.2v.2l-.4.2zm.3 0h-.2.3zm-4.3.6v-1h1.1v-.2h1.2v-.2h1.1l.3-.2.2 1h-.4l-.3.2h-.9l-.2.2h-1.3v.2h-.7zm0 0zm0 0v-1 .5-.5 1-.5.5zm0-1zm-4 1.5l.4-1h-.2 1.3l.3-.2h1.9l.2-.2.2 1h-.8v.2h-1.4v.2h-2zm.2 0h-.3.2zm-3-3l.5-1 .2.3.3.3h.2l.2.3.2.2.2.3.2.2v.2h.2v.2h.2v.2l.2.2v.2h.2v.2h.2v.2l-.4 1v-.2h-.2l-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.3v-.2h-.2v-.2h-.3v-.3zm-6-4.8l.7-.6.2.2.3.3.3.3h.2v.3l.3.2h.3l.2.3h.2l.2.3.3.3.2.2.2.2h.2v.2l.3.2h.2l.2.3.2.2.3.3h.2l.2.3.3.2.2.2h.2v.2l-.5.8h-.3v-.2l-.3-.2h-.2v-.2l-.3-.2h-.3l-.2-.2-.2-.2h-.2v-.2l-.3-.2h-.2l-.2-.3h-.2v-.2h-.3l-.2-.2-.2-.2h-.2v-.3h-.3l-.2-.3-.2-.2h-.2v-.3h-.3v-.3l-.3-.2h-.2v-.3l-.3-.2zm.4-7.5v1H397l-.2.2h-.4l-.2.2v.2h-.2v1.5l.2.3v.3l.2.2.2.3.2.4.2.3.2.3.2.3.2.3.3.3v.2l.4.3.3.4-.8.5-.4-.3-.3-.3-.2-.4-.2-.4-.2-.3-.3-.4-.2-.3v-.4l-.3-.4v-.3l-.3-.3v-.3l-.3-.3V206l.2-.2.2-.2.2-.2.3-.2h.2l.3-.2h.7l.4-.2h.8zm2.5-.8l.8.5-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2l-.2.2h-.5l-.2.2h-1.1v-1h1.4l.2-.2h.2l.2-.2h.2v-.2h.2v-.2zm0 0zm.4-2.8l1 .2v.4h-.2v2h-.2v.4l-.2.2-1-.4h.2v-1.4l.2-.3v-.8l.2-.2zm1.4-3.2l.8.6-.2.2v.2h-.2v.4h-.2v.4h-.2v.4l-.2.2v.4l-.2.2v.4l-1-.2v-.7l.2-.2v-.4l.2-.2v-.4h.2v-.4h.2v-.4h.2v-.2h.2v-.4h.2zm.8.6l.5-.7-.4.8zm1.8-1.5l.2 1H404v.2h-.4v.2h-.2l-.8-.5.2-.2.2-.2h.2v-.2h.4l.2-.2h1.4zm.2 1h-.7.6zm2.7-1.2l-.5 1H406l-.2.2h-.4l-.2-1h.8l.2-.2h2.1zm3 3h-1v.2-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2.5-1v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2v.2l.2.2.2.2.2.2v.2l.3.3zm-.2-.4h.2v.3-.4zm-.8.3h1l-1 .2v-.3zm0 .2v-.3.2z"/>
+        <path fill="#21231e" d="M410 219.4h-.7c-1.4-3.8-3.5-7-6.3-9.5 2.8 1.4 5.5 5.3 7 9.4zm1.4-.2c.3 0 .5 0 .8-.2-.5-4 0-7.5 1.5-11-2 2.5-2.8 7-2.3 11.2z"/>
+        <path fill="#edb92e" d="M418.3 202c-.2 1.4-.4 3-1 4.3-1 2-3.8 1.3-6.6-.7-.8-.6-2.2-.8-3.4-.6-1.3.3-2.4.8-3 1.7-1.5 2.6-3.4 4-5.2 2.6-1-1-2-2.3-2.7-3.5.5-.2 1.2-.3 2-.3 1.3 0 2.5-.2 3-1 .5-.7 0-1 .6-3 0-1.2.6-2.3 1.2-3 .6-.8 1.5-.6 2.3-.7 1-.2 1.6-.7 2.5-.2 1 .4 2 1.2 2.7 2.3 1.4 1.6 1.2 2 2 2.5 1 .6 2.2.4 3.3 0 1-.4 1.7-.6 2.3-.5z"/>
+        <path fill="#21231e" d="M417.7 206.5l-1-.4.2-.2v-.5l.2-.2v-.4l.2-.2v-.9l.2-.2v-1.2h.2v-.4h1v1.1l-.2.3v1h-.2v.7h-.2v.7h-.2v.3l-.2.3v.2zm-7.2-.5l.5-.8.3.2h.2l.3.3h.2l.3.3h.2l.3.2.2.2h.2l.3.2h.4v.2h.7l.2.2h1v-.2h.2l.2-.2.2-.3.2-.2 1 .5-.2.2-.2.3-.3.3v.2h-.2l-.2.2h-.2l-.3.2h-2l-.2-.2h-.2l-.3-.2h-.2l-.2-.2h-.2l-.3-.2-.2-.2h-.2l-.3-.3-.2-.2h-.3l-.3-.3-.2-.2zm-3-.4l-.3-1h1.1v-.2h1.3v.2h.6v.2h.4v.2h.2l.2.2-.5.8h-.2v-.2h-.4v-.2h-2.4zm-2.7 1.3l-.8-.6v-.2h.2v-.2h.2v-.2l.2-.2h.2v-.2h.2l.2-.2h.2l.2-.2h.3v-.2h.8l.2-.2h.5l.2 1h-.7v.2h-.4v.2h-.4l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2zm-6 2.7l.6-.8h.3v.2h.5l.2.2h.5l.3-.2h.3v-.2h.3v-.2h.2v-.3h.3v-.3h.3v-.3l.3-.3.2-.2.2-.2v-.2h.3v-.4l.3-.2.8.5v.2l-.3.2v.3l-.3.2h-.2v.3l-.3.2-.2.2-.2.2-.3.3h-.2l-.2.3h-.2v.3h-.3l-.3.2h-.4l-.3.2h-1.2l-.2-.2h-.2l-.2-.2-.2-.2h-.2zm-2.7-4.4l.5 1 .3-.8v.3h.2v.2l.2.2v.2h.2v.2l.2.2v.2h.2v.2l.2.2.2.2.2.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2l-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.2h-.2v-.4h-.2v-.2h-.2V205zm0 .8l-.4-.4.5-.3v.8zm2.4-1v1H397v.2h-.4l-.5-1h1.2v-.2h1.2zm2.5-.8l.8.5-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2l-.2.2h-.7l-.2.2h-1.2v-1h1.4l.2-.2h.4v-.2h.2v-.2h.2v-.2zm0 0zm.4-2.8l1 .3v.3l-.2.3v1.7h-.2v.7h-.2l-1-.4h.2v-1.4h.2v-1.3l.2-.2zm1.4-3.2l.8.6-.2.2v.2h-.2v.4h-.2v.4h-.2v.4l-.2.2v.7h-.2v.5l-1-.3v-.7l.2-.2v-.4l.2-.2v-.4h.2v-.4h.2v-.4h.2v-.2h.2v-.4h.2zm0 0l.4-.5-.4.5zm2.6-1l.2 1h-.6v.2h-1v.2h-.2l-.2.2-.8-.6.2-.2.2-.2h.2v-.2h.4l.2-.2h1.4zm0 0h.6-.6zm3 0l-.6.8H406v.2h-.5l-.2-1h.8v-.2h2.1zm-.6.8l.3.2-.2-.2zm3.3 1.6l-.6.6-.2-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2l-.2-.2.5-1v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2v.2l.2.2.2.2.2.2v.2zm2 2.5l-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.3-.2-.3.7-.6.3.2.2.3v.2h.2v.2l.2.2v.4h.2v.2l.2.2v.2h.2v.2l.2.2zm-.6 1l-.2-.2h.2zm3.5-1l.2 1h-.5l-.2.2h-.8v.2h-1.3l-.2-.2h-.2l-.2-.2h-.2l.5-1v.2h.6l.2.2h1.1l.2-.2h.4l.2-.2h.2zm2.8 0h-1l.5.5h-1l-.2.2h-.4l-.2.2h-.2l-.3-1 .2-.2h.8v-.2h1.5l.5.4zm-.5-.5h.6l-.2.5-.5-.5z"/>
+        <path fill="#edb92e" d="M391.8 221.2c.7-1 1-.8 1.2-1.3.2-1-.3-2-1-3.2-2.2-4.6.3-4.2 3.6-2.4 1 .4 2 1.2 3 2 1 1 1.8 1.8 2.7 2.4 1.6 1.2 2.7 1.2 3 1.7 1 2 1.5 3.5 1.8 4.2.3.7 1 2.3 1.6 4.2 0 .4-1 .5-1.8 2-.7 1.2-1.2 3.5-2 4.7-1.4 1.6-2.5 2.6-3.4 2.4-1 0-1.6-1.3-1.8-4.2a4 4 0 00-1.5-3c-.5-.6-.6-.4-2-1.2a9.3 9.3 0 01-2.4-2c-.6-.6-.7-1.3-1-2-.3-1-.8-1.6-.7-2.4a3.8 3.8 0 01.8-2z"/>
+        <path fill="#21231e" d="M392.5 219.7l1 .3v.2l-.2.2v.2h-.2v.2h-.2v.2h-.2l-.2.2v.2h-.2l-.8-.5v-.2l.2-.2.2-.2.2-.2h.2v-.2h.2v-.2zm1 .3zm-1.8-3l1-.5v.4l.2.2v.4l.2.3v.2l.2.2v2l-1-.3v-1.2l-.2-.2v-.4h-.2v-.4h-.2v-.4zm4.2-3l-.6.8h-.3l-.2-.3h-.3l-.3-.3h-.3l-.3-.2h-.3l-.2-.2h-.5l-.2-.2h-.6v1.5l.3.4.2.3.2.4.2.5-1 .5v-.4l-.3-.4-.2-.4v-.7l-.2-.2v-1.5l.2-.2h.2l.2-.2h.2l.2-.2h1.2l.2.2h.6l.3.3.3.2h.3l.3.2.2.2.4.2h.3zm2.8 2l-.7 1v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2.5-1v.2h.2v.2h.2l.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2zm2.8 2.4l-.6.8h-.2v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2l.6-1v.2h.2l.2.2v.2h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2l.2.2zm3.3 2l-1 .3v.2-.2h-.2v-.2h-.4l-.2-.2h-.2l-.2-.2h-.3l-.2-.2h-.3v-.2h-.3v-.2h-.3v-.2h-.3v-.2l.6-.8.2.2h.2v.2h.3l.2.2h.2l.2.2h.2v.2h.4l.2.2h.4v.2h.2l.2.2h.2v.3zm-.2-.3v.2zm1.7 4.5l-1 .4v-.7l-.2-.2v-.4l-.2-.2v-.5h-.2v-.4l-.2-.3v-.3h-.2v-.5h-.2v-.5h-.2v-.3l1-.4v.4l.2.3v.2l.2.3v.2l.2.3v.3l.2.3v.4h.2v.4l.2.2v.4h.2v.4zm0 0zm0 0l-1 .4h.3l.3.2-.5-.5.6.5-.5-.5.6.5-.5-.5.2.4-.2-.3v.2l1-.5v.2-.4.4l-.4-.5.6.5-.5-.5.6.5-.5-.5h.4v.3zm0-.2v.2-.2zm1.6 4.7l-1-.2v.3-.5l-.2-.3v-.2l-.2-.3v-.3l-.2-.3v-.2l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.4l-.2-.2 1-.5v.4h.2v.5h.2v.5l.2.2v.3l.2.3v.5l.2.2v.3l.2.2v.2l.2.2v.6zm0-.3v.3-.3zm-1.7 2.4l-1-.4.2-.2v-.2h.2v-.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2h.2v-.2l1 .2v.4h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2v.2zm-2.2 5l-.7-.7.2-.3v-.2h.2v-.3l.2-.2v-.4l.2-.2v-.5h.2v-.4h.2v-.5h.2v-.2l.2-.3v-.2l.2-.3v-.2l.2-.2 1 .5-.2.2v.3h-.2v.4h-.2v.5l-.2.2v.3l-.2.2v.3l-.2.2v.3l-.2.2v.3l-.2.2v.3h-.2v.3h-.2v.3l-.2.2v.2zm-3.7 2.7l.2-1h.4v-.2h.2l.2-.2h.2v-.2h.2l.2-.2.2-.2.2-.2.2-.2.2-.3.2-.2v-.2h.2v-.3l1 .7h-.2v.3h-.3v.3h-.2v.3h-.4v.4h-.2v.2h-.2l-.2.2-.2.2-.2.2h-.3v.2h-.4v.2h-1zm-2.2-5h1v.3l.2.2v1.1h.2v.5l.2.2v.3l.2.2v.2h.2v.2h.2v.2h.2v1h-.8v-.2h-.2l-.2-.2-.2-.2v-.3h-.2v-.2l-.2-.2v-.3l-.2-.3v-.4h-.2v-1l-.2-.2v-1zm-1.2-2.6l.7-.6.2.2v.2h.2v.2l.2.2v.2h.2v.3l.2.2v.2h.2v.7h.2v.6l-1 .2v-1h-.2v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.4h-.2v-.2h-.2zm-2-1l.4-.8h.3v.2h.4v.2h.4v.2h.4v.2h.4v.2h.2v.2l-.6.7h-.2l-.2-.2h-.4v-.2h-.4l-.2-.2h-.2l-.2-.2h-.3zm-2.5-2l.7-.6.2.2.2.2.2.2.2.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.2l.2.2-.5 1v-.2h-.2v-.2h-.4v-.2l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2zm-1.2-2.3l1-.4v.2h.2v.4h.2v.5h.2v.4h.2v.2l.2.2-.7.7h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.8h-.2v-.2zm-.6-2.5h1v.8h.2v.4l.2.2v.2l.2.2v.2l-1 .5v-1h-.2v-.4h-.2v-.6h-.2v-.8zm1 0v.2zm.4-1.5v-1l.3.8v.4h-.2v.2h-.2v.8h-.2v.2h-1v-.9l.2-.2v-.4l.2-.2v-.2h.2v-.4h.2v-.2h.2l.4.7zm0-1h1l-.7.8-.2-.8zm0 0v1l-.4-.8.4-.3zm0 1h-1l.6-.8.4.7z"/>
+        <path fill="#21231e" d="M406.5 226l.2 1c-1.4.4-2.6 1-3.6 1.8s-1.7 2-2.3 3.2c.2-1.4 1-2.7 2-3.7s2.3-1.8 3.8-2.2zm-.6-1.6l-.5-1c-1.6 0-3.2-.4-4.7-1-1.5-.7-3-1.6-4.4-2.8 1 1.3 2.6 2.4 4.3 3.3 1.6.7 3.5 1.3 5.2 1.5z"/>
+        <path fill="#edb92e" d="M391.4 213.8c1 .4 1.6.8 2.8 1.8.8.7 1.3 1.7 1.5 3 0 1 0 2.5-.3 3.8-.2.8 0 2.2.5 3.6.4 1.4 1 2.8 2 3.5 2.3 2.5 4 5 3.4 6.7a4 4 0 01-1.5 1.8c-.4-.6-1-1.2-1.4-2.2a8 8 0 00-1.5-3.5c-.5-.6-.7-1.3-2-2.2-1-.5-2-.3-2.6-1-1.2-1.6-3-5.5-1.3-7.2 1.7-1.7 2.3-2.7 1-5.6-.5-1-.5-1.8-.6-2.4z"/>
+        <path fill="#21231e" d="M394.5 215.2l-.7.8-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2l-.2-.2h-.4l.3-1h.4v.2h.4v.2h.4v.2h.4v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2v.2zm1.7 3.2l-1 .2v-.6h-.2v-.7h-.2v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l.7-.8h.2v.2l.2.2v.2h.2v.2l.2.2v.2h.2v.4l.2.2v.4h.2v.8h.2v.2zm-.3 4h-1V221h.2v-2.4l1-.2v3.3l-.2.2v.5zm-1 0v-.3.3zm1.4 3.5l-1 .2v-.5l-.2-.3v-.4l-.2-.3v-.8h-.2v-1.4h1v1.9h.2v.7h.2v.7h.2v.3zm1.8 3.2l-.7.7v-.2l-.2-.2h-.2v-.4h-.2v-.2l-.2-.3v-.2h-.2v-.2l-.2-.3v-.2h-.2v-.5l-.2-.2-.2-.3v-.4h-.2l1-.4v.2l.2.2v.2l.2.3.2.2v.3l.2.2v.2h.2v.2h.2v.4h.2v.2h.2v.2h.2v.2zm3.6 7.2l-1-.4.2-.2v-1.3l-.2-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.3-.2-.2-.3v-.3l-.3-.2-.2-.2-.2-.3-.2-.2-.2-.2-.2-.2-.3-.3h-.2l.7-.8.3.2.2.2.2.3.3.4.3.2.2.2v.3l.3.3.3.2.2.3v.2l.3.2.2.3v.2l.2.2.2.2v.2l.2.2v.2l.2.3v.7l.2.2v1.2l-.2.2zm-2.4 1.8l1-.4-.8-.2.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l1 .4v.2l-.2.2v.2l-.2.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2l-.2.2-.8-.2zm.8.2l-.5.3-.3-.5.8.2zm-2-2.5l1-.3v.4h.2v.4h.2v.2h.2v.2l.2.2v.2h.2v.4l-.8.4v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.4l-.2-.2v-.2l-.2-.2v-.3zm-1.5-3.3l.8-.7v.2h.2v.2l.2.2v.2l.2.2v.2h.2v.5h.2v.4l.2.2v.4l.2.3v.7l-.8.2v-.4h-.2v-.5l-.2-.2v-.5h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2zm0 0zm-2-2.2l.4-1 .3.2.2.2h.2l.2.2.2.2.2.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2l-.7.7-.2-.2v-.2h-.2v-.2h-.2v-.4h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2zm-2.7-1.3l.8-.6h.2v.2h.2v.2h.9l.2.2h.4l.2.2h.2l.2.2-.4 1v-.2h-.4l-.2-.2h-.9v-.2h-.4l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2zm-1.2-7.8l.7.7v.3h-.2v.3h-.2v2.2l.2.3v.5l.2.2v.2l.2.3v.2l.2.2v.2l.2.2v.2l.3.2v.2h.2v.3l.2.2-.7.7-.2-.3-.2-.3v-.2l-.2-.2v-.2h-.3v-.3l-.2-.3-.2-.4v-.2l-.2-.3v-.2l-.2-.2v-.6l-.2-.3v-2.1l.2-.3v-.2h.2l.2-.3.2-.3zm.7-5l1-.5v.5l.2.2v.3l.2.2v.7h.2v1.7l-.2.2v.2l-.2.2v.2h-.2v.3h-.2v.2l-.2.2-.3.3h-.2l-.2.3-.8-.6.2-.3h.2l.2-.3.2-.3.2-.2v-.3l.2-.2v-.2l.2-.3v-.7l-.2-.2v-.5l-.2-.2-.2-.4v-.2zm0-3v1l.4-.7v1.4h.2v1.1h.2l-1 .6v-.9h-.2v-.7l-.2-.2v-1l.4-.7zm-.6.5l-.3-.7h.7l-.5.6zm.4.3v-1 1zm0-1z"/>
+        <path fill="#edb92e" d="M434 226.2c-1.2 1-1.5 1-2 1.6-.3.8 0 2 .3 3.3 1.5 5-1.4 4.4-5 2.6-1.6-1-3.6-3.2-5.2-4.4-1.5-1-2.6-1-3-1.6a118.7 118.7 0 01-1-4.3c0-.7-.5-2.4-1-4.4.4-.7 1.4-1 2.5-2.5 1-1.7 2.2-4.7 3.6-6 3-3.2 6-4.5 6 1.3 0 1.4.3 3 1 3.6.6.6 1 .3 2.5 1 1 .6 2 1.3 2.6 2 .7 1 .5 2 .7 2.8 0 1 .5 1.7.2 2.6-.5 1-1 1.7-2 2.4z"/>
+        <path fill="#21231e" d="M432.6 228l-1-.5h.2v-.4h.4v-.2h.4v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.8.8-.2.2h-.2v.2h-.2l-.2.2-.2.2h-.2v.2h-.4v.2h-.2v.2zm-1-.5zm1 3.4l-.8.3v-.2l-.2-.2v-.7h-.2v-2.3h.2v-.2l1 .4v.2h-.2v2.1h.2v.7zm-5.4 3l.5-.8h.3l.3.3h.3l.3.3h.2l.3.2h.2l.3.2h.7l.2.2h.7v-.2h.2v-.4l.2-.3v-1.1l-.2-.3v-.3l-.2-.4 1-.4v.4l.2.4v.8l.2.3v1.1l-.2.4v.2l-.3.2-.2.2h-.2l-.2.2-.4.2h-1.2l-.3-.2h-.6l-.3-.3-.2-.2h-.3l-.3-.2-.4-.2-.3-.2h-.3zm-5.4-4.3l.6-1 .2.2.3.2.2.3h.2v.3h.3v.3l.3.2.2.2h.2v.3h.3l.2.3.2.3.2.2.3.3h.2v.2l.2.2h.2l.2.2v.2h.3v.2h.2l.2.2.3.2-.5 1-.2-.2h-.2v-.2l-.3-.2h-.2l-.2-.2-.2-.3h-.2l-.2-.2h-.2v-.3h-.3l-.3-.3h-.2v-.3l-.3-.3h-.2l-.2-.3-.3-.3h-.2v-.2h-.3l-.2-.3-.3-.3-.3-.2-.3-.2h-.2zm.6-1zm-4-1l1-.2v-.2h.2v.2h.4l.2.2h.4v.2h.7l.2.2h.2l.2.2.3.2h.2l.2.2-.6 1v-.2h-.3v-.2h-.2l-.2-.2-.2-.2h-.3l-.2-.2h-.2v-.2h-.4l-.2-.2h-.2l-.2-.2h-.2v-.2h-.2v-.3zm.2.3v-.3.3zm-.6-4.2v-1l.5.4v.4l.2.2v1h.2v1.3h.2v1h.2v.5l-1 .2v-.7l-.2-.3v-.7l-.2-.3v-.7h-.2v-.8l-.2-.2v-.6l.4.4zm0-1h.5v.4l-.5-.4zm-.5.6l1-.2v-.2l-.5-.2v1h-.3l-.2-.5zm1-.2zm-1.8-4.5l1 .4v-.2 1.1h.2v1.1l.2.3v.8l.2.2v.9l-1 .2V222l-.2-.2v-.8l-.2-.3v-.7h-.2v-.8l-.2-.2v-.3zm0 .3v-.3.3zm2.4-2.8l1 .5-.2.2-.2.2-.2.3-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2l-1-.3h.2v-.4h.2v-.2h.4v-.2h.2l.2-.2.2-.2.2-.2h.2v-.2l.2-.2.2-.2v-.2h.2v-.2zm3.7-6.2l.8.7h-.2v.3h-.2v.3l-.3.3v.2l-.2.2v.2h-.2v.3l-.2.3v.4l-.3.2v.2l-.2.2v.2l-.2.2v.2l-.2.2v.3l-.2.3v.2l-.2.2v.2h-.2v.2l-.2.2-.2.2-1-.4.2-.2.2-.3v-.2h.2v-.3l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.3l.2-.2v-.2h.2l.2-.3v-.2l.2-.2v-.3l.2-.2v-.2l.3-.2v-.2l.2-.2.2-.3v-.2l.2-.2h.2v-.3zm6.8 1.8h-1v-1.4l-.2-.4v-.6l-.2-.2v-.4l-.2-.2h-.3v-.2h-1.2l-.3.2-.3.2h-.2l-.3.3-.2.3-.3.2-.2.2-.3.2-.2.2-.3.2-.2.3-.8-.7.3-.3.3-.3.3-.2.2-.3.3-.3.4-.2.3-.2.2-.2h.2l.3-.3h.2l.3-.2h.3l.2-.2h1.2l.3.2.3.3.2.2.2.2.2.3v.6l.2.5v.4l.2.3v1.5zm1 3.3l-.8.8-.2-.2v-.2h-.2v-.2l-.2-.2v-.6l-.2-.2v-.7l-.2-.2V212h1v2h.2v.3l.2.2v.2h.2v.2l.2.2zm0 0zm2.2 1l-.4 1-.3-.2h-.2l-.3-.2h-.4v-.2h-.9v-.2h-.4v-.2h-.2v-.2l.6-.7v.2h.4v.2h.8l.2.2h.4l.2.2h.2l.2.2zm2.8 2.2l-.8.6h-.2v-.2l-.2-.2h-.2v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2.3-1 .3.2h.2l.2.2.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2zm-.8.6l.4.5-.3-.5zm1.5 2.3l-1 .2V220l-.2-.2v-.8h-.2v-.4l.7-.6v.2l.2.2v.2l.2.2v2.2h.2v.2zm0 3l-.8-.4v-2.1l-.2-.2v-.4h1v1l.2.2v1.8zm-1.8 2.6l-.7-.8h.2v-.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2h.2v-.2l1 .4-.2.2v.2l-.2.2v.2h-.2v.4h-.2v.2h-.2v.2l-.2.2-.2.2v.2h-.2l-.2.2-.2.2zm-.7-.8z"/>
+        <path fill="#21231e" d="M418 222.6l-.2-1a14 14 0 007.8-5.3c-1.2 3-4.3 5.3-7.7 6.3zm.2 1.5c0 .4.2.7.3 1 3.4 0 6.4 1 9.2 3-2-2.3-5.8-3.8-9.5-4z"/>
+        <path fill="#edb92e" d="M432.7 233.3a11 11 0 01-3.4-1.5c-1.6-1.3-1.2-3.8.3-6.4.4-.8.5-2.2.2-3.5a6.3 6.3 0 00-1.4-3.5c-2.4-2.3-3.8-4.8-2.6-6.6.8-1.3 2-2 2.8-2.7.3.6.4 1.5.4 2.5 0 1.4.3 3 1 3.6.6.6 1 .3 2.5 1 1 .7 2 1.3 2.6 2 .7 1 .6 2 .7 2.8 0 1 .5 1.7.2 2.6-.5 1-1 1.7-2 2.4-1.2 1-1.5 1-2 1.6-.3.8 0 2 .3 3.3.3 1 .4 1.7.4 2.3z"/>
+        <path fill="#21231e" d="M429 232.2l.6-.8h.2v.2h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.4l.2.2h.4l.2.2h.2l-.3 1h-.4v-.2h-.4l-.2-.2h-.3v-.2h-.4l-.2-.2h-.2l-.2-.2h-.2v-.2h-.2l-.3-.2h-.2v-.2zm0-7l1 .5v.2h-.2l-.2.4v.2l-.2.2v.2l-.2.3v.4l-.2.2v.5l-.2.2v1.5l.2.3v.2h.2v.3l.2.2.2.2-.6.8-.2-.2-.3-.3v-.2h-.2v-.3l-.2-.2v-.4l-.2-.3V228h.2v-.7l.2-.3.2-.3v-.3l.2-.2v-.3l.3-.3v-.5zm.3-3.3l1-.2v.8h.2v1.9l-.2.2v.7h-.2v.2l-1-.4h.2v-.6h.2V222zm-1.3-3.2l.7-.7v.2h.2v.4h.2v.2l.2.2v.2l.2.2v.2l.2.2v.5h.2v.7l.2.2v.8h-1v-1.2l-.2-.2v-.4h-.2v-.4h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2zm0 0zm-2.7-7.2l1 .6h-.2v.7l-.2.2v.7l.2.2v.4l.2.2v.2l.2.2v.2l.2.2v.2l.3.2v.2l.2.2.2.2v.2l.3.3.2.3v.2l.3.2.2.2h.2l-.7.8-.2-.2-.2-.2-.3-.2-.2-.2v-.3l-.2-.2-.2-.2-.2-.2-.2-.2v-.2l-.3-.2-.2-.3h-.2v-.3l-.2-.2v-.3l-.2-.2v-.2l-.2-.3v-.4l-.2-.2v-1l.2-.3v-.2l.2-.2v-.2zm3.8-2.5l-.8.4.7.3h-.2l-.2.2h-.2l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-1-.6h.2v-.2l.2-.2.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2h.2l.2-.2.2-.2h.2v-.2h.2l.2-.2.2-.2h.2v-.2h1.1zm-.6 0l.5-.5v.6h-.6zm1 2.8h-1v-2.1h-.2v-.4l1-.3v1h.2v2zm1 3.3l-.7.8-.2-.2v-.2h-.2v-.2l-.2-.2v-.7l-.2-.2v-.7l-.2-.2V212h1v1.7h.2v.6l.2.2v.2h.2v.2l.2.2zm2.3 1l-.4 1-.3-.2h-.2l-.3-.2h-.4v-.2h-.9v-.2h-.4v-.2h-.2v-.2l.6-.7v.2h.4v.2h.8l.2.2h.4l.2.2h.2l.2.2zm2.8 2.2l-.8.6h-.2v-.2l-.2-.2h-.2v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2.3-1 .3.2h.2l.2.2.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2zm-.8.6l.4.5-.3-.5zm1.5 2.3l-1 .2V220h-.2v-.8h-.2v-.4l.7-.6v.2l.2.2v.2l.2.2v2h.2v.2zm0 3l-.8-.4v-2.2l-.2-.2v-.4h1v1l.2.2v1.8zm-1.8 2.6l-.7-.8h.2v-.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2h.2v-.4h.2v-.2l1 .4-.2.2v.2l-.2.2v.2l-.2.2v.2h-.2v.2h-.2v.2l-.2.2-.2.2v.2h-.2l-.2.2-.2.2zm-.7-.8zm-1 2.2l-1-.5v-.2h.2v-.2h.2v-.2h.4v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.8.8-.2.2h-.2v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-.2v.2h-.2v.2zm-1-.5zm1 3.4l-1 .3v-.7h-.2v-3h.2l1 .4h-.2v2.6h.2v.2zm-1 .3zm.8 2.5l.3-1-.6.5v-1h-.2v-.9l-.2-.2 1-.5v.9h.2v1h.2v.7l-.7.5zm.7-.5v.7l-.7-.2.7-.5zm-.5 0l-.2.5.2-.5zm.5 0v.7l-.7-.2.7-.5z"/>
+        <path fill="#edb92e" d="M410.6 216.4c4 0 8 3.4 8.4 7.7.6 4.4-2.2 7.7-6 7.8-4 0-7.5-3-8.3-7.3-.7-4 1.8-8 6-8z"/>
+        <path fill="#21231e" d="M419.5 224l-1 .2v-.8l-.2-.4v-.3l-.2-.4v-.3l-.2-.4-.2-.3-.2-.3-.2-.4-.2-.3-.2-.3-.3-.2-.2-.3-.3-.3-.2-.2-.3-.3-.3-.2-.3-.2-.4-.2h-.3l-.3-.3h-.4l-.3-.3h-.3l-.4-.2h-.3l-.3-.2h-1.5v-1h1.9l.4.2h.3l.4.3h.4l.4.3.4.2.3.2.5.2.3.3.3.2.4.2.3.3.3.3.3.3.3.4.2.3.2.4.3.4.2.4.2.4.2.4v.4l.2.4v.4l.2.4v.8zm-6.6 8.3v-1h.9l.2-.2h.6l.3-.2h.4l.2-.2.3-.2h.2l.2-.3h.2l.2-.3.3-.3.3-.2v-.2l.3-.3.2-.2v-.3l.3-.3.2-.4v-.3l.2-.3v-.7l.2-.3V224l1-.2v2.5l-.2.4v.8l-.3.4v.3l-.2.3v.4l-.3.3-.2.3-.3.3h-.2l-.2.4-.3.2-.3.3h-.3l-.3.3-.3.2h-.2l-.3.3h-.4l-.2.2h-.4l-.3.2H413zm-8.7-7.7l1-.2v.7l.2.5v.3l.3.4v.3l.3.3.2.4.2.3.2.3.2.3.2.3.3.3.2.3h.3l.2.3.3.3.2.2.3.2.3.2h.4l.3.3.3.2h.3l.3.2h.7l.3.2h1.2v1h-2l-.3-.2h-.4l-.4-.3h-.4l-.4-.3-.3-.2-.4-.2-.3-.2-.4-.2-.4-.2-.3-.3-.2-.2-.2-.2-.3-.3-.2-.3-.3-.3-.2-.4-.2-.3-.2-.3-.2-.4-.2-.3-.2-.4v-.4l-.2-.4-.2-.4v-.8zm6.2-8.7v1h-1l-.3.2h-.4l-.3.2h-.3l-.3.3h-.2l-.2.3-.3.2-.2.2v.2l-.3.2-.2.2-.2.3-.2.3v.2l-.2.3v.4l-.3.3v.6l-.2.3v.7l-.2.3v.7l.2.4v.8l-1 .2v-3.3l.2-.3v-.3l.2-.4v-.3l.3-.4v-.3l.3-.3.2-.3.2-.3.2-.3h.2l.2-.4.3-.2.3-.2.3-.2.3-.2.3-.2.3-.2h.3l.4-.2h.4l.3-.2h.9z"/>
+        <path fill="#edb92e" d="M411 218.6c2.8-.2 5.7 2.4 6 5.5.5 3.3-1.5 5.8-4.4 5.8-2.8 0-5.5-2.3-6-5.3s1.3-5.8 4.3-6z"/>
+        <path fill="#21231e" d="M417.6 224l-1 .2v-.6l-.2-.3v-.2l-.2-.3v-.4l-.2-.2v-.2l-.2-.3-.2-.3v-.2l-.3-.2-.2-.2-.2-.3-.2-.2-.2-.2h-.2l-.2-.3h-.2l-.3-.3h-.2l-.2-.2-.4-.2h-.5v-.2h-1.1v-1h1.1l.4.2h.3l.2.2h.2l.3.2h.3l.2.3h.3l.2.2.3.2h.2l.3.3.2.3.2.2.2.2v.2l.3.3h.2v.4l.3.3v.3l.3.2.2.3v.3l.2.3v.8l.2.3zm-5 6.3v-1h1.1l.2-.2h.4l.2-.2h.2v-.2l.3-.2h.3v-.2l.3-.2v-.2h.2l.2-.3v-.2l.2-.2.2-.3v-.7l.2-.2v-1.6h1v2.2l-.2.3v.2l-.2.3v.2l-.3.3-.2.2v.3l-.3.2-.2.2-.2.2-.3.2-.2.2-.2.2h-.2l-.2.2h-.2l-.3.2h-.2l-.2.2h-1.5zm0-1zm-6.5-4.8h1l.2.4.2.4v.2l.2.3.2.3v.3l.3.2.2.2.2.2v.2l.3.2.2.2.3.3.2.2.2.2h.2v.3h.3l.2.2h.7l.2.2h1.1v1H411l-.4-.2h-.2l-.3-.2h-.2l-.2-.3h-.3l-.2-.3-.4-.3-.2-.3-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.3v-.2l-.3-.2-.2-.2-.2-.3v-.3l-.2-.3v-.3l-.2-.2v-.7zm1 0zm4-6.4v1h-.6l-.2.2h-.5l-.2.2h-.2l-.2.2-.2.2h-.2l-.2.3v.2l-.3.2-.2.3v.2h-.2v.3l-.2.2v.2l-.2.2v.7l-.2.2v1.7h-1V222h.2v-.4l.2-.3v-.2l.2-.2v-.2l.3-.3v-.2h.2l.2-.3.2-.2.2-.2.2-.2h.2l.2-.2h.3l.2-.3h.2l.2-.2h.6l.3-.2h.6z"/>
+        <path fill="#0c4076" d="M411.2 220.7c2 0 3.6 1.5 4 3.5.2 2-1 3.6-3 3.6a4 4 0 01-3.7-3.4c-.3-2 1-3.6 2.7-3.7z"/>
+        <path fill="#21231e" d="M415.6 224l-1 .3v-.4l-.2-.2v-.4h-.2v-.3l-.2-.2-.2-.3-.2-.2-.2-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2h-.6v-.2h-.6v-1h1l.2.2h.2l.3.2h.3v.2h.3l.2.3v.2h.3l.2.2.2.2.2.3.3.2v.4h.2v.3l.2.3v.4l.2.2zm-3.3 4.3v-1h.7l.2-.2h.4v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.5l.2-.2v-1.1l1-.3v2h-.2v.3l-.2.3-.2.3-.2.2h-.2v.2l-.2.2h-.2v.2h-.3l-.2.2h-.4v.2h-1zm-4.3-3.8l1-.2v.5l.2.3v.4h.2v.2l.2.2.2.2.2.3.2.2.2.2h.3v.2h.4l.3.2h.8v1h-1.3l-.2-.2h-.2l-.3-.2h-.2v-.2h-.2v-.2l-.3-.2-.3-.2v-.2h-.2v-.3h-.3v-.3l-.2-.2v-.2h-.2v-.5l-.2-.2v-.5zm2.7-3.8h1l-.5.5h-.7l-.2.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.5h-.2v1.3l-1 .3v-1.8h.2v-.5h.2v-.3h.2v-.3h.3v-.3h.3v-.2h.3v-.2h.3v-.2h1l.2-.2h.4l-.5.5zm1 0v.5h-.5l.5-.5zm0 0h-1l.5-.5.5.5zm-1 0v-.5h.5l-.5.5z"/>
+      </g>
+      <path fill="#fff" d="M482 183c4 0 7 3 7 7s-3 6.7-7 6.7c-3.6 0-6.7-3-6.7-6.8 0-4 3-7 6.8-7z"/>
+      <path fill="#21231e" d="M489.5 189.8h-1c0-2.3-1.4-4.6-3.5-5.6a6.3 6.3 0 00-3-.7v-1c2.6 0 5 1.3 6.4 3.5a7.4 7.4 0 011 3.8zm-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.6-1.5 5.2-3.7 6.5a7.3 7.3 0 01-3.7 1zM475 190h1a6.4 6.4 0 006.3 6.2v1a7.1 7.1 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.5v1a6.3 6.3 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.7 1.4-5 3.5-6.4a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 171c4 0 7 3 7 7a6.8 6.8 0 11-13.7-.2c0-3.7 3-6.7 6.8-6.7z"/>
+      <path fill="#21231e" d="M489.5 178h-1c0-2.4-1.4-4.7-3.6-5.8a6.3 6.3 0 00-3-.6v-1c2.6 0 5 1.3 6.4 3.4a7.4 7.4 0 011 4zm-7.4 7.3v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.5-1.5 5-3.7 6.4a7.3 7.3 0 01-3.7 1zM475 178h1a6.4 6.4 0 006.3 6.3v1a7.1 7.1 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.3 6.3 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.6 1.4-5 3.5-6.3a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 159.6c4 0 7 3 7 7a6.8 6.8 0 11-13.7-.2c0-3.7 3-6.8 6.8-6.8z"/>
+      <path fill="#21231e" d="M489.5 166.5h-1c0-2.4-1.4-4.7-3.6-5.7a6.3 6.3 0 00-3-.7v-1c2.6 0 5 1.5 6.4 3.6a7.4 7.4 0 011 4zM482 174v-1c2.5 0 4.7-1.5 5.8-3.6.4-1 .7-2 .7-3h1c0 2.6-1.4 5-3.5 6.4a7.3 7.3 0 01-4 1zm-7.2-7.5h1c0 2.4 1.4 4.7 3.6 5.7a6.3 6.3 0 002.7.7v1a7.2 7.2 0 01-6-3.6 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.4 6.4 0 00-5.5 3.6 6.4 6.4 0 00-.7 3h-1c0-2.6 1.4-5 3.5-6.4a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 127c4 0 7 3.2 7 7s-3 6.8-7 6.8a7 7 0 01.1-13.8z"/>
+      <path fill="#21231e" d="M489.5 134h-1c0-2.4-1.4-4.7-3.6-5.8a6.3 6.3 0 00-3-.6v-1c2.6 0 5 1.3 6.4 3.4a7.4 7.4 0 011 4zm-7.4 7.3v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.5-1.5 5-3.7 6.3a7.3 7.3 0 01-3.7 1zM475 134h1c0 2.3 1.4 4.6 3.5 5.6a6.3 6.3 0 002.8.7v1a7.3 7.3 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.3 6.3 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.6 1.4-5 3.5-6.3a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 137.2c4 0 7 3 7 6.8s-3 7-7 7c-3.6 0-6.7-3.2-6.7-7s3-6.8 6.8-6.8z"/>
+      <path fill="#21231e" d="M489.5 144h-1c0-2.3-1.4-4.6-3.5-5.7a6.3 6.3 0 00-3-.6v-1c2.7 0 5.2 1.4 6.5 3.6a7.4 7.4 0 011 3.7zm-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.6-1.5 5-3.7 6.4a7.3 7.3 0 01-3.7 1zM475 144h1c0 2.4 1.4 4.7 3.5 5.7a6.3 6.3 0 002.8.7v1a7 7 0 01-6-3.5 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.4 6.4 0 00-5.5 3.6c-.5 1-.7 2-.7 2.8h-1c0-2.5 1.4-5 3.5-6.2a7.3 7.3 0 013.8-1.2z"/>
+      <path fill="#fff" d="M482 148.2c4 0 7 3 7 6.8s-3 7-7 7c-3.6 0-6.7-3.2-6.7-7s3-6.8 6.8-6.8z"/>
+      <path fill="#21231e" d="M489.5 155h-1c0-2.3-1.4-4.6-3.6-5.7a6.3 6.3 0 00-3-.6v-1c2.6 0 5 1.3 6.4 3.4a7.4 7.4 0 011 4zm-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.6-1.5 5-3.7 6.4a7.3 7.3 0 01-3.7 1zM475 155h1c0 2.4 1.4 4.7 3.5 5.7a6.3 6.3 0 002.8.7v1a7.3 7.3 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.5 6.5 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.5 1.4-5 3.5-6.3a7.3 7.3 0 013.8-1z"/>
+      <path fill="#edb92e" d="M487 195.5c1 1.6.7 2 1.4 2.4.8.6 2 .6 3.4.4 5.3-1 4.5 2.3 2.2 6-1 1.7-3.8 3.5-5.2 5-1.4 1.5-1.6 2.8-2 3.2h-9.2c-.5-.4-.7-1.7-2-3.2-1.5-1.5-4.2-3.3-5.3-5-2.4-3.7-3-7 2.2-6 1.3.2 2.6.2 3.4-.5.6-.6.3-1 1.3-2.5a7 7 0 012.2-2.3c1-.5 1.8-.2 2.6-.2 1 0 2-.3 2.8.2a7 7 0 012.2 2.3z"/>
+      <path fill="#21231e" d="M488.7 197.5l-.7.8-.2-.2h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.3v-.2l.8-.6v.2h.2v.3l.2.2v.2h.2v.4h.2v.4h.2v.4h.2zm-.7.8l-.3-.3.3.3zm3.8-.4v1h-2.4l-.2-.2h-.2l-.2-.2h-.3l-.2-.2.7-1v.2h.2v.2h.8l.2.2h1.9zm2.6 6.6l-.8-.6.2-.3.2-.3.2-.4.2-.3v-.3l.3-.3v-.2l.2-.2v-.6l.2-.2v-1.3l-.2-.2h-.2v-.2h-.5l-.2-.2h-2l-.2-1h2.8l.3.2h.2l.2.2.2.2.2.2.2.2v.3l.2.3v1.7l-.2.3v.3l-.3.2v.4l-.3.3v.2l-.3.4v.3l-.3.2-.3.4zm-5.3 5.2l-.6-.7.3-.2v-.2h.3l.2-.3v-.2h.3l.2-.2h.2v-.3h.2l.2-.3.2-.2h.2l.2-.3h.2v-.3l.3-.2h.2l.2-.3v-.2l.2-.2.2-.2h.2v-.3h.3v-.4h.3v-.3h.2v-.3l1 .6-.2.2-.2.3v.3l-.2.2h-.2l-.2.3v.2l-.3.2-.3.3v.2h-.3l-.2.3-.2.2h-.2l-.2.3-.2.2-.3.3-.3.3h-.2v.3l-.3.2h-.2v.3l-.3.2h-.2v.3h-.2l-.2.3zm-2.3 3.3v-1l-.3.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2h.2v-.2l.2-.2.2-.3.3-.3.8.6v.2l-.2.2-.2.2-.2.3v.2h-.2v.2l-.2.2v.2l-.2.2v.2h-.2v.4h-.2v.2l-.2.2v.2h-.5zm.3 0h-.2.2zm-5 .2v-1h4.7v1h-4.5zm0-1h.2zm0 0v1-1zm0 0zm-4.7.8l.6-.8h-.4 4.2l.2 1h-4.7l-.3-.2zm.3 0h-.2.2zm-2.4-3.2l.7-.7v.2l.2.2.2.3.2.3.2.2v.2h.2v.4h.2v.4h.2v.4h.2v.4h.2v.2l-.5.8-.2-.2v-.2l-.2-.2v-.2h-.2v-.4h-.2v-.4l-.2-.2v-.2h-.2v-.2l-.2-.3-.2-.2-.2-.3-.2-.2zm-5.4-5.2l1-.6v.2l.2.3h.2v.3l.2.2h.2v.3h.3v.3l.2.2h.2l.2.3.2.2v.2l.3.2h.3l.2.3h.2l.2.2v.2h.2l.2.3h.2l.2.3h.2v.3l.3.2h.2v.3h.3v.3l-.6.8-.2-.2-.3-.3-.3-.2-.3-.2v-.2l-.2-.2h-.2l-.2-.3h-.2l-.2-.2h-.2v-.3l-.3-.2h-.2l-.2-.3v-.2h-.3l-.2-.3v-.2h-.3l-.2-.3v-.2l-.3-.2h-.2v-.3l-.3-.2-.2-.2-.2-.2zm2.7-6.7v1l-.6-.2h-2.1l-.2.2h-.2v.2h-.2v.4l-.2.2v1.1l.2.2v.3l.2.3v.2l.2.3.2.4v.3l.3.3.3.4.2.3.2.3-1 .6v-.4l-.3-.3-.2-.4-.2-.4v-.3l-.3-.4v-.4l-.3-.3v-.4l-.2-.3v-.6l-.2-.3v-1l.2-.2v-.2l.3-.2.2-.2.2-.2.4-.2h.3l.3-.2h2.5zm3-.5l.8.8-.2.2h-.2l-.2.2h-.4l-.2.2h-3v-1h2.5l.2-.2h.4v-.2h.2zm1.4-2.3l.7.6v.3l-.2.2v.2h-.2v.4h-.2v.8h-.2v.2h-.2v.2l-.2.2-.8-.7h.2v-.4h.2v-.4h.2v-.2l.2-.2v-.4h.2v-.3h.2v-.3zm0 0l.2-.4-.3.4zm2.3-2.4l.5.8-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-.2.2v.2l-1-.6.2-.2.2-.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2.2-.2h.2v-.2l.2-.2h.2v-.2h.2l.2-.2zm2.8-.3v1h-2.4l-.5-.7h.2v-.2h.4l.2-.2h2zm3 .3l-.5.8h-.4v-.2H482v-1h2.5l.2.2h.2l.2.2zm0 0l.3.2-.3-.2zm2 3.2v-1l-.4.8-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2v-.2l.4-.8h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l-.4.8zm.4-.8l.5.8h-1l.4-.8zm-.4-.2v1l-.4-.2.4-.8zm-.4.8l-.5-.8h1l-.4.8z"/>
+      <path fill="#21231e" d="M481.4 212.8l-1-.2c-.4-3.7-2-7-4.3-9.6 2.8 1.8 4.8 5.7 5.4 9.8z"/>
+      <path fill="#edb92e" d="M494.2 198.3c-.5 1-1 2.4-2 3.5-1.5 1.6-4 .5-6.5-1.6-.8-.6-2.2-1-3.6-1a6 6 0 00-3.4 1c-2.5 2-5 3.2-6.6 1.6-1-1-1.5-2.4-2-3.5h2.5c1.3.3 2.6.3 3.4-.4.6-.6.3-1 1.3-2.5a7 7 0 012.2-2.3c1-.5 1.7-.2 2.6-.2 1 0 2-.3 2.8.2.8.5 1.5 1.3 2.2 2.3 1 1.6.7 2 1.3 2.4 1 .6 2.2.6 3.5.4 1-.2 1.8-.2 2.4 0z"/>
+      <path fill="#21231e" d="M492.6 202l-.7-.6v-.2l.2-.2.2-.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.3v-.4l1 .5v.4l-.2.2v.2l-.2.2v.4h-.2v.2l-.2.2v.3h-.2v.2h-.2v.2h-.2v.3l-.2.2-.2.2h-.2zm-7.3-1.4l.7-.7h.2l.2.2.3.2.2.2.3.3h.3l.2.2h.2l.2.2h.2l.2.2h.2l.2.2h.4l.2.2h1.6l.2-.2.2-.2h.2v-.2l.8.7-.2.3h-.2v.3h-.3l-.3.2h-.3l-.2.2h-1.9l-.3-.2h-.3l-.2-.2h-.3l-.2-.2h-.3l-.2-.2-.2-.2h-.3l-.2-.3h-.3l-.2-.3-.2-.2-.2-.2-.2-.2-.3-.2zm.7-.7l.5.3-.5-.4zm-4-.2v-1h2v.2h.7v.2h.4l.2.2h.2l.2.2h.2v.2h.2l-.7.8h-.2v-.2h-.2v-.2h-1v-.2h-1v-.2h-1zm-3 .8l-.7-.7v-.2h.2l.2-.2h.2v-.2h.2l.2-.2h.5v-.2h1.2v-.2h1v1h-1.5v.2h-.5l-.2.2h-.4v.2h-.2l-.2.2zm-7.3 1.5l.7-.6.3.2.2.2h.2v.2h1.7v-.2h.5l.2-.2h.2v-.2h.3l.2-.2.2-.2h.3l.2-.3h.2l.2-.3.3-.2v-.2h.3l.7.6-.3.2-.2.2-.3.2-.2.2-.2.2h-.3l-.2.3h-.3l-.2.2h-.2l-.3.2h-.2l-.2.2h-.2l-.2.2h-.3l-.3.2H473l-.4-.2h-.2l-.2-.2-.2-.2-.3-.3zm-1.7-4l.2 1 .3-.7v.2l.2.2v.3l.2.2v.4l.2.2v.2h.2v.4h.2v.4h.2v.2h.2v.2h.2v.2l.2.2-.7.7h-.2v-.2h-.2v-.2h-.2v-.5h-.2v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.4h-.2v-.4l-.2-.2v-.4h-.2l.4-.8zm-.4.7l-.2-.6.6-.2-.4.7zm3-.6l-.2 1-.2-.2H470l-.2-1h2.4zm3-.5l.7.8-.2.2h-.2l-.2.2h-.4l-.2.2h-2.8v-1h2.3l.2-.2h.4v-.2h.2zm.7.8l-.5.4.5-.4zm.6-3l.7.5v.3l-.2.2v.2h-.2v.4h-.2v.8h-.2v.2h-.2v.2l-.2.2-.8-.7h.2v-.4h.2v-.4h.2v-.2l.2-.2v-.4h.2v-.3h.2v-.3zm2.3-2.5l.5.8-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-.2.2v.2l-1-.6.2-.2.2-.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2.2-.2h.2v-.2l.2-.2h.2v-.2h.2l.2-.2zm2.8-.3v1h-2.3l-.5-.7h.2v-.2h.4l.2-.2h2zm3 .3l-.5.8h-.4v-.2H482v-1h2.5l.2.2h.2l.2.2zm0 0l.3.2-.3-.2zm2.4 2.4l-.8.6-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2v-.2l.4-.8h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2zm1.3 2.3l-.7.8-.2-.2h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.3v-.2l.8-.6v.2h.2v.3l.2.2v.2h.2v.4h.2v.4h.2v.4h.2zm-.7.8l-.3-.3.3.3zm3.8-.4v1h-2.4l-.2-.2h-.2l-.2-.2h-.4v-.2h-.2l.7-1v.2h.2v.2h.8l.2.2h1.9zm3 .5l-1-.4.3.8H492l-.2-1h2.4l.5.7zm-.5-.7h.6l-.3.7-.4-.7zm0 .5l.4.2-.5-.2zm0-.5h.6l-.3.7-.4-.7z"/>
+      <path fill="#edb92e" d="M482 211.7c4.4 0 8 3.4 8 7.7s-3.6 7.8-8 7.8-7.6-3.5-7.6-7.8 3.5-7.8 7.7-7.8z"/>
+      <path fill="#21231e" d="M483 212.8l.8-.2c.5-3.7 2-7 4.3-9.6a14.7 14.7 0 00-5 9.8z"/>
+      <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#b"/>
+      <path fill="#edb92e" stroke="#21231e" d="M577 293.6c2 .3 3 1.5 3 2.8 0 1.3-1 2.6-3 3a8.7 8.7 0 01-1.6.2c-60.8 5.2-125.7 5.2-186.5 0a8.7 8.7 0 01-1.6-.3c-2-.3-3-1.6-3-3 0-1.2 1-2.4 3-2.7a8.6 8.6 0 011.5-.3c60.7-5.2 125.6-5.2 186.4 0 .6 0 1 .2 1.5.3z"/>
+      <path fill="#21231e" d="M412 298.4h-.2v-.2h-.2v-1h.4v-.2.2-.2h2.3l.7-.2h3l.7-.2h3l.7-.2h3l.8-.2h3.3l.7-.2h3.8l.7-.2h.8v1.2h-2.9l-.7.2H428l-.7.2h-2.7l-.8.2H421l.7.2h3.7l.7.2h2.9l.7.2h3.7l.7.2h1.5v1.2h-3.7l-.7-.2h-3.8l-.7-.2h-2.9l-.7-.2H420l-.6-.2h-2.9l-.7-.2H413l-1-.2v-.2.2zm.2-.7zm46.6-2.6v1.3H453l-.7.2h-6.6l-.7.2h-5l-1 .2h-3.5v-1.2h3.5l.8-.2h5.2l.7-.2h5.9l.7-.2h6.8zm23.3 0v1h-13.7l-.7.2h-8.8v-1h1.4l.8-.2H482zm23.5 0v1.3h-11.1l-.7-.2H482v-1h23.6zm23.3 1v1h-5.2l-.8-.2h-5.2l-.7-.2h-6.5l-.8-.2h-4.3V295h.7l.7.2h7.5l.8.2h5l.8.2h5.1l.6.2h2.3zm23.4 1v.2h.4v1h-.2l-.2.2h-3l-.7.2h-2.2l-.7.2h-3.8l-.8.2h-2.8l-.7.2H534l-.8.2h-3.6l-.8.2v-1.2h2.2l.7-.2h3.7l.8-.2h3.7l.7-.2h1.8-1.4l-.8-.2h-2.7l-.7-.2H533l-.6-.2h-3.6V296h6.5l.7.2h3l.8.2h2.8l.7.2h3l.7.2h3l.7.2h1.5zm0 .7zm-116.7.7h.2l.2.2v.8h-.2v.2h-.2v-1.2zm93.3 1.2h-.2l-.2-.2v-.2h-.2v-.8h.2v-.2h.4v1.2zm-50.3-36.2v-1h3.8v1h-4zm0-1zm-1.2 0h1.2v1h-1.2v-1zm0 1zm-.6-1h.6v1h-.6v-1zm-1 0h1v1h-1v-1zm0 0zm-.8 0h.6v1h-.7v-1zm0 1zm-.5-1h.4v1h-.5v-1zm0 0zm-.8 0h.8v1h-.8v-1zm0 0zm-1.2 0h1.2v1h-1.2v-1zm-1 0h1v1h-1v-1zm0 0zm-.2 0h.2v1h-.2v-1zm-1 0h1v1h-1v-1zm-2.5 1v-1h2.6v1h-2.5zm0-1zm-.3 0h.2v1h-.2v-1zm0 1zm-.2-1h.2v1h-.2v-1zm0 0zm-1 0h1v1h-1v-1zm0 1zm-.5-1h.4v1h-.4v-1zm0 0zm-.4 0h.4v1h-.4v-1zm0 1zm-1.2-1h1.2v1h-1.2v-1zm0 0zm0 0v1-1zm0 1h-.2.2zm-1.2-1h1.2v1l-1.2.2v-1zm-.4 0h.4v1.2h-.4v-1zm-.8.2h.8v1h-.8v-1zm0 0h.3-.2zm-.3 0h.3v1h-.3v-1zm0 1h-.5.5zm-1-1h1v1h-1v-1zm-1 0h1v1h-1v-1zm0 0zm-.2 0v1-1zm0 1zm-1-1h1v1h-1v-1zm-.6 0h.5v1h-.4v-1zm0 0zm0 0v1-1zm0 1zm-4.2.2v-1h3.5v-.2h.4v1h-2.7l-.2.2h-.8zm0-1zm-.6 0h.5v1h-.6v-1zm0 0zm-1.7 0h1.6v1h-1.7v-1zm0 1zm-.2-1h.3v1h-.2v-1zm0 0zm-1.3 0h1.4v1h-1.3v-1zm-1 0h1v1h-1v-1zm-.6 0h.7v1h-.6v-1zm0 0zm0 0v1.2-1zm0 1.2zm-1.6-1h1.5v1h-1.5v-1zm0 1zm0-1v1-1zm0 0zm-1.2 0h1.2v1h-1.2v-1zm0 0zm0 0v1-1zm0 1zm-1.2-1h1l.2 1H444v-1zm-.8 0h.8v1h-.7v-1zm0 0zm-1.6.2h1.6v1h-1.5v-1zm0 1zm0-1v1-1zm0 0zm-6.2 1.3v-1h1.7l.2-.2h3.9v1H436l-.2.2zm0 0zm-.4-1h.3v1h-.2v-1zm0 0zm-9 1.4v-1h1.3l.3-.2h3.2l.3-.2h3.5v1h-5.1l-.3.2H426zm0 0zm-.3-1h.2v1h-.3v-1zm0 0zm-.5 0h.5v1h-.4v-1zm-18.2 2.2v-1h1.8l.5-.2h1.7l.5-.2h2.4l.6-.2h2.6l.6-.2h2.2l.6-.2h2.8l.6-.2h1.2v1h-2.1l-.6.2h-2.7l-.6.2h-2.3l-.6.2h-2.8l-.6.2h-2.2l-.5.2H408l-.6.2h-.6zm0 0zm-.3-1h.3v1h-.2v-1zm0 0zm0 0v1-1zm0 1zm-26.3 2.4v-1h.7l1-.2h.8l.8-.2h1.6l.8-.2h1l.7-.2h1.6l.8-.2h1.8l.8-.2h.8l1-.2h1.7l.7-.2h1.7l.8-.2h1.8l.7-.2h1.6l1-.2h1.5l1-.2v1H405l-.7.2h-1.7l-.8.2H400l-.7.2h-.8l-1 .2H396l-.8.2h-1.7l-.8.2H391l-.8.2h-.8l-.8.2H387l-1 .2h-.7l-.8.2H383l-1 .2h-.8l-.8.2zm0 0zm0-7v1h-.5l-.5.2h-.5l-.3.2-.4.2-.3.2h-.2l-.3.3-.2.2-.3.3v.5l-.2.2v1.1h.2v.3l.2.2.2.2.3.3.3.2h.2l.3.2h.3l.4.2h1v1h-1.6l-.4-.2-.4-.2-.3-.2-.3-.2-.3-.2-.4-.2-.2-.3-.2-.2v-.3l-.3-.3-.2-.3v-1.6l.2-.3.2-.3.2-.4.2-.3.2-.3.4-.3.3-.2.4-.2.3-.2h.4l.5-.2h.6l.5-.2zm0 1zm26.3-3.3v1H405l-.7.2h-1.7l-.8.2H400l-.7.2H396l-.8.2h-1l-.7.2H392l-1 .2h-1.6l-.8.2h-.8l-.8.2h-1.7l-.8.2h-.8l-.8.2H381l-.8.2v-1h1.7l.8-.2h.8l.8-.2h.8l.8-.2h1.7l.8-.2h1.6l1-.2h.8l.8-.2h1.8l.7-.2h1.7l1-.2h.7l.8-.2h1.8l.7-.2h1.6l1-.2h2.5zm0 1zm0 0v-1 1zm0-1zm37-2.2v1.2H439l-1 .2h-2.3l-1.3.2H431l-1.2.2h-2.2l-1.3.2H424l-1.2.2h-2.3l-1 .2H417l-1.2.2h-1.2l-1 .2h-2.3l-1.3.2h-1l-1.2.2h-1.2v-1h2.2l1.2-.2h1l1.2-.2h2.2l1.3-.2h1l1.2-.2h2.3l1-.2h2.3l1.3-.2h2.4l1.2-.2h2.3l1-.2h3.5l1.2-.2h3.5l1-.2h2.5zm1 1l-1 .2v-1h1v1zm0 0zm.2 0h-.3v-1l.2 1zm-.2-1zm.4 1h-.3l-.2-1h.4v1zm1.2 0h-1.2v-1h1.2v1zm0 0zm0 0v-1 1zm0-1zm15.4-.4v1h-5.5l-.5.2h-6.5l-.4.2h-2.6v-1h5l.5-.2h7.7l.5-.2h1.8zm.8 1h-.8v-1h.8v1zm0 0zm0 0v-1 1zm0-1zm1.4 1h-1.4v-1h1.4v1zm0 0zm.2 0h-.2v-1h.2v1zm0 0h-.2.2zm0 0v-1 1zm0-1zm1.2 1h-1.2v-1h1.2v1zm.5 0h-.6v-1h.4v1zm-.2-1zm.8 1h-.7l-.2-1h.8v1zm1 0h-1v-1h1v1zm0 0zm.2 0h-.3v-1h.2v1zm0-1zm.4 1h-.4v-1h.4v1zm3-1l.2 1H468v-1h3.3zm1.2 1h-1v-1l1-.2v1zm0 0v-1.2 1zm0-1.2zm1.3 1h-1.2v-1h1.2v1zm3.5-1v1h-3.5v-1h3.5zm0 0zm0 1v-1 1zm0 0zm1.3 0h-1.2v-1h1.2v1zm3.6-1v1h-3.5v-1h3.7zm3.8 0v1H482v-1h3.8zm1 1h-1v-1h1.2v1zm.2 0zm0 0v-1 1zm0-1zm3.6 0v1H487v-1h4zm1 1h-1v-1h1.2v1zm.2-1zm0 1v-1 1zm1 0h-1v-1h1v1zm3.3-1v1H493v-1h3zm.5 1h-.4v-1h.5v1zm0-1zm.3 1h-.3v-1h.3v1zm0 0zm1 0h-1v-1h1v1zm.6 0h-.7v-1h.8v1zm0-1zm.5 1.2h-.6v-1h.5v1zm1 0h-1v-1h1v1zm0-1zm0 1v-1 1zm0 0h.3-.2zm.3 0h-.2v-1h.3v1zm0 0zm1.3 0h-1.3v-1h1.4v1zm0-1zm0 1v-1 1zm0 0h.2zm1 0h-1v-1h1v1zm15.2-.6v1h-6l-.4-.2H504l-.6-.2h-.9v-1h6l.4.2h6.6l.4.2h1.7zm0 0zm0 1v-1 1zm0 0zm1.3 0h-1v-1h1v1zm.4 0h-.3v-1h.5v1zm0-1zm.2 1h-.2v-1h.2v1zm0 0zm1 .2h-1v-1h1v1zm37 1v1h-2.3l-1.2-.2h-1l-1.2-.2h-2.2l-1.3-.2H546l-1-.2h-1.3l-1-.2h-2.3l-1.3-.2H537l-1-.2h-4l-1-.2h-2.6l-1-.2H524l-1-.2h-2.4v-1h4.7l1.2.2h3.3l1.3.2h2.3l1.3.2h2.3l1 .2h2.4l1 .2h2.3l1.3.2h2.3l1 .2h2.3l1.2.2h1.2l1 .2h1.3l1 .2h1.3zm0 0zm0 1v-1 1zm0 0zm26.4 1.4v1H582l-.8-.2h-.8l-.8-.2H578l-.7-.2h-.8l-.8-.2H574l-.8-.2h-.8l-.8-.2h-1.8l-.7-.2h-1.5l-.8-.2H565l-.8-.2h-1.7l-.8-.2H560l-.8-.2h-1.6v-1h3.5l.8.2h1.6l1 .2h1.7l.7.2h1.7l.8.2h1.8l.7.2h.8l.8.2h1.8l.8.2h.8l.8.2h1.8l.7.2h.7l.8.2h1.8l.7.2zm0 1zm0 6v-1h1.6l.3-.2h.3l.3-.2.2-.2.2-.2h.2v-.3l.2-.2v-.2h.2v-1.4l-.2-.3v-.2h-.3l-.2-.3-.3-.2h-.2l-.3-.3-.4-.2h-.4l-.4-.2h-.4l-.5-.2v-1h.5l.6.2h.5l.5.3.4.3.4.2.3.2.4.3.3.3.2.3v.3l.3.2v.3l.2.3v1.3l-.3.3v.3l-.3.3-.3.4-.3.2-.3.2-.2.2-.3.2-.4.2h-.3l-.4.2H584zm0 0zm-26.5-2.4v-1h1.8l.8.2h1.8l.8.2h1.8l.7.2h1.7l1 .2h.7l.8.2h1.8l.7.2h1.6l.8.2h1l.8.2h1.6l.8.2h1l.7.2h1.5l.8.2h1l.7.2v1h-1l-.8-.2h-1.6l-.8-.2h-.8l-.8-.2h-1.7l-.8-.2h-.8l-1-.2h-1.6l-.8-.2h-.8l-1-.2h-1.4l-.8-.2H566l-.7-.2h-1.6l-1-.2H561l-1-.2h-1.6l-.8-.2zm0 0zm0-1v1-1zm0 0zm-.2 0h.3v1h-.4v-1zm0 1zM539 265v-1h2.9l.5.2h3l.5.2h2.3l.6.2h2.2l.6.2h2.3l.5.2h2.4l.5.2v1h-1.7l-.5-.2h-2.3l-.6-.2H550l-.7-.2H547l-.6-.2h-2.9l-.6-.2H540l-.6-.2h-.6zm-.4-1h.5v1h-.4v-1zm0 0zm-.2 0h.2v1h-.2v-1zm0 1zm-9.2-.5v-1h4l.3.2h3.2l.3.2h1.3v1h-1.6l-.3-.2H533l-.4-.2h-3.3zm0-1zm-.3 0h.2v1h-.3v-1zm0 1zm-6.4-.3v-1h4.5l.2.2h1.7v1h-4.4l-.2-.2h-1.7zm0-1zm0 0v1-1zm0 1zm-1.5-1h1.7v1H521v-1zm0 0zm-.7 0h.8v1h-.7v-1zm-1-.2h1v1H519l.2-1zm-.2 1zm0-1h.2v1-1zm0 0zm-1 0h1v1h-1v-1zm0 0zm-.2 0v1-1zm0 1zm-1.4-1h1.4v1h-1.4v-1zm0 1zm-.2-1h.2v1h-.2v-1zm0 0zm-.6 0h.6v1h-.7v-1zm-1 0h1v1h-1v-1zm-1.4-.2h1.4v1h-1.4v-1zm0 0zm-.2 0h.2v1h-.2v-1zm0 1zm-1.6-1h1.6v1h-1.6v-1zm0 0zm-.6 0h.6v1h-.6v-1zm-4.2 1v-1.2h3.3l.2.2h.8v1h-4.3zm0 0zm0-1.2v1-1zm0 0zm-.5 0h.6v1h-.5v-1zm-1 0h1v1h-1v-1zm0 1zm0-1v1-1zm0 0zm-1.3 0h1.2v1h-1.3v-1zm-1 0h1v1h-1v-1zm0 1h.6-.6zm-.2-1h.3v1h-.3v-1zm0 0h-.3.3zm-.8 0h.8v1h-.8v-1zm-.4 0h.4v1h-.4v-1zm-1.2 0h1.3v1H500v-1zm0 1h.2zm0-1v1-1zm0 0zm-1 0h1v1h-1v-1zm0 1zm-.5-1h.4v1h-.6v-1zm0 0zm-.4 0h.5v1h-.4v-1zm0 1zm-1-1h1v1h-1v-1zm0 0zm-.2 0h.2v1h-.2v-1zm0 1zm-.3-1h.3v1h-.3v-1zm0 0zm-2.6.8v-1h2.3v1H494zm-1-1h1v1h-1v-1zm-.2 0h.2v1h-.2v-1zm0 0zm-1 0h1v1h-1v-1zm-1.2 0h1.2v1h-1.3v-1zm0 0zm-.8 0h.8v1h-.8v-1zm0 0zm-.4 0h.4v1h-.5v-1zm0 1zm-.7-1h.7v1h-.7v-1zm0 0zm-1 0h1v1h-1v-1zm-.7 0h.6v1h-.6v-1zm0 1zm-1.2-1h1.2v1H486v-1zm0 0zm-3.7 1v-1h3.9v1h-4.1zm.4 1.8L460 276.6l-.4-1 22.7-11.3h.4v1zm-.5-1h.4-.5zm22.7 12.4l-23-11.4.4-1 22.7 11.5v1h-.3zm.4-1l1 .6-1 .4v-1zm-23 11.6l22.7-11.5.4 1-22.6 11.4h-.5v-.8zm.4 1h-.3.4zM460 275.7l22.8 11.5-.5 1-22.8-11.6v-1h.4zm-.4 1l-1-.5 1-.5v1z"/>
+      <path fill="#0c4076" d="M482 269c5.8 0 10.4 3.2 10.4 7s-4.6 7-10.3 7-10-3.2-10-7 4.5-7 10-7z"/>
+      <path fill="#21231e" d="M493 276h-1v-.3l-.2-.3v-.5l-.2-.3v-.3l-.3-.3-.2-.4v-.3l-.3-.2-.2-.2-.2-.3-.3-.2-.3-.3-.3-.2-.3-.2-.2-.2-.4-.2-.4-.2-.3-.2-.4-.2h-.5l-.4-.3h-.4l-.5-.2h-.8l-.5-.2h-1.9v-1.2h1.7l.6.2h.5l.5.2h.5l.5.2h.4l.5.3.4.2.5.2h.5l.4.3.3.2.4.2.3.3.4.3.3.2.3.3.3.3.2.4.3.3.2.4.2.4.2.4v.3l.2.5v.4l.2.2v.8zm-11 7.4v-1h1.6l.5-.2h1.1l.5-.2h.5l.4-.3h.4l.5-.3h.4l.3-.3h.4l.4-.3.3-.2.4-.3.3-.2.3-.2.3-.3.2-.3.2-.2.3-.3v-.3l.3-.3h.2v-.4l.2-.3v-.7l.2-.3v-.3h1v.4l-.2.4v.4l-.2.4v.3l-.2.3-.2.3-.2.4-.2.3-.3.3-.2.3-.3.2-.3.3-.3.3-.4.3-.3.3-.4.2-.4.3-.5.2-.4.2-.4.2h-.4l-.5.3h-.4l-.5.3h-.5l-.5.2h-1.1l-.5.2H482zm-10.6-7.4h1v1l.2.3v.3l.2.2.2.3v.4l.3.3.2.3.3.2.2.3.3.3.3.2.3.2.2.3.3.2.4.2h.2l.4.3h.4l.4.3h.5l.3.3h.9l.5.2h1.5l.6.2h.5v1h-1.9l-.5-.2h-.5l-.5-.2-.5-.2h-.4l-.5-.3h-.4l-.4-.3-.4-.2-.4-.2-.4-.3-.4-.2-.3-.2-.4-.2-.4-.3-.3-.3-.3-.3-.2-.4-.3-.3-.2-.3-.2-.4v-.3l-.2-.4-.2-.4v-.8l-.2-.4v-.4zm10.7-7.4v1h-1.3l-.5.2h-.3l-.5.2h-.5l-.4.2h-.4l-.6.3h-.4l-.4.3-.4.2-.3.2-.5.2-.3.2-.3.2-.4.2-.3.3-.3.2-.2.3-.3.3-.2.3-.2.3v.3l-.2.2v.3l-.2.3v.7l-.2.3v.3h-1V275l.2-.5.2-.4v-.2l.3-.4.3-.3.2-.3.3-.3.2-.3.3-.2.3-.3.3-.2.3-.3.3-.3.4-.2.4-.2.4-.2h.4l.4-.3.5-.2.5-.2h.5l.5-.2h1l.5-.2h1.1l.6-.2h.5z"/>
+      <path fill="#edb92e" d="M482 211.7c4.4 0 8 3.4 8 7.7s-3.6 7.8-8 7.8-7.6-3.5-7.6-7.8 3.5-7.8 7.7-7.8z"/>
+      <path fill="#21231e" d="M490.4 219.4h-1v-1l-.2-.3v-.4l-.2-.3v-.4l-.2-.4v-.3l-.3-.3-.2-.3-.2-.3v-.3l-.3-.2-.2-.3-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.4-.2h-.3l-.3-.3h-.4l-.3-.2h-.4l-.4-.2H482V211l.6.2h1.2l.4.2h.4l.4.2.3.2.4.2h.4l.4.3.3.3.4.2.4.2.3.3.3.3.2.3.3.2.2.3.3.3.2.3.2.5.2.3v.4l.3.4v.8l.2.4v.8l.2.4v.4zm-8.3 8.3v-1h1.5l.3-.2h.3l.3-.2.4-.2h.3l.3-.2h.3l.2-.3.3-.2.2-.2.3-.2.3-.2.2-.3.2-.2.2-.2v-.3l.3-.3.2-.3.2-.4v-.3l.2-.4v-.7l.2-.4v-.8l.2-.4v-.4h1v1.2l-.2.4v.5l-.2.4v.3l-.3.4v.3l-.3.4-.2.3-.2.4-.3.4-.2.3-.3.3-.2.3-.3.3-.3.2-.3.3-.3.3-.3.2-.3.2-.3.2h-.4l-.3.2-.4.2h-.4l-.4.2H482zm-8-8.3h1v1.8l.2.3.2.3v.3l.2.3.2.3.2.2.2.3.2.3.2.3.2.3.2.3.3.2.2.3.3.3.3.2.4.2h.3l.3.3h.3l.4.3h.3l.3.2h.7l.4.2h.7v1h-1.6l-.4-.2h-.3l-.4-.3h-.4l-.4-.3-.4-.3-.3-.2-.5-.2-.3-.2-.3-.2-.4-.2-.3-.3-.3-.3-.2-.3-.3-.3-.2-.3-.2-.3v-.3l-.3-.4v-.3l-.3-.4v-.4l-.2-.5v-.4l-.2-.3v-1.4zm8-8.3v1.2h-1.3l-.4.2h-.3l-.3.2h-.4l-.3.3h-.3l-.3.2-.3.2-.2.2-.3.2-.2.3-.3.3-.2.2-.2.3-.2.3-.2.4-.2.3-.2.3-.2.3v.3l-.2.3-.2.3v.7l-.2.3v1.1h-1v-1.6l.2-.4v-.4l.2-.4.2-.4v-.4l.3-.3v-.4l.3-.2.2-.3.3-.3.2-.3.3-.4.3-.3.3-.3.2-.2.3-.2.4-.3.2-.2h.4l.3-.2.3-.2h.4l.4-.2h.5l.4-.2h1.1z"/>
+      <path fill="#edb92e" d="M482 213.7c3.3 0 5.8 2.6 5.8 5.7 0 3.2-2.5 5.8-5.7 5.8-3 0-5.5-2.6-5.5-5.8 0-3 2.5-5.7 5.6-5.7z"/>
+      <path fill="#21231e" d="M488.3 219.4h-1V218h-.2v-.7l-.2-.2v-.2l-.2-.3-.2-.2v-.2l-.3-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.3h-.4l-.2-.3h-.2l-.3-.2h-.6l-.2-.2H482v-1h1.8l.3.2h.3l.2.2h.3l.3.3h.4l.2.3h.2l.3.3.3.2.2.2.2.2.2.3v.2l.3.3v.2l.3.3v.2l.2.3.2.3v.6l.2.2v1.3zm-6.2 6.3v-1h1.1l.2-.2h.3l.2-.2h.2l.2-.2h.4l.2-.2.2-.2h.2l.2-.3.2-.2h.2v-.2l.3-.2v-.2l.3-.3.2-.3v-.2l.2-.3v-.2l.2-.3v-1.3h1v2l-.2.3-.2.3-.2.4-.2.3v.2l-.3.2v.2l-.3.2-.2.3h-.2l-.2.3h-.2l-.2.3-.3.2h-.2l-.2.3-.3.2h-.2l-.3.2h-.3l-.3.2h-1.4zm-6-6.3h1v1.3l.2.3v.2l.2.3v.2l.2.2.2.4.2.2v.2h.3l.2.3.2.3v.2h.3l.2.3h.3l.2.2h.2v.2h.4l.2.2h.2l.3.2h.9v1h-1.5l-.3-.2h-.3l-.3-.2h-.2l-.3-.3-.3-.2-.3-.2-.3-.2h-.2l-.2-.3h-.2l-.2-.4-.2-.2-.2-.2-.2-.3-.2-.3v-.3l-.2-.3h-.2v-.4l-.2-.3v-.6l-.2-.3v-.9zm6-6.2v1H481l-.2.2h-.4l-.3.2-.3.3h-.5l-.2.3h-.2v.3l-.3.2h-.2l-.2.3v.3l-.2.2v.2l-.2.3v.2l-.2.2v.2l-.2.3v.4l-.2.2v.7h-1V218l.2-.4v-.3l.2-.3.2-.3v-.2l.2-.3.2-.2.2-.3.2-.2.2-.3.2-.2.2-.2.2-.2.2-.2h.3l.2-.3h.2l.3-.2h.2l.3-.2h.3l.3-.2h.5l.3-.2h.6z"/>
+      <path fill="#0c4076" d="M482 215.8c2 0 3.7 1.6 3.7 3.6S484 223 482 223c-1.8 0-3.4-1.6-3.4-3.6s1.6-3.6 3.5-3.6z"/>
+      <path fill="#21231e" d="M486.2 219.4h-1v-.8h-.2v-.3l-.2-.2v-.2l-.2-.2-.2-.2-.2-.3h-.2l-.3-.2h-.2l-.2-.2h-.2v-.2H482v-1h1.4v.2h.5v.2h.3v.2h.3v.3h.3v.2l.2.2.2.3.2.3v.2l.2.2.2.3v.4l.2.2v.6zm-4 4.2v-1h.6v-.2h.5l.3-.2h.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.4h.2v-1h1v1l-.2.2v.2l-.2.2v.2l-.2.2-.2.3-.2.2-.2.2-.3.2-.3.3h-.3l-.3.2-.3.2h-1l-.3.2zm-4-4.2h1v1.3l.2.2v.2l.2.2.2.2.2.2.2.2.2.2h.2v.2h.4l.2.2h.8v1.2h-.7l-.2-.2h-.3v-.2h-.5l-.2-.2-.3-.3h-.2v-.2l-.2-.2h-.2v-.2l-.2-.3-.2-.3v-.2l-.2-.2-.2-.3v-1.4zm4-4v1h-1l-.2.2h-.2l-.2.2h-.2v.2h-.2l-.2.3-.2.2-.2.2-.2.3v.4h-.2v1h-1V218l.2-.2.2-.3v-.2l.2-.2.2-.2.3-.3.2-.2.2-.2h.2l.2-.2h.2l.2-.2h.3l.3-.2h.9z"/>
+    </g>
+    <path fill="#c6363c" d="M135.8 192.6v144.7c0 26 10 49.4 26.2 66.5a87 87 0 0063 27.6c24.8 0 47-10.6 63.3-27.6a96.3 96.3 0 0026.2-66.5V192.6H135.8z"/>
+    <path fill="#fff" d="M135 192v145.3l.2 2.5v2.4l.2 2.4.2 2.4.3 2.4.2 2.3.3 2.3.5 2.4.5 2.3.5 2.2.6 2.2.6 2.2.7 2.2.6 2.2.8 2.2.8 2 1 2.2.8 2 1 2.2 1 2 1 2 1.2 2 1 2 1.3 1.8 1.3 2 1.2 1.7 1.4 1.7 1.3 1.8 1.4 1.7 1.6 1.7 1.4 1.6 1.5 1.6 1-1-1.5-1.5-1.5-1.6-1.4-1.6-1.3-1.7-1.3-1.8-1.3-1.8-1.2-2-1.2-1.7-1.2-2-1-1.8-1.2-2-1-2-1-2-1-2-1-2-.8-2-.8-2.2-.8-2-.7-2.3-.6-2-.6-2.4-.6-2.2-.5-2.2-.5-2.3-.4-2.2-.4-2.3-.3-2.3v-2l-.3-2.5-.2-2.4V193.4h177.4v144l-.2 2.4v2.4l-.2 2.5-.2 2.3-.2 2.4-.3 2.3-.5 2.3-.4 2.3-.4 2.4-.5 2.2-.5 2.2-.6 2.3-.8 2.2-.7 2.2-.8 2-.8 2.2-1 2-1 2.2-.8 2-1 2-1 2-1.2 2-1 1.8-1.3 2-1.2 1.7-1.3 2-1.3 1.6-1.4 1.7-1.4 1.7-1.4 1.7-1.5 1.7-1.5 1.6-1.5 1.6-1.6 1.4-1.6 1.5-1.5 1.4-1.6 1.4-1.8 1.3-1.8 1.5-1.7 1.3-1.8 1.2-2 1.2-1.8 1-1.8 1.2-2 1-1.8 1-2 1-2 1-2 .8-2 1-2 .6-2 .7-2.2.7-2 .6-2.3.5-2 .5-2.2.5-2.2.4-2.2.3-2.2.3-2.2.2h-2.3l-2.3.2H225v1.3h4.8l2.3-.3 2.3-.2 2.3-.3 2.2-.3 2.2-.5 2.2-.4 2.2-.4 2.2-.6 2.2-.6 2-.7 2.2-.7 2-.8 2-.8 2-1 2-.8 2-1 2-1 2-1 2-1.2 1.8-1 1.8-1.4 1.8-1.2 1.8-1.3 1.7-1.4 1.7-1.2 1.7-1.5 1.6-1.4 1.6-1.7 1.6-1.5 1.5-1.6 1.5-1.6 1.5-1.7 1.5-1.8 1.4-1.7 1.3-1.8 1.2-1.8 1.3-2 1.2-1.8 1.2-2 1-2 1.2-1.8 1-2 1-2 1-2 1-2.2 1-2 .7-2.2.7-2.2.7-2.2.7-2.2.7-2.2.6-2.3.5-2.3.5-2.4.4-2.3.4-2.3.4-2.3.3-2.4.2-2.4V192z"/>
+    <g fill="#fff" stroke="#21231e" stroke-width=".5">
+      <path d="M226 424c.7-.2 2 0 3-1 1.4-1 .8-5 .7-7.7-.6-13.5-1-36.3-1.8-68.3h-5.6c-.7 32-1.2 54.8-1.8 68.3 0 2.6-.7 6.8.7 7.8 1 1 2.3.8 3 1h1.7z"/>
+      <path d="M234.4 423.5c-.8 0-2 .2-3-.5-1.5-1-1.6-5.2-1.7-7.8-.7-13.5-2-36.2-4-68 1-.3 1.8-.3 2.6-.3l.4-.2c5 31.6 7 54 10.4 67.5.6 1.8 1.6 6.5 0 8-1 1-2.2 1-3 1l-1.6.2z"/>
+      <path d="M244.4 422c-.8 0-2 .5-3.2 0-1.5-1-1.4-5.2-2-7.7-3.5-13.5-5.5-36-10.6-67.5 1-.3 2-.4 2.7-.4 8.2 30.6 10.6 52.2 17 65.6.5 2 2 6.8.6 8.5-1 1-2.3 1-3 1.3l-1.6.3z"/>
+      <path d="M254.4 419.2c-.8 0-2 1-3.3.4-1.4-.6-1.7-5.2-2.8-7.6-6.3-13.4-8.7-35.2-17-66 1.2-.6 2-.7 2.7-.8.7-.3.5-.5 1.6-.7 9.5 30.6 12.6 51.8 21.6 65 1.4 2 2.5 6.4 1.5 7.7-.7 1-2 1.3-2.8 1.6l-1.6.4zm-38.5 4.3c.7 0 2 .2 3-.5 1.4-1 1.5-5.2 1.6-7.8.7-13.5 2-36.2 4-68-1-.3-1.8-.3-2.6-.3l-.4-.2c-5 31.6-7 54-10.4 67.5-.5 1.8-1.6 6.5 0 8 1 1 2.3 1 3 1l1.7.2z"/>
+      <path d="M206 422c.7 0 2 .5 3 0 1.6-1 1.5-5.2 2.2-7.7 3.4-13.5 5.4-36 10.4-67.5-1-.3-2-.4-2.6-.4h-.2c-8 30.6-10.5 52.2-16.7 65.6-.5 2-2 6.8-.6 8.5 1 1 2.2 1 3 1.3l1.5.3z"/>
+      <path d="M196 419.2c.7 0 2 1 3.2.4 1.5-.6 1.8-5.2 3-7.6 6.2-13.4 8.6-35.2 16.8-66-1-.6-2-.7-2.7-.8-.7-.3-.5-.5-1.7-.7-9.5 30.6-12.5 51.8-21.5 65-1.3 2-2.4 6.4-1.4 7.7.7 1 2 1.3 2.7 1.6l1.6.4zm53-23c-.6 0-1.7.5-2.8 0-1.5-.8-2.5-5-3.3-7.5-6.4-12.5-12.2-34.8-21.8-65.8 1-.5 1.7-.6 2.4-.7.6-.2 1.3-.5 2.3-.6 10.2 30.7 14.8 53 24.8 65 1.7 2 3 6.5 2 7.8-.5 1-1.7 1-2.3 1.3l-1.4.4z"/>
+      <path d="M241 397.8c-.7 0-2 .3-3-.3-1.3-.8-1.8-5-2.3-7.6-2.6-13.5-7.3-36-14-67.4a8 8 0 012.4-.4c.8-.2 1.5-.4 2.5-.4 8 31.3 9.8 54.7 17.3 66.7 1.3 2.2 2 6.7 1.2 8-.7.8-2 .8-2.6 1l-1.4.3z"/>
+      <path d="M232.7 398.7c-.7 0-1.8.2-2.8-.5-1.4-1-1.4-5-1.6-7.8-1-13.5-3.2-36.2-6.2-68 1-.3 1.7-.3 2.4-.2.7-.2 1.4-.3 2.5-.3 4.4 31.7 7 54.7 9.6 67.8.5 2.5 1.3 6.7.3 7.8-1 1-2 .8-2.8 1h-1.5z"/>
+      <path d="M201.2 396.2c.7 0 1.8.5 3 0 1.4-.8 2.4-5 3.2-7.5 6.3-12.5 12-34.8 21.6-65.8-1-.5-1.6-.6-2.3-.7-.6-.2-1.3-.5-2.4-.6-10.2 30.7-14.8 53-24.8 65-1.7 2-3 6.5-2 7.8.5 1 1.7 1 2.3 1.3l1.4.4z"/>
+      <path d="M209.3 397.8c.7 0 1.8.3 3-.3 1.3-.8 1.8-5 2.3-7.6 2.6-13.5 7.3-36 14-67.4a8 8 0 00-2.4-.4c-.7-.2-1.4-.4-2.4-.4-8 31.3-9.8 54.7-17.3 66.7-1.4 2.2-2 6.7-1.2 8 .7.8 2 .8 2.6 1l1.3.3z"/>
+      <path d="M217.6 398.7c.7 0 1.8.2 2.8-.5 1.3-1 1.3-5 1.5-7.8 1-13.5 3-36.2 6-68-1-.3-1.6-.3-2.3-.2-.7-.2-1.4-.3-2.5-.3-4.3 31.7-6.8 54.7-9.5 67.8-.5 2.5-1.3 6.7-.3 7.8.8 1 2 .8 2.7 1h1.6z"/>
+      <path d="M226 399c.6 0 1.8 0 2.7-.8 1-1 .7-5.2.6-7.8-.6-13.6-1-36.3-1.7-68.3-1 0-1.8 0-2.5.2-.5-.2-1.3-.2-2.3 0-.6 32-1 54.6-1.7 68.2 0 2.6-.5 6.8.6 7.8 1 .8 2 .7 2.8.8h1.5z"/>
+      <path d="M243.5 377.6c-.6 0-1.4.5-2.2 0-1.2-.8-2-5-2.5-7.5-5-12.4-9.4-34.7-16.6-65.7.7-.4 1.2-.5 1.8-.6.4-.2 1-.5 1.8-.6 7.8 30.8 11.3 53 19 65.2 1.3 2 2.2 6.4 1.6 7.7-.4.8-1.4 1-1.8 1.2l-1 .4z"/>
+      <path d="M237.3 379.2c-.6 0-1.4.3-2.2-.3-1-1-1.4-5-1.8-7.7-2-13.4-5.6-35.8-10.7-67.3.7-.3 1.3-.4 2-.3.4-.3 1-.5 1.7-.5 6 31.3 7.5 54.7 13.2 66.8 1 2 1.6 6.6 1 7.8-.6 1-1.5 1-2 1l-1 .4z"/>
+      <path d="M231 380c-.6 0-1.5.3-2.2-.4-1-1-1-5-1.2-7.8-.8-13.5-2.4-36.2-4.7-68 .6-.3 1.2-.3 1.7-.2a4 4 0 012-.2c3.2 31.7 5 54.7 7.2 67.8.3 2.6 1 6.7 0 7.8-.5 1-1.4.8-2 1h-1z"/>
+      <path d="M206.8 377.6c.5 0 1.4.5 2.2 0 1.2-.8 2-5 2.5-7.5 5-12.4 9.3-34.7 16.6-65.7-.6-.4-1-.5-1.7-.6-.5-.2-1-.5-1.8-.6-7.8 30.8-11.3 53-19 65.2-1.3 2-2.2 6.4-1.6 7.7.3.8 1.2 1 1.7 1.2l1 .4z"/>
+      <path d="M213 379.2c.6 0 1.4.3 2.2-.3 1-1 1.5-5 2-7.7a2735 2735 0 0110.6-67.3c-.8-.3-1.3-.4-2-.3-.4-.3-1-.5-1.7-.5-6 31.3-7.4 54.7-13 66.8-1.2 2-1.8 6.6-1 7.8.5 1 1.4 1 2 1l1 .4z"/>
+      <path d="M219.3 380c.6 0 1.5.3 2.2-.4 1-1 1-5 1.2-7.8.7-13.5 2.4-36.2 4.7-68-.7-.3-1.3-.3-2-.2a3 3 0 00-1.7-.2c-3.3 31.7-5.2 54.7-7.3 67.8-.4 2.6-1 6.7-.2 7.8.6 1 1.5.8 2 1h1z"/>
+      <path d="M225.7 380.4c.5 0 1.4 0 2-.8 1-1 .7-5.2.6-7.8-.4-13.5-.8-36.3-1.3-68.3h-3.7c-.5 32-1 54.8-1.3 68.3 0 2.6-.4 6.8.5 7.8.6.8 1.6.7 2 .8h1.2z"/>
+      <path d="M221.3 330.2v7.4l-5.8 1.2c0 2.6 6.4 29.6 9.6 29.6 3.4 0 9.8-27 9.8-29.6l-5.7-1.2a646 646 0 000-7.4c-1.2 1-2.5 2.7-4 4.3a27.4 27.4 0 00-3.7-4.3z"/>
+    </g>
+    <g transform="translate(-32 32) scale(.53333)">
+      <g id="d">
+        <path fill="#edb92e" stroke="#21231e" d="M412 584.5c-3 .2-7 2-18.5 12-5 10.2-10 20.5-17 29.4-2.4 1.4-4.2 2.5-6 3.2a84 84 0 01-17-.5c-4.4-4-11.3-1.2-9 3.2-1.8 1.6 2.2 7.8 5.3 5.2 3-2.4 13-.2 16.4-1.4-1.3 3-10.4 5-16.8 5.5-5.8.2-5.4 6-3 10.5 2.7 1.8.5-.4 1.4.8 2.6 4 8.2 3.4 8.4-.4.2-4 13.8-9 15.8-12-2.5 6-8.2 11.5-11 17.3-3 3-5 3.7-1 10 4.4-.6 4.6-1.7 7.3.8 6-.6 7-2.4 6-7.2-1-5 3.2-14 4.6-16.6 1.2-2.4 1.5-4.8 2.8-6.3 2.2-2.5 12.6-7.7 15.2-6.3 5 2.7 8.7 1 9.3-3.7-1.6-1.2-.4-8-3.8-8.2-2.8-.3-4.4.6-7 2.7-4 3.2-6 5-7.4 4.6-3-.7 5.8-5 13.8-15.6 11-14.5 11.8-22 11.3-27z"/>
+        <use width="1350" height="900" transform="matrix(-1 0 0 1 801.6 0)" xlink:href="#c"/>
+        <path fill="#edb92e" stroke="#21231e" d="M345.2 634.5c-4-2.3-6.3-2.2-8-.5-.7 1-1.8.5-1.2-1 2.7-6.3 7-7 10.7-4.2l2.8 2.7c-.6 1-3.8 2.3-4.3 3zm57.4-5.6c4.3-3 8.3-3.6 10.5-2 1.3 1 2.5.3 1.4-1.2-4.4-6.2-9.6-6.5-13.5-3-1.2 1-2 2-2.8 3 1.3 1.6 4.3 3.2 4.4 3zM369 664.4c.2-.2-1-5.4-2.6-7-1.4 1-3 2-4.3 3.5-4.2 4.5-4 11 2.5 16.7 1.6 1.5 2.4 0 1.7-1.7-1-2.7.3-6.3 3-11.5zM352.6 651c-4 1.6-5.4 3.7-5.2 6.4 0 1.5-1 2-1.5.3-4.8-11.2.2-13.3 7.5-13 .4 2-.7 6.2-.8 6.2z"/>
+        <path fill="#21231e" d="M384 621.3l1 .6h-.2v1.8h.2v.4h.2v.2h.2l.2.3.3.2v.2h.4l.2.3h.2l-.6 1h-.2l-.3-.2h-.2l-.2-.2-.2-.2-.3-.3-.3-.3v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.2l-.2-.2V622l.2-.3v-.2zm6.5.8l-.8 1-.2-.2-.3-.2-.2-.2-.2-.2h-.3l-.2-.3-.2-.3-.3-.2-.2-.2-.3-.2h-.7l-.2-.2h-.7v.2h-.2l-.2.2v.2h-.2v.3l-.2.2-1-.7v-.3l.2-.2.2-.2.2-.2.3-.3h.3l.2-.2h.4v-.2h.8l.2.2h.4l.2.2h.2l.2.2h.2l.2.3h.2l.2.3h.2l.3.3.2.3.2.2.3.2.2.2h.3z"/>
+        <path fill="#21231e" d="M387.3 617.6l1 .6v.4h-.2v.8l.2.2v.2l.2.2v.2l.2.2.2.3.3.2h.2l.2.2h.2l.2.2.2.2h.2l-.6 1h-.2l-.3-.2-.3-.3h-.2l-.2-.2-.2-.2-.2-.3v-.2h-.2l-.2-.2v-.2h-.2v-.5h-.2V618h.2v-.3zm6.5.8l-.7 1-.2-.3h-.2l-.2-.3-.3-.2-.3-.3h-.2l-.2-.3-.2-.2-.3-.2-.3-.2h-.3v-.2h-.8l-.2.2-.2.2-.2.2v.2l-.3.2-1-.6.2-.3v-.2h.3v-.3h.3l.3-.3h.2l.2-.2h.2v-.2h1.4l.2.2h.2v.2h.3l.3.3h.2l.2.2h.2l.2.3h.2l.3.3v.2l.3.2.3.2.2.2z"/>
+        <path fill="#21231e" d="M391 612.8l1 .6-.2.2v.6h-.2v1l.2.3v.3h.2v.4h.2l.2.3v.2h.2l.2.2.2.2.3.3.3.2h.2l.2.2-.6 1-.3-.2-.2-.2-.2-.2-.3-.2-.2-.2v-.2l-.3-.2v-.2l-.3-.2v-.2l-.3-.2v-.4l-.2-.3v-.2h-.2v-.7h-.2v-1l.2-.3v-.4l.2-.3v-.2zm7 1l-.8 1-.3-.3-.3-.2-.3-.3-.3-.2v-.2l-.3-.2-.3-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.7l-.2.2-.2.2-.3.3v.2h-.2v.4l-1-.6v-.3l.2-.2.2-.3v-.2l.3-.2.2-.2v-.2h.3l.2-.2h.3l.2-.2h1.2l.2.2h.2l.2.2.3.2h.3l.2.3.2.2h.3l.2.3.3.2.2.2.3.2.2.2.3.2.2.3.3.2z"/>
+        <path fill="#21231e" d="M394.8 607.7l1 .5v.5l-.2.3v1.7l.2.2v.3l.2.2v.2l.2.2.3.3v.2l.3.2.2.2h.2l.2.3.2.2.3.2v.2l-.6.8-.3-.2v-.2l-.4-.2-.2-.3-.3-.3v-.2l-.3-.3-.2-.2v-.2l-.3-.3v-.2l-.3-.2-.2-.2v-.2l-.2-.2v-.3l-.2-.3v-2.1l.2-.2v-.2l.2-.3zm7.6 1.3l-1 .8-.2-.3-.3-.3-.3-.2-.3-.3-.3-.3v-.2l-.4-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.2h-.2l-.2-.2h-.3v-.2h-.7v.2l-.3.2-.2.3-.2.2v.2l-.3.2v.2l-1.2-.5.2-.3.2-.3v-.2l.3-.3.2-.2.2-.2.3-.2.3-.2h.5l.3-.2h.8l.3.2h.2l.3.2h.2l.2.3.3.3.2.2.3.2.2.2h.3l.2.3.3.3.2.2.3.3.3.4.3.3.4.3z"/>
+        <path fill="#21231e" d="M399 602.6l1.2.6v.2l-.2.2-.2.3v2.1l.2.2v.2l.2.2.2.2v.2l.2.2.2.2.2.2v.2l.3.2.2.2.2.2.3.2.2.2.3.2-.8 1-.3-.3-.2-.3-.3-.2-.3-.3-.2-.2-.3-.2-.2-.3v-.2l-.3-.2-.2-.2v-.2l-.3-.2v-.3h-.2v-.4l-.2-.2v-.2l-.2-.3v-2.6l.2-.2v-.2l.2-.2v-.2zm7.7 1.4l-1 .8-.2-.3-.3-.3-.2-.3-.3-.3-.3-.3-.2-.2-.2-.3-.3-.3-.2-.2h-.2l-.2-.3-.2-.2h-.2v-.2h-1.3l-.3.2v.2h-.2v.3l-.3.2-.2.3v.2l-1.2-.6.3-.3.2-.3.2-.2.2-.3v-.2l.4-.2h.2l.2-.2h.2l.2-.2h1.7l.2.2.2.2h.2l.2.3h.3l.3.3.2.3h.3l.2.3.3.3.2.2.3.3.3.4.4.3.3.3z"/>
+        <path fill="#fff" stroke="#21231e" d="M462.6 580.6l-9.5-5.4c-4 3-6.8 13.5 0 22.2 8.5 11 12 18.7 14 27.5 6.2-8 8.3-16.3 4.4-24.5-5.3-11-8.7-17-8.8-20z"/>
+        <path fill="#fff" stroke="#21231e" d="M470.4 573l-9.5-5.4c-4 3-12.5 13.2-5.6 22 8.5 10.8 17.3 19 19.4 27.7 6.2-8 8.8-16.2 5-24.4-5.4-11-9.4-17.2-9.4-20z"/>
+        <path fill="#fff" stroke="#21231e" d="M449.4 569.2l-9.5-5.4c-4 3-7 13.5-.2 22.2a65 65 0 0114 27.5c6.2-8 8.4-16.3 4.4-24.4-5.3-11-8.7-17-8.8-19.8z"/>
+        <path fill="#fff" d="M405.5 469c.2 8.7-1.4 66.5-1.8 74.7-.5 8.2-4 13.7-8 17-3.5-5-5.6-11.5-6-19.3-.4-4 .4-58.7.7-70 6.4-17 11.2-17.8 15-2.4z"/>
+        <path fill="#21231e" d="M404 543.8h-1l.2-1v-2.6l.2-1.7v-4l.2-2.3v-5l.2-2.7v-2.8l.2-3v-3l.2-3v-6.2l.2-3v-6.2l.2-3v-5.8l.2-2.7v-7.4l.2-2V469h1v11.7l-.2 2.5v8.3l-.2 2.8v6l-.2 3.2v3l-.2 3.2v6l-.2 3v3l-.2 2.8v5.3l-.2 2.5v2.3l-.2 2v3.6l-.2 1.5v2zm-8.7 17l.8-.5h-.6l.3-.4.4-.4.4-.3.4-.3.3-.4.5-.4.3-.3.3-.5.4-.4.4-.4.3-.4.4-.5.3-.4.2-.5.2-.5.3-.5.3-.5.2-.6.2-.5.3-.6.2-.5.2-.5v-.7l.3-.6v-.6l.3-.7v-.7l.2-.7v-.7l.2-.8v-1.5h1v2.3l-.2.7v.8l-.3.6v.8l-.3.7-.2.6-.2.8-.2.6-.2.6-.2.6-.3.6-.4.5-.2.6-.3.5-.2.5-.3.5-.3.5-.3.5-.4.4-.4.5-.3.4-.5.5-.3.4-.4.3-.3.4-.4.3-.2.4-.4.3-.4.3h-.7zm.7.2l-.4.3-.3-.4h.7zm-7-19.5h1v.6l.2.8v1.4l.2.7v.6l.2.7v.6l.3.6v1.5l.3.5v.7l.3.6.2.6.2.6.2.6.2.5.2.7.2.6.2.5.3.6.2.5.3.4.2.6.3.5.3.5.3.5.2.4.3.4.3.5.3.3-.7.6-.3-.6-.4-.4-.3-.5-.3-.5-.3-.5-.3-.6-.2-.6-.3-.5-.4-.7-.2-.5-.3-.6v-.6l-.3-.5-.3-.5-.2-.6-.2-.7-.2-.6v-.7l-.3-.6-.2-.6v-.7l-.3-.5v-.7l-.2-.7-.2-.6v-.6l-.2-.7v-1l-.2-.8v-1.5zm1-70.2l.8.3v8l-.2 2.3V492l-.2 2.7v11.6l-.2 3v19l-.2 2.2v11h-1v-20.9l.2-2.7v-14.6l.2-2.8V489l.2-2.6v-8.9l.2-2v-4.2zm0 0zm16-2.3h-1l-.4-1.3-.3-1.3-.4-1-.5-1.2-.4-1-.2-1-.4-.7-.4-.8-.4-.6-.4-.4-.4-.4-.4-.3-.3-.3h-.3l-.4-.2h-.7l-.4.3-.4.3-.5.5-.5.4-.5.5-.5.7-.5.7-.5.8-.5 1-.6 1-.5 1.2-.6 1.3-.6 1.3-.6 1.5-.6 1.6-1-.3.7-1.6.6-1.5.7-1.3.6-1.4.5-1.2.6-1 .5-1 .5-1 .5-.8.6-.7.5-.7.6-.6.6-.4.5-.4.6-.3.5-.2h1.1l.5.3.5.3.5.5.5.5.4.6.4.6.5.8.4.8.4 1 .5 1 .3 1 .4 1.4.4 1.3.4 1.4zm0 0z"/>
+        <path fill="#fff" d="M368 454.8l-2.6 79.6c-.8 7 8.4 49 13.5 57.4 12.3-5.3 15-33.8 12.6-61.6-2.4-27.8.4-51.8 2.3-56.8 0-6.3-1-12.8-1-19.3-8 .5-17.2.4-25 .8z"/>
+        <path fill="#21231e" d="M365 534.4l2.4-79.6h1l-2.5 79.6h-1zm1 0zm12.7 57l.3.8-.6-.2-.5-1-.6-1-.5-1.2-.7-1.4-.5-1.6-.6-1.6-.6-1.8-.6-2-.5-2-.6-2-.7-2.2-.6-2.2-.6-2.3-.4-2.3-.6-2.3-.5-2.3-.6-2.3-.6-2.3-.4-2.2-.5-2.2-.4-2.2-.3-2-.4-2.2-.3-2-.3-1.8-.3-1.7-.2-1.6v-1.4l-.3-1.3v-2.8h1v4.1l.2 1.5.2 1.6.3 1.7.3 1.8.3 2 .4 2 .4 2.2.5 2.2.4 2.2.4 2.3.5 2.2.4 2.3.6 2.3.5 2.4.6 2.3.7 2.2.5 2.2.6 2 .6 2.2.6 2 .6 2 .5 1.7.7 1.5.6 1.5.5 1.4.5 1.2.5 1 .5 1-.6-.3zm.3.8l-.4.2-.2-.4.6.2zm12-62h1l.3 2.5v2.7l.3 2.6v2.6l.2 2.6v12.5l-.3 2.4-.2 2.5-.2 2.3v2.3l-.4 2.3-.4 2.2-.3 2-.6 2-.4 2-.6 2-.5 1.7-.8 1.7-.6 1.5-.7 1.5-1 1.5-.7 1.3-1 1.2-1 1-1 1-1 1-1 .6-1.3.6-.3-1 1-.4 1-.7 1-.7 1-1 1-1 .7-1 .8-1.3.8-1.4.7-1.5.6-1.5.6-1.6.5-2 .5-1.7.5-2 .4-2 .3-2 .3-2 .3-2.3v-2.3l.4-2.3V558l.3-2.3V538l-.2-2.6-.2-2.6-.2-2.6zm2.4-56.8h1v.2l-.2.5-.2.7-.2.7-.2 1-.2.8-.2 1-.2 1.2v1.2l-.3 1.3-.2 1.3-.2 1.4v1.6l-.3 1.6v1.7l-.3 1.7v2l-.2 1.8v2l-.2 2V520l.2 2.5.2 2.5.2 2.6v2.5l-1 .2v-2.6l-.3-2.5-.2-2.5V520l-.2-2.5v-20.1l.2-2v-2l.3-2v-1.7l.2-1.7.2-1.8.2-1.6v-1.4l.3-1.5.2-1.3v-1.2l.3-1V477l.3-1 .2-.8.2-.7.2-.7.2-.5zm1 0v.2-.2zm-1.5-18.8v-1l.4.4v3.7l.2.6v2.5l.2.6v1.8l.2.6v2.4l.2.6v3.6l.2.6v2.4h-1V468l-.2-.5V465l-.2-.5v-1.9l-.2-.6v-1.7l-.2-.6v-3l-.2-.6V454l.5.6zm0-1h.4v.4l-.5-.4zm-24.6 1.2h-1l.4-.5h3.9l.8-.2h12.8l.8-.2h4.7l.8-.2h1.7v1h-4.1l-.7.2h-8l-.8.2h-7.1l-.8.2h-3.9l.4-.4zm-1 0v-.4h.4l-.4.4zm.5 0h.4-.5zm-.6 0v-.4h.4l-.4.4z"/>
+        <path fill="#fff" d="M353 468l1.8 79.5c-.4 7 11 48.5 16.4 56.5 12.6-9.8 10-49.8 8.2-62-4-24-3.2-52-2-56.5 0-6.3-.2-13.8-.6-20.4-8 1-15.8 2-23.7 2.8z"/>
+        <path fill="#21231e" d="M354.3 547.5l-1.7-79.6 1-.2 1.7 79.6h-1zm1 0zm15.6 56l.5 1-.7-.2-.5-1-.6-1-.6-1.2-.5-1.2-.7-1.6-.6-1.6-.7-1.8-.7-1.8-.7-2-.5-2-.7-2.2-.7-2.2-.6-2.2-.7-2.3-.7-2.2-.7-2.3-.6-2.3-.6-2.3-.5-2.3-.6-2.2-.6-2.2-.5-2-.6-2-.4-2-.4-2-.4-1.6-.3-1.6-.3-1.3-.2-1.3v-1.2l-.2-1v-.8h1v1.8l.2 1 .2 1.3.2 1.5.2 1.5.3 1.7.4 2 .4 1.8.4 2 .5 2 .6 2.2.4 2.2.6 2.3.7 2.3.6 2.3.7 2.2.6 2.3.7 2.3.7 2.3.7 2.2.7 2 .7 2.2.8 2 .7 1.8.6 1.7.8 1.7.6 1.4.6 1.3.6 1.2.5 1 .6.7h-.7zm.5 1l-.4.2-.2-.4h.7zM379 542l1-.2v1.2l.2 1.4.2 1.5.2 1.8.2 1.7v2l.3 2 .2 2v2l.2 2.3v12l-.2 2.4v2.3l-.3 2.4-.4 2.4-.3 2.4-.3 2.2-.4 2.2-.5 2.2-.4 2-.6 2-.7 2-.8 1.6-.8 1.7-1 1.5-1 1.3-1 1.4-1.2 1-.6-.8 1-1 1-1 1-1.4.8-1.4.8-1.6.8-1.7.6-1.8.6-2 .5-2 .6-2 .4-2.2.4-2.3.3-2.3.2-2.4v-2.3l.3-2.4V569l.2-2.2V560l-.2-2.3v-2.2l-.2-2v-2l-.2-2-.2-1.6-.2-1.8-.2-1.5v-1.3l-.3-1.2zm-2-56.7h1v.6l-.2.7-.2.7v1l-.2.8v2.4l-.2 1.3v2.8l-.2 1.6v15.2l.2 2v2.3l.3 2v2.4l.3 2.3v2.2l.3 2.2.4 2.3.2 2.4.3 2.2.2 2.3.3 2.2.4 2.3-1 .2-.5-2.3-.3-2.4-.3-2.3-.4-2.3-.2-2.4-.2-2.3-.2-2.3-.2-2.3-.2-2.2v-2.3l-.3-2.2V512l-.2-2v-16l.2-1.4v-1.3l.2-1.2v-2l.3-1v-.8l.2-.6v-.7.2zm1 0zm-1.2-20v-1l.5.6v3.4l.2.7v3.8l.2.6v6l.2.6v5.3h-1V480l-.2-.7v-5.7l-.2-.6v-4.5l-.2-.7v-2.4l.4.4zm0-1h.4v.6l-.5-.4zm-23.7 4v-1l.8-.2h.8l.7-.2h2.2l.7-.2h.8l.7-.2h.8l.7-.2h1.4l.7-.2h.8l.7-.2h.6l.8-.2h1.7l.6-.2h.7l.8-.2h.8l.7-.2h1.5l.8-.2h.7l.7-.2h.8l.7-.2v1h-.6l-.6.2h-.8l-.7.2h-1.6l-.7.2h-.8l-.8.2h-.8l-.7.2h-1.5l-.7.2h-.8l-.7.2h-.7l-.8.2H362l-.7.2h-.7l-.8.2h-.7l-.6.2H357l-1 .2h-.6l-.7.2h-.8l-.8.2zm.2 0zm0-1v1l-.6-.6.5-.6zm-.6.4v-.6h.5l-.4.5z"/>
+        <path fill="#fff" d="M342.2 486.7l21-.5c-2 8.6-.5 35.6 3.2 56.2 3.3 19.3 8 69.3-12 81.3-12.5-26.4-3-52-9.2-75-5-24.3-6-44.6-3-62z"/>
+        <path fill="#21231e" d="M363 486.7l-20.8.5v-1l21-.5.4.6-.5.4zm0-1h.7v.6l-.6-.6zm3.8 56.6l-1 .2-.3-2-.3-2-.3-2-.4-2-.3-2-.2-2-.2-2.2-.2-2-.2-2.2-.2-2-.2-2-.2-2-.2-2.2v-2l-.3-2v-2l-.2-2V499l-.2-1.7v-4.5l.2-1.4v-1.2l.2-1.2v-1l.3-1v-1l1 .3v.8l-.2 1v1l-.2 1.3v5.4l-.2 1.6v4.9l.2 1.8v4l.2 1.8v2l.3 2v2l.3 2 .2 2v2l.3 2.2.3 2 .2 2.2.3 2 .3 2 .3 2 .3 2.2.2 2 .3 2 .3 2zM354 624l.8-.6-.7-.2 2-1.2 1.5-1.4 1.5-1.6 1.4-1.8 1.3-2 1-2 1-2.3 1-2.6 1-2.5.6-2.8.6-2.7.4-2.8.4-3 .4-3 .3-3 .2-3v-3l.2-3v-6.2l-.2-3-.2-3v-3l-.4-3-.2-2.7-.3-2.7-.2-2.5-.4-2.5-.2-2.4-.3-2.2-.3-2-.3-2h.8l.4 1.8.3 2 .3 2.3.3 2.3.4 2.5.3 2.7.3 2.7.2 2.8.2 3 .2 2.8.2 3v15.5l-.3 3-.3 3.2-.4 3-.4 2.8-.5 3-.8 2.7-.7 2.7-.8 2.6-1 2.4-1 2.4-1.2 2.2-1.3 2-1.4 2-1.6 1.5-1.7 1.5-1.8 1.3h-.7zm.7 0l-.5.4-.3-.5h.7zm-10-75.2l1-.2.5 2.2.4 2.2.4 2.2.3 2.2.3 2.2.2 2.3v2l.2 2.4v25.4l.2 2.4v2.4l.3 2.4.3 2.4.3 2.4.5 2.4.4 2.4.5 2.4.7 2.5.7 2.4.8 2.5 1 2.5 1 2.4-.8.5-1.2-2.6-1-2.5-.8-2.6-.8-2.5-.7-2.5-.5-2.5-.5-2.4-.4-2.5-.2-2.3-.3-2.5-.2-2.4V594l-.2-2.4V564l-.2-2.3-.2-2.3-.2-2.2-.4-2.2-.3-2-.5-2.3-.5-2v-.2zm0 0zm-2.5-62.6v1l.5-.4-.3 1.6-.2 1.7-.2 1.7-.2 1.7-.2 1.7v1.8l-.3 1.8v3.5l-.2 2v7.3l.2 2v1.8l.2 2v2l.2 2 .2 2 .2 2 .2 2 .3 2 .2 2 .3 2.3.3 2 .3 2.2.4 2.2.4 2.2.4 2 .4 2.4.4 2.2-1 .2-.4-2.2-.4-2.3-.4-2.2-.4-2-.3-2.3-.4-2.2-.3-2-.3-2.2-.2-2-.3-2.2-.2-2-.2-2-.2-2v-2l-.2-2v-2l-.2-1.8v-13l.2-1.8v-1.8l.2-1.7.2-1.7.2-1.7.2-1.7.2-1.7.3-1.7.5-.4zm-.5.4v-.4h.5l-.5.4zm.5 0v-.4.5zm-.5 0v-.4h.5l-.5.4z"/>
+        <path fill="#fff" d="M422 454.4c0 8.7-3.2 66.5-4 74.6-.7 8-4.5 13.6-8.4 16.6-3.4-5-5.3-11.5-5.5-19.3 0-4 2.3-58.7 3-70 7-17 11.8-17.4 15-2z"/>
+        <path fill="#21231e" d="M418.5 529h-1v-1l.2-1v-1.5l.2-1.7v-2l.2-2v-2.3l.3-2.4v-2.5l.3-2.7.2-2.8v-3l.3-3 .2-3 .2-3v-3l.3-3.2.2-3 .2-3.2v-3l.3-3V474l.3-3v-2.5l.2-2.4V464l.2-2v-2l.2-1.8v-3.7h1v5.6l-.2 2v2l-.2 2.3v2.6l-.3 2.6-.2 2.7v2.8l-.3 3-.2 3v3l-.3 3-.2 3v3.2l-.3 3-.2 3.2-.2 3v3l-.2 2.7-.2 2.6v2.6l-.3 2.4v2.3l-.3 2v2l-.2 1.5v1.5l-.2 1.2v1zm-9.3 17l.8-.6-.7-.2.4-.2.3-.3.4-.4.3-.3.4-.3.4-.4.4-.3.3-.4.4-.4.4-.4.3-.5.4-.4.3-.6.3-.4.3-.5.3-.5.3-.5v-.5l.4-.6.2-.5.3-.7v-.6l.3-.6.2-.5.2-.7.2-.6V532l.3-.8v-.8l.2-.7v-.7h1v1.6l-.2.7-.2.7v.7l-.2.7-.2.7-.2.8-.2.6-.2.6-.2.6-.3.6-.2.6-.3.6-.3.5-.2.5-.3.5-.3.5-.5.5-.3.5-.3.4-.4.4-.4.4-.3.4-.5.4-.4.4-.2.4-.4.3-.4.4-.3.4-.4.3-.4.3h-.8zm.7 0l-.5.4-.3-.5h.7zm-6.4-19.7h1v2.8l.2.8v.7l.2.7v1.2l.3.6v.8l.2.6.2.7v.7l.3.6v.6l.3.5.2.6.2.6.2.6v.6l.3.5.3.6.2.4.2.5.3.5.3.5.2.5.3.4.4.4.3.5.3.4-.8.5-.3-.6-.4-.4-.3-.5-.3-.6-.3-.6-.3-.5-.3-.6v-.6l-.4-.5-.2-.6-.2-.6-.2-.4-.2-.6-.2-.6-.2-.6-.2-.6-.2-.7-.2-.6v-.7l-.3-.7v-.6l-.2-.7v-.6l-.2-.7v-1.4l-.2-.7v-1.5l-.2-.7v-1.5zm3-70l.8.3v-.2 2.6l-.2 1.6v2l-.2 2v2l-.2 2.4v2.5l-.2 2.6v2.8l-.3 2.8v2.8l-.2 3v2.8l-.2 3v3l-.2 2.8v3l-.3 2.7v2.7l-.2 2.7v7.3l-.2 2v3.8l-.2 1.6v3.3h-1v-6.8l.2-2V513l.2-2.4V508l.2-2.6.2-2.8v-2.8l.2-3V494l.2-3 .2-2.8v-3l.2-2.8v-3l.3-2.7V474l.2-2.5V469l.2-2.4v-4.2l.2-1.8V459l.2-1.5v-1.2zm-.2 0zm16.2-2h-1v.2l-.3-1.4-.3-1.2-.3-1.2-.4-1-.3-1-.4-1-.3-1-.4-.6-.5-.6-.4-.5-.2-.5-.4-.4h-.4l-.3-.2h-1.1l-.4.2-.5.2-.4.4-.5.5-.5.6-.6.7-.5.7-.5 1-.6.8-.5 1-.6 1.2-.7 1.2-.6 1.4-.6 1.4-.6 1.6-1-.4.7-1.6.8-1.4.6-1.4.6-1.2.6-1.2.6-1 .6-1 .6-1 .6-.7.5-.7.6-.6.6-.6.6-.4.5-.3h.6l.5-.3h1.2l.5.3.5.4.5.4.4.5.4.6.4.5.4.8.3 1 .4.8.3 1.2.3 1 .4 1.3.3 1.4.3 1.3zm0 0zm-.5 0h.6-.5zm.6 0z"/>
+        <path fill="#fff" d="M385 407.2c-.6 18.7-1 59-.8 62.6a51 51 0 006.7 22.6c4-3 7.7-8.5 8.4-16.6.6-6.7.8-39.5 1-56-4.3-2.6-8.7-6-12.2-9.7l-3.2-2.8z"/>
+        <path fill="#21231e" d="M384.7 469.8h-1v-23.4l.2-2.4v-19.6l.2-2.4v-9l.2-2v-3.8h1v7.8l-.2 2.4v9.4l-.2 2.5v12.5l-.2 2.4v25.4zm6 22.2l.5.8h-.7l-.3-.6-.3-.5-.4-.6-.4-.4-.3-.6-.4-.6-.3-.7-.3-.6-.2-.6-.3-.7-.3-.7-.3-.7-.3-.7-.3-.8-.2-.7-.3-.7-.3-.8-.2-.8-.2-.7-.2-.8v-.8l-.3-.8v-.8l-.3-.8v-.8l-.2-.8v-.8l-.2-.8v-.7l-.2-.7v-1.5h1v2.5l.2.8v.8l.3.7v.8l.2.8.2.8.2.8v.7l.2.7.3.8.2.7.2.8v.8l.4.7.2.7.3.7v.7l.4.6.3.7.3.7.2.6.3.6.3.5.3.6.4.6.3.6.3.5.3.4h-.7zm.5.8l-.4.3-.3-.3h.7zm7.7-17h1l-.2.8v.8l-.2.7v.8l-.3.7-.2.7v.7l-.2.5-.2.7-.2.6-.3.6v.6l-.4.6-.2.6-.3.5-.2.5-.3.6-.3.5-.3.5-.4.4-.4.5-.3.4-.5.6-.3.4-.4.4-.3.4-.4.4-.3.3-.3.4-.4.2-.4.3-.4.3-.6-.8.4-.3.3-.3.4-.3.4-.2.4-.4.4-.3.3-.3.4-.4.4-.4.3-.5.4-.4.3-.3.3-.5.3-.5.3-.4.3-.5.2-.6.3-.5.2-.5.3-.6.2-.6.2-.5.2-.6.2-.8.2-.6.2-.6v-.7l.3-.7v-.7l.2-.8v-.7l.2-.8zm1-55.5l.6-.8.2.4v18.8l-.2 2.2v14.6l-.2 2v8.9l-.2 1.5v4.3l-.2 1v2.6h-1V471l.2-1.5v-6.3l.2-1.8v-12l.2-2v-20.8l.2-1.7v-5.1l.2.3zm.6-.8h.2v.4l-.2-.5zm-12.4-9.8v1l.4-1 .3.4.2.5.4.3.3.3.3.5.3.3.4.3.3.4.4.4.3.3.4.4.4.3.4.3.3.3.4.3.3.4.4.3.4.3.5.3.3.2.4.2.4.3.4.3.4.3.4.3.4.3h.4l.4.4.4.3.4.2.4.2.4.3-.6.8-.4-.3-.4-.2-.4-.3-.4-.3-.4-.2-.4-.3-.4-.3-.4-.3-.4-.2-.4-.3-.4-.3-.4-.3-.4-.4-.3-.3-.4-.3-.3-.3-.4-.3-.4-.3-.5-.2-.4-.3-.2-.3-.4-.4-.4-.3-.3-.3-.4-.3-.4-.5-.4-.3-.4-.3-.3-.5-.5-.3-.3-.4-.3-.3.2-.8zm-.3.8l-1-.8h1.2l-.3.8zm-2.5-3.3h-1l1-.3.2.2.2.2v.2h.3v.3h.4v.2l.3.2.3.2v.2h.3v.2h.2v.2h.3l.2.2v.2h.2v.2l-.2.8v-1l-.3 1h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2v-.2h-.2l-.2-.2-.3-.3h-.3v-.3h-.3v-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l1-.4zm-1 0v-1.4l1 1-1 .4z"/>
+        <path fill="#fff" d="M400 419.3c-.4 20-.2 51.7 0 54.3a34 34 0 005.4 19.3c4-3.2 8-8.8 8.8-17 .5-5 2-26.4 2-42.8-5.3-1.7-12-10.4-16.3-14z"/>
+        <path fill="#21231e" d="M400.4 473.5h-1v-12.9l-.2-1.7v-33.7l.2-2v-4h1v14.5l-.2 2v37.1l.2.5v.3zm4.7 19l.7.8h-.7l-.3-.6-.3-.5-.3-.5-.2-.5-.3-.5-.3-.5-.2-.6-.3-.5-.2-.5-.3-.5-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6v-.6l-.3-.7v-.6l-.3-.8v-.6l-.2-.7v-.8l-.2-.6v-.7l-.2-.8v-1.5l-.2-.7v-1.4h1v2.8l.2.7v.7l.2.7v.7l.2.7v.7l.2.6v.7l.3.6v.6l.3.5v.6l.3.7.3.6.2.6.2.5.2.5v.6l.4.5.2.7.3.5v.5l.4.5.2.5.3.5.2.5.3.5.3.4h-.7zm.7.8l-.4.3-.3-.4h.7zm8-17.3h1v1.7l-.3.7v.7l-.3.8v.7l-.2.7-.2.7-.2.5-.3.7v.6l-.4.6-.2.6-.3.5-.2.6-.3.6-.4.6-.2.5-.3.5-.4.5-.2.4-.4.6-.3.4-.3.5-.3.4-.4.3-.4.3-.4.4-.3.3-.5.4-.4.3-.3.3-.6-.8.5-.3.3-.3.4-.4.4-.3.3-.4.3-.4.3-.4.4-.4.3-.4.4-.4.3-.5.3-.4.4-.4.3-.5.3-.3.3-.6.3-.4.2-.5.3-.5.2-.5.3-.6.2-.6.2-.6.2-.6.2-.7.2-.7.2-.7v-.7l.3-.8v-.7l.2-.7v-.8zm2.4-42.3l.4-1 .3.5v7.9l-.2 1.6v5.1l-.2 1.6v1.7l-.2 1.7v4.6l-.2 1.6v2.9l-.2 1.3v1.4l-.2 1.3v2.5l-.2 1v2.2l-.2 1v1.6l-.2.7v1.1h-1v-2l.2-.8v-1.8l.2-1v-2.2l.2-1.2v-2.7l.2-1.3v-1.5l.2-1.4V457l.2-1.6v-1.6l.2-1.6V449l.2-1.6V443l.2-1.6V433l.5.5zm.4-1h.3v.5l-.3-.5zm-16-13.4h-1l.8-.4.5.2.4.4.5.4.5.4.5.5.4.4.4.4.5.5.4.6.5.4.4.5.5.4.5.6.5.5.5.5.5.6.6.5.5.6.7.5.5.6.5.5.6.5.5.5.5.4.6.4.4.4.5.3.4.3.5.3.4.3.5.2.4.2-.3 1-.5-.2-.5-.3-.5-.2-.6-.3-.6-.4-.6-.3-.5-.4-.6-.4-.5-.4-.6-.5-.5-.5-.5-.5-.5-.5-.6-.5-.5-.5-.7-.5-.5-.6-.5-.5-.6-.5-.5-.6-.5-.4-.5-.5-.5-.5-.5-.5-.5-.5-.5-.4-.4-.4-.5-.4-.4-.5-.6-.4-.4-.3-.4-.4.8-.3zm-1 0v-1l.8.6-.8.2z"/>
+        <path fill="#fff" d="M387 405.6L373 385c-2.8 10.2-6.3 82.8-2.2 88.8a36 36 0 006.4 19.3c4-3 9.8-8.5 8-16.7-1.6-8.2.4-62.3 2-70.7z"/>
+        <path fill="#21231e" d="M373.3 384.7l14.2 20.6-.8.5-14.3-20.5v-.4l1-.3zm-1 .2l.4-1 .5.7-.8.2zm-1.2 88.7h-1l.2.3-.5-.8-.3-1.2-.3-1.5v-1.8l-.3-2-.2-2.5v-2.6l-.2-2.8v-20.3l.2-3.7V431l.2-4 .2-3.6v-3.8l.3-3.7.2-3.7.2-3.4.3-3.5.2-3.2.3-3 .2-3 .3-2.5.3-2.4.2-2 .3-2 .3-1.3.4-1 1 .2-.3 1-.2 1.5-.3 1.8-.3 2-.2 2.4-.3 2.5-.3 2.8-.2 3-.3 3.3-.3 3.3-.2 3.4-.2 3.6-.2 3.7v3.7l-.3 3.8v3.8l-.2 3.7v3.8l-.2 3.6v19.6l.2 2.6.2 2.3.2 2v1.8l.4 1.5.3 1 .3.7v.2zm0-.2v.2-.2zm5.7 19.2l.6.8-.7-.2-.3-.4-.3-.6-.3-.5-.3-.6-.3-.5-.2-.6-.3-.6-.3-.5-.3-.6-.4-.5-.2-.6-.3-.6v-.6l-.4-.6-.2-.6-.2-.6-.3-.6-.3-.6-.2-.7v-.6l-.3-.5-.2-.7v-.7l-.3-.6v-.6l-.2-.7v-.6l-.2-.7v-1.5l-.2-.7v-.7h1v1.4l.2.7v.6l.2.6v.7l.2.6v.7l.2.6.2.6v.6l.3.6.2.7.2.6.2.7v.6l.3.6.2.5.3.6.2.6.3.6.2.5.3.6.3.5.3.5.3.6.3.4.2.5.3.4.3.4.3.5.4.5h-.7zm.6.8l-.4.3-.4-.5.7.2zm7.4-17l1-.3v.8l.2.7v3l-.2.7-.2.7v.7l-.3.7-.2.6-.2.6-.2.6-.3.6-.3.5-.4.6-.3.4-.4.5-.5.4-.3.5-.4.4-.4.4-.4.4-.5.5-.4.4-.3.5-.4.3-.4.4-.5.3-.4.3-.3.4-.4.3-.6-.8.4-.3.5-.3.4-.2.3-.4.3-.3.4-.3.4-.4.4-.3.4-.4.4-.5.4-.3.4-.4.4-.5.3-.5.5-.5.3-.5.3-.5.4-.5.3-.5.2-.6v-.6l.3-.5.2-.5.2-.7v-.6l.2-.6v-3.1l-.2-.7v-.6zM387 406v-1l.6.7-.2 1-.2 1v1.4l-.3 1.7-.2 2-.2 2v2l-.3 2.4v2.5l-.3 2.6v2.8l-.2 2.7-.2 2.8v3l-.2 2.8v3l-.2 3v8.5l-.2 2.8v13.5l.2 2v1.5l.2 1.4v1l.2 1-1 .2v-1l-.2-1v-1.5l-.2-1.7v-4l-.2-2v-15.5l.2-3V441l.2-3v-2.8l.2-3 .2-2.7v-2.8l.2-2.7.2-2.5V419l.3-2.3v-2.2l.3-2v-2l.3-1.5.3-1.4v-1.2l.3-1 .5.7zm0-1h.7v.7l-.6-.6zm0 0v1l-.3-.2.4-.7zm0 1h-.2v-.2l.3.3z"/>
+        <path fill="#fff" d="M358 451.2c-.8 11.3-1.2 19-1 23 .2 7.6 2 14.2 5.5 19.2 4-3 9-8.5 8.4-16.6-2-31.5 1.4-61 5.4-89.6-3.4-2.5-9-5-12.5-7.6-6.8 38.3-9 62-6 71.6z"/>
+        <path fill="#21231e" d="M357.4 474h-1v-7.4l.2-.7V463l.2-.7V459l.2-1v-1.8l.2-1v-3l.2-1h1v2l-.2 1v2l-.2 1v2.8l-.2.7v3.2l-.2.7v4.2l-.2.6v4.3zm4.8 19l.6.8h-.7l-.3-.6-.3-.5-.3-.5-.2-.5-.2-.5-.3-.5-.3-.6-.2-.4-.3-.6-.2-.5-.3-.6-.2-.7-.2-.6-.2-.6-.2-.5-.2-.6v-.7l-.3-.6v-.7l-.3-.6v-.7l-.2-.6-.2-.6v-.7l-.2-.7v-1.4l-.2-.7v-1.5l-.2-.7v-.7h1v2.2l.2.7v1.2l.2.7v.6l.2.6v.7l.2.5.2.7v.6l.3.6v.6l.3.6.2.6.2.6.2.6.2.6.2.5.2.6.2.6.3.6.2.5.2.5.2.5.3.5.3.5.3.5.3.5.3.4h-.8zm.6.8l-.4.3-.3-.3h.8zm7.6-17h1v3.7l-.3.7v.6l-.2.7v.7l-.4.6-.2.6-.2.6-.3.6-.3.6-.3.5-.2.6-.3.5-.4.5-.2.5-.4.4-.4.5-.4.4-.3.6-.4.4-.5.4-.4.4-.3.4-.4.3-.4.3-.5.4-.4.3-.2.3-.6-.8.3-.3.4-.3.3-.3.3-.2.4-.4.4-.3.4-.3.4-.4.3-.4.4-.5.3-.4.3-.4.4-.4.3-.5.3-.5.3-.5.2-.5.3-.5.3-.5.2-.6.3-.6.2-.5.2-.6.2-.8v-.6l.2-.6v-.7l.2-.6v-3.1zm5.7-89.2l.7-.8.2.5-.5 2.6-.4 2.6-.3 2.7-.3 2.7-.4 2.7-.3 2.7-.3 2.7-.4 2.8-.3 2.8-.3 2.7-.3 2.8-.2 2.8-.2 2.8-.3 2.7-.2 2.8v3l-.3 2.7-.2 2.8-.2 2.8v2.8l-.2 3v8.5l-.2 3v8.6l.2 3v3l.2 2.8.2 3h-1l-.2-3v-3l-.2-2.8v-5.8l-.2-3V451l.2-2.8v-3l.2-2.7v-2.7l.3-3 .2-2.7.2-2.8V428l.3-2.7.3-2.8.3-2.8V417l.4-2.8.3-2.7.3-2.8.4-2.7.3-2.7.4-2.7.4-2.7.4-2.8.3-2.7.5-2.7.4-2.7v.6zm.7-.8l.2.2v.3l-.3-.5zm-12.3-7l-1-.3.8-.3.3.2.4.2.2.3h.3l.4.3.3.3.4.2.4.2.5.3.4.2.3.2.4.3.4.2.5.3.5.2.4.2.4.2.4.2.5.3.4.2.5.2.4.2.3.2.4.3h.4l.5.4.4.2.3.2.3.3.4.3.3.3.4.2-.6.8-.2-.2-.4-.3h-.3l-.3-.3-.3-.3-.4-.2-.4-.2-.4-.3-.4-.2-.4-.2-.4-.3-.4-.2-.4-.3-.5-.2-.4-.2-.4-.2-.5-.2-.5-.3-.4-.2-.4-.2-.4-.2-.4-.2-.4-.3h-.4l-.4-.4-.4-.2-.4-.2-.4-.3-.4-.3-.3-.3-.4-.2-.4-.2.8-.3zm-1-.3l.2-.8.6.5-.8.3zm-6 71.4l.8.6-.8-.2-.3-1v-1l-.3-1-.2-1.3v-1l-.2-1.4V443l-.2-1.6v-5l.2-1.8v-2l.2-2 .2-2 .2-2.3.2-2.3.2-2.5.3-2.4.3-2.5.3-2.6.4-2.8.4-2.8.4-3 .4-2.8.5-3 .6-3.2.5-3.2.6-3.3.6-3.5.6-3.5.6-3.5 1 .2-.6 3.5-.6 3.5-.6 3.4-.5 3.3-.4 3.3-.5 3-.4 3-.4 3-.4 3-.4 2.7-.3 2.7-.3 2.7-.3 2.5-.2 2.4-.3 2.4-.3 2.3v2.2l-.3 2v2l-.2 2v9.8l.2 1.4v1.2l.3 1 .2 1.2v1l.4 1-1-.3zm.8.6l-.5.6-.3-.8.8.2zm0 0l-.7-.7 1 .3-.3.3zm-.7-.7l1-1v1.3l-1-.4z"/>
+        <path fill="#fff" d="M343.6 471.8l4 14.7c.2 7.7 5 14 8.3 19 4-3 7.5-8 6.5-16-5.8-46.5-3.8-77.3 6-115-22 15-32.3 46.6-25 97.3z"/>
+        <path fill="#21231e" d="M347 486.6l-3.8-14.7 1-.3 3.8 14.6-1 .3zm1-.3zm7.6 19l.6.7h-.7l-.3-.6-.3-.5-.4-.5-.4-.5-.3-.5-.5-.6-.3-.6-.4-.5-.3-.7-.4-.5-.2-.6-.4-.5-.3-.6-.2-.5-.4-.6-.3-.7-.2-.6-.3-.6-.3-.5-.3-.7-.3-.6-.3-.7-.2-.7-.2-.6-.2-.7-.2-.7-.2-.7v-.6l-.2-.7v-.8l-.2-.8v-.7h1v1.4l.2.7v.7l.2.7.2.6v.6l.3.7v.5l.4.7.2.6.3.6v.6l.4.7.3.6.3.6.3.4.3.6.4.6.3.6.3.5.4.6.3.5.4.5.3.6.3.4.4.5.3.4.4.5.3.4.3.5.4.3h-.8zm.6.7l-.4.3-.3-.4h.8zm5.8-16.5h1v5.5l-.2.6v.7l-.3.6v.4l-.3.6-.2.6-.3.5-.2.6-.2.5-.3.6-.3.5-.3.6-.3.4-.2.4-.3.4-.4.5-.2.3-.3.4-.4.4-.3.3-.3.4-.4.4-.4.3-.3.3-.7-.8.4-.3.4-.4.3-.3.4-.3.4-.3.3-.4.4-.3.4-.4.3-.4.3-.4.3-.4.3-.4.3-.4v-.5l.4-.3.2-.5.2-.5.2-.5.2-.5.2-.5.2-.6v-.6l.2-.5v-.6l.2-.7v-5.1zm6.8-114.7l-.6-1 .8.7-1 3.5-.8 3.5-.8 3.4-.7 3.4-.7 3.4-.7 3.3-.6 3.5-.6 3.4-.4 3.2-.5 3.3-.3 3.4-.4 3.2-.4 3.4-.4 3.3-.2 3.3-.2 3.4-.2 3.4v3.6l-.2 3.5v14.7l.3 3.7.3 4 .2 3.8.3 4 .4 3.8.3 4 .5 4.2.4 4.3.6 4.4h-1l-.6-4.2-.4-4.3-.5-4.2-.3-4-.4-4-.3-4-.2-3.8-.2-3.8v-3.7l-.2-3.7v-14.3l.2-3.4.2-3.4.2-3.4.2-3.4.3-3.3.3-3.4.4-3.3.4-3.3.6-3.4.5-3.3.7-3.4.6-3.3.7-3.4.7-3.4.8-3.5.8-3.4.8-3.5 1-3.6.8.6zm-.6-1l1-.6-.2 1.3-.8-.6zm-24 98h-1l-.7-4.6-.5-4.6-.5-4.5-.3-4.3-.3-4.2-.2-4.2v-8l.2-3.8.2-3.7.3-3.7.4-3.4.5-3.4.6-3.3.8-3.3.7-3 1-3 1-3 1-2.8 1-2.8 1.2-2.5 1.3-2.5 1.4-2.4 1.5-2.3 1.4-2 1.6-2.2 1.7-2 1.7-2 2-1.6 1.8-1.7 2-1.6 2-1.5.6.8-2 1.4-2 1.6-1.8 1.6-1.8 1.7-1.8 2-1.6 2-1.6 2-1.5 2-1.4 2.3-1.4 2.4-1.4 2.4-1.2 2.6-1 2.7-1 2.7-1 3-1 3-.7 3-.7 3-.6 3.4-.5 3.3-.5 3.5-.3 3.6-.3 3.7-.2 3.8v12l.4 4.4.3 4.3.5 4.5.5 4.6.6 4.7zm-1 0zm.4 0h.5-.4zm-.4 0z"/>
+        <path fill="#fff" d="M344.8 486.2l-20.3-6.7c-2.5 20.2 1.4 45.6 7 79 4.6 29 2 51.6-1.5 66.2 21.6-3 30.7-30.7 20-83-3-13.7-5.8-31.3-5.2-55.5z"/>
+        <path fill="#21231e" d="M324.7 479l20.2 6.7-.4 1-20.2-6.7-.3-.6.7-.4zm-.6.4v-.6l.7.2-.6.4zm8 79l-1 .3-.6-3-.5-3.2-.6-3-.5-3-.5-3-.5-2.8-.4-3-.4-2.7-.4-2.7-.4-2.7-.4-2.7-.3-2.7-.4-2.6-.3-2.6-.3-2.4-.2-2.5-.3-2.3-.2-2.4-.2-2.4v-2.4l-.3-2.3V500l-.2-2v-10.7l.2-2 .2-2v-2l.4-2 1 .3-.2 2-.2 1.8v2l-.2 2v4l-.2 2v4.3l.2 2.3v2.3l.2 2.3.2 2.3.2 2.2.2 2.4.3 2.4.2 2.5.3 2.5.3 2.5.3 2.6.4 2.8.4 2.6.3 2.7.4 3 .6 2.7.4 2.8.4 3 .5 3 .4 2.8.5 3 .4 3 .5 3.2zm-2 65.8v1l-.5-.6.4-1.4.2-1.4.3-1.5.3-1.5.3-1.6.4-1.6.3-1.7.2-1.8.2-1.7.2-1.8.2-2 .2-1.8v-2l.3-2 .2-2v-2l.2-2v-13.4l-.2-2.3-.2-2.4-.2-2.4-.2-2.5-.3-2.5-.3-2.6-.3-2.6-.4-2.6-.4-2.7 1-.2.3 2.7.4 2.7.3 2.5.3 2.6.3 2.6.2 2.5.2 2.6v2.4l.3 2.4v6.8l.2 2.3v4.3l-.2 2v2l-.2 2v2l-.2 2-.2 2-.2 1.8-.3 1.8v1.8l-.4 1.7-.2 1.8-.3 1.6-.2 1.6-.3 1.5-.3 1.5-.4 1.5-.3 1.4-.5-.8zm0 1h-.6v-.6l.7.6zm19.4-83.5l1-.2 1 5 .8 4.6.7 4.6.5 4.5.5 4.3.4 4 .3 4 .2 4v7.2l-.2 3.4-.2 3.2-.4 3-.4 3-.6 3-.6 2.6-.7 2.6-1 2.4-1 2.3-1 2.2-1 2-1.2 1.8-1.3 1.7-1.4 1.5-1.4 1.4-1.5 1.3-1.5 1-1.8 1-1.8.7-2 .7-2 .5-2 .2v-1l2-.3 1.8-.6 1.8-.6 1.7-.8 1.6-1 1.5-1 1.5-1 1.4-1.5 1.3-1.5 1.3-1.6 1-1.8 1.2-2 1-2 1-2.2.7-2.3.6-2.4.7-2.7.5-3 .4-2.8.4-3 .2-3.3v-3.5l.2-3.5v-3.7l-.3-3.8-.3-4-.3-4-.4-4.3-.7-4.4-.8-4.5-.8-4.7-1-5zm-4.8-55l.3-1 .3.5V503l.2 2 .2 1.8v2l.2 1.8v1.8l.2 1.8.2 1.7.2 1.8.2 1.7.2 1.7.2 1.6.2 1.6.2 1.6.2 1.5.3 1.5.3 1.5.3 1.5.2 1.4.3 1.4.3 1.4.3 1.4.3 1.3v1.3l.4 1.2-1 .2-.2-1.3-.3-1.3-.4-1.2-.2-1.4-.3-1.4-.2-1.4-.2-1.4-.3-1.5-.2-1.5v-1.5l-.4-1.6-.2-1.5-.2-1.6-.2-1.7-.2-1.7-.2-1.7-.2-1.8-.2-1.8v-1.7l-.3-2-.2-1.7v-2l-.3-1.8v-4l-.2-2v-13l.3.5zm.3-1l.3.2v.2l-.4-.5z"/>
+        <path fill="#21231e" d="M343.6 584h1v.7h-.8v-.2h-.2v-.4zm-4.3-40l1-.4.4 1.2.2 1.2v1l.4 1.3.2 1.3.2 1.2.2 1.2.2 1.2.2 1.3.2 1.3.2 1.2.2 1.3.2 1.3.2 1.2.2 1.3v1.4l.3 1.3v2.6l.3 1.3v1.3l.2 1.2v2.6l.2 1.3v9.1h-1v-7.6l-.2-1.2v-2.7l-.2-1.3V570l-.2-1.3v-1.3l-.2-1.3v-1l-.3-1.4v-1.3l-.3-1.3-.2-1.3v-1.2l-.3-1.3-.2-1.3-.2-1.3-.2-1.3v-1.2l-.4-1.2-.2-1.2-.2-1.2-.2-1.2-.3-1.2-.2-1.2-.2-1.2zm-5.5-50.4h1.2v6.4l.2 1.5v3.3l.2 1.5v1.6l.2 1.5v1.6l.3 1.5v3.1l.3 1.5.2 1.7v1.5l.3 1.6.2 1.5.2 1.6.2 1.4.2 1.6.3 1.5v1.6l.4 1.6.2 1.6.3 1.6.2 1.5.3 1.6.3 1.5.3 1.5.4 1.6-1 .3-.5-1.7-.4-1.6-.3-1.6-.3-1.5-.3-1.5-.2-1.6-.3-1.6-.2-1.5-.3-1.6-.2-1.6-.2-1.4-.3-1.6-.2-1.5-.2-1.6v-1.7l-.3-1.5-.2-1.6v-1.5l-.2-1.6v-1.4l-.2-1.6-.2-1.6V508l-.2-1.7V503l-.2-1.4v-6.4l-.2-1.6zm1.2 0h-1.2v-.2h.2v-.2h.2v-.2h.8v.2h.2v.4z"/>
+        <path fill="#fff" d="M344 367.3l13.2 2.2-4.6 23.3c-5 24.3-8.2 53-4.5 84.2 1.5 11.7 4 21.2 7.6 28.5-14.6-1.6-24-15.8-22.7-40.6-2.6-29-1.5-52 3.2-69.4 1.4-5 5.8-24.2 7.8-28.3z"/>
+        <path fill="#21231e" d="M357 370l-13-2.3v-1l13.3 2.3.4.6-.6.4zm.3-1h.5v.6l-.5-.6zm-4.2 24l-1-.3.2-.3v-.4l.2-.5v-.6l.2-.7v-.6l.3-.7v-.8l.2-.8v-1l.3-.7.2-1 .2-1v-.8l.2-1 .2-1 .2-1 .2-1 .2-1 .2-.8v-1l.3-.7.2-1v-.7l.3-.7v-.7l.3-.6v-.6l.2-.5v-.4l.2-.3v-.3l1 .2v.6l-.2.5v.5l-.3.6v.5l-.2.7-.2.8-.2.8v1l-.3.7-.2 1v.8l-.2 1-.2 1-.2 1-.2.8-.2 1-.2 1v1l-.3 1-.2.7-.2 1v.7l-.2.7v1l-.2.5-.2.6v.7l-.2.5v.7zm-4.4 84h-1l-.3-2.8-.3-3-.3-3-.2-2.8v-2.8l-.3-3V457l-.2-3v-11l.2-2.7v-2.7l.2-2.7.2-2.8.2-2.6.2-2.6.3-2.6.2-2.6.3-2.6.3-2.5.4-2.5.4-2.5.4-2.5.3-2.4.4-2.4.3-2.4.5-2.4.4-2.3.5-2.3.4-2.3 1 .2-.4 2.2-.4 2.3-.5 2.3-.4 2.4-.4 2.4-.5 2.4-.4 2.4-.2 2.4-.4 2.5-.3 2.5-.2 2.5-.3 2.6-.3 2.5-.2 2.5-.2 2.7-.2 2.6-.2 2.6v2.6l-.2 2.7v2.7l-.2 2.7v11.5l.2 3v2.7l.3 3 .2 2.7.3 3 .3 2.8.3 3zm7 29v-1l-.4.8-.4-.7-.3-.6-.3-.8-.4-.7-.3-1-.3-.6-.3-.8-.4-.8-.3-.8-.2-.8-.2-.8-.3-1-.2-.7-.3-1-.2-.8-.3-1-.2-1-.2-.8v-1l-.3-1-.2-.8-.2-1-.2-1v-1l-.3-1-.2-1v-1l-.3-1-.2-1v-1l-.2-1.2-.2-1 1-.2v1l.3 1v1.2l.2 1v1l.3 1 .2 1 .2 1v1l.2 1 .2 1 .2 1 .2 1 .3.8.3 1 .2.8.2 1 .3.7.2 1 .3.7.2.8.3 1 .3.7.3.8.3.7v.8l.4.8.4.7.3.7.4.7.3.6.3.7-.5.7zm.4-.7l.4.8h-1l.6-.7zM332.4 465l1-.2v8.8l.2 2 .2 2 .3 2 .4 1.8.4 1.7.4 1.8.5 1.7.5 1.5.6 1.5.6 1.5.7 1.3.8 1.3.7 1.3.8 1 1 1 .8 1.2 1 1 1 .8 1 .8 1 .8 1 .7 1.2.6 1.2.4 1.2.5 1.2.3 1.2.3 1.3.3h1.4l-.2 1h-1.3l-1.4-.4-1.3-.4-1.3-.4-1.2-.5-1.2-.5-1.2-.7-1-.6-1.2-.8-1-.8-1-1-1-1-1-1-1-1.2-.7-1.2-.8-1.3-.8-1.2-.7-1.4-.7-1.5-.5-1.6-.6-1.6-.5-1.7-.4-1.6-.4-1.8-.3-2-.2-1.8-.2-2-.2-2v-8.9zm1-.2zm2.3-69.4l1 .3-.5 1.6-.4 1.7-.4 1.7-.3 1.7-.3 1.8-.3 1.8-.3 1.8-.2 2-.2 1.8-.3 2-.2 2v2l-.3 2v2l-.2 2-.2 2.3v4.3l-.2 2.2v9.6l.2 2.5v2.4l.2 2.5v2.5l.2 2.6.2 2.6.2 2.5.2 2.6.2 2.8h-1l-.2-2.6-.2-2.6-.2-2.7-.2-2.7v-2.5l-.2-2.6v-2.5l-.2-2.4v-18.5l.3-2v-2.2l.3-2v-2.2l.3-2 .3-2 .3-2 .2-1.8.3-2 .4-1.8.4-1.8.3-1.8.5-1.7.4-1.7.3-1.7.4-1.6zm8.3-28.6v1l.4-.3-.2.4-.2.4-.2.6-.2.6-.3.7-.2.8-.2 1-.2.8-.3 1-.3 1-.2 1-.3 1-.3 1-.3 1.2-.4 1-.3 1.2-.3 1-.2 1.2-.3 1-.3 1.2-.3 1-.3 1-.3 1-.2 1-.3 1-.3 1-.2.8-.2.8-.2.7v.6l-.2.6v.5l-1-.3v-.5l.2-.7.2-.6.2-.8v-1l.4-.7.2-1 .2-.8.3-1 .2-1 .3-1 .2-1.2.3-1 .3-1.2.3-1 .4-1 .2-1.2.3-1 .2-1.2.3-1 .3-1 .3-1 .4-1 .2-1 .3-1v-.8l.4-.8.2-.7.3-.7v-.6l.3-.5.2-.5.5-.2zm-.5.2l.2-.3h.3l-.5.3zm.5.3v-.5.5zm-.5-.3l.2-.3h.3l-.5.3z"/>
+        <path fill="#fff" d="M336 370.4l6.4 7.4c-1.8 1.4 1.3 7-.4 18-1 6.4-4.8 13.8-5.6 22-2.5 26.5-2.5 59.8 5.4 81-14.5-1.6-19.5-14.8-20-39.6-.4-20.6-.4-44.7 4.7-72.7 1-6.5 4.2-11.7 9.4-16z"/>
+        <path fill="#21231e" d="M342 378.2l-6.5-7.5.8-.6 6.5 7.5v.7h-.7zm.8-.7l.4.4-.5.2v-.7zm-.3 18.5h-1l.2-1.2v-1l.2-1V385l-.2-.6v-1.2l-.2-.6v-1l-.2-.4v-2.8l.2-.3.3-.4v-.2l.7.8v.2h-.2v.5h-.2v2.2l.2.4v1.1l.2.6v1.1l.2.7v8.1l-.2 1v1l-.3 1zm0 0zm-5.6 21.7h-1v-1.8l.2-.7.2-.7v-.7l.3-1v-.6l.3-.8.2-.7.2-.8.2-.7.2-.7.2-.7.2-.6.2-.7.2-.7.3-.7v-.7l.3-.6.2-.7.2-.7.2-.6v-.7l.3-.6.2-.6.2-.5.2-.7v-.6l.2-.6v-.6l.2-.6v-.5h1v1.2l-.3.6v.7l-.2.6v.7l-.3.7-.2.6-.2.6v.7l-.3.7-.2.6-.3.7-.2.6-.2.6-.2.7-.2.7-.2.7-.3.7-.3.7-.2.8-.2.7-.2.7v.7l-.2.6-.2.7v.7l-.3.8v.7l-.2.7v1.5zm4.8 81.6v-1l-.4.7-.8-2-.6-2-.7-2.3-.6-2.2-.5-2.3-.5-2.4-.5-2.4-.4-2.4-.4-2.5-.4-2.5-.3-2.5-.3-2.6-.2-2.7-.2-2.7-.2-2.6v-2.7l-.2-2.7V455l-.2-2.8v-10.9l.2-2.7V436l.2-2.8v-2.7l.3-2.6.3-2.7.2-2.6.2-2.6.2-2.4h1l-.3 2.6-.2 2.6-.2 2.5-.2 2.6v2.6l-.2 2.6v2.7l-.2 2.6v2.7l-.2 2.7V455l.2 2.7v2.7l.2 2.7.2 2.5.2 2.7.2 2.6.3 2.5.3 2.6.4 2.4.4 2.4.4 2.5.4 2.3.5 2.4.7 2.2.6 2.2.6 2.2.6 2 .7 2-.5.7zm.5-.6l.3.7h-.8l.5-.7zm-21-39.5h1v2.2l.2 2.3v2l.2 2.2.2 2v2l.3 1.7.3 1.8.3 1.8.2 1.6.4 1.5.4 1.6.4 1.5.5 1.4.4 1.2.6 1.3.6 1.2.6 1 .7 1 .6 1 .8 1 .8 1 .8.6 1 .7 1 .7 1 .6 1 .5 1 .4 1 .4 1.3.3 1.3.2 1.3.2-.2 1-1.4-.2-1.3-.3-1-.4-1.3-.4-1.2-.5-1-.6-1.2-.5-1-.7-1-.7-.8-.7-1-1-.7-1-.7-1-.6-1-.7-1.2-.6-1-.5-1.4-.5-1.3-.5-1.5-.5-1.5-.4-1.5-.3-1.7-.4-1.5-.4-1.8-.3-1.8-.2-2v-2l-.3-2v-2l-.2-2.3v-2.2l-.2-2.3zm4.7-72.8l1 .2-.5 2.6-.4 2.6-.3 2.5-.4 2.6-.3 2.4-.4 2.5-.3 2.4-.3 2.4-.2 2.4-.2 2.5-.3 2.3v2.4l-.3 2.4-.2 2.3v2.4l-.2 2.2v2.3l-.2 2v4.5l-.2 2.2V459h-1v-26.9l.2-2.2v-2l.2-2.4v-2.3l.2-2.3.2-2.3.2-2.4.2-2.3.2-2.4.2-2.5.3-2.3.3-2.4.3-2.5.4-2.5.3-2.6.4-2.5.4-2.6.6-2.6.4-2.6zm1 .2zm9.3-16.5l-.8.7h.7l-.4.5-.5.4-.5.4-.4.4-.4.5-.4.3-.4.4-.4.5-.4.4-.4.5-.3.5-.4.5-.3.5-.3.4-.3.4-.3.5-.2.4-.3.5-.2.4-.3.5-.2.4-.2.6-.2.5-.2.5-.2.6-.2.5-.2.7v.5l-.3.6v.6l-.2.6v.6l-1-.2v-.6l.2-.6.2-.6v-.6l.3-.6v-.6l.3-.5.2-.6.2-.6.2-.4.3-.6v-.5l.4-.5.2-.6.3-.5.2-.6.3-.5.3-.6.4-.5.3-.6.4-.5.2-.6.4-.4.4-.5.4-.4.4-.4.5-.4.4-.5.5-.4.4-.4.5-.6.6-.4h.7zm-.7 0l.4-.3.3.4h-.7z"/>
+        <path fill="#fff" d="M372.3 390l-13.4-1.6c-2.6 12.7-4.5 21.7-5 26.2-1 9 1.8 17 5 23 5-3 7.2-9.4 9.2-18.6 2-9.2 2.7-19.2 4-29z"/>
+        <path fill="#21231e" d="M359 388l13.3 1.5v1l-13.5-1.6-.4-.7.5-.4zm-.6.3v-.4h.5l-.6.3zm-4 26.4h-1l.2-.6v-.8l.2-.6v-1l.2-.6v-.7l.3-.6v-.7l.2-.7v-.7l.3-.7v-1l.2-.7.2-.8.2-1v-.7l.3-1 .2-.8v-1l.2-1 .2-1 .2-1 .2-1 .2-1 .3-1 .2-1 .2-1.2.2-1.2v-1l.4-1.3 1 .2-.3 1.2v1l-.3 1.3-.3 1-.2 1.2-.2 1-.2 1-.2 1-.2 1-.2 1-.2 1v1l-.3 1-.2.8-.2.8v1l-.3.7v.8l-.3.7v.8l-.2.7-.2.7v.6l-.2.7v1.3l-.2.5v1.1l-.2.5v.9zm4.3 22.6l.5.8h-.7l-.3-.7-.3-.6-.4-.6-.3-.5-.3-.6-.2-.7-.3-.7-.2-.6-.3-.7-.2-.7-.3-.7-.2-.8-.2-.7v-.7l-.3-.7-.2-.7-.2-.7v-.8l-.3-.7v-.7l-.2-.8v-.8l-.2-.7v-.8l-.2-.8v-6.1h1v6.6l.2 1v1.4l.3.7v1.6l.3.8.2.7v.8l.3.7.2.7.3.7.2.6.2.7.2.6.2.6.2.6.3.7.3.5.2.6.3.7.3.6.3.6.3.5-.7-.2zm.5.8l-.5.4-.2-.5h.7zm8.6-19h1l-.3 1-.2.8-.2 1v.7l-.3.8-.2.7-.2.8-.2.7v.8l-.4.7-.2.7-.3.6v.7l-.4.6-.2.7-.3.6-.2.5-.3.5-.3.6-.3.5-.4.7-.3.5-.4.5-.5.4-.3.6-.4.4-.4.4-.4.4-.5.3-.4.5-.4.3-.4.3-.5-.7.4-.3.5-.3.4-.3.3-.4.4-.3.4-.4.4-.4.4-.5.3-.4.4-.4.4-.5.3-.4.4-.5.2-.4.3-.6.2-.5.3-.6.2-.7.3-.7.2-.6.3-.7.2-.6.2-.7v-.8l.3-.7.3-.7.2-.8.2-.8.2-.8.2-.8.2-.8.2-1zm4.5-28.5v-1l.5.5v1l-.3 1v.8l-.2 1v1l-.2.8v1l-.2.8v1l-.2 1v.8l-.2 1v1l-.2.8v1l-.2.8v1l-.2.8v1l-.2 1-.2.8v1l-.2.8-.2 1v.8l-.2 1-.2.8-.2.8v1l-.3.8v1l-.3.7h-1l.3-1v-.8l.3-1 .2-.7v-1l.3-.8v-1l.3-.8.2-1v-1l.3-.8v-1l.2-.8v-1l.2-.8v-1.8l.2-1v-1l.2-.8v-1l.2-.8v-1l.3-1v-1.8l.2-1v-.8l.2-1v-.8l.3-1v-1l.6.7zm0-1h.6l-.2.5-.5-.5zm0 0v1-1zm0 1z"/>
+        <path fill="#fff" d="M407 418.6h-11.8c-.4 11-.7 18.5-.5 22.3.4 7.5 2.3 14 5.5 18.7 3.6-3 7-8.3 7.6-16.2.6-8-.6-16.5-.7-25z"/>
+        <path fill="#21231e" d="M395.2 418.2h12v1h-12l-.5-.5.5-.5zm-.5.5v-.5h.5l-.5.5zm.5 22.2h-1v-11.4l.2-.8v-4.4l.2-.8v-5h1v7.8l-.2.7v5.6l-.2.7v7.7zm4.7 18.4l.6.7h-.8l-.3-.5-.3-.4-.3-.4-.4-.5-.2-.4-.3-.5v-.4l-.4-.6-.2-.5-.3-.5v-.6l-.3-.6-.2-.5-.2-.6-.2-.6v-.5l-.2-.6-.2-.7-.2-.6v-.6l-.2-.6-.2-.6v-.7l-.2-.5v-.7l-.2-.7v-.5l-.2-.7v-2.6l-.2-.7h1v1.1l.2.7v1.4l.2.7v.7l.2.6v.7l.2.6v.6l.3.6v.7l.3.6v.7l.3.5v.6l.2.6.2.5.2.5.2.5.3.6.3.5.2.6.3.5.2.6.3.5.2.6.3.5.3.6.4.4.2.5h-.7zm.6.7l-.5.5-.2-.5h.8zm6.7-16.6h1v1.6l-.2.7v1.4l-.3.8v.6l-.3.7-.2.7-.2.6-.2.6-.2.5-.2.5-.3.6v.5l-.4.7-.2.5-.3.5-.2.5-.3.4-.3.5-.3.5-.4.4-.3.3-.4.4-.4.4-.3.5-.4.3-.4.4-.4.3-.3.3-.4.3-.7-.6.2-.3.4-.2.3-.3.2-.4.3-.2.4-.3.2-.4.3-.3.3-.4.3-.4.4-.5.3-.4.2-.4.2-.4.3-.5.2-.5.3-.5.2-.5.3-.5.2-.6.2-.4v-.6l.3-.6v-.6l.3-.6v-.7l.3-.6v-1.4l.2-.7V444zm0-24.3v-1l.4.6v5.6l.2 1v4.6l.2.8v2.8l.2.8v9.2h-1v-11.8l-.2-.8V429l-.2-1v-3l-.2-1v-5.3l.4.5zm0-1h.4v.6l-.5-.5z"/>
+        <path fill="#fff" d="M420 424.2l-12 .6c0 11 0 18.4.3 22.2a37 37 0 006.2 18.6c3.5-3 6.8-8.6 7-16.5.3-8-1-16.3-1.5-24.8z"/>
+        <path fill="#21231e" d="M408 424.3l12-.6v1l-12 .6-.4-.5.5-.5zm-.4.5v-.5h.5l-.4.5zm1.2 22.2h-1v-4l-.2-.6v-17.8h1V445l.2.4v1.6zm5.4 18.2l.6.8h-.7l-.2-.5-.3-.5-.3-.5-.3-.5-.4-.5-.3-.5-.3-.5-.2-.5-.3-.5-.3-.5-.2-.6-.2-.5-.3-.7-.2-.6-.2-.6v-.4l-.3-.6-.2-.6v-.7l-.3-.6-.2-.5v-.6l-.3-.8v-.6l-.2-.7v-.8l-.2-.6v-.7l-.2-.8v-2h.8v.7l.2.7v1.4l.2.7.2.7v.7l.2.7v.6l.3.6v.7l.2.6v.5l.3.6.2.7.2.5v.6l.3.6.2.5.2.5.2.5.2.5.2.6.2.6.3.5.2.6.2.4.3.5.3.5.3.4.3.5.3.3h-.8zm.6.8l-.4.4-.3-.5h.8zm6.2-17h1v2.3l-.2.7v.7l-.2.7-.2.6v.7l-.3.6v.6l-.2.5-.2.6-.2.7-.2.6-.3.5-.3.6-.3.5-.2.4-.3.5-.4.4-.3.4-.3.5-.3.4-.3.4-.3.5-.2.4-.3.3-.3.4-.4.3-.3.4-.3.3-.4.3-.6-.8.3-.3.3-.4.3-.3.4-.3.3-.4.4-.3.4-.4.2-.5.3-.4.2-.3.3-.4.3-.5.2-.4.3-.5.2-.6.3-.5.2-.6.2-.5.2-.6.2-.6.2-.6.2-.5.2-.6v-.5l.3-.7v-.6l.2-.7v-.6l.2-.8V449zm-1-25.3v1l.5-.5v2.4l.2.8v1.5l.2.7v3.4l.2.7v1.5l.2.8v.8l.2.8v2.5l.2.7v2.3l.2.8v5.3h-1v-7.4l-.2-.7v-1.6l-.2-.8V437l-.2-1v-1.5l-.2-.7v-1.6l-.2-.8v-1.6l-.2-.8v-1.6l-.2-.8v-2.2l.4-.6zm-.5.6v-.6h.5l-.5.6zm.5.4v-1 1z"/>
+        <path fill="#fff" d="M395 412.4l-12-.8c-1.2 11-2 18.2-2.2 22-.2 7.7 1 14.2 4 19.3 3.8-2.8 7.7-8 8.8-15.7 1.2-8 .8-16.4 1.4-25z"/>
+        <path fill="#21231e" d="M383 411l12 1v1l-12-1-.4-.5.5-.4zm-.4.5v-.5h.5l-.4.5zm-1.3 22.2h-1V431l.2-.4V429l.2-.6v-1.2l.2-.6v-2.2l.2-.7v-1.4l.2-.8v-.8l.2-.8v-1l.2-.8v-1l.2-.8v-1l.3-1v-1l.2-1v-1l1 .2v2l-.3 1v1l-.2 1v.8l-.2 1v.7l-.2 1v.8l-.2.8v.8l-.2.8v1.3l-.2.7v1.4l-.2.6v1.1l-.2.6v1.7l-.2.5v2.7zm3.2 18.8l.5.8-.7-.2-.2-.4-.2-.5-.2-.4-.3-.5-.2-.4v-.5l-.3-.5-.3-.5v-.6l-.3-.5v-.7l-.3-.6v-.6l-.3-.4v-.6l-.3-.7V443l-.2-.5v-.7l-.2-.6V440l-.2-.8v-5.5h1v6.8l.2.7v.7l.2.6v.6l.2.5v.6l.2.7.2.6v.6l.3.5v.5l.3.6.2.5.2.7.2.5.2.5.2.5.2.5.3.5.2.5.2.5.2.4h-.7zm.5.8l-.4.3-.3-.5.8.3zm8.2-16h1l-.2.8v.8l-.3.7v.7l-.3.7-.2.6-.2.6-.2.6-.3.6-.2.6-.3.6-.2.6-.3.5-.3.6-.3.5-.4.5-.3.5-.3.4-.3.5-.3.4-.4.6-.3.4-.4.4-.3.3-.4.4-.3.5-.4.3-.5.3-.3.4-.4.3-.4.3-.3.3-.5-.8.3-.3.4-.2.3-.3.4-.3.2-.3.4-.2.3-.4.3-.3.3-.3.3-.4.2-.4.4-.5.3-.4.2-.3.3-.5.3-.5.3-.4.4-.5.2-.5.3-.6v-.5l.4-.6.2-.5.2-.5.2-.6.2-.7.2-.7.2-.6.2-.7v-.7l.2-.7.2-.8zm1.8-24.4v-1l.5.5v1.5l-.2.8v5.6l-.2.7v9l-.2.8v2.2l-.2.8v.7l-.2.8v1l-.2.6v.8l-1-.2v-.7l.2-.8v-1.5l.2-.7V432l.2-.8V428l.2-.8V421l.2-.7v-4.8l.2-.8v-2.3l.6.5zm0-1h.5v.5l-.5-.6z"/>
+        <path fill="#fff" d="M384 399.6l-13.2-5.4c-2.2 8.8-5.2 37.8 0 50 4.5-3 9-8.4 10.3-17 1.6-9 2-18.2 3-27.6z"/>
+        <path fill="#21231e" d="M371 393.7l13 5.4-.3 1-13-5.4-.4-.6.7-.3zm-.7.3l.2-.5.5.2-.7.3zm.3 50l.6.7-.7-.2-.5-1.2-.5-1.3-.3-1.4-.4-1.5-.3-1.5-.3-1.6-.2-1.7-.2-1.7v-1.8l-.2-1.8v-3.6l-.2-2V418l.2-2v-1.8l.2-1.8.2-1.8V409l.3-1.8.2-1.7V404l.3-1.6.2-1.5.3-1.4.2-1.3.2-1.2.2-1v-1l.3-1 1 .3-.2 1v.8l-.3 1.2-.3 1.2-.2 1.3-.2 1.4-.2 1.5-.2 1.6-.2 1.6v1.7l-.3 1.7v1.7l-.2 1.8v1.8l-.2 1.8v3.8l-.2 2v5.4l.2 1.8v1.7l.2 1.8.2 1.7.2 1.6.3 1.6.3 1.5.3 1.3.5 1.4.4 1.2.4 1h-.8zm.6.7l-.5.3-.2-.5.7.2zm9.4-17.7h1v1l-.3.8-.2.8v.7l-.3.8-.2.8-.3.7-.2.7-.3.7-.3.5-.3.7-.2.6-.3.6-.3.6-.3.6-.5.5-.3.7-.4.5-.4.5-.3.5-.3.4-.4.5-.4.5-.5.4-.4.3-.3.4-.4.4-.4.4-.5.4-.5.3-.4.4-.4.3-.6-.8.4-.4.4-.3.4-.3.4-.3.4-.4.4-.3.4-.4.4-.4.4-.4.3-.4.4-.4.3-.5.3-.4.4-.4.3-.5.4-.4.3-.6.3-.5.3-.6.3-.6.2-.6.3-.7.3-.5.2-.6.3-.8.2-.7.2-.7.3-.7v-.7l.3-.7.2-.8v-.8zm3-27l.4-1 .4.6v1l-.2.8v1.7l-.2 1v1l-.2.8v1.8l-.2.8v1.7l-.2 1v1.7l-.2 1v1.6l-.2 1v.7l-.2 1v.8l-.2.8v1l-.2.7v.8l-.2 1v.8l-.2 1v.7l-.3.8v.8h-1v-.8l.2-1v-1.5l.2-.8v-1l.2-.8v-1l.2-.7v-1l.2-.7v-1l.2-.7v-1.6l.2-1v-.7l.2-1V410l.2-.8v-1.8l.2-.8v-1.8l.2-1v-1.5l.2-1v-.8l.2-1 .3.6zm.4-1l.4.3v.3l-.4-.5zm0 .6l-.3.4.2-.4zm0-.5l.4.3v.3l-.4-.5z"/>
+        <path id="c" fill="#edb92e" stroke="#21231e" d="M387.8 701.2c8 6.3 15.2-8.3 8-27.6-5-14.2-30.6-8.7-16.4 10.5.7 1 1.6.6 1.5-.4-1-4 1.6-6.3 5.5-5.5 10.5 2 11 22-.6 17.6-2.2-.2-.4 4 1.7 5.6z"/>
+        <path fill="#edb92e" stroke="#21231e" d="M400 639.2c-1 3.4-5 7.6-8 10.8-4.5 4.8-3.4 12.2-.2 16 3.5 4.4 5 9.2 5.8 13 .5 2.3 1.5 7.4.8 15.5-.4 4-2.7 6-5 7.7-1 1 .5 3 4.3 6 .4.2 1.5 1 2 3 .2.4 2 .4 2.2 0 .4-2 1.6-2.8 2-3 3.7-3 5.4-5 4.2-6-2.2-1.7-4.6-3.8-5-7.7-.6-8 .3-13.2.8-15.5.8-3.8 2.3-8.6 6-13 3-3.8 4.2-11.2-.5-16-3-3.2-7-7.4-8-10.7 0-.8-.3-1-.7-1-.3 0-.7.2-.7 1z"/>
+        <path fill="#edb92e" d="M395 685.5h11.6c2 0 3.6 1.6 3.6 3.5 0 2-1.6 3.5-3.6 3.5H395c-2 0-3.5-1.5-3.5-3.5s1.6-3.5 3.6-3.5z"/>
+        <path fill="#21231e" d="M406.6 686H395v-1h11.6v1zm4 3h-1v-1l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.3v-.2h-.2v-.2h-.3l-.2-.2h-.5v-.2h-.6v-1h1l.2.2h.4v.2h.3l.2.2h.2v.2h.2v.2l.3.2.2.2v.2l.3.2.2.3v.3l.2.3v.4l.2.2v.8zm-1 0h1-1zm-3 4v-1h.8l.3-.2h.2l.2-.2.2-.2h.3v-.2l.2-.2v-.2l.2-.2.2-.3v-.3l.2-.2v-.8h1v1.2l-.2.2v.4h-.2v.3l-.2.3h-.2v.3h-.2v.3h-.3l-.3.2v.2h-.3l-.2.2h-.2l-.3.2h-.4l-.2.2h-.8zm-11.5-1h11.6v1H395v-1zm-4-3h1v1l.2.2v.3h.2v.2h.2v.2h.2v.2h.2v.2h.2l.3.2h.2l.2.2.3.2h.6v1h-1.2v-.2h-.3l-.2-.2h-.2l-.2-.2-.2-.2-.3-.2-.3-.3-.2-.3-.2-.3-.2-.2v-.2l-.2-.2v-.4l-.2-.2v-.8zm1 0h-1 1zm3-4v1H394v.2h-.3l-.2.2h-.2v.2h-.2v.2l-.2.2-.2.2-.2.2v.2l-.2.2v.5h-.2v.6h-1v-1.2l.2-.2v-.2h.2v-.3h.2v-.2l.2-.2v-.2h.2l.2-.2v-.2h.3v-.2h.3v-.2h.3l.3-.2h.2l.2-.2h.5l.2-.2h.7z"/>
+        <path fill="#fff" d="M417 579.2l.5-11c-4.4-2.2-15.2 0-19.7 10.2a64.7 64.7 0 01-18 25.2c10 1.8 18.4-.2 23.7-7.4 7.3-9.8 11.2-15.7 13.6-17z"/>
+        <path fill="#21231e" d="M418 568.3l-.4 11h-1l.4-11 .7-.5.3.5zm-.3-.5l.3.2v.3l-.3-.5zm-19.5 10.8l-1-.4.6-1 .5-.8.5-1 .6-.7.5-.8.5-.8.7-.7.6-.6.7-.7.7-.5.7-.6.6-.4.7-.5.8-.4.8-.4.7-.3.8-.3.7-.2.7-.3h.7l.8-.3h1.2l.7-.2h2l.7.2h.5l.6.2.5.2.4.2-.4 1-.4-.3h-.5l-.5-.2h-.5l-.5-.2h-3l-.7.2h-.6l-.7.3-.7.2-.7.2-.7.2-.8.3-.7.3-.7.4-.7.4-.5.5-.7.5-.7.6-.5.6-.6.6-.7.7-.6.6-.5.7-.6.8-.5 1-.3.7-.5 1zM380 603l-.2 1-.2-.8.6-.6.6-.5.7-.5.6-.6.7-.6.6-.6.5-.6.6-.6.6-.7.6-.7.5-.6.7-.7.5-.7.6-.7.5-.7.6-.8.4-.8.5-.7.5-.8.5-1 .5-.8.6-.8.6-1 .5-.8.6-1 .6-1 .5-1 .5-1 .5-1 .6-1 .5-1.2.5-1.2 1 .4-.6 1.2-.5 1-.6 1.2-.5 1-.4 1-.6 1-.5 1-.5 1-.6 1-.5 1-.6.8-.6.8-.5.8-.5.8-.6.8-.5.8-.6.7-.4.7-.6.8-.6.6-.5.7-.7.7-.6.6-.6.7-.4.6-.6.5-.6.6-.7.7-.6.5-.5.6-.6.6-.8.5-.2-1zm-.2 1h-1l.8-.8.2.8zm23.4-8l.8.5-.6.7-.5.6-.7.6-.6.6-.6.6-.5.5-.6.6-.7.5-.7.5-.7.4-.8.3-.7.4-.7.3-.7.3-.7.2-.7.3-.8.2-.8.2h-.8l-.8.2h-.8l-1 .2h-6.1l-1-.2-.8-.2-1-.2.2-1 1 .2.8.2h1l.8.2h6.6l.8-.3h.8l.7-.3.8-.2.7-.2.7-.3.7-.2.7-.2.8-.4.6-.3.7-.3.7-.4.6-.5.6-.5.5-.5.5-.5.6-.5.5-.6.7-.6.5-.7zm13.4-16.8h1l-.2.4-.2.2h-.2l-.3.3-.2.3-.3.2-.2.3-.3.3-.3.4-.3.3-.2.4-.4.5-.3.4-.3.3-.4.5-.3.5-.4.5-.5.6-.3.5-.4.5-.5.7-.5.6-.5.7-.5.7-.5.7-.5.6-.6.8-.6.8-.5.8-.6 1-.7.7-.7 1-.6.8-.8-.6.6-1 .7-1 .6-.7.7-1 .6-.7.6-.8.5-.7.5-.7.5-.7.5-.7.5-.8.5-.6.5-.6.4-.6.4-.6.4-.6.4-.5.4-.5.3-.5.3-.4.4-.5.3-.4.3-.4.3-.3.4-.3.3-.3.2-.2.3-.3.3-.2.4-.2h.2l.3-.2-.4.4zm1 0v.3h-.2l.2-.3z"/>
+        <path fill="#fff" d="M425.2 580.6l-11.8-5c-5 10-8.2 16.6-9.5 20.2-2.8 7-3.5 13.8-2.3 19.5a22 22 0 0014-11.6c3.8-7 6-15.3 9.5-23z"/>
+        <path fill="#21231e" d="M413.6 575.2l11.7 5-.3 1-11.8-5-.3-.8.6-.2zm-.7.2v-.4l.6.2-.7.2zm-8.7 20.6l-1-.4.2-.3.2-.4.2-.5v-.4l.2-.3.2-.5.2-.4.2-.5.2-.5.3-.5.2-.5.3-.6.2-.5.3-.6.3-.5.3-.7.2-.6.3-.6.3-.7.4-.8.3-.7.4-.8.2-.7.4-.8.4-.8.4-.8.4-.8.4-.8.4-1 .4-.8.5-.8.4-1 .8.5-.4.8-.5 1-.5.8-.4.8-.3 1-.4.7-.4 1-.5.7-.4.7-.3.8-.3.7-.4.6-.3.7-.3.7-.3.6-.2.7-.3.6-.3.5-.3.6-.3.6-.3.6-.2.5-.3.5-.3.5-.2.5-.2.4-.2.5v.5l-.2.4-.2.3v.3l-.3.4zm-2.7 18.8l.2 1-.6-.4v-.5l-.2-.7v-.6l-.2-.5v-1.7l-.2-.5v-3.7l.2-.6v-1.2l.2-.7v-.6l.2-.5v-.7l.2-.6.2-.7v-.6l.3-.8v-.6l.3-.7.2-.7.2-.7.2-.7.2-.7.2-.7 1 .4-.3.6v.7l-.4.6-.2.6-.2.6-.2.7v.5l-.3.6v.8l-.3.6v.6l-.2.7v.6l-.2.6v.5l-.2.6v1.9l-.2.5v3.5l.2.5v1.2l.2.5v.7l.2.5-.6-.4zm.2 1h-.5v-.4l.5.4zm13.5-12.4l1 .5-.5.6-.3.6-.4.6-.3.6-.4.6-.4.5-.5.6-.5.6-.4.5-.4.6-.5.4-.4.5-.5.4-.5.3-.4.4-.6.4-.5.4-.5.4-.5.3-.5.4-.5.3-.4.2-.5.2-.4.2-.5.2-.4.3h-.4l-.5.2-.5.2h-.5l-.4.3h-.5l-.2-1h.9l.4-.3h.4l.4-.3h.5l.4-.3.5-.2.4-.2.5-.2.5-.2.5-.3.5-.3.4-.3.4-.4.4-.3.5-.4.4-.4.4-.4.6-.4.4-.5.4-.4.5-.6.3-.4.4-.5.4-.6.5-.6.4-.5.2-.7.4-.6.4-.6.3-.6zM425 581l.3-.8.3.6-.3.7-.3.8-.3.7-.3.7-.3.8-.2.7-.3.7-.2.7-.3.7-.3.8-.3.7-.2.6-.3.8-.4.7-.3 1-.2.6-.2.7-.3.8-.3.8-.2.7-.3.7-.3.8-.3.7-.2.7-.3.7-.3.8-.3.7-.5.7-.3.7-.3.6-.5.6-.3.7-1-.6.5-.6.3-.7.3-.6.3-.6.4-.7.3-.6.3-.7.3-.7.2-.7.3-.7.2-.7.3-1 .3-.6.3-.7.3-.7v-.8l.4-.7.3-.7.3-.8.2-.7.3-.7.3-.8.3-.7.3-.7.3-.7.3-.7.2-1 .3-.6.3-.8.3-.7.4-.8.3-.8.3.7zm.3-.8l.5.2-.2.4-.3-.6z"/>
+        <path fill="#fff" d="M428.6 580.6l-12.7-2c-2.4 10.8-4 18-4.4 22-1 7.5 0 14 2.7 19.4 4.3-2.3 8.8-7 10.7-14.7 2-7.8 2.2-16.3 3.6-24.7z"/>
+        <path fill="#21231e" d="M416 578.2l12.6 2v1l-12.8-2-.4-.6.6-.4zm-.6.4v-.5l.6.2-.6.4zm-3.3 22h-1l.2-.5V599l.2-.6v-.5l.2-.6v-.5l.2-.6v-.6l.2-.5v-.6l.2-.6v-.6l.2-.6.2-.7v-.6l.3-.7v-.7l.2-.8v-.8l.3-.8.2-.8v-.8l.3-1 .2-.7.2-1 .2-.8.2-1 .2-1 .2-1 .2-1 1 .3-.2 1-.2 1-.2 1-.2 1-.2.8-.2 1-.2.7-.2 1-.2.7v.8l-.3.8-.2.8v.8l-.2.7v.6l-.2.7-.2.7v.6l-.2.6-.2.7v.4l-.2.6v.6l-.2.5v1.1l-.2.6v.4l-.2.4v1.2zm2 19l.5.8-.7-.2-.2-.5-.3-.5-.2-.5v-.6l-.3-.4-.2-.5-.2-.5-.2-.6v-.6l-.2-.6v-.6l-.3-.6v-.6l-.2-.6v-.6l-.2-.6v-2.8l-.2-.6v-5.4l.2-.7v-1.5h1v3.1l-.2.7v5.1l.2.6v1.2l.2.6v.6l.2.6v.6l.3.6v.5l.2.6v.7l.3.5v.5l.3.6.2.5.2.5.2.5.3.5.2.5-.7-.2zm.5.8l-.5.3-.2-.5.7.2zm10-15.2l1 .2-.2.7-.2.8v.7l-.3.7-.3.7-.2.5-.3.6-.4.7-.3.6-.3.6-.3.4-.3.6-.4.5-.3.5-.4.5-.4.5-.4.4-.4.5-.4.3-.4.4-.4.4-.4.5-.4.3-.4.4-.4.3-.4.3-.4.3-.4.4-.5.3-.4.3-.4.2-.5.2-.5-.8.4-.2.4-.3h.4l.4-.4.4-.3.4-.3.4-.3.4-.3.4-.3.4-.3.3-.3.4-.4.4-.4.5-.4.3-.4.4-.5.3-.4.4-.6.2-.5.3-.6.3-.5.3-.6.4-.6.3-.5.3-.6.2-.6.3-.5.2-.6.3-.8.2-.7.2-.6.2-.8zm4-25v1l.5-.5v.8l-.2.8v.7l-.2.8v.8l-.2.8v.8l-.2.8v.7l-.2.8v.8l-.2.8v1.7l-.2.7v.8l-.2.8v.8l-.2.8v.7l-.2.8v1l-.2.6v.8l-.2.8-.2.7v.7l-.2.7-.2.8v.7l-.3.7-.2.7-1-.2.2-.8.2-.7v-.7l.2-.8v-.7l.3-.7v-.8l.2-.8v-.7l.2-.8v-1.5l.2-.8v-.7l.2-.8v-1l.2-.7v-.7l.2-.8v-1.6l.2-.8v-.8l.2-.7v-1l.2-.7v-.8l.2-.8v-.8l.2-1v-.7l.3-.8.5-.4zm-.4.3v-.4h.5l-.4.5zm.5.6v-1 1z"/>
+        <path fill="#fff" d="M430.4 563.4h7.6c4.4 2 9 12.2 3.7 22a65.8 65.8 0 00-9.5 29.2c-7.4-6.8-10.8-14.7-8.2-23.3 3.4-11.7 6.8-25.2 6.4-28z"/>
+        <path fill="#21231e" d="M438 564h-7.6v-1h7.8l-.2 1zm0-1h.2-.2zm4 22.5l-.8-.5.5-1 .4-.8.4-.8.3-1 .3-.8.2-1v-.7l.3-1V574l-.2-1v-.6l-.3-.8-.2-.7-.3-.8-.2-.7-.3-.6-.3-.7-.3-.6-.3-.6-.3-.4-.3-.5-.4-.3-.4-.4-.3-.4-.4-.4-.5-.3-.4-.3-.3-.2.5-1 .4.4.5.2.5.4.4.4.4.4.4.4.4.5.4.6.3.6.3.6.3.6.3.7.2.7.3.7.2.6.2.8v.7l.3 1v.8l.2.8v3.5l-.2 1v1l-.4.8-.3 1-.3 1-.4.8-.4 1-.5 1zM432 615l.5-.7-.8.3v-.8l.2-1v-2.3l.3-1v-.7l.2-.8.2-1 .2-.8v-1l.2-.7.3-1 .2-.8.2-1 .2-.7.3-1 .3-.8.3-1 .4-1 .4-.8.4-1 .4-1 .4-1 .4-1 .5-1 .4-1 .5-1 .5-1 .5-1.2.6-1 .6-1.2 1 .5-.7 1-.6 1.2-.7 1-.5 1-.5 1.2-.5 1-.4 1-.5 1-.5.8-.4 1-.3 1-.3 1-.4.8-.3 1-.3.8-.2.8-.3 1-.4.8-.2.8-.2 1-.2.7-.2 1v.7l-.3.8v1l-.3.7v.8l-.2.8v1l-.2.7v1.8l-1 .2zm.7-.3v1l-.8-.7.7-.3zm-9.2-23.6l1 .4-.3.8-.2.8v.8l-.2.7v.8l-.2.8v3l.2.8.2.8v.7l.3.7.3.7.2.8.3.7.4.7.4.6.3.7.5.7.4.7.4.7.5.6.4.7.5.7.4.6.6.7.6.6.6.7.7.6.5.7-.6.7-.8-.6-.7-.7-.6-.7-.7-.6-.6-.7-.6-.7-.4-.7-.6-.7-.4-.7-.5-.8-.3-.7-.5-.7-.3-.8-.5-.7-.3-.7-.3-.8-.4-.7-.2-.7-.2-.8-.2-.7v-.8l-.2-.8v-.8l-.2-.8v-2.5l.2-.8v-.8l.3-.8.3-1 .2-.7zm7-28v1l.4-.7v1.8l-.2.5v1.1l-.2.7-.2.7v.8l-.3.8v.8l-.2 1-.2.8-.2 1-.3 1v1l-.4 1-.2 1-.3 1-.2 1-.2 1-.3 1.2-.3 1-.3 1.2-.3 1-.3 1.2-.3 1.2-.3 1-.3 1.2-.2 1-.4 1.2-1-.3.4-1 .3-1 .5-1.2.3-1 .3-1.2.4-1.2.3-1 .3-1.2.3-1 .3-1.2.3-1 .2-1 .2-1 .3-1.2.2-1 .2-1 .2-1 .2-.8.2-1 .2-.8.2-.8v-.8l.3-.7v-.8l.2-.7v-.6l.2-.6v-2l.4-.6zm-.6.5v-.6h.4l-.5.5zm.4 0v-.6.4zm-.5 0v-.6h.4l-.5.5z"/>
+        <path fill="#fff" d="M433.8 558.2l-12-4.3c-4.3 10-7.2 16.8-8.4 20.5-2.3 7.3-2.6 14-1 19.6a21.3 21.3 0 0014-11.6c3.3-7.3 4.5-16.3 7.4-24.2z"/>
+        <path fill="#21231e" d="M422 553.4l12 4.3-.4 1-12-4.4-.3-.6.6-.3zm-.7.3l.2-.4h.4l-.7.4zm-7.4 21l-1-.3v-.4l.2-.4v-.4l.3-.4v-.4l.3-.5.2-.5v-.5l.3-.5.2-.5.2-.6.3-.6.2-.5.2-.6.3-.6.2-.6.2-.6.3-.7.3-.6.3-.7.4-.7.3-.8.3-.8.3-.7.4-.8.3-1 .4-.8.3-1 .4-.8.5-1 .4-.8.3-1 1 .5-.5 1-.4 1-.4.8-.3 1-.4.8-.4.8-.4.8-.3.8-.4.8-.4.8-.3.7-.3.8-.3.8-.3.7-.3.6v.8l-.4.6-.2.6-.3.6v.6l-.3.6-.2.5-.2.5-.2.5v.5l-.3.5-.2.4v.5l-.3.4v.3l-.2.3v.4zm-1.8 19l.3 1-.6-.4-.3-.6v-.5l-.2-.6v-.5l-.2-.5v-.6l-.2-.7V583l.2-.7V581l.3-.6v-.7l.2-.6v-.6l.3-.6.2-.7v-.6l.3-.7.2-.6.2-.6 1 .3-.3.6-.2.7-.2.7-.2.6v.7l-.2.6v.7l-.2.6-.2.6v.6l-.2.6v1l-.2.7v6.5l.2.6v1.1l.2.4.2.6v.5l.2.5-.6-.3zm.3 1h-.5v-.4l.5.3zM426 582l.8.6-.3.6-.4.7-.2.5-.4.6-.4.7-.4.6-.4.5-.4.5-.4.5-.5.5-.5.5-.5.4-.4.4-.5.4-.4.4-.4.4-.5.3-.5.5-.5.3-.5.3-.5.4-.4.2-.5.3h-.5l-.5.4-.5.2-.5.2-.5.2h-.4l-.6.3-.4.2h-.5l-.3-.8.4-.2h.5l.5-.3.5-.2h.4l.5-.3.4-.2.4-.3.5-.2.5-.2.5-.3.4-.3.5-.3.5-.4.4-.3.6-.3.4-.4.5-.3.4-.4.4-.5.4-.4.4-.4.4-.4.4-.5.4-.5.4-.5.4-.5.4-.6.3-.6.3-.6.3-.6.3-.7zm7.6-23.4l.4-1 .3.7-.3.8-.3.8-.2.8-.3.7-.2.8-.2 1-.2.6-.2.8-.3.8v.8l-.3.7-.2.8-.2.8-.2.8v1l-.3.6-.2.8-.2.8-.2.8v.7l-.3.8-.2.8-.3.7-.2.8-.2.7-.3.8-.3.7-.2.7-.3.8-.3.7-.3.7-.2.6-1-.5.4-.5.3-.7.3-.7.3-.6.3-.7.3-.8.2-.8.2-.7.3-.8.2-.7.2-.8.2-.7v-.8l.4-.8.2-.8.2-.8.2-.8.2-.8.2-.7.2-.7.2-.8.2-.8.2-.8.2-1 .2-.6.2-.8.3-.8.3-.8.2-.7.3-.8.3-.8.3-.7.3.6zm.4-1l.4.3v.3l-.4-.6zm-.2.6l-.2.4.2-.4zm.2-.5l.4.2v.3l-.4-.6z"/>
+        <path fill="#fff" d="M425.6 549.7l-2.6-16.4c-2.8-.7-6.5 5.8-10 9.5-1 1-2 1.7-2.6 2.8a23.3 23.3 0 00-3.4 8 62.3 62.3 0 01-13 27.6c10.2-.2 18-3.8 21.8-12 5-11 7.7-17.7 9.8-19.5z"/>
+        <path fill="#21231e" d="M423.4 533.3l2.7 16.4h-1l-2.5-16.3.6-.6.4.5zm-.3-.4h.4v.2l-.3-.4zm-9.7 10.2l-.8-.7.4-.4.2-.2.3-.4.4-.4.2-.4.3-.4.4-.4.2-.5.3-.4.4-.5.2-.4.3-.3.4-.5.2-.4.3-.4.4-.3.2-.3.3-.4.3-.3.4-.3.3-.4.3-.2.3-.2.4-.2.4-.3h.3l.4-.3h.3l.4-.2h1.1l-.2 1h-1l-.3.2-.2.2-.3.2-.3.2-.3.2-.3.3v.4l-.5.3-.3.3-.3.3-.4.4-.3.4-.3.5-.4.4-.3.3-.3.4-.3.4-.4.5-.3.5-.3.4-.4.4-.3.4-.4.4-.3.4-.4.4-.4.4-.3.4zm-2.5 2.7l-.8-.7v-.2h.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l1 .6h-.2l-.2.2v.2h-.2v.2h-.2l-.2.2v.2h-.2l-.2.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.2h-.2zm-3.3 7.7l-1-.2v-.6l.2-.4v-.3l.2-.3v-.8l.2-.3v-.3l.2-.3v-.3h.2v-.4l.2-.3v-.2l.2-.2v-.2l.3-.3v-.2l.2-.2v-.2l.3-.2v-.3h.2v-.3l.3-.3v-.2l.3-.2v-.2l.2-.3.2-.2.8.6-.3.3v.2l-.2.2-.2.2v.4l-.2.2-.2.2v.3l-.2.3v.2l-.2.3-.2.2v.2l-.2.3v.2l-.2.3v.2l-.2.3v.2l-.2.3v.5l-.2.3v.2l-.2.3v.5l-.2.3v.7zm-13.4 27v1l-.3-.8.5-.8.5-.7.5-.6.5-.8.5-.7.5-.7.4-.6.6-.7.4-.7.5-.8.4-.7.4-.7.4-.8.4-.7.4-.7.4-.8.4-.8.4-.8.4-1 .4-1 .3-.8.3-1 .3-.8.4-1 .3-1 .4-1 .3-1 .3-1.2.3-1 .3-1.3.2-1.3.3-1.2 1 .2-.3 1.2-.3 1-.4 1.3-.3 1.2-.4 1-.4 1-.3 1.2-.4 1-.4 1-.4 1-.3 1-.5.8-.4 1-.3.8-.4.8-.4 1-.5.8-.4.8-.3.7-.5.8-.4.8-.5.8-.4.7-.6.7-.5.7-.5.7-.5.7-.5.8-.5.7-.5.6-.5.8-.5.7-.4-.8zm0 1h-1l.7-.8.4.7zm21.3-12.8l1 .4-.5.7-.4 1-.4.6-.4.7-.5.7-.4.6-.5.6-.5.6-.5.6-.6.5-.6.4-.6.5-.7.4-.6.4-.8.4-.7.4-.7.4-.7.3-.7.3-.8.3-.8.2-.8.2-1 .2-.7.2-1 .2-.7.2h-1l-.8.2h-1l-.8.2h-2v-1h2.8l1-.2h.8l.8-.2 1-.2h.7l1-.3.7-.2.7-.3.8-.2.7-.3.7-.3.7-.3.6-.3.7-.3.6-.4.7-.5.6-.4.6-.4.5-.4.6-.6.5-.5.5-.4.5-.6.5-.6.4-.7.5-.6.4-.6.3-.7.3-.8zm9.8-19.2h1v.3l-.3.3v.2l-.3.2-.2.2-.2.2-.2.3-.3.4-.2.2-.2.4v.4l-.4.5-.2.5-.3.5-.2.5-.3.6-.2.6-.3.6-.3.6-.4.7-.3.8-.3.8-.4.7-.3.8-.4 1-.4.7-.4 1-.4.8-.4 1-.4 1-.5.8-.3 1-.5 1-1-.4.6-1 .4-1 .5-1 .4-1 .5-1 .4-.8.3-1 .4-.7.4-.8.4-.8.4-1 .3-.6.4-.7.4-.7.3-.6.4-.7.3-.6.2-.4.2-.6.3-.5.2-.5.3-.4.2-.5.3-.3.2-.4.2-.3.2-.4.2-.3.2-.3.2-.2.3-.2.3-.2-.2.4zm1 0v.3-.3z"/>
+      </g>
+      <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#d"/>
+      <path fill="#fff" stroke="#21231e" d="M536.4 415a38 38 0 004.8-1.5 66.2 66.2 0 01-21.4-22c-7.8-12 3.3-33 8-44.3a53 53 0 0021.2-31c1-7.3-19-4.7-33 2-17 8-19.3 5.7-25.4 7-2.2 10.5 2.4 11.4 6.7 11-9.4 15-13.3 29.8-15 51.4-2-21.6-6-36.5-15.3-51.5 4.3.6 9-.3 6.7-10.7-6-1.4-8.4.8-25.4-7.2-14-6.5-34-9-33-1.8 3 13.7 11.8 24 21.3 31 4.6 11.2 15.7 32.4 8 44.2a67.3 67.3 0 01-21.5 22c1.7.7 3.3 1.2 5 1.5-1.2 1.5-11 4.5-12.3 3.7-7.6-5.3-15-18-21.4-25.2-18.2-20.8-27.3-36.7-24-49.6 4.5-14 20.8-29.6-.8-27-21.7 2.8-39.6 32.5-45.4 68.3-2 13.2-3.3 24.4-4.7 33.5 11.8-4.3 17-8.5 20.2-13.7-1.4 5-2.5 9.7-3.2 14.2 9.7-1.7 16.7-6.4 19.2-15 1-3.6 2.3-6.5 3.6-9 3 1 7 1 11.6 0 1.7 4 15 19 22.2 30 8 12.2 20.2 21.6 24.2 22 2 .4 2.7-4 2.2-10.2 21 .2 42.3.3 63-.4 20.7.7 41.8.6 63 .4-.6 6 0 10.6 2 10.3 4-.5 16.2-10 24.3-22.2 7-10.8 20.5-25.7 22.2-30a20 20 0 0011.6.2c1.3 2.5 2.5 5.4 3.5 9 2.5 8.6 9.5 13.3 19.2 15-.7-4.5-1.8-9-3.2-14 3.2 5 8.4 9.3 20.2 13.6-1.4-9-2.7-20.3-4.8-33.5-5.8-35.8-23.7-65.5-45.4-68.2-21.6-2.6-5.3 13-.7 27 3.3 12.8-5.8 28.7-24 49.5-6.5 7.3-13.8 20-21.4 25.2-1.2.8-11-2.2-12.2-3.8z"/>
+      <g id="e">
+        <path fill="#edb92e" d="M440.6 356.8c-2 1.8-8.8 1.8-18 2.4-14.8.5-23.4-4-25.3-13.5 5.6 6.6 12.2 10 19.7 8 10.2-2.5 16-4.3 18.3-3.8 1.6.4 4 3.3 5.3 6.8z"/>
+        <path fill="#21231e" d="M422.6 359.7v-1h1.8l.7-.2h2.5l.8-.2h2.8l.8-.2h3l.5-.2h1l.4-.2h.5l.4-.2h.4l.5-.2h.3l.3-.2h.4l.3-.2h.2v-.3h.3l.6.7h-.3l-.3.3-.3.2h-.2l-.3.3h-.4l-.3.2h-.4l-.4.2h-.5l-.5.2h-1l-.5.2h-1.5l-.6.2H432l-.6.2h-2.8l-.8.2h-2.3l-1 .2H423zm0 0zm-25-14.3l-.7.6.8-.4.2 1 .2.7.3.8.3 1 .3.6.5.7.4.7.4.6.5.6.4.6.6.6.6.5.6.4.7.5.6.3.8.5.8.4.8.3 1 .4.8.2 1 .3 1 .2 1 .2h1l1 .3h1.2l1.2.3h6.6v1H416l-1-.2h-1.3l-1-.3h-1.2l-1-.3-1-.3-1-.3-1-.2-1-.4-.8-.3-.8-.4-1-.4-.7-.5-.7-.5-.7-.5-.7-.6-.6-.5-.6-.6-.4-.8-.5-.7-.3-.7-.4-.8-.4-.7-.4-1-.3-.7-.3-1-.2-.8 1-.4zm19.3 8l.2 1h-.8l-.7.2h-1.4l-.7.2h-2.8l-.6-.2-.7-.2h-.7l-.6-.3h-.7l-.6-.3-.8-.3-.6-.3-.6-.2-.6-.3-.6-.4-.6-.3-.6-.4-.6-.4-.6-.6-.6-.4-.6-.5-.5-.6-.6-.6-.4-.6-.6-.5-.5-.6-.6-.7.7-.6.5.6.5.6.6.6.5.5.5.5.6.5.4.5.6.5.6.4.5.5.7.4.6.3.6.3.4.3.6.2.6.3.6.2.7.2h.5l.6.3.7.2h.6l.7.2h4.7l.6-.3h.7zm18.5-4l-.3 1h-2.6l-.4.2h-.9l-.5.2-.5.2h-.5l-.6.2h-.5l-.6.3h-.5l-.7.3-.7.2h-.6l-.7.3-.7.2-.8.2-.8.2h-.8l-.8.3-1 .3-.8.2-1 .2-.8.3-.3-1 1-.2.8-.2 1-.2.7-.2 1-.2.7-.2.8-.2.7-.2.8-.2.7-.2.7-.2.6-.2h.6l.6-.3h.6l.6-.3h.6l.5-.2h.6l.5-.2h.6l.4-.2h.9l.3-.2h2zm0 0zm5.4 7.8l-.7-.8-.2.6v-.7l-.3-.3v-.3l-.3-.3v-.3l-.3-.2v-.3l-.2-.2-.2-.3v-.3l-.3-.2-.2-.3v-.2l-.2-.2-.2-.3v-.2l-.3-.2h-.2v-.3h-.2l-.2-.3v-.2h-.3l-.2-.2v-.2h-.2v-.2h-.4v-.2h-.2l.3-1h.2l.2.2.2.2h.2l.2.2.2.2h.2v.3l.3.2.2.2h.2l.2.3v.2l.2.2.2.2.2.2.2.2.2.3v.2l.3.2.2.3.2.3v.3l.3.4.2.3v.3l.3.3v.3l.3.3v.3l.2.3v.6zm0-.6l.2.3-.3.2v-.6zm-21.5-35.4v1.5h-.4v-.4h-.2v-.7l.2-.2h.2v-.2h.2zm15.3 4l-.5 1.3-.6-.2-.5-.2h-.6l-.5-.2-.4-.2-.5-.2-.4-.2-.5-.2-.4-.2h-.5l-.4-.3-.5-.2h-.4l-.4-.3h-.5l-.4-.3h-.5l-.4-.2h-.4l-.5-.2h-.4l-.3-.2h-1.3l-.4-.2H420v-2h2.9l.5.2h1l.4.2h.5l.3.2.5.2h.5l.4.2.5.2h.5l.4.3h.6l.5.3.6.2h.5l.6.3.5.2.6.2h.5l.6.3.6.2.5.2.6.2h.5zm9 2.5v1.5H442l-.3-.2h-.4l-.3-.2h-.3l-.4-.2h-.3l-.4-.2h-.4l-.3-.2h-.5l-.3-.2-.4-.2h-.3l-.4-.2h-.2l-.3-.2h-.3l-.3-.3h-.7l-.2-.2h-.4l-.2-.2.4-1.5h.2l.2.2h.2l.2.2h.3v.2h.4l.3.2h.3l.3.2h.4l.3.2.3.2h.4l.3.2h.4l.3.2h.4l.4.2h.3l.4.2h.4l.3.2h.6l.3.2h1zm0 1.5v-1.5h.4v.2h.2v.2h.2v.9h-.2v.2h-.2v.2h-.2zm23.4 7.5l.2-1.2h.2v.2h.2v.8h-.6zm-10-2l.4-1.2h.5l.3.2h.4l.3.2h1.1l.2.2h.6l.2.2h.6l.3.2h.7l.4.2h.8l.3.2h.9l.2.2h.9l.5.2h.8l-.2 1.3h-.9l-.4-.2h-.6l-.4-.2h-.7l-.4-.2h-1.4l-.3-.2h-.7l-.3-.2h-.6l-.3-.2h-.5l-.4-.2h-.5l-.3-.2h-.5l-.2-.2h-.5l-.2-.2zm.4-1.2l-.3 1h-.2v-.8h.8z"/>
+        <path fill="#21231e" d="M431.5 332l-.7 1.3-.4-.3-.4-.2-.4-.3-.3-.2-.4-.3-.4-.3-.3-.3-.4-.3-.4-.2-.3-.4-.3-.3-.2-.3-.3-.3-.3-.4-.2-.3-.3-.4-.2-.3-.3-.4-.2-.4-.2-.3-.3-.5-.2-.4-.2-.2v-.4l-.3-.4-.2-.3-.2-.4-.2-.3v-.4l-.2-.3-.2-.3-.2-.4 1.4-.7.2.2.2.4v.3l.3.2.2.4.2.3v.3l.3.3.2.4.2.3.2.4v.3l.3.4.3.3.2.4.2.4.2.4.3.3.2.4.3.4.2.3.3.4.3.3.3.3.3.2.3.3.3.3.2.2.4.3.3.2.2.2.3.2zm7.6-5.3l1.5.8-.2.4-.2.3-.2.4-.2.4-.3.5-.3.4-.2.2-.3.4-.3.3-.3.2-.3.3-.3.3-.3.3-.2.4-.3.2-.3.2-.4.2-.3.2-.3.2h-.3l-.5.2h-.3l-.3.2h-2.2l-.4-.2-.3-.2h-.2l.7-1.5h.5l.2.2h1.7l.3-.2h.2l.3-.2h.2l.3-.3.2-.2.3-.2h.2l.3-.3.2-.3.3-.2.2-.3.3-.4.2-.3.3-.3.2-.4.2-.3.3-.4.2-.5.2-.4v-.3z"/>
+        <path fill="#21231e" d="M429.6 331l-2.2-2.3c-1-1.3-.5-3 2-5.4 1.5.7 3 1.3 4.2 2-1 3-2.2 4.8-4 5.6zm-6.3 82l-.4 1h-.4v-1h.8zm23.8-3.6l1 1-.7.5-.6.4-.7.5-.6.4-.7.5-.7.3-.7.4-.7.4-.7.4-1 .3-.6.3-.8.2-.7.2-1 .2-.7.2h-.8l-.8.2h-5l-1-.2h-.8l-.8-.3h-1l-.8-.4h-1l-.7-.3-1-.3-.8-.3.3-1 .8.2 1 .3 1 .3.7.2 1 .2.7.2h.8l1 .2h.7l.7.2h4.8l.7-.2h1l.6-.3.7-.2h.7l.7-.4.7-.3.7-.3.8-.3.6-.4.7-.4.7-.5.6-.5.6-.5.5-.5.6-.6zm3-2.8l1 .8h-.2v.2h-.2l-.2.2v.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2v.2h-.2l-1-.8h.2v-.2h.2v-.2h.2l.2-.2.2-.2.2-.2v-.2h.2v-.2h.2l.2-.2.2-.2.2-.2v-.2h.2l.2-.2.2-.2v-.2h.2zm1 .8l-1-.8.2-.2h.7v.2h.2v.8z"/>
+        <path fill="#21231e" d="M452.2 401.3l-1.2-.2v-.2h.2l.2-.2h.6v.4h.2v.2zm-5.5 16l.3 1-.7-.8.2-.4.2-.4.2-.5v-.4l.3-.4.2-.5.2-.5v-.5l.3-.4.2-.5.2-.5v-.5l.3-.5v-.5l.3-.5v-.5l.3-.5v-.5l.3-.5v-.5l.2-.5.2-.6v-.5l.2-.6v-.5l.2-.4v-.6l.2-.6v-.5l.2-.7v-.6l.2-.6 1.2.3v.6l-.2.5v.6l-.2.6v.6l-.2.6v.5l-.2.6-.2.4v.6l-.2.5v.6l-.3.6v.5l-.3.6v.6l-.3.5v.5l-.2.5-.2.5v.5l-.3.5-.2.5v.5l-.2.4-.2.5-.2.6-.2.5-.2.6-.2.5-.2.5-.2.5-.7-.8zm-.4.2l1 .5v.2h-.2v.2h-.4l-.2-.2v-.2h-.2v-.4zm15.2-9.5l1 .7-.3.4-.4.6-.3.4-.4.4-.2.4-.4.4-.4.4-.4.4-.4.3-.4.4-.5.3-.4.4-.6.3-.4.3-.5.3-.5.3-.5.3-.5.2-.5.3-.5.3-.6.2-.5.3-.7.2-.5.3-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.3-1.2.6-.2h.6l.5-.3.6-.2.6-.2.6-.2h.6l.5-.3.6-.3.4-.2.5-.2.4-.3.5-.2.4-.3.5-.3.4-.4.5-.3.3-.3.5-.3.4-.3.4-.3.4-.2.4-.4.4-.3.4-.3.4-.3.3-.4.3-.4.3-.4.3-.4.2-.4.3-.4zm1 .7l-1-.7h.2v-.2h.7v.2h.2v.7z"/>
+        <path fill="#21231e" d="M461.3 400.2H460v-.2h.2v-.2h1v.4zm4.4 15.7l.7 1-.8-.3-.3-.4-.3-.4-.2-.5-.3-.5-.2-.4-.3-.4-.2-.5-.3-.5-.2-.4-.2-.5v-.5l-.3-.5-.2-.5-.2-.5-.2-.5v-.5l-.2-.5-.2-.5v-.6l-.3-.5v-.5l-.3-.6v-.4l-.2-.6v-.6l-.2-.5v-.7l-.2-.6v-.6l-.2-.5v-1.2h1v.5l.2.6v.6l.2.5v1.4l.2.5.2.6v.5l.2.5v.6l.3.5v.4l.2.5.2.4v.5l.2.4.2.5.2.4.2.5.2.4.2.4.2.5.2.4.2.5.3.4.3.4.2.4.3.5.2.3.3.4.3.3h-1zm0 .7l1-.7v.8l-.2.2h-.2v.2h-.4v-.2h-.2zm7.6-12.6l1 .4v.6l-.2.5v.5l-.2.5-.2.5-.2.5-.2.5-.2.5-.2.4-.2.4-.2.4-.3.5v.4l-.4.4-.2.5-.3.4v.3l-.4.3-.3.4-.3.4-.2.3-.3.3-.3.4-.3.3-.4.3-.3.3-.3.3-.3.2-.3.3-.3.4-.3.2-.3.3-.7-1 .3-.3.3-.2.3-.3.3-.2.2-.3.3-.3.2-.2.3-.3.3-.4.3-.3.2-.4.3-.4.4-.3.2-.4.3-.4v-.4l.4-.3.2-.5.3-.4v-.3l.3-.4.2-.4.2-.6.2-.4v-.5l.3-.4.2-.4.2-.5v-.4l.3-.5v-.4l.3-.5zm1 .4l-1-.3v-.2h.8v.2h.2v.4z"/>
+        <path fill="#edb92e" d="M406 317.8c-16.7 1.8-16 12.6-.4 28 3 3 4 3 4.6-.2 1.2-5.3 7-8.5 10.2-4.4 2 2.7 1.6 4.3 8.6 3.3 9 7.5 16.2 12.8 4.5 12.3-5-.2-9 2.8-15.7 2.5 2 4 2.3 4.3 3.4 4.6 6.5 1.2 13.3-2.8 19.8-1.6 14.3 2.6-23-38.6-22.4-40.3 1-4-9-11.5-12.7-4.2z"/>
+        <path fill="#21231e" d="M406 345.5l-.7.7-1.4-1.5-1.5-1.4-1.2-1.4-1.2-1.4-1-1.3-1-1.3-.8-1.3-.8-1.2-.8-1.2-.6-1.2-.5-1-.5-1.2-.3-1-.3-1v-1l-.2-1v-1l.2-1 .2-.8.4-.8.4-.8.6-.7.6-.7.8-.6.8-.6 1-.5 1-.5 1-.4 1.4-.4 1.3-.3 1.3-.2 1.6-.2v1l-1.5.2-1.4.2-1.2.3-1.2.3-1 .4-1 .5-1 .4-.6.5-.7.7-.6.6-.4.6-.4.6-.4.7-.2.8-.2 1v1.7l.2.8.2 1 .4 1 .4 1 .5 1 .5 1.3.7 1 .8 1.3 1 1.4.8 1.2 1 1.3 1.2 1.3 1.2 1.3 1.4 1.4 1.4 1.5zm3.8 0l1 .2v.3l-.2.3v.5l-.2.2v.2l-.2.2v.2l-.2.2-.3.3v.2h-.3l-.2.2H408l-.2-.2h-.2l-.2-.2h-.2l-.2-.3-.2-.2h-.2l-.3-.4h-.2l-.2-.3-.3-.3-.2-.2.7-.7.2.2.3.3.2.2.3.2.2.2.2.2h.2l.2.2.2.2h.3v.2h.6l.2-.2v-.2l.2-.2v-.2l.2-.4v-.4l.2-.3zm11-4.6l-.8.5-.3-.4h-.3l-.3-.4-.2-.2-.3-.2h-.3l-.3-.2h-.5l-.3-.2h-1.5l-.3.2-.4.2h-.2l-.4.3-.3.2-.2.2-.4.2-.3.2-.2.3-.3.3-.2.4-.3.3-.2.4-.3.5-.2.4-.2.3v.5l-.2.4v.5l-1-.2v-.5l.2-.5.2-.5.2-.5.3-.5.2-.4.2-.4.3-.4.3-.4.3-.4.4-.3.4-.3.4-.3.4-.2.3-.2.3-.2.5-.2h.4l.4-.2h.4l.4-.2h1l.4.2h.6l.4.3.4.3.3.2.4.3.4.5.4.4zm8.6 3.2l-.7.7h.4-.5l-.6.2h-4.5l-.2-.2h-.3l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2h-.2v-.3l-.3-.3v-.2l-.3-.2v-.2h-.3l-.2-.3-.2-.3v-.2l-.3-.2v-.3l-.3-.2.8-.6h.2v.4l.3.2.2.3.3.3v.2l.2.2.2.2.2.2.2.2.2.2h.2v.2h.3l.2.2h.2l.2.2h5.4zm-.4 0l.2-.2.2.2h-.4zm4.5 13v-1h4.1l.5-.2h.4l.3-.3h.2v-1l-.2-.3-.2-.4-.3-.5-.4-.4-.5-.4-.4-.4-.4-.5-.6-.5-.6-.6-.6-.6-.7-.5-.6-.6-.7-.7-.7-.7-.8-.6-.8-.7-.8-.7-1-.7.8-.8.8.7.8.5.8.7.8.7.7.5.8.6.8.7.7.6.6.6.7.4.6.6.5.5.5.5.4.5.4.4.4.4.3.4.2.4v2.3l-.4.3-.3.2-.4.3-.6.2h-.6l-.7.2h-3.6zm-15.2 2l-1 .4.5-.8h3.4l.6-.2h.5l.5-.2h.5l.5-.2h.5l.4-.2h.5l.5-.2.4-.2h.6l.4-.2.5-.2h.4l.4-.2h.5l.3-.2h.5l.4-.2h.5l.5-.2h2.6v1H431l-.4.2h-.9l-.4.3h-.8l-.4.2h-.5l-.4.3h-.6l-.5.2h-.5l-.5.3h-.5l-.5.2h-.5l-.5.2h-.5l-.6.2h-.6l-.6.2h-3l.5-.7zm-1 .4l-.3-.8h.8l-.4.8zm4 4l-.2.8h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.3-.2-.2-.3-.3-.2-.2v-.2h-.2v-.4l-.3-.2v-.3h-.3v-.4l-.3-.3v-.4l-.3-.4 1-.5v.5l.2.3.2.3v.4l.3.3.2.2v.2l.3.2v.2l.2.2v.2h.2v.3l.2.2v.2l.2.2h.2v.2h.4v.2h.4zm-.2.8zm20-2.5v1l-.7-.2h-4.7l-.6.2h-.7l-.6.2h-.7l-.6.2-.6.2h-.6l-.6.2h-.7l-.7.3-.6.2h-.6l-.6.2h-.6l-.6.2h-4.6l-.6-.2.3-1 .6.2h4.8l.6-.2h.6l.5-.2h.6l.7-.2.7-.2h.6l.6-.2.6-.2h.7l.5-.2h.6l.7-.2h.7l.6-.2h4.9zm-23-40l1 .3.3.3.5.7.6.8.8 1.2 1 1.2 1 1.3 1 1.5 1.3 1.5 1.3 1.7 1.4 1.8 1.4 1.8 1.5 1.8 1.5 2 1.5 1.8 1.4 2 1.4 2 1.3 1.7 1.3 2 1.2 1.7 1 1.7 1 1.6.8 1.5.6 1.4.4 1.3.3 1.2v2l-.6.7-.8.5H441v-1h2l.4-.3.3-.4V360l-.3-1.2-.4-1.2-.6-1.3-.8-1.5-1-1.6-1-1.7-1-1.8-1.3-1.8-1.4-2-1.4-2-1.4-1.8-1.5-2-1.4-1.8-1.5-1.8-1.4-1.8-1.3-1.8-1.3-1.6-1.2-1.6-1-1.5-1.2-1.3-1-1.2-.7-1-.6-1-.5-.7-.3-.4v-.6zm-12-3.7v-1l-.5.2.4-.6.3-.7.5-.6.5-.4.5-.3.6-.3.5-.2.5-.2h2.6l.6.2.6.2.5.3.6.2.6.3.4.4.5.2.4.4.4.4.5.5.4.4.3.4.3.4.3.5.2.5.2.5v.5l.2.5v1l-1-.3v-1l-.2-.4v-.4l-.3-.4-.2-.4-.3-.4-.3-.4-.5-.4-.3-.4-.5-.4-.4-.4-.5-.3-.4-.3-.5-.3h-.7l-.5-.3-.5-.2h-.5l-.6-.2h-2l-.4.3-.5.2-.4.3-.5.5-.4.4-.3.4-.3.6-.4.3zm.4-.3l-.2.2h-.2l.4-.2zm-.5-.2v.5-.5zm.4.2l-.2.2h-.2l.4-.2z"/>
+        <path fill="#21231e" d="M407 317.2l-1.3.4v-.6h.2v-.2h.8v.2h.2v.2zm7.6 10.6l-.8 1-.4-.4-.3-.4-.3-.3-.3-.3-.4-.3-.3-.2-.3-.4-.3-.3-.2-.2-.3-.4-.3-.3-.3-.2-.4-.4-.3-.3-.2-.2-.2-.4-.2-.3-.3-.3-.2-.3v-.4l-.4-.3-.2-.4-.2-.4-.2-.4-.2-.4v-.4l-.3-.3-.2-.4v-.3l-.3-.3v-.4l-.3-.4 1.2-.4v.7l.3.3v.3l.3.4v.3l.3.4v.3l.3.4.2.3.2.3.2.4v.3l.3.3.2.4.3.3.2.3.3.4.2.3.3.3.3.3.4.4.2.3.3.3.2.3.3.3.4.2.2.3.3.3.4.4.2.3.4.3zm-.8 1l.8-1v.2h.2v.7h-.4v.2h-.7zm-9.5-4.6c.8 0 1.3.7 1.2 1.5s-.8 1.3-1.5 1.2c-.8-.2-1.3-.8-1.2-1.6s.8-1.3 1.5-1.2zm-45.9 38.4h.2v-.2h.4v.2h.2v.2l.2.2v.4h-.2l-.8-.8zm-22.7 56l.2-1V416l.4-1.5.3-1.5.4-1.7.6-1.8.5-2 .7-2 .6-2 .6-2 .6-2.2.8-2.2.7-2.2 1-2 .7-2.3 1-2.3.7-2.2 1-2.2.8-2 1-2.2.8-2 1-2 .8-2 1-1.7.8-1.5 1-1.6.7-1.5 1-1.3.7-1.2.8-1 .8-.8.8-.6.7 1-.6.5-.7.8-.7 1-.8 1-1 1.3-.7 1.5-1 1.5-.7 1.7-1 1.7-.8 2-1 1.8-.8 2-1 2-.8 2.3-1 2-.7 2.3-1 2.3-.7 2.3-.8 2.2-.7 2.2-.8 2.2-.6 2-.6 2-.6 2.2-.6 2-.5 1.8-.4 1.8-.4 1.6-.5 1.6-.2 1.4-.2 1.3v1H336zm5.6 80.5l-.7-2-.7-2-.7-2.2-.6-2.2-.6-2.2-.4-2.4-.4-2.3-.5-2.4-.4-2.5-.3-2.4-.3-2.5-.3-2.7-.2-2.6-.3-2.6-.2-2.5-.2-2.6v-3l-.2-2.7v-18.5l.3-2.7v-2.5l.2-2.6v-2.7l.3-2.6.2-2.5.2-2.5h1.2l-.3 2.6-.2 2.5-.2 2.6-.2 2.6v2.6l-.2 2.6v2.6l-.2 2.7v18.8l.2 2.6v2.6l.3 2.6.3 2.6.3 2.6.3 2.5.2 2.5.3 2.5.4 2.4.3 2.5.5 2.3.5 2.3.5 2.3.6 2.2.6 2 .7 2.2.7 2-1 .4zm1-.4v.8h-.8v-.2l1-.6z"/>
+      </g>
+      <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#e"/>
+      <path fill="#21231e" d="M473 398.4h-.2v.5h-.2v.8l.2.7v1.6l.2.8.2.8v.7l.3.8v.8l.3.7.2.8.3.7.2.7.2.7.3.7.3.8.3.7.3.7.2.7.3.6.4.6.2.7.4.5.4.7.4.7.4.5.5.6.4.8.5.6.4.6.5.6.6.6.2.2h.8v-.2l.6-.6.5-.6.5-.6.4-.6.5-.7.5-.5.4-.6.3-.8.4-.6.3-.7.4-.8.4-.6.3-.7.4-.8.3-.7.3-.7.3-.7.3-.6.2-.7.3-.7.3-.7.2-.8v-.7l.3-.7.2-.7v-.7l.3-.8v-1.4l.2-.8v-2.1h-1v.4l-.2 1v1.4l-.2.7v.7l-.2.7-.2.7v.8l-.3.7-.2.7-.2.7v.6l-.3.7-.3.7-.2.7-.3.7-.4.6-.2.7-.4.7-.3.6-.3.7-.4.6-.4.7-.3.6-.4.6-.5.6-.4.6-.4.7-.4.7-.4.6-.5.6h-.2l-.5-.7-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.3-.7-.4-.6-.4-.7-.3-.6-.3-.7-.4-.7-.2-.6-.3-.7-.2-.7-.2-.7-.2-.7-.2-.7-.2-.8-.2-.7-.2-.7v-.7l-.3-.6v-.8l-.2-.7v-2.3l-.2-.8v-.4h-.2v-.2h-.5z"/>
+    </g>
+    <g transform="translate(-32 32) scale(.53333)">
+      <path fill="#c6363c" d="M549.2 422v108.6a72 72 0 01-19.7 49.8 65 65 0 01-94.7.1 72.9 72.9 0 01-19.7-49.8V422h134.2z"/>
+      <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 -90)" xlink:href="#f"/>
+      <path fill="#fff" stroke="#21231e" d="M549.2 488.6v28h-53v83a63.8 63.8 0 01-14 1.5 59 59 0 01-14-1.5v-83h-53v-28h53V422h28v66.6h53z"/>
+      <use width="1350" height="900" transform="translate(0 -90)" xlink:href="#f"/>
+      <path id="f" fill="#fff" stroke="#21231e" d="M459 567.3V528c-8.4-2.3-29.3-10.6-30.3 7.6-.5 8.4 10.4 14 13.3 6.5 1.4-3.4 0-6-2-6.7-2.4-.8-4.6 1-4 3.6-8.8-4.7 8-14.6 15.5-1.7 2.2 3.7-3.7 7.6-3.7 10.4 0 2.7 5.8 7 3.7 10.3-7.7 12.8-24.3 3-15.5-1.6-.6 2.7 1.6 4.5 4 3.6 2-.8 3.4-3.3 2-6.8-3-7.5-13.8-2-13.3 6.5 1 18.2 22 10 30.4 7.6z"/>
+      <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#f"/>
+      <path fill="#21231e" d="M414 421v113.3l.2 1.7v2l.4 1.7.2 1.8.3 1.7.4 1.8.3 1.8.4 1.7.6 1.7.5 1.7.6 1.5.6 1.7.5 1.6.7 1.6.7 1.6.7 1.6.8 1.6.8 1.5.8 1.5 1 1.5.8 1.5 1 1.4.8 1.4 1 1.4 1 1.4 1 1.3 1 1.5 1.2 1.2 1 1.3 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1 1.3 1.3 1 1 1.4 1 1.3 1 1.4 1 1.5 1 1.4 1 1.3.8 1.4.8 1.5.8 1.4.8 1.6.7 1.5.6 1.5.7 1.5.6 1.6.5 1.6.5 1.5.5 1.6.5 1.8.4 1.6.4 1.7.4 1.8.2 1.7.3 1.7.2h1.7l1.6.2h8.9l1.7-.3 1.8-.3 1.7-.3 1.7-.2 1.7-.4 1.5-.4 1.7-.4 1.6-.5 1.6-.5 1.6-.5 1.5-.6 1.6-.7 1.6-.7 1.6-.7 1.5-.8 1.4-.8 1.6-.8 1.4-1 1.5-.7 1.4-1 1.2-1 1.4-1 1.3-1 1.2-1 1.3-1 1.2-1.3 1.2-1 1-1.3 1.3-1.2 1.2-1.2 1-1.3 1.2-1.2 1-1.4 1-1.2 1-1.4 1-1.4 1-1.4 1-1.4.7-1.5 1-1.5.7-1.5.8-1.5.8-1.6.7-1.6.6-1.6.6-1.6.6-1.6.5-1.7.5-1.6.5-1.8.4-1.7.6-1.7.3-1.8.2-1.8.3-1.7.3-1.8v-.9l.3-2 .2-1.7V421H414zm2.3 2.2H548V536l-.3 1.6-.2 1.8-.2 1.7-.3 1.8-.3 1.7-.4 1.7-.3 1.7-.5 1.5-.4 1.7-.4 1.6-.5 1.6-.5 1.6-.6 1.5-.8 1.6-.7 1.6-.7 1.5-.7 1.6-.7 1.4-.8 1.5-.8 1.4-1 1.3-.8 1.4-1 1.3-1 1.3-1 1.3-1 1.3-1 1.2-1.2 1.2-1 1.2-1.2 1-1.2 1.3-1.2 1-1.2 1-1.2 1-1.3 1-1.2 1-1.4 1-1.4 1-1.3.8-1.4 1-1.5.7-1.4.8-1.3.7-1.5.8-1.5.6-1.4.7-1.5.7-1.6.5-1.5.6-1.5.5-1.6.4-1.6.4-1.6.5-1.6.3-1.6.3-1.7.4H489l-1.8.3h-1.7l-1.6.2h-3.6l-1.6-.2H477l-1.6-.3h-1.6l-1.7-.4-1.5-.2-1.6-.3-1.7-.4-1.6-.3-1.6-.4-1.4-.5-1.6-.6-1.5-.5-1.5-.6-1.5-.6-1.4-.6-1.4-.8-1.4-.7-1.4-.8-1.4-.8-1.4-1-1.3-.7-1.4-1-1.3-1-1.2-1-1.3-1-1.2-1-1.2-1-1-1-1.3-1.3-1-1-1.2-1.3-1-1.2-1-1.3-1.2-1.4-1-1.3-1-1.3-1-1.3-.8-1.4-.8-1.4-1-1.5-.7-1.5-.8-1.4-.7-1.5-.8-1.4-.6-1.5-.6-1.5-.6-1.5-.5-1.6-.6-1.6-.5-1.6-.5-1.7-.4-1.6-.4-1.8-.4-1.7-.3-1.7-.3-1.7-.2-1.6-.2-1.8-.2-1.7v-5.4z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ru.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ru.svg
new file mode 100644
index 0000000..d643087
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ru.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ru" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#0039a6" d="M0 170.7h512V512H0z"/>
+    <path fill="#d52b1e" d="M0 341.3h512V512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/rw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/rw.svg
new file mode 100644
index 0000000..26e41f6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/rw.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-rw" viewBox="0 0 512 512">
+  <path fill="#20603d" d="M0 0h512v512H0z"/>
+  <path fill="#fad201" d="M0 0h512v384H0z"/>
+  <path fill="#00a1de" d="M0 0h512v256H0z"/>
+  <g transform="translate(374.4 133.8) scale(.7111)">
+    <g id="b">
+      <path id="a" fill="#e5be01" d="M116.1 0L35.7 4.7l76.4 25.4-78.8-16.3L100.6 58l-72-36.2L82 82.1 21.9 28.6l36.2 72-44.3-67.3L30 112 4.7 35.7 0 116.1-1-1z"/>
+      <use width="100%" height="100%" transform="scale(1 -1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#b"/>
+    <circle r="34.3" fill="#e5be01" stroke="#00a1de" stroke-width="3.4"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sa.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sa.svg
new file mode 100644
index 0000000..1cc41b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sa.svg
@@ -0,0 +1,26 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sa" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M124 0h496v496H124z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-128) scale(1.0321)">
+    <path fill="#199d00" d="M0 0h744v496H0z"/>
+    <path fill="#fff" d="M187.5 140.6c-.8 11.6-1.9 32 8 34.1 11.9 1.1 5.3-20.2 9.6-24 .9-2 2.4-2 2.5.5v18c-.1 6 3.7 7.6 6.7 8.9 3.2-.3 5.2-.2 6.5 2.8l1.4 31.3s7.3 2 7.6-17.6c.4-11.5-2.3-21.2-.7-23.4 0-2.2 2.8-2.3 4.8-1.3 3.1 2.2 4.5 5 9.3 3.8 7.4-2 11.8-5.6 12-11.2a51 51 0 00-3.4-16.1c.3-1-1.5-3.5-1.1-4.5 1.3 2 3.3 1.9 3.8 0-1.3-4.2-3.2-8.1-6.4-9.8-2.6-2.3-6.4-1.8-7.8 3a26 26 0 006 17.3 17 17 0 011.5 8.7c-2.1 1.3-4.2.7-6-1.1 0 0-5.9-4.5-5.9-5.4 1.6-10 .4-11.1-.5-13.9-.6-3.8-2.4-5-3.9-7.6-1.5-1.6-3.4-1.6-4.4 0-2.6 4.5-1.4 14.1.5 18.4 1.4 4 3.4 6.5 2.4 6.5-.8 2.2-2.4 1.7-3.6-.9a61.2 61.2 0 01-2.1-16.9c-.5-4.5-1-14-4-16.4-1.8-2.4-4.5-1.2-5.4 1a80 80 0 00.3 13c2 7 2.6 13.4 3.6 20.7.3 9.8-5.7 4.3-5.4-.6 1.4-6.3 1-16.3-.2-18.8-1-2.5-2.1-3.1-4.4-2.7-2-.2-6.7 5-8 13.8 0 0-1.2 4.5-1.7 8.4-.7 4.5-3.6 7.7-5.7-.6-1.8-6-2.9-20.9-5.9-17.4z"/>
+    <path fill="#fff" d="M219.9 188.2l-31 14.9c.3-7 14.7-19.8 24.5-20 6.4.2 4.8 2.5 6.5 5z"/>
+    <path fill="#fff" d="M214.5 197.9c-16.4 42.1 38.2 48 44.3 1.7.6-1.9 3-3.8 3.3-.7-1.3 42-42.2 44.8-49.2 31.6-1.7-3-2.2-10-2.4-14.2-1-8.2-5.4-5-6 3.2-.7 4.5-.6 5.8-.6 10.2 2.2 33 55 18.8 63.6-8.5 4.5-15.1-.8-26.3 1.7-26.3 5.2 5.7 12.6.8 14.2-1.2.7-1 2.4-1.6 3.6-.3 4 3 11.3 1.5 12.8-3.6.8-5.1 1.5-10.3 1.7-15.7-3.3 1-5.8 1.7-6 3l-.7 4.6c-.3 1.4-3.2 1.5-3.3-.4-1.3-5.7-6.5-6.5-9.7 2.4-2.1 1.8-6 2-6.4-.5.5-6-1.9-6.8-6.7-4l-4.7-35c2 0 3.9 1.4 5.7-.9-2-6.3-6.3-19-8.6-20-1.2-1.4-2.1-.5-3.6-.2-2.6.8-5 3-4.2 7.3l8 50.2c.4 2.1-1.4 5-3.7 4.7-3.9-2.7-4.9-8-11.5-7.8-4.9 0-10.4 5.3-11 10.4-.9 4-1.2 8.4 0 11.9 3.3 4 7.4 3.7 11 2.7 2.9-1.2 5.3-4.1 6.4-3.4.7.9.1 10.5-13.9 18-8.4 3.8-15.2 4.6-18.8-2.3-2.2-4.3.2-20.7-5.3-17z"/>
+    <path fill="#fff" d="M283.8 155c3.3-1.1 18.8-19 18.8-19l-2.3-1.8c-.9-.8-.8-1.5 0-2.3 3.8-2.2 2.6-7.2.6-9.4a9.4 9.4 0 00-8.4 0c-2.7 2.7-3.3 6.8-1.2 9.4 2 1 4.2 3 2.8 4.2-6.4 6.8-23.8 18.5-21.8 19 .4.5 11.2.5 11.5 0zm-93.9 63c-5.8 9.3-6.3 23.2-3 27.3 1.6 2 4.4 2.8 6.5 2.2 3.7-1.6 5.3-9 4.4-11.7-1.2-2-2.2-2.2-3.4-.6-2.6 5.2-3.7 1.6-3.9-1.3-.4-5.5.1-10.7.7-14.7.7-4.1 0-2.9-1.3-1.2zM439 203c-5.6-12.1-13.4-24.1-15.9-28.7a541 541 0 00-24-34.9c-6-7.2 9.9 3-2-11.3-4.5-4-4.8-4.1-8.6-7.3-1.9-1.4-6.5-3.8-7.3.2a23.5 23.5 0 00.4 8.6c.4 2 3.3 5.3 4.8 7.3 19 25.5 35.9 51.4 52.1 83.8 2.6-1.2 2-15.6.5-17.7z"/>
+    <path fill="#fff" d="M414.3 243.7c-1.1 1.3 2.7 6.6 7.7 6.6 8.4-1 15.7-5.7 22.5-18 1.8-3 5-9 5.1-13.9.7-28-1.4-49.8-5.6-70-.2-2 0-4.4.3-5 .5-.6 2.3 0 3.3-1.5 1.4-1.5-3.8-13.6-6.7-18.2-1.1-2.1-1.5-3.5-3.2.2-1.9 3-3 8.3-3 13.2 4 27.6 5.3 51.8 7.9 79.3.2 2.7-.2 6.6-2 8.1a77.8 77.8 0 01-26.3 19.2zm112.8-.1c-6 3.4-6 7.4-1.1 7.6 8.3-1 18.2-1.7 25-12 1.8-2.9 4-10.7 4.1-15.4.6-28-.4-49-4.6-69.2-.2-2-1.1-6.5-.8-7.1.6-1.4 3.3.1 4.3-1.5 1.4-1.4-7-12.3-10-17-1.1-2-1.5-3.4-3.2.3-1.9 3-2.5 8.4-1.8 13.1 4.5 30 7.8 52.5 8.4 79-.3 2.6-.4 4-1.6 7.1-2.6 3.4-5.5 7.6-8.3 9.6-2.7 2-8.5 4-10.4 5.5z"/>
+    <path fill="#fff" d="M531.6 216.7v-18.3a33 33 0 00-3-13.2c-1.8-4-.7-7.1-1.5-11.4-.8-4.2-.6-10.6-1.8-15.6-.4-2-1.4-8.2-1-8.8.4-1.4 2.3 0 3.2-1.6 1.4-1.5-4.8-17.5-7.9-22-1.1-2-3.1-1.4-5.7 2-2.3 2.1-1.4 7.1-.5 11.8 6 31.3 10.4 59.7 9.5 89.4-.3 2.6 8.8-7.5 8.7-12.3zm-44.3-38.8c-3.7 0-11.6-7.4-14-11.6a7.8 7.8 0 01.5-6.2c1.4-1 3.6-2 5.2-1 0 0 1.6 2.4 1.3 2.7 2 1 3 .4 3.2-.5.1-1.4-.7-2.3-.7-4 1-4.3 6-5 7.8-2.2 1.4 1.7 1.9 5.3 2.1 7.8 0 1.2-2-.3-3.2 0-1.1.4-1.4 1.7-1.5 2.9-.2 3.2-.6 8.3-.7 12zm-69.6 46.6c1-9.6-.3-26.5-.4-32.1-.4-13.3-2.6-39-3.6-43.2-1.2-8.1 3.3.9 2.7-3.8-1.5-8-6-13.6-11.2-21-1.7-2.3-1.6-2.8-4.3.6-2.8 6.6-.3 11.1.4 16.2 3.8 16.7 6 32 7 47.2a381.2 381.2 0 01.4 47.5c2.9.2 7.5-4.6 9-11.4z"/>
+    <path fill="#fff" d="M544.5 209.2c-6.7-11.1-16.7-23.2-19.4-27.7a639.2 639.2 0 00-28.2-36.7c-8.3-8.7 3.8-1.4-1.6-8.1-4.6-5-6-6.6-9.8-9.6-2-1.3-3.2-3.7-3.8.4-.3 3.6-.5 7.8-.3 10.9 0 1.7 1.8 4.8 3.3 6.7 20 24.7 42 50 59.7 81.7 2.5-1.4 1.7-15.6 0-17.6z"/>
+    <path fill="#1ba400" d="M242.8 188.6c-.5.9-1.6 2-1.2 3 .8 1 1.4 1.3 2.6 1.4 1 0 2.6.2 2.9-.4a3.2 3.2 0 00.5-3.2c-1-2.8-4.2-1.8-4.8-.8z"/>
+    <path fill="#fff" d="M467.2 351.3c8.9.3 14.7.4 22.6 1.3l9.2-1c10.3-1 10.8 14.7 10.8 14.7-.1 9.2-3.7 9.6-8.2 10.6-2.6.4-4-1.5-5.3-3.5-1.7.7-4 .8-6.9.4-3.7-.2-7.4-.2-11-.5-4-.3-6.1.5-10 .1-.9 1.3-2 3-4.3 2.5-2-.2-4.4-5.9-3.7-10.1 1.4-3.1 1-2.1.9-3.5-36.4-.9-73-2.5-108.7-2-28 0-55.5 1.2-83 2.4-14.7-.2-26-2.6-33.7-14 .7 0 37.5 2.2 48.2 1.5 20-.3 38.1-1.9 58.4-2.5 40 .7 79.5.7 119.5 3.5-3.8-2.6-4-8.8 2-10.3.4-.3.7 3 1.6 3 4.6-.3 2.6 6 1.6 7.4zM306.8 131c-6 17.3 3.4 36.2 10 34.4 4.8 2 7.8-7.1 9.8-17 1.3-2.8 2.3-3.1 3-1.7-.2 13.2 1 16.1 4.4 20.1a11 11 0 0014.3.3l5.9-6c1.3-1.3 3-1.4 4.9-.2 1.8 1.7 1.5 4.5 5.4 6.5 3.2 1.3 10.2.3 11.8-2.5 2.1-3.7 2.7-5 3.7-6.4 1.5-2 4.1-1.2 4.1-.5-.2 1.1-1.7 2.3-.7 4.3 1.8 1.4 2.3.5 3.4.2 3.8-1.8 6.7-10.2 6.7-10.2.1-3-1.6-2.8-2.7-2.2l-3 2.1c-2 .3-5.6 1.5-7.4-1.3-1.8-3.3-1.9-8-3.3-11.4 0-.2-2.4-5.3-.1-5.6 1.1.2 3.6.8 4-1.2 1.2-2-2.6-7.7-5.2-10.6-2.2-2.4-5.4-2.7-8.4-.2-2 2-1.8 4-2.2 6.1a9.6 9.6 0 002 8.4c2.1 4.1 6 9.4 4.7 17 0 0-2.3 3.5-6.2 3-1.6-.4-4.2-1-5.6-11.4-1-7.9.2-18.9-3.1-24-1.2-3.2-2-6.2-5-.8-.8 2-4.2 5.2-1.8 11.8a35 35 0 012 18.3c-1.4 2.1-1.7 2.9-3.6 5-2.5 2.7-5.3 2-7.4 1-2-1.3-3.6-2-4.5-6.3.2-6.8.5-17.9-.7-20.3-1.8-3.6-4.8-2.3-6.1-1.2a46.3 46.3 0 00-11.2 22.9c-1.7 5.5-3.5 4-4.8 1.7-3.1-3-3.3-25.9-7.1-22.1z"/>
+    <path fill="#fff" d="M325 168.7c2.8-2 1.5-3.3 5.6.8a69.8 69.8 0 019 30.3c-.3 2.5 1.5 4 2.3 3.5.4-5.8 14.7-14 27.7-15.2 2-.4 1-4.2 1.3-6.2-.8-7.2 4-13.8 10.9-14.3 9.2 1.4 12.3 6.3 12.5 13.8-1 14.5-16.1 17-24.6 18-1.3.6-1.8 1.2 0 1.9l35.5.1 1.8 1c.2 1-.5.2-2 2.5s-3.4 7.7-3.5 11.2a173 173 0 01-32.6 6.2c-3.8 2-5.7 4.6-5 7.5 1.3 3.3 9.9 6.5 9.9 6.7 1.6 1 3.5 3.4-.5 8.2-17.3-.7-30.7-8.1-35.3-18.5-1.4-1-3 0-3.9 1.4a54.7 54.7 0 01-24.9 20.7c-6.9 1.7-13.9-1-17.2-5.5-2.2-2.6-2.1-5.4-3-6-3.7 1.6-35.6 15.2-31.5 8.9 7.7-8.4 21.2-14.5 33-22.7 1-2.7 2.5-12 7.2-15 .2 0-.8 5.4-.7 7.7 0 1.9-.1 2.6.3 2.1.8-.5 15.2-11.8 16.3-15.3 1.4-2 .4-7 .4-7.2-2.6-7-6.4-7.5-7.8-11-1.3-4.6-.7-9.8 1.9-11.3 2.3-2.1 5-1.9 7.6.4 3 2.6 5.5 7.7 6.3 11.5-.5 1.5-3.8-1-5-.2 2 2 3 4.5 3.7 7.5 2 8 1.3 11-.5 16.2-6.4 13.4-14.6 17.5-21.8 22.4-.2.1-.3 3.5 2.4 5.3 1 1 4.7 1.4 9 0a52.8 52.8 0 0021.7-22.6c1.3-7.2-.5-14.8-2.4-21.4a252.7 252.7 0 01-6-16c-.2-4 .1-5.4 2-7.4zm-92.8-37.4c4 1.9 11.7 1 11.4-5.5l-.2-3.1c-.8-2-3.1-1.5-3.6.6-.2.6.3 1.7-.3 2-.4.3-1.7.1-1.6-1.7 0-.6-.4-1.2-.7-1.6-.3-.1-.4-.2-.9-.2-.6 0-.5.2-.9.7l-.3 1.5c0 .7-.3.9-.8 1-.5 0-.4 0-.8-.2-.3-.3-.6-.4-.6-.9l-.2-1.6a2 2 0 00-1-.6c-2.3 0-2.4 2.6-2.3 3.6-.2.1-.3 4.7 2.8 6z"/>
+    <path fill="#fff" d="M351.8 181.9c4 2 13.8.8 11.4-5.5l-.2-3c-.8-2-3-1.5-3.6.5-.1.6.3 1.7-.3 2-.3.4-1.6.2-1.6-1.6 0-.6-.4-1.2-.7-1.6-.2-.2-.4-.2-.9-.2s-.5.1-.8.6l-.3 1.5c-.1.7-.4 1-.8 1-.6 0-.4 0-.9-.2-.2-.3-.6-.4-.6-.9s0-1.3-.2-1.6c-.2-.3-.6-.4-1-.5-2.2 0-2.4 2.5-2.3 3.5-.1.2-.2 4.7 2.8 6zm69.8-21c4 2 11.7 1.1 11.4-5.4l-.2-3.1c-.8-2-3.1-1.5-3.6.5-.2.7.3 1.7-.3 2-.4.4-1.7.2-1.6-1.6 0-.6-.5-1.2-.7-1.6-.3-.1-.4-.2-1-.2-.5 0-.5.2-.8.7l-.3 1.5c0 .6-.3.9-.8 1-.5 0-.4 0-.8-.3-.3-.2-.6-.4-.6-.8 0-.5-.1-1.3-.3-1.7-.2-.3-.5-.4-1-.5-2.2 0-2.3 2.6-2.2 3.5-.2.2-.3 4.8 2.8 6zm36 52.7c-7 8-3.9 21.2-2.3 24 2.4 4.8 4.2 7.8 8.8 10.1 4.2 3 7.4 1.1 9.2-1 4.2-4.3 4.2-15.4 6.2-17.6 1.4-4 4.8-3.3 6.5-1.5a16 16 0 006 5.1c3.9 3.4 8.5 4 13.1 1 3.1-1.8 5.2-4.1 7-8.6 2-5.5 1-30.7.5-45.6-.1-1.2-4-20.6-4-20.8 0-.2-.6-9.9-1-12.2 0-.9-.3-1.2.7-1 1 .8 1.2.9 1.8 1.2 1 .2 2-1.6 1.4-3.3l-9.8-18c-.7-.7-1.7-1.5-3 .3a7 7 0 00-2.4 5.3c.3 4.3 1 8.6 1.3 12.9l4 21.8c1.2 15.6 1.5 28.3 2.7 44-.2 6.5-2.2 12.3-4.2 13 0 0-2.9 1.8-4.8 0-1.5-.7-7.2-9.6-7.2-9.6-3-2.7-4.8-2-7 0-5.6 5.5-8.2 15.9-12.1 23-1 1.6-3.9 3-7-.1-8-11-3.3-26.4-4.3-22.4zm-34.2-90.9c3.7 1.5 6.2 9 5.4 12.6-.7 4.4-2.7 9.3-4 8.6-1.6-.5 1-4.4-.5-8.5-.8-2.6-5.8-7.5-5.3-8.9-1-3 2.2-4.3 4.4-3.8z"/>
+    <path fill="#fff" d="M469.5 218c.7-9-.6-14.4-.8-19.6-.2-5.2-6-45-7-49-1.5-7.5 5.5-1 4.7-5.4-2.4-5.5-8.3-13.5-10.2-18.2-1.1-2-.7-3.9-3.2-.6a41 41 0 00-2.2 18.6c6 31.3 12.1 57.3 11.1 87.1 2.9 0 6.2-6.5 7.6-13zm62.4-82.7c3.4 1.7 5.3 11 5 13.6-.7 4.9-2.5 10-3.8 9.4-1.3-.6.3-7.2-.4-9.2-.7-2.9-5.2-8.1-4.8-9.7-.9-3.2 2-4.6 4-4zm-247.7 65.8c3.2 1.3 5 8 4.7 10-.6 3.6-2.3 7.4-3.5 7-1.3-.5.2-5.3-.4-6.8-.3-3.7-4.7-5.6-4.6-7.1-.8-3 1.9-3.5 3.8-3z"/>
+    <path fill="#1b9d00" d="M361.3 211.4c4 .2 6.1 3.5 2.3 4.8-3.8 1.3-7.5 2.3-7.5 7.8 1.4 7.7-2 5-4 4-2.3-1.7-8.9-5.7-9.8-14.5-.1-2 1.5-3.8 4.1-3.8 4 1 9.8 1.2 14.8 1.7z"/>
+    <path fill="#fff" d="M199 120.5c4.7 1.4 5 8.3 4.6 10.4-.6 3.7-2.3 7.6-3.5 7.1-1.3-.4 0-5.4-.6-7-.7-2.2-4.7-6.2-4.2-7.4-1-2.4 1.8-3.5 3.7-3zm92.9 32.6c-3.6 2-5 7.8-2.8 11.2 2.1 3 5.4 1.9 5.9 1.9 3.5.4 5.6-6.7 5.6-6.7s.1-2-4 1.8c-1.8.3-2-.3-2.5-1.3a8.7 8.7 0 01.6-5.6c.6-1.7-.8-2.5-2.8-1.3zm27-35.3c-1.7 1.3-5.4 5-5.5 9.3 0 2.4-.5 2.4 1 4 1.2 1.6 2.4 1.5 4.7.3a5 5 0 002.2-3.3c.6-2.8-2.9 1.3-3.3-1.8-.8-2.8 1.4-4 3.5-6.8 0-1.9 0-3.2-2.5-1.7zm21.9 4a56.9 56.9 0 00-1.6 10.7c-.6 2.7 2.8 3.8 4.4.3 2.3-6.3 2.3-9 2.5-11.7-.7-4-3.5-4-5.3.6zm137.5 69.9c.4-.5 19.4-14 19.4-14 1.9-.6 1.5 7 .6 7a75.3 75.3 0 01-20 13.9c-1 .6-1.9-5.2 0-7zm17.2-.1c3.3 1.6 4.7 11.4 4.3 14 .1 5.2-3.2 9.3-4.5 8.6-1.4-.6.1-6.4-.5-8.4-.7-2.9-3.6-8.3-3.1-9.8-1-3.3 1.8-5 3.8-4.4zm-112.4 42c1.3-2 5.3-4.7 5.4-4.7 1.9-1 3.7.7 3.6.6.3 1.9-1.2 3.6-.7 6.1.4 1 .7 2.1 2.6 1.7 3-2.3 5.8-2.5 8.8-2.7 2.3.2 2.3 4 .9 4.1-5.6 1.2-8 2.7-12 4.2-1.9 1.1-3.5-.3-3.5-.4s-1-1.1-.3-3.6c.1-2-.7-3-2.3-2.8-1.3.6-2.4 1-3-.4-.3-1-.3-1.5.5-2.1zm132.3 5.2c.8 1 1.4 2 0 3.7l-3.6 3c-.7 1.2-1 2.8.9 3.3 3.5 1 11.7-4.3 11.7-4.4 1.3-1 .9-2.9.7-2.9-.7-.9-2.5-.4-3.6-.5-.6 0-2.4-.3-1.6-1.9.8-1 1-1.6 1.5-2.9.6-1.2.1-2-1.9-2.7-2-.3-2.8-.1-5 0-1.3.3-1.7.8-2 2.3.2 2.2 1.5 2.1 3 3z"/>
+    <path fill="#259f00" d="M383.8 183.8c-.5 1-2.3.9-4 0s-2.5-2.5-2-3.4 2.3-.9 4 0 2.5 2.5 2 3.4zM297.5 132c-1 .3-2.3-.6-2.9-2s-.3-2.5.7-2.8 2.3.7 2.9 2 .3 2.6-.7 2.8z"/>
+    <path fill="#209000" d="M468.2 363.3c9 .4 17.6.1 26.6.6 1.7 1.3.5 4.8-.6 4.5l-7.6-.2c0-2.9-7.5-2.4-7.2.1-4 .5-7.6-.1-11.6-.3-1.2-1.5-1-4.1.4-4.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sb.svg
new file mode 100644
index 0000000..f61bafd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sb.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sb" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="scale(1.0321)">
+    <path fill="#0000d6" d="M0 491.4L956.7 0H0v491.4z"/>
+    <path fill="#006000" d="M992.1 0L26.3 496h965.8V0z"/>
+    <path fill="#fc0" d="M992.2 0H939L0 470.3V496h53.1l939-469.4V0z"/>
+    <path fill="#fff" d="M39 96.1l11.6-33.3-30.2-20.6h37.3L69.2 8.8l11.5 33.4h37.2L87.8 62.8 99.3 96 69.2 75.5zm185.2 0l11.6-33.3-30.2-20.6h37.3l11.5-33.4 11.5 33.4H303l-30 20.6L284.5 96l-30.1-20.6zm0 140l11.6-33.3-30.2-20.6h37.3l11.5-33.4 11.5 33.4H303l-30 20.6 11.6 33.3-30.1-20.6zm-92-69.2l11.5-33.3-30.1-20.6h37.2l11.5-33.3 11.5 33.3h37.3l-30.2 20.6 11.5 33.3-30-20.6zM39 236.1l11.6-33.3-30.2-20.6h37.3l11.5-33.4 11.5 33.4h37.2l-30.1 20.6L99.3 236l-30.1-20.6z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sc.svg
new file mode 100644
index 0000000..65d8943
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sc.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sc" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="scale(1 1.0321)">
+    <path fill="red" d="M0 0h992.1v496H0z"/>
+    <path fill="#090" d="M0 496l992.1-165.3v165.4H0z"/>
+    <path fill="#fff" d="M0 496l992.1-330.6v165.3L0 496.1z"/>
+    <path fill="#009" d="M0 496V0h330.7L0 496z"/>
+    <path fill="#ff0" d="M0 496L330.7 0h330.7L0 496z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sd.svg
new file mode 100644
index 0000000..72a7297
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sd.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sd" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="scale(1.0321)">
+    <path d="M0 330.7h992.1v165.4H0z"/>
+    <path fill="#fff" d="M0 165.3h992.1v165.4H0z"/>
+    <path fill="red" d="M0 0h992.9v165.4H0z"/>
+    <path fill="#009a00" d="M0 0v496l330.7-248L0 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/se.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/se.svg
new file mode 100644
index 0000000..e824395
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/se.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-se" viewBox="0 0 512 512">
+  <path fill="#066aa7" d="M0 0h512v512H0z"/>
+  <path fill="#fecc00" d="M0 204.8h512v102.4H0z"/>
+  <path fill="#fecc00" d="M134 0h102.4v512H134z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sg.svg
new file mode 100644
index 0000000..1444e5b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sg.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sg" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M27.7 0h708.6v708.7H27.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-20) scale(.72249)">
+    <path fill="#fff" d="M0 0h1063v708.7H0z"/>
+    <path fill="#df0000" d="M0 0h1063v354.3H0z"/>
+    <path fill="#fff" d="M245.2 59.4a124.6 124.6 0 001.1 243.9 126.9 126.9 0 11-1.1-243.9z"/>
+    <path fill="#fff" d="M202 162.4l-18.9-13.8 23.5-.2 7.2-22.3 7.5 22.3h23.4l-18.8 14 7.2 22.3L214 171l-19 13.8zm26 76.9l-19-13.8 23.5-.2 7.3-22.3 7.4 22.2h23.5l-19 14 7.3 22.3-19-13.6-19 13.8zm86.3-.6l-19-13.8 23.4-.2 7.3-22.3 7.4 22.3H357l-18.9 14 7.3 22.3-19.1-13.7-19 13.8zm25.7-76.2l-19-13.8 23.5-.2 7.2-22.3 7.5 22.2h23.4l-18.8 14 7.2 22.3-19.1-13.6-19 13.8zM271.7 112l-19-13.8 23.5-.2 7.3-22.3 7.4 22.3h23.5l-19 14 7.3 22.2-19-13.6-19 13.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sh.svg
new file mode 100644
index 0000000..599a09d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sh.svg
@@ -0,0 +1,81 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sh" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <path fill="#006" d="M1024 512V0H0v512h1024z"/>
+    <path fill="#fff" d="M0 85.3h108L0 31V0h61.8l151 75.3V0h85v75.3L449 0h62.4v31L402.7 85.4h108.6v85.3H402.7l108.6 54.2V256h-62.4l-151-75.3V256h-85v-75.3L61.7 256H0v-31l108-54.3H0V85.3z"/>
+    <path fill="#ce1126" d="M471 0L300.5 85.3h40.9L511.3 0H471zm40.3 256L341 170.5h41l129.2 65v20.3zM171 85.2L0-.1v20.4l129.8 65H171zm-.4 85.3L0 255.9h40.8l170.7-85.3h-40.9z"/>
+    <path fill="#ce1126" d="M0 103h231V0h50v103h230.3v50H280.9v103h-50V153H0v-50z"/>
+    <path fill="#8fc5ff" stroke="#fff" d="M399.7 640.8c0 16.3-2.6 33.9-23.8 42.3-21.1-8.4-23.7-26-23.8-42.3h47.6z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#366cc9" stroke="#000" d="M375.9 683a34.3 34.3 0 0018.8-16h-2c-.6-.1-20.3-2-22.7-3-2-.7-9.8.7-13.4 2a34 34 0 0019.3 17z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#5d3100" stroke="#000" stroke-width=".1" d="M361.1 673h1.2c.3 0 .3 0 .4-.3s.4-.2.6-.1.6 0 .8-.2c.2-.2.2-.2.4 0s.3.1.5 0c.1 0 .5-.2.6-.5s.4-.4.5-.2.3.2.5.2.2.1.2.4c0 .2 0 .3.5-.1.4.4.5.2.5-.2s0-2-.2-2.1-.3-.8-.4-1.3c0-1 0-1-1-1.5 0-.3-.2-.4-1-.4.1-.1 0-.4-.2-.5s-.2-.2 0-.6c.2 0 .6 0 .7-.3.2-.2.8-.2 1.2 0s.8.2 1.5 0l1.2-.6c.5-.3.6-.4.6-.8 0-1-.3-2-.5-2.5-.3-.5-.3-1-.7-1.9-.4-.8-.4-1-.8-1.5-.2-.2-.3-.3-.3-.6a1.5 1.5 0 00-.5-1c-.8-.7-1-3-1.4-4.7-.2-1 0-3.3-.4-3.7-.7-.5-1-.4-1.5-.6-.4-.5-.5-1.4-.9-2.3-.5.1-.8.6-1.1.8s-.4.2-.4.7c0 .4-.3 1-.7 1.8s-1.3.5-2 1.6c-1.4-1.7-1.4-2.2-1.5-2.7 0-.5-.3-.6-1.1-1.3v-1.5c-.7-.5-1.1-.4-1.4 0-.3.3-.5.8-1 1-.2.4-1 1.2-1.6 2.3.6 9 2.6 18 8.7 25.2z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#ff0" stroke="#fff" d="M399.7 640.8c0-6.2-.3-12.2-.2-17.4a63.6 63.6 0 00-23.6-4.3c-5.3 0-15.7.8-23.6 4.3.2 5.2-.2 11.2-.2 17.4h47.6z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#cf6200" d="M264.3 312.1c1.2 2 3.6 5.6 3.8 7.5 1-1.8 1.6-2.7 1.8-3.8s1.6-3.4 1-4.6-.8-2.2.6-1.3c1.4.9 1.1 2.4.8 4.7-.8 6.3-3.5 7.6-3.9 11.9 3.8 8.9 1 12.1 5.1 20.8.7.4 2.4-.3 2.9-.1 2.2-1.6 3.8-1 6.9-.4 3 .7 4.7 2.8 4.7 4.8s0 2.4.7 3.6 2 3 1.6 4.2c-.2 1.3.3 2 .7 2.7s-.1 2-.5 3-.3 2 1.3 4c1.5 1.9 5.1 10 5.1 14.7s.3 7 2.2 7.9c2 .9 2.6 1.6 2.3 3.7s.9 12.7 1.2 14.4.9 1.3 1.6 2.2c.8.9 1.3 1.9 3.9 1.9s5-.4 6.7 0c2.3 3.1 3.7 7.5 4.2 10.2s.5 6.4 1.4 6.4 1.8.1 1.5-3.2-.5-3.9-1.6-5.6c-1.2-1.6-1.8-2.4-1.2-3.4s.8-2.7.5-4-.6-3.2 1.6-.7l3.5 4.1c.7 1 .9 2.6.7 4.2-.1 1.5.2 2.1 1 1.4 1-.8 2.1.5 1.6 2.2s.1 2.7 1.7 3.2 2.2.9 2.5 2 1.7 1.7 1.7-.6-.9-7.2-1.5-8.8c-.7-1.5-1.2-4.8-1.3-6.8s-.5-2.4-1.4-2.8-1.7-1-1.8-2-1-1.1-1.5-1.1-1.1-.5-1.4-1.1-.7-.7-1.3-.8-1.7.3-2-.7-.8-2.5-1.4-3.4-1.2-1-1.3-4c0-2.8-.1-3.2-1-4.2s-2.5-3.8-3.1-5c-.6-1-1.3-2.2-1.3.2s0 3.7 1.5 4.6c1.6 1 2 1 1.3 2.2s0 2.2.3 3.1.8 1.8 0 2.7c-.8.9-1.6.6-1.4-.8a8 8 0 00-1-4.2c-.7-1.2-1.2-2-2-1.3s-1.4-.1-.9-.6.4-1 0-1.3-.5-.8.2-1.6.6-1.1.2-3c-.4-1.7-3.2-10.7-4.5-12.8s-1.1-3.6.5-1.5 3.1 3.8 3.2 5.5c.2 1.7.6 2.7 1 3.4s1 .3 1.2-1 1.3-1-.5-3.7-5.1-7.2-6.4-15.3-1.8-13.5-3.1-15.6c-1.3-2.2-1.7-2.7-1.8-4.8s0-4.1-1-5.6-1.4-1.8-1.6.5c-.1 2.3.2 7.4.8 8.3s.3 3.2.1 4.5-2.1 2.6 2 5.2c1.8 1 1.5 2.4 1.2 3.3-.2.9-.5.8-1.4-.6-.9-1.5-1.8-2.6-2.7-3.4s-1-1.3-.9-3 .5-3.1 0-3.8c-.5-.6-.7-.1-1 1-.3 1-.5 3.8-1 4.5s-.8.3-1.2-1.4.1-4.2 1-7.2 1.5-6 .7-9.9c-.8-3.8-.4-5-3.4-8.2-3-3.2-6.2-6.3-7.7-10.3-1.4-4-1.6-7.4-3.2-9.2a21.1 21.1 0 00-5.1-4.8v-5.9c0-1.4-.7-2.3-2.3-2s-2.7 1.6-3.7 3.6c-1 1.9-1.8 1-3.3 4.3s-3.4 5-3.4 8.6z"/>
+    <path fill="#cf6200" d="M273.6 349.8c1 .7 2 1 3.5.3s3.4-3 5.5-.8c2 2.2 3.2 5.8 3.2 8.6s0 8.1 3.2 11c3.2 3 4.9 6 5 10 .1 3.8 1.5 9.7 2 11.3.3 1.5 1.2 3.3 2.2 4.3s1.8 4 2 7c0 3.2-.4 5.4 0 6.9s0 2.8-1.2 2-1.4-1.1-2-2.4-1.5-1-.8 1 2.5 3.6 4.2 3.6 2.2.3 3.2 1.3 1.2 1.6 3 1.6 2 0 3.7.5 1.7.2 2.6 0 1.8.5 2.4 2.2 2.2 6.3 2.2 7.5 0 2.6.9 3.9.6 2.6-.4 1.8-1-.5-1.8-.4-1.3-.2-2.3-.9c-1-.6-.4-.5-1.4-2s-1.7-2.1-1.7-1-.1 2.6-.9 2-1.1-.7-1.8 0-.9 1.1-1.7-.1-1.6-1.3-2.4-1.6-.8-.2-1.1-1.4c-.4-1.2-1.6-1.4-2.6-1.4s-1.6-.5-1.7-1.3c-.1-.8-.8-1.3-1.3-1.7s-.2-1.3-.4-2.2-.9-.5-1.4-.7-.9-.1-.9-1.4-.5-1.7-.9-2.6c-.3-1 0-1.8.3-2.8.2-1 .1-1.7-.6-2.6-.8-.9-.2-1.8-2.2-3.6s-3.1-.3-3.8-4.5c-.6-4.2-1.9-13-3-14.4s-2-2.4-3.1-2.8-2-.1-2-2.6c-.2-2.4-1-5.5-2.5-7l-3-2.7c-.8-.6-1-1.8 0-4s.7-5.2.5-6.6c-.1-1.4-.5-3.2-.2-4.7s.1-3.5-.3-4.5-.9-1.3-.2-2zm31-36.5a27.9 27.9 0 01-6 5.8c-2.5 1.7-5.6 3-3.9 6 1.8 2.9 3.1 3.2 3.5 5.5.3 2.2.8 4 2.5 4.6 1.8.5 2.4.2 2.4 3.8s0 5 1.6 6.3 1.4 2.7 2 6c.7 3.3.7 10.3 2.8 15s6.7 14 6.2 15.8-1.2 3.3.8 5.5 3.4 5.5 3.6 7.4c.2 1.9.5 2.6 2.6 1.9 2-.7 3-1.4 3.7-2.3.7-.8 2-.6 4 .4 1.9 1 4.8 2 6.5 1 1.7-1 2.6-2.6 4.1-2.6 2.4-1.7 3.3-5.3 3.8-6.3s.1-1-.9-2-.5-2.8-.7-4.5c-.1-1.7-.8-4.3-2.9-8-2-3.8-3.2-8.5-4.6-9.7-1.4-1.2-2-4-2.2-5.4-.2-1.4-1.8-2.6-2.8-3.6-1-1-2-2.6-3.2-8.6-1.2-6-2-10.3-2-11.3s-.3-1.2-1.3-1.5-1.5-2.1-1.2-3c.3-.8-.3-1.7-.7-2.7s0-2.9.7-4c.7-1 .5-3.9-.2-6.3s-1.3-4.4-4-4.8c-2.8-.3-3.3-1-4.4-3.2-1-2.3-2-6.2-2.4-7-.3-1-.8-1-2.9.6-2 1.7-2.7 2.3-2.7 5.5 0 2 .3 2.8 1 4 .7 1.2.9 1.5 1.4 4.8s3.4 8.3-.4 11.3-3.2 3.6-3 5.6c.1 2-1 3.4-1.7.5s0-4.6 2-6c2-1.3 4-3 2.6-5-1.4-1.8-1.9-6.3-2-8.3s-.6-2.8-1.8-1.2z"/>
+    <path fill="#00b800" d="M274 357c-.1 1.3.2 2.9.3 4 .1 1.5.5 4.5-.5 6.6-1 2.2-.8 3.4 0 4v.1a3 3 0 001.9-4.1c-.6-1.3-.4-2.7.3-3.9.6-1.2.6-1.9 0-2.7-.6-.9-.6-.9.1-3.3.6-2.1-.9-2.1-2.1-.8zm22 33.2c-.5-1.6-1.9-7.5-2-11.4a14 14 0 00-5-9.9c-2.5-2.2-3-6-3.2-8.8-1.9-1.2-2.7-.7-2.5 1.5.1 2.3 2.5 3.4 2.1 6.7-.3 3.4-.3 2.5 1.3 4.2s2.2 3.1 1.4 3.8c-.9.7-1 1.9.2 2.3 1.2.5 1.3 1.7 1.1 3-.1 1.1 1 1.4 1.7 2.2.6 1 .7 3 0 4.2-.6 1.2-.7 3 .5 2s1.7 0 2.6 1.6c.8 1.4 1.5 1 2.4.5a10.8 10.8 0 01-.7-2zm16.6 29.9c-.8 1.5-1.7 1-2.4.2s-1.7-.8-1.3-2.2.2-1.6-.8-2.4a7.7 7.7 0 00-.3-.2h-1.2c-1.8 0-2-.6-3-1.6a8.6 8.6 0 00-.6-.6v1c0 1.4 0 1.1-1.4 1.5s-1.2-1.4-1.5-2.6a4.3 4.3 0 00-.2-.6c-1.5-.3-3.2-2-3.7-3.7-.7-2 .1-2.2.7-1s1 1.8 2.1 2.5 1.5-.5 1.1-2a6.5 6.5 0 010-1.7c-.4-.5-.7-1-1.2-1.2-2-.9-1.5-1.1-1.3-2.8.1-1.6-.3-1.6-1.6-.8-1.3 1-1.4 0-1.4-2.7 0-2.5-1.7-2.5-2-.7-.4 1.8-1 .6-1.8-2s-1.8-3.2-2-.7c0 2-.6 2.5-2 1.4l.6 4c.7 4.2 1.7 2.7 3.8 4.5s1.4 2.7 2.1 3.6c.8.9 1 1.5.7 2.5-.3 1-.7 2-.3 2.9.4.9 1 1.3 1 2.5s.3 1.2.8 1.5c.3.1.8 0 1 .2l1-1.4c1.6-1.5 4 .1 4.7 2s1.7 2.5 2.8 1 .8-1.3 2 0 1.9 1.2 1.9 1.2 1.3-.5 2.2.3 1.4.6 3-1.8c1.7-2.4-.7-1.7-1.5-.1zm4.6-70.5c.5-3.8.1-7.6 1.7-9 1.5-1.3 3.4-4 3.2 1.8-.1 5.8-.3 5.5-1.5 6.8-1.2 1.4-2.2 1.7-1 4 1.2 2.2 1.3 2.4 1.2 5.8-.2 3.4-.2 4.8 1.2 6.5 1.3 1.7 1.7 1.9 2 3.8.4 1.8 1.5 4.4 3 5.8s3.3 5.3 3.5 8c.2 2.8 2.6 3.5 4.8 5.3 2.2 2-.5 3.3-2.2 2.5-1.7-1-1 0-2 1.1-1 1.2-1.4 1.4-2.3-.6s-3.8-3.5-5.1-4-2.6-2.7-3.8-5c-1-1.9-3-3.3-5-3.4.6 1.4.9 2.6.7 3.1-.5 1.9-1.2 3.3.9 5.5 2 2.2 3.4 5.5 3.6 7.4.1 1.8.5 2.5 2.5 1.8 2.1-.7 3.1-1.3 3.8-2.2.7-.8 2-.7 4 .4 1.8 1 4.7 2 6.4 1 1.8-1 2.6-2.6 4.2-2.6 2.4-1.7 3.2-5.3 3.7-6.3s.2-1-.8-2-.5-2.8-.7-4.5c-.2-1.8-.9-4.3-3-8-2-3.9-3.2-8.5-4.5-9.7-1.4-1.2-2-4-2.3-5.5-.1-1.3-1.7-2.5-2.7-3.6-1-1-2-2.5-3.3-8.5l-1.9-10.2c-1.2 2-2 2.4-2.5 1.1-.5-1.5-1.2-2.4-1.9-1.4s-.9-.8-.9-1.7c0-.8-.1-1-1-1-.8 0-.2-1.4-.5-4-.3-2.5-.9-2.9-1.2.2-.3 3.1-2 5-1.4 5.7.7.7.4 2-.3 4-.7 2.1-.4 3.3.2 4.7s-.4 4-.7 6.2c-.4 2.2 1.3 4.4 1.9.7zm-31.3-30.8c-1.3.1-2.2 1.2-1.4 5.1.4 2.4-1.4 1.9-2 .7-.8-1.2-1.3-3.8-2.7-6-1.3-2.2-.7 1.5-.8 3.6-.2 2 1.2 2 2.4 3.8s.1 2.4-1.2 2.4-.7 2.7-.4 4.6-.3 2.2-1.3.7c-1-1.6-.4-4-.2-6.9.2-2.9.3-2.2-1.6-2.9-1.8-.7-1.5-1-.8-2.7.7-1.7 1.4-2.6.5-3.5-.9-.8-.7-1.3.7-1.5 1.4-.2.8-1.2 2-1.6 1.2-.3 1.8.2 2-2 0-1.9.7-3 2-2.4 1 2.8 2 7.3 2.8 8.6zM303 339c0 3.6 0 5 1.6 6.3s1.3 2.8 2 6c.7 3.3.7 10.3 2.8 15l2.3 5.2a9.6 9.6 0 002.5-3.2c.5-1.2-1-3.6-2.3-5.7-1.2-2 .2-2.7 1.4-5.3 1.2-2.6-.2-2.7-2-3.4-2-.7-2-2.4-3-5.2s-.8-3.9-.1-5.4c.6-1.6.1-2.8-1.2-3.1-1.4-.4-1-1.4-.6-3.1.6-1.7.9-2-1.2-1.6-1.5.4-1.9.7-2.4 1.3.2.5.2 1.2.2 2.2z"/>
+    <path fill="#5d3100" d="M322.9 346.1c-.2 2.1-.2 3.1-.7 3.8-.5.7-.2 1.7.3 2.8s.9 2.4.4 4.2.3 3.5 1.3 4 1.6 0 1.2 2.4a7.4 7.4 0 002.2 6c1.2 1 2.1 2.7 2 3.7-.2 1 .8 2.1 2 2.6s1 .7 1 1.4.5.7 1.9 1 2.4 1.2 4 3.1 3.7 3 3.4.8 0-3.4-2-4.4c-2.1-1-3.7-6-4.5-9.4-.9-3.5-3.6-8-5.2-9-.2-2.3.2-3.5-1.4-4.7a5 5 0 01-2-4c0-1.2-.9-2.7-1.5-3-.7-.4-1-1.3-1-2.3s-1.3-.8-1.4 1z"/>
+    <path fill="#00d860" d="M313.8 438a50 50 0 0012.3-3.4 19 19 0 007.2 3.3c-3 .7-4.9.3-5.7-.2.4.9 1.4 2.3 2 2.4-2.8-.1-6-.8-7-1.8-2.4 1-6.5 1.3-8.9-.2zm5.5 4c1 .2 6.5 1.1 7.3 1.1-1.9 1.6-.3 3 2.7 2.8-1.5.2-3 .8-2 1a29 29 0 0011.2-2.2c-2.4 3.1-14.3 6-19.2-2.8zm4.9 7.7c1.5-.7 5.1-.5 6.9.4-2 .6-5.8.6-7-.4z"/>
+    <path d="M329.7 449.6c2.6-.4 10 1.4 12.7-.2-1 2.4-5.6 2.7-7.2 2.2-1.6-.6-3.1-1.2-4.2-1.1.5-.4-.4-.4-1.3-.9z"/>
+    <path fill="#00d860" d="M332.4 453.3c2 .3 9.1-.6 11.3-1.4 2.3.7 6.9 2 7.9 1.8-2.2 1.4-6.4.6-7.7 0-3.9 1.3-7 1.7-11.5-.4z"/>
+    <path fill="#00d860" d="M335.8 454.5c2.9.6 5.3.2 8.1-.8.9.4 3 .9 4.9.8 1.3.7 3 1.7 4.7 1.9-1.8.7-8.1 0-9.4-.8a26 26 0 00-10.1 2c0-1 .5-2.2 1.8-3.1z"/>
+    <path d="M332.4 440c2.2.7 10.3.4 14.4-1.5 1.6-.8 2.6.4.7 1.1-6.6 2.3-11.9 3.2-15.8 1.2-1.5-.9-1.6-1.6.7-.8z"/>
+    <path fill="#00d860" d="M371.8 429c-9.9 4.7-16.4 6.1-30.2 1.9-1.2-.4-2.1 0-.7.9 1.4.9 9 3 10.8 3s1.1 1 0 1.3-1.4 1.1.1.5 9.7-.8 13.1 1c1.5.8 1.9.6 1.7 0s.7-.9 1.8-1 1.7-.5.9-.9-1-.5-.3-.8.7-.6-.3-.8-1.6-.5-.7-1c.9-.4 2.2-.7 3.3-.8.2-.7-.2-2.6.5-3.2z"/>
+    <path d="M355.4 430.3c5.6.3 16-2.2 21.6-7.6 1.9 1.1 4.6 2.4 6 2.7s2.7 1.5.5 1.5-5.3-.9-6.7-1.5a38 38 0 01-21.3 5.5c-1.5-.1-2-.8-.1-.7z"/>
+    <path fill="#00d860" d="M338.7 399.4a15 15 0 009.7 3.3 21.4 21.4 0 007.2 3.5c-3 1.2-6.2 2.2-7 3.2-1.4-1.3-3.1-1-3.6-1.7-1.2 1-1 1.6-.2 2.2s7.3 1.6 8.9 1.1 2 1 .7 1.4c-3.5 1.2-10.2 0-12.5-3.7-2.3-3.7-4.3-5.1-10.6-1.7-.7-1.8-.7-2.3-2-2.3s-3.4-1.6-1.7-1.5 6.9-.7 11-3.8z"/>
+    <path fill="#00d860" d="M340.2 407.6c-1 .3-4.1 2-5.2 2.1-1.1.1-3 1.7-1 1.7 2 .1 4.5-2 6-2.3s1.5-1.8.2-1.5zm6.2 6.6c-.7.1-4 .9-5 .8s-1.7.2-1.6.8.3 1-1 1-2.6.3-3 .7-.5.8.9 1 2 .2 3.6-.5 3-1.8 4.7-1.9c1.6 0 3.3-2.2 1.4-2z"/>
+    <path d="M341.8 418.1c1.4 1 8.4 3.3 10.9 3.1s2 1 .1 1.4c-3.9.9-8.7-.8-12-3.4-1.5-1.3 0-1.8 1-1z"/>
+    <path fill="#00d860" d="M374.7 421.6c-5.3 1.6-10.7 1-12.9.5s-4.2-.7-2.7.7 6.2 2.3 9 1.6c-9.6 2.2-12.1 2-14.5 1.6a46 46 0 00-8.8 0c-1.4 0-3.3-.1-4.1-.7s-1.1-1.4 1.4-1.2c2.5.3 2.8-.2.6-.6s-5.2.6-2.2 2.5 9.4-.1 13.5 1c4.1 1.2 12.9 2 21.2-4.7.4-.3 1.1-1.3-.5-.8zm-26.1-7.9c.2.7.2 1.4 0 1.8s-.2 1 .6.4 1.4-1.4 2.2-1 3 .5 4 .3c1-.1 1.2-.3-.2-.9-1.4-.6-2.8-.8-3.6-.7s-1.7-.1-2.4-.4-.8-.1-.6.5z"/>
+    <path fill="#00d860" d="M362.3 416.2c-1.1 0-3-.6-4-1s-2.6-.6-1.5.9 5.9 2.3 7.6 1.6 1-1.5 2.6-.5c1.7 1 3.4 1.8 4.6 1.8s1.7 0 .3-.8-2-1-2-1.6-.4-1 .8-.6 2.6 1 3.6.5 2.8-1.6 4.4-1.6l.4-1c-2.4-.2-3.8.5-4.5.8s-1.8.4-3 .2-2.8-.4-3.2-.7-.4-.6.6-.8 1.4-.9 0-.6-5.2.1-7.2-.5-2.8-.7-3.7-.4c-.8.3-.7 1.2.5 1.3s4 .3 5 1.2.8 1-.3.5-3-.2-1 1.3z"/>
+    <path fill="#00d860" d="M379 413.9l-.3 1c2.4-.1 8.1.5 10 1.6 1.8-1.4 1.5-1.8 2.8-1.6s2.8.7 3.6.3 1.2-.3 2-.2c.7.2 2.4-.1 3.3-.7s3-1.4 4.2-1.4 2.5-.2.4-.6c-2.1-.3-5.3.4-6.4.7-1.1.4-4.4.7-6.3.7s-4.6 1-6.8.4-5.2-.2-6.5-.2z"/>
+    <path d="M408.8 412.8c-3.8 2.8-8.5 3.4-14 3.8-1.6.1-1.1.6.3.7 5.7.6 12.4-1.5 14.6-3.9.6-.6.6-1.7-.9-.6z"/>
+    <path fill="#00d860" d="M382.6 419.3c1.6 0 7.4 1.6 9.3 2.2 1.4-.1 1.8-.4 1.5-1s-.4-1 2.1-1c2.6.2 8.5.1 9.6.1 1-.3 2.9-1.9 3.8-2-2.3.2-12 .7-13.2.6s-1.8 0-2.6.4-1.2.7-2.2.3-2.7-1-3.6-.4c-1 .6-3 .1-4.7.8z"/>
+    <path fill="#00d860" d="M405.1 419.6c1-.4 2.9-2 3.8-2 1.7-.1 3.6.6 4.5.7s1.9 0 1.2-.7 0-2 2.6-1.6c2.6.3 4 .7 6.5.5s3.8 1.6 8.6-.3c-.3 2 .6 2 1.5 1.7s1.9-.3 3.4.9 11 1.3 13.1.9c2.2-.4 3.4.7 1.7 1.3-1.7.5-2 1.2-1.7 1.8.4.5.8 1.1-1.2.9-2.1-.3-2.5.3-3.5 1.1s-1.3 1-4.1.5c-2.9-.5-3.4-.1-5 .2s-1.8.2-3.4-.3-4.9-1-7-.4-3.5 1.3-5.3.8-2-.3-.8-1.4 1.4-1 3.6-1.3c2.2-.3 3.9-1 2.3-1.8s-2-.8-4 .2-3.2 1.7-5.5.4c-2.3-1.3-3.4-1-5-.6s-4.1-.5-6.3-1.5zm7.7 3.9c-3 .4-3.7-1.5-6.8-1.1-1 .1-2.8 1.4-.4 1.2 2.4-.2 5 1.1 7.3.9s1.3-1.2 0-1zm-3.4 2.2c1.6-.6 4.8.5 6.1.3s2.7.5 1.2 1-4.8-.8-6.3-.4-3.1-.1-1-.9zm-30.7 8.3c2.1 0 9.8-.2 12.8-6.7.2-.5.5-.7 1.4 0s4.5 2.7 11.1 3.3c1.9.2 3.9 1.1.1.8s-9.6-1.2-11.6-2.5c-3.3 5.3-9.3 6-13.8 5.8-2.7 0-2-.8 0-.7z"/>
+    <path fill="#00d860" d="M395.2 425.3c-1 1.4-4.5 3.8-6.1 4-1.7 0-6.5-.4-7.7-.8s-2.7-.3-1 .9 6 2 7.8 1.6c1.8-.3 3.7-1 5 0s4 2.4 5.4 2c1.5-.3 4.5-.3 5.5.2 1 .4 2.6 1.8.1 1s-4.5-.1-5.7-.7c1.3 1.8 4.2 4.7 6.7 4.7.6 0 1 1-.3 1.6 1.2.6 4 1 5.5-.3-.3.5-.1.9.5 1.2s1.4.8.3.9-3.8.4-4.6.1c2.5 1.6 9 4.2 15.6 2.9 1.3-.2 2-.8-.1-.7-4.3.1-4.5 0-5.3-.4-.8-.4-.6-.8.6-1.2 1.2-.4 4.3-.8 5.6-.8s2.5-.6 0-.6-6 0-7.2-.4-2.3-1-1-2 2.8-.6 3.5-1.4c-4.3 0-9.5-2.3-6.6-4.4.7-.5.5-.5-.6-.6s-4.3-1-5.7-1.8-.4-1.4.7-1.6c-2.5.4-7.5-1-10.9-3.4zm37.7-.2c-2.3 1.8-6.7 2.5-8.5 2.5s-2.2.6-.7.8 3 .4 3.7.2 1-.2 2 .2c1 .5 3 .7 4.8.1s4.8-.8 6-.7 2.6.1.1-.6c-2.4-.7-6.4-.2-7.3 0s-3.6.1-2.2-.3 2.6-1.2 3.3-1.8c-.5 0-.8-.2-1.2-.4zm-1.2 5a15 15 0 01-7.8 3c2.7 1 5 3.8 6.7 3.7-.9.5-2 1.2-3 1.4 1.7.4 4.5 0 6.8-1.4 3.9 1.1 8.9.4 10.5-1a12 12 0 01-6.8-2c1.2 0 2.3-.8 3-1.5-3 .5-8-1-9.4-2.2z"/>
+    <path fill="#00d860" d="M427.6 438.2c1.1-.1 2.1-.9 3-1.4-2.2.7-11.4-.8-14.2-3.2-2.7-2.5-2.7-.6-.8 1.1s5.3 4.4 12 3.5zm6.8 5.9c-1.2.6-6.7 1-8.5.6s-2.6-.2-2.1.5.6 1.4-.9 1.2-4 .1-5.2.5c-1 .4-2.4 1.4 0 1 2.2-.4 4.3-.9 6-.4s8 .6 9.2 0 .4-.5-.2-.5-.8-.3 0-.7 1.5-1.5 1.7-2.2zm-53.5-7.5a65 65 0 01-12 3.2 16.8 16.8 0 01-6 1.8c1 .8 4.4 1.6 5.8 1.2-.7.8-2.5 1.7-3.2 2 2-.2 4.5.3 5.5.4a15.4 15.4 0 01-8.3 1.8c.6 1 1.5 1.8 2.7 1.8a14 14 0 01-7 .2c.7 1.3 1.3 2 2.2 2.2-2 .2-4.6.6-6.8-.7 1.7 2.2 5.4 3 11 2.3 5.5-.6 10.1-3 11.4-4.1-2.3.3-5.4.4-7 .1 3.1-.7 9.8-3.6 11-4.7a6.2 6.2 0 01-3.5-1c1.8.2 8.1-.6 10-1.3a7.4 7.4 0 01-4.4-2.9 43.2 43.2 0 0021.5.7c1-.3 1.2-1.6-.9-1.4-3.6.2-10.5-.8-12.3-1.7a12.8 12.8 0 005.1 2.3c-3.3 1-8 1.6-14.8-2.2z"/>
+    <path fill="#00d860" d="M365.5 444.9c.7-.4 2.4-1.3 3.2-2a11 11 0 01-5.8-1.2c1.3 0 3.4-.7 6-1.8-4.7-.2-7.9-.2-9.6-1s-4.7-.7-5.9-.4-.7 2.1 4.1 1.6c-2 1.4-7.5 2-9.6 1.4.5 1.7 1 3.4.4 4.3 2.7 1.5 9.8 3.5 13.2 3.2-3-1.2-4.7-2.4-2.2-2.7s4-.8 6.2-1.4z"/>
+    <path d="M357.6 453.2c6.1-.5 14.3-.6 20.9-6.1 1.7-1.5 2.8-1 1.2.5-3.5 3-12.1 7.3-20.3 7.4-3.4 0-5-1.5-1.8-1.8z"/>
+    <path fill="#00d860" d="M403.6 443c-1.5.6-5.8 1.3-7.1 1.2-1.3-.2-3.1-.3-4.2.3s-1 1 .3 1.2 3.3.2 4.2.2a6.8 6.8 0 00-2.2 2c2-.6 5.8.3 7 1-1 .2-1.9-.1-2.6-.5 3.5 3.7 13.8 3.7 15.4 3-.7.6-1.5 1.2-2.2 1.4 2.9.5 6.2.4 9.5-1.5a29 29 0 01-5.2-.2 6.2 6.2 0 012.5-1.5 17 17 0 00-6.3.4c.4-.8 1-1.7 1.9-2a39 39 0 01-13.6-1.4c3.7.4 7.6-1.7 9.3-1.7-2.8 0-5.9-.7-6.7-1.9zm-12.9 2.9c-2.5.5-6.3 1.5-7.3 2s-2.1 1 .1 1a228.3 228.3 0 01.8-.2c-.9 0-2 0-.3-.6s3.9-1.7 6.7-2.2zm-5 6c.8 0 4.8 0 6.3-1.4 1.6 1.2 4.7 3 6.7 3s1.8.5 0 .7c-1.7.2-5.1-.9-6.8-2.2-2.3.9-4.3.2-6.3-.2zm-29.8 17.3c4 1.5 9.2 2.7 13 1.4 2.3 1.9 6.8 2 9.2 1.5 2.4-.5 4.6-.8 7.3.1s8.2 1 9.8 2.3c-1.4 0-4.4 0-5.2.2-.7.2-.3.6 1 1.3a26.9 26.9 0 00-14.2 3.6 8 8 0 017.5-4.7c-2.3-.8-9.7-.9-12.1.6-.7-.8-1.6-2-1.6-2.5-4 2.2-11.6-1-14.7-3.8zm-10.2-7.3c4.7-.6 8-2.1 9.4-3.6.8.8 4.3 1.6 8 .4a1.9 1.9 0 00-.5 2.3c-2.4 0-7.2 1.3-8.8 2.1-1.6.8-6.3 1.4-7.8.6s-1.6-1.6-.3-1.8z"/>
+    <path fill="#00d860" d="M362.6 461c-2.5 0-7.2 1.3-8.8 2.1.3.7.5 1.7.6 2.4a56 56 0 0119.2-2c-1.9 0-5.6 2-7.6 2.3 5-.4 9.9.7 11.2 1 1.2.3 1.5 1.3.5 2.2s-1.4 1 .7 1c2 .1 6.3-.1 8.2-2-.8-.8-2.8-.5-3.3-1.1a8.9 8.9 0 003.4-2.1c-3.4 0-4.7-.1-5.9-.4-1.1-.3-2-.6-.6-1.3a8.3 8.3 0 002.6-2c-2.6.7-6.5 1.3-9.8-1.3 1.3.4 4.2.2 5.2-.3-1.1-.6-2-1-2.9-1 2.6-1.3 7.8-2.5 14.3.1 3.2-.2 6.6-.1 9 .5 1.1-1 3.3-3.4 4.4-4-7.5.6-21.1-.9-20.9-4.8-2.4 3.2-8 5-10.5 4.5-.3 1.1.7 2.5 1.6 3.3-2.5.5-6.9 1-9 .5 1.2 1.2 3.4 2.2 4.7 2-2.7 0-4.1.6-6.3.4z"/>
+    <path fill="#00d860" d="M378.4 470c2 .1 6.3-.1 8.2-2-.8-.8-2.8-.5-3.3-1.1a9 9 0 003.4-2.1c5.4-.5 10.2-.2 12.5-1 2.4-.6 8.3-.2 9.4-.6-5.1.9-6.1 1.3-6.4 2.2s1.7 1.5 2.9 1.5c-2.3-.1-5.2 2.3-5.5 3.3-3-1.8-4.5.3-4.9 1a9.8 9.8 0 00-7.7 1.5c-2.8-.8-4.6-1.3-7.5-.8 1.8-.4 1.4-1.6-1.1-1.8zm24.6-15c1.8 0 5.6.2 7 0a8.3 8.3 0 00-2.4 1.6c4.4-.5 10.3-.8 12-.5-2-.4-4.2 1-5.3 1.7s-.5 1.1 1 1.3 3.5 1.4.8 1-8-.4-9.3-.2-2-.4-.2-.7 3.2-.9 4-1.4c-1.5.4-4.4.4-5.3.1s-1.5-.8-.5-1 .4-.7-.7-.5-3.9 1.3-5.4 2.7c1.6-1.7 3.1-3.2 4.3-4z"/>
+    <path d="M383.5 458a11 11 0 008.6 3.8c.8 0 2.4 1.1.3 1.2-5.3.2-8-1-10.4-4.5-.5-.8.4-1.7 1.5-.6zm32.1-45c2.9 1.3 8.6 2.5 13 2.3.8 0 2.3.8.4 1a23 23 0 01-13.7-2.6c-1.1-.6-.8-1.2.3-.7z"/>
+    <path fill="#00d860" d="M418.5 413c4.4-.2 7.7-.1 9 1.2 2.5-.8 7-1.3 8-1s2.2-.3-.2-.9c-2.3-.6-7.9-.8-9.6-.4-1.7.3-7.1.5-9 .3.8.1 1.3.2 1.8.7zm17 1.7c2-1.1 8 0 9.7-.9-1.3 1.6 4.1 1.7 8.8.5-1.8 1.1-5.6 1.3-7.3 2s-2.6.2-3.9-.3-4.5-1.8-7.3-1.3z"/>
+    <path fill="#00d860" d="M454 414.3c-4.6 1.2-10 1-8.7-.5-1.9.8-7.8-.2-9.8.9 2.1-1.3 3.7-.3 5.3-3 1 .3 3.2.4 4-.6 1.3.3 3.7.9 4.4 1.6.7.7 1.8-.2.9-1.3 2-.8.7 1 5.7-.3 1-.3 3.5-.7 4.4-.8a30.4 30.4 0 01-6.1 4z"/>
+    <path fill="#ff0" stroke="#000" stroke-width=".1" d="M373.4 664.2l-.2-22.2c0-1-.5-.8-.5 0v22l.7.2zm7.2-23.4l.8 23.4-.1.2h-.5l-.5-23.6h.3zm6.8 19.8l-.4-19c0-.6-.5-.5-.5.1l.4 18.9h.5z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M376.6 644.7l-7-.1c-.3 1.4 1.4 1.3 2 1 .8.5 1.4.5 1.8 0 .6.5 1.4.4 1.7 0 .8.7 1.7 0 1.5-1zm.5 3.4h-7c-1.3 1.2.3 1.8 1.7 1 .2.4 1 .6 1.6.3.6.4 1.4.1 1.8-.3.7.3 1.6.4 2-1zm-.2 4.5h-6.8c-.1 1.1 1.3 1 1.8.7.5.8 1.7.6 2.1.1.7.5 1.3.4 1.6 0 .7.6 1.4-.2 1.3-.8zm.4 4.4l-7.7-.1c-.4 1.3.8 1.5 1.3 1.2.2.7 1.2.5 1.5 0 .4.3.9.1 1.1-.2.1.7 1 .8 1.7.2 1.4 1 2.7-.2 2-1.1zm6.7-1.8h-6.3c.3 1.2.9 1.5 1.9.8.8.8 2 .5 2.3.1 1.4 1.1 2.1-.2 2.1-1zm-.6-4.4l-6.2-.2c.1 1.6 1.6 1.5 2.4.9.5.7 1.5.5 2 0 .7.8 2 .3 1.8-.7zm.8-4.9h-6.6c0 1.1 1.5 1.7 2.6.7.3 1.3 1.5.9 2 .4.8 1 2.5-.2 2-1zm-.4-3.3l-6 .1c0 1 1.4 1.4 1.9.6.3.5 1.3.4 1.6 0 .4.7 1 .2 1.2 0 .7.5 1.4.2 1.3-.7zm6.9 2.2l-7.2-.1c0 .7.7 1 1.2.7 0 .8 1 1 1.7.4.4.7 1.7.8 2.2 0 1 .9 2.2.2 2-1zm-.1 5.9h-7c0 1 1.1 1.3 1.8.8.1.8 1 .9 1.5.4.7.7 1.7.8 2.3 0 .8.3 1.5-.4 1.4-1.2zm-.4 5.3h-5.6c0 1 1.2 1 1.7.5.6.7 1.4.7 1.9.2.7.6 1.9.4 2-.7z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path stroke="#000" stroke-width=".1" d="M381.3 664.4c-3 0-6.1 0-8.2-.2s-2.7-.6-4.2-1.5l-5.6-3.4c-.5-.2-1 .1-.3.5l5.6 3.7c1.5 1 2.5 1.9 3.4 3 1.2 1.3 2 1.3 2.6 1.1s1.4-.5 2.3-.3c.8.2 2 .3 2.6.2.5.5 1.8.4 2.5.2s1.2-.2 1.7-.1h1.7c.5 0 1.8-.3 2.7-.2 1 .2 1.9 0 2.5 0a5 5 0 012-.1c.6-.4.8-.9 1-1.4.6-.1.8-.2.9-.5l.6-1.6h.2v-.6l-.4-.6.2-1 .5-.2-.2-1-8.8.2a2 2 0 00-.6 1.1l-2.6.4c-.3.1-.6.1-.9.5l-1.2 1.8z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path stroke="#000" stroke-width=".1" d="M391.8 660.5l1.3-4.9c.2-.5-.3-.6-.5 0l-1.3 4.9h.5z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M396.9 655c-1.1.5-1.7.8-2.2.6-.5-.2-1.1-.3-1.5-.1a.5.5 0 010 .1 493.3 493.3 0 01-1.1 3.8c.8.3 2.2.3 2.5 0 .4-.4 1.3-.3 1.8-.3.3-.4.4-.9.3-1.1s0-.7 0-1 .4-1.4.2-2z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="none" stroke="#000" stroke-width=".1" d="M371.7 645.6a53.2 53.2 0 01-8 14m2 1.2a54.5 54.5 0 0011.4-12.6m-7 4.3c-.3 2.7-1.1 7.5-1.5 10m2.6-4c-1 1-2.3 2.6-3.4 3.5m12.7-8.9c-.8.8-1.7 1.8-2.6 2m3.1-1.8a7 7 0 002.7 1.9m-3.2-6.2a8.5 8.5 0 01-3 1.7m3.4-1.6c.6.6 1.3 1.3 2.2 1.7m-5.4-4.9a7 7 0 002.7-1.5m.3 0c.7.7 2 1.4 2.7 1.6m-5.5-3.3a4 4 0 002.4-1.4m.3-.2c.7.6 2 1.4 2.7 1.5m3.2.8c-.4.5-1.5 1.3-2.2 1.3m2.7-1.3c.3.5 1.1 1.3 1.6 1.3m-4.8 6a7.2 7.2 0 002.8-1.9m.5.1a5.6 5.6 0 001.9 1.8m-4.1 5.2c.4 0 1.5-.6 1.8-1.3m.6-.3a7 7 0 002 1.7m-18.7.9c1.3-.4 3.8-2 5.1-3.5m-2.4 1.9c1 .7 2.3 1.5 3.2 1.7m-6.2-4.5a8 8 0 002.4-1.5m.5-.1c.3.4 2.4 1.7 3.3 1.7m-3.8-5.9a9.8 9.8 0 01-2.5 1.4m3-1.4c.7.5 2.2 1.4 3.1 1.4m-3.6-5.4c-.6.6-1.6 1.6-2.4 1.9m2.9-1.8c.4.7 1.6 1.7 2.4 1.8m8 2.6c1.9 3.3 5.3 7.4 8.7 9.6m-14.1-13.3c2.8 4 8.2 12.7 13.4 15.9m1-3.4a18.4 18.4 0 01-4.9 4.6m4.5-3.5c-1.7-2.8-2.6-6.3-4-11m-14 12.4l2 6m-2.4-6.1l1.9 6m-2.4-6.3l1.8 6.2m-2-6.1l1.4 6.1m0-.2h1.7m-.2-.6h-1.6m1.4-.5h-1.6m1.4-.5H374m1.3-.6H374m-.1-.5h1.3m-1.4-.4h1.3m-1.4-.5h1.2m-1.3-.4h1.1m-1.2-.5h1m-1.1-.4h1m-1.1-.3h1m-1-.4h.9m-2.6 0l-1.2 5m1.5-5l-1 5.2m1.3-5.4l-.8 5.5m1.2-5.6l-.6 5.8m.7-.4h-2m2-.5h-2.3m2.3-.6h-2.1m2-.5h-1.9m2-.5h-1.9m1.9-.6H371m1.7-.5H371m1.6-.5h-1.5m1.5-.5h-1.3m1.3-.5h-1.2m1.2-.3h-1.1m1 5.5v-5.9m6.5-2l-4 8.1m4.3-8.2l-3.4 8.3m3.6-8.4l-2.7 8.4m3-8.2l-2.2 8.2m.1-.3h-2.5m2.7-.8h-2.4m2.5-.6h-2m2.4-.6h-2m2.1-.6h-1.9m2.1-.6h-1.8m2-.7h-1.6m1.7-.5h-1.5m1.7-.6h-1.4m1.5-.4H378m1.4-.4H378m1.3-.4h-1m1-.3h-.9m1-.4h-.8m1-.4h-.8m.8-.3h-.7m3.4-.1l1.7 5.6m-1.4-5.5l2.1 5.4m-1.8-5.4l2.5 5.3m.6-.5l-2.8-4.9m2.8 5h-2m1.8-.8h-2m1.7-.6h-1.9m1.5-.7h-1.7m1.3-.6h-1.5m1.1-.7H383m1-.7h-1.2m.8-.6h-1m3.2.1L384 662m2.3-5.4l-1.6 5.3m.7-.1l1.2-5m.3.2l-1 4.7m-1.7-.3h1.7m-1.5-.6h1.7m-1.5-.7h1.6m-1.3-.6h1.5m-1.3-.7h1.4m-1.2-.6h1.3m-1-.7h1.2m-1-.6h1m.9.1l.8 3.6m-.5-3.8l1.1 3.7m-.7-3.7l1.2 3.7m-.7-3.5l1.3 3.5m-.1-.3h-1.7m1.5-.5h-1.6m1.4-.5h-1.5m1.3-.6H388m1.2-.5h-1.4m1.2-.5h-1.3m1.1-.5h-1.2" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#00b800" d="M358 403c4-2.6 10.7-2.1 14.2.5 4.1-2.3 11.6-1.7 15 1.4 5.3-3.6 9.8-4.1 15-.7 4-2.8 10-3 14.8.3 4.7-2.2 9.8-4 14.3.8-2.7-2-8.5-3.6-14.3.9-4.5-4.5-12.3-2.9-14.9.2a9.7 9.7 0 00-14.6.3c-4.6-3.9-11.6-4-15.3-1-3-2.4-7.3-4.3-14.3-2.7z"/>
+    <path fill="#cf6200" d="M428.1 397.5a303 303 0 01-74.7-1.4c-3.3-.9-2.4-2.1.4-1.5a240 240 0 0048.5 2c2.6-3.4 6.6-9.2 7.9-10.8s1.7-1.8 4.3-2.2l11-1.9.1 1.6c-.3.2-.6.7-.9.8 0 2.6.6 9 1 11.4.6 0 1.2-.3 1.5-.4 1-.2 1.9 2.1 1 2.4z"/>
+    <path fill="#cf6200" d="M461.6 398.5l2.7-.1c.8 0 2-.6 2.5-1.9l2.7-8-2-3.1a174.4 174.4 0 001-6.7l2.7-1c.1-.6-.1-2.2-.7-2.7-8.8.4-35 1.3-40 1.3-1 0-1.6 0-2 1.6-2.5 9.2 1 22 10.1 29.3.7.6 1.5.1.4-.9a32.8 32.8 0 01-5.5-7.1l6.5-.2c.6 2.2 2.2 6.8 2.5 7.5s1.1 1 .8-.2c-1-2.7-1.4-5.8-1.8-7.3l6.8-.1c0 2.4.3 5.7.4 6.6s.8 1 .8 0v-6.7l6-.2-.5 6.6c-.1 1 .4 1.6.7 0l.9-6.6 4.1-.1c0 1.3-1.4 5.5-1.7 6.6s.2 1.1.6 0a30 30 0 002-6.6z"/>
+    <path d="M432.4 397.4c-.6-1.4-2.8-6.4-3-10l8.7-.3a104 104 0 001.7 10.1l-7.4.2zm7.3-10.3l1.5 10.2 7-.2-.3-10.2-8.2.2zm-10-9c-.3 1.9-.4 5.8-.3 7.5l8.6-.1-.7-7.6-7.6.2zm9.2-.2c0 1.8.5 6.2.6 7.5l8.3-.2-.4-7.6-8.5.3zm10.2-.3c0 1.7.3 6.4.2 7.6l7.3-.2c0-1.7.3-6.5.2-7.7l-7.7.3zm9.1-.3l-.2 7.7 7.9-.3c.3-1.6 1-6 1.1-7.8l-8.8.4zm8 9c-2.7.2-7 .3-8.3.3a262 262 0 01-.9 10.2l8-.2a68 68 0 002.9-7.9l-1.7-2.3zm-16.8.5l.3 10.2 6-.2.8-10.2-7 .2zm-34.1-2l-3.3.7a246.9 246.9 0 01-8 11c4 0 10.2-.2 11.7-.3l-.4-11.3zm1.5-.2l.4 11.5 7-.5-1-12.2-6.4 1.2z"/>
+    <path stroke="#000" stroke-width=".1" d="M377.3 657h-7.7v-.2l7.7.1zm6-6.2c.1 0 .1 0 0 0l-6-.1c-.1 0-.1 0 0 0h6zm-6.4 1.7c.1 0 .1.1 0 .1h-6.8c-.1 0 0-.1 0-.1h6.8zm.2-4.4c.1 0 .1.1 0 .1H370c-.1 0-.1-.1 0-.1h7.1zm-.5-3.5c.1 0 .1.1 0 .1h-6.9c-.1 0 0-.2 0-.2l7 .1z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M383.8 642.6l-6 .1 6-.1z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path stroke="#000" stroke-width=".1" d="M384.1 646c.1 0 .1 0 0 0h-6.5c-.1 0-.1 0 0 0h6.5zm6.5 4.6v.1h-7c-.2 0-.2 0 0 0h7zm0-5.9c.2 0 .2.1 0 .1h-7.1c-.1 0-.1-.1 0-.1h7.2zm-6.6 10.4c.1 0 .1.1 0 .1h-6.4v-.1h6.4zm6.2.9c.1 0 .1 0 0 0h-5.6 5.6z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#ef072d" stroke="#000" stroke-width=".1" d="M395.3 657a3 3 0 000-1.4 1.1 1.1 0 01-.6 0 3 3 0 00-.3-.2c0 .4-.2 1.5-.4 1.9-.3 0-1 0-1.3-.2l-.3 1a3.5 3.5 0 001.5 0c0 .6-.1 1.1-.4 1.5.5 0 1 0 1.1-.3.3-.4.3-1 .4-1.3l.5-.1.5-.2.7-.1v-.6l.2-.4-1.6.5z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path stroke="#000" stroke-width=".1" d="M370.5 623.2c-.8 0-2.6 0-3 .2-.3.2-.4.3.2.4s1.7.5 2.3.8c.6.4 1 1 1 2a6 6 0 003 6.3c.1.1.2.2.1.6l-.3 1.1c0 .2-.1.4.2.3a20 20 0 01-1 1.6c-1.6-.2-3 0-3 1.8 0 .2 0 .4.2 0 .3-.4.6-.8 1.3-1-.4.7-.6 1.3-.5 1.7 0 .3.2.5.4 0 .1-.4.5-.8.8-1.1.2-.1.2-.1.1.2s.1.9.3 1.1c.2.2.3.1.2-.2 0-.4 0-1.1.5-1.3.6-.4 1.2-.2 1.4.2.3.5.5 0 .2-.4s-.6-.9-1-.9l1-1.7c0-.2.2-.3.4-.2 0 .1.2.1.3-.2l.7-1.4.6-.2 1 1.5v.6c0 .4-.4 1.3-.5 1.6-1.2 0-1.8 0-2.2.7-.2.3.1.4.4.3a2 2 0 011-.3c.2 0 .3.2 0 .3-.7.3-1.2.8-1.2 1.5 0 .2.2.3.3 0 .3-.5.8-.9 1.3-1 0 .5.1 1.3.5 1.5.3.2.3 0 .2-.3-.2-.5 0-1 .3-1.3.5-.6 1.7.2 2 .4.2.2.4.3.2-.3-.1-.7-1.1-1-2-1.2l1.2-4.2c.5.3 1-.5 1.8-.2 1.4.6 3.5 1.9 3.8 2.2.4.3.5.2.7 0 .2-.1.5 0 .8 0 .2.1.4.2.1-.4a7.2 7.2 0 00-2.4-2.6c.8 0 1.8 0 1.8-.2s-1.2-.6-1.7-.6a3.3 3.3 0 001.6-.8c.2-.2 0-.3-.8-.3-2.1 0-3.2 0-4.3-.6-1.8-1-2.9-2.2-3.8-2.6-.4-.3-.7-.9-1-1.4-.5-1.5-.5-2.3-1.8-2.8s-3 .1-3.7.8z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M370.6 623.6h-1.7s-.2 0 0 0l1.5.4c.3 0 .2.3 0 .2s-.4 0-.2.2c1 .7 1.2 1 1 3.7l.5.4c.2 0 .1.2 0 .1s-.5 0-.2.2.5.2.2.2-.6.2 0 .1c.5 0 .8.2 0 .3-.6 0-.4.2 0 .2.7 0 .5.2.3.2s-.3.2.2.2h.7c.1 0 .2 0 0 .1-.2 0-.2.2.1.2s.5 0 .2.1c-.1 0-.3.1 0 .2.7 0 .8.2.6.3s-.3.1 0 .1.6.1.3.2c-.2 0-.3.2 0 .2s.5.2.3.3-.3.2 0 .2.4.1.2.2c-.2.2-.3.2-.5 0 0-.2-.2-.2-.2 0l-.2-.3c-.1-.3-.3-.3-.3 0s-.2.1-.4 0a3.3 3.3 0 004 .8c.1 0 .2 0 .3.3l.6 1.1c.1.2.3 0 .3-.2l.6-1.7c0-.3.4-.5.3.3.3-.2 1.5-.3 2.5 0a12.2 12.2 0 012.7 1.5.6.6 0 00.5.1c.3 0 .4 0-.1-.5s-.3-.7 0-.5c.3.2.5.1.2-.2l-1-.9c-.1 0-.1-.2-.6-.2h-1.5c-.2 0-.4 0 .2.2.6.2 1.7 1 2 1.2s.4.6-.1.2-2.4-1.5-3.6-2c-2.7.3-4.9.6-6.5-1.1-.8-.9-.8-2.8.5-3.6-.2-.2-.2-.4-.1-.4v-.6c-.2-.1-.4-.3-.4-.5-.3 0-.5-.5-1-.3s-.6 0-.8-.1c-.1-.2-.2-.2-.5-.2s-.5 0-.5-.2.2-.2.6 0c.7.3 1.3.5 1.8-.2.4-.6-.2-1.1-1-1.3-.9-.2-1.5.5-1.9.8z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M375 623.3a2.8 2.8 0 00-1-.6c-.3 0-.3.2-.2.3v.6c.2.1.3.3 0 .3-.2.2 0 .9.3.7h.2s0 .3.2.3 0 .2 0 .3h.2c.2 0 .1.4-.1.5.3 0 .4 0 .4.2.1.2.4.3.4.6s0 .3-.4.2-.4 0-.5.2-.2.3 0 .3.4.1.1.2-.6 0-.7.3c0 .3 0 .4.2.3l.7-.4.5.1c.2.1 0 .5-.2.3s-.4 0-.5.1l-.5.2c-.2 0-.4 0-.3.5 0 1.4 1.1 2.4 3.1 2.4h3.3c-.6-.4-1-.6-1.3-.6h-.3c.1-.1 0-.3-.1-.3s-.3-.2-.5 0l-1 .5c-.2 0-.5 0-.2-.2l.9-.4c.2 0 .1-.2.1-.2s0-.3.3-.2c.6.4 1.5.9 1.8.9s.4-.2.2-.3-.3-.3-.3-.4.1-.2.5 0c.4.3 1 .5 1.3.6s.5.1 0-.2l-2.3-1.7c-.3-.3-.3 0-.2.2s-.3.3-.5.1-.3-.3 0-.4.2-.2-.1-.5c-.4-.3-.5-.3-.4 0 .1.3.1.5-.2.4s-.6-.3-.3-.4c.2-.2.5-.3 0-.6s-.2 0-.3.2-.4.2-.5 0-.3-.3-.2-.4.1-.2.3 0 .4 0 .1-.3-.4-.2-.3 0-.2.4-.6 0c-.2-.1-.2-.3 0-.4.2 0 .2-.1 0-.3-.7-1.2-.4-2.1-1.2-3z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path fill="#cf6200" d="M371.2 191.5c-.3.5-.5.5-1 .9-.8.5-1 2 .3 1.8.9-.1 1.4-.7 1.7-1a11.1 11.1 0 00-1-1.7zm-4-3.2c-1 1-1.2 1.4-.7 1.4.6 0 .4 0 0 .7-.5.7.8 1 1.3.6s.6-.7.9 0c.2.5 1 0 1.6-.5a14.2 14.2 0 00-3.1-2.2zm-1.8 5.5c-1.3.7-.8 4 1.1 3.1.6-.3 1.2-.2 1 .3l.1.9a6 6 0 002.2-1.6c1.2-1.3 0-1.3-1.7-1.3-1.8 0-2.4-.3-.6-1.3 1.5-1 .5-1.6-1.6-1.3.3.4.1 1-.5 1.2zm7.4 7.6c-1-1-.4-1.6.7-2l.5-.5-.8-3.3c-.6.1-1.2 1.3-1.4 2-.2.8-.5 1.3-1.3 1-.8-.2-1.6.7-1.7 1.6h.5c.4.1.6.6.5 1.1 2.3 0 2.7 1.5 3 2.6.5 1.2 1 1 1.4.4.3-.7-.5-1.9-1.4-3z"/>
+    <path fill="#ff0" d="M373.4 214.8c-.4 1-.4.9-1.8 1-1.4 0-3 .3-3.8 1-.4.5-2.8.6-2.8 1.7 0 1 0 1.9 1 2 1 0 1.2.2.8 1-.4.7-.7 2 1.1 2.1 1.8.1 3.1-.4 3.6.6.4 1 0 2.7.3 3.3s1.6 1 3.4 1.6c1.3.3 6 .6 7.5.4 1.5-.2 1-1-.5-1.2-1.5-.1-2.6-.3-3-1.4-.3-1-.6-1.6.3-2.5.8-1 1.6-1.6 1.1-3.1s-1.2-3.3-3-3.7c-1.7-.5-1.1-2.8-2.8-3-.7-.1-1.2-.1-1.4.2z"/>
+    <path fill="#cf6200" d="M365.1 228.8c1.5.1 2.8.5 1.6.9-1.3.3-2 1-.4 1.1 1.6.2 2.9.7 1.7 1.1s-1.4 1.1 0 1 2.1.8 1.1 1.4c-1 .6-1.7 1-2.4 0-.6-1-1-1.4-1.2-.6-.2.7-.6.2-1.1-1s-1.5-1.4-1.2-.5-1 1-2 .6a22.4 22.4 0 003.7 3c1.5-.5 3.3 0 3.9 0 .6 0 2.6.5 3.7 1s1.8-.4 1.4-1.5c-.5-1.2-.6-.8-1.1-.2-.6.7-.7-.2-.7-1.6 0-1.1-.7-.8-1-.1s-.8-.4-.5-1.1 0-1-.6-.8-.6 0-.7-1.3-.6-1.1-.8-.6-.7-.2-1.5-1.2c-.7-1-1.5-.4-2.8.2l1 .2z"/>
+    <path fill="#ff0" d="M380.7 236.7c-7 2.9-12 1.6-15.9-1 1.6-.4 3.4 0 4 0 .6.1 2.6.6 3.7 1.2s1.8-.5 1.4-1.6c1 1.2 1.6 2 2.8 2 1.2-.1 3-.3 4-.6zm-15-32.3c-.4-1.4-.8-1.8-1.6-1.7-.7 0-1-.1-2-.4-.8-.4-2 0-2 1.6s-1.2 2.3-2.5 3.2c-1.3 1-2 1.8-2 3.3s-.4 2-1.2 3l-1.5 1.7 1.7 1c.9.4.6 1-.4.8s-1.8.3-.3.6 2.3 1 .8 1c-1.5 0-3.2 1.2-.3.9 2.9-.3 4 1 .6 1-3.4.2-2.1 1.2-.3 1.2 3.2 0 2.2 1 1.4 1-.8 0-1.2 1 .9.8h.1c.3-.3.5-.7.7-1.2.3-1 .7-4 1.9-4.9 1.2-.8 1.8-2 1.8-2.9s1.8-4.6 3-5.5 1.7-3 1.3-4.5z"/>
+    <path fill="#cf6200" d="M363.2 204.4c-1.2-.8-2.4-.3-2.4 1.2s-.7 2-1.8 2.5a4.4 4.4 0 00-2.1 3c-.2 1.2.2 2-.7 3-.8.9-1 1.6-.3 2.2.6.5.6.6.8 1.3.3.8 1.7 0 1.7-.9s.4-.9 1.3-1.4c1-.5 2.5-3 2.2-3.7-.4-.6-1.2-1.2-.1-2.2 1.1-1 2.3-1 2.3-2s.3-1.2.7-1.6c.3-.3-.8-.8-1.6-1.4z"/>
+    <path d="M363.2 203.2c-.8-.3-1.2 1.4-.1 1.6s1.2-1.2.1-1.6zm-.2 2.2c-.8 0-1.8 1.2-.3 1s2-1.2.3-1zm-1.6 2c-1 .5-.7 1.7.5.8s1.6-1.8-.5-.7zm-1.4 1.9c-1 .4-.7 1.6.6.7 1.2-.8 1.6-1.8-.6-.7z"/>
+    <path d="M358.2 210c-.9.5-.3 1.7 1 .9s1.2-2-1-.8zm1 1.2c-.8.4-.2 1.6 1 .8s1.3-2-1-.8z"/>
+    <path d="M357.8 211.6c-1 .5-.4 1.6 1 .8s1.1-1.9-1-.8zm1 1.3c-1 .4-.4 1.6.9.7 1.3-.8 1.2-1.8-1-.7z"/>
+    <path d="M357.3 213.6c-1 .4-.4 1.6 1 .8s1.1-1.9-1-.8z"/>
+    <path d="M357.4 214.7c-1 .5-.4 1.6 1 .8s1.1-1.9-1-.8z"/>
+    <path fill="#cf6200" d="M356.7 225.6c-1 0-1.5 1.3-.4 1.6s1.4.3 1.4 1.2.3 2 1.5 2.1c1.2.1 2.3-1.3 1.2-1.7-1-.4-2-.8-2-1.7-.1-1-1-1.6-1.7-1.5z"/>
+    <path fill="#ff0" d="M388.2 218.2l.6.6c.8.7 2.4 0 2.2-.6s-1-2.4 1-.9l11.8 8.2c2.4 1.7.8 2-.3 1.4l-6.2-3c-2-1.1-2.2-.7-2.5-.3-.2.3 0 1 .7 1.7-1.2.2-3 0-3.6-1.3-.6-1.5-2.2-3.3-3.2-4.7-.4-.5-.6-.8-.5-1.1z"/>
+    <path fill="#00d860" d="M452 428.7c-1.7 1-3.8 3-2.4 5.7l.5-.3a158 158 0 0016.3-24l.1-.7a22.6 22.6 0 01-5.8 3.5c.8 2-2.8 4.7-4.7 5.5.8 1.3.5 3.2-1.2 3.6.4 1.1-.9 1.1-2.4 1.8s-2.3 1.1-2.8 2c.8-.5 2-1 2.6-.7s.8 1.1-.4 1.4-2 .9-2.3 1.4c1.7-.6 4-.3 2.4.8z"/>
+    <path stroke="#000" stroke-width=".1" d="M376 628.4c-.4-.3-.5-.1-.4 0s0 .4-.3.5h-1c-.2 0-.5.4 0 .3l1.6-.3c.2 0 .4-.2 0-.5zm.7.6c-.3-.3-.4-.2-.3 0s-.1.3-.3.3l-1.4.4c-.4 0-.4.3.1.3s1.5-.5 1.6-.5.2-.3.3-.2.3 0 0-.3zm.3.8l-1 .5c-.3 0-.5.3 0 .3s1-.5 1.2-.6l.4-.2s.4-.1 0-.4-.8 0-.6.1 0 .3 0 .3z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+    <path d="M360.6 190.5c-3.1-2-6.7 2.3-3.2 4.6 3 2.1 6.2-2.6 3.2-4.6z"/>
+    <path fill="#fff" d="M356.7 192.4h1c-.3 1 .7 2.4 2.2 2.1-1.2.9-3.5-.1-3.2-2.1zm12.2 46.8c1 .3 4.2.6 5.3.7l-1.4 2.8c-.3.8-.5.9-.5-.4s-.8-2.1-1.5-.8l-1.3 2.4c-.3.6-.8.8-.7-.6v-4z"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M399.7 640.8c0 16.3-2.6 33.9-23.8 42.3-21.1-8.4-23.7-26-23.8-42.3h47.6zm0 0c0-6.2-.3-12.2-.2-17.4a63.6 63.6 0 00-23.6-4.3c-5.3 0-15.7.8-23.6 4.3.2 5.2-.2 11.2-.2 17.4h47.6z" transform="matrix(4.9436 0 0 4.9441 -1482.9 -2891.1)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/si.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/si.svg
new file mode 100644
index 0000000..6de77ef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/si.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-si" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M60.2 0h497.3v497.3H60.2z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="translate(-62) scale(1.0295)">
+    <path fill="#fff" d="M0 0h994.7v497.3H0z"/>
+    <path fill="#d50000" d="M0 331.6h994.7v165.7H0z"/>
+    <path fill="#0000bf" d="M0 165.8h994.7v165.8H0z"/>
+    <path fill="#d50000" d="M282 90.3c-3.9 59.9-6.1 92.7-15.2 107.9-9.9 16.3-19.5 28.2-58 42.6-38.4-14.4-48-26.3-57.9-42.6-9-15.2-11.3-48-15.2-107.9l5.7-1.9c11.4-3.5 20-6.3 26.3-7.5 9-2 16.7-4.1 41-4.6 24.3.4 32 2.7 41 4.6 6.4 1.3 15.3 4 26.6 7.5l5.7 2z"/>
+    <path fill="#0000bf" d="M276.4 88.3c-3.7 59.8-6.7 87.2-11.6 100.3-9.3 22.6-24.1 35-56 46.7-31.8-11.8-46.6-24.1-56-46.7-4.8-13.1-7.9-40.4-11.4-100.3 11.2-3.5 20-6.2 26.3-7.5 9-1.9 16.7-4.2 41-4.6 24.3.4 32.1 2.7 41.1 4.6 6.4 1.3 15.3 4 26.6 7.5z"/>
+    <path fill="#ffdf00" d="M208.8 106.6l1.5 3.7 6.7.9-4.3 2.6 4.2 2.8-6.1 1-1.9 3.3-2-3.4-6-.8 4-2.9-4-2.6 6.4-1 1.5-3.6z"/>
+    <path fill="#fff" d="M262.5 174.5l-3.7-3-2.7-4.4-5.2-4.6-2.8-4.6-5.2-4.7-2.6-4.6-2.8-2.3-1.9-1.7-4.7 4.1-2.6 4.6-3.3 2.9-3.5-2.8-2.7-4.7-10-17.7-10 17.7-2.6 4.7-3.6 2.8-3.2-3-2.6-4.5-4.7-4.1-1.9 1.7-2.8 2.3-2.6 4.6-5.2 4.7-2.8 4.6-5.3 4.6-2.6 4.4-3.7 3a64 64 0 0018 35.2c6.4 6.1 19.5 14.4 35.5 19.9a101 101 0 0035.7-20 64 64 0 0018.1-35.1z"/>
+    <path fill="#ffdf00" d="M224.8 81.5l1.5 3.6 6.7 1-4.3 2.5 4.2 2.9-6.1 1-1.9 3.3-2-3.4-5.9-.8 4-3-4.1-2.5 6.4-1 1.5-3.6zm-32 0l1.5 3.5 6.7 1-4.3 2.6 4.2 2.8-6.1 1-1.9 3.3-2.1-3.4-5.8-.8 4-2.9-4.1-2.6 6.4-1 1.5-3.6z"/>
+    <path fill="#0000bf" d="M254.2 197.2H247l-6.7-.5-8.1-4-9.2.1-7.9 3.9-6.2.5-6.3-.5-7.9-3.9h-9.1l-8.1 4-6.7.4h-7.4l-3.5-6 .1-.2 10.9 1.8 6.6-.5 8.1-4h9.2l8 4 6.2.5 6.2-.6 8-3.8h9l8.2 3.9 6.7.5 10.5-1.9.2.3-3.6 6zm-84 9.3l7.2-.5 8.1-4h9.1l8 3.9 6.2.6 6.2-.6 8-3.9h9.1l8.1 4 7.3.5 4.7-5.8-.2-.2-5 1.5-6.7-.5-8.1-4h-9.1l-8 4-6.2.5-6.2-.5-8-4h-9.1l-8.1 4-6.7.5-5-1.2v.2l4.4 5.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sj.svg
new file mode 100644
index 0000000..f4e5829
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sj.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sj" viewBox="0 0 512 512">
+  <path fill="#ef2b2d" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M128 0h128v512H128z"/>
+  <path fill="#fff" d="M0 192h512v128H0z"/>
+  <path fill="#002868" d="M160 0h64v512h-64z"/>
+  <path fill="#002868" d="M0 224h512v64H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sk.svg
new file mode 100644
index 0000000..fd72868
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sk.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sk" viewBox="0 0 512 512">
+  <path fill="#ee1c25" d="M0 0h512v512H0z"/>
+  <path fill="#0b4ea2" d="M0 0h512v341.3H0z"/>
+  <path fill="#fff" d="M0 0h512v170.7H0z"/>
+  <path fill="#fff" d="M203.2 395.5c-45.9-22-111.5-66-111.5-152.8s4.1-126.2 4.1-126.2h214.8s4.2 39.4 4.2 126.2S249 373.4 203.2 395.5z"/>
+  <path fill="#ee1c25" d="M203.2 384c-42.1-20.3-102.3-60.5-102.3-140.2s3.8-115.8 3.8-115.8h197s3.8 36.2 3.8 115.8-60.2 120-102.3 140.2z"/>
+  <path fill="#fff" d="M212.2 223c11.4.2 33.7.6 53.5-6 0 0-.6 7-.6 15.3s.6 15.3.6 15.3a172 172 0 00-53.5-6v44h-18v-44a172 172 0 00-53.5 6s.6-7 .6-15.3-.6-15.3-.6-15.3c19.9 6.6 42.1 6.2 53.5 6v-27.7a128 128 0 00-42.3 6.1s.5-7 .5-15.3-.5-15.4-.5-15.4c17 5.7 31.9 6.2 42.2 6-.5-17.4-5.6-39.4-5.6-39.4s10.5.8 14.7.8c4.2 0 14.7-.8 14.7-.8s-5.1 22-5.7 39.5a126 126 0 0042.3-6s-.5 7-.5 15.3.5 15.3.5 15.3c-17-5.7-31.9-6.1-42.3-6V223z"/>
+  <path fill="#0b4ea2" d="M203.2 280.8c-21.2 0-32.6 29.4-32.6 29.4s-6.3-14-23.6-14c-11.7 0-20.3 10.5-25.8 20.2 21.3 33.8 55.3 54.7 82 67.6 26.7-12.9 60.7-33.8 82-67.7-5.5-9.6-14.1-20-25.8-20-17.3 0-23.6 14-23.6 14s-11.4-29.5-32.6-29.5z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sl.svg
new file mode 100644
index 0000000..18c76d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sl.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sl" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <rect width="384" height="512" rx="4.6" ry="7.6"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="scale(1.33333 1)">
+    <path fill="#0000cd" d="M0 341.7h512V512H0z"/>
+    <path fill="#fff" d="M0 171.4h512v170.3H0z"/>
+    <path fill="#00cd00" d="M0 0h512v171.4H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sm.svg
new file mode 100644
index 0000000..1ed18ee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sm.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sm" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#19b6ef" d="M0 256h512v256H0z"/>
+    <path fill="#fff" d="M0 0h512v256H0z"/>
+  </g>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M252.9 361.8C308.8 320 369 234.6 298.5 189.7c-13.2-2.6-27.9-1.8-35 3.8-3.7-2.2-6.6-2-10.4 2-2.6-3.2-5.2-4.7-10.7-3a43.6 43.6 0 00-33.6-3.4c-61.5 37-23.9 124.6 44 172.7z"/>
+  <g stroke="#3a9d4f">
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M356.3 266.8s6.3-8.5 6.5-8.5c6.3-3.7 7-8.5 7-8.5 6.3-2 4.3-7.1 4.8-7.8a6.9 6.9 0 001.5-7.6c0-.9 2.2-8.9-.9-10 .2-8.5-5.1-7.7-9.3-2.1-4.5 1.3-5.5 5-4 9-5.8 0-6 8.5-4.3 13.3-7.8-.2-3.4 8.5-3.7 9-2.6 1.2 2 13.6 2.4 13.2zM307 339.5l4 2.4c.7 3 3.5 4.8 5.6 4.3 1 4.6 6 4 9.5 1.3 3 4.2 6.5 4.3 11.3 2.9 4.4 3.2 10 1.8 13.7-1.6 4 3.3 6.7 1 8.7-2.6 3.1.8 5.6.3 6.7-2.8 6.1-.5 3-6.2-2-8.7 4-3.4 8.5-10.6 2.2-11.7-2-1.4-5.6-1.1-8.4.2-.7-3.2-5.2-4-10-.4-1.7-3.6-7.5-1.9-10.2.6-3.5-3-7.6-3-13.7.5L307 339.5zm0-9.3c.7-4-2-11.2 2.2-12-.8-6.6.4-14.1 8-13.4 1.3-6.3 1-12.2 8.3-13 0 0 5.9-20.5 12-6.3 2.3 4 1.9 10.8-2.9 9.5 1 5-.7 9.5-6.3 9.3 2.5 3.6 1.7 8.4-1 10.7L307 330.2zm35.4-25.4l6.3-1.3c6.5-4.4 9.1-6.1 12.4-1.3 5.4-1.2 10.6-.6 10.4 3.7 6.5.4 6.4 4.5 5.7 7.8 1 5.7-1.5 13.2-5.5 4.1-12.6-7.7-19.7-6.7-39.7-2.2l10.4-10.8zm3.3-6.3c.2-.2 18.7-5 16.7-10.7 5.2-.8 6.3-6 6.5-6 10.9-3.5 10.2-9.8 10.2-9.8 3.1-3.4 8.6-6.7 7.4-12.6.4-6.7 1-10.9-8-6.5-6.8-.7-9.1 3.2-11.1 9-3.2-3.7-8.3 2.3-8.9 7.7 0 0-8.3 8-8.3 8.2l-6.9 12.8 2.4 7.9z"/>
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M346.1 284.1c-4.4-3.3-6.9-7.3-6-11.3-3-3.9-5-6.3-2.2-9.7l-2.2-8c-5.7-2.2-3.3-7-1.7-8.7-2.7-3.7-2.8-7.6-.3-11.1 0-7 4.9-4.4 9 0 0 0 6.7 4.8 1.7 9.1 5 1.7 6.5 6 3.7 7.8 4.3 2 5 5.9 2.6 8.5 4.4 3.5 2.7 8 4.1 12l-8.7 11.4z"/>
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M354 251.8c-.3-.2-7.5-9.4-5.5-10-.4-2.8-2.6-5.9-1.3-8.7-3.5-3.5-3.6-7.7-.9-11-2.4-3.3-1.3-7.7 2-10.5-1-5.3 2.7-6.6 6-7.6 2.5-8.6 6.5-6.4 8.8.2 3.4 3 2.9 7.5 1.7 10.9 4 2.7 1.6 6.1-.2 7.6l-10.7 29.1z"/>
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M352.9 206l-6.1-6.1c1.5-3.2 2.8-9-1.8-11.5-2.5-6.2-15-13.8-17.1.8-2-4.4-6-8.7-9-3.6-6.5-5.7-10-4-6.6 3.2 0 0-3 4.8 5 8.5.6.6-2.7 8.7 6.9 8.9-1.8 2.7 1.2 6.6 5 6.3-2.8 3.4 1.9 7 4.8 5.6-1.3 3.8-1.2 5.6 4 6.1l6 6.7 4.7 6.6 4.1-31.5z"/>
+    <path fill="none" stroke-linecap="round" stroke-width="2.2" d="M356.6 263c.2-.4 11.6-26.5 13.1-34.5m-12-12s2 21.3-3.3 37M322.8 195s23.3 22.4 25.5 31.6m-9.3-34s1.6 18.4 8 36.5m33.2 30.4s-23.3 19.6-34.7 36.8m12.6 32s-30.7 4.2-44.2 4.5m34 8.7s-38-1-40.8-3.7M329 292c0 .3-19.3 32.2-20 42.7"/>
+  </g>
+  <path fill="#65c7ff" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M252.7 355.7c-40.3-38-81.6-109.4-40.5-145.4 7.2 4.1 15.9.4 27.7-4.2 3.6 3.9 8.2 4.9 12.7 2 5.2 2.1 9 .4 11.5-2.4 11.6 6.8 26.5 10.3 30 3.6 40.4 38.4-.5 110-41.5 146.4z"/>
+  <path fill="#8fc753" fill-rule="evenodd" d="M252.9 354.6a227.1 227.1 0 01-45.2-61.5c2-1.8 3-2.3 4.1-5.4a46 46 0 0017.7-.3c1.6 6.1 2 11.2 5.8 16.3l8.2-16a36 36 0 0017.6 0c3.4 4.6 2.2 11.5 8.2 16.7 3.6-10.6 7.2-11.3 10.8-17 5.3 1.9 8.7 1 13-.3 2.3 2.6 1.2 2.5 5.4 6.4a206.4 206.4 0 01-45.6 61z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M205.5 175.3a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm-3.7-8.3a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm-4.4-7.6a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm-3-7.4a3.6 3.6 0 11-7 0 3.6 3.6 0 017 0zm.5-8.1a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm18.9-13.3a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm-7.1 1.2a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm-7.7 4.7a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm23.9-5.8a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm9.9.8a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017 0zm8.8-.5a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0z"/>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="1.1" d="M262.3 125.3a9.2 9.2 0 11-18.4 0 9.2 9.2 0 0118.3 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M271.9 130.9a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm9.3.7a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm9-.4a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm7.6-.3a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm9.5 1a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm7.4 4.7a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0z"/>
+  <path fill="#e40000" fill-rule="evenodd" stroke="#ac0000" stroke-width="2.4" d="M202 161.8l9.2 17.6h84.5l9.7-17c-5.7-3.9-9.6-6.9-17.7-5-4.7-6.7-9.7-8-17.2-7.2a12.3 12.3 0 00-8-4.2l-17.8.5c-4.6.4-8.2 4-8.4 4-7.6-1-14.5-.7-16.3 6.6-6.9-1.7-11.7.2-18 4.7z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M317.8 144.4a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm.6 8.3a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm-2.6 7.8a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zm-3.3 6.4a3.6 3.6 0 11-7 0 3.6 3.6 0 017 0zm-3.8 8a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm-50-10.2a5.3 5.3 0 11-10.5 0 5.3 5.3 0 0110.5 0zm1-12.1a6.4 6.4 0 11-12.7 0 6.4 6.4 0 0112.8 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M258.9 140.8a5.7 5.7 0 11-11.5 0 5.7 5.7 0 0111.5 0z"/>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="1.1" d="M251.2 116.3v-4.6h-3.8l.1-3.4h3.3v-3h4.7v2.7h3.7v3.6h-3.9v4.8h-4.1z"/>
+  <path fill="none" stroke="#fd0" stroke-width="3.3" d="M210.7 179.4c-7.5-12.9-18.7-30.3-11.8-37.8 9.6-10.9 32-1 46.3-7.4 1 12.3-2.4 32.5 3.1 36.7l-5.1 4.5c-3.1-4-9-9.4-16.3.2-4.1-3.6-8.8-3-11 1.8-2.2.3-2 1.2-5.2 2zm85.5-.5c7.5-12.8 18.7-30.2 11.8-37.8-9.6-10.8-32-1-46.3-7.3-1 12.2 2.4 32.4-3.1 36.7l5.1 4.4c5-6.9 11-7.1 16.2.3 4.2-3.7 8.5-3.2 11.1 1.8 2.2.3 2 1.1 5.2 2z"/>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M210.5 189a466 466 0 0184.5 0l3.3-9.6c-29.5-5.4-49.9-6-88.5-.7l.7 10.2z"/>
+  <path fill="#c76e2e" fill-rule="evenodd" d="M249.7 351.3l.7-4.5c3 .9 5.3.5 7.8-.4l2.6-3.9-2-2.3c-1.7.4-3 2-4.2 3.4-1.7 0-3.2-.8-4.9-1.1l-1.6-6.9c-1.6-1.9-5-1.7-4.3 1.7l.4 2.6c.6 1.6.9 3.9 2 5v2.8l3.5 3.6zm1.3-19.5c-2.3 1.1-5-.8-7.8-2-2.6-.1-4.7 2-7.9 1.4.6-1.7 2-2 3-3-.7-4.4 1.6-5.9 2.3-5.9.6 0 3.2.7 3.2.7l2.6.3c1.6 2.8 3.7 5.4 4.6 8.5z"/>
+  <path fill="#ffe100" fill-rule="evenodd" stroke="#e9bf00" stroke-width="2.4" d="M235.5 390.5c7.5-12.3 60-36.8 109.2-89.9-50 48.3-81.4 60.1-122.4 89.6l13.2.3z"/>
+  <path fill="#9d4916" fill-rule="evenodd" stroke="#68300e" stroke-width="1.1" d="M307.6 334a3.8 3.8 0 11-7.6 0 3.8 3.8 0 017.6 0zm36.7-37.1a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.7 0zm12.2-31.6a3.8 3.8 0 11-7.6 0 3.8 3.8 0 017.6 0zm-12-41a3.8 3.8 0 11-7.6 0 3.8 3.8 0 017.6 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#a9a9a9" stroke-width="1.1" d="M212.4 287.6v-16.2l-1.7-1.4v-3.8l3-.3.6-18-2-1.1-.2-3s2.2.8 2.2.2l.5-3.5s-1.3-.3-1.3-.9 1.6-1.9 1.6-1.9-.8-.8-1-1.3l-.9-3 .8-3-.5-1.7-1.4-2.5 2-1.9-.6-3c0-.5 1.3-2.8 1.6-3l2.5-3.3 4.6-1.1 5.5.8 3 2 .6 4.9s-.6 3-.8 3l-2.5 1s-2.7.3-3 0 .8 3.3.8 3.3v3.3l-.3 4.1s0 2-.2 2.2l-.9 1.1-.2 4.1 4.3 1.1-.2 2.5-3 .3.5 16.7 4.4.8v4.7l-2 1-.5 16.8h-15.3zm66.5.2v-16.1l-1.6-1.4v-3.8l3-.3.6-18-2-1.2-.2-3s2.2.8 2.2.3l.5-3.6s-1.4-.2-1.4-.8 1.7-1.9 1.7-1.9-.8-.8-1.1-1.4-.8-3-.8-3l.8-3-.6-1.6-1.3-2.5 1.9-2-.6-3a10 10 0 011.7-3l2.4-3.2 4.7-1.1 5.5.8 3 2 .5 4.8s-.5 3-.8 3-2.5 1.2-2.5 1.2-2.7.2-3 0 .9 3.2.9 3.2v3.3l-.3 4.1s0 2-.3 2.2l-.8 1.1-.3 4.1 4.4 1.1-.3 2.5-3 .3.6 16.7 4.3.8v4.6l-1.9 1.1-.5 16.7h-15.4zm-33.6.6v-16.2l-1.7-1.3V267l3-.2.6-18.1-2-1.1-.2-3s2.2.8 2.2.3l.5-3.6s-1.4-.3-1.4-.8 1.7-2 1.7-2l-1.1-1.3c-.3-.5-.8-3-.8-3l.8-3-.6-1.7-1.3-2.4 1.9-2-.6-3a10 10 0 011.7-3l2.5-3.3 4.6-1 5.5.8 3 1.9.5 4.9s-.5 3-.8 3-2.4 1.1-2.4 1.1-2.8.3-3 0 .8 3.3.8 3.3v3.3l-.3 4s0 2-.3 2.3c-.3.2-.8 1-.8 1l-.3 4.2 4.4 1-.3 2.5-3 .3.6 16.7 4.4.8v4.7l-2 1-.5 16.8h-15.3z"/>
+  <path fill-rule="evenodd" d="M216.4 287.4v-12.7h7.2V288l-7.2-.6zm33.6 1l.3-13h6.4v12.8l-6.6.3zm33.2-.2l-.5-12.2 6.8-.3v12.8l-6.3-.3zm-65-38.5h4v6.7h-4zm32.4.3h5.6v6.4h-5.6zm33 .5h5v6.1h-5z"/>
+  <path fill="none" stroke="#a8a8a8" stroke-width="1.1" d="M220.3 220.8c4.4 4.9 4.7 4.9 4.7 4.9m28-5c.7 1.7 2.1 5.3 3.8 5.5m31.2-4.6s1.3 3.8 3.3 4.3"/>
+  <path fill="#b97700" fill-rule="evenodd" d="M215.7 207c12.8-4.2-3-12.5-5.6 0-4.2.6-4.7 3.7-13.7 2.3-21.7 35.4-5.6 92.3 57.8 151.3-113.6-96.6-67.4-168-36-165.4 17.1 1.2 8.5 22.5-2.5 11.8z"/>
+  <path fill="none" stroke="#7d6c00" stroke-width="2.4" d="M219.2 188.8s10.5 2.8 10.5 7.3m0-8s7.2 3.1 8.8 6m48.1-4.8s-9.2 1.1-11.2 4m-2.8-3.3s-5.2 4.5-4.8 5.7m3.6 13.6c-.8-.4-4.4-5.2-3.6-11.2m-31.7 8s2.4-2.8 2.4-8m14.4-2l.4 11.6m10-1.6c0-.8 3.3-8.4-.3-12m-21.7-1.6s-2.8 7.6-.8 14m21.3-7.2s-4.4 1.2-6.4 3.2m-12.5-2c0-.4 4.8-1.2 6.4 1.6"/>
+  <path fill="#c76e2e" fill-rule="evenodd" d="M235.3 322c.2 0 4-.7 4-2.6 2-1.2.5-4.7.5-4.7l-3.6-.7-4.9-5.6c-.2-1.7.4-3.3-.7-5-3.4.8-5.3 3.6-6.5 6.9.9 1 1 2.1 2.5 3 1.6.3 2.7-.6 4.2-.3.8 1.3.6 2.5.8 3.7 2 1.5 2.5 3.5 3.7 5.3zm-4.4-23.7v-6.6l-4.7-.1c-.6 1-1.7 1.4-2.4 2.3l-3.2 1.6c1.3 1.7 3 2.6 4 3.4 2.5.7 4.4.7 6.3-.6zm-14.8 9.7l-2.5-4.3a7.7 7.7 0 015 .3s1.1 2.7.3 3.7c-.4 1-2.9.5-2.8.3zm39 4.4a4.7 4.7 0 002.9-3.5l-4.8-5.5H249c-1-1.1-2.6-1.3-3.9-1.3 0 0 1.4 2 3.1 2.5 1.3 2.7 6.6 7.8 7 7.8zm4.6.7a16 16 0 016.5-1.4c-.2-1.7 3.1-5.7 3.1-5.7l6 7.8c-1.1.9-3 .6-4.5.9 0 0-2.9 2.8-3.2 2.9s-5.5 1.3-8-.2c-1.2-2.2.2-4.7.1-4.3zm3.4-13.7c.7-2.5 1-5 0-8 0 0-6.8-.2-6.8 0l-4.5 2s1.5 4.5 3.2 4c.8 2.4 3.1 1.8 4.2 2.6l3.9-.6zm26.5-6.8c-.9 2.8-1.4 5.8 0 8.6 1.2.2 2.6 1 3.7.8l5.5-9.8c-3.8-1.2-6.8-1.1-9.2.4z"/>
+  <path fill="#b97700" fill-rule="evenodd" d="M291.3 206c-12.8-4 3-12.4 5.6 0 4.2.7 4.7 3.8 13.7 2.5 21.6 35.3 5.6 92.3-57.8 151.2 113.5-96.6 67.4-168 36-165.4-17.2 1.2-8.5 22.5 2.5 11.8z"/>
+  <path fill="#c76e2e" fill-rule="evenodd" d="M292.6 303.6c-.2 0-3.3 2.3-3.3 2.3l-4.4 1.7-4.7.1-1-3.2 3.6-3.2c-3-.5-6.1.7-8.5 3 0 0 0 3.5 2 5.3a41 41 0 004.8 4.3c2.3.4 4.4 0 5.9-1.1l5.6-9.2zm-24.8 32.2c1.5.4 12.1-13.6 12.1-13.6a10.7 10.7 0 00-5.2-5.8s-5.2 6-5.3 8.1c-.8 1.9-3.1 9-2.1 9.9-.1.2-.5 3 .5 1.4z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M198.8 338.6c-15.8-13.8-37.2-21.4-67-11 8 3.4 16.7 4.6 24.1 8.3l42.9 2.7z"/>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M153 328.8c31.2.6 40.3 8.4 38.6 7.1"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.2" d="M199.4 340.2c-9.3 1.8-22.2 10.8-26 10.4-10.1-1.2-19.7-5.4-29.5-8.5-4.1-1.3-8.2 0-12.4 0 35-16.6 47-14.3 68-2z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M176.4 315.8s-11.7 1.6-17 2c-5.1-.4-12.7-5.2-21-14-4.4-4.8-14.3-4.2-14.3-4.2 22-4.7 39-.3 52.3 16.2zm-16-22.7c-15.9-1-35.7-15.3-40.2-32.2 0 .3 5.8 3.7 4.9 4.6 26 6.6 27.8 11.9 35.4 27.6zm26.7 27.3c2.3-14.4 3-24-4-32.5-5.5-6.5-7-10.4-11-19.5-1.1 19-5.2 34.6 15 52zm-25-40c11.8-17.2 13.8-30.2 12-50.6a88.4 88.4 0 01-4.6 11.7c-17.5 11-9.7 28.2-7.4 39z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M151.7 197.3c11.8 17.2 10 33.4 8.1 53.9a89.1 89.1 0 00-4.5-11.7c-17.6-11-5.9-31.5-3.6-42.2z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M161.4 224c28.6-14.5 17.6-32.8 22.8-46.9-19.8 14.8-22.4 30.5-22.8 46.8z"/>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M165.3 220.3c3.6-10 10.7-27.2 11.4-27.2m-19.8 48.4c-.7-7.2-4.2-26.4-4.6-28.3"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M158.2 273.6c-16-1-33.1-22.7-37.7-39.6 0 .2 5.9 3.6 4.9 4.5 22.8 10.2 25.2 19.4 32.8 35zm-4.7-15c-11.8-17.2-13.9-30.2-12-50.6.3 1.6 4.2 11.7 4.5 11.7 17.5 11 9.7 28.2 7.5 39zm10.5-30.1c29.6-13.1 20.5-26.9 29.3-41.3-19.8 14.7-29 25-29.3 41.3z"/>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M165.3 225.5c12-12 16.3-22 16.3-22"/>
+  <g fill-rule="evenodd">
+    <path fill="#ffe100" stroke="#e9bf00" stroke-width="2.4" d="M270.4 390.8l14.4.3c-47.7-44.8-139.3-64.3-126.5-146.6C145 333.8 233 342 270.4 390.8z"/>
+    <path fill="#9d4916" stroke="#68300e" stroke-width="1.1" d="M165.8 226.8a4.6 4.6 0 11-9.2 0 4.6 4.6 0 019.2 0zM163 252a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.7 0zm4 36a3.8 3.8 0 11-7.6 0 3.8 3.8 0 017.6 0zm33.4 39.7a3.8 3.8 0 11-7.7 0 3.8 3.8 0 017.7 0zm4.8 11.4a3.8 3.8 0 11-7.6 0 3.8 3.8 0 017.6 0z"/>
+  </g>
+  <g fill="#fff" fill-rule="evenodd">
+    <g stroke="#000" stroke-width="1.1">
+      <path d="M222 372.3a16.7 16.7 0 01-5-6.2l-15-1.7-.2 8.6 20.3-.7z"/>
+      <path stroke-linejoin="round" d="M112.3 362.2c8.7 1.6 21.8-.8 26.1 4.8 5.2 5.8-16 14.8-13 19.8 6.5 7 13.3 4.1 20.6.3 1.8-3.8 3.1-10.5 4-12.5-2.6-6.1-9.8-9.1-8-18.4 12.2-4.6 35.5-4.2 38-2.4 2 3.8.2 5.6.6 8.7-2 3.8-7.2 10.4-7.2 14 12.7 4.4 16-.8 27.5-.5 13.4.2 21.6 3.8 24.5-1.5-2-4.6-14.3-.9-19-3.9-2.3-.8-3.8-2.6-5.8-4.7s-7.7-2.2-8.6-7.3c2.4-10.9 18.1-9.2 20.7-10.9l41 2.8c7.4-.2 11.6 13.2 1.6 17.2s-39.7-6-52.5 1c-.7-2.9-10-7.1-10.6-7.3-4 1.2-11.6.8-11.6.8-1.9 3.5-4 6-5.9 9.5-8.5-3.7-16.5 2.9-25.8 1l-14.5 1.5-9.2-.8-14 4 10-8.8-8.9-6.4z"/>
+      <path d="M111.7 360.5a3.9 3.9 0 11-7.7 0 3.9 3.9 0 017.7 0zm-1 19.1a3.9 3.9 0 11-7.8 0 3.9 3.9 0 017.8 0z"/>
+    </g>
+    <g stroke="#000" stroke-width="1.1">
+      <path d="M284 372.4c2.5-2.3 4-3.8 5-6.3l15-1.6.3 8.6-20.3-.7z"/>
+      <path stroke-linejoin="round" d="M393.7 362.3c-8.7 1.6-21.8-.8-26 4.8-5.2 5.8 16 14.8 13 19.8-6.6 7-13.3 4.1-20.7.3-1.7-3.8-3-10.5-4-12.5 2.7-6.1 9.9-9.2 8-18.5-12.1-4.5-35.4-4.1-38-2.4-2 3.9-.1 5.7-.5 8.7 2 4 7.1 10.5 7.1 14-12.7 4.5-16-.7-27.5-.4-13.4.2-21.6 3.8-24.5-1.6 2-4.6 14.3-.8 19-3.8 2.3-.8 3.8-2.7 5.9-4.7s7.7-2.2 8.5-7.3c-2.4-10.9-18.1-9.2-20.7-10.9l-41 2.8c-7.4-.2-11.5 13.2-1.5 17.2s39.6-6 52.5.9c.7-2.8 9.9-7 10.6-7.2 3.9 1.2 11.6.8 11.6.8 1.8 3.4 4 6 5.9 9.5 8.5-3.8 16.5 2.9 25.8 1l14.4 1.5 9.3-.8 14 4-10-8.8 8.8-6.4z"/>
+      <path d="M394.4 360.5a3.9 3.9 0 107.7 0 3.9 3.9 0 00-7.8 0zm1 19.2a3.9 3.9 0 107.7 0 3.9 3.9 0 00-7.7 0z"/>
+    </g>
+    <path d="M252.8 351.3c-3.5-.7-4.7-.5-7-.7l-5.5 16.9c8.4.7 16.3.7 16.3.7-5.1-1-3.9-16.8-3.8-17z"/>
+  </g>
+  <g font-family="Trebuchet MS" font-size="9" font-weight="bold">
+    <text x="448.6" y="344.3" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="448.6" y="344.3">L</tspan>
+    </text>
+    <text x="453.6" y="344.6" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="453.6" y="344.6">I</tspan>
+    </text>
+    <text x="456.7" y="345.1" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="456.7" y="345.1">B</tspan>
+    </text>
+    <text x="462.6" y="345.5" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="462.6" y="345.5">E</tspan>
+    </text>
+    <text x="468.3" y="345.6" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="468.3" y="345.6">R</tspan>
+    </text>
+    <text x="473.9" y="345.4" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="473.9" y="345.4">T</tspan>
+    </text>
+    <text x="479.3" y="344.5" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="479.3" y="344.5">A</tspan>
+    </text>
+    <text x="485.5" y="344.3" transform="translate(-581.2 -248.8) scale(1.7767)">
+      <tspan x="485.5" y="344.3">S</tspan>
+    </text>
+  </g>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M161.4 339.8c10.8 1.3 25.7.4 32.2 0m-48.4-36.7c9 7.2 28.9 11.4 28.6 11.4m11.3 2c-2.9-15-6.1-18.5-8.7-28m-46.5-16.9c15.3 6.9 17.6 11.4 27.3 18.2m5.5-15c1.3-18.4 4-23.3 8.5-27.5m-41.3-2.3a2102 2102 0 0023.7 25.3m-7.4-42.2c6.8 4.9 6.8 22.4 6.8 22.4"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sn.svg
new file mode 100644
index 0000000..fbbad5e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sn.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sn" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#0b7226" d="M0 0h170.7v512H0z"/>
+    <path fill="#ff0" d="M170.7 0h170.6v512H170.7z"/>
+    <path fill="#bc0000" d="M341.3 0H512v512H341.3z"/>
+  </g>
+  <path fill="#0b7226" d="M197 351.7l22-71.7-60.4-46.5h74.5l24.2-76 22.1 76H356L295.6 280l22.1 74-60.3-46.5z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/so.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/so.svg
new file mode 100644
index 0000000..96d88a9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/so.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-so" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M177.2 0h708.6v708.7H177.2z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-128) scale(.72249)">
+    <path fill="#40a6ff" d="M0 0h1063v708.7H0z"/>
+    <path fill="#fff" d="M643 527.6l-114.3-74-113.6 74.8 42.3-121.5-113.5-75 140.4-1 43.5-121.1 44.5 120.8 140.3.1-112.9 75.7L643 527.6z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sr.svg
new file mode 100644
index 0000000..a0ca03e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sr.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sr" viewBox="0 0 512 512">
+  <path fill="#377e3f" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 102.4h512v307.2H0z"/>
+  <path fill="#b40a2d" d="M0 153.6h512v204.8H0z"/>
+  <path fill="#ecc81d" d="M255.9 163.4l60.2 185.2-157.6-114.5h194.8L195.7 348.6z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ss.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ss.svg
new file mode 100644
index 0000000..7e6a47f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ss.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ss" viewBox="0 0 512 512">
+  <path fill="#078930" d="M0 358.4h512V512H0z"/>
+  <path fill="#fff" d="M0 153.6h512v204.8H0z"/>
+  <path d="M0 0h512v153.6H0z"/>
+  <path fill="#da121a" d="M0 179.2h512v153.6H0z"/>
+  <path fill="#0f47af" d="M0 0l433 256L0 512z"/>
+  <path fill="#fcdd09" d="M209 207.8L64.4 256l144.8 48.1-89.5-126v155.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/st.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/st.svg
new file mode 100644
index 0000000..da5df29
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/st.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-st" viewBox="0 0 512 512">
+  <path fill="#12ad2b" d="M0 0h512v512H0z"/>
+  <path fill="#ffce00" d="M0 146.3h512v219.4H0z"/>
+  <path fill="#d21034" d="M0 0v512l192-256"/>
+  <g id="c" transform="translate(276.9 261.5) scale(.33167)">
+    <g id="b">
+      <path id="a" d="M0-200V0h100" transform="rotate(18 0 -200)"/>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+  </g>
+  <use width="100%" height="100%" x="700" transform="translate(-550.9)" xlink:href="#c"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sv.svg
new file mode 100644
index 0000000..e824395
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sv.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-se" viewBox="0 0 512 512">
+  <path fill="#066aa7" d="M0 0h512v512H0z"/>
+  <path fill="#fecc00" d="M0 204.8h512v102.4H0z"/>
+  <path fill="#fecc00" d="M134 0h102.4v512H134z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sx.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sx.svg
new file mode 100644
index 0000000..5d9fadf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sx.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sx" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h450v450H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="scale(1.1378)">
+    <path fill="#ed2939" fill-rule="evenodd" d="M0 0h675v225H300L0 0z"/>
+    <path fill="#002395" fill-rule="evenodd" d="M0 450h675V225H300L0 450z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M0 0l300 225L0 450V0z"/>
+    <path fill="#ff0" d="M151.4 169.8l.1-3.4s-1.9-3 .3-6.2c0 0-4.6-2.5-3.5-6.3 0 0-4.2-1-3.9-5.6 0 0-4.5-.3-5-4.2 0 0-4.5.8-6.4-3 0 0-4.4.9-5.7-2.2 0 0-4.2 1.5-6.8-2.1 0 0-4.5 1.8-6.4-1.6-1.8 3.4-6.3 1.6-6.3 1.6-2.5 3.6-6.8 2-6.8 2-1.2 3.2-5.6 2.3-5.6 2.3-2 3.7-6.5 3-6.5 3-.4 3.8-5 4.1-5 4.1a5.3 5.3 0 01-3.7 5.7c1 3.8-3.5 6.2-3.5 6.2 2.2 3.2.3 6.2.3 6.2v3.2l74.4.3"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M377.2 843.1v-3.5s-1.8-3 .4-6c0 0-4.6-2.5-3.5-6.3 0 0-4.2-1-3.9-5.6 0 0-4.5-.3-5-4.1 0 0-4.4.7-6.3-3 0 0-4.4.8-5.6-2.2 0 0-4.3 1.5-6.8-2.1 0 0-4.5 1.8-6.3-1.6-1.9 3.4-6.4 1.6-6.4 1.6-2.4 3.5-6.7 2-6.7 2-1.2 3.1-5.5 2.3-5.5 2.3-2 3.7-6.5 3-6.5 3-.4 3.7-4.9 4-4.9 4a5.1 5.1 0 01-3.7 5.6c1 3.8-3.5 6.2-3.5 6.2 2.2 3.2.3 6.2.3 6.2v3.2l73.9.3z" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="red" d="M149.7 165.5c-11.7-1.2-25.2-4-35.6 1.9-7-4.1-16.7-3.9-25-3-4.4.7-9.7.7-14.4 1.5l-.7.1c-8.6.6-16.3-2-23.7-5.2 2.4 13.3 5 27 6.3 41 2.8 20.6-9.8 38-4.7 58.4 3.1 9.8 13.9 15.5 23.8 16.6a188.7 188.7 0 0128.2 4 28 28 0 014.9 1.7 17.3 17.3 0 015.7 4c5.4-5.5 13.2-7 21-7.8 13.8-1.7 31-.8 39.5-13.4v-.7c4.6-7 4-17.6 2-25.5-.2-2.7-.9-5.1-1.3-7.8-8.5-22.4-1.2-47.6 2.4-70.2-4.4 2.4-9.4 3.6-14.4 4.8-4 .5-8.3.3-12.4 0l-1.6-.4"/>
+    <path fill="#80cfe1" d="M167.2 229.9c-.1 1.5.7 2.6 1 4 1.6 9.8 3.2 22.8-7 28.9-11 7-25.7 4-38.6 7.8-2.6.7-6.2 3-8 4.7-1.2-.7-2.3-1.9-3.8-2.6-10.7-5.6-24.5-3.8-36.5-6.8-6-2-12.3-6.6-13.9-12.8-3.9-16.2 5.5-30 4.4-46a195.7 195.7 0 00-5.6-35.6 50 50 0 0030.8 3c7.8-1 17-1 24.2 2.2a49 49 0 0113.1-3c8.3.8 17.2 2.3 25.7 2.3a44 44 0 0015.8-4.2c-3 19-8.6 39-1.7 58"/>
+    <path fill="#fff" d="M150.3 233.7l-.1-17.9h2.2L125 198.1V189h2.6l-13.7-9.8-13.6 9.8h2.6v9.1l-27 17.7h2l.2 17.8h72"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M376 906.5v-17.8h2.1l-27-17.5-.1-9h2.6l-13.6-9.8-13.5 9.7h2.6l.1 9.1-27 17.5h2.2v17.7H376z" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#fff" d="M158.7 257.1v5.6h-88V257h88"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M384.4 929.8v5.5H297v-5.6h87.4z" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#fff" d="M76.5 256.8v-19H80l-.2 19.2.2-19-5-.1v-4h78.6v4h-4.9l.1 19.2-.1-19.2h3.6v19"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M302.8 929.4v-18.8h3.5l-.2 19 .2-18.8-5-.2v-4l78 .1v4h-4.8l.1 19-.2-19h3.6l.1 18.8" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M319.6 924.8v-13.1H309v13l10.5.1" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M312 914.4v7.6h4.8v-7.6h-4.9m59 10.4l-.1-13h-10.4v13h10.5" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M363.2 914.5v7.6h4.8v-7.6h-4.8m7.6-11v-13h-10.5v13h10.5z" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M363.1 893.2v7.6h4.8v-7.6h-4.8m-43.6 10.3v-13.1H309v13h10.5z" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M311.9 893.1v7.6h4.8v-7.6h-4.8m26.6 10.4v-13.1H328v13h10.5" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M330.8 893.1v7.6h4.8v-7.6h-4.8m22.3 10.4v-13l-10.5-.1v13l10.5.1" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M345.4 893.1v7.6h4.9v-7.6h-4.9" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#fff" d="M129.8 226.7l.1 30.4H99.4l-.1-30.5h30.5"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M355.7 899.5l.1 30.2h-30.3l-.1-30.2h30.3zm-30.5 8.6h30.6M329 929.7v-21.4m23.1 21.4v-21.3m14.7-21.8l-17-12.4h-19.3l-17 12.4h53.3M332 863.8v7.6h16.2v-7.6H332" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M336.4 865.7v3.8h7.4v-3.8h-7.4M340 855l9 6.4h-17.9l9-6.4" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#fff" d="M150.6 177.6c2.6 0 3.2 10.6 3.2 15.9a24 24 0 019.3 6.5h-24.8a24 24 0 019.1-6.5c0-5.3.6-16 3.2-15.9"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M376.3 850.8c2.6 0 3.2 10.5 3.2 15.8 2.2.6 7.1 3.7 9.2 6.4h-24.6c2.1-2.7 7-5.8 9.1-6.4 0-5.3.6-15.8 3.1-15.8m-49.5 49.5h2.2l-.6 1.2s1 1.4 0 3l.6 1h-2.2l.6-1s-1-1.8 0-3l-.6-1.2m4.5 0h2.2l-.6 1.2s1 1.4 0 3l.6 1h-2.2l.6-1s-1-1.8 0-3l-.6-1.2m5 0h2.1l-.6 1.2s1 1.4 0 3l.6 1h-2.1l.5-1s-1-1.8 0-3l-.6-1.2zm5.5 0h2.2l-.7 1.3s1.1 1.3 0 2.9l.6 1h-2.1l.6-1s-1-1.8 0-3l-.6-1.1zm4.9 0h2.2l-.7 1.3s1.1 1.3 0 2.9l.6 1h-2l.5-1s-1-1.8 0-3l-.6-1.1m4.9 0h2.2l-.7 1.2s1.1 1.3 0 2.9l.6 1h-2l.5-1s-1-1.8 0-3l-.6-1.1" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#ff0" d="M114.7 296a82 82 0 0032-5.6l14.6-1.3.2 17.6c-12.2 6.8-40.5 8.3-46.8 8.2-6.2 0-34.9-1.4-47.2-8.2l.2-17.7 14.5 1.3a86.9 86.9 0 0032.5 5.8"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M340.7 968.4c11.4 0 25.3-2.3 31.9-5.7l14.3-1.2.3 17.5c-12.1 6.7-40.3 8.2-46.4 8.1-6.2 0-34.7-1.4-47-8.2l.2-17.5 14.4 1.3c6.6 3.4 21 5.7 32.3 5.7" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#ff0" d="M30.2 220.7l12.8 4-3.9 20.7-12 1.9s-2-10.9 3.1-26.6"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M256.9 893.6l12.6 4-3.8 20.5-12 1.9s-2-10.8 3.2-26.4z" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#7e7e7e" d="M39.1 245.2l-12 2.1 7.6-10.9 4.4 8.8"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M265.7 917.9l-12 2 7.6-10.7 4.4 8.7" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#ff0" d="M22.6 235.6l12.3.9c.3 10.4 1.5 50.1 49 52.3l-1.5 14.5c-57.8.6-62.1-48.8-59.8-67.7"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M249.3 908.4l12.2.8c.3 10.4 1.5 49.8 48.7 52l-1.5 14.4c-57.4.6-61.7-48.4-59.4-67.2zm44.8 70.1l14.4-3.1" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#ff0" d="M198.1 220.8l-12.7 4 4 20.7 12.1 2s2-11-3.4-26.7"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M423.5 893.7l-12.6 4 4 20.5 12 2s2-10.8-3.4-26.5z" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#7e7e7e" d="M189.4 245.3l12.1 2.1-7.7-10.8-4.4 8.7"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M414.9 918l12 2.1-7.7-10.7-4.3 8.6" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#ff0" d="M205.9 235.7l-12.3.9c-.2 10.4-1.1 50.2-48.6 52.3l1.6 14.4c57.8.7 61.8-48.7 59.3-67.6"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M431.2 908.5l-12.2.8c-.2 10.4-1 49.9-48.2 52l1.6 14.3c57.4.7 61.3-48.3 58.8-67zm-44.2 70l-14.4-3" transform="matrix(1.0075 0 0 1.0074 -228.6 -679.5)"/>
+    <path fill="#009fc5" d="M107 304.8c-.3.2-.8.2-1.3.2l-2.3-.1.2-2.9 2.3.1c.4 0 .8.2 1 .3.5.2.7.7.6 1.3 0 .5-.2.9-.5 1m-3.9 4.6l.3-3.5 2.6.2a3 3 0 002-.6c.4-.5.7-1 .7-1.7a2.2 2.2 0 00-.6-1.8 2.8 2.8 0 00-1.8-.7l-3.8-.2-.5 8.2h1.1m8.4-6.8h2.8l1 .2c.3.2.5.6.5 1.2s-.1 1-.4 1.2c-.3.2-.8.3-1.3.3h-2.7v-2.9m0 7.3v-3.5h2.6c.5 0 .9 0 1.1.2.4.1.6.5.6 1v1.4l.1.7.1.3h1.4v-.2a.7.7 0 01-.4-.5v-1.8c0-.5-.2-.9-.4-1a1.5 1.5 0 00-.7-.6l1-.7.2-1.3c0-.9-.4-1.6-1.2-1.9a4.1 4.1 0 00-1.6-.3h-3.9v8.2h1.1m8.8-1.7a4 4 0 01-.9-2.3c0-1.2.2-2 .7-2.6.5-.7 1.2-1 2.1-1 1 0 1.6.2 2.2.8.5.5.9 1.3 1 2.3 0 .9-.2 1.7-.6 2.4-.5.7-1.1 1.1-2.2 1.2-1 0-1.8-.2-2.3-.8m-1.4-5.2a4.7 4.7 0 00-.7 2.9 4.7 4.7 0 001.2 3 4 4 0 003.1 1 3.9 3.9 0 003.2-1.5 5 5 0 00.8-3.1 4.4 4.4 0 00-1-2.8c-.8-.9-2-1.3-3.4-1.2-1.5 0-2.5.6-3.2 1.7m38.7-11.9a4.2 4.2 0 012.1.1c1 .3 1.6 1 2 2l-1.2.2a2 2 0 00-1-1.2 3.1 3.1 0 00-1.7-.1 2.6 2.6 0 00-1.9 1.1c-.4.7-.5 1.5-.3 2.7.1 1 .5 1.7 1 2.2.6.6 1.3.8 2.3.6a2.8 2.8 0 001.8-1c.4-.4.6-1.2.4-2.1l-2.6.4-.2-.9 3.7-.6.7 4.4h-.7l-.4-1a4 4 0 01-1 1 3.8 3.8 0 01-1.8.8 3.8 3.8 0 01-2.7-.6 4.5 4.5 0 01-1.7-3 4.5 4.5 0 01.6-3.4 3.6 3.6 0 012.6-1.6m8.4-.6l2.6-1a2 2 0 011-.1c.4 0 .8.3 1 .9.2.5.2.9 0 1.2l-1.1.7-2.5 1-1-2.7m2.6 6.8l-1.3-3.3 2.5-.9a3 3 0 011-.2c.4 0 .7.3 1 .8l.5 1.3.3.6.2.2 1.3-.5v-.1c-.2 0-.4-.2-.6-.4l-.3-.6-.4-1c-.2-.5-.4-.8-.7-1a2.1 2.1 0 00-.9-.2c.3-.3.5-.6.6-1a2.2 2.2 0 00-.1-1.2c-.4-.9-1-1.4-1.9-1.4-.4 0-1 0-1.6.2l-3.7 1.4 3 7.7 1.1-.4m9.6-4l-4.7-7 5.2-3.3.6.9-4.3 2.7 1.5 2 3.9-2.4.5.8-3.9 2.5 1.6 2.3 4.3-2.8.6.8-5.3 3.4m4.2-12.1l1.3-1.5c.6-.7 1.3-1 2-.9a4 4 0 012.3 1.1 4 4 0 011.2 1.9c.2.5.1 1 0 1.4l-.6.7-1.4 1.5-4.8-4.2m7 3.2c1-1 1.3-2.2.7-3.5a5.9 5.9 0 00-1.5-2 4.6 4.6 0 00-2.7-1.2 3.2 3.2 0 00-2.8 1.2l-2.3 2.4 6.4 5.6 2.3-2.5m4.9-6.4l-7.3-4.3.6-1 7.3 4.3-.6 1m2.9-5l-8-3.1 2.4-5.6 1 .4-2 4.6 2.4.9 1.8-4.2 1 .4-1.8 4.2 2.6 1 2-4.6 1 .4-2.4 5.6m3.6-9.7l-8.3-1.8.3-1.3 7.6-2.6-6.7-1.4.2-1 8.3 1.7-.2 1.3-7.7 2.6 6.7 1.5-.2 1m-.7-10.5l.1-1c.5 0 1 0 1.2-.3.6-.3 1-.9 1-1.8v-1.2c-.2-.7-.6-1-1.2-1.1-.5 0-.8 0-1 .3-.2.3-.5.7-.6 1.3l-.4 1-.7 1.6c-.4.5-1 .7-1.7.6a2.5 2.5 0 01-1.8-1c-.5-.5-.6-1.2-.5-2.2 0-.8.3-1.5.8-2.1.5-.5 1.2-.8 2.1-.7v1c-.5 0-.9.1-1.1.3-.5.3-.8.8-.8 1.7-.1.6 0 1 .2 1.4.3.3.6.5 1 .5s.7 0 1-.4l.6-1.4.3-1.1c.2-.6.4-1 .7-1.3a2.2 2.2 0 011.8-.6c1 .1 1.6.5 2 1.2.3.7.4 1.5.3 2.4a3 3 0 01-1 2.3 3 3 0 01-2.3.6M28.2 252l.2 1c-.4.1-.8.3-1 .6-.6.4-.7 1-.6 2l.4 1.1c.4.6.9.9 1.5.8.4-.1.7-.3.9-.6l.2-1.4v-1.2l.4-1.6c.2-.5.7-.9 1.4-1a2.5 2.5 0 012 .5c.6.4 1 1 1 2a3 3 0 01-.2 2.3c-.3.6-.9 1-1.8 1.2l-.2-1c.4-.2.7-.3 1-.6.3-.4.4-1 .3-1.8-.1-.6-.3-1-.7-1.3a1.3 1.3 0 00-1-.3 1 1 0 00-.8.7 4 4 0 00-.2 1.5v1.2a3 3 0 01-.4 1.4 2 2 0 01-1.5 1c-1 .2-1.7 0-2.2-.6a4.3 4.3 0 01-1-2.2 3.4 3.4 0 01.3-2.5 2.7 2.7 0 012-1.2m-.5 10.9l8.1-2.5 2 5.7-1 .4-1.6-4.7-2.5.7 1.4 4.3-1 .3-1.3-4.3-2.8.8 1.6 4.8-1 .3-1.9-5.8m3.6 9.9l7.5-4 .8 1.4-5.2 5.4 7.5-1.2.8 1.3-7.5 4-.5-1 4.4-2.3.8-.4 1.1-.6-7.5 1.3-.5-1 5.1-5.4-.3.2-.8.4a6.1 6.1 0 01-.8.5l-4.4 2.3-.5-1m13.9 11c-.4 0-.7-.2-1.1-.6l-1.6-1.6 2.1-2 1.6 1.6.6.9c.2.5 0 1-.4 1.3-.4.4-.8.6-1.2.5m-6 .7l2.6-2.4 1.8 2a3 3 0 001.9.8 2.6 2.6 0 001.7-.8c.5-.5.8-1 .8-1.7 0-.6-.3-1.1-.8-1.7l-2.6-2.7-6.2 5.7.8.8m7.5 6.6l4.4-7 5.3 3.2-.5.9-4.4-2.6-1.3 2.1 4 2.4-.6.8-4-2.4-1.5 2.4 4.4 2.6-.5.9-5.4-3.3m13.3-1.3l2.7.8.8.5c.3.3.4.8.2 1.3-.1.5-.4.8-.8 1l-1.3-.1-2.5-.8.9-2.7m-2.3 6.9l1-3.4 2.6.8 1 .5c.2.3.3.7.1 1.2L62 297l-.2.7v.2l1.4.5v-.2l-.2-.6c0-.1 0-.4.2-.7l.3-1c.1-.5.2-.8 0-1a1.7 1.7 0 00-.5-.8c.4-.1.8-.2 1.1-.5.3-.2.5-.6.7-1 .3-1 .1-1.7-.5-2.3-.4-.2-.8-.5-1.5-.7l-3.7-1.2-2.6 7.8 1 .4"/>
+    <path fill="#bc715f" d="M69 154.4c1-2.4 9.9-8.7 39.4-6 0 0 5 3.1 7.9 2.7 1.6-.2-1 .1-3.2-1.7s-2.7-5.5 2.4-5.4c5 .1 24 1.2 24.3 2.9.3 1.7-10 2.4-13.8 2.3-3.9 0-3.4 1.9.4 1.7 12-.4 25-4.6 39 5.2 1.6 1.1-4.3 1.3-8.8-.6 0 0-12.2.7-17.4-.2 0 0-4 3.3-9.4 3 .7 1.7-2 8-18.5 3.3-2.8.8-12.7 2.5-11.7-.5-2.6 0-7.2.8-7.9-.7-.6-1.4 8.1-3.7 9.7-5.3 0 0-18.6.2-22.1-1 0 0-11 2.4-10.3.3"/>
+    <path fill="#008737" d="M75 180.4c.3-.5.5-1.5 1.3-1.5 1.9.5 3.1 3.9 5.4 1.7.8-.2 1 .9 1.7 1 .5 1.9 2-.3 3-.2a14.2 14.2 0 018.3-.8c0 1.8-1.4 3.8-3.2 4.9 0 1.8 1.7 3 1.7 4.9-.3.7 0 1.8-1 2-1.4-.3-2.7-.4-3.8-1.1-.2-.2-.3-.4-.5-.4-.2.7.8 1.3 1.2 2-.7 1-1.8 0-2.7 0-.3.7 0 1.5-.7 2-1.2-.1-1.5-1.4-2.2-2-.7.8.6 1.3.7 1.9-.4 2.4-.4 4.8-2.8 6.4l-1.6.8c-.4-1.3-.2-3.1-.5-4.4-1 1.6-1.7 3-3 4.3-1.7-.6-2.7-2.5-3-4.1a5.1 5.1 0 011.2-5.5c-.5-1-2.3-.7-2.5-2.1-2.6-1.7-4 3-5.7.5A7.6 7.6 0 0168 184c-.3-1-1.5-.7-2.2-1.2-1.7-1.4-4-2.8-3.9-5.3a12.3 12.3 0 0113 2.9"/>
+    <path fill="#ff0" d="M77.2 180.2c0 2 1.4.5 2.5 1.7-.9-.3-1.5 1.5-2.3.5l-.6.5c.3.7 1 .8.3 1.5-.9.4-1-.8-1.5-1.2 0-.2.1-.6-.2-.7-.5.4-1 .6-1.8.5-.2-.4-.6-1-.2-1.2.7-1 1.8.3 2.3-.3.1-.6-.4-1.3.3-1.8.4.1 1-.1 1.2.4m5.5 1.7c0 .4-.2 1 .3 1.2.7-.3 1.4 0 1.8.6 0 .4.1.8-.4 1l-1-.2c0-.2-.3-.3-.4-.5-.5-.2-.7.2-1 .4.2.4.8.7.6 1.2-.6.6-.9-.6-1.6-.3-.4-.2.2-1.1-.5-1.4-.9 0-.3 1.4-1.4.9-.4-.5-.8-1-.3-1.6a1.4 1.4 0 011.6.2c.7-.7.7-3.6 2.3-1.5m-6.8 3c.4.6-.1 1.5.4 2.2 1-1.7 1.8.4 2.9.2.3.4 0 1 .1 1.4-1.3.4-2.9.8-4-.3l-.4.4c.7.6 1.4 1.4.8 2.5-1 .2-2.5.2-3-.8-.2-.9.6-1.5-.3-2.1-.6.8-.6 1.9-2 1.1a1.6 1.6 0 01-.7-2.2c1-1.4 2.5 0 3.4-.7.2-1.2-.3-2.2.8-2.9 1-.1 1.4.6 2 1.2"/>
+    <path fill="#fff" d="M79.6 185.5c-.4 2-2-.1-2.7-.2 1-1.7 1.6.6 2.7.2m4.8 2.2c-1 .3-1-1-1.5-1.5l.5-.4 1 2"/>
+    <path fill="#ff0" d="M83 187.3c.2.7-.8 1.3.1 1.8l.7-.7c.8.2 1.6.4 2.1 1 .6 1.6-1 1.6-1.8 2h-.8c.2-.5-.4-.7-.6-1a.8.8 0 00-.9.4c.2 1 1.4 1.7.1 2.5-1 0-2.5.4-2.4-1-.4-.8 1-2-.5-2-.5 1-1 2-2.3 1l.1-1.5c1.2 0 2.7.2 3.3-1.2.3-1-.6-1.9.2-2.7 1.3-.3 2 .6 2.6 1.4"/>
+    <path d="M82 189.6c.4.8-.5.8-1 1.2-.5 0-.8-.2-1.2-.6-.2-.9.5-1 1-1.3.6-.3.8.4 1.2.7"/>
+    <path fill="#fff" d="M81.3 190c-.1.3-.3.2-.5.3l-.2-1c.4 0 .9.2.7.8"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sy.svg
new file mode 100644
index 0000000..904dc1f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sy.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sy" viewBox="0 0 512 512">
+  <rect width="512" height="170.7" y="170.7" fill="#fff" fill-rule="evenodd" rx="0" ry="0"/>
+  <rect width="512" height="170.7" y="341.3" fill-rule="evenodd" rx="0" ry="0"/>
+  <path fill="red" fill-rule="evenodd" d="M0 0h512v170.7H0z"/>
+  <path fill="#090" fill-rule="evenodd" d="M151.4 299.7l-30.8-22.2L90 300l11.4-36.6L70.9 241l37.8-.3 11.7-36.5 12 36.4H170l-30.4 22.8 11.7 36.4zm285.4 0l-30.7-22.2-30.6 22.5 11.4-36.6-30.5-22.5 37.7-.3 11.7-36.5 12 36.4h37.8l-30.4 22.8 11.6 36.4z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sz.svg
new file mode 100644
index 0000000..b3009e4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/sz.svg
@@ -0,0 +1,45 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sz" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M124 0h496v496H124z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-128) scale(1.0321)">
+    <path fill="#3e5eb9" fill-rule="evenodd" d="M0 0h744v496H0z"/>
+    <path fill="#ffd900" fill-rule="evenodd" d="M0 88.6h744v318.9H0z"/>
+    <path fill="#b10c0c" fill-rule="evenodd" d="M0 124h744v248H0z"/>
+    <rect width="602.4" height="10.6" x="74.2" y="242.7" fill="#ffd900" fill-rule="evenodd" stroke="#000" stroke-width="1.3" rx="5.2" ry="5.3"/>
+    <g stroke="#000" transform="translate(-609.5 -24.8)">
+      <path fill="#fff" fill-rule="evenodd" stroke-width="3.9" d="M-106.3 265.8l-88.6 35.4 88.6 35.4 88.6-35.4-88.6-35.4z" transform="matrix(.34 0 0 .3 1256.8 136.4)"/>
+      <rect width="442.9" height="7.1" x="761.8" y="223.2" fill="#ffd900" fill-rule="evenodd" stroke-width="1.3" rx="3.9" ry="3.5"/>
+      <path fill="none" stroke-width="2.5" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1806.3 90.3)"/>
+      <path fill="none" stroke-width="2.5" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1802.8 90.3)"/>
+      <path fill="none" stroke-width="2.5" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1799.2 90.4)"/>
+    </g>
+    <g stroke="#000" transform="translate(-637.8 -3.5)">
+      <path fill="#fff" fill-rule="evenodd" stroke-width="3.9" d="M-106.3 265.8l-88.6 35.4 88.6 35.4 88.6-35.4-88.6-35.4z" transform="matrix(.34 0 0 .3 1256.8 136.4)"/>
+      <rect width="442.9" height="7.1" x="761.8" y="223.2" fill="#ffd900" fill-rule="evenodd" stroke-width="1.3" rx="3.9" ry="3.5"/>
+      <path fill="none" stroke-width="2.5" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1806.3 90.3)"/>
+      <path fill="none" stroke-width="2.5" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1802.8 90.3)"/>
+      <path fill="none" stroke-width="2.5" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1799.2 90.4)"/>
+    </g>
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="#3d5da7" stroke="#000" d="M338-.4c-5.5 12.4 4.3-4.1 28.4 16.7 4.4 3.8 8.3 14 8.3 21.1-1.1-1-2-3-3.2-4.5-1.8 2.3 1.7 12.6 2.2 17.5-3.8-2.7-3.4-4-4.7-7.4.3 4-.6 15.2.9 19.4-3-1-2.8-4.1-4.3-4.8 1 4.9-1 10.1-.4 15.6-1.8-2.2-3.6-4-4.4-4.9-.1 2.6-3.3 9.4-3.4 11.9-1.5-1.2-1.9-3-2.1-4.2-1.8 3-8.3 14-8.7 17.2-5-5.7-17.8-19.5-19.5-26.9-1.5 4.2-3.6 5.6-7.8 8.7-1.7-11.7-8-24.8-4.6-34.8a84.4 84.4 0 00-6.6 5.9A67.9 67.9 0 01338-.4z" transform="matrix(.96345 0 0 .74716 308.4 244.1)"/>
+      <path fill="#a70000" d="M614.1 289.9c2.3-4.5 4.3-6 5.8-8.8 2.5-5 2.9-9 5-8.5 2.3.6 2.3 2.7-.6 7.7-2.8 5-4.2 6-10.2 9.6zm15.1 10.6c-.3-3.4.7-4.8.5-7-.3-3.9-1.8-6.5.2-6.7 2-.2 3 1.1 3 5s-.6 4.9-3.7 8.7zm11.4 6.6c-.8-4.7-.2-6.8-.8-9.9-1-5.3-3-8.9-1-9.4 1.9-.5 3 1.3 3.7 6.7.8 5.5.4 7-1.8 12.6zm12-33.2c-2.9-2-4.5-2.2-6.3-3.6-3.2-2.4-4.8-5-5.8-3.7-1 1.3-.3 2.7 3 4.9 3.4 2.2 4.5 2.4 9 2.4zm-2 15.8c-1.5-3.1-3-3.9-4-5.8-1.7-3.5-1.7-6.5-3.5-5.7-1.8.7-2 2.3 0 5.7 2 3.3 3 3.9 7.5 5.8z"/>
+    </g>
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="#3d5da7" stroke="#000" d="M329.6 20.7c-.3-2.7.3-3-1.3-5 2.2 1 2.3 3.7 5 1.8 1-.6 1.4-.6.2-3.5 2.8 0 12 3.5 13.4 3.6 3.9.2 10.9-4.4 15.7 1.2 4.7 5.1 3.1 10.4 3.1 17.5-1.8-1-1-1.4-3-4 1.6 6.2 0 17.4 0 24-.8-1.6-.7-1-1.4-2.6-2 6-4.4 7.3-4.4 14.3-.7-2.7 0-2.2-.8-3.6-2 4.5-15 8.4-10 13-4.4-2.8-6.4-2.5-8.5-5.1-.9.6-1.6 1.8-2.4 3.4-8-4-5-12.5-11.3-18.2-1 2.4-.6 2-1.8 5.9-1.2-5.4-1.6-8.9-3-12.8-1.2 2.2-1 1.3-3.3 4.7-1-6.6-2.4-8.2-1.8-12.5-2.4 1.8-.8 1-3.2 3.3 2.2-17 11.9-29.4 18.8-25.4z" transform="matrix(1.1018 0 0 1.01684 -263 231.7)"/>
+      <path fill="#a70000" d="M89.4 280.8c2.3-5.5 4.3-7.3 5.8-10.8 2.5-6.3 3-11.3 5.1-10.5 2.2.7 2.1 3.3-.8 9.5a24.7 24.7 0 01-10 11.8zm8.6 13.8c.9-5 2.3-6.8 2.9-10 1-5.6.4-9.7 2.4-9.5 2 .2 2.5 2.3 1.2 8-1.4 5.5-2.3 6.8-6.5 11.5zm10.2 9.6c.2-4.8 1.4-6.7 1.5-9.8.3-5.4-.7-9.3 1.2-9.3 2 0 2.6 2 2 7.4-.6 5.4-1.3 6.8-4.7 11.7zm21.9-31.4c-4.2-4.2-6.7-5-9.4-7.6-4.8-4.7-7.1-9.2-8.8-7.6-1.7 1.6-.7 4 4.3 8.4 5 4.5 6.8 5.2 13.9 6.8zm-2.5 16.2c-2.8-4.2-4.8-5.3-6.5-8-3.2-4.8-4.2-8.8-6-7.8-1.8 1-1.4 3.1 2 7.7s4.7 5.4 10.5 8z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#fff" stroke="#000" stroke-width="2" d="M637.8 230.3c-53.1 59-124 177.2-265.8 177.2-124 0-212.6-118.1-265.7-177.2C159.4 171.3 248 53.2 372 53.2c141.8 0 212.6 118 265.8 177.1z" transform="matrix(.66667 0 0 .6 124 109.8)"/>
+      <path d="M359.7 178.7c9.4 10.6 1.5 14.9 11.5 15.6 10.5.7 4.6 11.2 13.4 11.5 6.2.3-.6 25 5.4 33.2 6 8.5 11.1 2.5 11.2 8.6.1 6.4-16.5 5.7-16.8 25.3-.5 11.3-14 12-14.7 19.3-.8 6.8 26.7 10.6 26.3 16.8-.3 6-29.6 5-30.9 12-.6 6.3 40.2 11.4 43.5 29.4-6 2-23.4 4-36.6 4-82.6 0-141.7-71-177.1-106.4 35.4-35.4 94.5-106.3 177.1-106.3 0 0-24.5 22.5-12.3 37z"/>
+      <path fill="#fff" stroke-width="1pt" d="M261 210.2h8.6v28.4H261zm0 47.3h8.6v28.3H261zm17.2-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.2-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.2-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.1-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.2-47.3h8.6v28.4H347zm0 47.3h8.6v28.3H347z"/>
+      <path stroke-width="1pt" d="M391 210.2h8.5v28.4H391zm0 47.3h8.5v28.3H391zm17.1-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.2-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.2-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.2-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6zm17.1-47.3h8.6v28.4h-8.6zm0 47.3h8.6v28.3h-8.6z"/>
+    </g>
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="#3d5da7" stroke="#000" d="M338-.4c-5.5 12.4 9.8-4.1 33.8 16.7a51.2 51.2 0 0110.9 26.2c-5.1-1.2-14.2-7-14.2-7s10.6 12.2 10.6 26.4c-3.7-2.7-5.6-2.3-6.8-5.6 0 4.5 3.3 7.5 3.3 14.6a49.8 49.8 0 00-7.3-5.7c3.5 7.1-6.5 20.9-1.5 25.5-8.7-1.5-17.7-8-21.2-15-1.9 1.4-2 3.7-2.2 6.2.3.2-13.3-11.7-12-16.3-1.9 3-2.1 4.6-2.5 8a44 44 0 01-11.3-18.8l-4.6 6.7c-1.6-11.7-1.6-11.3 1.7-21.3a84.4 84.4 0 00-6.6 5.9A67.8 67.8 0 01338-.4z" transform="matrix(.8811 0 0 .76298 16.9 161)"/>
+      <path fill="#a70000" d="M302.6 207c.8-6.5 2.5-9 3-13.2 1-7.4-.1-12.9 2.5-12.7 2.6.1 3.4 2.9 2.1 10.3s-2.4 9.1-7.6 15.6zm13.7 12c-.5-5.6.5-7.9.2-11.5-.6-6.2-2.5-10.4-.2-10.8 2.3-.4 3.4 1.7 3.7 8 .2 6.3-.4 8-3.7 14.3zm21.4 9.7c-2.3-4.7-4.3-6.2-5.8-9.2-2.6-5.4-3.2-9.9-5.2-9-2 .7-2 3 1 8.3 3 5.3 4.3 6.4 10 10zm7.4-42.7c-5.9-3.2-9-3.2-12.8-5.2-6.7-3.5-10.6-7.5-12-5.3-1.4 2.2.5 4.4 7.4 7.6 7 3.2 9 3.3 17.4 2.9zm2.2 17.8c-4.3-3.6-6.9-4-9.6-6.4-5-4-7.4-8-9-6.4-1.7 1.6-.6 3.7 4.6 7.5 5.1 3.9 6.9 4.3 14 5.3z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tc.svg
new file mode 100644
index 0000000..1029615
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tc.svg
@@ -0,0 +1,74 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tc" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)">
+    <path fill="#006" d="M1024 512V0H0v512h1024z"/>
+    <path fill="#006" fill-rule="evenodd" d="M0 0h512v256H0z"/>
+    <g stroke-width="1pt">
+      <path fill="#fff" d="M0 0v28.6L454.8 256H512v-28.6L57.2 0H0zm512 0v28.6L57.2 256H0v-28.6L454.8 0H512z"/>
+      <path fill="#fff" d="M213.3 0v256h85.4V0h-85.4zM0 85.3v85.4h512V85.3H0z"/>
+      <path fill="#c00" d="M0 102.4v51.2h512v-51.2H0zM230.4 0v256h51.2V0h-51.2zM0 256l170.7-85.3h38.1L38.2 256H0zM0 0l170.7 85.3h-38.2L0 19.1V0zm303.2 85.3L473.8 0H512L341.3 85.3h-38.1zM512 256l-170.7-85.3h38.2L512 236.9V256z"/>
+    </g>
+    <path fill="#fff" d="M493.6 140.9v116.5c0 95.6-37.6 183.1-149 236.4-111.4-53.3-149-140.8-149-236.4V140.9h298z"/>
+    <path fill="#fdc300" d="M483.6 152.8v108.6c0 89.2-35 170.9-139 220.5-104-49.6-139-131.3-139-220.5V152.8h278z"/>
+    <g stroke="#000" stroke-width=".1">
+      <path fill="#ff9e3d" d="M206 52.9a2 2 0 00-1.3-.5c.1-1.3-.8-1.8-1.5-2-.7-.3-1-.6-1-1.1-.1-.5-.5-.9-1.1-1-.6-.2-1.2-.8-1.4-1.1-.2-.3-.3-.3-.5.2s-.9 1.5-.2 1.5c-.5.4-.8.8-.5 1.4-.3.3-.5.7-.1.8l.6.4c-.4 0-.5.8.4 1-.2 0-.3.6.1.6-.5 0-1 .8-1.6.8-.7 0-1 .2-1 .5l-.6.8c.5 0 .8 0 1-.2s.7-.3 1 0c.3.2 1 .3 1.2.2-.6.5-1 1-1.1 1.6 0 .6-.5 1.2-1 1.4-.3.2-1 .6-1.1 1.2.5 1.4 1.3 1.7 2.1 2.1 1.4.6 2.3 1.1 2.9 1.8.6.6.8.1 1.7 1.3.9 1 1.7 3.2 2.6 3.5.9.4 2 .2 2.6-1 .7-1 1-12.4-2.2-14.3z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path fill="#ff927f" d="M207.5 48.1c-.9 1-2 1.8-1.7 3.4s.3 4.2-1.2 5c-1.4 1-2.1 3.2-.4 4.5 1.8 1.3 1.9 2.9 2.1 4.3.3 1.5 1.1 2.7 2.3 1.7 1.2.2 1.8-.3 1.8-1.3s0-1.4 1-1.7c.8-.3 1-.6 1.5-1.4.4-.8.6-1.2.4-1.6a3.7 3.7 0 01-.2-2.2c.2-.7-.2-1-.4-1.5a1.9 1.9 0 01-.2-1.4c0-.6-.2-1-.6-1.3-.4-.3-.6-.6-.5-1 0-.5-.3-.8-.8-1.2s-.7-.8-.7-1.5-1.4-2.3-2.4-2.8z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path fill="#ff9ee1" d="M207.8 67.3c2-.5 1.8-3.7 1.5-5-.3-1.4-1-3.3-.5-4.9.8-2.1-1-4.2-.5-5 .5-.9.4-1.3.3-1.6 0-.2-.5-.4-.5.1 0 .6-.2.8-.5 1.1s-.3 1.2 0 2c.2.9.8 2.2 0 3.9-1 1.7-.6 2.4-.3 3.2.6 1.3 1.8 5.6.5 6.2z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path fill="none" d="M199 48.9c.2 0 .6 0 .6.2m-1 1.2c.2-.2.7 0 1.1-.2m-.7 1.4c.3 0 .8 0 1.3-.4m-.9 1.4c.4 0 1-.2 1.1-.7m-1 1.3c.7 0 1.5.2 1.6 0m-1.5 2.1c.4-.4 1.4-.7 1.7-1m-.6-5.5c.7.2.4.7.8 1 .6.4 0 1 .6 1.1.5.2.5.3.3.9-.1.7.5.7.3 1.2m2-.5c-.3 0-1.2 0-1.5.8m-4.8 7.7c.4 0 .5-.1.6-.3.1-.2.2-.4.5-.4s.8-.1.9-.3c0-.3.4 0 .7-.7.4-.6.6-1.3 1.4-1.6" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+    </g>
+    <g stroke="#000" stroke-width=".1">
+      <path fill="#00a728" d="M221.8 73.8c.3.4 0 1 .5 1.2.7.2.1 1 .9 1.4.7.3 0 1 .7 1.5.7.3 0 1 .8 1.5 1 .5-.2 1.5.5 1.9.7.4-.2 1.4.6 1.8.7.4-.4 1.1.4 1.7.7.5-.2 1.4.5 1.9s-.4 1.2.3 1.9c.6.5-.2 1 .2 2 .3.5-.3 2.7-1.8 2.5-.6 1-2.7 1.8-3.5 1.5-.8.6-3.3 1.3-4.6.1-1.3 1.2-3.8.5-4.6 0-.8.2-3-.7-3.5-1.6-1.6.2-2.1-2-1.8-2.6.4-.8-.4-1.4.2-2 .7-.6-.5-1.3.3-1.8s-.2-1.4.5-2c.8-.5-.4-1.3.4-1.6.8-.4-.1-1.4.6-1.8.6-.4-.4-1.4.5-1.9.9-.4 0-1.2.8-1.5.7-.4 0-1.2.7-1.5.8-.3.2-1.2.9-1.4.6-.3.2-.8.5-1.3 1.7.7 6.8 1.2 9 0z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path fill="#fdc300" d="M213.5 76.7c0 .2 0 .5-.2.8-.5.6.2 1-.4 1.7-.5.7.1 1.2-.5 1.8-.6.6.1 1.2-.5 1.8-.6.7.1 1.2-.5 1.8-.6.6.1 1.3-.5 1.9-.6.6.1 1.4-.5 2-.7.8 0 1.4-.5 2-.5.5 0 1-.4 1.4.6-.5.6-1.3 1.1-1.6.5-.4-.1-1 .2-1.3s0-1.4.5-2 0-1.7.5-2 .1-1.6.7-2 0-1.3.4-1.8c.5-.5 0-1.3.5-2 .4-.5 0-1.1.3-1.6.2-.2.2-1.8-.2-1zm1.6.7c-.4.7.3.9-.2 1.6s.3 1.3-.3 2 .3 1.1-.2 1.8c-.5.8.2 1.2-.2 1.7-.5.6.3 1.1-.2 1.8-.6.7.2 1.2-.3 1.8-.4.6.2 1.3-.2 1.8s.3 1.2-.3 1.9.1 1-.2 1.5c.7-.2.4-1.1.7-1.3.2-.2-.1-1.5.3-1.8.4-.4-.3-1.4 0-1.8.7-.8.2-1.3.5-1.9.4-.6-.1-1.3.2-1.7.5-.7-.2-1.3.1-1.8.5-.7 0-1.2.3-1.7.5-.7 0-1.4.1-1.8.3-.3.6-1.9 0-2.1zm2.2.6c-.4 1 .3 1.3 0 2.1-.2.8.3 1.4 0 2.2-.3.9.4 1.5 0 2.6s.3 1.4 0 2.5c-.3 1.2.5 1.9 0 2.8-.6.9.6 1.2 0 2.1-.2.5 0 1.6.5.2.5-1.3-.3-1.5 0-2 .5-.6 0-2 .1-2.9.2-.7-.4-1.8 0-2.6.3-.9-.6-1.8-.2-2.5.3-.7-.2-1.6.2-2.2.3-.6-.3-1.4-.2-1.7.2-.3-.1-1.6-.4-.6z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path fill="#ef072d" d="M221.5 74.4c0-6.3-1-8.5-4.2-8.5-3.3 0-4.2 2.2-4.2 8.5h8.4z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path fill="none" d="M214.3 73.9c-.6.6.1 1-.5 1.8-.6.7 0 1.1-.5 1.8s.2 1-.4 1.7c-.5.7.2 1.2-.5 1.8-.6.6.1 1.2-.5 1.8-.6.7.1 1.2-.5 1.8-.6.6.1 1.2-.5 1.9-.6.6.1 1.4-.5 2-.7.8 0 1.4-.5 2s0 1-.4 1.4c-.4.4-.5 1-.3 1.2m6.3-19c-.6.8.3 1-.2 1.7-.5.6.2.8-.2 1.6s.3.9-.2 1.6.3 1.3-.3 2 .3 1.1-.2 1.8c-.5.8.2 1.2-.2 1.7-.5.6.3 1.1-.3 1.8-.5.7.3 1.2-.2 1.8-.4.6.2 1.3-.2 1.8s.3 1.2-.3 1.9.1 1-.2 1.5c-.3.5-.6 1.1-.3 1.3m4.6-19.8c-.3 1.2.4 2.2 0 3.2s.3 1.3 0 2.1c-.2.8.3 1.4 0 2.2-.3.9.4 1.5 0 2.6s.3 1.4 0 2.5c-.3 1.2.6 1.9 0 2.8-.6.9.5 1.1 0 2.1-.4 1 .3 1.4 0 2.4m3-20.8c.6.6-.2 1 .5 1.8.6.7 0 1.1.5 1.8s-.2 1 .3 1.7c.6.7 0 1.2.5 1.8.7.6 0 1.2.5 1.8.7.7 0 1.2.6 1.8.6.6-.2 1.2.5 1.9.6.6-.1 1.4.5 2 .7.8-.1 1.4.5 2 .5.5 0 1 .4 1.4.4.4.5 1 .3 1.2m-6.3-19c.5.8-.3 1 .2 1.7.5.6-.2.8.2 1.6.4.7-.3.9.2 1.6s-.3 1.3.3 2-.3 1.1.2 1.8c.5.8-.2 1.2.2 1.7.5.6-.3 1.1.2 1.8.6.7-.2 1.2.3 1.8.4.6-.2 1.3.2 1.8s-.3 1.2.3 1.9-.1 1 .2 1.5c.3.5.6 1.1.3 1.3" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path d="M213.1 74.4c0-6.3 1-8.5 4.2-8.5-1.5 0-2.4 1.2-2.7 2s-.1.7.2.4.2.4 0 .7c-.3.4-.6 1.4-.2 1 .4-.2.7.1.2.7s-.7 2-.3 1.5c.4-.5.5.3.2.7-.2.4-.2.7 0 .6.3-.2.2.6 0 1h-1.6zm7.7-.3c0-5-.6-6.5-1.8-7-.7-.3-.7-.2-.4.3s.3 1 0 .6-.4-.5-.6-.3l.8 2c.3.6 0 1-.4.3s-.4-.1 0 .5c.5.7.4 2.9.4 3.8l2-.2z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+      <path fill="#ef072d" d="M217.3 75.3c1.3 0 2.7-.2 3.7-.6 1.1-.4 1.2-.8.8-1.3-.3-.4-.9-.2-1.5.1a11.2 11.2 0 01-6 0c-.6-.2-1.2-.5-1.5-.1-.4.5-.4.9.8 1.3 1 .4 2.4.6 3.7.6z" transform="matrix(5.698 0 0 5.6987 -893.7 -100.8)"/>
+    </g>
+    <g fill="#b95a1e" fill-rule="evenodd">
+      <path stroke="#000" stroke-width="4.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(.07727 -.0499 .04732 .08148 313.5 245.5)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(.08863 -.01984 .01882 .09346 329.5 211.7)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(.0906 0 0 .09555 343 194.7)"/>
+      <path stroke="#000" stroke-width="5.5" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(.05623 0 0 .09555 369.9 257.3)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c106.3 0 124-35.4 124-35.4s35.5-70.9 17.8-88.6c-17.7-17.7-141.8-17.7-141.8-17.7V255z" transform="matrix(.0906 0 0 .09555 343 250.5)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c88.6 0 141.8-35.4 141.8-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-159.5-17.7-159.5-17.7v141.7z" transform="matrix(.0906 0 0 .09555 343 243.8)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s70.8-88.6 194.9-177.2c124-88.6 213.7-156.7 230.3-141.7 0 17.7-106.3 106.3-195 177.2-88.5 70.8-194.8 177.1-194.8 177.1l-35.4-35.4z" transform="matrix(.11244 0 0 .09555 325.5 194.9)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s70-52 204.4-124c132.2-64 318.9-53.2 318.9-35.5-17.8 17.8-177.2 17.8-283.5 70.9C971 75.5 868 148.8 868 148.8l-35.4-35.4z" transform="matrix(.11244 0 0 .09555 326.4 201.7)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s61.6-35 204.4-88.6c141.7-53.1 329.8-17.7 329.8 0-17.7 17.7-170.4 7-276.7 35.4-110 27.8-222 88.6-222 88.6l-35.5-35.4z" transform="matrix(.11244 0 0 .09555 326.5 213.3)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s71-71 222.4-88.6c152.3-17.7 276.3 88.6 276.3 106.3-17.7 17.7-159.5-78-265.7-64.3-112.6 13.7-197.6 82-197.6 82l-35.5-35.4z" transform="matrix(.11244 0 0 .09555 327.3 225.2)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 159.5-45.5 159.5-45.5s35.4-70.8 17.7-88.6c-17.7-17.7-177.2-7.6-177.2-7.6V255z" transform="matrix(.0906 0 0 .09555 343 235.3)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(.0906 0 0 .09555 343 228.5)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s35.3-70.9 17.6-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(.0906 0 0 .09555 343 220)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s17.7-70.9 0-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(.0906 0 0 .09555 343 211.6)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4S946.9 24.8 946.9-46.1c0-70.8-50.4-141.7-64.6-177.1 28.5 0 93.1 106.3 93.1 177.1 0 77.5-107.3 195-107.3 195l-35.4-35.5z" transform="matrix(.11244 0 0 .09555 323.3 187.9)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s-14.3-53.2-14.3-159.5a355 355 0 0185.7-230.3C910-249 847-152.4 847-46c0 77.5 21.1 195 21.1 195l-35.4-35.5z" transform="matrix(.11244 0 0 .09555 323.3 187.9)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s0-70.9-17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7v141.7z" transform="matrix(.0906 0 0 .09555 343 203.2)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s0-70.9-17.8-88.6c-17.7-17.7-177.2-17.7-177.2-17.7V255z" transform="matrix(.0906 0 0 .09555 343 194.7)"/>
+      <path stroke="#fdc301" stroke-width="11" d="M318.9 1318.1c55-122.3 70.9-336.6 70.9-372 0-99.8-33-585.2-35.5-779.6s124-301.2 248-301.2c106.4 0 177.2 71 177.2 177.2h-53.1a121 121 0 00-124-124c-106.3 0-188 83.7-195 248-7.5 190 21.4 683 17.8 815S374 1231.2 318.9 1318z" transform="matrix(-.0906 0 0 .09555 484.3 194.7)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(-.07727 -.0499 -.04732 .08148 513.9 245.5)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 32.9C903.7 33 957.3 135.3 957 133.2l-35.7 33.3c-19 17.8-141.8 17.8-140.2 17.7l-1.6-151.3z" transform="matrix(.0906 0 0 .09555 343 194.7)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(-.08863 -.01984 -.01882 .09346 497.9 211.7)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(-.0906 0 0 .09555 484.3 194.7)"/>
+      <path stroke="#000" stroke-width="5.5" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(-.05623 0 0 .09555 457.5 257.3)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c106.3 0 124-35.4 124-35.4s35.5-70.9 17.8-88.6c-17.7-17.7-141.8-17.7-141.8-17.7V255z" transform="matrix(-.0906 0 0 .09555 484.3 250.5)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c88.6 0 141.8-35.4 141.8-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-159.5-17.7-159.5-17.7v141.7z" transform="matrix(-.0906 0 0 .09555 484.3 243.8)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s70.8-88.6 194.9-177.2c124-88.6 213.7-156.7 230.3-141.7 0 17.7-106.3 106.3-195 177.2-88.5 70.8-194.8 177.1-194.8 177.1l-35.4-35.4z" transform="matrix(-.11244 0 0 .09555 501.9 194.9)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s70-52 204.4-124c132.2-64 318.9-53.2 318.9-35.5-17.8 17.8-177.2 17.8-283.5 70.9C971 75.5 868 148.8 868 148.8l-35.4-35.4z" transform="matrix(-.11244 0 0 .09555 501 201.7)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s61.6-35 204.4-88.6c141.7-53.1 329.8-17.7 329.8 0-17.7 17.7-170.4 7-276.7 35.4-110 27.8-222 88.6-222 88.6l-35.5-35.4z" transform="matrix(-.11244 0 0 .09555 500.9 213.3)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s71-71 222.4-88.6c152.3-17.7 276.3 88.6 276.3 106.3-17.7 17.7-159.5-78-265.7-64.3-112.6 13.7-197.6 82-197.6 82l-35.5-35.4z" transform="matrix(-.11244 0 0 .09555 500.1 225.2)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 159.5-45.5 159.5-45.5s35.4-70.8 17.7-88.6c-17.7-17.7-177.2-7.6-177.2-7.6V255z" transform="matrix(-.0906 0 0 .09555 484.3 235.3)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(-.0906 0 0 .09555 484.3 228.5)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s35.3-70.9 17.6-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(-.0906 0 0 .09555 484.3 220)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s17.7-70.9 0-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(-.0906 0 0 .09555 484.3 211.6)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4S946.9 24.8 946.9-46.1c0-70.8-50.4-141.7-64.6-177.1 28.5 0 93.1 106.3 93.1 177.1 0 77.5-107.3 195-107.3 195l-35.4-35.5z" transform="matrix(-.11244 0 0 .09555 504.1 187.9)"/>
+      <path stroke="#000" stroke-width="3.9" d="M832.7 113.4s-14.3-53.2-14.3-159.5a355 355 0 0185.7-230.3C910-249 847-152.4 847-46c0 77.5 21.1 195 21.1 195l-35.4-35.5z" transform="matrix(-.11244 0 0 .09555 504.1 187.9)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s0-70.9-17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7v141.7z" transform="matrix(-.0906 0 0 .09555 484.3 203.2)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s0-70.9-17.8-88.6c-17.7-17.7-177.2-17.7-177.2-17.7V255z" transform="matrix(-.0906 0 0 .09555 484.3 194.7)"/>
+      <path stroke="#fdc301" stroke-width="11" d="M318.9 1318.1c55-122.3 70.9-336.6 70.9-372 0-99.8-33-585.2-35.5-779.6s124-301.2 248-301.2c106.4 0 177.2 71 177.2 177.2h-53.1a121 121 0 00-124-124c-106.3 0-188 83.7-195 248-7.5 190 21.4 683 17.8 815S374 1231.2 318.9 1318z" transform="matrix(.0906 0 0 .09555 343 194.7)"/>
+      <path stroke="#000" stroke-width="4.4" d="M779.5 32.9C903.7 33 957.3 135.3 957 133.2l-35.7 33.3c-19 17.8-141.8 17.8-140.2 17.7l-1.6-151.3z" transform="matrix(-.0906 0 0 .09555 484.3 194.7)"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/td.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/td.svg
new file mode 100644
index 0000000..e3e81ce
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/td.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-td" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#000067" d="M0 0h171.2v512H0z"/>
+    <path fill="red" d="M340.8 0H512v512H340.8z"/>
+    <path fill="#ff0" d="M171.2 0h169.6v512H171.2z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tf.svg
new file mode 100644
index 0000000..2061867
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tf.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-tf" viewBox="0 0 512 512">
+  <defs>
+    <path id="a" fill="#fff" d="M0-21l12.3 38L-20-6.5h40L-12.3 17z"/>
+  </defs>
+  <path fill="#002395" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h312.3v210H0z"/>
+  <path fill="#002395" d="M0 0h102.4v204.8H0z"/>
+  <path fill="#ed2939" d="M204.8 0h102.4v204.8H204.8z"/>
+  <path fill="#fff" d="M282.4 234.2l16.5 26.3h46.9V352l-35.3-55-47.3 75.5h23l24.4-43.5 49.9 89.6 49.9-89.6 24.3 43.5h23L410.5 297l-35.2 55v-50.6h21.1l15.7-25h-36.8v-16h46.9l16.5-26.2H282.4zm55 112h-51.2v18h51.2zm97.3 0h-51.2v18h51.2z"/>
+  <use width="100%" height="100%" x="416" y="362" transform="translate(-172) scale(1.28)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="371" y="328" transform="translate(-172) scale(1.28)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="461" y="328" transform="translate(-172) scale(1.28)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="333" y="227" transform="translate(-172) scale(1.28)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="499" y="227" transform="translate(-172) scale(1.28)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tg.svg
new file mode 100644
index 0000000..2c1fd98
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tg.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tg" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0-.2h496.3V496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(0 .3) scale(1.0316)">
+    <path fill="#ffe300" d="M0-.2h744V496H0z"/>
+    <path fill="#118600" d="M0 201.5h744v99.7H0zM0 0h744v99.7H0z"/>
+    <path fill="#d80000" d="M0 0h297.1v301.2H0z"/>
+    <path fill="#fff" d="M130.3 124.3c0-.9 18.3-51.5 18.3-51.5l16.6 50.6s55.6 1.7 55.6.8-44 33.2-44 33.2 20.7 58.1 19.9 56.5c-.8-1.7-48.1-34.9-48.1-34.9s-48.2 33.2-47.3 33.2 18.2-54.7 18.2-54.7L76.4 125l53.9-.8z"/>
+    <path fill="#118600" d="M0 396.4h744v99.7H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/th.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/th.svg
new file mode 100644
index 0000000..86850f5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/th.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-th" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#f4f5f8" d="M0 0h512v512H0z"/>
+    <path fill="#2d2a4a" d="M0 173.4h512V344H0z"/>
+    <path fill="#a51931" d="M0 0h512v88H0zm0 426.7h512V512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tj.svg
new file mode 100644
index 0000000..853a4a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tj.svg
@@ -0,0 +1,26 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-tj" viewBox="0 0 512 512">
+  <path fill="#060" d="M0 0h512v512H0z"/>
+  <path fill="#fff" d="M0 0h512v365.7H0z"/>
+  <path fill="#c00" d="M0 0h512v146.3H0z"/>
+  <g fill="#f8c300" transform="translate(-256) scale(.73143)">
+    <path d="M672 340.7a12.5 12.5 0 0123.3 5.9v50h9.4v-50a12.5 12.5 0 0123.3-5.9 29.5 29.5 0 10-56 0"/>
+    <path fill="#fff" d="M678.7 327.6a20 20 0 0121.3 9.6 20 20 0 0121.3-9.6 21.5 21.5 0 00-42.6 0"/>
+    <path id="a" d="M695.3 376.6a38 38 0 01-63.8 24.3 39.5 39.5 0 01-59.8 17.5c3.7 36.4 58.3 29 62.3-6.4 17.2 30.1 55 21.5 66-15.4z"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 1400 0)" xlink:href="#a"/>
+    <path id="b" d="M658.8 441.3c-7.6 16.5-22.8 19.3-36.1 6 0 0 5.3-3.8 11-4.8a18 18 0 014.3-14.3 22 22 0 019 11.8c8-1 11.8 1.3 11.8 1.3z"/>
+    <use width="100%" height="100%" transform="rotate(9.4 700 804)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(18.7 700 804)" xlink:href="#b"/>
+    <path fill="none" stroke="#f8c300" stroke-width="16" d="M603 478a340 340 0 01194 0"/>
+    <g transform="translate(700 380)">
+      <g transform="translate(0 -140)">
+        <path id="c" d="M488533-158734l-790463 574305L0-513674l301930 929245-790463-574305z" transform="scale(.00005)"/>
+      </g>
+      <g id="d">
+        <use width="100%" height="100%" transform="translate(-70 -121.2)" xlink:href="#c"/>
+        <use width="100%" height="100%" transform="translate(-121.2 -70)" xlink:href="#c"/>
+        <use width="100%" height="100%" transform="translate(-140)" xlink:href="#c"/>
+      </g>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#d"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tk.svg
new file mode 100644
index 0000000..c5ff6b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tk.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tk" viewBox="0 0 512 512">
+  <path fill="#00247d" d="M0 0h512v512H0z"/>
+  <path fill="#fed100" d="M90.7 384.2c-5.3 0 50-29.5 96.4-67.2 60.7-49.5 191.5-128.7 230-141.5 4-1.3-8.2 6.8-9.8 9.5-41.1 48.6-8.3 140.3 43 186.4 15.4 11.8 14.6 12.4 43.2 13.6v2.7l-402.8-3.5zm-3.3 5.4s-3.9 2.8-3.9 4.9c0 2.3 4.4 5.4 4.4 5.4l397.3 4.4 7.3-4.9-10.2-6.3-394.9-3.5z"/>
+  <path fill="#fff" d="M105.5 116.6l-4 12.1 10.4-7.5 10.3 7.5-4-12.1 10.4-7.5h-12.8l-3.9-12.2-4 12.2H95.2zm77.8 57.1l8.6-6.2h-10.6l-3.3-10.1-3.3 10.1h-10.6l8.6 6.2-3.3 10.1 8.6-6.2 8.6 6.2zm-144.7 13l-3.9-12.1-4 12.1H18l10.3 7.5-4 12.1 10.4-7.5 10.3 7.5-3.9-12.1 10.3-7.5zm77.9 121.9l-4.6-14.2-4.6 14.2H92.4l12 8.7-4.6 14.2 12.1-8.8 12 8.8-4.6-14.2 12-8.7z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tl.svg
new file mode 100644
index 0000000..ec6d44b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tl.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tl" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="scale(1.0321)">
+    <path fill="#cb000f" d="M0 0h999v496H0z"/>
+    <path fill="#f8c00c" d="M0 0c3.1 0 496 248.7 496 248.7L0 496.1V0z"/>
+    <path d="M0 0c2 0 330 248.7 330 248.7L0 496.1V0z"/>
+    <path fill="#fff" d="M181.9 288.9l-59-13L93 327l-5-57.8-58.8-13 53.1-24-3.2-57.5 39 42 53.6-24.4-28 52.2 38 44.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tm.svg
new file mode 100644
index 0000000..d856424
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tm.svg
@@ -0,0 +1,203 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tm" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="scale(1.0321)">
+    <path fill="#28ae66" d="M0 0h744v496H0z"/>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M255.1 133.2c27 13 59.2 0 70.9-18 12-16.8 13.4-45-7.3-70.9 32 26.6 39.2 56.7 23.2 81.5-21.2 28.3-68.4 27.5-86.8 7.4z"/>
+      <path d="M297 76.2l1.5-5.4-4.4-3.3 5.4-.2 1.8-5.3 1.8 5.3h5.4l-4.3 3.5 1.6 5.3-4.4-3.2zm-27 33.6l1.6-5.3-4.4-3.4 5.5-.1 1.7-5.3 1.9 5.2 5.4.1-4.3 3.4 1.6 5.4-4.5-3.2zm1.8-26.5l1.6-5.4-4.4-3.3 5.4-.2 1.8-5.3 1.8 5.3h5.5l-4.3 3.5 1.6 5.3-4.5-3.2zm0-26.6l1.6-5.4L269 48l5.4-.2 1.8-5.3 1.8 5.3h5.5l-4.3 3.5 1.6 5.3-4.5-3.1zM242 90.4l1.5-5.4-4.3-3.4 5.4-.1 1.8-5.3 1.8 5.2 5.4.1-4.3 3.4 1.6 5.4-4.5-3.2z"/>
+    </g>
+    <path fill="#ca3745" d="M46 0h159.5v496H46.1z"/>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M46 129.3v-3.5l6.7-8.9-1.4-1.7 4-5.4-1.3-1.7-2.7 3.5-1.3-1.8 9.3-12.4 1.3 1.8-1.3 1.8 2.7 3.6 6.6-9-6.7-8.5-2.6 3.3 1.3 1.7-1.3 1.8L50 81.5l1.3-1.8 2.7 3.6 1.3-1.8-4-5.3 1.4-1.8-6.6-8.8V62l9.2 12.4-1.3 1.8 4 5.3-2.7 3.5 2.7 3.6 4-5.3 9.3 12.6L62 108l-4-5.3-2.7 3.5 2.7 3.5-4 5.4 1.3 1.7-9.2 12.4z"/>
+      <path d="M46 85l1.4 3.6v5.3h4l2.6 1.8-2.6 1.7h-4v5.4l-1.3 3.5V85z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M46 214.4v-3.6l6.7-8.8-1.4-1.8 4-5.3L54 193l-2.7 3.5L50 195l9.3-12.4 1.3 1.7-1.3 1.8 2.7 3.6 6.6-8.9-6.7-8.6-2.6 3.3 1.3 1.8-1.3 1.7-9.3-12.4 1.3-1.7 2.7 3.5 1.3-1.8-4-5.3 1.4-1.7-6.6-9V147l9.2 12.4-1.3 1.8 4 5.3-2.7 3.6 2.7 3.5 4-5.3 9.3 12.6-9.3 12.2-4-5.3-2.7 3.5L58 195l-4 5.3 1.3 1.8-9.2 12.4z"/>
+      <path d="M46 170l1.4 3.6v5.3h4l2.6 1.8-2.6 1.8h-4v5.3l-1.3 3.5v-21.2z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M46 299.4v-3.5l6.7-8.9-1.4-1.8 4-5.3-1.3-1.7-2.7 3.5-1.3-1.8 9.3-12.4 1.3 1.8-1.3 1.8 2.7 3.5 6.6-8.9-6.7-8.6-2.6 3.3 1.3 1.8-1.3 1.8-9.3-12.4 1.3-1.8 2.7 3.5 1.3-1.7-4-5.3 1.4-1.8-6.6-8.9v-3.5l9.2 12.4-1.3 1.8 4 5.3-2.7 3.5 2.7 3.6 4-5.3 9.3 12.6-9.3 12.2-4-5.4-2.7 3.6 2.7 3.5-4 5.3 1.3 1.8-9.2 12.4z"/>
+      <path d="M46 255.1l1.4 3.6v5.3h4l2.6 1.8-2.6 1.7h-4v5.3l-1.3 3.6V255z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M46 379.1v-3.5l6.7-8.9-1.4-1.7 4-5.4L54 358l-2.7 3.5-1.3-1.8 9.3-12.4 1.3 1.8-1.3 1.8 2.7 3.6 6.6-9-6.7-8.5-2.6 3.3 1.3 1.7-1.3 1.8-9.3-12.4 1.3-1.8 2.7 3.6 1.3-1.8-4-5.3 1.4-1.8-6.6-8.8v-3.6l9.2 12.4L54 326l4 5.3-2.7 3.5 2.7 3.6 4-5.3 9.3 12.6-9.3 12.2-4-5.3-2.7 3.5 2.7 3.5-4 5.4 1.3 1.7-9.2 12.4z"/>
+      <path d="M46 334.8l1.4 3.6v5.3h4l2.6 1.8-2.6 1.7h-4v5.4L46 356v-21.3z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M205.5 129.3v-3.5l-6.6-8.9 1.3-1.7-4-5.4 1.4-1.7 2.7 3.5 1.3-1.8-9.3-12.4-1.4 1.8 1.4 1.8-2.8 3.6-6.5-9 6.6-8.5 2.7 3.3-1.4 1.7 1.4 1.8 9.3-12.4-1.4-1.8-2.6 3.6-1.3-1.8 4-5.3-1.4-1.8 6.6-8.9V62l-9.2 12.4 1.3 1.8-4 5.3 2.7 3.5-2.7 3.6-4-5.3-9.3 12.6 9.3 12.2 4-5.3 2.7 3.5-2.7 3.5 4 5.4-1.3 1.7 9.2 12.4z"/>
+      <path d="M205.5 85l-1.3 3.6v5.3h-4l-2.7 1.8 2.7 1.7h4v5.4l1.3 3.5V85z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M206 214.4v-3.6l-6.7-8.8 1.4-1.8-4-5.3 1.3-1.8 2.7 3.6 1.3-1.8-9.3-12.4-1.3 1.7 1.3 1.8-2.7 3.6-6.6-8.9 6.7-8.6 2.6 3.3-1.3 1.8 1.3 1.7 9.3-12.4-1.3-1.7-2.7 3.5-1.3-1.8 4-5.3-1.3-1.7 6.5-9v-3.4l-9.2 12.4 1.3 1.7-4 5.3 2.7 3.6-2.7 3.5-4-5.3-9.3 12.6 9.4 12.2 4-5.3 2.6 3.5-2.7 3.6 4 5.3-1.3 1.8 9.3 12.4z"/>
+      <path d="M206 170l-1.4 3.6v5.3h-4l-2.6 1.8 2.6 1.8h4v5.3l1.3 3.5v-21.2z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M205.5 299.4v-3.5L199 287l1.3-1.8-4-5.3 1.4-1.7 2.7 3.5 1.3-1.8-9.3-12.4-1.4 1.8 1.4 1.8-2.8 3.5-6.5-8.9 6.6-8.6 2.7 3.3-1.4 1.8 1.4 1.8 9.3-12.4-1.4-1.8-2.6 3.5-1.3-1.7 4-5.3-1.4-1.8 6.6-8.9v-3.5l-9.2 12.4 1.3 1.8-4 5.3 2.7 3.5-2.7 3.6-4-5.3-9.3 12.6 9.3 12.2 4-5.4 2.7 3.6-2.7 3.5 4 5.3-1.3 1.8 9.2 12.4z"/>
+      <path d="M205.5 255.1l-1.3 3.6v5.3h-4l-2.7 1.8 2.7 1.7h4v5.3l1.3 3.6V255z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M205.5 379.1v-3.5l-6.6-8.9 1.3-1.7-4-5.4 1.4-1.7 2.7 3.5 1.3-1.8-9.3-12.4-1.4 1.8 1.4 1.8-2.8 3.6-6.5-9 6.6-8.5 2.7 3.3-1.4 1.7 1.4 1.8 9.3-12.4-1.4-1.8-2.6 3.6-1.3-1.8 4-5.3-1.4-1.8 6.6-8.8v-3.6l-9.2 12.4 1.3 1.8-4 5.3 2.7 3.5-2.7 3.6-4-5.3-9.3 12.6 9.3 12.2 4-5.3 2.7 3.5-2.7 3.5 4 5.4-1.3 1.7 9.2 12.4z"/>
+      <path d="M205.5 334.8l-1.3 3.6v5.3h-4l-2.7 1.8 2.7 1.7h4v5.4l1.3 3.5v-21.3z"/>
+    </g>
+    <path fill="#faae29" stroke-width="1pt" d="M46 33.7V30l6.7-8.8-1.4-1.8 4-5.3-1.3-1.8-2.7 3.5-1.3-1.7 9.3-12.4 1.3 1.7-1.3 1.8L62 9l6.6-9h2.7L62 12.4l-4-5.3-2.7 3.5 2.7 3.6-4 5.3 1.3 1.8-9.2 12.4zM46 0h8l-2.6 1.8h-4V7l-1.3 3.5V0zm159.5 33.7V30l-6.6-8.8 1.3-1.8-4-5.3 1.4-1.8 2.6 3.5 1.4-1.7-9.3-12.4-1.4 1.7 1.4 1.8-2.8 3.6-6.5-9h-2.7l9.3 12.5 4-5.3 2.7 3.5-2.7 3.6 4 5.3-1.3 1.8 9.2 12.4zm0-33.7h-8l2.7 1.8h4V7l1.3 3.5V0z"/>
+    <path fill="#faae29" d="M112.5 489s5.7-10 20.2-13.1c14.4-3 16.9 6.7 25.1 6.7 8.2 0 21.3-6.7 21.3-6.7s-13 12.8-23.1 12.5c-10-.3-13.5-6.7-23.8-5.8-10.3 1-19.7 6.7-19.7 6.4z"/>
+    <path fill="#faae29" d="M140.3 489s-5.7-10-20.1-13.1c-14.4-3-17 6.7-25.2 6.7s-21.3-6.7-21.3-6.7 13.1 12.8 23.2 12.5c10-.3 13.5-6.7 23.8-5.8 10.3 1 19.6 6.7 19.6 6.4z"/>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M93.2 472.4c-1.3-2.7-4.4-14.3-2.8-15.7 2.6-1 9.3 10.9 8.7 21.5-4.4 2.4-19.4-1-19.2-4.1 1-4.4 9.5-3 13.3-1.7z"/>
+      <path d="M84.1 462.3c-.8-3-2.1-15.2-.2-16.2 2.6-.2 7.4 13.2 5.1 23.4-4.7 1.2-18.9-6.2-18.2-9.3 1.7-4 9.8-.2 13.3 2z"/>
+      <path d="M76.8 451c-.6-3.1-.8-15.5 1.1-16.1 2.7.1 6.2 14.2 3 24-4.7.4-18.1-9.2-17.2-12 2-3.8 9.7 1.2 13 4z"/>
+      <path d="M71 438.8c-.3-3.1 1-15.3 3-15.6 2.6.7 4.4 15.4.2 24.4-4.8-.6-17-12.9-15.7-15.5 2.5-3.2 9.5 3.3 12.4 6.7z"/>
+      <path d="M66.9 426.2c.1-3.2 2.7-15 4.7-14.9 2.4 1.2 2.7 16.1-2.5 24.2-4.6-1.5-15.3-16-13.8-18.4 2.8-2.7 9 5.1 11.6 9z"/>
+      <path d="M68 411.8c-.3 12.6-2.6 12.7-6.8 3.4-1.8-3.5-2-18-.4-18.6 2.4 0 7.1 10.3 7.2 15.2z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M159 473.7c1.2-2.6 4.4-14.3 2.7-15.7-2.6-1-9.3 10.9-8.7 21.5 4.5 2.4 19.5-1 19.3-4.1-1.1-4.3-9.6-2.9-13.4-1.7z"/>
+      <path d="M168 463.6c.8-3 2.1-15.2.3-16.2-2.7-.2-7.5 13.3-5.2 23.5 4.7 1.1 19-6.3 18.2-9.3-1.7-4-9.8-.3-13.3 2z"/>
+      <path d="M175.4 452.2c.5-3 .8-15.4-1.2-16-2.6.2-6.2 14.3-3 24 4.8.5 18.2-9.2 17.2-12-2-3.7-9.7 1.3-13 4z"/>
+      <path d="M181.2 440.2c.2-3.2-1-15.4-3-15.6-2.6.7-4.5 15.3-.2 24.4 4.7-.6 16.9-13 15.6-15.6-2.5-3.2-9.4 3.3-12.4 6.8z"/>
+      <path d="M185.2 427.5c-.1-3.1-2.6-15-4.6-14.9-2.5 1.2-2.8 16.1 2.4 24.2 4.7-1.5 15.3-16 13.8-18.3-2.8-2.7-9 5-11.6 9z"/>
+      <path d="M184.1 413.1c.4 12.6 2.7 12.8 6.8 3.4 1.9-3.5 2.1-18 .4-18.6-2.4 0-7.1 10.4-7.2 15.2z"/>
+    </g>
+    <g transform="matrix(.96875 0 0 1.2258 182.4 -74.6)">
+      <path fill="#ca3745" stroke="#000" stroke-width=".1" d="M-3.5 290.6H-9v3.5h-5.3v3.5h-21.2l-3.6 3.6 1.8 1.8h8.9l1.7-1.8h-8.8l1.7-1.8h12.4l-5.3 5.3H-39l-3.5-1.7-3.6 1.7h-12.4l-5.3-5.3h12.4l1.8 1.8h-8.9l1.8 1.8h8.9l1.7-1.8-3.5-3.6h-19.5v-3.5h-5.3v-3.5h-5.3v-16h5.3v-3.5h5.3v-3.6h19.5l3.5-3.5-1.7-1.8h-8.9l-1.8 1.8h8.9l-1.8 1.7h-12.4l5.3-5.3H-46l3.6 1.8 3.5-1.8h12.4l5.3 5.3h-12.4l-1.7-1.7h8.8l-1.8-1.8h-8.8L-39 264l3.6 3.5h21.2v3.6h5.3v3.5h5.4v16z" transform="matrix(1.4884 0 0 1.24 3.5 -39.5)"/>
+      <path fill="#28ae66" stroke="#faae29" stroke-width="1pt" d="M375.6 499.7v24.8h10.6v7h10.6v7h35.5l14.2 10.7 14.1-10.6h39v-7l10.6-.1v-7H521v-24.9h-10.7v-7h-10.6v-7.2h-39l-14.1-10.6-14.2 10.6h-35.5v7.2h-10.6v7h-10.6z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#ca3745" d="M-75.6 296.6l-15.8 11v-11h15.8zm31.6 0l15.9 11v-11H-44zm-31.6 28.6l-15.8-11v11h15.8zm31.6 0l15.9-11v11H-44zm5.3-22l-5.3 4.4h10.6l-5.3-4.4zm-42.2 0l-5.2 4.4h10.5l-5.3-4.4zm0 15.4l-5.2-4.4h10.5l-5.3 4.4zm42.2 0l-5.3-4.4h10.6l-5.3 4.4z"/>
+      <path fill="#faae29" d="M-59.8 329.6l-5.3-4.4h10.6l-5.3 4.4zm0-22l-5.3-4.4h10.6l-5.3 4.4zm0-15.4l-5.3 4.5h10.6l-5.3-4.5zm0 22l-5.3 4.4h10.6l-5.3-4.4z"/>
+      <path fill="#faae29" stroke="#000" stroke-width=".1" d="M467.7 506.7H482v3.5h-14.2z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#c00" stroke="#000" stroke-width=".1" d="M414.6 510.2h7v3.6h-7zm56.7 0h7v3.6h-7z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#900" stroke="#000" stroke-width=".1" d="M439.4 489h14.1v3.5h-14.1zm0 7h14.1v3.6h-14.1z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#900" stroke="#000" stroke-width=".1" d="M435.8 492.5h21.3v3.6h-21.3zm3.6 32h14.1v3.4h-14.1zm0 7h14.1v3.5h-14.1zm-3.6-3.5h21.3v3.5h-21.3z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#faae29" stroke="#000" stroke-width=".1" d="M467.7 513.8H482v3.5h-14.2zm-56.7-7.1h14.2v3.5H411zm0 7h14.2v3.6H411zm-3.5-3.5h7v3.6h-7zm14.2 0h7v3.6h-7zm42.5 0h7v3.6h-7zm14.2 0h7v3.6h-7z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -374.1 -39)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -367.6 -39)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -361 -39)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.5 -41.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -41.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.6 -36.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -36.7)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -353.2 -50)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -346.6 -50)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -340 -50)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -350.5 -52.2)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -342.7 -52.2)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -350.6 -47.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -342.7 -47.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -374.2 -60.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -367.6 -60.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -361 -61)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.6 -63.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -63.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.6 -58.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -58.7)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -395.3 -49.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -388.7 -49.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -382.1 -49.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -392.6 -52)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -384.8 -52)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -392.7 -47.7)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -384.8 -47.6)"/>
+    </g>
+    <path fill="#fff" d="M134.6 247.8l4.4-2 4.4 2h-8.8zm-13.2 0l4.4-2 4.4 2h-8.8zm-13.2 0l4.4-2 4.4 2h-8.8zm26.4-47.4l4.4 2.1 4.4-2h-8.8zm-13.2 0l4.4 2.1 4.4-2h-8.8zm-13.2 0l4.4 2.1 4.4-2h-8.8z"/>
+    <path fill="#28ae66" d="M131 254l-5.2 4.1-5.1-4.1-5.2 4.1-5-4.1v2l3.3 2.1-1.7 2v2.1h1.7l1.7-2 1.7 2h1.7v-2l-1.7-2.1 3.5-2 3.4 2-1.7 2v2.1h1.7l1.7-2 1.7 2h1.7v-2l-1.7-2.1 3.4-2 3.4 2-1.7 2v2.1h1.7l1.7-2 1.7 2h1.7v-2l-1.7-2.1 3.5-2V254l-5.2 4-5-4.1zm0-59.7l-5.2-4.2-5.1 4.2-5.2-4.2-5 4.2v-2.1l3.3-2-1.7-2.1v-2h1.7l1.7 2 1.7-2h1.8v2l-1.7 2 3.4 2.1 3.4-2-1.7-2.1v-2h1.7l1.7 2 1.7-2h1.7v2l-1.7 2 3.4 2.1 3.4-2-1.7-2.1v-2h1.7l1.7 2 1.7-2h1.8v2l-1.7 2 3.4 2.1v2l-5.2-4-5 4zm38.7 34.3l5.5-4.5-5.5-4.4 5.5-4.5-5.5-4.5h2.8l2.7 3 2.8-1.5h2.7v1.5l-2.7 1.5 2.7 1.5v1.5H178l-2.8-1.5-2.7 3 2.7 3 2.8-1.6h2.7v1.5l-2.7 1.5 2.7 1.5v1.5H178l-2.8-1.5-2.7 3 2.7 3 2.8-1.5h2.7v1.5L178 233l2.7 1.5v1.5H178l-2.8-1.5-2.7 3h-2.8l5.5-4.5-5.5-4.4zm-87.9 0l-5.5-4.5 5.5-4.4-5.5-4.5 5.5-4.5h-2.7l-2.8 3-2.7-1.5h-2.7v1.5l2.7 1.5-2.7 1.5v1.5h2.7l2.8-1.5 2.7 3-2.8 3-2.7-1.6h-2.7v1.5l2.7 1.5-2.7 1.5v1.5h2.7l2.8-1.5 2.7 3-2.8 3-2.7-1.5h-2.7v1.5l2.7 1.4-2.7 1.5v1.5h2.7l2.8-1.5 2.7 3h2.7l-5.5-4.5 5.5-4.4z"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".3" d="M-26.6 214.4h1.8v1.7h-1.8zm-1.8 1.7h1.8v1.8h-1.7zm-8.8 8.9h1.8v1.8h-1.8zm1.8-1.8h1.7v1.8h-1.7zm-58.5 0h1.8v1.8H-94zm-8.9-8.8h1.8v1.7h-1.8zm1.8 1.7h1.8v1.8h-1.8zm0-39h1.8v1.8h-1.8zm-1.8 1.8h1.8v1.8h-1.8zm10.7-10.6h1.7v1.8H-92zm-1.8 1.8h1.8v1.8H-94zm56.7-1.8h1.8v1.8h-1.8zm1.8 1.8h1.7v1.8h-1.7zm7 7h1.8v1.8h-1.7zm1.8 1.9h1.8v1.7h-1.8zM-92 225h1.7v1.8H-92z" transform="matrix(1.24 0 0 1.1622 204.9 -5.5)"/>
+    <path fill="#fff" d="M119 224.1h-6.4v-4h4.3v-3.8h4.3v-3.5h4.4v4.3c-3.6 0-6.5 3-6.5 7z"/>
+    <path fill="#faae29" d="M132 224.1h6.5v-4h-4.3v-3.8h-4.3v-3.5h-4.3v4.3c3.5 0 6.4 3 6.4 7z"/>
+    <path fill="#fff" d="M132 224.1h6.5v4h-4.3v3.9h-4.3v3.4h-4.3v-4.3c3.5 0 6.4-3 6.4-7z"/>
+    <path fill="#faae29" d="M119 224.1h-6.4v4h4.3v3.9h4.3v3.4h4.4v-4.3c-3.6 0-6.5-3-6.5-7z"/>
+    <path fill="#28ae66" d="M132 224.1h-6.4v-7c3.5 0 6.4 3.2 6.4 7z"/>
+    <path fill="#ca3745" d="M132 224.1h-6.4v7c3.5 0 6.4-3.1 6.4-7z"/>
+    <path fill="#28ae66" d="M119 224.1h6.6v7c-3.6 0-6.5-3.1-6.5-7z"/>
+    <path fill="#ca3745" d="M119 224.1h6.6v-7c-3.6 0-6.5 3.2-6.5 7z"/>
+    <path fill="#28ae66" d="M132.4 249.8l-6.6-4-6.6 4-6.6-4-6.6 4v-2l4.4-2-2.2-2.1v-2h2.2l2.2 2 2.2-2h2.2v2l-2.2 2 4.4 2.1 4.4-2-2.2-2.1v-2h2.2l2.2 2 2.2-2h2.2v2l-2.2 2 4.4 2.1 4.4-2-2.2-2.1v-2h2.2l2.2 2 2.2-2h2.2v2l-2.2 2 4.4 2.1v2l-6.6-4-6.6 4zm0-51.4l-6.6 4.1-6.6-4.1-6.6 4.1-6.6-4.1v2l4.4 2.1-2.2 2v2.1h2.2l2.2-2 2.2 2h2.2v-2l-2.2-2 4.4-2.2 4.4 2.1-2.2 2v2.1h2.2l2.2-2 2.2 2h2.2v-2l-2.2-2 4.4-2.2 4.4 2.1-2.2 2v2.1h2.2l2.2-2 2.2 2h2.2v-2l-2.2-2 4.4-2.2v-2l-6.6 4.1-6.6-4.1zm24.1 30.9l-3.3-5.2 3.3-5.1-3.3-5.2 3.3-5.1H155l-1.7 3.4-1.6-1.7H150v1.7l1.7 1.7-1.7 1.7v1.7h1.7l1.6-1.7 1.7 3.5-1.7 3.4-1.6-1.7H150v1.7l1.7 1.7-1.7 1.7v1.8h1.7l1.6-1.8 1.7 3.5-1.7 3.4-1.6-1.7H150v1.7l1.7 1.7-1.7 1.7v1.8h1.7l1.6-1.8 1.7 3.5h1.6l-3.3-5.2 3.3-5.1z"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".4" d="M-101 177.2l-7 7v26.6l7 7.1h32l7-7v-26.6l-7.1-7.1H-101zm-1.8-5.4l-17.7 17.8v16l17.8 17.6h35.4l17.7-17.7v-16l-17.7-17.7h-35.4z" transform="matrix(1.24 0 0 1.1622 231.2 -5.5)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 .7748 208.4 136)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 -.7748 208.4 312.3)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 -.7748 222.4 312.3)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 .7748 222.4 136)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 -.7748 201.4 312.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 -.7748 215.4 312.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 -.7748 229.5 312.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(1.8599 0 0 -1.7432 293.8 558.7)"/>
+    <path fill="#28ae66" d="M95 229.3l3.3-5.2L95 219l3.3-5.2-3.3-5.1h1.7l1.6 3.4 1.7-1.7h1.6v1.7l-1.6 1.7 1.6 1.7v1.8H100l-1.7-1.8-1.6 3.5 1.6 3.4 1.7-1.7h1.6v1.7l-1.6 1.7 1.6 1.7v1.8H100l-1.7-1.8-1.6 3.5 1.6 3.4 1.7-1.7h1.6v1.7l-1.6 1.7 1.6 1.7v1.8H100l-1.7-1.8-1.6 3.5H95l3.3-5.2-3.3-5.1z"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.24 0 0 1.046 253.2 57.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".4" d="M-99.2 180.7l-3.6 3.6v26.5l3.6 3.6h-5.3v-33.7h5.3z" transform="matrix(1.24 0 0 1.1622 222.4 -5.5)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 .7748 201.4 136)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 .7748 215.4 136)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(.992 0 0 .7748 229.5 136)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".4" d="M-99.2 180.7l-3.6 3.6v26.5l3.6 3.6h-5.3v-33.7h5.3z" transform="matrix(-1.24 0 0 1.1622 29.1 -5.5)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(-1.8599 0 0 -1.7432 -42.3 558.7)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(-1.8599 0 0 1.7432 -42.3 -110.5)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(1.8599 0 0 1.7432 293.8 -110.5)"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".4" d="M-101 177.2l-7 7v26.6l7 7.1h32l7-7v-26.6l-7.1-7.1H-101zm0-1.8l-8.8 8.8v26.6l8.8 8.9h32l8.8-8.9v-26.6l-8.9-8.8H-101z" transform="matrix(1.24 0 0 1.1622 231.2 -5.5)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.24 0 0 1.04607 253.2 61)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.24 0 0 1.046 253.2 64.8)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.24 0 0 1.04607 253.2 68.4)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.24 0 0 1.04607 253.2 53.6)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.24 0 0 1.046 -1.6 57.3)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.24 0 0 1.04607 -1.6 61)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.24 0 0 1.046 -1.6 64.8)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.24 0 0 1.04607 -1.6 68.5)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.24 0 0 1.04607 -1.6 53.6)"/>
+    <path fill="#970000" stroke="#000" stroke-width=".3" d="M-101 179v37h8.9v8.9h56.7V216h8.8v-37h-8.8v-8.8h-56.7v8.8h-8.9zm1.8 1.7v33.7h8.8v8.8h53.2v-8.8h8.9v-33.7h-8.9V172h-53.2v8.8h-8.8z" transform="matrix(1.24 0 0 1.1622 204.9 -5.5)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-28.4 69.1l-5.3-7.1v-5.3l-5.3-5.3h-10.6l-8.9-5.3h-28.3l-8.9 5.3h-10.6l-5.3 5.3V62l-5.3 7v14.3l5.3 7v5.4l5.3 5.3h10.6l8.9 5.3h28.3l8.9-5.3H-39l5.4-5.3v-5.3l5.3-7.1V69z" transform="matrix(1.24 0 0 1.1176 215.9 -35.5)"/>
+    <path fill="#faae29" d="M73 49.6v6l6.7 7.9v6l6.6 5.9h13.1l11 5.9h15.4V49.6H73.1z"/>
+    <path fill="#ca3745" d="M107.3 63.5l-8 5h-4.9l1.6 1.8-3.2 3.4 1.6 1.7 4.8-1.7 1.6 1.7.8-4.6 8.8-5.4-3.2-2z"/>
+    <path fill="#ca3745" d="M98.5 59.5l-8 5.1h-4.9l1.6 1.7-3.2 3.4 1.6 1.7 4.8-1.7 1.6 1.7.8-4.6 8.8-5.3-3.1-2zm-4.4-8l-8 5.2h-4.9l1.6 1.7-3.2 3.4 1.6 1.7 4.8-1.7 1.6 1.7.8-4.6 8.8-5.3-3.1-2z"/>
+    <path fill="#faae29" d="M178.5 49.6v-6l-6.6-7.8v-6l-6.6-6h-13.2l-11-5.9h-15.3v31.7h52.7z"/>
+    <path fill="#ca3745" d="M125.8 81.3h-4l-4.8-4h-7.5l-4-2 2-2 4 2h4.1l4-5.9 6.2 2v4h-6.1l6 5.9z"/>
+    <path fill="#fff" d="M73 49.6v-6l6.7-7.8v-6l6.6-6h13.1l11-5.9h15.4v31.7H73.1z"/>
+    <path fill="#ca3745" d="M125.8 18h-4l-4.8 3.9h-7.5l-4 2 2 2 4-2h4.1l4 5.9 6.2-2v-4h-6.1l6-5.9zm0 0h4l4.8 3.9h7.5l4 2-2 2-4-2H136l-4.1 5.9-6.1-2v-4h6l-6-5.9z"/>
+    <path fill="#fff" d="M178.5 49.6v6l-6.6 7.9v6l-6.6 5.9h-13.2l-11 5.9h-15.3V49.6h52.7z"/>
+    <path fill="#ca3745" d="M125.8 81.3h4l4.8-4h7.5l4-2-2-2-4 2H136l-4.1-5.9-6.1 2v4h6l-6 5.9zM98.5 39.7l-8-5h-4.9l1.6-1.8-3.2-3.4 1.6-1.7 4.8 1.7 1.6-1.7.8 4.6 8.8 5.3-3.1 2zm45.8-4l8-5h4.8l-1.5-1.8 3.2-3.3-1.7-1.7-4.7 1.7-1.7-1.7-.7 4.5-8.8 5.4 3.1 2z"/>
+    <path fill="#ca3745" d="M107.3 35.8l-8-5.1h-4.9l1.6-1.8-3.2-3.3 1.6-1.7 4.8 1.7 1.6-1.7.8 4.5 8.8 5.4-3.2 2zM94 47.5l-8-5h-4.9l1.6-1.8-3.2-3.4 1.6-1.7 4.8 1.7 1.6-1.7.8 4.6 8.8 5.3-3.1 2z"/>
+    <path fill="#fff" d="M77 49.6h2l2 2 2-2h42.8v27.7h-2l2 2v2l-6.1-6v-2h2v2h2v-2l-16.4-8.7h-14v-8.5l-6.1-4.5H83l-2 2 2 2h-2l-4.1-6z"/>
+    <path fill="#faae29" d="M77 49.6h2l2-2 2 2h42.8V21.9h-2l2-2v-2l-6.1 6v2h2v-2h2v2l-16.4 8.7h-14v8.6l-6.1 4.4H83l-2-2 2-2h-2l-4.1 6z"/>
+    <path fill="#28ae66" d="M86.3 49.6h39.5v23.8l-17.6-10H95v-7.9l-8.7-5.9z"/>
+    <path fill="#ca3745" d="M153.1 39.7l8-5h4.8l-1.6-1.8 3.2-3.4-1.6-1.7-4.8 1.7-1.6-1.7-.7 4.6-8.8 5.3 3.1 2zm4.4 8l8-5.2h4.8l-1.6-1.7 3.2-3.4-1.6-1.7-4.8 1.7-1.6-1.7-.7 4.6-8.8 5.3 3.1 2z"/>
+    <path fill="#fff" d="M174.6 49.6h-2l-2-2-2.1 2h-42.7V21.9h2l-2-2v-2l6 6v2h-2v-2h-2v2l16.5 8.7h14v8.6l6.1 4.4h4l2.1-2-2-2h2l4 6z"/>
+    <path fill="#28ae66" d="M165.3 49.6h-39.5V26l17.6 9.9h13.1v7.9l8.8 6z"/>
+    <path fill="#ca3745" d="M144.3 63.5l8 5h4.9l-1.6 1.8 3.2 3.4-1.6 1.7-4.8-1.7-1.6 1.7-.8-4.6-8.8-5.4 3.1-2z"/>
+    <path fill="#ca3745" d="M153.1 59.5l8 5.1h4.8l-1.6 1.7 3.2 3.4-1.6 1.7-4.8-1.7-1.6 1.7-.7-4.6-8.8-5.3 3.1-2zm4.4-8l8 5.2h4.8l-1.6 1.7 3.2 3.4-1.6 1.7-4.8-1.7-1.6 1.7-.7-4.6-8.8-5.3 3.1-2z"/>
+    <path fill="#faae29" d="M174.6 49.6h-2l-2 2-2.1-2h-42.7v27.7h2l-2 2v2l6-6v-2h-2v2h-2v-2l16.5-8.7h14v-8.5l6.1-4.5h4l2.1 2-2 2h2l4-6z"/>
+    <path fill="#ca3745" d="M165.3 49.6h-39.5v23.8l17.6-10h13.1v-7.9l8.8-5.9zm-79 0h39.5V26l-17.6 9.9H95v7.9l-8.7 6z"/>
+    <path fill="#ca3745" d="M130.1 49.6l11-6h6.7l-2.2-2 4.4-3.9-2.3-2-6.5 2-2.2-2-1 5.3-12.2 6.3 4.3 2.3zm-8.6 0l-11 6h-6.7l2.2 2-4.4 3.9 2.2 2 6.6-2 2.2 2 1-5.3 12.2-6.3-4.4-2.3z"/>
+    <path fill="#28ae66" d="M121.5 49.6l-11-6h-6.7l2.2-2-4.4-3.9 2.2-2 6.6 2 2.2-2 1 5.3 12.2 6.3-4.4 2.3zm8.6 0l11 6h6.7l-2.2 2 4.4 3.9-2.3 2-6.5-2-2.2 2-1-5.3-12.2-6.3 4.3-2.3z"/>
+    <path fill="#fff" d="M112.6 49.6l13.2-9.9 13.2 9.9-13.2 9.9-13.2-9.9z"/>
+    <path fill="#ca3745" d="M83 53.6l2.1 2-2 2h-2l-6.2-8h2l4.1 6h2l-2-2 2-2h4.1v2h-4zm0-8l2.1-2-2-2h-2l-6.2 8h2l4.1-6h2l-2 2 2 2h4.1v-2h-4zm85.5 8l-2 2 2 2h2l6.1-8h-2l-4 6h-2.1l2-2-2-2h-4v2h4zm0-8l-2-2 2-2h2l6.1 8h-2l-4-6h-2.1l2 2-2 2h-4v-2h4zm-44.8-4h4.1v16h-4z"/>
+    <path fill="#ca3745" d="M117.7 45.6h16.2v8h-16.2z"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".1" d="M333 170l-10.6 5.4v8.8l10.7 5.4h10.6l10.6-5.4v-8.8l-10.6-5.3h-10.6z" transform="matrix(3.4444 0 0 3.7273 -1039.8 -283.1)"/>
+    <path fill="#c00" d="M84.5 384h2.2v-4.1H91v4h2.2v-9.4H91v4h-4.4v-4h-2.2v9.4zm56 31.5h2.3v-4h4.4v4h2.2V406h-2.2v4.1h-4.4v-4h-2.2v9.4zm-35.4-47.3h2.2V364h4.5v4h2.2v-9.4h-2.2v4h-4.4v-4H105v9.5zm32.5 0h2.2V364h4.4v4h2.3v-9.4h-2.3v4h-4.4v-4h-2.2v9.5zm20.7 15.7h2.2v-4h4.4v4h2.2v-9.4H165v4h-4.4v-4h-2.2v9.4zm0 15.8h2.2v-4h4.4v4h2.2v-9.4H165v4h-4.4v-4h-2.2v9.4z"/>
+    <path fill="#faae29" d="M125.8 421.9V387h53.1v15.8l-35.4 19h-17.7zm0-69.5V387H72.6v-15.8l35.5-19h17.7z"/>
+    <path fill="#fff" d="M125.8 352.4V387h53.1v-15.8l-35.4-19h-17.7zm0 69.5V387H72.6v15.8l35.5 19h17.7z"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(1 0 0 .8913 331.3 44.5)"/>
+    <path fill="#ca3745" d="M108 376v22.2h5.4l12.4 6.3 12.4-6.3h5.3V376h-5.3l-12.4-6.4-12.4 6.4H108z"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(-1 0 0 -.8913 -79.7 729.8)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(-1 0 0 .8913 -79.7 44.5)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(1 0 0 -.8913 331.3 729.8)"/>
+    <path fill="#ca3745" d="M83.3 399.8h2.2V395h4.4v4.7h2.2v-11H90v4.7h-4.4v-4.7h-2.2v11zm21.2 15.7h2.2v-4.7h4.5v4.7h2.2v-11h-2.2v4.7h-4.5v-4.7h-2.2v11zm-21.2-41h2.2v4.7h4.4v-4.7h2.2v11H90v-4.7h-4.4v4.7h-2.2v-11zm21.2-15.8h2.2v4.7h4.5v-4.7h2.2v11h-2.2V365h-4.5v4.7h-2.2v-11zm33.7 56.8h2.2v-4.7h4.4v4.7h2.3v-11h-2.3v4.7h-4.4v-4.7h-2.2v11zm21.3-30h2.2v-4.7h4.4v4.7h2.2v-11h-2.2v4.7h-4.4v-4.7h-2.2v11z"/>
+    <path fill="#ca3745" d="M138.2 415.5h2.2v-4.7h4.4v4.7h2.3v-11h-2.3v4.7h-4.4v-4.7h-2.2v11z"/>
+    <path fill="#ca3745" d="M138.2 415.5h2.2v-4.7h4.4v4.7h2.3v-11h-2.3v4.7h-4.4v-4.7h-2.2v11zm21.3-15.8h2.2V395h4.4v4.7h2.2v-11h-2.2v4.7h-4.4v-4.7h-2.2v11zm-21.3-30h2.2V365h4.4v4.7h2.3v-11h-2.3v4.7h-4.4v-4.7h-2.2v11z"/>
+    <path fill="#fff" d="M127.6 387.1l7-5.8h3.6v3h-3.5v1.4h5.3v-5.8h-5.3v-4.3h-7.1v4.3h1.7V377h3.6v3l-7.1 5.7-7-5.8V377h3.4v3h1.8v-4.4h-7v4.3h-5.4v5.8h5.3v-1.5h-3.5v-2.8h3.5l7.1 5.7-7 5.8h-3.6v-3h3.5v-1.4h-5.3v5.8h5.3v4.3h7.1v-4.3h-1.8v2.9h-3.5v-2.9l7-5.8 7.2 5.8v2.9h-3.6v-2.9h-1.7v4.3h7v-4.3h5.4v-5.8h-5.4v1.5h3.6v2.9h-3.5l-7.1-5.8z"/>
+    <g transform="matrix(1 0 0 .92857 198.4 17.6)">
+      <path fill="#ca3745" d="M-122.3 134.3l3.4-3.8h20.6l15.4-16.7h20.6l15.4 16.8h20.6l3.4 3.7-3.4 3.7H-47l-15.4 16.8H-83L-98.3 138H-119l-3.4-3.7z"/>
+      <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M372 391.5l2-2h22.8l17.1-19.4h19l17.2 19.5h22.8l1.9 2-1.9 1.9h-22.8L434.8 411H412l-15.2-17.5h-22.9l-1.9-2z" transform="matrix(.93104 0 0 .90908 -466.9 -221.3)"/>
+      <path fill="#faae29" d="M-64 136.2l6.8 7.4-3.4 3.7-1.8-1.8H-64v1.8l1.7 1.9h3.5l3.4-3.7v-3.8l-6.9-7.4 6.9-7.5v-3.7l-3.4-3.7h-3.5l-1.7 1.8v1.9h1.7l1.8-1.9 3.4 3.8-6.9 7.4-6.8-7.4 6.8-7.5v-1.9h-1.7l-6.8 7.5-6.9-7.5h-1.7v1.9l6.8 7.5-6.8 7.4-6.9-7.4 3.5-3.8 1.7 1.9h1.7v-1.9l-1.7-1.8h-3.5l-3.4 3.7v3.7l6.9 7.5-6.9 7.4v3.8l3.4 3.7h3.5l1.7-1.9v-1.8H-83l-1.7 1.8-3.5-3.7 6.9-7.4 6.8 7.4-6.8 7.5v1.8h1.7l6.9-7.4 6.8 7.4h1.7v-1.8l-6.8-7.5 6.8-7.4zm-8.6-9.4l-6.9 7.5 6.9 7.4 6.8-7.4-6.8-7.5zm-10.3 28v15l1.7-2 1.7 2 1.7-2 1.7 2 1.8-2 1.7 2 1.7-2 1.7 2 1.7-2 1.7 2 1.7-2 1.8 2v-15H-83zm20.6-41v-15l-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2v15h20.6zm29 16.8v-15l-1.6 2-1.7-2-1.7 2-1.8-2-1.7 2-1.7-2-1.7 2-1.7-2v15h13.7zm-65 0v-15l-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2v15h13.7zm65.1 7.4v15l-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2v-15h13.7zm-65.2 0v15l-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.7 2-1.8-2-1.7 2v-15h13.7z"/>
+      <path fill="#28ae66" d="M-62.4 154.8v9.3l1.8-1.9 1.7 2 1.7-2 1.7 2 1.7-2 1.7 2 1.8-2 1.7 2 1.7-2V138l-15.5 16.8zm-20.5 0v9.3l-1.8-1.9-1.7 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.7 2-1.8-2V138l15.5 16.8zm0-41v-9.3l-1.8 1.8-1.7-1.8-1.7 1.8-1.7-1.8-1.7 1.8-1.7-1.8-1.7 1.8-1.7-1.8-1.8 1.8v24.3l15.5-16.8zm20.5 0v-9.3l1.8 1.8 1.7-1.8 1.7 1.8 1.7-1.8 1.7 1.8 1.7-1.8 1.7 1.8 1.8-1.8 1.7 1.8v24.3l-15.5-16.8zm-49.7 35.4l-1.7-1.9-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2v-30l1.7 2 1.7-2 1.8 2 1.7-2 1.7 2 1.7-2 1.7 2 1.7-2v11.3h-6.8l-3.5 3.7 3.5 3.7h6.8v11.2zm78.9 0l1.7-1.9 1.7 2 1.7-2 1.8 2 1.7-2 1.7 2 1.7-2 1.7 2v-30l-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2-1.7-2v11.3h6.9l3.4 3.7-3.4 3.7h-6.9v11.2z"/>
+      <path fill="#fff" d="M-91.4 156s-1.4 1.4-1.4 2.2c0 .7 1.5 2.2 2.2 2.2.8 0 2.1-1.5 2.1-2.2s-1.4-2.2-1.4-2.2v-3s3 5.1 3 2.9c0-1.6-3-4.3-3-4.3h-1.5s-3 3.2-3 4.3c0 2.2 3-2.9 3-2.9v3z"/>
+      <path fill="#ca3745" d="M-73.5 161.7s-1.7 2-1.7 3 1.8 3.2 2.6 3.2c1 0 2.5-2.1 2.5-3.1s-1.7-3.1-1.7-3.1v-4.2s3 6.8 3 3.7c0-2-3-5.7-3-5.7h-1.7s-3.5 4.6-3 5.7c0 3.1 3-3.7 3-3.7v4.2z"/>
+      <ellipse cx="403.9" cy="391.5" fill="#28ae66" rx="3.5" ry="1.8" transform="matrix(.96774 0 0 1.0526 -482.4 -277.9)"/>
+      <ellipse cx="403.9" cy="391.5" fill="#28ae66" rx="3.5" ry="1.8" transform="matrix(.96774 0 0 1.0526 -463.5 -277.9)"/>
+      <ellipse cx="403.9" cy="391.5" fill="#28ae66" rx="3.5" ry="1.8" transform="matrix(.96774 0 0 1.0526 -444.7 -277.9)"/>
+      <path fill="#fff" d="M-91.7 112.8s-1.4-1.5-1.4-2.2c0-.7 1.5-2.3 2.1-2.3.8 0 2.1 1.5 2.1 2.2 0 .8-1.4 2.3-1.4 2.3v3s3.1-5.2 3.1-3c0 1.6-3 4.4-3 4.4h-1.5s-3.1-3.2-3.1-4.3c0-2.2 3 2.8 3 2.8v-3z"/>
+      <path fill="#ca3745" d="M-73.9 107s-1.7-2-1.7-3 1.9-3.1 2.6-3.1c1 0 2.6 2 2.6 3s-1.7 3.2-1.7 3.2v4s3-6.7 3-3.6c0 2-3 5.8-3 5.8H-74s-3.5-4.7-3-5.8c0-3 3 3.7 3 3.7V107z"/>
+      <path fill="#fff" d="M-54.9 156s-1.4 1.4-1.4 2.2c0 .7 1.5 2.2 2.2 2.2.8 0 2.1-1.5 2.1-2.2s-1.4-2.2-1.4-2.2v-3s3 5.1 3 2.9c0-1.6-3-4.3-3-4.3H-55s-3 3.2-3 4.3c0 2.2 3-2.9 3-2.9v3zm-.3-43.2s-1.4-1.5-1.4-2.3c0-.6 1.5-2.2 2.1-2.2.8 0 2.1 1.5 2.1 2.2 0 .8-1.4 2.3-1.4 2.3v3s3.1-5.2 3.1-3c0 1.6-3 4.4-3 4.4h-1.5s-3.1-3.2-3.1-4.3c0-2.2 3 2.8 3 2.8v-3z"/>
+      <path fill="#ca3745" d="M-106.3 145.6s-1.9 1.4-1.9 2c0 .7 2 2.2 2.9 2.1 1 0 2.8-1.3 2.8-2s-1.9-2.1-1.9-2.1v-2.8s3.4 4.5 3.4 2.5c0-1.4-3.4-3.9-3.4-3.9h-1.9s-3.9 3.2-3.3 3.9c0 2 3.3-2.5 3.3-2.5v2.8zm-.4-21.1s-1.9-1.4-1.9-2.1c0-.7 2-2.1 2.9-2 1 0 2.8 1.3 2.8 2s-1.9 2-1.9 2v2.8s3.4-4.5 3.4-2.4c0 1.3-3.4 3.8-3.4 3.8h-1.9s-3.9-3.1-3.3-3.8c0-2 3.3 2.4 3.3 2.4v-2.7zm66.3 20.6s-2 1.4-2 2.1c0 .7 2.1 2.1 3 2.1 1 0 2.8-1.4 2.8-2 0-.8-2-2.2-2-2.2v-2.7s3.4 4.5 3.4 2.4c0-1.3-3.3-3.8-3.3-3.8h-2s-3.8 3.1-3.3 3.8c0 2.1 3.4-2.4 3.4-2.4v2.8zm-.4-21s-2-1.4-2-2.1c0-.7 2.1-2.1 3-2.1 1 0 2.8 1.4 2.8 2 0 .8-2 2.1-2 2.1v2.8s3.4-4.5 3.4-2.5c0 1.4-3.3 3.9-3.3 3.9h-2s-3.8-3.1-3.3-3.8c0-2.1 3.4 2.4 3.4 2.4V124z"/>
+      <path fill="#fff" d="M-120.3 145.4c-.6-1.3-.4-1.9-.4-2.6 0-.7 1.7-2 2.3-2 .8 0 2.1 1.4 2.1 2.2 0 .7 0 1.3-.3 2.6l-.8-2.1c-1.1 3-1.2 3-1.8-.1l-1 2zm0-21.5c-.5 1.3-.4 1.9-.4 2.6 0 .7 1.7 2 2.4 2 .8 0 2.1-1.4 2.1-2.2 0-.7 0-1.3-.3-2.6l-.9 2.1c-1-3-1.1-3-1.8.1l-1-2zm92.5 21.2c-.6-1.3-.5-1.9-.5-2.6 0-.7 1.8-2 2.4-2 .8 0 2.1 1.5 2.1 2.2 0 .7 0 1.4-.3 2.6l-.9-2.1c-1 3-1.1 3.1-1.8 0l-1 1.9zm0-21.4c-.6 1.2-.4 1.8-.4 2.6 0 .6 1.7 2 2.3 2 .8 0 2.2-1.5 2.2-2.2 0-.8 0-1.4-.3-2.7l-1 2.2c-1-3.1-1-3.2-1.7 0l-1-2z"/>
+      <path fill="#ca3745" stroke="#000" stroke-width=".1" d="M115.2 177.2v-5.4h-16v-10.6H85v-3.5H72.6v-32H85v-3.5h14.2v-10.6h16v-5.3h21.2v5.3h16v10.6h14.1v3.6H179v31.9h-12.4v3.5h-14.1v10.6h-16v5.3h-21.2zm-1.8 1.7v-5.3h-16V163H83.3v-3.6H70.9V124h12.4v-3.5h14.1v-10.7h16v-5.3h24.8v5.3h16v10.7h14.1v3.5h12.4v35.4h-12.4v3.6h-14.2v10.6h-16v5.3h-24.7z" transform="matrix(1 0 0 .99999 -198.4 -7)"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tn.svg
new file mode 100644
index 0000000..d46a1cd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tn.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tn" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M124 0h496v496H124z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-128) scale(1.0321)">
+    <path fill="#e70013" d="M0 0h744v496H0z"/>
+    <path fill="#fff" d="M497.8 247.8a125.1 125.1 0 11-250.2 0 125.1 125.1 0 01250.2 0z"/>
+    <path fill="#e70013" d="M372.7 330.8a83 83 0 01-83-83 83 83 0 0183-83c11.4 0 24.5 2.7 33.3 9.2-60.6 2.3-76 53.7-76 74.5s9.8 67 76 73.8a70.4 70.4 0 01-33.3 8.5z"/>
+    <path fill="#e70013" d="M445.8 282.7L408.1 269l-24.9 31.4 1.4-40-37.6-14 38.6-11.1 1.7-40 22.4 33.2 38.6-10.8-24.7 31.6z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/to.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/to.svg
new file mode 100644
index 0000000..201d6bc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/to.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-to" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#c10000" d="M0 0h512v512H0z"/>
+    <path fill="#fff" d="M0 0h218.3v175H0z"/>
+    <g fill="#c10000">
+      <path d="M89.8 27.3h34.8v121.9H89.8z"/>
+      <path d="M168.2 70.8v34.8H46.3V70.8z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tr.svg
new file mode 100644
index 0000000..861d4ea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tr.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tr" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#e30a17" d="M0 0h512v512H0z"/>
+    <path fill="#fff" d="M348.8 264c0 70.6-58.3 127.9-130.1 127.9s-130.1-57.3-130.1-128 58.2-127.8 130-127.8S348.9 193.3 348.9 264z"/>
+    <path fill="#e30a17" d="M355.3 264c0 56.5-46.6 102.3-104.1 102.3s-104-45.8-104-102.3 46.5-102.3 104-102.3 104 45.8 104 102.3z"/>
+    <path fill="#fff" d="M374.1 204.2l-1 47.3-44.2 12 43.5 15.5-1 43.3 28.3-33.8 42.9 14.8-24.8-36.3 30.2-36.1-46.4 12.8-27.5-39.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tt.svg
new file mode 100644
index 0000000..87e439a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tt.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tt" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z" style="width:0"/>
+  <g fill-rule="evenodd">
+    <path fill="#e00000" d="M371 512L0 1v510.7l371 .3zM141 0l371 511V.2L141 0z"/>
+    <path d="M22.2.2h94.9l374.5 511.3h-97.9L22.2.2z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tv.svg
new file mode 100644
index 0000000..f30c8f3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tv.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tv" viewBox="0 0 512 512">
+  <defs id="defs540">
+    <clipPath id="a">
+      <path id="path537" fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <path id="rect597" fill="#009fca" fill-opacity="1" stroke-width="4.9" d="M0 0h512v512H0z"/>
+  <path id="path572" fill="#fff40d" fill-rule="evenodd" stroke-width="1pt" d="M478 226.3l7.1 20.4-18.4-12.6-18.5 12.6 7.1-20.4-18.5-12.6h22.9l7-20.4 7 20.4h22.8zm-57.2 162.8l7 20.4-18.4-12.7-18.4 12.7 7-20.4-18.4-12.7h22.8l7-20.4 7 20.5h22.9zm57.3-36.9l7 20.4-18.4-12.6-18.5 12.6 7.1-20.4-18.5-12.6h22.9l7-20.4 7 20.4h22.8zm-246.2 118l7.1 20.5-18.4-12.7-18.5 12.7 7.1-20.4-18.5-12.6h22.8l7-20.4 7.1 20.4h22.8zm43.1-88.4l-7-20.4 18.4 12.6 18.4-12.6-7 20.4 18.4 12.6h-22.8l-7 20.4-7-20.4h-22.8zm67.3-93l-7.1-20.4 18.4 12.6 18.5-12.6-7 20.4 18.4 12.6h-22.8l-7 20.4-7-20.4h-22.9zm56.5-19.3l-7-20.4 18.4 12.6 18.4-12.6-7 20.4 18.4 12.6h-22.8l-7 20.4-7-20.4h-22.9zm-56.5 161l-7.1-20.4 18.4 12.6 18.5-12.6-7 20.4 18.4 12.6h-22.8l-7 20.4-7-20.4h-22.9zM275 446.9l-7-20.4 18.4 12.6 18.4-12.6-7 20.4 18.4 12.6h-22.8l-7 20.4-7-20.4h-22.8z" opacity="1" stop-opacity="1"/>
+  <g id="g947" transform="scale(.5)">
+    <path id="path925" fill="#012169" d="M0 0h512v512H0z"/>
+    <path id="path927" fill="#FFF" d="M512 0v64L322 256l190 187v69h-67L254 324 68 512H0v-68l186-187L0 74V0h62l192 188L440 0z"/>
+    <path id="path929" fill="#C8102E" d="M184 324l11 34L42 512H0v-3zm124-12l54 8 150 147v45zM512 0L320 196l-4-44L466 0zM0 1l193 189-59-8L0 49z"/>
+    <path id="path931" fill="#FFF" d="M176 0v512h160V0zM0 176v160h512V176z"/>
+    <path id="path933" fill="#C8102E" d="M0 208v96h512v-96zM208 0v512h96V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tw.svg
new file mode 100644
index 0000000..5f284fc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tw.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tw" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#a)" transform="scale(1.0321)">
+    <path fill="#fe0000" d="M0 0h744v496H0z"/>
+    <path fill="#000095" d="M0 0h373.7v248H0z"/>
+    <path fill="#fff" d="M273.3 173l-45.8-9.4 9.7 45.8-35-31.1-14.4 44.5-14.8-44.4-34.8 31.3 9.5-45.8-45.8 9.7 31-35-44.5-14.4 44.5-14.8-31.4-34.8 45.9 9.5-9.8-45.8 35 31 14.5-44.5 14.7 44.5 34.8-31.4-9.4 45.9L273 74l-31.1 35 44.5 14.4-44.4 14.8z"/>
+    <path fill="#000095" d="M231 169.5l-14.4 7.7-14.1 8.3-16.4-.6-16.4.2-14-8.6-14.2-8-7.7-14.5-8.4-14 .5-16.4-.1-16.4 8.7-13.8 8-14.3 14.5-7.7 14-8.3 16.5.5 16.4-.2 13.9 8.7 14.3 8 7.7 14.5 8.3 14-.5 16.4.2 16.3-8.7 14z"/>
+    <path fill="#fff" d="M237 124.3a50.3 50.3 0 11-100.5 0 50.3 50.3 0 01100.5 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tz.svg
new file mode 100644
index 0000000..f993ff1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/tz.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tz" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M102.9 0h496v496H103z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-106.2) scale(1.0321)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="#09f" d="M0 0h744.1v496H0z"/>
+      <path fill="#090" d="M0 0h744.1L0 496V0z"/>
+      <path d="M0 496h165.4L744 103.4V0H578.7L0 392.7v103.4z"/>
+      <path fill="#ff0" d="M0 378L567 0h56L0 415.3v-37.2zm121.1 118l623-415.3V118L177 496h-55.9z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ua.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ua.svg
new file mode 100644
index 0000000..18ebe0d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ua.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ua" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffd500" d="M0 0h512v512H0z"/>
+    <path fill="#005bbb" d="M0 0h512v256H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ug.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ug.svg
new file mode 100644
index 0000000..d9be945
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ug.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ug" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M124 0h496v496H124z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-128) scale(1.0321)">
+    <path fill="#ffe700" fill-rule="evenodd" d="M0 330.7h744v82.7H0z"/>
+    <path fill-rule="evenodd" d="M0 248h744v82.7H0z"/>
+    <path fill="#de3908" fill-rule="evenodd" d="M0 165.4h744V248H0z"/>
+    <path fill="#ffe700" fill-rule="evenodd" d="M0 82.7h744v82.7H0z"/>
+    <path fill-rule="evenodd" d="M0 0h744v82.7H0z"/>
+    <path fill="#fffdff" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M449.3 248a77.2 77.2 0 11-154.5 0 77.2 77.2 0 01154.5 0z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M358.4 188.8l-5-9.2c2-2 5.2-3.4 10.4-3.4l-.5 10-4.9 2.6z"/>
+    <path fill="#ffe700" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M363.3 186.4l.6-10.2s10.4-.6 16 6.1l-5.5 8-11.2-4z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M374.6 190.2l5.1-8c3.4 3.6 4.8 6.2 5.4 10 0 .2-8.1 2-8.1 2l-2.4-4z"/>
+    <path fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M361 320.9s9.6-11 28.2-8.7c-2.8-4.5-11.9-4-11.9-4s-2.8-21.4-.6-22.4 11.5 0 11.5 0c1.3 0 3.4-3.3 1.7-5.4s-6.6-10.2-4.6-11.8c2-1.6 13 .9 13 .9l-31-39.8s-3.2-15 3.2-22.1c7.6-6.4 6.8-13.2 6.6-13.1-1-7-11.6-12-18.8-5.6-4.2 5.1-1.4 9-1.4 9s-11 3-11.5 5c-.4 1.8 12.5-.4 12.5-.4l-1.2 8.8s-25.2 23-6 42.7c.3 0 .7-.9.7-.9s6.8 8.4 13.9 10.2c6.7 6.9 6 5.8 6 5.8s1.4 10.8.1 13a93.4 93.4 0 00-21.2-.2c-2.3.7-11.1.3-9 14.6l3.2-7.3s-.2 5.2 1.9 7c-.4-5.4 2-9.1 2-9.1s.4 6 1.8 6.8c1.3 1 1.3-9.6 8.6-8.8 7.3 1 12.6.7 12.6.7s2.4 20.6 1.6 22.6c-5.2-1.3-17.8.5-18.6 3.7 7.4-.5 10.8.4 10.8.4s-6 5.3-4.1 8.4z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M364 208s-18.4 20.2-10.5 35.7c.5-2.2.3-3.5.5-3.4-.4-.3 2.3 1.8 2 1.4.2-1.1-.7-3.5-.7-3.5l2.4.6-1.4-2.7 3.5.5s-1.2-3.4-.8-3.4a94 94 0 012.9.2c-5.2-9.3-.3-17 2-25.3z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" stroke-width=".9" d="M370.3 190.8s1 7-2.8 9c-.6.4-3 1.2-2.7 2.6.5 1.9 1.5 1.5 3 1.2 4-.7 8.6-9.2 2.5-12.8z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M363.5 196.7a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M357.6 202.5c-1 .8-6 6.1-1 8 5.2-1.4 3.7-2.3 4.9-3.5 0-2.3-2.6-3-3.9-4.5z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M368.7 252.4c-.3 1.2-1.4 5.4.2 8.6 4.4-1.8 6.4-1.3 7.9-.3-3.6-3-5-4.1-8.1-8.3z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M376.3 272.4l.2 9.8s3.5.7 5 0c1.6-.6 0-6.8-5.2-9.8z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M401.2 273.6s-6.4-15.3-22.5-19.2-14.1-21-12.8-22.1c.7-1.5 1.2-3.8 5.9-1.6 4.7 2.2 26.1 13 29.2 13.5s.4 29.8.2 29.4z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".8" d="M385.8 254.4c-.3.1 21.6 12.9 15 23.9 6.3-4.1 4.2-11.4 4.2-11.4s5.1 13.3-7.3 19.8c1.4 1.2 2.2.9 2.2.9l-2 2.1s-1 1.6 7.3-2.4c-2.3 1.8-2.5 3.1-2.5 3.1s.7 1.8 6.1-3a30.1 30.1 0 00-5.4 7.2c12-1.1 37.8-39.7-8.1-51.1l2 2.2-11.5 8.7z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M386.7 250.6c3 2 4 2.8 4.4 3.8-2.7-.6-5.2-.4-5.2-.4s-5.8-5.6-6.9-6c-.8 0-5.4-3-5.4-3-2.3-1.1-4.4-9 4-6.7 8.8 4.1 10 4.4 10 4.4L398 246l6 6.7s-10.7-5.3-12-5.4c3 2.4 4.6 5.6 4.6 5.6-3.4-1-6.3-1.8-9.9-2.3z"/>
+    <path fill="none" stroke="#fff" stroke-linecap="round" stroke-width=".8" d="M345.3 203.3s10.2-2.4 11.4-2"/>
+    <path fill="#de3908" fill-rule="evenodd" d="M0 413.4h744v82.7H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/um.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/um.svg
new file mode 100644
index 0000000..25b08ce
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/um.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-um" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h130v130H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="scale(3.9385)">
+    <g stroke-width="1pt">
+      <path fill="#bd3d44" d="M0 0h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z"/>
+      <path fill="#fff" d="M0 10h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z"/>
+    </g>
+    <path fill="#192f5d" d="M0 0h98.8v70H0z"/>
+    <path fill="#fff" d="M8.2 3l1 2.8H12L9.7 7.5l.9 2.7-2.4-1.7L6 10.2l.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7L74 8.5l-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 7.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 24.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 21.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 38.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 35.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 52.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 49.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 66.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 63.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/un.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/un.svg
new file mode 100644
index 0000000..1d50ea9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/un.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-un" viewBox="0 0 512 512">
+  <path fill="#4b92db" fill-rule="evenodd" d="M0 0h512v512H0z"/>
+  <g transform="translate(-128.7) scale(.64)">
+    <path id="a" fill="#fff" d="M663.9 587a71 71 0 01-9.5 8.6c-21.2-22-46.2-46.2-69.9-46.2-14.7 0-25.2 11.2-37.6 19-17.1 11-40.6 17.2-60.7 9.1a66.2 66.2 0 01-29.2-20 63.6 63.6 0 0057.5 5c19.7-8.2 39.9-19.1 62.4-19.1 33.2 0 64.8 22.5 87 43.6zm-245.6-69c22 25 57.9 17 87.2 23.2 4.1 1 8 2.3 12.4 1.6-3.5-2.2-8.2-2.5-12.2-4-22.8-8.6-26.3-33-38.8-49.7 16 10.6 29.1 25 44 38.7a73.8 73.8 0 0036.7 16.2c-3.2 1.2-7.4 1-11 1.8-24 6-50.6 15.4-76.2 7a75.4 75.4 0 01-42-34.8zm-35.2-58c13.7 31.1 48.2 33.6 71 52.6a64 64 0 0013.5 9.2l.3-.2a99.5 99.5 0 01-15.1-16.5c-13.1-19-8.8-45-18.9-65.2a142 142 0 0123.1 34.9c8.5 20.2 11.4 43.3 30.5 58.7-20.7-6.8-44.5-5.5-63-17.6-19.6-12.8-37.7-33-41.4-55.8zm-14.7-62.8c2 27.4 31 42 45 64.5 3 4.8 6 9.8 10.3 13.6-.7-2.9-3-5.5-4.4-8.3a62.8 62.8 0 01-5.3-32.3c1.3-14 7.1-27 4.9-41.7 12 25.9 8.1 58.2 15 86.1 1.6 6.2 5.3 11.6 7.6 17.5-11.7-9-27.1-17-40-27a85.5 85.5 0 01-29-36.5 84.9 84.9 0 01-4.1-35.9zm.8-50.4c1.4-6.1 2.5-12.4 5.1-18-5 25.8 12.2 44.4 18 66.8 2.2 8.4 3 17.3 6.4 25.2.3.1.6-.2.8-.4-8.5-23.8 4-45.8 16-64.5a55 55 0 006.2-16.5c1.3 10.8-1 23.2-3 34.3-2.5 14.3-7.4 27.7-11.3 41.5a65 65 0 00-.5 27.4l-1.3-1c-9-16.6-26.8-29.6-32.1-47.8a102.6 102.6 0 01-4.3-47zm9.5-27.8a79 79 0 0119-50c.3-.2.6-.5 1-.4-12.6 19-1.1 43.2-2.8 64.9l-1.6 22.2c.2.2.2.9.8.6.8-2.5 1-5.1 1.4-7.7 3-18 18.8-30.4 32.1-43a28.5 28.5 0 007-10.4c-1.1 9-3.6 18.1-7.6 26.2-10.3 20.8-30.1 37.6-33.7 61.3-1.7-22.7-15.6-39.6-15.6-63.7zm33-65.9a46 46 0 0122-14.6c-16.5 11.3-15.6 31.4-20.6 48.2-1.8 6.1-4.5 11.9-6 18.2l.5.4a54 54 0 0113.5-19.9c11.5-10.8 28.8-17.4 34.5-33.3-.3 22.1-19.1 38.9-36.3 51.9a62.6 62.6 0 00-18.2 21.8c.6-6 1-11.2.4-17.1-1.8-19.3-3-41 10.3-55.6zm66.5-37.1c-12.1 10.7-20.2 24.4-29.6 36.7-7.7 10.3-18.4 16.6-27.5 25.2 5-10.2 5.8-22 12.1-31.9 10.7-17 28.5-23.6 45-30z"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 1202.2 0)" xlink:href="#a"/>
+  </g>
+  <path fill="#fff" d="M351 279.5l-2.4-1.3a103.4 103.4 0 01-19 27.1l-13.4-13.4A83.9 83.9 0 00332 269l-2.3-1.2a81.6 81.6 0 01-15.3 22.2l-12.2-12.2a64 64 0 0012.4-18.3l-2.3-1.2a61.8 61.8 0 01-11.9 17.7L287 262.7a42.4 42.4 0 008.6-13.5l-2.3-1.2a40.1 40.1 0 01-8.1 12.9L273 248.7a22.6 22.6 0 005.8-14H296a39.8 39.8 0 01-2.7 13.3l2.3 1.2a42.5 42.5 0 003-14.4h19a61.2 61.2 0 01-5.3 23.6l2.3 1.2a64 64 0 005.5-24.9h17.2a80.8 80.8 0 01-7.6 33.2l2.3 1.2c5-10.6 7.7-22.3 7.9-34.4h19a102.3 102.3 0 01-10.3 43.5l2.3 1.3a105 105 0 0010.6-46c0-13.8-2.7-27.2-7.7-39.6l-2.3 1c4.7 11.7 7.2 24.3 7.4 37.3h-19a83.7 83.7 0 00-6-29.7l-2.3 1a81.1 81.1 0 015.7 28.7h-17.2a64 64 0 00-4.3-22l-2.3 1a61.5 61.5 0 014 21h-19a42.5 42.5 0 00-2.5-13.4l-2.4 1a40 40 0 012.4 12.4h-17.2a22.6 22.6 0 00-5.8-14l12.2-12.1a39.8 39.8 0 018.5 13.7l2.3-1a42.4 42.4 0 00-9-14.5l13.4-13.5a61.3 61.3 0 0113 20.5l2.4-1a63.9 63.9 0 00-13.6-21.3l12.2-12.1a81.1 81.1 0 0117.2 26.6l2.4-1a83.7 83.7 0 00-17.8-27.4l13.5-13.5a102.6 102.6 0 0121.8 33.3l2.3-1a105.2 105.2 0 00-23.2-35 105.2 105.2 0 00-35.2-23.3l-1 2.4a102.6 102.6 0 0133.5 21.8l-13.5 13.5a83.8 83.8 0 00-26.9-17.6l-1 2.4a81.1 81.1 0 0126.1 17l-12.2 12.2a64 64 0 00-20.1-13.2l-1 2.4a61.4 61.4 0 0119.3 12.6l-13.4 13.4a42.5 42.5 0 00-12.8-8.3l-1 2.4a40 40 0 0112 7.7l-12.2 12.2a22.6 22.6 0 00-14-5.8v-17.2a39.9 39.9 0 0114.3 3l1-2.3a42.5 42.5 0 00-15.2-3.3v-19a61.4 61.4 0 0122 4.6l1-2.4a64 64 0 00-23-4.7V152a81.2 81.2 0 0129.3 6l1-2.4a83.7 83.7 0 00-30.3-6.1v-19c13 .1 25.5 2.7 37.2 7.4l1-2.4A105.3 105.3 0 00256 128a104.8 104.8 0 00-47.2 11.2l1.2 2.2a102.4 102.4 0 0144.7-10.8v19a83.3 83.3 0 00-35.9 8.7l1.2 2.2a80.8 80.8 0 0134.7-8.4v17.3a63.7 63.7 0 00-26.7 6.4l1.1 2.2a61.3 61.3 0 0125.6-6.1v19a42.3 42.3 0 00-16.7 4l1.1 2.2a39.9 39.9 0 0115.6-3.7v17.3c-2.7.1-5.2.8-7.6 1.8l1.2 2.2a20.2 20.2 0 017.7-1.5 20.2 20.2 0 0114.3 6 20.2 20.2 0 016 14.3c0 11.1-9.1 20.3-20.3 20.3a20.1 20.1 0 01-14.4-6 20.2 20.2 0 01-5.9-14.3c0-5.5 2.1-10.6 6-14.4a20.3 20.3 0 016.6-4.4l-1.2-2.3a22.8 22.8 0 00-6.3 4l-12.2-12.1A40 40 0 01239 197l-1-2a42.7 42.7 0 00-11.2 7.6L213.3 189a61.6 61.6 0 0115.8-11l-1.1-2.2a64.4 64.4 0 00-16.4 11.5L199.4 175a81.3 81.3 0 0120.6-14.6l-1.2-2.2a84.3 84.3 0 00-21.2 15l-13.5-13.5a103 103 0 0125.9-18.4l-1.2-2.2a106.2 106.2 0 00-47.4 47.7l2.2 1.2a103 103 0 0118.7-26.5l13.5 13.5a84.2 84.2 0 00-15.4 22.1l2.2 1.2a81.4 81.4 0 0115-21.5l12.2 12.2a64.4 64.4 0 00-12 17.5l2.2 1.2a61.5 61.5 0 0111.5-17l13.5 13.5a42.7 42.7 0 00-8.2 12.6l2.2 1.2a39.9 39.9 0 017.8-12l12.2 12.2a22.7 22.7 0 00-5.8 13.9H216a40 40 0 013-14.1l-2.2-1.2a42.3 42.3 0 00-3.4 15.3h-19a61.3 61.3 0 015.6-24.4l-2.2-1.2a63.7 63.7 0 00-6 25.6h-17.2a81 81 0 018-33.8l-2.2-1.2a83.3 83.3 0 00-8.3 35h-19a102.4 102.4 0 0110.5-44l-2.2-1.3a104.8 104.8 0 00-10.9 46.6 105.8 105.8 0 004.3 29.7l2.5-.6a103.2 103.2 0 01-4.2-27.9h19a84 84 0 003.6 23.2l2.5-.6a81.5 81.5 0 01-3.5-22.6h17.2a64.3 64.3 0 003 18.4l2.5-.6a61.7 61.7 0 01-3-17.8h19a42.6 42.6 0 002.5 13.1l2.5-.6a40 40 0 01-2.4-12.5h17.2a22.6 22.6 0 005.8 14l-12.2 12.2a39.9 39.9 0 01-8.4-13.7l-2.5.6a42.4 42.4 0 009.1 14.9L211.6 276a61.3 61.3 0 01-14.2-23.6l-2.5.6a63.7 63.7 0 0014.9 24.8L197.6 290a80.9 80.9 0 01-19.4-32.8l-2.5.6a83.5 83.5 0 0020 34l-13.3 13.4a102.3 102.3 0 01-25.1-42.7l-2.5.6a104.9 104.9 0 0026.6 44.9c8.6 8.6 18.5 15.5 29.1 20.6l1.3-2.2A102.9 102.9 0 01184 307l13.5-13.4a83.9 83.9 0 0023.6 16.1l1.2-2.2a81.3 81.3 0 01-23-15.7l12.2-12.2a64 64 0 0019.3 12.8l1.3-2.2a61.4 61.4 0 01-18.8-12.4l13.4-13.4a42.4 42.4 0 0014.8 9l1.3-2.2a39.9 39.9 0 01-14.3-8.6l12.2-12.2a22.6 22.6 0 0014 5.8v17.2a40 40 0 01-12-2.2l-1.2 2.3a42.5 42.5 0 0013.1 2.4v19a61.4 61.4 0 01-22.5-4.7l-1.3 2.2a63.9 63.9 0 0023.8 5.1v17.2a81 81 0 01-32.3-7.2l-1.2 2.2a83.6 83.6 0 0033.5 7.6v19c-15-.2-29.6-3.6-43-10l-1.2 2.3A105.1 105.1 0 00256 339c16.8 0 33-4 47.5-11.3l-1.2-2.4a102.2 102.2 0 01-45 11v-19a83.5 83.5 0 0036.3-8.8l-1.2-2.3a80.8 80.8 0 01-35.1 8.6v-17.2a64 64 0 0027.3-6.7l-1.2-2.3a61.2 61.2 0 01-26.1 6.5v-19a42.3 42.3 0 0017.4-4.3l-1.2-2.3a39.8 39.8 0 01-16.2 4v-17.2a22.6 22.6 0 0013.9-5.8l12.2 12.2a40.2 40.2 0 01-9.9 6.8l1.2 2.3a42.6 42.6 0 0010.5-7.3l13.4 13.4a61.7 61.7 0 01-15.2 10.7l1.2 2.3a64.2 64.2 0 0015.8-11.2l12.2 12.2a81.6 81.6 0 01-20.2 14.3l1.2 2.3a83.9 83.9 0 0020.8-14.8l13.4 13.4a103.3 103.3 0 01-25.5 18.2l1.2 2.4a105.7 105.7 0 0027-19.6 105.6 105.6 0 0020.4-28.6z"/>
+  <path fill="#fff" d="M261.4 209v.9h.7v-.8zm-1-1h1v.7h-1zm-.7 0v-.7l-.7-.1v.6zm-1.4-.4l-.7-.1v-.7l.8.1zm-6.1-.8h.8v.6h-.8zM251 208v-.6l-.7-.1v.6zm-.7 1l-.9-.3.2-.6.8.2zm-1.5.7l-.1-.6.6-.1.1.6zM165 275h-.5v1h.9v1.5h.6l-.1-1.7-.9-.3zm8.4 9.4l-.4.7-1.2-1-.8-1.2-.4-1-.8-2 1.6.8.5 1.5.8.6zM195 313l-.8-1.3 1.3.2 1.3 1.2.6 1.4-.8.4-.4-.6-1-.3zm57.8-97h-1.2l-.2-2.4.7-.5V212h-3.8v-1l.5-.4-.9-.3-.6.9-.2 1-1.1.2v.5h-.8v1.4l-3 2.5-5.9-.2c-.4 1-1.5-.1-1.5-.1-.2-.7-1.7 0-1.7 0 0 1.1-2-.6-2-.6l-3.7-2.7c-2.1-2-5.3.6-5.4 1.1 0 1.5-2.5.3-2.5.3s-2.1-.6-2.4.2c-.4.9-1.7.7-1.7.7l-.3.4-1 .2-.2.7-1.3.2 3.2-.1c.8-.1-.3 1.8-.9 1.7l-1.5.1-.5.6h-1.4l-.6.8h-2s-1.2.9-1.1 1.2c.1.3-.2 1.3-.5 1.3s-1 1-.8 1.3c.2.3-.6 1.4-.6 1.4l-.2 1-.7.3v3l-1.2.8v1.3l-2 2 .3 1.8-1.6 1.7.2 1.7-1 .3-.2.8-.4 2.3h1c.6-.1.5 1.5 0 1.7-.4.2-1.6.6-1 1 .7.5-1.6.4-1.6-.3 0-.6-1.3-1.1-1.6-1-.3.3-.9-.9-.9-.9-1.1-1.2-4.7.1-4.7.1l-.6 1.7c-1.2.3-1.9 2.2-1.9 2.2-1 .3-1.7 1.5-1.4 1.8.3.4-.5.5-.5.5v2.3l-.5.8v2.6c.7 0 .6 1.2.6 1.2-1 0-.9 1.5-.9 1.5l-2.2.7-.4.7-2.8-.1-.7.7-.8-.7h-5.3l-.2-.6-1-.2-.2-1.2-1.6.1-.3.7h-1.7c.1 1.2-1.7 2.8-2 2.4-.1-.5-1.3-1.6-.8-1.9l2-.4v-.8h-4l-.4.6H161v1.8l-.7.2c-.6.4 0 1.5 0 1.5.8.8 0 2 0 2-.7.6.5 1.8.5 1.8.8.2-.5.9-.5.9.2 1 .8 1.4.8 1.4-.6 1 .4 1.6.4 1.6l.1 1.8.8.5v1.2l.4.7h1.7l-.1-2.7c-1.5-1.7 1.3-2.1 1.4-1.5 0 .7 1.3 1 1.3 1 .2 1.6 2 2.6 2.5 1 .5-1.7 1-.7 1.3 0 .3.8 2.3 2.7 2.3 2.7h1.6l.2 1.5c1.8-.1 2.4 0 3.1 2.6a4.7 4.7 0 002.8 3h1.5c0-1.3 1.5.2 1.5.9 0 .6 2.8 3 2.8 3l3 .7 2.6 2.2 2-.2h.9c.5-1.9 3 0 3.3.7.2.7 1.9 1.8 2 1.2.3-.5 1.5-.2 1.7 1.4.2 1.6 1 1.3 1 1.3h6l2.1-2h5.4c2.8-.1 1.1-4 .6-4-1-.7.3-3.8.3-3.8l-7.8-7.2c-1.8 0-.2-2.7-.2-2.7 1.4-.8-.3-2.2-.3-2.2.2-1.3-.7-2.8-.7-2.8-2-1.3-1.4-3.8-1.4-3.8v-1.7c-1.6-1.5.6-1.8.6-1.8.8-1.3-.5-2.2-.5-2.2l-.1-1.4-1.7-.2-.2-5.1-3.9-5.5c-.7-.2-.2-1.5-.2-1.5 1-.6-.2-1.9-.2-1.9l-.1-2.3 2.2-.3.6-.8h1v-2.8c.4-1.4 1.7-.7 1.7-.7l1.5.1.9-1.6.2-1.3h-1.2c-1.3-.9-.6-3.7-.6-3.7 2-3 4.3-1.3 4.3-1.3h1.5c2.3 1.4.2 4.3.2 4.3-.4.6-.2 2.7-.2 2.7l.6 3.4-1.4 1.2c-1.2.6-1.2 2.2 0 2.5 1 0 .6 2.1-.7.7-1.9 0 1 1.8.2 1.3 2 1 1.5-.8 1.5-.8l2.6-2c1-.8 2.6 1.5 2.6 1.9 0 .3 4.3 0 4.3 0 1.2.8 1.6 2.8 1.6 2.8 1.2-1.5 3.6-.1 1.8.7 1.7 1.1 1.7 2 1.7 2 1.4-.4 1.4.7 1.4 1l.4-1.6c-1.6-1.2 2.1-1.6 1 .6l-.6 1 1.1.8.1 2.5c2.4-.2 1.7-3.1 1.7-3.1l1-.3c0-1 .8-.4.8-.4-.7-3.7 1.7-4.3 1.7-4.3 1.4-.3 1.5-3.3 1.5-3.3-1-.4-.4-1.9.7-.6 1 1.3-.7-2.6-.7-2.6l-.8-.7-1.2-.2-.1-1.1h-2l-.2 1.5-.8.2-.2-.4-.3 1.1h-2v-1.3l1.1-.3.5-.6.3-1.8h1.4l1.8-.5c0-1.8 1-1.4 1-1.4l.7.5 1 .8v.6l-.6.4-.1.8.3 1.2h.9c.3-1.7 2.5-1.7 3.2-.6l.6-1.5c-1.5-.8 0-2 .4-1.4.4.5 1.4-1.4 1.4-1.4s.7 1 0-.4c-.8-1.3.5-2 .5-2-.2-1.2 1.4-1 1.4-1l.1-1.7-1.5-.1c-.3 1.5-1.6.2-1-.1s1.3-1 1.3-1v-1l.7-.3v-1h1.7l1.4-.7.3-.6h1.5l2.1-2-.2-.9c-1.3 0 0-1 0-1l.2-1.6z"/>
+  <path fill="#fff" d="M209.8 237.4l-1.9-.2.1.8h.6c.8 1.5 0 5.1 0 5.1s-1.2.1-1.4-.5c-.2-.7-.8 1.4-.3 1.7.4.3 1.9 0 2 1.2 0 1.2 1-.7 1-.7v-7.4z"/>
+  <path fill="#fff" d="M210.3 249.5l.2-1-.8-.3.1-1.6.7-.1v-.8l-1.5 1.1-1-.6v2.6l1.6 2.2zm.4 2.8l-.8.1v.9h.8zm-1 5.5l-.9.1v.8l1-.1zm1.3-2.6c.2 0 .4-.1.4-.4 0-.3-.2-.5-.4-.5s-.5.2-.5.5c0 .2.2.4.5.4z"/>
+  <circle cx="211.7" cy="257.1" r=".5" fill="#fff"/>
+  <circle cx="211.7" cy="244.7" r=".5" fill="#fff"/>
+  <path fill="#fff" d="M241.5 241.4l.3-1 .6-.4v-1l.5-.8.7-.8.2-.9 1-.6 1.3-.2.5-.7.3-1.3v-1l.5-.6 1.3-.5v-2h-.7v-.8l-1.2-.1-.3.5h-.5l-.1.9h.6l.1.6-.4.4-.2.6-.8.2-2 1.8v.9l-.6.8-.6 1.6h-2.3l-.4 2 .3 1.6zm9.4-5.3v-1.5l-.2-1.4-1.6-.8-1.2 1.1-.2 1.5v1l-1 .2-.3 3-.8.3v1l-1 .4-1.3.3-.2 1.4-.8.5-.4 1.3-.6 3.2s1 1.8 1.5 1a2 2 0 011.4-1l.3-.8 2.9.1c.2-1.2 1.6-.7 1.6-.2s1 .1 1 .1l.8-1.2h1.2v-1.3l.6-.3v-2c1.7-.5 1.5-2.1 1.5-2.1l.4-.5-.2-.8c-.9-.3-.4-1 .1-.9.5.3-.7-1-.7-1-.7.6-1.2-.6-1.2-.6h-1.6zm1.7 13c-.1 1.4-1.7 1.8-1.7 1.8l-1.2-.3-.6-.6-.1-1.5h1l.1.6h2.5zm5.7-6.8c.3 1 .2-1.5.7-1.4.4 0 0-1.5 0-1.5l-1.8 1.4c1 0 1 1 1.1 1.5zm5.7-5.7c.4 1 .3 2.4 1.9 3.5.5.4-.3 1-.9.8-.5-.4-2-2.7-2-2.7v-1.4c.3-.9.8-.6 1-.1zm1.4 32.6l-.7-.3-.7.6.3.3.3.5zm-4-1.5v1.4m16.2-3.5l-.4-.5-.8.5.3.6zm29.9 23.1l1 .4v1.9c1.3 1.3 5.5.2 5.5-.1l-.2-4-.6-.6v-2.7c.4-1.4-2-3.4-2.3-3-.2.4-1.6.1-1.6.5 0 .5-.9 2.6-.4 3.4.4.7-.3.7-.5 1.5 0 .8-1.1 2-1 2.7zm-2.4-4.3c-.2.8-.9 1.3-1.3 1-.5-.4.5.5.7 1a.6.6 0 001 0c.3-.5.2-1.5.4-2 .2-.3-.6-.4-.8 0zm-4.9-19.8h.7v2h-.7zm11-20.8c-.5-.6 2.1-1.7 2.6-.4.4 1.3 0 1-.5 1-.4-.2-1.5.2-2-.6zm2.2-13.8l1.2.2v-.7l-1-.2zm-2.8 1.4l.6-.3-.2-.5-.2-.3-.3.1-.8.5-.7-.5-.3.6.9.5.1.1h.2l.6-.4zm4-26.5h-1.7s.5.2-1-1.2-2.4.3-2.4.3l-1.7.3v1.7l-.8.3v1h1.2s0 1.3.4.7 3 .1 2.7 1.4c0 .6 2.7 2 2.4 3.7 1.3.2 1 1.6 1 1.6l1.8.3.6-1.1h.5v-.6l-1.2-.3-.2-3.4-.7-.6.2-.8-.9-.4.5-1.4-.8-1.5zm4.6 11h-.9l-1.9.2-1 2s.5.4 1 1.2c.3.7.6 5.2-.7 6-1.3.7 0 .2 0 .2l-.1 2.4c.3 1 .8.6 1.1 0 .4-.5.7-.6 1.1-1.2a5.7 5.7 0 001.2-2.2c0-.8.6-2 .3-2.3-.3-.3.3-1.8.3-1.8s.4-1 0-1.8.1-1.8.4-2.2l-.8-.5zm1.3 4.4v-.8h.7v1zm0 3l-.6-.3.3-.6.6.3zm-1-8.6l-.4-1s0-.8.2-1.2c.2-.5-.4-.9-.8-1-.3-.1-.2-1-.3-1.4 0-.4-.8-.8-.8-.8l-.2-1.9c0-.3-1-.8-.7-1l.9-1c.3-.3-.3-1.8.2-1.5.5.4.5 1 .7 1.3.2.5 0 2 .5 2.3.5.3-.1 1.4.7 1.4.9 0 .3 2 .3 2s-.2 1.6.3 1.7c.6 0 .3 2.7.3 2.7l-.9-.6zm-6.9-17.5c.3.5 1 .8 1 1.2 0 .5-.3.8.4.9.6.1 1-.1 1.3.4a3 3 0 010 1.9c0 .4.2 1 .7 1 .5 0 .6.2.6.5s.7-1.2.7-1.2c-.6-.4-1-1.4-1-1.4l-.5-1.7c0-.3-.7-.5-1-.6-.4 0-1-1-1-1h-1.2zm1-1a3 3 0 00-1-.9c-.4-.2-.7-.4-1.2-.4a.7.7 0 01-.6-1c.2-.5-.3-.8-.3-1.2 0-.4.3-.4.8 0 .6.2.5.3.9.9.4.5.6 1 1 1 .5-.2.8 1 1.2.6.4-.3.3.8.3.8l-1 .3zm-12.4 12.3c.6.6-3.2.4-3.2 0s.4-2 1.3-1.7c1 .4 1-1.9 1-1.9s-.8.1 0-.3c.7-.4 0-1-.4-1.4l-.6-.9h1.5c.6-.4.8-2.5.8-2.5 1.3.5 2-.4 2-.4s.2.7.6 1.2c.4.5-1 .8-.5 1 .5.4.7 1.4.5 1.7-.2.3-1.4 0-1.4-.3 0-.5-.4.5 0 1 .4.6-.5 1.4-.7 1.4-.2 0-1.6.2-.5.8 1.2.7 2.5.3 2.5.3s1 0 1.3.5c.3.5-.1.6-.7.6l-3-.2s-.8.8-.5 1zm-6.8 1c.5-.2 1.8-.3 2 0 .2.4-.7.8-.7.8l-1.3.2c-.4-.5-.5-1 0-1zm13.7-9.1c.9-.5 2.7-.5 2.6-1.1-.1-.7 1-.9 1-.9l.4 1.3 1 .7v1.2s.4-.2-.8 0c-1.2.4-.4 1-.4 1h-2.6l-.3-1-.9-1.2zm-4.1-5.9c.6 0-.2 2.5 1.5 2.3 1.7-.2 0 .8 1.4.9 1.2 0 1-1 1.3-1.8.5-.7.3-1.1-.5-1.4-.7-.2-.7-.2-1-1-.2-.9-1-1.1-1-1.1l-.3-1.3-1.4.9-1.4 1.8c0 1.4.7.7 1.4.7zm2.8 9.2l.3-.7.6.3-.3.7zm-1.1-1h.6v.7h-.6zm.5-14.4l.1 1h-.6l-.1-1zm-1.8 10h.7v.6h-.7zm-1.7 0v-.6l1-.1.1.6zm-8.7 10.4l-.6-.3.3-.7.6.2zm-3.4-2v-.6l1-.1v.6zm-20.8 0v.6l2.4-.1v-.7zm-1.5.8l-.2-1 .6-.1.2 1zm-.5.6l-.2-.6h.3l.2.5zm5.3-1.8v.8h1s.6.5.6.8.8.7 1.2.7c.4 0 1.6-.9 1.6-.9s.5-1.5 0-1.4c-.3.1-1.2.8-1.3.1 0-.6-1.4-.3-1.4-.3l-1.7.2zm5.3-1.2c0 .4-.2.8.5.9.6 0 1.8-.4 1.9.2 0 .7 0 1 1 1.4a5 5 0 002 .4l2-.2s1.5.3 1.8.6c1.2 1.2 2 1.5 2.2 1 .4-.6 0-1.8-.2-2.2 0-.4-1.6-2.5-2.1-2-.5.4-.6 0-1.6.3s-3 0-3-.4c-.2-.4-1.7-.6-1.7-1 0-.5-1-1-1-.4.2.7-.7 1-1 .8-.1-.2-.8.6-.8.6zm24.5-13.8l.8-2.4c-1.1-.2-.9-1.4-.9-1.4 0-1-1.6-2-2.1-1.7-.5.3-.3-2.3-.3-2.3s1-.6 1.4-.3c.4.3-3.7-5.4-4.5-4.9-.9.6-2.8-.5-2.7-1.5.1-1-3.8-4.2-3.8-4.2s-1.3-.8-1.5-.2c-.2.6-.6 1 0 1.4.6.3.5-.5 1.3.2.7.8 2.1 1.7 1.6 2.4-.6.6-1.2.9-1.2.9l.8.8h1.1l.2 1.9s1.3.6 1.6 1.4c.4.7.4 1.2 0 1.6-.3.4-1 1.2-.8 2 0 .7 1 1 1 1l.8.1.6.3v1.4c.9-.2 2.3 1 2.2 1.8-.1.7.2.3 1.2 1 1 .8.8 1 1.5 1.5.8.5 1.4.2 1.7-.8z"/>
+  <path fill="#fff" d="M285.4 176.6c-.1-.4-.4-2 .3-1.8.6 0 .2 0 1 .3.7.3.8-.5.8-.5h1.2l1.5 1.2-.3 1h-1c-.6-.8-1.6-.5-1.4.3.2.7-.5 2.1-1 2.2-.4.1-1.8.1-1.7-.5l.6-2.2zm-.9-2.9v-.9s0-.8-.6-.8-1.5-.7-1.3-1.1c.2-.4-1.8-.9-1.8-.9s-1.8-1.7-1.2-1.5c.7.2.3-.7.3-.7s-1.2.2-1.6 0c-.3 0-.2-1-.2-1s-1.3-.3-1.3 0 .5.3.7 1c.2.6 0 1.7 1 2 1 .1 1.2.3 1.3.8.1.4 1.3.5 1.3.5l.9.4 2.5 2.2zm-11.8-11.9l-.8-.2v1h1.1zm0-3.6c-1.1-.9 1.5.6 1.5.6.8 0 1.4.7 1.4 1 0 .3 1.1.2 1.1.2l.2-.8-.9-1-.7-.6s-1.2 0-1.2-.4c0-.3-1 1.3-1.4 1zm19.6.6c-.3 1-.5 2.3-1 2.3s-.3 1.4-.3 1.4h1.8c.4.2.4 1.3.4 1.3 1.6-.1 2.3 2 2 2.6-.1.5.7.5.7.5s0 1.7-.2 2.2c-.2.4 1.4.7 1.8 1.4.4.6-.2 2.8-.5 2.9-.4 0 .8.4.7 1-.1.5.3 0 .4.8l.4 2.7 1.4.1c.3-1.4 3-1.4 3.4-1.3 1.9.7 3.2 3.5 3.2 4.1 0 .7-1.1.8-1.1.8l.2 3.1c1.8.6 3.3 3.2 3 3.6-.2.4 1.3.3 1.3.3.2-2 2-1.3 2.2-.6 0 .6.4 2 .4 2l.5 1 .8.7h1.1l.3.6 1.4.2s1.2 1.3 1.3 1.6c.1.3 1.7.2 2.1.3.5.1 1.1.5 1.2 1 .1.6.8 1.4.8 1.4s1.2.3 1.3.8l.7 1.4 1 .8.1 1 1.2.1.3 1.3h2l1-.8c1.4-.8 2.4-1.8 2.5-2.2 0-.4.3-2 1.3-1.7 1.1.3.4-2.4.4-2.4s-1.5-1-1.4-1.6c0-.6-1.5-1.6-1.4-2 .1-.5-1.4-1.4-1.3-1.8.1-.4-.7-1.6-.7-1.6l-1.6-1.5-.2-1-1.3-.1-2.6-3.1.1-1h-.7v-1.2l-.7-.4-1.2-.1-2.4-2.6-.2-1.2h-1.1l.2-2.3c.7-1 .3-2.8.3-2.8s-1.5.8-2.2.4c-.8-.3.3-1 .3-1v-1l-.7-.6s-1.8.3-1.9 0l-.4-1.8-.1-1.8-.8-.4v-.6h-1.2v-1.2l-.7-.2-.6-.3-.1-1.3-2.4-.1-.7-1.1-.9-1.3-2.6-.2-.7-.7-1-.2-.8-.3-.3.5-2 .1-.1.7c-1 .5-5.3 0-5.4.4zm11.1-2.8c-.1-.8 2.2-1.6 2.7-1 .5.7 2 .8 2.2 4 .1 1.2-1.9-1.2-1.9-1.2l-1.6-.5c-.8-.2-1.3-.8-1.4-1.3zm-31.1 1.3l-.6-.2.4-1 .6.3zm-5.6-10.6l-1.3-1.4v-1.2l-.5-.4-.4-1.5-1.4-.4-1.4.5-1.4 1-1.7.2-.8 1 3.4.3.6 1 2.5.3 1.6 1.6c1.4.4 1.7-.2.8-1zm-.2-5.3c-.2-1-1.6 1.2-.2 1.6 1.4.5 2.8 0 2.8 0l.3-.6 5.3.1.7-1s1.2-.5 1.8-.3c.5.2 0-1.5-.5-1.3-.5.2-1.6.1-1.6.1h-1.9c0-.7-1.8-.4-1.9 0 0 .4-.7.6-.7.6l-2.5.2c-.2.6-1.5 1-1.6.6zM256 159.6c1.6.6 2.2.2 2.3-.3.1-.4.2-.5.9-.6.6-.1-.1-1.4-.7-1.3-.7.1-1.3-.2-1.4-.8-.1-.5-1.2-1.9-1.3-.8-.1 1-.8 1-.7 1.8.2.8.5 2 .9 2zm-12.2 1.3c-.1-.4 2.1-.5 2.4-.2.3.4.1 1 1 1s.6.6.5.9c-.1.3-1.2.2-1.3-.1 0-.4-1.7-.5-1.7-.5s-.8-.6-1-1.1zm35.3-22.5l-.5-.6-.5.5.8.8.2.2.2-.2 1-.9-.3-.5zm-5.7-3l-.3.5.8.5.2.1h.2l1.1-.8-.3-.6-1 .7zm-2.9 22.5h-1l-.1.6h.9l.7 1.1.5-.3-.8-1.2v-.1zm-35 30.2v1.2h1.7c.6 0-.6-.8-.6-.8s-1.2.1-1.1-.4zm2 0l.4-.5.6.5-.4.5zm-19.4-20.2l.5-.5.6.7-.4.5zM248 306.3l-.3.6.6.4-.2.2.5.4.5-.5.3-.3-.4-.2zm-7.6-7.7l-.7.5-.3.3.4.3.7.5.4-.5-.4-.3.3-.3zm79.5-20c-.1-.5-.8-.8-.8-.8l-.2.6.2.1v.8l.4.4c.3-.4.5-.7.4-1zm0-2.1v-1l1 .2v.9zm25.6-8.3c.5-.3 1-.9 1 .3 0 1.3-.6.9-1 1.3s-.6-1.2 0-1.7zm5.4-4.6v-.2a1.8 1.8 0 00-.1-.6l-.6.2v.5c.1.2.1.4.3.5l.4.1v-.6zm-1.4.5l.4 1.3.6-.2a12.7 12.7 0 01-.4-1.3l-.6.2zm-2.3 2.5h-.6c0 .5 0 1.1.5 1.2l.2-.6-.1-.5zm-2.8-12.8a.6.6 0 00-.3-.5c-.5-.2-1.3.1-1.7.4l.3.5c.5-.2 1-.4 1.1-.3l.6-.1zm-29.5-34.5c-.4.4-1.3.6-1.3.6l-.4 1.2-.5.4v1.1c-.1.8-1 1.2-1 1.2l-.5.5s-2.5.2-2.9 0c-1-.4-.3-1.7.4-1.6.6.1-.1-1.8-.1-1.8l.8-.1s.1-2 .4-2 0-.6-.5-1c-.4-.3-1-1.3-1.4-1.2h-2.1l-.3.6-1.2.2s.1.9-.1 1.1c-.6.8-3.1 2.4-2-.3l.3-.6v-1l-2-.1s-.9-.4-.9-.8v-1l-2.3-2.4-2.7-.4-.2-.5-1.6-.2c-2-1-3.6-.1-3.3 1.5.3 1.6.9 2.3-.2 2.3-1 0-1.3-1-1.3-1s-.8-.2-.8.2-.3 1.3 0 1.7c.3.5-.4 1.1-.8.8-.3-.3-1.1-1.3-1-1.6.3-.4-1.4-2.4.3-2.7 1.7-.4-.1-1.3.5-1.5l.9-.5h.8l.6-.4-1.4-.2-.9-.1-1.6-.1a4.5 4.5 0 00-1.9 2.3c-.8 1.7-2.9-.6-2.1-1.5.7-.8-2.4 0-2.9.4s-2.1.2-2.1.2c-.3 1-1.8-.1-1.4-.8.4-.6.4-1 .4-1l-.5-.2-.6 1.2c-1.5 0-2 .9-1.6 1.4.3.6-.5 0-.7.7-.2.7.1.7.8 1 .6.4-.4.4 0 .9.5.5 1.8 0 1 .8-.7.7-2.2.4-2.2.4-.1 1-2.1.7-2.3.4a79.8 79.8 0 00-1.9-2.2l-2-.1c-.2-1.6 1-.8 1.4-2 .4-1.2.6-3.1.6-3.1s-1.7-.1-1.8.4c0 .5-1.1.9-1.1.9s-.9.3-.6.7c.4.5-.6.7-.6.7s.2.7-.1 1c-.9.8-3 0-3.3-.3l-1.3-.5-1.3-.9-1.5.7-.4.4H253v1.3l2.8.3.2 2.7-1.2-.4h-.7l-.3-.7h-.7v2.3l.7.5.5.6h1l.3 1.4h2.6l.4.6 1.6.1 3 3.2-.2 1-.5.3c.2.7-1.4.3-1.4.3v.6l.8.1.7.5 1-1.9c1.2-.7 1.8.4 1.9 1 0 .7-.6.6-.6.6v1.5l.7.2c1 1.3-.4 2-.4 2l-.4 1.1c-.3 1-1.5.8-1.5.8l-.4.6-1.3.3 2.6.4c.2-.9.8-1.1 1.2-.7.3.4.3 1.2.3 1.2l.6.1v1.2l.6.2v3.5l.7.8c1.3-.5 1.3.4.6.8s-.2 2.4-.2 2.4l-.5.5v.9l-.6.4v1.2c-1.1-.6-2.4-.3-2.7 0-1-.7-3-.4-3 .1.7.9-.7 1-.7 1l-.8 1c.6 1-.5 1.1-.5 1.1v2l-1.3 1.3.1 2.8c0 .7 1.6.8 2 .4.3-.4 1.5.9 1.5.9h1l.2-2-.6-.3v-3.1l1-1.2c1.3-.5.9 2.8.9 3.1 0 1.2.6 1.1 1.2.9 1-.5.2 1.2-.7 1-.8 0-.3 1.1-.3 1.1l.5.3-1 .7-.8 1-1-.3-1.3-.1-.4-.8-.8-.1-.1 1.5-.5.7-1.3 1.3c1.7 0-.2 1.1-.6 1.1 1 .4-.1 1.3-2.6.6v.7l-.9.1.8.9.8.1-.3 1.8c0 1.4-3.5.5-3.8.1l-.1 2h-.6v3.2l1.1-.2v.8h2.9l4.1-4.3 2.5-.6c.2-1 1.3.2 1.3.2 1 0 1.2.7 1.2.7l1.4.2c1.2.3.5.4.6.9 0 .6.6.4.6.4l.2-1.4h.7l-.7-.7-1.2-.5-1.2-.5c-.9-1.2.2-1 1-1h1.4s1.6 2.3 1.6 2.8.8.6.8.6h.9l.3.7h1l.3.6h2v-1l-1.8-.3v-1l-1.4-.4c-.4-1.8.4-2.3.9-1.5l.6.1-.2-1.6.8-.2-.3-2.3-.6-.2v-.7h2.7c-.2-1.3 0-2 0-2h.8l.1.6 3.3.3 2.3-2.7c-.1-.2.2-.3 0-.6-.4-.3-.8 0-1.3-.3-.6-.3 0-2.1-.1-2.6-.1-.4 1.8-1 1.5 0-.4.9 0 1.3 0 1.3 1.3-1.3 2.5.1 2.4.5-.1.3.7.6 1.3.3.5-.3 1.2 1 1 1.6-.3.6-2.2.5-2.3-.1-.1-.7-.4-.4-.6-.1-.2.3-1.2.5-1.7.2a.5.5 0 01-.2-.2l-2.3 2.7h.1c1.3.7.7 1.7.2 2l-1.1.1-.2.5-2.8.2-.2 1c-1.4-.1-2 1.4-1.6 2.1.3.8 0 1.4 0 1.4l1.1.6 1.5-.5c.2-1 1.2-1.3 2-2 .9-.6 2.3 1.3 1.9 2.1-.5.9-.5 1.2-.5 1.2l.1 1-1 .4-.9.5v.5h-3l-.5.5-1.4.1-.4.7-1 .1s-1.5.8-.9 1.6c.6.9-2.7.8-3.4-.4-.2 1-1.4 0-1.4 0l-1.2-.2v-1.6c-.3-1.1-2.3-1.1-2.2-.4.1.8-3.8.4-3.8.4l-1.3.6-1.2.7v.5l-2 .2-.8.4-.4-.6h-.8l-.9 1.2c-2.2 0-4.3 1.4-4.1 2 .2.5-.9 1-.9 1l-1 .3-.6 1-1.2.4-.2 2.3-.7.4v1l-.7.2v.6h-1.1l.6 1.7.9.4c1.5.2.8 2 .8 2l.9.2.4 1.2.9 1.7c.3 1.3 1.3 1 1.7.9.4-.1.8 1.3.8 1.3h4.3s-.2.5.5.7c.8.2 5.7.4 5.9.1-.2-1 2.6-1.2 3.8-.3 1.2.9 2.8.3 2.8.3l1.6 2 1 2.3 1.8.6 1.3.3.4 1.8 1 .1.3 1.2c1.2.9-.3 2.7-.3 2.7v2.4l.8.4v.9l1.3 1.4 1.6.1 4 4.3 3.3 1 .5 1.7h.8l.7-.6 2.5-.1 1.3-1.2 1.4-.2 11.8-10-1-.7V301c1.8-1.4 2-3.9.1-4-1.3-.3-.7-1.7.6-2l.7-.2v-1l2.5-2.3v-1.7l-5.3-4.4c-2.4-1 0-6.1 1.5-6 1.6.1 0-8 0-8l-1-.4.3-2.6H298l-1.9 2.5-.5 1.7c-.2 2.3-6.8 1.8-7.1 1.5l-2.6-1.3s-1.7-1.4-2-1c-.3.5-1.8-.5-1.8-.2 0 .4-1.4-.7-1.4-.7l-2.1-.8 1.6-.3-.4-1.3 2.8 1.4c.3.4 1.7.3 1.7.3l.4.6s.9-.1 1.4.5c.5.7 3.3.1 3.3.1l.8.7 1.1.4 3.3.1.1-2 .7-.7-.1-1.3.7-.6v-1.1l.6-.2.1-2.4.6-.1V259l-1.6-1.5c-.1.5-1.8.5-1.8.5s-.4.8-.8.8.5 1 .2 1.6c-.2.7-1 .7-1 .7l-1.6.4-.4.5h-1.7l-.3-1.4 2-.5 1-.6.6-1c0-1.1 1.3-1 1.3-1s2.5-2 2.6-3c0-1 1-3.7 2.4-3.7h2.8c1-.4.7-1.8.7-1.8l1.4-.3.2.8s2 .2 2.2-.1c.2-.3.6-1 1.1-.8.6.4 2.3-.7 2.3-.7 0-.8 2.7-.5 2.7-.5l.4-1s-1.9-2.4-2.2-2.4c-.3 0-2-1.5-2.2-1-1.7-.4-1.6-2.8-1.6-2.8l-.6-1.5c0-.9-1.6-2.7-2-2.5-1.6-1.2-.4-2.6 0-2.7.5 0 1.5-1.6 1.5-1.6l.6-1.5 1.8-.5.2-1.4-1-.2s1-2 1.6-2l4.4-.1c.3-.2 1-2 1-2.3 0-.3.8-.4 1.1-.5.3-.1 1-1 1.3-1.4.2-.5-.5-3.2-1-2.7z"/>
+  <path fill="#fff" d="M256 258.2c.2-.2.3.5.6.4.4 0 .5.6.2.6s-.3.4-.3.5c0 .2 0 .6-.3.8-.2.3-.4.1-.8 0-.3-.2-.4-.2-.8-.2s-.1.6-.1.6-1.7 0-1.4-.3c.4-.2.7-.3.4-.5-.2-.1 0-.3 0-.6s.8-.2.6-.4c-.2-.3 0-1.2.4-.7l.2-.5c-.2-.3 0-.3-.5-.5s-.1-1.1-.1-1.1v-.7c.2-.8 1.8-.9 1.9-.2v1.3l.5.1s-.1.5-.5.5 0 .3-.2.5l.2.4zm-5.3.8c.3-.5.8-2.6 1.5-2 .6.7 1 0 1 0s.3.4.2 1c-.2.7-.4 1.3-.8 1.4-.4 0-.7.3-1.2.4-.4.1-.7-.8-.7-.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/us.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/us.svg
new file mode 100644
index 0000000..31f90c6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/us.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-us" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <g stroke-width="1pt">
+      <path fill="#bd3d44" d="M0 0h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z" transform="scale(3.9385)"/>
+      <path fill="#fff" d="M0 10h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z" transform="scale(3.9385)"/>
+    </g>
+    <path fill="#192f5d" d="M0 0h98.8v70H0z" transform="scale(3.9385)"/>
+    <path fill="#fff" d="M8.2 3l1 2.8H12L9.7 7.5l.9 2.7-2.4-1.7L6 10.2l.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7L74 8.5l-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 7.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 24.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 21.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 38.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 35.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 52.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 49.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 66.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 63.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9z" transform="scale(3.9385)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/uy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/uy.svg
new file mode 100644
index 0000000..0194a7c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/uy.svg
@@ -0,0 +1,28 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-uy" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="#0038a8" d="M284 56.9h228v56.9H284zm0 113.8h228v56.9H284zM0 284.4h512v57H0zm0 113.8h512v57H0z"/>
+  <g fill="#fcd116" stroke="#000" stroke-miterlimit="20" stroke-width=".6" transform="translate(142.2 142.2) scale(3.12889)">
+    <g id="c">
+      <g id="b">
+        <g id="a">
+          <path stroke-linecap="square" d="M1.5 9L6 12c-8 13 1 15-6 21 3-7-3-5-3-17" transform="rotate(22.5)"/>
+          <path fill="none" d="M0 11c-2 13 4.5 17 0 22" transform="rotate(22.5)"/>
+          <path d="M0 0h6L0 33-6 0h6v33"/>
+        </g>
+        <use width="100%" height="100%" transform="rotate(45)" xlink:href="#a"/>
+      </g>
+      <use width="100%" height="100%" transform="rotate(90)" xlink:href="#b"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1)" xlink:href="#c"/>
+    <circle r="11"/>
+  </g>
+  <g transform="translate(142.2 142.2) scale(.31289)">
+    <g id="d">
+      <path d="M81-44c-7 8-11-6-36-6S16-35 12-38s21-21 29-22 31 7 40 16m-29 9c7 6 1 19-6 19S26-28 32-36"/>
+      <path d="M19-26c1-12 11-14 27-14s23 12 29 15c-7 0-13-10-29-10s-16 0-27 10m3 2c4-6 9 6 20 6s17-3 24-8-10 12-21 12-26-6-23-10"/>
+      <path d="M56-17c13-7 5-17 0-19 2 2 10 12 0 19M0 43c6 0 8-2 16-2s27 11 38 7c-23 9-14 3-54 3h-5m63 6c-4-7-3-5-11-16 8 6 10 9 11 16M0 67c25 0 21-5 54-19-24 3-29 11-54 11h-5m5-29c7 0 9-5 17-5s19 3 24 7c1 1-3-8-11-9S25 9 16 7c0 4 3 3 4 9 0 5-9 5-11 0 2 8-4 8-9 8"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#d"/>
+    <path d="M0 76c-5 0-18 3 0 3s5-3 0-3"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/uz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/uz.svg
new file mode 100644
index 0000000..641af1b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/uz.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-uz" viewBox="0 0 512 512">
+  <path fill="#1eb53a" d="M0 341.3h512V512H0z"/>
+  <path fill="#0099b5" d="M0 0h512v170.7H0z"/>
+  <path fill="#ce1126" d="M0 163.8h512v184.4H0z"/>
+  <path fill="#fff" d="M0 174h512v164H0z"/>
+  <circle cx="143.4" cy="81.9" r="61.4" fill="#fff"/>
+  <circle cx="163.8" cy="81.9" r="61.4" fill="#0099b5"/>
+  <g fill="#fff" transform="translate(278.5 131) scale(2.048)">
+    <g id="e">
+      <g id="d">
+        <g id="c">
+          <g id="b">
+            <path id="a" d="M0-6L-1.9-.3 1 .7"/>
+            <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+          </g>
+          <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+        </g>
+        <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+        <use width="100%" height="100%" transform="rotate(144)" xlink:href="#c"/>
+      </g>
+      <use width="100%" height="100%" y="-24" xlink:href="#d"/>
+      <use width="100%" height="100%" y="-48" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" x="24" xlink:href="#e"/>
+    <use width="100%" height="100%" x="48" xlink:href="#e"/>
+    <use width="100%" height="100%" x="-48" xlink:href="#d"/>
+    <use width="100%" height="100%" x="-24" xlink:href="#d"/>
+    <use width="100%" height="100%" x="-24" y="-24" xlink:href="#d"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/va.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/va.svg
new file mode 100644
index 0000000..7da6d3e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/va.svg
@@ -0,0 +1,479 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-va" viewBox="0 0 512 512">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M256 0h256v512H256z"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M282.4-735.1c0 .6 56 222.8 118.2 300.5 69.4 87.3 113.2 87.4 113.2 87.4l70.9-17.8s-41.6 2.1-123.9-104.2c-83.4-107.7-109.4-286-108.1-282.8l-70.3 16.9z" transform="matrix(-.21542 0 0 .17871 450.5 340.7)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M285-727.6c-1.5-9.4 33.9 221 140.2 327.2 53.1 53.1 88.6 53.1 88.6 53.1l88.6-17.7s-51.7 3.8-134-102.5c-83.5-107.8-108.6-263.3-108-263.9l-75.4 3.8z" transform="matrix(.21542 0 0 .17871 313.9 342.3)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M282.4-735.1c0 .6 56 222.8 118.2 300.5 69.4 87.3 113.2 87.4 113.2 87.4l70.9-17.8s-41.6 2.1-123.9-104.2c-83.4-107.7-109.4-286-108.1-282.8l-70.3 16.9z" transform="matrix(.21542 0 0 .17871 313.9 342.3)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M285-727.6c-1.5-9.4 33.9 221 140.2 327.2 53.1 53.1 88.6 53.1 88.6 53.1l88.6-17.7s-51.7 3.8-134-102.5c-83.5-107.8-108.6-263.3-108-263.9l-75.4 3.8z" transform="matrix(-.21542 0 0 .17871 450.5 340.7)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(.21538 .00384 -.00463 .17867 312.2 347.8)"/>
+    <g fill="#b00" stroke="#000" stroke-width="14.3">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01583 .00247 .00912 -.01043 340 336.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01553 .00281 .0093 -.0104 338.6 337.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01583 .00247 .00912 -.01043 336.7 339.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01606 -.001 .00564 -.01204 356.6 321)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01588 -.00034 .0061 -.01195 355.6 322.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01608 -.00073 .00592 -.01194 354.2 324)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01587 .0005 .007 -.0116 353.3 324.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01584 -.00241 .00408 -.01247 360.6 315.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0157 -.002 .00426 -.0125 359.7 316.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01584 -.00241 .00408 -.01247 358.5 318.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01575 -.00175 .00455 -.01242 357.5 320)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01601 .0014 .00808 -.01102 346.2 331.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01575 .00175 .00826 -.011 344.9 332.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01601 .0014 .00808 -.01102 343.1 334.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01553 .00281 .0093 -.0104 341.9 335)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0161 .00013 .00681 -.0116 351.7 326.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01587 .0005 .007 -.0116 350.5 327.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01601 .0014 .00808 -.01102 349.3 328.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01575 .00175 .00826 -.011 348 329.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01497 -.00495 .0011 -.0129 369.3 295.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01532 -.00352 .0025 -.01283 369.3 296.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0154 -.00394 .00232 -.01278 368.4 298.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01532 -.00352 .0025 -.01283 367.8 299.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01493 -.00453 .00126 -.01295 371.1 290)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01497 -.00495 .0011 -.0129 370.5 292)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01493 -.00453 .00126 -.01295 370 293.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01572 -.0029 .00353 -.01259 364.3 308.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0156 -.00249 .0037 -.01262 363.5 310)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01572 -.0029 .00353 -.01259 362.4 311.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0157 -.002 .00426 -.0125 361.7 313.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0154 -.00394 .00232 -.01278 366.9 301.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0156 -.00249 .0037 -.01262 367.2 302.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01572 -.0029 .00353 -.01259 366.1 304.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0156 -.00249 .0037 -.01262 365.3 306.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01384 -.0069 -.00138 -.01288 374 279.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01486 -.00518 .00082 -.01291 374 281.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01483 -.00476 .00099 -.01297 373.6 282.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01388 -.00647 -.00122 -.01295 374.7 273.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01384 -.0069 -.00138 -.01288 374.4 276)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01388 -.00647 -.00122 -.01295 374.3 277.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01486 -.00518 .00082 -.01291 373 285)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01493 -.00453 .00126 -.01295 372.4 286.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01497 -.00495 .0011 -.0129 371.7 288.2)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="14.3">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01599 .0016 -.00828 -.01091 422.7 331.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01571 .00195 -.00846 -.0109 424.1 332.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01599 .0016 -.00828 -.01091 425.9 334.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01594 -.00187 -.00468 -.01232 407.4 315)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01582 -.00121 -.00515 -.01226 408.3 316.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01598 -.0016 -.00497 -.01224 409.6 318.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01588 -.00037 -.00607 -.01196 410.4 318.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01562 -.00328 -.0031 -.01267 403.9 309)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01551 -.00286 -.00327 -.0127 404.7 310.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01562 -.00328 -.0031 -.01267 405.6 312.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01558 -.0026 -.00357 -.01265 406.6 314)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01609 .0005 -.0072 -.01144 417 326)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01585 .00088 -.00738 -.01143 418.2 327.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01609 .0005 -.0072 -.01144 419.8 329)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01571 .00195 -.00846 -.0109 421 329.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01607 -.00076 -.00589 -.01195 411.8 320.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01588 -.00037 -.00607 -.01196 413 322)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01609 .0005 -.0072 -.01144 414 323)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01585 .00088 -.00738 -.01143 415.3 324.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01455 -.00577 -.00008 -.01293 396.7 289.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.015 -.00436 -.00148 -.01293 396.7 289.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01505 -.00478 -.00131 -.01288 397.4 291.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.015 -.00436 -.00148 -.01293 398 293.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01455 -.00534 -.00025 -.013 395.3 283.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01455 -.00577 -.00008 -.01293 395.8 285.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01455 -.00534 -.00025 -.013 396.2 287)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01546 -.00376 -.00253 -.01275 400.7 302)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01538 -.00334 -.0027 -.0128 401.4 303.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01546 -.00376 -.00253 -.01275 402.3 305.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01551 -.00286 -.00327 -.0127 403 307)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01505 -.00478 -.00131 -.01288 398.6 295.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01538 -.00334 -.0027 -.0128 398.2 296.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01546 -.00376 -.00253 -.01275 399.1 298.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01538 -.00334 -.0027 -.0128 399.8 300)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01327 -.00764 .00239 -.01277 393.3 273)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01443 -.00598 .0002 -.01293 393.1 274.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01443 -.00556 .00003 -.013 393.5 276)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01334 -.00722 .00224 -.01286 393 267)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01327 -.00764 .00239 -.01277 393.1 269.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01334 -.00722 .00224 -.01286 393.2 270.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01443 -.00598 .0002 -.01293 394 278.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01455 -.00534 -.00025 -.013 394.4 279.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01455 -.00577 -.00008 -.01293 395 281.5)"/>
+    </g>
+    <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(-.21538 .00384 .00463 .17867 452.2 346.2)"/>
+    <g transform="matrix(.12959 0 0 .10848 351.4 305.6)">
+      <path fill="silver" d="M324.6-255.4l-50.2 50.1L449.8-29.9l50.1-50z"/>
+      <circle cx="354.3" cy="-1428" r="35.4" fill="#fff133" stroke="#000" stroke-width="1pt" transform="scale(-1 1) rotate(45 -177.9 -1104.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M-402-957l37.5 37.7-25 25-37.6-37.6c-12.5-12.5 12.5-37.5 25-25z"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M-346.6-926.5l-50.1 50a25 25 0 01-25-25c10.8-25.8 25-38.4 50-50a26.9 26.9 0 0125 25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M-352-931.9l37.7 37.6-50.2 50.1-37.5-37.5c5-20 30-45.1 50-50.1z"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M-309-889l-50.1 50.1a25.1 25.1 0 01-25-25c10.8-25.9 25-38.4 50-50.1a26.9 26.9 0 0125 25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M-314.4-894.3L28.4-551.5l-50 50.1-342.9-342.8c5-20 30.1-45 50.1-50z"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M49-531l-50.2 50.1a25.1 25.1 0 01-25-25c10.8-25.9 25-38.5 50-50.1A26.9 26.9 0 0149-531z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M49-531l225.4 225.5-50 50.1L-1.3-480.9c5-20 30.1-45 50.1-50z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M186.7-418.2l-75.1 75.1a25.1 25.1 0 01-25-25s0-25 25-50.1 50-25 50-25c11.7 1.5 21.5 12.4 25.1 25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M186.7-418.2l50.2 75.1-50.1 50.1-75.2-50c-2.8-2.5 0-25.1 25-50.2s49-24.4 50.1-25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M336.6-506.7c0-35.4 0-86.6 17.7-130C372-593.3 372-542 372-506.7h-35.4z" transform="rotate(135 434.8 18.7) scale(1 -.81782)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="rotate(-45 399.4 -194.2) scale(1 .81782)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="rotate(135 434.8 18.7) scale(1 -.81782)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M-314.4-894.3l37.6 37.6c25 25 112.8 137.8 112.8 137.8s117.3 92.3 142.3 117.3L16-564c-25-25-180-129.8-180-129.8S-71.7-551.5-34.1-514l-37.6-37.6c-25-25-117.3-142.3-117.3-142.3S-289.3-769-314.4-794.1l-50-50c25 25 175.3 125.2 175.3 125.2s-100.2-150.3-125.3-175.4z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M299.5-230.3A907.4 907.4 0 00412.2-92.5a83 83 0 0050.1 25s0-25-25-50a899 899 0 00-137.8-112.8zm-62.6-112.8c87.6 87.7 187.9 137.8 250.5 200.5 50.1 50 15.4 88.4 1.4 100.6-14 12.1-52 50.3-101.6-.4C324.5-105 274.4-205.3 186.7-293c0-25 25.1-50 50.1-50z"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M218.3 257.9h23v73h-23z" transform="matrix(-1.2487 -1.4214 -1.3593 1.3175 1166.1 -102.6)"/>
+      <g fill="silver" stroke="#000">
+        <path stroke-width=".6" d="M301.2 396.9l17.7 17.7-17.7 17.7 8.8 8.8 17.7-17.7 35.5 35.5-17.7 17.7 8.8 8.8 17.7-17.7 17.8 17.7-53.2 53.2-35.4-35.4 17.7-17.8 8.9 8.9 8.8-8.9-35.4-35.4-8.9 8.9 8.9 8.8-17.7 17.7-17.7-17.7 8.8-8.8-8.8-8.9-35.5 35.4 8.9 8.9 8.8-8.9 17.8 17.8-17.8 17.7-8.8-8.9-8.9 8.9 35.5 35.4 8.8-8.9-8.8-8.8 17.7-17.7 35.4 35.4-53.1 53.1-17.8-17.7 17.8-17.7-9-8.8-17.6 17.7-35.5-35.5 17.8-17.7-8.9-8.8-17.7 17.7-17.7-17.7 124-124z" transform="matrix(-2.2946 0 0 2.2438 360.6 -1733.7)"/>
+        <path stroke-width="1.3" d="M318.9 786.6V822l88.6 88.6v-70.8L389.8 822h-35.5L319 786.6z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.3" d="M230.4 698.8l70.4 70.4.8 35.2-71.2-71.3v-34.3z" transform="matrix(-1.1473 0 0 1.1219 157.4 -1288.5)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 259 -1387.9)"/>
+        <path stroke-width="1.3" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.3" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1189.1)"/>
+        <path stroke-width="1.3" d="M230.4 698.8l35.8 35.4v35.4l-35.8-36.5v-34.3z" transform="matrix(-1.1473 0 0 1.1219 218.8 -1349)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1507.1)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 137 -1427.6)"/>
+        <path stroke-width="1.3" d="M283.5 822l53.1-53.1v-35.4l-70.9 70.8 17.8 17.8z" transform="matrix(-1.1473 0 0 1.1219 137 -1546.9)"/>
+        <path stroke-width="1.3" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(-1.1473 0 0 1.1219 35.4 -1447.5)"/>
+        <path stroke-width="1.3" d="M301.2 804.3L265.8 769v-35.4l35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1507.1)"/>
+        <path stroke-width="1.3" d="M389.8 822l-53.2-53v-35.4l70.9 70.8-17.7 17.8z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1546.9)"/>
+        <path stroke-width="1.3" d="M230.4 698l70.9 71h35.4l17.7 17.6v70.9l-124-124.4v-35z" transform="matrix(-1.1473 0 0 1.1219 -66.2 -1387.9)"/>
+        <path stroke-width="1.3" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.3" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.3" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 -5.3 -1447.5)"/>
+        <path stroke-width="1.3" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(-1.1473 0 0 1.1219 -5.3 -1447.5)"/>
+        <path stroke-width="1.3" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 -86.6 -1527)"/>
+        <path stroke-width="1.3" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 15 -1626.4)"/>
+        <path stroke-width="1.3" d="M265.8 768.9v-35.4l17.7 17.7-17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1348.1)"/>
+        <path stroke-width="1.3" d="M301.2 804.3L265.8 769l17.7-17.7 17.7 17.7v35.4z" transform="matrix(-1.1473 0 0 1.1219 137 -1427.6)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l-17.7-17.7 17.7-17.7v35.4z" transform="matrix(-1.1473 0 0 1.1219 15 -1586.6)"/>
+      </g>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M196.5 254.2h25.2v80.2h-25.2z" transform="matrix(-1.2509 -1.4194 -1.3614 1.3153 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M242.1 24.8c-147 0-113.1 164.2-100.4 124 9.4-29.5 35.5-70.8 65-80.2C246.9 55.8 233.4 78 248 78c14.7 0 1.2-22.2 41.4-9.4 29.5 9.4 55.6 50.7 65 80.2 12.7 40.3 53-124-112.3-124z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M389.8 166.5a141.8 141.8 0 01-283.5 0v-17.7c0-29 35.4 124 141.7 124s141.8-124.7 141.8-124v17.7z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(1.8992 0 0 1.8865 224 -100.5)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M389.8 148.8a141.8 141.8 0 11-283.6 0 141.8 141.8 0 01283.6 0zm-53.2 0c0 14.7 22.8 3 9.4 43a81 81 0 01-56.6 55c-40.2 12.7-26.7-9.4-41.4-9.4-14.6 0-1.1 22.1-41.3 9.4a80.2 80.2 0 01-56.6-56.6c-12.8-40.2 9.3-26.7 9.3-41.4s-22-1.1-9.3-41.3a80.2 80.2 0 0156.6-56.6c40.2-12.8 26.7 9.3 41.3 9.3 14.7 0 1.2-22 41.4-9.3a80.3 80.3 0 0156.6 56.6c12.7 40.2-9.4 26.6-9.4 41.3z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M126.5 157.7c-20.2 0-1.9 67.6-9 51.7a126.5 126.5 0 010-103.4c7.1-16-11.2 51.7 9 51.7z" transform="matrix(-1.6618 0 0 1.7607 1107.2 -99.5)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M372 140a88 88 0 01-9.7 44.8c-8 13.7 9.8-44.8-8-44.8 17.7 0 1.7-58.6 8-44.8a107.7 107.7 0 019.8 44.8z" transform="matrix(-1.8992 0 0 2.0316 1166.1 -106.2)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M296.3 263a123.5 123.5 0 01-96.5 0c-14.9-6.2 48.2 9.8 48.2-7.9 0 17.7 63.1 1.7 48.3 8zM248 42.6c0-17.7-63-1.7-48.2-8a123 123 0 0196.5 0c14.8 6.3-48.3-9.7-48.3 8z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="#fff133" stroke="#000" stroke-width="1pt" rx="18.4" ry="20.1" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1257.6 -120)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(-1.2929 -1.3819 1.3912 -1.2842 808.9 712)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1223.2 329.9)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M267.7 308.5c-9.2 1.9-20.2 1-30 1-9.7 0-19.3-2.7-28.5-4.6l8.8-10.3a149.3 149.3 0 0060 0l-10.3 14z" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1223.2 329.9)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(-1.3912 1.2842 1.2929 1.3819 847.4 -345.2)"/>
+      <ellipse cx="82.1" cy="160.9" fill="#fff133" stroke="#000" stroke-width="1pt" rx="18.4" ry="20.1" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 789.1 314.4)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M267.6 281.5c-9.2 1.9-17.1 3-26.9 3s-23-.8-32.3-2.7l9.6 12.8a149.5 149.5 0 0060 0l-10.4-13.1z" transform="matrix(-1.3912 1.2842 1.2929 1.3819 850.6 -315.2)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M174 271.8l-.9 14.8-3.2 4.5 1-15 3-4.3zm156.5-6.2l3.6 4.2 1 13.6-2.9-3-1.7-14.8z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="#fff133" stroke="#000" stroke-width="1pt" rx="18.4" ry="20.1" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1237.6 329.9)"/>
+    </g>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M513.8-790.2l35.4-17.7 35.4 17.7s-73.3 35.5-73.3 159.5c0 88.6 125.2 106.3 125.2 212.6 0 45.6-34.1 88.6-69.6 88.6s-88.6-17.7-141.7-70.9c35.4 17.7 76 37.3 106.3 36 19.6-.3 55-17.7 55-53 0-71-122.8-107-122.8-213.3 0-124 50-159.4 50-159.4z" transform="matrix(-.21542 0 0 .17871 450.5 340.7)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M520.3-790.2l46.6-17.7 10 17.7s-70.6 35.5-70.6 159.5c0 88.6 125.9 106.3 125.9 212.6 0 45.6-26.7 87.4-65.3 88.6-73.4 2.3-90.4-24-141.7-70.9 43.1 32.3 105 46.8 129 34.2 29.4-15.4 35-36 35-53.8 0-70.9-120.9-104.4-120.9-210.7 0-124 52-159.4 52-159.4z" transform="matrix(-.21542 0 0 .17871 450.5 340.7)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M513.3-789.7c7-2.4 36-18.2 71.3 17.3 17.8 17.7 17.8 53.1 17.8 70.8l53.1-53.1s-29-86.9-107.6-53.6a334.8 334.8 0 00-34.5 18.6z" transform="matrix(-.21542 0 0 .17871 450.5 340.7)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M523.8-796c8.8-2.8 36.7-6.3 64.6 18.6 17.7 17.7 19 42.9 19 60.6l40.6-38c3.4-3.1-24.8-81.2-99.2-54a154 154 0 00-25 12.9z" transform="matrix(-.21542 0 0 .17871 450.5 340.7)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(-.17534 -.01853 -.05985 .15541 365.6 343.2)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(.15954 .02165 .00278 -.11904 258.9 126)"/>
+    <g transform="matrix(.12959 0 0 .10848 351.4 305.6)">
+      <g stroke-width="1pt" transform="rotate(45 478.1 -504.6)">
+        <circle cx="354.3" cy="-1428" r="35.4" fill="silver" stroke="#000" transform="translate(124 283.5)"/>
+        <path fill="#fff133" stroke="#000" d="M460.6-1126.8v53.2h35.5v-53.2c0-17.7-35.5-17.7-35.5 0z"/>
+        <path fill="silver" stroke="#000" d="M443-1066h70.8a25.1 25.1 0 000-35.5c-26-10.6-44.9-9.5-70.9 0a27 27 0 000 35.4z"/>
+        <path fill="#fff133" stroke="#000" d="M443-1073.6v53.1h70.8v-53.1c-17.7-10.6-53.2-10.6-70.9 0z"/>
+        <path fill="silver" stroke="#000" d="M443-1013h70.8a25.1 25.1 0 000-35.4c-26-10.6-44.9-9.5-70.9 0a27 27 0 000 35.5z"/>
+        <path fill="#fff133" d="M443-117h70.8v248.1h-70.9z"/>
+        <path fill="#fff133" stroke="#000" d="M443-1020.5v484.8h70.8v-484.8c-17.7-10.6-53.2-10.6-70.9 0z"/>
+        <path fill="silver" stroke="#000" d="M443-506.7h70.8a25.1 25.1 0 000-35.4c-26-10.6-44.9-9.5-70.9 0a27 27 0 000 35.4z"/>
+        <path fill="#fff133" stroke="#000" d="M443-506.7v318.9h70.8v-318.9c-17.7-10.6-53.2-10.6-70.9 0z"/>
+        <path fill="#fff133" stroke="#000" d="M425.2-329.5h106.3a25 25 0 000-35.5s-17.7-17.7-53.2-17.7-53.1 17.7-53.1 17.7c-7.1 9.4-6.3 24 0 35.5z"/>
+        <path fill="#fff133" stroke="#000" d="M425.2-329.5l17.7 88.6h70.9l17.7-88.6c.3-3.8-17.7-17.7-53.2-17.7s-51.9 17.3-53.1 17.7z"/>
+        <path fill="#fff133" stroke="#000" d="M336.6-506.7c0-35.4 0-86.6 17.7-130C372-593.3 372-542 372-506.7h-35.4z" transform="matrix(1 0 0 .81782 124 173.4)"/>
+        <path fill="#fff133" stroke="#000" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="matrix(-1 0 0 .81782 832.7 173.4)"/>
+        <path fill="#fff133" stroke="#000" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="matrix(1 0 0 .81782 124 173.4)"/>
+        <path fill="#fff133" stroke="#000" d="M478.3-117a908.6 908.6 0 0117.8 177.2 83 83 0 01-17.8 53.2s-17.7-17.7-17.7-53.2c0-17.7 0-88.6 17.7-177.1zM443-241c0 124-35.4 230.4-35.4 319 0 70.8 51.6 73.4 70 72.1 18.6-1.3 72.4-1.2 71.7-72.2 0-88.5-35.4-194.8-35.4-318.9-17.7-17.7-53.2-17.7-70.9 0z"/>
+        <path fill="silver" stroke="#000" d="M443-1020.5v53.2c0 35.4 17.6 177.1 17.6 177.1S443-642 443-606.6v53.2c0-35.4 35.4-219 35.4-219s35.5 165.9 35.5 219v-53.2c0-35.4-17.7-183.6-17.7-183.6s17.7-124 17.7-159.4v-70.9c0 35.4-35.4 212.6-35.4 212.6S443-985.1 443-1020.5z"/>
+      </g>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M218.3 257.9h23v73h-23z" transform="matrix(1.2487 -1.4214 1.3593 1.3175 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M242.1 24.8c-147 0-113.1 164.2-100.4 124 9.4-29.5 35.5-70.8 65-80.2C246.9 55.8 233.4 78 248 78c14.7 0 1.2-22.2 41.4-9.4 29.5 9.4 55.6 50.7 65 80.2 12.7 40.3 53-124-112.3-124z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M389.8 166.5a141.8 141.8 0 01-283.5 0v-17.7c0-29 35.4 124 141.7 124s141.8-124.7 141.8-124v17.7z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="silver" stroke="#000" stroke-width="1pt" rx="18.4" ry="20.1" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -753.9 -120)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M196.5 254.2h25.2v80.2h-25.2z" transform="matrix(1.2509 -1.4194 1.3614 1.3153 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(-1.8992 0 0 1.8865 279.7 -100.5)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M389.8 148.8a141.8 141.8 0 11-283.6 0 141.8 141.8 0 01283.6 0zm-53.2 0c0 14.7 22.8 3 9.4 43a81 81 0 01-56.6 55c-40.2 12.7-26.7-9.4-41.4-9.4-14.6 0-1.1 22.1-41.3 9.4a80.2 80.2 0 01-56.6-56.6c-12.8-40.2 9.3-26.7 9.3-41.4s-22-1.1-9.3-41.3a80.2 80.2 0 0156.6-56.6c40.2-12.8 26.7 9.3 41.3 9.3 14.7 0 1.2-22 41.4-9.3a80.3 80.3 0 0156.6 56.6c12.7 40.2-9.4 26.6-9.4 41.3z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M126.5 157.7c-20.2 0-1.9 67.6-9 51.7a126.5 126.5 0 010-103.4c7.1-16-11.2 51.7 9 51.7z" transform="matrix(1.6618 0 0 1.7607 -603.6 -99.5)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M372 140a88 88 0 01-9.7 44.8c-8 13.7 9.8-44.8-8-44.8 17.7 0 1.7-58.6 8-44.8a107.7 107.7 0 019.8 44.8z" transform="matrix(1.8992 0 0 2.0316 -662.5 -106.2)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M296.3 263a123.5 123.5 0 01-96.5 0c-14.9-6.2 48.2 9.8 48.2-7.9 0 17.7 63.1 1.7 48.3 8zM248 42.6c0-17.7-63-1.7-48.2-8a123 123 0 0196.5 0c14.8 6.3-48.3-9.7-48.3 8z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(1.2929 -1.3819 -1.3912 -1.2842 -305.2 712)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -719.6 329.9)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M267.7 308.5c-9.2 1.9-20.2 1-30 1-9.7 0-19.3-2.7-28.5-4.6l8.8-10.3a149.3 149.3 0 0060 0l-10.3 14z" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -719.6 329.9)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(1.3912 1.2842 -1.2929 1.3819 -343.8 -345.2)"/>
+      <ellipse cx="82.1" cy="160.9" fill="silver" stroke="#000" stroke-width="1pt" rx="18.4" ry="20.1" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -285.5 314.4)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M267.6 281.5c-9.2 1.9-17.1 3-26.9 3s-23-.8-32.3-2.7l9.6 12.8a149.5 149.5 0 0060 0l-10.4-13.1z" transform="matrix(1.3912 1.2842 -1.2929 1.3819 -347 -315.2)"/>
+      <path fill="silver" stroke="#000" stroke-width="1pt" d="M174 271.8l-.9 14.8-3.2 4.5 1-15 3-4.3zm156.5-6.2l3.6 4.2 1 13.6-2.9-3-1.7-14.8z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="silver" stroke="#000" stroke-width="1pt" rx="18.4" ry="20.1" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -733.9 329.9)"/>
+      <g fill="#fff133" stroke="#000">
+        <path stroke-width=".6" d="M301.2 396.9l17.7 17.7-17.7 17.7 8.8 8.8 17.7-17.7 35.5 35.5-17.7 17.7 8.8 8.8 17.7-17.7 17.8 17.7-53.2 53.2-35.4-35.4 17.7-17.8 8.9 8.9 8.8-8.9-35.4-35.4-8.9 8.9 8.9 8.8-17.7 17.7-17.7-17.7 8.8-8.8-8.8-8.9-35.5 35.4 8.9 8.9 8.8-8.9 17.8 17.8-17.8 17.7-8.8-8.9-8.9 8.9 35.5 35.4 8.8-8.9-8.8-8.8 17.7-17.7 35.4 35.4-53.1 53.1-17.8-17.7 17.8-17.7-9-8.8-17.6 17.7-35.5-35.5 17.8-17.7-8.9-8.8-17.7 17.7-17.7-17.7 124-124z" transform="matrix(2.2946 0 0 2.2438 143.1 -1733.7)"/>
+        <path stroke-width="1.3" d="M318.9 786.6V822l88.6 88.6v-70.8L389.8 822h-35.5L319 786.6z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.3" d="M230.4 698.8l70.4 70.4.8 35.2-71.2-71.3v-34.3z" transform="matrix(1.1473 0 0 1.1219 346.3 -1288.5)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 244.7 -1387.9)"/>
+        <path stroke-width="1.3" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.3" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(1.1473 0 0 1.1219 448 -1189.1)"/>
+        <path stroke-width="1.3" d="M230.4 698.8l35.8 35.4v35.4l-35.8-36.5v-34.3z" transform="matrix(1.1473 0 0 1.1219 284.9 -1349)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 448 -1507.1)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 366.7 -1427.6)"/>
+        <path stroke-width="1.3" d="M283.5 822l53.1-53.1v-35.4l-70.9 70.8 17.8 17.8z" transform="matrix(1.1473 0 0 1.1219 366.7 -1546.9)"/>
+        <path stroke-width="1.3" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(1.1473 0 0 1.1219 468.3 -1447.5)"/>
+        <path stroke-width="1.3" d="M301.2 804.3L265.8 769v-35.4l35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 448 -1507.1)"/>
+        <path stroke-width="1.3" d="M389.8 822l-53.2-53v-35.4l70.9 70.8-17.7 17.8z" transform="matrix(1.1473 0 0 1.1219 448 -1546.9)"/>
+        <path stroke-width="1.3" d="M230.4 698l70.9 71h35.4l17.7 17.6v70.9l-124-124.4v-35z" transform="matrix(1.1473 0 0 1.1219 569.8 -1387.9)"/>
+        <path stroke-width="1.3" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.3" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.3" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 509 -1447.5)"/>
+        <path stroke-width="1.3" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(1.1473 0 0 1.1219 509 -1447.5)"/>
+        <path stroke-width="1.3" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 590.3 -1527)"/>
+        <path stroke-width="1.3" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 488.6 -1626.4)"/>
+        <path stroke-width="1.3" d="M265.8 768.9v-35.4l17.7 17.7-17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 448 -1348.1)"/>
+        <path stroke-width="1.3" d="M301.2 804.3L265.8 769l17.7-17.7 17.7 17.7v35.4z" transform="matrix(1.1473 0 0 1.1219 366.7 -1427.6)"/>
+        <path stroke-width="1.3" d="M301.2 804.3l-17.7-17.7 17.7-17.7v35.4z" transform="matrix(1.1473 0 0 1.1219 488.6 -1586.6)"/>
+      </g>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="20">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.9 291.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.9 289.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.9 287.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 377 285.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.8 299)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.8 297.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.8 295.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.9 293.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 377 275.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 377 274.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 377 272)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 377.1 270.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 377 283.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 377 281.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 377 279.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 377 278)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.6 322)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.6 320.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.6 318.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.6 316.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.5 329.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.5 328)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.5 325.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.5 324.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.7 306.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.7 305)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.8 302.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.8 301.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.6 314.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.7 312.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.7 310.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.7 308.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.2 352.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.3 351)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.3 349)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.3 347.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.2 358.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.2 356.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.2 354.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.4 337.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.4 335.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.4 333.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.5 331.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.3 345)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.3 343.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.4 341.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.4 339.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376 372)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376 370.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376 368.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.1 366.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376 378)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376 376)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376 374.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.1 364.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01298 .00767 -.00286 .01277 376.1 362.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01288 .00808 -.003 .01268 376.1 360.6)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="20">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.5 291.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.5 289.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.5 287.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.5 286)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.5 299.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.5 297.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.5 295.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.5 293.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.4 276.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.5 274.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.4 272.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.4 270.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.5 283.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.5 282.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.5 280)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.5 278.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 322.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 320.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 318.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 316.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 330)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 328.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 326.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 324.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 306.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 305.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.5 303)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 301.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 314.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 312.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 310.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 309)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 353)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 351.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 349.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 347.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 359)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 356.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 355.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 337.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 336)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.6 333.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.6 332.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 345.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 343.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 341.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 339.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.8 372.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.8 370.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 368.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.8 366.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.8 378.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.8 376.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.8 374.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 364.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01308 .00754 -.00269 .0128 379.7 363)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.013 .00796 -.00283 .0127 379.7 360.8)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="14.3">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0162 .00404 .00232 .0128 390 279.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0045 .013 -.01229 .00849 386.7 276.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01181 .00968 -.00565 .01213 388 278.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00986 .01097 -.01604 -.00222 386.4 273.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00934 .01104 -.01615 -.0021 388.6 273.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01037 .01067 -.01593 -.0027 377 273.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00985 .01076 -.01604 -.00257 379.1 273.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01037 .01067 -.01593 -.0027 381.8 273.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00934 .01104 -.01615 -.0021 383.7 273.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01037 .01067 -.01593 -.0027 373.9 272.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01138 .00976 -.01555 -.00406 375.4 272.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01504 .00625 -.01305 -.00773 374.5 271.2)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="14.3">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01307 -.00787 -.01355 .0062 420.7 360.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01263 -.00807 -.0137 .00611 422.6 359.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01307 -.00787 -.01355 .0062 425 359.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01263 -.00807 -.0137 .00611 427 358.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01559 .00255 -.00363 .01263 441.4 352.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0103 .01036 .00644 .01175 443.3 347)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0157 .00296 -.00345 .0126 442.4 350.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01221 -.00878 -.01414 .0052 411.6 362.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01175 -.00895 -.01428 .0051 413.6 361.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0134 -.00747 -.01328 .0066 416.7 361.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01125 -.00939 -.01454 .00455 417.5 360.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01307 -.00787 -.01355 .0062 429.4 358)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01263 -.00807 -.0137 .00611 431.4 357.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00984 -.01067 -.0151 .0027 382.8 363.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00934 -.01075 -.01521 .00257 384.9 363.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00984 -.01067 -.0151 .0027 387.4 363.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00934 -.01075 -.01521 .00257 389.5 363.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00984 -.01067 -.0151 .0027 373.7 364)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00934 -.01075 -.01521 .00257 375.7 364)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00984 -.01067 -.0151 .0027 378.3 363.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00934 -.01075 -.01521 .00257 380.3 363.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01117 -.0097 -.01466 .00406 401.9 363.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01105 -.00955 -.01463 .00433 404.1 363.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01153 -.0094 -.0145 .00444 406.7 362.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01175 -.00895 -.01428 .0051 409.1 362.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00984 -.01067 -.0151 .0027 392 363.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01015 -.01023 -.01499 .00338 394.4 363.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01123 -.00966 -.01464 .00412 397.3 363.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00994 -.01037 -.01505 .00317 398.9 363.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0074 -.01197 -.01544 .00039 345.1 362)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00689 -.01198 -.01552 .00025 347.1 362.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00882 -.01127 -.0153 .00171 350.2 363)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00832 -.01133 -.0154 .00158 352.3 363)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00689 -.01198 -.01552 .00025 338 361.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0074 -.01197 -.01544 .00039 340.6 361.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00689 -.01198 -.01552 .00025 342.6 361.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00882 -.01127 -.0153 .00171 364 363.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00832 -.01133 -.0154 .00158 366 363.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00984 -.01067 -.0151 .0027 369 364)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00934 -.01075 -.01521 .00257 371.1 364)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00882 -.01127 -.0153 .00171 354.8 363.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00832 -.01133 -.0154 .00158 356.8 363.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00882 -.01127 -.0153 .00171 359.4 363.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00832 -.01133 -.0154 .00158 361.4 363.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01592 -.00203 .00451 -.01237 330 344.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01266 -.00804 -.00338 -.01268 327.5 348.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0085 -.01144 -.0083 -.0109 327.4 351.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.00338 -.013 -.01242 -.0078 328 355)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01585 .00085 .00735 -.01145 335 339.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01609 .00047 .00716 -.01145 333.4 341)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01577 -.00162 .0047 -.01239 331.2 342.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0009 -.01346 -.01428 -.00493 329.9 357.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00393 -.01288 -.01527 -.00232 332.5 359.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0074 -.01197 -.01544 .00039 336 360.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01563 -.00324 -.00984 .00997 434.9 356.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01507 -.0042 -.0106 .0095 435 356.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01583 -.00244 -.0091 .01045 439.4 354.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01496 -.00447 -.01083 .0093 436.6 355.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01467 -.00556 .01183 .00831 430.2 346.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01428 -.00583 .012 .00825 428.5 345.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01514 -.0046 .01102 .00905 425.6 344.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01428 -.00583 .012 .00825 436.5 349.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01467 -.00556 .01183 .00831 434.2 348.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01428 -.00583 .012 .00825 432.5 347.7)"/>
+    </g>
+    <g stroke-width="1pt" transform="matrix(.07228 0 0 .0858 364.6 299.2)">
+      <path fill="#fff133" stroke="#000" d="M212.6-1995v53.2h-53.1v35.5h53.1v106.3H248v-106.3h53.2v-35.5H248v-53.1h-35.4z"/>
+      <ellipse cx="239.2" cy="-1813.5" fill="#fff133" stroke="#000" rx="62" ry="57.3" transform="matrix(.57143 0 0 .61816 93.6 -679)"/>
+      <path fill="#fff" stroke="#000" d="M602.4-1119.4c0 68.5-10.5 145.7-29.3 205-120-26.4-268-39.7-339-39.7-87.6 0-246.2 13.3-345.3 26.5a630.8 630.8 0 01-30.5-191.8c0-273.8 105.2-390.2 367.5-496 233.3 105.8 376.6 222.2 376.6 496z" transform="matrix(1.0576 0 0 1.3394 -5.8 363.7)"/>
+      <path fill="#fff133" stroke="#000" d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.1715 0 0 .74463 -32.8 -634.9)"/>
+      <g fill="#fff133" stroke="#000">
+        <path d="M230.3-825.6l-53.1 53.2 35.4 35.4-17.7 17.7-35.5-35.4-53.1 53.1 53.1 53.2L195-684l17.7 17.8v53.1H248v-53.1l17.7-17.8 35.5 35.5 53.1-53.2-53.1-53.1-35.4 35.4L248-737l35.5-35.5-53.2-53.1z" transform="matrix(1.1725 0 0 .74463 -33 -766.8)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.13516 -.18643 .29356 .72091 -190 -703.6)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.1416 .16986 -.26746 .725 182.2 -778.4)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.92597 -.09509 .18717 .73508 28.8 -521.9)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.92699 .091 -.17909 .7359 124.8 -554)"/>
+        <path d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.1725 0 0 .74463 -33 -674.5)"/>
+      </g>
+      <path fill="#fff133" stroke="#000" d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.0735 0 0 .74463 -9.3 -386.9)"/>
+      <g fill="#fff133" stroke="#000">
+        <path d="M230.3-825.6l-53.1 53.2 35.4 35.4-17.7 17.7-35.5-35.4-53.1 53.1 53.1 53.2L195-684l17.7 17.8v53.1H248v-53.1l17.7-17.8 35.5 35.5 53.1-53.2-53.1-53.1-35.4 35.4L248-737l35.5-35.5-53.2-53.1z" transform="matrix(1.1042 0 0 .74463 -12.9 -518.8)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.06903 -.18643 .27645 .72092 -160.7 -455.6)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.0751 .16986 -.25188 .725 189.8 -530.4)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.87203 -.09509 .17626 .73508 45.4 -273.9)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.873 .091 -.16866 .7359 135.8 -306)"/>
+        <path d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.1042 0 0 .74463 -12.9 -426.4)"/>
+      </g>
+      <path fill="#fff133" stroke="#000" d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.105 0 0 .74463 -16.1 -865.2)"/>
+      <g fill="#fff133" stroke="#000">
+        <path d="M230.3-825.6l-53.1 53.2 35.4 35.4-17.7 17.7-35.5-35.4-53.1 53.1 53.1 53.2L195-684l17.7 17.8v53.1H248v-53.1l17.7-17.8 35.5 35.5 53.1-53.2-53.1-53.1-35.4 35.4L248-737l35.5-35.5-53.2-53.1z" transform="matrix(1.0799 0 0 .70238 -6.2 -1031.3)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.0455 -.17585 .27037 .68 -150.8 -971.8)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.05143 .16022 -.24634 .68386 192.1 -1042.3)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.85284 -.0897 .17238 .69338 50.8 -800.3)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.85378 .08583 -.16494 .69414 139.3 -830.7)"/>
+        <path d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.0799 0 0 .70238 -6.2 -944.2)"/>
+      </g>
+      <ellipse cx="234.1" cy="-822.1" fill="#b90000" rx="375.9" ry="120.5" transform="matrix(.96627 0 0 .41385 13 -517.5)"/>
+    </g>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M513.8-790.2l35.4-17.7 35.4 17.7s-73.3 35.5-73.3 159.5c0 88.6 125.2 106.3 125.2 212.6 0 45.6-34.1 88.6-69.6 88.6s-88.6-17.7-141.7-70.9c35.4 17.7 76 37.3 106.3 36 19.6-.3 55-17.7 55-53 0-71-122.8-107-122.8-213.3 0-124 50-159.4 50-159.4z" transform="matrix(.21542 0 0 .17871 313.9 342.3)"/>
+    <path fill="#b00" stroke="#000" stroke-width="20" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01859 -.00133 .0085 .02009 379 385.3)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M520.3-790.2l46.6-17.7 10 17.7s-70.6 35.5-70.6 159.5c0 88.6 125.9 106.3 125.9 212.6 0 45.6-26.7 87.4-65.3 88.6-73.4 2.3-90.4-24-141.7-70.9 43.1 32.3 105 46.8 129 34.2 29.4-15.4 35-36 35-53.8 0-70.9-120.9-104.4-120.9-210.7 0-124 52-159.4 52-159.4z" transform="matrix(.21542 0 0 .17871 313.9 342.3)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M513.3-789.7c7-2.4 36-18.2 71.3 17.3 17.8 17.7 17.8 53.1 17.8 70.8l53.1-53.1s-29-86.9-107.6-53.6a334.8 334.8 0 00-34.5 18.6z" transform="matrix(.21542 0 0 .17871 313.9 342.3)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1pt" d="M523.8-796c8.8-2.8 36.7-6.3 64.6 18.6 17.7 17.7 19 42.9 19 60.6l40.6-38c3.4-3.1-24.8-81.2-99.2-54a154 154 0 00-25 12.9z" transform="matrix(.21542 0 0 .17871 313.9 342.3)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(.17534 -.01853 .05985 .15541 398.7 344.8)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1pt" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(-.15954 .02165 -.00278 -.11904 505.5 127.7)"/>
+    <path fill="#b00" stroke="#000" stroke-width="20" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01859 -.00133 .0085 .02009 382 385)"/>
+    <path fill="#b00" stroke="#000" stroke-width="20" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0313 -.00133 .01432 .02009 377.4 387.7)"/>
+    <path fill="#b00" stroke="#000" stroke-width="20" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0313 -.00133 .01432 .02009 380.4 387.5)"/>
+    <path fill="#b00" stroke="#000" stroke-width="20" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0388 -.00133 .01775 .02009 376.2 390.5)"/>
+    <path fill="#b00" stroke="#000" stroke-width="20" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0388 -.00133 .01775 .02009 379.9 390.3)"/>
+    <path fill="#ffe000" d="M0 0h256v512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vc.svg
new file mode 100644
index 0000000..ee72f78
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vc.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-vc" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#f4f100" d="M0 0h510.4v512H0z"/>
+    <path fill="#199a00" d="M385.6 0H512v512H385.6z"/>
+    <path fill="#0058aa" d="M0 0h126.4v512H0z"/>
+  </g>
+  <path fill="#199a00" fill-rule="evenodd" d="M191.2 138.6l-49.5 76.2 47.8 79.3 46.7-78.6-45-76.9zm129.4 0L271 214.8l47.7 79.3 46.8-78.6-45-76.9zm-65.4 103.9l-49.4 76.1 47.7 79.4 46.7-78.7-45-76.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ve.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ve.svg
new file mode 100644
index 0000000..205fe84
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ve.svg
@@ -0,0 +1,26 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ve" viewBox="0 0 512 512">
+  <defs>
+    <g id="d" transform="translate(0 -36)">
+      <g id="c">
+        <g id="b">
+          <path id="a" fill="#fff" d="M0-5L-1.5-.2l2.8.9z"/>
+          <use width="180" height="120" transform="scale(-1 1)" xlink:href="#a"/>
+        </g>
+        <use width="180" height="120" transform="rotate(72)" xlink:href="#b"/>
+      </g>
+      <use width="180" height="120" transform="rotate(-72)" xlink:href="#b"/>
+      <use width="180" height="120" transform="rotate(144)" xlink:href="#c"/>
+    </g>
+  </defs>
+  <path fill="#cf142b" d="M0 0h512v512H0z"/>
+  <path fill="#00247d" d="M0 0h512v341.3H0z"/>
+  <path fill="#fc0" d="M0 0h512v170.7H0z"/>
+  <g id="f" transform="translate(256.3 358.4) scale(4.265)">
+    <g id="e">
+      <use width="180" height="120" transform="rotate(10)" xlink:href="#d"/>
+      <use width="180" height="120" transform="rotate(30)" xlink:href="#d"/>
+    </g>
+    <use width="180" height="120" transform="rotate(40)" xlink:href="#e"/>
+  </g>
+  <use width="180" height="120" transform="rotate(-80 256.3 358.4)" xlink:href="#f"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vg.svg
new file mode 100644
index 0000000..9572de3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vg.svg
@@ -0,0 +1,128 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-vg" viewBox="0 0 512 512">
+  <defs>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="red"/>
+      <stop offset="1" stop-color="#ff0"/>
+    </linearGradient>
+    <linearGradient id="c" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -3.7 -.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="d" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -3.7 -.5)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="e" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -4.5 -.3)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="f" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -3.7 0)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="g" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -3.7 .2)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="h" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -3.7 .4)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="i" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -4.5 .4)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="j" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -4.5 .2)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="k" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -4.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="m" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -4.5 -.5)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="n" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.65977 0 0 1.4919 -3.8 -.3)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="l" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.85004 0 0 1.9222 723.3 109.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <clipPath id="b">
+      <path fill-opacity=".7" d="M0 0h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#b)">
+    <path fill="#006" d="M0 0h1024v512H0z"/>
+    <path fill="#006" fill-rule="evenodd" d="M0 0h512v256H0z"/>
+    <g stroke-width="1pt">
+      <path fill="#fff" d="M0 0v28.6L454.8 256H512v-28.6L57.2 0H0zm512 0v28.6L57.2 256H0v-28.6L454.8 0H512z"/>
+      <path fill="#fff" d="M213.3 0v256h85.4V0h-85.4zM0 85.3v85.4h512V85.3H0z"/>
+      <path fill="#c00" d="M0 102.4v51.2h512v-51.2H0zM230.4 0v256h51.2V0h-51.2zM0 256l170.7-85.3h38.1L38.2 256H0zM0 0l170.7 85.3h-38.2L0 19.1V0zm303.2 85.3L473.8 0H512L341.3 85.3h-38.1zM512 256l-170.7-85.3h38.2L512 236.9V256z"/>
+    </g>
+    <path fill="#fff" fill-rule="evenodd" d="M256.4 193.6l213.7-.8-.4 190.3s7.5 29-89.6 73c34.9-3.6 73-40.9 73-40.9s15.4-19.8 23-8.7c7.5 11.1 14.6 16.6 20.1 21 5.6 4.4 10 16.3 1.6 25s-21.4 9.9-25-.8c-5.5 2.8-39.6 44-109.4 46-71-1.2-109.8-46.4-109.8-46.4s-9.5 15-23 3.2c-13-15.5-3.1-25.4-3.1-25.4s11-6.3 14.2-10.7c5.2-6 6.8-13.9 15.5-13.9 10.3.8 14.3 9.1 14.3 9.1s35.6 37.7 74.1 42.5c-86.8-41.7-90-67.4-89.6-73.8l.4-188.7z"/>
+    <path fill="#006129" fill-rule="evenodd" stroke="#000" stroke-width="1.7" d="M261.5 198.8l203.8-1.2v183.1c.4 23.8-39.6 48-102.3 79-64.6-33.4-101.9-53.6-102.3-79.4l.9-181.5z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M286 400.6l12-17.7 12.2 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M300.5 394a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M288.3 413.6h18.6s.4-2.3-1.9-3.8c9.8-1.3 7.2-10 15.4-10.4 1.6.2-4.3 3.6-4.3 3.6s-4.9 3.5-2.6 5.3c1.7 1.4 2.5-.9 2.8-2.6.2-1.7 7.9-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7H303c-.5-1-2.6-4.4-4.8-4.4-2.6.1-4.4 4.4-4.4 4.4h-17.4s-.6 4.4 8.2 5.3a10.5 10.5 0 005.3 4c-1.2 1-1.5 2-1.5 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M289.6 409.8h15.6m-22.7-9.1s1.3 7.2 7 9"/>
+    <path fill="url(#c)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(196.1 180.9) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M300.3 383.4a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M285.4 364.2l12-17.6 12 17.6"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M299.8 357.6a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M287.6 377.3h18.7s.3-2.4-2-3.9c9.8-1.3 7.2-10 15.4-10.4 1.6.2-4.2 3.7-4.2 3.7s-5 3.4-2.7 5.2c1.8 1.4 2.5-.9 2.8-2.6.2-1.7 8-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7h-7.6c-.5-.9-2.6-4.3-4.8-4.3-2.6 0-4.4 4.3-4.4 4.3h-17.3s-.6 4.5 8.2 5.3a10.5 10.5 0 005.2 4c-1.2 1-1.5 2.1-1.5 3.7z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M289 373.5h15.5m-22.6-9.2s1.2 7.3 7 9"/>
+    <path fill="url(#d)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(195.4 144.5) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M299.6 347a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M413.1 331.2l12-17.7 12.2 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427.6 324.6a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M415.4 344.2H434s.3-2.3-1.9-3.8c9.8-1.4 7.2-10 15.4-10.5 1.6.3-4.3 3.7-4.3 3.7s-4.9 3.5-2.6 5.3c1.7 1.4 2.5-1 2.8-2.6.2-1.7 7.9-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7H430c-.5-1-2.6-4.4-4.8-4.4-2.6.1-4.4 4.4-4.4 4.4h-17.4s-.6 4.4 8.2 5.3a10.5 10.5 0 005.3 4c-1.2 1-1.5 2-1.5 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M416.8 340.4h15.5m-22.7-9.1s1.3 7.2 7 9"/>
+    <path fill="url(#e)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(323.2 111.5) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427.4 314a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M288.3 295.8l12-17.6 12.2 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M302.8 289.2a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M290.6 308.9h18.6s.4-2.4-1.9-3.9c9.8-1.3 7.2-10 15.4-10.4 1.6.2-4.3 3.7-4.3 3.7s-4.9 3.4-2.6 5.2c1.7 1.4 2.5-.8 2.8-2.6.2-1.7 7.9-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7h-7.6c-.5-.9-2.6-4.3-4.8-4.3-2.6 0-4.4 4.3-4.4 4.3h-17.4s-.6 4.5 8.2 5.3a10.5 10.5 0 005.3 4c-1.2 1-1.5 2.1-1.5 3.7z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M292 305h15.5m-22.7-9s1.3 7.2 7 9"/>
+    <path fill="url(#f)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(198.4 76.1) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M302.6 278.6a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M288.6 261l12-17.6 12.1 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M303 254.5a2.4 2.4 0 11-4.7 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M290.9 274.1h18.6s.3-2.3-2-3.8c9.8-1.3 7.3-10 15.5-10.4 1.6.2-4.3 3.6-4.3 3.6s-5 3.5-2.7 5.3c1.8 1.4 2.6-.9 2.8-2.6.3-1.7 8-2.8 6.9-7.7-1.9-4-12.6 2.7-12.6 2.7h-7.7c-.4-1-2.6-4.3-4.7-4.4-2.6.1-4.4 4.4-4.4 4.4h-17.4s-.6 4.4 8.2 5.3a10.5 10.5 0 005.2 4c-1.1 1-1.4 2-1.4 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M292.2 270.4l15.6-.1m-22.7-9.1s1.2 7.3 7 9"/>
+    <path fill="url(#g)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(198.7 41.4) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M302.9 243.9a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M289.3 225.8l12-17.6 12 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M303.7 219.2a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M291.5 238.9h18.7s.3-2.4-2-3.9c9.8-1.3 7.3-10 15.4-10.4 1.6.3-4.2 3.7-4.2 3.7s-5 3.4-2.7 5.2c1.8 1.4 2.6-.8 2.8-2.5.2-1.7 8-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7h-7.6c-.5-1-2.6-4.4-4.8-4.4-2.6 0-4.4 4.4-4.4 4.4h-17.3s-.6 4.4 8.2 5.3a10.5 10.5 0 005.2 4c-1.1.9-1.5 2-1.5 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M292.9 235.1h15.5m-22.6-9.2s1.2 7.3 7 9"/>
+    <path fill="url(#h)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(199.4 6.1) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M303.5 208.6a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M414.1 226.4l12-17.7 12.1 17.8"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M428.5 219.8a2.4 2.4 0 11-4.7 0 2.4 2.4 0 014.7 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M416.4 239.5H435s.3-2.4-2-3.9c9.8-1.3 7.3-10 15.5-10.4 1.6.2-4.3 3.6-4.3 3.6s-5 3.5-2.7 5.3c1.8 1.4 2.6-.9 2.8-2.6.3-1.7 8-2.8 6.9-7.7-1.9-4-12.6 2.7-12.6 2.7h-7.7c-.5-.9-2.6-4.3-4.8-4.3-2.6 0-4.4 4.3-4.4 4.3h-17.3s-.6 4.5 8.2 5.3a10.5 10.5 0 005.2 4c-1.1 1-1.4 2.1-1.4 3.7z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M417.7 235.7h15.5m-22.6-9.2s1.2 7.3 7 9"/>
+    <path fill="url(#i)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(324.2 6.7) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M428.3 209.2a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M413 261l12-17.7 12 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427.4 254.4a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M415.2 274l18.7.1s.3-2.4-2-3.9c9.8-1.3 7.2-10 15.4-10.4 1.6.2-4.3 3.6-4.3 3.6s-4.9 3.5-2.6 5.3c1.8 1.4 2.5-.9 2.8-2.6.2-1.7 8-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7h-7.6c-.5-.9-2.6-4.3-4.8-4.3-2.6 0-4.4 4.3-4.4 4.3h-17.4s-.5 4.5 8.3 5.3a10.5 10.5 0 005.2 4c-1.2 1-1.5 2.1-1.5 3.7z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M416.6 270.3H432m-22.7-9.2s1.3 7.3 7 9"/>
+    <path fill="url(#j)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(323 41.3) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427.2 243.8a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M411.4 296.4l12-17.7 12.1 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M425.9 289.8a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M413.7 309.4h18.6s.3-2.3-2-3.8c9.8-1.3 7.3-10 15.5-10.5 1.6.3-4.3 3.7-4.3 3.7s-5 3.5-2.7 5.3c1.8 1.4 2.6-.9 2.8-2.6.3-1.7 8-2.8 6.9-7.7-1.8-4-12.6 2.7-12.6 2.7h-7.7c-.4-1-2.6-4.4-4.7-4.4-2.6.1-4.4 4.4-4.4 4.4h-17.4s-.6 4.4 8.2 5.3a10.5 10.5 0 005.3 4c-1.2 1-1.5 2-1.5 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M415 305.6h15.6m-22.7-9.1s1.2 7.2 7 9"/>
+    <path fill="url(#k)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(321.5 76.7) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M425.7 279.2a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.3" d="M413 401l12-17.7 12 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427.4 394.3a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M415.2 414H434s.2-2.4-2-3.8c9.8-1.4 7.2-10 15.4-10.5 1.6.3-4.3 3.7-4.3 3.7s-4.9 3.5-2.6 5.2c1.7 1.4 2.5-.8 2.8-2.5.2-1.7 7.9-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7l-7.6-.1c-.5-.9-2.6-4.3-4.8-4.3-2.6 0-4.4 4.4-4.4 4.4h-17.4s-.5 4.4 8.3 5.3a10.5 10.5 0 005.2 4c-1.2.9-1.5 2-1.5 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M416.6 410.2H432m-22.7-9.2s1.3 7.3 7 9"/>
+    <path fill="url(#l)" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M814.5 330.3c.6-2.8 1.6-3.3 2.8-6.8.2-3.5-2.8-3-2-5.3 1.6-2.4.8-4.7-2-6.5.5 3.2-3.8 6.1-3.8 8.7 0 2.6 2.2 2 2 6 .1 2.2-.6 1.7-.8 3.9h3.8z" transform="translate(-406 70.7)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427.2 383.7a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M412.8 366l12-17.7 12 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427.2 359.4a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M415 379h18.7s.3-2.4-2-3.8c9.8-1.4 7.2-10 15.4-10.5 1.6.3-4.2 3.7-4.2 3.7s-5 3.5-2.7 5.2c1.8 1.4 2.5-.8 2.8-2.5.2-1.7 8-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7h-7.6c-.5-1-2.6-4.4-4.8-4.4-2.6.1-4.4 4.4-4.4 4.4h-17.3s-.6 4.4 8.2 5.3a10.5 10.5 0 005.2 4c-1.2.9-1.5 2-1.5 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M416.4 375.2h15.5m-22.6-9.1s1.2 7.2 7 9"/>
+    <path fill="url(#m)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(322.9 146.3) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427 348.7a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M311.1 333.4l12-17.6 12.2 17.7"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M325.6 326.8a2.4 2.4 0 11-4.8 0 2.4 2.4 0 014.8 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M313.4 346.5H332s.3-2.4-1.9-3.8c9.8-1.4 7.2-10 15.4-10.5 1.6.3-4.3 3.7-4.3 3.7s-4.9 3.5-2.6 5.2c1.7 1.4 2.5-.8 2.8-2.5.2-1.7 7.9-2.8 6.8-7.7-1.8-4-12.6 2.7-12.6 2.7H328c-.5-1-2.6-4.4-4.8-4.4-2.6 0-4.4 4.4-4.4 4.4h-17.4s-.6 4.4 8.2 5.3a10.5 10.5 0 005.3 4c-1.2.9-1.5 2-1.5 3.6z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M314.8 342.7h15.5m-22.7-9.2s1.3 7.3 7 9"/>
+    <path fill="url(#n)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(221.2 113.7) scale(1.2884)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M325.4 316.2a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0z"/>
+    <g stroke="#000">
+      <path fill="#f7c600" fill-rule="evenodd" stroke-width=".8" d="M375.5 417.4s4.9 11.2 10.4 4.3 3.5-9.8 3.5-9.8L377 405l-3.6 7.7 2.1 4.6z"/>
+      <path fill="#ffc6b5" fill-rule="evenodd" stroke-width=".8" d="M386.2 416s.8 0 1.5-1.2-1.5-1.7-2.5-3l-1 2 2 2.1zm-28.1-3l-11 5.9s-5.4 1-5.8 0c-.4-1 .1-2 3-2.2 2.8-.1 10.5-7.1 10.5-7.1l3.3 3.3zm.1-194.6l.4 4c.1 1.3-2.2 4.1-2.3 4s-1.2.1-1 1 1.7 1 1.7 1-.7 2.9 0 3c.7.1-1.8 3.7 0 4.6 1.7 1 4.7 2.2 6 1.9 1.4-.3 0 5.3 0 5.3l-3.7 8 20.8-2-4.3-7s-2-1.3-1.5-5.3c.5-3.9-.3-21.6-.3-21.6l-14.9-2-.9 5.1zm-3.8 30.9s-6.8 3-6.5 11.4c-1.7 8.2-2.7 16.3-2.7 16.3s-8 9-10.4 12.3c-2.4 3.2-6 9.8-7.4 11.6s-6.6 7.6-6.5 9.7c.1 2.2-1.2 11.8 4 12.9 1.4.5 5.7-11.1 5.7-11.1s.3-5-1.2-6 3.3-4.2 3.3-4.2l11-8.2c2-1.6 7.6-7.8 7.6-7.8l3.1-37z"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width=".8" d="M362.1 242.9s1.8 4.7 5.7 4c4-.9 8.5-4.5 8.5-4.5s3.7-.2 4.2.4c.5.5 9.9 9.6 9.6 12.4-.3 2.8-4.3 2-5.8 4s-4 6.5-3.3 10 2.7 8.2 2.5 10-1.8 2.2-1.8 3.2 1.2 2.5 1.2 4.3-1.6 4.3-1.3 6c.3 1.8.4 7 .4 7l-.4 23.8s1.3.8 1.5 2.1c.1 1.4 9.2 40.7 9.2 40.7s-.4 1.2-1.4 1 3.7 6.2 3.8 8 4.7 15.5 4.6 17.4c-.1 1.9-.8 6-1.2 6.2-.4.1 3 8.6 2.4 10-.5 1.3-6 1.2-6 1.2l-1.6-.3s.2 1.8-1 2-9-.5-9-.5-2.3 3.5-3.6 3.4c-1.4-.1-3.1-2.6-3.5-2.2-.4.4 1.2 2.7.8 3.4-.4.7-7.3 2.2-8.7-1-1.3-3.3.8-2.5.4-3.2-.4-.7-3.5-2.4-4.4-1.9s2.4 1.4 2.3 2.7c-.2 1.4-3 3.4-4 3.4s-3.7-5-7.5-4.4-6.2 1.4-6.2 1.4-4.5 2-6.4 1.5c-1.9-.4-2.7-1.9-2.7-2.7s1.4-4.3 1.2-5.4-1.2-2.1-1.2-3.8a31 31 0 013.1-7.1l-.1-24.9s-2.9 0-3-1.8 4.3-39.3 5-41.7c.7-2.5 2.4-11.1 2.4-11.1s-2 1-2.1 0 6-22.4 6-22.4 1.1-10.7 1.1-13.6-.5-6.7-.5-6.7-5.6-2.4-5.7-6c-.5-5.7 5.3-8.9 6-10.8l2.7-7.5s3-5.2 7.8-6z"/>
+      <path fill="#f7c600" fill-rule="evenodd" stroke-width=".8" d="M360.1 414.6s-13.1 6.9-15 7.4c-2 .5-3.1-2.3-1.2-2.8 1.9-.6 4.8-.8 4.8-.8s-4.4-3.6-4.3-3.7l6.2-2.3c.2 0 2 3.5 3.1 3.3s4.8-3 4.8-3l1.6 1.9z"/>
+      <path fill="#ffc6b5" fill-rule="evenodd" stroke-width=".8" d="M378.6 418.3c1.2 1.6 1.7 4.4 4.5 2.8 2.9-1.6-1.4-4.6-1.4-4.6l-3.1 1.8z"/>
+      <path fill="#ffc6b5" fill-rule="evenodd" stroke-width=".8" d="M383.8 418s1.3 1.2 2.5 0-2.4-3.9-2.4-3.9l-1.8 2 1.6 2z"/>
+      <path fill="none" stroke-width=".8" d="M379.7 248.2s-12 7.7-11.8 10.4m14.5-9l-2.8 2.9m6.4.3s-6 4.8-5 8m-23-13.3s-1.8 3.6-1.4 4.9c.4 1.2 3.3 5.8 3.8 8.6.4 2.8 0 4.9 0 4.9m-5.6-11.6s.6 4.3 1.4 5c.8.9 3 4.5 3.2 6m-5.7 7s3.5 1.7 6.8-5m5.3-4.8c-.2 0-2.6 6.6 1.7 9s7.6 2.2 9.5 1.5c1.9-.6 3.9-1.9 3.9-1.9m-17-.5s.2 9 13.4 17.7m-12.9-9.3s-.1 7.8 5 11.4m-7.7-20.6s-4 11.6-7 12.8m5.8-4.3s-.1 8.4-1.2 11.4m-1.1 2s2.7 3.4 5.7 3.1c3-.3 4.2-3.8 6.2-3.2 2 .5 4 2.1 8.6 1.7m-6.7 3.5s0 7 1.2 7.6.7 7 .7 7m-18.4-17.8s-.1 6.5-1 8.8c-.8 2.3-2.4 6.2-2.1 9.6m-5.1 3.8c.6-.3 3-2.3 3-2.3m1.1 1.5s-5.8 24.8-4.2 39.7m5.6-38.5s-3 18.6-1.6 22.1m.1-22.7l11.4.8m1.6-1.4s3 1.6 7.4 1.3M363 324s-.5 32-1.3 39m18-31.7s3.5 28 5.5 30.6m-12.3-27s2.2 24.7 3.4 26.8m-34 8.7s4.1-1.4 7.9-5.4c4.3 5.8 11 .2 11 .2s10.2 7 14.8-.8c7 4.6 10.6-.6 10.6-.6s2.5 3.9 4.4 3.5m-11.2 2.7s5.3 24.7 13 31.7m-40.2-34.3s.7 20.7 2 35.3m-3-12s-.6 13.6-1.4 14.5m-6.5 1.4s1.5 5.8 9 .4c7.4-5.4 7.5 2 7.8 2.9.2.8 1.5 6.6 4.3 1.7m6-8s-1.3 12 9.4 3.3c10.7-8.8 12.4-.2 12.7 2.5"/>
+      <path fill="#9c5100" fill-rule="evenodd" stroke-width=".8" d="M357.8 217.6s3 .4 4.6-.5c1.6-1 3.5-1.4 4.9.5s2.3 1.8 2.3 1.8-2 5 0 5.5c2 .6 3 .6 3 1.2.2.7-1.7 2.2-1.2 2.9.6.6 1.5 1.5 1.7 2 .1.5-1.3 2.8-.8 3.4.4.5 1.6 2.7 2.4 2.7s.3 3.4 2.7 2.6 2.3-3 2.3-3 2.6-.4 3.2-2.7c.7-2.3 2.3-2.9 2.3-2.9s3.3-1.7-1-4.4c0-19-12.5-17-12.5-17s-1.5-3.3-4-2.9c-2.3.4-2.5 3.3-4.2 3-1.8-.3-2.2-1.5-2.3-1.4-.2.2-1.7 2.9-1.7 3.5 0 .7-4.7-.9-4.3 2.6s2.7 3.4 2.6 3.1z"/>
+      <path fill="none" stroke-width=".8" d="M370.8 213s-1 6 5.4 5.4c-.8 3.3 1.6 4.4 1.6 4.4m4.7 3.6c.2 0 2.9 1.8-.1 4m-9 .7s1.3 1.7 2.8 1.3c1.5-.4 3.9 1.4 3.9 1.4s2 .7 2.3.3m-17.3 2.2s4.6 1.7 7.6-5.6m-16.1-2.1l2.7.1"/>
+      <path fill="none" stroke-linejoin="round" stroke-width=".8" d="M357 231.3h2.4l-2.1 1"/>
+      <path fill="none" stroke-linejoin="round" stroke-width="1.4" d="M360.4 223.7c.4 0 1.9-.5 2.1-.1s-1.6.6-2.1.1z"/>
+      <path fill="#ffc6b5" fill-rule="evenodd" stroke-width=".8" d="M389.6 255.8s4.4 13.4 5 16.8c.5 3.4 2.3 16.9 1.6 18.8-.7 1.9-7.6 11-8.4 13.2-.8 2.3-5.7 11.1-5.7 11.1s-1.2 8.7-1.7 9c-.6.5 1.4 2.6 1.2 3.3-.3.8-4 4.6-5.6 4.2-1.6-.4-4.2-2.3-4.3-4s.1-7.6 1.4-9.1 7.5-16.5 8-17.5c.3-.9 5.7-12.7 5.9-14.7.1-2-1.7-6.7-3.6-8.4-4.3-12.6-2.6-20.1 6.2-22.7z"/>
+      <path fill="none" stroke-width=".8" d="M326.6 313.8l.2 6m-5.8-6.4s3.8 6.3 3.5 9.7"/>
+      <path fill="none" stroke-linejoin="round" stroke-width=".8" d="M372 326.6s2.8-.3 2.7 4.5c1.8-5.9 5.5-6 5.5-6"/>
+    </g>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width="1.7" d="M362.2 462a137 137 0 0093.6-43.2c-.4-.4 7.5-11.5 13.9-10 6.3 1.7 15.4 20.3 26.5 24.3 5.6 8.7-1.6 16.6-4 18.2-2.3 1.6-13 6-14.6-.4-1.6-6.3-4.8-5.2-4.8-5.2s-50.7 49.6-109.4 47.6c-60.6.4-110.6-47.6-110.6-47.6l-4.3 4.8s-4.8 5.2-7.2 4.8c-2.3-.4-12.7-7.2-13.4-14-.8-6.7 6.3-11 6.3-11s17.4-13.5 19.4-20.6c4-4 11.5 2.7 11.5 2.7s46 52.8 97.1 49.6z"/>
+    <path fill="none" stroke="#000" stroke-width="1.7" d="M233 431.3s4.7-1.2 6.5.7a719 719 0 0013.5 13.6"/>
+    <path fill="none" stroke="#000" stroke-width="1.7" d="M243.8 436.8l-4.8 3.6s12 2.3 9.3 10.1M492 431s-2.4-1.2-6 1.5c-3.8 2.8-13.1 13.2-13.1 13.2"/>
+    <path fill="none" stroke="#000" stroke-width="1.7" d="M481.4 436.5l5 4s-10.6.7-8.3 10.8"/>
+    <path d="M293.4 444l-.3.4a3.5 3.5 0 00-2.5-.2c-.6.2-2 .8-3.8 1.9l-15.7 9.2-.4-.3 4-18.4.6-4c0-.5-.4-1-1-1.6l.3-.5 8.5 6-.3.5-.3-.2c-.8-.5-1.4-.8-1.8-.8a.8.8 0 00-.7.4 2.3 2.3 0 00-.3.6l-.5 2.2-2.5 11.5 9-5.3 2.2-1.4.7-.7.3-.9c0-.3 0-.6-.3-.9a5 5 0 00-1.3-1.2l.3-.5 5.8 4.1m5.7 27.3l-.3.5-10-5.4.3-.5.7.3a3 3 0 001.5.5c.3 0 .6-.2.9-.4.2-.2.6-.7 1.1-1.7l6.8-12.5a7 7 0 00.9-2c0-.2 0-.6-.3-1-.2-.3-.6-.6-1.1-.9l-.6-.3.2-.5 10 5.4-.3.5-.6-.3a3 3 0 00-1.5-.5c-.3 0-.6.2-1 .4-.2.2-.6.7-1 1.7l-7 12.5a7.1 7.1 0 00-.8 2l.3.9c.2.4.6.7 1.1 1l.7.3m36.3-8.5l-2.5 7.2-.6-.2a9.7 9.7 0 00-1.4-5.6 7.6 7.6 0 00-3.9-3.1 6 6 0 00-4.3 0 7.3 7.3 0 00-3.4 2.8 18.9 18.9 0 00-2.3 4.5c-.7 2-1.1 3.7-1.2 5.4s.3 3 1.1 4a6.8 6.8 0 003.3 2.4 8.3 8.3 0 001.6.4 12 12 0 001.7 0l1.6-4.2c.2-.8.4-1.3.3-1.6a1.6 1.6 0 00-.4-.9 2.7 2.7 0 00-1.2-.7l-.5-.2.2-.6 10 3.6-.3.5a4.5 4.5 0 00-1.7-.2c-.3 0-.6.2-1 .5l-.5 1.4-1.6 4.2a22.2 22.2 0 01-9-1.3 13.7 13.7 0 01-4.6-2.5 13.2 13.2 0 01-2.7-3.3 10.6 10.6 0 01-1.2-3.7 11 11 0 01.6-5c1-3 3-5.3 6-6.6a11.8 11.8 0 019.3-.3 9 9 0 012.6 1.2c.5.2 1 .7 2 1.5a9.8 9.8 0 001.5 1.1h.9a3 3 0 001-1l.6.3m15.3 24.6v.5l-11.3-1.7.1-.5h.7a3 3 0 001.6 0c.3-.1.5-.4.7-.7.2-.2.3-.9.5-2l2.2-14c.1-1.2.2-1.9 0-2.2 0-.3-.2-.5-.5-.8a2.8 2.8 0 00-1.4-.5l-.7-.1v-.6l11.3 1.7v.6l-.8-.1a3 3 0 00-1.5 0l-.8.7c-.2.3-.3 1-.5 2l-2.1 14.1a7.2 7.2 0 00-.2 2.1c.1.3.3.6.6.8.4.3.8.5 1.4.5l.7.2m29.2-7.1l-.5 7.6-19.2 1v-.6h.7a3 3 0 001.5-.4c.3-.2.5-.5.6-.8v-2l-.7-14.3a7.1 7.1 0 00-.3-2c0-.3-.3-.6-.7-.8-.4-.2-.9-.2-1.5-.2h-.7v-.6l11.5-.5v.6h-.9a3 3 0 00-1.5.4l-.6.8a7 7 0 000 2l.6 13.8c0 1.2.2 1.9.3 2.2.2.3.4.5.8.6h3.8a6.1 6.1 0 002.8-.8 5.3 5.3 0 001.9-2c.5-1 1-2.2 1.4-4h.7m21-3.7l-7.3 2.2-.3 2.3a4.7 4.7 0 000 1.8c.2.6.6 1 1.2 1 .3.2 1 0 2-.1l.3.5-7 2-.1-.5a3.3 3.3 0 001.6-1.4c.3-.7.6-2 .8-3.7l2.5-18.8.3-.1 12.6 14.8c1.2 1.4 2 2.2 2.6 2.5.5.2 1 .3 1.7.1l.1.6-10 3-.2-.6.4-.1c.8-.2 1.4-.5 1.6-.8.2-.3.2-.5.1-.8a2 2 0 00-.2-.6l-.8-1-1.9-2.3m-.9-1l-5.2-6.2-1 8.1 6.2-1.8m27.8-28.3l2.7 5.2-.5.2a9.1 9.1 0 00-2.3-2 4.3 4.3 0 00-2.2-.4c-.5 0-1.1.2-2 .7l-1.5.8 8 14.7 1.1 1.8c.3.2.6.3 1 .3a3 3 0 001.4-.4l.7-.4.2.5-10 5.4-.2-.5.6-.3a3 3 0 001.2-1l.2-1a6.6 6.6 0 00-.8-1.9l-8-14.7-1.3.7c-1.3.7-2.1 1.5-2.4 2.3-.4 1.2-.3 2.6.2 4.1l-.5.3-2.8-5.2 17.2-9.2m13-7.7l5.3 7 .3-.2c1.1-.9 1.7-1.8 1.6-2.9s-.4-2.3-1.3-3.7l.5-.4 6.8 9-.5.4a8.4 8.4 0 00-2.4-1.9c-.8-.4-1.5-.5-2.1-.4-.6.1-1.3.5-2.2 1.1l3.7 4.9a10 10 0 001.4 1.6c.3.2.6.2.9.2.3 0 .7-.2 1.2-.6l1-.8a7.8 7.8 0 003-4 7.8 7.8 0 00-.4-5l.5-.4 3.4 6.1-15 11.3-.4-.5.6-.4a3 3 0 001-1.2c.2-.3.2-.6 0-1a6.6 6.6 0 00-1-1.7l-8.6-11.4-1.2-1.4a1.5 1.5 0 00-1-.3c-.4 0-1 .2-1.5.6l-.6.4-.4-.4 14.5-11 3.9 5.2-.5.3a7.7 7.7 0 00-3-1.9 4.8 4.8 0 00-2.9.2l-2.8 1.9-1.8 1.3"/>
+    <path fill="none" d="M258.4 445.6c70.9 57.5 140.4 58.5 208.4 0"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vi.svg
new file mode 100644
index 0000000..2740f24
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vi.svg
@@ -0,0 +1,28 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-vi" viewBox="0 0 512 512">
+  <path fill="#fff" d="M0 0h512v512H0z"/>
+  <path fill="#369443" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2" d="M163.5 316s-.4-2.9 4.9-5c5.3-2 5.7-9.7 4.7-14.8 0 0-2.8 4.9-6.2 6.5 0 0-5.5 2.9-5.8 8.4 0 0 0 2-.4 3.5-.2.9-2.7-6.8 2-12.6 4.7-5.9 6-10.7 2.3-20 0 0-.4 5.6-4.1 8.9-3.8 3.2-4.2 3.5-4.2 11.2 0 0 0 2.7-1.3 3.6 0 0-3-4.3-3.7-7-.8-2.9-1.1-4 2.2-7.3 0 0 10.6-6.9 3-22 0 0-.3 5.3-4 8.3-3.6 3-3.3 5.1-3.5 10.4-.2 5.3-.6 5-1 5.7 0 0-6.7-12.4-1.5-19s8.1-8 2.4-20.3c0 0 .2 6.3-4.4 9.4s-3.5 10.5-3.5 10.5.3 2.7-.7 4.7c0 0-6.5-12.7-.3-19.5 5.3-5.8 5.7-9.9 2.8-18.1 0 0-.3 3.8-3.2 5.9-3 2-5.2 4-4.7 12 0 0 .2 5.5-.5 7 0 0-2.7-5-3.5-8.3-.7-3.3-1-5.2 1-8.5s10-12.8.4-26.4c0 0-.3 4.4-2.7 8.4-2.4 4-1.3 8.7-.8 12.3.6 3.6-1.2 7.1-1.2 7.1s-4.1-7.6-3.3-16.3c1-8.7-2.6-16-10.7-21 0 0-5.8 13.5 2.2 20.4 0 0 6.8 6.8 8.5 15 0 0-5.2-.6-9.8-9.7-4.7-9-14.4-7.6-15-7.7 0 0 1.5 14 16.4 18 0 0 9.6 1.7 11.3 8.7 0 0 1.6 4.8 2.3 7.4 0 0-3-1.2-5.8-5.3-2.8-4.2-2.4-4.7-11.8-5.6 0 0-3.8-.4-5.8-3.1 0 0 4 14.9 14.1 14.8 0 0 9.3-1 14.5 11.2l-2.4-1.6c-1.3-1-4.8-2.7-11.6-1.8s-8.7-.4-10.4-1c0 0 6.9 12.7 16.6 9 9.7-3.8 14.4 9.8 14.5 10.1 0 0-1.3-1-3-2.7-1.7-1.7-5.3-3.7-12-1.6 0 0-4.9 1.9-9.8.4 0 0 4.7 9.1 15.8 7.6 11-1.6 13.9 8.2 13.9 8.2l-2.5-1.7c-1-.8-4.8-3-12.8-.6s-10.9-.4-10.9-.4 4.5 8.1 13 9c0 0 4.7 0 6.8-.7a9 9 0 0111 3.3s-1 .2-2.6-.5c0 0-5.7-2-10 1.6 0 0-3.8 4-9.3 3.2 0 0 7 6.8 18.3 1 0 0 3.8-2.7 6.5-.6 2.8 2.1 9.3-2 9.3-2z"/>
+  <g fill="#f4c53d" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2">
+    <path d="M225.8 147s-1.3-11.7 8-12.8c9.6-1.1 14.4.9 14.4.9l4.3 8.5-1.5 5.8-6 2.7s1-8.8-7-9c-2 0-3.3.8-6.5.3-3.3-.6-5 3-5.7 3.5z"/>
+    <path d="M291 175.7c-1.4 1.8-6.9 2.4-6.9 2.4s5.7 4.3 8.1 10.6c2.5 6.2-65.8 0-65.8 0s3-2.1 5-6c0 0-3 1-6.1-2 0 0 2.3.8 5.2-3.7 0 0 4.4-5.6 7.5-7.1 0 0-1.5.9-4.9-1 0 0 6-.8 8-10.9 0 0 .4-2.2 2.7-5.5 2.2-3.2 1.7.7 5.9-4.3 0 0 1.9-3.6.2-5.7s-3.4-1.4-6.9-3.5-5-3.2-3.8-6.4c1.2-3.2 4.2-2.7 4.7-2.7.4 0 .7-2.8 4.4-4.7a29 29 0 0115.4-.3c1.5.9 7.6 2.7 11.1 11.6 3.6 9-1 12.4 8.8 26 0 0-4 .8-6.4 0 0 0 5 9 13.8 13.2z"/>
+    <path fill="none" d="M248.7 137.8c-7.8-.4-4.8-7.9-4.8-7.9"/>
+    <path d="M262.4 138.8s-1.4-.7-2.5-2.2c-1.7-2.2-5.4-3.2-7.4-1.2 0 0-2 2.3-3.8 2.4 0 0 2 .6 3.4 1.9 1.4 1.3 2.9 2.2 5 2 2-.4 2.4-1.5 3.3-2.1 1-.7 2-.8 2-.8z"/>
+  </g>
+  <path fill="#369443" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2" d="M162.3 333.2s-.2-5 6.2-5.5l18.8 26.2s-.7 1.7-9.2 1.5c0 0-1 0-1.4 1-.7 1.6-14.4-23.2-14.4-23.2z"/>
+  <g id="a" fill="#f4c53d" stroke="#010002" stroke-width="10" transform="translate(2.9 85) scale(.12044)">
+    <path d="M1495 1807.9s-49.9 85.6-110.2 87c0 0-103.7-12.6-133 14.5-20.5 18.9-41.4 34.5-50 82.8-8.4 48.3 16.5 58.7 22.4 60.8 0 0 4.6 34.5 38.7 25.5 0 0 2 36 62.2 18.7 60.3-17.3 85.3-11.8 97-71.8 11.9-60.1 22.8-59.1 33.5-66.3 14.4-9.7 41.5-18.8 61.6-30.4 18-10.4 87.2-45.6 110.8-48.3 23.6-2.8 18.4-82.2 18.4-82.2h-61l-29.5-43.5-61 53.2zm192-429.4s-61 49.7-112.2 0c0 0-20.6 24.8-62 17.6-41.2-7.3-48.1-29-52-41.4 0 0-35.8 20.8-66 4.3-30-16.4-30-41.3-30-41.3s-52.5 10.4-79.4-25.2c-26.9-35.5-10.5-70.7 4-74.9 0 0-56.7 14.9-72.2-33.8a56 56 0 0116.4-62.8s-119.4-.6-168.4-38c0 0-40.7-25.6-16.4-52.5 0 0-107.5-17.2-134.4-60 0 0-11.8-11.8-7.9-32.5 0 0 .7-11.7 12.5-12.4 0 0-122.6-19-158-59.4 0 0-17-18.6-8.5-43.5 0 0 1.8-6.5 4.7-11 0 0-111.6-23.5-166.6-73.2 0 0-31.8-28.3-15.4-66.3 0 0-186.5-51-143.3-133.2 0 0-87.2-28.3-59.6-107 0 0-72.1-36.6-40.7-94.6 30.1-55.5 122.6 9.7 232 40 0 0 296.4 93.2 442.3 118l414.6 617.3 241.9 93.2 24.5 172.6z"/>
+    <path d="M1689.9 923.9s-38.9-29.2-108.2 5.1c0 0-23.3 16.1-41.7-1.5a37.3 37.3 0 014.3-57.5c51.7-38.3 70.8-153.2-7.8-200.9 0 0-114-67.6-532.3-174 0 0-35-9.8-53.8-5.1a52 52 0 00-37.6 37.8S894 581.1 957 611.6c0 0 28.4 13 57.7 21.4 0 0-32.2-7-46 24.8-13 30.4 6 61.5 65 81.5 0 0 16 6.2 38.7 11.7 0 0-50.5 14.5-26.2 55.3 0 0 21.6 42.8 98 50.4 0 0-57 6.2-16.8 60.4 0 0 17.7 29.7 73.4 40.7 0 0-42.2 1.4-21 39.3 21.4 38 71.5 59.4 120.9 62.9 0 0 26.7 1.4 45.4-2.8 0 0-47 23.5-19.4 62.8 0 0 20.3 28 71.1 26.6 0 0-13.1 44 24.1 60.6 29 13 53.1-7.8 53.1-7.8s-9.8 47.1 32.5 63.7c0 0 21.1 10.9 52.6 0 0 0 24 53.9 109.6 16 85.6-37.7 20.2-355.1 20.2-355.1zm5 489.4s-12.5 67.4-112 152.2c0 0-76.8 67.7-74.9 145.7 2 79.5-13.7 88.4-43.9 115.3 0 0 62.3 4.9 92.4-36.6 0 0-1.3 69-10.5 75.3 0 0 19.6 1.2 47.9-29.7 0 0 17-18 32.8-24.9 0 0-18.4 47.7-4 91.9 0 0 4.6-17.3 28.9-24.9 0 0 44-9 61-72.5 0 0 11.1-42 80-79.4 0 0 78-29.4 76-67.8-2-38.5-173.6-244.6-173.6-244.6z"/>
+    <path stroke-miterlimit="10" d="M2056.5 2282.2s-17.9 78.8-80 72.5c0 0-43.9-4.2-40.6-77.4 0 0-64.9 34.6-75.4-51 0 0-59 13.7-58.3-66.3 0 0-55 9.6-48.5-61.5 0 0-59.7 16-59.7-51 0 0-139.6-23.2 151.4-288.6l259.6 154.6-48.5 368.7z"/>
+    <path d="M2085.4 1928.3s-43.3 38.4-74.1-19c0 0-42-2-48.5-33.8 0 0-34.1-3.4-40.7-35.9 0 0-46.5-4.8-45.2-44.1 0 0-84.6-6.6 0-102.4 84.6-95.8 228.1 159 228.1 159l-19.6 76.2zm48.2-23.8c42 0 89.5 262 77.2 419.9-4.5 57.3-35.2 104.1-77.2 104.1s-72.6-46.8-77-104.1c-12.4-157.9 35.1-419.9 77-419.9"/>
+    <ellipse cx="2133.6" cy="1902.5" rx="58" ry="86"/>
+    <path fill="none" stroke-miterlimit="10" d="M1935.9 2277.3s6.6-138.7 126.8-337.6m-202.2 286.6s-18.7-80.1 150.8-317c0 0-19.7-56.5 40.6-92.8M1802.2 2160s-5.3-86.7 160.6-284.5c0 0-14.7-51 45.4-91.8m-254.5 314.8s6.2-87.6 168.4-258.9c0 0-8-52.4 50-84.9m-278 292.8s11.7-100.1 182.8-252c0 0-5.9-39.4 51.1-79.4"/>
+    <path fill="none" d="M372.3 432s134.3 77.8 552.9 155.6M431.9 539S795.6 657.6 965 672.2m-389.9 0s213.4 67 463.3 109.3m-281.2 30.3s241 57.9 356.2 67.5M919 925.6s203.9 42.5 255.5 47.6m-125.7 57.3s148.8 22.6 208 21.4m-23.2 69s60.2-2.8 89.1-7.6m-33.4 104.3s51.2-13.8 81.3-33.1m-5.9 133.2s39.4-15.2 58.4-56.6m37.7 93.6s30.4-27.3 32.4-57.7m81.6 81.5s-11.4-9.9-3.6-52.7m-11.1-62.8s-6-12.2-4-31.6m-211-581.3s68.8 27.6 91.7 65.6c23 38 7.9 74.9 0 96-3.9 10.7-52.4 104.2 4.6 171.9M1346 1057s.4-.3 24.6-8m-169.8-91.4s41 8.2 81.3 8.6m-138-109.8s48.2 4.9 93.5 4.2m-165.2-109.8s69.5 13.8 106.8 14.5M1014.7 633s85.7 24.4 149.4 33.1m141.6 50.4s-61.6 57.3 12.5 110.5c0 0-30.8 48.3 30.8 98.7m-16.4 23.8s-9.2 92.2 103.6 92.2c0 0-21.7 82.1 87.2 79.4 0 0 12.4 65.6 91 52.4M1441.3 1895s-17.9 4-56.6 0m-108.8 48.3s-54.4-8.3-51.8 109.8m84.6-82.9s-49.2-6.2-46 108.4m520.7-384.5s-23.6 4.8-40 23.5c-16.3 18.6-47.8 15.1-47.8 15.1s17-13.8 23-48.3c5.8-34.5 24.9-44.9 24.9-44.9m-56.3-32.6s-23.6 4.8-40 23.4c-16.4 18.7-47.9 15.2-47.9 15.2s17-13.8 23-48.3c5.9-34.5 24.9-44.9 24.9-44.9m23.7 188.5s-20.6 4.3-34.9 20.5c-14.3 16.3-41.8 13.3-41.8 13.3s15-12 20-42.2c5.2-30.1 21.8-39.2 21.8-39.2"/>
+  </g>
+  <use width="100%" height="100%" stroke="#010002" stroke-width="10" transform="matrix(-1 0 0 1 517.8 0)" xlink:href="#a"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2" d="M379.7 272.7l-6.9-4-11.4 49.5-4.7-3.4 11.1-47.4-7.8.2 18.5-33.8 1.2 39zm27 13.4l-4.3-7-34.4 40.7-3.7-4.2 34.3-40-7-3.8 31.4-20.7-16.3 35z"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2" d="M399.8 263.4l-5.7-5.8-30.8 59.2-4.7-2.8 31-59-7.6-2 26.1-27.6-8.4 38zm-44.1 71.5l-2.3 9.4 6.3 6.3-9 37.6-7.9-10.6-11.7 5.5 9-37.7 8.2-2.3 2.1-9.4s2.5-1 5.3 1.2z"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2" d="M357.8 328.6l-4.5 8.5 4.5 7.8-17.9 34-5-12.5-12.7 2.1 17.9-34h8.5l4.4-8.4s3.2 0 4.8 2.5z"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2" d="M358.6 331.1l-12.1 15.4 2.8 8.6-24.7 28.9-2.3-13.3-12.8-1 24.7-28.9 8.3 2 12.8-16.2s3.5 1.7 3.3 4.5zm-306.2-36c2.9-1.2 5-2.3 5-5.4 0-.7-.4-2.3-1.3-4.8l-19.3-59.1a50.8 50.8 0 00-2.4-6.4c-.9-1.7-2.6-2.4-4.9-3.3h24.6c-2.7 1.2-5.1 2.2-5 5 0 1.2.2 2.7.8 4.7L64.8 272l14.8-46.3c.6-2 1-3.5 1-4.6-.1-3-2.7-4-5.2-5.1h23.9c-2.2.9-4 1.5-4.9 3.3-.4.8-1.3 2.8-2.4 6.4l-19.3 59a30.2 30.2 0 00-1.3 5s-.9 3.7 5 5.3h-24zm412.2-6v-67a5.1 5.1 0 00-.6-2.6c-.3-.7-2-2.4-4.4-3.4h22.2a9.2 9.2 0 00-4.4 3.3 5.3 5.3 0 00-.6 2.7v67c0 1.1.2 2 .6 2.7.4.6 2 2.2 4.4 3.3h-22.2c2.4-1 4-2.7 4.4-3.3.4-.7.6-1.6.6-2.8z"/>
+  <path fill="#fff" stroke="#010002" stroke-width="1.2" d="M259.9 311.8s59.2-26.3 59.4-87H200.4c.2 60.7 59.5 87 59.5 87z"/>
+  <path fill="#a60032" stroke="#010002" stroke-width="1.2" d="M209.6 224.8v38.8s4.5 9 9.1 14.7v-53.5h-9.1zm18.3 0v64s5.7 5.6 9.1 8.3v-72.3h-9.2zm18.2 0v79s6.6 4.3 9.2 5.7v-84.7H246zm64 0v38.8s-4.5 9-9.1 14.7v-53.5h9.1zm-18.3 0v64s-5.7 5.6-9 8.3v-72.3h9zm-18.2 0v79s-6.6 4.3-9.2 5.7v-84.7h9.2z"/>
+  <path fill="#162667" stroke="#010002" stroke-miterlimit="10" stroke-width="1.2" d="M319.3 180.6s-29.1 15.2-59.4-1.2c-30.4 16.4-59.5 1.2-59.5 1.2v44.2h118.9v-44.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vn.svg
new file mode 100644
index 0000000..6b15814
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vn.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-vn" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M177.2 0h708.6v708.7H177.2z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-128) scale(.72249)">
+    <path fill="#ec0015" d="M0 0h1063v708.7H0z"/>
+    <path fill="#ff0" d="M661 527.5l-124-92.6-123.3 93.5 45.9-152-123.2-93.8 152.4-1.3L536 129.8 584.3 281l152.4.2-122.5 94.7L661 527.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vu.svg
new file mode 100644
index 0000000..397d30e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/vu.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-vu" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M0 0h496v496H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="scale(1.0321)">
+    <g fill-rule="evenodd">
+      <path d="M0 0l336.6 212.6h407.5v70.9H336.6L0 496V0z"/>
+      <path fill="#ff0" d="M0 478.4l343.7-219.7h400.4v-21.3H343.7L0 17.7v32L322.4 248 0 446.5v31.8z"/>
+      <path fill="#40aa40" d="M0 496l343.7-219.6h400.4V496H0z"/>
+      <path fill="#ce0000" d="M0 0l343.7 219.7h400.4V0H0z"/>
+      <path fill="#ff0" d="M92.8 258.3c1.2.3 1.5.6 2.7-1.1.3-.9 1-2 1.6-3.2.9-1.4 1.3-2 2-.9.6.6 2.7-.5 3.6.1 1.3 1 .5.8 1.6-.2.8-1.8 0-1.6-1.1-2.4-.8-.5-3 .6-3.8 0 .3-1.7.9-2 1.9-2.3.8.6 3-.4 3.8-.4 1 .2 1.8.3 2.1-1.1.5-1 .3-.3 0-1-1-.6-3 .5-3.9 0-1-.9-.9-1.2-.2-2.5.8-.5 1.4-.3 2.5.4 1 .7 2.7-.7 3.7-.8.8-1 1.8-1.3 1.2-2.4-.3-1-.6-1-1.8-1.3-1.2-.8-2.7.7-3.2-.5 1-1.3 1.3-1 2.5-.3.7.3 3-1 3.6-1.1 1.1-.3.6.9 1.3-1.8-.2-1-2.1.7-3.2.4-1 .2-1.9-.2-2-1.3 0-1.5.8-1.6 1.8-1.4 1 .2 3.1-1 3.9-1 1.1.6 1.5.4 2.4-1 .6-1.6-.1-1-1.2-1.8-.9-.5-3 .6-3.8 0 .1-.5.4-1.3 1-1.6.8.2 1.5.1 2.5.8 1 .4 2.7-1.5 3.6-2.2-.2-1-1.9.4-2.9-.3-.6-.4-1.4-.9-1.6-1.4.6-1.7.3-1.6 1.9-1 .8-.3 2.2-.3 1.3-1.8-.2-.3-1-.2-1.7-.5-1-.6-1.8-1.2-2.7-1.5-.6-.1-1.6-.3-2.1-.2-.1 1 .2 1.6 0 2.8.5.7 1.3.7 1.5 1-.9.7-1.3.3-2.2.4-1.1-.8-.5-3.1-1.8-2.6.3.7.2 3.3.7 3.8.6.4 1.4.8 1.5 1.4-1 1.4-1.3 1.3-2.4.6-1-.6-.6-2.7-1.4-2.6-1 .7-1 .7-.8 1.8 0 1.3-.5 3.2.6 4 1.3 1 1.5.8.4 2.6-.7.9-1.1.7-2 .3-.8-.6-.6-2.8-1.3-3.6-1.3-.7-.6-.7-1.6.2-.4 1.3-.1 1.6.4 2.7.4.6.4 3 1.2 3 1.2.8 1.2.6-.2 2-1 0-1.5.3-2.3-.7-1-.7-.4-3-1.7-3.1-1.2.1-1.4.1-1.3 1.7.2 1.5-.3 3.7.8 4.6 1.1.5 1.8.4 2.1 1l-1.3 1.5c-.7 0-1.5-.5-2.4-.7-1-.4-.5-1.3-1.3-1.9-1 .3-1-1-1.5.3.2 1.1-.2 2.5.9 3.2.8.6 1.5 1.8 2.4 2.3 1 1.2.5 1.4 0 3-.8 0-1.8-.5-2.6-1.1-.9-.6-.7-2.8-1.6-3.4-.7-.7-.5-1.3-1.6.2 0 1.1.1 1.2.4 2 0 1-.3 3 .7 3.7l3 1c.7 1 0 .8-.8 2.2-.6 1.4-.6 1.6-1.4 2.3-.8 1-1 1.4-.4 2.7z"/>
+      <path fill="#ff0" d="M117.2 259.5c.7-1.1 1.1-1.3 0-3.3-.7-.6-1.5-1.9-2.3-3-1-1.5-1.3-2 0-2.5.8-.3.6-3 1.5-3.7 1.3-1 .9-.2.4-1.8-1.3-1.6-1.4-.7-2.6.2-.9.7-.6 3.4-1.5 4-1.5-1-1.4-1.6-1.4-2.9.8-.6.9-3.4 1.2-4.1.6-1 1-1.9-.2-2.8-.8-1-.2-.4-1-.3-.9.7-.6 3.4-1.5 4-1.2.9-1.4.5-2.4-.7 0-1 .4-1.6 1.4-2.5 1-.8.4-3.2.8-4.2-.6-1.3-.5-2.5-1.8-2.3-1 0-1.2.3-1.8 1.4-1.3 1-.5 3.2-1.8 3.2-.9-1.6-.5-1.8.7-2.7.5-.7.2-3.6.4-4.4.2-1.2 1-.2-1-2-1.2-.2-.3 2.6-1 3.6-.3 1.1-1 1.9-2 1.5-1.4-.6-1.2-1.4-.5-2.5.5-.9.3-3.6.6-4.5 1-.9 1-1.4 0-2.9-1.2-1.3-.9-.3-2.1.6-.9.6-.6 3.4-1.5 4-.5-.4-1-1-1.1-1.7.5-.8.7-1.6 1.7-2.4.8-.9-.3-3.5-.6-4.6-.9-.2-.3 2-1.4 2.9-.6.5-1.4 1.1-2 1.1-1.2-1.2-1.3-1-.2-2.4.2-1 .7-2.5-1-2-.4 0-.6 1-1.2 1.6-.9.6-1.8 1.3-2.4 2.2-.4.6-1 1.6-1 2.2.8.4 1.5.4 2.5 1 .9-.2 1.2-1 1.5-1.2.4 1.3-.2 1.6-.5 2.6-1.1.9-3-.7-3 .8.7 0 3 1.2 3.8.8.6-.5 1.2-1.1 1.8-1 1 1.5.7 1.9-.4 2.8-1 .7-2.8-.4-3 .4.3 1.4.3 1.4 1.3 1.6 1.3.5 2.8 1.8 4 1 1.4-1 1.3-1.3 2.6.5.5 1.1.2 1.5-.5 2.2-1 .7-3-.4-3.9 0-1.2 1.1-.9.3-.4 1.9 1 .8 1.3.7 2.5.5.8-.2 3 .8 3.4 0 1-1 1-1 1.7 1-.4 1.1-.4 1.7-1.6 2.2-1 .8-3-.8-3.5.5-.4 1.3-.5 1.6 1 2 1.5.4 3.3 1.9 4.6 1 .8-1 1-1.6 1.8-1.8l.8 2c-.3.8-1 1.4-1.6 2.3-.8.9-1.5 0-2.3.7 0 1-1.3.6-.3 1.6 1.1.3 2.3 1.2 3.3.4.9-.6 2.2-1 3-1.6 1.5-.6 1.5 0 2.8 1.2a7 7 0 01-2 2.3c-1 .6-2.9-.4-3.7.3-1 .4-1.4 0-.5 1.8 1 .5 1.1.3 1.9.3 1 .4 2.7 1.6 3.8.8.6-1 1.5-2 2-2.7 1.2-.5.8.2 1.7 1.6 1 1.2 1.3 1.3 1.6 2.4.6 1.2.9 1.7 2.4 1.5z"/>
+      <path fill="#ff0" d="M95 304.7c0-5.1-.8-10.3 0-10.3 45.3 0 56.6-31 56.6-51.5 0-20.6-15.7-41.3-45.3-41.3-34 0-45.4 20.2-45.4 41.3 0 20.6 17 36 34 36 22.7 0 28.4-5.1 45.4-25.7-5.7 25.7-34 36-45.3 36A44 44 0 0149.6 243c0-25.8 17-51.6 56.7-51.6 34 0 56.7 25.8 56.7 51.6 0 36-28.4 61.8-68 61.8z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/wf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/wf.svg
new file mode 100644
index 0000000..bb726a7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/wf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-wf" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ws.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ws.svg
new file mode 100644
index 0000000..155ad7b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ws.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ws" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ce1126" d="M0 0h512v512H0z"/>
+    <path fill="#002b7f" d="M0 0h256v256H0z"/>
+    <path fill="#fff" d="M147 231.4l-19.6-13.3-18.9 13.5 6-23.5-18-14.7 23.2-1.3 7.7-22.4 8.5 22.8 22.8.5-18.2 15.5zm-3.4-156.8l-15.6-10-15.4 10 4.2-19-13.7-12.1 18.3-1.6 6.8-17.5 7.1 17.7 18 1.4-14 12.5zM74.3 131l-15.2-10.8-15.4 10.4 4.6-18.3L34 100.2l18.2-.8 6.7-18.1 6.6 17.8 18.3 1.1-14.3 12zm139-12.7l-14.7-9.5-14.3 9.7 4-17.4-13-11.2 17.3-1.4 6-16.4 6.6 16.6 16.8 1-13.2 11.6zm-41.1 41.3l-9.7-6.2-9.6 6.2 2.5-11.6-8.7-7.7 11.4-1 4.4-11 4.5 11 11.2 1-8.5 7.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/xk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/xk.svg
new file mode 100644
index 0000000..69146ca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/xk.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-xk" viewBox="0 0 512 512">
+  <path fill="#244AA5" d="M0 0h512v512H0z"/>
+  <path fill="#D0A650" d="M202.3 245.7l1.3-.7 1.6-.5s.8-.4 1.2-.4c.4 0 1.3.5 1.5.9.3.4 1.7 1 1.7 1s1 .4 1.1 0c.2-.2.6-.5 1-.5s.6-.4.6-.7c0-.3.2-.7.5-1.1.3-.4 1-.6 1-.6s1-.4 1-1 1.1-1 1.7-1c.5-.1 0-.4 1.3-.2 1.4.1 1.6-.3 1.7-.7 0-.5 0-.9.9-.8.8.1 1.3.1 1.3-.4 0-.4.8-.7-.6-1-1.4-.5-1.3-.2-1.4-.8-.1-.7 0-.6-1-.7-1 0-.4-.5-.5-1 0-.5-.3-.7-.5-1-.2-.4-.7-.4-.7-.8 0-.5 0-.8-.6-.8s-.7 0-.7-.4c0-.5.1-.9.6-.9s.8-.4.7-.9v-1.5l.6-.8 2.3-2c.2-.3.9-.6 1.2 0 .3.7.5.9.8 1.2.2.3 1 0 1.2-.2.2-.4.2-1.5.7-2.2.5-.6.8-1 .9-1.4s.3-1 .9-1 .9-.7.9-1.1.2-.9 1-1c.6 0 1-.5 1.2.1.2.7.4.7.9.9.4.2 1 .5 1.4.2.4-.3.5-.8 1-.5.5.3.9 0 1-.6l.2-1.5s.1-.4 1-.4.2-.5.6-.8c.5-.4.5-.7 1-.5.6.2 1.5-.2 1-.7-.4-.6-1.4-1.4-.9-2 .6-.6.8-1.7.3-1.8-.6-.1-1.4.1-1.5-.5-.1-.6-.3-1 .3-1.2.7 0 1.9 0 2.2-.4s1.5-.5 1.5-1.4c0-1 .3-1 .4-1.6.1-.5.1-1.6-.3-2.1a9.5 9.5 0 01-1.3-1.6 2 2 0 00-1.2-1c-.7-.2-1.3-.3-1.3-.8 0-.6.5 0 .5-1.3s-1-1.6-1-1.6l-1.3-.8s-2.4-.6-3-.6-1.4-.7-.7-1.1c.8-.5 1-1.2.7-1.8s-.5-1-1.5-1.3c-1-.3-1.3-.5-.9-1.1.5-.6.6-1 1.2-.6.5.4 1.4.6 2.2.2.7-.3 1-.6 1.4-.2.3.3.8.7 1.4.2.5-.6 1.5-.6 2-.4.5.3 1.6.2 2 0 .3-.2 1-.8 1-1.1s.5-1 1-1.2c.4-.3 1-1.1 1.5-1.1s.6-.5.6-.9.4-1 .5-1.2c0-.3 1-.7 1.6-.1.7.5 1.5.7 1.5.7h1.4c.5-.2 1.1-.4 1.8 0 .6.5 1.6.5 1.6.5l.1-1c0-.4.2-1-.1-1.2-.4-.3-.9-.6-.1-1.2.7-.5.7-.4 1.4-.4l1.8.1c.6 0 1.5.5 1.5 1s.4.9.8 1.1c.5.3 1 .5.9 1-.2.4-.2.7.3.7.6-.1.8.2.8.6s.1.7.7.9c.6.2.8.5.8 1l.1 1c.1.4.8 1.1.8 1.1s1 1.2-.3.6-1.6-.8-2-.7c-.5 0-.8.3-.8.3l-1 .2c-.6 0-1 1-.3 1.1.8.2 1 .3 1 1s-.2.4-.6.8c-.4.4-.7.2-1.3.2-.7 0-.8.5-.8 1s.2.4.5.8c.3.5.8.5 1.2.1.5-.4.9-.7 1.1.1s.7.8 1.2.8c.6 0 .8 0 1.2-.3.5-.2 1 0 1.2.7 0 .7.5.8 1 1 .4.3.7.5.8.9.1.4.4.6.8.3.5-.2 1.2-.4 1.5 0l.8 1v.8l1.8.6.2.8c0 .4.3.5.7.4h1.3s.7-.3.7-.8.3-.6.7-.6c.5 0 1.5.3 1.8-.2.3-.5 1.1-.7 1.7-.4l2.4.9s-.2 0 .3 1c.6.8 1.6.8 1.6.8l.3 1.1c.2.3 1 .5 1.5.2.4-.4 1-.8 1.6-.8.6 0 1 0 1-.3s-.6-.6-.6-1.2c0-.5.6-.5.7-1 0-.5.6 0 1 .3.3.2.8.7.8 1s.8 1.5 1.2 1.7c.5.2 1.7.3 2-.2.4-.4 1.3-.6 1.3.5-.1 1-.3 1 .3 1.4.7.4.8 1.6.2 1.9-.5.3-.7.4-.7 1s-.2 1.3.2 1.6c.5.4.8.6.8 1s.5 1.9.5 1.9.3 1.5.2 1.8-.2 1 .6.9c.8-.1 1-.1 1 .6s.3 1-.2 1.2c-.4.2-.7 1-.3 1.3.5.1.9.4 1 .7 0 .4.8 1 1.3.6.4-.3.5-.5.9-.6.4 0 .6-.3.3-.7-.4-.5-.5-.9-.1-1.2.4-.2.5-1 .5-1s.6-.8 1.2 0c.7.7.8.4 1.2.4.5 0 .7.5.7.9s1 .3 1 1l.1 2.3s0 1 .6 1.3c.5.4.4.4.1.9-.2.4-.1 1-.1 1.4s.1.5-.3.9c-.5.3-.7.7-.4 1.2.3.6.2.9 1 1.5.7.6.6.9.6 1.3s.7 1 .7 1.4c0 .5.6 1 1 1s1 .9 1 1.3l.2 1.6s-.1.2.4.2c.6 0 1 .6 1.1 0 .2-.7.8-.8 1.1-1 .4-.2 1.2-.5 1.5-.3.4.3.9.3 1.2.3h2.2s.4 0 .7.7c.3.7 1.1 1.4.7 1.8-.5.3-.5 1 0 1 .6 0 1.2 0 1.2.4 0 .5 0 .8.5.5s.8-.3 1 0c.1.4.5.4 1 .6.4.3.6.1.9-.2.3-.4 1.4-.7 1.4-.7s1.5-.3 2-.2l1.3.5s.4.9.2 1.4c-.2.5-.4.4-.2 1.2.2.8-.2.9-.5.8-.4-.1-.8-.1-.8.6s-.4.8-.4 1.4 0 .5-.3.8c-.4.2-.5.7 0 .8.6 0 .4.6.4 1v1s0 .5-.6.5c-.7 0-1.2 0-1.3.4s-.8 1-.2 1.5c.7.4.5.7.1.8-.4.2-.6 1 0 1.3.8.3.7.5.3.9-.5.3-1.4.6-1.4 1 0 .6-.2.6-.8.7s-.8.7-.1 1.6c.6.9.8.7 1.3.7.4 0 .4-.7.4-.7h2c.5 0 1.2 0 1.5-.2.4-.2 1.4-.7 1.4.1 0 .8.2.7.7 1 .4.4.5.1 1 .6.3.5.4.1.6-.5.3-.6.9-1.2 1.3-.5s.5.5 1 .5c.6 0 .8.3.8.7s.6.4 1.2.3.7.4 1 .8c.3.4.4.4.8.4.3 0 .7 0 1-.4.3-.3.6-.8 1-.2s1.1.4 1.3-.2c.2-.6 1-1.1 1.5-.4.4.6.8.6 1.3.7.4.1 1.1.1 1.4.5.3.5 1.2 1.2.5 1.7-.6.5-1.4 1.2-.8 1.3.6.2 1 .4 1.3.8.4.4 1.6.6 2.1.7.6 0 1 .2 1.7-.4.6-.5 1.3-.5 1.2.2-.1.7.3 1.5.3 1.5s.4 1 .4 1.5c0 .4 0 .5.8 1s.7.9 1.4.4c.6-.6.8-.8.8-1.2v-1.4s1-.2 1.3-.4 1.9-1 2.2-.7.9.2 1.2 0h1.5c.4 0 1 0 1.8-.6.7-.6.7-.4 1.2 0s.4 1 .2 1.3c-.3.3 0 1 .6 1 .7 0 .8.4.8.9l.2 1.3c.1.4.1.5 1.1.8 1 .2.9.8 1 1.3.2.4.2.7-.3.7-.6 0-.8.3-.8.7-.1.4-1 .6-1 .6l-.8-.2s-.6 0-.8.4c-.3.3-.9 1-.5 1.6.4.6.4 1 0 1.2-.4.3-.6 1.5-1 1.3s-.8 0-1.1.2c-.4.2-.3 1.4.4 1.8.8.5 1 1 1 1l.8 1.3-.5.7c-.2.4-.7 1.3-.2 1.5s.3 1-.2 1c-.6 0-1.2-.2-1.3.5-.1.7-.4.5-1 .4-.5 0-2-.4-2.3.3-.3.7-.4 1-1 .8-.7 0-.5 1-.3 1.5.2.4.9 1 .9 1s.5.4.5 1.3-.4.8-.7.2-1.1-.5-1.2.1c-.1.7-.2 1.7-.9 1.7-.6 0-.9.2-1.2.6-.2.3-.7.9-.7 1.2s-.1.7-.6.8c-.4 0-.5 1-.5 1s-1.1.2-1.2.6c-.1.4 0 1.1-.9 1.2-.9.1-1.4.7-1.7 1.1-.3.5-.4.8 0 1.2.4.4.6 1.8 1 2 .6.3 1 .4.8 1 0 .8-.6 1.3.1 1.3.8 0 1.2.2 1 .8-.3.6-.3.6-.9.9-.5.3-.8.3-.8 1s.2.6-.3.9c-.5.2-.5.6-.5 1 0 .6-.1.4-.7 1s-1.3.6-1.8.4c-.4-.1-.5-.1-.6-.6-.1-.6-1-.6-1.4-.5-.5.1-1.1.6-1.1.6s-.8.5-.5 1c.4.4.2 1-.4 1-.7 0-2.2.7-2.6 0-.5-.9-1.8-1.4-2-.3-.2 1 .6.9.5 2-.1 1-.3 1-.7 1.3-.3.3-.3.6-.4 1-.1.4-.2 1.4.4 1.7.7.4 1 1.3 1 1.8s0 1 .6 1c.7 0 1.2 0 1.3-.7.1-.6 1.4-.9 1.5.3s0 1.8.6 2.3c.4.5.8 1.2 1.2 1.5s1 2.4 1 2.4c-1 .2-1.2 1.4-1.8 1.6-.3.1-.6 0-1 .2-.2.2-.2.5-.5.7-.7.3-.5-.8-1.4-.4-.7.3-.8 1.2-1.8.8-.6-.2-1-2.3-1.1-2.8 0-.3-.7-1.2-.9-1.5-.6-1-1.8 0-2.2-.3-.7-.4-.4-1.2-1.3-1.2-2-.2-.6 1.1-1.4 1.4-1.5.6-1.5-1.4-2.7-.5-.4.3.7.6.4 1.2-.2.4-1.4 1.2-1.3 1.8.1.8 1 1 1.2 1.7.7 1.7-.4 3-2.2 1.6-1-.8-1.1-2.2-2.6-2.1-.4 0-.5.3-.9.4-.3 0-.6-.3-1-.2-.5.2 0 .6-.1.9l-.9.8c-.4.5-.3 1-.9 1.5-.5.3-.9.1-1.4.7-.6.6-.7 1.5-1.4 2.1-.4.3-.6-.9-1 0-.2 0-.2.1-.3.2v.6c1 2-1 2.6-1.7 4-.3.5.5 1 .2 1.4-.2.4-1.1 1.2-1.2 1.4 0 .2-.1.6-.3.8-.2.2-.7 0-.8.3 0 .3.6.6.8.8.2.2-.1.5 0 .6 1 1 .4.7.9 1.6 0 .2.4 0 .5.3.1.3-.2.3-.1.6l.8 1.1c0 .3-1.5 1-1.8 1-.9 0 .8-1.8-.7-1.8-.6 0-.6 1.4-.8 1.6h-.8c-.9 0-1.5 1.1-1.9 1.2h-1.1c-.4 0-.8.4-1.2.4-.2 0-.3-.2-.5-.3l-1.6-.5c-.3 0-.8.4-1 .2-.2-.1.3-.7-.4-1l-.6-1.4c.2-.8.5-1.7.4-2.5-.2-1-1.5-1.7-2-2.4-.2-.5-.4-2-1-2.3a5 5 0 01-1.4-1.7c0-.2.2-.5 0-.8-.2-.3-.7-.4-.8-.8-.1-.4 0-1.5-.4-1.7-.4-.3-3.3-.6-4-.7-.3 0-.6 0-.9-.3l-.4-.5-.9.1h-.7c-1 .6-1.1 1.4-2 2-.9.8-1.8.7-2.7 1.5-.6.5-1 1.7-1.5 2.2-.2.3-.6 0-.7.1l-1.6 1.5s0 .3-.2.4l-1 .2h-1c-.4.2-.4.7-2 1l-.3.2-.6.5h-.6c-.4 0-.7.3-1 .4-.9 0-2.2-.4-2.8-.1-.4.1-1.5 1.3-2 1.4h-.6c-.2 0-.5 1.4-.6 1.7l-2 1.7-.5.8c-.2.2-.5.4-.8.4-.4 0-1-.3-1.3-.4-.7 0-2.7-.2-3.3 0-.6 0-.4 1.9-2 2l-2.7.4s-.6-.4-1.2-.2c-.2 0-.8.7-.8 1v.3l.1.3c-.3.5-1.1 1-1.4 1.6l-.2.3c-.2.2-1.3.6-1.4.8-.3.6.7 1.2.6 1.5-.2.8-1.4 1.6-1.7 2.4-.1.3.4 1.3.3 1.7 0 1-.4 2.3-.4 3.3l.2 1.3.6.4c.1.2 1.4 2.6 1.4 2.9.2 1.7-2.3 1.1-.8 2.9l.6.8 2.3 1.8c0 .3-1.6.6-1.8.8-.8.8-1.4 2.1-2.1 2.9-.5.4-.9 0-1.4 1-.2.4 0 1.3-.3 1.6-.4.4-.7-.2-1 0-.2 0-.3.6-.4.7-.5.3-4.2 2.3-4.5 2.1-.2 0-.4-.7-.4-.9a2 2 0 00-.5-.8c-1-.8-2.4-1-3.3 0-.3.3-.3.7-.6 1l-1.6 1.2s-.3.4-.5.3c-.3 0-1.2-1-1.5-1.3-.4-.5-1.6-1.7-1.7-2.2 0-2-1.5-3.9-2.1-5.8h1c1-.6.7-2.4 2.5-1.7.3-.3.2-.6.7-.9.2 0 .5-.2.5-.3.7-1 1.4-4.6.8-5.6-.6-.8-1.2-.8-1.7-2.2v-1.2c0-.4-.7-2.4-.8-2.6-.1-.1-.5-.3-.5-.5 0-.1-.2-2.3-.1-2.5-.6-1.7-2.8-2.8-2.9-3l-.8-1.4c-.3-.5-.3-.8-.5-1.3 0-.2-.4-.4-.4-.7 0-.4 1.2-1.4 1.2-2.1 0-.3-.8-1-.7-1.5.2-.4 1-1.4 1-2 0-.6-1.3-2-1.5-2.7 0-.4.5-.7.4-.9l-1.7-1.8c-.1-.3.5-.6 0-1-.4-.5 0-.3-.1-.7l-.8-1.2-1.3-4.6c-.2-.3-.5-.5-.6-.8l-.4-1s-1.3-.4-1.5-.8c-.2-.3-.2-1.2-.6-1.7-.1-.3-.4-.2-.6-.4l-.2-.5c-.4-.5-1.1 0-1.6-2l-2-1.4-.2-.3c-.5-.2-1.2-.2-1.6-.6l-1.6-.1-.4-.6c-.6-.2-1.7-.1-2.2-.6-.5-.4-.6-2.2-1.3-2h-.4c-.5-.7-2.2-.8-3-1.2-.2-.1-.8 0-.8-.2l.1-1-1-1.1c-.6-.2-.3-.3-.8-.5-1.1-.1-1.2 0-2 .8l-.8.3c-.4.2-.5 1-1 .6l-.5-.4c-.3-.3-.5-.1-.6-.6-1-.5-3.6 1.2-4.2 0-.5-.3-.8 0-1.2-.3-.2-.2.5-2.4-1.4-3.2l1.4-1v-.8c0-.3.2-1 .1-1.3l-.4-.8c-.2-.3 0-.6-.2-1l-.6-.3c-.5-.4-1-.6-1.4-1.1l-.3-.4c-.3-.2-1.5-.6-1.4-1.1 0-.2.2-.2.3-.4 0-.2 0-.5.2-.7.5-.7 1.7-.4 1.5-1.7 0-.6-.5-1.1-.6-1.8l-.4-.5c-1.2-.1-1-1.3-1.4-1.6-1.3-.8-2.2-.3-.8-2 .2-.5-1.2-1.4-1.5-1.6-.5-.5-.2-1.5-.4-2-.1-.3-1-.7-1.2-1l-.4-.8v-.2c.3-.2.2-.5 0-.8 0-.2-.4-.1-.5-.2-1.2-1-2.5-1.5-4-2-.4-.2-.2-.5-.6-.7l-2.3-1c-.3 0-.4-.9-.6-1.1a3 3 0 00-.7-.8c0-.8-.5-.9-1-1.3l-.2-.5.5-1.7c.1-.3.5-.6.5-1l-.4-1.8c-.6-1.6-1.3-1.4-1-3.6.1-.5 0-.7.3-1.1l.2-.3 1-.7c.3-.4.5-1.5 1-1.8.2-.3 1.2-.8 1.3-1 .2-.2.4-.7.3-1h-1c-.1 0-.5-.4-.9-.4l-.2-.4-.2-.2-1-.3c-.5-.2-1-.2-1.5-.5-.7-.4-1.5-1.6-2.3-1.7-1-.2-1.6 0-2.5 0-.6.1-.6-.2-1-.4-.7-.2-.2.4-1.7-.1-.2-.2 0-.7.1-.9-.2 0-.5.1-.8 0-1.2-.3-.8-1.4-1-2-.2-.3-.7-.2-1-.2v-.3c.3-.3-.4-1.1-.4-1.2 0-.3 1.5-.5 1.7-.5.1-.2-.1-.4-.1-.6l.3-1.4-1-1c.1-.1.4-.3.4-.5.7-2 1.8-.4 2.8-2.2l.5-1h.2l.6.2c.1-.2.4-.3.6-.4l.4.1c1.8-.4 1.4-1 2.4-1.8.3-.2 1.1-.2 1.5-.4.4.2 1 .8 1.7 1.1.5.2 2.3.6 2.6.8.4.2.5.7.9.9 1 .5.4-.4 1.4-.2 1 .2 1.8 1 2.8 1.4h.7c.3 0 2-.4 2.1-.3l.7.3c.2 0 .4-.5.5-.5.7.1.8.4 1.7.3 0 0 .5-2.6 1-2.7.2 0 .9.6 1 .7.4 0 0-.6 0-.6 0-.2-.6-1.8-.5-2 0 0 .4.2.6 0 .6 0 1.2-.2 1.6-.6l.9-1.2c0-.2-.2-.7-.1-.8l.7-.5c.3-.3.4-.8.8-1 1.7-.2 2.2-1.5 3.7-1.7h.5l.3.5c.1.1 1 .7 1.3.7l.3-.3c.3 0 1.1-.5 1.2-.8 0 0-.2-.2 0-.4 0-.1 1-1 1.2-1h1.1l.5.5h.9c.2 0 .3-.4.5-.5l.1.1z"/>
+  <g id="h" fill="#FFF">
+    <path id="star" d="M281.4 124.5l12.9 39.7-33.8-24.5h41.7l-33.7 24.5 12.9-39.7z"/>
+    <path id="star_1_" d="M331.6 133.4l12.9 39.7-33.8-24.5h41.8L318.7 173l12.9-39.7z"/>
+    <path id="star_2_" d="M379.5 150.8l13 39.7-33.8-24.5h41.7l-33.8 24.5 13-39.7z"/>
+  </g>
+  <g id="h_1_">
+    <path id="star_3_" fill="#FFF" d="M230.4 124.5l-13 39.7 33.8-24.5h-41.7l33.8 24.5-13-39.7z"/>
+    <path id="star_4_" fill="#FFF" d="M180.2 133.4l-13 39.7 33.8-24.5h-41.7L193 173l-13-39.7z"/>
+    <g transform="scale(-1 1)">
+      <path id="star_5_" fill="#FFF" d="M-132.5 150.8l-12.9 39.7 33.8-24.5h-41.7l33.7 24.5-12.9-39.7z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ye.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ye.svg
new file mode 100644
index 0000000..d49d2c4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/ye.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ye" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v504.3H0z"/>
+    <path fill="#f10600" d="M0 0h512v167.9H0z"/>
+    <path d="M0 344.1h512V512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/yt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/yt.svg
new file mode 100644
index 0000000..7bf3837
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/yt.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-yt" viewBox="0 0 512 512">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h512v512H0z"/>
+    <path fill="#00267f" d="M0 0h170.7v512H0z"/>
+    <path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/za.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/za.svg
new file mode 100644
index 0000000..9bae96f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/za.svg
@@ -0,0 +1,17 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-za" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M70.1 0h499.6v499.6H70.1z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="translate(-71.9) scale(1.0248)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path d="M0 397.9v-296l220.4 147.9L0 397.9z"/>
+      <path fill="#00c" d="M150.4 499.7l247.4-166.5h351.6v166.5h-599z"/>
+      <path fill="red" d="M134.5 0h615v166.6H397.7S137.8-1.6 134.5 0z"/>
+      <path fill="#fc0" d="M0 62.5v39.3l220.4 148L0 397.8v39.4l277.6-187.4L0 62.5z"/>
+      <path fill="#093" d="M0 62.5V0h92.6l294 199h362.8v101.7H386.6l-294 198.9H0v-62.4l277.6-187.4L0 62.5z"/>
+      <path fill="#fff" d="M92.6 0h57.8l247.4 166.6h351.6V199H386.6L92.6 0zm0 499.7h57.8l247.4-166.5h351.6v-32.4H386.6l-294 198.8z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zh.svg
new file mode 100644
index 0000000..7873c1b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zh.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cn" viewBox="0 0 512 512">
+  <defs>
+    <path id="a" fill="#ffde00" d="M1-.3L-.7.8 0-1 .6.8-1-.3z"/>
+  </defs>
+  <path fill="#de2910" d="M0 0h512v512H0z"/>
+  <use width="30" height="20" transform="matrix(76.8 0 0 76.8 128 128)" xlink:href="#a"/>
+  <use width="30" height="20" transform="rotate(-121 142.6 -47) scale(25.5827)" xlink:href="#a"/>
+  <use width="30" height="20" transform="rotate(-98.1 198 -82) scale(25.6)" xlink:href="#a"/>
+  <use width="30" height="20" transform="rotate(-74 272.4 -114) scale(25.6137)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(16 -19.968 19.968 16 256 230.4)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zm.svg
new file mode 100644
index 0000000..105f107
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zm.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-zm" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill-opacity=".7" d="M248 0h496v496H248z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-256) scale(1.0321)">
+    <path fill="#198a00" d="M0 0h744v496H0z"/>
+    <path fill="#ef7d00" d="M656.8 178.2H744V496h-87.3z"/>
+    <path d="M569.6 178h87.2v318h-87.2z"/>
+    <path fill="#de2010" d="M480.5 178.3h89V496h-89z"/>
+    <g fill="#ef7d00" stroke="#000">
+      <path stroke-linejoin="round" stroke-width=".9" d="M685.6 63.5s32.9-14 36-16.9c1.5 1.7-13.1 19.4-41.5 26 25.8-6.2 47.8-25.3 52.2-24.7 1.3.3 1 18.7-58 34.6 40.8-10.7 64.6-30.4 64.3-28.2.3.4-4 15.5-39.8 27.2 10-2.3 37-18.8 36.7-15.6.9 1.3-26.2 36-75.1 24.7 39 10.2 64.4-14.3 68-13.9.8.2-7.2 21.4-56.4 22.7 23.6-2.4 16.8-.1 16.8-.1s-14 10.9-30.7 3.5c13.2 3.6 14.6 3.7 14.9 4.9-.9 1.4-11.7 3.6-22.2-2 8.4 3.4 16 4 16.1 5.3a11 11 0 01-10.3 1.3c-4.7-2.1-48.8-29.2-48.8-29.2l75-20.6 2.8 1zm-88.2 73.3a6 6 0 00-6.7 5.8s-.6.5-.2 3.3a16.2 16.2 0 011.6-2.5c.7 0 3.8 1 8.5-2.7-4.3 4.5-1.7 6.2-1.7 6.2s-1 3.6 2.3 4.3c-1-1.5-.4-2.7-.4-2.7s4.6-.5 4.3-6.2c.2 5.1 3 6.4 3 6.4s0 2.8 3 3c-1.6-1.4-1.3-3.6-1.3-3.6s4-2.9.6-7.7c2-1.1 3.7-4.3 3.7-4.3s-2.8-1.2-4-2.2c-.6-1.2 0-8.2 0-8.2l-1.7-9-4.7 14c.2-2 .3 6-6.3 6z"/>
+      <path stroke-linejoin="round" stroke-width=".9" d="M630 116.5c.1.2 5 5.5 9.6 5.2 1.7-1.4-3.7-4.6-3.7-5.3 2 1.7 9.9 8.5 15 6 2-2.8-3.7-2.4-9.9-10.2 4.3 2.9 15.2 9.3 20.3 6.8 2.1-2.3-11.3-9.6-15.8-15.2l-11.6-6-15.8 13 11.9 5.7z"/>
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M612.2 72.5s5.4-3.2 26.8-1.6c2.3.3 14.6-4.2 18.5-5.5 6.2-1.1 26-5.5 31.4-9.5 3.8-.5-1 7-5.8 8.7-5 2.3-23.4 8.7-30 7.8 7.9.1 3.5 6.5-9.5 3.4 6.2 3.5 4 4.1 4 4.1s-11 .6-14-1.9c7.4 2.8 4.4 3.8 4.4 3.8s-7.6.7-11-.9c5.3 1.6 2.6 2.6 2.6 2.6s-4.4.7-8-.6c-3.6-1.3-9.1-10.4-9.4-10.4z"/>
+      <path stroke-linejoin="round" stroke-width=".9" d="M620.8 119.5l.8 14.2-.8 1.1c-.4.5-10-1.5-8.7 6 0 3 0 3.7 2 5.4-.5-2-.3-3.4-.3-3.4s2.7 1.7 5.4-2.8c-1.8 4.4-.5 6-.1 6 .4.9-.7 4.5 2.9 4.4-1.4-1.3-.7-3.3-.7-3.3s3.8-.6 2.4-7.5c1.4-1.4 2 0 2 0s.4 4 3.7 3.2c1.5.9-.2 3.1-.2 3.1s2.4 0 3.1-2c.8-2 1.6-5.7-2.4-7.2-.5-1.5 1.6-1.6 1.6-1.6s2.5.8 3.3 2.1c.7 1.3.4-3.3-2.7-3.8-3.9-.1-4.1-1-4.1-1.1l-1-13.2-6.2.4z"/>
+      <path stroke-linecap="round" stroke-linejoin="round" d="M634.3 131.6c0-.7-6.6-9.6-5-10.8 1.7.4 4.5 4.5 6.7 3.1-.6-1.6-2.6-.7-5-4.7-2.2-4.6-2.5-11.5-10.5-19 5.2 8 16.9 12.6 17.4 10.2s-10.3-11-9.8-13.2c2.1 4.4 13 14 21 13.3.5-1.9-6.6-5.7-8.4-9.2-5-3.4-18.7-15.2-19-17.9a32 32 0 00-9.5-10.3c-.6-.6-.7-1.3-.8-1.7-3.1-7.2 1-9.6 3.4-10 2-.1 2.5.1 4-.5l-5.1-2c2.2 1.6 7.8.2 6.5 4.8 2.5-.9 7.7-7-5.9-8.5-4.4-5-22.5-8-27 14.1.3.3.5.6 1.7 1.5-5.8-2.8-21.2-5-26.8-5.8-15-4.4-30.6-14.8-32.1-13.6-2 1 9 11.3 8.5 11.5-9.7-5.6-18.4-9.6-26.6-13.2-5.8-2.2-11.5-7.2-12.2-6.2-2 4.4 9.3 15.4 11.4 16.7 2 1.2 18.7 9 18.4 9-25-11.3-29.2-13.4-30.4-14.7-2.2-.5-7.6-7.7-9-7.3-.9.8.7 12.3 12.7 17.4 2 1.4 25.5 10 25.3 10.6l-28.1-11.6c-5.2-2-11.6-9.2-12.8-8.4-1.1.8 3 8.5 8.2 11 2.8 1.2 13.3 6.4 22.9 9.7.6.3-17.1-6.7-25.7-10.3-3.8-2-5.7-4.8-6.2-4.2-1 .6 1.4 12 28.8 18.5.7.3 9.6-2.1 9.2-1.8a111.8 111.8 0 01-15.4 2.7c-.3.8 1.7 4.9 15.9 4 1.8 0 11.6-3.5 10.8-2.8-.4.4-13.4 4.6-14.4 4.7-.8 0-5.4.6-5.5 1-.2.7 3.3 3.6 11 4 6.7.4 19.4-4 19.2-3.7-.3.3-12.3 4.4-12.7 4.6-.4.3-4.8.5-5 .9-.3.8 6.4 7.1 26.3.4-2 2.7-11.6 4.5-11.6 5 0 .4 2.1 2.5 5.5 3.2 1.7.4 4 .3 6 0a25 25 0 0013-7c.5 1.5-12.7 8.3-12.1 8.9 2.9 2.7 12.4-.4 13-.7A148 148 0 00587 91.7c.3 1.5-23 14.2-22.7 14.7 1.5 2.3 9.5-.2 9.8-.4l10.4-5.6c.3-.2-11.4 6.9-10.4 8-.5 4.5 18.3-3.2 19.8-4.2.7-.5-9 4.3-9 6.6 3 5.3 13.2 3.6 14.7 2.4.8-.5-1 4-.4 3.6a17 17 0 003-4.2c-.2 1.5-1.4 3.8-2 6.5-.6 2.7-.8 5.8-1.7 9-.2 1.4 6.2-2.8 5.3-12.8.5 5.2-2 15-1.4 15.4 1.4 1 5-4.8 5.5-8.8 1 2 3.4 6.2 5.4 7.2-.2-3 0-3-.9-5.9.5-4 .6-9.4.7-15.6 5.5 10.4 7.6 14.8 6.1 22.8 1.6.7 4.2-5.6 4-8.8 2 9 11 10.3 11.2 10z"/>
+      <path stroke-linecap="round" stroke-linejoin="round" d="M543.9 65.6s-3.7 2.8-8.3 2.6c1.1 4.6 10.7 1.1 10.7 1.1s-4.6 5.1-8 6c2 1.5 10.3 1 11.7.2 1.4-.9 3.9-4 3.9-4s-8.5 9.8-9.8 9.7c-.1 1.1 9 .7 10.9-1 1.9-1.7 6.6-4.3 6.6-4.3s-12.5 8.7-13 8.7c4.6 1.3 14-1.4 20-5.1-8.9 5.9-9.7 7-14.2 9 4 .8 6 3.5 19.7-2.4 7.8-3.7 12.2-10.4 12.2-10.4a79.2 79.2 0 01-21 17.4c-.4 1 9.1 5 21.3-7.6"/>
+      <path stroke-linecap="round" d="M609.9 93s.8 3.9 4 6.8c3.3 3 3.6 5.9 3.6 5.9m-9.3-37.8s1.2 3.5 4.5 5.7a38 38 0 019 10.4 114 114 0 012.3 13.4m-36.7-24.2c.2 1.4-4.8 8 2.1 15.8-6.3 7.7-6.3 8.7-6.3 8.7s3.5 2 9.9-3.5c10.4 12.8 7 18.7 7 18.7"/>
+      <path stroke-linecap="round" stroke-linejoin="round" d="M599 103.9s-.9-1.4.8-6.5c1.6 1.8 3.3 2.2 4 3s8.7 1.9 9.2 7.1"/>
+      <path d="M608.3 55.7c0-.4-1.6-3.8-7.5.4 3.2.2 6.3 2 7.5-.4z"/>
+      <path stroke-linejoin="round" d="M664.7 71.2c.3.2 17.7 4 23.5 2-7.4 9.9-22.2 3.2-22.2 3.2 7.3 2.2 7.6 2 9.9 4 .7 2-13.3 1.1-18-1.5 13 4 13.2 3.8 13.6 5.3.6 2.2-21-.5-23-3.4 5.8 4.5 9 5.3 12.2 7.4-4 1.7-11.2 3.4-24.5-6 17.5 16 33.3 15 35.8 17.8-6.1 9-29.7-5.3-40.6-12.6-10.8-7.2 23.8 17.5 27 17.1-1.6 2.5-13 .3-13.8-.9"/>
+      <path stroke-linecap="round" d="M669.2 87.9c-2 .3-8 .3-9 .1"/>
+      <path stroke-linecap="round" stroke-linejoin="round" d="M538.8 63s13.2 7 18.8 6.5c-1.5 1.4-3.7 2-3.7 2 1.4.5 5.2 2.6 11 1.2-1.3 1.4-3.1 3-3.1 3s5 1.9 10.6-1a43.6 43.6 0 00-2.7 3.6l4 .3"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zw.svg
new file mode 100644
index 0000000..ca5b7a2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/1x1/zw.svg
@@ -0,0 +1,21 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-zw" viewBox="0 0 512 512">
+  <defs>
+    <clipPath id="a">
+      <path fill="#00f" fill-rule="evenodd" d="M1.3-.1h421.4v420.2H1.3z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#a)" transform="matrix(1.2149 0 0 1.2184 -1.5 .1)">
+    <path fill="#006400" d="M0 0h840v420H0z"/>
+    <path fill="#ffd200" d="M0 60h840v300H0z"/>
+    <path fill="#d40000" d="M0 120h840v180H0z"/>
+    <path d="M0 180h840v60H0z"/>
+    <path stroke="#000" stroke-width="20" d="M0 0v420l280-210z"/>
+    <path fill="#fff" d="M0 0v420l280-210z"/>
+    <path fill="#d40000" d="M106.5 104.4L162 275.1 16.8 169.6h179.5L51 275.1z"/>
+    <path fill="#fc0" d="M82.8 253.7l9.8-1.8 18.1-.7 6.7.6 15 2.5 1.1-1.5V242l1.8-9.3 3-9.4 3.3-7.5 4.2-7.8 6.8 1.7h1.8l.2-1.3-14.4-12.3-15-11.5-21.7-16.2-2-.5-2.3-17-1.7-5.1-2.3-2-4.3-1.4-4.8.2-2.2 1.2-4.6 1-2.4.4-1.6 1.9-.2 2.4 6.7.2 1.7.7-.2.7-3.8.5-1.8.6 2.1 1.6 2.2.8 2.8 1 .6 2 .2 25.8-1.5 4-.5 7.5 2.2 9-5.6 6.4L77 216l-.6 3.5-1.7 3.5-.2 2.2 1.1 2.4 4.3 14.2 2.2 11.7z"/>
+    <path d="M88 142c-1.8 0-2.6.2-4.3 1.1a10.8 10.8 0 01-4.6 1.4c-2.5 0-4.5 1.8-4.5 4.1v1.5l3.6-.1c10.6.3 1 1.3.2 1.4-2.6.5.6 2.6 3.7 3.7 3.3 1 3.1.4 3.1 15 0 11.9 0 13.6-1 16.3-1.3 4-1.3 10 0 14 .6 1.6 1 3 1 3.3 0 .2-1.6 2.1-3.5 4.3-3.5 4-5.6 8.1-5.6 11a6 6 0 01-1 2.6c-1.3 1.7-1.3 4.6-.1 5.7 1.3 1.2 6.6 21.8 6.7 25.7 0 1.4.2 1.4 8.3-.2 6.6-1.3 22.1-1.6 30-.6 3.6.5 7.8 1.3 9.3 1.6 4.8 1.3 4.6 1.5 4.6-4.3a74 74 0 015.1-26.7 94.7 94.7 0 016.9-14s1.8.2 4 .8c4.1 1 5.3.9 5.3-1 0-1-4.3-4.6-25.4-21a432.2 432.2 0 00-26.3-19.9c-.6 0-1.2-.3-1.3-.7l-1.5-9.5c-.7-4.9-1.7-9.7-2.1-10.7-1.4-3-4.1-4.5-8.6-4.8a31.2 31.2 0 00-2 0zm.1 1h2c6.6.4 7.8 2.2 9.6 14a173 173 0 011.2 9.4c0 .8-.9 1.8-3.2 3.3a46.8 46.8 0 00-10 9.5l-1.3 1.8-.3-4.2V165c.3-8.7 0-9.5-2.8-10.5-2.3-.8-5.3-1.6-4.5-2.1 1-.6 2-.2 4.4-.9 1-.2.9-.1.7-.9-.2-1.3-1.6-2-5.3-1.8-3 .2-3.3.1-3.1-.7.4-1.6 2-2.6 4.5-2.9a13.4 13.4 0 004.4-1.3 7 7 0 013.7-1zm14.9 25.8h.4c1.7.3 50.8 38.7 50.8 39.8 0 .4-.4.7-1 .7-.4 0-12.9-3.5-27.7-7.8-23.6-7-27-8-28-9.3a5.1 5.1 0 01-.1-6.2 5 5 0 001-2c0-1.2-2.5 1.8-3 3.5-.5 2 .5 5.4 2 6.5.6.5 5.1 2 10 3.5 8.4 2.4 9 2.7 9.4 4.1 1 3.3-2.5 7.2-7.5 8.3a14.6 14.6 0 00-5.2 2.4 68.2 68.2 0 01-17.2 10.4c-.4.3-.9 1.9-1.2 3.4-.6 3.3-.8 3.8-1.8 3.8-.5 0-.6-.3-.2-1.4.7-2 .6-4.4-.1-4.4-.5 0-.7.7-.7 1.8 0 1-.3 2.2-.7 2.5-.5.6-.6.2-.4-2.3.2-1.7.1-3-.1-3-.5 0-1.4 2.5-1.7 4.7-.2 1.3-.2 1.3-.6-.3-.3-1.2-.2-2 .7-3.5a9 9 0 001-3.5c0-1.3 1-2.6 5.7-7.3 3-3.1 6.7-7 8-8.7 2.3-2.8 2.4-3 2.3-5.9 0-1.6-.2-3.1-.4-3.3-.6-.6-1.4 2.6-1 4.3.2 1.6 0 2.1-3.3 6a113.2 113.2 0 01-7.5 7.8c-3.9 3.6-5.3 5.6-5.3 7.4 0 .6-.4 2-1 3.3s-.8 2.6-.6 2.9c.2.3 0 .3-.3 0-.5-.5-.5-1.3-.1-3a7 7 0 00.2-2.6c-.5-1-1.2.2-1.5 2.7-.2 1.4-.5 2.5-.8 2.3-.7-.4-.5-3 .4-4.4.5-.7 1-2.3 1.3-3.6.7-3.7 2.3-6.7 5.8-10.7a57.5 57.5 0 003.2-3.8l-1-3.3a25 25 0 01-.2-13.7c1.3-3.8 3.9-7.6 8-11.7 4-3.9 7.9-6.3 10-6.4zm15 32.2a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.5.3a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.6.5a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.4.5a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm-6.3.6a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.4.4a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm5.2.2a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm-2.7 0a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm5 .6c.1 0 3.7.8 8 2l7.9 2.3-1.5 2.7a96.2 96.2 0 00-2.4 4.4c-1 2-1.2 2-6 .9-5.2-1.2-13.4-2.3-21.8-3l-8-.7 3-1.1a50.4 50.4 0 005.3-2.4c2-1.1 2.8-1.3 5.9-1 4.5.3 7.5-.6 8.7-2.4l1-1.7zm-8.8.6a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm5.6 0a.9.6 0 011 .6.9.6 0 01-1.6 0 .9.6 0 01.7-.6zm-8 0a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.5zm5.3.2a.9.6 0 011 .5.9.6 0 01-1.7 0 .9.6 0 01.7-.5zm-6.6 1.1a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.5 0a.9.6 0 011 .7.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.6.2a.9.6 0 011 .5.9.6 0 01-1.7 0 .9.6 0 01.7-.5zm2.8 0a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm-20.3 8.1a191.2 191.2 0 0135.1 4.2c.1.1-.6 2.5-1.7 5.4l-2 6c-.1.5-.8.5-2.5.3-8.3-1.3-32.3-1.2-41.5.2-5.3.8-6 .7-5.6-.4l1-3.5.6-2.7L93 221a63.4 63.4 0 0010.2-6.5h.9zm-27 14.2c.3 0 .9.3 1.6.8 1 .6 2.2 1.1 2.7 1.1 2.6 0 4 3.7 6.2 16l.8 4.4c.2 1 0 1.2-2.3 1.7-2.8.6-3.5.7-3.5.3 0-1-2.8-13.7-4-18.2a96.9 96.9 0 01-1.6-6 .1.1 0 01.1 0zm28.6 2h2.9l-1 1c-1.7 2-2.5 2.1-3.7.8a5 5 0 01-1-1.5c0-.2 1.3-.4 2.8-.4zm6.1 0h5.4l-1.2 1.2c-1.4 1.6-1.5 1.6-3 0l-1.2-1.3zm8.2 0h1.3c.7 0 2 0 2.8.2l1.5.3-1.4 1.3c-.8.7-1.5 1.3-1.6 1.2l-1.4-1.6-1.2-1.5zm8.5.3l1.2.3c.7.2 2.2.3 3.3.4h2l-1.5 1.3a8.9 8.9 0 01-1.8 1.3c-.1 0-1-.8-1.7-1.7l-1.5-1.6zm-30.2.1h.2c.1.2-.3 1-1 1.7l-1 1.4-1.5-1.2-1.5-1.3 2.4-.3 2.4-.3zm2.3.2l1.6 1.4 1.6 1.5-3 .2-3 .1 1.4-1.5 1.4-1.7zm18 0c.3 0 .5.1.8.3a6.6 6.6 0 011.3 1.7c.4.8.3 1-1 1l-2.5-.5-1.2-.3 1.3-1.3c.6-.6 1-1 1.4-1zm-8.3 0c.5 0 1 .3 1.6 1.3.7 1.1.7 1.1-2 1.1h-2.7l1.4-1.3c.7-.7 1.3-1 1.7-1zm17 .2l1.2 1.2c1.4 1.3 1.6 2.1.6 2l-2.8-.3-2.2-.2 1.6-1.3 1.6-1.4zm-35.2.7c.2 0 1 .5 1.6 1.2l1.2 1.3-2.5.4-3.5.5c-.7.2-.5-.3 1-1.6 1-1 2-1.8 2.2-1.8zm-3.7 0h.4c.8.2.8.4-.6 1.8l-1.5 1.5-.5-1.3c-.4-1-.3-1.3.6-1.7a4.8 4.8 0 011.6-.3zm46 1.8c.2 0 .2.2 0 .6-.2.8-1.1 1-1.1.2 0-.2.3-.5.7-.7h.3zm-21.4 1.6c7.7 0 15.5.2 17.4.4 3.1.4 3.4.5 3.4 1.7 0 1.4-.4 1.5-4.6.8-1.2-.3-6.3-.7-11.2-1.1a149.6 149.6 0 00-28.5 1c-1.9.2-2.4 0-2.4-.6 0-1.3 10.2-2.2 25.9-2.2zm-10.3 2.9h5.4l-1.2 1.3c-1.5 1.6-1.6 1.6-3 0l-1.2-1.3zm7 0l1.4 1.4 1.4 1.6-2.9.1h-2.9l1.5-1.6 1.4-1.5zm2.1 0h5.4l-1.2 1.3c-1.4 1.6-1.5 1.6-3 0l-1.2-1.3zm-12.8 0c.2 0 0 .5-.7 1.5-.7.9-1.4 1.6-1.5 1.6-.2 0-.9-.6-1.5-1.3l-1.2-1.3H96a9 9 0 002.7-.4 1 1 0 01.4 0zm2 .5l1.3 1.2 1.5 1.3-2.6.2-2.9.2 1.4-1.5 1.3-1.4zm17.4 0l1.4 1.6c1.6 1.7 1.5 1.8-2.1 1.1l-1.7-.3 1.2-1.2 1.2-1.2zm2 0h2.4c2.6 0 2.9.4 1.4 1.8-1.2 1-1.2 1-2.6-.5l-1.2-1.3zm-30.6.5c1.2 0 1.1.1-.4 1.6-1.1 1.1-1.2 1.1-1.6.3-.3-1 .6-1.8 2-1.9zm38.8.2c.4 0 1.2 0 2 .2l2.3.4-1.3 1.2-1.2 1.2-1.1-1.4-1-1.6h.3zm-36 .5c.3 0 .6.2 1.1.7 1 1 1 1 .2 1.4a8 8 0 01-2.4.4H90l1.3-1.4c.7-.7 1-1 1.3-1.1zm34.1.3c.4 0 .7.2 1.2 1l.9 1.2h-2.1c-1.4 0-2-.2-2-.6.2-.4.7-1 1.3-1.3l.7-.3zm6.4 1.3c.2 0 .2.2.2.5 0 1-.9 1.7-1.3 1-.1-.3.1-.8.5-1.1l.6-.4zm-25.9 1.2c8.7 0 18.3.6 24 1.6l1.6.3v4.4c0 3.3-.2 4.4-.7 4.4l-5-1a126 126 0 00-35-1l-2.3.3-.6-3.7a21 21 0 01-.4-3.8s2.3-.5 5-.8c3.3-.5 8.2-.7 13.4-.7z"/>
+    <path id="b" d="M124.8 217.8c-3 0-5.1 2.1-5.1 5.2 0 4.8 5.4 7.2 8.6 3.8s1-9-3.5-9zm0 1.2a4 4 0 014 4c0 3-3.3 5-6 3.7-2.7-1.5-2.5-6.1.4-7.3a4.3 4.3 0 011.5-.4z"/>
+    <use width="100%" height="100%" x="-20.1" y="-.6" xlink:href="#b"/>
+    <path d="M88 145.3a1.7 1.8 0 00-1.6 1.7 1.7 1.8 0 103.5 0 1.7 1.8 0 00-1.9-1.7zm.1.6a1.2 1.1 0 011.2 1.1 1.2 1.1 0 11-2.4 0 1.2 1.1 0 011.2-1.1z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ad.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ad.svg
new file mode 100644
index 0000000..7320bf2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ad.svg
@@ -0,0 +1,150 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ad" viewBox="0 0 640 480">
+  <path fill="#d0103a" d="M0 0h640v480H0z"/>
+  <path fill="#fedf00" d="M0 0h435.2v480H0z"/>
+  <path fill="#0018a8" d="M0 0h204.8v480H0z"/>
+  <path fill="#c7b37f" d="M300.4 136.6c7.7 0 10.9 6.6 18.6 6.6 4.7 0 7.5-1.5 11.7-3.9 2.9-1.6 4.7-2.5 8-2.5 3.4 0 5.5 1 7.3 4 1 1.6 1.8 4.9 1.3 6.7a40 40 0 01-2.7 8.3c-.7 1.6-1.3 2.5-1.3 4.2 0 4.1 5.6 5.5 9.4 5.6.8 0 7.7 0 12-4.2-2.3-.1-4.9-2-4.9-4.3 0-2.6 1.8-4.3 4.3-5.1.5-.1 1.3.3 1.7 0 .7-.3.4-1 1-1.4 1.2-1 2-1.6 3.6-1.6 1 0 1.6.1 2.5.7.4.4.6.8 1 .8 1.2 0 1.8-.8 3-.8a5 5 0 012.3.6c.6.3.6 1.5 1.4 1.5.4 0 2.4-.9 3.5-.9 2.2 0 3.4.8 4.8 2.5.4.5.6 1.4 1 1.4a6.2 6.2 0 014.8 3c.3.4.7 1.4 1.1 1.5.6.3 1 .2 1.7.7a6 6 0 012.8 4.8c0 .7-.3 1.6-.5 2.2-1.8 6.5-6.3 8.6-10.8 14.3-2 2.4-3.5 4.3-3.5 7.4 0 .7 1 2.1 1.3 2.7-.2-1.4.5-3.2 2-3.3a4 4 0 014 3.6 4.5 4.5 0 01-.3 1.8 9.6 9.6 0 014-1.4h1.9c3.3 0 7 1.9 9.3 3.8a21 21 0 017.3 16.8c-.8 5.2-.3 14.8-13.8 18.6 2.5 1 4.2 3 4.2 5.2a4.5 4.5 0 01-4.4 4.7 4.4 4.4 0 01-3.5-1.4c-2.8 2.8-3.3 5.7-3.3 9.7 0 2.4.4 3.8 1.4 6 1 2.2 1.8 3.5 3.7 5.1 1-1.5 2.1-2.6 4-2.6 1.7 0 3.2.6 3.9 2.2.2.5 0 .9.3 1.4.3.6.8.7 1.1 1.3.5 1 0 1.8.5 2.7.3.7.9.8 1.2 1.4.4 1 .5 1.6.5 2.7 0 3-2.7 5.2-5.7 5.2-1 0-1.4-.4-2.3-.3 1.7 1.7 3 2.5 4.3 4.5a17.7 17.7 0 013 10.3 22 22 0 01-2.8 11.2 20 20 0 01-7 8.5 35 35 0 01-16 6.4 74.4 74.4 0 01-11 1.4l-14.1.8c-7.2.4-12.2 1.5-17.3 6.6 2.4 1.7 4 3.5 4 6.4 0 3-1.8 5.3-4.7 6.2-.7.2-1.2 0-1.9.4s-.7 1.3-1.4 1.7a6.2 6.2 0 01-3.8 1 8 8 0 01-6.4-2.5c-2.2 1.8-3 3.4-5.5 4.9-.8.4-1.2 1-2.1 1-1.5 0-2.2-1-3.4-1.8a23 23 0 01-4.4-4c-2.3 1.3-3.6 2.4-6.3 2.4a7 7 0 01-4-1c-.6-.5-.8-1.2-1.5-1.6-.7-.5-1.3-.3-2.1-.7-3-1.3-5-3.5-5-6.8 0-2.9 1.8-4.7 4.4-6-5-5-10-5.8-17-6.2l-14-.8c-4.4-.3-6.8-.7-11-1.4-3.3-.5-5.2-.7-8.2-2.1-10.2-4.8-16.8-11.3-18-22.5-.2-1-.2-1.5-.2-2.5 0-5.8 2.3-9.4 6.4-13.5-1-.3-1.7 0-2.8-.3-2.5-1-4.4-2.7-4.4-5.5 0-1 0-1.7.5-2.6.4-.6 1-.7 1.2-1.4.2-1 0-1.6.4-2.5.3-.5.8-.6 1-1.2 1-1.9 2-3.4 4.1-3.4 1.8 0 3 1 3.8 2.5 1.8-.8 2.2-2.1 3.2-3.7a15.5 15.5 0 001.4-13.3c-.4-1.5-.6-2.5-1.8-3.7-1 1-2 1.4-3.4 1.4-2.9 0-5-2.5-5-5.3a4.8 4.8 0 013-4.6c-1.6-1.4-3-1.5-4.7-2.6-2.6-1.6-3.5-3.4-5.2-6-1.2-1.6-1.5-2.8-2-4.7a19 19 0 01-1-7.8c.6-5 1.5-8 4.6-11.9 1.8-2.3 3-3.7 5.8-4.9 2.3-1 3.7-1.7 6.2-1.7l2 .1a6.9 6.9 0 012.8.8c.4.2 1.1.9 1.1.4s-.3-.8-.3-1.3c0-2 1.5-4 3.6-4 1.5 0 2.1 1.4 2.9 2.7.4-.8.7-1.4.7-2.3 0-3.4-1.9-5.2-4-7.9-4.7-5.8-10.5-8.5-10.5-16 0-2.2 1-3.7 3-4.9.5-.3 1.3 0 1.8-.3s.4-1 .7-1.4c.5-.7 1-1 1.6-1.6 1-1 2-.6 3.1-1.5.6-.4.8-1 1.2-1.4 1.3-1.6 2.5-2.4 4.6-2.4 1 0 1.6 0 2.5.4l1 .5c.3-.2.8-.8 1.5-1.1a4 4 0 012.2-.6c1.1 0 1.8.6 3 .6.3 0 .4-.4.8-.6 1-.7 1.5-1 2.7-1 1.2 0 1.8.3 2.8 1 1 .5 1 1.3 2 1.8.5.3 1 .2 1.5.4 2.6.9 4.5 2.6 4.5 5.3 0 1.5-.3 2.5-1.4 3.5-.9.7-1.7.6-2.8 1a16 16 0 0011.3 3.5c4.2 0 9.3-1.7 9.3-5.9 0-2-1-3-1.8-4.8a18.8 18.8 0 01-2.1-8.5c0-2.8.3-4.5 1.9-6.7 1.6-2.3 3.6-2.9 6.5-2.9z"/>
+  <g fill="none" stroke="#703d29">
+    <path stroke-linejoin="round" stroke-width=".7" d="M272.4 159a3.6 3.6 0 002.4 2.4c.8.3 2.7.2 3.8-1.4 1-1.2 1-2.8.6-4a4.7 4.7 0 00-1.7-2.2l-5.1 5.2z"/>
+    <path stroke-linecap="round" stroke-width=".7" d="M401 236.1c-1.2-2.9-4.3-1.6-4.4 0-.5 3.7 2.7 4.8 5 4.2a4 4 0 002.5-2c.6-1 .8-2.4.4-3.7a4.9 4.9 0 00-.8-1.6 5 5 0 00-1.3-1.2c-.9-.6-1.9-.6-3.4-.6-5.5 0-10.4 6.5-12 13.4-.6 2.2-1.3 7.3-.3 12a22.4 22.4 0 005.9 11.3 25.7 25.7 0 009.9 5.8 7.9 7.9 0 004 .1c3.2-.7 4.7-3.8 3-7-1.3-2.5-5.3-4-7.2-.6-.1.3-.4.9-.4 1.5 0 .9.4 2 1 2.4 1.5.9 3.8.6 3.7-2"/>
+    <path stroke-width=".8" d="M383.8 274a11.3 11.3 0 016.6-3.7c3-.4 5.6.5 8.2 2a18.5 18.5 0 0110.8 17c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14-7.1 3-18 3.6-25.7 4-10.4.3-20 .7-25.5 7.6"/>
+    <g stroke-width=".7">
+      <path d="M386.4 285.7c-.3-1 0-2.1.8-3.3 1.2-1.6 3.7-2.1 6-1a7.4 7.4 0 012.5 2.2l1.1 1.6c.7 1.1 1 2 1 2.5 2.5 7-1.4 14.5-6.5 17.6-4 2.4-8.7 3.4-14.4 4-2.5.4-4 .3-6.5.5h-9.6a70.1 70.1 0 00-7.2 0c-2.9.3-5 .4-7.6.8-1.6.2-3.4.5-5.4 1-.6 0-1.2.2-1.8.4l-1.2.3c-3.6 1.1-7 2.4-9.8 4.2-.8.5-1.8 1-2.5 1.7l-1.3 1.2c-2 2-3.9 4-4.4 6.7v1.6c0 1.8 1.4 4.3 5.4 5m5.5-170c.8 1.4 1.3 2.3.8 3.9-.6 1.7-1.8 2.8-3.6 2.8-4 0-6.3-4.8-4.5-7.8 3.2-5.3 9.3-2.3 15 .3-.3-1.3-.8-1.8-.7-3.5.1-4.2 3.2-6 4.5-10 .7-2.3 1-4.3-.7-6-1.5-1.3-3.2-1.3-5.1-.6-3.8 1.5-8.5 5.9-16.6 6-8.2-.1-12.8-4.5-16.7-6-2-.7-3.6-.7-5.1.7-1.7 1.6-1.4 3.6-.7 6 1.3 3.8 4.4 5.7 4.5 10 0 1.6-.4 2-.7 3.4 5.7-2.6 12-5.9 15-.3 1.7 3.2-.5 7.7-4.5 7.7-1.8 0-3-1-3.6-2.7-.4-1.5 0-2.8.8-4"/>
+      <path stroke-linecap="round" d="M314.6 159.9a5.3 5.3 0 012.4 5c-.2 2.5-.8 3.1-2.8 4.5m2.4-3.8c-.1 1.5-.7 2.5-2.3 3.1"/>
+    </g>
+    <path fill="#c7b37f" stroke="none" d="M276.7 153.3l.7.5.8.8.5 1 .2.8v1.9l-.2.8-.5.6-.6.6-.9.5-1 .2-1 .2-1-.5-.9-.6-.5-.8-.4-1v-.4l4.8-4.6z"/>
+    <path stroke-linecap="round" stroke-width=".7" d="M275.2 157.2c-.3-1.7-2.2-2-3-1-1.1 1.5-.3 4 2 4.7a4 4 0 003.9-1.4c1-1.3.9-2.8.5-4a4.5 4.5 0 00-1.7-2.2c-2.7-2-7.1-1.6-8.6 2-1.8 4.4 2.2 7.8 6 10.3 4.6 3.2 10 3.8 14 3.8 9.2-.1 16.2-4.5 20.7-7 1-.6 2.1-.5 2.7.2a2 2 0 01-.3 2.7"/>
+    <path stroke-width=".7" d="M248 281.2l-2 .7-2 1.6-1 1.3-1.1 2-.5 1.5-.4 1.8-.2 1.4m19-10.1l-.1 1.8-.3 1.2-1 2.2-1.3 1.8-1.5 1.2-1.1.5-1.6.4"/>
+    <path stroke-width=".8" d="M319.7 329.1c-.3 1.7-1.9 3.6-5.3 4.2l-.6.2"/>
+    <path stroke-width=".9" d="M404.2 276.2a18.3 18.3 0 015.6 13.5c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14a85 85 0 01-25.6 4c-10.3.3-19.8.7-25.4 7.3"/>
+    <path stroke-width=".6" d="M387.5 282.9c.8-1 3.5-2.4 5.8-1.1a6.2 6.2 0 012.3 2"/>
+    <path stroke-width=".9" d="M401.6 273.8l1.4.5a7 7 0 004 0c2.8-.8 4.6-3.4 3.2-6.9a6 6 0 00-1.8-2.1"/>
+    <path stroke-linecap="round" stroke-width=".7" d="M240.3 199.8c-2 1.1-3.3 1.4-4.8 3.1a28.1 28.1 0 00-2.6 6.8m46-51.7c0 1.8-1.2 2.8-3 3.2"/>
+    <path stroke-width=".6" d="M397.1 192a19 19 0 0118.6 19.8c0 16-9.9 18.5-13.8 19.6"/>
+    <path stroke-width=".7" d="M398.4 192c8.1-.3 16.5 5.7 16.9 20.7.3 11.7-8 17-12 18"/>
+    <path stroke-width=".6" d="M393.8 248.4l.1-1.6.6-2.5.7-2 .9-1.6 1-1.3m7.8-3.4v1.5l-.5 1-.7 1.1-.8.6-1.2.5h-1.1l-.8-.1m-14.3-52.8l.3-1.7.8-1.6 1-1.5 1.6-2.2 1.4-1.4 2-2.2 2-1.9 1.1-1.3 1.5-1.9 1.4-2 .8-1.7.5-2.2.1-2.7-.2-.8m-12.3 128.2l1.6-.4 1.2-.6.7-.7.5-.8.3-1.2v-.9m-158.2-12.1h2.7l1.6-.6m5-36.5l-.2 1.4-.4.6-.4.6-.7.5-.7.3-1 .1h-.6m9.9-15.5l-.3 2.1-.5 1-.8 1.2-1.2.9-1.2.6-2.3.5m15.3-39.7l-.5 1.3-.5 1-.8 1-1 1-1.2.5-1.1.3-.6-.1m.3-6.2v1"/>
+    <g stroke-width=".6">
+      <path stroke-linecap="round" d="M254.3 224a6.9 6.9 0 01-2.1 1.4m150.5 44.8l.5.2c1.4.8 4.2-.2 3.4-2.4"/>
+      <path d="M397.8 239.6c1 1.3 2.9 1.7 4.4 1.3a4 4 0 002.5-2c.6-1 .8-2.4.4-3.7a4.9 4.9 0 00-.9-1.6 6.8 6.8 0 00-1.3-1.5l-.4-.2m6.4 34a4 4 0 00.1-.7 4 4 0 00-1.3-3l-.8-.8m.4.5c0-1.8-1.5-3.2-3.4-3.5m-4.2 2.8l-1.3-1a15.7 15.7 0 01-4.3-10.7c0-4.2 1.6-8.4 3.6-10M341.2 324l1.8-1.6 1.2-1 2.3-1.4 2.2-1 1.6-.5 3-.6 3.6-.6m-29.5 19.4a17 17 0 01-7.6 6.1 17.7 17.7 0 01-7.6-6.1"/>
+      <path stroke-linecap="round" d="M314.4 332.6a10 10 0 01-2.2 4.2"/>
+      <path d="M314.7 330.5l-.4 2.2M312 337l-1 1-1.7.9-2 .6m-5.6-177.8c.3-.8.5-1.4.5-2.6-.1-4.2-3.2-6.1-4.5-10-.7-2.3-1-4.3.7-6 1.4-1.4 3.2-1.4 5-.6 4 1.5 8.6 5.8 16.7 6-8.1-.2-12.8-4.5-16.6-6-2-.8-3.8-1-5.3.5-1.7 1.6-1.2 3.8-.5 6.1 1.3 3.9 4.2 5.8 4.3 10 0 1.2-.3 1.8-.5 2.6M320 148c8-.4 14.9-5.8 17.1-6.3 2-.4 3-.2 4.5 1.1-1.4-1.3-3-1.2-5-.5-3.8 1.5-8.4 5.8-16.6 6m79.6 112.9a15.5 15.5 0 01-6.2-12.4c0-4.1 1.7-8.4 3.6-10m-70 97.6c-1.3 2-4.3 5-7.6 6.2a17.7 17.7 0 01-7.6-6.2"/>
+      <path stroke-linecap="round" d="M306.7 163.7l2.3-1.3c1-.6 2.3-.5 2.9.2.6.7.7 2-.2 2.8"/>
+      <path d="M294.7 169.3c5.5-1.2 10-3.6 13.4-5.5M340.3 328c.5.3.8 1 .8 1 .1.2.3.5.3.8.3 1.5-.7 2.4-2 2.6-1.7.2-3-.8-3.5-2M294.4 169c5.5-1.1 10-3.6 13.4-5.5m97.6 106.9c-1 .4-1.6.3-3-.2l-1.8-1a20.7 20.7 0 01-8.4-9 18.8 18.8 0 01-1.7-4.6 12 12 0 01-.5-3.3 25.6 25.6 0 014.7-15.3c1.1-1.6 2.1-2.5 4.2-2.6m-143.7-39.3a7.1 7.1 0 012.7 5.7c0 3.1-2.6 8.2-9 10a8.3 8.3 0 01-6.3-.8"/>
+      <path d="M256.3 205.6c1.1.8 1.6 1.7 1.6 3.3 0 1-.7 2.4-1.9 3.7a12.4 12.4 0 01-8.8 4c-2 0-4-.4-6-1.7a9 9 0 01-3.8-5.4"/>
+      <path d="M256.2 212.3c1.3 1.2 1.7 2.7 1.7 4.6 0 2.7-1.1 4.8-3.7 7-.6.6-1.2 1-2 1.5m129.5-22.1v3.5m-.3-4.4v5m.3-15.8v6.6m-.3-8v8.9m-1.9 82a18.7 18.7 0 01-4.2 5.6 19.6 19.6 0 01-5.8 4.1 24.6 24.6 0 01-6.6 2.2 33 33 0 01-6.8.9c-2.5 0-3.9 0-6.4-.2-2.6-.2-4-.6-6.7-.8-2.2-.2-3.4-.4-5.6-.3a28.3 28.3 0 00-11 1.8c-2.6 1-5.7 3-6.3 3.8a22 22 0 00-6.4-3.8 22 22 0 00-5.1-1.4c-2.3-.4-3.5-.4-5.8-.4-2.2 0-3.4.1-5.6.3-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.4.2a33 33 0 01-13.4-3 19.5 19.5 0 01-6.4-4.8m42.1 53.4l1.8-.2m30.3-2.4l1.8-.1 1.7-.7 1.2-.8 1.7-2 .3-.6.3-1.7v-.8m47-136.7c.7-2.6-.2-5.4-2.8-5.3m-132 46.5a8.2 8.2 0 01-3.5 4.7m3.6-46.7a6.5 6.5 0 01-3.6 4c-1.9.8-4 0-5.2-.8"/>
+      <path stroke-linecap="round" d="M243.8 202.4c1.5.8 3.1-.4 2.8-2.4a2.9 2.9 0 00-2.5-2.2"/>
+      <path d="M250.2 286.6c.3.3.4.7.8.8.7.2 1.2.4 1.9-.5.8-1.1.3-2.8-.5-3.9a5 5 0 00-5.8-1c-.8.5-1.7 1-2.6 2.2l-1.1 1.6c-.7 1.1-1 2-1.1 2.4-2 5.9.4 12 4.1 15.7"/>
+      <path stroke-linecap="round" d="M340.2 327.8l.7.8.2.9c.3 1.5-.7 2.4-2 2.6-1.6.2-2.8-.8-3.3-2"/>
+      <path d="M389.4 154.8a7.4 7.4 0 016.3 7c0 4.4-1.5 6-3.8 9.2-2.5 3.4-10.7 9.6-10.7 16.7 0 4.3 1.2 7 4.3 8.4 2 1 4.3 0 5.4-1 2.6-2.4 1.5-6.5-1.2-7-3.2-.6-3.9 4.6-.7 4.3m17.9 69a3.7 3.7 0 00-3.6-3 3.7 3.7 0 00-3.7 3.7c0 1 .4 2 1 2.6"/>
+      <path d="M383.9 195.1a7.1 7.1 0 00-2.7 5.7c0 3.1 2.6 8.2 9 10 2.4.7 4.8.6 6.2-.3m-156-10.3a9.4 9.4 0 00-4.8 3.5 16.9 16.9 0 00-2.2 12.7 15.8 15.8 0 002.3 5.6 8 8 0 001 1.2l1.2 1m64 92c4.9 2.1 8.4 3.7 11.4 8.5a10 10 0 011.2 4.9c0 2.7-1 5.7-3.3 7.6a8.3 8.3 0 01-6.7 2c-1.9-.2-3.7-1.6-4-2.6M254 224.1c2.7 2.2 3.9 4.2 3.9 7.5a8.4 8.4 0 01-4 7.5"/>
+      <path stroke-linecap="round" d="M251.5 236.4c4 5.1 6.3 8.1 6.4 14.1.1 5.7-1.7 9.6-5 13.7"/>
+      <path d="M329.8 169.3a4.1 4.1 0 001.5-2.2c.5-1.5.5-2.8-.2-4 1 1.4 1 2.5.7 4-.1 1-.8 1.5-1.6 2.3m51.5 86.1v16.2l-.1 2.5a34.4 34.4 0 01-.3 1.7"/>
+      <path d="M381.4 254v19.9l-.5 2.6m.5-43v14.6m.3-13.4v11.8m0-26.8v8.8m-.3-9.9v11m.3-19v3.5m-.3-4.2v5m-1.8 65.2l-.4.7a18.7 18.7 0 01-4.1 5.7 19.6 19.6 0 01-5.9 4 24.6 24.6 0 01-6.5 2.2c-2.7.6-4.2.8-6.9.9-2.5 0-3.9 0-6.3-.2-2.7-.2-4.1-.5-6.8-.8-2.2-.2-3.4-.3-5.6-.3-2.2 0-3.5 0-5.7.4a22 22 0 00-5.2 1.4c-2.7 1.1-5.7 3-6.4 3.8-.6-.8-3.7-2.7-6.3-3.8a22 22 0 00-5.2-1.4c-2.2-.4-3.5-.4-5.8-.4-2.2 0-3.4.1-5.6.3-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.3.2a33 33 0 01-13.5-3 19.5 19.5 0 01-5.8-4.1 22 22 0 01-2.5-2.8m-2-3.2a10.1 10.1 0 01-2.3 7.7c-.8.9-2.6 2.6-5 2.6-3.7 0-4.8-2.5-5-3.2"/>
+      <path d="M255.6 278.9c.7.7 1.3 1.5 1.9 2.5 1 1.8.6 4.8-.1 6.2a4.4 4.4 0 01-.3.4m-20.3 18c2.3 2.4 5.7 5 10.9 7.1 7.1 3 18.1 3.6 25.7 4 10 .3 19.3.7 25 7m17.3-4a12 12 0 014 5.5m-7.3 11.5a8.2 8.2 0 01-.7.7 8.3 8.3 0 01-6.6 2c-2-.2-3.8-1.6-4.3-2.6m-5.4-2.9l.3.4a7.6 7.6 0 005.1 2.4m27 0a18 18 0 01-7.7 6.1 17.7 17.7 0 01-7.6-6.1l-.3-.5m15.6.4l.7.7a8.3 8.3 0 006.7 2 5.5 5.5 0 004-2.5l.5-.7"/>
+      <path d="M339 336.6l-.7 1.2-1.1 1-1.7.7h-1.6"/>
+      <path d="M343 325.3a7.7 7.7 0 012.4 2.9c.3.7.4 1.5.5 2.3a5.8 5.8 0 01-1.5 4.2 7.5 7.5 0 01-5.4 2.4 5.5 5.5 0 01-.4 0m.2-.2a6.8 6.8 0 01-5.2-2.2m63.7-67.9a23.8 23.8 0 01-4.8-6.4 18.8 18.8 0 01-1.7-4.5 12 12 0 01-.5-3.3 26 26 0 014.6-15.3c.7-.8 1.4-1.8 2.1-2.2m-1.3-75.9c2.5.2 4.8 3 4.8 5.7 0 3.8-1.3 5.5-4.4 9.3-2.6 3.2-10.6 9-10.3 14.5 0 1 .5 2 1.1 2.8m-3.2 3.5a7 7 0 002 1.4 5 5 0 004.3-.3M369 153a6 6 0 012.2 2.6c1.8 4.5-2.2 7.9-6 10.4a21.3 21.3 0 01-8.3 3.3"/>
+      <path d="M364.6 161.6a4.2 4.2 0 01-3.1-1.5 3.4 3.4 0 01-.7-1m-15 4.9a4.6 4.6 0 01-1.2-1c-1-1-1.5-2.3-.8-4.4.6-1.9 3.7-7.2 3.8-10.9.2-5.6-2-9-5.3-10.2"/>
+      <path stroke-linecap="round" d="M347.3 146.5l-.1 2-.6 2.2-1 3-1 1.9-.8 1.9-.4 1.3-.2 1 .1.9m38 126.3l.6.8c.7 1 3.2 3 5.5 3 3.7 0 4.6-2.6 4.7-3.2.5-2.9-.5-3.6-2-4.5 0 0-.8-.4-1.9-.2"/>
+      <path d="M237 274.4a6.9 6.9 0 01-3.7 0c-2.9-.9-5.2-3.6-4-7m13.4-31.8c.3.3.4.7.4 1 .4 3.8-2.8 4.8-5 4.2a5.6 5.6 0 01-3-2.3 4.7 4.7 0 01-.7-2.3m22-23.6c.6.5 1 1 1.3 1.7m-1.1-8.5c.5.4.9.9 1.1 1.3"/>
+      <path stroke-linecap="round" d="M257.9 210.5a8.5 8.5 0 01-1.6 2.4 12.4 12.4 0 01-8.8 4c-2 0-4-.4-6-1.7a9.5 9.5 0 01-4-5.6"/>
+      <path d="M255.4 195.3a7.8 7.8 0 012.4 3.4"/>
+      <path stroke-linecap="round" d="M257.8 203.2c-.9 3-3.5 6.6-8.6 7.9-2.4.6-5.6-.2-6.6-1"/>
+      <path d="M240 202.6c.3 2.6 2 4.6 5.4 4.6 4.7.1 7.6-6.7 3.4-11.5"/>
+      <path stroke-linecap="round" d="M229.4 225.5c.7.9 1.5 1.7 2.4 2.4a16.8 16.8 0 006 3.3m5.2.5c4.2-.5 6.6-3.7 6-7.3-.3-2.8-2.8-5-4.6-5.1"/>
+      <path d="M249.8 188.1c1.9 0 3 1.6 2.9 3"/>
+      <path stroke-linecap="round" d="M249.4 163a11.5 11.5 0 005 5.9m144.2 31c1.7 2.3.6 7-4 7a5.2 5.2 0 01-4.5-2.5"/>
+      <path d="M381.7 169.1V185"/>
+      <path stroke-linecap="round" d="M243.8 202.3c1.4 1 3.3-.7 2.5-2.6-.5-1.2-2.2-2.6-4.7-.9-2.8 1.9-2 7.8 3.2 7.9 4.7 0 7.6-6.8 3.4-11.6-4-4.6-11.3-3.6-16 .2A21.4 21.4 0 00225 207a22.5 22.5 0 000 9.2 20.9 20.9 0 003 7.5l1.3 1.7c.8.8 1 1.2 2 2a15 15 0 0010.4 3.7c4.6-.2 7.3-3.4 6.8-7.3-.4-3.8-4.2-5.7-6.7-3.9-1.7 1.2-2.3 4.9.7 5.8 1.6.5 3.1-1.7 2-3M374 150.9c2.7-1.4 4.8-1.2 6.3 1a9.9 9.9 0 011.6 7.2 9.2 9.2 0 01-3.5 5.8"/>
+      <path stroke-linecap="round" d="M380.5 152c3.1-2 6.5-1.1 8.3 1.6 1.3 2 1.7 3.6 1.6 6.1a11.2 11.2 0 01-5.7 9.2"/>
+      <path d="M395 159.2c2.6.2 4.6 2.5 4.6 5.1 0 3.8-1 5.5-4 9.3-2.7 3.3-10.6 9-10.4 14.6 0 2.1 1.8 4 3.3 4.2"/>
+      <path stroke-linecap="round" d="M395.4 202.3c-1.5 1-3.3-.6-2.5-2.4.5-1.2 2.2-2.8 4.7-1.1 2.7 1.9 2 7.8-3.3 7.9-4.7 0-8-6.6-3.4-11.6 4-4.6 11.7-3.7 16.5.1 2 1.6 6.1 6 7 12 1 7 .9 15.6-6.4 21-3 2.1-7 3.1-10.6 3-4.6-.2-7.3-3.5-6.8-7.4.5-3.8 4-5.4 6.7-3.9 2.8 1.5 2.3 5.4-.7 5.8-1.7.2-3.1-1.7-2-3"/>
+      <path d="M392.9 199.9c.8-3.5 3.7-3.8 6.2-3.8 6.5.1 11.1 8 11.2 15.5 0 9.5-4 15.2-11 15.5-1.9 0-5-.8-5-3"/>
+      <path stroke-linecap="square" d="M397 198.3c6.9 1.6 9.3 7.8 9.3 13.8 0 4.9-.5 11.6-10 13.9"/>
+      <path d="M408.4 265.3a3.9 3.9 0 10-6.3 2.4"/>
+      <path stroke-linecap="round" d="M394.4 259.4c1.4 2 3 4.1 6.3 6m-1.3 10.5c-3.2-2.2-9.5-5-15-2.2a7.6 7.6 0 00-4.4 4.4 10 10 0 001.8 9.5c.9 1 2.7 2.6 5 2.7 3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.1-.7-.3-2.8-.2-3.2 1.3-.2.5-.2 1.3.2 2"/>
+      <path stroke-linecap="round" d="M340.5 328.4c1 2.2-.2 3.2-1.6 3.4-2.2.3-3.3-1.4-3.4-3a4.4 4.4 0 014.3-4.7c2.3 0 4.1 1.5 5 3.5.3.7.5 1.5.5 2.4a5.8 5.8 0 01-1.4 4.1 7.5 7.5 0 01-5.4 2.5c-4.2.1-7.5-3.8-7.5-7.8 0-7.7 11.4-12 16-13a84 84 0 0117.9-2.4c3.5-.1 6.2 0 10.1-.5 3.5-.3 5.4-.5 9-1.3a27.2 27.2 0 0012.6-6.4c2.9-2.7 4.5-4.5 5.9-8.2a17 17 0 00-1.3-13.9 14.3 14.3 0 00-10.3-6.8c-3.7-.5-7 1.1-9 4.8-1 1.8-.6 4.8.1 6.2a6 6 0 004.8 3c3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.2-.7-.2-2.8-.1-3.2 1.4-.2.5-.2 1.3.2 2"/>
+      <path stroke-linecap="round" d="M337.2 316.2c-4.8 2.1-8.4 3.7-11.4 8.5a9.9 9.9 0 00-1.2 4.9c0 2.7 1.1 5.7 3.3 7.6a8.3 8.3 0 006.7 2c2-.2 3.7-1.6 4-2.6"/>
+      <path d="M385.1 224.1c-2.3.8-3.9 4.2-3.9 7.5a8.4 8.4 0 004 7.5"/>
+      <path stroke-linecap="round" d="M387.6 236.4c-4 5.1-6.3 8.1-6.4 14.1 0 5.7 1.7 9.6 5.1 13.7"/>
+      <path d="M365.9 152l.3-.5c1.7-2.4 4.7-3.1 6.9-1.5 2.6 2 3.3 5.4 2.6 9-.5 2.2-2 4.1-4 5.5"/>
+      <path stroke-linecap="round" d="M265.1 150.8c-2.6-1.2-4.7-1-6.3 1a8.7 8.7 0 00-1.6 7.2c.6 2.7 1.4 3.8 3.5 5.8"/>
+      <path d="M258.6 152a5.8 5.8 0 00-8.3 1.6 9.1 9.1 0 00-1.6 6.1c.2 4.2 2.8 7.6 5.8 9.2"/>
+      <path d="M249.7 154.8a6.8 6.8 0 00-6 6.6c0 4.5 1 6.3 3.5 9.6 2.5 3.4 10.7 9.6 10.7 16.7 0 4.3-1.2 7-4.3 8.4-2 1-4.3 0-5.4-1-2.6-2.4-1.5-6.5 1.2-7 3.3-.6 3.9 4.6.7 4.3"/>
+      <path d="M244 159.2c-2.5.2-5 2.3-5 5 0 3.8 1.5 5.6 4.6 9.4 2.6 3.3 10.1 9 9.9 14.5 0 2-1.5 4.6-2.9 4.3"/>
+      <path stroke-linecap="round" d="M238 236.1c1.3-2.9 4.4-1.6 4.6 0 .4 3.7-2.8 4.8-5.1 4.2a4 4 0 01-2.5-2 4.8 4.8 0 01-.4-3.7 4.9 4.9 0 01.9-1.6 5 5 0 011.2-1.2c1-.6 1.9-.6 3.4-.6 5.5 0 10.4 6.5 12 13.4.6 2.2 1.3 7.3.3 12a22.4 22.4 0 01-5.8 11.3 25.8 25.8 0 01-10 5.8 7 7 0 01-3.9.1c-2.8-.9-4.6-3.5-3.2-7 1.2-2.6 5.4-4 7.3-.6.2.3.4.9.4 1.5 0 .9-.4 2-1 2.4-1.4.9-3.7.6-3.6-2"/>
+      <path d="M233.8 270.4c1 .4 1.6.3 2.9-.2l1.8-1c2.6-1.5 5.6-3.8 8.4-9.1a18.8 18.8 0 001.7-4.5c.3-1 .5-2.2.6-3.3a25.6 25.6 0 00-4.8-15.3c-1.1-1.6-2-2.5-4.2-2.6m-9.5 31a3.9 3.9 0 116.3 2.3"/>
+      <path d="M232.2 261.4a3.7 3.7 0 013.7-3 3.7 3.7 0 013.6 3.7 3.8 3.8 0 01-1 2.6"/>
+      <path d="M239.4 261.3a15.5 15.5 0 006.2-12.4c0-4.1-1.6-8.4-3.6-10"/>
+      <path stroke-linecap="round" d="M244.7 259.4a16.5 16.5 0 01-6.3 6"/>
+      <path d="M254.6 273.7c-1-2.2-2.8-3.2-5.8-3.5-3-.3-5.5.5-8.2 1.9a18.6 18.6 0 00-10.8 17 25 25 0 002 9.5c.9 1.6 3 9 15.3 14a86.1 86.1 0 0025.7 3.9c10.4.4 20 .8 25.6 7.6"/>
+      <path stroke-linecap="round" d="M239.7 275.9c3.3-2.2 9.5-5 15.1-2.2a8 8 0 014.3 4.4 10 10 0 01-1.8 9.5c-.9 1-2.7 2.6-5 2.7-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4.2.5.2 1.3-.2 2"/>
+      <path d="M252.7 285.7c.3-1 .2-2.2-.8-3.3a5.1 5.1 0 00-6-1c-.7.5-1.6 1-2.4 2.2-.4.4-1 1.1-1.2 1.6-.7 1.1-1 2-1 2.5-2.5 7 1.5 14.4 6.5 17.6 4.4 2.8 8.8 3.6 14.4 4 2.5.3 4 .3 6.5.5h9.6a70.1 70.1 0 017.2 0c3 .3 5.1.4 7.6.8 1.6.2 3.5.5 5.4 1 .6 0 1.2.2 1.8.4l1.2.3c3.6 1.1 7 2.4 9.8 4.2.8.5 1.8 1 2.5 1.7l1.3 1.2c2 2 4 4 4.4 6.7v1.6c0 1.8-1.4 4.3-5.3 5"/>
+      <path d="M298.6 328.4c-1 2.2.2 3.2 1.6 3.4 2.2.3 3.3-1.4 3.5-3a4.4 4.4 0 00-4.4-4.7 5.5 5.5 0 00-5 3.5 6.9 6.9 0 00-.5 2.4 5.8 5.8 0 001.4 4.1 7.5 7.5 0 005.4 2.5c4.2.1 7.5-3.8 7.5-7.8 0-7.7-11.4-12-16-13a84 84 0 00-17.9-2.4c-3.5-.1-6.2 0-10.1-.5-3.5-.3-5.4-.5-9-1.3a27.2 27.2 0 01-12.5-6.4 17 17 0 01-4.7-22 14.3 14.3 0 0110.3-6.9c3.8-.5 7 1.1 9 4.8 1 1.8.6 4.8-.1 6.2a6 6 0 01-4.8 3c-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4.2.5.2 1.3-.2 2"/>
+      <path stroke-linecap="round" d="M273.3 152l-.4-.5c-1.7-2.4-4.7-3.1-6.9-1.5-2.6 2-3.3 5.4-2.5 9a9 9 0 004 5.5"/>
+      <path d="M366.8 159.6c-4 4.4-8.1 5.8-14.1 6-2 0-5.5-.6-7.6-2.1-1.3-1-2.8-2.6-1.9-5.5.6-1.9 3.7-7.2 3.8-10.9.3-5.6-1.9-8.7-5.3-9.9-6.2-2.2-13 4-17 5.4-2.1.7-3.2.8-5.1.8-2 0-3-.1-5.2-.8-4-1.4-10.7-7.6-17-5.4-3.4 1.2-5.5 4.3-5.3 10 .1 3.6 3.2 9 3.8 10.8 1 2.9-.5 4.5-1.9 5.5-2 1.5-5.7 2.1-7.5 2-6-.1-10.1-1.5-14.1-5.9"/>
+      <path stroke-linecap="round" d="M297.3 314.4c.8.3.2-.2 5.3 2a22 22 0 0111.3 8.9 10.5 10.5 0 01.9 7.3"/>
+      <path d="M297.7 336a8 8 0 003.2.9c4.2.1 7.5-3.8 7.5-7.8 0-2.8-1.5-5.2-3.6-7"/>
+      <path stroke-linecap="round" d="M298.6 328.4c-1 2.3.4 3.5 1.8 3.7 2.2.2 3.4-1.4 3.6-3a4.5 4.5 0 00-2.2-4.2"/>
+      <path d="M390.1 154.8c3.2 0 6 3.6 6 7.2 0 4.3-2.2 6.9-3.9 8.8-1.3 1.6-2.7 3-4.4 4.7"/>
+      <path stroke-linecap="round" d="M386.3 151.4a9 9 0 012.8 2.4c1.3 2 1.7 3.7 1.6 6.2-.2 4.2-3.2 7.1-6 9m-4.7-17.6l.6.7c1.9 2.2 2 5.4 1.6 7.2a8.2 8.2 0 01-3.8 5.4m-5-14.4c2.6 2 3.4 5.4 2.5 9-.6 2.5-2.2 4-4.2 5.2m11.1 41.1c.3 1 .9 1.3 1.5 2a13.5 13.5 0 006.2 3.5c2.4.7 4.6.2 6.3-.9m-163 54c1.2 0 2.5.9 3.3 2.3.1.2.4.8.4 1.5 0 .9-.4 1.8-1 2.2-1.5 1-4 .5-4-2"/>
+      <path d="M241.5 231.3c5 1 9.7 6.9 11.2 13.3.6 2.3 1.3 7.3.3 12a22.4 22.4 0 01-6 11.4 16.5 16.5 0 01-2.1 1.9l-1 .7m-8-12.1c2 0 3.8 1.9 3.8 4a3.8 3.8 0 01-1 2.6"/>
+      <path d="M234.6 260.7c2.1 0 4.1 2 4.1 4.2a3.9 3.9 0 01-1.4 3"/>
+      <path stroke-linecap="round" d="M254 239.5a18 18 0 013.8 7.7m0 8.5a17.3 17.3 0 01-1.5 4 17.8 17.8 0 01-3.6 4.7"/>
+      <path d="M254.3 224.3c1.8 1.5 3 3 3.5 4.8"/>
+      <path stroke-linecap="round" d="M257.9 219.5a10 10 0 01-3.4 4.6m-9.2-17.2l2.2-.6 1.3-1 .8-1.1.7-1.8.3-1.5"/>
+      <path d="M241 199.3c-.7.2-1.6.4-2.5.8a9 9 0 00-3.5 3 17 17 0 00-2.2 12.7 15.8 15.8 0 002.3 5.6l1 1.4c1.4 1.3 2.6 2 4.6 1.7"/>
+      <path stroke-linecap="round" d="M253 189.8c-.3 1.3-1 2.9-3 2.7"/>
+      <path d="M245.7 198.5c-2-1.9-6-2.4-10.1.2L234 200a8.8 8.8 0 00-1.4 1.6 17.5 17.5 0 00-2.4 5c-.7 3-.7 5.6-.6 6.3 0 1 .2 1.9.3 2.7.6 2.8 1.4 4.8 2.3 6.2.9 1.5 3 5 7.7 5.4 1.8.1 4.8-.7 5-3"/>
+      <path stroke-linecap="round" d="M363.8 157c.3-1.6 2.3-1.9 3-1 1.2 1.6.4 4.2-2 4.9a4 4 0 01-3.8-1.4c-1-1.3-.9-2.8-.5-4 .2-.8.9-1.5 1.7-2.2 2.7-2 7.1-1.6 8.6 2 1.8 4.4-2.2 7.8-6 10.3-4.6 3.2-10 3.8-14 3.7-9.2 0-16.1-4.4-20.7-7-1-.5-2.1-.4-2.7.3a2 2 0 00.3 2.7"/>
+      <path stroke-linecap="round" d="M365.6 155.5c1 0 1.2.4 1.5.8 1.2 1.5.3 4.1-2 4.9m17.8 51.5c-3.5 3.8-.2 10.3 2.4 11.8.9.7 1.3.3 2 .7"/>
+      <path d="M383.1 205.4c-1.1.8-1.5 1.7-1.6 3.3a5.3 5.3 0 001.4 4 14 14 0 009.3 3.7c2 0 4-.4 6-1.7a9 9 0 003.8-5.4m-20.8 61.8l-.2 2.5a18.9 18.9 0 01-2 7 18.7 18.7 0 01-4.2 5.6 19.6 19.6 0 01-5.9 4 24.6 24.6 0 01-6.5 2.3 43.8 43.8 0 01-13.2.6c-2.7-.2-4.1-.5-6.8-.8-2.2-.1-3.4-.3-5.6-.3a28.3 28.3 0 00-10.9 1.9c-2.7 1-5.7 3-6.4 3.8-.6-.9-3.7-2.8-6.3-3.8a22 22 0 00-5.2-1.5c-2.2-.4-3.5-.4-5.8-.4-2.2 0-3.4.2-5.6.4-2.6.2-4 .6-6.7.7-2.5.2-3.9.3-6.3.2a33 33 0 01-7-.8 24.6 24.6 0 01-6.5-2.2 19.6 19.6 0 01-5.8-4.1 18.7 18.7 0 01-4.2-5.7 19 19 0 01-2-6.9c-.2-1-.2-2.5-.2-2.5V169.3h123.2v101.8z"/>
+    </g>
+    <g fill="#c7b37f" stroke="#c7b37f">
+      <path stroke-width=".3" d="M248 285.6a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0zM232.5 268c0-1.3.8-2.3 1.8-2.3s1.7 1 1.7 2.3c0 1.2-.8 2.2-1.7 2.2-1 0-1.8-1-1.8-2.2z"/>
+      <path stroke="none" d="M241.3 223.6c0-1 .8-1.8 1.7-1.8 1 0 1.7.8 1.7 1.8s-.7 1.8-1.7 1.8-1.7-.8-1.7-1.8zM272 158c0-1 .5-2 1.4-2 .9-.1 1.7.6 1.8 1.6 0 1-.5 2-1.4 2-.9.1-1.6-.6-1.8-1.6z"/>
+    </g>
+    <g stroke="#c7b37f" stroke-linecap="round" stroke-width=".6">
+      <path d="M239.3 234c-.4.1-.6.2-.8.5-.3.3-.4.4-.6.9l-.2 1.2m4.7 26.7l1-1 .6-1 .5-1 .7-1.3m-1.3 14l-1.5.7-1.1.6a17.4 17.4 0 00-1.3.8l-1.2 1m15-37.9l-.8-.8-1-.8-.9-.8"/>
+      <path stroke-linecap="butt" d="M254.2 225l-1.2.5a5.1 5.1 0 01-1.5.3"/>
+      <path d="M237.4 208.4c.2.6.2 1 .5 1.5.2.7.5 1.1.9 1.7a8.3 8.3 0 002.6 2.7l1.5.8m-1-5.8l1.3.6a7.4 7.4 0 003 .6l1.8-.1m7.2-40.7l-2-1.2c-.9-.5-1.3-.9-2-1.5a9.3 9.3 0 01-1.1-1.3l-.8-1.3m7.5-4.6l.6 1.7a7.8 7.8 0 001.4 2c1 1 1.7 1.3 2.8 2.2m1.4-6c.3.7.3 1 .7 1.6.2.5.4.8.8 1.2l1.3 1.3c.7.6 1.2.7 2 1.1"/>
+    </g>
+    <path fill="#703d29" stroke-width=".2" d="M333.3 151.6c0-1.7-1.7-1.8-2.4-1.8-1.8 0-2.3 1.1-4.6 2.3a11.9 11.9 0 01-6.7 2 12 12 0 01-6.7-2c-2.3-1.2-2.7-2.3-4.6-2.3a2.3 2.3 0 00-2.2 2.4v.9l.3.2c0-.8.1-1.2.5-1.7a2.2 2.2 0 011.6-.8c1.8 0 2.5 1.2 4.8 2.4 3 1.6 4.2 1.9 6.7 2a12 12 0 006.8-2c2.3-1.2 3-2.5 4.8-2.5.6 0 1 .4 1.3 1v.9l.2.1c0-.3.2-.4.2-1z"/>
+  </g>
+  <g fill="#703d29">
+    <path d="M264.4 294c.5-.5.9-.3 1-.6 0-.2 0-.2-.3-.3l-.9-.2-.8-.4c-.1 0-.4-.2-.5 0-.1.4 1 .4.6 1.4a3.7 3.7 0 01-.8 1.2l-2.6 3-.2.1v-4.3l.1-1.8c.2-.4.8 0 .9-.4 0-.1 0-.2-.3-.3-.2 0-.5 0-1.1-.3l-1-.5c-.2 0-.5-.2-.6 0l.1.3c.4.2.5.4.5 1v7.4c0 .5.1.6.2.7.1 0 .2 0 .4-.3l5.3-5.7z"/>
+    <path d="M267.5 295.2c.3-1.1 1-.4 1-.8.1-.2 0-.2-.2-.3l-1.3-.4c-.4 0-.8-.3-1.2-.4 0 0-.3-.1-.4 0-.1.5 1.1.5.8 1.5l-1.7 5.5c-.3 1-1 .6-1.1 1v.1l1.2.4 1.6.5h.3c.2-.4-1.2-.3-.7-1.7l1.7-5.4zm3.7 1c.2-.6.5-.5.9-.4 1 .3 1.4 1.3 1 2.5-.2.6-.4 1.2-2 .8-.3-.1-.7-.2-.6-.5l.7-2.3zm-2.8 5c-.5 1.4-1.2.8-1.3 1.2 0 .2.2.2.3.3l1.6.4.8.3h.4c.1-.5-1-.3-.7-1.5l.6-2c.1-.4.1-.5.6-.3.6.1.7.3.8.8l.3 2c.2.9.3 1.7 1 2 .5 0 1.2 0 1.4-.4l-.2-.2h-.3s-.3 0-.3-.3l-.7-3.6c0-.2.4-.2.8-.3a2 2 0 001-1.3c.1-.5.4-2.2-1.8-2.9l-2.1-.5-1.2-.4h-.3c-.1.5 1.1.4.7 1.7l-1.5 5zm8.4 2.5c-.4 1.4-1.4.5-1.5 1 0 .2.1.3.3.3l1.5.3 1.4.4c.3 0 .5.2.6-.1 0-.3-1.3-.3-1-1.8l1.3-5.2c0-.6.2-.6.6-.5l1 .2c1.1.3.5 1.5 1 1.6.2 0 .2-.4.2-.6l.1-1v-.4l-3.3-.7-3.2-.8c-.1 0-.2 0-.2.2l-.5 1.5c-.1.1-.2.4 0 .4.5.1.5-1.5 1.7-1.2l.9.2c.4.1.5.2.4.8l-1.3 5.4zm12.7-3.3c.4-.6.8-.5.9-.7 0-.2-.2-.2-.4-.3h-.9l-.9-.3c-.1 0-.4-.1-.4.1-.1.4 1 .2.8 1.3 0 .2-.1.6-.6 1.3l-2 3.3-.3.2v-.2l-.7-4a5.4 5.4 0 01-.1-1.8c0-.5.7-.2.7-.5 0-.2 0-.2-.4-.3l-1.1-.1c-.4 0-.7-.2-1-.3-.2 0-.5-.1-.6.1l.1.2c.5.2.6.4.7.9l1.3 7.3c.1.5.2.7.3.7.1 0 .2 0 .4-.3l4.2-6.6zm.6 6.8c0 .3 0 .3.2.5.6.2 1 .6 1.7.7 1.4.2 2.6-.7 2.8-2.2.3-1.5-.3-2.1-1.4-2.9-1.3-.9-1.8-1.1-1.7-2 .1-.7.7-1 1.4-1 1.8.3 1.6 2.6 1.8 2.6.3 0 .3-.1.3-.4l.2-1.6v-.4h-.6c-.4 0-.7-.5-1.6-.7-1.2-.2-2.3.7-2.5 2-.2 1.2.4 1.8 1.2 2.4 1.6 1.1 2.2 1.4 2 2.4-.1 1-.9 1.4-1.7 1.3-1.2-.2-1.6-1.4-1.8-2.6 0-.2 0-.3-.2-.3s-.2.3-.2.5v1.7zm15.8-4.5c.3-.7.8-.6.8-.9 0-.2-.1-.1-.4-.2h-.9l-.9-.1c-.1 0-.4 0-.4.2 0 .4 1 0 1 1.1 0 .2-.1.6-.5 1.4l-1.8 3.5-.1.3-.1-.3-1.1-4a5.4 5.4 0 01-.3-1.6c0-.5.7-.3.7-.6 0-.2 0-.2-.4-.2h-1.2l-1-.2c-.2 0-.5-.1-.6.1l.2.2c.4.2.6.3.7.8l2.1 7.1.4.7c.1 0 .2 0 .3-.4l3.5-7z"/>
+    <path d="M307.6 308.5c0 1.2-1 1-1 1.5 0 .2.1.1.3.1h2.2l.4-.1c0-.6-1.4.2-1.4-2v-4.2l.1-.1.2.1 5.1 6.3.3.1.2-.3v-6.7c0-1.3 1-1 1-1.3 0 0 0-.2-.3-.2h-2.3c-.2 0-.2.1-.2.2 0 .4 1.3.2 1.3 1.3v4l-.1.4-.4-.3-4.2-5.3c-.2-.3-.1-.3-.4-.3h-1.8l-.2.1c0 .6 1.2-.2 1.2 2.1v4.6zM318 303c0-1.1.8-.7.8-1.1 0-.1 0-.2-.4-.2h-2.6s-.3 0-.3.2c0 .4 1.1 0 1.1 1.2v5.7c0 1.1-.8.8-.8 1.2 0 0 0 .2.2.2h2.8c.2 0 .3 0 .3-.2 0-.4-1.2.2-1.2-1.3l.1-5.7zm4.5 5.5c0 1.5-1.2 1-1.2 1.4 0 .2.2.2.4.2h3c.3 0 .5 0 .5-.3s-1.4 0-1.4-1.4V303c0-.6 0-.6.5-.6h1c1.2-.1.8 1.2 1.3 1.2.2 0 .1-.4.1-.6l-.1-1c0-.2 0-.4-.2-.4l-3.3.1h-3.3l-.2.3-.1 1.6.1.4c.5 0 .2-1.6 1.4-1.6h.9c.4 0 .5 0 .6.6v5.6zm6.3-2.2h-.4l.1-.5.7-2.2v-.2l.2.1 1 2.1.2.4c0 .2-.2.2-.4.2h-1.4zm1.8.5c.3 0 .3 0 .8 1l.2.8c0 .7-.7.6-.7 1 0 .1.2.1.4 0h1.2l1.3-.1c.3 0 .4 0 .4-.2 0-.4-.6 0-1-.7l-3.4-7-.3-.4c-.2 0-.2.2-.3.4L327 309c-.2.7-.8.7-.7 1h2.3c.2-.1.5 0 .5-.3s-1.2 0-1.3-.9l.2-1c.2-.8.4-.8.6-.8l2.1-.2zm8.3-5c-.1-.8 0-.8 1.2-1 2-.2 1.4 1.3 2 1.2.2 0 0-.4 0-.6l-.1-1.1c0-.1-.1-.2-.3-.2-1 0-1.7.2-2.4.3l-2.8.4c-.2 0-.3 0-.3.2.1.5 1.3 0 1.4 1l.7 5.5c.2 1.5-.7 1-.6 1.5 0 0 0 .1.2 0l1.4-.1 1.2-.1c.3 0 .5 0 .5-.3s-1.2.1-1.4-1.2l-.2-1.7c-.1-.7-.1-.9.3-1h.8c1.1-.2 1 1.1 1.3 1 .3 0 .2-.4.1-.5l-.3-2.1c0-.3-.2-.3-.2-.3-.3 0-.1 1.1-1 1.2l-.7.1c-.5.1-.5 0-.6-.5l-.2-1.7zm4 2.8c.4 2.3 2.1 3.7 4.2 3.3 3.4-.7 3.5-3.6 3.2-5.3-.5-2.5-2.3-3.7-4.4-3.3-2.5.5-3.5 2.7-3 5.3zm1.1-1c-.3-1.6 0-3.4 1.7-3.7 1.4-.3 3 .8 3.4 3.4.3 2 0 3.6-1.8 4-1.9.4-3-2-3.3-3.6zm8.3-4.1c-.1-.7.2-.8.6-.9 1-.2 1.8.5 2.1 1.6.2.7.3 1.4-1.3 1.8-.3 0-.7.1-.8-.2l-.5-2.3zm0 5.7c.4 1.4-.5 1.3-.5 1.6.1.3.3.2.4.1.6 0 1-.3 1.6-.4l1-.2c.2 0 .2-.1.2-.2 0-.4-1 .3-1.3-1l-.5-2c0-.4-.2-.4.4-.5.5-.2.7-.1 1.1.3l1.3 1.6c.5.6 1 1.3 1.8 1.1.5-.1 1-.5 1-.9l-.2-.1-.3.1s-.3.1-.4 0l-2.4-2.9.5-.6c.2-.4.4-.9.2-1.6-.1-.5-.7-2.1-3-1.6l-2.1.6-1.2.2c-.2 0-.3.1-.2.2 0 .5 1.1-.2 1.4 1l1.2 5.2zm8.7-2c.3 1.4-1 1.2-.9 1.6 0 .3.3.2.5.2l1.4-.5 1.5-.3c.3 0 .5 0 .4-.4 0-.3-1.3.4-1.7-1l-1.3-5.3c-.2-.5 0-.6.3-.7l1-.2c1.1-.4 1.1 1 1.5.9.3 0 0-.5 0-.7l-.4-1s0-.3-.2-.2l-3.2.9-3.2.7v.3l.1 1.6c0 .2 0 .4.3.4.5-.1-.3-1.6 1-1.9l.8-.2c.4-.1.6 0 .7.5l1.4 5.3zm5.5-7.3c-.3-1 .6-.9.4-1.3h-.3l-1.4.4-1.2.3s-.3 0-.3.2c.1.4 1.2-.2 1.5.8l1.6 5.6c.2 1-.6 1-.5 1.3 0 .1 0 .2.2.1l1.1-.3 1.6-.4c.3 0 .3-.1.3-.3-.1-.3-1.1.5-1.5-.9l-1.5-5.5zm2.3 2.7c.7 2.3 2.6 3.4 4.7 2.7 3.2-1.1 3-4.1 2.4-5.7-.8-2.4-2.8-3.3-4.8-2.7-2.4.9-3.2 3.2-2.3 5.7zm1-1c-.6-1.7-.6-3.5 1.1-4 1.3-.5 3 .4 3.9 2.9.6 1.8.5 3.6-1.2 4.2-1.8.6-3.2-1.5-3.8-3.2zm7.6-5.5c-.2-.7 0-.8.4-1 1-.3 2 .3 2.4 1.4.2.6.4 1.3-1.1 1.9-.3 0-.7.2-.8 0l-.9-2.3zm.8 5.6c.6 1.4-.4 1.4-.2 1.7 0 .3.2.1.4.1l1.5-.7.9-.2c.2-.1.2-.2.2-.3-.2-.4-1 .4-1.4-.8l-.8-1.9c-.2-.4-.2-.5.3-.7.5-.2.7-.1 1.1.3l1.6 1.4c.5.5 1.1 1.1 2 .8.3-.2.9-.7.7-1l-.2-.1-.2.2h-.5l-2.8-2.5.4-.7a2 2 0 000-1.6c-.1-.6-1-2-3.1-1.2l-2 .9-1.2.4-.2.2c.2.4 1.1-.4 1.6.8l2 5z"/>
+  </g>
+  <g fill="#fedf00" transform="matrix(.64 0 0 .64 0 16)">
+    <path fill="#d52b1e" d="M412.7 249.3h82.1v82h-82.1z"/>
+    <path id="a" fill="#fff" d="M451.2 313.8s0 3-.8 5.3c-1 2.7-1 2.7-1.9 4a13.2 13.2 0 01-3.8 4c-2 1.2-4 1.8-6 1.6-5.4-.4-8-6.4-9.2-11.2-1.3-5.1-5-8-7.5-6-1.4 1-1.4 2.8-.3 4.6a9 9 0 004.1 2.8l-2.9 3.7s-6.3-.8-7.5-7.4c-.5-2.5.7-7.1 4.9-8.5 5.3-1.8 8.6 2 10.3 5.2 2.2 4.4 3.2 12.4 9.4 11.2 3.4-.7 5-5.6 5-7.9l2.4-2.6 3.7 1.2h.1z"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 907.5 0)" xlink:href="#a"/>
+    <path d="M461.1 279l10.8-11.7s1.6-1.3 1.6-3.4l-2.2.4-.5-1.2-.1-1.1 3-.7V260l.3-1.3-3.2.2.3-1.4.5-1 1.9-.4h1.9c1.8-3.4 9.2-6.4 14.4-1 3.8 4 3 11.2-2 13.2a6.3 6.3 0 01-6.8-1.1l2-4c2.7 1.7 5-.3 4.8-2.4-.2-2.7-2-4.3-4.3-4.5-2.3-.2-4 1-5 3-.6 1.3-.3 2.2-.5 3.6-.2 1.5 0 2.3-.5 3.8a8.8 8.8 0 01-2.4 3.6l-11 12-43 46.4-3.2-3 43.2-46.7z"/>
+    <path fill="#fff" d="M429.5 283s2.7 13.4 11.9 33.5c4.7-1.7 7.4-2.8 12.4-2.8 4.9 0 7.6 1 12.3 2.8A171 171 0 00478 283l-24.2-31-24.4 31z"/>
+    <path d="M456.1 262.4l16.8 21.7s-2.2 10.5-9 26.3c-2.7-.6-5-1.1-7.8-1.3v-46.7zm-4.7 0l-16.8 21.7s2.2 10.5 9 26.3c2.7-.6 5-1.1 7.8-1.3v-46.7z"/>
+  </g>
+  <g fill="#d52b1e">
+    <path fill="#fedf00" d="M322.3 175.5h52.6V228h-52.6z"/>
+    <path d="M329.7 175.5h7.8V228h-7.8zm15 0h7.8V228h-7.8zm15 0h7.9V228h-7.9z"/>
+  </g>
+  <g fill="#d52b1e" stroke="#d52b1e" stroke-width=".5">
+    <path fill="#fedf00" stroke="none" d="M264.3 273.5c.1 1 .5 2.6 1.4 4.3 1 1.5.6 1.4 2.7 3.8a15.3 15.3 0 004 2.9 32.7 32.7 0 0015 2.6c2.7-.1 4.8-.4 6.6-.7a71 71 0 0111-.6c1.5 0 3 .3 4.7.6 3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4z"/>
+    <path stroke-width=".3" d="M270.4 283.1l2.5 1.5 3.4 1.2v-52.2h-5.9zm29.2 2.4v-51.9h-5.8v52.8l5.8-.7zm11.7-51.9h-5.8v52.1c1.9.2 3.8.6 5.8 1v-53zm-23.4 0V287s-3.8.2-5.8 0v-53.4z"/>
+  </g>
+  <g transform="matrix(.64 0 0 .64 0 16)">
+    <path fill="#fedf00" d="M585.5 402.4a20.8 20.8 0 01-2.2 6.6c-1.5 2.3-1 2.3-4.3 6a26.3 26.3 0 01-13 7 51.8 51.8 0 01-16.6 1.6c-4.3-.2-7.5-.7-10.3-1-3.8-.6-6.7-.9-11-1a62.9 62.9 0 00-6.2 0 83.3 83.3 0 00-18.3 4.2V340h82.2v58.5l-.3 3.8z"/>
+    <g id="b">
+      <path fill="#d52b1e" d="M524.6 347l-.6.2-.8.8c-.4.4-.7.5-1.2.8l-.6.5c-.3.3 0 .6-.3 1-.1.4-.3.6-.6 1-.4.4-.7.5-1 1l-1.2 1-.3.1h-.6c-.4.2-.5.6-.8.8l.3.6.8 1.4c.2.3.2.7.5.8.5.2.9.2 1.3.1.8.2 1.3.2 2 .5l1.5.8c.5.3.8.4 1.3.5h1.8v.3l2 1a1.7 1.7 0 00-.1.4c-.1.3-.2.7-.1.8.6 1.9 1.2 3 1.5 3.2.6.2.8.9 1.1 1.5l-.3.3c-.6.6-1.2 1-1.7 1.8-.7 1.2-1.2 1.2-.3 2.8l1.5 2.4c.4.7.6 1.2.8 2 .2.7.3 1.2.3 2l1 .3.7-.6.6-1.2v-1c-.2-.1-.3-.4-.2-.7 0-.4.5-.3.7-.6.3-.5-.4-.8-.7-1.1-.6-.7-1.4-.9-1.6-1.9 0-.2 0-.4.4-.7l2-1.8c.2.1.6.2 1 .1l1.3.4c.6.2.9 0 1.2 0h.4l.1.6c.1 1-.1 3 .2 3.5l.3.6.2.6v2l-.2 1.7c0 .4-.2.7-.5 1-.2.4-.6.4-1 .7v1l1.1.5 1.3.3.7-.3.1-.6.5-.5c.4-.2.8 0 .9-.1.2-.3 0-.4 0-.8 0-.6-.2-1-.3-1.6a11.8 11.8 0 01-.1-2.8c0-.6 0-1 .2-1.5.1-1 .4-1.4.6-2.2.3-1 .3-1.6.4-2.5a24.4 24.4 0 0010.1-.6c.8.7 1.7 1.2 2.7 1.6v1c0 .3 0 .4.2.7l.3.3c.3 0 .5 0 .7-.2.2-.2.2-.4.2-.7v-.7h1.8v1.1c.1.3.3.4.5.4a.7.7 0 00.6 0c.3-.2.2-.6.3-1v-.7l1-.4a5.1 5.1 0 010 .9l-.3.9c-.2.6-.5.8-.8 1.4-.4.6-.5 1-1 1.5l-.6.7-.6.9-.9 1c-.7.6-1.2.2-2 .9l-.3 1 1.4.6 1.3.2.4-.2c0-.3 0-.6.3-.8.2-.3.4-.3.7-.4.4 0 .8 0 1-.2.4-.3.4-1 .7-1.5a12.7 12.7 0 013-3.9l1.7-1.4c.2-.4.5-.5.5-1l-.2-.6-.2-1c1.5.7 1 .7 1.2 1.4.3.6 0 1 .1 1.7.1.8.5 1.1.5 1.9.1.9-.1 1.4-.3 2.3-.1.8-.1 1.3-.5 2a3.8 3.8 0 01-1.1 1.5l-.6.5-.1 1 1.1.4 1.6.4.4-.3c.2-.7 0-1.7.4-1.7.4-.1.7 0 .8-.3v-.7l.7-4.5.4-1.9.4-1.7c.7-2-.2-2.3-1-3.6-.5-.7-.7-1-.7-1.5V362a42.7 42.7 0 010-2.8l.4-.2c1.2-.7 1.7-.9 2.4-2.5a3.4 3.4 0 00.3-1.5v-1l-.4-1a3.2 3.2 0 00-.6-.8c-.7-1-1.7-1.1-2.7-1.5-1.5-.5-2.5-.4-4-.5-1.8-.2-2.7-.2-4.4 0-2 0-3.1.4-5.1.7l-4.9.4c-2.3 0-4.4-.5-5.8-.4-2.4.2-2.5.8-6.2 1.1a67 67 0 01-3.8.2l-2.2-.7c.9-.3 1.1-.5 1.5-1 .3-.4.2-.7.6-1.1l.7-1a2.2 2.2 0 00-.9-.4h-1a3 3 0 00-1.2.3l-.8.6-2.2-1.2a8.8 8.8 0 00-3-.9zm2 11.8z"/>
+      <g fill="none" stroke="#fedf00" stroke-linecap="round">
+        <path d="M568.8 359.5l-.8.3c-.9.4-1.6.4-2.6.5-2.6.2-4.3-1.1-7-.9-1.4.1-2 1.2-3.5 1.6a9.3 9.3 0 01-1.7.2l.5-1s-1.2.3-2 .3a7.5 7.5 0 01-1.6-.2l1-1-1.3-.2a4 4 0 01-1-.7 20.5 20.5 0 001.7-.3c1.5-.4 2-1.2 3.9-1.4 1.1 0 3 0 7.6.8 3 .5 4.4.2 5.5-.3.8-.3 1-1 1.1-1.8.1-.8-.4-1.4-.8-1.8-.1 0-.5-.3-1.1-.4"/>
+        <path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M524.8 350.6c-.5 0-.9 0-1.3.3-.5.3-.6.7-1 1.1.5.1.8.4 1.2.3.4 0 .5-.2.8-.5.3-.4.4-.7.4-1.2h-.1z"/>
+        <path d="M536 363.8a13.6 13.6 0 001 2.3c.2.8 0 1.2.2 2v1.6m6.8-7l-.3 1.3-1 3.5v.7m-11-4c.9.2.6 3.3 1.9 4"/>
+        <path stroke-linecap="butt" d="M560.1 369.8l.4-.3a8.2 8.2 0 002.7-1.8"/>
+        <path d="M552.4 368c3.5-.9 5.9-2.6 7.6-2.9m-4-1.5h.8c1.5-.3 1.7.6 2.7 1.2 1.9 1 2.1 2.3 4.3 3.4l.4.1.8.4"/>
+        <path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M517.7 354.5h.7l.8-.2c.3 0 .5 0 .7.2.2 0 .2.1.3.3 0 .2.2.3.1.5 0 .2-.3.4-.6.4-.2 0-.4 0-.5-.3a.5.5 0 010-.4 1 1 0 01-.9 0 1 1 0 01-.6-.5z"/>
+      </g>
+      <path fill="#0065bd" d="M525.1 364.2l-2-.9c.4-.2.7-.2 1-.5.3-.4.3-.8.5-1.3s.2-1 .7-1.4c.3-.2.8-.2 1.1-.1.4 0 .8.4.9.7 0 .6-.2 1-.3 1.5 0 .6-.3.9-.2 1.4 0 .4.2.6.4 1l-2-.4zm-1 1a.6.6 0 11.7.5.6.6 0 01-.7-.6zm-1.7-16.6h-.2c-.4-.4-.4-.8-.6-1.2a4 4 0 01-.3-1.2v-2c0-.3 0-.6-.2-.9 0-.2-.4-.3-.3-.4 0-.1.3 0 .4 0 .4 0 .6.1 1 .4.3.3.5.6.6 1l.4 1.5.3.8.5.6-.7.8-.9.6zm3.6 10.6l2.2 1a9.2 9.2 0 003.5-3.8c.9-1.8 1-2.7 1.4-4.4l-1.8-.5h-.4c-.5 1.8-.7 2.7-1.6 4.2-.8 1.3-1.7 2.3-2.6 3l-.7.5zm5 18.2l.8-1.3 1.4-1.1h.4a8.7 8.7 0 01-.5 2.8l-.4 1-.5.5c-.5-.8-1.3-1.3-1.3-2zm33 1.8l1.4.6 1.5.9v.5l-1.5.2a8.4 8.4 0 01-1.3 0h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9.8-2l1.4.5 1.5 1c0 .1.1.3 0 .4a9 9 0 01-2.7.3l-1-.1-.7-.3c.6-.7.9-1.7 1.5-1.8zm-17.4 2.1l1.5.5 1.5 1v.5a9 9 0 01-2.8.2h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9-29.8c-.6-.3-1-1-.6-1.6.1-.2.4-.2.6-.4.2-.3.1-.5 0-.8l-.1-1-.2-1c0-.6 0-1 .4-1.6.2-.3.7-.6.8-.6.2.1 0 .5 0 .8 0 .5.1.7.3 1.2l.7 1.3c.2.6.4.8.4 1.4 0 .5 0 .7-.2 1.2a2 2 0 01-.6.8 2 2 0 01-.8.4 1.1 1.1 0 01-.6 0z"/>
+    </g>
+    <use width="100%" height="100%" y="36.6" xlink:href="#b"/>
+  </g>
+  <path fill="none" stroke="#703d29" stroke-width=".5" d="M264.1 175.5h52.6V228h-52.6zm58.2 0h52.6V228h-52.6zm-58 98c.1 1 .5 2.6 1.4 4.3 1 1.5.6 1.4 2.7 3.8a15.3 15.3 0 004 2.9 32.7 32.7 0 0015 2.6c2.7-.1 4.8-.4 6.6-.7a71 71 0 0111-.6c1.5 0 3 .3 4.7.6 3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4zm110.4 0a13 13 0 01-1.4 4.3c-1 1.5-.6 1.4-2.7 3.8a15.4 15.4 0 01-4 2.9c-1.3.7-2.3 1-4.4 1.6a32.6 32.6 0 01-10.6 1c-2.7-.1-4.8-.5-6.5-.7a71 71 0 00-7.2-.6 40.5 40.5 0 00-3.9 0c-1.5 0-3 .3-4.7.6-3.5.7-7 2-7 2v-54.8H375v37.5l-.2 2.4z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ae.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ae.svg
new file mode 100644
index 0000000..a7bdb17
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ae.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ae" viewBox="0 0 640 480">
+  <path fill="#00732f" d="M0 0h640v160H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <path d="M0 320h640v160H0z"/>
+  <path fill="red" d="M0 0h220v480H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/af.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/af.svg
new file mode 100644
index 0000000..399c1c7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/af.svg
@@ -0,0 +1,81 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-af" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path d="M0 0h640v480H0z"/>
+    <path fill="#090" d="M426.7 0H640v480H426.7z"/>
+    <path fill="#bf0000" d="M213.3 0h213.4v480H213.3z"/>
+  </g>
+  <g fill="#fff" fill-rule="evenodd" stroke="#bd6b00" stroke-width=".5" transform="translate(1 27.3) scale(1.06346)">
+    <path d="M319.5 225.8h8.3c0 3.2 2 6.6 4.5 8.5h-16c2.5-2.2 3.2-5 3.2-8.5z"/>
+    <path stroke="none" d="M266.7 178.5l4.6 5 57 .2 4.6-5-14.6-.3-7-5h-23l-6.6 5.1h-15z"/>
+    <path d="M290 172.7h19.7c2.6-1.4 3.5-5.9 3.5-8.4 0-7.4-5.3-11-10.5-11.2-.8 0-1.7-.6-1.9-1.3-.5-1.6-.4-2.7-1-2.6-.4 0-.3 1-.7 2.4-.3.8-1.1 1.5-2 1.6-6.4.3-10.6 5-10.5 11.1.1 4 .6 6.4 3.4 8.4z"/>
+    <path stroke="none" d="M257.7 242.8H342l-7.5-6.1h-69.4l-7.5 6.1z"/>
+    <path d="M296.4 219.7l1.5 4.6h3.5l-2.8-4.6h-2.2zm-2 4.6l1 4.6h4l-1.5-4.6h-3.5zm7 0l2.8 4.6h5.9l-4.6-4.6h-4.1zm-34.5 10.4c3.1-2.9 5.1-5.3 5.1-8.8h7.6c0 2 .7 3.1 1.8 3h7.7v-4.5h-5.6v-24.7c-.2-8.8 10.6-13.8 15-13.8h-26.3v-.8h55.3v.8H301c7.9 0 15.5 7.5 15.6 13.8v7h-1l-.1-6.9c0-6.9-8.7-13.3-15.7-13.1-6 .1-15.4 5.9-15.3 13v2.2l14.3.1-.1 2.5 2.2 1.4 4.5 1.4v3.8l3.2.9v3.7l3.8 1.7v3.8l2.5 1.5-.1 3.9 3.3 2.3h-7.8l4.9 5.5h-7.3l-3.6-5.5h-4.7l2.1 5.4h-5l-1.3-5.4h-6.2v5.8H267zm22.2-15v4.6h5.3l-1-4.6H289z"/>
+    <path fill="none" d="M289.4 211.7h3.3v7.6h-3.3z"/>
+    <path fill="none" d="M284.7 219.8h3.2v-5.6c0-2.4 2.2-4.9 3.2-5 1.2 0 2.9 2.3 3 4.8v5.8h3.4v-14.4h-12.8v14.4zm25.6 3.3h4v3.2h-4zm-2.4-5.3h4v3.1h-4zm-3.9-5.4h4v3.1h-4zm-3.3-4.5h4v3.1h-4z"/>
+    <path fill="none" d="M298 219.8l4.2.2 7.3 6.4v-3.8l-2.5-1.8v-3l-3.6-2v-3.3l-3.5-1.2V207l-1.7-1.5-.1 14.4z"/>
+    <path d="M315.4 210.3h1v7.1h-1z"/>
+    <g id="a">
+      <path d="M257.3 186.5c-1.2-2-2.7 2.8-7.8 6.3-2.3 1.6-4 5.9-4 8.7 0 2 .2 3.9 0 5.8-.1 1.1-1.4 3.8-.5 4.5 2.2 1.6 5.1 5.4 6.4 6.7 1.2 1 2.2-5.3 3-8 1-3 .6-6.7 3.2-9.4 1.8-2 6.4-3.8 6-4.6l-6.3-10z"/>
+      <path fill="#bf0000" d="M257 201.9a10 10 0 00-1.6-2.6 6.1 6.1 0 00-2.4-1.8 5.3 5.3 0 01-2.4-1.5 3.6 3.6 0 01-.8-1.5 5.9 5.9 0 010-2l-.3.3c-2.3 1.6-4 5.9-4 8.7a28.5 28.5 0 000 2.3c.2.5.3 1 .6 1.3l1.1.8 2.7.7a7.1 7.1 0 012.6 2 10.5 10.5 0 011.8 2.6l.2-.8c.8-2.7.7-5.9 2.6-8.5z"/>
+      <path fill="none" d="M249.8 192.4c-.5 3.3 1.4 4.5 3.2 5.1 1.8.7 3.3 2.6 4 4.4m-11.7 1.5c.8 3 2.8 2.6 4.6 3.2 1.8.7 3.7 3 4.5 4.8"/>
+      <path d="M255.6 184.5l1-.6 17.7 29.9-1 .6-17.7-30z"/>
+      <path d="M257.5 183.3a2 2 0 11-4 0 2 2 0 114 0zm15.2-24h7.2v1.6h-7.2zm0 3.1h7.2v13.8h-7.2zm-.4-5h8c.2-2.7-2.5-5.6-4-5.6-1.6.1-4.1 3-4 5.6z"/>
+      <path fill="#bd6b00" stroke="none" d="M292.6 155.8c-1.5.6-2.7 2.3-3.4 4.3-.7 2-1 4.3-.6 6.1 0 .7.3 1.1.5 1.5.2.3.4.5.6.5.3 0 .6 0 .7-.3l.2-.8c-.1-2-.1-3.8.3-5.4a7.7 7.7 0 013-4.4c.3-.2.4-.5.5-.7a1 1 0 00-.3-.7c-.4-.3-1-.4-1.5-.1zm.2.4c.4-.2.8 0 1 .1l.1.2c0 .1 0 .2-.3.4a8.2 8.2 0 00-3.1 4.6 16.7 16.7 0 00-.3 5.6 1 1 0 01-.2.6s0 .1-.2 0c0 0-.2 0-.4-.3a3.9 3.9 0 01-.4-1.2c-.3-1.8 0-4 .7-6 .7-1.8 1.8-3.4 3-4z"/>
+      <path fill="#bd6b00" stroke="none" d="M295.2 157.7c-1.5.7-2.5 2.3-3 4.2a13.6 13.6 0 00-.3 5.9c.2 1.3 1 2 1.6 2 .3.1.6 0 .8-.3.2-.3.3-.6.2-1-.4-1.6-.5-3.4-.3-5.1.3-1.7 1-3.2 2.2-4.1.3-.3.5-.5.5-.8a.8.8 0 00-.2-.6c-.4-.3-1-.4-1.5-.2zm.2.5c.4-.2.8-.1 1 0l.1.3-.3.4a6.5 6.5 0 00-2.4 4.4c-.3 1.8-.1 3.7.2 5.2.1.4 0 .6 0 .8l-.5.1c-.3 0-1-.5-1.2-1.7-.3-1.7-.2-3.9.3-5.7.5-1.8 1.5-3.3 2.8-3.8z"/>
+      <path d="M272.3 187.4h8v11h-8zm.5 17.4h7.7v2.4h-7.7zm-.2 4.1h8v8.7h-8zm-.6 10.5h8.7v4.9H272zm1.1-16.6h7l1.4-2.4h-9.6l1.2 2.4zm9.4-8.6l.1-6h4.8a17.4 17.4 0 00-4.9 6z"/>
+      <path fill="none" d="M273.6 196.7c0 1.3 1.5.8 1.5.1v-5.6c0-1 2.4-.8 2.4-.1v6c0 1 1.7.9 1.6 0v-7c0-2.2-5.5-2.1-5.5-.1v6.7zm0 13.3h5.7v7h-5.7z"/>
+      <path d="M277.2 213h2v1h-2zm-3.5 0h2v1h-2zm2-3h1.5v3h-1.5zm0 4h1.5v3.1h-1.5zM244 139c.4 5.5-1.4 8.6-4.3 8.1-.8-3 1-5.1 4.3-8.1zm-6.5 12.3c-2.6-1.3-.7-11.5.3-15.8.7 5.5 2 13.3-.3 15.8z"/>
+      <path d="M238.4 151.8c4.4 1.5 8-3.2 9.1-8.7-3.6 5-9.5 5-9 8.7zm-3.3 5.1c-3.4-.9-1.4-11.7-.7-16 .7 4.5 3.1 14.5.7 16zm1.2-.3c.2-3.7 3.9-2.7 6.5-4.7-.5 2-2 5.2-6.5 4.7zm-4.2 5c-3.4-1-1.4-12.6-1.6-17.4 1 4.2 4.2 16.3 1.6 17.4zm1.6-.5c2.8.9 6.5-1 6.8-4.3-2.5 1.7-6.3.4-6.8 4.3z"/>
+      <path d="M229.5 166.7c-3.2.3-1.8-9.6-1.8-18.8 1.2 8.6 4.5 16.5 1.8 18.8z"/>
+      <path d="M230.7 166.3c2.2 1 6.1-.7 7.2-4.4-4 1.7-6.6 0-7.2 4.4zm25.6-22.2c-.6 4.9-2.6 7.7-5.5 7.2-.8-3 1.6-5 5.5-7.2zm-7.8 12.4c4.9.7 6.6-3 10-7.9-4.7 3.4-10.2 4-10 8z"/>
+      <path d="M247 156c-2.6-3.2 0-7.3 2-10.7-.4 5.1 1.3 8-2 10.7zm-1 5.3c-.4-3.2 5-3.9 7.4-5.6-.9 1.8-2 6.7-7.5 5.6z"/>
+      <path d="M244.8 161.3c-3.7-.4-2.2-6.7.5-10.1-1.1 4.8 2 8.1-.5 10.1z"/>
+      <path d="M242 166.6c-4.2-2-1.5-7.2 0-10.3-.6 4.1 2.8 7.2 0 10.2z"/>
+      <path d="M242.8 166c2.2 3 6.5-.8 7.4-5.2-3.7 3.1-6.5 2.6-7.4 5.3zm-9.6 20.3c-.4-4.3 2.8-12 .5-16.2-.3-.6.7-2.1 1.4-1.2 1 1.5 2 5.7 2.5 4.1.4-1.7.5-4.6 2-5.2 1-.3 2.3-.6 1.9 1-.4 1.4-1.2 3.4-.3 3.5.5 0 2-2 3.3-3 1-.8 2.6.6 1 1.8-4.8 4-9.5 5.9-12.3 15.2zm-8.7 64.5c-.6 0-1.3-.3-.6.6 5.7 7 7.3 9 15.6 8 8.3-1.1 10.3-3.4 16.2-6.7a14.6 14.6 0 0111.2-1c1.6.5 2.6.5 1.4-.7-1.2-1.1-2.5-2.7-4-3.8a17.5 17.5 0 00-12.7-2.7c-6 1-11.1 4.9-17.2 6.4a25 25 0 01-9.9 0zm47.8 12.5c1 .2 1.7 2.2 2.3.9.8-2.3.2-4-.8-3.9-1.2.3-3.1 3-1.5 3z"/>
+      <path stroke="none" d="M220.6 183c-1.2-1.4-.9-1.8 1-1.9 1.4 0 4.2 1 5.3.1 1-.7.5-3.7 1-5 .2-.9.7-2 2-.2 3.6 5.8 8 12.8 10 19.6 1 3.8 0 9.8-3.4 13.8 0-3.4-1.2-5.7-2.7-8.6-2-3.7-9.1-14-13.2-17.9z"/>
+      <path d="M235.5 213.4c4 0 4.7-5.3 4.7-6.8-2 .4-5.4 3.7-4.7 6.8zm34.5 51.9c2.8.6 2.7-6.2-.2-9.1 1.3 4.4-2 8.4.1 9zm-1.2-.1c.2 3.2-8-.4-10-3 4.8 2.1 9.8.4 10 3zm-3.5-4.6c.3 3.1-7 .3-9.3-2.1 4.9 1.6 9-.5 9.3 2zm1.3.4c2.9.7 2.4-6.4-.4-8.8 1.4 4.7-1.8 8.1.4 8.8zm-3-4.3c2.9.7 1.2-5.4-.9-7.8.4 4.4-1 7.5 1 7.8zm-1.5 0c.3 3.2-5.4.8-7.6-2.3 4.8 1.5 7.3-.3 7.6 2.3zm-1.5-2.5c1.8-1.3-.1-4.8-3.7-4.6.4 2.1 1.6 5.9 3.7 4.6zm14 14.7c.1 3.2-8 1.6-10.6-1.8 5.2 1 10.3-.8 10.5 1.8zm-32.4-5.8c.3 3.2-8.6-.4-10.8-3.4 4.7 1.6 10.5.8 10.8 3.4zm5.4 1.3c1.9-1.3-1.9-4.7-5-5.5.4 2.1 3 6.8 5 5.6zm.6 2.3c.2 2.9-9.5 1.3-12-1.4 8.3 1.5 11.7-1.1 12 1.4z"/>
+      <path d="M252.8 268.6c1 2.7-8.3 2-11.6.5 5.3 0 10.8-2.4 11.6-.5z"/>
+      <path d="M257.1 270.6c1 2.4-7.6 2.4-11.8 1 5.6 0 10.8-3.4 11.8-1zm6.3 1.3c1.6 2.9-7.6 3.1-10.5 1.7 5.2-.7 9.2-4 10.5-1.7zm-10.7-4.9c-2.9 1.8-2.7-3.6-5-7.3 3.6 3.3 7 5.6 5 7.3z"/>
+      <path d="M257.9 269c-2.4 2.1-4.4-5.3-6.6-9.5 3.6 4 8.8 7.7 6.6 9.4zm6.8 2c-2 2.4-8-7-10.2-12 3.3 3.9 11.8 10 10.2 12zm-5.8 7.2c-1 3.6-16.2-3.4-18-7.1 8.8 4.6 18.2 3.6 18 7zm-48.7-73.8c-.4-.5-1.4 0-1.2 1.1.3 1.5 2.5 9.2 6.3 11.8 2.7 2 17 5.1 23.4 6.5 3.6.7 6.5 2.5 8.9 5.3a94.4 94.4 0 00-3-9.8c-1.2-3-4.4-6.2-7.8-6.3-6.1-.3-14.1-.8-20-3.3a16 16 0 01-6.7-5.3z"/>
+      <path d="M245.5 234.9c2 1.4 4.1-3.7 1.7-8.6-.1 4.7-3.8 6.3-1.7 8.6z"/>
+      <path d="M247.4 239.6c2.7.8 3.5-4 1.8-7.8.3 4.1-4.3 6.6-1.8 7.8z"/>
+      <path d="M249.5 243.4c2.6 1.3 3.5-3.6 1.7-7.1.2 4.5-3.7 5.9-1.7 7z"/>
+      <path d="M248.4 243.7c-1 3-7-2.7-8-5.8 3.7 3.7 8.7 3.2 8 5.7z"/>
+      <path d="M245.7 239c-1.2 3-8.7-5-10.4-8.7 3.7 3.7 11.2 6.5 10.4 8.6z"/>
+      <path d="M244.2 234.3c-1.2 3.5-9.3-5.8-11.7-9.1 4 3.6 12.6 6.6 11.7 9.1zm-.3-3.4c3-.6-.1-3-3.7-6.9-.1 4.1.5 7 3.7 6.9z"/>
+      <path d="M239 228.5c1.3-1.3-1.1-1.9-4.1-5.3-.5 2.3 2.8 6.5 4.2 5.3zm14 15.2c1.6 1 2.6-2.3.7-5.2-.5 3.2-2.1 4-.7 5.2zm-34.2-20.3c-3.3 2-8.6-6-10-9.3 2.9 3.8 10.6 7.2 10 9.3z"/>
+      <path d="M221.7 228c-1.9 2-7.7-3.5-9.7-6.3 3 2.7 10.5 3 9.7 6.3z"/>
+      <path d="M224.8 232.2c-.6 2.8-9-3.5-11-6.5 3.6 3.5 11.6 3.2 11 6.5z"/>
+      <path d="M223.5 235.3c-1.3 2.5-8.2-3.8-9.9-7 4.3 3.6 11 4.5 10 7zM220 223c2.1-2.3 1.2-3.4-.4-7-.8 3.7-2.1 5.2.4 7zm2.9 4.3c4 .2 0-4.6-1-8.7.4 4.6-1 8.3 1 8.7z"/>
+      <path d="M225.4 231.1c2.7-.6 2-4.5-.2-9.2.5 5.1-2.3 8 .2 9.2zm-1 7.7c-1 3-8.8-4-10-6.8 4 3.4 10.7 4.5 10 6.8z"/>
+      <path d="M229.1 243.6c-1.1 3-9.3-3.2-11.8-6.6 4.9 4 12.4 3.6 11.8 6.6z"/>
+      <path d="M233.9 248.5c-1.3 4.3-9.9-2.6-12.4-6 5.4 4.2 13 3 12.4 6zm-8-11c2.3 1.1 3.2-5.4 1.9-10.1 0 5-4.7 8.8-2 10z"/>
+      <path d="M229.8 242.7c2.8.8 2-6.3-.5-11-.3 4.7-2.3 9 .5 11zm5 4.9c3 .1 1-6.1-1.6-9.6.4 4.5-1 9 1.6 9.6zm-5.5 2.6c-1 1.6-3.2-1.3-7-3.5 3.4 1 7.4 2 7 3.5zm-1.8-52.7c3-2.2.7-6.2 0-10-1 3.6-3.4 8.4 0 10zm0 5.3c-4.5-.5-3.8-6.1-4-9.7 1.4 4.9 5 5.7 4 9.8zm.6-.7c3.7-.2 3.5-4.4 3.7-8.6-1.9 3.9-4 4.5-3.7 8.6z"/>
+      <path d="M228 207.3c-3 .3-4.4-2.6-5-7 2.7 4.1 5.1 2.8 5 7zm1-.3c3.7.5 3-3.8 3-7-1.2 3-4.2 4-3 7z"/>
+      <path d="M223.2 205.2c.3 2.8 2.1 7.6 5 6.5 1.1-3.4-2.6-4.1-5-6.5z"/>
+      <path d="M229 212c-1.2-2.4 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 7zm-11.9-29.2c2.3-2.4.3-6.4-.4-10.2-1 3.6-2.5 8.4.4 10.2zm0 4.6c-4 .5-5-7.7-5.5-11.3 1.4 4.9 6 7 5.5 11.4zm.8 0c2.8-1.5 2.2-4.7 3-7-1.8 2.9-3.6 3.3-3 7z"/>
+      <path d="M217 192.8c-4.1.3-6.6-8.8-6.8-12.4 1.3 4.9 7.4 7.5 6.9 12.4zm.9-.2c4-.9 3.5-3.5 2.9-7.6-1.3 4.2-3.5 3.3-2.9 7.6z"/>
+      <path d="M217 198c-4.6.8-4.3-6.6-8-11.9 3.2 4 9 9 8 11.9zm1-.3c3.6.2 4-5.1 3.8-7.3-.9 2.2-5 4.2-3.7 7.4z"/>
+      <path d="M209.8 192.3c1.7 5.7 4.2 11.4 7.2 11 1.5-3.3-2.9-3.7-7.2-11z"/>
+      <path d="M218.1 202.4c-1.2-2.5 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 6.9zm-7.1-3.6c2.5 5.1 3.6 11 7 10.1 1.3-4-3.8-4.8-7-10.1z"/>
+      <path d="M218.7 208c-1.5-2.8 2.7-3.7 3.8-7.4.5 4.8 0 8.3-3.8 7.3zm7.2-34.5c2.4.6 5-2.1 4.1-6.2-2.8.6-4 3.2-4.1 6.2zm-7.9-2.1c.2 1.2 1.7 1.3 1.2-.4a5.3 5.3 0 010-3.4 7.5 7.5 0 000-4.6c-.4-1-1.8-.4-1.2.4.6.9.7 2.8.2 3.7-.6 1.3-.4 3-.2 4.3zm22.9 16c-1 1.3-2.9.4-1.4-1.5 1.2-1.5 3-2.8 3-4.4.2-2 1.3-5 2.4-6.1 1.1-1.1 2.4.4 1.2 1.2-1.3.8-2.2 4.4-2.1 5.8-.1 2-2 3.5-3.1 5zm-3-2.3c-1 1.4-2.4.5-1.6-1.7.7-1.5.8-3.5 1.6-4.6 1.2-1.7 3-3.1 4.1-4.2 1.2-1 2 0 1 1a27 27 0 00-3.3 4c-1.4 2.2-.8 4-1.8 5.5zm-15.7-7.2c-.1 2 1.5 2.4 1.4-.4 0-3-2.2-5.8-1-10.3.8-2.2.8-6.3.4-8.4-.4-2.2-2-.8-1.3.9.6 2-.1 5.6-.6 7.5-1.5 5.4 1.2 8 1 10.7zm4.3-11c-.2 1.9-1.8 2-1.3-.5.4-2 .4-3.6 0-5.3-.6-2.1-.4-5.7 0-7.2.5-1.6 2-.7 1.4.5a9.9 9.9 0 00-.3 5.9c.6 2 .5 4.8.2 6.7zM210.9 204c.8.9 2 .3 1-1-1-1-.7-1.2-1.3-2.4-.6-1.4-.5-2.1-1.2-3-.7-1-1.6 0-1 .7.8 1 .6 1.6 1 2.5 1 1.5.7 2.3 1.5 3.2zm20.4 24.6a8.6 8.6 0 014.4 6.7 16 16 0 002 7.1c-2-.5-3-3.7-3.3-6.8-.3-3.2-2-4.5-3-7zm5.1 5.9c1.7 3.1 4 4.3 4.2 6.6.2 2.7.4 2.8 1.1 5.4-2-.5-2.5-.7-3-4.7-.3-2.8-2.6-4.7-2.3-7.3z"/>
+      <path stroke="none" d="M289 263.3c1 1.8 2 4.5 4 4 0-1.3-2.1-2.3-4-4zm3 .6c3.7 1.6 7 1.2 7.5 3.6-3.6.4-5-1-7.6-3.6zm-16.1-12.7a14 14 0 015 7.7 29 29 0 003.6 7.8 13 13 0 01-5.3-7.4c-.7-3-1.6-5.3-3.3-8zm3.1 0c2.8 2.2 5.4 4.8 6.2 7.9.8 2.9 1.3 5.1 3.2 8-3-1.9-4.1-4.7-5-7.8-.7-3-2.5-5.2-4.4-8zm9.2 7.3a1.1 1.1 0 01.7-1.2 33.4 33.4 0 012.6-.8c1-.3 1.6.4 1.6.9v2c0 .7-.2.8-.7.9-.7.1-1.7.2-2.4.7-.6.4-1.2.1-1.5-.5l-.3-2zm10.6 0c0-.6-.2-1.1-.6-1.2a5.4 5.4 0 00-2.4-.4c-1 0-1.1.2-1.1.6v2.1c0 .8 0 .8.4 1 .7 0 1.8 0 2.5.6.5.3 1 0 1.1-.6l.1-2.1z"/>
+    </g>
+    <use width="100%" height="100%" x="-600" transform="scale(-1 1)" xlink:href="#a"/>
+    <g stroke="none">
+      <path d="M328.5 286.6c0 1.2.2 2.2 1 3.1a19 19 0 00-13.8 1.1c-1.8.8-4-1-1.9-2.7 3-2.3 9.7-1 14.7-1.5zm-57.5 0a7 7 0 01-.4 3c4.4-1.7 9.1-.2 13.6 1.6 3 1.3 3.3-1 2.8-1.7a6.5 6.5 0 00-5-2.9h-11zm3.8-21.7c-1.3-.5-2.7 0-4 1.4-4.3 4.2-9.4 8.3-13.5 11.6-1.5 1.3-3 3.7 3.4 6 .3.2 5 2 8 2 1.3 0 1.3 1.8 1 2.3-.5 1-.1 1.4-1.1 2.3-1.1 1 0 2.1 1 1.3 3.6-3.2 9.6-1.1 15.3.7 1.4.4 3.8.3 3.8-1.6 0-2 1.5-3.4 2.4-3.5 2.4.4 14 .5 17.5.1 2-.3 2.2 2.9 3.3 4 .8.9 3.7 1.1 5.8.2 4-1.8 10-1.8 12.5 0 1 .7 1.9 0 1.3-.7-.8-1-.7-1.6-1.1-2.4-1-2-.2-2.4.8-2.5 11-1.5 14.6-5.2 11.2-8.3-4.4-3.8-9.2-7.7-13.4-12.2-1.2-1.2-2-1.7-4.3-.7a66.5 66.5 0 01-25.3 5.9 76 76 0 01-24.6-5.8z"/>
+      <path fill="#bd6b00" d="M326.6 265.5l-1.6.4c-9 3.2-17.2 5.4-25.7 5.4-8.3 0-17-2.4-24.9-5.6a2.3 2.3 0 00-1.5 0c-.5.1-1 .4-1.3.7a115.5 115.5 0 01-11.8 10.3c-.7.5-.6 1.8.5 2.2 8.3 3 16.4 8.5 39.6 8.3 23.5-.2 31.8-5.6 39.2-8.1.5-.2 1-.5 1.3-1a1 1 0 00.1-.8 2 2 0 00-.6-.8c-4.3-3.5-8.8-6.3-11.8-10.4-.3-.5-.9-.6-1.5-.5zm0 .5c.5 0 1 0 1.1.3 3 4.3 7.7 7 11.9 10.5l.4.7a.5.5 0 010 .4c-.1.3-.6.6-1 .7-7.6 2.6-15.7 8-39 8.2-23.2.2-31.2-5.3-39.5-8.3-.8-.4-.7-1.2-.4-1.4 4.2-3.2 8.2-6.8 11.8-10.4a2.5 2.5 0 011.1-.6h1.2a68 68 0 0025 5.6c8.7 0 17-2.2 26-5.3a6.7 6.7 0 011.5-.4z"/>
+      <path d="M269.7 114.6c0-1.4 2-1.5 1.8.4-.3 2.3 4.5 8.3 4.9 12 .3 2.5-1.5 4.6-3.2 6a6.6 6.6 0 01-6.8.5c-.9-.8-1.7-3.3-1-4.3.2-.3 1.3 3.7 3.7 3.7 3.3 0 6-2.5 6-4.7.2-3.8-5.3-9.8-5.4-13.6zm9.5 9.4c.6-.4 1.4 1.3.8 1.7-.5.3-1.5-1.3-.8-1.8zm1.5-3.5c-.3.2-.8 0-.7-.2a12 12 0 013.6-3.3c.4-.2 1 .4.8.7a11 11 0 01-3.7 2.8zm12.6-10c.3-.6 2.1-1.3 2.6-1.7.4-.5.6.4.4.7-.3.7-1.9 1.7-2.6 1.8-.3 0-.6-.4-.4-.7zm4.3.3a8.3 8.3 0 012.5-3.4c.5-.3 1.3 0 1.1.4a9 9 0 01-2.9 3.3c-.3.3-.8 0-.7-.3zm-3.7 2.7c-.3.2-.1.7.1.8.6.2 1.5.2 2 0 .6-.4.3-2.9-.5-1.6-.6.8-1 .6-1.6.8zm-7.3 5.6c-1.3-1 .4-2.4 1.7-1.4 2.7 2-4 9.8-7.6 13.4-.7.7-1.3-1-.4-1.9a33.7 33.7 0 006.7-7.6c.4-.5.7-1.6-.4-2.5zm15.3-6.6c.1-1-1.6 0-1.6-1.3 0-.7 1.9-1.2 2.7-.4 1.3 1.4.3 3.7-2 3.9-1.8 0-5 2.7-4.5 3.2.5.7 5.4 1.1 8.3.7 1.8-.3 1.4 1.3-.4 1.5-1.8.2-3.2 0-4.8.6-2 .5-2.8 3-3.9 4-.2.2-.8-.8-.6-1.2.8-1.2 2-3 3.4-3.6.8-.3-2.4-.4-3.4-.7-.8-.2-.6-1.3-.3-1.9.4-.8 3.4-3.9 4.7-3.8 1.1 0 2.3-.3 2.4-1zm5 .2c.6-.5 1-1.3 1.5-1.8.3-.3.9 0 .8.8-.1.7-1 1.2-1.5 1.7-.5.3-1-.4-.7-.7zm6.5-2.3c.9 0 1 1.6.2 1.8-.6.2-1-1.7-.2-1.8zm-2.1 5c0 1.5.7 1.4 2 1.3 1.3 0 2.4 0 2.4-1.2 0-1.3-.7-2.5-1-1.6-.1.8-.3 2.2-.8 1.6-.4-.5-.2-.6-1 .2-.5.5-.5-.2-.8-.6-.2-.3-.8.2-.8.4zm-9.2 7.2c-.3 1.9 0 4.5.9 4.5 1.2 0 3.6-4 4.8-6.2.7-1.2 1.8-1.4 1.3-.1-.7 1.9-.6 6 0 7.2.4.6 3-.6 3.4-1.5.8-1.7.1-4.8.4-6.7.1-1.2 1.3-1.5 1.2-.3a75.6 75.6 0 00-.1 7.5c0 1 2.9 2.4 3.3-.6.2-1.8 1.2-3.7 0-5.7-.8-1.3 1.1-1.2 2.1.6.7 1.2-.6 3.2-.5 4.7 0 2.4-1.8 3.8-3.1 3.8-1.2 0-2-1.5-3-1.5s-2.2 1.7-3 1.6c-3.6-.2-1.7-5.3-2.8-5.4-1.2 0-2.5 5-4 4.9-1.4-.2-3-4.2-2.3-5.8.5-1.6 1.5-2 1.4-1zm16.9-8c-1.7-1 0-3.7.9-2.8 1.6 2 3.2 6.5 4.4 6.9.7.2.6-3.4 1.1-5 .4-1.3 1.8-.9 1.6.7-.1.5-2 6.4-1.8 6.6a47.1 47.1 0 013.3 7.8c.3 1.2-1.1.4-1.3.2-.9-1.4-2.4-6.5-2.4-6.2l-1.7 7.7c-.2 1-1.7.8-1.3-1 .3-1.4 2.3-8.3 2.2-8.6a17.2 17.2 0 00-5-6.3z"/>
+      <path d="M322 131.2c-.4 0-1.2 1 1.2 1.5 3.1.6 6.6-.5 7.6-3.6 1.3-3.7 2-7.2 2.7-8.5.8-1.5 1.8-1.4 1-3.6-.5-1.7-1.5-1.2-1.7-.3-.5 2.3-2.6 10-3.3 11.3-1.2 2.6-3.7 3.6-7.5 3.2z"/>
+      <path d="M328.4 119c-.4-.7-1.2 0-1 .7a1.2 1.2 0 001.2 1c.7 0 2.2.1 2.2-1 0-.8-.7-1.5-1.1-.6-.5.8-1 .7-1.3 0zm.7-3c-.2.2 0 1.1.3 1a7 7 0 003.3-.8c.2-.2.1-.7-.2-.7-1 0-2.6 0-3.4.5zm8.8 2.3c.8-1.2 2.8-1.3 2 .4a614.3 614.3 0 01-6.3 12.3c-.8 1.4-1.4.7-.8-.4.7-1.4 4.9-12 5.1-12.3z"/>
+      <path d="M330.2 133c-.2-.8-1.5-2-1.3.2.2 3.8 5.5 2.6 7 1.3s.3 4.3 2.2 4.9c1 .3 3-1.1 4-2.4 2.7-3.5 4.5-8.6 7-12 1-1.4-.5-2.4-1-1.3-2.4 3.8-5.2 11.6-8.3 13.6-2.5 1.6-1.7-2-1.8-3.2-.1-.8-1.1-2-2.4-.9a5.5 5.5 0 01-3.7 1.2c-.7 0-1.4 0-1.7-1.4z"/>
+      <path d="M339.6 126c0-.3-1.1-.4-1 .7 0 .8 1 1 1.1 1 1.5-1.2-.3-.6-.1-1.8zm-2.3 4.4c-.3 0-.6 1 .2 1.1l3.9-.2c.4 0 .6-.9-.4-.8-1.2 0-2.7-.3-3.7 0zm-62-16.6c.5 0 1.6 1.4 1.5 1.9 0 .2-1.2 0-1.5-.3-.3-.3-.2-1.6 0-1.6zm-5.3 10.4c-1 .6.2 1.7 1 1.2 2.8-1.9 7-3.8 8-7.5.3-1.2 1.4-3.1 2.5-3.5 1-.5 2.6 1.9 3.6 0 .6-1 2.7.7 3.2-.4.6-1.3.3-2 .3-3.4 0-.8-.7-1-1.2.3-.2.6 0 1.2-.1 1.6-.2.2-.6.4-1 .2-.2-.2 0-.7-.6-1-.2 0-.6-.1-.8.2-.7 1.3-1 2.5-2.1 1-.9-1-1.4-3.1-2-.3-.2 1-1.7 2.4-2.6 2.4-1.1 0-.8-3-3.2-2.5-1.3.3-1.2 2.7-1 3.5.3 1.3 4 .4 3.7 1.2-.6 2.7-4.4 5.4-7.7 7zm-22.7 13.2c-.1.5.5 1.7 1.1 1.8.6 0 1-1.3.8-1.8-.2-.3-1.8-.3-1.9 0zm3.3 4.9c-.4-.4-1.6.7-.6 1.5.5.5 2.5 1.1 3 .2.8-1.2-.7-5.5 0-6 .5-.5 2.8 2.8 4 3 2.7.4 2-4.6 5-4.2 1.9.2 2.1-2.2 1.8-3.8-.2-1.5-2.6-3.6-3.7-4.6-1.4-1.2-2.1 1-1.2 1.6 1.2 1 3.3 2.9 3.6 4.1.1.6-1.4 1.8-2 1.5-1.4-.8-2.6-4-3.8-4.7-.4-.2-1.4.3-1 1.3.6 1.1 3 2.7 3.1 3.9.1 1-1 3.2-1.8 3.2-.9 0-3-2.7-3.7-4-.4-.5-1.5-.5-1.7.4a22 22 0 00.5 5.5c.2 1.6-.9 1.7-1.5 1.1zm-4-8.6c-.4.4.8 1.2 1 1 .4-.4 2.1-2.3 1.8-3-.3-.6-2.6-2-3-1.3-.7 1.1 2.2 1.7 1.7 2a7 7 0 00-1.5 1.3zm4.1-8.4s.8 2.5 1.4 1.4c.4-.7-1.4-1.4-1.4-1.4zm1.2 4c-.2 0-1 .7-.5 1 .8.4 2.9.8 2.4-.7-.3-.9 3.2 0 2.3-2.4a3.7 3.7 0 00-1.7-1.7c-.4 0-1.5.5-.8.9.5.2 2 1.1 1.5 1.7-.7.6-1.1-.3-1.9-.1-.4 0-.1 1.2-.4 1.5 0 .2-.7-.4-.9-.3zm5.5-9.5a3.5 3.5 0 00-1.2 2c0 .2.3.6.5.5a3.2 3.2 0 001.2-1.9c0-.3-.2-.8-.5-.6zm2.8-.3c-.8-1 1-2.6 1.7-.5.5 1.3 5.5 7.9 6.5 10.1.8 1.5 0 2.1-.9 1-2.5-3.2-4.6-7.2-7.3-10.6zm5.2.1c.9-1 2.7-3 2.2-4-.4-1-1.5-1-1.7-.7-1 1.3.8 1 .5 1.4-.5 1-1 1.6-1.3 2.6-.1.3.1.9.3.7zm77.8 3.2c-.7-.5.6-3 1.5-2 2.3 2.7 3.4 11.6 4.1 18.3 0 0-1 .9-1 .7 0-3.5-1.5-14.4-4.6-17zm-53.1-8.6c-.8-1.8 1.1-2.4 1.4-1.2 1.3 5.8 4.5 10.2 7 14.1.7 1.2 0 2-1.7.8-1.2-.8-2.5-3.9-3-4-1.2-.2-3.8 5-9.1 3.5-1.4-.4-1.3-4.5-1.4-6.3 0-.9 1-1 1 0 0 1.7 0 5.2 2.1 5.4 1.8 0 5.6-2.4 6.4-4.4.8-2-1.9-5.9-2.7-8z"/>
+      <path d="M344.6 138.4c.4-1.2 6.1-10.8 6.9-12.9.4-1 2 1.8.4 3.3-1.4 1.2-5.5 8-6.3 10.4-.4 1-1.4.5-1-.8z"/>
+      <path d="M354.3 129.3c1-4 3.6.6 1.3 2.8-3.4 3.4-4.5 9.9-10 10.9-1.4.3-4-.7-4.8-1.3-.3-.2.2-1.6 1.1-.9 1.3 1 4.1 1.3 5.6.1a25.4 25.4 0 006.8-11.6zm-57 12.7c-.3.3-1 .3-1.1.7-.3 1.4 0 2.2-.3 3.6s-1.3 1.4-1.2.3c0-1.4 1.3-3.5.4-3.6-.6-.1-1-.9-.4-1.3 1.1-.7 1.7-.6 2.4-.4.3.1.4.5.2.7z"/>
+      <path d="M296.5 140c-1.4 1.4-2.8 1.9-4.1 3.5-.6.6-.5 1.5-.9 2.4-.3.9-1.4 1-1.7.9-.5-.4-.4-2-1-1.2-.6.9-.9 2-1.7 2-.7 0-2-1.5-1.3-1.5 2.3-.3 2.2-2 3-2.2 1-.1 1 1.5 1.7 1.2.4-.2.7-2.1 1.2-2.6 1.5-1.6 2.7-2.4 4.3-3.6.7-.6 1.3.5.5 1.2zm5.3 5c-1.2.2-1 1.7-.6 1.8.5.3 1.4.4 1.7-1.3.2-.7.3 3.5 1.8 1.9 1-1 3.1.2 4-1 .7-.9 1-1.5.4-2.7-.2-.3-1-.2-1 .7 0 .8-.5 1.7-1.3 1.6-.4-.1.2-1.9-.2-2.4a.5.5 0 00-.7 0c-.3.4.3 2.2-.6 2.4-1.2.2-.6-1.2-1-1.4-1.7-.8-1.8.2-2.5.3zm9-3c.9-.2.6-.2 2-1.3.5-.4.6.8.5 1.3 0 .7-1 .2-1.3.9-.4.9-.2 3-.4 3.8 0 .4-.8.4-.8 0-.2-1 .1-2 0-3.3 0-.4-.5-1.1 0-1.3zm-5-2.5c-.2.9-.2 1.6-.2 2.3 0 .5 1 .2 1 .1 0-.8.2-2 0-2.3-.2-.1-.7-.3-.8-.1z"/>
+      <path d="M299.5 130.2l-1.4 5.6-2-3.8v3.9l-4.4-5.2 1.5 5.6-4-3.4 2.2 3.8-7-4.5 4.4 5.2-5.6-2.8 4 3.4-9-3.4 8.7 4.3a29 29 0 0112.6-2.6c4.9 0 9.3 1 12.5 2.6l8.8-4.3-9 3.4 4-3.4-5.5 2.8 4.3-5.2-7 4.5 2.2-3.8-4 3.3 1.5-5.5-4.3 5.2V132l-2 3.8-1.5-5.6z"/>
+    </g>
+  </g>
+  <path fill="#fff" d="M311.3 295l-.3 2.6h-.4l-.1-1.8a9.3 9.3 0 00-.5-1.6 7.3 7.3 0 00-.5-1.3l-1-1.4.8-2.2a6.6 6.6 0 011.5 2.4 9.4 9.4 0 01.5 3.2m7-4.2c0 .7-.2 1.2-.5 1.5-.2.3-.6.6-1.3.7l.4 1.5a6.7 6.7 0 010 2 22.5 22.5 0 01-.1 1.3h-.4a8.2 8.2 0 00-.1-1.3 5.5 5.5 0 00-.2-1l-.4-1a10.5 10.5 0 00-.7-1.4l-1-1.7.6-2 1 1c.3.2.6.3 1 .3.8 0 1.2-.4 1.2-1.3h.4v1.4m6.4 4.8l-.5 2.1c-.4 0-.6-.3-.8-.7l-.4-1.3a12.4 12.4 0 01-.1-1.7 4 4 0 01-1 .2 2 2 0 01-1.3-.4 1.3 1.3 0 01-.5-1c0-.9.3-1.7.7-2.3.5-.7 1-1 1.5-1.1.5 0 .8.1 1 .4a2 2 0 01.3.9v2c0 .9.1 1.5.3 1.9 0 .3.3.6.8 1m-2-3.5c0-.6-.3-.8-.8-.8a1 1 0 00-.6.1c-.2.1-.2.2-.2.3 0 .3.3.5 1 .5l.6-.1m8.7 3l-.3 2.6c-.5-.4-1-1-1.4-2a25.4 25.4 0 01-1.3-4.1 52.8 52.8 0 01-1.8 5.5 2.9 2.9 0 01-.8.7v-2.5c.6-.7.9-1.1 1-1.5a7.6 7.6 0 00.8-1.7l.5-2.7h.4l.9 2.7c.2.6.5 1.2.9 1.6l1 1.4"/>
+  <path fill="#bf0000" d="M350.8 319.4c.4.4.6.8.7 1.2l.4 1.6-.8.1a7.8 7.8 0 00-1-1.5 18.8 18.8 0 00-1.1-1.2 46 46 0 00-1.7-1.5 34.4 34.4 0 00-2-1.7c-.4-.2-.6-.4-.6-.5a1.9 1.9 0 01-.3-.8 11.2 11.2 0 01-.2-1.6l2.7 2.2a44.3 44.3 0 012.5 2.2l1.4 1.5m-9.5-5.8l-.2 2H338l.3-2h3m8.4 8.9l-7.6 2.3-1.3-2 6.5-2-.7-.8a2.8 2.8 0 00-.9-.6 1.4 1.4 0 01-.4 1 2 2 0 01-1 .6 3.4 3.4 0 01-1.8 0 2 2 0 01-1.3-.7 4 4 0 01-.7-2.2c0-1 .3-1.6.9-1.8.7-.2 1.8 0 3 .7a8.1 8.1 0 013 2.4l2.3 3.1m-5.8-4a3.8 3.8 0 00-.8-.3 1.1 1.1 0 00-.6 0 .7.7 0 00-.5.3.5.5 0 000 .6l.5.2h.6l.4-.3.4-.5m-8-1.6l-.5 2-3.2-.3.5-2 3.1.3m7.5 7.7l-1.7.4a5.3 5.3 0 01-1.7 0 3.6 3.6 0 01-1.5-.4c-.3.5-.8 1-1.5 1.2a7.4 7.4 0 01-1.6.6l-1.2.3-1-2 1.1-.3a9.1 9.1 0 001.3-.4l.9-.5-1-.5h-.7a.4.4 0 00-.2 0 .6.6 0 00-.2.3h-.5c-.5-.8-.6-1.5-.3-2s.9-.8 2-1a6.8 6.8 0 012.6-.2c.8.1 1.3.4 1.5.9.2.2.2.5.2.7l-.4 1.2h.5a2 2 0 00.6 0l1.7-.3 1 2m-8 1.8l-1.6.3a3 3 0 01-2.2-.4 5.5 5.5 0 01-1.7-2.6l-.8-2.2a2 2 0 00-.8-1 4.6 4.6 0 00-.9-.5l.6-2.1c.6.3 1 .6 1.4 1l1 1.7.5 1.5 1.1 2.2c.3.3.7.4 1 .3l1.7-.2.7 2m-7-7.5l-1 1.9-3-.7 1-1.9 3 .7m1.8 8.4l-7.5.7-.4-2 6.2-.7a2.3 2.3 0 00-.6-.8 8.3 8.3 0 00-1-.6l.5-2c.7.4 1.2.9 1.6 1.3.3.5.6 1.2.8 2.1l.4 2m-6 1a17 17 0 01-2.2-.2 10.5 10.5 0 01-1.7-.5 5.6 5.6 0 01-1.3.4 9.9 9.9 0 01-1.7 0h-2a2.5 2.5 0 01-1.2-.3c-.3-.2-.5-.5-.8-1a4.1 4.1 0 01-1.5 1l-1.7.1h-1.7l.2-2.1h1.7c.8 0 1.5 0 2.1-.4a2 2 0 001.3-1.8l.7.1a30.2 30.2 0 00-.1 1.3c0 .3 0 .5.3.7.3.2.6.3 1 .3h1.5c1 0 1.6 0 2-.2.6-.2.9-.5 1-1.1l.1-.4s.3 0 .5-.2l.5-.2v.4a8.9 8.9 0 010 .3l-.3 1.1a12.4 12.4 0 002 .5c.1-.2 0-.4-.1-.7l-.3-.6a.5.5 0 01.1-.3l.3-.2 1-.9.5 1v1l-.2 2.9m-11.3-8.7l-2 1.3-1.3-.9-1.4 1-1.9-1 1.8-1.3 1.5.8 1.5-1 1.8 1m-3 8.2l-7.3-1.2.8-2 6.2 1c0-.4 0-.7-.2-1a5.2 5.2 0 00-.5-.8l1.6-1.7c.4.6.6 1 .7 1.6 0 .5-.2 1.2-.5 2.1l-.8 2m-6.1-1l-1.6-.3c-.9-.2-1.4-.6-1.5-1.2-.2-.6.1-1.5.8-2.8l1.2-2c.3-.5.4-.9.3-1.2a2.2 2.2 0 00-.3-.7l2.2-1.6c.3.5.3 1 .3 1.4 0 .5-.3 1.1-.7 1.8l-.8 1.4a5.8 5.8 0 00-.9 2.2c0 .4.2.6.5.7l1.6.4-1.1 2m-3.8-8l-2.5 1.1-1.8-1.7 2.6-1 1.7 1.7m-1 6.6a6.8 6.8 0 01-1.6 1.4 4.2 4.2 0 01-1.7.6l-2.4-.1a14.8 14.8 0 01-2.8-.7 7.7 7.7 0 01-3.4-2c-.6-.8-.6-1.5 0-2.2a7 7 0 012-1.6c.8-.5 2-1 3.8-1.6l.4.5-2.8 1.2c-.5.3-1 .6-1.3 1-.4.4-.3 1 .2 1.6a10.5 10.5 0 006.3 2.2c1.2 0 2-.3 2.3-.7.3-.3.4-.6.5-1l.2-1.6 2.5-1.5a8 8 0 01-.1 1.5 4.4 4.4 0 01-1 1.6l-1.2 1.4"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ag.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ag.svg
new file mode 100644
index 0000000..bdeee48
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ag.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ag" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ag-a">
+      <path fill-opacity=".7" d="M-79.7 0H603v512H-79.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#ag-a)" transform="translate(74.7) scale(.9375)">
+    <path fill="#fff" d="M-120 0h763.3v511.5H-120z"/>
+    <path d="M-118.3.6h760.9v216.1h-761z"/>
+    <path fill="#0061ff" d="M21.3 203.2h505V317h-505z"/>
+    <path fill="#e20000" d="M642.8 1.8V512H262L642.8 1.7zm-761.5 0V512H262L-118.7 1.7z"/>
+    <path fill="#ffd600" d="M440.4 203.3L364 184l64.9-49-79.7 11.4 41-69.5-70.7 41L332.3 37l-47.9 63.8-19.3-74-21.7 76.3-47.8-65 13.7 83.2L138.5 78l41 69.5-77.4-12.5 63.8 47.8L86 203.3h354.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ai.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ai.svg
new file mode 100644
index 0000000..29e6586
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ai.svg
@@ -0,0 +1,763 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ai" viewBox="0 0 640 480">
+  <defs id="defs1837">
+    <clipPath id="ai-a">
+      <path id="path1834" fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <path id="rect4120" fill="#012169" fill-opacity="1" stroke-width="4.4" d="M0 0h640v480H0z"/>
+  <path id="path1855" fill="#49497d" d="M484.3 180.4l2 2z"/>
+  <path id="path1857" fill="#0e0e6e" d="M486.3 180.4l2 2z"/>
+  <path id="path1859" fill="#262678" d="M480.2 182.4l2 2z"/>
+  <path id="path1861" fill="#808067" d="M482.3 182.4l2 2z"/>
+  <path id="path1863" fill="#58587b" d="M488.3 182.4l2 2z"/>
+  <path id="path1865" fill="#0e0e6e" d="M413.2 184.5l2 2z"/>
+  <path id="path1867" fill="#1b1b74" d="M476.2 184.5l2 2z"/>
+  <path id="path1869" fill="#6e6c70" d="M478.2 184.5l2 2z"/>
+  <path id="path1871" fill="#cc3" d="M416.8 188c0 52.6-6 111.7 33 152.8 8 8.4 23.4 27.7 36.5 27 13.7-.8 31.4-21.1 39.2-31 34-44.8 28.7-98.2 29.8-150.2-15.3 6.9-23 9.2-36.4 9-10 1-25.3-5.5-34.5-10-6 4-14.7 8.9-30.4 9.4-18 .8-23.8-2.3-37.2-7z"/>
+  <path id="path1873" fill="#99994e" d="M490.4 184.5l2 2z"/>
+  <path id="path1875" fill="#49497d" d="M492.4 184.5l2 2z"/>
+  <path id="path1877" fill="#0e0e6e" d="M555.3 184.5l2 2z"/>
+  <path id="path1879" fill="#a4a43d" d="M415.3 186.5l2 2z"/>
+  <path id="path1881" fill="#6e6c70" d="M417.3 186.5l2 2z"/>
+  <path id="path1883" fill="#3a3a7c" d="M419.3 186.5l2 2z"/>
+  <path id="path1885" fill="#1b1b74" d="M472 186.5l2 2z"/>
+  <path id="path1887" fill="#6e6c70" d="M474 186.5l2 2z"/>
+  <path id="path1889" fill="#a4a43d" d="M476.2 186.5l2 2z"/>
+  <path id="path1891" fill="#d0d045" d="M484.3 186.5l2 2z"/>
+  <path id="path1893" fill="#a4a43d" d="M492.4 186.5l2 2z"/>
+  <path id="path1895" fill="#8d8d5b" d="M494.4 186.5l2 2z"/>
+  <path id="path1897" fill="#3a3a7c" d="M496.5 186.5l2 2z"/>
+  <path id="path1899" fill="#262678" d="M549.2 186.5l2 2z"/>
+  <path id="path1901" fill="#53527c" d="M551.3 186.5l2 2z"/>
+  <path id="path1903" fill="#8d8d5b" d="M553.3 186.5l2 2z"/>
+  <path id="path1905" fill="#737370" d="M423.4 188.6l2 2z"/>
+  <path id="path1907" fill="#53527c" d="M425.4 188.6l2 2z"/>
+  <path id="path1909" fill="#1b1b74" d="M427.4 188.6l2 2z"/>
+  <path id="path1911" fill="#262678" d="M468 188.6l2 2z"/>
+  <path id="path1913" fill="#6e6c70" d="M470 188.6l2 2z"/>
+  <path id="path1915" fill="#a4a43d" d="M472 188.6l2 2z"/>
+  <path id="path1917" fill="#e5e59d" d="M482.3 188.6l2 2z"/>
+  <path id="path1919" fill="#fff" d="M420.9 193.8c-1 27.6-.2 58.6 4 88 4.9 15.5 4.2 24 11.3 33.2l99-.8c6-9.7 10.5-24.4 11-30.3 5.6-29.7 5.7-62.6 5.9-92a62 62 0 01-35.7 7.4 69 69 0 01-30.5-9.2c-9.5 5.6-12.8 8.2-28.4 8.9-12.2.6-22 1.6-36.6-5.2z"/>
+  <path id="path1921" fill="#f2f1d7" d="M486.3 188.6l2 2z"/>
+  <path id="path1923" fill="#d9d868" d="M488.3 188.6l2 2z"/>
+  <path id="path1925" fill="#a4a43d" d="M496.5 188.6l2 2z"/>
+  <path id="path1927" fill="#99994e" d="M498.5 188.6l2 2z"/>
+  <path id="path1929" fill="#49497d" d="M500.5 188.6l2 2z"/>
+  <path id="path1931" fill="#0e0e6e" d="M502.5 188.6l2 2z"/>
+  <path id="path1933" fill="#3a3a7c" d="M543.2 188.6l2 2z"/>
+  <path id="path1935" fill="#667" d="M545.2 188.6l2 2z"/>
+  <path id="path1937" fill="#99994e" d="M547.2 188.6l2 2z"/>
+  <path id="path1939" fill="#a4a43d" d="M549.2 188.6l2 2-2-2m-121.8 2l2 2z"/>
+  <path id="path1941" fill="#99994e" d="M429.5 190.6l2 2z"/>
+  <path id="path1943" fill="#6e6c70" d="M431.5 190.6l2 2z"/>
+  <path id="path1945" fill="#49497d" d="M433.5 190.6l2 2z"/>
+  <path id="path1947" fill="#1b1b74" d="M435.5 190.6l2 2-2-2m26.4 0l2 2z"/>
+  <path id="path1949" fill="#53527c" d="M463.9 190.6l2 2-2-2z"/>
+  <path id="path1951" fill="#8d8d5b" d="M466 190.6l2 2z"/>
+  <path id="path1953" fill="#a4a43d" d="M468 190.6l2 2z"/>
+  <path id="path1955" fill="#e5e59d" d="M478.2 190.6l2 2z"/>
+  <path id="path1957" fill="#fbfaf2" d="M480.2 190.6l2 2z"/>
+  <path id="path1959" fill="#f2f1d2" d="M490.4 190.6l2 2z"/>
+  <path id="path1961" fill="#d9d868" d="M492.4 190.6l2 2z"/>
+  <path id="path1963" fill="#a4a43d" d="M502.5 190.6l2 2z"/>
+  <path id="path1965" fill="#6e6c70" d="M504.6 190.6l2 2z"/>
+  <path id="path1967" fill="#3a3a7c" d="M506.6 190.6l2 2z"/>
+  <path id="path1969" fill="#0e0e6e" d="M533 190.6l2 2z"/>
+  <path id="path1971" fill="#32327b" d="M535 190.6l2 2z"/>
+  <path id="path1973" fill="#58587b" d="M537 190.6l2 2z"/>
+  <path id="path1975" fill="#808067" d="M539 190.6l2 2z"/>
+  <path id="path1977" fill="#a4a43d" d="M542.5 191.2l1.3.7z"/>
+  <path id="path1979" fill="#dddc7a" d="M419.3 192.6l2 2z"/>
+  <path id="path1981" fill="#d0d045" d="M421.3 192.6l2 2z"/>
+  <path id="path1983" fill="#a4a43d" d="M436.9 193.2l1.4.7z"/>
+  <path id="path1985" fill="#808067" d="M439.6 192.6l2 2z"/>
+  <path id="path1987" fill="#667" d="M441.6 192.6l2 2z"/>
+  <path id="path1989" fill="#58587b" d="M443.7 192.6l2 2z"/>
+  <path id="path1991" fill="#49497d" d="M445.7 192.6l2 2z"/>
+  <path id="path1993" fill="#737370" d="M457.9 192.6l2 2z"/>
+  <path id="path1995" fill="#99994e" d="M459.9 192.6l2 2z"/>
+  <path id="path1997" fill="#a4a43d" d="M461.9 192.6l2 2z"/>
+  <path id="path1999" fill="#e5e59d" d="M474 192.6l2 2z"/>
+  <path id="path2001" fill="#fbfaf2" d="M476.2 192.6l2 2z"/>
+  <path id="path2003" fill="#f2f1d2" d="M494.4 192.6l2 2z"/>
+  <path id="path2005" fill="#d9d868" d="M496.5 192.6l2 2z"/>
+  <path id="path2007" fill="#a4a43d" d="M507.9 193.2l1.4.7-1.3-.7z"/>
+  <path id="path2009" fill="#808067" d="M510.7 192.6l2 2z"/>
+  <path id="path2011" fill="#667" d="M512.7 192.6l2 2z"/>
+  <path id="path2013" fill="#58587b" d="M514.7 192.6l2 2z"/>
+  <path id="path2015" fill="#3a3a7c" d="M516.8 192.6l2 2z"/>
+  <path id="path2017" fill="#58587b" d="M526.2 193.2l1.4.7z"/>
+  <path id="path2019" fill="#737370" d="M528.9 192.6l2 2z"/>
+  <path id="path2021" fill="#99994e" d="M530.9 192.6l2 2-2-2z"/>
+  <path id="path2023" fill="#a4a43d" d="M533 192.6l2 2z"/>
+  <path id="path2025" fill="#dddc7a" d="M549.2 192.6l2 2z"/>
+  <path id="path2027" fill="#d0d045" d="M551.3 192.6l2 2z"/>
+  <path id="path2029" fill="#f2f1d7" d="M423.4 194.6l2 2z"/>
+  <path id="path2031" fill="#e0dea1" d="M425.4 194.6l2 2z"/>
+  <path id="path2033" fill="#dddc7a" d="M427.4 194.6l2 2z"/>
+  <path id="path2035" fill="#d9d868" d="M468 194.6l2 2z"/>
+  <path id="path2037" fill="#e5e3af" d="M470 194.6l2 2z"/>
+  <path id="path2039" fill="#f6f6e4" d="M498.5 194.6l2 2z"/>
+  <path id="path2041" fill="#e1e18c" d="M500.5 194.6l2 2z"/>
+  <path id="path2043" fill="#d4d456" d="M541 194.6l2 2z"/>
+  <path id="path2045" fill="#e1e18c" d="M543.2 194.6l2 2z"/>
+  <path id="path2047" fill="#eeedc1" d="M545.2 194.6l2 2z"/>
+  <path id="path2049" fill="#f2f1d2" d="M431.5 196.6l2 2z"/>
+  <path id="path2051" fill="#e0dea1" d="M433.5 196.6l2 2z"/>
+  <path id="path2053" fill="#dddc7a" d="M435.5 196.6l2 2z"/>
+  <path id="path2055" fill="#d0d045" d="M437.6 196.6l2 2z"/>
+  <path id="path2057" fill="#dddc7a" d="M461.9 196.6l2 2z"/>
+  <path id="path2059" fill="#e5e3af" d="M463.9 196.6l2 2-2-2z"/>
+  <path id="path2061" fill="#f6f6e4" d="M466 196.6l2 2z"/>
+  <path id="path2063" fill="#eeedc1" d="M504.6 196.6l2 2z"/>
+  <path id="path2065" fill="#e1e18c" d="M506.6 196.6l2 2z"/>
+  <path id="path2067" fill="#d4d456" d="M508.6 196.6l2 2z"/>
+  <path id="path2069" fill="#d9d868" d="M533 196.6l2 2z"/>
+  <path id="path2071" fill="#e1e18c" d="M535 196.6l2 2z"/>
+  <path id="path2073" fill="#eeedc1" d="M537 196.6l2 2z"/>
+  <path id="path2075" fill="#f6f6e4" d="M539 196.6l2 2z"/>
+  <path id="path2077" fill="#f2f1d7" d="M441.6 198.6l2 2-2-2z"/>
+  <path id="path2079" fill="#f2f1d2" d="M443.7 198.6l2 2-2-2z"/>
+  <path id="path2081" fill="#eeedc1" d="M445.7 198.6l2 2-2-2z"/>
+  <path id="path2083" fill="#f2f1d2" d="M455.2 199.3l1.3.7z"/>
+  <path id="path2085" fill="#fbfaf2" d="M457.9 198.6l2 2-2-2z"/>
+  <path id="path2087" fill="#fef8f1" d="M468 198.6l4 4v-4h-4z"/>
+  <path id="path2089" fill="#f2f1d7" d="M512.7 198.6l2 2-2-2z"/>
+  <path id="path2091" fill="#f2f1d2" d="M514.7 198.6l2 2-2-2z"/>
+  <path id="path2093" fill="#e5e3af" d="M516.8 198.6l2 2-2-2z"/>
+  <path id="path2095" fill="#e5e59d" d="M520.2 199.3l1.3.7-1.4-.7z"/>
+  <path id="path2097" fill="#e0dea1" d="M522.9 198.6l2 2-2-2z"/>
+  <path id="path2099" fill="#f2f1d2" d="M526.2 199.3l1.4.7z"/>
+  <path id="path2101" fill="#fbfaf2" d="M528.9 198.6l2 2-2-2z"/>
+  <path id="path2103" fill="#fef8f1" d="M463.9 200.7l2 2-2-2z"/>
+  <path id="path2105" fill="#fbbe66" d="M466 200.7l2 2z"/>
+  <path id="path2107" fill="#fbc477" d="M463.9 202.7l2 2-2-2z"/>
+  <path id="path2109" fill="#fcb144" d="M468 202.7l2 2z"/>
+  <path id="path2111" fill="#fe9f11" d="M463.9 204.8l2 2-2-2z"/>
+  <path id="path2113" fill="#fea522" d="M468 204.8l2 2z"/>
+  <path id="path2115" fill="#fae3c9" d="M461.9 206.8l2 2-2-2m8.2 0l2 2z"/>
+  <path id="path2117" fill="#fbead6" d="M480.2 206.8l2 2z"/>
+  <path id="path2119" fill="#f9d6aa" d="M482.3 206.8l2 2z"/>
+  <path id="path2121" fill="#fae3c9" d="M490.4 206.8l2 2z"/>
+  <path id="path2123" fill="#fef8f1" d="M492.4 206.8l2 2z"/>
+  <path id="path2125" fill="#f9d099" d="M461.9 208.8l2 2z"/>
+  <path id="path2127" fill="#fdab33" d="M470 208.8l2 2z"/>
+  <path id="path2129" fill="#fcf1e4" d="M474 208.8l2 2z"/>
+  <path id="path2131" fill="#fbc477" d="M476.2 208.8l2 2z"/>
+  <path id="path2133" fill="#fea522" d="M478.2 208.8l2 2z"/>
+  <path id="path2135" fill="#fcb755" d="M494.4 208.8l2 2z"/>
+  <path id="path2137" fill="#f9d6aa" d="M496.5 208.8l2 2z"/>
+  <path id="path2139" fill="#faca88" d="M461.9 210.9l2 2z"/>
+  <path id="path2141" fill="#fea522" d="M472 210.9l2 2-2-2m26.5 0l2 2z"/>
+  <path id="path2143" fill="#f8dcbb" d="M500.5 210.9l2 2z"/>
+  <path id="path2145" fill="#f6f6e4" d="M419.3 212.9l2 2z"/>
+  <path id="path2147" fill="#fbc477" d="M461.9 212.9l2 2z"/>
+  <path id="path2149" fill="#fbbe66" d="M502.5 212.9l2 2z"/>
+  <path id="path2151" fill="#f8dcbb" d="M504.6 212.9l2 2z"/>
+  <path id="path2153" fill="#faca88" d="M461.9 214.9l2 2z"/>
+  <path id="path2155" fill="#fcb755" d="M508.6 214.9l2 2z"/>
+  <path id="path2157" fill="#f8dcbb" d="M510.7 214.9l2 2z"/>
+  <path id="path2159" fill="#fef8f1" d="M459.9 217l2 2z"/>
+  <path id="path2161" fill="#fe9f11" d="M461.9 217l2 2z"/>
+  <path id="path2163" fill="#fdab33" d="M518.8 217l2 2z"/>
+  <path id="path2165" fill="#fcb144" d="M520.9 217l2 2z"/>
+  <path id="path2167" fill="#fbc477" d="M522.9 217l2 2z"/>
+  <path id="path2169" fill="#f9d6aa" d="M524.9 217l4 4z"/>
+  <path id="path2171" fill="#fef8f1" d="M526.9 217l2 2z"/>
+  <path id="path2173" fill="#fcb144" d="M459.9 219l2 2z"/>
+  <path id="path2175" fill="#fdab33" d="M488.3 219l2 2z"/>
+  <path id="path2177" fill="#fbc477" d="M490.4 219l2 2zm8 0l2 2-2-2z"/>
+  <path id="path2179" fill="#fea522" d="M500.5 219l2 2z"/>
+  <path id="path2181" fill="#fae3c9" d="M457.9 221l2 2z"/>
+  <path id="path2183" fill="#fcb144" d="M484.3 221l2 2z"/>
+  <path id="path2185" fill="#fae3c9" d="M486.3 221l2 2z"/>
+  <path id="path2187" fill="#f8dcbb" d="M502.5 221l2 2z"/>
+  <path id="path2189" fill="#fdab33" d="M504.6 221l2 2z"/>
+  <path id="path2191" fill="#fe9f11" d="M516.8 221l2 2z"/>
+  <path id="path2193" fill="#fcb755" d="M518.8 221l2 2z"/>
+  <path id="path2195" fill="#f9d099" d="M520.9 221l2 2z"/>
+  <path id="path2197" fill="#fbead6" d="M522.9 221l2 2z"/>
+  <path id="path2199" fill="#fcb144" d="M457.9 223l2 2z"/>
+  <path id="path2201" fill="#fbbe66" d="M482.3 223l2 2z"/>
+  <path id="path2203" fill="#f9d099" d="M506.6 223l2 2z"/>
+  <path id="path2205" fill="#fbead6" d="M514.7 223l2 2z"/>
+  <path id="path2207" fill="#fcf1e4" d="M455.9 225l2 2z"/>
+  <path id="path2209" fill="#fbbe66" d="M480.2 225l2 2z"/>
+  <path id="path2211" fill="#f9d099" d="M508.6 225l2 2z"/>
+  <path id="path2213" fill="#fae3c9" d="M514.7 225l2 2z"/>
+  <path id="path2215" fill="#fbc477" d="M455.9 227l2 2z"/>
+  <path id="path2217" fill="#fcb144" d="M478.2 227l2 2-2-2m32.5 0l2 2z"/>
+  <path id="path2219" fill="#fbbe66" d="M514.7 227l2 2z"/>
+  <path id="path2221" fill="#f6f6e4" d="M419.3 229l2 2z"/>
+  <path id="path2223" fill="#fea522" d="M455.9 229l2 2z"/>
+  <path id="path2225" fill="#fbead6" d="M478.2 229l2 2z"/>
+  <path id="path2227" fill="#fcf1e4" d="M510.7 229l2 2z"/>
+  <path id="path2229" fill="#fef8f1" d="M516.8 229l2 2z"/>
+  <path id="path2231" fill="#fcf1e4" d="M453.9 231.2l2 2z"/>
+  <path id="path2233" fill="#fbbe66" d="M476.2 231.2l2 2z"/>
+  <path id="path2235" fill="#faca88" d="M512.7 231.2l2 2z"/>
+  <path id="path2237" fill="#f9d099" d="M516.8 231.2l2 2z"/>
+  <path id="path2239" fill="#f9d6aa" d="M453.9 233.2l2 2z"/>
+  <path id="path2241" fill="#fcf1e4" d="M476.2 233.2l2 2z"/>
+  <path id="path2243" fill="#fae3c9" d="M486.3 233.2l2 2z"/>
+  <path id="path2245" fill="#fea522" d="M488.3 233.2l2 2z"/>
+  <path id="path2247" fill="#fcb144" d="M490.4 233.2l2 2z"/>
+  <path id="path2249" fill="#f9d6aa" d="M492.4 233.2l2 2z"/>
+  <path id="path2251" fill="#fef8f1" d="M512.7 233.2l2 2z"/>
+  <path id="path2253" fill="#fea522" d="M514.7 233.2l2 2z"/>
+  <path id="path2255" fill="#fdab33" d="M516.8 233.2l2 2z"/>
+  <path id="path2257" fill="#faca88" d="M453.9 235.2l-2.1 6 2-6z"/>
+  <path id="path2259" fill="#fea522" d="M474 235.2l2 2z"/>
+  <path id="path2261" fill="#fef8f1" d="M476.2 235.2l2 2z"/>
+  <path id="path2263" fill="#f9d099" d="M486.3 235.2l2 2z"/>
+  <path id="path2265" fill="#fdab33" d="M494.4 235.2l2 2z"/>
+  <path id="path2267" fill="#fae3c9" d="M496.5 235.2l2 2z"/>
+  <path id="path2269" fill="#f8dcbb" d="M514.7 235.2l2 2z"/>
+  <path id="path2271" fill="#f90" d="M516.8 235.2l2 2z"/>
+  <path id="path2273" fill="#fbead6" d="M519.5 236.6l.6 1.3z"/>
+  <path id="path2275" fill="#fea522" d="M478.2 237.2l2 2z"/>
+  <path id="path2277" fill="#fbbe66" d="M480.2 237.2l2 2z"/>
+  <path id="path2279" fill="#faca88" d="M482.3 237.2l2 2z"/>
+  <path id="path2281" fill="#fcb144" d="M484.3 237.2l2 2z"/>
+  <path id="path2283" fill="#fae3c9" d="M486.3 237.2l2 2z"/>
+  <path id="path2285" fill="#fe9f11" d="M488.3 237.2l2 2z"/>
+  <path id="path2287" fill="#fdab33" d="M498.5 237.2l2 2z"/>
+  <path id="path2289" fill="#fbc477" d="M500.5 237.2l2 2z"/>
+  <path id="path2291" fill="#faca88" d="M502.5 237.2l2 2z"/>
+  <path id="path2293" fill="#f9d6aa" d="M504.6 237.2l2 2z"/>
+  <path id="path2295" fill="#fae3c9" d="M507.9 237.9l1.4.7-1.3-.7z"/>
+  <path id="path2297" fill="#fef8f1" d="M510.7 237.2l2 2z"/>
+  <path id="path2299" fill="#fbc477" d="M516.8 237.2l2 2z"/>
+  <path id="path2301" fill="#fef8f1" d="M429.5 239.3l2 2z"/>
+  <path id="path2303" fill="#fcf1e4" d="M431.5 239.3l2 2z"/>
+  <path id="path2305" fill="#fcb755" d="M484.3 239.3l2 2z"/>
+  <path id="path2307" fill="#fbead6" d="M488.3 239.3l2 2z"/>
+  <path id="path2309" fill="#fea522" d="M490.4 239.3l2 2z"/>
+  <path id="path2311" fill="#fe9f11" d="M506.6 239.3l2 2z"/>
+  <path id="path2313" fill="#fcb144" d="M508.6 239.3l-2 4z"/>
+  <path id="path2315" fill="#fe9f11" d="M512.7 239.3l2 2z"/>
+  <path id="path2317" fill="#fbbe66" d="M514.7 239.3l2 2z"/>
+  <path id="path2319" fill="#fcf1e4" d="M516.8 239.3l2 2z"/>
+  <path id="path2321" fill="#fae3c9" d="M429.5 241.3l2 2z"/>
+  <path id="path2323" fill="#fe9f11" d="M431.5 241.3l4 4z"/>
+  <path id="path2325" fill="#fbead6" d="M433.5 241.3l2 2zm18.3 0l2 2z"/>
+  <path id="path2327" fill="#fae3c9" d="M453.9 241.3l2 2z"/>
+  <path id="path2329" fill="#fe9f11" d="M472 241.3l2 2z"/>
+  <path id="path2331" fill="#fbc477" d="M474 241.3l2 2z"/>
+  <path id="path2333" fill="#fea522" d="M476.2 241.3l2 2z"/>
+  <path id="path2335" fill="#fbc477" d="M482.3 241.3l2 2z"/>
+  <path id="path2337" fill="#fef8f1" d="M484.3 241.3l2 2z"/>
+  <path id="path2339" fill="#fbc477" d="M492.4 241.3l2 2z"/>
+  <path id="path2341" fill="#fff" d="M508.6 241.3l2 2z"/>
+  <path id="path2343" fill="#fdab33" d="M510.7 241.3l2 2z"/>
+  <path id="path2345" fill="#fbc477" d="M518.8 241.3l2 2z"/>
+  <path id="path2347" fill="#fef8f1" d="M429.5 243.3l2 2z"/>
+  <path id="path2349" fill="#fbead6" d="M435.5 243.3l2 2z"/>
+  <path id="path2351" fill="#f9d6aa" d="M445.7 243.3l2 2z"/>
+  <path id="path2353" fill="#fe9f11" d="M455.9 243.3l2 2z"/>
+  <path id="path2355" fill="#f9d6aa" d="M459.2 244l1.4.7z"/>
+  <path id="path2357" fill="#f8dcbb" d="M472 243.3l2 2z"/>
+  <path id="path2359" fill="#fcf1e4" d="M478.2 243.3l2 2z"/>
+  <path id="path2361" fill="#f9d6aa" d="M494.4 243.3l2 2z"/>
+  <path id="path2363" fill="#fdab33" d="M508.6 243.3l2 2z"/>
+  <path id="path2365" fill="#fcb755" d="M520.9 243.3l2 2z"/>
+  <path id="path2367" fill="#fef8f1" d="M522.9 243.3l2 2z"/>
+  <path id="path2369" fill="#53527c" d="M413.2 245.4l2 2z"/>
+  <path id="path2371" fill="#fcb755" d="M431.5 245.4l2 2z"/>
+  <path id="path2373" fill="#fea522" d="M435.5 245.4l2 2z"/>
+  <path id="path2375" fill="#fbead6" d="M443.7 245.4l2 2z"/>
+  <path id="path2377" fill="#fe9f11" d="M447.7 245.4l2 2z"/>
+  <path id="path2379" fill="#fcf1e4" d="M449.8 245.4l2 2z"/>
+  <path id="path2381" fill="#fbbe66" d="M455.9 245.4l2 2z"/>
+  <path id="path2383" fill="#fbc477" d="M457.9 245.4l2 2z"/>
+  <path id="path2385" fill="#fbbe66" d="M459.9 245.4l2 2z"/>
+  <path id="path2387" fill="#fea522" d="M470 245.4l2 2z"/>
+  <path id="path2389" fill="#f9d6aa" d="M496.5 245.4l2 2z"/>
+  <path id="path2391" fill="#fcb144" d="M522.9 245.4l2 2z"/>
+  <path id="path2393" fill="#8d8d5b" d="M555.3 245.4l2 2z"/>
+  <path id="path2395" fill="#e5e3af" d="M419.3 247.4l2 2z"/>
+  <path id="path2397" fill="#f8dcbb" d="M431.5 247.4l2 2z"/>
+  <path id="path2399" fill="#fdab33" d="M437.6 247.4l2 2z"/>
+  <path id="path2401" fill="#fe9f11" d="M443.7 247.4l2 2z"/>
+  <path id="path2403" fill="#faca88" d="M447.7 247.4l2 2z"/>
+  <path id="path2405" fill="#fcf1e4" d="M455.9 247.4l2 2z"/>
+  <path id="path2407" fill="#f9d099" d="M470 247.4l2 2-2-2m28.5 0l2 2z"/>
+  <path id="path2409" fill="#fbbe66" d="M524.9 247.4l2 2z"/>
+  <path id="path2411" fill="#fea522" d="M433.5 249.4l2 2z"/>
+  <path id="path2413" fill="#fdab33" d="M439.6 249.4l2 2z"/>
+  <path id="path2415" fill="#fea522" d="M441.6 249.4l2 2z"/>
+  <path id="path2417" fill="#fe9f11" d="M445.7 249.4l2 2z"/>
+  <path id="path2419" fill="#fef8f1" d="M447.7 249.4l2 2z"/>
+  <path id="path2421" fill="#fbbe66" d="M457.9 249.4l2 2z"/>
+  <path id="path2423" fill="#fef8f1" d="M470 249.4l2 2z"/>
+  <path id="path2425" fill="#fbbe66" d="M500.5 249.4l2 2z"/>
+  <path id="path2427" fill="#f9d099" d="M526.9 249.4l2 2z"/>
+  <path id="path2429" fill="#f9d6aa" d="M433.5 251.5l2 2z"/>
+  <path id="path2431" fill="#f9d099" d="M445.7 251.5l2 2z"/>
+  <path id="path2433" fill="#fcf1e4" d="M457.9 251.5l2 2z"/>
+  <path id="path2435" fill="#fdab33" d="M468 251.5l2 2-2-2m34.5 0l2 2z"/>
+  <path id="path2437" fill="#fbead6" d="M528.9 251.5l2 2z"/>
+  <path id="path2439" fill="#fea522" d="M435.5 253.5l2 2z"/>
+  <path id="path2441" fill="#fe9f11" d="M443.7 253.5l2 2z"/>
+  <path id="path2443" fill="#fcb144" d="M459.9 253.5l2 2z"/>
+  <path id="path2445" fill="#faca88" d="M468 253.5l2 2z"/>
+  <path id="path2447" fill="#f8dcbb" d="M502.5 253.5l2 2z"/>
+  <path id="path2449" fill="#fcb144" d="M528.9 253.5l2 2z"/>
+  <path id="path2451" fill="#d3d079" d="M419.3 255.6l2 2z"/>
+  <path id="path2453" fill="#faca88" d="M435.5 255.6l2 2zm24.4 0l2 2z"/>
+  <path id="path2455" fill="#fae3c9" d="M468 255.6l2 2-2-2m34.5 0l2 2z"/>
+  <path id="path2457" fill="#f8dcbb" d="M530.9 255.6l2 2-2-2z"/>
+  <path id="path2459" fill="#f2f1d7" d="M549.2 255.6l2 2z"/>
+  <path id="path2461" fill="#58587b" d="M556 256.9l.7 1.3z"/>
+  <path id="path2463" fill="#d9d868" d="M419.9 258.9l.8 1.4-.7-1.4z"/>
+  <path id="path2465" fill="#f8dcbb" d="M435.5 257.6l2 2z"/>
+  <path id="path2467" fill="#f9d6aa" d="M500.5 257.6l2 2z"/>
+  <path id="path2469" fill="#fe9f11" d="M502.5 257.6l2 2z"/>
+  <path id="path2471" fill="#fcb144" d="M530.9 257.6l2 2-2-2z"/>
+  <path id="path2473" fill="#f2f1d2" d="M549.9 258.9l.7 1.4z"/>
+  <path id="path2475" fill="#fcf1e4" d="M435.5 259.6l2 2z"/>
+  <path id="path2477" fill="#fef8f1" d="M498.5 259.6l2 2z"/>
+  <path id="path2479" fill="#fe9f11" d="M500.5 259.6l2 2z"/>
+  <path id="path2481" fill="#fdab33" d="M506.6 259.6l-2 4z"/>
+  <path id="path2483" fill="#fcb755" d="M508.6 259.6l2 2z"/>
+  <path id="path2485" fill="#fea522" d="M533 259.6l2 2z"/>
+  <path id="path2487" fill="#f9d099" d="M535 259.6l2 2z"/>
+  <path id="path2489" fill="#53527c" d="M555.3 259.6l2 2z"/>
+  <path id="path2491" fill="#808067" d="M415.9 263l.7 1.3z"/>
+  <path id="path2493" fill="#fea522" d="M437.6 261.6l2 2-2-2m6 0l2 2-2-2z"/>
+  <path id="path2495" fill="#fe9f11" d="M466 261.6l2 2z"/>
+  <path id="path2497" fill="#fae3c9" d="M498.5 261.6l2 2z"/>
+  <path id="path2499" fill="#fef8f1" d="M506.6 261.6l2 2z"/>
+  <path id="path2501" fill="#fcb144" d="M510.7 261.6l2 2z"/>
+  <path id="path2503" fill="#fcb755" d="M537 261.6l2 2z"/>
+  <path id="path2505" fill="#fef8f1" d="M539 261.6l4 4z"/>
+  <path id="path2507" fill="#e5e59d" d="M549.9 263l.7 1.3z"/>
+  <path id="path2509" fill="#32327b" d="M556 263l.7 1.3z"/>
+  <path id="path2511" fill="#fcb755" d="M438.3 265l.6 1.4z"/>
+  <path id="path2513" fill="#fef8f1" d="M445.7 263.6l2 2z"/>
+  <path id="path2515" fill="#fbbe66" d="M466 263.6l2 2z"/>
+  <path id="path2517" fill="#fbead6" d="M498.5 263.6l2 2z"/>
+  <path id="path2519" fill="#fe9f11" d="M502.5 263.6l2 2z"/>
+  <path id="path2521" fill="#fcf1e4" d="M504.6 263.6l2 2z"/>
+  <path id="path2523" fill="#fbead6" d="M510.7 263.6l2 2z"/>
+  <path id="path2525" fill="#fdab33" d="M539 263.6l2 2z"/>
+  <path id="path2527" fill="#667" d="M415.3 265.6l2 2-2-2z"/>
+  <path id="path2529" fill="#f6f6e4" d="M421.3 265.6l2 2-2-2z"/>
+  <path id="path2531" fill="#f9d6aa" d="M445.7 265.6l2 2-2-2z"/>
+  <path id="path2533" fill="#fdab33" d="M461.9 265.6l2 2-2-2z"/>
+  <path id="path2535" fill="#fe9f11" d="M463.9 265.6l2 2-2-2z"/>
+  <path id="path2537" fill="#fcf1e4" d="M466 265.6l2 2-2-2z"/>
+  <path id="path2539" fill="#fea522" d="M500.5 265.6l2 2-2-2z"/>
+  <path id="path2541" fill="#faca88" d="M502.5 265.6l2 2-2-2m10.2 0l2 2z"/>
+  <path id="path2543" fill="#fcb144" d="M541 265.6l2 2-2-2z"/>
+  <path id="path2545" fill="#dddc7a" d="M549.2 265.6l2 2-2-2z"/>
+  <path id="path2547" fill="#58587b" d="M415.3 267.7l2 2z"/>
+  <path id="path2549" fill="#f2f1d2" d="M421.3 267.7l2 2z"/>
+  <path id="path2551" fill="#fcb144" d="M438.3 269l.6 1.4z"/>
+  <path id="path2553" fill="#fea522" d="M445.7 267.7l2 2z"/>
+  <path id="path2555" fill="#fef8f1" d="M466 267.7l2 2z"/>
+  <path id="path2557" fill="#fea522" d="M468 267.7l2 2z"/>
+  <path id="path2559" fill="#fcb144" d="M472 267.7l2 2z"/>
+  <path id="path2561" fill="#fbead6" d="M474 267.7l2 2z"/>
+  <path id="path2563" fill="#f8dcbb" d="M500.5 267.7l2 2z"/>
+  <path id="path2565" fill="#fcf1e4" d="M502.5 267.7l2 2z"/>
+  <path id="path2567" fill="#fef8f1" d="M512.7 267.7l2 2z"/>
+  <path id="path2569" fill="#fe9f11" d="M514.7 267.7l2 2z"/>
+  <path id="path2571" fill="#fbead6" d="M543.2 267.7l2 2z"/>
+  <path id="path2573" fill="#d9d868" d="M549.2 267.7l2 2z"/>
+  <path id="path2575" fill="#3a3a7c" d="M415.3 269.7l2 2z"/>
+  <path id="path2577" fill="#e5e3af" d="M421.3 269.7l2 2z"/>
+  <path id="path2579" fill="#faca88" d="M447.7 269.7l2 2z"/>
+  <path id="path2581" fill="#fbead6" d="M468 269.7l2 2z"/>
+  <path id="path2583" fill="#fe9f11" d="M474 269.7l2 2z"/>
+  <path id="path2585" fill="#fcf1e4" d="M476.2 269.7l2 2z"/>
+  <path id="path2587" fill="#fbead6" d="M498.5 269.7l2 2z"/>
+  <path id="path2589" fill="#fae3c9" d="M500.5 269.7l2 2z"/>
+  <path id="path2591" fill="#fbead6" d="M502.5 269.7l2 2z"/>
+  <path id="path2593" fill="#fbbe66" d="M514.7 269.7l2 2-2-2m16.3 0l2 2z"/>
+  <path id="path2595" fill="#fcf1e4" d="M533 269.7l2 2z"/>
+  <path id="path2597" fill="#fef8f1" d="M535 269.7l2 2z"/>
+  <path id="path2599" fill="#f8dcbb" d="M537 269.7l2 2z"/>
+  <path id="path2601" fill="#fcb755" d="M539 269.7l2 2z"/>
+  <path id="path2603" fill="#fae3c9" d="M543.2 269.7l2 2z"/>
+  <path id="path2605" fill="#808067" d="M553.3 269.7l2 2z"/>
+  <path id="path2607" fill="#32327b" d="M415.3 271.8l2 2z"/>
+  <path id="path2609" fill="#a4a43d" d="M417.9 273l.7 1.5-.6-1.4z"/>
+  <path id="path2611" fill="#e5e59d" d="M421.3 271.8l2 2z"/>
+  <path id="path2613" fill="#fbc477" d="M437.6 271.8l2 2z"/>
+  <path id="path2615" fill="#f9d6aa" d="M449.8 271.8l2 2z"/>
+  <path id="path2617" fill="#fbbe66" d="M470 271.8l2 2z"/>
+  <path id="path2619" fill="#f9d099" d="M476.2 271.8l2 2z"/>
+  <path id="path2621" fill="#fae3c9" d="M494.4 271.8l2 2z"/>
+  <path id="path2623" fill="#fcb144" d="M496.5 271.8l2 2z"/>
+  <path id="path2625" fill="#fae3c9" d="M504.6 271.8l2 2z"/>
+  <path id="path2627" fill="#f8dcbb" d="M514.7 271.8l2 2z"/>
+  <path id="path2629" fill="#f9d099" d="M530.9 271.8l2 2-2-2z"/>
+  <path id="path2631" fill="#fbc477" d="M541 271.8l2 2z"/>
+  <path id="path2633" fill="#fbead6" d="M543.2 271.8l2 2z"/>
+  <path id="path2635" fill="#737370" d="M553.3 271.8l2 2z"/>
+  <path id="path2637" fill="#d9d868" d="M421.3 273.8l2 2z"/>
+  <path id="path2639" fill="#f9d099" d="M437.6 273.8l2 2z"/>
+  <path id="path2641" fill="#f9d6aa" d="M451.8 273.8l2 2-2-2m18.3 0l2 2z"/>
+  <path id="path2643" fill="#fbc477" d="M476.2 273.8l2 2z"/>
+  <path id="path2645" fill="#fef8f1" d="M486.3 273.8l2 2z"/>
+  <path id="path2647" fill="#f8dcbb" d="M488.3 273.8l2 2z"/>
+  <path id="path2649" fill="#fbc477" d="M490.4 273.8l2 2z"/>
+  <path id="path2651" fill="#fea522" d="M492.4 273.8l2 2z"/>
+  <path id="path2653" fill="#fbead6" d="M504.6 273.8l2 2z"/>
+  <path id="path2655" fill="#f2f1d2" d="M547.2 273.8l2 2z"/>
+  <path id="path2657" fill="#58587b" d="M553.3 273.8l2 2z"/>
+  <path id="path2659" fill="#99994e" d="M417.3 275.8l2 2z"/>
+  <path id="path2661" fill="#d0d045" d="M421.3 275.8l2 2z"/>
+  <path id="path2663" fill="#fcb144" d="M453.9 275.8l2 2z"/>
+  <path id="path2665" fill="#fae3c9" d="M455.9 275.8l2 2z"/>
+  <path id="path2667" fill="#fef8f1" d="M470 275.8l2 2z"/>
+  <path id="path2669" fill="#fcb755" d="M478.2 275.8l2 2z"/>
+  <path id="path2671" fill="#fbc477" d="M480.2 275.8l2 2z"/>
+  <path id="path2673" fill="#fcb144" d="M482.3 275.8l2 2z"/>
+  <path id="path2675" fill="#fea522" d="M484.3 275.8l2 2z"/>
+  <path id="path2677" fill="#fe9f11" d="M500.5 275.8l2 2z"/>
+  <path id="path2679" fill="#f9d6aa" d="M502.5 275.8l2 2z"/>
+  <path id="path2681" fill="#fef8f1" d="M530.9 275.8l2 2-2-2z"/>
+  <path id="path2683" fill="#e0dea1" d="M547.2 275.8l2 2z"/>
+  <path id="path2685" fill="#3a3a7c" d="M553.3 275.8l2 2z"/>
+  <path id="path2687" fill="#737370" d="M417.3 277.9l2 2z"/>
+  <path id="path2689" fill="#fbfaf2" d="M423.4 277.9l2 2z"/>
+  <path id="path2691" fill="#fea522" d="M439.6 277.9l2 2z"/>
+  <path id="path2693" fill="#fe9f11" d="M457.9 277.9l2 2z"/>
+  <path id="path2695" fill="#fcb144" d="M459.9 277.9l2 2z"/>
+  <path id="path2697" fill="#fbc477" d="M461.9 277.9l2 2z"/>
+  <path id="path2699" fill="#faca88" d="M463.9 277.9l2 2-2-2z"/>
+  <path id="path2701" fill="#fbc477" d="M466 277.9l2 2z"/>
+  <path id="path2703" fill="#fcb144" d="M468 277.9l2 2z"/>
+  <path id="path2705" fill="#fdab33" d="M470 277.9l2 2z"/>
+  <path id="path2707" fill="#fbc477" d="M498.5 277.9l2 2z"/>
+  <path id="path2709" fill="#fef8f1" d="M500.5 277.9l2 2z"/>
+  <path id="path2711" fill="#fdab33" d="M528.9 277.9l2 2z"/>
+  <path id="path2713" fill="#e1e18c" d="M547.2 277.9l2 2z"/>
+  <path id="path2715" fill="#a4a43d" d="M551.9 279.2l.7 1.4z"/>
+  <path id="path2717" fill="#262678" d="M553.3 277.9l2 2z"/>
+  <path id="path2719" fill="#58587b" d="M417.3 279.9l2 2z"/>
+  <path id="path2721" fill="#f2f1d2" d="M423.4 279.9l2 2z"/>
+  <path id="path2723" fill="#faca88" d="M439.6 279.9l2 2z"/>
+  <path id="path2725" fill="#fe9f11" d="M494.4 279.9l2 2z"/>
+  <path id="path2727" fill="#fbead6" d="M496.5 279.9l2 2z"/>
+  <path id="path2729" fill="#fbc477" d="M514.7 279.9l2 2z"/>
+  <path id="path2731" fill="#faca88" d="M528.9 279.9l2 2z"/>
+  <path id="path2733" fill="#d4d456" d="M547.2 279.9l2 2z"/>
+  <path id="path2735" fill="#32327b" d="M417.3 281.9l2 2z"/>
+  <path id="path2737" fill="#e5e59d" d="M423.4 281.9l2 2z"/>
+  <path id="path2739" fill="#fef8f1" d="M439.6 281.9l2 2z"/>
+  <path id="path2741" fill="#fe9f11" d="M441.6 281.9l2 2z"/>
+  <path id="path2743" fill="#fbead6" d="M494.4 281.9l2 2z"/>
+  <path id="path2745" fill="#fea522" d="M514.7 281.9l2 2z"/>
+  <path id="path2747" fill="#fcf1e4" d="M528.9 281.9l2 2z"/>
+  <path id="path2749" fill="#808067" d="M551.3 281.9l2 2z"/>
+  <path id="path2751" fill="#0e0e6e" d="M417.3 283.9l2 2z"/>
+  <path id="path2753" fill="#a4a43d" d="M419.3 283.9l2 2z"/>
+  <path id="path2755" fill="#d9d868" d="M423.4 283.9l2 2z"/>
+  <path id="path2757" fill="#f8dcbb" d="M441.6 283.9l2 2z"/>
+  <path id="path2759" fill="#f9d6aa" d="M512.7 283.9l2 2z"/>
+  <path id="path2761" fill="#faca88" d="M526.9 283.9l2 2z"/>
+  <path id="path2763" fill="#f2f1d2" d="M545.2 283.9l2 2z"/>
+  <path id="path2765" fill="#58587b" d="M551.3 283.9l2 2z"/>
+  <path id="path2767" fill="#8d8d5b" d="M419.3 286l2 2z"/>
+  <path id="path2769" fill="#f9d6aa" d="M443.7 286l2 2z"/>
+  <path id="path2771" fill="#fdab33" d="M484.3 286l2 2z"/>
+  <path id="path2773" fill="#fff" d="M486.3 286l2 2z"/>
+  <path id="path2775" fill="#fcb144" d="M489.7 286.6l1.4.7z"/>
+  <path id="path2777" fill="#fef8f1" d="M510.7 286l-2 4z"/>
+  <path id="path2779" fill="#fe9f11" d="M512.7 286l2 2z"/>
+  <path id="path2781" fill="#fdab33" d="M524.9 286l-2 4z"/>
+  <path id="path2783" fill="#e5e59d" d="M545.2 286l2 2z"/>
+  <path id="path2785" fill="#3a3a7c" d="M551.3 286l2 2z"/>
+  <path id="path2787" fill="#667" d="M419.3 288l2 2z"/>
+  <path id="path2789" fill="#f2f1d2" d="M425.4 288l2 2z"/>
+  <path id="path2791" fill="#f9d6aa" d="M445.7 288l2 2z"/>
+  <path id="path2793" fill="#fe9f11" d="M484.3 288l2 2z"/>
+  <path id="path2795" fill="#faca88" d="M486.3 288l2 2z"/>
+  <path id="path2797" fill="#fea522" d="M488.3 288l2 2z"/>
+  <path id="path2799" fill="#fcf1e4" d="M490.4 288l2 2z"/>
+  <path id="path2801" fill="#fdab33" d="M510.7 288l2 2z"/>
+  <path id="path2803" fill="#fef8f1" d="M524.9 288l2 2z"/>
+  <path id="path2805" fill="#d9d868" d="M545.2 288l2 2z"/>
+  <path id="path2807" fill="#a4a43d" d="M549.2 288l2 2z"/>
+  <path id="path2809" fill="#0e0e6e" d="M551.3 288l2 2z"/>
+  <path id="path2811" fill="#3a3a7c" d="M419.3 290l2 2z"/>
+  <path id="path2813" fill="#e5e59d" d="M425.4 290l2 2z"/>
+  <path id="path2815" fill="#fae3c9" d="M447.7 290l4 4z"/>
+  <path id="path2817" fill="#fe9f11" d="M449.8 290l2 2z"/>
+  <path id="path2819" fill="#f8dcbb" d="M488.3 290l2 2z"/>
+  <path id="path2821" fill="#fcf1e4" d="M506.6 290l2 2z"/>
+  <path id="path2823" fill="#fdab33" d="M508.6 290l2 2z"/>
+  <path id="path2825" fill="#fcb144" d="M520.9 290l2 2z"/>
+  <path id="path2827" fill="#fef8f1" d="M522.9 290l2 2z"/>
+  <path id="path2829" fill="#fbfaf2" d="M543.2 290l2 2z"/>
+  <path id="path2831" fill="#8d8d5b" d="M549.2 290l2 2z"/>
+  <path id="path2833" fill="#0e0e6e" d="M419.3 292l2 2z"/>
+  <path id="path2835" fill="#a4a43d" d="M421.3 292l2 2z"/>
+  <path id="path2837" fill="#d4d456" d="M425.4 292l2 2z"/>
+  <path id="path2839" fill="#f9d6aa" d="M486.3 292l2 2z"/>
+  <path id="path2841" fill="#f9d099" d="M504.6 292l2 2z"/>
+  <path id="path2843" fill="#fe9f11" d="M506.6 292l2 2z"/>
+  <path id="path2845" fill="#faca88" d="M518.8 292l2 2z"/>
+  <path id="path2847" fill="#eeedc1" d="M543.2 292l2 2z"/>
+  <path id="path2849" fill="#58587b" d="M549.2 292l2 2z"/>
+  <path id="path2851" fill="#737370" d="M421.3 294l2 2z"/>
+  <path id="path2853" fill="#f6f6e4" d="M427.4 294l2 2z"/>
+  <path id="path2855" fill="#fbbe66" d="M449.8 294l2 2z"/>
+  <path id="path2857" fill="#fcb144" d="M482.3 294l2 2z"/>
+  <path id="path2859" fill="#f8dcbb" d="M484.9 295.5l.7 1.3z"/>
+  <path id="path2861" fill="#fbbe66" d="M500.5 294l2 2z"/>
+  <path id="path2863" fill="#fe9f11" d="M502.5 294l2 2z"/>
+  <path id="path2865" fill="#fbc477" d="M514.7 294l2 2z"/>
+  <path id="path2867" fill="#fcf1e4" d="M516.8 294l2 2z"/>
+  <path id="path2869" fill="#d3d079" d="M543.2 294l2 2z"/>
+  <path id="path2871" fill="#a4a43d" d="M547.2 294l2 2z"/>
+  <path id="path2873" fill="#262678" d="M549.2 294l2 2z"/>
+  <path id="path2875" fill="#49497d" d="M421.3 296l2 2z"/>
+  <path id="path2877" fill="#e0dea1" d="M427.4 296l2 2z"/>
+  <path id="path2879" fill="#fae3c9" d="M447.7 296l2 2z"/>
+  <path id="path2881" fill="#fdab33" d="M476.2 296l2 2z"/>
+  <path id="path2883" fill="#fbc477" d="M478.2 296l2 2z"/>
+  <path id="path2885" fill="#fbead6" d="M480.2 296l2 2z"/>
+  <path id="path2887" fill="#fcb144" d="M486.3 296l2 2z"/>
+  <path id="path2889" fill="#f9d6aa" d="M512.7 296l2 2z"/>
+  <path id="path2891" fill="#99994e" d="M547.2 296l2 2z"/>
+  <path id="path2893" fill="#0e0e6e" d="M421.3 298.2l2 2z"/>
+  <path id="path2895" fill="#a4a43d" d="M423.4 298.2l2 2z"/>
+  <path id="path2897" fill="#d4d456" d="M427.4 298.2l2 2z"/>
+  <path id="path2899" fill="#f9d099" d="M445.7 298.2l2 2z"/>
+  <path id="path2901" fill="#fe9f11" d="M447.7 298.2l2 2-2-2m10.2 0l2 2z"/>
+  <path id="path2903" fill="#f9d6aa" d="M459.9 298.2l2 2z"/>
+  <path id="path2905" fill="#f9d099" d="M461.9 298.2l2 2z"/>
+  <path id="path2907" fill="#f9d6aa" d="M470 298.2l2 2z"/>
+  <path id="path2909" fill="#fae3c9" d="M472 298.2l2 2z"/>
+  <path id="path2911" fill="#fef8f1" d="M474 298.2l2 2z"/>
+  <path id="path2913" fill="#fbead6" d="M490.4 298.2l2 2z"/>
+  <path id="path2915" fill="#fae3c9" d="M492.4 298.2l2 2z"/>
+  <path id="path2917" fill="#faca88" d="M494.4 298.2l2 2z"/>
+  <path id="path2919" fill="#fbc477" d="M496.5 298.2l2 2z"/>
+  <path id="path2921" fill="#fdab33" d="M498.5 298.2l2 2z"/>
+  <path id="path2923" fill="#fe9f11" d="M508.6 298.2l2 2z"/>
+  <path id="path2925" fill="#f9d6aa" d="M510.7 298.2l2 2z"/>
+  <path id="path2927" fill="#e5e3af" d="M541 298.2l2 2z"/>
+  <path id="path2929" fill="#667" d="M547.2 298.2l2 2z"/>
+  <path id="path2931" fill="#737370" d="M423.4 300.2l2 2z"/>
+  <path id="path2933" fill="#f2f1d7" d="M429.5 300.2l2 2z"/>
+  <path id="path2935" fill="#fea522" d="M443.7 300.2l2 2z"/>
+  <path id="path2937" fill="#fe9f11" d="M453.9 300.2l2 2z"/>
+  <path id="path2939" fill="#fbbe66" d="M455.9 300.2l2 2z"/>
+  <path id="path2941" fill="#fcf1e4" d="M457.9 300.2l2 2z"/>
+  <path id="path2943" fill="#fea522" d="M506.6 300.2l2 2z"/>
+  <path id="path2945" fill="#fbead6" d="M508.6 300.2l2 2z"/>
+  <path id="path2947" fill="#dddc7a" d="M541 300.2l2 2z"/>
+  <path id="path2949" fill="#a4a43d" d="M545.2 300.2l2 2z"/>
+  <path id="path2951" fill="#262678" d="M547.2 300.2l2 2z"/>
+  <path id="path2953" fill="#49497d" d="M423.4 302.2l2 2z"/>
+  <path id="path2955" fill="#a4a43d" d="M426 303.6l.8 1.3z"/>
+  <path id="path2957" fill="#d3d079" d="M429.5 302.2l2 2z"/>
+  <path id="path2959" fill="#f9d099" d="M445.7 302.2l2 2z"/>
+  <path id="path2961" fill="#fcb144" d="M447.7 302.2l2 2z"/>
+  <path id="path2963" fill="#faca88" d="M449.8 302.2l2 2z"/>
+  <path id="path2965" fill="#f8dcbb" d="M451.8 302.2l2 2z"/>
+  <path id="path2967" fill="#fef8f1" d="M453.9 302.2l2 2z"/>
+  <path id="path2969" fill="#f8dcbb" d="M498.5 302.2l2 2z"/>
+  <path id="path2971" fill="#fcf1e4" d="M506.6 302.2l2 2z"/>
+  <path id="path2973" fill="#f6f6e4" d="M539 302.2l2 2z"/>
+  <path id="path2975" fill="#8d8d5b" d="M545.2 302.2l2 2z"/>
+  <path id="path2977" fill="#fbfaf2" d="M431.5 304.2l2 2z"/>
+  <path id="path2979" fill="#fbbe66" d="M498.5 304.2l2 2z"/>
+  <path id="path2981" fill="#faca88" d="M504.6 304.2l2 2z"/>
+  <path id="path2983" fill="#e1e18c" d="M539 304.2l2 2z"/>
+  <path id="path2985" fill="#49497d" d="M545.2 304.2l2 2z"/>
+  <path id="path2987" fill="#58587b" d="M425.4 306.3l2 2z"/>
+  <path id="path2989" fill="#e5e59d" d="M431.5 306.3l2 2z"/>
+  <path id="path2991" fill="#fe9f11" d="M498.5 306.3l2 2z"/>
+  <path id="path2993" fill="#fdab33" d="M502.5 306.3l2 2z"/>
+  <path id="path2995" fill="#fbfaf2" d="M537 306.3l2 2z"/>
+  <path id="path2997" fill="#a4a43d" d="M543.2 306.3l2 2z"/>
+  <path id="path2999" fill="#0e0e6e" d="M545.2 306.3l2 2z"/>
+  <path id="path3001" fill="#1b1b74" d="M425.4 308.3l2 2z"/>
+  <path id="path3003" fill="#a4a43d" d="M427.4 308.3l2 2z"/>
+  <path id="path3005" fill="#d0d045" d="M431.5 308.3l2 2z"/>
+  <path id="path3007" fill="#fbead6" d="M496.5 308.3l2 2z"/>
+  <path id="path3009" fill="#fe9f11" d="M500.5 308.3l2 2z"/>
+  <path id="path3011" fill="#fbead6" d="M502.5 308.3l2 2z"/>
+  <path id="path3013" fill="#e5e59d" d="M537 308.3l2 2z"/>
+  <path id="path3015" fill="#667" d="M543.2 308.3l2 2z"/>
+  <path id="path3017" fill="#6e6c70" d="M427.4 310.3l2 2z"/>
+  <path id="path3019" fill="#e5e3af" d="M433.5 310.3l2 2z"/>
+  <path id="path3021" fill="#faca88" d="M497 311.7l.8 1.4z"/>
+  <path id="path3023" fill="#fae3c9" d="M500.5 310.3l2 2z"/>
+  <path id="path3025" fill="#fbfaf2" d="M535 310.3l2 2z"/>
+  <path id="path3027" fill="#a4a43d" d="M541 310.3l2 2z"/>
+  <path id="path3029" fill="#1b1b74" d="M543.2 310.3l2 2-2-2m-115.8 2l2 2z"/>
+  <path id="path3031" fill="#a4a43d" d="M429.5 312.4l2 2z"/>
+  <path id="path3033" fill="#d0d045" d="M433.5 312.4l2 2z"/>
+  <path id="path3035" fill="#fbfaf2" d="M435.5 312.4l2 2z"/>
+  <path id="path3037" fill="#f9d6aa" d="M498.5 312.4l2 2z"/>
+  <path id="path3039" fill="#e5e59d" d="M535 312.4l2 2z"/>
+  <path id="path3041" fill="#6e6c70" d="M541 312.4l2 2-2-2m-111.5 2l2 2z"/>
+  <path id="path3043" fill="#8cbf84" d="M435.5 314.4l2 2z"/>
+  <path id="path3045" fill="#0cf" d="M436.4 314.4c7 14.8 32 49.8 51 49.2 18.6-.7 39.5-35 47.6-49.2z"/>
+  <path id="path3047" fill="#a4a43d" d="M539 314.4l2 2z"/>
+  <path id="path3049" fill="#1b1b74" d="M541 314.4l2 2-2-2m-111.5 2l2 2z"/>
+  <path id="path3051" fill="#a4a43d" d="M431.5 316.4l2 2z"/>
+  <path id="path3053" fill="#adb333" d="M435.5 316.4l2 2z"/>
+  <path id="path3055" fill="#1ac5b5" d="M437.6 316.4l2 2z"/>
+  <path id="path3057" fill="#68b070" d="M533 316.4l2 2z"/>
+  <path id="path3059" fill="#667" d="M539 316.4l2 2z"/>
+  <path id="path3061" fill="#58587b" d="M431.5 318.5l2 2z"/>
+  <path id="path3063" fill="#7fb15c" d="M437.6 318.5l2 2z"/>
+  <path id="path3065" fill="#27c2aa" d="M530.9 318.5l2 2-2-2z"/>
+  <path id="path3067" fill="#a4a43d" d="M537 318.5l-2 4z"/>
+  <path id="path3069" fill="#0e0e6e" d="M539 318.5l2 2-2-2m-107.5 2l2 2z"/>
+  <path id="path3071" fill="#a4a43d" d="M433.5 320.5l4 4z"/>
+  <path id="path3073" fill="#34be9e" d="M439.6 320.5l2 2z"/>
+  <path id="path3075" fill="#96b247" d="M530.9 320.5l2 2-2-2z"/>
+  <path id="path3077" fill="#53527c" d="M537 320.5l2 2z"/>
+  <path id="path3079" fill="#3a3a7c" d="M433.5 322.6l2 2z"/>
+  <path id="path3081" fill="#a2b23d" d="M439.6 322.6l2 2z"/>
+  <path id="path3083" fill="#0dc9c1" d="M441.6 322.6l2 2z"/>
+  <path id="path3085" fill="#5bb47c" d="M528.9 322.6l2 2z"/>
+  <path id="path3087" fill="#8d8d5b" d="M535 322.6l2 2z"/>
+  <path id="path3089" fill="#737370" d="M435.5 324.6l2 2z"/>
+  <path id="path3091" fill="#74b166" d="M441.6 324.6l2 2z"/>
+  <path id="path3093" fill="#27c2aa" d="M526.9 324.6l2 2z"/>
+  <path id="path3095" fill="#a4a43d" d="M533 324.6l-2 4z"/>
+  <path id="path3097" fill="#262678" d="M535 324.6l2 2z"/>
+  <path id="path3099" fill="#0e0e6e" d="M435.5 326.6l2 2z"/>
+  <path id="path3101" fill="#a4a43d" d="M437.6 326.6l4 4z"/>
+  <path id="path3103" fill="#42bb92" d="M443.7 326.6l2 2z"/>
+  <path id="path3105" fill="#0dc9c1" d="M524.9 326.6l2 2z"/>
+  <path id="path3107" fill="#96b247" d="M526.9 326.6l2 2z"/>
+  <path id="path3109" fill="#58587b" d="M533 326.6l2 2z"/>
+  <path id="path3111" fill="#3a3a7c" d="M437.6 328.6l2 2z"/>
+  <path id="path3113" fill="#adb333" d="M443.7 328.6l2 2z"/>
+  <path id="path3115" fill="#27c2aa" d="M445.7 328.6l2 2z"/>
+  <path id="path3117" fill="#74b166" d="M524.9 328.6l2 2z"/>
+  <path id="path3119" fill="#8d8d5b" d="M530.9 328.6l2 2-2-2z"/>
+  <path id="path3121" fill="#6e6c70" d="M439.6 330.6l2 2z"/>
+  <path id="path3123" fill="#96b247" d="M445.7 330.6l2 2z"/>
+  <path id="path3125" fill="#0dc9c1" d="M447.7 330.6l2 2z"/>
+  <path id="path3127" fill="#42bb92" d="M522.9 330.6l2 2z"/>
+  <path id="path3129" fill="#a4a43d" d="M528.9 330.6l-4 6 4-6z"/>
+  <path id="path3131" fill="#1b1b74" d="M530.9 330.6l2 2-2-2z"/>
+  <path id="path3133" fill="#0e0e6e" d="M439.6 332.6l2 2-2-2z"/>
+  <path id="path3135" fill="#8d8d5b" d="M441.6 332.6l2 2-2-2z"/>
+  <path id="path3137" fill="#7fb15c" d="M447.7 332.6l2 2-2-2z"/>
+  <path id="path3139" fill="#34be9e" d="M520.9 332.6l2 2-2-2z"/>
+  <path id="path3141" fill="#3a3a7c" d="M528.9 332.6l2 2-2-2z"/>
+  <path id="path3143" fill="#1b1b74" d="M441.6 334.7l2 2z"/>
+  <path id="path3145" fill="#a4a43d" d="M443.7 334.7L466 357z"/>
+  <path id="path3147" fill="#74b166" d="M449.8 334.7l2 2z"/>
+  <path id="path3149" fill="#27c2aa" d="M518.8 334.7l2 2z"/>
+  <path id="path3151" fill="#adb333" d="M520.9 334.7l2 2z"/>
+  <path id="path3153" fill="#667" d="M526.9 334.7l2 2z"/>
+  <path id="path3155" fill="#32327b" d="M443.7 336.7l2 2z"/>
+  <path id="path3157" fill="#42bb92" d="M451.8 336.7l2 2z"/>
+  <path id="path3159" fill="#0dc9c1" d="M516.8 336.7l-8.2 10.2 8.3-10.3z"/>
+  <path id="path3161" fill="#adb333" d="M518.8 336.7l2 2z"/>
+  <path id="path3163" fill="#737370" d="M524.9 336.7l2 2z"/>
+  <path id="path3165" fill="#49497d" d="M445.7 338.8l2 2z"/>
+  <path id="path3167" fill="#42bb92" d="M453.9 338.8l2 2z"/>
+  <path id="path3169" fill="#96b247" d="M516.8 338.8l2 2z"/>
+  <path id="path3171" fill="#8d8d5b" d="M522.9 338.8l-2 4z"/>
+  <path id="path3173" fill="#0e0e6e" d="M524.9 338.8l2 2z"/>
+  <path id="path3175" fill="#53527c" d="M447.7 340.8l2 2z"/>
+  <path id="path3177" fill="#42bb92" d="M455.9 340.8l2 2z"/>
+  <path id="path3179" fill="#96b247" d="M514.7 340.8l2 2z"/>
+  <path id="path3181" fill="#0e0e6e" d="M522.9 340.8l2 2z"/>
+  <path id="path3183" fill="#6e6c70" d="M449.8 342.8l2 2z"/>
+  <path id="path3185" fill="#42bb92" d="M457.9 342.8l2 2z"/>
+  <path id="path3187" fill="#96b247" d="M512.7 342.8l2 2z"/>
+  <path id="path3189" fill="#a4a43d" d="M518.8 342.8l-4 6 4-6z"/>
+  <path id="path3191" fill="#262678" d="M520.9 342.8l2 2z"/>
+  <path id="path3193" fill="#6e6c70" d="M451.8 344.9l2 2z"/>
+  <path id="path3195" fill="#42bb92" d="M459.9 344.9l2 2z"/>
+  <path id="path3197" fill="#96b247" d="M510.7 344.9l2 2z"/>
+  <path id="path3199" fill="#262678" d="M518.8 344.9l2 2z"/>
+  <path id="path3201" fill="#6e6c70" d="M453.9 346.9l2 2z"/>
+  <path id="path3203" fill="#68b070" d="M461.9 346.9l2 2z"/>
+  <path id="path3205" fill="#27c2aa" d="M506.6 346.9l2 2z"/>
+  <path id="path3207" fill="#adb333" d="M508.6 346.9l2 2z"/>
+  <path id="path3209" fill="#262678" d="M516.8 346.9l2 2z"/>
+  <path id="path3211" fill="#667" d="M455.9 348.9l2 2z"/>
+  <path id="path3213" fill="#74b166" d="M463.9 348.9l2 2-2-2z"/>
+  <path id="path3215" fill="#34be9e" d="M504.6 348.9l2 2z"/>
+  <path id="path3217" fill="#adb333" d="M506.6 348.9l2 2z"/>
+  <path id="path3219" fill="#8d8d5b" d="M512.7 348.9l-2 4z"/>
+  <path id="path3221" fill="#262678" d="M514.7 348.9l2 2z"/>
+  <path id="path3223" fill="#49497d" d="M457.9 350.9l2 2z"/>
+  <path id="path3225" fill="#96b247" d="M466 350.9l2 2z"/>
+  <path id="path3227" fill="#0dc9c1" d="M468 350.9l2 2z"/>
+  <path id="path3229" fill="#42bb92" d="M502.5 350.9l2 2z"/>
+  <path id="path3231" fill="#0e0e6e" d="M512.7 350.9l2 2z"/>
+  <path id="path3233" fill="#49497d" d="M459.9 353l2 2z"/>
+  <path id="path3235" fill="#a2b23d" d="M468 353l2 2z"/>
+  <path id="path3237" fill="#27c2aa" d="M470 353l2 2z"/>
+  <path id="path3239" fill="#74b166" d="M500.5 353l2 2z"/>
+  <path id="path3241" fill="#a4a43d" d="M506.6 353l-6 8z"/>
+  <path id="path3243" fill="#808067" d="M508.6 353l2 2z"/>
+  <path id="path3245" fill="#0e0e6e" d="M510.7 353l2 2z"/>
+  <path id="path3247" fill="#262678" d="M461.9 355l2 2z"/>
+  <path id="path3249" fill="#adb333" d="M470 355l2 2z"/>
+  <path id="path3251" fill="#42bb92" d="M472 355l2 2z"/>
+  <path id="path3253" fill="#0dc9c1" d="M496.5 355l2 2z"/>
+  <path id="path3255" fill="#96b247" d="M498.5 355l2 2z"/>
+  <path id="path3257" fill="#6e6c70" d="M506.6 355l2 2z"/>
+  <path id="path3259" fill="#1b1b74" d="M463.9 357l2 2-2-2z"/>
+  <path id="path3261" fill="#8d8d5b" d="M466 357l2 2z"/>
+  <path id="path3263" fill="#74b166" d="M474 357l2 2z"/>
+  <path id="path3265" fill="#0dc9c1" d="M476.2 357l2 2z"/>
+  <path id="path3267" fill="#34be9e" d="M494.4 357l2 2z"/>
+  <path id="path3269" fill="#adb333" d="M496.5 357l2 2z"/>
+  <path id="path3271" fill="#49497d" d="M504.6 357l2 2z"/>
+  <path id="path3273" fill="#0e0e6e" d="M466 359l2 2z"/>
+  <path id="path3275" fill="#6e6c70" d="M468 359l2 2z"/>
+  <path id="path3277" fill="#a4a43d" d="M470 359l4 4z"/>
+  <path id="path3279" fill="#96b247" d="M476.2 359l2 2z"/>
+  <path id="path3281" fill="#27c2aa" d="M478.2 359l2 2z"/>
+  <path id="path3283" fill="#68b070" d="M492.4 359l2 2z"/>
+  <path id="path3285" fill="#32327b" d="M502.5 359l2 2z"/>
+  <path id="path3287" fill="#49497d" d="M470 361l2 2z"/>
+  <path id="path3289" fill="#5bb47c" d="M480.2 361l2 2z"/>
+  <path id="path3291" fill="#27c2aa" d="M488.3 361l2 2z"/>
+  <path id="path3293" fill="#96b247" d="M490.4 361l2 2z"/>
+  <path id="path3295" fill="#a4a43d" d="M496.5 361l-2 4z"/>
+  <path id="path3297" fill="#808067" d="M498.5 361l2 2z"/>
+  <path id="path3299" fill="#0e0e6e" d="M500.5 361l2 2z"/>
+  <path id="path3301" fill="#262678" d="M472 363l2 2z"/>
+  <path id="path3303" fill="#8d8d5b" d="M474 363l2 2z"/>
+  <path id="path3305" fill="#8bb252" d="M482.3 363l2 2z"/>
+  <path id="path3307" fill="#1ac5b5" d="M484.3 363l2 2z"/>
+  <path id="path3309" fill="#5bb47c" d="M486.3 363l2 2z"/>
+  <path id="path3311" fill="#58587b" d="M496.5 363l2 2z"/>
+  <path id="path3313" fill="#0e0e6e" d="M474 365.2l2 2z"/>
+  <path id="path3315" fill="#667" d="M476.2 365.2l2 2z"/>
+  <path id="path3317" fill="#a4a43d" d="M478.2 365.2l2 2z"/>
+  <path id="path3319" fill="#99994e" d="M492.4 365.2l2 2z"/>
+  <path id="path3321" fill="#32327b" d="M494.4 365.2l2 2-2-2m-16.2 2l2 2z"/>
+  <path id="path3323" fill="#99994e" d="M480.2 367.2l2 2z"/>
+  <path id="path3325" fill="#a4a43d" d="M488.3 367.2l2 2z"/>
+  <path id="path3327" fill="#667" d="M490.4 367.2l2 2z"/>
+  <path id="path3329" fill="#0e0e6e" d="M492.4 367.2l2 2-2-2m-12.2 2l2 2z"/>
+  <path id="path3331" fill="#667" d="M482.3 369.2l2 2z"/>
+  <path id="path3333" fill="#a4a43d" d="M484.3 369.2l2 2z"/>
+  <path id="path3335" fill="#99994e" d="M486.3 369.2l2 2z"/>
+  <path id="path3337" fill="#32327b" d="M488.3 369.2l2 2z"/>
+  <path id="path3339" fill="#262678" d="M484.3 371.2l2 2z"/>
+  <path id="path3341" fill="#0e0e6e" d="M486.3 371.2l2 2z"/>
+  <path id="path3343" fill="#f90" d="M488.3 235.2c3.2 7.4 13.2 15.5 16 19.5-3.5 4-4.2 3.6-3.8 11 6-6.4 6.2-7 10.2-6.1 8.6 8.6 1.5 27-5.6 31-7.1 4.3-5.8-.1-16.5 5.2 4.9 4.2 10.6-.6 15.2.7 2.5 3-1.2 8.4.7 13.6 4-.4 3.6-8.7 4.6-11.7 3-11 21-18.6 21.9-28.7 3.8-1.7 7.5-.5 12 2-2.2-9.4-9.7-9.3-11.8-12.2-4.8-7.4-9.1-15.8-19.4-18-8-1.7-7.3.5-12.3-3-3.2-2.4-12.7-7-11.2-3.3z"/>
+  <path id="path3345" fill="#fff" fill-rule="evenodd" d="M510.9 243.6a1.6 1.6 0 11-3.3 0 1.6 1.6 0 013.3 0z"/>
+  <path id="path3347" fill="#f90" d="M463.2 266.5c5-6.2 7.6-19 9.8-23.2 5.2 1.2 5 2 11.5-1.8-8.5-2.4-9.2-2.2-10.2-6.1 3.6-11.7 23.2-14 30-9.6 7.2 4.3 2.7 5.2 12.4 12 1.4-6.2-5.5-9-6.5-13.6 1.5-3.7 8-3 11.6-7-2.2-3.5-9.3.8-12.4 1.4-11 2.5-26.3-9.8-35.6-6-3.3-2.5-4-6.4-4-11.7-7.1 6.5-3.5 13-5.2 16.3-4.2 7.7-9.7 15.5-6.8 25.6 2.2 7.8 3.8 6.2 3.2 12.3-.7 3.9-.4 14.5 2.2 11.4z"/>
+  <path id="path3349" fill="#fff" fill-rule="evenodd" d="M460 242.6c.9-.4 1.9-.1 2.3.7a1.6 1.6 0 11-2.2-.7z"/>
+  <path id="path3351" fill="#f90" d="M504.3 270.8c-8-1-20.1 3.3-25 3.7-1.5-5.1-.8-5.5-7.4-9 2.3 8.6 2.8 9 0 12-11.8 2.9-24-12.7-23.8-20.8 0-8.3 3.2-5 4-17-6 2-4.8 9.5-8.3 12.8-4 .6-6.6-5.3-12-6.3-1.8 3.7 5.5 7.5 7.6 9.9 7.9 8.2 5.2 27.5 13.3 33.5-.4 4.2-3.4 6.8-8 9.4 9.3 2.9 13-3.7 16.7-4 8.8-.2 18.3.4 25.5-7.3 5.4-6 3.3-6.5 8.8-9 3.7-1.4 12.6-7.2 8.6-8z"/>
+  <path id="path3353" fill="#fff" fill-rule="evenodd" d="M485.5 285.9a1.6 1.6 0 111.7-2.8 1.6 1.6 0 01-1.7 2.8z"/>
+  <path id="path5288" fill="#012169" stroke-width=".5" d="M0 0h320v240H0z"/>
+  <path id="path5290" fill="#fff" stroke-width=".5" d="M37.5 0l122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/>
+  <path id="path5292" fill="#c8102e" stroke-width=".5" d="M212 140.5L320 220v20l-135.5-99.5zm-92 10l3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/>
+  <path id="path5294" fill="#fff" stroke-width=".5" d="M120.5 0v240h80V0zM0 80v80h320V80z"/>
+  <path id="path5296" fill="#c8102e" stroke-width=".5" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/al.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/al.svg
new file mode 100644
index 0000000..e831b02
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/al.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-al" viewBox="0 0 640 480">
+  <path fill="#e41e20" d="M0 0h640v480H0z"/>
+  <path id="a" d="M272 93.3c-4.6 0-12.3 1.5-12.2 5-13-2.1-14.3 3.2-13.5 8 1.2-1.9 2.7-3 3.9-3.1 1.7-.3 3.5.3 5.4 1.4a21.6 21.6 0 014.8 4.1c-4.6 1.1-8.2.4-11.8-.2a16.5 16.5 0 01-5.7-2.4c-1.5-1-2-2-4.3-4.3-2.7-2.8-5.6-2-4.7 2.3 2.1 4 5.6 5.8 10 6.6 2.1.3 5.3 1 8.9 1 3.6 0 7.6-.5 9.8 0-1.3.8-2.8 2.3-5.8 2.8-3 .6-7.5-1.8-10.3-2.4.3 2.3 3.3 4.5 9.1 5.7 9.6 2 17.5 3.6 22.8 6.5a37.3 37.3 0 0110.9 9.2c4.7 5.5 5 9.8 5.2 10.8 1 8.8-2.1 13.8-7.9 15.4-2.8.7-8-.7-9.8-2.9-2-2.2-3.7-6-3.2-12 .5-2.2 3.1-8.3.9-9.5a273.7 273.7 0 00-32.3-15.1c-2.5-1-4.5 2.4-5.3 3.8a50.2 50.2 0 01-36-23.7c-4.2-7.6-11.3 0-10.1 7.3 1.9 8 8 13.8 15.4 18 7.5 4.1 17 8.2 26.5 8 5.2 1 5.1 7.6-1 8.9-12.1 0-21.8-.2-30.9-9-6.9-6.3-10.7 1.2-8.8 5.4 3.4 13.1 22.1 16.8 41 12.6 7.4-1.2 3 6.6 1 6.7-8 5.7-22.1 11.2-34.6 0-5.7-4.4-9.6-.8-7.4 5.5 5.5 16.5 26.7 13 41.2 5 3.7-2.1 7.1 2.7 2.6 6.4-18.1 12.6-27.1 12.8-35.3 8-10.2-4.1-11 7.2-5 11 6.7 4 23.8 1 36.4-7 5.4-4 5.6 2.3 2.2 4.8-14.9 12.9-20.8 16.3-36.3 14.2-7.7-.6-7.6 8.9-1.6 12.6 8.3 5.1 24.5-3.3 37-13.8 5.3-2.8 6.2 1.8 3.6 7.3a53.9 53.9 0 01-21.8 18c-7 2.7-13.6 2.3-18.3.7-5.8-2-6.5 4-3.3 9.4 1.9 3.3 9.8 4.3 18.4 1.3 8.6-3 17.8-10.2 24.1-18.5 5.5-4.9 4.9 1.6 2.3 6.2-12.6 20-24.2 27.4-39.5 26.2-6.7-1.2-8.3 4-4 9 7.6 6.2 17 6 25.4-.2 7.3-7 21.4-22.4 28.8-30.6 5.2-4.1 6.9 0 5.3 8.4-1.4 4.8-4.8 10-14.3 13.6-6.5 3.7-1.6 8.8 3.2 9 2.7 0 8.1-3.2 12.3-7.8 5.4-6.2 5.8-10.3 8.8-19.9 2.8-4.6 7.9-2.4 7.9 2.4-2.5 9.6-4.5 11.3-9.5 15.2-4.7 4.5 3.3 6 6 4.1 7.8-5.2 10.6-12 13.2-18.2 2-4.4 7.4-2.3 4.8 5-6 17.4-16 24.2-33.3 27.8-1.7.3-2.8 1.3-2.2 3.3l7 7c-10.7 3.2-19.4 5-30.2 8l-14.8-9.8c-1.3-3.2-2-8.2-9.8-4.7-5.2-2.4-7.7-1.5-10.6 1 4.2 0 6 1.2 7.7 3.1 2.2 5.7 7.2 6.3 12.3 4.7 3.3 2.7 5 4.9 8.4 7.7l-16.7-.5c-6-6.3-10.6-6-14.8-1-3.3.5-4.6.5-6.8 4.4 3.4-1.4 5.6-1.8 7.1-.3 6.3 3.7 10.4 2.9 13.5 0l17.5 1.1c-2.2 2-5.2 3-7.5 4.8-9-2.6-13.8 1-15.4 8.3a17 17 0 00-1.2 9.3c.8-3 2.3-5.5 4.9-7 8 2 11-1.3 11.5-6.1 4-3.2 9.8-3.9 13.7-7.1 4.6 1.4 6.8 2.3 11.4 3.8 1.6 5 5.3 6.9 11.3 5.6 7 .2 5.8 3.2 6.4 5.5 2-3.3 1.9-6.6-2.5-9.6-1.6-4.3-5.2-6.3-9.8-3.8-4.4-1.2-5.5-3-9.9-4.3 11-3.5 18.8-4.3 29.8-7.8l7.7 6.8c1.5.9 2.9 1.1 3.8 0 6.9-10 10-18.7 16.3-25.3 2.5-2.8 5.6-6.4 9-7.3 1.7-.5 3.8-.2 5.2 1.3 1.3 1.4 2.4 4.1 2 8.2-.7 5.7-2.1 7.6-3.7 11-1.7 3.5-3.6 5.6-5.7 8.3-4 5.3-9.4 8.4-12.6 10.5-6.4 4.1-9 2.3-14 2-6.4.7-8 3.8-2.8 8.1 4.8 2.6 9.2 2.9 12.8 2.2 3-.6 6.6-4.5 9.2-6.6 2.8-3.3 7.6.6 4.3 4.5-5.9 7-11.7 11.6-19 11.5-7.7 1-6.2 5.3-1.2 7.4 9.2 3.7 17.4-3.3 21.6-8 3.2-3.5 5.5-3.6 5 1.9-3.3 9.9-7.6 13.7-14.8 14.2-5.8-.6-5.9 4-1.6 7 9.6 6.6 16.6-4.8 19.9-11.6 2.3-6.2 5.9-3.3 6.3 1.8 0 6.9-3 12.4-11.3 19.4 6.3 10.1 13.7 20.4 20 30.5l19.2-214L320 139c-2-1.8-8.8-9.8-10.5-11-.7-.6-1-1-.1-1.4.9-.4 3-.8 4.5-1-4-4.1-7.6-5.4-15.3-7.6 1.9-.8 3.7-.4 9.3-.6a30.2 30.2 0 00-13.5-10.2c4.2-3 5-3.2 9.2-6.7a86.3 86.3 0 01-19.5-3.8 37.4 37.4 0 00-12-3.4zm.8 8.4c3.8 0 6.1 1.3 6.1 2.9 0 1.6-2.3 2.9-6.1 2.9s-6.2-1.5-6.2-3c0-1.6 2.4-2.8 6.2-2.8z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/am.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/am.svg
new file mode 100644
index 0000000..0cd2178
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/am.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-am" viewBox="0 0 640 480">
+  <path fill="red" d="M0 0h640v160H0z"/>
+  <path fill="#00f" d="M0 160h640v160H0z"/>
+  <path fill="orange" d="M0 320h640v160H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ao.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ao.svg
new file mode 100644
index 0000000..a0b6dbb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ao.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ao" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="red" d="M0 0h640v243.6H0z"/>
+    <path d="M0 236.4h640V480H0z"/>
+  </g>
+  <path fill="#ffec00" fill-rule="evenodd" d="M228.7 148.2c165.2 43.3 59 255.6-71.3 167.2l-8.8 13.6c76.7 54.6 152.6 10.6 174-46.4 22.2-58.8-7.6-141.5-92.6-150l-1.3 15.6z"/>
+  <path fill="#ffec00" fill-rule="evenodd" d="M170 330.8l21.7 10.1-10.2 21.8-21.7-10.2zm149-99.5h24v24h-24zm-11.7-38.9l22.3-8.6 8.7 22.3-22.3 8.7zm-26-29.1l17.1-16.9 16.9 17-17 16.9zm-26.2-39.8l22.4 8.4-8.5 22.4-22.4-8.4zM316 270l22.3 8.9-9 22.2-22.2-8.9zm-69.9 70l22-9.3 9.5 22-22 9.4zm-39.5 2.8h24v24h-24zm41.3-116l-20.3-15-20.3 14.6 8-23-20.3-15h24.5l8.5-22.6 7.8 22.7 24.7-.3-19.6 15.3 7 23.4z"/>
+  <path fill="#fe0" fill-rule="evenodd" d="M336 346.4c-1.2.4-6.2 12.4-9.7 18.2l3.7 1c13.6 4.8 20.4 9.2 26.2 17.5a7.9 7.9 0 0010.2.7s2.8-1 6.4-5c3-4.5 2.2-8-1.4-11.1-11-8-22.9-14-35.4-21.3z"/>
+  <path fill-rule="evenodd" d="M365.3 372.8a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.6 0zm-21.4-13.6a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.7 0zm10.9 7a4.3 4.3 0 11-8.7 0 4.3 4.3 0 018.7 0z"/>
+  <path fill="#fe0" fill-rule="evenodd" d="M324.5 363.7c-42.6-24.3-87.3-50.5-130-74.8-18.7-11.7-19.6-33.4-7-49.9 1.2-2.3 2.8-1.8 3.4-.5 1.5 8 6 16.3 11.4 21.5A5288 5288 0 01334 345.6c-3.4 5.8-6 12.3-9.5 18z"/>
+  <path fill="#ffec00" fill-rule="evenodd" d="M297.2 305.5l17.8 16-16 17.8-17.8-16z"/>
+  <path fill="none" stroke="#000" stroke-width="3" d="M331.5 348.8l-125-75.5m109.6 58.1L274 304.1m18.2 42.7L249.3 322"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/aq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/aq.svg
new file mode 100644
index 0000000..2000e3c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/aq.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-aq" viewBox="0 0 640 480">
+  <path fill="#072B5F" d="M0 0h640v480H0z"/>
+  <path fill="#FFF" d="M340.4 1a237.1 237.1 0 0197.4 29.9L455 .9h6.1l-18.8 32.7a241.2 241.2 0 0184.2 84.1L640 52.2v6.2l-110.8 64a239 239 0 0130.8 115h80v5.3h-80v1.3a239 239 0 01-30.8 113.7l110.8 64v6.2l-113.5-65.5a241.2 241.2 0 01-84.2 84.1l18.8 32.6H455l-17.2-29.9a238.4 238.4 0 01-96.4 29.9h-42.6c-34.8-3-67.4-13.6-96.4-29.9l-17.2 29.9H179l18.8-32.6a241.2 241.2 0 01-84.2-84.1L.1 427.9v-6.2l110.8-64a238.8 238.8 0 01-30.7-115H0v-5.3h80V236c1-41.2 12-80 31-113.6L.1 58.4v-6.2l113.5 65.5a241.2 241.2 0 0184.2-84.1L179 .9h6.2l17.2 30c29.2-16.5 62.2-27 97.4-30h40.6zM238.6 386.5l-33.5 58a233.5 233.5 0 00112.3 30v-66.9c-28.6-.4-55.4-8-78.8-21zm167 6.9l-6.1 3.5-6.4-2-11.6 2-1-.5c-18 7-37.4 11-57.7 11.2v67h1.2c40.3-.7 78.2-11.6 111.1-30.1l-29.5-51.1zm83.3-53l-9.8.9 2.6 5.9-5.3 5.3-8.6 1.6-2.6 4.7 6.4 3.2-12.2 11.2 3.6 5.9-9.4-2.1-10.7 6.4-14.3 6.8-3.2 4.8-2.2-1.8 2.2-4.6-9.5 3.5-2.1-3.5-3.6 2 29.5 51.2c33.9-20 62.2-48.4 82.3-82.2l-33.1-19.1zm-312.7-14.3l-58 33.5a236.4 236.4 0 0082.3 82.2l33.4-58a168.6 168.6 0 01-57.7-57.7zm119.6 6.4l-1.6 2.7-7.5.5h-2l-3.1 5.4-9-6.4-5 1.6.8 4.3-2.5-1.4-24.7 42.7c22.7 12.6 48.6 20 76.2 20.4v-64.8l-.3-.1-21.3-4.9zm52.1 4.9l-3.9 1.7 1.8 5.2h-13.4l-9.6-4.2v62.2a162 162 0 0051-9l-3.2-1.9-12.7 3.2-11.2-7.1v2.8L344 387l3.2-3.2-.5-9.7h3.7l2.2-6.2 2.7-1.3-2.2-3.2 3.2-1-.5-4.9-3.2-1.4 4.3-.5-2.7-11.6-6.3-6.4zM206 309l-25.2 14.5c13.8 22.9 33 42 55.8 55.8l24.6-42.6-4.6-2.5-.5 4.3-11.6-5.3-.6.5-5.9 2.1-1-4.2-13.8-6.8-14.8-4.8-2.4-11zm304.8-66.3l1.1 3.4-1.6 7.5 3.2 4.3 8.4 1.6-8.4 11.6 1.6 2 2.2 2.3-3.8 5.7 3.6 2.1-18.6 15.4 4.3 10.7-1 6.2-6.5 2.1-1.6 5.4-7.1 3.2-2 5.7 40 23.1a233.5 233.5 0 0030.1-112.3h-43.9zm-425.3 0v1.2c.7 40.4 11.5 78.2 30 111.1l58-33.4a166.9 166.9 0 01-21-78.9h-67zm72.3 0a161 161 0 0020.4 76.2l26.7-15.4-5-8.9 2.6-12.8-4.8-1.6-1.6-5.4 8-.9h-3.5l.3-8-11.6 3.6-.5-3-1.6 5.8-6.2 2.5-4.5-4-1.4-4.4-1.8-8.3 3.7-2.7 1.6 2 1.1-2.5-1.7-12.2h-20.2zm41.3 38.4l-1.6 3.5-5.1 1.1 3.2-4.3 3.5-.3zm-26-84.8l-3.7 5.2-1.1-3.6-4.8 1.5-.7.3c-3 12-4.8 24.7-5 37.7h19.5l-.3-1.6 4.3.9 2.3-19.9.6-.7 4.2-2.5-5.3.6-2-4.8 9.5-10.7-8.6-1.5-6.4 6.3-2.5-7.2zM524.6 125l-43.8 25.4 10.4 26.3-5.9 5.4-.3 6.2-3.9 4.7.7 2.3 3.7 2.5-2.1 1.7 4.6 4.7 7.3 1.2 2.3 3 2 4.3 5.3 2.2 6.5-4.3 4.2.5-5.3 7.5 5.3 13.8-6 5h45v-1.2a233.4 233.4 0 00-30-111.2zm-409 0a233.5 233.5 0 00-30 112.4h66.8v-.1c.3-17.2 3.2-33.8 8.3-49.4l-1.5.4-.4-5.3h3.6c.5-1.5 1-3 1.7-4.5l-5-8.4-3 1-2-3.5-1.2 3.2-3.2-2.3 3.2-2-4.8-1.7 1.1-2.5-3.8-2.2-1-8.4-3.8-1.2 2.4-1.4-4.3-10.7-23.1-13.4zm91.4 53l4.7 5.6 2.7-1.3-7.4-4.3zm-39 5h.7l-.2-1.2-.5 1.3zm68.5-82.1a164.3 164.3 0 00-55.8 55.7l40.7 23.5 30-6.9 1.2-6.4 2.5 1.3-.6-2.2 1.8-1 7.3-2.7v-7.3l2.5-2.8-29.6-51.2zm-85 74.1v.2-.2zm-5.3-7.1l6 3.6-.7 3.5-5.3-7.1zm54.2-129.6a235.8 235.8 0 00-82.2 82.2l21 12.1 1.3-9.5h3.2l-.5 4v.2h-.2l.1.7-.2 2 5.6 8 21 12.2.5-.7 1.4 1.8 4.7 2.7a168 168 0 0157.7-57.8l-33.4-58zm-61.8 107.6v.8l-1.5 4-1.7-4.8h3.2zm301-107.6L407 94.9l2.3-.8.7 4.3 3.4 2.2 2.5-4.4h3l1.9 9.7 7.2 5.7 2.2-1 5.9-2.2 16.4 5.7 3-1 1.3 5.8 4.3.7-1.1-2.8h3.5l1.1 5.9 4.3-4.7 10.2 6.3 2.6 11.6-4.2 1.2 1 8.4 43.5-25a235.8 235.8 0 00-82.3-82.3zm-302.5 103l1.6 3.8-3.2-2.2 1.6-1.6zm179-63.5h.8c-27.5.5-53.3 7.9-75.8 20.4l27 46.6 1.2-5-1.6-4.7 7.5-17.9v-11.4h3.6l4.5-6.4 5.3-1.6.5-6 7.2-8.8 3.4 1.7 14.8-5.3 1.5-1.6zM146.8 126v4h-.2v.4l-3.2-.3-.3-2 .1-.8v-.3l3.6-1zm-1.3-9.9l-2.1 4.9-1-2.2v-.3l3.1-2.4zm234-27l7 6 7.6.6c-4.7-2.5-9.6-4.7-14.5-6.6zM322.9 5.5v66.9c14.4.2 28.3 2.2 41.5 5.8l1.3-.7v1.1c12.7 3.6 24.8 8.6 36 14.9l33.5-58a233.5 233.5 0 00-112.3-30zm-2.7 0a234 234 0 00-115 30l33.5 58c23.4-13 50.2-20.7 78.8-21.1v-67h2.7zm26.2 74.3l11.3 2.5.2-.2c-3.8-1-7.6-1.7-11.5-2.3zm-22.2-2l15.5 3.6 2.3-2.3c-6-.7-12-1.1-18-1.4z"/>
+  <path fill="#072B5F" d="M321.5 69.1l1.6 8.4 1 .2h-1.3v71.4c14.6.4 28.4 4.3 40.5 10.8L399 98.1a162 162 0 00-4.8-2.5l2 .1 6 .9 4.8-1.7-.7 1.2 3.7 2.3v.5l3.2 2 .2-.3 7.4 5.3.5 2.5 2.5.5-.6 4.3-.3.5h.9l4.2-2a167.6 167.6 0 0136 42.2l14.5-8.4v.5l1.6 2.7.7 1.7-14.1 8.1c6 10.8 10.9 22.4 14.4 34.5l-1 1.2 1.7 1a168 168 0 016 42.2h21.8l-.4.3 1.6 5h-23v.1c-.5 28.6-8 55.4-21.1 78.8l18 10.3-.5 1-1.6 3.7 7.5 3.9H489l-25-14.2a168.6 168.6 0 01-57.7 57.7l4 6.8-4.7 2.8-4-6.9a167 167 0 01-21.1 10l-2.2-1.2-1.1-.4-2-1.2h-.1l1.8 1-2-.8-1.2-.7a155 155 0 0025.3-11.3l-35.7-61.8a90.5 90.5 0 01-40.5 10.8v9.2l-1.4-.6-4-2V331a90.5 90.5 0 01-40.5-10.8l-11 19.1-4.7-2.6 11.1-19.2a91.5 91.5 0 01-29.6-29.7L206 309l-.2-1.2V305l-1-1.5 35.2-20.3a90.5 90.5 0 01-10.8-40.5H178l-.7-5.3h51.9a90.5 90.5 0 0110.8-40.5l-25.5-14.7 2-1 5-1.2 21.2 12.2a91.5 91.5 0 0129.6-29.6l-6.1-10.6 2-7.3 8.7 15.2a90.5 90.5 0 0140.5-10.8V77.7h-1.3l.3-.2 3-3.2-1-5.2h3.1zM377 395h.3l1 .7-1.3-.7zm20.6-107a91.5 91.5 0 01-29.6 29.6l35.7 61.8c22.9-13.7 42-33 55.8-55.8l-61.9-35.7zm-74.8-38v75.6a86 86 0 0037.8-10L322.8 250zm-5.4 0l-37.8 65.5a84.8 84.8 0 0037.8 10.1V250zm165-7.3h-71.3a90.5 90.5 0 01-10.9 40.5l61.9 35.7a162.1 162.1 0 0020.3-76.2zm-155 4.7l37.8 65.4a86 86 0 0027.7-27.6l-65.5-37.8zm-14.6 0l-65.5 37.8a86 86 0 0027.7 27.6l37.8-65.4zm-2.7-4.7h-75.6c.4 13.7 4 26.5 10.1 37.8l65.5-37.8zm95.6 0h-75.6l65.5 37.8c6-11.3 9.7-24.1 10.1-37.8zm-10.1-43.1L330 237.4h75.6c-.4-13.7-4-26.5-10.1-37.8zm-151 0a85.2 85.2 0 00-10 37.8H310l-65.5-37.8zm217.5-38.4l-61.9 35.7a90.5 90.5 0 0110.9 40.5h71.3c-.4-27.7-7.8-53.6-20.3-76.2zm-187.1 6a86 86 0 00-27.7 27.7l65.5 37.8-37.8-65.5zm90.2 0l-37.8 65.5L393 195a86 86 0 00-27.7-27.7zm-47.8-12.8c-13.6.5-26.5 4-37.8 10.2l37.8 65.5v-75.7zm5.4 0V230l37.8-65.4a85.2 85.2 0 00-37.8-10.2zm-160 45.3l-2.4 1.3 2.5-9.7-2.1-1 1.2-2.7-1.3.3c.5-1.6 1-3.3 1.7-5h5.7c-2 5.5-3.8 11.1-5.3 16.8zm240.8-99l-35.7 62a91.5 91.5 0 0129.6 29.5l61.9-35.7c-13.8-22.8-33-42-55.8-55.7zm-264.3 31.8l9.3 5.4 2.2 3.1 5.7 7.5 11.8 3.2v.4l1.3-2 2 1 4.7 5.8 3.2 3.6 1.6 1.8 17.9 8.5 3.2 1.6 1 1 3.9 4.5-29-16.7c-3.6 6.5-6.8 13.4-9.5 20.5l-.3-1.4H165l-1-1.8a167 167 0 019.4-20l-34.8-20-.2-.7.5-3.6.3-1.7zm226.4-53.9l.3 3.7 6.4.7 5.3 4.1h-.5v.6h1l.6.5.9.8c-7-2.8-14.4-5.1-21.9-7l.3-.2 6.2-3.6 1.4.4zm-23.5.2l1.1.3 3 .7-3.2-.5-1-.4.6.3h-.8l.3-.4zm-24.6-1h-.2.2zm2.5-.1h-2.5 2.5z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ar.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ar.svg
new file mode 100644
index 0000000..4553b08
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ar.svg
@@ -0,0 +1,31 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ar" viewBox="0 0 640 480">
+  <path fill="#74acdf" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <g id="c" transform="translate(-64) scale(.96)">
+    <path id="a" fill="#f6b40e" stroke="#85340a" stroke-width="1.1" d="M396.8 251.3l28.5 62s.5 1.2 1.3.9c.8-.4.3-1.5.3-1.5l-23.7-64m-.7 24.1c-.4 9.4 5.4 14.6 4.7 23-.8 8.5 3.8 13.2 5 16.5 1 3.3-1.3 5.2-.3 5.7s3-2.1 2.4-6.8c-.7-4.6-4.2-6-3.4-16.3.8-10.3-4.2-12.7-3-22"/>
+    <use width="100%" height="100%" transform="rotate(22.5 400 250)" xlink:href="#a"/>
+    <use width="100%" height="100%" transform="rotate(45 400 250)" xlink:href="#a"/>
+    <use width="100%" height="100%" transform="rotate(67.5 400 250)" xlink:href="#a"/>
+    <path id="b" fill="#85340a" d="M404.3 274.4c.5 9 5.6 13 4.6 21.3 2.2-6.5-3.1-11.6-2.8-21.2m-7.7-23.8l19.5 42.6-16.3-43.9"/>
+    <use width="100%" height="100%" transform="rotate(22.5 400 250)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(45 400 250)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(67.5 400 250)" xlink:href="#b"/>
+  </g>
+  <use width="100%" height="100%" transform="rotate(90 320 240)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="rotate(180 320 240)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="rotate(-90 320 240)" xlink:href="#c"/>
+  <circle cx="320" cy="240" r="26.7" fill="#f6b40e" stroke="#85340a" stroke-width="1.4"/>
+  <path id="h" fill="#843511" d="M329.1 234.3c-1.8 0-3.6.8-4.6 2.4 2 1.9 6.6 2 9.7-.2a7 7 0 00-5.1-2.2zm0 .4c1.7 0 3.4.8 3.6 1.6-2 2.3-5.3 2-7.4.4a4.3 4.3 0 013.8-2z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)" xlink:href="#d"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)" xlink:href="#e"/>
+  <use width="100%" height="100%" transform="translate(18.1)" xlink:href="#f"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)" xlink:href="#g"/>
+  <path fill="#85340a" d="M316 243.7a1.9 1.9 0 101.8 2.9 4 4 0 002.2.6h.2a3.9 3.9 0 002.3-.6 1.9 1.9 0 101.8-3c.5.3.8.7.8 1.3 0 .6-.5 1.2-1.2 1.2a1.2 1.2 0 01-1.2-1.2 3 3 0 01-2.6 1.7 3 3 0 01-2.5-1.7 1.2 1.2 0 01-1.3 1.2c-.6 0-1.2-.6-1.2-1.2s.3-1 .8-1.2zm2 5.5c-2.1 0-3 1.8-4.8 3 1-.4 1.9-1.2 3.3-2s2.7.2 3.5.2c.8 0 2-1 3.5-.2 1.4.8 2.3 1.6 3.3 2-1.9-1.2-2.7-3-4.8-3a5.5 5.5 0 00-2 .6 5.5 5.5 0 00-2-.7z"/>
+  <path fill="#85340a" d="M317.2 251.6c-.8 0-1.8.2-3.4.6 3.7-.8 4.5.5 6.2.5 1.6 0 2.4-1.3 6.1-.5-4-1.2-4.9-.4-6.1-.4-.8 0-1.4-.3-2.8-.2z"/>
+  <path fill="#85340a" d="M314 252.2h-.8c4.3.5 2.3 3 6.8 3s2.5-2.5 6.8-3c-4.5-.4-3.1 2.3-6.8 2.3-3.5 0-2.4-2.3-6-2.3zm9.7 6.7a3.7 3.7 0 00-7.4 0 3.8 3.8 0 017.4 0z"/>
+  <path id="e" fill="#85340a" d="M303.4 234.3c4.7-4.1 10.7-4.8 14-1.7a8 8 0 011.5 3.5c.4 2.3-.3 4.8-2.1 7.4l.8.4a14.6 14.6 0 001.6-9.4 13.3 13.3 0 00-.6-2.3c-4.5-3.7-10.7-4-15.2 2z"/>
+  <path id="d" fill="#85340a" d="M310.8 233c2.7 0 3.3.7 4.5 1.7 1.2 1 1.9.8 2 1 .3.2 0 .8-.3.6-.5-.2-1.3-.6-2.5-1.6s-2.5-1-3.7-1c-3.7 0-5.7 3-6.2 2.8-.3-.2 2.1-3.5 6.2-3.5z"/>
+  <use width="100%" height="100%" transform="translate(-18.4)" xlink:href="#h"/>
+  <circle id="f" cx="310.9" cy="236.3" r="1.9" fill="#85340a"/>
+  <path id="g" fill="#85340a" d="M305.9 237.5c3.5 2.7 7 2.5 9 1.3 2-1.3 2-1.7 1.6-1.7-.4 0-.8.4-2.4 1.3-1.7.8-4.1.8-8.2-.9z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/as.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/as.svg
new file mode 100644
index 0000000..81b0d9f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/as.svg
@@ -0,0 +1,33 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-as" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="as-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#as-a)">
+    <path fill="#006" d="M-374-16H650v512H-374z"/>
+    <path fill="#bd1021" fill-rule="evenodd" d="M-374 240L650 496V-16L-374 240z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M650 11.4v457.2L-264.3 240 650 11.4z"/>
+    <g stroke="#000">
+      <path fill="#9c3900" fill-rule="evenodd" stroke-linejoin="round" stroke-width="1.8" d="M478 297.4s-6.4-5.2 1.2-13.7c-4.1-3.4-.3-10.1-.3-10.1s-7-2.6.3-13.4c-5.3-3.5-3-11.3-3-11.3s-17-6.4-.8-12.5c-13.4 5.8-25.9-7.9-25.9-7.9l-19.4.6c-3.3-16.2-29-2.1-10-48.5-4.9-.9-10.4-2.3-16 1.7-5.4 4.1-21.1 12.8-30.4 4.1s6-21.2 6.4-21.5c.3-.3 20.6-10.8 23.5-17.7-.3-5.3-6.7-9.3-.9-20.7 6.7-10.7 47.7-20.9 66.3-24.4a29.5 29.5 0 0013-11.9l2.1 7.6s41.3-12.2 43.3-18 .9 5.2.9 5.2c16.2-1.5 36.9-15.4 39.8-9 13.6-2.6 39.8-14.3 39.8-14.3s9-.3 2.6 9.6c4 6.4-1.2 12-1.5 12-.2 0 1.8 6.3-3.4 9.8 1.7 5.5-3.2 10-3.2 10s2.3 6.6-7 10c.9 5.9-5.2 7-5.2 7s.8 6.1-3.2 8.8c0 4.6-4.7 7-4.7 7s3 1.7-1.2 4.6a1568 1568 0 01-46.2 28.5c0-.3 30.8 5.5 32.9 6.6s25.3 16.6 25.3 16.6l-23.6 29s-26.1-2.8-27.3-1.4 5.5 2 7 4.4c1.4 2.3 3.8 7.8 8.4 7.2 4.7-.5-8.7 8.5-17.4 9.3 0 3.2 11 3.5 14 1 2.8-2.7-7 7.5-8.2 9s13-2.1 13-2.1-2.3 9.6-14.7 12.5c4.9 8.1 2.9 13.3 2.6 13.3s-8.2-8-15.7-6.6c2 7.8 8.1 15 9.9 16.2 1.7 1.2-13.7 1-15.7-3.5s-3.8 10.5 1.7 15.2c-6.4.3-11.9-3.5-11.9-3.5s-3.8 8.7-1.2 13c2.6 4.4-9-8.7-9-8.7l-22 9.3-5-8.4z"/>
+      <path fill="#ffc221" fill-rule="evenodd" stroke-width="1.9" d="M307.3 280.1c.5 0 32.1-.5 46.6-8.8a86.3 86.3 0 0017 19.1l4.7-16.5s11.4.5 12.4 3c-1.5 3.2-2 7.3-2 7.3s7.7.6 8.3 1.6c.5 1-2.1 9.8-2.1 9.8l33.1 7.8s2.6-13 5.2-11.4c2.6 1.6 14 17.6 30 18.6s17-13.4 17-13.4l3.7 2s6.7-14.4 7.8-14.4 2.5 2 11.3 2c2.6 3.1 3.7 10.4 3.7 10.4s-9.9 9.8-6.8 17.6 3.7 5.7 3.7 5.7l71.4 17s3.6 5.7-2.6 8.8c0 .5-72-16.5-72-16.5s-6.7 7.7-11.9 6.2-1.5 3-1.5 3l77.6 6.3s5.7 7.2 1.6 9.3c-5.2.5-83.9-5.2-83.9-5.2s-4.6 9.9-9.8 1.6c-3.6 5.7-7.8-1.6-7.8-1.6s-6.7 5.2-7.7-.5c-5.7 4.2-9.3-2.6-9.3-2.6l-33.2-2-2 3s5.7 1.6-3.1 5.2c-8.8 3.7 52.8 2.1 54.3 2.6 1.6.6-4.1 5.2-4.1 5.2s31.5 2 37.2-4.6c5.7-6.8-2 8.8-2 8.8s24.8-1 24.8-2.1-.5 7.7-17.6 6.7a112 112 0 0023.3 10.9s-13 3-28-.5c2.6 6.7 14 12.9 14 12.9s-8.3 7.2-26.9-10.4c5.2 9.4 1 13 .5 12a48 48 0 00-30-18.7c13 8.3 7.3 12 7.3 12s-6.8-12-17.6 0c-4.2-11-20.2-17.2-39.9-18.2-6.2-7.2-9.8-5.2-24.3-9.3-8.3-9.3-20.2-19.7-20.2-19.7s.5-14 14.5-12.4c1.6 4.7 1.6 3.1 1.6 3.1s15.5-5.7 20.1 2c6.8-11.8 16-1.7 17.6 2.4 4.5.7 27 1.3 27 1.3s-2.7-4.7-1-4.1c1.5.5 13.9-4.7 13.4-6.2-.6-1.6-1-6.8 1-6.3 2 .6-17.6-2.5-28.5 5.7-3.6-3.6-1-13.4-1-13.4l-32-6.7-1.6 8.2s-9.4 1.6-8.8-.5l-2.1 7.3s-12.4-3.1-12.4-3.7 3.6-18.6 3.6-18c0 .4-10.4 1-24.8 11.8-4.2-13-36.8-30-36.8-30.5z"/>
+      <path fill="none" stroke-width="1.9" d="M386 284.8l-6.7 30m12.9-18.7l-2 9.9m35.1-2l-3 9.2m60.4 53.8c-.5 0-16.5 2.1-18.6 1.6-2-.5 25.4 8.3 25.4 11.9m-35.7-9.8s-16-10.4-18.7-9.4c-2.5 1 16-.5 17.6-2m-32-.5s-16.6.5-18.2-1 16 11.3 19.2 10.3m-33.1-16.6c-.5 0-11.4-4.1-16-5.2 4 4.2 7.2 9.9 17.5 12m2.6-13.5c-.5-1-20.7-7.3-20.7-10.4a32.6 32.6 0 0017.6 2.1M499.8 321l-2 9.3"/>
+      <path fill="#ffc221" fill-rule="evenodd" stroke-width="1.9" d="M347.7 237.7s-21.7 18.6 0 29.5c1-7.3 2.6-8.3 2.6-8.3s18 6.7 29-9.3c-4.7-6.8-13-4.2-13-4.2s-17 0-18.6-7.7z"/>
+      <path fill="none" stroke-width="1.9" d="M365.8 246l-15 12.9m61.2 76.9s3.5 3.8.4 8.5m72.4-4.7l-5.7.5m-40.9-3.6l10.4 1.6m17.5-28.2s.3 10.5-8.4 10.2c-8.8-.3-5.9.3-5.9.3"/>
+      <path fill="none" stroke-width="1.9" d="M472.8 308.1s3.5 1.2 2.6 3.8c-.9 2.6.9 10.2-9.3 17.5-10.8 2.3-9.6-9-9.6-9"/>
+      <path fill="none" stroke-width="1.9" d="M476.6 311.4s6.3-3.8 7.2 2.3c.9 6-5.2 17.4-9.6 19.2-4.3 1.7-9.3-.3-8.7-3.2m18.9-15.7s5.8-4.7 7.6 1.4c1.7 6.1-4.7 19.8-7.3 20m7.8-20s3-1.4 5 .3m-14.3 20.6c-1.1.3-6 .6-7.8-3.2m-18.3-7l-6.1.4m28.4 22.6l-.5-9.6-2.4-3.2-4 4.1s-.6 9.6-2.4 10.5m2.4-10.8l-3.2-6-5 6s-.5 8.7-2.3 9.6m2.3-9.9l-2-5.8s-5.8 3.2-6.4 5.5c-.6 2.4-.9 8.7-2.3 9.3m2.3-10.4s.6-5.3-1.2-5.3c-1.7 0-9.5 7.3-9.8 13.7"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-linejoin="round" stroke-width="1.9" d="M348.4 237.8s2.9-2.9 3.8-6.4c.8-3.4-1.2-7.2 2.3-10.4s49.4-22.7 53.2-26.5a115 115 0 0011.6-13.6c.9-1.8 3.5 8.7-4.4 13.3 8.5-2.3 14-4.9 17.5-3.7-3.5 4.9-12.8 13-17.2 13 10.2-3.7 19.5-7 22.1-4.9 2.6 2-12.5 12.2-18.6 12.8 10.2-2.6 23.8-6.7 25.6-2.3-5.5 1.7-3.8 3.2-15.1 9.6a28.5 28.5 0 01-8.7 1.4c8.7-.9 20.6-4.4 21.8 2-7 2.7-9.6 6.1-15.4 7.6-5.9 1.4-19.2 4-27.4 7.3-8 3.2-20 12.5-20 12.5s-25.9.8-25.9.5c0-.3-5-11.9-5.2-12.2z"/>
+      <path fill="none" stroke-width="1.9" d="M360.6 235.8s.3-5.8 3-7.8c2.5-2 15.6-7 18.5-11.4 3-4.3-4.3 7.6-3.2 10.8m-13-.3s6.3 2.3 4.9 7.2"/>
+      <path fill="none" stroke-width="1.6" d="M373.4 230.4a4.8 4.8 0 11-9.6 0 4.8 4.8 0 019.6 0z"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.9" d="M570.1 220.1l50.3 9.6s5.5-6.4 2.6-9.9c7.6-1.7 5.5-11.6 5.5-11.6s8.7-3.8 1.5-12.5c5-5-1.2-8.7-1.2-8.7s2-8.7-4.3-9.6c1.7-7-11-9.3-11-9.3s-26.5 7.3-45.1 7.8c6 6.1-2.3 10-2.3 10s4.9 3.4 3.4 6.3c-1.4 3 1 6.1-5.5 8.2 8.4 3.7-.9 10.1-.9 10.1s9.3 6.4 7 9.6z"/>
+      <path fill="none" stroke-width="1.9" d="M565.2 209.4s44.4 5.2 46.5 5.2 9.8 2.6 11.3 5.2m-55.5-13l61.9 1.4m-61.6-3s58.7-3.4 62.8-9.5m-61-3.2s59-6.4 59.5-5.5m-61.6-1.8s57.2-9 57.8-7.5m-221.1-29.4s18 19.8 16.3 33.2"/>
+      <path fill="none" stroke-width="1.9" d="M419.3 171s5.8 8.4 8.1 9.3 22.7 2 23.9 10.8c1.1 5.5-4.4 3.7-3.5 7.8 1.4 5.2 15 12 30 4M464 207s12.2 18 30.2-1.4m-9.3 7.8s14.8 7.9 27-12.5m-15.7 14.3s7.3 6 22.4-2m20.9-8.2s22.4 4.6 23.8 6M548 200l15.7.6m-25.3-9.3s26.8-1.7 30.3 3.8M526.8 183s37.5 1.5 39.2 3.5m-30.8 34.9s6.4-1.8 7.3-1M520.7 237s8.4 7.2 19.2 4m-14.5 8.2s9.6 4.3 20.9 1.7m-17.7 5.5s9.6 6.4 16 5.3m-20.4-1.5s6.7 5 7 7.6m-16.3-1.8s2 10.5 9.3 14.3m-14.2-9.6s-3.2 13.6 4.9 22m-13.4-11.3c0 .3-.5 6.4-.2 7m-52-59.9l15.6-.8s5.8-2.4 1.8-6.1m2 3.5c.3 0 14.8 1.1 18.6 5.5 3.8 4.3 8.4 13 11 14.5 2.7 1.5 3.2-.6 3.2-.6m-6.4-2.3s-7.8 13.4-1.7 17.4m-2.6-2.6s-7 9.3-1.5 14m-1.4-1.2s-5.5 9 1.1 15.1m-3.6-39c-.3.4-6.7 4.9-9 3.8m2.3 10.4s2.6 2.7 4.9 2.3m-4.6 11.4l4.2 2.8m-3.6 7.6l3.6 2.2m-69.3-144.7s7.7 4 13.8 0c6.1-4 35.4-19 43-21.4 7.7-2.4 12-16.5 13.5-22.6m-5.8 16.5l42.8-12.5s7-5.8 7.3-16.5m-3 11.6s42.7-4.3 42.7-20.2m-6.7 11s45-12.2 49.2-16.8"/>
+      <path fill="none" stroke-width="1.9" d="M436.2 151.5s27.2-14 31.5-15.6c4.3-1.5 14-13.8-.6-13.8"/>
+      <path fill="none" stroke-width="1.9" d="M449.4 157c.3 0 22.3-14.4 29.6-16.2 4-5.5 1.8-11.3-4.9-10.1"/>
+      <path fill="none" stroke-width="1.9" d="M480.9 137.1c.6-.3 11.9-.6 7.9 8.3-5.8 4.2-30.9 16.8-30.9 16.8m17.1-34.5l47.7-16s4-8.2-1.8-9.4m39.7-14.4c0 .3 6.1 3.7 2.4 9.2-6.7 4-38.4 11.6-38.4 11.6M608.9 83l-45 12.6m41.6-2.5l-39 12m35.7-2.2l-34.6 10.4m28.1-.6c-.9 0-25.6 7.6-25.6 7.6m20.2 0l-16 6.4m12 2.2a321 321 0 00-13.8 5.8m9.8 1.2l-12.2 5.8m-8.9 7.3s1.5.6 1.2 2.5m-32 14.3s5.1 1.9.3 6.8c-2.5 3.3-9.5 2.4-13.8 8.5m46.8-83.7s6.4 1.5 1.5 9.8c-12.8 4.9-38.8 12.8-38.8 12.8s-1.2 2.2-4.6 4a758.6 758.6 0 01-40.3 12.2m84.3-29.3s7 3 0 8.2c-8 4.6-35.7 13.2-35.7 13.2s-.4 2.4-1.6 3.3c-1.2 1-37.9 13.2-37.9 13.2"/>
+      <path fill="none" stroke-width="1.9" d="M567.6 115.1s7.4 2.2 1 8.3a289 289 0 01-32.1 12.8s-2.5 3-6.5 4.3a919 919 0 00-29.3 11.6m68.8-28.7c2.1.9 8 1.8.9 7.3-8.3 3.7-28.4 11.6-28.4 11.6l-1.9 3.4-32 13.7m63.2-27.8s3 3.7-3.7 8c-7.3 4-23.2 10-23.2 10m23.2-9.4s3.4 2.1-.9 5.2c-4.9 2.4-24.1 12.5-24.1 12.5l-12.5 8.3"/>
+      <path fill="none" stroke-width="1.9" d="M523.6 112c0 .4 5.2 4.6 3.4 9.5 4.6 3.4 3.7 7 3.7 7s6.4 3.7 5.5 9c6.4 1.5 6 5.1 6 5.1l-2 3.4s6.3-.3.8 8c3.4 1.8 1.9 3.9 1.9 3.9m-1.9-3.7c-.9 0-22.3 8-27.8 12.9"/>
+      <path fill="none" stroke-width="1.9" d="M489.4 144.8s6.4-.3 5.5 6.7c7.4-2.5 5.8 4.6 5.8 4.6s8.6-3.4 7 7.3c5.6-1.2 4.6 4.3 4.6 4.3s5-.3 5 2.4c3.3-3 7-1.5 7-1.5s2.4-3.4 5.8-2.4m-34.9-15c0 .6-28.7 16.5-28.7 16.5m34.2-11.3L479 169.8m29-6.7c0 .3-18.9 11.3-18.9 11.3m23.2-7s-13.4 11-16.5 10.4m21.1-7s-7.6 5.7-14 8.5m22-11s2.4 3-12.9 11"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/at.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/at.svg
new file mode 100644
index 0000000..e63fb2e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/at.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-at" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M640 480H0V0h640z"/>
+    <path fill="#ed2939" d="M640 480H0V320h640zm0-319.9H0V.1h640z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/au.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/au.svg
new file mode 100644
index 0000000..18394ab
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/au.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-au" viewBox="0 0 640 480">
+  <path id="path617" fill="#006" stroke-width="1.3" d="M0 0h640v480H0z"/>
+  <path id="path625" fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M299.8 392.5l-43.7 3.8 6 43.4L232 408l-30.1 31.7 6-43.4-43.7-3.8 37.7-22.3-24.3-36.5 41 15.5 13.4-41.7 13.5 41.7 41-15.5-24.3 36.5m224.4 62.3L476 416.7l17.8 6.7 5.8-18.1 5.8 18.1 17.8-6.7-10.5 15.8 16.4 9.7-19 1.7 2.6 18.9-13-13.9-13.2 13.9 2.6-18.9-19-1.6m16.4-291.9L476 134.6l17.8 6.7 5.8-18.1 5.8 18.1 17.8-6.7-10.5 15.8 16.4 9.8-19 1.6 2.6 18.9-13-13.8-13.2 13.7 2.6-18.8-19-1.6M380.8 265l-10.5-15.8 17.8 6.7 5.8-18.1 5.9 18.1 17.8-6.7L407 265l16.4 9.7-19 1.7 2.7 18.9-13.2-13.9-13 13.9 2.5-18.9-19-1.6m216.3-38L570 221l17.8 6.7 5.8-18.1 5.9 18.1 17.8-6.7-10.5 15.8 16.3 9.7-19 1.7 2.6 18.8-13-13.8-13.2 13.8 2.6-18.8-19-1.7M542 320l-10.3 6.5 2.9-11.9-9.3-7.8 12.1-1 4.6-11.2 4.7 11.3 12.1.9-9.3 7.8 2.9 11.9"/>
+  <path id="path969" fill="#006" stroke-width=".5" d="M0 0h320v240H0z"/>
+  <path id="path971" fill="#fff" stroke-width=".5" d="M37.5 0l122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/>
+  <path id="path973" fill="#c8102e" stroke-width=".5" d="M212 140.5L320 220v20l-135.5-99.5zm-92 10l3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/>
+  <path id="path975" fill="#fff" stroke-width=".5" d="M120.5 0v240h80V0zM0 80v80h320V80z"/>
+  <path id="path977" fill="#c8102e" stroke-width=".5" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/aw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/aw.svg
new file mode 100644
index 0000000..66adb11
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/aw.svg
@@ -0,0 +1,186 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-aw" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="aw-a">
+      <path fill-opacity=".7" d="M0 0h288v216H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#aw-a)" transform="scale(2.2222)">
+    <path fill="#39c" d="M0 0v216h324V0H0z"/>
+    <path fill="#ff0" d="M0 144v12h324v-12H0zm0 24v12h324v-12H0z"/>
+  </g>
+  <path fill="#9cc" d="M142.7 28l2.9 3-3-3zm-3 6l3 3-3-3m5.9 0l3 3-3-3z"/>
+  <path fill="#ccf" d="M139.7 37l3 2.9-3-3m5.9 0l3 3-3-3z"/>
+  <path fill="#6cc" d="M136.7 42.8l3 3-3-3z"/>
+  <path fill="#c66" d="M142.7 42.8l2.9 3-3-3z"/>
+  <path fill="#6cc" d="M148.6 42.8l2.9 3-3-3z"/>
+  <path fill="#ccf" d="M136.7 45.8l3 3-3-3zm11.9 0l2.9 3-3-3z"/>
+  <path fill="#fcc" d="M139.7 48.7l3 3-3-3m5.9 0l3 3-3-3z"/>
+  <path fill="#6cc" d="M133.8 51.7l3 3-3-3z"/>
+  <path fill="#c00" stroke="#fff" stroke-width="3.7" d="M142.2 34l-20.7 78.5L42.8 134l78.4 20.5 21 78.4 20.9-78.4 78.4-21-78.4-20.9-21-78.4z"/>
+  <path fill="#6cc" d="M151.5 51.7l3 3-3-3z"/>
+  <path fill="#9cf" d="M133.8 54.6l3 3-3-3m17.7 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M136.7 57.6l3 3-3-3m11.9 0l2.9 3-3-3z"/>
+  <path fill="#69c" d="M130.8 60.5l3 3-3-3z"/>
+  <path fill="#c33" d="M137.7 62.5l1 2-1-2m11.8 0l1 2-1-2z"/>
+  <path fill="#69c" d="M154.5 60.5l3 3-3-3z"/>
+  <path fill="#9cf" d="M130.8 63.5l3 3-3-3m23.7 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M133.8 66.4l3 3-3-3m17.7 0l3 3-3-3z"/>
+  <path fill="#69c" d="M127.9 69.4l3 3-3-3zm29.5 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M127.9 72.3l3 3-3-3m29.5 0l3 3-3-3z"/>
+  <path fill="#cff" d="M127.9 75.3l3 3-3-3m29.5 0l3 3-3-3z"/>
+  <path fill="#69c" d="M125 78.3l2.9 2.9-3-3z"/>
+  <path fill="#fcc" d="M130.8 78.3l3 2.9-3-3m23.7 0l3 3-3-3z"/>
+  <path fill="#69c" d="M160.4 78.3l3 2.9-3-3z"/>
+  <path fill="#9cc" d="M125 81.2l2.9 3-3-3z"/>
+  <path fill="#c33" d="M131.8 83.2l1 2-1-2m23.6 0l1 2-1-2z"/>
+  <path fill="#9cc" d="M160.4 81.2l3 3-3-3z"/>
+  <path fill="#cff" d="M125 84.2l2.9 3-3-3m35.5 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M127.9 87.1l3 3-3-3m29.5 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M122 90l3 3-3-3z"/>
+  <path fill="#c33" d="M128.9 92l1 2-1-2m29.5 0l1 2-1-2z"/>
+  <path fill="#9cc" d="M163.3 90l3 3-3-3z"/>
+  <path fill="#ccf" d="M122 93l3 3-3-3m41.3 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M125 96l2.9 3-3-3m35.5 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M119 99l3 2.9-3-3z"/>
+  <path fill="#c33" d="M126 100.9l.9 2-1-2m35.4 0l1 2-1-2z"/>
+  <path fill="#9cc" d="M166.3 99l3 2.9-3-3z"/>
+  <path fill="#ccf" d="M119 101.9l3 3-3-3m47.3 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M122 104.8l3 3-3-3m41.3 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M116 107.8l3 3-3-3z"/>
+  <path fill="#c33" d="M122 107.8l3 3-3-3m41.3 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M169.2 107.8l3 3-3-3m-62 3l3 2.9-3-3z"/>
+  <path fill="#ccf" d="M110.2 110.7l3 3-3-3m65 0l2.9 3-3-3z"/>
+  <path fill="#9cc" d="M178 110.7l3 3-3-3m-79.6 3l3 3-3-3z"/>
+  <path fill="#ccf" d="M101.3 113.7l3 3-3-3z"/>
+  <path fill="#fcc" d="M113.1 113.7l3 3-3-3z"/>
+  <path fill="#c33" d="M116 113.7l3 3-3-3m53.2 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M172.2 113.7l3 3-3-3z"/>
+  <path fill="#ccf" d="M184 113.7l3 3-3-3z"/>
+  <path fill="#9cc" d="M187 113.7l2.9 3-3-3z"/>
+  <path fill="#69c" d="M86.6 116.6l3 3-3-3z"/>
+  <path fill="#9cc" d="M89.5 116.6l3 3-3-3z"/>
+  <path fill="#cff" d="M92.5 116.6l3 3-3-3z"/>
+  <path fill="#fcc" d="M104.3 116.6l3 3-3-3z"/>
+  <path fill="#c33" d="M109.2 117.6l2 1-2-1m67.9 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M181 116.6l3 3-3-3z"/>
+  <path fill="#cff" d="M192.8 116.6l3 3-3-3z"/>
+  <path fill="#9cc" d="M195.8 116.6l3 3-3-3z"/>
+  <path fill="#69c" d="M198.7 116.6l3 3-3-3m-121 3l3 3-3-3z"/>
+  <path fill="#9cc" d="M80.7 119.6l3 3-3-3z"/>
+  <path fill="#cff" d="M83.6 119.6l3 3-3-3z"/>
+  <path fill="#fcc" d="M95.4 119.6l3 3-3-3z"/>
+  <path fill="#c33" d="M100.3 120.6l2 1-2-1m85.6 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M189.9 119.6l3 3-3-3z"/>
+  <path fill="#cff" d="M201.7 119.6l3 3-3-3z"/>
+  <path fill="#9cc" d="M204.6 119.6l3 3-3-3z"/>
+  <path fill="#69c" d="M207.6 119.6l3 3-3-3m-138.8 3l3 2.9-3-3z"/>
+  <path fill="#9cf" d="M71.8 122.5l3 3-3-3z"/>
+  <path fill="#fcc" d="M86.6 122.5l3 3-3-3z"/>
+  <path fill="#c33" d="M91.5 123.5l2 1-2-1m103.3 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M198.7 122.5l3 3-3-3z"/>
+  <path fill="#9cf" d="M213.5 122.5l3 3-3-3z"/>
+  <path fill="#69c" d="M216.4 122.5l3 3-3-3z"/>
+  <path fill="#6cc" d="M60 125.5l3 3-3-3z"/>
+  <path fill="#9cf" d="M63 125.5l2.9 3-3-3z"/>
+  <path fill="#fcc" d="M74.8 125.5l2.9 3-3-3zm135.8 0l2.9 3-3-3z"/>
+  <path fill="#9cf" d="M222.3 125.5l3 3-3-3z"/>
+  <path fill="#6cc" d="M225.3 125.5l3 3-3-3m-174.2 3l3 2.9-3-3z"/>
+  <path fill="#ccf" d="M54 128.4l3 3-3-3z"/>
+  <path fill="#fcc" d="M65.9 128.4l3 3-3-3z"/>
+  <path fill="#c33" d="M70.8 129.4l2 1-2-1m144.7 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M219.4 128.4l3 3-3-3z"/>
+  <path fill="#ccf" d="M231.2 128.4l3 3-3-3z"/>
+  <path fill="#6cc" d="M234.2 128.4l3 3-3-3z"/>
+  <path fill="#9cc" d="M42.3 131.4l3 3-3-3z"/>
+  <path fill="#ccf" d="M45.2 131.4l3 3-3-3z"/>
+  <path fill="#fcc" d="M57 131.4l3 3-3-3zm171.3 0l3 3-3-3z"/>
+  <path fill="#ccf" d="M240 131.4l3 3-3-3z"/>
+  <path fill="#9cc" d="M243 131.4l3 3-3-3m-206.6 3l3 2.9-3-3z"/>
+  <path fill="#c66" d="M51.1 134.3l3 3-3-3zm183 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M249 134.3l2.9 3-3-3m-206.6 3l3 3-3-3z"/>
+  <path fill="#ccf" d="M45.2 137.3l3 3-3-3z"/>
+  <path fill="#fcc" d="M57 137.3l3 3-3-3m171.3 0l3 3-3-3z"/>
+  <path fill="#ccf" d="M240 137.3l3 3-3-3z"/>
+  <path fill="#9cc" d="M243 137.3l3 3-3-3z"/>
+  <path fill="#6cc" d="M51.1 140.3l3 2.9-3-3z"/>
+  <path fill="#ccf" d="M54 140.3l3 2.9-3-3z"/>
+  <path fill="#fcc" d="M65.9 140.3l3 2.9-3-3z"/>
+  <path fill="#c33" d="M70.8 141.2l2 1-2-1m144.7 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M219.4 140.3l3 2.9-3-3z"/>
+  <path fill="#ccf" d="M231.2 140.3l3 2.9-3-3z"/>
+  <path fill="#6cc" d="M234.2 140.3l3 2.9-3-3m-174.2 3l3 3-3-3z"/>
+  <path fill="#9cf" d="M63 143.2l2.9 3-3-3z"/>
+  <path fill="#fcc" d="M74.8 143.2l2.9 3-3-3zm135.8 0l2.9 3-3-3z"/>
+  <path fill="#9cf" d="M222.3 143.2l3 3-3-3z"/>
+  <path fill="#6cc" d="M225.3 143.2l3 3-3-3z"/>
+  <path fill="#69c" d="M68.8 146.2l3 2.9-3-3z"/>
+  <path fill="#9cf" d="M71.8 146.2l3 2.9-3-3z"/>
+  <path fill="#fcc" d="M86.6 146.2l3 2.9-3-3z"/>
+  <path fill="#c33" d="M91.5 147.1l2 1-2-1m103.3 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M198.7 146.2l3 2.9-3-3z"/>
+  <path fill="#9cf" d="M213.5 146.2l3 2.9-3-3z"/>
+  <path fill="#69c" d="M216.4 146.2l3 2.9-3-3m-138.7 3l3 3-3-3z"/>
+  <path fill="#9cc" d="M80.7 149.1l3 3-3-3z"/>
+  <path fill="#cff" d="M83.6 149.1l3 3-3-3z"/>
+  <path fill="#fcc" d="M95.4 149.1l3 3-3-3z"/>
+  <path fill="#c33" d="M100.3 150l2 1-2-1m85.6 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M189.9 149.1l3 3-3-3z"/>
+  <path fill="#cff" d="M201.7 149.1l3 3-3-3z"/>
+  <path fill="#9cc" d="M204.6 149.1l3 3-3-3z"/>
+  <path fill="#69c" d="M207.6 149.1l3 3-3-3m-121 3l2.9 2.9-3-3z"/>
+  <path fill="#9cc" d="M89.5 152l3 3-3-3z"/>
+  <path fill="#cff" d="M92.5 152l3 3-3-3z"/>
+  <path fill="#fcc" d="M104.3 152l3 3-3-3z"/>
+  <path fill="#c33" d="M109.2 153l2 1-2-1m67.9 0l2 1-2-1z"/>
+  <path fill="#fcc" d="M181 152l3 3-3-3z"/>
+  <path fill="#cff" d="M192.8 152l3 3-3-3z"/>
+  <path fill="#9cc" d="M195.8 152l3 3-3-3z"/>
+  <path fill="#69c" d="M198.7 152l3 3-3-3z"/>
+  <path fill="#9cc" d="M98.4 155l3 3-3-3z"/>
+  <path fill="#ccf" d="M101.3 155l3 3-3-3z"/>
+  <path fill="#fcc" d="M113.1 155l3 3-3-3z"/>
+  <path fill="#c33" d="M116 155l3 3-3-3m53.2 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M172.2 155l3 3-3-3z"/>
+  <path fill="#ccf" d="M184 155l3 3-3-3z"/>
+  <path fill="#9cc" d="M187 155l2.9 3-3-3m-79.7 3l3 3-3-3z"/>
+  <path fill="#ccf" d="M110.2 158l3 3-3-3m65 0l2.9 3-3-3z"/>
+  <path fill="#9cc" d="M178 158l3 3-3-3m-62 3l3 2.9-3-3z"/>
+  <path fill="#c33" d="M122 161l3 2.9-3-3m41.3 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M169.2 161l3 2.9-3-3z"/>
+  <path fill="#fcc" d="M122 163.9l3 3-3-3m41.3 0l3 3-3-3z"/>
+  <path fill="#ccf" d="M119 166.8l3 3-3-3z"/>
+  <path fill="#c33" d="M126 168.8l.9 2-1-2m35.4 0l1 2-1-2z"/>
+  <path fill="#ccf" d="M166.3 166.8l3 3-3-3z"/>
+  <path fill="#9cc" d="M119 169.8l3 3-3-3m47.3 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M125 172.7l2.9 3-3-3m35.5 0l3 3-3-3z"/>
+  <path fill="#ccf" d="M122 175.7l3 3-3-3z"/>
+  <path fill="#c33" d="M128.9 177.6l1 2-1-2m29.5 0l1 2-1-2z"/>
+  <path fill="#ccf" d="M163.3 175.7l3 3-3-3z"/>
+  <path fill="#9cc" d="M122 178.6l3 3-3-3m41.3 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M127.9 181.6l3 3-3-3m29.5 0l3 3-3-3z"/>
+  <path fill="#cff" d="M125 184.5l2.9 3-3-3z"/>
+  <path fill="#c33" d="M131.8 186.5l1 2-1-2m23.6 0l1 2-1-2z"/>
+  <path fill="#cff" d="M160.4 184.5l3 3-3-3z"/>
+  <path fill="#9cc" d="M125 187.5l2.9 3-3-3m35.5 0l3 3-3-3z"/>
+  <path fill="#69c" d="M125 190.4l2.9 3-3-3z"/>
+  <path fill="#fcc" d="M130.8 190.4l3 3-3-3m23.7 0l3 3-3-3z"/>
+  <path fill="#69c" d="M160.4 190.4l3 3-3-3z"/>
+  <path fill="#cff" d="M127.9 193.4l3 3-3-3zm29.5 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M127.9 196.3l3 3-3-3m29.5 0l3 3-3-3z"/>
+  <path fill="#69c" d="M127.9 199.3l3 3-3-3m29.5 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M133.8 202.2l3 3-3-3m17.7 0l3 3-3-3z"/>
+  <path fill="#9cf" d="M130.8 205.2l3 3-3-3z"/>
+  <path fill="#c33" d="M137.7 207.2l1 2-1-2m11.8 0l1 2-1-2z"/>
+  <path fill="#9cf" d="M154.5 205.2l3 3-3-3z"/>
+  <path fill="#69c" d="M130.8 208.2l3 2.9-3-3m23.7 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M136.7 211.1l3 3-3-3m11.9 0l2.9 3-3-3z"/>
+  <path fill="#9cf" d="M133.8 214l3 3-3-3zm17.7 0l3 3-3-3z"/>
+  <path fill="#6cc" d="M133.8 217l3 3-3-3m17.7 0l3 3-3-3z"/>
+  <path fill="#fcc" d="M139.7 220l3 3-3-3m5.9 0l3 3-3-3z"/>
+  <path fill="#ccf" d="M136.7 222.9l3 3-3-3m11.9 0l2.9 3-3-3z"/>
+  <path fill="#6cc" d="M136.7 225.9l3 3-3-3z"/>
+  <path fill="#c66" d="M142.7 225.9l2.9 3-3-3z"/>
+  <path fill="#6cc" d="M148.6 225.9l2.9 3-3-3z"/>
+  <path fill="#ccf" d="M139.7 231.8l3 3-3-3m5.9 0l3 3-3-3z"/>
+  <path fill="#9cc" d="M139.7 234.7l3 3-3-3m5.9 0l3 3-3-3m-3 6l3 2.9-3-3z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ax.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ax.svg
new file mode 100644
index 0000000..dad7d94
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ax.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ax" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ax-a">
+      <path fill-opacity=".7" d="M106.3 0h1133.3v850H106.3z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#ax-a)" transform="matrix(.56472 0 0 .56482 -60 -.1)">
+    <path fill="#0053a5" d="M0 0h1300v850H0z"/>
+    <g fill="#ffce00">
+      <path d="M400 0h250v850H400z"/>
+      <path d="M0 300h1300v250H0z"/>
+    </g>
+    <g fill="#d21034">
+      <path d="M475 0h100v850H475z"/>
+      <path d="M0 375h1300v100H0z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/az.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/az.svg
new file mode 100644
index 0000000..4293e9f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/az.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-az" viewBox="0 0 640 480">
+  <path fill="#3f9c35" d="M.1 0h640v480H.1z"/>
+  <path fill="#ed2939" d="M.1 0h640v320H.1z"/>
+  <path fill="#00b9e4" d="M.1 0h640v160H.1z"/>
+  <circle cx="304" cy="240" r="72" fill="#fff"/>
+  <circle cx="320" cy="240" r="60" fill="#ed2939"/>
+  <path fill="#fff" d="M384 200l7.7 21.5 20.6-9.8-9.8 20.7L424 240l-21.5 7.7 9.8 20.6-20.6-9.8L384 280l-7.7-21.5-20.6 9.8 9.8-20.6L344 240l21.5-7.7-9.8-20.6 20.6 9.8L384 200z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ba.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ba.svg
new file mode 100644
index 0000000..6402c10
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ba.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ba" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ba-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#ba-a)" transform="translate(80) scale(.9375)">
+    <path fill="#009" d="M-85.3 0h682.6v512H-85.3V0z"/>
+    <path fill="#FC0" d="M56.5 0l511 512.3V.3L56.5 0z"/>
+    <path fill="#FFF" d="M439.9 481.5L412 461.2l-28.6 20.2 10.8-33.2-28.2-20.5h35l10.8-33.2 10.7 33.3h35l-28 20.7 10.4 33zm81.3 10.4l-35-.1-10.7-33.3-10.8 33.2h-35l28.2 20.5-10.8 33.2 28.6-20.2 28 20.3-10.5-33 28-20.6zM365.6 384.7l28-20.7-35-.1-10.7-33.2-10.8 33.2-35-.1 28.2 20.5-10.8 33.3 28.6-20.3 28 20.4-10.5-33zm-64.3-64.5l28-20.6-35-.1-10.7-33.3-10.9 33.2h-34.9l28.2 20.5-10.8 33.2 28.6-20.2 27.9 20.3-10.4-33zm-63.7-63.6l28-20.7h-35L220 202.5l-10.8 33.2h-35l28.2 20.4-10.8 33.3 28.6-20.3 28 20.4-10.5-33zm-64.4-64.3l28-20.6-35-.1-10.7-33.3-10.9 33.2h-34.9L138 192l-10.8 33.2 28.6-20.2 27.9 20.3-10.4-33zm-63.6-63.9l27.9-20.7h-35L91.9 74.3 81 107.6H46L74.4 128l-10.9 33.2L92.1 141l27.8 20.4-10.3-33zm-64-64l27.9-20.7h-35L27.9 10.3 17 43.6h-35L10.4 64l-11 33.3L28.1 77l27.8 20.4-10.3-33zm-64-64L9.4-20.3h-35l-10.7-33.3L-47-20.4h-35L-53.7 0l-10.8 33.2L-35.9 13l27.8 20.4-10.3-33z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bb.svg
new file mode 100644
index 0000000..73f5329
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bb.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-bb" viewBox="0 0 640 480">
+  <path fill="#00267f" d="M0 0h640v480H0z"/>
+  <path fill="#ffc726" d="M213.3 0h213.4v480H213.3z"/>
+  <path id="a" d="M319.8 135.5c-7 19-14 38.6-29.2 53.7 4.7-1.6 13-3 18.2-2.8v79.5l-22.4 3.3c-.8 0-1-1.3-1-3-2.2-24.7-8-45.5-14.8-67-.5-2.9-9-14-2.4-12 .8 0 9.5 3.6 8.2 1.9a85 85 0 00-46.4-24c-1.5-.3-2.4.5-1 2.2 22.4 34.6 41.3 75.5 41.1 124 8.8 0 30-5.2 38.7-5.2v56.1H320l2.5-156.7z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 639.5 0)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bd.svg
new file mode 100644
index 0000000..1e3433e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bd.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bd" viewBox="0 0 640 480">
+  <path fill="#006a4e" d="M0 0h640v480H0z"/>
+  <circle cx="280" cy="240" r="160" fill="#f42a41"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/be.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/be.svg
new file mode 100644
index 0000000..eaf016d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/be.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-be" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path d="M0 0h213.3v480H0z"/>
+    <path fill="#ffd90c" d="M213.3 0h213.4v480H213.3z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bf.svg
new file mode 100644
index 0000000..c92cce6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bf" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#de0000" d="M640 479.6H.4V0H640z"/>
+    <path fill="#35a100" d="M639.6 480H0V240.2h639.6z"/>
+    <path fill="#fff300" d="M254.6 276.2l-106-72.4h131L320 86.6 360.4 204l131-.1-106 72.4 40.5 117.3-106-72.6L214 393.4"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bg.svg
new file mode 100644
index 0000000..15ba696
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bg.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bg" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#d62612" d="M0 320h640v160H0z"/>
+    <path fill="#fff" d="M0 0h640v160H0z"/>
+    <path fill="#00966e" d="M0 160h640v160H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bh.svg
new file mode 100644
index 0000000..d4a32c0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bh.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bh" viewBox="0 0 640 480">
+  <defs id="defs448">
+    <clipPath id="bh-a">
+      <path id="path445" fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <path id="path1077" fill="#fff" stroke-width="4.8" d="M0 0h640v480H0" opacity="1" stop-opacity="1"/>
+  <path id="path1079" fill="#ce1126" stroke-width="5.1" d="M640 0H96l110.7 48L96 96l110.7 48L96 192l110.7 48L96 288l110.7 48L96 384l110.7 48L96 480h544" opacity="1" stop-opacity="1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bi.svg
new file mode 100644
index 0000000..091f2df
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bi.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bi" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="bi-a">
+      <path fill-opacity=".7" d="M-90.5 0H592v512H-90.5z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#bi-a)" transform="translate(84.9) scale(.9375)">
+    <path fill="#00cf00" d="M-178 0l428.8 256L-178 512zm857.6 0L250.8 256l428.8 256z"/>
+    <path fill="red" d="M-178 0l428.8 256L679.6 0zm0 512l428.8-256 428.8 256z"/>
+    <path fill="#fff" d="M679.6 0h-79.9L-178 464.3V512h79.9L679.6 47.7z"/>
+    <path fill="#fff" d="M398.9 256a148 148 0 11-296.1 0 148 148 0 01296 0z"/>
+    <path fill="#fff" d="M-178 0v47.7L599.7 512h79.9v-47.7L-98.1 0z"/>
+    <path fill="red" stroke="#00de00" stroke-width="3.9" d="M280 200.2l-19.3.3-10 16.4-9.9-16.4-19.2-.4 9.3-16.9-9.2-16.8 19.2-.4 10-16.4 9.9 16.5 19.2.4-9.3 16.8zm-64.6 111.6l-19.2.3-10 16.4-9.9-16.4-19.2-.4 9.3-16.9-9.2-16.8 19.2-.4 10-16.4 9.9 16.5 19.2.4-9.3 16.8zm130.6 0l-19.2.3-10 16.4-10-16.4-19.1-.4 9.3-16.9-9.3-16.8 19.2-.4 10-16.4 10 16.5 19.2.4-9.4 16.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bj.svg
new file mode 100644
index 0000000..fa0df27
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bj.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bj" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="bj-a">
+      <path fill="gray" d="M67.6-154h666v666h-666z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#bj-a)" transform="matrix(.961 0 0 .7207 -65 111)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="#319400" d="M0-154h333v666H0z"/>
+      <path fill="#ffd600" d="M333-154h666v333H333z"/>
+      <path fill="#de2110" d="M333 179h666v333H333z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bl.svg
new file mode 100644
index 0000000..ecf6ec4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bl.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bl" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bm.svg
new file mode 100644
index 0000000..5e2c873
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bm.svg
@@ -0,0 +1,98 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bm" viewBox="0 0 640 480">
+  <path fill="#cf142b" d="M0 0h640v480H0z"/>
+  <path fill="#00247d" d="M0 0h320v160H0z"/>
+  <path fill="#fff" d="M0 0v17.9L284.2 160H320v-17.9L35.8 0H0zm320 0v17.9L35.8 160H0v-17.9L284.2 0H320z"/>
+  <path fill="#fff" d="M133.3 0v160h53.4V0h-53.4zM0 53.3v53.4h320V53.3H0z"/>
+  <path fill="#cf142b" d="M0 64v32h320V64H0zM144 0v160h32V0h-32zM0 160l106.7-53.3h23.8L23.8 160H0zM0 0l106.7 53.3H82.8L0 12V0zm189.5 53.3L296 0h24L213.3 53.3h-23.8zM320 160l-106.7-53.3h23.9L320 148v12z"/>
+  <path fill="#fff" d="M553.8 148.3v135.5c0 36.2-72.3 48-72.3 48S409 320 409 283.7V148.3h144.7z"/>
+  <path fill="#2f8f22" d="M553.8 283.8c0 36.2-72.3 48-72.3 48S409 320 409 283.7c0 0 0-3 1.5-4.6 0 0-.8 6 3.8 10.6 0 0-3.6-6.5 0-12.8 0 0-1.4 8.2 3.7 12.8 0 0-2.8-6.6.3-14 0 0-1.5 12 4 14.5 0 0 1.5-7-.7-11.4 0 0 3.8 1.5 3.6 11.6 0 0 1.2-1.5 1.5-8.8 0 0 .2 8.4 3 10.3 0 0 1-.9-.3-4.6s.5-5.1.8-5c0 0-.6 4.1 2.9 7.3 0 0-1.5-6.6.6-7.5 0 0-.5 5.6 4 6.8 0 0 .3-1.6-.7-3.4 0 0-.8-2.1-.2-3.8 0 0 1.4 5 3.3 5.9 0 0-1.1-3 0-5.9 0 0 .2 4.2 4 6 0 0-2.5-3.3-1.6-6.9l24.1 1.2 12.5.6 37.5-2.6 6.4-5.6s2.6 3.5-1.5 9.1c0 0 4-.7 5.3-7 0 0 1.6 3.5-.6 7.4 0 0 4.4-4.5 5-9.5 0 0 1.8 4.9-2.4 10.1 0 0 3.7-1.3 5.3-6.8 0 0 1.3 3.3-2.3 8 0 0 6.8-3.5 6.6-11 0 0 2.8 4.1-.4 9.8 0 0 3.4-3.1 3.8-7.8 0 0 1.9 2.1-.2 7.9 0 0 4.2-4 4.9-8.3 0 0 .9 4-2.7 9 0 0 2.4-.6 4.8-5.5 0 0 .6 2-1.5 5.5 0 0 2.3-.4 3.8-4.9 0 0 .3 2.7-.4 5 0 0 1.8-1.1 2.2-6.1 0 0 1 1.6 1 3.7v.7z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M516.6 205.4s-2.5.5-5.8-.5c-3.2-1-4.5-.6-5.5 0 0 0 1.3-2.6-1.9-4.7 0 0 1 2.7-.4 3.9 0 0-.6.6-1.4-.3 0 0-1.1-1.2-2.3-2 0 0 2.7-1 2.2-3.8-.5-2.7-2-3-2.7-3.4a5 5 0 000 2s-3-1.6 1-3.9 3.3-3.7 2.6-4.9a11 11 0 00-3-3s.8 1.3.6 2.4c-.1 1-2 1.7-1.6-.1.4-2 0-1.6 0-3.6 0 0 3.5 1.2 5-2.3 0 0 1.3-3.6-3.2-5.4 0 0 1.1 1.5.6 2.6 0 0-1 1.8-2.1.4s-1.9-1.8-1.8-3.5c0 0 4.1.6 3-3.9 0 0-.7 3-6-1 0 0 3.5-3.6 2.1-6.4 0 0-.4-1.3-4.1-.6 0 0 3.2-2 1.9-3.8 0 0-.7-1.1-3.8.4 0 0 1.2-2-1.8-4.2 0 0-2 1-3 2 0 0-2-2.6-3.3-3.6 0 0-2.4.9-3 3.6 0 0-1.1-1.3-3.6-2 0 0-1.2 2.3.4 4.2 0 0-1.2 0-3.3-1 0 0-2.4-1-2 1 .3 2 .5 2.5 1 3.5 0 0-5.4-1.3-5.2 1.7a7.4 7.4 0 002.6 5.2s-3 4-5.6 1c0 0-1 1 1 3.5 0 0 2 2.1.3 3.5 0 0-2.1 1.7-3.1-1.6 0 0-3.5 3.4.6 6 0 0 2.6 1.5 5.3-.8 0 0-.9 6.6-3.4 5.3 0 0-1.5-1 1.2-2.4 0 0-4-.5-4.6 3.3 0 0-.5 3 3 4.2 0 0 2.6 1-.1 3 0 0-2 1.5-.7 3.7 0 0 1.5 2.4-2.4 2.7 0 0-2 0-2.8-.3 0 0-.9 1.6-.3 3.4 0 0-2-1.5-6.3.1-4.4 1.6-4.1.5-4.4 1l-1.3 2s2.3 3 2.4 2.8l-.5 3.3 1.2.5 9-4 9.3-4.8 7.4.4 4.7 1.1 6.1.5 4.5-2.4h6.4l7 3.5 8 4.8 4.2.8 3.2-.2v-6.5l-1.5-2.4z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M443.5 213s3.5 1.8 5-.3c0 0 1.9-3.7-2.3-5 0 0 2.3-2.7-.2-5.2 0 0-1.3-1.4-3.5-.4 0 0-1-2-3.1-1.9 0 0-2 0-2.6 2.1 0 0-2.6-1-4 .5 0 0-2.5 2.7.9 4.9l2.4.2 2.4-1.1 2.7.7s-.7 2.7 2.3 5.5z"/>
+  <path fill="#64b4d1" stroke="#000" stroke-width=".4" d="M521.8 206.6a5.6 5.6 0 015.8 3.2c2.2 5.2-2.5 8-2.5 8 .3 1.1.4 2.7.4 2.7 6.6.8 5.4 8.2 5.4 8.2l-2.2-1.8c-3.8-1.5-7.8 1.8-10.6 7.2-2.8 5.5-1.5 8-1 14.5s11 10.4 11 10.4l-8.2 21c-3.2 8.3-10 4.9-12 3.1-1.9-1.7-2.4-.7-3.3 0-1 .8 4.4 5-5.5 9-9.8 4-11.5 7-13.2 8-1.6 1-8.4.4-9-.5-.8-.8-.4-.8-3-2.4-2.5-1.5-6.8-3-11.5-5.2-4.7-2.3-4.6-5.2-4.5-5.8 0-.6 1.6-5.5-3.9-1.6s-10.2-1.9-10.2-1.9c-1-1.4-5.7-13.7-5.7-13.7a77.5 77.5 0 00-3.6-10s-.3.6 3.8-1.7c4-2.3 5.9-6.2 7.3-10 1.4-3.9 0-10.5-.5-11.8s-3.5-7.4-7.3-8.7c-3.7-1.3-6.3 2-6.3 2s-1.1-7.5 5.5-8.3c0 0 0-1.6.4-2.7 0 0-4.7-2.8-2.5-8 0 0 1.5-3.6 5.7-3.2l-1 2s-1 10.6 14.5 3.5c15.5-7.2 15-8.5 24-4l6.4-.1s9.3-4.4 12.3-2.5c3 1.9 13.7 7.9 13.7 7.9s10.4 3.9 12.5-3.3l-1.2-3.5z"/>
+  <path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width=".5" d="M475 252.7s-.5-3.3-1-5.4c0 0-1.2-3.3.8-5.7l2.4-2.8s1.5-2 3.4-2.3c0 0 1.9 0 2-.4.2-.4 2.3-3.8 7.2 0 0 0 1.5-2.5 4-3 0 0 2.5-.7 3.8 1.2 0 0 2.9-2.2 5.4 1.4 0 0 3.4-2 6 1.9 0 0 3.3-1.7 5.4 1.8 2.1 3.6 1.7 5 1.7 5l1.6 5.7 5.5 6.8-12.8 4.8h-5.8l-11.5 3-20.4 1.6-5.6-6.7 8-7z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M457.8 286.6s-3 .1-4.6 1c-1.5.7-2.7 1.5-4.5 2.7 0 0-.9 1.1-4.4.4 0 0-6-1.4-6 3.3 0 0-7.4.6-4.4 7 0 0 2 5 6.2 1.5 0 0-2.7 3.8 2.5 5.3 0 0 3.7 1 4.8-2.9 0 0 .6-1.5-.8-3.3 0 0 1.8-.4 3-2.3 0 0-3.8 4.8.4 6.6 0 0 5.3 1.3 5.6-4.2 0 0-.5-2.6 1.6-3.5 0 0 4.2-1 6-5.6 0 0-6-3.2-5.4-6zm-12.3-48.2s-4.7-2.1-7 0c0 0-3-1.9-6.3 0 0 0-3.1 2-5.3 4.3 0 0-1.5 1.3-1 5.4 0 0 .9 2.9.4 4.3 0 0-1-.2-3.1 2.3 0 0-2.6 3-5 .3 0 0 .8 3.8 5.1 3.2 0 0-2.1 1.6-.3 5.9 0 0 1.4 3-.8 6.8 0 0 3.8-1.5 3.7-6 0 0-.4-3 .8-5.1 0 0-1.2 1.9 1.4 6 0 0 2 3 .4 6 0 0 3.7-1.3 3.4-5.8-.4-4.6-2.6-2.7-1.2-6.9 0 0 .4 2.2 1.5 3.3a6 6 0 012 5.9s2.2-2.8 1.7-5.7a11 11 0 00-1.1-3.7l7-4 3.6-6.3.1-10.2z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5" d="M434.8 256.4s-3-.2-3.4-2.5m-5.1-1.5s1 0 2 1c0 0 .6 1 1.6.8"/>
+  <path d="M439.1 247.8s-1.5 0-2.4-.7c0 0-.8-.6-1.3.3 0 0-.8 1.4.6 2 0 0 1.9 1-1 2.8 0 0 3.4-1.3 2-3 0 0-1.5-1-1-1.4 0 0 .2-.4.8 0 .6.5 1.8.3 2.3 0z"/>
+  <path fill="#784421" stroke="#000" stroke-width=".4" d="M484.9 256l1.8-.5-11.7-40.3-.4.1z"/>
+  <path d="M446 300.7s-2.7-1.6-5 .2c0 0 .3-1 2-1.4 0 0 1-2.7 3.6-2.4 0 0-1.1 1.3-2.5 2.3 0 0 1.5.2 2 1.3z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M436.4 307s-4.4-2.7-2-7.3c0 0 .7-1.3 2-1 0 0 2.7.8.6 4.6 0 0-1.1 2.4-.6 3.8zm8.8 4.4s-6.2-2.8-4.3-7.7c0 0 .6-1.6 2-1.5 0 0 2.4.2 1.9 3.4 0 0-.7 3 .4 5.8z"/>
+  <path d="M443.9 293.4s-1.9 1.4-2.6 2.3c0 0-.8-1-1.8-1.5 0 0 1.2-.2 1.8.3 0 0 1-.9 2.6-1.1z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M449.4 310.2s5-1.2 4-6.3c0 0-.5-2.2-2.5-1.9 0 0-2.5.7-.9 3.9 0 0 1 2.2-.6 4.3z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M471.5 203.7l4.8 1.6s4.5 2 10.3 0l4.4-1.7-3 4.6v2.4l1.8 2.7s-1.1.5-4.5-1.6c0 0-3.7-2.9-8.1 0 0 0-2.5 1.6-4.5 1.6l2.9-3.2-1.1-2.9-3-3.6z"/>
+  <path fill="#fff" d="M451.3 304.2s.2-.3 0-.4l-.4.2s-.5.8 0 2c0 0 .4.7.2 1.5l.1.3s.2-.1.2-.3c0 0 .3-.7-.2-1.5 0 0-.5-1.2.1-1.8z"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M518.8 213s-3.5 1.8-5-.3c0 0-1.8-3.7 2.4-5 0 0-2.3-2.7.1-5.2 0 0 1.3-1.4 3.5-.4 0 0 1-2 3.1-1.9 0 0 2 0 2.6 2.1 0 0 2.7-1 4.1.5 0 0 2.4 2.7-1 4.9l-2.4.2-2.4-1.1-2.6.7s.7 2.7-2.4 5.5z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M491 210.2s0 .7-.7.8c0 0-.8.3-1.3-.7v-.3c0-.4-.2-1.7 1.2-2.7 0 0 2.2-1.8 6.4.4A161 161 0 00509 214s2.6 1.3 6.6 1.5c0 0 5.5.4 7.8-3.5 0 0 1.8-2.9 0-4.8 0 0-.7-.8-1.9-.7-.4.1-1 .3-1.5 1 0 0-.9 1.2.1 2.1 0 0 1.3.8 1.8-.9 0 .2.4 1.5-.3 2.5 0 0-3.4 5-12.5-.1l-12-6.8s-6-3.1-9.7 1.8c0 0-2.9 4 .9 6.6 0 0 2.8 1.7 4.5-1 0 0 1.5-2.6-.8-3.7 0 0-2-1-2.8 1-.8 2 1.5 2.6 1.7 1.1 0 0 0-.3.2 0z"/>
+  <path fill="#e4cb5e" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M443.3 231v-7.6c0-.6 0-1 1-1.8.8-.7 1.8-1.9 3.1 1.4 0 0 2.7-2.9 3.6-3.3 0 0 1.6-1.3 2.7.6 0 0 1.4-2.2 2.5-2.7 0 0 2.7-1.7 2.8 3.5l2.1-2s1.7-1.3 3.5.6c0 0 3 3 3.4 3.8 0 0 .7.9.8 2.3 0 0 0 1.6.8 2.5 0 0 1 .9 1.9 1 0 0 2.1.1 3 2.2 0 0 .3-.4 1.4 9.4v18l-12.1 14.4-19.4-5.6-7.7-3.2-1.8-5.6 7.5-4.9 4-11-1.2-7.7-1.9-4.4z"/>
+  <path fill="#784421" stroke="#000" stroke-width=".4" d="M496.7 240.4l1-1.3 2.1-1.7s3.4 8.8 3.5 10.7v2.7s5 1.3 6 9l-4.2 7.7-6.5-3.7-1.9-1.3v-22z"/>
+  <path fill="#fff" d="M435.2 300.8s.2-.3 0-.5l-.4.3s-1.3 1.4-.2 3.7c0 0 0 .3.3.2 0 0 .2 0 0-.3 0 0-1-2 .3-3.4z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5" d="M454.8 299.3s.1-.7-.3-1.4c0 0-.3-.5-.2-1.2"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M459 221.1s0 1.9.6 3.3c.5 1.4 2.4 3.8 2.5 5"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M504.6 286.6s3 .1 4.6 1c1.6.7 2.8 1.5 4.6 2.7 0 0 .8 1.1 4.3.4 0 0 6.1-1.4 6.1 3.3 0 0 7.3.6 4.3 7 0 0-2 5-6.2 1.5 0 0 2.7 3.8-2.5 5.3 0 0-3.7 1-4.8-2.9 0 0-.6-1.5.9-3.3 0 0-1.8-.4-3-2.3 0 0 3.8 4.8-.4 6.6 0 0-5.3 1.3-5.6-4.2 0 0 .4-2.6-1.6-3.5 0 0-4.2-1-6.1-5.6 0 0 6-3.2 5.4-6z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M456.6 229.5l5 40.1m-3.8-40.2l5.6 37.4m-4.6-37.6l6.5 37.1"/>
+  <path fill="#784421" stroke="#000" stroke-width=".4" d="M469 263.1l1.8-.6-11.7-40.2h-.4z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M462.4 227.7l11.8 29.8m-12.6-29.3l11.4 31"/>
+  <path fill="#fff" d="M443 308.5s-1.4-1.3-1.2-3.6c0 0 0-.5-.2-.6 0 0-.3-.1-.3.5 0 0-.4 2.4 1.3 3.8 0 0 .1.2.3.1 0 0 .2 0 0-.2z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M463 227.3l12 27.2M459.7 229l7.5 36.6"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M520.5 256c-5.3-3-6.5-9.6-6.5-9.6a20.6 20.6 0 011.4-12c3.4-7.2 9.3-8.6 9.3-8.6s-5.8 4-7.4 9.4c0 0-1.2 4.6-.5 9 .7 4.6.4 3.4 1.5 6.9l2.2 5z"/>
+  <path fill="#784421" stroke="#000" stroke-width=".2" d="M497.6 239l-22.3 7.1-1.2 10c-5.3 7.7-16.1 9-16.1 9l8.4 9 16 3.3 8.5-6.5 7.7-7c-.8-3.8-.4-9.4-.4-9.4 0-1 .4-3.2.4-3.2s-1.3-9-1-12.2z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M474.4 253.6s14.7-4.6 23.5-8.3M467.3 262s18.4-3.3 31.3-10.7l4.7-3.2"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M503.3 250.8l-5 3.7s-20.6 9.4-36.3 9.7m36.2-3s-15.8 8.1-24.8 8.2"/>
+  <path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M517 238.4s4.7-2.1 7 0c0 0 3-1.9 6.4 0 0 0 3 2 5.2 4.3 0 0 1.5 1.3 1 5.4 0 0-.8 2.9-.3 4.3 0 0 1-.2 3 2.3 0 0 2.7 3 5 .3 0 0-.7 3.8-5 3.2 0 0 2 1.6.2 5.9 0 0-1.3 3 .8 6.8 0 0-3.8-1.5-3.6-6 0 0 .3-3-.8-5.1 0 0 1.1 1.9-1.5 6 0 0-2 3-.3 6 0 0-3.8-1.3-3.4-5.8.3-4.6 2.6-2.7 1.1-6.9 0 0-.3 2.2-1.4 3.3a6 6 0 00-2 5.9s-2.2-2.8-1.7-5.7 1-3.7 1-3.7l-7-4-3.5-6.3-.2-10.2z"/>
+  <path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width=".5" d="M437.1 263.9s.7-3.1 3.6-2c0 0 1-5 6.5-5.2 5.4-.2 5.7 5.3 5.7 5.7 0 0 1.7-2.4 4.3-2.1 0 0 4.6-.3 3 7.1l.8 1s3.5-8.3 10.7-6.2c0 0 7 2.2 2.5 9 0 0 3.5 4.6 6.4 4.1 3-.4 5.6-1.3 8.5-6.5 3-5.2 9.8-6 11.5-5.7 1.7.3 3.1 1.5 3.4 2.7 0 0 3.6-12 16.6-10.2l5.2 2.7 2 .9-3 8.3-7.1 16.2-5.5 1.6-5.7-3.2-2 1-.1 4.9-7.5 5.4-5.2 2.1-5.7 4-1.4 3.5s-3.1-1.4-6.7 0l-1.2-3-3.4-3.1-13-6.2-2.3-7.6-2.4-1-2.7 3-3.8.5-5.8-4L437 264z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M493.8 204.9s-5-.2-4.8 5"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M526.4 259.6c-8.6-2.7-11-12-11-12a21.4 21.4 0 011.1-13c4-9.3 10.6-9.3 10.6-9.3a3.4 3.4 0 013.8 2.8c.3 2-1.1 2.7-1.1 2.7-2.3 1.3-3.8-.4-3.8-.4-1-1.3-.2-2.4-.2-2.4.6-.8 1.7-.4 1.7-.4 1 .2.8 1.4.8 1.4s.3-1.4-1-1.5c0 0-2.7-.6-5.7 3.2 0 0-4 5.1-4 11.8 0 0-.5 12.4 12.4 15.6 0 0-1.4 2-3.9 9.3 0 0-2.8 9.4-5.4 14.5 0 0-3.6 7.2-11.6 4.3 0 0-4.7-2.1-4.7-5.5 0 0-.3-3.2 2.5-3.4 0 0 2.8-.2 2.8 2.2 0 0 0 2.5-3 2 0 0-1-.3-.9-1.3 0 0 .2-1 1.5-.5s0 0 0-.1c0 0-.5-.2-1 0 0 0-.5.1-.5.9 0 0 0 .5.6.9l1.4.2s.8 1.6 2.6 2.2c2.5.7 4.6 0 5.9-1a9 9 0 002.5-3.6 95 95 0 004.4-11.3s1.5-4.8 2.8-7.3l.4-1z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M502 283.2s1.7-.2 1.7 1.2c0 0-.1 2-2.7 1.6 0 0-2.5-.5-1.6-3.3 0 0 .6-2 3-1.7 0 0 2.3 0 3.3 3.2 0 0 .8 2.7-.6 5-1.5 2.5-5.2 4.2-7 5 0 0-7.3 2.8-9.5 4.5 0 0-3.3 2.4-1.8 4.7 0 0 .6.9 1.4.9 0 0 1 0 1.1-1 0 0 0 .6-.6.9 0 0-.7.3-1.4-.3 0 0-.8-.8-.2-2 0 0 .9-1.4 3-.5 0 0 1.7.9 1 2.7 0 0-.7 1.8-2.8 1.7 0 0-1.6 0-2.7-1-1.6-1.8-1.7-5-.2-6.7 0 0 1.3-1.8 4-3l7.5-3c2.2-.9 4.1-1.9 5.4-3.4 0 0 1.1-1.2 1.5-3.4 0 0 .3-1.6-.7-2l-1-.2z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M502.2 283.2s1.8-.4 2.9 1.8c0 0 .6 1.3.7 2.1m.6-7.6s-1.8.3-.9 2.9c1 2.4 2.5 3.1 3 3.5"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M471.5 210.2s0 .7.8.8c0 0 .7.2 1.1-.7l.1-.3c0-.4.2-1.7-1.1-2.7 0 0-2.3-1.8-6.5.4 0 0-3.3 1.6-5.6 3 0 0-6 3.2-6.8 3.4 0 0-2.6 1.3-6.6 1.5 0 0-5.5.4-7.8-3.5 0 0-1.8-2.9 0-4.8 0 0 .7-.8 1.9-.7.5.1 1 .3 1.5 1 0 0 .9 1.2-.1 2.1 0 0-1.3.8-1.8-.9 0 .2-.3 1.4.4 2.5 0 0 3.3 5 12.4-.2l12-6.7s6-3.1 9.7 1.7c0 0 2.9 4-.8 6.7 0 0-2.8 1.7-4.6-1 0 0-1.4-2.6.8-3.7 0 0 2-1 2.9 1 .8 2-1.6 2.6-1.8 1.1 0 0 0-.3-.1 0zM442 256.1c5.3-3 6.5-9.7 6.5-9.7 1.2-6.7-1.4-12-1.4-12-3.4-7.2-9.3-8.6-9.3-8.6s5.8 4 7.4 9.4c0 0 1.3 4.6.5 9-.7 4.6-.4 3.4-1.5 6.9l-2.2 5z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M468.8 204.9s5-.2 4.7 5"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M436 259.6c8.7-2.7 11-12 11-12a21.4 21.4 0 00-1-13c-4-9.3-10.6-9.3-10.6-9.3a3.4 3.4 0 00-3.8 2.8c-.3 2 1.1 2.7 1.1 2.7 2.3 1.3 3.8-.4 3.8-.4 1-1.3.2-2.4.2-2.4-.6-.8-1.7-.4-1.7-.4-1 .2-.8 1.4-.8 1.4s-.3-1.4 1-1.5c0 0 2.7-.6 5.7 3.2 0 0 4 5.1 4 11.8 0 0 .5 12.4-12.4 15.6 0 0 1.4 2 3.9 9.3 0 0 2.8 9.4 5.5 14.5 0 0 3.5 7.2 11.5 4.3 0 0 4.7-2.1 4.7-5.5 0 0 .3-3.2-2.5-3.4 0 0-2.8-.2-2.8 2.2 0 0 0 2.5 3 2 0 0 1-.3.9-1.3 0 0-.2-1-1.5-.5s0 0 0-.1c0 0 .5-.2 1 0 0 0 .5.1.5.9 0 0 0 .5-.6.9l-1.3.2s-.8 1.6-2.7 2.2a6.3 6.3 0 01-5.9-1 9 9 0 01-2.5-3.6 95.2 95.2 0 01-4.4-11.3s-1.5-4.8-2.7-7.3l-.5-1z"/>
+  <path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M460.5 283.2s-1.6-.2-1.6 1.2c0 0 0 2 2.6 1.6 0 0 2.5-.5 1.6-3.3 0 0-.6-2-3-1.7 0 0-2.3 0-3.3 3.2 0 0-.8 2.7.6 5 1.5 2.5 5.2 4.2 7 5 0 0 7.3 2.8 9.5 4.5 0 0 3.3 2.4 1.8 4.7 0 0-.5.9-1.4.9 0 0-1 0-1.1-1 0 0 0 .6.6.9 0 0 .7.3 1.4-.3 0 0 .8-.8.2-2 0 0-.9-1.4-2.9-.5 0 0-1.8.9-1 2.7 0 0 .6 1.8 2.7 1.7 0 0 1.6 0 2.7-1 1.6-1.8 1.7-5 .3-6.7 0 0-1.4-1.8-4-3-1.6-.5-4.6-1.8-7.6-3-2.2-.9-4.1-1.9-5.4-3.4 0 0-1.1-1.2-1.5-3.4 0 0-.3-1.6.7-2l1-.2h.1z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M460.3 283.2s-1.8-.4-2.9 1.8c0 0-.6 1.3-.7 2.1m-.6-7.6s1.8.3.9 2.9c-1 2.4-2.5 3.1-3 3.5m23-76.4s4.3-2.7 8.7.3"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".4" d="M452.4 236s.6-2.5-2.2-6.7c0 0-1.8-3.9-2.7-6.3m6.2-2.7l2 5.5 2.4 5.7"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M454.4 238.6s1.7 1.8 1.5 4.7m-6.8-6.6s1.8.9 1.6 5.7c0 0-.1 3.4 2.5 5.2m-4.4 1.2s5.6-.6 6 2.9c0 0 0 3.3 2 3.6 0 0 2.8.3 3.4 3m-9.6-5.7s1 1.5 2 2.2m5.2-5.8s1.4 2.2 1.7 3.4M464 223s1.3 1.8 2.6 2.6m2.6 8s2.8 1.3 2.4 8.4c0 0-.4 4.1.8 6.4"/>
+  <path fill="#784421" stroke="#000" stroke-width=".4" d="M456 228.8l.3.7s5 .2 7.7-3.2l-.3-.7s-4.4-.2-7.6 3.2z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M474.1 255.6s17.3-5.1 24-8.1"/>
+  <path fill="#784421" stroke="#000" stroke-width=".2" d="M472.3 223.7l-.2-.5 8.5-3.3.2.6z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".4" d="M473 223.4l5.7 27.9m-4.7-28.2l6.5 27.7m-5.4-28.2l7.1 27.6m-4.3-28.6l9.7 20.6m-8.4-21l10.3 20.4m-9.4-20.9l11.2 20.4m-13 10.4l4.4-1.4m-7.7-1.3s12.8-3.8 22.6-7.7m-22.8 9s16.3-4.2 22.8-7.4m-17.8 20.7l.8 2.7 2.4-.8-.8-2.6m4.2-1.1l.8 2.6 2.3-.8-.8-2.6m-13.4-14.7l-.2-3.5 21.4-6.5 1.1 3m-13.4.7l1.1 3.2m6.3-5.4l1.4 3m.4-3.6l1.3 2.8m.4-3.3l1.3 3m0-3.4l2.4-1.3 1 2.6m-2.2-2l1.2 2.8"/>
+  <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width=".5" d="M444.6 276.2s-4.2-4.3 0-8.4c0 0-4.6-2.2-3.9-5.8m11.4 17.5s-4.4.6-3.1-7.8c0 0-1.8 3.3-2.4 5a3.9 3.9 0 001.7 4.5c.7.5 4.6 1.5 5.8-1m-6.9-13.6s-1.8 1.6-.5 4.6m2.3-4.2s.2 2.9 1.7 4.5m-.4-5.6s0 3.4 2.4 5.5m-1.2-6.7s0 3.8 2.8 6.2m11.3-.6s1.4-3.2 4.4-3c0 0-1.4.7-1.4 2.1 0 0-.2 2.5 2.4 2.7 0 0 2.1.3 3.2-.9"/>
+  <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width=".5" d="M472.8 284.6s-7.5-3.5-6.7-8.5c0 0 .3-3 3.3-4.5m-1.6 3.2s-.7 2.1.8 3.6m.9-5.1s-1 2.4.6 4.1m1.2-5.3s-1.1 2 .2 3.8m-7 9.2s4 3.6 7.2 3.6m-8.5-2.4s3.8 3 6.2 3.5m-7.6-2.7s4.7 4.1 7.6 4.4m11.5 3.8s-4.6 2.5-1 5.2m-2-7.9l7.6-3.8m-5.7 5.2s7.6-4.6 9.8-5.6m-5.9 6s6.5-4.4 10-6.3m-5.7 6s4.5-3.4 8.8-6m1.5-4.3s-2.2-3.2-9.4 0c0 0 2.7-2.4 7.9-4.3m7.2-13.7s.6 2.6 0 4.2"/>
+  <path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width=".5" d="M492.4 278.4s1.5-2.2 5.3-3.3c0 0 1 2.5 4 2 0 0 4.4-.9 3-5.8 0 0-.9-3.6-6-4m15.2-6.1s5.1 1 5 5.1c0 0 .5 6.4-6.2 7.6m5.5-10.1s1.4-3.1 4.6-4.4m-3.8-1.8s1.4 2.3 2.3 2.6m-3-.8s1.3 1.7 1.7 2m-2.2-.4s.7 1 1.3 1.4m-28-25.9s1-1.6 3.6-1m10.2 13.3s1.6-6.6 7.1-4.2m-2.2-.5s.5-3-.8-4.6m-3 4.3s.7 1.3.1 2.3"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M517.3 311.4s6.2-2.8 4.3-7.7c0 0-.6-1.6-2-1.5 0 0-2.4.1-2 3.3 0 0 .8 3.2-.4 5.9z"/>
+  <path fill="#fff" d="M519.5 308.5s1.4-1.3 1.2-3.6c0 0-.1-.5.1-.6 0 0 .3-.1.3.5 0 0 .4 2.4-1.2 3.8 0 0-.1.2-.3.1 0 0-.2 0-.1-.2z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M526.1 307s4.4-2.7 2-7.3c0 0-.7-1.3-2-1 0 0-2.7.8-.6 4.6 0 0 1 2.4.6 3.8z"/>
+  <path fill="#fff" d="M527.2 300.8s-.2-.3 0-.5l.3.3s1.3 1.4.3 3.7c0 0-.1.3-.4.2v-.3s1-2-.2-3.4z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M513 310.2s-4.9-1.2-4-6.3c0 0 .5-2.2 2.6-1.9 0 0 2.5.7.9 3.9 0 0-1 2.2.5 4.3z"/>
+  <path fill="#fff" d="M511.1 304.2s-.1-.3 0-.4c0 0 .3 0 .4.2 0 0 .5.8.1 2 0 0-.4.7-.2 1.5 0 0 0 .2-.2.3l-.2-.3s-.2-.7.2-1.5c0 0 .5-1.2 0-1.8z"/>
+  <path d="M516.5 300.7s2.8-1.6 5 .2c0 0-.2-1-2-1.4 0 0-.9-2.7-3.5-2.4 0 0 1 1.3 2.5 2.3 0 0-1.5.2-2 1.3zm2-7.3s2 1.4 2.7 2.3c0 0 .7-1 1.7-1.5 0 0-1.1-.2-1.7.3 0 0-1-.9-2.6-1.1z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5" d="M507.7 299.3s-.2-.7.3-1.4c0 0 .3-.5.2-1.2m19.6-40.3s2.9-.2 3.4-2.5m5-1.5s-1 0-1.9 1c0 0-.7 1-1.7.8"/>
+  <path d="M523.5 247.8s1.5 0 2.3-.7c0 0 .9-.6 1.4.3 0 0 .8 1.4-.7 2 0 0-1.8 1 1.1 2.8 0 0-3.5-1.3-2-3 0 0 1.5-1 .9-1.4 0 0-.2-.4-.8 0-.6.5-1.8.3-2.2 0z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M525.5 211.2s.7-1 .4-3.7 2.2-3.1 3.1-2.3c0 0 1 .8 0 2.6a7 7 0 01-3.5 3.4z"/>
+  <path fill="#fff" d="M526.4 209.1s1-1 .5-3.1l.1-.2.3.1s.5 2.3-.5 3.5c0 0-.2.2-.4 0v-.3z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M524.8 210.2s-.1-1.2-2-3c-2-2-.4-3.7.8-3.7 0 0 1.2 0 1.7 1.9a7 7 0 01-.5 4.8z"/>
+  <path fill="#fff" d="M524.5 207.7s0-1.4-1.8-2.8v-.3h.3s1.9 1.5 1.9 3.2c0 0 0 .2-.2.2 0 0-.2 0-.2-.3z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M522.1 209.3s-.5-.9-2.9-1.8c-2.4-.8-1.8-2.9-.8-3.4 0 0 1.1-.4 2.2 1a6.4 6.4 0 011.5 4.2z"/>
+  <path fill="#fff" d="M521 207.6s-.5-1.2-2.7-1.8c0 0-.2 0-.2-.2 0 0 0-.2.3-.1 0 0 2.4.5 3.1 2l-.1.3s-.2 0-.3-.2z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M523.6 210.2s-1.1.4-3.7-.9c-2.6-1.2-3.7 1-3.2 2 0 0 .4 1.3 2.4 1a7 7 0 004.5-2z"/>
+  <path fill="#fff" d="M517.6 211s1.2.8 3.3 0h.3s0 .2-.2.3c0 0-2.2 1-3.7.1 0 0-.2-.1 0-.3h.3z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M519.9 202.1s1.2.6 1 2.1"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5" d="M525.5 202.3s.5 1.6 0 2.5"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M436.8 211.2s-.7-1-.4-3.7c.3-2.8-2.1-3.1-3-2.3 0 0-1 .8-.1 2.6a7 7 0 003.5 3.4z"/>
+  <path fill="#fff" d="M435.9 209.1s-.9-1-.5-3.1v-.2l-.4.1s-.4 2.3.6 3.5c0 0 .2.2.3 0v-.3z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M437.6 210.2s0-1.2 2-3c2-2 .4-3.7-.8-3.7 0 0-1.3 0-1.7 1.9a7 7 0 00.5 4.8z"/>
+  <path fill="#fff" d="M437.9 207.7s0-1.4 1.7-2.8c0 0 .2-.2 0-.3 0 0 0-.1-.2 0 0 0-2 1.5-2 3.2 0 0 0 .2.3.2 0 0 .2 0 .2-.3z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M440.2 209.3s.5-.9 3-1.8c2.3-.8 1.7-2.9.7-3.4 0 0-1-.4-2.2 1a6.4 6.4 0 00-1.5 4.2z"/>
+  <path fill="#fff" d="M441.3 207.6s.5-1.2 2.7-1.8c0 0 .2 0 .2-.2 0 0 0-.2-.2-.1 0 0-2.4.5-3.1 2v.3s.3 0 .4-.2z"/>
+  <path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width=".4" d="M438.7 210.2s1.2.4 3.7-.9c2.6-1.2 3.7 1 3.3 2 0 0-.5 1.3-2.5 1a7 7 0 01-4.5-2z"/>
+  <path fill="#fff" d="M444.7 211s-1.1.8-3.3 0h-.2v.3s2.4 1 3.8.1c0 0 .2-.1 0-.3h-.3z"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width=".5" d="M442.5 202.1s-1.3.6-1 2.1"/>
+  <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5" d="M436.8 202.3s-.5 1.6 0 2.5"/>
+  <path d="M492.6 187.7s.8 2.3.5 4.4c-.3 2 .1 2.4.8 2.8.6.3 2-.3 2.1-1.8 0 0 1.6 3.2-1.5 5.3 0 0-2.3 1.4-4.2-.4-.7-.7-1-2.5-.6-4.2 0 0 .5-2.2-.4-4.6 0 0 1.3 1.4 1 4.1 0 0-.7 5 3 4.7 0 0 2.5 0 2.6-3 0 0-1 1-2.1.7a2 2 0 01-1.5-2.4c.1-1.3.5-3.6.3-5.6zm-4 8s-.3 4-3.8 4.9c0 0 .5-.7-.3-2.7 0 0-.8-1-.8-2.8 0 0-1 .9.2 3.2.8 1.4.1 3-.1 3.1-.3.1 5.8-.8 4.7-5.6zm-4.7-3.8s-.9-1-1-3.2c0-2.2-.4-2.8-.7-3 0 0 .4 1.9.3 3 0 1.3.1 2 .3 2.5 0 0-2 .3-3.2-2.5-1.1-2.7-2.3-2.5-2.9-2.5 0 0 .7.1 2 2.6 1.4 2.4 1.8 3 5.2 3zm-9-5.8s1 2.6 1.1 4c0 0-2.6-.8-3.3-3 0 0-2.7.9-1.7 4 0 0-2.4-.8-3.5-2.7 0 0 1.3 1 2.6 1.4 0 0-.2-2.6 3-3.5 0 0 .5 2.3 2.2 2.8l-.4-3zm4.2-4.6s1 1.3 2.8 1.3a3 3 0 002.7-1.3s-.1 2.2-2.7 2.3c0 0-2.8 0-2.8-2.3zM467.8 197l1.7 1.6s1 1 1.7-.2c0 0 1.1-2 2.4-1.9 0 0-1 .6-2 2.5 0 0-.2.6-1 .7-.4 0-.8.2-1.5-.6 0 0-.6-.7-1.3-2zm14-24.6c-2.7 0-.4 2-.4 2 0 3.4-2.6 4.5-4.4 3.5-1.9-1-.4-3.4-.4-3.4s-2 1.3-.8 3.3c1.3 2 4.8 1 6-.7 1.3 1.8 4.8 2.7 6 .7 1.4-2-.7-3.3-.7-3.3s1.5 2.4-.4 3.4c-1.8 1-4.5 0-4.4-3.4 0 0 2.3-2.1-.4-2.1zm1.7-3.7s1 1.7.8 4.1c0 0 .8-2.4-.8-4zm-8.4 3.9s-.2-1.8-2-2c0 0 1.6 1.1 2 2zm13.5 0s.2-1.8 2-2c0 0-1.5 1.1-2 2zm-16.2 2.7s1.4.4 2.2-.6l-2.2.6zm-4.5-11s1.6-.1 3.2 2.3c0 0-1.6.8-2 1.3 0 0 0-.8.8-1.4 0 0-.3-1.2-2-2.1zm26.8 0s-1.6-.1-3.2 2.3c0 0 1.6.8 2 1.3 0 0 0-.8-.8-1.4 0 0 .3-1.2 2-2.1zm-12.3 1.9s1.4.4 3.2-.6c0 0 2.2-1.2 3.6 0 0 0-1.2-.6-3.6.6 0 0-2.3 1.3-3.2 0z"/>
+  <path fill="#fff" d="M483.9 167.6s1.2-2.1 5-1.7c0 0-1 3-5 1.7z"/>
+  <ellipse cx="486.4" cy="166.9" fill="#784421" rx=".7" ry=".9"/>
+  <ellipse cx="486.4" cy="166.9" rx=".4" ry=".6"/>
+  <path d="M475.9 163s2.3.2 3.8 1c0 0 1.5 1 3.2-.3 0 0 1.9-1.1 3.1-2.6 0 0-2.9 2-4 2.3 0 0-1-.8-1.3-1.9 0 0 .1-.8 1.7-2.3 0 0-2.1.7-2.5 2.4a6 6 0 001.2 2s-.4.2-1.4-.5c0 0-2.3-.7-3.8 0zm6 14.2c-2 1.8 0 1.6 0 1.6s2 .2 0-1.6zm-1.2-11s-1.5.4-3.3-.6c0 0-2.2-1.2-3.6 0 0 0 1.2-.6 3.6.6 0 0 2.4 1.3 3.3 0z"/>
+  <path fill="#fff" d="M479.2 167.6s-1.2-2.1-5-1.7c0 0 1 3 5 1.7z"/>
+  <ellipse cx="476.6" cy="166.9" fill="#784421" rx=".7" ry=".9"/>
+  <ellipse cx="476.6" cy="166.9" rx=".4" ry=".6"/>
+  <path fill="none" stroke="#000" stroke-width="1.3" d="M554 148.3v135.5c0 36.2-72.3 48-72.3 48s-72.4-11.8-72.4-48V148.3h144.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bn.svg
new file mode 100644
index 0000000..ab6678f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bn.svg
@@ -0,0 +1,36 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-bn" viewBox="0 0 640 480">
+  <path fill="#f7e017" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 33.3v213.4l640 100V233.3z"/>
+  <path d="M0 146.7v100l640 200v-100z"/>
+  <g fill="#cf1126" transform="translate(-160) scale(.66667)">
+    <path d="M695.7 569.7a117.2 117.2 0 01-49.4-17.2c-2.4-1.6-4.6-3-5-3-.4 0-.6 1.9-.6 4.1 0 6.4-2.6 9.6-9 11.3-6.2 1.6-15.6-1.6-23.2-8a68.3 68.3 0 00-24.7-13.5 39.9 39.9 0 00-28 3.6 8.7 8.7 0 01-2.8 1.3c-1.1 0-1-6.9.2-9 1.5-3 5.1-5.8 9.4-7.3 2.2-.8 4-1.8 4-2.3 0-.4-.8-2-1.7-3.6-2.9-5.1-1.7-10 3.4-13.9 5.2-4 14-4.6 21.7-1.7a32 32 0 004 1.4c1 0 .4-1.5-2.4-5.6-3.2-4.7-3.9-7-3.5-12.7a14.7 14.7 0 0113.5-13.5c5.8-.4 9.4 1.6 18 9.7a144 144 0 0086 41.6c8.3 1 24.8.5 34.5-1a156 156 0 0081.8-40.8c6.4-6 9.4-7.6 14.7-7.6 4.5 0 7.7 1.4 11 5 3 3.3 4 6.4 3.6 11.5-.2 3.2-.7 4.7-2.6 7.9-2.8 4.5-2.3 5 3.2 2.8 7.6-3 16.9-1.6 21.9 3.2 4.4 4.2 4.8 8.4 1.4 14-1.3 2.1-2.3 4-2.3 4.4 0 .6 1 .8 5.5 1.6 6 1 9.5 5.4 9.5 12.2 0 2-.3 3.7-.6 3.7s-2.6-.9-5-1.9c-7-2.9-11-3.6-19.2-3.5-6.2 0-8.3.3-12.6 1.7a57.5 57.5 0 00-19.5 11.5c-6.4 5.7-10.4 7.5-16.6 7.4-5.8 0-9.7-1.7-11.8-5-1.1-1.8-1.3-2.8-1-6.8.2-2.6.1-4.7 0-4.7-.3 0-2.5 1.4-5 3.1A80.5 80.5 0 01778 560a181.6 181.6 0 01-82.3 9.7z"/>
+    <path d="M706.3 525.2a136.4 136.4 0 01-97.9-55.7c-24.4-33.2-32-77.1-24.6-117.2 4-18.3 12-36.6 25.5-49.6a114.6 114.6 0 00-8.7 74.3c9 49.8 51 91.9 101.3 99.2 20 5.7 40.5-.4 59.5-6.5 42-14.8 74-54.6 77.8-99.1 3.3-24-.3-49.1-11.2-71 6.2 3.3 14 16.2 18.6 24.8 16 31 16.7 68.1 7.3 101.2-12.8 42.1-45 79-87.5 92.4a165.7 165.7 0 01-60 7.2z"/>
+    <g id="a">
+      <path d="M512 469.9c-2.5-.4-5.3 2.1-4.3 4.7 1.8 2.6 5 4 7.8 5.2a54.2 54.2 0 0023.2 3.6 49.6 49.6 0 0017-3c3-1 6.8-2 8-5.4 1.3-2.1-1-4.3-3.1-3.9-3 .7-6 2-9 2.9a57.7 57.7 0 01-20.3 2 54 54 0 01-14.4-4.2c-1.6-.7-3.1-1.7-4.9-1.9z"/>
+      <path d="M514.8 459.5c-2.5-.4-4.7 2.6-3.7 5 2 2.8 5.3 4.3 8.4 5.6a42.4 42.4 0 0017 2.9h1.5a37.6 37.6 0 0014.4-2.8c2.7-1.1 6.1-2.2 7.3-5.2.9-1.7.2-4.1-2-4.3-1.8 0-3.5 1.2-5.3 1.7a44.3 44.3 0 01-20.6 3.2c-4.4-.5-8.5-2.1-12.5-4-1.5-.7-2.8-1.8-4.5-2z"/>
+      <path d="M518.3 449.6c-2.2-.3-3.7 2.2-3.3 4.1.3 1.8 1.8 3 3.1 4a30 30 0 0018.6 5.3h1.6a28 28 0 0012-2.8c2.5-1 5.4-2.3 6.3-5.2.4-1.3.6-3.2-.9-4-1.6-.8-3.1.5-4.5 1a34 34 0 01-15.5 3.9 27 27 0 01-13.1-4c-1.5-.7-2.7-2-4.3-2.3z"/>
+      <path d="M481.5 302.7c-3.2 3.3-.7 9.3-1 13.5 1.8 13.2 3.9 26.5 8.8 39 6 12 18.8 18.5 26.5 29.2 2.8 5.1 1.8 11.3 2.4 17 .4 15.3.3 30.7 0 46 7 3.6 14.5 7 22.5 5.7 4.7-1.1 13.5-1.8 14.5-6.5l-1-79.5c-2.7-8.1-11-12.3-17.1-17.5a155.5 155.5 0 01-14.2-16.1c-2.6-4.5-12.9-6-9.2 1.6 2.2 6.7 7.7 11.6 9.1 18.6.3 3.9 5 11 1 13.2a24.5 24.5 0 00-10.7-10c-4.4-3.3-11.7-4.7-13.3-10.5a42.9 42.9 0 00-11-22c1.5-7.4 0-16.7-6.4-21.5l-.9-.2z"/>
+      <path d="M491.4 304.2c-3 .5-2.8 4.2-1.5 6.2a27.2 27.2 0 011.1 13.4 44.1 44.1 0 0110.6 21.7c0 3 3.2 4 5.3 5.5 4.9 3.1 10.3 5.4 14.7 9.3.9 1 1.6 2 1 0-.7-2.6-1-5.4-3-7.3-2.8-3-6.2-5.6-10.2-6.4-.3-4.2-2.3-8-4.1-11.6-2-3.5-4.1-7.2-7.5-9.4 0-6.1 0-12.5-2.6-18.2-.8-1.4-2-3.1-3.8-3.2z"/>
+      <path d="M499.7 306.6c-2 .6-1.6 3.2-1 4.7a54 54 0 011 13.2c3.9 3 6.2 7.4 8.4 11.6 1.4 2.8 2.6 5.8 3.1 8.9 3.1 1 5.8 3 8.2 5-1-2.8-3-5-4.5-7.7s-3-5.6-3.7-8.7c-3-3.1-4.6-7.6-4-12 .2-4.7-1.3-9.6-4.5-13.2-.8-.8-1.8-1.7-3-1.8z"/>
+      <path d="M509.2 308c-1.2.2-1.8 1.2-2.4 2.1-.3.9.8 1.8 1 2.8a21.8 21.8 0 011.4 10.4c-.1 2.5.8 5 2 7a3.9 3.9 0 013.5-2.8c.5 0 1.4.2 1-.7-.4-4.8-1.1-9.6-2.8-14a9.6 9.6 0 00-2.8-4.5c-.2-.2-.6-.4-1-.3z"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 1440 0)" xlink:href="#a"/>
+    <path d="M715.7 476a35.6 35.6 0 01-29.9-24c.3-2.2 3 1.2 4.3 1.5a19 19 0 008 2.6c3.5 1.5 5.7 5 9.1 6.9 1.6 1.2 7.2 3.6 6.1-.3-1.3-2-2.2-4.6-1-7 1.8-4.1 4.7-7.7 7.7-11.2 2.1-.7 3.6 3.6 5.1 5 2.1 3.3 4.7 7.3 3.4 11.3-1.2 1.5-2 6 1.3 4.6 4-1.8 7.3-4.8 10.6-7.6 3-2 6.7-2.1 9.7-4 1.5-.3 4.4-3.1 5-1.6a44.9 44.9 0 01-7.4 12.3 32.1 32.1 0 01-18.8 10.9c-4.4.8-8.8 1-13.2.6z"/>
+    <path d="M731.5 460.2c.3-2.7-.3-5.4-1.7-8-2.1-4.2-5-8-8-11.9-2.8-1.6-4.3 3.7-6.1 5.2-2.9 4.3-6.5 8.7-6.7 14-1.6 2.5-4.6-2-5.9-3.5a19 19 0 01-4-12 50.8 50.8 0 013.6-20.6c2-5.6 5.1-11 4.8-17 .2-4.7-.7-9.7-4.4-12.8-3.6-2.8 2.3-3.4 4.1-2 3.2.3 4.9 5.5 7.8 4.2 1.1-2.7 1.4-6 3.8-8.1 2.3-3.2 4.7 1.3 5.5 3.5 1.7 1.8 0 6.5 2.6 6.6 3.2-2.3 5.5-6 9.6-6.9 1.7-1 4.5 0 2.3 1.8-3 2.9-5.6 6.4-6.2 10.7-.9 5.3.4 10.7 2.7 15.4 4.5 9.4 8 20 5.7 30.5-1 4.6-4.2 8.6-8 11.3-.5.3-1.3.3-1.5-.4z"/>
+    <path d="M726.7 389.6a21.2 21.2 0 00-5.6-7c-2.4 0-3.9 3-5.5 4.6-1.1 2.1-2.5 5.6-5.3 2.9-4.5-2.6-5.2-8.3-5.2-13-.3-7.6 2.8-14.7 5.5-21.6 1.7-4.3 1.3-9.2.2-13.6-1.3-5-5.4-8.6-8.5-12.6.2-1.5 4.2-.7 5.7-.4 3.4.9 5.4 3.8 7.9 6 1.8-.6 1-4.2 1.9-5.9 0-2.4 3.2-5.5 4.5-2.1 2 2.2 0 6.5 2.5 7.8 2.4-.9 3.6-3.5 5.8-4.7a8 8 0 017.8-.5c.9 2.2-2.6 4-3.6 6a20.4 20.4 0 00-3.8 18c1.4 5 3.8 9.5 4.7 14.5a40.1 40.1 0 01-.5 17.2c-.9 3.4-3.8 5.6-6.8 7-.8-.7-1.2-1.7-1.7-2.6z"/>
+    <path d="M711.6 326.9c-3.4-2.5-4.5-4.8-4.5-9.5 0-2.3.5-3.6 2-5.8 2.4-3.2 2-4.2-1.3-3.3-5.3 1.5-7.8.2-8-4.3 0-2.2.4-3.1 3.3-6.7 2.4-2.8 3.3-4.3 2.8-4.8-.5-.4-3.3 2-9 7.8a124 124 0 01-11.4 10.6c-9.8 6.6-19.2 7.6-23.5 2.5-2.2-2.6-2.1-4 .4-5.6a27.4 27.4 0 004.4-3.7 86 86 0 0116.1-11.6c3.6-1.8 4.4-3 2.1-3-3 0-12.5 6.2-19.8 12.8-2.1 2-5.2 4.2-6.8 5a25.4 25.4 0 01-13.9 1c-2.2-.7-6.3-4.5-6.3-5.9 0-.3 1-1.1 2-1.8a30 30 0 004.6-3.2c5.8-5 16.8-10.3 25.5-12.2 2.8-.5 1.7-2-1.4-1.8a56 56 0 00-25 11.7c-8.3 6.9-20.8 6.2-24.8-1.3-.7-1.3-1.2-2.5-1-2.7a92.8 92.8 0 0020.4-7.8 51.5 51.5 0 0118.1-6.5c2.8-.5 3-1.9.3-2.2-3.6-.4-9 1.4-18.5 6-12.3 6.1-15.8 7.2-22.2 6.8-6-.4-9.3-1.9-14-6.4-3.2-3-7.6-10.5-6.8-11.4a63.5 63.5 0 0015.8 1.3c8.3 0 10.6-.2 15-1.5a84.3 84.3 0 0024-12.1 57.5 57.5 0 0136.8-13.6c12.4 0 20.2 2.8 27.2 9.9 2.4 2.4 4.4 3.9 4.7 3.6.3-.3.6-4.5.7-9.3 0 0 3.7-.4 4.5.7 0 7.7 0 8.4 1.2 8.4.7 0 1.5-.8 2-2 1-2.5 5-6 9.2-8.2 9-4.5 24.7-4.7 37.3-.3a62.4 62.4 0 0116.7 9.5 90.2 90.2 0 0024 12c6.8 2 19 2.5 25.1 1a61.9 61.9 0 015.4-1c2.3 0-1.6 7.6-6.2 12.1-8.4 8.2-19.3 8.1-34.6-.1-9.6-5.2-21-8-21-5.2 0 .6.6 1 1.5 1 3.3 0 9.7 2.2 18.7 6.5a53.7 53.7 0 0018.3 6.5c2.3 0 2.4 1.5.2 4.7-2.3 3.4-6.2 5-11.7 5-5.3 0-8.3-1.1-13-5-8-6.6-27.6-14-26.9-10 .2.7 1.1 1.2 3.2 1.5a56 56 0 0123.1 11l5.9 4.3c1.1.6 1.1.8.2 2.5-1.4 2.8-5.2 4.9-9.2 5.3-5.2.6-9.8-1-14.5-5-10-8.3-19.3-14.3-22.3-14.3-2.5 0-1.4 1.4 3 3.7a79.7 79.7 0 0115.8 11c2 1.9 4.3 3.7 5 4.1 1.9 1 1.8 2.4-.2 5s-5.4 3.8-9.7 3.3c-8.6-.9-15.4-5-26-16a70.7 70.7 0 00-8.2-7.8c-1.4 0-.5 1.9 2.2 5 3.4 3.7 4 5.8 2.7 9-1.1 2.6-3 3.3-6.8 2.2-4-1-4.6 0-2 3.1 3.8 4.9 3.3 10.7-1.5 14.8a12 12 0 01-3.4 2.3c-.4 0-1.4-1-2.3-2.4-3-4.6-5.7-4.6-8.7 0a53.6 53.6 0 01-2 3 113.1 113.1 0 01-3-2.2z"/>
+    <path d="M726.7 233l-5.2 4-4.6-3.4v27.8h9.8z"/>
+    <path d="M694.9 204.3a88.3 88.3 0 01-9 32.3l11.1-10.3 7.7 9.2 8.4-9.4 8.5 8 8.2-8.3 8.5 10 7.4-8.2 12.6 9c-4.6-10-10.7-18.6-10-32.8-12.1 9-41 10.6-53.4.4z"/>
+    <path d="M717 197.6c-4.5 0-9.2.1-13.4 1a20.1 20.1 0 00-7.8 3c.3 8.6 41 12.1 51.9.2a20 20 0 00-8.2-3.3c-4-.8-8.6-.8-12.9-1v7.1H717v-7z"/>
+    <path d="M724.9 154h-6.3v49.4h6.4z"/>
+    <path d="M724.9 155.2l-2.4 23.7 24.3 11.9-12.3-16.5 16.8-5.5zm-2.7-6.1c-3.7 0-6.4 1.4-6.4 3s2.7 3 6.4 3 6.4-1.4 6.4-3-2.7-3-6.4-3z"/>
+  </g>
+  <g fill="#f7e017">
+    <path d="M314 375.9c2.7-.9 4.2-2.5 5.3-5.6.5-1.6.9-3.2.8-3.6-.2-1-1.4-1-2.6.1-.9.7-1 1.1-.8 2.6.7 3.7-.7 4.7-7.7 5.4-.7 0-2.8 0-4.5-.3-3.4-.4-4.6 0-3.4 1a7 7 0 002.1.9c1.9.5 8.8.2 10.8-.5zm14.7-.6c.4-.4 1.7-1 3-1.5 1.7-.5 2.6-1 3.3-2.2 2.1-3 1.7-5.7-1.3-9.3-1.7-2-2.4-1.9-3.7.3-1.2 1.8-1.1 2 .5 2.4.9.2 1.7.8 2.1 1.6 1.8 3.1 1.3 5-1.4 5-2.4 0-3 .4-3.7 2l-.6 1.9c0 .6 1 .5 1.8-.2zm-4.8-3.5c.4-1.3.6-3.5.5-8a33 33 0 00-.3-6.4c-.4-.4-2.3.8-2.6 1.7a3 3 0 00.5 2.1c.6 1.2.7 2.4.5 7-.3 6 .1 7 1.4 3.6z"/>
+    <path d="M312.6 369l.7-5c.1-1.7.5-3.8.7-4.7.7-2.3 0-2.9-1.8-1.6l-1.3 1 .2 3.3c.3 3-.2 8.5-.9 10.7-.2.6.1.4.9-.5.6-.7 1.3-2.2 1.5-3.3zm-10 1.6c2.4-2 2.1-5.6 2.7-8.4 0-1.9 1.2-4.1.4-5.8-2.3.4-3.7 2.6-2.5 4.7 0 2.5 0 5.2-1.3 7.4-1 1.5-4.4 1.1-4.2-1 .8-3-2.9-1.5-4.3-.7-1.1.8-3.5.9-2.6-1-.6-2.7-3.9-1-5.7-1-1.7 0-.1-3.5-2.6-3-4.5-.3-9.5.1-13.5-2.6-2.3-1.1-2-3.9-.7-5.7 1.4-2.4 1.8-5.5 4-7.4 2.3-2.1-2-1.2-3-.5-2.2 1.2-.2 4.3-2 6-1 1.8-2.4 4.2-4.8 3.9-3.5-.7-5.5-4-8-6-2.2-.5-1 3.4.2 4.2a21.9 21.9 0 007.4 3.6c2.6-.5 2.7 3 5 3.5 4 2 8.6 2.5 13.1 2.8 1.8.1.8 3.3 3.1 2.6 1.3.4 4.3-.5 4.4 1-2 2.4 1.9 2.3 3.3 2 1.9-.4 4.2-1 4.7 1.4 1.5 1.7 4.3 1.4 6.2.5l.7-.5z"/>
+    <path d="M262.8 350.4a23.9 23.9 0 002.4-4.2 16 16 0 012-3.6c1.2-1.2.5-2-1.4-1.6-1 .2-1.4.6-1.5 1.5a23 23 0 01-2.5 7c-1.7 2.5-1.7 2.6-1 2.6.3 0 1.2-.8 2-1.7zm-25-15.7c-1.9 0-2 1.2-.2 1.8 1 .3 1.7 1 2.3 2.3 1.7 3.5 2.8 4.2 7.5 4.6l3 .2.2 1.9c0 1 .3 1.8.5 1.8l2.6-1c2.2-1.2 4.3-3.8 4.3-5.5 0-1-1.8-2.2-3.4-2.2-.7 0-2 .6-3.1 1.4-3.4 2.4-7 2-9-1.2-1.5-2.6-3.2-4-4.7-4zm16.3 6.5c.9 0 1 .7.6 2a.9.9 0 01-1.7 0c-.4-1 .1-2 1-2zm126.5-4c-1.3 0-1.6.2-2.4 1.4-1.3 1.9-1.4 6-.2 7.4.7.9.8.9 2.3.2 2.2-.9 2.6-.8 2.5.3 0 3-4.2 8.7-8.6 11.7a9.7 9.7 0 00-2.4 2c-.3.8 1.3.7 3.3-.4a21 21 0 007.9-8c1.1-2.3 1.3-3 1.5-7 0-3.8 0-5-.6-6.2-.8-1.4-1-1.5-2.8-1.5h-.5zm.1 2.5c1 0 1 .2 1.2 1.6 0 1-.1 1.7-.7 2.3-.8.7-1 .7-1.6-.4-1-1.6-.4-3.5 1.1-3.5zm-20.2 28.5c3.9-2 6.2-4.1 7.6-7.2a20 20 0 001.3-3.1c0-.6-1.9-1.5-3-1.5s-1.4-.8-1-3c.5-2.1 0-4.8-1-4.8-.3 0-1 .5-1.3 1.1-.6 1-.7 1.4-.2 2.7.7 2 .1 3.6-1.7 4.9-.9.6-1.3 1.3-1.3 2l.1 1 2.1-1 2-1.2 1.1 1c.7.4 1.2 1.2 1.2 1.7 0 2.4-6.8 6.4-11.4 6.8-2.5.2-3 0-3.8-.8-.7-.7-.9-1.3-.7-2l.5-2.6c.4-2.1-.4-1.8-2 .6-1.2 2-1.6 4.1-.9 5.2.6 1 4.4 1.8 7.2 1.6 1.7 0 3.4-.5 5.2-1.4zm26-14.5c2.4-2.5 3.5-5.5 3.5-10v-3.5l2-1c2.7-1.2 5.2-3.7 5.2-5.1 0-1.4-.7-1.4-1.8.2-.9 1.1-2 1.8-6 3.7-1 .4-1.1.7-1.4 5-.2 5-1 6.8-3.7 10.2-1.7 2-1.8 2.4-.6 2.4.5 0 1.8-.9 2.8-2zm-26.7-2.8c.2-.7-1.2-1.2-1.7-.6-.3.2-.4.6-.2.9.4.6 1.6.4 1.9-.3zm36.8-9.5c.3-.8-1.1-1.3-1.7-.7-.2.3-.3.7-.1 1 .4.6 1.6.4 1.8-.3zm-44.3-25.9c-1 .5-1.5 1.5-2.1 2.3-.5.3-.1.6.1 1 1.7 1.7 2.4 4.2 3.2 6.5.8 2.7 1.8 5.6 1 8.4-.3 1-1.2 2.1-2.4 1.8-2-.1-4-.7-6-.7-1.9.1-3.3 1.8-5.1 1.6-1.2 0-1.2-2.4-2.2-1.7-.6 1.3-.3 2.7-.4 4 .2.3.8.1 1.1.2h3.7c.2 1.2.2 2.7 1 3.7 1.3.4 2.8 0 4-.5 1.2-.6 1.4-2.1 1.8-3.3.4-1.3 2-1 3-1.5a5.7 5.7 0 004-5.7c-.2-3.9-1.6-7.4-2.8-11-.5-1.6-.9-3.3-1.5-4.9l-.4-.2zm-6 21.8c1.3 0 1.9 1.6 1.6 2.7-.5 1.5-2.4.6-2.7-.5-.7-1-.3-2.3 1-2.2z"/>
+    <path d="M296 324.8c-.6 0-1.3.2-2 .7-3.5 2.5-4.5 5.4-2 6.6 1.7.8 1.3 1.8-1.5 3.2-4 2-7.5 1.7-14.2-1-1.6-.7-2-.4-1.7 1 .4 1.5 1.8 2.3 5.1 3 3.6 1 8 .7 10.8-.5a14 14 0 004.3-3.4l2.2-2.3 2.5.3c3.1.4 3.2.4 3.2 1.9 0 1.2 0 1.2 2.9 1.5l4.7.2c1.3 0 2 .3 2.4.9.6.7.9.8 5.6.4 4.4-.4 5.2-.4 7.2.3 1.4.4 3 .6 4.1.5 3.4-.4 8-3.1 8.7-5.1 0-.3 1.3-.7 2.7-1 3.4-.7 3.5-1.4.4-1.8a22.9 22.9 0 01-4.6-1.1 12.2 12.2 0 00-3.5-.9c-1.7 0-3.3 1-3.3 2.2 0 .7.2.8 2.3.6 1.8-.2 2.4-.1 3.4.7.7.5 1.1 1.1 1 1.3-.5.8-4.5 2.6-6.2 2.9a4.7 4.7 0 01-3-.5c-1.6-.8-3.8-.9-4.3-.2-.2.3-.6.1-1.3-.5l-1-1-2.4 1c-2.4 1-3.3 1-3.3-.2 0-.5-.7-.6-4.2-.3-3.9.2-4.3.1-5-.7-.7-.7-.7-1-.2-1.7.4-.8.4-1 0-1.5-.4-.4-1-.4-2.5 0-3.9 1-5 .5-5-2.5 0-1.9-1-3-2.3-3zm-1 2.8c.2 0 .4.1.7.4.3.3.5 1 .3 1.3-.3.9-2 .9-2.3 0-.2-.5 0-1 .5-1.3l.8-.4z"/>
+    <path d="M288 330.4c2.4-1.5 2.4-1.4 2.7-5.5.2-3 .2-3.2-.6-3.2-1.2 0-1.8 1.3-1.8 3.7 0 1.6-.2 2.3-1 3-2 2-6.8 1.1-7.5-1.3-.2-.8.1-1.6 1.1-3 2.1-3 1.7-3.8-1-1.5-1.7 1.6-2 1.6-1.7.3.3-1.3-.3-1.8-1.8-1.4-.7.2-1.2.6-1.3 1.6-.2.8-.6 1.3-1.3 1.5-1.2.3-3.2-.8-3.2-1.8 0-.7 3-4.4 6.9-8.4 1.4-1.5 2.6-3 2.6-3.1 0-.2-.8-.4-1.7-.4-1.4 0-1.8.2-1.8.8 0 .4-1.9 3-4.3 5.7-5 5.6-5.4 6.7-3 8.2a6 6 0 006.6-.2l1.6-1.1v2c0 2.5.5 3.5 2.5 4.5a8 8 0 008-.4zm104.4-34.6c-1.8 1.1-.4 3.4 0 5-.8 2-3.5 2.6-5.5 3-2.8.5-4.8 2.8-5.8 5.3-.6 1.6-2 4-3.5 1.6-1.3-1.3-3.7-2.4-5.2-.8-1.2 1.1-1.5 2.7-2 4.2-.7-1.1-1-2.8-2.4-3.2-2.4.3-1.5 3.3-.4 4.5 1 1.5 2 3.3 1 5-1 2-4 3.4-5.7 1.7-1.6-.9-.5-4-2.2-4.2-.8.6-.8 3.9-2.1 2.1-1-1.5-.4-3.6-1.6-4.9-1.3.2-2.4 2.5-2 3.7 1.8 2.4 2.6 5.4 3.3 8.3.4 1.2-.1 3.5 1 4 .7-1.9 0-4 .6-5.9 1.8-.2 3.7.6 5.5.2 2.7-.3 4.7-2.6 5.6-4.9.3-1.8 0-3.6-.1-5.4 2 .4 4.2.4 6.2 1 1 1.5-.3 3.7-.6 5.3-1 3.4-3.7 5.8-6.2 8-1.1.7-1.2 2.4.3 1.5a15 15 0 007.5-8c1.1-2.6.2-5.5 1-8.1 1-2 3.5-1.6 5.4-1.6 1.9 0 3.5-2.3 2.9-4.2-.6-2.2 1.7-3.2 3.2-4 2.1-1 3.7-3.1 3.5-5.5 0-1.3 0-3.6-1.7-3.7zm-7.3 12.5c2.2.6-.4 4.8-1.6 2.1-.4-1 .5-2.1 1.6-2.1zm-10.3 3c2.9-.1 1.8 4-.6 2.2-1.3-.7-.9-2.2.6-2.2zM270 327.6c0-.4-.2-.7-.6-.7-.7 0-1.2.7-.9 1.3.4.7 1.3.3 1.5-.6zm34-3.6c0-.7-.3-.9-.8-.8-1.1.2-1.3 1.7-.1 1.7.6 0 .9-.3.9-1zm-42-20.4c-1.3-.3-2.2.9-2.7 2-1 1.7-2.2 3.4-4 4.3-1.3.4-2.7-.1-3.9-.8-1.3-.7-1-2.3-1.6-3.4-1-.8-2.7.3-2.6 1.5-.1 1.6 1.3 2.5 2.6 3.1 1 .7 2.6 1 3 2.3 0 1.1.4 2.4 1.7 2 1.5 0 2 1.8 1.3 2.9a6.3 6.3 0 00-.7 4c.7.7 1.4-1 2-1.4l1-1.4c2.7.1 5.3.5 8 .4 2 0 3.5-1.2 4.7-2.6 1.8-1.8 3.2-3.9 5.1-5.4 1.4-.4.7-3-.8-2.2-1.3.5-1.7 2-2.6 2.9a31 31 0 01-5 5.2c-1.5.6-3.1.3-4.6 0-.6-.5 1.2-1 1.5-1.6.8-.8 1.8-1.6 2.3-2.7-.5-1-1.9-1-2.9-1-2.4.2-4.3 2.3-6.8 2.5-1.9 0-.9-2 0-2.7 1.6-2 3.4-3.8 5.1-5.7.5-.6 2.3-1.2 1.2-2-.4-.2-.9-.2-1.3-.2zm1.2 10c1.3.7-.8 1.8-1.6 1.7-1.1.3-1.2-.8-.2-1 .6-.4 1.2-.7 1.8-.7zm-3.8 2.6c.7 0 2.2.7.8 1.1-1 .8-2-.8-.8-1.1z"/>
+    <path d="M289.4 317.8c0-1-1.6-.8-1.8.2-.2.6 0 .7.8.6.6 0 1-.4 1-.8zm74.7-6.6c.2-.9-1-1.5-1.7-.8-.7.6 0 1.9.8 1.7.4 0 .8-.5 1-.9zM248 302.1c1.1-1 1.2-1.1.7-3.3-.8-3.1-.7-3.5.5-3.8 1.5-.3 5.3 1.7 6 3.3.8 1.3.7 1.4-.4 2.4-1.2 1.1-1.2 2.4 0 2.4 1 0 3.7-2.6 3.7-3.5 0-1.3-3-4.4-5.4-5.5a10.7 10.7 0 00-4.6-1c-3.1 0-3.5.7-2.7 4.2 1 4.2-.3 4.8-3.7 1.6a10.4 10.4 0 01-3.5-8.6c0-4 1.6-6.1 5.1-6.6 2.4-.3 2.3-.9 0-1.2-3.6-.6-6.6 1.8-7.7 6-1.3 4.7 1.6 10.4 6.7 13.3 2.7 1.5 3.7 1.6 5.3.3zm139.2-5.2c.3-.2.5-.9.5-1.4s.5-1.6 1.1-2.4c.6-.8 1-1.6 1-1.8 0-.8-1.3-.8-2.3 0-1.1.9-2 1-2 0l1.2-.9c1.6-.7 1.7-1.5.4-2.1-1.7-.8-3.5.6-3.6 3-.1 1.6 0 1.8 1.2 2.5 1.1.7 1.3 1 1.1 2-.3 1.6.4 2.2 1.4 1.1zm13-1.4c1-1 1.8-1.9 1.8-2.2 0-.3.9-1.2 1.9-2 2.8-2 3.5-4 2.2-7.3-.5-1.3-2-3-5.5-6a26 26 0 00-5.4-4.4c-.9 0-.7 3.4.2 3.7 1.7.6 2.8 1.3 5.4 3.7 3.2 2.8 4.6 5.5 3.8 7-.7 1.4-1.7 1-4.5-2a13.8 13.8 0 00-3.2-2.9c-.3 0-.5.6-.5 1.4 0 1 .5 2 2 3.5 2.3 2.6 2.5 4.1.7 5.5a5 5 0 01-1.4 1 33.2 33.2 0 00-9-10c-.3 0-.5.4-.5 1.4 0 1.3.2 1.7 1.2 2.2a38 38 0 017 7l1.8 2a9 9 0 002-1.7zm6-16.8c-.5-1.2-8.4-9.4-9.3-9.4-.4 0-.5.5-.4 1.8 0 1.6.3 1.8 1.4 2.1a20 20 0 014.6 3.7 17 17 0 003.7 3v-1.2zm-47.8 92.6a1.2 1 0 11-2.3 0 1.2 1 0 112.3 0zm4.2-1.4a1.2 1 0 11-2.4 0 1.2 1 0 112.4 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bo.svg
new file mode 100644
index 0000000..c2dcbc8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bo.svg
@@ -0,0 +1,676 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bo" viewBox="0 0 640 480">
+  <path fill="#007934" d="M0 0h640v480H0z"/>
+  <path fill="#ffe000" d="M0 0h640v320H0z"/>
+  <path fill="#d52b1e" d="M0 0h640v160H0z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M368.6 210.7l-98 97.9a91.8 91.8 0 00-1.3-1l98-97.8a6.3 6.3 0 011.3 1z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M374.7 204.5c-.4.7-1.4 2.5-1 3.8l-2-1.5c.5 1 .4 1.4-.1 1.8-.3.4-1.4.3-2.1.2.7.4 1.5.8 2.4 1h2c-.7.3-2.2.8-3.3 1-.5.1-1.6.2-2 0-.6.5-1.9-.4-1.3-1-.3-.3-.3-.8-.4-1.4 0-.7.1-1.9.7-3l.5 1.7c.2.5.7 1 1.1 1.4-.2-.5-.4-1.2.1-1.8.5-.5 1.3-.5 2-.2l-1.9-1.3c.8 0 3.3-1 4.1-1.5a62.3 62.3 0 004.9-3.8 57 57 0 00-3.7 4.6z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M387 222.8l-125.7 70.9a85 85 0 00-.9-1.2l125.7-71a5.6 5.6 0 011 1.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M394.9 218.3c-.6.6-2.2 2-2.2 3.4l-1.4-2c.2 1-.1 1.5-.7 1.7-.4.4-1.4 0-2-.3a5.1 5.1 0 002 1.5l1.7.6c-.6.1-2.3.3-3.4.2-.5 0-1.5-.2-1.9-.6-.7.4-1.6-.8-1-1.2 0-.4 0-.8.2-1.4.2-.7.7-1.8 1.6-2.8a7.8 7.8 0 000 1.8c0 .5.3 1 .5 1.6 0-.5 0-1.3.7-1.7.7-.4 1.4-.2 2 .3l-1.4-1.7c.8.1 3.5-.2 4.4-.5 1-.2 4.1-1.6 6-2.5-1.7 1-4.6 3-5.1 3.6z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M376.3 217.5l-113 85.2-1-1.1 112.9-85.2a6 6 0 011.1 1z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M383.4 212.1c-.5.6-1.8 2.3-1.6 3.6L380 214c.3 1 .1 1.5-.4 1.7-.4.4-1.5.2-2.1 0 .6.5 1.3 1 2.2 1.2l1.9.3c-.7.3-2.3.6-3.4.6-.5 0-1.6 0-2-.3-.6.5-1.7-.6-1.1-1.1-.2-.3-.1-.8-.1-1.4a6 6 0 011.1-3 7.8 7.8 0 00.2 1.8c.2.6.5 1 .9 1.6-.2-.5-.2-1.3.4-1.8.6-.4 1.3-.3 2 0l-1.6-1.5c.7 0 3.3-.6 4.2-1 1-.4 3.8-2 5.5-3.1-1.4 1.2-4 3.5-4.4 4z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M271.4 210.7l98 97.9 1.3-1-98-97.8a6.3 6.3 0 00-1.3 1z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M265.3 204.5c.4.7 1.4 2.5 1 3.8l2-1.5c-.5 1-.4 1.4.1 1.8.3.4 1.4.3 2.1.2-.7.4-1.5.8-2.4 1h-2c.7.3 2.2.8 3.3 1 .5.1 1.6.2 2 0 .6.5 1.9-.4 1.3-1 .3-.3.3-.8.4-1.4 0-.7-.1-1.9-.7-3a8 8 0 01-.5 1.7c-.2.5-.7 1-1.1 1.4.2-.5.4-1.2-.1-1.8-.5-.5-1.3-.5-2-.2l1.9-1.3c-.8 0-3.3-1-4.1-1.5a62.3 62.3 0 01-4.9-3.8 57 57 0 013.7 4.6z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M253 222.8l125.7 70.9c.2-.3.6-1 .9-1.2l-125.7-71a5.6 5.6 0 00-1 1.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M245.1 218.3c.6.6 2.2 2 2.2 3.4l1.4-2c-.2 1 .1 1.5.7 1.7.4.4 1.4 0 2-.3a5.1 5.1 0 01-2 1.5l-1.8.6c.7.1 2.3.3 3.4.2.6 0 1.6-.2 2-.6.7.4 1.6-.8 1-1.2 0-.4 0-.8-.2-1.4a6.3 6.3 0 00-1.6-2.8v1.8c0 .5-.3 1-.5 1.6 0-.5 0-1.3-.7-1.7-.7-.4-1.4-.2-2 .3l1.4-1.7a17 17 0 01-4.4-.5 70.5 70.5 0 01-6-2.5c1.7 1 4.6 3 5.1 3.6z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M263.7 217.5l113 85.2 1-1.1-112.9-85.2a6 6 0 00-1.1 1z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.6 212.1c.5.6 1.8 2.3 1.6 3.6l1.7-1.7c-.3 1-.1 1.5.4 1.7.4.4 1.5.2 2.1 0a5.4 5.4 0 01-2.2 1.2l-1.9.3c.7.3 2.3.6 3.4.6.5 0 1.6 0 2-.3.6.5 1.7-.6 1.1-1.1.2-.3.1-.8.1-1.4a6 6 0 00-1.1-3 7.8 7.8 0 01-.2 1.8c-.2.6-.5 1-.9 1.6.2-.5.2-1.3-.4-1.8-.6-.4-1.3-.3-2 0l1.6-1.5a15 15 0 01-4.2-1c-1-.4-3.8-2-5.5-3.1 1.4 1.2 4 3.5 4.4 4z"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M300.1 283.4c4-2.6 15.1-4 16.7-3.6-8 6-16 6.3-16.7 3.7z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M300.2 283.5c.7 2.6 8.7 2.4 16.6-3.6a69 69 0 01-16.6 3.6z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M300.2 283.5c.7 2.6 8.7 2.4 16.6-3.6a69 69 0 01-16.6 3.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M300.1 283.4a40.6 40.6 0 0116.7-3.6c-8 6-16 6.3-16.7 3.6z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M347.6 220.2L322 272.5c-1.3 1-2.3-.3-2.7-.2-1.5 1.7-3.6 2-4 2.5-1.8 2.4-.8 4.3-.7 4.5 1.3 1.8-1.6 3.5-1.5 4-.6 1-2.7.9-3.1 2l-4.8 9.3c-.6.5-3.7 6.1-3.7 6.1-2 0-10.2-5.2-10.4-5.1 4.6-7.3 15.6-18.5 15.3-19.2 3.1-5.2 8-10.9 10.1-10.8 3-1.6 4.5-5.7 4-6.6 2.2 0 3.5-1.4 3.6-1.5l18.8-37.6c1.6-.5 1.4.1 1.9 1 0 0 1-1.2.9-1.3.9-.4 1.8.2 1.8.6z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M348.6 208.8c-.6 1 .2 1 .5 1.1l1 .3c1.3 0 2 .7 2 1l-30 61.3c-1.3 1-2.5-.3-2.9-.1l20.6-41.8 10-18.8-2.8-1.2c-.8-.2-1-.8-.7-1.6l12.6-21.6-10.2 21-.1.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M348.6 208.8c-.6 1 .2 1 .5 1.1l1 .3c1.3 0 2 .7 2 1l-30 61.3c-1.3 1-2.5-.3-2.9-.1l20.6-41.8 10-18.8-2.8-1.2c-.8-.2-1-.8-.7-1.6l12.6-21.6-10.2 21-.1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M308.8 272.4c-3 0-4.6 2-2.7 4.7m1.4-2.4c-1 .6-1.7-.3-1.7-.3m15.2-13c-1.5 5.6-4.3 9.3-5 10.4-2 2.2-3.9 7.2-3.5 8.1l-8.1 13.3"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M322 272.7c-1.4-.5-5.7-4.5-10-3.8-3.3 3.8-5.3 7.7-5.9 8.2 4 3.3 6.7 5 7.6 5.4.7-.4 1-1.5 1-1.5.9-1-.2-1.7-.2-1.7.2-2.5 2-4.2 3.8-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.8-1.9 1.8-1.9z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M322 272.7c-1.4-.5-5.7-4.5-10-3.8-3.3 3.8-5.3 7.7-5.9 8.2 4 3.3 6.7 5 7.6 5.4.7-.4 1-1.5 1-1.5.9-1-.2-1.7-.2-1.7.2-2.5 2-4.2 3.8-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.8-1.9 1.8-1.9z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M317.6 272.8c-2 0-4 .9-4.8 2.6l4.8-2.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M317.6 272.8c-2 0-4 .9-4.8 2.6m-3.5.7c.1.4.7.6 1.1.5.6-.2.8-.7.6-1-.2-.5-.7-.7-1.2-.5-.5.1-.7.6-.5 1zm2.5-3.4c.1.4.7.6 1.2.4.5-.1.7-.6.5-1-.2-.4-.7-.6-1.2-.5-.5.2-.7.7-.5 1z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M345.3 226.1c.8-.2 1.2-1.1.8-2l-4.7-1.7s-.6 0-1 .7c-.5.7.1 1.2.1 1.2l4.8 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M345.3 226.1c.8-.2 1.2-1.1.8-2l-4.7-1.7s-.6 0-1 .7c-.5.7.1 1.2.1 1.2l4.8 1.8"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M294.5 286c3.9-2.7 15-4.2 16.6-3.8-7.8 6.2-15.8 6.5-16.6 3.9z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M294.6 286c.7 2.7 8.7 2.3 16.5-3.8a62.4 62.4 0 01-16.5 3.9z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M294.6 286c.7 2.7 8.7 2.3 16.5-3.8a62.4 62.4 0 01-16.5 3.9z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M294.6 286a40 40 0 0116.6-3.9c-7.9 6.2-16 6.6-16.6 4z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M340.7 222l-24.4 52.8c-1.3 1-2.4-.3-2.7-.2-1.5 1.7-3.6 2.1-4 2.5-1.8 2.5-.7 4.4-.6 4.6 1.3 1.8-1.5 3.5-1.4 4-.6 1-2.7.9-3.1 2.1-.1-.1-4.2 8.4-4.6 9.3-.6.5-3.5 6.2-3.5 6.2-2.1 0-10.3-5-10.5-5 4.4-7.3 15.1-18.7 14.9-19.4 3-5.3 7.7-11 9.9-11 3-1.6 4.3-5.7 3.7-6.6 2.3-.1 3.5-1.5 3.7-1.6l18-37.8c1.6-.6 1.3 0 1.9 1 0 0 1-1.2.9-1.4.9-.4 1.7.2 1.8.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M340.7 222l-24.4 52.8c-1.3 1-2.4-.3-2.7-.2-1.5 1.7-3.6 2.1-4 2.5-1.8 2.5-.7 4.4-.6 4.6 1.3 1.8-1.5 3.5-1.4 4-.6 1-2.7.9-3.1 2.1-.1-.1-4.2 8.4-4.6 9.3-.6.5-3.5 6.2-3.5 6.2-2.1 0-10.3-5-10.5-5 4.4-7.3 15.1-18.7 14.9-19.4 3-5.3 7.7-11 9.9-11 3-1.6 4.3-5.7 3.7-6.6 2.3-.1 3.5-1.5 3.7-1.6l18-37.8c1.6-.6 1.3 0 1.9 1 0 0 1-1.2.9-1.4.9-.4 1.7.2 1.8.6z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M341.4 210.6c-.5 1 .3 1 .6 1.2l1 .3c1.3 0 2 .6 2 1l-28.7 61.7c-1.3 1-2.5-.3-2.9 0l19.7-42.2 9.6-19-2.8-1c-.8-.3-1-.8-.7-1.7l12-21.8-9.6 21.1-.2.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M341.4 210.6c-.5 1 .3 1 .6 1.2l1 .3c1.3 0 2 .6 2 1l-28.7 61.7c-1.3 1-2.5-.3-2.9 0l19.7-42.2 9.6-19-2.8-1c-.8-.3-1-.8-.7-1.7l12-21.8-9.6 21.1-.2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M303 275c-3-.2-4.6 2-2.6 4.6m1.3-2.4c-1 .6-1.7-.3-1.7-.3m15-13.3c-1.5 5.7-4.2 9.4-4.7 10.6-2.2 2.2-3.9 7.3-3.5 8.1l-7.8 13.4"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M316.1 275c-1.3-.5-5.8-4.5-10-3.7-3.3 3.9-5.1 7.8-5.7 8.3a50 50 0 007.7 5.3c.7-.4 1-1.5 1-1.5.8-1-.2-1.8-.2-1.8 0-2.4 1.8-4.2 3.6-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.7-2 1.7-2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M316.1 275c-1.3-.5-5.8-4.5-10-3.7-3.3 3.9-5.1 7.8-5.7 8.3a50 50 0 007.7 5.3c.7-.4 1-1.5 1-1.5.8-1-.2-1.8-.2-1.8 0-2.4 1.8-4.2 3.6-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.7-2 1.7-2z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M311.8 275.1c-2 0-4 1-4.7 2.7l4.7-2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M311.8 275.1c-2 0-4 1-4.7 2.7m-3.6.8c.2.4.7.6 1.2.4.5-.2.7-.6.5-1-.2-.5-.7-.6-1.2-.5-.5.2-.7.6-.5 1zm2.4-3.5c.2.4.8.6 1.3.5.5-.2.7-.7.5-1-.2-.5-.7-.7-1.2-.5-.5.1-.8.6-.6 1z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M338.5 228c.8-.2 1.1-1.1.7-2l-4.7-1.6s-.5 0-1 .7c-.4.7.2 1.2.2 1.2l4.8 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M338.5 228c.8-.2 1.1-1.1.7-2l-4.7-1.6s-.5 0-1 .7c-.4.7.2 1.2.2 1.2l4.8 1.8"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M340.6 283.3a39 39 0 00-16.8-3.7c8 6.1 16.1 6.3 16.8 3.7z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M340.6 283.3c-.7 2.7-8.8 2.4-16.8-3.6a63.4 63.4 0 0016.8 3.6z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M340.6 283.3c-.7 2.7-8.8 2.4-16.8-3.6a63.4 63.4 0 0016.8 3.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M340.6 283.3c-4.2-3-15.8-4-16.9-3.7 8 6 16.2 6.3 16.9 3.6z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M292.7 219.3l25.7 52.9c1.3 1 2.4-.3 2.7-.2 1.6 1.7 3.7 2.1 4.2 2.5 1.8 2.4.8 4.4.7 4.6-1.4 1.8 1.5 3.5 1.4 4.1.6 1 2.7.8 3.2 2l4.8 9.3c.7.5 3.7 6.2 3.7 6.2 2.1 0 10.3-5.3 10.5-5.2-4.6-7.3-15.7-18.7-15.4-19.4-3.1-5.2-8.1-11-10.2-10.9-3-1.6-4.5-5.7-4-6.6-2.3 0-3.6-1.5-3.7-1.6l-19-37.9c-1.6-.5-1.3.1-1.9 1 0 0-1-1.2-.9-1.3-.9-.5-1.8.2-1.8.5z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M291.7 207.8c.5 1-.2 1-.5 1.2l-1.1.3c-1.2 0-1.9.7-1.9 1l30.2 61.9c1.3 1 2.5-.3 3-.1l-20.8-42.3-10-19 2.7-1.1c.8-.2 1-.8.7-1.6l-12.7-21.9 10.2 21.2.2.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M291.7 207.8c.5 1-.2 1-.5 1.2l-1.1.3c-1.2 0-1.9.7-1.9 1l30.2 61.9c1.3 1 2.5-.3 3-.1l-20.8-42.3-10-19 2.7-1.1c.8-.2 1-.8.7-1.6l-12.7-21.9 10.2 21.2.2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M331.9 272.1c3 0 4.6 2.1 2.7 4.7m-1.4-2.3c1 .6 1.7-.4 1.7-.4M319.5 261c1.6 5.7 4.4 9.5 5 10.6 2.2 2.2 4 7.3 3.7 8.2l8.1 13.4"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M318.6 272.4c1.3-.4 5.7-4.6 10-3.8 3.4 3.8 5.4 7.7 6 8.2-4 3.4-6.7 5-7.7 5.5-.7-.4-1-1.5-1-1.5-.9-1 .2-1.8.2-1.8-.1-2.4-2-4.2-3.8-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-1.9-1.7-1.9z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M318.6 272.4c1.3-.4 5.7-4.6 10-3.8 3.4 3.8 5.4 7.7 6 8.2-4 3.4-6.7 5-7.7 5.5-.7-.4-1-1.5-1-1.5-.9-1 .2-1.8.2-1.8-.1-2.4-2-4.2-3.8-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-1.9-1.7-1.9z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M323 272.5c2 0 4 1 4.8 2.7l-4.8-2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M323 272.5c2 0 4 1 4.8 2.7m3.6.6a1 1 0 01-1.2.5.7.7 0 01-.5-1c.1-.5.7-.6 1.2-.5.5.2.7.6.5 1zm-2.5-3.4c-.2.4-.8.6-1.3.5-.4-.2-.7-.7-.5-1 .2-.5.7-.7 1.2-.5.5.1.8.6.6 1z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M295 225.4a1.4 1.4 0 01-.8-2l4.8-1.8s.5.1 1 .7c.5.7-.2 1.2-.2 1.2l-4.8 1.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M295 225.4a1.4 1.4 0 01-.8-2l4.8-1.8s.5.1 1 .7c.5.7-.2 1.2-.2 1.2l-4.8 1.9"/>
+  <path fill="#00e519" stroke="#000" stroke-width=".1" d="M345.6 286a38 38 0 00-16.6-3.8c7.9 6.2 15.9 6.5 16.6 3.9z"/>
+  <path fill="#ffe533" stroke="#000" stroke-width=".1" d="M345.6 286c-.8 2.7-8.7 2.3-16.5-3.8a62.4 62.4 0 0016.5 3.9z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M345.6 286c-.8 2.7-8.7 2.3-16.5-3.8a62.4 62.4 0 0016.5 3.9z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M345.6 286a40.1 40.1 0 00-16.6-3.9c7.8 6.2 15.9 6.6 16.6 4z"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M299.5 222l24.4 52.8c1.3 1 2.3-.3 2.7-.2 1.5 1.7 3.6 2.1 4 2.5 1.7 2.5.7 4.4.6 4.6-1.4 1.7 1.5 3.5 1.4 4 .5 1 2.6.9 3 2.1.2-.1 4.2 8.4 4.7 9.3.6.5 3.5 6.2 3.5 6.2 2 0 10.3-5 10.5-5-4.4-7.4-15.2-18.7-15-19.4-2.9-5.3-7.7-11-9.8-11-3-1.6-4.3-5.7-3.7-6.6-2.3-.1-3.6-1.5-3.7-1.6L304 222c-1.6-.6-1.4 0-2 1 0 0-.9-1.2-.8-1.4-.9-.4-1.8.2-1.8.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M299.5 222l24.4 52.8c1.3 1 2.3-.3 2.7-.2 1.5 1.7 3.6 2.1 4 2.5 1.7 2.5.7 4.4.6 4.6-1.4 1.7 1.5 3.5 1.4 4 .5 1 2.6.9 3 2.1.2-.1 4.2 8.4 4.7 9.3.6.5 3.5 6.2 3.5 6.2 2 0 10.3-5 10.5-5-4.4-7.4-15.2-18.7-15-19.4-2.9-5.3-7.7-11-9.8-11-3-1.6-4.3-5.7-3.7-6.6-2.3-.1-3.6-1.5-3.7-1.6L304 222c-1.6-.6-1.4 0-2 1 0 0-.9-1.2-.8-1.4-.9-.4-1.8.2-1.8.6z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M298.8 210.6c.4 1-.3 1-.6 1.2l-1 .3c-1.3 0-2 .6-2 1l28.7 61.7c1.3 1 2.5-.3 2.9 0L307 232.5l-9.6-19 2.7-1c.9-.3 1.2-.8.8-1.7L288.8 189l9.7 21.1.2.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M298.8 210.6c.4 1-.3 1-.6 1.2l-1 .3c-1.3 0-2 .6-2 1l28.7 61.7c1.3 1 2.5-.3 2.9 0L307 232.5l-9.6-19 2.7-1c.9-.3 1.2-.8.8-1.7L288.8 189l9.7 21.1.2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M337.2 275c3-.2 4.5 2 2.6 4.6m-1.4-2.4c1 .6 1.8-.3 1.8-.3m-15-13.3c1.4 5.7 4.2 9.4 4.7 10.6 2.1 2.2 3.8 7.3 3.5 8.1l7.8 13.4"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M324 275c1.4-.5 5.8-4.5 10.1-3.7 3.2 3.9 5.1 7.8 5.7 8.3a54.1 54.1 0 01-7.8 5.3c-.6-.4-1-1.5-1-1.5-.7-1 .3-1.8.3-1.8 0-2.4-1.8-4.2-3.6-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-2-1.7-2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M324 275c1.4-.5 5.8-4.5 10.1-3.7 3.2 3.9 5.1 7.8 5.7 8.3a54.1 54.1 0 01-7.8 5.3c-.6-.4-1-1.5-1-1.5-.7-1 .3-1.8.3-1.8 0-2.4-1.8-4.2-3.6-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-2-1.7-2z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M328.4 275.1c2 0 4 1 4.7 2.7l-4.7-2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M328.4 275.1c2 0 4 1 4.7 2.7m3.6.8a1 1 0 01-1.2.4c-.5-.2-.8-.6-.6-1 .2-.5.8-.6 1.3-.5.4.2.7.6.5 1zm-2.5-3.5c-.2.4-.7.6-1.2.5-.5-.2-.7-.7-.5-1 .2-.5.7-.7 1.2-.5.5.1.7.6.5 1z"/>
+  <path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M301.6 228c-.8-.2-1-1.1-.7-2l4.7-1.6s.6 0 1 .7c.5.7-.2 1.2-.2 1.2l-4.8 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M301.6 228c-.8-.2-1-1.1-.7-2l4.7-1.6s.6 0 1 .7c.5.7-.2 1.2-.2 1.2l-4.8 1.8"/>
+  <path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M315.3 250.7l35.5-38a97.4 97.4 0 01-1.4-.9l-35.6 38a7.5 7.5 0 001.5.9z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M349.8 212.2c-1.2-1-3.4-2.2-5-1.8-.5-2.2 2.5-4.4 3.8-4-.3 2.3 3.2 3.8 3.1 3.8l-1.9 2z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M352.1 210.4c1 .8 1.4.8 2.8 1.6 1.4.7 3.2-1.1 4.1-1.7 0 0 1 3.4-1.1 5.6-2 2.3-4.6 2.8-6.5 2.1 0 0 2.6-2.5 1.5-3.6-1-1.1-1.4-1.2-2.5-1.9"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M-27.7-406.5h4.1v2.2h-4.1z" transform="matrix(-.67726 .73575 -.82314 -.56784 0 0)"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M308.2 290.3l-1 9 1.8-2.2c.3-.6 1.5-2.1 1.8-7.4 0 0-1-2.9-1.4-2.9-.7-.4-1.2 3.5-1.2 3.5zm2.2-20.1l-2.7 15.8c0 .5 1.3 1.6 2.1-1.2l1.5-10.5-1-4.1z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M315.9 284.6a8.7 8.7 0 01-1.4-2l-.4 3.1s2 1.5 1.7 4.3l.4-.6.2-1s.5-2 .5-3.1c0 0-.5-.2-1-.7z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M307.3 299.4s3.3-3 3.5-9.7l.4-1.9s0 1.5.8.4c.6-1.5.6-2.8.6-2.8s1.2-1.6 1.6.3l-1.2 9.6a51.4 51.4 0 01-.3 2s-.7-1-1.4.1c-.7 1.2-1.8 2.7-4 2zm4-25.1l-1.5 10.5s1.2.6 1.4 3c.1 1.2.6.6.8.4.2-.8 0-2.3 0-2.3l.6-7.3s-1.2-3.4-1.3-4.3z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M310.1 298.8l-.2 2.6s1 0 1.7-1.2c.8-1.1 1-2.8 1-2.8s-.7-1.1-1.3 0c-.5 1-1.2 1.4-1.2 1.4zm1.8-10.6c.6-1 .8-2.6.7-2.8l-.7.5c.2 1.2 0 2.3 0 2.3z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M315.3 287.1a4.4 4.4 0 00-1.3-1.5l-1.5 12s-.4 3-2.3 3.7c0 0 1.1 10.3 4.5 7.5.4-.4 1-3.6.9-5.5l-.9-6a26.8 26.8 0 01.5-4.7l.6-2.6c.2-.2 0-1.8-.5-2.9z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M316.9 285.3l1 1c.3 0-2.3 19.3-2.3 19.3s0-2-.7-6c-.6-3.2.2-7.5.9-9.6 0 0 .8-.5 1-4.7z"/>
+  <path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M312.6 278.8l-.7 7.1s1.8-2.4 2.2-.2l.4-3.2s-1.5-2.4-2-3.7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.3 287.8s-.6-6.1-3.6-1.8a10 10 0 000 3c0 .8.9 1.8 1.2 2.3.7 1 1.3-.2 1.3-.2s.7-1 1-3.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M287.8 237c-.1-3.5-1.2-9.3-1.3-13.3l-12-12.2s-1.4 9.9-5.8 15.5l19 10"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M288.7 237.3c.5-2.4 1-5 1.5-10.2l-7.7-7.6c0 3.2-3.6 8.1-3.9 14"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M295.3 244.7c1-4.3-1.3-4.8 2-10.8l-7.2-6.8c-1.3 4-2.2 6.6-2 10l6 4.4"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M267.6 270c-1.5-4.2.5-12.7.2-18-.1-3.5 2.5-16.7 2.4-20.6l-14.1-8.8s-.6 14.3-2.3 29.9c-1.4 8-1.4 15.3-.4 21.5 1.5 8.7 3 12.2 6.5 15.9 6.3 6.5 19.7 2.7 19.7 2.7 11.3-2.3 17.8-9.4 17.8-9.4s-3.7.8-9.6 1.4c-13-.9-18.2 2.4-18.6-11"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M305.4 278.8l.2-.1-5.9 1.9-8 .6c-17.2.4-15-10.3-14.3-27.5.1-6.6 1.4-14.8 1-17.7l-11.5-6.6c-3.8 10.6-2.6 18-3.3 23.5-.4 6-1.7 17.4.2 22.4 2.7 11.6 11.8 11.2 24.2 10.1 6.1-.5 9.4-2 9.4-2l8-4.6"/>
+  <path fill="#007a3d" stroke="#000" stroke-width=".1" d="M305.6 278.5a34.4 34.4 0 01-6 2.2l-8 .8c-12.5 1-19.8-7.7-18.2-27.6 0-7 .2-10.2 2.6-19.5l7 4v.7c-.5 2-1.5 7-1.5 9.2 0 16 10.1 28.2 23.9 30.3h.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M260 230.6c1 2 8 12.5 12 14.5m-11-7.6c1.3 2 9.8 14 13.6 14.6m-15.5 3.6c2 2.4 4 7 9.7 10m-7 3.3c4 3.7 13.6 11.6 23 12m-23-6c2 2.3 6.2 13.3 24 8.3m-26.7-6.3c1.2 2.6 10.1 17.3 26 11.6"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M277.8 264.8c-1.5-4.3.5-12.7.2-18.1-.1-3.5 1.5-15.5 1.5-19.5l-13.2-9.9s-.6 14.3-2.3 30a84 84 0 00-1.5 23.9c1.8 10 6.6 12.8 7.5 13.6 6.7 6 22 5.4 23.5 4.9 10.8-4 15.6-10.8 15.6-10.8s-5.2-.1-11.1.5c-13-1-19.7-.4-20.1-13.8"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M315.6 273.5h.2l-5.9 1.8-8 .6c-17.2.5-15-10.2-14.3-27.5.1-6.5.3-12.4 0-15.3l-10.3-7.6c-3.8 10.7-2.8 16.7-3.5 22.2-.4 5.8-1.7 17.3.2 22.3 2.7 11.7 11.8 11.2 24.2 10.2 6.1-.5 9.4-2.1 9.4-2.1l8-4.6"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M315.9 273.4c-2.4 1.2-6 2.1-6 2.1l-8 .8c-12.5 1-19.8-7.7-18.2-27.6 0-7-.3-7.5 2.2-16.9 3.8 2.5 11.1 8.8 11.1 8.8s-2 2.8-1.5 6.7c0 16 6.4 24 20.2 26.1l1.5-13"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M270.1 225.3c1.2 2 8.1 12.6 12 14.6m-10.8-7.7c1.2 2 9.7 14 13.5 14.7m-15.5 3.6c2 2.3 4 7 9.7 10m-7 3.3c4 3.6 13.6 11.6 23 12m-23-6c2 2.3 6.2 13.2 24 8.3m-26.7-6.4c1.2 2.7 10.1 17.3 26 11.7"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M256.2 224l-.7 6c-.2 4.4-.1 7.7.1 9.8 0 .2.9 5.5.6 5.8-1 1.1-1.1 1.2-2.2.4-.1-.2.5-5.6.5-6.3l.4-9.9c0-1 1-6.4 1-6.4s0-1.2.3.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M256.2 224l-.7 6c-.2 4.4-.1 7.7.1 9.8l.7 5.8c-1 1.1-1.2 1.6-2.3.7-.1-.2.5-5.9.5-6.6l.4-9.9c0-1 1-6.4 1-6.4s0-1.2.3.5z"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M256 222.2s-1 6-1.2 9.6l-.3 7.9-.5 4.5c-.1.7.1.2 0 .2-.9.5-1.5.1-2-.3-.2-.1 1.4-3.8 1.4-4.5.9-10.8 2.4-17 2.4-17s-.6 3.7.3-.4"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M256 222.2s-1 6-1.2 9.6l-.3 7.9-.5 4.5c-.1.7.1.2 0 .2-.9.5-1.5.1-2-.3-.1-.1 1.4-3.8 1.5-4.5.8-10.8 2.3-17.1 2.3-17.1s-.6 3.8.3-.3zm-.4 17.3s-1 .4-1 .2m0-1.3s.7 0 .8-.2m0-1s-.6.3-.8 0m.8-1.6h-.6m.6-1.5h-.6m.5-2.1s-.3.1-.4-.1m.5-1.7h-.5m-.5 9.5s-.9.2-1-.1m1.1-2s-.9.1-1-.1m1-1.3h-.7m.9-1.5h-.7m.7-1.7h-.5m.7-1.5h-.6m.6-1.7s-.4.3-.4 0m0 9s-.9 0-.9-.3m12.8-19.8l-.7 6a63.4 63.4 0 000 9.8c0 .3 1 5.5.7 5.8-1 1.2-1.1 1.3-2.2.4-.1-.1.5-5.5.5-6.3l.4-9.8c0-1.1 1-6.5 1-6.5s0-1.1.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M266.4 218.7l-.7 6a73 73 0 00.1 9.8l.7 5.8c-1 1.2-1.2 1.6-2.3.7-.1-.1.5-5.8.5-6.6l.4-9.8c0-1.1 1-6.5 1-6.5s0-1.1.3.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M266.3 217s-1.2 6-1.3 9.5l-.3 8-.5 4.4v.3c-.9.5-1.5 0-2-.4-.2 0 1.4-3.7 1.4-4.5a127 127 0 012.4-17l.3-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M266.3 217s-1.2 6-1.3 9.5l-.3 8-.5 4.4v.3c-.9.5-1.5 0-2-.4-.2 0 1.4-3.7 1.4-4.5.9-10.8 2.4-17 2.4-17l.3-.4zm-.5 17.2s-1 .5-1 .2m0-1.2s.7 0 .8-.3m0-1s-.6.4-.8.1m.7-1.7h-.5m.6-1.5h-.6m.5-2s-.4 0-.4-.2m.5-1.7h-.5m-.5 9.6s-.9.1-1-.2m1.1-1.9s-.9 0-1-.2m1-1.3h-.7m.9-1.4h-.7m.7-1.7l-.5-.1m.7-1.4l-.6-.1m.6-1.6s-.4.2-.4 0m0 9s-.9 0-.9-.4"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M274.3 211.3s.5 5.1.2 8c-.3 3.5-.3 4.5-.6 6.6v3.9c.8.5 1.5.2 2 0 .3-.1-1-3.3-1-4 .5-8.9-.4-14.3-.4-14.3l-.2-.2"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M274.3 211.3s.5 5.1.2 8c-.3 3.5-.3 4.5-.6 6.6v3.8c0 .5-.1 0 0 .1.8.5 1.4.2 2 0 .2-.1-1-3.3-1-4 .5-9-.4-14.3-.4-14.3l-.2-.2zm-.3 14.6s.9.2 1 0m-.8-1.7s.9.2 1 0m-1-1.2h.9m-.8-1.2h.7m-.5-1.4h.5m-.5-1.3h.5m-.4-1.4s.4.2.4 0m-1 7.4s1 .1 1-.1"/>
+  <path fill="#005000" stroke="#000" stroke-width=".1" d="M306 221.7h.8-.8z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M316.7 256.4s-.3-.2-.4 0l.1.2.3-.2zm-1 1.1l2.1-.1"/>
+  <path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M292.2 284.2c-.2 3-7.4 6.6-12.7.1-5.7-4.5-4.5-11.4 0-12.3l54.7-53.3c2.2-1.2 2.4-2.3 3.5-3.5 2.3 2.5 7 6.8 9.6 9-1.6 1.2-2.9 2.5-3.2 3.5l-52 56.5z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M337.8 215c2.6-3.5 12.8 5.8 10 8.7-2.6 2.8-12.4-5-10-8.6z"/>
+  <path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M347 223c-2 1.4-9.3-4.8-8.1-7.2 2-2.2 10.1 5.7 8 7.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M344 227.9a15.8 15.8 0 01-9.9-9m-23 44.8a16.3 16.3 0 01-11.4-11.6m9.1 14.3a16.3 16.3 0 01-11.4-11.6m-2.1 25.8c-5.8-1.8-10.4-6-12.2-12.1m9.8 14.8a18 18 0 01-12.3-12.2"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M279.4 285c-.3 1.4-1 1.8-2.1 1.4m13.7-2c-2.1 3.5-4.5 2.4-6.5 2.5"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M276.4 285.2c0 1 .8 1.6 1.7 1.6a1.7 1.7 0 001.7-1.6c0-1-.7-1.6-1.7-1.6s-1.7 1-1.7 1.9"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M279.5 284.9c-.3 1.3-1 1.7-2 1.3m13.5-1.7c-2.1 3.4-4.5 2.3-6.5 2.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M331.8 290.3l1 9-1.8-2.2c-.3-.6-1.5-2.1-1.8-7.4 0 0 1-2.9 1.4-2.9.7-.4 1.2 3.5 1.2 3.5zm-2.2-20.1l2.7 15.8c0 .5-1.3 1.6-2.1-1.2l-1.5-10.5 1-4.1z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M324.1 284.6l1.4-2 .4 3.1s-2 1.5-1.7 4.3l-.4-.6-.2-1s-.5-2-.5-3.1c0 0 .5-.2 1-.7z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.8 299.4s-3.4-3-3.6-9.7l-.4-1.9s0 1.5-.8.4c-.6-1.5-.6-2.8-.6-2.8s-1.2-1.6-1.6.3l1.2 9.6.3 2s.7-1 1.4.1c.7 1.2 1.8 2.7 4 2zm-4.1-25.1l1.5 10.5s-1.2.6-1.4 3c-.1 1.2-.6.6-.8.4-.2-.8 0-2.3 0-2.3l-.6-7.3s1.2-3.4 1.3-4.3z"/>
+  <path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M329.9 298.8l.2 2.6s-1 0-1.7-1.2c-.8-1.1-1-2.8-1-2.8s.7-1.1 1.3 0c.5 1 1.2 1.4 1.2 1.4zm-1.8-10.6a6 6 0 01-.7-2.8l.7.5c-.2 1.2 0 2.3 0 2.3z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M324.8 287.1a4.4 4.4 0 011.2-1.5l1.5 12s.4 3 2.3 3.7c0 0-1.1 10.3-4.5 7.5-.4-.4-1-3.6-.9-5.5l.9-6a26.8 26.8 0 00-.5-4.7 31 31 0 00-.6-2.6c-.2-.2 0-1.8.5-2.9z"/>
+  <path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M323.1 285.3l-1 1c-.3 0 2.3 19.3 2.3 19.3s0-2 .7-6c.6-3.2-.2-7.5-.9-9.6 0 0-.8-.5-1-4.7z"/>
+  <path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M327.4 278.8l.7 7.1s-1.8-2.4-2.2-.2l-.4-3.2s1.5-2.4 2-3.7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M328.7 287.8s.6-6.1 3.6-1.8c0 0 .2 2.4 0 3 0 .8-.9 1.8-1.2 2.3-.7 1-1.3-.2-1.3-.2s-.7-1-1-3.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M352.2 237c.1-3.5 1.2-9.3 1.3-13.3l12-12.2s1.4 9.9 5.8 15.5l-19 10"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M351.3 237.3c-.5-2.4-1-5-1.5-10.2l7.7-7.6c0 3.2 3.6 8.1 3.9 14"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M344.7 244.7c-1-4.3 1.3-4.8-2-10.8l7.2-6.8c1.3 4 2.2 6.6 2 10l-6 4.4"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M372.4 270c1.5-4.2-.5-12.7-.2-18 .1-3.5-2.5-16.7-2.4-20.6l14.1-8.8s.6 14.3 2.3 29.9c1.4 8 1.4 15.3.4 21.5-1.5 8.7-3 12.2-6.5 15.9-6.3 6.5-19.7 2.7-19.7 2.7-11.3-2.3-17.8-9.4-17.8-9.4s3.7.8 9.6 1.4c13-.9 18.2 2.4 18.6-11"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M334.6 278.8l-.2-.1 5.9 1.9 8 .6c17.2.4 15-10.3 14.3-27.5-.1-6.6-1.4-14.8-1-17.7l11.5-6.6c3.8 10.6 2.6 18 3.3 23.5.4 6 1.7 17.4-.2 22.4-2.7 11.6-11.8 11.2-24.2 10.1-6.1-.5-9.4-2-9.4-2l-8-4.6"/>
+  <path fill="#007a3d" stroke="#000" stroke-width=".1" d="M334.4 278.5a34.4 34.4 0 006 2.2l8 .8c12.5 1 19.8-7.7 18.2-27.6 0-7-.2-10.2-2.6-19.5l-7 4v.7c.5 2 1.5 7 1.5 9.2 0 16-10.1 28.2-23.9 30.3h-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M380 230.6c-1 2-8 12.5-12 14.5m11-7.6c-1.3 2-9.8 14-13.6 14.6m15.5 3.6c-2 2.4-4 7-9.7 10m7 3.3c-4 3.7-13.6 11.6-23 12m23-6c-2 2.3-6.2 13.3-24 8.3m26.7-6.3c-1.2 2.6-10.1 17.3-26 11.6"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M362.3 264.8c1.4-4.3-.6-12.7-.4-18.1.2-3.5-1.4-15.5-1.4-19.5l13.2-9.9s.6 14.3 2.3 30a84 84 0 011.5 23.9c-1.8 10-6.6 12.8-7.5 13.6-6.7 6-22 5.4-23.5 4.9-10.8-4-15.6-10.8-15.6-10.8s5.2-.1 11.1.5c13-1 19.7-.4 20.1-13.8"/>
+  <path fill="#ffe000" stroke="#000" stroke-width=".1" d="M324.4 273.5h-.2l5.9 1.8 8 .6c17.2.5 15-10.2 14.3-27.5-.1-6.5-.3-12.4 0-15.3l10.3-7.6c3.8 10.7 2.8 16.7 3.5 22.2.4 5.8 1.7 17.3-.2 22.3-2.7 11.7-11.8 11.2-24.2 10.2-6.1-.5-9.4-2.1-9.4-2.1l-8-4.6"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M324.1 273.4a34.4 34.4 0 006 2.1l8 .8c12.5 1 19.8-7.7 18.2-27.6 0-7 .3-7.5-2.2-16.9-3.8 2.5-11.1 8.8-11.1 8.8s2 2.8 1.5 6.7c0 16-6.4 24-20.2 26.1l-1.5-13"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M369.9 225.3c-1.2 2-8.1 12.6-12 14.6m10.8-7.7c-1.2 2-9.7 14-13.5 14.7m15.5 3.6c-2 2.3-4 7-9.7 10m7 3.3c-4 3.6-13.6 11.6-23 12m23-6c-2 2.3-6.2 13.2-24 8.3m26.7-6.4c-1.2 2.7-10.1 17.3-26 11.7"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M383.8 224l.7 6c.2 4.4.1 7.7-.1 9.8 0 .2-.8 5.5-.6 5.8 1 1.1 1.1 1.2 2.2.4.1-.2-.5-5.6-.5-6.3l-.4-9.9c0-1-1-6.4-1-6.4s0-1.2-.3.5"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M383.8 224l.7 6c.2 4.4.1 7.7-.1 9.8l-.7 5.8c1 1.1 1.2 1.6 2.3.7.1-.2-.5-5.9-.5-6.6l-.4-9.9c0-1-1-6.4-1-6.4s0-1.2-.3.5z"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M384 222.2s1 6 1.2 9.6l.3 7.9.5 4.5c.1.7 0 .2 0 .2.9.5 1.5.1 2-.3.2-.1-1.4-3.8-1.4-4.5-.9-10.8-2.4-17-2.4-17s.6 3.7-.3-.4"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M384 222.2s1 6 1.2 9.6l.3 7.9.5 4.5c.1.7-.1.2 0 .2.9.5 1.5.1 2-.3.2-.1-1.4-3.8-1.4-4.5-.9-10.8-2.4-17.1-2.4-17.1s.6 3.8-.3-.3zm.4 17.3s1 .4 1 .2m0-1.3s-.7 0-.8-.2m0-1s.6.3.8 0m-.7-1.6h.5m-.6-1.5h.6m-.5-2.1s.4.1.4-.1m-.5-1.7h.5m.5 9.5s.9.2 1-.1m-1.1-2s.9.1 1-.1m-1-1.3h.7m-.9-1.5h.7m-.7-1.7h.5m-.7-1.5h.6m-.6-1.7s.4.3.4 0m0 9s.9 0 .9-.3"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M373.6 218.7l.7 6a73 73 0 01-.1 9.8c0 .3-.8 5.5-.6 5.8 1 1.2 1.1 1.3 2.2.4.1-.1-.5-5.5-.5-6.3l-.4-9.8c0-1.1-1-6.5-1-6.5s0-1.1-.3.6"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M373.6 218.7l.7 6a73 73 0 01-.1 9.8l-.7 5.8c1 1.2 1.2 1.6 2.3.7.1-.1-.5-5.8-.5-6.6l-.4-9.8c0-1.1-1-6.5-1-6.5s0-1.1-.3.6z"/>
+  <path fill="#f7e214" stroke="#000" stroke-width=".1" d="M373.7 217s1.2 6 1.3 9.5l.3 8 .5 4.4v.3c.9.5 1.5 0 2-.4.2 0-1.4-3.7-1.4-4.5a127 127 0 00-2.4-17l-.3-.4"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M373.7 217s1.2 6 1.3 9.5l.3 8 .5 4.4v.3c.9.5 1.5 0 2-.4.2 0-1.4-3.7-1.4-4.5-.9-10.8-2.4-17-2.4-17l-.3-.4zm.5 17.2s1 .5 1 .2m0-1.2s-.7 0-.8-.3m0-1s.6.4.8.1m-.7-1.7h.5m-.6-1.5h.6m-.5-2s.4 0 .4-.2m-.5-1.7h.5m.5 9.6s.9.1 1-.2m-1.1-1.9s.9 0 1-.2m-1-1.3h.7m-.9-1.4h.7m-.7-1.7l.5-.1m-.7-1.4l.6-.1m-.6-1.6s.4.2.4 0m0 9s.9 0 .9-.4m-10.5-22s-.5 5.2-.2 8.1c.3 3.5.3 4.5.6 6.6v3.9c-.8.5-1.4.2-2 0-.2-.1 1-3.3 1-4-.5-8.9.4-14.3.4-14.3l.2-.2"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M365.7 211.3s-.5 5.1-.2 8c.3 3.5.3 4.5.6 6.6v3.8c0 .5.1 0 0 .1-.8.5-1.4.2-2 0-.2-.1 1-3.3 1-4-.5-9 .4-14.3.4-14.3l.2-.2zm.3 14.6s-.9.2-1 0m.8-1.7s-.9.2-1 0m1-1.2h-.9m.8-1.2h-.7m.5-1.4h-.5m.5-1.3h-.5m.4-1.4s-.4.2-.4 0m1 7.4s-1 .1-1-.1"/>
+  <path fill="#005000" stroke="#000" stroke-width=".1" d="M334 221.7h-.8.8z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M323.3 256.4s.3-.2.4 0l-.1.2-.3-.2zm1 1.1l-2.1-.1"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M291.7 215.5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5l.2.9c0 .3-.5 1.6-2 2.7a11.5 11.5 0 01-4.1 1.5z"/>
+  <path fill="#a05a2c" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M291.6 214.7l29.7 38.4 1.4-1.3-30.2-39.1-.9 2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M291.2 207.2s3.2-.4 2.8-2.2c-.5-1.8-2.6-1.8-3.5-1.9-1 0-4 .7-4.8 1.5-.9 1-2.7 2.5-2.1 5s1.3 4.4 2.3 6c.9 1.6.7 3.2.4 3.9 0 .3-.4 1.3.4 1.6 1.2.5 1.5.5 2.5-.6s2.5-3 2.5-5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5 0 0-.7-1.2-1.8-1-1.1 0-3.4-1-4.6-2.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M291.2 207.2s3.2-.4 2.8-2.2c-.5-1.8-2.6-1.8-3.5-1.9-1 0-4 .7-4.8 1.5-.9 1-2.7 2.5-2.1 5s1.3 4.4 2.3 6c.9 1.6.7 3.2.4 3.9 0 .3-.4 1.3.4 1.6 1.2.5 1.5.5 2.5-.6s2.5-3 2.5-5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5 0 0-.7-1.2-1.8-1-1.1 0-3.4-1-4.6-2.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M291.2 207.2c-.4 0-1.7-.6-2.6-.3-.9.4-2.7 1.4-2.4 3m10.4-.3s-1.8.8-3.1 1.7c-.6.3-2.4 2-3.5 3.2-1 1-1.3 2.4-3.5 3.9m9-9l-1.4 1c-.7.3-.9.9-1.2 1.3"/>
+  <path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M347.8 284.2c.2 3 7.4 6.6 12.7.1 5.7-4.5 4.5-11.4 0-12.3l-54.7-53.3c-2.2-1.2-2.4-2.3-3.5-3.5a133 133 0 01-9.6 9 9.9 9.9 0 013.2 3.5l51.9 56.5z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M302.2 215c-2.6-3.5-12.8 5.8-10 8.7 2.6 2.8 12.4-5 10-8.6z"/>
+  <path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M293 223c2 1.4 9.3-4.8 8.1-7.2-2-2.2-10.1 5.7-8 7.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M296 227.9a16 16 0 009.9-9m23 44.8c5.7-1.7 9.6-5.5 11.4-11.6m-9.1 14.3c5.7-1.8 9.7-5.5 11.4-11.6m2.1 25.8c5.8-1.8 10.4-6 12.2-12.1m-9.8 14.8a18 18 0 0012.3-12.2"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M360.6 285c.3 1.4 1 1.8 2.1 1.4m-13.7-2c2.1 3.5 4.5 2.4 6.5 2.5"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M363.6 285.2c0 1-.8 1.6-1.7 1.6a1.7 1.7 0 01-1.7-1.6c0-1 .7-1.6 1.7-1.6s1.7 1 1.7 1.9"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M360.5 284.9c.3 1.3 1 1.7 2 1.3m-13.5-1.7c2.1 3.4 4.5 2.3 6.5 2.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.6 175.5c1.8 2.9 4.4 8 5.2 12a22.5 22.5 0 01-7 20.8c-5.2 4.7-13.3 6-16.7 6.8-3.3.7-5.7 1.8-6.3 2.5 0-.5 0-1 .5-1.6 1.6-.7 4.1-1 7.8-1.8 7.2-1.5 14.8-4.2 19-12.2 5.4-10.3 2.2-18.4-2.5-26.4z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.6 206.2a.4.6 49.9 01-.6-.6.4.6 49.9 11.6.6z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.6 205c-1.1.6-2.2.7-3 1a65.7 65.7 0 00-3.7 1.4c-.8.3-1.6 1.3-1.6 1.3s1.2 1.3 2.6 1.1c1.2-.1 1.7-.4 2.3-.7.6-.3.6-.6 1.4-1.2 1-.7 1.6-2 2-3zm-5.7 1.1c-.3.6-1.1.5-1.6.5l-.2.2c.6 0 1.5 0 2-.5l-.2-.2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.6 205c-1 1-2.8 2-4.7 2.8a14 14 0 01-5 1l-.2.3c1.4-.1 3.4-.4 5-1.1a14.9 14.9 0 004.9-3zm-2.4 4.6c-2-.1-3 .5-4.8.9-1.7.4-3.7-.5-4.8 1.1 4.4 2.9 7.6 1 9.6-2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M340.2 213.6c-.8-.8-8-3.2-9.2-.5 1.7 2 6.8 2.4 9.2.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.5 215.5l-2.5-.4c-1-.1-1.3-.3-1.9-.4-1-.1-2.3-1.6-6-.5 1.4 3.4 6.4 4 10.4 1.3zm1.6-1.9c-3.8.8-8.3 0-10.1-1l-.3.2a16.3 16.3 0 0010.4.8zm4-4c-2.2 1.5-5.2 2.6-11.4 1.8v.2c8.5.7 9.3-.8 11.4-2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.5 215.5c-3 .1-4.7 1.4-10.3-1.3l-1.4-.6-.5.2 1.4.4c7 3 6.8 1.6 10.8 1.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.3 211.6a.4.6 66.2 10.4.7.4.6 66.2 00-.4-.7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M327.1 212.3c-.6.1-.8.9-.8 1.3l-.4.2c.2-.6.4-1.4 1.2-1.7v.1z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M346 186.8a.4.6 15.8 11-1-.2.4.6 15.8 011 .2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M341.6 203.2c-.1-2.1-1.1.8-3.2-3.9-.6-1.4-.6-2.2-1-4.3 1.2 1.8 3 2.3 3.8 3.6.7 1.4.5 3.5.4 4.6z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M337.5 195.2s1 2.4 2.4 4a7.9 7.9 0 011.8 3.7"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.5 197.2c1.3 1.7 3 3.8 3 6h.3c-.3-2.8-2-4.1-3-5.6l-.3-.4zm10.8 2.7c-1 .7-2 1-2.7 1.4l-1.4.9c-.4.2-1 .2-1.4.5-.7.5-2 2-2 2s1.3 1.1 2 1c2.4-.5 3.1-1.4 4.3-2.3 1-.8 1-2.5 1.2-3.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M340.7 204.8l-.2.4c1.3-.2 3.5-1.5 5-2.2 1.8-1 3-1.7 3.7-3a8.9 8.9 0 01-3.9 3c-1.5.7-3.7 2-4.6 1.8zm9.4-9.5c-.8.9-1.7 1.3-2.4 1.8l-1.3 1.1-1.2.8c-.6.6-1.5 2.2-1.5 2.2s.7.7 1.4.4c2.4-.3 3.1-1.4 4-3.5.5-1 1-1.8 1-2.8z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.5 199.4a.6.4 62 10.8-.3.6.4 62 00-.8.3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M342.5 201.6l-.2.3c2.9-1.3 6.6-3.9 7.8-6.5a17.2 17.2 0 01-7.6 6.2zm8.3-10.7c-.7 1-1.6 1.4-2.2 2l-1 1.1-1.2.9c-.5.6-1.2 2.2-1.2 2.2s.8.9 1.5.5a12 12 0 002.1-1.6c.5-.4.6-1.4 1.2-2.2.7-1 .8-1.9.8-2.9z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M348.7 193.8c-1.4 1.6-3 3.1-4.6 3.8l-.2.4c2.6-1.5 3.7-2.8 4.9-4.1zm1-5.6c-.4 1-1 1.5-1.6 2l-.8 1.2-1 .9-.7 2.1s.6.6 1.2.2a12 12 0 001.8-1.6c.4-.5.6-1.4 1-2.2a4 4 0 00.2-2.6zm-4.3-1.1l-.5 1.6v-.4c0-.4.2-.9.4-1.3l.1.1z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M348.4 191a13 13 0 01-3.8 4v.3c2.2-1.6 3-3 3.8-4.2zm-5.6 10c-.2-.6-.3-1-.6-1.4.2.5.4 1 .4 1.6l.1-.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.9 181.3a.4.3 39.5 01-.5.5.4.3 39.5 01.5-.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.1 182.5l-1.2-.8 1.3 1v-.2zm5.6.4c-1.2 2.4-3.9 4-2.8 7.5 2.8 2.6 3-4.5 2.8-7.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.1 177.7c-.5 2.4-2.6 4.4-1.2 7.6 4 1 2-4.3 1.2-7.6z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.7 174c2 3.7 2.5 5.9.2 8.3 0 0-1.3-1.1-1.6-3.3-.2-1.8 1.2-4 1.4-5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M340.4 171.8c.5 2.4-1.5 3.5 1.4 6.5 2.1-2.4 1.1-3-1.4-6.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.6 176c-3.3.3-2-2.6-3-5.3 2 1.5 4.7 2.1 3 5.3zm2.2 4.4c-1-4.4-4-2.6-5.6-4.6.9 2.9 2.1 4.8 5.6 4.6zm1.4 4.1c-2.6-.1-4.8-1.4-6.2-4.4 2.7 1.2 5.7 1.4 6.2 4.4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.6 188.3c-1-1.2-1-2-1.5-2.7a9 9 0 00-3-3.7c0 3 .4 6.5 4.5 6.4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M344.2 191.6a20 20 0 00-5.6-5.7c1 2.2.6 6.3 5.6 5.7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.7 196c-5-.1-4.5-4.8-4.5-7 .9 1.4 2 2.5 2.8 3.5.9 1 1.8 2.2 1.7 3.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.1 198.8c-.4-1 0-1.4-1-2.3-1-1-2.8-2.7-3.7-4.6-.1 1.7-.2 4.4 1.2 5.3 1 .7 2 .9 3.5 1.6zm-4.3 7.3c-3.9-3-1.6-5.6-1.2-7.9 1 2.6 3.7 4.8 1.2 7.9zm1.6-29.2c-1.3-2.3-2-3.6-3.7-6 2 2.7 2.8 4.5 3.9 6.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.9 206.8c.1-3-.7-5.7-1.3-8.5.5 3 1.3 6 1 8.8l.3-.3zm4.6-7.4c-.4-1.8-4.1-3-5-7.5.7 4.4 4.5 5.5 4.8 8l.2-.5zm.8-2.5l-.1.5c-.6-3-4-4.4-5-8.4 1.5 4.3 4.3 4.9 5.1 7.9zm.7-4.4c-1.7-2.6-4.1-3.6-6.4-6.7 2.1 3 4.8 4.4 6.4 7v-.3zm0-3.5c-2-.8-3.9-3-6-7.1 1.4 3 3 5.8 6 7.6v-.5zm-1-4c-2.1-1.7-5-2.8-7-4.9 1.7 2 5 3.3 7.1 5.2v-.3zm-1.6-4.3c-2.2-1.5-4.4-2-6.2-4.8 1.5 2.8 3.8 3.5 6.3 5l-.1-.2zm6.3 2.2c-.8 3.1-1.5 6.3-3.6 8.4v-.4c1-.5 2.5-3.7 3.6-8zm-2.6-5.1c-.1 3.2 0 6.5-1.7 8.3l-.1-.3c1.6-1.4 1.5-5 1.8-8zm-2.2-3.6c.5 2.8.6 5.3-.2 9.5l-.1-.3c.4-2.4 1-5 .3-9.2zm-3.4-2.3c1.1 2.4 2 4.8 1.2 7.4l-.2-.3c.9-2.4-.1-4.7-1-7zm-4.4 31.2c1.4 3.2-.4 5.6-2.5 7-1.6-4.7 1.8-4.2 2.5-7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M336.2 203.1c.2 2-2 4.2-2.6 7.6l-.3.2c1-4 3-5.6 2.9-7.8z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.7 181.2a.3.4 1.9 11-.6-.1.3.4 1.9 01.6.1z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.5 183v-1.6h-.2v1.7l.2-.1z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M342.8 180.9a.3.4 2 01-.5.2.3.4 2 01.5-.2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.2 182.3l-.5-1.1.4 1.4v-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M344.7 186.9a.4.3 80.5 11-.7 0 .4.3 80.5 01.7 0z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M344.9 188.6a9.3 9.3 0 00-.4-1.4h-.1l.4 1.6v-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.6 187.2a.4.3 57 11-.5.5.4.3 57 01.5-.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M344.8 188.6a8.8 8.8 0 00-1.2-1v.1l1.3 1.1-.1-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.4 199.1a.3.4 12.7 11-.7-.2.3.4 12.7 01.7.2z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M342.8 200.8c.2-.5.2-1 .2-1.5a9 9 0 01-.4 1.7l.2-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M344 199.9a.3.4 50.5 10.5.4.3.4 50.5 10-.5-.4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M342.7 201l1.3-.8v.1a8.7 8.7 0 00-1.3 1v-.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M340.7 205a.3.4 40.4 11-.4-.6.3.4 40.4 01.4.5z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.5 206.2l.9-1.3h-.1l-1 1.3h.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M338.8 204.5a.5.6 10 001 .1.5.6 10 10-1 0z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.4 205c-.3.7 0 1 0 1.2l-.1.3c-.2-.4-.3-.8-.1-1.5h.2zm-12.1 9.5c-.7 0-1-.4-1.3-.8h-.3c.4.5.8 1 1.5 1v-.3z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.3 215.2a.6.4 9.5 01.2-.9.6.4 9.5 11-.2.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.7 206a5.5 5.5 0 01-4 6.4c-.9-4 2.8-4 4-6.3z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.7 206.1a21 21 0 01-4.8 7.2h-.5c2.7-2.1 4.2-4.9 5.3-7.2z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.8 213.3a.5.4 9.8 11-.4-.7.5.4 9.8 01.4.7z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M326 213.8a8 8 0 001.4-.7h-.1l-1.7.6h.3zm2.5-5c0 1.2-1 2.4-2 3.2-.9.9-1 1.2-2.2 1.6-1.2-2.8 2.8-3.3 4.2-4.8z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M328.5 208.8c-1.3 2.5-3.5 3.8-4.7 5.4h-.1c1.6-2.2 3-2.7 4.8-5.4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.4 175.5c-1.7 2.9-4.4 8-5.1 12a22.5 22.5 0 007 20.8c5.2 4.7 13.3 6 16.6 6.8 3.4.7 5.8 1.8 6.4 2.5 0-.5 0-1-.5-1.6-1.6-.7-4.2-1-7.8-1.8-7.2-1.5-14.9-4.2-19-12.2-5.4-10.3-2.2-18.4 2.5-26.4z"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M314.1 213.6c-.2.4-4 3.7-7.5 3.5-2.5-.2-2.9-.8-2.9-.8s-.2-.7 2-1.1c2.3-.5 6.2-2 8.4-1.6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.8 216.3c2.7.3 5.5-.8 7.7-1.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.2 208.7a11 11 0 014.6 3.7c.9 1.5.7 1.9.7 1.9s-.2.3-1.3-1c-1-1.2-3.4-3.3-4-4.6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M316.5 214.2c-.9-1.7-2.5-3-3.7-4.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.3 175.8c-.1-.3.3-3.4 2-4.4 1.3-.7 1.8-.5 1.8-.5s.3.3-.5 1.3c-1 1-2.1 3.2-3.3 3.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M304 171c-1.4.7-2.3 2.2-3 3.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 177.4c-.2-.2-1-3-.2-4.7.5-1.3.9-1.4.9-1.4s.3 0 .1 1.3c-.2 1.3-.2 3.8-.8 4.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M300 171.4c-.6 1.3-.6 3-.6 4.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 177.5c.2 0 2.7-.8 3.9-2.1.8-1 .8-1.3.8-1.3s-.2-.2-1.1.5c-1 .8-3 2-3.6 2.9z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M304 174.1c-.9 1.1-2.2 2-3.3 2.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 179.6a10 10 0 01-.9-5.2c.3-1.6.6-1.7.6-1.7s.4 0 .4 1.4c0 1.5.3 4.2-.1 5.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M298 172.7c-.5 1.7-.2 3.6 0 5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.3 181.6c-.3-.2-2.3-3-2-5.2 0-1.7.5-2 .5-2s.3-.1.6 1.4c.3 1.6 1.2 4.3.9 5.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M295.7 174.5c-.2 1.8.5 3.7 1 5.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.2 184.1a9.9 9.9 0 01-2.4-4.7c-.2-1.5 0-1.8 0-1.8s.4-.1.8 1.3c.4 1.4 1.6 3.9 1.6 5.2z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M293.9 177.7c.1 1.7 1 3.4 1.5 4.8"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 179.6c.3 0 3.2-.2 4.6-1.7 1-1 1-1.5 1-1.5s-.2-.3-1.4.4c-1.1.8-3.4 1.8-4.2 2.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.7 176.5c-1 1.2-2.7 1.9-4 2.5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.3 181.6c.2 0 3.2 0 4.6-1.4 1.1-1 1-1.4 1-1.4s0-.3-1.2.3c-1.2.7-3.6 1.5-4.4 2.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M303 178.9c-1.2 1-2.8 1.7-4.1 2.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.4 184.2c.2 0 3.4-.2 4.9-1.7 1-1.1 1-1.5 1-1.5s-.1-.4-1.4.3c-1.2.8-3.7 1.8-4.5 2.9z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M302.3 181c-1.2 1.3-2.9 2-4.3 2.5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.8 183s-.3-.5-.3-1c0-.6.2-.8.2-.8l-.2-.2-.1.9v.3l-.5-.5a10.8 10.8 0 01-.1-.4h-.2l.3.7c.5.4.8 1.1.8 1.1"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 180.3a.5.4 83.5 11.1 1 .5.4 83.5 11-.1-1z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.8 180.3a.4.5 19.3 11-.3 1 .4.5 19.3 11.3-1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.7 183l1-.7c.3-.4.3-.7.3-.7h.2l-.4.8-.2.2.6-.1.4-.2.1.1-.6.4c-.6 0-1.3.3-1.3.3"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 181.6a.4.5 45.6 10-.8.8.4.5 45.6 10.8-.8z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.4 180.8a.4.5 19.8 10-.3 1 .4.5 19.8 10.3-1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 186.9c-.2-.2-2.4-2.6-2.8-4.8-.3-1.6 0-1.9 0-1.9s.3-.1.8 1.3c.6 1.5 2 4 2 5.4z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M292.6 180.3c.2 1.8 1.2 3.5 2 4.9"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 186.9c.3 0 3.5-.4 5-2 1-1.3 1-1.7 1-1.7s-.2-.4-1.4.5-3.8 2-4.6 3.2z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M301.5 183.2c-1 1.4-2.8 2.2-4.2 3"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.2 189.6c.3 0 3.5-.9 5-2.6 1.1-1.3 1-1.7 1-1.7s-.1-.2-1.4.7c-1.2 1-3.8 2.5-4.6 3.6z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M301.2 185.4c-1.1 1.4-3 2.4-4.3 3.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 189.6c-.3 0-3.3-2.2-3.8-4.5-.3-1.7 0-2 0-2s.5-.3 1.2 1.2c.7 1.4 2.5 3.8 2.7 5.3z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M291.3 183.2c.3 1.8 1.5 3.5 2.5 4.8"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.2 193a11 11 0 004.6-3.6c.9-1.5.7-1.8.7-1.8s-.2-.3-1.3 1c-1 1.2-3.4 3.1-4 4.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M300.5 187.7c-1 1.6-2.5 3-3.8 4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 193.2c-.3 0-3.6-1.7-4.4-4-.7-1.6-.4-2-.4-2s.4-.4 1.3 1c1 1.3 3.1 3.5 3.5 5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M290.3 187.2c.5 1.8 2 3.4 3.2 4.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 191.6s-.4-.5-.5-1c-.2-.6 0-.9 0-.9h-.3v.8l.2.4-.6-.4-.3-.5-.2.2.5.6c.6.2 1.1 1 1.1 1"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M293 189a.6.4 69.4 11.4 1.2.6.4 69.4 11-.4-1.1z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M294.3 188.7a.4.6 5.2 110 1.2.4.6 5.2 110-1.2z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 191.6s.6-.5.8-1c.3-.5.2-.8.2-.8h.3l-.3.8-.1.4.6-.3.4-.4.1.2-.6.5c-.6.1-1.2.7-1.2.7"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.5 189.4a.4.6 31.5 10-.6 1 .4.6 31.5 10.6-1z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.3 188.9a.4.6 5.7 10-.1 1.1.4.6 5.7 100-1.1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 196.2a12 12 0 01-5.1-4c-1-1.7-.8-2.1-.8-2.1s.2-.3 1.4 1c1.3 1.4 3.8 3.6 4.5 5.1z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M289.5 190.2c1 1.8 2.8 3.3 4.2 4.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 196.2c.4 0 4-1.9 5-4.4.6-1.8.3-2.3.3-2.3s-.4-.3-1.4 1.2c-1 1.4-3.4 3.8-3.9 5.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M300.9 189.6c-.7 2-2.3 3.7-3.6 5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.6 199.3c.3-.1 3.7-2.3 4.5-4.8.7-1.9.4-2.3.4-2.3s-.4-.3-1.3 1.3c-1 1.5-3.2 4-3.6 5.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M301.5 192.3c-.7 2-2.2 3.8-3.4 5.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.3 199.3c-.4 0-4.7-1.3-6.2-3.8-1-2-.9-2.5-.9-2.5s.4-.4 1.8 1c1.5 1.4 4.5 3.5 5.3 5.2z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M289.3 193.1c1.1 2 3.3 3.6 5 4.8"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.1 205.7c.3-.2 2.6-3 2.8-5.6.2-1.8-.2-2-.2-2s-.3-.2-.8 1.4c-.5 1.7-1.8 4.6-1.8 6.2z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M302.8 198.1c-.1 2-1 4-1.8 5.6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300 205.6c-.5.2-5.4 0-7.7-2.1-1.6-1.6-1.5-2.2-1.5-2.2s.2-.5 2.1.5c2 1 5.7 2.3 7 3.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M290.9 201.4c1.7 1.7 4.4 2.6 6.5 3.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 203c-.4.1-4.8-1-6.8-3.1-1.6-1.6-1.5-2.1-1.5-2.1s.2-.4 2 .8c1.6 1.2 5 3 6.3 4.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M290 197.9c1.6 1.7 4 3 5.8 4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.4 203c.4-.2 3.6-2.9 4-5.6.2-2-.2-2.5-.2-2.5s-.5-.2-1.2 1.5c-.7 1.8-2.6 4.7-2.6 6.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M302.2 195c-.2 2.2-1.5 4.3-2.5 6"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.4 201.5l-1-.8c-.4-.5-.5-.9-.5-.9h-.3a8 8 0 00.8 1.2l-.8-.1-.5-.3v.2l.7.4c.7 0 1.6.5 1.6.5"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M294.2 199.8a.7.5 45.9 111 1 .7.5 45.9 11-1-1z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 198.8a.7.5 71.6 11.4 1.3.7.5 71.6 11-.4-1.3z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.5 201.4s.4-.6.4-1.3l-.1-1h.2a7.8 7.8 0 00.1 1.3l.6-.5.2-.6.2.1-.4.8c-.6.5-1 1.4-1 1.4"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.1 198.2a.5.7 8 10-.2 1.3.5.7 8 10.2-1.3z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.6 198.1a.7.5 72.2 10.4 1.3.7.5 72.2 10-.4-1.3z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M301.8 207.6c-.3.2-4.3 1-6.8-.3-1.8-.9-2-1.4-2-1.4s0-.5 2 0c1.8.4 5.2.7 6.8 1.7z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M293.1 206c2 1 4.4 1.2 6.3 1.4"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M302 207.5c.2-.1 2-2.5 1.9-4.8 0-1.7-.4-2-.4-2s-.3-.2-.6 1.3c-.2 1.5-1 4-.9 5.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.5 200.8c.2 1.8-.4 3.6-.9 5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M305.5 210.3c-.3.3-5 1.5-8 .3-2-1-2.1-1.5-2.1-1.5s0-.5 2.2-.1c2.1.3 6.2.4 8 1.3z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M295.5 209.2c2.2 1 5 1 7.3 1.1"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M305.8 210.3c.2-.3 1.2-3.8 0-5.6-1-1.4-1.5-1.3-1.5-1.3s-.4 0 0 1.5c.3 1.5.5 4.3 1.5 5.4z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M304.4 203.4c1 1.4 1.1 3.4 1.3 5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.3 208.7s-.5.4-1.2 0c-.6-.3-.8-.7-.8-.7l-.3.2 1 .7.3.2-.9.2-.6-.1v.3h1a13.6 13.6 0 001.5-.5"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.5 208.7a.8.5 24.1 111.4.7.8.5 24.1 11-1.4-.7z" overflow="visible" style="marker:none"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.3 207.2a.8.5 49.9 111 1.2.8.5 49.9 11-1-1.2z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.4 209s.6-.5.2-1.2l-.6-.9.1-.2.7 1 .2.3.2-.9v-.6h.2v1l-.5 1.5"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.7 205.1a.8.5 69.5 10.6 1.5.8.5 69.5 10-.6-1.5zm-1.5.8a.8.5 43.7 101 1 .8.5 43.7 10-1-1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M308.3 211.8c-.3.4-4.2 3-7.4 2.3-2.3-.4-2.6-1-2.6-1s-.1-.6 2-.8c2.2-.1 6-1 8-.5z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M298.4 213.1c2.5.6 5.2 0 7.3-.5"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M310.8 212.6s-.5.7-1.3.5a3 3 0 01-1.2-.5l-.3.3 1.3.4.5.1-.9.6-.7.1v.3l1.2-.3c.2 0 1.4-1 1.4-1"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M306.6 214a.9.6 5.4 111.7.2.9.6 5.4 11-1.7-.1zm.4-2a.9.6 31.2 111.5 1 .9.6 31.2 11-1.5-1z" overflow="visible" style="marker:none"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M309.5 212.2c.2-.3.7-4-1-5.6-1.1-1.2-1.7-1-1.7-1s-.5.1.1 1.5c.7 1.4 1.4 4.2 2.6 5.1z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M306.8 205.6c1.4 1.2 1.9 3.2 2.3 4.7"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.4 213s.2-.7-.5-1.2c-.6-.5-1.1-.6-1.1-.6v-.4l1.2.7.4.3c.4.3 0-.8-.2-1l-.4-.7.3-.2.5 1 .2 2"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M309.7 209a.9.6 42.7 101.3 1.1.9.6 42.7 10-1.3-1.2zm-1.2 1.5a.9.6 17 101.7.6.9.6 17 10-1.7-.6z" overflow="visible" style="marker:none"/>
+  <path fill="#452c25" d="M319.1 209s-2.3 5.4-1.5 6c0 0 2.4-4.3 4.4-5.8 1.1-1 1.8 0 2-1 0-.8-3-2.1-3-2.1l-1.8 2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M319.1 209s-2.3 5.4-1.5 6c0 0 2.4-4.3 4.4-5.8 1.1-1 1.8 0 2-1 0-.8-3-2.1-3-2.1l-1.8 2.7"/>
+  <path fill="#452c25" d="M310.6 213.1s-3.4 6-2.5 6c.8 0 4.5-7.5 4.5-7.5l-1.3.2-.7 1.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M310.6 213.1s-3.4 6-2.5 6c.8 0 4.5-7.5 4.5-7.5l-1.3.2-.7 1.3z"/>
+  <path fill="#452c25" d="M311.6 211.5s-3.6 5.8-2.7 5.9c1 .1 4.8-7.4 4.8-7.4l-1.3.1-.8 1.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M311.6 211.5s-3.6 5.8-2.7 5.9c1 .1 4.8-7.4 4.8-7.4l-1.3.1-.8 1.4z"/>
+  <path fill="#452c25" d="M312.3 210.5s-4 5.4-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1-.9 1.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M312.3 210.5s-4 5.4-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1-.9 1.3z"/>
+  <path fill="#452c25" d="M313.4 209.5s-4.8 4.9-3.9 5.2c.8.3 6.2-6.2 6.2-6.2l-1.2-.1-1.1 1.1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M313.4 209.5s-4.8 4.9-3.9 5.2c.8.3 6.2-6.2 6.2-6.2l-1.2-.1-1.1 1.1z"/>
+  <path fill="#452c25" d="M313.6 207.7s-4.2 5.4-3.3 5.6c.9.2 5.5-6.9 5.5-6.9l-1.3.1-1 1.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M313.6 207.7s-4.2 5.4-3.3 5.6c.9.2 5.5-6.9 5.5-6.9l-1.3.1-1 1.2z"/>
+  <path fill="#452c25" d="M312.5 212.4s-4 5.5-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1-.9 1.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M312.5 212.4s-4 5.5-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1-.9 1.3z"/>
+  <path fill="#452c25" d="M314.8 211.3s-2.4 4.5-2.1 4.6c.3.2 3.1-2.5 4.6-5.2 1.4-2.6-2.6.5-2.6.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M314.8 211.3s-2.4 4.5-2.1 4.6c.3.2 3.1-2.5 4.6-5.2 1.4-2.6-2.6.5-2.6.5"/>
+  <path fill="#452c25" d="M315 210.8s-2.3 5.5-1.5 6c0 0 3-3.3 3.7-5.9.8-2.6 0-.1 0-.1l-.2-2.9-2 2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M315 210.8s-2.3 5.5-1.5 6c0 0 3-3.3 3.7-5.9.8-2.6 0-.1 0-.1l-.2-2.9-2 2.7"/>
+  <path fill="#452c25" d="M313.8 210.4s-4.7 4.8-3.9 5.1c.9.3 6.3-6.1 6.3-6.1l-1.3-.1-1 1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M313.8 210.4s-4.7 4.8-3.9 5.1c.9.3 6.3-6.1 6.3-6.1l-1.3-.1-1 1z"/>
+  <path fill="#452c25" d="M314.2 211s-4.7 5-3.9 5.2c.8.3 6.2-6.2 6.2-6.2h-1.2l-1.1 1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M314.2 211s-4.7 5-3.9 5.2c.8.3 6.2-6.2 6.2-6.2h-1.2l-1.1 1z"/>
+  <path fill="#452c25" d="M314.6 211.8s-4.8 4.9-4 5.2c1 .3 6.3-6.2 6.3-6.2h-1.2l-1.1 1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M314.6 211.8s-4.8 4.9-4 5.2c1 .3 6.3-6.2 6.3-6.2h-1.2l-1.1 1z"/>
+  <path fill="#452c25" d="M315 205.1s-3.6 4.5-3 5.3c.4.8 3.6-2 4.7-4 1-2-1.7-1.4-1.7-1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M315 205.1s-3.6 4.5-3 5.3c.4.8 3.6-2 4.7-4 1-2-1.7-1.4-1.7-1.4"/>
+  <path fill="#452c25" d="M314.8 209.9s-3 5.8-2.2 5.5c.8-.4 3.8-4.7 4.2-5.7.3-1 .2-2 .2-2l-2.3 1.5.2 1.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M314.8 209.9s-3 5.8-2.2 5.5c.8-.4 3.8-4.7 4.2-5.7.3-1 .2-2 .2-2l-2.3 1.5.2 1.1"/>
+  <path fill="#452c25" d="M314.8 208s2.5-4.6 0 .9-3.4 4.5-3.4 4.5c-.2-.3 2.2-4 2.2-4s1.7-2.8 2.1-3.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M314.8 208s2.5-4.6 0 .9-3.4 4.5-3.4 4.5c-.2-.3 2.2-4 2.2-4s1.7-2.8 2.1-3.1"/>
+  <path fill="#452c25" d="M317.5 207.4s2.8-4.6 0 .9c-2.8 5.4-3.9 4.5-3.9 4.5-.2-.3 2.5-4 2.5-4s2-2.8 2.4-3.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M317.5 207.4s2.8-4.6 0 .9c-2.8 5.4-3.9 4.5-3.9 4.5-.2-.3 2.5-4 2.5-4s2-2.8 2.4-3.1"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M316.5 205.5s-3.5 4.5-3 5.2c.5.8 3.7-2 4.7-4s-1.7-1.4-1.7-1.4"/>
+  <path fill="#e8a30e" d="M352.8 251a32.8 37 0 11-65.6 0 32.8 37 0 1165.6 0z"/>
+  <path fill="none" stroke="#390" stroke-width=".8" d="M293.7 251c0-17 12-30.2 26.3-30.2s26.3 13.1 26.3 30.3" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;block-progression:tb;marker:none"/>
+  <path fill="#007934" stroke="#eee" stroke-width=".1" d="M287.2 253c1 19.5 15.3 35 32.8 35s31.9-15.5 32.8-35h-65.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M352.8 251a32.8 37 0 11-65.6 0 32.8 37 0 1165.6 0z"/>
+  <path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M314.5 225.4c-.3 1.4 0 2.5.7 3.6.6.9 1 1.8.9 2.7a7.9 7.9 0 00-.7.5l-5.5-3.7 3.7 5.5a8 8 0 00-.2.2 4.9 4.9 0 00-3-.3 5 5 0 01-3.7-.8 4.5 4.5 0 003.1 2.1 5 5 0 012.6 1.3 8 8 0 00-.2.8l-6.6 1.3 6.6 1.3v.3a4.9 4.9 0 00-2.4 1.9 5 5 0 01-3 2c1.3.4 2.5 0 3.6-.7a5 5 0 012.7-.9l.4.7-3.6 5.6 5.4-3.7.3.2a4.9 4.9 0 00-.4 3 5 5 0 01-.7 3.6 4.5 4.5 0 002-3.1 4.9 4.9 0 011.4-2.5l.8.2 1.3 6.5 1.3-6.5h.3a4.9 4.9 0 001.8 2.3 5 5 0 012.1 3.1 4.4 4.4 0 00-.7-3.6 4.9 4.9 0 01-.9-2.8l.7-.4 5.5 3.7-3.7-5.5.2-.3c1 .5 2 .6 3 .4a5 5 0 013.7.7 4.5 4.5 0 00-3.1-2 4.9 4.9 0 01-2.6-1.4l.2-.8 6.6-1.3-6.6-1.2a7.9 7.9 0 000-.4 4.9 4.9 0 002.4-1.8 5 5 0 013-2 4.5 4.5 0 00-3.6.7 4.9 4.9 0 01-2.7.8 7.9 7.9 0 00-.4-.7l3.7-5.5-5.5 3.7a8 8 0 00-.3-.2c.5-1 .6-2 .4-3a5 5 0 01.7-3.6 4.5 4.5 0 00-2 3 5 5 0 01-1.4 2.6 8 8 0 00-.8-.2l-1.3-6.5-1.2 6.5h-.4a4.9 4.9 0 00-1.8-2.3 5 5 0 01-2-3.1z" overflow="visible" style="marker:none"/>
+  <use width="330" height="330" fill="#fcbf49" stroke-width="1.1" transform="rotate(22.5 -417.9 955.8) scale(.14262)"/>
+  <use width="330" height="330" fill="#fcbf49" stroke-width="1.1" transform="matrix(-.14262 0 0 .14262 334 232.7)"/>
+  <path d="M325.9 236.7c-1.7-1.4-3.8-1.6-4.9-.6-.8 1.1-.8 2.4.2 3.8a.5.5 0 00-.3.2 4.9 4.9 0 01-.3-4.1c1.5-1.3 3.7-1.4 5.2.7"/>
+  <path d="M323.3 236.3c-1 0-1.2.2-1.6.5-.4.4-.6.3-.7.4 0 0 0 .3.1.2.2 0 .5-.2.9-.6.4-.3.8-.3 1.3-.3 1.3 0 2 1 2.1 1 .2 0-.7-1.2-2.1-1.2"/>
+  <path d="M325 237.5c-1-1-2.7-1-3.4 0h.2c.8-1 2.5-.6 2.6 0"/>
+  <circle cx="323.1" cy="237.4" r=".6"/>
+  <path d="M321.6 237.6c.7.6 2.2.7 3.3-.1h-.5c-.7.7-1.8.6-2.5 0"/>
+  <path d="M325 237.8c-1.2 1-2.4.9-3.1.5-.7-.5-.7-.6-.6-.6l.8.4c.6.3 1.5.3 2.9-.2m-3.5 2a.4.4 0 11-.6.5c0 .1-.3.6-.9.6h-.1l.1.2c.1 0 .6 0 .9-.2a.6.6 0 10.6-1m.9 3c-.7-.5-1-1-1.7-1a2 2 0 00-.7.1h-.1l.1.2c.3 0 .7-.3 1.2 0l1.2.7m-.3 0c-1.4-.5-1.7-.2-2.1-.2h-.1l.1.3c.6 0 .9-.4 2.1-.1"/>
+  <path d="M322.4 243c-1.6-.2-1.1.8-2.4.8h-.1l.1.2c1.6 0 .9-.9 2.4-1m-8.2-6.3c1.6-1.4 3.7-1.6 4.8-.6.8 1.1.8 2.4-.2 3.8a.5.5 0 01.3.2 5 5 0 00.3-4.1c-1.5-1.3-3.7-1.4-5.2.7"/>
+  <path d="M316.7 236.3c1 0 1.2.2 1.6.5.4.4.6.3.7.4 0 0 0 .3-.1.2a4.1 4.1 0 01-.9-.6c-.4-.3-.8-.3-1.3-.3-1.3 0-2 1-2.1 1-.2 0 .7-1.2 2.1-1.2"/>
+  <path d="M315 237.5c1-1 2.7-1 3.4 0h-.2c-.8-1-2.5-.6-2.6 0"/>
+  <circle cx="-316.9" cy="237.4" r=".6" transform="scale(-1 1)"/>
+  <path d="M318.4 237.6c-.7.6-2.2.7-3.3-.1h.5c.7.7 1.8.6 2.5 0"/>
+  <path d="M315 237.8c1.2 1 2.4.9 3.1.5.8-.5.8-.6.6-.6l-.8.4c-.5.2-1.5.3-2.9-.2m3.5 2a.4.4 0 10.6.5c0 .1.3.6.9.6h.1l-.1.2c-.1 0-.6 0-.9-.2a.6.6 0 11-.6-1m-.9 3c.7-.5 1-1 1.7-1l.7.1h.1l-.1.2c-.3 0-.7-.3-1.2 0l-1.2.7m.3 0c1.4-.5 1.7-.2 2.1-.2h.1l-.1.3c-.6 0-.9-.4-2.1-.1"/>
+  <path d="M317.6 243c1.6-.2 1.1.8 2.4.8h.1l-.1.2c-1.6 0-.9-.9-2.4-1"/>
+  <path fill="#007934" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M323.2 258.4c1.6.2 3.3.2 4.7-.3a9.9 9.9 0 014.2-.6c0-.2.5-.3.2-.5-.5-.3-1.2-.3-1.8-.6-1-.5-1.7-1.3-2.7-2-.1 0-.6-.3-.6-.5 2.2 3.2 7.5 1.5 12 1.2.4.1 1.5-.2 2.4-.5 1-.4 3.6 0 4.3-.5l-1.3-1c-.6-.8-2.3-.7-3-1.5-1.3-1.5-3.3-1.9-4.9-3-.3-.3-1-.2-1.6-.3-.6-.6 0-.5-5-4.7-4.5-1.8-4.2-3.2-7-4.3-1-.5-1.9-1.4-2.7-1.1a30 30 0 00-6.3 3c-1.2.6-2.7 2-3.8 2.8-.2.2-3.4 2.9-7 4.8a115 115 0 01-9.2 4.8c8-.4-7.3 2.3 29.1 4.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M303.3 249c2-1 10-5.3 12.4-8.4-.4 0 .6 1 .5 1.4.8 0 .4-1 1-1 .5 0 .9-.1 1.3-.3.5 0 .2.2.2.4-.7 1.2-2 2-3.2 2.9l.2.4c.4 0 .9 0 1.1-.2l.1-.3c.4.1.3.5.1.7-.3.6-1.4.5-1.8 1a6.2 6.2 0 01-1.5 1.7c.5-.4 1-1 1.7-1 1 0 1.3-.7 2.2-.9.9-.1 1.5-.9 2.2-1.4-.3.4-.9.7-.7 1.2a.6.6 0 00.6.2c-.7.8-2 1.4-2.4 2.4-.4-.2-.7.2-1 .2-.4.1-.3.8-.6 1-1.2.7-1.8 1.8-2.3 2.7l-1.3.7c-.7.3-4.6 3.4-4.7 3-.3-2.1-4.3 1.6-13.3-1.6m30.6-.1l-.2-.2c.1-.3-.5-.4-.5-.7 1 0 1.8 1.2 2.5.5.1-.1-.3-.4.4-.6 0 0-.2-.1-.1-.2h-.8l-.8-.3c-.3-.1-.5-.5 0-.6 1-.1 1.9.5 2.6.2.6-.3 1.1-.3 1.7-.5.3-.1 1.2 0 .9.2-.2.2-.7.1-1 .2-.5.1-1 .4-1.4.6.3 0 .2.3.7.2a6 6 0 012-.4v-.5h.3c-.3-.5.6-.2 1-.6l.1.1c-.5.2-.3.5-.4.8 0 0-.3 0-.2.2.2.2.2-.2.5 0h.6c.3 0 .7-.1.5-.4-.3-.2-.6-.5-.6-.8l-.1-.1c.5 0 1 .2 1.1.4.3.3.3.6.8.7.8.2.7-.2.7-.6.7 0 1.6.3 1.4.6 0 .3-.6.5-1 .5s-.2.3-.4.3c-.4 0-.9 0-1 .2-.2.2 0 .7.3.9.4.2 1.2 0 1.8 0 .1-.3.5-.4.9-.6.4-.3-.2-.5-.5-.7-.3 0 0-.1 0-.3.3-.3.9 0 1-.2.1-.3-.1-.6.1-.8.2-.1.5.1.4.3l.7-.2c.3 0 .5.3.4.4-.5.2-.8.4-.7.8 0 .2-.5.3-.3.5.4.3.4.5.5.9.2.3 1 .4 1.6.3-.2-.7 1.4-.4 2-.5.1 0 .1-.1 0-.2-.3-.2-.3-.3-.3-.6l-.1-.1c1 .3 2.8.8 3.6 1.4-1 .2-2.8-.2-3.8 0a15 15 0 01-3.7.6c-.5 0-1-.3-1.6-.3m-11.3-.7l-.4-.1"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M321.2 259.1c2 0 2.2 1.4 3.5.1 1.1.2 2.2-.2 2.2-.3 2.7.6 11.1-.2 10.6-.8-.9-1-2.3-1.4-3.4-2.2l-1.1-.4c-.7-.2-1.5 0-2-.3l-2.6-1.5c-.5-.4-.7-1-1.2-1.4-.6-.4-1.4-.5-2-.7-.9-.4-1.4-1.2-2.2-1.9l-1.1-.4c-.7-.3-1.2-1.1-1.9-1-1 .2-1.7 1-2.8 1.6-1 .4-1.4 1.1-2.2 1.6-.2.2-2.6 1.8-5.3 2.9a72.6 72.6 0 01-6.6 2.5s2.4 1.7 8 1.5l3.4 1 1.9-.3h4.8z"/>
+  <path fill="#007934" stroke="#000" stroke-width=".1" d="M309.8 254.8c1.2-.6 6-2.9 7.4-4.5-.1 0 .5.5.4.7.5 0 .2-.4.6-.5l.8-.1c.3 0 .1 0 .1.2-.4.6-1.3 1-2 1.5l.2.2h.7v-.3c.3.1.2.3.1.4-.2.4-.9.3-1.1.6a3 3 0 01-1 .9c.4-.2.7-.5 1.1-.5.6 0 .8-.4 1.3-.5.6-.1 1-.5 1.4-.8-.2.2-.5.4-.4.7l.4.1c-.4.4-1.2.7-1.5 1.2l-.6.1c-.3.1-.2.5-.4.6-.7.3-1 1-1.4 1.4l-.8.4c-.4.2-2.8 1.8-2.8 1.6-.2-1.1-2.6.5-8-1.2"/>
+  <path fill="#00a6de" stroke="#000" stroke-width=".1" d="M320 214.2c-18.1 0-32.8 16.5-32.8 36.9S301.9 288 320 288s32.8-16.5 32.8-37c0-20.3-14.7-36.9-32.8-36.9zm0 8.2c13.2 0 24.7 12.3 24.7 28.7s-11.5 28.6-24.7 28.6-24.7-12.2-24.7-28.6c0-16.4 11.5-28.7 24.7-28.7z" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;block-progression:tb;marker:none"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.7 266.8c0 .2 0 .2-.4.3-.4 0-.5 0-.5-.2s.1-.2.5-.2c.3-.1.4-.1.4 0z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.8 266.8l-.5.2h-.5c0-.2.2-.2.5-.3h.5zm-2.8 9c.8-2.2 1-3.8-.2-6 2-1.9 3.3-1.2 4.6 0-1.2 2.3-1 4-.2 6a4 4 0 01-4.2 0z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324 268.6v7.7h.1v-7.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.4 268.6a44.6 44.6 0 00-.3 7.7c0-2.9.2-5.3.4-7.6zm.7-2.4c-.4.4-.6.4-.4 1 .4-.3.4-.5.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.3 266.4c.2.3.6.4.3 1-.4-.3-.3-.4-.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.3 267c.2.3.5.3.3.9-.3-.3-.4-.3-.4-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.2 267.4c.2.2.5.4.3 1-.4-.4-.3-.4-.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324 267.9c.3.2.7.3.4 1-.4-.4-.2-.5-.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324 268.4c.2.2.6.3.4 1-.3-.4-.4-.4-.4-1zm1.3-1.7c-.2.1-.6.1-.6.8.5-.3.5-.3.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.3 267.1c-.2.2-.7.2-.7.7.6-.2.5-.2.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.2 267.6c-.2.1-.6 0-.7.7.6-.3.6-.2.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.2 268.1c-.2 0-.7 0-.7.7.4-.1.4-.3.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325 268.6c-.4.1-.5 0-.6.7.5-.3.4-.2.5-.7zm.2.3c-.7 2.1-.8 4-.7 7.4h.1c0-3.4.1-5.2.8-7.3a2.8 2.8 0 00-.1 0zm1.2-2.2c-.4.3-.6.2-.5.8.4-.1.4-.3.5-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.6 266.8c.2.2.5.4.1 1-.3-.4-.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.4 267.4c.3.3.5.3.2.8-.2-.3-.3-.3-.2-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.3 267.7c.1.3.4.4.1 1-.3-.4-.3-.4-.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325 268.1c.3.3.6.5.3 1-.4-.4-.2-.5-.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.9 268.6c.2.3.5.5.2 1-.3-.4-.3-.4-.2-1zm1.6-1.4c-.2.2-.6 0-.7.7.5-.2.5-.2.7-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.4 267.7c-.2 0-.6 0-.8.5.6-.1.6 0 .8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.3 268c-.3.2-.7 0-.9.7.7-.2.6-.2.9-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.1 268.6c-.2 0-.6-.2-.8.5.4 0 .4-.2.8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.8 269c-.3 0-.5 0-.7.6.5-.2.5-.1.7-.6zm.1.4c-1 1.9-1.1 3.6-.7 6.8l.2-.1c-.4-3-.2-4.7.6-6.6zm1.6-2.2c-.5.2-.7.2-.7.8.4-.2.5-.4.7-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.7 267.2c.1.3.4.5 0 1-.3-.5-.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.4 267.8c.2.2.4.4 0 .8 0-.4-.2-.4 0-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.2 268c.1.3.4.5 0 1-.3-.4-.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326 268.5c0 .3.4.5 0 1-.3-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.7 268.9c.2.3.5.5 0 1-.1-.4-.2-.5 0-1zm1.8-1.1c-.2 0-.6-.1-.8.5.6-.1.5 0 .8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327.3 268.2c-.2 0-.6-.1-.8.4.6 0 .6 0 .8-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327.1 268.5c-.2 0-.6 0-.8.5.6 0 .5 0 .8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327 269c-.3 0-.7-.3-1 .4.5 0 .5-.1 1-.4zm-.5.4c-.3 0-.4 0-.7.5.5-.1.5 0 .7-.5zm-3-.7c.2 2.4.4 4.8.4 7.6h.1c.1-2.9 0-5.3-.4-7.6zm-.6-2.6c.4.4.5.4.4 1-.4-.3-.4-.5-.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.7 266.4c-.3.2-.6.4-.4 1 .4-.3.4-.4.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.7 267c-.3.3-.5.3-.3.8.2-.3.3-.2.3-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.8 267.4c-.2.2-.5.3-.3 1 .4-.4.3-.4.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324 267.9c-.3.2-.7.3-.5 1 .5-.4.2-.5.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324 268.4c-.3.2-.6.3-.4.9.3-.3.4-.4.4-.9zm-1.3-1.8c.2.2.6.2.6.8-.5-.3-.5-.2-.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.7 267.1c.2.1.6.1.6.7-.5-.3-.5-.2-.6-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.8 267.5c.2.1.6.1.6.8-.5-.3-.5-.3-.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.8 268c.2.1.7 0 .7.8-.4-.1-.4-.4-.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323 268.5c.3.2.5.1.5.8-.4-.3-.4-.3-.5-.8zm-.2.5a3.8 3.8 0 00-.2.1c.7 2 1 3.9.9 7.2h.1a19 19 0 00-.8-7.3zm-1.2-2.4c.4.3.5.3.5.8-.4-.1-.4-.3-.5-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.4 266.7c-.2.3-.5.4-.2 1 .3-.4.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.6 267.3c-.3.3-.6.4-.2.9.2-.4.3-.4.2-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.7 267.6c-.2.3-.5.5-.1 1 .3-.4.2-.4.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323 268.1c-.3.3-.6.4-.3 1 .4-.5.1-.5.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323 268.6c-.1.2-.5.4-.1 1 .2-.4.3-.5.2-1zm-1.5-1.5c.2.1.6 0 .7.7-.6-.2-.5-.2-.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.6 267.6c.2 0 .6 0 .7.5-.5-.1-.5 0-.7-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.7 268c.2 0 .7 0 .8.6-.6-.2-.6-.2-.8-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.9 268.5c.2 0 .6-.2.8.6-.4 0-.5-.3-.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.2 269c.3 0 .4 0 .6.5-.5-.2-.4-.1-.6-.6zm0 .5a4.1 4.1 0 00-.2 0c.9 2 1 3.6.7 6.6h.2c.3-3 .2-4.6-.8-6.6zm-1.7-2.5c.4.3.6.2.6.8-.4-.1-.5-.3-.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.3 267c-.1.3-.4.6 0 1 .3-.4.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.6 267.6c-.2.3-.5.4-.1.9.1-.4.3-.4 0-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.8 268c-.2.2-.4.4 0 1 .2-.5.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322 268.4c-.1.3-.4.5 0 1 .3-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.3 268.8c-.2.3-.5.5-.1 1 .2-.4.2-.5 0-1zm-1.8-1.2c.2 0 .6 0 .8.5-.6 0-.6 0-.8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M320.6 268c.3 0 .7 0 .9.5-.6-.1-.6 0-.9-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M320.8 268.4c.3 0 .7 0 1 .5-.7-.1-.7 0-1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321 268.9c.3 0 .7-.3 1 .5-.5 0-.5-.3-1-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.4 269.3c.3 0 .5 0 .7.5-.5-.1-.4 0-.7-.5zm2.2-3.2c.3.4.5.4.3 1-.4-.3-.3-.5-.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.3 266.4c-.2.2-.5.3-.4 1 .5-.3.4-.4.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.4 267c-.3.2-.6.3-.4.8.2-.3.3-.2.4-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.4 267.4c-.2.2-.5.3-.4 1 .4-.4.4-.4.4-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.5 268c-.3.1-.6.2-.5.8.5-.3.3-.4.5-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.5 268.4c-.2.2-.6.3-.4.9.3-.3.4-.3.4-.9zm-1.2-1.8c.2.2.6.2.6.8-.5-.3-.5-.3-.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.3 267c.2.2.6.2.6.8-.5-.3-.5-.3-.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.4 267.4c.2.2.6.2.6.9-.5-.4-.5-.3-.6-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.4 268c.2.1.7 0 .6.8-.4-.2-.3-.4-.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.6 268.5c.2.1.4.1.4.8-.4-.4-.4-.3-.4-.8zm-.4.3a2.7 2.7 0 00-.1 0c.5 2.5.7 4.7.6 7.5h.2c0-2.5 0-5-.7-7.5zm-1-2.4c.4.4.6.3.5 1-.4-.3-.4-.5-.5-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323 266.6c-.2.2-.5.4-.2 1 .3-.4.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.1 267.2c-.2.2-.5.3-.2.8.2-.3.3-.3.2-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.3 267.5c-.2.3-.5.4-.2 1 .3-.3.3-.4.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.5 268c-.3.3-.6.4-.3 1 .4-.4.2-.5.3-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M323.6 268.5c-.2.3-.6.4-.3 1 .3-.4.3-.5.3-1zM322 267c.3 0 .7 0 .8.6-.6-.2-.6-.1-.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.1 267.4c.2.1.7 0 .8.6-.6-.2-.6-.1-.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.3 267.8c.2.1.6 0 .7.7-.6-.2-.6-.2-.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.4 268.3c.2 0 .6-.1.8.7-.5-.1-.5-.3-.8-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.7 268.8c.3 0 .4 0 .6.6-.5-.2-.5-.1-.6-.6zm-.8.9c.6 1.4.8 2.6.7 3.7l-.3 2.5h.1c.6-2.5.5-4.4-.5-6.2z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.5 269.2l-.1.1c.8 2.1.9 4 .7 7h.1c.2-3 .1-5-.7-7zm-1.4-2.4c.4.3.5.2.5.8-.4-.1-.4-.3-.5-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.8 266.9c-.1.2-.4.4 0 1 .3-.4.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322 267.4c-.1.3-.4.4 0 1 .1-.4.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.3 267.8c-.2.2-.5.4 0 1 .2-.5.1-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.5 268.2c-.2.3-.5.5 0 1 .2-.5 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.7 268.7c-.1.2-.5.5-.1 1 .2-.4.3-.5.1-1zm-1.7-1.3c.2 0 .6 0 .8.5-.6-.1-.6 0-.8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.1 267.8c.3 0 .7 0 .8.5-.5-.1-.5 0-.8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.3 268.1c.2.1.7 0 .9.6-.6-.1-.6 0-.9-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.5 268.7c.2 0 .6-.3.9.5-.5 0-.5-.2-.9-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.9 269c.3.1.4 0 .6.6-.4-.1-.4 0-.6-.5zm-2-1.6c.5.2.7.2.8.7-.4 0-.5-.2-.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M320.7 267.4c0 .3-.3.5.2 1 .2-.5.1-.5-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321 267.9c0 .3-.3.5.1.9.1-.4.2-.4 0-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.3 268.2c0 .3-.3.5.1 1 .2-.5.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.6 268.6c0 .3-.4.5.1 1 .2-.6 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322 269c-.2.3-.5.6 0 1 .1-.4.2-.5 0-1zm-2-1c.2 0 .6-.1.9.4-.6 0-.6 0-1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M320.2 268.4c.2 0 .6-.2.9.4-.6 0-.6 0-.9-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M320.4 268.7c.3 0 .7-.1 1 .4-.6 0-.6 0-1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M320.7 269.2c.2 0 .6-.3 1 .4-.5 0-.5-.2-1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M321.1 269.5c.3 0 .5 0 .8.5-.5 0-.5 0-.8-.5zm3.8-.7a25.9 25.9 0 00-.7 7.5 2.5 2.5 0 00.2 0c0-2.8 0-5 .7-7.4a2.8 2.8 0 00-.2-.1zm1-2.3c-.4.3-.5.3-.5.9.4-.2.5-.4.5-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.1 266.6c.2.3.5.5.2 1-.3-.4-.3-.4-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325 267.3c.3.2.5.3.2.8-.2-.3-.3-.3-.2-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.9 267.6c.2.2.5.4.2 1-.4-.4-.3-.5-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.7 268c.2.3.5.5.2 1-.4-.4-.1-.5-.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M324.5 268.5c.2.3.6.5.3 1-.3-.4-.3-.4-.3-1zm1.6-1.5c-.2.2-.6 0-.7.7.5-.2.5-.2.7-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326 267.5c-.2 0-.6 0-.7.6.5-.2.5-.1.7-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.9 267.9c-.2 0-.7 0-.8.6.6-.2.6-.1.8-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.7 268.4c-.2 0-.6-.2-.7.6.4 0 .4-.3.7-.6z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.4 268.8c-.2.1-.4 0-.5.7.4-.2.4-.2.5-.7zm.2.4c-.9 2.1-1 4.1-.8 7h.2c-.2-3-.1-4.9.7-7zm1.5-2.3c-.5.3-.6.2-.6.8.4-.1.4-.3.6-.8z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.3 267c.1.2.4.5 0 1-.3-.5-.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326 267.5c.3.3.5.5.1 1-.1-.5-.2-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.9 267.8c.1.3.4.5 0 1-.3-.4-.2-.4 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.6 268.3c.2.3.5.5.1 1-.3-.5 0-.5-.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M325.4 268.7c.2.3.5.5.1 1-.2-.4-.3-.4-.1-1zm1.7-1.2c-.2.1-.6 0-.8.5.6 0 .6 0 .8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327 268c-.2 0-.6-.1-.8.4.6-.1.5 0 .8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.8 268.3c-.2 0-.7 0-.8.5.6-.1.5 0 .8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.6 268.8c-.2 0-.6-.3-.8.5.4 0 .4-.3.8-.5z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.3 269.2c-.4 0-.5 0-.7.5.4-.1.4 0 .6-.5zm0 .5c-1.1 2-1 4-.6 6.3h.2l-.3-2.9a6 6 0 01.8-3.3h-.1zm1.9-2c-.5.1-.7 0-.8.6.5 0 .5-.2.8-.7z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327.4 267.5c0 .3.3.6-.2 1-.2-.5-.1-.5.2-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327 268c.2.3.4.5 0 .9-.1-.4-.2-.4 0-.9z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.8 268.3c.1.3.3.5-.1 1-.2-.5-.2-.5.1-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.5 268.7c0 .3.4.6-.1 1-.2-.6 0-.5 0-1z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M326.2 269c.1.4.4.7 0 1-.2-.4-.2-.4 0-1zm2-.8c-.3 0-.6-.2-1 .4.6 0 .6 0 1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327.9 268.6c-.2 0-.6-.2-.9.3.6 0 .6 0 .9-.3z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327.7 268.9c-.3 0-.7-.2-1 .4.7 0 .6 0 1-.4z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327.4 269.4c-.2 0-.6-.4-1 .3.5 0 .6-.2 1-.3z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M327 269.7c-.3 0-.5-.1-.8.4.5 0 .5 0 .8-.4zm-3.5 2.7h1.1c.7 0 1.2.2 1.2.4s-.5.3-1.2.3h-1.1c-.7 0-1.3-.2-1.3-.4s.6-.3 1.3-.3z"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width="0" d="M322.7 272.4l-.4.6a.3.3 0 00.2 0h.2l.4-.6h-.4zm.9 0l-.4.6h.4l.4-.6h-.4zm.9 0l-.4.7h.4l.4-.7h-.4zm.8 0l-.3.7h.4l.3-.6a.3.3 0 00-.2 0h-.2z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M316.5 268.8l.5 2.7.2.2v1.1c.3.5.3 1.1.5 1.6l.3.6h.4l.1.2-.2.2h-.6l-.3-.1v-.3h-.2l-.1-.6-.8-1c0-.1 0-.4-.2-.5l-.3-.3c-.5-1-1-3-1-3m-6.4-1l1.8.4-.5 2.6c-.3.8-.3.9-.2 1 .2.5.4 1.2 1.1 2.3l.6.4.5.3h.5l.1-.2c0-.1-.3 0-.5-.2 0-.3-.5-.8-.5-1.2-.3-.7-.2-.7-.2-1.5l.5-1.6c.2-.5.5-1.4.5-2l-.8-1.7-.5-.7m-1.6-1.1c-2.9 1-1.7 3.5-.9 3.6m9.2-8.1l.4-1v-.4l-.7.9"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M319.2 262.4c.2 0 .4.1.4 0v-.6c-.6-.4-1-.4-1-.7v-.2c0-.2-.8-.3-1-.4l-.4-.2h-.2c-.8 0-1.1.7-1.2 1.2 0 0-.2 2.1-.5 3a.7.7 0 01-.2.3l-.2.2c-2-.2-3.4-.2-4.2-.2-.8 0-1.8.7-1.8.7s-1 .6-1.1 1.6c-.1.3 0 .7.1 1 1 2.7 1.8 0 2.1.1h.4c.5 0 1.4 1.5 2.7 1.8 4 .9 5-1.2 5-5.8v-.2l.2-.4v-.8l1-.2.2-.1"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M317.3 261l.4-1v-.4l-.9 1m-8.9 7.6c.3.8.7 1.5.7 1.8 0 .4-.3.6-.3.7h-.2l-.2.6a1.3 1.3 0 000 .6c0 .7.4 2.2.4 2.3 0 0 .3 0 .3.2v1.2c0 .2.3.3.3.3h.6l-.4-.4a.4.4 0 010-.2c0-.2.2-.4.3-.5v-.3l-.1-.2a8.3 8.3 0 01-.1-.9v-1.1l.2-.2.1-.2 1-.6.8-1 .2-.5a.5.5 0 000-.2 3.8 3.8 0 00-.3-.9 3.2 3.2 0 00-.6-.8m5.9 1.8c-.5.4-1.8.7-1.8 1 0 0 0 1.6-.2 2.2l-.3.6-.2.7-.3 1v.3l.4.3h-.4l-.6-.2V274l-.2-1.4.1-1-.1-3.6m4.7-5.4c.2.2.6.4 1.3.1.2.1.3.2.6-.2m-.3-.5h.2s.1 0 0 0c0 0 0-.1 0 0h-.2z"/>
+  <path d="M317.8 261.4c.2.3.4.3.6.1-.2-.3-.4-.1-.5-.1h-.1z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M329.1 272.9a2 2 0 000 .7v.8a2 2 0 000 .7 2 2 0 000 .7c.2.2 1 .2 1.2 0a2.2 2.2 0 000-.7v-.7a2 2 0 000-.7v-.8a2.3 2.3 0 000-.8v-.7a2.2 2.2 0 000-.8v-.8a2.4 2.4 0 000-.8v-.7a2.2 2.2 0 000-.8 1.9 1.9 0 000-.8 2.5 2.5 0 000-.8 2.3 2.3 0 000-.8 3.3 3.3 0 000-.8 2.9 2.9 0 000-.7v-.8a2.6 2.6 0 000-.8 2.7 2.7 0 000-.8v-.8a2.3 2.3 0 000-.8v-.7a2 2 0 000-.3h-.9v1a2.3 2.3 0 000 .8v.8a2.7 2.7 0 000 .8 2.6 2.6 0 000 .8 3 3 0 000 .7l-.1.8v.8a2.4 2.4 0 000 .8 2.5 2.5 0 000 .8 1.9 1.9 0 000 .8c-.1.3-.1.5 0 .8v.7a2.4 2.4 0 00-.1.8 2.6 2.6 0 000 .8 2.2 2.2 0 000 .8 2 2 0 000 .7 2.3 2.3 0 000 .8z"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M329.1 273.6c.3.2 1 .1 1.2 0m-1.2-.7h1.2m-1.2-.8h1.2m-1.1-.7h1.1m-1.1-.8h1.1m-1.1-.8h1.1m-1-.8h1m-1-.7h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.7h1m-1-.8h1m-1-.8h1m-.9-.8h.8m-.8-.8h.8m-.8-.8h.8m-.8-.7h.8m-1 15.5h1.1m-1.2.7h1.2"/>
+  <path fill="#007934" fill-rule="evenodd" stroke="#e7e7e7" stroke-width=".1" d="M331.5 257a13 13 0 012.1 0 13.7 13.7 0 00-.8-.3h2.2a5 5 0 00-1-.5 8 8 0 012.2.1l-1-.5c.9 0 1.2 0 2 .2a2.6 2.6 0 00-.9-.5 8 8 0 012.5-.2 8.6 8.6 0 00-8 .8 6 6 0 011-1.1 2.5 2.5 0 00-.7 0c.3-.3.8-.8 1.2-1l-.7.1 1.4-1a3.1 3.1 0 00-.9.1 5.2 5.2 0 011.6-1.1 4 4 0 00-1 0 8.7 8.7 0 012-1.3c-3.3.4-5.1 2.8-5.3 4.8a7 7 0 00-6.6-3.6c1 .3 1.8.7 2.4 1a4.4 4.4 0 00-1 .1c.7.2 1.5.6 2 1a3.4 3.4 0 00-1 0l1.8.8-.8.1a5 5 0 011.5.8h-.8c1 .4 1.1.6 1.3.7a8 8 0 00-7.3 3 10 10 0 012.2-1l-.5.8c.5-.4 1.3-.8 2-1a4.8 4.8 0 00-.4.7l1.8-1-.4.8 1.7-.7-.5.7 1-.4a6.2 6.2 0 00-2.9 5.8l.9-2v1a8.5 8.5 0 011-2v1l1-2v1l1.1-1.9v.8l.3-.6.7-.9.2.3c.3.4.4 1.1.5 1.8a3.2 3.2 0 00.2-.9c.3.7.7 1.8.7 2.4a3.6 3.6 0 00.2-1c.3.5.6 1.8.7 2.3l.3-.9c.3.8.4 1.7.5 2.3.8-3-.4-4.9-1.8-6.3.4.1.8.5 1.3 1a4.9 4.9 0 00-.3-.9l1.5 1.4-.2-.8c.6.4 1.1 1.2 1.5 1.6a5.4 5.4 0 00-.2-1 6 6 0 011.3 1.8l-.1-1c.7.6 1 1.3 1.3 1.7 0-2.7-3.1-5-6-5.3z"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M330.3 257.1c3.1-.5 7.2 2.3 7.2 5.3-.3-.4-.6-1.1-1.3-1.8l.1 1a6 6 0 00-1.3-1.7l.2 1c-.4-.4-.9-1.2-1.5-1.6l.2.8-1.5-1.4.3 1c-.5-.6-1-1-1.3-1.1m-1.8-1.5c-1.9-1.2-5.8-1-8.7 2.3a10 10 0 012.2-.9l-.5.8c.5-.4 1.3-.8 2-1a4.8 4.8 0 00-.4.7l1.8-1-.4.8 1.7-.7-.5.7 1-.4"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M329.7 256.6c-.4-2.2-3-4.8-6.9-4.6 1 .3 1.8.7 2.4 1a4.3 4.3 0 00-1 .1c.7.2 1.5.6 2 1a3.4 3.4 0 00-1 0l1.8.8a3.2 3.2 0 00-.8.1 5 5 0 011.5.7l-.7.1c1 .4 1 .6 1.2.7m1.5 1c-2.6.8-5.1 3.3-4.7 6.7 0-.4.5-1.5.8-2v1l1-2v1l1-2v1a13.3 13.3 0 011.1-1.9v.8a5 5 0 011-1.5m-1.6.2a8.7 8.7 0 00-.5 1.4m-.5-.8a9.7 9.7 0 00-.5 1.9m-.5-1a9 9 0 00-.5 2"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M329.9 258.6v-.6" class="fil1 str2"/>
+  <path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M332.6 261.3v1.3m-1-3l.1 1.6m-1-2.7l.1 1.3m4.8-.4l.6 1.2m-2-2.1l.8 1.4m-2-1.8c.3.3.5.7.7 1.2m-10.6-.8a4.7 4.7 0 011.7-1.2m-.2 1c.4-.6.6-.9 1.6-1.3m-.2 1c.4-.4.9-.8 1.7-1.1m-.4 1.2c.5-.5 1-.7 1.6-1m-3.7-4c.7 0 1.6.2 2.2.6m-1.2.4c.6 0 1.4.2 1.8.4m-1 .4c.6 0 1.3.3 2 .6m-1.3.2a4 4 0 011.7.6m.9.2a8.6 8.6 0 018.5-1.2 8 8 0 00-2.4.2c.4 0 .7.3.8.4h-2c.4 0 .7.2 1 .4a7.3 7.3 0 00-2.2 0l1 .3h-2.2l.8.3c-1 0-1.6 0-2 .2m4.8-1.6a6 6 0 00-2.2-.4m1 .7a5.8 5.8 0 00-2.5-.2m1.3.6a6.8 6.8 0 00-2.5-.2m1.3.7a5 5 0 00-2-.1m.8 1c.4.3.6.7.8 1.1m-3-3.1c.2-2 2-4.4 5.3-4.8a9 9 0 00-2 1.3h1c-.5.2-1.2.7-1.6 1.1a3.1 3.1 0 01.9 0 6.7 6.7 0 00-1.4 1l.7-.1a4.1 4.1 0 00-1.2.9h.7l-1 1.1m2-4c-.5.1-1.1.4-1.6.7m1 .4a4.5 4.5 0 00-1.5.5m.9.4c-.5.1-1 .4-1.5.7m1 .2a3.2 3.2 0 00-1.4.8m-.5 2.4a6 6 0 00-.3 1.1m1.2-2c1.8 1.6 4.1 3.7 3 7.6a6 6 0 00-.4-2.2l-.3.9a6.8 6.8 0 00-.7-2.4 3.5 3.5 0 01-.2 1 8.3 8.3 0 00-.7-2.4c0 .2 0 .6-.2.9 0-.9-.3-1.7-.7-2"/>
+  <path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M293.3 233.5l1.3.7.3-.6c.1-.3.2-.5.1-.6 0-.2-.2-.4-.5-.5-.3-.2-.6-.3-.7-.2-.2 0-.4.2-.5.4l-.2.5c0 .1 0 .2.2.3m1.6 1l1.7.8h.3l.3-.5.3-.6a.6.6 0 000-.4.7.7 0 00-.2-.2 1.9 1.9 0 00-.3-.2c-.8-.4-1.3-.3-1.7.3l-.4.7m-2.6-.8a33 33 0 00.6-1.2 3.3 3.3 0 01.6-.7l.6-.4h.9c.2.1.3.3.4.6.1.2.2.5.1.7a2 2 0 011-.6l1 .1c.3.2.5.6.6 1 .1.5 0 1-.4 1.7a32.4 32.4 0 01-.7 1.3l-.3.7-1.4-.9-1.8-1-1.5-.7.3-.6m9-10.8c-.8.6-.7 1.5.3 2.6.5.6 1 1 1.5 1 .4.2.9 0 1.3-.3.3-.3.5-.6.4-1a3.1 3.1 0 00-.8-1.5c-.5-.7-1-1-1.4-1.2-.5 0-1 0-1.4.4m3.8-.2c.5.6.7 1.3.7 2a2.8 2.8 0 01-1.2 2 2.9 2.9 0 01-2 .7 2.4 2.4 0 01-1.8-1 2.8 2.8 0 01-.7-2c0-.7.4-1.4 1-2a2.9 2.9 0 012-.7c.8 0 1.4.4 2 1m8-2.6l.3 1a14.4 14.4 0 001.9-.7h.3a4.5 4.5 0 00.3.7l-.5.1-2.4.7-.7.2-.4-1.6-.5-2a12 12 0 00-.5-1.5l.6-.2.7-.2.3 1.6.6 2m9.2-3a12.2 12.2 0 000-1.6h.8l.7.1c-.2.5-.2 1-.3 1.7l-.2 2a11.9 11.9 0 00-.1 1.6h-.7l-.7-.1.3-1.7.2-2m9.9 5.3c1.6-1.3 2.7-2.2 3.1-2.7l.4.2.4.2a230 230 0 00-4.7 3.6l-.5-.3a316.2 316.2 0 01.2-2 362.5 362.5 0 00.4-3.8 7.7 7.7 0 001.2.7 34.8 34.8 0 00-.5 4m8.4 4l1.2-1.3.4.6.5.4a11.1 11.1 0 00-1.3 1.1l-1.5 1.4a12 12 0 00-1.1 1.1l-.5-.5-.5-.5 1.3-1 1.5-1.4m5 10l1.3-1.4h-2a18 18 0 00.7 1.4m-1.1-1.3l-2 .1a1.9 1.9 0 00-.1-.3 2.6 2.6 0 00-.2-.4h5.9l.3.6a82.5 82.5 0 00-4 4.3l-.2-.7a5.4 5.4 0 00-.3-.6 23.9 23.9 0 001.4-1.3 35 35 0 00-.4-.8 39.5 39.5 0 00-.4-1" font-family="Linux Biolinum" font-size="100" font-weight="700" letter-spacing="60" text-anchor="middle" word-spacing="0" style="line-height:125%;-inkscape-font-specification:Linux Biolinum Bold;text-align:center"/>
+  <path fill="#e8a30e" stroke="#000" stroke-linecap="square" stroke-linejoin="round" stroke-width=".1" d="M325 280.6l-.8 2.2h-2.4l1.9 1.5-.7 2.2 2-1.3 1.8 1.3-.6-2.2 1.8-1.4h-2.3zm9-3.9l-.7 2.2H331l1.8 1.5-.7 2.2 2-1.3 1.9 1.3-.7-2.2 1.9-1.4h-2.4zm14.2-25l-.8 2.3h-2.3l1.8 1.4-.6 2.3 1.9-1.4 1.9 1.4-.7-2.3 1.9-1.4h-2.4zm-6.7 17.9l.7 2.2h2.4l-1.9 1.4.7 2.3-2-1.4-1.9 1.4.7-2.3-1.8-1.4h2.3zm4.7-8.2l.8 2.2h2.3l-1.9 1.5.7 2.2-1.9-1.3-2 1.3.8-2.2-1.9-1.4h2.3zm-31.1 19.2l.8 2.2h2.3l-1.9 1.5.7 2.2-2-1.3-1.8 1.3.6-2.2-1.8-1.4h2.3zm-9.2-3.9l.8 2.2h2.4l-2 1.5.8 2.2-2-1.3-1.9 1.3.7-2.2-1.9-1.4h2.4zm-14-25l.7 2.3h2.3l-1.8 1.4.6 2.3-1.9-1.4-1.9 1.4.7-2.3-1.9-1.4h2.4zm6.6 17.9l-.7 2.2h-2.4l1.9 1.4-.7 2.3 2-1.4 1.9 1.4-.7-2.3 1.8-1.4h-2.3zm-4.7-8.2l-.8 2.2h-2.3l1.9 1.5-.7 2.2 1.9-1.3 2 1.3-.8-2.2 1.9-1.4h-2.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M321 248.1v-.5h.1l-.8-.5h-.7l-.8.5v.5h2.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M321 248.1v-.5h.1l-.8-.5v-.7h-.6v.7l-.9.5v.5h2.3zm.3.6v.2h-2.6v-.2h2.6"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M321.3 248.7v.2h-2.6v-.2h2.6zm-2.5 0v-.5h.1v.5-.5h-.1v-.1h2.4v.1h-.2v.5-.5h.1v.5"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M318.9 248.7v-.5.5-.5h-.1v-.1h2.4v.1h-.2v.5-.5h.1v.5"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M319.4 248.6v-.4h-.4v.4h.4"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M319.1 248.3v.2h.2v-.2h-.2m1.8.3v-.4h-.3v.4h.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M320.7 248.3v.2h.1v-.2h-.1m.2-.3v-.3h-.3v.3h.3z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M320.7 247.7v.2h.1v-.2h-.1m-1.3.3v-.3h-.4v.3h.4z"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M319.1 247.7v.2h.2v-.2h-.2m.8.3v-.3h-.3v.3h.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M319.7 247.7v.2h.1v-.2h-.1m.7.3v-.3h-.3v.3h.3"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M320.1 247.7v.2h.2v-.2h-.2m.4.2v.8h-1v-.8h1"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width="0" d="M320.5 247.9v.8h-1v-.8h1zm-1 .2h1m-.9.6v-.6m.7.6v-.6m.5-.5l-.5-.4h-.6l-.5.4h1.6m-1-.5h.4m-.3-.1h.2-.2m0 1zm.1 0h.1zm.3 0h.1"/>
+  <path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width="0" d="M319.8 246h.4v.4h-.4v-.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M320 245.6v.4m-.2-.2h.4"/>
+  <path fill="#452c25" d="M317.1 210.3s-2.3 5.4-1.5 6c0 0 3-3.3 3.7-5.9.8-2.6 0-.2 0-.2l-.2-2.8-2 2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M317.1 210.3s-2.3 5.4-1.5 6c0 0 3-3.3 3.7-5.9.8-2.6 0-.2 0-.2l-.2-2.8-2 2.7"/>
+  <path fill="#452c25" d="M317.6 207.7s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.1 0-.1 0-.1l.7-3.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M317.6 207.7s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.1 0-.1 0-.1l.7-3.9"/>
+  <path fill="#452c25" d="M320.5 206.4s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.2 0-.2 0-.2l.7-3.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M320.5 206.4s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.2 0-.2 0-.2l.7-3.8"/>
+  <path fill="#452c25" d="M356.8 195.6l3.4 1.9s.8.7-1 .3a42 42 0 01-12.8-6.4c-3.3-2-4.3-2-4.3-2l4.5.1 10.2 6.1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M356.8 195.6l3.4 1.9s.8.7-1 .3a42 42 0 01-12.8-6.4c-3.3-2-4.3-2-4.3-2l4.5.1 10.2 6.1z"/>
+  <path fill="#452c25" d="M358 194.8l3.3 1.9s.8.7-1 .3a45 45 0 01-12.8-6.4c-3.3-2.1-.6 1.7-.6 1.7l.5-2.5 10.5 5z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M358 194.8l3.3 1.9s.8.7-1 .3a45 45 0 01-12.8-6.4c-3.3-2.1-.6 1.7-.6 1.7l.5-2.5 10.5 5z"/>
+  <path fill="#452c25" d="M363.5 196.6s-4-.7-5.4-1.8c0 0 .2.5-1.7-.4 0 0 .7 1.7-4.8-2-5.5-3.8-3.6-2-3.6-2l1.6-.3 9.3 3.7a53 53 0 014.6 2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M363.5 196.6s-4-.7-5.4-1.8c0 0 .2.5-1.7-.4 0 0 .7 1.7-4.8-2-5.5-3.8-3.6-2-3.6-2l1.6-.3 9.3 3.7a53 53 0 014.6 2.8z"/>
+  <path fill="#452c25" d="M342.6 198.1l1.4 1.9s-.5 1.8-5.1-1.7-4.4-3.2-4.4-3.2l2.6-.3 5.6 3.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M342.6 198.1l1.4 1.9s-.5 1.8-5.1-1.7-4.4-3.2-4.4-3.2l2.6-.3 5.6 3.2"/>
+  <path fill="#452c25" d="M336.6 199s2.2 2.9 1.7 3.2c-.5.4-3 .2-4.8-2.5-1.9-2.8 0-.2 0-.2v-4.4l3.2 3.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M336.6 199s2.2 2.9 1.7 3.2c-.5.4-3 .2-4.8-2.5-1.9-2.8 0-.2 0-.2v-4.4l3.2 3.8"/>
+  <path fill="#452c25" d="M338.8 197.8s2.1 2.6 1.9 3c-.2.4-3.2.2-5.5-2.5-2.3-2.6-.3-3.4-.3-3.4l3.9 2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M338.8 197.7s2.1 2.7 1.9 3.1c-.2.4-3.2.2-5.5-2.5-2.3-2.6-.3-3.4-.3-3.4l4 2.8z"/>
+  <path fill="#452c25" d="M350.6 196.2s6 2.5 1.6 2.4c0 0-8.6-2.3-13-6.2l1.2-1.6 10.2 5.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M350.6 196.2s6 2.5 1.6 2.4c0 0-8.6-2.3-13-6.2l1.2-1.6 10.2 5.2"/>
+  <path fill="#452c25" d="M353.8 195.4s3.1 2 3.4 2.7c.2.8-10-1.9-15.3-6.3l2.4-1.2 9.4 4.8z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M353.8 195.4s3.1 2 3.4 2.7c.2.8-10-1.9-15.3-6.3l2.4-1.2 9.4 4.8z"/>
+  <path fill="#452c25" d="M344.5 197.2s2.3 1.9 2 2.1c-.3.2-5-.5-8.6-3.3l.4-1.7 6.2 2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M344.5 197.2s2.3 1.9 2 2.1c-.3.2-5-.5-8.6-3.3l.4-1.7 6.2 2.8"/>
+  <path fill="#452c25" d="M348.4 197s2.3 1.6 1.8 1.8c-.4.1-2.2 1.6-10.7-3.4l-1-.6 1.3-2 8.6 4.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M348.4 197s2.3 1.6 1.8 1.8c-.4.1-2.2 1.6-10.7-3.4l-1-.6 1.3-2 8.6 4.2z"/>
+  <path fill="#452c25" d="M339.7 192.4s2.8 2.4 2.4 2.8c-.4.4-3.6-.4-5-1.5-1.5-1-2.6-2.4-2.6-2.4l3-.7 2.2 1.8z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M339.7 192.4s2.8 2.4 2.4 2.8c-.4.4-3.6-.4-5-1.5-1.5-1-2.6-2.4-2.6-2.4l3-.7 2.2 1.8z"/>
+  <path fill="#452c25" d="M336.4 188.3l5 3s4.1 2.8 3.7 3.1c-.4.3-3.7-.8-6-2-2.2-1.3-5-4-5-4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M336.4 188.3l5 3s4.1 2.8 3.7 3.1c-.4.3-3.7-.8-6-2-2.2-1.3-5-4-5-4"/>
+  <path fill="#452c25" d="M333.2 202.4s1 2.4.4 2.6c-.6.3-2-.2-3-2.3-1.2-2.2 1-1.3 1-1.3l1.6 1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M333.2 202.4s1 2.4.4 2.6c-.6.3-2-.2-3-2.3-1.2-2.2.7-1.3.7-1.3l2 1z"/>
+  <path fill="#452c25" d="M334.9 200.9s1.4 2.3 1.1 2.6c-.3.2-2.2 1-4.2-2s2.1-2.3 2.1-2.3l1 1.7z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M334.9 200.9s1.4 2.3 1.1 2.6c-.3.2-2.2 1-4.2-2s2.1-2.3 2.1-2.3l1 1.7z"/>
+  <path fill="#452c25" d="M330.7 190.4s4.8 9.3 4.4 9.8c-.4.5-2.3 0-3.4-2.5s-1.9-5.6-1.9-5.6l.9-1.7z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M330.7 190.4s4.8 9.3 4.4 9.8c-.4.5-2.3 0-3.4-2.5s-1.9-5.6-1.9-5.6l.9-1.7z"/>
+  <path fill="#452c25" d="M336.3 192.8s4 3.3 3.2 3.8c-.8.4-2.4-.2-4.8-2.5-2.3-2.3 1.6-1.5 1.6-1.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M336.3 192.7s4 3.5 3.2 3.9c-.9.4-2.5-.2-4.8-2.5s1.6-1.4 1.6-1.4z"/>
+  <path fill="#452c25" d="M334.4 192.8s2.8 5.3 2.5 5.8c-.4.5-2.5-1.3-3.6-2.7-1-1.3-1.9-3.3-1.9-3.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M334.4 192.8s2.8 5.3 2.5 5.8c-.4.5-2.5-1.3-3.6-2.7-1-1.3-1.9-3.3-1.9-3.3"/>
+  <path fill="#452c25" d="M312.9 203.6s-.2 3.1 0 3.3c.2.3 1.7.3 1.8-2 .1-2.4-.3-2.5-.3-2.5l-1.5 1.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M312.9 203.6s-.2 3.1 0 3.3c.2.3 1.7.3 1.8-2 .1-2.4-.3-2.5-.3-2.5l-1.5 1.1"/>
+  <path fill="#452c25" d="M313.8 199.9s-1 3.4 0 4.1c1 .7 1.9-3.4 2-4.3 0-1-2 .2-2 .2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M313.8 199.9s-1 3.4 0 4.1c1 .7 1.9-3.4 2-4.3 0-1-2 .2-2 .2z"/>
+  <path fill="#452c25" d="M314.6 204.3s.2 3.2.8 3.4c.6.1 1.6-1 1.6-1.8s-1-2.8-1-2.8l-1.4 1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M314.6 204.3s.2 3.2.8 3.4c.6.1 1.6-1 1.6-1.8s-1-2.8-1-2.8l-1.4 1"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M314.6 200.4s-1 3.5 0 4.2c1 .7 1.9-3.4 2-4.4 0-.9-2 .2-2 .2z"/>
+  <path fill="#452c25" d="M314.7 194.8s-1.6 1.7-1.6 2.6c0 1 2.4-1.2 2.6-1.6.2-.4-1-1-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M314.7 194.8s-1.6 1.7-1.6 2.6c0 1 2.4-1.2 2.6-1.6.2-.4-1-1-1-1z"/>
+  <path fill="#452c25" d="M313.6 194s-1.3 2.3-1 3c.4.8 1.6-.5 2.2-1.4.6-.8-1.2-1.7-1.2-1.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M313.6 194s-1.3 2.3-1 3c.4.8 1.6-.5 2.2-1.4.6-.8-1.2-1.7-1.2-1.7z"/>
+  <path fill="#452c25" d="M331.5 190.8s2 3.8 1.5 4c-.6.2-1.4-.7-2.3-1.9-.8-1.1.8-2.1.8-2.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M331.5 190.8s2 3.8 1.5 4c-.6.2-1.4-.7-2.3-1.9-.8-1.1.8-2.1.8-2.1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M331.6 198.6s.7 3.3 0 3.6c-1.2.5-2-2.3-2-3.4 0-1.2 2-.2 2-.2zm-2.6 5.1s.2 2.5-.2 2.7c-.3.2-1.2.2-2.1-1.8-1-2-.5-1.2-.5-1.2l2.3-1.2.5 1.3"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M331.4 203.2s.2 2.5-.3 2.6c-.5 0-1.9-.8-2.5-2.3-.6-1.8 2.4-1.3 2.4-1.3l.4 1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M329 195.3s2.6 6 2.1 6.7c-.8 1.7-3.2-3.5-3.9-5.6-.8-2.2 1.7-1 1.7-1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.7 196.3s3.6 6.5 2.1 6.6c-1.5.2-4.3-4.6-4.7-5.8-.5-1 2.6-.8 2.6-.8z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.5 197.7s1.8 6.2.6 5.6c-1-.5-2.5-5.2-2.6-6.2-.2-1 2 .6 2 .6zm6.2-8.8s2.7 4.1 1.8 4.2c-.8.2-4-2.7-4-3.2-.1-.5 2.2-1 2.2-1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M332 189s3.5 4.8 2.4 5c-1 .2-1.1-.5-1.1-.5s-2.8-2.5-3-3.1c-.1-.6 1.6-1.4 1.6-1.4m3.5.1s2.4 2.5 1.8 3.3c-.6.8-4-3.1-4.4-3.6-.4-.5 2.9.2 2.9.2m-6 3.5s3.8 7.5 3 8.2c-.6.8-4.9-5.6-5-6.5-.2-.9 2-1.8 2-1.8"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.5 193.2s1.5 2.3 1.4 3.6c0 1.2-2.3-1.8-2.5-2.4-.2-.6 1-1.2 1-1.2zm3.1-1.2s1.2 2.4.8 3.1c-.3.8-2-1.4-2.5-2.3-.6-.8 1.7-.8 1.7-.8z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".2" d="M325 194.4s2 2 1.9 3.1c-.1 1.1-2.8-1.6-3-2-.3-.6 1.2-1.1 1.2-1.1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M337.2 188.4s2.8 2.5 2.4 3c-.5.3-4.3-2.4-4.9-3-.6-.5 2.5 0 2.5 0z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M334.8 188.2l2.2 1.9s2 1.3 1.7 1.7c-.3.3-3.6-1.1-4.1-1.8-.6-.7-.6-1.4-.6-1.4l.8-.4zm7.3.6s8.4 3.4 8 4.2c-.3.8-8.8-2.7-10-3.7-1.4-.9 1.8-.6 1.8-.6"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M342.4 189.8s6.3 3.6 5.5 4c-.7.3-5.2-1-7.5-2.5a36.6 36.6 0 01-3.3-2.5l2.8-.6 2.5 1.7zm-15.5 4.4s1.2 2.4.8 3c-.4.8-1.5-.5-2.1-1.4-.6-.8 1.3-1.6 1.3-1.6zm.3 5.4s1 3.5-.1 4.2c-1.1.6-1.8-3.6-1.8-4.5 0-.9 1.9.3 1.9.3z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M322.3 193.8s3.5-1.5 4.1-1.4c0 0 .8-.2 1.1-.5l1.3-1s-.6-4.3 3.9-3.8l11.5 1.1a45 45 0 016.5 2l9 3.9a30 30 0 014 2.3c.8.5-.1.1-.1.1s-10.7-5.7-14.5-6.4c-1-.2 0 1 0 1l-3.4-1.3a6 6 0 00-2.9-.6 5.8 5.8 0 01-2.2-.3c-.6-.2-3.8-.3-4.4-.4a7.3 7.3 0 01-1-.2l.3.4-1.6-.2-.5.6s-1.5.3-1.6-.2c-.1-.4-1 2.3-1.3 3-.4.9-1.9.9-2.3 1.4l-1 .9c-.2.1-1.3.8-1.7.8l-2.9.2-.6-1 .3-.4zm4.6 10l-.1 3.3c-.2.2-1.8.1-1.8-2.2s.5-2.4.5-2.4l1.5 1.2"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.3 201.4s-.3-1.4-.5-1.6c-.3-.2 0-.3 0-.3s-.5-1.4-.9-1.6c-.3-.2.1-.4.1-.4s-.6-1-1-1.2c-.4-.3 0-.4 0-.4s-.5-1.2-1.5-1.8c0 0-.7-.7-1.4-.9-.7-.2-2.4-.4-4.5-.3-2.2 0-3.2 1.5-3.2 1.5l-.1 1.8.3-.2-.5 2.2c0 .5.5 1.4.5 2.5v1c.1 1 .4 2 .8 2.9v.2c.2-.2.5.6.7 1 0 0 0 1 .2.6l.6 1.1c0 .2.5 1.4.5.9 0-.6.4 1.3.4 1.5l.5-.7.2.8h.5l-.2.8s1.2-1 1.3-1.4v-.6l.4-.4.6-1s1.5 1.2 1.7 1.7l.3.7.4-.3.3.8.3-.4.2.6.1.3c.1.1.4.2.8-.6.6-1 .6-1.9.6-2 0-.3.3.2.3.2s.6-1 .5-1.6c0-.7.3-.4.3-.4v-2.2c0-.4.3-.3.3-.3l-.2-2.3c-.2-.2.3-.2.3-.2z"/>
+  <path d="M324.3 196.7c.3 0 .4.4.6.6-.1-.4-.3-.7-.6-.8v.2m.3 1.2c.5.5.6 1.1.5 1.8v.1c0-.7 0-1.5-.5-2v.1m1.1.7a3 3 0 01.4 1.6c0-.6 0-1.2-.4-1.7m.4 2.5c0 .4 0 .7-.2 1a.4.4 0 000 .2 11 11 0 00.2-1.2m-.4 1.9v.7a3.8 3.8 0 000-.8m.7 0c.2.1.3.3.3.6a.4.4 0 000-.1 1.2 1.2 0 00-.3-.7v.2m0-2.6l.4.5v-.2a3.1 3.1 0 00-.5-.5v.2m-1.4 2a5.9 5.9 0 010 1 6.6 6.6 0 000-1m-.7.7a5.2 5.2 0 010 1 6.2 6.2 0 000-1.1v.1"/>
+  <path fill="#452c25" d="M310.7 194.3s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M310.7 194.3s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3z"/>
+  <path fill="#452c25" d="M312.6 194.3s-1.6 1.7-1.6 2.6c0 1 2.4-1.3 2.6-1.7.2-.4-1-.9-1-.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M312.6 194.3s-1.6 1.7-1.6 2.6c0 1 2.4-1.3 2.6-1.7.2-.4-1-.9-1-.9z"/>
+  <path fill="#452c25" d="M285 194.5s-3.3 1.7-3.6 2.4c-.3.7 10-1 15.8-5l-2.3-1.4-9.8 4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M285 194.5s-3.3 1.7-3.6 2.4c-.3.7 10-1 15.8-5l-2.3-1.4-9.8 4z"/>
+  <path fill="#452c25" d="M289 195.2s-6 2.2-1.7 2.3c0 0 8.7-1.8 13.3-5.4l-1.1-1.7-10.5 4.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M289 195.1s-6 2.3-1.7 2.4c0 0 8.7-1.8 13.3-5.4l-1.1-1.7-10.5 4.7z"/>
+  <path fill="#452c25" d="M298 189s-6.5 3.4-5.8 3.7c.7.4 5.3-.6 7.7-2l3.4-2.4-2.9-.8-2.5 1.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M298 189s-6.5 3.4-5.8 3.7c.7.4 5.3-.6 7.7-2l3.4-2.4-2.9-.8-2.5 1.6z"/>
+  <path fill="#452c25" d="M295.5 196.3s-2.3 1.9-2 2.1c.2.2 5-.5 8.6-3.4l-.5-1.7-6.2 2.9"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M295.5 196.3s-2.3 1.9-2 2.1c.2.2 5-.5 8.6-3.4l-.5-1.7-6.2 2.9"/>
+  <path fill="#452c25" d="M291.5 196s-2.2 1.7-1.7 1.8c.5.1 2.3 1.5 10.6-3.9l1-.6-1.5-2-8.4 4.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M291.5 196s-2.2 1.7-1.7 1.8c.5.1 2.3 1.5 10.6-3.9l1-.6-1.5-2-8.4 4.6z"/>
+  <path fill="#452c25" d="M289.8 189.6a66 66 0 00-13.9 7.2l17.9-7m11.2 10.6s-1.5 2.3-1.2 2.5c.3.3 2.1 1.2 4.3-1.7 2-3-2-2.5-2-2.5l-1.1 1.7z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M305 200.4s-1.5 2.3-1.2 2.5c.3.3 2.1 1.2 4.3-1.7 2-3-2-2.5-2-2.5l-1.1 1.7z"/>
+  <path fill="#452c25" d="M306.6 202s-1 2.4-.5 2.6c.6.3 2-.1 3.2-2.2 1.2-2.2-.6-1.1-.6-1.1l-2 .7zm-3.3-3.5s-2.2 2.7-1.7 3.1c.4.4 3 .3 4.9-2.4 1.9-2.6 0 0 0 0l-.5-2.5-2.7 1.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M306.6 202s-1 2.4-.5 2.6c.6.3 2-.1 3.2-2.2 1.2-2.2-.6-1.1-.6-1.1l-2 .7zm-3.3-3.5s-2.2 2.7-1.7 3.1c.4.4 3 .3 4.9-2.4 1.9-2.6 0 0 0 0l-.5-2.5-2.7 1.7"/>
+  <path fill="#452c25" d="M301.2 197.1s-2.2 2.6-2 3c.2.5 3.2.3 5.6-2.2s.5-3.5.5-3.5l-4 2.6"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M301.2 197.1s-2.2 2.6-2 3c.2.5 3.2.3 5.6-2.2s.5-3.5.5-3.5l-4 2.6"/>
+  <path fill="#452c25" d="M297.4 197.3l-1.4 1.9s.3 1.8 5.1-1.5l4.5-3-2.5-.5-5.8 3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M297.3 197.2l-1.3 2s.3 1.8 5.1-1.5l4.5-3-2.6-.5-5.7 3z"/>
+  <path fill="#452c25" d="M282.2 194.5l-3 1.3s-.7.6 1 .7c1.8 0 5.5-.5 11.9-4 2.8-1.7 4.7-3.3 4.7-3.3l-2.4-.8-12.2 6z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M282.2 194.5l-3 1.3s-.7.6 1 .7c1.8 0 5.5-.5 11.9-4 2.8-1.7 4.7-3.3 4.7-3.3l-2.4-.8-12.2 6z"/>
+  <path fill="#452c25" d="M277 196.4s4.4-.5 6-1.6c0 0-.3.5 2-.4 0 0-1.2 2 5.3-2 6.5-3.8 0 0 0 0l7.2-4.1-.4-.8-14.7 6.2c-1 .3-5.4 2.7-5.4 2.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M290.3 192.4l7.2-4.1-.4-.8-14.7 6.2c-1 .3-5.4 2.7-5.4 2.7s4.4-.5 6-1.6c0 0-.3.5 2-.4 0 0-1.1 2 5.3-2z"/>
+  <path fill="#452c25" d="M308.5 202s-.4 3.4.1 3.5c.5.1 2-1 2.6-3 .6-2.2-2.4-2-2.4-2l-.4 1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M308.5 202s-.4 3.4.1 3.5c.5.1 2-1 2.6-3 .6-2.2-2.4-2-2.4-2l-.4 1.3"/>
+  <path fill="#452c25" d="M310.8 203.5s-.3 2.4 0 2.6c.4.3 1.3.4 2.3-1.6 1-2 .5-1.3.5-1.3l-2.3-1.2-.5 1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M310.8 203.4s-.3 2.5 0 2.7c.4.3 1.3.4 2.3-1.6 1-2 .5-1.3.5-1.3l-2.3-1.2-.5 1.4z"/>
+  <path fill="#452c25" d="M311.4 199s-1.9 4-.8 4c1 0 2.5-3 2.7-3.7.2-.7-1.9-.3-1.9-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M311.4 199s-1.9 4-.8 4c1 0 2.5-3 2.7-3.7.2-.7-1.9-.3-1.9-.3z"/>
+  <path fill="#452c25" d="M311.3 199s-.8 4.5.2 4c1-.3 1.6-3.7 1.7-4.4 0-.7-2 .4-2 .4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M311.3 199s-.8 4.5.2 4c1-.3 1.6-3.7 1.7-4.4 0-.7-2 .4-2 .4z"/>
+  <path fill="#452c25" d="M312.8 199.4s-1.1 3.5 0 4.2c1 .7 1.8-3.4 1.9-4.3 0-1-2 .1-2 .1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M312.8 199.4s-1.1 3.5 0 4.2c1 .7 1.8-3.4 1.9-4.3 0-1-2 .1-2 .1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M308.4 198.3s-1 3.2-.4 3.5c1.2.6 2.3-2.2 2.4-3.3.1-1.2-2-.2-2-.2zm-7.9-6.6s-2.8 2.4-2.5 2.7c.3.4 3.6-.2 5.1-1.3l2.1-1.5-2.5-1.6-2.2 1.7z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M303 189.3s-1.8 1.5-1.5 1.9c.4.3 3.6-1 4.2-1.7.6-.6.6-1.3.6-1.3l-3.3 1.1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M304.9 189s-2.5 2.1-1.9 2.9c.6.7 4-2.6 4.5-3 .5-.4-2.9 0-2.9 0"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M303.8 188.2l-5 2.3s-4.2 2.7-3.8 3c.4.3 3.7-.6 6-1.7a37.9 37.9 0 005-3.1m-.9 2.1s-5.3 4.7-4.5 5.1c.8.5 4.4-1.4 6.8-3.7"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M305.8 192.4s-3 5-2.7 5.6c.4.5 2.6-1.2 3.7-2.5s2-3.2 2-3.2"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M307.6 192.8s-3.3 6.1-3 6.6c.4.5 2.4.1 3.5-2.3 1.2-2.4 1-4 1-4l-1.5-.3z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M309.5 193.1s-3.7 7.6-3 8.3c.8.8 4.8-5.7 5-6.6.3-1.6-2-1.8-2-1.8m-7.7-4.9s-3.3 1.6-2.7 2c.7.2 3.8-1.2 4.2-1.3.5-.1-1.5-.7-1.5-.7z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M302.3 188.6s-2 1.6-1.6 2c.4.5 3.5-1.2 4-1.7.7-.5-2.4-.3-2.4-.3zm4.3.2s-2.8 3.7-2 3.8c.9.2 4.1-2.4 4.2-2.8 0-.5-2.2-1-2.2-1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M307.8 189.6s-3 3.7-2.1 4c.8.2 1-.4 1-.4s2.3-2 2.4-2.5c.2-.5-1.2-1.2-1.2-1.2"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M308.7 190.5s-2.1 3.7-1.6 4c.6.2 1.5-.8 2.4-1.9.9-1-.8-2.1-.8-2.1z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M309.3 192.2s-1.3 2.3-1 3c.4.8 1.6-.5 2.2-1.3.6-.8-1.2-1.7-1.2-1.7zm.5 6.5s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3z"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M315.7 194.4s-.9-.3-1.5-.3c0 0-1.9-1.4-3-1.6-1-.1 0-.2 0-.2s-.2-2.4-.5-2.6c0 0-.1-2.5-1.7-2.6-1.6-.2-5.1.1-5.7-.1-.7-.3-2.6-1-6.3 0-3.8 1-11.2 4.3-11.6 4.4-.4 0 8.5-2 11-3l3.3-.5s-2.8 1.4-.2.8c2.6-.6 2 0 2 0s-.2.6 1.3.3c1.4-.4 1.4 0 1.4 0s1.7.6 3-.2c0 0 .7 2.3 1.6 2.6 0 0 1 2.2 3.1 2.6l1.2.9 1.2.4 1.3-1"/>
+  <path fill="#452c25" stroke="#000" stroke-width=".1" d="M298.3 188s-8.6 3-8.3 3.9c.4.8 9-2.4 10.3-3.2 1.4-1-2-.7-2-.7"/>
+  <path d="M321.8 194.6l.5.2a1.5 1.5 0 00-.3-.3l-.7-.3.1.2.4.2M315 201c.2.2.2.5.3.8v-.2c-.1-.2-.1-.5-.3-.7v.1m1.2-6.5l.9-.2v-.1l-.9.1v.2m1.7-.2l.8-.1a.3.3 0 000-.1 2 2 0 00-.8.1v.1m-3 1.5a.3.3 0 000 .2v-.2m-.1 4.6a4.8 4.8 0 000 .7.4.4 0 000-.1v-.6"/>
+  <path fill="#bd8759" d="M316.6 213.9s-1 .7-1 1a3.8 3.8 0 00-.2.8s.8-.1.7.3c0 0 .3.2.8-.8.4-1 .8-1.5 1.1-1.5.4 0 .8.4 1 .6.2.2.4.4.8.3 0 0-.4-.6-.2-.7l.6-.1s-.3-.7-.9-.8c-.6-.1-1-.3-1-.6.2-.2 1-2.4 1-2.4l-1-1.5-.5 1.3.2 1-1 2.1c0 .1-2.4 1-2.7 1l-.8.9v.5s.3-.4.4-.2c0 0 .3-.3.6-.2.2.1.1.2.1.2l.5-.4.1-.1.6-.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M316.6 213.9s-1 .7-1 1a3.8 3.8 0 00-.2.8s.8-.1.7.3c0 0 .3.2.8-.8.4-1 .8-1.5 1.1-1.5.4 0 .8.4 1 .6.2.2.4.4.8.3 0 0-.4-.6-.2-.7l.6-.1s-.3-.7-.9-.8c-.6-.1-1-.3-1-.6.2-.2 1-2.4 1-2.4l-1-1.5-.5 1.3.2 1-1 2.1c0 .1-2.4 1-2.7 1l-.8.9v.5s.3-.4.4-.2c0 0 .3-.3.6-.2.2.1.1.2.1.2l.5-.4.1-.1.6-.1"/>
+  <path fill="#bd8759" d="M323.1 209.2v2.1c0 .3 0 .8-.2 1.1-.2.3-.4.5-.7.5-.3 0-1 0-1.2.3l-.3.4s.5-.3.6 0l-.2.6.9-.2.8-.3.4.2v1c0 .4 0 1.2.3 1.2l.4-.5.5.5-.1-1.2a6.7 6.7 0 01-.3-1l1.5.6c0 .2.4.5.5.5.1 0 0-.5.2-.5.3-.1.4 0 .4 0s-.4-.8-1-1c-.5-.4-1-.4-1.2-.6l-.3-.9v-2.8l-1-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M323.1 209v2.3c0 .3 0 .8-.2 1.1-.2.3-.4.5-.7.5-.3 0-1 0-1.2.3l-.3.4s.5-.3.6 0l-.2.6.9-.2.8-.3.4.2v1c0 .4 0 1.2.3 1.2l.4-.5.5.5-.1-1.2-.3-1s1.4.5 1.5.7l.5.4c.1 0 0-.5.2-.5.3-.1.4 0 .4 0s-.4-.8-1-1c-.5-.4-1-.4-1.2-.6l-.3-.9v-2.8l-1-.2z"/>
+  <path fill="#dcddde" d="M315 197.3s0-1.3.3-1.4c0 0 .1-1.2 1.7-1 0 0 .5-.9 1.4-.4 0 0 .8-.4 1.3-.2l1 .7s.7-.1 1 .1c.3.3.2 1.1.2 1.1s.8.6.8 1.1v.9s.3.3.2.7c0 .4-.4 1-.4 1-.1 0 0 1-.3 1.3l-.8.5c-.2 0-.6.6-1 .6-.3 0-.8-.5-.8-.7 0-.2-.6-.4-.6-.4s-1 1.2-1.8 1c-.8-.2-1.1-.8-1.2-1l-.3-1s-.8-.4-.7-.9c0-.4.4-1 .4-1l-.3-1z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M317.8 212l-.2-.1m.6-.9a.8.8 0 01-.3-.1m0 .6h.2m5.5.5l.5.2m-.2-.6h-.3m.4-.5a.9.9 0 01-.5 0m0 1.8l.4.1m-.4.5a.2.2 0 01.2 0m-.1 1.6a.4.4 0 01.3 0m-5.1-2a.3.3 0 00-.3.1m1-.1c-.1.1-.3.2-.3.4m-4.5.5l.4.3m10-1a.3.3 0 00-.3.3m.7-.1a.2.2 0 000 .2"/>
+  <path fill="#d9c0b9" d="M313.4 215h.6s-.3.7-.2.8c0 .2-.5-.3-.3-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M313.4 215h.6s-.3.7-.2.8c0 .2-.5-.3-.3-.7z"/>
+  <path fill="#d9c0b9" d="M315.6 215.5s-.7 1 .1 1.5c0 0 0-1 .6-1.1l-.8-.4z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M315.6 215.5s-.7 1 .1 1.5c0 0 0-1 .6-1.1l-.8-.4z"/>
+  <path fill="#d9c0b9" d="M319.6 214.5l-.2-.5.2-.3h.6s.4.9 0 1.3c0 0 0-.5-.2-.5h-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M319.6 214.5l-.2-.5.2-.3h.6s.4.9 0 1.3c0 0 0-.5-.2-.5h-.4z"/>
+  <path fill="#d9c0b9" d="M321 213.4h.3l.1.3v.3l-.3.2s-.5-.2-.4.5c0 0-.3-1.2.2-1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M321 213.4h.3l.1.3v.3l-.3.2s-.5-.2-.4.5c0 0-.3-1.2.2-1.3z"/>
+  <path fill="#d9c0b9" d="M323.5 215.9l.4-.4.4.2-.3 1.2-.2-.3-.3-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M323.5 215.9l.4-.4.4.2-.3 1.2-.2-.3-.3-.7z"/>
+  <path fill="#d9c0b9" d="M326 214.8l.5 1s.6-.6-.2-1.5l-.4.5z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M326 214.8l.5 1s.6-.6-.2-1.5l-.4.5z"/>
+  <path d="M323.3 195.9l.2.2v-.1l-.2-.2m.1 2.2l.4.7v-.2a1.7 1.7 0 00-.4-.7v.2m-.4-1.6l.5.6v-.2l-.5-.5v.1m.5 3.5c0 .3 0 .6-.2.8v.2c.2-.4.2-.7.2-1.1a.5.5 0 000 .1m.5 1v.5a.4.4 0 000 .1 2.2 2.2 0 000-.6m1.8 3.9a4.8 4.8 0 01.1 1.3l-.1-1.5v.2m-.3.8l-.4 1 .4-.8v-.2m-10.3-2.9l.7 1.2v-.1l-.7-1.2v.1m1.8 0c-.2 0-.3-.3-.5-.4v.2c.2 0 .3.4.5.4v-.2m-1 1.8l.5 1v-.2l-.5-1v.2m1.2.4l.5.8v-.1c0-.3-.3-.6-.5-.8m0 1.3l.2.7v-.1l-.3-.7v.1m1.1.3a2.8 2.8 0 01.1.7 3.3 3.3 0 000-.9v.2m-.5 1c0 .3.1.7.3 1v-.2a3.2 3.2 0 01-.3-.9.4.4 0 000 .1m.2-4.4l.8.3v-.1a8 8 0 01-.8-.3v.1m.2 1.2l1 .4c-.3-.3-.7-.4-1-.6v.2m.3 1.2l.6.6v-.1a4.5 4.5 0 01-.6-.6v.1m.4 1.6l.2.7a1.8 1.8 0 00-.2-.8v.1m1-4v.5a10 10 0 010-.5m2.3-.9a3.6 3.6 0 01-.2.5v.1l.2-.4v-.2m1 0v.8a.4.4 0 000 .1 4.2 4.2 0 000-1m.2 1.6v.7a3.7 3.7 0 000-.8m.7 1.5c0 .3-.2.6-.5.8v.1c.3-.2.5-.4.5-.8m-2.4-1.5l-.2.4v.1l.2-.4m.3 1.8a1.9 1.9 0 01-.4.4v.1c.2 0 .3-.2.4-.3v-.1m-.9 1c-.3-.4-.4-.8-.3-1.3v-.1c-.2.5 0 1 .3 1.5v-.2m-1-1l-.1.5v-.6m2.6 1.3c0 .3-.2.5-.3.7v.1l.3-.6v-.2m1.7.7a9.2 9.2 0 01-.5.7v.2l.5-.8m.8.8a17 17 0 00-.2 1.3v.1l.2-1.3a.6.6 0 000-.1m1-1.6v.5-.5M315 202l.1 1.3v-.2a2.2 2.2 0 01-.1-1 .6.6 0 000-.1"/>
+  <path fill="#fff" d="M318.8 196.3c.7-.6 1.7-1.3 2.7-1v-.2c-1-.2-2 .5-2.7 1.1v.1m3.5.8c-.8-.5-2-.6-2.7 0 .7-.5 2-.3 2.7.2v-.2m-2.8 1.1c.3 1 .7 2 .5 3 .2-1-.2-2-.5-3m-1.1.6v3c0-1 .2-2 0-3.1a.4.4 0 000 .1m1.5-.7c1 .2 1.9.9 2.4 1.7v-.1a3.9 3.9 0 00-2.4-1.7v.1m-.8 1.3c0 .6 0 1.2-.2 1.8.2-.5.2-1.2.2-1.8m1.4-.1a3.1 3.1 0 011.2 2v-.1a3.2 3.2 0 00-1.2-2m-4.3 1.7c.2-.3.4-.6.8-.7v-.1c-.4 0-.6.4-.8.7v.1m1.4-5c-.1-.6-.5-1-1-1.2v.1c.5.3.9.6 1 1.2v-.2m-.8 0c-.5-.2-1-.2-1.5-.2a.3.3 0 000 .1c.5 0 1 0 1.5.3v-.2m1.5 0c0-.6 0-1-.4-1.3.3.3.5.7.4 1.2m1.8.7c.5-.3 1-.2 1.5-.2v-.2c-.5 0-1 0-1.5.2v.2m.9 1.2a2.6 2.6 0 011.7 1v-.3a2.6 2.6 0 00-1.7-1v.3m-3.1 2c-.2.6 0 1.5-.9 1.8v.2c.8-.3.7-1.1.9-1.8v-.3"/>
+  <path fill="#fff" d="M319.5 199c.3.7.7 1.4.5 2.2a.9.9 0 000 .3c.2-1-.1-1.8-.5-2.7v.2m1-.1c.7 0 1.3.7 1.4 1.4a1 1 0 000-.2 1.7 1.7 0 00-1.4-1.5v.3m0 1c.1.6.3 1.2.1 1.8v.2c.3-.7 0-1.5 0-2.2a1 1 0 000 .2m-.4-2.6c.7-.1 1.5-.2 2.2.3v-.3c-.7-.5-1.5-.4-2.2-.2v.2m-1.4-1.5c0-.6.6-1 1.2-1.3v-.2c-.6.2-1.2.6-1.3 1.3a1 1 0 000 .2m-.6.4c0-.7-.4-1.3-.7-1.9v.2c.3.6.6 1.1.6 1.8v-.1m-.6.4a2 2 0 00-1-1.4v.3c.5.3.9.7 1 1.3a.8.8 0 000-.2m-1-.3a2.9 2.9 0 00-1.2-.5v.2c.5 0 .8.3 1.2.5v-.2m2.2 3c0 .6.2 1.3-.2 1.9v.2c.4-.7.3-1.6.2-2.3v.1"/>
+  <path fill="#fff" d="M319.4 198.9c.2.6.5 1.3.4 2a5.8 5.8 0 00-.4-2.3v.3m.5-1c.6.3 1.3.5 1.7 1v-.3a3.6 3.6 0 00-1.7-.9v.3m-1.7-1.4a14.8 14.8 0 000-1.7 11.8 11.8 0 010 1.7m-1.2-.4a5.6 5.6 0 01-1.2-.8v.2l1.2.9v-.3m-.2 3.3c-.3.2-.5.5-.6.8v.2a1.6 1.6 0 01.6-.7v-.3m.9.5c0 .5-.3.9-.6 1.2v.2c.4-.4.6-.8.6-1.3 0 0 0-.3 0 0m2.1-3.6c.4-.6 1.3-.7 1.9-.9v-.2c-.6.2-1.5.2-2 .8v.3m-4 0a2 2 0 01-.5-.3v.2l.4.2v-.2m.1 3l-.4.3v.1a.7.7 0 000 .1.8.8 0 01.4-.2.7.7 0 000-.2m.5.1l-.6.6v.2l.6-.6v-.2m1 .3c-.1.6-.8 1.2-.3 1.8v-.2c-.3-.5.2-1 .4-1.4v-.2m.7 0c0 .6 0 1.1-.2 1.7a.9.9 0 000 .2 9.8 9.8 0 00.2-2m1.9-.6c.4.5.8 1.1 1 1.8v-.2a5 5 0 00-1-1.9v.3m.2-.5c.7.6 1.5 1 2 1.8v-.2c-.5-.8-1.3-1.3-2-1.8v.2"/>
+  <path fill="#fff" d="M320.5 197.8h.8l.6.5.6.4c.2.2.2.6.3.9a.7.7 0 000-.2l-.2-.7c0-.2-.3-.4-.5-.5l-.7-.4a1.4 1.4 0 00-.9-.2v.2"/>
+  <path fill="#fff" d="M322.3 199.3l.2.6v-.1l-.2-.7v.2m-2-3.6l1.5-.4v-.3l-1.5.4v.3m-2 .2c0-.2.1-.5.3-.7l.4-.8v-.3l-.4.7c0 .3-.3.5-.4.9v.2m-1.7 4.6l.1 1.3v-.2a1.4 1.4 0 010-.8.7.7 0 000-.2s0-.1 0 0m1 .7c-.2.3-.2.6-.1 1a.3.3 0 000-.2v-.7m.8-.5l-.2.7v.2l.2-.8s0-.2 0 0m0-1.5v.4-.5.1m-.3.2v.1a.7.7 0 000 .3v-.7.4m-.5-.2l-.1.5a.8.8 0 000 .2 3.3 3.3 0 01.1-.4v-.2m-.4 0l-.8.6v.3l.8-.7v-.2m-.6 0a1.6 1.6 0 01-.5.3v.3c.2 0 .3-.2.5-.3v-.2m-1-.3l-.4.2v.2c.2 0 .3 0 .4-.2v-.2m2.9 0v.4a.8.8 0 000-.2v-.4.1m.4-.2l.1.6v-.3a1 1 0 010-.3v-.1.1m.3 0v.3h.1a.8.8 0 00-.1-.6v.2m.4-.2l.4.2v-.2a.8.8 0 00-.4-.2v.2m.2-.3l.6.3v-.3a1.2 1.2 0 01-.6-.3v.2m.5-1h.4v-.2a2.3 2.3 0 00-.4-.1v.3m-.3-.6l.4-.3v-.3l-.4.4v.2m-.4-.5a1 1 0 01.2-.5v-.2a1 1 0 00-.2.7m-.3-.2l.4-.8v-.2l-.4.7v.2"/>
+  <path fill="#fff" d="M318.6 195.3v.9a.7.7 0 000-.3 3.7 3.7 0 010-.7v.1m-1.3.2l.2.3v.6l.1-.5-.3-.6v.2m-.2.5a4.5 4.5 0 00-.6-.4v.2l.6.5v-.2m.8.2c0-.6 0-1.2-.2-1.7v.3c.2.4.3.7.2 1.2a.8.8 0 000 .1m1.2-.7v-.2.2"/>
+  <path fill="#fff" d="M317.7 196.3l.2-1v-.2l-.2 1v.2m3.5 2c.3 0 .6.3.7.6v-.4c-.1-.3-.4-.5-.7-.6v.4m-1 2a1 1 0 010 .4 1.2 1.2 0 000 .3h.1v-1 .3m-.8-.5v1.2s0 .2 0 0v-1.4.2m-.4.4l-.3 1.2a1 1 0 000 .3s0 .1 0 0l.3-1.2v-.3m.5.2v1.1a1.3 1.3 0 000 .3v-1.6.2m-2.6.2a.6.6 0 010 .1v.4c.1-.2.1-.6 0-.8 0-.1 0 0 0 0v.3m1.2-.8v.4c0-.3.1-.6 0-.8v.3m.3 0a.4.4 0 01.1 0v.1a.8.8 0 000 .1v-.2l-.1-.5a1.3 1.3 0 000 .2v.2m.4-.3l.1.3v-.3l-.1-.4a.9.9 0 000 .1v.2m.8-.2l.5.6v-.4a9.3 9.3 0 01-.5-.6v.4m.5-.8l.3.6v-.4a4.1 4.1 0 01-.3-.5v.3m-4.3-2a1.7 1.7 0 00-.4-.2 1.1 1.1 0 000 .2v.2l.4.3v-.4m1.3-.5a.5.5 0 010 .1.8.8 0 000 .2v-.3a1 1 0 000-.4.8.8 0 000 .2v.2m1-1v.8c-.1 0-.1.1 0 .2v.1l.1-1.2a.6.6 0 000-.1v.2m.2 1.5l.5-.7v-.3l-.5.6v.4m.7 0l.2-.3v-.4l-.2.2a1.3 1.3 0 000 .2v.2m1 .2a7.6 7.6 0 01-.8 0v.4h.8v-.4m-.3.9l1 .6v-.4l-1-.6v.4"/>
+  <path fill="#fff" d="M320 198l.8.5v-.4l-.8-.5a2 2 0 000 .2v.2m-2-1.4l.1-.5v-.2.6m-2.3-1c.2.3.5.6.9.8l.6.7s.1-.4 0-.4l-.6-.6-1-.9c.1 0 0 .3 0 .4m.6 1a7.7 7.7 0 01-.4-.4 1.6 1.6 0 000 .2v.1l.4.5v-.3m-.3 2.5l-.3.6v.4l.3-.6v-.4m.3.4l-.1.6a1.3 1.3 0 000 .3l.1-.8v-.2a.6.6 0 000 .1m1 1.8c.2-.6.2-1.3.2-2v.2c0 .5 0 1-.2 1.4v.4m.6-1.5v.6a1.3 1.3 0 000 .3v-1.3a.6.6 0 000 .2v.2m.6-.2c.2.2.3.6.2 1v.1c.1-.5.1-1-.2-1.5v.4"/>
+  <path fill="#fff" d="M318.6 199.3a12.6 12.6 0 01.3 1.7v-.3l-.2-1.7v.3m.5-.1l.6 1v-.3l-.6-1v.3m1.1-1c0-.1-.3-.2-.5-.1v.3c.2 0 .4 0 .5.2v-.3"/>
+  <path fill="#fff" d="M319.7 198.1a7.5 7.5 0 011.1 0v-.4a7.5 7.5 0 00-1 0c-.1 0 0 .4 0 .4m.6-3c-.3.4-.4.9-.5 1.3v.3s0 .1 0 0c0-.4.2-.8.5-1.1v-.5m-1.5.4l.2 1a.7.7 0 000-.2v-.2l-.2-1v.4m-.3.5a1.6 1.6 0 01-.3-.5.8.8 0 000 .2v.2l.2.5v-.3m-.5.2a4 4 0 01-1.2-.6v.4l1.2.6s.1-.4 0-.4"/>
+  <path fill="#dba05f" d="M318.5 196.2l-2.2.4-1.8.2-1.3-.4c-.3 0-1.6-.2-2 .3l-.9.8c-.1.1-.7.6-.7.9 0 .2.1.5.4.5.3 0 .9.6.9.7 0 .3.8.5 1.5.5 1.3 0 2-.7 4-.5 1 .2 3-.7 3.4-1.2.4-.5.6-1 .2-1.7-.3-.6-1.4-.5-1.5-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M318.5 196.2l-2.2.4-1.8.2-1.3-.4c-.3 0-1.6-.2-2 .3l-.9.8c-.1.1-.7.6-.7.9 0 .2.1.5.4.5.3 0 .9.6.9.7 0 .3.8.5 1.5.5 1.3 0 2-.7 4-.5 1 .2 3-.7 3.4-1.2.4-.5.6-1 .2-1.7-.3-.6-1.4-.5-1.5-.5z"/>
+  <path d="M311.4 198.1v-.1l.1-.1.1-.2a.8.8 0 01.4-.3h.5-.2.2-.2l-.3.1c-.3 0-.3.4-.6.6"/>
+  <path fill="none" d="M311.3 198l.4-.4.6-.3h.3"/>
+  <path fill="none" d="M312 197.4l-.4.3c0 .2-.3.3-.3.3m.7-.5h.5m-.6 0h.5"/>
+  <path d="M312.4 197.9v-.1l-.2.1-.1.1-.3.2-.3.1.4-.2-.4.2.4-.1-.3.1h.1s.3 0 .7-.4"/>
+  <path fill="none" d="M312.3 197.8l-.3.2-.3.2-.2.1m.4-.1l.2-.2.2-.2m-.4.4l-.3.1m.4-.1l-.3.1"/>
+  <path fill="#c6262c" d="M312.9 196.5s0-.6-.6-.8c-.5-.2-1-.2-1.3-.2l-.5.2a2.5 2.5 0 00-.6.2l-.1.2c-.1.2-.4.4-.3.6.2.3 0 .3.2.3s-1 .3-.8.8c.3.6.5.4.6.3l.5-.2.7-.7 1-.4h.5l.7-.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M312.9 196.5s0-.6-.6-.8c-.5-.2-1-.2-1.3-.2l-.5.2a2.5 2.5 0 00-.6.2l-.1.2c-.1.2-.4.4-.3.6.2.3 0 .3.2.3s-1 .3-.8.8c.3.6.5.4.6.3l.5-.2.7-.7 1-.4h.5l.7-.3z"/>
+  <path d="M312.2 197.8c0 .1-.1.3-.3.3h-.3s.1-.4.3-.4h.3"/>
+  <path fill="#d9c0b9" d="M308.6 200.2s-.7-1.2 1.2-1.8c0 0 .6.3.8.6 0 0-.4.5-1.5.7 0 0-.5.1-.5.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M308.6 200.2s-.7-1.2 1.2-1.8c0 0 .6.3.8.6 0 0-.4.5-1.5.7 0 0-.5.1-.5.5z"/>
+  <path fill="#d9c0b9" d="M308.8 200s.8.2 1.3-.2c.5-.3.6-.2.7-.1 0 0 0-.4-.2-.7l-1 .5c-.4.2-.7.1-.8.5"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M308.8 200s.8.2 1.3-.2c.5-.3.6-.2.7-.1 0 0 0-.4-.2-.7l-1 .5c-.4.2-.7.1-.8.5z"/>
+  <path fill="#7a2e26" d="M311 199.6h.5v-.1h-.5a.3.3 0 000 .1m-.3-2l-.1.2v.1l.1-.2v-.1m.5.2l.3-.2v-.1c-.2 0-.3 0-.3.2v.1m.5.8a.3.3 0 00.2-.2.3.3 0 01-.2 0v.2m.4-.2a.8.8 0 00.4-.3v-.1a.7.7 0 01-.4.3v.1m-.7-.7c0 .2-.2.2-.3.4v.1c0-.1.3-.2.3-.4m.3 2c.4 0 .7 0 1-.2a3.1 3.1 0 01-1 0v.2m1.6 0c.4-.4.8-.7 1-1.3a2 2 0 01-1 1v.2m.3-.8c.3-.2.5-.4.6-.8v-.1a1.6 1.6 0 01-.6.8v.1m-.2-2l.7.4v-.1l-.7-.4v.2m6.3 1c.2-.5 0-1-.2-1.4.2.4.4.8.2 1.2v.2m-4.8-.7c.3.2 1 .7.8 1.2.3-.5-.4-1-.8-1.3v.1m2.1 2a1.4 1.4 0 00.1-.3 1.3 1.3 0 010 .3"/>
+  <path fill="#5e3f17" d="M317.9 199.2l.5-.2m-8.5-.3c-.3.2-.8.2-1 .7.2-.5.7-.5 1-.6"/>
+  <path fill="#842116" d="M309.7 197.3c.1 0 .3 0 .3.2a.4.4 0 000 .1.7.7 0 000-.3l-.3-.1m.7.4a.7.7 0 00-.1-.6v.5m.6-.5c0-.3-.1-.5-.3-.6v.1c.2.1.3.4.3.6a.4.4 0 000-.1m.5-.1c0-.3 0-.5-.2-.6v.1l.2.3a.4.4 0 000 .1m-.8-.7c.4-.2 1.4-.3 1.8.2v-.2c-.4-.4-1.4-.3-1.8 0"/>
+  <path fill="#7a2e26" d="M309.5 198.1v-.5s-.1 0 0 .1v.4m4.7 1.4a.6.6 0 00.3-.5.6.6 0 01-.3.3v.2m.7 0a.4.4 0 00.1-.3v-.1.3m4.3-2.4a1 1 0 010 .7.4.4 0 000 .1v-.9.1m-.5.5v.7c.1-.3.2-.6 0-.9v.2m-.4.3"/>
+  <path fill="#452c25" d="M324.3 210.5v.2l.1.1-.1-.4z"/>
+  <path fill="#dcddde" d="M314.4 195c-1.7 0-3.3-1-3.3-1a2.7 2.7 0 01-2.3-2.4c-.8-.4-1.6-2.5-1.6-2.5-1.3.7-3 0-3 0s0-.4-1.4 0c-1.5.3-1.3-.3-1.3-.3s.6-.6-2 0 .2-.8.2-.8c-.8.2-3.3.4-3.3.4-.9 0-1.8.5-2.8.8l-2.3.6-6.8 3-5.5 2.1c.2 0 3.4-2.1 7.5-4a87.8 87.8 0 0110.3-3.9 9.9 9.9 0 016.5 0c.6.2 4.2 0 5.7 0 1.6.3 1.8 2.9 1.8 2.9.3.1.4 2.6.4 2.6s-1 0 .1.1c1 .2 2.9 1.7 2.9 1.7h.7s.4-.5.9-.7l1.5-.5a11.6 11.6 0 012 0l2 .3 1.2.3h.5c1-.5 3-1.2 3.4-1.1 0 0 .7-.2 1.1-.5a105 105 0 001.3-1s-.6-4.5 3.9-4l11.5 1.2a43.9 43.9 0 016.5 1.8l5.2 2.4 4 1.7c2.3 1 4 2.4 4 2.4-1.5-.6-2.6-1.3-3.7-1.8-.9-.4-1.8-.5-2.6-.9l-3.6-1.7c-3.5-1.6-3.5-1.7-4.9-1.8-1 0 .7 1.2.7 1.2l-4.1-1.7a6 6 0 00-2.9-.5 5.8 5.8 0 01-2.2-.3c-.6-.2-3.8-.3-4.4-.4a7.3 7.3 0 01-1-.2l.2.4-1.5-.3-.5.7s-1.5.3-1.6-.2c-.1-.5-1 2.2-1.3 3-.4.8-2.2.6-2.7 1-.4.5-1.4.9-1.6 1h-1.3c-.6 0-.1 0-1 .3 0 0-.9 0-1.2-.2l-1.4-.4a27.5 27.5 0 00-3.5-.2 5.4 5.4 0 00-2.7 1.1"/>
+  <path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M314.4 195c-1.7 0-3.3-1-3.3-1a2.7 2.7 0 01-2.3-2.4c-.8-.4-1.6-2.5-1.6-2.5-1.3.7-3 0-3 0s0-.4-1.4 0c-1.5.3-1.3-.3-1.3-.3s.6-.6-2 0 .2-.8.2-.8c-.8.2-3.3.4-3.3.4-.9 0-1.8.5-2.8.8l-2.3.6-6.8 3-5.5 2.1c.2 0 3.4-2.1 7.5-4a87.8 87.8 0 0110.3-3.9 9.9 9.9 0 016.5 0c.6.2 4.2 0 5.7 0 1.6.3 1.8 2.9 1.8 2.9.3.1.4 2.6.4 2.6s-1 0 .1.1c1 .2 2.9 1.7 2.9 1.7h.7s.4-.5.9-.7l1.5-.5a11.6 11.6 0 012 0l2 .3 1.2.3h.5c1-.5 3-1.2 3.4-1.1 0 0 .7-.2 1.1-.5l1.3-1s-.6-4.5 3.9-4l11.5 1.2a43.9 43.9 0 016.5 1.8l5.2 2.4 4 1.7c2.3 1 4 2.4 4 2.4-1.5-.6-2.6-1.3-3.7-1.8-.9-.4-1.8-.5-2.6-.9l-3.6-1.7c-3.5-1.6-3.5-1.7-4.9-1.8-1 0 .7 1.2.7 1.2l-4.1-1.7a6 6 0 00-2.9-.5 5.8 5.8 0 01-2.2-.3c-.6-.2-3.8-.3-4.4-.4a7.3 7.3 0 01-1-.2l.2.4-1.5-.3-.5.7s-1.5.3-1.6-.2c-.1-.5-1 2.2-1.3 3-.4.8-2.2.6-2.7 1-.4.5-1.4.9-1.6 1h-1.3c-.6 0-.1 0-1 .3 0 0-.9 0-1.2-.2a17.9 17.9 0 00-1.4-.4c-.5-.2-3.1-.2-3.5-.2a5.4 5.4 0 00-2.7 1.1"/>
+  <path fill="#452c25" d="M314.6 194.4s-.2.2-.2.5v.2"/>
+  <path fill="#574f4c" d="M323.3 194l.7.5a.5.5 0 00-.1-.1 6.5 6.5 0 00-.7-.6.6.6 0 000 .1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bq.svg
new file mode 100644
index 0000000..4b74eb4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bq.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bq" viewBox="0 0 640 480">
+  <path fill="#21468b" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h640v320H0z"/>
+  <path fill="#ae1c28" d="M0 0h640v160H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/br.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/br.svg
new file mode 100644
index 0000000..3252a8e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/br.svg
@@ -0,0 +1,45 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-br" viewBox="0 0 640 480">
+  <g stroke-width="1pt">
+    <path fill="#229e45" fill-rule="evenodd" d="M0 0h640v480H0z"/>
+    <path fill="#f8e509" fill-rule="evenodd" d="M321.4 436l301.5-195.7L319.6 44 17.1 240.7 321.4 436z"/>
+    <path fill="#2b49a3" fill-rule="evenodd" d="M452.8 240c0 70.3-57.1 127.3-127.6 127.3A127.4 127.4 0 11452.8 240z"/>
+    <path fill="#ffffef" fill-rule="evenodd" d="M283.3 316.3l-4-2.3-4 2 .9-4.5-3.2-3.4 4.5-.5 2.2-4 1.9 4.2 4.4.8-3.3 3m86 26.3l-3.9-2.3-4 2 .8-4.5-3.1-3.3 4.5-.5 2.1-4.1 2 4.2 4.4.8-3.4 3.1m-36.2-30l-3.4-2-3.5 1.8.8-3.9-2.8-2.9 4-.4 1.8-3.6 1.6 3.7 3.9.7-3 2.7m87-8.5l-3.4-2-3.5 1.8.8-3.9-2.7-2.8 3.9-.4 1.8-3.5 1.6 3.6 3.8.7-2.9 2.6m-87.3-22l-4-2.2-4 2 .8-4.6-3.1-3.3 4.5-.5 2.1-4.1 2 4.2 4.4.8-3.4 3.2m-104.6-35l-4-2.2-4 2 1-4.6-3.3-3.3 4.6-.5 2-4.1 2 4.2 4.4.8-3.3 3.1m13.3 57.2l-4-2.3-4 2 .9-4.5-3.2-3.3 4.5-.6 2.1-4 2 4.2 4.4.8-3.3 3.1m132-67.3l-3.6-2-3.6 1.8.8-4-2.8-3 4-.5 1.9-3.6 1.7 3.8 4 .7-3 2.7m-6.7 38.3l-2.7-1.6-2.9 1.4.6-3.2-2.2-2.3 3.2-.4 1.5-2.8 1.3 3 3 .5-2.2 2.2m-142.2 50.4l-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2M419 299.8l-2.2-1.1-2.2 1 .5-2.3-1.7-1.6 2.4-.3 1.2-2 1 2 2.5.5-1.9 1.5"/>
+    <path fill="#ffffef" fill-rule="evenodd" d="M219.3 287.6l-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2"/>
+    <path fill="#ffffef" fill-rule="evenodd" d="M219.3 287.6l-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m42.3 3l-2.6-1.4-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .5-2.3 2.1m-4.8 17l-2.6-1.5-2.7 1.4.6-3-2.1-2.3 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m87.4-22.2l-2.6-1.6-2.8 1.4.6-3-2-2.3 3-.3 1.4-2.7 1.2 2.8 3 .5-2.2 2.1m-25.1 3l-2.7-1.5-2.7 1.4.6-3-2-2.3 3-.3 1.4-2.8 1.2 2.9 3 .5-2.2 2.1m-68.8-5.8l-1.7-1-1.7.8.4-1.9-1.3-1.4 1.9-.2.8-1.7.8 1.8 1.9.3-1.4 1.3m167.8 45.4l-2.6-1.5-2.7 1.4.6-3-2.1-2.3 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m-20.8 6l-2.2-1.4-2.3 1.2.5-2.6-1.7-1.8 2.5-.3 1.2-2.3 1 2.4 2.5.4-1.9 1.8m10.4 2.3l-2-1.2-2.1 1 .4-2.3-1.6-1.7 2.3-.3 1.1-2 1 2 2.3.5-1.7 1.6m29.1-22.8l-2-1-2 1 .5-2.3-1.6-1.7 2.3-.3 1-2 1 2.1 2.1.4-1.6 1.6m-38.8 41.8l-2.5-1.4-2.7 1.2.6-2.8-2-2 3-.3 1.3-2.5 1.2 2.6 3 .5-2.3 1.9m.6 14.2l-2.4-1.4-2.4 1.3.6-2.8-1.9-2 2.7-.4 1.2-2.5 1.1 2.6 2.7.5-2 2m-19-23.1l-1.9-1.2-2 1 .4-2.2-1.5-1.7 2.2-.2 1-2 1 2 2.2.4-1.6 1.6m-17.8 2.3l-2-1.2-2 1 .5-2.2-1.6-1.7 2.3-.2 1-2 1 2 2.1.4-1.6 1.6m-30.4-24.6l-2-1.1-2 1 .5-2.3-1.6-1.6 2.2-.3 1-2 1 2 2.2.5-1.6 1.5m3.7 57l-1.6-.9-1.8.9.4-2-1.3-1.4 1.9-.2.9-1.7.8 1.8 1.9.3-1.4 1.3m-46.2-86.6l-4-2.3-4 2 .9-4.5-3.2-3.3 4.5-.6 2.2-4 1.9 4.2 4.4.8-3.3 3.1"/>
+    <path fill="#fff" fill-rule="evenodd" d="M444.4 285.8a124.6 124.6 0 005.8-19.8c-67.8-59.5-143.3-90-238.7-83.7a124.5 124.5 0 00-8.5 20.9c113-10.8 196 39.2 241.4 82.6z"/>
+    <path fill="#309e3a" d="M414 252.4l2.3 1.3a3.4 3.4 0 00-.3 2.2 3 3 0 001.4 1.7c.7.5 1.4.8 2 .7.6 0 1-.3 1.3-.7a1.3 1.3 0 00.2-.9 2.3 2.3 0 00-.5-1c-.2-.3-.7-1-1.5-1.8a7.7 7.7 0 01-1.8-3 3.7 3.7 0 012-4.4 3.8 3.8 0 012.3-.2 7 7 0 012.6 1.2c1.4 1 2.3 2 2.6 3.2a4.1 4.1 0 01-.6 3.3l-2.4-1.5c.3-.6.4-1.2.2-1.7-.1-.5-.5-1-1.2-1.4a3.2 3.2 0 00-1.8-.7 1 1 0 00-.9.5c-.2.3-.2.6-.1 1s.6 1.2 1.6 2.2c1 1 1.6 1.9 2 2.5a3.9 3.9 0 01-.3 4.2 4.1 4.1 0 01-1.9 1.5 4 4 0 01-2.4.3c-.9-.2-1.8-.6-2.8-1.3-1.5-1-2.4-2.1-2.7-3.3a5.4 5.4 0 01.6-4zm-11.6-7.6l2.5 1.3a3.4 3.4 0 00-.2 2.2 3 3 0 001.4 1.6c.8.5 1.4.7 2 .6.6 0 1-.3 1.3-.8a1.3 1.3 0 00.2-.8c0-.3-.2-.7-.5-1a34.6 34.6 0 00-1.6-1.8c-1.1-1.1-1.8-2-2-2.8a3.7 3.7 0 01.4-3.1 3.6 3.6 0 011.6-1.4 3.8 3.8 0 012.2-.3 7 7 0 012.6 1c1.5 1 2.4 2 2.7 3.1a4.1 4.1 0 01-.4 3.4l-2.5-1.4c.3-.7.4-1.2.2-1.7s-.6-1-1.3-1.4a3.2 3.2 0 00-1.9-.6 1 1 0 00-.8.5c-.2.3-.2.6-.1 1s.7 1.2 1.7 2.2c1 1 1.7 1.8 2 2.4a3.9 3.9 0 010 4.2 4.2 4.2 0 01-1.8 1.6 4 4 0 01-2.4.3 8 8 0 01-2.9-1.1 6 6 0 01-2.8-3.2 5.4 5.4 0 01.4-4zm-14.2-3.8l7.3-12 8.8 5.5-1.2 2-6.4-4-1.6 2.7 6 3.7-1.3 2-6-3.7-2 3.3 6.7 4-1.2 2-9-5.5zm-20.7-17l1.1-2 5.4 2.7-2.5 5c-.8.2-1.8.3-3 .2a9.4 9.4 0 01-3.3-1 7.7 7.7 0 01-3-2.6 6 6 0 01-1-3.5 8.6 8.6 0 011-3.7 8 8 0 012.6-3 6.2 6.2 0 013.6-1.1c1 0 2 .3 3.2 1 1.6.7 2.6 1.7 3.1 2.8a5 5 0 01.3 3.5l-2.7-.8a3 3 0 00-.2-2c-.3-.6-.8-1-1.6-1.4a3.8 3.8 0 00-3.1-.3c-1 .3-1.9 1.2-2.6 2.6-.7 1.4-1 2.7-.7 3.8a3.7 3.7 0 002 2.4c.5.3 1.1.5 1.7.5a6 6 0 001.8 0l.8-1.6-2.9-1.5zm-90.2-22.3l2-14 4.2.7 1.1 9.8 3.9-9 4.2.6-2 13.8-2.7-.4 1.7-10.9-4.4 10.5-2.7-.4-1.1-11.3-1.6 11-2.6-.4zm-14.1-1.7l1.3-14 10.3 1-.2 2.4-7.5-.7-.3 3 7 .7-.3 2.4-7-.7-.3 3.8 7.8.7-.2 2.4-10.6-1z"/>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M216.5 191.3c0-1.5.3-2.6.7-3.6a6.7 6.7 0 011.4-1.9 5.4 5.4 0 011.8-1.2c1-.3 2-.5 3-.5 2.1 0 3.7.8 5 2a7.4 7.4 0 011.6 5.5c0 2.2-.7 4-2 5.3a6.5 6.5 0 01-5 1.7 6.6 6.6 0 01-4.8-2 7.3 7.3 0 01-1.7-5.3z"/>
+      <path fill="#f7ffff" d="M219.4 191.3c0 1.5.3 2.7 1 3.6.7.8 1.6 1.3 2.8 1.3a3.5 3.5 0 002.8-1.1c.7-.8 1-2 1.1-3.7 0-1.6-.2-2.8-1-3.6a3.5 3.5 0 00-2.7-1.3 3.6 3.6 0 00-2.8 1.2c-.8.8-1.1 2-1.2 3.6z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M233 198.5l.2-14h6c1.5 0 2.5.2 3.2.5.7.2 1.2.7 1.6 1.3s.6 1.4.6 2.3a3.8 3.8 0 01-1 2.6 4.5 4.5 0 01-2.7 1.2l1.5 1.2c.4.4.9 1.2 1.5 2.3l1.7 2.8h-3.4l-2-3.2-1.4-2a2.1 2.1 0 00-.9-.6 5 5 0 00-1.4-.2h-.6v5.8H233z"/>
+      <path fill="#fff" d="M236 190.5h2c1.4 0 2.3 0 2.6-.2.3 0 .6-.3.8-.5s.3-.7.3-1c0-.6-.1-1-.4-1.2-.2-.3-.6-.5-1-.6h-2l-2.3-.1v3.5z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M249 185.2l5.2.3c1.1 0 2 .1 2.6.3a4.7 4.7 0 012 1.4 6 6 0 011.2 2.4c.3.9.4 2 .3 3.3a9.3 9.3 0 01-.5 3c-.4 1-1 1.8-1.7 2.4a5 5 0 01-2 1c-.6.2-1.5.2-2.5.2l-5.3-.3.7-14z"/>
+      <path fill="#fff" d="M251.7 187.7l-.5 9.3h3.8c.5 0 .9-.2 1.2-.5.3-.3.6-.7.8-1.3.2-.6.4-1.5.4-2.6l-.1-2.5a3.2 3.2 0 00-.8-1.4 2.7 2.7 0 00-1.2-.7 13 13 0 00-2.3-.3h-1.3z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M317.6 210.2l3.3-13.6 4.4 1 3.2 1c.7.4 1.3 1 1.6 1.9.4.8.4 1.7.2 2.8-.2.8-.5 1.5-1 2a3.9 3.9 0 01-3 1.4c-.7 0-1.7-.2-3-.5l-1.7-.5-1.2 5.2-2.8-.7z"/>
+      <path fill="#fff" d="M323 199.6l-.8 3.8 1.5.4c1 .2 1.8.4 2.2.3a1.9 1.9 0 001.6-1.5c0-.5 0-.9-.2-1.3a2 2 0 00-1-.9l-1.9-.5-1.3-.3z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M330.6 214.1l4.7-13.2 5.5 2c1.5.5 2.4 1 3 1.4.5.5.9 1 1 1.8s.2 1.5 0 2.3c-.4 1-1 1.7-1.8 2.2-.8.4-1.8.5-3 .3.4.5.8 1 1 1.6l.8 2.7.6 3.1-3.1-1.1-1-3.6a19.5 19.5 0 00-.7-2.4 2.1 2.1 0 00-.6-.8c-.2-.3-.6-.5-1.3-.7l-.5-.2-2 5.6-2.6-1z"/>
+      <path fill="#fff" d="M336 207.4l1.9.7c1.3.5 2.1.7 2.5.7.3 0 .6 0 .9-.3.3-.2.5-.5.6-.9.2-.4.2-.8 0-1.2a1.7 1.7 0 00-.8-.9l-2-.7-2-.7-1.2 3.3z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M347 213.6a9 9 0 011.7-3.2 6.6 6.6 0 011.8-1.5 6 6 0 012-.7c1 0 2 0 3.1.4a6.5 6.5 0 014.2 3.3c.8 1.6.8 3.5.2 5.7a7.4 7.4 0 01-3.4 4.5c-1.5.9-3.3 1-5.2.4a6.6 6.6 0 01-4.2-3.3 7.3 7.3 0 01-.2-5.6z"/>
+      <path fill="#fff" d="M349.8 214.4c-.4 1.5-.5 2.8 0 3.8s1.2 1.6 2.3 2c1 .3 2 .2 3-.4 1-.5 1.6-1.6 2.1-3.2.5-1.5.5-2.7 0-3.7a3.5 3.5 0 00-2.2-2 3.6 3.6 0 00-3 .3c-1 .6-1.7 1.6-2.2 3.2z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M374.3 233.1l6.4-12.4 5.3 2.7a10 10 0 012.7 1.9c.5.5.8 1.1.8 1.9s0 1.5-.4 2.2a3.8 3.8 0 01-2 2c-1 .2-2 .2-3.1-.2.4.6.6 1.2.8 1.7.2.6.3 1.5.4 2.8l.2 3.2-3-1.5-.4-3.7a20 20 0 00-.3-2.5 2 2 0 00-.5-1l-1.2-.7-.5-.3-2.7 5.2-2.5-1.3z"/>
+      <path fill="#fff" d="M380.5 227.2l1.9 1c1.2.6 2 1 2.3 1 .3 0 .7 0 1-.2.3-.1.5-.4.7-.8.2-.4.3-.8.2-1.2a2 2 0 00-.7-1 23.7 23.7 0 00-1.8-1l-2-1-1.6 3.2z"/>
+    </g>
+    <g stroke-opacity=".5">
+      <path fill="#309e3a" d="M426.1 258.7a8.9 8.9 0 012.5-2.6 6.6 6.6 0 012.2-.9 5.5 5.5 0 012.2 0c1 .2 1.9.6 2.8 1.2a6.6 6.6 0 013 4.4c.3 1.7-.2 3.6-1.4 5.5a7.3 7.3 0 01-4.5 3.3 6.5 6.5 0 01-5.2-1.1 6.6 6.6 0 01-3-4.4c-.3-1.8.2-3.6 1.4-5.4z"/>
+      <path fill="#fff" d="M428.6 260.3c-1 1.3-1.3 2.5-1.1 3.6a3.6 3.6 0 001.6 2.5c1 .7 2 .9 3 .6 1-.3 2-1 2.9-2.4.9-1.4 1.3-2.6 1.1-3.6-.1-1-.7-1.9-1.6-2.6s-2-.8-3-.5c-1 .2-2 1-3 2.4z"/>
+    </g>
+    <path fill="#309e3a" d="M301.8 204.5l2.3-9.8 7.2 1.7-.3 1.6-5.3-1.2-.5 2.2 4.9 1.1-.4 1.7-4.9-1.2-.6 2.7 5.5 1.3-.4 1.6-7.5-1.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bs.svg
new file mode 100644
index 0000000..a14500b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bs.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bs" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="bs-a">
+      <path fill-opacity=".7" d="M-12 0h640v480H-12z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#bs-a)" transform="translate(12)">
+    <path fill="#fff" d="M968.5 480h-979V1.8h979z"/>
+    <path fill="#ffe900" d="M968.5 344.5h-979V143.3h979z"/>
+    <path fill="#08ced6" d="M968.5 480h-979V320.6h979zm0-318.7h-979V2h979z"/>
+    <path d="M-11 0c2.3 0 391.8 236.8 391.8 236.8L-12 479.2-10.9 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bt.svg
new file mode 100644
index 0000000..f4b6e63
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bt.svg
@@ -0,0 +1,89 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bt" viewBox="0 0 640 480">
+  <path fill="#ffd520" d="M.1 0h640.1v480H.1z"/>
+  <path fill="#ff4e12" d="M.1 480h640.1V0z"/>
+  <g stroke="#000" stroke-width=".5">
+    <g fill="#fff" stroke-width=".4">
+      <path d="M345.4 150c-4-1.3-6.6.7-6.4 5.9 0 5.1 2.8 8 6.8 6.1l-.4-12z"/>
+      <path d="M348.9 140.4c-3.3-2.6-6.4-1.5-8 3.4-1.5 5 .1 8.6 4.5 8l3.5-11.4z"/>
+      <path d="M354.4 131c-2.8-3-6-2.4-8.4 2.2-2.3 4.6-1.3 8.5 3.2 8.7l5.2-10.8zm-3.6 45.5c-4.9 1.8-5.4 8.5-2.3 12.6 3 4.1 8.7 4.9 11.8 0l-9.5-12.6z"/>
+      <path d="M345.1 162.3c-4.6-1.5-8.8 4.7-9.5 10.3-.9 7-11 9.4-5.4 20.1 1.2-6.8 5.7-10.6 9.3-10.8 3.6-.3 9-1 11.3-5.4l-5.7-14.2zm14.7 27.6c-5.4 1.3-6.2 8.5-2.3 13.6 3.3 4.4 13.7 3.4 13.4-1l-11-12.6zm15.3 43.4c.3-4.7-7.2-6.5-10.8-5.6-3.6 1-10.5-.1-12-4-1.4 3.1.5 6.5 5.7 8.2 4 1.2 3.9 4 2.7 5.4 3 .5 11.7.5 14.4-4z"/>
+      <path d="M370.9 203.7c-5.3-2.4-8.4 1.2-10.4 4.6-3 5-12.1-1.4-15.2 5.3 4.2-1.8 8.4 2 10.4 3.3 5.7 3.7 16.6 2.6 18.2-6.2l-3-7z"/>
+      <path d="M374 209.8c-5.3 4-7.4 8.8-7.2 12 .1 3.2 4.6 10.3 9.5 10.7 2.8-5.8 4.3-18-2.3-22.7zm-22 24.9c0-2 2.8-2.7 4.8-2 1.9.6 4.9 2.5 3.8 4.6l-8.6-2.6zM323 224c-.5-2.3 3.2-6.3 8.2-4.1 5 2.2 5.7 6.4 3.6 8.1l-11.8-4z"/>
+      <path d="M335.2 228.4c-.4-1.3 3.3-3.9 9.4-2.4 6.2 1.6 7.7 5.6 7.5 8.7l-16.9-6.3zm-12.9-4.3c3.3-2.4 2-7-.9-8.5-5.2-2.6-3.3-9.2-6.7-10.5-3.3-1.3-6.5-3.6-6.7-6-1.6 3.3-.6 6.2 1.7 8.3 2.3 2-1.8 10.4 1.2 12.6l11.4 4.1zm-69-1.8c-2.7-4.2-9.1-3.5-11.8-.5-2.7 3-2.3 7.3.2 9.3l11.6-8.8zm15.5-6.3c-1-5.7-7.9-6.3-11.6-4.9-3.8 1.4-6.3 7.1-3.9 11.2l15.5-6.3z"/>
+      <path d="M279 215.2c2.5-4.7-2.3-11.8-7.7-12.8-4.5-1-9.8-.9-11.6-5.3-1 3.8 1.8 6.3 5.2 8.5 3.3 2.2-.6 7.8 4.8 11l9.4-1.4z"/>
+      <path d="M278.6 215.4c-1.2-3.4 1.1-8 5.7-7.6 4.7.3 7.3 3.6 5.3 7.9l-11-.3z"/>
+      <path d="M288.9 215.7c-.7-3.6 2.2-7.8 6.8-6.8 4.5 1 6.6 4.7 4 8.5l-10.8-1.8z"/>
+      <path d="M299 217.3c-.4-3.6 2.7-7.6 7.2-6.4 4.5 1.2 6.4 5 3.6 8.7l-10.7-2.3zm-77.6 59c-8.7 0-10.8 2-12 11-1.6 11 13.5 12.3 12-11z"/>
+      <path d="M225.2 264.7c-13.2-5-20.4 16-33.6 12.2 4.7 7.5 16.1 0 20.4.8 7.2 1.3 22.8-1.4 13.2-13zm-8.6 28.7c-6.6-3-13.6 7-12.4 11.5 1.7 5.5 16.7 1 12.4-11.5zM186 336.7c3.6 1 8 3 7.2 10-.8 7-14 21.1-25.8 22-11.8.7-16 15-26.3 11 9.6-1.8 9.6-12.6 17-16-5.4-2-8.2 10.3-15.2 10.3s-10.3 11.1-18.8 10.3c-8.5-.7-9.3 13.5-26.4 13.7-13 .1-29 15.3-34.9 8.7 12.7-1.8 17.8-8.8 25.3-16.5 12-12.3 25.7-6.8 30.4-17.7a31.6 31.6 0 01-18.3 5.4c-8-.2-16.6 12.6-25.5 7 5.1-.7 8.5-2.9 13.9-8.6 5.5-5.8 13.7-2 20.1-8 10-9.2 18.7-1.5 28.3-13-2.7-1.4-8.5-.5-13.9 2.4-5.4 2.8-12.3-2-18.5 1.4.7-7.6 15.2-3.3 24.2-8.5 10.2-6 18.6-4.2 26.6-3.5-11.2 0-15.5-10.7-31-7.6-6.7 1.4-12.1-9.3-18.8-3.9.2-4 7.2-7.2 14.4-3.3 7.2 3.9 10.1-3.4 24.5 5.7 6 3.7 16.1-2.4 22.5 1.6-.8-2.4-4.5-4-8.8-3.6 2.7-5.6 20.2-4.9 27.8.7z"/>
+      <path d="M197.4 328.3c-5.6-4.4-13.5.9-19-1.2 0 3.6 1.9 9 7.8 11.1 1.8-1.3 10-8.4 11.2-9.9z"/>
+      <path d="M206.3 315.8c-8.9-4.5-10.4 6.7-17.4 4.4.3 3.2 2.9 7.2 8.5 8.1l9-12.5z"/>
+      <path d="M211.6 305.6c-13.1-5.1-14.8 7.5-22.5 5 1.8 4.4 12.8 6.8 18.5 5.2l4-10.2zm18-55.2c-3.5-5-10.8-1-12 4.9-1.1 5.8 1.7 13.9 6.6 12l5.4-17z"/>
+      <path d="M238.5 235c-6-1.5-13-.8-12.2 5-2.4 1.1-3 8.7 3.3 10.4l8.9-15.5z"/>
+      <path d="M242.5 231c-6-7-12.5-6.9-16.2-4-6.9 5.5-13.5 2.4-13.7 7.8 4.1-3.2 7.8.6 11-.5 3.4-1.2 5.9 5.3 15.2 2.6l3.7-6zm-14.3 103.9c.9 1.7 6.4 2.4 9.1-.4 3.6-3.8-.3-14.2-6-15-5.7-.7-6.2 11.8-3.1 15.4z"/>
+      <path d="M221.8 335.1c8 3 11.5-3.7 7.2-8a80 80 0 01-7.2 8z"/>
+      <path d="M191.4 346.2c-1.6 4.7-9.6 5.4-18.6 19.8-9 14.5-17.6 8.4-19.8 18.3 10.8-8.7 19.3-3 25.8-11.6 9.7-13.1 17.8-11.2 21.6-20 5.4-12.7 29-12.4 30.4-32.3-8-1.5-33.3 19.9-39.4 25.8zm203.2-194.7c10.3 3.4 10.5 16.7 22.4 21.1 11.8 4.4 13 15 22.7 12.4-9-2.5-8.4-12.9-17.8-15.5-11-3-15.2-19.8-24-22.4m44 74.3c1.8 4.2 1.5 11.5-5 13.4 3.5 2.2 8.7.2 11.5-4.6-4.2 9.4-1.4 17.9 5.3 19.6-3.2-6.6 4-9.7 1.7-14 4.2 1.9 8 7.7 7.8 11.3 5.6-6.2-4-14.5-2.3-20.3l-19-5.4zM375 287.6c-6.3-5.5-9 1.5-12-1-3-2.2-6.8-2.5-8.3-.3 5.4.2 2.8 4.4 13.3 5.4-10.5.7-8.6 12.5-15.6 11.9 7.4 7 11.3-6.3 17.4-4.1-1.8.5 2.8 4.7-.4 10.4 5.2-.1 7.3-7.3 8-11l-2.4-11.3zm-139 60.2c-2.2-2-9-2.9-11.5-1.3-2.6 1.5-1.7 2 1.4 2.2 3.1.2 7 5.2.4 5.5-3.1.1-2 7.6-8.5 8.1 2.6 3.2 10.2 1.1 12.9-2.4-.5 2.9 3.3 5.5 1.8 9 4.7.5 2-9.7 9.5-9.2-3 .4-1.8 7.4 3.6 5.6-3.2 1.5-1.5 5.3 2 4.4-2.2.7-3 3.7.2 5.4 3.1-4.3-.4-19.5-11.7-27.3zm280.6-142.1a17.9 17.9 0 100-35.7 17.9 17.9 0 000 35.7z"/>
+      <path d="M423.4 227.2c5.5-5.1 13.7-7.7 19.4-3.8 5.6 3.8 24.4 8.4 33.7 2 9.3-6.4 13.7-9.8 17.8-9 3 4.6 6.8 6.8 11.4 7.2 1.4 1.6 6.5 2.8 9.3 2.5 4.1 1 9.1-.3 13.1-4.7 6.2 1 12-3.7 14.2-10.7 6.6-.7 7-8 2.8-13-3.8-.7-.9-13.8-14.9-11.2 6 3.6 1.4 10.8 6.3 14.2-3.3 0-7.7 1.4-8.7 6.4 1.3-3.4-.2-5.8-1-6.5 0-3-6.5-10.3-12.7-7.6 4.4 1 2 8 5.2 10.8a8.1 8.1 0 00-6.2 3.3c-1.7-3-7.6-6-11.2-6.3 0-1-.2-3-.7-4.1-1.6-3.1-3-6.8-2.3-11.5a48 48 0 00-7.2 11.4c-4.9-3.4-17 1.5-22.7 2.8-5.6 1.3-24.7-1.8-29-6.4a49.2 49.2 0 00-21-9.8c-11-3.2-11-15.2-23.1-23.5-.3 15 22.4 62.4 27.5 67.5zM297.2 341.1a17.3 17.3 0 100-34.6 17.3 17.3 0 000 34.6z"/>
+      <path d="M256 327.8c3.5 4.5 9.4 4.2 11.9 3.9 2 5.4 8.6 5.2 11.4 8.2 2.9 3 12.5 2.7 15.3 1-2.5-.2-5.9-1.8-9-4.5-4-3.2-2.2-9.8-5.2-12a11 11 0 002.2-8.6c2.4-1.4 4.2-3.7 4.4-4.9a15 15 0 009.6-4.1c2.2 2 7.7-.6 10.7 2.8.6-8.5-7.5-13-13-10.1-2.1-1.2-7.9-.4-9 1.1-1.7-.8-6.8 1.8-9 3.5 2.5-1.4 2.9-5.7 1.9-7.2 2.2-1 4.6-3.9 4.9-6 3 .5 7.7-1.6 9.7-1.1-3.3-4.4-8.8-6-14.5-5.5-5.9.3-8.4 4.4-9.2 8.8-3.4 2.1-4.6 9-3.3 11.5-2 0-3.9 1.9-4.6 3a26.7 26.7 0 00-9.4-2m1.3-7c-1.2-3.4.3-6.4 1.1-9 2-6.8.8-8.6-5.3-7.7a47 47 0 004.2 16.7z"/>
+      <path d="M248.6 282.3c1.6 1.6 7 2.3 7.6-2.6.7-5.6-1.6-7.8-6.5-5.6-.4 1.3-.8 6.5-1 8.2z"/>
+      <path d="M249.8 273.9c2 .8 6.5 2.5 9-2.3 2-4-.7-7-5-6.8-1 1.2-3 5.3-4 9.1z"/>
+      <path d="M253.6 264.4c.5 1.6 5.8 6.7 9.6 3 3.9-3.7 3.9-9.3-1.9-11.3-1.5.2-6.2 5.6-7.7 8.3z"/>
+      <path d="M261.3 256c1.1 3.3 4.8 8.8 11.5 6.3 6.7-2.6 3.8-11 .7-12.7a33 33 0 00-12.2 6.5z"/>
+      <path d="M273.5 249.6c-.5 2.9 0 10.6 9.2 10.5 9.1-.2 6.6-10.9 4.2-12.4-3.7 0-10 .1-13.4 2z"/>
+      <path d="M287.3 248c-1 2.3-3.3 16.7 14.6 12.7 2.3-.5 8.3-13.8-14.6-12.6z"/>
+      <path d="M297.1 249.4c-1.8 1.8 2.8 16.3 15 13.9 12-2.5 1.9-16.3-15-14z"/>
+      <path d="M307.4 251.6c-2 4 1 15.8 15.9 15.8 13.5 0-.7-15.6-15.9-15.8z"/>
+      <path d="M319.1 255c-1 2.3-2.1 14.8 15.5 15.9 12.7.8 9.6-17.3-15.5-15.9z"/>
+      <path d="M338 260.3c-2.1 3.9-4.4 13.5 14.9 14.3 12.3.5 4.7-14-14.8-14.3z"/>
+      <path d="M354.1 263.3c-2.8 3.8-.7 11.4 6.5 12.8 9 1.8 10.3-6.7 4.1-10.8-6.2-4-10.6-2-10.6-2z"/>
+      <path d="M363 265c-2.1 3.7-.9 12.4 12.8 12.4 2.8 0 13.6-11-12.9-12.3zM257.1 433a20 20 0 100-40 20 20 0 000 40z"/>
+      <path d="M404.1 141.7a35.2 35.2 0 00-5.4 8c-6.7 20 11.2 35 21.6 56.7a63 63 0 01-5.6 60.7c-4.4 5.8-3.1 7.5-8.8 13.4-2.2 2.3-4.6 5.2-3.8 13.4 3.6-1.3 8.7 2 9.7 5 2.6-1.4 6.2-.9 7.5.7 4.4-2 8-1 11.9 3 3.3-.4 7 0 10.3 3.7 1.8-3.6 5.4-5 8-4.1-.3-4.7 4.3-8 8.4-6.2a7.6 7.6 0 019.8-9c4.7-3.6 14-3.9 18.6 1.5-8.3-2.3-8 6.5-15 5.7 1.8 5.1-2.8 8.1-7.4 9.8 3-1.4 6.2-3.1 7.2-1.3 2.6-2.3 7.7-1.4 9-.3 3.4-1 6.7-.2 8.2 3.9 4.7 2.8 7.8 10 4.4 15.4-1-5.6-4.9-5.4-6.4-7.7-3.6 1.3-7.2 1.3-8.3-1-2 2-9 3.9-12 .8-1.2 4.6-5.2 8.5-9.9 8.5 1.3 3.6-2.3 9.7-5.1 12.8 4.4 2.3 3 7.5 2 10.6 6.8 1 1 7 12.7 10.8-5.7 1.8-16.8 0-18.3-7-5.7-.2-9.5-5.9-9.3-11.8-4.4-4.1-5-10 1-14.2-5.1 1.6-8-6.7-15.4-3.3-3.7 1.7-13.5-1.2-13.4-4.6-1.5 2.5-11 1.5-12.2-2.9-3.1 1.7-10.3-1.1-10.2-5.4-4 1.8-9.4-1.4-9.1-5.5-3.8-.5-4.2-3.9-4-6.7-3.3-1.6-2.4-4.8-1-8.6-2.4-2.6-1.4-6.2.4-9.6-2.5-2.6-2-5.6-1.3-9.3-12.3-1-27.8-4-63.3-14.9-53.6-16.5-68 22.2-56.2 46.4 13.7 28-1.5 34 3.1 54.8 5 1 7.5 5.2 7.2 9.6 3 .1 5 2.8 4 8a9 9 0 017.6 2.3c1.8-3.4 7.8-4.2 10.8-.3 6.7-.5 10.1 5 9.8 11.6a18 18 0 01-1.5 19.3c.4-2.7 0-6.5-.1-8.9-.3-4.2-6.2-5.1-5.6-8.6-3 .3-6-1.4-7-3.7a6.8 6.8 0 01-6.6 1.3c3.4 1.5 6.2 7.7 5.1 11.8 1.8 3.1 1.4 8.8-.7 11.2-1 5-5 6.8-10 4.6 2.9-1.8 3.9-5 3.8-7.7a10 10 0 01-2.9-6.3c-5 .8-12-3.5-13.2-5.2a20 20 0 00-20 20.1c-.6-4.1-5.8-8.2-5.1-11.7-3.1-9.5 1.3-18.4 13.9-20.2-1.6-3.6 3.8-7.3 1.8-11.4a97 97 0 00-14.7-20.1c4.4-7.5 3-17.5.5-23.7-3.7-8.9-7.2-6.7-20.3 7.7-21.4 23.5-50 17-75.2 32.5-6.7 4-13.4 5.6-6.2-1.6s26.2-14.4 38.6-20.6c23.2-11.6 42.8-30.9 50.5-68.5 18.1-88.4 85-59.2 127.2-42.8 39.7 15.5 32.5-19.5 12.4-40.7-24.2-25.3-19.3-45.3-8-61.3 20.3-2.8 59.4 4.3 51.5 11.1z"/>
+      <path d="M475.9 358.8a22 22 0 100-44.1 22 22 0 000 44z"/>
+    </g>
+    <g fill="none" stroke-width=".4">
+      <path d="M391.8 142.7c-5 21.7-.8 31.5 6.4 41 14.9 19.7 26.8 64.6 9.8 94"/>
+      <g stroke-linecap="round">
+        <path d="M417.5 252.3c2-.7 6-3.2 6.8-7.4m-5.2-2c.6-3.7 6.4-5.3 6.5-9.3m-6.4-5.2c-.4-3.9 5.8-7.4 4.9-11.2m-8.3-2.7c-.5-2.2 5.2-6.3 3.6-9.8m-7.8-3.8c-1.2-2.4 2.7-5.2 1-7.8m-7.2-3c-.4-1.6 2-5.3.7-7.5m-6.9-5.2c.5-.7 2.6-2.2 1.8-4.1m-6-5.3c.8-.4 3.3-1.2 3-3"/>
+        <path stroke-linejoin="round" d="M266 410.9c-5-1.8-11.5.7-12.8 5.1m3.9 4c.6-4.4 7.3-6.3 9.3-4.3-4.2-2.3-6.3 6-2.5 6.2m34.6-103.8c-3 1.6-4 7.2 0 11.5m4.6-10.2c-2.1 1.8-2 7.2 1.2 8.5-2.7-2 0-5.3 2-5.4 1.9-.1 3.2 2.2.8 4.5m177 5.2c-7.2-2-13 6.4-6.4 13.9-.2-7.2 5-12 11.3-10.7m-3 5a2.7 2.7 0 00-2.7 2.7c0 1.4 1.2 2.8 3.2 2.8 1.3 0 2.4-1.5 2.4-2.7m22.6-161c1.2 4.4 7.2 6.3 12 5.2m0-2.8c-3.7.1-6.8-3.4-6.6-6.3 0 2.2 5 3.2 6.6 1.8"/>
+        <path d="M267.9 331.7c-1-2.6 3-5.2 3.2-7.6.1-2.5 4.6-4.4 9.3.2m-2.2-27.4l-2.5 1.2m11.4 12.8c-1.1 0-3.4 0-4.6-.9m0 5.8c-.8.5-2.8 1.2-4 1.5m-40.1 76.3c-.2 2.3 2.2 5.7 3.4 6.7m6.6-12.2a10 10 0 00-1.3 7.6m20.5 0c-2.3-1.5-.8-5.4-1-8-.3-2.6 2.7-6.7 8.5-3.2M246 381c2.3-.4 4.7-.3 6.3.4m23-7.7a8.3 8.3 0 00-1.4 4m12.3-4.3c-1.8 0-3.4 1.3-4.2 2.6m-20.8-68.5c2 .7 7.4 4 7.6 7.4m14.3-24.2c-6.3-.1-8.8-6.5-4-6.5m15.3 15.2c-2.4 1-1.3 5.2 2.2 7.3m-17.3 33.1c-1.2-1.6.4-6 4.4-4.7m5 51.7c.3-4 5.2-6.2 7.2-1.8m-25.5 13c-.3-4.3 2-5.7 3.8-6 2-.2 4.7 1.4 6 4.2m-48.1 5c.2-2.6 2.4-5.3 4.7-4.9m231-109.4c-1.7 1.2-2.8 6.7 3.5 7.2M458 296c0 .6.8 1.5 1.3 2m29 8.3c-1.6-1.3-6 4-2 7.7m-39 35.6c-.9-3.7 2.5-4.7 5.8-3.9m-14-22.2c2-1.2 4-2.7 6.4-3.3m-7.4 17.5c0-3 1.6-5.7 3-6.4m8.4-29.1a16 16 0 002.4 9.2m28.2-9c-1.9.6-3.5 1.3-4.2 2.9m2.1 7.7c1-.8 2-1.7 2.4-2.3m46.3-110.2c0 3.6-4.5 5.6-7.5 3.3m17.3-3.1c2 1.5 8.9 0 7.3-4M528 221.4a11 11 0 01-4.9-3m19.1-7.7c-2.3.5-3.9 0-5-.5m-31.6 13.4a17 17 0 006.5-1.6M502 200.8c-1.7-.2-3 .1-3.9.8m29.8 5.5a11 11 0 01-3 5.2"/>
+        <path stroke-linejoin="round" d="M497.5 212.8c3.2-1.4 7.2 9.5 15 5.7m.6-11.4a11.3 11.3 0 00-1.8 5.6"/>
+      </g>
+      <path d="M359 190.4c1-.2 2.9-.5 3.3-1.8M226.5 310.3c3.9 2.2 6.6 5.9 5 11.4m172.1-143.2c1.2.8 5.5.8 8 0m3 2.6c0 1.8.5 8.6-3 10m1.3-.8c3.2 1 9.6.6 11.7-5.3m-4.5 5c1.7 2.6 2.2 7.6-2.8 10.3m4-6c3.8 1.2 12.4 1.4 11.5-6m-3 6c2.7 3.5 14 7.8 12.2.3m-22.5 10c4.3 1.1 10.5-1.9 8-9.6m12.3 3.9c.6 3 15 6 13.1-.7m-2.7 3.9c2.7 6.2 17 5.7 12.5-2.6m-2.3 6.5c2.8 3.4 15.5 1.4 10.4-7m-.1 6.8c7.9 6 17-2.5 7-8.7m4.6 6.8c7 5.5 15.5-4.5 9.4-7.3m-64.4 5c2.2.6 6.8.4 7.9-3.6m-1.8 2.7c-.2 5.8 9.6 8 12.1 1.3m-3.3 3.7c1.8 3.9 10.5 5.4 11.9-.1m-1.4 2.6c1.4 3.8 8.9 3.4 11-.6m-2.8 2.6c2.3 5 11.9 5 14-2.3m-1.6 3.2c3.7 2.3 11.7 1.4 11-5.8m-1.5 5.2c5.6 4.5 13.4.1 9.5-7.5m-.3 13.4c3-.5 4.5-6.4 1.4-8m-70 9c6-3.3 7.3-9 3-14.5m2.2 8.9c3.9 2.3 11.2-.2 12.5-5.8m-7.2 6.4c2.2 2.8 2.6 6.3-.3 9.5m2-5.9c6.9-4.2 15.4 3.6 9 8.4m-1-8.8c1.5-.4 4.2-3.2 4.4-6.4m-1.4 9.4c2.9-3 22.2 3 10 9.3m-1-17.4c3.8 1.4 5.7 6.7 0 8.5m5 4.4c4-4.3 17-1.6 12.3 3.8m-3.1-5.5c2.3-7.9 16.1-3 11.6.2m-14.4-8c.4 1.5.5 5.3-2 7.4m13.6-9a6.1 6.1 0 01-.8 5.3m9.5-5.2c.8 1.4 2 4.1-.8 6.3m-109.4-65.5c.1 7.3 2.7 12.2 12.6 7.6m-9.5 1.1c-5 6.6.6 13.7 10.3 6.6M365 165c6.7 7.2 18.7 2 11-9m8 15.2c-1.2 7.1 4.6 8.5 9.3 5.3m-34.2-10.3c1.2 7.1 8.5 12.7 15.6 8.4m-6.9 1.4c0 10.2 14 11.3 17.3.8m-5 6.4c4.5 9.3 14.3 5.5 17.5-.1m-27.4-14.7c1.8 4.5 5.4 9.5 13.7 5.8m-39.5-8c1.2 3.7 7.9 8.2 15.6 3m-10.8 1.8c-4.2 6 4 11.7 14 2.7m-9.1 4.7c1.6 8.5 5 15.4 17 4.4m-6 4.4c4.4 5.4 11.1 8.7 17.4-.4"/>
+      <path d="M387.3 188.8c-.4 6.5.8 9.7 5.9 9.4 4-.2 7.7-3.3 9.9-6.7m-10.8 6.7c-.2 7.4 5.6 13.2 16.5 5.7m-12 3c-2 5.5 4.1 14.5 16.2 9.9m-41.9-24.6c-.7 7 5.8 11.8 16.4 2.7m-11.2 5.1c.4 5.8 7 12.8 16.6 2.7m-12 4.7c-.7 9.9 8.4 12.7 16.1 5.1M367.2 200c2 .2 3.7-1.6 4.7-3m-.4 10.2c1.8.4 5-1.2 6-3.3m-1.4 15c2 2.3 9 .7 9.9-2.3m-2.2 2.2c3.8 9 14.1 8.7 18.4-1.5m-2 3.6c2 5.3 6.9 8.6 14.9 6.8m-11-1.4c-4.5 7.3 1.4 16 11.5 7.5m-9 3.5c-.5 4.6 3.7 9.9 9.5 10.5m-28.6-24c-1.5 10.4 6 15.4 15.3 9.8m-26.2-4.8c2.4 1.9 6.8 2.1 11 .6m5 6c-2.4 8.8 6.6 15.1 14.3 5.3M380 230.2c.2 4.5 4.5 9.4 12.1 8m21.3 9c-5.2 3.4-6.2 9.6 1 13.6m-13.6-15.4c.2 5.2 2.7 8.2 8.5 8.7m-16.1-11.4c-7.8 7-.2 15.3 9 8.3m-3.6 2.2c-2.6 8.1 7 13 12.2 4.8m-28.2-22c-2.8 8 .8 13.2 7.4 12.7m-17.6-14.3c.4 4.8 4.5 6.5 9.2 5.4m-6.2-.4c-3.5 6.7 1.8 10.3 8.8 7.8m21 15c-1 4.2-.4 7.2 5.9 8.7m-5.4-2.7c-7.6 3.4-8.3 10.8-2.4 15.5m-3.8-23.7a7.6 7.6 0 001.2 12.3m-35-35.8c-4.3 4.3-.2 16.2 9.5 9.7m15.7 5.3c-6 5-3.3 13.8 6.5 11.4m-16.3-15c-3.1 8.7-.2 11.8 6.8 11.9"/>
+      <path d="M359.3 236.1a8.2 8.2 0 00-1.5 12.2c2.3 2.6 6.7 1.4 8-1.9m-17.6-13.8c-5.9 7.6 0 16.6 8.4 14m23.3 8.6c-6 2.1-10.7 7.6-7 12.5 2.3 2.8 11.8 3.2 14.5-7.8M369 248.1c-3.5 5-2.4 9.8 4 12.2m-4.4-2.8c-3.8 2-6.2 4.5-5.3 9m-3.1-16.9c-1.4 6 .3 9.8 4 11.6m-4.1-4.4c-5.8-.4-8.8 2-6.8 7.8m.5-6.4c-5.7-2-6.6-7-4.1-12m-.8 7.6c-6.2.2-9 3.3-9 7.5"/>
+      <path d="M340.5 229.7c-4.5 1.9-6 8-4.3 11.3 1.7 3.3 7 3.6 10.2 1.4M328 224.9c-4.1 4.6.6 13.7 8 11.5m-18.6-15.1c-3.8 5.4.4 14.4 10.3 11.8m.5 25.1c-1-6.4 5.7-10.6 14-2.3m-4-13a10.1 10.1 0 00-3.3 8.5m-28-33.2c-4.3 7.2.9 13.8 10 11.2m13.8 6.7c-6 6-4 12.1.5 15.6m-4.4-8.5c-9.1.1-9.6 10.7-2.2 14m-4.7-24.6c-3.8 2.6-5 9.7 1.5 12.5m-1.8 3.4c-3.9-1.8-8.5.4-8.1 4.9m2.3-4.8c-3.5-8.2-13.6-6.8-12.7 1.7m15.5-11.9c-2.1.4-6.5 1.7-8.2 5m.6-14.3a7 7 0 002.5 11.4M296.7 216c-.8 5.6 1.4 8.3 8.4 7.8m-6-.7c-2.6 6.7 1 9.7 8 9.3m-6.4-1c-4.1 4.9-1.3 10.1 2.7 12.3m-4.6-6.1c-7.4-1-8.5 7.6-6 11.5"/>
+      <path d="M292.9 215.5c-4.5 2-7.1 7.6-4.7 11 2.5 3.5 7.4 2.4 10 .6m-8.4 1c-3.8 5.7-.4 10 3.6 11.6"/>
+      <path d="M275.3 214.8c-3 3.1-1.1 9.4 6 9.6 5.9 0 8.8-5.4 7-9.3m-8 9.3c-2.3 5.1-.8 10.7 8 9.8m3.6 8c-5.3-2.4-12.6 0-9.5 6.5m-.7-15.6c-2.2 3.1-1.5 7.5 1 10.2m-1.4-2c-3.6.7-7.1 2.6-5 8.3m-.5-4.6c-4.6-1.4-10.5 2-7 6.7m-.7-4.5c-4-.7-8.7 3.6-4.9 7.8m-1.5-3.5c-3.6 1-7.9 5-4.1 8.3m22.3-28.5c-5.2 2.3-5.7 8.1-3.3 12.4m-2.2-23c-7.7 3-7.6 13.2 1 16.4m-3.7-2.3c-4.6 2.7-5.5 7.9-2.4 11.2m-5.7-29.2c-3 1-2.8 10.5 5.4 10.3m-13.9-7.1c-6.2 4.1 1.3 14.5 11.3 7m-5.5 2.7c-.9 4.2.3 8.8 7.1 9.4m-6.7-3.8c-4.9 1.8-5.8 11.9 3 12.7m-18.6-21.8c-6.3 5.8 5.2 10.8 9.4 2.4m-18.1 7.2c-3.1 3.8 7.7 13.6 12.5-2.8m1.1-.3c.3 4 2.6 6.2 7.3 6.5m0 3.7c-7.7 1.2-10.1 10.7-1.6 12.8m-12.5-14c-.3 3.5 3.5 6.5 7.7 5.9m3.9 7.8c-7 1.6-7.9 10.6-1.7 10m-3.2 8.4c-5.8-1.7-6-8.6-.8-11.2"/>
+      <path d="M245.7 267.8c-4.9 3-3 10-.4 11s4.7-.2 5-2.4m-.5 10c.6 3.3-11.9 2-5.5-8.4m0 8.9c-4.2 6.6 2.6 12 6.9 6.3m-6.4 1.6c-1.7 5.3 4.7 9.1 8.8 5M231 245.4c-2.3 4.7 9.3 6.5 10-3.3m-13.2 10.3c-2.3 9.3 15.2 7.4 10.7-4.6m.4 6.2a8.2 8.2 0 0011.6-6.3m-5.3 6.6a10 10 0 004.7 6.3m-13.1-3.9c-.8 5 4.3 9.2 10 8.8m-9.1-3.9c-2.8 3.9-3.7 11.3 5.2 11.8M224 263c-1.4 4 7 8.1 11.8 1.5m-14.4 8.7c-.7 3 6.8 7 11-5.8m-3.3 6.5c1.8 3.2 7.9 5.8 11.6-.5m-6 3.9c-1.6 4.5 2.7 8.7 7.8 7.5m-17.5-8.5c-1 6.4 6.5 10.1 11 6.8m-15.9-4c-2.2 8.2 8.4 11.3 12.4 5.1m-2.7 2.5c.4 4.6 7.6 8.6 13.2 4.8m-26.1-1c-.5 2.1 8.1 4.2 9.4-3m-4.4 4.9c2 5.2 9 6.5 13 0m-2.3 2.6c1 5 7.2 7.7 12.8 4.3m2.3 2c-1.4 6.5 5.4 11.8 9.6 8.2m-20.6-9.4c-2 7.2 7 11.3 12 7.3m-22.8-11c-.5 6.8 4.8 10.8 10.8 7.8m-22.3-7c-1.8 4.3 7.8 7.9 12.3 4.2m-18.2 7.7c2.5 2.8 11 0 11.7-6.3m-2.3 4.6c3.1 3.6 10.5 5.6 13.4-2.2m-2.6 4c0 5.6 9.8 9.6 13-.6m11.7 2c-1 2.7 1.2 7 5.7 7.5m-13.9-9.2c-.6 3 3.9 7.4 8.7 5.7m.9 1.3c-1.3 3.3-.2 8.1 4.3 8m-3.9-1.8c-3.4 2.8-2 7.9 2.9 8m-4.6-3.2c-4.8 3.2-3.1 10.3 3.2 9.9M239 313c0 7 8.7 8 10.3 1.6m-3.3 4c-1.3 4.2 2 8.2 7.3 7m-6.3 42.8c1.2 1.7 6-1.2 4.7-4-1.3-2.8-6.4-1.3-5.8 1.7m4.6-2.9c.6-5.6-6-6.5-7.7-1.6m2.4-2.9c1.7-2.8-4-6.7-6.3-2.5m2-1.7c1.6-4.1-4.8-6-5.3-2.2m-1.5-5.4c.8-2 8-.8 5 3.5m5.5 5.1c2.8-2.6-2-7.8-5-6m24 13.9c-2.2.2-4.5 1.7-2.9 6.5 1.2 3.3 6.1 3.4 6.9 1.5"/>
+      <path d="M260.5 365.9c-2.2-1.5-7 1-4.8 5.6 1.6 3.5 5.8 2 6.4.2m-14 .8c1.2 2 6.6 1 7.6-1m-3.8-5.4c1.2-.8 3.3.2 3.7 1.2m-4-33c-3.8 2.5-1.5 10 4.3 8m-5.6-1.9c-3 2.3-.2 9.6 5.3 6.8m-4.3 0c-2.1 2.1-.1 7.8 5.2 6.7m-6-3.8c-1.2-.5-4.2-.2-5.5 1.8m2.1-28c-2.8 2.8-1.4 8.3 3.8 8.8m-4.8-3c-4 2-4 10 4 10.3m-4.3-1.3c-2.3 1.8-1.2 8.8 4.6 7.9m-2.8-.3c-.8.9-1 3-.2 3.9m-2.3-6.5c-2 0-4.8 1.5-5.5 3.7m-3.7-7.5c.7-2 7.1-2 7.6 4.1m.6-7.2c-.9.2-2.6 1-3 2.8m.2-21.7c-2.7 2.6-4 10.5 4.3 12m-9.9 4.4c0-2.1 5.8-4 7.8-.8M232 322.8c.8 1.6 4.8 3.8 7.2 2m-28-14.6a6.3 6.3 0 007.2 6.5c4.3-.5 5.2-4.2 3.9-6.7m-3.2 6.9c-2.9 3.4.6 8.3 3.8 6.9m-.6-9.4c1.7-.6 7.2-1.4 8.9 1.2m-26.8-.2c-1.3 2 6.7 3.9 9.4.2m-2.7 1.9c-.3 2.6 1 7 7.6 5.1"/>
+      <path d="M219.8 326.6c1-2.2-3.8-5.8-7.6-1.8-3.7 4 .6 8.5 2.9 7M202.7 318c-2 3.4 5.5 9.5 9.8 3.8"/>
+      <path d="M197.7 323.8c-2.7 2.8.7 7.9 4.7 6.3 4.1-1.5 3.7-5.8 2.7-6.9"/>
+      <path d="M192.5 329c-2.2 2 0 6.6 3 6.6s4.9-2.3 4.3-5.4m5-1.6c-.4 3 4 5 6.9 2.2m0-5.4c.5-.6.2-1.7-.5-2.3m-23.4 9.8c-2.5 2 3 7.6 6.3 2.5m13.1-3.5c-1.6 1.5 1 5.5 3.6 4.3m-12.4-1.5c.4 2.7 5.8 4.8 9.2.6m-6.3 2.1c-.8 1.8.9 4.5 3 4.2m48.3 11.8c-2 3.9 4.4 8.5 9 3.7m-4.4 2.1c-1 2.1.2 5.1 2 6.2m-8-1.7c.4-2 3.2-3.8 5.7-2.9m-9-2.2c.3-1.8 2.6-3.5 4.4-3m147.2-77.4c-9.2.1-5.3 14.8 2.6 11.9m-5.6-1c-1.8 2.9 1.7 7.6 5.6 4.8m-1 .6c-2.8 4.5 6.9 11.4 10.8 4.3m-3.1 2.7c0 4.3 12.5 7 10.7-1.5m-1.2 4.6c3 5 14 5.5 12.9-2m-2.5 5.2c2.3 3.4 13.2 5.4 12.8-1.5m-56.7-40.8c1.5 4 6.8 5.4 12.6 3m-16-.2c3.7 2.3-1.6 12.9-7.1 8.6m7.2-2c4 1.9 8.9.5 10.3-5.2m-2.5 4.4c.4 3 4.7 5.3 10.2 4.1m-20.1-1c5.2 4.4-2.3 13.4-5.7 9.3m7.6-6c2.5 1.8 8.8.8 9.4-4m-2.8 4c.5 3.1 3 4.3 6.4 4.4m-14.4-.1c2.6 3.6 9 4.6 11.9-.1m-2.9 2.7c-.2 3.4 3.6 6.3 7.6 5.5M375 295c3.3 1.7 7-4.7 4.1-9m-.2 15.7c4 .2 4.5-5.8.7-9.2m8.4 14.7c3.4-.8 2.3-8.1-5.8-8.7m16 14.1c3.2-.9.6-9-8.3-8.5m20.5 11.4c2.2-3.4-5-9-11-6m17 10.6c4 1.2 6.8-9.4-5.9-7.7m13.3 7.7c3.5-1 6-7.2-4.2-5.2m12 5.7c3 1.6 4.4-7.5-5-5m-47-23c3.9 2.1 10-.4 9.4-5.3m-1.5 4.2c1.3 2.3.8 6.8-1.7 8m2-2.6c2.6 1 6.1.1 8.2-4m-3.6 4c.7 1.8 1 5.4-.7 7.2m1.3-4.1c2.9 1.6 6.2-.5 7.6-3.5m-1.8 2.6c2 1.3 3.9 7.3.4 9.8m2-2.8c2.4 0 6 0 8.3-3m-1.7 1.7c2.2.6 4.8 4.2 3.9 7.4m.1-1.1c2.5-.3 6.7-2 7.9-5m-1.2 2a6.6 6.6 0 013.2 6.5m0-2.1c2.5-.1 4.7-1.4 5.3-4.1m-.6 1.8c1.8.6 4 2.7 4.1 5.1m-.3-1.5c1.8-.3 3.1-1.4 4.3-3.2m4.9-.3c2.3 2.3-.8 10-5.6 8.6m-43.9-164.7c-4.7 2.9-18.3 2-11.6-9.2m13 1.6c-9.5 3.8-21-3.5-9-11.3m-3.2-2.6c-7.8 0-13.1 12.6-2.6 17M348.6 138c-2 4 5.3 8.4 10.3 4.4 3.9-3.1 3.6-11.5 1.3-14.7m-15.6 19.8c-2.6 8.5 16.4 9 13.4-4.5m-14.4 17.2c.6 6.4 18.1 4.3 12.5-8.7m2-3.6c1.4 2 5.3 5.3 11.9 4.6m-9-13.5c.6 2.3 4.5 4 9.5 2.3M185.4 334.8c-4.5 3.1 2.4 8.1 4.9 2.6m-8.4-.2c-4.4 3.2 2.4 8.2 4.9 2.7m-8.6-.3c-4.4 3.2 2.4 8.1 5 2.7m-8.8-.5c-4.3 2.3.7 7.8 5 3m-9.2-.9c-4.3 2.3.7 7.8 5 3m16.6-9.6c-.1 3.3 6.1 4.6 8.4-.3m-4.5 3.3c-2 2.5 1.6 5.5 3.5 4.4m-11.8-4.8c-.2 2.8 5.2 4.4 7.8 1.3m-4.9 1.6c-1.7 2.2 1.7 5.3 4 4.4m-10.5-4.8c.2 2.2 3.3 4.7 6.6 3.3m-4.6-.3c-1.3 1.1-.7 3.8 1.1 4.7m-7.8-5c-.5 2 2.9 5.6 6.4 3.3m-5.7-1c-2 1.7-1.8 4.1.8 4.5m-5.8-4.7c-.2 1.4 1.5 3.6 3.7 3.3m-14.7-3.4c-2 1.1 3.2 6.7 6.5 1.5m-11.6.8c-2.6 1.2 3.8 7.4 6.7 1.1m10-1.3c-2 .4-3.3 3.3-1.6 4.5m-5-3.5c-.2 1.2 2.3 3 4.3 2.4m-5.9-1.9c-2 1.2-.9 4.6 1.4 4.1m-8.3-1.8c-1.8 1.3-.5 4 2 3.4m1.3-3.6c0 .7 1.7 1.8 3 1.3m-12.5-2.5c-2.3 1-2.1 6.6 5.5 3.6m-10.6-1.3c-3.2 1.5-2.1 5.8 4.8 1.7m.5.3c-.8.7-1.7 3.5 1.5 2.4m-7.2-1c-1.3 1.1-.5 3.5 2.3 2.6m-9-2.2c-2.3 1.3 2.8 3.1 6.2-.5m-4.6 2.1c-1 1-1 4.1 1.6 3m-8.2-1.7c-1.5 1.1 1 2.7 6 .5m-4 1.1c-1.9 1.5-1.7 3.4 1 2.8m-6.4-2c-2 1.9.9 3.1 4.4 1.6m-4.4.5c-3.4 1.5-1.9 4.4.2 3.3m113.8 6.5c-.8 1.7 1.8 3.1 4.3 2.7 2.3-.3 4.6-2.3 2.8-5m.1 3.4c2.4 1.8 6.5-.3 6.5-3"/>
+    </g>
+    <g fill="#fff" stroke-width=".4">
+      <path d="M396.8 103c-10.3-5-31.7-14.6-37.8-6.9 5.6-2.3 21.8.1 35.2 12.5l2.6-5.5z"/>
+      <path d="M403 102.5c-11.9-13.9-19-10.8-27.5-15.5-8-4.5-20.8-5.4-23.3 1.7 11.7-5.7 22.5 3 29.2 4.2 9 1.4 14.2 8.5 16.9 11.7l4.7-2zm44.9-1.8c-6.2-14.1-19.4-10.4-25.2-16.4-8.5-8.8-30-17-39-10.9 19.6-1 28 13.5 38.4 18.6 7.5 3.6 15.5 11.3 25.8 8.7z"/>
+      <path d="M424.7 99.2c-10.5-13.1-26.8-24.7-34.2-20.4 9.8.6 12.9 7.4 19.8 11.8 7 4.3 3.9 10.7 14.4 8.6zm-50.2 23.2c-11-4.1-32.7-6.2-42.8 6.4 16.8 2.9 42 1.3 42.8-6.4z"/>
+      <path d="M372.4 127.3c-11-5.2-19.7 2-30.1 1-19.8-2-34-.8-35.8 8.8 11.3-10.2 30.4-1.8 38.1-3.9 7.7-2 36.3-.3 45.3 3.6-4.6-5.7-11.8-7.2-17.5-9.5zm34.8-29.5c-2.6-8.5-2.4-17.5 10.3-16.9-3.2-4-15-6-17 8.9-14-10.3-29.4-12.1-32.2-3.2 7.2-6.2 18.4-1.7 31.8 13.5a23.8 23.8 0 017.1-2.3z"/>
+      <path d="M387.9 109.5c-8-5.2-18.8-13.5.1-16.9-8-4.3-20-2.4-18.7 12.5-21.6-8.7-37.1-5.8-40.4 2.9-3.6 9.5 9.8 14.8 12.1 8.7-2.4 1-10.8-1.8-6.4-7.2s26.8-1.3 48.1 9.8c6 3 26.3 2.6 5.2-9.8z"/>
+      <path d="M382.2 123.7c-6.1-12.6-26.1-1.2-30.1-13.4-5.6 17.9 28.4 8 30.1 13.4zm127.1 13.6c4.2 2.1 7.8-1.2 1.4-3.7 4.2 2 7.9-1.1 1.5-3.7 4.2 2 7.8-1.1 1.4-3.7-1.7 1.7-4.1 8-4.3 11.1zm2.2-24.2c9.3-9.8-.7-13.1 10.6-23.2 9.3-8.2 1.8-13.7 10.5-20 2.9-2.1 9-6.2 9.6-10.4 3.7 9.3-11.6 10.6-10.6 25.5.7 9.5-5.8 8.7-8.2 24.8-.5 3.3-2.9 10.8-11.9 3.3z"/>
+      <path d="M515.6 117.5c5.2-11 11.1-10.9 14-15.2 5.4-8.3 16.8 1.4 26.5-6-1.7 10.5-14.7 6.8-20.4 13.5-5.6 6.7-10.3 9.7-20 7.7z"/>
+      <path d="M517 121.1c9-7.2 15.6-2.4 21.8-6.2 15.7-9.5 22 2 36-2.6-3.6 9-24.4 1.3-33.4 8s-40.7 13.2-24.5.8zm-26.3 51.4c-.2-4.1-4-9.4-9.4-10-5.4-.7-7.8-6.4-11.9-6.6-4.1-.3-6.8-8.5-12.5-8.4-5.6.1-8 7.5 5.3 14.2 13.3 6.7 28 14.4 28.5 10.8zm-16.8 3.5c-5.6.2-6.4 8.5-11.8 8.7 7.4 4 12.9-1.8 16.7-7L474 176z"/>
+      <path d="M478.6 177c-5 4.1-6.4 12.7.7 15.2-4.2-5.9 7.5-8.5 3.9-14l-4.6-1.2z"/>
+      <path d="M483.4 177.3c-3.8 7.4 6.1 8.3 3.5 14 5.7-1.3 6.6-12 1.4-14.8l-4.9.7z"/>
+      <path d="M445.6 161.3c9.3-.5 17.7 4.5 23.4 12.6 3.6 5.1 15.7 7.2 19.9 3 4-4 1.8-12.8-8.5-10-2.6-4.3-10-2.8-13.7-6.4-3.6-3.6-17.5-13.9-21.1.8z"/>
+      <path stroke-linecap="round" d="M480.4 167c-2.5.5-3.3 4.7-1.7 6.9m7-4.4c.7 1.3.2 3.1-.2 4m-25.2-11.8c4.7.2 5.6 3.7 10.8 5"/>
+      <path d="M457.1 150a161 161 0 0137.6 12.3c8.1 4.6 20.7 6 31.6 2.8 11-3 32.2-5.9 31.1 7.8 5.8-6.9-1.5-14.2-16.2-15.5.3-6.7-6.9-12.7-12-8.7 4.7-.7 8.8 8.2-.6 11.8a8.4 8.4 0 00-11.7-9.8c4.4 1.3 9 8.8-1 11.6-6.3 1.8-15.4-.5-22.2-4.6-6.8-4.1-45-19-36.6-7.8z"/>
+      <path d="M498.6 143.3c-5.1 2.3-1.8 7.7-9.7 10.8-8 3-13.6 10.1-11.8 16.2 5.4-11.9 15-11.3 18.3-16 3.4-4.6 8.3-11.4 3.2-11z"/>
+      <path d="M500 144c-.2 9.4-7.6 6-4.7 19.2.9 4.1 2.6 10.8-.3 17.5 8.3-6 3-18.7 6.7-23.5 1.8-2.4 4.2-6 5-9-1.9 5.3-1.7 15.4 3.5 18-4.2-10 11.5-18.3.7-30-1.6 3-6.5 8-10.8 7.8zm-26.2-9.4c1.3 2 2.6 6.8 1.4 9.6 2.6-1.6 6.3-5.6 7.5-8.3 5.3.8 7.3 7.3 2.3 10.2 3 0 8.4 0 11.3-3.5-3.6-4-14.8-10.2-22.5-8z"/>
+      <path d="M393.7 116.1a10 10 0 00-4.8-2c-7.8-1.6-3.7-8.6 2.9-8.5 14.2-15.5 22.1-3.6 39.4-8.4 6-1.8 10.2-1.3 13.4.2 7.8-5.2 16.8-3.8 23.4 2.3a5.3 5.3 0 013-2.4c6.1-1.7 11 3.4 12.7 10.1 4.7-.8 10.1 1.5 13.7 4.7 4.9-2.5 8.2-2.6 9.5 0 4.4-2 10-3.4 12.9 3.6s-6.7 4.9-8.3 19.6c-1 9-11 12.6-19 7.2-12.8-8.7-25.3-10-31.5 3-6.1 13.2-11 20.8-26 16.5a16 16 0 00-16.7 6.5c-4.4 6-11 .4-19 1 10-1.5 6.1-4 14.9-4.6 8-.5 5.9-8 11-9-20 5.1-19.3-2.4-35.8 2.8 7.2-9.3 18.6-4.1 24.2-9.5-14.9-.3-21.6-10-28.3-6-10.5 6.5-6 24.8-33.5 23.2-13.4-.7-21.9 1-29.8 9 13.9-28.8 32.8-13 42-22.1a68 68 0 0012.3-14.7 6.1 6.1 0 014-3.2c-22.9-7.2-9-18.5 13.4-19.3z"/>
+      <path stroke-linecap="round" d="M506.9 112c.3.8.5 1.8.5 3 0 5.6-8.5 5.8-9 14.2-.3 4.4-.8 6.8-3.7 6.3-3-.5-5.6-5.1-2.8-10.5"/>
+      <path d="M398 107.7a10.9 10.9 0 00-6.2-2.1m52.8-8.3c6.8 3 10.1 10 20 10.4 9.6.3 15.5 14.2 31.5 5.1a38 38 0 011.2-.6M468 99.7a12.7 12.7 0 00-1.4 8.2m-29.8 21c-12 0-15.2 6.1-15.2 12 0 6 5.7 13.7 15.7 13.7s15.5-6.2 15.5-12.9-6.2-12.9-16-12.9z"/>
+      <path d="M439 154.3c-.2-3.3-6.3-2.8-6-5.4.2-2.6 3.3-3.6 3.3-7.2s5.4-3.9 7.2-1c1.8 2.8 7.2 8.3 8.4 5.5m-8.4-5.5a9.9 9.9 0 00-.4 13.1m4.3-8.8c-1 2-1.2 5-.1 6.8"/>
+      <path fill="none" d="M495.5 135.6c9.5.8 11-9.7 4-10.3m-15.7-17.8c-3.2-4.2-10.8-5.6-11 3.2"/>
+      <path d="M472 120.8c-3.2-8-11.5-9.1-15.8-5.1-3.7 3.3-3.8 12 4 13.8 2.8-3.3 8-7.5 11.8-8.7zm-3.5-5c-4.7-4.1-11.5 3.7-5.3 10.8m-83 8.7c3.2-.7 7.7.8 14.7 4 4.3 2.1 17.5 6.5 25.7 2.1-8.5 3.1-15-9.7-21.4-8.2-6.4 1.6-18.2 4-23.1-.8 12 .8 18.5-8.8 32.4-.5a24 24 0 0013.1 3.6c-11.3-13.6-26.2-4.9-27.8-16 6.8 7.4 23.5-1.6 32 12.1m-29.5-10c-1.6-2-1-4-2.6-5.5"/>
+    </g>
+    <path stroke="none" d="M483.8 107.5c-2.8-3-9-.7-7.2 5.4a9.6 9.6 0 017.2-5.5zM466.3 124a21.1 21.1 0 015.7-3.2 12.4 12.4 0 00-3.8-5.2c-1.5-1-5.7 4.7-1.9 8.3z"/>
+    <path fill="none" stroke-linecap="round" stroke-width=".4" d="M458.7 113.5c-4.6-3.1-8.9-2.8-10.3-.3-3.3 0-6.1 2.4-6.2 7.2m7.1 2.1c-5.5-3.8-13.1-2.4-12.6 6.1m-3.4 4.9c2.7-2.2 6.6-3.8 9.6 0m31.8-8.4c-1 1.4-1.8 3.6-.1 7-2-2.8-7.2-2.8-12.8 4.4m25.1-11.8c-6.7.8-6.5 5.2-1.1 7m-46.5-23.4c-5.7-1.1-9.8 2.2-2 5m12.8-8.8c-8-2-11.2.1-7.6 2m-15.5 30c-.2 2.9 1.3 6.6 6 2.4m-4.4 6.1c0 .8-.1 1.7-.7 2.4m-17.9-40c-4.9-1.5-5.8-6 0-5.6m-1.6 16c-5.4-1.9-5.4-7.1-1-6.6m11 3.8c-6.3-1.5-6.5-5.9-1.8-5.2m2.6-8.2c-3.4-.2-8.5 3.5.1 5.7m9.3 1.8c-7.9-1.1-7.7 2-3.1 4.1m9-11.6c-6-1.1-8.1 2.5-4 4m-15 18.3c-1.5-1.2-2.7-7 4.3-5.3m10.3 3.5c-4.7-1.3-9.2 3.4-4.9 6m11.2-11.5c-5-1-9.2.5-6.5 2.3"/>
+    <path fill="#fff" stroke-width=".4" d="M483.6 107.5a9.6 9.6 0 00-7 5.4"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bv.svg
new file mode 100644
index 0000000..71d098a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bv.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bv" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="bv-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#bv-a)">
+    <path fill="#fff" d="M-28 0h699.7v512H-28z"/>
+    <path fill="#d72828" d="M-53-77.8h218.7v276.2H-53zM289.4-.6h381v199h-381zM-27.6 320h190.4v190.3H-27.6zm319.6 2.1h378.3v188.2H292z"/>
+    <path fill="#003897" d="M196.7-25.4H261v535.7h-64.5z"/>
+    <path fill="#003897" d="M-27.6 224.8h698v63.5h-698z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bw.svg
new file mode 100644
index 0000000..3d65eda
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bw.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-bw" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#00cbff" d="M0 0h640v480H0z"/>
+    <path fill="#fff" d="M0 160h640v160H0z"/>
+    <path d="M0 186h640v108H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/by.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/by.svg
new file mode 100644
index 0000000..9566c6a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/by.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-by" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="by-a">
+      <path fill-opacity=".7" d="M0 0h682.6v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#by-a)" transform="scale(.9376 .9375)">
+    <path fill="#b20000" d="M0 0h1024v340.1H0z"/>
+    <path fill="#429f00" d="M0 340.1h1024V512H0z"/>
+    <path fill="#fff" d="M0 0h113.4v512H0z"/>
+    <g fill="#b20000" stroke-width="1pt">
+      <path d="M5.4 8.7h5.4v8.7H5.4zm16.2 0h16.2v8.7H21.6zM27 0h5.4v8.7H27zm27 0h5.4v8.7H54zm21.6 8.7h16.2v8.7H75.6zM81 0h5.4v8.7H81zM16.2 17.4H27V26H16.2zm16.2 0h10.8V26H32.4zm37.8 0H81V26H70.2zm16.2 0h10.8V26H86.4zM10.8 26h10.8v8.7H10.8zm27 0h10.8v8.7H37.8zm27 0h10.8v8.7H64.8zm27 0h10.8v8.7H91.8zm10.8-17.3h5.4v8.7h-5.4zm-97.2 26h10.8v8.7H5.4zm37.8 0H54v8.7H43.2zm54 0H108v8.7H97.2zm-86.4 26h10.8v8.7H10.8zm5.4 8.7H27v8.7H16.2zm21.6-8.6h10.8v8.6H37.8zm-5.4 8.6h10.8v8.7H32.4zm-10.8 8.7h16.2v8.7H21.6z"/>
+      <path d="M27 86.8h5.4v8.7H27zm37.8-26h10.8v8.6H64.8zm5.4 8.6H81v8.7H70.2zm21.6-8.6h10.8v8.6H91.8zm-5.4 8.6h10.8v8.7H86.4zm-10.8 8.7h16.2v8.7H75.6zm5.4 8.7h5.4v8.7H81zM54 78h5.4v8.7H54zM0 78h5.4v8.7H0zm108 0h5.4v8.7H108zm-81 43.4h5.4v8.7H27zm-5.4 8.8h16.2v8.6H21.6zm-5.4 8.6h27v8.7h-27zM81 121.5h5.4v8.7H81zm-5.4 8.7h16.2v8.6H75.6zm-5.4 8.6h27v8.7h-27zm5.4 43.4h27v8.7h-27zm-10.8-34.7h37.8v8.7H64.8zm-54 0h37.8v8.7H10.8zm5.4 43.4h16.2v8.7H16.2zm-5.4-8.7h27v8.7h-27zM86.4 165h27v8.7h-27zM81 191h16.2v8.7H81z"/>
+      <path d="M21.6 199.6H27v8.7h-5.4zm64.8 0h5.4v8.7h-5.4zM0 164.9h27v8.7H0zm48.6 17.3h16.2v8.7H48.6zM54 191h5.4v8.7H54zm-16.2-26h37.8v8.7H37.8zM59.4 34.7h10.8v8.7H59.4zm-10.8 8.7h16.2v8.7H48.6zm-5.4 8.7H54v8.6H43.2zm16.2 0h10.8v8.6H59.4zM0 43.4h10.8v8.7H0zm5.4 8.7h10.8v8.6H5.4zm97.2-8.7h10.8V52h-10.8zM97.2 52H108v8.6H97.2zM0 130h5.4v8.7H0zm108 0h5.4v8.7H108zm-59.4 69.5h16.2v8.7H48.6zm-5.4 8.7H54v8.6H43.2zm16.2 0h10.8v8.6H59.4zm-21.6 8.6h10.8v8.7H37.8zm27 0h10.8v8.7H64.8zm-32.4 8.7h10.8v8.7H32.4zm37.8 0H81v8.7H70.2zM27 234.3h10.8v8.7H27zm48.6 0h10.8v8.7H75.6zM16.2 243h16.2v8.7H16.2zm64.8 0h16.2v8.7H81zm10.8-8.7h10.8v8.7H91.8zm5.4-8.7H108v8.7H97.2zm5.4-8.7h10.8v8.7h-10.8zm-91.8 17.4h10.8v8.7H10.8zm-5.4-8.7h10.8v8.7H5.4zM0 217h10.8v8.7H0zm21.6 34.8H27v8.6h-5.4zm64.8 0h5.4v8.6h-5.4zm-32.4-26h5.4v8.6H54zm-16.2 26h5.4v8.6h-5.4zm32.4 0h5.4v8.6h-5.4zm-16.2 0h5.4v8.6H54zm-54 0h5.4v8.6H0zm108 0h5.4v8.6H108zM54 130.2h5.4v8.6H54zM27 43.4h5.4v8.7H27zm54 0h5.4v8.7H81zm-32.4 60.7h16.2v8.7H48.6zm-10.8 8.7H54v8.7H37.8zm5.4 8.7h5.4v8.7h-5.4zm-10.8-17.4h10.8v8.7H32.4zm5.4-8.6H54v8.6H37.8zm5.4-8.7h5.4v8.7h-5.4zm16.2 8.7h16.2v8.6H59.4zm5.4-8.7h5.4v8.7h-5.4zm5.4 17.3H81v8.7H70.2zm-10.8 8.7h16.2v8.7H59.4zm5.4 8.7h5.4v8.7h-5.4zm21.6-17.4h10.8v8.7H86.4zm5.4-8.6H108v8.6H91.8zm10.8 8.6h10.8v8.7h-10.8zm-10.8 8.7H108v8.7H91.8zm5.4 8.7h5.4v8.7h-5.4zm0-34.7h5.4v8.7h-5.4zM0 104h10.8v8.7H0zm5.4-8.6h16.2v8.6H5.4zm10.8 8.6H27v8.7H16.2zm-10.8 8.7h16.2v8.7H5.4z"/>
+      <path d="M10.8 121.5h5.4v8.7h-5.4zm0-34.7h5.4v8.7h-5.4zm-5.4 69.4H27v8.7H5.4zm27 0H54v8.7H32.4zm27 0H81v8.7H59.4zm27 0H108v8.7H86.4zm-43.2 17.4h27v8.6h-27zm-37.8 0h27v8.6h-27zm75.6 0h27v8.6H81zm27 34.7h5.4v8.6H108zm-108 0h5.4v8.6H0zm5.4 295h5.4v-8.6H5.4zm16.2 0h16.2v-8.6H21.6zM27 512h5.4v-8.7H27zm27 0h5.4v-8.7H54zm21.6-8.7h16.2v-8.7H75.6zM81 512h5.4v-8.7H81zm-64.8-17.4H27V486H16.2zm16.2 0h10.8V486H32.4zm37.8 0H81V486H70.2zm16.2 0h10.8V486H86.4zM37.8 486h10.8v-8.7H37.8zm27 0h10.8v-8.7H64.8zm27 0h10.8v-8.7H91.8zm10.8 17.3h5.4v-8.7h-5.4zm-97.2-26h10.8v-8.7H5.4zm37.8 0H54v-8.7H43.2zm54 0H108v-8.7H97.2zm-86.4-26h10.8v-8.7H10.8zm5.4-8.7H27v-8.7H16.2zm21.6 8.7h10.8v-8.7H37.8zm-5.4-8.7h10.8v-8.7H32.4zm-10.8-8.7h16.2v-8.7H21.6zm5.4-8.7h5.4v-8.6H27zm37.8 26h10.8v-8.6H64.8zm5.4-8.6H81v-8.7H70.2zm21.6 8.7h10.8v-8.7H91.8zm-5.4-8.7h10.8v-8.7H86.4zm-10.8-8.7h16.2v-8.7H75.6zm5.4-8.7h5.4v-8.6H81zM54 434h5.4v-8.7H54zm-54 0h5.4v-8.7H0zm108 0h5.4v-8.7H108zm-81-43.4h5.4v-8.7H27zm-5.4-8.8h16.2v-8.6H21.6zm-5.4-8.6h27v-8.7h-27zM81 390.5h5.4v-8.7H81z"/>
+      <path d="M75.6 381.8h16.2v-8.6H75.6zm-5.4-8.6h27v-8.7h-27zm5.4-43.4h27V321h-27zm-10.8 34.7h37.8v-8.7H64.8zm-54 0h37.8v-8.7H10.8zm5.4-43.4h16.2v-8.7H16.2zm-5.4 8.7h27V321h-27zM86.4 347h27v-8.7h-27zM81 321h16.2v-8.7H81zM0 347h27v-8.7H0zm48.6-17.3h16.2V321H48.6zM54 321h5.4v-8.7H54zm-16.2 26h37.8v-8.7H37.8zm21.6 130.2h10.8v-8.7H59.4zm-10.8-8.7h16.2V460H48.6zm-5.4-8.7H54v-8.7H43.2zm16.2 0h10.8v-8.7H59.4zM0 468.6h10.8V460H0zm5.4-8.7h10.8v-8.6H5.4zm97.2 8.7h10.8V460h-10.8zm-5.4-8.7H108v-8.6H97.2zM0 382h5.4v-8.7H0zm108 0h5.4v-8.7H108zm-64.8-78.2H54v-8.6H43.2zm16.2 0h10.8v-8.6H59.4zm-21.6-8.6h10.8v-8.7H37.8zm27 0h10.8v-8.7H64.8zm-32.4-8.7h10.8v-8.7H32.4zm37.8 0H81v-8.7H70.2zM27 277.7h10.8V269H27zm48.6 0h10.8V269H75.6zM16.2 269h16.2v-8.7H16.2zm64.8 0h16.2v-8.7H81zm10.8 8.7h10.8V269H91.8zm5.4 8.7H108v-8.7H97.2zm5.4 8.7h10.8v-8.7h-10.8zm-91.8-17.4h10.8V269H10.8zm-5.4 8.7h10.8v-8.7H5.4zM0 295h10.8v-8.7H0zm21.6-34.8H27v-8.6h-5.4zm32.4 26h5.4v-8.6H54zm0 95.5h5.4v-8.6H54zm-27 86.8h5.4V460H27zm54 0h5.4V460H81zM48.6 408h16.2v-8.7H48.6zm-10.8-8.7H54v-8.7H37.8zm5.4-8.7h5.4v-8.7h-5.4zM32.4 408h10.8v-8.7H32.4zm5.4 8.5H54V408H37.8zm5.4 8.7h5.4v-8.6h-5.4zm16.2-8.7h16.2V408H59.4zm5.4 8.7h5.4v-8.6h-5.4zm5.4-17.3H81v-8.7H70.2zm-10.8-8.7h16.2v-8.7H59.4zm5.4-8.7h5.4v-8.7h-5.4zM86.4 408h10.8v-8.7H86.4zm5.4 8.5H108V408H91.8zm10.8-8.6h10.8v-8.7h-10.8zm-10.8-8.7H108v-8.7H91.8zm5.4-8.7h5.4v-8.7h-5.4zm0 34.7h5.4v-8.6h-5.4zM0 408h10.8v-8.7H0zm5.4 8.5h16.2V408H5.4z"/>
+      <path d="M16.2 407.9H27v-8.7H16.2zm-10.8-8.7h16.2v-8.7H5.4zm5.4-8.7h5.4v-8.7h-5.4zm0 34.7h5.4v-8.6h-5.4zm-5.4-69.4H27v-8.7H5.4zm27 0H54v-8.7H32.4zm27 0H81v-8.7H59.4zm27 0H108v-8.7H86.4zm-43.2-17.4h27v-8.6h-27zm-37.8 0h27v-8.6h-27zm75.6 0h27v-8.6H81zm27-34.6h5.4V295H108zm-108 0h5.4V295H0zm48.6-43.5H54v8.7h-5.4zm10.8 0h5.4v8.7h-5.4zm0-17.3h5.4v8.7h-5.4zm-10.8 0H54v8.7h-5.4zM10.8 477.3h10.8v8.7H10.8zm75.6-164.9h5.4v-8.7h-5.4zm-64.8 0H27v-8.7h-5.4zm27-8.7h16.2v8.7H48.6z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bz.svg
new file mode 100644
index 0000000..6824957
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/bz.svg
@@ -0,0 +1,145 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-bz" viewBox="0 0 640 480">
+  <defs>
+    <radialGradient id="a">
+      <stop offset="0" stop-color="#ffef5d"/>
+      <stop offset="1" stop-color="#ea5700"/>
+    </radialGradient>
+    <radialGradient id="b">
+      <stop offset="0" stop-color="#952d1a"/>
+      <stop offset="1" stop-color="#570a00"/>
+    </radialGradient>
+    <radialGradient id="c" cx="247.1" cy="238.3" r="36" fx="247.1" fy="238.3" gradientTransform="scale(1.22624 .8155)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="d" cx="322" cy="152.9" r="10.6" fx="322" fy="152.9" gradientTransform="scale(.93615 1.06821)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="e" cx="364.2" cy="237.8" r="36" fx="364.2" fy="237.8" gradientTransform="scale(1.2242 .81686)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <radialGradient id="f" cx="468.1" cy="156.1" r="10.7" fx="468.1" fy="156.1" gradientTransform="scale(.95596 1.04607)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+  </defs>
+  <path fill="#ce1126" d="M0 0h640v480H0z"/>
+  <path fill="#003f87" d="M0 34.3h640v411.4H0z"/>
+  <circle cx="320" cy="240" r="188.6" fill="#fff"/>
+  <circle cx="320" cy="239" r="156.3" fill="none" stroke="#552300" stroke-width="3.9"/>
+  <path fill="#007f00" d="M302 73.2c14-15.2 26.9 2.3 26.5 10.6C328.2 92 314 110 301 95.5c13.4 3.4 17.4-11.5 24.1-11.7-6.7.2-9.5-14.6-23.2-10.6zm-147.2 119c-7.4-19.4 14-23 21.3-19 7.3 3.9 17.3 24.6-1.6 29.6 9-10.4-2.7-20.5.2-26.6-2.9 6-17.5 2-19.9 16zM471.9 173c19.4 7.6 7.6 25.8-.2 28.4-7.9 2.7-30-4-21-21.2 1.6 13.6 17 12 19.7 18.1-2.6-6.2 10.3-14 1.5-25.3zM218.8 377.4c-20.7-2-14.3-22.7-7.5-27.4 6.8-4.7 30-4.3 26 14.7-5.3-12.6-19.7-6.8-24-12 4.3 5.2-6 16.3 5.5 24.7zm209.3-15c.3 20.7-21.1 16.8-26.6 10.6-5.4-6.2-7.7-29 11.8-27.3-12 6.6-4.6 20.2-9.4 25 4.8-4.8 17.1 4 24.2-8.2zM170 153c-1.9-20.6 19.8-18.3 25.7-12.6 6 5.8 10 28.4-9.6 28.2 11.5-7.6 3-20.5 7.4-25.6-4.4 5-17.3-2.8-23.5 10zm22.2 193c-20.5-3.5-12.7-23.7-5.6-27.9 7-4.2 30.1-2.3 25 16.4-4.5-13-19.3-8-23.1-13.6 3.8 5.5-7.2 16 3.7 25zM354.3 74c18.6-9.2 24.3 11.7 21 19.3-3.2 7.5-23 19.4-29.8 1.3 11.2 7.9 20.3-4.7 26.7-2.4-6.4-2.3-3.7-17-17.9-18.2zM394 388.3c-9.3 18.5-26.5 5.3-28.5-2.7s6.5-29.3 23-19c-13.8.5-13.4 16-19.8 18 6.4-2 13.3 11.4 25.3 3.7zm90.5-178.7c15.6 13.7-1.7 26.8-10 26.7-8.2-.1-26.8-13.8-12.5-27-3 13.4 12 17 12.4 23.6-.3-6.7 14.5-9.8 10-23.3zm-263-108.8c4.7-20 24.5-11.2 28.4-3.9 3.8 7.3.5 30-18 23.8 13.3-3.7 9.3-18.6 15-22-5.7 3.4-15.5-8-25.4 2.1zm-61.6 172.5c-18.2-10-4.2-26.5 4-28.1 8-1.7 29.2 7.7 18 23.7.2-13.7-15.4-14-17.2-20.5 1.8 6.5-12 12.7-4.8 25zm263.6-159.6c20.6-3 19.4 18.7 14 24.8-5.5 6.2-28 11.4-28.9-8 8.2 11 20.8 1.9 26.2 6-5.4-4.1 1.9-17.3-11.3-22.8zM306.3 408.1c-19 8.4-23.8-12.7-20.3-20 3.6-7.5 23.9-18.6 30-.1-11-8.4-20.5 3.8-26.8 1.3 6.3 2.5 3 17.2 17.1 18.8zM476.8 293c8.6 18.8-12.6 23.7-20.1 20.2-7.5-3.5-18.8-23.6-.2-29.7-8.4 10.9 4 20.3 1.4 26.6 2.5-6.3 17.3-3 19-17.1zm-325.1-60.6c-12-17 8-25.7 16-23.6 8 2 22.8 19.8 5.7 29.2 6.2-12.3-7.6-19.3-6.3-25.9-1.3 6.6-16.5 6.1-15.4 20.2zM264 395.6c-19.6 7.1-23-14.2-18.9-21.4 4-7.2 25-16.9 29.9 2-10.3-9.1-20.7 2.4-26.8-.5 6 2.9 1.8 17.3 15.8 19.9zm-5.7-314c11.6-17.2 27-2 28 6.3.9 8.1-10.3 28.2-25.4 15.8 13.8 1.3 15.4-14 22-15.2-6.6 1.2-11.7-13-24.6-7zm200.2 252.1c1.3 20.6-20.3 17.7-26 11.7-5.8-5.9-9.1-28.6 10.4-27.8-11.7 7.2-3.6 20.4-8.2 25.4 4.6-5 17.3 3.3 23.8-9.3zm-5.3-194.4c20.4 4 12 24 4.7 28-7.2 4-30.2 1.3-24.4-17.2 4 13.1 19 8.7 22.6 14.4-3.6-5.7 7.7-15.7-3-25.2zm-258.4-14.6c.2-20.6 21.5-16.2 26.8-9.9 5.3 6.3 7 29.3-12.4 27 12.2-6.3 5-20 10-24.7-5 4.7-17-4.5-24.4 7.6zM169 311c-18.6-9.4-5.1-26.4 2.9-28.3 8-2 29.5 6.7 19 23-.4-13.7-16-13.4-18-19.8 2 6.4-11.6 13.1-4 25zM392 91c19.5-7.3 23 14 19 21.2-4 7.2-24.9 17.1-29.9-1.7 10.4 9 20.7-2.6 26.9.3-6.2-2.9-2-17.3-16-19.8zm-41.3 314.8c-15.2 14.2-26.7-4.1-25.8-12.3.9-8.2 16.3-25.3 28.2-9.9-13-4.3-18 10.4-24.9 10 6.8.4 8.5 15.3 22.5 12.2zm132.7-158c14.2 15.1-4.4 26.5-12.6 25.5-8.2-.9-25.4-16.3-9.8-28-4.4 13 10.3 18 10 24.7.3-6.7 15.4-8.4 12.4-22.2z"/>
+  <path fill="#005800" d="M301 95.5c13.4 3.4 16.7-11.3 23.5-11.5-4 4.7-14.2 16.7-23.5 11.5zm1-22.3c14-15.2 26.9 2.3 26.5 10.6-11.5-20-15-17-26.6-10.6zM174.4 202.8c9-10.4-2.8-19.9 0-26 2.6 5.6 8.9 20.1 0 26zm-19.7-10.7c-7.4-19.3 14-22.9 21.3-19-23.1 1.4-22 6-21.3 19zm295.9-11.8c1.6 13.5 16.7 11.3 19.3 17.5-5.9-2-21-7.1-19.3-17.6zm21.2-7.3c19.4 7.6 7.6 25.8-.3 28.4 14.7-17.8 10.5-20 .3-28.4zM237.3 364.7c-5.3-12.6-19.2-6.4-23.4-11.7 6.2.3 22 1.2 23.4 11.7zm-18.5 12.7c-20.7-2-14.3-22.7-7.5-27.4-9.2 21.1-4.6 22.1 7.5 27.4zm194.5-31.7c-12 6.6-4.2 19.6-9 24.3-.4-6-1.3-21.8 9-24.3zm14.8 16.7c.3 20.7-21.1 16.8-26.6 10.6 22.3 6.6 22.7 2 26.6-10.6zM186 168.4c11.5-7.5 2.7-19.8 7-25 1 6.1 3 21.8-7 25zM169.9 153c-1.9-20.6 19.8-18.3 25.7-12.6-22.7-4.9-22.8-.2-25.7 12.6zm41.5 181.5c-4.4-13-18.7-7.6-22.5-13.2 6.1.7 21.9 2.7 22.5 13.2zM192.1 346c-20.5-3.5-12.7-23.7-5.6-27.9-10.6 20.5-6 21.8 5.6 27.9zM345.4 94.6c11.3 7.9 19.7-4.7 26.1-2.5-5.4 3-19.3 10.6-26 2.5zm8.9-20.6c18.6-9.2 24.3 11.7 21 19.3-3.5-22.8-8-21.1-21-19.3zm34.2 292.6c-13.8.5-12.8 15.6-19.3 17.6 2.5-5.6 9-20 19.3-17.5zm5.5 21.7c-9.3 18.5-26.5 5.3-28.5-2.7 16.7 16 19.2 12 28.5 2.7zm68-179c-3.1 13.4 11.9 16.3 12.2 23-4.9-3.8-17.2-13.7-12.2-23zm22.5.3c15.6 13.7-1.7 26.8-10 26.7 19.9-12 16.7-15.4 10-26.7zm-252.6-89c13.3-3.6 8.8-18 14.6-21.5-1 6-4 21.5-14.6 21.6zm-10.4-19.8c4.7-20 24.5-11.2 28.4-3.9-20-11.7-21.6-7.2-28.4 4zm-39.5 168c.1-13.6-15.2-13.3-17-19.8 5.6 2.7 19.9 9.7 17 19.9zm-22 4.5c-18.3-10-4.3-26.5 3.9-28.1-16.8 15.9-13 18.6-4 28.1zm248.6-142.8c8.2 11 20.2 1.6 25.6 5.7-6.1 1.2-21.7 4.1-25.6-5.7zm14.9-16.8c20.6-3 19.4 18.7 14 24.8 3.7-22.7-1-22.5-14-24.8zM316 388c-11-8.4-19.9 3.9-26.1 1.4 5.5-2.8 19.7-9.8 26-1.4zm-9.7 20.1c-19 8.4-23.8-12.7-20.3-20 2.7 22.8 7.2 21.4 20.3 20zm150.2-124.7c-8.4 10.9 4 19.7 1.5 25.9-2.8-5.4-10-19.5-1.5-26zm20.3 9.5c8.6 18.8-12.6 23.7-20.1 20.2 23-2.8 21.6-7.2 20.1-20.2zm-303.3-55c6.2-12.3-7.7-18.6-6.4-25.2 3.8 4.8 13.5 17.3 6.4 25.2zm-21.8-5.7c-12-16.9 8-25.5 16-23.5-22.1 7-19.8 11-16 23.6zm123.3 144c-10.3-9.1-20 2.5-26.2-.4 5.7-2.4 20.4-8.5 26.2.3zm-11 19.4c-19.6 7.1-23-14.2-18.9-21.4 1.1 23 5.7 21.9 18.9 21.4zm-3-291.9c13.7 1.3 14.7-13.8 21.3-15-3.1 5.3-11.4 18.8-21.4 15zm-2.7-22.2c11.6-17.1 27-1.8 28 6.3-14.5-18-17.6-14.3-28-6.3zM443 317.6c-11.7 7.2-3.3 19.8-7.9 24.8-.7-6.1-2.3-21.8 8-24.8zm15.6 16.1c1.3 20.6-20.3 17.7-26 11.7 22.4 5.7 22.7 1 26-11.7zm-25-183.6c4 13.1 18.5 8.3 22.1 14-6-1-21.8-3.5-22-14zm19.7-10.8c20.4 4 12 24 4.7 28 11.3-20.1 6.8-21.6-4.7-28zm-244 2.6c12.2-6.4 4.7-19.6 9.6-24.2.3 6.1.8 21.9-9.6 24.2zm-14.4-17.2c.2-20.6 21.5-16.2 26.8-9.9-22-7.1-22.6-2.4-26.8 10zm-4 181c-.3-13.7-15.6-12.8-17.6-19.2 5.7 2.4 20.2 9 17.6 19.2zM169 311c-18.5-9.4-5-26.4 3-28.3-16.2 16.4-12.3 19-3 28.3zm212.2-200.4c10.4 9 20-2.8 26.2 0-5.7 2.6-20.3 8.7-26.2 0zM392 91c19.5-7.3 23 14 19 21.3-1.2-23-5.8-21.9-19-21.3zm-38.9 292.6c-13-4.3-17.4 10.2-24.2 10 4.3-4.5 15.4-15.8 24.2-10zm-2.4 22.2c-15.2 14.2-26.7-4.1-25.8-12.3 10 20.7 13.8 17.9 25.8 12.3zM461 245.3c-4.4 13 10.2 17.3 9.9 24-4.5-4.2-15.8-15.3-9.9-24zm22.4 2.5c14.2 15.1-4.4 26.5-12.6 25.5 21-9.9 18.1-13.6 12.6-25.5z"/>
+  <g fill="#730000" stroke="#000" stroke-width=".5">
+    <path d="M349 120.3s.6-1.3 1.7-.6c1 .8 1.3 4.2 1.3 4.2l-1.6.8s.9-1.3-1.3-4.4zm-8.8 30.7s.8-1-.3-3.4l1.5-.5s.6 1.8-.2 3.9h-1m27-5.4l-3.7 2.3 1.9.8 4.5-2.6-2.7-.5m-49.7 14.6c-1 .8-1 2.1-1.7 3-.4.7-2 1.8-2 3-.2 1.1-.3 1.9.2 3.5.6 1.5 3 8.5 2 13.7-1 5.3-.6 7.5-.3 8.3.4.8 1.6 3 2.3 3 1.6-.2.9-.7 1.5-1.7 1.4-2.5 0-22.2-.7-27.6-.5-4.2-2.5-8-2.7-8.4l-.8-2.6c-1.5-3.5-3.3-6.5-3.3-13.9 0 0-4.7 1.1-8.8-8.2-2.2-4.7-5.3-4.2-9-5.7l1.6-1.1s3.2 1.6 4.7 1.6c1.6 0 1-3.2 1-3.2l1.7-1.5v6.8c0 3.1 4.3 7.4 6.8 8.7 1.6.8 3.6-2.4 3.1-5.6-.5-3 0-7.3 0-7.3l2.2 1.3s-.8 1.3-.6 2.1c.3.8 1.3-.7 2.1-1.5 0 0 .2.2 1 .2l-2.3 4c-.8 1.2-.8 6.2-.8 8 0 2 .7 6.2.7 7.6 0 1 1.8 5 3.3 7.4l1.6 3.5c1.2 1.9 1.3 3.2 2 4.7.4.8 1 3 1.6 7l.7 7c.2 2.4 2.2.6 4.5-1 2.4-1.8 2.4-6 2.4-6s1.8-1.6 1.5-.7c-.2 1 1 2 1 2-1.4 3.3-.6 2.9.9 2.8 1.5-.2 6.5-4 6.5-4 .7-.2 3.8-.2 3.3 0-.6.3-1.4 1.7-1.4 1.7l3.3-.4c-1.1.9-5.5 3.4-6.5 4a90.6 90.6 0 01-8.6 4.1c-2.3 1-6.7 3.2-6.9 5.4 0 2.3.3 8.3 0 10.3l-1 10.6h-10.4s2-7.6 0-9.7c-2.1-2.1-7-8.4-10-10.5-3.2-2 2-.5 2-.5v-2.1l4.8 5.7s8.3-7.3 0-17.3c-2.6-3.1-5.3-7.9-7.3-8.4-2.2-.6-3.3-1-6.9 0-3.7 1.1-12.6 1.1-16.3-4.8l3.1-.5 2.7-1s-1.1 3.7 6.3 3.7 8.4 0 7.8-6.8l2.2-1.1 1.6 1.5s-1.1 3.8-.5 5.3c.5 1.6 3 2.7 5.1 4.2 1 .7 1.6.8 2.2.8.9-.1 1-.1 2.2-1.3 1.8-2 1.4-1.8 3.2-3.4l1-1.6 1.1 2.9z"/>
+    <path d="M319 155c.5-.4 1.2-1.9 2-3.1 1.1-2 2.5-3.2 4-5.6 1.5-2.2 2-5.6 1.5-7.9l1.4.8v3.7l2.7-2 .8.4s-5.9 6-11.3 15.9l-1-2.2zm-51.3-20.3c.8 1.4 1.6 4 3.9 6l1.6-.4s-3.6-4.2-3.6-6l-1.9.4m9.2-2.4s.5 5-.8 6.9l1.6-.8s1-3.4.7-5.3l-1.5-.7zm51.4-15.7s-.3 7 1.1 11.3l1.9-.5s-.3-1.3 1.2-1.9c1.6-.5 5.3-2 7.2-3.6l-.6-1.6s-2.8 2.3-4.2 2.9c-1.3.5-2 1-3.1.7-1.1-.3-2.4-2-1.6-6l-1.9-1.3m20.7 32.8s-.4 5-.2 7.2l1.7.4s-.4-6 .7-6.5l-2.2-1m7.5 3.7s-1.9 3.2-4 3.5l3.4-.7s1-.5 2.4-2l-1.8-.8"/>
+  </g>
+  <g fill="#289400" stroke="#030" stroke-width=".5">
+    <path d="M326.6 138.4l1.3.8 1.3.2 3.2 2.6c1.2 1 1.2-.2 1.2-.2l.8 3.1h1l-.2 3.2 1.8-1.6 2.2 1.9s1.5-1.4 2.3-1.4c.8 0 1.1-.8 1.1-.8h.1c-5.2-2.4-7.4-5-5.9-7.6 2.6-4.4 6.8-1.6 8.1-1l19 10.2s1.3-.8.4-1.6c-1-.8-1.4-2.7-1-3.5.2-.8 2.4 2.4 3.4 2.7l3.5.7v-1s3 2.2 3 3.3c0 0 2.3-1.2 1.5-1.9-.7-.7 3.5 1.7 3.7 3l1-1c-.2 0 .2-3.2 1.3-4.6a4.8 4.8 0 012-1.9s1-1.7 2-1.7c0 0-1-.6-1.4-1.4-.5-.8-1.6-1.2-1.6-1.2s1.4-1 1.8-1.5c.4-.6.8-.7.8-.7s-2.2-1.9-3.8-2.2c0 0-.1-2.5-2-2.7h.8s-1.4-2.8-2.8-2.8c0 0 .9-1 1.6-1.1 0 0-1.6-2.2-3.9-1.4l1.5-.6s-1-1.1-4.4-.6c0 0 .3-1.3-1.2-2.4 0 0-1.2 0-1.2 1 0 0-1.2-1-2.7-1-1.4 0 .5 1.6.5 1.6s-2-1.3-3.1-1c0 0 .5-2.2-.8-3.3 0 0-1.4.7-1.8 1.7l-.4-1s-2 2.4-2.4 1.7c-.3-.4-.6-2-.6-2l-1.1 1.7.2-2.4s-1.4.8-2.5 3.3c0 0-1.3 1.3-1.3 2.4 0 0-1.1-1.2-2 0-1 1.4 0 1.1 0 1.1s-.5.5-1.5.7l.2.8s-1.2-.7-2.2-.4l.5 1.2s-2.6.2-2.7-2c0 0-2.1-1-2.4.2l-1.6 1s-.5-1-1.3-1.2c-1-.3-.2 1.3-.2 1.3s-.3-1.2-1.5-1.8c-1.2-.5-.2 1-.2 1s-1.5-1.2-.8-2.2c0 0-1.4 1.4-.7 2.7l-1 .7s-.5-.5-.4-1c0-.3-1.7 1.3-1.7 1.3s-1-2.6 0-2.6c.1 0-1.8 0-2.1 2.2 0 0-1.3 0-2.5.4s1 1.3 1 1.3-2-.4-3 .2l.7.9s-.7-.7-2.4-.1c-1.7.5.4.8.4.8s-1.7-.4-2.6 0c-.9.4.3 1 .3 1s-3.2-1-3.7-.6c-.5.3 1 1.8 1 1.8s-2 .5-2.3 2l1.8.7s-.8.4-1.2 1.1c-.4.8 1.2.4 1.2.4s-2.2 1.6-2.2 2.8c0 0 1.6.5 2.7-.7 1.2-1.2.4-.8.4-.8l.1.8s2.3-1 2.3-1.6c0-.5-.4.8-.4.8l2.2-1.2 1.5 1z"/>
+    <path d="M324.7 108l-.5-2.2 5 .6.9-2s2.4 1 3.1 1.8c0 0 4.6-1.2 6-.7l-.6 2.1s4.2.3 5.6.8c1.2.5-.6 1.6-.6 1.6s4.8.6 6.8 1.8c2.2 1.3 2.2 2.4 1.1 2.7l2.6 4.2s-4.2.5-5 1.5c-.7 1.1-1.5-1-1.5-1l-.8 2.9s-2.6-1.4-3.7-2.4c0 0-1.3 1.6-.5 2.4l-4.8-3.1s-2-.3-2 1.5l-3-3.4-2.6.8s-.8-1-1.7-1.4c-1.1-.2-.3 1.4-.3 1.4l-1.6-1.9-1.6-1.8s-1.3 1.8-2.4 1.8c-1 0-1-1.2-.8-2.1.3-.8-3.1-1-3.4 0 0 0-1-4 2.6-5l3.7-1zm-19 13.3l-1.6 1.6-1-.5-1.9 2.1-.4-1.1-1 1.7-1.7-.6-.8 1.3-1.5-.3s-1.2 1.2-2 1.5c-.8.2 0-1.8 0-1.8s-1.2 2-2 2c-.9 0-.6-1-.6-1s-.5 1.4-1.4 1.6c-.9 0-.5-1-.5-1l-1.6 1.2v-1l-.7-.3s.4-1.8 1.1-2.2c.7-.4-.7-1.5-.7-1.5l.7-.8s-2-.5-2-.1c0 0 1-2.6 2.4-3.1l.1-3s1.4-1.1 2.6-1.2c1.4-.2-.4-2.3-.4-2.3l3.2-1.8.4-2.3 4.7.4 1-2 3.8 1 3.3-1.7 2.3 2.7 3.5.3v3.1s4.1 1.3 4.6 1.7c0 0-.8 2.5-.8 3 0 0 3-.8 3.8-.6l.4 3.4s5 1.6 5.3 2.5c0 0-1 .7-1.7 1.6 0 0 .6 3 .6 4l-.4.5s-1.4-1.3-2.6-1.5l-1 2.1-1.7-1.1h-1.1s-.9-1-1.6-1v-1l-1.4.9s-2.2-1.1-2.2-1.8l.1-1.5-2.2 1.5s-.5-1.1-.4-1.6c0-.5-.9 1.1-.9 1.1s-1.2-2-1-2.4l-.4 1.7s-2.3-.8-2.6-2.4z"/>
+    <path d="M274.5 130.9s4.1 2 4.1 3c0 0 1.1-2.1.5-3l1.6 1.1s.5-1.9-.1-2.5c-.5-.5 3.5-2.1 4.4.5 0 0 2.4-2.5-2.3-4.7 0 0-.4-1.6 2.5-1.2 0 0-.2-1-.9-1.3h2.7s-1.6-1.4-4-1.8c-2.4-.4-1-.7-1-1.2-.2-.5 0-2.2 0-2.2s-1.4-.5-2.5 0l.4-.4s-2.5-.7-3.5-.1c0 0-1.5-.6-1.3-2.1 0 0-1.5-.1-2.1 1.4 0 0-1.4 1.6-3.3 1.6-.3 0-1.7-.8-1.7-.8l-1.2 2.7H265l.5 1s-2.8-.8-3.7 0c0 0 1.1 1.7.8 2.8 0 0-2.2.4-2.7.8-.6.4.8.7.8.7s-2.6.8-3.2 1.6l1 .7-1.2 1.6 1 .2-2.5.8c-.9.3 1.5.5 1.5.5l-1.1 1 1.8.3s-1.4 4-1.5 5.8c0 0 2.2-2.7 2.8-3l-1.8 3s3.4-1 3.7-1.6l.5-1 .1 1.6s1.3-1.7 1.5-2.4c.1-.7 2 .7 2 .7v-1l2.4.7c.7 0 .8-.3.8-.3l1.6-.2-.3 1.4s1.2-.8 1.5-1.6c.2-.8.8 0 .8 0l.8-3.1h1.6zm-13.4 13.8l1.6 3.3c-1.3 0-3.1 1.5-3.1 1.5.3 5.4-1 5.1-1 5.1.3 1-.3 2.8-.3 2.8l7.7-4.6.1-.5 9.2-4.3.3.5 2.6-1.5 1.9 4.9-1.9 1c.1 1.7 2.1 4.6 2.1 4.6l2.4-.6 2.7-1v1c0-.3 2.9-1.3 2.9-1.3l1.3 1.3c1-.1 2.7-2.5 2.7-2.5l2 .8s.7-1.2.7-2 2.6-.8 2.6-.8l1.7 1.2 2.3-1.8s.7 1.3 1.6 1.5c1 .1 3.4 2 3.4 1.6 0-.4 1-2.5 1-2.5l4.1 1.6c-.5-1.8-2-4-2-4s2-1.6 1.7-2c-.4-.4-1.6 0-1.6 0l1.2-2.4h-1.6l.5-.6-2.5-1 1.3-2.8c-.6-.7-7.3-2-7.3-2l1.6-1.5s-.8-1.2-1.6-1.2-4.9.1-5-.3l-1.8-1.8-2.6 1.9-1.3-.4-2.2.8s0 1.3-.3.4c-.3-.8-2.3-2.8-2.3-2.8-.4.7-3 3.8-3 3.8s-.5 1.7-1.3.5c-1-1.2-3-2.4-3.4-1.5-.2 1.1-2.1 2-2.5 1.8-.4-.3-2.5-.1-2.7.5-.1.7-2.5 2.4-2.5 2.4-1.4-.7-3.8-.3-3.8-.3s-.7 1.1-.8 2l-4.7 1.2zm44.2 39.6v-2l2.3 1.5 1.4-1.5 1.8 1.7 1-1.7v2.8l2.7-2.3 1.5.6v-2.2s1.9-3.1 1.1-3.7l1.6-.5s-2.7-2.6-3.4-3.1c-.8-.6-1.9-.6-1.9-.6s-2-2-3.4-2.7c-1.3-.5-2 .6-2 .6s-.8-1.5-2.2-1.8c-1.3-.3-1.3 1-1.3 1s-1-1-2.2-1.4c-1.3-.6-.4 1.2-.4 1.2l-4.5-1.4.6 1.4-4.2-1.1.5 1.5-3-.5-.2 1.3-4.2.8.8 1.4-2.6-1.1v1.9l-3 1 1.1 1-4.7 2.4c-.7.5 1.6 1.6 1.6 1.6l-4.2-.6 1.6 1.4-3.7 3.4 2.6 1.9-1.6 2.3 4 .8 1.5 2.6 3.2-.6v3l4.7-3.7s3.4 3 3.7 2.1c.2-.8.2-3.4.2-3.4h1.7V187l1.2 1 2.2-3.1 2.8 3.9 2.2-5 3.1.5zm19.1-11.8l-.4-4.5-1.4 1.4.6-4.2-2.2-.4.8-4.1-1.6-.8.4-2 1.6-1.1 2.8-2.8 6.6.1.7-2.1 4.7.8c.8.8 3.3-1.8 3.3-1.8h1l1 2s3.4-.4 5 .6l-1.9 2.6 3.5.3 2.3.5 2.4-.8 3.2-.2.7 1.3h3l-1 1.1 3.8 1.8-.8.8s2.2.8 3.7.8h.8s.8 1.8-.3 2.6c0 0 1.1 2.6 3.4 3.1 2.4.5 2.4.5 2.7 1 .3.6 0 3.2-2.7 3.2v2.7s-2 1.8-2.3 2.6l-1.6-1s-1.3 1.5-1.3 2.5c0 0-3.5-4.5-4.7-4.7-1.4-.2-1 2.6-1 2.6l-3.8-3.1-.5 2.1-3.1-2.6-1.9 1.3-3.3-3.5-3.2.4 1.2-1.6h-3.9l-.7-3.4-.6 2.8-2.4-1.6-3 3.3s-.4-.4-.9-2c-.5-1.5-1.8 2-1.8 2l-1.1-2.5-1.3 2.4s-1-1.8-2.1-2.4c-1-.5-2 3-2.4 4.5zm.6 10.3l.2-1.6 5.6-2.2 4.7-1.7 2.3-1.1 1.1 1.9 1.4-2.7 2.1 2.8 1.2-1.5 1.8 1.4h1.6l.3 2s3.9.3 4.2-.5c.3-.8.8 2.7.8 2.7l3.7.5.8 4.2s1.8 3.9 1.2 5.4c-.5 1.7-2-2-2-2s-.3 2.9-.6 3.7c-.2.8-5-.8-5-.8l-2 3.9s-2.2-3.1-3.2-3.1-1 3.1-1 3.1l-4.5-5.3c-1.3-1.5-1.6 1.6-1.6 1.6s-2-3.4-2-4.4c0-1-1.9-2.2-1.9-2.2s-3.2 3.7-5.6 4.7c0 0 .3-2.3-.5-3-.7-.9-3 1.5-3 1.5s-1.7-3.6 0-7.4z"/>
+  </g>
+  <g fill="none" stroke="#004b00" stroke-width=".5">
+    <path d="M350.8 124.5l.5 2s1.8-.4 3-.3l-.7 2.2s2.3-.4 3.4.3l-.5 1.2 2.7 1.2-2.5 2s4 1.5 4.9 2.7c0 0-2.7 1.8-3 1.7-.5-.2-.2.8.5 1.7l-2.2-.1s.9 2 .8 2.8c-.2.8-3.8.6-3.8.6m14.1-5.3s.7-3.9-.4-4.9c0 0 2.5 2.2 4.2 2.3 1.8 0 0-3.2 0-3.2s2.3 1.2 3.5 1.5c1.2.2-.9-2.4-.9-2.4s.7-1.3 2.7-.1m-45.4-15.5s0-1-.3-1.4c-2.4-3.2 2.4 2.4 3.4 2.6m4.5 0s1.6 1.2 2.3 1.2c.8 0-.5-3.1-.9-3.5-.3-.4 2.9 1.3 4 1.4 1.2.3 1.4-2 1.4-2s3.6.7 4.4 1.2m-25-.7l-.5-3m-24.2 12.7c-.2-.3 1-2 .5-2.9 0 0 .7.6 1.4.7.6.1.4-2.2.4-2.2l.7.3s2-1 1.7-1.8c-.4-.8 1.4 1.2 1.4 1.2s1.1-1.2 1.1-1.7 1.4 1.2 1.4 1.2 1.5-.3 1.5-1.2c0-.9 1.8.3 1.8.3s.8-1 .7-1.8m-19.7 9.8s.9-2-.1-3.4m-23.6 9.8c0-1 .5-3.6 0-4-.4-.4 1 .4 2.2.7m9.3-.4c-1.2-1.1-1.9-1.7-3.7-1.7m-16.2 8.3c.3-.7.8-2.4.5-3.3m25 51.7l1.3-2.6 1.6 3.7 1-2.3.4.7 2.4-2.5 2.5 3.8m40.7-16.5l1.7-3.3 2.3 1.2 1-3.3 2.4 1.5 1.3-3 2.7.7.2-2.2s1.8 1 2.3 1.9c.6.7 0-2.7 0-2.7l2.2 1s1.5-1.6-.6-2.4"/>
+    <path d="M343.6 163.1l2.3 3.4 2-2.2 1.7 3.8 2.3-1.4 3.2 1.9 1.5-1.2 3.5 2.5 1.4-3 3.2 1 2-3.5m-84.4-9.2s1.4-2.3 1-3.4c-.7-1 2.8 1.8 2.8 1.8s.7-2.3.3-3.4c-.6-1 3.9 3.2 3.9 3.2s.7-3.7 0-4.4c-.8-.8 4.3 1 4.3 1s2-.6 1.2-1.6c-.8-1.1 3.4 1.5 3.4 1.5s1-2.6 0-3.6 3.2 1.3 3.2 1.3l-1.6-2.8 3.4.2-.3-3.2m30.3 45.1l2.2-1 2 2 2.2-3.5 2.6 2.5.4-2.5 2.8 1.2.6-1.6 3.1 1.7.3-2.4 1.6.5.3-1.5"/>
+  </g>
+  <path fill="#9dd7ff" d="M283.1 298.1a69.8 69.8 0 01-6-13l42.4-37.2 42.3 37.1a64.7 64.7 0 01-6.2 13.3l-.3.5-3.2-1.2s-1.4 1.3-2.5 1.4c-1.4.2-2.7-1.3-2.7-1.3s-1.8 1.6-3.7 1.3c-1.9-.2-2.6-1.4-2.6-1.4s-2 1.6-3.4 1.3c-1.2-.3-2.1-1.2-2.1-1.2s-1.2 1.5-2.8 1.2c-1.6-.3-3-1.2-3-1.2s-2.5 1-4 1.3c-1.6.3-3-1.4-3-1.4s-2 1.4-2.8 1.4c-.8 0-3.7-1.4-3.7-1.4s-3 1-4.1 1c-1 0-4-1.3-4-1.3s-2.9.8-4.1.8c-1.4 0-3.4-.8-3.4-.8s-2.3 1.1-3.6.8c-1.4-.3-2.4-.8-2.4-.8s-2.6 1.1-4.2.8c-1.6-.3-3.4-1.4-3.4-1.4s-.3.8-3.4 1.4"/>
+  <path fill="#fff" stroke="#000" stroke-width=".7" d="M319.5 205.1V248l-42.3 37.4a84.2 84.2 0 01-4.4-27.1V205h46.7"/>
+  <path fill="#ffd83c" stroke="#000" stroke-width=".7" d="M319.5 205.1V248l42.2 37.4a84.2 84.2 0 004.3-27.1V205h-46.5"/>
+  <g stroke="#000" stroke-width=".5">
+    <path fill="#730000" d="M292.2 289.2c3.2 1.7 2 1.2 8.7 3.5a61.8 61.8 0 0020.7 2.8c8 0 12.4-.7 15-1.4 2.5-.7 3.1-1.8 3.1-1.8l-6.5 6.7s-26.3 1.4-31-1.7c-2-1-6-4.2-10-8z"/>
+    <path fill="none" d="M330.8 276.8s8.4 4.8 0 14m-37.8-1l12-11.6-1.3 15.4m6.3 1.4v-25.8m20.8 25.8v-27.4m-10.5 27.9V266"/>
+    <path fill="#ff0018" d="M310 270.6l-5.4 1.7 5.4.6v-2.3m10.3-4l-5.8 2.1 5.8.2v-2.4m10.5 1.6l-5.8 2.2 5.8.3V268zm3.4 12.4c-.3-1.1 3.4-1 3.4-1s1 3.9 0 6.3l-3.1-.6s.3-2.6-.3-4.7z"/>
+    <g fill="#fff">
+      <path d="M294.8 288.1l10.3-10-.5 6s-5.3 3.5-5.3 5.9l-4.5-1.9m5.5 2.1s1-3.1 4-4.7l-.3 6.3-3.7-1.6zm14.7-17.3s4.2-.6 7.4 0c0 0-.5 4.2 0 5 0 0-5.8-1.4-8.1.8 0 0-.8-4 .7-5.8zm-8.9 1s4.2-.5 7.4 0c0 0-.8 4.8-.3 5.5 0 0-4.7-2.6-7-.4 0 0-1.6-3.3 0-5z"/>
+      <path d="M305.9 279.4s4.2-.4 7.3 0c0 0-.5 4.3 0 5 0 0-5.5-1.2-7.8.8 0 0-1.1-3.9.5-5.8zm8.4-.7s6-.8 9.1-.3c0 0-1.2 3.4.3 5.7 0 0-6.5-1.7-9 .3 0 0-2-3.9-.4-5.7zm-9 6.5l8.2.6s-.8 6-.3 6.7c0 0-6.6-1.5-7.8.6 0 0-2.2-5.4 0-7.9zm9.2 0s7-.5 10.3 0c0 0-1.9 4.5.2 8.4 0 0-9.2-2.6-10.5-.5 0 0-2.1-5.4 0-7.9zm10.8-12.3s4.2-.6 7.3 0c0 0-.5 4.2 0 5 0 0-5.8-1.4-8 .8 0 0-.9-4 .7-5.8zm0 5.8s4.2-.5 7.3 0c0 0-.5 4.2 0 5 0 0-5.8-1.3-8 .7 0 0-.9-3.9.7-5.7zm.5 6s4.2-.6 7.4 0c0 0-1 6.6-.6 7.4 0 0-4.8-2.3-7-.3 0 0-1.4-5.2.2-7z"/>
+      <path d="M334.5 285.2s1.3 5 3 5.6l-2.2 2.8s-2.9-2-3.2-4.4c0 0 1.9-2.1 2.4-4z"/>
+    </g>
+  </g>
+  <g stroke="#000" stroke-width=".6">
+    <path fill="#006ac8" stroke="none" d="M355.4 298.7a66.2 66.2 0 01-36 28.3 67.3 67.3 0 01-36.3-28.8h.1c3-.7 3.4-1.5 3.4-1.5s1.8 1.1 3.4 1.4c1.6.3 4.2-.8 4.2-.8s1 .5 2.4.8c1.3.3 3.6-.8 3.6-.8s2 .8 3.3.8c1.3 0 4.1-.8 4.1-.8s3 1.3 4 1.3c1.1 0 4.2-1 4.2-1s2.9 1.4 3.7 1.4c.7 0 2.8-1.4 2.8-1.4s1.4 1.7 3 1.4c1.5-.2 4-1.3 4-1.3s1.4.9 3 1.2c1.6.3 2.8-1.2 2.8-1.2s.9.9 2.1 1.2c1.4.3 3.3-1.3 3.3-1.3s.8 1.2 2.7 1.4c1.8.3 3.7-1.3 3.7-1.3s1.3 1.5 2.7 1.3c1.1-.1 2.5-1.4 2.5-1.4l3.3 1"/>
+    <path fill="none" stroke-width=".5" d="M353.7 301.2c-1.4.1-1.6-.8-1.6-.8s-2 1.6-3.8 1.3c-2-.3-2.9-1.5-2.9-1.5s-2 1.6-3.4 1.3a5 5 0 01-2.3-1.1s-1.3 1.4-3 1.1c-1.6-.2-3-1.1-3-1.1s-2.7 1-4.4 1.3c-1.6.3-3-1.5-3-1.5s-3.8 1.2-4.6 1.2c-.9 0-3.6-1.2-3.6-1.2s-1.9 1.1-3 1.1-4.2-1.3-4.2-1.3-3 .8-4.3.8c-1.4 0-3.5-.8-3.5-.8s-2.5 1-3.9.8l-2.4-.8s-2.7 1-4.4.8c-1.6-.4-3.6-1.4-3.6-1.4s-.3.7-3.5 1.4h-.1"/>
+    <path fill="#5ac800" d="M293.1 305.2s-.3.7-2.8 1.2l-.7.2.6-.2-.7.3a44 44 0 0011.7 11c4.5 3 9.6 6.6 18.4 9.2a71 71 0 0017.8-9c6-4.5 9.2-7.2 12.6-11.7-2.7 1.5-2.3 1.5-3.7 1.3-1.3-.3-2.3-1.3-2.3-1.3s-1.3 1.5-3 1.3c-1.6-.3-3-1.3-3-1.3s-2.2 1.5-4.4 1.4c-1.6-.1-3-1.6-3-1.6s-3.8 1.3-4.6 1.3c-.9 0-3.6-1.3-3.6-1.3s-1.9 1.2-3 1.2-4.2-1.4-4.2-1.4-3 .8-4.3.8-3.4-.8-3.4-.8-2.5 1-4 .8c-1.3-.3-2.4-.8-2.4-.8s-2.7 1-4.4.8c-1.6-.3-3.6-1.4-3.6-1.4z"/>
+    <path fill="#ffd800" d="M319.6 326.9a89 89 0 0017.1-8.6c-1 0-4-1-2.9-1.2 0 0-1.2 1-2.3 1-1.1 0-4.2-1.3-4.2-1.3s-3 .7-4.3.7c-1.4 0-3.4-.7-3.4-.7s-2.6 1-4 .7l-2.4-.7s-2.8 1-4.4.7c-1.6-.3-3.6-1.3-3.6-1.3s-2.4 1.3-4 1.4a55 55 0 0018.4 9.3z"/>
+  </g>
+  <g stroke="#000" stroke-width=".5">
+    <path fill="#b34b00" d="M313.2 249c1.9-1.6 3-3 2.3-4.2-.7-1-1.8.6-3 .2 0 0-2-1.1-2.5-2-1-1.2-2.5-2.3-3.3-3.4-.9-1-4.2-5.3-9.1-10.3-1.5-.9-1.1-4.4-2.2-5.5 0-.8-10-10.6-13.4-14-1.5-1.1-2.2-1.8-4.7.5-2 1.7-2.7 3.6-.1 5.8l12.8 11.7c1.9 1.8 4.5 2.1 5.6 3l13 13.4c1.7 1.4 2.5 2.4 1.5 3.6-1 2 .1 2.3.3 2.3.2.1 1.1.1 1.7-.4l1-.7z"/>
+    <path fill="none" d="M280.7 214l13.4 13.2"/>
+    <path fill="#fff" stroke-width=".6" d="M298.8 220l1.1-2.5c.2-.4 3.8-6.2 5.6-6.3l11.3 8.2c0 .5-5 7.8-5.3 7.2 0 0-13.2-5.5-12.7-6.6z"/>
+    <path fill="#ccb8c8" stroke="none" d="M306 222c-1.6-1.2-4.1-2.4-6.2-3.8l-.9 2c.7.8 10 5.1 11.6 6 0 0-1.8-2-4.6-4.2z"/>
+    <path fill="none" stroke-width=".4" d="M299.8 218a73 73 0 005 3.1c2.7 2 4.4 4 6.4 5.2"/>
+    <path fill="#782121" d="M277.1 253l25.5-31.7c.5-.4 2.9-.4 3.2 2l-24.2 33s-2.7-.3-4.5-3.4z"/>
+    <path fill="#730000" d="M362.7 253.3c-1 .7-2.4.8-2.4.8-1.7-1.9-3-4-5.4-6.5l-25.5-31.3 2.7-2.6 23 26.9c.6.7 4.6 4.9 8.4 9.8 0 0 .3 2-.8 2.9z"/>
+    <path fill="#fff" d="M338.1 220.3l-4-5s-3.2.5-3.8 2.1c0 0-2.2 3.7-8.2 4.1 0 0 1.7 7 8.6 10.7 0 0 2.5-7.2 5-8.4 0 0 2.5-1.9 2.4-3.6z"/>
+    <path fill="#730000" d="M327.9 242c-.6-.3-1.2 0-2 .4-.9.5-1.8.3-1.7-.7 0-.8 0-.7 1-1.4a6.3 6.3 0 015-.5l-2.3 2.1m27.8-27.7c-.2-.7-.4-1.4.3-2.2.7-.8.7-2.2-1-1.5-1.7.7-2.2 2.5-.9 5.4l1.6-1.7z"/>
+    <path fill="#fff" d="M327.3 242.5l28.9-28.7 7.1 7.6s-1.5-.6-2-.2c-.5.4.5 1.9.5 1.9s-1.3-.5-1.9-.1c-.7.4 0 2 0 2s-1.2-.8-1.8-.5c-.5.4 0 2.3 0 2.3s-1.5-.5-2-.1c-.3.4 0 2 0 2s-1.5-.7-2.3 0 .4 1.9.4 1.9-2-.8-2.7.4c-.8 1.2.1 2.2.1 2.2s-1.6-.7-2-.4c-.4.4 0 2.3 0 2.3s-1.3-.8-2.2.2c-.9 1 .1 2 .1 2s-1.3-.8-2-.4c-.6.4.2 2.2.2 2.2s-1.2-.9-2.1 0c-.9 1 0 2 0 2s-1-1-2.2 0c-1 1 0 2.1 0 2.1s-1.5-.8-2.1 0c-.7.8.2 1.9.2 1.9s-1.2-.7-2-.3c-.7.4 0 2.1 0 2.1s-1.1-1.3-1.6-.6c-.6.7 0 2.4 0 2.4s-1-1.3-1.6-.6c-.7.6.4 2 .4 2s-2-.8-1.5-.8z"/>
+    <path fill="#7e4b7e" stroke="none" d="M354.5 216.2l-2.2 2.2.5 7.7s.5-2.2 1.1-.7c0 0 .2-1.8.7-1.5-.4-.2 0-7.8 0-7.8m-4.3 4.3l-1.6 1.5.6 7.7s.4-2.9 1.1-.6v-8.6m-17.6 17.2l-1.5 1.7.4 4.7s.5-3 1.1-.7l-.2-2.6.2-3"/>
+    <g fill="none" stroke="#7e4b7e" stroke-width=".9">
+      <path d="M330.9 218.3c1 1 4 5 4 5m-2.6-2.9c-.2.6-.6 2.3-1.5 3.2m2-2.8c-.2.4-.2 1.7-1.5 3m2-2.4c-.3.7-.4 1.2-.8 1.7m1-1c0 .4-.3.5-.4.8m-3.2-2.7a29 29 0 01-4.8 2.8m4-1.8a14 14 0 01-3.1 2.2m2.8-1c-.5.4-1.5 1.4-2.3 1.7m1.8-.5c-.4.5-1 .8-1.5 1.1"/>
+      <path stroke-linecap="square" d="M311.3 224.7c.3-.6.9-1.8 1.6-2.8 1-1.4 1.3-1.6 1.8-2"/>
+    </g>
+  </g>
+  <path fill="#289400" stroke="#060" stroke-width=".5" d="M217 303.4c1.5.7 0-4.8.5-6.8.6-2.2 4.8 5.2 6.8 6.2 2.2 1 15.3-5.2 15.3-5.2l3.1-5.8 1.7 4.8s3.6-4.2 4.6-5.8c1.1-1.6 0 3.1-1 4.7-1.1 1.5 3.1 2.1 2.6 5.3-.5 3 4.2-2.2 4.2-2.2l12.1 1s2-7.3 5.3-11.5l1 4.8 5-5.1a65.9 65.9 0 0041.3 39.2 66.6 66.6 0 0040.2-36.6l6.7 7s5.3-1.6 6.3-2.2a70.3 70.3 0 0115.5 5.6c1 .7.3-3.5.3-3.5s5.8 1.1 5.3 4.2c0 0 1.2-2.9 2.3-3.4 1.1-.5 3.6 2.7 4.2 3.7.5 1 13 2.6 14.7 3.6 0 0 1.3 1.6 1.3 2.7 0 0 2.7-.3 4.7-.3 0 0-1.5.8-1.5 2.4 0 1.6-.8 2.9-2.4 3.6-1.5.8 0 1.4 2 1.6 2.2.3 0 3-4.1 4.5 0 0-1 2.3.8 3.1 0 0-3.7.3-4.2-.8 0 0-1.3 2.5-1.3 3.8 0 0-4-1.3-5-1.9 0 0-1.6 1.6-.5 2.3 0 0-7.1-.7-8.5-3.4 0 0-2.5.8-2 1.7 0 0-5-3.4-6.6-3.4l-1 1.7s-3.5-2-4.5-2-.2 1.5-.2 1.5l-4.8-2.9-1.9 3-5-2.7c-1-.8-1.2 1.6-2 1.9 0 0-1.6-2.2-3.7-1.9 0 0-.8 2.6-.5 3.4l-7.1-1.5c-1.1-.3-.5 1.2 0 2.3 0 0-4.5-1.3-5.5-2l-.3 2s-3.7-.3-4.5-1l-2.3 3.1h-3.5l-.7 2.9s-6.6-1.9-7.2-.8c-.5 1 .3 2.6.3 2.6l-5.7-.7-.5 2.3s-6.7-2-8.2-1c0 0-2 2-3.4 2.6-1.3.5 0-.8 0-.8l-2-2.9s-2.4 1.3-3.8.8c-1.3-.6-5.5 2-6.8 1.3 0 0 0-1.9-1.1-2.4-1-.4-2.8-.4-3.6.8l-2.2-3c-1.2-2.2-3.1.1-3.1.1l-.3-2.5-3.6-.3c-2.2-.3-2.6-2.2-2.6-2.2s-5.6.6-6.4.3l1.4-1.3s-7.6 1.6-9.2 1c-1.7-.5 1.8-2.6 1.8-2.6l-8.4-2c-1.3-.4-9 1.2-10 1.2s-1.6-1.8-1.6-1.8-1.8 1.6-3.4 2.1c0 0-1.3-3.1-.5-3.4 0 0-5 1.3-5.3 2.6 0 0-1.2-2-1-3 0 0-2.4 3.8-3.5 4.6-1 .8-.2-1.9-.2-1.9s-2.9 3.7-4 4v-2.6s-8.4 4.5-10.7 3.9c0 0 0-1.9.8-2.4l-5.3-.2c-1.3-.2-2.8-.8-4.2-1.1-1.3-.2 1.9-1.6 4-1 0 0-5.8-2.1-7.6-1 0 0-.8-2.2 2.3-3 0 0-4-3.9-6.3-3.6 0 0 2.6-1.6 4.8-.8 0 0-2.5-6.6-4-7.4 0 0 5.5-1 7.1-.2z"/>
+  <path fill="#730000" stroke="#000" stroke-width=".5" d="M208.9 188.8L280 152c.3-2-.7-3.4-1.9-5-20.3 10-38.8 22.2-61.4 29.5-1.3.5-12.5 5.2-18.3 12.1a7.7 7.7 0 00-2 4.5s.2 3.1.9 4c0 0 .1.8 1.2 1.5 0 0 .7.3 1.1.2.5 0 1.4 0 2.6-2a52.4 52.4 0 016.7-8z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".5" d="M266.1 152.4l9.2-4.4s3.1 2.3 2.8 5c0 0 .7 6 8.2 10.2 0 0-6.3 8-17.4 8.6 0 0 1.2-10.4-1.1-13.5 0 0-.4.4-.2-.1.3-1-.2-4.5-1.7-5.3l.2-.5z"/>
+  <path fill="none" stroke="#7e4b7e" stroke-width=".8" d="M276.9 153.6c-2 .8-8.3 4.1-8.3 4.1m5.2-2.1c0 1-.6 3.3 0 5m-.8-4.7c0 .5-.8 2.2 0 4.6m-1-4.1c-.2 1-.4 1.5 0 2.6m-.8-2c-.2.5 0 .8 0 1.2m5.8-1.5c.3.7 2.9 4.8 4.5 6.5m-4.1-4.7c.3.8 1.7 3.6 2.8 4.7m-3-3c.4 1 1.1 2.7 2 3.7m-2-1.8a8 8 0 001.1 2.5"/>
+  <g stroke="#000" stroke-width=".5">
+    <path fill="#b34b00" d="M342.3 148.3l26.1 12.8c5.2 2.5 7.1.2 10 1.5l51.6 26.2c4.5 2 7 2.5 6.3 4.8-.1 3.7 1.7 3.7 2.2 3.8.4 0 2.1-.2 2.8-1.2l.6-.6c.6-.6.5-.7.7-1 2.1-3 3.3-5.8 1-7.5-2.5-1.3-2.8 1.5-5.6 1.2 0 0-4.8-1.8-6.6-3.1-3.2-1.8-7.8-3.9-8.8-5-3.3-.6-28-14.6-42.1-21.6-1.5-1.2-2.3-5.9-5.3-7.4-.8-1.3-19.8-10-29.8-15-3.6-1.3-5.7-2.2-8.3 2.3-2.3 4.4-1.8 6.8 5.2 9.8z"/>
+    <path fill="none" d="M344.5 142.8l29.2 14.6"/>
+  </g>
+  <g fill="#ffa54b" stroke="#000" stroke-width=".5" transform="translate(-40) scale(.96)">
+    <path fill="url(#c)" d="M309.7 165.1c-.2.6-.7.2-.7.4-.4 2.2-.3 3.3-.8 4.5a7.1 7.1 0 01-3.1 2.6c-2 .7-4.5 3.1-8.5.9l-.6-.5s1.1 4.1-3 6.2l-15.7 8.2s-1.5 2.8-.5 6.5c0 .6.3 1.1-.3 1.5-1 .7-2.7 2.8-3.7 6 0 0-3-1.3-3-3.2 0-2 1.2-3 1.5-4.4.3-1.3 1-4.7.7-5.7-.4-1.1-2.3-1.5-3-2-.6-.3-1.4.5-1.3 1.4.1 1 .8.8 1.6 1 0 0-.9 2-.8 3.4l-9.2 4.8 1.6 2.3c.4.7 1.3 10.2 4 14.7s3.7 3.2 4.3 3.8l2 2c.8.5 4 .8 4.5-1a9 9 0 013.2-4.1c2-1.6 6-5.4 6-7.2 0 0 2.3 6.8 2 12.4 0 0 8.5 1.7 16.1 1.9 7.6 0 11.5-1.5 11.5-1.5s1-6.4.6-7.7c0 0 1.2 4.2 2.2 5.6 1 1.8 2.1 5.3 4.3 5.5 2.2.1 4-2.1 4.2-3v-6.8h8.7s3.8 1.5 5 1.3c1.3-.1 2-1.3.8-1.7l-.4-.3c1.2 0 2.6.7 2.6.7h4.3l-.1-.5c-.3-1.2-2.6-2.2-4.2-3-1.6-.5-3.5-1.2-4.7-1.3a20 20 0 00-6.2.4c-.8 0-3.9.4-5.8 1.3-.5.3-1 .4-.8-1 .3-1.3.2-7.8-1.3-10.5-1.2-2-1-3.6-.9-5.2a87 87 0 000-8.8c-.3-1.7-2.5-4-6.6-4.4-3.8-.5-7-3.7-7.3-6.2-.3-2.6.4-7.2.8-9.3"/>
+    <g fill="none">
+      <path fill="url(#d)" d="M292.4 153.6c-.7 3.3-.7 6.1-.6 9.3.1 2.1 1.1 4.6 2 6.7a10 10 0 002.8 3.9c3.6 2.3 7-.2 8.9-1a6.4 6.4 0 002.7-2.5c.5-1.2.3-2.1.8-4.5l.7-.4c1-1.5.7-2 1.2-3 .6-1-.5-2.2-1.8-2 .6-1.9 1-4 .4-5.9-.2-.6.5-2.2-.6-1.8-4.6 1.8-10 1.4-14.8 1.4-.4 0-.8-.8-1.4-.7l-.3.5"/>
+      <path fill="#000" d="M292 155.3c-.5-.4-.6-1.3 0-3.2.7-2 0-2 1.1-3.2s.9-1.6 1.6-1.9c.7-.2 2.8-.2 3.5-.5a11 11 0 019-.3c1.5.8 2.5 2.8 3.4 3.6 1 .7 1.7 3.6 1.5 7.9-.3 4.3-1.2 3.5-1.2 3.5s-1.2-2-2.2-.3c0 0 0-1.7.2-3 .1-1.1-.6-3.4.1-4.9 0 0-5.8 1.8-8.7 1.7-3-.2-7.4-.9-7.6-1.6l-.7 2.2"/>
+      <path fill="#fff" stroke="#fff" d="M295 151.8c-.3-.6-1.8-2.9-.6-3.6 1-.6.4 2.8 2 3.5 0 0-.6 1.5-1.4.1z"/>
+      <path d="M298.3 160.1l-.9 3.2m10.6 1.6c.2.6.4.3 1 .4m.3-4c.5-.5 1.2-.2.8 1.3m-17.7-4.9l2.8 1c1.5.6.6 2.9.2 4.3-.2.7-1 2-.6 2.5.5.8 1.1.3 2 .4 0-.3.6-.5.8-.5.7 0 1.1.5 1.7.3.6-.3.5-1.2.3-1.7m-.1-4.5c0-.4 1-.8 1.5-.9 2.1-.4 3.6-.7 5.4.5m-5.7 11.1c-1.8.4-3.6.7-5.2-.2m0-.8c.8-.4 1.1-.8 2.1-.3a5 5 0 011.1-.4c.8 0 1.4.3 2.2.8m-5.5.3c1-.3 3.3-.3 5.4.1"/>
+      <path fill="#fff" stroke-width=".3" d="M292.3 160.1c.7 0 1.6-.9 3.2.3 1.1.8-1.8 1.5-1.3 1.4-1.4.2-1.8-.5-1.9-1.2 0-.1-.2-.5 0-.5zm8.4.8c.7-1.4 1.8-1 2.8-.8 1 .3.7.1 1.7.7-1.2.1-.9.2-1.7.6-.9.5-1.7.7-2.3.3-.2-.2-.7-.5-.7-1 0 .2 0 .3.2.3z"/>
+      <path fill="#000" stroke-width=".3" d="M293.8 161.4c.4 0 .7-.4.7-.8 0-.6-.3-1-.7-1-.5 0-.9.4-.9 1 0 .4.4.8.9.8zm8.6.2c.4 0 .7-.4.7-1a.8.8 0 00-.8-.8c-.4 0-.7.3-.7.8 0 .6.4 1 .8 1z"/>
+    </g>
+    <g id="g">
+      <g fill="none">
+        <path d="M345.9 213.7a3.9 3.9 0 00-1.9-1.4l-2-1c-.7-.4-1.7-.5-2.4-.9m.5 2.6l-.9-.5c-.3 0-.7 0-1-.2 0 0 0-.2-.2-.2a3.5 3.5 0 01-2.4-1.3m-62.8-9.3c1 .7 3.2 2.2 3.4 5.1a10.5 10.5 0 001 3M264 202c.5 1.7.6 7.4 6 13.4m-5-21.4c-.4 1.1-1 2.2.2 3m14.4 10.7c1.1-2.6 4.6-2.4 4.6-4.8"/>
+        <path d="M284.8 207.3c-.3-2.9-1-4.5-.4-8.7.2-1.2.4-5.9 0-8.1 0 0 1.6 7.8-3.7 9.3m34.4 12.5c0-4 1-6.2 1-6.2 1.2-5.6-1.2-7.7-.3-9.1.9-1.2 2-3.8.5-8.9 0 0 2.8 10.5-4.5 10.5-7.5 0-7.2-2.7-7.2-2.7"/>
+        <path d="M284.4 190.5c0 2 0 8.4 9 8.4 2.8 0 5.8-2 7.4-3.3m2.2-2.7c-.3-2-.3-4.4-.3-7m-13.6-3.4c2.4-.3 4.4-.6 9-.6m.2-6.3c.5 2.2-.3 5.8 4 6.3m4.3-7.1c-.6 1.6-.6 3.3-.8 4.4m.2 2.7c1.7 0 5-1.1 9-.3m1.4 22.8c.9 1.6 1 3.8 3.6 6.2m-31.7-11.4c.2 1.3-1.8 5.7-.3 9.3a12.3 12.3 0 01-1.2 11m6.7-19c-.9 1.7-2.3 3.3-2.6 4.7m6.6-1.6c0 1-2.7 8.7-4.7 10.9 0 0 3.6 1.4 3 6.6m7.4-21c0 1.2-.2 1.6 1 2.4m2.4 0c1.3 1.6 5.5 6.5 4.6 9.2m-7.4-6.5c.3 1 .3 6.3-.6 9m-2.1-.2c-1.1 0-2.8.8-3 2.7m8.7-3c1.1-.3 3.3 1.6 3.3 7m15.7-10.2c-2.1.6-3 1.7-2.4 1.1-1.1 1-2.2 1.6-2.2 1.6"/>
+      </g>
+      <path fill="#000" stroke-width=".3" d="M289.8 198c.6 0 1.1-.4 1.1-1 0-.3-.5-.7-1.1-.7-.5 0-1 .4-1 .8 0 .5.5.9 1 .9zm23 .3c.6 0 1.1-.4 1.1-1 0-.4-.5-.7-1-.7-.6 0-1.1.3-1.1.8s.5.9 1 .9z"/>
+      <path fill="#fff" d="M280.5 239.8c1.3-8 5-14.5 5.1-15.2 0 0 3.9.9 10.6 1.5 6.6.7 8.4.4 11.5.2l6.8-.8s1.2 2.4 1.3 4.8c.3 5.2 2.3 27.7 2.5 33.7 0 0 .8 3.6.8 12.3 0 9.6 2.6 29 2.6 39.4l-2.6.5s-14.5 1.1-14.5-.8c0-2.1-.8-27 1.4-42.1 0 0-.5-3-1.4-5.5-.8-2.5-4.3-10-4.3-11.7 0 0-5.7 16-6 18.8-.3 2.6-1.2 38.4-1.7 41.3 0 0-8.2 6.3-9.3 7-1.1.4-9-3.4-9.3-4.4a211 211 0 014.6-33.2c1.4-7.1.6-8.4.6-10.4s.1-27.5 1.3-35.4z"/>
+      <path fill="none" d="M294.3 275c-.6 2.2-1.7 4.3-3.6 5.7m-2.7-53.6c-.3 1.3-2.3 7.3-7.2 10.9m14.3-9.8c-1.1 3.6-5.5 22.7-6.3 45.4m-.3 7.1l-1.7 20.8m-.8 3a71.3 71.3 0 00-2.7 18.7m32.2-36c-.2 2-1 15.7 3.6 28m-18.5-86c-.3 2.3-.8 16.7-.8 17.8 0 1.2 1.6 2.8 2.4 3 0 0-1.6.6-2 6m-4-12.8c-.3 1.7-2 8.5-3 11.3m13-25.5s5 1 5.3 0c0 0 1.6 29.5 3.8 46m-11.2-42.2l-.6 16.5m2.5 2.1s1.9 2.8 1.4 4m-17.8-28l3 .8m5.2 1.6c-.3.9-.6 4.6-.6 4.6m8.8 38.9c.6.8 1.4 2 .8 4.4"/>
+      <path fill="#9b5f00" d="M285 224.4s0-3.2 1.1-4.8c0 0 3.5.7 8.4 1.2 5 .5 9 .9 12.6.5 3.7-.4 7.4-1.3 7.4-1.3s1 4.8.5 5.5c0 0-4 .8-8.3 1a86 86 0 01-14.5-.8 57 57 0 01-7.3-1.3z"/>
+      <path fill="#fff" d="M288 224.8l.7-4.8h1l-.2 5.1-1.4-.2m22-4.1l.1 5.5 1.3-.2-.1-5.6-1.3.3m-15.6 0l-.4 5.3h.7l.7-5.3h-1"/>
+      <path d="M276.8 320.8c-.3 1.3-.8 3.2-1 5.5 0 .5-.6 3.3 1 3.4 1 0 1.4-2.9 1.4-2.9s-1 3.3.3 3.7c1.8.4 2-3.6 2-3.6-.2 1.1-1.4 4 .3 4.3 1.9.3 2.4-3.9 2.4-3.9s-1.6 4.2.3 4.3c1.7 0 1.7-4 1.7-4s-.9 5 1.5 4.5c1.4-.2 1.7-2 2-3 .4-1.5 1.3-3.4.2-6.6-.8-2.3-.5-3-.5-3s-2.9 2.2-5.1 3.6c-1 .6-6.5-2.3-6.5-2.3zm29.7-4.4c-.5-.3-.4 1.9-.6 2.9-.1 1 .2 3.2 3.6 3 3.4-.3 6.7-1 8.9-.5 2.1.6 5.3.7 7 .7 1.7 0 2.8-.2 3.7-.5.7-.3 2.2.4 3 .4s1.7-1 1.6-1.8c0-1.3-1.3-1.3-3-1.4a22 22 0 01-5-1c-1.1-.3-3.1-1.5-5.7-2l-5.9.2c-1 0-7 .3-7.6 0z"/>
+    </g>
+    <g fill="none">
+      <path fill="#ffb366" d="M255.7 189.8c-.5.3-1.1-2 .4-2.9 0 0 .4-2 2-2.1 0 0 1.4-1.9 3.3-1.7 0 0 2.2-1.5 3-1.3.9.1 3 2.1 3 2.9.2.7 0 1.9-.5 2.4-.6.6-1-.1-1.1-1 0 0 .4 1.6-.8 2.2-1.2.7-1.1.2-1.2-.6 0 0-.4 1.6-1.2 1.9-.8.3-1.3-.5-2-.5 0 0 1.1.9.4 1.5-.7.5-1.5.3-2-.1-.5-.5-1.2-1.9-3.3-.6z"/>
+      <path d="M265.7 186c-.5-1.5-2.2-3-4-2.8m2.2 4.4c-.3-.4-.4-.8-.8-1.2-.9-1.5-2.8-1.4-4.4-1.8m2.4 4.5c-.6-.4-.8-1.2-1.4-1.5-1-.4-2-.9-3.3-.7"/>
+    </g>
+  </g>
+  <g stroke="#000" stroke-width=".5" transform="translate(-40) scale(.96)">
+    <path fill="url(#e)" d="M439.1 165.1c.7-.3.5.6.6 1 .4 1.3.4 2.7.9 3.9.6 1.1.8 1.5 1.8 2 1.6 1 6.4 3.6 9.8 1.5a3.1 3.1 0 00.7-.5s-1.3 4.1 3 6.2l15.6 8.2s1.5 2.7.6 6.5c-.2.6-.4 1.1.2 1.5 1 .7 2.6 2.8 3.8 6 0 0 3-1.3 3-3.2 0-2-1.3-3-1.6-4.4-.2-1.3-1-4.7-.6-5.7.4-1.1 2.1-1.5 2.8-2 .7-.3 1.6.5 1.3 1.4 0 1-.8.8-1.6 1 0 0 1 2 .8 3.4l9.4 4.8-1.6 2.3c-.5.7-1.5 10.2-4.2 14.6-2.8 4.5-3.7 3.3-4.2 4l-2.1 1.8c-.6.5-3.8.9-4.5-.9a9 9 0 00-3.1-4.1c-2-1.6-6-5.4-6-7.2 0 0-2.3 6.8-2 12.4 0 0-8.4 1.7-16.2 1.9-7.6 0-11.5-1.5-11.5-1.5s-1-6.4-.6-7.7c0 0-1.2 4.2-2 5.6-1.1 1.8-2.2 5.3-4.4 5.5-2.2.1-4-2.1-4.2-3v-6.8h-8.7s-3.8 1.5-5 1.3c-1.3-.1-1.9-1.3-.9-1.7l.4-.3a7 7 0 00-2.5.7H402l.1-.5c.3-1.2 2.6-2.2 4.3-3 1.6-.5 3.3-1.2 4.6-1.3 1.9-.2 3.2-.1 6.2.4.8 0 4 .4 5.8 1.3.5.3 1 .4.8-1-.3-1.3-1.2-5.5.3-8.3 1-1.9.9-3.5.8-5.2-.2-1.7-1.1-5.6-1.1-7.3 0-5.7 4.4-8 8.2-9.2 4.3-1.4 7.1-2.8 7-5.3-.2-2.7.5-7 .1-9"/>
+    <g fill="none">
+      <path fill="url(#f)" d="M456.3 153.6a20 20 0 011.2 5.3c0 1.2-.5 1.4-.1 2.8.7 2.4-.8 5-2.5 8-.8 1.2-1.4 3-2.7 3.8-3.4 2.1-7.5-.4-9.6-1.3a3.7 3.7 0 01-2-2.2c-.4-1.2-.5-2.3-.8-4 0-.3 0-1.2-.6-.9-1.3-1.4-1-2-1.6-3-.5-1 1-2.2 2-2a10 10 0 01-.2-5.9c.2-.6-.6-2.2.5-1.8 4.5 1.8 10 1.4 14.8 1.4.4 0 .7-.8 1.3-.7l.3.5"/>
+      <path fill="#000" d="M456.8 155.3c.4-.4.1-2.3-.4-4.3-.1-1-1-1.5-2-2.6s-1.6-1-2.3-1.4c-.6-.2-2-.2-2.8-.5-.6-.3-2.2-.1-3.7.1-2 .3-3.2.2-4.7 1s-2.8 1.8-3.3 3.3c-.4 1-1 2.5-.8 6.8.2 4.3 1 3.5 1 3.5s1.1-1.7 1.9-.6l-.3-3.6c-.1-1.2 0-2.8.5-4.6 0 0 4.6 1.7 9 1.7 3 0 7-.3 7.1-1l.7 2.2z"/>
+      <path d="M450.4 160.1c.7 1.8.1 1.3.4 2.4m-10.2 2c0 .8-.6.6-1 .6"/>
+      <path d="M456.9 158.8c-1-.7-2.7-.2-3.5.1-1.5.7-.7 2.3-.2 3.7.2.7 1 1.7.5 2.4-.4.8-.7.4-1.6.5 0-.3-.8 0-1.1 0-.6 0-1 .4-1.5.2-.6-.3-.5-1.2-.3-1.7m.1-4.5c0-.4-1.3-.8-2.7-.9-2.3 0-2.5.1-4.2 1.3m11.5 9c-.4-.6-1-1-2.1-.4 0-.2-1.6-.4-1.6-.4-.8 0-1.3.3-2.1.7m5.6.6c-1-.6-3.3-.2-5.6-.2m.2.8c1.7.5 3.5.8 5.2 0"/>
+      <path fill="#fff" stroke-width=".3" d="M456.4 160.1c-.7 0-1-.9-3.1.3-1.1.7 1.8 1.5 1.4 1.4 1.2.2 1.6-.5 1.7-1.2 0-.1.2-.5 0-.5zm-8.3.8c0-.8-1.8-1-2.9-.8-1 .3-.5.1-1.5.7 1 .1.7.2 1.6.6.9.5 1 .9 2.3.3.3-.1.7-.5.8-1 0 .2-.2.3-.3.3z"/>
+      <path fill="#000" stroke-width=".3" d="M455.1 161.4a.8.8 0 01-.8-.8c0-.6.3-1 .8-1 .4 0 .7.4.7 1 0 .4-.3.8-.7.8zm-8.7.2c-.4 0-.7-.4-.7-1 0-.5.4-.8.8-.8s.7.3.7.8c0 .6-.3 1-.8 1z"/>
+    </g>
+    <use width="100%" height="100%" fill="#730000" transform="matrix(-1 0 0 1 748.8 0)" xlink:href="#g"/>
+    <g fill="none">
+      <path fill="#730000" d="M491.6 193.5c.5.2 2-2 .5-3 0 0-.5-2-2-2 0 0-1.4-2-3.4-1.7 0 0-2-1.5-2.9-1.4-1 .2-3 2.2-3 3-.2.5 0 1.8.5 2.4.6.5 1-.1 1-1 0 0-.3 1.5.9 2.2 1.2.7 1.1 0 1.2-.7 0 0 .3 1.6 1.1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3.7.6 1.5.3 2 0 .6-.5.3-1.8 2.4-.6z"/>
+      <path d="M482.5 189.8c.5-1.8 2.2-3.2 4-2.9m-2 4.4c.1-.4.2-.8.5-1.2 1-1.6 3-1.6 4.6-1.9m-2.5 4.5c.6-.4.8-1.1 1.4-1.4a5.3 5.3 0 013.2-.7"/>
+      <path fill="#730000" stroke="none" d="M482.3 186.8c-.9.7-1.8 1.8-1.9 2.2 0 .7 0 1.9.5 2.5.6.5 1 0 1.1-.8 0 .5 0 1.5.8 2 1.3.7 1.2.1 1.3-.7 0 0 .3 1.6 1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3.7.6 1.5.3 2 0 .6-.5.3-1.8 2.5-.6.2.2.8-.4 1-1.1l-7.7-5.5-2.3-.8z"/>
+      <path d="M480.7 188.2c-1.5 2.6.5 4.1 1.1 2.6-.1 2.4 1.7 2.3 2.3 1.5.7 2.5 1.9 1.4 3 1.2-1.3 2.3 1.4 1.6 2 1 1-1.3 1.4-.2 2-.3l1.3-1.3m-8-5.7c-1.7 1-2.5 2.2-2.6 3.7m5-2.2c-1.8 1-2.6 2.2-2.6 3.7m5.4-1.7c-1.7.9-1.8 1.7-2.5 2.8"/>
+    </g>
+  </g>
+  <path fill="#5ac800" d="M238.5 310.7l-.2-4.5 1.9 1.6.4-3.4c.8-.2 2.1 1.3 2.1 1.3l-.2-3.4 2.8 3.1s-.2-2.6.8-4.2c0 0 2.2 1.9 2.2 4 0 1.9 1.8-2.6 1.8-2.6a3116.2 3116.2 0 001.6 5l1.3-1.9 1 4 2.4-3.5 1.8 4 4.2-.3.5 2.4 1.9-2 2.4 1.5s2-.6 3.1-.6 2.4 1.4 2.4 1.4.8-1.4 1.5-1.9 1.9.8 2.2 1.6l1.6-2.9s2 2 2.3 2.9c0 0 .3-2.4.8-3.2.5-.7 1.2.3 1.8 1.3l1.3-4.2s1.4.3 2.3 1.9c1.1 1.5 1.1-2.4 1.1-2.4s2.4 3.2 3 5.3c0 0-16.2 5.6-27.6 4a306 306 0 01-24.5-4.3m110.9-.5s.7-2.1 1.8-3.2c0 0 2 2.4 2 3.2l1.7-1 1.6 1.5 1.8-1.3 1.8 1.6 3.2-1.4 1.3 1.4 5-.6 1.8.8 1.8-2.3 1.6 1.8 2.7-2.6s1.3 1 1.5 1.8c0 0 2.2-1 2.7-1.8 0 0 2-.8 2.3.5 0 0 1.3-1 1.2-2-.1-1.2 1.5-.4 2 1 0 0 .5-2.2 2-2.4 0 0 1.2 1.3.9 3.7 0 0 2.3-1.9 3.4-2.1 0 0 .5 2.6-.3 5 0 0 2.4-4 3-2.7.1.8.7 3.5.1 5.3l2.2-1.3.8 2.6 2.3-.5s-13.9 2.1-27 .9c-13-1.3-25.3-5.9-25.3-5.9m-9.6 9.7c.6-.4-4.4 10.3-16.5 10.9-16.9.8-31.3-7.7-31.3-7.7s1.8-2.9 2.9-3.7c0 0 2.3 1.9 3 4.2 0 0 .4-1.5 1.2-2.9 0 0 2.9 1.4 3.4 3.2 0 0 1-1.8 1.8-2.3.8-.6 1.6 2 1.6 3.6 0 0 1.9-2 3-2 0 0 2 1 2.6 4.3 0 0 2-1.8 2.6-1.5 0 0 2.3 1.5 1.8 3.7-.3 1.2 2.3-1.4 5.5-2.2l2.9 2.2 3.4-4.7s2.1.8 2.1 2c0 0 1-3.7 1.8-4 .8-.5 1.8 1.1 1.8 2.2 0 0 .3-2.8 1.9-3.4 0 0 1.6 1 1.6 2.1 0 0 1.6-3.2 2.9-4z"/>
+  <path fill="none" stroke="#060" stroke-width=".5" d="M238.5 310.7l-.2-4.5 1.9 1.6.4-3.4c.8-.2 2.1 1.3 2.1 1.3l-.2-3.4 2.8 3.1s-.2-2.6.8-4.2c0 0 2.2 1.9 2.2 4 0 1.9 1.8-2.6 1.8-2.6l1.6 5 1.3-1.9 1 4 2.4-3.5 1.8 4 4.2-.3.5 2.4 1.9-2 2.4 1.5s2-.6 3.1-.6 2.4 1.4 2.4 1.4.8-1.4 1.5-1.9c.8-.5 1.9.8 2.2 1.6l1.6-2.9s2 2.1 2.3 2.9c0 0 .3-2.4.8-3.2.5-.7 1.2.3 1.8 1.3l1.3-4.2s1.4.3 2.3 1.9c1.1 1.5 1.1-2.4 1.1-2.4s2.4 3.2 3 5.3m58.7-.8s.8-2.1 1.9-3.2c0 0 2 2.4 2 3.2l1.7-1 1.6 1.5 1.8-1.3 1.8 1.6 3.2-1.4 1.3 1.4 5-.6 1.8.8 1.8-2.2 1.6 1.7 2.7-2.6s1.2 1 1.5 1.8c0 0 2.2-1 2.7-1.8 0 0 2-.8 2.3.5 0 0 1.3-1 1.2-2-.1-1.2 1.5-.4 2 1 0 0 .5-2.2 2-2.4 0 0 1.2 1.3.9 3.7 0 0 2.3-1.9 3.4-2 0 0 .5 2.5-.3 4.9 0 0 2.4-4 3-2.7.1.8.7 3.5.1 5.3l2.2-1.3.8 2.6 2.3-.5m-109.8 8s1.8-3 2.9-3.7c0 0 2.3 1.8 3.1 4.2 0 0 .3-1.6 1-3 0 0 3 1.4 3.5 3.2 0 0 1-1.8 1.9-2.3.7-.6 1.5 2 1.5 3.6 0 0 1.9-2 3-2 0 0 2 1 2.6 4.4 0 0 2-1.9 2.6-1.6 0 0 2.4 1.6 1.8 3.7-.3 1.2 2.3-1.4 5.5-2.1l2.9 2.1 3.4-4.7s2.1.8 2.1 2c0 0 1-3.6 1.8-4 .8-.5 1.9 1.1 1.9 2.2 0 0 .3-2.8 1.8-3.4 0 0 1.6 1 1.6 2.1 0 0 1.6-3.2 3-4"/>
+  <g fill="#fff">
+    <path d="M319.5 361.9c22 .2 35-7.8 42-12.6 16.8-11.2 20.3-11.6 23-11.4 3.1.3 7.7 1.3 8 4 .2 4.3-6.6 6.1-10.5 6.1-4 0-14.5-2.6-14.5-2.6l-2.7 1.9c1.8.8 23.2 8 27.3 1.2 4.2-6.8 8.4-17.9 8.4-17.9s-4.7-8.4-15.1-8.4c-10.6 0-20.8 6.7-27.6 11.7-6.9 5-15.5 11.8-38.3 11.8-22.9 0-31.6-6.8-38.4-11.8-6.9-5-17.1-11.7-27.6-11.7a18 18 0 00-15.2 8.4s4.2 11 8.4 18c4.1 6.7 25.5-.5 27.3-1.4l-2.6-1.8S261 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.7-.2 6.2.2 22.9 11.4a72 72 0 0042.2 12.6"/>
+    <path d="M284.1 336s0-1.9-.3-4.6c-.4-3.5-2.4-4.4-4-3.9-1.2.4-3.3 3-3.3 3v.1a31 31 0 00-3-1.8 18 18 0 016.3-3.6c1 0 14.5 5.4 18.8 9.1 1 1 1.8 7 1.2 9a46.5 46.5 0 01-15.7-7.2m-6.5 13.6s-2.9 3-3 8.3c0 6.3 4.5 6.6 7.5 6.5 3.7 0 6.6-2.1 6.5-8.9 0 0-6-2.5-11-6m77.1-13.6l.4-4.6c.4-3.5 2.4-4.4 4-3.9 1 .4 3.2 3 3.2 3v.1l3-1.8c-.7-1-5.2-3.6-6.2-3.6s-14.5 5.4-18.8 9.1c-1 1-1.8 7-1.3 9a45.5 45.5 0 0015.7-7.2v-.1m6.5 13.7s2.9 3 3 8.3c.2 6.3-4.5 6.6-7.5 6.5-3.6 0-6.5-2.1-6.5-8.9 0 0 6-2.5 11-6"/>
+  </g>
+  <path fill="#69f" d="M271.3 345.4S260.9 348 257 348c-4 0-10.9-1.8-10.6-6 .2-2.8 4.8-3.8 8-4.1 2.3-.2 5.3 0 17 7.5m96.1 0S378 348 382 348c3.9 0 10.7-1.8 10.4-6-.2-2.8-4.8-3.8-7.9-4.1-2.3-.2-5.4 0-17 7.5m-83.4-9.3a93.7 93.7 0 01-3.1-2.3c-1.5-1.1-3-2-4.5-3.2 0 0 2.1-2.7 3.2-3 1.7-.6 3.7.3 4.1 3.8.3 2.7.3 4.7.3 4.7m-7.1 27.6c1.8 1 3.9 1 5.1.8 3.7 0 6.6-2.1 6.5-8.9 0 0 4.5 2.3 11.8 4 0 0 1.2 1.5 1.4 4.4.3 2.5-1.4 5.1-3.3 5 0 0-10.3-2-16.5-3-3.7-.7-5-2.3-5-2.3m77.7-27.6l3.2-2.3 4.4-3.2s-2.1-2.7-3.2-3c-1.6-.6-3.6.3-4 3.8l-.4 4.7m7.1 27.6c-1.8 1-3.9 1-5.1.8-3.6 0-6.5-2.1-6.5-8.9 0 0-4.5 2.3-11.7 4 0 0-1.3 1.5-1.5 4.4-.2 2.5 1.5 5.1 3.4 5 0 0 10.3-2 16.5-3 3.6-.7 5-2.3 5-2.3"/>
+  <g fill="none" stroke="#000" stroke-width=".7">
+    <path d="M319.5 361.9c22 .2 35-7.8 42-12.6 16.8-11.2 20.3-11.6 23-11.4 3.1.3 7.7 1.3 8 4 .2 4.3-6.6 6.1-10.5 6.1-4 0-14.5-2.6-14.5-2.6l-2.7 1.9c1.8.8 23.2 8 27.3 1.2 4.2-6.8 8.4-17.9 8.4-17.9s-4.7-8.4-15.1-8.4c-10.6 0-20.8 6.7-27.7 11.7-6.8 5-15.4 11.8-38.2 11.8s-31.6-6.8-38.4-11.8c-6.9-5-17.1-11.7-27.6-11.7s-15.2 8.4-15.2 8.4 4.2 11 8.4 18c4.1 6.7 25.5-.5 27.4-1.4l-2.7-1.8S261 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.7-.2 6.2.2 22.9 11.4a72 72 0 0042.2 12.6z"/>
+    <path d="M271.3 345.4S260.9 348 257 348c-4 0-10.9-1.8-10.6-6 .2-2.8 4.8-3.8 8-4.1 2.3-.2 5.3 0 17 7.5zm96.2 0S378 348 382 348c3.9 0 10.7-1.8 10.4-6-.2-2.8-4.8-3.8-7.9-4.1-2.3-.2-5.4 0-17 7.5zm-83.4-9.3a92.6 92.6 0 01-3.1-2.3c-1.5-1.1-3-2-4.5-3.2 0 0 2.1-2.7 3.2-3 1.7-.6 3.7.3 4.1 3.8.3 2.8.3 4.7.3 4.7z"/>
+    <path d="M284.1 336s0-1.9-.3-4.6c-.4-3.5-2.4-4.4-4-3.9-1.2.4-3.3 3-3.3 3v.1a31.9 31.9 0 00-3-1.8 18 18 0 016.3-3.6c1 0 14.5 5.4 18.8 9.1 1 1 1.8 7 1.2 9a46.6 46.6 0 01-15.7-7.2m-6.5 13.6s-2.9 3-3 8.3c0 6.3 4.5 6.6 7.5 6.5 3.7 0 6.6-2.1 6.5-8.9 0 0-6-2.5-11-6z"/>
+    <path d="M280.1 351.1s-2.3 2.5-2.7 6.5c-.2 3.1 1.8 4.9 4.5 4.7 3.7-.2 5.1-5.3 3.4-8.1l-5.2-3"/>
+    <path d="M277 363.7c1.8 1 3.9 1 5.2.8 3.6 0 6.5-2.1 6.4-8.9 0 0 4.5 2.3 11.8 4 0 0 1.2 1.5 1.4 4.5.3 2.4-1.4 5-3.3 4.8L282 366c-3.7-.7-5-2.3-5-2.3zm77.7-27.6l3.3-2.3c1.3-1.1 2.8-2 4.4-3.2 0 0-2.2-2.7-3.3-3-1.6-.6-3.6.3-4 3.8l-.4 4.7z"/>
+    <path d="M354.7 336l.4-4.6c.4-3.5 2.4-4.4 4-3.9 1 .4 3.2 3 3.2 3v.1a31.9 31.9 0 013-1.8c-.7-.9-5.2-3.6-6.2-3.6s-14.5 5.4-18.8 9.1c-1 1-1.8 7-1.3 9a45.7 45.7 0 0015.7-7.2m6.5 13.6s2.9 3 3 8.3c.2 6.3-4.5 6.6-7.5 6.5-3.6 0-6.5-2.1-6.5-8.9 0 0 6-2.5 11-6z"/>
+    <path d="M358.7 351.1s2.4 2.5 2.8 6.5c.3 3.1-1.9 4.9-4.5 4.7-3.7-.2-5.1-5.3-3.4-8.1l5.1-3"/>
+    <path d="M361.9 363.7c-2 1-4 1-5.2.8-3.6 0-6.5-2.1-6.5-8.9 0 0-4.5 2.3-11.7 4 0 0-1.3 1.5-1.5 4.5-.2 2.4 1.5 5 3.4 4.8l16.5-2.9c3.6-.7 5-2.3 5-2.3z"/>
+  </g>
+  <path fill="none" stroke="#fff" stroke-width=".7" d="M299.6 361.4s3.3 2.4-.7 5.3m-9-6.8l10 4.3m-8.3-2.1l7.2 3.1m-4.6-5l5.4 2.5m39.7-1.3s-3.3 2.4.6 5.3m9-6.8l-10 4.3m8.4-2.1l-7.2 3.1m4.6-5l-5.4 2.5"/>
+  <path stroke="#000" stroke-width=".7" d="M261 331.4c.2.2.2.4.3.7a2.5 2.5 0 010 .8 2.4 2.4 0 01-1.2 1.6 3 3 0 01-2.2.4 3.7 3.7 0 01-1-.4 4.3 4.3 0 01-1-.6l-.3.4-.4-.1.4-2.9.5.1c0 .4 0 .7.2 1l.3 1 .7.6c.2.2.5.3.9.4h.7a1.2 1.2 0 00.9-.6 1.8 1.8 0 00.2-.6 1.7 1.7 0 00-.1-1 1.8 1.8 0 00-.7-.7 48.3 48.3 0 00-.8-.5l-.8-.6c-.5-.3-.8-.6-1-1-.2-.4-.2-.8-.1-1.4 0-.3.2-.6.4-.8a2.5 2.5 0 011.5-1 2.9 2.9 0 011 0l1 .4.8.6.3-.4.5.1-.5 2.8-.5-.1a11.2 11.2 0 000-1 3.6 3.6 0 00-.4-.8 2 2 0 00-.5-.7 2 2 0 00-.8-.4 1.4 1.4 0 00-1 .2c-.4.2-.6.5-.6.8v1l.7.7.8.5a14.1 14.1 0 011.3 1c.2 0 .4.3.5.5m12 1.6l-.5-.1a1.4 1.4 0 00-.5-.1c-.2 0-.4.1-.5.3a5.7 5.7 0 00-.6 1l-1.8 3.1a2.4 2.4 0 01-1.9 1.3h-1.1a4.2 4.2 0 01-1-.5 4.3 4.3 0 01-1-.8 3 3 0 01-.7-1 2.2 2.2 0 01-.1-1 2 2 0 01.2-.8l2.4-4.3a.9.9 0 00.1-.4v-.3a1.5 1.5 0 00-.3-.3l-.4-.3.2-.3 3.1 1.7-.2.3-.3-.1a2 2 0 00-.4-.1h-.4a.9.9 0 00-.2.3l-2.2 4a3.3 3.3 0 00-.3.7 1.8 1.8 0 000 .8c0 .2 0 .5.2.7l.9.8 1 .3a1.9 1.9 0 001.5-.5l.5-.6 1.6-3 .5-1v-.6c0-.2-.2-.3-.4-.5a3.6 3.6 0 00-.4-.3l.2-.4 3 1.7a19.2 19.2 0 01-.2.3m4.3 7.5a1.9 1.9 0 010 1.8 2 2 0 01-.8.8 2.2 2.2 0 01-1 .3l-1-.1a4 4 0 01-.9-.4l-3.5-2 .2-.4a5 5 0 00.8.3.5.5 0 00.3 0 .7.7 0 00.3-.3l3-5.3a1 1 0 00.1-.3.6.6 0 00-.1-.4 1.7 1.7 0 00-.3-.3l-.3-.2.2-.4 3.4 2 .7.5.6.7a1.6 1.6 0 010 1.6 1.8 1.8 0 01-.6.6l-.7.3a2.5 2.5 0 01-.7 0 3.3 3.3 0 01-.8-.2v.1a5 5 0 01.6.6l.5.7zm-.6-1.8c.2 0 .4-.2.5-.3a2.7 2.7 0 00.5-.6c.2-.4.3-.8.2-1.2-.1-.3-.4-.6-.9-.9l-.4-.2-.4-.3-1.6 2.8.6.4.8.3h.7zm-.6 2.7c.2-.4.3-.8.1-1.3 0-.4-.4-.8-1-1.1a29 29 0 00-.5-.4l-.4-.1-1.5 2.5a.6.6 0 000 .7c.1.2.4.4.7.5.5.3 1 .4 1.4.3.5-.2.8-.5 1.2-1zm18.9 4.3a3.5 3.5 0 00-.5 0 1.4 1.4 0 00-.6-.1c-.1 0-.3.1-.4.4a5.9 5.9 0 00-.5 1l-1.5 3.3c-.1.4-.4.7-.7 1a2.6 2.6 0 01-1 .4 3.2 3.2 0 01-1.1 0 4.3 4.3 0 01-2.2-1 3.1 3.1 0 01-.7-.8 2.2 2.2 0 01-.3-1 2 2 0 01.2-.9l2-4.5a.9.9 0 000-.4.7.7 0 00-.1-.3 1.6 1.6 0 00-.3-.3l-.4-.2.2-.4 3.3 1.4-.2.4a3.5 3.5 0 00-.4-.1 2.3 2.3 0 00-.4 0h-.3a1 1 0 00-.2.3l-1.9 4.3-.2.7a1.7 1.7 0 00.4 1.4c.2.3.5.5 1 .7l1 .2a1.9 1.9 0 001.5-.7 2.5 2.5 0 00.4-.6l1.3-3.1.3-1v-.7l-.4-.4a3.7 3.7 0 00-.5-.3l.2-.4 3.1 1.4-.1.3m9.2 10.8l-3.6-1v-.4a9 9 0 00.6 0l.4.1a.8.8 0 00.4-.2.7.7 0 00.2-.3l1.7-5.8a1.4 1.4 0 00-.1 0l-4.8 6h-.3l-.6-7.9-1.5 4.8-.2 1.1.1.6.5.4a3.2 3.2 0 00.5.3l-.2.4-3.2-1v-.4h.6a1 1 0 00.5 0c.2 0 .3-.2.5-.4l.3-1 1.2-4.2a1.7 1.7 0 00.1-.6 1 1 0 00-.1-.4 1.2 1.2 0 00-.4-.4 2 2 0 00-.5-.2l.1-.4 2.8.8.6 6.7 3.5-4.5.3-.5a2.8 2.8 0 00.2-.4l2.7.8-.1.4a3.9 3.9 0 00-.5 0 2.4 2.4 0 00-.4-.1.4.4 0 00-.3.1 1 1 0 00-.1.4l-1.7 5.8a.8.8 0 000 .3l.1.3a3.4 3.4 0 00.8.4l-.1.4m8.7-2.6a1.9 1.9 0 01.7 1.7l-.4 1c-.2.3-.5.4-.8.6-.3.2-.6.2-1 .3h-1l-4-.5v-.4h.5a1.7 1.7 0 00.4 0 .5.5 0 00.3-.2.7.7 0 00.1-.4l.8-6a1 1 0 000-.3.6.6 0 00-.3-.3 1.7 1.7 0 00-.4-.2h-.3v-.5l3.9.5c.3 0 .6 0 .9.2l.7.4a1.6 1.6 0 01.6 1.5l-.2.8a1.7 1.7 0 01-.6.5 2.6 2.6 0 01-.6.3 3.4 3.4 0 01-.8.2l.8.3.7.5zm-1.3-1.5l.4-.5.2-.7a1.5 1.5 0 00-.3-1.1c-.2-.3-.6-.5-1.1-.5a27.3 27.3 0 00-1-.1l-.4 3.2h.8c.3.1.6 0 .8 0a1.3 1.3 0 00.6-.3zm.5 2.8c0-.5 0-1-.3-1.3-.3-.3-.8-.5-1.4-.6l-.7-.1h-.4l-.3 2.9a.6.6 0 00.2.6l.8.3c.6 0 1 0 1.5-.4.3-.3.5-.7.6-1.4zm11.4 2.6h-2.2a44 44 0 00-1.4-2l-1.3-1.8h-1v2.7l.1.4.3.2h.4l.5.1v.4h-3.6v-.4h.4l.4-.1a.5.5 0 00.2-.2.7.7 0 00.1-.4v-6.4l-.3-.3a2.2 2.2 0 00-.4 0l-.4-.1v-.4h4.9a2.8 2.8 0 01.9.4l.6.6a2.3 2.3 0 010 1.8 2 2 0 01-.4.7 2.5 2.5 0 01-.7.4 5.3 5.3 0 01-.8.3l1 1.4c.3.4.7.8 1 1.4a2.5 2.5 0 001 .8 3 3 0 00.8.1v.4zm-3.1-6.2c0-.5-.2-1-.4-1.2-.3-.3-.8-.5-1.3-.5h-1v3.6h.8c.5 0 1-.1 1.3-.5.4-.3.6-.8.6-1.4zm13 5.6l-3.6.3v-.4l.7-.2c.2 0 .3-.2.3-.2v-.2a.5.5 0 000-.1l-.9-1.8-3 .2a9.6 9.6 0 00-.2.7l-.1.6a3.4 3.4 0 00-.1.4v.3c0 .2.1.3.4.3l.9.1v.4l-3.2.3v-.4a2 2 0 00.4-.1 1.3 1.3 0 00.7-.6l.2-.5 1.1-3.6 1.1-3.6h.5l3.4 7 .2.3a1.2 1.2 0 00.7.4h.4v.4zm-3.7-3.1l-1.6-3.2-1 3.4 2.6-.2zm15.7-6.7a27.9 27.9 0 00-.4.2 3.1 3.1 0 00-.8-.9c-.4-.2-.7-.4-1-.3a6.3 6.3 0 00-.3 0l-.6.2-1.4.4.9 3.2 1-.2.6-.3.3-.4.1-.4v-.6l.4-.2.9 3.2-.4.1a2.9 2.9 0 00-.3-.5l-.4-.4a.9.9 0 00-.5-.2 2.3 2.3 0 00-.6.1l-1 .3.8 2.8s0 .2.2.3a.6.6 0 00.3.2h.4l.4-.1.1.4-3.5 1-.1-.4a9.5 9.5 0 00.4-.2l.4-.2a.5.5 0 00.2-.3.8.8 0 000-.3l-1.6-5.9a1.1 1.1 0 00-.2-.3l-.3-.2a2.4 2.4 0 00-.4 0 2.4 2.4 0 00-.5 0l-.1-.3 6.4-1.8.6 2m9.4-.7l1 2.4-6 2.8-.2-.3.4-.3a1.4 1.4 0 00.3-.2.5.5 0 00.1-.3.8.8 0 000-.4l-2.7-5.4a1 1 0 00-.2-.3.5.5 0 00-.4 0h-.4a2 2 0 00-.4 0l-.2-.3 3.3-1.6.2.4a2.8 2.8 0 00-.4.2 2.2 2.2 0 00-.3.3.4.4 0 00-.2.3.8.8 0 00.1.4l2.5 5c0 .3.2.5.3.6l.3.2h.4l.7-.3.4-.2.4-.3.3-.2a.6.6 0 00.2-.3 6.3 6.3 0 00.2-2l.3-.2m4.5-8.3a4.2 4.2 0 011.5.8l1.2 1.4a5 5 0 01.6 1.7 4.1 4.1 0 010 1.6 4 4 0 01-.7 1.5 4 4 0 01-1.2 1 4 4 0 01-3.2.4 4 4 0 01-1.4-.7 5 5 0 01-1.2-1.4 5 5 0 01-.6-1.7 4.3 4.3 0 010-1.7 4 4 0 012-2.4 4 4 0 011.5-.6 3.9 3.9 0 011.5.1zm2.3 5.6a4 4 0 00-.2-1.3 7 7 0 00-.7-1.4 7.2 7.2 0 00-1-1.3 4 4 0 00-1-.8 2.4 2.4 0 00-1-.2c-.5 0-.8.1-1.2.3-.4.3-.7.6-.9 1a2.6 2.6 0 00-.3 1c0 .5.1.9.3 1.3a7.2 7.2 0 001.5 2.6c.3.4.7.6 1 .8a2.4 2.4 0 001.2.3c.3 0 .7 0 1.1-.3a2.3 2.3 0 001.2-2zm10.5-5.7l-1.9 1.3-2.3-.9-2-.6-.8.5 1.6 2.1.2.3h.4a1.8 1.8 0 00.3-.1l.4-.3.3.4-3 2-.2-.3a8.6 8.6 0 00.6-.5.5.5 0 000-.4.7.7 0 000-.3l-3.6-5a1 1 0 00-.2-.2.3.3 0 00-.4 0 3 3 0 00-.7.3l-.3-.4 3.2-2.2a4.6 4.6 0 01.9-.5 2.7 2.7 0 01.9-.2l.8.1a2.2 2.2 0 011.1 1.4v.8a2.5 2.5 0 01-.2.7 4.9 4.9 0 01-.5.8l1.6.5 1.6.5a2.5 2.5 0 001.2.1h.4a2.6 2.6 0 00.4-.3l.2.4zm-6.2-3.3c-.3-.4-.6-.6-1-.7-.4-.1-.9 0-1.3.3l-.8.6 2 3 .7-.5c.4-.3.7-.7.8-1.2 0-.5 0-1-.4-1.5zm13.2-2l.7 2.4-6.6 2.4-.2-.4a4.3 4.3 0 00.8-.4.6.6 0 00.2-.3.7.7 0 000-.4l-2.2-5.6a1 1 0 00-.1-.3l-.4-.1h-.4a2.2 2.2 0 00-.5 0l-.1-.3 6.1-2.3.7 1.9-.4.1a2.7 2.7 0 00-.8-.7l-.9-.3a4.3 4.3 0 00-.4.2l-.6.2-1.2.4 1.1 3.1 1-.3c.2 0 .4-.2.5-.3a.9.9 0 00.3-.4v-1.1l.4-.1 1.1 3-.4.2a3.2 3.2 0 00-.3-.5 1.5 1.5 0 00-.4-.3.9.9 0 00-.5-.2c-.2 0-.4 0-.6.2l-.9.3.9 2.4.2.5a.5.5 0 00.3.3h.5l.7-.3.5-.2a3.9 3.9 0 001-.4l.2-.3.2-1v-1l.5-.1m7.1-5.8c.4.3.8.7 1 1.3.3.5.5 1 .6 1.7a4.9 4.9 0 010 1.8 4.1 4.1 0 01-.8 1.5 3.9 3.9 0 01-2.7 1.6 3.9 3.9 0 01-3-.9 4.1 4.1 0 01-1-1.2 4.9 4.9 0 01-.6-1.7 5 5 0 010-1.9l.8-1.5a4 4 0 012.7-1.5 4 4 0 011.6 0l1.4.8zm-.1 6c.2-.4.3-.8.3-1.3v-1.5a7 7 0 00-.4-1.5 3.9 3.9 0 00-.7-1.2 2.4 2.4 0 00-.9-.7 2.3 2.3 0 00-1.1-.1c-.5 0-1 .2-1.2.5-.3.2-.6.6-.7 1a4 4 0 00-.3 1.2 7 7 0 00.4 3l.7 1.1c.2.4.5.6.9.7.3.2.7.2 1.2.2a2.3 2.3 0 001-.5 2.4 2.4 0 00.8-1z"/>
+  <path fill="none" stroke="#000" d="M366 205.1v53c0 10.6-1.4 52.6-46.5 69-45.3-16.4-46.7-58.4-46.7-69v-53H366"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ca.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ca.svg
new file mode 100644
index 0000000..4843fc3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ca.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ca" viewBox="0 0 640 480">
+  <path fill="#fff" d="M81.1 0h362.3v512H81.1z" transform="translate(74.1) scale(.9375)"/>
+  <path fill="#d52b1e" d="M-100 0H81.1v512H-100zm543.4 0h181.1v512h-181zm-308 247.4l-14.2 4.8 65.5 57.5c5 14.7-1.7 19-6 26.8l71-9L250 399l14.8-.4-3.3-71 71.2 8.5c-4.4-9.3-8.3-14.2-4.3-29l65.4-54.5-11.4-4.2c-9.4-7.2 4-34.7 6-52.1 0 0-38.1 13.1-40.6 6.2l-9.8-18.7-34.7 38.2c-3.8.9-5.4-.6-6.3-3.8l16-79.8-25.4 14.3c-2.1 1-4.2.2-5.6-2.3l-24.5-49-25.2 50.9c-1.9 1.8-3.8 2-5.4.8l-24.2-13.6 14.6 79.1c-1.2 3.2-4 4-7.2 2.3l-33.3-37.7c-4.3 7-7.2 18.3-13 20.9-5.7 2.4-25-4.8-37.9-7.6 4.4 15.9 18.2 42.3 9.5 51z" transform="translate(74.1) scale(.9375)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cc.svg
new file mode 100644
index 0000000..2c45698
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cc.svg
@@ -0,0 +1,19 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cc" viewBox="0 0 640 480">
+  <defs>
+    <path id="a" d="M0-360l69.4 215.8 212-80.3L156-35.6 351 80.1 125 99.8l31.1 224.6L0 160l-156.2 164.3 31.1-224.5L-351 80l195-115.7-125.5-188.9 212 80.3z"/>
+    <path id="b" d="M0-210L54.9-75.5l144.8 10.6-111 93.8 34.7 141L0 93.3-123.4 170l34.6-141-111-93.8 145-10.6z"/>
+  </defs>
+  <path fill="green" d="M0 0h640v480H0z"/>
+  <circle cx="320" cy="240" r="66.7" fill="#ffe000"/>
+  <circle cx="340.8" cy="240" r="54.9" fill="green"/>
+  <circle cx="109.8" cy="173.3" r="69.8" fill="#ffe000"/>
+  <path fill="#802000" stroke="#7b3100" stroke-width="1.5" d="M105 226h17.5s.7-1.6-.2-2.4c-1-.8-4.7-1-3.7-3.8 2-5.8 2.4-4 3.7-17.8a739 739 0 002-35.5h-2.6s.5 6.7-1 15.5c-1.4 8.8-1.9 9.5-3.5 16.3a63.5 63.5 0 01-3.3 11.2c-1.4 4-1.6 4.1-3.8 7.8-2.3 3.6-1.5 2.2-2.7 4.4-.7 1.1-1.4.8-1.9 1.6-.4.8-.5 2.7-.5 2.7z"/>
+  <path fill="green" d="M118.3 122.5a23 23 0 01-1.2 9.2 26.5 26.5 0 00-2.3 9.8c-1.8.6-3.7-3.9-5.5-1.2 1.3 3.7 4.4 6.6 6.4 9.9.4 1 3.4 3.7 1.6 4.3-4.3-1.5-5.4-7-8-10.3a19 19 0 00-15.5-10c-2.5.1-10.4-.5-8.4 3.7 3 2 6.8 3.4 9.8 5.7 2.3.2 6.3 4 6.1 5.4-4-1.6-5.8-3.5-10-5.2-5.8-2.2-13.7-.9-17 4.8-.5 1.5-1.4 5.8.5 6.3 2.2-3.4 5.3-7.3 9.9-6.2 3.6.3-4 6.7-1.1 5.4 1-.4 3-1.8 4.6-2 1.5 0 2.3 1 3.4 1.2 2.3.3 3 1.2 2.7 1.8-.2.6-1 0-3.3.8-1.1.4-1.7 1.4-3 1.9-1.4.4-4.2.5-5.2 0-3.7-1.5-9.7-1.3-10.8 3.3 0 2-1.8-.2-2.6.7-.7 2.2-.8 4.4-4 4.2-2 2-4 4.2-6.6 5.7 1.5 3.4 7.3-3.4 7-.5-2.5 3.5 1.4 4.2 3 1.5 2.9-3 6.5-6.7 10.7-3.6 2 1.9 3.2-1 4.7-1 1 2.5 2.1.2 3.2-.5 1.7-.2 1.2 2.2 3.2.7 4.1-2.7 9.1-.4 13.1-3 4.3-2 .6 1.5-.5 2.9-1.9 3.6-.3 8.4-4.3 10.6-1.7 4.3 1.9 10-1.7 13.2-.5 2 4.6 1.8 6 2.6 2.6 0 0-5.8 2.5-6.6 3.4 2 3.2-3.8 2.5-5.6.4-4 .6-8.6 2.6-12.3 2.2-4.5 4.2 1.9 1.8 3.7-1.4 4.1-3.4 9.4-.3 13.3 1 .2 1.7 2.4 2.8 3 1.2.7 2.8-.1 3-2.1 1.6-6 .8-12.4 3-18.3 1.5-1.8 3.6-.3 4.5 1.4 3 3.5 5.1 7.8 8.7 10.7a15 15 0 017.8 7.3c0 2.6 7.4 3 5.2 0-2.1-2.7-.7-5.6 1.4-7.5 1.2.3.9-1.8 0-1-1.5-.3-1.6-3 .4-1.7 3.5 1.1-.2-2.5-1.5-2.6-2.9-1.8-6.2-3.8-7.6-7 3.8 0 7.7 2.1 11.5.9 3.1-1.6 6.2 0 7.3 2.8 2.4-.4 1.4-2.8 0-3.6 1.7-.7 3-2.2.8-3.5-1-1.4 1.5-4-1.7-3.8.1-2.5-.8-4.7-3.5-5.6-2.7-2.2-10.6 3.4-10.3-1.7-.8-2.8 3.2-.4 4.3-1.8 1.1-3-5.5-2.6-3.3-5 1.4-.8 8.1-2.1 2.9-3.1a8.3 8.3 0 01-7-1.1c-1.9 3.1-7.2-1.8-6.3 3.8-.7 2.1-5.5 7.6-6.8 3.4 1-3.3 6.8-4.3 5-8.8-.3-2.7-2.6.5-3.6.3-.6-1.7 1.6-3.8 3.2-4.2 3 2.4 3-3 6-2.5 2.1-.5-.7-1.4-1.3-1.8.6-1.5 3.9-2.3.7-3.7-2.9-2-5 2.1-7.3 2.3-2.2-2.5 2-3.7 3.2-5 .1-1-2.4-.3-1.7-1.2.7-1.1 5.2-1.2 3-3a14.7 14.7 0 00-10.2.6c-2 .6-2.5 5-4.2 4.8-.7-2 .3-5.8-2.4-6.3zm15 42.3c2.4-.4 0 3.7-1 3.6 0-1.4-3.6-1.3-1.3-2.6a7.3 7.3 0 012.3-1z"/>
+  <g fill="#ffe000" transform="translate(0 80) scale(.0635)">
+    <use width="100%" height="100%" x="7560" y="4200" xlink:href="#a"/>
+    <use width="100%" height="100%" x="6300" y="2205" xlink:href="#a"/>
+    <use width="100%" height="100%" x="7560" y="840" xlink:href="#a"/>
+    <use width="100%" height="100%" x="8680" y="1869" xlink:href="#a"/>
+    <use width="100%" height="100%" x="8064" y="2730" xlink:href="#b"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cd.svg
new file mode 100644
index 0000000..739fab7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cd.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cd" viewBox="0 0 640 480">
+  <path fill="#007fff" d="M0 0h640v480H0z"/>
+  <path fill="#f7d618" d="M28.8 96H96l20.8-67.2L137.6 96h67.2l-54.4 41.6 20.8 67.2-54.4-41.6-54.4 41.6 20.8-67.2L28.8 96zM600 0L0 360v120h40l600-360V0h-40"/>
+  <path fill="#ce1021" d="M640 0L0 384v96L640 96V0"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cf.svg
new file mode 100644
index 0000000..9f19138
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cf.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cf" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="cf-a">
+      <path fill-opacity=".7" d="M-12.4 32h640v480h-640z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#cf-a)" transform="translate(12.4 -32)">
+    <path fill="#00f" d="M-52 32h719.3v119H-52z"/>
+    <path fill="#ff0" d="M-52 391.6h719.3V512H-52z"/>
+    <path fill="#009a00" d="M-52 271.3h719.3v120.3H-52z"/>
+    <path fill="#fff" d="M-52 151h719.3v120.3H-52z"/>
+    <path fill="red" d="M247.7 32.5h119.9V512H247.7z"/>
+    <path fill="#ff0" d="M99.3 137.7l-31.5-21.8-31.3 22L47.4 101 16.9 78l38.2-1 12.5-36.3L80.3 77l38.1.7L88.2 101"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cg.svg
new file mode 100644
index 0000000..8b66be2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cg.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cg" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="cg-a">
+      <path fill-opacity=".7" d="M-79.5 32h640v480h-640z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#cg-a)" transform="translate(79.5 -32)">
+    <path fill="#ff0" d="M-119.5 32h720v480h-720z"/>
+    <path fill="#00ca00" d="M-119.5 32v480l480-480h-480z"/>
+    <path fill="red" d="M120.5 512h480V32l-480 480z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ch.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ch.svg
new file mode 100644
index 0000000..f5ec8d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ch.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ch" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#d52b1e" d="M0 0h640v480H0z"/>
+    <g fill="#fff">
+      <path d="M170 195h300v90H170z"/>
+      <path d="M275 90h90v300h-90z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ci.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ci.svg
new file mode 100644
index 0000000..2bd7104
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ci.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ci" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#00cd00" d="M426.8 0H640v480H426.8z"/>
+    <path fill="#ff9a00" d="M0 0h212.9v480H0z"/>
+    <path fill="#fff" d="M212.9 0h214v480h-214z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ck.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ck.svg
new file mode 100644
index 0000000..e4f0d0c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ck.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ck" viewBox="0 0 640 480">
+  <path id="path628" fill="#006" d="M0 0h640v480H0z"/>
+  <path id="path638" fill="#fff" fill-rule="evenodd" d="M471.6 213l5.2-16.7-14-10.6 17.6-.2 6-16.5 5.6 16.5 17.7.5-14.1 10.5 5 16.7-14.5-10m27.1 13l10.4-13.9-9.7-14.8 16.7 5.8 11-13.5v17.6l16.4 6.4-16.8 5-.8 17.5-10.2-14.4m-98.4 15l-.7-17.5-16.8-5.2L431 198v-17.4l10.9 13.5 16.8-5.6-9.8 14.7 10.3 14-17-4.5m-39.6 40.9l-7.4-15.8-17.4 1.8 12.8-12.3L384 211l15.2 8.2 13.3-11.8-3.4 17.4 14.9 8.9-17.3 2.5M389 291.8l-13.3-11.1-15 9.2 6.4-16.7-12.9-11.6 17.3.7 7-16.4 4.3 17.2 17.2 1.5-14.6 9.8m3.2 60.4l-16.5-4.8-10.1 14.5-.7-17.9-16.4-5.5 16.1-6.2v-18l10.7 14.1 16.4-5.6-9.6 15m29.5 50.8l-17 2.4-3.5 17.4-7.8-16-17.1 1.6 12.2-12.3-7.1-16.4 15.3 8.5 12.8-11.8L393 362m45 38l-15.1 8.2 2.6 17.6-12.7-12.4-15.6 7.6 7.3-15.9-12.3-12.9 17.3 2.6 8-15.5 3.4 17.4m53.8 9l-8.3 15.3 11.7 13.2-17.4-3.3-8.9 15-2.4-17.3-17.2-4 15.8-7.4-1.7-17.5 12.2 12.8m57.4-13.1l-.5 17.4 16.3 6.4-17 5-1.2 17.5-10-14.3-17 4.4 10.8-13.9-9.4-14.7 16.6 5.7M559 209.8l12 12.6 15.9-7.4-8.3 15.8 11.5 13.1-17-2.8-9 15.5L562 239l-17-3.5 15.7-8m34.2 21l5.5 16.6 17.5.3-14.2 10.7 4.7 16.8-14.1-10-14.6 10.1 5.4-16.8-13.8-10.6 17.6-.4m19.5 33.2l-2 17.4 15.7 7.7-17.3 3.6-2.7 17.3-8.7-15.1-17.4 2.9 12-13-8.1-15.5 16 7.2m3 39.8l-7.8 15.6L603 379l-17.4-2.7-8.4 15.3-3-17.3-17.4-3.3 15.6-8-2.3-17.4 12.6 12.3m-9.8 39.1l-14.7 9.2 3.8 17.3-13.5-11.5-15 8.6 6.3-16.3-13.1-12.1 17.4 1.5 7-16 4.4 17.2"/>
+  <path id="path1423" fill="#006" stroke-width=".5" d="M0 0h320v240H0z"/>
+  <path id="path1425" fill="#fff" stroke-width=".5" d="M37.5 0l122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/>
+  <path id="path1427" fill="#c8102e" stroke-width=".5" d="M212 140.5L320 220v20l-135.5-99.5zm-92 10l3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/>
+  <path id="path1429" fill="#fff" stroke-width=".5" d="M120.5 0v240h80V0zM0 80v80h320V80z"/>
+  <path id="path1431" fill="#c8102e" stroke-width=".5" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cl.svg
new file mode 100644
index 0000000..287a37e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cl.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cl" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="cl-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#cl-a)" transform="scale(.9375)">
+    <path fill="#fff" d="M256 0h512v256H256z"/>
+    <path fill="#0039a6" d="M0 0h256v256H0z"/>
+    <path fill="#fff" d="M167.8 191.7L128.2 162l-39.5 30 14.7-48.8L64 113.1l48.7-.5L127.8 64l15.5 48.5 48.7.1-39.2 30.4 15 48.7z"/>
+    <path fill="#d52b1e" d="M0 256h768v256H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cm.svg
new file mode 100644
index 0000000..b4272b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cm.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cm" viewBox="0 0 640 480">
+  <path fill="#007a5e" d="M0 0h213.3v480H0z"/>
+  <path fill="#ce1126" d="M213.3 0h213.4v480H213.3z"/>
+  <path fill="#fcd116" d="M426.7 0H640v480H426.7z"/>
+  <g fill="#fcd116" transform="translate(320 240) scale(7.1111)">
+    <g id="b">
+      <path id="a" d="M0-8L-2.5-.4 1.3.9z"/>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cn.svg
new file mode 100644
index 0000000..72080b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cn.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cn" viewBox="0 0 640 480">
+  <defs>
+    <path id="a" fill="#ffde00" d="M-.6.8L0-1 .6.8-1-.3h2z"/>
+  </defs>
+  <path fill="#de2910" d="M0 0h640v480H0z"/>
+  <use width="30" height="20" transform="matrix(71.9991 0 0 72 120 120)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(6.5991 -23.0749 23.0746 6.59919 288 168)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(14.9991 -18.73557 18.73533 14.99929 240 216)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/co.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/co.svg
new file mode 100644
index 0000000..0d74127
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/co.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-co" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffe800" d="M0 0h640v480H0z"/>
+    <path fill="#00148e" d="M0 240h640v240H0z"/>
+    <path fill="#da0010" d="M0 360h640v120H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cr.svg
new file mode 100644
index 0000000..133b029
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cr.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cr" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#0000b4" d="M0 0h640v480H0z"/>
+    <path fill="#fff" d="M0 75.4h640v322.3H0z"/>
+    <path fill="#d90000" d="M0 157.7h640v157.7H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cs.svg
new file mode 100644
index 0000000..8767581
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cs.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cz" viewBox="0 0 640 480">
+  <path fill="#ffffff" d="M0 0h640v240H0z"/>
+  <path fill="#d7141a" d="M0 240h640v240H0z"/>
+  <path fill="#11457e" d="M360 240 0 0V480z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cu.svg
new file mode 100644
index 0000000..079a29b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cu.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cu" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="cu-a">
+      <path fill-opacity=".7" d="M-32 0h682.7v512H-32z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#cu-a)" transform="translate(30) scale(.94)">
+    <path fill="#0050f0" d="M-32 0h768v512H-32z"/>
+    <path fill="#fff" d="M-32 102.4h768v102.4H-32zm0 204.8h768v102.4H-32z"/>
+    <path fill="#ed0000" d="M-32 0l440.7 255.7L-32 511V0z"/>
+    <path fill="#fff" d="M161.8 325.5L114.3 290l-47.2 35.8 17.6-58.1-47.2-36 58.3-.4 18.1-58 18.5 57.8 58.3.1-46.9 36.3 18 58z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cv.svg
new file mode 100644
index 0000000..39a7b7e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cv.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cv" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="cv-a">
+      <path fill-opacity=".7" d="M-123.4 0h682.6v512h-682.6z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#cv-a)" transform="translate(115.7) scale(.94)">
+    <path fill="#fff" d="M-123.4 233H723v206h-846.5z"/>
+    <path fill="#081873" d="M-122.8 0h846v256.6h-846zm.3 385.9h852.1V512h-852.1z"/>
+    <path fill="#de3929" d="M-122.5 302.6h846v39.6h-846z"/>
+    <path fill="#ffce08" d="M131 399.2l6.6 20.4H159l-17.4 12.7 6.6 20.5L131 440l-17.4 12.7 6.7-20.5-17.4-12.7h21.5M317 250.4l6.7 20.5H345l-17.4 12.6 6.6 20.5-17.4-12.7-17.4 12.7 6.6-20.5-17.4-12.6h21.6m-222 64.4l6.6 20.5h21.5L99 368.6l6.7 20.4-17.4-12.6L70.9 389l6.6-20.4-17.4-12.7h21.5M317 329.5l6.7 20.4H345l-17.4 12.7 6.6 20.4-17.4-12.6-17.4 12.7 6.6-20.5-17.4-12.7h21.6m-40.5-161.7l6.7 20.4H298l-17.4 12.7 6.6 20.5-17.4-12.7-17.4 12.7 6.7-20.5-17.5-12.7h21.6m-64.5-45.2l6.7 20.5h21.5l-17.4 12.6 6.6 20.5-17.4-12.6-17.4 12.6 6.7-20.5-17.4-12.6H192m-64.5 2.9l6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H121m-34.8 43.2l6.6 20.5h21.6l-17.5 12.6 6.7 20.5-17.4-12.7-17.4 12.7 6.6-20.5L58 271h21.5m119.2 149.4l6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H192m82.2-41.7l6.6 20.4h21.5L285 432.3l6.7 20.5-17.4-12.7-17.5 12.7 6.7-20.5-17.4-12.7h21.5"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cw.svg
new file mode 100644
index 0000000..533644d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cw.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cw" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="cw-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+    <path id="b" d="M0-1l.2.7H1L.3 0l.2.7L0 .4l-.6.4.2-.7-.5-.4h.7z"/>
+  </defs>
+  <g clip-path="url(#cw-a)" transform="scale(.94)">
+    <path fill="#002b7f" d="M0 0h768v512H0z"/>
+    <path fill="#f9e814" d="M0 320h768v64H0z"/>
+    <use width="13500" height="9000" x="2" y="2" fill="#fff" transform="scale(42.67)" xlink:href="#b"/>
+    <use width="13500" height="9000" x="3" y="3" fill="#fff" transform="scale(56.9)" xlink:href="#b"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cx.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cx.svg
new file mode 100644
index 0000000..f5b89b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cx.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cx" viewBox="0 0 640 480">
+  <path fill="#0021ad" d="M0 0h640v480H0z"/>
+  <path fill="#1c8a42" d="M0 0h640v480z"/>
+  <circle cx="320" cy="240" r="57.8" fill="#ffc639"/>
+  <path fill="#1c8a42" d="M284.7 214c4 5.5 10 14.6 14.8 12.2 3.7 0 5.7.3 6.2 2.8a37 37 0 0033-14.3s.8 0 .5-4.5c0-2 2.8-1.6 2.8-1 .4 1 .4 1.7.9 1.8 1-.4 2.7-3 4-4.6.3-.7.1-1.5.2-2.4.7-1.7 2.4-1.3 2.8-.4l.6 1.6c1.8 1.2 5 0 5.2 0 .3-1.4 1.2-1.2 1.2-1.2 1.2-.3.7-.2 1.5.2-.7 7.7 1.5 8 1.3 12 .1 4.4-1.3 5.6-1.3 7.3.4 2 7 2.1 4.6 3.9-2 1 0 3-3 3.8-8.8 4.5-10.4 8.3-10.4 8.3s-2.2 4.2-2.5 4.2c-1.5 2.8-3.3 1.2-4.4 2.6-.5 1.7-1 5.5 0 7.4.5 2.7 0 4.2-.7 6.9-.6 5.6-2.8 6.5-3.1 8.4-1 2.2.2 12-.8 12-6.5.2-11.5-1.2-14.1-1.7 2.5-10.9 1.5-20.4 1.5-21.4-.6-7.8-11.6-5.9-13.3-7-1.4-.2-2.3-1.3-2.7-1.8-1.6-.2-2.2-.6-3.7-.7-.8.4-.3.8-2 1.3-4.5.5-6.4-3.8-6.4-3.8.2-1.5-9.9.3-15.3-1-2.3 1.3-3.3 5-5.1 5.4 0 1.1-3-1-3.6-2-.2-3.4 2.8-4.8 2.8-4.8 2.4-1.7 3.8-2 5-3.1.5-2.9.2-5 1.5-7.1 1-1.7 2.5-1 3.5-1.6 1.1-.8 1.6-5.6.6-7l-4.7-4.2c-1.4-4.1 1.7-6.8 2.6-6.5z"/>
+  <path fill="#ffc639" d="M561.9 142.4c-2.6-10.3-26-32.7-43.7-46.9-4.2-2.8-7-1.1-6.4 3 2.2 3.6 3.8 7.6 6 11.3.6 2.5 1.8 4.2 2.4 6.6 0 0 .2 4.2.6 4.6 5.4 6 6.2 11.1 6.2 11.1a49 49 0 0011.5 15.6c6.2 3.9 1.6 16 1.8 22.5 0 4-2.9 3.6-5.5 3-20.1-18.5-40.1-18.5-57.8-23.9-6.8-.7-7 2.6-4.7 4.4a129 129 0 0039.1 29.6l7.7 4.8 8.8 7.3c6.8 4.4 7.3 8.4 7.3 8.8.2 8.2-4.2 14.6-5.5 17.2-2.3 8.7-7 10.2-7 10.2-37.6 25.4-57.4 32-118.4 24.1-1-.4-6.8.5 0 3 15.5 5.2 53.7 13.5 90.6-4 9-6.2 14.8-4.2 21.3-8a287.3 287.3 0 0128.3-15.4c8.3-4.5 31.3-9.4 36.6-13.8 6.1-.5 12.4-1.3 12.8-6.5 2-1.3 5-.3 7.2-4.6 4.8-.9 4-2.6 4-2.6-1.2-3.4-5.8-4.8-9-7.3-4.8-1.6-8-2-11.5-.4l-3.3 1.5s-5.1-.7-5.1-1.1c-11.4-.6-10.3-38.3-14.3-54z"/>
+  <path fill="#1c8a42" d="M588.6 204.2a2.8 1.8 16 11-5.4-1.7 2.8 1.8 16 015.4 1.7z"/>
+  <g fill="#fff" transform="matrix(.64 0 0 .64 0 80)">
+    <path id="a" d="M188.2 191l-12.8-12-12.9 11.8 1.4-17.4-17.3-2.8 14.5-9.8-8.6-15.2 16.7 5.3 6.5-16.2L182 151l16.7-5-8.8 15 14.4 10-17.3 2.5 1.2 17.4z"/>
+    <path d="M233.4 335.5l-13.8-9.1-13.4 9.6 4.8-15.5-13.6-9.5 16.6-.4 5-15.5 5.6 15.3 16.7-.1L228 320l5.3 15.4z"/>
+    <use width="100%" height="100%" x="2.5" y="269.1" xlink:href="#a"/>
+    <use width="100%" height="100%" x="-112.1" y="123.2" xlink:href="#a"/>
+    <use width="100%" height="100%" x="108.4" y="85" xlink:href="#a"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cy.svg
new file mode 100644
index 0000000..3d483a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cy.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cy" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path id="a" fill="#435125" d="M307.8 398.6a.8.8 0 01-.2-.2h-.1l-1.3-1.4-3.8-4.5-4.9-6.3-.6-.9-6.2-1.9-4.6-2.1 2.4-2.7 8.4 3.5 6.2 1.3 11.5 8.5-3.3 2.9a37.2 37.2 0 00-3.3 3.5l.7-.5.8.6-1.6.2zm-42.6-12.8a31.7 31.7 0 01-16-4.5s.7-1.3 2.3-2.4c1.6-1.2 4.4-2.5 9-2.6 5.4 0 12 1.9 19.5 5.4a28.8 28.8 0 01-14.8 4zm-23.5-5.2c-1 0-2-.4-2.6-1a5.2 5.2 0 01-1.1-2.4 11.7 11.7 0 01-.3-3.4 3.5 3.5 0 011.3-.2c2 0 3.6 1.7 4.3 3.4.4 1 .5 1.8.2 2.5-.2.6-1 1-1.8 1zm41.3-4.8c-13.9-2-19.8-7-22.3-10.9-2.6-4.1-2-8-2-8s.8-.2 2-.2c3.8 0 13.2 1.9 22.3 19zm-28.5-2.8c-5.9 0-10.4-1-13.4-3a8.3 8.3 0 01-3-3.3 5.4 5.4 0 01-.4-1.6 18.2 18.2 0 017.2-1.4 27 27 0 0118.9 8.7c-3.4.4-6.5.6-9.3.6zm-28.7-1c-6.2 0-14.8-2-20.2-7.3 0 0 5.9-1.5 12.4-1.7h1.2c5.9 0 10.4 1.1 13.4 3.4 1 .8 1.6 1.5 1.7 2.2.1.6-.2 1.2-.8 1.7-1.4 1-3.8 1.6-7.2 1.6h-.5zm-20.3-10.5a2.6 2.6 0 01-2-1 4.7 4.7 0 01-.8-2c-.3-1.4-.2-2.8-.2-2.9a2.4 2.4 0 011-.2c.9 0 1.6.5 2 1a5.6 5.6 0 011.4 2c.2.9.3 1.6 0 2.2 0 .4-.6 1-1.3 1zm46.9-1c-1 0-2-.4-2.6-1a5.2 5.2 0 01-1.1-2.4 11.7 11.7 0 01-.3-3.4 3.5 3.5 0 011.3-.2c2 0 3.7 1.7 4.3 3.4.4 1 .5 1.8.3 2.5-.3.6-1 1-2 1zm-22.8-1c-12.6-.4-19.2-4-22.4-7a14.6 14.6 0 01-3.4-4.3c-.5-1-.7-1.8-.7-2s1.2-.4 3-.4h.4c4.2 0 12.9 1.8 23 13.7zm13.6-1.2a30.8 30.8 0 01-18.9-9.3 19.4 19.4 0 01-4.1-7s1.2-.3 3-.4a14.2 14.2 0 011 0c5 .1 14.3 2.4 19 16.7zm-52-5a42 42 0 01-9.5-1c-5.3-1.4-7.6-3.4-8.6-4.9a5 5 0 01-.8-2 3.4 3.4 0 010-.8s3.5-1 8.4-1.1a35 35 0 017.4.6 21.7 21.7 0 0112.8 8.1s-4 1.2-9.7 1.2zm23.5-8.4a3.4 3.4 0 01-2.5-1 5.2 5.2 0 01-1.1-2.4c-.4-1.6-.3-3.2-.3-3.4a3.5 3.5 0 011.2-.3h.1c2 0 3.6 1.8 4.3 3.5.4 1 .4 1.8.2 2.4-.3.7-1 1.1-1.9 1.1zm-17.6-2.5a38.6 38.6 0 01-9.6-4.2c-4.4-2.7-9.9-7.5-10.5-15l1-.1h.3c1.3 0 4 .3 7.3 2.8 4.2 3.2 8 8.8 11.5 16.5zm11.5-.4a31.2 31.2 0 01-7.6-4.9 48.5 48.5 0 01-13.3-18.6s.9-.5 2.3-.6a3.3 3.3 0 01.2 0h.4c2 0 4.9.9 8.1 4.4 3.8 4 7.1 10.6 10 19.7zm-29.9-.9c-3.9 0-5.2-2-5.6-3a6 6 0 01-.4-3 8.5 8.5 0 012-.2 8 8 0 016.5 3c.2.4.8 1.4.3 2.3-.4.6-1.3 1-2.8 1zm-8.5-10.8a51.1 51.1 0 01-9-.7c-3.4-.6-5.3-3.5-6.4-5.9-1-2.5-1.4-5-1.4-5 10.6.3 15.7 3.4 18 6a9.4 9.4 0 012.6 5.5s-1.6.2-3.8.2zm11-11a42.7 42.7 0 01-2.4-3.4c-1.3-2-2.4-4-2.4-5.6 0-1.7-.4-5-.6-7l-.6-4.5c.3 0 6.6 2.4 6.6 8.4s-.6 12-.6 12v.1zm-8.2-.6h-.2a43.7 43.7 0 01-18.2-10.8c-1.7-2-2.8-5.2-3.1-9.4-.2-3 0-5.5 0-5.8a3.3 3.3 0 011.1-.1c1.4 0 3 .6 5 2a39.6 39.6 0 015.2 4.4c3.2 3.2 5.7 6.4 5.7 6.4.3.4 2 3.7 3.5 6.9a22 22 0 011.6 4.6c.1.6.2 1 0 1.4a.7.7 0 01-.3.4.9.9 0 01-.4 0z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 593.7 0)" xlink:href="#a"/>
+  <path fill="#d47600" d="M519 76.4l-1.8.7-.8.3-2.2-.1-2.2 1-3.8 2.6-.1.1-1.5.4-1.3-.6-.7.4-.3 1.5-.7 1.1-.9.6-3 .3-2.5 1.4-3.4-1-1.5.7-3.3 3-1.7.7h-.5l-2.3-.1-.9.3-1.4 1.3-2.6.2-.9.6-1.3 2.6L476 96l-.8.1-.8-.3-.7.1-.3 1.7-.6.7-1.8.6-1.4 1.2-1.3.6h-2l-1.7 1-3.1.2-1.3 1.2-.3.3-.6.3-1 .6-.2.2-1.2-.2-1.4.5-.6-.8-1 .5-1.2.1-1.6-.7-1.3-.6-.9.2-.3 1.5v.2l-1 1.2-1.7 1.1-.2.3-2 2.6-3.8 4-3.2 1.6-3.3 1-2.3 1.9-6 3-9.7 4.8-2 .6-2.8.4-5 1.9-4.4 1.3-.3.1-.8.3-6.3 1.9-2.9-.4-1.7.7-4.5-.5h-3.1l-2 .4-3.7 1.8-6.3 3-2 2-3.2 1.6-3.8 1.2v-1.6l-1.3.4-1 .3-3 .4h-1.7l-1.1-.3h-.2l-6.2 2.1-7 .7-3.5 1.1H333l-1.6.5-3.2.4-1.2-.3-.2-.1-9.4.4-4.3-.5-2 .5-3.5-1.2-5-.6-1.2-.3-2.6-.8-1.2.7-1 .1-2-.8h-.8l-1.8.6-1-.2-1-.8-2.1-.3-1.4-1.1-7.5 1-2-.6-6.9-2h-1l-1.4 1-2 .8-1.9.4-2.4.1-2.8-.7-2.8-1.4-1.1-.3-2.4.3h-.7l-4.4-2.3-5.6-3.5-3.8-1.9-1.5-.2-.2.7.7 2.2.3 2.3v2l-.1 1.3.3 1.1 1.4 1.6.6 1.5.4 4.2v4.3l-.7 6.8-.2 1-.8 3.6-.7 3.3-2.9 8.7-.7 1-2 1.3-4.3 3-3.2 1.8-1 .4-2.6.2H219l-2-1.1-2-.5-2.6-1.9-2.8-.6-3.2-1.8-.8-1-1.7-.2-2.4-.7-.9-.3-.6-.1-3-.1-2.9-1.3-1.5-.4h-2l-2.1 1-1.1.4-1.4-.5h-1l-1 1.7-.2.3-.8.4h-1.7l-.8.3-1.1.5-1 .4-.5.2h-.3l-.5.2h-.6l-1.2-.6-.6-.3-1-.2-.5.3-.1 1.9-.5 1.1-1.6 1.4-1.6 1.4-1 1.6-3 6.7-1.9 2.7-.5.7-2 2.1-1.7 1.3-3.9 3-3.7 1.5-3.2.6h-1.6l-3-.4-2.6-.8-3-1.8-3.1-2.6-4.7-4.5-.6-.4-.2-.1-1.4-1h-1.1l-.4.8-.3 1-.2.9-.5 5v.3l.3 2.1 3.6 5 1 2.6.2.3.7 1.2.6 1 1.3 3.6-.9 2 .4 1.4-1 .8-.2 1.2 3.1 4 .7 1.7-.7 2.4-1.3 1.4-.3.3.2 1 1.4 1.4 2.5 2.2 1.3 3.2 1 1 1.2-.3.6.5h1l1 1 .6.2 1 .5.8 1 .1 3.2 1.5 3.8v2.5l1 1.5.2 1.2-.5 3.3 1.2 1 1.2-.2.8.1 1.3 1.1 1.6 2.4 1.6-.2 1 .4 4.7 4.3 1 .6.9.4 1 1 1.4-1h.2l1.6-.2.7.5 1.4.9h1.7l4 1.2 1.6.4 3.4 2.1 1.5.9.8.7 1.2 1 2.2 1 2 .4 1 .2.9.3 4.2 1.7 2.3.5 2 .8 1.6.5h1.2l1.6-1.3h1.5l1.3.2 1.3-.2 2-1.2.3-.6 1.4-.6 4.8-.6 1.4.4 3.6-1.5 2.4.6 2-.7 4.7 1 1.2.9 1.4 1.5h1.7l-.7 1.1 2 2.2 1.9 2.7.1.4 1.3 3.9 1 1.4.7 1.9v1.2l-1 .9-.2.4v.2l.2.5.4-.2.7-.4 1-.2 1.6.2 1.1.1 1.7-.8 1.2-.6 1.8.8h2l.9.3 2.4 1.1 1.2.1.4-.3.3-.6-.1-.8-1-1.1-2-2.4-.8-1.2-.6-1.7-.2-2.2-.2-1.5.3-2 .5-.7.4-1.6.1-.4 1.2-1.5 3-2 3.2-2.8 2.5-1.7 2.6-1.1v-.3l.4.1 6.6-2.3 3-.5 20 1.4.7-.2.7-1.9.3-.3.3-.2 2.2-1 1-.2 2.8.7 1.2.3 1.9-1h1.3l2.7-1.5h1.7l.7-.2 3.3-2.4 3.1-.9.8-.4.3-.2 3.3-1.7 2-1.6 1.8-1 2-.4 5-.4 1.1-1.7 2.2-.3 1.3-1.5 1.5-.6 1.1-1.6 1-1.3 1.2-.7 4.1-.3 4.8.6.7-.4 1-3.9 1.2-.7 3-4.5v-1.6l.1-1.4.5-2-.3-3.4.4-3.6 1.9-4.5 1.7-1.8 2.7-1.9 1.4-.6 2-.3h.2l.5-.2h9.2l2.3-.1 5.7 1h.4l1.9.7 2.2 1.7 2.4 2.3.4.4 1.5.7.5.2 1.2-.2 1.8-1 1.4-1 1.8-1v-.2l1.1-1.5.4-.7 3.6-1.4 4.2-.2.5-.3h.2l1.1-1.4h1l2.6 1 1.7-.4 1.4.5 1.1-.1 2-.3 2.3 1.6 1.3.2 4.5 2.6h.4l.2.1.5-.2.8-.2h.1l.1.1.6.7.7.1.8-1-.3-.6-.1-.2-1.7-.3-1.4-2.5 1.4-1.5-2.2-2.6-.4-.5v-.1l-.8-1.2-3.8-5.8-5-4-1.7-1.3-.6-.5-2.7-2.7-1.9-2.5-.2-.5-.4-.9-1.1-2.4-2-1.5-1.6-1.8-3.4-4.6-.5-.7-.8-.5h-1.7l-.1-.2h-.1v-.1l.8-.8 1-.2.3-.9-1.7-4.9v-.2l-.1-1.5 1.3-7.1.2-.9 2.4-4.7 1.4-1.2 1.6-3.1 1.4-2 1.3-1.3.2-.1 2.3-1.4 2-.3 1.9-.3 3.3 1h3l.7-.1 1.4-.2 2.3-.7 1.1-.7.6-.8 1.2-4 .4-1.3.7-1.4 4.3-4.9 3.2-3 7.2-5.2 3.5-2.1 1.8-1.1 16.1-7.2 4.2-4.2 2.2-2.2 3.8-2.6 4.5-1.9 4-3 .8-1.1 1-3.5 1-.2.7-1.7.3-.5 3.1-2.2.4-.2 12.3-6.2 1.8.3 1-1.5 3.5-.6h.7l.9-.5.7-1.3v-.3l.1-3.4.8-.9.4-2.2.4-.6.4-.5 1-.7-.2-.4z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cz.svg
new file mode 100644
index 0000000..8767581
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/cz.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-cz" viewBox="0 0 640 480">
+  <path fill="#ffffff" d="M0 0h640v240H0z"/>
+  <path fill="#d7141a" d="M0 240h640v240H0z"/>
+  <path fill="#11457e" d="M360 240 0 0V480z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/da.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/da.svg
new file mode 100644
index 0000000..ab47e0c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/da.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dk" viewBox="0 0 640 480">
+  <path fill="#c8102e" d="M0 0h640.1v480H0z"/>
+  <path fill="#fff" d="M205.7 0h68.6v480h-68.6z"/>
+  <path fill="#fff" d="M0 205.7h640.1v68.6H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/de.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/de.svg
new file mode 100644
index 0000000..1acf302
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/de.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-de" viewBox="0 0 640 480">
+  <path fill="#ffce00" d="M0 320h640v160H0z"/>
+  <path d="M0 0h640v160H0z"/>
+  <path fill="#d00" d="M0 160h640v160H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dj.svg
new file mode 100644
index 0000000..f328f3a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dj.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dj" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="dj-a">
+      <path fill-opacity=".7" d="M-40 0h682.7v512H-40z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#dj-a)" transform="translate(37.5) scale(.94)">
+    <path fill="#0c0" d="M-40 0h768v512H-40z"/>
+    <path fill="#69f" d="M-40 0h768v256H-40z"/>
+    <path fill="#fffefe" d="M-40 0l382.7 255.7L-40 511V0z"/>
+    <path fill="red" d="M119.8 292L89 270l-30.7 22.4L69.7 256l-30.6-22.5 37.9-.3 11.7-36.3 12 36.2h37.9l-30.5 22.7 11.7 36.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dk.svg
new file mode 100644
index 0000000..ab47e0c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dk.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dk" viewBox="0 0 640 480">
+  <path fill="#c8102e" d="M0 0h640.1v480H0z"/>
+  <path fill="#fff" d="M205.7 0h68.6v480h-68.6z"/>
+  <path fill="#fff" d="M0 205.7h640.1v68.6H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dm.svg
new file mode 100644
index 0000000..e35d7ca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dm.svg
@@ -0,0 +1,152 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dm" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="dm-a">
+      <path fill-opacity=".7" d="M-85 0h682.7v512H-85z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#dm-a)" transform="translate(79.7) scale(.94)">
+    <path fill="#108c00" d="M-258.3 0H769.2v512H-258.3z"/>
+    <path fill="#ffd600" d="M-260 178.2H772.6v50.1H-260z"/>
+    <path fill="#ffd600" d="M181 0h48.5v512h-48.4z"/>
+    <path d="M227.8 0h48.4v512h-48.4z"/>
+    <path d="M-260 226.6H772.6v50.2H-260z"/>
+    <path fill="#fff" d="M-260 276.8H772.6v50.1H-260z"/>
+    <path fill="#fff" d="M276.2 0h48.5v512h-48.5z"/>
+    <rect width="273.8" height="275" x="-394.6" y="-393.9" fill="#e72910" ry="137.5" transform="scale(-1)"/>
+    <g stroke-width="1pt">
+      <path d="M250.5 137l5.6-16 5.1 15.7s17.1.5 17.1.2-13.5 10.3-13.5 10.3l6.1 17.6c-.2-.5-14.8-10.9-14.8-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17l-13.3-10.1 16.6-.3z"/>
+      <path fill="#ffe700" d="M251.3 137.7L256 124l4.4 13.6s14.9.4 14.9.2-11.7 9-11.7 9l5.2 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 5-14.8 5-14.8l-11.6-8.8 14.4-.2z"/>
+      <path fill="#108c00" d="M253.3 140l2.8-8 2.6 7.9s8.5.2 8.5 0-6.7 5.2-6.7 5.2l3 8.8c-.1-.3-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5 8.2-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M356.9 211.8l5.6-16 5 15.7s17.2.6 17.2.3-13.5 10.3-13.5 10.3l6 17.6c-.2-.5-14.7-10.9-14.7-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17L340.3 212l16.6-.3z"/>
+      <path fill="#ffe700" d="M357.6 212.6l4.9-13.9 4.4 13.7s14.8.4 14.8.2-11.7 9-11.7 9l5.3 15.1c-.2-.4-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7 14.3-.2z"/>
+      <path fill="#108c00" d="M359.7 214.9l2.8-8 2.5 7.8 8.6.2-6.8 5.1s3.2 9 3 8.8c0-.3-7.3-5.4-7.3-5.4l-7.3 5.1 2.8-8.5-6.6-5 8.3-.1z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M325.9 330.6l5.6-16 5 15.8s17.2.5 17.2.3-13.5 10.3-13.5 10.3l6 17.5c-.2-.5-14.7-10.8-14.7-10.8S316.7 358 316.9 358s5.7-17 5.7-17l-13.3-10 16.6-.3z"/>
+      <path fill="#ffe700" d="M326.6 331.4l4.9-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7 14.3-.3z"/>
+      <path fill="#108c00" d="M328.7 333.7l2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5 8.3-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M177.2 330.6l5.6-16 5 15.8s17.1.5 17.1.3-13.5 10.3-13.5 10.3l6.2 17.5c-.3-.5-14.8-10.8-14.8-10.8S168 358 168.2 358s5.7-17 5.7-17l-13.3-10 16.6-.3z"/>
+      <path fill="#ffe700" d="M178 331.4l4.8-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7 14.3-.3z"/>
+      <path fill="#108c00" d="M180 333.7l2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5 8.3-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M150 208.7l5.6-16 5.1 15.8s17.1.5 17.1.2-13.5 10.4-13.5 10.4l6.1 17.5c-.3-.5-14.8-10.8-14.8-10.8S140.8 236 141.1 236s5.6-17 5.6-17l-13.3-10 16.6-.3z"/>
+      <path fill="#ffe700" d="M150.8 209.5l4.8-13.8 4.5 13.6s14.7.5 14.7.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.5 9 4.8-14.8 4.8-14.8l-11.5-8.7 14.4-.3z"/>
+      <path fill="#108c00" d="M152.8 211.8l2.8-8 2.6 7.9 8.5.1-6.7 5.2 3 8.7c-.1-.2-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5 8.2-.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M324.6 174.1l-5.6 16-5-15.7s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17l13.3 10-16.6.3z"/>
+      <path fill="#ffe700" d="M323.9 173.3c0 .3-5 13.9-5 13.9l-4.3-13.6s-14.8-.5-14.8-.3 11.7-8.9 11.7-8.9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7-14.4.2z"/>
+      <path fill="#108c00" d="M321.8 171l-2.8 8-2.5-7.8s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.5-2.9 8.5l6.7 5-8.3.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M367.3 290.3l-5.6 16-5-15.8s-17.2-.5-17.2-.2S353 280 353 280l-6-17.6c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L384 290l-16.6.3z"/>
+      <path fill="#ffe700" d="M366.6 289.5l-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8-14.4.2z"/>
+      <path fill="#108c00" d="M364.5 287.2l-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.6-2.9 8.6l6.7 5-8.3.1z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M261.4 375.3l-5.6 16-5-15.8s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L278 375l-16.6.3z"/>
+      <path fill="#ffe700" d="M260.7 374.4l-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7-14.3.3z"/>
+      <path fill="#108c00" d="M258.6 372.2l-2.8 8-2.5-7.9s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5-8.3.2z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M162 290.3l-5.7 16-5-15.8s-17.2-.5-17.2-.2 13.5-10.3 13.5-10.3l-6-17.6c.2.5 14.7 10.8 14.7 10.8L171 263l-5.7 17 13.3 10.1-16.6.3z"/>
+      <path fill="#ffe700" d="M161.2 289.5l-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8-14.3.2z"/>
+      <path fill="#108c00" d="M159.1 287.2l-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.6 6.6 5-8.3.1z"/>
+    </g>
+    <g stroke-width="1pt">
+      <path d="M198.7 175.8l-5.6 16-5.2-15.7s-17-.5-17-.3 13.5-10.3 13.5-10.3l-6.1-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.6-10.3-5.6 17-5.6 17l13.2 10-16.5.4z"/>
+      <path fill="#ffe700" d="M197.9 175l-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.8 14.8-4.8 14.8l11.4 8.7-14.3.3z"/>
+      <path fill="#108c00" d="M195.8 172.8l-2.8 8-2.5-7.9s-8.5-.3-8.5-.1 6.7-5.2 6.7-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5-8.3.2z"/>
+    </g>
+    <g transform="matrix(1.04 0 0 1.04 -250.6 359.4)">
+      <g fill="#009200" stroke="#000" stroke-width="2.5" transform="matrix(.16 -.02 0 .18 429.8 -215.6)">
+        <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.4 0 0 1 -534.3 263.7)"/>
+        <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.5 0 0 1 -547.2 267)"/>
+        <ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.2 0 0 1.1 -365 214.1)"/>
+      </g>
+      <g stroke="#000" transform="translate(72.9 -9.8)">
+        <path fill="#a95600" stroke-width=".5" d="M388.5-53c6-.3 3.4-3.3 6.4-5 3-1.6 7.3-.6 8.6 1.4 1.3 2 .3 4 2 4s47-2.5 48.6-.9c1.6 1.7 2 5 .3 6.3-1.6 1.4-58.9 3-60.9 1.6s-5-7-5-7.4z"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 340.4 -81.7)"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 344.4 -81.6)"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 348.7 -81.8)"/>
+        <path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 352.7 -81.8)"/>
+        <ellipse cx="478.4" cy="-41.1" fill="#a95600" stroke-width=".4" rx="3.5" ry="3.4" transform="matrix(1.1 .02 -.02 1.15 -75.6 4.7)"/>
+      </g>
+      <g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(-5.8 688.4 -625.2)">
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 369.8 -361.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 364 -362.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 360.6 -370.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .35 369.3 -399.4)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 377.4 -379)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 373.2 -382.2)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 368 -386.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 363 -389.5)"/>
+      </g>
+      <path fill="#804bff" stroke="#000" stroke-width=".5" d="M482.6-141s-11.7 10-10.1 36.9c1.8 27 26.5 39.5 26.5 39.5s6.2-7.7 5.2-29.5c-2-31.8-13.8-45.7-13.8-45.7l-7.8-1.3z"/>
+      <g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(4.5 181 769.9)">
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 369.8 -361.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 364 -362.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 360.6 -370.6)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .35 369.3 -399.4)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 377.4 -379)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 373.2 -382.2)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 368 -386.7)"/>
+        <ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 363 -389.5)"/>
+      </g>
+      <ellipse cx="624.4" cy="606.1" fill="#c90000" stroke="#000" stroke-width="1pt" rx="58.3" ry="186.5" transform="matrix(.16 -.06 .06 .15 369.6 -145)"/>
+      <g fill="#009200" stroke="#000" transform="rotate(1 242.4 -1957.8)">
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.4 0 0 .3 445 -230.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 457.2 -236)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 452 -236)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 449.5 -233.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 449 -238)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 447 -238.8)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 448 -241.6)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.4 0 0 .3 432.8 -243.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 446 -243.5)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 444.2 -247)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 436.1 -243.2)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 437.4 -243.9)"/>
+        <ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 439 -247)"/>
+      </g>
+      <g fill="#009200" stroke="#000" transform="matrix(.18 0 0 .2 421 -216.8)">
+        <ellipse cx="528.7" cy="564.5" stroke-width="2.5" rx="67.4" ry="205.6" transform="matrix(.98 -.3 .36 .87 -245.8 324.4)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.5" rx="13.3" ry="40.8" transform="rotate(-23.4 630.5 660.9)"/>
+        <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3 0-57.7 29.5-85.3 40.3-102-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.88 -.46 .95 1.18 -352.3 -10)"/>
+        <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3 0-57.7 29.5-85.3 40.3-102-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.88 -.46 .95 1.18 -348.4 44)"/>
+        <path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3 0-57.7 29.5-85.3 40.3-102-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.87 -.5 .98 1.16 -362 105.8)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="1.4" rx="13.3" ry="40.8" transform="matrix(1.8 -.4 .7 1.64 -915.6 -221)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.63 -.23 .54 1.35 -739.5 -91.8)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.63 -.2 .5 1.36 -750.6 -91.8)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.3 -.2 .47 1 -531 47.6)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.13 .4 1.03 -517.9 12.2)"/>
+        <path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(1.03 -.5 .46 1.18 12.8 -14.5)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.13 .4 1.03 -519.5 -34.4)"/>
+        <ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.1 .38 1.04 -534 -40.1)"/>
+        <path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.47 .46 .8 39.5 143.3)"/>
+        <path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.47 .46 .8 51.1 125.8)"/>
+        <path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.94 -.64 .64 1.1 -40.2 -10.7)"/>
+        <path stroke-width="2.7" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.52 .46 .88 68.6 71.2)"/>
+      </g>
+      <g fill="#804bff" stroke="#000" stroke-width="2.5">
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 458 -214.3)"/>
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 456.6 -220.2)"/>
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 454.8 -225.8)"/>
+        <path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 450.9 -232.2)"/>
+      </g>
+      <g transform="rotate(1 -589.6 681.6)">
+        <path fill="#804bff" stroke="#000" stroke-width="2.5" d="M211.2 247.3c21.7-12 56.6-9.8 79.7 11.2 19.4 17 45.3 75.2 70.3 92.8a57.7 57.7 0 01-42.2-15.2c-28.8 15.5-38.1 16.7-64 15.7-35.8-1.4-62.4-17.7-68-40.6-6.3-21.8 4.8-52.5 24.2-63.9z" transform="matrix(.2 -.04 .05 .18 407.8 -213.6)"/>
+        <ellipse cx="287.2" cy="323" fill="red" stroke="#000" stroke-width="2.5" rx="14.2" ry="15" transform="matrix(.25 0 0 .13 401.8 -215.2)"/>
+        <ellipse cx="204.6" cy="348.3" fill="#ff0" stroke="#000" stroke-width="2.5" rx="23.3" ry="15.9" transform="matrix(.2 -.08 .07 .17 398.7 -208)"/>
+        <circle cx="283.9" cy="333.9" r="5.8" transform="matrix(.2 0 0 .2 411.3 -233.7)"/>
+        <path fill="#ff0" stroke="#000" stroke-width="6.6" d="M516.8 260.3c4.4 18-6.7 43-33.1 52.6-26.8 13.2-46.1 41.8-55.7 88-47.2-103.2-23-148.3 20.6-160.3 37.4-14.4 60.4-13.4 68.2 19.7z" transform="matrix(.1 0 0 .08 417.9 -191.5)"/>
+        <circle cx="199" cy="362.4" r="4.7" transform="matrix(.2 0 0 .2 418.7 -235)"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/do.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/do.svg
new file mode 100644
index 0000000..97bae5f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/do.svg
@@ -0,0 +1,6745 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-do" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="do-a">
+      <path fill-opacity=".7" d="M-222.6-115.2h958v718.4h-958z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#do-a)" transform="matrix(.67 0 0 .67 148.7 77)">
+    <path fill="#00319c" fill-rule="evenodd" d="M322 329h446.5v273.9H322z"/>
+    <path fill="#d62918" fill-rule="evenodd" d="M-256.7 329.8h445.2v273h-445.2z"/>
+    <path fill="#00319c" fill-rule="evenodd" d="M-255.8-115.2h445.2v305.4h-445.2z"/>
+    <path fill="#d62918" fill-rule="evenodd" d="M324.6-112.7h443V193h-443z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M-256.4 190.1H769.5v141.7h-1026z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M187.4-113.7h138.3v717H187.4z"/>
+    <path fill="#cecece" d="M246.5 194.3l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M247.2 194.3l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M247.9 194.3l.7.6-.7-.6z"/>
+    <path fill="#848c9c" d="M252.8 194.3l.7.6-.7-.6z"/>
+    <path fill="#848ca5" d="M254 194.5l.4.2-.4-.2z"/>
+    <path fill="#848c9c" d="M254.9 194.3l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M259.8 194.3l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M260.5 194.3l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M261.2 194.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M241.5 195l.7.6-.7-.7z"/>
+    <path fill="#bdbdbd" d="M242.2 195l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M243 195l.6.6-.7-.7z"/>
+    <path fill="#42425a" d="M243.7 195l.7.6-.8-.7z"/>
+    <path fill="#425a84" d="M244.3 195l.7.6-.7-.7z"/>
+    <path fill="#00184a" d="M245.5 195.2l.5.2-.5-.2z"/>
+    <path fill="#002984" d="M247 195.2l.4.2-.5-.2z"/>
+    <path fill="#003994" d="M235.7 201.5a59 59 0 00-26.7 4.9c-4.8 2.8-4.3 10.7 2.1 10.5v.6h-1.4v.7l10.6-2.7v-.6H216v-.7h5l-1.4-2.7 25.3-2.7-1.4-4.7a69 69 0 0126 2v.7l-5.6-1.3c.6 2.9 4 2.2 6.3 1.3l-7 1.4v.6l16.2 1.5 16.8 3.9v.7l-9.1-1.4v.7l11.2 3.3-2-2v-.6l2.7 3.3c4.5.2 7.9 1.2 10.6 4.7l-9.8-4 5.6 12.7h.7v-2h.7v2l6.3-1.3c-1.6-6.8-4.5-14.8-11.2-18.1.6-2.6 0-3.7-2.2-5.4 2.6 5.2-1.7 7.3-5.6 3.4l-1.4 1.3 1.4-4.7-4.2 4 .7-4.6h-.7l-.7 4-2.1-2-.7 2-11.3-1.4v-6l1.4 2h.7v-2l3.5 2h.7l14.1.7.7 5.3h.7l2.1-4.6a74.3 74.3 0 00-26.7-4.7c.5-4.6-4.5-5.4-8.4-6-6.8-1-27.4-3.3-28.2 6z"/>
+    <path fill="#002984" d="M261 195.2l.5.2-.5-.2z"/>
+    <path fill="#00184a" d="M262.4 195.2l.5.2-.5-.2z"/>
+    <path fill="#314a7b" d="M263.4 195l.7.6-.8-.7z"/>
+    <path fill="#42425a" d="M264 195l.8.6-.8-.7z"/>
+    <path fill="#8c8c8c" d="M264.8 195l.6.6-.6-.7z"/>
+    <path fill="#ada5a5" d="M265.5 195l.7.6-.7-.7z"/>
+    <path fill="#dedede" d="M266.2 195l.7.6-.7-.7z"/>
+    <path fill="#ada5a5" d="M239.4 195.6l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M240.1 195.6l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M240.8 195.6l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M241.5 195.6l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M242.2 195.6l.7.7-.7-.7m23.3 0l.6.7-.7-.7z"/>
+    <path fill="#00216b" d="M266.2 195.6l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M266.9 195.6l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M267.6 195.6l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M268.3 195.6l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M237.3 196.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M238 196.3l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M238.7 196.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M239.4 196.3l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M246.5 196.3l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M247.2 196.3l.7.7-.7-.7z"/>
+    <path fill="#295284" d="M247.9 196.3l.7.7-.7-.7m1.4 0l.7.7-.7-.7zm4.2 0l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M257.7 196.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M259.8 196.3l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M260.5 196.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M268.3 196.3l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M269 196.3l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M269.7 196.3l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M270.4 196.3l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M236 197l-.8 1.3.7-1.3z"/>
+    <path fill="#8c8c8c" d="M236.6 197l.7.6-.7-.6z"/>
+    <path fill="#10295a" d="M237.3 197l.7.6-.7-.6z"/>
+    <path fill="#5a6b63" d="M241.5 197l.7.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M242.2 197l.7.6-.7-.6z"/>
+    <path fill="#ad9431" d="M243 197l.6.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M243.7 197l.7.6-.8-.6z"/>
+    <path fill="#395273" d="M244.3 197l.7.6-.7-.6z"/>
+    <path fill="#8c8442" d="M246.5 197l.7.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M247.9 197l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M249.3 197l.7.6-.7-.6zm4.2 0l.7.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M260.5 197l.7.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M263.8 197.2l.5.2-.5-.2z"/>
+    <path fill="#295284" d="M264.8 197l.6.6-.6-.6z"/>
+    <path fill="#00184a" d="M270.4 197l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M271 197l.8.6-.7-.6z"/>
+    <path fill="#dedede" d="M271.8 197l.7.6-.7-.6z"/>
+    <path fill="#31394a" d="M236 197.6l.6.7-.7-.7z"/>
+    <path fill="#deb518" d="M241.5 197.6l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M244.3 197.6l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M246.5 197.6l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M247.9 197.6l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M255.6 197.6l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M256.3 197.6l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M257 197.6l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M258.4 197.6l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M262.6 197.6l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M264.8 197.6l.6.7-.6-.7z"/>
+    <path fill="#10214a" d="M271.8 197.6l1.4 1.4-1.4-1.4z"/>
+    <path fill="#cecece" d="M272.5 197.6l.7.7-.7-.7z"/>
+    <path fill="#212139" d="M235.2 198.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M241.5 198.3l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M242.2 198.3l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M243.2 198.7l.2.5-.2-.5z"/>
+    <path fill="#395273" d="M243.9 198.7l.2.5-.2-.5z"/>
+    <path fill="#6b735a" d="M245 198.3l.8.7-.7-.7z"/>
+    <path fill="#cead21" d="M247.2 198.3l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M248.6 198.3l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M255.6 198.3l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M256.3 198.3l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M257 198.3l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M258.4 198.3l.7.7-.7-.7z"/>
+    <path fill="#295284" d="M259.1 198.3l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M262.6 198.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M264.8 198.3l.6.7-.6-.7z"/>
+    <path fill="#efefef" d="M273.2 198.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M234.5 199l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M235.2 199l.7.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M241.5 199l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M245 199l.8.6-.7-.6z"/>
+    <path fill="#295284" d="M245.8 199l.7.6-.7-.6z"/>
+    <path fill="#4a636b" d="M247.2 199l.7.6-.7-.6z"/>
+    <path fill="#deb518" d="M247.9 199l.7.6-.7-.6z"/>
+    <path fill="#ad9431" d="M248.6 199l.7.6-.7-.6m9.1 0l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M259.4 199.4l.2.5-.2-.5z"/>
+    <path fill="#efbd08" d="M262.6 199l.7.6-.7-.6z"/>
+    <path fill="#ad9431" d="M263.4 199l.7.6-.8-.6z"/>
+    <path fill="#cead21" d="M264 199l.8.6-.8-.6z"/>
+    <path fill="#ad9431" d="M264.8 199l.6.6-.6-.6z"/>
+    <path fill="#002984" d="M272.5 199l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M273.2 199l.7.6-.7-.6m-38.7.6l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M235.4 200l.3.5-.3-.4z"/>
+    <path fill="#6b735a" d="M241.5 199.6l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M243 199.6l.6.7-.7-.7z"/>
+    <path fill="#184a8c" d="M245 199.6l.8.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M245.8 199.6l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M247.2 199.6l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M247.9 199.6l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M255.6 199.6l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M256.3 199.6l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M257 199.6l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M262 199.6l.6.7-.7-.7z"/>
+    <path fill="#4a636b" d="M263.4 199.6l.7.7-.8-.7z"/>
+    <path fill="#bd9c29" d="M264.5 199.9l.5.2-.5-.2z"/>
+    <path fill="#bdbdbd" d="M234.5 200.3l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M241.5 200.3l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M243 200.3l.6.7-.7-.7z"/>
+    <path fill="#8c8442" d="M243.7 200.3l.7.7-.8-.7z"/>
+    <path fill="#395273" d="M244.3 200.3l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M245.8 200.3l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M249.3 200.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M255.8 200.8l.3.4-.3-.5m1.2-.4l1.4 2-1.4-2z"/>
+    <path fill="#4a636b" d="M259.1 200.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M262 200.3l.6.7-.7-.7z"/>
+    <path fill="#deb518" d="M264 200.3l.8.7-.8-.7z"/>
+    <path fill="#ada5a5" d="M231.7 201l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M234.5 201l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M235.2 201l.7.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M243 201l.6.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M245.8 201l.7.6-.7-.6z"/>
+    <path fill="#cead21" d="M246.5 201l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M247.2 201l.7.6-.7-.6z"/>
+    <path fill="#295284" d="M247.9 201l.7.6-.7-.6z"/>
+    <path fill="#deb518" d="M248.6 201l.7.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M249.3 201l.7.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M259.1 201l.7.6-.7-.6z"/>
+    <path fill="#ad9431" d="M262.6 201l.7.6-.7-.6z"/>
+    <path fill="#cead21" d="M264 201l.8.6-.8-.6z"/>
+    <path fill="#184a8c" d="M265.5 201l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M272.5 201l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M273.2 201l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M276 201l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M278.8 201l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M223.3 201.6l.6.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M224 201.6l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M225.1 201.9l.5.2-.5-.2z"/>
+    <path fill="#42425a" d="M226 201.6l.8.7-.7-.7z"/>
+    <path fill="#314a7b" d="M226.8 201.6l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M228 201.9l.4.2-.5-.2z"/>
+    <path fill="#00216b" d="M228.9 201.6l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M243 201.6l.6.7-.7-.7z"/>
+    <path fill="#ffce08" d="M245.8 201.6l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M246.5 201.6l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M248.6 201.6l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M249.3 201.6l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M250.7 201.6l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M251.4 201.6l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M252 201.6l.8.7-.7-.7z"/>
+    <path fill="#395273" d="M254.9 201.6l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M259.1 201.6l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M259.8 201.6l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M261.2 201.6l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M262.6 201.6l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M264 201.6l.8.7-.8-.7m1.5 0l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M278.8 201.6l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M280 201.9l.5.2-.5-.2z"/>
+    <path fill="#314a7b" d="M281 201.6l.6.7-.7-.7z"/>
+    <path fill="#42425a" d="M281.6 201.6l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M282.3 201.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M283 201.6l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M283.8 201.6l.6.7-.6-.7z"/>
+    <path fill="#cecece" d="M284.4 201.6l.8.7-.8-.7m-65.4.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M219.7 202.3l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M220.4 202.3l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M221.1 202.3l.7.7-.7-.7z"/>
+    <path fill="#29396b" d="M221.8 202.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M222.5 202.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M223.3 202.3l.6.7-.7-.7z"/>
+    <path fill="#002984" d="M224 202.3l.6.7-.7-.7z"/>
+    <path fill="#00216b" d="M234.5 202.3l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M242.2 202.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M243 202.3l.6.7-.7-.7z"/>
+    <path fill="#184a8c" d="M264 202.3l.8.7-.8-.7z"/>
+    <path fill="#7b7b52" d="M264.8 202.3l.6.7-.6-.7z"/>
+    <path fill="#295284" d="M265.5 202.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M271.8 202.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M284.2 202.5l.5.3-.5-.3z"/>
+    <path fill="#00184a" d="M285.1 202.3l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M285.9 202.3l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M286.6 202.3l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M287.3 202.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M288 202.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M288.7 202.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M216.2 203l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M217 203l.6.6-.7-.6z"/>
+    <path fill="#525a6b" d="M217.6 203l.7.6-.7-.6z"/>
+    <path fill="#10295a" d="M218.3 203l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M219 203l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M226.8 203l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M234.5 203l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M271.8 203l-.7 1.3.7-1.3z"/>
+    <path fill="#395273" d="M275.3 203l.7.6-.7-.6z"/>
+    <path fill="#184a8c" d="M276 203l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M277.4 203l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M288.7 203l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M289.4 203l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M290 203l.8.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M290.8 203l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M291.5 203l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M292.2 203l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M213.4 203.7l.7.6-.7-.7z"/>
+    <path fill="#7b7373" d="M214.1 203.7l.7.6-.7-.7z"/>
+    <path fill="#314a7b" d="M214.8 203.7l.7.6-.7-.7z"/>
+    <path fill="#00184a" d="M215.5 203.7l.7.6-.7-.7z"/>
+    <path fill="#002984" d="M216.2 203.7l.7.6-.7-.7z"/>
+    <path fill="#184a8c" d="M221.1 203.7l.7.6-.7-.7z"/>
+    <path fill="#6b735a" d="M221.8 203.7l.7.6-.7-.7z"/>
+    <path fill="#395273" d="M222.5 203.7l.7.6-.7-.7z"/>
+    <path fill="#5a6b63" d="M225.4 203.7l.7.6-.7-.7z"/>
+    <path fill="#efbd08" d="M226 203.7l.8.6-.7-.7z"/>
+    <path fill="#ffce08" d="M227.2 203.9l.5.2-.5-.2z"/>
+    <path fill="#4a636b" d="M228.2 203.7l.7.6-.7-.7z"/>
+    <path fill="#00215a" d="M234.5 203.7l.7.6-.7-.7z"/>
+    <path fill="#002984" d="M246.2 203.9l.5.2-.5-.2z"/>
+    <path fill="#00215a" d="M247.2 203.7l.7.6-.7-.7z"/>
+    <path fill="#00184a" d="M247.9 203.7l.7.6-.7-.7z"/>
+    <path fill="#29396b" d="M248.6 203.7l.7.6-.7-.7z"/>
+    <path fill="#425a84" d="M249.3 203.7l.7.6-.7-.7z"/>
+    <path fill="#636b7b" d="M253.5 203.7l.7.6-.7-.7z"/>
+    <path fill="#737b94" d="M254.2 203.7l.7.6-.7-.7z"/>
+    <path fill="#29396b" d="M259.1 203.7l.7.6-.7-.7z"/>
+    <path fill="#00184a" d="M260.3 203.9l.5.2-.5-.2z"/>
+    <path fill="#002984" d="M261.7 203.9l.5.2-.5-.2z"/>
+    <path fill="#6b6b4a" d="M271.8 203.7l.7.6-.7-.7z"/>
+    <path fill="#7b7b52" d="M276 203.7l1.4 5.3-1.4-5.3z"/>
+    <path fill="#cead21" d="M279.5 203.7l.7.6-.7-.7z"/>
+    <path fill="#4a636b" d="M280.2 203.7l.7.6-.7-.7z"/>
+    <path fill="#8c8442" d="M281.6 203.7l.7.6-.7-.7z"/>
+    <path fill="#395273" d="M284.4 203.7l-.6 2.6.6-2.6z"/>
+    <path fill="#002984" d="M291.5 203.7l.7.6-.7-.7z"/>
+    <path fill="#00215a" d="M292.2 203.7l.7.6-.7-.7z"/>
+    <path fill="#314a7b" d="M292.9 203.7l.7.6-.7-.7z"/>
+    <path fill="#7b7373" d="M293.6 203.7l.7.6-.7-.7z"/>
+    <path fill="#cecece" d="M294.3 203.7l.7.6-.7-.7z"/>
+    <path fill="#efefef" d="M211.3 204.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M212 204.3l.7.7-.7-.7z"/>
+    <path fill="#31425a" d="M212.7 204.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M213.4 204.3l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M220.4 204.3l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M223.3 204.3l.6.7-.7-.7z"/>
+    <path fill="#deb518" d="M225.8 204.5l.5.3-.5-.3z"/>
+    <path fill="#7b7b52" d="M226.8 204.3l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M228 204.5l.4.3-.5-.3z"/>
+    <path fill="#00216b" d="M235.2 204.3l.7.7-.7-.7m8.5 0l.7.7-.8-.7z"/>
+    <path fill="#63636b" d="M244.3 204.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M261.2 204.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M262 204.3l.6.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M262.6 204.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M263.4 204.3l.7.7-.8-.7z"/>
+    <path fill="#00184a" d="M264.3 204.8l.2.4-.2-.4z"/>
+    <path fill="#001039" d="M271 204.3l.8.7-.7-.7z"/>
+    <path fill="#deb518" d="M271.8 204.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M278.1 204.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M278.8 204.3l-.7 1.4.7-1.4z"/>
+    <path fill="#deb518" d="M279.5 204.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M281.6 204.3l1.4 1.4-1.4-1.4zm4.3 0l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M286.6 204.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M287.3 204.3l.7.7-.7-.7z"/>
+    <path fill="#ad9431" d="M288 204.3l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M288.7 204.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M294.3 204.3l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M295 204.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M295.7 204.3l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M296.4 204.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M209.9 205l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M210.6 205l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M211.3 205l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M217.6 205l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M221.1 205l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M221.8 205l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M222.5 205l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M224 205l.6.7-.7-.7z"/>
+    <path fill="#ffce08" d="M225.4 205l1.4 1.3-1.4-1.3z"/>
+    <path fill="#8c8442" d="M226 205l.8.7-.7-.7z"/>
+    <path fill="#003994" d="M226.8 205l.7.7-.7-.7z"/>
+    <path fill="#295284" d="M227.5 205l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M228.2 205l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M235.2 205l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M241.5 205l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M242.2 205l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M243 205l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M244.3 205l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M262.6 205l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M263.6 205.4l.2.5-.2-.5z"/>
+    <path fill="#002984" d="M265 205.4l.2.5-.2-.5z"/>
+    <path fill="#313931" d="M271 205l.8.7-.7-.7z"/>
+    <path fill="#295284" d="M276.7 205l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M278.8 205l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M279.5 205l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M281 205l.6.7-.7-.7z"/>
+    <path fill="#efbd08" d="M281.6 205l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M283 205l.7.7-.7-.7m2.4.4l.2.5-.2-.5z"/>
+    <path fill="#cead21" d="M285.9 205l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M286.6 205l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M287.3 205l.7.7-.7-.7z"/>
+    <path fill="#295284" d="M289.4 205l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M290 205l.8.7-.7-.7z"/>
+    <path fill="#cead21" d="M290.8 205l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M291.5 205l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M292.2 205l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M292.9 205l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M296.4 205l.7.7-.7-.7z"/>
+    <path fill="#31394a" d="M297.1 205l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M297.8 205l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M298.5 205l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M208.5 205.7l.7.6-.7-.6z"/>
+    <path fill="#212139" d="M209.2 205.7l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M209.9 205.7l.7.6-.7-.6z"/>
+    <path fill="#5a6b63" d="M212.7 205.7l.7.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M213.4 205.7l.7.6-.7-.6z"/>
+    <path fill="#deb518" d="M214.1 205.7l.7.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M215.5 205.7l.7.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M217.6 205.7l.7.6-.7-.6z"/>
+    <path fill="#184a8c" d="M219 205.7l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M219.7 205.7l.7 2-.7-2z"/>
+    <path fill="#7b7b52" d="M221.1 205.7l.7.6-.7-.6z"/>
+    <path fill="#003994" d="M221.8 205.7v2.6h1.4v-2.6h-1.4z"/>
+    <path fill="#efbd08" d="M223.3 205.7l.6.6-.7-.6z"/>
+    <path fill="#deb518" d="M224 205.7l.6.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M225.4 205.7l.7.6-.7-.6z"/>
+    <path fill="#efbd08" d="M226.8 205.7l.7.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M227.5 205.7l-.7 1.3.7-1.3z"/>
+    <path fill="#7b7b52" d="M228.2 205.7l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M235.2 205.7l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M238 205.7l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M239.7 206.6v1.6h3.3l-3.3-1.6z"/>
+    <path fill="#00215a" d="M240.8 205.7l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M241.5 205.7l.7.6-.7-.6z"/>
+    <path fill="#31394a" d="M244.3 205.7l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M267.6 205.7l1.4 1.3-1.4-1.3z"/>
+    <path fill="#002984" d="M268.3 205.7l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M270.6 206.1l.2.5-.2-.5z"/>
+    <path fill="#8c8442" d="M271 205.7l.8.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M280.2 205.7l.7.6-.7-.6z"/>
+    <path fill="#003994" d="M281.2 206.1l.2.5-.2-.5z"/>
+    <path fill="#deb518" d="M282.3 205.7l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M283 205.7l.7.6-.7-.6z"/>
+    <path fill="#295284" d="M284.4 205.7l.8.6-.8-.6z"/>
+    <path fill="#ad9431" d="M286.6 205.7l.7.6-.7-.6z"/>
+    <path fill="#003994" d="M287.3 205.7l.7.6-.7-.6z"/>
+    <path fill="#295284" d="M288 205.7l.7.6-.7-.6z"/>
+    <path fill="#8c8442" d="M289.4 205.7l.7.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M290 205.7l.8.6-.7-.6z"/>
+    <path fill="#deb518" d="M290.8 205.7l.7.6-.7-.6z"/>
+    <path fill="#ffce08" d="M291.5 207l2.1-.7-2.1.7z"/>
+    <path fill="#6b735a" d="M293.6 205.7l.7.6-.7-.6z"/>
+    <path fill="#295284" d="M295 205.7l-.7 1.3.7-1.3z"/>
+    <path fill="#10214a" d="M298.5 205.7l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M299.2 205.7l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M207 206.3l.8.7-.7-.7z"/>
+    <path fill="#42425a" d="M207.8 206.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M208.5 206.3l.7.7-.7-.7z"/>
+    <path fill="#ad9431" d="M212.7 206.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M214.6 206.6l.4.2-.4-.3m1.6-.2l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M217.6 206.3l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M221.1 206.3l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M225.6 206.8l.2.4-.2-.4z"/>
+    <path fill="#9c8c42" d="M226 206.3l.8.7-.7-.7z"/>
+    <path fill="#ffce08" d="M228 206.6l.4.2-.5-.3z"/>
+    <path fill="#8c8442" d="M228.9 206.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M236.1 206.8l.3.4-.3-.4z"/>
+    <path fill="#002984" d="M236.6 206.3l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M237.3 206.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M238 206.3l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M244.3 206.3l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M245 206.3l.8.7-.7-.7z"/>
+    <path fill="#21315a" d="M263.4 206.3l.7.7-.8-.7z"/>
+    <path fill="#00184a" d="M269 206.3l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M278.1 206.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M278.8 206.3l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M279.5 206.3l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M280.2 206.3l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M284.4 206.3l.8.7-.8-.7z"/>
+    <path fill="#184a8c" d="M285.1 206.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M286.6 206.3l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M287.3 206.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M288 206.3l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M289.4 206.3l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M290.8 206.3l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M292.2 206.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M292.9 206.3l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M293.6 206.3l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M295.7 206.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M299.2 206.3l.7.7-.7-.7z"/>
+    <path fill="#212139" d="M300 206.3l.6.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M300.6 206.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M206.4 207l-.7 1.3.7-1.3z"/>
+    <path fill="#00215a" d="M207 207l.8.7-.7-.7z"/>
+    <path fill="#6b735a" d="M212.7 207l.7.7-.7-.7z"/>
+    <path fill="#295284" d="M214.1 207l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M214.8 207v2.7h.7l-.7-2.7z"/>
+    <path fill="#9c8c42" d="M215.5 207l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M217 207l1.3 1.3-1.4-1.3z"/>
+    <path fill="#395273" d="M217.6 207l.7.7-.7-.7zm8.5 0l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M227.2 207.2l.5.2-.5-.2z"/>
+    <path fill="#deb518" d="M228.2 207l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M228.9 207l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M236.8 207.4l.3.5-.3-.5z"/>
+    <path fill="#002984" d="M244.3 207l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M245 207l.8.7-.7-.7z"/>
+    <path fill="#cecece" d="M262.6 207l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M263.4 207l.7.7-.8-.7z"/>
+    <path fill="#000818" d="M269.7 207l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M278.1 207l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M278.8 207l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M279.5 207l-.7 1.3.7-1.3z"/>
+    <path fill="#ffce08" d="M280.2 207l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M282.3 207l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M283.8 207l.6.7-.6-.7z"/>
+    <path fill="#395273" d="M285 207.2l.4.2-.5-.2z"/>
+    <path fill="#9c8c42" d="M290.8 207l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M291.5 207l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M294.3 207l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M298.5 207l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M299.2 207l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M300.6 207l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M301.3 207l1.4 1.3-1.4-1.3z"/>
+    <path fill="#00216b" d="M206.4 207.7l.7.6-.7-.6z"/>
+    <path fill="#295284" d="M212.7 207.7l.7.6-.7-.6z"/>
+    <path fill="#184a8c" d="M215.5 207.7l.7.6-.7-.6z"/>
+    <path fill="#5a6b63" d="M217 207.7l.6.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M219 207.7l.7.6-.7-.6z"/>
+    <path fill="#cead21" d="M221.1 207.7l.7.6-.7-.6m2.1 0l.8.6-.8-.6z"/>
+    <path fill="#7b7b52" d="M225.4 207.7l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M226.8 207.7l.7.6-.7-.6z"/>
+    <path fill="#efbd08" d="M228.4 208.1l.2.5-.2-.5z"/>
+    <path fill="#ad9431" d="M228.9 207.7l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M237.3 207.7l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M237.3 209l2.1-1.3-2 1.3z"/>
+    <path fill="#00216b" d="M239.4 207.7l.7.6-.7-.6z"/>
+    <path fill="#525a6b" d="M245 207.7l.8.6-.7-.6z"/>
+    <path fill="#63636b" d="M262.6 207.7l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M266.9 207.7l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M266.9 209l2-1.3-2 1.3z"/>
+    <path fill="#00184a" d="M269 207.7l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M269.7 207.7l.7.6-.7-.6z"/>
+    <path fill="#5a6b63" d="M276.7 207.7l.7.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M278.1 207.7l.7.6-.7-.6z"/>
+    <path fill="#efbd08" d="M279.5 207.7l.7.6-.7-.6z"/>
+    <path fill="#deb518" d="M280.2 207.7l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M282.3 207.7l.7.6-.7-.6zm2.8 0l.7.6-.7-.6m1.4 0l.8.6-.7-.6z"/>
+    <path fill="#5a6b63" d="M287.3 207.7l.7.6-.7-.6z"/>
+    <path fill="#efbd08" d="M288 207.7l.7.6-.7-.6z"/>
+    <path fill="#cead21" d="M290.8 207.7l.7.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M291.5 207.7l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M293.6 207.7l.7.6-.7-.6z"/>
+    <path fill="#9c8c42" d="M300 207.7l.6.6-.7-.6z"/>
+    <path fill="#002984" d="M301.3 207.7l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M205 208.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M205.7 208.3l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M213.4 208.3l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M214.1 208.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M217.2 208.8l.2.4-.3-.4z"/>
+    <path fill="#ad9431" d="M219 208.3l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M220.4 208.3l.7.7-.7-.7z"/>
+    <path fill="#ad9431" d="M222.3 208.6l.5.2-.5-.2m1.6-.3l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M226 208.3l.8.7-.7-.7z"/>
+    <path fill="#4a636b" d="M228.9 208.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M243.7 208.3l.7.7-.8-.7z"/>
+    <path fill="#636b7b" d="M245 208.3l.8.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M262 208.3l.6.7-.7-.7z"/>
+    <path fill="#424242" d="M262.6 208.3l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M271 208.3l.8.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M280.2 208.3l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M284.4 208.3l.8.7-.8-.7z"/>
+    <path fill="#7b7b52" d="M285.1 208.3l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M286.6 208.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M291.5 208.3l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M292.9 208.3l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M293.6 208.3l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M294.3 208.3l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M295 208.3l-.7 1.4.7-1.4z"/>
+    <path fill="#5a6b63" d="M297.8 208.3l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M298.5 208.3l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M300.6 208.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M302 208.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M302.7 208.3l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M205 209l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M213.4 209l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M214.1 209l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M215.5 209l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M218.3 209l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M219 209l-.7 1.3.7-1.3z"/>
+    <path fill="#ad9431" d="M221.1 209l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M223.3 209l.6.7-.7-.7z"/>
+    <path fill="#4a636b" d="M226.8 209l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M227.5 209l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M228.2 209l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M244.3 209l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M245 209l.8.7-.7-.7m16.8 0l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M262.6 209l1.4 1.3-1.4-1.3z"/>
+    <path fill="#31394a" d="M263.4 209l.7.7-.8-.7z"/>
+    <path fill="#7b7b52" d="M281.6 209l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M282.3 209l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M284.4 209l.8.7-.8-.7z"/>
+    <path fill="#ad9431" d="M285.1 209l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M288 209l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M290 209l.8.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M292.9 209l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M295 209l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M295.7 209l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M299.2 209l-.7 2.7h.7V209z"/>
+    <path fill="#7b7b52" d="M300 209l.6.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M301.3 209l.7.7-.7-.7z"/>
+    <path fill="#425a84" d="M303 209.4l.2.5-.2-.5z"/>
+    <path fill="#42425a" d="M205 209.7l.7.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M213.4 209.7l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#deb518" d="M215.5 209.7l.7.6-.7-.6z"/>
+    <path fill="#5a6b63" d="M217 209.7l.6.6-.7-.6z"/>
+    <path fill="#ffce08" d="M219 209.7l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M242.2 209.7l.7.6-.7-.6z"/>
+    <path fill="#21315a" d="M243 209.7l.6.6-.7-.6z"/>
+    <path fill="#63636b" d="M243.7 209.7l.7.6-.8-.6z"/>
+    <path fill="#efefef" d="M244.3 209.7l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M264 209.7l.8.6-.8-.6z"/>
+    <path fill="#21315a" d="M264.8 209.7l.6.6-.6-.6z"/>
+    <path fill="#00216b" d="M265.5 209.7l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M285.9 209.7l.7.6-.7-.6z"/>
+    <path fill="#8c8442" d="M288 209.7l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M288.7 209.7l.7.6-.7-.6z"/>
+    <path fill="#7b7b52" d="M290 209.7l.8.6-.7-.6z"/>
+    <path fill="#6b735a" d="M292.2 209.7l.7.6-.7-.6z"/>
+    <path fill="#bd9c29" d="M295.7 209.7l-.7 2 .7-2z"/>
+    <path fill="#5a6b63" d="M297.1 209.7l.7.6-.7-.6z"/>
+    <path fill="#ffce08" d="M297.8 209.7l.7.6-.7-.6z"/>
+    <path fill="#5a6b63" d="M298.5 209.7l.7.6-.7-.6z"/>
+    <path fill="#395273" d="M300 209.7l.6.6-.7-.6z"/>
+    <path fill="#6b735a" d="M301.3 209.7l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M205 210.3l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M213.4 210.3l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M216.2 210.3l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M218.3 210.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M226.8 210.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M227.5 210.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M228.2 210.3l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M228.9 210.3l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M238 210.3l.7.7-.7-.7z"/>
+    <path fill="#848c9c" d="M238.7 210.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M242.2 210.3l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M265.5 210.3l.7.7-.7-.7z"/>
+    <path fill="#848c9c" d="M269 210.3l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M269.7 210.3l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M278.8 210.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M279.5 210.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M280.2 210.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M281 210.3l.6.7-.7-.7z"/>
+    <path fill="#4a636b" d="M290 210.3l.8.7-.7-.7z"/>
+    <path fill="#6b735a" d="M290.8 210.3l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M292.2 210.3l.7.7-.7-.7z"/>
+    <path fill="#cead21" d="M292.9 210.3l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M294.3 210.3l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M295 210.3l.7.7-.7-.7m2.6.3l.4.2-.4-.2z"/>
+    <path fill="#8c8442" d="M300 210.3l.6.7-.7-.7z"/>
+    <path fill="#184a8c" d="M301.3 210.3l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M302.7 210.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M205 211l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M205.7 211l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M214.1 211l.7.7-.7-.7z"/>
+    <path fill="#4a636b" d="M214.8 211l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M219.7 212.3l2.1-.6-2 .7z"/>
+    <path fill="#00215a" d="M221.8 211l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M222.5 211l.7.7-.7-.7z"/>
+    <path fill="#314a7b" d="M223.3 211l.6.7-.7-.7z"/>
+    <path fill="#42425a" d="M224 211l.6.7-.7-.7z"/>
+    <path fill="#636b7b" d="M224.7 211l.7.7-.8-.7z"/>
+    <path fill="#8c8c8c" d="M225.4 211l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M226 211l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M226.8 211l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M227.5 211l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M280.2 211l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M281 211l.6.7-.7-.7z"/>
+    <path fill="#9c9494" d="M281.6 211l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M282.3 211l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M283 211l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M283.8 211l.6.7-.6-.7z"/>
+    <path fill="#314a7b" d="M284.4 211l.8.7-.8-.7z"/>
+    <path fill="#00184a" d="M285.1 211l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M285.9 211l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M287 211.2l.5.3-.5-.3z"/>
+    <path fill="#184a8c" d="M292.9 211l.7.7-.7-.7z"/>
+    <path fill="#5a6b63" d="M296.4 211l.7.7-.7-.7zm1.4 0l.7.7-.7-.7z"/>
+    <path fill="#295284" d="M299.2 211l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M300.6 211l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M302.7 211l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M205 211.7l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M205.7 211.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M220.4 211.7l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M221.1 211.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M221.8 211.7l-.7 1.3.7-1.3z"/>
+    <path fill="#bdbdbd" d="M286.6 211.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M287.3 211.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M288 211.7l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M295 211.7l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M295.7 211.7l.7.7-.7-.7z"/>
+    <path fill="#deb518" d="M296.4 211.7l.7.7-.7-.7z"/>
+    <path fill="#bd9c29" d="M297.8 211.7l.7.7-.7-.7z"/>
+    <path fill="#7b7b52" d="M298.5 211.7l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M302 211.7l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M302.7 211.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M203.6 212.3l.7.7-.8-.7z"/>
+    <path fill="#63636b" d="M204.3 212.3l.6.7-.7-.7z"/>
+    <path fill="#001039" d="M205.2 212.8l.2.5-.2-.5z"/>
+    <path fill="#00216b" d="M217.6 212.3l-.7 1.4.7-1.3z"/>
+    <path fill="#00184a" d="M218.3 212.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M219 212.3l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M220.4 212.3l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M286.6 212.3l.7.7-.7-.7z"/>
+    <path fill="#212139" d="M287.3 212.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M288 212.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M289 212.8l.1.5-.2-.5z"/>
+    <path fill="#184a8c" d="M296.4 212.3l.7.7-.7-.7z"/>
+    <path fill="#9c8c42" d="M297.1 212.3l.7.7-.7-.7z"/>
+    <path fill="#295284" d="M300 212.3l.6.7-.7-.7z"/>
+    <path fill="#00216b" d="M302.7 212.3l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M303.4 212.3l.8.7-.8-.7z"/>
+    <path fill="#bdbdbd" d="M304.1 212.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M202.8 213l-1.4 2 1.4-2z"/>
+    <path fill="#10214a" d="M203.6 213l-1.4 2 1.4-2z"/>
+    <path fill="#003994" d="M204.3 213c-2 2.1-5 4.5-3.6 7.4-3.7 2-4.4 6.4-5.6 10l7.7 1.4 5.7-12.7-7.8.6v-.6l7-.7-3.5-5.4z"/>
+    <path fill="#002984" d="M214.1 213l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M214.8 213l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M216 213.2l.4.3-.4-.3z"/>
+    <path fill="#002984" d="M217.6 213l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M221.1 213l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M286.6 213l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M287.3 213l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M291.5 213l.7.7-.7-.7z"/>
+    <path fill="#184a8c" d="M297.8 213l.7.7-.7-.7z"/>
+    <path fill="#395273" d="M298.5 213l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M304.1 213l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M304.9 213l2 2-2-2z"/>
+    <path fill="#00216b" d="M205 213.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M205.7 213.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M212 213.7l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M213.2 214l.4.1-.4-.2z"/>
+    <path fill="#00216b" d="M214.1 213.7l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M221.1 213.7l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M286.6 213.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M291.5 213.7l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M292.2 213.7l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M293.4 214l.4.1-.4-.2z"/>
+    <path fill="#00216b" d="M294.5 214.1l.3.5-.3-.5m10.3-.4l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M205.7 214.4l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M210.1 214.8l.2.5-.2-.5z"/>
+    <path fill="#00184a" d="M211 214.6l.5.2-.4-.2z"/>
+    <path fill="#00215a" d="M216.2 214.4l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M220.4 214.4l.7.6-.7-.6z"/>
+    <path fill="#21315a" d="M221.1 214.4l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M285.9 214.4l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M286.6 214.4l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M287.7 214.6l.5.2-.5-.2z"/>
+    <path fill="#00215a" d="M288.7 214.4l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M289.4 214.4l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M290 214.4l.8.6-.7-.6z"/>
+    <path fill="#00184a" d="M295.5 214.6l.4.2-.4-.2z"/>
+    <path fill="#00216b" d="M305.6 214.4l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M200.7 215l.7.7-.7-.7z"/>
+    <path fill="#212139" d="M201.4 215l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M205.7 215l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M206.4 215l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M209 215.3l.4.2-.5-.3z"/>
+    <path fill="#00216b" d="M214.1 215l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M214.8 215l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M215.5 215l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M220.4 215l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M221.1 215l-.7 1.4.7-1.4z"/>
+    <path fill="#7b7373" d="M285.9 215l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M286.6 215l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M287.3 215l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M290 215l.8.7-.7-.7z"/>
+    <path fill="#00184a" d="M291.3 215.3l.4.2-.4-.3z"/>
+    <path fill="#002984" d="M292.2 215l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M296.4 215l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M297.1 215l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M297.8 215l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M306.3 215l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M307 215l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M200.7 215.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M208.5 215.7l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M213.2 216l.4.1-.4-.2z"/>
+    <path fill="#002984" d="M214.1 215.7l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M219.7 215.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M287.3 215.7l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M288 215.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M292.2 215.7l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M292.9 215.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M293.6 215.7l.7.7-.7-.7z"/>
+    <path fill="#31425a" d="M307 215.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M307.7 215.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M200 216.4l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M200.7 216.4l.7.6-.7-.6m5.7 0l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M211.8 216.6l.4.2-.4-.2z"/>
+    <path fill="#00216b" d="M217.6 216.4l.7.6-.7-.6z"/>
+    <path fill="#21315a" d="M218.3 216.4l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M219 216.4l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M219.7 216.4l.7.6-.7-.6m68.3 0l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M288.7 216.4l.7.6-.7-.6z"/>
+    <path fill="#314a7b" d="M289.4 216.4l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M290 216.4l.8.6-.7-.6m3.5 0l-.7 1.3.7-1.3z"/>
+    <path fill="#001039" d="M294.3 216.4l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M295 216.4l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M307.7 216.4l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M199.3 217l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M200 217l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M207.8 217l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M210.3 217.3l.5.2-.5-.2z"/>
+    <path fill="#002984" d="M214.1 217l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M214.8 217l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M215.5 217l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M216.2 217l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M217 217l.6.7-.7-.7z"/>
+    <path fill="#cecece" d="M217.6 217l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M290 217l.8.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M290.8 217l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M291.5 217l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M292.2 217l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M293.6 217l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M294.3 217l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M295 217l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M295.7 217l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M296.4 217l.7.7-.7-.7m2.8 0l.7.7-.7-.7m8.5 0l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M308.4 217l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M199.3 217.7l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M207.8 217.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M209.2 217.7l.7.7-.7-.7m2 0l.8.7-.7-.7z"/>
+    <path fill="#21315a" d="M212 217.7l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M212.7 217.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M214.1 217.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M214.8 217.7l.7.7-.7-.7m78 0l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M293.6 217.7l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M295 217.7l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M295.7 217.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M298.5 217.7l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M308.4 217.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M198.6 218.4l.7.6-.7-.6z"/>
+    <path fill="#10295a" d="M199.3 218.4l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M205 218.4l.7.6-.7-.6z"/>
+    <path fill="#21315a" d="M209.9 218.4l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M210.6 218.4l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M211.3 218.4l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M214.1 218.4l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M292.2 218.4l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M292.9 218.4l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M295.5 218.6l.4.2-.4-.2z"/>
+    <path fill="#8c8c8c" d="M296.4 218.4l.7.6-.7-.6z"/>
+    <path fill="#292921" d="M297.1 218.4l.7.6-.7-.6z"/>
+    <path fill="#080829" d="M297.8 218.4l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M301.3 218.4l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M309 218.4l.8.6-.7-.6z"/>
+    <path fill="#63636b" d="M198.6 219l.7.7-.7-.6z"/>
+    <path fill="#00215a" d="M200.7 219l.7.7-.7-.6z"/>
+    <path fill="#00184a" d="M202 219.3l.4.2-.5-.2z"/>
+    <path fill="#00216b" d="M202.8 219l.7.7-.7-.6z"/>
+    <path fill="#8c8c8c" d="M209.2 219l.7.7-.7-.6z"/>
+    <path fill="#efefef" d="M209.9 219l.7.7-.7-.6z"/>
+    <path fill="#8c8c8c" d="M298.5 219l.7.7-.7-.6z"/>
+    <path fill="#10295a" d="M299.2 219l.7.7-.7-.6z"/>
+    <path fill="#00216b" d="M303.4 219l.8.7-.8-.6z"/>
+    <path fill="#00184a" d="M304.6 219.3l.5.2-.5-.2z"/>
+    <path fill="#002984" d="M305.8 219.5l.2.4-.2-.4z"/>
+    <path fill="#212139" d="M309 219l.8.7-.7-.6z"/>
+    <path fill="#dedede" d="M198 219.7l.6.7-.7-.7z"/>
+    <path fill="#10214a" d="M207.8 219.7l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M208.5 219.7l-.7 1.4.7-1.4m90.7 0l1.4 1.4-1.4-1.4z"/>
+    <path fill="#10214a" d="M300 219.7l.6.7-.7-.7z"/>
+    <path fill="#00184a" d="M306.3 219.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M307 219.7l2.8 2.7-2.8-2.7z"/>
+    <path fill="#002984" d="M309 219.7l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M309.8 219.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M198 220.4l.6.6-.7-.6z"/>
+    <path fill="#001039" d="M198.6 220.4l.7.6-.7-.6z"/>
+    <path fill="#10295a" d="M207 220.4l.8.6-.7-.6z"/>
+    <path fill="#101831" d="M300.6 220.4l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M309.8 220.4l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M197.2 221l.7.7-.7-.6z"/>
+    <path fill="#101829" d="M198 221l.6.7-.7-.6z"/>
+    <path fill="#002984" d="M206.4 221l.7.7-.7-.6z"/>
+    <path fill="#9c9494" d="M207 221l.8.7-.7-.6z"/>
+    <path fill="#cecece" d="M213.4 221l.7.7-.7-.6z"/>
+    <path fill="#bdbdbd" d="M214.1 221v.7H295l-24.6-.6H214m86.5 0l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M301.3 221l.7.7-.7-.6z"/>
+    <path fill="#00216b" d="M309.8 221l.7.7-.7-.6z"/>
+    <path fill="#dedede" d="M310.5 221l.7.7-.7-.6z"/>
+    <path fill="#424242" d="M197.2 221.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M198 221.7l.6.7-.7-.7z"/>
+    <path fill="#52525a" d="M206.4 221.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M213.4 221.7l3.5 3.4-3.5-3.4z"/>
+    <path fill="#00216b" d="M214.1 221.7l2.1 2-2.1-2z"/>
+    <path fill="#003994" d="M214.8 221.7l5.9 7.4.4 26h6.4c0-8.2 1.8-16.8-4.3-23.3l8.5 5.3-3.5-10 19.7 18.7-14.8-22.7 14 18h.8v-19.4h-33.1z"/>
+    <path fill="#00184a" d="M247.9 221.7v20.1h.7l-.7-20z"/>
+    <path fill="#631808" d="M259.8 221.7v20.1h.7l-.7-20z"/>
+    <path fill="#de2110" d="M260.5 221.7v18.8l14.8-17.4-14.8 22.7 20.4-18.7-4.2 9.3 8.4-5.3c-4.5 8.3-4.2 14.5-4.2 24h6.4l.4-26 5.9-7.4h-33z"/>
+    <path fill="#b51010" d="M293.6 221.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M294.3 221.7l-1.4 2 1.4-2z"/>
+    <path fill="#8c8c8c" d="M301.3 221.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M302 221.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M310.5 221.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M196.5 222.4l.7.7-.7-.7z"/>
+    <path fill="#000818" d="M197.2 222.4l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M205.7 222.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M206.4 222.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M292.9 222.4l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M302 222.4l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M309 222.4l.8.7-.7-.7z"/>
+    <path fill="#10214a" d="M310.5 222.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M311.2 222.4l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M196.5 223l.7.7-.7-.6z"/>
+    <path fill="#00216b" d="M197.2 223l.7.7-.7-.6z"/>
+    <path fill="#63636b" d="M205.7 223l.7.7-.7-.6z"/>
+    <path fill="#002984" d="M233.1 223l.7.7-.7-.6z"/>
+    <path fill="#8c8c8c" d="M302 223l.7.7-.7-.6z"/>
+    <path fill="#00184a" d="M310 223.5l.2.5-.2-.5z"/>
+    <path fill="#9c9494" d="M311.2 223l.7.7-.7-.6M196 224l.3.5-.3-.4z"/>
+    <path fill="#292921" d="M196.5 223.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M205 223.7l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M205.7 223.7l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M216.2 223.7l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M233.1 223.7l.7.7-.7-.7z"/>
+    <path fill="#212139" d="M233.8 223.7l1.4 1.4-1.4-1.4z"/>
+    <path fill="#100808" d="M274.6 223.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M292.2 223.7l-4.2 4.7 4.2-4.7z"/>
+    <path fill="#efefef" d="M302 223.7l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M302.7 223.7l.7.7-.7-.7z"/>
+    <path fill="#31425a" d="M311.2 223.7l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M196.5 224.4l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M205 224.4l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M217 224.4l.6.7-.7-.7z"/>
+    <path fill="#002984" d="M233.1 224.4l.7.7-.7-.7z"/>
+    <path fill="#6b5a00" d="M233.8 224.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M273.2 224.4l.7.7-.7-.7z"/>
+    <path fill="#7b5a00" d="M273.9 224.4l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M302.7 224.4l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M311.2 224.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M311.9 224.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M195.8 225l.7.7-.7-.6z"/>
+    <path fill="#002984" d="M204.3 225l.6.7-.7-.6z"/>
+    <path fill="#9c9494" d="M205 225l.7.7-.7-.6z"/>
+    <path fill="#cecece" d="M217 225l3.4 3.4-3.5-3.3z"/>
+    <path fill="#10214a" d="M217.6 225l.7.7-.7-.6z"/>
+    <path fill="#392121" d="M233.8 225l.7.7-.7-.6z"/>
+    <path fill="#cea508" d="M234.7 225.5l.3.5-.3-.5z"/>
+    <path fill="#293129" d="M235.2 225l1.4 1.4-1.4-1.3z"/>
+    <path fill="#631808" d="M272.5 225l.7.7-.7-.6z"/>
+    <path fill="#634a00" d="M273.9 225l.7.7-.7-.6z"/>
+    <path fill="#ce2110" d="M274.6 225l.7.7-.7-.6z"/>
+    <path fill="#dedede" d="M302.7 225l.7.7-.7-.6z"/>
+    <path fill="#00216b" d="M303.4 225l.8.7-.8-.6z"/>
+    <path fill="#636b7b" d="M311.9 225l.7.7-.7-.6z"/>
+    <path fill="#42425a" d="M195.8 225.7l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M204.3 225.7l.6.7-.7-.7z"/>
+    <path fill="#10214a" d="M218.3 225.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M233.8 225.7l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M235.2 225.7l.7.7-.7-.7z"/>
+    <path fill="#5a2908" d="M271.8 225.7l.7.7-.7-.7z"/>
+    <path fill="#efbd08" d="M273.2 225.7l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M273.9 225.7l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M303.4 225.7l.8.7-.8-.7z"/>
+    <path fill="#10214a" d="M311.9 225.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M195.1 226.4l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M195.8 226.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M204.3 226.4l.6.7-.7-.7z"/>
+    <path fill="#10214a" d="M219 226.4l.7.7-.7-.7z"/>
+    <path fill="#634a00" d="M234.5 226.4l.7.7-.7-.7z"/>
+    <path fill="#deb508" d="M235.2 226.4l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M236 226.4l.6.7-.7-.7z"/>
+    <path fill="#211800" d="M271.8 226.4l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M273.9 226.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M303.4 226.4l.8.7-.8-.7z"/>
+    <path fill="#002984" d="M304.1 226.4l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M311.9 226.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M312.6 226.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M195.1 227l.7.8-.7-.7z"/>
+    <path fill="#002984" d="M195.8 227l.7.8-.7-.7z"/>
+    <path fill="#00216b" d="M203.6 227l.7.8-.8-.7z"/>
+    <path fill="#cecece" d="M204.3 227l.6.8-.7-.7z"/>
+    <path fill="#10214a" d="M219.7 227l.7.8-.7-.7z"/>
+    <path fill="#00184a" d="M228.4 227.5l.2.5-.2-.5z"/>
+    <path fill="#10295a" d="M234.5 227l.7.8-.7-.7z"/>
+    <path fill="#000818" d="M235.2 227l.7.8-.7-.7z"/>
+    <path fill="#392100" d="M236 227l1.3 1.4-1.4-1.3z"/>
+    <path fill="#00184a" d="M236.6 227l.7.8-.7-.7z"/>
+    <path fill="#7b1008" d="M271 227l.8.8-.7-.7z"/>
+    <path fill="#392100" d="M271.8 227l.7.8-.7-.7z"/>
+    <path fill="#210800" d="M272.5 227l.7.8-.7-.7z"/>
+    <path fill="#5a1008" d="M273.2 227l.7.8-.7-.7z"/>
+    <path fill="#631808" d="M279.5 227l.7.8-.7-.7z"/>
+    <path fill="#ce2110" d="M280.2 227l.7.8-.7-.7z"/>
+    <path fill="#7b1008" d="M288 227l.7.8-.7-.7z"/>
+    <path fill="#00184a" d="M304.1 227l.7.8-.7-.7z"/>
+    <path fill="#7b7373" d="M312.6 227l.7.8-.7-.7z"/>
+    <path fill="#636b7b" d="M195.1 227.8l.7.6-.7-.7z"/>
+    <path fill="#21315a" d="M203.6 227.8l.7.6-.8-.7z"/>
+    <path fill="#10295a" d="M220.4 227.8l.7.6-.7-.7z"/>
+    <path fill="#102110" d="M228.9 227.8l.7.6-.7-.7z"/>
+    <path fill="#002984" d="M229.6 227.8l.7.6-.7-.7z"/>
+    <path fill="#101810" d="M236 227.8l.6.6-.7-.7z"/>
+    <path fill="#00216b" d="M237.3 227.8l.7.6-.7-.7z"/>
+    <path fill="#b51010" d="M270.4 227.8l.7.6-.7-.7z"/>
+    <path fill="#211800" d="M271.6 228l.4.2-.4-.2z"/>
+    <path fill="#b51010" d="M272.5 227.8l.7.6-.7-.7z"/>
+    <path fill="#bd2110" d="M278.1 227.8l.7.6-.7-.7z"/>
+    <path fill="#5a2908" d="M278.8 227.8l.7.6-.7-.7z"/>
+    <path fill="#310000" d="M279.5 227.8l.7.6-.7-.7z"/>
+    <path fill="#7b1008" d="M287.3 227.8l.7.6-.7-.7z"/>
+    <path fill="#42425a" d="M304.1 227.8l.7.6-.7-.7z"/>
+    <path fill="#314a7b" d="M312.6 227.8l.7.6-.7-.7z"/>
+    <path fill="#10214a" d="M195.1 228.4l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M203.6 228.4l.7.7-.8-.7z"/>
+    <path fill="#42425a" d="M220.4 228.4V256h.7c0-7.9 2.5-20.3-.7-27.5z"/>
+    <path fill="#634a00" d="M228.9 228.4l.7.7-.7-.7z"/>
+    <path fill="#8c7300" d="M229.6 228.4l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M230.3 228.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M236 228.4l.6.7-.7-.7z"/>
+    <path fill="#211800" d="M236.6 228.4l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M237.3 228.4l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M269.7 228.4l.7.7-.7-.7z"/>
+    <path fill="#311000" d="M270.4 228.4l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M271 228.4l-1.3 2 1.4-2z"/>
+    <path fill="#7b1008" d="M271.8 228.4l.7.7-.7-.7m5.6 0l.7.7-.7-.7z"/>
+    <path fill="#7b5a00" d="M278.1 228.4l.7.7-.7-.7z"/>
+    <path fill="#6b5a00" d="M278.8 228.4l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M279.5 228.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M287.3 228.4v26.8h.7c0-7.7 2.4-19.7-.7-26.8z"/>
+    <path fill="#8c8c8c" d="M304.1 228.4l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M312.6 228.4l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M313.3 228.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M194.4 229l.7.8-.7-.7z"/>
+    <path fill="#00216b" d="M195.1 229l.7.8-.7-.7z"/>
+    <path fill="#002984" d="M202.8 229l.7.8-.7-.7z"/>
+    <path fill="#9c9494" d="M203.6 229l.7.8-.8-.7z"/>
+    <path fill="#00215a" d="M228.9 229l.7.8-.7-.7z"/>
+    <path fill="#bd9408" d="M229.6 229l.7.8-.7-.7z"/>
+    <path fill="#cea508" d="M230.3 229l.7.8-.7-.7z"/>
+    <path fill="#293129" d="M231 229l.7.8-.7-.7z"/>
+    <path fill="#002984" d="M231.7 229l.7.8-.7-.7z"/>
+    <path fill="#00184a" d="M236.6 229l.7.8-.7-.7z"/>
+    <path fill="#392100" d="M237.3 229l1.4 1.4-1.4-1.3z"/>
+    <path fill="#101829" d="M238 229l.7.8-.7-.7z"/>
+    <path fill="#5a1008" d="M269.7 229l.7.8-.7-.7z"/>
+    <path fill="#420000" d="M271 229l.8.8-.7-.7z"/>
+    <path fill="#ce2110" d="M276 229l.7.8-.7-.7z"/>
+    <path fill="#5a2908" d="M276.7 229l.7.8-.7-.7z"/>
+    <path fill="#bd9408" d="M277.4 229l.7.8-.7-.7z"/>
+    <path fill="#efbd08" d="M278.1 229l.7.8-.7-.7z"/>
+    <path fill="#631808" d="M278.8 229l.7.8-.7-.7z"/>
+    <path fill="#cecece" d="M304.1 229l.7.8-.7-.7z"/>
+    <path fill="#00216b" d="M304.9 229l.7.8-.8-.7z"/>
+    <path fill="#8c8c8c" d="M313.3 229l.7.8-.7-.7m-118.9.7l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M202.8 229.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M203.6 229.8l.7.6-.8-.6z"/>
+    <path fill="#313918" d="M229.6 229.8l.7.6-.7-.6z"/>
+    <path fill="#ffce08" d="M230.3 229.8l.7.6-.7-.6z"/>
+    <path fill="#ad8c08" d="M231 229.8l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M231.7 229.8l.7.6-.7-.6z"/>
+    <path fill="#101829" d="M237.3 229.8l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M238.7 229.8l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M269 229.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M271 229.8l.8.6-.7-.6z"/>
+    <path fill="#ad1810" d="M276 229.8l.7.6-.7-.6z"/>
+    <path fill="#7b5a00" d="M276.7 229.8l.7.6-.7-.6z"/>
+    <path fill="#ffce08" d="M277.4 229.8l.7.6-.7-.6z"/>
+    <path fill="#634a00" d="M278.1 229.8l-.7 1.3.7-1.3z"/>
+    <path fill="#ce2110" d="M278.8 229.8l.7.6-.7-.6z"/>
+    <path fill="#10214a" d="M304.9 229.8l.7.6-.8-.6z"/>
+    <path fill="#00216b" d="M306.3 229.8l.7.6-.7-.6z"/>
+    <path fill="#525a6b" d="M313.3 229.8l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M193.7 230.4l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M194.4 230.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M195.1 230.4l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M195.8 230.4l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M196.5 230.4l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M197.2 230.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M198 230.4l.6.7-.7-.7z"/>
+    <path fill="#314a7b" d="M202.8 230.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M229.6 230.4l.7.7-.7-.7z"/>
+    <path fill="#423100" d="M230.3 230.4l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M231 230.4l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M231.7 230.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M232.4 230.4l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M238 230.4l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M238.7 230.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M239.4 230.4l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M268.3 230.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M270.4 230.4l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M275.3 230.4l-.7 1.4.7-1.4z"/>
+    <path fill="#211800" d="M276.7 230.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M278.1 230.4l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M304.9 230.4l.7.7-.8-.7z"/>
+    <path fill="#000818" d="M306.3 230.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M309.8 230.4l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M310.5 230.4l.7.7-.7-.7z"/>
+    <path fill="#314a7b" d="M311.2 230.4l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M311.9 230.4l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M312.6 230.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M313.3 230.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M195.1 231l.7.8-.7-.7z"/>
+    <path fill="#dedede" d="M195.8 231l.7.8-.7-.7z"/>
+    <path fill="#bdbdbd" d="M196.5 231l.7.8-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M198.6 231l.7.8-.7-.7z"/>
+    <path fill="#314a7b" d="M199.3 231l.7.8-.7-.7z"/>
+    <path fill="#00216b" d="M200 231l.7.8-.7-.7z"/>
+    <path fill="#7b7373" d="M202.8 231l.7.8-.7-.7z"/>
+    <path fill="#cecece" d="M204.3 231l.6.8-.7-.7z"/>
+    <path fill="#efefef" d="M205 231l.7.8-.7-.7z"/>
+    <path fill="#001039" d="M231 231l2.1 2-2.1-2z"/>
+    <path fill="#392100" d="M231.7 231l5 4.8-5-4.7z"/>
+    <path fill="#001010" d="M232.4 231l.7.8-.7-.7z"/>
+    <path fill="#00216b" d="M238 231l.7.8-.7-.7z"/>
+    <path fill="#392100" d="M238.7 231l2.1 2-2-2z"/>
+    <path fill="#101810" d="M239.4 231l.7.8-.7-.7z"/>
+    <path fill="#310000" d="M268.3 231l1.4 1.4-1.4-1.3z"/>
+    <path fill="#392100" d="M269 231l.7.8-.7-.7z"/>
+    <path fill="#631808" d="M269.7 231l.7.8-.7-.7z"/>
+    <path fill="#420000" d="M276.7 231l.7.8-.7-.7z"/>
+    <path fill="#ce2110" d="M277.4 231l.7.8-.7-.7m7 0l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M304.9 231l.7.8-.8-.7z"/>
+    <path fill="#001000" d="M306.3 231l.7.8-.7-.7z"/>
+    <path fill="#00216b" d="M307.7 231l.7.8-.7-.7z"/>
+    <path fill="#21315a" d="M308.4 231l.7.8-.7-.7z"/>
+    <path fill="#7b7373" d="M309 231l.8.8-.7-.7z"/>
+    <path fill="#bdbdbd" d="M311.6 231.3l.5.2-.5-.2z"/>
+    <path fill="#cecece" d="M193 231.8l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M193.7 231.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M195.8 231.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#ada5a5" d="M196.5 231.8l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M197.2 231.8l2.1 2.6-2-2.6z"/>
+    <path fill="#9c9494" d="M198 231.8l.6.6-.7-.6z"/>
+    <path fill="#efefef" d="M199 232l.6.2-.5-.2z"/>
+    <path fill="#dedede" d="M200 231.8l-.7 1.3.7-1.3z"/>
+    <path fill="#8c8c8c" d="M200.7 231.8l2.1 3.3-2-3.3z"/>
+    <path fill="#314a7b" d="M201.4 231.8l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M202.1 231.8l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M202.8 231.8l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M204.3 231.8l.6.6-.7-.6z"/>
+    <path fill="#63636b" d="M205 231.8l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M284 231.3l.7.7-.7-.7z"/>
+    <path fill="#000818" d="M224 231.8l.6.6-.7-.6z"/>
+    <path fill="#00216b" d="M224.7 231.8l.7.6-.8-.6z"/>
+    <path fill="#001010" d="M233.1 231.8l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M238.7 231.8l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M267.6 231.8l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M268.3 231.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M274.6 231.8l-1.4 2 1.4-2z"/>
+    <path fill="#392100" d="M275.3 231.8l-2.1 2.6 2.1-2.6z"/>
+    <path fill="#ce2110" d="M276.7 231.8l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M283 231.8l.7.6-.7-.6z"/>
+    <path fill="#310000" d="M283.8 231.8l.6.6-.6-.6z"/>
+    <path fill="#941808" d="M284.4 231.8l.8.6-.8-.6z"/>
+    <path fill="#8c8c8c" d="M296.6 232.2l.3.5-.3-.5z"/>
+    <path fill="#dedede" d="M300 231.8l.6.6-.7-.6z"/>
+    <path fill="#7b7373" d="M300.6 231.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M304.9 231.8l.7.6-.8-.6z"/>
+    <path fill="#080829" d="M305.6 231.8l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M306.3 231.8l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M307 231.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M307.7 231.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#cecece" d="M308.4 231.8l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M310.5 231.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M311.2 231.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M193 232.4l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M193.7 232.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M195.8 232.4l.7.7-.7-.7m5 0l.6.7-.7-.7z"/>
+    <path fill="#dedede" d="M202 232.7l.4.2-.5-.2z"/>
+    <path fill="#cecece" d="M203.6 232.4l.7.7-.8-.7z"/>
+    <path fill="#294200" d="M204.3 232.4l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M205 232.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M205.7 232.4l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M224 232.4l.6.7-.7-.7z"/>
+    <path fill="#8c7300" d="M224.7 232.4l.7.7-.8-.7z"/>
+    <path fill="#392121" d="M225.4 232.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M226 232.4l.8.7-.7-.7z"/>
+    <path fill="#00184a" d="M231.7 232.4v4.7h.7l-.7-4.7z"/>
+    <path fill="#001010" d="M233.8 232.4l.7.7-.7-.7m5.6 0l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M240.8 232.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M266.9 232.4l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M266.9 233.8l2-.7-2 .7z"/>
+    <path fill="#bd2110" d="M269 232.4l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M275.3 232.4l-.7 1.4.7-1.4z"/>
+    <path fill="#6b1821" d="M276 232.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M281.6 232.4l.7.7-.7-.7z"/>
+    <path fill="#5a2908" d="M282.3 232.4l1.4 1.4-1.4-1.4z"/>
+    <path fill="#8c7300" d="M283 232.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M283.8 232.4l.6.7-.6-.7z"/>
+    <path fill="#ada5a5" d="M297.1 232.4l-.7 1.4.7-1.4z"/>
+    <path fill="#101810" d="M300.6 232.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M301.3 232.4l.7.7-.7-.7m3.3.3l.5.2-.5-.3z"/>
+    <path d="M305.6 232.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M306.3 232.4l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M307 232.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M307.7 232.4l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M310.5 232.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M311.2 232.4l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M193 233.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M194.2 233.3l.4.3-.4-.3m2.8 0l.4.3-.4-.3z"/>
+    <path fill="#ada5a5" d="M199.3 233.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M200 233.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M201.4 233.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M202.8 233.1l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M203.6 233.1l.7.7-.8-.7z"/>
+    <path fill="#397b00" d="M204.3 233.1l.6.7-.7-.7z"/>
+    <path fill="#428c00" d="M205 233.1l-1.4 5.4h-.7l1.3-4.7h-.6l-.7 5.3 2.8-1.3-3.5 5.3 2.8-2-3.6 2.7-.7 3.4h.7l7-8-2 .6v-.7l2-.6v-.7h-2.7l-.7-4.7z"/>
+    <path fill="#5a6b52" d="M205.7 233.1l.7.7-.7-.7z"/>
+    <path fill="#102121" d="M224.7 233.1l.7.7-.8-.7z"/>
+    <path fill="#efbd08" d="M225.4 233.1l.7.7-.7-.7z"/>
+    <path fill="#ad8c08" d="M226 233.1l.8.7-.7-.7z"/>
+    <path fill="#102121" d="M226.8 233.1l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M227.5 233.1l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M232.4 233.1c0 5.4 3.2 7.9 7.7 10.7-.3-4.5-4.1-8-7.7-10.7z"/>
+    <path fill="#001010" d="M233.1 233.1l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M234.5 233.1l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M239.4 233.1l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M240.6 233.3l.5.3-.5-.3z"/>
+    <path fill="#002984" d="M241.5 233.1l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M266.2 233.1l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M267.6 233.1l-1.4 2 1.4-2z"/>
+    <path fill="#941808" d="M268.3 233.1l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M275.3 233.1l-7 10.7c3.9-2.3 9.2-5.8 7-10.7z"/>
+    <path fill="#ce2110" d="M280.2 233.1l.7.7-.7-.7z"/>
+    <path fill="#6b2908" d="M281 233.1l.6.7-.7-.7z"/>
+    <path fill="#9c7b08" d="M281.6 233.1l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M282.3 233.1l-.7 1.3.7-1.3z"/>
+    <path fill="#ce2110" d="M283.8 233.1l.6.7-.6-.7z"/>
+    <path fill="#294221" d="M300.6 233.1l1.4 1.3-1.4-1.3z"/>
+    <path fill="#8c8c8c" d="M301.3 233.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M304.6 233.3l.5.3-.5-.3z"/>
+    <path fill="#103910" d="M305.6 233.1l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M306.3 233.1l.7 14h.7l2-12h-.6l-1.4 8h-.7l-.7-10z"/>
+    <path fill="#424242" d="M307 233.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M307.7 233.1l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M309.8 233.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M311.2 233.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M312.6 233.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M313.3 233.1l-.7 1.3.7-1.3z"/>
+    <path fill="#ada5a5" d="M315.4 233.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M193 233.8l2.1 2-2.1-2z"/>
+    <path fill="#cecece" d="M194.4 233.8l.7 2h.7l-1.4-2z"/>
+    <path fill="#9c9494" d="M195.1 233.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M197.2 233.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M198 233.8l-.8 1.3.7-1.3z"/>
+    <path fill="#425242" d="M199.3 233.8l.7.6-.7-.6z"/>
+    <path fill="#213918" d="M200 233.8l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M200.7 233.8l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M202.8 233.8l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M204.5 234.2l.2.5-.2-.5z"/>
+    <path fill="#295200" d="M205.7 233.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M206.4 233.8l.7.6-.7-.6z"/>
+    <path fill="#4a4208" d="M225.4 233.8l.7.6-.7-.6z"/>
+    <path fill="#ffce08" d="M226 233.8l.8.6-.7-.6z"/>
+    <path fill="#bd9408" d="M226.8 233.8l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M227.5 233.8l.7.6-.7-.6z"/>
+    <path fill="#001010" d="M233.8 233.8l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M235.2 233.8l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M240.1 233.8l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M240.8 233.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#001010" d="M241.5 233.8l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M255.6 233.8l.7.6-.7-.6z"/>
+    <path fill="#420000" d="M266.2 233.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M267.6 233.8l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M272.5 233.8l.7.6-.7-.6z"/>
+    <path fill="#181000" d="M273.9 233.8l-1.4 2 1.4-2z"/>
+    <path fill="#002984" d="M274.6 233.8l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M280.2 233.8l.7.6-.7-.6z"/>
+    <path fill="#7b5a00" d="M281 233.8l.6.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M283 233.8l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M296.4 233.8l.7.6-.7-.6z"/>
+    <path fill="#103910" d="M297.1 233.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M297.8 233.8l.7.6-.7-.6z"/>
+    <path fill="#4a6342" d="M300.6 233.8l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M304.9 233.8l.7.6-.8-.6z"/>
+    <path fill="#185200" d="M305.6 233.8l.7.6-.7-.6z"/>
+    <path fill="#7b8c73" d="M307 233.8l.7.6-.7-.6z"/>
+    <path fill="#395231" d="M309 233.8l.8.6-.7-.6z"/>
+    <path fill="#319400" d="M309.8 233.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M313.3 233.8l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M314.7 233.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M315.4 233.8l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M193 234.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M198 234.4l.6.7-.7-.7z"/>
+    <path fill="#424242" d="M198.6 234.4l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M199.3 234.4l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M200 234.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M200.7 234.4l1.4 1.4-1.4-1.4z"/>
+    <path fill="#397b00" d="M202.8 234.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M206.4 234.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M225.4 234.4l1.4 1.4-1.4-1.4z"/>
+    <path fill="#6b5a00" d="M226 234.4l.8.7-.7-.7z"/>
+    <path fill="#211800" d="M226.8 234.4l2 1.4-2-1.4z"/>
+    <path fill="#00216b" d="M228.2 234.4l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M234.5 234.4l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M236 234.4l.6.7-.7-.7m5 0l.6.7-.7-.7z"/>
+    <path fill="#00184a" d="M242.2 234.4l.7.7-.7-.7z"/>
+    <path fill="#bd9408" d="M253.5 234.4v.7l1.4 2.7h.7l-2.1-3.4z"/>
+    <path fill="#7b1008" d="M265.5 234.4l.7.7-.7-.7z"/>
+    <path fill="#311000" d="M266.9 234.4l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M267.6 234.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M271.8 234.4l-.7 1.4.7-1.4z"/>
+    <path fill="#211800" d="M272.5 234.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M273.9 234.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M279.5 234.4l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M280.2 234.4l-1.4 2 1.4-2z"/>
+    <path fill="#181000" d="M281 234.4l.6.7-.7-.7z"/>
+    <path fill="#6b5a00" d="M281.6 234.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M282.3 234.4l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M296.4 234.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.1 234.4l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M297.8 234.4l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M300.6 234.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M301.3 234.4l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M302 234.4l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M304.9 234.4l.7.7-.8-.7z"/>
+    <path fill="#297b00" d="M305.6 234.4l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M307 234.4v3.4h.7l-.7-3.4z"/>
+    <path fill="#7b7373" d="M308.4 234.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M309.5 234.7l.5.2-.5-.2z"/>
+    <path fill="#63636b" d="M310.5 234.4l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M311.2 234.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M312.4 234.7l.4.2-.4-.2z"/>
+    <path fill="#8c8c8c" d="M313.3 234.4l-.7 1.4.7-1.4z"/>
+    <path fill="#7b7373" d="M314 234.4l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M314.7 234.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M315.4 234.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M192.3 235.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M193 235.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M195.8 235.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M198 235.1l.6.7-.7-.7z"/>
+    <path fill="#001000" d="M198.6 235.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M199.3 235.1v2l2.1-.6v-.7l-2-.7z"/>
+    <path fill="#213918" d="M200.7 235.1l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M202.1 235.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M204 235.3l.5.3-.5-.3z"/>
+    <path fill="#8c8c8c" d="M206.4 235.1l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M226.8 235.1l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M228.9 235.1l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M234.5 235.1l2.1 2-2.1-2z"/>
+    <path fill="#181000" d="M235.2 235.1l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M236.6 235.1l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M241.5 235.1l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M242.5 235.6l.2.4-.2-.4z"/>
+    <path fill="#00216b" d="M243 235.1l.6.7-.7-.7z"/>
+    <path fill="#7b5a00" d="M252.8 235.1v2.7h.7l-.7-2.7z"/>
+    <path fill="#ffce08" d="M253.5 235.1v3.4h-2.8v2h2.8v8h.7l.7-8h3.5v-2H255V235h-1.4z"/>
+    <path fill="#b51010" d="M264.8 235.1l.6.7-.6-.7z"/>
+    <path fill="#211800" d="M266 235.3l.4.3-.5-.3z"/>
+    <path fill="#b51010" d="M266.9 235.1l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M271.8 235.1l-2.1 2.7 2-2.7z"/>
+    <path fill="#002984" d="M273.2 235.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M278.8 235.1l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M281 235.1l.6.7-.7-.7z"/>
+    <path fill="#b51010" d="M281.6 235.1l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M297.1 235.1l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M297.8 235.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M298.5 235.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M300.6 235.1l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M301.3 235.1l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M302 235.1l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M304.9 235.1l.7.7-.8-.7z"/>
+    <path fill="#395231" d="M308.4 235.1l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M309.8 235.1l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M310.5 235.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M311.2 235.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M311.9 235.1l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M313.3 235.1l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M314 235.1l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M314.7 235.1l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M193.7 235.8l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M194.4 235.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M195.6 236l.5.2-.5-.2z"/>
+    <path fill="#9c9494" d="M196.5 235.8l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M198 235.8l.6.6-.7-.6z"/>
+    <path fill="#428c00" d="M198.6 235.8c-1.9 4-1.6 6.6 0 10.7h1.4l1.4-10h-.7l-.7 8h-1.4v-8.7z"/>
+    <path fill="#313931" d="M201.4 235.8l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M203.8 236.2l.2.5-.2-.5z"/>
+    <path fill="#6b735a" d="M206.4 235.8l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M227.5 235.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#100808" d="M228.2 235.8l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M228.9 235.8l2.8 2.7-2.8-2.7z"/>
+    <path fill="#001039" d="M229.6 235.8l.7.6-.7-.6z"/>
+    <path fill="#181000" d="M236 235.8l1.3 1.3-1.4-1.3z"/>
+    <path fill="#211800" d="M236.6 235.8l2.8 3.3-2.8-3.3z"/>
+    <path fill="#00216b" d="M237.3 235.8l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M241.5 235.8l.7.6-.7-.6z"/>
+    <path fill="#181000" d="M243 235.8l.6.6-.7-.6z"/>
+    <path fill="#311000" d="M264.8 235.8l.6.6-.6-.6z"/>
+    <path fill="#392100" d="M265.5 235.8l-.7 1.3.7-1.3z"/>
+    <path fill="#7b1008" d="M266.2 235.8l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M270.4 235.8l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M272.5 235.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M278.1 235.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M280.2 235.8l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M297.1 235.8l.7.6-.7-.6z"/>
+    <path fill="#319400" d="M297.8 235.8l.7.6-.7-.6z"/>
+    <path fill="#103910" d="M298.5 235.8l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M299.2 235.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M300.6 235.8l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M301.3 235.8l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M302 235.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M302.7 235.8l.7.6-.7-.6z"/>
+    <path fill="#315221" d="M304.9 235.8l.7.6-.8-.6z"/>
+    <path fill="#185200" d="M308.4 235.8l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M310.5 235.8l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M311.6 236l.5.2-.5-.2z"/>
+    <path fill="#ada5a5" d="M312.6 235.8l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M313.3 235.8l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M314 235.8l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M314.7 235.8l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M198 236.4l.6.7-.7-.7z"/>
+    <path fill="#103900" d="M201.4 236.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M206.4 236.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M227.5 236.4v18.8H221v.7l7-.7v3.3h.8c0-5.7 2.3-17.4-1.4-22z"/>
+    <path fill="#001010" d="M228.9 236.4l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M238 236.4l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M242.2 236.4l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M243 236.4l1.3 1.4-1.4-1.4z"/>
+    <path fill="#101829" d="M243.7 236.4l.7.7-.8-.7z"/>
+    <path fill="#631808" d="M264 236.4l.8.7-.8-.7z"/>
+    <path fill="#420000" d="M265.5 236.4l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M269.7 236.4l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M271.8 236.4l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M276.7 236.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M277.4 236.4l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M278.1 236.4l-2 2.7 2-2.6z"/>
+    <path fill="#181000" d="M278.8 236.4l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M279.5 236.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M280.2 236.4v18.8h.7l-.7-18.7z"/>
+    <path fill="#8c8c8c" d="M297.1 236.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M298.3 236.7l.5.2-.5-.2z"/>
+    <path fill="#52525a" d="M299.2 236.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M300.6 236.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M301.3 236.4l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M302 236.4l2.9 16.8h.7a21.2 21.2 0 00-3.6-16.8z"/>
+    <path fill="#63636b" d="M302.7 236.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M304.1 236.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M304.9 236.4l.7.7-.8-.7z"/>
+    <path fill="#297b00" d="M308.4 236.4l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M309.8 236.4l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M312.6 236.4l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M313.3 236.4l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M314 236.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M196.5 237.1l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M197.2 237.1l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M199.6 237.6l.2.4-.2-.4z"/>
+    <path fill="#294200" d="M201.4 237.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M203.3 237.3l.5.3-.5-.3z"/>
+    <path fill="#294200" d="M205.7 237.1l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M206.8 237.3l.5.3-.5-.3z"/>
+    <path fill="#294200" d="M207.8 237.1l.7.7-.7-.7z"/>
+    <path fill="#8c8442" d="M208.5 237.1l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M209.2 237.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M209.9 237.1l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M228.9 237.1c0 5-2.5 18.3.7 22.3 1.4 1.8 4.9 2 7 2.5 0-10.3 2-18.4-7.7-24.8z"/>
+    <path fill="#101829" d="M229.6 237.1l.7.7-.7-.7z"/>
+    <path fill="#100808" d="M231 237.1l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M231.7 237.1l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M236.6 237.1l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M243 237.1l.6.7-.7-.7z"/>
+    <path fill="#00184a" d="M244.3 237.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M263.4 237.1l.7.7-.8-.7z"/>
+    <path fill="#211800" d="M263.4 238.5l2-1.4-2 1.4z"/>
+    <path fill="#ce2110" d="M265.5 237.1l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M269 237.1l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M271 237.1l.8.7-.7-.7z"/>
+    <path fill="#5a1831" d="M276 237.1l.7.7-.7-.7z"/>
+    <path fill="#311000" d="M276.7 237.1l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M278.1 237.1l.7.7-.7-.7z"/>
+    <path fill="#003994" d="M271.8 261.9c2.3-.6 5.6-.8 7.3-2.5 3.6-3.6 1.1-17.4 1.1-22.3-11 4.9-8.4 15-8.4 24.8z"/>
+    <path fill="#dedede" d="M297.1 237.1l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.8 237.1l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M298.5 237.1l5.6 21.4h-.7c-1-3.7-5.5-18-11.2-12.7 7.5.3 10 13.1 11.2 18.8h.7l9.2-26.8h-.7l-7 17.4h-.8c-1.9-5.7-1.7-13.7-6.3-18z"/>
+    <path fill="#296300" d="M299.2 237.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M300 237.1l.6.7-.7-.7z"/>
+    <path fill="#dedede" d="M300.6 237.1l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M301.3 237.1l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M302.7 237.1l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M303.4 237.1l.8.7-.8-.7z"/>
+    <path fill="#8c8c8c" d="M304.1 237.1l-.7 1.4.8-1.4z"/>
+    <path fill="#297b00" d="M304.9 237.1l.7.7-.8-.7z"/>
+    <path fill="#395231" d="M307.7 237.1l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M309.8 237.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M311.9 237.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M313 237.3l.5.3-.4-.3z"/>
+    <path fill="#8c8c8c" d="M314 237.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M196.5 237.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M201.4 237.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M202.8 237.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M204.3 237.8l-2.9.7v.6l2.8-1.3z"/>
+    <path fill="#103900" d="M205 237.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M208.7 238.2l.2.5-.2-.5z"/>
+    <path fill="#428c00" d="M209.2 237.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M209.9 237.8l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M210.6 237.8l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M230.3 237.8l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M231.7 237.8l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M232.4 237.8l1.4 1.3-1.4-1.3m5 0l.6.7-.7-.7z"/>
+    <path fill="#181000" d="M238.7 237.8l2.1 2-2-2z"/>
+    <path fill="#002984" d="M239.4 237.8l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M244.1 238l.5.2-.5-.2z"/>
+    <path fill="#002984" d="M245 237.8l.8.7-.7-.7z"/>
+    <path fill="#dedede" d="M249.3 237.8l.7.7-.7-.7z"/>
+    <path fill="#ada584" d="M250 237.8l.7.7-.7-.7z"/>
+    <path fill="#9c7b08" d="M252.8 237.8l.7.7-.7-.7z"/>
+    <path fill="#cea508" d="M254.9 237.8l.7.7-.7-.7z"/>
+    <path fill="#9c9463" d="M255.6 237.8l.7.7-.7-.7z"/>
+    <path fill="#bdb584" d="M256.3 237.8v.7h2.1l-2-.7z"/>
+    <path fill="#bdbdbd" d="M258.4 237.8l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M262.6 237.8l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M264.8 237.8l.6.7-.6-.7z"/>
+    <path fill="#bd2110" d="M268.3 237.8l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M269 237.8l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M269.7 237.8l-1.4 2 1.4-2z"/>
+    <path fill="#00184a" d="M270.4 237.8l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M275.3 237.8l.7.7-.7-.7z"/>
+    <path fill="#100808" d="M276 237.8l.7.7-.7-.7z"/>
+    <path fill="#101829" d="M277.4 237.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M294.3 237.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M295 237.8l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M297.8 237.8l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M300 237.8l.6.7-.7-.7z"/>
+    <path fill="#efefef" d="M300.6 237.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M301.3 237.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M302.7 237.8l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M304.1 237.8l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M307 237.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M307.7 237.8l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M309.8 237.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M311.2 237.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M311.9 237.8l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M314 237.8l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M196.5 238.5l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M199.3 238.5v2h.7l-.7-2m5 0l.6.6-.7-.6m3.3.2l.5.2-.5-.2z"/>
+    <path fill="#214210" d="M209.2 238.5l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M209.9 238.5l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M231 238.5l.7.6-.7-.6z"/>
+    <path fill="#211800" d="M231.7 238.5v.6l2.1.7-2.1-1.3z"/>
+    <path fill="#00216b" d="M238 238.5l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M240.1 238.5l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M243.7 238.5l.7.6-.8-.6z"/>
+    <path fill="#392100" d="M244.3 238.5l2.2 2-2.1-2z"/>
+    <path fill="#101810" d="M245 238.5l.8.6-.7-.6z"/>
+    <path fill="#bd9408" d="M250 238.5v2h.7l-.7-2z"/>
+    <path fill="#310000" d="M262.6 238.5l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M263.4 238.5l-.7 1.3.7-1.3z"/>
+    <path fill="#631808" d="M264 238.5l.8.6-.8-.6z"/>
+    <path fill="#ce2110" d="M267.6 238.5l-.7 1.3.7-1.3z"/>
+    <path fill="#311000" d="M268.3 238.5l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M269.7 238.5l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M274.6 238.5l-.7 1.3.7-1.3z"/>
+    <path fill="#181000" d="M275.3 238.5l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M276.7 238.5l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M295 238.5l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M295.7 238.5l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M297.8 238.5l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M300 238.5l.6.6-.7-.6z"/>
+    <path fill="#7b7373" d="M300.6 238.5l.7.6-.7-.6z"/>
+    <path fill="#315221" d="M301.3 238.5l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M303.4 238.5l.8.6-.8-.6z"/>
+    <path fill="#103900" d="M304.1 238.5l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M307 238.5v4h.7l-.7-4z"/>
+    <path fill="#297b00" d="M307.7 238.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M309.8 238.5l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M311.2 238.5l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M311.9 238.5l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M313.3 238.5l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M196.5 239.1l.7.7-.7-.7m5.6 0l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M206.4 239.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M207 239.1l.8.7-.7-.7z"/>
+    <path fill="#294200" d="M208.5 239.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M209.2 239.1l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M231.7 239.1l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M233.8 239.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#00184a" d="M238.7 239.1l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M239.4 239.1l5.7 5.4-5.7-5.4z"/>
+    <path fill="#001039" d="M244.3 239.1l.7.7-.7-.7m1.4 0l.8.7-.7-.7z"/>
+    <path fill="#631808" d="M262 239.1l.6.7-.7-.7z"/>
+    <path fill="#311000" d="M263.4 239.1l.7.7-.8-.7m4.3 0l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M269 239.1l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M273.9 240.5l2.1-.7-2.1.7z"/>
+    <path fill="#00215a" d="M276 239.1l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M295 239.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M295.7 239.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M297.8 239.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M298.5 239.1l.7.7-.7-.7z"/>
+    <path fill="#295210" d="M300.6 239.1l.7.7-.7-.7z"/>
+    <path fill="#395231" d="M301.3 239.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M303.4 239.1l.8.7-.8-.7z"/>
+    <path fill="#185200" d="M304.1 239.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M309 239.1l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M309.8 239.1l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M310.5 239.1l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M311.2 239.1l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M312.6 239.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M313.3 239.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M195.8 239.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M196.5 239.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M202.1 239.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M202.8 239.8l-.7 2h.8v-2m2.8 0l-.7 1.3.7-1.3z"/>
+    <path fill="#397b00" d="M207.8 239.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M208.5 239.8l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M232.4 239.8l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M233.8 239.8l2.8 2.7-2.8-2.7z"/>
+    <path fill="#001039" d="M239.4 239.8l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M240.8 239.8l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M245 239.8l.8.7-.7-.7z"/>
+    <path fill="#00216b" d="M246.5 239.8l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M261.2 239.8l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M261.2 241.1l2.2-.6-2.2.6z"/>
+    <path fill="#bd2110" d="M263.4 239.8l.7.7-.8-.7z"/>
+    <path fill="#310000" d="M266.9 239.8l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M267.6 239.8l.7.7-.7-.7z"/>
+    <path fill="#101829" d="M268.3 239.8l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M273.2 239.8l-.7 1.3.7-1.3z"/>
+    <path fill="#181000" d="M274.6 239.8l-.7 1.3.7-1.3z"/>
+    <path fill="#00216b" d="M275.3 239.8l.7.7-.7-.7z"/>
+    <path fill="#426331" d="M295 239.8l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M295.7 239.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M296.4 239.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M298.5 239.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M300.6 239.8l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M301.3 239.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M304.1 239.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M309 239.8l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M309.8 239.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M310.5 239.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M311.2 239.8l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M312.6 239.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M196 241l.3.4-.3-.5z"/>
+    <path fill="#295200" d="M199.3 240.5l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M201.7 241l.2.4-.2-.5m1.1-.4l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M207.8 240.5l.7.6-.7-.6z"/>
+    <path fill="#001000" d="M211.3 240.5l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M212 240.5l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M217.6 240.5l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M218.3 240.5l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M219 240.5l.7.6-.7-.6z"/>
+    <path fill="#001010" d="M233.8 240.5l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M240.1 240.5l.7.6-.7-.6z"/>
+    <path fill="#001010" d="M241.5 240.5l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M245 240.5l.8.6-.7-.6z"/>
+    <path fill="#211800" d="M246.2 240.7l.5.2-.5-.2z"/>
+    <path fill="#dedede" d="M249.3 240.5l.7.6-.7-.6z"/>
+    <path fill="#ada584" d="M250 240.5l.7.6-.7-.6z"/>
+    <path fill="#9c7b08" d="M252.8 240.5l.7.6-.7-.6z"/>
+    <path fill="#cea508" d="M254.9 240.5l.7.6-.7-.6z"/>
+    <path fill="#9c9463" d="M255.6 240.5l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M258.4 240.5l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M260.5 240.5l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M262 240.5l-1.5 2 1.4-2z"/>
+    <path fill="#941808" d="M262.6 240.5l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M266.2 240.5l-1.4 2 1.4-2z"/>
+    <path fill="#392100" d="M266.9 240.5l-1.4 2 1.4-2z"/>
+    <path fill="#001010" d="M267.6 240.5l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M273.2 240.5L271 243l2-2.6z"/>
+    <path fill="#002984" d="M274.6 240.5l.7.6-.7-.6z"/>
+    <path fill="#4a6342" d="M295 240.5l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M295.7 240.5l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M296.4 240.5l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M298.5 240.5l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M301.3 240.5l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M304.1 240.5l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M304.9 240.5l-.7 1.3.7-1.3z"/>
+    <path fill="#185200" d="M309 240.5l.8.6-.7-.6z"/>
+    <path fill="#dedede" d="M309.8 240.5l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M310.5 240.5l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M311.9 240.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M312.6 240.5l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M314.7 240.5l.7.6-.7-.6z"/>
+    <path fill="#294221" d="M315.4 240.5l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M316.1 240.5l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M316.8 240.5l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M198.6 241.1v3.4h1.4V241h-1.4z"/>
+    <path fill="#103900" d="M204.3 241.1l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M207 241.1l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M207.8 241.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M210.6 241.1l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M211.3 241.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#425242" d="M212 241.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M216.2 241.1l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M217 241.1l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M217.6 241.1l.7.7-.7-.7z"/>
+    <path fill="#396b10" d="M218.3 241.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M219 241.1l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M234.5 241.1l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M236 241.1l1.3 1.4-1.4-1.4z"/>
+    <path fill="#002984" d="M236.6 241.1l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M240.8 241.1l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M242.2 241.1l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M245.8 241.1l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M246.5 241.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#001010" d="M247.2 241.1l.7.7-.7-.7z"/>
+    <path fill="#7b5a00" d="M252.8 241.1v7.4h.7l-.7-7.4z"/>
+    <path fill="#420000" d="M260.5 241.1l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M262 241.1l.6.7-.7-.7z"/>
+    <path fill="#313931" d="M266.9 241.1l.7.7-.7-.7z"/>
+    <path fill="#314a7b" d="M267.6 241.1l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M271.8 241.1l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M295 241.1l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M295.7 241.1l3.5 6h.7l-4.2-6z"/>
+    <path fill="#296300" d="M296.4 241.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M297.1 241.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M298.5 241.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M299.2 241.1l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M301.3 241.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#297b00" d="M302 241.1l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M304.9 241.1l.7.7-.8-.7z"/>
+    <path fill="#214210" d="M309 241.1l.8.7-.7-.7z"/>
+    <path fill="#63636b" d="M309.8 241.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M310.5 241.1l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M311.9 241.1l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M312.6 241.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M314 241.1l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M314.7 241.1l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M311.2 245.8l7-2-1.4-2.7-5.6 4.7z"/>
+    <path fill="#214210" d="M316.8 241.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M317.5 241.1l.7.7-.7-.7m-121.7.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M196.5 241.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M201.7 242.3l.2.4-.2-.5m1.8-.4l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M204.3 241.8l.6.7-.7-.7z"/>
+    <path fill="#425242" d="M207 241.8l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M210.6 241.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M211.3 241.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M212.7 241.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M215.5 241.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M216.2 241.8l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M214.1 251.8h-.7v-7.3h-.7l-.7 3.3h-.7v-3.3h-.7l-4.2 15.4h.7l1.4-2.7h.7l-1.4 3.4h.7l3.5-4.7-2.8 6h.7l7-10 1.4-10c-4.6 2-4.2 5.6-4.2 10z"/>
+    <path fill="#63636b" d="M218.3 241.8l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M235.2 241.8l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M237.3 241.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#efefef" d="M240.8 241.8l2.1 2-2-2z"/>
+    <path fill="#313931" d="M241.5 241.8l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M243 241.8l.6.7-.7-.7z"/>
+    <path fill="#101829" d="M246.5 241.8l.7.7-.7-.7z"/>
+    <path d="M247.9 241.8l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M259.8 241.8l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M262 241.8l.6.7-.7-.7z"/>
+    <path fill="#292921" d="M266.2 241.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M266.9 241.8l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M270.4 241.8l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M271 241.8l.8.7-.7-.7z"/>
+    <path fill="#001039" d="M272.5 241.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M295.2 242.3l.3.4-.3-.5z"/>
+    <path fill="#297b00" d="M295.7 241.8l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M297.1 241.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M297.8 241.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M298.5 241.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M299.2 241.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M301.3 241.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M304.9 241.8l.7.7-.8-.7z"/>
+    <path fill="#294221" d="M309 241.8l.8.7-.7-.7z"/>
+    <path fill="#184a00" d="M309.8 241.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M311.9 241.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M313.3 241.8l-1.4 2 1.4-2z"/>
+    <path fill="#297b00" d="M314 241.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M317.5 241.8l.7.7-.7-.7z"/>
+    <path fill="#396b10" d="M196.5 242.5l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M202.8 242.5l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M203.6 242.5l.7.6-.8-.6z"/>
+    <path fill="#314231" d="M206.4 242.5l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M207 242.5l-.6 1.3.7-1.3z"/>
+    <path fill="#7b7373" d="M210.6 242.5l.7.6-.7-.6z"/>
+    <path fill="#428c00" d="M211.8 242.7l.4.2-.4-.2z"/>
+    <path fill="#7b7373" d="M212.7 242.5l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M214.8 242.5l-.7 1.3.7-1.3z"/>
+    <path fill="#397b00" d="M215.5 242.5l.7.6-.7-.6m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M218.3 242.5l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M236 242.5l.6.6-.7-.6z"/>
+    <path fill="#211800" d="M237 242.7l.6.2-.5-.2z"/>
+    <path fill="#313931" d="M242.2 242.5l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M243.7 242.5l.7.6-.8-.6z"/>
+    <path fill="#181000" d="M247.2 242.5l.7.6-.7-.6z"/>
+    <path fill="#211800" d="M248.1 243l.2.4-.2-.5z"/>
+    <path fill="#bdbdbd" d="M248.6 242.5l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M259.1 242.5l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M261.2 242.5l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M264 242.5l-1.3 2 1.4-2z"/>
+    <path fill="#211800" d="M264.8 242.5l-3.6 4 3.6-4z"/>
+    <path fill="#212118" d="M265.5 242.5l-.7 1.3.7-1.3z"/>
+    <path fill="#cecece" d="M266.2 242.5l-1.4 2 1.4-2z"/>
+    <path fill="#00216b" d="M269.7 242.5l-.7 1.3.7-1.3z"/>
+    <path fill="#181000" d="M270.4 242.5l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M271.8 242.5l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M293.6 242.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M294.3 242.5l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M295.7 242.5l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M297.1 242.5l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M297.8 242.5l.7.6-.7-.6z"/>
+    <path fill="#395231" d="M299.2 242.5l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M302 242.5v2h.7l-.7-2z"/>
+    <path fill="#296300" d="M305.3 242.7l.5.2-.5-.2m1.7-.2l.7.6-.7-.6z"/>
+    <path fill="#001000" d="M309 242.5l.8.6-.7-.6z"/>
+    <path fill="#297b00" d="M309.8 242.5l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M311.9 242.5l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M313.3 242.5l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M317.5 242.5l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M318.2 242.5l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M196.5 243.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M200.7 243.1v.7h2.1l-2-.7z"/>
+    <path fill="#294200" d="M202.8 243.1l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M205 243.1l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M205.7 243.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M209.9 243.1l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M210.6 243.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M210.6 243.8v.7l2 .6v-2l-2 .7z"/>
+    <path fill="#5a5231" d="M212.7 243.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M214.8 243.1l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M217.4 243.4l.4.2-.4-.2z"/>
+    <path fill="#dedede" d="M218.3 243.1l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M236.6 243.1l.7.7-.7-.7z"/>
+    <path fill="#212118" d="M237.3 243.1l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M238 243.1l2.8 2.7-2.8-2.7z"/>
+    <path fill="#001039" d="M238.7 243.1l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M243 243.1l.6.7-.7-.7z"/>
+    <path fill="#001039" d="M244.3 243.1l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M247.2 243.1l.7.7-.7-.7z"/>
+    <path fill="#211810" d="M248.6 243.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M249.3 243.1l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M259.1 243.1l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M259.8 243.1l-.7 1.4.7-1.4z"/>
+    <path fill="#631808" d="M260.5 243.1l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M270.1 243.4l.5.2-.5-.2z"/>
+    <path fill="#313931" d="M271 243.1l.8.7-.7-.7z"/>
+    <path fill="#63636b" d="M292.9 243.1l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M293.6 243.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M294.3 243.1l.7.7-.7-.7z"/>
+    <path fill="#295210" d="M295 243.1l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M295.7 243.1l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M297.8 243.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M298.5 243.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#8c8c8c" d="M299.2 243.1l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M305.6 243.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M308.4 243.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#184a00" d="M309 243.1l.8.7-.7-.7z"/>
+    <path fill="#214210" d="M311.2 243.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M312.6 243.1l.7.7-.7-.7m1.4 0l-4.2 2.7v.7l1.4.7 2.8-4z"/>
+    <path fill="#214210" d="M314.7 243.1l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M315.4 243.1l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M316.1 243.1l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M316.8 243.1l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M318.2 243.1l-.7 1.4.7-1.4z"/>
+    <path fill="#bdbdbd" d="M196.5 243.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M197.2 243.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M200.7 243.8l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M203.6 243.8l-.7 1.3.7-1.3z"/>
+    <path fill="#5a5231" d="M204.3 243.8l.6.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M205 243.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M209.9 243.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M212.7 243.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#52525a" d="M213.4 243.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M214.1 243.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M216.4 244.3l.3.4-.3-.4m1.2-.5v4.7h.7l-.7-4.7z"/>
+    <path fill="#8c8c8c" fill-opacity=".5" d="M236.6 243.8v18h.7l-.7-18z"/>
+    <path fill="#cecece" d="M237.3 243.8l.7.7-.7-.7z"/>
+    <path fill="#211810" d="M238 243.8l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M239.4 243.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M243 243.8l2 2-2-2z"/>
+    <path fill="#212118" d="M243.7 243.8l.7.7-.8-.7z"/>
+    <path fill="#00215a" d="M245 243.8l.8.7-.7-.7z"/>
+    <path fill="#001039" d="M247.9 243.8l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M248.6 243.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#424242" d="M249.3 243.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M258.4 243.8l.7.7-.7-.7z"/>
+    <path fill="#310000" d="M259.8 243.8l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M268.3 243.8l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M269 243.8l-2.1 2.7 2-2.7z"/>
+    <path fill="#212118" d="M269.7 243.8l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M270.4 243.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M271 243.8v18h.8l-.7-18m21 0l.8.7-.7-.7z"/>
+    <path fill="#296300" d="M292.9 243.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M295.7 243.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M296.4 243.8l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M298.5 243.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M300 243.8l.6.7-.7-.7z"/>
+    <path fill="#184a00" d="M305.6 243.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M306.3 243.8l-.7 1.3.7-1.3z"/>
+    <path fill="#185200" d="M308.4 243.8l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M314 243.8l-1.4 2 1.4-2z"/>
+    <path fill="#efefef" d="M314.7 243.8l-2.1 2.7 2.1-2.7z"/>
+    <path fill="#bdbdbd" d="M316.8 243.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M318.2 243.8l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M319 243.8l.6.7-.7-.7z"/>
+    <path fill="#63636b" d="M197.2 244.5l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M200.7 244.5l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M201.4 244.5l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M203.6 244.5l-.7 1.3.7-1.3z"/>
+    <path fill="#7b7373" d="M204.3 244.5l.6.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M205 244.5l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M205.7 244.5l.7.6-.7-.6m3.5 0l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M209.9 244.5l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M238 244.5l1.4 1.3-1.4-1.3z"/>
+    <path fill="#313931" d="M238.7 244.5l.7.6-.7-.6z"/>
+    <path d="M240.1 244.5l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M240.8 244.5l.7.6-.7-.6z"/>
+    <path fill="#212118" d="M244.3 244.5l1.4 1.3-1.3-1.3z"/>
+    <path fill="#211800" d="M245 244.5l2.9 3.3-2.8-3.3z"/>
+    <path fill="#00216b" d="M245.8 244.5l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M247.9 244.5v2h.7l-.7-2z"/>
+    <path fill="#313931" d="M248.6 244.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M250 244.5l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M257.7 244.5l.7.6-.7-.6z"/>
+    <path fill="#211800" d="M258.7 245l.2.4-.2-.5z"/>
+    <path fill="#211810" d="M259.1 244.5l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M262 244.5l.6.6-.7-.6z"/>
+    <path fill="#9c9494" d="M264 244.5l-1.3 2 1.4-2z"/>
+    <path fill="#efefef" d="M266.9 244.5l-.7 1.3.7-1.3z"/>
+    <path fill="#292921" d="M267.6 244.5l.7.6-.7-.6z"/>
+    <path fill="#211810" d="M269 244.5l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M269.7 244.5l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M291.5 244.5l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M292.2 244.5l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M296.4 244.5l2.1 2-2-2z"/>
+    <path fill="#297b00" d="M297.1 244.5l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#314231" d="M299.2 244.5l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M300 244.5l.6.6-.7-.6m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M302.7 244.5l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M306.3 244.5l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M308.4 244.5l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M310.5 244.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M318.2 244.5l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M319 244.5l.6.6-.7-.6z"/>
+    <path fill="#dedede" d="M197.2 245.2l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M198 245.2l.6.6-.7-.7z"/>
+    <path fill="#397b00" d="M200.5 245.4l.5.2-.5-.2z"/>
+    <path fill="#295200" d="M202.1 245.2l.7.6-.7-.7z"/>
+    <path fill="#6b735a" d="M204.3 245.2l.6.6-.7-.7z"/>
+    <path fill="#295200" d="M205 245.2l.7.6-.7-.7z"/>
+    <path fill="#396b10" d="M205.7 245.2l.7.6-.7-.7z"/>
+    <path fill="#7b7373" d="M206.4 245.2l.7.6-.7-.7z"/>
+    <path fill="#efefef" d="M207 245.2l.8.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M209.2 245.2l.7.6-.7-.7z"/>
+    <path fill="#295200" d="M211.3 245.2l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M213.4 245.2v6h.7l-.7-6z"/>
+    <path fill="#397b00" d="M216 245.4l.4.2-.4-.2z"/>
+    <path fill="#52525a" d="M239.4 245.2l.7.6-.7-.7z"/>
+    <path fill="#211810" d="M240.8 245.2l.7.6-.7-.7z"/>
+    <path fill="#cecece" d="M241.5 245.2l.7.6-.7-.7z"/>
+    <path fill="#00216b" d="M246.5 245.2l.7.6-.7-.7z"/>
+    <path fill="#cecece" d="M248.6 245.2l.7.6-.7-.7z"/>
+    <path fill="#392121" d="M249.3 245.2l.7.6-.7-.7z"/>
+    <path fill="#211800" d="M250 245.2l.7.6-.7-.7z"/>
+    <path fill="#cecece" d="M250.7 245.2l.7.6-.7-.7z"/>
+    <path fill="#efefef" d="M257 245.2l.7.6-.7-.7z"/>
+    <path fill="#211810" d="M257.7 245.2l.7.6-.7-.7z"/>
+    <path fill="#ada5a5" d="M259.1 245.2l.7.6-.7-.7z"/>
+    <path fill="#b51010" d="M261.2 245.2l.7.6-.7-.7z"/>
+    <path fill="#313931" d="M266.9 245.2l.7.6-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M269 245.2l-.7 1.3.7-1.3z"/>
+    <path fill="#294221" d="M291.5 245.2l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M292.9 245.2l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M293.6 245.2l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M294.3 245.2l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M297.8 245.2l.7.6-.7-.7z"/>
+    <path fill="#296300" d="M299.2 245.2l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M300 245.2l.6.6-.7-.7z"/>
+    <path fill="#296300" d="M302.5 245.4l.5.2-.5-.2z"/>
+    <path fill="#184a00" d="M306.3 245.2l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M307.7 245.2l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M308.4 245.2l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M310.5 245.2l.7.6-.7-.7z"/>
+    <path fill="#9c9494" d="M315 245.6l.2.5-.3-.5z"/>
+    <path fill="#63636b" d="M198 245.8l.6.7-.7-.7z"/>
+    <path fill="#294200" d="M200.3 246.3l.2.4-.2-.4z"/>
+    <path fill="#8c8c8c" d="M202.1 245.8l.7.7-.7-.7m2.4.5l.2.4-.2-.4z"/>
+    <path fill="#397b00" d="M205.4 246l.5.3-.5-.3z"/>
+    <path fill="#428c00" d="M206.4 245.8l.7 6h.7l-1.4-6z"/>
+    <path fill="#315221" d="M207 245.8l.8.7-.7-.7z"/>
+    <path fill="#cecece" d="M207.8 245.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M208.5 245.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M240.1 245.8l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M240.8 245.8l2.1 1.4v-.7l-2-.7z"/>
+    <path fill="#212118" d="M241.5 245.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M245 245.8l.8.7-.7-.7z"/>
+    <path fill="#002984" d="M247.2 245.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M249.3 245.8l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M250 245.8l2 2-2-2z"/>
+    <path fill="#313931" d="M250.7 245.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M251.4 245.8l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M257 245.8l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M257.7 245.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M258.4 245.8l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M260.5 245.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M265.5 245.8l.7.7-.7-.7z"/>
+    <path fill="#211810" d="M266.2 245.8l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M267.6 245.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M290.8 245.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M291.5 245.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M292.2 245.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M292.9 245.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M293.6 245.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M294.3 245.8l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M295 245.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M297.1 245.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M300 245.8l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M302 245.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M302.7 245.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M306.3 245.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M307.7 245.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M310.5 245.8l.7.7-.7-.7z"/>
+    <path fill="#293129" d="M311.9 245.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M313.3 245.8l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M314 245.8l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M195.1 246.5l1.4 1.3-1.4-1.3z"/>
+    <path fill="#dedede" d="M195.8 246.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M198 246.5l.6.7-.7-.7z"/>
+    <path fill="#292100" d="M198.6 246.5l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M199.3 246.5l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M201.4 246.5l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M205 246.5c-.2 3.6-1 6.7 2.8 8.7l-2.8-8.7z"/>
+    <path fill="#294200" d="M205.9 247l.2.4-.2-.5z"/>
+    <path fill="#214210" d="M207.8 246.5l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M208.5 246.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M240.8 246.5l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M245.8 246.5l.7.7-.7-.7z"/>
+    <path fill="#181000" d="M247.2 246.5l1.4 1.3-1.4-1.3z"/>
+    <path fill="#001039" d="M247.9 246.5l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M250 246.5l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M251.4 246.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M256.3 246.5l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M257 246.5l.7.7-.7-.7z"/>
+    <path d="M257.7 246.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M258.4 246.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M259.1 246.5l-.7 2 .7-2z"/>
+    <path fill="#5a1008" d="M259.8 246.5l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M260.5 246.5l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M261.2 246.5l-.7 1.3.7-1.3z"/>
+    <path fill="#63636b" d="M262 246.5l.6.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M264.8 246.5l.6.7-.6-.7z"/>
+    <path fill="#212118" d="M265.5 246.5l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M266.2 246.5l-1.4 2 1.4-2z"/>
+    <path fill="#63636b" d="M266.9 246.5l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M290 246.5l.8.7-.7-.7z"/>
+    <path fill="#214210" d="M291.3 246.7l.4.2-.4-.2z"/>
+    <path fill="#9c9494" d="M292.2 246.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M295 246.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M295.7 246.5l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M298.5 246.5l.7.7-.7-.7m1.4 0l1.4 1.3-1.4-1.3z"/>
+    <path fill="#297b00" d="M300.6 246.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M302.7 246.5l.7.7-.7-.7m3.6 0l1.4 1.3-1.4-1.3z"/>
+    <path fill="#103900" d="M307.7 246.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M309.8 246.5l1.4 1.3-1.4-1.3z"/>
+    <path fill="#214210" d="M311.2 246.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M311.9 246.5l-.7 1.3.7-1.3z"/>
+    <path fill="#9c9494" d="M312.6 246.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M313.3 246.5l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M314 246.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M317.5 246.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M318.2 246.5l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M195.1 247.2l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M196.5 247.2l.7.6-.7-.6z"/>
+    <path fill="#5a1010" d="M198 247.2l.6.6-.7-.6z"/>
+    <path fill="#ce2110" d="M198.6 247.2l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M199.3 247.2l.7.6-.7-.6z"/>
+    <path fill="#311000" d="M200 247.2l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M200.7 247.2l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M201.4 247.2l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M204.3 247.2l.6.6-.7-.6z"/>
+    <path fill="#295200" d="M208.5 247.2l-.7 1.3.7-1.3m2.8 0l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M241.5 247.2l.7.6-.7-.6z"/>
+    <path fill="#212118" d="M242.2 247.2l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M243 247.2l2.7 2.6-2.8-2.6z"/>
+    <path fill="#63636b" d="M243.7 247.2l.7.6-.8-.6z"/>
+    <path fill="#bdbdbd" d="M246 247.6l.2.5-.2-.5z"/>
+    <path fill="#520808" d="M246.5 247.2l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M248.6 247.2l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M250 247.2l.7.6-.7-.6z"/>
+    <path fill="#392121" d="M250.7 247.2l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M252 247.2l.8.6-.7-.6z"/>
+    <path fill="#9c7b08" d="M254.9 247.2l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M255.6 247.2l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M256.3 247.2l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M257 247.2l.7.6-.7-.6z"/>
+    <path d="M259.8 247.2l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M262.2 247.6l.2.5-.2-.5z"/>
+    <path fill="#9c9494" d="M264 247.2l.8.6-.8-.6m2.2 0l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M290 247.2l.8.6-.7-.6z"/>
+    <path fill="#425242" d="M290.8 247.2l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M291.5 247.2l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M295.7 247.2l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M296.4 247.2l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M298.5 247.2l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M298.5 248.5l2.1-.7-2 .7z"/>
+    <path fill="#103900" d="M302.7 247.2l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M306.3 247.2v2h.7l-.7-2m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M309.8 247.2l-.7 2 .7-2z"/>
+    <path fill="#8c8c8c" d="M311.9 247.2l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M312.6 247.2l-.7 1.3.7-1.3z"/>
+    <path fill="#296300" d="M313.3 247.2l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M314 247.2l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M316.1 247.2l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M316.8 247.2l.7.6-.7-.6z"/>
+    <path fill="#313931" d="M317.5 247.2l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M318.2 247.2l-1.4 2 1.4-2z"/>
+    <path fill="#295200" d="M195.1 247.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M195.8 247.8l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M196.5 247.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M197.2 247.8l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M198 247.8l.6.7-.7-.7z"/>
+    <path fill="#941808" d="M200 247.8l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M200.7 247.8l.7.7-.7-.7z"/>
+    <path fill="#526b42" d="M204.3 247.8l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M206.1 248l.5.3-.5-.3m2.4-.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M210.6 247.8l.7.7-.7-.7z"/>
+    <path fill="#524242" d="M242.2 247.8l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M243 247.8l.6.7-.7-.7z"/>
+    <path fill="#424242" d="M244.3 247.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M245 247.8l.8.7-.7-.7z"/>
+    <path fill="#ad1810" d="M246.7 248.3l.2.4-.2-.4z"/>
+    <path fill="#5a1008" d="M247.2 247.8l1.4 1.4-1.4-1.4z"/>
+    <path fill="#392100" d="M247.9 247.8l1.4 1.4-1.4-1.4z"/>
+    <path fill="#211810" d="M248.6 247.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M249.3 247.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250.7 247.8l-.7 1.4.7-1.4z"/>
+    <path fill="#211800" d="M251.4 247.8l.7.7-.7-.7z"/>
+    <path fill="#212118" d="M252 247.8l.8.7-.7-.7z"/>
+    <path fill="#6b5a10" d="M254.2 247.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M254.9 247.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M256.3 247.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M257 247.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M257.7 247.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M259.1 247.8l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M259.8 247.8l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M261.5 248.3l.2.4-.2-.4z"/>
+    <path fill="#63636b" d="M263.4 247.8l.7.7-.8-.7z"/>
+    <path fill="#392100" d="M264 247.8l-2 2.7 2-2.7z"/>
+    <path fill="#524242" d="M265.5 247.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M290 247.8l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M293.6 247.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M294.3 247.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M295.7 247.8l-.7 1.4.7-1.4z"/>
+    <path fill="#214210" d="M296.4 247.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M299.2 247.8l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M300 247.8l.6.7-.7-.7z"/>
+    <path fill="#103900" d="M300.6 247.8l-.7 2 .7-2z"/>
+    <path fill="#184a00" d="M302.7 247.8l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M307 247.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M309 247.8l.8.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M310.7 248.3l.2.4-.2-.4z"/>
+    <path fill="#63636b" d="M311.2 247.8l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M312.6 247.8l-5 7.4 5-7.4z"/>
+    <path fill="#294221" d="M313.3 247.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M314.7 247.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M315.4 247.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M316.1 247.8l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M316.8 247.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M195.1 248.5v1.3l1.4-1.3h-1.4z"/>
+    <path fill="#428c00" d="M196.5 248.5l1.4 2.7-2-1.4c.6 2.7 1.3 4.4 4.1 5.4v.7l-2.8-.7 1.4 2-2-.7 6.2 6 .7-2.6 2.2 1.3-4.3-4v-.7l2.1.7a12.3 12.3 0 00-7-8.7z"/>
+    <path fill="#294200" d="M197.2 248.5l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M198 248.5l.6.7-.7-.7z"/>
+    <path fill="#ce2110" d="M198.6 248.5l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M200 248.5l1.4 1.3-1.4-1.3z"/>
+    <path fill="#7b7373" d="M200.7 248.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M201.4 248.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M204.3 248.5l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M206.4 248.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M207.8 248.5v6h.7l-.7-6m3 .5l.3.4-.3-.5z"/>
+    <path fill="#295200" d="M215.5 248.5l.7.7-.7-.7z"/>
+    <path fill="#527b31" d="M217.6 248.5l.7.7-.7-.7z"/>
+    <path fill="#734a42" fill-opacity=".6" d="M242.2 248.5v14.7h.7l-.7-14.7z"/>
+    <path fill="#ce2110" d="M243 248.5l1.3 1.3-1.4-1.3z"/>
+    <path fill="#311000" d="M243.7 248.5l.7.7-.8-.7z"/>
+    <path fill="#313931" d="M245 248.5l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M245.8 248.5l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M247.2 248.5v1.3h1.4l-1.4-1.3z"/>
+    <path fill="#313931" d="M249.3 248.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M250.7 248.5l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M251.4 248.5l.7.7-.7-.7z"/>
+    <path fill="#392121" d="M252 248.5l.8.7-.7-.7z"/>
+    <path fill="#423100" d="M252.8 248.5l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M253.5 248.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M254.2 248.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M254.9 248.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M255.6 248.5l-.7 1.3.7-1.3z"/>
+    <path fill="#9c9494" d="M256.3 248.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M259.8 248.5l-2.8 1.3v.7l3.5-1.3-.7-.7z"/>
+    <path fill="#ada5a5" d="M262 248.5l.6.7-.7-.7z"/>
+    <path fill="#424242" d="M262.6 248.5l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M264 248.5l.8.7-.8-.7z"/>
+    <path fill="#b51010" d="M264.8 248.5l.6.7-.6-.7z"/>
+    <path fill="#734a42" d="M265.5 248.5l-.7 15.4h.7a26.7 26.7 0 000-15.4z"/>
+    <path d="M294.3 248.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M296.4 248.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M297.1 248.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M299.2 248.5l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M300 248.5l.6.7-.7-.7z"/>
+    <path fill="#296300" d="M303.2 248.7l.5.2-.5-.2z"/>
+    <path fill="#103900" d="M307 248.5l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M309.8 248.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M311.2 248.5l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M313.3 248.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M314 248.5l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M314.7 248.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M315.4 248.5l-1.4.7v.6l1.4-1.3z"/>
+    <path fill="#52525a" d="M316.1 248.5l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M195.8 249.2l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M196.5 249.2l.7.6-.7-.6z"/>
+    <path fill="#293100" d="M198.6 249.2l.7.6-.7-.6z"/>
+    <path fill="#311000" d="M199.3 249.2l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M200 249.2l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M201.4 249.2l.7.6-.7-.6z"/>
+    <path fill="#5a2121" d="M202.1 249.2l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M202.8 249.2l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M203.6 249.2l.7.6-.8-.6z"/>
+    <path fill="#295200" d="M204.3 249.2l.6.6-.7-.6z"/>
+    <path fill="#397b00" d="M215.3 249.4l.4.2-.4-.2z"/>
+    <path fill="#526b42" d="M217.6 249.2l.7.6-.7-.6z"/>
+    <path fill="#de2110" d="M243 249.2v14l7.7 1.4c-1.7-5-2.7-12.8-7.8-15.4z"/>
+    <path fill="#5a1008" d="M244.3 249.2l.7.6-.7-.6z"/>
+    <path fill="#100808" d="M245.8 249.2l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M246.5 249.2l.7.6-.7-.6z"/>
+    <path fill="#310000" d="M248.6 249.2l.7.6-.7-.6z"/>
+    <path fill="#524242" d="M249.3 249.2l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M250.2 249.6l.2.5-.2-.5z"/>
+    <path fill="#efefef" d="M252.8 249.2l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M253.7 249.6l.3.5-.3-.5z"/>
+    <path fill="#bdbdbd" d="M254.2 249.2l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M257 249.2l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M259.8 249.2l.7.6-.7-.6z"/>
+    <path fill="#100808" d="M260.5 249.2l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M261.2 249.2l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M262 249.2l.6.6-.7-.6z"/>
+    <path fill="#311000" d="M263.4 249.2l.7.6-.8-.6z"/>
+    <path fill="#ce2110" d="M264 249.2l-.6 1.3.7-1.3z"/>
+    <path fill="#de2110" d="M264.8 249.2l-2.9 2 2.9 8.7-5 1.3.7 2.7 5-.7-.8-14z"/>
+    <path fill="#214210" d="M294.3 249.2l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M295 249.2l.7.6-.7-.6z"/>
+    <path fill="#395231" d="M297.1 249.2l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M300.6 249.2l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M301.3 249.2l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M303.4 249.2v2h.8l-.8-2z"/>
+    <path fill="#185200" d="M306.3 249.2l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M307 249.2l.7.6-.7-.6z"/>
+    <path fill="#292921" d="M309 249.2l.8.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M309.8 249.2l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M310.5 249.2l.7.6-.7-.6z"/>
+    <path fill="#102110" d="M312.6 249.2l.7.6-.7-.6z"/>
+    <path fill="#314231" d="M313.3 249.2l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M314.7 249.8v.7h2.1l-2.1-.7z"/>
+    <path fill="#426331" d="M195.1 249.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M196.5 249.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M197.2 249.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M199.3 249.8l2.1 2-2-2z"/>
+    <path fill="#211800" d="M200 249.8l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M202.4 250.3l.2.4-.2-.4z"/>
+    <path fill="#7b7373" d="M203 250.3l.3.4-.2-.4z"/>
+    <path fill="#bdbdbd" d="M203.6 249.8l.7.7-.8-.7z"/>
+    <path fill="#397b00" d="M204.3 249.8l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M210.6 249.8l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M217.6 249.8l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M245 249.8l.8.7-.7-.7z"/>
+    <path fill="#211800" d="M245.8 249.8l1.4 1.4v-1.4h-1.4z"/>
+    <path fill="#631808" d="M247.2 249.8l.7.7-.7-.7z"/>
+    <path fill="#5a2121" d="M247.9 249.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M248.8 250.3l.2.4-.2-.4z"/>
+    <path fill="#8c8c8c" d="M250.7 249.8v.7h2l-2-.7z"/>
+    <path fill="#bdbdbd" d="M252.8 249.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M255.6 249.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M256.3 249.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M257.7 249.8l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M260.5 249.8l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M261.2 249.8l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M262.6 249.8l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M294.3 249.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M295 249.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M295.7 249.8l.7.7-.7-.7m1.6.5l.3.4-.3-.4z"/>
+    <path fill="#185200" d="M297.8 249.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M300 249.8l.6.7-.7-.7z"/>
+    <path fill="#082108" d="M300.6 249.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M301.3 249.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M306.5 250.3l.2.4-.2-.4z"/>
+    <path fill="#296300" d="M308.4 249.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M309 249.8l.8.7-.7-.7z"/>
+    <path fill="#314231" d="M309.8 249.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M311.9 249.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M312.6 249.8l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M313.3 249.8l-.7 1.4.7-1.4z"/>
+    <path fill="#296300" d="M314 249.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M315.4 249.8l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M316.8 249.8l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M195.1 250.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M197.2 250.5l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M200.7 250.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M203.6 250.5l.7.7-.8-.7z"/>
+    <path fill="#397b00" d="M210.3 250.7l.5.3-.5-.3z"/>
+    <path fill="#8c8c8c" d="M217.6 250.5l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M245.8 250.5l.7.7-.7-.7z"/>
+    <path d="M247.2 250.5l3.5 13.4c4.3-1.5 10.9-2 13.4-6l-12.7 4-4.2-11.4z"/>
+    <path fill="#ada5a5" d="M247.9 250.5l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M249.3 250.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250 250.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M253.5 250.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M254.2 250.5l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M256.3 250.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M258.7 251l.2.4-.2-.5z"/>
+    <path fill="#9c9494" d="M259.1 250.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M260.3 250.7l.5.3-.5-.3z"/>
+    <path d="M261.2 250.5l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M262 250.5l.6.7-.7-.7z"/>
+    <path fill="#6b735a" d="M294.3 250.5l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M295 250.5l5.6 21.4h-.7v-1.3h-.7l.7 6h-.7v-1.3h-.7v5.3h-.7c0-6.8-2.7-12.9-6.3-18.7l-1.4 1.3v.7c5.1 4.9 6.7 15.4 7 22h-1.4l-2.8-14h-.7l2 18.8h-.6l-2.8-14h-.7l2 21.3h-.6l-1.4-17.4h-.7l1.4 17.4h-.7l-.7-9.3h-.7l.7 11.4h-.7l-.7-9.4h-.7l-2.1 12.7 7.7-.7v-.6l-5-.7v-.7l18.4 4.7v-.7l-8.5-2.7v-.6l12.7 2.7c-4-4.9-9-4-14.8-3.4v-.7l16.2.7v-.7l-11.3-2.6v-.7l11.3.7v-.7c-8-1.8-12-.8-18.3 4.7l1.4-6.7h-.7l-.7 2h-.7l3.5-10h.7l-.7 7.3 16.2-6v-.7l-14.8 4a42.2 42.2 0 0121.1-8.7v-.6c-8.4 0-13 1.9-19.7 6.7 5.3-6.6 13.5-7.3 21.1-10v-.8c-9.5.8-14 3-21.8 8 4.8-4.5 13-12.4 20.4-10.6l-1.4-3.4c-6.5 1.5-12.1 5-16.9 9.4 3.3-4.4 14.8-16.5 20.4-16-5.7-5-16.6 10.1-20.4 13.3l15.5-16.7-13.4 11.4 14.8-18.8v-.7c-7 2.5-9 10.8-14 15.4l10.5-16.7a26.8 26.8 0 00-9.9 14.7c-3.2.4-2 5.5-2 8h-.8c0-8-1-18-6.3-24.7z"/>
+    <path fill="#314231" d="M295.7 250.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M296.4 250.5l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M297.8 250.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M300.6 250.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M301.3 250.5l.7.7-.7-.7m7 0l.8.7-.7-.7z"/>
+    <path fill="#63636b" d="M309 250.5l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M309.8 250.5l.7.7-.7-.7m1.4 0l1.4 1.3-1.4-1.3z"/>
+    <path fill="#103900" d="M311.9 250.5l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M313.3 250.5L309 254v.6l4.2-4z"/>
+    <path fill="#8c8c8c" d="M314 250.5l-.7 1.3.7-1.3z"/>
+    <path fill="#ada5a5" d="M314.7 250.5l.7.7-.7-.7z"/>
+    <path fill="#102110" d="M315.4 250.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M316.1 250.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M195.1 251.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M195.8 251.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M198 251.2l2 2-2-2z"/>
+    <path fill="#5a1008" d="M201.4 251.2l.7.7-.7-.7z"/>
+    <path fill="#733939" d="M202.1 251.2l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M202.8 251.2l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M203.6 251.2l.7.7-.8-.7z"/>
+    <path fill="#295200" d="M206.4 251.2l1.4 1.3-1.4-1.3z"/>
+    <path fill="#294200" d="M209.9 251.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M213.4 251.2l.7.7-.7-.7m3.5 0l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M217.6 251.2l.7.7-.7-.7z"/>
+    <path fill="#100808" d="M246.5 251.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M247.9 251.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M250.7 251.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M251.4 251.2v.7h2.1l-2.1-.7z"/>
+    <path fill="#efefef" d="M253.5 251.2l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M256.3 251.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M257.5 251.4l.5.2-.5-.2z"/>
+    <path fill="#dedede" d="M259.1 251.2l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M261.2 251.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M292.9 251.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M293.6 251.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M294.3 251.2l-.7 1.3.7-1.3z"/>
+    <path fill="#185200" d="M295.7 251.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M296.4 251.2l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M297.1 251.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M297.8 251.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M298.5 251.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M300.6 251.2l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M301.3 251.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M303.4 251.2l1.5 1.3-1.5-1.3z"/>
+    <path fill="#297b00" d="M304.1 251.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M306 251.4l.5.2-.5-.2z"/>
+    <path fill="#102110" d="M308.4 251.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M309 251.2l.8.7-.7-.7z"/>
+    <path fill="#184a00" d="M311.2 251.2l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M314 251.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M314.7 251.2l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M315.4 251.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M195.1 251.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M195.8 251.8l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M201.4 251.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M202.1 251.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M203.6 251.8l.7.7-.8-.7z"/>
+    <path fill="#397b00" d="M204.3 251.8l.6.7-.7-.7m2.2 0l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M209.9 251.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M212.7 251.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M214.6 252l.4.3-.4-.2z"/>
+    <path fill="#315221" d="M217 251.8l.6.7-.7-.7z"/>
+    <path fill="#420000" d="M246.5 251.8l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M247.9 251.8l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M249.3 251.8l-.7 1.4.7-1.3z"/>
+    <path fill="#7b7373" d="M250 251.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M250.7 251.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M256 252l.5.3-.4-.2z"/>
+    <path fill="#efefef" d="M257 251.8l1.4 4h.7l-2-4m2 0l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M260 252.3l.3.4-.2-.4z"/>
+    <path fill="#ada5a5" d="M260.5 251.8l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M261.2 251.8l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M262 251.8l.6.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M292.9 251.8l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M295 251.8l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M296.4 251.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M297.1 251.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M297.8 251.8l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M298.5 251.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M299.2 251.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M301.3 251.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M303.4 251.8l.8.7-.8-.7z"/>
+    <path fill="#184a00" d="M305.6 251.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M307.7 251.8l1.4 1.4-1.4-1.3z"/>
+    <path fill="#103900" d="M308.4 251.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M310.5 251.8l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M312.6 251.8l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M313.3 251.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M314 251.8l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M314.7 251.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M315.4 251.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M195.8 252.5l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M202.1 252.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M203.6 252.5l-.7 1.4.7-1.4z"/>
+    <path fill="#396b10" d="M204.3 252.5l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M209.9 252.5l.7.7-.7-.7m1.4 1.4l2.1-.7-2.1.7z"/>
+    <path fill="#103900" d="M214.1 252.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M217 252.5l.6.7-.7-.7z"/>
+    <path fill="#941808" d="M246.5 252.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M249.3 252.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M251.4 252.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M252 252.5l.8.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M254.9 252.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M257.7 252.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M258.9 252.7l.5.3-.5-.3z"/>
+    <path fill="#efefef" d="M260.5 252.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M261.2 252.5l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M262 252.5l.6.7-.7-.7z"/>
+    <path fill="#dedede" d="M292.9 252.5l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M293.6 252.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M294.3 252.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M295 252.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M296.4 252.5l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M297.1 252.5l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.8 252.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M298.5 252.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M299.2 252.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M301.8 252.7l.5.3-.5-.3z"/>
+    <path fill="#103900" d="M304.1 252.5l.7.7-.7-.7m1.4 0l.8.7-.7-.7m2 0l.8.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path d="M311.9 252.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M312.6 252.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M314 252.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M314.7 252.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M195.1 253.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M195.8 253.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M196.5 253.2l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M200 253.2l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M202.1 253.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M204.3 253.2l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M205 253.2l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M212 253.2l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M212.7 253.2l-.7 1.3.7-1.3z"/>
+    <path fill="#295200" d="M213.4 253.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M214.1 253.2l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M216.2 253.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M217 253.2l.6.7-.7-.7z"/>
+    <path fill="#ce2110" d="M246.5 253.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M248.6 253.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250 253.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M251.2 253.4l.4.2-.4-.2z"/>
+    <path fill="#cecece" d="M252 253.2l2.2 2-2.1-2z"/>
+    <path fill="#8c8c8c" d="M254.9 253.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M255.6 253.2l1.4 2-1.4-2z"/>
+    <path fill="#8c8c8c" d="M256.8 253.4l.4.2-.4-.2z"/>
+    <path fill="#dedede" d="M260.5 253.2l1.4 1.3-1.4-1.3z"/>
+    <path fill="#bdbdbd" d="M261.2 253.2l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M262 253.2l.6.7-.7-.7z"/>
+    <path fill="#103910" d="M293.6 253.2l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M294.3 253.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M295 253.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M296.4 253.2l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M297.1 253.2l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M297.8 253.2l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M298.5 253.2l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M299.2 253.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M302 253.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M304.1 253.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M305.6 253.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M307 253.2l1.4 1.3-1.4-1.3z"/>
+    <path fill="#184a00" d="M307.7 253.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M309.8 253.2l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M311.2 253.2l-.7 1.3.7-1.3z"/>
+    <path fill="#297b00" d="M311.9 253.2l.7.7-.7-.7m1.4 0l-.7 1.3.7-1.3z"/>
+    <path fill="#8c8c8c" d="M314 253.2l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M314.7 253.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M315.4 253.2l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M316.1 253.2l.7.7-.7-.7z"/>
+    <path fill="#8c9c84" d="M316.8 253.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M317.5 253.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M318.2 253.2l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M195.1 253.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M195.8 253.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M196.5 253.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M200 253.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M200.7 253.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M202.8 253.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M205 253.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M211.3 253.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M212.7 253.8l-.7 1.4.7-1.3z"/>
+    <path fill="#294200" d="M213.4 253.8l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M216.2 253.8l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M247.2 253.8l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M248.6 253.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M249.3 253.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M250 253.8l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M253.5 253.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M254.2 253.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M254.9 253.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M256.3 253.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M258.4 253.8v.7h2.1l-2-.7z"/>
+    <path fill="#ada5a5" d="M260.5 253.8l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M262 253.8l.6.7-.7-.7z"/>
+    <path fill="#bd2110" d="M262.6 253.8l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M293.6 253.8l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M294.3 253.8l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M295 253.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M297.1 253.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M297.1 255.2l2.1-.7-2 .7z"/>
+    <path fill="#313931" d="M299.2 253.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M300 253.8l.6.7-.7-.7z"/>
+    <path fill="#185200" d="M302 253.8l1.4 1.4-1.4-1.3z"/>
+    <path fill="#297b00" d="M302.7 253.8l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M307 253.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M311.2 253.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M313.3 253.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M314 253.8l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M314.7 253.8l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M315.4 253.8l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M318.2 253.8l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M319 253.8l.6.7-.7-.7z"/>
+    <path fill="#425242" d="M319.6 253.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M320.6 254.3l.2.5-.2-.5z"/>
+    <path fill="#8c8c8c" d="M195.1 254.5l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M195.8 254.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M196.5 254.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M197.2 254.5l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M198 254.5l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M200.7 254.5l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M201.7 255l.2.4-.2-.4z"/>
+    <path fill="#315221" d="M202.8 254.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M205 254.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M205.7 254.5l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M207.8 254.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M210.6 254.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M212.7 254.5l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M214.8 254.5l-.7 1.4.7-1.4z"/>
+    <path fill="#9c9494" d="M215.5 254.5l-.7 1.4.7-1.4z"/>
+    <path fill="#941808" d="M247.2 254.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M249.3 254.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M250.7 254.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M251.9 254.8l.4.2-.4-.3z"/>
+    <path fill="#ada5a5" d="M252.8 254.5l.7.7-.7-.7m2.6.2l.4.3-.4-.3z"/>
+    <path fill="#8c8c8c" d="M257 254.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M257.7 254.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M262 254.5l-2.9.7v.7l3.5-.7-.7-.7z"/>
+    <path fill="#7b1008" d="M262.6 254.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M293.6 254.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M294.3 254.5l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M295 254.5l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.8 254.5l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M298.5 254.5l2.8 11.4h.7c0-4.1-.5-8.2-3.5-11.4z"/>
+    <path fill="#184a00" d="M299.2 254.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M300 254.5l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M302 254.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M304.9 254.5l.7.7-.8-.7z"/>
+    <path fill="#184a00" d="M307 254.5l.7.7-.7-.7m2 0l.8.7-.7-.7z"/>
+    <path fill="#103900" d="M309.8 254.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M310.5 254.5l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M312.6 254.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M313.3 254.5l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M314 254.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M316.1 254.5l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M316.8 254.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M317.5 254.5l.7.7-.7-.7z"/>
+    <path fill="#295210" d="M318.2 254.5l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M319 254.5l.6.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M319.6 254.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M195.1 255.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M195.8 255.2l2.1 1.3-2-1.3m2 0l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M198.6 255.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M199.3 255.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.8 255.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M203.6 255.2l.7.7-.8-.7z"/>
+    <path fill="#8c8c8c" d="M205.7 255.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M206.4 255.2v.7h2l-2-.7z"/>
+    <path fill="#103900" d="M209.9 255.2l.7.7-.7-.7m2 0l.8.7-.7-.7z"/>
+    <path fill="#00215a" d="M227.5 255.2l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M247.2 255.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M249.3 255.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250 255.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M250.7 255.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M251.6 255.6l.3.5-.3-.5z"/>
+    <path fill="#bdbdbd" d="M254.4 255.6l.3.5-.3-.5z"/>
+    <path fill="#dedede" d="M255.1 255.6l.3.5-.3-.5z"/>
+    <path fill="#7b7373" d="M255.8 255.6l.3.5-.3-.5z"/>
+    <path fill="#bdbdbd" d="M256.3 255.2l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M257 255.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M262 255.2l.6.7-.7-.7z"/>
+    <path fill="#210800" d="M262.6 255.2l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M280.2 255.2l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M281 255.2v.7h6.3l-6.4-.7z"/>
+    <path fill="#520808" d="M287.3 255.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M291.5 255.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M293.6 255.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M294.3 255.2l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M295 255.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M297.8 255.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M299.2 255.2l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M300 255.2l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M300.6 255.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M303 255.6l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M306.3 255.2l.7.7-.7-.7m2 0l1.5 1.3-1.4-1.3z"/>
+    <path fill="#185200" d="M309 255.2l.8.7-.7-.7z"/>
+    <path fill="#296300" d="M309.8 255.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M311.9 255.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M312.6 255.2l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M313.3 255.2l-.7 1.3.7-1.3z"/>
+    <path fill="#297b00" d="M314 255.2l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M315.4 255.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M316.1 255.2l-.7 1.3.7-1.3z"/>
+    <path fill="#5a5231" d="M195.8 255.9l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M200.5 256l.5.3-.5-.2z"/>
+    <path fill="#8c8c8c" d="M203.6 255.9l.7.6-.8-.6z"/>
+    <path fill="#314231" d="M206.4 255.9l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M207 255.9l.8.6-.7-.6z"/>
+    <path fill="#295200" d="M209.2 255.9l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M209.9 255.9l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M211.3 255.9l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M213.4 255.9l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M214.1 255.9l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M220.4 255.9l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" fill-opacity=".3" d="M221.1 255.9v.6h6.4v10c3.8-6 .2-10.6-6.4-10.6z"/>
+    <path fill="#8c8c8c" d="M227.5 255.9l.7.6-.7-.6z"/>
+    <path fill="#420000" d="M247.9 255.9l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M249.3 255.9l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M250.7 256.5v.7l3.5-.7h-3.5m7-.6l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M258.4 255.9l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M259.1 255.9l.7.6-.7-.6z"/>
+    <path fill="#292921" d="M262.6 255.9l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M263.4 255.9l.7.6-.8-.6z"/>
+    <path fill="#63636b" d="M280.2 255.9l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M281 255.9v.6h6.3l-6.4-.6z"/>
+    <path fill="#63636b" d="M287.3 255.9l.7.6-.7-.6z"/>
+    <path fill="#292921" d="M291.5 255.9l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M292.2 255.9l.7.6-.7-.6m1.6.4l.3.5-.3-.5z"/>
+    <path fill="#296300" d="M294.3 257.2l2.1-.7-2.1.7z"/>
+    <path fill="#185200" d="M297.8 255.9l1.4 1.3-1.4-1.3z"/>
+    <path fill="#297b00" d="M298.5 255.9l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M300 255.9l.6.6-.7-.6z"/>
+    <path fill="#185200" d="M300.6 255.9l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M306.3 255.9l.7.6-.7-.6z"/>
+    <path fill="#319400" d="M307 255.9l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M307.7 255.9l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M311.9 255.9l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M313.3 255.9l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M314.7 255.9l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M195.8 256.5l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M197.2 256.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M198 256.5l.6.7-.7-.7m4 .2l.5.3-.5-.2z"/>
+    <path fill="#5a6b52" d="M203.6 256.5l.7.7-.8-.7z"/>
+    <path fill="#9c9494" d="M206.4 256.5l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M207 256.5l.8.7-.7-.7z"/>
+    <path fill="#294200" d="M209.2 256.5l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M211.3 256.5l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M212.7 256.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M213.4 256.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M220.4 256.5v5.4h.7l-.7-5.4z"/>
+    <path fill="#941808" d="M247.9 256.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M250 256.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M252 256.5l.8.7-.7-.7z"/>
+    <path fill="#efefef" d="M254.9 256.5l1.4 1.4-1.4-1.4z"/>
+    <path fill="#bdbdbd" d="M255.6 256.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M256.8 256.8l.4.2-.4-.2z"/>
+    <path fill="#dedede" d="M257.7 256.5l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M259.1 256.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M259.8 256.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M261 256.8l.5.2-.5-.2z"/>
+    <path fill="#9c9494" d="M262 256.5l.6.7-.7-.7z"/>
+    <path fill="#7b7373" d="M262.6 256.5l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M263.4 256.5l.7.7-.8-.7z"/>
+    <path fill="#8c8c8c" d="M280.2 256.5v8.7h.7l-.7-8.7m7 0v10h.8l-.7-10z"/>
+    <path fill="#6b735a" d="M291.5 256.5l.7.7-.7-.7z"/>
+    <path fill="#395231" d="M292.2 256.5l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M295 256.5l3.5 12h.7l-4.2-12z"/>
+    <path fill="#103900" d="M295.7 256.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M297.8 256.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M300.9 257l.2.4-.2-.4z"/>
+    <path fill="#296300" d="M302.7 256.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M303.4 256.5l-.6 1.4.6-1.4z"/>
+    <path fill="#184a00" d="M305.6 256.5l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M307.4 256.8l.5.2-.5-.2z"/>
+    <path fill="#185200" d="M308.4 256.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M311.2 256.5l.7.7-.7-.7z"/>
+    <path d="M311.9 256.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M312.6 256.5l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M314.7 256.5l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M195.8 257.2l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M196.5 257.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M198.6 257.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M199.6 257.6l.2.5-.2-.5m2.5-.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M202.8 257.2l1.4 1.3-1.3-1.3z"/>
+    <path fill="#213918" d="M203.6 257.2l.7.7-.8-.7z"/>
+    <path fill="#dedede" d="M206.4 257.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M207 257.2l.8.7-.7-.7z"/>
+    <path fill="#103900" d="M208.5 257.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M209.9 257.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M210.6 257.2l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M212 257.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M212.7 257.2l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M247.9 257.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M250 257.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M252 257.2l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M252.8 257.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M253.5 257.2v.7h2.1l-2.1-.7m2.8 0l-2 1.3v.7l2-2m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M259.1 257.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M259.8 257.2l.7.7-.7-.7m2.8 0l-.7 1.3.7-1.3z"/>
+    <path fill="#210800" d="M263.4 257.2l.7.7-.8-.7z"/>
+    <path fill="#8c8c8c" d="M291.5 257.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M292.4 257.6l.3.5-.3-.5z"/>
+    <path fill="#8c8c8c" d="M292.9 257.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M294.3 257.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M295.7 257.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M296.4 257.2l-.7 1.3.7-1.3z"/>
+    <path fill="#103900" d="M298.5 257.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M301.3 257.2l-.7 1.3.7-1.3z"/>
+    <path fill="#184a00" d="M303.7 257.6l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M305.6 257.2l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M308.4 257.2l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M311.9 257.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M314 257.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M314.7 257.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M317.4 260.4l-2.8 4.7c1.9-1.3 3.7-2.4 2.8-4.7z"/>
+    <path fill="#dedede" d="M321.7 257.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M196.5 257.9l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M197.2 257.9l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M200 257.9l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M204.3 257.9l.6.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M206.4 257.9l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M207.8 257.9l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M208.5 257.9l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M209.9 257.9l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M212 257.9l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M214.6 258l.4.3-.4-.2z"/>
+    <path fill="#420000" d="M248.6 257.9l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M250 257.9l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M251.4 257.9l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M252 257.9l.8.6-.7-.6z"/>
+    <path fill="#dedede" d="M252.8 257.9l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M257.7 257.9l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M258.4 257.9l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M262.6 257.9l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M264 257.9l.8.6-.8-.6z"/>
+    <path fill="#cecece" d="M291.5 257.9l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M292.9 257.9l-.7 1.3.7-1.3z"/>
+    <path fill="#dedede" d="M293.6 257.9l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M294.5 258.3l.3.5-.3-.5z"/>
+    <path fill="#185200" d="M296.4 257.9l.7.6-.7-.6m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M299.2 257.9l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M301.3 257.9l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M304.9 257.9l.7.6-.8-.6z"/>
+    <path fill="#296300" d="M305.6 257.9l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M306.3 257.9l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M307.7 257.9l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M311.2 257.9l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M313.3 257.9l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M314 257.9l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M320.3 257.9l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M321 257.9l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M197.2 258.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M200.7 258.5l1.4 1.4-1.4-1.4z"/>
+    <path fill="#397b00" d="M201.4 258.5l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M204.3 258.5l.6.7-.7-.7z"/>
+    <path fill="#efefef" d="M205.4 258.8l.5.2-.5-.2z"/>
+    <path fill="#214210" d="M206.4 258.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M207.8 258.5l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M209.2 258.5l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M209.9 258.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M211.3 258.5l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M214.1 258.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M214.8 258.5l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M228.2 258.5l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M248.6 258.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M250.7 258.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M253.5 258.5l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M256.3 258.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M257 258.5l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M259.8 258.5l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M260.5 258.5l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M264 258.5l.8.7-.8-.7z"/>
+    <path fill="#319400" d="M292.9 258.5l5 16.1h.6c0-5.6-1.8-11.7-5.6-16z"/>
+    <path fill="#425242" d="M293.6 258.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M296.4 258.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M299.2 258.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M301.6 259l.2.4-.2-.4m3.2-.5l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M305.6 258.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M306.3 258.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M307.7 258.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M310.5 258.5l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M313.3 258.5l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M314 258.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M315.4 258.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M316.1 258.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M319 258.5l.6.7-.7-.7z"/>
+    <path fill="#314231" d="M319.6 258.5l-1.4 2.7 1.4-2.7z"/>
+    <path fill="#313931" d="M320.3 258.5l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M197.2 259.2l2.1 2-2-2z"/>
+    <path fill="#314231" d="M198 259.2l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.1 259.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M205 259.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M205.7 259.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M207 259.2l.8.7-.7-.7z"/>
+    <path fill="#295200" d="M207.8 259.2l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M209.2 259.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M210.6 259.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M211.3 259.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M213.4 259.2l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M214.8 259.2l.7.7-.7-.7z"/>
+    <path fill="#101829" d="M228.2 259.2l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M248.6 259.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M250.7 259.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M251.6 259.7l.3.4-.3-.4z"/>
+    <path fill="#9c9494" d="M252 259.2l.8.7-.7-.7z"/>
+    <path fill="#7b7373" d="M252.8 259.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M253.5 259.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M257 259.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M257.7 259.2l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M258.4 259.2l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M263.4 259.2l.7.7-.8-.7z"/>
+    <path fill="#7b1008" d="M264 259.2l.8.7-.8-.7z"/>
+    <path fill="#10214a" d="M279.5 259.2l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M292.4 259.7l.3.4-.3-.4z"/>
+    <path fill="#296300" d="M293.6 259.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M294.5 259.7l.3.4-.3-.4z"/>
+    <path fill="#296300" d="M296.9 259.4l.5.3-.5-.3z"/>
+    <path fill="#103900" d="M299.2 259.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M305.3 259.4l.5.3-.5-.3m1.7-.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M309.8 259.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M312.6 259.2l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M313.3 259.2l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M314 259.2l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M314.7 259.2l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M315.4 259.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M316.1 259.2l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M318.2 259.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M319 259.2l.6.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M189.5 259.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M190.2 259.9l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M198.6 259.9l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M199.3 259.9l1.4 1.3-1.4-1.3m4.3 0l.7.7-.8-.7m1.5 0l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M205.7 259.9l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M206.4 259.9l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M207 259.9l.8.7-.7-.7z"/>
+    <path fill="#397b00" d="M208.5 259.9v1.3h1.4l-1.4-1.3z"/>
+    <path fill="#295200" d="M209.2 259.9l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M210.6 259.9l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M212.7 259.9l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M214.8 259.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M215.5 259.9l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M228.2 259.9l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M228.9 259.9l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M229.6 259.9l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M249.3 259.9l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M250.7 259.9l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M252 259.9l.8.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M254.9 259.9l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M256 260.1l.5.2-.4-.2z"/>
+    <path fill="#313931" d="M257 259.9l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M257.7 259.9l.7.7-.7-.7z"/>
+    <path fill="#310000" d="M261.2 259.9l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M262 259.9l.6.7-.7-.7z"/>
+    <path fill="#00184a" d="M278.1 259.9l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M278.8 259.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M279.5 259.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M295 259.9l-.7 1.3.7-1.3z"/>
+    <path fill="#184a00" d="M297.1 259.9l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M299.2 259.9l1.4 1.3-1.4-1.3z"/>
+    <path fill="#297b00" d="M300 259.9l.6.7-.7-.7z"/>
+    <path fill="#296300" d="M301.3 259.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M302 259.9l-.7 1.3.7-1.3z"/>
+    <path fill="#184a00" d="M304.4 260.3l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M305.6 259.9l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M306.3 259.9l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M307 259.9l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M309.5 260.1l.5.2-.5-.2z"/>
+    <path fill="#425242" d="M312.6 259.9l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M313.3 259.9l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M314.5 260.1l.4.2-.4-.2z"/>
+    <path fill="#cecece" d="M315.4 259.9l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M316.8 259.9l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M317.5 259.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M318.2 259.9l.7.7-.7-.7z"/>
+    <path fill="#8c9c84" d="M189.5 260.6l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M190.2 260.6l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M199.3 260.6l.7.6-.7-.6z"/>
+    <path fill="#001000" d="M203.6 260.6l.7.6-.8-.6z"/>
+    <path fill="#295200" d="M204.3 260.6l.6.6-.7-.6z"/>
+    <path fill="#292100" d="M205.7 260.6l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M206.8 260.8l.5.2-.5-.2z"/>
+    <path fill="#311000" d="M207.8 260.6l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M210.6 260.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M212 260.6l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M212.7 260.6l.7.6-.7-.6z"/>
+    <path fill="#428c00" d="M209.7 267.4h-.7c-.1-3.8-1.6-6.3-5.6-7.4 0 2 1.6 10 5 7.4h.6l-1.4 6c2.1-2.2 10.8-10 7-13.5-3.2-2.9-4.8 6-4.9 7.5z"/>
+    <path fill="#295200" d="M214.1 260.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M215.5 260.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M229.6 260.6l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M230.3 260.6l.7.6-.7-.6z"/>
+    <path fill="#31425a" d="M231 260.6l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M231.7 260.6l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M249.3 260.6l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M251.4 260.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M252.8 260.6l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M253.5 260.6l.7.6-.7-.6z"/>
+    <path fill="#310000" d="M259.8 260.6l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M260.5 260.6l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M276 260.6l.7.6-.7-.6z"/>
+    <path fill="#21315a" d="M276.7 260.6l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M277.4 260.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M278.1 260.6l.7.6-.7-.6m12 0l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M290.8 260.6l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M291.5 260.6l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M292.2 260.6l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M295 260.6l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M297.1 260.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M297.8 260.6l-.7 1.3.7-1.3m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M305.6 260.6l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M309 260.6l.8.6-.7-.6z"/>
+    <path fill="#185200" d="M311.9 260.6l.7.6-.7-.6z"/>
+    <path fill="#102110" d="M312.6 260.6l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M313.8 260.8l.4.2-.4-.2z"/>
+    <path fill="#8c8c8c" d="M314.7 260.6l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M315.4 260.6l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M316.1 260.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M316.8 260.6l-2.1 3.3 3.5-3.3h-1.4z"/>
+    <path fill="#295200" d="M190.2 261.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M190.9 261.2l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M199.3 261.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M200 261.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M200.7 261.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.8 261.2v.7h2.2l-2.1-.7z"/>
+    <path fill="#294200" d="M205 261.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M205.7 261.2l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M208 261.7l.2.4-.2-.4z"/>
+    <path fill="#292100" d="M208.5 261.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M209.9 261.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M210.6 261.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M211.3 261.2l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M212 261.2l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M213.6 261.7l.3.4-.3-.4z"/>
+    <path fill="#8c8c8c" d="M215.7 261.7l.3.4-.3-.4z"/>
+    <path fill="#dedede" d="M231.7 261.2l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M232.4 261.2l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M233.1 261.2l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M233.8 261.2l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M234.5 261.2l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M235.2 261.2l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M249.3 261.2l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M251.4 261.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M252 261.2l.8.7-.7-.7z"/>
+    <path fill="#101810" d="M252.8 261.2l.7.7-.7-.7z"/>
+    <path fill="#100808" d="M257.7 261.2l.7.7-.7-.7z"/>
+    <path fill="#310000" d="M258.4 261.2l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M259.1 261.2l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M272.5 261.2l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M273.2 261.2l.7.7-.7-.7z"/>
+    <path fill="#10295a" d="M273.9 261.2l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M274.6 261.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M275.3 261.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M276 261.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M290 261.2l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M290.8 261.2l1.4 1.4-1.4-1.4z"/>
+    <path fill="#103910" d="M291.5 261.2l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M292.2 261.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M295 261.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M295.7 261.2l-.7 1.4.7-1.4z"/>
+    <path fill="#185200" d="M297.8 261.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M300 261.2l.6.7-.7-.7z"/>
+    <path fill="#184a00" d="M304.9 261.2l.7.7-.8-.7z"/>
+    <path fill="#103900" d="M308.4 261.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M311.2 261.2v.7h2.8v-.7h-2.8z"/>
+    <path fill="#425242" d="M314 261.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M314.7 261.2l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M315.4 261.2l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M317.5 261.2l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M190.2 261.9l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M191.1 262.3l.3.5-.3-.5z"/>
+    <path fill="#314231" d="M191.6 261.9l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M192.3 261.9l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M195.1 261.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M198.6 261.9l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M199.3 261.9l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M200.7 261.9l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M201.4 261.9l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M202.8 261.9l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M205.7 261.9l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M206.4 261.9l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M208.5 261.9l.7.7-.7-.7z"/>
+    <path fill="#5a2908" d="M209.2 261.9l-.7 1.3.7-1.3z"/>
+    <path fill="#7b1008" d="M209.9 261.9l.7.7-.7-.7z"/>
+    <path fill="#5a3131" d="M210.6 261.9l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M211.3 261.9l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M219.7 261.9l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M220.4 261.9l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M221.1 261.9l.7.7-.7-.7m13.4 0l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M235.2 261.9l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M236 261.9l.6.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M236.6 261.9l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M250 261.9l.7.7-.7-.7z"/>
+    <path fill="#100808" d="M256.3 261.9l.7.7-.7-.7z"/>
+    <path fill="#7b0008" d="M257 261.9l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M254.2 262.6v.6h2.1c-5.4 8.4-1.5 19.7-.7 28.8h.7c2-8.2 2.2-20 0-28.1l2.8 1.3.7-2.6-.7-.7-4.9.7z"/>
+    <path fill="#940008" d="M259.1 261.9l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M259.8 261.9l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M271 261.9l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M271.8 261.9l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M272.5 261.9l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M273.2 261.9l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M289.4 261.9l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M290 261.9l.8.7-.7-.7z"/>
+    <path fill="#313931" d="M292.2 261.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M292.9 261.9l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M295.7 261.9l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M297.8 261.9l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M300 261.9l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M300.6 261.9l-.7 1.3.7-1.3z"/>
+    <path fill="#103900" d="M304.9 261.9l.7.7-.8-.7z"/>
+    <path fill="#185200" d="M307.7 261.9l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M311.2 261.9l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M312.6 261.9l-.7 1.3.7-1.3z"/>
+    <path fill="#082108" d="M313.5 262.3l.3.5-.3-.5z"/>
+    <path fill="#52525a" d="M314 261.9l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M314.7 261.9l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M316.8 261.9l-2.1 2.7 2.1-2.7z"/>
+    <path fill="#295200" d="M190.2 262.6l.7.6-.7-.6z"/>
+    <path fill="#428c00" d="M191.6 262.6l1.4 4h.7l.7-2.7-2.8-1.3z"/>
+    <path fill="#295200" d="M192.3 262.6l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M193 262.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M193.7 262.6l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M195.1 262.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M195.8 262.6l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M198.6 262.6l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M199.3 262.6l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M202.1 262.6l.7.6-.7-.6z"/>
+    <path fill="#001000" d="M202.8 262.6l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M206.4 262.6l.7.6-.7-.6z"/>
+    <path fill="#4a1000" d="M207 262.6l.8.6-.7-.6z"/>
+    <path fill="#294200" d="M207.8 262.6l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M210.6 262.6l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M213.2 262.8l.4.2-.4-.2z"/>
+    <path fill="#6b735a" d="M215.5 262.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M217 262.6l.6.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M217.6 262.6l.7.6-.7-.6z"/>
+    <path fill="#526b42" d="M218.3 262.6l.7.6-.7-.6z"/>
+    <path fill="#396b10" d="M219 262.6l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M219.7 262.6l.7.6-.7-.6z"/>
+    <path fill="#213918" d="M220.4 262.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M221.1 262.6l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M250 262.6l.7.6-.7-.6z"/>
+    <path fill="#520808" d="M252.8 262.6l-.7 1.3.7-1.3z"/>
+    <path fill="#ad0008" d="M253.5 262.6l.7.6-.7-.6z"/>
+    <path fill="#520808" d="M259.8 262.6l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M289.4 262.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M290 262.6l.8.6-.7-.6z"/>
+    <path fill="#184a00" d="M292.2 262.6l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M292.9 262.6l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M295.7 262.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M296.4 262.6l-.7 1.3.7-1.3z"/>
+    <path fill="#185200" d="M297.8 262.6l1.4 1.3-1.4-1.3z"/>
+    <path fill="#297b00" d="M298.5 262.6l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M300.6 262.6l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M302.7 262.6l.7.6-.7-.6m1.4 0l1.4 1.3-1.3-1.3z"/>
+    <path fill="#185200" d="M304.9 262.6l.7.6-.8-.6z"/>
+    <path fill="#297b00" d="M307 262.6l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M307.7 262.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M310.5 262.6l1.4 1.3-1.4-1.3zm3.5 0l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M317.5 262.6l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M318.2 262.6l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M319 262.6l.6.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M319.6 262.6l.7.6-.7-.6z"/>
+    <path fill="#8c9c84" d="M189.5 263.2l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M190.2 263.2l2 3.4-2-3.4z"/>
+    <path fill="#103900" d="M190.9 263.2l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M193.7 263.2l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M194.4 263.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M195.1 263.2l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M195.8 263.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M198 263.2l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M199 263.4l.6.3-.5-.2z"/>
+    <path fill="#dedede" d="M200 263.2l.7.7-.7-.7z"/>
+    <path fill="#7b8c73" d="M202.8 263.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M207 263.2l1.5 1.4v-1.4H207z"/>
+    <path fill="#4a1000" d="M208.5 263.2l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M209.9 263.2l.7.7-.7-.7z"/>
+    <path fill="#526b42" d="M215.5 263.2l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M216.2 263.2l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M217 263.2l.6.7-.7-.7z"/>
+    <path fill="#428c00" d="M214.8 268.6l1.4-.7v.7l-5 4c4.5-1.7 6.7-4 8.5-8l-2 1.3 1.3-2.7-4.2 5.4z"/>
+    <path fill="#294200" d="M219 263.2l-.7 1.4.7-1.4z"/>
+    <path fill="#397b00" d="M219.7 263.2l-.7 1.4.7-1.4z"/>
+    <path fill="#424242" d="M220.4 263.2l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M242.2 263.2l.7.7-.7-.7z"/>
+    <path fill="#845a52" d="M243 263.2l.6.7-.7-.7z"/>
+    <path fill="#734a42" d="M243.7 263.2l.7.7-.8-.7z"/>
+    <path fill="#842118" d="M244.3 263.2l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M245 263.2l.8.7-.7-.7z"/>
+    <path fill="#b51010" d="M245.8 263.2l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M250 263.2l.7.7-.7-.7z"/>
+    <path fill="#310000" d="M251.4 263.2l.7.7-.7-.7z"/>
+    <path fill="#310010" d="M252.8 263.2l.7.7-.7-.7z"/>
+    <path fill="#180821" d="M253.5 263.2l.7.7-.7-.7z"/>
+    <path fill="#310010" d="M254.2 263.2l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M254.9 263.2l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M255.6 263.2l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M259.8 263.2l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M262 263.2l.6.7-.7-.7z"/>
+    <path fill="#7b1008" d="M262.6 263.2l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M263.4 263.2l.7.7-.8-.7z"/>
+    <path fill="#8c4a4a" d="M264 263.2l.8.7-.8-.7z"/>
+    <path fill="#9c9494" d="M265.5 263.2l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M289.4 263.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M292.2 263.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M292.9 263.2l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M296.4 263.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M297.8 263.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M300.6 263.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M304.4 263.7l.2.4-.2-.4m2.6-.5l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M312.6 263.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M316.8 263.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M317.5 263.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M319.6 263.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M320.3 263.2l1.4 1.4-1.4-1.4z"/>
+    <path fill="#8c8c8c" d="M189.7 264.3l.2.5-.2-.5z"/>
+    <path fill="#295200" d="M190.9 263.9l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M191.6 263.9l.7.7-.7-.7z"/>
+    <path fill="#102110" d="M194.4 263.9l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M195.1 263.9v.7l2.1.6-2-1.3z"/>
+    <path fill="#63636b" d="M196.5 263.9l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M198 263.9l.6.7-.7-.7z"/>
+    <path fill="#428c00" d="M198.6 263.9v3.3h-.7l-.7-2h-.7l.7 6.7h-.7l-.7-7.3h-.7l-.7 5.3h-.7l-3.5-2.7 2 4h-.6l-2.8-3.3c2.3 8 5.7 6.8 11.3 11.3 2.1 1.6 3.5 5.2 4.9 7.4l-2.9-2 1.4 2-3.5-2 4.3 4 .7-2h.7c-1.8 3.2-5 3.6-8.5 4v-.6l1.4-1.3 3.5.6c-2.5-2.5-5.6-3-9.1-2l4.2 3.4v.6L193 296l8.4-1.3-.7 1.3h.7l4.3-2-8.5 4v.7c7.1-.9 8-3.2 12-8-.6 2.1-.6 3.3 1.4 4.7l-1.1-8 9.5-10.8-3.5 2.7 2.8-4c-4 .8-5.7 3.6-5.6 7.3l-4.2 4h-.7c1.5-4.1 5.6-6.5 4.2-11.3-3.7 2.6-4.7 5.8-5 10l-2.7-13.4.7 2.7h-.7v-1.3h-.7l.7 9.3h-.7c-2.2-5-.3-15.4-5-18.7z"/>
+    <path fill="#9c9494" d="M200 263.9l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M203 264.3l.3.5-.2-.5z"/>
+    <path fill="#397b00" d="M205 263.9l1.4 1.3-1.4-1.3z"/>
+    <path fill="#5a1008" d="M209.2 263.9l.7.7-.7-.7z"/>
+    <path fill="#311000" d="M209.9 263.9l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M215.5 263.9l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M216.2 263.9l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M219.7 263.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M245 263.9l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M245.8 263.9l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M246.5 263.9l.7.7-.7-.7z"/>
+    <path fill="#6b2908" d="M247.2 263.9l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M247.9 263.9l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M250.7 263.9l.7.7-.7-.7z"/>
+    <path fill="#000818" d="M251.4 263.9l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M252 263.9l-.6 1.3.7-1.3z"/>
+    <path fill="#003994" d="M250 287.3h.7a35.9 35.9 0 013.5-23.4c-8.3 4-7.8 16.8-4.2 23.4z"/>
+    <path fill="#52525a" d="M254.2 263.9l.7.7-.7-.7z"/>
+    <path fill="#9c2118" d="M254.9 263.9l.7.7-.7-.7z"/>
+    <path fill="#ce0008" d="M257.7 263.9l.7.7-.7-.7z"/>
+    <path fill="#bd0008" d="M259.1 263.9l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M259.8 263.9l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M260.5 263.9l.7.7-.7-.7z"/>
+    <path fill="#7b5252" d="M261.2 263.9l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M262 263.9l.6.7-.7-.7z"/>
+    <path fill="#dedede" d="M262.6 263.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M279.5 263.9l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M288.7 263.9l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M289.4 263.9l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M290 263.9l.8.7-.7-.7z"/>
+    <path fill="#185200" d="M290.8 263.9l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M292.9 263.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M293.6 263.9l-.7 1.3.7-1.3z"/>
+    <path fill="#103900" d="M296.4 263.9l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M298.8 264.3l.2.5-.2-.5z"/>
+    <path fill="#185200" d="M300.6 263.9l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M306.5 264.3l.2.5-.2-.5z"/>
+    <path fill="#297b00" d="M307 263.9l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M314 263.9l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M315.4 263.9l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M316.1 263.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M316.8 263.9l.7.7-.7-.7m3.5 0l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M191.6 264.6l.7.6-.7-.6m2.8 0l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M196 265l.3.5-.3-.5z"/>
+    <path fill="#ada5a5" d="M197.2 264.6l.7.6-.7-.6z"/>
+    <path fill="#526b42" d="M198 264.6l.6.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M200 264.6l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M205 264.6l.7.6-.7-.6m3.5 0l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M209.2 264.6l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M209.9 264.6l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M215.7 265l.3.5-.3-.5z"/>
+    <path fill="#397b00" d="M217.6 264.6l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M218.3 264.6l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M219.7 264.6l.7.6-.7-.6z"/>
+    <path fill="#313931" d="M228.2 264.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M247.9 264.6l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M248.6 264.6l.7.6-.7-.6z"/>
+    <path fill="#733939" d="M249.3 264.6l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M250 264.6l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M250.7 264.6l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M253.5 264.6l.7.6-.7-.6z"/>
+    <path fill="#6b5252" d="M254.2 264.6l.7.6-.7-.6z"/>
+    <path fill="#310000" d="M257.7 264.6l.7.6-.7-.6z"/>
+    <path fill="#5a1010" d="M259.1 264.6l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M259.8 264.6l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M279.5 264.6l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M288.7 264.6l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M289.4 264.6l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M290 264.6l.8.6-.7-.6z"/>
+    <path fill="#425242" d="M290.8 264.6l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M293.6 264.6l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M296.4 264.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M297.1 264.6l-.7 1.3.7-1.3z"/>
+    <path fill="#184a00" d="M300.9 265l.2.5-.2-.5z"/>
+    <path fill="#297b00" d="M303.4 264.6l1.5 1.3-1.5-1.3z"/>
+    <path fill="#185200" d="M304.1 264.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M305.6 264.6l1.4 1.3-1.4-1.3z"/>
+    <path fill="#103900" d="M310.5 264.6l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M313.3 264.6l-2.8 3.3 2.8-3.3z"/>
+    <path fill="#7b7373" d="M314 264.6l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M314.7 264.6l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M315.4 264.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M316.1 264.6l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M317.5 264.6l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M318.2 264.6l.7.6-.7-.6z"/>
+    <path fill="#395231" d="M319 264.6l.6.6-.7-.6z"/>
+    <path fill="#296300" d="M319.6 264.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M321.3 265l.2.5-.2-.5z"/>
+    <path fill="#8c8c8c" d="M321.7 264.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M189.7 265.7l.2.4-.2-.4z"/>
+    <path fill="#397b00" d="M190.2 265.2l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M192.3 265.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M194.2 265.5l.4.2-.4-.2z"/>
+    <path fill="#213918" d="M197.2 265.2l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M198 265.2l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M200 265.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M200.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M202.8 265.2l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M203.6 265.2l.7.7-.8-.7z"/>
+    <path fill="#103900" d="M205.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M209.2 265.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M212.7 265.2l-.7 1.4.7-1.4z"/>
+    <path fill="#103900" d="M217.6 265.2l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M219 265.2l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M219.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M228.2 265.2l.7.7-.7-.7z"/>
+    <path fill="#733939" d="M228.9 265.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M229.6 265.2l.7.7-.7-.7m20.4 0l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M250.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M252.8 265.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M253.5 265.2l.7.7-.7-.7z"/>
+    <path fill="#842118" d="M254.2 265.2l.7.7-.7-.7z"/>
+    <path d="M257.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#ad0008" d="M258.4 265.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M259.1 265.2l.7.7-.7-.7z"/>
+    <path fill="#debdb5" d="M278.1 265.2l.7.7-.7-.7z"/>
+    <path fill="#8c4a4a" d="M278.8 265.2l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M279.5 265.2l.7.7-.7-.7z"/>
+    <path fill="#946b63" d="M280.5 265.7l.2.4-.2-.4z"/>
+    <path fill="#001000" d="M288.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M289.4 265.2l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M291.5 265.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M293.6 265.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M294.3 265.2l-.7 1.4.7-1.4z"/>
+    <path fill="#184a00" d="M297.1 265.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M298.5 265.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M299.2 265.2l-.7 1.4.7-1.4z"/>
+    <path fill="#103900" d="M303.7 265.7l.2.4-.2-.4m1.9-.5l.7.7-.7-.7z"/>
+    <path d="M309.8 265.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M310.5 265.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M313.3 265.2l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M314 265.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M314.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M316.8 265.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M317.5 265.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M319.6 265.2l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M320.3 265.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M321.7 265.2l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M322.4 265.2l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M186.7 265.9l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M187.8 266.1l.5.2-.5-.2z"/>
+    <path fill="#9c9494" d="M188.8 265.9l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M190.2 265.9l1.4 1.3-1.4-1.3z"/>
+    <path fill="#103900" d="M192.3 265.9l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M193.7 265.9l-.7 2 .7-2m2.1 0v2h.7l-.7-2z"/>
+    <path fill="#292100" d="M198 265.9l.6.7-.7-.7z"/>
+    <path fill="#9c9494" d="M200.7 265.9l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M203.6 265.9l.7.7-.8-.7m2.9 0l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M209.2 265.9l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M212.7 265.9l.7.7-.7-.7m2.6.2l.4.2-.4-.2z"/>
+    <path fill="#103900" d="M217 265.9l.6.7-.7-.7z"/>
+    <path fill="#7b7373" d="M219 265.9l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M228.9 265.9v10.7h-.7l-.7-9.4H221v19.4l2.9-1.3 1.4 4.7 3.5-2 .7 7.4 6.3-2c3 2 4.9 2 6.3-1.4h1.4l4.3 4-.7-12.7-12.7-.7v-.6l12 .6v-2c-9-.2-9.9-5.5-9.9-12.7l-7.7-2z"/>
+    <path fill="#b51010" d="M229.6 265.9l.7.7-.7-.7z"/>
+    <path fill="#7b5252" d="M230.3 265.9l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M231 265.9l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M250 265.9l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M250.7 265.9l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M252.8 265.9l.7.7-.7-.7z"/>
+    <path fill="#c6b5b5" d="M253.5 265.9l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M254.2 265.9l.7.7-.7-.7z"/>
+    <path fill="#6b0808" d="M257 265.9l.7.7-.7-.7z"/>
+    <path fill="#100808" d="M257.7 265.9l.7.7-.7-.7z"/>
+    <path fill="#5a3131" d="M258.4 265.9l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M276.7 265.9l.7.7-.7-.7z"/>
+    <path fill="#a56363" d="M277.4 265.9l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M278.1 265.9l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M271.8 268c0 6.7-.7 12.2-9.1 12.6 1.8 5.1 11 1.9 14-.8 4.1-3.7 3.5-9 3.5-13.9l-8.4 2z"/>
+    <path fill="#bdbdbd" d="M288 265.9l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M288.7 265.9l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M291.5 265.9l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M294.3 265.9l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M299.2 265.9l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M304.9 265.9l.7.7-.8-.7z"/>
+    <path fill="#185200" d="M305.6 265.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M304.1 272l6.4-6c-3.5.8-5 3-6.4 6z"/>
+    <path fill="#103900" d="M309 265.9l.8.7-.7-.7z"/>
+    <path fill="#7b7373" d="M312.6 265.9l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M313.3 265.9l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M314 265.9l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M316.1 265.9l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M316.8 265.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M320.3 265.9l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M321 265.9l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M321.7 265.9l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M322.4 265.9l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M323.1 265.9l.7.7-.7-.7m-136.4.7l.7.6-.7-.6z"/>
+    <path fill="#293129" d="M187.4 266.6l.7.6-.7-.6z"/>
+    <path fill="#428c00" d="M188.5 266.8l.5.2-.5-.2z"/>
+    <path fill="#397b00" d="M189.7 267l.2.5-.2-.5z"/>
+    <path fill="#295200" d="M190.2 266.6l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M192.3 266.6l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M198 266.6l.6.6-.7-.6z"/>
+    <path fill="#425242" d="M200.7 266.6l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M203.6 266.6l.7.6-.8-.6z"/>
+    <path fill="#295200" d="M206.4 266.6l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M209.2 266.6v2h.7l-.7-2m3 .4l.3.5-.3-.5m2.6-.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M216.7 266.8l.5.2-.5-.2z"/>
+    <path fill="#295200" d="M218.3 266.6l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M219 266.6l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M220.4 266.6l.7.6-.7-.6z"/>
+    <path fill="#5a3131" d="M227.5 266.6l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M231 266.6l.7.6-.7-.6z"/>
+    <path fill="#842118" d="M231.7 266.6l.7.6-.7-.6z"/>
+    <path fill="#8c6363" d="M232.4 266.6l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M233.1 266.6l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M249.3 266.6l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M250 266.6l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M252 266.6l.8.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M252.8 266.6l.7.6-.7-.6z"/>
+    <path fill="#8c6363" d="M253.5 266.6l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M257 266.6l.7.6-.7-.6z"/>
+    <path fill="#4a2129" d="M257.7 266.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M258.4 266.6l.7.6-.7-.6z"/>
+    <path fill="#d6a5a5" d="M274.6 266.6l.7.6-.7-.6z"/>
+    <path fill="#946b63" d="M275.3 266.6l.7.6-.7-.6z"/>
+    <path fill="#a52921" d="M276 266.6l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M276.7 266.6l.7.6-.7-.6z"/>
+    <path fill="#4a2129" d="M280.2 266.6l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M281 266.6v.6h6.3l-6.4-.6z"/>
+    <path fill="#212139" d="M287.3 266.6l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M290 266.6l2.2 1.3v-.7l-2.1-.6z"/>
+    <path fill="#8c8c8c" d="M291.5 266.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M292.2 266.6l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M294.3 266.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M295 266.6l-.7 1.3.7-1.3m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M297.8 266.6l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M299.2 266.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M300.6 266.6l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M303.4 266.6l.8.6-.8-.6z"/>
+    <path fill="#103900" d="M304.9 266.6l.7.6-.8-.6m3.6 0l.7.6-.7-.6z"/>
+    <path fill="#313931" d="M311.9 266.6l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M312.6 266.6l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M315.4 266.6l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M316.1 266.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M321.7 266.6l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M322.4 266.6l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M323.1 266.6l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M187.4 267.2l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M188 267.2l.8.7-.7-.7z"/>
+    <path fill="#103900" d="M188.8 267.2l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M192.3 267.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M193.7 267.2l.7.7-.7-.7m5.2.5l.2.4-.2-.4m1.8-.5l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M201.4 267.2l.7.7-.7-.7m2.1 0l.8.7-.8-.7z"/>
+    <path fill="#294200" d="M204.3 267.2l.6.7-.7-.7m2.9 0l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M214.1 267.2l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M214.8 267.2l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M216.2 267.2l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M218.3 267.2l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M233.1 267.2l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M233.8 267.2l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M234.5 267.2l.7.7-.7-.7z"/>
+    <path fill="#943131" d="M235.7 267.5l.5.2-.5-.2z"/>
+    <path fill="#c6b5b5" d="M236.6 267.2l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M249.3 267.2l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M252 267.2l.8.7-.7-.7z"/>
+    <path fill="#efefef" d="M252.8 267.2l.7.7-.7-.7z"/>
+    <path fill="#943131" d="M253.5 267.2l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M256.3 267.2l1.4 6-1.4-6z"/>
+    <path fill="#6b0808" d="M257 267.2l1.4 1.4-1.4-1.4z"/>
+    <path fill="#733939" d="M257.7 267.2l.7.7-.7-.7z"/>
+    <path fill="#c69c94" d="M271 267.2l.8.7-.7-.7z"/>
+    <path fill="#ad3931" d="M272.3 267.5l.4.2-.4-.2z"/>
+    <path fill="#bd2110" d="M273.2 267.2l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M273.9 267.2l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M274.6 267.2l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M280.2 267.2v5.4h.7l-.7-5.4z"/>
+    <path fill="#003994" d="M281 267.2c0 12.5-7.3 17-19.8 16.1l-.7 12.7c2.7 0 6.4.2 7-2.7l2.9 2 2.8-2.6-.7 2.6 1.4-1.3h.7l4.2-.7-.7 2 2.1-2.6 1.4 1.3h2.1v-2l1.5.7.7-6c3.5-3 1.4-15 1.4-19.5h-6.4z"/>
+    <path fill="#424242" d="M290 267.2l.8.7-.7-.7z"/>
+    <path fill="#185200" d="M292.2 267.2l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M297.8 267.2v2h.7l-.7-2z"/>
+    <path fill="#185200" d="M299.2 267.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M301.3 267.2v3.4h.7l-.7-3.4z"/>
+    <path fill="#185200" d="M304.1 267.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M304.9 267.2l.7.7-.8-.7z"/>
+    <path fill="#082108" d="M307.7 267.2l.7.7-.7-.7z"/>
+    <path d="M311.2 267.2l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M311.9 267.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M314.7 267.2l-1.4 2 1.4-2z"/>
+    <path fill="#63636b" d="M315.4 267.2l.7.7-.7-.7m-127.3.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M189.5 268l1.4 1.3-1.4-1.4z"/>
+    <path fill="#295200" d="M190.2 268l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M193 268l.7.6-.7-.7z"/>
+    <path fill="#397b00" d="M193.7 268l.7.6-.7-.7m2.1 0v1.4h1.4v-1.4h-1.4z"/>
+    <path fill="#8c8c8c" d="M201.4 268l.7.6-.7-.7z"/>
+    <path fill="#7b7373" d="M204.3 268l.6.6-.7-.7z"/>
+    <path fill="#103900" d="M215.5 268l.7.6-.7-.7z"/>
+    <path fill="#396b10" d="M217.6 268l.7.6-.7-.7z"/>
+    <path fill="#dedede" d="M218.3 268l.7.6-.7-.7z"/>
+    <path fill="#8c7373" fill-opacity=".5" d="M236.6 268v6h.7l-.7-6z"/>
+    <path fill="#efefef" d="M248.6 268l.7.6-.7-.7z"/>
+    <path fill="#10214a" d="M249.3 268l.7.6-.7-.7z"/>
+    <path fill="#636b7b" d="M252 268l.8.6-.7-.7z"/>
+    <path fill="#ad1810" d="M253.5 268l.7.6-.7-.7z"/>
+    <path fill="#420000" d="M257 268l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M290 268l.8.6-.7-.7z"/>
+    <path fill="#63636b" d="M290.8 268l.7.6-.7-.7z"/>
+    <path fill="#425242" d="M292.2 268l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M295 268l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M299.2 268l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M303.4 268l1.5 1.3-1.5-1.4z"/>
+    <path fill="#103900" d="M304.1 268l.7.6-.7-.7m2.9 0l.7.7-.7-.7m2.8 0l-3.5 4 3.5-4z"/>
+    <path fill="#082108" d="M310.5 268l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M311.2 268l.7.6-.7-.7z"/>
+    <path fill="#314231" d="M314.7 268l-.7 1.3.7-1.4z"/>
+    <path fill="#bdbdbd" d="M188 268.6l.8.6-.7-.6z"/>
+    <path fill="#397b00" d="M188.8 268.6l.7.6-.7-.6m2 0l.8.6-.7-.6z"/>
+    <path fill="#294200" d="M194 269l.2.5-.3-.5m5 0l.2.5-.2-.5z"/>
+    <path fill="#526b42" d="M201.4 268.6l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M204.3 268.6l.6.6-.7-.6z"/>
+    <path fill="#314231" d="M205 268.6l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M209.2 268.6l.7.6-.7-.6m4.2.6v.7h2.1l-2-.6m2-.7l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M217.6 268.6l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M242.7 268.8l.5.2-.5-.2z"/>
+    <path fill="#8c8c8c" d="M243.7 268.6l.7.6-.8-.6z"/>
+    <path fill="#bdbdbd" d="M244.3 268.6l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M245 268.6l.8.6-.7-.6z"/>
+    <path fill="#9c9494" d="M248.6 268.6l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M249.3 268.6l.7.6-.7-.6z"/>
+    <path fill="#00215a" d="M251.4 268.6l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M252 268.6l.8.6-.7-.6z"/>
+    <path fill="#a51008" d="M253.5 268.6l.7.6-.7-.6z"/>
+    <path fill="#310000" d="M257 268.6l.7.6-.7-.6z"/>
+    <path fill="#940008" d="M257.7 268.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M258.4 268.6l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M262.6 268.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M263.4 268.6l.7.6-.8-.6z"/>
+    <path fill="#8c8c8c" d="M264.5 268.8l.5.2-.5-.2z"/>
+    <path fill="#7b7373" d="M265.5 268.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M290 268.6l.8.6-.7-.6z"/>
+    <path fill="#103900" d="M290.8 268.6l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M291.5 268.6l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M292.2 268.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M292.9 268.6l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M295.5 268.8l.4.2-.4-.2z"/>
+    <path fill="#297b00" d="M298.5 268.6l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M299.2 268.6l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M300 268.6l.6.6-.7-.6z"/>
+    <path fill="#103900" d="M303.4 268.6l.8.6-.8-.6m2.9 0l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M314.7 268.6l.7.6-.7-.6z"/>
+    <path fill="#396b10" d="M188.8 269.3l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M190.9 269.3l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M196.8 269.7l.2.5-.3-.5z"/>
+    <path fill="#396b10" d="M201.4 269.3l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M203.6 269.3l.7.6-.8-.6z"/>
+    <path fill="#dedede" d="M205 269.3l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M205.7 269.3l2 2-2-2z"/>
+    <path fill="#294200" d="M208.7 269.7l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M214.1 269.3l.7.6-.7-.6z"/>
+    <path fill="#314231" d="M217 269.3l.6.6-.7-.6z"/>
+    <path fill="#003994" d="M243 269.3c0 3.3.3 5 4.2 5.3.6-3.6-.6-4.6-4.3-5.4z"/>
+    <path fill="#002984" d="M244.3 269.3l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M245 269.3l.8.6-.7-.6z"/>
+    <path fill="#10214a" d="M245.8 269.3l.7.6-.7-.6z"/>
+    <path fill="#636b7b" d="M246.5 269.3l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M247.2 269.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M247.9 269.3l.7.6-.7-.6z"/>
+    <path fill="#31425a" d="M248.6 269.3l.7.6-.7-.6z"/>
+    <path fill="#21315a" d="M251.4 269.3l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M252.8 269.3l.7.6-.7-.6z"/>
+    <path fill="#ce1810" d="M253.5 269.3l.7.6-.7-.6z"/>
+    <path fill="#420000" d="M257 269.3l.7.6-.7-.6z"/>
+    <path fill="#ce0008" d="M257.7 269.3l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M258.4 269.3l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M260.5 269.3l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M261.2 269.3l.7.6-.7-.6z"/>
+    <path fill="#21315a" d="M262 269.3l.6.6-.7-.6z"/>
+    <path fill="#00216b" d="M262.6 269.3l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M263.4 269.3l.7.6-.8-.6z"/>
+    <path fill="#003994" d="M259.1 270.6c1.7 5.8 6.3 4 6.3-1.4l-6.3 1.4z"/>
+    <path fill="#efefef" d="M290 269.3l.8.6-.7-.6z"/>
+    <path fill="#185200" d="M290.8 269.3l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M291.5 269.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M292.2 269.3l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M292.9 269.3l.7.6-.7-.6m2.8 0l.7.6-.7-.6zm9.9 0l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M309 269.3l.8.6-.7-.6z"/>
+    <path fill="#214210" d="M313.3 269.3l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M314 269.3l-.7 1.3.7-1.4z"/>
+    <path fill="#5a6b52" d="M188.8 270l.7.6-.7-.7z"/>
+    <path fill="#397b00" d="M190.9 270l.7.6-.7-.7z"/>
+    <path fill="#295200" d="M191.6 270l.7.6-.7-.7m2.8 0l.7.7-.7-.7m4.2 0l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M203.6 270l.7.6-.8-.7z"/>
+    <path fill="#cecece" d="M205.7 270l2 2-2-2z"/>
+    <path fill="#397b00" d="M212.7 270l.7.6-.7-.7z"/>
+    <path fill="#214210" d="M216.2 270l-.7 1.3.7-1.4z"/>
+    <path fill="#cecece" d="M217 270l-.8 1.3.7-1.4z"/>
+    <path fill="#002984" d="M247.2 270l.7.6-.7-.7z"/>
+    <path fill="#001039" d="M247.9 270l.7.6-.7-.7z"/>
+    <path fill="#00184a" d="M248.6 270l.7.6-.7-.7z"/>
+    <path fill="#7b7373" d="M251.4 270l.7.6-.7-.7z"/>
+    <path fill="#b5adad" d="M252.8 270l.7.6-.7-.7z"/>
+    <path fill="#6b0808" d="M257 270l.7.6-.7-.7z"/>
+    <path fill="#de2110" d="M257.7 270l.7.6-.7-.7z"/>
+    <path fill="#524242" d="M258.4 270l.7.6-.7-.7z"/>
+    <path fill="#525a6b" d="M259.1 270l.7.6-.7-.7z"/>
+    <path fill="#00184a" d="M259.8 270l.7.6-.7-.7z"/>
+    <path fill="#002984" d="M260.5 270l.7.6-.7-.7z"/>
+    <path fill="#395231" d="M290.8 270l.7.6-.7-.7z"/>
+    <path fill="#296300" d="M291.5 270l.7.6-.7-.7z"/>
+    <path fill="#9c9494" d="M292.2 270l.7.6-.7-.7z"/>
+    <path fill="#5a6b52" d="M292.9 270l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M295.7 270l1.4 1.3-1.4-1.4z"/>
+    <path fill="#297b00" d="M296.4 270l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M298.8 270.4l.2.4-.2-.4z"/>
+    <path fill="#297b00" d="M299.2 270l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M304.9 270l.7.6-.8-.7z"/>
+    <path fill="#296300" d="M308.4 270l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M312.6 270l.7.6-.7-.7z"/>
+    <path fill="#9c9494" d="M188.8 270.6l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M191.6 270.6l.7.7-.7-.7m3 .4l.3.5-.3-.5z"/>
+    <path fill="#295200" d="M196.5 270.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M204.3 270.6l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M207.8 270.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M208.5 270.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M212 270.6l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M247.9 270.6l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M248.6 270.6l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M250.7 270.6l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M251.4 270.6l.7.7-.7-.7z"/>
+    <path fill="#ad0008" d="M257.7 270.6l.7.7-.7-.7z"/>
+    <path fill="#390821" d="M258.4 270.6l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M290.8 270.6l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M291.5 270.6l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M292.2 270.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M292.9 270.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M293.6 270.6l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M300 270.6l.6.7-.7-.7z"/>
+    <path fill="#185200" d="M301.3 270.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M304.1 270.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M307.7 270.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M311.9 270.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M312.6 270.6l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M188.8 271.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M189.5 271.3l.7.6-.7-.6m2.8 0l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M196.5 271.3l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M202.8 271.3l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M204.3 271.3l1.3 1.3-1.3-1.3z"/>
+    <path fill="#cecece" d="M205 271.3l1.4 1.3-1.4-1.3z"/>
+    <path fill="#001000" d="M207.8 271.3l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M210.6 271.3l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M211.3 271.3l.7.6-.7-.6m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M214.1 271.3l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M214.8 271.3l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M215.5 271.3l.7.6-.7-.6z"/>
+    <path fill="#001039" d="M247.9 271.3l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M250.7 271.3l.7.6-.7-.6z"/>
+    <path fill="#7b0008" d="M257 271.3l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M289.1 271.5l.5.2-.5-.2z"/>
+    <path fill="#9c9494" d="M290.8 271.3l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M292 271.5l.4.2-.4-.2z"/>
+    <path fill="#7b7373" d="M292.9 271.3l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M293.6 271.3l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M296.6 271.7l.3.5-.3-.5m2.1 0l.3.5-.2-.5z"/>
+    <path fill="#296300" d="M300 271.3l.6.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M303.4 271.3l.8.6-.8-.6z"/>
+    <path fill="#297b00" d="M307 271.3l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M311.2 271.3l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M311.9 271.3l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M314.7 271.3l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M315.4 271.3l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M316.1 271.3l.7.6-.7-.6z"/>
+    <path fill="#395231" d="M316.8 271.3l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M317.5 271.3l.7.6-.7-.6z"/>
+    <path fill="#5a5231" d="M189.5 272l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M192.3 272l.7.6-.7-.7z"/>
+    <path fill="#295200" d="M194.4 272l1.4 1.3-1.4-1.4z"/>
+    <path fill="#397b00" d="M195.1 272l.7.6-.7-.7m3.5 0l-.7 1.4h1.4l-.7-1.4z"/>
+    <path fill="#396b10" d="M201.4 272l.7.6-.7-.7z"/>
+    <path fill="#526b42" d="M203 272.4l.3.4-.2-.4z"/>
+    <path fill="#efefef" d="M207 272l-.6 1.3.7-1.4z"/>
+    <path fill="#294200" d="M207.8 272l.7.6-.7-.7m2.3.5l.3.4-.3-.4z"/>
+    <path fill="#295200" d="M210.6 272l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M212 272l.7.6-.7-.7z"/>
+    <path fill="#63636b" d="M212.7 272l.7.6-.7-.7z"/>
+    <path fill="#ada5a5" d="M213.4 272l.7.6-.7-.7z"/>
+    <path fill="#00184a" d="M247.9 272l.7.6-.7-.7z"/>
+    <path fill="#31425a" d="M250.7 272l.7.6-.7-.7z"/>
+    <path fill="#6b0808" d="M258 272.4l.2.4-.2-.4z"/>
+    <path fill="#bd0008" d="M258.4 272l.7.6-.7-.7z"/>
+    <path fill="#00215a" d="M259.1 272l.7.6-.7-.7z"/>
+    <path fill="#bdbdbd" d="M288.7 272l.7.6-.7-.7z"/>
+    <path fill="#7b7373" d="M289.4 272l.7.6-.7-.7z"/>
+    <path fill="#dedede" d="M290.8 272l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M291.5 272l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M292.9 272l.7.6-.7-.7z"/>
+    <path fill="#314231" d="M293.6 272l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M301.3 272v2.6h.7l-.7-2.7z"/>
+    <path fill="#185200" d="M303.2 272.1l.5.3-.5-.2m2.4-.3l-1.5 2 1.4-2z"/>
+    <path fill="#296300" d="M306.3 272l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M310.5 272l-1.4 3.3h.7l.7-3.4z"/>
+    <path fill="#63636b" d="M311.2 272l.7.6-.7-.7z"/>
+    <path fill="#9c9494" d="M313.3 272l.7.6-.7-.7z"/>
+    <path fill="#425242" d="M314 272l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M314.7 272l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M315.4 272l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M317.5 272l.7.6-.7-.7z"/>
+    <path fill="#cecece" d="M318.2 272l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M189.5 272.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M192.8 272.8l.4.2-.4-.2z"/>
+    <path fill="#526b42" d="M201.4 272.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M204 272.8l.5.2-.5-.2z"/>
+    <path fill="#314231" d="M205.7 272.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M207 272.6l-.6 1.3.7-1.3z"/>
+    <path fill="#397b00" d="M209.2 272.6v2l2-2h-2z"/>
+    <path fill="#5a6b52" d="M211.3 272.6l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M212 272.6l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M242.2 272.6l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M247.6 272.8l.5.2-.5-.2z"/>
+    <path fill="#7b7373" d="M250.7 272.6l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M258.7 273l.2.5-.2-.5z"/>
+    <path fill="#390821" d="M259.1 272.6l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M280.2 272.6l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M289.4 272.6l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M291.5 272.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M292.9 272.6l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M293.6 272.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M294.3 272.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M296.9 272.8l.5.2-.5-.2z"/>
+    <path fill="#185200" d="M298.5 272.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M302.7 272.6l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M310.5 272.6l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M311.2 272.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M311.9 272.6l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M312.6 272.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M313.3 272.6l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M318.2 272.6l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M189.5 273.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M190.2 273.3l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M193 273.3l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M195.1 273.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M198 273.3l.6.6-.7-.6z"/>
+    <path fill="#6b735a" d="M201.4 273.3l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M202.8 273.3l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M204.5 273.7l.2.5-.2-.5z"/>
+    <path fill="#315221" d="M207 273.3l.8.6-.7-.6z"/>
+    <path fill="#103900" d="M209.2 273.3l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M210.6 273.3l-.7 1.3.7-1.3z"/>
+    <path fill="#292921" d="M212 273.3l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M212.7 273.3l.7.6-.7-.6z"/>
+    <path fill="#733939" d="M220.4 273.3l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M227.5 273.3l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M242.2 273.3l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M250 273.3l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M250.7 273.3l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M257 273.3l.7.6-.7-.6z"/>
+    <path fill="#520808" d="M257.7 273.3l.7.6-.7-.6z"/>
+    <path fill="#7b0008" d="M259.1 273.3l.7.6-.7-.6z"/>
+    <path fill="#636b7b" d="M265.5 273.3l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M280.5 273.7l.2.5-.2-.5z"/>
+    <path fill="#001000" d="M289.4 273.3l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M290 273.3l.8.6-.7-.6z"/>
+    <path fill="#6b735a" d="M291.5 273.3l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M294 273.5l.5.2-.4-.2z"/>
+    <path fill="#103900" d="M297.1 273.3l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M299.2 273.3l.7.6-.7-.6z"/>
+    <path fill="#293129" d="M309.8 273.3l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M310.5 273.3l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M311.2 273.3l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M311.9 273.3l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M318.2 273.3l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M319 273.3l.6.6-.7-.6z"/>
+    <path fill="#314231" d="M190.2 274l.7.6-.7-.7z"/>
+    <path fill="#295200" d="M193 274l.7.6-.7-.7z"/>
+    <path fill="#397b00" d="M195.1 274l.7.6-.7-.7z"/>
+    <path fill="#295200" d="M195.8 274l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M198 274l.6.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M201.7 274.4l.2.4-.2-.4m1.1-.5l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M206.4 274l.7.6-.7-.7z"/>
+    <path fill="#397b00" d="M207 274l-.6 3.3h.7v-3.4z"/>
+    <path fill="#294200" d="M208.7 274.4l.2.4-.2-.4z"/>
+    <path fill="#bdbdbd" d="M211.3 274l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M212.2 274.4l.3.4-.3-.4z"/>
+    <path fill="#bdbdbd" d="M212.7 274l.7.6-.7-.7m5.6 0l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M219 274l.7.6-.7-.7z"/>
+    <path fill="#315221" d="M219.7 274l.7.6-.7-.7z"/>
+    <path fill="#310000" d="M220.4 274l.7.6-.7-.7z"/>
+    <path fill="#a51008" d="M228.2 274l.7.6-.7-.7z"/>
+    <path fill="#845a52" d="M236.6 274l.7.6-.7-.7z"/>
+    <path fill="#dedede" d="M242.2 274l.7.6-.7-.7z"/>
+    <path fill="#10214a" d="M243 274l.6.6-.7-.7z"/>
+    <path fill="#00216b" d="M250 274l.7.6-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250.7 274l.7.6-.7-.7z"/>
+    <path fill="#a51008" d="M257 274l.7.6-.7-.7z"/>
+    <path fill="#940008" d="M257.7 274l1.4 1.3-1.4-1.4z"/>
+    <path fill="#bd0008" d="M258.9 274.2l.5.2-.5-.2z"/>
+    <path fill="#00215a" d="M259.8 274l.7.6-.7-.7z"/>
+    <path fill="#10214a" d="M264.8 274l.6.6-.6-.7z"/>
+    <path fill="#cecece" d="M265.5 274l-.7 1.3.7-1.4z"/>
+    <path fill="#103900" d="M289.4 274l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M290 274l.8.6-.7-.7z"/>
+    <path fill="#9c9494" d="M291.5 274l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M292.2 274l.7.6-.7-.7z"/>
+    <path fill="#103900" d="M294.3 274l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M297.1 274l.7.6-.7-.7zm7 0l.8.6-.7-.7z"/>
+    <path fill="#103900" d="M309 274l.8.6-.7-.7z"/>
+    <path fill="#184a00" d="M309.8 274l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M310.5 274l.7.6-.7-.7m6 .3l.6.2-.5-.2m1.6-.3l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M319 274l.6.6-.7-.7z"/>
+    <path fill="#bdbdbd" d="M190.2 274.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M190.9 274.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M193.7 274.6l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M195.8 274.6l1.4 1.3-1.4-1.3z"/>
+    <path fill="#397b00" d="M196.5 274.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M198 274.6l-.8 2 .7-2z"/>
+    <path fill="#bdbdbd" d="M202.8 274.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M203.6 274.6l.7.7-.8-.7z"/>
+    <path fill="#295200" d="M205 274.6l.7.7-.7-.7z"/>
+    <path fill="#738c63" d="M209.2 274.6l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M210.6 274.6l-2.8 3.4 2.8-3.4z"/>
+    <path fill="#214210" d="M211.3 274.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M213 275l.2.5-.3-.5z"/>
+    <path fill="#efefef" d="M215.5 274.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M216.2 274.6l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M217 274.6l.6.7-.7-.7z"/>
+    <path fill="#294200" d="M217.6 274.6v2h.7l-.7-2z"/>
+    <path fill="#397b00" d="M218.8 274.8l.5.2-.5-.2z"/>
+    <path fill="#214210" d="M219.7 274.6l.7.7-.7-.7z"/>
+    <path fill="#733939" d="M220.4 274.6l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M228.2 274.6l.7.7-.7-.7z"/>
+    <path fill="#943131" d="M236.6 274.6l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M243 274.6l.6.7-.7-.7z"/>
+    <path fill="#636b7b" d="M243.7 274.6l.7.7-.8-.7z"/>
+    <path fill="#10295a" d="M244.3 274.6l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M245.5 274.8l.5.2-.5-.2z"/>
+    <path fill="#001039" d="M246.5 274.6l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M250 274.6l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M250.7 274.6l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M257 274.6l.7.7-.7-.7z"/>
+    <path fill="#bd0008" d="M257.7 274.6l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M259.1 274.6l2.8 7.4-2.8-7.4z"/>
+    <path fill="#391810" d="M259.8 274.6l.7.7-.7-.7z"/>
+    <path fill="#636b7b" d="M260.5 274.6l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M261.2 274.6l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M264 274.6l.8.7-.8-.7z"/>
+    <path fill="#9c4a42" d="M271 274.6l.8.7-.7-.7z"/>
+    <path fill="#ce1810" d="M279.5 274.6l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M289.6 275l.2.5-.2-.5z"/>
+    <path fill="#395231" d="M290 274.6l.8.7-.7-.7z"/>
+    <path fill="#dedede" d="M291.5 274.6l-.7 1.3.7-1.3z"/>
+    <path fill="#296300" d="M292.2 274.6l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M294.3 274.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.1 274.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M303.4 274.6l.8.7-.8-.7z"/>
+    <path fill="#296300" d="M307.9 275l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M308.4 274.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M314.7 274.6l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M315.4 274.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M316.1 274.6l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M316.8 274.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M317.5 274.6l1.4 1.3-1.4-1.3z"/>
+    <path fill="#315221" d="M319 274.6l.6.7-.7-.7z"/>
+    <path fill="#7b7373" d="M190.9 275.3l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M191.6 275.3l1.4 1.3-1.4-1.3m2.1 0l2.1 1.3v-.7l-2.1-.6z"/>
+    <path fill="#294200" d="M194.4 275.3l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M197.2 275.3l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M201.4 275.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M202.8 275.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M203.6 275.3l.7.6-.8-.6z"/>
+    <path fill="#294200" d="M205 275.3v2h.7l-.7-2z"/>
+    <path fill="#295200" d="M207.8 275.3l.7.6-.7-.6z"/>
+    <path fill="#396b10" d="M208.5 275.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M209.2 275.3l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M210.6 275.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M212 275.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M214.1 275.3l-.7 1.3.7-1.3z"/>
+    <path fill="#63636b" d="M214.8 275.3l.7.6-.7-.6z"/>
+    <path fill="#396b10" d="M215.5 275.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M219 275.3l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M219.7 275.3l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M228.2 275.3l.7.6-.7-.6z"/>
+    <path fill="#a51008" d="M236.6 275.3l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M246.5 275.3l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M247.2 275.3l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M250 275.3l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M252.8 275.3l.7.6-.7-.6z"/>
+    <path fill="#a51008" d="M257 275.3l.7.6-.7-.6z"/>
+    <path fill="#6b0808" d="M258.7 275.7l.2.5-.2-.5z"/>
+    <path fill="#7b0008" d="M259.8 275.3l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M260.5 275.3l.7.6-.7-.6z"/>
+    <path fill="#ad3931" d="M271 275.3l.8.6-.7-.6z"/>
+    <path fill="#842118" d="M279.5 275.3l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M290 275.3l.8.6-.7-.6z"/>
+    <path fill="#184a00" d="M292.2 275.3l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M294.8 275.5l.4.2-.4-.2z"/>
+    <path fill="#185200" d="M299.2 275.3l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M306.3 275.3l1.4 1.3-1.4-1.3z"/>
+    <path fill="#103900" d="M307 275.3l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M313.3 275.3l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M314 275.3l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M314.7 275.3l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M317.5 275.3l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M319 275.3l.6.6-.7-.6z"/>
+    <path fill="#cecece" d="M319.6 275.3l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M324.6 275.3l.6.6-.6-.6z"/>
+    <path fill="#8c8c8c" d="M325.5 275.7l.2.5-.2-.5z"/>
+    <path fill="#63636b" d="M191.6 276l.7.6-.7-.7z"/>
+    <path fill="#001000" d="M198 276l.6.6-.7-.7z"/>
+    <path fill="#397b00" d="M200.7 276l.7.6-.7-.7z"/>
+    <path fill="#bdbdbd" d="M201.4 276l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M203.6 276l.7.6-.8-.7z"/>
+    <path fill="#103900" d="M207.8 276l.7.6-.7-.7z"/>
+    <path fill="#bdc6ad" d="M208.5 276l.7.6-.7-.7z"/>
+    <path fill="#214210" d="M209.9 276l.7.6-.7-.7z"/>
+    <path fill="#295200" d="M211.3 276l.7.6-.7-.7z"/>
+    <path fill="#526b42" d="M213 276.4l.2.4-.3-.4z"/>
+    <path fill="#314231" d="M214.1 276l.7.6-.7-.7z"/>
+    <path fill="#397b00" d="M218.3 276l.7.6-.7-.7z"/>
+    <path fill="#214210" d="M219 276l.7.6-.7-.7z"/>
+    <path fill="#ce2110" d="M228.2 276l.7.6-.7-.7z"/>
+    <path fill="#ce1810" d="M236.6 276l.7.6-.7-.7z"/>
+    <path fill="#a59494" d="M237.3 276l.7.6-.7-.7z"/>
+    <path fill="#9c9494" d="M246.5 276l.7.6-.7-.7z"/>
+    <path fill="#002984" d="M247.2 276l.7.6-.7-.7z"/>
+    <path fill="#10295a" d="M250 276l.7.6-.7-.7z"/>
+    <path fill="#c6b5b5" d="M252.8 276l.7.6-.7-.7z"/>
+    <path fill="#ce1810" d="M253.7 276.4l.3.4-.3-.4z"/>
+    <path fill="#bd0008" d="M259.8 276l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M260.5 276l.7.6-.7-.7z"/>
+    <path fill="#debdb5" d="M270.4 276l.7.6-.7-.7z"/>
+    <path fill="#ce1810" d="M271 276l.8.6-.7-.7z"/>
+    <path fill="#00184a" d="M279.5 276l.7.6-.7-.7z"/>
+    <path fill="#5a7b42" d="M289.4 276l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M290 276l.8.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M290.8 276l.7.6-.7-.7z"/>
+    <path fill="#315221" d="M292.2 276l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M294.3 276l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M295 276v2h.7l-.7-2z"/>
+    <path fill="#185200" d="M298 276.4l.3.4-.2-.4z"/>
+    <path fill="#296300" d="M299.2 276l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M302 276l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M305.6 276l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M306.3 276l.7.6-.7-.7z"/>
+    <path fill="#296300" d="M311.9 276l.7.6-.7-.7z"/>
+    <path fill="#395231" d="M312.6 276l.7.6-.7-.7z"/>
+    <path fill="#bdbdbd" d="M313.3 276l.7.6-.7-.7z"/>
+    <path fill="#63636b" d="M318.2 276l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M319 276l.6.6-.7-.7z"/>
+    <path fill="#63636b" d="M319.6 276l.7.6-.7-.7z"/>
+    <path fill="#dedede" d="M322.4 276l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M323.1 276l.7.6-.7-.7z"/>
+    <path fill="#314231" d="M323.9 276l.7.6-.8-.7z"/>
+    <path fill="#001000" d="M324.6 276l.6.6-.6-.7z"/>
+    <path fill="#8c8c8c" d="M192.3 276.6l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M193 276.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M198 276.6l.6.7-.7-.7z"/>
+    <path fill="#294200" d="M198.9 277l.2.5-.2-.4z"/>
+    <path fill="#8c8c8c" d="M201.4 276.6l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M203.6 276.6l.7.7-.8-.7z"/>
+    <path fill="#295200" d="M207 276.6l-.6 1.3.7-1.3z"/>
+    <path fill="#425242" d="M207.8 276.6l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M209.2 276.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M211.3 276.6l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M213.4 276.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M217 276.6l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M217.6 276.6l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M219 276.6l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M228.9 276.6l.7.7-.7-.7z"/>
+    <path fill="#842118" d="M237.3 276.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M246.5 276.6l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M250 276.6v5.4h.7l-.7-5.4z"/>
+    <path fill="#bdbdbd" d="M252.8 276.6l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M257 276.6l.7.7-.7-.7z"/>
+    <path fill="#ad0008" d="M259.1 276.6l.7.7-.7-.7z"/>
+    <path fill="#733939" d="M260.5 276.6l.7.7-.7-.7z"/>
+    <path fill="#9c4239" d="M270.4 276.6l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M278.8 276.6l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M288 276.6l1.4 1.3-1.4-1.3z"/>
+    <path fill="#4a6342" d="M289.6 277l.2.5-.2-.4z"/>
+    <path fill="#314231" d="M290.8 276.6l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M292.2 276.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M301.3 276.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M302 276.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M304.9 276.6l.7.7-.8-.7z"/>
+    <path fill="#296300" d="M305.6 276.6l.7.7-.7-.7m4.9 0l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M311.2 276.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M311.9 276.6l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M319 276.6l.6.7-.7-.7z"/>
+    <path fill="#52525a" d="M319.6 276.6l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M320.3 276.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M321 276.6l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M321.7 276.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M322.7 277l.2.5-.2-.4z"/>
+    <path fill="#296300" d="M323.1 276.6l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M323.9 276.6l.7.7-.8-.7z"/>
+    <path fill="#bdbdbd" d="M324.6 276.6l.6.7-.6-.7z"/>
+    <path fill="#efefef" d="M193 277.3l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M193.7 277.3l.7.6-.7-.6z"/>
+    <path fill="#5a5231" d="M194.4 277.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M195.1 277.3l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M201.4 277.3l.7.6-.7-.6z"/>
+    <path fill="#526b42" d="M203.6 277.3l.7.6-.8-.6z"/>
+    <path fill="#213918" d="M207 277.3l.8.6-.7-.6z"/>
+    <path fill="#315221" d="M208.5 277.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M210.6 277.3l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M211.3 277.3l.7.6-.7-.6z"/>
+    <path fill="#292100" d="M212.7 277.3l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M213.4 277.3l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M216.2 277.3l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M217 277.3l.6.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M219 277.3l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M228.9 277.3l.7.6-.7-.6z"/>
+    <path fill="#ce1810" d="M237.3 277.3l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M238 277.3l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M246.5 277.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M252.8 277.3l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M253.5 277.3l.7.6-.7-.6z"/>
+    <path fill="#ad0008" d="M257.7 277.3l.7.6-.7-.6z"/>
+    <path fill="#bd0008" d="M258.4 277.3l.7.6-.7-.6z"/>
+    <path fill="#7b0008" d="M259.1 277.3l.7.6-.7-.6z"/>
+    <path fill="#940008" d="M260.5 277.3l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M261.2 277.3l.7.6-.7-.6z"/>
+    <path fill="#a5847b" d="M269.7 277.3l-.7 1.3.7-1.3z"/>
+    <path fill="#ce1810" d="M270.4 277.3l.7.6-.7-.6z"/>
+    <path fill="#392121" d="M278.8 277.3l.7.6-.7-.6z"/>
+    <path fill="#103910" d="M288 277.3l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M290.8 277.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M291.5 277.3l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M292.2 277.3l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M298 277.7l.3.5-.2-.5z"/>
+    <path fill="#297b00" d="M300.6 277.3l1.4 1.3-1.4-1.3z"/>
+    <path fill="#103900" d="M301.3 277.3l.7.6-.7-.6m2.8 0l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M309 277.3l.8.6-.7-.6z"/>
+    <path fill="#214210" d="M309.8 277.3l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M310.5 277.3l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M316.6 277.5l.4.2-.4-.2z"/>
+    <path fill="#8c8c8c" d="M317.5 277.3l.7.6-.7-.6z"/>
+    <path fill="#6b735a" d="M318.2 277.3l.7.6-.7-.6z"/>
+    <path fill="#4a6342" d="M319 277.3l.6.6-.7-.6z"/>
+    <path fill="#184a00" d="M319.6 277.3l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M320.3 277.3l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M321 277.3l-.7 1.3.7-1.3z"/>
+    <path fill="#319400" d="M321.7 277.3l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M323.1 277.3l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M323.9 277.3l.7.6-.8-.6z"/>
+    <path fill="#dedede" d="M195.1 278l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M195.8 278l.7.6-.7-.7z"/>
+    <path fill="#5a5231" d="M196.5 278l.7.6-.7-.7z"/>
+    <path fill="#295200" d="M197.2 278l.7.6-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M201.4 278l.7.6-.7-.7z"/>
+    <path fill="#292100" d="M206.4 278l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M207 278l.8.6-.7-.7z"/>
+    <path fill="#63636b" d="M207.8 278l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M210.6 278l.7.6-.7-.7m2 0l.8.7-.7-.7z"/>
+    <path fill="#397b00" d="M215.5 278l.7.6-.7-.7z"/>
+    <path fill="#294200" d="M216.2 278l.7.6-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M229.6 278l.7.6-.7-.7z"/>
+    <path fill="#b51010" d="M238 278l1.4 1.3-1.4-1.4z"/>
+    <path fill="#a59494" d="M238.7 278l.7.6-.7-.7z"/>
+    <path fill="#a51008" d="M253.5 278l.7.6-.7-.7z"/>
+    <path fill="#de2110" d="M258.4 278v9.3h2.1l-2-9.4z"/>
+    <path fill="#6b0808" d="M259.4 278.4l.2.5-.2-.5z"/>
+    <path fill="#ce0008" d="M260.5 278l.7.6-.7-.7z"/>
+    <path fill="#7b7373" d="M261.2 278l.7.6-.7-.7z"/>
+    <path fill="#ce1810" d="M269.7 278l.7.6-.7-.7z"/>
+    <path fill="#ad1810" d="M278.1 278l.7.6-.7-.7z"/>
+    <path fill="#5a6b52" d="M288 278l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M288.7 278l.7.6-.7-.7z"/>
+    <path fill="#103910" d="M289.4 278l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M290.8 278l.7.6-.7-.7z"/>
+    <path fill="#9c9494" d="M291.5 278l.7.6-.7-.7z"/>
+    <path fill="#8c9c84" d="M292.4 278.4l.3.5-.3-.5z"/>
+    <path fill="#296300" d="M295 278l.7.6-.7-.7z"/>
+    <path fill="#297b00" d="M295.7 278l-.7 1.3.7-1.4z"/>
+    <path fill="#185200" d="M300.6 278l.7.6-.7-.7m2.1 0l-2 2.7 2-2.7z"/>
+    <path fill="#184a00" d="M303.4 278l.8.6-.8-.7z"/>
+    <path fill="#297b00" d="M307.7 278l.7.6-.7-.7z"/>
+    <path fill="#214210" d="M308.4 278l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M309 278l.8.6-.7-.7z"/>
+    <path fill="#cecece" d="M309.8 278l.7.6-.7-.7z"/>
+    <path fill="#bdbdbd" d="M310.5 278l.7.6-.7-.7z"/>
+    <path fill="#8c8c8c" d="M311.6 278.2l.5.2-.5-.2z"/>
+    <path fill="#6b735a" d="M312.6 278l.7.6-.7-.7z"/>
+    <path fill="#4a6342" d="M313.3 278l.7.6-.7-.7z"/>
+    <path fill="#426331" d="M314 278l.7.6-.7-.7z"/>
+    <path fill="#184a00" d="M314.7 278l.7.6-.7-.7z"/>
+    <path fill="#185200" d="M315.4 278l.7.6-.7-.7z"/>
+    <path fill="#296300" d="M316.6 278.2l.4.2-.4-.2z"/>
+    <path fill="#184a00" d="M321 278l.7.6-.7-.7z"/>
+    <path fill="#63636b" d="M321.7 278l.7.6-.7-.7z"/>
+    <path fill="#dedede" d="M322.4 278l.7.6-.7-.7m-125.2.7l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M198 278.6l.6.7-.7-.7z"/>
+    <path fill="#103900" d="M198.6 278.6l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M199.3 278.6l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M200 278.6l1.4 1.4-1.4-1.4z"/>
+    <path fill="#397b00" d="M201.4 278.6l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M202.1 278.6l.7.7-.7-.7z"/>
+    <path fill="#293129" d="M206.4 278.6l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M207 278.6l.8.7-.7-.7z"/>
+    <path fill="#295200" d="M207.8 278.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M209.9 278.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M212.7 278.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M215.5 278.6l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M218.3 278.6l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M229.6 278.6l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M230.3 278.6l1.4 2-1.4-2z"/>
+    <path fill="#8c7373" d="M239.4 278.6l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M240.1 278.6l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M253.5 278.6l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M258 279l.2.5-.2-.4z"/>
+    <path fill="#6b2131" d="M261.2 278.6l.7.7-.7-.7z"/>
+    <path fill="#946b63" d="M268.3 278.6l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M269 278.6l.7.7-.7-.7m8.4 0l-.7 1.4.7-1.4z"/>
+    <path fill="#00216b" d="M278.1 278.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M288 278.6l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M288.7 278.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M289.4 278.6l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M291.5 278.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M296 279l.2.5-.3-.4m2-.5l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M306.3 278.6l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M307 278.6l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M307.7 278.6l.7.7-.7-.7z"/>
+    <path fill="#395231" d="M308.4 278.6l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M309 278.6l.8.7-.7-.7z"/>
+    <path fill="#185200" d="M309.8 278.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M310.5 278.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M319 278.6l.6.7-.7-.7z"/>
+    <path fill="#184a00" d="M319.6 278.6l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M320.3 278.6l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M321 278.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M198 279.3l.6.7-.7-.7z"/>
+    <path fill="#bd2110" d="M198.6 279.3l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M200 279.3l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M202.1 279.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M205.7 279.3l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M206.4 279.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M207 279.3l.8.7-.7-.7z"/>
+    <path fill="#397b00" d="M209.7 279.5l.4.2-.4-.2m2.8 0l.4.2-.4-.2z"/>
+    <path fill="#103900" d="M214.8 279.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M217.6 279.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M218.3 279.3l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M240.1 279.3l.7.7-.7-.7z"/>
+    <path fill="#8c7373" d="M240.8 279.3l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M241.5 279.3l.7.7-.7-.7z"/>
+    <path fill="#943131" d="M253.7 279.7l.3.5-.3-.5z"/>
+    <path fill="#940008" d="M259.1 279.3l.7.7-.7-.7z"/>
+    <path fill="#ad0008" d="M259.8 279.3l.7.7-.7-.7z"/>
+    <path fill="#940008" d="M261.2 279.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M262 279.3l.6.7-.7-.7z"/>
+    <path fill="#a5847b" d="M266.9 279.3l.7.7-.7-.7z"/>
+    <path fill="#9c2118" d="M267.6 279.3l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M277.4 279.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M288.2 279.7l.2.5-.2-.5z"/>
+    <path fill="#297b00" d="M288.7 279.3v.7h2v-.7h-2z"/>
+    <path fill="#185200" d="M289.4 279.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M291.5 279.3l.7.7-.7-.7z"/>
+    <path fill="#395231" d="M292.2 279.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M297.8 279.3l.7.7-.7-.7m7.8 0l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M306.3 279.3l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M307 279.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M317.5 279.3l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M318.2 279.3l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M319 279.3l.6.7-.7-.7z"/>
+    <path fill="#dedede" d="M319.6 279.3l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M198 280l.6.6-.7-.6z"/>
+    <path fill="#422100" d="M200.7 280l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M202.1 280l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M202.8 280l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M205.7 280l.7.6-.7-.6z"/>
+    <path fill="#314231" d="M207 280l.8.6-.7-.6z"/>
+    <path fill="#294200" d="M209.2 280l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M212 280l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M214.1 280l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M214.8 280l.7.6-.7-.6z"/>
+    <path fill="#396b10" d="M217.6 280l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M218.3 280l.7.6-.7-.6z"/>
+    <path fill="#a51008" d="M231.7 280l.7.6-.7-.6m9.8 0l.7.6-.7-.6z"/>
+    <path fill="#9c2929" d="M242.2 280l.7.6-.7-.6z"/>
+    <path fill="#845a52" d="M243 280l.6.6-.7-.6z"/>
+    <path fill="#a59494" d="M243.7 280l.7.6-.8-.6z"/>
+    <path fill="#c6b5b5" d="M244.3 280l.7.6-.7-.6z"/>
+    <path fill="#8c7373" d="M245.5 280.2l.5.2-.5-.2z"/>
+    <path fill="#212139" d="M246.5 280l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M257.7 280l.7.6-.7-.6z"/>
+    <path fill="#ce0008" d="M259.1 280l.7.6-.7-.6z"/>
+    <path fill="#6b0808" d="M259.8 280l.7.6-.7-.6z"/>
+    <path fill="#ce0008" d="M261.2 280l.7.6-.7-.6z"/>
+    <path fill="#734a42" d="M262 280l.6.6-.7-.6z"/>
+    <path fill="#946b63" d="M262.6 280l.7.6-.7-.6z"/>
+    <path fill="#bd8c8c" d="M263.4 280l.7.6-.8-.6z"/>
+    <path fill="#a5847b" d="M264 280l.8.6-.8-.6z"/>
+    <path fill="#9c5a52" d="M264.8 280l.6.6-.6-.6z"/>
+    <path fill="#ad3931" d="M265.5 280l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M266.2 280l.7.6-.7-.6m9.8 0l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M276.7 280l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M288.7 280l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M290.3 280.4l.2.5-.2-.5z"/>
+    <path fill="#297b00" d="M291.5 280l.7.6-.7-.6z"/>
+    <path fill="#082108" d="M292.2 280l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M295.7 280v2h.7l-.7-2z"/>
+    <path fill="#103900" d="M304.9 280l.7.6-.8-.6z"/>
+    <path fill="#297b00" d="M315.4 280l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M316.1 280l.7.6-.7-.6z"/>
+    <path fill="#425242" d="M316.8 280l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M317.5 280l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M318.2 280l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M198 280.6l.6.7-.7-.7z"/>
+    <path fill="#7b1008" d="M198.6 280.6l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M200 280.6l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M200.7 280.6l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M202.8 280.6l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M205.7 280.6l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M206.4 280.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M207 280.6l.8.7-.7-.7m2 0l.8.7-.7-.7m2 0l-1.3 2.7h.7l.7-2.7z"/>
+    <path fill="#397b00" d="M212 280.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M213.9 280.9l.4.2-.4-.2z"/>
+    <path fill="#397b00" d="M217 280.6l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M217.6 280.6l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M231.7 280.6l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M232.4 280.6l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M246.5 280.6l.7.7-.7-.7z"/>
+    <path fill="#8c6363" d="M253.5 280.6l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M258 281l.2.5-.2-.4z"/>
+    <path fill="#520808" d="M259.8 280.6l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M262 280.6l.6.7-.7-.7z"/>
+    <path fill="#7b1008" d="M275.3 280.6l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M276 280.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M288.7 280.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M292.2 280.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M300.6 280.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M303.4 280.6l.8.7-.8-.7z"/>
+    <path fill="#103900" d="M304.1 280.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M314 280.6l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M314.7 280.6l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M315.4 280.6l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M316.1 280.6l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M198.6 281.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M199.3 281.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M200 281.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M200.7 281.3l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M201.4 281.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.8 281.3l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M203.6 281.3l.7.7-.8-.7z"/>
+    <path fill="#8c8c8c" d="M205.7 281.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M206.4 281.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M207 281.3l.8.7-.7-.7z"/>
+    <path fill="#294200" d="M211.3 281.3l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M212.7 281.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M213.4 281.3l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M217 281.3l-1.5 2 1.4-2z"/>
+    <path fill="#ad1810" d="M233.1 281.3l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M233.8 281.3l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M246.5 281.3l.7.7-.7-.7z"/>
+    <path fill="#8c7373" d="M253.5 281.3l.7.7-.7-.7z"/>
+    <path fill="#6b0808" d="M259.8 281.3l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M262 281.3l.6.7-.7-.7z"/>
+    <path fill="#ad1810" d="M273.9 281.3l.7.7-.7-.7z"/>
+    <path fill="#291029" d="M274.6 281.3l.7.7-.7-.7z"/>
+    <path fill="#29396b" d="M287.3 281.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M288.7 281.3l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M290 281.3l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M290.8 281.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M292.2 281.3l.7.7-.7-.7m10.5 0l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M303.4 281.3l.8.7-.8-.7z"/>
+    <path fill="#297b00" d="M309 281.3l1.5 1.3-1.4-1.3z"/>
+    <path fill="#185200" d="M309.8 281.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M310.5 281.3v.7h2.8l-2.8-.7z"/>
+    <path fill="#185200" d="M313.3 281.3l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M314 281.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M314.7 281.3v.7h2.1l-2.1-.7z"/>
+    <path fill="#4a6342" d="M316.8 281.3v.7h2.1l-2-.7z"/>
+    <path fill="#7b8c73" d="M319 281.3l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M319.6 281.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M320.3 281.3l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M198.6 282l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M201.4 282l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M203.6 282l.7.6-.8-.6z"/>
+    <path fill="#295200" d="M205 282l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M205.7 282l.7.6-.7-.6z"/>
+    <path fill="#733939" d="M206.4 282l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M211.3 282l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M212 282l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M217 282l-.8 1.3.7-1.3z"/>
+    <path fill="#b51010" d="M234.5 282l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M235.2 282l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M236 282l1.3 1.3-1.4-1.3z"/>
+    <path fill="#ce1810" d="M246.5 282l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M247.2 282l.7.6-.7-.6z"/>
+    <path fill="#425a84" d="M250 282l.7.6-.7-.6z"/>
+    <path fill="#b5adad" d="M253.5 282l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M257.7 282l.7.6-.7-.6z"/>
+    <path fill="#940008" d="M260.3 282.2l.5.2-.5-.2z"/>
+    <path fill="#ad0008" d="M261.2 282l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M262 282l1.3 1.3-1.4-1.3z"/>
+    <path fill="#ce1810" d="M271.8 282l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M272.5 282l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M273.2 282l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M287.3 282l.7.6-.7-.6z"/>
+    <path fill="#396321" d="M288.7 282l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M290.8 282v2h.7l-.7-2z"/>
+    <path fill="#296300" d="M292.2 282l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M292.9 282l-.7 1.3.7-1.3z"/>
+    <path fill="#296300" d="M295.7 282v3.3h1.4l-1.4-3.3z"/>
+    <path fill="#297b00" d="M296.4 282l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M302 282l-1.4 2 1.4-2z"/>
+    <path fill="#297b00" d="M302.7 282l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M307.9 282.4l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M308.4 282l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M309 282l.8.6-.7-.6z"/>
+    <path fill="#297b00" d="M319 282l.6.6-.7-.6z"/>
+    <path fill="#184a00" d="M319.6 282l.7.6-.7-.6z"/>
+    <path fill="#313931" d="M320.3 282l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M198.6 282.6l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M199.3 282.6l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M200 282.6l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M201.4 282.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M202.1 282.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M204.5 283l.2.5-.2-.4z"/>
+    <path fill="#7b1008" d="M205 282.6l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M205.9 283l.2.5-.2-.4z"/>
+    <path fill="#631808" d="M206.6 283l.2.5-.2-.4z"/>
+    <path fill="#294200" d="M209.2 282.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M214.8 282.6l.7.7-.7-.7z"/>
+    <path fill="#946b63" d="M220.4 282.6l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M236 282.6l.6.7-.7-.7z"/>
+    <path fill="#941808" d="M237.3 282.6l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M238 282.6l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M238.7 282.6l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M239.4 282.6v.7h5.7l-5.7-.7z"/>
+    <path fill="#941808" d="M245 282.6l.8.7-.7-.7z"/>
+    <path fill="#a51008" d="M245.8 282.6l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M246.5 282.6l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M247.2 282.6l.7.7-.7-.7m3 .5l.3.4-.3-.4z"/>
+    <path fill="#bdbdbd" d="M253.5 282.6l.7.7-.7-.7z"/>
+    <path fill="#ce1810" d="M254.4 283l.3.5-.3-.4z"/>
+    <path fill="#000818" d="M260.5 282.6l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M261.2 282.6l.7.7-.7-.7z"/>
+    <path fill="#080829" d="M262 282.6l.6.7-.7-.7z"/>
+    <path fill="#ce1810" d="M263.4 282.6l.7.7-.8-.7z"/>
+    <path fill="#b51010" d="M269 282.6l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M269.7 282.6l.7.7-.7-.7z"/>
+    <path fill="#5a1021" d="M270.4 282.6l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M271 282.6l.8.7-.7-.7z"/>
+    <path fill="#292921" d="M287.3 282.6l.7.7-.7-.7z"/>
+    <path fill="#5a7b42" d="M288.7 282.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M292.9 282.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M302 282.6l.7.7-.7-.7m3.6 0l1.4 1.4-1.4-1.4z"/>
+    <path fill="#185200" d="M306.3 282.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M307 282.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M315.4 282.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M316.1 282.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M316.8 282.6l.7.7-.7-.7z"/>
+    <path fill="#395231" d="M317.5 282.6l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M318.2 282.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M319 282.6l.6.7-.7-.7z"/>
+    <path fill="#dedede" d="M319.6 282.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M198.6 283.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M199.3 283.3l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M200 283.3l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M200.7 283.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M201.4 283.3l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M202.1 283.3l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M205 283.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M209 283.5l.4.2-.5-.2z"/>
+    <path fill="#396b10" d="M214.1 283.3l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M239.4 283.3l.7.7-.7-.7zm5 0l.6.7-.7-.7z"/>
+    <path fill="#391810" d="M247.2 283.3l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M253.5 283.3l.7.7-.7-.7z"/>
+    <path fill="#291029" d="M260.5 283.3l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M264 283.3v.7h5l-5-.7z"/>
+    <path fill="#082108" d="M287.3 283.3l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M288 283.3l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M289 283.8l.1.4-.2-.5z"/>
+    <path fill="#184a00" d="M293.1 283.8l.3.4-.3-.5z"/>
+    <path fill="#297b00" d="M301.3 283.3l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M304.9 283.3l.7.7-.8-.7z"/>
+    <path fill="#103900" d="M305.6 283.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M311.9 283.3l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M312.6 283.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M313.3 283.3l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M314 283.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M314.7 283.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M315.4 283.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M316.1 283.3l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M198.6 284l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M199.3 284l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M200 284l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M200.7 284l1.4 1.3V284h-1.4z"/>
+    <path fill="#292100" d="M202.1 284l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.8 284l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M205 284l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M205.7 284l.7.7-.7-.7z"/>
+    <path fill="#5a2908" d="M206.4 284l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M208.5 284l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M212.7 284l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M213.4 284l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M214.1 284l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M247.2 284l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M247.9 284l.7.7-.7-.7m2 0l.8.7-.7-.7z"/>
+    <path fill="#dedede" d="M250.7 284l.7.7-.7-.7z"/>
+    <path fill="#a51008" d="M254.2 284l.7.7-.7-.7z"/>
+    <path fill="#390821" d="M260.5 284l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M287.3 284l1.4 1.3-1.4-1.3z"/>
+    <path fill="#5a6b52" d="M288 284l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M290.8 284l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M291.5 284l-.7 1.3.7-1.3z"/>
+    <path fill="#185200" d="M299.2 286l2.1-2-2 2z"/>
+    <path fill="#297b00" d="M303.4 284l1.5 1.3-1.5-1.3z"/>
+    <path fill="#103900" d="M304.1 284l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M304.9 284l.7.7-.8-.7m5.7 0l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M311.2 284l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M311.9 284l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M312.6 284l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M190.9 284.6l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M191.6 284.6l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M199.3 284.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M200.7 284.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M202.8 284.6l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M203.6 284.6l.7 2h.6l-1.4-2z"/>
+    <path fill="#397b00" d="M205.7 284.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M206.4 284.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M208.2 284.9l.5.2-.5-.2m2.4-.2l.7.6-.7-.7z"/>
+    <path fill="#315221" d="M211.3 284.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M212 284.6l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M212.7 284.6l.7.7-.7-.7z"/>
+    <path fill="#391810" d="M247.9 284.6l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M250 284.6l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250.7 284.6l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M254.2 284.6l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M257.7 284.6l.7.7-.7-.7z"/>
+    <path fill="#6b0808" d="M260.5 284.6l.7.7-.7-.7z"/>
+    <path fill="#395231" d="M288.7 284.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M291.5 284.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M292.9 284.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M293.6 284.6l-.7 1.4.7-1.4z"/>
+    <path fill="#296300" d="M302.7 284.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M303.4 284.6l.8.7-.8-.7z"/>
+    <path fill="#185200" d="M309 284.6l.8.7-.7-.7z"/>
+    <path fill="#425242" d="M309.8 284.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M310.5 284.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M190.9 285.3l.7.7-.7-.7z"/>
+    <path fill="#293129" d="M191.6 285.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M192.3 285.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M193 285.3l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M193.7 285.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M199.3 285.3l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M201.4 285.3l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M202.1 285.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M203.6 285.3l.7.7-.8-.7z"/>
+    <path fill="#294200" d="M207.8 285.3l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M209.9 285.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M210.6 285.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M212 285.3l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M212.7 285.3l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M218.3 285.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M219 285.3l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M223.3 285.3l.6.7-.7-.7z"/>
+    <path fill="#10214a" d="M248.6 285.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M250.7 285.3l.7.7-.7-.7z"/>
+    <path fill="#943131" d="M254.4 285.8l.3.4-.3-.4z"/>
+    <path fill="#a51008" d="M257.7 285.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M288 285.3l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M288.7 285.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M291.7 285.8l.3.4-.3-.4z"/>
+    <path fill="#296300" d="M293.6 285.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M296.2 285.5l.5.3-.5-.3m2.3-.2l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M302 285.3l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M302.7 285.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M307.7 285.3l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M308.4 285.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M309 285.3l.8.7-.7-.7z"/>
+    <path fill="#cecece" d="M190.9 286l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M191.6 286l.7.7-.7-.7zm2.1 0l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M194.9 286.2l.4.2-.4-.2z"/>
+    <path fill="#526b42" d="M195.8 286l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M196.5 286l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M197.2 286l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M198 286l.6.7-.7-.7z"/>
+    <path fill="#dedede" d="M198.6 286l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M199.3 286l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M200 286l-.7 1.3.7-1.3z"/>
+    <path fill="#397b00" d="M202.1 286l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M202.8 286l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M207.8 286l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M209.2 286l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M209.9 286l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M212 286l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M212.7 286v2.7h.7l-.7-2.7z"/>
+    <path fill="#63636b" d="M213.4 286l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M218.3 286l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M219 286l1.4 1.3-1.4-1.3z"/>
+    <path fill="#cecece" d="M219.7 286l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M222.5 286l-1.4 2 1.4-2z"/>
+    <path fill="#181000" d="M223.3 286l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M248.6 286l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M249.3 286l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M250.7 286l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M257.7 286l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M288 286v2h.7l-.7-2z"/>
+    <path fill="#103900" d="M288.7 286l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M293.8 286.4l.3.5-.3-.5z"/>
+    <path fill="#297b00" d="M299.2 288l3.5-2-3.5 2z"/>
+    <path fill="#103900" d="M301.3 286l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M307 286l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M307.7 286l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M308.4 286l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M191.6 286.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M198 286.6l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M198.6 286.6l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M200 286.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M200.7 286.6l2.1 2-2-2z"/>
+    <path fill="#294200" d="M203.6 286.6l.7.7-.8-.7z"/>
+    <path fill="#103900" d="M205 286.6l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M209.2 286.6l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M211.3 286.6l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M212 286.6l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M212.7 286.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M214.1 286.6l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M218.3 286.6l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M219 286.6c-2.2 4.7-4.7 9.8 1.4 12.8 0-4 1.5-9.7-1.4-12.7z"/>
+    <path fill="#bd2110" d="M221.1 286.6l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M222.5 286.6l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M223.3 286.6l-.8 1.4h1.5l-.7-1.4z"/>
+    <path fill="#b51010" d="M224 286.6l.6.7-.7-.7z"/>
+    <path fill="#31394a" d="M249.3 286.6l.7.7-.7-.7z"/>
+    <path fill="#525a6b" d="M250.7 286.6l.7.7-.7-.7z"/>
+    <path fill="#8c7373" d="M254.4 287.1l.3.5-.3-.5z"/>
+    <path fill="#a51008" d="M257.7 286.6l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M286 287.1l.3.5-.2-.5z"/>
+    <path fill="#00216b" d="M286.6 286.6l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M287.3 286.6l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M288.7 286.6l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M291.5 286.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M296.4 286.6l-.7 1.4.7-1.4z"/>
+    <path fill="#103900" d="M300.6 286.6l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M305.6 286.6l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M306.3 286.6l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M307 286.6l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M307.7 286.6l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M308.8 286.9l.5.2-.5-.2z"/>
+    <path fill="#4a6342" d="M310.3 286.9l.4.2-.4-.2z"/>
+    <path fill="#295210" d="M311.2 286.6l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M311.9 286.6l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M312.6 286.6v.7h3.5l-3.5-.7z"/>
+    <path fill="#184a00" d="M316.1 286.6l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M316.8 286.6l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M317.5 286.6l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M318.2 286.6l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M319 286.6l.6.7-.7-.7m-127.3.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M193.7 287.3l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M194.9 287.6l.4.2-.4-.2z"/>
+    <path fill="#397b00" d="M196 287.8l.3.4-.3-.4z"/>
+    <path fill="#292100" d="M200.7 287.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M205 287.3l-.7 2h.7v-2m3.5 0l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M209.2 287.3l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M211.3 287.3l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M212 287.3c-1.7 4.3-1.2 6.9 1.4 10.7h.7v-10.7h-.7v8H212v-8z"/>
+    <path fill="#315221" d="M214.1 287.3l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M217.6 287.3l.7.7-.7-.7z"/>
+    <path fill="#396b10" d="M218.3 287.3l.7.7-.7-.7z"/>
+    <path fill="#293129" d="M220.4 287.3l.7.7-.7-.7z"/>
+    <path fill="#293100" d="M221.8 287.3l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M224 287.3l.6.7-.7-.7z"/>
+    <path fill="#cecece" d="M249.3 287.3l.7.7-.7-.7z"/>
+    <path fill="#001039" d="M250 287.3l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M250.7 287.3l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M257.7 287.3l.7.7-.7-.7z"/>
+    <path fill="#6b5252" d="M258.4 287.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M259.1 287.3l.7.7-.7-.7z"/>
+    <path fill="#290018" d="M259.8 287.3l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M260.5 287.3l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M286.6 287.3l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M287.3 287.3l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M288.7 287.3l1.4 1.4-1.4-1.4z"/>
+    <path fill="#297b00" d="M289.4 287.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M291.5 287.3v2h.7l-.7-2z"/>
+    <path fill="#185200" d="M293.6 287.3l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M300 287.3l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M303.4 287.3l.8.7-.8-.7z"/>
+    <path fill="#184a00" d="M304.1 287.3v.7h2.2l-2.2-.7z"/>
+    <path fill="#296300" d="M306.7 287.6l.5.2-.5-.2z"/>
+    <path fill="#297b00" d="M307.7 287.3l.7.7-.7-.7m4.9 0l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M313.3 287.3l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M314 287.3l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M314.7 287.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M315.4 287.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M316.1 287.3l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M192.3 288l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M201.4 288l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M205 288l.7.7-.7-.7m3.5 0l1.4 1.3-1.4-1.3z"/>
+    <path fill="#5a5231" d="M209.2 288l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M210.6 288l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M211.3 288l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M214.8 288l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M217.6 288l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M219.3 288.4l.2.5-.2-.5z"/>
+    <path fill="#295200" d="M220.4 288l.7.7-.7-.7z"/>
+    <path fill="#100808" d="M221.1 288l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M221.8 288l-.7 10.7 2.1-2h.8l-.7 2.7c5.5-1.6 6.5-5.2 4.9-10l-3.5 7.3h-.7V288h-.7l-1.4 7.4V288z"/>
+    <path fill="#295200" d="M222.5 288l.7.7-.7-.7z"/>
+    <path fill="#293100" d="M224 288l.6.7-.7-.7z"/>
+    <path fill="#ce2110" d="M227.5 288l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M228.2 288l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M250 288l.7.7-.7-.7z"/>
+    <path fill="#080829" d="M250.7 288l.7.7-.7-.7z"/>
+    <path fill="#c6b5b5" d="M254.2 288l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M257 288l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M257.7 288l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M286.6 288l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M287.3 288l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M288.4 288.2l.5.2-.5-.2z"/>
+    <path fill="#184a00" d="M293.6 288l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M295.7 288l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M299.2 288l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M302 288l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M302.7 288l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M303.4 288l.8.7-.8-.7z"/>
+    <path fill="#297b00" d="M309.8 288l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M310.5 288l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M311.2 288l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M311.9 288l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M312.6 288l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M313.3 288l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M192.3 288.7l1.4 1.3-1.4-1.3z"/>
+    <path fill="#214210" d="M193 288.7l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M202.1 288.7l1.4 1.3v-1.3h-1.4z"/>
+    <path fill="#103900" d="M203.6 288.7l.7.6-.8-.6m2.9 0l-.7 1.3.7-1.3z"/>
+    <path fill="#397b00" d="M207 288.7l.8.6-.7-.6z"/>
+    <path fill="#295200" d="M208.5 288.7l.7.6-.7-.6z"/>
+    <path fill="#213918" d="M210.6 288.7l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M212.7 288.7v3.3h.7l-.7-3.3z"/>
+    <path fill="#526b42" d="M214.8 288.7l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M217 288.7l.6.6-.7-.6z"/>
+    <path fill="#397b00" d="M217.6 288.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M221.1 288.7l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M222.5 288.7v2.6h.7l-.7-2.6z"/>
+    <path fill="#397b00" d="M224 288.7l.6.6-.7-.6z"/>
+    <path fill="#941808" d="M224.7 288.7l.7.6-.8-.6m2.2 0l-.7 1.3.7-1.3z"/>
+    <path fill="#293100" d="M227.5 288.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M228.2 288.7l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M250 288.7l.7.6-.7-.6z"/>
+    <path fill="#292921" d="M250.7 288.7l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M251.4 288.7l.7.6-.7-.6z"/>
+    <path fill="#842118" d="M257 288.7l.7.6-.7-.6z"/>
+    <path fill="#293129" d="M287.3 288.7l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M288 288.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M289.4 288.7l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M293.6 288.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M295.7 288.7l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M300.6 288.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M301.3 288.7l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M302 288.7l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M307.7 288.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M308.4 288.7l.7.6-.7-.6z"/>
+    <path fill="#001000" d="M309 288.7l.8.6-.7-.6z"/>
+    <path fill="#101810" d="M309.8 288.7l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M310.5 288.7l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M311.6 288.9l.5.2-.5-.2z"/>
+    <path fill="#214210" d="M193.7 289.3l1.4 1.4-1.4-1.4z"/>
+    <path fill="#397b00" d="M199.6 289.8l.2.4-.2-.4m9.6-.5l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M209.9 289.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M210.6 289.3l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M215 289.8l.3.4-.3-.4z"/>
+    <path fill="#dedede" d="M216.2 289.3l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M217 289.3l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M219 289.3l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M224.7 289.3l.7.7-.8-.7z"/>
+    <path fill="#295200" d="M226.8 289.3l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M228.9 289.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250.7 289.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M251.6 289.8l.3.4-.3-.4z"/>
+    <path fill="#736b6b" d="M257 289.3l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M287.3 289.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M288 289.3l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M291.5 289.3l.7 2.7h.7l-1.4-2.7z"/>
+    <path fill="#297b00" d="M292.2 289.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M293.6 289.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M295 289.3l.7.7-.7-.7zm4.2 0l1.4 1.4-1.4-1.4z"/>
+    <path fill="#184a00" d="M300 289.3l.6.7-.7-.7z"/>
+    <path fill="#185200" d="M300.6 289.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M305.6 289.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M306.3 289.3v.7l2.8.7v-.7l-2.8-.7z"/>
+    <path fill="#103900" d="M307 289.3l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M307.7 289.3l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M308.4 289.3v.7h2l-2-.7z"/>
+    <path fill="#297b00" d="M310.7 289.8l.2.4-.2-.4z"/>
+    <path fill="#296300" d="M311.2 289.3v.7l2.8.7v-.7l-2.8-.7z"/>
+    <path fill="#185200" d="M312.6 289.3l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M313.3 289.3l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M314 289.3l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M314.7 289.3l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M315.4 289.3l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M193.7 290l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M197.7 290.2l.5.2-.5-.2z"/>
+    <path fill="#295200" d="M198.6 290l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M205 290l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M209.9 290l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M216.2 290l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M219.3 290.4l.2.5-.2-.5z"/>
+    <path fill="#397b00" d="M220.9 290.2l.5.2-.5-.2z"/>
+    <path fill="#294200" d="M224.7 290l.7.7-.8-.7z"/>
+    <path fill="#bd2110" d="M225.4 290l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M226 290l.8.7-.7-.7z"/>
+    <path fill="#397b00" d="M228.2 290l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M228.9 290l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M252 290l-.6 1.3.7-1.3z"/>
+    <path fill="#ce1810" d="M256.3 290l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M257 290l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M287.3 290l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M288 290l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M289.4 290l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M290 290l.8.7-.7-.7z"/>
+    <path fill="#185200" d="M293.6 290l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M299.2 290l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M303.4 290l1.5 1.3-1.5-1.3z"/>
+    <path fill="#185200" d="M304.1 290l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M304.9 290l.7.7-.8-.7z"/>
+    <path fill="#185200" d="M306 290.2l.5.2-.5-.2m3-.2l.8.7-.7-.7z"/>
+    <path fill="#296300" d="M310 290.4l.2.5-.2-.5z"/>
+    <path fill="#319400" d="M311.2 290l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M311.9 290l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M314 290l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M314.7 290l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M315.4 290l.7.7-.7-.7z"/>
+    <path d="M316.1 290l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M316.8 290l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M317.5 290l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M194.6 291.1l.3.5-.3-.5z"/>
+    <path fill="#52525a" d="M195.1 290.7l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M195.8 290.7l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M196.5 290.7l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M204.3 290.7l.6.6-.7-.6z"/>
+    <path fill="#397b00" d="M205 290.7l.7.6-.7-.6m3.2.2l.5.2-.5-.2z"/>
+    <path fill="#294200" d="M210.1 291.1l.2.5-.2-.5z"/>
+    <path fill="#397b00" d="M214.8 290.7l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M215.5 290.7l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M216.2 290.7l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M220.4 290.7v2h.7l-.7-2z"/>
+    <path fill="#397b00" d="M224.7 290.7v1.3h1.4l-1.4-1.3z"/>
+    <path fill="#211800" d="M225.4 290.7l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M227.5 290.7l.7.6-.7-.6z"/>
+    <path fill="#5a2908" d="M228.9 290.7l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M252 290.7l.8.6-.7-.6z"/>
+    <path fill="#9c2118" d="M256.3 290.7l.7.6-.7-.6z"/>
+    <path fill="#00216b" d="M285.9 290.7l.7.6-.7-.6z"/>
+    <path fill="#103910" d="M286.6 290.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M288.2 291.1l.2.5-.2-.5z"/>
+    <path fill="#296300" d="M289.8 290.9l.5.2-.5-.2z"/>
+    <path fill="#103900" d="M297.8 290.7l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M302.3 291.1l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M303.2 290.9l.5.2-.5-.2z"/>
+    <path fill="#319400" d="M295 298.7a38 38 0 0119.7-6c-6.5-3.8-17.5-1.5-19.7 6z"/>
+    <path fill="#297b00" d="M309 290.7l.8.6-.7-.6z"/>
+    <path fill="#185200" d="M310.5 290.7l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M311.2 290.7l.7.6-.7-.6z"/>
+    <path fill="#293129" d="M311.9 290.7l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M312.6 290.7l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M313.3 290.7l.7.6-.7-.6z"/>
+    <path fill="#314231" d="M195.1 291.3l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M201.4 291.3l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M202.1 291.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M203.6 291.3l.7.7-.8-.7z"/>
+    <path fill="#295200" d="M204.3 291.3l.6.7-.7-.7m3.6 0l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M214.8 291.3l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M215.5 291.3l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M218.8 291.6l.5.2-.5-.2m3.7-.3v2h.7l-.7-2z"/>
+    <path fill="#295200" d="M226.8 291.3l.7.7-.7-.7z"/>
+    <path fill="#293100" d="M228.9 291.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M252 291.3l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M252.8 291.3l.7.7-.7-.7z"/>
+    <path fill="#8c6363" d="M256.3 291.3l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M285.1 291.3l.7.7-.7-.7z"/>
+    <path fill="#21315a" d="M285.9 291.3l.7.7-.7-.7z"/>
+    <path fill="#5a7b42" d="M286.6 291.3l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M290 291.3l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M291.5 291.3l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M300.6 291.3l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M301.3 291.3l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M312.6 291.3l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M313.3 291.3l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M314 291.3l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M314.7 291.3l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M315.4 291.3l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M193.7 292l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M194.4 292l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M200 292l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M200.7 292l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M201.4 292l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M203.6 292l.7.7-.8-.7z"/>
+    <path fill="#294200" d="M208 292.5l.2.4-.2-.4z"/>
+    <path fill="#295200" d="M209.9 292l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#526b42" d="M215.3 292.2l.4.3-.4-.3z"/>
+    <path fill="#295200" d="M218.3 292l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M224.9 292.5l.2.4-.2-.4m2.1 0l.2.4-.2-.4z"/>
+    <path fill="#397b00" d="M228.9 292l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M242.2 292l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M243 292l.6.7-.7-.7z"/>
+    <path fill="#63636b" d="M252.8 292l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M256.3 292l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M283.8 292l.6.7-.6-.7z"/>
+    <path d="M285.1 292l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M285.9 292l.7.7-.7-.7z"/>
+    <path fill="#396321" d="M286.6 292l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M288 292l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M288.7 292l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M290 292l.8.7-.7-.7m2 0l.8.7-.7-.7m3.5 0l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M299.2 292l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M300 292l.6.7-.7-.7z"/>
+    <path fill="#296300" d="M300.6 292l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M314.7 292l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M315.4 292l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M316.1 292l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M316.8 292l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M193.7 292.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M198 292.7l.6.7-.7-.7z"/>
+    <path fill="#294200" d="M199 292.9l.6.2-.5-.2z"/>
+    <path fill="#397b00" d="M200 292.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M202.8 292.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M210.1 293.1l.2.5-.2-.5z"/>
+    <path fill="#397b00" d="M212 292.7v2.7h1.4v-2.7H212z"/>
+    <path fill="#6b735a" d="M214.8 292.7l.7.7-.7-.7z"/>
+    <path fill="#396b10" d="M215.5 292.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M218.3 292.7v3.3h.7l-.7-3.3z"/>
+    <path fill="#295200" d="M220.7 293.1l.2.5-.2-.5z"/>
+    <path fill="#392100" d="M242.2 292.7l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M243 292.7l.6.7-.7-.7z"/>
+    <path fill="#9c9494" d="M252.8 292.7l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M253.5 292.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M254.2 292.7l-.7 1.3.7-1.3z"/>
+    <path fill="#bd0008" d="M254.9 292.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M255.6 292.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M271.8 292.7l-.7 1.3.7-1.3z"/>
+    <path fill="#002984" d="M272.7 293.1l.3.5-.3-.5m7.5-.4l.7.6-.7-.6z"/>
+    <path fill="#00184a" d="M281 292.7l2.7 2v-.7l-2.8-1.3z"/>
+    <path fill="#001010" d="M283.8 292.7l.6.7-.6-.7z"/>
+    <path fill="#002984" d="M284.4 292.7l.8.7-.8-.7z"/>
+    <path fill="#103900" d="M285.1 292.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M285.9 292.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M286.8 293.1l.2.5-.2-.5z"/>
+    <path fill="#296300" d="M288.4 292.9l.5.2-.5-.2z"/>
+    <path fill="#184a00" d="M290 292.7l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M291.5 292.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M292.2 292.7l-.7 2.7.7-2.7z"/>
+    <path fill="#103900" d="M294.3 292.7l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M295.2 293.1l.3.5-.3-.5z"/>
+    <path fill="#103900" d="M295.7 292.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M297.1 293.4v.6h2.1l-2-.6z"/>
+    <path fill="#103900" d="M298.5 292.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M299.2 292.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M307 292.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M307.7 292.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M308.4 292.7l-1.4.7v.6l1.4-1.3z"/>
+    <path fill="#315221" d="M309 292.7l.8.7-.7-.7z"/>
+    <path fill="#4a6342" d="M309.8 292.7v.7h4.9l-5-.7z"/>
+    <path fill="#295210" d="M314.7 292.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M315.4 292.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M316.1 292.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M316.8 292.7l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M317.5 292.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M318.2 292.7l.7.7-.7-.7m-125.2.7l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M193.7 293.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M196.5 293.4l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M197.2 293.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M198 293.4l.6.6-.7-.6z"/>
+    <path fill="#292100" d="M202.1 293.4l.7.6-.7-.6m5.7 0l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M214.1 293.4l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M214.8 293.4l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M215.5 293.4l.7.6-.7-.6m7 0l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M224.4 293.6l.5.2-.5-.2z"/>
+    <path fill="#295200" d="M226.8 293.4l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M236 293.4l.6.6-.7-.6z"/>
+    <path fill="#631808" d="M241.5 293.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M242.2 293.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#428c00" d="M243 293.4l.6.6-.7-.6z"/>
+    <path fill="#631808" d="M243.7 293.4l.7.6-.8-.6z"/>
+    <path fill="#8c7373" d="M254.2 293.4l.7.6-.7-.6z"/>
+    <path fill="#6b0808" d="M254.9 293.4l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M255.6 293.4l.7.6-.7-.6z"/>
+    <path fill="#000818" d="M267.6 293.4l.7.6-.7-.6z"/>
+    <path fill="#082108" d="M271.8 293.4l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M277.4 293.4l1.4 1.3v-1.3h-1.4z"/>
+    <path fill="#001039" d="M280.2 293.4l.7.6-.7-.6m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M283.8 293.4l.6.6-.6-.6z"/>
+    <path d="M284.4 293.4l.8.6-.8-.6z"/>
+    <path fill="#296300" d="M285.1 293.4l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M285.9 293.4l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M290.3 293.8l.2.4-.2-.4z"/>
+    <path fill="#297b00" d="M293.6 293.4v.6l3.5 1.4v-.7l-3.5-1.3z"/>
+    <path fill="#185200" d="M294.3 293.4l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M295.7 293.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M297.8 293.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M304.9 293.4l.7.6-.8-.6z"/>
+    <path fill="#103900" d="M306 293.6l.5.2-.5-.2z"/>
+    <path fill="#214210" d="M308.4 293.4l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M309 293.4l.8.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M309.8 293.4l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M310.5 293.4l.7.6-.7-.6m5.6 0l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M316.8 293.4l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M317.5 293.4l.7.6-.7-.6z"/>
+    <path fill="#292921" d="M318.7 293.6l.5.2-.5-.2z"/>
+    <path fill="#315221" d="M193 294l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M195.1 294l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M195.8 294l.7.7-.7-.7m5.6 0l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.1 294l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M204.3 294l-.8 1.4.8-1.4z"/>
+    <path fill="#397b00" d="M205 294l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M207 294l.8.7-.7-.7z"/>
+    <path fill="#63636b" d="M207.8 294l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M208.5 294l.7.7-.7-.7m1.8.2l.5.3-.5-.3z"/>
+    <path fill="#295200" d="M214.1 294l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M214.8 294l.7.7-.7-.7z"/>
+    <path fill="#426331" d="M215.5 294l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M220.7 294.5l.2.4-.2-.4z"/>
+    <path fill="#295200" d="M222.5 294l.7.7-.7-.7m1.4 0l.7.7-.6-.7z"/>
+    <path fill="#397b00" d="M226.5 294.2l.5.3-.5-.3m2.4-.2l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M235.2 294l.7.7-.7-.7z"/>
+    <path fill="#211800" d="M236 294l.6.7-.7-.7z"/>
+    <path fill="#ce2110" d="M236.6 294l1.4 1.4-1.4-1.4z"/>
+    <path fill="#b51010" d="M240.8 294l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M241.5 294l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M242.2 294l-1.4 4-2-1.3 2 5.3h.7v-2.6h.7v4.7c3.4-2.2 3-6 2.2-9.4h-.7v6.7h-.7l-.8-7.4z"/>
+    <path fill="#294200" d="M243.7 294l.7.7-.8-.7z"/>
+    <path fill="#ce2110" d="M244.3 294l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M253.5 294l.7.7-.7-.7z"/>
+    <path fill="#6b4242" d="M254.2 294l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M254.9 294l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M267.6 294l.7.7-.7-.7z"/>
+    <path fill="#10214a" d="M268.3 294l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M270.4 294l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M271 294l.8.7-.7-.7z"/>
+    <path fill="#184a00" d="M271.8 294l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M273.9 294l.7.7-.7-.7z"/>
+    <path fill="#001010" d="M277.4 294l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M280.2 294l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M283.8 294l.6.7-.6-.7z"/>
+    <path fill="#424242" d="M284.4 294l.8.7-.8-.7z"/>
+    <path fill="#319400" d="M285.1 294l-4.2 12c4-2 6-8 4.2-12z"/>
+    <path fill="#293129" d="M285.9 294l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M286.6 294l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M293.6 294l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M296.2 294.2l.5.3-.5-.3z"/>
+    <path fill="#184a00" d="M297.1 294l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M302.7 294l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M302.7 294.7v.7h3.6l-3.6-.7z"/>
+    <path fill="#297b00" d="M304.9 294l.7.7-.8-.7z"/>
+    <path fill="#319400" d="M305.6 294v.7h4.9l-5-.7z"/>
+    <path fill="#296300" d="M310.5 294l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M311.2 294l-.7 1.4.7-1.4z"/>
+    <path fill="#7b7373" d="M311.9 294l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M312.6 294l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M319 294l.6.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M192.3 294.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M193 294.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M194.4 294.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M195.1 294.7l.7.7-.7-.7m5 0v2h.6l-.7-2z"/>
+    <path fill="#103900" d="M200.7 294.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M204.3 294.7l.6.7-.7-.7z"/>
+    <path fill="#425242" d="M207 294.7l.8.7-.7-.7z"/>
+    <path fill="#315221" d="M208.5 294.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M210.6 294.7l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M214.1 294.7l.7.7-.7-.7z"/>
+    <path fill="#526b42" d="M215.5 294.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M222.3 295l.5.1-.5-.2z"/>
+    <path fill="#294200" d="M224.2 295.1l.2.5-.2-.5m1.9-.4l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M235.2 294.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M236 294.7l1.3 3.3h2.1l-3.5-3.3z"/>
+    <path fill="#311000" d="M236.6 294.7l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M240.8 294.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M243 294.7v2.7h.6l-.7-2.7z"/>
+    <path fill="#5a1008" d="M244.3 294.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M253.5 294.7l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M254.2 294.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M254.9 294.7l.7.7-.7-.7z"/>
+    <path fill="#083121" d="M267.6 294.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M268.3 294.7l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M269 294.7l.7.7-.7-.7z"/>
+    <path fill="#102110" d="M270.4 294.7l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M271 294.7l-.6 6h.7v-6z"/>
+    <path fill="#083121" d="M271.8 294.7l.7.7-.7-.7z"/>
+    <path fill="#000818" d="M273.9 294.7l.7.7-.7-.7z"/>
+    <path fill="#00216b" d="M276.7 294.7l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M277.4 294.7l-.7 1.3.7-1.3z"/>
+    <path fill="#00215a" d="M279.5 294.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M280.2 294.7l.7.7-.7-.7z"/>
+    <path fill="#00215a" d="M281 294.7l.6.7-.7-.7z"/>
+    <path fill="#103910" d="M281.6 294.7l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M282.3 294.7l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M283 294.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M283.8 294.7l-.8 1.3.8-1.3z"/>
+    <path fill="#294221" d="M284.4 294.7l.8.7-.8-.7z"/>
+    <path fill="#103900" d="M285.9 294.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M286.6 294.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M290.3 295.1l.2.5-.2-.5z"/>
+    <path fill="#103900" d="M293.6 294.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M295 294.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M301.3 294.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M302 294.7l.7.7-.7-.7m4.3 0l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M307 294.7v.7h2l-2-.7z"/>
+    <path fill="#4a6342" d="M309.5 295l.5.1-.5-.2z"/>
+    <path fill="#184a00" d="M311.2 294.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M311.9 294.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M312.6 294.7l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M313.3 294.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M314 294.7l1.4 1.3-1.4-1.3z"/>
+    <path fill="#7b7373" d="M192.3 295.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M197.2 295.4l.7 2.6h.7l-1.4-2.6z"/>
+    <path fill="#294200" d="M199 295.6l.6.2-.5-.2z"/>
+    <path fill="#295200" d="M202.1 295.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M202.8 295.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M203.6 295.4l.7.6-.8-.6z"/>
+    <path fill="#213918" d="M206.4 295.4l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M207 295.4l.8.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M208.5 295.4l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M209.2 295.4l.7.6-.7-.6z"/>
+    <path fill="#5a2908" d="M209.9 295.4l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M210.6 295.4l.7.6-.7-.6z"/>
+    <path fill="#292100" d="M211.3 295.4l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M214.1 295.4l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M215.5 295.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M220.4 295.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M226 295.4l.8.6-.7-.6z"/>
+    <path fill="#181000" d="M228.9 295.4l.7.6-.7-.6z"/>
+    <path fill="#310000" d="M229.6 295.4l.7.6-.7-.6z"/>
+    <path fill="#313918" d="M235.2 295.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M236 295.4l.6.6-.7-.6z"/>
+    <path fill="#293100" d="M237.3 295.4l.7.6-.7-.6z"/>
+    <path fill="#5a1010" d="M238 295.4l.7.6-.7-.6z"/>
+    <path fill="#734a42" d="M239.2 295.6l.5.2-.5-.2z"/>
+    <path fill="#5a2121" d="M240.1 295.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M240.8 295.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M244.3 295.4l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M245 295.4l.8.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M253.5 295.4l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M254.2 295.4l.7.6-.7-.6z"/>
+    <path fill="#002984" d="M264 295.4l.8.6-.8-.6z"/>
+    <path fill="#00216b" d="M264.8 295.4l.6.6-.6-.6z"/>
+    <path fill="#103921" d="M267.6 295.4l.7.6-.7-.6z"/>
+    <path fill="#319400" d="M268.3 295.4l-.7 8.7c2.6-2.5 2.5-5.8.7-8.7z"/>
+    <path fill="#102121" d="M269 295.4l.7.6-.7-.6z"/>
+    <path fill="#212139" d="M269.7 295.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M270.4 295.4l.7.6-.7-.6z"/>
+    <path fill="#293129" d="M271.8 295.4l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M272.5 295.4l.7.6-.7-.6z"/>
+    <path fill="#31425a" d="M273.2 295.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M273.9 295.4l.7.6-.7-.6z"/>
+    <path fill="#31425a" d="M274.6 295.4l.7.6-.7-.6z"/>
+    <path fill="#42425a" d="M275.8 295.6l.4.2-.4-.2z"/>
+    <path fill="#184a00" d="M277.6 295.8l.3.5-.2-.5z"/>
+    <path fill="#42425a" d="M278.1 295.4l.7.6-.7-.6z"/>
+    <path fill="#636b7b" d="M278.8 295.4l.7.6-.7-.6z"/>
+    <path fill="#082108" d="M279.5 295.4l.7.6-.7-.6z"/>
+    <path fill="#292921" d="M281 295.4l.6.6-.7-.6z"/>
+    <path fill="#185200" d="M281.6 295.4l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M282.3 295.4l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M283.8 295.4l.6.6-.6-.6z"/>
+    <path fill="#214210" d="M284.4 295.4l.8.6-.8-.6z"/>
+    <path fill="#185200" d="M291.5 295.4l.7.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M293.6 295.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M295 295.4l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M300 295.4l.6.6-.7-.6z"/>
+    <path fill="#103900" d="M300.6 295.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M301.3 295.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M307.7 295.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M308.4 295.4l.7.6-.7-.6z"/>
+    <path fill="#214210" d="M309 295.4l.8.6-.7-.6z"/>
+    <path fill="#7b7373" d="M309.8 295.4l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M310.5 295.4l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M311.9 295.4l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M312.6 295.4l-.7 1.3.7-1.3z"/>
+    <path fill="#8c8c8c" d="M313.3 295.4l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M314 295.4l.7.6-.7-.6z"/>
+    <path fill="#314231" d="M192.3 296l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M193 296l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M193.7 296l.7.7-.7-.7z"/>
+    <path fill="#396b10" d="M194.4 296l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M195.1 296l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M196.3 296.3l.4.2-.4-.2z"/>
+    <path fill="#428c00" d="M199 296.3l.6.2-.5-.2z"/>
+    <path fill="#294200" d="M201.2 296.3l.5.2-.5-.2z"/>
+    <path fill="#397b00" d="M202.1 296l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M205.7 296l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M206.4 296l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M209.2 296l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M211.5 296.5l.3.4-.3-.4z"/>
+    <path fill="#295200" d="M212 296l.7 2.7h.7L212 296z"/>
+    <path fill="#8c8c8c" d="M214.3 296.5l.3.4-.3-.4z"/>
+    <path fill="#efefef" d="M215.5 296l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M216.2 296l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M220.4 296l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M224 296l.6.7-.7-.7z"/>
+    <path fill="#294200" d="M225.4 296l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M228.2 296l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M228.9 296l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M229.6 296l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M230.3 296l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M231 296l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M231.7 296l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M232.4 296l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M233.1 296l.7.7-.7-.7z"/>
+    <path fill="#526b42" d="M235.2 296l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M236 296l1.3 1.4-1.4-1.4z"/>
+    <path fill="#103900" d="M236.6 296l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M238.7 296l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M239.4 296l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M240.1 296l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M245 296l.8.7-.7-.7z"/>
+    <path fill="#7b5252" d="M245.8 296l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M246.5 296l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M247.2 296l.7.7-.7-.7z"/>
+    <path fill="#002984" d="M260.5 296l.7.7-.7-.7z"/>
+    <path fill="#00184a" d="M261.2 296l.7.7-.7-.7z"/>
+    <path fill="#42425a" d="M262 296l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M262.6 296l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M263.4 296l.7.7-.8-.7z"/>
+    <path fill="#bdbdbd" d="M264 296l.8.7-.8-.7z"/>
+    <path fill="#dedede" d="M264.8 296l.6.7-.6-.7z"/>
+    <path fill="#214210" d="M269 296l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M269.7 296l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M273.2 296l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M276 296l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M276.7 296l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M278.8 296l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M281 296l1.3 1.4-1.4-1.4z"/>
+    <path fill="#296300" d="M281.6 296l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M282.3 296l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M283 296l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M283.8 296l.6.7-.6-.7z"/>
+    <path fill="#185200" d="M284.4 296l.8.7-.8-.7m5.7 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M291.7 296.5l.3.4-.3-.4m1.2-.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M294.3 296l1.4 1.4-1.4-1.4z"/>
+    <path fill="#184a00" d="M295 296l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M298.5 296l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M299.2 296l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M300 296l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M309.8 296l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M310.5 296l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M311.2 296l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M192.8 297l.4.1-.4-.2z"/>
+    <path fill="#efefef" d="M194.4 296.7l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M195.1 296.7l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M196.5 299.4l1.4-2c-1.8-.4-2.9.6-1.4 2z"/>
+    <path fill="#294200" d="M199 297l.6.1-.5-.2z"/>
+    <path fill="#295200" d="M200 296.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M204.3 296.7l.6.7-.7-.7z"/>
+    <path fill="#63636b" d="M205 296.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M205.7 296.7l.7.7-.7-.7z"/>
+    <path fill="#5a2121" d="M209.2 296.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M216.2 296.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M217 296.7l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M220.7 297.1l.2.5-.2-.5m2.5-.4l.8.7-.8-.7z"/>
+    <path fill="#63636b" d="M228.2 296.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M229.6 296.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M230.3 296.7l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M231 296.7l.7 4.7 3.5 2.7 5 .6.6-.6c-.5-1.9-6.2-9.7-7-5.4l-1.4-2H231z"/>
+    <path fill="#397b00" d="M232.4 296.7v1.3l1.4-1.3h-1.4z"/>
+    <path fill="#295200" d="M233.8 296.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M235 297l.4.1-.4-.2z"/>
+    <path fill="#397b00" d="M236.1 297.1l.3.5-.3-.5z"/>
+    <path fill="#294200" d="M237.3 296.7l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M239.4 296.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M240.1 296.7l.7.7-.7-.7z"/>
+    <path fill="#526b42" d="M245 296.7l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M247.2 296.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M247.9 296.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M248.6 296.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M249.3 296.7l.7.7-.7-.7m9.1 0l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M259.1 296.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M259.8 296.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M260.5 296.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M261.2 296.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M269 296.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M269.7 296.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M272.5 296.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M273.2 296.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M275.3 296.7l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M276 296.7l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M276.7 296.7l-5 8c5.6 0 8-2.9 8.5-8h-.7l-4.9 7.4 2.1-7.4z"/>
+    <path fill="#4a6342" d="M277.4 296.7l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M278.8 296.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M280.2 296.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M281 296.7l.6.7-.7-.7z"/>
+    <path fill="#184a00" d="M282.3 296.7l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M283 296.7l-4.9 8.7c3.3-1.5 5.7-5.2 5-8.7z"/>
+    <path fill="#082108" d="M283.8 296.7l.6.7-.6-.7z"/>
+    <path fill="#297b00" d="M284.4 296.7l.8.7-.8-.7z"/>
+    <path fill="#184a00" d="M290 296.7l.8.7-.7-.7z"/>
+    <path fill="#185200" d="M294.3 296.7l.7.7-.7-.7m3.5 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M298.5 296.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M301.1 297l.5.1-.5-.2z"/>
+    <path fill="#296300" d="M302 296.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M302.7 296.7v.7h2.2l-2.2-.7z"/>
+    <path fill="#185200" d="M304.9 296.7l.7.7-.8-.7z"/>
+    <path fill="#184a00" d="M306 297l.5.1-.5-.2z"/>
+    <path fill="#185200" d="M307 296.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M307.9 297.1l.2.5-.2-.5z"/>
+    <path fill="#297b00" d="M308.4 296.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M311.9 296.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M312.6 296.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M313.3 296.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M194.4 297.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M196.5 297.4l-.7 1.3h1.4l-.7-1.3z"/>
+    <path fill="#103900" d="M197.2 297.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M202.8 297.4l.7.6-.7-.6z"/>
+    <path fill="#5a5231" d="M203.6 297.4l.7.6-.8-.6z"/>
+    <path fill="#ada5a5" d="M204.3 297.4l.6.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M207 297.4l.8.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M207.8 297.4l.7.6-.7-.6z"/>
+    <path fill="#8c9c84" d="M208.5 297.4l.7.6-.7-.6z"/>
+    <path fill="#5a5231" d="M209.2 297.4l.7.6-.7-.6z"/>
+    <path fill="#422100" d="M209.9 297.4l.7.6-.7-.6z"/>
+    <path fill="#5a2908" d="M210.6 297.4l.7.6-.7-.6z"/>
+    <path fill="#311000" d="M211.3 297.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M212.7 297.4l.7.6-.7-.6z"/>
+    <path fill="#5a6b52" d="M214.1 297.4l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M217 297.4l.6.6-.7-.6z"/>
+    <path fill="#103900" d="M223.3 297.4l.6.6-.7-.6z"/>
+    <path fill="#314231" d="M227.5 297.4l-.7 1.3.7-1.3z"/>
+    <path fill="#dedede" d="M228.2 297.4l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M230.3 297.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M231.7 297.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M236.6 297.4l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M238 297.4l-.7 1.3.7-1.3z"/>
+    <path fill="#103900" d="M240.1 297.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M243.2 297.8l.2.5-.2-.5z"/>
+    <path fill="#294200" d="M245.3 297.8l.2.5-.2-.5z"/>
+    <path fill="#dedede" d="M248.6 297.4l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M249.3 297.4l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M250 297.4l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M257.7 297.4l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M258.4 297.4l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M259.1 297.4l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M269.7 297.4l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M272.5 297.4l-.7 1.3.7-1.3z"/>
+    <path fill="#297b00" d="M273.2 297.4l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M275.3 297.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M276 297.4l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M277.9 297.6l.5.2-.5-.2z"/>
+    <path fill="#296300" d="M278.8 297.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M280.2 297.4l.7.6-.7-.6z"/>
+    <path fill="#319400" d="M281 297.4l.6.6-.7-.6z"/>
+    <path fill="#082108" d="M281.6 297.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M282.3 297.4l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M283.8 297.4l.6.6-.6-.6z"/>
+    <path fill="#296300" d="M290 297.4l.8.6-.7-.6m1.4 0l.7.6-.7-.6z"/>
+    <path fill="#103900" d="M294.3 297.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M295.7 298v.7h2.1l-2-.7z"/>
+    <path fill="#103900" d="M297.1 297.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M297.8 297.4l.7.6-.7-.6z"/>
+    <path fill="#082108" d="M308.4 297.4l.7.6-.7-.6z"/>
+    <path fill="#001000" d="M309 297.4l.8.6-.7-.6z"/>
+    <path fill="#395231" d="M309.8 297.4l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M310.5 297.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M311.2 297.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M312.4 297.6l.4.2-.4-.2z"/>
+    <path fill="#214210" d="M313.3 297.4l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M314 297.4l.7.6-.7-.6z"/>
+    <path fill="#5a5231" d="M194.4 298l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M199.3 298l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M200 298l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M200.7 298l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M201.4 298l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M202.1 298l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M202.8 298l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M204 298.3l.5.2-.5-.2z"/>
+    <path fill="#9c9494" d="M205 298l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M205.7 298l.7.7-.7-.7z"/>
+    <path fill="#396b10" d="M206.4 298l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M207 298l.8.7-.7-.7z"/>
+    <path fill="#428c00" d="M205.7 298.7v.7h6.3v.6h-6.3v.7h1.4v.7c-3.9.2-5.8 1.5-7.8 4.7l12-.7v.7c-3.3 1-8 .6-9.2 4 4.5-1.8 11-2.4 13.4-6.7l-4.2 2 2-2.7-6.2-.6v-.7l11.2.7v.6h-2v.7l9-.7v-.6h-2v-.7h4.2v-.7l-5.7 1.3-16.1-3.3z"/>
+    <path fill="#294200" d="M213.4 298l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M214.1 298l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M217 298l.6.7-.7-.7z"/>
+    <path fill="#314231" d="M217.6 298l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M220.4 298l1.4 1.4-1.4-1.4z"/>
+    <path fill="#397b00" d="M223 298.3l.5.2-.5-.2m3-.3l.8.7-.7-.7z"/>
+    <path fill="#efefef" d="M227.5 298l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M230.3 298l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M231 298l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M232.9 298.3l.4.2-.4-.2z"/>
+    <path fill="#295200" d="M238 298l2.1 1.4v-.7l-2-.7z"/>
+    <path fill="#103900" d="M239 298.5l.2.4-.2-.4z"/>
+    <path fill="#294200" d="M240.8 298l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M250 298l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M250.7 298l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M251.4 298l.7.7-.7-.7m5 0l-1.5 2 1.4-2z"/>
+    <path fill="#63636b" d="M257 298l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M257.7 298l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M269.7 298l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M272.5 298l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M273.2 298l-4.2 6.7c2.6-1.3 5-3.7 4.2-6.7z"/>
+    <path fill="#184a00" d="M273.9 298l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M274.6 298l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M275.3 298l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M276.7 298l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M277.4 298l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M278.1 298l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M280.2 298l1.4 1.4-1.4-1.4z"/>
+    <path fill="#297b00" d="M281 298l1.3 1.4-1.4-1.4z"/>
+    <path fill="#103900" d="M281.6 298l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M283 298l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M283.8 298l.6.7-.6-.7z"/>
+    <path fill="#185200" d="M288.7 298l.7.7-.7-.7zm5.6 0l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M296.4 298l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M309 298l.8.7-.7-.7z"/>
+    <path fill="#425242" d="M309.8 298l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M310.5 298l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M311.2 298l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M311.9 298l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M312.6 298l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M313.3 298l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M314 298l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M314.7 298l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M194.6 299.1l.3.5-.3-.5m2-.4l.6.7-.7-.7z"/>
+    <path fill="#526b42" d="M197.2 298.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M198.4 299l.5.2-.5-.3z"/>
+    <path fill="#bdbdbd" d="M199.3 298.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M200 298.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M202.8 298.7l.7.7-.7-.7z"/>
+    <path d="M203.6 298.7l.7.7-.8-.7z"/>
+    <path fill="#295200" d="M204.3 298.7l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M205 298.7l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M214.1 298.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M214.8 298.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M217 298.7l.6.7-.7-.7z"/>
+    <path fill="#63636b" d="M217.6 298.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M218.3 298.7l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M220.4 298.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M221.8 298.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M222.5 298.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M224.7 298.7l.7.7-.8-.7z"/>
+    <path fill="#214210" d="M225.4 298.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M226 298.7l.8.7-.7-.7z"/>
+    <path fill="#efefef" d="M230.3 298.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M231 298.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M233.8 298.7l1.4 1.3-1.4-1.3z"/>
+    <path fill="#295200" d="M240.8 298.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M243 298.7v2.7h.6l-.7-2.7z"/>
+    <path fill="#295200" d="M245 298.7l.8.7-.7-.7z"/>
+    <path fill="#7b7373" d="M251.4 298.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M252 298.7l2.2 2.7-2.1-2.7z"/>
+    <path fill="#7b7373" d="M256.3 298.7l-1.4 2 1.4-2z"/>
+    <path fill="#efefef" d="M257 298.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M270 299.1l.1.5-.2-.5z"/>
+    <path d="M271.8 298.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M272.5 298.7l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M273.9 298.7l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M274.6 298.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M276.7 298.7l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M277.4 298.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M278.1 298.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M280.2 298.7l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M288.7 298.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M295 298.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M295.7 298.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M309.8 298.7l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M310.5 298.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M311.2 298.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M313.3 298.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M314 298.7l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M314.7 298.7l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M315.4 298.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M193.7 299.4l.7.6-.7-.6z"/>
+    <path fill="#213918" d="M195.1 299.4l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M195.8 299.4l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M196.5 299.4l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M203.6 299.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#214210" d="M204.3 299.4l.6.6-.7-.6z"/>
+    <path fill="#294200" d="M205 299.4v.6h3.5l-3.5-.6z"/>
+    <path fill="#295200" d="M208.5 299.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M209.2 299.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M209.9 299.4l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M210.6 299.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M211.3 299.4l.7.6-.7-.6z"/>
+    <path fill="#213918" d="M214.8 299.4l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M215.5 299.4l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M216.2 299.4l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M217 299.4l.6.6-.7-.6z"/>
+    <path fill="#941808" d="M218.3 299.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M219 299.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M219.7 299.4l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M220.4 299.4l.7.6-.7-.6z"/>
+    <path fill="#de2110" d="M221.1 299.4l-.7 1.3.7-1.3z"/>
+    <path fill="#b51010" d="M221.8 299.4l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M222.5 299.4l.7.6-.7-.6z"/>
+    <path fill="#295200" d="M223.3 299.4l.6.6-.7-.6z"/>
+    <path fill="#102110" d="M224 299.4l.6.6-.7-.6z"/>
+    <path fill="#63636b" d="M224.7 299.4l.7.6-.8-.6z"/>
+    <path fill="#bdbdbd" d="M225.4 299.4l.7.6-.7-.6z"/>
+    <path fill="#315221" d="M231 299.4l.7.6-.7-.6z"/>
+    <path fill="#397b00" d="M235.2 299.4l2.1 2-2-2m4.1 0l.7.6-.7-.6z"/>
+    <path fill="#294200" d="M241.8 299.8l.2.5-.2-.5m3.2-.4l.8.6-.8-.6z"/>
+    <path fill="#6b735a" d="M267.6 299.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M271 299.4l.8.6-.7-.6z"/>
+    <path fill="#184a00" d="M271.8 299.4l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M273.9 299.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M274.6 299.4l.7.6-.7-.6z"/>
+    <path fill="#001000" d="M276.7 299.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M277.4 299.4l.7.6-.7-.6m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M280.7 299.6l.5.2-.5-.2z"/>
+    <path fill="#184a00" d="M283 299.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M285.1 299.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#184a00" d="M295 299.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M297.1 299.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#185200" d="M297.8 299.4l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M298.5 299.4v.6h2.1l-2-.6z"/>
+    <path fill="#296300" d="M300.6 299.4l.7.6-.7-.6z"/>
+    <path fill="#184a00" d="M301.3 299.4v.6h3.5l-3.5-.6z"/>
+    <path fill="#296300" d="M304.9 299.4l.7.6-.8-.6z"/>
+    <path fill="#184a00" d="M305.6 299.4l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M306.3 299.4l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M307 299.4l.7.6-.7-.6z"/>
+    <path fill="#185200" d="M311.2 299.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#9c9494" d="M311.9 299.4l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M193.7 300l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M194.4 300l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M195.1 300l-1.4.7v.7l1.4-1.4z"/>
+    <path fill="#103900" d="M205 300l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M212 300l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M212.7 300l.7.7-.7-.7m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#391810" d="M216.2 300l.7.7-.7-.7z"/>
+    <path fill="#423100" d="M219.5 300.3l.5.2-.5-.2z"/>
+    <path fill="#ce2110" d="M221.1 300l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M221.8 300l.7.7-.7-.7z"/>
+    <path fill="#293100" d="M222.5 300l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M223.3 300v.7h2.8l-2.8-.7z"/>
+    <path fill="#294200" d="M226 300l.8.7-.7-.7z"/>
+    <path fill="#315221" d="M226.8 300l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M227.5 300l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M228.2 300l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M231 300l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M235.2 300l.7.7-.7-.7m4.2 0l.7 2h.7l-1.4-2z"/>
+    <path fill="#315221" d="M245 300l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M254.2 300l.7.7-.7-.7z"/>
+    <path fill="#4a6342" d="M267.6 300l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M271 300l.8.7-.7-.7z"/>
+    <path fill="#185200" d="M273.2 300l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M273.9 300l-.7 1.4.7-1.4z"/>
+    <path fill="#297b00" d="M276 300l1.4 1.4-1.4-1.4z"/>
+    <path fill="#103900" d="M276.7 300l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M279.5 300l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M280.2 300l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M282.3 300l1.4 1.4-1.4-1.4z"/>
+    <path fill="#185200" d="M283 300l.7.7-.7-.7m2.2 0l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M295.7 300l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M296.4 300l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.1 300l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M305.6 300l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M306.3 300l.7.7-.7-.7z"/>
+    <path fill="#101810" d="M307 300l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M307.7 300l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M308.4 300l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M309 300l.8.7-.7-.7z"/>
+    <path fill="#296300" d="M309.8 300l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M312.6 300l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M202.8 300.7l.7.7-.7-.7z"/>
+    <path fill="#5a5231" d="M203.6 300.7l.7.7-.8-.7z"/>
+    <path fill="#295200" d="M204.3 300.7l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M205 300.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M206.1 301l.5.2-.5-.3z"/>
+    <path fill="#397b00" d="M216.2 300.7l.7.7-.7-.7z"/>
+    <path fill="#293100" d="M217 300.7l.6.7-.7-.7z"/>
+    <path fill="#631808" d="M217.6 300.7l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M218.3 300.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M219 300.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M219.7 300.7l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M220.4 300.7l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M221.1 300.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M227.5 300.7l-2.1 2 2-2z"/>
+    <path fill="#294200" d="M228.2 300.7v1.3h1.4l-1.4-1.3z"/>
+    <path fill="#213918" d="M228.9 300.7l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M229.6 300.7l1.4 1.3-1.4-1.3z"/>
+    <path fill="#8c8c8c" d="M231 300.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M236 300.7l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M239.4 300.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M241.5 300.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M245 300.7l.8.7-.7-.7m9.1 0l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M267.6 300.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M271 300.7l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M273.9 300.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M276 300.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M278.8 300.7l.7.7-.7-.7z"/>
+    <path d="M279.5 300.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M280.2 300.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M282.3 300.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M285.1 300.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M288 300.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M289.1 301l.5.2-.5-.3z"/>
+    <path fill="#185200" d="M290 300.7l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M290.8 300.7l-.7 1.3.7-1.3m2.8 0l.7.7-.7-.7m13.4 0l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M307.7 300.7l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M308.4 300.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M309 300.7l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M309.8 300.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M310.5 300.7l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M311.2 300.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M311.9 300.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M312.6 300.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M313.3 300.7l1.4 1.3-1.4-1.3z"/>
+    <path fill="#efefef" d="M201.4 301.4l-1.4 2 1.4-2z"/>
+    <path fill="#425242" d="M202.1 301.4l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.8 301.4l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M207.5 301.6l.5.2-.5-.2z"/>
+    <path fill="#397b00" d="M208.7 301.8l.2.5-.2-.5z"/>
+    <path fill="#294200" d="M218.8 301.6l.5.2-.5-.2z"/>
+    <path d="M220.4 301.4l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M221.1 301.4l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M223.3 301.4v.7h2l-2-.7z"/>
+    <path fill="#103900" d="M229.6 301.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M231 301.4l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M231.7 301.4l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M232.4 301.4l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M233.1 301.4l.7.7-.7-.7z"/>
+    <path fill="#4a4208" d="M233.8 301.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M236.6 301.4l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M237.3 301.4v1.3h1.4l-1.4-1.3zm7 0l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M245 301.4l.8.7-.7-.7z"/>
+    <path fill="#cecece" d="M266.9 301.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M267.6 301.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M269.7 301.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#185200" d="M272.5 301.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M273.2 301.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M275.3 301.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#103900" d="M276 301.4l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M279.3 301.6l.5.2-.5-.2m3-.2l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M284.4 301.4l1.5 1.3-1.5-1.3z"/>
+    <path fill="#185200" d="M285.1 301.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M290.8 301.4l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M291.5 301.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M292.2 301.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M292.9 301.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.8 301.4l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M298.5 301.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M299.2 301.4v1.3h1.4l-1.4-1.3z"/>
+    <path fill="#297b00" d="M300 301.4l.6.7-.7-.7z"/>
+    <path fill="#185200" d="M308.4 301.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M309 301.4l.8.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M311.9 301.4l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M312.6 301.4l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M313.3 301.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M314.7 301.4l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M201.4 302l.7.7-.7-.6z"/>
+    <path fill="#295200" d="M209.2 302l.7.7-.7-.6z"/>
+    <path fill="#294200" d="M209.9 302v.7h2.8l-2.8-.6z"/>
+    <path fill="#295200" d="M212.7 302l.7.7-.7-.6z"/>
+    <path fill="#397b00" d="M213.4 302v2l2.8-2h-2.8z"/>
+    <path fill="#294200" d="M216.7 302.3l.5.2-.5-.2z"/>
+    <path fill="#397b00" d="M217.6 302l.7.7-.7-.6z"/>
+    <path fill="#103900" d="M221.8 302l.7.7-.7-.6z"/>
+    <path fill="#295200" d="M222.5 302l.7.7-.7-.6z"/>
+    <path fill="#214210" d="M226 302l.8.7-.7-.6z"/>
+    <path fill="#63636b" d="M226.8 302l.7.7-.7-.6z"/>
+    <path fill="#8c8c8c" d="M227.5 302l-.7 1.4.7-1.3z"/>
+    <path fill="#bdbdbd" d="M228.2 302v1.4h1.4l-1.4-1.3z"/>
+    <path fill="#cecece" d="M230 302.3l.5.2-.4-.2z"/>
+    <path d="M231.7 302l.7.7-.7-.6z"/>
+    <path fill="#bd2110" d="M232.4 302l.7.7-.7-.6zm1.4 0l.7.7-.7-.6z"/>
+    <path fill="#294200" d="M234.5 302l.7.7-.7-.6z"/>
+    <path fill="#397b00" d="M240.6 302.3l.5.2-.5-.2z"/>
+    <path fill="#5a6b52" d="M244.3 302l.7.7-.7-.6z"/>
+    <path fill="#7b7373" d="M266.9 302l.7.7-.7-.6z"/>
+    <path fill="#103900" d="M269.7 302l.7.7-.7-.6z"/>
+    <path fill="#297b00" d="M271.8 302l1.4 1.4-1.4-1.3z"/>
+    <path fill="#103900" d="M272.5 302l.7.7-.7-.6z"/>
+    <path fill="#184a00" d="M275.5 302.5l.3.5-.3-.5z"/>
+    <path fill="#297b00" d="M278.1 302l1.4 1.4-1.4-1.3z"/>
+    <path fill="#082108" d="M278.8 302l.7.7-.7-.6z"/>
+    <path fill="#296300" d="M282.1 302.3l.5.2-.5-.2z"/>
+    <path fill="#185200" d="M284.4 302l.8.7-.8-.6m8.7.4l.3.4-.3-.4z"/>
+    <path fill="#103900" d="M293.8 302.5l.3.5-.3-.5z"/>
+    <path fill="#297b00" d="M294.3 302l.7.7-.7-.6z"/>
+    <path fill="#296300" d="M296.4 302l.7.7-.7-.6z"/>
+    <path fill="#297b00" d="M297.1 302l-1.4 2 1.4-2z"/>
+    <path fill="#184a00" d="M300.6 302v.7h2.1l-2-.6z"/>
+    <path fill="#185200" d="M302.7 302l1.4 1.4V302h-1.4z"/>
+    <path fill="#297b00" d="M304.1 302l.7.7-.7-.6m5 0l2 2-2-2z"/>
+    <path fill="#63636b" d="M309.8 302l2 2-2-2z"/>
+    <path fill="#efefef" d="M313.3 302l.7.7-.7-.6z"/>
+    <path fill="#8c8c8c" d="M314.5 302.3l.4.2-.4-.2z"/>
+    <path fill="#314231" d="M200.7 302.7l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M213.4 302.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M223.3 302.7l2.8 1.4v-.7l-2.8-.7z"/>
+    <path fill="#103900" d="M224 302.7l.6.7-.7-.7z"/>
+    <path fill="#292921" d="M224.7 302.7l.7.7-.8-.7z"/>
+    <path fill="#7b7373" d="M225.4 302.7l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M226 302.7l.8.7-.7-.7z"/>
+    <path fill="#9c9494" d="M227.5 302.7l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M229.6 302.7l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M231.7 302.7l.7.7-.7-.7z"/>
+    <path fill="#423100" d="M234.5 302.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M241 303.2l.3.4-.2-.4z"/>
+    <path fill="#397b00" d="M243.7 302.7l.7.7-.8-.7z"/>
+    <path fill="#9c9494" d="M244.3 302.7l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M266.9 302.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M269.2 303.2l.2.4-.2-.4z"/>
+    <path fill="#296300" d="M269.7 302.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M271.8 302.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M274.6 302.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M278.4 303.2l.2.4-.2-.4m3.2-.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M284.4 302.7l.8.7-.8-.7z"/>
+    <path fill="#297b00" d="M286.6 302.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M287.3 302.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M285.9 303.4v.7l6.3-.7h-6.3z"/>
+    <path fill="#296300" d="M292.2 302.7l-.7 1.4.7-1.4z"/>
+    <path d="M294.3 302.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M295 302.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M297.1 302.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M297.8 302.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M298.5 302.7l.7.7-.7-.7z"/>
+    <path d="M304.1 302.7l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M304.9 302.7l.7.7-.8-.7z"/>
+    <path fill="#315221" d="M305.6 302.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M306.3 302.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M307 302.7l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M200 303.4l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M209.2 303.4l-.7 1.3.7-1.3z"/>
+    <path fill="#294200" d="M209.9 303.4l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M212.7 303.4l-.7 2 .7-2z"/>
+    <path fill="#103900" d="M215.5 303.4l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M216.2 303.4l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M217 303.4l.6.7-.7-.7z"/>
+    <path fill="#295200" d="M217.6 303.4l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M218.3 303.4v.7h2.8l-2.8-.7z"/>
+    <path fill="#294200" d="M221.1 303.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M221.8 303.4l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M222.5 303.4l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M219.7 306.7l14.8-2c-4.6-1.8-11.3-1.6-14.8 2z"/>
+    <path fill="#397b00" d="M228.2 303.4v.7h2l-2-.7z"/>
+    <path fill="#294200" d="M230.3 303.4v.7h2l-2-.7z"/>
+    <path fill="#422100" d="M232.4 303.4l.7.7-.7-.7z"/>
+    <path fill="#5a2908" d="M233.1 303.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M233.8 303.4l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M234.5 303.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#214210" d="M243.7 303.4l.7.7-.8-.7z"/>
+    <path fill="#bdbdbd" d="M266.2 303.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M270.4 304.7l2-1.3-2 1.3z"/>
+    <path fill="#103900" d="M274.6 303.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M277.4 303.4l-1.4 2h2.1l-.7-2z"/>
+    <path fill="#296300" d="M281.4 303.6l.5.2-.5-.2z"/>
+    <path fill="#185200" d="M283.8 303.4l.6.7-.6-.7z"/>
+    <path fill="#296300" d="M285 303.6l.4.2-.5-.2z"/>
+    <path fill="#185200" d="M290 303.4l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M292.2 303.4l-.7 1.3.7-1.3z"/>
+    <path fill="#319400" d="M292.9 303.4v.7l9.8 2.6v-.6l-9.8-2.7z"/>
+    <path fill="#296300" d="M295 303.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M298.5 303.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M299.2 303.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M300 303.4l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M304.1 303.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#314231" d="M304.9 303.4l.7.7-.8-.7z"/>
+    <path fill="#cecece" d="M305.6 303.4l1.4 1.3-1.4-1.3z"/>
+    <path fill="#dedede" d="M306.3 303.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M307 303.4l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M307.7 303.4l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M308.4 303.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M309 303.4l.8.7-.7-.7z"/>
+    <path fill="#63636b" d="M199.3 304l.7.7-.7-.6z"/>
+    <path fill="#397b00" d="M200 304l.7.7-.7-.6m2.8 0v1.3h2.1v-1.3h-2z"/>
+    <path fill="#295200" d="M205 304l.7.7-.7-.6z"/>
+    <path fill="#294200" d="M205.7 304l.7.7-.7-.6z"/>
+    <path fill="#295200" d="M206.4 304l.7.7-.7-.6z"/>
+    <path fill="#294200" d="M207.5 304.3l.5.2-.5-.2z"/>
+    <path fill="#8c8c8c" d="M215.5 304l.7.7-.7-.6z"/>
+    <path fill="#dedede" d="M217.6 304l.7.7-.7-.6z"/>
+    <path fill="#bdbdbd" d="M218.3 304v.7h2.8l-2.8-.6z"/>
+    <path fill="#52525a" d="M221.1 304l.7.7-.7-.6z"/>
+    <path fill="#397b00" d="M221.8 304l.7.7-.7-.6m12.7 0l.7.6-.7-.6z"/>
+    <path fill="#292100" d="M236 304v.7h2l-2-.6z"/>
+    <path fill="#295200" d="M238 304l.7.7-.7-.6z"/>
+    <path fill="#397b00" d="M240.1 304l.7.7-.7-.6z"/>
+    <path fill="#103900" d="M240.8 304l.7.7-.7-.6z"/>
+    <path fill="#313931" d="M243.7 304l.7.7-.8-.6z"/>
+    <path fill="#bd8c8c" d="M244.8 304.3l.5.2-.5-.2z"/>
+    <path fill="#845a52" d="M245.8 304l.7.7-.7-.6z"/>
+    <path fill="#9c4a42" d="M253.5 304l.7.7-.7-.6z"/>
+    <path fill="#ad524a" d="M254.2 304l.7.7-.7-.6z"/>
+    <path fill="#845a52" d="M262 304l.6.7-.7-.6z"/>
+    <path fill="#bd8c8c" d="M263.1 304.3l.5.2-.5-.2z"/>
+    <path fill="#293129" d="M266.2 304l.7.7-.7-.6z"/>
+    <path fill="#082108" d="M268.3 304l.7.7-.7-.6z"/>
+    <path fill="#103900" d="M277.4 304l.7.7-.7-.6z"/>
+    <path fill="#297b00" d="M280.2 304l-.7 1.4.7-1.3z"/>
+    <path fill="#103900" d="M281 304l.6.7-.7-.6z"/>
+    <path fill="#297b00" d="M283 304l1.4 1.4-1.4-1.3z"/>
+    <path fill="#184a00" d="M283.8 304l.6.7-.6-.6z"/>
+    <path fill="#319400" d="M283.8 306l17.5 2.7v2.7c2-5.8-14.2-9.7-17.6-5.3z"/>
+    <path fill="#103900" d="M292.2 304l.7.7-.7-.6z"/>
+    <path fill="#184a00" d="M292.9 304l.7.7-.7-.6z"/>
+    <path fill="#185200" d="M293.6 304l1.4 1.4-1.4-1.3z"/>
+    <path fill="#297b00" d="M294.3 304l.7.7-.7-.6z"/>
+    <path fill="#296300" d="M300 304l.6.7-.7-.6z"/>
+    <path fill="#082108" d="M300.6 304l.7.7-.7-.6z"/>
+    <path fill="#103900" d="M301.3 304l.7.7-.7-.6z"/>
+    <path fill="#296300" d="M302 304l.7.7-.7-.6z"/>
+    <path fill="#214210" d="M305.6 304l.7.7-.7-.6z"/>
+    <path fill="#9c9494" d="M309 304l.8.7-.7-.6z"/>
+    <path fill="#425242" d="M309.8 304l.7.7-.7-.6z"/>
+    <path fill="#185200" d="M311 304.3l.4.2-.4-.2z"/>
+    <path fill="#9c9494" d="M311.9 304l.7.7-.7-.6m-113.3.6l-1.4 2 1.4-2z"/>
+    <path fill="#397b00" d="M199.3 304.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M200.7 304.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M202 305l.4.2-.5-.2m9.4-.3l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M214.8 304.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M219.7 304.7l-.7 1.4.7-1.4z"/>
+    <path fill="#293129" d="M220.4 304.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M232.9 305l.4.2-.4-.2z"/>
+    <path fill="#294200" d="M233.8 304.7l.7.7-.7-.7z"/>
+    <path fill="#423100" d="M234.5 304.7l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M235.7 305l.5.2-.5-.2z"/>
+    <path fill="#5a2908" d="M236.6 304.7l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M237.3 304.7v.7h2.1l-2-.7z"/>
+    <path fill="#ad1810" d="M239.4 304.7v.7h2.1l-2-.7z"/>
+    <path fill="#bd2110" d="M241.5 304.7l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M225.4 316.8v-.7l-4.3.7v-.7c19-5.7 47.1-5.7 66.2 0v.7l-3.6-.7c3.5 5 13 2 9.9-4-2.7-5-12.5-5.5-17.6-6.2-14.3-2-30-2.1-44.3.1-5 .8-11.3 1.2-15.3 4.6-3 2.4-1.9 7.3 2 8.4 2.4.7 5-1.1 7-2.2z"/>
+    <path fill="#ce2110" d="M266.2 304.7l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M269 304.7l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M270.1 305l.5.2-.5-.2z"/>
+    <path fill="#6b2908" d="M271 304.7l.8.7-.7-.7z"/>
+    <path fill="#184a00" d="M273.9 304.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M274.6 304.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M275.3 304.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M276.7 304.7l.7.7-.7-.7m3.5 0l-.7 1.4.7-1.4m2.8 0l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M293.6 304.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M295.5 305l.4.2-.4-.2z"/>
+    <path fill="#297b00" d="M296.4 304.7l-.7 1.4.7-1.4m4.2 0l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M301.3 304.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M302 304.7l1.4 1.4-1.4-1.4z"/>
+    <path fill="#7b7373" d="M302.7 304.7l.7.7-.7-.7z"/>
+    <path fill="#315221" d="M303.4 304.7l.8.7-.8-.7z"/>
+    <path fill="#185200" d="M304.1 304.7l.7.7-.7-.7z"/>
+    <path fill="#103910" d="M306.3 304.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M307 304.7l1.4 1.4-1.4-1.4z"/>
+    <path fill="#cecece" d="M310.5 304.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M311.2 304.7l.7.7-.7-.7z"/>
+    <path fill="#102110" d="M311.9 304.7l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M312.6 304.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M198.6 305.4l4.2 2-4.2-2z"/>
+    <path fill="#397b00" d="M210.1 305.8l.2.5-.2-.5z"/>
+    <path fill="#294200" d="M210.6 305.4l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M214.1 305.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M214.8 305.4l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M219.7 305.4l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M228.2 305.4l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M228.9 305.4l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M229.6 305.4l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M230.3 305.4l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M231 305.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M231.7 305.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M232.4 305.4l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M233.1 305.4l.7.7-.7-.7m41.5 0l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M275.3 305.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M276 305.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M276.7 305.4l.7.7-.7-.7z"/>
+    <path fill="#422100" d="M277.4 305.4l.7.7-.7-.7z"/>
+    <path fill="#4a4208" d="M278.1 305.4l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M278.8 305.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M280.2 305.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M282.3 305.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M283 305.4l.7.7-.7-.7m1.4 0l3.6.7-3.6-.7z"/>
+    <path fill="#297b00" d="M287.3 305.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M296.4 305.4l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M297.1 305.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M297.8 305.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M298.5 305.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M302 305.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M304.1 305.4l.7.7-.7-.7z"/>
+    <path fill="#6b735a" d="M304.9 305.4l.7.7-.8-.7z"/>
+    <path fill="#184a00" d="M305.6 305.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M306.3 305.4l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M307 305.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M311.9 305.4l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M312.6 305.4l.7.7-.7-.7z"/>
+    <path fill="#292100" d="M198 306l.6.7-.7-.6z"/>
+    <path fill="#397b00" d="M202.8 306v1.4h1.4v-1.3H203m5.1.4l.2.5-.2-.5z"/>
+    <path fill="#294200" d="M209 306.3l.4.2-.5-.2z"/>
+    <path fill="#397b00" d="M212.7 306l.7.7-.7-.6z"/>
+    <path fill="#314231" d="M213.4 306l.7.7-.7-.6z"/>
+    <path fill="#dedede" d="M214.1 306l.7.7-.7-.6z"/>
+    <path fill="#425242" d="M219 306l.7.7-.7-.6z"/>
+    <path fill="#397b00" d="M222.3 306.3l.5.2-.5-.2z"/>
+    <path fill="#294200" d="M223.7 306.3l.5.2-.5-.2z"/>
+    <path fill="#292100" d="M224.7 306l.7.7-.8-.6z"/>
+    <path fill="#181000" d="M225.4 306l.7.7-.7-.6z"/>
+    <path fill="#310000" d="M226 306l.8.7-.7-.6z"/>
+    <path fill="#631808" d="M226.8 306l.7.7-.7-.6z"/>
+    <path fill="#941808" d="M227.5 306l.7.7-.7-.6z"/>
+    <path fill="#ad1810" d="M228.2 306l.7.7-.7-.6z"/>
+    <path fill="#ce2110" d="M228.9 306l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M244.3 306l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M245 306l.8.7-.7-.6z"/>
+    <path fill="#de3110" d="M245.8 306l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M248.6 306l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M249.3 306l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M254.7 306.3l.4.2-.4-.2z"/>
+    <path fill="#de3110" d="M255.6 306l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M259.6 306.3l.5.2-.5-.2z"/>
+    <path fill="#de3110" d="M260.5 306l.7.7-.7-.6z"/>
+    <path fill="#ad1810" d="M279.5 306l.7.7-.7-.6z"/>
+    <path fill="#941808" d="M280.2 306l.7.7-.7-.6z"/>
+    <path fill="#631808" d="M281 306l.6.7-.7-.6z"/>
+    <path fill="#5a2908" d="M281.6 306l.7.7-.7-.6z"/>
+    <path fill="#293100" d="M282.3 306l.7.7-.7-.6z"/>
+    <path fill="#185200" d="M283 306l.7.7-.7-.6z"/>
+    <path fill="#297b00" d="M283.8 306l.6.7-.6-.6z"/>
+    <path fill="#184a00" d="M288 306v.7h2l-2-.6z"/>
+    <path fill="#185200" d="M290 306l1.5 1.4-1.4-1.3z"/>
+    <path fill="#297b00" d="M290.8 306l.7.7-.7-.6z"/>
+    <path fill="#185200" d="M297.8 306l.7.7-.7-.6z"/>
+    <path fill="#001000" d="M298.5 306l.7.7-.7-.6z"/>
+    <path fill="#293129" d="M299.2 306l.7.7-.7-.6z"/>
+    <path fill="#214210" d="M300 306l.6.7-.7-.6z"/>
+    <path fill="#296300" d="M300.6 306l.7.7-.7-.6m2.1 0l1.4 1.3-1.4-1.3z"/>
+    <path fill="#63636b" d="M303.4 306l.8.7-.8-.6z"/>
+    <path fill="#dedede" d="M305.6 306l.7.7-.7-.6z"/>
+    <path fill="#63636b" d="M306.3 306l.7.7-.7-.6z"/>
+    <path fill="#214210" d="M307 306l.7.7-.7-.6z"/>
+    <path fill="#63636b" d="M307.7 306l.7.7-.7-.6z"/>
+    <path fill="#cecece" d="M197.2 306.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M204.3 306.7l.6.7-.7-.7z"/>
+    <path fill="#294200" d="M205 306.7l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M205.7 306.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M206.8 307l.5.2-.5-.2z"/>
+    <path fill="#397b00" d="M211.3 306.7l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M212 306.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M212.7 306.7l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M218.3 306.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M219.5 307l.5.2-.5-.2z"/>
+    <path fill="#294200" d="M218.3 308v.7l4.2-1.3-4.2.7z"/>
+    <path fill="#293100" d="M222.5 306.7l.7.7-.7-.7z"/>
+    <path fill="#5a2908" d="M223.3 306.7l.6.7-.7-.7z"/>
+    <path fill="#7b1008" d="M224 306.7l.6.7-.7-.7z"/>
+    <path fill="#b51010" d="M224.7 306.7l.7.7-.8-.7z"/>
+    <path fill="#de3110" d="M233.8 306.7l.7.7-.7-.7zm2.8 0l1.4 1.4-1.4-1.4z"/>
+    <path fill="#e75a10" d="M243.7 306.7l.7.7-.8-.7zm2.8 0l.7.7-.7-.7z"/>
+    <path fill="#f7b508" d="M249.3 306.7l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M257 306.7l1.4 1.4-1.4-1.4z"/>
+    <path fill="#ef9408" d="M258.4 306.7l1.4 1.4-1.4-1.4z"/>
+    <path fill="#e75a10" d="M261.2 306.7l1.4 1.4-1.4-1.4z"/>
+    <path fill="#de3110" d="M262 306.7l.6.7-.7-.7z"/>
+    <path fill="#e75a10" d="M264.8 306.7l.6.7-.6-.7z"/>
+    <path fill="#ef9408" d="M266.2 306.7l-.7 4.7.7-4.7z"/>
+    <path fill="#e75a10" d="M266.9 306.7l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M268.3 306.7l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M269 306.7l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M269.7 306.7l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M271 306.7l.8.7-.7-.7z"/>
+    <path fill="#de3110" d="M273.9 306.7l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M283 306.7l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M283.8 306.7l.6.7-.6-.7z"/>
+    <path fill="#4a1000" d="M284.4 306.7l.8.7-.8-.7z"/>
+    <path fill="#293100" d="M285.1 306.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M286.6 306.7l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M287.3 306.7v.7l7 1.4-7-2z"/>
+    <path fill="#297b00" d="M290 306.7l.8.7-.7-.7z"/>
+    <path fill="#184a00" d="M291.5 306.7l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M292.2 306.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M293.1 307.2l.3.4-.3-.4m6.1-.5l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M300 306.7l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M300.6 306.7l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M301.3 306.7l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M302 306.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M302.7 306.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M304.1 306.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M307 306.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M307.7 306.7l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M308.4 306.7l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M201.4 307.4l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.1 307.4l.7.7-.7-.7m6.4 0l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M209.2 307.4l.7.7-.7-.7z"/>
+    <path fill="#396b10" d="M209.9 307.4l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M210.6 307.4l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M211.3 307.4l.7.7-.7-.7m6.3 0l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M218.3 307.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M221.1 307.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M221.8 307.4l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M230.3 307.4l.7.7-.7-.7z"/>
+    <path fill="#f7b508" d="M236.6 307.4l.7.7-.7-.7m2.1 0l.7.7-.7-.7m5.4.2l.5.3-.5-.3z"/>
+    <path fill="#e75a10" d="M245 307.4l.8.7-.7-.7z"/>
+    <path fill="#f7b508" d="M246.2 307.6l.5.2-.5-.2z"/>
+    <path fill="#ef9408" d="M257 307.4l.7.7-.7-.7z"/>
+    <path fill="#f7b508" d="M261 307.6l.5.2-.5-.2z"/>
+    <path fill="#de3110" d="M264 307.4l.8.7-.8-.7z"/>
+    <path fill="#de2110" d="M268.5 307.9l.2.4-.2-.5z"/>
+    <path fill="#ef9408" d="M275.3 307.4l1.4 1.4-1.4-1.4z"/>
+    <path fill="#ef7b08" d="M277.4 307.4l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M280.2 307.4l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M285.9 307.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M286.6 307.4l.7.7-.7-.7z"/>
+    <path fill="#293100" d="M287.3 307.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M288 307.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M293.6 307.4l.7.7-.7-.7z"/>
+    <path fill="#001000" d="M294.3 307.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M295 307.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M295.7 307.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M296.4 307.4l.7.7-.7-.7m3.5 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M300.6 307.4l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M301.3 307.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M302 307.4l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M302.7 307.4l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M304 307.6l.4.2-.5-.2z"/>
+    <path fill="#bdbdbd" d="M304.9 307.4l.7.7-.8-.7z"/>
+    <path fill="#9c9494" d="M201.4 308l.7.7-.7-.6z"/>
+    <path fill="#397b00" d="M205.7 308l.7.7-.7-.6z"/>
+    <path fill="#396b10" d="M206.4 308l.7.7-.7-.6z"/>
+    <path fill="#526b42" d="M207 308l.8.7-.7-.6z"/>
+    <path fill="#8c8c8c" d="M207.8 308l.7.7-.7-.6z"/>
+    <path fill="#ada5a5" d="M208.5 308l.7.7-.7-.6z"/>
+    <path fill="#dedede" d="M209.2 308l.7.7-.7-.6z"/>
+    <path fill="#efefef" d="M217 308l.6.7-.7-.6z"/>
+    <path fill="#213918" d="M217.6 308l.7.7-.7-.6z"/>
+    <path fill="#4a1000" d="M219 308l.7.7-.7-.6z"/>
+    <path fill="#941808" d="M219.7 308l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M224.4 308.3l.5.2-.5-.2z"/>
+    <path fill="#ef7b08" d="M229.6 308l.7.7-.7-.6zm3.7.5l.3.5-.3-.5z"/>
+    <path fill="#de2110" d="M235.2 308l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M236 308l.6.7-.7-.6z"/>
+    <path fill="#e75a10" d="M237.3 308l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M245.8 308l.7.7-.7-.6z"/>
+    <path fill="#ef7b08" d="M246.5 308l.7.7-.7-.6m1.4 0l.7.6-.7-.6zm2 0l.8.6-.7-.6z"/>
+    <path fill="#de2110" d="M255.6 308v2h.7l-.7-2z"/>
+    <path fill="#ef9408" d="M256.3 308l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M259.1 308l.7.7-.7-.6z"/>
+    <path fill="#de2110" d="M259.8 308l.7 2-.7-2z"/>
+    <path fill="#e75a10" d="M264 308l.8.7-.8-.6z"/>
+    <path fill="#ef9408" d="M264.8 308l.6.7-.6-.6z"/>
+    <path fill="#ef7b08" d="M274.6 308l.7.7-.7-.6z"/>
+    <path fill="#ffce08" d="M275.3 308l.7.7-.7-.6z"/>
+    <path fill="#f7b508" d="M276.7 308l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M278.1 308l.7.7-.7-.6z"/>
+    <path fill="#ef7b08" d="M279.5 308l.7.7-.7-.6z"/>
+    <path fill="#ffce08" d="M280.2 308l-.7 2 .7-2z"/>
+    <path fill="#ef7b08" d="M281.2 308.5l.2.5-.2-.5z"/>
+    <path fill="#e75a10" d="M283 308l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M283.8 308l.6.7-.6-.6z"/>
+    <path fill="#941808" d="M288 308l.7.7-.7-.6z"/>
+    <path fill="#5a2908" d="M288.7 308l.7.7-.7-.6z"/>
+    <path fill="#184a00" d="M289.4 308l.7.7-.7-.6z"/>
+    <path fill="#297b00" d="M290 308l.8.7-.7-.6m4.4.4l.3.5-.3-.5z"/>
+    <path fill="#184a00" d="M295 308l.7.7-.7-.6z"/>
+    <path fill="#424242" d="M295.7 308l.7.7-.7-.6z"/>
+    <path fill="#8c8c8c" d="M296.4 308l.7.7-.7-.6z"/>
+    <path fill="#5a6b52" d="M297.1 308l.7.7-.7-.6z"/>
+    <path fill="#214210" d="M297.8 308l.7.7-.7-.6z"/>
+    <path fill="#296300" d="M298.5 308l.7.7-.7-.6z"/>
+    <path fill="#297b00" d="M301.3 308l1.4 1.4-1.4-1.3z"/>
+    <path fill="#314231" d="M302 308l.7.7-.7-.6z"/>
+    <path fill="#dedede" d="M303.4 308l.8.7-.8-.6z"/>
+    <path fill="#63636b" d="M304.1 308l.7.7-.7-.6z"/>
+    <path fill="#101810" d="M304.9 308l.7.7-.8-.6z"/>
+    <path fill="#8c8c8c" d="M201.4 308.7l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M204.3 308.7l.6.7-.7-.7z"/>
+    <path fill="#6b735a" d="M205 308.7l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M205.7 308.7l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M217 308.7l.6.7-.7-.7z"/>
+    <path fill="#311000" d="M217.6 308.7l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M218.3 308.7l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M221.8 308.7l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M222.5 308.7l.7.7-.7-.7z"/>
+    <path fill="#f7b508" d="M223.3 308.7l.6.7-.7-.7z"/>
+    <path fill="#ffce08" d="M224 308.7l.6.7-.7-.7z"/>
+    <path fill="#ef9408" d="M224.7 308.7l.7.7-.8-.7z"/>
+    <path fill="#de3110" d="M231 308.7l.7.7-.7-.7zm6.3 0l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M249 309l.5.2-.5-.2z"/>
+    <path fill="#ef7b08" d="M256.3 308.7l.7.7-.7-.7m7.7 0l.8.7-.8-.7z"/>
+    <path fill="#de3110" d="M268.3 308.7l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M269.7 308.7l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M276 308.7v2.7l2.8-.6-2.8-2z"/>
+    <path fill="#e75a10" d="M278.1 308.7l.7.7-.7-.7z"/>
+    <path fill="#f7b508" d="M279.5 308.7l.7.7-.7-.7m4 .3l.5.2-.5-.2z"/>
+    <path fill="#de3110" d="M285.1 308.7l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M285.9 308.7l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M289.4 308.7l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M290 308.7l.8.7-.7-.7z"/>
+    <path fill="#184a00" d="M291.3 309l.4.2-.4-.2z"/>
+    <path fill="#185200" d="M292.2 308.7l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M293.4 309l.4.2-.4-.2z"/>
+    <path fill="#319400" d="M295 308.7l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M295.7 308.7l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M296.4 308.7l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M297.1 308.7l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M297.8 308.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M298.5 308.7l1.4 2-1.4-2z"/>
+    <path fill="#63636b" d="M299.2 308.7l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M300 308.7l.6.7-.7-.7z"/>
+    <path fill="#297b00" d="M300.6 308.7l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M302.7 308.7l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M202.8 309.4l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M203.6 309.4l.7.7-.8-.7z"/>
+    <path fill="#dedede" d="M204.3 309.4l.6.7-.7-.7m11.3 0l.7.7-.7-.7z"/>
+    <path fill="#524242" d="M216.2 309.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M217 309.4l.6.7-.7-.7z"/>
+    <path fill="#de3110" d="M219.5 309.6l.5.3-.5-.3z"/>
+    <path fill="#f7b508" d="M221.8 309.4l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M223.3 309.4l.6.7-.7-.7z"/>
+    <path fill="#de2110" d="M227.5 309.4l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M228.2 309.4l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M231.2 309.9l.3.4-.3-.4z"/>
+    <path fill="#ef7b08" d="M246.5 309.4l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M247.2 309.4l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M248.1 309.9l.2.4-.2-.4m2.1 0l.2.4-.2-.4z"/>
+    <path fill="#ef9408" d="M256.8 309.6l.4.3-.4-.3z"/>
+    <path fill="#de3110" d="M259.1 309.4l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M263.4 309.4l.7.7-.8-.7zm8.4 0l-.7 2.7.7-2.7z"/>
+    <path fill="#de3110" d="M273.9 309.4l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M274.8 309.9l.3.4-.3-.4z"/>
+    <path fill="#ef7b08" d="M275.5 309.9l.3.4-.3-.4z"/>
+    <path fill="#e75a10" d="M278.8 309.4l.7.7-.7-.7z"/>
+    <path fill="#f7b508" d="M280.2 309.4l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M281.2 309.9l.2.4-.2-.4z"/>
+    <path fill="#de3110" d="M282.3 309.4l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M285.1 309.4l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M285.9 309.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M290.8 309.4l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M291.5 309.4l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M292.2 309.4l.7.7-.7-.7z"/>
+    <path fill="#313931" d="M292.9 309.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M293.6 309.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M294.3 309.4l1.4 1.4-1.4-1.4z"/>
+    <path fill="#8c8c8c" d="M295 309.4l.7.7-.7-.7z"/>
+    <path fill="#5a6b52" d="M295.7 309.4l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M296.4 309.4l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M297.1 309.4l.7.7-.7-.7z"/>
+    <path fill="#293129" d="M297.8 309.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M300 309.4l.6.7-.7-.7z"/>
+    <path fill="#294221" d="M300.6 309.4l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M302 309.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M302.7 309.4l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M202.1 310l.7.7-.7-.6z"/>
+    <path fill="#63636b" d="M202.8 310l.7.7-.7-.6z"/>
+    <path fill="#9c9494" d="M214.8 310l.7.7-.7-.6z"/>
+    <path fill="#631808" d="M215.5 310l.7.7-.7-.6z"/>
+    <path fill="#ce2110" d="M216.2 310l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M217.6 310l.7.7-.7-.6z"/>
+    <path fill="#ef9408" d="M218.3 310l.7.7-.7-.6zm2.1 0l.7.7-.7-.6z"/>
+    <path fill="#ef7b08" d="M221.8 310l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M223.3 310l.6.7-.7-.6z"/>
+    <path fill="#ef7b08" d="M226 310l.8.7-.7-.6z"/>
+    <path fill="#de3110" d="M229.6 310l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M235.2 310l.7.7-.7-.6z"/>
+    <path fill="#de2110" d="M236 310l.6.7-.7-.6z"/>
+    <path fill="#f7b508" d="M244.1 310.3l.5.2-.5-.2m2.1 0l.5.2-.5-.2z"/>
+    <path fill="#e75a10" d="M247.2 310l-.7 1.4.7-1.3z"/>
+    <path fill="#ef9408" d="M249 310.3l.5.2-.5-.2z"/>
+    <path fill="#e75a10" d="M250.7 310l.7.7-.7-.6z"/>
+    <path fill="#ef7b08" d="M255.6 310l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M257 310l.7.7-.7-.6z"/>
+    <path fill="#de3110" d="M257.7 310l.7.7-.7-.6z"/>
+    <path fill="#f7b508" d="M261 310.3l.5.2-.5-.2z"/>
+    <path fill="#ef7b08" d="M263.4 310l.7.7-.8-.6z"/>
+    <path fill="#f7b508" d="M264.8 310l.6.7-.6-.6z"/>
+    <path fill="#ef9408" d="M270.4 310l.7.7-.7-.6zm9.1 0l.7.7-.7-.6z"/>
+    <path fill="#ef7b08" d="M280.2 310l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M282.3 310l.7.7-.7-.6m2.1 0l.8.6-.8-.6z"/>
+    <path fill="#f7b508" d="M285.1 310l.7.7-.7-.6z"/>
+    <path fill="#ef9408" d="M285.9 310l.7.7-.7-.6z"/>
+    <path fill="#e75a10" d="M288 310l.7.7-.7-.6z"/>
+    <path fill="#ffce08" d="M289 310.5l.1.5-.2-.5z"/>
+    <path fill="#7b1008" d="M292.2 310l.7.7-.7-.6z"/>
+    <path fill="#185200" d="M292.9 310l1.4 1.4v-1.3h-1.4z"/>
+    <path fill="#314231" d="M294.3 310l.7.7-.7-.6z"/>
+    <path fill="#dedede" d="M297.1 310l.7.7-.7-.6z"/>
+    <path fill="#9c9494" d="M297.8 310l.7.7-.7-.6z"/>
+    <path fill="#63636b" d="M298.5 310l.7.7-.7-.6z"/>
+    <path fill="#6b735a" d="M300.6 310l.7.7-.7-.6z"/>
+    <path fill="#184a00" d="M302 310l.7.7-.7-.6z"/>
+    <path fill="#52525a" d="M202.1 310.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M214.1 310.8l.7.6-.7-.6z"/>
+    <path fill="#631818" d="M214.8 310.8l.7.6-.7-.6z"/>
+    <path fill="#de3110" d="M217 310.8l.6.6-.7-.6z"/>
+    <path fill="#ffce08" d="M217.6 310.8l.7.6-.7-.6z"/>
+    <path fill="#ef7b08" d="M219 310.8l.7.6-.7-.6z"/>
+    <path fill="#ef9408" d="M219.7 310.8l.7.6-.7-.6z"/>
+    <path fill="#e75a10" d="M221.8 310.8l.7.6-.7-.6m4.3 0l.7.6-.7-.6z"/>
+    <path fill="#f7b508" d="M227.5 310.8l.7.6-.7-.6z"/>
+    <path fill="#e75a10" d="M228.2 310.8l.7.6-.7-.6z"/>
+    <path fill="#f7b508" d="M230.3 310.8l.7.6-.7-.6z"/>
+    <path fill="#ef9408" d="M231 310.8l-.7 1.3.7-1.4zm9.8 0l.7.6-.7-.6z"/>
+    <path fill="#e75a10" d="M243.7 310.8l.7.6-.8-.6z"/>
+    <path fill="#ef9408" d="M247.2 310.8l.7.6-.7-.6z"/>
+    <path fill="#f7b508" d="M247.9 310.8l.7.6-.7-.6m2 0l.8.6-.7-.6z"/>
+    <path fill="#ef9408" d="M250.7 310.8l.7.6-.7-.6z"/>
+    <path fill="#f7b508" d="M256.3 310.8l.7.6-.7-.6z"/>
+    <path fill="#ef9408" d="M258.4 310.8l.7.6-.7-.6z"/>
+    <path fill="#e75a10" d="M263.4 310.8l.7.6-.8-.6z"/>
+    <path fill="#ef7b08" d="M264.8 310.8l.6.6-.6-.6z"/>
+    <path fill="#f7b508" d="M274.6 310.8l.7.6-.7-.6z"/>
+    <path fill="#ef9408" d="M275.3 310.8l.7.6-.7-.6z"/>
+    <path fill="#ef7b08" d="M276.7 310.8l1.4 1.3-1.4-1.4z"/>
+    <path fill="#e75a10" d="M278.1 310.8l.7.6-.7-.6z"/>
+    <path fill="#ffce08" d="M278.8 310.8l.7.6-.7-.6z"/>
+    <path fill="#f7b508" d="M283 310.8l.7.6-.7-.6z"/>
+    <path fill="#ef7b08" d="M284.4 310.8l-.6 1.3.6-1.4zm1.5 0l.7.6-.7-.6z"/>
+    <path fill="#de3110" d="M287.3 310.8l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M292.9 310.8l.7.6-.7-.6z"/>
+    <path fill="#319400" d="M294.3 310.8l.7.6-.7-.6z"/>
+    <path fill="#296300" d="M295.2 311.2l.3.5-.3-.5z"/>
+    <path fill="#314231" d="M295.7 310.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M296.4 310.8l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M300.6 310.8l.7.6-.7-.6z"/>
+    <path fill="#4a6342" d="M302 310.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M213.4 311.4l.7.7-.7-.7z"/>
+    <path fill="#631818" d="M214.1 311.4l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M219 311.4l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M219.7 311.4l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M221.1 311.4l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M222 311.9l.3.4-.2-.4z"/>
+    <path fill="#ef9408" d="M223.5 311.9l.2.4-.2-.4z"/>
+    <path fill="#e75a10" d="M224 311.4l1.3 1.4-1.4-1.4z"/>
+    <path fill="#de3110" d="M226 311.4l.8.7-.7-.7z"/>
+    <path fill="#e75a10" d="M227.5 311.4l.7.7-.7-.7zm5.6 0l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M238 311.4l.7.7-.7-.7zm6.4 0l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M245 311.4l.8.7-.7-.7z"/>
+    <path fill="#de3110" d="M245.8 311.4l.7.7-.7-.7m1.8.2l.5.3-.5-.3m2.8 0l.5.3-.5-.3zm8.7-.2l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M259.8 311.4l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M260.5 311.4l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M262.6 311.4l.7.7-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M264.8 311.4v.7h2l-2-.7m3.5 0l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M269 311.4l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M274.6 311.4l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M279.5 311.4l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M281.2 311.9l.2.4-.2-.4z"/>
+    <path fill="#f7b508" d="M282.3 311.4l.7.7-.7-.7m2.1 0l.8.7-.8-.7z"/>
+    <path fill="#e75a10" d="M285.9 311.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M293.6 311.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M294.3 311.4l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M295.7 311.4l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M296.4 311.4l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M297.1 311.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M300.9 311.9l.2.4-.2-.4z"/>
+    <path fill="#296300" d="M301.3 311.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M302 311.4l.7.7-.7-.7m-88.6.7l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M214.1 312l.7.8-.7-.7z"/>
+    <path fill="#e75a10" d="M217.6 312l.7.8-.7-.7z"/>
+    <path fill="#ffce08" d="M218.3 312l.7.8-.7-.7z"/>
+    <path fill="#ef7b08" d="M221.1 312l.7.8-.7-.7z"/>
+    <path fill="#f7b508" d="M222.5 312l.7.8-.7-.7z"/>
+    <path fill="#de2110" d="M224 312l.6.8-.7-.7z"/>
+    <path fill="#ef7b08" d="M225.4 312l.7.8-.7-.7z"/>
+    <path fill="#f7b508" d="M226.8 312l.7.8-.7-.7z"/>
+    <path fill="#ef7b08" d="M227.5 312l.7.8-.7-.7z"/>
+    <path fill="#e75a10" d="M231 312l.7.8-.7-.7z"/>
+    <path fill="#ef7b08" d="M231.7 312l.7.8-.7-.7z"/>
+    <path fill="#e75a10" d="M232.4 312l.7.8-.7-.7m42.9 0l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M276 312l.7.8-.7-.7z"/>
+    <path fill="#e75a10" d="M276.7 312l.7.8-.7-.7z"/>
+    <path fill="#de3110" d="M277.4 312l.7.8-.7-.7z"/>
+    <path fill="#e75a10" d="M278.8 312l.7.8-.7-.7m1.4 0l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M281.6 312l.7.8-.7-.7z"/>
+    <path fill="#ffce08" d="M282.6 312.5l.2.5-.2-.5z"/>
+    <path fill="#e75a10" d="M283.5 312.3l.5.2-.5-.2z"/>
+    <path fill="#de2110" d="M285.9 312l.7.8-.7-.7z"/>
+    <path fill="#ef7b08" d="M286.6 312l.7.8-.7-.7z"/>
+    <path fill="#e75a10" d="M288 312l.7.8-.7-.7zm1.6.5l.2.5-.2-.5z"/>
+    <path fill="#736b6b" d="M294.3 312l.7.8-.7-.7z"/>
+    <path fill="#cecece" d="M295 312l.7.8-.7-.7z"/>
+    <path fill="#8c8c8c" d="M295.7 312l.7.8-.7-.7z"/>
+    <path fill="#294221" d="M296.4 312l.7.8-.7-.7z"/>
+    <path fill="#082108" d="M297.1 312l.7.8-.7-.7z"/>
+    <path fill="#8c8c8c" d="M297.8 312l.7.8-.7-.7z"/>
+    <path fill="#103900" d="M301.3 312l.7.8-.7-.7z"/>
+    <path fill="#dedede" d="M302 312l.7.8-.7-.7z"/>
+    <path fill="#6b4242" d="M213.4 312.8l.7.6-.7-.6z"/>
+    <path fill="#ef7b08" d="M219.7 312.8l.7.6-.7-.6z"/>
+    <path fill="#ef9408" d="M220.4 312.8l.7.6-.7-.6z"/>
+    <path fill="#ef7b08" d="M222.5 312.8l.7.6-.7-.6z"/>
+    <path fill="#f7b508" d="M225.4 312.8l.7.6-.7-.6z"/>
+    <path fill="#e75a10" d="M226.8 312.8l.7.6-.7-.6z"/>
+    <path fill="#de3110" d="M227.5 312.8l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M243 312.8v.6h4.2l-4.3-.6z"/>
+    <path fill="#7b1008" d="M247.2 312.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M247.9 312.8v.6h13.3l-13.3-.6z"/>
+    <path fill="#ad1810" d="M261.2 312.8v.6h4.3l-4.3-.6z"/>
+    <path fill="#ce2110" d="M265.5 312.8l.7.6-.7-.6z"/>
+    <path fill="#de3110" d="M280.2 312.8l.7.6-.7-.6z"/>
+    <path fill="#ef7b08" d="M281 312.8l.6.6-.7-.6z"/>
+    <path fill="#e75a10" d="M281.6 312.8l.7.6-.7-.6z"/>
+    <path fill="#de3110" d="M283.5 313l.5.2-.5-.2z"/>
+    <path fill="#f7b508" d="M285.1 312.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#e75a10" d="M285.9 312.8l.7.6-.7-.6z"/>
+    <path fill="#ef9408" d="M288 312.8l.7.6-.7-.6z"/>
+    <path fill="#631818" d="M294.3 312.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M297.4 313.2l.2.5-.2-.5z"/>
+    <path fill="#7b7373" d="M297.8 312.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M298.5 312.8l.7.6-.7-.6m2.1 0l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M301.3 312.8l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M205 313.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M205.7 313.4l.7.7-.7-.7z"/>
+    <path fill="#6b4242" d="M206.4 313.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M209.2 313.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M209.9 313.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M210.6 313.4l.7.7-.7-.7z"/>
+    <path fill="#6b2908" d="M213.4 313.4l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M218.3 313.4l.7.7-.7-.7z"/>
+    <path fill="#ffce08" d="M219.3 313.9l.2.4-.2-.4z"/>
+    <path fill="#f7b508" d="M221.1 313.4l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M224 313.4l.6.7-.7-.7z"/>
+    <path fill="#de3110" d="M224.7 313.4l.7.7-.8-.7z"/>
+    <path fill="#ad1810" d="M234.3 313.6l.4.3-.4-.2z"/>
+    <path fill="#941808" d="M235.2 313.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M236 313.4l.6.7-.7-.7z"/>
+    <path fill="#733129" d="M236.6 313.4l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M237.8 313.6l.5.3-.5-.2z"/>
+    <path fill="#845a52" d="M238.7 313.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M239.4 313.4v.7h2.8l-2.8-.7z"/>
+    <path fill="#ada5a5" d="M242.2 313.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M243 313.4v.7h2l-2-.7z"/>
+    <path fill="#cecece" d="M245 313.4l.8.7-.7-.7z"/>
+    <path fill="#63636b" d="M245.8 313.4l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M246.5 313.4l2 2-2-2z"/>
+    <path fill="#428c00" d="M247.2 313.4c1.8 2.3 3.3 3.2 6.3 2.7l-6.3-2.7z"/>
+    <path fill="#397b00" d="M251.4 313.4l1.4 3.4h1.4l-2.8-3.4z"/>
+    <path fill="#63636b" d="M252 313.4l2.2 2-2.1-2z"/>
+    <path fill="#cecece" d="M254.9 313.4l-.7 1.4.7-1.4z"/>
+    <path fill="#214210" d="M255.6 313.4l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M256.3 316.8l5.6-2.7c-2.8-1.1-6.2-.8-5.6 2.7z"/>
+    <path fill="#185200" d="M262 313.4l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M262.6 313.4l.7.7-.7-.7z"/>
+    <path fill="#946b63" d="M269 313.4l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M270.1 313.6l.5.3-.5-.2z"/>
+    <path fill="#8c3939" d="M271 313.4l.8.7-.7-.7z"/>
+    <path fill="#631808" d="M271.8 313.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M272.5 313.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M273.7 313.6l.4.3-.4-.2z"/>
+    <path fill="#ce2110" d="M274.6 313.4l.7.7-.7-.7z"/>
+    <path fill="#ef9408" d="M285 313.6l.4.3-.5-.2m1.7-.3l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M287.3 313.4l.7.7-.7-.7z"/>
+    <path fill="#f7b508" d="M288 313.4l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M289.4 313.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M294.3 313.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M297.8 313.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M298.5 313.4l.7.7-.7-.7zm3.5 0l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M302.7 313.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M204.3 314.1l.6.7-.7-.7z"/>
+    <path fill="#631818" d="M205 314.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M205.7 314.1l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M205 320.1c7.3-4.2 16.8 7.4 22.5-2l-.7-.7c-2.4.9-5.2 2.8-7.8 2.4-1.7-.2-19.4-11.7-14 .3z"/>
+    <path fill="#bd2110" d="M209.9 314.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M210.6 314.1l.7.7-.7-.7z"/>
+    <path fill="#631818" d="M211.3 314.1l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M212 314.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M212.7 314.1l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M213.4 314.1l.7.7-.7-.7z"/>
+    <path fill="#de3110" d="M218.3 314.1l.7.7-.7-.7z"/>
+    <path fill="#ef7b08" d="M219.7 314.1l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M228.2 314.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M228.9 314.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M229.6 314.1l.7.7-.7-.7z"/>
+    <path fill="#733129" d="M230.3 314.1l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M231 314.1l.7.7-.7-.7z"/>
+    <path fill="#8c6363" d="M231.7 314.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M232.9 314.3l.4.2-.4-.2z"/>
+    <path fill="#bdbdbd" d="M234.3 314.3l.4.2-.4-.2z"/>
+    <path fill="#efefef" d="M235.2 314.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M246.5 314.1l2 2-2-2z"/>
+    <path fill="#103910" d="M254.9 314.1l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M261.2 314.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M262 314.1l.6.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M273.7 314.3l.4.2-.4-.2z"/>
+    <path fill="#8c8c8c" d="M275 314.3l.5.2-.4-.2z"/>
+    <path fill="#8c7373" d="M276 314.1l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M276.7 314.1l.7.7-.7-.7z"/>
+    <path fill="#733939" d="M277.4 314.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M278.1 314.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M278.8 314.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M279.5 314.1l.7.7-.7-.7z"/>
+    <path fill="#e75a10" d="M285.9 314.1l.7.7-.7-.7m2.3.5l.2.4-.2-.4z"/>
+    <path fill="#6b2908" d="M294.3 314.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M295 314.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M295.7 314.1l.7.7-.7-.7z"/>
+    <path fill="#733129" d="M296.4 314.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M297.1 314.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M297.8 314.1l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M282.3 317.4c-1 9.4 16.6.1 21.1 2.7 2.5-5-3.2-7.4-7.6-4.7-2 1.3-3.1 3.9-5.8 4.4-2.6.4-5.4-1.4-7.7-2.4z"/>
+    <path fill="#ce2110" d="M302 314.1l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M302.7 314.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M303.4 314.1l.8.7-.8-.7m-99.8.7l.6.6-.7-.6z"/>
+    <path fill="#631808" d="M204.3 314.8l.6.6-.7-.6z"/>
+    <path fill="#941808" d="M212.7 314.8l.7.6-.7-.6z"/>
+    <path fill="#310000" d="M213.4 314.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M214.1 314.8l.7.6-.7-.6z"/>
+    <path fill="#ef9408" d="M219 314.8l.7.6-.7-.6z"/>
+    <path fill="#e75a10" d="M219.7 314.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M224 314.8l.6.6-.7-.6z"/>
+    <path fill="#ad1810" d="M224.7 314.8l.7.6-.8-.6z"/>
+    <path fill="#7b1008" d="M225.4 314.8l.7.6-.7-.6z"/>
+    <path fill="#6b2908" d="M226 314.8l.8.6-.7-.6z"/>
+    <path fill="#734a42" d="M226.8 314.8l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M227.5 314.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M228.2 314.8l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M228.9 314.8l.7.6-.7-.6z"/>
+    <path fill="#293129" d="M254.2 314.8l.7.6-.7-.6z"/>
+    <path fill="#297b00" d="M254.9 314.8l1.4 2-1.4-2m5 0l-.8 1.3.7-1.3z"/>
+    <path fill="#103910" d="M260.5 314.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M261.2 314.8l-.7 1.3.7-1.3z"/>
+    <path fill="#bdbdbd" d="M278.8 314.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M279.5 314.8l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M280.2 314.8l.7.6-.7-.6z"/>
+    <path fill="#734a42" d="M281 314.8l.6.6-.7-.6z"/>
+    <path fill="#733129" d="M281.6 314.8l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M282.3 314.8l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M283 314.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M283.8 314.8l.6.6-.6-.6z"/>
+    <path fill="#f7b508" d="M288.7 314.8l.7.6-.7-.6z"/>
+    <path fill="#420000" d="M294.3 314.8l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M295 314.8l.7.6-.7-.6m8.4 0l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M304.1 314.8l.7.6-.7-.6z"/>
+    <path fill="#efefef" d="M202.8 315.4l.7.7-.7-.7z"/>
+    <path fill="#842118" d="M203.6 315.4l.7.7-.8-.7z"/>
+    <path fill="#bd2110" d="M213.4 315.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M214.1 315.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M221.8 315.4l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M224.7 315.4l.7.7-.8-.7z"/>
+    <path fill="#bdbdbd" d="M225.4 315.4l.7.7-.7-.7z"/>
+    <path fill="#214210" d="M248.6 315.4l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M254.2 315.4l.7.7-.7-.7z"/>
+    <path fill="#293129" d="M259.8 315.4l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M282.3 315.4l.7.7-.7-.7z"/>
+    <path fill="#391810" d="M283 315.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M283.8 315.4l.6.7-.6-.7z"/>
+    <path fill="#5a1008" d="M284.4 315.4l.8.7-.8-.7z"/>
+    <path fill="#631808" d="M285.1 315.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M285.9 315.4l1.4 1.4-1.4-1.4m7.7 0l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M294.3 315.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M304.1 315.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M304.9 315.4l.7.7-.8-.7z"/>
+    <path fill="#8c8c8c" d="M202.8 316.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M203.6 316.1l.7.7-.8-.7z"/>
+    <path fill="#7b1008" d="M214.1 316.1l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M214.8 316.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M221.6 316.3l.5.2-.5-.2z"/>
+    <path fill="#631818" d="M225.4 316.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M226 316.1l.8.7-.7-.7z"/>
+    <path fill="#cecece" d="M245.8 316.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M246.5 316.1l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M247.2 316.1v.7h2l-2-.7z"/>
+    <path fill="#293100" d="M249.3 316.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M250 316.1l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M254.2 316.1l.7.7-.7-.7z"/>
+    <path fill="#082108" d="M254.9 316.1l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M257.7 316.1l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M258.4 316.1l.7.7-.7-.7z"/>
+    <path fill="#392100" d="M259.1 316.1l.7.7-.7-.7z"/>
+    <path fill="#733939" d="M259.8 316.1l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M260.5 316.1l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M261.2 316.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M262 316.1l.6.7-.7-.7z"/>
+    <path fill="#cecece" d="M281.6 316.1l-.7 1.3.7-1.3z"/>
+    <path fill="#5a1010" d="M282.3 316.1l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M283 316.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M285.9 316.1l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M292.9 316.1l1.4 1.3-1.4-1.3z"/>
+    <path fill="#5a1008" d="M293.6 316.1l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M304.9 316.1l.7.7-.8-.7z"/>
+    <path fill="#8c6363" d="M202.8 316.8l.7.6-.7-.6z"/>
+    <path fill="#520808" d="M214.8 316.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M215.5 316.8l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M224.7 316.8l.7.6-.8-.6z"/>
+    <path fill="#7b1008" d="M225.4 316.8l-.7 1.3.7-1.3z"/>
+    <path fill="#100808" d="M226 316.8l.8.6-.7-.6z"/>
+    <path fill="#9c9494" d="M226.8 316.8l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M243 316.8l.6.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M243.7 316.8l.7.6-.8-.6z"/>
+    <path fill="#8c8c8c" d="M244.3 316.8l.7.6-.7-.6z"/>
+    <path fill="#52525a" d="M245 316.8l.8.6-.7-.6z"/>
+    <path fill="#7b1008" d="M245.8 316.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M246.5 316.8l.7.6-.7-.6z"/>
+    <path fill="#de2110" d="M245.8 320.1l5.6.7c-.4-4.1-4.8-5.1-5.6-.7z"/>
+    <path fill="#b51010" d="M250 316.8l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M250.7 316.8l.7.6-.7-.6z"/>
+    <path fill="#292100" d="M251.4 316.8l.7.6-.7-.6z"/>
+    <path fill="#422100" d="M252 316.8l.8.6-.7-.6z"/>
+    <path fill="#941808" d="M252.8 316.8l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M253.5 316.8v.6h2.1l-2.1-.6z"/>
+    <path fill="#311000" d="M255.6 316.8l.7.6-.7-.6z"/>
+    <path fill="#293100" d="M256.3 316.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M257 316.8l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M257.7 316.8l.7.6-.7-.6z"/>
+    <path fill="#de2110" d="M257 317.4l.7 3.4 5-.7c-.6-3.3-2.6-3.3-5.7-2.7z"/>
+    <path fill="#b51010" d="M262 316.8l.6.6-.7-.6z"/>
+    <path fill="#423131" d="M262.6 316.8l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M263.4 316.8l.7.6-.8-.6z"/>
+    <path fill="#9c9494" d="M264 316.8l.8.6-.8-.6z"/>
+    <path fill="#bdbdbd" d="M264.8 316.8l.6.6-.6-.6z"/>
+    <path fill="#efefef" d="M265.5 316.8l.7.6-.7-.6z"/>
+    <path fill="#101810" d="M281.6 316.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M282.3 316.8l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M283 316.8l.7.6-.7-.6z"/>
+    <path fill="#520808" d="M292.9 316.8l.7.6-.7-.6z"/>
+    <path fill="#734a42" d="M305 317.2l.3.5-.2-.5z"/>
+    <path fill="#8c8c8c" d="M202.8 317.4l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M214.8 317.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M215.5 317.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M223.3 317.4l.6.7-.7-.7z"/>
+    <path fill="#5a1008" d="M224 317.4l.6.7-.7-.7z"/>
+    <path fill="#ce2110" d="M225.4 317.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M226.8 317.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M227.5 317.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M240.1 317.4l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M240.8 317.4l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M241.5 317.4l.7.7-.7-.7z"/>
+    <path fill="#631818" d="M242.2 317.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M243 317.4l.6.7-.7-.7z"/>
+    <path fill="#b51010" d="M243.7 317.4l.7.7-.8-.7z"/>
+    <path fill="#de2110" d="M244.3 317.4l-2.8.7v4c2.5-1 3.9-2 2.8-4.7z"/>
+    <path fill="#5a1008" d="M245 317.4l.8.7-.7-.7z"/>
+    <path fill="#520808" d="M251.4 317.4l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M252 317.4v4h4.3v-4h-4.2z"/>
+    <path fill="#520808" d="M256.3 317.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M262.6 317.4l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M263.4 317.4l.7.7-.8-.7z"/>
+    <path fill="#bd2110" d="M264 317.4l.8.7-.8-.7z"/>
+    <path fill="#ad1810" d="M264.8 317.4l.6.7-.6-.7z"/>
+    <path fill="#7b1008" d="M265.5 317.4l.7.7-.7-.7z"/>
+    <path fill="#6b4242" d="M266.2 317.4l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M266.9 317.4l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M267.6 317.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M280.2 317.4l.7.7-.7-.7z"/>
+    <path fill="#5a1010" d="M281 317.4l.6.7-.7-.7z"/>
+    <path fill="#ce2110" d="M281.6 317.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M283 317.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M283.8 317.4l.6.7-.6-.7z"/>
+    <path fill="#941808" d="M284.4 317.4l.8.7-.8-.7z"/>
+    <path fill="#7b1008" d="M292.2 317.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M292.9 317.4l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M203 318.6l.3.4-.2-.4z"/>
+    <path fill="#ad1810" d="M203.6 318.1l.7.7-.8-.7z"/>
+    <path fill="#ce2110" d="M207 318.1l.8.7-.7-.7z"/>
+    <path fill="#bd2110" d="M207.8 318.1l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M215.5 318.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M216.2 318.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M221.8 318.1l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M222.5 318.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M223.3 318.1l.6.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M227.5 318.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M240.4 318.6l.2.4-.2-.4z"/>
+    <path fill="#941808" d="M240.8 318.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M245 318.1v2.7h.8l-.7-2.7m6.3 0v2.7h.7l-.7-2.7z"/>
+    <path fill="#941808" d="M256.3 318.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M257 318.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M262.6 318.1l-2 3.4h2V320l1.4.7V318h-1.4z"/>
+    <path fill="#de2110" d="M264 318.1v3.4l2.9.6.7-3.3-3.6-.7z"/>
+    <path fill="#bd2110" d="M266.9 318.1l.7.7-.7-.7z"/>
+    <path fill="#6b4242" d="M267.6 318.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M280.2 318.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M281 318.1l.6.7-.7-.7m3.6 0l.6.7-.7-.7z"/>
+    <path fill="#520808" d="M285.1 318.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M285.9 318.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M291.5 318.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M292.2 318.1l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M300.4 318.3l.5.3-.5-.3m3.8-.2l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M304.9 318.1l.7.7-.8-.7z"/>
+    <path fill="#cecece" d="M198 318.8l.6.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M198.6 318.8l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M202.1 318.8l.7.6-.7-.6z"/>
+    <path fill="#5a1010" d="M203.6 318.8l.7.6-.8-.6z"/>
+    <path fill="#bd2110" d="M205.7 318.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M206.4 318.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M207 318.8l.8.6-.7-.6z"/>
+    <path fill="#941808" d="M207.8 318.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M208.5 318.8l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M209.2 318.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M209.9 318.8l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M210.6 318.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M216.2 318.8l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M217.2 319.2l.2.5-.3-.5z"/>
+    <path fill="#b51010" d="M220.4 318.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M221.1 318.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M221.8 318.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M222.5 318.8l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M226.8 318.8l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M227.5 318.8l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M240.8 318.8l.7.6-.7-.6m15.5 0v1.3h1.4v-1.3h-1.4z"/>
+    <path fill="#8c8c8c" d="M267.8 319.2l.2.5-.2-.5z"/>
+    <path fill="#dedede" d="M280.2 318.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M281 318.8l.6.6-.7-.6z"/>
+    <path fill="#941808" d="M285.9 318.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M286.6 318.8l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M287.3 318.8l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M290.8 318.8l.7.6-.7-.6z"/>
+    <path fill="#520808" d="M291.5 318.8l.7.6-.7-.6z"/>
+    <path fill="#ce2110" d="M292.2 318.8l.7.6-.7-.6m5 0l.6.6-.7-.6z"/>
+    <path fill="#7b1008" d="M297.8 318.8l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M299 319l.5.2-.5-.2z"/>
+    <path fill="#941808" d="M300 318.8l.6.6-.7-.6z"/>
+    <path fill="#7b1008" d="M300.6 318.8l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M301.3 318.8l.7.6-.7-.6z"/>
+    <path fill="#b51010" d="M302 318.8l.7.6-.7-.6z"/>
+    <path fill="#520808" d="M304.1 318.8l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M305.3 319l.5.2-.5-.2z"/>
+    <path fill="#bdbdbd" d="M309.5 319l.5.2-.5-.2z"/>
+    <path fill="#ada5a5" d="M195.8 319.4l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M196.5 319.4l.7.7-.7-.7z"/>
+    <path fill="#733129" d="M197.2 319.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M198 319.4l.6.7-.7-.7z"/>
+    <path fill="#de2110" d="M194.4 321.5c2.8 5.7 17.6 7.3 21.1 1.3-8.2 1-13.4-5.2-21.1-1.3z"/>
+    <path fill="#ce2110" d="M202.1 319.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M202.8 319.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M203.6 319.4l.7.7-.8-.7z"/>
+    <path fill="#ce2110" d="M206.4 319.4l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M214.8 322.1c-6.6-5-10.9 1.3 0 0z"/>
+    <path fill="#ce2110" d="M209.9 319.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M210.6 319.4l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M211.3 319.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M212 319.4l.7.7-.7-.7zm8.4 0l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M221.1 319.4l.7.7-.7-.7z"/>
+    <path fill="#5a2121" d="M226.8 319.4l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M240.8 319.4l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M281 319.4l.6.7-.7-.7z"/>
+    <path fill="#ce2110" d="M281.6 319.4l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M287.3 319.4l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M288 319.4l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M295.7 319.4l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M296.9 319.7l.5.2-.5-.2z"/>
+    <path fill="#bd2110" d="M297.8 319.4l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M293.6 321.5v.6c3.6.5 7.7 1.8 8.4-2.7l-8.4 2z"/>
+    <path fill="#520808" d="M302 319.4l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M303.4 319.4l.8.7-.8-.7z"/>
+    <path fill="#5a1008" d="M304.1 319.4l-.7 1.4.8-1.4z"/>
+    <path fill="#ad1810" d="M304.9 319.4l.7.7-.8-.7z"/>
+    <path fill="#ce2110" d="M305.6 319.4l.7.7-.7-.7z"/>
+    <path fill="#de2110" d="M292.9 322.8c3.5 6 18.3 4.4 21-1.3-7.6-3.9-12.8 2.3-21 1.3z"/>
+    <path fill="#941808" d="M309.8 319.4l.7.7-.7-.7z"/>
+    <path fill="#6b2908" d="M310.5 319.4l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M311.2 319.4l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M311.9 319.4l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M312.6 319.4l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M194.4 320.1l-1.4 2 1.4-2z"/>
+    <path fill="#5a3131" d="M195.1 320.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M195.8 320.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M204.3 320.1l.6.7-.7-.7z"/>
+    <path fill="#ad1810" d="M212 320.1l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M213.2 320.4l.4.2-.4-.2z"/>
+    <path fill="#bd2110" d="M214.1 320.1l.7.7-.7-.7z"/>
+    <path fill="#631818" d="M226 320.1l.8.7-.7-.7z"/>
+    <path fill="#cecece" d="M226.8 320.1l-.7 1.4.7-1.4z"/>
+    <path fill="#631808" d="M240.8 320.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M245.8 320.1v.7l2.8.7-2.8-1.4z"/>
+    <path fill="#941808" d="M256.3 320.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#ce2110" d="M257 320.1l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M259.8 320.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M262.6 320.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#ad1810" d="M266.9 320.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M267.6 320.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M281 320.1l.6.7-.7-.7z"/>
+    <path fill="#5a2121" d="M281.6 320.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#ce2110" d="M293.6 320.1l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M294.3 320.1l-.7 1.4.7-1.4z"/>
+    <path fill="#5a1008" d="M295 320.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M295.7 320.1l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M302 320.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M302.7 320.1l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M311.9 320.1l.7.7-.7-.7z"/>
+    <path fill="#5a2121" d="M312.6 320.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M313.3 320.1l.7.7-.7-.7z"/>
+    <path fill="#631818" d="M194.4 320.8l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M204.3 320.8l.6.7-.7-.7z"/>
+    <path fill="#210800" d="M205 320.8l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M205.7 320.8l-.7 1.3.7-1.3z"/>
+    <path fill="#ce2110" d="M213.4 320.8l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M214.1 320.8l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M214.8 320.8l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M215.5 320.8l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M224.7 320.8l.7.7-.8-.7z"/>
+    <path fill="#5a1010" d="M225.4 320.8l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M240.8 320.8l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M244.3 320.8l.7.7-.7-.7z"/>
+    <path fill="#310000" d="M245 320.8l.8.7-.7-.7z"/>
+    <path fill="#941808" d="M246 321.2l.2.5-.2-.5z"/>
+    <path fill="#b51010" d="M247 321l.4.2-.5-.2z"/>
+    <path fill="#7b1008" d="M248.6 320.8l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M249.3 320.8l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M250 320.8l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M250.7 320.8l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M251.4 320.8l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M256.3 320.8l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M257.7 320.8v.7h2.1l-2-.7z"/>
+    <path fill="#941808" d="M259.8 320.8l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M261.2 320.8l.7.7-.7-.7z"/>
+    <path fill="#310000" d="M262.6 320.8l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M266.9 320.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M267.6 320.8l.7.7-.7-.7m14 0l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M283 320.8l.7.7-.7-.7m9.2 0l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M292.9 320.8l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M294.3 320.8l.7.7-.7-.7m7.7 0l.7.7-.7-.7z"/>
+    <path fill="#210800" d="M302.7 320.8l.7.7-.7-.7z"/>
+    <path fill="#bd2110" d="M303.4 320.8l.8.7-.8-.7z"/>
+    <path fill="#7b1008" d="M313.3 320.8l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M314 320.8l.7.7-.7-.7z"/>
+    <path fill="#631818" d="M193.7 321.5l3.5 4-3.5-4z"/>
+    <path fill="#420000" d="M205.7 321.5l.7.6-.7-.6z"/>
+    <path fill="#842118" d="M214.8 321.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M215.5 321.5l.7.6-.7-.6z"/>
+    <path fill="#524242" d="M216.2 321.5l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M217 321.5l.6.6-.7-.6z"/>
+    <path fill="#b51010" d="M217.6 321.5l.7.6-.7-.6m5.7 0l.6.6-.7-.6z"/>
+    <path fill="#5a1008" d="M224 321.5l.6.6-.7-.6z"/>
+    <path fill="#7b7373" d="M224.7 321.5l.7.6-.8-.6z"/>
+    <path fill="#efefef" d="M225.4 321.5l.7.6-.7-.6z"/>
+    <path fill="#845a52" d="M240.8 321.5l.7.6-.7-.6z"/>
+    <path fill="#bd2110" d="M242.2 321.5l.7.6-.7-.6z"/>
+    <path fill="#631818" d="M243 321.5l.6.6-.7-.6z"/>
+    <path fill="#7b5252" d="M243.7 321.5l.7.6-.8-.6z"/>
+    <path fill="#8c8c8c" d="M244.3 321.5l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M245 321.5l.8.6-.7-.6z"/>
+    <path fill="#de2110" d="M246.5 321.5v.6h2.8l-2.8-.6z"/>
+    <path fill="#b51010" d="M249.3 321.5l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M250 321.5l.7.6-.7-.6z"/>
+    <path fill="#5a1008" d="M250.7 321.5l.7.6-.7-.6z"/>
+    <path fill="#392100" d="M251.4 321.5l.7.6-.7-.6z"/>
+    <path fill="#292100" d="M252 321.5l.8.6-.7-.6z"/>
+    <path fill="#7b1008" d="M252.8 321.5l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M254 321.7l.4.2-.4-.2z"/>
+    <path fill="#941808" d="M254.9 321.5l.7.6-.7-.6z"/>
+    <path fill="#311000" d="M255.6 321.5l.7.6-.7-.6z"/>
+    <path fill="#292100" d="M256.3 321.5l.7.6-.7-.6z"/>
+    <path fill="#4a1000" d="M257 321.5l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M257.7 321.5l.7.6-.7-.6z"/>
+    <path fill="#ad1810" d="M258.4 321.5l.7.6-.7-.6z"/>
+    <path fill="#de2110" d="M259.1 321.5v.6h2.8l-2.8-.6z"/>
+    <path fill="#b51010" d="M262 321.5l.6.6-.7-.6z"/>
+    <path fill="#5a1010" d="M262.6 321.5l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M263.4 321.5l.7.6-.8-.6z"/>
+    <path fill="#7b7373" d="M264 321.5l.8.6-.8-.6z"/>
+    <path fill="#6b2131" d="M264.8 321.5l.6.6-.6-.6z"/>
+    <path fill="#941808" d="M265.5 321.5l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M266.9 321.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M283 321.5l.7.6-.7-.6z"/>
+    <path fill="#631818" d="M283.8 321.5l.6.6-.6-.6z"/>
+    <path fill="#ad1810" d="M284.4 321.5l.8.6-.8-.6z"/>
+    <path fill="#b51010" d="M290 321.5l.8.6-.7-.6z"/>
+    <path fill="#7b1008" d="M290.8 321.5l.7.6-.7-.6z"/>
+    <path fill="#733939" d="M291.5 321.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M292.2 321.5l.7.6-.7-.6z"/>
+    <path fill="#631818" d="M292.9 321.5l.7.6-.7-.6z"/>
+    <path fill="#941808" d="M314 321.5l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M314.7 321.5l.7.6-.7-.6z"/>
+    <path fill="#63636b" d="M193 322.1l2.8 2.7-2.8-2.7z"/>
+    <path fill="#941808" d="M205.7 322.1l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M206.4 322.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#ce2110" d="M212 322.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M213 322.6l.2.4-.3-.4z"/>
+    <path fill="#631808" d="M213.9 322.4l.4.2-.4-.2z"/>
+    <path fill="#7b1008" d="M214.8 322.1l.7.7-.7-.7z"/>
+    <path fill="#392121" d="M215.5 322.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M217 322.1l.6.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M217.6 322.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M218.3 322.1l.7.7-.7-.7z"/>
+    <path fill="#6b2131" d="M219 322.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M219.7 322.1l.7.7-.7-.7z"/>
+    <path fill="#9c4239" d="M220.4 322.1l.7.7-.7-.7z"/>
+    <path fill="#ad524a" d="M221.1 322.1l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M221.8 322.1l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M222.5 322.1l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M223.3 322.1l.6.7-.7-.7z"/>
+    <path fill="#efefef" d="M224 322.1l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M240.8 322.1l.7.7-.7-.7z"/>
+    <path fill="#6b2131" d="M241.5 322.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M242.2 322.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M243 322.1l.6.7-.7-.7m2.1 0l.8.7-.8-.7z"/>
+    <path fill="#313931" d="M245.8 322.1l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M246.5 322.1v.7h2.8l-2.8-.7z"/>
+    <path fill="#296300" d="M249.3 322.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M250 322.1l-.7 2.7.7-2.7z"/>
+    <path fill="#319400" d="M251.2 322.4l.4.2-.4-.2z"/>
+    <path fill="#214210" d="M252 322.1l-.6 1.4.7-1.4z"/>
+    <path fill="#9c9494" d="M252.8 322.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M254 322.4l.4.2-.4-.2z"/>
+    <path fill="#efefef" d="M254.9 322.1l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M255.6 322.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M256.3 322.1l.7.7-.7-.7z"/>
+    <path fill="#428c00" d="M257 322.1c2.6 3 7 6.8 10.6 3.4L257 322z"/>
+    <path fill="#397b00" d="M258.4 322.1l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M259.1 322.1v.7h2.8l-2.8-.7z"/>
+    <path fill="#103900" d="M262 322.1l.6.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M262.6 322.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M265.5 322.1l.7.7-.7-.7z"/>
+    <path fill="#524242" d="M266.2 322.1l.7.7-.7-.7z"/>
+    <path fill="#5a1010" d="M266.9 322.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M284.4 322.1l.8.7-.8-.7z"/>
+    <path fill="#7b7373" d="M285.1 322.1l.7.7-.7-.7z"/>
+    <path fill="#734a42" d="M285.9 322.1l.7.7-.7-.7z"/>
+    <path fill="#ad524a" d="M287 322.4l.5.2-.5-.2z"/>
+    <path fill="#631808" d="M288 322.1l.7.7-.7-.7z"/>
+    <path fill="#733129" d="M288.7 322.1l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M289.4 322.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M290 322.1l.8.7-.7-.7z"/>
+    <path fill="#dedede" d="M290.8 322.1l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M292.2 322.1l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M292.9 322.1l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M294 322.4l.5.2-.4-.2z"/>
+    <path fill="#ad1810" d="M295.2 322.6l.3.4-.3-.4z"/>
+    <path fill="#ce2110" d="M295.7 322.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M301.3 322.1l.7.7-.7-.7z"/>
+    <path fill="#631818" d="M314 322.1l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M314.7 322.1l-.7 1.4.7-1.4z"/>
+    <path fill="#efefef" d="M315.4 322.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M192.3 322.8l2.8 2.7-2.8-2.7z"/>
+    <path fill="#cecece" d="M193 322.8l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M206.4 322.8l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M208.2 323l.5.2-.5-.2z"/>
+    <path fill="#941808" d="M209.2 322.8l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M209.9 322.8l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M210.6 322.8l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M211.8 323l.4.2-.4-.2z"/>
+    <path fill="#5a1008" d="M215.5 322.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M216.2 322.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M240.8 322.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M244.3 322.8l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M245 322.8l.8.7-.7-.7z"/>
+    <path fill="#297b00" d="M245.8 322.8l.7.7-.7-.7z"/>
+    <path fill="#319400" d="M241.5 325.5c3.3 3 6.8.2 9.2-2.7l-9.2 2.7z"/>
+    <path fill="#cecece" d="M252 322.8l-.6 1.3.7-1.3z"/>
+    <path fill="#8c8c8c" d="M256.3 322.8l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M257 322.8l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M262.6 322.8l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M263.4 322.8l.7.7-.8-.7z"/>
+    <path fill="#efefef" d="M264 322.8l.8.7-.8-.7z"/>
+    <path fill="#dedede" d="M266.9 322.8l.7.7-.7-.7z"/>
+    <path fill="#420000" d="M292.2 322.8l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M295.7 322.8l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M296.4 322.8l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M297.1 322.8l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M297.8 322.8l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M298.5 322.8l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M299.2 322.8v.7h2.1l-2-.7z"/>
+    <path fill="#ad1810" d="M301.3 322.8l.7.7-.7-.7z"/>
+    <path fill="#520808" d="M313.3 322.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M314.7 322.8l-1.4 2 1.4-2z"/>
+    <path fill="#8c8c8c" d="M315.4 322.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M191.6 323.5l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M193.7 323.5l.7.6-.7-.6z"/>
+    <path fill="#7b1008" d="M215.5 323.5l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M216.2 323.5l.7.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M243.7 323.5l.7.6-.8-.6z"/>
+    <path fill="#184a00" d="M244.3 323.5l.7.6-.7-.6z"/>
+    <path fill="#314231" d="M250.7 323.5l-.7 1.3.7-1.3z"/>
+    <path fill="#bdbdbd" d="M257 323.5l.7.6-.7-.6z"/>
+    <path fill="#213918" d="M257.7 323.5l.7.6-.7-.6m6.4 0l.6.6-.6-.6z"/>
+    <path fill="#bdbdbd" d="M264.8 323.5l.6.6-.6-.6z"/>
+    <path fill="#5a1008" d="M292.2 323.5l.7.6-.7-.6z"/>
+    <path fill="#631808" d="M312.6 323.5l.7.6-.7-.6z"/>
+    <path fill="#424242" d="M313.3 323.5l.7.6-.7-.6z"/>
+    <path fill="#7b7373" d="M314.7 323.5l-1.4 2 1.4-2z"/>
+    <path fill="#9c9494" d="M315.4 323.5l-.7 1.3.7-1.3z"/>
+    <path fill="#cecece" d="M192.3 324.1l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M214.8 324.1l-.7 1.4.7-1.4z"/>
+    <path fill="#63636b" d="M215.5 324.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M242.2 324.1l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M243 324.1l.6.7-.7-.7z"/>
+    <path fill="#296300" d="M243.7 324.1l.7.7-.8-.7z"/>
+    <path fill="#efefef" d="M250.7 324.1l.7.7-.7-.7m7 0l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M258.4 324.1l.7.7-.7-.7z"/>
+    <path fill="#397b00" d="M259.1 324.1l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M264.8 324.1l.6.7-.6-.7z"/>
+    <path fill="#425242" d="M265.5 324.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M266.2 324.1l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M292.2 324.1l.7.7-.7-.7z"/>
+    <path fill="#ad1810" d="M292.9 324.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M311.9 324.1l-1.4 2 1.4-2z"/>
+    <path fill="#424242" d="M312.6 324.1l-1.4 2 1.4-2z"/>
+    <path fill="#7b7373" d="M316.1 324.1l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M191.6 324.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M193 324.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#7b7373" d="M193.7 324.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M195.1 324.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M195.8 324.8l1.4 1.3-1.4-1.3z"/>
+    <path fill="#5a3131" d="M214.8 324.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M240.8 324.8l.7.7-.7-.7z"/>
+    <path fill="#425242" d="M241.5 324.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M242.2 324.8l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M248.6 324.8l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M249.3 324.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M259.1 324.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M259.8 324.8l.7.7-.7-.7m6.4 0l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M266.9 324.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M267.6 324.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M292.9 324.8l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M293.6 324.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M312.6 324.8l.7.7-.7-.7z"/>
+    <path fill="#a59494" d="M314 324.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M315.4 324.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M316.1 324.8l-.7 2 .7-2z"/>
+    <path fill="#bdbdbd" d="M192.3 325.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M194.4 325.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M195.1 325.5l5 4-5-4z"/>
+    <path fill="#9c9494" d="M195.8 325.5l.7.7-.7-.7z"/>
+    <path fill="#7b1008" d="M197.2 325.5l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M203.6 325.5l.7.7-.8-.7z"/>
+    <path fill="#631808" d="M204.3 325.5l.6.7-.7-.7z"/>
+    <path fill="#8c3939" d="M205 325.5l.7.7-.7-.7z"/>
+    <path fill="#843129" d="M209.9 325.5l.7.7-.7-.7z"/>
+    <path fill="#6b5252" d="M213.4 325.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M214.1 325.5l.7.7-.7-.7m26 0l.7.7-.7-.7z"/>
+    <path fill="#184a00" d="M240.8 325.5l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M247.2 325.5l.7.7-.7-.7z"/>
+    <path fill="#294221" d="M247.9 325.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M248.6 325.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M259.8 325.5l.7.7-.7-.7z"/>
+    <path fill="#213918" d="M260.5 325.5l.7.7-.7-.7z"/>
+    <path fill="#103900" d="M267.6 325.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M268.3 325.5l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M293.6 325.5l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M294.3 325.5l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M295 325.5l.7.7-.7-.7z"/>
+    <path fill="#842118" d="M297.8 325.5l.7.7-.7-.7z"/>
+    <path fill="#8c4a4a" d="M298.5 325.5l.7.7-.7-.7zm4.2 0l.7.7-.7-.7z"/>
+    <path fill="#631808" d="M303.4 325.5l.8.7-.8-.7z"/>
+    <path fill="#941808" d="M304.1 325.5l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M304.9 325.5l.7.7-.8-.7z"/>
+    <path fill="#cecece" d="M311.9 325.5l-2.1 2.7 2-2.7z"/>
+    <path fill="#8c8c8c" d="M312.6 325.5l-3.5 4.7 3.5-4.7z"/>
+    <path fill="#ada5a5" d="M313.8 325.7l.4.2-.4-.2z"/>
+    <path fill="#dedede" d="M192.3 326.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M193 326.1l1.4 2-1.4-2z"/>
+    <path fill="#efefef" d="M194.4 326.1l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M196.5 326.1l.7.7-.7-.7z"/>
+    <path fill="#52525a" d="M197.2 326.1l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M198 326.1l.6.7-.7-.7z"/>
+    <path fill="#bd2110" d="M201.4 326.1l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M202.1 326.1l.7.7-.7-.7z"/>
+    <path fill="#736b6b" d="M202.8 326.1l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M203.6 326.1l.7.7-.8-.7z"/>
+    <path fill="#efefef" d="M240.1 326.1l.7.7-.7-.7z"/>
+    <path fill="#314231" d="M240.8 326.1l.7.7-.7-.7z"/>
+    <path fill="#297b00" d="M241.5 326.1l1.4 1.4-1.4-1.4z"/>
+    <path fill="#185200" d="M246.5 326.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M247.2 326.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M247.9 326.1l.7.7-.7-.7m12.6 0l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M261.2 326.1l.7.7-.7-.7z"/>
+    <path fill="#294200" d="M262 326.1l.6.7-.7-.7z"/>
+    <path fill="#397b00" d="M266.9 326.1l-.7 1.4.7-1.4z"/>
+    <path fill="#52525a" d="M267.6 326.1l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M268.3 326.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M304.1 326.1l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M304.9 326.1l.7.7-.8-.7z"/>
+    <path fill="#631818" d="M305.6 326.1l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M306.3 326.1l.7.7-.7-.7m3.5 0l-.7 1.4.7-1.4z"/>
+    <path fill="#292921" d="M310.5 326.1l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M313.3 326.1l.7.7-.7-.7m1.4 0l-2.1 2.7 2-2.7z"/>
+    <path fill="#bdbdbd" d="M193.7 326.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M195.1 326.8l.7.7-.7-.7z"/>
+    <path fill="#424242" d="M198 326.8l.6.7-.7-.7z"/>
+    <path fill="#ad1810" d="M198.6 326.8l.7.7-.7-.7m2.1 0l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M201.4 326.8l.7.7-.7-.7z"/>
+    <path fill="#efefef" d="M202.1 326.8l.7.7-.7-.7z"/>
+    <path fill="#63636b" d="M241.5 326.8l.7.7-.7-.7z"/>
+    <path fill="#296300" d="M245 326.8l.8.7-.7-.7z"/>
+    <path fill="#425242" d="M245.8 326.8l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M246.5 326.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M262 326.8l.6.7-.7-.7z"/>
+    <path fill="#425242" d="M262.6 326.8l.7.7-.7-.7z"/>
+    <path fill="#295200" d="M263.4 326.8l.7.7-.8-.7z"/>
+    <path fill="#63636b" d="M266.9 326.8l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M306.3 326.8l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M307 326.8l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M309.8 326.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M312.6 326.8l.7.7-.7-.7z"/>
+    <path fill="#ada5a5" d="M314.7 326.8l-1.4 2 1.4-2z"/>
+    <path fill="#cecece" d="M195.8 327.5l2.8 2.7-2.8-2.7z"/>
+    <path fill="#7b7373" d="M196.5 327.5l.7.7-.7-.7z"/>
+    <path fill="#292921" d="M198.6 327.5l.7.7-.7-.7z"/>
+    <path fill="#b51010" d="M199.3 327.5l.7.7-.7-.7z"/>
+    <path fill="#941808" d="M200 327.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M200.7 327.5l.7.7-.7-.7m41.5 0l.7.7-.7-.7z"/>
+    <path fill="#185200" d="M243 327.5l.6.7-.7-.7z"/>
+    <path fill="#296300" d="M243.7 327.5l.7.7-.8-.7z"/>
+    <path fill="#395231" d="M244.3 327.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M245 327.5l.8.7-.7-.7m18.3 0l.7.7-.8-.7z"/>
+    <path fill="#5a5231" d="M264 327.5l.8.7-.8-.7z"/>
+    <path fill="#397b00" d="M264.8 327.5l.6.7-.6-.7z"/>
+    <path fill="#295200" d="M265.5 327.5l.7.7-.7-.7z"/>
+    <path fill="#9c9494" d="M266.2 327.5l.7.7-.7-.7m40.8 0l.7.7-.7-.7z"/>
+    <path fill="#5a1008" d="M307.7 327.5l.7.7-.7-.7z"/>
+    <path fill="#ce2110" d="M308.4 327.5l.7.7-.7-.7z"/>
+    <path fill="#391810" d="M309 327.5l.8.7-.7-.7z"/>
+    <path fill="#cecece" d="M311.9 327.5l.7.7-.7-.7z"/>
+    <path fill="#7b7373" d="M197.2 328.2l.7.6-.7-.6z"/>
+    <path fill="#313931" d="M199.3 328.2l.7.6-.7-.6z"/>
+    <path fill="#9c9494" d="M200 328.2l.7.6-.7-.6z"/>
+    <path fill="#ada5a5" d="M243 328.2l.6.6-.7-.6z"/>
+    <path fill="#9c9494" d="M243.7 328.2l.7.6-.8-.6m21.2 0l.6.6-.6-.6z"/>
+    <path fill="#ada5a5" d="M265.5 328.2l.7.6-.7-.6z"/>
+    <path fill="#cecece" d="M307.7 328.2l1.4 1.3-1.4-1.3z"/>
+    <path fill="#292921" d="M308.4 328.2l.7.6-.7-.6z"/>
+    <path fill="#bdbdbd" d="M309 328.2l.8.6-.7-.6m2 0l.8.6-.7-.6z"/>
+    <path fill="#8c8c8c" d="M195.1 328.8l.7.7-.7-.7z"/>
+    <path fill="#cecece" d="M195.8 328.8l2.8 2.7-2.8-2.7z"/>
+    <path fill="#7b7373" d="M198 328.8l.6.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M310.5 328.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M311.9 328.8l-.7 1.4.7-1.4z"/>
+    <path fill="#7b7373" d="M312.6 328.8l-.7 1.4.7-1.4m-116.8.7l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M198.6 329.5l.7.7-.7-.7z"/>
+    <path fill="#bdbdbd" d="M309.8 329.5l.7.7-.7-.7z"/>
+    <path fill="#8c8c8c" d="M196.5 330.2l1.4 1.3-1.4-1.3z"/>
+    <path fill="#efefef" d="M198.6 330.2l.7.6-.7-.6z"/>
+    <path fill="#dedede" d="M310.5 330.2l.7.6-.7-.6m-114 .6l1.4 1.4-1.4-1.4z"/>
+    <path fill="#efefef" d="M309.8 330.8l.7.7-.7-.7z"/>
+    <path fill="#dedede" d="M311.2 330.8l-.7 1.4.7-1.4z"/>
+    <path fill="#ecca5e" d="M230.9 207.5l1.1-.3a.8.8 0 00.4.5h.6c.3 0 .6 0 .7-.2a.3.3 0 00.1-.3.3.3 0 00-.1-.2 1 1 0 00-.4 0 6.5 6.5 0 01-1.8-.4 1 1 0 01-.7-.9c0-.4 0-.7.3-1 .3-.2.8-.4 1.4-.5.6 0 1 0 1.4.2.3.1.5.3.7.7l-1.1.3a.6.6 0 00-.3-.3 1 1 0 00-.6 0l-.6.1-.1.2.1.2c.1.1.5.2 1.1.2.7 0 1.1.2 1.4.4a1 1 0 01.4.7c0 .4 0 .7-.3 1-.3.4-.8.6-1.5.6-.6.1-1 0-1.4-.1a1.6 1.6 0 01-.8-.9zm-5.1-.4a2.1 2.1 0 01.1-1l.7-1c.4-.1.7-.3 1.2-.3a2 2 0 011.7.4c.4.4.7.8.8 1.5a2 2 0 01-.5 1.6c-.3.5-.8.7-1.5.8l-1.2-.1a1.9 1.9 0 01-.9-.7l-.4-1.2zm1.2 0c0 .4.2.7.4.9.2.2.5.2.8.2a1 1 0 00.7-.4c.2-.3.2-.6.2-1s-.2-.7-.4-.9a1 1 0 00-.8-.2 1 1 0 00-.7.4c-.2.2-.3.5-.2 1zm-3.6-2.3l-.1-1 1.1-.1.1 1-1.1.1zm.6 4.7l-.5-4.1 1.1-.2.5 4.2-1.1.1zm-6.8-5l2.2-.3h1.2c.3 0 .7.2 1 .4l.7.9c.1.3.3.8.3 1.3v1.3a2.5 2.5 0 01-.5 1 2 2 0 01-.8.6l-1 .3-2.4.2-.7-5.7zm1.3.8l.5 3.8h1l.7-.2.4-.3.3-.6v-1a3.3 3.3 0 00-.3-1 1.3 1.3 0 00-.4-.6 1.2 1.2 0 00-.6-.2h-1l-.5.1z"/>
+    <path fill="#ecca5e" fill-rule="evenodd" d="M233.4 223.4l17 21.4-.7 1-17.1-21.4zm44-1.6L258.3 247l-1.5-.5 19.1-25.2zm-48.4 5.8l20.2 18.8-.7 1-20.2-18.7zm-4.7 4.4l22.2 16.6-.5 1-22.3-16.5zm56-3.3l-20 19-1.2-.7 20-19zm4.4 3.5l-22.4 16.4-1-.8 22.4-16.4z"/>
+    <path fill="#7b5a00" fill-opacity=".6" d="M271.3 229.6l4.6-5.9-.6-.4-4 6.3z"/>
+    <path fill="#7b5a00" fill-opacity=".5" d="M260.8 243.5l4.6-5.9-.6-.4-4 6.3z"/>
+    <path fill="#7b5a00" fill-opacity=".7" d="M266 236.8l4.6-5.9-.5-.4-4.1 6.3z"/>
+    <path fill="#7b5a00" fill-opacity=".5" d="M276.8 237.6l6.5-4-.4-.6-6 4.6z"/>
+    <path fill="#7b5a00" fill-opacity=".4" d="M268.3 240l5.8-5-.5-.5-5.3 5.4z"/>
+    <path fill="#428c00" d="M213.6 288.6h-.7c-.1-3.8-1.6-6.3-5.6-7.3.1 2 1.6 10 5 7.3h.6l-1.4 6c2.1-2.2 10.8-10 7-13.4-3.2-3-4.8 6-4.9 7.4zm-5.3-47.9h-.8c0-3.8-1.6-6.3-5.6-7.3.1 2 1.6 10 5 7.3h.6l-1.4 6c2.1-2.2 10.8-10 7-13.4-3.2-3-4.8 6-4.9 7.4z"/>
+    <path fill="#ecca5e" d="M299.5 210.8h-1v-.7l-.7.5a1.7 1.7 0 01-.7 0c-.5 0-1-.2-1.2-.7-.3-.4-.5-1-.4-1.6.1-.7.3-1.2.7-1.6.4-.3.9-.4 1.4-.4.5.1.9.3 1.2.8l.3-2.1 1.1.1-.7 5.7zm-2.8-2.5v1a.9.9 0 00.8.5.9.9 0 00.7-.2c.2-.2.4-.5.4-1l-.1-1a.9.9 0 00-.7-.4.9.9 0 00-.7.2c-.2.2-.4.5-.4 1zm-4.6-1.2l-1-.3c.1-.4.3-.7.7-.8l1.3-.2 1.1.3.5.5v1l-.2 1.3v.8l.1.6-1.1-.1a4.7 4.7 0 010-.4 2 2 0 01-1.5.3c-.5 0-.8-.2-1-.5a1.1 1.1 0 01-.3-.9 1.1 1.1 0 01.8-1l1-.1 1-.1.1-.2-.1-.4-.6-.2a.9.9 0 00-.5 0 .8.8 0 00-.3.4zm1.4 1a8 8 0 01-.7.2h-.7l-.2.4a.5.5 0 000 .5.6.6 0 00.5.2c.2 0 .4 0 .7-.2a.7.7 0 00.3-.3v-.5l.1-.2zm-3-2.4v.8h-.8l-.2 1.6v.7l.2.1h.5v.8l-1 .1a1.5 1.5 0 01-.5-.2.8.8 0 01-.4-.3 1 1 0 010-.4v-.8l.2-1.8h-.5v-1l.6.1.1-.8 1.3-.5-.2 1.5h.8zm-4.6 3.6l-1.1-.1.5-4.1h1v.7l.5-.5.5-.1c.3 0 .5.1.8.3l-.5.9a1 1 0 00-.5-.2.7.7 0 00-.5 0l-.3.5-.2 1.4-.2 1.2zm-3-1.6l1 .3a1.8 1.8 0 01-.8.8 2 2 0 01-1.2.2c-.8-.1-1.3-.4-1.6-1-.2-.3-.3-.8-.3-1.4.1-.7.4-1.2.8-1.5.4-.4 1-.5 1.5-.4a2 2 0 011.5.7c.3.5.4 1.1.3 2l-2.9-.4c0 .4 0 .6.2.8.1.2.4.3.6.4l.5-.1a.9.9 0 00.3-.4zm.1-1.1c0-.4 0-.6-.2-.8a.8.8 0 00-.5-.3.8.8 0 00-.7.2 1 1 0 00-.3.7l1.7.2zm-8 1.5l.7-5.7 1.1.1-.2 2c.4-.2.8-.4 1.3-.3.5 0 1 .3 1.2.7.3.4.4.9.4 1.6-.1.7-.4 1.2-.8 1.5a1.7 1.7 0 01-2 .2 1.8 1.8 0 01-.6-.6v.6H275zm1.4-2v1c.2.3.5.5.8.5a.8.8 0 00.7-.2c.2-.2.3-.6.4-1 0-.5 0-.8-.2-1a.9.9 0 00-.6-.4.9.9 0 00-.7.2c-.2.2-.4.5-.4.9zm-3.1-3v-1l1.2.2v1l-1.2-.1zm-.6 4.8l.5-4.2 1.1.2-.5 4h-1.1zm-5-.6l.6-5.7 1.2.2-.6 4.7 3 .3v1l-4.3-.5z"/>
+    <path fill="#428c00" d="M201 254h-.6c-.1-3.8-1.6-6.2-5.6-7.3 0 2 1.5 10 4.9 7.4h.7l-1.4 6c2-2.2 10.7-10 7-13.5-3.2-3-4.9 6-5 7.5z"/>
+    <path fill="#fac349" fill-rule="evenodd" d="M226 232.8c0 .5-.6 1-1.4 1s-1.3-.5-1.3-1 .6-1 1.3-1 1.3.5 1.3 1zm4.3-4.7c0 .6-.5 1-1.3 1s-1.3-.4-1.3-1c0-.5.6-.9 1.3-.9s1.3.4 1.3 1zm4.1-4.3c0 .5-.6 1-1.3 1s-1.3-.5-1.3-1 .6-1 1.3-1 1.3.5 1.3 1zm43.3-1.7c0 .5-.5 1-1.2 1s-1.4-.5-1.4-1 .6-1 1.3-1 1.4.5 1.4 1zm3.1 6c0 .6-.5 1-1.3 1s-1.3-.4-1.3-1c0-.5.6-.9 1.3-.9s1.3.4 1.3 1zm4.6 4c0 .4-.6.8-1.3.8s-1.3-.4-1.3-.9.6-1 1.3-1 1.3.5 1.3 1z"/>
+    <path fill="#ecca5e" d="M262.6 199.3l-1-.2c0-.4.3-.7.6-.9.3-.2.7-.3 1.3-.3l1.1.2.5.5.2 1v2.1l.2.5h-1.1a4 4 0 01-.1-.3 1.4 1.4 0 000-.1 1.9 1.9 0 01-1.5.5c-.4 0-.8-.1-1-.4a1.1 1.1 0 01-.4-.9 1.1 1.1 0 01.7-1 4 4 0 011-.3l1-.2v-.1l-.1-.5-.6-.1-.5.1a.8.8 0 00-.3.4zm1.5.9l-.7.2-.6.2-.2.3c0 .2 0 .3.2.4a.7.7 0 00.4.2c.2 0 .4 0 .6-.2.2 0 .2-.2.3-.3v-.8zm-4.7-2.8v-1h1.2v1h-1.2zm0 4.8V198h1.2v4.2h-1.2zm-2.2 0H256V198h1.1v.6l.5-.6a1 1 0 01.5-.1c.3 0 .6 0 .8.2l-.4 1a1 1 0 00-.5-.2l-.4.1-.3.5-.1 1.4v1.2zm-1.9-4.2v.8h-.8v2.3l.1.1.2.1.5-.1v.9l-.9.1h-.5a.9.9 0 01-.4-.3 1 1 0 01-.1-.5 5.3 5.3 0 010-.8v-1.8h-.6v-.9h.6v-.8l1.1-.6v1.5h.8zm-5.8 1.2l-1-.2c0-.4.2-.7.5-.9.3-.2.8-.3 1.3-.3s1 0 1.2.2l.5.5.1 1v2l.3.6h-1.2a4.2 4.2 0 010-.3l-.1-.2a1.9 1.9 0 01-1.4.6c-.4 0-.8-.2-1-.4a1.1 1.1 0 01-.4-.9 1.1 1.1 0 01.6-1 4 4 0 011-.3l1.1-.2v-.1l-.1-.5-.7-.1h-.4a.8.8 0 00-.3.5zm1.5.9a9 9 0 01-.7.2l-.6.1c-.2.1-.3.3-.3.4a.5.5 0 00.2.4l.5.2c.2 0 .4 0 .6-.2l.3-.3v-.8zm-8 2v-5.8h3.4l.9.7c.2.3.3.6.3 1s0 .7-.2 1l-.5.5a1 1 0 01-.7.3h-2v2.2h-1.3zm1.2-4.8v1.6h1.7l.3-.4a.7.7 0 00.2-.4.7.7 0 00-.2-.5.8.8 0 00-.5-.3 6.2 6.2 0 00-.9 0h-.6zm2.4 110.6h-.8c0-.3.2-.6.4-.7.2-.2.5-.3.9-.4h.9c.2 0 .3.2.4.3.1.1.2.3.2.7l.2 1 .1.5.2.4-.8.2a3.5 3.5 0 01-.1-.3 1.5 1.5 0 01-1 .5c-.4 0-.6 0-.9-.2a.9.9 0 01-.3-.6.8.8 0 010-.5.8.8 0 01.3-.3l.7-.3.8-.3v-.1c0-.2-.1-.3-.2-.3h-.5a.6.6 0 00-.3 0 .6.6 0 00-.2.4zm1.3.5l-.5.2c-.3 0-.4.2-.5.2v.6h.5a.8.8 0 00.4-.1.5.5 0 00.1-.3v-.6zm-2.6-.3l-.8.2a.6.6 0 00-.3-.3.6.6 0 00-.4 0 .7.7 0 00-.5.2v.8c0 .3.1.6.3.7l.6.2a.6.6 0 00.3-.2l.2-.5h.8a1.4 1.4 0 01-.3.9c-.2.2-.6.4-1 .4-.5 0-.9 0-1.2-.2a1.6 1.6 0 01-.6-1.2c0-.5 0-.9.2-1.2a2 2 0 011.1-.6l1 .1c.3.1.5.3.6.7zm-4.8-.7v-.8h.8l.1.7-.9.1zm.6 3.5l-.5-3 .9-.2.5 3-.9.2zm-1.7.3l-.7-4.3.8-.1.7 4.2-.8.2zm-3.9.5l-.7-4.3h.9l.2 1.5c.2-.4.5-.6.9-.6s.7 0 1 .3c.3.2.5.6.6 1 .1.6 0 1-.2 1.3a1.3 1.3 0 01-1.4.6 1.4 1.4 0 01-.6-.4l.1.5-.8.1zm.6-1.7c0 .3.1.5.3.7a.7.7 0 00.6.2.6.6 0 00.5-.3c0-.2.1-.4 0-.8 0-.3-.1-.6-.3-.7a.7.7 0 00-.5-.2.7.7 0 00-.5.3 1 1 0 00-.1.8zm-2.3 2v-.5a1.2 1.2 0 01-.4.5l-.6.2h-.6a.8.8 0 01-.5-.4l-.2-.7-.3-2h.9l.2 1.4.2.8a.5.5 0 00.2.2.6.6 0 00.3 0 .7.7 0 00.4-.2.6.6 0 00.2-.3v-.8l-.3-1.3.9-.1.5 3-.8.1zm-6.4-2.3h.8v.4a1.2 1.2 0 011-.7c.4 0 .7 0 1 .3.3.2.5.6.6 1.1 0 .5 0 1-.2 1.3-.2.3-.5.5-1 .5a1.2 1.2 0 01-.4 0 1.8 1.8 0 01-.5-.3l.2 1.6h-.8l-.7-4.2zm1 1.4c.1.3.2.6.4.7a.7.7 0 00.6.2.6.6 0 00.4-.3c.1-.2.2-.4.1-.8 0-.3-.2-.5-.3-.7a.7.7 0 00-.5-.1.7.7 0 00-.5.3c-.1.2-.2.4-.1.7zm-2.3 1h1l-.5.7c-.2.2-.5.3-.9.4-.5 0-1 0-1.3-.4a1.7 1.7 0 01-.5-1c0-.5 0-.9.2-1.2a1.4 1.4 0 011-.6c.5 0 1 0 1.3.3.3.2.5.7.6 1.3l-2.2.3c0 .3.2.4.3.5.2.2.4.2.6.2a.5.5 0 00.3-.2.7.7 0 00.1-.3zm0-.9c0-.2-.2-.4-.3-.5a.6.6 0 00-.5-.1.6.6 0 00-.4.3.7.7 0 00-.1.5l1.3-.2zm-6.2 2.8l-.7-4.3 2-.3h1l.6.3.3.7c0 .3 0 .6-.2.8-.2.2-.4.4-.8.5l.5.3.6.6.7.8-1 .1-.9-.8-.5-.6a.7.7 0 00-.3 0 1.6 1.6 0 00-.5 0h-.2l.3 1.7-.9.2zm.5-2.6l.7-.1.8-.2a.5.5 0 00.2-.2.6.6 0 000-.3.5.5 0 00-.1-.4.6.6 0 00-.4 0h-1.4l.2 1.2zm67 .4l-.7-.2c.1-.3.3-.5.5-.6.3-.1.6-.2 1-.1l.9.2.3.4v.8l-.1 1a3.5 3.5 0 000 .5v.5l-.8-.1v-.3a1.6 1.6 0 01-.6.1 1.4 1.4 0 01-.6 0 1.1 1.1 0 01-.7-.3.8.8 0 01-.2-.7.8.8 0 01.6-.7 3 3 0 01.7 0l.9-.2v-.4l-.5-.2a.6.6 0 00-.4 0 .6.6 0 00-.2.3zm1.1.8l-.5.1h-.5l-.2.3a.4.4 0 000 .4.5.5 0 00.4.1.8.8 0 00.4 0 .5.5 0 00.3-.3 1.6 1.6 0 00.1-.4v-.2zm-2.9 1.2l-.8-.1.2-1.6v-.7a.4.4 0 00-.1-.2.5.5 0 00-.3-.2.7.7 0 00-.4.1.6.6 0 00-.3.3l-.2.7-.2 1.4-.8-.1.4-3.1h.8v.5c.3-.3.7-.4 1.1-.3l.5.1a.8.8 0 01.3.3.9.9 0 01.1.4v.5l-.3 2zm-5.5-3l-.7-.2c.1-.3.3-.5.5-.6h1c.4 0 .7 0 .9.2l.3.3v.8l-.1 1a3.4 3.4 0 000 .6v.4l-.8-.1a3.2 3.2 0 010-.3 1 1 0 00-.1 0l-.5.2a1.4 1.4 0 01-.6 0 1.1 1.1 0 01-.7-.4.8.8 0 01-.2-.7.9.9 0 01.6-.7h.7l.9-.2v-.4l-.5-.2a.7.7 0 00-.4 0 .6.6 0 00-.3.3zm1.1.9h-.6l-.4.1c-.2 0-.2.2-.2.3a.4.4 0 000 .3.5.5 0 00.4.2.8.8 0 00.4-.1.5.5 0 00.3-.3v-.5zm-2.4-1h-.8a.6.6 0 00-.2-.4.6.6 0 00-.3-.2.7.7 0 00-.6.2l-.3.6.1.8c.1.2.3.3.5.3a.6.6 0 00.4 0l.3-.5.8.3c-.1.3-.3.6-.6.8-.3.1-.6.2-1 .1a1.5 1.5 0 01-1.1-.6 1.6 1.6 0 01-.3-1.2c.1-.5.3-1 .6-1.2.4-.2.8-.3 1.2-.2.4 0 .7.1 1 .3.2.2.3.5.3.8zm-4.3-2v-.8l1 .2-.2.7h-.8zm-.6 3.5l.5-3h.9l-.5 3.1h-.9zm-.8-.1l-.9-.1.2-1.6v-.6a.4.4 0 000-.3.5.5 0 00-.3-.1h-.5c-.2 0-.2.2-.3.3l-.1.7-.2 1.4h-.9l.5-3.2.8.1v.5a1.4 1.4 0 011.6-.2.8.8 0 01.3.3.9.9 0 01.1.3 2.4 2.4 0 010 .6l-.3 1.9zm-4.2-4.1l.1-.8.9.1-.1.8-.9-.1zm-.5 3.5l.4-3.1.9.1-.5 3.1-.8-.1zm-5.2-3.9l.8.1v.5c.3-.3.6-.4 1-.4l.5.2.4.4.5-.3h.5c.3 0 .5 0 .6.2a.8.8 0 01.3.4v.7l-.3 2-.8-.2.2-1.7v-.6c0-.2-.2-.2-.3-.3a.6.6 0 00-.7.4l-.1.6-.2 1.5-.9-.1.3-1.7v-.6a.4.4 0 00-.1-.2.4.4 0 00-.3-.1.7.7 0 00-.3 0 .6.6 0 00-.3.3 2.1 2.1 0 00-.2.6l-.2 1.5h-.9l.5-3.2zm-4.2 1a1.6 1.6 0 011-1.3h1c.4 0 .8.2 1 .6.3.3.4.7.4 1.2a1.6 1.6 0 01-.7 1c-.4.4-.8.5-1.3.4a2 2 0 01-.8-.3 1.4 1.4 0 01-.5-.7v-.9zm.9.2l.1.7c.1.2.3.3.5.3a.8.8 0 00.6-.1l.4-.7c0-.3 0-.6-.2-.8a.7.7 0 00-.5-.3.8.8 0 00-.6.2c-.2.1-.3.4-.3.7zm-4.8-3.5l1.6.3c.4 0 .7 0 .9.2.2 0 .4.2.6.4.2.3.3.5.3.8a3.2 3.2 0 01-.3 2 1.9 1.9 0 01-.5.6l-.7.3h-.8l-1.7-.3.6-4.3zm.8.9l-.4 2.8.6.1h.6a.8.8 0 00.4 0c0-.2.2-.3.3-.5l.2-.7v-.8a1 1 0 00-.2-.5.9.9 0 00-.4-.2 4.4 4.4 0 00-.7-.2h-.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dz.svg
new file mode 100644
index 0000000..aa4eca2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/dz.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-dz" viewBox="0 0 640 480">
+  <path fill="#fff" d="M320 0h320v480H320z"/>
+  <path fill="#006233" d="M0 0h320v480H0z"/>
+  <path fill="#d21034" d="M424 180a120 120 0 100 120 96 96 0 110-120m4 60l-108-35.2 67.2 92V183.2l-67.2 92z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ec.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ec.svg
new file mode 100644
index 0000000..42fbef5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ec.svg
@@ -0,0 +1,138 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ec" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffe800" d="M0 0h640v480H0z"/>
+    <path fill="#00148e" d="M0 240h640v240H0z"/>
+    <path fill="#da0010" d="M0 360h640v120H0z"/>
+  </g>
+  <g fill-rule="evenodd">
+    <path d="M269.6 290.8L197 367.3l-1.2-1.6 72.4-76.5 1.2 1.6zm50.4 12.5l-94.8 100-1.6-1.6 94.7-100 1.7 1.6z"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(-.07 -.07 -.1 .1 265 429.6)"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(-.07 -.07 -.1 .1 240.6 390.5)"/>
+  </g>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185-158.6-116.2z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3-115.3-84.8z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6-92.3-67.8z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/>
+  <path fill-rule="evenodd" d="M206.2 116l72.4 76.5 1.3-1.6-72.4-76.5-1.3 1.6z"/>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124-159.4-159.5z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+  <g stroke="#000">
+    <path fill="none" stroke-width="2.3" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.4 -.03 -.05 .35 135.1 147.4)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.14 -.22 .3 .14 175.9 257.4)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 177.6 256.7)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.18 .12 -.13 .33 181 96.4)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.17 -.03 -.03 .33 179.3 159.3)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.06 .25 -.17 .2 228 45.5)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.2 -.2 .2 .24 150.3 241)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.22 -.22 .25 .2 135.6 282.1)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.26 .1 -.2 .32 130.8 147.7)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.15 .2 -.32 .22 178.5 103.3)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.08 .1 -.14 .16 250.7 102.6)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.1 0 -.08 .17 238 136.4)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(0 .14 -.14 .08 287.4 81.1)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.07 .1 -.25 .15 220.7 115.6)"/>
+    <path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.13 .22 -.33 .2 207 70.1)"/>
+    <path fill="none" stroke-width="2.4" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.35 -.2 .14 .28 111.8 227.8)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 200.3 224.6)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 211.1 218.3)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 166.8 232.7)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 170 231.3)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 168.1 234.3)"/>
+    <path fill="red" fill-rule="evenodd" stroke-width=".3" d="M252.7 167.3c.4.8 0 1.8-1 2.3s-2 .2-2.4-.7 0-1.8 1-2.3 2-.2 2.3.7z"/>
+    <path fill="red" fill-rule="evenodd" stroke-width=".3" d="M255 164.9c.3.8 0 1.8-1 2.3s-2 .2-2.5-.6 0-1.9 1-2.4 2-.1 2.4.7z"/>
+    <path fill="red" fill-rule="evenodd" stroke-width=".3" d="M255.5 166c.4.8 0 1.9-1 2.3s-2 .2-2.4-.6 0-1.8 1-2.3 2-.2 2.4.6z"/>
+  </g>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7-124-124z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1-88.6-88.6z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+  <path fill-rule="evenodd" d="M183.8 158l94.8 100 1.7-1.6-94.8-99.9-1.6 1.6z"/>
+  <path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M460.6 184.3l17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(.14 -.14 .1 .1 86.3 192.2)"/>
+  <path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M557.8 95.7l-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(.1 -.16 .14 .1 114 183.8)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.4 0 0 .3 43.8 69.8)"/>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.38 .1 -.15 .3 76 38.2)"/>
+  <path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M186.7 151.5c0 1-1 2-2.2 2-1.2 0-2.2-1-2.2-2s1-1.8 2.2-1.8c1.2 0 2.1.8 2.1 1.8zm-3.2 4c0 17.9 10.5 93.9 11.3 95.8 0 2.2-2.3 3.2-3.5.4-3.3-8.7-10.4-80-10.7-96.6-.1-6.9 1.9-7.4 4.2-7.3 1.9.1 4.1 1.9 4.1 4 0 2.4-2.9 4.3-5.4 3.7z"/>
+  <path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.48 .15 -.2 .48 16.7 31.6)"/>
+  <g fill-rule="evenodd">
+    <path d="M370.4 290.8l72.5 76.5 1.3-1.6-72.5-76.5-1.3 1.6zM320 303.3l94.8 100 1.6-1.6-94.7-100-1.7 1.6z"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(.07 -.07 .1 .1 375 429.6)"/>
+    <path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2h-35.4z" transform="matrix(.07 -.07 .1 .1 399.4 390.5)"/>
+  </g>
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffdf00" stroke="#000" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185-158.6-116.2z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/>
+    <path fill="#0000c4" stroke="#000" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3-115.3-84.8z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/>
+    <path fill="#e10000" stroke="#000" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6-92.3-67.8z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/>
+    <path d="M433.8 116l-72.4 76.5-1.3-1.6 72.4-76.5 1.3 1.6z"/>
+    <g fill="#005b00" stroke="#000">
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.16 -.07 .08 .35 309.5 211)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.05 .07 .4 291.5 182.6)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.23 .14 -.03 .4 296.5 69.4)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.25 .03 .02 .44 274.4 115)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.18 .17 -.04 .35 330 67)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.23 0 .03 .4 280.6 141.9)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.07 .07 .38 290.1 196.8)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.03 .05 .4 292.7 166.8)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.22 .15 -.05 .38 305 65.5)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.24 .05 0 .44 278.9 97.7)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.17 .17 -.06 .33 339 70)"/>
+      <path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.24 .02 0 .4 276.4 128)"/>
+    </g>
+    <path fill="#ffdf00" stroke="#000" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124-159.4-159.5z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
+    <path fill="#0000c4" stroke="#000" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7-124-124z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
+    <path fill="#e10000" stroke="#000" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1-88.6-88.6z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
+    <path d="M456.2 158l-94.8 100-1.7-1.6 94.8-99.9 1.7 1.6z"/>
+    <path fill="#cececc" stroke="#000" d="M460.6 184.3l17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(-.14 -.14 -.1 .1 553.7 192.2)"/>
+    <path fill="#cececc" stroke="#000" d="M557.8 95.7l-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(-.1 -.16 -.14 .1 526 183.8)"/>
+    <path fill="#e10000" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.4 0 0 .3 596.3 69.8)"/>
+    <path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.38 .1 .15 .3 564 38.2)"/>
+    <path fill="#e10000" stroke="#000" stroke-width=".7" d="M453.4 151.5c0 1 1 2 2.1 2 1.2 0 2.2-1 2.2-2s-1-1.8-2.2-1.8c-1.2 0-2.1.8-2.1 1.8zm3 4a1152 1152 0 01-11.2 95.8c0 2.2 2.3 3.2 3.5.4 3.3-8.7 10.4-80 10.7-96.6.1-6.9-1.9-7.4-4.2-7.3-1.9.1-4.1 1.9-4.1 4 0 2.4 2.9 4.3 5.4 3.7z"/>
+    <path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.48 .15 .2 .48 623.3 31.6)"/>
+  </g>
+  <g fill-rule="evenodd" stroke="#000" stroke-width="1pt">
+    <path fill="#e10000" d="M478.4 698a53.3 53.3 0 0053.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+    <path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(.35 0 0 .7 123.5 -90)"/>
+    <path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3h-53.1z" transform="matrix(.35 0 0 .7 123.5 -90)"/>
+    <path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(.35 0 0 .46 112.5 51)"/>
+    <path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3h-53.1z" transform="matrix(.35 0 0 .46 112.5 51)"/>
+    <path fill="#e10000" d="M478.4 698a53.3 53.3 0 0053.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
+    <path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(-.35 0 0 .7 516.5 -90)"/>
+    <path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3h-53.1z" transform="matrix(-.35 0 0 .7 516.5 -90)"/>
+    <path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3h-17.7z" transform="matrix(-.35 0 0 .46 527.5 51)"/>
+    <path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3h-53.1z" transform="matrix(-.35 0 0 .46 527.5 51)"/>
+  </g>
+  <g fill-rule="evenodd" stroke="#000">
+    <path fill="#908f8a" stroke-width="4.5" d="M198.6 78l-89.7 35.4 89.7 35.4 44.8-17.7 22.4 17.7 22.4 35.4 22.5-35.4 22.4-17.7H1535V95.7H333l-22.4-17.8c0-17.7 4.7-35.4 22.5-35.4h89.6c0-17.7-44.8-53.1-134.5-53.1-89.6 0-134.5 35.4-134.5 53.1h89.7c17.7 0 22.4 17.7 22.4 35.5l-22.4 17.7-44.9-17.8z" transform="matrix(.12 0 0 .22 217.8 324.4)"/>
+    <path fill="#b74d00" stroke-width="1.8" d="M204.3 95.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.7H541V78H204.4zm0-17.7H541v17.7H204.4zm0-17.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.6H541V7H204.4z" transform="matrix(.28 0 0 .27 216 334.6)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 .27 171.9 315.2)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 -.27 171.9 382.2)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.28 0 0 .27 159.6 315.2)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 .27 216.2 315.2)"/>
+    <path fill="#908f8a" stroke-width="3.3" d="M423.2 60.2l137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 -.27 216.2 382.2)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.28 0 0 .27 238.4 315.2)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.28 0 0 .27 204 315.2)"/>
+    <path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124h-17.7z" transform="matrix(.28 0 0 .27 194 315.2)"/>
+  </g>
+  <g fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt">
+    <path d="M655.5 396.9c0 88-55.6 159.4-124 159.4s-124-71.4-124-159.4 55.5-159.5 124-159.5 124 71.4 124 159.4zm-17.7 0c0 78.2-47.6 141.7-106.3 141.7-58.7 0-106.3-63.5-106.3-141.7 0-78.3 47.6-141.8 106.3-141.8 58.7 0 106.3 63.5 106.3 141.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+    <path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a82.8 82.8 0 0182.7 0l6.9-16.4z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+    <path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a82.8 82.8 0 0182.7 0l6.9-16.4z" transform="matrix(.58 0 0 -.62 9.8 479.3)"/>
+  </g>
+  <path fill="#a7cfff" fill-rule="evenodd" d="M379.6 235.9c0 48.5-27.7 87.8-61.7 87.8s-61.6-39.3-61.6-87.8 27.6-88 61.6-88 61.7 39.4 61.7 88z"/>
+  <path fill="#afff7b" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c1.1 26.6-4.6 39.6-11.9 67.3-1.9 3-11-6.5-16.4-11.2s-7.8 4.2-14.6-3c-6.7-7.4-11 2-16-4.2s-51.3-7-51.3-7.6c4.6-2.2 28.2.2 24.4-11.1-4.3-11.8-31-.4-34.6-15.4-2.5-15-53.6-15.6-57.3-19.2 1.5 5.6 39.8 8 38.9 22.5-.9 6-37.7 7.7-41.3 12.7-3 6.3 29-1.7 30.1 6 0 3.2-4.7 0-21.3 5-8.4 2.5 15.4 10.3 6.4 14.6-9 4.3-28.3 6.2-27.5 8 3 9 44.7 19.6 40.6 21.1-14.8 6.6-22.6 10.9-29.7 14.7a167.9 167.9 0 01-31.1-100.2c31.7-11.4 25-13.8 83.6-13.8s78 2.3 129 13.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c-8 0-16.4 3.4-25 3.4-8.7 0-17.5-3.5-26.5-3.5s-19.3 4.6-28.5 4.6c-9.3 0-17.4-4.5-26.7-4.5s-18.6 3.4-27.8 3.4-18.3-3.5-27.2-3.5-17.7 3.5-26.2 3.5-16.8-3.5-24.7-3.5c0-19.5 3-38.1 8.4-55.1 27 2 11-15.7 27-15.7a33 33 0 0125.3 9.8c2.4 0 14.4-11.4 27.9-9.8 13.4 1.6 8.5 27.3 26.4 28.6 9 6.8 14.3 11.1 26.7 13.9 17.7 1.6 68.4-2.5 68.7-.2a188.2 188.2 0 012.2 28.6z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-.2-3.5 10.3-7 14.9-7.4s8.5 7.4 8.5 9.1-4.7-4.2-8.6-4.3-12.3.6-12.3 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(.2 0 0 .48 217.2 59.5)"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-1-4 11.8-6.6 16.4-6.9s10 8 10 9.6-5.4-5.2-9.3-5.3-14.6.6-14.6 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(-.2 0 0 .48 445.8 59.1)"/>
+  <path fill-rule="evenodd" d="M333 264.9c0 1.3-.7 2.4-1.5 2.4s-1.4-1.1-1.4-2.5.6-2.4 1.4-2.4c.8 0 1.5 1.1 1.5 2.5zm17 9h.4v19.5h-.5zm4.1-1.6h.5V292h-.5z"/>
+  <path fill-rule="evenodd" d="M352.6 281.2v-.5l4 .7v.5z"/>
+  <path fill="#b74d00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M497.3 478s26 11.4 31.7 18.2c5.6 6.8 3.4 6.8 3.4 6.8l57.7 2.3c0-3.4 10.2-3.4 12.5-11.4 2.3-7.9 2.3-10.2 2.3-10.2l-18.1 5.7 1-10.2H572l-2.3 10.2-34-1.1L538 461l-6.8 1.1-1 26c-1.2 0-31.8-7.9-33-10.1z" transform="matrix(.58 0 0 .62 7 -9.5)"/>
+  <path fill="#fede00" fill-rule="evenodd" stroke="#fede00" stroke-width="1pt" d="M440.5 316.3s37.7-11.2 92.1-10.4 92.1 12.8 91.3 12.8-10.4-18.4-10.4-18.4-38.4-10.5-81.7-11.3c-43.2-.8-80.9 8-80 8.8l-11.3 18.5z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+  <path fill="#38a9f9" fill-rule="evenodd" d="M306 169.8l13.6-.2.2 7.9-13.6.3zm-31.2 4.3L270 182l16.2-2-1.3-7.7-10.1 2zm13.7-3l13.6-1.1.6 7.8-13.5 1.2zm48.9-.7l-13.5-1-.5 8 13.5.8zm29.2 5l4.9 9.6-14.6-3.6 1.6-7.7 8 1.6zm-11.8-3l-13.4-1.7-1 7.8 13.5 1.8z"/>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M532.6 323.5l-2.5-13.5-7.6 11.5 2.8-13.5-11.3 7.7 7.6-11.3-13.4 2.8 11.5-7.6-13.5-2.5 13.5-2.6-11.5-7.6 13.4 2.8-7.7-11.3 11.4 7.7-2.8-13.5 7.6 11.5 2.5-13.5 2.6 13.5 7.5-11.5-2.7 13.5 11.3-7.7-7.7 11.3 13.5-2.8-11.5 7.6 13.5 2.6-13.5 2.5 11.5 7.6-13.5-2.8 7.7 11.3L540 308l2.8 13.5-7.6-11.5z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
+  <path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M547 293.9c0 9.3-6.6 16.8-14.8 16.8s-14.8-7.5-14.8-16.8S524 277 532.2 277s14.8 7.6 14.8 17z" transform="matrix(.57 0 0 .5 18.3 21.8)"/>
+  <path fill-rule="evenodd" d="M320.7 170.6c0 .5-1.3 1-2.8 1s-2.8-.5-2.8-1 1.2-1 2.8-1 2.8.4 2.8 1zm6 0c0 .5-.9 1-2 1s-2.2-.5-2.2-1c0-.6 1-1 2.1-1s2.1.4 2.1 1z"/>
+  <path fill="none" stroke="#000" stroke-width="1pt" d="M529.4 297.9l.8.8c-1.9-2-1-1.2 1.6 3.2 2.4-.5 3.1-1.4 4.8-2.4" transform="matrix(.56 -.18 .17 .6 -26.7 90.6)"/>
+  <path fill="none" stroke="#000" stroke-width="1pt" d="M527.8 304.3l.8.8c-1.9-2-1-1 3.2 1.6 4 .5 8.1-1.2 10.5-4" transform="matrix(.58 0 0 .62 8.7 -10.2)"/>
+  <path fill="#b7e1ff" fill-rule="evenodd" d="M281.4 194.8s1 8-5.1 18c-6 9.9-5.1 6.4-5.1 6.4s2.8 5.5 2.3 5.5-4.7-5-4.7-5l-5 5.5s4.6-8.5 4.1-8.5-1.4-3-1.4-3l3.7-1.5s5.6-10.4 5.6-9.9-16.7 11.4-16.7 11.4l22.3-18.8zm3.7 3c-.5 0 2.3 8 4.7 12 2.3 4 2.3 8.9 2.3 8.9l7.9 4-10.2-15.4 6.5 2.4-11.2-11.9zm0 20.9s5.6 6 6 8 .5 6.4.5 6.4l-2.3-5-3.3 4.5s2.4-7 1.9-7.5-3.7 2.5-3.7 2.5 1.4-4 1.4-4.4 0-3-.5-4.5zm-27.9 13.9c1.9-1.5 5.6-2.5 5.6-2.5s-2.3 4-2.8 4-1.8 0-2.8-1.5zm64.1-21.8s12.1 7.4 12.1 7.9-7.9-3.5-7.9-3.5l-4.2-4.4zm-21.8-15.5c1 .5 17.7 14.4 17.2 14.4s-7.4-4-7.4-3.4v3.4l-3.8-7.9-.9 3-5-9.5zm4.2 22.4l4.6 9.4 4.7-1s-8.8-8.4-9.3-8.4zm14.4-6l.5 9s2.7 2.5 2.7 2-2.7-10.5-3.2-11z"/>
+  <path fill="#984000" fill-rule="evenodd" d="M182.6 89.5s21-11.6 44.9-20.2a303.8 303.8 0 0154.2-14.4c7 0 19.2 17.8 21.2 17.8s10.1-5 20.3-5 16.1 8 18.2 8h18.2c2 0-6.1-19.8 0-18.8 3 .5 28.8 4.5 52.8 12.2 24 7.8 58 21.6 58 21.6S414.9 98 400 95.9c-2 1 0 13-3 7.7-4.6-1-21.7-3.7-24.7-3.7s-8.7 3.4-16.8 5.4c-8 2-18.2 5-18.2 5l13.2 20.7-16.2 8s-10.1-23.8-14.2-23.8-6 16.8-11.1 15.8c-5-1-7-15.8-11.1-19.8-4-3.9-25.4-5.4-33.5-7.3-8-2-21.1-3.5-28.2-5.5-7-2-14.2 5-17.2 5s4-6 1-7-5 3-7 3-23.3-4-25.3-5 5-4.9 3-4.9h-8.1z"/>
+  <path fill="gray" fill-rule="evenodd" stroke="#772600" stroke-width="3.7" d="M463-65c0 21.2-20.6 38.4-45.9 38.4S371.3-43.8 371.3-65s20.5-38.3 45.8-38.3S463-86.1 463-65z" transform="matrix(.22 0 0 .26 231.6 96.5)"/>
+  <path fill="#984000" fill-rule="evenodd" stroke="#772600" stroke-width="5.3" d="M284.7-60c6.7-6.6 15-16.6 36.7-16.6 5-1.7 5-11.7 16.6-11.7 11.7 0 8.3 10 16.7 13.4 8.3 3.3 76.6-3.4 76.6-3.4s6.6 5 6.6 11.7-5 11.6-6.6 11.6-68.3-5-73.3-3.3c-5 1.7-8.3 3.3-20 3.3-11.6 0-15-11.6-23.3-11.6s-16.6-1.7-30 6.7z" transform="matrix(.27 0 0 .32 205.4 100.7)"/>
+  <path fill="none" stroke="#772600" stroke-width="3.5" d="M487.9-76.6h26.6c9.6.1 12.9 3 21.7 3.3h23.3c8.5-.3 13-2.3 21.6-3.3 14.5-.2 9.6-1.3 6.7-10-2.6-6.5-3-9.6-6.7-13.3-1.4-8-4.6-10.8-5-20-1.5-7-4.3-11.7-1.6-20 3.8 5.7 5.3 8 15 8.4 10 0 13.9-.3 20 3.3 4.6 4.9 10.8 3.3 20 3.3 7.6 1.4 8.9 5.3 14.9 8.3 7.1 4 11.7 5 21.6 5 8 1.5 15 2.6 20 5 4.3 5.1 11 6.4 20 6.7 5 0 9-.5 13.3-1.7 7.7.4 15.5 0 25 0 6.2 7.2 7.6 9.9 18.3 10 7.4 5.2 13.6 6 20 8.3h25c9 .7 11.8 4.4 20 6.7a200.9 200.9 0 0021.6 8.3 108 108 0 0021.7 1.7c6.1 3.2 13.6 3.4 18.3 6.6 6.9 1.5 16.3 3.3 21.6 5 8.8 1.2 12.2 4 20 5 6.7 2-2.2 3.6-6.7 5-9.8-.3-10.5-4-20-5-5-2.9-12.6-2.5-20-5h-1.6c6.6 4 13 6.5 10 13.4-8.5 0-15.4-1.1-23.3-1.7-8.4-1.6-12.2-3.3-21.6-3.3 9.4-2.3 11.8.2 18.3 3.3 2.4 8-2.8 5-11.7 5-7.6-2.7-12.2-6-21.6-6.7h-20c9.9.4 12 4.1 18.3 8.4.5 2.6-.1 2.4-5 3.3-5.2-4.5-11.9-6-20-8.3-7.9-.3-16.2-1-23.3-3.4-4.9-.3-4.1-6.1 6.7 3.4 6.5 3.8 8.8 7 8.3 10-8.6-2.2-12.8-5.6-18.3-8.4a61.3 61.3 0 00-23.3-3.3c-8.6-2.3.9-3.6 6.6 5 12.4 8.8-1.6 5-6.6 3.3-7.5-2.1-15.3-5.2-21.7-6.6-5-1.5-9.4-2.9-15-3.4 8.7.8 11.6 3.9 15 10 8.8 6-.4 3.1-8.3 1.7-5-4.4-11.5-6.7-15-11.7-8.3-4.1-8.6-9-3.3 1.7 1.3 3.4 1 10.8 1.6 11.7-6.1-6.7-4.8-8.4-11.6-8.4-4.7-3.2-11.5-5.7-15-10-6.4-.6-6.8-2.9-13.3-5 5.3 6.3 12.4 12.5 16.6 18.4 7.6 4.2 9.7 8 15 11.6 2.1 3.7 8 6.7 1.7 1.7-7.2-7-12.5-8.7-23.3-13.3-6.2-5-8.4-7-15-11.7-9-2.9-5.5-4.5 0 5 6.3 5.8 11.1 12.2 16.6 16.7a67.8 67.8 0 0015 13.3c1.5 2.2 6 2.6 0 3.3-5-4.6-12.4-7.5-18.3-11.7-8.3-2.3-12.2-6.6-18.3-11.6-4-5.9-10.4-10.4-15-15-9.6-3.8 1.9 3.6 5 8.3 2.1 6.1 4.8 11 6.6 16.7 2.8 5.5-8.4-1.3-11.6-3.3a57 57 0 00-21.7-8.4 298 298 0 00-20-3.3c-7.5-2 4.1 4.8 8.4 11.7 8.4 7.9-8.3 1.4-13.3 0a125 125 0 00-25-1.7c-10.7.6-3 2 0 6.6 3.3 2.6 5.6 8 5 10-7-1-13-3-21.7-3.3-7 2.3-15.3 1.7-23.3 1.7-.3 4.2 1.5.6 5 5 5.8 2.3 9.6 5.1 8.4 8.3h-48.3c-5.3 1.4 1.1.7 5 6.7-2.2 5.4-5 3.3-11.7 3.3-4.5-1.8-13.6-2.6-18.3-5-4.7 0-4.3-1.2-8.3-1.7 14 10 7 7.5 15 15 1.3.5 4.5 1.7 1.6 1.7M371.3 73.3c-1 0-3.2-5.4-6.6-10-2.4-6-5.4-2.6-8.4-11.7.4-9.4.7-11 0-20-6.8-4.8-9.7-6.2-15-15-8.4-7 1.3-19 2.9-27.8-7.4-1.6-11 11.5-22.3 16.2-8.2 5.5-1-11.4-5-21.2-2.7-13.9-10.8 7-13.8 12.9-5.5 3.7-7.2 8.5-15 1.6 0-5.1 4.9-19.5 2.8-22.3-7.8 3.9-18 15.5-26.1 17.3-8.2-1.7 1.7-14.8 1.7-24.5-3-1-14.7 25.8-19.5 26s-2.7-26-5-25.4c-3.5 5-10.6 15.4-15.5 19-9.5-1.3 1.4-17.5 2.8-23.5 1.6-7.2-8.9 13.8-14.5 15.1-4.1 3.6-12.2 6-15 6.7 3.2-6.2 19-18.7 18-22.3-9.3.3-23.4 12.5-31.3 14-5.2 0-12.4 1.7-13.3 1.6.4-8 19.4-14.6 22.4-19.5-9.3 1.5-27.2 9.7-32.4 16.2-6.2 1.3-14 3-20 0 .9-7.5 14.9-22 18-26.8-8.5 3.7-12.7 6.6-21.7 8.3-1.7 1.7-6.5 5.3-5 1.7 2.7-7 6.7-10 10-15-7.5 1.4-10.3 5.7-18.3 10-5.1.2-19.7 14.9-24.6 15.1a69.1 69.1 0 01-28.3 13.3c-7.6 1.4-11.3 3-15 6.7 3.8-6.7 9.6-13 15-16.6a29.8 29.8 0 0115-13.4c1.9-2.3 7.1-2.9 1.6-3.3-4.7 4.2-12.7 9-16.6 11.7-5.1 3.2-11 6.4-13.4 5 2.7-7.2 7.5-9 11.7-15 8.8-5.6 0-2-6.7 0-4.3 3.8-12 6.7-18.3 10-7 1.8-11.7 6-20 8.3 0 2.4 2.4-4.3 3.4-6.7 6.8-7.4 8.6-9.5 16.6-11.6 2-2.9 4.4-1.7-1.6-1.7-4.6 4-10.8 6.2-16.7 10-5.9 1.3-13.6 1.7-21.6 1.7-10.4 1.2-9.5 2 0-3.4 5.3-5 9.7-3.7 10-10-6.3 4.6-14 8-21.7 11.7-6.4.2-8.1 1.7-15 1.7 3.3-3.4 5.3-7.7 10-10 7-7.7-4.4-1.5-6.7 0h-25c-4.4 5.6-.2 0 3.4-3.4 4.3-2.2 8.8-5.1 8.3-6.6-5 4.3-10.7 6.3-15 10-4.6 1.4-10 2-10 3.3 3.7-5.3 9.6-8.6 13.4-13.3 5.6-1.2 10.4-3 11.6-5h-23.3 16.6c8.5 0 15.7-.8 23.4-1.7 13.2-2.2-1.2-3.3-8.4-3.3-1.3-2.6 4.2-4 10-5C-6.7-69-.4-71.1 5-73.3a45.2 45.2 0 0013.3-6.6c-5 .2-5 1.4-10 1.6 7.5-.5 12.8-1.6 21.7-1.6a239 239 0 0021.6-8.3c3-3.6 4.2-3.4-3.3-3.4 6.7-2.1 16.2-3.2 21.6-5a94 94 0 0020-6.6c4.9-3.3 7.7-7.2 13.3-10 6.5 4.4 6.6 5 18.3 5 9.4-.1 15.2-2.4 20-6.7 7.2-2 8.5-5.4 16.7-6.6a134 134 0 0023.3 1.6c8-2.1 15.7-6 21.6-10 5.1-2.5 11.2-6.1 16.7-8.3 6 3.1 10.8 5.6 18.3 6.7 7.7-1.2 11.8-5 18.3-6.7a28 28 0 0115-8.3c9.7-4.8 9 1.5 13.3 6.6 5 5.2 11.4 2.7 18.3 5 3.9 6 6.7 10 11.7 13.3 3.9 4.8 8.5 6 16.7 6.7 3 4 .6 6.8 6.6 8.3 2.4 2.6 6.5 3.6 10 5" transform="matrix(.27 0 0 .32 205.4 104.9)"/>
+  <path fill="none" stroke="#782600" stroke-width="3.1" d="M468.7 30.8v.8c0-2.3 0-1 1.7 3.4.6 3.6-.8 3.2-2.5 5.8-.3 3.7-.8 6.4-.8 10.8-.6 3.6-2.6 7-4.2 10-1.6 3.1-8.5 4.9-8.3 9.2-4 1.1-4.1-1.5-4.2-5.9-2.4-2.7-3.2-6.4-5-10-1-3.4-3.4-6-5-10-2.4-3.7-4.5-4.8-6.6-9.1-.9-2-.7-4.6-2.5-5.8-2.7-3.5-4.5-4-9.2-4.2-3.6.8-5 2.4-8.3 3.3-2.6.9-7.6.6-10.8 1.7-.8 1.3 1.6 2 2.5 5-2.2 1.8-3 4.9-4.2 7.5-2 2.5-3.3 3.7-4.2 7.5 1.4 2.3.2 5.4-1.6 7.5-.6 3.8-2.5 5.9-3.4 9.1-2.6 1.9-3.6 3.6-5.8 6.7-1.9 2.7-3.6 2.5-8.3 2.5-3.7-1-4.2-3-7.5-4.2-.3-1-.6-1.3-1.7-1.6" transform="matrix(.27 0 0 .32 205.4 104.9)"/>
+  <path fill="#812e00" fill-rule="evenodd" d="M307.6 125.5s-.4 5-3.6 8.3-9.8 7.1-9.8 7.1 8.9-4.2 9.8-3.3c1 1-5.7 8.3-5.7 8.3s8.7-7.7 9.8-7.7 3.6 7.5 4.6 7.3c.9-.2-2-9.5-1.6-11 .4-1.4 0-9.3 0-9.3l-3.4.3zm20.5-.6s-.4 5.3-3.6 8.8-9.8 7.6-9.8 7.6 8.9-4.5 9.8-3.5c1 1-5.7 8.8-5.7 8.8s8.7-8.2 9.8-8.2 3.6 8 4.6 7.8c.9-.2-2-10.2-1.6-11.7.4-1.6 0-10 0-10l-3.5.4zm-28.7-48c0 .9-1 1.7-2.1 1.7s-2.2-.8-2.2-1.8 1-1.8 2.2-1.8 2.1.8 2.1 1.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ee.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ee.svg
new file mode 100644
index 0000000..aa917bb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ee.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ee" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <rect width="640" height="477.9" rx="0" ry="0"/>
+    <rect width="640" height="159.3" y="320.7" fill="#fff" rx="0" ry="0"/>
+    <path fill="#1291ff" d="M0 0h640v159.3H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eg.svg
new file mode 100644
index 0000000..a755cd7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eg.svg
@@ -0,0 +1,38 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-eg" viewBox="0 0 640 480">
+  <path d="M0 320h640v160H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <path fill="#ce1126" d="M0 0h640v160H0z"/>
+  <g fill="#fff" stroke="#c09300" transform="matrix(.8 0 0 .8 -40 0)">
+    <path stroke-linejoin="round" stroke-width="1.3" d="M450.8 302.4l68.5 63.6-4.9-115.5c-.7-17.5-15.9-13.5-27-7.2-11.1 7.2-24 7.2-37.4 2.5-13.5 4.7-26.3 4.7-37.4-2.5-11-6.3-26.3-10.3-27 7.2L380.7 366l70.1-63.6z"/>
+    <path id="a" fill="#c09300" stroke="none" d="M393.5 246.5l-4.8 112.3-8 7.2 4.9-115.5a24 24 0 017.9-4zm9.6 8l-4 94-8 8.2 4.8-108.5c1.6 1.6 6.3 5.5 7.2 6.3zm8.7 7.2l-3.1 78.4-6.5 6.3 4-89.4c1.6 1.5 4.8 3.8 5.6 4.7zm9.5 4l-3.1 66.8-6.3 5.1 3.1-74.3c1.6.7 4.7 2.4 6.3 2.4zm8.8 0l-2.3 55.7-6.5 6.3 2.5-61.3c1.5 0 5.6 0 6.3-.7z"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)" xlink:href="#a"/>
+    <path fill="#c09300" stroke-width="1.1" d="M453.2 315l9.6 43.8-3.2 3.2-3.3-2.5-5.4-39 2.3 39-3.2 4-3.1-4 2.3-39-5.5 39-3.3 2.5-3.2-3.2 9.6-43.7h6.4z"/>
+    <g id="b" fill="none" stroke-linejoin="round" stroke-width="1.3">
+      <path fill="#fff" stroke-width="1.2" d="M428.5 295.8l-19.1 67.7 26.3 4 11.1-50.9-18.3-20.8z"/>
+      <path d="M422.2 319l2.3 5.5 12.4-11.8"/>
+      <path d="M430.8 305l2.6 24.3 7.9-10.4m-3.2 4l4.3 15m1.7-5.5l-8.7 13.2m2.7 13.2l-2.8-13.2-2.4-13.4-5.9 7.9-2.5-9.1-8.2 8.4 4.1 15.2 5.8-9.4 3.1 9.6 6-9.2"/>
+      <path d="M415 362l5.3-7.5 3.4 11.5 4.8-8 3.1 9.6"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)" xlink:href="#b"/>
+    <g stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3">
+      <path stroke-width="2.4" d="M450 393.8c20 0 39-1.6 50.2-4.7 4.7-.9 4.7-3.3 4.7-6.5 4.8-1.6 2.4-7.2 5.7-7.2-3.4 1-4-5.5-8-4.7 0-5.6-5.7-6.3-10.4-4.7-9.5 3.1-26.3 3.9-42.2 3.9-16-.8-32.6-.8-42.2-4-4.7-1.5-10.3-.8-10.3 4.8-4-.8-4.7 5.6-8 4.7 3.3 0 .8 5.7 5.6 7.2 0 3.2 0 5.6 4.8 6.5 11 3.1 30.2 4.7 50.1 4.7z"/>
+      <path d="M422.9 363.5c6.4.9 13.6 1.6 19.2.9 3.2 0 5.5 5.5-.9 6.3-5.5.7-14.3 0-19-.8a231 231 0 01-18.4-4c-5.6-2.4-1.6-7 1.6-6.4a105.3 105.3 0 0017.5 4zm54.2 0c-6.4.9-13.6 1.6-19 .9-3.4 0-5.7 5.5.7 6.3 5.6.7 14.3 0 19-.8 4-.8 12.8-2.3 18.4-4 5.6-2.4 1.6-7-1.6-6.4a105.2 105.2 0 01-17.5 4z"/>
+      <path d="M403 360.4c-4.8-.9-7 4.7-5.5 7.9.7-1.6 4-1.6 4.7-3.2.9-2.4-.7-2.4.9-4.7zm19.2 14.7c0-3.2 3.1-2.8 3.1-6 0-1.5-.8-4-2.4-4a3.4 3.4 0 00-3.2 3.2c-.7 3.1 2.5 3.6 2.5 6.8zm22.7-9.1c4.7 0 4.2 6.3 2 9.5 0-2.3-4-3.2-4-4.8 0-2.4 3.6-2.4 2-4.7zm52-5.6c4.9-.9 7.2 4.7 5.6 7.9-.7-1.6-4-1.6-4.7-3.2-.9-2.4.7-2.4-.9-4.7zM478 375c0-3.2-3.2-2.8-3.2-6 0-1.5.8-4 2.4-4a3.4 3.4 0 013.2 3.2c.7 3.1-2.5 3.6-2.5 6.8zm-23-9c-4.7 0-4.2 6.3-2 9.5 0-2.3 4-3.2 4-4.8 0-2.4-3.6-2.4-2-4.7z"/>
+      <path stroke-width=".9" d="M404.7 362c1.6 0 4 .7 4.7 1.6l-4.7-1.6zm7.9 2.4c.8 0 4 .7 5.5 1.6l-5.5-1.6zm28.6 3.2c-1.5 0-4.7 0-5.5.7l5.5-.8zm-8.7 0c-.9-.9-4-.9-5.6 0h5.6zm62.8-5.6a8 8 0 00-4.7 1.6l4.7-1.6zm-7.8 2.4c-1 0-4 .7-5.6 1.6l5.6-1.6zm-28.7 3.2c1.5 0 4.7 0 5.6.7l-5.6-.8zm8.7 0c.9-.9 4-.9 5.6 0h-5.6z"/>
+      <g fill="#c09300" stroke="none">
+        <path d="M403.3 374.6c-.5-.1-.8-.6-.6-1 .1-.7.6-1 1-.8.4 0 .9.6.9.8l-.4.7-.2.1c0 .2-.4.2-.7.2zm55 3.9c-.2 0-.6-.5-.6-.7 0-.4.6-1 1-1l.8.4c.3.3.3.9-.1 1.2-.2.2-.8.2-1.1 0zm.3 2.5c-.4-.2-.5-.4-.6-.8 0-.5 0-.6.5-.9l.4-.2.4.2c.4.2.7.4.7.8 0 .3-.3.6-.7.8-.3.2-.4.2-.7 0z"/>
+        <path d="M407.8 370c-.4 0-.9.4-1.2.6-.6.1-1.4.5-2 0-.6-.1-1.4 0-1.5.8.1.7 1 1 1.6.6.4-.5 1.5-.9 1.7 0-.5.8-.4 1.7-.8 2.4 0 .5-.3.9-.5 1.3-.5 0-1 0-1.4.3a2 2 0 00-1.6.8c-.4.6-.8 1.2-.9 2 .1.6 1 .8 1.6.9l2 .6 3.2.9c1.6.5 3.2.7 4.8 1.1l.5.1c.7.2 1-.5 1-1l1-3.6c.2-.5.5-1.5-.4-1.3-.5.3-1 .8-1.6.8-.9 0-.4 1 0 1.3 0 .6-.2 1.3-.5 1.8-.6.3-1.2 0-1.8-.2-.5 0-1.7-.3-1.2-1l.5-1.8c.3-.6.3-1.3.5-2-.4-.7-1 .3-1.5.4-.4.2-1.6.3-1 1 .6.4.2 1.1 0 1.7 0 .7-.8 1-1.4.7-.6 0-1.5-.5-1-1.1l.5-1.8.7-2c0-.7.3-1.2.6-1.8 0-.7.5-1.3.5-2 0-.3-.2-.4-.4-.4zm-3.7 7.3a.3.3 0 01.3 0c.2.2.2.4 0 .6l-.3.2c-.5 0-.6-.1-.6-.3 0-.1 0-.2.3-.3a1.4 1.4 0 01.4-.2zm-1 5c-.5-.4-.4-.7.3-1.3.4-.2.5-.2.9.1.6.5.6.8 0 1.3-.2.2-.3.2-.5.2-.3 0-.4 0-.7-.2zm3 1a.9.9 0 01-.6-1.1c.2-.4.3-.5.9-.5.7 0 .8.1.9.7 0 .4 0 .5-.3.7a1 1 0 01-.8.2zm89.2 0c-.2-.1-.3-.2-.3-.5 0-.4.2-.7.8-.9.6-.3 1-.3 1.2.2.3.6.3.8-.1 1.2-.2.3-.3.3-.8.3s-.6 0-.8-.2zm-85 1.2c-.4 0-.6-.4-.6-.8 0-.3 0-.4.2-.6l.6-.2.6.1c.5.4.6.8.3 1.2-.3.4-.6.4-1.2.3zm21.8 1l-.2-.3c0-.6 0-1.1.2-1.7.1-.5 0-1 .2-1.5l.4-2.8c0-.5 0-1 .2-1.4.1-.8 0-1.5.2-2.2 0-.3.3-1 .6-.6.4.6.9 1 1.4 1.5.4.3 0 .7-.3.8-.4.1-.5.6-.5 1l-.2 1.2c0 .7 0 1.3-.2 2l-.1 1.8-.2 1.2c0 .4 0 .9-.4 1.1-.3.2-.8.2-1-.1zm29.7-9.8l-1.3 1.2c-.6.5.5.7.6 1.1.2.6.2 1.2.2 1.8.2.6.3 1.1.2 1.7 0 .7-.8.5-1.2.9-.5.2-.7.7-1 1a4.2 4.2 0 00-.4 1.6c0 .5-.3 1 0 1.4l.1.2h.5l1.5-.1c1.2-.2 2.5-.2 3.7-.3l2.2-.2c.6.1.9-.5.9-1-.4-.7-.1-1.4-.4-2-.2-.8-.1-1.5-.2-2.2 0-.6-.7-.8-1-.4-.4.4-1 .5-1.2.9-.3.6.6.6.8 1l.1 1.5c.1.6-.5.6-1 .7-.5.2-1.2.3-1.5-.3-.2-.5-.2-1-.2-1.5 0-1-.3-1.8-.3-2.7 0-1-.3-2.1-.3-3.2 0-.5-.1-1.2-.8-1.1zm-.6 8.2h.3v.8l-.3.1a3.3 3.3 0 01-.4.1 2.5 2.5 0 01-.2 0c-.2-.2-.2-.5.1-.8l.5-.2zm-30-9.2c-.3 0-.8.7-1.2.6-.9.1-.8 1-.1 1.3v.8c.1.8-.4 1.5-.3 2.3 0 .8-.3 1.7-.3 2.6-.3.9-.3 1.8-.4 2.7-.1.8-.7.5-1.2.3v-1c.1-.9-.5-1.1-1.2-1.2-.7 0-1-.5-.8-1.1.3-.4 1-.3 1.5-.3 1 .2.9-1.1.4-1.6-.4-.6-1.2-1-1.4-1.6 0-.8-.5-1.7-1.2-2.1-1.1-.1-2 .8-2.3 1.8-.5 0-1 .2-1.4.4-.7.2-1.7 1.4-.7 1.9.5.1 2.2.5 1.4 1.2-.4.8-1.2.8-1.9.6-.7 0-1.5-.4-1.5-1.2-.1-.8-.1-1.6-.4-2.3-.2-.8-1.1-.6-1.2.2-.7.5-.6 1.4-.1 2 .3.7 0 1.6-.3 2.2-.2 1-1.2 1-1.9 1.2-.3.2-1.6 0-1.1.7a4 4 0 002.4.3c.8 0 1.5-.7 2-1.4.5-.5 1.4-.2 2.2-.2.7 0 1.5.5 2.3.1.2-.5 1.2-1.5 1.5-.5 0 .9.7 1.3 1.5 1.2.9 0 .5.6.5 1.2 0 .9.7 1.4 1.5 1.8h.8c.7-.3 1.5-.6 1.8-1.4.3-.7.3-1.5.5-2.2.2-1.1.4-2.3.4-3.4.3-1 .2-2.1.4-3.2l.3-2.3c0-.5-.2-.5-.5-.4zm-6.7 4.1c.1 0 .2.2.2.5 0 .4.2.7.5.8v.3l-.8.2c-.5 0-.9-.2-1.2-.5l-.2-.2.3-.2.5-.5c.3-.3.5-.4.7-.4zm66-7.9a8.4 8.4 0 00-1.7.3c-1 0-1.5 1-.5 1.6.6 1.5 1.5-.4 2.5-.2 1.4.2 1.5 1.8 1.8 3 0 1.1.4 2.2.7 3.3 1 1.1-.7 1.8-1.4 1-.6-.7-2-1.5-2.7-.6-.9.4-1 1.6-1.7 2-1.2.3-1.3-1.2-2-1.8-.6-.9-1.7-1-2.6-1.2-.4-.9-.2-2.4-1-3-.8.3-2.2 1.7-1 2.4 1 1-.5 1.4-1 2-.8.9-1 2-1 3-1.3.7-1.5-.8-1.7-1.7 0-1.1-1-.8-1.7-.4-1 .4-1.4 1.3-2 2v2c.2.9 1.2.5 1.8.4 1-.4 1.4.7.6 1.3-.6.6-2.2.3-2 1.4h1.6c1-.3 2.2-1.1 2.3-2.3.2-1 1.7-.9 2.5-1.1 1-.3 2.3-.4 2.6 1 .7.7 2.2 1.5 3 .5a2.4 2.4 0 001.1-2.3c-.1-.8 1.3-.8 1.7-.3.5.8 2.1.6 2.9 0 .8-.5 1-1.6 2.2-1.6l5.4-1.5c1.4-.3-.2-1.2-.6-1.8-1-.5-2 1.7-3.2.6-1-.7-.9-2-1.2-3.1-.3-1.4-.2-3-1.2-4-.6-.7-1.6-.9-2.5-.9zm-6.8 9.5c.1 0 .3 0 .5.2.4.2.7.6.7 1 0 .2 0 .2-.3.3l-.5.2c-.2 0-.7-.3-.7-.5v-.4c-.2-.4-.2-.4 0-.6l.3-.2zm6.5.4c.4 0 .6 0 .8.3.1.4 0 .6-.4.8l-.5.2-.4-.3c-.2-.1-.3-.2-.3-.4 0-.3.4-.6.8-.7zm-9 0c.2 0 .3 0 .4.2.2.2.3.3.3.6v.6c0 .3 0 .2-.6.2s-.7 0-.7-.6c0-.4 0-.5.3-.7.1-.2.3-.2.4-.2zm-5.4 1.5a.6.6 0 01.4.4c0 .3 0 .5-.2.6-.3.1-.8.2-1 0a.6.6 0 010-.1c-.2-.1-.2-.2 0-.3v-.1l.2-.3a.5.5 0 01.6-.2zm9.2 1.2l.5.1v.6h-1.2l-.1-.2c0-.2 0-.3.2-.4l.6-.1zm-17.1 4.8c-.1 0-.3-.1-.1-.2.1-.3.5-.4.8-.6a3.4 3.4 0 001.4-1c0-.4.4-.6.4-1l-.1-1.4a1.8 1.8 0 00-.8-1c-.3-.1-.7-.2-.8-.6 0-.3.3-.6.4-.9l.6-1.2c.3-.3.7 0 .8.2l.5 1c.3.3.5.6.6 1 .2.4.4.7.4 1l.2 1.3c0 .5 0 1.1-.2 1.6l-.6.8c-.3.3-.6.6-1 .7-.3.1-.5.4-.9.4H468l-.1-.1zm-6.9.4c-.2-.2-.3-.3-.3-.6s0-.3.3-.6c.4-.4.6-.4 1.4 0 .7.4 1 .4 1 .1.1-.2.5-.5 1-.5a.8.8 0 01.5.2c.2.2.3.3.3.7 0 .5 0 .5-.3.8-.3.2-.3.2-.7.2a.9.9 0 01-.8-.6c0-.2 0-.3-.2-.1l-.2.1c-.2 0-.6.3-.8.5l-.5.1c-.4 0-.4 0-.7-.3zm-19.8-8.9c-.7 0-1.4.6-1.5 1.3.2.7.8 1.5.4 2.2.3 1-.8 1.4-1.5.9-.4-1-.6-2-1.3-3-.8-.2-1.1 1.1-1.7 1.6.3.7 1.1 1.4 1.2 2.3.2 1-.4 2-1.1 2.4-.7.7-1.7.5-2.5.6-1 .6.7.8 1.2.8 1 .1 2.1 0 3-.8.7-.3.6-1.7 1.5-1.8l4.8.3c.8.2 2.1-.1 2.7.5 0 1 1 1.8 1.9 2.2.5.2 1-.5 1.5-.6 1-.3.7-1.5 1.3-2h5c.2 0 .3-.5.6-.7l-.2-1.9c-.3-.8 0-1.8-.5-2.5-.9-.2-1.6.5-2.4.6-1 .4-1.7 1.3-1.8 2.3-.5.9-1.4-.2-1-1l-.1-1c-.5-.5-1.4-.3-2.1-.4l-3-.2c-1 0-1.9.1-2.7-.1-1 0-1-1-1-1.8a1 1 0 00-.7-.2zm2 3.7l1 .1h1.3c1 .2 2 .2 3 .2.2 0 .4.2.6.4v2c0 .3 0 .7-.2.8a.7.7 0 01-.2.2 1 1 0 01-.7-.5v-1.4a1.3 1.3 0 00-.7-.3l-2.6-.1-2-.1c-.3-.1-.7 0-.9-.4-.2-.2.1-.6.4-.7a2.3 2.3 0 011-.2zm11.3.3c.1 0 .2 0 .2.3l.2.5c0 .1 0 .2-.2.2-.5.2-1 .2-1.2 0 0-.1 0-.5.2-.6l.8-.4z"/>
+      </g>
+    </g>
+    <path stroke-width="1.1" d="M450 327.2c32.6-25 29.8-61.8 29.8-61.8l-2.5.2c-6.9 0-23.2-4-27-8.9-4 4.5-20.8 9-27.6 9l-2.5-.3s-2.9 36.7 29.8 61.8z"/>
+    <path stroke-width=".9" d="M477.2 268h-.8c-6.2 0-20.6-3.1-26.2-7.9-5.8 4.4-20.5 8-26.6 8a4.7 4.7 0 01-.8-.1 73.1 73.1 0 002.6 18.7 71 71 0 0024.6 37.1 71.2 71.2 0 0024.6-37.2 73.1 73.1 0 002.6-18.6z"/>
+    <path fill="#c09300" stroke="none" d="M439.4 265a62.2 62.2 0 01-16.6 3l.1 4.1a72.8 72.8 0 002.5 14.5 71 71 0 0014 26.8V265zm20.6 0v49.2a71.1 71.1 0 0014.6-27.6 73 73 0 002.5-14.5l.1-4h-.8c-3.8 0-10.4-1.2-16.4-3.2z"/>
+    <g stroke-width="1.3">
+      <path stroke-width="1.2" d="M462.3 253c.7.1-.9-3.5-.9-3.5 1.8 1.8 8.4 2.3 8.4 2.3-4-1.8-8-15.1-7.5-25.8.4-10.6-1.5-14.8-3-16.4-2-2-8.5-3.8-12.7-4-2.5-.1-2 1.8-2 1.8-4.5-1.1-9-1.6-11-.2-1.8 1.2-2.2 7.5-.8 6.4 3.3-2.7 6.2-.2 8.2 2.7 1.8 2.5 1.7 9.7-.9 18.2a60 60 0 01-10 17.7c4 0 9.6-3.5 9.6-3.5l-1.3 5.5c4.2-2 7.5-5.1 7.5-5.1l4 4.2c1.3-1.8 4-4.2 4-4.2s3.3 3.5 8.4 4z"/>
+      <path fill="none" d="M446.1 227.6s-2.2 16.4-6.4 21m10-21.5s-1 16.7-3.8 22m6.9-21.3s0 18.2 1 21.3m3-20.4s.8 15.3 4.6 20.8"/>
+      <path fill="#c09300" stroke-width=".3" d="M442 219.6a8 8 0 00-1-3.3c-2-3-4.9-5.4-8.2-2.7 0 0 1.1-3.5 3.6-3.6 1.8-.1 6.1 1.4 9.9 7.8 0 0-2.8-.6-3.5 0-1.2 1-.7 1.8-.7 1.8z"/>
+      <path fill="#c09300" stroke-width=".3" d="M432.4 209.3c.3-1 .7-1.8 1.3-2.1 2-1.4 6.4-1 10.9.2 0 0-.4-1.9 2-1.8 4.2.2 10.6 2 12.6 4a7.9 7.9 0 011.5 2.4c-1-1.4-3.8-1.3-4.5-1.2-1 .1-1.7 0-3.1.4-.7.2-1.7.4-2.3.8-.4.4-.8 1.6-1.4 1.6-1 0-1-.2-1.3-.5-.3-.5-.5-1.1-.9-1-1 .1-2.8-.7-5-2.5-2.3-1.8-3.2-2.2-6-2-3 .2-3.8 1.9-3.8 1.9v-.2z"/>
+      <circle cx="448.8" cy="210.7" r="1.2" stroke="none"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eh.svg
new file mode 100644
index 0000000..438c382
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eh.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-eh" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="eh-a">
+      <path fill-opacity=".7" d="M-158.7 0H524v512h-682.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#eh-a)" transform="translate(148.8) scale(.94)">
+    <path d="M-180 0H844v256H-180z"/>
+    <path fill="#107b00" d="M-180 256H844v256H-180z"/>
+    <path fill="#fff" d="M-180 169.3H844v176.1H-180z"/>
+    <path fill="#f0f" d="M310 195.6c-45.2-19.5-84.1 20.6-84 58 0 39.2 38 81 86 62.5-34-10-48-35.3-48-60.7-.3-25.2 15.8-54.6 46-59.9z"/>
+    <path fill="#ff1800" d="M363.1 294.2l-25.8-18.9-26 19 10-30.5-26-18.8h32l9.9-30.5 9.8 30.4h32.1l-25.9 18.8"/>
+    <path fill="red" d="M314.3 315.6a65.2 65.2 0 01-89.2-59.4 65 65 0 0189.5-60.9 60.6 60.6 0 00-51.2 59.2 61.3 61.3 0 0051 61.1zM-180 0l348.6 256.6L-180 512V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/en.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/en.svg
new file mode 100644
index 0000000..132dbed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/en.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb" viewBox="0 0 640 480">
+  <path fill="#012169" d="M0 0h640v480H0z"/>
+  <path fill="#FFF" d="M75 0l244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0h75z"/>
+  <path fill="#C8102E" d="M424 281l216 159v40L369 281h55zm-184 20l6 35L54 480H0l240-179zM640 0v3L391 191l2-44L590 0h50zM0 0l239 176h-60L0 42V0z"/>
+  <path fill="#FFF" d="M241 0v480h160V0H241zM0 160v160h640V160H0z"/>
+  <path fill="#C8102E" d="M0 193v96h640v-96H0zM273 0v480h96V0h-96z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/er.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/er.svg
new file mode 100644
index 0000000..7a25798
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/er.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-er" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#be0027" d="M0 0h640v480H0z"/>
+    <path fill="#b4d7f4" d="M0 480l640-.3V240L0 480z"/>
+    <path fill="#239e46" d="M0 0l640 .3V240L0 0z"/>
+    <path fill="#f3e295" d="M186.2 360.4c-10.7 3-16.8 11.3-16.7 19.1l52.8-.2c.4-8.4-6.5-16.2-17-19.3 51.6-1 96.4-20.4 104.6-32.8-8-3.5-17.4 2.1-24 .8 15.7-7.3 63-37.9 55.3-70.7-6 18.2-24 33.3-31.8 37.4 17.7-26.8 41.8-54.8 20.9-76.4 1 12.5-8 26.3-12 27.4 10.3-28.4 20-64-2.1-87.4 2.9 8.5 1.7 32.4-2.3 33.5-1.2-19.3-4.5-59.8-24.8-59.3 6.4 5.8 9.2 21.4 9.4 37.2a57.5 57.5 0 00-21.1-27 118.3 118.3 0 00-41.5-42.2c1.8 12.7 3.3 22.7 21 35.9-9.2-.6-18.4-18.1-28.3-18.6-7.9-.4-14 7.1-26.9 2.8 1.4 4.2 7.4 6.1 8.7 9.2-2.8 2-9.3-.3-14.7-3 7.5 10 19 16 28.8 14 11.7-2.2 24.2-1 36.2 5.8a63 63 0 01-22.5.6c6.9 7 11.5 11.7 23.6 11.6 10.7 0 16.4-5.8 19.1-2.2 6.8 8 11.3 16 17 25.4-12.5 1.3-8.7-14.1-22.6-22-7.9 16 9 35.2 20.3 43.2a65 65 0 007.1 31.5c3.5 6.5 8 13.2 6.3 27.9-6.9-5-13.5-21.8-11-35.1-8.6 2.3-12 17.4-8 25 3 5.7 5 16.8 1.6 21.7-3.4 4.6-3.7 4-3.7 14 .1 5.8-3.2 12.8-8.5 17.7a35.5 35.5 0 001.1-15.8c-4.2 7.2-14.9 14.6-18.2 22.4-3.3 7.7-4.1 21.2-20 24.3-20.6 4-27.7 7.6-40.8 13-1.5-10 2.9-31 11.3-29.7 8.1 1.4 33-8.6 24-29.5-1.7 6.6-7.5 13-13.9 13.3 6.9-8.8 19-18 13.1-32.8a42.6 42.6 0 01-16.3 18c8.4-16 1-21-9-7.6-3.8 5.1-6.1 15.4-8.5 28.5-4-10.6-3.7-24.6-8.4-36-4.8-12.3 6.5-15.5 11.8-14.5 13 3.5 34.9 3.5 33.3-18.1-5.7 7.3-15.5 9.5-26.2 7 12-8.8 21.4-25.3 8-34a31 31 0 01-16.9 24.1 50.8 50.8 0 01-.3-24.8c-5.2 5.6-9 17-12.1 30.2-.3-13 2.2-22.3 4-29.3 2.8-10.1 9.6-3.5 20-2.8 10.2.6 24-5 21.4-18.7-3.4 5.5-10.5 7.6-17.7 7 8.7-5.3 23.8-14.6 15.5-29-3.5 5.4-4.6 10-14.7 11.7 2.6-6 3-14.7 11-18-14-2.9-22 6.3-26.2 20.7-1.6-10-3.6-13.6-4-21 7.6-8.3 8.4-24.8-8-28.4a35 35 0 001.2 17.4c-7.7-4.6-18.5-7.1-25.8-.7 5 5.3 12.5 10 24.2 4.2-2.8 9-10 7.5-19.8 4 6 11.3 13.6 13.3 22 12 4.4 11.6 4.6 20.4-8.3 37.2.6-10.4-.1-18.2-8.4-26.7-7.2-7-13 .3-1.8 15.8-6.8-5-14.4-15-16.7-25.1-2.2 12.4-.2 27.1 6.7 35.4-3.3 3.5-7-.4-12.5-9 2 27.4 13.7 32.7 29.4 26.6.4 15 .4 28.9 1.3 47-9.1-13.2-20.7-23-27.1-25.4-2 7.3 5.5 17 9.8 22.3-6.5-1.4-20.5-12-20.5-12-1.4 12.1 14.3 23.4 24.5 28.4-12-.5-17.3-5-25-12.4.2 33.8 36.6 27.9 43.5 22.7l3 52.5c-10.3-1.8-9.5-5-18.3-5.7-24.5-1-43.9-29.4-50.3-50.3-1.9 3.4-.4 7-2.1 11.3-4-10.3-9-23.6-15.9-29.8 1.8 6 2 12.1 1.4 23.3-2.4-7.2-4.5-9.5-4.7-18 .1-6.5 6.3-11.3 6-20.5-.3-6.7-6.4-21.3-7.3-32.5-3 11.6-4.8 23.8-9.4 31 2.3-12.4 1.6-21 5.4-29.3 4.4-8.7 8.1-16.6 5.2-25.4-2.8 3.4-1.9 6.5-9 14.8-1.5-9 9.2-23.5 19.6-29.3 7.3-3.8 16.5-17.6 10.5-27-6.9 5-10 11.6-19.7 23 7-27 25-34.2 46.5-34.3 4.7 0 14.3-1.7 17-8-6 2.3-13.2 2.6-19.6 1.4 4.7-6.9 14.4-6 23.6-6 7.1 0 18.3-1 22.8-11.2a50.8 50.8 0 01-31 1.9c13.7-7 35-7.8 46-17.1-12.5-9.3-43.7 2.2-63.4 15.7 5.5-5 14.2-14 19-21.2-10.8-5.2-38 25-47.4 43-9 5-12.5 13-16 18.5 4.7-16.1 5.2-27.8 9.2-41C80 138 92.6 194.6 86 208.2c.8-15 .1-34.1-6-44-9.4 7.2-10.2 49.5-1.4 84.7-3.2-9.4-9.2-18.2-11.1-29.7-14 25.4 8.2 55.5 26.7 79.2-14-7.3-27.7-22.9-36.8-36 2.5 45.6 50 55 57.4 66.2-10-4.7-29.1-13.9-37.3-4.2a99 99 0 0132.3 12.1c12.4 15.4 35.7 22.2 76.4 23.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es-ca.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es-ca.svg
new file mode 100644
index 0000000..fc7c2e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es-ca.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-es-ca" viewBox="0 0 640 480">
+  <path fill="#fcdd09" d="M0 0h640v480H0z"/>
+  <path stroke="#da121a" stroke-width="60" d="M0 90h810m0 120H0m0 120h810m0 120H0" transform="scale(.79012 .88889)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es-ga.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es-ga.svg
new file mode 100644
index 0000000..4e213f5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es-ga.svg
@@ -0,0 +1,189 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-es-ga" version="1.0" viewBox="0 0 640 480">
+  <g id="g5162" font-size="12" transform="matrix(1.06667 0 0 1.2001 0 -115.3)">
+    <path id="rect733" fill="#fff" fill-opacity="1" fill-rule="evenodd" stroke-width="1pt" d="M0 96h600v400H0z"/>
+    <path id="path556" fill="#09c" d="M600 437.8L86 96H0v57l516 343h84v-58.2"/>
+  </g>
+  <g id="g4979" font-size="12" transform="matrix(1.06667 0 0 1.06758 0 -76)">
+    <path id="path558" fill="#005bbf" fill-opacity="1" d="M296.6 401.2c-60 0-58.1-56.5-58.1-56.5v-86.9h116.3v86.9s2 56.5-58.2 56.5"/>
+    <path id="path559" fill="none" stroke="#000" stroke-width="1" d="M296.6 401.2c-60 0-58.1-56.5-58.1-56.5v-86.9h116.3v86.9s2 56.5-58.2 56.5z"/>
+    <path id="path560" fill="#d81126" fill-opacity="1" d="M296.1 203.2s-12.4-6-24.1 2.8c0 0-21.1-3-22.7 17.2 0 .8-.2 2.3.2 2.8.4.4.8 1.2.8 1.8 0 .6.3.9.5 1.1 0 .3.4.7.5 1.7 0 1.1-.2 1.6.9 2.7 1 1 1 4.1 1 5 0 .9.6 3.3 1 3.8.5.5 1.3 1.8 1.3 2.9 0 1 .4 4 .2 4.7-.2.8 1.2 1.7 2.4 2.1 1.2.4 16 5.2 37.6 4.8 21.6-.3 29.4-1.5 38.4-4.7 1.3-.5 1.6-1.7 1.5-2.3-.2-.6 0-2.6.3-3.1.4-.5 3-4.6 2.4-5.3-.5-.8-.5-2.4 0-3 .5-.7 2.1-3.7 2.4-5 .3-1.2.4-2.7 1-3.1.5-.4.7-1.9.8-2.2a4 4 0 011.2-1.6s1-5.1.4-7.6c-.7-2.5-4.5-13.3-19.8-11 0 0-11.4-8.7-28.2-4.5"/>
+    <path id="path561" fill="none" stroke="#000" stroke-width="1.5" d="M296.1 203.2s-12.4-6-24.1 2.8c0 0-21.1-3-22.7 17.2 0 .8-.2 2.3.2 2.8.4.4.8 1.2.8 1.8 0 .6.3.9.5 1.1 0 .3.4.7.5 1.7 0 1.1-.2 1.6.9 2.7 1 1 1 4.1 1 5 0 .9.6 3.3 1 3.8.5.5 1.3 1.8 1.3 2.9 0 1 .4 4 .2 4.7-.2.8 1.2 1.7 2.4 2.1 1.2.4 16 5.2 37.6 4.8 21.6-.3 29.4-1.5 38.4-4.7 1.3-.5 1.6-1.7 1.5-2.3-.2-.6 0-2.6.3-3.1.4-.5 3-4.6 2.4-5.3-.5-.8-.5-2.4 0-3 .5-.7 2.1-3.7 2.4-5 .3-1.2.4-2.7 1-3.1.5-.4.7-1.9.8-2.2a4 4 0 011.2-1.6s1-5.1.4-7.6c-.7-2.5-4.5-13.3-19.8-11 0 0-11.4-8.7-28.2-4.5h0z"/>
+    <path id="path562" fill="#bcac0b" fill-opacity="1" d="M337.6 240.8c-47-14.9-83.4-.7-83.4-.7s.4 1.6.8 2.1 1 1.7 1 2.6v2.8c0 .7-.4 3.7 2.2 3.6 0 0 32.8-12.8 75.4.7 0 0 1.2-1 1.2-2.5a8 8 0 011-4c.5-.8 1.8-3.4 1.8-4.6"/>
+    <path id="path563" fill="#c8b100" fill-opacity=".9" d="M294 319.3h-20.5s-2 18.3 13.8 23.9v1.6h3.3v2.2s-5.8 5.2-.7 11.2v1.8h.8v3h1v4.7s-.8 17-17.6 25.2v1h44.7v-1c-16.7-8.1-17.5-25.2-17.5-25.2V363h1V360h.8v-1.8c5-6-.8-11.2-.8-11.2v-2.2h3.4v-1.6c15.7-5.6 13.7-23.9 13.7-23.9H294"/>
+    <path id="path564" fill="none" stroke="#000" stroke-width="1" d="M294 319.3h-20.5s-2 18.3 13.8 23.9v1.6h3.3v2.2s-5.8 5.2-.7 11.2v1.8h.8v3h1v4.7s-.8 17-17.6 25.2v1h44.7v-1c-16.7-8.1-17.5-25.2-17.5-25.2V363h1V360h.8v-1.8c5-6-.8-11.2-.8-11.2v-2.2h3.4v-1.6c15.7-5.6 13.7-23.9 13.7-23.9H294h0z"/>
+    <path id="path565" fill="none" stroke="#000" stroke-width=".3" d="M286.6 342.9h19.7m-19 1.5h18.4m-15 2.5h11.5m-12.3 11.5H303m-12.4 1.4h11.6m-11.6 2.8h11.5m-18.5 23.2h25.5m-32.7 5.9h40m-41.5.9h43"/>
+    <path id="path566" fill="#ccc" fill-opacity="1" d="M296.6 318.3a13 13 0 100-26.1 13 13 0 000 26"/>
+    <path id="path567" fill="none" stroke="#000" stroke-width="1" d="M296.6 318.3a13 13 0 100-26.1 13 13 0 000 26z"/>
+    <path id="path568" fill="#ccc" fill-opacity="1" d="M266.3 280h-8.1v-8.2H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8V280"/>
+    <path id="path569" fill="none" stroke="#000" stroke-width="1" d="M266.3 280h-8.1v-8.2H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8V280"/>
+    <path id="path570" fill="#ccc" fill-opacity="1" d="M350.8 280h-8.1v-8.2h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1V280"/>
+    <path id="path571" fill="none" stroke="#000" stroke-width="1" d="M350.8 280h-8.1v-8.2h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1V280"/>
+    <path id="path572" fill="#ccc" fill-opacity="1" d="M308 269.7h-8.2v-8h-7.2v8h-8v7.2h8v8.2h7.2v-8.2h8.2v-7.2"/>
+    <path id="path573" fill="none" stroke="#000" stroke-width="1" d="M308 269.7h-8.2v-8h-7.2v8h-8v7.2h8v8.2h7.2v-8.2h8.2v-7.2"/>
+    <path id="path574" fill="#ccc" fill-opacity="1" d="M266.3 315.2h-8.1V307H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8v-7.2"/>
+    <path id="path575" fill="none" stroke="#000" stroke-width="1" d="M266.3 315.2h-8.1V307H251v8.2h-8.2v7.2h8.2v8h7.2v-8h8v-7.2"/>
+    <path id="path576" fill="#ccc" fill-opacity="1" d="M350.8 315.2h-8.1V307h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1v-7.2"/>
+    <path id="path577" fill="none" stroke="#000" stroke-width="1" d="M350.8 315.2h-8.1V307h-7.2v8.2h-8.2v7.2h8.2v8h7.2v-8h8.1v-7.2"/>
+    <path id="path578" fill="#ccc" fill-opacity="1" d="M266.3 350.7h-8.1v-8.1H251v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8v-7.3"/>
+    <path id="path579" fill="none" stroke="#000" stroke-width="1" d="M266.3 350.7h-8.1v-8.1H251v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8v-7.3"/>
+    <path id="path580" fill="#ccc" fill-opacity="1" d="M350.8 350.7h-8.1v-8.1h-7.2v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8.1v-7.3"/>
+    <path id="path581" fill="none" stroke="#000" stroke-width="1" d="M350.8 350.7h-8.1v-8.1h-7.2v8.1h-8.2v7.2h8.2v8.1h7.2v-8h8.1v-7.3"/>
+    <path id="path582" fill="#005bbf" fill-opacity="1" d="M296.5 185.8a7.8 7.8 0 100-15.7 7.8 7.8 0 000 15.7"/>
+    <path id="path583" fill="none" stroke="#000" stroke-width="1" d="M296.5 185.8a7.8 7.8 0 100-15.7 7.8 7.8 0 000 15.7z"/>
+    <path id="path584" fill="#fc0" fill-opacity="1" d="M303.8 176.6h-6.4v-10.4h2.5v-2h-2.5v-2.5h-2v2.4h-2.5v2.1h2.4v10.4h-6v1.4h14.5v-1.4"/>
+    <path id="path585" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".5" d="M303.8 176.6h-6.4v-10.4h2.5v-2h-2.5v-2.5h-2v2.4h-2.5v2.1h2.4v10.4h-6v1.4h14.5v-1.4"/>
+    <path id="path586" fill="#fc0" fill-opacity="1" d="M265.2 195.1s5.8-.6 9.1.7c0 0-3.8 4.4-3 10.1.4 3 1 4.5 1.9 6 .8 1.3 1.7 4.3 1.2 6.6h1.1s1.1-4.8-.7-7.4a10 10 0 01-1-10.3c1.9-3.8 4.6-5.3 4.6-5.3 3 1.2 9.6 0 11.4-1.3 1.9-1.3 2.8-3.2-.6-3.3-3.5-.2-9.3-.1-13.3 2.9 0 0-2.1-2.4-12.6-1.3-10.5 1.2-18 5.7-20.4 15.1-1.2 4.8 3.3 14.9 7.4 17.3 0 0-.1-1.6.3-2.8 0 0-7-7.9-5-15.2 2.2-7.2 10.6-12 19.6-11.8"/>
+    <path id="path587" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M265.2 195.1s5.8-.6 9.1.7c0 0-3.8 4.4-3 10.1.4 3 1 4.5 1.9 6 .8 1.3 1.7 4.3 1.2 6.6h1.1s1.1-4.8-.7-7.4a10 10 0 01-1-10.3c1.9-3.8 4.6-5.3 4.6-5.3 3 1.2 9.6 0 11.4-1.3 1.9-1.3 2.8-3.2-.6-3.3-3.5-.2-9.3-.1-13.3 2.9 0 0-2.1-2.4-12.6-1.3-10.5 1.2-18 5.7-20.4 15.1-1.2 4.8 3.3 14.9 7.4 17.3 0 0-.1-1.6.3-2.8 0 0-7-7.9-5-15.2 2.2-7.2 10.6-12 19.6-11.8z"/>
+    <path id="path588" fill="#fff" d="M284.9 193.7c1.8-.2 3.3-.5 3.2-.7 0-.3-1.5-.3-3.3-.2-1.8.1-3.2.5-3.2.7 0 .3 1.5.3 3.3.2"/>
+    <path id="path589" fill="none" stroke="#000" stroke-width=".7" d="M278.3 195.4s-2 2 0 0 6.4-3.2 8.9-2.7c2.4.6-.5.9-1.3 1-.8 0-2.4.3-4.8 0"/>
+    <path id="path590" fill="#fc0" fill-opacity="1" d="M327.7 195.8s-5.7-.7-9.1.6a14.6 14.6 0 011.2 16c-.9 1.5-1.8 4.4-1.3 6.7h-1s-1.2-4.7.7-7.4a10 10 0 00.9-10.2 12.6 12.6 0 00-4.5-5.4c-3.1 1.3-9.7 0-11.5-1.3-1.8-1.3-2.8-3.1.7-3.3 3.4-.2 9.3-.1 13.3 3 0 0 2-2.5 12.6-1.3 10.4 1.1 18 5.6 20.3 15 1.2 4.8-3.2 14.9-7.3 17.3 0 0 0-1.6-.3-2.8 0 0 7-7.8 4.9-15.1-2.1-7.3-10.5-12-19.6-11.8"/>
+    <path id="path591" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M327.7 195.8s-5.7-.7-9.1.6a14.6 14.6 0 011.2 16c-.9 1.5-1.8 4.4-1.3 6.7h-1s-1.2-4.7.7-7.4a10 10 0 00.9-10.2 12.6 12.6 0 00-4.5-5.4c-3.1 1.3-9.7 0-11.5-1.3-1.8-1.3-2.8-3.1.7-3.3 3.4-.2 9.3-.1 13.3 3 0 0 2-2.5 12.6-1.3 10.4 1.1 18 5.6 20.3 15 1.2 4.8-3.2 14.9-7.3 17.3 0 0 0-1.6-.3-2.8 0 0 7-7.8 4.9-15.1-2.1-7.3-10.5-12-19.6-11.8z"/>
+    <path id="path592" fill="#fff" d="M308 194.3c-1.8-.1-3.2-.4-3.2-.7 0-.2 1.5-.3 3.3-.2 1.8.2 3.3.5 3.3.7 0 .3-1.5.4-3.4.2"/>
+    <path id="path593" fill="none" stroke="#000" stroke-width=".7" d="M314.6 196s2.1 2 0 0c-2-1.9-6.4-3.2-8.8-2.6-2.5.5.4.8 1.2.9.9 0 2.5.4 4.9 0"/>
+    <path id="path594" fill="#fc0" fill-opacity="1" d="M291.1 189.3v22.3c-.2 2.2 2.7 5.3 4.8 6.2 0 0 5-1.6 5.3-6.2v-23.5h-1.7v20.4c0 2-1.4 5.8-3.3 6.4 0 0-3.6-.6-3.8-6.4v-19.8l-1.3.6"/>
+    <path id="path595" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M291.1 189.3v22.3c-.2 2.2 2.7 5.3 4.8 6.2 0 0 5-1.6 5.3-6.2v-23.5h-1.7v20.4c0 2-1.4 5.8-3.3 6.4 0 0-3.6-.6-3.8-6.4v-19.8l-1.3.6"/>
+    <path id="path596" fill="#fff" d="M241.8 219.8a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path597" fill="none" stroke="#000" stroke-width="1" d="M241.8 219.8a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path598" fill="#fff" d="M240.1 213.7a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path599" fill="none" stroke="#000" stroke-width="1" d="M240.1 213.7a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path600" fill="#fff" d="M241 206.3a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path601" fill="none" stroke="#000" stroke-width="1" d="M241 206.3a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path602" fill="#fff" d="M245.1 200.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path603" fill="none" stroke="#000" stroke-width="1" d="M245.1 200.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path604" fill="#fff" d="M250 195.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path605" fill="none" stroke="#000" stroke-width="1" d="M250 195.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path606" fill="#fff" d="M256.4 193.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path607" fill="none" stroke="#000" stroke-width="1" d="M256.4 193.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path608" fill="#fff" d="M263 192a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path609" fill="none" stroke="#000" stroke-width="1" d="M263 192a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path610" fill="#fff" d="M269.3 191.6a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path611" fill="none" stroke="#000" stroke-width="1" d="M269.3 191.6a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path612" fill="#fff" d="M275 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4"/>
+    <path id="path613" fill="none" stroke="#000" stroke-width="1" d="M275 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4z"/>
+    <path id="path614" fill="#fff" d="M291 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path615" fill="none" stroke="#000" stroke-width="1" d="M291 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path616" fill="#fff" d="M296.2 191.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path617" fill="none" stroke="#000" stroke-width="1" d="M296.2 191.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path618" fill="#fff" d="M296.2 211.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path619" fill="none" stroke="#000" stroke-width="1" d="M296.2 211.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path620" fill="#fff" d="M351.3 221.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path621" fill="none" stroke="#000" stroke-width="1" d="M351.3 221.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path622" fill="#fff" d="M352.7 215a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path623" fill="none" stroke="#000" stroke-width="1" d="M352.7 215a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path624" fill="#fff" d="M351.6 208a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path625" fill="none" stroke="#000" stroke-width="1" d="M351.6 208a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path626" fill="#fff" d="M348.7 201.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path627" fill="none" stroke="#000" stroke-width="1" d="M348.7 201.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path628" fill="#fff" d="M343.8 197a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path629" fill="none" stroke="#000" stroke-width="1" d="M343.8 197a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path630" fill="#fff" d="M337.9 194a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path631" fill="none" stroke="#000" stroke-width="1" d="M337.9 194a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path632" fill="#fff" d="M331.1 192.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path633" fill="none" stroke="#000" stroke-width="1" d="M331.1 192.5a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path634" fill="#fff" d="M325 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path635" fill="none" stroke="#000" stroke-width="1" d="M325 192a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path636" fill="#fff" d="M319.4 191.3a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path637" fill="none" stroke="#000" stroke-width="1" d="M319.4 191.3a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path638" fill="#fff" d="M323 213a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4"/>
+    <path id="path639" fill="none" stroke="#000" stroke-width="1" d="M323 213a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4z"/>
+    <path id="path640" fill="#fff" d="M324.4 208a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3"/>
+    <path id="path641" fill="none" stroke="#000" stroke-width="1" d="M324.4 208a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.3z"/>
+    <path id="path642" fill="#fff" d="M302 190.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path643" fill="none" stroke="#000" stroke-width="1" d="M302 190.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path644" fill="#fff" d="M289 190.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path645" fill="none" stroke="#000" stroke-width="1" d="M289 190.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path646" fill="#fff" d="M285.8 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path647" fill="none" stroke="#000" stroke-width="1" d="M285.8 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path648" fill="#fff" d="M268.8 213.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path649" fill="none" stroke="#000" stroke-width="1" d="M268.8 213.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path650" fill="#fff" d="M268 206.8a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path651" fill="none" stroke="#000" stroke-width="1" d="M268 206.8a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path652" fill="#fff" d="M270 200.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path653" fill="none" stroke="#000" stroke-width="1" d="M270 200.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path654" fill="#fff" d="M281.7 190.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path655" fill="none" stroke="#000" stroke-width="1" d="M281.7 190.6a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path656" fill="#fff" d="M277.2 192.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path657" fill="none" stroke="#000" stroke-width="1" d="M277.2 192.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path658" fill="#fff" d="M273 196a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path659" fill="none" stroke="#000" stroke-width="1" d="M273 196a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path660" fill="#fff" d="M296.2 194.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path661" fill="none" stroke="#000" stroke-width="1" d="M296.2 194.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path662" fill="#fff" d="M296.2 199.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path663" fill="none" stroke="#000" stroke-width="1" d="M296.2 199.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path664" fill="#fff" d="M296.2 204.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path665" fill="none" stroke="#000" stroke-width="1" d="M296.2 204.9a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path666" fill="#fff" d="M305.4 190.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path667" fill="none" stroke="#000" stroke-width="1" d="M305.4 190.2a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path668" fill="#fff" d="M309 189.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path669" fill="none" stroke="#000" stroke-width="1" d="M309 189.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path670" fill="#fff" d="M313.2 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4"/>
+    <path id="path671" fill="none" stroke="#000" stroke-width="1" d="M313.2 190a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.4z"/>
+    <path id="path672" fill="#fff" d="M323.5 201.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path673" fill="none" stroke="#000" stroke-width="1" d="M323.5 201.4a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path674" fill="#fff" d="M317.3 192.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4"/>
+    <path id="path675" fill="none" stroke="#000" stroke-width="1" d="M317.3 192.5a2.7 2.7 0 100-5.4 2.7 2.7 0 000 5.4z"/>
+    <path id="path676" fill="#fff" d="M321.1 196.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3"/>
+    <path id="path677" fill="none" stroke="#000" stroke-width="1" d="M321.1 196.1a2.7 2.7 0 100-5.3 2.7 2.7 0 000 5.3z"/>
+    <path id="path678" fill="#fff" d="M296 236l-7 3.6 6.3 4 7.5-3.8-6.8-3.8"/>
+    <path id="path679" fill="none" stroke="#000" stroke-width=".5" d="M296 236l-7 3.6 6.3 4 7.5-3.8-6.8-3.8"/>
+    <path id="path680" fill="#fff" d="M280.6 236.8l-10.5 1.6s-.2 5.7.3 7l10.9-1.4s.5-5.3-.7-7.2"/>
+    <path id="path681" fill="none" stroke="#000" stroke-width=".5" d="M280.6 236.8l-10.5 1.6s-.2 5.7.3 7l10.9-1.4s.5-5.3-.7-7.2z"/>
+    <path id="path682" fill="#058e6e" fill-opacity=".9" d="M279.5 238.8s-6.4.6-8 1.2v3.8s4.3-.7 8.1-1l-.1-4"/>
+    <path id="path683" fill="none" stroke="#000" stroke-width=".5" d="M279.5 238.8s-6.4.6-8 1.2v3.8s4.3-.7 8.1-1l-.1-4"/>
+    <path id="path684" fill="#fff" d="M310.7 237l10.6 1.7s.1 5.7-.4 7l-10.8-1.4s-.5-5.3.6-7.2"/>
+    <path id="path685" fill="none" stroke="#000" stroke-width=".5" d="M310.7 237l10.6 1.7s.1 5.7-.4 7l-10.8-1.4s-.5-5.3.6-7.2z"/>
+    <path id="path686" fill="#058e6e" fill-opacity=".9" d="M312 239.1s6.3.6 7.9 1.2l-.1 3.8s-4.2-.7-8-1l.1-4"/>
+    <path id="path687" fill="none" stroke="#000" stroke-width=".5" d="M312 239.1s6.3.6 7.9 1.2l-.1 3.8s-4.2-.7-8-1l.1-4"/>
+    <path id="path688" fill="none" stroke="#000" stroke-width=".5" d="M254.2 241.8s37-13.7 84.2 1.2m-82.7 6.7s35.9-13.4 80 .6m-79.8-9l7.2 2.1-5 5.4"/>
+    <path id="path689" fill="red" d="M256 247.8l4.2-3.5-4.7-.9s.6.7.5 1.4v3"/>
+    <path id="path690" fill="none" stroke="#000" stroke-width=".5" d="M256 247.8l4.2-3.5-4.7-.9s.6.7.5 1.4v3z"/>
+    <path id="path691" fill="none" stroke="#000" stroke-width=".5" d="M337.6 242.7l-7.7 1.4 5.2 6"/>
+    <path id="path692" fill="red" d="M335.3 248l-2.9-3 4.2-.4s-1.2.7-1.2 1.4c0 .6.2 1.5 0 2"/>
+    <path id="path693" fill="none" stroke="#000" stroke-width=".5" d="M335.3 248l-2.9-3 4.2-.4s-1.2.7-1.2 1.4c0 .6.2 1.5 0 2z"/>
+    <path id="path694" fill="none" stroke="#000" stroke-width=".5" d="M265.3 241.8c.6 0 1.2-.4 1.2-1 0-.4-.6-.9-1.2-.9-.7 0-1.2.5-1.2 1s.5 1 1.2 1zm20.6-2.3c.7 0 1.2-.4 1.2-1 0-.5-.5-.9-1.2-.9s-1.2.4-1.2 1c0 .5.5.9 1.2.9zm0 3.3c.7 0 1.2-.4 1.2-.9s-.5-1-1.2-1-1.2.5-1.2 1 .5 1 1.2 1zm20.3-3.1c.6 0 1.2-.5 1.2-1s-.6-1-1.2-1c-.7 0-1.2.5-1.2 1s.5 1 1.2 1zm20.1 3.7c.7 0 1.2-.5 1.2-1s-.5-1-1.2-1-1.2.5-1.2 1 .5 1 1.2 1zm-.3 2.6c.6 0 1.2-.4 1.2-1 0-.4-.6-.9-1.2-.9-.7 0-1.2.5-1.2 1s.5 1 1.2 1zm-19.8-3c.6 0 1.2-.4 1.2-1 0-.5-.6-.9-1.2-.9-.7 0-1.2.4-1.2 1 0 .5.5 1 1.2 1zm-40 3c.7 0 1.3-.4 1.3-1 0-.4-.6-.9-1.2-.9-.7 0-1.2.5-1.2 1s.5 1 1.2 1z"/>
+    <path id="path695" fill="#fc0" fill-opacity="1" d="M253.6 231s.1 7.2 4.8 6.2 4.2-6.9 4.5-7.2c.4-.3.9-.3.9-.3s.6 5.7 5 5c4.4-.7 4.2-7.7 3.7-8.9l1-.3s1.7 8.2 6.7 7c5-1.2 4.5-6.4 4.5-6.4h.4s1.1 5.6 5.2 5.2c4-.3 4.8-1.6 4.3-7.2l2.7-.5s-1 8 3.9 8c4.8-.3 5-4.1 5.3-4.8h.8s.2 5.7 4.3 5.7c4 0 4.8-4.8 4.8-6.7l4 .2s-4.2 7.5 1.9 8.5c6 1 6.2-4.8 6.2-4.8h1.2s-.2 7.5 3.1 7.7c3.4.1 5.4-1 5.7-6.6l1.9.7s-1.6 9-7.9 7.4c-3.3-.9-4.4-4.7-4.2-5.7 0 0-2.3 4.2-6.9 2.8-4.5-1.3-4-4.5-4-5.5 0 0-2.7 5-6.5 3.9-3.4-1-4.7-2.2-4.7-4.6 0 0-1.7 3.9-5 3.7-3.4-.1-5-2.2-5.2-4 0 0-.7 3.6-5.2 3.9-3 .1-4.7-1.4-5.4-3.4 0 0-.9 3.6-5.2 4.2-2.7.3-5.4-1.2-6-3.7 0 0-.7 4.9-5 5.5-4.4.7-5.4-2.3-5.4-2.3s-.9 3.8-4.4 4.7c-3.5.8-5.8-.7-6.7-4.2-.8-3.5-.5-5-.5-5l1.4 1.8"/>
+    <path id="path696" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M253.6 231s.1 7.2 4.8 6.2 4.2-6.9 4.5-7.2c.4-.3.9-.3.9-.3s.6 5.7 5 5c4.4-.7 4.2-7.7 3.7-8.9l1-.3s1.7 8.2 6.7 7c5-1.2 4.5-6.4 4.5-6.4h.4s1.1 5.6 5.2 5.2c4-.3 4.8-1.6 4.3-7.2l2.7-.5s-1 8 3.9 8c4.8-.3 5-4.1 5.3-4.8h.8s.2 5.7 4.3 5.7c4 0 4.8-4.8 4.8-6.7l4 .2s-4.2 7.5 1.9 8.5c6 1 6.2-4.8 6.2-4.8h1.2s-.2 7.5 3.1 7.7c3.4.1 5.4-1 5.7-6.6l1.9.7s-1.6 9-7.9 7.4c-3.3-.9-4.4-4.7-4.2-5.7 0 0-2.3 4.2-6.9 2.8-4.5-1.3-4-4.5-4-5.5 0 0-2.7 5-6.5 3.9-3.4-1-4.7-2.2-4.7-4.6 0 0-1.7 3.9-5 3.7-3.4-.1-5-2.2-5.2-4 0 0-.7 3.6-5.2 3.9-3 .1-4.7-1.4-5.4-3.4 0 0-.9 3.6-5.2 4.2-2.7.3-5.4-1.2-6-3.7 0 0-.7 4.9-5 5.5-4.4.7-5.4-2.3-5.4-2.3s-.9 3.8-4.4 4.7c-3.5.8-5.8-.7-6.7-4.2-.8-3.5-.5-5-.5-5l1.4 1.8h0z"/>
+    <path id="path697" fill="#fc0" fill-opacity="1" d="M263.3 231.3a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path698" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M263.3 231.3a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path699" fill="#fc0" fill-opacity="1" d="M285.1 227.8a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path700" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M285.1 227.8a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path701" fill="#fc0" fill-opacity="1" d="M307.3 228.5a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path702" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M307.3 228.5a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path703" fill="#fc0" fill-opacity="1" d="M329.2 232a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3"/>
+    <path id="path704" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M329.2 232a1.7 1.7 0 100-3.3 1.7 1.7 0 000 3.3z"/>
+    <path id="path705" fill="#fc0" fill-opacity="1" d="M295.2 226h-1.5c-.4 1.5-3.6 2.4-3.6 2.4-.4-1.2.5-2.9.5-2.9-3.7-1-3.7-2.2-3.7-2.2.5-1.3 4-1.5 4-1.5-1-1.1-.8-3-.8-3 2.3.2 4.2 2.5 4.2 2.5s-2.3-1.2-2-5.2c0 0 1.2 0 2 .8 0 0 0-4.4 1.8-4.9h.2c1.8.5 1.8 4.9 1.8 4.9.8-.9 2-.8 2-.8.3 4-2 5.2-2 5.2s1.9-2.3 4.2-2.4c0 0 .1 1.8-.7 3 0 0 3.4.1 4 1.4 0 0 0 1.3-3.8 2.2 0 0 .8 1.7.5 3 0 0-3.3-1-3.6-2.5h-3.5"/>
+    <path id="path706" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M295.2 226h-1.5c-.4 1.5-3.6 2.4-3.6 2.4-.4-1.2.5-2.9.5-2.9-3.7-1-3.7-2.2-3.7-2.2.5-1.3 4-1.5 4-1.5-1-1.1-.8-3-.8-3 2.3.2 4.2 2.5 4.2 2.5s-2.3-1.2-2-5.2c0 0 1.2 0 2 .8 0 0 0-4.4 1.8-4.9h.2c1.8.5 1.8 4.9 1.8 4.9.8-.9 2-.8 2-.8.3 4-2 5.2-2 5.2s1.9-2.3 4.2-2.4c0 0 .1 1.8-.7 3 0 0 3.4.1 4 1.4 0 0 0 1.3-3.8 2.2 0 0 .8 1.7.5 3 0 0-3.3-1-3.6-2.5h-3.5 0z"/>
+    <path id="path707" fill="#fff" d="M296 226.8a3 3 0 100-6 3 3 0 000 6"/>
+    <path id="path708" fill="none" stroke="#000" stroke-width=".4" d="M296 226.8a3 3 0 100-6 3 3 0 000 6z"/>
+    <path id="path709" fill="#fff" d="M296 225.5a1.7 1.7 0 100-3.4 1.7 1.7 0 000 3.4"/>
+    <path id="path710" fill="none" stroke="#000" stroke-width=".3" d="M296 225.5a1.7 1.7 0 100-3.4 1.7 1.7 0 000 3.4z"/>
+    <path id="path711" fill="#fc0" fill-opacity="1" d="M319.1 228l1.5.3c0 1.5 3 3.1 3 3.1.6-1 .1-2.9.1-2.9 3.9-.1 4.1-1.4 4.1-1.4-.2-1.4-3.5-2.3-3.5-2.3 1-.9 1.3-2.7 1.3-2.7-2.3-.4-4.6 1.4-4.6 1.4s2.5-.6 3-4.6c0 0-1.1-.3-2 .3 0 0 .9-4.2-.8-5l-.2-.1c-1.9 0-2.8 4.3-2.8 4.3-.6-1-1.8-1.1-1.8-1.1-1.1 3.8.9 5.4.9 5.4s-1.4-2.6-3.6-3.2c0 0-.5 1.8 0 3 0 0-3.3-.5-4.1.6 0 0-.3 1.3 3.1 3 0 0-1.1 1.5-1 2.8 0 0 3.3-.3 4-1.7l1.5.3 2 .4"/>
+    <path id="path712" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M319.1 228l1.5.3c0 1.5 3 3.1 3 3.1.6-1 .1-2.9.1-2.9 3.9-.1 4.1-1.4 4.1-1.4-.2-1.4-3.5-2.3-3.5-2.3 1-.9 1.3-2.7 1.3-2.7-2.3-.4-4.6 1.4-4.6 1.4s2.5-.6 3-4.6c0 0-1.1-.3-2 .3 0 0 .9-4.2-.8-5l-.2-.1c-1.9 0-2.8 4.3-2.8 4.3-.6-1-1.8-1.1-1.8-1.1-1.1 3.8.9 5.4.9 5.4s-1.4-2.6-3.6-3.2c0 0-.5 1.8 0 3 0 0-3.3-.5-4.1.6 0 0-.3 1.3 3.1 3 0 0-1.1 1.5-1 2.8 0 0 3.3-.3 4-1.7l1.5.3 2 .4"/>
+    <path id="path713" fill="#fff" d="M318 228.6a3 3 0 111.4-6 3 3 0 01-1.3 6"/>
+    <path id="path714" fill="none" stroke="#000" stroke-width=".4" d="M318 228.6a3 3 0 111.4-6 3 3 0 01-1.3 6z"/>
+    <path id="path715" fill="#fff" d="M318.4 227.3a1.7 1.7 0 11.7-3.3 1.7 1.7 0 01-.7 3.3"/>
+    <path id="path716" fill="none" stroke="#000" stroke-width=".3" d="M318.4 227.3a1.7 1.7 0 11.7-3.3 1.7 1.7 0 01-.7 3.3z"/>
+    <path id="path717" fill="#fc0" fill-opacity="1" d="M272.3 227.6l-1.5.2c-.2 1.6-3.3 3-3.3 3-.5-1.2 0-3 0-3-3.7-.4-3.9-1.7-3.9-1.7.4-1.3 3.8-2 3.8-2-1-1-1.1-2.8-1.1-2.8 2.2-.2 4.4 1.8 4.4 1.8s-2.4-.8-2.7-4.8c0 0 1.3-.3 2.1.4 0 0-.5-4.3 1.2-5h.2c1.9.2 2.4 4.5 2.4 4.5.7-.9 2-1 2-1 .7 4-1.4 5.4-1.4 5.4s1.6-2.5 3.8-3c0 0 .4 1.9-.3 3.1 0 0 3.4-.3 4.1 1 0 0 .2 1.2-3.4 2.6 0 0 1 1.6.9 2.8 0 0-3.3-.5-4-2l-1.4.3-2 .2"/>
+    <path id="path718" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M272.3 227.6l-1.5.2c-.2 1.6-3.3 3-3.3 3-.5-1.2 0-3 0-3-3.7-.4-3.9-1.7-3.9-1.7.4-1.3 3.8-2 3.8-2-1-1-1.1-2.8-1.1-2.8 2.2-.2 4.4 1.8 4.4 1.8s-2.4-.8-2.7-4.8c0 0 1.3-.3 2.1.4 0 0-.5-4.3 1.2-5h.2c1.9.2 2.4 4.5 2.4 4.5.7-.9 2-1 2-1 .7 4-1.4 5.4-1.4 5.4s1.6-2.5 3.8-3c0 0 .4 1.9-.3 3.1 0 0 3.4-.3 4.1 1 0 0 .2 1.2-3.4 2.6 0 0 1 1.6.9 2.8 0 0-3.3-.5-4-2l-1.4.3-2 .2"/>
+    <path id="path719" fill="#fff" d="M273.2 228.4a3 3 0 10-.8-6 3 3 0 00.8 6"/>
+    <path id="path720" fill="none" stroke="#000" stroke-width=".4" d="M273.2 228.4a3 3 0 10-.8-6 3 3 0 00.8 6z"/>
+    <path id="path721" fill="#fff" d="M273 227a1.7 1.7 0 10-.4-3.3 1.7 1.7 0 00.4 3.3"/>
+    <path id="path722" fill="none" stroke="#000" stroke-width=".3" d="M273 227a1.7 1.7 0 10-.4-3.3 1.7 1.7 0 00.4 3.3z"/>
+    <path id="path723" fill="#fc0" fill-opacity="1" d="M340.2 234.1s-.8-2-2.5-1.3-1.5 1-3 1c0 0-.6-1.9.2-2.7 0 0-2.4-.9-3-3 0 0 1.3-1.5 4.4-.9 0 0-.1-1.5.3-2.2 0 0 3.3 1 3.3 2.9 0 0-1-3.6.8-6.2 0 0 1.5.6 1.4 2.3 0 0 .7-3.4 5.2-2.5 0 0-2.4 2.2-2.5 3.2-.2 1-2.2 2.7-2.3 3.3 0 .5-.2 1.5-.8 2.1-.6.6-.7 1.6-.7 2 0 .2 0 1.6-.8 2"/>
+    <path id="path724" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M340.2 234.1s-.8-2-2.5-1.3-1.5 1-3 1c0 0-.6-1.9.2-2.7 0 0-2.4-.9-3-3 0 0 1.3-1.5 4.4-.9 0 0-.1-1.5.3-2.2 0 0 3.3 1 3.3 2.9 0 0-1-3.6.8-6.2 0 0 1.5.6 1.4 2.3 0 0 .7-3.4 5.2-2.5 0 0-2.4 2.2-2.5 3.2-.2 1-2.2 2.7-2.3 3.3 0 .5-.2 1.5-.8 2.1-.6.6-.7 1.6-.7 2 0 .2 0 1.6-.8 2z"/>
+    <path id="path725" fill="#fff" d="M337.7 230.1a3 3 0 014.8-1.8c0 .5-.3 1.3-.8 1.8-.6.6-.7 1.6-.7 2a3 3 0 01-.4 1.6h-.5a3 3 0 01-2.4-3.6"/>
+    <path id="path726" fill="none" stroke="#000" stroke-width=".4" d="M337.7 230.1a3 3 0 014.8-1.8c0 .5-.3 1.3-.8 1.8-.6.6-.7 1.6-.7 2a3 3 0 01-.4 1.6h-.5a3 3 0 01-2.4-3.6z"/>
+    <path id="path727" fill="#fff" d="M339 230.4a1.7 1.7 0 013-.7l-.3.4c-.6.6-.7 1.6-.7 2v.2h-.6c-1-.1-1.5-1-1.3-2"/>
+    <path id="path728" fill="none" stroke="#000" stroke-width=".3" d="M339 230.4a1.7 1.7 0 013-.7l-.3.4c-.6.6-.7 1.6-.7 2v.2h-.6c-1-.1-1.5-1-1.3-2z"/>
+    <path id="path729" fill="#fc0" fill-opacity="1" d="M252.2 233.3s.8-2 2.5-1.2c1.6.9 1.4 1.1 3 1.1 0 0 .6-1.8 0-2.6 0 0 2.4-.7 3-2.8 0 0-1.2-1.6-4.3-1.2 0 0 .2-1.5-.2-2.2 0 0-3.3.8-3.4 2.6 0 0 1.2-3.5-.4-6.2 0 0-1.6.6-1.6 2.2 0 0-.5-3.4-5-2.7 0 0 2.3 2.3 2.3 3.3s2 2.8 2 3.4c0 .5.2 1.6.8 2.2.6.6.6 1.6.5 2 0 .2 0 1.6.8 2"/>
+    <path id="path730" fill="#bcac0b" fill-opacity="1" stroke="#000" stroke-width=".7" d="M252.2 233.3s.8-2 2.5-1.2c1.6.9 1.4 1.1 3 1.1 0 0 .6-1.8 0-2.6 0 0 2.4-.7 3-2.8 0 0-1.2-1.6-4.3-1.2 0 0 .2-1.5-.2-2.2 0 0-3.3.8-3.4 2.6 0 0 1.2-3.5-.4-6.2 0 0-1.6.6-1.6 2.2 0 0-.5-3.4-5-2.7 0 0 2.3 2.3 2.3 3.3s2 2.8 2 3.4c0 .5.2 1.6.8 2.2.6.6.6 1.6.5 2 0 .2 0 1.6.8 2z"/>
+    <path id="path731" fill="#fff" d="M254.8 229.4a3 3 0 00-4.6-2c0 .5.2 1.3.7 1.8.6.6.6 1.6.5 2 0 .2 0 1 .4 1.7h.4a3 3 0 002.6-3.5"/>
+    <path id="path732" fill="none" stroke="#000" stroke-width=".4" d="M254.8 229.4a3 3 0 00-4.6-2c0 .5.2 1.3.7 1.8.6.6.6 1.6.5 2 0 .2 0 1 .4 1.7h.4a3 3 0 002.6-3.5z"/>
+    <path id="path733" fill="#fff" d="M253.5 229.6a1.7 1.7 0 00-3-.9l.4.5c.6.6.6 1.6.5 2v.2h.7c.9 0 1.5-.9 1.4-1.8"/>
+    <path id="path734" fill="none" stroke="#000" stroke-width=".3" d="M253.5 229.6a1.7 1.7 0 00-3-.9l.4.5c.6.6.6 1.6.5 2v.2h.7c.9 0 1.5-.9 1.4-1.8z"/>
+    <path id="path735" fill="none" stroke="#000" stroke-width="1.5" d="M257.2 251.6s33.8-13.2 76.4.3"/>
+    <path id="path736" fill="none" stroke="#000" stroke-width=".5" d="M338.4 241.1c-47.1-15-84.7-.8-84.7-.8"/>
+    <path id="path737" fill="red" d="M296 237.8l-3.8 1.9 3.4 2.1 4-2-3.6-2"/>
+    <path id="path738" fill="none" stroke="#000" stroke-width=".5" d="M296 237.8l-3.8 1.9 3.4 2.1 4-2-3.6-2"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es.svg
new file mode 100644
index 0000000..576dd67
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/es.svg
@@ -0,0 +1,544 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-es" viewBox="0 0 640 480">
+  <path fill="#AA151B" d="M0 0h640v480H0z"/>
+  <path fill="#F1BF00" d="M0 120h640v240H0z"/>
+  <path fill="#ad1519" d="M127.3 213.3l-.8-.1-1-1-.7-.4-.6-.8s-.7-1.1-.4-2c.3-.9.9-1.2 1.4-1.5a12 12 0 011.5-.5l1-.4 1.3-.3.5-.3c.2 0 .7 0 1-.2l1-.2 1.6.1h4.8c.4 0 1.2.3 1.4.4a35 35 0 002 .7c.5.1 1.6.3 2.2.6.5.3.9.7 1.1 1l.5 1v1.1l-.5.8-.6 1-.8.6s-.5.5-1 .4c-.4 0-4.8-.8-7.6-.8s-7.3.9-7.3.9"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M127.3 213.3l-.8-.1-1-1-.7-.4-.6-.8s-.7-1.1-.4-2c.3-.9.9-1.2 1.4-1.5a12 12 0 011.5-.5l1-.4 1.3-.3.5-.3c.2 0 .7 0 1-.2l1-.2 1.6.1h4.8c.4 0 1.2.3 1.4.4a35 35 0 002 .7c.5.1 1.6.3 2.2.6.5.3.9.7 1.1 1l.5 1v1.1l-.5.8-.6 1-.8.6s-.5.5-1 .4c-.4 0-4.8-.8-7.6-.8s-7.3.9-7.3.9z"/>
+  <path fill="#c8b100" d="M133.3 207c0-1.3.6-2.3 1.3-2.3.8 0 1.4 1 1.4 2.4 0 1.3-.6 2.4-1.4 2.4s-1.3-1.1-1.3-2.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M133.3 207c0-1.3.6-2.3 1.3-2.3.8 0 1.4 1 1.4 2.4 0 1.3-.6 2.4-1.4 2.4s-1.3-1.1-1.3-2.5z"/>
+  <path fill="#c8b100" d="M134 207c0-1.2.3-2.1.7-2.1.3 0 .6 1 .6 2.1 0 1.3-.3 2.2-.6 2.2-.4 0-.6-1-.6-2.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134 207c0-1.2.3-2.1.7-2.1.3 0 .6 1 .6 2.1 0 1.3-.3 2.2-.6 2.2-.4 0-.6-1-.6-2.2z"/>
+  <path fill="#c8b100" d="M133.8 204.5c0-.4.4-.8.8-.8s1 .4 1 .8c0 .5-.5.9-1 .9s-.8-.4-.8-.9"/>
+  <path fill="#c8b100" d="M135.3 204.2v.6h-1.4v-.6h.5V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M135.3 204.2v.6h-1.4v-.6h.5V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h.4"/>
+  <path fill="#c8b100" d="M135.9 204.2v.6h-2.5v-.6h1V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M135.9 204.2v.6h-2.5v-.6h1V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134.9 203.7c.4.1.6.4.6.8 0 .5-.4.9-.8.9s-1-.4-1-.9c0-.4.3-.7.7-.8"/>
+  <path fill="#c8b100" d="M134.7 213.2H130v-1.1l-.3-1.2-.2-1.5c-1.3-1.7-2.5-2.8-2.9-2.5.1-.3.2-.6.5-.7 1.1-.7 3.5 1 5.2 3.6l.5.7h3.8l.4-.7c1.8-2.7 4.1-4.3 5.2-3.6.3.1.4.4.5.7-.4-.3-1.6.8-2.9 2.5l-.2 1.5-.2 1.2-.1 1.1h-4.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134.7 213.2H130v-1.1l-.3-1.2-.2-1.5c-1.3-1.7-2.5-2.8-2.9-2.5.1-.3.2-.6.5-.7 1.1-.7 3.5 1 5.2 3.6l.5.7h3.8l.4-.7c1.8-2.7 4.1-4.3 5.2-3.6.3.1.4.4.5.7-.4-.3-1.6.8-2.9 2.5l-.2 1.5-.2 1.2-.1 1.1h-4.7z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M126.8 206.8c1-.5 3 1.1 4.6 3.6m11-3.6c-.8-.5-2.8 1.1-4.5 3.6"/>
+  <path fill="#c8b100" d="M127.8 215.3l-.5-1a27.3 27.3 0 0114.7 0l-.5.8a5.7 5.7 0 00-.3.8 22.9 22.9 0 00-6.6-.8c-2.6 0-5.2.3-6.5.8l-.3-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M127.8 215.3l-.5-1a27.3 27.3 0 0114.7 0l-.5.8a5.7 5.7 0 00-.3.8 22.9 22.9 0 00-6.6-.8c-2.6 0-5.2.3-6.5.8l-.3-.6"/>
+  <path fill="#c8b100" d="M134.6 217.7c2.4 0 5-.4 5.9-.6.6-.2 1-.5 1-.8 0-.2-.2-.3-.4-.4-1.4-.5-4-.8-6.5-.8s-5 .3-6.4.8c-.2 0-.3.2-.4.3 0 .4.3.7 1 .9 1 .2 3.5.6 5.8.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134.6 217.7c2.4 0 5-.4 5.9-.6.6-.2 1-.5 1-.8 0-.2-.2-.3-.4-.4-1.4-.5-4-.8-6.5-.8s-5 .3-6.4.8c-.2 0-.3.2-.4.3 0 .4.3.7 1 .9 1 .2 3.5.6 5.8.6z"/>
+  <path fill="#c8b100" d="M142.1 213.2l-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7c-.7 0-1-.6-1-.6s-.7.5-1.3.4c-.6 0-1.2-.8-1.2-.8s-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.4.6-1.1.7-1.4-.6-1.4-.6-.5.7-1 1c-.5 0-1.2-.4-1.2-.4l-.2.5-.3.1.2.5a27 27 0 017.2-.9c3 0 5.5.4 7.4 1l.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M142.1 213.2l-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7c-.7 0-1-.6-1-.6s-.7.5-1.3.4c-.6 0-1.2-.8-1.2-.8s-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.4.6-1.1.7-1.4-.6-1.4-.6-.5.7-1 1c-.5 0-1.2-.4-1.2-.4l-.2.5-.3.1.2.5a27 27 0 017.2-.9c3 0 5.5.4 7.4 1l.2-.6z"/>
+  <path fill="#c8b100" d="M134.7 210.7h.2a1 1 0 000 .4c0 .6.4 1 1 1a1 1 0 001-.7l.2-.3v.4c.1.5.6.8 1.1.8.6 0 1-.4 1-1v-.1l.4-.4.2.5a.9.9 0 00-.1.4 1 1 0 001 1c.4 0 .7-.2.9-.5l.2-.2v.3c0 .3.1.6.4.7 0 0 .4 0 1-.4l.7-.7v.4s-.5.8-1 1c-.2.2-.5.4-.8.3-.3 0-.6-.3-.7-.6-.2.2-.4.2-.7.2-.6 0-1.2-.3-1.4-.8-.3.3-.7.5-1.1.5a1.6 1.6 0 01-1.2-.6 1.6 1.6 0 01-1 .4 1.6 1.6 0 01-1.3-.6 1.6 1.6 0 01-2.4.2 1.6 1.6 0 01-1.2.6 1.5 1.5 0 01-1.1-.5c-.2.5-.8.8-1.4.8-.2 0-.5 0-.7-.2-.1.3-.4.6-.7.6-.3 0-.6 0-.9-.2l-1-1 .1-.5.8.7c.5.4.9.4.9.4.3 0 .4-.4.4-.7v-.3l.2.2c.2.3.5.5.9.5a1 1 0 001-1 .9.9 0 000-.4v-.5l.4.4a.7.7 0 000 .1c0 .6.5 1 1 1 .6 0 1-.3 1.1-.9v-.3l.2.3c.2.4.6.7 1 .7.7 0 1.1-.4 1.1-1a1 1 0 000-.3h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134.7 210.7h.2a1 1 0 000 .4c0 .6.4 1 1 1a1 1 0 001-.7l.2-.3v.4c.1.5.6.8 1.1.8.6 0 1-.4 1-1v-.1l.4-.4.2.5a.9.9 0 00-.1.4 1 1 0 001 1c.4 0 .7-.2.9-.5l.2-.2v.3c0 .3.1.6.4.7 0 0 .4 0 1-.4l.7-.7v.4s-.5.8-1 1c-.2.2-.5.4-.8.3-.3 0-.6-.3-.7-.6-.2.2-.4.2-.7.2-.6 0-1.2-.3-1.4-.8-.3.3-.7.5-1.1.5a1.6 1.6 0 01-1.2-.6 1.6 1.6 0 01-1 .4 1.6 1.6 0 01-1.3-.6 1.6 1.6 0 01-2.4.2 1.6 1.6 0 01-1.2.6 1.5 1.5 0 01-1.1-.5c-.2.5-.8.8-1.4.8-.2 0-.5 0-.7-.2-.1.3-.4.6-.7.6-.3 0-.6 0-.9-.2l-1-1 .1-.5.8.7c.5.4.9.4.9.4.3 0 .4-.4.4-.7v-.3l.2.2c.2.3.5.5.9.5a1 1 0 001-1 .9.9 0 000-.4v-.5l.4.4a.7.7 0 000 .1c0 .6.5 1 1 1 .6 0 1-.3 1.1-.9v-.3l.2.3c.2.4.6.7 1 .7.7 0 1.1-.4 1.1-1a1 1 0 000-.3h.3z"/>
+  <path fill="#c8b100" d="M134.6 213.3c-2.9 0-5.5.4-7.3 1l-.3-.2.1-.3a27 27 0 017.5-1c3 0 5.7.4 7.6 1 0 0 .2.2.1.3l-.3.2a27.3 27.3 0 00-7.4-1"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M134.6 213.3c-2.9 0-5.5.4-7.3 1l-.3-.2.1-.3a27 27 0 017.5-1c3 0 5.7.4 7.6 1 0 0 .2.2.1.3l-.3.2a27.3 27.3 0 00-7.4-1z"/>
+  <path fill="#fff" d="M131.8 214.4c0-.3.2-.4.5-.4a.4.4 0 01.4.4c0 .2-.2.4-.4.4a.4.4 0 01-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M131.8 214.4c0-.3.2-.4.5-.4a.4.4 0 01.4.4c0 .2-.2.4-.4.4a.4.4 0 01-.5-.4z"/>
+  <path fill="#ad1519" d="M134.7 214.5h-1c-.1 0-.3 0-.3-.3l.3-.3h2a.3.3 0 01.2.3.3.3 0 01-.3.3h-1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134.7 214.5h-1c-.1 0-.3 0-.3-.3l.3-.3h2a.3.3 0 01.2.3.3.3 0 01-.3.3h-1"/>
+  <path fill="#058e6e" d="M130 214.9h-.7c-.1 0-.3 0-.3-.2a.3.3 0 01.2-.3l.7-.1.7-.1c.2 0 .3 0 .4.2a.3.3 0 01-.3.4h-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M130 214.9h-.7c-.1 0-.3 0-.3-.2a.3.3 0 01.2-.3l.7-.1.7-.1c.2 0 .3 0 .4.2a.3.3 0 01-.3.4h-.7"/>
+  <path fill="#ad1519" d="M127.3 215.3l.3-.4h.7l-.4.6-.6-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M127.3 215.3l.3-.4h.7l-.4.6-.6-.2"/>
+  <path fill="#fff" d="M136.6 214.4c0-.3.2-.4.4-.4a.4.4 0 01.5.4.4.4 0 01-.5.4.4.4 0 01-.4-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M136.6 214.4c0-.3.2-.4.4-.4a.4.4 0 01.5.4.4.4 0 01-.5.4.4.4 0 01-.4-.4z"/>
+  <path fill="#058e6e" d="M139.3 214.9h.6a.3.3 0 00.4-.2.3.3 0 00-.3-.3l-.6-.1-.7-.1c-.2 0-.3 0-.4.2 0 .2.1.3.3.4h.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M139.3 214.9h.6a.3.3 0 00.4-.2.3.3 0 00-.3-.3l-.6-.1-.7-.1c-.2 0-.3 0-.4.2 0 .2.1.3.3.4h.7"/>
+  <path fill="#ad1519" d="M142 215.4l-.3-.5h-.7l.3.6.6-.1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M142 215.4l-.3-.5h-.7l.3.6.6-.1"/>
+  <path fill="#ad1519" d="M134.6 217.1a25 25 0 01-6-.6 25.5 25.5 0 0112.1 0c-1.6.4-3.7.6-6 .6"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M134.6 217.1a25 25 0 01-6-.6 25.5 25.5 0 0112.1 0c-1.6.4-3.7.6-6 .6z"/>
+  <path fill="#c8b100" d="M142 212l-.1-.3c-.2 0-.3 0-.4.2 0 .2 0 .4.2.4 0 0 .2 0 .3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M142 212l-.1-.3c-.2 0-.3 0-.4.2 0 .2 0 .4.2.4 0 0 .2 0 .3-.3z"/>
+  <path fill="#c8b100" d="M137.3 211.2c0-.2 0-.4-.2-.4 0 0-.2.1-.2.3 0 .2 0 .4.2.4l.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M137.3 211.2c0-.2 0-.4-.2-.4 0 0-.2.1-.2.3 0 .2 0 .4.2.4l.3-.3z"/>
+  <path fill="#c8b100" d="M132 211.2l.1-.4c.2 0 .3.1.3.3 0 .2 0 .4-.2.4l-.2-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M132 211.2l.1-.4c.2 0 .3.1.3.3 0 .2 0 .4-.2.4l-.2-.3z"/>
+  <path fill="#c8b100" d="M127.3 212l.1-.3c.2 0 .3 0 .4.2 0 .2 0 .4-.2.4 0 0-.2 0-.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M127.3 212l.1-.3c.2 0 .3 0 .4.2 0 .2 0 .4-.2.4 0 0-.2 0-.3-.3z"/>
+  <path fill="#c8b100" d="M134.6 208.5l-.8.5.6 1.3.2.1.2-.1.7-1.3-.9-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134.6 208.5l-.8.5.6 1.3.2.1.2-.1.7-1.3-.9-.5"/>
+  <path fill="#c8b100" d="M132.8 210.5l.4.5 1.3-.4.1-.2-.1-.2-1.3-.3-.4.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M132.8 210.5l.4.5 1.3-.4.1-.2-.1-.2-1.3-.3-.4.6"/>
+  <path fill="#c8b100" d="M136.4 210.5l-.3.5-1.3-.4-.2-.2.2-.2 1.3-.3.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M136.4 210.5l-.3.5-1.3-.4-.2-.2.2-.2 1.3-.3.3.6"/>
+  <path fill="#c8b100" d="M129.3 209l-.7.7.9 1 .2.1.1-.1.3-1.3-.8-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M129.3 209l-.7.7.9 1 .2.1.1-.1.3-1.3-.8-.3"/>
+  <path fill="#c8b100" d="M128 211.2l.4.5 1.2-.6v-.2l-.1-.2-1.3-.1-.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M128 211.2l.4.5 1.2-.6v-.2l-.1-.2-1.3-.1-.3.6"/>
+  <path fill="#c8b100" d="M131.5 210.5l-.3.6H130l-.2-.2.1-.3 1.2-.6.5.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M131.5 210.5l-.3.6H130l-.2-.2.1-.3 1.2-.6.5.5"/>
+  <path fill="#c8b100" d="M126.6 211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M126.6 211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4"/>
+  <path fill="#c8b100" d="M129.2 210.9c0-.3.2-.5.5-.5s.5.2.5.5a.5.5 0 01-.5.4.5.5 0 01-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M129.2 210.9c0-.3.2-.5.5-.5s.5.2.5.5a.5.5 0 01-.5.4.5.5 0 01-.5-.4z"/>
+  <path fill="#c8b100" d="M140 209l.7.7-.9 1-.2.1-.1-.1-.3-1.3.8-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M140 209l.7.7-.9 1-.2.1-.1-.1-.3-1.3.8-.3"/>
+  <path fill="#c8b100" d="M141.4 211.2l-.5.5-1.2-.6v-.2l.1-.2 1.3-.1.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M141.4 211.2l-.5.5-1.2-.6v-.2l.1-.2 1.3-.1.3.6"/>
+  <path fill="#c8b100" d="M137.8 210.5l.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M137.8 210.5l.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5"/>
+  <path fill="#c8b100" d="M142.5 211.4l.1.6 1.3.2.2-.1v-.2l-1-.9-.6.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M142.5 211.4l.1.6 1.3.2.2-.1v-.2l-1-.9-.6.4"/>
+  <path fill="#c8b100" d="M134.2 210.4a.5.5 0 01.4-.4c.3 0 .5.2.5.4a.5.5 0 01-.5.5.5.5 0 01-.4-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M134.2 210.4a.5.5 0 01.4-.4c.3 0 .5.2.5.4a.5.5 0 01-.5.5.5.5 0 01-.4-.5z"/>
+  <path fill="#c8b100" d="M139.1 210.9c0-.3.3-.5.5-.5a.5.5 0 01.5.5.5.5 0 01-.5.4.5.5 0 01-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M139.1 210.9c0-.3.3-.5.5-.5a.5.5 0 01.5.5.5.5 0 01-.5.4.5.5 0 01-.5-.4z"/>
+  <path fill="#c8b100" d="M124.8 212.2l-.6-.7c-.2-.2-.7-.3-.7-.3 0-.1.3-.3.6-.3a.5.5 0 01.4.2v-.2s.3 0 .4.3v1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M124.8 212.2l-.6-.7c-.2-.2-.7-.3-.7-.3 0-.1.3-.3.6-.3a.5.5 0 01.4.2v-.2s.3 0 .4.3v1z"/>
+  <path fill="#c8b100" d="M124.8 212c.1-.2.4-.2.5 0 .2.1.3.3.2.5l-.5-.1c-.2-.1-.3-.4-.2-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M124.8 212c.1-.2.4-.2.5 0 .2.1.3.3.2.5l-.5-.1c-.2-.1-.3-.4-.2-.5z"/>
+  <path fill="#c8b100" d="M144.3 212.2l.6-.7c.2-.2.7-.3.7-.3 0-.1-.3-.3-.6-.3a.6.6 0 00-.4.2v-.2s-.3 0-.4.3v.7l.1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M144.3 212.2l.6-.7c.2-.2.7-.3.7-.3 0-.1-.3-.3-.6-.3a.6.6 0 00-.4.2v-.2s-.3 0-.4.3v.7l.1.3z"/>
+  <path fill="#c8b100" d="M144.3 212c0-.2-.3-.2-.5 0-.2.1-.2.3-.1.5l.5-.1c.2-.1.2-.4.1-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M144.3 212c0-.2-.3-.2-.5 0-.2.1-.2.3-.1.5l.5-.1c.2-.1.2-.4.1-.5z"/>
+  <path fill="#c8b100" d="M124 223h21.4v-5.5H124v5.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M124 223h21.4v-5.5H124v5.6z"/>
+  <path fill="#c8b100" d="M126.2 226.8a1 1 0 01.4 0h16.5a1.4 1.4 0 01-1-1.2c0-.6.5-1.1 1-1.3a1.7 1.7 0 01-.4 0h-16a1.4 1.4 0 01-.5 0c.6.2 1 .7 1 1.3a1.3 1.3 0 01-1 1.2"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M126.2 226.8a1 1 0 01.4 0h16.5a1.4 1.4 0 01-1-1.2c0-.6.5-1.1 1-1.3a1.7 1.7 0 01-.4 0h-16a1.4 1.4 0 01-.5 0c.6.2 1 .7 1 1.3a1.3 1.3 0 01-1 1.2z"/>
+  <path fill="#c8b100" d="M126.6 226.8h16c.6 0 1 .3 1 .7 0 .4-.4.8-1 .8h-16c-.5 0-1-.4-1-.8s.5-.8 1-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M126.6 226.8h16c.6 0 1 .3 1 .7 0 .4-.4.8-1 .8h-16c-.5 0-1-.4-1-.8s.5-.8 1-.8z"/>
+  <path fill="#c8b100" d="M126.6 223h16c.6 0 1 .4 1 .7 0 .4-.4.6-1 .6h-16c-.5 0-1-.2-1-.6 0-.3.5-.6 1-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M126.6 223h16c.6 0 1 .4 1 .7 0 .4-.4.6-1 .6h-16c-.5 0-1-.2-1-.6 0-.3.5-.6 1-.6z"/>
+  <path fill="#005bbf" d="M149.6 317.4c-1.4 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.8-.8c-1.4 0-2.7.3-3.7.8a8.3 8.3 0 01-3.8.8c-1.5 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.7-.8 8 8 0 00-3.7.8 8.3 8.3 0 01-3.8.8v2.4c1.5 0 2.8-.4 3.8-.9a8.2 8.2 0 013.7-.8c1.4 0 2.7.3 3.7.8s2.2.9 3.7.9a8.4 8.4 0 003.8-.9c1-.5 2.3-.8 3.7-.8 1.5 0 2.8.3 3.8.8s2.2.9 3.7.9v-2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 317.4c-1.4 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.8-.8c-1.4 0-2.7.3-3.7.8a8.3 8.3 0 01-3.8.8c-1.5 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.7-.8 8 8 0 00-3.7.8 8.3 8.3 0 01-3.8.8v2.4c1.5 0 2.8-.4 3.8-.9a8.2 8.2 0 013.7-.8c1.4 0 2.7.3 3.7.8s2.2.9 3.7.9a8.4 8.4 0 003.8-.9c1-.5 2.3-.8 3.7-.8 1.5 0 2.8.3 3.8.8s2.2.9 3.7.9v-2.4z"/>
+  <path fill="#ccc" d="M149.6 319.8a8 8 0 01-3.7-.9 8.3 8.3 0 00-3.8-.8c-1.4 0-2.7.3-3.7.8s-2.3.9-3.8.9-2.8-.4-3.7-.9a8.4 8.4 0 00-3.7-.8 8.2 8.2 0 00-3.7.8c-1 .5-2.3.9-3.8.9v2.3c1.5 0 2.8-.4 3.8-.9a8.1 8.1 0 013.7-.7c1.4 0 2.7.2 3.7.7a8.3 8.3 0 007.5 0 8.5 8.5 0 017.5.1 8.1 8.1 0 003.7.8v-2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 319.8a8 8 0 01-3.7-.9 8.3 8.3 0 00-3.8-.8c-1.4 0-2.7.3-3.7.8s-2.3.9-3.8.9-2.8-.4-3.7-.9a8.4 8.4 0 00-3.7-.8 8.2 8.2 0 00-3.7.8c-1 .5-2.3.9-3.8.9v2.3c1.5 0 2.8-.4 3.8-.9a8.1 8.1 0 013.7-.7c1.4 0 2.7.2 3.7.7a8.3 8.3 0 007.5 0 8.5 8.5 0 017.5.1 8.1 8.1 0 003.7.8v-2.3"/>
+  <path fill="#005bbf" d="M149.6 322a7 7 0 01-3.7-.8 8.3 8.3 0 00-3.8-.7c-1.4 0-2.7.2-3.7.7-1 .6-2.3.9-3.8.9s-2.8-.4-3.7-.9a8.4 8.4 0 00-3.7-.8 8 8 0 00-3.7.8c-1 .5-2.3.9-3.8.9v2.3c1.5 0 2.8-.3 3.8-.9a10.2 10.2 0 017.4 0 7 7 0 003.7.9 8.4 8.4 0 003.8-.8c1-.5 2.3-.8 3.7-.8 1.5 0 2.8.3 3.8.8s2.2.8 3.7.8V322"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 322a7 7 0 01-3.7-.8 8.3 8.3 0 00-3.8-.7c-1.4 0-2.7.2-3.7.7-1 .6-2.3.9-3.8.9s-2.8-.4-3.7-.9a8.4 8.4 0 00-3.7-.8 8 8 0 00-3.7.8c-1 .5-2.3.9-3.8.9v2.3c1.5 0 2.8-.3 3.8-.9a10.2 10.2 0 017.4 0 7 7 0 003.7.9 8.4 8.4 0 003.8-.8c1-.5 2.3-.8 3.7-.8 1.5 0 2.8.3 3.8.8s2.2.8 3.7.8V322"/>
+  <path fill="#ccc" d="M149.6 326.7a8 8 0 01-3.7-.8c-1-.5-2.3-.8-3.7-.8a8.4 8.4 0 00-3.8.8c-1 .5-2.3.8-3.8.8a7 7 0 01-3.7-.9 8.4 8.4 0 00-3.7-.7c-1.4 0-2.7.3-3.7.8s-2.3.8-3.8.8v-2.3a8.3 8.3 0 003.8-.9 10.2 10.2 0 017.4 0 8 8 0 003.7.9 8.4 8.4 0 003.8-.8c1-.5 2.3-.8 3.8-.8 1.4 0 2.7.3 3.7.8s2.3.8 3.7.8v2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 326.7a8 8 0 01-3.7-.8c-1-.5-2.3-.8-3.7-.8a8.4 8.4 0 00-3.8.8c-1 .5-2.3.8-3.8.8a7 7 0 01-3.7-.9 8.4 8.4 0 00-3.7-.7c-1.4 0-2.7.3-3.7.8s-2.3.8-3.8.8v-2.3a8.3 8.3 0 003.8-.9 10.2 10.2 0 017.4 0 8 8 0 003.7.9 8.4 8.4 0 003.8-.8c1-.5 2.3-.8 3.8-.8 1.4 0 2.7.3 3.7.8s2.3.8 3.7.8v2.3"/>
+  <path fill="#005bbf" d="M149.6 329a8.1 8.1 0 01-3.7-.8c-1-.5-2.3-.8-3.7-.8a8.4 8.4 0 00-3.8.8c-1 .5-2.3.8-3.8.8a7 7 0 01-3.7-.9 8.4 8.4 0 00-3.7-.7c-1.4 0-2.7.3-3.7.8s-2.3.8-3.8.8v-2.3a8.3 8.3 0 003.8-.8c1-.5 2.3-.8 3.7-.8 1.4 0 2.7.3 3.7.7a8.4 8.4 0 007.5 0c1-.4 2.3-.7 3.8-.7 1.4 0 2.7.3 3.7.8s2.2.8 3.7.8v2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M149.6 329a8.1 8.1 0 01-3.7-.8c-1-.5-2.3-.8-3.7-.8a8.4 8.4 0 00-3.8.8c-1 .5-2.3.8-3.8.8a7 7 0 01-3.7-.9 8.4 8.4 0 00-3.7-.7c-1.4 0-2.7.3-3.7.8s-2.3.8-3.8.8v-2.3a8.3 8.3 0 003.8-.8c1-.5 2.3-.8 3.7-.8 1.4 0 2.7.3 3.7.7a8.4 8.4 0 007.5 0c1-.4 2.3-.7 3.8-.7 1.4 0 2.7.3 3.7.8s2.2.8 3.7.8v2.3z"/>
+  <path fill="#c8b100" d="M126.2 308l.2.5c0 1.5-1.3 2.6-2.7 2.6h22a2.7 2.7 0 01-2.7-2.6v-.5a1.3 1.3 0 01-.3 0h-16a1.4 1.4 0 01-.5 0"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M126.2 308l.2.5c0 1.5-1.3 2.6-2.7 2.6h22a2.7 2.7 0 01-2.7-2.6v-.5a1.3 1.3 0 01-.3 0h-16a1.4 1.4 0 01-.5 0z"/>
+  <path fill="#c8b100" d="M126.6 306.5h16c.6 0 1 .3 1 .8 0 .4-.4.7-1 .7h-16c-.5 0-1-.3-1-.8 0-.4.5-.7 1-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M126.6 306.5h16c.6 0 1 .3 1 .8 0 .4-.4.7-1 .7h-16c-.5 0-1-.3-1-.8 0-.4.5-.7 1-.7z"/>
+  <path fill="#c8b100" d="M123.7 316.7h22V311h-22v5.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M123.7 316.7h22V311h-22v5.6z"/>
+  <path fill="#ad1519" d="M122 286.7c-2.2 1.2-3.7 2.5-3.4 3.2 0 .6.8 1 1.8 1.6 1.5 1.1 2.5 3 1.7 4a5.5 5.5 0 00-.1-8.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M122 286.7c-2.2 1.2-3.7 2.5-3.4 3.2 0 .6.8 1 1.8 1.6 1.5 1.1 2.5 3 1.7 4a5.5 5.5 0 00-.1-8.8z"/>
+  <path fill="#ccc" d="M126.8 305.6h15.6V229h-15.6v76.5z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M138 229.2v76.3m1.7-76.3v76.3m-12.9 0h15.6v-76.4h-15.6v76.5z"/>
+  <path fill="#ad1519" d="M158.4 257.7a49.6 49.6 0 00-23.3-2c-9.4 1.6-16.5 5.3-15.9 8.4v.2l-3.5-8.2c-.6-3.3 7.2-7.5 17.6-9.2a43 43 0 019.2-.7c6.6 0 12.4.8 15.8 2.1v9.4"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M158.4 257.7a49.6 49.6 0 00-23.3-2c-9.4 1.6-16.5 5.3-15.9 8.4v.2l-3.5-8.2c-.6-3.3 7.2-7.5 17.6-9.2a43 43 0 019.2-.7c6.6 0 12.4.8 15.8 2.1v9.4"/>
+  <path fill="#ad1519" d="M126.8 267.3c-4.3-.3-7.3-1.4-7.6-3.2-.3-1.5 1.2-3 3.8-4.5 1.2.1 2.5.3 3.8.3v7.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M126.8 267.3c-4.3-.3-7.3-1.4-7.6-3.2-.3-1.5 1.2-3 3.8-4.5 1.2.1 2.5.3 3.8.3v7.4"/>
+  <path fill="#ad1519" d="M142.5 261.5c2.7.4 4.7 1 5.7 1.9l.1.2c.5 1-1.9 3-5.9 5.4v-7.5"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M142.5 261.5c2.7.4 4.7 1 5.7 1.9l.1.2c.5 1-1.9 3-5.9 5.4v-7.5"/>
+  <path fill="#ad1519" d="M117.1 282c-.4-1.2 3.8-3.6 9.8-5.8l7.8-3.2c8.3-3.7 14.4-7.9 13.6-9.4v-.2c.4.4 1 8 1 8 .8 1.3-4.8 5.5-12.4 9.1-2.5 1.2-7.6 3-10 4-4.4 1.4-8.7 4.3-8.3 5.3l-1.5-7.7"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M117.1 282c-.4-1.2 3.8-3.6 9.8-5.8l7.8-3.2c8.3-3.7 14.4-7.9 13.6-9.4v-.2c.4.4 1 8 1 8 .8 1.3-4.8 5.5-12.4 9.1-2.5 1.2-7.6 3-10 4-4.4 1.4-8.7 4.3-8.3 5.3l-1.5-7.7z"/>
+  <path fill="#c8b100" d="M125.8 254c1.9-.6 3.1-1.5 2.5-3-.4-1-1.4-1-2.8-.6l-2.6 1 2.3 5.8.8-.3.8-.3-1-2.5zm-1.2-2.7l.7-.3c.5-.2 1.2.1 1.4.8.2.5.2 1-.5 1.5a4.4 4.4 0 01-.6.3l-1-2.3m7.3-2.5l-.9.3h-.8l1.3 6.1 4.3-.8-.2-.4v-.4l-2.5.6-1.2-5.3m8.4 5.2c.8-2.2 1.7-4.3 2.7-6.4a5.3 5.3 0 01-1 0 54.8 54.8 0 01-1.8 4.6l-2.4-4.3-1 .1h-1a131.4 131.4 0 013.5 6h1m8.8-4.7l.4-.9a3.4 3.4 0 00-1.7-.6c-1.7-.1-2.7.6-2.8 1.7-.2 2.1 3.2 2 3 3.4 0 .6-.7.9-1.4.8-.8 0-1.4-.5-1.4-1.2h-.3a7.3 7.3 0 01-.4 1.1 4 4 0 001.8.6c1.7.2 3-.5 3.2-1.7.2-2-3.3-2.1-3.1-3.4 0-.5.4-.8 1.3-.7.7 0 1 .4 1.2.9h.2"/>
+  <path fill="#ad1519" d="M277.9 211.6s-.7.8-1.3.9c-.5 0-1.1-.5-1.1-.5s-.5.5-1 .6c-.6.1-1.4-.6-1.4-.6l-1 1c-.6 0-1.1-.3-1.1-.3s-.3.4-.7.6h-.4l-.6-.4-.7-.7-.5-.3-.4-1v-.5c-.1-.6.8-1.4 2.2-1.7a3.9 3.9 0 012 0c.5-.5 1.7-.8 3-.8s2.4.3 3 .7a5.5 5.5 0 012.9-.7c1.3 0 2.5.3 3 .8.5-.2 1.2-.2 2 0 1.4.3 2.3 1 2.2 1.7v.5l-.4 1-.6.3-.6.7-.6.3s-.3.2-.4 0c-.4-.1-.7-.5-.7-.5s-.6.4-1 .2c-.5-.2-1-1-1-1s-.9.8-1.4.7c-.6-.1-1-.6-1-.6s-.7.6-1.2.5c-.5-.1-1.2-.9-1.2-.9"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.9 211.6s-.7.8-1.3.9c-.5 0-1.1-.5-1.1-.5s-.5.5-1 .6c-.6.1-1.4-.6-1.4-.6l-1 1c-.6 0-1.1-.3-1.1-.3s-.3.4-.7.6h-.4l-.6-.4-.7-.7-.5-.3-.4-1v-.5c-.1-.6.8-1.4 2.2-1.7a3.9 3.9 0 012 0c.5-.5 1.7-.8 3-.8s2.4.3 3 .7a5.5 5.5 0 012.9-.7c1.3 0 2.5.3 3 .8.5-.2 1.2-.2 2 0 1.4.3 2.3 1 2.2 1.7v.5l-.4 1-.6.3-.6.7-.6.3s-.3.2-.4 0c-.4-.1-.7-.5-.7-.5s-.6.4-1 .2c-.5-.2-1-1-1-1s-.9.8-1.4.7c-.6-.1-1-.6-1-.6s-.7.6-1.2.5c-.5-.1-1.2-.9-1.2-.9z"/>
+  <path fill="#c8b100" d="M276.5 207.6c0-1 .6-2 1.3-2 .8 0 1.3 1 1.3 2s-.5 1.8-1.3 1.8c-.7 0-1.3-.8-1.3-1.9"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M276.5 207.6c0-1 .6-2 1.3-2 .8 0 1.3 1 1.3 2s-.5 1.8-1.3 1.8c-.7 0-1.3-.8-1.3-1.9z"/>
+  <path fill="#c8b100" d="M277.3 207.6c0-1 .2-1.8.5-1.8.4 0 .7.8.7 1.8s-.3 1.7-.6 1.7c-.4 0-.6-.8-.6-1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.3 207.6c0-1 .2-1.8.5-1.8.4 0 .7.8.7 1.8s-.3 1.7-.6 1.7c-.4 0-.6-.8-.6-1.8z"/>
+  <path fill="#c8b100" d="M271 215.3a4.5 4.5 0 00-.5-1 27.4 27.4 0 0114.8 0l-.6.8a5.2 5.2 0 00-.3.8 22.9 22.9 0 00-6.6-.8c-2.6 0-5.2.3-6.6.8l-.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M271 215.3a4.5 4.5 0 00-.5-1 27.4 27.4 0 0114.8 0l-.6.8a5.2 5.2 0 00-.3.8 22.9 22.9 0 00-6.6-.8c-2.6 0-5.2.3-6.6.8l-.2-.6"/>
+  <path fill="#c8b100" d="M277.8 217.7c2.4 0 5-.4 5.9-.6.6-.2 1-.5 1-.8 0-.2-.2-.3-.4-.4a24.1 24.1 0 00-6.5-.8c-2.5 0-5 .3-6.4.8-.2 0-.3.2-.4.3 0 .4.3.7 1 .9 1 .2 3.5.6 5.8.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.8 217.7c2.4 0 5-.4 5.9-.6.6-.2 1-.5 1-.8 0-.2-.2-.3-.4-.4a24.1 24.1 0 00-6.5-.8c-2.5 0-5 .3-6.4.8-.2 0-.3.2-.4.3 0 .4.3.7 1 .9 1 .2 3.5.6 5.8.6z"/>
+  <path fill="#fff" d="M283.5 208.4c0-.2.2-.4.4-.4s.5.2.5.4-.2.4-.5.4a.4.4 0 01-.4-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M283.5 208.4c0-.2.2-.4.4-.4s.5.2.5.4-.2.4-.5.4a.4.4 0 01-.4-.4zm-.2-1.4a.4.4 0 01.4-.4c.2 0 .4.1.4.4s-.2.4-.4.4a.4.4 0 01-.4-.4zm-1.1-1c0-.2.2-.3.4-.3s.4.1.4.4c0 .2-.2.4-.4.4a.4.4 0 01-.4-.5zm-1.4-.4c0-.2.2-.4.4-.4.3 0 .5.2.5.4s-.2.4-.4.4-.5-.2-.5-.4zm-1.4 0c0-.2.2-.3.5-.3s.4.1.4.4c0 .2-.2.4-.4.4a.4.4 0 01-.5-.4z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".3" d="M287.8 211.2l.2-1a2.7 2.7 0 00-2.7-2.8c-.5 0-1 .1-1.3.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M283 209.2l.2-.8c0-1.1-1.1-2-2.5-2-.6 0-1.2.2-1.6.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M288.2 210c0-.3.2-.5.4-.5s.4.2.4.4c0 .3-.2.4-.4.4s-.4-.1-.4-.4zm-.2-1.6c0-.2.2-.4.4-.4a.4.4 0 01.5.4c0 .2-.2.4-.4.4-.3 0-.5-.2-.5-.4zm-1-1.1a.4.4 0 01.5-.4c.2 0 .4.1.4.4a.4.4 0 01-.4.4.4.4 0 01-.5-.4zm-1.3-.7c0-.2.2-.4.5-.4s.4.2.4.4c0 .3-.2.5-.4.5a.4.4 0 01-.5-.5zm-1.4.1c0-.2.2-.4.5-.4s.4.2.4.4-.2.4-.4.4-.5-.2-.5-.4z"/>
+  <path fill="#c8b100" d="M285.3 213.2l-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7c-.7 0-1-.6-1-.6s-.7.5-1.3.4c-.6 0-1.2-.8-1.2-.8s-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.3.6-1.1.7-1.4-.6-1.4-.6-.4.7-1 1c-.5 0-1.2-.4-1.2-.4l-.1.5-.3.1.1.5a27 27 0 017.3-.9c2.8 0 5.4.4 7.3 1l.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M285.3 213.2l-.5-.5s-.6.3-1.3.2c-.6 0-.9-1-.9-1s-.7.7-1.3.7c-.7 0-1-.6-1-.6s-.7.5-1.3.4c-.6 0-1.2-.8-1.2-.8s-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.3.6-1.1.7-1.4-.6-1.4-.6-.4.7-1 1c-.5 0-1.2-.4-1.2-.4l-.1.5-.3.1.1.5a27 27 0 017.3-.9c2.8 0 5.4.4 7.3 1l.2-.6z"/>
+  <path fill="#fff" d="M271.3 208.4c0-.2.2-.4.4-.4s.4.2.4.4a.4.4 0 01-.4.4.4.4 0 01-.4-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M271.3 208.4c0-.2.2-.4.4-.4s.4.2.4.4a.4.4 0 01-.4.4.4.4 0 01-.4-.4zm.2-1.4c0-.3.2-.4.4-.4s.5.1.5.4-.2.4-.5.4a.4.4 0 01-.4-.4zm1-1c0-.2.3-.3.5-.3s.5.1.5.4c0 .2-.2.4-.5.4a.4.4 0 01-.4-.5zm1.4-.4c0-.2.2-.4.5-.4s.4.2.4.4-.2.4-.4.4-.5-.2-.5-.4zm1.4 0c0-.2.2-.3.5-.3.2 0 .4.1.4.4 0 .2-.2.4-.4.4a.4.4 0 01-.5-.4z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".3" d="M267.8 211.2a2.8 2.8 0 01-.2-1 2.7 2.7 0 012.7-2.8c.5 0 1 .1 1.4.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M272.7 209.2a1.7 1.7 0 01-.3-.8c0-1 1.2-2 2.6-2a3 3 0 011.5.4"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M266.6 210c0-.3.2-.5.4-.5.3 0 .4.2.4.4a.4.4 0 01-.4.4c-.2 0-.4-.1-.4-.4zm.1-1.6c0-.2.3-.4.5-.4s.4.2.4.4-.2.4-.4.4-.4-.2-.4-.4zm1-1.1c0-.3.2-.4.5-.4a.4.4 0 01.4.4.4.4 0 01-.4.4.4.4 0 01-.5-.4zm1.3-.7c0-.2.2-.4.5-.4.2 0 .4.2.4.4 0 .3-.2.5-.4.5a.4.4 0 01-.5-.5zm1.4.1c0-.2.2-.4.5-.4a.4.4 0 01.4.4.4.4 0 01-.4.4c-.3 0-.5-.2-.5-.4z"/>
+  <path fill="#c8b100" d="M277.9 210.7h.2a1 1 0 000 .4c0 .6.5 1 1 1a1 1 0 001-.7l.2-.3v.4c.1.5.6.8 1.1.8.6 0 1-.4 1-1a.7.7 0 000-.1l.4-.4.2.5a1 1 0 00-.1.4 1 1 0 001 1c.4 0 .7-.2.9-.5l.2-.2v.3c0 .3.1.6.4.7 0 0 .4 0 1-.4s.7-.7.7-.7v.4s-.5.8-1 1c-.2.2-.5.4-.8.3-.3 0-.6-.3-.7-.6a1.5 1.5 0 01-.7.2c-.6 0-1.2-.3-1.4-.8a1.5 1.5 0 01-1.1.5c-.5 0-1-.2-1.2-.6a1.5 1.5 0 01-1 .4c-.6 0-1-.2-1.4-.6-.2.4-.7.6-1.2.6-.4 0-.8-.1-1-.4a1.6 1.6 0 01-1.3.6c-.4 0-.8-.2-1.1-.5-.2.5-.8.8-1.4.8-.2 0-.5 0-.7-.2-.1.3-.4.6-.7.6-.3 0-.6 0-.9-.2a4.2 4.2 0 01-1-1l.1-.5.8.7c.5.4.9.4.9.4.3 0 .4-.4.4-.7v-.3l.2.2c.2.3.5.5.9.5a1 1 0 001-1 1 1 0 000-.4v-.5l.4.4v.1c0 .6.5 1 1 1 .6 0 1-.3 1.1-.9v-.3l.2.3c.2.4.6.7 1 .7.6 0 1.1-.4 1.1-1a1 1 0 000-.3h.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.9 210.7h.2a1 1 0 000 .4c0 .6.5 1 1 1a1 1 0 001-.7l.2-.3v.4c.1.5.6.8 1.1.8.6 0 1-.4 1-1a.7.7 0 000-.1l.4-.4.2.5a1 1 0 00-.1.4 1 1 0 001 1c.4 0 .7-.2.9-.5l.2-.2v.3c0 .3.1.6.4.7 0 0 .4 0 1-.4s.7-.7.7-.7v.4s-.5.8-1 1c-.2.2-.5.4-.8.3-.3 0-.6-.3-.7-.6a1.5 1.5 0 01-.7.2c-.6 0-1.2-.3-1.4-.8a1.5 1.5 0 01-1.1.5c-.5 0-1-.2-1.2-.6a1.5 1.5 0 01-1 .4c-.6 0-1-.2-1.4-.6-.2.4-.7.6-1.2.6-.4 0-.8-.1-1-.4a1.6 1.6 0 01-1.3.6c-.4 0-.8-.2-1.1-.5-.2.5-.8.8-1.4.8-.2 0-.5 0-.7-.2-.1.3-.4.6-.7.6-.3 0-.6 0-.9-.2a4.2 4.2 0 01-1-1l.1-.5.8.7c.5.4.9.4.9.4.3 0 .4-.4.4-.7v-.3l.2.2c.2.3.5.5.9.5a1 1 0 001-1 1 1 0 000-.4v-.5l.4.4v.1c0 .6.5 1 1 1 .6 0 1-.3 1.1-.9v-.3l.2.3c.2.4.6.7 1 .7.6 0 1.1-.4 1.1-1a1 1 0 000-.3h.2z"/>
+  <path fill="#c8b100" d="M277.8 213.3c-2.9 0-5.5.4-7.3 1l-.3-.2.1-.3c2-.6 4.6-1 7.5-1 3 0 5.7.4 7.6 1 0 0 .2.2.1.3l-.3.2a27 27 0 00-7.4-1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.8 213.3c-2.9 0-5.5.4-7.3 1l-.3-.2.1-.3c2-.6 4.6-1 7.5-1 3 0 5.7.4 7.6 1 0 0 .2.2.1.3l-.3.2a27 27 0 00-7.4-1z"/>
+  <path fill="#fff" d="M275 214.4c0-.3.2-.4.5-.4a.4.4 0 01.4.4.4.4 0 01-.4.4c-.3 0-.5-.2-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M275 214.4c0-.3.2-.4.5-.4a.4.4 0 01.4.4.4.4 0 01-.4.4c-.3 0-.5-.2-.5-.4z"/>
+  <path fill="#ad1519" d="M277.9 214.5h-1c-.1 0-.3 0-.3-.3l.3-.3h2a.3.3 0 01.2.3.3.3 0 01-.3.3h-1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.9 214.5h-1c-.1 0-.3 0-.3-.3l.3-.3h2a.3.3 0 01.2.3.3.3 0 01-.3.3h-1"/>
+  <path fill="#058e6e" d="M273.2 214.9h-.6a.3.3 0 01-.4-.2.3.3 0 01.3-.3l.6-.1.7-.1c.2 0 .3 0 .4.2a.3.3 0 01-.3.4h-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M273.2 214.9h-.6a.3.3 0 01-.4-.2.3.3 0 01.3-.3l.6-.1.7-.1c.2 0 .3 0 .4.2a.3.3 0 01-.3.4h-.7"/>
+  <path fill="#ad1519" d="M270.5 215.3l.3-.4h.7l-.4.6-.6-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M270.5 215.3l.3-.4h.7l-.4.6-.6-.2"/>
+  <path fill="#fff" d="M279.8 214.4c0-.3.2-.4.4-.4.3 0 .5.1.5.4 0 .2-.2.4-.5.4a.4.4 0 01-.4-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M279.8 214.4c0-.3.2-.4.4-.4.3 0 .5.1.5.4 0 .2-.2.4-.5.4a.4.4 0 01-.4-.4z"/>
+  <path fill="#058e6e" d="M282.5 214.9h.7a.3.3 0 00.3-.2.3.3 0 00-.2-.3l-.7-.1-.7-.1c-.2 0-.3 0-.4.2 0 .2.1.3.3.4h.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M282.5 214.9h.7a.3.3 0 00.3-.2.3.3 0 00-.2-.3l-.7-.1-.7-.1c-.2 0-.3 0-.4.2 0 .2.1.3.3.4h.7"/>
+  <path fill="#ad1519" d="M285.1 215.4l-.2-.5h-.7l.3.6.6-.1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M285.1 215.4l-.2-.5h-.7l.3.6.6-.1"/>
+  <path fill="#ad1519" d="M277.8 217.1a25 25 0 01-6-.6 25.4 25.4 0 016-.7c2.4 0 4.5.3 6.1.7-1.6.4-3.7.6-6 .6"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M277.8 217.1a25 25 0 01-6-.6 25.4 25.4 0 016-.7c2.4 0 4.5.3 6.1.7-1.6.4-3.7.6-6 .6z"/>
+  <path fill="#c8b100" d="M285.2 212l-.1-.3c-.2 0-.3 0-.4.2l.1.4c.2 0 .3 0 .4-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M285.2 212l-.1-.3c-.2 0-.3 0-.4.2l.1.4c.2 0 .3 0 .4-.3z"/>
+  <path fill="#c8b100" d="M280.6 211.2c0-.2-.1-.4-.3-.4 0 0-.2.1-.2.3 0 .2 0 .4.2.4l.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M280.6 211.2c0-.2-.1-.4-.3-.4 0 0-.2.1-.2.3 0 .2 0 .4.2.4l.3-.3z"/>
+  <path fill="#c8b100" d="M275.2 211.2c0-.2 0-.4.2-.4l.3.3-.2.4c-.2 0-.3-.2-.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M275.2 211.2c0-.2 0-.4.2-.4l.3.3-.2.4c-.2 0-.3-.2-.3-.3z"/>
+  <path fill="#c8b100" d="M270.5 212l.1-.3c.2 0 .3 0 .4.2l-.1.4c-.2 0-.3 0-.4-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M270.5 212l.1-.3c.2 0 .3 0 .4.2l-.1.4c-.2 0-.3 0-.4-.3z"/>
+  <path fill="#c8b100" d="M277.8 208.5l-.8.5.6 1.3.2.1.3-.1.6-1.3-.9-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.8 208.5l-.8.5.6 1.3.2.1.3-.1.6-1.3-.9-.5"/>
+  <path fill="#c8b100" d="M276 210.5l.4.5 1.3-.4.1-.2-.1-.2-1.3-.3-.4.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M276 210.5l.4.5 1.3-.4.1-.2-.1-.2-1.3-.3-.4.6"/>
+  <path fill="#c8b100" d="M279.6 210.5l-.3.5-1.3-.4-.1-.2v-.2l1.4-.3.4.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M279.6 210.5l-.3.5-1.3-.4-.1-.2v-.2l1.4-.3.4.6"/>
+  <path fill="#c8b100" d="M272.5 209l-.7.7.9 1 .2.1.2-.1.2-1.3-.8-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M272.5 209l-.7.7.9 1 .2.1.2-.1.2-1.3-.8-.3"/>
+  <path fill="#c8b100" d="M271.1 211.2l.5.5 1.2-.6v-.2l-.1-.2-1.3-.1-.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M271.1 211.2l.5.5 1.2-.6v-.2l-.1-.2-1.3-.1-.3.6"/>
+  <path fill="#c8b100" d="M274.7 210.5l-.3.6h-1.3l-.2-.2.1-.3 1.2-.6.5.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M274.7 210.5l-.3.6h-1.3l-.2-.2.1-.3 1.2-.6.5.5"/>
+  <path fill="#c8b100" d="M269.8 211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M269.8 211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4"/>
+  <path fill="#c8b100" d="M272.4 210.9c0-.3.2-.5.5-.5a.5.5 0 01.5.5.5.5 0 01-.5.4.5.5 0 01-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M272.4 210.9c0-.3.2-.5.5-.5a.5.5 0 01.5.5.5.5 0 01-.5.4.5.5 0 01-.5-.4z"/>
+  <path fill="#c8b100" d="M283.2 209l.7.7-.9 1-.2.1-.1-.1-.3-1.3.8-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M283.2 209l.7.7-.9 1-.2.1-.1-.1-.3-1.3.8-.3"/>
+  <path fill="#c8b100" d="M284.6 211.2l-.5.5-1.2-.6v-.2l.1-.2 1.3-.1.3.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M284.6 211.2l-.5.5-1.2-.6v-.2l.1-.2 1.3-.1.3.6"/>
+  <path fill="#c8b100" d="M281 210.5l.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M281 210.5l.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5"/>
+  <path fill="#c8b100" d="M285.7 211.4v.6l1.4.2.2-.1v-.2l-1-.9-.6.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M285.7 211.4v.6l1.4.2.2-.1v-.2l-1-.9-.6.4"/>
+  <path fill="#c8b100" d="M277.4 210.4c0-.2.2-.4.5-.4.2 0 .4.2.4.4 0 .3-.2.5-.4.5a.5.5 0 01-.5-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M277.4 210.4c0-.2.2-.4.5-.4.2 0 .4.2.4.4 0 .3-.2.5-.4.5a.5.5 0 01-.5-.5z"/>
+  <path fill="#c8b100" d="M282.3 210.9c0-.3.3-.5.5-.5.3 0 .5.2.5.5s-.2.4-.5.4a.5.5 0 01-.5-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M282.3 210.9c0-.3.3-.5.5-.5.3 0 .5.2.5.5s-.2.4-.5.4a.5.5 0 01-.5-.4z"/>
+  <path fill="#c8b100" d="M277 205.4c0-.5.4-.8.8-.8s1 .3 1 .8-.5.8-1 .8a.9.9 0 01-.8-.8"/>
+  <path fill="#c8b100" d="M278.5 205.1v.6H277v-.6h.4v-1.3h-.5v-.5h.5v-.6h.6v.6h.6v.6h-.6v1.2h.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M278.5 205.1v.6H277v-.6h.4v-1.3h-.5v-.5h.5v-.6h.6v.6h.6v.6h-.6v1.2h.4z"/>
+  <path fill="#c8b100" d="M279 205.1v.6h-2.4v-.6h1v-1.3h-.7v-.5h.6v-.6h.6v.6h.6v.6h-.6v1.2h1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M278.1 204.6c.4 0 .6.4.6.8 0 .5-.4.8-.9.8a.9.9 0 01-.8-.8c0-.4.2-.7.6-.8"/>
+  <path fill="#c8b100" d="M268 212.2l-.6-.7a2.3 2.3 0 00-.7-.3c0-.1.3-.3.6-.3.2 0 .3 0 .4.2v-.2s.3 0 .4.3v1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M268 212.2l-.6-.7a2.3 2.3 0 00-.7-.3c0-.1.3-.3.6-.3.2 0 .3 0 .4.2v-.2s.3 0 .4.3v1z"/>
+  <path fill="#c8b100" d="M268 212c.1-.2.4-.2.5 0 .2.1.3.3.1.5l-.5-.1c-.1-.1-.2-.4 0-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M268 212c.1-.2.4-.2.5 0 .2.1.3.3.1.5l-.5-.1c-.1-.1-.2-.4 0-.5z"/>
+  <path fill="#c8b100" d="M287.5 212.2l.6-.7c.2-.2.7-.3.7-.3 0-.1-.3-.3-.6-.3a.6.6 0 00-.4.2v-.2s-.3 0-.4.3v.7l.1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M287.5 212.2l.6-.7c.2-.2.7-.3.7-.3 0-.1-.3-.3-.6-.3a.6.6 0 00-.4.2v-.2s-.3 0-.4.3v.7l.1.3z"/>
+  <path fill="#c8b100" d="M287.5 212c-.1-.2-.3-.2-.5 0-.2.1-.2.3-.1.5l.5-.1c.2-.1.2-.4.1-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M287.5 212c-.1-.2-.3-.2-.5 0-.2.1-.2.3-.1.5l.5-.1c.2-.1.2-.4.1-.5z"/>
+  <path fill="#c8b100" d="M267.2 223h21.4v-5.5h-21.4v5.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M267.2 223h21.4v-5.5h-21.4v5.6z"/>
+  <path fill="#c8b100" d="M286.3 226.8a1 1 0 00-.4 0h-16.5c.6-.2 1-.7 1-1.2 0-.6-.4-1.1-1-1.3h17-.1c-.6.2-1 .7-1 1.3 0 .5.4 1 1 1.2"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M286.3 226.8a1 1 0 00-.4 0h-16.5c.6-.2 1-.7 1-1.2 0-.6-.4-1.1-1-1.3h17-.1c-.6.2-1 .7-1 1.3 0 .5.4 1 1 1.2z"/>
+  <path fill="#c8b100" d="M269.9 226.8h16c.6 0 1 .3 1 .7 0 .4-.4.8-1 .8h-16c-.6 0-1-.4-1-.8s.5-.8 1-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M269.9 226.8h16c.6 0 1 .3 1 .7 0 .4-.4.8-1 .8h-16c-.6 0-1-.4-1-.8s.5-.8 1-.8z"/>
+  <path fill="#c8b100" d="M269.9 223h16c.6 0 1 .4 1 .7 0 .4-.4.6-1 .6h-16c-.6 0-1-.2-1-.6 0-.3.4-.6 1-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M269.9 223h16c.6 0 1 .4 1 .7 0 .4-.4.6-1 .6h-16c-.6 0-1-.2-1-.6 0-.3.4-.6 1-.6z"/>
+  <path fill="#005bbf" d="M263 317.4c1.4 0 2.7-.3 3.7-.8a8.4 8.4 0 013.7-.8c1.4 0 2.8.3 3.8.8s2.3.8 3.7.8c1.5 0 2.8-.3 3.8-.8a8.4 8.4 0 013.6-.8 8 8 0 013.7.8c1 .5 2.4.8 3.8.8v2.4a8.3 8.3 0 01-3.8-.9 8.2 8.2 0 00-3.7-.8c-1.4 0-2.7.3-3.6.8-1 .5-2.3.9-3.8.9a8 8 0 01-3.7-.9 8.4 8.4 0 00-3.8-.8 8.3 8.3 0 00-3.7.8c-1 .5-2.3.9-3.8.9v-2.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M263 317.4c1.4 0 2.7-.3 3.7-.8a8.4 8.4 0 013.7-.8c1.4 0 2.8.3 3.8.8s2.3.8 3.7.8c1.5 0 2.8-.3 3.8-.8a8.4 8.4 0 013.6-.8 8 8 0 013.7.8c1 .5 2.4.8 3.8.8v2.4a8.3 8.3 0 01-3.8-.9 8.2 8.2 0 00-3.7-.8c-1.4 0-2.7.3-3.6.8-1 .5-2.3.9-3.8.9a8 8 0 01-3.7-.9 8.4 8.4 0 00-3.8-.8 8.3 8.3 0 00-3.7.8c-1 .5-2.3.9-3.8.9v-2.4z"/>
+  <path fill="#ccc" d="M263 319.8c1.4 0 2.7-.4 3.7-.9s2.3-.8 3.7-.8c1.4 0 2.8.3 3.8.8s2.3.9 3.7.9a8.2 8.2 0 003.8-.9 8.4 8.4 0 013.6-.8c1.5 0 2.8.3 3.7.8 1 .5 2.4.9 3.8.9v2.3a8.3 8.3 0 01-3.8-.9 8.1 8.1 0 00-3.7-.7c-1.4 0-2.7.2-3.6.7-1 .5-2.3.9-3.8.9a7 7 0 01-3.7-.9c-1-.4-2.3-.7-3.8-.7a8.3 8.3 0 00-3.7.7 8.1 8.1 0 01-3.8.9v-2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M263 319.8c1.4 0 2.7-.4 3.7-.9s2.3-.8 3.7-.8c1.4 0 2.8.3 3.8.8s2.3.9 3.7.9a8.2 8.2 0 003.8-.9 8.4 8.4 0 013.6-.8c1.5 0 2.8.3 3.7.8 1 .5 2.4.9 3.8.9v2.3a8.3 8.3 0 01-3.8-.9 8.1 8.1 0 00-3.7-.7c-1.4 0-2.7.2-3.6.7-1 .5-2.3.9-3.8.9a7 7 0 01-3.7-.9c-1-.4-2.3-.7-3.8-.7a8.3 8.3 0 00-3.7.7 8.1 8.1 0 01-3.8.9v-2.3"/>
+  <path fill="#005bbf" d="M263 322c1.4 0 2.7-.2 3.7-.8 1-.4 2.3-.7 3.7-.7 1.4 0 2.8.2 3.8.7s2.3.9 3.7.9a8.2 8.2 0 003.8-.9 8.4 8.4 0 013.6-.8 8 8 0 013.7.8c1 .5 2.4.9 3.8.9v2.3a8.3 8.3 0 01-3.8-.9 8.2 8.2 0 00-3.7-.7c-1.4 0-2.7.3-3.6.7-1 .6-2.3.9-3.8.9-1.4 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.8-.8 8.3 8.3 0 00-3.7.8c-1 .5-2.3.8-3.8.8V322"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M263 322c1.4 0 2.7-.2 3.7-.8 1-.4 2.3-.7 3.7-.7 1.4 0 2.8.2 3.8.7s2.3.9 3.7.9a8.2 8.2 0 003.8-.9 8.4 8.4 0 013.6-.8 8 8 0 013.7.8c1 .5 2.4.9 3.8.9v2.3a8.3 8.3 0 01-3.8-.9 8.2 8.2 0 00-3.7-.7c-1.4 0-2.7.3-3.6.7-1 .6-2.3.9-3.8.9-1.4 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.8-.8 8.3 8.3 0 00-3.7.8c-1 .5-2.3.8-3.8.8V322"/>
+  <path fill="#ccc" d="M263 326.7a8 8 0 003.7-.8c1-.5 2.3-.8 3.7-.8 1.4 0 2.8.3 3.8.8s2.3.8 3.7.8c1.5 0 2.8-.3 3.8-.9a8.4 8.4 0 013.6-.7c1.5 0 2.8.3 3.7.8a8.3 8.3 0 003.8.8v-2.3a8.3 8.3 0 01-3.8-.9 8.2 8.2 0 00-3.7-.7c-1.4 0-2.7.3-3.6.7-1 .5-2.3.9-3.8.9-1.4 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.8-.8 8.3 8.3 0 00-3.7.8c-1 .5-2.3.8-3.8.8v2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M263 326.7a8 8 0 003.7-.8c1-.5 2.3-.8 3.7-.8 1.4 0 2.8.3 3.8.8s2.3.8 3.7.8c1.5 0 2.8-.3 3.8-.9a8.4 8.4 0 013.6-.7c1.5 0 2.8.3 3.7.8a8.3 8.3 0 003.8.8v-2.3a8.3 8.3 0 01-3.8-.9 8.2 8.2 0 00-3.7-.7c-1.4 0-2.7.3-3.6.7-1 .5-2.3.9-3.8.9-1.4 0-2.8-.3-3.7-.8a8.4 8.4 0 00-3.8-.8 8.3 8.3 0 00-3.7.8c-1 .5-2.3.8-3.8.8v2.3"/>
+  <path fill="#005bbf" d="M263 329a8.1 8.1 0 003.7-.8c1-.5 2.3-.8 3.7-.8 1.4 0 2.8.3 3.8.8s2.3.8 3.7.8a8.2 8.2 0 003.8-.9 8.4 8.4 0 013.6-.7c1.5 0 2.8.3 3.7.8 1 .5 2.4.8 3.8.8v-2.3a8.3 8.3 0 01-3.8-.8 8.2 8.2 0 00-3.7-.8 8.4 8.4 0 00-3.6.7 8.2 8.2 0 01-3.8.9c-1.4 0-2.8-.3-3.7-.8-1-.5-2.3-.8-3.8-.8-1.4 0-2.7.3-3.7.8s-2.3.8-3.8.8v2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M263 329a8.1 8.1 0 003.7-.8c1-.5 2.3-.8 3.7-.8 1.4 0 2.8.3 3.8.8s2.3.8 3.7.8a8.2 8.2 0 003.8-.9 8.4 8.4 0 013.6-.7c1.5 0 2.8.3 3.7.8 1 .5 2.4.8 3.8.8v-2.3a8.3 8.3 0 01-3.8-.8 8.2 8.2 0 00-3.7-.8 8.4 8.4 0 00-3.6.7 8.2 8.2 0 01-3.8.9c-1.4 0-2.8-.3-3.7-.8-1-.5-2.3-.8-3.8-.8-1.4 0-2.7.3-3.7.8s-2.3.8-3.8.8v2.3z"/>
+  <path fill="#c8b100" d="M286.3 308l-.1.5c0 1.5 1.2 2.6 2.7 2.6h-22c1.5 0 2.7-1.2 2.7-2.6l-.1-.5h16.8"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M286.3 308l-.1.5c0 1.5 1.2 2.6 2.7 2.6h-22c1.5 0 2.7-1.2 2.7-2.6l-.1-.5h16.8z"/>
+  <path fill="#c8b100" d="M269.9 306.5h16c.6 0 1 .3 1 .8 0 .4-.4.7-1 .7h-16c-.6 0-1-.3-1-.8 0-.4.5-.7 1-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M269.9 306.5h16c.6 0 1 .3 1 .8 0 .4-.4.7-1 .7h-16c-.6 0-1-.3-1-.8 0-.4.5-.7 1-.7z"/>
+  <path fill="#c8b100" d="M266.9 316.7h22V311h-22v5.6z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M266.9 316.7h22V311h-22v5.6z"/>
+  <path fill="#ad1519" d="M290.6 286.7c2.1 1.2 3.6 2.5 3.4 3.2-.1.6-.8 1-1.8 1.6-1.6 1.1-2.5 3-1.8 4a5.5 5.5 0 01.2-8.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M290.6 286.7c2.1 1.2 3.6 2.5 3.4 3.2-.1.6-.8 1-1.8 1.6-1.6 1.1-2.5 3-1.8 4a5.5 5.5 0 01.2-8.8z"/>
+  <path fill="#ccc" d="M270.1 305.6h15.6V229h-15.6v76.5z"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M281.4 229.1v76.3m1.8-76.3v76.3m-13 .2h15.5V229h-15.6v76.5z"/>
+  <path fill="#ad1519" d="M254.2 257.7a49.6 49.6 0 0123.3-2c9.3 1.6 16.4 5.3 15.9 8.4v.2l3.5-8.2c.6-3.3-7.3-7.5-17.6-9.2a53.5 53.5 0 00-9.2-.7c-6.7 0-12.4.8-15.9 2.1v9.4"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M254.2 257.7a49.6 49.6 0 0123.3-2c9.3 1.6 16.4 5.3 15.9 8.4v.2l3.5-8.2c.6-3.3-7.3-7.5-17.6-9.2a53.5 53.5 0 00-9.2-.7c-6.7 0-12.4.8-15.9 2.1v9.4"/>
+  <path fill="#ad1519" d="M285.7 267.3c4.4-.3 7.3-1.4 7.7-3.2.2-1.5-1.2-3-3.8-4.5-1.2.1-2.5.3-3.9.3v7.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M285.7 267.3c4.4-.3 7.3-1.4 7.7-3.2.2-1.5-1.2-3-3.8-4.5-1.2.1-2.5.3-3.9.3v7.4"/>
+  <path fill="#ad1519" d="M270 261.5a13 13 0 00-5.7 1.9v.2c-.5 1 1.8 3 5.8 5.4v-7.5"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M270 261.5a13 13 0 00-5.7 1.9v.2c-.5 1 1.8 3 5.8 5.4v-7.5"/>
+  <path fill="#ad1519" d="M295.4 282c.4-1.2-3.8-3.6-9.7-5.8-2.8-1-5-2-7.8-3.2-8.3-3.7-14.4-7.9-13.6-9.4v-.2c-.4.4-1 8-1 8-.8 1.3 4.8 5.5 12.4 9.1 2.4 1.2 7.6 3 10 4 4.3 1.4 8.7 4.3 8.3 5.3l1.4-7.7"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M295.4 282c.4-1.2-3.8-3.6-9.7-5.8-2.8-1-5-2-7.8-3.2-8.3-3.7-14.4-7.9-13.6-9.4v-.2c-.4.4-1 8-1 8-.8 1.3 4.8 5.5 12.4 9.1 2.4 1.2 7.6 3 10 4 4.3 1.4 8.7 4.3 8.3 5.3l1.4-7.7z"/>
+  <path fill="#c8b100" d="M263.9 254.4c.6-2.3 1.4-4.4 2.1-6.6h-.5a5.2 5.2 0 01-.5.1 52.8 52.8 0 01-1.4 4.8c-1-1.4-2-2.7-2.7-4.1l-1 .2h-1a131.3 131.3 0 014 5.7h.5l.5-.1m6-6.6h-1a8 8 0 01-.8 0v6.2h4.2v-.7h-2.6l.1-5.5m6.8 1l2 .3v-.7l-5.8-.5v.8a19.3 19.3 0 012 0l-.4 5.6h1.6l.5-5.4m2.4 6c.3 0 .5 0 .8.2l.8.2.7-2.9.6 1.2.8 2.1 1 .2c.4 0 .7.2 1 .3l-.3-.7c-.4-1-1-1.9-1.3-2.9 1 0 1.9-.3 2.1-1.2.1-.6 0-1-.7-1.5-.4-.3-1.2-.4-1.7-.5l-2.4-.5-1.4 6m3-5.2c.7.2 1.5.3 1.5 1v.5c-.3.9-1 1.2-2 .9l.5-2.4m8 7l-.2 2 .8.5.9.5.5-7a3.4 3.4 0 01-.7-.3l-6.1 3.8.5.3.4.2 1.7-1.2 2.3 1.3zm-1.7-1.5l2-1.4-.2 2.3-1.8-1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M182.2 192.4c0-1 1-2 2-2s2.2 1 2.2 2c0 1.1-1 2-2.1 2a2 2 0 01-2.1-2z"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".3" d="M205.7 175.4c6.3 0 12 1 15.7 2.4a31.7 31.7 0 0014.6 2.3c2.7 0 6.5.8 10.3 2.4a27.3 27.3 0 017.4 4.7l-1.5 1.4-.4 3.8-4.1 4.7-2 1.8-5 3.9-2.5.2-.7 2.1-31.6-3.7-31.7 3.7-.8-2.1-2.5-.2-4.9-4-2-1.7-4.1-4.7-.5-3.8-1.5-1.4a27.6 27.6 0 017.5-4.7 26 26 0 0110.2-2.4c2 .2 4.2.1 6.6-.2a30 30 0 008-2c3.7-1.5 9-2.5 15.5-2.5z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206.2 217.1c-11.8 0-22.4-1.4-29.9-3.6a1.1 1.1 0 01-.8-1.2c0-.5.3-1 .8-1.2a109 109 0 0129.9-3.6c11.7 0 22.3 1.4 29.8 3.6a1.3 1.3 0 010 2.4c-7.5 2.2-18 3.6-29.8 3.6"/>
+  <path fill="#ad1519" d="M206.1 215.6c-10.6 0-20.2-1.2-27.5-3.1 7.3-2 16.9-3 27.5-3.1a115 115 0 0127.6 3c-7.3 2-17 3.2-27.6 3.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M206.9 215.7v-6.3m-1.7 6.3v-6.3"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M203.6 215.7v-6.3m-1.6 6.3v-6.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M200.6 215.7v-6.3m-2.8 5.9v-5.7m1.3 5.8v-6m-3.8 5.6v-5.2m1.3 5.4v-5.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M192 214.8V210m1 4.7V210m1.2 5v-5m-3.4 4.7v-4.5"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M189.7 214.5v-4.2m-1.2 4.1v-4"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M186 214v-3m1.3 3.2v-3.5m-2.5 3.1V211"/>
+  <path fill="none" stroke="#000" stroke-width=".7" d="M183.7 213.6v-2.3m-1.3 2v-1.8m-1.2 1.6v-1.3"/>
+  <path fill="none" stroke="#000" stroke-width=".9" d="M179.8 212.8v-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M213.7 215.3v-5.8m-2.9 6v-6.1m-2.1 6.2v-6.3"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206 207.4a108 108 0 00-30 3.9c.6-.3.5-1-.3-3-1-2.5-2.4-2.4-2.4-2.4 8.3-2.5 20-4 32.8-4a123 123 0 0133 4s-1.5-.1-2.5 2.3c-.8 2-.8 2.8-.2 3-7.5-2.2-18.4-3.7-30.3-3.7"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206.1 201.9c-12.9 0-24.5 1.5-32.8 4a1 1 0 01-1.3-.6 1 1 0 01.7-1.3 121 121 0 0133.4-4.2c13.2 0 25.2 1.7 33.5 4.2.6.2.9.8.7 1.3-.2.5-.8.8-1.3.6-8.4-2.5-20-4-32.9-4"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".4" d="M206.1 215.6c-10.6 0-20.2-1.2-27.5-3.1 7.3-2 16.9-3 27.5-3.1a115 115 0 0127.6 3c-7.3 2-17 3.2-27.6 3.2z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M197 204.8c0-.5.4-1 1-1 .5 0 1 .5 1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M206.1 205.6H203a1 1 0 010-2h6.4c.5 0 1 .5 1 1s-.5 1-1 1h-3.2"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".4" d="M190.3 206.5l-2.3.2c-.6.1-1-.3-1.2-.8a1 1 0 011-1.1l2.2-.3 2.4-.3c.5 0 1 .3 1.1.9.1.5-.3 1-.9 1l-2.3.4"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M181 206.7c0-.6.5-1 1.1-1 .6 0 1 .4 1 1 0 .5-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M174 208.5l1.2-1.6 3.3.4-2.6 2-1.8-.8"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".4" d="M222 206.5l2.3.2c.5.1 1-.3 1.1-.8a1 1 0 00-.9-1.1l-2.2-.3-2.4-.3a1 1 0 00-1.1.9c-.1.5.3 1 .9 1l2.3.4"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M213.3 204.8c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1m15.8 1.9c0-.6.5-1 1-1 .6 0 1.1.4 1.1 1 0 .5-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M238.2 208.5l-1.1-1.6-3.3.4 2.6 2 1.8-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M177.3 212.8c7.4-2.1 17.6-3.4 28.8-3.4 11.3 0 21.4 1.3 28.9 3.4"/>
+  <path fill="#c8b100" d="M182.3 183.8l1.4 1 2-3.2a7.4 7.4 0 01-3.6-7.2c.2-4.1 5.2-7.6 11.7-7.6 3.3 0 6.3 1 8.5 2.4 0-.6 0-1.2.2-1.8a17.4 17.4 0 00-8.7-2.1c-7.4 0-13.2 4.1-13.5 9.1a8.9 8.9 0 003 7.6l-1 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M182.3 183.8l1.4 1 2-3.2a7.4 7.4 0 01-3.6-7.2c.2-4.1 5.2-7.6 11.7-7.6 3.3 0 6.3 1 8.5 2.4 0-.6 0-1.2.2-1.8a17.4 17.4 0 00-8.7-2.1c-7.4 0-13.2 4.1-13.5 9.1a8.9 8.9 0 003 7.6l-1 1.8"/>
+  <path fill="#c8b100" d="M182.4 183.8a9.3 9.3 0 01-4-7.3c0-3.2 2-6.1 5.3-8a8.5 8.5 0 00-3.4 6.8 8.9 8.9 0 003 6.7l-.9 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M182.4 183.8a9.3 9.3 0 01-4-7.3c0-3.2 2-6.1 5.3-8a8.5 8.5 0 00-3.4 6.8 8.9 8.9 0 003 6.7l-.9 1.8"/>
+  <path fill="#c8b100" d="M160.1 187.1a8.8 8.8 0 01-2.3-5.9c0-1.3.3-2.6 1-3.8 2-4.2 8.4-7.2 16-7.2 2 0 4 .2 5.9.6l-1 1.4a25.5 25.5 0 00-4.9-.4c-7 0-12.8 2.7-14.5 6.3a7 7 0 00-.7 3.1 7.3 7.3 0 002.7 5.6l-2.6 4.1-1.3-1 1.7-2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M160.1 187.1a8.8 8.8 0 01-2.3-5.9c0-1.3.3-2.6 1-3.8 2-4.2 8.4-7.2 16-7.2 2 0 4 .2 5.9.6l-1 1.4a25.5 25.5 0 00-4.9-.4c-7 0-12.8 2.7-14.5 6.3a7 7 0 00-.7 3.1 7.3 7.3 0 002.7 5.6l-2.6 4.1-1.3-1 1.7-2.8z"/>
+  <path fill="#c8b100" d="M162.7 173.3a10.5 10.5 0 00-4 4.1 8.6 8.6 0 00-.9 3.8c0 2.3.9 4.3 2.3 5.9l-1.5 2.5a10.4 10.4 0 01-2.3-6.5c0-4 2.5-7.5 6.4-9.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M162.7 173.3a10.5 10.5 0 00-4 4.1 8.6 8.6 0 00-.9 3.8c0 2.3.9 4.3 2.3 5.9l-1.5 2.5a10.4 10.4 0 01-2.3-6.5c0-4 2.5-7.5 6.4-9.8z"/>
+  <path fill="#c8b100" d="M206 164.4c1.7 0 3.2 1.1 3.5 2.6.3 1.4.4 2.9.4 4.5v1.1c.1 3.3.6 6.3 1.3 8.1l-5.2 5-5.2-5c.7-1.8 1.2-4.8 1.3-8.1v-1.1c0-1.6.2-3.1.4-4.5.3-1.5 1.8-2.6 3.5-2.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M206 164.4c1.7 0 3.2 1.1 3.5 2.6.3 1.4.4 2.9.4 4.5v1.1c.1 3.3.6 6.3 1.3 8.1l-5.2 5-5.2-5c.7-1.8 1.2-4.8 1.3-8.1v-1.1c0-1.6.2-3.1.4-4.5.3-1.5 1.8-2.6 3.5-2.6z"/>
+  <path fill="#c8b100" d="M206 166c1 0 1.7.6 1.8 1.4.2 1.2.4 2.6.4 4.2v1c.1 3.2.6 6 1.2 7.7l-3.4 3.2-3.4-3.2c.7-1.7 1.1-4.5 1.2-7.7v-1a28.1 28.1 0 01.4-4.2 2 2 0 011.8-1.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M206 166c1 0 1.7.6 1.8 1.4.2 1.2.4 2.6.4 4.2v1c.1 3.2.6 6 1.2 7.7l-3.4 3.2-3.4-3.2c.7-1.7 1.1-4.5 1.2-7.7v-1a28.1 28.1 0 01.4-4.2 2 2 0 011.8-1.4z"/>
+  <path fill="#c8b100" d="M229.7 183.8l-1.3 1-2-3.2a7.4 7.4 0 003.6-6.3 7 7 0 000-.9c-.2-4.1-5.3-7.6-11.7-7.6a15 15 0 00-8.5 2.4 23 23 0 00-.2-1.8 17.4 17.4 0 018.7-2.1c7.4 0 13.2 4.1 13.4 9.1a8.9 8.9 0 01-3 7.6l1 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M229.7 183.8l-1.3 1-2-3.2a7.4 7.4 0 003.6-6.3 7 7 0 000-.9c-.2-4.1-5.3-7.6-11.7-7.6a15 15 0 00-8.5 2.4 23 23 0 00-.2-1.8 17.4 17.4 0 018.7-2.1c7.4 0 13.2 4.1 13.4 9.1a8.9 8.9 0 01-3 7.6l1 1.8"/>
+  <path fill="#c8b100" d="M229.6 183.8a9.1 9.1 0 004.1-7.3c0-3.2-2.1-6.1-5.3-8a8.5 8.5 0 013.4 6.8 8.9 8.9 0 01-3.2 6.7l1 1.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M229.6 183.8a9.1 9.1 0 004.1-7.3c0-3.2-2.1-6.1-5.3-8a8.5 8.5 0 013.4 6.8 8.9 8.9 0 01-3.2 6.7l1 1.8"/>
+  <path fill="#c8b100" d="M252 187.1a8.8 8.8 0 002.2-5.9 8.7 8.7 0 00-.9-3.8c-2-4.2-8.4-7.2-16-7.2a29 29 0 00-6 .6l1 1.4a25.4 25.4 0 015-.4c7 0 12.8 2.7 14.4 6.3.5 1 .7 2 .7 3.1a7.3 7.3 0 01-2.6 5.6l2.5 4.1 1.3-1-1.7-2.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M252 187.1a8.8 8.8 0 002.2-5.9 8.7 8.7 0 00-.9-3.8c-2-4.2-8.4-7.2-16-7.2a29 29 0 00-6 .6l1 1.4a25.4 25.4 0 015-.4c7 0 12.8 2.7 14.4 6.3.5 1 .7 2 .7 3.1a7.3 7.3 0 01-2.6 5.6l2.5 4.1 1.3-1-1.7-2.8z"/>
+  <path fill="#c8b100" d="M249.3 173.3a10.6 10.6 0 014 4.1 8.7 8.7 0 01.9 3.8 8.8 8.8 0 01-2.3 5.9l1.6 2.5a10.4 10.4 0 002.3-6.5c0-4-2.6-7.5-6.5-9.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M249.3 173.3a10.6 10.6 0 014 4.1 8.7 8.7 0 01.9 3.8 8.8 8.8 0 01-2.3 5.9l1.6 2.5a10.4 10.4 0 002.3-6.5c0-4-2.6-7.5-6.5-9.8z"/>
+  <path fill="#fff" d="M204.2 181.4c0-1 .8-1.8 1.8-1.8s1.9.8 1.9 1.8-.9 1.7-1.9 1.7a1.8 1.8 0 01-1.8-1.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M204.2 181.4c0-1 .8-1.8 1.8-1.8s1.9.8 1.9 1.8-.9 1.7-1.9 1.7a1.8 1.8 0 01-1.8-1.7z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M204.2 178c0-1 .8-1.8 1.8-1.8s1.9.8 1.9 1.8-.9 1.7-1.9 1.7a1.8 1.8 0 01-1.8-1.7m.4-3.7c0-.7.6-1.3 1.4-1.3.8 0 1.5.6 1.5 1.3 0 .8-.7 1.4-1.5 1.4s-1.4-.6-1.4-1.4m.4-3.3c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1m.2-2.8c0-.5.4-.8.8-.8.5 0 .9.3.9.8 0 .4-.4.8-.9.8a.8.8 0 01-.8-.8"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206.2 191.8l1.2.2a4.6 4.6 0 004.5 6 4.7 4.7 0 004.4-3c.1 0 .5-1.7.7-1.7.2 0 .1 1.8.2 1.7.3 2.3 2.4 3.8 4.7 3.8a4.6 4.6 0 004.7-5l1.5-1.5.7 2a4 4 0 00-.4 1.9 4.4 4.4 0 004.5 4.2c1.6 0 3-.7 3.8-1.9l.9-1.2v1.5c0 1.5.6 2.8 2 3 0 0 1.7.1 4-1.6 2.1-1.7 3.3-3.1 3.3-3.1l.2 1.7s-1.8 2.8-3.8 4c-1 .6-2.7 1.3-4 1-1.4-.2-2.4-1.3-3-2.6a6.7 6.7 0 01-3.3 1 6.5 6.5 0 01-6.1-3.7 7 7 0 01-10.4-.3 7 7 0 01-4.6 1.8 6.9 6.9 0 01-5.7-3 6.9 6.9 0 01-5.7 3 7 7 0 01-4.7-1.8 7 7 0 01-10.4.3 6.5 6.5 0 01-6 3.7 6.7 6.7 0 01-3.4-1c-.6 1.3-1.5 2.4-3 2.7-1.2.2-2.9-.5-4-1.1-2-1.2-3.8-4-3.8-4l.2-1.7s1.2 1.4 3.4 3.1c2.2 1.8 3.9 1.6 3.9 1.6 1.4-.2 2-1.5 2-3v-1.5l1 1.2a4.6 4.6 0 003.7 2c2.5 0 4.5-2 4.5-4.3a4 4 0 00-.4-2l.8-1.9 1.5 1.5a4.4 4.4 0 000 .6c0 2.4 2 4.4 4.6 4.4 2.4 0 4.4-1.5 4.7-3.8 0 0 0-1.6.2-1.7.2 0 .6 1.7.7 1.6a4.7 4.7 0 004.5 3.1 4.6 4.6 0 004.5-6l1.2-.2"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M238.6 197.7c.3-.8 0-1.6-.6-1.8-.5-.2-1.2.3-1.5 1.1-.3.8 0 1.6.6 1.8.5.2 1.2-.3 1.5-1.1m-20.5-4c0-.8-.3-1.6-1-1.6-.5-.1-1 .5-1.2 1.4-.1.8.3 1.5.9 1.6.6 0 1.2-.6 1.3-1.4m-23.9 0c0-.8.4-1.6 1-1.6.6-.1 1.1.5 1.2 1.4.1.8-.3 1.5-.9 1.6-.6 0-1.1-.6-1.2-1.4m-20.6 4c-.2-.8 0-1.6.6-1.8.6-.2 1.2.3 1.5 1.1.3.8 0 1.6-.5 1.8-.6.2-1.3-.3-1.6-1.1"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M182.7 184a5.1 5.1 0 012.2 2.9s0-.3.6-.6 1-.3 1-.3l-.1 1.3-.3 2.2a7.4 7.4 0 01-.7 1.6 1.9 1.9 0 00-1.5-.4 1.8 1.8 0 00-1.2.9s-.7-.6-1.2-1.3l-1.1-2-.7-1.1s.5-.2 1.1 0c.6 0 .8.2.8.2a4.9 4.9 0 011-3.4m.4 9.8a1.8 1.8 0 01-.6-1c0-.5 0-.9.3-1.2 0 0-.9-.5-1.8-.7-.7-.2-2-.2-2.3-.2h-1l.2.5c.2.5.5.7.5.7a5 5 0 00-3 2 5.3 5.3 0 003.5 1l-.2.8v.6l1-.4c.3-.1 1.5-.5 2-1 .8-.4 1.5-1.1 1.5-1.1m2.7-.5a1.6 1.6 0 00.2-1.1 1.7 1.7 0 00-.6-1l1.4-1.3a10 10 0 012-.9l1.1-.4v.6a5.7 5.7 0 01-.2.8 5 5 0 013.4 1 5 5 0 01-2.9 2 6.4 6.4 0 00.7 1.2h-1c-.4 0-1.6 0-2.3-.2a11 11 0 01-1.8-.7"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M182.2 192.4c0-1 1-2 2-2s2.2 1 2.2 2c0 1.1-1 2-2.1 2a2 2 0 01-2.1-2"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M206.1 180.8a5.7 5.7 0 011.9 3.7s.2-.3.9-.5c.7-.3 1.2-.2 1.2-.2l-.5 1.4-.8 2.4a8.2 8.2 0 01-1 1.7 2.1 2.1 0 00-1.7-.7c-.6 0-1.2.3-1.6.7 0 0-.6-.7-1-1.7l-.8-2.4-.5-1.4 1.2.2c.7.2.9.5.9.5 0-1.4.8-2.8 1.8-3.7"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M204.6 191.8a2 2 0 01-.5-1.2c0-.5.1-1 .4-1.3 0 0-.8-.7-1.8-1-.7-.4-2-.7-2.5-.7l-1.2-.2.2.6.4.9a5.9 5.9 0 00-3.7 1.7c1 .9 2.3 1.6 3.7 1.6l-.4 1-.2.6 1.2-.2c.4-.1 1.8-.4 2.5-.7 1-.4 1.9-1 1.9-1m3 0a1.9 1.9 0 00.1-2.6s.9-.7 1.8-1a8 8 0 012.5-.7l1.2-.3-.1.7-.4.9c1.4 0 2.7.8 3.6 1.7a5.9 5.9 0 01-3.6 1.6 6.9 6.9 0 00.5 1.6l-1.2-.2-2.5-.7c-1-.4-1.8-1-1.8-1m22-8a5.2 5.2 0 00-2.2 3l-.7-.6c-.6-.3-1-.3-1-.3l.2 1.3c0 .3 0 1.3.3 2.2.2 1 .6 1.6.6 1.6a2 2 0 011.5-.4c.6.1 1 .5 1.3.9l1.1-1.3c.6-.8 1-1.7 1.1-2l.7-1.1s-.4-.2-1 0c-.7 0-1 .2-1 .2a4.9 4.9 0 00-1-3.4m-.3 9.8c.3-.3.5-.6.6-1a1.6 1.6 0 00-.2-1.2s.8-.5 1.7-.7c.7-.2 2-.2 2.3-.2h1.1l-.3.5a6.2 6.2 0 01-.4.7 5 5 0 012.9 2 5.3 5.3 0 01-3.5 1l.2.8v.6l-1-.4c-.3-.1-1.4-.5-2-1-.8-.4-1.4-1.1-1.4-1.1m-2.8-.5a1.7 1.7 0 01-.2-1.1c0-.5.3-.8.6-1 0 0-.6-.8-1.4-1.3-.6-.4-1.7-.8-2-.9a171.4 171.4 0 01-1-.4v.6c0 .5.2.8.2.8a5.2 5.2 0 00-3.5 1c.7.9 1.7 1.7 3 2 0 0-.3.2-.5.7l-.3.5h1c.4 0 1.7 0 2.3-.2a11.1 11.1 0 001.8-.7"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M226 192.4c0-1 1-2 2-2s2.1 1 2.1 2a2 2 0 01-2 2 2 2 0 01-2.1-2m23.2 4.4c-.4-.5-1.4-.4-2.2.2-.8.7-1 1.6-.5 2.2.5.5 1.5.4 2.3-.3.7-.6 1-1.6.5-2"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M246.3 198l.7-1c.7-.6 1.8-.7 2.3-.2l.1.2s1-2 2.3-2.6c1.3-.7 3.4-.5 3.4-.5a2.8 2.8 0 00-2.9-2.8 3 3 0 00-2.4 1l-.2-1s-1.3.3-1.9 1.8c-.6 1.5 0 3.6 0 3.6s-.3-.9-.7-1.5a8 8 0 00-2.4-1.6l-1.3-.7-.1.5a5 5 0 000 .8 7.9 7.9 0 00-3.7.5 4.7 4.7 0 002.5 2.2l-.8.7a4 4 0 00-.4.5l1.3.2 2.5.2a14.5 14.5 0 001.7-.2m-80.3 0c0-.4-.3-.7-.7-1-.7-.7-1.7-.8-2.2-.3l-.2.3s-1-2-2.3-2.7c-1.2-.7-3.3-.5-3.3-.5a2.8 2.8 0 012.8-2.8c1 0 1.9.4 2.4 1l.2-1s1.3.3 2 1.8c.5 1.5-.1 3.6-.1 3.6s.3-.9.8-1.5a8 8 0 012.4-1.6l1.3-.7v1.3a7.9 7.9 0 013.7.5 4.7 4.7 0 01-2.5 2.2l.8.7.4.5-1.2.2-2.6.2a14.7 14.7 0 01-1.7-.2"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".4" d="M163 196.8c.6-.5 1.6-.4 2.4.3.7.6 1 1.5.4 2-.5.6-1.5.5-2.2-.2-.8-.6-1-1.6-.5-2m41-6.3c0-1.1.9-2 2-2s2.1.9 2.1 2c0 1-1 2-2 2a2 2 0 01-2.1-2"/>
+  <path fill="#005bbf" stroke="#000" stroke-width=".3" d="M201.8 160.6c0-2.2 1.9-4 4.3-4s4.2 1.8 4.2 4-1.9 4-4.3 4a4.1 4.1 0 01-4.2-4"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".3" d="M205 149.3v2.2h-2.4v2.2h2.3v6.3H202l-.2.6c0 .6.1 1.1.3 1.6h7.9c.2-.5.3-1 .3-1.6l-.2-.6h-2.8v-6.3h2.3v-2.2h-2.3v-2.2h-2.4z"/>
+  <path fill="#ccc" d="M206.5 330.6a82 82 0 01-35.5-8.2 22.7 22.7 0 01-12.8-20.4v-32h96.4v32a22.7 22.7 0 01-12.8 20.4 81 81 0 01-35.3 8.2"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M206.5 330.6a82 82 0 01-35.5-8.2 22.7 22.7 0 01-12.8-20.4v-32h96.4v32a22.7 22.7 0 01-12.8 20.4 81 81 0 01-35.3 8.2z"/>
+  <path fill="#ccc" d="M206.3 270h48.3v-53.5h-48.3V270z"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M206.3 270h48.3v-53.5h-48.3V270z"/>
+  <path fill="#ad1519" d="M206.3 302c0 12.6-10.7 22.9-24 22.9s-24.2-10.3-24.2-23v-32h48.2v32"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M168.6 320.9c1.5.8 3.6 2 5.8 2.6l-.1-54.7h-5.7v52z"/>
+  <path fill="#c8b100" stroke="#000" stroke-linejoin="round" stroke-width=".5" d="M158 301.6a24.4 24.4 0 005.5 15v-47.5h-5.4v32.5z"/>
+  <path fill="#c7b500" stroke="#000" stroke-width=".5" d="M179.4 324.7a26.6 26.6 0 005.6 0v-55.9h-5.6v56z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M190 323.5a19 19 0 005.8-2.5v-52.2H190l-.1 54.7z"/>
+  <path fill="#ad1519" d="M158.1 270h48.2v-53.5H158V270z"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M158.1 270h48.2v-53.5H158V270z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".5" d="M201 316c2.4-2 4.6-6.8 5.4-12.2l.1-35H201l.1 47.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M206.3 302c0 12.6-10.7 22.9-24 22.9s-24.2-10.3-24.2-23v-32h48.2v32"/>
+  <path fill="#ad1519" d="M254.6 270v32c0 12.6-10.8 22.9-24.1 22.9s-24.2-10.3-24.2-23v-32h48.3"/>
+  <path fill="none" stroke="#000" stroke-width=".5" d="M254.6 270v32c0 12.6-10.8 22.9-24.1 22.9s-24.2-10.3-24.2-23v-32h48.3"/>
+  <path fill="#c8b100" d="M215.1 294.1l.1.5c0 .6-.5 1-1.1 1a1 1 0 01-1.1-1v-.5h-1.5a2.5 2.5 0 001.8 2.9v3.9h1.6V297a2.6 2.6 0 001.7-1.6h4.4v-1.2h-6m21.8 0v1.2h-4a2.5 2.5 0 01-.3.6l4.6 5.2-1.2 1-4.6-5.3-.2.1v8.7h-1.6V297h-.2l-4.8 5.2-1.2-1 4.7-5.3a2.1 2.1 0 01-.2-.4h-4V294h13zm2.6 0v1.2h4.4c.3.8.9 1.4 1.7 1.6v3.9h1.6V297a2.5 2.5 0 001.8-2.4 2 2 0 000-.5h-1.6l.1.5c0 .6-.5 1-1 1-.7 0-1.2-.4-1.2-1a1 1 0 01.1-.5h-5.9m-6.7 22.1a15.6 15.6 0 003.7-1l.8 1.4a17.6 17.6 0 01-4.3 1.2 2.6 2.6 0 01-2.6 2 2.6 2.6 0 01-2.5-2 17.5 17.5 0 01-4.6-1.2l.8-1.4c1.3.5 2.6.9 4 1a2.5 2.5 0 011.5-1.3v-6.7h1.6v6.7c.7.2 1.3.7 1.6 1.4zm-11-2.2l-.8 1.4a16.6 16.6 0 01-3.6-3.1c-.9.2-1.8 0-2.5-.5a2.4 2.4 0 01-.3-3.5l.1-.1a15.3 15.3 0 01-1.3-4.8h1.7a13.1 13.1 0 001 4c.5 0 1 0 1.4.2l4.1-4.5 1.3 1-4.1 4.5c.5.9.5 2-.1 2.8a15.2 15.2 0 003.1 2.6zm-6-4.8c.3-.4 1-.5 1.5 0s.5 1 .1 1.4a1.2 1.2 0 01-1.6.1 1 1 0 010-1.5zm-2.2-4.5l-1.6-.3-.3-4.3 1.7-.6v2.5c0 1 0 1.8.2 2.7zm1.4-5.3l1.7.4v2.2c0-.8.3 2.1.3 2.1l-1.7.6a14 14 0 01-.3-2.7v-2.6zm5.6 13.7a15.7 15.7 0 004.8 2.6l.4-1.6a13.7 13.7 0 01-4-2l-1.2 1m-.8 1.4a17.4 17.4 0 004.8 2.6l-1.2 1.1a18.7 18.7 0 01-4-2l.4-1.7m2.2-9.4l1.6.7 3-3.3-1-1.4-3.6 4m-1.3-1l-1-1.4 3-3.3 1.6.7-3.6 4m18.1 9.9l.8 1.4a16.7 16.7 0 003.6-3.1c.9.2 1.8 0 2.5-.5a2.4 2.4 0 00.3-3.5l-.1-.1a15 15 0 001.3-4.8h-1.7a13.3 13.3 0 01-1 4 3 3 0 00-1.4.2l-4.1-4.5-1.3 1 4.1 4.5a2.4 2.4 0 00.1 2.8 15 15 0 01-3.1 2.6zm6-4.8a1.2 1.2 0 00-1.5 0 1 1 0 00-.1 1.4 1.2 1.2 0 001.6.1 1 1 0 000-1.5zm2.2-4.5l1.6-.3.3-4.3-1.7-.6v2.5c0 1 0 1.9-.2 2.8zm-1.4-5.3l-1.7.4v2.2c0-.8-.3 2.1-.3 2.1l1.7.6.3-2.7v-2.6m-5.6 13.7a15.7 15.7 0 01-4.8 2.6l-.4-1.6a13.7 13.7 0 004-2l1.2 1m.8 1.4a17.4 17.4 0 01-4.8 2.6l1.2 1.1a18.6 18.6 0 004-2l-.4-1.7m-2.2-9.4l-1.6.7-2.9-3.3 1-1.4 3.5 4m1.3-1l1-1.4-3-3.3-1.6.7 3.6 4m-20.1-8.7l.5 1.6h4.5l.5-1.6h-5.5m21.1 0l-.5 1.6h-4.5l-.5-1.6h5.5m-11.6 21.9c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1zm1.9-7.8l1.7-.4v-4.3l-1.7-.5v5.2m-1.6 0l-1.7-.4v-4.3l1.7-.5v5.2"/>
+  <path fill="#c8b100" d="M211.5 294.2c.2-1 1-1.6 1.8-2V287h1.6v5.3c.8.3 1.5.9 1.7 1.6h4.4v.3h-6a1.2 1.2 0 00-1-.6c-.4 0-.7.3-1 .6h-1.5m12.2 0v-.3h4.1a2.4 2.4 0 01.2-.3l-5-5.7 1.2-1 5 5.6.2-.1V285h1.6v7.3h.3l4.9-5.5 1.2 1-4.9 5.5.3.6h4v.3h-13zm21.6 0a1.1 1.1 0 011-.6c.5 0 .8.3 1 .6h1.6c-.2-1-.9-1.6-1.8-2V287h-1.6v5.3c-.8.3-1.4.8-1.7 1.6h-4.4v.3h6m-30.2-15l6 6.8 1.3-1-6.1-6.7.3-.6h4.4V276h-4.4a2.6 2.6 0 00-2.5-1.7 2.6 2.6 0 00-2.7 2.5 2.5 2.5 0 001.8 2.4v5.2h1.6v-5.2h.3zm32 0v5.3h-1.7v-5.2a2.5 2.5 0 01-.4-.2l-6 6.8-1.3-1 6.2-6.9-.1-.3h-4.5V276h4.5a2.6 2.6 0 012.4-1.7 2.6 2.6 0 012.7 2.5 2.5 2.5 0 01-1.9 2.4zm-16.1 0v3.3h-1.7v-3.2a2.6 2.6 0 01-1.7-1.6h-4V276h4a2.6 2.6 0 012.5-1.7c1.2 0 2.2.7 2.5 1.7h4v1.6h-4a2.5 2.5 0 01-1.6 1.6zm-17.8 4l-1.7.4v4.3l1.7.5v-5.2m1.6 0l1.7.4v4.3l-1.7.5v-5.2m30.6 0l-1.7.4v4.3l1.7.5v-5.2m1.6 0l1.7.4v4.3l-1.7.5v-5.2m-25.5.8l1.6-.7 2.9 3.3-1 1.4-3.5-4m-1.3 1l-1 1.4 3 3.3 1.6-.7-3.6-4m18.5-1.1l-1.6-.7-3 3.3 1 1.4 3.6-4m1.2 1l1 1.4-3 3.3-1.5-.7 3.5-4m-20.3 9l.5-1.6h4.5l.5 1.6h-5.5m-6.7-17c0-.6.5-1 1.2-1a1 1 0 011 1c0 .6-.4 1-1 1a1.1 1.1 0 01-1.2-1zm12.1.8l-.5 1.6h-4.5l-.5-1.6h5.5m0-1.6l-.5-1.6h-4.5l-.5 1.6h5.5m15.7 17.8l-.5-1.6h-4.5l-.5 1.6h5.5m4.4-17c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1zm-16.1 0c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1.1 1a1.1 1.1 0 01-1.1-1zm6.2.8l.5 1.6h4.6l.5-1.6h-5.6m0-1.6l.5-1.6h4.6l.5 1.6h-5.6m-5.9 5l-1.7.5v4.3l1.7.5V281m1.7 0l1.6.5v4.3l-1.6.5V281"/>
+  <path fill="none" stroke="#c8b100" stroke-width=".3" d="M232.7 316.3a15.6 15.6 0 003.7-1.1l.8 1.4a17.6 17.6 0 01-4.3 1.2 2.6 2.6 0 01-2.6 2 2.6 2.6 0 01-2.5-2 17.5 17.5 0 01-4.6-1.2l.8-1.4c1.3.5 2.6.9 4 1a2.5 2.5 0 011.5-1.3v-6.7h1.6v6.7c.7.2 1.3.7 1.6 1.4zm-4.7-20.4a2.3 2.3 0 01-.2-.5h-4V294h4a2.6 2.6 0 01.2-.4l-5-5.6 1.2-1 5 5.5a2.2 2.2 0 01.2 0V285h1.7v7.3h.2l4.9-5.5 1.2 1-4.9 5.5.3.6h4v1.5h-4c0 .2-.2.4-.3.5l4.7 5.3-1.3 1-4.6-5.3-.2.1v8.7h-1.6V297l-.2-.1-4.8 5.3-1.2-1 4.7-5.3m-12.8-16.7l6 6.8 1.3-1-6.1-6.7.3-.6h4.4V276h-4.4a2.6 2.6 0 00-2.5-1.7 2.6 2.6 0 00-2.6 2.5 2.5 2.5 0 001.7 2.4v5.2h1.6v-5.2h.3zm6.5 34.8l-.8 1.4a16.6 16.6 0 01-3.6-3.1c-.9.2-1.8 0-2.5-.5a2.4 2.4 0 01-.3-3.5l.1-.1a15.3 15.3 0 01-1.2-4.8h1.6a13.1 13.1 0 001 4c.5 0 1 0 1.4.2l4.1-4.5 1.3 1-4.1 4.5c.6.9.5 2-.1 2.8a15.2 15.2 0 003.1 2.6zm-8.4-13.1V297a2.5 2.5 0 01-1.8-2.4c0-1 .8-2 1.8-2.4V287h1.6v5.3c.8.2 1.5.8 1.7 1.6h4.4v1.5h-4.4a2.6 2.6 0 01-1.6 1.6v3.9h-1.7m2.3 8.3c.4-.4 1.1-.5 1.6 0s.5 1 .1 1.4a1.2 1.2 0 01-1.6.1 1 1 0 010-1.5zm-2-4.5l-1.7-.3-.3-4.3 1.7-.6v2.5c0 1 0 1.8.3 2.7zm1.4-5.3l1.6.4v2.2c0-.8.3 2.1.3 2.1l-1.7.6-.3-2.7v-2.6zm5.5 13.7a15.7 15.7 0 004.8 2.6l.4-1.6a13.7 13.7 0 01-4-2l-1.2 1m-.8 1.4a17.4 17.4 0 004.8 2.6l-1.2 1.1a18.7 18.7 0 01-4-2l.4-1.7"/>
+  <path fill="none" stroke="#c8b100" stroke-width=".3" d="M221.9 305.1l1.6.7 3-3.3-1-1.4-3.6 4m-1.3-1l-1-1.4 3-3.3 1.6.7-3.6 4m-7.6-9.5c0-.6.5-1 1-1 .7 0 1.2.5 1.2 1 0 .6-.5 1.1-1.1 1.1a1 1 0 01-1.1-1zm25.7 19.4l.8 1.4a16.7 16.7 0 003.6-3.1c.9.2 1.8 0 2.6-.5a2.4 2.4 0 00.2-3.5l-.1-.1a15 15 0 001.3-4.8h-1.7a13.3 13.3 0 01-1 4 3 3 0 00-1.4.2l-4.1-4.5-1.3 1 4.1 4.5a2.4 2.4 0 00.1 2.8 15 15 0 01-3 2.6zm8.4-13.1V297a2.5 2.5 0 001.8-2.4c0-1-.7-2-1.8-2.4V287h-1.6v5.3c-.8.2-1.4.8-1.7 1.6h-4.4v1.5h4.4c.3.8.9 1.3 1.7 1.6v3.9h1.6zm-2.3 8.3a1.2 1.2 0 00-1.6 0 1 1 0 00-.1 1.4 1.2 1.2 0 001.6.1 1 1 0 000-1.5zm2-4.5l1.7-.3.3-4.3-1.7-.6v2.5c0 1 0 1.8-.2 2.7zm-1.3-5.3l-1.7.4v2.2c0-.8-.3 2.1-.3 2.1l1.7.6.3-2.7v-2.6m1.6-20.1v5.2h-1.6v-5.2a2.3 2.3 0 01-.4-.2l-6 6.8-1.2-1 6-7v-.2h-4.5V276h4.4a2.6 2.6 0 012.5-1.7 2.6 2.6 0 012.6 2.5 2.5 2.5 0 01-1.8 2.4zm-16 0v3.2h-1.7v-3.2a2.6 2.6 0 01-1.7-1.6h-4V276h4c.4-1 1.3-1.7 2.5-1.7s2.2.7 2.5 1.7h4v1.6h-4a2.5 2.5 0 01-1.6 1.6zm8.8 33.8a15.7 15.7 0 01-4.8 2.6l-.4-1.6a13.7 13.7 0 004-2l1.2 1m.8 1.4a17.4 17.4 0 01-4.8 2.6l1.2 1.1a18.7 18.7 0 004-2l-.4-1.7m-27.4-31.4l-1.7.5v4.3l1.7.5v-5.2m1.7 0l1.6.4v4.3l-1.6.5V283m30.5 0l-1.7.5v4.3l1.7.5V283"/>
+  <path fill="none" stroke="#c8b100" stroke-width=".3" d="M247.1 283.1l1.7.5v4.3l-1.7.5V283m-8.6 22l-1.6.7-2.9-3.3 1-1.4 3.5 4m1.3-1l1-1.4-3-3.3-1.6.7 3.6 4m-18.2-20l1.6-.7 3 3.3-1 1.4-3.6-4m-1.3 1l-1 1.4 3 3.3 1.6-.7-3.6-4m18.5-1.1l-1.6-.7-3 3.3 1 1.4 3.6-4m1.2 1l1 1.4-3 3.2-1.5-.6 3.5-4m-20.3 9l.5-1.6h4.5l.5 1.6h-5.5m0 1.5l.5 1.6h4.5l.5-1.6h-5.5M213 277c0-.6.5-1 1.2-1 .6 0 1 .4 1 1s-.4 1-1 1a1 1 0 01-1.2-1zm12.1.8l-.5 1.6h-4.5l-.5-1.6h5.5m0-1.6l-.5-1.6h-4.5l-.5 1.6h5.5m20.1 18.5c0-.5.5-1 1.1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1.1-1 1.1a1 1 0 01-1.2-1zm-4.4-.7l-.5-1.6h-4.5l-.5 1.6h5.5m0 1.5l-.5 1.6h-4.5l-.5-1.6h5.5m-11.6 21.9c0-.6.5-1 1.1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1.1 1.1 0 01-1.2-1zm1.9-7.8l1.7-.4v-4.3l-1.7-.5v5.2m-1.6 0l-1.7-.4v-4.3l1.7-.5v5.2m15.7-32.6c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1zm-16.1 0c0-.6.5-1 1.1-1a1 1 0 011.1 1c0 .6-.5 1-1 1a1.1 1.1 0 01-1.2-1zm6.2.8l.5 1.6h4.6l.5-1.6h-5.5m0-1.6l.4-1.6h4.6l.5 1.6h-5.5m-6 5l-1.6.5v4.3l1.6.5V281m1.7 0l1.6.5v4.3l-1.6.5V281"/>
+  <path fill="#058e6e" d="M227.7 294.7a2.6 2.6 0 012.6-2.5 2.6 2.6 0 012.6 2.5 2.6 2.6 0 01-2.6 2.4c-1.4 0-2.6-1-2.6-2.4"/>
+  <path fill="#db4446" d="M230.9 229.7v-.6l.1-.3-2.3-.1a5.9 5.9 0 01-2.3-1.2c-.8-.7-1.1-1-1.6-1.2-1.3-.2-2.3.4-2.3.4s1 .4 1.7 1.3 1.5 1.3 1.8 1.4c.6.2 2.6 0 3.1.1l1.8.2"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M230.9 229.7v-.6l.1-.3-2.3-.1a5.9 5.9 0 01-2.3-1.2c-.8-.7-1.1-1-1.6-1.2-1.3-.2-2.3.4-2.3.4s1 .4 1.7 1.3 1.5 1.3 1.8 1.4c.6.2 2.6 0 3.1.1l1.8.2z"/>
+  <path fill="#ed72aa" stroke="#000" stroke-width=".4" d="M238.1 227.5v1.4c.2.6-.1 1.2 0 1.5 0 .4.1.6.3.9l.2.9-.7-.5-.6-.4v1c.1.2.3.8.6 1.1l1 1.3c.2.5.1 1.4.1 1.4s-.4-.7-.8-.8l-1.2-.7s.7.8.7 1.5c0 .8-.3 1.6-.3 1.6s-.3-.7-.8-1.1l-1-.9s.4 1.2.4 2v2.3l-.9-1-1-.7c0-.2.5.6.6 1.1 0 .5.3 2.3 1.8 4.5 1 1.3 2.3 3.6 5.3 2.9 3-.8 1.9-4.8 1.3-6.7a16.8 16.8 0 01-1-4.6c0-.8.6-2.9.5-3.3a8 8 0 01.2-3.1c.4-1.3.7-1.8.9-2.3.2-.6.4-.9.4-1.3l.1-1.3.7 1.3.1 1.5s.1-1 1-1.6c.8-.6 1.8-1.1 2-1.4.3-.3.3-.5.3-.5s0 1.8-.6 2.6l-1.7 2s.7-.3 1.2-.3h.9s-.6.4-1.4 1.6c-.8 1-.5 1.2-1 2.1-.6 1-1 1-1.7 1.5-1 .8-.5 4.2-.4 4.7.2.5 2 4.5 2 5.5s.2 3.2-1.5 4.6c-1.1 1-3 1-3.4 1.2-.4.3-1.2 1.1-1.2 2.8 0 1.7.6 2 1 2.4.6.5 1.2.2 1.3.6.2.3.2.5.5.7.2.2.3.4.2.8 0 .3-.8 1.1-1.1 1.7l-.8 2.4c0 .2-.1 1 .1 1.3 0 0 .9 1 .3 1.2-.4.2-.8-.2-1-.2l-.9.5c-.3-.1-.3-.3-.4-.8l-.1-.7c-.2 0-.3.2-.4.5 0 .2 0 .8-.3.8-.2 0-.5-.4-.8-.5-.2 0-.8-.2-.8-.4 0-.3.4-.9.7-1 .4 0 .8-.3.5-.5s-.5-.2-.7 0-.8 0-.7-.2v-.8c0-.2-.4-.5.1-.8.6-.3.8.2 1.4.1.6 0 .8-.3 1-.6.2-.3.2-1-.2-1.4-.4-.5-.7-.5-.9-.8l-.3-.9v2.2l-.7-.8c-.3-.3-.6-1.3-.6-1.3v1.3c0 .4.3.7.2.8-.1.1-.8-.7-1-.8a3.7 3.7 0 01-1-1l-.4-1.4a4.2 4.2 0 010-1.5l.4-1h-1.4c-.7 0-1.2-.3-1.5.2-.3.5-.2 1.5.2 2.8.3 1.2.5 1.9.4 2.1a3 3 0 01-.7.8h-.9a2.5 2.5 0 00-1.2-.3h-1.3l-1.1-.3c-.3.1-.8.3-.6.7.2.6-.2.7-.5.7l-.9-.2c-.4-.1-.9 0-.8-.4 0-.4.2-.4.4-.7.2-.3.2-.5 0-.5h-.6c-.2.2-.5.5-.8.4-.2-.1-.4-.4-.4-1s-.7-1.2 0-1.1c.5 0 1.3.4 1.4 0 .2-.3 0-.4-.2-.7s-.8-.4-.3-.7l.7-.5c.1-.2.4-.8.7-.6.6.2 0 .7.6 1.3.6.7 1 1 2 .8 1 0 1.3-.2 1.3-.5l-.1-1v-1s-.4.3-.5.6l-.4.8v-2a8 8 0 00-.2-.8l-.3.9-.1 1s-.7-.5-.5-1.5c.1-.7-.1-1.6.1-2 .2-.3.7-1.5 2-1.6h2.6l2-.3s-2.8-1.4-3.5-1.9a9.5 9.5 0 01-2-2l-.6-1.6s-.5 0-1 .3a5 5 0 00-1.2 1l-.7 1 .1-1.2v-.8s-.4 1.2-1 1.7l-1.4 1v-.8l.2-1s-.4.8-1.1 1c-.7 0-1.8 0-1.9.4 0 .5.2 1 0 1.4 0 .3-.4.5-.4.5l-.8-.4c-.4 0-.7.2-.7.2s-.3-.4-.2-.7c.1-.2.7-.6.5-.8l-.8.2c-.3.1-.8.3-.8-.2 0-.4.2-.7 0-1 0-.3 0-.5.2-.6l1.2-.1c0-.2-.2-.5-.8-.6-.6-.1-.8-.5-.5-.8.3-.2.3-.3.5-.6.1-.2.2-.7.7-.5.5.3.4.8 1 1a4 4 0 002-.2l1.5-1 1.5-1-1-.8c-.3-.3-.7-.9-1-1a8.3 8.3 0 00-1.8-.6 9 9 0 01-1.7-.5l.8-.3c.2-.2.6-.6.8-.6h.3-1.4c-.3-.1-1-.6-1.3-.6l-.8.1s.8-.4 1.4-.5l1-.1s-.9-.3-1.1-.6l-.6-1c-.2-.1-.3-.5-.6-.5l-1 .3c-.4 0-.6-.2-.6-.6l-.1-.5c-.2-.3-.6-.8-.2-1h1.4c0-.2-.5-.6-.8-.8-.4-.2-1-.5-.7-.8l.8-.5c.2-.3.3-1 .7-.7.4.2.8 1.2 1.1 1.1.3 0 .3-.8.3-1 0-.4 0-1 .2-.9.3 0 .5.4 1 .5.4 0 1-.1 1 .2 0 .3-.3.7-.6 1-.3.3-.4 1-.3 1.4.2.5.7 1.2 1.2 1.4.4.3 1.2.5 1.7.9.5.3 1.7 1.2 2.1 1.3l.8.4s.5-.2 1.1-.2c.7 0 2.1 0 2.6-.2.6-.2 1.3-.6 1-1-.1-.6-1.3-1-1.2-1.4 0-.4.5-.4 1.2-.4.8 0 1.8.1 2-1 .2-1 .2-1.5-.8-1.8-1-.2-1.8-.2-2-1-.2-.7-.4-.9-.2-1.1.3-.2.6-.3 1.4-.4.8 0 1.6 0 1.9-.2.2-.2.3-.7.6-.9.3-.2 1.4-.4 1.4-.4s1.4.7 2.7 1.7a15 15 0 012.2 2.1"/>
+  <path d="M228.1 226.8l-.2-.6v-.3s.8 0 .7.3c0 .2-.2.2-.3.3l-.2.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M228.1 226.8l-.2-.6v-.3s.8 0 .7.3c0 .2-.2.2-.3.3l-.2.3z"/>
+  <path d="M232 225.4v-.4s.7 0 1 .3c.5.4.9 1 .9 1l-.8-.4h-.5l-.3-.1v-.3h-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M232 225.4v-.4s.7 0 1 .3c.5.4.9 1 .9 1l-.8-.4h-.5l-.3-.1v-.3h-.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M237.3 231.3l-.4-.7a8 8 0 01-.3-.4"/>
+  <path fill="#db4446" d="M217.4 226.6s.5.4.8.4h.8s.2-.5.1-.8c-.2-1.2-1.2-1.4-1.2-1.4s.3.7.1 1a2 2 0 01-.6.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M217.4 226.6s.5.4.8.4h.8s.2-.5.1-.8c-.2-1.2-1.2-1.4-1.2-1.4s.3.7.1 1a2 2 0 01-.6.8z"/>
+  <path fill="#db4446" d="M215.2 227.6s-.4-.7-1.3-.6c-.8 0-1.4.8-1.4.8h1.2c.3.3.4 1 .4 1l.7-.6a7.2 7.2 0 00.4-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M215.2 227.6s-.4-.7-1.3-.6c-.8 0-1.4.8-1.4.8h1.2c.3.3.4 1 .4 1l.7-.6a7.2 7.2 0 00.4-.6z"/>
+  <path fill="#db4446" d="M214.2 230.6s-.8.1-1.2.6c-.4.5-.3 1.3-.3 1.3s.4-.5.9-.5l1 .2-.1-.8-.3-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M214.2 230.6s-.8.1-1.2.6c-.4.5-.3 1.3-.3 1.3s.4-.5.9-.5l1 .2-.1-.8-.3-.8z"/>
+  <path d="M228.2 230.5l.3-.5.3.5h-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M228.2 230.5l.3-.5.3.5h-.7"/>
+  <path d="M229 230.5l.3-.5.4.5h-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M229 230.5l.3-.5.4.5h-.8"/>
+  <path d="M228.6 227.3l.8.3-.7.4-.1-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M228.6 227.3l.8.3-.7.4-.1-.6"/>
+  <path d="M229.5 227.6l.7.2-.5.4-.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M229.5 227.6l.7.2-.5.4-.2-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M224.2 233.7s-.7.2-1 .6c-.4.5-.3 1-.3 1s.6-.5 1.5-.3l1.2.3 1.3-.3s-.7.8-.7 1.3l.2 1.1c0 .7-.6 1.6-.6 1.6l1-.3a4.6 4.6 0 001.7-.8l.9-1s-.2 1 0 1.4l.2 1.6.8-.6c.2-.1.7-.4.9-.7l.3-1s0 .8.4 1.3l.6 1.6s.3-.8.6-1.1c.3-.4.7-.8.7-1a4.3 4.3 0 00-.1-.9l.4.8m-11 .6s.5-.8 1-1l1.1-.8.9-.4m1 5l1.3-.8a4 4 0 001-1"/>
+  <path fill="#db4446" d="M216.6 240.4s-.4-.5-1.1-.3c-.7 0-1.2.9-1.2.9s.6-.2 1-.1.6.4.6.4l.4-.4.3-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M216.6 240.4s-.4-.5-1.1-.3c-.7 0-1.2.9-1.2.9s.6-.2 1-.1.6.4.6.4l.4-.4.3-.6z"/>
+  <path fill="#db4446" d="M215.8 243.2s-.6 0-1.1.3c-.5.4-.5 1.2-.5 1.2s.4-.4.8-.3l.9.2v-.6c.2-.4-.1-.8-.1-.8"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M215.8 243.2s-.6 0-1.1.3c-.5.4-.5 1.2-.5 1.2s.4-.4.8-.3l.9.2v-.6c.2-.4-.1-.8-.1-.8z"/>
+  <path fill="#db4446" d="M217.2 245.8s0 .8.3 1.3c.4.5 1.1.5 1.1.5l-.3-.7c0-.4.3-.8.3-.8s-.3-.3-.7-.3h-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M217.2 245.8s0 .8.3 1.3c.4.5 1.1.5 1.1.5l-.3-.7c0-.4.3-.8.3-.8s-.3-.3-.7-.3h-.7zm16 1.3s2 1.2 1.9 2.2c0 1-1 2.3-1 2.3"/>
+  <path fill="#db4446" d="M224.2 252.6s-.4-.6-1.1-.6c-.7 0-1.4.7-1.4.7s.8-.1 1 .2l.5.6.5-.3.5-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M224.2 252.6s-.4-.6-1.1-.6c-.7 0-1.4.7-1.4.7s.8-.1 1 .2l.5.6.5-.3.5-.6z"/>
+  <path fill="#db4446" d="M222.2 255.3s-1-.1-1.4.3c-.4.5-.4 1.3-.4 1.3s.6-.6 1-.5c.5 0 1 .3 1 .3v-.7l-.3-.7"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M222.2 255.3s-1-.1-1.4.3c-.4.5-.4 1.3-.4 1.3s.6-.6 1-.5c.5 0 1 .3 1 .3v-.7l-.3-.7z"/>
+  <path fill="#db4446" d="M224 258.1s-.3.7 0 1.1c.3.5 1 .8 1 .8s-.3-.4-.2-.8c.1-.3.7-.8.7-.8l-1.4-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M224 258.1s-.3.7 0 1.1c.3.5 1 .8 1 .8s-.3-.4-.2-.8c.1-.3.7-.8.7-.8l-1.4-.2z"/>
+  <path fill="#db4446" d="M236 259.3s-.8-.2-1.2 0c-.5.3-.8 1.4-.8 1.4s.7-.6 1.2-.5c.5 0 1 .3 1 .3v-.8l-.2-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M236 259.3s-.8-.2-1.2 0c-.5.3-.8 1.4-.8 1.4s.7-.6 1.2-.5c.5 0 1 .3 1 .3v-.8l-.2-.4z"/>
+  <path fill="#db4446" d="M236.4 262.2s-.6.6-.4 1.1l.6 1s0-.7.2-1l1-.3-.7-.5a15.8 15.8 0 01-.7-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M236.4 262.2s-.6.6-.4 1.1l.6 1s0-.7.2-1l1-.3-.7-.5a15.8 15.8 0 01-.7-.3z"/>
+  <path fill="#db4446" d="M239.4 263s-.3.8.2 1.3c.6.5 1 .5 1 .5s-.3-.7-.2-1.1c.1-.5.5-.7.5-.7l-.8-.2-.7.3"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M239.4 263s-.3.8.2 1.3c.6.5 1 .5 1 .5s-.3-.7-.2-1.1c.1-.5.5-.7.5-.7l-.8-.2-.7.3z"/>
+  <path fill="#ffd691" stroke="#000" stroke-width=".5" d="M208.8 316.4c2 .6 3 2 3 3.8 0 2.3-2.2 4-5 4-3 0-5.3-1.7-5.3-4 0-1.7 1-3.6 3-3.8l-.2-.4-.7-.7h1.2l.8.5.5-.7c.3-.4.6-.5.6-.5l.6.6.3.5.7-.4.8-.3s0 .4-.2.7l-.1.7"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".5" d="M206.3 326.7s-3.8-2.6-5.5-3c-2-.4-4.5 0-5.5 0 0 0 1.2.8 1.8 1.4.5.5 2.3 1.5 3.3 1.8 3 .8 6-.2 6-.2m1 .2s2.4-2.5 5-2.9c3-.4 5 .3 6.2.6l-1.5.8c-.5.3-2 1.5-4 1.6-2 0-4.4-.3-4.8-.2l-.9.1"/>
+  <path fill="#ad1519" stroke="#000" stroke-width=".5" d="M206.7 323.8a4.8 4.8 0 010-7.1 4.8 4.8 0 011.5 3.5 4.9 4.9 0 01-1.5 3.6"/>
+  <path fill="#058e6e" stroke="#000" stroke-width=".5" d="M205.7 329s.6-1.5.6-2.7l-.1-2.1h.8s.3 1.1.3 2l-.1 2.4-.7.1-.8.3"/>
+  <path fill="#fff" d="M254 190.7c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M254 190.7c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M255.4 188.2c0-.6.5-1 1.1-1 .6 0 1 .4 1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M255.4 188.2c0-.6.5-1 1.1-1 .6 0 1 .4 1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M256.4 185.2c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M256.4 185.2c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M256.5 182c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M256.5 182c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M255.7 179c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M255.7 179c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M254.1 176.1c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M254.1 176.1c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M252 173.8c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M252 173.8c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M249.4 171.8c0-.5.5-1 1.1-1a1 1 0 010 2c-.6 0-1-.4-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M249.4 171.8c0-.5.5-1 1.1-1a1 1 0 010 2c-.6 0-1-.4-1-1z"/>
+  <path fill="#fff" d="M246.5 170.3c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M246.5 170.3c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M243.3 169.1c0-.5.5-1 1.1-1a1 1 0 010 2 1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M243.3 169.1c0-.5.5-1 1.1-1a1 1 0 010 2 1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M239.9 168.5c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M239.9 168.5c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M236.6 168.3c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M236.6 168.3c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M233.3 168.5c0-.6.5-1 1-1 .7 0 1.1.4 1.1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M233.3 168.5c0-.6.5-1 1-1 .7 0 1.1.4 1.1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M230.1 168.5c0-.6.5-1 1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M230.1 168.5c0-.6.5-1 1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M231.7 171.2c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1m.6 3.1c0-.6.4-1 1-1s1 .4 1 1c0 .5-.4 1-1 1a1 1 0 01-1-1m0 3c0-.5.6-1 1.1-1a1 1 0 010 2 1 1 0 01-1-1m-1 2.8c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1 0 .6-.4 1-1 1a1 1 0 01-1-1m-1.9 2.6c0-.5.5-1 1-1 .7 0 1.2.5 1.2 1s-.5 1-1.1 1c-.6 0-1-.4-1-1"/>
+  <path fill="#fff" d="M227.6 166.5c0-.5.5-1 1.1-1a1 1 0 010 2 1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M227.6 166.5c0-.5.5-1 1.1-1a1 1 0 010 2 1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M224.8 165c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M224.8 165c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M221.6 164c0-.6.5-1 1-1 .6 0 1.1.4 1.1 1 0 .5-.5 1-1 1-.6 0-1.1-.5-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M221.6 164c0-.6.5-1 1-1 .6 0 1.1.4 1.1 1 0 .5-.5 1-1 1-.6 0-1.1-.5-1.1-1z"/>
+  <path fill="#fff" d="M218.3 163.4c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M218.3 163.4c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M215 163.5c0-.6.5-1 1.1-1 .6 0 1 .4 1 1 0 .5-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M215 163.5c0-.6.5-1 1.1-1 .6 0 1 .4 1 1 0 .5-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M211.7 164c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M211.7 164c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M208.6 165.1c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M208.6 165.1c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M156 190.7c0-.5.4-1 1-1s1 .5 1 1c0 .6-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M156 190.7c0-.5.4-1 1-1s1 .5 1 1c0 .6-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M154.5 188.2c0-.6.5-1 1-1 .6 0 1 .4 1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M154.5 188.2c0-.6.5-1 1-1 .6 0 1 .4 1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M153.5 185.2c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M153.5 185.2c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M153.4 182c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M153.4 182c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M154.2 179c0-.6.5-1 1-1 .6 0 1 .4 1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M154.2 179c0-.6.5-1 1-1 .6 0 1 .4 1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M155.8 176.1c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M155.8 176.1c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1s-.5 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M158 173.8c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M158 173.8c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M160.5 171.8c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M160.5 171.8c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M163.5 170.3c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M163.5 170.3c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M166.6 169.1c0-.5.5-1 1-1a1 1 0 010 2 1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M166.6 169.1c0-.5.5-1 1-1a1 1 0 010 2 1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M170 168.5c0-.5.5-1 1.1-1a1 1 0 010 2c-.6 0-1-.4-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M170 168.5c0-.5.5-1 1.1-1a1 1 0 010 2c-.6 0-1-.4-1-1z"/>
+  <path fill="#fff" d="M173.4 168.3c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M173.4 168.3c0-.5.4-1 1-1s1 .5 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M176.6 168.5c0-.6.5-1 1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M176.6 168.5c0-.6.5-1 1-1 .6 0 1.1.4 1.1 1s-.5 1-1 1a1 1 0 01-1.1-1z"/>
+  <path fill="#fff" d="M179.8 168.5c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M179.8 168.5c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1s-.5 1-1.1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".4" d="M178.2 171.2c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1m-.7 3.1c0-.6.4-1 1-1s1 .4 1 1c0 .5-.4 1-1 1a1 1 0 01-1-1m-.2 3c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1m.9 2.8c0-.5.5-1 1-1 .6 0 1.1.5 1.1 1 0 .6-.5 1-1 1a1 1 0 01-1.1-1m1.8 2.6c0-.5.5-1 1-1a1 1 0 010 2 1 1 0 01-1-1"/>
+  <path fill="#fff" d="M182.3 166.5c0-.5.5-1 1-1a1 1 0 010 2 1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M182.3 166.5c0-.5.5-1 1-1a1 1 0 010 2 1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M185.2 165c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M185.2 165c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M188.3 164c0-.6.5-1 1-1 .7 0 1.1.4 1.1 1 0 .5-.4 1-1 1s-1-.5-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M188.3 164c0-.6.5-1 1-1 .7 0 1.1.4 1.1 1 0 .5-.4 1-1 1s-1-.5-1-1z"/>
+  <path fill="#fff" d="M191.6 163.4c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M191.6 163.4c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M194.9 163.5c0-.6.4-1 1-1s1 .4 1 1c0 .5-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M194.9 163.5c0-.6.4-1 1-1s1 .4 1 1c0 .5-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M198.2 164c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M198.2 164c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#fff" d="M201.3 165.1c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1"/>
+  <path fill="none" stroke="#000" stroke-width=".4" d="M201.3 165.1c0-.5.5-1 1-1 .7 0 1.1.5 1.1 1s-.4 1-1 1a1 1 0 01-1-1z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M174.7 228.9h-1v-1h-1.5v3.6h1.6v2.5h-3.4v7h1.8v14.3h-3.5v7.3h27.2v-7.3h-3.5V241h1.8v-7h-3.4v-2.5h1.6V228h-1.6v.9h-.8v-1h-1.6v1h-1.1v-1h-1.6v3.6h1.6v2.5H184v-7.8h1.7v-3.5H184v.9h-1v-1h-1.5v1h-.9v-1H179v3.6h1.7v7.8h-3.3v-2.5h1.6V228h-1.6v.9h-.9v-1h-1.8v1zm-6 33.7H196m-27.3-1.8H196m-27.3-1.8H196m-27.3-1.7H196m-27.3-2H196m-23.8-1.6h20.2m-20.2-1.8h20.2m-20.2-2h20.2m-20.2-1.7h20.2m-20.2-1.8h20.2m-20.2-1.8h20.2m-20.2-1.7h20.2m-22-1.8h23.8m-23.8-1.8h23.8m-23.8-1.8h23.8m-23.8-1.8h23.8m-20.4-1.7h17m-10.2-1.8h3.4m-3.4-1.8h3.4m-3.4-1.8h3.4m-3.4-1.7h3.4m-5.1-2.2h6.8m-12 7.5h3.6m-5-2.2h6.6m-6.7 32.6v-1.8m0-1.8v-1.7m-1.8 1.7v1.8m3.4 0V259m1.7 3.6v-1.8m0-1.8v-1.7m0-2v-1.6m0-1.8v-2m-1.7 7.4v-2m-3.4 2v-2m7 0v2m1.5-2v-1.6m-5.1-1.8v1.8m3.5-1.8v1.8m3.3-1.8v1.8M179 252v-2m1.7-1.7v1.7m0-5.3v1.8m-1.7-3.6v1.8m1.7-3.5v1.7m-3.3-1.7v1.7m-3.5-1.7v1.7m-1.6-3.5v1.8m3.3-1.8v1.8m3.4-1.8v1.8m1.7-3.6v1.8m-3.3-1.8v1.8m-3.5-1.8v1.8m-1.6-3.6v1.8m6.7-1.8v1.8m-3.4-5.3v1.8m15.3-1.8h-3.5m5-2.2h-6.6m6.7 32.6v-1.8m0-1.8v-1.7m1.8 1.7v1.8m-3.4 0V259m-1.7 3.6v-1.8m0-1.8v-1.7m0-2v-1.6m0-1.8v-2m1.7 7.4v-2m3.4 2v-2m-7 0v2m-1.5-2v-1.6m5.1-1.8v1.8m-3.5-1.8v1.8m-3.3-1.8v1.8m1.7-1.8v-2m-1.7-1.7v1.7m0-5.3v1.8m1.7-3.6v1.8m-1.7-3.5v1.7m3.3-1.7v1.7m3.5-1.7v1.7m1.6-3.5v1.8m-3.3-1.8v1.8m-3.4-1.8v1.8m-1.7-3.6v1.8m3.3-1.8v1.8m3.5-1.8v1.8m1.6-3.6v1.8m-6.7-1.8v1.8m3.4-5.3v1.8m-7 18v-2m0-5.4v-1.8m0 5.4v-1.8m0-5.3v-1.8m0-1.8v-1.7m0-3.6v-1.8m0-1.7v-1.8m-8.3 4.6h3.5m3.3-5.3h3.4m3.3 5.3h3.5"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M186.8 262.6v-4.7c0-.8-.4-3.5-4.6-3.5-4 0-4.4 2.7-4.4 3.5v4.7h9z"/>
+  <path fill="#c8b100" stroke="#000" stroke-width=".4" d="M179.3 258.2l-2.2-.3c0-.9.2-2.2.9-2.6l2 1.5c-.3.2-.7 1-.7 1.4zm6 0l2.2-.3c0-.9-.2-2.2-.9-2.6l-2 1.5c.3.2.7 1 .7 1.4zm-2.2-2.3l1-2a5.3 5.3 0 00-2-.4l-1.7.4 1.1 2h1.6zm-4.2-5.5v-4.9c0-1.3-1-2.4-2.5-2.4s-2.4 1-2.4 2.4v4.9h4.9zm6.8 0v-4.9c0-1.3 1-2.4 2.5-2.4s2.4 1 2.4 2.4v4.9h-4.9zm-1.7-12l.4-4.4h-4.2l.2 4.4h3.6zm3.3 0l-.4-4.4h4.4l-.5 4.4h-3.5zm-10 0l.2-4.4h-4.2l.5 4.4h3.5z"/>
+  <path fill="#0039f0" d="M185.3 262.6v-4c0-.7-.5-2.7-3.1-2.7-2.4 0-2.9 2-2.9 2.7v4h6zm-6.9-12.7v-4.2c0-1-.6-2.2-2-2.2s-2 1.1-2 2.2v4.3h4zm7.8 0v-4.2c0-1 .7-2.2 2-2.2s2 1.1 2 2.2v4.3h-4z"/>
+  <path fill="#ad1519" d="M190.8 269.8c0-9.7 7-17.6 15.6-17.6s15.6 7.9 15.6 17.6-7 17.5-15.6 17.5-15.6-7.8-15.6-17.5"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M190.8 269.8c0-9.7 7-17.6 15.6-17.6s15.6 7.9 15.6 17.6-7 17.5-15.6 17.5-15.6-7.8-15.6-17.5z"/>
+  <path fill="#005bbf" d="M195.4 269.7c0-7 5-12.8 11-12.8s11 5.7 11 12.8c0 7.2-5 13-11 13s-11-5.8-11-13"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M195.4 269.7c0-7 5-12.8 11-12.8s11 5.7 11 12.8c0 7.2-5 13-11 13s-11-5.8-11-13z"/>
+  <path fill="#c8b100" d="M201.2 260.9s-1.3 1.4-1.3 2.7a6 6 0 00.6 2.4c-.2-.5-.8-.8-1.4-.8-.8 0-1.4.6-1.4 1.3l.2.8.5.9c.1-.3.5-.5 1-.5s1 .4 1 1a.9.9 0 010 .2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1a.9.9 0 010-.3 1 1 0 011-1c.4 0 .7.3 1 .6l.4-1 .2-.7a1.4 1.4 0 00-1.4-1.3c-.7 0-1.2.3-1.4.9 0 0 .6-1.2.6-2.5s-1.4-2.7-1.4-2.7"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M201.2 260.9s-1.3 1.4-1.3 2.7a6 6 0 00.6 2.4c-.2-.5-.8-.8-1.4-.8-.8 0-1.4.6-1.4 1.3l.2.8.5.9c.1-.3.5-.5 1-.5s1 .4 1 1a.9.9 0 010 .2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1a.9.9 0 010-.3 1 1 0 011-1c.4 0 .7.3 1 .6l.4-1 .2-.7a1.4 1.4 0 00-1.4-1.3c-.7 0-1.2.3-1.4.9 0 0 .6-1.2.6-2.5s-1.4-2.7-1.4-2.7z"/>
+  <path fill="#c8b100" d="M199.2 269.9h4.1v-1h-4.1v1z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M199.2 269.9h4.1v-1h-4.1v1z"/>
+  <path fill="#c8b100" d="M211.4 260.9s-1.3 1.4-1.3 2.7c0 1.3.6 2.4.6 2.4-.2-.5-.7-.8-1.4-.8-.8 0-1.4.6-1.4 1.3l.2.8.5.9c.2-.3.5-.5 1-.5a1 1 0 011 1 .9.9 0 010 .2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1a.8.8 0 010-.3 1 1 0 011-1c.4 0 .8.3 1 .6l.4-1 .2-.7a1.4 1.4 0 00-1.4-1.3c-.6 0-1.2.3-1.4.9 0 0 .6-1.2.6-2.5s-1.4-2.7-1.4-2.7"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M211.4 260.9s-1.3 1.4-1.3 2.7c0 1.3.6 2.4.6 2.4-.2-.5-.7-.8-1.4-.8-.8 0-1.4.6-1.4 1.3l.2.8.5.9c.2-.3.5-.5 1-.5a1 1 0 011 1 .9.9 0 010 .2h-1.2v1h1l-.8 1.5 1-.4.8.9.8-.9 1 .4-.7-1.5h1v-1h-1.1a.8.8 0 010-.3 1 1 0 011-1c.4 0 .8.3 1 .6l.4-1 .2-.7a1.4 1.4 0 00-1.4-1.3c-.6 0-1.2.3-1.4.9 0 0 .6-1.2.6-2.5s-1.4-2.7-1.4-2.7z"/>
+  <path fill="#c8b100" d="M209.4 269.9h4.1v-1h-4.1v1z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M209.4 269.9h4.1v-1h-4.1v1z"/>
+  <path fill="#c8b100" d="M206.3 269.6s-1.3 1.5-1.3 2.8.6 2.4.6 2.4c-.2-.5-.7-.9-1.4-.9-.8 0-1.4.6-1.4 1.4l.2.7.5 1c.1-.4.5-.6 1-.6a1 1 0 011 1 .9.9 0 010 .3h-1.2v1h1l-.8 1.5 1-.4.8.9.8-1 1 .5-.7-1.5h1v-1h-1.1a.9.9 0 010-.3 1 1 0 011-1c.4 0 .7.2.9.6l.5-1 .2-.7a1.4 1.4 0 00-1.4-1.4c-.7 0-1.2.4-1.4 1 0 0 .6-1.2.6-2.5s-1.4-2.7-1.4-2.7"/>
+  <path fill="none" stroke="#000" stroke-linejoin="round" stroke-width=".3" d="M206.3 269.6s-1.3 1.5-1.3 2.8.6 2.4.6 2.4c-.2-.5-.7-.9-1.4-.9-.8 0-1.4.6-1.4 1.4l.2.7.5 1c.1-.4.5-.6 1-.6a1 1 0 011 1 .9.9 0 010 .3h-1.2v1h1l-.8 1.5 1-.4.8.9.8-1 1 .5-.7-1.5h1v-1h-1.1a.9.9 0 010-.3 1 1 0 011-1c.4 0 .7.2.9.6l.5-1 .2-.7a1.4 1.4 0 00-1.4-1.4c-.7 0-1.2.4-1.4 1 0 0 .6-1.2.6-2.5s-1.4-2.7-1.4-2.7z"/>
+  <path fill="#c8b100" d="M204.3 278.6h4.1v-1h-4.1v1z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M204.3 278.6h4.1v-1h-4.1v1z"/>
+  <path fill="#c8b100" d="M237.6 223.4h-.3a1.5 1.5 0 01-.3.4c-.2.2-.6.2-.8 0a.5.5 0 01-.1-.4.5.5 0 01-.5 0c-.3-.1-.3-.5-.1-.7v-.5h-.3l-.1.2c-.2.3-.5.3-.7.2a.6.6 0 010-.2h-.3c-.5.2-.7-1-.7-1.2l-.2.2s.2.7.1 1.2c0 .6-.3 1.2-.3 1.2a9 9 0 012.9 1.6 9 9 0 012.2 2.3l1.2-.5c.6-.2 1.3-.2 1.3-.2l.2-.2c-.3 0-1.5.1-1.5-.4v-.2a.7.7 0 01-.2 0c-.2-.2-.2-.4 0-.7l.2-.1v-.3h-.3l-.2.1c-.2.3-.6.3-.8 0a.4.4 0 01-.1-.4.6.6 0 01-.5 0c-.2-.2-.3-.5 0-.8l.2-.3v-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M237.6 223.4h-.3a1.5 1.5 0 01-.3.4c-.2.2-.6.2-.8 0a.5.5 0 01-.1-.4.5.5 0 01-.5 0c-.3-.1-.3-.5-.1-.7v-.5h-.3l-.1.2c-.2.3-.5.3-.7.2a.6.6 0 010-.2h-.3c-.5.2-.7-1-.7-1.2l-.2.2s.2.7.1 1.2c0 .6-.3 1.2-.3 1.2a9 9 0 012.9 1.6 9 9 0 012.2 2.3l1.2-.5c.6-.2 1.3-.2 1.3-.2l.2-.2c-.3 0-1.5.1-1.5-.4v-.2a.7.7 0 01-.2 0c-.2-.2-.2-.4 0-.7l.2-.1v-.3h-.3l-.2.1c-.2.3-.6.3-.8 0a.4.4 0 01-.1-.4.6.6 0 01-.5 0c-.2-.2-.3-.5 0-.8l.2-.3v-.3z"/>
+  <path d="M235.4 224h.2v.3h-.1c-.1 0-.1-.2 0-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M235.4 224h.2v.3h-.1c-.1 0-.1-.2 0-.2z"/>
+  <path d="M236.3 224.8l-.3-.2v-.2h.1l.4.3.3.2v.2h-.2l-.3-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M236.3 224.8l-.3-.2v-.2h.1l.4.3.3.2v.2h-.2l-.3-.3"/>
+  <path d="M234.6 223.7l-.2-.2s-.1 0 0-.1l.3.1.3.1v.2h-.1l-.3-.1"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M234.6 223.7l-.2-.2s-.1 0 0-.1l.3.1.3.1v.2h-.1l-.3-.1"/>
+  <path d="M233.7 223h.2v.2h-.2s-.1-.1 0-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M233.7 223h.2v.2h-.2s-.1-.1 0-.2z"/>
+  <path d="M237.3 225.5v-.2h-.3l.1.2h.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M237.3 225.5v-.2h-.3l.1.2h.2z"/>
+  <path d="M237.9 226.2l.2.2h.1c.1 0 0-.1 0-.2l-.2-.2-.2-.2h-.1v.2l.2.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M237.9 226.2l.2.2h.1c.1 0 0-.1 0-.2l-.2-.2-.2-.2h-.1v.2l.2.2"/>
+  <path d="M238.8 227v-.3h-.3v.2h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M238.8 227v-.3h-.3v.2h.3z"/>
+  <path fill="#c8b100" d="M236.2 221.1h-.6l-.1.9v.1h.2l.7-.5-.3-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M236.2 221.1h-.6l-.1.9v.1h.2l.7-.5-.3-.5"/>
+  <path fill="#c8b100" d="M234.6 221.6v.5l.9.1h.1v-.2l-.5-.7-.5.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M234.6 221.6v.5l.9.1h.1v-.2l-.5-.7-.5.3"/>
+  <path fill="#c8b100" d="M236.4 222.6l-.4.3-.6-.7v-.1h1.1v.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M236.4 222.6l-.4.3-.6-.7v-.1h1.1v.5"/>
+  <path fill="#c8b100" d="M235.3 222a.3.3 0 01.4 0 .3.3 0 010 .3.3.3 0 01-.3 0 .3.3 0 01-.1-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M235.3 222a.3.3 0 01.4 0 .3.3 0 010 .3.3.3 0 01-.3 0 .3.3 0 01-.1-.3z"/>
+  <path fill="#c8b100" d="M233.2 221.1l-.2-.7-.4-.4s.4-.2.8.1c.4.3 0 .9 0 .9l-.2.1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M233.2 221.1l-.2-.7-.4-.4s.4-.2.8.1c.4.3 0 .9 0 .9l-.2.1z"/>
+  <path fill="#c8b100" d="M234.2 221.4l-.4.4-.6-.6v-.2h1v.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M234.2 221.4l-.4.4-.6-.6v-.2h1v.4"/>
+  <path fill="#c8b100" d="M233.1 221l.3-.1v.3c0 .2-.1.2-.2.2l-.1-.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M233.1 221l.3-.1v.3c0 .2-.1.2-.2.2l-.1-.3z"/>
+  <path fill="#c8b100" d="M238.3 222.5h-.5l-.3.7v.2h.2l.8-.4-.2-.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M238.3 222.5h-.5l-.3.7v.2h.2l.8-.4-.2-.5"/>
+  <path fill="#c8b100" d="M236.7 222.8v.5l.8.2h.1v-.2l-.4-.7-.5.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M236.7 222.8v.5l.8.2h.1v-.2l-.4-.7-.5.2"/>
+  <path fill="#c8b100" d="M238.4 224l-.5.2-.4-.7v-.2h.1l.9.2-.1.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M238.4 224l-.5.2-.4-.7v-.2h.1l.9.2-.1.5"/>
+  <path fill="#c8b100" d="M237.3 223.2h.4a.3.3 0 010 .4.3.3 0 01-.3 0 .3.3 0 010-.4"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M237.3 223.2h.4a.3.3 0 010 .4.3.3 0 01-.3 0 .3.3 0 010-.4z"/>
+  <path fill="#c8b100" d="M240.2 224.3l.1.5-.8.3h-.2v-.2l.4-.8.5.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M240.2 224.3l.1.5-.8.3h-.2v-.2l.4-.8.5.2"/>
+  <path fill="#c8b100" d="M240 225.8l-.5.1-.3-.8v-.1h.2l.8.3-.1.5"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M240 225.8l-.5.1-.3-.8v-.1h.2l.8.3-.1.5"/>
+  <path fill="#c8b100" d="M238.6 224.3l-.2.5.9.3h.1v-.1l-.3-.8-.5.1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M238.6 224.3l-.2.5.9.3h.1v-.1l-.3-.8-.5.1"/>
+  <path fill="#c8b100" d="M239.5 225.2a.3.3 0 000-.3.3.3 0 00-.4 0 .3.3 0 000 .3.3.3 0 00.4 0"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M239.5 225.2a.3.3 0 000-.3.3.3 0 00-.4 0 .3.3 0 000 .3.3.3 0 00.4 0z"/>
+  <path fill="#c8b100" d="M240.8 227h.8l.5.3s.1-.4-.3-.7c-.3-.3-.8.2-.8.2l-.2.2"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M240.8 227h.8l.5.3s.1-.4-.3-.7c-.3-.3-.8.2-.8.2l-.2.2z"/>
+  <path fill="#c8b100" d="M240.3 226.1l-.3.5.8.5v-.1h.2l-.1-1-.6.1"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M240.3 226.1l-.3.5.8.5v-.1h.2l-.1-1-.6.1"/>
+  <path fill="#c8b100" d="M241 227s.1-.1 0-.2h-.3c-.2 0-.2.1-.1.2h.3"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M241 227s.1-.1 0-.2h-.3c-.2 0-.2.1-.1.2h.3zm38-21.9v.6h-2.4v-.6h1v-1.3h-.7v-.5h.6v-.6h.6v.6h.6v.6h-.6v1.2h1"/>
+  <path fill="none" stroke="#000" stroke-width="0" d="M134.4 217.1v-1.2m-.4 1.2v-1.2m-.2 1.2v-1.2m-.3 1.2v-1.2"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M133.2 217.1v-1.2m-.5 1.1v-1m.2 1v-1m-.7 1v-1m.2 1v-1m-.9 1v-1m.2 1v-1m.3 1v-1m-.7 1v-1m-.3.9v-.8m-.1.8v-.8m-.5.7v-.6m.2.6v-.6m-.4.5v-.5m-.2.5v-.4m-.3.3v-.3m-.3.3v-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M129.2 216.6v-.2"/>
+  <path fill="none" stroke="#000" stroke-width="0" d="M135.7 217v-1m-.5 1v-1m-.4 1.2V216m143 1.1V216m-.4 1.1V216m-.3 1.1V216m-.3 1.2V216"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M276.6 217.1V216m-.6 1v-1m.3 1v-1m-.8 1v-1m.3 1v-1m-.9 1v-1m.2 1v-1m.2 1v-1m-.6 1v-1m-.3.9v-.8m-.2.8v-.8m-.4.7v-.6m.2.6v-.6m-.5.6v-.6m-.2.5v-.4m-.3.4v-.4m-.2.3v-.2"/>
+  <path fill="none" stroke="#000" stroke-width=".2" d="M272.6 216.6v-.2"/>
+  <path fill="none" stroke="#000" stroke-width="0" d="M279.1 217v-1m-.6 1v-1m-.4 1.1V216"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/et.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/et.svg
new file mode 100644
index 0000000..9145fd7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/et.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-et" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="et-a">
+      <path fill-opacity=".7" d="M-61.3 0h682.7v512H-61.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#et-a)" transform="translate(57.5) scale(.94)">
+    <path fill="#ffc621" d="M-238 3.5H800v498H-238z"/>
+    <path fill="#ef2118" d="M-240 342.5H799.3V512H-240z"/>
+    <path fill="#298c08" d="M-238 0H800v180H-238z"/>
+    <circle cx="534.2" cy="353" r="199.7" fill="#006bc6" transform="matrix(.54 0 0 .54 -25.8 74)"/>
+    <path fill="#ffc621" d="M214.3 188.2l-6.5 4.5 23.5 33 6.3-4-23.4-33.5zm29.4 78l-9.7-6.8 4-12.7-48.1.7-14-10.7 65.7-.7 12.2-36.9 6.6 15-16.7 52zm76.5-70.7l-6.3-4.8-24.3 32.4 5.6 4.7 25-32.3zM254.8 247l3.5-11.2h13.3L256.4 190l6-16.5 20.5 62.4 38.8.5-12.2 10.7-54.7-.2zm90.6 51.2l2.7-7.4-38.3-13.3-2.8 7 38.4 13.7zm-69.1-46.4l11.7-.1 4.1 12.6 38.8-28.5 17.6.6-53.1 38.7 11.5 37.2-14-8.4-16.6-52.1zm-19.8 102l7.9.2.3-40.5-7.4-.5-.8 40.9zm22-80.3l3.8 11.1-10.7 8 39.4 27.7 5 16.8-53.6-38-31.5 22.7 3.5-16 44-32.3zm-103.3 13l2.3 7.5 38.7-12.2-2-7.2-39 11.9zm83.2-4l-9.4 7.1-10.8-7.7-14.2 46-14.4 10 19.5-62.7-31.4-23 16.3-1.6 44.4 31.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eu.svg
new file mode 100644
index 0000000..b6a39f5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/eu.svg
@@ -0,0 +1,28 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-eu" viewBox="0 0 640 480">
+  <defs>
+    <g id="d">
+      <g id="b">
+        <path id="a" d="M0-1l-.3 1 .5.1z"/>
+        <use transform="scale(-1 1)" xlink:href="#a"/>
+      </g>
+      <g id="c">
+        <use transform="rotate(72)" xlink:href="#b"/>
+        <use transform="rotate(144)" xlink:href="#b"/>
+      </g>
+      <use transform="scale(-1 1)" xlink:href="#c"/>
+    </g>
+  </defs>
+  <path fill="#039" d="M0 0h640v480H0z"/>
+  <g fill="#fc0" transform="translate(320 242.3) scale(23.7037)">
+    <use width="100%" height="100%" y="-6" xlink:href="#d"/>
+    <use width="100%" height="100%" y="6" xlink:href="#d"/>
+    <g id="e">
+      <use width="100%" height="100%" x="-6" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-144 -2.3 -2.1)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(144 -2.1 -2.3)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(72 -4.7 -2)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(72 -5 .5)" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#e"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fi.svg
new file mode 100644
index 0000000..c3451a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fi.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fi" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#003580" d="M0 174.5h640v131H0z"/>
+  <path fill="#003580" d="M175.5 0h130.9v480h-131z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fj.svg
new file mode 100644
index 0000000..c7549b5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fj.svg
@@ -0,0 +1,122 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fj" viewBox="0 0 640 480">
+  <path id="path564" fill="#68bfe5" d="M0 0v480h640V0H0z"/>
+  <g id="g768" stroke-miterlimit="4.8">
+    <path id="path566" fill="#fff" d="M420.9 193.2v136.4c0 44.6 80.6 71 80.6 71s80.5-26.4 80.5-71V193.2z"/>
+    <path id="path568" fill="#d21034" d="M490.3 241.2v61.4h-69.4v22.3h69.4v71.5l11.2 4.3 11.1-4.3V325H582v-22.4h-69.4v-61.4z"/>
+    <path id="path570" fill="#d21034" d="M420.9 193.2H582V246H420.8z"/>
+    <g id="g642" stroke-miterlimit="3">
+      <g id="g580" fill="#fff" stroke="#000" stroke-width=".8" transform="translate(-96.9 97.5) scale(.66486)">
+        <ellipse id="ellipse572" cx="798.2" cy="192.2" rx="13.6" ry="11"/>
+        <ellipse id="ellipse574" cx="798.2" cy="186.5" rx="12.1" ry="6.1"/>
+        <ellipse id="ellipse576" cx="798.2" cy="198.8" rx="12.1" ry="6.1"/>
+        <ellipse id="ellipse578" cx="798.2" cy="192.2" rx="12.1" ry="6.1"/>
+      </g>
+      <path id="path582" fill="#ffd100" stroke="#000" stroke-width=".8" d="M578 235.4l-1.3-3.6s-3.6-1.5-3.9-3.4c-.6-5.1-2.4-7-5.2-7.8a6 6 0 00-4.5.5c-.8 1.2-5 1.2-7.2 1.3-2.3 0-2.4-1-2.4-1-1.7 0-2.5-1.3-2.5-1.3-1.1-2.3-2-3.2-2.6-3.5 3 0 5.2-1.3 8.6-4.8 3.6-3.8 6.2-2.4 6.2-2.4-1.8 3.6.6 3.3.6 3.3 4.8-2.5.6-8.7-.8-8.4-1.5.3-1.9-.7-1.9-.7 0 1.1-1.6 1.6-1.6 1.6 1.2-7.1-3-9-3-9-.6.6-1 1.9-1 1.9-1.2 4.3-5.1 3.6-9.5 1.5-4.4-2-16 2.2-19.7 3.7-3.7 1.5-10.4 3.7-16.4.4-6-3.4-7.5-2.8-9.9-2.1-2.3.6-6.5 1.6-8 .8a8.5 8.5 0 00-3.4-.9c.4-.2-.2-1.2-.2-1.2-1.9-2.5.2-4 .2-4s-3.4 1-2 6.8l.6.8s.4 1.9 1.4 2.4v.4s.9-.4 1.1.8c.3 1.2 1.6 0 2.1-1 0 0-.9 5.4 5.7 6.7 0 0-.7-.9-.5-1.4.3-.6-.8-1-.7-1.8.1-.9-1.6-1.2-.3-1.9 1.4-.6 2-1.9 5-.1 2.9 1.7 5.2 1.3 5.2 1.3s-1.8-3.6-.8-3.6 5.4 5.4 7.5 5.2c2.2-.3 6.4-2.8 8.5-1.9 0 0 .2-1 8.2-2.4 8-1.4 18-5.4 21.7-1.9 0 0 .4 2.8 2 3.5 0 0-.3 5.8-10.2 2.6l-3.6-1s-.6-1.7-19.5 3.2c0 0-1.1.4-1.9.9-.7.5-1.7-.3-5.5 1-3.7 1.5-17.7 6-26.3 4.4-1.9-.6-3.6-.3-3.7-.6 0-.3 1 .1 1 .1-.6-.7-.9-.8-.9-.8-7.2-.8-6-4-6-4l.4 1c1.2-1.6-.4-5.2-.4-5.2h-.1a3.8 3.8 0 000-.3l.5-.4c3.5-3 7.5-3.5 7.5-3.5-2.4-3-7.4-1.4-7.4-1.4.1-3.5-1.4-7.7-1.4-7.7a12 12 0 00-7.7 4.7c-.2-3.7-4.9-5.8-4.9-5.8 1.8 2.1.7 7.2.7 7.2h.2-.5l-.1 1.1h-.2s-1.7.6-3.7 5.2c0 0-.2 1-1 2v-.4s-2.3 3-7.4 0c0 0-7-4.1-9.6-4-2.4.2-4 1.3-3.9 2 0 0-5.7-.4-7.6 2.8 0 0-4.3 1.6-.6 5 0 0 .5 1.6 1.5 2.4 0 0-.1-3.2.7-2.3l.5.6c.1.4.5 1.6 1.2 2.3l.6-.2c0-.8.2-1.8.4-2.2h.2l1 1.6 1-.6c.6 0 1.3.5 1.3.5l1.3-1.1c1.3.2 1.7-2.4 1.7-2.4a4 4 0 003.1-.5c.6 2 5.2 4.3 5.2 4.3h.2l-.6.4c2.1 1.5 6 1.1 6 1.1-1.6.6-1.4 3.7-1.4 3.7-1 .4-1 1.3-1 1.3 3.2 1.3 5.3.2 5.3.2.2 1 0 1.2 0 1.2-1.3 2.7-1.9 5.4-1.9 5.4h.1v.2s-5.7 2-8.1 4.7c0 0-.3-.8-1-.8s-2.8-1.8-3.8-2.1c-1-.3-2.5.3-3-.2-.3-.4-.1-3.6-.8-4l-.7-2c-.4 1-2.4.8-2.4.8l-.8.6-.8-.1c-.2 0-.4.5-.5 1l-.3.3v-.6c-.3.3-1.1-.1-1.4-.1-.2 0-.4.4-.5.9l-1.9.1c-.3.2 0 2.6 0 2.6-2.3 1.2-1.2 3.1-1.2 3.1 1.2 6 11.5 3.3 12.3 4.1.8.8 2.6 1 3.5 1 1 0 2.1 2.2 3.4 2.4 1.3.2 0-1.8 6.1-3.2 6.1-1.5 8.2-4 8.2-4 1.9-.4 2.4-2.7 2.5-3.6l.2 1.4c.3 2.1-1.2 3-1.2 3l5.3-1.7c2.1-.5 1.8-2.4 1.8-2.4 2 5.8 5.7 6.2 5.7 6.2.7-2.2.6-2.9.6-2.9h1.7c0-1.3-1-2.2-1.7-2.6l2.6 1.5 1-.1c0 .9 1.3 1.7 1.3 1.7l.2-1.2c1.2 1.6 3.4 1 3.4 1a7.3 7.3 0 00-.2-.8c4.7 2.9 12.2-.8 12.2-.8 2 .4 2.3-.8 2.3-.8 2.2.3 2.8-1.3 2.8-1.3 5.3-.4 9.1-4.2 9.1-4.2 2.7-.2 2.8-2.1 2.8-2.1s2.6.5 5.2-2.7c6-8.5 14.8-4 14.8-4l-5.1.3c-13.5-.1-7.9 9-7.9 9h.8c1.3.2 5.7 3.7 4 6.2v.2c-2.8 3.7-7.8.2-9.3-3-1.4-3.2-4.4-2.5-4.4-2.5s-7.5 1.3-4.4 7.3c.1 1.5 1 3.2 3.8 4.8 1.5 2.2 6.5 2.4 10.1 1.6C524 244 533 240 533 240c.7-2 3-1.5 5-4.4 2-2.8-2.9-3.8-4-5.4-1-1.5.3-1.2.3-1.2 4.4 2.3 4.8-5.2 4.8-5.2a6.6 6.6 0 004.3 5.5c2.3-2.3.6-7.2.6-7.2 5.7 10.2 9.1 8.5 9.1 8.5-3-1.8-1.5-4.4-1.5-4.4 2.7 10.8 14 1.4 14 1.4-.6 1.6 0 2.5 1 3.5s2.2 1.4 1.6 3.3c-.5 1.8-5.8 1.4-5.8 1.4s-5-.2-4.6 4c.3 1 3.6 1.4 5 1.1 0 0-.6.2 1.3.4h2.2c2.1 0 4.5-.4 4.5-.4 2.9-.6 2.4-1.6 2.4-1.6 4.5-.8 5-3.8 5-3.8z"/>
+      <path id="path584" d="M429.6 216.7s.3-.5.7-.6c.4 0 .8.2 1.2.8l.3-.2s-1.2-1.8-.8-3c.3-.6.8-1 1.6-1.1v-.3c-1 .2-1.6.6-1.8 1.3a2 2 0 00-.2.7c0 .6.2 1.2.5 1.7a1.1 1.1 0 00-.8-.2 1 1 0 00-.8.6zm141 24c-3 .5-7.5.7-7.9-.2 0-.2 0-.8 2.4-2.4l-.2-.5c-2.1 1.4-3 2.3-2.7 3 .7 1.8 7.2.8 8.5.6zm-58.4 1.7c-.7-1-.3-2.5 1-4.3l-.5-.3c-1.4 2-1.7 3.6-1 5z"/>
+      <path id="path586" d="M508.1 237.8c0 1.9 1.4 3.6 3.9 5.1l.3-.5c-2.4-1.4-3.6-3-3.6-4.6-.2-2.5 2.5-4.5 2.6-4.5l-.3-.4c-.2 0-3 2.1-2.9 5zm52 .7c-.8 1.3-.5 2.8-.5 2.8h.5c0-.1-.2-1.4.5-2.5a3 3 0 012-1.2v-.5c-1.1.2-2 .7-2.4 1.4zM441 215.1h-.2v.2s-.2 1.6-1 2a.8.8 0 01-.6 0l-1.3-.7c-.2-.2-.4-.3-.8-.2a1.8 1.8 0 01-.4-1.4c.1-.7.6-1.4 1.6-2l-.2-.3c-1 .7-1.6 1.5-1.7 2.3 0 1 .5 1.6.5 1.6v.1h.2c.3-.1.3 0 .6.2l1.4.8h1c.7-.5 1-1.9 1-2.2 3.2.7 5.8-3.3 6-3.4l-.3-.2s-2.7 4-5.8 3.2z"/>
+      <path id="path588" d="M433.1 214.5a3 3 0 00.4 2c.3.5.7.8 1 .9.5 0 .8-.3 1.2-.6.2-.2.4-.4.6-.4l.3.2.2-.2-.5-.3c-.3 0-.6.2-.8.5s-.6.5-1 .5c-.2 0-.5-.3-.8-.8a2.2 2.2 0 01-.3-1.7c.4-1.4 2.1-2.5 2.1-2.5l-.1-.3c-.1 0-1.9 1.2-2.3 2.7zm-4.4 20.7c.1-.6.6-1 1.3-1.4-.2 0 .6.6 1.3.6l.5-.3c.2.2 1.4 1.3 1.4 2.7 0 .3 0 .6-.2.9l.3.1c.9-2.1-1.4-4-1.4-4h-.2l-.4.3c-.6 0-1.3-.6-1.3-.6-1 .4-1.4 1-1.6 1.6zm10.3-5.4c-.7.1-2.5.4-3.1 1.4-.2.4-.3.8-.1 1.2l.2.6c.6 1.6 1.2 3.2 1.9 3.6l.1-.3c-.6-.3-1.2-2-1.7-3.4l-.2-.6a1 1 0 010-1c.5-.7 2.2-1 3-1.1.4 0 .5 1.5.6 2.4h.3c-.1-1.4-.3-2.8-1-2.8z"/>
+      <path id="path590" d="M433.9 231.4c-.4.3-.3.8-.3.9 0 .1.2 4 2 4.8l.1-.3c-1.6-.7-1.8-4.5-1.8-4.6 0 0 0-.4.2-.6.3-.2.8-.3 1.6 0l.1-.3c-.9-.3-1.5-.2-1.9 0z"/>
+      <path id="path592" d="M432.4 231.7c-.8.6-.7 2.2-.7 2.3h.3s0-1.6.6-2c.3-.2.6-.2 1 0l.1-.4c-.5-.2-1-.2-1.3 0z"/>
+      <g id="g632" transform="translate(-96.9 97.5) scale(.66486)">
+        <path id="path594" d="M862.3 169.5s1.3 3 1.3 5.3c0 .4-.2.7-.3 1l-.5-1.3-.3 1s-.6 1.4.3 2.9c1.2 2 4.2 3.2 9 3.7v.1a.8.8 0 00-.4.1l-.2.2v.4c.2.5.7.5 1.8.5l.7.1.6.2-.1-.1c1 0 2.3.3 3.6.8l-1 .2 1.1.5c.1 0 8.7 3.5 12.2 6.3-1 .9-5.3 4-12.7 2.2l-1.2-.3.8 1s4.9 5.6 5.9 9c-1.7 0-8.2 0-10.5-2l-.5.5s3 4.6 3.8 8.1c-1 .2-3 .3-4.3-1.4l-.6-.7-.3 2c-.6-.5-1.4-1.1-1.4-1.9v-.4l-1.8.3-3.8-2.3a8 8 0 00-.6-.4l-.4.7.6.3c.8.6 2.2 1.7 2.3 3.3H863v.5c0 .3 0 1.4-.9 3.7-1.1-.2-5.3-1.7-7.8-8.8l-.8.2v.2c0 .7-.2 2.3-2.4 2.9l-6.5 2a4.5 4.5 0 00.8-2.8v-.8a20.3 20.3 0 01-.2-2.6c0-1.5.3-2.4 1.4-3l-.4-.8c-.1 0-9.6 3.9-14.3 2.3.2-1 1-4.2 2.6-7.6l-.2.2c.3-.2.6-.6.3-2.2v-.5l-.5.2s-3 1.4-7.4-.2c0-.4.3-1 1.2-1.4l.3-.1v-.8c0-1.2.1-4 1.8-4.6l-.2-.8s-5.1.4-8.2-1.3a11 11 0 014.5-1.9h.3v-.4a6 6 0 00-.5-2.3c1.2.4 2.6.7 3.1.3l.2-.1-.2-3.1h-.8l.1 2.6-3-.7-1.2-.4.8 1a4 4 0 01.7 2.4 12.7 12.7 0 00-5 2.3l-.5.4.5.3c2.4 1.6 6.1 1.8 8 1.7a8.4 8.4 0 00-1.3 4.5v.4a3.1 3.1 0 00-1.5 2.2v.3l.2.1a11 11 0 007.9.5v.9c-2 4.2-3 8.3-3 8.3v.4h.3c3.9 1.6 10.7-.5 13.8-1.6-.4.7-.7 1.5-.7 2.5a22.1 22.1 0 00.3 3.4c0 2.3-1.5 3.2-1.6 3.2l.3.8 8-2.4c1.8-.5 2.5-1.6 2.8-2.5 3.1 7.4 8 8 8.3 8.1h.3l.1-.3a14 14 0 001-4 439.6 439.6 0 002.4-.1v-.5c0-.7-.1-1.3-.4-1.8l1.4.8 1.3-.2c.3 1.3 1.9 2.4 2.1 2.5l.5.3.3-1.7c2 1.7 4.7 1.2 4.9 1.2l.3-.1v-.4c-.4-2.7-2.2-5.9-3.3-7.6 3.5 1.6 9.9 1.5 10.2 1.5h.4v-.5a30 30 0 00-5.6-9c8.2 1.5 12.6-2.8 12.8-3l.3-.3-.4-.2a53.8 53.8 0 00-11.6-6.3l.9-.2-1-.5a12.8 12.8 0 00-5.8-1.4c-1-1.2-1.5-1.3-1.6-1.4-5.6-.6-7.6-2.1-8.4-3.3v-.3l.2-.3c.5-.7.7-1.6.7-2.6 0-2.6-1.3-5.5-1.3-5.6l-.8.3z"/>
+        <path id="path596" d="M836.8 167.9s-.6 3-3.2 4.5c-2 1-4.5 1-7.6-.3l-.4-.1v.4a5 5 0 002 3.2c1.3 1 3.3 1.4 5.9 1.2-.9 1-3.6 4.4-3.6 7.8v.5c.4.2 4.6 1.4 6.6-1.1 0 1 .4 4.5 1.7 5.8.8.8 1 1.8 1 2.7 0 .8-.2 1.4-.2 1.4l-.2.6.5-.4c.2-.1 4.1-3 5.3-6.7 0 0 .7-1 1.9-1.3v.5c0 1.5.6 4.1 4.8 5.7l.3.1v-.3a7.1 7.1 0 010-.7c0-1.1 0-3 1.1-4a2.8 2.8 0 00.6-3.3c.9.2 2.9.9 3.7 2.4 1.2 2.2 5.3.4 5.5.4l-.1-.5s-1.8.4-2.9-.3a2.1 2.1 0 01-.8-1.5l-.2-2.4c0-1-.2-1.7-.7-2.2.5 0 1.6 0 2 1 .8 1.6 3.3 1.7 3.4 1.7l.9.1-.7-.5s-2.2-1.4-1.8-3.3l.3-1.4c.6-2.5 1.6-6.6.7-9.2l-.4.2c.2.6.3 1.4.3 2.2 0 2.2-.7 5-1 6.7l-.4 1.4a2.6 2.6 0 000 .5c0 1.3.7 2.2 1.3 2.7-.7-.1-1.7-.5-2-1.3-.7-1.4-2.3-1.4-3-1.3l-.6.1.4.4c.7.4.8 1 .8 2.3l.2 2.3c.1.8.5 1.4 1 1.8.6.4 1.2.4 1.7.5-1.2.3-2.9.5-3.5-.6-1.1-2.2-4.3-2.7-4.4-2.8h-.5l.2.4s.4.6.4 1.4c0 .5-.2 1.2-.7 1.7-1.1 1.1-1.3 3.2-1.3 4.3v.4c-3.6-1.5-4.2-3.7-4.2-5v-1l.2-.3h-.4a3.5 3.5 0 00-2.5 1.8 15 15 0 01-4.7 6.2 6.9 6.9 0 00.1-1c0-.9-.2-2-1-2.9-1.5-1.4-1.7-6-1.7-6v-.8l-.4.7c-1.6 2.8-6.2 1.4-6.3 1.4-.2-3.5 4-8.1 4-8.2l.4-.4h-.6c-2.7.4-4.8 0-6.2-1a4.6 4.6 0 01-1.6-2.5c3 1.1 5.6 1.2 7.6.1a7.4 7.4 0 003.4-4.8c3-6.6 5.5-7.7 5.5-7.7l-.1-.4c-.2 0-2.8 1-5.8 8z"/>
+        <path id="path598" d="M843.5 158h-.2l-2.4 3.3h.7a31 31 0 0119.7 9.2l.3.3 2.3-2.5-.2-.3c-6.5-10.2-20.1-10-20.3-10zm.2.9c1.6 0 13.2.3 19.2 9.3l-1.3 1.4a33 33 0 00-19.3-8.9 631.2 631.2 0 011.4-1.8z"/>
+        <path id="path600" d="M841.6 164.8a11 11 0 00-2.1 4.8l.1.4a7.3 7.3 0 00-2 5.5c0 1.3.2 2.6.6 3.8l.3.7c1.2 3.4 2.3 6.4 7.8 4.6 5.2-1.6 5.4-2 6.7-4.2l.4-.5c.7-1.2 1.5-1.4 2.3-1.7 1-.3 2-.6 3-2.4l.8-1.3c1-1.3 2.2-3 2.3-5h-.4a9.8 9.8 0 01-2.2 4.7l-1 1.4a3.6 3.6 0 01-2.6 2.2 3.9 3.9 0 00-2.6 1.8l-.4.6c-1.2 2.1-1.4 2.4-6.5 4-5 1.6-6-.9-7.2-4.4l-.3-.7c-1.4-3.8-.3-7.6 1.6-9l.6-.5-.9.1v-.1c0-.7.7-2.6 2-4.5 1.2-1.6 4-3.1 4-3.2l-.2-.4c-.2.1-2.9 1.7-4.1 3.3z"/>
+        <path id="path602" d="M839.2 178.7c.9.6 2.1.5 3.7 0 0 .5 0 1.7 1 2.5 1.2 1 3 1.2 5.5.6v-.5c-2.4.6-4.2.4-5.2-.5a3 3 0 01-.9-2.4v-.4l-.3.2c-1.5.6-2.7.7-3.6 0-1.5-1-1.4-3.7-1.4-3.7h-.4s-.2 3 1.6 4.2z"/>
+        <path id="path604" d="M842 175c-.6.2-.8.7-.8 1.1v.3c.2 1.2 1.5 2 2.6 2.3 1.2.3 2.6.4 3.1-.3.2-.3.4-.8 0-1.7a3.7 3.7 0 00-4.8-1.7zm2 3.3c-1-.3-2.2-1-2.3-2 0 0-.1-.7.5-.9a3.3 3.3 0 014.2 1.6c.3.4.3.8.1 1-.3.5-1.4.6-2.5.3zm-2-3.3zm1.6 6c-.3 2.5 0 2.6.1 2.6h.2l.2-.1 1.4-2-1.8-.8v.3zm.5.4l.7.3-.8 1.1v-1.4zm-4.2-2.4l-.1 2.3 2-2.4-2-.2v.3zm.4.2h.6l-.6.8v-.8z"/>
+        <path id="path606" d="M838.5 178.2s1.5 2.9 1.8 4c.1.6 1 1.4 2 1.7 1 .4 2 .4 2.7-.1l1.3-1.1c.4-.5.6-.6 1-.5v-.5c-.6 0-.9.2-1.3.6l-1.3 1c-.8.6-1.7.4-2.2.2-1-.3-1.7-1-1.8-1.5-.3-1-1.7-3.9-1.8-4l-.4.2zm2-8.6a5 5 0 00-2.4 2.8l.4.1s.7-1.8 2.1-2.5a2.9 2.9 0 012.4 0l.1-.4c-1-.4-1.8-.4-2.7 0zm10.8 5.2c.2 0 3.2 2.4 1.5 5.2l.3.3c2-3.3-1.5-5.9-1.5-6l-.3.5zm-9.2.4s-.5 1.7 2 2.3c0 0-2.3 0-2.5-.6-.1-.6 0-1.9.5-1.7zm7.5 2c0 .2-.2.3-.3.3a.3.3 0 01-.3-.2c0-.2.1-.3.3-.3.1 0 .3.1.3.3zm.2 1.2c0 .1 0 .2-.2.2a.3.3 0 01-.3-.2.3.3 0 01.3-.3c.1 0 .2.1.2.3z"/>
+        <circle id="circle608" cx="848" cy="177.8" r=".3"/>
+        <path id="path610" d="M848.8 179.4a.3.3 0 11-.6 0c0-.1.1-.2.3-.2l.3.2zm-7.1-7.3a.3.3 0 01-.6 0 .3.3 0 01.5 0z"/>
+        <circle id="circle612" cx="841.6" cy="173.2" r=".3"/>
+        <circle id="circle614" cx="840.1" cy="172.7" r=".3"/>
+        <path id="path616" d="M840.8 174.3a.3.3 0 01-.2.3.3.3 0 010-.6.3.3 0 01.2.3zm4.8-9.6s3.5 2.2.1 6.3c0 0 1.7-1.3 1.8-3.4.2-2.1-1.2-3.8-2-2.9zm13.5 5.9c-1.2.6-2.8-.5-3.6-1.5-.8-1-2.5-1.3-3.6.6-1 1.8-2.5 2.5-2.5 2.5s1.5-.8 3-2.5c1.5-1.6 2.4-.3 3.9.5 1.4.8 1.7 1 2.7.5v-.1z"/>
+        <path id="path618" d="M858.8 170.9a1.7 1.7 0 01-2.2-.1c-1-.8-1.7-1.8-2.8-1.2-1.2.6-3.3 2.2-3.3 2.2s3.5-2.4 4.2-1.8c.6.5 2.2 1.8 3.1 1.4l1-.5z"/>
+        <path id="path620" d="M856.1 172.3c-1.1-.8-2.2 1-3.1.8-1-.2-1.7-1.8-1.7-1.8s.8 1.6 2 1.3c1.3-.4 2.1-1.2 2.9-.6.7.6-.1.3-.1.3z"/>
+        <path id="path622" d="M854.4 172.6a2 2 0 01-2.4-1.9s.7 1.8 2.6 1.5l-.2.4z"/>
+        <path id="path624" d="M854.3 171.2c.1.5.1.8-.5.8s-1-.2-1-.8c0-.5 1.4-.4 1.5 0zm-7.8-3a.7.7 0 01-.7.6c-.4 0-.5-.2-.5-.6s0-.7.5-.7.7.3.7.7z"/>
+        <path id="path626" d="M844 165.7s3.8 0 2 4.7c0 0 1.4-2.3.5-4-1-1.6-2.3-1.2-2.3-1.2s-.4.3-.2.5z"/>
+        <path id="path628" d="M844 167.6c0 1 .6 1.9 1.8 2.9l.3-.4c-1.1-.9-1.7-1.7-1.7-2.5s.6-1.3.6-1.3l-.3-.3s-.7.6-.8 1.6z"/>
+        <path id="path630" d="M844.8 168.4c.1.5.6 1 1.2 1.2l.2-.4c-.5-.2-.9-.6-1-1-.2-.8.4-1.7.4-1.7l-.4-.3s-.7 1.2-.4 2.2zm5.1 2.6s.7 1.5-.3 3.1l-1 1.6s1.2-2.3.7-3.2c-.4-1 .6-1.5.6-1.5zm14.6 15.8c3.8.7 12.5 7.5 12.5 7.5l.5-.6c-.3-.3-8.9-7-12.9-7.7l-.2.8zm3.4 9.5c.2 3.5 4 5.6 4 5.7l.5-.7s-3.5-2-3.7-5h-.8zm-9.3.8c0 3.8 3.6 8.4 3.8 8.6l.6-.5s-3.6-4.6-3.6-8.1h-.8zm-12.1.4c.6 1.3.6 1.9.4 2.2-.2.4-.6.4-.6.4l.1.8c.3 0 .9-.2 1.2-.8.4-.7.3-1.7-.4-3l-.7.4z"/>
+      </g>
+      <g id="g640" fill="#fff" stroke="#000" stroke-width=".2">
+        <path id="path634" d="M429.6 216.3s.1 1.7 1.4 2.7c0 0-.1-1.8.3-2.6 0 0-.7-.8-1.7-.1zm2.6 1s.3 1.6 1.2 2.3l.6-.1s.2-2 .5-2.2c.3-.2-1.3.7-2.3 0z"/>
+        <path id="path636" d="M434.5 217.3l1 1.6 1.2-.7-.2-1.8s-.7-.2-2 .9zm4.7.3l-1.3 1.1s-.7-.5-1.2-.5l.2-1.7s1-.7 2.3 1.1zm-9.3 16s-.2-2.4 0-2.5c0 0 1 .3 1.4 0 0 0 .5 1.8.4 2.6-.2.8-1.1.5-1.8 0zm6-2.4s-.1-2 .2-2.3c0 0 2 .3 2.4-.8l.7 2s-2.1-.3-3.4 1z"/>
+        <path id="path638" d="M433.8 231.6s.3-2.1.7-2.2c0 0 1 .3 1.3-.1v2.6s0-1.1-2-.3zm-2.3.3s.5-1.9.8-1.9 1 .5 1.4.2v1.4s-1.6-.4-1.9 1.9l-.3-1.6z"/>
+      </g>
+    </g>
+    <g id="g682" fill="#00a651" stroke="#000" stroke-width=".8">
+      <path id="path644" stroke-width=".5" d="M461.7 270.4s5.2 4.9 3.9 9.2c0 0 3.3-7.3-.3-9.5-3.6-2-3.7-.5-3.6.3z"/>
+      <path id="path646" fill="#964b36" stroke-width=".5" d="M455 275.1s-1.3 2 .2 3.3c0 0-1.7 2.4-.4 4.4 0 0-1 2.1-.8 4.4 0 0-.8 3.5 1 5.1 0 0 2 1 3 .1 0 0 1.7-2.6.6-5.3 0 0 1.2-2.3-.2-5.2 0 0 .4-1.6-.7-3.5 0 0 .7-1.2.1-2.2 0 0-2.5-2.7-2.8-1z"/>
+      <path id="path648" stroke-width=".5" d="M456.5 269s-6.2-12-10.6-12.5c-4.4-.5-4.6-4.8-4.6-4.8s.5 2 4 2 10.2 5 11 8.7c.7 3.7 1.5 3.2 1.5 3.2l-1.3 3.4z"/>
+      <path id="path650" stroke-width=".5" d="M456.5 268.1s2.3-15.1 12.2-15.4c9.9-.2 6.6.8 9-.8 0 0-6.6 3.4-10.7 4-4.2.4-7.6 8.5-7.4 10 0 1.5-2.3 4.4-3.4 3.4-1.2-1 .3-1.2.3-1.2z"/>
+      <path id="path652" stroke-width=".5" d="M458.8 273.8s2.3-6 6.1-4c0 0-3-5.8-8.4-.8 0 0 2.4 3.3 2.3 4.8zm-7.5-6s3.2 13.4-1.8 17.5c0 0 .2-6.9-2.9-11-3-4.2 3-8.7 4.7-6.5z"/>
+      <path id="path654" stroke-width=".5" d="M451.7 270.1s5.9 5.7 6.2 7.6c.4 1.8 1.8-5.7-1-7.8s-5.7-2.5-5.7-2.5l.5 2.8z"/>
+      <path id="path656" fill="#964b36" stroke-width=".5" d="M440.8 285s.5 2.3 2 2.8c0 0 0 1.7 1.4 2.2 0 0-.7 1.5.4 2.4 0 0-.2 3 .8 3.5 0 0 2.7-.1 3.6-.9 0 0 .5-1.9-1-3.8 0 0 .3-1.8-1.2-2.8 0 0 .5-2.5-1.4-3.4 0 0-.3-2-1.4-3 0 0-2.2 3.1-3.2 3z"/>
+      <path id="path658" stroke-width=".5" d="M443.7 282s-7.7-2.8-12 1.2c0 0 6.6 1 7.4 2.3.8 1.3 4.9-2.2 4.6-3.5z"/>
+      <path id="path660" stroke-width=".5" d="M441.3 286.8l-1.4-1c-.7-.6-7.2-2.3-8.1 4 0 0-2.4-6.3 1-7 3.5-1 6.2 1 8.5 4m-5-12.8s2.3 5.2 3.2 5.4c.9.3 1.5-.6 1.5-.6s-3.1-4.6-4.8-4.8zm-1.8-7.9s-2-6.6-4.4-4.8c-2.4 1.7-1.8 6.5-1.8 6.5s-4.7-5-2-8.8c2.8-3.9 8.2.4 8.2 7.1z"/>
+      <path id="path662" fill="#964b36" stroke-width=".5" d="M439.9 279.8s0 1.3.9 1.6c.8.4 2.5 1 2.5.3s-1.3-3.7-1.8-3.3c-.5.4-1.4.4-1.6 1.4z"/>
+      <path id="path664" stroke-width=".5" d="M438.4 272s-.3-5.7 3.5-7.9c0 0 .7.2 1.1-1 0 0-3 7.3-2.1 11l-.1.4"/>
+      <path id="path666" stroke-width=".5" d="M439.1 265s6.8-14 15-9.1c0 0-8.6 1.7-11.7 7.9l-3.1 4.6-.2-3.4z"/>
+      <path id="path668" stroke-width=".5" d="M435.5 270.1s-2-9.4-3.3-10.6c-1.2-1.3-3.3-2.6-5.9-.5 0 0 4.4-3.9 9-.6 4.7 3.2 3.7 8.4 3.7 8.4l-.5 6.5-3.1-2.9"/>
+      <path id="path670" stroke-width=".5" d="M442.8 281.3s-8.3-15.7-13.7-4.5c0 0-1 2.9.1 4 0 0-3-2.3-1.6-7.8s10.5-3 13.2 1.5c2.6 4.5 3.3 6.8 3 7-.4.3-1-.2-1-.2zm23.3 4.5s6-12.4 9.5-6.8c0 0 1 2.8-.5 4 0 0-2.4-3-4.5.6-2.2 3.5-1.3 3.2-1.3 3.2s-2.2.6-3.2-1z"/>
+      <path id="path672" stroke-width=".5" d="M475 283s3.3 1.7 2.2 5.2c0 0 4.4-8.4-1.6-9.2 0 0 1.1 2.7-.5 4zm.5-8.6s7.9 2.3 8.1 5.7c0 0 1.4-6.6-3.1-8.6 0 0-5.4 1-5 3z"/>
+      <path id="path674" stroke-width=".5" d="M479 264c3.4-6.6 7.6 2.1 7.6 2.1s1.5-6.9-2.7-8.1c-4.3-1.3-7 14.7-7 14.7l-5 1s1.3-13.8 8.8-15h1"/>
+      <path id="path676" stroke-width=".5" d="M473 268s-4.8-9.8-8-10.8 1.7-2.5 3.7-.6 5.8 4.3 5.4 9.3L473 268zm-5 13.4s1.4-6.6 5.2-8.6c3.8-2 7.3-1.3 7.3-1.3s-4.5 1-5.3 3.3c-.7 2.2-2 2.4-2 2.4l-5.1 4.2z"/>
+      <path id="path678" fill="#964b36" stroke-width=".5" d="M466 285.8s-2 4-1.6 4.6c0 0-2.2 3.3-1.3 5 0 0 2.2 1.7 3.2 1 0 0 2.6-3.7 1.9-5.7 0 0 1.8-2.4 1.1-3.9 0 0-2.6.1-3.2-1z"/>
+      <path id="path680" fill="#000" stroke="none" d="M455 278.6c.2.1 1.5.7 2.3.4l.6-.5-.5-.2c-.3.6-1.7.1-2.1-.1l-.2.4zm-.1 4l-.2.5c.1 0 2.7.5 3.9-.6l-.4-.4c-1 .9-3.3.4-3.4.4zm-.7 4.4l-.3.4s3 2.1 4.9-.2l-.5-.3c-1.5 1.9-4 .2-4.1 0zm-11.5.6l.1.3c.1 0 2.6-1 2.8-2.9h-.3c-.1 1.6-2.5 2.6-2.6 2.6zm1.4 2.3v.3c.2 0 2.5-.2 2.9-1.8h-.3c-.4 1.3-2.5 1.5-2.6 1.5zm.5 2.4v.3c.1 0 2.7.1 3.6-1.3l-.3-.2c-.8 1.3-3.3 1.2-3.3 1.2zm19.7-1.7s1.1 1.2 2.4 1.1a2.3 2.3 0 001.7-.8l-.4-.4c-.4.5-.8.7-1.3.7-1 0-2-1-2-1l-.4.4z"/>
+    </g>
+    <g id="g688" fill="#964b36" stroke="#000" stroke-width=".3">
+      <path id="path684" d="M542 299.8a1.1 1.1 0 00-.3.3l.4-.3zm9.3-2.3c-.1-.2-.2-.1-.3-.2l-.4-.8h-.3l-.7-1.4a.4.4 0 000-.3 7.6 7.6 0 000-.4s-.2 0-.3-.2v-1.6l-.1-.5a2 2 0 01-.3-1.1v-1c.1-.4-.1-.6-.1-1l.1-.9v-5.4l-.1-1-.1-.4v-1.6 2.6l-.2-4.3-3.4-1.6s-.3 6.2-.2 7c0 .9.4 6.7.2 7.4l-.5 4.3s-1.6 1.2-2.2 2.4c-.7 1.3-.5 1.7-.7 1.7l1.5-.2-1.1.8a.7.7 0 01.7.1l.2.2.2-.2c.3 0 .5.4.7.3l.4-.2.2-.4c.1-.1.3 0 .4 0h.7c.3 0 .6-.5.9-.7.2-.2.4-.3.7-.3.3 0 .6.3 1 .3.2 0 .3 0 .5-.2l.4-.6.8-.1.4.1h.6l.3.2.2-.4-.1-.4z"/>
+      <path id="path686" d="M544.5 299.7h.6v.2a.2.2 0 00.2 0l.3.2h.3l.4.1c.2.1.4 0 .6-.1.2-.2.3 0 .6.2.1.1.1.1.2 0l.1-.1.3-.1.3-.1.4-.2.4.2a.8.8 0 01.2 0l.7-.5c.3-.2.5 0 .7 0h.3c.1-.1.2 0 .4 0 0-.1 0-.2.2-.3l.7.4c.1.1.7.2.6-.2 0-.4-.4-.1-.5-.4v-.6a.7.7 0 00-.3-.4c-.2 0-.2.1-.4 0l-.2-.6-.3.2c-.2 0-.2-.1-.3-.3-.3-.3-.4.2-.7.1-.2 0-.4-.5-.5-.7-.1-.1-.3-.5-.5-.4-.2.1 0 .5 0 .7h-.5c-.2 0-.2 0-.3.2-.2.4-.3.7-.7.6-.1 0-.3-.1-.4 0l-.5.2a1 1 0 01-.4 0l-.4-.4a.1.1 0 00-.2 0 8.7 8.7 0 00-.1-.2c-.2 0-.2 0-.3.3l-.1.5-.3.4-.4.1c-.2 0-.4.3-.4 0-.2-.4.3-1.1-.2-1-.1 0-.2 0-.3.2v.7c-.1.3-.7.8-.6 1 0 .3.4 0 .4 0l.2.4c.2.3.7-.4.7 0m-2.1-2.7v-.2l-.4-.1c-.2 0-.4.3-.5.4-.2.4-.2 1-.6 1h-.5v1s-.2 0-.2.2c-.1.4.2.2.4.2h1l.5-.1c.2 0 .4 0 .5-.2a2.2 2.2 0 00.2-.4v-.4c0-.2.3-.1.3-.4.1-.7-.6-.2-.5-.9"/>
+    </g>
+    <g id="g698" stroke="#000" stroke-width=".5">
+      <path id="path690" d="M550.8 277.9c0 .9-.6 1.6-1.4 1.6-.7 0-1.4-.7-1.4-1.6 0-.9.7-1.6 1.4-1.6.8 0 1.4.7 1.4 1.6zm-4.5-2c0 .9-.6 1.6-1.4 1.6s-1.4-.7-1.4-1.6c0-1 .7-1.6 1.4-1.6s1.4.7 1.4 1.6z"/>
+      <path id="path692" d="M548.7 276.5c0 1-.6 1.6-1.4 1.6-.8 0-1.4-.7-1.4-1.6 0-.9.6-1.6 1.4-1.6.8 0 1.4.7 1.4 1.6z"/>
+      <path id="path694" d="M546.4 278c0 .9-.6 1.6-1.4 1.6-.8 0-1.4-.7-1.4-1.6 0-.9.6-1.6 1.4-1.6.8 0 1.4.7 1.4 1.6z"/>
+      <path id="path696" d="M548.5 279.3c0 .8-.6 1.6-1.4 1.6-.7 0-1.4-.7-1.4-1.6 0-1 .7-1.7 1.4-1.7.8 0 1.4.7 1.4 1.6z"/>
+    </g>
+    <path id="path700" fill="#00a651" stroke="#000" stroke-width=".5" d="M549.2 261.5s13.9-19.4 28.8.7c0 0 .1 2-1.3 4.2l-.3-1.7-1 .3-.2-1-1.6-.1.5-2.2-1.7 1.4.2-1.5-2 2 .3-4.3-2.2 3.7.3-2.5-.8 1.1-.4-1.5-.7 1.5-1-.7v1l-1.8-1.5-.6 2-.9-2.2-.2 1.5-.9-1.7-.1 1.9-2.9-1.3.6 1.8-1.3-1 .2 1-1.9-.4.2 1.1-2-.4.3 1-2.7-.3 1 1-.3.6s15-5 16 13.8l-2.7 1.3.8-1.5-.8-.5-2.3-1.7.7-2.4-.8.3-.1-1.4-.4.2-.9-1.3-.2.5-.6-1.7-.7 1.2-.3-2.8-1 1.8-.2-1-.3.6-1.3-1.5-.4 1-.5-.8-.3 1-1.4-1.4v1l-1-.7-.3.5-2.1-1.1-.1 1-1.2-1-.3 1s13.6 7.8 9.4 20.4l-.8 1.6-.2-4.2-1.3 2.2.9-4.9-.9 1-.1-2-1.1 2-.4-2.2-.5.6-.8-3.2-.6 1.3-1-3.6-.8 1.5-.5-3.1-.5 1.9-1.5-2.8-.2 1.1-.9-2.2-.5.7s-2.5-.1-3.3-.7c-.7-.7-2.8 3.7-2.8 3.7l.2-2.6-.9 1.8v-1.8l-1.6 5.3-.4-3.8-.8 3.3-.4-1-.3 1.3-.5-.5-.4 1.5-.8-.6v2l-.8-1-.6 3-.4-1.2v1.3l-.6-.7-.6 3-1-1.3v2.2l.3 1.6-1-.5.4 2.6s-3.9-7.2.8-14.2c4.6-7 10.9-9 10.9-9l-.7-.6v-.6l-3.8 1.9v-1.1l-1 .8-.2-1.2-.6 1.1-.1-.5-1 1.4-.4-2-.6 2.4-.6-1.7-1.3 3.5V270l-1 2.8-.4-3-.7 3.4v-3l-1.2 3-.7-3-.5 3-.8-2.3-.7 3.4-1.2-3-.6 4.5-.7-1.8-.2 3.3-.8-2 .8 4.2-1-1.6.3 2.6-1.6-2.9v3.4l-.8-1.1-.4 1.3s-.3-13 8.6-15.6c8.9-2.5 14.6.8 14.6.8l-3.4-2.8.4-.9h-1.2l.5-1-2.7.1.8-1-2 .3v-.6l-1.3 1 .5-1.2-1.7 1.2-.1-1.7-1 1.4-.4-1.5-4 4 1-4.1-.7.9-.1-1-1.1 1.8-.3-1.2-.5 1.5-.4-1.8-.8 1.8-1-1.6-.3 2.1-.6-1.1-.8 1.6-1-1v1l-2-.9.4 1.5-1.5-1.2-.4 2-.8-1-.7 2.5-.6-2.4-.6 1.9s7.8-20.2 27.6-7c0 0 2.2 2.1 2.7 3.6s.1.2.1.2l-.4-13.9.8 6 .5-2-.1 3 2-4.3s-2.4 7.2-1.5 9.9c0 0 .9-8.4 3.9-9.4l-2.8 6 .9-.1-.6 1.2h.7l-.9 2-.5 1 .5 1 .8-.7z"/>
+    <path id="path702" d="M547.1 269.6l.4.4s1.3-1.4 3.4.4l.3-.4c-2.5-2.1-4-.4-4-.4zm-.6-6.8v.5l.9-.4-.7 1.2 1.5-.5-1.8 2.3.4.3 2.9-3.7-1.8.6.8-1.3-1.6.6.3-1.9h-.5l-.4 2.3z"/>
+    <path id="path704" d="M543.9 263l.6 1.3-1-.4 2.9 5.2.4-.5-.6 1.5.5.2 1.2-3.2-.4-.3-1 1.3-1.8-3.1.8.3-.8-1.7 1.1.6v-1.9h-.5v1l-1.8-1.1.4.8zm-1.9 6.4l.2.5c.8-.3 1.5-.4 2-.2.5.3.7.9.7 1l.5-.2s-.2-.9-1-1.2c-.6-.3-1.4-.3-2.4.1zm2.3 5.4l-.5-2.8h.6l.4 2.7zm3.8-.4l-.7-2.2.5-.1.7 2zm1.4 1.5l-.5-2.1.5-.1.6 2.1z"/>
+    <path id="path706" fill="#00a651" stroke="#000" stroke-width=".5" d="M442.6 340.2s-2.4-1-3.5-.2c-1 .7-.9 1.9-1.8 1.8 0 0 3.6.8 4.3-.1l1-1.2m.4.7s-1.6 2-1 3.3c.5 1.2 1.7 1.3 1.4 2.2 0 0 1.5-3.3.8-4.3s-1-1.1-1-1.1m-2.8-5.8s-2.5.8-2.8 2c-.2 1.4.6 2.1-.1 2.7 0 0 3.2-1.8 3.1-3v-1.5m1.2.7s1.2-2.3.5-3.4c-.8-1.2-2-1-1.8-2 0 0-1 3.5 0 4.4l1.1 1m-2.2-.9s0-2.6-1-3.2c-1.2-.7-2.2-.1-2.5-1 0 0 .7 3.6 1.8 4l1.5.3m4.4 4.2s2.7-1 3 2c.2 3-.2 2-.2 2s-1.4-3.2-3-3.7l.2-.3z"/>
+    <path id="path708" d="M443 341.3l.2 2.2h.4l-.3-2.2 1-4.9h-.4l-1 4.9z"/>
+    <path id="path710" d="M440.5 340.6l-.1.3c1.3.5 3-1 3.1-1l-.2-.3s-1.7 1.3-2.8 1zm3.4-2.9l-6-3 .2-.5 6 3z"/>
+    <path id="path712" d="M439.5 337l-.4-.4 1.2-1.2.4.4zm2.1-.6l-1.3-2.8.5-.2 1.3 2.8zm1.8 3.4v.6c1.7-.1 2 1 2 1l.6-.2c0-.3-.7-1.5-2.6-1.4z"/>
+    <path id="path714" fill="#fff" stroke="#000" stroke-width=".7" d="M471.2 341c2-1 2.4-5 2.4-5-.5 1.4-4.2 2.9-4.2 2.9 2.7-1.7 6-9.4 6-9.4-.8 2.7-8 5-12.6 7.6-4.6 2.6-2.2 10-2.2 10-1.3-.9-3.8-4.8-4.3-8.3-.5-3.5-1.8-4.9-5-5.3-3.1-.4-5 3.2-5 3.2l-4.7 2.4 4.8.2s3.4 1.1 3.4 3.8c0 2.6-3 13.3 2 19.3 3.3 4.1 16 6.5 16 6.5"/>
+    <path id="path716" fill="#fff" stroke="#000" stroke-width=".7" d="M461.9 349.3s1-4.8 4.1-4.6c3.1.2 4-3.6 5.9-4.1 1.9-.6 11.5-3.2 12.5-7.8 0 0-.9 7.6-9.7 11.4 0 0 7.1-2.3 8-3.9 0 0-3.2 6.8-10.9 7.9 0 0 7.2-.6 8.2-2.5 0 0-3.2 4.2-8.5 4.8 0 0 5 2 6.2.3 0 0-2.7 3.2-6 3.4l1 .2s-3.2 3.8-6.7 1.3-3.6.6-3.6.6"/>
+    <path id="path718" fill="#fff" stroke="#000" stroke-width=".7" d="M469 356.5s4.1 6.8 4.5 10.4c0 0 7.8 8.5 10.7 9 0 0-1.4.6-4-1.5 0 0 2.2 2.2 2.6 2.3.4 0-1.7-.2-2-.8a6 6 0 001.4 1.5l-.5-.2s-1-.1-1.6-.5c-.5-.4-.1 1-.1 1s-1.2-.3-1.6-.7c-.4-.4.1.9.1.9l-1-.3-.8.5s0 .5-.5 0c-.5-.3-1.4 0-1.4 0s-.6.6-1 .2c-.3-.4-1.5 1.6-1.5 1.6l-5-12.3"/>
+    <path id="path720" d="M473.9 378.7l-6.4-12.2.6-.4 6.4 12.3zm5.6-.8l-11-12.3.6-.5 11 12.3zm2.5-1L469.5 365l.5-.5 12.5 11.7z"/>
+    <g id="g732" transform="translate(-96.9 97.5) scale(.66486)">
+      <path id="path722" d="M823.4 360.8s-1.2-2.2-2.3-1.3c-1 .8-1.6 1-1.8.9 0 0 1 0 1.7-.5.6-.6 1.6-.3 2.4 1zm-6.6-1l.7 1.4-.8 2.3.6.2.7-2.5-.7-1.6-.5.2z"/>
+      <path id="path724" d="M823.2 360.5s-1 1-2.2.8l-1.3-.3h1.8c.7 0 1.6-.3 1.7-.5z"/>
+      <path id="path726" d="M822.9 360.7s-1.2-1.2-2-.8c0 0 1.4-.5 2.2.7l-.2.1z"/>
+      <path id="path728" d="M822.7 360.5s-1.3.9-2.7 0l-.1-.2h.2s1.7.7 2.6.2z"/>
+      <circle id="circle730" cx="821.6" cy="360.3" r=".4"/>
+    </g>
+    <path id="path734" d="M450 359.6s-.7 1.2-.3 2c.3.7 2 1 2.1 2 .2 1 .8 1 1.5 1l.9-.3s-3.1-1.6-4-4.3l-.2-.4z"/>
+    <g id="g744" fill="#964b36" stroke="#000" stroke-width=".5">
+      <path id="path736" stroke-width=".3" d="M549.4 334.8s5.6-7.4 10.6-5.5c5 2 8.1 3 8.1 3s.1 4.9-2.5 4.9-5.2-5-7.6-3.5a13 13 0 00-4.5 4.2c-.1.7-6.3.8-4.1-3.1z"/>
+      <path id="path738" d="M528.2 370.4s-1.6 1.6-.9 2c.7.4 2.1 0 2.1-.6s-1-1.6-1.2-1.4z"/>
+      <path id="path740" d="M527 372s-3-1.7-5.2 2.2c-2.3 3.8-4.1 10.1-5.4 11-1.3.8 12.8-6.2 13-9.2 0 0 .9-3.8-.6-3.7-1.5 0-1.6.2-1.9-.4z"/>
+      <path id="path742" stroke-width=".3" d="M527.3 372.4s-3 .7-3.6 4.9c-.6 4.2-4.7 6.3-5 6.5m49.4-51.6s-4.4 1.6-3.7 4.7"/>
+    </g>
+    <path id="path746" fill="#fff200" stroke="#000" stroke-width=".3" d="M533.7 341.3s.2-10.6 8.9-10.2c1.6.2.8 2.1.8 2.1s2-1.3 2.8.8c0 0 2.7-1.2 3 1.5 0 0 3-.4 2.6 2 0 0 2-.5 2 1.2 0 0 2.3-.9 2 1.5 0 0 2.6-1.7 2.3 1.4 0 0 2.6-1.9 3.5 1.2 1 3.2-2.6 9.8-6.1 11.5"/>
+    <path id="path748" d="M557.9 342s1.1 8.2-3.5 11.3l.1.2c4.9-3 3.7-11.5 3.7-11.6h-.3zm-5.7 9l.2.2c3-2.9 3.7-10.6 3.7-11h-.3s-.7 8-3.6 10.8zm-2.7-1.9h.3a26 26 0 014.1-10.3l-.2-.1s-3.8 5.5-4.2 10.4zm-2.2-1.4h.3c.5-5.7 4.4-10 4.4-10.1l-.2-.2s-4 4.5-4.5 10.3zm-3-2h.3c.3-6.7 4.8-10 4.8-10l-.2-.3s-4.6 3.4-5 10.4zm-2.8-1.6h.3c-.2-6.2 4.5-10 4.6-10l-.2-.2s-5 3.8-4.7 10.2zm-5-2.3h.3a10.2 10.2 0 016.8-8.4v-.3a10.5 10.5 0 00-7.1 8.7z"/>
+    <path id="path750" fill="#00a651" stroke="#000" stroke-width=".3" d="M528.6 354.2s-1.5-9.9 4.4-13c0 0 1.1-.2 1.7 1.2 0 0 3.1-1.3 3.2 1.3 0 0 1.6-1.2 2 .5 0 0 3.3-.7 2.7 1.8 0 0 2.8-.8 2.5 1.6 0 0 2.8-1 2.4 1 0 0 3-.6 2.2 1.8 0 0 3.7-.4 2.6 2.1 0 0 2.7-.7 2 1.4 0 0 3.6.7 2 3a24.1 24.1 0 01-9.8 7"/>
+    <path id="path752" fill="#00a651" stroke="#000" stroke-width=".3" d="M525.4 364.1s-2.4-8.2 2.2-10.3c0 0 .9-.2 1 .6 0 0 1-1.3 1.8-.1 0 0 2.3-1.1 2.9.6 0 0 1.5-1.3 2.3.6 0 0 1.5-.6 1.5 1 0 0 2-1 2 1 0 0 2-.8 1.5 1.2 0 0 3 .5 2.1 1.9 0 0 2.7.7 1.7 1.8 0 0 2.8-.3 1.3 1.6 0 0 2.2-.7 1 1.7-1.3 2.4-5.2 5-8 5.4"/>
+    <path id="path754" fill="#00a651" stroke="#000" stroke-width=".3" d="M528.3 370.6s-5.1-5-2.7-6.4c0 0 1 .3 1.5 1.4 0 0 1.2-1.8 2 0 0 0 1.8-.6 1.8.7l1.4 1s1.7-.1 1.4 1c0 0 1.9-.3 1.8.7 0 0 1.6.1 1.5 1.2 0 0 2.8.5 1.5 1.9 0 0-4.8 1-8.3-.4 0 0-1.7-.6-1.9-1.1z"/>
+    <path id="path756" d="M545.9 362.4v.3a36 36 0 008.6-8.7l-.3-.2c0 .1-5.4 7.5-8.3 8.6zm-1.8-1.3l.2.3c2.6-1.5 7.9-8.5 8-8.8l-.1-.2c-.1.1-5.5 7.2-8 8.7zm-1.5-.6l.2.2a48 48 0 007-10.3l-.2-.1s-4.2 7.9-7 10.2zm-1.3-1.8h.3c.5-3.8 6-9.9 6-10l-.3-.1c-.2.2-5.5 6.2-6 10.1zm-10.9-4.7h.3c-.4-5.5 4.1-11.5 4.2-11.5l-.3-.2s-4.7 6.2-4.2 11.7zm2.9.5h.3c-.8-4.4 4.4-10.6 4.4-10.7l-.2-.2c-.2.3-5.3 6.4-4.5 10.9zm4.4 1.6h.3c-.2-5 4.6-10 4.7-10l-.2-.3c0 .1-5 5.2-4.8 10.3zm-10.5 9h.3c-1.8-4.7 1.2-10.6 1.3-10.6l-.3-.2s-3.1 6.1-1.3 10.9zm2 .4l.3-.1c-1.6-4.7 1-11 1-11l-.2-.2s-2.7 6.5-1.1 11.3zm8.3 4.7v.2c5-1.7 8.3-6.3 8.3-6.3l-.3-.2s-3.2 4.5-8 6.3zm-1-1.1v.3c4-1.8 7.7-6.8 7.7-6.8l-.2-.2s-3.7 5-7.5 6.7zm-1-.4l.2.3c3-2.3 7-8 7-8l-.2-.2s-4 5.7-7 7.9zm-5-2.9h.4a21 21 0 012.5-10.9l-.3-.1s-3.2 6-2.5 11zm2.2 1.4l.2.2c3.2-2.9 4.3-10.6 4.3-11h-.3s-1 8-4.2 10.8zm2.2.8l.2.3a17 17 0 005.7-9.5h-.3s-1.2 6-5.6 9.3zm.5-13.4v.9l-3.4 11 .3.1 3.4-11c-.5-5.4 4.2-11.3 4.3-11.3l-.3-.2s-4.3 5.3-4.3 10.5z"/>
+    <path id="path758" d="M539 357.3c0 .2-1.1 7.7-5.2 10.5l.2.3c4.2-2.9 5.2-10.3 5.2-10.7 1.8-2.1 6-9.7 6-9.7l-.2-.2s-4.2 7.6-6 9.8zm-12 8.3c0 .1.6 4 1.4 5.2l.3-.1c-.8-1.3-1.5-5.1-1.5-5.2l-.3.1zm1.9 0l-.1 5.3h.3v-5.3h-.2z"/>
+    <path id="path760" d="M529 371l.3.1c1.3-2.8 1.7-4.8 1.7-4.8h-.3s-.4 1.9-1.7 4.7zm.3.1l.2.3a6.6 6.6 0 003-4h-.3s-.6 2.4-2.9 3.7zm.5.2v.3c2.4-.2 4-3.1 4-3.3h-.2s-1.6 2.8-3.8 3z"/>
+    <path id="path762" d="M530 371.5v.3c3.9-.3 5.6-2.6 5.6-2.7l-.2-.1s-1.7 2.2-5.4 2.5z"/>
+    <path id="path764" d="M530.3 371.5v.3c.1 0 5 1.1 6.7-1.4l-.3-.2c-1.5 2.4-6.4 1.4-6.4 1.3z"/>
+    <path id="path766" fill="none" stroke="#000" stroke-width="2.8" d="M420.9 193.2v136.4c0 44.6 80.6 71 80.6 71s80.5-26.4 80.5-71V193.2z"/>
+  </g>
+  <g id="g1157" transform="scale(.5)">
+    <path id="path1135" fill="#012169" d="M0 0h640v480H0z"/>
+    <path id="path1137" fill="#FFF" d="M75 0l244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/>
+    <path id="path1139" fill="#C8102E" d="M424 281l216 159v40L369 281zm-184 20l6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/>
+    <path id="path1141" fill="#FFF" d="M241 0v480h160V0zM0 160v160h640V160z"/>
+    <path id="path1143" fill="#C8102E" d="M0 193v96h640v-96zM273 0v480h96V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fk.svg
new file mode 100644
index 0000000..28ad702
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fk.svg
@@ -0,0 +1,90 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-fk" viewBox="0 0 640 480">
+  <defs id="defs2935">
+    <linearGradient id="b" x1="444.4" x2="470.9" y1="592.2" y2="577.1" gradientTransform="matrix(-1.08448 0 0 1.26674 909.5 -414.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="f" x1="851.8" x2="646.2" y1="369.9" y2="369.9" gradientTransform="matrix(.85733 0 0 .9624 -161.5 .3)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="c" x1="458.2" x2="520.5" y1="562.5" y2="552.8" gradientTransform="matrix(-1.01941 0 0 1.3554 909.5 -414.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="d" x1="472.4" x2="445.3" y1="578.7" y2="580.2" gradientTransform="matrix(1.08448 0 0 1.26674 49.7 -414.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="e" x1="518" x2="456.4" y1="553.7" y2="558.1" gradientTransform="matrix(1.01941 0 0 1.3554 49.7 -414.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="a">
+      <stop id="stop2921" offset="0" stop-color="#a43907"/>
+      <stop id="stop2923" offset="1" stop-color="#fff"/>
+    </linearGradient>
+    <linearGradient id="g" x1="388.5" x2="677.4" y1="507.2" y2="508.8" gradientTransform="matrix(.88927 0 0 1.54542 50.4 -413.6)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="h" x1="579.8" x2="556.8" y1="504.9" y2="505.9" gradientTransform="matrix(.91096 0 0 1.52008 49.7 -414.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="i" x1="581.4" x2="558.9" y1="512" y2="514.3" gradientTransform="matrix(-.88927 0 0 1.54542 908.8 -413.6)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="j" x1="552" x2="589.8" y1="517.9" y2="503.9" gradientTransform="matrix(-.91096 0 0 1.52008 909.5 -414.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="linearGradient3141" x1="444.4" x2="470.9" y1="592.2" y2="577.1" gradientTransform="matrix(.85733 0 0 .9624 -162.4 -.6)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+  </defs>
+  <path id="path2937" fill="#012169" d="M0 0h640v480H0z"/>
+  <path id="path2939" fill="#012169" fill-rule="evenodd" d="M0 0h400v200H0z"/>
+  <path id="path2949" fill="url(#linearGradient3141)" fill-rule="evenodd" stroke="#fff" stroke-width="10" d="M412.9 308.9a11.3 12.7 0 00-1.7 0c-3 .6-7.6 11.3-10 17.6-4.1 5.4-6.2 9.6-7.8 12.7-.7 1.2-1.7 2.6-1.4 4.2-6 1.6-6.3 7.4-6.3 9.6 0 2.5.7 3.7.7 3.7l3.6 7.5v.1c3.8 9 9.4 20.9 12.7 21.8 4.4 1.5 16-3.3 24.8-11.7a140.6 157.8 0 0053.2 12.1c20.4 0 38.7-5.5 53-12.1 8.8 8.4 20.4 13.2 25 11.7 3-1 8.7-13 12.6-21.8l3.5-7.6s.7-1.2.7-3.6c0-2.2-.3-8-6.3-9.6.3-1.6-.6-3-1.3-4.3-1.7-3.2-3.8-7.4-7.7-13-2.6-6.2-7.2-16.7-10-17.2-4.2-.8-13 1.5-13 2.4v.4l-17.7 18.6c0 .5.9 14 4.3 26a126 141.5 0 01-43.3 8.2c-17 0-31.5-3.4-43.2-8.3a116.6 130.9 0 004.3-26L424 311.8v-.4c0-.7-6.8-2.5-11.1-2.5zm4.4 23c2.3 0 4.6 2.2 6.5 4.4l-.1 1.3a67.5 75.7 0 01-2.8 10.2 73.6 82.6 0 01-12.2-9.9c1.9-2.3 5-5.4 8.2-5.8h.4zm126.6 0h.4c3.3.6 6.3 3.7 8.3 6a73.4 82.4 0 01-12.3 10 67.1 75.4 0 01-2.8-10.3 14.6 16.4 0 01-.2-1.3c2-2.3 4.3-4.3 6.6-4.3zm-142.4 26.4c2.4 2 5.4 4.4 9.1 6.8a10.5 11.8 0 01-3.2 1.6c-1.6.4-3.1.3-4.7 0a15 16.8 0 01-1-5.6 60.3 67.7 0 01-.2-2.8zm158.2 0l-.1 2.8a15 17 0 01-1 5.5 10.3 11.5 0 01-8-1.5c3.7-2.4 6.8-4.8 9.1-6.8z" opacity="1" stop-opacity="1"/>
+  <path id="path2951" fill="url(#b)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M426.2 339.6s-6.1-11.1-11.1-10.2c-5.1.7-10 7.8-10.2 8.2a44.5 52 0 01-7.5-9.5c.3-.4 7.8-20.9 12-21.8 4-.9 12.7 1.5 12.7 2.3z" opacity="1" stop-opacity="1"/>
+  <path id="path2953" fill="url(#c)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M439.8 327.7c0 .8-2.2 30.2-10.9 40.4-8.6 10.3-23 16.6-28.2 15.1-5-1.6-16.5-31.3-16.5-31.3s12.2 14.2 21.3 11.8c9.1-2.3 14.6-20.1 16.3-28.9 1.7-8.6.3-25.7.3-25.7l17.8 18.6z" opacity="1" stop-opacity="1"/>
+  <path id="path2955" fill="url(#d)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M532.9 339.6s6.2-11.1 11.2-10.2c5 .7 9.8 7.8 10.2 8.2a44.5 52 0 007.5-9.5c-.4-.4-7.9-20.9-12-21.8-4.1-.9-12.8 1.5-12.8 2.3z" opacity="1" stop-opacity="1"/>
+  <path id="path2957" fill="url(#e)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M519.3 327.7c0 .8 2.2 30.2 10.9 40.4 8.7 10.3 23 16.6 28.2 15.1 5-1.6 16.6-31.3 16.6-31.3s-12.3 14.2-21.4 11.8c-9-2.3-14.5-20.1-16.2-28.9-1.8-8.6-.4-25.7-.4-25.7l-17.8 18.6z" opacity="1" stop-opacity="1"/>
+  <path id="path2959" fill="url(#f)" fill-rule="evenodd" stroke="#000" stroke-width="1.5" d="M401.2 326.2c-4 5.5-6.1 9.8-7.9 13-1.7 3.2-.6 7.7 3.2 14 4.3 6.7 39 33.4 84.1 33.4 45.2 0 79.8-26.6 84-33.4 4-6.4 5-10.8 3.3-14-1.7-3.2-3.9-7.5-7.9-13 0 8.3-28.7 38.5-79.4 38.5s-79.4-30.2-79.4-38.5z" opacity="1" stop-opacity="1"/>
+  <path id="path2961" fill="url(#g)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M557.7 378.8l7.8-15.1-3.9-3.2c-1 3.8-5.5 5.1-6.3 10-.7 4.7 3 9.4 2.4 8.3z" opacity="1" stop-opacity="1"/>
+  <path id="path2963" fill="url(#h)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M564.8 374.5s1.4-6.8-3-7.6c-4.4-.8-6.8 3.8-6.1 2 .6-2 3.2-4 3.7-10.7.3-6.7-.4-10.3-.4-10.3s1.8-8.7 8.8-7.5c7.2 1.3 7.5 7.6 7.5 9.9a9 9 0 01-.6 3.5z" opacity="1" stop-opacity="1"/>
+  <path id="path2965" stroke-width=".8" d="M539.2 351.7l1.5 2.8 1-.6-.7-2 .1-.3 1.7-1.2 4.4 8.7v.5l-1 .7.5.8 4.2-3-.4-.8-1 .6h-.3l-4.4-8.8 1.6-1.2h.4l1 1.6 1-.7-1.5-2.8-8 5.7zm-10.5 6.7l.4.8.9-.4.3.1 3.9 8.9-.1.4-.8.6.3.8 4.1-2.5-.3-.8-.9.4h-.4l-1.8-4.3 4.3-2.4 1.8 4v.5l-1 .6.4.9 4.2-2.5-.4-.8-.9.4-.3-.2-3.8-8.8v-.4l.8-.6-.3-.8-4.1 2.5.3.8 1-.5.3.2 1.5 3.6-4.2 2.5-1.6-3.7.2-.4.8-.5-.4-.9zm-2.4 7.6l.2.8 1.2-.3.4.1.9 3.7-.8.4c-2.5.8-4.4-.5-5.3-3.7-.8-3.2.2-5.6 2.5-6.4a3.5 4 0 011.4-.1l.3.2.8 1.7 1.2-.4-.7-3c-1.3 0-2.5.2-3.5.6-3.6 1.3-5.2 4.5-4.3 8.2 1 3.7 3.9 5.4 7.2 4.3a11.3 12.7 0 003.4-2L530 366l.2-.4.9-.4-.3-.9zm-9.7 10.3l4.7-1.7-.3-.9-1 .2-.3-.1-2.6-9.6.1-.3 1-.5-.2-.8-4.7 1.6.3.9 1-.3.4.2 2.5 9.5-.2.4-1 .4.3.9zm-25.5 4.6l8.3-.8-.3-3.4-1 .1-.2 2-.2.3-3.5.4-.4-4.9 2-.2.3.3.2 1.3h1l-.4-4.4h-1v1.4l-.2.4-2 .1-.4-4.4 3.1-.3.2.2.4 1.7 1.1-.1-.2-3-7.8.8v.9h1l.3.3.7 9.9-.1.3-1 .2v1zm-12.4-12.3v1h1l.2.3.1 9.9-.2.3-.9.2v.8h4.4v-.9h-1l-.2-.4V375h4.4v4.6l-.2.3-.9.1v1h4.4v-1h-1l-.1-.4-.2-10 .2-.3h1v-1h-4.5v1l1 .1.2.3v4l-4.3.1-.2-4 .3-.3h.9v-1zm-9.4-.3v3.3h1l.3-2 .2-.3h1.9v10.2l-.3.4h-1v1h4.6v-.9l-1-.1-.3-.4.1-10h1.8l.3.2.3 2h1v-3.3zM455 378.9l8 .4.2-3.3h-1l-.3 1.9-.2.2-3.5-.1.2-5 1.9.2.2.3.2 1.4h.8l.2-4.3h-.9l-.2 1.2-.2.3h-2l.2-4.6 3 .2.2.2.1 1.7h1.1v-2.9l-7.5-.4v.9l1 .2.1.3-.4 9.9-.2.3h-1v.9zm-18.6-5.4l4.4 1.6.2-.8-1-.5v-.4l2.5-9.5.3-.2 1 .3.2-.8-4.3-1.7-.2.9.9.4.2.4-2.7 9.4-.2.3-1-.3zm-7.6-3.3a8.4 9.4 0 002.6 1.6c2.4.8 4.3-.2 4.8-2.2a3 3.5 0 00-.5-3.2l-1.8-2c-.6-.9-.8-1.6-.6-2.5.3-.9 1.1-1.4 2.2-1 .4.2.8.4 1 .7v.3l-.2 2 1 .3.8-2.8a8 9 0 00-2.5-1.7c-2-.8-3.8.3-4.4 2.2a3.2 3.5 0 00.4 2.8c.4 1 1 1.5 1.5 2 .9 1 1.2 2 1 2.9-.3 1-1.2 1.5-2.4 1a4 4.5 0 01-1.2-.8l-.1-.3.4-2.2-1.1-.4zm-9.8-4.6l7.4 4 1.2-3-1-.5-.9 1.7-.3.1-3.1-1.8 1.8-4.3 1.8 1v.3l-.3 1.3.8.5 1.6-4-.8-.4-.7 1.1-.3.2-1.7-1 1.6-4 2.7 1.5.1.3-.4 1.6 1 .5 1-2.6-6.8-3.9-.4.8.8.6.1.4-3.6 9h-.3l-.9-.3zm-1.1-15l-3.7-2.9-.5.8.7.7.1.4-4.6 8.2-.4.1-.7-.5-.5.8 3.6 2.8c1.4 1 2.5 1.5 3.6 1.4 1.6-.2 3-1.2 4-3 1.8-3.4 1.3-6.6-1.6-8.8zm-1.6 0l.8.6c2 1.5 2.2 3.7.5 6.6-1.7 3-3.5 3.6-5.4 2l-.8-.4 5-8.7zm29.3 13l-.1.8.9.3.1.4-1.7 9.7-.3.2h-1v.8l4.1 1 .2-.8-1-.4-.1-.3.7-4.1h.3c1.5.4 1.8 1.3 1.8 3.2.1.9.1 1.7.8 2.7.3.4.7.8 1.4.9a10.1 11.4 0 001.5.2l.1-.8h-.1c-1-.3-1.5-.7-1.5-1.8-.2-1 0-2-.4-3a2.6 2.9 0 00-1.3-1.4c1.7 0 2.7-.9 3-2.5.4-2-.5-3.5-2.9-4l-4.4-1.1zm3 1.7l.6.2c1.4.4 2 1.4 1.7 2.9-.3 1.7-1.2 2.3-2.8 1.8l-.5-.1.9-4.8zm54.2 1l.1 1h1l.3.2 1.4 9.8-.2.3-1 .3.2.8 4.5-.8v-1l-1.1.2-.3-.3-.6-4h.3c1.6-.5 2.2.2 3 1.9.3.8.5 1.6 1.5 2.2.4.3 1 .4 1.8.3a12 13.6 0 001.6-.5l-.1-.9h-.2c-1.1.3-1.7 0-2.2-.9-.4-.8-.7-1.8-1.3-2.5-.4-.5-1-.8-1.8-.8 1.7-.8 2.5-2 2.3-3.7-.3-2-1.7-3-4.2-2.5zm3.5.5h.7c1.6-.4 2.5.2 2.8 1.8.2 1.6-.5 2.6-2.2 3h-.6l-.8-4.8z" opacity="1" stop-opacity="1"/>
+  <path id="path2967" fill="url(#i)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M401.5 378.8l-7.8-15.1 3.9-3.2c1 3.8 5.5 5.1 6.3 10 .7 4.7-3 9.4-2.4 8.3z" opacity="1" stop-opacity="1"/>
+  <path id="path2969" fill="url(#j)" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M394.3 374.5s-1.4-6.8 3-7.6c4.4-.8 6.8 3.8 6.2 2-.7-2-3.3-4-3.7-10.7-.4-6.7.3-10.3.3-10.3s-1.7-8.7-8.8-7.5c-7.1 1.3-7.5 7.6-7.5 9.9 0 2.2.7 3.5.7 3.5z" opacity="1" stop-opacity="1"/>
+  <path id="path2971" fill="#0072c4" fill-rule="evenodd" stroke="#fff" stroke-width="3.9" d="M480.5 356.1s-82-27-81.4-129.4l.6-135.6H561l.6 134.8c.5 102.4-81.4 130.1-81.4 130.1z" opacity="1" stop-opacity="1"/>
+  <g id="g2985" fill-rule="evenodd" opacity="1" transform="matrix(.73276 0 0 .82256 122.8 17.5)">
+    <path id="path2973" fill="#bcbcbc" d="M392.3 129c.2 0 1.5-1.3 2.8-2.4 1.7-1 3.3-2.1 5-3 1.4-.7 4-1.3 5.1-1.9a12.5 12.5 0 004.2-3.4c.2-2.1.5-3.7.5-6.2 1.8-1 3.4-1.8 5-2.4 2.3-.7 2.8-1.6 5.1-2 1.5-.5 3.9-.5 6-.5 2.3 0 3.7 1.7 5.8 2 2.5 1 3.6 1.7 5.6 3.4 1 1.4 1.7 2.6 3.6 3.6 1.5.8 2.9 2 4.6 2.4 2 1.1 3.6 1.8 5.1 3.4 1.4 1 2 2.4 3.2 3.4a36.1 36.1 0 004.7 3.4c2 1.3 4 2.3 7.1 2 1.7 0 3.5-.3 5.5 0 2.3 0 4.5 0 6.5.6 2.4 0 4.3.3 6.5.5 2 .3 4.1.4 6.4.4 2 .6 4.2.5 6.5.5h13c2.3 0 4.7.1 6.4.5a51 51 0 006.5-.5c2.5 0 4.4-.4 6.9-.5h7.8c2 .6 4.6 1 6 2 1.9.5 2.8 1.4 4.6 1.9 1.5.7 3.6 1.9 4.7 3.4a24.7 24.7 0 013.7 5.3c1.2 1.8 1.7 4 2.7 6.3.6 2.2 1 4.3 1 6.7.5 2.1.4 4.4.4 6.8-.5 2.2-.6 4.6-1.4 6.7 0 2.4-.5 4.5-.9 6.3-.4 2-.9 3.3-1 5.8v6.8c0 2.2-.6 3.8-.8 6.2a71 71 0 00-3.3 7.3 14.7 14.7 0 00-3.7 3.8c-1 .6-1.5 1.6-1.3 2 1.8.6 1.3 1.9 1.3 4.3.3 1.9.5 4.2 1 6.3.1 2.3.6 3.7 1.3 5.3.8 1 1 .5-.9.5-1.3 1-2.7.5-3.2-1.5a12 12 0 01-1.9-5.3c-.2-2.2-.6-4.4-1.3-5.8-.3-2.7-1-2.7-3.7-2.9-1.3-1.1-3-1.4-5.6-1.4-2.5 0-2.7-.3-2.7 2.4v6.8c-.5 2-1.4 3.5-1.9 5.3-1.4 1-2 2.7-3.7 3.8-.8 2.2-1.9 2.6-4.1 3l-2.8-3.4c1.3-2.2 2.4-2.5 3.2-4.9 1-1.9 1.6-3.1 2.3-4.8-1-1.5-1.8-2.2-2.7-4.3a26.3 26.3 0 01-2.3-5.3c-1.6-.6-4-.7-5.1-1.5-2.3-.5-2.9 2-5.6 2h-6.4c-2.9 0-3.6 1.5-6 1.4-.7.2-2.5-.1-5.1 0-2 .7-4.3.5-6.5.5-2.3 0-4.2-.6-6-1-2.1-.6-4.2-1.2-6.4-1.4-2.7 0-3.8.2-5.6 1.4-1.4.9-3.5 2.8-5 3.9-.7 1.6-1 4.3-2 6.2-.4 2-1.2 3.1-1.7 4.9a18.4 18.4 0 00-1.4 5.8c-.2 3.2-.9 2.8-2.8 1.9-.8-1.4-2-2.8-2.8-4.4.4-2.4 1-3.6 1-6.2-.5-2-1.5-1.8-2.8-.5 0 2.5 0 4.5-1 5.8a6 6 0 01-2.7 3.8c-.7 1.8-2.2 2.7-3.7 3.4-.2 0 0-.6 0-2-1.1-2.1 0-4 0-6.7 0-2.4-.2-4 .5-6.2 0-2.4-1-4.6-1.4-6.3-.9-1.8-1.4-2.7-3.7-3.4-1.7-.7-4-1.5-5.1-3a9.6 9.6 0 00-4.2-3.3c-2-.7-3.1-1.5-4.6-2.4-1.4-1.6-2.6-2.2-3.2-4.3-1-1.5-1.1-4.3-1.8-6.3a21.7 21.7 0 00-1.4-5.8 24.3 24.3 0 00-1.4-5.8c-.3-2-.8-4-1.4-6.3 0-2.3 0-4.6-.5-6.7v-6.8c-.3-2-.4-4.8-.9-6.3 0-2.6-.3-4-1-5.8-1-1.7-1-2.4-2.7-2.9-1.2 1.5-3.1 2.2-5.5 2.5-1.7-.4-4.1-.7-6-1.5-1.9-.4-3.1-1.2-4.6-2a43.2 43.2 0 00-2.8-3.8c-.3-2.5-.8-3.8-1-6.3 0-1.8.1-.8 2-3.3z"/>
+    <path id="path2975" fill="#fefefe" d="M419.6 146.4l.4-.4c-.8.8-.5.4 1.3-.3 1-.6 2.9-1.7 3.6-2.4.8-.4 2.2-1 3-1.7.8-1 1.7-1.8 2.9-2.7 1.2-1.1 2.4-1.5 3.9-2.4 1.8-.2 2.5-1 4.2-.4 1.6.4 2.3.4 3.6-1 1.3-.8 2.8-1.7 3.3-3V130c0 2.2-.5 3-2 3.7-1 1.3-2.4 2.6-3 3.8-1 1.5-1.2 2.3-2.2 3-.9 1.1-2.3 1.7-2.6 3.5.4.8 0 1.2 1 1.3.9.8 1.9.5 3.2 0a14.2 14.2 0 002.6-4c1.1-1.6 1.7-2.3 2.3-3.5 1.2-.8 1.9-1.4 2.3-2.7 1.3-.8 2.4-1.6 3.3-2.4 1-.6 1.5-1.1 2.9-1.4a6 6 0 01-1 3.8c-.3 1.9-.2 2.8.4 4 .9.7.7 1.2 1.3 2.5.5-1.2.8-3.4 1-4.8v-.3c0 1.4 0 3.4-.4 4.4 0 2 .5 2.9 1 4.4.5.8 1 1.3 1.6 1.7 0-2 .6-3.2.7-5 .4 1.3.3 3.2.6 4.7.1 1.6.7 2.8 1.3 4.1.8.4 1 1.8 1.3.7.8-2.4.8-5 1.3-7.5.1-1.3.2-3.2.7-4.1l-.7 4c.1-1.2.2-3 .7-4v-.4a39 39 0 01.7 5.5c0 1.5-.1 3 .3 4.4 1-.5 1.7-1.7 2.3-3a18.2 18.2 0 012.6-3.8l-2.6 3.7a18.2 18.2 0 012.6-3.7v-.3a40.3 40.3 0 00-.3 4.7c0 1.6 0 3.4.3 4.5.4 1.8.9 2.1 1 4 0 1-.2 2 .3 2.5 1.4.3 1.4-.5 1.6-2.4 0-2.2.6-3.7.7-5.8 0-2.6.3.3.6 1.3a13 13 0 011 4.5c0 1-.1 1.9.3 2.4 1.3-.6 1.8-2 2.6-2.8.7-1.6 1.4-2.3 2-3.4 1.7-.3 1.6-1 1.6-3 0-1.7-.1-3.4.4-4.8a41 41 0 001.3-4.5c.6-.3 1.2.6 1.6 1.4.7 1.1.6 2.7.6 4.4.4 1.5 1 2.7 1.7 4.1a15 15 0 002.3 3.4c.3 1.1.3 3 .3 4.5 1.3-1.5 1.5-3.6 1.6-5.8-.2-1.5-.2-3.4-.6-4.8 0-1.5-.4-3-.7-4.1-1-.5-1.3-1-.3-2.4 1-.9 2.2-.5 3.9-.3.9.9 1.2 1.4 1.3 3.4 0 1.8 0 3.2.7 4.4.6 1 1.2 1.7 1.6 3.4.5.5.9 1.2 1.6.4.4-1 .7-3 1-4.1.3-1.3.9-2 1.6-2.4 0 1.9 0 3 .7 4.4.6 1.5 1 2.1 1.6 3.8.7.5.8 1.5 1.7 2 .2-1.6.3-3.4.3-5.4V145c.1-1.6.5-2.5 1-3.8 1 1.4 1 1.9 1 3.8 1-.4 1.2-1.2 1.6-2.4.7-.7 1-1 1.3.7.2 1.8.6 3.4 1 5.1.6.8 1.4 2.7 2.2 3.4a16.4 16.4 0 002 2.8c.5 1 .6 1.7 2 2 0-2.3 0-4.6-.4-6.8 0-2-.4-2.7-.6-4.5-.6-1.1-.9-2.9-.7-3.4a11 11 0 013 4.1c.7 1.7 1.4 2.8 2 4.5a20 20 0 012.5 3.4c1.2 1 1.8 2.1 3 3 .6.6 2 1 2.3.7-.1-2-.4-3.7-1-5.4a9 9 0 00-1-4.1c-1.3-1.1-2.3-1.9-3-3.4-.4-.5-.5-.8-.6-1.7a26.3 26.3 0 014.6 4.7 7 7 0 002.6 2.4c.6.8 2.5 1.7 3.9 2a5.6 5.6 0 003.3 2.1l-3.3-2a5.6 5.6 0 003.3 2v.4a13 13 0 00-2-5.5 8.8 8.8 0 00-3-3.8 9.3 9.3 0 00-3.2-3c-.9-1-2.2-2.8-3-3.4 1.5-1 3.1.6 4.6 1.3 1.3 1.4 2.5 3.2 3.3 4.1a18 18 0 003 4.5c1.4.8 2.3 1.6 3.5 2.7 2 .5 1.2-.2.7-1.7-.7-2 0-2 1.3-.7.9.7 2 1.7 3.3 2.4.5.7 1.4 1.2 2.2.7.4-.5.4-.5.4-1-.7-2.2-1.3-3.8-3-4.5-.7-1-2-2-3-3-.6-1-1.3-1.6-1.9-2.8l2 2.7c-.7-1-1.4-1.5-2-2.7h-.3c2 0 2.7.6 4.2 1.4a6.8 6.8 0 013 2.4c.6.8 1.6 1.7 2.3 2.7l3.2 2.4c1.1 1.4 1.3 2.3 1.3 4.4.7 1 .8 3 1 4.1-.2 1.9-.9.4-1-.7-.2-1.5-.8-1.4-2-1 0 2 .3 2.6 1 4.1a8 8 0 01-1.2 3.4c-.8.5-1-1-1.7-1.7 0-2-.6-2.3-2-3.4v1.4c.8 1.4 1.6 2.7 1.7 4.7a12 12 0 01.7 4.5c0 1.7 0 3.3-.4 4.8 0 1.8-.3 2.6-.3 4.4v9.6a23.3 23.3 0 00-.3 4.4l.3-4.4c-.3 1.2-.3 2.7-.3 4.4v.3c-.6-1.7-1.3-3.2-1.7-5a10.3 10.3 0 01-2.2-3.5c-.3-1.5-.4-3.2-.7-4.4-.5-1.2-1-2.5-2-1.7-.4 2.5.1 4 1 6.4.5 1.6.5 3 1 4.5.8 1.8 1.4 2 0 4-.7 1.2-1 1.5-1.3 2.8-1.2.6-1.5 1-1.6 2.4-.4-1.3-1.4-2.9-2-4.4-.6-1.7-1.3-3.4-1.6-4.8-.8-1.2-1.8-3-2.6-3.8-.9-1-2-3-2.6-4-1.3-1.5-1.6-2.4-2.7-3.1-.2-.7-.6-1.6-1.3-1 0 1.6 0 3.3.4 4.7.3 2 .9 3.1 1 5.1v3.8c-.8-2-1.7-3.6-2.3-5.5-.8-1-1.5-3-2.3-3.7-.6-1.4-1-2.5-1.7-3.4-.1-1-.6-1-1-1.7 0 1.9.7 2.6 1 4 .7 1.4.9 3.5.7 4.2-.8-2.4-1.6-5-2.6-7.2-1-1.4-2-3.2-2.6-4.5-1-1.1-2-1.2-3-2a5.9 5.9 0 01-2.3-1.7c.3 1.8 1 3 1.3 4.4.3 1.7 1 3.1 1.3 4.5-.3 2.3-.8-.7-1.3-1.7-.3-2-1-3-1.6-4.1-.9-.7-1.7-1.8-2.6-2.4-1-.4-.6 0-.6 1.3 0 2.1 0 3.5.6 4.8.7 1 .7 2.3.7 4.1-.1 1.7-.4 3-.4 4.8v2.7c-.7-1.4-1.4-2.3-2-4.1-1-1.6-1.4-2.7-2.2-4.4-.7-.3-2-.6-2.6 0 .1 1.7.9 2.4 1 4.4-1.3 1.3-1.1 1.7-2-.3-.7-1.6-1.6-1.5-2.6-2.4-1.7-.2-1.1-1.3-1.6-2.8 0-1.3 0-2.6-.4-3.7-1.8 0-2.8 0-3.9 1-.5 1-.3 3 0 4.5v4.7c-.4 1.2-1 1.3-1.3 2.8-.6 1.4-.8 3-1.3 4-1.2 1.1-.7 1.2-1.3-.6v-11c0-1.8.3-2.7.3-4.4-.7-1.4-.8-1.7-3-1.7-.4.9-.2 2.5 0 3.4 0 1.7.2 3.3.4 4.5 0 1.8.2 2.9.3 4.4 0 1.8-.4 3.2-1.3 4-1.1.4-.1 1.2-1.3 1.5a15 15 0 01-3.6-2.4c-1.2-.4-2.4-.7-4.2-.7-2.2 0-2.2-.3-3-2a31.4 31.4 0 01-1.3-5.5c-.7-1.6-.8-2.7-1.3-4.5a6.2 6.2 0 00-2-2.4c-.4 1.8-.8 3.2-.9 5.2-.4.8-.5 2.8-.7 3.7-.6-1-.9-3-1.3-4.4-.6-2-1.1-3.4-3.2-2.7-2.2 0-2.3 0-2.3 2.4l2.6 4v4.8c0 2 .1 2.6-1.3 3-.5-2-1.7-4-3-5.7-.1-1.4-.5-1-1.9-1-.9 0-1.8-.2-2.3.3v3c-.8.2-1 0-1.6-.6-.6 1-.2 2.4 0 3.7-.4 1.6-1 3-1.6 3.8-.2-.5-.5-.3 0-.3-2.3-.9-4-1.4-6-2-1 0-1.9 1.1-2.5 2-1.7.5-2.4 1-4.3 1-1.8 0-2.6.3-4.2.3-1.2.3-2.7.4-4.3.4-.8-.3-2.4-.3-2.9-.7.7-1 1.4-1.5 2-3a20 20 0 002.6-2.5c.8-.6 1.8-1.9 2.6-2.7.5-1.7 1.2-2 2.3-2.7 2 0 2.3.7 4.2 1 1.9.7 3 1 4-.4 1.5-.6 2.8-1.7 4.5-2l3.3-2c1.4-.9 2-1.8 3.2-2.8.4-1.4 1.4-2.5 1-4-1.8-.5-2.9-.4-4 .6-1.3 1.2-1.6 1.7-3.2 2.7-1.3.4-2 1-3.6 1.4-1.3.5-3 .3-4.5.3s-3.4-.1-4.3.4c1.5-1 3.2-2 4.6-2.4 1.3-.9 1.8-1.3 3.6-1.4.8-1 1.6-1 2-2.7.5-2-1.3-1.4-2.7-.7-1.3.3-2.8 1.2-3.9 1.7a14.3 14.3 0 01-4.2.7c-.4-.6.3-1.1.6-2 1.5-.6 1.8-.8 2-2.4-1.8.2-2.4.8-4 1-1.6.4-3.3.6-5.2.7h-4.5c-1.6 0-2.5-.4-4.3-.4-1.3-.7-1.3-1-1.3-3 1-1.2 2-1 4-1l3.5-1.8c1.2-.2 2-.7 1.7-1.3h-4.6c-1.8-.8 0-1.1 1-1.7 1.5 0 3.2 0 4.2.6 2 0 2.7-.7 4.2-2 1.3-1 2-1.7 3.3-2.4 1-1.1 2-1.7 2.6-2.7 1.4-1.3 2.3-2 3-3.1.8-.5 1.4-1 1-1.7-2.1.2-3 1-4.3 2a10 10 0 01-2.6 2 8.2 8.2 0 01-4.3 1.5c-1.6 0-3-.3-4.5-.4-1.8-.2-.2-.6.3-1.4.7-.4 1.2-1.5.6-2.3-1.3-.5-3-.4-4.5-.4h-4.6c-1.7 0-2.4-.4-3.6-1-.3-1 0-.7 1.3-.7a18 18 0 004.3-.7c1.5-.4 1.7-1 2-2.7-1.6 0-3.3 0-4.3-.3zm-28.2-7.8c-.3-2.5-.9-3.8-1-6.3 0-1.8.1-.8 1.9-3.3.2 0 1.5-1.3 2.8-2.4 1.7-1 3.3-2.1 5-3 1.3-.7 4-1.3 5.1-1.9a12.5 12.5 0 004.2-3.4c.1-2.1.4-3.7.4-6.2 1.9-1 3.5-1.8 5.1-2.4 2.3-.7 2.8-1.6 5.1-2 1.5-.5 3.9-.5 6-.5 2.3 0 3.7 1.7 5.8 2 2.5 1 3.6 1.7 5.5 3.4 1.1 1.4 1.8 2.6 3.7 3.6 1.5.8 2.9 2 4.6 2.4 0 1.8.4 1.5-.8 1.5-.2 1.8-.6 1.6-2.3 1.7a8 8 0 01-3-2.8c.7-1.7.3 1.5 0 2.1-.8.7-1.3 1.4-2.2.7-.6-1.7-1-2.8-1-4.8-.3-2.1-.9-.6-1.3.3-.5 1.8-.3 2.4.3 3.8-1.7 0-3-.2-4.2-.4-1.2-.3-2.6.1-4 .7-1.7 1.1-1.1 1.1-.3 2.4 1.5.5 2.6 1.3 4 2 1.4-.2 3-.6 4.5-1 1.6-.5 3-.2 4.6 0 .8.5 1.8.5 2.3 1 0 1.1 0 2.2-.4 2.8-.6.5-1.3 1.7-2.3 2a16.1 16.1 0 01-4.5 1.8c-2 0-2.8.5-4.3 1.3-.2 1.8-.7 2.2-2.3 2.8a10.3 10.3 0 01-4.5 1c-1 0-1.9.1-2.3-.4a12.8 12.8 0 002.6-4c.3-.8.9-1.2.3-1.8-1.9.1-2.4.1-2.6 2-.2 1.9-.9 2.2-2.3 2.8.4-1.7.5-3 1-4.4a25 25 0 01-4.2.3c-1 .6-1.4.9-1 2-1.3.5-3 .2-4.6 0-1.4 0-.6-.6-1.6-1.3-.7-1.3-1.4-1.6-3-1.7-.7 1-2 1.3-2.9 2-1.4.5-2.3.1-3.6-.6-1.6 0-1.4.5-1 1.7.7.4 0 .9 1 1 1 .8 1.8 1 3.6 1 1.4-.4 3-.3 4.6-.3 1.6 0 1.3.4 1.3 2-1 .8-2.6.7-4.3.7a16.6 16.6 0 01-3.9-1c-1.5-.1-2.7-.4-3.9 0-.5.6-2 .8-.3 1 .7.7 4.5.3 4.7 1.5 1 1 .7 2.3-.8 2.3a2.2 2.2 0 00-2.3 0c-1 .2-2.4 0-4.3.2 2.5.2-1.8-2.7-2.7-3.9z"/>
+    <path id="path2977" fill="#bcbcbc" d="M401.7 127.3l-2 1.3c-1.4.8-3 2-3.9 2.7-.7.6-.7 1-1.6 1 1.5-.2 2.2-.6 3.6-1.3 1.7-.2 3.3-.6 4.2-1.4.9-.3 0-1.6-.3-2.4zm15-16.1c.2 0 .6 1 1.3 1.7.5 1.3 1 2.2 1 3.8.4-1.7 1-3 1.3-4.8-.5-1-.5-1.3-2-1.4 0 1 .2.3-1.6.7z"/>
+    <path id="path2979" fill="#c4c4c2" stroke="#000" stroke-width=".9" d="M349.4 417.7c-.5 0 .8-.5 1.3-.6.4-.8.6-1.3 1.3-1.8 1.1 0 1.7.4 2.2 1.1 1 .3 1.3.7 2.4.9.5.4 1 .4 0 .7-.6.3-1.5.4-2.6.4a7.2 7.2 0 00-2.6.7c-1.5 0-1.3 0-2-1.4z" transform="matrix(1.48 0 0 1.54 -109.5 -520)"/>
+    <path id="path2981" fill="#bcbcbc" d="M422.6 111.5v.4c0-1 0-.5.3 1.4a9 9 0 01.7 4 6.7 6.7 0 002-3c0-2.7-.5-2.6-3-2.8zm12 39.3h.4c-1 0-.4 0 1.3-1 1.1-.8 2-2 3.6-2.4a13 13 0 014.2-2.4c.8-.4 1.5-1 2.3-.3-.2 1.6-.5 2.3-2 3-.7 1-1.8 1.6-2.9 2-1 .6-2.2.6-2.6 1.8-1.8.8-2 .6-4.2-.7zm6.3 9.9c.5-.5 2.6-2.6 3.6-3.4a15 15 0 013.2-3.4c1-1.5 2.2-2.5 3-3.8l2.6-3.4c0 1.5-.2 3.5.3 4.4a7 7 0 01-1 4.1c-.7 1.2-1.3 2-3 2.8-1.4.8-2.3 1-3.5 2a26 26 0 01-3 1.7c-.9.4-.5.3-2.2-1zm-10.2 7.8h.4c-1 0-.5.1 1.3-1 1.4-1.4 2.5-2 4.2-2.7a10.3 10.3 0 004-1c.7-.2 1.3-.7 1.9 0 1 1.4 1.3 1.8-.3 2.7a9.4 9.4 0 01-3.3 1.7c-.8.7-2.4.7-4 1-1.2 0-2 .2-2.5-.7l2.6.7c-1.3 0-2 .2-4.3-.7zm14 0v-.3c0 1 0 .5.7-1.4 1.3-1.9 1.7-3 3.3-3.4.7-1 2-1.2 3.6-1.7.6 1 .1 2.2 0 3.4-.4 1.3-1.6 2.2-2.3 3.1-1 .7-1.4 1.4-3 1.7-1.2 0-.5 0-2.2-1.4z"/>
+    <path id="path2983" d="M412.8 124.2c0 .9-.7 1.7-1.6 1.7-1 0-1.7-.8-1.7-1.7 0-.9.8-1.7 1.7-1.7.9 0 1.6.7 1.6 1.7z"/>
+  </g>
+  <g id="g2991" fill="#005120" fill-rule="evenodd" stroke="#002b0d" stroke-width="1pt" opacity="1" transform="matrix(.73276 0 0 .82256 122.8 17.5)">
+    <path id="path2987" d="M351.8 479.6h.9c-2.8 0-1.1-.2 3.5 3.5 2-1.6 2-1.8 3.5 1 1 1.5 1.2-.2 2.7-1.8.7 3.2 1.1 6.5 3.5 3.5 2.8 0 5.6-.2 7.1.9 1.8 3.3 1.2-.6 2.6.9 4 .4 3.9-3.4 8.1-4.4 2.6 3.3 3.8.8 7-.8 2.5.6 4.8 4.3 5.3.7 2-3.2 2.1-3 3.5 0 2 1.8 2.8-.8 4.4-1.7 3 1.7 6.3 2 10.6.9.8 2.9 2.6 1.6 4.5.8 3.9 1.7 5.2 2.2 9.7 0 2.2-2.6 1 .1 2.6 1.8 3.3-1 2.4-1.2 6.2-.9 3.9 0 4.2 0 5.3-2.6 2 1.9 2.6 3.3 5.3.9 4.2 0 2.9.5 5.3-1 1.9 4 2.3 1.2 4.5 2.7a14.5 14.5 0 01-6.2 7c-1.7 3-2.8 6-6.2 7.2-2.5 2.5-5.2 4-8 6.2-3.8 1-8 .8-12.3.8H388c-2.6 1.4-7 2-10.6 2.7-4 0-8.7 0-11.5-.9-1.9-1.9-5.2-4-7-6.2-2-1.5-2-4.4-3.6-6.2-1.4-2.5-2-6.5-3.5-8.8z" transform="matrix(1.48 0 0 1.54 -103 -521.4)"/>
+    <path id="path2989" d="M437.5 487.6v.8c0-2.4.1-1.1-1.8 3.6-.3 1.1-1.2 1.4-2.6 1.8m-3.5-2.7h.9c-3.3 3-5.5 4.5-6.2 8l6.2-8c-3.3 3-5.5 4.5-6.2 8m-7.1-12.4s-.1 3.1-.9 4.4m-2.6 1.8v.8zm-7.1-5.3h.9-1c.4 0 .7 0 0 0zm-49.5 0c.4 0 2.2 2.8 4.4 4.4-.5 2.6-1.4 5.6 0 8m2.7-7.1c.4 0 2.1 2.8 4.4 4.4l-4.4-4.4c.4 0 2.1 2.8 4.4 4.4v.9c0-2.8-.2-5.6.9-7.1 1 1.7 2.2 4.3 2.6 1.8 5-.2 7.4-1.6 10.6-2.7 0 1.3-.2.7 1 1.8m60-3.6h.9c-1.7 1.4-3 4.3-4.4 6.2m-32.7-8.8h7" transform="matrix(1.48 0 0 1.54 -103 -521.4)"/>
+  </g>
+  <path id="path2993" fill="#fff" fill-rule="evenodd" stroke-width=".8" d="M425.9 214.3c-11.5 0-15.4 13.5-26.9 13.5h-.6v.8c0 9.4.6 18.1 1.8 26.2 10.6-.8 14.5-13.4 25.7-13.4 11.5 0 15.3 13.4 26.8 13.4 11.6 0 15.4-13.4 26.9-13.4 11.5 0 15.4 13.4 26.9 13.4 11.5 0 15.3-13.4 26.8-13.4 11 0 15 12.5 25.6 13.4a139 156.1 0 001.9-27h-.7c-11.5 0-15.3-13.4-26.8-13.4s-15.4 13.5-26.8 13.5c-11.5 0-15.4-13.5-27-13.5-11.4 0-15.3 13.5-26.8 13.5-11.4 0-15.3-13.5-26.8-13.5zm0 52.7c-9 0-13.2 8.2-20.2 11.8a111 124.5 0 008.6 20.5c3.3-2.8 6.7-5.2 11.6-5.2 11.5 0 15.3 13.5 26.8 13.5 11.6 0 15.4-13.5 26.9-13.5 11.5 0 15.4 13.5 26.8 13.5s15.4-13.5 26.9-13.5a18.3 20.6 0 0111.3 5 112 125.7 0 008.6-20.4c-6.7-3.7-11-11.7-20-11.7-11.4 0-15.3 13.5-26.8 13.5S491 267 479.6 267s-15.4 13.5-26.9 13.5c-11.4 0-15.3-13.5-26.8-13.5zm53.7 52.7c-11.5 0-15.4 13.5-26.9 13.5-10.9 0-14.9-12-25-13.4a132 132 0 0039.3 33c3.6-3.2 7.3 3.6 12.5 3.6 5.3 0 9-6.9 12.5-3.8a129.1 145 0 0039-32.7c-9.8 1.7-14 13.3-24.6 13.3-11.5 0-15.3-13.5-26.8-13.5z" opacity="1" stop-opacity="1"/>
+  <g id="g3070" opacity="1" transform="matrix(.86465 0 0 .97062 -175.4 2.5)">
+    <path id="path2995" fill="none" stroke="#512007" stroke-width=".5" d="M332.5 541.4a110 110 0 0110.5-3l16.3 15.7-13.4 2.7z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path2997" fill="none" stroke="#512007" stroke-width=".6" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 31.3l6.7-31.1m-4.4 31.2l5.6-31.2m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(1.06 0 0 1.03 276.8 -178)"/>
+    <path id="path2999" fill="none" stroke="#512007" stroke-width=".4" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(-1.25 0 0 1.76 1290.4 -502)"/>
+    <path id="path3001" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(-1.25 0 0 1.3 1321.3 -302)"/>
+    <path id="path3003" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M395.3 572.2l.9-73s2.6-.3 2.6 0-.3 72.7-.6 73c-.3.3-3.2.5-2.9 0zm28.5-69.8l-.6 61.3-2 2.4.6-63.7z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3005" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363 560.2s3 30 36.4 29.1c33.4-.9 42.7-30.2 42.7-30.2l-14.5-.6c-.3 0-11.6 14-26.2 13.7-14.6-.3-19.2-3.8-22.4-6.7-3.2-3-6-7.3-6-7.3l-17-6.7 1 6.4zm90.3-3l-1-4v-3.4l1.6-3.6s-25.3 3.7-25.3 4l-.1 6.8 24.8.1z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3007" fill="none" stroke="#512007" stroke-width=".5" d="M448.5 549.8l-.6 6h4.1l-.3-6zm-4.3.3l-.3 6.4 2.6-.3.3-6.1zm-4.4 6.4v-5l2.6-.9.3 5zm-5-.3l.6-4.4 3 .3.2 4.7zm-5.5 0l.3-3.8 3-.3v4.4zm-67.4 3.7c.9 0 7.6 1.5 7.6 1.5l7 9.3" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3009" fill="none" stroke="#512007" stroke-width=".5" d="M366.8 561.1c.3.3 6.1 19.8 34 19.8s34.6-22.1 34.6-22.1" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3011" fill="none" stroke="#512007" stroke-width=".5" d="M439.8 559.4s-13.4 29-39 27c-25.5-2-29.6-11.6-31.6-16.6-2-5-3.2-9-3.2-9" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3013" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M373.2 558.2c.3-1.7.3-54.4.3-54.4l-1.7-.2-.3 53.7 1.7 1zm-41.5-17.1l22 10.7-.5 1.5S332 543.3 332 543c0-.3.2-1.5-.3-2z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3015" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M341.8 537.9c0 .8 3.2 18.6 3.2 18.6s2 .3 2 0l-3.4-18.3zm20.4.5c1.1 0 21-3.2 21-3.2l-.4 3.2-19.5 2z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3017" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M365 514.3c.7 0 7 3.2 9.7 2.4 2.7-.8.9-3 1.4-3 .6 0 2.6 1.5 3.8.3 1.2-1.1 2-4.6 1.5-4.3-.6.3-16 5.8-16.3 4.6z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3019" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M362.5 521.6c1.1.3 23.8-6.1 23.8-6.1s0 2-.3 2l-23.5 6.1z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3021" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M415 512.6s1.5 3.5 3 2.9c1.5-.6 2.9-1.8 2.9-1.8s1.2 3 3.2 2.4c2-.6 3.2-3.8 3.2-3.8s2 .6 2.9.3c.9-.3 2-5 2-5l-17.1 5zm-1.7 28.2c-.3.6 1.5 2 3 2s2-2 2.3-1.4c.3.5.3 3.2 4 2.3 3.7-.9 3.8-3.5 3.8-3.5s-1.1.9 1.5 1.2c2.6.3 5.2-3.8 5-3.8-.4 0-19 3.5-19.6 3.2z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3023" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363.4 513.1a5 5 0 00.2 2.7l19-6.4s.8-1.5 0-1.5-19.5 5.8-19.3 5.3zm25-4c.5 0 19.4-6.1 19.4-6.1s.3 2.6 0 2.6l-17.7 5.2-1.8-1.7z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3025" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M413.3 521.9s-2.9 3.2-2 7.5c.9 4.4 2 8.2 2.3 8.2.3 0 3.5-5.8 7-6.1 3.5-.3 9.9 3.2 9.9 3.2s-.9-7-.6-10.2c.3-3.2 5.2-8.7 5.2-8.7l-21.8 6z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3027" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M386.9 516.6s-.6 2.7-.3 2.7l24.7-6.4V511l-24.4 5.5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3029" fill="#b6b6b4" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M355.5 551.8s-5.8-.8-5.5.6c.3 1.5 2.9 2.9 3.2 3.8.3.9-.9 4 .9 3.8 1.7-.3 3.4-1.5 3.4-2.4l-.3-5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3031" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M387.8 537.3v2l20.9-2.9-.6-1.5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3033" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M363 540.8c.4 0 0 2.6 2.4 2 2.3-.6 2.9-2 2.9-2s.6 3.2 3.8 2.9c3.2-.3 5-3.8 5-3.8s.2 2.6 2.2 1.7c2-.9 2.6-2.9 2.6-2.9l-18.3 2.6-.5-.5zm0-17.2s-2.6.9-1.7 6.1c.9 5.2 3 8.2 3.2 8.2.3 0 2.6-5 6.1-5.8 3.5-1 9.6 2.6 9.6 2.6s-.6-4.7.3-9a18 18 0 013.8-7.6s-20.4 5.5-21.2 5.5z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3035" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M411.9 538.7l.3 1.8s21-2.6 21-3c0-.2 0-2-.4-2-.3 0-20.6 3.5-21 3.2zm-.3-18.6l.3 2 24.7-6.6s.6-1.8.3-1.8-24.7 7.3-25.3 6.4z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3037" fill="none" stroke="#512007" stroke-width=".5" d="M414.2 510.8s-.3 1.8 0 1.8 18.3-4.4 18.3-4.7c0-.3 1.8-2 .3-1.7-1.4.3-18 5.5-18.6 4.6zm38.7 33.7l-18-28.4m-2.4 19.7c.3-.8 1.2-18.3 1.2-18.3" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3039" fill="#fecf3e" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M389 510c1 .2 3.1 3.2 4.3 2.6 1.2-.6 2.9-2.4 2.9-2.4s-.3 3.5 2 3c2.4-.6 2.7-3 2.7-3s1.7 1 3.2 0c1.4-.8 2.8-5.2 2.3-5.2s-16.9 5.2-17.5 5zm-.6 8.4c0 .6-3 5.2-2 9.6 1 4.4 2.5 8.4 2.8 8.4.3 0 4.7-4.6 8.5-5.5 3.7-.9 9.3 2.9 9 2.9-.3 0-1.5-4.4-1.5-7.6 0-3.2 4.4-13 4.4-13zm0 21c0 .2.8 2.2 2.9 2.2 2 0 2.3-2 2.3-2s-.3 3.5 2.9 3.2c3.2-.3 4.3-3.5 4.3-3.5s.3 1.8 3 .9c2.6-.9 6-3.8 5.8-3.8-.3 0-21 3.8-21.3 3z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <use id="use3041" width="992.1" height="496.1" x="0" y="0" transform="translate(-6.6 7.3)" xlink:href="#k"/>
+    <use id="use3043" width="992.1" height="496.1" x="0" y="0" transform="translate(6.6 3.8)" xlink:href="#k"/>
+    <use id="use3045" width="992.1" height="496.1" x="0" y="0" transform="translate(0 11)" xlink:href="#k"/>
+    <path id="k" fill="#be0f17" fill-rule="evenodd" stroke="#512007" stroke-width=".6" d="M409 477a1.9 1.9 0 11-3.8 0 1.9 1.9 0 013.8 0z" transform="matrix(.04 -1.07 1.02 .04 251.6 668)"/>
+    <path id="path3048" fill="none" stroke="#512007" stroke-width=".5" d="M398.2 500c0-.2 9 3.8 9 4.1 0 .3 32 42.8 32.3 42.8m-16-42.8l8.2 3.5 2.6 6.4m-61.4-10.4c-.3 0 9 7 9 7l1.2 5.7M341.3 546c4-1.7 32.2-26.4 32.2-26.4m-39.8 21.7l31.7-26.7m21.2 4l30 49.8m-3.6-29.2s3.5 11.7 7 13.5a86 86 0 017.6 4.6" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3050" fill="none" stroke="#512007" stroke-width=".5" d="M412.6 539.5s2.5 13.8 6 16.4c3.5 2.6 7 5.5 7 5.5" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <path id="path3052" fill="none" stroke="#512007" stroke-width=".5" d="M391 439s3.4 19.2 10.4 23.6a950 950 0 0112.8 8.1" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/>
+    <path id="path3054" fill="none" stroke="#512007" stroke-width=".5" d="M390.7 438.7s7.5 15.2 14 19.8c6.3 4.7 15 9 15 9M366.3 440c2 3.5 1.7 10.2 4 12.5a66 66 0 015.8 7.6m-9.3-19.9c1.2 1.7 4.4 10.4 6.4 13 1.5 2.4 16.3 17.2 16.3 17.2" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/>
+    <path id="path3056" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M384.6 471.1a2.2 2.2 0 11-4.4 0 2.2 2.2 0 014.4 0zm10.7 4.7a1.9 1.9 0 11-3.8 0 1.9 1.9 0 013.8 0zM409 477a1.9 1.9 0 11-3.8 0 1.9 1.9 0 013.8 0zm11.9-4.5c0 1-.7 1.7-1.6 1.7-.9 0-1.6-.8-1.6-1.7 0-.9.7-1.8 1.6-1.8.9 0 1.6.8 1.6 1.8zm9.6-5.7c0 .9-.9 1.6-1.9 1.6-1 0-1.9-.7-1.9-1.6 0-.9.9-1.6 1.9-1.6 1 0 1.9.7 1.9 1.6z" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/>
+    <path id="path3058" fill="red" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M374.1 404.4c-.9.6-15.4 4.1-13.4 3.8 2-.3 13.7 3 13.4 2-.3-1 0-5.2 0-5.8zm24.7-4.3c-.6 0-9 3.2-8.7 3.2.3 0 9.6 2.6 9.3 2-.3-.6-.3-4.4-.6-5.2zm25.3 2.9c-.6.3-10.5 2.6-8.7 2.9 1.8.3 8.4 2.6 8.4 2 0-.5 0-4.6.3-5z" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/>
+    <path id="path3060" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(1.25 0 0 1.3 256.3 -299.5)"/>
+    <path id="path3062" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 31.3l6.7-31.1m-4.4 31.2l5.6-31.2m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(1.25 0 0 1.36 225.3 -323.4)"/>
+    <path id="path3064" fill="none" stroke="#512007" stroke-width=".5" d="M413.6 471c.3-4.6 8.8-31 8.8-31m-5.9 30.1l6.7-30m-3.7 27.7c.2-1.7 4.9-27.6 4.9-27.6m-10.5 27c1.5-.8 5.8-2 5.8-2m-3.7-2.6c1.4 0 4.3-1.2 4.3-1.2m-3.5-2.3a24 24 0 014.4-1.2m-3.8-3.2l4.7-.8m-2.6-3c0 .3 3.2.3 3.2.3m-2.4-3.7l3.2.5" transform="matrix(-1.25 0 0 1.32 1259.2 -307.3)"/>
+    <path id="path3066" fill="#dd8b59" fill-rule="evenodd" stroke="#512007" stroke-width=".5" d="M426.4 558.5l27.6.6.3-2-28.5-.3zm1.2-7.3c3.2 0 27.3-4.6 27.3-4.6s.9-3 0-3-27.3 5.6-27.3 5.6z" transform="matrix(1.25 0 0 1.3 259.4 -430)"/>
+    <use id="use3068" width="992.1" height="496.1" x="0" y="0" transform="translate(0 5.5)" xlink:href="#k"/>
+  </g>
+  <path id="path4214" fill="#012169" stroke-width=".5" d="M0 0h320v240H0z" opacity="1" stop-opacity="1"/>
+  <path id="path4216" fill="#FFF" stroke-width=".5" d="M37.5 0l122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z" opacity="1" stop-opacity="1"/>
+  <path id="path4218" fill="#C8102E" stroke-width=".5" d="M212 140.5L320 220v20l-135.5-99.5zm-92 10l3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z" opacity="1" stop-opacity="1"/>
+  <path id="path4220" fill="#FFF" stroke-width=".5" d="M120.5 0v240h80V0zM0 80v80h320V80z" opacity="1" stop-opacity="1"/>
+  <path id="path4222" fill="#C8102E" stroke-width=".5" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z" opacity="1" stop-opacity="1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fm.svg
new file mode 100644
index 0000000..54f3e77
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fm.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fm" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="fm-a">
+      <path fill-opacity=".7" d="M-81.3 0h682.6v512H-81.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#fm-a)" transform="translate(76.3) scale(.94)">
+    <path fill="#6797d6" d="M-252 0H772v512H-252z"/>
+    <path fill="#fff" d="M259.8 123l-32.4 22.2 12.4-35.9-32.5-22.2h40.1l12.4-35.9 12.4 36h40l-32.4 22.1 12.4 35.9M259.8 390l-32.4-22.2 12.4 36-32.5 22.1h40.1l12.4 35.9 12.4-36 40 .1-32.4-22.2 12.4-35.9m-188.4-92.4L79.3 306l1.4-38-37.5-11.7 38.4-11.7 1.3-38 22.3 30.8 38.4-11.8-24.6 30.7 22.4 30.7m274.2-11.7l24.6 30.7-1.4-38 37.5-11.7-38.4-11.7-1.3-38-22.3 30.8-38.4-11.8 24.6 30.7-22.4 30.7"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fo.svg
new file mode 100644
index 0000000..341d52e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fo.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fo" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="fo-a">
+      <path fill-opacity=".7" d="M-78 32h640v480H-78z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="0" clip-path="url(#fo-a)" transform="translate(78 -32)">
+    <path fill="#fff" d="M-78 32h663.9v480H-78z"/>
+    <path fill="#003897" d="M-76 218.7h185.9V32H216v186.7h371.8v106.6H216V512H109.9V325.3h-186V218.7z"/>
+    <path fill="#d72828" d="M-76 245.3h212.4V32h53.1v213.3H588v53.4H189.5V512h-53V298.7H-76v-53.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fr.svg
new file mode 100644
index 0000000..712c8a5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/fr.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-fr" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ga.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ga.svg
new file mode 100644
index 0000000..1f0a9ca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ga.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ga" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#ffe700" d="M640 480H0V0h640z"/>
+    <path fill="#36a100" d="M640 160H0V0h640z"/>
+    <path fill="#006dbc" d="M640 480H0V320h640z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-eng.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-eng.svg
new file mode 100644
index 0000000..eab52bd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-eng.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb-eng" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#ce1124" d="M281.6 0h76.8v480h-76.8z"/>
+  <path fill="#ce1124" d="M0 201.6h640v76.8H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-nir.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-nir.svg
new file mode 100644
index 0000000..e043b3e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-nir.svg
@@ -0,0 +1,132 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gb-nir" viewBox="0 0 640 480">
+  <path id="rect6943" fill="#fff" stroke-width="8.1" d="M0 0h640v480H0z"/>
+  <rect id="rect6703" fill="#fff" fill-rule="evenodd" rx="0" ry="0"/>
+  <rect id="a" width="640" height="96" y="192" fill="#c00" fill-rule="evenodd" rx="0" ry="0"/>
+  <use id="use6706" width="600" height="300" transform="matrix(0 .75 -1 0 560 0)" xlink:href="#a"/>
+  <path id="path6708" fill="#ebeae3" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M355.2 146.6c3-4.8 1.2-8-3.4-8.9 0 0-14.9 4.8-31 5.3-16 .5-35-4-35-4-3.5 2.1-2.7 7.2-1 10.4 0 0 16.8 5.6 36 5a111 111 0 0030.1-5.5c3.7-1.2 4.3-2.2 4.3-2.3z"/>
+  <path id="path6710" fill="#fff" stroke="#161111" stroke-width="1.6" d="M320 357.6l-30.9-64.2-70.9 5.4 40-58.8-40-58.8 71 5.4 30.8-64.1 30.9 64 70.9-5.3-40 58.8 40 58.8-71-5.4z"/>
+  <path id="path6712" fill="#b02320" fill-rule="evenodd" stroke="#000" stroke-width="1.3" d="M319.5 122.2c38.8 6.4 37.4 8.2 37.4 8.2l10.1-30.2s1.1-6-1.7-9.6-10.5-1.6-10.5-1.6-1-4.9-4.5-6c-3.4-1.2-16 4.5-20 5.8-4 1.3-6 2.5-11.5 2.4-5.5 0-15.4-5-17.3-6-1.7-.9-4.4-1.8-6.9-1.7-2.4 0-5 .7-6.3 2.4-1.2 1.7-1.2 3.9-1.2 3.9s-2-1.3-5.2-1.3-5 .4-6.5 2.1c-1.5 1.7-3.4 6.5-3.4 6.5l3.6 8.2.2 11.3 7.5 12 36.2-6.4z"/>
+  <path id="path6714" fill="#ebeae3" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M355.7 139.3s2 2.3 1.9 3.2c-.1.8-1 1.5-1 1.5s.7.6.5 1.5c-.1 1-1.4 1-1.4 1s.3.8-.5 1.2c-.7.4-3.8 1-3.8 1s-15-4.2-31-4.2-35 5.2-35 5.2-2-.7-2-2c-.2-1.2.1-2.1.1-2.1s-1 0-1.3-.9c-.4-1.3.1-2.3.1-2.3s-.7.2.1-1.5c.6-1.3 1.5-1.7 1.5-1.7s16.8-6 36-6.1c19.1 0 35.8 6 35.8 6.2z"/>
+  <path id="path6716" fill="none" stroke="#000" stroke-width="1.1" d="M276.2 101.5s-.6-2.2.8-4.1a4.3 4.3 0 014.7-1.4c.8.4.7 1.3 1.7 1.5 1 .3 1.8-.5 1.8-.5"/>
+  <path id="path6718" fill="#fc0" fill-opacity=".9" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M369.8 106.6l-5.8 12-2.3.4s-1.4-.8-5.4-.5c-2.8.2-3.7 1-3.7 1l5.2-12s.4 2.5 1 4c.8 2 3.7 3.7 3.7 3.7s.4-2.3-.4-5a55.9 55.9 0 00-2.8-7.3l10.5 3.7z"/>
+  <path id="path6720" fill="#121116" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M316.5 69.2h6.5v27.7h-6.5z"/>
+  <path id="path6722" fill="#f6ca1f" fill-rule="evenodd" stroke="#000" d="M276.6 120.2l4.1 9s17.9-7 38.9-6.8c31.5.2 40.5 6.5 40.5 6.5l4.6-11.1-3.5 2-3.6 2.3-4 1.5-5-.3-4.4-3.2-2.2-4.7-3.7 3.4-6.6 1.4-6.4-1.6-5.6-7.1s-4.2 7.9-9.6 8.4c-7.7.6-12.1-3.7-12.1-3.7s-2.9 6.4-7.6 7.5c-7.5 1.9-13.7-3.5-13.8-3.5z"/>
+  <g id="g6842" stroke-width="2.2">
+    <path id="path6724" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M348.4 65.7c0 1.8-1.4 3.4-3.3 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.4-3.5 3.4 3.4 0 013.3 3.4"/>
+    <path id="path6726" fill="#a3afb8" fill-rule="evenodd" d="M343.5 67.4s2.7 0 3-1.1c.3-1.2-.2-2.6-.2-2.6s1.3 1.4 1 2.5c-.4 1.1-.8 1.4-1.7 1.7a3 3 0 01-2-.5z"/>
+    <path id="path6728" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M340.3 69.5c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.4-3.4A3.4 3.4 0 01337 66a3.4 3.4 0 013.4 3.3"/>
+    <path id="path6730" fill="#a3afb8" fill-rule="evenodd" d="M335.3 71.2s2.8 0 3-1.1c.3-1.1-.2-2.6-.2-2.6s1.3 1.5 1 2.6c-.4 1-.8 1.4-1.7 1.6a3 3 0 01-2-.5z"/>
+    <path id="path6732" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M358 63.4c0 1.9-1.6 3.4-3.4 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.3-3.4 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6734" fill="#a3afb8" fill-rule="evenodd" d="M353 65.2s2.7 0 3-1.2c.3-1.1-.2-2.5-.2-2.5s1.3 1.4 1 2.5c-.4 1.1-.8 1.4-1.7 1.6a3 3 0 01-2-.4z"/>
+    <path id="path6736" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M368.6 65.6c0 1.8-1.5 3.4-3.3 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.4-3.4 3.4 3.4 0 013.3 3.3"/>
+    <path id="path6738" fill="#a3afb8" fill-rule="evenodd" d="M363.7 67.3s2.7 0 3-1.1c.3-1.2-.2-2.6-.2-2.6s1.3 1.4 1 2.6c-.4 1-.8 1.3-1.7 1.6a3 3 0 01-2.1-.5z"/>
+    <path id="path6740" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M376.8 72.3c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.4-3.4 3.4 3.4 0 013.4 3.3"/>
+    <path id="path6742" fill="#a3afb8" fill-rule="evenodd" d="M371.9 74s2.7 0 3-1.1c.2-1.1-.2-2.6-.2-2.6s1.3 1.5.9 2.6c-.4 1-.7 1.4-1.7 1.6-.6.1-1.5-.1-2-.5z"/>
+    <path id="path6744" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M380.3 83.3c0 1.9-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.3-3.4 3.4 3.4 0 013.3-3.4 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6746" fill="#a3afb8" fill-rule="evenodd" d="M375.4 85s2.7 0 3-1.1c.2-1.1-.2-2.6-.2-2.6s1.3 1.5.9 2.6c-.4 1-.7 1.4-1.7 1.6a3 3 0 01-2-.5z"/>
+    <path id="path6748" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M379 94.4c0 2-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.3-3.3 3.4 3.4 0 013.3-3.5 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6750" fill="#a3afb8" fill-rule="evenodd" d="M374 96.2s2.8 0 3-1.2c.3-1-.1-2.5-.1-2.5s1.3 1.4.9 2.5-.7 1.4-1.7 1.6a3 3 0 01-2-.4z"/>
+    <path id="path6752" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M374 104.2c0 1.9-1.5 3.4-3.3 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.4-3.4 3.4 3.4 0 013.3 3.4"/>
+    <path id="path6754" fill="#a3afb8" fill-rule="evenodd" d="M369.1 106s2.7 0 3-1.2c.3-1-.2-2.5-.2-2.5s1.3 1.4 1 2.5c-.4 1.1-.8 1.4-1.7 1.6a3 3 0 01-2-.4z"/>
+    <path id="path6756" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M332.3 72.4c0 1.9-1.5 3.4-3.3 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.3-3.4 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6758" fill="#a3afb8" fill-rule="evenodd" d="M327.4 74.2s2.7 0 3-1.2c.3-1.1-.2-2.5-.2-2.5s1.3 1.4 1 2.5c-.4 1.1-.8 1.4-1.7 1.6-.7.2-1.6 0-2.1-.4z"/>
+    <g id="g6764" stroke-width="2.7">
+      <path id="path6760" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.1 71.5a2.8 2.8 0 01-2.8 2.9 2.8 2.8 0 01-2.8-2.9 2.8 2.8 0 012.8-2.8 2.8 2.8 0 012.8 2.8"/>
+      <path id="path6762" fill="#a3afb8" fill-rule="evenodd" d="M318 73s2.3 0 2.5-1c.3-.9-.1-2-.1-2s1 1.1.8 2c-.4 1-.7 1.2-1.4 1.4a2.5 2.5 0 01-1.8-.4z"/>
+    </g>
+    <g id="g6770" stroke-width="2.7">
+      <path id="path6766" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.2 75a2.8 2.8 0 01-2.8 3 2.8 2.8 0 01-2.8-3 2.8 2.8 0 012.8-2.8 2.8 2.8 0 012.8 2.8"/>
+      <path id="path6768" fill="#a3afb8" fill-rule="evenodd" d="M318 76.5s2.3 0 2.6-1c.2-.8-.2-2-.2-2s1 1.2.8 2c-.3 1-.6 1.2-1.4 1.4a2.5 2.5 0 01-1.7-.4z"/>
+    </g>
+    <g id="g6776" stroke-width="2.7">
+      <path id="path6772" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.4 80.3a2.8 2.8 0 01-2.8 2.8 2.8 2.8 0 01-2.9-2.8 2.8 2.8 0 012.9-2.9 2.8 2.8 0 012.8 2.9"/>
+      <path id="path6774" fill="#a3afb8" fill-rule="evenodd" d="M318.3 81.8s2.2 0 2.5-1c.2-1-.2-2.1-.2-2.1s1 1.2.8 2c-.3 1-.6 1.3-1.4 1.4a2.5 2.5 0 01-1.7-.3z"/>
+    </g>
+    <g id="g6782" stroke-width="2.5">
+      <path id="path6778" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.7 85.8a3 3 0 01-3 3.1 3 3 0 01-3.1-3 3 3 0 013-3.2 3 3 0 013 3.1"/>
+      <path id="path6780" fill="#a3afb8" fill-rule="evenodd" d="M318.2 87.4s2.5 0 2.7-1-.2-2.3-.2-2.3 1.2 1.3.9 2.3c-.4 1-.7 1.2-1.5 1.4a2.6 2.6 0 01-1.9-.4z"/>
+    </g>
+    <path id="path6784" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M323 93.3c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.3-3.4 3.4 3.4 0 013.3-3.5 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6786" fill="#a3afb8" fill-rule="evenodd" d="M318 95s2.8 0 3-1.1c.3-1.1-.1-2.6-.1-2.6s1.3 1.5.9 2.6c-.4 1-.7 1.4-1.7 1.6a3 3 0 01-2-.5z"/>
+    <g id="g6792" stroke-width="2.4">
+      <path id="path6788" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322.7 108.5c0 1.8-1.4 3.2-3.2 3.2a3.2 3.2 0 01-3.2-3.2c0-1.7 1.4-3.2 3.2-3.2a3.2 3.2 0 013.2 3.2"/>
+      <path id="path6790" fill="#a3afb8" fill-rule="evenodd" d="M318 110.2s2.6 0 2.8-1.1c.3-1-.1-2.4-.1-2.4s1.2 1.3.8 2.4c-.3 1-.7 1.3-1.5 1.5-.6.1-1.5-.1-2-.4z"/>
+    </g>
+    <path id="path6794" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M313.6 72.3c0 1.9-1.6 3.4-3.4 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.4-3.4 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6796" fill="#a3afb8" fill-rule="evenodd" d="M308.6 74s2.7 0 3-1c.3-1.2-.2-2.6-.2-2.6s1.3 1.4 1 2.5c-.4 1.1-.8 1.4-1.7 1.6a3 3 0 01-2-.4z"/>
+    <path id="path6798" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M305.2 69c0 1.9-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.3-3.4 3.4 3.4 0 013.3-3.4 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6800" fill="#a3afb8" fill-rule="evenodd" d="M300.3 70.8s2.7 0 3-1.2c.2-1-.2-2.5-.2-2.5s1.3 1.4 1 2.5c-.5 1.1-.8 1.4-1.8 1.6-.6.2-1.5 0-2-.4z"/>
+    <path id="path6802" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M297.2 65.3c0 1.8-1.5 3.4-3.3 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.3-3.5 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6804" fill="#a3afb8" fill-rule="evenodd" d="M292.3 67s2.7 0 3-1.1c.3-1.1-.2-2.6-.2-2.6s1.3 1.5 1 2.6c-.4 1-.8 1.4-1.7 1.6a3 3 0 01-2.1-.5z"/>
+    <path id="path6806" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M288 63.3c0 1.9-1.4 3.4-3.3 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.4-3.5 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6808" fill="#a3afb8" fill-rule="evenodd" d="M283.1 65s2.7 0 3-1.1c.3-1.1-.2-2.6-.2-2.6s1.3 1.5 1 2.6c-.4 1-.8 1.4-1.7 1.6a3 3 0 01-2-.5z"/>
+    <path id="path6810" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M277.2 65.8c0 2-1.5 3.4-3.3 3.5a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.4-3.5 3.4 3.4 0 013.3 3.4"/>
+    <path id="path6812" fill="#a3afb8" fill-rule="evenodd" d="M272.3 67.6s2.7 0 3-1.1c.3-1.2-.2-2.6-.2-2.6s1.3 1.4 1 2.5c-.4 1.1-.8 1.4-1.7 1.7a3 3 0 01-2-.5z"/>
+    <path id="path6814" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M269.6 73.5c0 1.9-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.3-3.4 3.4 3.4 0 013.3-3.4 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6816" fill="#a3afb8" fill-rule="evenodd" d="M264.7 75.2s2.7 0 3-1.1c.2-1.1-.2-2.6-.2-2.6s1.3 1.5.9 2.6c-.4 1-.7 1.4-1.7 1.6a3 3 0 01-2-.5z"/>
+    <path id="path6818" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M266.4 84.2c0 1.9-1.5 3.4-3.3 3.4a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.3-3.4 3.4 3.4 0 013.4 3.3"/>
+    <path id="path6820" fill="#a3afb8" fill-rule="evenodd" d="M261.5 86s2.7-.1 3-1.2c.3-1.1-.2-2.6-.2-2.6s1.3 1.5 1 2.6c-.4 1-.8 1.4-1.7 1.6a3 3 0 01-2.1-.5z"/>
+    <path id="path6822" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M267.8 95.3c0 2-1.5 3.5-3.3 3.5a3.4 3.4 0 01-3.4-3.4 3.4 3.4 0 013.3-3.5 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6824" fill="#a3afb8" fill-rule="evenodd" d="M262.9 97.1s2.7 0 3-1.2c.3-1-.2-2.5-.2-2.5s1.3 1.4 1 2.5c-.4 1.1-.8 1.4-1.7 1.7a3 3 0 01-2-.5z"/>
+    <path id="path6826" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M273 105.5c0 1.8-1.5 3.4-3.4 3.4a3.4 3.4 0 01-3.3-3.4 3.4 3.4 0 013.3-3.5 3.4 3.4 0 013.4 3.4"/>
+    <path id="path6828" fill="#a3afb8" fill-rule="evenodd" d="M268 107.2s2.8 0 3-1.1c.3-1.1-.1-2.6-.1-2.6s1.3 1.4 1 2.5c-.5 1.1-.8 1.4-1.7 1.7a3 3 0 01-2.1-.5z"/>
+    <g id="g6834" stroke-width="2.8">
+      <path id="path6830" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.31597 -.08466 .13499 .50378 109.4 30)"/>
+      <path id="path6832" fill="#a3afb8" fill-rule="evenodd" d="M276.3 120.7s1.6-.5 1.5-1.6c0-1.1-.7-2.4-.7-2.4s1.1 1.1 1.2 2.3c0 1-.1 1.4-.6 1.8-.3.2-1 .2-1.4-.1z"/>
+    </g>
+    <g id="g6840" stroke-width="2.8">
+      <path id="path6836" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" d="M430.6 247.4a6.5 6.5 0 01-6.4 6.5 6.5 6.5 0 01-6.5-6.5 6.5 6.5 0 016.4-6.5 6.5 6.5 0 016.5 6.5" transform="matrix(.31758 .0784 -.125 .50636 260 -40.2)"/>
+      <path id="path6838" fill="#a3afb8" fill-rule="evenodd" d="M362.3 119.8s1.7.4 2.1-.7c.5-1 .5-2.5.5-2.5s.5 1.6 0 2.6-.8 1.3-1.4 1.3c-.4.1-1-.3-1.2-.7z"/>
+    </g>
+  </g>
+  <path id="path6844" fill="#b3a192" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M316.7 53.8l.3 5.7s-6.8.6-7 1.2c-1.4 3 1.5 7 1.5 7s2.3-1.8 8-1.8c5.5 0 8.3 1.4 8.3 1.4s1.4-2.3 1.4-4c0-1.7-.6-3.4-.6-3.4l-3.6-.4h-2.5l-.2-5.8-5.6.1z"/>
+  <path id="path6846" fill="#f0ddcb" stroke="#121116" stroke-linejoin="round" stroke-width=".6" d="M326.4 62.6c0 .7-.6 1.2-1.2 1.2-.7 0-1.3-.5-1.3-1.1 0-.7.6-1.2 1.2-1.2.7 0 1.2.5 1.3 1.1m2.7.7c0 .6-.5 1.2-1.2 1.2s-1.3-.6-1.3-1.2c0-.7.6-1.2 1.3-1.2.7 0 1.2.5 1.2 1.2m-5.5-.7c0 .6-.6 1.2-1.2 1.2-.7 0-1.2-.6-1.2-1.2s.5-1.2 1.1-1.2c.7 0 1.3.6 1.3 1.2m-5.6 0c0 .7-.6 1.3-1.3 1.3-.7 0-1.2-.6-1.2-1.2 0-.7.5-1.2 1.2-1.2s1.3.5 1.3 1.2m-3.1.2c0 .6-.6 1.2-1.3 1.2-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.3.5 1.3 1.2m5.7-3.5c0 .6-.5 1-1 1a1 1 0 01-1.2-1c0-.6.5-1 1.1-1 .6 0 1 .4 1 1m0-4.7c0 .5-.4 1-1 1a1 1 0 01-1-1c0-.6.4-1 1-1s1 .4 1 1m0 2.5c0 .6-.4 1-1 1s-1-.4-1-1c0-.5.4-1 1-1s1 .4 1 1m-8.8 6.5c0 .7-.5 1.2-1.2 1.2-.6 0-1.2-.5-1.2-1.2 0-.6.5-1.1 1.2-1.1s1.2.5 1.2 1.1"/>
+  <path id="path6848" fill="#916c68" stroke="#4d3126" stroke-linejoin="round" stroke-width=".6" d="M320.9 62.4c0 .7-.6 1.2-1.4 1.2a1.3 1.3 0 01-1.3-1.2c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3"/>
+  <g id="g6854" stroke-width="2.5">
+    <path id="path6850" fill="#eee" stroke="#1e1e1e" stroke-linejoin="round" stroke-width="1.2" d="M322 45.5a2.5 2.5 0 01-2.4 2.5 2.5 2.5 0 01-2.5-2.5 2.5 2.5 0 012.5-2.6 2.5 2.5 0 012.5 2.5"/>
+    <path id="path6852" fill="#a3afb8" fill-rule="evenodd" d="M318.4 46.8s2 0 2.2-1c.2-.7-.1-1.8-.1-1.8s1 1 .7 1.9c-.3.8-.6 1-1.2 1.2a2.2 2.2 0 01-1.6-.3z"/>
+  </g>
+  <path id="path6856" fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M280 130.1s2.2 2.1 2.8 4c.6 1.8 1.5 6.8 1.5 6.8s23.2-6.5 34.6-6c11.4.6 37.7 6.3 37.7 6.3l1-5.7c.5-3 2.7-6.3 2.7-6.3s-25.1-7.8-41-7a116 116 0 00-27.3 3.5 258.5 258.5 0 00-12 4.4z"/>
+  <path id="path6858" fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M314.7 36h10s-2.5 1.7-3 3.4c-.4 1.4-.3 3.7-.3 3.7s2.7 0 4-1a78.8 78.8 0 013.7-2.9v12.7s-2.5-2.3-4-3.1a14.4 14.4 0 00-3.5-1.3s0 2 .8 3.3 4.3 5.8 4.3 5.8l-14.3.5s3.4-3.5 4.8-6.1c.9-1.7.5-3.5.5-3.5s-2.4 0-3.6.9c-1.3.8-3.4 3.3-3.4 3.3V39.5s1 2.4 3 3.3c2 .9 3.8.4 3.8.4s.4-2.4-.4-4c-.8-1.5-2.6-3.2-2.4-3.1z"/>
+  <path id="path6860" fill="#fc0" fill-rule="evenodd" stroke="#121116" stroke-width="1.2" d="M313.9 76.5s-7.1-.1-13.2-3.7-12.3-7.4-21.3-5.3c-1.8.5-8.6 3.5-11.6 13.2a26 26 0 002.4 18.7 50.2 50.2 0 005.6 7.4l3.7-2.5s-9.3-8-8.2-18.2c1-10.3 6.2-12.7 6.2-12.7s6.4-5 14.9-.3a80 80 0 0025.3 8.7c.6-.1-4-5.4-3.8-5.3z"/>
+  <path id="path6862" fill="#fc0" fill-rule="evenodd" stroke="#000" stroke-width="1.2" d="M274.5 115l-3.8-7.4 11.4-4.4s-2.8 3.6-3.4 6.2c-.8 3.2-.5 5.9-.5 5.9s1-.8 2.3-2.9c1-1.5 2.6-7.3 2.6-7.3l5.1 16.3s-2.6-2.6-4.5-2.9c-2-.4-4.6.3-4.6.3l-3 1-1.6-4.8z"/>
+  <path id="path6864" fill="#fc0" fill-rule="evenodd" stroke="#121116" stroke-width="1.2" d="M326.7 76.3s7.1 0 13.2-3.7c6.1-3.6 12.2-7.3 21.3-5.2 1.8.4 8.6 3.4 11.6 13.1a26 26 0 01-2.5 18.7 116.7 116.7 0 01-3.6 5.9l-4.4-1.6s8.1-7.3 7-17.6c-1.1-10.3-6.2-12.7-6.2-12.7s-6.4-5-14.9-.2c-8.5 4.7-16.8 6.8-16.8 6.8s-7.8 2-8.5 1.8c-.7 0 4-5.4 3.8-5.3z"/>
+  <path id="path6866" fill="#fc0" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M323 69.3h3V97h-3zm-10-.2h3.5v27.7H313z"/>
+  <path id="path6868" fill="#fc0" stroke="#121116" stroke-linejoin="round" stroke-width="1.2" d="M329.2 62.7c0 5-4.3 9-9.7 9-5.3 0-9.7-4-9.7-9 0-4.9 4.3-8.9 9.6-8.9 5.4 0 9.8 4 9.8 8.9"/>
+  <path id="path6870" fill="#fc0" fill-rule="evenodd" stroke="#000" d="M310.9 96.8l16.7-.2s-2 1.2-3.7 4.2c-1.6 3-1.4 4.8-1.4 4.8s2.5 0 4.3-1.3a25.9 25.9 0 003.8-3.7v15.3s-1.3-2-3.3-3c-2-1.3-4.8-1.3-4.8-1.3h-5.7s-2.6.2-3.7 1a29 29 0 00-3.7 3.2l-.3-14.6s.8 2.6 3.5 3.6 4.2 1 4.2 1 0-3.4-1.4-5a33 33 0 00-4.5-4z"/>
+  <path id="path6872" fill="#f6ca1f" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="M320.2 108.8s2.4 5.7 5.3 8.2c1.6 1.5 6.6 2.6 8.8 2 5-1.3 8.6-5.3 8.6-5.3s-.2 4.4 3 6.9c3.1 2.4 5.6 3 8.2 2.3 2.7-.7 10-6.2 10-6.2l1.6 1.3s-4.3 4.2-8.7 6.3c-2.3 1.2-9.3.5-11.5-1.3-2.3-1.8-3.6-6.1-3.6-6.1s-1.4 2.8-4.4 3.8c-3 1-7 1-10.9-.2-2.5-.8-5.9-4.3-6.5-5.5-.6-1.1-.4-1.8-.4-1.8s-2 5.4-5.8 6.9a18.7 18.7 0 01-11.5.4c-3.6-1-3.9-3.1-3.9-3.1s-.2 5.7-8 7.3c-8 1.6-14.2-4.1-14.2-4.1l1.1-1.7s4.4 5 11.2 4.6c6.8-.5 9-9.2 9-9.2s3 4.5 11 4.6c7.9.1 10.2-10.3 10.2-10.3l1.4.2z"/>
+  <g id="g6882" fill="#fc0" stroke="#000" stroke-width="1.1">
+    <path id="path6874" fill-rule="evenodd" d="M300.6 112.1s0-2.7.7-3.6c.8-1.1 2-1.2 2.6-1 .7.2 1.4.8 1.3 2.8-.1 1.9-.7 2.8 0 3.6.5.7.6 1.2 1.7 1 1-.2 1.6-.5 1.3-1.5s-.5 0-.7-.8c-.2-.9 1-4.6.8-6.9-.2-2.2-1-4-2.8-4.5-1.6-.4-3-.4-4.5.7-1.4 1-3.3 4.5-3.3 4.5v7.5l3-.2v-1.6z"/>
+    <path id="path6876" fill-rule="evenodd" d="M295 114.1s-1.2-2.5-2-3a2.5 2.5 0 00-2.8 0c-.6.5-1 1.4-.1 3.1.8 1.7 1.7 2.4 1.4 3.3-.2.9 0 1.4-1.1 1.7-1.1.3-1.7.1-1.9-1-.2-1 .6 0 .4-1-.1-.8-2.8-3.7-3.5-5.9-.7-2.1-.6-4.1.8-5.2 1.3-1 2.5-1.6 4.3-1.2 1.8.4 4.9 2.9 4.9 2.9l3 6.8-2.8 1-.6-1.5z"/>
+    <path id="path6878" fill-rule="evenodd" d="M294.4 92.1s-3 5-2.3 8.8c.7 3.8 4.6 12 4.6 12v1l2.2-.2-.5-1.1s1-9.8.4-12.9a33 33 0 00-4.4-7.6zm4.7 22.7s1.5 1.7 3.2 2.6c2 .9 2.8 1 3.5.3.6-.4.4-2.2-.3-2.7-.6-.5-1.4-.2-1.5.3-.2.8-.4.8-1 .4-1-.4-3-1.7-3-1.7l-.9.8zm-2.3.4s-.6 2.2-1.8 3.7c-1.4 1.6-2.1 2-3 1.7-.7-.1-1.3-1.8-.9-2.6.4-.7 1.2-.8 1.5-.4.5.7.7.6 1.1 0l2-2.7 1.1.2z"/>
+    <path id="path6880" stroke-linejoin="round" d="M302.4 113.4c.2.6-1.8 1.5-4.3 1.9-2.5.4-4.6.3-4.8-.4 0-.6 1.9-1.5 4.4-2 2.5-.4 4.6-.2 4.7.5"/>
+  </g>
+  <g id="g6892" fill="#fc0" stroke="#000" stroke-width="1.1">
+    <path id="path6884" fill-rule="evenodd" d="M345.6 113.2s1-2.5 2-3.1c1.1-.8 2.2-.5 2.7 0 .6.3 1 1.2.3 3-.8 1.7-1.6 2.4-1.4 3.3.3 1 .2 1.4 1.3 1.6 1.1.3 1.7.1 1.8-1 .1-1-.5 0-.4-1 0-.8 2.6-3.9 3.2-6 .6-2.3.4-4.2-1-5.3-1.4-1-2.7-1.4-4.5-.9-1.7.5-4.7 3.1-4.7 3.1l-2.6 7 2.9.9.4-1.6z"/>
+    <path id="path6886" fill-rule="evenodd" d="M339.7 113.1s-.2-2.7-.9-3.5c-.9-1.1-2-1.1-2.6-1-.7.3-1.4 1-1.2 2.9.2 2 .8 2.8.3 3.6-.6.8-.6 1.2-1.7 1.1-1.1 0-1.7-.4-1.5-1.4.2-1 .6 0 .8-.9.1-.8-1.3-4.5-1.2-6.8 0-2.2.8-4 2.5-4.6 1.6-.5 3-.6 4.5.5 1.5 1 3.6 4.3 3.6 4.3l.4 7.4h-3v-1.6z"/>
+    <path id="path6888" fill-rule="evenodd" d="M346.8 92.3s-4.5 3.6-5.2 7.4c-.7 3.8.1 12.8.1 12.8l-.3 1 2 .6v-1.2s4.4-8.8 4.9-12a32 32 0 00-1.5-8.6zm-3.5 22.9s.8 2.1 2.1 3.5c1.5 1.6 2.2 1.9 3.1 1.6.7-.2 1.1-2 .7-2.6-.4-.7-1.2-.7-1.5-.3-.5.7-.7.5-1.1 0a77.7 77.7 0 01-2.2-2.6l-1.1.4zm-2.3-.5s-1.3 1.9-3 2.8c-1.9 1.1-2.7 1.2-3.5.6-.6-.3-.5-2.1.1-2.7.7-.5 1.4-.3 1.6.2.2.8.5.7 1 .4l2.8-2 1 .7z"/>
+    <path id="path6890" stroke-linejoin="round" d="M346.9 115c-.1.7-2.3.8-4.8.3s-4.4-1.4-4.3-2c.1-.7 2.3-.8 4.8-.3s4.4 1.4 4.3 2"/>
+  </g>
+  <path id="path6894" fill="#cca715" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M279 129.9s.6 2 1.7 1c1.2-1.1 17.3-7.5 40-7.5s37.5 6.3 38.4 6.7c.9.3 1.3.8 2 0 .8-1-.7-2.3-.7-2.3s-15.8-6.7-40.4-6.6c-24.7.1-40.6 7.1-40.6 7.1s-1 .8-.3 1.6z"/>
+  <path id="path6896" fill-rule="evenodd" d="M307.9 139.3s.7-2 2-2.4c1-.3 2.5.7 2.5.7s-1.9-.2-2.5.2c-.5.3-.7 1.2-.7 1.2s.4-.8 1.9-.7h1.6s-2.5.3-3 1c-.6.7 2.3 1 2.3 1s-4.5 0-5-.2c-.6-.3-1-1.2-2-1-1 .4-2 1.3-2 1.3s1.1-2 1.8-2 1.2 0 1.8.3l1.3.6zm-16.8 3.6s.3-2 1.5-2.7c1-.5 2.7.2 2.7.2s-2 .2-2.5.6c-.4.4-.4 1.4-.4 1.4s.3-.8 1.7-1a68.5 68.5 0 001.6-.3s-2.4.7-2.8 1.5c-.5.8 2.5.6 2.5.6s-4.4.8-5 .7c-.7-.2-1.2-1-2.1-.5-1 .4-1.8 1.5-1.8 1.5s.8-2.1 1.5-2.3c.7-.1 1-.2 1.8 0l1.3.3zm30.9-4.3s.8-2 2-2.3c1.1-.3 2.7.8 2.7.8s-2-.3-2.6 0c-.5.3-.7 1.2-.7 1.2s.4-.7 1.9-.5l1.6.1s-2.5 0-3.1.8c-.6.6 2.3 1.1 2.3 1.1s-4.5-.2-5-.5c-.6-.3-1-1.2-2-1-1 .2-2 1-2 1s1.2-1.8 1.9-1.8 1.1 0 1.8.4l1.2.7zm14.1 1.6s1-1.9 2.4-2c1-.2 2.4 1 2.4 1s-1.8-.4-2.5-.2c-.6.2-.9 1-.9 1s.5-.6 2-.3l1.6.4s-2.5-.2-3.2.4c-.7.6 2.1 1.4 2.1 1.4s-4.4-.8-5-1.1c-.4-.4-.7-1.4-1.7-1.3-1 .1-2.2.8-2.2.8s1.5-1.6 2.2-1.5c.7 0 1.1.1 1.7.5l1.1.9zm14 2.5s1-1.4 2.1-1.5c.9 0 1.9 1.1 1.9 1.1s-1.5-.5-2-.4c-.5.1-.8.8-.8.8s.5-.5 1.6-.1l1.3.4s-2-.4-2.6 0c-.6.5 1.6 1.4 1.6 1.4s-3.5-1-4-1.3c-.3-.3-.4-1.1-1.2-1.1-.9 0-1.9.5-1.9.5s1.3-1.3 1.9-1.1c.5 0 .9.2 1.3.5l.9.8z"/>
+  <path id="path6898" fill="#0f6545" stroke="#000" stroke-linejoin="round" stroke-width=".7" d="M305 129.7c.4 1.7-1.6 3.5-4.4 4-2.8.6-5.3-.3-5.6-2-.3-1.6 1.6-3.4 4.4-4 2.8-.6 5.3.3 5.6 2z"/>
+  <path id="path6900" fill="#cecfc1" d="M298.8 129.4c0 .4-.4.9-1 1-.6.1-1.2-.1-1.3-.5 0-.4.4-.8 1-1 .6 0 1.2.1 1.3.5z"/>
+  <path id="path6902" fill="#0f6545" stroke="#000" stroke-linejoin="round" stroke-width=".7" d="M344.1 131.8c-.5 1.6-3 2.2-5.8 1.4-2.7-.9-4.4-2.9-4-4.5.6-1.6 3.2-2.3 5.9-1.4 2.7.8 4.5 2.8 4 4.4z"/>
+  <path id="path6904" fill="#cecfc1" d="M338.8 128.5c-.2.4-.7.6-1.3.4-.6-.2-1-.7-.9-1 .1-.5.7-.6 1.3-.5.6.2 1 .7.9 1z"/>
+  <path id="path6906" fill="#1f2d86" stroke="#000" stroke-linejoin="round" d="M314.6 126h10.1v5h-10.1z"/>
+  <path id="path6908" fill="#707c8b" d="M318.9 127c0 .3-.4.5-1 .5s-1-.2-1-.5c0-.2.5-.4 1-.4s1 .2 1 .4z"/>
+  <path id="path6910" fill="#9f1209" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M286 131l1.6 5-3 1.7s-1.5 1-3 .2c-1.4-.7-2.2-3-1.4-4 1.5-1.8 5.7-3 5.7-2.9z"/>
+  <path id="path6912" fill="#8f322f" d="M283.4 134.6c0 .8-.7 1.5-1.5 1.5s-1.4-.7-1.4-1.5c0-.9.6-1.5 1.4-1.5s1.5.6 1.5 1.5z"/>
+  <path id="path6914" fill="#e2a494" d="M282 134a.8.8 0 01-.2.7.4.4 0 01-.5 0 .8.8 0 01-.4-.5.8.8 0 01.2-.7.4.4 0 01.5-.1c.2 0 .4.3.4.6z"/>
+  <path id="path6916" fill="#9f1209" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M353.9 131.7l-1.7 4.4 4 2s1.7.8 2.8-.1c1-.8 1.2-2.8.4-3.7-.7-1-5.6-2.6-5.5-2.6z"/>
+  <path id="path6918" fill="#aa675d" d="M358.6 135.2c0 .6-.6 1-1.3 1s-1.2-.4-1.2-1 .6-1 1.2-1c.7 0 1.3.5 1.3 1z"/>
+  <path id="path6920" fill="#e2a494" d="M357.4 135c0 .3-.1.6-.3.7a.5.5 0 01-.6 0 .8.8 0 01-.3-.6c0-.3.1-.5.3-.6a.5.5 0 01.6 0c.2 0 .3.3.3.6z"/>
+  <path id="path6922" fill="#f5d8bc" d="M328.6 126.4a.7.7 0 01-.8.7.7.7 0 01-.7-.7.7.7 0 01.7-.7c.4 0 .8.3.8.7zm4.3.2a.7.7 0 01-.7.7.7.7 0 01-.8-.7.7.7 0 01.8-.6c.3 0 .7.2.7.6zm-2.2 1.7c0 .5-.4.9-1 .9s-.8-.4-.8-.9.4-.9.9-.9.9.4.9 1zm2 2.8a.7.7 0 01-.6.7.7.7 0 01-.8-.7.7.7 0 01.7-.7c.5 0 .8.3.8.7zm-4.1-.5a.7.7 0 01-.7.7.7.7 0 01-.7-.7.7.7 0 01.7-.7c.4 0 .7.3.7.7zm-20.9-3.5a.7.7 0 01-.5.8.7.7 0 01-.9-.5.7.7 0 01.6-.8.7.7 0 01.8.5zm4.3-.7a.7.7 0 01-.6.8.7.7 0 01-.8-.5.7.7 0 01.5-.8.7.7 0 01.9.5zm-1.8 2.1c.1.5-.2 1-.6 1a.9.9 0 01-1.1-.6c-.1-.4.2-1 .7-1a.9.9 0 011 .6zm2.7 2.3a.7.7 0 01-.5.8.7.7 0 01-.9-.5.7.7 0 01.5-.8.7.7 0 01.9.5zm-4.2.4a.7.7 0 01-.5.8.7.7 0 01-.9-.5.7.7 0 01.6-.8.7.7 0 01.8.5zm-19.2-.2a.7.7 0 01-.4 1 .7.7 0 01-.9-.4.7.7 0 01.4-1 .7.7 0 011 .4zm4.1-1.3a.7.7 0 01-.4 1 .7.7 0 01-.9-.5.7.7 0 01.4-.9.7.7 0 011 .4zm-1.4 2.4a.9.9 0 01-.5 1 .9.9 0 01-1.1-.4.9.9 0 01.5-1.1.9.9 0 011.1.5zm3 1.8a.7.7 0 01-.4 1c-.4 0-.8-.1-1-.5s.1-.7.5-.9a.7.7 0 01.9.4zm-4.1 1a.7.7 0 01-.4 1 .7.7 0 01-1-.4.7.7 0 01.5-1 .7.7 0 011 .4zm56.2-5.8c-.1.4-.5.6-1 .5a.8.8 0 01-.5-1c0-.3.5-.5 1-.4.3 0 .6.5.5.9zm4.4 1.3c0 .4-.5.7-.9.6a.8.8 0 01-.6-1c.1-.3.5-.6 1-.5.4.1.6.5.5 1zm-2.7 1.2a1 1 0 01-1.1.7 1 1 0 01-.8-1.1 1 1 0 011.2-.7c.5.1.8.6.7 1.1zm1.5 3.5c-.1.4-.5.6-1 .5a.8.8 0 01-.5-.9c0-.4.5-.6.9-.5.4.1.7.5.6 1zm-4.3-1.6c0 .4-.5.6-.9.5a.8.8 0 01-.5-.9c0-.4.5-.6.9-.5.4 0 .6.5.5.9z"/>
+  <path id="path6924" fill="none" stroke="#000" stroke-width="1.2" d="M356 89s-2 1.9-4.5 1.9a7 7 0 01-4.6-1.6c-.8-.5.2-2 .2-2"/>
+  <path id="path6926" fill="none" stroke="#000" stroke-width="1.1" d="M312.9 92.8s-3.7-.7-5.3-1.2c-1.5-.5-1.1-1.5-3-1.4-1.7.1-3.5 1.4-3.1 3.2.4 1.8 1.7 2 3 1.7 1.2-.4.8-2.6-.8-2.4-1.7 0-.3 1.5-.3 1.5"/>
+  <path id="path6928" fill="none" stroke="#000" d="M287.3 90s1 1.5 3.7 1.2c2.7-.2 3.7-1.6 3.8-2.3.2-.6 0-1.8-.5-2.3-.5-.5-2.3-.7-2.3-.7"/>
+  <g id="g6934" stroke="#161111" stroke-width="1.6">
+    <path id="path6930" fill="#c00" d="M339.2 270.4c2.5-2.5 6.5-5.2 8.7-11 2-5.6 3-15.7 5-20.8 2.5-8.8 7.5-17.4 1.5-16.8-5.7.6-7.5 6-9.6 10-1 1.5-3.3 4.7-3.7 6.5-.1-3-1.7-11.9-2-20.8-.3-8.4 0-17-.3-20.3-.2-4.3-.2-8.3-1.2-11.4-.5-1.5-2.6-3-3.8-2.9-2.2 0-3.6 2-4 3.9l-.2 2.8c-.2 2.4 0 5.5-.2 8.3-.1 3 .2 6.2 0 9-.2 5.4-.6 10.5-.8 11.5 0-2-1-11.7-1.3-20.9l-.2-10c0-2.6 0-5.4-.2-7.4-.5-3.4-1.6-5-4-5-1.8 0-4.2 1.3-5 5-.3 2.1-.4 4.6-.3 7.4l.2 8c-.2 10.5-.4 21.5-.8 24.8 0-1-1.1-6.5-1.4-13.9l-.4-9.6-.3-9.6c0-1.6-.7-6.2-3.7-6-1.7-.2-3.4 1-4 5.3-.4 2.5-.4 6.6-.5 9.9-.1 6-.4 11.4 0 16.9l.1 7.7c0 .4-.9-2.9-1.3-7.4l-.8-8.6c0-2.3-.1-5.7-.3-8.5-.2-2.1-.1-4.5-2.5-4.3-2.4.1-3.8 1-4.3 5-.4 2.7-.4 8.5-.5 10.5.2 5.3-1.2 17.7-1.8 21.2-.2 2.5-1.2 5.7-1.6 9.2a70 70 0 001 20.6c2 7 7 10.2 6.8 15-.3 4.8 0 13.3 0 17 0 3.8 3.3 4 10 2.6 11.2-2.4 17.3 2.4 26.4-1.2-1.1-10.4 1.1-16.7 1-20.5zm-6.5-24.7c2.3-6.4 5.2-8.9 8-10.2"/>
+    <path id="path6932" fill="none" d="M307.4 239.2c3.5-1.4 7-2.4 10.6-3.6 4.3-1.2 8.5-3 13-3.6 2-.5 4.2-1 6.4-1m-36.1 42c.4-.3 1 .2 1.4.3.6.2 1.3.4 2 .3a107.4 107.4 0 014 0c1.7 0 3-.2 4.3-1m10 .6l1.6.9c.8.3 1.8.4 7.3 0 3.5.2 6.5-2.8 7.4-3.6"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-sct.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-sct.svg
new file mode 100644
index 0000000..169bfba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-sct.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb-sct" viewBox="0 0 640 480">
+  <path fill="#0065bd" d="M0 0h640v480H0z"/>
+  <path stroke="#fff" stroke-width=".6" d="M0 0l5 3M0 3l5-3" transform="scale(128 160)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-wls.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-wls.svg
new file mode 100644
index 0000000..48a6420
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb-wls.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb-wls" viewBox="0 0 640 480">
+  <path fill="#00ab39" d="M0 240h640v240H0z"/>
+  <path fill="#fff" d="M0 0h640v240H0z"/>
+  <g stroke="#000" stroke-width="1.4">
+    <path fill="#d21034" d="M419 70.8h-.1zm-.1 0a693.8 693.8 0 00-111.8 75c-17 14.9-12.2 26.7-12.9 40 .6 9-1.9 17.4-7.4 22.4l-37.8 7.6-3.6-10.4c1.1-5.4 5.5-8 14.9-4.7.7-6.8-4.9-9.6-11.3-12-2.3-1.8-5-3-4.7-9-1-13.5 20.6 1 20.8 1 .2 0-.8-13.7-10.7-16.4-5.4-1.9-7.7-7.6-5.6-11.8 4.3-8.7 12.5.6 18.7 1-.2-5.7-1.8-9.7-6.7-14.2-2.6-1.7-9-2.9-9.2-5.6-.1-3.6 6-5.2 14.5-4.2-1.8-5.1-7.5-8.4-15.3-10.8l-4.6-8.1c-2.2-4-3.2-4.2 1.9-11.8 4.5-3 10.6-7.2 15.2-10.1l-5-.6c.6-5.5.7-7.4 2-16.5-5 6.7-11 5.5-16.6 8.2 0 0-15.6 2.8-20.7 9.5l-39.4-2c-8.4 1.1-15.5 3.5-16.9 11.6-19.1 2-39.1.3-53.7 18.5 10-.4 18.6-2.8 29.8-1.4 0 0 9.5.2 11.4 10.3.2.4 3.3.4 3.3.4l3.6 2.8 1.4-3.8 3.2 2.2 1-4.2 3.2 2.2.2-5 4.2 3v-6.7s15.6 0 20.4 10c.2.1-43.7 8-86.1 4.3l12.2-6c-15.4-3.2-30-6-43.6-16.7 5.1 19.4 31.7 42.1 37.2 42l-5.2-9.4 46 2c1.7 5.1 1 10.8 5 15.3 0 0-2.5 8.4 3.2 11.8.2.4 6.7-17 6.7-17s2 4.7 4 7.8c3-15 19.4-17.5 19.4-17.5l3.4 8c-5.1.8-11.5 11.2-8 17-3.5 0-9.6 10.1-7.7 15.6-2.9 2.9-10 6.7-8.3 18.8-5.6 1.2-9 11.5-7.2 22.5-8.8 8.1-6.6 23 1.2 29.1-3.2 3-5.2 5.1-5.2 8.7-3.1-1.1-6-.2-7.3 1.8-3.8-3.9-9.2-7.2-13-3.6-1-4.6-7-9.6-13.5-9a12.3 12.3 0 00-9-13s-1.5-22.6-8.3-30c-.7-4 .4-6.8 6-10.2 5.7-3 6.9-5.3 6.4-13.9 2.3-5.7 4-11.5-3-15.4.2 6.8-1.8 10-4.6 13-3.3-.4-4.4 3.4-6.6 5-3.1-4.1 6.5-10.6-.6-19.9-.4-.4-5-12-16.3-11.8 5.3 3.1 7.6 8.4 7.6 13.9a41.3 41.3 0 00-1.8 29.3c-4.7-7-7.4-20.4-11.3-22.7-3.4-.7-5-8.7-18.3-6.4 5.7 1.5 7.6 5.9 9 9.8-3.4 1.8-1.7 6.6.9 9.9-.5 7.7 4.1 12.2 11 15L85.6 237c-2.7-.3-7 10.4-8.6 10.7-2.7 1.7-7.4 6.2-2 7.5-1.6 5.7-3.1 9.2-11.7 10.4 0 0 9 5.4 16.6-3.8 8-.2 5.4-9.8 9.3-14 0-.3 2.3-1.7 5.5-10.2 1.4 7.6 9.2 30.8 26.7 42.3 15.3 16.4 28 31.9 27.8 53.7a54 54 0 0012.3-22.7 89 89 0 0130.8-3.6c-1.8 3.9-3.9 7.6-1.3 10-7.4 2.6-9 8-6 13.3-7.8 5.3-8.3 8.7-8.4 17.5-14.5 18.5-23.4 17.9-37.7 13-4.6-2.7-12-6.6-15.3-4.5-6.1-4.2-15-4.8-16.5 4.6 4.7-3.9 7.4-3.1 11.1.6-.7 1.9-1.3 3.7 1.4 4.8l-3.6 4c-6.6-1-15.6-1-17.9 8.7 3.4-2.9 11-3.5 17-.8l3.5 1.2.4 4.6s-9-1.4-11.4 13.3c8.4-9 14.4-6.7 14.4-6.7 3.3 4.8 15.3 4.1 24-3.8 12.1-6.8 15.7 3 23.5-3.4 6.5-4.8 14.2-1.6 19.5 4 6.1 2.3 12.5 4.2 17.5 0 0 0 6.2-3.9 12.3 2.4 0-7-5-10.9-11.8-11l-2-2c-6.5-1.4-13.7-.8-19.4-4a58 58 0 0114.1-27c9.3-10 16.2-14.6 28-29.9-.5 8.7 6.1 18.3 9.6 27 0 0 7-11.1 8-20.3.3 0 8.9-4.4 12.5-8.3 7.8 4.9 20.4-3.8 28.6-11 5 2 8.9 1.8 14.7 0-4.7 9.6 2.7 18.5 14.5 22.2 1 8.4 9.6 10.2 22.5 10.2.6 5 8.3 5.7 8.3 5.7-5 2.2-7.4 4.5-7.3 9.6-5 0-8.7 1.3-10 7-6.9.2-13.9.7-19.8 4-6.3-.9-14-3.5-18.9-8.6-2.5-2.1-3.2-5.2-7.6-6.4-2.8-3.3-6.2-2.6-7.3.6-2.9-2.3-13.8-3.3-15.7 7 5.2-3.7 9.7-5.1 13-.5-1.8 3.1 4.2 5 9.4 6.2 3.7.2 10.2 3.6 12.2 9.2a20 20 0 01-16.7-2.6 11 11 0 00-13-.8c-4.4-2.8-14.7 2.5-15.1 10.9 4.3-4 8.3-6 12.3-3.4-2 .4-1.3.6-1 1.8l10 5.8c-5 1.3-9.6 3.3-7.4 12.5 0 0 4-8 13-5 .2-.3 1.3 2.8 3.9.7 3.9-4.4 12.8-6.4 20.7-7.2 6.3-.7 12.6-2.6 18 1 5-2.5 10.4-4.2 16-.2 6.6 2 11.4 9.8 19.7 6.3 4.2-3 9.3-3 14.5 2.8 0-7.4-5.5-9.9-13.3-11.5l-5.4-3.2c-5-.8-10 .1-15.1-2.3a92.3 92.3 0 0057.7-42.4l12.5 4.4c3 .2 3.2 1.2 9.3 3 .2-8.9-3.7-18.1-19.8-19l-21-8c-4.6-4.8-6.6-14.9-.9-20.8 5.6-5 6.6-4.4 10.3-10.5 4.5-.4 8.7 4.2 12.8 4.2 2 5.9 13.4 11 20.6 9.3 4.5 4 13 6.2 22.5 3a18.2 18.2 0 0020.5 3c2.2 2.2 6.8 4 12 2.8.5 0 2.8 5.8 8.5 7.9-2.5 2.4-1 13 1.7 16.9a17 17 0 00-.9 12.7c-5.8 3.7-7 6.5-4.4 12.8-7.6 12.3-16.7 13.7-25.3 10l-9.3-6-9.8-9.6c-1.7-1.6-5.2-2-5.9 1.4 0 0-12.6-2.8-13.7 7.9 5.3-5.1 12.7-.6 12.7-.4s-1.8 1.4-.4 3.4c.3-.3 9.3 3.3 17.2 6.7 4.3 1.7 5.3 2.2 7.2 3.2a340.8 340.8 0 00-7.2-3.2 32.8 32.8 0 00-11-2.9c-4.4-.4-9.2-1-11.4 2.4-4.8 2-12.4 3.7-12 12.7 3.2-5.4 7.7-5.1 13.4-4.6l-.4 1.2c6.2 2.8 5-.8 10.8-1.3a44 44 0 0115.3 2.5c-4.5 1.3-10.7.7-13.6 4-.6 1-2.5.6-1.6 3.2 0 0-9-.2-11.3 12 9-5.7 15.9-5.5 16-5.5l2.9.6 11-7.3c.3 0 10.6-4.6 15.3.6 4.2 2 8.6 2.2 13-.4 8.4-3.7 16.3-4 24 1.2l7.1 4.2 3-2s8-2.2 13.8 4.9c-2.4-12.3-11.2-12.7-11.2-12.7l-2-1.8-12.4-4.9c-1.9-4.5-6.4-8-1.9-13.4 4.7-23.1 10.2-40.4 1.2-63.8 8.4 3.6 14.7 14.8 25.2 10.9 0-9.4-34.6-27.3-61-41.6C508 264 560 232.1 540 191.5l9.4-29.4c4.5 9 13.5 15.8 21.6 18.7-6.7-12.7-10.5-51.6-6.7-78.4a627 627 0 01-57.1 60c10 2.4 18.9.7 28.6-.5l-8.2 17c-26.6-15.7-57.8-4-58 16.8.9 24.2 30.8 27.7 48.1 19.2-3.4 22.1-54.2 14-54.2 14-18-6.2-35.1-5.2-54-5 3.9-12.1 25.7-22.9 42.4-18.1-23.3-26.2 3.3-58.7 35.4-68.6-35-11.6-4.9-38.3 21.3-57.4 0 0-75.3 31.7-82.2 31.6-21.4-1.6-15.6-27-7.4-40.6zm-236.4 30.4c1.8 0 3.8.2 5.5.6 3.4.9 7.5 1.3 7.5 2.4-1.6 2.6-5.5 5.7-9.3 5.6-3.8-.2-6-2.5-7.2-8.2.4-.2 1.8-.4 3.5-.4zm317 89.4c5 0 10.9 2 16.6 8.2-2.7 8-26.8 12-28.4.2-.5-3.6 4.6-8.3 11.8-8.4z"/>
+    <path fill="none" stroke-linejoin="round" d="M207.4 171.2l3.7 5.3m-.2.1s0 7.2 1.5 7.3m-3.3 3.9l3.8 6.3m-10.5 1.6c.2 0 4.7 5.2 4.7 5.2m3.9-4c0 .2 4.2 8.1 4.5 8.1m-10-2.6s1.4 9.6 2.7 9.3m-9 8.3l4.2 6.5m3.7-13.3s2.3 9.1 4.1 8.3m1.9-13.8c.1.2 4.3 6.1 5.4 5.3m-1 2.3l4 8m-10.6-1.8l3.3 9.4m-11-4.6s3 10.1 5.7 8.5m-6.8 5s.2 5.3 2.8 5.6m1.8-8.3c0 .2 2.7 3.8 2.7 3.8m5-10.1l2.1 3.5m4.9-10l3.3 4.1M206 176.7c.1 4.5 7.2-1.6 10-5.4m-13 21s7.7-5.5 13.7-13.8m-16.3 26.9c5.5-1.5 15.6-13.7 17.6-20.2m-18.7 32.3c1.5.7 20.3-13 20.8-22.9M198.8 228c0-.1 17.2-4.4 24.3-23.3M198 242.3s27.5-16.5 29-28.6M412.4 270s-1.8 14.2-16 16.4m20.5 9c.1-.2 13.6-15 10.1-19.5m21.1 5.2s-.2 10.3-8.6 17.4m25.4-14.4s.3 12.4-5 17.4m20.4-10s-6 11.7-8.1 12.9m7.9 7.8s7.8 2 10.3-3.2m-8.3 20.1s7.2 1.3 10.6-5.6m-11.4 18.7s5.9 5 9.9-1.6m-94-94.4s-.7 25.3 34.8 30.4c39.7 11 58.5 5.2 60.8 49.7-1.5 17-3.6 36-16 28.7m-117.4-85.5s5.7 10.1 12.5 9.4c9-2.6 12.3 2.9 12.3 2.9m-49-2.2s15 7.3 27.7-4.5m-26-6c1.3 17.5-20.1 27.5-28.6 25.8m29.6 41c.1 0 11.6-6.8 9.3-11.6m-32.1 1.5c.3-.4 19.3-2.2 22.8-9m-31.6-19s26.9.2 28.7 5.1m7-21s-26.2 44.9 22.2 44.9m-50-45.5s-5.6 16.7-13.6 22.4m-14.2-28.2s9.7 18.8 0 28.1M261 280.8c.1.3 3.1 26.7-3.5 34.2m-9.2-33.4s1 16.8-4 22.8 1.2 18.4 1.2 18.4m-60.5 8s3.6 6.3 8.5 4.1m-2.5-17.8s8 3.5 10.7 2.2m-2-30.4s-11.8 3.3-7.3 17.3c6.8 5.5 13.4 4.6 13.4 4.6m-29.4 37.4c-.1 0 1.4 11 9 2.7 5.3-11.2 22-42.6 25.9-53.4m7.8-5.1s-8.1-6.3-7.8 2.5c-.2 5.5 2.5 6.8 2.5 6.8.3 4 3.8 9.6 6.6 4.5 1.2-5-.8-7.2-.8-7.2m4.7-9c-7.3-.4-11.3 15.7 2.8 5.6m4.8-11s-1.8 2.5-4.7-.2c-1.5-2.6-6.8 12 2.5 12.5 1.7-4.3 6.8-5.5 6.8-5.5m4.4-13.8s-4.2 2-5.7 1.7c-5 1.1-4 12.8 2.3 12.1 2.2-2.5 4.5-6 4.5-6m-40.3-23c-.2 0-16.5 25.7 9.1 32.5m198-71s-10 8.4-.7 22c-31-.5-47.5 13.8-48.8 23.4-39.4-2.8-32.2 8.8-45 12.6-17.1-14.3-42.2-6.3-40.6 8-11.4-16.1-29-8.3-31.2-4.3-2.1 4-1.3-19.8-1.3-19.8s-11.5 5.2-19.4 14.6v-19.9c-9.6 2-18.9 2-28.8 1.8m-25.9-7.3s14.3 8 32-2.8M166 226.3s11 10 32 6.8m-25-29.7s2.4 8.1 26.3 8.6M181 184.6s9 11 21.2 9.3m-13.5-25s3.5 6 16.8 7m-9-24.5s7 7.6 15 6.3M238 89.3s3.1-3 8.3-1.5m-10.5 17.8s-9.6-.3-9-4c.8-4.4 10.2-7.5 10.2-7.5s12.5-8 14.4-10.8m-56.6 44l12.2 23.3 5.8-8.8 3 6 5-8.7 8.6 5.5-3.2-10.7 7.2-.5s-2-5.1-8.4-6.2c1.7-1.3 7.7-5.3 7.7-5.3s-3.4-4-8.8-4.1c1.8-1.9 4.2-6.5 4-6.5l-5.3-1.2s12.2 4 21.6-1.6M221 89.7c.1.1-.7 4.8-3.3 7.5m-43.7 5.3s7.5-2 13.1-.9c5.6 1.2 13.1 3.2 13.1 3.2s9-1.2 11.9-3.3m-56.8 6s-1 3.6-1.4 6c0 1.7-5.5 4-5.5 4m10.3-17.4s4.8 6 5 9.5c.1 3.4-3.6 6-3.6 6M109 141l-5-8 4.5-1.6m90.5 121c-4-5.2 3-84.2 17.7-104.8-5.1 37.2 12 75.2 16.3 75m-79-97s6.8 2.5 20.7-8.6m18.9 26.8l10 .1m300.3-62s-166.7 77.8-169.1 82c28.1-8.6 147.5-28.5 150.4-26.8-7 1.7-151.9 35-158.7 43 36.2-1.2 111.9 11.6 123.8 24C424.5 198.3 347.6 187 324 192c17.2 4.1 83.2 46.8 83.2 53.6-10-9.5-89.3-42.2-92.4-39 18.2 10.9 43.9 51.4 43.9 61.3-5.3-8.4-51.2-57.7-53.9-54.5 4.9 6.7 14.5 64.9 9.6 67.6 0-7-17.8-58-19.3-59.4-3.6 1-26.3 62-21.8 67.8-3-20.4.5-63 6-61.3-10 1.5-41.7 43.4-38.3 50 1-10.5 2.4-17.4 20.4-52.1-20 1.2-61.2 27.1-68.2 36.4 5.6-16.5 40.5-44.4 55.8-46.4m72-60.7c17.6-9.8 72-29.7 108.4-44.4m-142.6 97s12-.2 24-32.8c11.8-44.6 105.7-94.3 107.6-103.6M128 252.8s-2.8 6-6.2 7.6m19.7 1.4s-3.7 7.2-4.6 10.6m17.5-7s3 9.8.5 14.4m-36.4-40.1c-9.4 5.3 5.4 39 50.1 42.2m-7.2-18.2s-1.2 6 7.2 18c-2.4 13.4 10.2 23.9 15.2 25.6m-26-164.2l1.4-3.6 1.5 4 2.5-.1 1.6-4 1.4 4h2.4l1.5-4.4 2.3 4.2h2l1.5-5 3 3.6 1.2-.4 1-5.2 3.1 3.6 1-.5 1.4-5 2.5 3.7 1.3-.4 1.2-4.3 2.4 4m-39 6.2l18.8-.3c6 0 15.8-8.3 26.7-5.7m-84.9 46s3.1 6.8 7.4 3m-14.6 1.5s-6 16.2 1.2 20m-9.8-37.8s0 3.8 8-2m-32.5 86.7s6.3 2 5.3 6.7m-3-80.8s4 1.9 7.8-4m34.2 189.7c6.1-.4 7.5 2.4 13 2.4 6.6.2 12.9-2.4 21-4.7m53.1 15c-.2 0-3 5.8-.5 8.7m-87.5-8.2s9.8-8 15-3.1c4.9 1.7 7.6 1.4 7.6 1.4m-17.5-21.3s2.4 6.2-5.6 5.3m-2.4 9s5.1 3.2-.7 7.5m3.8 5.8s7 1 2.9 6.7M346 341.6s19 2 20 3.4c2.2-2.3 19.2-16.2-1.7-18.1a19 19 0 01-18.3 14.7zm-6.8 9.5c7.1 5.7 4.2 9.1 26.6-5.9m-36.8 13s10.5 11.4 18.2-2.4m-38.3 6.5l-14.3 7.5M269 380.3s8.7-7.4 12.7-3.5c4.1 4 21.3-3.4 21.3-3.4M275.5 348s3 6-2.8 6.7m-8.5 11.9s3 5.6-2.8 7m9.5 8.1s9 .5 5.8 7.3m78.4-8.5s-5 4.2-1.3 9m73-39s5.7 2.8-1.1 7.5m-5.7 9.9s4.3 4.5 1.4 8.2m10.6 9s5.9 1.7 5.2 6.6m77.8-11s-5 3.7-2.3 8.4M427 236.3c11.8-1.4 28.8 25 37.5 30.1m51.9-67.4s6 5.3.7 18m10.4-38.2c1.7 1.3 8.1 4.8 12.4 12.8m4.1-52.2l-8.3 22.5m17.6-23.6s-1.6 20-4 24M516 198.8c-2.7 8-26.8 12-28.4.2-.9-6 14.2-15.3 28.4-.2z"/>
+    <path stroke-linejoin="round" d="M182.3 101.3l9.3 1.7s-6.5 8.8-9.3-1.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb.svg
new file mode 100644
index 0000000..132dbed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gb.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gb" viewBox="0 0 640 480">
+  <path fill="#012169" d="M0 0h640v480H0z"/>
+  <path fill="#FFF" d="M75 0l244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0h75z"/>
+  <path fill="#C8102E" d="M424 281l216 159v40L369 281h55zm-184 20l6 35L54 480H0l240-179zM640 0v3L391 191l2-44L590 0h50zM0 0l239 176h-60L0 42V0z"/>
+  <path fill="#FFF" d="M241 0v480h160V0H241zM0 160v160h640V160H0z"/>
+  <path fill="#C8102E" d="M0 193v96h640v-96H0zM273 0v480h96V0h-96z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gd.svg
new file mode 100644
index 0000000..f2254f3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gd.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gd" viewBox="0 0 640 480">
+  <defs>
+    <g id="c">
+      <g id="b">
+        <path id="a" fill="#fcd116" d="M0-1v1h.5" transform="rotate(18 0 -1)"/>
+        <use transform="scale(-1 1)" xlink:href="#a"/>
+      </g>
+      <use transform="rotate(72)" xlink:href="#b"/>
+      <use transform="rotate(144)" xlink:href="#b"/>
+      <use transform="rotate(216)" xlink:href="#b"/>
+      <use transform="rotate(288)" xlink:href="#b"/>
+    </g>
+  </defs>
+  <path fill="#ce1126" d="M0 0h640v480H0z"/>
+  <path fill="#007a5e" d="M67.2 67.2h505.6v345.6H67.2z"/>
+  <path fill="#fcd116" d="M67.2 67.3h505.6L67.2 412.9h505.6z"/>
+  <circle cx="319.9" cy="240.1" r="57.6" fill="#ce1126"/>
+  <use width="100%" height="100%" transform="matrix(52.8 0 0 52.8 320 240)" xlink:href="#c"/>
+  <use width="100%" height="100%" x="-100" transform="translate(-30.3)" xlink:href="#d"/>
+  <use id="d" width="100%" height="100%" transform="matrix(31.2 0 0 31.2 320 33.6)" xlink:href="#c"/>
+  <use width="100%" height="100%" x="100" transform="translate(30.3)" xlink:href="#d"/>
+  <path fill="#ce1126" d="M102.3 240.7a80.4 80.4 0 0033.5 33.2 111 111 0 00-11.3-45l-22.2 11.8z"/>
+  <path fill="#fcd116" d="M90.1 194.7c10.4 21.7-27.1 73.7 35.5 85.9a63.2 63.2 0 01-10.9-41.9 70 70 0 0132.5 30.8c16.4-59.5-42-55.8-57.1-74.8z"/>
+  <use width="100%" height="100%" x="-100" transform="translate(-30.3 414.6)" xlink:href="#d"/>
+  <use width="100%" height="100%" transform="matrix(31.2 0 0 31.2 320 448.2)" xlink:href="#c"/>
+  <use width="100%" height="100%" x="100" transform="translate(30.3 414.6)" xlink:href="#d"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ge.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ge.svg
new file mode 100644
index 0000000..8abdee3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ge.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ge" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="red" d="M272 0h96v480h-96z"/>
+  <path fill="red" d="M0 192h640v96H0z"/>
+  <path style="mix-blend-mode:multiply" fill="red" fill-rule="evenodd" d="M146.8 373.1c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1c-4.9 0-14.8-1-14.8-1s3 14.3 4 31.2c-16.9-1-31.2-4-31.2-4s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.2c16.9 1 31.2 4 31.2 4s-1-9.8-1-14.8c0-4.9 1-14.8 1-14.8s-14.3 3-31.1 4zm368-288c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1c-4.9 0-14.8-1-14.8-1s3 14.3 4 31.1c-16.9-1-31.2-3.9-31.2-3.9s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.1c16.9 1 31.2 4 31.2 4s-1-10-1-14.9 1-14.8 1-14.8-14.3 3-31.2 4zm-368 0c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1c-4.9 0-14.8-1-14.8-1s3 14.3 4 31.2c-16.9-1-31.2-4-31.2-4s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.2c16.9 1 31.2 4 31.2 4s-1-9.8-1-14.8c0-4.9 1-14.8 1-14.8s-14.3 3-31.1 4zm368 288c1-16.8 4-31.1 4-31.1s-9.8 1-14.8 1c-4.9 0-14.8-1-14.8-1s3 14.3 4 31.2c-16.9-1-31.2-4-31.2-4s1 7.4 1 14.8-1 14.8-1 14.8 14.3-3 31.2-4c-1 16.9-4 31.2-4 31.2s7.4-1 14.8-1 14.8 1 14.8 1-3-14.3-4-31.2c16.9 1 31.2 4 31.2 4s-1-9.8-1-14.8c0-4.9 1-14.8 1-14.8s-14.3 3-31.2 4z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gf.svg
new file mode 100644
index 0000000..e382883
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gf" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gg.svg
new file mode 100644
index 0000000..deb4af5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gg.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gg" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#e8112d" d="M256 0h128v480H256z"/>
+  <path fill="#e8112d" d="M0 176h640v128H0z"/>
+  <path id="a" fill="#f9dd16" d="M110 286.7l23.3-23.4h210v-46.6h-210L110 193.3z"/>
+  <use width="36" height="24" transform="rotate(90 320 240)" xlink:href="#a"/>
+  <use width="36" height="24" transform="rotate(-90 320 240)" xlink:href="#a"/>
+  <use width="36" height="24" transform="rotate(180 320 240)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gh.svg
new file mode 100644
index 0000000..3f97834
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gh.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gh" viewBox="0 0 640 480">
+  <path fill="#006b3f" d="M0 0h640v480H0z"/>
+  <path fill="#fcd116" d="M0 0h640v320H0z"/>
+  <path fill="#ce1126" d="M0 0h640v160H0z"/>
+  <path d="M320 160l52 160-136.1-98.9H404L268 320z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gi.svg
new file mode 100644
index 0000000..1b44fd6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gi.svg
@@ -0,0 +1,32 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gi" viewBox="0 0 640 480">
+  <path fill="#da000c" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h640v321.6H0z"/>
+  <g stroke="#000" transform="translate(-160) scale(1.875)">
+    <g id="a" fill="#da000c" stroke-linecap="square">
+      <path fill="#000" stroke="none" d="M196.6 116.3h64v44h-64z"/>
+      <path d="M229.8 153.9h-39l-8.7 5.7v6h47.7m-16.3-37c5.6 0 10.2 4.7 10.2 10.5v14.7h7.3v-56h-40.3v56h12.6v-14.7c0-5.6 4.5-10.5 10.2-10.5z"/>
+      <path fill="#000" stroke="none" d="M204.5 60h18.6v34h-18.6z"/>
+      <path d="M223 88.7h-16.2v-5.8h-11.9v5.8h-8v-5.8H182v10.4h41m-36.2 0h35v4.5h-35zm14-45.7V83h6v-9.7c0-3.6 2.5-6.6 6.1-6.8h.4a6.8 6.8 0 016.8 6.8V83h5.7V47.6zm-2.3-4.8v4.8h29.3v-4.8zm-3.7-9.1v9.1h35v-9.1h-5.3v4.7h-6.6v-4.7h-10v4.7h-6.5v-4.7zM182 159.6h48m31-2.8h-32.4l-9.8 4.7v7H261"/>
+      <path stroke-linecap="butt" d="M218.8 161.5H262"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)" xlink:href="#a"/>
+    <g fill="#f8d80e">
+      <g stroke-linecap="round">
+        <path stroke-width=".8" d="M273.3 150c-2.7 1-5 2.4-7.5 3.8a72.4 72.4 0 00-8.9 6c-1 .7-2 1.4-2.7 2.4-1 .8-2 2-1.8 3.5 0 .6.8-.8 1.4-.9a4.4 4.4 0 013.1-.4c1.3-1.4 3-2.3 4.4-3.4a77.4 77.4 0 0113-7.6l-1-3.4z"/>
+        <path d="M260.4 157.4v3.9m2.4-5.6v3.9m2.4-5.4v3.8m2.5-5.3v4"/>
+        <path stroke-width=".8" d="M238.9 150.2l-1.2 3.3a86.6 86.6 0 0115.8 8c1.7 1.2 3.5 2.3 4.8 3.9.3.8-.5 1.5-1.3 1.2-.7-.2-1.5-.5-2.2 0-1.1.5-2.1 2.2-.5 2.7 2.4 1.6 6.1.9 7.2-1.8.6-1.4.7-3.2-.5-4.4-2-2.3-4.8-4-7.4-5.7a89.2 89.2 0 00-14.7-7.2z"/>
+        <path d="M254 158l-.3 3.4m3.1-1.7l-.8 3.3m3.8-1l-1.8 2.6m2.7 3.6l-2.6-1.4m3.4-1.4l-3 .3m-.8 4l-.2-2.6m-1-.3l-2.4 1.8m-9.4-15.7v3.1m6.3.3v3.5m-3.2-5.2v3.3"/>
+      </g>
+      <path d="M235.8 227.6v8h5v-4h6.9v4h5.4v-8zm0 11v8H253v-8h-5.4v4h-6.9v-4z"/>
+      <path d="M253 193.7h5v58h-5z"/>
+      <path d="M253 198.7h5v50h-5zm2.6-19.3l10.6 6.2-10.6 6.2-10.7-6.2zm-14.3 4h-2.7v4.4h2.7l14.3 8.3 14.2-8.3h2.8v-4.4h-2.8l-14.2-8.3z"/>
+      <path d="M255.3 164.3a5 5 0 00-4 5.1v11.2a5 5 0 004.6 4.6 4.9 4.9 0 004.8-2.8l-1.7-1a2.9 2.9 0 01-3 1.8c-1.6 0-2.9-1.6-2.7-3.1v-11.2a2.9 2.9 0 013-2.6c.6-.2 1.5.7 1.9 0 .6-.9-.4-1.5-1-2h-1.9zm5.8 3.9a5 5 0 01-1.9 1.6v7.5l2 1.1v-10.2z"/>
+    </g>
+    <g fill="#da000c">
+      <path fill="#000" stroke="none" d="M240.8 38.4h29.3v53.2h-29.3z"/>
+      <path d="M238.8 38.4v44.5h9.3V69.7c0-3 2-7.3 7.9-7.3s8 4.3 8 7.3V83h9.2V38.4zm15.8 5h2.8v15.2h-2.8zm-8.3 3h3v11.1h-3zm16.5 0h2.9v11.1h-3zM235.6 32v6.3h40.8V32zm-3.8-7.4V32h48.5v-7.4h-6.1v4h-7v-4h-7.8v4h-6.8v-4h-7.9v4H238v-4zm-9 73.2v4.6h66.5v-4.6z"/>
+      <path d="M220 82.9v15h72v-15h-6.8v5.8H276v-5.8h-12.2v5.8H248v-5.8h-12.2v5.8h-9v-5.8z"/>
+      <path stroke-linejoin="round" d="M228.7 102.4v54.4h12.8v-20.4c0-9.5 6.4-14 14.5-14 7.8 0 14.5 4.5 14.5 14v20.4h12.8v-54.4z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gl.svg
new file mode 100644
index 0000000..20f5c5e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gl.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gl" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#d00c33" d="M0 240h640v240H0zm80 0a160 160 0 10320 0 160 160 0 00-320 0"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gm.svg
new file mode 100644
index 0000000..76d03af
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gm.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gm" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="gm-a">
+      <path fill-opacity=".7" d="M0-48h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#gm-a)" transform="translate(0 48)">
+    <path fill="red" d="M0-128h640V85.3H0z"/>
+    <path fill="#fff" d="M0 85.3h640V121H0z"/>
+    <path fill="#009" d="M0 120.9h640V263H0z"/>
+    <path fill="#fff" d="M0 263.1h640v35.6H0z"/>
+    <path fill="#090" d="M0 298.7h640V512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gn.svg
new file mode 100644
index 0000000..7841e8d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gn.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gn" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="red" d="M0 0h213.3v480H0z"/>
+    <path fill="#ff0" d="M213.3 0h213.4v480H213.3z"/>
+    <path fill="#090" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gp.svg
new file mode 100644
index 0000000..24a8260
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gp.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gp" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gq.svg
new file mode 100644
index 0000000..4cec1a5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gq.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gq" viewBox="0 0 640 480">
+  <path fill="#e32118" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h640v320H0z"/>
+  <path fill="#3e9a00" d="M0 0h640v160H0z"/>
+  <path fill="#0073ce" d="M0 0v480l180-240z"/>
+  <g stroke="#000">
+    <path fill="#fff" d="M281.6 191.8h76.6V272c0 27-35.2 6.2-38.2 20.6-5.2-14.8-38.2 6.6-38.2-22.2l-.2-78.6z"/>
+    <path fill="#73452b" stroke-width=".2" d="M325.4 279.8s-1 1-2.8.2c-1.8-.8-2-51.4-2-51.4 4-4.4 7.2-5.8 7.2-5.8l2.4 2c-9 4.6-8.2 11.2-7.4 22.6.2 4.2.2 9.6 1.2 14.8 1.4 6.6 4.2 12.2 4.4 16.4.2 2.6-3 1.2-3 1.2z"/>
+    <path fill="#73452b" stroke-width=".2" d="M319.2 221.6h3.6c-3 29-.4 46.2-.4 54.6 0 2.8 1.6 3.8 1.4 3.8-3.6 4-5.4-.2-5.4-.2z"/>
+    <path fill="#a36629" stroke-width=".2" d="M313.6 279.8c-3.4 1.6-3.8-1.6-3.6-2 7.4-15 10.6-48 3.8-51.6l.4-3.2c2.6.8 5 4.2 5 4.2 1 37 0 52.2-.6 52.8-3.6 3.8-5-.6-5.2-1"/>
+    <path fill="none" stroke-width=".2" d="M313.4 279.2c-.6-3.2 5.2-11.4 4.8-20m5 7c1.8 5 2.6 9.4 2.2 13.6"/>
+    <path fill="#009a3b" stroke-width=".2" d="M331 208c1.2-1.4 1.2-1.4 3.4-1.4.4-3 5.4-3 5.8.8 4-.8 4.8 1.6 3.2 4 3.8-1 7.2 0 6.2 4.4 6.8 1.8 4.2 6.6 1.2 7.6-.4 3-3.2 4-7 2.8-4.8 3.4-7.6 2.2-9.8-1.2-5.4.8-5.8-.4-8.2-3.4-4.2 1.8-5 1.8-8.6-.4-.2 2.8-1.2 2-3 1.8.2 3.6-1.2 5.2-4.4 4 2.4 5-3.8 7.2-6.8 3-2.8.2-3-.6-4.4-1.6-1.2 4-5.6 3.4-6.4 1.2-5.6-.8-5-3.8-.4-4 .4-3.2 3.2-2.6 5-2.2.2-2 1.4-1.6 2.4-1.2-.6-1.4-.2-2.2 1.6-2.6-2.6-3.4-1-4.6 1.6-5.8-1.4-3.2 1-3 2.8-3.2-.2-3.4.8-4 4.4-4.4-.4-1.2.2-2.2 2.2-2.2-1.2-3.4.4-4.2 4-3.6.6-5 11.2-2.6 10.4 4.2 3 .4 4 1 4.8 3.4z"/>
+    <path fill="none" stroke-width=".2" d="M309.6 206.2c.8.4 1.8 0 2 2.2 1.6-2.8 3.6-1.2 3.6 2m11-5.8c-.8 1.2-3.8 1.2-3.4 4.4-1-1.4-3-1.8-3.8-.4m12-.6c0 .8-.2 3.2-1 4.4m13.4-1c.2.2-2.8 0-4.2 1m11.6 11c-.8-.4-2.4-1.4-3.6.2 0-.8 0-3-2.2-3m-1.2 5.6c0-2-.4-2.6-.8-3.2m-5.8.4c-1.6-1.2-3.2.6-3.2 1.6m-8.4-3.4c0-.8-.6-2.4.8-3M302.8 230c.4-2 1.8-2 1.6-3-.2-1.6-2-3-4.2-.8m4.2.8c1.2-.4 2.4-.2 2.8.4m-6.2-7.8c.8-.8 2.8-.6 4 0m0-4.8c1 0 2.8-.4 3.4 1.4 2.2-3.4 3.8-3 4.2-2.2m4-.4c1.6-.6 4.4 1 6 3.8.8-2.2 2-1.8 3.2-2m7.6 2c2.6-1.2 4.2 1.2 5 2.2 1.2-1.6 2.2-1.6 3.4-1.6m-32.6 4.2c.6-1 2-1.2 3-.6-.2-1.8 1-2.6 1.8-2.2"/>
+    <path fill="gold" stroke-width=".7" d="M317.4 180.5l-4.4.2-2.2 4-2.4-3.8-4.4.2 2-4-2.4-3.7 4.6-.2 2-4 2.4 3.8 4.4-.2-2 4zm-18.8 1.5l-4.4 1-1.2 4.3-3.2-3.2-4.2 1 1.2-4.2-3-3.2 4.2-1.1 1.2-4.3 3.2 3.2 4.4-1-1.4 4.3zm-18.2 3.7l-4 2-.2 4.4-3.8-2.4-4 2 .4-4.5-3.8-2.4 4-2 .4-4.5 3.6 2.5 4-2-.2 4.4zm42.8-5.2l4.4.2 2 4 2.4-3.8 4.4.2-2-4 2.4-3.7-4.4-.2-2.2-4-2.4 3.8-4.4-.2 2 4zM342 182l4.2 1 1.2 4.3 3.2-3.2 4.2 1-1.2-4.2 3.2-3.2-4.4-1.1-1.2-4.3-3.2 3.2-4.2-1 1.2 4.3zm18 3.7l4 2 .2 4.4 3.8-2.4 4 2-.2-4.5 3.6-2.4-4-2-.2-4.5-3.8 2.5-4-2 .4 4.4z"/>
+    <g fill="#fff" stroke-width=".7">
+      <path d="M365.4 270.4l5 7.2 4.6-6.8-3.2-5.8zm-31.8 21l.4 7.2s2 0 3.8-.6c1.6-.6 3-1.8 3-1.8l-.2-3.8zm-26.8 0l-.4 7s-1.8 0-3.6-.4c-1.6-.4-3-1.4-3-1.4l-2-4.8zm-32.2-21l-5.2 7.2-5.6-9.2 4.2-4.4z"/>
+      <path d="M299.6 305.8c0 6.8 41.2 6.8 41.2 0v-9.6c0 5-41.2 4-41.2 0z"/>
+      <path d="M262.8 283.6c3.6 18.4 36.8 18.8 36.8 18.8v-6.2c-.8-2.4.6-3.2 6-4 2.2-.2 1.2-3.4 1.2-3.4s-14.4 2.6-24.6-1.4c-13.8-5.6-15.8-16.4-15.8-16.4s-1 8.4-3.6 12.6zm114.6 0c-3.4 18.4-36.6 18.8-36.6 18.8v-6.2c.6-2.4-.8-3.2-6.2-4-2.2-.2-1-3.4-1-3.4s14.4 2.6 24.6-1.4c13.6-5.6 15.2-16.4 15.2-16.4s1.4 8.4 4 12.6z"/>
+      <path d="M265.4 276.6c-9.2-5-2-10.2-1.2-25 1.4 9 11.6 12.8 10.4 18.6-4.2.2-6.2-6.2-8.2.8l-1 5.6zm109.4 0c9.2-5.2 1.6-10.2.8-25-1.4 9-11.4 12.8-10.2 18.6 4 .2 6-6.2 8 .8l1.4 5.4z"/>
+    </g>
+    <path stroke="none" d="M271 283.4l1 .8-2.2 2.4c-1 1-1.1 1.6-.5 2.2.7.7 1.3.4 2-.4l2.5-2.6.8.8-2.4 2.8c-1.3 1.5-2.5 1.2-3.6.2-.8-.8-1.4-2 0-3.5l2.4-2.7zm4 3.4l1 .6-.2 4.8 2.2-3.4 1 .6-3.2 5.2-1.2-.6.2-4.8-2.2 3.4-1-.6zm1.8 8.4l2.8-5.6 1 .6-2.6 5.4zm4.4-4.8l-2.2 5.8 2.2.8c2 .7 3-.2 3.6-1.9.7-1.8.4-3-1.6-3.9l-2-.8zm.8 1.4c2 .7 2.2 1.5 1.6 3-.6 1.3-1 1.8-3 .8l1.4-3.8zm5.8.8l-3.6 5.4 1.4.4.8-1.4 2.4.6.2 1.4 1.4.2-1.4-6.4-1.2-.2zm.4 1.4l.4 2.4-1.6-.2 1.2-2.2zm3-.9l-.2 6.2h2.3c2.2.1 2.8-1 2.9-3 0-1.8-.7-3-2.9-3l-2.1-.2zm1.2 1c2.2.1 2.5.8 2.5 2.3-.1 1.5-.4 2.1-2.6 1.8v-4zm19.8 7.7v6.4h1.4v-2.4s1.2 0 2.2-.2c.7-.2 1.3-.7 1.3-2 0-1.2-.7-1.8-1.9-1.8h-3zm1.4 1h1.4c1.1 0 1 1.8 0 1.8h-1.4v-1.8zm5.8-1l-2.6 6.4h1.4l.6-1.6h2.6l.6 1.6h1.4l-2.6-6.4h-1.4zm.6 1.4l1 2.4h-1.8l.8-2.4zm3.4 3.8l3.4-4.2h-3v-1h4.8v1L325 307h3.6v1.2h-5.2zm20.2-12.4l1.2-.2.6 3.6c.2 1.3-.4 2.1-1.3 2.5-1 .4-2.4 0-2.5-1.7l1-.2c.2 1 .6 1.1 1 1 .5-.2.7-.8.6-1.4zm2-.4l1.1-.2.6 3c.2 1.3.6 1.8 1.5 1.7 1-.2 1.1-.8.9-2l-.7-3.1 1.2-.2.8 3.3c.4 2-.6 2.7-2 3-1.1.2-2.4 0-2.8-2zm6.2 2.8l1-.4c.5.9 1.2.8 1.8.6.8-.4 1-1.1.5-1.4-.6-.3-2 .2-2.7 0-.9-.4-1.3-1-1.2-1.7 0-1 .8-1.4 1.7-1.7 1-.3 2-.2 2.7 1l-1.2.4c-.4-.7-1-.6-1.4-.4-.4.2-1 .5-.6 1 .2.5 1.7.2 2.5.2s1.4.6 1.5 1.3c.2 1.1-.2 1.7-1.5 2.2-1.5.6-2.9 0-3.1-1.1zm5.4-5l-1.6.8-.4-1 4.4-1.8.4.8-1.6.8 1.8 4.4-1 .6zm2.6-2.2l1-.6 2.8 5.2-1 .6zm6.8.4l1.2-.4a2.4 2.4 0 01-2.4 3.3c-3 0-3.4-3.4-2.9-4.5.8-1.9 3-1.8 4-.8l-1 .8c-.6-.8-2-.3-2 .4a2.7 2.7 0 001.4 3c1 .4 2.4-.8 1.7-1.8zm-.6-4.2l1-.8 3.6 4.8-1 .8zm3.8-3l-1 .8 2.2 6 1-1-.6-1.2 1.8-1.6 1.2.6 1-.8-5.6-2.8zm.4 1.4l2 1-1.2 1.2-.8-2.2z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gr.svg
new file mode 100644
index 0000000..581af28
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gr.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gr" viewBox="0 0 640 480">
+  <path fill="#005bae" fill-rule="evenodd" stroke-width="6.7" d="M0 0h640v53.3H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width="6.7" d="M0 53.3h640v53.4H0z"/>
+  <path fill="#005bae" fill-rule="evenodd" stroke-width="6.7" d="M0 106.7h640V160H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width="6.7" d="M0 160h640v53.3H0z"/>
+  <path fill="#005bae" stroke-width=".9" d="M0 0h266.7v266.7H0z"/>
+  <path fill="#005bae" fill-rule="evenodd" stroke-width="6.7" d="M0 213.3h640v53.4H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width="6.7" d="M0 266.7h640V320H0z"/>
+  <path fill="#005bae" fill-rule="evenodd" stroke-width="6.7" d="M0 320h640v53.3H0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke-width="6.7" d="M0 373.3h640v53.4H0z"/>
+  <g fill="#fff" fill-rule="evenodd" stroke-width="1.3">
+    <path d="M20 0h10v50H20z" transform="scale(5.33333)"/>
+    <path d="M0 20h50v10H0z" transform="scale(5.33333)"/>
+  </g>
+  <path fill="#005bae" stroke-width=".6" d="M0 426.7h640V480H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gs.svg
new file mode 100644
index 0000000..6833555
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gs.svg
@@ -0,0 +1,201 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gs" viewBox="0 0 640 480">
+  <defs>
+    <linearGradient id="b">
+      <stop offset="0" stop-color="#d5dfff"/>
+      <stop offset="1" stop-color="#fff"/>
+    </linearGradient>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="#474747"/>
+      <stop offset="1" stop-color="#f50"/>
+    </linearGradient>
+    <linearGradient id="c" x1="109.3" x2="110.9" y1="218.5" y2="173.4" gradientTransform="matrix(1.5 0 0 .65 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="d" x1="125.9" x2="126" y1="316.4" y2="337.2" gradientTransform="matrix(1.23 0 0 .8 40.5 0)" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#b50000"/>
+      <stop offset="1" stop-color="#ffc500"/>
+    </linearGradient>
+    <linearGradient id="e" x1="407.9" x2="456.4" y1="149.4" y2="147.3" gradientTransform="matrix(.56 0 0 1.76 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="f" x1="215.8" x2="229" y1="103" y2="103" gradientTransform="matrix(.74 0 0 1.33 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="g" x1="117.6" x2="78.2" y1="1040.4" y2="1003.7" gradientTransform="matrix(2.56 0 0 .38 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="h" x1="264.7" x2="255" y1="246" y2="226.4" gradientTransform="matrix(.9 0 0 1.1 40.5 0)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+  </defs>
+  <path fill="#006" d="M0 0h640v480H0z"/>
+  <g stroke-width="1pt">
+    <path fill="#fff" d="M0 0v33l403.2 261.7H454v-33L50.7 0H0zm454 0v33L50.7 294.6H0v-33L403.2 0H454z"/>
+    <path fill="#fff" d="M189.2 0v294.7h75.6V0h-75.6zM0 98.2v98.3h454V98.1H0z"/>
+    <path fill="#c00" d="M0 117.9v59h454v-59H0zM204.3 0v294.7h45.4V0h-45.4zM0 294.7l151.3-98.2h33.9L33.8 294.6H0zM0 0l151.3 98.2h-33.8L0 22V0zm268.8 98.2L420.1 0H454L302.6 98.2h-33.8zM454 294.7l-151.3-98.2h33.8L454 272.6v22z"/>
+  </g>
+  <path fill="#6a4c2d" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M463.8 350s-3 7.5-4.6 7.5c-1.6 0-7.6-3.2-7.6-3.2s-4.3 7-6.6 7.4c-2.2.4-8.2-1-8.2-1s-5.8 0-6-.9c-.2-.8.3-2.4.3-2.4s-8.3 6.5-10.1 6.1c-1.9-.4-8-8.2-8-8.2l-1 4.1-11.8-.4-10.3-6.6s-5.7 9.5-6 9.3c-.1-.2-10 2.2-10 2.2l-.6-1.8-6.6-4s5.1-7.1 5.1-7.3c0-.2-2.4-1-2.4-1l-3.7 3-7.6 5-7.7-3.5 3.3-6.2.4-4.5 6-9 73-71 36 66.4-5.3 20z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M515.6 354.3l19-.7-8-4 72.3-2.8-10.2-3.9-9-12.2-37.6-2.9s-2.8-2.1-7.4-1c-.2-3-3.7-6.8-3.7-6.8l-23-1.7-14.5 9.8 9.7 25 12.4 1.1z"/>
+  <path fill="url(#c)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M121.3 150.8l2.2-7.6s4-6.6 4-9.4c0-3 2.8-6.4 2.8-6.4s9-2.6 10.8 2.9c9.6-14.5 20.8-.7 20.8-.7l3.1-3.6 6.4-7.8s9 8.4 9 9.9 1.6.4 1.6.4l9.8-.8s4.7 3.7 3.7 10.6c3.4 2 6.6 14 6.6 14l-80.8-1.5z" transform="matrix(.86 0 0 .86 337.3 11.7)"/>
+  <path fill="#656263" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M515.5 218.7c1.4-.9 6-2.3 5.5-9-.6-6.7-6.4-7.5-9.6-7.3-3.3.3-6.2 3-6.2 3l-10.7-6.8s5.4-33.8 11-35.9c5.5-3.9 6.4-5.5 6.4-6.4s-2-3.2-2-3.2L475 149l-33 3.9s-2.6 3.9-2.2 5.5.4 3.2 6.3 7.8c6.6 5 11 33.9 11 33.9s-9.2 4.6-9.8 4c-.5-.6-3.3-1.1-4.7-.9-1.5.2-6.3 2.7-6.3 9 0 6.4 4.8 10 4.8 10s31.6-3.6 36.3 5.1c4.5-10.5 34.5-6.8 38.1-8.6z"/>
+  <path fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M549.5 183.6s.4-3.7 3-5.4c2.6-1.8 20-2.6 24.3 0s5.7 15.5 5.7 15.5 2.6 4.6 2.8 7.9l.5 5.6s14 18.1 14.2 34.6c1.6 11.1 1.2 41-3.2 52.4-.1 14.1-6 23.4-6 23.4s1.3 2.4 1.2 5c-.2 2.7-1.6 5.1-1.6 5.1l20.4 10.1-7.5-2.8 7.5 6.3-8.5-4 5 5-12.4-5.5s5.8 5.4 5.4 5.2l-9.2-4.3 5.4 5.6c-.2-.3-8-3.5-8-3.5l.3 3s-6.3-.4-6.3-5.1a23 23 0 01-5.2-4.2l-14.5-2.5-16.4-49 3.8-83 1-4.2-1.7-11.2z"/>
+  <path fill="#fb0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M538.5 448.8s-8.4-17.8-12.6-18c-3.8-7.2 13.2-66.2 46-69.5 18 1.4 1.4 20.7-10.4 14.8 1.5 5.2 7.4 12.6 7.4 12.6s-23.5 10.1-30.4 60zm-112.7 2.5s7-20.1 11.2-20.4c4.2-.2-11.2-67-44.8-67.6-18.1 1.5-1.5 21 10.4 15-1.4 5.2-7.4 12.6-7.4 12.6s23.6 10.2 30.6 60.4z"/>
+  <path fill="#00713d" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M456.6 325.5c-.1-.1-8.4 2.6-3 11.6.4-3.5 4-5.6 4-5.6s-5.6 6.7.4 12.4c.7-5.3 4.1-7 4.1-7s-4.2 12.3.1 14.8c.5-4.9 3.7-7 3.7-7s-3.8 11-.4 13.5c.4-4.2 3.2-6 3.2-6s-1.7 11.4 2.7 12.2c.1-4 3.4-8 3.4-8s-1.5 9.4 5.5 9.8c0-3.5 1.3-7.6 1.3-7.6s3.2 10 7.8 8.3v-8.4s2.9 9.5 8.4 7.7c-.8-2.7.3-5.8.3-5.8s3 5.9 8.2 4c.9-1.8-.2-5.3-.2-5.3s7.6 8 10 3.2c2.3-4.8-6.2-6.4-6.2-6.4h5.8s-1.9-4.9-9.6-6c2.6-1.1 5.4-.3 5.4-.3s-1.6-6-9.6-6.7c3.1-1 6.5-.3 6.5-.3s-1-5.7-9.8-7.4c1.4-1.5 5.1-1 5.1-1s-3.5-5.4-7.4-5.1-39.8-3.6-39.7-3.6z"/>
+  <path fill="none" stroke="#3ec26d" stroke-linecap="round" stroke-width="1.1" d="M491.9 354.7s3.1 1.6 3 3m-1.1-5.5s4 2.9 4 5m-.5-6.4s3.2 2 3.4 5.2m2-4s1.6 3.6 1 4.2m2.3-2.3c.2 2.8-.3 3-.3 3m-39.6-20.4s3.8 2.5 3.5 5.9m-3.7-3s1.7 1.8 1.3 2.9m3.3-5.7s2.6 3.5 1.7 6m2.6-3.7s1.2 2.2.1 3.4m2-2.4s1.3 2.2.1 3m-1.7 4.2s3.6.8 4 3.5m-1.9-5.9s3.7.3 4.1 4.2m.9-5.6s2.5 4.3 2 5.7m2.7-5.3s1 4.2.3 5.5m2.8-3.8v4.7m-4.7-11.2s2.4.9 2.2 3.1m0-5.2s3 1.7 2.7 5m.8-6.4s2.6 3 1.6 6.5m2.9-5.8s-1 3.8-.6 5.4m3.3-2.8s-1.6 1.3-.7 3m-14 11.8s.6 3 0 3.4m-3.7-5s1.9 3.2 1.2 4.8m-5.2-5s2.1 2.4 2 4.3m-5.2-3.8s2 1.8 1.8 2.9m-3.5-.1s1.9 2 1.8 2.3"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M430.9 222.2l26.7-.5s17.7 0 19.6 5.8c3.4-7.7 18.6-7.2 18.6-7.2l27.7-1 .5 67a71.5 71.5 0 01-44.9 52 68.6 68.6 0 01-45.3-52.6l-3-63.5z"/>
+  <path fill="#006b00" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M440.4 222l39 103.8 35.2-106.1c-11 .7-34.4-1.7-37.3 8.3-4.5-9-29.1-5.4-36.9-6z"/>
+  <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linecap="round" stroke-width=".6" d="M467 278.2c1.4.8 1.4-28.2 3.4-29.1l1.5-6c-1.7-3-9.3-2.8-12-.3a74.5 74.5 0 001.8 5.4c3.8 6.2 3 30.6 5.2 30z"/>
+  <path fill="#cdad56" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M456.5 54.3s2.8-3.1 2.9-3.9c.1-.7 12.5-1.2 19.9-15 4.1-7.2 0-3 0-3L479 29s5.1-4.9 3.3-7.5c-1.9-2.6-1.3 3.4-4.3 3.3-3-.2-1.4-6.5-1.4-6.5s-.2-.8-1-1.2c-1.3.2-1 2.4-2 2.7-1.2.2-2.2-5.3-2.2-5.3s-1.9-2.5-3.5 5.4c.9 8.4 6.2 6.7 6.2 12.2 0 5.5-4.7 9.8-6 10-1.5 0-1-4.7-1-4.7s-.7-2.3-1.2-2.3 2.7-.5 2.2-6.7c-1-7.5-2 1.7-4 1.4s-.5-7 .3-7.7-.9-3.8-5.3 4.2c-.4 3.8-.9-1-1.7-.8-1.5 3.1-1.3 5.4.9 8.3 3 2.8 5 5.7 5 7.2-.2 1.5-1.8 4.9-4 4.9s0-4.1 0-5.5c-.2-1.4-4-6.4-4-6.4s-2.6-4.2-2.3-4.4c.3 0-.3-.7-1.5 3.7s-2.8-3-2.8-3-1.7 5.5 2 8.7c-2.8-.4-3 .8-3 .8 0 1.5 3.8 2.1 4.3 4.7s-4 4.2-4 4.2 1.9 2.6 7.1-2.5c.1 3.2-2 5.5-2 5.5 1.8.8 3.1.7 3.4 2.7z"/>
+  <path fill="#cdad56" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".9" d="M439.3 54.3s-2.3-3.5-2.4-4.1c-.1-.7-11.5.8-17-13-3.4-6.7 0-2.8 0-2.8l.3-3.2s-3.7-4.6-2.1-7c1.6-2.3 1 3.1 3 3.1 2.5 0 1.1-5.9 1.1-5.9s.2-.7 1-1c1 .1 1.5 3.5 2.4 3.8 1 .2 3-4 3.6-5 .9 0 .8-3.5 2.2 3.7-.7 7.6-7 6.1-7 11.2 0 5 4 8.8 5.2 9 1.1 0 .7-4.3.7-4.3s.6-2 1-2c.5 0-3.6.8-3.2-5 1-5.2 3 .4 4.8 0 1.7-.3-.2-5.5.3-6.4 0-.8 2.6-4.2 3.5 3.4.4 3.6 2.3-3 3-2.8 1.3 2.9-.5 6.7-2.3 9.3-2.7 2.6-4 5.5-3.8 6.8.1 1.4.7 3 2.6 3 2 0 .7-2.3.8-3.5.1-1.3 3.3-5.3 3.3-5.3.6-1 .1-3 .8-3.8 1 0 1.4-1.4 2.5 2.6 1 4 2.3-2.6 2.3-2.6s1.5 4.9-1.7 7.8c2.5-.3 2.7.7 2.7.7 0 1.4-1.2 2-1.6 4.3a4 4 0 001.3 3.8s-1.6 2.4-6.1-2.3a7.8 7.8 0 001.7 5c-1.5.7-2.7.7-2.9 2.5z"/>
+  <path fill="#ffc900" fill-rule="evenodd" d="M508 237.4c-2.3-2-2.5-.2-3.7-.7-.5-.2-1-.8-1.5-1.2-.4-.5-.9-.7-1.5-.9l-.6 1.9c-.2.6.6 1.7.6 2.6-.2 1.4-.8 2.5-2.5 3 .5-1 .8-1 .6-2.2 0-.6-1.7-1.7-1.5-2.3.3-.9.8-2 .4-2.9-.7.5-1.6.3-2.4.6-.6.2-.6 1.4-1.4 1.8-1 .4-2.8.2-4.4-.7 1-.7 1.8-.2 2.7-1 .5-.3.5-1.9 1-2.3s1.6-.7 2.1-1c-.4-.6-.4-1.4-.8-1.9s-2.4-.4-2.8-.9c-.9-1-.7-2.3-1.6-3.3 2.2.9 2 2 2.5 1.9a4 4 0 012.7-.4c.5.2 1.6 1.6 2.2 1.9l.7-2c.2-.7-1-1.8-.7-2.4.4-1.3 1.4-2.4 1.9-3.6l.5 3.4c0 .6 1.2 1 1.3 1.5 0 .6-.6 2-.5 2.6l2.2-.1c.7-.2 1-1.7 1.7-1.8a8.4 8.4 0 013.6 0c-1 1-1.7 1-2.3 1.7-.5.4.1 1.6-1.3 2.5-.5.3-1.9 0-2.4.3l1.3 1.5s2.4.7 2.9 1.2c.9 1 1.3 2.2 1 3.3zm-59.8 1c2.3-2 2.6-.2 3.7-.7.6-.2 1-.7 1.5-1.2.4-.4 1-.6 1.5-.9l.6 2s-.6 1.6-.5 2.5c.1 1.4.7 2.6 2.4 3-.4-1-.7-1-.6-2.2 0-.6 1.8-1.7 1.6-2.2-.3-1-.9-2-.5-3 .8.6 1.7.3 2.4.6.6.3.6 1.4 1.5 1.8.9.4 2.8.2 4.3-.7-1-.7-1.7-.2-2.7-1-.5-.3-.5-1.9-1-2.2-.4-.4-1.6-.8-2-1.2.4-.5.3-1.2.8-1.7s2.3-.4 2.8-1c.9-1 .7-2.2 1.6-3.2-2.3.8-2 1.9-2.5 1.8-1.1-.5-2.2-.6-2.7-.4-.6.3-1.7 1.7-2.2 1.9l-.8-2c-.2-.7 1-1.8.8-2.4-.4-1.2-1.5-2.4-2-3.6 0 1.2-.3 2.2-.4 3.4-.1.6-1.3 1-1.4 1.5 0 .6.7 2 .6 2.7-.7-.2-1.6 0-2.3-.2-.6-.1-1-1.6-1.7-1.8a8.3 8.3 0 00-3.5.1c1 .9 1.7.8 2.3 1.7.5.3-.2 1.5 1.2 2.4.5.3 2 0 2.4.3l-1.3 1.5c-.4.5-2.4.7-2.8 1.2-1 1-1.4 2.2-1.1 3.3z"/>
+  <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linecap="round" stroke-linejoin="round" stroke-width=".6" d="M506 244.1c-2.1 1.7-15.8 5.1-15.9 17-.1 11.8 2.4 14.5-.1 14.8-5 0-5.7-13.2-5.5-19 .1-5.9.3-5 .3-5s3.3 1 3 3.8c-.2 2.8 3.4-7 2.2-9.8 2.2 2.3 5.2 1.4 5.2 1.2 0-.1-1.7-2-2.4-3.3-.7-1.3 2.5.8 2.5.8s.1-2.3-2.7-2.1c-3.6 0 .6-1.2.6-1.2s2.1 2 3.5-.2a12 12 0 00-3.8-2.5s-2-3.8-4.6-4.5c-3.1-.8-2.7 1.3-6.2 1-.7 1.4-.7 1.5.7 2-2.4 1.6-1.1 5-1.1 5s3.8-1.7 3.6 1c-.1 2.7-2.2 2.2-3.6.6-1.3-.8-1.7.7-1.7.7l2 2.1s-3.9-.1-4.8 2.4c2-.1 3.2.5 3.2.5s-4.3 2-4.8 3c-.4 1-.5-1.2-.7-1.2l-4.2-1.5-1.4 6.5s2.8 2.8 4.4 1.9c1.5-1 4.3-3.6 6-2.9-5 3.8-9.8 9.2-12.5 10-.7-.7-3.1-3-4-1.9-1 1.2-.4 2.7.9 2.6 1.3-.2-4 1.2-3 3.4 1.2 2.3 1 2.1 2 1.5 1-.6-.8-.7 2.8-1.8 3.7-1 3.5-2 3.5-2s-.7 1.6-2.6 2c-2 .5-3.5.5-3.1 1 .4.7 1.2 1.7 1 2.3-.3.6 4-3.1 5.2-.1 3-.2 4.9-3.8 3.5-5.9.1 2.3 1.5 3 .7 4s6.6-3.4 3-6c1 2.2 1 4 1 4s1.8-.2 2.2-.8c.4-.6-.9 1.7-.3 2.1.6.5 3.2 3 2 4.8-.6-1-.7-2.7-1.6-2.5-.8.1-4.3 2.7-6.5 2.8s2.6 7.8 2.6 7.8-3.3-.4-3.7-.1c-.4.3-2.5-2.7-3-1-.6 2.3.8 1.4.8 1.4s-1.9-.9-2.8.2c-1 1-2 2-1.3 2.5s3.8.5 4.2.3-3.5.3-3.8.8c-.3.4-.8 2 0 2.7s3-.3 3.1-.8c.2-.4.3 1.7.3 1.7s3.6.3 3.6-3.5.3 2.7.3 2.7 3.7.6 3.8-3.1.4 2.5.4 2.5 2.4-.7 2.4-1.3c0-.6-.1 7.5-1.8 9.7-2.7-1.8-4.4 1.2-4.4 1.2s.2 4.3-.1 5.4c-.3 1 1.8-.6 2-1 .1-.5 2.6-1.7 2.8-2l.8-1.8s-.5 2.1-1.5 2.4-2 1.3-1.6 2.2c.5 1 2 1.5 2.6 2.4.5 1 2.5-5.2 2.5-5.2l.1 1.3s2.6-.6 2.9-1.8c.2-1.2-2.7-2.2-.3-4.2 2.4-1.9 0 1.8 0 1.8s.8 2.9 1.4 2.9 2-5.4.5-6.7c-1.4-1.4 2.1 1.6 2.1 1.6s2-5.5-.1-6.3l-3.1-1s1.1-1.5.6-1.7 3 3.3 3.5 2.4 1.4-3.6-2.7-5c-4-1.6-.1-5.8-.1-5.8s2.5 3 4.3 1.4c1.9-1.7-.1-1.7-.1-1.7s5.2-3.3 5.3-5l-2.6.2s3-2 2.2-5a3.5 3.5 0 01-2.7 1.6s2.6-2.6 2.1-5c-1.5 1.2-1.4 2.1-2.3 1.8s-2.7-9.7 1.2-10.3c4-.6 1.8 4.6 2 4.6.1 0 5.9-2.4 0-6.3 1.4-.4 4.4 2.3 4.4 2.3s-1.3-6.6-7.6-2.6c1.5-1.6 2.5-2.7 3.7-2.4 1.3.3 5.8-.1 5.8-1.5-1.1-.9-3.5.5-4.8 0-1.2-.4 9-1.2 8.2-6.3z"/>
+  <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M481.3 118.5s12.3-6.4 18.4 1.6m4.9 12.2c-.3 0-4.3 4-5.2 4m13.4 8.9s11.4.9 18.7-10.4" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M525 141.8s1 6.1 2.8 6.1-3 1.6-4.9.3c2.2 2.8 3.4 7.7 0 9.5" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M519.3 219s-4 4.3-9 4.6" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="none" stroke="#006b00" stroke-linecap="round" stroke-width="1.3" d="M523.9 199.4s-2.5-12.3-1-15.3c1-4 5-5.5 8-10.7m-8.3 17s-3 7.4-16.5 5m20.2-23.3s1 9.8-11.3 6.1m-3.7-50.2s-4.9 4.3-3 10.1" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="#006b00" fill-rule="evenodd" d="M483.7 247.6s3-1.2 3.6-1.8a9 9 0 001.8-2.7c.3-.9-2-2.3-.9-4.2.7-.9 1.7-1 3.4 0s-1.5-3.3-3.2-3.5-2.8 1.3-3.3 1c-.4-.3.2 1.2-.5 1.2s1.4 1.2 1.2 1.9c-.1.8 2.3 3.3 2.1 3.9 0 .6-3.5 4-4.2 4.2z"/>
+  <path fill="#ffc900" fill-rule="evenodd" stroke="#ffc900" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3" d="M534.3 97.1c2.8-.6 3.2 0 2.7 2.5a7 7 0 01-2.7-2.5z" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1.3" d="M514.7 233.5s-1 6.4 1.5 7c-.1-2.5.5-4.2 1.2-4.9-.6-.2-2.6-2-2.7-2zm-5.7-7.9c-2.3-.3-6.2 1.6-5 4 1.8-1.7 3.6 0 4.9-1.6.4-.4.3-1.8.1-2.4zm0-4.5s-3.6-.6-4.1 1.9c2.5-.3 3.2-.6 4 0 .3-.6 0-1.8.1-2z" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M493.5 185s2.2.8 2.9 3c1.7-1 2.5-5.8-2.9-3zm-5.4 5.4c.1 0 4.6-2.8 5-.2-.9 1-1.3 1.6-2 1.8-.6 0-1.8-1.8-3-1.6zm-.4 8.8s2.9-2.5 4-.8c1 1.6-1 1.5-1 1.5s-1-.4-3-.7zm-4-49.2s-3.6-1.4-5 1c2.3.4 3.1 1.2 4.2 2-.3-1-.8-2.6.8-3zm-6.9 18.5s.2-4.2 2.1-5.9c1.2.7 1.5 1.7 2.2 2.9-1.5.3-3.4.4-4.3 3zm9.5-3s-4 1.9-2.6 3.8c1.2-1.3 2.7-1 2.7-1l-.1-2.8z" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M480.6 125.6c-1.4 1.6 1.8 5 5 4.5 1-3.7-4.1-5.7-5-4.5z" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="none" d="M461.2 248.1c-.3.9 1 2 1.7 1.8.3-1-1.4-2.5-1.7-1.8z"/>
+  <path fill="#e80000" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M484.3 122.8s.6 2.9 3.4 2.1c-.4-2.3-2.4-4-2.4-4-.1.7.4 1.7-1 1.9zm1.9 8.5s1.5 1.7 4.6-1.8c-1.4.4-3.8-.8-3.8-.8s0 2.4-.8 2.6z" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="#ffc900" fill-rule="evenodd" stroke="#006b00" stroke-linejoin="round" stroke-width="1pt" d="M480.5 118.9c-1.4 1.5.5 3.7 3.8 3.2.9-3.7-3-4.4-3.8-3.2z" transform="matrix(.46 0 0 .5 240.3 190.1)"/>
+  <path fill="url(#d)" fill-rule="evenodd" d="M144.6 266.6s7-2 10.8 1 3.7.3 3.7.3 5.5 2 7 1.6-1 .1 1-1.2c2.2-1.2-4.2.3-4.8-2.4-1-1.7.1-3.9-2.2-3.2-1.5-2 1-3.4.5-5.6-1.6 1.2-2.5-.4-3.8 2.5-3-.6-.4-4.8-3.7-5.2 0 3-2.4 3.2-2.6 4.9-1.4 1-7.7 4.7-5.9 7.3z" transform="matrix(.86 0 0 .86 337.3 11.7)"/>
+  <path fill="#c01500" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M392 437.9c4-1 25.2 4.7 33.4 13.5-1.7-15.7-6-27.7-6-27.7s-12.8-3.6-14.5-1.9a96.3 96.3 0 00-13 16.1zm-6.5-72.3c-1.5.2-3 1.2-4.5 3.7-1.7 4.2-3 14.9-5.4 17.4-2.5 2.5-4.8 2.7-4.8 5 0 2.2.3 7.4 7 9.4 6.7.3 17.4-10.7 17.4-10.7s5.5-6 7.7-12.4c-13 4.5-22.1-7.5-17.4-12.4zm187 69.8c-4-1-25.4 4.7-33.6 13.4a133 133 0 016-27.5c1.6-.4 12.5-3.6 14.2-1.9 2.5 2.7 10.7 10.7 13.4 16zm6-72c1.5.3 2 2.3 3.2 4.7 1.7 4.2 3.5 10.4 6 12.8 2.5 2.5 4.7 6.2 4.7 8.4s-.5 5.2-7.2 7.2c-6.7.3-16.3-8.3-16.3-8.3s-5.4-6-7.7-12.4c12.9 4.5 21.2-7 17.3-12.3z"/>
+  <path fill="#fb0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M378 424.2s13.5 9.2 13.7 13.5c36-53.5 128-70.1 180.5-3.8 7-9.2 14.2-12.1 14.2-12.1-55.2-72.2-165.1-63.2-208.4 2.4z"/>
+  <g fill="#1e5aa6" fill-rule="evenodd" stroke="#000" stroke-width="1.1">
+    <path d="M515 219.9l5.2-.2-9.4 12 11.3 13-22.2 28 21 25.2a70 70 0 01-8.6 15.4l-12-13.3 21.8-27.2-18-20.3L515 220zm-75.2 2.3l-5.6.2 10.5 11.4-11.2 13.9 23.2 25.1-19.2 25.7a75.8 75.8 0 009.2 16.5l11.4-14.4-23.4-26 17.1-21.8-12-30.6z"/>
+    <path d="M465.9 289.8l-8.3 11L487 335a74 74 0 0013.8-9.2L485.5 308l6.3-18.4 9 10.4-28.2 36a62 62 0 01-14.7-9.1l15-18.9-7-18.2zm-9.2-17.1l5.4 6.8-3.5-9.2-1.9 2.4zm38.6 6l4.3-5.8-1.6-2.2-2.7 8z"/>
+  </g>
+  <text x="-328.3" y="362.4" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(-49.4 182.5 -362) scale(.86)">
+    <tspan x="-328.3" y="362.4">L</tspan>
+  </text>
+  <text x="-292.3" y="384.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.6 -.6 .6 .6 337.3 11.7)">
+    <tspan x="-292.3" y="384.3">E</tspan>
+  </text>
+  <text x="-239.8" y="451.7" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.66 -.47 .5 .65 337.3 11.7)">
+    <tspan x="-239.8" y="451.7">O</tspan>
+  </text>
+  <text x="-188.5" y="430" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.7 -.48 .48 .7 337.3 11.7)">
+    <tspan x="-188.5" y="430">T</tspan>
+  </text>
+  <text x="-115.4" y="451.5" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.78 -.37 .37 .78 337.3 11.7)">
+    <tspan x="-115.4" y="451.5">E</tspan>
+  </text>
+  <text x="-94.1" y="453.1" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.8 -.35 .35 .8 337.3 11.7)">
+    <tspan x="-94.1" y="453.1">R</tspan>
+  </text>
+  <text x="-68.4" y="455" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.8 -.32 .32 .8 337.3 11.7)">
+    <tspan x="-68.4" y="455">R</tspan>
+  </text>
+  <text x="112" y="445.7" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 -.07 .07 .86 337.3 11.7)">
+    <tspan x="112" y="445.7">R</tspan>
+  </text>
+  <text x="180.2" y="430.8" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 0 0 .86 337.3 11.7)">
+    <tspan x="180.2" y="430.8">R</tspan>
+  </text>
+  <text x="414.8" y="275.2" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.75 .43 -.43 .75 337.3 11.7)">
+    <tspan x="414.8" y="275.2">R</tspan>
+  </text>
+  <text x="483.9" y="193.1" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(39.9 153.2 471.7) scale(.86)">
+    <tspan x="483.9" y="193.1">E</tspan>
+  </text>
+  <text x="309.1" y="414" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.83 .16 -.13 .82 337.3 11.7)">
+    <tspan x="309.1" y="414">O</tspan>
+  </text>
+  <text x="105.1" y="459.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.78 -.1 .12 .84 337.3 11.7)">
+    <tspan x="105.1" y="459.3">O</tspan>
+  </text>
+  <text x="-45.7" y="455.8" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.8 -.3 .3 .8 337.3 11.7)">
+    <tspan x="-45.7" y="455.8">A</tspan>
+  </text>
+  <text x="518.4" y="144.7" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.6 .6 -.6 .6 337.3 11.7)">
+    <tspan x="518.4" y="144.7">A</tspan>
+  </text>
+  <text x="271.2" y="388.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.84 .17 -.17 .84 337.3 11.7)">
+    <tspan x="271.2" y="388.3">A</tspan>
+  </text>
+  <text x="40.3" y="455.2" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.85 -.16 .16 .85 337.3 11.7)">
+    <tspan x="40.3" y="455.2">M</tspan>
+  </text>
+  <text x="94.4" y="448.1" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 -.1 .1 .86 337.3 11.7)">
+    <tspan x="94.4" y="448.1">P</tspan>
+  </text>
+  <text x="155.1" y="437.6" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.86 0 0 .86 337.3 11.7)">
+    <tspan x="155.1" y="437.6">P</tspan>
+  </text>
+  <text x="405.1" y="276.7" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(29.3 146.8 652.1) scale(.86)">
+    <tspan x="405.1" y="276.7">P</tspan>
+  </text>
+  <text x="232.1" y="409.8" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.85 .1 -.1 .85 337.3 11.7)">
+    <tspan x="232.1" y="409.8">I</tspan>
+  </text>
+  <text x="530.4" y="132.1" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(46.4 155 399.3) scale(.87)">
+    <tspan x="530.4" y="132.1">T</tspan>
+  </text>
+  <text x="464.2" y="218.5" font-family="Timmons" font-size="14" font-weight="bold" transform="rotate(36.4 149 515.6) scale(.87)">
+    <tspan x="464.2" y="218.5">T</tspan>
+  </text>
+  <text x="313.7" y="362" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.83 .24 -.24 .83 337.3 11.7)">
+    <tspan x="313.7" y="362">M</tspan>
+  </text>
+  <text x="513.7" y="123.3" font-family="Timmons" font-size="14" font-weight="bold" transform="matrix(.58 .64 -.64 .58 337.3 11.7)">
+    <tspan x="513.7" y="123.3">G</tspan>
+  </text>
+  <path fill="none" stroke="#fff700" stroke-linecap="round" stroke-width="1.1" d="M557.4 184.5s5.2-4.4 8.9-4.6m-8.2 4c.1-.1 31-4.5 32-5.4m-31.9 5.6l34.6-3m-34.7 3.2s36.7-1.8 39 0m-39.1-.2s36 .3 36.6 1.1m-36.5-1l34.6 2.8m-35-2.6c.2 0 35.3 3 38.7 7.5m1.9 6.3c-.2-.1-12-14.2-40.7-14m.2.3s19.8 1.4 26.1 8.3m-25.8-8.5s12.9-2.5 26.3 13.7"/>
+  <path fill="url(#e)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M247.4 217.7s20.7.9 20.7 2.9-15.4 5.9-15.6 14.4c-.2 8.5 11.8 9.2 12.6 20 .8 10.7-9.4 12.3-11.4 15.2-2 1.4-6.9 16.6-6.3 25.5.6 9 3.3 39.2 8 45.3 3.6 2.9 9 12 15 9.2 5.9-2.9 1.8-13.2 1.2-16s2.4-7.6 2.4-11.8c0-4.3-2.2-7.8-2-8.8.2-1 16.4 3.9 15.4 20-1 16-7.5 11-7.5 11s2 19.8-3 22.4c-9.2 5-15.9-1-15.9-1l.9 4-7-3.6s-9-12.8-11-18.5-4.4-31-3.6-36.5c.8-5.5 1.4-37.6 1-39.2s-2-28.5-1-32.5 7.3-22 7.1-22z" transform="matrix(.86 0 0 .86 337.3 11.7)"/>
+  <path fill="#ff7000" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M530.8 194.4s12.4-12 19.6-10.6c3.7 0 .2 2.6.2 2.6s6.3.5 7.1 3.3c.2 1.2-3 1.6-3 1.6s2.7.5 2.8 2.8-26.5.5-26.7.3z"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M531.5 193.9s13.3-1.8 18.9-7.4m-5.4 3.7s9.8-.3 9.8 1"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M579.7 333.1s8.4-1.9 10.7-4.9c1.4-1 8.7 11-10.7 5z"/>
+  <path fill="none" stroke="#fff" stroke-linecap="round" stroke-width="1.1" d="M577.5 263.8s1 6.4-2 10.8c-1.5 1.7-6.3 4.7-6.3 6.8 0 2.1 1.8 4.9 1.4 7.3s-3 5-2.7 7c0 2.1 3 13.3 2.6 13.5m-8.4-66.4s-6.6 2.3-8 9"/>
+  <path fill="#c75b00" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M559.3 190.2s2.3 6.3 9.6.4c-4.7-6.5-9.6-.2-9.6-.4z"/>
+  <path fill-rule="evenodd" d="M564.9 190c0 .4-.4.7-.8.7s-.8-.3-.8-.6.3-.6.8-.6.8.2.8.6z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M499.3 175.6s14 15 23 15c1.6 4.4-4.2 8.5-6.5 10.4-4.5-1.4-8.7.3-19.3-12.8.6-8.3 3-12.2 2.8-12.6zm18.8-35c1.8-5.6 5.4-10 8.5-10.5-.8-4.2 6.6-23 28-30.3 1.3 9.7-9.1 19.2-9.1 19.2s31.6-5.4 38-13.4c-.7 3.6-7.1 26-40.8 25.8 12.8 12.1-4.1 21.8-11.3 18.9 13.2-10.2-3.8-16.2-13.3-9.7z"/>
+  <path fill="#cccccd" fill-rule="evenodd" stroke="#ccc" stroke-width="1.1" d="M529 132.8c6.3-4.1 8.6-4.1 13.8-3.3l-3.7.6s-.4.5 2 2.7c-2.7-.7-5-2.2-12.2 0z"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M526.5 130.1s12.6-6.7 19.6-11.3"/>
+  <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M515.7 201s17.3 4.8 19.3-20.1c-3.8-10.8-9-34-1-40.8-7.4-5-15.4.2-15.4.2-.5 1.1-7 10.5 1.8 26.8-21-5.5-12.4 14.3-12.4 14.3.8-3.1 12-6 14.7 9.8 1.1 4-7.5 10-7 9.8z"/>
+  <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M535.1 181s18.4-9.8 17.9-32.9c-15.6.4-21.1 20.5-21.1 20.5l3.3 12.4z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M453 179.9s-13.6 11.8-21.3 8c-5.7 3.4-12.4-2.6-12.4-2.6s7.8 29 36 8c-.5-6.4-2-13-2.3-13.4z"/>
+  <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M431.5 187.4c1.2-6 6-9 9.7-3.3 5 1 10.2-19.8-7.9-16.3 5.1-27.2-10.1-37.3-10.1-37.3s-5.4 30-3 35.6c2.5 5.6-3.5-10.3-23-14.7-.3 22.8 21.7 33.4 21.7 33.4s6.3 5.7 12.6 2.6z"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M433.3 167.6s-8.5 7.2-6.5 17m-6.4-18s-2 7 2.3 17m-3.6 2.4s4-6.4 12.4 1.8"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M420.7 141.8c0-.2-12.9 0-5.2 13-5.7 1.8-18.5-6.5-9.7-17.6-29-.7-40.7-14.6-40.7-27.4 8.5 8.9 28.8 5.3 36 10.7-8.8-8.2-7-19.5-7-19.5s24.7 7.4 29.1 29.3c-1.5 4.2-2.1 11.8-2.5 11.4z"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M400.9 119.9c4.7 4.9 17 6.3 23.2 11.7"/>
+  <path fill="#cccccd" fill-rule="evenodd" stroke="#ccc" stroke-width=".8" d="M406.5 134.2s10.2-1.3 13 2.3c-3.9 0-5.2-1-11 1.2 1.7-.9 1.2-2.3 2.1-2.3s-3.7-1.2-4.1-1.2z"/>
+  <path fill="#923f00" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M457 54.8s5.6-4.9 11.7-.4c-2.7 8.1-12.6 5-12.6 5s.3 4.1-.7 6c2 1.6 3.6 6.5 3.6 6.5s10.2-2.5 12.3 2c3.9-.6 6.7 0 6.7 0s7.9-2 10.7-2c2.7 0 11.6 2.3 12.4 3.9.8 1.6 3.8 12.6 5.7 12.4 2-.1-4.7 2.7-6.5-.1-1.8-2.8-1.3 3.6-1.3 3.6s5.5 5.9 6.2 7.2c.6 1.3-3.4 12-.3 19.3-2.8.2-3 3-3 3-.1 3.3-4.2 4.2-4.2 4.2l-1-4.4-2.8 1.6 1.1-3.4s3.8-9.2 4.1-12.1c.4-3-3.4-8.2-6.3-8.2s-5.1 9.3-5.1 9.3-1.5 7-1 7.7l-2-2.3s-1.3 4.3-2.3 5.6c-1 1.3-3 1.8-3 1.8s-1.5-4.3-1-6c.4-1.6 8-8 7.3-12.5-.6-4.6 0-3.5-.2-3.6-.1-.2-3.9-3.5-4-5.3-.2-1.8-5 2.3-11.2 1-1.9 3.3-2 11.6-2 11.6s-.8 10 .6 11.2c1.3 1.1-3.3 3.6-3.3 3.6l-3.3 4.4-1.1-2.6-2.3 1.6 1.3-3.3c0-2.4 3.2-9.2 3.2-15s.4-11.8.4-11.8-6-.3-6 5.9c.3 6.2-1.4 6.5-1 8.3.3 1.8 2 6.9 1.4 8.4-.5 1.4-2.4 2-2.4 2l-.5.8s-6 2.7-6 3.9c.2 1.1 0-3.3 0-3.3l-.4-4.7s3.6-2.3 3.6-8c0-5.8-.8-6.6-.7-8 .2-1.2 1-6 .9-6.5-.2-.4-3.5 1.4-4.5 1.4s1.8-3.5 2.2-6c.3-2.4-3.3 2.4-6.3-.4 1.4-3 3.5-4 3.8-6.2s-2.3 2-4.6.3c.2-2.2 2.5-4.1 2.5-4.1s-1.9-.2-2.6 0c-1.5-.5 1.6-2.8 1.8-6 .1-3.3-1.8-4.6-1.8-4.8 0-.2-3.3-3-3.8-4.1-.5-1.1-.5-2.5-.5-2.5s-5.4 4-11.8-4.4c5.9-5 12.1-1.3 12.1-1.3s1.7-4.6 9.2-4.2c7.5.3 9 4.5 8.7 4z"/>
+  <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M498.3 139.5s13.8.4 14 7.8c.1 7.3-4.2 5.4-4.4 5.4l-10-1.2.3-12z"/>
+  <path fill="#fffeff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M484.9 137.5s17.2-.2 16.2 7.3-5.3 6-5.3 6l-8.3-.7-2.6-12.6z"/>
+  <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M475.2 136.6l10 .9s6 .8 5.7 6.5c-.3 5.7-6.1 5.9-6.1 5.9l-9.7-.6.1-12.7z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M451.9 139.5c-.1 0-13.9.4-14 7.8-.2 7.3 4.2 5.4 4.3 5.4l10.1-1.2-.4-12z"/>
+  <path fill="#00f" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M465.3 137.5s-17.2-.2-16.3 7.3c1 7.5 5.4 6 5.4 6l8.3-.7 2.6-12.6z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M475 136.6l-10 .9s-6 .8-5.7 6.5c.2 5.7 6.1 5.9 6.1 5.9l9.7-.6-.2-12.7z"/>
+  <path fill="#5e0043" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M501.6 219.4s7.1-10.6 10.2-9.4c2.6.9.6 9-.7 9.8l-9.5-.4zm-49 1.9c-2.3-3.2-5.6-11.8-8.6-9.4-2.6.8-.6 9 .6 9.8l8-.4z"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M457.3 200.4s14 8.6 18.5 8.8c4.6.3 19-11.1 19-11.1"/>
+  <path fill="#5e0043" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M458.6 166.8l2.7-3.4 13.4 6.8 13.6-6 2.7 2.8-15.2 10.7-17.2-11z"/>
+  <path fill="#474747" fill-rule="evenodd" stroke="#474747" stroke-linejoin="round" stroke-width="1.1" d="M448 166.6c1 1.3 9.7 11.9 11.3 20.6 1.6 8.7-.9-12-.9-12s10.7 5.3 11 8.6c.4 3.4 5.2-.2 5.4-.8l-31-20.1 4.2 3.7zm52.9-.6s-11.3 14.8-10 31c-2.3-7.8-.4-20.6-.4-20.6l-2.4 1.6s-2.6 11-5.8 12.6c-.6-1.3-.5-1.8-.5-1.8s-3.4 4.5-4.1 5c-.7.4.2 15 .2 15s1.2 10.6 2.5 10.5a45 45 0 00-3.4 1.9l-1.4-28.3 3.2-3.2s4.3-5.1 4.6-10.1c-1.9 1.5-4 2-4 2s-.5 7.1-2.1 8.1c-1.7 1-1.8 2.9-1.8 2.9l-.4-9.3L501 166z"/>
+  <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="1.1" d="M475.1 183.1l2.2 44.6"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M447.7 204.4s5.1 3 7 12.2c16.7-1.2 22 4.7 22 4.7s13.7-6.6 20-5.4c2.3-4.7 8.7-10.7 8.7-10.7"/>
+  <path fill="#b4b6b9" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M440.7 160.7l34.4 22.6 31-21s6.5-3.5 6-6-2.8-1.6-4-1.2c-1 .5-32.4 22.7-32.4 22.7l-33.4-21s-2.4-.9-2.9.7 1 2.4 1.3 3.2z"/>
+  <path fill="#474747" fill-rule="evenodd" stroke="#474747" stroke-linejoin="round" stroke-width="1.1" d="M502.3 154.9s-8.8-3.8-8.8-.5c0 3.2.2 3.5 1.6 5.6 1.4 2.1-1 3.4-1 3.4l-.9-2.3c-.5-1.4-5.2-2.4-5.6-4-.4-1.7 1-4.4-1.9-4.7a5.2 5.2 0 00-6.1 4.4 67.5 67.5 0 01-4.2 10.8l.5-17.2c6.2.4 17.7 1.8 26.6 2.8-2.7-.4 1 .2.9 1-.3.8-1.2 1-1.1.7zm-31.2-4.4c-1.6 0-9.5 1-11.5 2.1-2 1.2 3.3 3 2.6 4.6-.7 1.6-.7 4.7-3.2 4-2.5-.6-11-4.7-11.2-6.2-.2-1.4-2-1.5-2-1.5s24.1-3.2 25.3-3z"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M474.9 148.6v21.1m-16.3-46l-9.8 16.1"/>
+  <path fill="url(#f)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M161.8 129.7s4.9 6.7 4.3 8.6a25 25 0 014.3 7.8" transform="matrix(.86 0 0 .86 337.3 11.7)"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M492.7 122.3s-9.1 12.8-8.8 13.8"/>
+  <path fill-rule="evenodd" d="M446.2 61.4c-.2.7-1.4 1-2.6.7s-2-1.3-1.8-2c.2-.8 1.3-1 2.6-.7s2 1.3 1.8 2zm3.7-.2c.2.7 1.4 1 2.6.6s2-1.3 1.8-2c-.2-.7-1.4-1-2.6-.6s-2 1.3-1.8 2z"/>
+  <path fill="#ff7000" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.1" d="M556.1 326.6s-3.3.6-3.2 1-9.8.5-10 .2c-.2-.3-1.5 1.7-1.5 1.7l1.6-1s2.4 2.6 3.1 2.4c.8-.2-.3 1 0 1.1.1.2.9-.4.9-.4l16.3-.3-7.2-4.7zm6.1 5.1l-13.3.4s-3.4 3-3.6 3.7 2.2 1 2.2 1l.7 2.5 1.7-.6s11.4 1.7 21.8-.6c5.3-1.9 6.2-4.1 2.5-5.5-3.7-1.3-11.9-.9-12-1z"/>
+  <path fill="url(#g)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M208.4 404l28-1.3-5.3-4.4 75.7-3-2.6-6-84.7 3.3 10.2 4.8-23 .6.8 2.4-6-.2s6.6 2.6 6.9 3.7z" transform="matrix(.86 0 0 .86 337.3 11.7)"/>
+  <path fill="url(#h)" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M239.7 249.4c-2.2-1-12-2.4-22.8 4.7l.4 25s16-8.6 23.8-6.6c-.5-7.8-.5-17.8-1.4-23z" transform="matrix(.86 0 0 .86 337.3 11.7)"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M410.4 291.8L353.7 348m82-56l-46 60.7m44-76.5l-61.5 74.5m-1.8-1l6-7m69-29l-23.9 32.8m-1 4.3l.6 12.6m35.2-38.2L431 356.9m20.7-2.5l10.3-16.8m-6.3-3.3l-12.4 14M452 321l-8.5 10.3m-2.4-25.3s-25.7 37.6-25.3 40.7m22.6-45.6c-.6.4-22.2 29-22.2 29m-1.2 9l-4 4.8m-4.9 7.2l-6 7.8"/>
+  <path fill="#8a9396" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M407.6 205.2s-1.7 5.5 0 8.2 12.7 24.9 12.7 24.9 7.5-9.2 10.2-9.5c2.7-.2 1.5 23.9 1.5 23.9s-4.5 4.2-7.2 4c-2.7-.3 6.7 9.4 6.5 17.6s-12.5 49-17 49.7c-4.4.8 2-7.4 1.8-9.7-.3-2.2-1.5-.7-2.5-3.2s1.5-6.2 1-8.7-2.8-2-3-3.7 1.5-2.3 1.2-4.2c-.2-2-3-1.5-2.7-3.3s.5-1 .3-4.2c-.3-3.2-.8 2.2-3.5 2.5-2.8.2-5 6.4-5 6.4s-5.5 7.7-11 4.3c3.3 7 .8 10-.4 10.2s1 5.4-2 5.7 2.2 11.7-1.3 12.7c3.8 1.7.8 4 .8 4s-8.6.7-6.7 11.9c-25.4-9-37.8-24.4-37.6-40 .3-15.7 5.3-29.9 17.4-35 3.5-13 9.5-27 9.5-27s-1-5.7-.3-9.4c.8-3.7 4.3-7.4 4.3-7.4s-.5-9-.3-13.5c.3-4.4 2-6.4 2.2-9 .3-2.4-.7-15 1.8-17.3 2.5-2.3 7.2-2 9.7-3.5 2.5-1.5 5.7-4.2 9-4s6 2.5 6 2.5 12 0 12.8 4.7c.8 4.8-2.5 6.5-2.5 6.5s1.8 6.7-5.7 13z"/>
+  <path fill="#cecfcf" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M396.9 188.1c.4.7-.5 2-2 2.8s-3 .8-3.4.1c-.4-.7.5-2 2-2.8s3-.8 3.4-.1z"/>
+  <path fill-rule="evenodd" d="M394.8 189.3c0 .5-.4.9-1 .9-.4 0-.9-.4-.9-.8 0-.5.5-.9 1-.9s.9.4.9.9z"/>
+  <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M413 197.5s3 13.4-.7 22.8m1.5-28.7s6 7.8 5.2 17.4m-4.6-19.1c.2 0 5 4.1 4.8 7m-3.6-8.8s3.2 2.3 4 4.6"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M414 186.8s-11.5 18.8-10 30.6"/>
+  <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M414.8 186.2s-15.4 9.2-18.2 39"/>
+  <path fill="none" stroke="#000" stroke-width="1.1" d="M413.1 191.8l-6 4.5"/>
+  <path fill="none" stroke="#2b2b2b" stroke-width=".5" d="M390.9 226.9s8.5-35.5 23.7-40.7"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M420.5 238.9s8.2-10.3 10-9.9c2 .4 1.4 23.8 1.4 23.8s-6 4.5-7.4 4.3c-1.3-.2 6.8 11 6.6 15.2l-.3 4.2s0-2.5-2-6.5c-1.8-4-.7-8.5-13-18.6-3-6.2 6 3.8 8 2.3 1.8-1.5-3.5-14.6-3.3-14.8z"/>
+  <path fill="none" stroke="#2b2b2b" stroke-width="1.1" d="M406 181s-3.5 1-4 2.4c-.4 1.4-2.4 2.8-3.5 2.4a18.9 18.9 0 01-3.1-2.2"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M386.5 193.1s-5.2 5.2-2.7 5.8c2.5.6 5.2-4 5.2-4s0 7.9 2.1 6.6l8.6-5.7s2.2-.2 2.7 0c.5.1 6 4.8 9.5 3-2 5.4-4.4 6-4.4 6s-3.7 4.9-8.6 3.8c-4.8-1.1-6-3.2-6-3.2s-4.1.3-5.3-1.5c-1.3-1.9-1.8-3-1.8-3s-2.3 2.4-3 1.3c-.6-1.1 0-7.5 3.7-9z"/>
+  <path fill="none" stroke="#2b2b2b" stroke-width="1.1" d="M415.7 186s-9.6-2.9-12.8 1.8c-3.3 4.7-2.5 7.3-.8 7.8"/>
+  <path fill-rule="evenodd" d="M417.1 185.7c0 1-.8 2-1.8 2s-1.8-1-1.8-2 .8-2 1.8-2 1.8.8 1.8 2z"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M389.4 210s3.9 6 8.5 7.6-3.2 3-7.8 0c-3.4-4.6-2.5-8-2.5-8s1-.8 1.8.4zm33.3 35.2s-11-15.1-14.1-16c-3.1-.8 2.4-1.5 5.7 1.8 3.4 3.2-.9-5.3-.9-5.3l9.3 19.5z"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M388.4 332.8c4.2-1 22.4 10.5 26.5 13.4 4 3 12.7 1 12.7 1s-4 2.5-6.5 3 7.4.7 7.4.7-23.3 6.4-47-6.1c-2.2-9.7 5-11.9 6.9-12z"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M415 249s-3-.6-4.6-2.4c-1.6-1.8-3.8-6.2-6.1-8.1s-14-8.2-18.1-7.8c-4.2.5-5.5-.4-6-1-.5-.5-2.2.3-2 2.5.4 2.1-3.1 6.9-1.9 9.1a63.5 63.5 0 008.5 11.7c1.2.3.4 5.3.4 5.3s5.3 5.4 6.7 5.7c1.3.3 2.7 1.2 2.5 2.5-.1 1.3-5.8 8.2-5.8 8.2s-6.1 3.2-6.2 5c0 1.8 1.5 5.6 6.3 6.8a45 45 0 0018.6-1c.7-1 1.8-7.8 1.3-8.4-.4-.7-3.7-2.7-5.3-2.4-1.6.3-3.1 1.6-3 1.9.2.3-2.3 1.6-2.3.4s4.8-6.6 5.3-6.2c.5.5 7.3 1.2 8.6 4.6s1.3 5.9 4.9 5.5c3.5-.3 8.5-3.6 9-10.5.4-6.9-4-11.5-5.2-12.2-1-.6-4.8-2.9-5.1-4-.3-1-1-4.4-.5-5.2z"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M350.4 279.3s11.6-3 14.6-3c3 .1 14.3 5.4 17.5 8.6 3.3 3.2 10 10.8 14.5 10.2 4.4-.7 5.6-1.6 5.6-1.6l-1.7 3.3s-3.6 1-5.4.5a19 19 0 01-8.8-5c-3.5-3.4-14.3-12.7-23.5-12-9.2.6-14.5 9.7-14.5 9.7s0-4.4.5-5.4c.3-1-2 2-2 2l3.2-7.3z"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-width="1.1" d="M393 288.3c.1 0 3 .8 7.8.8s7.3-2.1 7.3-2.1l-.3-1.9.7-2.6s3.7 3.7 3.6 4.5c0 .7-1.5 1-1.5 1l-.5-1.8-1.3 1.6s-7 5.5-10.7 4.7c-3.8-.8-7.4-3.3-6.4-3.9s1.5-.4 1.4-.4zm-16.8 9.7s-4.2 0-6 .9c-2 .9-2.6 2-3.9 1.8-1.2-.1-2.2-1.8-1.8-2.4.5-1 3-2.4 7.7-2s4 1.7 4 1.7zm14.6 11.4c0-.2-.3-6.1-2.6-8.5a7 7 0 00-6.4-2.1c-1.3.3 4.7 2.9 5.3 4.6.6 1.7 2.5 6.5 2 7.7-.5 1.2-1.5-3.3-5.2-4.6s-8.7-.6-7.6 1 5.1.2 7.2 3.7 3.7 7.2 3.7 7.2l.6-2.5 2-.5.1-4.9 1-1.1z"/>
+  <path fill="#2b2b2b" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M387.8 328.5l-3.8-7.6s-1.2-4.9-4.4-6.2c-3.2-1.4-7.5-1.1-7.5.5-.1 1.7 6.8 3.7 7.3 4.6.5 1 .2 2.4-.4 2.5-.6 0-3.6-1.1-5.2-.7-1.6.3-2.5 2.4-4.8 1.8-2.3-.6-4.2-8-3.4-8.8 1-.7-1.7 1.4-2.2-.6-.5-2 .8-8-.1-8.7s-5.3-3.4-5.3-4c-.1-.4.2-29.6 24.6-5.4-10.5-12.4-14.6-11-16.5-11.2-1.4 0-10.9.9-13.3 13-2.4 12-5.2 4.5-5.2 4.5s-.5 5.2 2 6.7-1.2 5.9-1.2 5.9-4.6-11.2-3.9-16c-.9 3.9-.8 13.5 5 24a78 78 0 0029.9 21.1c8.9-13.6 8.4-15.2 8.4-15.4z"/>
+  <path fill="#8a9396" fill-rule="evenodd" stroke="#2b2b2b" stroke-linejoin="round" stroke-width="1.1" d="M371.9 328.6s4.9.6 6.2 3.1a24 24 0 012 6.4c.8-1.6 1.2-3 2.8-4.2s2.8-1.4 2.8-2.2c-.1-1-5.3-6.4-7.9-6.7-2.6-.3-7.1 2.8-7.1 2.8s-.9 1.2 1.2.8z"/>
+  <path fill="none" stroke="#8a9396" stroke-linecap="round" stroke-width="1.1" d="M383.1 341.4s12.8 5.9 33.8 6.2"/>
+  <path fill="none" stroke="#2b2b2b" stroke-linecap="round" stroke-width="1.1" d="M425.8 282.1s-1.1 10.7-9.4 32"/>
+  <path fill="none" stroke="#2b2b2b" stroke-width="1.1" d="M424.1 288.7s-2.5 7.7-9.3 13.5"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gt.svg
new file mode 100644
index 0000000..724e970
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gt.svg
@@ -0,0 +1,204 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gt" viewBox="0 0 640 480">
+  <defs>
+    <radialGradient id="a">
+      <stop offset=".2" stop-color="#f9f0aa"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </radialGradient>
+    <radialGradient id="d" cx="447.4" cy="308.3" r="16.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="e" cx="451.6" cy="313" r="10.9" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="f" cx="454.1" cy="308.6" r="9.8" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="g" cx="458.4" cy="307.1" r="17.4" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="j" cx="446" cy="252.4" r="13" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="m" cx="477.9" cy="215.3" r=".3" gradientUnits="userSpaceOnUse">
+      <stop offset=".3" stop-color="#a50a0a"/>
+      <stop offset="1" stop-color="#4c0505"/>
+    </radialGradient>
+    <radialGradient id="n" cx="489.1" cy="210.3" r=".3" fx="489.1" fy="210.3" gradientTransform="scale(.97707 1.02346)" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#fff"/>
+      <stop offset="1" stop-color="#fff" stop-opacity="0"/>
+    </radialGradient>
+    <linearGradient id="h" x1="473.9" x2="472.4" y1="259.2" y2="232" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#b07e09" stop-opacity="0"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+    <linearGradient id="i" x1="483.1" x2="485.5" y1="296.7" y2="326.6" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#b07e09" stop-opacity="0"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+    <linearGradient id="k" x1="451.5" x2="455.4" y1="249.5" y2="240.6" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#f9f0aa"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+    <linearGradient id="l" x1="473.3" x2="475.9" y1="237.3" y2="270.4" gradientUnits="userSpaceOnUse">
+      <stop offset=".2" stop-color="#f9f0aa"/>
+      <stop offset="1" stop-color="#b07e09"/>
+    </linearGradient>
+  </defs>
+  <path fill="#4997d0" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M213.3 0h213.4v480H213.3z"/>
+  <g transform="translate(0 40) scale(.66667)">
+    <g stroke="#24420e">
+      <path fill="none" stroke-width=".4" d="M452.1 377.5c2.7-.4 4.2-1.2 6-1.8m2.3-4a13 13 0 013 4.6m-8.1-5.1a15.4 15.4 0 013 4.2m-49.5-136.6c-1 1.6-3.1 2.7-4.8 3.4m-.3-.2c0-1.4-.3-3 0-4.4m-2 5l.7 2m2 1l-2 .3m-4-.9c0 2.6.4 5.6.6 7.9m-1.8-1a6 6 0 001.6 1.9m-4.6 6.4c.5 1 1 2.2 1.3 4m3.7-4.6l-2 1.5m1.7 4.4c-1 .9-2.2 1.5-3.5 2.1m-3.8 40.4a16 16 0 004 4.7m.6 1.7a8 8 0 01-3-1m4.4 8.5l1.7 1m-.4 3.4c1.2.8 2.5 2.3 3.7 3.9m-1.4 2.8c1.4.3 2.5.7 3.2 1m-1 2.5h2m1.3-5.3l-.5 4.2m1 1.6l.4-1.6m4.7 6l-.1 3.2m39.2 28l-1.2 1.5m-2.4-4l-.7-1.7"/>
+      <g stroke-width=".2">
+        <path fill="#406325" d="M486.1 385c-.8-1.3-2-2.1-3.3-2.7-7.7-4-15.4-5.9-24-7.3-2.1-.3-4.1-2.2-6.2-3.2-5-2.3-10.5-3.2-15.3-5.7a7.8 7.8 0 01-2-1.5c-2-2.2-5.5-2.9-7.6-5-8.4-7.8-17.2-15-21.8-25.5-5.6-12.7-12.5-25.8-11.6-40.3.6-9-.7-18.3 1.5-27 3.4-12.9 7.6-25.6 15.4-36.3l-1.3.8a103.6 103.6 0 00-15.4 36.3c-2.3 8.7-1 18-1.5 27-1 14.5 6 27.6 11.5 40.3 4.6 10.4 13.5 17.7 21.8 25.6 2.2 2 5.6 2.7 7.6 5a10 10 0 002 1.5c4.9 2.4 10.4 3.3 15.4 5.7 2 1 4 2.8 6 3.1a76.4 76.4 0 0124.2 7.3 8 8 0 013.3 2.6l1.3-.8"/>
+        <g fill="#67923d">
+          <path d="M406.3 331.6a46.9 46.9 0 01-.2-23.5c6.7 13 4.5 23.7.2 23.5zm45.9 45.4c-7.1.4-20.6 9.3-21.9 11.4 15.1.1 24-7.3 21.9-11.4zm7.5-4.3a60 60 0 01-14-26.5c15 10.8 18.9 24.3 14 26.5z"/>
+          <path d="M454.6 372.8a55.1 55.1 0 01-16-22.8c15.3 8.2 20.3 20.2 16 22.8zM439 366c1-7.8-5.6-24.2-7.5-26-3 16.5 3 27.6 7.6 26zm-27.3-24.3a42 42 0 01.5-21c5.5 11.7 3.3 21.2-.5 21zM398 265a51 51 0 0121-16c-6.7 14.6-18 19.9-21 16z"/>
+          <path d="M398.7 259.3a51.7 51.7 0 0117.4-20c-3.7 15.7-13.7 23.2-17.4 20zm27.9 99.2c-5-6.2-8-23.9-7.3-26.4 11.2 12.5 12 25.2 7.2 26.4zM397.9 322c-7 1.1-21.4-4.6-23-6.3 14.6-3.2 24.4 2 23 6.3zm-2.2-9.7c.8-5.5 8.6-15.8 10.3-16.6-1 12-7.4 18.6-10.3 16.6zM447 371a57.1 57.1 0 00-26.1 13.6c18 .1 28.7-8.7 26.1-13.6z"/>
+        </g>
+        <g fill="#406325">
+          <path d="M406.4 331.5c4.2.2 6.4-10.4-.3-23.4a79 79 0 01.3 23.4zm11.2 20a48.8 48.8 0 00-21.7-11.2c8.9 12.1 19.9 15.1 21.7 11.2zm-24.4-53a57 57 0 00-14.8-24c1.5 17.2 10.6 26.7 14.8 24zm8.4 34.3c-5-3.7-19-5.4-21-4.7 10.2 8.2 20.2 8.4 21 4.7zm-9.4-24.9a42 42 0 00-16.9-13.7c5.5 12.4 14.6 17 16.9 13.7zm2.7-47.5c1-7.6-5.5-23.4-7.3-25.2-2.9 16 2.9 26.7 7.3 25.2zm4.5-15a48 48 0 00-.5-24.3c-6.4 13.5-3.8 24.6.5 24.4z"/>
+          <path d="M404.4 237.8a40.2 40.2 0 003.5-19.4c-7.2 9.7-7 18.9-3.5 19.4zm6-6.1a38.9 38.9 0 009-17.4c-9.7 7-12.2 15.8-9 17.4zm-16 43.2c0 .9-1-8.2-10.1-18.3.4 14.8 6.2 20.4 10 18.3zm32.5 85.8a53.1 53.1 0 00-25.8-6c12.6 10.4 24.9 10.6 25.8 6zm12 5.2c-4.5 1.6-10.4-9.4-7.5-25.9a99 99 0 007.5 26zm13.4 11.2c2 4-6.8 11.4-21.8 11.3 12-5 21.2-9.9 21.7-11.3zm7.3-4.5c5-2.3 1.1-15.5-14-26.4 8.6 13.2 14.5 24.6 14 26.4z"/>
+          <path d="M454.6 372.7c4.2-2.7-.7-14.5-16-22.7 9.5 11.2 16.2 21 16 22.7zm-42.8-31c3.7.2 6-9.3.5-21 .7 11 .4 20-.5 21zM398 264.9c3 4 14-1.3 20.9-15.9a90.6 90.6 0 01-20.9 16z"/>
+          <path d="M398.9 259.3c3.6 3.2 13.5-4.3 17.2-20-8 11.3-15.6 19.8-17.2 20zm27.7 99.1c4.7-1.1 4-13.8-7.3-26.3 5 13.5 8 24.8 7.3 26.3zM397.7 322c1.4-4.3-8.3-9.4-22.8-6.3 12.3 2.2 22 5 22.8 6.3zm-2-9.7c3 2 9.3-4.6 10.4-16.6a68.8 68.8 0 01-10.3 16.6zM447 371c2.6 5-8 13.7-26 13.5 14.2-5.8 25.3-11.7 26-13.5z"/>
+          <path d="M399.4 326.3a45.1 45.1 0 00-17-15.8c5 13.6 14.2 19.1 17 15.8z"/>
+        </g>
+        <g fill="#67923d">
+          <path d="M392.4 274c4-4.7 17.5-9.2 19.6-9-8 10.5-18 12.6-19.6 9zm25 77.5c-1.7 4-12.6 1-21.6-11.1a84.8 84.8 0 0021.7 11.1zm-24.3-53c-4.2 2.7-13.1-6.8-14.7-24 6.6 13.3 13 23.5 14.7 24zm8.4 34.3c-.7 3.7-10.7 3.6-20.8-4.7a74.6 74.6 0 0020.8 4.7zm-9.4-25c-2.4 3.3-11.3-1.2-16.8-13.6 8.2 8 15.5 13.7 16.8 13.6zm2.7-47.5c-4.4 1.6-10.1-9-7.3-25 2.7 13.5 6 24.2 7.3 25zm4.5-14.9c-4.3.3-6.9-10.8-.5-24.3-.8 12.8-.5 23.2.5 24.3zm5-7.6c-3.4-.6-3.7-9.7 3.6-19.4a66.2 66.2 0 00-3.6 19.4zm6-6.1c-3.1-1.7-.7-10.4 9-17.4a66.2 66.2 0 00-9 17.4z"/>
+          <path d="M394.3 274.9c-3.9 2.1-9.6-3.5-10-18.3 5 11.7 8.6 17.8 10 18.3zm32.5 85.8c-.9 4.6-13.1 4.4-25.7-5.9 13.2 4.3 24.3 6.7 25.7 5.9zm-8.2-9.5A41 41 0 01412 332c9 8.7 10.2 18.1 6.8 19.2zm-16.8-25a44.3 44.3 0 01-3-23c8.3 11.9 7.3 22.7 3 23zm-2.7.1c-2.7 3.3-11.9-2.1-16.8-15.8a77.8 77.8 0 0016.8 15.8z"/>
+        </g>
+        <g fill="#406325">
+          <path d="M392.4 274c1.6 3.6 11.4 1.5 19.5-8.9-12 6.8-16.7 9.8-19.5 8.9zm9.3 52c4.3-.3 5.3-11-3-22.8a72.8 72.8 0 013 22.9zm17 25.2c3.4-1 2.2-10.5-6.7-19.2 4.4 9.7 7.2 18 6.7 19.2z"/>
+          <path d="M394.2 291.8a41 41 0 00-4.3-25.6c-4.7 15.4-.2 26.6 4.3 25.6z"/>
+        </g>
+        <path fill="#67923d" d="M394 293.8c-6 1.3-8.7-12-4.1-27.1 1 13.5 2.8 26.1 4 27z"/>
+        <path fill="#67923d" d="M392.7 293.7a53 53 0 019-24.7c2 15.8-4.5 26.3-9 24.7z"/>
+        <path fill="#406325" d="M392.8 293.6c4.4 1.6 10.9-8.8 8.9-24.6-3.5 13.3-7.5 23.8-8.9 24.6z"/>
+        <path fill="#67923d" d="M394.1 303.3a50 50 0 0110.6-23.7c.8 16.2-6.3 25.9-10.6 23.7z"/>
+        <path fill="#406325" d="M394.2 303.4c4.2 2.2 11.3-7.3 10.5-23.5-4.4 12.8-9 22.9-10.5 23.5z"/>
+      </g>
+      <g fill="#ba1f3e" stroke="#511124" stroke-width=".2">
+        <circle cx="396.8" cy="251.3" r="1.1"/>
+        <circle cx="405.2" cy="245.1" r="1.1"/>
+        <circle cx="401.6" cy="241.7" r="1.1"/>
+        <circle cx="392.5" cy="313.1" r="1.3"/>
+        <circle cx="395" cy="297.1" r="1.3"/>
+        <circle cx="408.2" cy="334.5" r="1.3"/>
+        <circle cx="402.4" cy="336.4" r="1.3"/>
+        <circle cx="446.7" cy="367.6" r="1.3"/>
+        <circle cx="449.6" cy="374.7" r="1.3"/>
+      </g>
+    </g>
+    <g stroke="#24420e">
+      <path fill="none" stroke-width=".4" d="M561.1 259c.7.6 1.2.8 2.3 1.9m-6.6-19c0-1.3-.6-3.6-.9-5m3.5 3c0 2-.3 3.8-1.1 5.5m-4.2-.5c1.8 1.6 3.5 3 5.3 3.9m3.8 1.2c.1 2-.1 4-.7 6m.4 1.5l1.3-2.3m-1.9 12.2c1.4.3 2.8 2 3.5 3.5m.5-1.3l1.6-2.2m1.7 30.8a23.9 23.9 0 01-2.4 3.4m-4 0c.8 1.4 1.6 3 2.6 4m2.5 5.9a13.2 13.2 0 01-4.5 4m.2 4.5c-1.1.8-2.5 3-3.7 4.7m8.4-20.2l-2.1.9m-1.4-7.5l1.3 1.1m-9.3 37.4H555m-2-1.8l.7 1.6m-7.8 5.1c-.2 1.9 0 3.7.2 5.6m4.3-9l1 2.2m3.9-.2l-2.5.5m-30.9 25.2l-1 1.8m12-4c-1.5.2-2.8 0-4.1-.2m-5.5 6a27.3 27.3 0 00-3-1m-14.6 2.7c-1 .7-2 2.4-3.1 4m-.6-4.5c-2.4 1.3-3.1 3.7-4.4 5.8m2.8 2.9a52.4 52.4 0 01-5.3-2m16.7-.8c-2.3-1.2-4.7-1-7.1-1.4m10.8-.4c-3.7-.7-7-.6-10.3-.1m7.8-2.6l-1.4-.6m-5.6 5.5l-2.3-1.3m58-49.2c-1.3.8-2.6 2.3-3.8 3.9m1.8-79.6l-2.1-.8"/>
+      <g stroke-width=".2">
+        <path fill="#406325" d="M474.4 384.9a8 8 0 013.3-2.7c7.7-4 15.4-5.8 24-7.2 2.1-.4 4.1-2.3 6.2-3.2 5-2.4 10.5-3.3 15.3-5.7a7.8 7.8 0 002-1.6c2-2.2 5.5-2.9 7.6-5 8.4-7.8 17.2-15 21.8-25.5 5.6-12.7 12.5-25.8 11.6-40.2-.6-9.2.7-18.4-1.5-27a104.8 104.8 0 00-15.4-36.4l1.3.8a103.8 103.8 0 0115.4 36.3c2.3 8.7 1 18 1.5 27.1 1 14.4-6 27.5-11.5 40.3-4.6 10.4-13.5 17.6-21.8 25.5-2.2 2-5.6 2.7-7.6 5a10 10 0 01-2 1.5c-4.9 2.5-10.4 3.4-15.4 5.7-2 1-4 2.8-6 3.2A76.4 76.4 0 00479 383a8 8 0 00-3.3 2.7l-1.3-.9"/>
+        <g fill="#406325">
+          <path d="M553.6 334.6c2.8-7.4 0-24.8-1.4-27-6.7 15.4-3.4 27.6 1.4 27z"/>
+          <path d="M546.5 341.6c2.3-5.6.6-19.3-.4-21-5.6 11.7-3.3 21.3.4 21zm16.8-74.1a47 47 0 00-19.2-14.6c6.2 13.3 16.5 18.2 19.2 14.6z"/>
+          <path d="M561.8 259.5a43.3 43.3 0 00-14.5-16.7c3 13 11.4 19.3 14.5 16.7zm4.7 15c-3.5-4.1-15.2-8-17-7.8 7 9 15.6 10.9 17 7.7zm-2.8 46.3a40 40 0 0020.3-5.7c-12.9-2.8-21.5 1.9-20.3 5.7zm-.1-5.7c0-5.6-6.4-16.8-8-18-.6 12 4.8 19.5 8 18z"/>
+          <path d="M564 301.4a50 50 0 00-10.6-23.6c-.8 16.2 6.3 25.8 10.6 23.6zm-53 75.3a47.7 47.7 0 0022.2 11c-8.8-12.3-20.1-15.1-22.1-11z"/>
+        </g>
+        <g fill="#67923d">
+          <path d="M553.6 334.4c-4.9.6-8.1-11.4-1.4-26.8-.5 14.2.2 25.7 1.4 26.8zm-53.4 43.7a48 48 0 0121.8 11.4c-15 .1-24-7.3-21.8-11.4zm0-8c2-8 15-21.2 17.5-22.1-3.6 17.1-13.7 25.5-17.5 22.2zm21.3-4.2c-1-7.8 5.6-24.2 7.5-26 3 16.5-3 27.6-7.5 26zm21.4-14.5a48.8 48.8 0 0121.7-11.2c-8.9 12.1-19.9 15.1-21.7 11.2zm25.8-53.3c1-6.3 9.7-17.9 11.6-18.9-1.2 13.6-8.3 21-11.6 19z"/>
+          <path d="M557 336.2a50.4 50.4 0 0124.4-5.5c-11.8 9.7-23.5 9.8-24.4 5.5zm10.3-24.5a44 44 0 0117.7-14.4c-5.8 13-15.3 17.8-17.7 14.4zm-1.5-45.6c0-7.6 8-22.7 10-24.2 1.1 16.1-5.7 26.2-10 24.2zm-7-26a40.6 40.6 0 010-20c5.5 11 3.7 20.2 0 20zm-4.1-2.1a49.8 49.8 0 01-10.5-22.1c11.8 9.3 14.4 20.4 10.4 22.1z"/>
+          <path d="M566.3 272.5c-.3.9 3-7.7 14.2-15.3-4 14.3-11 18.3-14.2 15.3zm-34.1 90c7-5.2 26.5-7.7 29.2-6.8-14.2 11.8-28.2 12-29.2 6.7zm14.3-20.9c-3.7.2-6-9.3-.5-21-.7 11-.4 20 .5 21zm16.9-74c-2.7 3.5-13-1.3-19.2-14.7a78.8 78.8 0 0019.2 14.6zm-1.7-8.1c-3.1 2.6-11.3-3.6-14.4-16.7 6.7 9.4 13 16.5 14.4 16.7zm4.8 15c-1.4 3.2-9.9 1.3-16.9-7.7 10.4 5.9 14.5 8.5 17 7.7zm-2.6 46.2c-1.3-3.7 7.3-8.3 20.2-5.5a69 69 0 00-20.2 5.5zm-.4-5.6c-3.2 1.5-8.5-5.9-8-17.9a68.5 68.5 0 008 18z"/>
+          <path d="M563.9 301.6c-4.2 2.2-11.3-7.4-10.5-23.5 4.4 12.8 9 22.9 10.5 23.5zm-52.7 75c2-4 13.1-1.3 22 11a80.3 80.3 0 00-22-11z"/>
+        </g>
+        <g fill="#406325">
+          <path d="M521.5 365.8c4.6 1.6 10.5-9.4 7.6-25.9-2.8 14-6.2 25.1-7.6 26z"/>
+          <path d="M531.8 360.6a55 55 0 004.6-27c-10 13.6-9.4 26.3-4.6 27zM500.1 378c-2 4.1 6.7 11.5 21.8 11.3a80.2 80.2 0 01-21.8-11.3zm.2-8c3.8 3.3 13.8-5 17.4-22.1-8.1 12.4-15.7 21.8-17.4 22zm42.7-18.7c1.8 4 12.7 1 21.7-11.1a84.5 84.5 0 01-21.7 11.1zm25.8-53.3c3.3 2.1 10.3-5.3 11.5-18.8a74.6 74.6 0 01-11.5 18.8zM557 336.2c.9 4.4 12.4 4.2 24.3-5.5-12.5 4-23 6.2-24.3 5.5zm10.3-24.6c2.5 3.4 11.9-1.4 17.7-14.4a75.1 75.1 0 01-17.7 14.4zM566 266c4.3 2 11-8 10-24-4.2 13-8.5 23.3-10 24zm-7-25.9c3.6.1 5.5-9 0-20 .9 10.5.8 19.1 0 20zm-4.2-2.2c4-1.7 1.4-12.7-10.4-22a81.8 81.8 0 0110.4 22zm11.6 34.7c3.2 3 10.2-1 14.2-15.4-7.8 10.1-12.7 15.2-14.2 15.4zm-34 89.9c1 5.2 14.9 5 29-6.7-14.9 4.8-27.4 7.6-29 6.7z"/>
+          <path d="M539.1 354.8a41 41 0 003.6-20.1c-7.5 10-7.2 19.5-3.6 20zm19.6-28.7a44.3 44.3 0 003-23c-8.3 11.9-7.3 22.7-3 23z"/>
+        </g>
+        <path fill="#67923d" d="M531.8 360.5c-4.8-.6-5.3-13.3 4.5-26.8-3.6 13.8-5.4 25.4-4.5 26.8zm35.2-68.3c-1-7.7 4-20.1 6.6-22.5 2.5 14.4-2.7 24-6.7 22.5zm-28 62.5c-3.6-.5-3.9-10 3.5-20a67.5 67.5 0 00-3.5 20zm23.4-104.2c-2.2-6 0-20 1.2-21.8 5.3 12.2 2.6 22.1-1.2 21.8zm-58.1 120.1c2.5-8 16.2-21 18.8-21.9-4.3 17.4-15 25.5-18.8 22zm54.5-41.6a45.1 45.1 0 0117-15.8c-5 13.6-14.3 19.1-17 15.8zm-.1-3c-4.3-.4-5.3-11 3-22.9a72.8 72.8 0 00-3 22.9z"/>
+        <path fill="#406325" d="M567 294c5.2 1.9 9-9.8 6.6-23.9a98.2 98.2 0 01-6.6 24z"/>
+        <path fill="#406325" d="M567.8 293.6c.5-7.5-7-23-9-24.7-2 15.8 4.5 26.3 9 24.7zm-5.2-43.2c3.8.4 6.4-9.4 1.1-21.7a73 73 0 01-1.2 21.7zm-58.1 120.1c3.8 3.6 14.4-4.4 18.7-21.8-8.8 12.3-17 21.6-18.7 21.8zm54.6-41.5c2.8 3.3 12-2.1 17-15.8a77.8 77.8 0 01-17 15.8z"/>
+        <path fill="#67923d" d="M567.7 293.5c-4.5 1.7-10.9-8.7-8.9-24.5 3.5 13.2 7.5 23.7 8.9 24.5z"/>
+      </g>
+      <g fill="#ba1f3e" stroke="#511124" stroke-width=".2">
+        <circle cx="564.6" cy="254.9" r="1.1"/>
+        <circle cx="568.4" cy="266.8" r="1.1"/>
+        <circle cx="569.8" cy="304.3" r="1.3"/>
+        <circle cx="564.6" cy="297.3" r="1.3"/>
+        <circle cx="549.9" cy="337.2" r="1.3"/>
+        <circle cx="556.2" cy="339.9" r="1.3"/>
+        <circle cx="513.8" cy="372.3" r="1.3"/>
+        <circle cx="506.8" cy="377.3" r="1.3"/>
+        <circle cx="557" cy="249.3" r="1.1"/>
+      </g>
+    </g>
+    <g id="b" fill="#8c959d" stroke="#485654" stroke-width=".1">
+      <path d="M434.3 336.3c-.2 1 .8 2.3 2 2 .5 0 .7-.5.2-.5-.4.1-.9 0-1.2-.3a1.7 1.7 0 01-.4-2l-.6.8z"/>
+      <path stroke="none" d="M437.2 338.3c-1 1.2-2.5 1.7-3.4.9-.6-.6-.8-1.2-.5-2l-1 1.3a4.4 4.4 0 001.6 1.8c1.2.5 3-.3 4-1.6.8-1 1.6-2.4 1-3.6a4 4 0 00-2-1.7l-1 1c.5-.2 1.2 0 1.7.4 1.3 1 .5 2.5-.4 3.5z"/>
+      <path fill="#485654" stroke="none" d="M437.2 338.3a4 4 0 01-1.1 1c-.5.2-1 .4-1.5.3a1.5 1.5 0 01-.7-.3 2.4 2.4 0 01-.5-.6 1.6 1.6 0 01-.3-.7c0-.3 0-.5.2-.8l.1.1-1.1 1.2c.3.4.6.9 1 1.2l.7.5a2 2 0 00.8.1 3 3 0 001.6-.5 5.1 5.1 0 001.3-1l1-1.4c.2-.5.3-1 .3-1.6a1.8 1.8 0 00-.2-.8 3 3 0 00-.5-.6 4.2 4.2 0 00-1.4-1h.1l-1 1.1h-.1c.2-.2.5-.2.8-.2a2 2 0 011.6 1.4c.1.5 0 1-.2 1.4a5.1 5.1 0 01-.9 1.2zm0 0c.4-.3.6-.7.8-1.2.2-.4.3-1 .2-1.4a2 2 0 00-.9-1c-.4-.3-1-.4-1.3-.2h-.1l1-1.2a4.2 4.2 0 012 1.6c.2.3.3.6.3 1 0 .5-.1 1-.4 1.6a6.4 6.4 0 01-1 1.4c-.3.5-.8.8-1.3 1.1-.5.3-1 .5-1.7.5a2.2 2.2 0 01-.8-.1 2.7 2.7 0 01-.8-.5 5 5 0 01-1-1.4l1-1.3h.2l-.1.8c0 .2 0 .5.2.7l.5.5.6.3c.5.1 1 0 1.5-.3a4 4 0 001.1-.9z"/>
+      <path fill="#6c301e" stroke="#351710" stroke-linejoin="round" stroke-width=".2" d="M515.2 249.3l-40.1 39.5L434 328l-4.6 5.4c-2 2.3-4.4 5.3-7.2 8-.4.6-1.1.4-1.7.8a23.4 23.4 0 00-5 4.3L403.2 360c-.7.9-1 1.4-.4 2l6.6 8.8c1.2 1.2 2.6 1.8 3.2.8 3.1-5.5 11-13.8 14-20.3 1.7-4 3.9-11.1 5.5-12.8 2-2.2 7.1-7.8 11.8-12.7l1-1 .9-1c23.5-24 50.7-53.1 70.5-73.6l-1-1z"/>
+      <path d="M431.9 328.1c-1.2 0-2-.7-2.9-1.4 1.2.4 2.4.8 3.5.4l-.6 1z"/>
+      <path fill="#b2b6ba" stroke-width=".2" d="M557 220.1l-31.8 26.2c-.3.4-.6.3-.9 0l-2.9-2.4v-.6l1.4-1.4c.2-.2 0-.3-.1-.6l-.6-.6c-.3-.1-.5 0-.7.2l-1.4 1.5c-.7 0-1.3.6-1.4 1.4-19.2 18.7-35.8 35.4-54.9 53.8l-22.6 21.6c-.8 1-4.3 2.9-6.6 4.4a5.6 5.6 0 00-1.8 1.5l-1.8 5.5-2.5 4.2c2.3 2.4 2.2 2.2 3.8 3.7l11.2-11.9.8-1a13.2 13.2 0 00-1.4-1.6 34.1 34.1 0 00-1.2-1l-.6-.6c-.2-.2.2-.5.4-.7 26.5-25.5 55-53.7 78.3-76.6a1.4 1.4 0 001 0l2.8 3.2c.6.6 1.2.6 1.7.4l31.9-28.6z"/>
+      <path fill="#485654" stroke="none" d="M431 330.4h.5a1.5 1.5 0 00.6-.1 124.9 124.9 0 011.5-4.8 1.5 1.5 0 00-.7-.4c.3 0 .5.2.7.4l-.7 2.4-.7 2.4a1.4 1.4 0 01-.6.2 2.9 2.9 0 01-.7-.1z"/>
+      <circle cx="438.2" cy="328.1" r=".6" fill="none" stroke-width=".2"/>
+      <circle cx="434.4" cy="331.9" r=".6" fill="none" stroke-width=".2"/>
+      <path fill="#485654" stroke="none" d="M441 322.4l-1-.8a11.6 11.6 0 01-.8-.8 11.4 11.4 0 011.8 1.6z"/>
+      <path d="M502.2 259l3.5 3.5.6-.6-3.5-3.4-.6.6z"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(-177.2 487 -.2)" xlink:href="#b"/>
+    <g stroke="#24420e" stroke-width=".2">
+      <path fill="#67923d" d="M434 365.4a55.9 55.9 0 00-29.3.9c16.3 8 29.5 4.6 29.2-1zm89 3.3a55 55 0 0129.2 1c-16.3 7.9-29.6 4.5-29.3-1z"/>
+      <path fill="#406325" d="M433.8 365.5c.3 5.5-12.8 8.9-29.1.9 15.3 1 27.8.4 29-1zm89.3 3.3c-.3 5.5 12.8 8.9 29 .9-15.2 1-27.7.4-29-1z"/>
+    </g>
+    <g id="c">
+      <path fill="#b2b6ba" stroke="#485654" stroke-width=".2" d="M508.5 360a237.5 237.5 0 00-76.1-68c3.6-.2 11.5 3.9 14.7 6 23.9 15.4 44.3 35.7 65.6 59.8a35.1 35.1 0 01-3.4 3l-.8-.8z"/>
+      <path fill="#8c959d" d="M510.6 359.8L509 361c-23-29.6-55.1-57.9-76.7-69.1 30.1 13.9 55.4 41.8 78 67.7h.2z"/>
+      <path fill="#485654" d="M510.6 359.8L509 361a302.3 302.3 0 00-16.9-19.7 336 336 0 00-18.3-18.3 284.2 284.2 0 00-19.8-16.8 195.9 195.9 0 00-10.6-7.6c-3.6-2.3-7.3-4.6-11.1-6.6v-.2a136 136 0 0122.5 13.3 210.9 210.9 0 0120 16.6 360 360 0 0118.3 18.5c6 6.4 11.6 13 17.4 19.4zm0 0a899.3 899.3 0 00-17.5-19.4 360.2 360.2 0 00-18.3-18.5 212 212 0 00-20-16.6 134.7 134.7 0 00-22.4-13.2v-.2a200.9 200.9 0 0121.7 14.3A285 285 0 01474 323a336 336 0 0118.3 18.3 302.3 302.3 0 0116.8 19.8l1.5-1.4z"/>
+      <g fill="#fab81c" stroke="#6c301e" stroke-width=".1">
+        <path stroke-width=".2" d="M517.5 355a18.3 18.3 0 00-5.3 2.3c-.2 1.4-2 3-3.6 3.3l-.5-.8a.1.1 0 00-.2 0 7.2 7.2 0 00-.6.3c-.6 0-1.3.2-1.6 1-.4 1 .4 2.3 1.2 3.1 1 .7 1.4 1 2.4 1 1.1-.3 1.7-1.3 2-1.6 3.7 4.5 6.5 7 11.2 10.6 2.1 0 3.2-1.3 2.5-2.8-.2-.5-.8-.8-1.3-.6v-.5c2.4-2.2 3.5-5 .9-9.9-2.2-4-4.7-5.3-7-5.3zm6.3 4.6l1 2c1.5 3 .2 6.6-2.4 7.8h-.2c.4-.7-.8-2.2-1.4-1.7.3-.7-.7-2-1.5-1.7.4-.7-.5-1.9-1.4-1.5.4-.7-.3-1.8-1.3-1.6.3-.9-.4-1.8-1.3-1.6 0-.8-.2-1.2-.5-1.5 1-.8 2.3-2.1 3.4-2.7 2.7-1.2 4.4 1 5.5 2.5z"/>
+        <path d="M524.9 362.8c-.5-.3-.8-.8-.6-1.1.2-.4.7-.5 1.2-.2.5.2.8.7.6 1-.1.4-.7.5-1.2.3z"/>
+        <path d="M524.6 361.8c-.5-.3-.8-.8-.6-1.2.2-.3.7-.4 1.2-.1.5.2.8.7.6 1-.1.4-.7.5-1.2.3z"/>
+        <path d="M524 360.6c-.5-.2-.8-.7-.6-1 .2-.4.7-.5 1.2-.3.5.3.8.8.6 1.1-.1.4-.7.5-1.2.2z"/>
+        <path d="M523.2 359.6c-.5-.3-.8-.8-.6-1.1.2-.3.7-.4 1.2-.2.5.3.8.8.7 1.1-.2.3-.8.5-1.3.2z"/>
+        <path d="M522.2 358.6c-.6-.2-.8-.8-.6-1v-.2c.2.1.7.2.6-.1 0-.2-.1-.3 0-.2l.6.2c.5.3.8.8.6 1.1-.2.4-.7.5-1.2.2z"/>
+      </g>
+      <path fill="#fab81c" d="M511.3 363.6c.6-1.8 2-3.4 3.5-3.8m-3.3 4c1.3.3 3.3-1.2 3.8-2.5m-2.6 4c1.6.4 3.3-1.2 4-2.4m-2.5 4c2 0 3.1-1.3 3.7-2.4m-2.2 4c1.6 0 3.2-1.4 3.6-2.5m-2.2 3.8a4 4 0 003.7-2m-2 3.4c1.6.1 3-.9 3.4-1.8m-1.6 3.3c1.6 0 2.7-1 3.1-2"/>
+      <path fill="#6c301e" d="M511.3 363.6a7.1 7.1 0 011.3-2.3l1-1 1.2-.5a4 4 0 00-1.2.6l-1 1a9.3 9.3 0 00-1.3 2.2zm.2.3c.4 0 .8 0 1.2-.2a4.9 4.9 0 001-.6l1-.8.6-1a2 2 0 01-.6 1 5 5 0 01-1 .9 4.6 4.6 0 01-1 .5 2.1 2.1 0 01-1.2.2zm1.2 1.4h1.2l1-.6a6.2 6.2 0 001.7-1.8 4.7 4.7 0 01-.7 1 5.2 5.2 0 01-.9.9 3.7 3.7 0 01-1 .5h-1.3zm1.5 1.6a4.2 4.2 0 001.1-.2 3.8 3.8 0 001-.5 4.7 4.7 0 001-.8l.6-1a4.5 4.5 0 01-1.5 1.9 3.4 3.4 0 01-2.2.6zm1.5 1.5a4.1 4.1 0 002.1-.8 5.1 5.1 0 001.5-1.6c-.1.3-.3.7-.6 1l-.8.7a4.2 4.2 0 01-1 .5c-.4.2-.8.2-1.2.2zm1.5 1.4a7 7 0 001-.2 4.6 4.6 0 001-.4 3.6 3.6 0 001.6-1.5l-.6 1c-.3.2-.6.5-1 .6a4.5 4.5 0 01-2 .5zm1.6 1.4h1a4 4 0 001-.5l.8-.5c.3-.3.5-.5.6-.8a2.5 2.5 0 01-.5.8 3.6 3.6 0 01-.9.6 3.7 3.7 0 01-2 .4zm1.8 1.5a4 4 0 001-.1 3.3 3.3 0 001.6-1 4 4 0 00.5-.8 3 3 0 01-1.2 1.5 3 3 0 01-1 .3 3 3 0 01-1 0z"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(-176.6 490 -.4)" xlink:href="#c"/>
+    <g stroke="#24420e" stroke-width=".2">
+      <path fill="#406325" d="M409.2 240a52.4 52.4 0 0019.5-17.9c-15.6 4.2-22.7 14.4-19.5 18zm145.8 4.7a50 50 0 00-15.6-19.9c2.8 15.2 12 22.8 15.6 20z"/>
+      <path fill="#67923d" d="M409.2 240c-3.3-3.5 3.8-13.6 19.4-17.8-11 8.4-19.2 16.2-19.4 17.8zm145.8 4.7c-3.7 3-12.7-4.6-15.5-19.7 7.2 11 14 19.5 15.5 19.7z"/>
+    </g>
+    <g stroke="#999270" stroke-width=".2">
+      <path fill="url(#d)" d="M452.2 318.1s-6.2.7-7.9-7.8c-1.8-9.1 5.3-10 5.3-10s8.1-.9 13.2-1l2.2 18-12.8.8z"/>
+      <path fill="url(#e)" d="M453 315.4s-4 .7-4.8-5.6c-.6-4.5 2.2-5.1 2.2-5.1l9.2 1.6v8.2l-6.6.9z"/>
+      <path fill="url(#f)" d="M450.4 304.7s5.9-.4 9-.8l1.3 5.7-7.1.4s-.5-5.1-3.2-5.3z"/>
+      <path fill="url(#g)" d="M449.2 300.4s7.5-1.9 8.5 6.5c.2 2.1-1 7.1-4.7 8.5l13.9-1.5-1.3-15-4.6.4s-10 .3-11.8 1z"/>
+      <path fill="#f9f0aa" d="M452.2 318.1s51.9-3.5 57.2-3.3c15.8-8.6 0-42.5-13.3-61.5 1.5-4.3-29.9-13.9-44-13-1.9 0-3.6.2-5.2.3-7.7.8-7.8 10.7-4.7 17 3 6 30.3 55 11.2 60.3l-1.2.2z"/>
+      <path fill="url(#h)" d="M507.8 273.3a148.3 148.3 0 00-11.7-20c1.5-4.3-29.9-13.9-44-13-1.9 0-3.6.2-5.2.3-7.7.8-7.8 10.7-4.7 17 1 1.8 4.3 8 7.9 15.7"/>
+      <path fill="url(#i)" d="M455 285c5.6 14.6 8.7 30-1.6 32.8l-1.2.3s52-3.5 57.2-3.3c8.6-4.7 7.8-16.8 3.2-30"/>
+      <path fill="url(#j)" d="M447.4 243.5c-3.7 0-4.7 3.6-4.6 5.8.1 6 4.6 6.2 4.6 6.2l6-.3 2.8-12.2-8.8.5z"/>
+      <path fill="url(#k)" d="M447.4 243.5l8.8-.5 1 9.1-7.8.4s2.5-7.3-2-9z"/>
+      <path fill="url(#l)" d="M496.1 253.3c6.7-1 6.6-10 2-13.7-15.5-.5-35.9-.1-50.6 1 1.7 0 6.3.4 6.9 6.5a8.2 8.2 0 01-3 7c-2 1.4-4 1.4-4 1.4h3.6l3-.4c21-2.7 42-1.8 42-1.8h.1z"/>
+      <path fill="#b07e09" stroke="none" d="M458.5 267.4c-.2-.3-.3-.7-.8-.8-.2 0-.6 0-.5-.4h.8l1.6-.2c.4.1.3.6 0 .5-.5 0-.2.5-.1.8l1.3 3c.1.4.4.7.7.7l1.1-.1c.3-.2.2-.6.2-1-.1-.3.5-.2.5 0l.4 1.4c0 .2-.2.1-.4.1l-3 .2c-.3 0-.8.3-1 0 0-.4.6-.2.6-.5l-.3-1-1.1-2.7zm4.8-.3c-.1-.3-.3-.7-.7-.8-.2 0-.6 0-.6-.4h.7l1.7-.2c.3 0 .4.5 0 .4-.3 0-.3.4-.2.7l1.5 3.4c0 .2.2.5.5.6.3 0 .7 0 .7.3 0 .2-.4.1-.6.1a6.6 6.6 0 00-1.6.2c-.2 0-.5 0-.5-.3s.5 0 .6-.4c0-.3-.2-.6-.4-1l-1.1-2.6zm4.5.7c0 .2.4 0 .5 0 .3 0 .6-.1.6-.4a1.7 1.7 0 00-.7-1.2c-.3-.3-.8-.2-1.1-.2l.1.5.6 1.3zm.6 1.6c.2.3.3.7.6 1 .2.2.6.1.8 0 .3 0 .5-.3.4-.5-.1-.7-.5-1.3-1.2-1.5a2.4 2.4 0 00-1 0l.2.5.2.5zm-2-2.4c-.2-.3-.3-.7-.7-1-.2 0-.6.1-.7-.2 0-.3.6-.1.8-.2.9 0 1.7-.3 2.6 0 .7.2 1.4.8 1.5 1.6 0 .4-.3.7-.6.8l.5.1c.6.2 1.1.6 1.4 1.1.2.4.3 1 0 1.4-.4.4-1 .4-1.4.4-.8 0-1.5 0-2.3.2-.2 0-.4-.5 0-.5.3 0 .3-.4.2-.6l-1.3-3zm7.4-1.9c.3 0 .4.3.5.5l.3.9c-.3.2-.5-.2-.6-.4-.1-.2-.4-.5-.7-.4a8.3 8.3 0 00-1.2 0c-.2.2 0 .4.1.6l.6 1.3c.2 0 .6 0 .8-.2 0-.2-.3-.7.2-.6.3.2.2.6.4.9l.5 1.1c-.3.3-.5-.1-.6-.4-.2-.3-.7-.3-1-.3-.2 0 0 .2 0 .3l.6 1.5c.2.3.7.3 1 .3.4 0 .8 0 1-.4.2-.2-.3-.7 0-.8.4 0 .4.4.5.6 0 .3.2.6.3.8 0 .2-.3.2-.4.2l-3 .2c-.4 0-.9.2-1-.2 0-.3.6-.1.6-.6l-.4-1-1.1-2.6c-.2-.3-.4-.6-.8-.7-.2 0-.6 0-.4-.4h1l2.8-.2zm2.3 1.3c-.1-.3-.3-.7-.7-.9-.2 0-.7 0-.7-.4.3-.2.7 0 1 0 .8 0 1.6-.3 2.4 0 .8.2 1.5.9 1.6 1.8 0 .4-.3.7-.7.8-.3 0 .2.1.3.2.7.3 1 .9 1.4 1.5.1.2.5.7.6.2 0-.5.7 0 .5.3 0 .4-.3.6-.7.6-.4 0-.9-.2-1.1-.6-.4-.6-.7-1.3-1.3-1.7-.2-.2-.5-.3-.8-.1v.4l.6 1.2c.2.3.6.3 1 .3.3.1.2.6-.2.5h-1.7c-.3.2-.9 0-.7-.3.3 0 .7-.2.5-.5l-1-2.6-.3-.7zm1.4 1c.2.3.6 0 .9 0 .3 0 .3-.5.2-.7-.1-.5-.4-1-.9-1.2-.2 0-.8-.2-.9.1l.7 1.6v.1zm7.2 1.6c.2.3.3.6.6.7.2 0 .6 0 .7.3 0 .3-.4.1-.6.2a7 7 0 00-1.6 0c-.3.1-.6 0-.6-.3.2-.2.7 0 .7-.4l-.5-1.1-1.1-2.9c-.1-.3-.5-.3-.7-.3-.3 0-.7 0-.7.4 0 .3.2.7 0 .8-.3 0-.4-.3-.5-.5l-.3-1c0-.2.3-.1.4-.1l4.2-.2c.3 0 .5.2.5.5s.3.6.4 1c-.1.3-.5 0-.5-.3-.2-.3-.6-.6-1-.7-.2 0-.6 0-.8.2l.2.7 1.2 3zm3.8-.9c-.2 0-.1.3-.1.4v.8c.1.3.5.3.8.4.2 0 .1.5-.2.4h-1.2c-.3.1-.7-.1-.5-.4.2 0 .4-.1.5-.3v-5c.2-.3.6 0 .6.1l3.6 4.6c.2.2.5.4.8.4.3 0 .4.5 0 .4h-1.5c-.2 0-.5.2-.7 0-.2-.1 0-.4.2-.4.3 0 0-.4-.1-.6l-.6-.8h-1.6zm1.1-.5c.2 0 0-.1 0-.2l-1.3-1.7v2h1.3zm3.1-1.8c-.1-.4-.3-1-.8-1-.3 0-.7-.2-.5-.5h1.7c.7 0 1.4 0 2 .2a4.3 4.3 0 013 3.4c0 .6-.1 1.3-.6 1.6-.8.5-1.7.4-2.5.3l-1.4.1c-.3 0-.4-.5 0-.4.4 0 .4-.5.2-.7l-1.1-3zm2 2.5c.1.3.2.7.5 1h1c.5 0 .7-.5.7-.9a4.3 4.3 0 00-.6-2.1 2.7 2.7 0 00-1.8-1.4h-1c-.1 0 0 .2 0 .4l1.2 3zm-21.1 12.4c0 .3.4.6.8.6.2 0 .7 0 .7.4-.2.2-.5 0-.8 0a8.6 8.6 0 00-1.5.2h-.9c-.2 0-.2-.4.1-.4.3 0 .6-.1.7-.4 0-.3-.2-.6-.3-.8l-1.2-2.8c0-.3-.4-.3-.7-.3-.2 0-.6.1-.7-.2 0-.3.5-.2.7-.4l1-.3c.2 0 .3.1.4.3l1.7 4zm.7-4.5h2c.4 0 .2-.5.4-.5.4 0 .4.5.4.7a.5.5 0 01-.6.6H475l.5 1.2.6-.2a2.8 2.8 0 012.6 1.6c.2.4.3 1 0 1.5-.4.5-1 .6-1.6.6-.5 0-1-.1-1.4-.6-.1-.2-.1-.7.2-.6.4 0 .7.2.7.6.1.2.5.1.7.1.3 0 .6-.2.6-.6 0-.4-.2-1-.5-1.3-.2-.4-.7-.7-1.2-.7l-.9.1c-.3 0-.3-.3-.4-.5a23.9 23.9 0 01-.7-1.9s.1-.2.2-.1zm6.9 1c-.2-.4-.4-.9-.9-1-.2 0-.7-.2-.4-.4h1.6a3 3 0 012.1.1 4.3 4.3 0 013 3.4c0 .6-.1 1.2-.7 1.5-.7.5-1.6.4-2.4.4l-1.3.2c-.3 0-.4-.5 0-.5s.3-.4.2-.7l-1.2-3zm2 2.4c.2.4.3.8.6 1 .3.2.6.1 1 0 .4 0 .6-.5.6-.9a4 4 0 00-.7-2.1 2.6 2.6 0 00-1.8-1.3 3 3 0 00-1 0v.3l1.3 3zm6.4-4.2c.3 0 .4.3.5.5 0 .3.2.5.3.8-.2.3-.5 0-.6-.3-.1-.2-.3-.5-.6-.5a9.7 9.7 0 00-1.3 0c-.2.2 0 .5 0 .6l.6 1.4c.3 0 .6 0 .8-.2.2-.2-.2-.7.2-.6.4 0 .3.5.4.8l.5 1.1c-.1.4-.5 0-.6-.3-.1-.3-.5-.3-.8-.3-.2 0-.4 0-.2.2l.6 1.5c.2.4.7.3 1 .3.4 0 .8 0 1-.3.2-.2-.2-.6 0-.8.4 0 .5.3.5.5l.3 1c0 .1-.3 0-.4 0l-3.1.2c-.3 0-.7.2-.9 0-.2-.5.5-.3.6-.6l-.3-.9-1.1-2.9c-.2-.3-.4-.6-.8-.7-.2 0-.6 0-.4-.4h1l2.8-.1zm-27.2 14.3c.1.5.6.7 1 .8.8.2 1.7.5 2.2 1.1.3.4.5.9.5 1.4 0 .5-.5.9-1 1a2.5 2.5 0 01-1.7-.1c-.2-.1-.1.4-.4.2-.3-.1-.2-.5-.4-.8a9 9 0 00-.3-1c0-.3.4 0 .5.2.3.6.9 1 1.6 1.1.4 0 .8-.2.8-.6 0-.5-.4-1-.8-1.2-.7-.3-1.4-.4-2-.8a2 2 0 01-1-1.6c0-.4.4-.8.8-.9a2.6 2.6 0 011.6 0c.2 0 .3-.3.6-.1 0 .2 0 .4.2.6l.3.9c-.2.2-.5 0-.5-.2-.3-.4-.6-.8-1-.8s-.8 0-1 .3v.5zm6.6-1.7c.4 0 .4.3.5.5 0 .3.2.6.3.8-.2.3-.5 0-.6-.2-.1-.2-.3-.5-.7-.5h-1.2c-.2.2 0 .4 0 .6l.5 1.4c.3 0 .6 0 .8-.2.2-.2-.2-.6.1-.7.4 0 .4.4.5.7 0 .4.3.8.5 1.3-.2.3-.6 0-.6-.3-.1-.3-.5-.4-.8-.3-.2 0-.4 0-.3.2l.6 1.5c.1.3.4.3.7.3.4 0 .9 0 1.2-.3.2-.2 0-.6 0-.8.3-.2.6 0 .6.3l.2 1c0 .2-.3.2-.4.2l-3 .2c-.4 0-.8.3-1 0 0-.4.5-.3.6-.6 0-.3 0-.5-.2-.8l-1-3c0-.3-.3-.6-.7-.6-.2 0-.6-.2-.4-.4h1l2.8-.3zm4.2 4.2c.1.3.3.6.6.7.3 0 .7-.1.8.2 0 .4-.5.2-.7.2a6.3 6.3 0 00-1.6.1c-.2 0-.5.2-.6-.1 0-.4.5-.2.6-.4l-.1-.8-1-3c-.2-.3-.3-.7-.7-.7-.2 0-.6 0-.5-.4.1-.2.5 0 .7 0 .7 0 1.4-.3 2.2-.2a2 2 0 011.7 1.2c.2.4.2 1 0 1.3-.5.4-1.1.5-1.7.6-.2 0 0 .2 0 .3l.3 1zm-.5-1.8h.6c.3-.1.5-.4.4-.7a2.2 2.2 0 00-.5-1.2c-.3-.3-.8-.3-1.1-.2-.2.1 0 .3 0 .5l.5 1.6zm6.1 1.5c0 .2.2.6.5.6.2 0 .7 0 .7.3s-.5.2-.7.2a7 7 0 00-1.6.1c-.2 0-.5 0-.5-.3.2-.2.7 0 .7-.4l-.3-1.2-1-2.9c0-.3-.4-.3-.7-.2-.2 0-.6 0-.7.3v.8c-.2.2-.4 0-.4-.3a6.6 6.6 0 00-.4-1c0-.3.3-.3.5-.3l4.1-.2c.3 0 .5.2.5.5l.4 1c-.1.2-.5 0-.5-.2-.2-.3-.5-.7-1-.8-.2 0-.5 0-.8.2l.2.6 1 3.2zm2.1-3.3c-.1-.3-.2-.7-.6-.8-.2 0-.6 0-.6-.4.1-.2.4 0 .6 0l1.8-.2c.3-.1.5.4.2.4s-.6.2-.5.5l.5 1.6.7 2.2c0 .2.3.4.5.4.3 0 .7 0 .6.4h-.7l-1.6.2c-.2 0-.5-.2-.4-.4.2-.1.6 0 .6-.4l-.3-1.2-.8-2.3zm5.8-1.6c.3 0 .3.3.4.5l.2.8c-.1.3-.5 0-.5-.2-.1-.3-.3-.6-.7-.6a9.7 9.7 0 00-1.2 0c-.2.2 0 .5 0 .6l.5 1.4c.2 0 .5 0 .8-.2.2-.2-.2-.6.1-.7.4 0 .4.5.4.7l.5 1.3c-.1.3-.5 0-.5-.2-.1-.3-.5-.4-.8-.4-.1 0-.5 0-.3.2l.5 1.5c.1.3.4.4.7.3.4 0 .9 0 1.2-.2.2-.2 0-.6.1-.9.3-.2.5.1.5.4a9.3 9.3 0 00.3 1c0 .2-.3.2-.5.2l-3 .1c-.3 0-.7.2-1 0-.1-.4.5-.3.6-.5a1 1 0 00-.1-.8l-1-3c0-.3-.3-.7-.7-.7-.2 0-.6-.2-.4-.4h1l2.9-.2zm2 1c-.1-.4-.4-.7-.8-.7-.3.1-.5-.6 0-.4h1.5l.7.9 2.1 2.9v-.3l.4-3.6c.2-.2.7 0 1-.2.3 0 1 0 .8.4-.4 0-.8.2-.6.6l1.2 3.6c0 .4.4.6.8.5.3 0 .3.6 0 .5H494c-.3.1-.8.1-.6-.3.3 0 .8-.2.5-.6l-1-3.2c.1.1 0 .3 0 .4l-.2 3-.1.8c-.3.1-.4-.1-.5-.3l-2.9-3.7.2.3c.3 1 .5 2 .9 2.9 0 .4.5.5.8.5.4.2.1.5-.2.4h-1.5c-.3 0-.3-.4 0-.4.5 0 .4-.5.2-.8l-1-3.3zm8.7.8c0 .2.4 0 .5 0 .3 0 .7 0 .7-.4 0-.5-.2-1-.5-1.2-.4-.3-.8-.2-1.2-.2l.1.5.4 1.3zm.5 1.6l.4 1c.3.2.6.1.9.1.2 0 .5-.2.4-.5 0-.6-.3-1.3-.9-1.5a2.4 2.4 0 00-1 0v.3l.2.6zM496 288c-.1-.4-.2-.8-.6-1-.2 0-.6 0-.6-.3s.5 0 .7-.1c1 0 1.8-.3 2.7 0 .7.2 1.3.9 1.3 1.6 0 .4-.3.7-.7.9 0-.2.4 0 .5 0 .5.2 1 .6 1.2 1.1.2.5.3 1 0 1.4-.4.4-1 .4-1.5.4l-2.3.1c-.3 0-.4-.5 0-.4.3 0 .4-.4.2-.7l-.9-3zm5-.2c0-.3-.2-.8-.6-1-.2 0-.6 0-.6-.3.2-.3.6 0 1-.1h2c.8 0 1.5.6 1.7 1.4.2.4 0 1-.3 1.2l-.5.2c.6.2 1.1.7 1.4 1.2l.5.8c.3.2.3-.1.3-.3.4-.2.6.3.4.6-.1.4-.7.5-1 .4-.4 0-.6-.3-.8-.6l-1-1.7a.9.9 0 00-.9-.2v.5l.5 1.1c.1.4.5.4.8.5.4 0 .4.5 0 .4h-1.8c-.2 0-.6.2-.7 0-.2-.5.4-.3.6-.6l-.2-.8-.8-2.7zm1.3 1c.1.2.6 0 .8 0 .3 0 .5-.3.4-.5 0-.5-.2-1-.5-1.3-.3-.2-.7-.2-1-.1-.2 0-.1.3 0 .5l.3 1.3zm7-2.6c.2 0 .3.3.3.5 0 .3.2.5.3.8-.2.3-.5 0-.5-.2-.2-.2-.3-.6-.7-.6a9.5 9.5 0 00-1.3 0c-.2.1 0 .4 0 .6l.4 1.3h.8c.3-.2-.1-.7.2-.8.4 0 .4.4.4.7 0 .4.3.9.4 1.3-.1.3-.5 0-.5-.2 0-.3-.4-.5-.7-.4-.1 0-.5-.2-.4 0l.5 1.7c0 .3.4.3.7.3.4 0 .9 0 1.2-.2.3-.2 0-.6.1-.8.3-.2.6 0 .5.3l.2 1c0 .2-.3.2-.4.2h-3.1c-.3 0-.6.2-.8 0-.3-.4.3-.3.4-.5.2-.2 0-.5 0-.7l-.9-3.1c0-.3-.3-.7-.6-.7s-.6-.1-.5-.4h1l3-.1zm-32.9 13.1c-.1-.4-.2-.8-.6-1-.3 0-.7 0-.5-.3.3-.2.6 0 1-.1.8 0 1.6-.2 2.4 0a3.5 3.5 0 012.6 2.3c.2.8.3 1.6-.2 2.3-.5.6-1.4.8-2.2.8-.7 0-1.3 0-1.9.2-.2.1-.6-.1-.4-.4.3 0 .7-.2.6-.5l-.4-1.5-.4-1.8zm1.6 2.5c.1.3.2.7.4.9.3.2.7.1 1 0 .4 0 .8-.4.9-.9a4 4 0 00-.4-2.2 2 2 0 00-1.5-1.2 3 3 0 00-1.1 0c-.1 0 0 .2 0 .4l.7 3zm7.1-4.5c.3 0 .3.3.4.5l.2.9c-.1.2-.5 0-.5-.2-.1-.3-.3-.6-.6-.6a9.3 9.3 0 00-1.3 0c-.2.1 0 .4 0 .6 0 .5.2 1 .3 1.4.3 0 .6 0 .8-.2.2-.2-.1-.6.2-.7.4 0 .3.5.4.7 0 .4.3.8.3 1.3 0 .3-.5 0-.5-.2 0-.4-.4-.5-.7-.4-.1 0-.5-.1-.3.1 0 .5.2 1 .4 1.6 0 .3.4.3.7.3.4 0 .9 0 1.2-.3.2-.2 0-.6.2-.8.3-.2.4.1.4.4 0 .3 0 .6.2 1l-.5.1-3 .2c-.3 0-.6.2-.9 0-.2-.2.1-.4.4-.4.3-.1.2-.5.2-.7l-.8-3.2c-.1-.3-.3-.7-.6-.7s-.6-.1-.5-.4l1-.1 2.9-.2zm6.5 4.1c0 .3.3.6.6.6.2.1.6 0 .7.3.1.3-.4.2-.6.2l-1.7.1c-.3 0-.6.1-.8 0-.3 0-.2-.4.1-.4.3 0 .6-.1.7-.4l-.1-.8-.7-2.8c0-.3-.4-.3-.6-.3-.2 0-.6.2-.7-.1 0-.4.5-.3.7-.4l1.1-.4c.2 0 .3.1.3.3l1 4.1zm3.7-3.3c0-.4-.3-.8-.7-.8-.3 0-.7 0-.8.3a1 1 0 00.4 1l.9.5.2-.6a1.4 1.4 0 000-.4zm.8 3c0-.6-.5-.9-1-1-.2 0-.4-.3-.5-.2a1 1 0 00-.4 1c.2.6.5 1 1 1 .4.1.8 0 1-.4a1 1 0 000-.5zm1-.3a1.2 1.2 0 01-.6 1.3 2.4 2.4 0 01-2 .2 1.7 1.7 0 01-1.2-1.3c0-.4.1-1 .6-1.3 0 0 .4-.1.1-.2-.5-.2-1-.6-1-1.2-.2-.5 0-1 .5-1.3a2 2 0 012.6.7c.2.4.2.9 0 1.2l-.6.5c.5 0 1 .4 1.2.8.2.1.3.4.3.6zm3.2.5c.2 0 .5 0 .5-.4.1-.1 0-.6.3-.5.3 0 .2.3.3.6 0 .4 0 .8-.4 1.1-.2.2-.5.1-.8.1h-1.7c-.2 0-.5.2-.7 0-.2-.2 0-.5 0-.7.2-.7.6-1.2 1-1.6.4-.3.8-.6.9-1.1a2 2 0 00-.3-1.2 1 1 0 00-1.4-.3c-.3.1-.4.5-.3.7.2.2.6 0 .7.4.2.2 0 .6-.3.6-.4 0-.8-.3-1-.7a1.2 1.2 0 01.6-1.4c.5-.3 1.1-.3 1.7-.2.5.2 1 .6 1.2 1.2.1.4.1.9-.1 1.3-.4.7-1.1 1-1.7 1.7-.1.1-.2.3-.1.6 0-.3.4-.2.5-.2h1zm4-.4c0 .3.2.6.5.7.2 0 .6 0 .7.2.1.3-.3.3-.5.3h-2.7c-.2-.1 0-.5.2-.4.3 0 .6-.1.7-.4v-.8l-.7-2.8c0-.3-.3-.3-.5-.3-.3 0-.6.2-.7 0-.2-.5.3-.4.5-.5l1.2-.4c.2 0 .3.1.4.3l.8 4.1z"/>
+    </g>
+    <g fill="#448127" stroke="#34541f" stroke-width=".2">
+      <path fill="url(#m)" stroke="#4c0505" d="M475.8 219.4L472 224c-1.2 5.2 1.8 9.2 7.7 12.6 4.7 3 13.5 3.7 16.3 1.3l-13.7-13-6.5-5.4z"/>
+      <path d="M503.6 354.3a322.5 322.5 0 00-2-2.5 100.5 100.5 0 01-32.7 28.6c15.1-4.3 25-15.2 34.7-26.1zM488 390a460 460 0 0118.2-32.3 274.3 274.3 0 00-2.1-2.7c-7.3 12.2-16 26.7-16 35zm42-114.5a62 62 0 00-4.3-13 126.5 126.5 0 00-43.8-44v-.3h.3l-.2-.1h.5l-.2-.3h.4l-.3-.4h.4l-.3-.3h.5l-.3-.4h.4l-.4-.3.6-.1-.5-.3.5-.1-.4-.3.6-.2-.5-.3.6-.3-.6-.4.7-.2-.7-.3.6-.4h-.8l.5-.7h-.7l.3-.5h-.6l.3-.5-.7.1.3-.6-.6.4.2-.7-.7.4.1-.7-.5.5v-.7l-.5.5v-.7l-.5.6v-.7l-.4.6-.2-.7-.3.6-.2-.7-.3.8-.2-.8-.3.8-.2-.7-.2.6-.1-.5-.3.7-.2-.7-.2.8-.3-.7-.2.8-.3-.7v.8l-.4-.6v.8l-.5-.6v.7l-.4-.3.2.7-.5-.3.2.7-.4-.3.1.6h-.4l.2.4h-.3l.2.4a9 9 0 00-.4 3.5c0 .2.6.4.7.6.3.4.2.6.2.6-1.6 2.6-3 4.6-3.1 7.6 1.2-1.6 2.6-3.6 4.4-3.6-.9 1.5-1.3 6.1-.3 6.9l.8-1.4c0 1 .1 1.8.4 2.3l1-1.7c0 1.5.2 2.7.6 3.3a6 6 0 011.6-1.6c-.2.9-.5 1.7-.4 2.7l2-2.5c-.4 1.6 0 2.8.4 4.5.4-2 .6-2.3 1.5-3.1.1 1.9-.2 3.6.2 4.7.8-1.7 1.4-1.5 2-2.6-.2 1.6-.5 3.3 0 4.7a4.5 4.5 0 011.9-2.6c0 2.2.5 1.8-.8 3.7.6.2 2.5-.4 3.6-.9-.5 1.2-.4 2.1-.9 3 1-.6 2-1.5 2.9-2.4-.4 1.4-1.5 2.8-1 4.1.3-1.3 1.3-2.3 2.3-2.5-.2.7-.3 2.2-1.3 2.9 2.4.2 3.4-1.4 4.6-2.7-.1 1.4 0 2.4 1.6 4.3-.3-2.4.2-1.9 1.3-3.3.6 2.1 1.2 4.4 3.4 6-1-2.3-1-3.5-.6-4.9.3 1.5 1.7 3.3 2 4.7.3-1.6.5-3.1 1-4.1a20.2 20.2 0 011.4 5.6c.5-1 .9-2 1.1-3.1 19.8 20.6 24.2 46.8 2.6 74.5 7.7-5.2 9.7-13.5 14-20.6-4.2 9.3-6 19.7-13.5 27.4 7.2-6.2 8.7-11.9 13-17.9-4.5 12.5-11 26.2-19.8 38.8a690.6 690.6 0 014.8 5.2l4-6.9c9.4-15.4 24.7-37.5 17-71.1z"/>
+    </g>
+    <path fill="#eac102" stroke="#a08307" stroke-width=".2" d="M473.2 215.3c-1 .2-1.4.6-2.1 1.4.9.2 1.6.3 2.5.3.2 0 .3-.3.3-.6l-.2-1c0-.2-.6-.1-.8 0l.3-.1z"/>
+    <path fill="#a08307" d="M471 216.7a9.9 9.9 0 011-.3 9.8 9.8 0 011.2-.2 9.8 9.8 0 01-1 .3 10 10 0 01-1.2.2z"/>
+    <circle cx="477.7" cy="215.4" r=".8" stroke="#000" stroke-width=".1"/>
+    <circle cx="477.9" cy="215.3" r=".3" fill="url(#n)"/>
+    <g fill="#34541f">
+      <path d="M488.2 389.7a83.4 83.4 0 011.5-4.4 96.2 96.2 0 011.8-4.4c1.2-2.9 2.7-5.7 4.1-8.4a199.6 199.6 0 014.7-8.2 354.4 354.4 0 012.4-4l2.5-4-2.4 4a400 400 0 00-2.4 4.1l-4.6 8.2a133.7 133.7 0 00-4.2 8.4 98.1 98.1 0 00-1.8 4.3 82.7 82.7 0 00-1.6 4.4zm-18.9-9.5a75.8 75.8 0 005-2.3 72.3 72.3 0 004.6-2.7 72 72 0 008.8-6.5 84.7 84.7 0 007.7-7.5 113.6 113.6 0 003.6-4.1l3.4-4.3a153.8 153.8 0 01-3.3 4.3 111.9 111.9 0 01-3.6 4.2 81.9 81.9 0 01-7.7 7.6 70 70 0 01-8.8 6.4 71.3 71.3 0 01-4.7 2.6 77 77 0 01-5 2.3zm37.3-29.3a138.7 138.7 0 004.3-6.7l4-6.8a341.8 341.8 0 003.7-7l3.7-7-1.7 3.5-1.8 3.6a256 256 0 01-3.7 7 160.5 160.5 0 01-4 6.8 93.5 93.5 0 01-4.5 6.6zm6-25.1a58.4 58.4 0 004.6-6.4 60.2 60.2 0 003.8-7 72.6 72.6 0 005-15l.4-2a61 61 0 00.7-6 52 52 0 000-7.9 50.6 50.6 0 00-1.3-7.8 53.4 53.4 0 00-2.4-7.6 53.5 53.5 0 012.5 7.5 50.5 50.5 0 011.3 7.9c.2 2.6.2 5.3 0 8a61.3 61.3 0 01-.6 6 90.3 90.3 0 01-.4 1.9 72.7 72.7 0 01-5 15 59.9 59.9 0 01-4 7 58.2 58.2 0 01-4.7 6.4z"/>
+      <path d="M510.9 320a36 36 0 004.9-5.8 52 52 0 003.8-6.6 96 96 0 003-7c.4-1.2 1-2.4 1.3-3.6l.4-.9.3-.9.6-1.8c.5-2.5.7-5.1.8-7.7a45.8 45.8 0 00-.6-7.7c-.4-2.5-1-5-1.7-7.5a80.2 80.2 0 00-2.6-7.3 80.3 80.3 0 012.7 7.3 57.4 57.4 0 011.7 7.5 46 46 0 01.6 7.7 41.4 41.4 0 01-.7 7.7l-.6 1.9-.3.9-.4.9-1.3 3.6a96 96 0 01-3.1 7 51.6 51.6 0 01-3.8 6.6 36 36 0 01-5 5.8z"/>
+      <path d="M505 349.2c1.3-1.6 2.4-3.3 3.6-5l1.8-2.5 1.7-2.5a68.8 68.8 0 003-5.4l2.6-5.5c1.8-3.7 3.5-7.4 5-11.3a75.3 75.3 0 003.5-11.7c.8-4 1.4-8 1.9-12.1.4-4.1.4-8.2 0-12.3a52.4 52.4 0 00-2.7-12 72.8 72.8 0 00-5.1-11.1 72.8 72.8 0 015.2 11.1 52.4 52.4 0 012.7 12c.5 4 .4 8.2 0 12.3-.4 4-1 8.1-1.8 12.1a75.5 75.5 0 01-3.5 11.8 145.1 145.1 0 01-5 11.2l-2.7 5.5a67.3 67.3 0 01-3 5.4c-.5 1-1.1 1.7-1.7 2.6l-1.8 2.5-3.6 5z"/>
+      <path d="M507.8 352.3l7-11.6a200.5 200.5 0 006.4-11.9 82 82 0 005-12.5c.7-2.2 1.2-4.3 1.7-6.5a59.3 59.3 0 00.6-3.4 127.7 127.7 0 001.4-16.8c0-4.5-.4-9-1.2-13.4a57.5 57.5 0 00-4-12.9 54 54 0 00-7-11.5 54 54 0 017 11.5 57.6 57.6 0 014.1 12.9 73.4 73.4 0 011.2 13.4c0 4.5-.3 9-.9 13.5a134 134 0 01-.4 3.4 58.8 58.8 0 01-.6 3.3 74.3 74.3 0 01-1.7 6.5 82 82 0 01-5 12.6c-2 4-4.3 8-6.5 11.8a442.5 442.5 0 01-7 11.5zM480 220.8h1.4a18.7 18.7 0 014.1 1.3c1.7.8 3.4 1.8 4.9 3a35.8 35.8 0 014.3 3.7 45.3 45.3 0 011.8 2.1l1.8 2.3a60.9 60.9 0 00-1.8-2.2 42 42 0 00-2-2 37.8 37.8 0 00-4.2-3.8 26.8 26.8 0 00-4.9-3 18 18 0 00-5.4-1.4z"/>
+    </g>
+    <g fill="#448127">
+      <path d="M496.4 231.6s3 1.8 4.7 4.4c0 0-4.7-.9-8-4.6"/>
+      <path fill="#34541f" d="M496.4 231.6a14.1 14.1 0 012.6 1.9 13 13 0 012.2 2.4l.1.3h-.2a14.5 14.5 0 01-2.3-.8 15.7 15.7 0 01-2.1-1c-1.4-.8-2.6-1.8-3.7-3a15.2 15.2 0 003.8 2.8 18.3 18.3 0 002 1 14.4 14.4 0 002.3.7v.2a11.2 11.2 0 00-1-1.3l-1.2-1.2a17.7 17.7 0 00-1.2-1 18.6 18.6 0 00-1.3-1z"/>
+      <path d="M489.6 230.7s7.2 4.6 8.2 5c0 0-1.6-3.5-5-5"/>
+      <path fill="#34541f" d="M489.6 230.7l4.1 2.5a139.9 139.9 0 003.1 1.8l1 .6v.1a10.7 10.7 0 00-1-1.5l-1.1-1.4a10.7 10.7 0 00-1.4-1.2l-1.5-.9a8.4 8.4 0 011.6.9 11.1 11.1 0 013.5 4l.2.3-.3-.1-2.1-1.2-2-1.3a151.6 151.6 0 01-4.1-2.6z"/>
+      <path d="M492.5 228.4s3.7 1.6 4.6 4.3c0 0-6.8-2.8-8-4.3"/>
+      <path fill="#34541f" d="M492.5 228.4a10.7 10.7 0 012.8 1.6 7.2 7.2 0 011.1 1.2l.8 1.5v.2h-.2a79.6 79.6 0 01-2-1 49.8 49.8 0 01-2.1-1 34 34 0 01-2-1.1l-1-.6-.8-.8.9.7 1 .6 2 1a84.2 84.2 0 004.1 2h-.1a4.8 4.8 0 00-.8-1.3 7.8 7.8 0 00-1-1.2 12.5 12.5 0 00-2.8-1.8z"/>
+      <path d="M486.8 231.3s6.6 4.7 8.6 4.7c0 0-2-3.3-5.4-4.7"/>
+      <path fill="#34541f" d="M486.8 231.3a127 127 0 004.1 2.6 35 35 0 003.3 1.7l1.2.3-.1.2a15.5 15.5 0 00-2.3-2.8l-1.4-1.1a11 11 0 00-1.6-1c1.1.5 2.2 1.2 3 2a12.8 12.8 0 012.5 2.8v.1h-.1a3.7 3.7 0 01-1.3-.3 13.7 13.7 0 01-1.1-.5 33.3 33.3 0 01-2.1-1.2 63.9 63.9 0 01-2.1-1.4 56.3 56.3 0 01-2-1.4z"/>
+      <path d="M486.8 232.7s3.4 3 5.4 3c0 0-2-3.3-5.4-4.8"/>
+      <path fill="#34541f" d="M486.8 232.7a31.2 31.2 0 002.5 1.8l1.4.7a5.3 5.3 0 001.5.4l-.1.1a12.4 12.4 0 00-1-1.4 13.3 13.3 0 00-2.7-2.5 11 11 0 00-1.6-.9c1.1.5 2.2 1.1 3 2a12.9 12.9 0 012.5 2.7v.2h-.1c-.6 0-1-.2-1.6-.4a11.4 11.4 0 01-1.4-.8l-1.2-.9a17.6 17.6 0 01-1.2-1z"/>
+      <path d="M485 226.2s7.2 5.1 8 7.9c0 0-6.4-3-7.6-4.5"/>
+      <path fill="#34541f" d="M485 226.2a51.6 51.6 0 012.3 1.7 51 51 0 012.2 1.8 25.7 25.7 0 012 2l1 1 .7 1.4v.2l-.2-.1a77 77 0 01-2-1 50.3 50.3 0 01-2-1 34.8 34.8 0 01-1.9-1.2 15.4 15.4 0 01-1-.7 4 4 0 01-.7-.7l.8.7a36.7 36.7 0 003 1.7 87.3 87.3 0 004 2l-.2.1a4.6 4.6 0 00-.7-1.2 12.2 12.2 0 00-.9-1.1l-2-2a51.1 51.1 0 00-2.1-1.9 71.2 71.2 0 00-2.3-1.7z"/>
+    </g>
+    <g stroke="#24420e" stroke-width=".2">
+      <path fill="#406325" d="M445 370.3a42.2 42.2 0 01-20.4 4.8c10-8.2 19.7-8.4 20.4-4.8zm69.8 4.5c5.2 4.7 21 8 23.5 7.4-10.6-10.7-22.1-11.8-23.5-7.4z"/>
+      <path fill="#67923d" d="M445 370.3c-.7-3.7-10.5-3.5-20.4 4.8a69.4 69.4 0 0120.4-4.8zm69.9 4.4c1.4-4.4 12.8-3.3 23.4 7.5a84 84 0 00-23.4-7.5z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gu.svg
new file mode 100644
index 0000000..00e8615
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gu.svg
@@ -0,0 +1,39 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gu" viewBox="0 0 640 480">
+  <path fill="#be0027" fill-rule="evenodd" d="M0 0h640v480H0z"/>
+  <path fill="#3b5aa3" fill-rule="evenodd" d="M25.6 27.3h589.5v428.4H25.6z"/>
+  <path fill="#cbe0e5" fill-rule="evenodd" d="M314.4 413.2a10 10 0 008.4.1c137.8-73.3 137.8-274.3.1-346.6a10 10 0 00-8.7.2c-134.3 73.4-134.7 272.1.1 346.3z"/>
+  <path fill="#add2d9" fill-rule="evenodd" d="M314.4 416.9c2 1.7 6.4 1.5 8.4 0 101.5-76 102-123.3 97.6-123.3h-201c-3 0 1.8 48.2 95 123.3z"/>
+  <path fill="#fdf9a1" fill-rule="evenodd" d="M235.3 331.2a39.2 39.2 0 0127.9 1.7c7.6 4 12 4 20.2 4 8.6.2 15.3 6.5 24.6 6.8 17.1.4 24.3 8.9 11 9-6.2 0-19.7-4.3-26.2-3.4-13.6 1.4-22.2 4.4-35 18.7l14.8 10c12.8-5.1 14.9-11 22-11.2 8-.3 10.7-5.2 20-5.2a92.6 92.6 0 0033-3.2c14.8-3.4 7.8-13.8-1.2-17.5-7.3-3.1-20.8-.1-29.2-3.2-6.4-2.5-1.2-6.5 2.3-7.3 3.4-.7 7.1.5 11.4 1.2 7.7.6 17.4-.1 24.1-1.2 14-2.1 13.4-6.2 20-6.3 5-.3 8.7-1.7 12-4.1 4-2.7 8.1-8 12.9-7.8l12.7.5-18 40.4-50.7 51.7-26.3 10-57.8-37.7-29.1-44.7 4.7-1.2z"/>
+  <path fill="#179a3b" fill-rule="evenodd" d="M301.8 292l116-.6 2-10.3s-4.1-.6-7.5-.8c-4.1-.3-11.3 4.4-16 4.3-3.5 0-7.3-6-10.7-6-6 0-6.4 5.3-12 5.5-4.5-.2-6.4-3.6-12.3-3.2-6 .3-5.6 3.7-13.3 3.5-10.2-.3-14.3-9.1-22.5-9.2-13.6-.2-14 13-23.8 16.7z"/>
+  <path fill="#fdf9a1" fill-rule="evenodd" d="M301.8 294.4l119.4-.6v-3.2l-122.2.6 2.7 3.2z"/>
+  <path fill="#a79270" fill-rule="evenodd" d="M350.8 330.3c1.9 7 3.8 9.4 11.2 11.3 7.3 1.7 18.5-5.4 11.6-12.3-6.6-6.4-13.6-8-19.5-13.8-12.5-12.3-31.3-42.5-31.3-63.8 0-18.3-1.8-55.8-1.8-91.3 0-2.3-7 6.4-7 8.8.4 31.3.4 55 1.6 86.6 2 23.1 13 38.7 22.7 52.7 4.3 6.8 10.6 14 12.5 21.8z"/>
+  <text x="465.1" y="269.5" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>G</tspan>
+  </text>
+  <text x="488.1" y="269.6" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>U</tspan>
+  </text>
+  <text x="516" y="269.6" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>A</tspan>
+  </text>
+  <text x="539.5" y="269.5" fill="#bd0728" stroke="#fff" stroke-width="1.6" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>M</tspan>
+  </text>
+  <path fill="#239e46" fill-rule="evenodd" d="M259.6 160.9c-1.5 3 3.6-.9 4.8-1.3 6.7-2.4 9.3-10.8 20.8-5.7 9 3.9 21.1 1.6 14.8 5.6-7.8 4.7-23.5 9.9-23.8 33.2 1.3 2.2 1.4 1.9 2.5-.6 2.4-5.4 13.7-20.1 19.3-18.9 2.3.6 8.9-6.7 9-4.6.7 5.8-9 17.6-8.8 33.3 0 3.7 4.5 4.9 6.6 2.3 2.2-2.3 3.4-4.6 7.2-7.6 6.6-5.4 4.8-28.6 5.6-27.5 4.7 6 5.4 23.3 12.4 30.3 5.9 5.9 10.6 3 9.3-5-2.5-16.4-10.2-11.7-13.9-28.6-.8-3.3-1-6.2 3.4-4.9 5.3 1.6 8.5 4 12.4 10 4 5.8 11.4 11.3 15.7 14.6 7.5 5.8 10.2.8 6.6-6.6a39.6 39.6 0 00-21-18.2c-6.2-2.2-8.4-2.4-13.8-3.4-1.5-.3-3-3.4-.4-5.1a42.5 42.5 0 0119.6-7.7c6.7-.2 12 5.2 16.7 6.6 9.4 2.4 9.4-3.5 5.2-8-3.4-3.7-10.6-10-17.3-9.1-13.5 1.7-12.6 1.3-21 6.8-3 1.8-6.4 3.8-5.1 1.6 3-5.5.2-4.5 4.9-10.1 3.6-4 6.3-7 10-8 3.4-.9 8-4.5 9.3-6.4 3.4-4.6.5-7.3-4.7-5.7-4.6 1.2-7 4.2-10 5-7.4 2.4-13.3 19-14.2 21.4-1.1 2.8-2.4 1.4-2.2-1 1-11.7 2-31.5-2-39.6-6.4-12-5.8-6.4-8.2-.7-3.6 9-2.3 17.5 0 26.3 1 4.4 4.6 9.4 5.3 12.9.5 2.7-1.6-.8-2.8-2.5-3.9-6-6.8-10-13.2-13.3a35.3 35.3 0 00-20.2-2c-1.8.6 2 3.2 3.5 4.4 4.3 3.4 12.4 4.5 18 7.9 4.6 2.9 8.2 4.7 9.8 8.7.6 3 1.6 7.4-.4 7.3-5.1-.3-13-4.8-29.4-3-8.4 1.2-15.6 8.3-20.3 16.9z"/>
+  <path fill-rule="evenodd" d="M295.3 310.6h4.7v7.9h-4.7z"/>
+  <path fill="#fdf9ff" fill-rule="evenodd" d="M271.7 257.9c18.8 26 49 41.2 49.6 53h-58.8c13.5-16.2 21.8-27.2 9.2-53z"/>
+  <path fill="#a68861" fill-rule="evenodd" d="M254.6 311.5c25.6 5.7 56.1 8.9 75.6-.8.2 5.7-6.3 14-11.7 14h-49c5.7-.9 9-2.6 18.2-3l-26 .2c-3 .1-8-7.6-7.1-10.4z"/>
+  <path fill="#be0027" fill-rule="evenodd" d="M312.6 425c2.6 1.5 6.7 1.4 9 .2 147.8-78.7 147.9-294.4.2-372a10.7 10.7 0 00-9.4.2c-144 78.8-144.4 292 .2 371.7zm.7-17.7a9.3 9.3 0 008 .1c123.6-72.8 125.1-265.1.1-334-2.4-1.8-5.9-1.2-8.3 0-118.4 70.1-125 254.5.2 333.9z"/>
+  <text x="465.1" y="269.5" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>G</tspan>
+  </text>
+  <text x="488.1" y="269.6" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>U</tspan>
+  </text>
+  <text x="516" y="269.6" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>A</tspan>
+  </text>
+  <text x="539.5" y="269.5" fill="#bd0728" font-family="helvetica" font-size="25.6" transform="matrix(1.33 0 0 1.33 -363 -108)">
+    <tspan>M</tspan>
+  </text>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gw.svg
new file mode 100644
index 0000000..ae17314
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gw.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-gw" viewBox="0 0 640 480">
+  <path fill="#ce1126" d="M0 0h220v480H0z"/>
+  <path fill="#fcd116" d="M220 0h420v240H220z"/>
+  <path fill="#009e49" d="M220 240h420v240H220z"/>
+  <g id="b" transform="matrix(80 0 0 80 110 240)">
+    <path id="a" d="M0-1v1h.5" transform="rotate(18 0 -1)"/>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+  </g>
+  <use width="100%" height="100%" transform="rotate(72 110 240)" xlink:href="#b"/>
+  <use width="100%" height="100%" transform="rotate(144 110 240)" xlink:href="#b"/>
+  <use width="100%" height="100%" transform="rotate(-144 110 240)" xlink:href="#b"/>
+  <use width="100%" height="100%" transform="rotate(-72 110 240)" xlink:href="#b"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gy.svg
new file mode 100644
index 0000000..e957f3e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/gy.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-gy" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#399408" d="M2.4 0H640v480H2.4z"/>
+    <path fill="#fff" d="M.2 0c-.9 0 619.6 241.5 619.6 241.5L0 479.8.2 0z"/>
+    <path fill="#ffde08" d="M.3 20.2c3.4 0 559 217.9 555.9 220L1.9 463.2.3 20.3z"/>
+    <path d="M1.9.8c1.8 0 290.9 240.9 290.9 240.9L1.8 477V.8z"/>
+    <path fill="#de2110" d="M.3 33.9c1.6-15 260.9 208.4 260.9 208.4L.2 451.7V33.9z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hk.svg
new file mode 100644
index 0000000..9e45292
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hk.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-hk" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="hk-a">
+      <path fill-opacity=".7" d="M-89 0h682.6v512H-89z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#hk-a)" transform="translate(83.5) scale(.94)">
+    <path fill="#ba0000" fill-rule="evenodd" d="M618 512h-731.4V0H618z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M241.9 247.8s-51.6-22.2-44.2-79.8c7.1-27.7 19.8-46.6 42.7-56.9 10.8-3.3 21.8-4.8 33-5.7-3 2.8-5.4 5.6-6.7 9-2.4 6.4-.6 12.4 2.7 18.5 4.1 7 6.6 14.2 7.4 23.6a36.6 36.6 0 01-14.6 33.7c-6.6 5.1-14.4 6.9-20.8 12.7-5 4.8-8 9.7-9 18.1-.2 16.1 4.1 18.4 9.5 26.8z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="2.1" d="M232 164.5v-.3"/>
+    <path fill="none" stroke="#ba0000" stroke-width="2.1" d="M235.3 241.8c-20-17.7-18.3-62.4-3-77.3"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M244.6 154.5l3.3 5.5-6-2.5-4.7 5 .8-6.5-6-2.5 6.5-1.5.8-6.4 3.3 5.5 6.6-1.5"/>
+    <path fill="#fff" fill-rule="evenodd" d="M246.3 244s6-55.9 63.3-65.7c28.6-1.2 50.4 5.3 67 24.3 6.3 9.3 10.9 19.4 15 29.8-3.5-2-6.8-3.5-10.6-3.7-6.7-.5-12 3-16.8 7.9a53.2 53.2 0 01-20.4 14 36.6 36.6 0 01-36.5-4c-6.8-4.9-10.8-11.8-18.2-16.2a28.2 28.2 0 00-20-3.4c-15.5 4.6-16.3 9.4-22.8 17z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="2.1" d="M323 210.2h.3"/>
+    <path fill="none" stroke="#ba0000" stroke-width="2.1" d="M250 236c11.2-24.4 54.4-35.8 73.1-25.6"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M336.3 219.3L332 224l.6-6.5-6-3 6.3-1 .6-6.7 3.4 6 6.4-1.2-4.3 4.7 3.3 6"/>
+    <path fill="#fff" fill-rule="evenodd" d="M250.1 248s55-12 82.4 39.3c10.3 26.7 11 49.4-1.7 71.1-6.8 9-15 16.5-23.5 23.8.8-4 1.1-7.6.1-11.2-1.6-6.6-6.6-10.5-12.8-13.5a53.1 53.1 0 01-19.8-15 36.6 36.6 0 01-7.7-35.8c2.4-8 7.7-14 9.5-22.4a28 28 0 00-3.1-20c-9.3-13.2-14.1-12.5-23.4-16.3z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="2.1" d="M306.5 310.1l.2.2"/>
+    <path fill="none" stroke="#ba0000" stroke-width="2.1" d="M259 249c26.6 2.9 51.1 40.2 47.4 61.3"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M302.1 325.6l-5.9-2.6 6.5-1.5.8-6.7 3.1 5.7 6.5-1.5-4.5 5 3 5.7-5.8-2.6-4.5 5.1"/>
+    <path fill="#fff" fill-rule="evenodd" d="M248.9 253.7s26.9 49.4-14.5 90c-22.8 17.4-44.4 24.5-68.8 18.4-10.5-4-20-9.7-29.5-15.9 4-.3 7.7-1 10.9-3 5.8-3.4 8.1-9.3 9.3-16a53 53 0 018.8-23.3 36.6 36.6 0 0132.2-17.5c8.4.1 15.6 3.6 24.2 3 6.9-.9 12.3-2.8 18.4-8.8 10-12.5 8-17 9-27z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="2.1" d="M205.1 325.3l-.1.2"/>
+    <path fill="none" stroke="#ba0000" stroke-width="2.1" d="M250.3 262.4c4.9 26.4-24.1 60.5-45.4 62.7"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M189 325.4l.9-6.4 3.3 5.7 6.6-1-4.6 4.6 3.3 5.7-6.1-2.9-4.6 4.6.8-6.4-6.1-2.9"/>
+    <path fill="#fff" fill-rule="evenodd" d="M242.8 252.6S205.2 294.4 153 269c-24-15.7-37.8-33.8-40.1-58.8.3-11.3 2.4-22.1 5.1-33 1.7 3.6 3.6 6.8 6.5 9.2 5.1 4.3 11.5 4.5 18.3 3.4a52 52 0 0124.7.6 36.6 36.6 0 0127.3 24.6c2.7 7.9 1.8 15.9 5.3 23.8 3 6.2 6.6 10.6 14.3 14.4 15.2 5.3 18.7 1.9 28.4-.5z"/>
+    <path fill="#ba0000" fill-rule="evenodd" stroke="#000" stroke-width="2.1" d="M160.7 235.2l-.2-.1"/>
+    <path fill="none" stroke="#ba0000" stroke-width="2.1" d="M235 256.9c-23.2 13.3-65-2.7-74.2-22"/>
+    <path fill="#ba0000" fill-rule="evenodd" d="M155.3 220l6.3-1.3-4.3 5 3.1 5.9-5.8-2.8-4.3 5 .7-6.8-5.9-2.8 6.3-1.3.7-6.8"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hm.svg
new file mode 100644
index 0000000..a9dda07
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hm.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-hm" viewBox="0 0 640 480">
+  <g stroke-width="1pt">
+    <path fill="#006" d="M0 0h640v480H0z"/>
+    <path fill="#fff" d="M0 0v30.6l372.6 243h46.9V243L46.9 0H0zm419.5 0v30.6l-372.6 243H0V243L372.6 0h46.9z"/>
+    <path fill="#fff" d="M174.8 0v273.6h69.9V0h-70zM0 91.2v91.2h419.5V91.2H0z"/>
+    <path fill="#c00" d="M0 109.4v54.8h419.5v-54.8H0zM188.8 0v273.6h42V0h-42zM0 273.6l139.8-91.2h31.3L31.3 273.6H0zM0 0l139.8 91.2h-31.2L0 20.4V0zm248.4 91.2L388.2 0h31.3L279.6 91.2h-31.2zm171 182.4l-139.7-91.2h31.2l108.6 70.8v20.4z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M125.5 416.5L98 414l23.8-14-15.3-23 25.8 9.7 8.4-26.3 8.5 26.3L175 377l-15.3 23 23.7 14-27.5 2.5 3.8 27.3-19-20-19 20m370.5 1.9l-19.4-1.7 16.7-10-10.7-16 18.1 6.8 6-18.5 6 18.5 18-6.9-10.7 16.2L533 444l-19.3 1.7 2.7 19.2-13.4-14-13.4 14m2.7-307l-19.4-1.7 16.7-9.9-10.7-16.2 18.1 7 6-18.6 6 18.5 18-6.9-10.7 16.2 16.7 10-19.3 1.6 2.7 19.2-13.4-14-13.4 14m-105.2 97.7l-19.4-1.7 16.7-9.9-10.8-16.1 18.2 6.8 6-18.5 5.9 18.5 18.2-6.8-10.8 16.1 16.7 10-19.3 1.6 2.6 19.3L395 280l-13.4 14M588 246l-19.4-1.6 16.8-10-10.8-16.1 18.2 6.9 5.9-18.5 6 18.5 18-7-10.6 16.2 16.7 10-19.4 1.6 2.7 19.3-13.4-14.1-13.4 14M563 305.7l-9.5 8 3 12-10.6-6.5-10.5 6.6 3-12-9.6-8.1 12.4-1 4.7-11.4 4.7 11.5"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hn.svg
new file mode 100644
index 0000000..47af518
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hn.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-hn" viewBox="0 0 640 480">
+  <path fill="#0073cf" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <g id="c" fill="#0073cf" transform="translate(320 240) scale(26.66665)">
+    <g id="b">
+      <path id="a" d="M-.3 0l.5.1L0-1z"/>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-144)" xlink:href="#b"/>
+  </g>
+  <use width="100%" height="100%" transform="translate(133.3 -42.7)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="translate(133.3 37.3)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="translate(-133.3 -42.7)" xlink:href="#c"/>
+  <use width="100%" height="100%" transform="translate(-133.3 37.3)" xlink:href="#c"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hr.svg
new file mode 100644
index 0000000..7b699d3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hr.svg
@@ -0,0 +1,58 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-hr" viewBox="0 0 640 480">
+  <path fill="#171796" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h640v320H0z"/>
+  <path fill="red" d="M0 0h640v160H0zm320 364.1c51.3 0 93.3-42 93.3-93.3V160H226.7v110.8c0 51.4 42 93.4 93.3 93.4z"/>
+  <path fill="#fff" d="M320 362.6a91.8 91.8 0 0091.6-91.5V161.8H228.5V271a91.8 91.8 0 0091.5 91.5z"/>
+  <g fill="red">
+    <path d="M267.1 165.2H232v38.7h35.2zm0 77.4h35.3v-38.7H267zM232 270.9c0 3.5.2 7 .6 10.4h34.6v-38.7H232v28.3zm105.7-28.3h-35.2v38.7h35.2zm0 77.4h35.2v-38.7h-35.2zm35.2 21.2A89.2 89.2 0 00393 320h-20v21.2zM267.1 320h35.3v-38.7H267zm-20.1 0a89.2 89.2 0 0020.1 21.2V320H247zm79.1 38.7c4-.3 7.7-.8 11.5-1.6V320h-35.2v37.1a87 87 0 0011.4 1.6c4.1.3 8.2.2 12.3 0z"/>
+    <path d="M407.4 281.3c.4-3.4.6-6.9.6-10.4v-28.3h-35.2v38.7h34.6zm-69.8-38.7h35.2v-38.7h-35.2zm0-77.4h-35.2v38.7h35.2zm70.4 38.7v-38.7h-35.2v38.7z"/>
+  </g>
+  <path fill="#fff" d="M410 158.8l21.8-49.5-16.6-26.8-27.6 10.2-19.4-22.2-25.4 14.7L320 66.5l-22.7 18.6-25.5-14.6-19.4 22.2-27.6-10.3-16.6 27 21.8 49.4a217.8 217.8 0 0190-19.3c32 0 62.5 6.9 90 19.3z"/>
+  <path fill="#0093dd" d="M253 94.8l-27.4-10-15.3 24.7 5.9 13.3 14.8 33.7a219.7 219.7 0 0134.6-12L253 94.8z"/>
+  <path fill="#fff" stroke="#000" stroke-width=".3" d="M251.4 119.3a13.3 13.3 0 011.6 6.2c0 7.3-6 13.3-13.4 13.3a13.4 13.4 0 01-13.1-10.8 13.4 13.4 0 0011.7 6.9 13.4 13.4 0 0013.2-15.6z"/>
+  <path d="M227.6 114l1-4.9-3.8-3.2-.1-.1.2-.1 4.6-1.6 1-4.8v-.2l.2.1 3.7 3.2 4.6-1.6h.2v.2l-1 4.8 3.7 3.2.2.2h-.3l-4.6 1.6-1 4.8v.2l-.1-.1-3.7-3.2-4.6 1.6h-.3z"/>
+  <path fill="#f7db17" d="M233.6 107.6l3.5 3 4.3-1.5zm0-.2l7.8 1.6-3.4-3zm-8.3-1.6l7.8 1.5-3.5-3zm7.8 1.7l-7.8-1.5 3.4 3zm.4-.3l5.2-6-4.3 1.5zm-5.6 6.4l5.2-6-4.3 1.5zm5.3-5.9l-5.2 6 4.3-1.5zm5.6-6.4l-5.2 6 4.3-1.5zm-5.6 6l-2.6-7.6-.9 4.5zm2.7 8l-2.5-7.5-.9 4.5zm-2.4-7.6l2.6 7.5.9-4.5zm-2.7-8l2.5 7.5 1-4.5z"/>
+  <path fill="#171796" d="M297.5 87.4L272.1 73 253 94.9l12.6 49.6a219.8 219.8 0 0136.1-6l-4.2-51.1z"/>
+  <path fill="red" d="M262.5 132.2a232.3 232.3 0 0138.2-6.4l-1-12.9a245.6 245.6 0 00-40.4 6.7l3.2 12.6zm-6.3-25a258 258 0 0142.4-7l-1.1-12.7a270.7 270.7 0 00-44.5 7.4l3.2 12.3z"/>
+  <g transform="translate(-160) scale(.00237)">
+    <path fill="#0093dd" d="M212105 36890l-23 13-9517-7794-9497 7778 1788 21560c2543-210 5113-322 7709-322 2608 0 5190 113 7744 325l1795-21560z"/>
+    <g id="a">
+      <path d="M202545 46585c-18-2-44 10-69 45-186 250-359 469-545 720-195 61-242 180-167 348-261-26-291 193-302 432-250-379-522-482-814-307-11-230-187-338-439-392-180-10-319-65-436-145-60-42-110-64-170-106-126-88-226-5-172 74 267 434 535 868 802 1302-14 80 6 151 88 204 47 133 93 265 140 397-11 38-21 75-32 113-221-105-443-118-664-133-170-8-287-50-361-137-54-63-91-26-92 82-3 534 162 1014 599 1492-231 4-462 11-694 21-79 6-95 39-73 104 126 304 339 579 822 766-208 112-327 285-357 520-9 224-75 382-212 455-60 32-81 65-24 106 253 185 565 193 895 112-157 270-226 553-198 850 208 56 412 15 614-52-29 61-44 175-52 309-7 115-41 229-104 343-32 33-65 84 4 102 336 91 648 52 915-47 0 243 2 487 76 727 18 58 70 102 125 26 155-214 322-396 527-517 31 90 75 168 156 215 96 55 147 170 153 343 0 30-2 60 35 90 149 7 514-380 589-597 206 121 284 246 439 461 55 76 99 29 128-25 62-243 67-481 66-724 267 99 579 138 915 47 69-19 36-70 4-102-62-114-105-250-113-365-9-133-14-226-43-287 202 68 405 108 614 52 29-297-53-579-211-850 330 80 655 73 908-112 57-41 35-74-24-106-136-73-203-231-212-455-30-235-149-409-357-520 483-187 696-463 822-766 22-66 6-99-73-104-231-10-480-24-711-27 437-478 606-961 604-1495-1-108-38-146-92-82-74 87-179 137-348 146-222 15-435 24-656 128-11-38-21-75-32-113 46-132 106-260 153-393 82-53 102-123 88-204 267-434 513-868 781-1302 54-79-46-162-171-74-60 42-110 64-170 106-117 80-257 134-437 145-251 54-417 167-428 397-293-175-564-73-814 307-11-239-41-457-302-432 75-168 17-291-178-352-186-250-458-470-644-720-31-35-51-47-69-45z"/>
+      <g fill="#f7db17">
+        <path d="M205075 47978c-51-26-124 17-162 95s-33 170 19 196c40 20 84-6 119-56l22-36c2-3 4-6 5-9 38-78 49-163-2-188zm-5008 0c52-26 124 17 162 95s39 165-13 191-103-24-141-102-60-158-9-184zm4539 905c-32 0-59 27-59 59s26 59 59 59 59-26 59-59c0-32-26-59-59-59zm-4032 0a59.1 59.1 0 10.2 118.2 59.1 59.1 0 00-.2-118.2zm4294-304c-754-91-1506-133-2260-133s-1509 41-2269 115c-26 8-21 90 14 86 756-73 1507-113 2256-113 743 0 1485 40 2228 129 39 4 54-80 32-84z"/>
+        <path d="M200319 48495c768-75 1530-117 2289-116 754 0 1507 42 2261 133l111-184c-32 10-62 9-90-5-76-38-92-161-36-274 56-114 164-175 240-138 39 19 62 62 68 114l446-739c-204 130-328 214-581 252-281 41-409 139-368 307 38 156-57 133-201 54-314-171-541 71-652 353-73 186-159 181-168-13-4-70 0-131-7-200-21-223-89-286-216-224-161 78-175 25-137-58 28-60 86-128 66-221-9-67-66-92-151-98-182-244-467-483-649-727-182 244-374 483-556 727-86 5-142 30-152 98-20 93 52 157 80 217 38 82 23 135-137 57-127-61-186-3-207 220-7 69-10 139-13 209-9 194-95 199-168 13-111-282-352-524-667-353-145 79-203 102-182-54 23-172-107-266-388-307-253-37-377-122-581-252l419 682c12-25 29-45 53-57 76-38 184 24 240 138 56 113 40 237-36 274-10 5-21 8-32 10l100 163zm4389 911c-7 3-7 4-24 11-46 19-80 66-134 124-57 60-128 125-211 188-12 10-25 19-44-6s-7-35 6-44c80-62 149-124 204-182 30-32 56-63 77-92-95-11-190-21-284-30-79 24-157 55-222 95-59 35-107 77-137 125-8 14-16 27-44 11-27-16-19-30-11-44 35-58 91-107 158-147 33-20 69-38 106-54-107-9-214-18-321-25-22 13-42 29-61 47-20 19-39 42-56 67-9 13-18 26-44 8s-18-31-8-44c19-29 41-54 64-77l9-9c-80-5-161-10-241-14-2 2-5 5-8 7a340.4 340.4 0 00-93 126c-6 15-12 29-41 18-29-12-23-26-17-41 12-29 27-55 45-81 8-11 18-22 27-33-115-5-230-9-344-12-4 5-9 8-14 11-25 15-47 32-66 51s-35 40-48 63c-8 14-16 28-43 12-28-16-20-29-12-43 16-28 35-54 59-77 7-7 14-13 21-19-122-2-244-4-365-4-120 0-240 1-360 3 8 7 15 13 22 20 23 23 42 49 59 77 8 14 16 27-12 43s-35 2-44-12c-13-23-29-44-48-63s-41-36-66-51c-6-3-12-7-15-12-115 2-230 6-345 11 11 11 20 23 29 35 19 25 33 52 45 81 6 15 12 29-17 41s-35-3-41-18c-9-24-22-46-38-67-15-21-34-41-55-59-4-3-7-6-10-10-81 4-162 8-243 13 4 4 9 8 13 12 24 23 45 48 64 77 9 13 18 26-8 44s-35 5-44-8c-18-26-36-48-56-67s-41-35-64-49c-1-1-3-2-5-3-110 7-220 14-330 23 43 18 85 38 122 61 67 40 124 89 158 147 8 14 16 27-11 44-27 16-35 3-44-11-29-48-78-90-137-125-72-44-159-77-246-102h-2c-90 7-179 15-268 24 22 33 51 68 86 106 55 58 124 120 204 182 13 9 25 19 6 44s-32 15-44 6c-83-64-155-128-211-188-37-38-99-111-135-140-196-90-354-127-575-147-153-14-318-9-458-79 36 85 75 164 126 229 53 68 120 121 209 147 8 2 21 16 22 25 28 157 84 286 169 386 52 60 114 110 188 149-75-81-132-166-172-251-67-142-90-286-77-420 1-16 3-32 34-29 32 3 30 19 29 35-11 123 9 256 72 387 56 118 159 237 291 346 24 19 0 63-29 55-154-44-290-123-383-231-89-104-149-237-180-397-94-32-165-90-222-164-47-60-85-131-118-205 28 428 182 801 456 1137 61 75 165 182 255 216 92 35 95 100-20 101-34 1-69 1-105 1 84 31 164 66 233 105 127 73 217 162 224 273 1 16 2 32-29 34-32 2-33-14-34-29-6-86-82-160-192-223-113-65-259-117-402-160-154 0-312-1-459 3 39 28 80 57 131 84 82 44 188 86 343 122 89 21 166 52 233 91 71 42 130 93 177 150 10 12 20 25-5 45s-34 8-45-5c-42-52-95-98-159-135-61-36-133-64-216-84-161-38-272-81-358-128-75-40-131-82-184-123 180 393 450 573 835 689 23 7 43 13 61 19 3 1 6 1 9 2 86 21 175 40 266 55 92 15 166 28 261 37 16 1 32 3 29 34-3 32-19 30-34 29-99-9-174-22-266-38-58-10-115-21-171-33-26 6-64 9-107 12-232 14-420 225-435 494 0 5 0 11-1 16 88-80 179-157 273-212 117-68 239-103 364-69 15 4 31 8 22 39-8 31-23 27-39 22-106-28-212 3-316 63-108 63-213 158-315 253-24 147-82 285-205 377 61 34 104 65 163 45 86-39 172-78 261-108 91-31 184-52 282-57 16-1 32-1 33 31s-14 32-31 33c-91 4-179 24-264 53-75 26-149 58-222 91 221 47 460-1 667-79 60-22 105-42 133-41 51-30 112-53 172-79 66-28 132-51 182-57 16-2 32-4 35 28 4 32-12 33-28 35-112 13-127 21-222 79 0 21-66 57-126 96-36 24-70 52-87 67-95 86-144 181-188 287-29 70-52 145-68 224 55-108 121-211 201-303 94-108 208-201 345-265 14-7 29-13 42 15 13 29-1 35-15 42-129 60-236 147-324 250-90 103-161 222-219 345-31 64-8 1-42 86 110-122 212-224 323-307 132-100 283-157 418-133 15 3 31 6 26 37s-21 28-37 26c-116-21-250 32-369 121-121 92-244 223-366 361 184 26 366-26 542-85 91-30 183-135 239-152 19-24 38-46 57-67 33-37 67-71 102-100 12-10 24-20 45 4s8 34-4 45c-33 28-65 60-96 94-32 35-62 73-92 113-6 8-13 17-24 16-60 70-151 162-172 240-57 210-25 370-122 576 71-38 128-81 175-134 53-60 94-135 128-230 37-104 95-195 167-270 75-77 165-136 261-172 15-5 30-11 41 19s-4 35-19 41c-87 32-169 86-238 157-66 68-119 151-153 247-37 102-81 183-141 250-44 50-95 91-156 127 52-3 78-10 121-7 79-6 211-66 279-119 66-51 116-120 154-206 6-15 13-29 42-16s23 27 16 42c-42 96-99 174-173 231-56 43-121 75-196 93 161-5 311-42 467-100 65-24 87-168 127-208 32-58 66-112 105-158 47-56 101-101 164-127 15-6 29-12 41 18 12 29-3 35-17 41-52 21-98 60-139 108-36 42-68 93-98 147 10 73-51 228-53 305-7 205-2 409 53 612 53-71 107-134 162-192 0-5 0-10 1-15 18-106 33-219 40-332 7-112 7-223-6-329-2-16-4-32 27-35 32-4 34 12 35 28 14 111 14 226 7 340-6 90-16 180-30 269 54-51 53-51 77-103 37-80 59-159 67-237 9-80 5-157-13-230-4-15-7-31 24-38s35 8 38 24c19 80 25 165 14 252-8 65-24 132-49 199 56-42 114-82 178-122-4-75-5-153-3-227 2-68 7-134 18-190 4-20 7-40 47-33s37 27 33 48c-9 50-14 111-16 177-2 78 0 162 4 243 5 82 49 185 125 230 103 62 158 163 186 274 16-145 17-280 3-400-17-143-55-267-114-368-8-14-16-27 12-44 27-16 35-2 43 12 63 110 104 241 122 393 17 146 13 310-13 488 102-82 381-258 352-594-7-27-16-52-28-75-7-14-14-28 14-42s35 0 42 14c17 33 30 69 39 110 5 24 8 49 11 76 13-7 45-43 51-39 24 16 58 38 80 54-21-60-35-120-42-178-10-87-5-172 14-252 4-15 7-31 38-24s27 23 24 38c-18 73-22 151-13 230 9 77 31 157 67 237 4 8 8 16 5 25 24 21 47 42 70 65-13-84-22-170-28-255-8-115-7-230 7-341 2-16 4-32 35-28s29 20 27 35c-13 106-13 217-6 329 7 113 22 225 40 332 1 2 1 5 1 7 54 59 95 120 152 196 55-203 73-407 66-612-2-76-69-227-65-302-30-55-63-107-100-151-41-49-87-87-139-108-15-6-29-12-18-41 12-29 27-24 41-18 62 26 117 71 164 127 38 45 72 98 103 154 57 7 78 179 143 212 154 57 298 94 453 100-75-19-140-50-195-93-74-57-131-135-173-231-6-15-13-29 16-42s35 2 42 16c38 86 88 156 154 206 85 66 289 124 400 127-61-37-113-78-157-128-59-67-104-148-141-250-34-95-87-179-153-247a642 642 0 00-238-157c-15-6-29-11-19-41 11-29 26-24 41-19 96 36 186 94 261 172 72 74 130 166 167 270 34 95 75 169 128 230 47 54 105 98 177 135-98-207-66-367-122-577-35-129-232-277-193-320 45-51 133 88 248 127 175 59 357 111 540 85-122-138-244-269-366-361-119-90-237-140-352-120-16 3-31 6-37-26-5-31 10-34 26-37 135-24 269 32 401 132 111 84 201 175 311 298-18-47 0-14-30-77-59-123-130-241-220-345-89-102-196-189-324-250-14-7-28-13-15-42 13-28 28-22 42-15 137 65 251 157 345 265 81 93 147 198 203 307-15-81-39-157-68-227-44-106-93-201-188-287-62-56-209-140-208-179-29-15-33-11-63-24-61-26-121-46-164-52-16-2-32-4-28-35 4-32 19-30 35-28 50 6 115 28 182 56 33 14 66 43 98 60 53 4 139 47 208 74 206 78 446 126 666 79-73-33-147-65-223-91-85-29-172-49-264-53-16-1-32-1-31-33s17-31 33-31c98 4 191 26 282 57 89 30 175 69 261 108 59 27 101-7 163-45-123-92-181-230-205-376l-2-2c-102-95-207-190-315-253-104-60-210-91-316-63-15 4-31 8-39-22-8-31 7-35 22-39 125-33 247 1 364 69 94 55 186 132 274 213 0-6-1-11-1-17-15-270-203-480-435-494-78-5-189 21-186-32 4-59 97-44 234-86 385-116 655-296 836-690-54 41-110 83-186 124-86 47-198 91-358 128-82 19-154 48-216 84-64 38-117 84-159 135-10 12-20 25-45 5s-14-32-5-45c47-57 106-108 177-150 67-39 145-70 233-91 155-36 261-78 343-122 51-27 92-55 131-84-148-4-305-3-459-3-143 44-289 96-402 160-110 63-186 136-192 223-1 16-2 32-34 29-32-2-31-18-29-34 8-111 97-200 224-273 69-39 149-74 233-105-35 0-70 0-104-1-116-2-112-66-20-101 90-34 190-141 251-216 271-334 412-714 456-1130-33 72-69 140-115 198-57 73-128 131-222 164-31 160-91 293-180 397-92 108-216 185-369 230-29 8-52-35-29-55 132-109 221-226 278-344 62-131 83-264 72-387-1-16-3-32 29-35 31-3 33 13 34 29 12 134-10 278-78 420-40 85-97 170-172 251 73-39 136-89 187-149 85-100 141-229 170-386 1-8 14-22 22-25 89-27 155-79 209-147 51-65 90-143 126-228-140 69-304 64-457 78-213 19-369 68-554 152z"/>
+        <path d="M204649 49231c-680-88-1359-113-2041-114-684 0-1369 40-2058 112-20 6-15 33-14 46 2 28 37 35 121 27 643-60 1285-93 1932-93 674 0 1351 21 2038 102 33 9 77-85 22-81z"/>
+        <path fill-rule="evenodd" d="M200570 49160c683-71 1362-110 2038-110 675 0 1349 40 2025 127l31-127c-17 9-37 15-58 15a123 123 0 11113-171l60-170c-724-84-1446-122-2171-122-729 0-1459 38-2193 107l58 164c22-32 59-54 101-54a123 123 0 110 246c-12 0-25-2-36-6l33 94-2 7zm3067-416a123 123 0 100 246 123 123 0 100-246zm0 64a59.1 59.1 0 000 118c32 0 59-27 59-59s-26-59-59-59zm-1082-91a123 123 0 10123 123c0-68-55-123-123-123zm0 64a59.1 59.1 0 10.2 118.2 59.1 59.1 0 00-.2-118.2zm-1064-40a123 123 0 10-.2 245.8 123 123 0 00.2-245.8zm0 64c-33 0-59 26-59 59s26 59 59 59a59.1 59.1 0 000-118z"/>
+      </g>
+      <path d="M202601 47974c-14-68-49-129-100-175-51-47-116-78-187-88-33-4-39-58-7-68 60-20 114-67 157-133 45-69 79-157 95-256 5-34 64-35 69-1 15 84 51 153 97 208 55 66 125 112 193 138 31 12 25 63-8 68-59 9-105 42-141 87-50 62-81 145-100 221-8 33-62 31-69-2zm33-118c20-52 47-103 81-146 28-34 60-64 99-84-51-30-100-70-143-120-28-34-53-73-73-116-19 59-45 112-75 158-31 47-67 86-108 116 50 19 95 47 134 82 34 31 63 68 85 110zm799 5115l-515 206c-17 7-35 14-48-21-14-34 4-41 21-48l515-206c17-7 35-14 48 21 14 34-4 41-21 48zm59-326l-604 328c-16 9-33 18-51-15s-1-42 15-51l604-328c16-9 33-18 51 15s1 42-15 51zm-1826-65l604 328c16 9 33 18 15 51s-34 24-51 15l-604-328c-16-9-33-18-15-51s34-24 51-15zm51 322l515 206c18 7 35 14 21 48-14 35-31 28-49 21l-515-206c-17-7-34-14-21-48 14-35 31-28 48-21zm224 434c137 33 261 48 358 31 88-16 155-60 191-146v-493c-107-1-212-15-303-41-109-31-170-98-201-178-41-107-27-235-4-329 5-18 9-36 45-27s32 27 27 45c-20 82-33 194 1 284 23 60 69 110 152 133 91 25 198 38 307 38 107 0 214-13 304-40 82-24 148-69 192-123s65-117 57-176c-5-36-24-62-49-80-34-24-82-35-128-37-47-2-94 7-142 16-25 5-50 9-77 13-19 2-37 5-42-32s14-40 32-42c23-3 48-8 73-12 52-10 105-20 159-18 60 2 121 18 168 51 42 29 72 72 80 131 11 80-16 163-73 233-53 65-131 119-229 147-83 24-178 38-274 42v483c3 5 3 11 2 16 37 82 102 125 188 141 97 18 221 2 358-31 18-5 36-9 45 27 8 37-9 41-28 45-146 35-279 51-388 32-92-17-165-58-215-132-49 74-124 115-215 132-109 20-242 4-388-32-18-4-37-8-28-45 8-36 27-32 45-27zm356 210l402-9c19 0 38-1 38 37 1 38-18 38-37 38l-402 9c-19 0-37 1-38-37s18-38 37-38zm593-3082c151-125 293-227 423-297 133-72 254-111 359-106 19 1 37 1 36 39-1 37-20 37-39 36-92-4-200 32-322 97-125 67-263 166-410 289-14 12-29 24-53-5s-9-41 5-53zm-605 56c-141-130-298-240-445-314-139-71-268-108-363-100-19 2-37 4-40-34-4-37 15-39 34-40 110-10 252 31 404 107 152 77 315 191 461 325 14 13 28 25 2 53-25 27-39 15-53 2zm-213 1004c37-83 83-155 136-219 53-63 112-119 174-170 14-12 29-24 52 5 24 29 9 41-5 53-59 48-114 101-164 160-49 59-91 125-125 201-8 17-15 34-49 19s-27-32-19-49zm371-1734c49 66 88 139 114 223 26 82 40 175 39 279 5 80 6 165-7 249-13 86-42 170-97 246-43 60-101 97-165 113-53 13-109 10-164-7 29 100 51 208 6 308-8 18-33 27-51 18-43-22-86-43-128-62s-84-36-127-51l-1-1c-95-37-173-73-236-112-65-39-115-80-150-124l1 2c-44-49-72-106-88-170-14-55-20-114-22-174-72-39-138-78-194-116-64-43-118-87-161-131-13-14-26-27 1-53s40-12 53 1c39 40 89 80 150 121 60 40 128 81 204 121 124 13 247 51 370 109 106 50 211 115 317 192 13 7 19 16 27 20 8 6 16 13 25 19 51 22 104 28 152 16 47-11 90-39 122-84 48-66 72-139 84-214 12-77 11-157 6-234v-2c1-97-12-183-35-258-24-76-58-142-102-201-11-15-22-30 7-52s41-7 52 7zm-375 1047c-104-77-207-141-311-190-105-49-210-83-314-98 2 48 8 93 18 135 13 52 35 99 71 138l1 1c30 37 73 72 130 107 60 36 134 71 225 106l-1-1c45 16 89 34 133 54 31 14 61 28 93 44 19-83-10-179-37-267-2-8-5-15-9-29zm776-1003c-44 59-79 125-102 201-24 76-36 161-35 258v2c-5 77-6 158 6 234 12 75 37 148 84 214 32 45 75 72 122 84 48 12 101 6 152-16l25-19c6-4 13-12 27-20 105-77 211-143 317-192 123-58 246-95 370-109 75-40 144-80 204-121s111-81 149-121c13-13 26-27 53-1s14 39 0 53c-43 44-97 88-161 131-57 38-122 77-194 116-2 61-8 119-22 174-16 63-44 121-88 170l1-2c-35 44-85 85-150 124-63 38-141 75-237 112l-1 1c-43 15-85 32-127 51-43 19-85 40-128 62-18 9-43 0-51-18-45-100-23-208 6-308-55 18-111 20-164 7-64-15-122-53-165-113-55-76-84-160-97-246-13-85-12-169-7-249-1-104 13-196 39-279 26-84 65-158 114-223 11-15 22-30 52-7 30 22 19 37 7 52zm940 715c-105 15-209 49-314 98-104 49-207 113-311 190-4 13-6 21-8 29-27 88-56 184-37 267 31-15 62-30 93-44 44-20 87-38 133-54l-1 1c91-35 165-70 225-106 58-34 100-70 131-107l1-1c35-39 57-86 71-138 11-42 16-87 19-135z"/>
+      <path fill-rule="evenodd" d="M203459 50602a216.4 216.4 0 000 433 216.6 216.6 0 000-433zm0 69c-81 0-147 66-147 147s66 147 147 147 147-66 147-147-66-147-147-147zm0 60a87 87 0 10.1 174.1 87 87 0 00-.1-174.1zm-1697-124c119 0 217 97 217 216s-97 217-217 217a216.6 216.6 0 010-433zm0 69c81 0 147 66 147 147s-66 147-147 147-147-66-147-147 66-147 147-147zm0 60a87 87 0 11-.1 174.1 87 87 0 01.1-174.1z"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(-2.2 -55532.8 156275.8)" xlink:href="#a"/>
+    <use width="100%" height="100%" transform="rotate(2.2 459865.8 156275.8)" xlink:href="#a"/>
+  </g>
+  <path fill="#171796" d="M387.2 94.9l-19.3-22-25.2 14.5-4.3 51.1a219.7 219.7 0 0136.2 6L387.2 95z"/>
+  <path d="M347.7 98c.8-.2 1.7-.2 2.6.3.3.1.6.3.8.6.4-.3.7-.6 1.2-.8a4 4 0 011.8-1c.9-.5 1.8-.8 2.7-.9h2.8c.8 0 1.6.2 2.3.6l2 1c.8.4 1.5.8 2.2 1a9.1 9.1 0 004.5.5c.4-.2.7.1.2.4-3.3 2-5.9.2-8.1-.6a16.2 16.2 0 012.1 1.7c.8.8 1.8 1.6 3.5 2.4a8.4 8.4 0 005 .7l.4.1-.1.5a4.8 4.8 0 01-2.6.7 10 10 0 01-5.2-1.3c-1.4-.7-2.3-1.6-3.3-2.4a7.5 7.5 0 00-3-1.4 6 6 0 00-2.9 0c.3.1.5.2.6.4.5.3 1 .4 2 .5.4 0 .2.3-.5.7a2 2 0 01-1.6.8c-1 .6-1.3.2-1.7-.2 0 .3 0 .5-.2.8a.6.6 0 010 .4l.2.7c0 .2 0 .3.2.4.2.2.3.4.3.7 0 .2.1.3.3.4l.6.6c.6.2.8.7 1 1.2.4.2.6.5.7.9.2 0 .4.2.6.4l2.6.1c.8.1 1.4.6 2 1.2h1.2a4 4 0 011.3-.3h2.3c.5.2.9.4 1.2.8.5.5 1.2.4 1.8.2a2.7 2.7 0 012.4 0 2.3 2.3 0 011-.2c.4-.3.7-.4 1-.4.6 0 1 0 .9.8 0 .2-.2.4-.3.4-.3.6-.7.7-1.3.7-.1.4-.3.7-.5.8.3.9 0 1.3-.7 1.2 0 .3-.3.4-.6.4a1.4 1.4 0 01-1 .5l.4.6c.4.7-.2 1-.8 1v1.2c.7.4.8.8.2 1.2.4.7.3 1.3-.5 1.6 0 .4 0 .8-.3 1-.2.2-.5.3-.3.6.3.5.2 1.1-.2 1.2l-.2.1-.2.2a9.6 9.6 0 00-1.5 1c-.1 0-.2.1-.2 0a9.6 9.6 0 01-1.8 2.4c0 .5-.4 1-1 1.1a.4.4 0 01-.3.4c.3.3.5.6.2 1a3 3 0 01-1.3.8c-1 .3-1.7.2-2-.2-.4-.3-.3-.6 0-.7-.7 0-.8-.2-.8-.7 0-.2.1-.2.3-.1.4 0 .7-.2 1-.3l.5-.6c0-.7.5-1 1.1-1.3.5-.2 1-.6 1.4-1.2l.9-1.5a1.2 1.2 0 01-.3-.7 1.5 1.5 0 01-.5-.6c-.5 0-.7-.2-.7-.5a1.1 1.1 0 01-.3 0c-.3.1-.5.3-.7.2a6.9 6.9 0 01-1.1 1c-.2.3-.4.5-.7.5-1 .1-1.5 1.2-2 1.7-.2.1-.3.4-.4.7 0 .6-.1 1-.4 1h-.4a1.2 1.2 0 00-.4 0c.3.3.3.6 0 .9-.1.3-.4.4-.8.4a3.6 3.6 0 01-1.6-.2c-.4-.2-.5-.5-.5-.7-.3-.2-.4-.3-.3-.5 0-.2.2-.3.4-.2l.6-.2a5.2 5.2 0 011.8-1.4 3 3 0 01.7-.7c0-.5.5-1 1-1.4l.1-.6v-.3c-.2-.3-.3-.7-.1-1a1.3 1.3 0 010-.6c-1.1.6-1.5.4-1.6-.1-.4.3-.8.5-1 0-.4.1-.8.3-1.2.1l-.8.2-.4.7c0 .5-.2 1-.5 1.5a9.3 9.3 0 01-.7 1.5 1 1 0 01-.1.5c0 .6-.2.9-.5 1a2.4 2.4 0 01-.4.8v.2c.1.3.1.7-.2 1l-1 .6h-1c-.4-.3-.4-.4-.3-.6a.6.6 0 01-.5 0l-.4-.3c-.1-.2-.1-.4.1-.5l.9-.6c0-.2.2-.3.4-.4.2-.4.4-.6.6-.7l.7-1.5c.1-.1.2-.3.1-.4l.1-.3s.2-.1 0-.2a1.4 1.4 0 01.2-1.2c.3-.4.6-1.4.3-2v-.8h-.3c-.2-.2-.4 0-.6.2l-.4.6c-.1.8-.5 1.5-1 1.6v1.2c0 .4 0 .7-.2.7s-.4.2-.5.5a1 1 0 00-.1.3c.3.3.2.7-.1 1-.6.6-1.4.5-2.2.3-.6-.3-.8-.5-.7-.8-.8 0-.7-.7 0-.9.8-.2 1.4-.7 1.9-1.4 0-.8.2-1.3.7-1.4 0-.5.2-1 .4-1.4.2-.4.3-.8.2-1.3-.4-.3-.4-.6 0-1 .1 0 .1 0 0-.2-.3 0-.3-.3-.3-.5s0-.2-.2-.2c-.6-.1-.5-.4-.2-.7.1 0 .2-.3 0-.4l-.1-.4c-.4-.3-.2-.6 0-.9l-.4-.8c-.7 0-1-.4-.6-.9a3.4 3.4 0 01.7-.6c.1-.3.3-.6.2-.8-.2-.6.5-1 1-1.4a.9.9 0 01-.1-.4c-.3-.3-.2-.6.1-.8a1 1 0 01-.1-.5c-.8.2-.8-.3-.4-1-.5-.3-.4-.8.5-1.5a1 1 0 010-.4 2 2 0 00-1 .3c-.3.3-.6.2-.9.1a1.5 1.5 0 00-.4-.4.6.6 0 01-.2-.6c-1 0-1.1-.7-.6-1 .3-.3.6-.6.7-.9.2-.6.7-1 1.3-1.5v-.5a1.6 1.6 0 00-.7-.3 1.2 1.2 0 00-.6-.7c-.1 0-.2-.2 0-.4-.6-.4-.5-.7-.3-1z"/>
+  <g fill="#f7db17">
+    <path d="M364.5 122a1.4 1.4 0 01-.2 0 8.4 8.4 0 01-.8.7c-.2-.3-.5 0-.2.1l-.2.2c0 .3-.2.4-.5.4h-.1a3 3 0 010-.3 3.5 3.5 0 010-.4 3.9 3.9 0 00-.1.4 2.8 2.8 0 000 .4c-.8.3-1.3 1.1-1.9 1.7l-.4.8c0 .2 0 .9-.3.9h-.2c0-.1-.2-.1-.4 0h-1c-.2.2.4.2.7.3.1.1.2.3.1.5-.2.7-1.8.5-2.3.2-.2-.1-.2-.3-.2-.5h.3c.2 0 .4 0 .5-.2 0 0 .1 0 0-.1 0-.1 0-.1 0 0a1.3 1.3 0 01-.5 0 2.6 2.6 0 01-.5 0h-.2c0-.1.2 0 .2 0l.7-.3a5.3 5.3 0 011.9-1.4l.8-.7c0-.7.4-1 .8-1.5l.3-.7v-.3c-.2-.4-.3-.7-.1-1a1.5 1.5 0 010-.8.3.3 0 000-.1 6.2 6.2 0 01.8-.6v.8a1.3 1.3 0 00-.2.3.5.5 0 000 .2v.1a.4.4 0 010-.3l.3-.2.7-.4.7-.6v1l-.6.7v.1h.1a2.3 2.3 0 01.5-.7 3.2 3.2 0 011-.6v1a1.5 1.5 0 00.5.9z"/>
+    <path d="M349 113l.2-.2.4-.6a4 4 0 01.5-.6 4 4 0 00-.4.7 5.8 5.8 0 00-.4.5v.2c.1.3.1.5.3.7l.3-.4a1.6 1.6 0 01.4-.4 1.8 1.8 0 00.5-.6h.1l-.2.4a2 2 0 01-.3.3l-.4.3a1.3 1.3 0 00-.2.4v.3c-.2.3-.5.5 0 .7a.6.6 0 00.1.5l-.1.7c-.3.2 0 .2.1.2l.4-.4a4.3 4.3 0 01.3-.4l.4-.5.1-.5h.1a1.4 1.4 0 01-.1.6 2 2 0 01-.5.5 3.8 3.8 0 00-.2.4 2.6 2.6 0 00-.3.4c.2.1.2.4.2.7h.1l.2-.2.2-.4h.1l-.2.4-.2.3c.2.1.2.3 0 .5-.4.3-.3.4 0 .7v1.2l.1.3h-.1v-.3c-.4.7-.6 1.1-.7 1.8-.6.1-.5.8-.6 1.3a3.9 3.9 0 01-1.9 1.5c-.1 0-.5.1-.5.3 0 .1.2.3.4.2.4-.5.7-.2.2.2v.3c.5.4 1.6.5 2.2.2.3-.3.5-.5.2-.9 0-.5.2-1 .8-1.2v-.4l.1-1.3.2-.1c.2 0 .6-.7.7-1.3v-.4c.1-.2.2-.2.3 0 0-.2 0-.3.2-.4.2-.3.5-.6.8-.4a3 3 0 01-.1-.8 2.7 2.7 0 010-1l.2-.2.3-.7.3-.7h.1l-.3.7-.3.8v.1a2.5 2.5 0 00-.1 1l.2.9.2.4v.6c.4.6 0 1.7-.3 2.2a1 1 0 00-.1.8c.2.2 0 .4-.1.6v.1c0 .2 0 .4-.2.5l-.7 1.6c-.4.1-.5.3-.6.7-.3.1-.3.2-.4.4a2.7 2.7 0 01-.9.6c-.3.1 0 .2.2.4.2.1.4-.2.6-.4.2-.3.3-.2.2 0a2 2 0 00-.2.7l.7.3c.4 0 .9-.4 1.2-.6.3-.2.2-.5.1-.8a2 2 0 01-.5 0 3.4 3.4 0 01-.5-.3 2.8 2.8 0 001 .2v-.3a2.7 2.7 0 00.5-.8c.4-.2.4-.4.4-.9l.1-.5a10 10 0 00.7-1.6c.4-.4.5-.9.5-1.4 0-.2.1-.3.3-.3a3.8 3.8 0 00.3-.5l.1-.4a.8.8 0 01.2-.2 1 1 0 000-.5 1.1 1.1 0 00-.1-.4.5.5 0 01-.1-.2v-.2h.1c.1 0 0 0 0 0v.1a.5.5 0 000 .2c.2.2.2.3.2.5a1 1 0 010 .5.7.7 0 00-.2.2 1.7 1.7 0 000 .3l.6-.1.4-.5.2-.6c.1 0 0 0 0 0a2 2 0 01-.1.7l-.3.3c.4.2.7 0 1 0V119l.4-.7c.1 0 .1 0 0 0l-.2.8v1c.1.4.2.5.5.3l.4-.2v-.1a18.2 18.2 0 011.8-1.6c.1.1 0 .1 0 .1a6.5 6.5 0 00-.8.7l-.8.7v.3c0 .3.1.5.6.3l.6-.2a1.3 1.3 0 01.3-.2 8 8 0 01.5-.3l.5-.3a3 3 0 01.1-.6l.7-1.3a2.3 2.3 0 001.1-1.1h.1l-.4.7a2.5 2.5 0 01-.7.5l-.7 1.2a2.7 2.7 0 00-.1.5v.1a2.8 2.8 0 000 .8c.2 0 .4 0 .7-.3l.7-.7a1.7 1.7 0 01.2-.5 1 1 0 01.4-.4h.1v.1a.9.9 0 00-.4.3 1.7 1.7 0 00-.2.5v1.1l1-.5v1c0 .3.2.6.4.8a2.8 2.8 0 01.5-.6l.3-.3.2-.2.3-.2-.2.3-.2.2-.3.2v.5h.6c0 .5 0 .6.5.6a3.2 3.2 0 010-.5l.1-.5h.1a1.9 1.9 0 00-.1.5 3.1 3.1 0 000 .5c.2.3.3.4.7.6l.2-.5a1.4 1.4 0 000-.4h.1v.5l-.3.5v.5a3 3 0 01.2-.3l.3-.4c.1 0 .1 0 0 0 0 .2 0 .3-.2.4a4 4 0 00-.2.4l.2.2c-.6 1-1.3 2.5-2.5 3-.6.2-.9.5-1 1.2a1 1 0 00-.5.6l-1.2.3c0 .3 0 .4.3.4l.7-.3c.1 0 0 .5-.5.8v.1c.4.6 1.4.4 1.9.2.4 0 1-.5 1.2-.9.1-.2 0-.4-.2-.6-.8.1-.6-.6 0-.3.2 0 .3 0 .3-.3.6-.2.9-.5 1-1 .6-.7 1.2-1.4 1.6-2.1.1-.2.2-.4.1-.5a1 1 0 00.2-.5l.1-.4h.1v.5a4.5 4.5 0 01-.2.3c0 .1 0 .2.2.2l1.5-1c0-.3.2-.4.4-.4l.2-.1c.1-.4 0-.6-.2-.8-.1-.4.1-.5.4-.7.2-.2.2-.7.2-1v-.2a2.6 2.6 0 000-.3l.1.3v.1c.3-.1.6-.3.7-.6 0-.3-.1-.6-.3-.8a9.6 9.6 0 01-.6.2 10.2 10.2 0 00.7-.4 1.3 1.3 0 00.3-.2c.2-.3-.3-.5-.5-.6l-.7-.7v-.1l.7.6v-1.1l-.2-.4a1.1 1.1 0 01-.5-.4 1 1 0 01-.1-.5l.2.4.4.4h1c.3-.3-.2-.7-.3-.9l-.1-.5h.1a1 1 0 00-.2-.2.6.6 0 00-.1 0v-.2a.7.7 0 01.2.1l.2.2a.9.9 0 00.1 0c.3 0 .5-.2.7-.5a3.6 3.6 0 00-.3-.4 10 10 0 00-.5-.3v-.1h.1a4 4 0 01.8.8c.4 0 .4 0 .6-.3a1.5 1.5 0 00-.2-.4 2.5 2.5 0 00-.3-.4c0-.1 0 0 0 0 .2 0 .3.2.4.3l.2.5.4-.1c.3-.2 0-.8 0-1a2.8 2.8 0 00-.1 0l-.2-.2c0-.1 0 0 0 0h.2l.2.1.4-.6c0-.4 0-.2.5-.3.4 0 .6 0 .9-.6.1 0 .2 0 .2-.3s0-.4-.3-.4c-.5 0-.8 0-1 .3v.3c0 .1 0 0 0 0l-.2-.2c-.4 0-.7 0-1.1.2h-.2l.2.3.1.4a1 1 0 00-.2-.4 1.8 1.8 0 00-.3-.4 2.6 2.6 0 00-1-.2l.2.1.2.2v.1a7.7 7.7 0 01-.2-.2 6.5 6.5 0 01-.2-.2 2.7 2.7 0 00-.9.2l-.6.2.4.5.2.6a2.1 2.1 0 00-.3-.6 1.9 1.9 0 00-.4-.4 1.8 1.8 0 01-.5 0l.2.3-.3-.4a1.4 1.4 0 01-.5-.2 8.3 8.3 0 01.2 1.5 7.8 7.8 0 00-.2-.9 4.7 4.7 0 00-.1-.7 1.7 1.7 0 01-.2-.2 2.1 2.1 0 00-.6-.4 1 1 0 01-.2.7c-.1 0 0 0 0 0a.8.8 0 00.1-.8 3.1 3.1 0 00-1-.2 5.3 5.3 0 01.5.8l.3.5v.5a2 2 0 00-.1-.5.7.7 0 00-.3-.4 5.6 5.6 0 00-.3-.5 4.6 4.6 0 00-.3-.4h-.4.1a.6.6 0 010 .3.5.5 0 000-.2.7.7 0 00-.2-.1h-.8a5 5 0 011 2.3 4.8 4.8 0 00-.4-1.2 5.1 5.1 0 00-.7-1h-.6a1.7 1.7 0 01.4.4c0 .1 0 .1 0 0a1.6 1.6 0 00-.3-.1 2.4 2.4 0 00-.3-.2 5 5 0 00-.3 0l-.1.1a4.7 4.7 0 011 1.1c0 .1 0 0 0 0a3.8 3.8 0 00-.6-.6 4.7 4.7 0 00-.6-.4h-.6a5 5 0 01.5 1.7h-.1a3.5 3.5 0 00-.2-.8 6.2 6.2 0 00-.3-.9 8 8 0 01-.4 0 9.1 9.1 0 01.3 1.6v.1a9.3 9.3 0 00-.2-1 9.3 9.3 0 00-.3-.8 3.9 3.9 0 00-1.3-1 1.7 1.7 0 01.4 1.1v.1a1.6 1.6 0 00-.2-.7 1.7 1.7 0 00-.4-.6 2 2 0 00-.3 0 15.6 15.6 0 00-1 0c.2.1.4.4.4.6 0-.2-.3-.5-.6-.7h-.6l.3.3.2.5.2.6.4.4s.1 0 0 0c0 .1 0 .1 0 0a1.1 1.1 0 01-.5-.3 1.5 1.5 0 01-.2-.7 1.3 1.3 0 00-.2-.4 2.7 2.7 0 00-.3-.4h-.7l.2.8.1 1h-.1a7.1 7.1 0 000-1 4.5 4.5 0 00-.3-.8 1 1 0 00-.6-.5.6.6 0 010 .3h-.1a.5.5 0 000-.3c-.2-.5-.3-.7-.6-.8v.4l-.2.4h-.1l.1-.5v-.4c0-.6-.2-1-.8-1.2v.2l-.1.5h-.1v-.5a1.9 1.9 0 000-.3l-.5-.5a2.3 2.3 0 010 .7 3 3 0 01-.4.8h-.1a3 3 0 00.3-.8 2.2 2.2 0 00.1-.8 1 1 0 01-.2-.3v.2h-.1v-.2l.1-.1v-.1a.7.7 0 00-.3-.5 1.5 1.5 0 01-.2.5h-.1c-.1 0 0 0 0 0l.1-.3.1-.3a1 1 0 01-.1-.2.8.8 0 01-.1.2 1.2 1.2 0 01-.2.2c-.1-.1 0-.1 0-.1l.1-.2a.7.7 0 00.1-.2v-.2c0-.3 0-.4-.2-.7a.9.9 0 00-.3 0 2.8 2.8 0 00-.5.4v-.1a3.2 3.2 0 01.4-.3.9.9 0 01.4-.1.4.4 0 000-.2l-1 .3a1.6 1.6 0 01-.9-.2h.8c.3 0 .7 0 1.1-.2l.2-.6a1.7 1.7 0 01-.5 0l.6-.1v-.2c0-.2.3-.2.4 0 .2 0 .3.2.4.3.3.2.6 0 .9-.2h-.2v-.1h.3c.6 0 1 0 1.4-.5a7 7 0 01-1 0c-.2 0-.4 0-.6-.2l.7.1h1l.5-.3a5.4 5.4 0 01-2-.6 1.4 1.4 0 00-.6-.3c-.5 0-1 0-1.4.3l-.3-.3-.4-.2h-.6s-.1 0 0 0h1.2a4.5 4.5 0 011.7-.3 5.7 5.7 0 011.7-.2v-.2c.3-.3.4-.6.3-.9-.1-.2-.4-.5-.8-.7h-1.3a4 4 0 00-.8.1l.6.4.4 1v.1h-.2a2 2 0 00-.4-1c-.1-.2-.6-.3-.7-.4l-1.3.2-.7.4c.3-.1.6 0 .8 0 .3.2.5.4.6.8v.1h-.2a1 1 0 00-.5-.7c-.4-.2-1.2 0-1.6.3a4.2 4.2 0 00-.6.6h-.2v-.2l.7-.6.7-.4a2 2 0 011-.5l1.3-.2a1 1 0 00-.5-.5 1.4 1.4 0 00-.8 0c-.5.1-1 .4-1.5.7h.5l.1.2h-.5a1.4 1.4 0 00-.4 0l-1.5 1.2c-.5 0-.8 0-1 .2l-.1.6-.2.7c-.5.5-1 .9-1.3 1.5a1.4 1.4 0 01-.3.5.5.5 0 01.3.1v-.2l.2-.4h.1a1.2 1.2 0 00-.1.4v.5h-.2a.3.3 0 00-.1-.2.5.5 0 00-.3 0l-.3.2-.2.3c0 .3.2.3.5.3.6 0 .1.4.4.7l.5.4h.5c0-.4 0-.6.2-.6a.8.8 0 01.2-.4.8.8 0 000 .2.8.8 0 00-.1.2v.4a2.4 2.4 0 011-.2c.7-.8 1-.6.4 0l-.1.2a1.4 1.4 0 00-.2.6c-.2.1-1 .8-.7 1 .2 0 .4 0 .3.2-.1.2-.4.6-.3.9h.3a6.2 6.2 0 00.7-.6 3.8 3.8 0 00.5-.8h.1a9 9 0 01.3-.8c0-.2.1-.5.3-.7l.3.3a.4.4 0 00.2 0 .4.4 0 00.3 0l.2-.3h.1a1.2 1.2 0 01-.3.4.5.5 0 01-.3 0 .5.5 0 01-.2 0 1.1 1.1 0 01-.3-.3 12 12 0 00-.5 1.4v.1a5.6 5.6 0 01-1.2 1.4l.2.5 1-1 .8-1a6 6 0 01-.3.6v1.1h-.1v-.9l-.3.3a11.6 11.6 0 01-1 1c-.3.3-.6.3-.2.7l.3-.3.4-.3h.1v.1l-.4.3-.4.3a.6.6 0 00.1.3.5.5 0 01.1 0l.8-.6c.1 0 0 .1 0 .1l-.7.6a.7.7 0 01-.1 0c-.3.3-1.2.8-1 1.2l.6-.2.6-.5c.1 0 0 0 0 .1a2.5 2.5 0 01-.6.5v.2-.1a3.6 3.6 0 01-.7.1c.1.4 0 .7-.3 1 0 .1-1 .9-.6 1a1 1 0 00.3.2z"/>
+    <path d="M349.4 100.1a2.2 2.2 0 00-.6-.3 1.4 1.4 0 00-.5-.5c-.2-.2-.2-.1-.1-.3l.2-.1a.9.9 0 01.3 0 .4.4 0 01.2.2h.1c.1 0 0 0 0 0a.5.5 0 00-.2-.2 1 1 0 00-.4-.1.7.7 0 00-.4 0l-.2-.5.4.1.2.1a.7.7 0 00-.2-.2 2 2 0 00-.2 0 2.9 2.9 0 012.1.2c.4.1.6.3.8.6l-.2.2c-.5 0-.8 0-1 .2-.2.1-.2.4-.2.6z"/>
+  </g>
+  <path d="M365 121.8l-.4.2c0-.3.2-.4.3-.6v.2l.1.2zm2 4.2a2.3 2.3 0 01-.4.4 4 4 0 01-.5.4v-.1l.4-.4.4-.4zm1.3-1.6l-.2.3h-.1l.2-.3zm-.7 0a1.1 1.1 0 01-.2.3 1 1 0 01-.5.4v-.1a1 1 0 00.4-.3 1 1 0 00.1-.4h.1zm1.2-1.6a1 1 0 00-.1.2 1.1 1.1 0 00-.1.2h-.1a1.1 1.1 0 01.3-.5zm1 0v.5l-.3.5c-.1 0 0 0 0 0l.1-.5.2-.5zm-.4-6c.3.5.4 1 .4 1.5a7.3 7.3 0 01.1-.6 1.4 1.4 0 00.3-1.1c0-.1.1 0 .1 0v.6a1.7 1.7 0 01-.3.6l-.2 1h-.1v-.1c0-.6 0-1.2-.4-1.8v-.1zm-.8 1v.3h-.1v-.4h.1zm-.2 1.4a6.2 6.2 0 01.2 1.4 1 1 0 01.1-.1l.3-.3h.1a1 1 0 00-.3.3.7.7 0 00-.2.4 5 5 0 00-.1-.9 5.9 5.9 0 00-.2-.8zm1 .5a3.6 3.6 0 01.1 1.2v-.6a3.6 3.6 0 00-.1-.6zm1-.2v.6a1.5 1.5 0 010 .5 1.2 1.2 0 000 .6l.1.6a2.5 2.5 0 01-.3-.6 1.3 1.3 0 010-.6 1.4 1.4 0 00.2-.5 2.3 2.3 0 000-.6zm.5-1.5l-.1.3v.2h-.1v-.6h.1zm-.5-2.6v.2c.1 0 .1 0 0 0 0 .1 0 0 0 0v-.2s-.1 0 0 0c0-.1 0 0 0 0zm.2-2v.8a.8.8 0 00-.2.3 1.4 1.4 0 000 .6h-.1a1.4 1.4 0 010-.6.9.9 0 01.3-.4v-.7zm-2-.7c.4.2.6.4.8.7.2.2.3.5.3.9l-.6-.2v1.8c-.2.5-.5.8-1 1a3.8 3.8 0 000-1.8h.1a3.6 3.6 0 010 1.6 1.5 1.5 0 00.7-.8 3.7 3.7 0 00.1-1.9l.6.2c0-.3-.1-.5-.3-.8a2.5 2.5 0 00-.7-.6v-.1zm5.2-1v.2h-.1v-.2s0-.1 0 0h.1zm-1.2 0l.3.1a.8.8 0 01.1.2v.1a.8.8 0 00-.2-.2.6.6 0 00-.2-.2zm-1.8.5l.3.5v.6c-.1 0-.1 0 0 0l-.1-.6a1 1 0 00-.3-.5h.1zm-6 .5v.4l-.1.1v-.5zm1-.6l.2.4v.1h-.1v-.1l-.1-.3zm2.4 1.6v.1a1.1 1.1 0 010 .2.8.8 0 000-.2.6.6 0 00-.1 0v-.1zm.8-1.8v.2a.2.2 0 010 .2.1.1 0 000-.2c-.1-.1-.1-.1 0-.1zm-5.5.3a1 1 0 00.2.7c.2.1.2.3.3.4v.4h-.1v-.4a.9.9 0 00-.2-.3 1 1 0 01-.2-.4 1.1 1.1 0 01-.1-.4zm2.2 1.5l.2.7v.7c0 .3 0 .6.2.8l.6.7a2.9 2.9 0 01-.1-1l.3-1c.2 0 .2-.2.3-.3v-.4h.1v.4a1.5 1.5 0 01-.3.5 1.6 1.6 0 00-.3.9c0 .3 0 .6.2 1h-.1c-.4-.2-.6-.5-.8-.8a1.3 1.3 0 01-.2-.8v-.7a1.8 1.8 0 00-.2-.6c0-.1.1 0 .1 0zm-.9 1.4c0 .2 0 .5-.2.7a3.4 3.4 0 01-.4.6h.3a2.2 2.2 0 00.7-.6l.3-.3c.1 0 0 0 0 0a3.6 3.6 0 01-.2.4 2.5 2.5 0 01-.3.2 24.5 24.5 0 010 .4v-.2a1.5 1.5 0 00-.1-.1 2.2 2.2 0 01-.4.2l-.4.2v-.1l.4-.7.2-.7h.1zm-1 0v.1h-.1c-.1 0 0 0 0 0v-.2z"/>
+  <path d="M363 113.7c.2.3.2.6.2 1a1.9 1.9 0 01-.4.8 1.9 1.9 0 00-.5.6 2.6 2.6 0 00-.2.6l.2-.3.5-.3a4.6 4.6 0 001.1-.9h.1c.1 0 0 0 0 0a4 4 0 01-1.2 1 1 1 0 00-.4.3 2.3 2.3 0 00-.4.5c0-.4 0-.7.2-1l.5-.6.4-.8c0-.3 0-.6-.2-.9h.1zm2.3 3.5l.1.4.1.1c.2.3.3.5.3.8l-.1 1h-.1a1.8 1.8 0 00-.4-1 3.4 3.4 0 00-.8-.6v-.1c.4.2.7.4.9.7l.3.6a3.4 3.4 0 000-.6 1.3 1.3 0 00-.1-.7l-.1-.2c-.2-.2-.3-.3-.2-.4zm1 0l.1.2c0 .1 0 0 0 0h-.1l-.2-.2h.1zm1 .3l-.2.7-.2.7.2-.7.2-.7zm.7 4v.1a.3.3 0 010-.2zm-.7-1.2v.3l-.2.4v-.4l.1-.4h.1zm-1 0h.1v.1h-.1v-.1zm-1.1-.6a7.3 7.3 0 01-.1.2v.2h-.1a5 5 0 010-.2 5 5 0 010-.2h.1c.1 0 0 0 0 0zm-1.7 1.8a.7.7 0 00-.1.2 1.3 1.3 0 000 .2s-.1.1-.2 0v-.2a.8.8 0 01.2-.3h.1zm-4.8 4.6a.7.7 0 010 .2 1.1 1.1 0 01-.2.1c-.1 0-.1 0 0 0a.8.8 0 00.1-.3h.1zm.8-.4a.3.3 0 01-.1.2.6.6 0 01-.2 0 .4.4 0 00.1-.1.3.3 0 000-.1h.2zm1-.6a.5.5 0 010 .1.5.5 0 01-.2.1.4.4 0 000-.2h.2zm1.5-3.8l-.1.4a1.4 1.4 0 000 .4h-.1a1.4 1.4 0 010-.4v-.5h.1zm1-10.3a.9.9 0 01-.1.3 1.4 1.4 0 01-.2.3h-.1l.2-.3a.8.8 0 000-.3l.1-.1zm-1-1a1.9 1.9 0 01.1 1 1.8 1.8 0 000-.5 1.5 1.5 0 00-.2-.4c0-.1 0 0 0 0zm-1.4 1.7a1.5 1.5 0 01-.4-.4.7.7 0 01-.1-.4l.2.4.3.4zm1.5 2.6v.2h-.1v-.2zm-2-2l.6 1 .1.8c.2 0 .3-.1.4-.3v-.9a1.9 1.9 0 00.3-.6 3.5 3.5 0 00.1-.5h.1l.4.8.3.9h-.1a2.9 2.9 0 00-.3-.9 3.9 3.9 0 00-.3-.6 2.9 2.9 0 010 .4 2 2 0 01-.3.5l-.1 1-.4.3v.4h-.1c0-.4 0-.8-.2-1.2a2 2 0 00-.5-1zm1.2 5v.3l-.1.4h-.1v-.8h.1c.1 0 .1 0 0 0zm-2.2.9v.3l-.1-.3c0-.1.1 0 .1 0zm1.9-2.5a2.3 2.3 0 01-.2.6l-.3.5a1.1 1.1 0 00-.3.6 1.8 1.8 0 000 .7c0 .1 0 0 0 0a1.9 1.9 0 01-.1-.7c0-.2.1-.5.3-.7a2.1 2.1 0 00.3-.5 2.1 2.1 0 00.2-.6c.1 0 0 0 0 0zm-.5-.8v.6a2.2 2.2 0 01-.5.6 1.8 1.8 0 00-.4.5l-.2.5h-.1l.2-.6.5-.5a2 2 0 00.3-.5 1 1 0 00.1-.6h.1zm-2.4 1.2c0 .4 0 .7-.2 1-.1.3-.3.6-.6.8h-.1v-.1c.3-.2.5-.5.6-.8.2-.2.2-.6.2-1zm-3 1.7v.2l.1.1v.1h-.1l-.1-.2v-.2s-.1 0 0 0zm-1.3 0a2.7 2.7 0 000 .7l.4.6.1.5v.4l.4-.5a1.4 1.4 0 00.2-.6 1.6 1.6 0 010 .6l-.5.6h-.1a3.3 3.3 0 000-.5 1.8 1.8 0 00-.2-.4 2 2 0 01-.3-.7 2.7 2.7 0 01-.1-.7zm.2 4.2a2.6 2.6 0 01.1-.8h.1a2.5 2.5 0 00-.1.8h-.1zm-.2 1.1v-.4s0-.1.1 0v.4zm-.8 2l.2-.3.2-.3h.1a4 4 0 01-.2.4l-.2.2c-.1 0-.1 0 0 0zm-1.1-6.6v.2h-.1v-.2zm-2 4.5a2.9 2.9 0 000-.1v-.2h.1v.3zm5-8l-.3 1c0 .3.1.6.3.7.3.2.4.4.5.7v-.4c.1-.1.1-.3 0-.4h.1a2.7 2.7 0 010 1h-.1a6 6 0 010-.2l-.5-.6c-.3-.2-.4-.4-.4-.8l.2-1h.1zm-.4-1.3a2.5 2.5 0 010 .8 4 4 0 01-.3.7 2.4 2.4 0 00-.2 1c0 .4.1.7.3 1v.1a2.5 2.5 0 01-.2-2.1 3.8 3.8 0 00.2-.7c0-.3.1-.5 0-.8h.1c.1 0 0 0 0 0zm-2.3 3.3a.8.8 0 000 .4l.1.5c0 .1 0 0 0 0a1.5 1.5 0 01-.3-.5.9.9 0 01.1-.5h.1zm-1-.4v.3a.9.9 0 010 .3.4.4 0 00-.1.3l.1.2v.1a.8.8 0 01-.2-.3.5.5 0 010-.4.8.8 0 00.1-.2v-.3h.1zm5.8-8.6a2.3 2.3 0 00.3 1.5 2.6 2.6 0 01-.4-.7 2.3 2.3 0 010-.8h.1zm-.7.7a4 4 0 01.5 1.7h-.1a3.8 3.8 0 00-.5-1.6v-.1zm-3.6.1c-.4.5-.5 1-.6 1.3l.2.9.2.8a2.6 2.6 0 01-.2.8c-.1 0 0 0 0 0v-.8a2.3 2.3 0 000-.8 1.7 1.7 0 01-.3-1c0-.3.2-.7.6-1.2.1 0 0 0 0 0zm3.3-1.4v.5l-.4.4a.8.8 0 00-.3.4v.7c0 .1 0 0 0 0a1.9 1.9 0 010-.7 1 1 0 01.3-.5 1 1 0 00.3-.4.6.6 0 000-.4h.1zm-3.5.3v.7c0 .2-.2.4-.4.6a1.2 1.2 0 00-.4.6 2.9 2.9 0 00-.1.7h-.1a3 3 0 01.1-.8c0-.2.2-.4.4-.6l.4-.6a1 1 0 000-.6zm2 .1a.8.8 0 000 .2.5.5 0 00.1.3.6.6 0 01-.2-.2.8.8 0 010-.3h.1zm0-.5a.8.8 0 00-.5.4l-.2.7.2.5v.7a2.4 2.4 0 000-.7l-.3-.4a2 2 0 00-.5 1.2c0 .5.1 1 .5 1.5h-.1a2.7 2.7 0 01-.5-1.5c0-.5.2-.9.6-1.3 0-.3 0-.6.2-.8a1 1 0 01.5-.4zm-.7-.8v.1c0 .3 0 .6-.2.7a.8.8 0 00-.2.3 1.6 1.6 0 00-.1.4h-.1a1.7 1.7 0 010-.4 1 1 0 01.3-.4c.2-.1.2-.4.2-.6a2.7 2.7 0 000-.1h.1zm5.7 6l.1.5v.4a1.4 1.4 0 000-.4 1.9 1.9 0 00-.2-.4h.1zm0 2v.6l-.2.6-.3.6.2-.6a2.1 2.1 0 00.2-.6 1.6 1.6 0 000-.7h.1zm-1.2-1.8a2.5 2.5 0 01.7 2.5h-.1a2.4 2.4 0 00-.6-2.4v-.1c0-.1 0 0 0 0zm0 2a5.3 5.3 0 01-1 1.4 2.5 2.5 0 00-.5 1 1.4 1.4 0 00-.1-.6 1.9 1.9 0 00-.2-.4 1.4 1.4 0 01-.3-.9l.3-.8.3-.6a2.4 2.4 0 000-.6h.1c.1 0 0 0 0 0a2.6 2.6 0 01-.3 1.3 1 1 0 00-.3.7c0 .3 0 .6.2.8a2 2 0 01.3.8 2.6 2.6 0 01.5-.8 5 5 0 00.5-.6l.3-.7h.1zm-3.2-1a2.8 2.8 0 00.4 1.4v.1h-.1a2.3 2.3 0 01-.3-.7 3 3 0 010-.7zm-1.7 1v.3h-.1v-.3zm.6-1.6l-.1.5a1.4 1.4 0 01-.3.5c-.1 0 0 0 0 0l.2-.5a1.4 1.4 0 000-.5h.1zm-1.6 3.1a3.3 3.3 0 01-.3-1.7c0-.5.3-.8.6-1l.4-.7c.1-.2.2-.5.1-1s.1 0 .1 0v1l-.6.7a1.9 1.9 0 00-.5 1c0 .5 0 1 .3 1.7h-.1zm-1-1.1a.7.7 0 000 .3l.1.4a1 1 0 01-.2-.4.8.8 0 010-.4h.1zm4.6-3.2c.1.2.3.5.3.8 0 .3 0 .6-.2.9h-.1c-.1 0 0 0 0 0l.2-.9a1.5 1.5 0 00-.3-.8zm1.4-1.1a2.4 2.4 0 010 1.7 1.8 1.8 0 00-.2-.8 1.5 1.5 0 00-.5-.5c0-.1 0-.1.1 0a1.6 1.6 0 01.6 1v-.6a2.3 2.3 0 00-.1-.8zm.8-1.2l.4.8v1a2 2 0 000 .5 1 1 0 00.2.4 1 1 0 01-.2-.4 2.3 2.3 0 010-.5 3.5 3.5 0 00-.1-1 1.5 1.5 0 00-.4-.7c0-.1 0 0 .1 0zm-2.2-.2a1 1 0 00-.3.5v.7a2 2 0 010-.7c0-.2 0-.4.2-.5.1 0 .1 0 0 0zm-4.4 3a2 2 0 01-.3 1 2.5 2.5 0 01-.8.7c-.1 0 0 0 0 0l.7-.7c.2-.3.3-.6.3-1l.1-.1zm0-1.6v.5a2.2 2.2 0 01-.3.5l.1-.5v-.5h.1zm2.9-.2v1h-.1v-1zm.7-1.3c-.2.3-.3.5-.3.8l.2.7.3 1.2c0 .4-.2.7-.4 1.1l.3-1.1a1.9 1.9 0 00-.3-1.2l-.2-.7c0-.3 0-.6.3-.8.1 0 0 0 0 0zm-4.6-8.1a2 2 0 011-.5c.4 0 .8 0 1.2.3h.8-.8c-.4.5-.8.7-1.1.7a1 1 0 01-.9-.2c0-.1 0-.1 0 0a1 1 0 00.9 0c.2 0 .6-.1 1-.5a1.9 1.9 0 00-1-.1 2 2 0 00-1 .4c-.1 0 0 0 0-.1z"/>
+  <path d="M351.6 101a.3.3 0 01.3.3.3.3 0 01-.3.2.3.3 0 01-.2-.2.3.3 0 01.2-.3zm1.8 1.6a2.2 2.2 0 00.8-.7c.1 0 0 0 0 .1a2.3 2.3 0 01-.2.3l-.5.4c-.1-.1 0-.1 0-.1zm3.7-1.6a.5.5 0 01.3 0 .8.8 0 01.3.2.7.7 0 00-.3 0 .5.5 0 00-.2 0l-.1-.1zm-2 .1a.8.8 0 01.3-.4l.7-.1v.1a1 1 0 00-.7 0 .7.7 0 00-.3.5c-.1 0-.1 0 0 0zm.2.4a.4.4 0 010-.3.6.6 0 01.3-.1h.1a.5.5 0 00-.3.2.3.3 0 000 .2h-.1zm-3.6 1.1l-.1.3a.8.8 0 000 .3l-.1.1a1 1 0 010-.4c0-.1 0-.2.2-.3zm1 .5v.2-.2zm-.6-1.1a1 1 0 00.3 0h.3a1.4 1.4 0 01-.3.1 1 1 0 01-.3 0s-.1 0 0-.1zm.6-2a.3.3 0 00-.2.1.4.4 0 00-.1.2h-.1a.5.5 0 01.2-.3.4.4 0 01.2 0h.1zm-1 .2a.8.8 0 00-.2 0 .3.3 0 000 .2h-.1c-.1 0 0 0 0 0a.4.4 0 010-.2.9.9 0 01.3-.1zm-.7 0a.8.8 0 00-.1.1.7.7 0 00-.1.2h-.1a.7.7 0 01.1-.2.9.9 0 01.2-.2v.1zm-.8.7a1.7 1.7 0 00-.4.4v-.1a2 2 0 01.4-.4zm0 .9v.1l-.2.2c-.1 0-.1 0 0 0v-.2l.2-.2c.1 0 .1 0 0 0zm-.7.2v.3l-.1.1c-.1 0 0 0 0 0v-.4zm1 1.4v.6h-.1v-.6h.1zm-.6-.4v.3h-.1v-.3h.1zm-.6-4.5a.7.7 0 01.5.4v.1h-.1a.7.7 0 00-.2-.3.7.7 0 00-.2-.1v-.1zm5.2 6.7a1.6 1.6 0 010 1.4h-.1a1.6 1.6 0 000-1.3v-.1zm-1.7 2c0-.3.2-.5.3-.7l.4-.6c.2-.2.3-.4.3-.7a1.8 1.8 0 000-.7h.1a2 2 0 01-.3 1.5 6.3 6.3 0 00-.4.5l-.3.7h-.1zm-2.2-.6a.7.7 0 01.2-.3.9.9 0 01.3-.1.8.8 0 00-.2.2.6.6 0 00-.2.2zm-.4-.2l.3-.3.3-.2v.1a1 1 0 00-.3.2 2 2 0 00-.2.3c-.1 0-.1 0 0 0zm2.3-2.2h.2a.8.8 0 00.3 0v.1a.8.8 0 01-.6 0c0-.1 0-.1 0 0zm-1.2-.1l.1-.1c.1 0 .1 0 0 0v.1c-.1 0 0 0 0 0zm24.2 7a1.1 1.1 0 01.2.3h-.1a.8.8 0 000-.1.8.8 0 00-.2-.2c0-.1 0 0 0 0zm-26.8 12.5l.3.3a1 1 0 00.5 0v.1a1 1 0 01-.5 0 1.7 1.7 0 01-.4-.3c0-.1 0-.1 0 0z"/>
+  <g fill="red">
+    <path d="M368.9 99.6a8.2 8.2 0 001.7 0c-.6.3-1.2.6-2 .7a.8.8 0 00.3-.4.4.4 0 000-.3zm-1.4-.1h1.2v.4s0 .2-.2.3c0 0-.1 0 0 .1a5.6 5.6 0 01-1.3 0 1 1 0 00.3-.5.6.6 0 000-.4zm-10.5-3c.7-.2 1.3-.2 2-.2a1 1 0 01.5.4c.1.2.2.5.1.8l.1.1h.1l-.1-1a1 1 0 00-.3-.2h.2a5 5 0 012.1.6c.2.2.3.3.2.5l-.3.5v.2h.2l.3-.7a.7.7 0 000-.3l1.7.8a.5.5 0 010 .5 1 1 0 01-.5.3v.1l.1.1c.3 0 .5-.2.6-.4a.6.6 0 000-.4l1.2.6v.3c0 .2-.1.3-.3.4 0 0-.1 0 0 .1 0 .1 0 0 0 0 .3 0 .5-.2.6-.4a.5.5 0 000-.3l.4.1a8.1 8.1 0 001.3.4.5.5 0 01.1.4.7.7 0 01-.2.3v.2c-1.4-.1-2.7-.9-4.1-1.4l-.5-.2-1.6-.6-.1-.1a8.5 8.5 0 00-1.5-.4 6.1 6.1 0 00-1.6 0h-.1l-.1-.8a1.3 1.3 0 00-.5-.4z"/>
+    <path d="M354.6 97a8.7 8.7 0 012-.5c.4.1.6.3.7.5v.6a4.2 4.2 0 00-1.7.2 1.2 1.2 0 00-.7-.6 1.2 1.2 0 00-.3-.1zm7.4 3.9a9.4 9.4 0 00-.5-.4 7 7 0 00-3-.8c.3-.4.4-.8.3-1.1a1.7 1.7 0 00-.7-.8h1a8 8 0 012 .6c0 .3.1.6 0 .8 0 .3-.2.5-.5.7 0 0-.1 0 0 .1 0 .1 0 .1 0 0 .4-.1.6-.4.7-.7v-.8l1 .6 1 .8c0 .4 0 .6-.3.8h-.9v.2z"/>
+    <path d="M364 102.4l-1.8-1.4c.4 0 .7 0 1-.2.1-.1.3-.4.3-.8l1.1 1 .6.5v.4a.5.5 0 010 .2.6.6 0 01-.4.2h-.7z"/>
+    <path d="M366.2 103.8a11.8 11.8 0 01-2-1.3h.7a.8.8 0 00.4-.2l.1-.4a1 1 0 000-.2 10.5 10.5 0 002.1 1.4c0 .3 0 .4-.3.5a3 3 0 01-1 .1z"/>
+    <path d="M368.4 104.7a11.9 11.9 0 01-2-.8c.4 0 .7 0 1-.2.2 0 .3-.2.3-.5a10.8 10.8 0 001.3.6v.4l-.5.4s-.1 0 0 0z"/>
+    <path d="M373.2 104.2s.4-.1.2 0c-1.4 1-3.1 1-4.8.5.3-.1.5-.2.6-.4a.6.6 0 000-.5l1.7.4a.4.4 0 01-.1.3l-.5.3s-.1 0 0 .1c0 .1 0 0 0 0 .3 0 .5-.2.6-.3a.6.6 0 00.2-.4 9 9 0 002 0zm-9.7 24l-.2.4-1.2.3c0 .3 0 .4.3.4l.7-.3c.1 0 0 .5-.5.8v.1c.4.6 1.4.4 1.9.3a3 3 0 001.3-1l-.3-.6c-.4.1-.6 0-.5-.2a3.9 3.9 0 00-1.5-.2zm-15.1-4.8c-.3.3-.7.5-1 .6-.2 0-.6.1-.6.3 0 .1.2.3.4.2.4-.5.7-.2.2.2v.3c.5.4 1.6.5 2.2.2.3-.2.6-.5.2-.9a1.7 1.7 0 010-.2h-.6l-.4-.3-.4-.4zm10 3.5h-.1c-.2.2.3.2.6.3.2.1.2.3.2.5-.3.7-1.9.5-2.4.2-.2-.1-.2-.3-.2-.5h.3c.2 0 .4 0 .6-.2v-.2h-.2a1.3 1.3 0 01-.4.2 2.6 2.6 0 01-.5 0l-.2-.2h.2l.7-.2.1-.1c.5 0 1 0 1.3.2zm-7.2-.4l-.2.3a2.7 2.7 0 01-.9.6c-.2.1 0 .2.2.4.2.1.5-.2.6-.4.2-.3.3-.2.2 0l-.2.7.7.3c.4 0 1-.4 1.2-.6.3-.2.2-.5.1-.8a2 2 0 01-.5 0 3.4 3.4 0 01-.5-.3l-.7-.2zm2.8-26.4h.3l.6.1a4.5 4.5 0 011.7-.3 5.7 5.7 0 011.7-.2v-.2c.3-.3.4-.6.3-.9-.1-.2-.4-.5-.8-.7h-1.3a4 4 0 00-.8.1l.6.4.4 1c-.2.1-.2 0-.2 0 0-.4-.2-.6-.3-.9l-.8-.4a9 9 0 00-1.3.2c-.3 0-.5.2-.7.3l.8.1c.3.1.5.4.6.8-.1.1-.1 0-.1 0a1 1 0 00-.5-.6c-.4-.2-1.3 0-1.7.2a4.2 4.2 0 00-.6.6l2 .4zm-2.3-.4v-.1l.7-.6.7-.4a2 2 0 011-.5l1.3-.2a1 1 0 00-.5-.5l-.8-.1-1.5.8h.5l.1.2h-.4a1.4 1.4 0 00-.4 0h-.1l-1.3 1c.3.1.6.2.7.4z"/>
+  </g>
+  <path fill="#0093dd" d="M409 156.5l20.8-47-15.3-24.7-27.3 10-12.7 49.8a219.4 219.4 0 0134.5 11.9z"/>
+  <path fill="#fff" d="M382.6 113a251.7 251.7 0 0139.6 13.7l-8 18.2a232 232 0 00-36.5-12.7z"/>
+  <path fill="red" d="M415.4 142l5.4-12.2a248.6 248.6 0 00-39-13.5l-3.2 12.4a235.9 235.9 0 0137 12.8l-.1.4z"/>
+  <path d="M385.6 125.8c.3-.3.7-.2 1.1-.1.3-.2.7-.2 1-.2l.6-.2c.2 0 .2-.2 0-.3a.6.6 0 010-.3c-.7-.4-1-1-1.2-1.5-.3 0-.5-.2-.5-.3h-.5c-.8 0-1-.3-1.3-.5a1 1 0 01-.6-.4l-.3-.3c-.2-.3-.1-.7.2-.7h.7a2 2 0 01.9-.1c.3 0 .5-.3.9-.6v-.4s0-.2.2-.1a1 1 0 01.8.5c.5 0 1 .3 1.2.7.7 0 1.1.3 1.2.5 0 .2-.2.4-.5.6v.2l.4.4 1 .7c1-.1 2.6.6 4.8 2a18.6 18.6 0 014.1 1.2h.9c2.4-.4 4.7 0 6.8 1.5.8.1 1.5.4 2.2.7.5.2 1 .3 1.6.3a8 8 0 012.6.7c1 .2 1.9.6 2.4 1.2.4.5.3 1-.2 1.2-.3.6-.9.6-1.8.3-.6.1-1.3-.4-2-.9-.8-.2-1.6-.8-2.4-1.3l-1.3-.6h-.8v.2c.2.2.4.4.4.8v1c0 .4.3.6.7.9l1 .4c.2 0 .3.1.3.3l.4 1.7.4.3c.6.5.2 1-.3 1a3.1 3.1 0 01-1.3.8c-.4.2-.6 0-.7-.2a.5.5 0 01-.4-.2c-.5-.4-.1-1 1-.7l.2-.2a1.5 1.5 0 010-.9l-.3-.2a2.8 2.8 0 01-1-.6c-.6-.5-1.5-1-2.4-1.4-.7 0-1.2-.4-1.8-.7h-.8c-.2 0-.4 0-.5.2-.2.3-.5.2-.8.2h-1.6c-.4 0-.7 0-1 .3-.2.2-.4.2-.7 0a1 1 0 01-.3-.2c-.3 0-.5 0-.5-.2-.5-.1-.6-.2-.6-.4-.6-.1-.3-.6 0-.6l1.4.1c.4.1 1 0 1.2-.2l.5-.5a4 4 0 01-1.8-.5c-1.1-.7-2-.9-2.8-.3-.2.2-.3.2-.6.1a1 1 0 00-.5 0c-.5.1-.9 0-1.3-.1a4 4 0 01-1.8 0c-.6.3-1 .4-1.2.2a8.6 8.6 0 01-.6-.4c-.4-.1-.5-.2-.5-.3-.4 0-.5-.2-.5-.4-.2-.2 0-.3 0-.4.4-.2.7-.2 1 0 .3 0 .5.2.6.3h.6c.1-.2.5-.2 1-.2l.7-.2v-.2c-.4 0-.6-.4-.9-.7a3 3 0 01-1.5-.5c-.4 0-.7-.1-1-.3h-.7a2.5 2.5 0 01-1.4 0h-.8a1 1 0 01-1 .2 1.5 1.5 0 00-.8-.5c-.3-.1-.4-.2-.4-.4-.4-.2-.3-.4 0-.5.3-.1.5-.2 1 0l.5.2z"/>
+  <path fill="#fff" d="M401.2 130.5s0-.2-.3 0c-.8 0-1.6 0-2.2-.4-.7-.4-1.3-.8-2-.8l.7-.4h1.5c.7 0 1.4.2 2 .4.4.2.8.5 1 .8a3.4 3.4 0 01.8.7 2.5 2.5 0 01-.7 0 2.9 2.9 0 01-.8-.3z"/>
+  <path d="M403 94.7v.2l.9 4.9-3.7 3.2-.2.1.2.1 4.7 1.6 1 4.9v.2l.2-.1 3.7-3.3 4.6 1.6h.3v-.1l-1-4.9 3.7-3.2.2-.2h-.3l-4.6-1.6-1-4.9V93l-.2.1-3.7 3.3-4.7-1.6z"/>
+  <path fill="#f7db17" d="M400.6 103l3.5-3 4.4 1.4zm8.5-1.7l3.4-3 4.4 1.5zm7.8-1.3l-3.4 3-4.4-1.5zm-8.4 1.6l-3.5 3-4.3-1.5zm-5-6.4l4.3 1.4.8 4.6zm5.5 6.4l4.4 1.5.9 4.5zm5.1 6.1l-4.3-1.5-.9-4.5zm-5.6-6.4l-4.3-1.5-.9-4.5zm3-7.7l1 4.6-3.5 3zm-2.7 8.1l.8 4.6-3.4 3zm-2.8 7.5l-.9-4.5 3.5-3zm2.8-8l-.9-4.6 3.5-3z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ht.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ht.svg
new file mode 100644
index 0000000..14f67d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ht.svg
@@ -0,0 +1,116 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ht" viewBox="0 0 640 480">
+  <path fill="#d21034" d="M0 0h640v480H0z"/>
+  <path fill="#00209f" d="M0 0h640v240H0z"/>
+  <g fill="#f1b517" stroke="#000" stroke-width=".2">
+    <path fill="#fff" stroke="none" d="M244.3 179.7h151.4v120.5H244.3z"/>
+    <path fill="#016a16" stroke="#016a16" stroke-width=".3" d="M350.5 266.8l-31 1-30.7.3s-15.8 5.8-22.3 7.1c-6.4 1.3-5.6 3.4-10.5 4.6-4 .9-4.5 1.1-6.8 1.3-1.5 0-3.2 1.2-5 2.4v16.7h151.5v-15.9c-1.6-.9-3.2-1.5-4.8-2-2.2-.8-3.7-1.6-7.7-2.5-5-1.1-4.2-3.3-10.6-4.6-6.5-1.3-22.1-8.4-22.1-8.4z"/>
+    <g transform="translate(-80) scale(1.6)">
+      <g id="a">
+        <path d="M244.5 143.5h1.4l2.6 10.7-.6 3.4-3.4-14z"/>
+        <path fill="#fff" d="M243 136.3l1 8.3h1l-2-8.2z"/>
+        <path d="M245.7 154.6l-4.3-11.5 1.6-.1 5 14-2.3-2.4z"/>
+        <path fill="#fff" d="M239.4 136.5l1.8 8h1.4l-3.2-8z"/>
+        <path d="M241.9 150.6l-2.5-5.5 1-.2 4.7 9-3.2-3.3z"/>
+        <path fill="#fff" d="M236 138.8l2.9 7.6h1.4l-4.2-7.6z"/>
+        <path fill="#0a328c" d="M242.3 151.4l-11.5-12.5c-3.6 2.8-2.9 8-2.9 8l13 10.2 1.3-5.7z"/>
+        <path fill="#d20014" d="M248.9 158.2l-8.5-8.6c-3.6.2-.8 5.5-.6 6.2l9 7.7v-5.3z"/>
+        <path d="M248.1 156.8L230.6 138l-.7.5 18.6 20.6-.4-2.3zm-18.5-20l-.4-.5v-.9l-3.6-2.3 1.6 3.7 1.3.2.3.4.8-.6z"/>
+        <path d="M227.7 138.1a8.4 8.4 0 012.7-2.2l1 1.5-2.2 1.8-1.5-1z"/>
+        <path fill="#0a328c" stroke="#0a328c" d="M225.8 141.3l.6 1c.4-.1 4-3.5 4-3.5h2.7l.7-.9c-2-2-3.7.3-3.7.3l-4.3 3z"/>
+        <path fill="#d20014" stroke="#d20014" d="M228 143c0-1 1.8-3.2 2-3.3 1.3.4 2.5 1.2 3.9-1.8-1.2 1.4-3.5 0-3.5 0l-1 .8v.4l-3 2.8 1.5 1.1z"/>
+        <path fill="#0a328c" d="M237.3 154.7l-14.4-11.4c-2.5 2.5-.4 10.2-.4 10.2l14 7.6.7-6.4z"/>
+        <path fill="#d20014" d="M249.2 164l-11.9-9.6c-4 .6-.8 6.5-.6 7.2l12.5 6.8v-4.5z"/>
+        <path d="M248.7 162l-25.6-19.2-.5.6 26.8 21-.7-2.4zm-26.8-20.2l-.4-.4-.2-.8-4-1.7 2.3 3.3h1.3l.4.4.6-.8z"/>
+        <path d="M220.3 143.4a8.2 8.2 0 012.3-2.6l1.2 1.3-1.8 2.1-1.7-.8z"/>
+        <path fill="#0a328c" stroke="#0a328c" d="M219 146.6v1.1c.4-.2 3.7-3.7 3.7-3.7l2.5-.5.6-.8c-1.8-2.1-3.7.7-3.7.7l-3.2 3.2z"/>
+        <path fill="#d20014" stroke="#d20014" d="M221 148.5c-.2-1 1.2-3.8 1.4-4 1.6.5 3 1.2 3.5-2-1 1.6-3.5.4-3.5.4l-.8 1v.5l-2.5 3.3 1.9.8z"/>
+        <path fill="#0a328c" d="M236.2 161.7a2783.3 2783.3 0 01-18.5-10.5c-1.3 2.3-.1 5.5.5 6 0 1.5-.6 2.3.7 5.5.4 2 1.3 3.9 2.7 5 1.6 6.4 8.2 6.9 10.7 1.6l4-7.6z"/>
+        <path fill="#d20014" d="M248.3 168.5l-12.5-7.3c-4 .5 0 8 .3 8.7l12.2 4.3v-5.7z"/>
+        <path d="M246.2 165.8l-28.3-15-.5.6 30 16.7-1.2-2.3zM216.5 150l-.5-.3-.3-.8-4.1-1 2.7 2.9 1.2-.2.6.3.4-.9z"/>
+        <path d="M215.2 151.8c.4-1 .8-1.9 1.8-3l1.4 1.1-1.4 2.4-1.8-.5z"/>
+        <path fill="#0a328c" stroke="#0a328c" d="M214.1 155.2l.6 1.2 3-4.6 2.5-.9.5-1c-2-1.8-3.5 1.4-3.5 1.4l-3.1 3.9z"/>
+        <path fill="#d20014" stroke="#d20014" d="M216.8 156.8c-.2-1 .5-4.2.7-4.3 1.5.5 2.8.6 3.2-2.6-1 1.5-3.3 1-3.3 1l-.7 1 .1.4-2 4 2 .5z"/>
+      </g>
+      <use width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)" xlink:href="#a"/>
+    </g>
+    <g transform="translate(-80) scale(1.6)">
+      <path fill="#016a16" stroke="#016a16" d="M248.8 125.6l-.5 9h2.9l-.4-9 3-.3-.3-3.6-7.5.3v3.2l2.8.4z"/>
+      <g id="b" fill="#016a16">
+        <path d="M249.8 121.9c-7.8-7.8-13.9-4-15.3-2.9 1 .2 1.8-.4 2.3-.5l-1 1.2s2.5-1 2.8-1c-.4.3-.8 1-.8 1 .2 0 1.6-1.1 1.8-1.1-.4.4-.5 1.5-.5 1.5l1.2-.5c.3.2-.1.6.1.6 2-.2 4.7 1.7 5 2.3"/>
+        <path d="M247.9 123.3c-.8-1.8-15.6-5-18.6.3 1.2.3 2.3-1 2.3-1v1.2l1.9-1.6-.7 1.6 1.5-1.3v1.3l2-2-.3 1.1 1.7-.7-.2 1"/>
+        <path d="M247.2 123.6c-3.8-2.5-9.6-.8-9.6-.8-3.8 2-5.8 1.7-6.2 5.6.3-.1 1.3-1.4 1.3-1.4l.8 1.5.2-2.1.6 1.7 1-2.8.2 1.9 1.4-1.9.6.6.6-1.5.6 1s1-.6 1.5-.3l1-1.2.3.9 1-1 .3.7.9-.8v.6h3"/>
+        <path d="M246.4 124c-2.7 0-10.3 2.9-12.2 5.8a13.3 13.3 0 011.3-.6l.3 1.2.5-1.2.1 1c.3-.8.6-.8 1.2-.1l.2-1.1.3 1 .5-1.1s.3 1.2.5 1.2c0 0 .8-2.2 1.2-2.3l.1 1.4.5-1.4.5 1v-1.4l.6 1s.2-1 .6-1.2l.8.7 3.4-2.5"/>
+        <path d="M246.9 124.7c-3.5 1.3-6.7 6.2-6.4 8.2 1.5-2 1.2-1.7 1.9.6 0 0 .2-2 .5-2.2l.5 1.4.1-1.9h.5l-.1-1.1.7.5c-.2-.7-.3-.9.4-1.5 0 0-1 .1-.2-1.5l.7.6s-.2-.7 0-1l2.6-.8"/>
+        <path d="M247.2 125l-1.3 2.6.7.2-1.6 1.1 1.3-.1s-2 .7-2.2 2.7l2-1s-1.7 1.8-2 2.9l1.3-1s-1.2 1.2-1 3l.9-1c-.2 2.3-.2 2.5.8 4.2 0 0-.2-2.6 0-3l2.3 2.4-1.2-3.3s1.4 2 2.2 1.9l-1.8-2.7 1.8 1.4-2-3 1.8.6s-1.3-1.7-1.2-2.8l1.3 1.4s-.5-1.5-.4-2l.7.1-1.3-1.4.9-.2-.1-1 .6-.1v-1.1m-1.1 0c-2.2 3-1.1 7.5-2.4 9.9"/>
+      </g>
+      <use width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)" xlink:href="#b"/>
+      <path d="M251 166.5s1.1-10 1.1-14.2c0-3.4-.8-10.8-.8-10.8H248s-.5 7.4-.4 10.8c0 4.2 1.1 14.2 1.1 14.2h2.3z"/>
+      <path d="M247.7 142h4l-.5-2.7h-2.9l-.6 2.6z"/>
+      <path d="M248 139.8h3.5l-.7-2.7h-2.2l-.7 2.7z"/>
+      <path d="M248.2 137.7h3l-.6-2.7h-1.9l-.5 2.7z"/>
+      <path d="M250.7 134.7h-2l-.3 1h2.5l-.2-1zm.4 29.7h-2.6m2.8-2h-3m3.4-2h-3.8m4-2.1h-4m4-2.2h-4.1m4.2-2h-4.4m4.4-1.7h-4.6m4.6-2.2h-4.6m4.5-2.1h-4.5m4.3-2.2h-4.1m3.9-2h-3.7"/>
+      <path fill="#0a328c" stroke="#0a328c" d="M250 119c-.8-.3-2.3-1.3-1.9-1.9l.7-1.2c1-2.2 0-1.4 0-2-.2-.8 3.8-.2 3.8 1.3 0 .5-.3.2-.2 2.6l-.8 1.5a3.5 3.5 0 01-1.7-.2z"/>
+      <path d="M250.4 125l-1-.9.3-7.1 1 .3-.3 7.6z"/>
+      <path fill="#d20014" stroke="#d20014" d="M251.7 119.3c.6-.4 1-1.5.6-2.1-1-1.3-1.7-.8-3.4-1.4-.3.4-1 1-.9 1.6 2.3 1 1.4.2 2.2.3.4 0 .6.5 1.5 1.5z"/>
+    </g>
+    <g transform="translate(-80) scale(1.6)">
+      <use width="100%" height="100%" transform="matrix(1 0 0 -1 0 320.4)" xlink:href="#c"/>
+      <path fill="#016a16" stroke="#fff" stroke-linecap="round" d="M238.4 161.8c0 1.2-.9 2.3-1.9 2.3s-1.8-1-1.8-2.4v-1.2h3.7v1.2z"/>
+      <ellipse cx="236.5" cy="160.1" fill="#fff" stroke="none" rx="1.8" ry=".9"/>
+      <path fill="#016a16" stroke="#f1b517" d="M236.1 161l-.3-3.2h1.4l-.2 3.3h-.9z"/>
+      <path id="c" fill="#016a16" stroke="#fff" stroke-linecap="round" d="M238.5 160.1c-.2.5-1 .9-2 .9s-1.7-.4-2-.9a.8.8 0 000 .4c0 .7.9 1.2 2 1.2 1.2 0 2.1-.5 2.1-1.2a.8.8 0 000-.4z"/>
+      <g id="d">
+        <path d="M246 172.8l-7-2.2-3.1-5.3-10.9-.5.4 4 9.3 1.7.8 1.6 10.7 3-.2-2.3z"/>
+        <path fill="#503200" d="M238.7 174.3l-11.2-16.5-.5.5 11 16.4.7-.4z"/>
+        <path fill="#fff" d="M228.6 158.5l-1.2-2c-.3-.4-.6-.5-1.1-.2-.5.2-.4.7-.2 1.1l1 1.9 1.5-.8z"/>
+        <path d="M240 164.1l-22.5-2.3-.6 3.3 22.4 2.3.7-3.3z"/>
+        <path d="M217 161l-.5 4.5h1l.6-4.1-1-.4zm3.8.7l-.2 4.1h.6l.5-3.5-.8-.6zm15.3 1.8l-.6 3.8h1.1l.5-3.8h-1zm3.3.1l-.7 4.4 1.2.2.4-2.3c0 .5.5.8 1 .8.6 0 1-.5 1-1 0-.6-.4-1-1-1a1 1 0 00-1 .6l.3-1.6-1.2-.1zm-8 .7l-3.2 3.5.4.4 4-2.7-1.3-1.2zM224 173l3.1-3.5-.3-.4-4 2.7 1.2 1.2zm8.1-.9l-3.7-2.9-.4.3 3 3.8 1.1-1.2zm-9.3-6.7l3.9 2.8.4-.3-3-3.8-1.3 1.3zm4.2-2.3l.4 4.6h.5l1.2-4.5-2.1-.1zm1.2 11l-.3-4.5h-.6l-.7 4.6h1.6zm5.1-6l-4.8.4v.5l4.8.6V168zm-11.4 1.5l4.7-.7v-.4l-4.8-.5v1.6z"/>
+        <ellipse cx="227.7" cy="168.6" rx="1.3" ry="1.2"/>
+        <path fill-rule="evenodd" stroke-linecap="round" d="M234.4 168.6c0 3.5-3 6.5-6.7 6.5a6.6 6.6 0 01-6.7-6.5c0-3.6 3-6.5 6.7-6.5a6.6 6.6 0 016.7 6.5zm-1.3 0a5.3 5.3 0 01-5.4 5.2 5.3 5.3 0 01-5.4-5.3 5.3 5.3 0 015.4-5.1 5.3 5.3 0 015.4 5.2z"/>
+        <path d="M223.5 165.3l-1-.8m8.5 0l1-1m1 9.2l-1.1-.9m-8.4 1.9l1-1m21.7-10.6l1.1 6-.9.4-1-6.3h.8z"/>
+        <path fill="#fff" d="M245.6 161.4c-.5-.3-1.2.1-2.4-1.3-1.9 1.7 0 2 .2 3.7.5.2.9-1.4 2.3-1.5l2.3-.2-.5-.7h-2z"/>
+        <path fill="#fff" d="M246.4 162.5l-.2-1.7c-.3-.7-1-.1-1 .2l.2 1.7 1-.2z"/>
+        <path fill-rule="evenodd" d="M240.8 167.4v1.6c-.6.2-.5.6-.5 1.2v4.7c-.1.4-.7.4-1 .6-.3.3-.2.8 1 1l1 .1c1.5-.3 1.8-.8 1-1-.3-.2-.9-.4-1-.6v-1.2h1c.2 0 .7-.6.7-1.1v-2.5c0-1.4-1-1.6-1.4-1.5v-1.3h-.8zm1.6 2.7c0-.4-.6-.8-.8-.8-.2 0-.7.5-.7.9v1c0 .4.3 1.6.9 1.7.2 0 .6-.4.6-.8v-2z"/>
+        <path fill="#fff" d="M234.3 172.3c-.7-.2-.7 1.2-.7 1.2h1c.5.2.8.8.6 1.2-.3.2-2.2-.5-2.3 0 .3 1.9 2.9 2.6 3.8 1.8.9-.9 1.1-3-1.8-3.7l-.6-.5zm.6.6l-.3.6"/>
+        <path d="M215 173l-1-4m2.1 3.8l-1.5-3.1m4 2.3l-3.3-1.8m4.8 1.4l-6.2-2.7"/>
+        <path fill="#d20014" stroke="#d20014" d="M210.2 166l-2.6.1c-.2.1.5.9.4 1.1-.6 1.1-4.4 1-4.7.8-.5-.5 3.5-.8 3.6-1 0-.4-.6-1.2-.5-1.7 0-.7 1.7-1 1.7-1l2.1 1.7z"/>
+        <path fill="#503200" d="M213.2 168l-5-4.2s-.3-.2-.5 0 0 .4 0 .4l5.4 4.4.1-.5z"/>
+        <path d="M218.2 172.2l-4.2-3.6-.3-1-.8.6c-.3.2-.6.8-.6.8h1.1l3.6 3.4 1.1-.2z"/>
+        <circle cx="232.5" cy="177.1" r=".7"/>
+        <circle cx="230.6" cy="175.7" r=".7"/>
+        <circle cx="228.1" cy="176.6" r=".7"/>
+        <circle cx="224.2" cy="177.4" r=".7"/>
+        <circle cx="222.5" cy="177.6" r=".7"/>
+        <circle cx="220.8" cy="177.6" r=".7"/>
+        <circle cx="219.2" cy="177.6" r=".7"/>
+        <circle cx="220" cy="176.3" r=".7"/>
+        <circle cx="221.6" cy="176.4" r=".7"/>
+        <circle cx="223.1" cy="176.2" r=".7"/>
+        <circle cx="222.4" cy="175" r=".7"/>
+        <circle cx="220.8" cy="174.9" r=".7"/>
+        <path fill-rule="evenodd" d="M236.5 178c0-.3-.8-.2-.8-.6 0-.4 1.2 0 1.3.3.7-.6 1-.2 1.4 0 .6-.8 1.3-.8 2-.2.4-.4 1.4-.3 1.7.2.7-.6 1.3-.5 1.7 0 .2-.3.5-.3.7 0 .3-.7 1.2-.5 1.6 0 .3-.4.7-.1 1.1.1.3-.2.8-.2.8 0 0 .4-.6.3-.6.6 0 .2.4 0 .4.4 0 .3-.6.4-.7 0-.3.4-1.1.2-1.2-.2a.8.8 0 01-1.2 0c-.3.2-.7.2-.8 0-.5.5-1.4.4-1.7-.2h-.3a1 1 0 01-1.5 0c-.9.6-1.4.4-1.9 0-.5.7-1.4.7-1.5 0-.4.3-1.2.4-1.2 0 0-.2.7-.1.7-.4zm1.6.1c0 .2-.2.3-.4.3s-.4-.1-.4-.3.1-.2.4-.2.4.1.4.2zm1.9-.2c0 .2-.3.3-.6.3s-.5-.1-.5-.3c0-.1.2-.3.5-.3s.5.2.5.3zm3.5.2c0 .2-.2.3-.5.3s-.4-.1-.4-.3c0-.1.2-.3.4-.3s.5.1.5.3zm-1.9 0c0 .2-.2.3-.5.3s-.4-.1-.4-.4c0-.2.2-.4.4-.4s.5.2.5.4zm4 0c0 .1-.1.3-.3.3-.3 0-.5-.2-.5-.4s.2-.3.5-.3c.2 0 .4.1.4.3zm-1.2 0c0 .2 0 .3-.2.3s-.3-.1-.3-.3.1-.2.3-.2l.2.2zm2.4.1c0 .2 0 .4-.3.4-.1 0-.3-.2-.3-.4s.2-.3.3-.3c.2 0 .3.1.3.3z"/>
+      </g>
+      <use width="100%" height="100%" transform="matrix(-1 0 0 1 499.9 0)" xlink:href="#d"/>
+      <path fill="#0a328c" stroke="#0a328c" d="M249.8 165.7c-2.5 0-4.5 1-4.5 2.1 0 .2 0 .4.2.6.5.6 2.3 1 4.4 1 2 0 3.6-.3 4.2-.9.2-.2.3-.4.3-.7 0-1.1-2-2-4.6-2z"/>
+      <path d="M254.4 168v7c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-7c0 .8 2 1.5 4.5 1.5 2.6 0 4.6-.7 4.6-1.5z"/>
+      <path fill="#d20014" stroke="#d20014" d="M245.3 168v1l2.2 7 1.8-5.4 2 5.5 1.3-5.2 1.8 3.5v-1.9l-1.6-3.4a8.3 8.3 0 01-.6.2l-1 3.8-1.5-3.6a14.5 14.5 0 01-.7 0l-1.5 3.6-1.6-4.4c-.4-.2-.6-.5-.6-.7z"/>
+      <path fill="#0a328c" stroke="#0a328c" d="M254.4 173.7v1.3c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-1.3c0 .9 2 1.5 4.5 1.5 2.6 0 4.6-.6 4.6-1.5z"/>
+      <path d="M251.7 175l-1.1.2v1.3l1.2-.1v-1.3zm-4.8-.1v1.3l1.1.2v-1.3a8.9 8.9 0 01-1.1-.2zm-1.6-1.2v1.3c0 .3.2.5.5.7v-1.3c-.3-.2-.5-.4-.5-.7zm9.1.2c0 .2-.4.5-.8.7v1.3c.5-.2.8-.5.8-.9v-1z"/>
+      <path fill="none" d="M254.4 168v7c0 .9-2 1.5-4.5 1.5s-4.6-.6-4.6-1.5v-7"/>
+      <path fill="#fff" stroke="#fff" d="M253.4 167.5c0 .5-1.6 1-3.5 1-2 0-3.6-.5-3.6-1s1.6-.9 3.5-.9c2 0 3.6.4 3.6 1z"/>
+      <path d="M248.7 168.2l.2 1.2h1l.1-1.2h-1.3zm4.1-.3l-1 .2.1 1.2 1-.2V168zm-5.4-2l-.7.3.1 1 .6-.2v-1zm2.4-.3h-.3l.2 1.2h.6l.2-1.2a9.7 9.7 0 00-.7 0zm2.7.4l-.1 1 .7.3v-1a5.3 5.3 0 00-.6-.3zm-6.5 2.8l.2-1.3-1-.5v1.5l.8.3zm8.4-.3v-1.3l-.8.3.8 1zm9.3-8.5c.8 0 2 1 2.1 2.5 0 1-1.7 1-1.7 1 0 .5-1 .9-1.8 1-.8 0 .2-1.5.2-1.5-.5-1.3.2-2.7.2-2.7l1-.3z"/>
+      <path d="M262.5 163h.8s0 .3.2.3.3-.4.3-.4h1.2"/>
+      <path fill="#d20014" stroke="#f1b517" d="M264.1 160.9c.7-.5.1-1.5-.4-1.5h-1c-.6 0-1.4.6-1.3 1 0 .5.4.7.8.6.2 0 .6-.6.8-.6.3 0 1 .6 1.1.5z"/>
+      <path fill-rule="evenodd" d="M214.2 174.8c-.6.1-.7.8-.5 1.5-2.6.7-5 1.7-7.4 2.4-.1-.5 1.2-1.8 1.2-1.8.3.1.6.9.6.9 0-1.6 1.6-2.6 1.6-2.6-1-.2-3.7 1-4 1.4 0 0 1-.2 1.2 0 0 0-2.2 2.3-2.3 3 .4.7 4 1.3 4 1.3 0 .2-1 1-1 1 1.5.2 3.7-.8 4.3-1.4 0 0-1.7-.2-3-1.3 0 0 .2.7 0 1 0 0-2-.6-2.3-1 0 0 5-1.2 7.4-2 .1.5.6 1.3 1.2 1.1.3-.1.2-.8 0-1.4a.8.8 0 00.6.2c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7a.8.8 0 00-.7.5c-.1-.5-.4-1.4-.8-1.3zm2 1.6c0 .2-.2.3-.4.3a.3.3 0 01-.4-.3c0-.2.2-.4.4-.4s.3.2.3.4z"/>
+      <path d="M293 177.9c.2-.4 0-2.2 0-2.2-.5 0-1 .7-1 .7.5-1.6-.8-4-.8-4 .9.1 3.9 3 4 3.6 0 0-1.3-.5-1.5-.4.3 1.5 1.3 2.2 1.7 3 0 0-1.7.3-1.6 1.8h-1.1c-.4-.5.1-1.3.1-1.3l-7.7-3.2c-.5-.2-1.6-.8-1.4-1.4.1-.5 2 .3 2.4.5l7 2.9z"/>
+      <path d="M285.6 176.5l1-1.6c.3-.5-.4-1-.9-.4l-1 1.5c-.4.9.5 1.1 1 .5z"/>
+    </g>
+    <g fill="#fff" stroke-width=".3">
+      <path d="M290.2 288.6l-.1-3-3.5.3-.2 3.1 3.8-.4z"/>
+      <path d="M264.4 292.7l-4.7-2.7c19.4 1.8 23.4-5 28.1-5.3 3-.3 3.3 3.2-2.3 1.5l1.5 3.6s-13.8 7.8-27.4 4.6l4.8-1.7zm84.8-4.1l.1-3 4.3.2.2 3.1-4.6-.3z"/>
+      <path d="M375.9 292l4.5-2.5c-22.4.7-17.3-3.6-28.4-4.8-3-.4-5 3.4 2.2 1.5l-1.4 3.6h3.5c7.6 5 17.8 5.5 24.6 3.9l-5-1.7z"/>
+      <path d="M285.5 286.3v5s12.3 4.6 34.4 4.6c22.2 0 34.4-4.6 34.4-4.6v-5s-9.3 4.3-34.4 4.3c-25 0-34.4-4.3-34.4-4.3z"/>
+    </g>
+    <path fill="#000" stroke="none" d="M287.3 291.3l1.1-3.7.5.2-1 3.2 2 .5-.2.5-2.4-.7zm3.6-1.6v-.7l.2-.7.6.2-.2.6-.3.7-.3-.1zm5.3-.3l.5.2-.4 2.1-.4 1a1.2 1.2 0 01-.5.4h-1a2 2 0 01-.9-.4 1 1 0 01-.4-.6l.1-1 .5-2.2.5.1-.5 2.2a2.1 2.1 0 000 .8.7.7 0 00.2.4l.5.2h1l.4-1 .4-2.2zm.6 4l.6-3.7h.6l1.5 3.4.5-3h.5l-.6 3.9-.5-.1-1.6-3.3-.5 3-.5-.1zm4 .7l.6-3.8h.5l-.5 3.8h-.5zm1.6-1.7c0-.6.3-1.1.7-1.4a2 2 0 011.4-.4c.4 0 .7.1 1 .3l.5.8c.2.3.2.7.1 1a2.2 2.2 0 01-.3 1 1.7 1.7 0 01-.8.7 2 2 0 01-1 .1 2 2 0 01-1-.3 1.7 1.7 0 01-.5-.8 2.1 2.1 0 01-.1-1zm.5 0c0 .5 0 1 .3 1.2.2.3.5.5.9.5s.7 0 1-.3c.3-.2.4-.6.5-1a1.9 1.9 0 000-1 1.2 1.2 0 00-.5-.5 1.3 1.3 0 00-.7-.3c-.3 0-.7 0-1 .3-.2.2-.4.6-.5 1.2zm3.7 2.3l.3-3.8h.6l1.8 3.2.2-3h.5l-.3 3.9h-.5l-1.9-3.2-.2 3h-.5zm5.6.4l.1-3.8 2.7.1v.5l-2.1-.1-.1 1.1 1.9.1v.5l-2-.1v1.8h-.5zm3 .1l1.5-3.8h.6l1.5 4h-.6l-.4-1.3h-1.7l-.4 1.2h-.6zm1-1.5h1.4l-.4-1a9.8 9.8 0 01-.2-.9l-.2.8-.5 1.1zm3.1 1.6v-3.8h.6v3.8h-.6zm2.5 0V292h-1.3v-.4h3.1v.4h-1.3v3.4h-.5zm4 0l-.3-4h.6l.1 3.4h2v.4l-2.5.1zm2.6-.2l1.2-4h.6l2 3.7h-.7l-.5-1h-1.7l-.3 1.3h-.6zm1-1.7h1.4l-.5-1-.4-.9a4.8 4.8 0 01-.1.8l-.4 1.1zm4.7 1.2l-.4-3.8 2.6-.3.1.5-2.1.2v1.2l2-.2v.5l-1.9.2.2 1.7h-.5zm3-2.1a2 2 0 01.2-1.6 2 2 0 011.3-.7l1 .1c.4.1.6.3.8.6l.4 1-.1 1a1.6 1.6 0 01-.6.8 2 2 0 01-.9.4 2 2 0 01-1-.1 1.7 1.7 0 01-.8-.6 2.1 2.1 0 01-.4-1zm.5-.1c0 .4.2.8.5 1 .3.3.6.3 1 .3s.7-.2 1-.5c.2-.3.2-.7.2-1.2a2 2 0 00-.3-.8 1.3 1.3 0 00-.6-.5 1.4 1.4 0 00-.7 0c-.4 0-.7.1-1 .4-.1.3-.2.7-.1 1.3zm4.1 1.3l-.6-3.8 1.7-.3h.8c.2 0 .4 0 .5.2l.3.6c0 .3 0 .5-.2.7-.1.2-.4.4-.7.5a1.4 1.4 0 01.3.1l.5.5 1 .9h-.7l-.7-.6a7.4 7.4 0 00-.5-.5 1.2 1.2 0 00-.3-.2.8.8 0 00-.3 0h-.3l-.6.1.4 1.7h-.6zm.2-2.2l1-.2a1.7 1.7 0 00.6-.2.6.6 0 00.3-.6.6.6 0 00-.2-.4h-.7l-1.3.1.3 1.3zm6.3-.4h.5c0 .4-.1.8-.3 1a2 2 0 01-1 .6 2 2 0 01-1 0 1.6 1.6 0 01-.8-.6 2.6 2.6 0 01-.5-1 2.2 2.2 0 010-1c0-.4.3-.7.5-.9l.9-.4h1c.4.2.6.4.8.8l-.5.2a1.2 1.2 0 00-.5-.5 1.1 1.1 0 00-.7 0 1 1 0 00-.7.3 1.1 1.1 0 00-.3.7v.7a2.3 2.3 0 00.4.8c.1.2.3.4.6.4h.7a1.1 1.1 0 00.6-.3c.2-.2.3-.5.3-.8zm1.4 1l-1-3.7 2.7-.7.2.4-2.3.6.3 1.1 2.1-.5.2.4-2.2.6.4 1.2 2.4-.6v.4l-2.8.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hu.svg
new file mode 100644
index 0000000..177da97
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/hu.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-hu" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M640 480H0V0h640z"/>
+    <path fill="#388d00" d="M640 480H0V320h640z"/>
+    <path fill="#d43516" d="M640 160.1H0V.1h640z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/id.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/id.svg
new file mode 100644
index 0000000..0663baf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/id.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-id" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#e70011" d="M0 0h640v249H0z"/>
+    <path fill="#fff" d="M0 240h640v240H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ie.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ie.svg
new file mode 100644
index 0000000..53f3464
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ie.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ie" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#009A49" d="M0 0h213.3v480H0z"/>
+    <path fill="#FF7900" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/il.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/il.svg
new file mode 100644
index 0000000..fc10b47
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/il.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-il" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="il-a">
+      <path fill-opacity=".7" d="M-87.6 0H595v512H-87.6z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#il-a)" transform="translate(82.1) scale(.94)">
+    <path fill="#fff" d="M619.4 512H-112V0h731.4z"/>
+    <path fill="#00c" d="M619.4 115.2H-112V48h731.4zm0 350.5H-112v-67.2h731.4zm-483-275l110.1 191.6L359 191.6l-222.6-.8z"/>
+    <path fill="#fff" d="M225.8 317.8l20.9 35.5 21.4-35.3-42.4-.2z"/>
+    <path fill="#00c" d="M136 320.6L246.2 129l112.4 190.8-222.6.8z"/>
+    <path fill="#fff" d="M225.8 191.6l20.9-35.5 21.4 35.4-42.4.1zM182 271.1l-21.7 36 41-.1-19.3-36zm-21.3-66.5l41.2.3-19.8 36.3-21.4-36.6zm151.2 67l20.9 35.5-41.7-.5 20.8-35zm20.5-67l-41.2.3 19.8 36.3 21.4-36.6zm-114.3 0L189.7 256l28.8 50.3 52.8 1.2 32-51.5-29.6-52-55.6.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/im.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/im.svg
new file mode 100644
index 0000000..31b2222
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/im.svg
@@ -0,0 +1,36 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-im" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="im-a">
+      <path fill-opacity=".7" d="M-77.6 0H605v512H-77.6z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#im-a)" transform="translate(72.8) scale(.94)">
+    <path fill="#ba0000" fill-rule="evenodd" d="M629.4 512H-102V0h731.4z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M281 376c.2-.6.6-6.8.4-6.8s-9.4-10.9-9.2-10.9c.2 0 11.8 2.6 11.8 2.2 0-.4 4.7-11.5 4.7-11.7l5.6 13.5 11.5 5-8 6.7 1.7 13c0 .3-8-7.6-8-7.6l-8.9 1s-1.2-4-1.6-4.4z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="2.6" d="M218.7 206.9c-7.7 4-37 37.5-41 42.7a77.3 77.3 0 01-16.8 23.4c-7.3 5.5-11.3 13-10.3 20 0 9 4.9 15 8.8 21.1 2.3 2.9 5.5 4.7 8.8 5 6.9.8 7.5 3 11 4.2 13.4 18.4 33.6 32 48 42.7a68.4 68.4 0 0118 12.4c4.2 8.2 3.4 16 2.8 20L237.3 439c-1.9 11 7.8 8.6 8.3 6.4 4.3-5.7 10.8-1.7 20-34.3l12.8-17.1s4.9-2 4.9-2.5c7.5-9 1.8-14-2.5-15.7l-9.2-3.4s-10.8-10.8-11.3-10.8c-5.1-14.9-30.3-46.6-36.1-51-4-4.3-6-6-9.8-8.4-5.9-2.8-7.8-3.8-11.4-5.2-3-1.2-.9-4.5 1-6 20-10.9 35.7-22.9 54.8-35.1l3-2-6.9-39.2-31.8-11.2c-1.7 1.1-3 2.3-4.4 3.4z"/>
+    <path fill="#ffec00" fill-rule="evenodd" d="M245.3 413.1c0-.4 20-4 20-4l-2.5 7.4-19.7 6 2.2-9.3z"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M193.6 338.5a37.9 37.9 0 0121.6-20.4"/>
+    <path fill="none" stroke="#000" stroke-width="2.4" d="M244.6 413.3c1.3-.3 7-2 8.6-2.3 1.8-.4 3.5-.8 5.2-1.4 2-.4 3.2-.8 5.2-1.1a39 39 0 015-1.4M241 425.6a14.6 14.6 0 012.5-2c1.1-.4 5-2 6.5-2.3a54 54 0 004.7-1.4l4.6-1.2c1.5-.6 2.9-1 4.4-1.4"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M249 341.4h-.2c.8 0 .3 0-.9 1.4-.4 1.1-4 3.7-6.8 3.7a53 53 0 01-4.7.3l-1.3-.3m13.7 53.5h1.4c1.5 0 3 .3 4.2.3 1.5 0 2.9.4 4.3.4 1.5.2 3.2.1 4.7.4 1.6 0 3 .3 4.7.3 1.4.1 2.2.3 3.7.3l-3.7-.3c1.4.1 2.2.3 3.7.3m-32.7 33a13.6 13.6 0 012.3-2c1-.3 4.6-2 6-2.2a46.7 46.7 0 004.2-1.5l4.3-1c1.3-.7 2.6-1.1 4-1.5m5.8-41.2c-.8 2.3.3 2.9.7 3.9a12 12 0 005.7 3.4c1.2.3 2 .6 3.4 1.2.9 0 1.3.3 2 .5m-124.4-94.8h.3c-.9 0-.3.1 1.1-1 1-1.1 1.7-1.6 2.6-2.7m14.4 24c.2 0 16.6-8.2 18.3-10l3.7-2.9c1-.5 1.7-1.1 2.6-1.7.7-1 1.7-1.7 2.3-2.7 1-.9.5-1.8 1.4-2.9l1.3-3.8m20.8 12.2c.1.6-.2 2.4-.2 3.8 0 1.6-2.1 6.5-4.6 8"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M192.6 307.8l6.7 2.1c5 1.8 15.4 8.4 16.5 9.3 1 .8 3 1.6 3.6 2.5 1.2 1 2 2.1 2.9 3.2 1 1.2 2 2.3 2.5 3.4a113.2 113.2 0 0113.4 24.5c.7.7 1 1.7 1.7 2.8.6 1.4 1.3 2 2 3.1 1 .7 2.2 2 3.4 2.6 1.3 1.1 2.5 1.5 3.5 2.3 1.3.6 16.3 10 17 10.5 1.4 1.1 5.5 5.4 2.6 8.6-1.2 1-2.4 2.5-3.4 3-1.1 1.2-2.6 1.7-3.9 2.2-6.7 2-10.2 1.3-11.5 1.3h-1.4m-88.8-114.9c2 .8 1.2.2 2.9 1 1.2.5 2 .5 3 1 1.3.3 4.7 1 6.3 2.6 1.2 1 2 2 3.4 2.7a21.8 21.8 0 004.6 2.4c1.6.6 3.4 1.3 5 1.3h7.8-4 4"/>
+    <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M159 293.3c4.2-.3 11.3 1 11.5 1l9.4-.2c5-.4 6-2.3 6.8-3.7 1.9-2.8 3.1-3.8 4.6-6 2.2-1.6 5.4 2.3 5.5 2.3 8 7.6 1.6 16.8 1.2 17.1-4 3.7-4.9 3.9-7.3 1.6-2.4-2.9-3.1-4.2-5.1-5.2-3.9-1.8-11.8-.4-12-.4l-4.1 1.6c-2 .7-3.2 2.4-6.5 3-3.5.2-4.6-.1-6.3-2.9-2.3-3.5-1.2-7.8 2.3-8.2z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M381.8 120.7c-.6 0-6.3 2.8-6.2 3 .1.1-4.8 13.5-4.9 13.4-.1-.2-3.5-11.7-3.9-11.5-.3.2-12.3 1.6-12.4 1.7l9-11.5-1.3-12.5 9.8 3.8 10.5-8c.2-.1-2.7 10.8-2.7 10.8l5.2 7.2s-3 3-3.1 3.6z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="2.6" d="M265 257.9c7.1 4.7 50.7 13.9 57.3 14.8a77 77 0 0128.6 3.2c8.3 3.6 16.8 3.4 22.5-1 7.8-4.2 10.6-11.4 14-18a12 12 0 000-10c-2.6-6.4-1-8-1.6-11.6 9.4-20.8 11.4-45 13.6-62.9-.2-10.5.9-18.5 2-21.7a32 32 0 0116-12.2l40.7-10.6c10.6-3.8 3.7-11 1.5-10.4-7-1-6.8-8.6-39.7-.7l-21.2-2.7s-4-3.3-4.5-3c-11.5-2.1-13.1 5.3-12.5 9.8l1.6 9.8s-4.1 14.6-3.9 15c-10.5 11.8-26 49.6-27 56.9-.5 6.8-3 5.5-2.4 12.2 0 5.2-.6 2 1.1 12.6.5 3.2-3.5 3-5.7 2-19.2-12-37.4-19.9-57.5-30.5l-3.1-1.6-30.8 25.2 5.8 33.2c1.8 1 3.4 1.5 5.1 2.2z"/>
+    <path fill="#ffec00" fill-rule="evenodd" d="M431.7 133.6a375 375 0 01-13.3-15.4l7.6-1.5 14.8 14.3-9.1 2.6z"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M392 215.2a37.9 37.9 0 01-28.4-8.8"/>
+    <path fill="none" stroke="#000" stroke-width="2.4" d="M432.2 134.1c-1-.9-5.2-5-6.2-6.4a66.5 66.5 0 00-3.8-3.8c-1.3-1.5-2.3-2.4-3.6-4a37.1 37.1 0 01-3.6-3.6m29.6 15c-.3 0-2-.7-3-1.2-.8-.9-4.2-3.4-5.1-4.6a54.2 54.2 0 00-3.5-3.4c-1.2-1.3-2.1-2-3.3-3.5a30.3 30.3 0 01-3.4-3"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M367.3 165.5l.1.3c-.4-.8-.2-.3 1.7 0 1.2-.2 5.2 1.7 6.5 4.1.8 1.1 2 2.8 2.6 4 .2.3.2 1 .4 1.3m40-38.2l-.2-.2-.6-1-1.8-3.9c-.7-1.2-1-2.7-1.7-3.9-.6-1.4-1.5-2.8-2-4.2-.8-1.5-1.2-2.8-2-4.4-.7-1.2-.8-2-1.6-3.3l1.6 3.3c-.7-1.2-.8-2-1.6-3.3m44.8 12.3a12 12 0 01-2.8-1c-.8-.7-4-3-5-4a47 47 0 00-3.3-3c-1-1.3-1.9-2-3-3.3a26.2 26.2 0 01-3.2-2.7m-38.9 15c2.5-.4 2.5-1.6 3.1-2.5.5-1 .9-3.5.2-6.6l-.6-3.5c-.4-.9-.4-1.4-.5-2m-21.7 154.8l-.1-.2c.4.8.2.3-1.6-.5l-3.5-1m13.9-24.3c-.1-.2-15.3-10.4-17.7-11-1.4-.7-2.7-1-4.3-1.8l-2.8-1.4c-1.3-.2-2.4-.7-3.5-.7-1.2-.4-1.9.4-3.2.2l-4 .7m.5-24.1c.4-.4 2.2-1 3.4-1.7 1.4-.7 6.7-1.3 9.2.1"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M365.7 231.2l-1.5-7a100 100 0 010-18.8c.2-1.3 0-3.4.5-4.5.3-1.4.8-2.7 1.3-4 .6-1.5 1.1-2.8 1.7-3.9.7-4 12-20.1 12.8-20.9a43 43 0 012-2.7c.3-1 1-1.8 1.6-3 1-1.1 1.2-2 1.8-3.2.1-1.1.6-2.9.6-4.2.3-1.7 0-3 .3-4.1-.2-1.5.7-19.2.8-20 .3-1.8 2-7.5 6.2-6.5 1.5.5 3.3.8 4.4 1.5 1.4.4 2.6 1.5 3.7 2.3 5 4.9 6.1 8.2 6.8 9.4l.7 1.2M352.6 276l-.1-.2c.4.7.2.3-.3-1.1-.1-1.3-.5-3-.7-4.2-.3-1.3-.9-2.7-.7-3.5-.5-1.3-.2-2.3 0-3.6.3-1.6.5-2.7.5-4.2.2-2 0-3.2.1-5-.5-1.5-.6-2.7-1.3-4.2l-2-4-2-3.5 2 3.4-2-3.4"/>
+    <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M369.5 267.6c-2.3-3.6-4.7-10.4-4.8-10.5l-4.7-8.2c-2.8-4-5-4-6.6-4-3.4-.3-4.9-1-7.4-1.1-2.6-1.2-.7-5.9-.8-6 2.7-10.6 14-9.6 14.4-9.4 5.1 1.7 5.7 2.4 4.9 5.6-1.3 3.5-2 4.8-2 7 .3 4.2 5.5 10.5 5.5 10.6l3.4 2.8c1.6 1.4 3.7 1.6 5.8 4.3 1.9 2.9 2.2 4 .6 6.8-2 3.8-6.2 4.9-8.3 2.1z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M105.2 168.7c.5.4 5.8 3.7 6 3.5s14-3.4 13.8-3.2-7.8 9.3-7.4 9.5c.4.2 8 9.4 8.2 9.5l-14.5-1.2-9.8 7.8-2.2-10.2L87 180c-.2-.1 10.5-3.6 10.5-3.6l3.2-8.3s4.1.7 4.7.6z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="2.6" d="M284 191.3c0-8.7-16.2-50.2-19-56.1a77.2 77.2 0 01-13-25.7c-1.5-9-6.3-16-13-18.4-7.9-4.1-15.5-2.5-22.8-1.8-3.6.7-6.7 2.7-8.4 5.5-4 5.7-6.1 5.2-8.9 7.7-22.5 3.5-43.8 15.1-60 23a68 68 0 01-19.3 10.2 32 32 0 01-19-6.6l-31.1-28.3c-9-6.7-11.2 3-9.5 4.5 3 6.4-3.5 10.3 21.2 33.6l9.3 19.2s-.5 5.2 0 5.4c4.4 10.8 11.6 8.1 15 5.1l7.3-6.7s14.5-4.6 14.7-5c15.6 2.3 55.8-5.3 62.4-8.5 6-3.3 6.3-.5 11.5-4.7 4.3-2.9 2-.6 10-7.9 2.4-2 4.3 1.3 4.8 3.7.4 22.7 3.8 42.2 5.9 64.8l.4 3.5 38 12 24.6-23-1-5.6z"/>
+    <path fill="#ffec00" fill-rule="evenodd" d="M88.7 119.8c.3.3-5.6 19.6-5.6 19.6l-5.4-5.5 3.8-20.3 7.2 6.2z"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M178.8 108.4c7.2 8 9.5 21.2 8.2 28.6"/>
+    <path fill="none" stroke="#000" stroke-width="2.4" d="M89 119.1c-.3 1.3-1.5 7.2-2 8.7a66.8 66.8 0 00-1.2 5.3l-1.4 5.2c-.2 1.7-.5 3.3-1 5m-3.7-33c.1.3.5 2 .6 3.1-.2 1.2-.5 5.4-1 6.9a54.4 54.4 0 00-.9 4.8l-1 4.6a30.6 30.6 0 01-.8 4.6"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M150.7 156.3l.1-.3c-.4.8 0 .3-.8-1.4-.9-1-1.4-5.3-.2-7.8a55 55 0 012-4.3c.1-.3.6-.7.8-1M98.8 129l-.1.2-.6 1c-.6 1.4-1.6 2.6-2.2 3.7-.6 1.3-1.7 2.3-2.3 3.6l-2.4 4c-.9 1.4-1.8 2.5-2.6 4l-2 3.2 2-3.2-2 3.2m-14.2-44.3c.2.2.7 1.9.8 3-.2 1-.4 5-.8 6.3l-.7 4.4c-.4 1.6-.5 2.7-1 4.3a26.2 26.2 0 01-.5 4.2M104 151c-1.7-1.9-2.7-1.2-3.8-1.3a12 12 0 00-5.7 3.5c-.8.9-1.5 1.6-2.6 2.5-.5.8-.9 1-1.4 1.5M232 90.4l-.1.3c.4-.8.1-.4.5 1.5.5 1.3.5 2.2 1 3.4m-27.9 1.8c0 .2-.3 18.5.5 20.9.2 1.5.6 2.7.8 4.6 0 1 .3 2 .4 3 .6 1.2.7 2.4 1.4 3.3.3 1.3 1.3 1.4 1.9 2.5.7.9 2 2.4 2.8 3m-20.5 12.9c-.6-.2-2-1.4-3.2-2-1.4-.8-4.9-4.9-5-7.8"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M206.5 121.6l-5 5a94.3 94.3 0 01-15.8 10.3c-1.2.6-2.7 2-4 2.1-1.3.6-2.7.8-4 1.1a113.4 113.4 0 01-28.7 1.5 43.2 43.2 0 01-3.4-.2c-1 .2-2 .1-3.3.2-1.6-.1-2.4.2-3.7.3-1 .6-2.7 1.1-3.9 1.9-1.5.6-2.5 1.5-3.6 2-1 .9-16.4 9.8-17.2 10.2-1.6.7-7.3 2.5-8.8-1.6-.4-1.6-1-3.3-1.1-4.5-.5-1.4-.2-3-.2-4.4 1.4-6.9 3.6-9.6 4.2-10.8l.7-1.2M251 108l-.1.3c.3-.7.2-.4-.8.8-1 .8-2.2 2-3.1 3-1 .8-1.8 2-2.6 2.4-.8 1-1.8 1.4-3 2a20 20 0 00-3.8 1.9c-1.7.8-2.7 1.7-4.2 2.6-1 1.2-2 2-2.8 3.4-.8 1.3-1.6 2.4-2.3 3.9l-1.8 3.5 1.8-3.5-1.8 3.5m11.7 73.1l.3-.5c-.5 1-.4.7.1-.9 0-1.8.5-4.1.5-5.8.3-1.8.6-3.7.6-5.5-.1-2-.1-4-.4-6 0-1.8-.3-3.7-.3-5.6 0-1.8-.2-3.3-.6-5a29.5 29.5 0 00-.4-4.8c.1-1.2-.2-2.4-.5-3.4l-1.2-5.1-1-4.1c-.2-1.6-1-3.6-1.4-4.9a13.6 13.6 0 01-1.1-3.4c-.5-1.1-1.2-2.4-1.3-3.6l-1.6-3.7-1.4-3.6c-.5-1.4-1.1-2.6-1.5-4-.5-.5-.6-1-.8-1.4"/>
+    <path fill="#ffe606" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M234.9 98.5a59 59 0 01-6.2 9.7l-4.2 8.4c-1.8 4.6-.7 6.5.1 7.8 1.7 3 2 4.6 3.2 6.8.5 2.8-4.5 3.8-4.5 3.9-10.4 3.6-15.7-6.4-15.7-6.9-1.4-5.2-1.2-6 2-7.1 3.6-.9 5-1 6.8-2.2 3.5-2.6 5.9-10.3 6-10.4l.4-4.4c.3-2-.6-4 .4-7.2 1.4-3.2 2.2-4 5.4-4.3 4.2-.3 7.5 2.6 6.3 5.9z"/>
+    <path fill="#ffef00" fill-rule="evenodd" stroke="#000" stroke-width="2.2" d="M221.3 199.7c-1.6-1.5 29.4 11.2 33.7 11.3 5.8-2.1 29.9-22.4 29.9-22.4.2 2 1.1 7.1 3.4 8.2-9.3 7.5-17.7 14.8-27 22.3.6 12-1.5 24.7 4.5 38 0 0-7.2.2-7.2 0-6.4-6.4-8.7-37.2-8.7-37.2l-30.6-13.6c1.5-1 2.6-3.9 2-6.7z"/>
+    <path fill="none" stroke="#000" stroke-width="2.2" d="M250.8 231.3c.5-.4-5.6 2.8-7.2 3.6-28.1 15-42.6 37-43.5 37.8l-2.2 3.4-2.3 3a60.6 60.6 0 01-3.6 4.7c-.2.6.4-.3.2.2m77.9-70.6a79 79 0 006.5 4.7c26.2 18.2 52.3 21.1 53.5 21.5 1 0 2.5.3 4 .5 1.2 0 2.6.4 3.8.5 1.4.2 4.4.8 5.8 1.2.6-.2-.5-.3 0-.4"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/in.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/in.svg
new file mode 100644
index 0000000..6b831bc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/in.svg
@@ -0,0 +1,25 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-in" viewBox="0 0 640 480">
+  <path fill="#f93" d="M0 0h640v160H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <path fill="#128807" d="M0 320h640v160H0z"/>
+  <g transform="matrix(3.2 0 0 3.2 320 240)">
+    <circle r="20" fill="#008"/>
+    <circle r="17.5" fill="#fff"/>
+    <circle r="3.5" fill="#008"/>
+    <g id="d">
+      <g id="c">
+        <g id="b">
+          <g id="a" fill="#008">
+            <circle r=".9" transform="rotate(7.5 -8.8 133.5)"/>
+            <path d="M0 17.5L.6 7 0 2l-.6 5L0 17.5z"/>
+          </g>
+          <use width="100%" height="100%" transform="rotate(15)" xlink:href="#a"/>
+        </g>
+        <use width="100%" height="100%" transform="rotate(30)" xlink:href="#b"/>
+      </g>
+      <use width="100%" height="100%" transform="rotate(60)" xlink:href="#c"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(120)" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="rotate(-120)" xlink:href="#d"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/io.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/io.svg
new file mode 100644
index 0000000..d6e5854
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/io.svg
@@ -0,0 +1,138 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-io" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="io-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#io-a)" transform="scale(.9375)">
+    <path fill="#fff" fill-rule="evenodd" d="M0 0h1024v512H0z"/>
+    <path fill="#000063" fill-rule="evenodd" d="M1024 445.2c-11.5 7-21.3 23-51.8 23-61 0-76.2-33.9-122-33.9-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76 34-61 0-76.3-34-122-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.2-57.9 24.2v43.7c18.3 0 27.4-24.2 58-24.2 45.6 0 60.9 34 121.8 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 40.3-9.6 51.8-16.5v-50.3zm0-84.9c-11.5 7-21.3 23-51.8 23-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76 34-61 0-76.3-34-122-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.3-57.9 24.3v43.7c18.3 0 27.4-24.2 58-24.2 45.6 0 60.9 34 121.8 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 40.3-9.6 51.8-16.5v-50.3zm0-84.9c-11.5 7-21.3 23-51.8 23-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76 34-61 0-76.3-34-122-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.3-57.9 24.3v43.7c18.3 0 27.4-24.2 58-24.2 45.6 0 60.9 34 121.8 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 40.3-9.7 51.8-16.6v-50.2zm0-84.9c-11.5 6.9-21.3 23-51.8 23-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76 34-61 0-76.3-34-122-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-39.6 24.3-57.9 24.3v43.7c18.3 0 27.4-24.2 58-24.2 45.6 0 60.9 34 121.8 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 40.3-9.7 51.8-16.6v-50.2zm0-85c-11.5 7-21.3 23.1-51.8 23.1-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76 34-61 0-76.3-34-122-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34C27.4 94.7 18.3 119 0 119v43.7c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76-34 45.8 0 61 34 122 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.7 51.8-16.6v-50.2zm0-84.8c-11.5 6.9-21.3 23-51.8 23-61 0-76.2-34-122-34-30.4 0-45.6 34-76.1 34-61 0-76.2-34-122-34-30.4 0-45.6 34-76 34-61 0-76.3-34-122-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34-30.5 0-45.7 34-76.2 34-61 0-76.2-34-121.9-34C27.4 9.7 18.3 34 0 34v43.8c18.3 0 27.4-24.2 57.9-24.2 45.7 0 61 34 122 34 30.4 0 45.6-34 76.1-34 45.7 0 61 34 122 34 30.4 0 45.6-34 76-34 45.8 0 61 34 122 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.5 0 45.7-34 76.2-34 45.7 0 61 34 121.9 34 30.4 0 40.3-9.7 51.8-16.6V20.7z"/>
+    <path fill="#000063" fill-rule="evenodd" d="M0 0h261.3v158H0z"/>
+    <g stroke-width="1pt">
+      <path fill="#fff" d="M0 0v17.7L232.1 158h29.2v-17.7L29.3.1H0zm261.3 0v17.7L29.3 158H0v-17.7L232.1.1h29.2z"/>
+      <path fill="#fff" d="M108.9 0v158h43.5V0H109zM0 52.8v52.6h261.3V52.7H0z"/>
+      <path fill="#c00" d="M0 63.2v31.6h261.3V63.2H0zM117.6 0v158h26.1V0h-26.1zM0 158l87.1-52.7h19.5L19.5 158H0zM0 0l87.1 52.7H67.6L0 11.8V.1zm154.7 52.7L241.8.1h19.5l-87 52.6h-19.6zM261.3 158l-87-52.7h19.4l67.6 40.9V158z"/>
+    </g>
+    <path fill="#a24300" fill-rule="evenodd" stroke="#fff" stroke-width="6.9" d="M815-301.2l-17.8 708.7c0 37.3 80.1 37.3 88.6 0l-17.7-708.7H815z" transform="matrix(.2064 0 0 .4902 211.6 267.4)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(-.2354 .06743 -.1035 -.19501 591.3 322.6)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(.17703 -.18126 .22077 .14638 73.8 93.5)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(.1135 .2156 -.24917 .1076 581.8 -57.8)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(-.15682 .19451 -.23555 -.12827 705.9 197.8)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M496 549.2l17.8 70.9 35.4-53.2-17.7 88.6 35.4-35.4-35.4 88.6 35.4-35.5-35.4 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-35.4-88.6 35.4 35.5-35.4-88.6 35.4 35.4L443 567l35.4 53.2 17.8-70.9z" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M496 549.2v496m-70.8-177l70.9 106.2 70.8-106.3" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 797.2l70.9 106.3 70.8-106.3" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 726.4l70.9 106.3 70.8-106.3" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 673.2l70.9 88.6 70.8-88.6" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 620l70.9 88.7 70.8-88.6" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M443 567l53 106.2L549.3 567" transform="matrix(-.15547 -.16616 .17678 -.15123 275.8 396)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M460.6 549.2l28.7 70.9 42.2-53.2-10.2 88.6 28-35.4-17.8 88.6 25.2-35.5-25.2 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-45.6-88.6 45.6 35.5-53.1-88.6 43 35.4-25.3-88.6 35.4 53.2v-70.9z" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M467.2 584.6l28.9 124v336.7" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.2 885.8l59.9 88.6 60.6-88.6" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M434.5 815l61.6 88.5 60.6-88.5" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M435.4 744.1l60.7 88.6 59.8-88.6" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M432.8 691l63.3 70.8 53.1-70.9" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 637.8l70.9 70.9 45.4-70.9" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.1 593.2l53.2 87 35.3-95.6" transform="matrix(-.27108 -.06397 -.15704 .20433 684.1 -32.2)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M460.6 549.2l28.7 70.9 42.2-53.2-10.2 88.6 28-35.4-17.8 88.6 25.2-35.5-25.2 88.6 35.4-35.4-35.4 106.3 35.4-35.5-35.4 106.3 35.4-35.4-35.4 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-35.4-106.3 35.4 35.4-35.4-106.3 35.4 35.5-35.4-106.3 35.4 35.4-45.6-88.6 45.6 35.5-53.1-88.6 43 35.4-25.3-88.6 35.4 53.2v-70.9z" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M467.2 584.6l28.9 124v336.7" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.2 885.8l59.9 88.6 60.6-88.6" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M434.5 815l61.6 88.5 60.6-88.5" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M435.4 744.1l60.7 88.6 59.8-88.6" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M432.8 691l63.3 70.8 53.1-70.9" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 637.8l70.9 70.9 45.4-70.9" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M436.1 593.2l53.2 87 35.3-95.6" transform="matrix(.27011 .06695 .00989 .24471 240.8 -138.4)"/>
+    <path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="8.3" d="M354.3 531.5l88.6 88.6 17.7-53.2v88.6l35.5-35.4-17.8 88.6 35.5-35.5-17.7 88.6 35.4-35.4-17.7 106.3 35.4-35.4-35.4 106.3 35.4-35.5-17.7 106.3-17.7 53.2-17.7 17.7-17.8-17.7-17.7-53.2-53.1-82.3 35.4 11.5-35.4-106.3 35.4 35.4-53.1-106.3 35.4 35.4-53.2-88.6 53.2 35.5-70.9-88.6 53.2 35.4-70.9-70.8 70.9 35.4-53.2-88.6z" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M379 560l64 95.5 17.6 53.2 8.9 45.2 8.8 78.8 9.4 70.9 8.4 141.7" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M425.2 903.5l63.7 71 50.7-88.7" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M417 815l70.7 88.5 50.7-88.5" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M407.5 752.4l70.9 80.3 45.9-88.6M372.1 637.8l88.5 70.9 25.9-70.9" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <path fill="none" stroke="#000" stroke-width="1pt" d="M360.6 602.4l82.3 53.1 10.5-53.1m-63.6 88.5l81 71 34-71" transform="matrix(.03453 -.23456 .24402 .04167 115.5 229.5)"/>
+    <g fill-rule="evenodd">
+      <path fill="#c00" stroke="#000" stroke-width="1pt" d="M541.5 1173.3l-1.7-229.1-61.1-107c-15.3-52.6-7.8-78 17-79.8 24.7-1.6 49.2 13.6 84.8 15.3 35.6 1.7 28.9-59.4 81.5-57.7 52.6 1.7 144.3 32.3 222.3 37.4 78.1 5 118.8-27.2 208.8-30.6 90-3.4 113.7 42.4 118.8 42.4s30.6-18.6 56-22c25.5-3.4 34 10.2 34 10.2s-1.7 57.7-13.6 91.6c-11.9 34-54.3 90-56 90-1.7 0-15.3 249.5-15.3 251.2 0 1.7-675.5-6.8-675.5-11.9z" transform="matrix(.13659 0 0 .12573 266.4 208.2)"/>
+      <g stroke="#000" stroke-width="1pt">
+        <path fill="#fff100" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8V584.6z" transform="matrix(-.13659 0 0 .12573 508.4 252.7)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 506.2 252.5)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 508.6 247.4)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 509.9 242.2)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 510.8 236.7)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 510.6 230.7)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 502.7 257)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 508.5 225)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 504 220.5)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 498 217.5)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 492 217.1)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 485.5 217.3)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 479 218.2)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 472.6 219)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 465.6 220)"/>
+        <path fill="#fff" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(-.13659 0 0 .12573 459.6 221.6)"/>
+      </g>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 268.6 252.5)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 266.1 247.4)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 264.9 242.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 264 236.7)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 264.2 230.7)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 266.2 225)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 270.6 220.5)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 276.7 217.5)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 282.7 217.1)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 289.2 217.3)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 295.7 218.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 302.2 219)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 309.1 220)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 315.1 221.6)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 272 257)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8V584.6z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04553 0 0 .0479 299.4 309)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04553 0 0 .0479 347.8 309)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 832.7V673.2s35.4 53.2 88.6 53.2c43.5 0 88.6-70.9 88.6-70.9s41.5 53.2 88.6 53.2c42 0 88.5-68.6 88.5-68.6s43.2 68.6 88.6 68.6c45.5 0 88.6-53.2 88.6-53.2s46.3 70.9 106.3 70.9c53.1 0 70.9-53.2 70.9-53.2v159.5H531.5z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7H708.7z" transform="matrix(.13659 0 0 .12573 242.2 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7H708.7z" transform="matrix(-.13659 0 0 .12573 532.5 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7H602.4z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7H602.4z" transform="matrix(.13659 0 0 .12573 314.8 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M584.6 847.5c0-88.6 124.1-159.4 124.1-159.4s124 70.8 124 159.4h-248z" transform="matrix(.13659 0 0 .12573 290.6 250.9)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M1275.6 655.5c-35.4-17.7-166-35.4-376.3-35.4s-350 17.7-385.5 35.4c-35.4 17.7-35.4 53.2 0 70.9 35.4 17.7 175.3 35.4 385.5 35.4s340.9-17.7 376.3-35.4c35.4-17.7 35.4-53.2 0-70.9z" transform="matrix(.13505 0 0 .12573 265.9 275)"/>
+      <path fill="gray" d="M435.8 366.3c0 4.5-40.3 4.5-48.4 4.5-8.8 0-48.4 1.2-48.4-4.5 0-4.4 39.9-4.4 48.4-4.4 8.4 0 48.4.9 48.4 4.4z"/>
+      <path fill="#c00" d="M343.8 350.3c0 1.5-1 2.7-2.4 2.7s-2.4-1.2-2.4-2.7 1-2.6 2.4-2.6c1.3 0 2.4 1.2 2.4 2.6zm92 0c0 1.5-1.1 2.7-2.5 2.7-1.3 0-2.4-1.2-2.4-2.7s1.1-2.6 2.4-2.6c1.4 0 2.4 1.2 2.4 2.6z"/>
+      <path d="M392.2 349c0 1.4-2.2 2.6-4.8 2.6s-4.9-1.2-4.9-2.7 2.2-2.6 4.9-2.6 4.8 1.2 4.8 2.6z"/>
+      <path fill="#006300" d="M415.4 349c0 1.4-1.6 2.6-3.6 2.6s-3.6-1.2-3.6-2.7 1.6-2.6 3.6-2.6 3.6 1.2 3.6 2.6zm-49.8 0c0 1.4-1.6 2.6-3.6 2.6s-3.7-1.2-3.7-2.7 1.6-2.6 3.7-2.6c2 0 3.6 1.2 3.6 2.6z"/>
+      <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.07805 0 0 .07185 279.5 298)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9v248z" transform="matrix(.03903 0 0 .06287 285 307.3)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9v248z" transform="matrix(-.03903 0 0 .06287 489.7 307.3)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 11-35.4 0 17.7 17.7 0 0135.4 0z" transform="matrix(.13659 0 0 .12573 266.4 252.7)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.07805 0 0 .07185 279.5 251.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 11-35.4 0 17.7 17.7 0 0135.4 0z" transform="matrix(.13659 0 0 .12573 266.6 206.3)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 655.5h70.9v53.2h-71z" transform="matrix(.13659 0 0 .12573 266.4 208.2)"/>
+      <path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 683.3h70.9v202.5h-71z" transform="matrix(.13659 0 0 .12573 266.4 208.2)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 246)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 240.3)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 235)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.7 17.7 0 11-35.5 0 17.7 17.7 0 0135.5 0z" transform="matrix(.13659 0 0 .12573 324.4 229.4)"/>
+      <path d="M392.5 357.5c0 1-2.2 1.8-5 1.8s-4.8-.8-4.8-1.8 2.2-1.8 4.9-1.8 4.9.8 4.9 1.8zm44.6 4.4c-.3.7-2.7.8-5.4.1-2.7-.6-4.6-1.6-4.4-2.3.3-.7 2.7-.8 5.4-.1 2.7.6 4.6 1.6 4.4 2.3zm-18.7-3c0 .9-2.4 1.4-5.2 1.3-2.7-.2-4.9-1.1-4.8-2 .1-.9 2.5-1.4 5.2-1.2 2.8.2 5 1 4.8 1.9zm-81.8 3c.2.7 2.6.8 5.3.1 2.7-.6 4.7-1.6 4.4-2.3-.3-.7-2.7-.8-5.4-.1-2.6.6-4.6 1.6-4.3 2.3zm19.5-3.4c.1.9 2.5 1.4 5.2 1.2 2.8-.2 5-1 4.8-2 0-.8-2.4-1.4-5.2-1.2-2.7.2-4.9 1-4.8 2z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/iq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/iq.svg
new file mode 100644
index 0000000..ab90fd0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/iq.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-iq" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <path fill="#ce1126" d="M0 0h640v160H0z"/>
+  <path d="M0 320h640v160H0z"/>
+  <g fill="#007a3d" transform="translate(-179.3 -92.8) scale(1.75182)">
+    <path d="M325.5 173.2a5 5 0 01-1.4-1c-.3-.5-.1-.5 1.2-.2 2.3.7 3.8.4 5.3-.8l1.3-1.1 1.5.7c.9.5 1.8.8 2 .7.7-.2 2.1-2 2-2.6 0-.7.6-.5 1 .3.6 1.6-.3 3.5-2 3.9-.7.2-1.4.1-2.6-.3-1.4-.5-1.7-.5-2.4 0a5.4 5.4 0 01-5.9.4zm5.8-5.3a8 8 0 01-1-4c.1-.6.3-.8.8-.6 1 .3 1.2 1 1 3 0 1.8-.3 2.3-.8 1.6zm-67.6-1.9c-.1 1.3 2.4 4.6 3.5 5.2-.8.3-1.7.2-2.4.5-4 4-18.4 18-21 21.4 7.8.2 16.4-.1 23.7-.4 0-5.3 5-5.6 8.4-7.5 1.7 2.7 6 2.5 6.6 6.6v17.6H216a9.7 9.7 0 01-12.3 7.5c2-2 5.4-2.8 6.6-5.7 1-6.4-2-10.3-4-14a24 24 0 007-3.6c-2.3 7 6.2 6.3 12.4 6.1.2-2.4.1-5.2-1.7-5.6 2.3-.9 2.7-1.2 6.6-4.4v9.6l46.1-.1c0-3 .8-7.9-1.6-7.9-2.2 0 0 6.2-1.8 6.2h-35.7v-6c1.5-1.6 1.3-1.5 11.6-11.8 1-1 8.3-7.6 14.6-13.7zm89.1-.3c2.5 1.4 4.5 3.2 7.5 4-.3 1.3-1.5 1.8-1.8 3.1v27c3.4.7 4.2-1.3 5.8-2.3.4 4.3 3.2 8.5 3 12h-14.5v-43.7zm-19.4 14.5s5.3-4.5 5.3-4.7V199h3.8l-.1-26.3c1.5-1.6 4.6-3.8 5.3-5.4v42h-33.4c-.5-8.7-.6-17.7 9.6-15.8V190c-.3-.6-.9.1-1-.7 1.6-1.6 2.1-2 6.5-5.8l.1 15.5h3.9v-18.8zm-12.6 18.6c.7 1 3.2 1 3-.8-.3-1.5-3.5-1-3 .8z"/>
+    <circle cx="224" cy="214.4" r="2"/>
+    <path d="M287 165.8c2.5 1.3 4.5 3.2 7.6 4-.4 1.2-1.5 1.7-1.8 3v27c3.4.7 4.1-1.2 5.7-2.3.5 4.3 3.2 8.6 3.1 12H287v-43.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ir.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ir.svg
new file mode 100644
index 0000000..ffb37b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ir.svg
@@ -0,0 +1,219 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ir" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ir-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.7v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#ir-a)" transform="translate(80) scale(.9375)">
+    <path fill="#fff" d="M-192 0h896v512h-896z"/>
+    <path fill="#da0000" d="M-192 343.8h896V512h-896z"/>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M-21.6 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/>
+      <path d="M52.4 367.7v3.4H33.8v-3.4zm-34.6-7.9H21v11.3h-3.3z"/>
+      <path d="M49.6 351H53v20h-3.4zm-8.4 0h3.3v20h-3.3zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M17.8 359.9H21V371h-3.3z"/>
+      <path d="M17.8 359.9H21V371h-3.3z"/>
+      <path d="M17.8 359.9H21V371h-3.3zm-39.3 0h3.3V371h-3.3zm28.8 0h3.4V371H7.3zm-14.3 0h3.4V371H-7z"/>
+      <path d="M9.6 367.7v3.4H-5.5v-3.4zm1-8.7v3.4H1V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M-102.2 351h49v3.3h-49zm7.3 16.8h3.4v3.3H-95zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/>
+      <path d="M-28.2 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/>
+      <path d="M-31 351h3.4v20H-31zm-8.4 0h3.3v20h-3.3zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M-62.8 359.9h3.3V371h-3.3z"/>
+      <path d="M-62.8 359.9h3.3V371h-3.3z"/>
+      <path d="M-62.8 359.9h3.3V371h-3.3zm-39.3 0h3.3V371h-3.3zm28.8 0h3.3V371h-3.3zm-14.3 0h3.4V371h-3.4z"/>
+      <path d="M-71 367.7v3.4h-15v-3.4zm1-8.7v3.4h-9.6V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M58.3 351h49v3.3h-49zm7.3 16.8H69v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.3-16.8h3.4v20h-3.4z"/>
+      <path d="M132.3 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M129.5 351h3.4v20h-3.4zm-8.4 0h3.4v20H121zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M97.7 359.9h3.4V371h-3.4z"/>
+      <path d="M97.7 359.9h3.4V371h-3.4z"/>
+      <path d="M97.7 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/>
+      <path d="M89.6 367.7v3.4H74.4v-3.4zm1-8.7v3.4H81V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M622.7 351h49v3.3h-49zm7.3 16.8h3.4v3.3H630zm41.9 0v3.3H662v-3.4zm5.3-16.8h3.3v20h-3.4z"/>
+      <path d="M696.7 367.7v3.4H678v-3.4zm-34.6-7.9h3.4v11.3H662z"/>
+      <path d="M694 351h3.3v20h-3.4zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M662 359.9h3.5V371H662z"/>
+      <path d="M662 359.9h3.5V371H662z"/>
+      <path d="M662 359.9h3.5V371H662zm-39.2 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/>
+      <path d="M654 367.7v3.4h-15.2v-3.4zm1-8.7v3.4h-9.6V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M138.7 351h49.1v3.3h-49zm7.4 16.8h3.3v3.3h-3.3zm41.8 0v3.3h-9.8v-3.4zm5.3-16.8h3.4v20h-3.4z"/>
+      <path d="M212.8 367.7v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/>
+      <path d="M210 351h3.4v20H210zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-17.9V359zm39.3 0v3.4h-17.9V359z"/>
+      <path d="M178.1 359.9h3.4V371h-3.4z"/>
+      <path d="M178.1 359.9h3.4V371h-3.4z"/>
+      <path d="M178.1 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.2 0h3.3V371h-3.3z"/>
+      <path d="M170 367.7v3.4h-15.1v-3.4zm1-8.7v3.4h-9.6V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M219.5 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zM274 351h3.3v20H274z"/>
+      <path d="M293.5 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M290.7 351h3.4v20h-3.4zm-8.4 0h3.4v20h-3.4zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M258.9 359.9h3.4V371h-3.4z"/>
+      <path d="M258.9 359.9h3.4V371h-3.4z"/>
+      <path d="M258.9 359.9h3.4V371h-3.4zm-39.3 0h3.3V371h-3.3zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371H234z"/>
+      <path d="M250.8 367.7v3.4h-15.2v-3.4zm1-8.7v3.4H242V359z"/>
+    </g>
+    <path fill="#239f40" d="M-192 0h896v168.2h-896z"/>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M300.7 351h49v3.3h-49zm7.3 16.8h3.4v3.3H308zm41.9 0v3.3H340v-3.4zm5.3-16.8h3.3v20h-3.3z"/>
+      <path d="M374.7 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3H340z"/>
+      <path d="M372 351h3.3v20H372zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M340 359.9h3.5V371H340z"/>
+      <path d="M340 359.9h3.5V371H340z"/>
+      <path d="M340 359.9h3.5V371H340zm-39.2 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/>
+      <path d="M332 367.7v3.4h-15.2v-3.4zm1-8.7v3.4h-9.6V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M381.4 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm42 0v3.3h-9.9v-3.4zm5.2-16.8h3.4v20h-3.4z"/>
+      <path d="M455.4 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M452.7 351h3.3v20h-3.3zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-17.9V359zm39.3 0v3.4h-17.9V359z"/>
+      <path d="M420.8 359.9h3.4V371h-3.4z"/>
+      <path d="M420.8 359.9h3.4V371h-3.4z"/>
+      <path d="M420.8 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.3z"/>
+      <path d="M412.7 367.7v3.4h-15.1v-3.4zm1-8.7v3.4H404V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M462.2 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/>
+      <path d="M536.2 367.7v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/>
+      <path d="M533.4 351h3.4v20h-3.4zm-8.4 0h3.3v20H525zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M501.6 359.9h3.3V371h-3.3z"/>
+      <path d="M501.6 359.9h3.3V371h-3.3z"/>
+      <path d="M501.6 359.9h3.3V371h-3.3zm-39.4 0h3.4V371h-3.4zm28.9 0h3.3V371h-3.3zm-14.3 0h3.4V371h-3.4z"/>
+      <path d="M493.4 367.7v3.4h-15.1v-3.4zm1-8.7v3.4h-9.6V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M543.4 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm41.9 0v3.3h-9.8v-3.4zm5.2-16.8h3.4v20h-3.4z"/>
+      <path d="M617.4 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/>
+      <path d="M614.6 351h3.4v20h-3.4zm-8.4 0h3.3v20h-3.3zm-44.8 8v3.4h-18V359zm39.3 0v3.4h-18V359z"/>
+      <path d="M582.8 359.9h3.3V371h-3.3z"/>
+      <path d="M582.8 359.9h3.3V371h-3.3z"/>
+      <path d="M582.8 359.9h3.3V371h-3.3zm-39.3 0h3.3V371h-3.3zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371H558z"/>
+      <path d="M574.6 367.7v3.4h-15.1v-3.4zm1-8.7v3.4H566V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M-183.8 351h49v3.3h-49zm7.3 16.8h3.4v3.3h-3.4zm42 0v3.3h-9.9v-3.4zm5.2-16.8h3.4v20h-3.4z"/>
+      <path d="M-109.8 367.7v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M-112.5 351h3.3v20h-3.3zm-8.5 0h3.4v20h-3.4zm-44.8 8v3.4h-17.9V359zm39.3 0v3.4h-17.9V359z"/>
+      <path d="M-144.4 359.9h3.4V371h-3.4z"/>
+      <path d="M-144.4 359.9h3.4V371h-3.4z"/>
+      <path d="M-144.4 359.9h3.4V371h-3.4zm-39.3 0h3.4V371h-3.4zm28.8 0h3.4V371h-3.4zm-14.3 0h3.4V371h-3.4z"/>
+      <path d="M-152.5 367.7v3.4h-15.2v-3.4zm1-8.7v3.4h-9.6V359z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M-21.6 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/>
+      <path d="M52.4 160.2v3.4H33.8v-3.4zm-34.6-7.9H21v11.3h-3.3z"/>
+      <path d="M49.6 143.4H53v20.2h-3.4zm-8.4 0h3.3v20.2h-3.3zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M17.8 152.3H21v11.3h-3.3z"/>
+      <path d="M17.8 152.3H21v11.3h-3.3z"/>
+      <path d="M17.8 152.3H21v11.3h-3.3zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.4v11.3H7.3zm-14.3 0h3.4v11.3H-7z"/>
+      <path d="M9.6 160.2v3.4H-5.5v-3.4zm1-8.7v3.3H1v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M-102.2 143.4h49v3.4h-49zm7.3 17h3.4v3.2H-95zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/>
+      <path d="M-28.2 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/>
+      <path d="M-31 143.4h3.4v20.2H-31zm-8.4 0h3.3v20.2h-3.3zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M-62.8 152.3h3.3v11.3h-3.3z"/>
+      <path d="M-62.8 152.3h3.3v11.3h-3.3z"/>
+      <path d="M-62.8 152.3h3.3v11.3h-3.3zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.3v11.3h-3.3zm-14.3 0h3.4v11.3h-3.4z"/>
+      <path d="M-71 160.2v3.4h-15v-3.4zm1-8.7v3.3h-9.6v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M58.3 143.4h49v3.4h-49zm7.3 17H69v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.3-16.8h3.4v20.2h-3.4z"/>
+      <path d="M132.3 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M129.5 143.4h3.4v20.2h-3.4zm-8.4 0h3.4v20.2H121zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M97.7 152.3h3.4v11.3h-3.4z"/>
+      <path d="M97.7 152.3h3.4v11.3h-3.4z"/>
+      <path d="M97.7 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/>
+      <path d="M89.6 160.2v3.4H74.4v-3.4zm1-8.7v3.3H81v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M622.7 143.4h49v3.4h-49zm7.3 17h3.4v3.2H630zm41.9-.2v3.4H662v-3.4zm5.3-16.8h3.3v20.2h-3.4z"/>
+      <path d="M696.7 160.2v3.4H678v-3.4zm-34.6-7.9h3.4v11.3H662z"/>
+      <path d="M694 143.4h3.3v20.2h-3.4zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M662 152.3h3.5v11.3H662z"/>
+      <path d="M662 152.3h3.5v11.3H662z"/>
+      <path d="M662 152.3h3.5v11.3H662zm-39.2 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/>
+      <path d="M654 160.2v3.4h-15.2v-3.4zm1-8.7v3.3h-9.6v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M138.7 143.4h49.1v3.4h-49zm7.4 17h3.3v3.2h-3.3zm41.8-.2v3.4h-9.8v-3.4zm5.3-16.8h3.4v20.2h-3.4z"/>
+      <path d="M212.8 160.2v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/>
+      <path d="M210 143.4h3.4v20.2H210zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-17.9v-3.3zm39.3 0v3.4h-17.9v-3.3z"/>
+      <path d="M178.1 152.3h3.4v11.3h-3.4z"/>
+      <path d="M178.1 152.3h3.4v11.3h-3.4z"/>
+      <path d="M178.1 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.2 0h3.3v11.3h-3.3z"/>
+      <path d="M170 160.2v3.4h-15.1v-3.4zm1-8.7v3.3h-9.6v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M219.5 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.3-16.8h3.3v20.2H274z"/>
+      <path d="M293.5 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M290.7 143.4h3.4v20.2h-3.4zm-8.4 0h3.4v20.2h-3.4zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M258.9 152.3h3.4v11.3h-3.4z"/>
+      <path d="M258.9 152.3h3.4v11.3h-3.4z"/>
+      <path d="M258.9 152.3h3.4v11.3h-3.4zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3H234z"/>
+      <path d="M250.8 160.2v3.4h-15.2v-3.4zm1-8.7v3.3H242v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M300.7 143.4h49v3.4h-49zm7.3 17h3.4v3.2H308zm41.9-.2v3.4H340v-3.4zm5.3-16.8h3.3v20.2h-3.3z"/>
+      <path d="M374.7 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3H340z"/>
+      <path d="M372 143.4h3.3v20.2H372zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M340 152.3h3.5v11.3H340z"/>
+      <path d="M340 152.3h3.5v11.3H340z"/>
+      <path d="M340 152.3h3.5v11.3H340zm-39.2 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/>
+      <path d="M332 160.2v3.4h-15.2v-3.4zm1-8.7v3.3h-9.6v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M381.4 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm42-.2v3.4h-9.9v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/>
+      <path d="M455.4 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M452.7 143.4h3.3v20.2h-3.3zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-17.9v-3.3zm39.3 0v3.4h-17.9v-3.3z"/>
+      <path d="M420.8 152.3h3.4v11.3h-3.4z"/>
+      <path d="M420.8 152.3h3.4v11.3h-3.4z"/>
+      <path d="M420.8 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.3z"/>
+      <path d="M412.7 160.2v3.4h-15.1v-3.4zm1-8.7v3.3H404v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M462.2 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/>
+      <path d="M536.2 160.2v3.4h-18.6v-3.4zm-34.7-7.9h3.4v11.3h-3.4z"/>
+      <path d="M533.4 143.4h3.4v20.2h-3.4zm-8.4 0h3.3v20.2H525zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M501.6 152.3h3.3v11.3h-3.3z"/>
+      <path d="M501.6 152.3h3.3v11.3h-3.3z"/>
+      <path d="M501.6 152.3h3.3v11.3h-3.3zm-39.4 0h3.4v11.3h-3.4zm28.9 0h3.3v11.3h-3.3zm-14.3 0h3.4v11.3h-3.4z"/>
+      <path d="M493.4 160.2v3.4h-15.1v-3.4zm1-8.7v3.3h-9.6v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M543.4 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm41.9-.2v3.4h-9.8v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/>
+      <path d="M617.4 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.3v11.3h-3.3z"/>
+      <path d="M614.6 143.4h3.4v20.2h-3.4zm-8.4 0h3.3v20.2h-3.3zm-44.8 8v3.4h-18v-3.3zm39.3 0v3.4h-18v-3.3z"/>
+      <path d="M582.8 152.3h3.3v11.3h-3.3z"/>
+      <path d="M582.8 152.3h3.3v11.3h-3.3z"/>
+      <path d="M582.8 152.3h3.3v11.3h-3.3zm-39.3 0h3.3v11.3h-3.3zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3H558z"/>
+      <path d="M574.6 160.2v3.4h-15.1v-3.4zm1-8.7v3.3H566v-3.3z"/>
+    </g>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M-183.8 143.4h49v3.4h-49zm7.3 17h3.4v3.2h-3.4zm42-.2v3.4h-9.9v-3.4zm5.2-16.8h3.4v20.2h-3.4z"/>
+      <path d="M-109.8 160.2v3.4h-18.6v-3.4zm-34.6-7.9h3.4v11.3h-3.4z"/>
+      <path d="M-112.5 143.4h3.3v20.2h-3.3zm-8.5 0h3.4v20.2h-3.4zm-44.8 8v3.4h-17.9v-3.3zm39.3 0v3.4h-17.9v-3.3z"/>
+      <path d="M-144.4 152.3h3.4v11.3h-3.4z"/>
+      <path d="M-144.4 152.3h3.4v11.3h-3.4z"/>
+      <path d="M-144.4 152.3h3.4v11.3h-3.4zm-39.3 0h3.4v11.3h-3.4zm28.8 0h3.4v11.3h-3.4zm-14.3 0h3.4v11.3h-3.4z"/>
+      <path d="M-152.5 160.2v3.4h-15.2v-3.4zm1-8.7v3.3h-9.6v-3.3z"/>
+    </g>
+    <path fill="#d90000" stroke-width="1pt" d="M-68.8 339.5h6V350h-6zm160.5 0h6V350h-6zm-283.7 0h6V350h-6zm81.5 0h6V350h-6zm80.9 0h6V350h-6zm40 0h6V350h-6zm40.9 0h6V350h-6zm80.4 0h6V350h-6zm203 0h6.1V350h-6zm-162.1 0h6V350h-6zm40 0h6V350h-6zm40.5 0h6V350h-6zm40.4 0h6V350h-6zm323.2 0h6V350h-6zm-242.7 0h6V350h-6zm40.8 0h6V350h-6zm41.3 0h6V350h-6zm38.8 0h6V350h-6zm41.3 0h6V350h-6zm40.4 0h6V350h-6zm119.7 0h6V350h-6zm-38.8 0h6V350h-6zm-808.9 0h6V350h-6z"/>
+    <path fill="#239e3f" stroke-width="1pt" d="M-68.8 162.6h6v10.5h-6zm160.5 0h6v10.5h-6zm-283.7 0h6v10.5h-6zm81.5 0h6v10.5h-6zm80.9 0h6v10.5h-6zm40 0h6v10.5h-6zm40.9 0h6v10.5h-6zm80.4 0h6v10.5h-6zm203 0h6.1v10.5h-6zm-162.1 0h6v10.5h-6zm40 0h6v10.5h-6zm40.5 0h6v10.5h-6zm40.4 0h6v10.5h-6zm323.2 0h6v10.5h-6zm-242.7 0h6v10.5h-6zm40.8 0h6v10.5h-6zm41.3 0h6v10.5h-6zm38.8 0h6v10.5h-6zm41.3 0h6v10.5h-6zm40.4 0h6v10.5h-6zm119.7 0h6v10.5h-6zm-38.8 0h6v10.5h-6zm-808.9 0h6v10.5h-6z"/>
+    <g fill="#da0000">
+      <path d="M279.8 197.5c8.4 10.4 34.5 67.6-15.7 105.2-23.7 17.8-9 18.6-8.3 21.6 38-20.1 50.3-47.5 50-72-.2-24.4-13.2-46-26-54.8z"/>
+      <path d="M284.8 194.8a73.3 73.3 0 0115.7 112.4c27.2-6 62-86.4-15.7-112.4zm-57.6 0a73.3 73.3 0 00-15.6 112.4c-27.3-6-62-86.4 15.6-112.4z"/>
+      <path d="M232.2 197.5c-8.4 10.4-34.5 67.6 15.7 105.2 23.6 17.8 9 18.6 8.3 21.6-38-20.1-50.3-47.5-50-72 .2-24.4 13.2-46 26-54.8z"/>
+      <path d="M304.2 319.1c-14.9.2-33.6-2-47.5-9.3 2.3 4.5 4.2 7.3 6.5 11.7 13.2 1.3 31.5 2.8 41-2.4zm-95 0c14.9.2 33.6-2 47.5-9.3-2.3 4.5-4.2 7.3-6.5 11.7-13.2 1.3-31.5 2.8-41-2.4zm27.3-138.7c3 8 10.9 9.2 19.3 4.5 6.2 3.6 15.7 3.9 19-4.1 2.5 19.8-18.3 15-19 11.2-7.8 7.5-22.2 3.2-19.3-11.6z"/>
+      <path d="M256.4 331.6l7.8-9 1.1-120.1-9.3-8.2-9.3 7.8 1.9 121 7.8 8.5z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/is.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/is.svg
new file mode 100644
index 0000000..a7524b5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/is.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-is" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="is-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="0" clip-path="url(#is-a)">
+    <path fill="#003897" d="M0 0h666.7v480H0z"/>
+    <path fill="#fff" d="M0 186.7h186.7V0h106.6v186.7h373.4v106.6H293.3V480H186.7V293.3H0V186.7z"/>
+    <path fill="#d72828" d="M0 213.3h213.3V0h53.4v213.3h400v53.4h-400V480h-53.4V266.7H0v-53.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/it.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/it.svg
new file mode 100644
index 0000000..5cb92aa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/it.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-it" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#009246" d="M0 0h213.3v480H0z"/>
+    <path fill="#ce2b37" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/je.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/je.svg
new file mode 100644
index 0000000..d90f124
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/je.svg
@@ -0,0 +1,29 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-je" viewBox="0 0 30 22.5">
+  <defs>
+    <clipPath id="je-a">
+      <path fill-opacity=".7" d="M-5.3-6h40v30h-40z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#je-a)" transform="matrix(.75 0 0 .75 3.975 4.5)">
+    <path fill="#fff" d="M-10.3-6h50v30h-50z"/>
+    <path fill="#df112d" fill-rule="evenodd" d="M-10.3-6v2L11.6 9l-21.8 13v2H-7l21.8-13 21.7 13h3.2v-2L18 9 39.8-4v-2h-3.3L14.7 7-7-6h-3.2z"/>
+    <g transform="translate(-9.7 -6) scale(.20361)">
+      <path fill="#e8112d" stroke="#000" stroke-width=".1" d="M132.7 22.2c3.1 12.8 1.4 28.6-12.9 37.4-14.2-8.8-16-24.6-12.8-37.4 3.4-3 18.6-4.9 25.7 0z"/>
+      <path fill="#f9dd16" stroke="#000" stroke-width=".1" d="M119.8 19.7a26 26 0 0113 3.1 28 28 0 014.9-12.1c-2.5 0-3.6 1.3-3.6 2.6-.6-1.7-3-1.6-3.8-.7 2.7 1.8.6 5-1.8 4.4-1.1-.3-1.7-1.1-2-2.3a1.3 1.3 0 10-.5 0 2.9 2.9 0 01-3.1 1.3c-1.3-.3-1.9-1.5-1.9-2.5 0-2.7 2.6-3.1 3.4-2.6 0-1.8-2.9-3.3-3.8-1.8a4.8 4.8 0 00-.8-5.8A4.8 4.8 0 00119 9c-.9-1.5-3.7 0-3.7 1.8.7-.5 3.3-.1 3.3 2.6 0 1-.6 2.2-1.8 2.5a3 3 0 01-3.2-1.3 1.3 1.3 0 00.6-.4 1.3 1.3 0 10-1.1.4c-.2 1.2-.9 2-2 2.3a2.4 2.4 0 01-1.8-4.4c-.8-1-3.2-1-3.8.7 0-1.3-1.1-2.6-3.6-2.6a28 28 0 015 12.1 26 26 0 0113-3.1z"/>
+      <g id="b" stroke="#000">
+        <g fill="#f9dd16" stroke-width=".1">
+          <path d="M130.7 32.2c-.4 0-.4.5-.5.5.8 0 1.2-.3 1.4-.7v.6c.6-.2.8-.7.6-1l.7.2c-.4-.3-.1-1-.8-1.4.2 0 .6.2.8.5-.1-.7-.2-1.1-.8-1.5h.5a.9.9 0 01-.4-.8c0-.4-.2-.4-.6-.3l-1.8.1c-1 0-2 0-2.8-.6 1.3.6 3-.6 3-1.5 0-1-1.4-2-4-1.4-2.6.6-5.8.4-5.8-.5s2.3-1 3.5-.8c1.2.2 2 .3 4.2-.5-.5.2-2.3.3-3.7-.1s-4.8-.4-4.8 1.4c0 1.9 3.6 1.7 6.8 1.2 1.8-.2 2.8 0 2.8.5 0 .6-1.7.8-3 .7a10 10 0 00-4.1.3c-1.3.4-2.2 0-3.6.3-.7 0-2.4 0-3.2-1.4-.5.4-2 1.1-2.3 1.9-.3.6 0 1.3.4 2 .6.8-.3.7-1 .7-.8 0-2 0-2.6-.8-.6-.6-1.3-1.1-1.9-.7-.3.3 0 .6.2.5l.8.2a1 1 0 00-1 .1c-.3.2 0 .6.3.5.2-.1.7-.2 1 0-.3 0-.7 0-.8.2s0 .4.3.4c.6 0 .7.4 1.3.3a.9.9 0 00-.7.4c.6-.3 1.1.4 1.8.2-.2.1-.7.4-.7.6.4-.5 3.2.4 3.2-.7l-.1.8c.3-.2 1.4-.3 1.8-1 0 .2 0 .5-.2.6.3 0 .8-.2 1.3-.9.2-.3.2-.5.2-.7.5 0 .8-.1 1.2-.4.4-.3.8.3 1.5-.2.6-.4 1.2 0 1.6-.2.3-.2.8 0 1.2-.2s1 .1 1.6-.4c1 .4 2.3 1 5.2.5 1.6-.3 2.2.3 2.2 1 0 .6-.4.6-.6.6-1 .1-1.3-.3-1.7-.2-.2.1-.4.5 0 .7-.3.1-.3.4-.1.5s.5 0 .8-.1c-.4.1-.7.4-.5.7.1.2.4.3.7 0 .3-.4.8-.7 1.2-.7zm-18.6-8c-.8-.3-1-.3-.9.4 0 .3.3.7.5.9 0-.3.1-1 .4-1.2z"/>
+          <path d="M114.8 24.3c.8-.4 1.1-.4.9.3 0 .3-.3.7-.5.9 0-.3 0-1-.4-1.2z"/>
+          <path d="M113.5 23.8c1.6 0 1.8.8 1.7 1.7 0 1-.5.6-.8 2-.1.4-.5.5-1 .5-.3 0-.7 0-.9-.6-.3-1.3-.8-1-.8-2 0-.8.2-1.6 1.8-1.6z"/>
+          <path d="M109.4 27.5c-.4-.2-.7 0-.9 0 .6.1.6.8 1.8 1-.3 0-.4.2-.7 0 .5.4 1 .9 2.2.9.7 0 .2.3-.2.1.4.5 1.3.1 1.9 1 0-.7-1-1.7-.5-2.4-1.7-.1-1.8-1-2.7-1.7-.8-.6-.9-1.2-1.2-2.3-.1-.5-.7-.8-1-.7-.3 0-.5.3-.2.5.2.2.6.2.6.7-.3-.4-.8-.5-1-.3-.1.2 0 .5.2.5.5 0 .2.6.7 1-.5-.5-.9-.6-1.2-.3-.1.2 0 .5.4.5.5 0 1 1.2 1.8 1.5zm13 4.6c-.2 0-.1.5-.5.5.8 0 1.3-.2 1.6-.5l-.2.5c.4-.3 1.5-.4 2-.3s.6-.1.8-.4c.2-.4 0-.6-.3-.8-.3-.3-.4-.7-.3-1.3-1.4-2-4-1-4-.2.9 1.1 1 1 1.8 1.1.7.2 1.2.2.7.6-.2.2-1 0-1.5.1-1.3 0-2-.9-2.3-.4-.3.4 0 .6.6.6-.4 0-1 0-.9.4.2.7.8-.1 1.1.1-.2 0-.6.1-.6.3 0 .2.5.5 1 0a1.6 1.6 0 011-.3z"/>
+        </g>
+        <path fill="none" stroke-width=".1" d="M123.5 29.2c-.4-.2-.9-.3-1.4-.2m-5.6 0c-.4.8-.2 1.2-.1 1.6m-4-5.6c.2.2.4-.2.8.2-.1-.1-.3.3-.6 0m2-.1c-.3 0-.5-.3-.9.1.1-.1.3.3.6 0m-.6 0v.3c.1.7.3 1-.3 1-.5 0-.3-.3-.2-1v-.3"/>
+        <path fill="#ff0016" stroke-width=".1" d="M113.5 27.7c.4 0 .6 0 .6-.6 0-.2.3-.3.1-.7.2.4-.7.4-.7.2 0 .2-1 .2-.8-.2-.1.4.2.5.1.7 0 .6.2.6.7.6z"/>
+        <path stroke-width=".1" d="M113 26.5l-1-.3m1 .3h-1m1 .1l-.9.3m1.7-.4l1-.3m-1 .3h1.2m-1.2.1l1 .3"/>
+        <path fill="#0051ba" stroke-width="0" d="M108.1 23.4c-.3-.4-1 0-1 .4.2-.3.6.1.9 0 .1 0 .3-.2.1-.4zm-.3.9c-.3-.4-1.1 0-1.1.4.2-.3.6.1.9 0 .1 0 .3-.3.2-.4zm-.2 1.2c-.4-.4-1.1 0-1 .5.2-.3.6 0 .8 0 .2-.1.3-.4.1-.5zm.3 3.7c-.4-.4-1 .1-1 .6.2-.4.7 0 1-.2 0 0 .2-.3 0-.5zm0 .7c-.5-.1-1 .6-.7 1 0-.5.6-.3.8-.5l-.1-.5zm.6.7c-.5-.2-1 .4-.7.8 0-.3.6-.2.7-.4v-.5zm11.7 1.1c-.5-.1-1 .5-.7 1 0-.5.6-.3.8-.5l-.1-.5zm.6.6c-.5-.1-.9.6-.6 1 0-.5.6-.4.7-.6.1-.1.1-.4 0-.4zm-.4-1.4c-.4-.2-1 .4-.9.8.2-.4.7-.1.9-.3V31zm8.3 1c-.4-.1-.8.6-.6 1 0-.4.6-.3.8-.5 0-.2 0-.5-.2-.5zm0-.7c-.4-.3-1 .3-.8.7.2-.3.7-.1.9-.3v-.5zm.4 1.3c-.5 0-.9.7-.6 1 0-.4.6-.3.7-.5.1-.2 0-.4-.1-.5zm-15.6-5.2c.3 0 .4.1.4.7 0 1 0 1.6-.4 1.6-.3 0-.3-.5-.3-1.3 0-.4 0-.7-.1-.6 0-.3.1-.4.4-.4z"/>
+      </g>
+      <use width="30" height="18" transform="matrix(.9 0 0 .9 11.6 13.7)" xlink:href="#b"/>
+      <use width="30" height="18" transform="matrix(.67 0 0 .75 39.2 27.5)" xlink:href="#b"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jm.svg
new file mode 100644
index 0000000..535daf4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jm.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-jm" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path d="M0 0l320 240L0 480zm640 0L320 240l320 240z"/>
+    <path fill="#090" d="M0 0l320 240L640 0zm0 480l320-240 320 240z"/>
+    <path fill="#fc0" d="M640 0h-59.6L0 435.3V480h59.6L640 44.7z"/>
+    <path fill="#fc0" d="M0 0v44.7L580.4 480H640v-44.7L59.6 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jo.svg
new file mode 100644
index 0000000..3a17678
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jo.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-jo" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="jo-a">
+      <path fill-opacity=".7" d="M-117.8 0h682.6v512h-682.6z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#jo-a)" transform="translate(110.5) scale(.9375)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path d="M-117.8 0h1024v170.7h-1024z"/>
+      <path fill="#fff" d="M-117.8 170.7h1024v170.6h-1024z"/>
+      <path fill="#090" d="M-117.8 341.3h1024V512h-1024z"/>
+      <path fill="red" d="M-117.8 512l512-256-512-256v512z"/>
+      <path fill="#fff" d="M24.5 289l5.7-24.9H4.7l23-11-15.9-19.9 23 11 5.6-24.8 5.7 24.9L69 233.2l-16 19.9 23 11H50.6l5.7 24.9-15.9-20z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jp.svg
new file mode 100644
index 0000000..d415816
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/jp.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-jp" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="jp-a">
+      <path fill-opacity=".7" d="M-88 32h640v480H-88z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#jp-a)" transform="translate(88 -32)">
+    <path fill="#fff" d="M-128 32h720v480h-720z"/>
+    <circle cx="523.1" cy="344.1" r="194.9" fill="#d30000" transform="translate(-168.4 8.6) scale(.76554)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ke.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ke.svg
new file mode 100644
index 0000000..c1fd2d8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ke.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ke" viewBox="0 0 640 480">
+  <defs>
+    <path id="a" stroke-miterlimit="10" d="M-28.6 47.5l1.8 1 46.7-81c2.7-.6 4.2-3.2 5.7-5.8 1-1.8 5-8.7 6.7-17.7a58 58 0 00-11.9 14.7c-1.5 2.6-3 5.2-2.3 7.9z"/>
+  </defs>
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path d="M0 0h640v144H0z"/>
+  <path fill="#060" d="M0 336h640v144H0z"/>
+  <g id="b" transform="matrix(3 0 0 3 320 240)">
+    <use width="100%" height="100%" stroke="#000" xlink:href="#a"/>
+    <use width="100%" height="100%" fill="#fff" xlink:href="#a"/>
+  </g>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)" xlink:href="#b"/>
+  <path fill="#b00" d="M640.5 168H377c-9-24-39-72-57-72s-48 48-57 72H-.2v144H263c9 24 39 72 57 72s48-48 57-72h263.5V168z"/>
+  <path id="c" d="M377 312c9-24 15-48 15-72s-6-48-15-72c-9 24-15 48-15 72s6 48 15 72"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)" xlink:href="#c"/>
+  <g fill="#fff" transform="matrix(3 0 0 3 320 240)">
+    <ellipse rx="4" ry="6"/>
+    <path id="d" d="M1 5.8s4 8 4 21-4 21-4 21z"/>
+    <use width="100%" height="100%" transform="scale(-1)" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="scale(1 -1)" xlink:href="#d"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kg.svg
new file mode 100644
index 0000000..936767b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kg.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kg" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="kg-a">
+      <path fill-opacity=".7" d="M-85 0h682.7v512H-85z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#kg-a)" transform="translate(79.6) scale(.9375)">
+    <path fill="#be0027" d="M-128 0h768.8v512H-128z"/>
+    <path fill="#ff0" d="M105.5 261.1c13.6-16.6 41.9-.4 65-12.3-27.4 1.5-42.3-13.2-63.9-11.1 22.4-13.8 41.5 4.5 66.5-2.8-33.1-2.8-31.7-17.7-61.9-19.8 26.8-11.4 40 11.8 66.3 6.5-31-7.1-35-25.3-58-29.2 33.6-5 31.4 14.8 64.3 17.2-33.4-14.3-24.7-26.8-52.6-37.7 31.3-.7 29.2 21 61 26.6-27.2-17.2-23.9-32.9-46.2-45.2 26.5.5 29 27.6 56.1 36-24.1-19.1-17.8-35.3-38.6-52.4 26.4 6.2 22.5 29.6 50 44.6-20.4-22.6-12.6-38.8-30.3-57.3 25.4 8.1 15.7 30.4 42 51.6-15-24.9-5.7-40.8-20.6-61.7 23.6 12.1 12.2 34.9 34 57.5-10.3-25.5 0-41.3-10.5-63.9 20.2 15 8.2 39.3 24.5 62.5-6-32 7.8-37.2 3.5-65.2 15.3 18.8-1.8 37.6 10 65.3-1.5-31.5 15.3-38.8 12.4-64 15.1 22.6-8.5 42.3 1.4 66.5 2.5-29.8 22.1-37.6 22.4-60.8 12 21.3-14 36.7-9.8 65 8.5-31.2 29.4-35 32-56 7.1 24.6-21.4 36-19.7 63.4 8.5-27.7 34.6-31 40-51.4 3.3 26-22.4 30.7-29.7 59.5 13.5-23.5 37.2-25.4 47.8-44-.8 25.8-29.8 29.2-38.7 53.3 16.7-20.5 37.7-17 54.4-35.1-1.8 23.3-31.3 22-47 46.1 18.1-16.7 45.4-11.7 59.3-26.1-.7 20.6-36.9 19-54 37.5 21-11.6 47.8-4.8 63.2-15.5-2.8 18-41 13.8-59.3 28 25.2-7 44.7 3.7 65-4-9.9 17.5-44.6 6.4-63 17.8 22-3.7 45.2 9.6 65.1 5.3-6.5 15.2-44.6-1-65 8.5 24.4-.2 40.3 15.5 63 14.4-12.3 13.8-45.7-5.1-65.2-1.9 23.8 5 42 24.6 60 25.6-14.9 11.3-42.5-14.5-65-11.3 23.2 6.2 42.6 32.5 55.8 33.1-14.3 9.8-42.5-22.5-61.8-21.3 23.5 10.6 34.2 37.5 49.7 41.3-19.1 6.1-37.9-29.2-58.4-30.5 23.8 15 25.1 38 43.4 48.2-19.3 4.7-33-35.2-53.3-38.6 19.5 14.3 22.5 45 35.4 54.6-19.6 1-26.7-40.7-46.8-46.7 17.2 14.4 13.1 45.6 26.5 59-20.4-4.3-17.8-40.6-39.1-52.9 15.3 19.4 7.5 46.9 17.5 62.4-19.9-8-11.3-40.6-30.2-59 10.3 20.6-.8 44.6 7.4 64.5-18.2-8.9-6-47.4-19.9-62.7 6.4 23.8-5.4 43.5-.6 64.8-18.6-21.5 2.8-43.2-13.3-65.1 4.2 25.1-13.4 42.7-10.6 63.7-14.7-17.2 8-44.7-3.5-66.4 2.4 24.7-20.3 46.4-18.7 62-12-20 13.3-43.6 6.5-66.3-1.4 23.6-24.4 36.4-28.7 57.9-7.7-23.7 19.6-40.8 17.2-64.1-7.8 22.1-30 31-37.8 52.5-6.4-23.7 26-36.2 26.8-61-10 23.2-36.5 28.4-45.3 46.2-3.3-23.5 33.8-34 35.2-56.3-12 21.4-41 22.3-51 39.3-1.5-23.4 37.6-26.3 43.7-50.8-11.9 18.2-43.7 15.9-57 30.7 2.1-21.7 44.4-23 51.2-42.6-15.8 15.2-45 9-61.5 21 9.2-21.4 48.9-16.9 57.8-32.3-17.5 9.1-48.6.2-64 9.4 14-20.2 44.8-8.1 62.3-22-28.4 4.1-45.5-7.2-65.2-2z"/>
+    <path fill="#ff0" d="M356 256.1a99.2 99.2 0 11-198.5 0 99.2 99.2 0 01198.4 0z"/>
+    <path fill="#be0027" d="M343.2 256.3a86.3 86.3 0 11-172.6 0 86.3 86.3 0 01172.6 0z"/>
+    <path fill="#ff0" d="M331.2 256.5a74 74 0 11-148.2 0 74 74 0 01148.2 0z"/>
+    <path fill="#be0027" d="M194 208c20.5-.5 46 1.4 62.9 14.8a97.1 97.1 0 0160.5-14.3l11 20.1a101 101 0 00-50 8.2 85.3 85.3 0 0134.6 72.1c-2.7 3.4-7 7.1-9.7 10.5 4-28.5-11-60.3-32.9-77 17.8 25.6 28.3 48.6 25.4 80.4l-10 6.4c4.6-28-2-61-22.7-80 12 17.5 23.8 49 16.4 81-3.2 1-8.2 3.7-11.4 4.6a96 96 0 00-10.8-78.7c-13.8 19.8-18.3 50-10.5 78-3.8-1-6.7-2.2-10.6-3.1-5.7-30 2.2-64 15.9-81.7-14 8.1-27.1 42.7-23.4 78l-9.3-4.3c-4.5-26.3 7.4-60.6 24.5-80.4-19.4 12.2-35.2 42.3-32.5 74.6-3-2.6-5.7-3.9-8.7-6.6-3.4-28.2 13-56.6 32.1-73.6-16.1-7.3-30-8.7-50-8.4 3.1-6.5 6-14.1 9.2-20.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kh.svg
new file mode 100644
index 0000000..7cd890a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kh.svg
@@ -0,0 +1,61 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-kh" viewBox="0 0 640 480">
+  <path fill="#032ea1" d="M0 0h640v480H0z"/>
+  <path fill="#e00025" d="M0 120h640v240H0z"/>
+  <g fill="#fff" stroke="#000" transform="matrix(1.2 0 0 1.2 85.6 -522)">
+    <g stroke-linejoin="bevel">
+      <path d="M139 623.5h113.8v43.8H139z"/>
+      <path d="M247 647.6h3.5v16.5H247zm-108-8.1h113.8v5H139zm0-7h113.8v4.6H139z"/>
+      <path stroke-width=".9" d="M139 625.7h113.8v4.3H139z"/>
+      <path d="M169 647.6h3.6v16.5H169zm49 0h3.6v16.5H218zm-78 0h3.5v16.5H140zm7 0h3.5v16.5H147zm7.5 0h3.5v16.5h-3.5zm7.5 0h3.5v16.5H162zm62.8 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6zm7.5 0h3.6v16.5h-3.6z"/>
+      <path stroke-linejoin="miter" d="M94.5 669.5a9.3 9.3 0 004.4-5.3H292a9.3 9.3 0 004.4 5.3z"/>
+    </g>
+    <path d="M193 556.8s-.1-4.1 2.3-4.2c2.3 0 2.2 4.2 2.2 4.2zm-12.5 54.5v-5.5c0-2.8-2.8-3-2.8-5 0 0-.4-3 .4-4.4 1.1 4 3 3.3 3 1.6 0-1.4-1-2.8-3.3-6.3-.8-1.1-.3-4.6.7-5.9.4 3 .9 4.5 2.2 4.5.8 0 1.4-.5 1.4-2 0-2-1.3-3-2-4.8a5 5 0 011.1-5.3c.5 3 .4 4.2 1.7 4.2 2.7-.9 0-4.8-.6-5.8-.6-1.1 1-3.4 1-3.4.8 2.7 1 2.9 2 2.6 1.2-.3 1-2-.4-3.4-.9-1-.8-2.3.2-3.3 1 1.9 2.2 1.8 2.3.6l-.8-4.4H204l-.9 4.3c-.2 1.2 1.4 1.5 2.4-.5 1 1 1.1 2.4.2 3.3-1.4 1.4-1.6 3.1-.4 3.4 1 .3 1.2 0 2-2.6 0 0 1.5 1.5 1 3.4-.6 1-3.3 5-.6 5.8 1.3 0 1.2-1.2 1.7-4.2a5 5 0 011 5.3c-.6 1.8-2 2.8-2 4.8 0 1.5.7 2 1.5 2 1.3 0 1.8-1.4 2.2-4.5 1 1.3 1.5 4.8.7 6-2.3 3.4-3.4 4.8-3.4 6.2 0 1.7 2 2.4 3-1.6.9 1.4.5 4.4.5 4.4 0 2-2.7 2.2-2.8 5v5.5zm7.2-46l-.4-3.1h15.9l-.4 3.1zm1-3.2l-.2-2.5H202l-.3 2.5zm2.3-2.6l-.3-2.6h9l-.1 2.6zm33 110c-2-.7-5-2.9-5-5v-24.3l2.6-3.4H169l2.5 3.4v24.3c0 2.1-2 4.3-4 5z"/>
+    <path stroke-linejoin="bevel" d="M178.2 647.6h3.6v16.5h-3.6zm30.4 0h3.6v16.5h-3.6z"/>
+    <path d="M168 609.2v27.6h54v-27.6a4.2 4.2 0 00-2.6 2.8v11.8h-48.7V612s-.6-2-2.8-2.8z"/>
+    <path d="M214.6 669.5c-1.8-.7-5.6-2.9-5.6-5v-27.2c.4-1.5 2.4-2.4 3.7-3.4H177c1.7 1 3.6 1.7 4.3 3.4v27.2c0 2.1-3 4.3-4.8 5z"/>
+    <path d="M219.4 634.2v-19.6h-4.9v-1.9h-38.8v2h-5v19.5zM207 669.5c-1.8-.7-4.3-2.9-4.3-5v-23.2l1.4-2.1h-17.7l1.5 2v23.3c0 2.1-2.6 4.3-4.3 5z"/>
+    <path d="M190.7 639.2h9v30.3h-9z"/>
+    <path stroke-linejoin="bevel" d="M204.4 632.5c0-2 5.8-2.1 8.8-3.8h-36c3 1.7 8.7 1.8 8.7 3.8l1.2 3.9 15 .6z"/>
+    <path d="M211.4 611.3c0-4.9.2-6.7 1.7-6.7V620c-3.7 1.4-6.3 6-6.3 6h-23.2s-2.6-4.6-6.3-6v-15.5c1.8 0 1.8 2 1.8 6.7zm1.7-2c0-5.6 4.9-6.2 4.9-6.2v5c-1.9-.1-2.8 1.6-2.8 4 0 2.5 1.5 2.5 1.5 2.5v14.2h-3.6z"/>
+    <path d="M177.3 609.3c0-5.6-4.9-6.2-4.9-6.2v5c1.9-.1 2.8 1.6 2.8 4 0 2.5-1.5 2.5-1.5 2.5v14.2h3.6z"/>
+    <g fill="none" stroke-width=".8">
+      <path d="M186.8 570.6H204m-19.2 5.4h21m-23 6.5h24.9m-27 7.9h29.5m-30.2 9h30.4"/>
+      <path stroke-width="1" d="M170.8 629h48.6m-33.2 0h18v6.6h-18z"/>
+    </g>
+    <path d="M184 614.2c3 3.6 2.6 9.7 2.6 13.3H204c0-3.6-.4-9.7 2.6-13.3zm9.7-41l-2.4-1.3v-3.5c1 .3 2 .4 2.2 2 .3-2.3 1-2.1 1.9-3 1 .9 1.5.7 1.9 3 0-1.6 1.2-1.7 2.1-2v3.5l-2.3 1.2z"/>
+    <path d="M193.5 578.9l-4-2.8V573c1.5.3 3 .5 3.2 2.2.4-2.5 1.3-3.7 2.7-4.7 1.3 1 2.2 2.2 2.7 4.7.1-1.7 1.7-1.9 3-2.2v3.2l-3.9 2.7z"/>
+    <path d="M193.2 587.8l-4.5-4v-4.7c1.6.4 3.4.6 3.6 3.1.5-3.5 1.5-5.4 3-6.8 1.6 1.4 2.6 3.3 3.2 6.8.2-2.5 2-2.7 3.6-3.1v4.7l-4.6 4zm8.4 5.3l-4 5.7h-4.7l-4.1-5.7zm-15.2 9.5c2 1.1 2.8 3.4 3 7.6H201c.2-4.2 1-6.5 3-7.6z"/>
+    <path stroke-linejoin="bevel" d="M204.2 593v-5.6a5.2 5.2 0 00-3.8 3.3c0-2-2.5-6.3-5.2-8.5-2.7 2.4-5.3 6.4-5.2 8.4-.5-1.5-1.8-2.7-3.8-3.2v5.7z"/>
+    <path stroke-linejoin="bevel" d="M205 602.6V597c-2.1.6-3.5 1.7-4.1 3.3 0-2-2.7-6.3-5.7-8.5-3 2.5-5.8 6.4-5.7 8.5-.5-1.5-2-2.7-4.1-3.3v5.7z"/>
+    <path stroke-linejoin="bevel" d="M207.4 614.3v-6.6a9.6 9.6 0 00-5.1 3.8c0-3.5-4-9-7.1-10.7-3.2 1.8-7.1 7.4-7.1 10.7a9.7 9.7 0 00-5.2-3.8v6.6z"/>
+    <path stroke-linejoin="bevel" d="M206 629v-6.8c-2.4.9-3 3.1-3.8 4.7.3-6.9-3.8-14.2-7-16.1-3.2 1.9-7.4 9.4-7 16-.8-1.4-1.5-3.7-3.8-4.6v6.7z"/>
+    <path d="M204.4 639.2v-6.8c-2.5.6-2.6 1.5-3.4 3 .3-4.1-2.6-8.8-5.8-10.6-3.2 1.8-6 6.5-5.8 10.6-.8-1.5-.9-2.4-3.4-3v6.8z"/>
+    <g id="a">
+      <path d="M99 664.2v-20.4c-.7-2.6-3-5-4.6-5.4v-18l3.7 2 4.3 18.9v23z"/>
+      <path d="M99 664.3v-20.5c-.7-2.6-3-5-4.6-5.4v-19.2c2.5 0 3.7 3.2 3.7 3.2l4.3 18.9v22.9z"/>
+      <path d="M96.3 669.5c1.7-.7 4.2-2.9 4.2-5v-25.6l-1.2-2H143l-1.7 2v25.6a6 6 0 003.4 5z"/>
+      <path d="M135.8 669.5c-1.7-.7-4.2-2.9-4.2-5v-24.3l3.6-3.4h-29.6l3.6 3.4v24.3c0 2.1-2.5 4.3-4.2 5z"/>
+      <path d="M131.7 669.5c-1.7-.7-4.3-2.9-4.3-5v-22l2.4-3.3H111l2.4 3.3v22c0 2.1-2.5 4.3-4.3 5z"/>
+      <path d="M116 639.2h8.9v30.4h-9z"/>
+      <path stroke-linejoin="bevel" d="M103.7 647.6h3.6v16.5h-3.6zm30.8 0h3.5v16.5h-3.6zm-33.9-27.8h4.4v17h-4.4zm0-3.2h4.3v3.2h-4.3zm35.6 6.9h6.1v13h-6.1z"/>
+      <path d="M104.9 636.6v-29c1.2 0 1.4 4.3 4.2 4.3 1.5 0 1.4-1.8.5-3.2-.7-1.3-1.6-3-.4-6.3.9 2.5 3.1 3.3 2.7 1.8-.7-2.7-2.8-3.2-1.2-7.3.5 3.4 2.7 3.3 2.2 1.3-.6-2.3-1.9-3.3-.3-6.5.9 3.7 2 3.5 2 1.2 0-3.4 0-7 4.2-8.3 0 0 .3-3 1.9-3 1.5 0 1.8 3 1.8 3 4.3 1.3 4.2 5 4.2 8.3 0 2.3 1.1 2.5 2-1.2 1.6 3.2.3 4.2-.3 6.5-.5 2 1.7 2.1 2.2-1.3 1.6 4.1-.5 4.6-1.2 7.3-.4 1.5 1.8.7 2.7-1.8 1.2 3.3.3 5-.4 6.3-.8 1.4-1 3.2.5 3.2 2.8 0 3-4.2 4.2-4.2v28.9zM98 614.7v22.1h2.5v-22.1c-.9-.5-1.7-.5-2.5 0z"/>
+      <path d="M98.2 629c3.1 1.6 6.2 3.5 7 7.8h-7zm43.2-6.6v14.4h2v-14.4c-.6-.3-1.5-.4-2 0z"/>
+      <path d="M143.4 629c-3.1 1.5-6.2 3.3-7 7.7h7zm-20.6-33.7l1.8-1.5v-2c-.6 0-1 .3-1.5 1a5 5 0 00-2.5-3 5 5 0 00-2.6 2.9c-.5-.7-.8-.8-1.5-1v2l1.8 1.6z"/>
+      <path d="M123.8 600.2l.8-1.9v-2.5c-.6 0-1 .3-1.5 1a5 5 0 00-2.5-3 5 5 0 00-2.6 2.9c-.5-.7-.8-.8-1.5-.9v2.5l.8 1.9z"/>
+      <path d="M124 606.8l2.6-3.3v-3.2c-1 0-1.5.5-2.2 1.6-.7-2.3-2-2.7-3.8-3.8-1.9 1-3.2 1.5-3.8 3.7-.8-1.1-1.3-1.4-2.3-1.5v3.2l2.7 3.3z"/>
+      <path d="M124.7 613.3s3.2-2.7 3.3-4.2v-3.5c-1.2.1-2.3.4-3.2 1.9-.8-2.9-2-3.7-4.2-5-2.3 1.3-3.5 2.1-4.2 5-1-1.5-2-1.8-3.3-2v3.6a15 15 0 003.3 4.2z"/>
+      <path d="M126 625.3s4.4-4.7 4.5-6.6v-5.4c-1.6.2-3.2 1.3-4.4 3.6-1-4.5-2.6-7.6-5.5-9.8-3 2.2-4.6 5.3-5.6 9.8-1.2-2.3-2.7-3.4-4.3-3.6v5.4c.3 1.9 4.4 6.6 4.4 6.6z"/>
+      <path d="M126 632.4s3.7-3.7 4.5-5.3v-5.4c-1.6.2-3.2 1.3-4.4 3.5a14 14 0 00-5.5-9.2c-3 2.2-4.6 4.7-5.6 9.2-1.2-2.2-2.7-3.3-4.3-3.5v5.4c1 1.6 4.4 5.3 4.4 5.3z"/>
+      <path d="M127.5 636.6c-1-4.7-2-8.2-7.1-11.7-5.2 3.5-6.1 7-7.2 11.7z"/>
+      <path d="M130.2 639.2v-6.8c-2.4 1-4.5 2.3-5.3 3.8-.8-3.8-2.5-5.4-4.6-7.7-2.1 2.3-3.5 4-4.4 7.7-.8-1.5-2.9-2.9-5.2-3.8v6.8z"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 390.7 0)" xlink:href="#a"/>
+    <path d="M72.7 694.3H318v12.5H72.7zm-6.5 12.5h258.3v12.5H66.2zm19.4-31.3H305v8.1H85.6z"/>
+    <path d="M79.2 683.6h232.4v10.6H79.2zm10.2-14.3h212v6.2h-212z"/>
+    <path d="M112.4 669.3h16v50h-16z"/>
+    <path d="M116 669.3h8.9v50h-9zm71 0h16v50h-16z"/>
+    <path d="M190.7 669.3h9v50h-9zm71.5 0h16v50h-16z"/>
+    <path d="M265.7 669.3h9v50h-9z"/>
+    <path fill="none" d="M99 664.2h193M115.8 713h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m65.8 37.5h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m-8.6-6.3h8.6m-8.6-6.2h8.6m66.2 37.5h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2m-9.2-6.3h9.2m-9.2-6.2h9.2"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ki.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ki.svg
new file mode 100644
index 0000000..604890c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ki.svg
@@ -0,0 +1,36 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ki" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ki-a">
+      <path fill-opacity=".7" d="M-86.3 0h682.6v512H-86.3z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#ki-a)" transform="translate(81) scale(.9375)">
+    <path fill="#e73e2d" fill-rule="evenodd" d="M-164.3 0h835.8v306.5h-835.8z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M204.3 282.1c-19.4-15.2-55.6-10-61.6-51.3 27.7 21.5 22.7-1.2 64 19.3l-2.4 32z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M209.5 263.4c-13.9-20.4-50-26.6-43-67.7 19.9 28.9 22 5.7 55.2 37.9l-12.2 29.8z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M215.8 250c-5-24.1-36-43.6-13.8-79 7.2 34.4 18 13.8 36.4 56.2L215.8 250z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M230.3 237.6c2.7-24.5-20.8-52.6 11.1-79.4-3.6 34.9 13 18.7 17.5 64.6l-28.6 14.8z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M243.3 227.7c12.4-21.3 2.5-56.5 42.6-67.9-17.6 30.3 4.2 22.3-10.5 66l-32.1 1.9z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M262 230.3c18.6-16.2 20.4-52.8 62-50.9-26.3 23.2-3 22.5-31 59.4l-31-8.5z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M278.6 239.9c22.5-10.1 34.9-44.5 74.1-30.5-32 14.5-9.5 20.7-47 47.7l-27.1-17.2z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M292.5 255c24.4-3.4 46-33 79.7-8.4-34.7 4.9-15 17.1-58.5 32.5l-21.2-24.2z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M379.5 259.6l-112.1 2.5 4.7 30.2 107.4-32.7z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M363 218.4l-103.8 39.9 17.3 33.3 86.5-73.2z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M280.6 280.7l53.7-97.6-82.4 76.7 28.7 20.9z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M279.5 272.6l17.2-109.4-53.8 97.2 36.6 12.2z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M273 263.7l-18-110.2-20 110.7 38-.5z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M263.7 254.3l-52.3-92 20 111.8 32.3-19.8z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M255.6 253.6l-81.1-68.5 57.6 98 23.5-29.5z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M146 218.9l87 71.9 13.4-37.6L146 218.9z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M232.1 260.9l-102.3-1.5 101.9 34 .4-32.5z"/>
+    <path fill="#fec74a" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M315.1 279.2a61.4 61.4 0 11-122.7 0 61.4 61.4 0 01122.7 0z"/>
+    <path fill="#005989" fill-rule="evenodd" d="M-165.1 303.4h839.9V512h-840z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M-165.6 454c15.6 7.2 38 25.3 62 25.3 40-.3 41-27.4 81.6-26.1 40.7 1 33.3 29.6 88.2 29.5 45.4-.2 60-34.7 99.2-30.6 29-1.5 40.8 32.7 85.3 33.2 46.2 1 63.1-37.3 92-34.1 31 0 41 30.8 84.3 31 55.2.3 64.9-32 99.3-30 24.6-.5 44 23.7 80 24.3 28.6.5 52.7-21.2 69-29l.7-36.8c-17 6.3-42.4 27.1-67.7 27.3-36.6 1.4-59.1-24-84.5-23.7-30.4.3-42.5 31.3-94 31.3-47.2 0-58-31.3-88.4-31.3-29.7.2-38.8 34-90.3 33.4-42-.5-58.3-32.3-88-32-31.5 0-64 30.9-99 29.4-48-2-58.5-29.4-90-29.4-23.5 0-49 25.6-77.3 26-28.2.5-59.9-25.5-62.8-26l.4 38.3zm0-73c15.6 7.3 38 25.4 62 25.4 40-.3 41-27.4 81.6-26.2 40.7 1 33.3 29.7 88.2 29.5 45.4 0 60-34.6 99.2-30.5 29-1.5 40.8 32.7 85.3 33.1 46.2 1 63.1-37.2 92-34 31 0 41 30.8 84.3 31 55.2.3 64.9-32 99.3-30 24.6-.5 44 23.7 80 24.3 28.6.5 52.7-21.2 69-29l.7-36.8c-17 6.3-42.4 27-67.7 27.3-36.6 1.3-59.1-24-84.5-23.7-30.4.3-42.5 31.3-94 31.3-47.2 0-58-31.3-88.4-31.3-29.7.2-38.8 34-90.3 33.4-42-.5-58.3-32.3-88-32-31.5 0-64 30.8-99 29.3-48-2-58.5-29.4-90-29.4-23.5 0-49 25.7-77.3 26.1-28.2.4-59.9-25.5-62.8-26l.4 38.3z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M-165.6 309c15.6 7.2 38 25.2 61.9 25.2 40-.2 41-27.4 81.6-26.1 40.6 1 33.2 29.6 88.1 29.5 45.3-.1 60-34.7 99-30.5 29-1.5 40.8 32.7 85.3 33.1 46.1 1 63-37.3 92-34.1 30.8 0 41 30.8 84.2 31 55 .3 64.7-32 99.2-30 24.5-.5 43.9 23.7 79.8 24.3 28.7.5 52.7-21.2 69-29l.7-36.8c-17 6.4-42.3 27.1-67.7 27.3-36.4 1.4-59-23.9-84.4-23.7-30.3.3-42.4 31.3-94 31.3-47 0-57.8-31.3-88.2-31.3-29.7.3-38.8 34-90.1 33.4-42-.5-58.3-32.2-88-32-31.5 0-64 30.9-98.8 29.4-48.1-2-58.5-29.4-90-29.4-23.5 0-48.9 25.6-77.2 26-28.2.5-59.8-25.4-62.8-26l.4 38.3z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.8" d="M136.8 76c61-4.2 50-9.4 74.5-13.4 31 4.3 34.5 23 51.8 34.5 0 0-6.5 22-27.7 18.9-2.9-8.8 10.2-11.6-27.5-34.6-22-1.3-61.3 3.9-71-5.4zm189.3 33.9l-44 1.8v10.9c29.7 1 35-3 44-12.7z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-linejoin="round" stroke-width="1.7" d="M174.8 108c7.7-3.9 11.5-2.3 18.2-2.5 4.5 8.3 8.8 9 18.8 10a49.5 49.5 0 0039.9 21.8c29.9-.8 39.4-21.7 59.5-24h21.2c-3.5-6-6.3-9.5-14-9.9-15.8-.8-36.2-.4-54 3.6l-25.1 6.3c-7.4-3.6-25.3-22.4-36.8-22-6.7 1.8-6.7 4.1-10 6.7-6.5 2.8-13 1.4-17.7 10z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.7" d="M205.1 99a3.2 3.2 0 11-6.3 0 3.2 3.2 0 016.3 0z"/>
+    <path fill="#ffc84b" fill-rule="evenodd" stroke="#d8aa3f" stroke-width="1.8" d="M225.6 107.8c44.9-54.1 84.1-47.5 135.3-51.2 1.7 6.3 1 15.7-23.3 24-33.4 5-93.1 40.2-93.4 40.2-11.1-.6-18.9-12.2-18.6-13z"/>
+    <path fill="none" stroke="#d9a43e" stroke-linecap="round" stroke-width="1.8" d="M317.9 72.5L351 74m-36.7 4l24.1 2"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/km.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/km.svg
new file mode 100644
index 0000000..a6ccb8d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/km.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-km" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="km-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#km-a)" transform="scale(.9375)">
+    <path fill="#ff0" d="M0 0h768.8v128H0z"/>
+    <path fill="#fff" d="M0 128h768.8v128H0z"/>
+    <path fill="#be0027" d="M0 256h768.8v128H0z"/>
+    <path fill="#3b5aa3" d="M0 384h768.8v128H0z"/>
+    <path fill="#239e46" d="M0 0v512l381.9-255.3L0 0z"/>
+    <path fill="#fff" d="M157.2 141.4c-85-4.3-123.9 63.5-123.8 115.9-.2 62 58.6 113 112.8 110C117 353.5 81.2 314.6 81 257c-.3-52.1 29.5-97.5 76.3-115.6z"/>
+    <path fill="#fff" d="M156 197l-12-9.3-14.6 4.6 5.2-14.4-8.8-12.4 15.2.6 9-12.3 4.3 14.7 14.4 4.8-12.6 8.5zm-.3 52.1l-12-9.4-14.6 4.6 5.3-14.3-8.9-12.4 15.3.5 9-12.2 4.2 14.6 14.5 4.9-12.7 8.5zm.2 52.6l-12-9.4-14.5 4.6 5.2-14.3-8.8-12.4 15.2.5 9-12.2 4.3 14.6 14.4 4.8-12.6 8.6zm-.2 53l-12-9.3L129 350l5.3-14.4-8.9-12.4 15.3.6 9-12.3 4.2 14.7 14.5 4.8-12.7 8.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kn.svg
new file mode 100644
index 0000000..d13066b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kn.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kn" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="kn-a">
+      <path fill-opacity=".7" d="M-80.1 0h682.7v512H-80.1z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#kn-a)" transform="translate(75.1) scale(.9375)">
+    <path fill="#ffe900" d="M-107.8.2h737.6v511.3h-737.6z"/>
+    <path fill="#35a100" d="M-108.2.2l.8 368.6L466.6 0l-574.8.2z"/>
+    <path fill="#c70000" d="M630.7 511.5l-1.4-383.2-579 383.5 580.4-.3z"/>
+    <path d="M-107.9 396.6l.5 115.4 125.3-.2 611.7-410.1L629 1.4 505.2.2l-613 396.4z"/>
+    <path fill="#fff" d="M380.4 156.6l-9.8-42.2 33.3 27 38-24.6-17.4 41.3 33.4 27-44.2-1.5-17.3 41.3-9.9-42.2-44.1-1.5zm-275.2 179l-9.9-42.3 33.3 27 38-24.6-17.4 41.3 33.4 27-44.1-1.5-17.4 41.3-9.8-42.2-44.1-1.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ko.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ko.svg
new file mode 100644
index 0000000..39508cb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ko.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kr" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="kr-a">
+      <path fill-opacity=".7" d="M-95.8-.4h682.7v512H-95.8z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#kr-a)" transform="translate(89.8 .4) scale(.9375)">
+    <path fill="#fff" d="M610.6 511.6h-730.2V-.4h730.2z"/>
+    <path fill="#fff" d="M251.9 256a112.5 112.5 0 11-225 0 112.5 112.5 0 01225 0z"/>
+    <path fill="#c70000" d="M393 262.6c0 81-65 146.8-145.3 146.8s-145.2-65.8-145.2-146.8 65-146.9 145.3-146.9S393 181.6 393 262.6z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm27.4 23.7l83.6-96.7 19.9 17-83.7 96.9z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm55.4 48l83.6-96.9 19.9 17.2-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm508.8-96.8l83 97.4-20 17-83-97.4zm-55.7 47.5l83 97.4-20 17-83-97.4z"/>
+    <path fill="#fff" d="M417.6 133.2L496 65.4l14.7 17-84 75.4-9.3-24.6z"/>
+    <path d="M514.2 372l-80.4 95.8-19.7-16.4 80.4-95.8zM431.8 53.1l83 97.4-19.9 17L412 70zm109.7 341.6L461 490.5l-19.8-16.4 80.5-95.8zm-55.1-45.8L406 444.7l-19.7-16.4 80.4-95.8z"/>
+    <path fill="#3d5897" d="M104.6 236.7c4.6 37 11.3 78.2 68.2 82.4 21.3 1.3 62.8-5 77-63.2 18.8-55.8 75-71.8 113.3-41.6C385 228.5 391 251 392.4 268c-1.7 54-32.9 101-72.8 122-46 27.3-109.6 27.9-165.3-13.5-25.1-23.5-60.2-67-49.7-139.8z"/>
+    <path fill="#fff" d="M436 370.6l78.6 67.6-14.6 17-87.1-71.8 23-12.8z"/>
+    <path d="M-1.9 357.2l83 97.3-20 17-83-97.3z"/>
+    <path fill="#fff" d="M-16.2 437.3l78.6-67.9 14.7 17-84 75.5-9.3-24.7z"/>
+    <path d="M25.7 333.7l83 97.3-20 17-83-97.3zM-30 381.2l83 97.3-20 17-83-97.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kp.svg
new file mode 100644
index 0000000..06b4e38
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kp.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kp" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="kp-a">
+      <path fill-opacity=".7" d="M5 .1h682.6V512H5.1z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#kp-a)" transform="translate(-4.8 -.1) scale(.93768)">
+    <path fill="#fff" stroke="#000" d="M776 511.5H-76V.5h852z"/>
+    <path fill="#3e5698" d="M776 419H-76v92.5h852z"/>
+    <path fill="#c60000" d="M776 397.6H-76V114.4h852z"/>
+    <path fill="#3e5698" d="M776 .6H-76V93h852z"/>
+    <path fill="#fff" d="M328.5 256c0 63.5-53 115-118.6 115S91.3 319.5 91.3 256s53-114.8 118.6-114.8c65.5 0 118.6 51.4 118.6 114.9z"/>
+    <path fill="#c40000" d="M175.8 270.6l-57-40.7 71-.2 22.7-66.4 21.1 66.1 71-.4-57.9 41.2 21.3 66.1-57-40.7-58 41.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kr.svg
new file mode 100644
index 0000000..39508cb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kr.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kr" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="kr-a">
+      <path fill-opacity=".7" d="M-95.8-.4h682.7v512H-95.8z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#kr-a)" transform="translate(89.8 .4) scale(.9375)">
+    <path fill="#fff" d="M610.6 511.6h-730.2V-.4h730.2z"/>
+    <path fill="#fff" d="M251.9 256a112.5 112.5 0 11-225 0 112.5 112.5 0 01225 0z"/>
+    <path fill="#c70000" d="M393 262.6c0 81-65 146.8-145.3 146.8s-145.2-65.8-145.2-146.8 65-146.9 145.3-146.9S393 181.6 393 262.6z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm27.4 23.7l83.6-96.7 19.9 17-83.7 96.9z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm55.4 48l83.6-96.9 19.9 17.2-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8z"/>
+    <path d="M-49.4 126.4l83.6-96.7 19.9 17.1-83.7 96.8zm508.8-96.8l83 97.4-20 17-83-97.4zm-55.7 47.5l83 97.4-20 17-83-97.4z"/>
+    <path fill="#fff" d="M417.6 133.2L496 65.4l14.7 17-84 75.4-9.3-24.6z"/>
+    <path d="M514.2 372l-80.4 95.8-19.7-16.4 80.4-95.8zM431.8 53.1l83 97.4-19.9 17L412 70zm109.7 341.6L461 490.5l-19.8-16.4 80.5-95.8zm-55.1-45.8L406 444.7l-19.7-16.4 80.4-95.8z"/>
+    <path fill="#3d5897" d="M104.6 236.7c4.6 37 11.3 78.2 68.2 82.4 21.3 1.3 62.8-5 77-63.2 18.8-55.8 75-71.8 113.3-41.6C385 228.5 391 251 392.4 268c-1.7 54-32.9 101-72.8 122-46 27.3-109.6 27.9-165.3-13.5-25.1-23.5-60.2-67-49.7-139.8z"/>
+    <path fill="#fff" d="M436 370.6l78.6 67.6-14.6 17-87.1-71.8 23-12.8z"/>
+    <path d="M-1.9 357.2l83 97.3-20 17-83-97.3z"/>
+    <path fill="#fff" d="M-16.2 437.3l78.6-67.9 14.7 17-84 75.5-9.3-24.7z"/>
+    <path d="M25.7 333.7l83 97.3-20 17-83-97.3zM-30 381.2l83 97.3-20 17-83-97.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kw.svg
new file mode 100644
index 0000000..b4a4bf2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kw.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kw" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="kw-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#kw-a)" transform="scale(.9375)">
+    <path fill="#fff" d="M0 170.6h1024v170.7H0z"/>
+    <path fill="#f31830" d="M0 341.3h1024V512H0z"/>
+    <path fill="#00d941" d="M0 0h1024v170.7H0z"/>
+    <path d="M0 0v512l255.4-170.7.6-170.8L0 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ky.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ky.svg
new file mode 100644
index 0000000..1a2d9c9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ky.svg
@@ -0,0 +1,63 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ky" viewBox="0 0 640 480">
+  <path fill="#006" d="M0 0h640v480H0z"/>
+  <path fill="#006" fill-rule="evenodd" d="M0 0h400v200H0z"/>
+  <g stroke-width="1pt">
+    <path fill="#fff" d="M0 0v27l334.4 215.3h42.1v-27L42.1 0H0zm376.5 0v27L42.1 242.4H0v-27L334.4 0h42.1z"/>
+    <path fill="#fff" d="M156.9 0v242.3h62.7V0H157zM0 80.8v80.7h376.5V80.8H0z"/>
+    <path fill="#c00" d="M0 97v48.4h376.5V96.9H0zM169.4 0v242.3h37.7V0h-37.7zM0 242.3l125.5-80.8h28L28.2 242.3H0zM0 0l125.5 80.8h-28L0 18V0zm223 80.8L348.3 0h28.1L251 80.8h-28zm153.5 161.5L251 161.5h28l97.5 62.7v18.1z"/>
+  </g>
+  <path fill="#fff" fill-rule="evenodd" d="M448.3 179.1c-1 .6-3 2.5-5 1.9-2-.6-6.6-8.6-11.6-7.4-5 1.3-8.1 3.1-10.1 3.1s-7.6 1.8-7.6 6.7.5 8.6 1.5 8.6 2.5-3.1 2.5-3.1.5 6.1 4 6.1 11.2.6 11.7 2.5c.5 1.8-3.5 6-2.5 9.7 1 3.7 5.5 9.8 5.5 9.8s-6.5 4.8-6.5 8 1 6 1 6l-29.3 1.2s-2 86.7-1 93.4l3.5 23.2s-6.6-2.2-12.1 3.3c-5.6 5.5-25 15-25.5 19.2-.5 4.3-2.3 8-.3 11 2 3 9.2 11.4 7.1 11-6.8-1.1-9.3-10.8-13.9-14.3-4.5-3.5-13.3-2.8-14.4.9-1 3.7-.5 9.8 0 11 .5 1.2 6.1 20.7 7.6 25s17.4 10.7 24.5 10c13.4.4 19.4-5.7 20-5.1.4.6 28.7 29.8 86.8 29.9 45.2 0 79.2-29.3 79.2-28.7 0 .6 18.7 6.1 25.3 4.3 6.5-1.9 16.1-6.1 18.1-10.4 2-4.3 7.6-26.2 8.1-29.9s0-8-4.5-9.2-7-.9-9.6.3-3.3 4.6-7 10.7c-2.1 1.9-7.4 6.7-5.9 5.5s4.8-10.3 5.3-13.4c.5-3 2-8.5-1.5-11.6-3.5-3-9-4.3-15.1-8.8-6-4-10.6-10.7-14.2-10.7-3.5 0-7.5-1.8-7-1.8s4.5-9 3.5-18c-1-9.2.5-96.8 0-96.8s-25.2 1.9-25.2.6 2-9.7 0-15.2-10.7-9.2-8.1-10.4c2.5-1.2 13.6-4.3 13-9.1-.4-5-7.5-4.3-10.5-6.1-3-1.9-12.1-10.4-13.1-10.4s26.2-16.5 24.2-16.5-12.6-3-16.2-1.2c0-3 14.7-12.2 12.2-13.4-2.6-1.3-14.2-2.5-11.1-3 3-.7 4-8 3.5-8l-13.1 1.8s-3-4.3-4-4.3-5.6 2.5-5.6 2.5l-2.6-6.7-5.5 3.6-2.5-3s-4.6 1.2-4.6 0c.2 0-.5-3-1.2-3s-5.7 3.8-5.9 3.6c-.2-.2-5.7-8-5.7-7.8l-4.1 14.7c-.2 0-4 .4-4.1.6-.2.3-20-11.4-19.8-11.2l5.1 11.2s-4.2 2.4-4.2 2.6l.7 5-13.2-4.5s5 10 4.6 10l-9.6.5 4.4 8.4-1.6 5s14.2 10 13.2 10.6zm84.3 212.4c1.3 1.8 8.1 10.4 7.1 10.4s-18 11.3-24.7 13.4a351 351 0 01-27.8 5.8c1.3-.3 20-10.5 27.5-15.4a119 119 0 0018-14.2zm-105.5-.3c-1 1.2-5.8 10.7-5.8 10.7s13.9 9.7 24.2 13.4c10.4 3.6 28 4.9 27 4.6-1-.3-22.1-9.8-28.2-14.7-6-4.9-17-14-17.2-14z"/>
+  <g fill="#fec500" fill-rule="evenodd" stroke="#6d6666">
+    <path stroke-width="1.4" d="M394.6-213l35.4 21.4c6.6 4.1 28 22.2 29.6 21.4 1.6-.8 13.2-9.9 13.2-9.9S448.9-199 434-203s-39.5-8.2-39.5-9.9z" transform="matrix(.307 0 0 .37108 317 244.3)"/>
+    <path stroke-width="1.4" d="M390.5-231.9c2.5 0 47.7 23 61.7 34.6s19.7 26.3 21.4 26.3c1.6 0 23-3.3 22.2-3.3-.8 0-9.9-29.6-30.4-38.7-20.6-9-74-18.9-74.9-18.9z" transform="matrix(.307 0 0 .37108 317 244.3)"/>
+    <path stroke-width="1.4" d="M603.5-296c-.8 0-9 24.7-11.5 32-2.5 7.5-6.6 23-6.6 23s-36.2 3.4-34.5-.7c1.6-4.2 55-54.3 52.6-54.3z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.4" d="M398.8-261.5s42.7 28.8 57.5 45.2c14.8 16.5 29.6 45.3 30.4 45.3.9 0 40.3-8.3 40.3-7.4s-46-46-68.2-60-59.2-21.4-60-23z" transform="matrix(.307 0 0 .37108 317 244.3)"/>
+    <path stroke-width="1.4" d="M443.2-273.8s21.3 32.9 25.5 44.4a1347 1347 0 0016.4 41h33.7s-16.4-37-34.5-55-40.3-28.8-41.1-30.4z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.4" d="M454.7-291.9c.8 2.5 31.2 31.2 38.6 50.1a402 402 0 0113.2 42.8l29.6-7.4s-26.3-48.5-42.8-61.7c-16.4-13.1-37-22.2-38.6-23.8z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.4" d="M700.5-209.7s-61.7 6.6-83.9 12.3-34.5 27.2-34.5 27.2 28.8 10.7 30.4 9 19-18.9 37.8-25.5c19-6.5 51.9-22.2 50.2-23z" transform="matrix(.307 0 0 .37108 317 244.3)"/>
+    <path stroke-width="1.4" d="M698-250c-1.6.9-51 41.1-66.6 54.3-15.6 13.1-30.4 27.1-32 28-1.7.8-32.1-4.2-30.5-5.8 1.7-1.6 45.3-37 74-52.6 28.8-15.7 52.7-22.2 55.1-23.9z" transform="matrix(.307 0 0 .37108 317 244.3)"/>
+    <path stroke-width="1.4" d="M685.7-278.8c-5 5.8-53.4 45.3-66.6 59.3S584.6-181 584.6-181s-25.5-11.5-23.9-16.5c1.7-4.9 36.2-33.7 60.9-50.1 24.6-16.5 66.6-29.6 64.1-31.3z" transform="matrix(.307 0 0 .37108 317 244.3)"/>
+    <path stroke-width="1.4" d="M636.4-282a725 725 0 00-35.4 39.4c-5.7 8.2-23 44.4-23 44.4s-25.5-22.2-25.5-23 32-34.5 51-47.7 33.7-10.7 32.9-13.1z" transform="matrix(.307 0 0 .37108 317 244.3)"/>
+    <path stroke-width="1.5" d="M565-241.8a10.5 10.5 0 11-20.8 0 10.5 10.5 0 0120.9 0zm21 14c0 5.1-4.7 9.3-10.4 9.3s-10.5-4.2-10.5-9.3 4.7-9.3 10.4-9.3 10.5 4.1 10.5 9.3zm-46.5-10.5c0 5.2-5.7 9.3-12.8 9.3-7 0-12.8-4.1-12.8-9.3s5.8-9.3 12.8-9.3c7 0 12.8 4.2 12.8 9.3z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.5" d="M573.2-219c0 9.9-6.5 18-14.5 18s-14.5-8.1-14.5-18 6.5-18.1 14.5-18.1 14.5 8 14.5 18zm-39.5.5c0 7.7-6.5 14-14.5 14s-14.6-6.3-14.6-14 6.5-14 14.6-14c8 0 14.5 6.3 14.5 14z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.5" d="M514-207.5c0 6.8-5 12.2-11.1 12.2s-11-5.4-11-12.2c0-6.7 4.9-12.2 11-12.2 6 0 11 5.5 11 12.2zm81.3-1.1c0 8-7.5 14.5-16.8 14.5-9.4 0-16.9-6.5-16.9-14.5s7.5-14.6 16.9-14.6c9.3 0 16.8 6.5 16.8 14.6zm-40.7-21c0 4.9-6 8.8-13.3 8.8s-13.4-4-13.4-8.8 6-8.7 13.4-8.7 13.3 4 13.3 8.7z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.5" d="M557-210.4c0 7-8.4 12.8-18.6 12.8s-18.6-5.7-18.6-12.8c0-7 8.3-12.8 18.6-12.8s18.6 5.8 18.6 12.8zm47.6 22.7c0 8.7-7.8 15.7-17.4 15.7s-17.5-7-17.5-15.7 7.8-15.7 17.5-15.7c9.6 0 17.4 7 17.4 15.7zm-95.3-4c0 5.7-4.4 10.4-9.9 10.4s-9.9-4.7-9.9-10.5 4.4-10.4 9.9-10.4 9.9 4.6 9.9 10.4z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.5" d="M579-193.5c0 7.4-6.7 13.4-15 13.4-8.4 0-15.2-6-15.2-13.4S555.6-207 564-207c8.4 0 15.1 6 15.1 13.4zm-47.6-.6c0 6.4-6 11.6-13.4 11.6s-13.4-5.2-13.4-11.6c0-6.4 6-11.6 13.4-11.6s13.4 5.2 13.4 11.6z" transform="matrix(.307 0 0 .37108 317 246)"/>
+    <path stroke-width="1.5" d="M554.6-190.6c0 7-6.2 12.8-14 12.8-7.6 0-13.9-5.8-13.9-12.8 0-7 6.3-12.8 14-12.8s14 5.7 14 12.8zm-60.4-76.8c3.4 0 27.9 8.2 27.9 8.2s-30.3 11.6-25.6 10.4 33.7-4.6 31.4-4.6c-2.3 0-25.6 22.1-18.6 21 7-1.2 20.9-15.2 22-15.2 1.2 0 15.2 22.1 16.4 21 1.1-1.2 0-22.2 1.1-22.2s29 14 26.7 12.8a123.2 123.2 0 01-17.4-17.4c1.2 0 38.4 3.5 36 2.3l-24.4-11.6s16.3-15.1 12.8-15.1-30.2 15.1-27.9 14c2.3-1.2 29-31.5 29-31.5L557-282.5s4.7-18.6 2.4-17.4c-2.4 1.2-21 24.4-22.1 24.4s-5.8-23.2-5.8-23.2 1.1 25.5-5.9 26.7c-7 1.2-31.3 5.8-31.3 4.7z" transform="matrix(.307 0 0 .37108 317 246)"/>
+  </g>
+  <g fill-rule="evenodd">
+    <path fill="#00389b" d="M445.5 216.5c.2.9 5.9 16.4 14.7 16s12.3-3 11.9-3.2a18 18 0 01-6.2-8.5 44 44 0 01-2.5-8l-17.9 3.7zm31.2-6s6.5 15.3 9.3 17.5c2.9 2.1 9.5 3.8 12.3 3.6 2.9-.2 6.3 0 6.3 0s-2.9-1.5-5.2-9.9l-3-11.2h-19.7zm39.3 5.6s-1.2 11.2 0 14c1.3 2.8 7.5 8 7.5 8s7.5-1 7.7-8a36 36 0 00-2.5-13.3L516 216z"/>
+    <path fill="#005120" stroke="#000" stroke-width="1.5" d="M289 21s1.1 4.7 0 8.2-11.1 12.8-11.1 20.3c0 7.6 11.6 30.8 47 31.4 35.6.6 80.3-19.2 79.7-19.8-.6-.5-84.9-57-86-56.4-1.2.6-29.7 17.5-29.7 16.3zm234.2 40.1s7.6 20.4 10.5 22.7c2.9 2.3 4 7 4.7 7s48.8 10.4 48.8 10.4 4.6-13.3-2.3-23.8c-7-10.5-33.2-37.8-33.2-37.8l-28.5 21.5zm33.2-25c1.1 0 12.8 10 22 4.7 9.4-5.2 24.5-19.2 24.5-19.2s-12.8 4-22.1 3.5c-9.3-.6-23.8 11.6-24.4 11z" transform="matrix(.307 0 0 .37108 350.7 188.7)"/>
+    <path fill="#005120" stroke="#000" stroke-width="1.5" d="M287.2 23.3s-3.5-9.8-12.8-10.4c-9.3-.6-26.2 1.1-32-3.5C236.6 4.7 235-6.3 232-5.7c-3 .5-10.5 0-11 0s-3.6-9.3 4.6-14 15-.6 19.7-4 11.7-5.9 21-6.5c9.3-.5 24.4 11.7 31.4 14.6 7 2.9 22 6.4 27.9 3.5 5.8-3 38.3-15.7 50-16.3 11.6-.6 36-1.2 45.3-.6s46 5.3 57 10.5S547.7 7 555.8 11.7c8.1 4.7 26.2 11.6 26.2 11.6S550 54.7 534.2 60a354.9 354.9 0 01-95.4 11.6c-29.6-1.7-52.9-4.7-75.5-16.3-22.7-11.6-47.1-22.7-48.3-28.5-1.2-5.8-.6-13.3-.6-13.3l-27.3 9.8z" transform="matrix(.307 0 0 .37108 350.7 188.7)"/>
+    <path fill="#005120" stroke="#000" stroke-width="1.5" d="M251.2-14.4c-1.2.5-7 2.9-5.9 4 1.2 1.2 3.5 4.7 10.5 4 7-.5 14.5-4.6 14.5-4.6s-8.7-4-19.1-3.4z" transform="matrix(.307 0 0 .37108 350.7 188.7)"/>
+    <path stroke="#000" stroke-width="1.5" d="M250.6-13.3v6.4s8.1 2.3 8.1.6c0-1.7.6-5.8-1.2-5.8s-6.4-.6-7-1.2z" transform="matrix(.307 0 0 .37108 350.7 188.7)"/>
+    <path fill="#001707" stroke="#000007" stroke-width="1.5" d="M332-8.4c2-3.7 0-8.7 11.9-14.4 11.9-5.8 32.7-4.2 32.7-4.2s-6 4.6-6.2 9.3c-.2 4.7.4 6.8.4 6.8s-11.3-3.7-20-1.5-18.6 4.6-18.9 4zm53.4-20.2c-1.2.6-10.3 10.7-9.3 13.8 1 3 13.2 10.5 17.1 9.8 4-.6 21.8-9.2 22.8-13.5 1-4.3 1.9-10.1.4-11.3-1.4-1.3-30.8 1.6-31 1.2zm39.3-1.6c-2.3 2.2-1.5 13.1-.7 14.3.9 1.3 15 15.5 18.1 16.3 3.1.8 26-1.5 27.8-4s7.4-12.9 5.7-15.3c-1.6-2.5-6.5-5.8-21.8-9s-24.2-3-29.1-2.3zm58.1 13.7c3.7 1.9 25.3 12.4 38 20.8 12.8 8.4 18 18 21.6 18.9 3.7.8 18.7-8.2 19.3-10.7.7-2.5-18.3-15.6-31-21.6-12.7-6-47.9-6.7-47.9-7.4zm-4.5 8.9c-1.9 1.6 23 45 27.7 46.4 4.8 1.5 33.1-8.4 32.7-11.7-.4-3.3-7.8-9.9-25.3-19.5-17.4-9.7-31.6-16-35.1-15.2zM447.5 8.2c-4 2.3-10.1 41.1-6.2 43 3.9 1.8 52-4.8 53.9-9C497 37.7 475.4 3.4 469 3.4c-6.4 0-18 1.6-21.6 4.7zM397.7 0c-5.1 4.7-4 40.9-1.8 43.1 2.2 2.3 30.8 9.7 33.9 7 3-2.6 7.2-43.3 4.3-46.4-2.9-3.1-10.9-10.5-17-11.1-6.2-.6-16.5 6-19.4 7.4zm-64.5-.6c-4.7 3.7-5 13.3.2 15 5.1 1.6 17.9 7.2 29.8 12.3 12 5.1 18.7 11.3 22.2 11.1 3.5-.2 6.8-36.4 3-38.4A62 62 0 00363.7-4a156 156 0 00-30.4 3.3z" transform="matrix(.307 0 0 .37108 350.7 188.7)"/>
+  </g>
+  <path fill="#d40f0f" fill-rule="evenodd" d="M388 359.2c2.6-2.5 6.6-8.7 12-9 5.5-.2 11.3 4.8 11.3 4.8s5.7 23.5 5.4 23.5c-.2 0-9.5 6.7-9.7 6.7-.3 0-4-9.2-7.5-8.3-3.5.8-3.2 13.4-3.8 12.6-.5-.9-15.2-18.2-14.6-18.8.5-.6 7.2-10.7 6.9-11.5zm151.9-3c1.7-.4 9.5-6.2 15-6 5.4.3 8.6 2.8 11.4 5.4 3 2.5 6.4 9 6.4 9s-7 19-7.5 19-3.5 1.6-4 .2-2.3-5.8-5.8-6.4c-3.4-.6-4.3 6.2-4.3 6.2L539.9 356z"/>
+  <path fill="#fddc59" fill-rule="evenodd" d="M543.6 362c0 1.7 10.7 28 27.9 33 17.3 5.1 22.7-4.7 24.7-8 2-3.4 9.2-3.1 9.2-3.1s-1.7 24.6-4.6 27.7c-2.8 3-5.1 9.8-21.2 10-16.1.3-30.8-15-35.7-19.5a91.6 91.6 0 01-13.8-21.6c-2.6-5.3 13.8-18 13.5-18.5zM356 414.4c.3 0 7.8 8.1 18.8 7.3 10.9-.9 29.6-7.3 38.2-18.5a96 96 0 0013-23.3s-12.7-22.4-13-22.4c-.3 0-1.4 7.3-3.7 12-2.3 4.8-8.7 18.3-19.3 22.5-10.6 4.2-10.6 5.9-15 5.3a59.3 59.3 0 01-15.5-7.6L354 403s-1.1 8.7 2 11.5z"/>
+  <path fill="#fddc59" fill-rule="evenodd" d="M387.8 358.4c-.8 0-21.2 11.1-20.4 15.9.9 4.7 35 72 108.2 72.9 73.3.8 118-61 114.8-71.3-3.3-10.3-26-22.2-26-22.2s5.6 4.7 4.8 11c-.8 6.4-26 61-89.5 59.5-63.4-1.6-93.5-50-93.5-55.5s3.2-8.7 1.6-10.3z"/>
+  <path fill="#d40f0f" fill-rule="evenodd" d="M586.2 407.4c1.7-1.4 12.3-30.5 18.4-29.7 6 .8 4 9.5 3.4 11.8-.5 2.2-6.6 22.4-6.6 22.4s.3-4.8-3.7-6-10.7 2-11.5 1.5zM356 414.7c0-1.6-4.8-7.2.9-8.7 5.7-1.6 13 1.5 13 1.5s-4-11.8-9-21.4c-4.9-9.5-6.5-7.9-10.6-6.3-4 1.6-4 5.8-1.5 12.1 2.5 6.4 7.2 24.4 7.2 22.8z"/>
+  <path fill="#fdc400" fill-rule="evenodd" d="M423.2 360.4l7-24-19.6-15 24.6-.6 8-23.6 8.1 23.6 24.6.4-19.6 15.2 7.2 23.9-20.2-14.3z"/>
+  <path fill="#fff" fill-rule="evenodd" d="M555.6 235.8v92c.2 45-45.7 84.4-76.1 92.1-30.5-7.6-76.3-47-76.2-92v-92h152.3z"/>
+  <path fill="#d40f0f" fill-rule="evenodd" stroke="#000" stroke-width="1.5" d="M177.2 326l.4 160.7s2.4-3.3 35-1.3c32.6 2 35.4 35.5 70.9 35.5 35.4 0 35.4-35.5 70.8-35.5s35.5 35.5 70.9 35.5 35.4-35.5 70.9-35.5 35.4 35.5 72.8 37.5c33.5-2 33.5-37.5 69-39.5l35.3 2V326h-496z" transform="matrix(.307 0 0 .35829 349 119)"/>
+  <path fill="#0062bb" fill-rule="evenodd" d="M403.3 312v19h11c10 .8 10.8 12.8 21.7 12.8s10.8-12.8 21.7-12.8 11 12.8 21.8 12.8 10.9-12.8 21.7-12.8 10.3 12 21.8 12.8c10.3-.8 10.8-12 21.8-12.8h10.8v-19h-10.8c-11 0-11 12.7-21.8 12.7S512.1 312 501.2 312s-10.8 12.7-21.7 12.7-10.9-12.7-21.8-12.7-10.8 12.7-21.7 12.7-11-12.7-21.8-12.7h-10.9zm3.3 38l7.6 19.1c10 .8 10.9 12.7 21.8 12.7 10.8 0 10.8-12.7 21.7-12.7s11 12.7 21.8 12.7 10.9-12.7 21.7-12.7 10.3 12 21.8 12.7c10.3-.7 10.6-12 21.5-12.7l7.8-19.3-7.5.3c-11 0-11 12.7-21.8 12.7S512.1 350 501.2 350s-10.8 12.7-21.7 12.7-10.9-12.7-21.8-12.7-10.8 12.7-21.7 12.7-11-12.7-21.8-12.7h-7.6zm72.9 70c10.9 0 35.8-19.1 35.5-19.1.3 0-2.9-12.7-13.8-12.7s-10.8 12.7-21.7 12.7-10.9-12.7-21.8-12.7-13.6 12.7-13.7 12.7c-.5 0 24.6 19 35.5 19z"/>
+  <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M90.8 117.6c.9 0 8.3 1.2 13.6.8 5.4-.4 7.4-2.5 7.4-2.9v-1.2h7s1.2 5.7.4 6.1-2.9 2.1-3.3 2.1 0-2.9-.8-2-1.2 2-1.2 2-.9-1.2-1.3-1.2-1.2 1.2-1.2 1.2 0-1.2-.4-1.2-2.5 2-2.5 2l-2-1.6s-1.3 2-1.7 2-2.9-1.6-2.9-1.6l-4 2.5s0-3.7-.9-3.3c-.8.4-5.3.4-5.3.4S90.4 124 90 124s-2-2-1.6-2 1.2-1.2.8-1.7c-.4-.4-2.5 0-2.5-.4s-.8-2.8-.4-2.8l2 .4V115h2.1l.4 2.5z" transform="matrix(1.5005 0 0 1.3054 287 126.3)"/>
+  <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M98.3 94.1c-.5 0-3.3 3.3-3 7 .5 3.7 7.5 9 7.5 9s3.7-1.6 4.9 0 1.2 6.6.8 6.6-5.3 1.3-5.3.5c0-.9 0-1.7-.4-1.7l-5 .4.4-1.6-4-.8 1.6-1.7s-6.6-2.9-6.2-2.9 2.9-1.6 2.9-1.6l-5-3.3h3s-4.2-3.3-3.8-3.3l2.5.4-1.2-3.3h1.2L88 95.4l2-.9 1.3 2.1-.5-5 3 .5v4s1.2-2.4 1.2-2.8c0-.4 3.7 1.7 3.2.8z" transform="matrix(1.5005 0 0 1.3054 287 126.3)"/>
+  <path fill-rule="evenodd" d="M530 282.4c-.8.7-3.1 2.2-3.1 2.2l5-.4a7 7 0 01-2-1.8zm4.4 2.6c-.3.4-1.2 4.6-.6 4.3a29 29 0 003.1-3.4l-2.5-.9zm7.1.5c.8.7 4.3 3.8 3.9 3.1-.5-.7-1-3.5-1.3-3.6-.3-.1-2.3.8-2.6.5zm-62.1-4.4c-.5.1-4.3 2.7-4.3 2.7l6.1-1c-.3 0-2-1.3-1.8-1.7zm4 3.2c-.6.6-2.6 4.3-1.9 4.2a27 27 0 004.2-2.6l-2.3-1.6zm-2.5-5.2l-3.5-1.5 4.3-1-.8 2.5zm-61-1.7l-4.7-3.3 5.9 1.6-1.2 1.7zm-4 2.1c-.7 0-6.5 3.2-6.4 3.2s8.2.2 8 0c-.1-.1-1.3-3-1.7-3.2zm3.7 4.7a40 40 0 00-5 3.4h7l-2-3.4zm-.7-33.4s-1.7-3.8-1.5-3.8l4.3 3-2.8.8zm4.7-4.7l.4-2.4s4.2 2.8 4 2.8c-.1 0-4.1 0-4.4-.4zm6.4 1.7l.5-3.5s3.9 4.6 3.5 4.7c-.3.2-3.7-.6-4-1.2z"/>
+  <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M137.3 110.9c0 .2 4.3 3.7 4.4 4.5 0 .8-7.8 1-7.8 1s-2.3-1.7-3-1.6c-.7 0-1 1.8-1 1.8l1.8 1-3.5.2 1 2 2.7-.2-.6 1.8s1.6 1.3 2 1c.3-.1 1.3-2 2.1-2.3.8-.3 2.6-.3 2.6-.3s-1.4 2.3-.7 2.3c.6 0 3.4-2.4 3.4-2.4l.7 2.2 2-2.5s0 2 .3 2 3.2-2.5 3.2-2.5 2.3 2.8 2.6 2.6c.3-.2.6-3 1-3s2.2-.3 2.2-.5-1.3-1-1.5-2.5c-.2-1.5.2-4.8.1-4.8s-13.8.5-14 .2z" transform="matrix(1.5005 0 0 1.3054 286 126.6)"/>
+  <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M115.4 104.6h40.3c4 0 7.8-1.6 7.8-4.1 0-2.5-6.6-2.9-9-2-2.5.8-13.2 5.7-17.7 5.3s-8.7-3.3-9.1-6.2c-.4-2.9 2-5.3 6.6-5.3s10.3 1.6 11.5 1.2 4.1-3.7 5.3-4.1c1.3-.4 5-.8 5-.8l-1.7 1.2 5.4-1.2s-4.1 4.5-8.3 5.7c-4 1.3-12.7.8-16 .8s-5-.4-4.5 2.1c.4 2.5 2.9 4.1 5 3.7 2-.4 8.1-2.5 8.1-2.5l-1.6-1.2 7.4-.4s-.4-1.2 0-1.2l4.1.4s-2.5-1.3-2-1.3 2 0 5.3.4 10.3 1.7 9.9 5c-.5 3.3-3 6.1-5.8 6.1s-5.3-.8-5.3.5c0 1.2 3.3 2 5.3 2s4.5-1.6 5-1.6 1.2 2.4 1.6 2.4 2.9-.8 2.9-.8l-1.7 4.5 2.9.8s-1.6 1.7-1.2 1.7 2.8 0 2.8.4-3.2 2.9-3.2 3.3 2.4 1.6 2.4 1.6-1.6 2.5-2 2.1l-2-2.5s-.5 1.7-1.3 1.7-2.5-.4-2.5-.4 1.2-2.5.8-2.5-2.4 1.6-2.4 1.2l-1.3-1.2s3.3-1.3 3.3-3.3c0-2-1.3-3.9-7.3-4.2-6-.3-6 1.4-10.5 1.2-4.4-.2-4.4-2-7.7-2s-13.4 4.2-18.2 4c-4.7 0-10.6-.3-10.4-.5.2-.2 3.9-9.7 4-10z" transform="matrix(1.5005 0 0 1.3054 286 126.6)"/>
+  <path fill="#fdc400" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M106.9 102.5c-.4.2-4 .7-4.2 4.5-.2 3.8.3 3.8.7 3.6.4-.2 1.2-3.5 1.2-3.5s-1.2 4.5.1 5.5a9.3 9.3 0 002.8 1.5l.5-3.6s-1 3.5 1.5 4.7c2.4 1.2 3.4.3 3.1-.6a70 70 0 00-.9-3.3l2 2.4c.2.2 1 1.8 3.6 1 2.4-.6.7-2.3.7-2.3l-3-2.4s3 3.1 4.4 2-1-3.6-1-3.5 2 3.5 2.8 1.4-1.2-2.8-1.8-4.9c-.6-2-1.1-2.2-.5-3.5.6-1.2.7-3.6.7-3.6s2.6.7 2.4-1.5c-.2-2.2-2.8-2.7-3.3-2.8-.5 0-.4-2.2-.6-2.1-.2 0-1.9 1.3-1.9 1.3s-1.4-3.4-1.7-3.2-2 2-3.2 2c-1.2.2-2 2-2 2s-4.3-2.1-4.2 1.3c.1 3.4 2.6 2.5 2.6 2.6s-.4 4.8-.8 5z" transform="matrix(1.5005 0 0 1.3054 287 126.3)"/>
+  <path fill-rule="evenodd" d="M450.9 253.3c.7-.3 1.8-1.2 3-1.1s3.4 1 2.4 1.6c-1 .5-1.8.8-3 .5-1-.3-2-.8-2.4-1zm12.6-.2c-.8-.2-1.9-1.1-3.2-1s-3.2 1-2.2 1.6a4 4 0 002.8.5c1.2-.3 2-.9 2.6-1z"/>
+  <path fill="#000039" fill-rule="evenodd" stroke="#000" stroke-width=".4" d="M111 103.2c0 .5.4 4.8.6 4.5l1.7-4.4-2.3-.1z" transform="matrix(1.5005 0 0 1.3054 287.1 126.4)"/>
+  <path fill="none" stroke="#000" stroke-width=".8" d="M110 103.2c0-1.3.8-1.2 2.4-1 1.7.2 2.5 1 2.4 1.3-.1.2-1.5.7-2.6.6-1.3-.4-2.3 0-2.2-1z" transform="matrix(1.5005 0 0 1.3054 287.1 126.6)"/>
+  <path fill="none" stroke="#000" stroke-width="1.5" d="M112.4 100l-.2 2m7.1-7.2s1.4.7 1.2 1.3c-.2.6-1.2.9-1.2.9m-11.2-2.7c-.3.1-.7.3-1 1.2-.1.8 1 1.3 1 1.3" transform="matrix(1.5005 0 0 1.3054 287.1 126.6)"/>
+  <path fill="none" stroke="#000" stroke-width="1.5" d="M111.2 136.1s-1.5 1.5 1 1.5.7-1.3.7-1.3" transform="matrix(1.5005 0 0 1.3054 287.4 77.6)"/>
+  <path fill="#fdc400" fill-rule="evenodd" d="M462.4 403.8l6.4-21.1-17.9-13.2 22.4-.5 7.2-20.8 7.4 20.7 22.3.4-17.7 13.3 6.4 21-18.3-12.4z"/>
+  <path fill="#003017" fill-rule="evenodd" d="M465.4 398.1l5.3-16.7-14.8-10.5 18.6-.4 6-16.5 6.2 16.4 18.5.4-14.7 10.5 5.4 16.7-15.3-9.9z"/>
+  <path fill="#fdc400" fill-rule="evenodd" d="M425.7 361.1l6.3-19.9-17.6-12.5 22-.5 7.2-19.7 7.3 19.7 22 .3-17.5 12.6 6.5 20-18.2-11.9z"/>
+  <path fill="#003017" fill-rule="evenodd" d="M428.7 355.8l5.3-15.9-14.7-9.9 18.4-.4 6-15.6 6 15.6 18.4.3-14.6 10 5.4 15.8-15.2-9.4z"/>
+  <path fill="#fdc400" fill-rule="evenodd" d="M499.6 361.1l6.4-20-17.8-12.4 22.3-.5 7.3-19.7 7.4 19.7 22.3.3-17.8 12.6 6.5 20-18.3-12z"/>
+  <path fill="#003017" fill-rule="evenodd" d="M502.6 355.8l5.4-15.9-15-9.9 18.6-.4 6-15.6 6.3 15.6 18.6.3-14.8 10 5.4 15.8-15.3-9.4z"/>
+  <path fill="none" d="M373.3 372.6c8 34.5 41.9 60.1 87.5 66.2 58.6 7.8 114.5-21.9 124.8-66.3"/>
+  <path d="M373.1 377.9l11-6.2 1 2.2-4.3 2.5 1.5 3.1 4.3-2.4 1 2.2-11 6.2-1-2.2 5-2.8-1.5-3.2-5 2.9-1-2.3m4.6 9.6L388 380l3.5 5.9-1.7 1.2-2.2-3.7-2.4 1.8 2 3.4-1.5 1.2-2.1-3.4-2.9 2 2.3 3.9-1.7 1.3-3.6-6m7.2 11l9-9.2 1.6 1.8-3.5 3.7 2.1 2.5 3.5-3.6 1.6 1.9-9 9.3-1.6-1.9 4-4.2-2-2.6-4.1 4.2-1.6-1.8m11.8 5.5l1.5 1.4 2.7-5-4.2 3.6m-5.7 1.7l10.2-8.3 2.3 2.3-6 12.4-1.9-1.9 1.6-3-2-2-2.5 2.2-1.7-1.7m9 8.3l6-9.2-2.1-1.8 1.2-1.8 6.1 5-1.2 1.8-2.1-1.7-6.1 9.2-1.9-1.5m5 4l6.5-11.7 1.9 1.3-2.5 4.6 2.7 1.8 2.5-4.6 2 1.4-6.5 11.7-2-1.3 3-5.4-2.7-1.8-3 5.3-1.9-1.3m12.1 7.7l5.2-12.5 5.9 3-.9 2-3.8-1.9-1.2 3 3.6 1.8-.9 2-3.5-1.9-2.3 5.5-2-1m11.4-2a15 15 0 00-1 4.2c0 .6.3 1 .9 1.3.6.3 1 .2 1.5-.3.4-.4 1-1.7 1.7-3.8s1-3.5 1-4.2a1.4 1.4 0 00-1-1.3c-.5-.3-1-.2-1.4.3-.4.4-1 1.7-1.7 3.9m-2.2-1a16 16 0 012.4-4.8 3 3 0 011.7-.7c.5 0 1.2 0 2 .4s1.2.7 1.6 1.1c.4.5.7 1 .8 1.8.1.5 0 1.2-.1 2a25.2 25.2 0 01-1 3.4l-1.2 3.2c-.4.7-.8 1.3-1.2 1.6-.5.4-1 .7-1.6.7-.6.1-1.2 0-2-.4s-1.3-.7-1.7-1.1a3.7 3.7 0 01-.8-1.8l.1-2 1-3.4m10.6-2.9l2.2.8-2.4 8.8a4.7 4.7 0 00-.2 2.2c.1.4.5.7 1 1 .6.1 1 0 1.4-.2.3-.3.6-1 .9-2l2.3-8.8 2.2.7-2.4 9a9.8 9.8 0 01-.7 2 2.9 2.9 0 01-.7.9 2.9 2.9 0 01-1.6.6 4.8 4.8 0 01-2-.3c-1.3-.4-2.1-1-2.5-1.9-.4-.8-.4-2 0-3.7l2.5-9m5.9 16.1l2.7-13.4 2.3.6 1.3 10.1 1.8-9.3 2 .5-2.6 13.4-2.3-.6-1.3-10.2-1.8 9.4-2.1-.5m12 .7l1 .2h1.2a1 1 0 00.5-.3c.3-.3.5-.8.7-1.4a24.1 24.1 0 00.8-5.8 3 3 0 00-.4-1.4 1 1 0 00-.4-.5l-1-.2-1-.2-1.3 9.6m-2.5 1.6l1.9-13.6 3.6.7c.8.1 1.3.3 1.8.5.4.2.7.5 1 .9.3.5.5 1.2.6 1.9 0 .7 0 1.8-.2 3.3a31 31 0 01-.7 4 6.4 6.4 0 01-1 2c-.3.5-.7.8-1.3 1-.5.1-1.4 0-2.6-.2l-3.1-.5m9.5 1.6l1.2-13.7 6.3.7-.2 2.3-4-.5-.3 3.2 3.8.4-.2 2.1-3.8-.4-.3 3.8 4.1.4-.2 2.3-6.4-.6m10.4-1.1h2.2a1 1 0 00.5-.5c.2-.3.4-.8.5-1.4a23 23 0 00.2-3v-3a3 3 0 00-.6-1.3 1 1 0 00-.5-.3l-1-.2h-1l-.3 9.7M470 441l.5-13.7 3.7.1a6 6 0 011.7.3c.5.2.8.4 1.1.8a4 4 0 01.9 1.8l.2 3.3a31.6 31.6 0 01-.4 4.1 4 4 0 01-.7 2c-.3.6-.7 1-1.2 1.2-.5.2-1.4.3-2.6.2l-3.2-.1m13.8.2l-.5-13.7 2.3-.1.5 13.7h-2.3m6.1-.3l-.8-11.4-2.7.2-.1-2.2 7.5-.7.2 2.2-2.6.3.8 11.4-2.3.2M498 426l2.3-.4 1.4 9c.2 1.1.4 1.8.7 2.1.3.4.7.5 1.3.3.6 0 1-.3 1.1-.8.2-.4.2-1.1 0-2.2l-1.4-9 2.2-.5 1.5 9.4.2 2-.3 1.2a3.3 3.3 0 01-1.2 1.3 5 5 0 01-1.8.7c-1.4.3-2.4.1-3.1-.4-.7-.6-1.2-1.7-1.4-3.4L498 426m12.3 3.5l1-.3c.6-.2 1-.4 1.3-.8.2-.4.2-1 0-1.7 0-.7-.3-1.2-.7-1.4-.3-.2-.8-.3-1.5 0l-1 .2.9 4m-.5 8l-3-13.3 4-1c1.1-.3 2-.3 2.7.2.6.4 1.1 1.3 1.4 2.6.3 1.4.2 2.4-.2 3.2-.4.8-1.2 1.4-2.3 1.7l-1.7.4 1.3 5.7-2.2.6m8.8-9.7a15 15 0 001.5 4c.4.4.9.5 1.5.3s1-.6 1-1.2-.2-2-.9-4.2-1-3.5-1.5-4c-.3-.5-.8-.6-1.4-.4-.6.2-1 .7-1 1.3-.1.6.2 2 .8 4.2m-2.3.8c-.4-1.4-.6-2.5-.7-3.4a5.6 5.6 0 010-2c.2-.8.4-1.3.8-1.8a5 5 0 011.8-1 4.1 4.1 0 012-.3c.5.1 1 .4 1.6.9.4.3.7.9 1 1.6a24.7 24.7 0 011.9 6.6 6 6 0 010 2.1 3.7 3.7 0 01-.8 1.7 4 4 0 01-1.8 1.1c-.8.3-1.4.4-2 .3a3 3 0 01-1.5-.9 5 5 0 01-1.1-1.6c-.4-.8-.8-2-1.2-3.3m11.3 3.1l-4.6-12.7 2.2-1 6.2 7.6-3.2-8.9 2-.9 4.6 12.7-2.2 1-6.2-7.6 3.2 9-2 .8m14.3-7l-4.8-10.1-2.3 1.3-1-2 6.7-3.9 1 2-2.3 1.4 4.8 10.1-2 1.2m5.4-3.2l-6.6-11.6 2-1.4 2.5 4.6 2.7-2-2.6-4.5 2-1.3 6.5 11.6-2 1.3-3-5.2-2.6 1.8 3 5.3-2 1.4m8.3-6l-7.4-11 5-4.2 1.3 1.9-3.3 2.7 1.7 2.5 3-2.5 1.2 1.7-3 2.5 2 3 3.4-2.7 1.2 1.8-5 4.3M562 404l1.6-1.8.6.6c.5.6 1 1 1.2 1 .4 0 .7 0 1-.4.4-.4.6-.8.6-1.2a2 2 0 00-.5-1.2 2 2 0 00-.9-.5 4.2 4.2 0 00-1.5 0l-1.4.3a6.4 6.4 0 01-2.6.2 3.3 3.3 0 01-1.5-1 3.8 3.8 0 01-1.1-2.7 4.1 4.1 0 011.2-2.7c.8-1 1.7-1.3 2.5-1.3s1.7.5 2.6 1.4a3.8 3.8 0 01.3.4l-1.6 1.7-.2-.3a3 3 0 00-1.3-.9c-.3 0-.7.1-1 .5-.3.3-.4.6-.4 1 0 .3.1.6.4 1 .3.3 1 .4 2.2.2l1.5-.3a5.3 5.3 0 012.5-.1c.6.1 1.2.6 1.8 1.2a4 4 0 011.1 2.8 4.5 4.5 0 01-1.3 2.9c-.9 1-1.8 1.4-2.6 1.4-1 0-1.8-.6-2.7-1.6l-.5-.6m9.5-3.9l-9.5-8.8 4.1-5.4 1.6 1.5-2.6 3.4 2.2 2 2.4-3.2 1.5 1.4-2.4 3.2 2.6 2.5 2.6-3.6 1.6 1.5-4 5.5m2.3-12.3l1.1-1.8-4.8-2.3 3.7 4.1m2.3 6.1l-8.7-10.2 1.7-2.8 11.8 5-1.4 2.3-2.9-1.3-1.5 2.4 2.3 2.5-1.3 2.1m1.4-11.1l1.1-2.3.7.4c.7.4 1.2.6 1.5.5.3 0 .6-.3.8-.7.2-.5.3-1 .2-1.3 0-.4-.4-.7-.8-1a1.5 1.5 0 00-1-.2c-.3 0-.8.3-1.4.6l-1.3.8a6.6 6.6 0 01-2.4 1 3 3 0 01-1.7-.5 3.5 3.5 0 01-1.8-2.1 4.3 4.3 0 01.4-3c.5-1.1 1.2-1.8 2-2 .9-.4 1.8-.2 2.8.4a3.5 3.5 0 01.4.2l-1 2.2-.3-.2c-.6-.3-1-.5-1.4-.4-.3 0-.6.3-.9.8-.1.4-.2.7 0 1 0 .4.2.6.6.8.4.3 1.2.1 2.2-.5l1.3-.8c1-.6 1.8-1 2.4-1 .6 0 1.3.2 2 .6 1 .5 1.6 1.3 1.9 2.2.2 1 0 2-.5 3.2-.5 1.3-1.2 2-2 2.3-1 .3-2 0-3.1-.6a11.5 11.5 0 01-.6-.4"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kz.svg
new file mode 100644
index 0000000..049d6fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/kz.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-kz" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#6fdcff" d="M0 0h640v480H0z"/>
+    <g fill="#ffe400">
+      <path d="M60.2 467c3.3 3.2 2.2 8.5 11.3 7.8 13.8 0 14.2-8.4 14.2-14.3S65 446.4 64 437.7c-1-8.7 4.8-11 9.6-11 4.7 0 8 2.7 8 5.1S79.4 435 76 435s1.5-1.7-1.4-3-4.8 2-4.8 4c0 2.2 7.2 2.8 12 1.3 1 4.7 1.4 5-5.3 13 4.8-3.1 5.2-3.8 10.5-2-5.3-4.6-1.3-13.8-1.2-16.1s-1-5.1-3-6.5c-3.9-3.5-12.2-3.7-17.2-1.4-7.3 3.2-7.7 12.8-5.8 16L80 460.7c1.4 2.4 2 9.2-6.6 9.5-9 .7-12.2-11.6-13.8-15.7-2.1 4.5-4.5 16.8-13.6 16.1-8.6-.3-10.2-7-8.8-9.5l20.7-21c2-3.2 1.6-12.8-5.7-16-5-2.3-13.3-2-17.1 1.4-2.2 1.4-3.4 4.1-3.2 6.5s4.1 11.5-1.1 16c5.2-1.7 5.7-1 10.5 2-6.7-7.9-6.2-8.2-5.3-13 4.8 1.6 12 1 12-1.1s-2-5.6-4.9-4.2c-2.8 1.4 2 3.1-1.4 3.1-3.3 0-5.7-.7-5.7-3s3.3-5.3 8.1-5.3 10.5 2.4 9.5 11.1-22 18.1-22 24c0 6 1.4 13.1 15.2 13.1 9 .7 10.1-4.6 13.4-7.8z"/>
+      <path d="M59.1 343.3c3.3-3.2 6-12.6 15-12 13.8 0 19 7.7 19 13.6 0 5.9-28 54-29 62.7-1 8.7 4.8 11.1 9.5 11.1 4.8 0 8.1-2.7 8.1-5.2s-2.4-3-5.7-3 1.4 1.7-1.4 3-4.8-2-4.8-4.1c0-2.1 7.2-2.8 12-1.2.9-4.7 1.3-5-5.3-13 4.8 3 5.2 3.8 10.5 2-5.3 4.6-1.4 13.7-1.2 16s-1 5.2-3.1 6.6c-3.8 3.5-12.2 3.6-17.2 1.4-7.2-3.3-7.6-12.8-5.7-16L87 346.6c1.5-2.4-2.3-10.4-10.9-10.7-9-.7-12.1 8.8-13.7 12.9l12.3-1s.5 2 0 3.2a110 110 0 00-12.3 1.6l-.5 6.2h6l-.4 2.8s-5.1-.4-5.6 0c-.5.3-1 6.2-1 6.2s-1 .4-2 .4-2-.4-2-.4-.4-5.9-.9-6.2c-.5-.4-5.6 0-5.6 0l-.5-2.8H56l-.5-6.2s-6-1.2-12.3-1.6c-.4-1.2 0-3.1 0-3.1l12.3.9c-1.6-4.1-4.7-13.6-13.7-13-8.6.4-12.4 8.4-11 10.8L58 405.2c1.9 3.1 1.5 12.7-5.7 16-5 2.2-13.4 2-17.2-1.4-2.1-1.4-3.3-4.2-3.1-6.5s4-11.6-1.2-16c5.3 1.7 5.8 1 10.5-2.1-6.6 8-6.2 8.3-5.2 13 4.7-1.6 11.9-1 11.9 1.2 0 2-2 5.5-4.8 4.1-2.8-1.4 2-3-1.4-3-3.3 0-5.7.6-5.7 3s3.3 5.2 8 5.2 10.5-2.4 9.6-11c-1-8.7-29-57-29-62.8 0-6 5.2-13.5 19-13.5 9-.7 12.3 8.7 15.5 11.9z"/>
+      <path d="M59.1 319.4c3.3 3.2 6 12.6 15 12 13.8 0 19-7.7 19-13.6 0-5.9-28-54-29-62.7-1-8.7 4.8-11.1 9.5-11.1 4.8 0 8.1 2.7 8.1 5.2s-2.4 3-5.7 3 1.4-1.6-1.4-3-4.8 2-4.8 4.1c0 2.1 7.2 2.8 12 1.2.9 4.7 1.3 5-5.3 13 4.8-3 5.2-3.8 10.5-2-5.3-4.6-1.4-13.7-1.2-16s-1-5.2-3.1-6.6c-3.8-3.4-12.2-3.6-17.2-1.4-7.2 3.3-7.6 12.8-5.7 16L87 316c1.5 2.4-2.3 10.4-10.9 10.7-9 .7-12.1-8.8-13.7-12.9l12.3 1s.5-2 0-3.2a110 110 0 01-12.3-1.6l-.5-6.2h6l-.4-2.8s-5.1.4-5.6 0c-.5-.3-1-6.2-1-6.2s-1-.4-2-.4-2 .4-2 .4-.4 5.9-.9 6.2c-.5.4-5.6 0-5.6 0l-.5 2.8H56l-.5 6.2s-6 1.2-12.3 1.6c-.4 1.2 0 3.1 0 3.1l12.3-.9c-1.6 4.1-4.7 13.6-13.7 13-8.6-.4-12.4-8.4-11-10.8L58 257.5c1.9-3.2 1.5-12.7-5.7-16-5-2.2-13.4-2-17.2 1.4-2.1 1.4-3.3 4.2-3.1 6.5s4 11.5-1.2 16c5.3-1.7 5.8-1 10.5 2.1-6.6-8-6.2-8.3-5.2-13 4.7 1.6 11.9 1 11.9-1.2 0-2-2-5.5-4.8-4.1-2.8 1.4 2 3-1.4 3-3.3 0-5.7-.6-5.7-3s3.3-5.2 8-5.2 10.5 2.4 9.6 11c-1 8.7-29 57-29 62.8 0 6 5.2 13.5 19 13.5 9 .7 12.3-8.7 15.5-11.9z"/>
+      <path d="M59.1 160.6c3.3-3.2 6-12.6 15-12 13.8 0 19 7.7 19 13.6 0 5.9-28 54-29 62.8-1 8.6 4.8 11 9.5 11 4.8 0 8.1-2.7 8.1-5.1s-2.4-3.2-5.7-3.2 1.4 1.8-1.4 3.2-4.8-2.1-4.8-4.2c0-2 7.2-2.8 12-1.2.9-4.7 1.3-5-5.3-13 4.8 3.1 5.2 3.8 10.5 2-5.3 4.6-1.4 13.8-1.2 16s-1 5.2-3.1 6.6c-3.8 3.5-12.2 3.6-17.2 1.4-7.2-3.3-7.6-12.8-5.7-16L87 164c1.5-2.4-2.3-10.4-10.9-10.7-9-.7-12.1 8.8-13.7 12.9l12.3-1s.5 2 0 3.2c-6.4.4-12.3 1.6-12.3 1.6l-.5 6.2h6l-.4 2.8s-5.1-.3-5.6 0-1 6.3-1 6.3-1 .3-2 .3-2-.3-2-.3-.4-6-.9-6.3c-.5-.3-5.6 0-5.6 0l-.5-2.8H56l-.5-6.2s-6-1.2-12.3-1.6c-.4-1.2 0-3.1 0-3.1l12.3.9c-1.6-4.1-4.7-13.6-13.7-13-8.6.4-12.4 8.4-11 10.8L58 222.5c1.9 3.2 1.5 12.7-5.7 16-5 2.2-13.4 2-17.2-1.4-2.1-1.4-3.3-4.2-3.1-6.5s4-11.5-1.2-16c5.3 1.7 5.8 1 10.5-2.1-6.6 8-6.2 8.3-5.2 13 4.7-1.6 11.9-.9 11.9 1.2 0 2-2 5.5-4.8 4.1-2.8-1.3 2-3-1.4-3-3.3 0-5.7.6-5.7 3s3.3 5.2 8 5.2 10.5-2.4 9.6-11c-1-8.7-29-56.9-29-62.8 0-5.9 5.2-13.5 19-13.5 9-.7 12.3 8.7 15.5 12z"/>
+      <path d="M59.1 136.7c3.3 3.2 6 12.7 15 12 13.8 0 19-7.7 19-13.6 0-5.9-28-54-29-62.7-1-8.7 4.8-11.1 9.5-11.1 4.8 0 8.1 2.8 8.1 5.2s-2.4 3.1-5.7 3.1 1.4-1.7-1.4-3.1-4.8 2-4.8 4.1c0 2.1 7.2 2.8 12 1.2.9 4.7 1.3 5-5.3 13 4.8-3 5.2-3.8 10.5-2-5.3-4.5-1.4-13.7-1.2-16s-1-5.2-3.1-6.6c-3.8-3.4-12.2-3.6-17.2-1.3-7.2 3.2-7.6 12.8-5.7 15.9L87 133.4c1.5 2.4-2.3 10.4-10.9 10.8-9 .6-12.1-8.8-13.7-13l12.3 1s.5-2 0-3.2a111.5 111.5 0 01-12.3-1.5l-.5-6.3h6l-.4-2.8s-5.1.4-5.6 0c-.5-.3-1-6.2-1-6.2s-1-.4-2-.4-2 .4-2 .4-.4 5.9-.9 6.2c-.5.4-5.6 0-5.6 0l-.5 2.8H56l-.5 6.3s-6 1.1-12.3 1.5c-.4 1.3 0 3.2 0 3.2l12.3-1c-1.6 4.2-4.7 13.6-13.7 13-8.6-.4-12.4-8.4-11-10.8L58 74.8c1.9-3.1 1.5-12.7-5.7-16-5-2.2-13.4-2-17.2 1.4-2.1 1.4-3.3 4.2-3.1 6.5s4 11.6-1.2 16c5.3-1.7 5.8-1 10.5 2.1-6.6-8-6.2-8.3-5.2-13 4.8 1.6 11.9 1 11.9-1.2 0-2-2-5.5-4.8-4.1-2.8 1.4 2 3.1-1.4 3.1-3.3 0-5.7-.7-5.7-3.1s3.3-5.2 8-5.2 10.6 2.4 9.6 11c-1 8.7-29 57-29 62.8 0 6 5.2 13.6 19 13.6 9 .7 12.3-8.8 15.5-12z"/>
+      <path d="M60.2 13c3.3-3.2 2.2-8.5 11.3-7.8 13.8 0 14.2 8.4 14.2 14.3S65 33.6 64 42.3c-1 8.7 4.8 11 9.6 11 4.7 0 8-2.7 8-5.1S79.4 45 76 45s1.5 1.7-1.4 3-4.8-2-4.8-4c0-2.2 7.2-2.9 12-1.3 1-4.7 1.4-5-5.3-13 4.8 3.1 5.2 3.8 10.5 2-5.3 4.6-1.3 13.8-1.2 16.1s-1 5.1-3 6.5c-4 3.7-12.3 3.7-17.3 1.5-7.3-3.2-7.7-12.8-5.8-16L80 19.3c1.4-2.4 2-9.2-6.6-9.5-9-.7-12.2 11.6-13.8 15.7C57.5 21 55.1 8.6 46 9.3c-8.6.3-10.2 7-8.8 9.5l20.7 21c2 3.2 1.6 12.8-5.7 16-5 2.3-13.3 2.1-17.1-1.4-2.2-1.4-3.4-4.1-3.2-6.5s4.1-11.5-1.1-16c5.2 1.7 5.7 1 10.4-2-6.6 7.9-6.1 8.2-5.2 13 4.8-1.6 12-1 12 1.1s-2 5.6-4.9 4.2c-2.8-1.4 2-3.1-1.4-3.1-3.3 0-5.7.7-5.7 3s3.3 5.3 8.1 5.3 10.5-2.4 9.5-11.1-22-18.1-22-24c0-6 1.4-13.1 15.2-13.1 9-.7 10.1 4.6 13.4 7.8z"/>
+    </g>
+    <g fill="#ffe400" transform="translate(-194.7 8.3) scale(1.0673)">
+      <rect width="170.2" height="161.3" x="425.9" y="104.5" rx="85.1" ry="80.7"/>
+      <path d="M507 56.4c-.8 0-4.6 26.8-6 32.8-1.4 13.5 18 13 14.8-.5L507 56.3zm6.8 259.8c.7 0 6.5-26.5 8.4-32.4 2.3-13.3-17.1-14-15-.4l6.6 32.8zM378.2 184.6c0 .7 27.9 6.3 34.1 8.1 14 2.3 15-16 .6-14l-34.7 6zm271.7 3.2c0-.7-28.2-5.3-34.5-6.9-14.1-1.7-14.2 16.6 0 14.1l34.5-7.2zM406.8 99.6c-.5.5 17.9 21.3 21.6 26.4 9.6 10 22.3-4 9.6-10.8l-31.2-15.5zm211.1 171c.5-.5-19.7-19.7-23.9-24.4-10.5-9.2-21.8 5.7-8.6 11.5l32.5 13zm-169-200c-.6.3 8 26.1 9.4 32.2 4.8 12.7 22.2 4.4 13.2-6.5L449 70.6zM572 303c.7-.3-6-26.6-6.9-32.7-3.9-13-21.8-6-13.7 5.6l20.7 27zm30.3-214.4c-.6-.5-22.8 16.6-28.2 20-10.7 9 3.8 21.2 11.2 9.3l17-29.3zm-183 193.7c.5.5 24-15 29.6-18.1 11.3-8.2-2.2-21.4-10.5-10l-19 28.1zm-35-144.1c-.3.6 24 14.7 29.3 18.4 12.5 6.5 19.8-10.5 5.5-13.2l-34.8-5.2zM638 236.6c.3-.6-23-16.3-28-20.3-12-7.4-20.5 9.1-6.4 12.7l34.4 7.6zM557.4 63.7c-.7-.2-14.6 23.4-18.3 28.5a7.8 7.8 0 0014 4.7l4.3-33.2zM463.5 308c.7.3 16.3-22.4 20.3-27.3 7.3-11.6-10.4-19-13.7-5.6l-6.6 32.9zM386 238.7c.3.6 28-6 34.5-7 13.6-3.8 6-20.6-6-12.8L386 238.7zM638.1 136c-.2-.6-28.3 4.1-34.8 4.7-14 2.9-7.5 20.2 5 13.2l29.8-17.9z"/>
+      <path d="M534.6 58.1c-.7-.1-10.1 25.4-12.9 31-4.1 13 15 16.2 14.7 2.4L534.7 58zM486.1 314c.7.2 12-24.7 15.2-30.2 5-12.6-13.8-17-14.5-3.3L486 314zm-9.7-253.4c-.7.2 1.9 27.2 1.9 33.4 1.9 13.3 20.6 8.7 14.4-3.7l-16.3-29.7zm68 251.9c.7-.1 0-27.2.5-33.4-.9-13.5-20-10.1-14.6 2.7l14 30.7zM428.2 83c-.6.4 12.7 24.3 15.2 30 7.2 11.7 22.7.7 11.8-8.6l-27-21.4zM593 290.9c.6-.4-11-25.2-13-31-6.3-12.1-22.5-2.1-12.4 7.8l25.4 23.2zM393 116.6c-.4.6 21.1 18.4 25.6 23 11.1 8.4 21.4-7.2 7.8-12.1L393 116.6zm234.2 139.7c.4-.6-19.7-19.8-23.9-24.6-10.4-9.1-21.8 5.8-8.6 11.6l32.5 13zm-249.6-97.8c-.2.7 26.3 10.8 32.1 13.7 13.4 4.5 17.7-13.4 3.1-13.8l-35.2.1zM645 216.3c.3-.6-25.4-12.4-31-15.7-13-5.4-18.7 12.2-4.2 13.6l35.2 2.1zM376.7 210c.1.6 28.7.2 35.2.7 14.2-.7 10.8-18.8-2.8-13.9L376.7 210zm270.2-45c0-.7-28.6-2.2-35-3.1-14.3-.2-12.2 18.1 1.7 14l33.3-11zm-245.7 98.4c.4.6 26-11.6 32-13.9 12.4-6.5 1-21.4-8.9-11.3l-23.1 25.2zm222.3-152.3c-.4-.6-26.7 9.9-33 11.8-12.9 5.7-2.6 21.3 8 11.9l25-23.7zM442.8 298.8c.6.3 18.9-20.5 23.5-24.9 8.7-10.7-8-20-12.9-7l-10.6 31.9zM582.5 75c-.5-.4-20.3 19.1-25.2 23.2-9.4 10.1 6.6 20.5 12.4 7.9L582.4 75z"/>
+      <g transform="matrix(2.1824 0 0 2.0629 -405 -272.6)">
+        <path d="M360.1 247.9c.7 2.5.8 16.5 14.9 30 14 13.4 38 16.4 38 16.4s.1 1.9-1.6 2c-1.7.2-9.9-1.5-14-2.8-4-1.2-7.6-3.4-8-3.3-.5.2-1.3 1.6-2.5 1.4s-7-6.2-9.6-7.8a80.6 80.6 0 01-13.7-15.3c-2.8-4.5-3.5-7.5-4.4-7.5s-4.2 2.2-4.2 2.2-3-4.5-5.6-11.7c-2.7-7.2-2.4-11.4-1.8-11.7.7-.3.7 5.3 2.7 10.4 2 5.2 4.8 6.8 4.8 6.8s-1.8-2.7-3.2-9.4-2-13.2-1-15.2 1.9-2.6 2-2.5c.2.2-1.7 3.1-.4 10.8s4.8 14.2 5.6 13.9c.8-.3-.5-1.9-1-6.4s.5-7.3 1.6-7.7c.5-.4 1.3 5 1.4 7.4zm-9.8 12.8c-2.7-2.5-6.9-11.2-7.8-10.8-1 .5 6.8 13 7 14 .2 1.2 1.9 4.6.6 4.1s-10.6-10.3-9.5-8.4 8.1 10.5 7.7 11-5.8-4.8-6-4.1c-.1.6 5.3 5.8 5.2 6.4s-3.5-3.3-3.5-2.5 3.5 4.7 3.5 5.3-3-2.8-2-1c.9 2 3.5 3.7 3.4 4.3s-2.2-.8-2.2-.5c0 .3 3.9 1.7 4.8 2.8 1 1.1 7.4 8.5 12.2 12.2s18.6 10.2 19.6 10.2c.9 0 2.3-2 2-2.8-.3-.8-13.8-5.4-17.5-8.8-3.8-3.4-13-11.6-13.8-12-.7-.5-2.8-.3-2.8-.8s2.7.3 2.5 0c-.1-.3-3.7-1.9-3.6-2.2.2-.3 2.5.6 2.5.3s-4.2-2.6-4-3.1c.1-.5 3.1 1.4 3.1 1 0-.2-4-3-3.9-3.5.1-.5 3.1 2.2 3 1.6s-2.4-4-2.4-4.4c0-.5 3.6 3.4 4 2.6.2-.7-1.3-7.2-1.2-7.3s2.7 1.4 3.1.5c.5-1-1.8-2.3-4-4.1zm46.1 49.2c-1.9.3-2.8-.4-1.7-2 1.5 0 5.5-1.3 6.9-1.9s2.9-1.4 4.1-2.5c1.2-1.3 2 .7 1.3 1.8-.5.7-2.8 2-4.5 2.7-2.5.8-4.7 2-6.1 1.9zm12.5-5.1c-1.3-1.4-.2-2.4 1.7-3.5 2.8-1.5 2-3.6 5.6-5.3 1.6-1 24-10 31.3-14.8s27.8-20.3 33.3-31c5.4-10.6 2.8-11.4 3.6-11.8.7-.5 1.5 1.5 1.4 3.9-.2 2.3-2 9.3-1.4 10s8.2-5.5 11.4-13 5.6-15.3 7.1-15.3c1.6 0-2.6 12.8-5.3 17.8-2.6 5-5.7 7.5-5 8.6.8 1 8.6-5.5 11.3-10.3 2.6-4.9 5.1-9.2 5.6-8.3a34 34 0 01-6.7 16.1c-4.2 4.8-9.2 8.3-8.4 9 .7.8 6.4 1.6 12.3-2.4 6-4.1 6.6-10 7.3-9.7.8.3-.7 8.4-6.4 13.4s-13.2 5.5-13 6.6c.4 1 16.3-4.6 16-3.3-.3 1.2-20.6 9.2-20.8 10 0 .6 3.5.8 9-.5 5.4-1.2 10.6-5.5 11.3-4.5.2 1.4-3.9 4.8-10.1 6.4-6.3 1.6-9.4 3.7-9.6 4.2-.1.5 11.2-1.4 11.2-.8s-14.8 3.5-14.9 4.3c-.2.7 14-2.9 13.8-2-.4.7-19.3 6.3-19.1 6.6.1.4 15.8-3.4 15.5-2.8-.4.7-26.4 8-26.6 8.5-.2.4 23-5.2 22.8-4.7s-12 3.4-12 3.7c0 .3 9.5-1.5 9.3-1-.1.4-24 6.5-24.5 7.4-.5 1 12.4-2.5 12.2-.7s-27.7 11-27.8 9.3c-.2-1.7 16.7-6 16.6-6.5-.2-.5-9.7 1-9.9.1-.1-1 6.3-3 5.8-3.4-.5-.5-5.3 1.4-4.9.3.5-1.1 9.6-5.3 9.4-5.6-.1-.3-3.3 1-3 0 .4-1.1 19.7-6.7 19.4-7.4-.3-.6-8.9 1.4-9.7 1.6-.3-.6 12-5.2 11.8-6-.4-.7-6.6 2.7-7 1.8-.2-1 10.9-5.3 10.2-6s-5.7 1.8-6.4 1.1 10.5-8.4 8.8-8.6c-1.7-.1-3.8 2.4-4 .8.2-2 8.7-5.3 6.8-6.9-3-.9-13.1.7-17.3 3.2s-18.2 16.4-21.6 18.6c-3.4 2.1-15 7-17.2 8-3.4 1.2-4 3-7.5 4.8-6.3 1.7-6.2 3.6-9.2 4.7-1.1.3-12.4 5.7-12.5 5.3zm-15.8 7c-1.9 1-3.6 3.4-2.5 4.4.6 1.2 2.5-2.7 4-2.5l8 .4c4.3.3 6.4-.9 8.8-.7s7.7-1.3 10.2-1.3 3 .3 3.2-.8c.3-1-7.8-.3-11.4-.4-3.6-.2-8.1.7-10.8.7-2.5-.1-6.8-.9-9.5.2z"/>
+        <rect width="3.4" height="3" x="401.7" y="309.1" rx="1.7" ry="1.5"/>
+        <path d="M445 307.7c1.7-.3 6.3 1.3 9.5 2 5.8 2.3 16.6 1.2 16.6 2.3s-.7 2.4-3.2 2.6-8.8-1-8.6-1 5 2.3 3.6 2.9-5.5-1.3-6.2-.8 3.8 1.4 3 1.7c-.6.3-3.7-.4-4.7-.3-1 .2.8 1.3-.4 1.7-1.2.5-3.2-.6-4-.3-.9.3 1.8 2 .6 2.2-1.2.2-4-.8-5.6-1-1.6 0 1.5 1.6.5 1.8-1 .1-3.8-1.3-4.5-1.3s0 2-1 2-2.2-1.7-2.8-1.7 0 2-1 2-1.4-2.1-2.2-2c-1 .2 0 2.7-1.4 2.5-1.3-.1-1.5-2.6-2.6-2.5-1 .2.2 2.5-.8 2.5s-1.2-2.3-2.2-2.5c-1-.1-.6 2.2-1.2 2.2s-1.2-2.2-1.6-2.2c-.3 0 0 2.2-1.2 2s-1.2-2.4-1.5-2.3c-.4.2-.4 1.8-1.2 1.8s-.9-1.6-1.2-1.4c-.4.1-1.6 2.1-2.4 1.8-.9-.3.2-1.9-.2-1.9s-1.4 1.1-2 1 0-1.4-.2-1.4-1.7.8-2.4.8-2.6 1-3.1.1c-.5-1 1.3-1 1.7-1.9.3-.9-1-3.6.4-4.5 1.3-1 5.6 1.3 12-.3 11.6-3.1 20.6-6.7 21.5-6.6z"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/la.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/la.svg
new file mode 100644
index 0000000..a87bc98
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/la.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-la" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="la-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#la-a)">
+    <path fill="#ce1126" d="M-40 0h720v480H-40z"/>
+    <path fill="#002868" d="M-40 119.3h720v241.4H-40z"/>
+    <path fill="#fff" d="M423.4 240a103.4 103.4 0 11-206.8 0 103.4 103.4 0 11206.8 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lb.svg
new file mode 100644
index 0000000..0967842
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lb.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lb" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="lb-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#lb-a)" transform="translate(80) scale(.9375)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path fill="red" d="M-128 384h768v128h-768zm0-384h768v128h-768z"/>
+      <path fill="#fff" d="M-128 128h768v256h-768z"/>
+    </g>
+    <path fill="#007900" d="M252.1 130c-7.8 15.5-13 15.5-26 26-5.2 5.1-13 7.7-2.6 13-10.5 5.1-15.7 7.7-20.9 18.1l2.6 2.6s10-4.8 10.4-2.6c1.8 2.1-13 10-14.9 11.3l-11 7c-13.1 10.3-21 7.7-28.7 23.3l26-2.6c5.2 18.2-13 20.8-26 28.6l-20.9 13c5.3 18.2 20.9 7.8 33.9 2.6l2.6 2.6v5.2l-26 13s-30.8 17.6-31.3 18.2c-.2 1 0 5.2 0 5.2 10.4 2.6 26 5.2 36.5 0 13-5.2 15.6-10.4 31.2-10.4a100.6 100.6 0 01-52 20.8v10.4c15.6 0 26 0 39-2.6l33.8-10.4c7.8 0 15.7 7.8 13 15.6-7.7 28.6-39 23.4-49.4 46.8L213 369c10.4-5.2 20.8-10.3 33.8-7.7 15.6 5.2 15.6 15.6 36.4 20.8l-5.2-13c5.2 2.6 10.4 2.6 15.7 5.2 13 5.2 15.6 10.4 31.2 7.8-13-15.6-15.6-13-26-23.4-10.4-15.6-15.7-39 0-41.6l18.2 5.2c18.2 2.6 18.2-2.6 44.2 7.8 15.7 5.2 20.9 13 39 7.8-7.7-18.2-36.3-31.2-54.6-36.4 20.9-13 15.6 5.2 44.3-2.6v-5.2C369.3 278 361.4 265 332.8 265l44.3-5.2v-5.2s-43.7-11.4-44.7-11.9c.3-1.3 1.4-3.3 4.3-4.5 8.3 5.4 33.3 4.8 34.8 4.7-.8-6.4-12.7-11.7-23-16.9 0 0-44.7-27.5-44.9-29.9.9-7 18.3 1.1 37 6.5-5.2-10.4-15.6-15.6-26-18.2l15.6-2.6c-10.4-23.4-36.4-20.8-52-31.2-10.5-7.8-10.5-13-26.1-20.7z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.2" d="M224 303c1.9-6.1 4.4-11.6-7.2-16.9-11.6-5.3 5.8 21.1 7.2 17zm13.7-12.3c-2.3.3-3.6 8.8 1.1 11.2 5.2.8 1-11.1-1.1-11.2zm13.5-1c-2.4.8-2.5 12.8 6 10.6 8.6-2.1 0-11.5-6-10.5zM267 259c1.8-3-.1-15-7.4-10-7.4 5.1 5 10.8 7.4 10zm-16-10c2.3-.9 2.5-8.3-4-6.3-6.3 1.9 2.3 7.8 4 6.3zm-14.4 2.9s-4.5-6.2-8-4.9c-4.3 4.2 8.3 5 8 4.9zM187 271.7c1.9.2 16-2.3 20.9-7.8 4.9-5.5-25.1 2.3-25.1 2.4 0 .1 2.8 4.9 4.2 5.4zm141.1-35c.7-1.3-7.5-7.1-12.4-4.8-1.3 4.3 12.4 5.7 12.4 4.8zm-27.8-14c1.6-2.2-3.5-11.3-13.7-6.2-10.2 5 10.7 9.8 13.7 6.3zm-32.1-5.3s2.5-8.2 8.6-6.6c7 5.3-8.3 6.9-8.6 6.6zm-6-6.2c-1-2.3-7.3-1-14.6 3.9-7.4 4.7 16.8 1.4 14.6-4zm18.7-22.1s6.5-3 8.5 0c2.7 4.3-8.6 0-8.5 0zm-5.5-2.9c-1.3-2.6-8.5-2.9-8.3 1-1.2 3 9.4 2.4 8.3-1zm-17.2 0c-.7-1.5-11 0-14 6.2 5 2.4 16.3-2.3 14-6.2zm-22 6.3s-13.4 8.3-14.3 14.3c.4 5.2 16.8-9.4 16.8-9.4s1.4-5.8-2.4-4.9zm-14.9-7.5c.4-1.7 6.7-5.6 7.2-5.3.5 1.7-5.1 6.3-7.2 5.3zm4.3 31.6c.3-2.5-16-2.3-9.9 5.2 5.2 6.3 11-4.1 9.9-5.2zm-15 10.7c-.8-1.6-2-6-4.2-6.4-1.9 0-11.7 2-12.5 3.6-.4 1.3 4.1 9.4 5.6 9.6 1.8.7 10.9-6 11.2-6.8zm88.4 55.2c.5-1.8 17.3-7.5 23-2 6.8 9.3-23.4 5-23 2zm46 10.9c3.7-6.2-11.3-13.6-17.6-6.5 2.2 8.5 14.6 11.6 17.6 6.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lc.svg
new file mode 100644
index 0000000..8ba746c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lc.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lc" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#65cfff" d="M0 0h640v480H0z"/>
+    <path fill="#fff" d="M318.9 42l162.7 395.3-322.6.9L318.9 42z"/>
+    <path d="M319 96.5l140.8 340-279 .8L319 96.5z"/>
+    <path fill="#ffce00" d="M318.9 240.1l162.7 197.6-322.6.5 159.9-198.1z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/li.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/li.svg
new file mode 100644
index 0000000..6b4160c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/li.svg
@@ -0,0 +1,43 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-li" viewBox="0 0 640 480">
+  <path fill="#002b7f" d="M0 0h640v240H0z"/>
+  <path fill="#ce1126" d="M0 240h640v240H0z"/>
+  <g fill="#ffd83d" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="scale(.8)">
+    <g id="a">
+      <path stroke="none" d="M216.4 122.3l-1.9 62.5h-63.4c-7.8-15.2-14.2-28-14.2-45.5 0-14.6 11.5-26.2 28-26.2 17.5 0 36.8 5.9 51.5 9.2z"/>
+      <g stroke-width="1.5">
+        <path d="M144.5 125.2v36m5-39.7v48m5.2-50.5v57.2m5-58.4v44.9m5.1-45.1v45.3m5.1-47v47m5.1-47v47m5.1-46.5v47m5.1-46.5v46.9m5.1-44v47m5-46.5v52.9m5.2-52.9v47m5-47v47"/>
+        <path fill="#000" d="M176.4 118c10.8 1.7 34.4 12.8 31.7 27.7-3.8 21.2-16.2 12.7-32.6 9.7l-12.4 4.1c-4.5 4.5-11 8.7-15.4 3.2h-7.4v28.8h81.4V122z"/>
+      </g>
+      <circle cx="212.8" cy="113" r="4.9"/>
+      <circle cx="201.7" cy="110.3" r="4.9"/>
+      <circle cx="190.4" cy="107.5" r="4.9"/>
+      <circle cx="179.1" cy="105.6" r="4.9"/>
+      <circle cx="167.8" cy="104.5" r="4.9"/>
+      <circle cx="156.8" cy="105.1" r="4.9"/>
+      <circle cx="146.2" cy="108.7" r="4.9"/>
+      <circle cx="137.3" cy="115.3" r="4.9"/>
+      <circle cx="131" cy="124.4" r="4.9"/>
+      <circle cx="127.9" cy="135.2" r="4.9"/>
+      <circle cx="128" cy="146.3" r="4.9"/>
+      <circle cx="130.2" cy="157.2" r="4.9"/>
+      <path d="M215 119.5l-.5 6.5c-12.3-2-29.7-8.8-46-8.8-15 0-26.6 6-26.6 21.2 0 14.9 6.3 28.5 14.7 42.3l-8.7 4c-7.8-15-14.3-28-14.3-45.4 0-14.6 11.5-29 31.3-29 17.5 0 35.4 6 50.1 9.2z"/>
+    </g>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 444 0)" xlink:href="#a"/>
+    <path d="M222 53.1l-5.2 9.7 5.2 9.6 5.1-9.6L222 53zm0 24.4l-5.2 9.6 5.2 9.7 5-9.8-5.1-9.6zM203.6 75l8.1 5.1 8.1-5.1-8-5.2-8.2 5.2zm20.5 0l8.1 5.1 8.2-5.1-8.2-5.2-8 5.2z"/>
+    <circle cx="222" cy="75.1" r="3.9"/>
+    <circle cx="222" cy="100" r="10.5"/>
+    <path fill="none" stroke-width="1.5" d="M219.3 89.9v6.6a62.5 62.5 0 00-7.4.8m20.2 0a62.1 62.1 0 00-7.5-.8v-6.6m-12.8 12.7a61.4 61.4 0 0110.2-.9c3.4 0 6.8.3 10 .9"/>
+    <path d="M211.8 117.7c-1 17-3 34.5-9.7 47.1l10.8-4.4c3.8-14.3 4.6-32.8 5.7-41.6l-6.8-1.1zm20.4 0l-6.9 1.1c1.2 8.8 2 27.3 5.7 41.6l10.8 4.4c-6.6-12.6-8.6-30-9.6-47.1z"/>
+    <path d="M222 154.7c-13 0-22.5 6-23 21.6-3.2-5.6-16.5-23-29-20.7-7.4 1.4-14 11.7-12.8 23.4-6.2-17.6-24.1-20.5-37.3-10 11.7 9.5 16.9 37.8 26.7 50h150.7c9.8-12.2 15-40.5 26.7-50-13.1-10.5-31.1-7.6-37.2 10 1-11.7-5.5-22-13-23.4-12.4-2.3-25.7 15.1-28.9 20.7-.5-15.5-10-21.6-23-21.6z"/>
+    <g stroke-width="1.5">
+      <path fill="#000" d="M297.1 219c0 5.6-33.6 11.7-75.1 11.7s-75.2-6-75.2-11.7c0-5.5 33.7-8.5 75.2-8.5 41.4 0 75.1 3 75.1 8.5z"/>
+      <circle cx="222" cy="114.4" r="3.5"/>
+      <circle cx="222" cy="122" r="3.7"/>
+      <circle cx="222" cy="130.2" r="4.1"/>
+      <circle cx="222" cy="139.3" r="4.7"/>
+      <circle cx="222" cy="149.4" r="5.1"/>
+      <path fill="#000" stroke="none" d="M220 159.2c-.6 0-1.1.5-1 1.4l.6 4.3c.2 1.5 1 1 1.3 0 .2-1.2.1-2 .2-4.1 0-1.1-.6-1.6-1.2-1.6zm4 0c-.6 0-1.1.5-1.1 1.6 0 2.1 0 2.9.2 4 .2 1.2 1 1.6 1.3 0l.5-4.2c.2-1-.4-1.4-.9-1.4zm-7.7.6a1 1 0 00-1 1c0 1 .3 2.3.4 3.8.2 1.5 1.3 1 1.4 0 0-.8.2-2.2 0-3.9 0-.6-.2-.9-.6-1a.8.8 0 00-.2 0zm11.1 0c-.3 0-.6.3-.7 1a20.1 20.1 0 00.2 3.8c0 1 1.2 1.5 1.3 0 0-1.5.4-2.7.4-3.7 0-.6-.5-1-1-1.1a.8.8 0 00-.2 0zm-15.4 1.7c-.5.1-1 .7-.8 1.3.3 1.3.6 2.7.6 4 0 1.1.9.7 1 0a59.8 59.8 0 00.1-4c0-1-.5-1.4-1-1.3zm19.6 0c-.3.1-.6.5-.6 1.3l.2 4c0 .7 1 1.1 1 0 0-1.3.2-2.7.5-4 .2-.6-.3-1.2-.7-1.3a.6.6 0 00-.3 0zm-59 .2c-.6 0-1 .7-.6 1.5.6 1.4 1.3 2.2 1.9 3.6.5 1.3 1.4.5 1.1-.4l-1.4-3.7c-.3-.7-.7-1-1-1zm98.8 0c-.4 0-.7.3-1 1-.9 1.9-1.2 2.8-1.5 3.7-.2 1 .6 1.7 1.2.4l1.8-3.6c.4-.8 0-1.5-.5-1.5zm-94.8 0c-.5.2-.7.7-.5 1.3.6 1.2 1.3 2.5 1.8 3.8.4 1.1 1.4.8 1-.2l-1-3.7c-.4-1-1-1.3-1.3-1.2zm90.5 0c-.4.1-.8.5-1 1.2-.7 2-.8 2.6-1.1 3.7-.4 1 .6 1.3 1 .2l1.8-3.8c.2-.6 0-1.1-.4-1.3a.6.6 0 00-.3 0zm-85.5 1c-.6.1-1 .9-.6 1.9.4 1.2 1 2.3 1.6 3.7.6 1.4 1.5 1.1 1.3.2-.3-.9-.5-2.3-1.2-4.5-.3-1-.7-1.4-1.1-1.3zm80.8 0c-.4 0-.9.3-1.2 1.3-.6 2.2-1 3.6-1.1 4.5-.3 1 .7 1.2 1.2-.2.6-1.4 1.2-2.5 1.6-3.7.4-1 0-1.8-.5-1.9zm-93.2.7c-.6 0-1 1-.7 1.7.5 1 .9 1.4 1.4 2.6.6 1.2 1.2.3 1-.5-.3-.8-.6-1.7-.8-2.8-.2-.8-.6-1-1-1zm105.6 0c-.4 0-.7.2-1 1l-.7 2.8c-.2.8.4 1.7 1 .5.5-1.2.8-1.5 1.4-2.6.3-.7-.2-1.6-.7-1.7zm-67 2.8c-.7 0-1.3.8-1 1.5.2 1.2.8 2.2 1.1 3.7.4 1.3 1.3.7 1.2-.2a28.7 28.7 0 00-.5-4c-.2-.7-.5-1-.9-1zm28.4 0c-.3 0-.7.3-.8 1a28.7 28.7 0 00-.6 4c0 .9.9 1.5 1.2.2l1.2-3.7c.2-.7-.4-1.5-1-1.5zm-14.2 1.2c-.8 0-.9 1-.9 1.7a12.3 12.3 0 01-2 6.4c-1 1.2-2.3.9-3.5.2a22.3 22.3 0 01-3.3-2.2c-1.4-1-2.4-.4-.8 1.9 4.6 6.6 9.6 12.2 9.6 23 0 1.3.3 1.7.9 1.7s.8-.4.8-1.8c0-10.7 5-16.3 9.6-23 1.6-2.2.6-2.8-.7-1.8a21 21 0 01-3.3 2.2c-1.3.7-2.6 1-3.5-.2a12.3 12.3 0 01-2-6.4c-.1-.7-.2-1.7-1-1.7zm-35.3-1.6a.6.6 0 00-.2 0c-.3.1-.4.4-.3 1l1.1 3.9c.3 1 1.4.7 1.2-.5l-.6-3.1c-.2-.8-.8-1.3-1.2-1.3zm70.6 0c-.5 0-1 .5-1.2 1.3-.4 1.4-.4 1.8-.6 3-.3 1.3.9 1.5 1.1.6l1.2-4c0-.5-.1-.8-.4-.9a.6.6 0 00-.2 0zm-91.6.4c-.6 0-1 .8-.4 1.8.6 1.2 1.7 2.6 2.2 3.5.5.8 1.4.2.8-.8-.6-1-.8-2.3-1.6-3.8a1 1 0 00-1-.7zm112.5 0c-.3 0-.7.2-1 .7-.7 1.5-1 2.7-1.5 3.8-.6 1 .2 1.6.7.8.5-.9 1.6-2.3 2.2-3.5.6-1 .2-1.8-.4-1.8zM134 169.5c-.6 0-.8 1.2-.2 2a19.2 19.2 0 002.6 2.7c.8.8 1-.2.6-1l-1.8-2.7c-.5-.7-.9-1-1.2-1zm175.9 0c-.3 0-.7.3-1.1 1l-1.9 2.7c-.4.8-.2 1.8.7 1a19 19 0 002.6-2.7c.6-.8.4-2-.3-2zm-170.8 1c-.6 0-1 .4-.5 1.3l1.9 3.8c.5 1 2 1.3 1.4-.2l-1.3-3.8c-.3-.7-1-1-1.5-1zm165.8 0c-.6 0-1.3.4-1.6 1.1l-1.2 3.8c-.6 1.5.9 1.2 1.4.2.5-1 1.3-2.5 1.8-3.8.5-.9.1-1.3-.4-1.3zm-175.6.4c-.8 0-.8.7-.1 1.2.9.7 2 1.4 3 2.3 1.3 1 1.7 0 1-.8-.6-.8-1.2-1.6-2.9-2.5-.4-.2-.7-.2-1-.2zm185.3 0c-.2 0-.6 0-1 .2-1.6.9-2.3 1.7-3 2.5-.6.9-.1 1.8 1.1.8 1-.9 2.2-1.6 3-2.3.8-.5.7-1.2 0-1.2zm-109.6.7c-.5 0-.8.5-.7 1.2l1 3.6c.2 1.1 1.5 1.1 1.3 0-.2-1-.3-2.3-.7-3.9-.1-.6-.4-.9-.8-1a.6.6 0 00-.1 0zm33.8 0c-.3 0-.6.3-.8 1-.4 1.5-.5 2.8-.7 3.9-.2 1 1.1 1 1.3-.1l1-3.6c.2-.7-.2-1.2-.6-1.2a.6.6 0 00-.2 0zm-64-2c-.3 0-.5.7-.2 1.7a26 26 0 011.6 9c-.3 1.2-1 1.3-1.9 1a18.8 18.8 0 01-2.8-1.7c-.8-.5-1.7.1-.5 1.1 6 5 10.3 10.7 12 17.6.2 1.4 1.1 1.6.9 0-1.4-8.7-1.7-15.9.4-20.3.8-1.7 0-3.3-1.2-.6-.9 1.8-2.2 2.5-3.3 1a47.9 47.9 0 01-4-7.7c-.2-.7-.5-1-.8-1.1a.3.3 0 00-.1 0zm94.1 0c-.3 0-.6.4-.8 1-.7 2-2.9 6.2-4 7.8s-2.4.8-3.2-1c-1.3-2.7-2-1.1-1.3.6 2.1 4.4 1.8 11.6.5 20.3-.3 1.6.6 1.4 1 0a32.4 32.4 0 0111.8-17.6c1.2-1 .3-1.6-.5-1a18 18 0 01-2.8 1.5c-1 .4-1.6.3-1.9-1-.2-1.2.2-3.9 1.7-9 .2-.8 0-1.5-.3-1.6a.3.3 0 00-.2 0zM144.4 172c-.5 0-1 .4-.7 1.2.4 1.4 1.2 2.8 1.5 3.6.3.9 1.2.5 1-.7l-.5-3.1c0-.6-.7-1-1.3-1zm155.1 0c-.6 0-1.2.4-1.3 1l-.4 3.1c-.2 1.2.7 1.6 1 .7.2-.8 1-2.2 1.4-3.6.3-.8-.1-1.2-.7-1.2zm-136.3-1.7c-.6-.1-.7 1.5-.2 2.2l2.8 3.1c.8 1 1.3.1.8-.7l-2.6-3.8c-.3-.5-.6-.8-.8-.8zm117.5 0c-.2 0-.5.3-.8.8l-2.6 3.8c-.5.8 0 1.7.9.7l2.7-3.1c.5-.7.5-2.3-.2-2.2zm-132 4c-.4 0-.7.2-.5 1 .2 1.2.5 2 .8 3.1.3 1 1 .9 1-.1l-.3-3.2a1.1 1.1 0 00-1-.9zm146.5 0a1 1 0 00-1 .8l-.3 3.2c0 1 .8 1.2 1 .1l.9-3c.2-.9-.2-1.2-.6-1.2zm-133.4 1.4c-.6 0-1.1.7-.4 1.6 1.1 1.5 2.4 2.5 2.9 3 .4.6 1.5.4.8-.7l-2.3-3.5c-.2-.4-.6-.5-1-.4zm120 0c-.2 0-.5.1-.6.4l-2.4 3.5c-.7 1.1.4 1.3.9.8.4-.6 1.7-1.6 2.9-3.1.7-1 .1-1.6-.5-1.6a.9.9 0 00-.2 0zm-140.7 4.1c-.4 0-.6.4 0 1.3a17 17 0 013.3 6.4c.1 1.4-.5 1.4-1.1 1.4-1.9 0-2.8-1.4-4.4-1.8-1.7-.3-2 .5-.8 1.4a53.4 53.4 0 0114.7 13.8c1 1.9 2.3 2.5 1.6.8a23.7 23.7 0 01-2.4-12.6c.5-2.8 1.2-4.6 1.1-6.2 0-1.5-1-1.4-1.3 0l-1 2.8c-.4.5-1.8.8-3-.9a48 48 0 00-5.6-5.8c-.3-.3-.7-.5-1-.6zm161.7 0c-.3 0-.7.2-1.1.6a48.2 48.2 0 00-5.5 5.8c-1.3 1.7-2.7 1.4-3 1a12 12 0 01-1-2.9c-.4-1.4-1.3-1.5-1.4 0 0 1.6.6 3.4 1.1 6.2s0 7.2-2.3 12.6c-.8 1.7.6 1 1.6-.8a53 53 0 0114.6-13.8c1.2-.9 1-1.7-.7-1.4-1.7.4-2.6 1.8-4.4 1.8-.6 0-1.3 0-1.2-1.4.1-1.3 1.8-4.4 3.3-6.4.6-1 .5-1.3 0-1.3z"/>
+      <path d="M150.1 212.7l2 6.1m2-7.3l1.8 6.2m2.6-7l1.2 6.4m2.8-7.1l1.3 6.3m3.8-6.8l1 6.4m4.5-6.4l1.1 6.3m4.3-8.1l.8 6.4m4.2-6.1l.8 6.4m4.1-7l.8 6.4m4-7l.5 6.5m4.8-6.5l.4 6.5m4.4-6.8l.3 6.5m4.9-6.8l.3 6.4m5.7-6.6l.3 6.5m79 .2l-2 6.1m-2-7.3l-1.7 6.2m-2.6-7l-1.2 6.4m-2.8-7.1l-1.3 6.3m-4-6.8l-1 6.4m-4.4-6.4l-1.1 6.4m-4.2-8.2l-.8 6.4m-4.3-6.1l-.8 6.4m-4-7l-.9 6.4m-4-7l-.5 6.5m-4.8-6.5l-.4 6.5m-4.3-6.8l-.3 6.5m-5-6.8l-.2 6.4m-5.8-6.6l-.2 6.5m-7.2-7v7.2"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lk.svg
new file mode 100644
index 0000000..4a377f1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lk.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-lk" viewBox="0 0 640 480">
+  <path fill="#ffb700" d="M0 0h640v480H0z"/>
+  <path fill="#ff5b00" d="M26.7 240l88-213.3h88v426.6h-88z"/>
+  <path fill="#005641" d="M26.7 26.7h88v426.6h-88z"/>
+  <path fill="#8d2029" d="M229.3 26.7H616v426.6H229.3z"/>
+  <path id="a" fill="#ffb700" stroke="#000" stroke-width="1.1" d="M579.3 408.6s3.6 7.3 7.6 10.4c6 4.4 18 4 23.3 9.3 6.1 6.1-.5 14.2-.5 15l.4 4.2s-4.2 0-6 .3c-2.6.4-3.6 2.6-8.6 2.3-12.3-.8-11.8-12-12.5-21.5-.6-3.6-2-8.4-2.9-12-.7-3-.8-8-.8-8z"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 845.3 0)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="matrix(1 0 0 -1 0 480)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="rotate(180 422.7 240)" xlink:href="#a"/>
+  <g transform="translate(0 -76)">
+    <use width="100%" height="100%" stroke="#000" stroke-width="5.6" xlink:href="#b"/>
+    <g id="b" fill="#ffb700">
+      <path d="M363.5 415.8l2.3-1.4 1 1.4c1.3 1.8 5 1.7 7.4 0l1.9-1.5 1.6 1.4c2 1.9 5.8 1.9 8.3 0 1.7-1.2 2-1.3 3-.3.7.6 2.7 1.2 4.4 1.5 3.2.4 3.2.4 5-2.4 1.6-2.3 1.8-3.2 1.5-5.5a59.4 59.4 0 01-.6-5.3c-.2-2.6-.1-2.6 3.6-4a50.5 50.5 0 005.4-2c1.5-.9 5.7-5.8 5.7-6.8 0-.2-1.6-.6-3.6-.8-8-1-9.3-5.2-4.1-13 8.3-13 13.4-25.5 13.4-33.4 0-3.6.3-4.8.7-4 1.9 3.1-1.5 16.4-6.5 26l-2 3.8 1.9-.4c1-.3 7.4-3 14-6 18.2-8.2 24.4-9.8 36.2-9.3 9.9.4 14 2.3 21 9.6 3.7 4 7.3 6.7 13.8 10.8 13.8 8.6 14.4 9.4 15.1 19.6.7 10.3.3 10.9-7.5 12.6-6.7 1.5-10.9 4.6-12 9-.6 2.2.7 2.3 4 .1l2.5-1.6 1.1 1.6c1.5 2.1 4.5 2.1 7 0l2-1.5 2 1.5c3 2.5 7 1.9 8.2-1.2.2-.5.8-.4 2 .7 2.3 2 8 2.8 8.6 1.2.2-.6-.2-2-1-3.2-3.3-5-4.4-7.3-4.4-10 0-3.8 1-5.7 5.4-8.7 5.2-3.8 6.8-8.6 2.8-8.6-2.4 0-4.9-2.2-6.5-5.7-3.2-7.2-2.5-15.2 2.3-28.6a57.6 57.6 0 005.4-25.2c0-7.4-.2-8.6-1.8-12.7a45.4 45.4 0 00-4.6-8.1l-2.8-3.7 3.5-3c10.8-8.9 8.6-23.5-4.4-29.1-4-1.8-5-1.9-12-1.9-4 0-10.5.6-14 1.3a98.2 98.2 0 01-14.2 1.2c-6.8 0-8-.2-10.6-1.6-2.7-1.4-3.2-2.1-3.7-5.5a2 2 0 00-1.1-1.5c-1-.3-5.2 3.4-5.8 5-.4.9-.6.8-1.5-.3a13.4 13.4 0 01-2-3.6c-1-3.3.3-5.7 4.2-7.6l3-1.4-1.8-1.1c-3.6-2.3-9.8-.7-12 3-.7 1-1.4 2-1.6 2-.2 0-1.4-1-2.6-2.3-4.7-4.6-3.1-11.4 3.2-13.4 3.3-1.1 6.3-.3 6.9 2 1 3.3 3.8-1.1 3.3-5.2-.3-2.7-.3-2.8 1.6-2.8 2.6 0 8 3.4 9.8 6 2 3.1 1.8 8-.4 11.6l-1.7 2.8 2.3-.4c3.2-.7 6.4-2.7 8-5.2a12 12 0 00.4-10.4c-1.5-2.7-1.3-3.1.9-2.2 3.6 1.5 5.6 3.2 7 6.1 1.4 2.6 1.5 3.2.8 6a17 17 0 01-2.2 4.8c-1.2 1.6-1.3 1.9-.3 1.9 1.8 0 5.4-1.7 6.7-3 .7-.8 1.7-2.5 2.2-4l1-2.5 1 2c1.5 2.7 4.5 5.2 8.1 6.8 3.9 1.6 5.5 1.7 3.5.2-1.4-1-4-8.5-3.1-9.2a51 51 0 0111.7 9c5.7 5.1 9.3 6.8 14.5 6.8 6.7 0 10.6-5.8 7.6-11.3-1.7-3.2-5.6-3.7-8-1-1 1.3-1.3 2.3-1 3.7.4 1.6.3 1.8-1.2 1.8-2 0-5.8-2.5-12.6-8.2a102 102 0 00-32.1-18.7 70.4 70.4 0 00-24.3-1.3c-6.4 1.2-14 4.9-18.2 8.8-7.3 7-7.4 16.3-.3 24.8l2 2.4-1.3 2.2a9.3 9.3 0 00.4 10.4c1 1.4 2 2.5 2.3 2.5.2 0 .4-.9.5-2 .2-2.7 1.4-4.5 3.4-5.2 1.8-.7 3-.3 11.2 3 8.7 3.4 23 3.6 38.2.6a42.6 42.6 0 0120 .2c7.2 3 8.8 10.7 3.6 16.5-2.3 2.6-4.4 3.6-11.7 5.6a54.3 54.3 0 01-19.5 1.5c-10.8-.1-14.7.1-19 1-4.9 1-7.8 1.1-21.8.8l-16.3-.4 1.8 1.4a22 22 0 003.1 2.3c1.3.7 1.2.8-.6 1.5-1 .4-3.4.7-5.3.7h-3.3l-.4 2.8a10 10 0 000 4c.4 1 .2 1.2-.8.8-.7-.3-2.6-.8-4.3-1.1a26.7 26.7 0 01-5-1.6c-1.9-1-2.1-1-2.8.3-.6 1-6.2 5.2-7 5.2a26.7 26.7 0 00-2.2-7.5c-1-2.1-1.9-4.5-2.2-5.2-.3-1.1-.5-1.2-1-.3-.3.5-.7 2-1 3.2a15.5 15.5 0 01-1.8 4.6l-1.5 2.2-1-1.9c-1-2-2.6-4.2-3.2-4.2-.2 0-.5.6-.7 1.5-.5 1.6-4.4 6.3-5.4 6.3-.3 0-.6-1.3-.6-3 0-1.5-.3-2.9-.7-2.9-.4 0-.7.5-.7 1 0 1.2-3.3 5-4.5 5-.4 0-1.2.4-1.7 1-1.2 1.3-2.2 1.1-1.7-.4a9 9 0 00-.4-3.8l-1-3.2c-.2-.5-1.4-.3-4 .5-4 1.3-5.4 1-3.3-.6.8-.6 2-2.7 2.6-4.6.7-2 1.7-3.7 2.2-3.9.7-.2.7 0-.2 1.2a5.7 5.7 0 00-1.1 2.6c0 .5-.5 1.8-1 2.9-.6 1-1 2-.9 2.1s1.7-.5 3.5-1.3l3.2-1.6v1.4c0 .8.4 2.8.9 4.5l.9 3 2.2-1c2.2-1 4.3-4.6 4.3-7.5 0-1.4.8-1.2 1.2.3 0 .4.6 2.1 1 3.7l1 2.8 1.5-1.8c.9-1 1.9-3 2.3-4.3.8-2.4 2-3.5 2-1.7 0 1.2 3.4 5.8 4 5.4.4-.2 1-1.9 1.5-3.8 1-4 2.5-6.6 3.5-6 .4.2.5.6.3 1-.2.2.6 2.8 1.8 5.6a2557.7 2557.7 0 012.6 6.3c.4 1 .8 1 3.3-1.3 1.5-1.4 3-2.9 3.1-3.4.3-.8.6-.7 2 .2a25 25 0 009.5 2.8c.2-.2.4-2 .4-4l.1-3.7 2 .4c1 .3 3.3.3 5 0l3-.4-2.7-2c-1.5-1-3-2.3-3.4-2.9-.3-.6-1.7-1.2-3.2-1.3-4.1-.4-11.4-4.4-11.4-6.4 0-.4 1 .3 2.2 1.4 2.8 2.5 6.6 4 10 4h2.4l-1.5-2a11.9 11.9 0 01-2-5.2c-.2-3-.5-3.4-3.6-5.5a35.2 35.2 0 01-5-4.3l-1.7-1.9-.9 2.3c-.5 1.3-1 2.3-1.3 2.3-.2 0-1.2-.8-2-1.7a7 7 0 00-2-1.6c-.3 0-1 1.2-1.8 2.7l-1.4 2.7-1-1.5a23.8 23.8 0 00-3-3.4c-1.2-1-1.7-1.8-1.3-1.8.4 0 1.7 1 3 2.3l2.2 2.3 1-1.7a6 6 0 00.5-3.8c-.4-1.8-.3-1.9.3-.7a16 16 0 003 3l2.2 1.8 1.5-2.7c1.5-2.8 1.5-2.8 2.1-1.1 1 2.1 7.5 7.5 13 10.6 1 .5.6-1.1-1-5a12.7 12.7 0 01-.8-4c0-1.8-.5-2.6-2.8-4.4a10.9 10.9 0 01-5-8.4c-.3-1.7-.9-3.5-1.4-4.1-.6-1-.8-.4-.6 2.6.2 2.1-.1 4.7-.6 5.8l-.8 2-.6-1.7c-.4-.9-2-2.5-3.5-3.5s-2.6-2-2.4-2.2c.2-.2 1.8.7 3.5 2 2.7 2.1 3.2 2.3 3.6 1.4.4-1 0-5.6-.8-8.8-.4-1.6-.4-1.6 1.6.4 1.4 1.4 2.2 3.2 2.9 6.2.8 3.8 1.2 4.5 4.7 7.6 2.1 1.9 4 3.3 4.1 3.2.2-.2.4-5 .6-10.8.4-11.1 0-13.8-2.7-17.2l-1.4-1.8 2.2-2.3a16 16 0 004.7-8.8l.4-2.7-2.4 2.3c-2 1.9-3 2.3-5.3 2.3s-3.2-.4-4.7-2a20 20 0 00-8.3-4.8c-1.2-.4-1.6-.2-1.6.6 0 .6-.6 2.2-1.4 3.7l-1.4 2.6-3-3c-1.9-1.7-4-3.2-5.7-3.6-4.1-1-4.3-1-4.3 2.1 0 4.7-2 5.6-5.6 2.5-2.8-2.4-5-3-10.3-2.3l-4 .4.7 1.8c.6 1.5.5 2.2-.8 3.9-2.1 2.8-4.8 4-9 4-2 0-4.4.4-5.4.9s-3.6 1-5.7 1.2c-2 .2-4.3.6-5 .8-1 .4-1 0-.7-2.2.5-3.4-2-6-5.7-6-4.9 0-7.1 4.4-5.2 10.2a44.6 44.6 0 011 3.8 23 23 0 005.2 6.6c2.6 2.6 5 5.3 5.4 6a9 9 0 003 2.5l2.2 1.2-.3-2.4c-.3-2.6.2-3 1.6-1.1.5.6 1.8 1.7 2.8 2.3 1.7 1 2 1 2 .2 0-.6.3-1.9.7-2.9l.7-1.8 1.3 2.5c.7 1.4 3 4.5 5.1 7 4.1 4.7 6.7 10 5.4 11.2-.6.5-2 .5-5-.1-2.2-.4-5-.7-6.2-.5-2.3.3-2.5 0-1-1.8 1.5-2 1.2-2.3-1.8-2.3-3.5 0-12.2-1.7-15.6-3-3.2-1.3-4-1-5 2.1l-1.7 5.6-1 3 3.6-.3a37 37 0 005.5-1 6 6 0 012.2-.3c.2.1-.3 1.3-1 2.7l-1.4 2.4 2.2-.4c1.2-.3 3-.9 4-1.4 1.8-.8 2-.8 3.4 1.5 1.7 2.7 3 2.6 3.3-.3.3-3 1.3-2.6 3.2 1.4 1.8 3.8 3.6 5.2 4 3 .1-.8 1-2 2.1-2.8 2.2-1.5 3.8-1 4.7 1.3 1 2.5-1.2 5-7.4 8.8a43 43 0 00-21.7 31c-1.9 11.8 4 24 15.6 32.9 5.6 4.2 14.5 8.6 13.9 7-2.4-7.3-2.3-21 .1-23.3.4-.4.3 1-.3 3.1-2 7.9-1 14.1 4 28.7 4.4 13.2 3.8 18.9-2.6 22.6-2 1.2-3.3 1.4-8.8 1.3-6 0-6.7 0-8.6 1.6a15.7 15.7 0 00-4.3 8.6c0 1.3 1.4 1.1 4-.4z"/>
+      <path d="M460.5 415.5l2.5-1.6 1.7 1.6c2.2 2.1 4.9 2 7-.1 1-1 1.8-1.6 1.9-1.5l.9 1.6c.5.9 1.6 1.3 3.6 1.5 2.3.1 3 0 4-1.4l1-1.7 2.5 1.6c6.8 4.4 10.4-.2 7.3-9.3-1.5-4.6-.6-7.2 4.3-13 2.1-2.5 3.8-5.2 3.8-6 0-1.1-.4-1.3-3.2-1.2-2.6 0-3.4-.3-4.8-1.8-2.3-2.5-2.1-5.4.4-8.6l2-2.5-3.6-2.4a59.7 59.7 0 01-8-7.1 25.7 25.7 0 00-17.5-9l-4.7-.5v3.6c0 4.5 2.2 8.9 8 16.3 6.6 8.4 7 9.7 7.3 20.7l.3 9.3-2 1.8c-1.7 1.6-2.4 1.9-8 2.2-5.3.3-6.5.6-8 2a8.7 8.7 0 00-3.4 5.3c-.3 1.5-.2 1.8.9 1.8.7 0 2.4-.7 3.8-1.6zm-142.2-24a5.8 5.8 0 001-3c0-1 .6-1.4 3.2-1.8l3.1-.4-2-1.7c-2.5-2-2.8-3.5-.6-3.5s5.8-2.2 6.4-3.9c.3-.8 0-1.8-.4-2.3-1.2-1.4-3.5-1.2-3.9.4-.5 1.6-1.2 1.6-3 0-2.5-2.5-2.6-7.6 0-10.6 1.1-1.4 1.1-1.4-.4-2.9-1.6-1.6-2.8-4.6-2-5.4.2-.2 1.5 0 2.8.5 2 .6 2.7.6 3.5 0 2.3-1.9-.2-4.3-4-3.7-1.6.2-2.2 0-2.4-.8-.2-.6-1.5-1.4-3-1.8-2.7-.7-2.7-.7-2.7 1.2 0 2-1.2 2.4-3.4 1.1-1.8-1-3.5-.2-3.5 1.7 0 1.8 1.7 2.6 5 2.4 2.4-.1 2.5 1.7.2 4.3l-1.7 2 1.3 1.9c2 2.8 1.8 7.5-.3 9.9l-1.7 1.8-1.1-1.5c-1.6-2-3.7-1.9-4.3.3-.3 1.4 0 2 1.8 3.6 1.2 1 3 1.8 3.9 1.8 2.3 0 2.2 1.9-.2 3.7l-2 1.5 3 .4c1.6.3 3 .7 3 1 0 1.3 2 5.2 2.6 5.2.4 0 1.2-.7 1.8-1.5z"/>
+      <path d="M356.5 374.9c2.7-1 8.5-6 8.5-7.1 0-.4-1.6-2.2-3.6-4-4-3.6-8.5-9.9-9.7-13.5-.6-2-3.5-5.2-11.7-13.2l-10.9-10.5-3.1.8c-1.8.4-3.9.8-4.7.8-1.5 0-1.5 0 .5 1.6l2 1.6 3-1.6c2.7-1.6 2.8-1.6 3.1-.3.2.7-.2 2-1 2.9-.7.9-1.1 2-1 2.3.3.3-.4 1-1.5 1.6-2 1-3.5 4.3-1.9 4.3 1.5 0 4.7-4 4.3-5.3-.2-.7 0-1.4.2-1.6 1.3-.7 1.2 2.4 0 4-.8.8-1.2 1.8-1 2.2.2.3-.5 1-1.6 1.6-2 1-3.5 4.3-1.9 4.3s4.7-3.8 4.4-5.2c-.2-.7-.2-1.5.1-1.7.9-.4 1.3 2 .6 3.2a2.3 2.3 0 000 2.2c.7 1.3 0 3.7-1.3 4.5-.5.3-.2 1 1.2 2 2 1.4 2 1.6 2 8 0 5.4.2 6.8 1.2 7.7 1 1 1.2 1 1.2 0s2-2.4 3.5-2.4c.5 0 3.4 2.5 6.5 5.5s6.4 5.7 7.3 5.8l2.2.4c.3 0 1.7-.3 3.1-1zm-33.3-26.1c0-1.7-3.6-3.6-7.9-4-3.5-.5-3.5-.4-3.5 1.3 0 1.4.5 2 3 3 3.8 1.7 8.4 1.5 8.4-.3z"/>
+      <path d="M327.1 348.6c1.8-1.6 2.6-3.4 1.5-3.4-1.2 0-4.4 2.8-4.4 4 0 1.6.6 1.5 3-.6zm-3.7-5.1c.1-1-.5-1.6-2.3-2.5-4-1.7-8.6-2.6-9.7-1.7-2.1 1.7-.7 3.9 2.6 4.3 1.4.1 3.2.5 4.1.9 2.6 1 5 .5 5.3-1zm0-5.3c.2-1.3-.7-1.8-8-4.4-5.5-2-7.9-1-6.1 2.3.6 1.1 1.6 1.6 3.9 2 1.7.2 4 .7 5.1 1.1 3 1 4.8.6 5-1zm3.6-4.9c1.1-1.1 2-2.4 2-3 0-1.5-4.3 1.3-4.9 3.3-.6 2.3.5 2.2 3-.3zm-3.6-.3c.2-1.6-2.4-3-7.6-4.1-3.9-.9-5.6-.4-5.3 1.4.2 1 1.5 1.7 5 2.8 5.9 1.8 7.6 1.8 7.9-.1zm5-7.4c6.8-3 7.3-10.5 1-12.5-2.6-.8-4.2-.3-5.2 1.4-.8 1.4-.3 3.8.7 3.8.4 0 .7.5.7 1 0 2.7-10.2 3.8-14.4 1.7-1.5-.7-2-2.7-.9-2.7 1 0 1.6-2 1.1-3.3-.6-2-2.6-2.6-5.3-1.8-6.3 1.6-6.1 9 .3 12a33.6 33.6 0 0022 .4z"/>
+      <path d="M324.3 319.8c.4-.4.2-1-.4-1.4-1.4-1.1-1.3-2.8.2-4.7 1.2-1.4 1.3-3.6 1.7-25.1.7-37.1 3.5-65 7.1-71.8 1.5-2.6 1.3-2.6-2.5 0a36 36 0 00-11.7 13.6c-6.2 11.5-8.3 27-8.3 60.2 0 18.8.1 21.3 1.2 23 1 1.8 1 2.4.4 4.2-.5 1.1-.7 2.3-.5 2.5 1.4 1.3 11.4 1 12.8-.5zm56.1-35.4c.3-.3-.2-2-1-3.6-1.2-2.6-1.7-3-3.4-3a65 65 0 01-23-6.4c-5.1-2.3-7-2.8-7.5-2.2-1.6 1.5 1 5 5 6.9a64 64 0 0018.3 3.7c2.7 0 2.8 0 1.2 2.3l-1 1.6h3l5 .6c3 .7 3 .7 3.4.1z"/>
+      <path fill="#000" d="M412 301.1c0-1-2.9-3.5-5.7-5.2-2.3-1.3-2.7-1.4-2.7-.3 0 1.6-1.4 5.7-2 5.7-.3 0-.8-.8-1-1.7-.3-1-1.4-3-2.5-4.3l-2-2.5-1.4 2.3c-1.4 2.2-3.9 4.3-5 4.3-.2 0-.3-1.2 0-2.5.1-1.6 0-2.8-.5-3-.4-.3-.8-.2-.8.2 0 .8-3.4 4.6-4 4.6-.4 0-.8-1-1-2.4l-.8-4.8c-.2-1.2.3-.4 1 2l1.6 4.1 1.6-2.5a11 11 0 001.6-3.4c0-.5.3-.7.7-.5.4.2.9 1.9 1.1 3.7l.5 3.4 1.8-2a28.8 28.8 0 002.6-3.2c.7-1.2.8-1.2 2.3 0 .8.8 2.1 2.5 2.9 3.9s1.5 2.4 1.6 2.3l.6-3.2.4-3c.1-.5 5.4 3 7.4 4.7 1.2 1.1 2.4 1.9 2.6 1.7.2-.2.4-1.8.4-3.7 0-2.8-.3-3.6-2-5.1-2-1.8-2-1.8-2.8-.5-1 1.7-2.1 1.7-2.1 0 0-1.2-3.8-5.9-4.7-5.9-.3 0-1.1 1-1.8 2.3s-1.5 2.3-1.7 2.3c-1 0-6.3-6-6.3-7 0-.8.4-.6 1.3.8a21 21 0 003.1 3.6c2 1.8 2.8 1.4 3.6-2.1.3-1 .7-1.8 1-1.8.8 0 5.4 4.9 6 6.5l.7 1.6.5-1.8c.6-2.2 1.3-2.2 2.3-.2.4.8 2.4 2.6 4.4 3.8l3.7 2.4.7-2.4c.4-1.3 1-2 1.2-1.6.4.5-.6 4.5-1.3 5.3 0 .1-1.3-.6-2.6-1.5l-2.5-1.8v3.2c0 1.7-.2 3.8-.4 4.6-.5 1.6-1.7 2-1.7.6zm-18.5-25.4c-4.4-3.6-5-4.4-5-6.2l.1-1.8.3 1.7c.2 1 1.4 2.6 2.8 3.8l2.6 2 1.5-1.8c.9-1 1.6-2.2 1.6-2.6 0-1.2.2-1.1 3.2 1.5 2.6 2.3 2.7 2.3 3 .8.3-.8.2-2.4 0-3.5-1-3-.8-3.4.5-1.6l2.4 2.8c1 1.1 1.1 1.1 1.5-.3.3-.9.5-2.4.5-3.4v-1.9l2.3 2.7c2.3 2.6 2.5 2.7 3.1 1.4.5-.7.8-2.4.8-3.7 0-1.8.2-2.2.6-1.6.8 1.2.3 4.2-1.1 6.8l-1 2-1.3-2.1c-1.7-2.6-2.3-2.6-3.3.2-1 2.7-1.7 2.9-2.7.8-.6-1.3-.8-1.1-1.2 1.7l-.5 3-3-2.3-3-2.3-1.5 1.5c-.7.9-1.3 2-1.3 2.4 0 1-.8 1-1.9 0zm39-13.6c-1.5-1.4-2.6-2.8-2.4-3 .3-.3.5-.4.6-.2a67 67 0 003 3c3.4 3.6 2.7 3.7-1.1.2zm-52-5.4c-1.4-2-1.3-3.2.5-5.4 1.2-1.5 1.8-1.7 4-1.4 1.5.1 4.6 1.4 6.9 2.8a21.2 21.2 0 0011 3l-1.7-2.8c-2.2-3.3-2.2-3.7.4-1.7 2.6 2.1 5.7 2.7 12.7 2.5l3.4-.1-2-2c-2.7-2.7-1.9-3 1.2-.3 2.8 2.5 2.7 2.7-3.4 3.3a23 23 0 01-7.6-.5c-3.4-1-3.6-.9-2.9.2.4.7 1 1.2 1.3 1.2.4 0 .7.4.7.8 0 1.3-7.4.1-11-1.6-8-4.1-9-4.5-11-3.9a4.3 4.3 0 00-2.4 2.3c-1.3 3.3 3.4 5.9 5.3 3 .6-.9.5-1.4-.5-2.5-1.4-1.4-1.2-1.6.6-1 1.3.5 1.4 3.6.2 4.8-1.3 1.3-4.5 1-5.7-.7z"/>
+      <path fill="#000" d="M412.4 248.6c-1-1-.2-1.2 4.3-1.3 5.6-.1 9-1 13-3.6 3.2-2 4.1-1.6 1 .5-2.7 2-7 3.4-11.3 3.8l-5.1.7c-.8.2-1.7.1-2-.1z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lr.svg
new file mode 100644
index 0000000..00e3629
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lr.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lr" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="lr-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#lr-a)" transform="scale(.9375)">
+    <path fill="#fff" d="M0 0h767.9v512H0z"/>
+    <path fill="#006" d="M0 0h232.7v232.8H0z"/>
+    <path fill="#c00" d="M0 464.9h767.9V512H0z"/>
+    <path fill="#c00" d="M0 465.4h767.9V512H0zm0-92.9h767.9v46.2H0zm0-93.2h766V326H0zM232.7 0h535.1v46.5H232.7zm0 186h535.1v46.8H232.7zm0-92.7h535.1v46.5H232.7z"/>
+    <path fill="#fff" d="M166.3 177.5l-50.7-31-50.4 31.3 18.7-50.9-50.3-31.4 62.3-.4 19.3-50.7L135 95h62.3l-50.1 31.7 19.1 50.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ls.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ls.svg
new file mode 100644
index 0000000..5dd5b0c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ls.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ls" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#009543" d="M0 336h640v144H0z"/>
+  <path fill="#00209f" d="M0 0h640v144H0z"/>
+  <path stroke="#000" stroke-width="1.6" d="M319.6 153c-2.7 0-5.4 3-5.4 3l.3 32.4-10.3 10.7h8.3v18.5l-49 66-7.2-2.6-12.7 27s31.3 19.6 76.7 19c49.8-.5 76.9-19.9 76.9-19.9l-13-26.6-6.5 2.8-49.6-65.6v-19.1h8.2L325.1 188v-32.2s-2.7-3-5.5-2.9z"/>
+  <path fill="none" stroke="#000" stroke-width="8" d="M336.7 230.4h-33.9s-12.2-25.9-10.3-44c2-18.4 12.6-27.1 26.6-27.3 16.6-.1 25.2 8.1 27.8 26.6 2.6 18.3-10.2 44.7-10.2 44.7z"/>
+  <path fill="#fff" d="M260.5 292.1c-.6.7-4.7 8.9-4.7 8.9l7-1.5-2.3-7.4zm4 10.5l-7.4 2.4 8.9 3.5-1.5-5.9zm3.3-10.3l3.7 10.9 9-2.6-2.3-5.2-10.4-3.1zm5.8 14.8l1.2 4.4 12 3-4.8-10.2-8.4 2.8zm13.2-9.3l4.3 10.2 9-3.5-3-4.5-10.3-2.2zm6 13.9l1.4 3.8 14 2-5.9-9.2-9.6 3.4zm13.4-11l5.2 9.1 13-4.8-1.4-3.5-16.8-.7zm7.6 12.4l2.7 4.8 16.2-.5-6-9-13 4.7zm17.1-12l4.4 7.6 10.4-5-2.8-4-12 1.4zm17 5.8l-10.3 5.1 2.7 4.5 13.8-2.2-6.2-7.4zm3.3-8l5.3 6.7 8.7-6.9-3-3-11 3.2zm15.9 3.5l-8.3 6.3 2.2 3.9 11.4-3-5.3-7.2zm11.4-13l2 2.9-5.7 8.5-5.9-7.6 9.6-3.8zm3.9 7.3l3.5 7-7 2.4-.6-3.3 4-6z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lt.svg
new file mode 100644
index 0000000..36e30e9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lt.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lt" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt" transform="scale(.64143 .96773)">
+    <rect width="1063" height="708.7" fill="#006a44" rx="0" ry="0" transform="scale(.93865 .69686)"/>
+    <rect width="1063" height="236.2" y="475.6" fill="#c1272d" rx="0" ry="0" transform="scale(.93865 .69686)"/>
+    <path fill="#fdb913" d="M0 0h997.8v164.6H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lu.svg
new file mode 100644
index 0000000..bf6ca16
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lu.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lu" viewBox="0 0 640 480">
+  <path fill="#00a1de" d="M0 240h640v240H0z"/>
+  <path fill="#ed2939" d="M0 0h640v240H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lv.svg
new file mode 100644
index 0000000..efa5a32
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/lv.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-lv" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#981e32" d="M0 0h640v192H0zm0 288h640v192H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ly.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ly.svg
new file mode 100644
index 0000000..fcc2dc9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ly.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ly" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ly-a">
+      <path d="M166.7-20h666.6v500H166.7z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#ly-a)" transform="matrix(.96 0 0 .96 -160 19.2)">
+    <path fill="#239e46" d="M0-20h1000v500H0z"/>
+    <path d="M0-20h1000v375H0z"/>
+    <path fill="#e70013" d="M0-20h1000v125H0z"/>
+    <path fill="#fff" d="M544.2 185.8a54.3 54.3 0 100 88.4 62.5 62.5 0 110-88.4M530.4 230l84.1-27.3-52 71.5v-88.4l52 71.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ma.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ma.svg
new file mode 100644
index 0000000..8de4077
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ma.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ma" viewBox="0 0 640 480">
+  <path fill="#c1272d" d="M640 0H0v480h640z"/>
+  <path fill="none" stroke="#006233" stroke-width="11.7" d="M320 179.4L284.4 289l93.2-67.6H262.4l93.2 67.6z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mc.svg
new file mode 100644
index 0000000..45133dc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mc.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mc" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#f31830" d="M0 0h640v240H0z"/>
+    <path fill="#fff" d="M0 240h640v240H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/md.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/md.svg
new file mode 100644
index 0000000..a86be90
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/md.svg
@@ -0,0 +1,70 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-md" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#00319c" d="M0 0h213.3v480H0z"/>
+    <path fill="#ffde00" d="M213.3 0h213.4v480H213.3z"/>
+    <path fill="#de2110" d="M426.7 0H640v480H426.7z"/>
+  </g>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M360.4 320.4l24.2 35c1.4 2 2.7 3.9.7 5.2-2 1.3-1.4 6.4 0 8.4 2.7 3.9 6 4.5 8 3.2l18.4-11.6c2-1.2 2.7-4.5 0-8.4-1.5-2-6-4.5-8-3.2-2.1 1.3-3.5-.7-4.8-2.6l-24.3-35"/>
+  <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M177.2 696.3c0 24.4-9.6 44.3-21.3 44.3-11.7 0-21.3-19.9-21.3-44.3S144.3 652 156 652s21.3 19.8 21.3 44.3z" transform="matrix(.52728 -.42386 .44358 .50386 -32.4 20)"/>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M262 306.1l-21.5 36.7c-1.2 2-2.4 4-4.5 3-2.1-1.2-6.6 1.7-7.8 3.8-2.4 4-1.5 7.2.7 8.4l19.2 10.2c2 1.1 5.4.2 7.8-3.8 1.1-2.2 1.4-7.3-.7-8.4-2.1-1.1-1-3.2.3-5.2l21.4-36.7"/>
+  <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="1.7" d="M331.2 280.6h-19.6c-.6.6-6.2 35.6-12.2 49-7.3 16.3-29.2 30.7-29.2 30.7s13.1 4 17 6.6c1-.3 22-4.7 24.4-30.3 2.4 25.6-14.6 37.3-14.6 37.3s24.4 7 24.4 23.3c0-16.3 24.4-23.3 24.4-23.3s-12.2-11.7-14.7-37.3c5 25.6 23.5 30 24.5 30.3 3.9-2.6 17-6.6 17-6.6s-21.9-14.4-29.2-30.7c-6-13.4-11.6-48.4-12.2-49zm-83-116.7l36.6 11.7c12.1 0 24.4-11.7 24.4-23.4.4-26-9.8-35-12.2-35l4.8-4.6-7.3-7s2.5-12.1 26.9-11.7c24.4.5 24.4 11.7 24.4 23.3s-12.2 11.7-12.2 35c0 11.7 12.2 23.4 24.4 23.4l36.6-11.7v116.7H248.1V163.9z"/>
+  <g fill="none" stroke="#000">
+    <path stroke-width=".5" d="M302.2 292.2l14.6 15 14.7-15 14.6 15 29.3-15 14.3 15.8 15-15.8 21.6 15.8 22.3-15.8 14.6 15 14.7-15" transform="matrix(.16672 0 0 .46773 253.9 31.9)"/>
+    <path stroke-width=".2" d="M432.3 435.8l-7.1 39m10.6-39v39m7.1-39v39m7.1-39l3.5 39m3.6-39l3.5 39" transform="matrix(.68905 0 0 .65843 16.2 -144)"/>
+  </g>
+  <g stroke="#000" stroke-width="2.5">
+    <path fill="#a77b3b" fill-rule="evenodd" d="M318.9 361.4c35.4 17.7 35.4 53.2 35.4 70.9-1.2 16.1 0 354.3 0 354.3s-2.3-20-17.7-35.4L319 733.5l-17.7-17.7c-13-11.8-17.7-35.5-17.7-53.2v-248s0-17.8 35.4-53.2z" transform="matrix(-.68905 0 0 .65843 443.4 -144)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.68905 0 0 .65843 443.4 -237.3)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.68905 0 0 -.65843 443.4 530.2)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(-.68905 0 0 .65843 443.4 -190.7)"/>
+    <path fill="none" d="M301.4 557l-.2 158.8" transform="matrix(-.68905 0 0 1.24911 443.4 -566.8)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(-.68905 0 0 1.12111 431.4 -464)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(-.68905 0 0 1.2559 419.2 -548.3)"/>
+  </g>
+  <g stroke="#000" stroke-width="2.5">
+    <path fill="#a77b3b" fill-rule="evenodd" d="M318.9 361.4c35.4 17.7 35.4 53.2 35.4 70.9-1.2 16.1 0 354.3 0 354.3s-2.3-20-17.7-35.4L319 733.5l-17.7-17.7c-13-11.8-17.7-35.5-17.7-53.2v-248s0-17.8 35.4-53.2z" transform="matrix(.68905 0 0 .65843 199.3 -144)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.68905 0 0 .65843 199.3 -237.3)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.68905 0 0 -.65843 199.3 530.2)"/>
+    <path fill="none" d="M283.5 574c.4 0 17.7-17.7 17.7-17.7l17.7 17.7 17.7-17.7 17.7 17.7" transform="matrix(.68905 0 0 .65843 199.3 -190.7)"/>
+    <path fill="none" d="M301.4 557l-.2 158.8" transform="matrix(.68905 0 0 1.24911 199.3 -566.8)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(.68905 0 0 1.12111 211.4 -464)"/>
+    <path fill="none" d="M301.4 539.3l-.2 176.5" transform="matrix(.68905 0 0 1.2559 223.6 -548.3)"/>
+  </g>
+  <path fill="#a77b3b" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M177.2 696.3c0 24.4-9.6 44.3-21.3 44.3-11.7 0-21.3-19.9-21.3-44.3S144.3 652 156 652s21.3 19.8 21.3 44.3z" transform="matrix(.63605 .25323 -.26502 .60778 361.1 -165.2)"/>
+  <path fill="red" fill-rule="evenodd" d="M248.1 175.6h146.5v70H248.1z"/>
+  <path fill="#564dff" fill-rule="evenodd" d="M248.1 245.6h146.5v35c0 23.3-36.6 23.3-73.2 46.6C284.7 304 248 304 248 280.6v-35z"/>
+  <path fill="none" stroke="#ff0" stroke-width="2" d="M336.6 485.4h212.6V645c0 35.4-53.1 35.4-106.3 70.9-53.1-35.5-106.3-35.5-106.3-71V485.5z" transform="matrix(.68905 0 0 .65843 16.2 -144)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M385.6 129.9S335 185.4 335 238.5c0 53.1 53.1 70.9 53.1 70.9s-17.7 0-17.7 70.8c0 35.5 53.1 17.8 53.1 35.5s-.7 60.5 0 88.6c0 17.7-35.4 0-35.4 17.7 0 8.8 26.6 53.1 53.2 53.1s53.1-44.3 53.1-53.1c0-17.7-35.4 0-35.4-17.7v-88.6c0-17.7 53.1 0 53.1-35.5 0-70.8-17.7-70.8-17.7-70.8s53.2-17.7 53.2-70.9-50.7-108.6-50.7-108.6 28.5 73.2 28.5 108.6c0 17.7-13.3 53.2-48.7 53.2 0 0-9-17.8-17.7 0 0 0-10.2-17.8-17.7 0-2.6 6-7.2-17.8-17.8 0-4.4 4.7-8-17.8-17.7 0-17.7 0-53.1-17.8-53.1-53.2s32.9-108.6 32.9-108.6z" transform="matrix(.48234 0 0 .30917 108.5 140.1)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M382.7 248c-3.6 3.6 4.6 61.3 7 63.8 3.6 3.5 24.9 3.5 28.4 0 2.5-2.5 0-56.7-3.5-60.2-3.6-3.6-29.4-6-32-3.6z" transform="matrix(.48234 0 0 .30917 110.4 201.6)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M382.7 248c-3.6 3.6 4.6 61.3 7 63.8 3.6 3.5 24.9 3.5 28.4 0 2.5-2.5 0-56.7-3.5-60.2-3.6-3.6-29.4-6-32-3.6z" transform="matrix(-.48234 0 0 .30917 532.4 201.6)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M414.6 228.5a16 16 0 11-32 0 16 16 0 0132 0z" transform="matrix(.5544 0 0 .38542 82.7 183.7)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="2.5" d="M414.6 228.5a16 16 0 11-32 0 16 16 0 0132 0z" transform="matrix(.55441 0 0 .38543 118 183.7)"/>
+  <path fill-rule="evenodd" d="M336.8 307.5c0 1.5-2 2.7-4.3 2.7-2.4 0-4.3-1.2-4.3-2.7s2-2.7 4.3-2.7 4.3 1.2 4.3 2.7zm-22.3 0c0 1.5-1.9 2.7-4.2 2.7-2.4 0-4.3-1.2-4.3-2.7s1.9-2.7 4.3-2.7c2.3 0 4.2 1.2 4.2 2.7z"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M439.4 550l-7.8-10.3-12.8 1.7 1.8-12.8-10.3-7.7 10.3-7.8-1.8-12.8 12.8 1.8 7.8-10.3 7.8 10.3 12.7-1.8-1.7 12.8 10.2 7.8-10.2 7.8 1.7 12.7-12.8-1.7z" transform="matrix(.67225 0 0 .64237 26 -133.3)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M496 591.7l21.3 10.7 21.3-10.7-21.3-10.6-21.2 10.6z" transform="matrix(.68905 0 0 .65843 16.2 -144)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M496 591.7l21.3 10.7 21.3-10.7-21.3-10.6-21.2 10.6z" transform="matrix(.68905 0 0 .65843 -88.8 -144)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M535 659c-3.5-7-14.1-10.6-21.2-10.6s-14.2 0-21.3 10.7c0-14.2 10.5-21.3 21.3-21.3a22.7 22.7 0 0121.2 21.3z" transform="matrix(.59753 -.3279 .34316 .57097 -165.2 86.5)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.68905 0 0 .65843 13.7 -155.7)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.68905 0 0 .65843 8.8 -139.4)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.68905 0 0 .65843 6.4 -148.7)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.68905 0 0 .65843 18.6 -139.4)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.68905 0 0 .65843 21 -148.7)"/>
+  <path fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M386.2 652a7 7 0 11-14.1 0 7 7 0 0114.1 0z" transform="matrix(.68905 0 0 .65843 13.7 -146.4)"/>
+  <g fill-rule="evenodd">
+    <path fill="#da4500" d="M297.8 120.4c-12.4 0-14 2-19.6 3.9 0-5.4 13.8-11.7 26-11.7 0 3.9-3.2 7.8-6.4 7.8z"/>
+    <path fill="#cac9c7" d="M316.5 108c0 2.5-2.2 4.6-4.9 4.6s-4.9-2.1-4.9-4.7 2.2-4.6 4.9-4.6 4.9 2 4.9 4.6z"/>
+    <path fill="#ff0" stroke="#000" stroke-width="1.1" d="M361.4 357.9v10.6h17.7v53.1h10.7v-53.1h17.7v-10.6h-17.7v-14.2H379v14.2h-17.7z" transform="matrix(.68905 0 0 .65843 16.2 -144)"/>
+    <path fill="#da4500" d="M304.3 112.6a78.5 78.5 0 00-29.3 3.9c0-7.2 8.4-15.6 22.8-15.6 3.2 0 6.5 7.8 6.5 11.7z"/>
+  </g>
+  <g fill-rule="evenodd">
+    <path fill="#008500" stroke="#000" stroke-width=".7" d="M67.3 613c-14.2-14.2-16.6-21.4 3.6-10.1l283.7 247.5-3.4 7L67.4 613z" transform="matrix(.38821 .29653 -.14073 .23692 237.4 71.3)"/>
+    <path fill="#008f00" d="M228.4 330.4c.8-10.6-18.6-22-19.4-21.3-.7.8 1.2 7 4.9 10.1-7-3.6-14.4-5.8-14.6-4.3-.6 2.2 11 7.2 12 9.2 0 1.4-8.6 1.2-8.4 2.6.2 1.4 24.3 13.6 25.5 3.7zM209 299.6c.8-10.6-18.6-22-19.3-21.3-.8.7 1.1 6.9 4.8 10.1-7-3.6-14.4-5.9-14.6-4.3-.5 2.1 11 7.2 12 9.2.1 1.4-8.5 1.2-8.4 2.6.2 1.4 24.3 13.5 25.5 3.7zm-14.8-28c.8-10.6-18.6-22-19.4-21.3-.7.7 1.2 6.9 4.9 10.1-7-3.6-14.4-5.9-14.6-4.3-.5 2.1 11 7.2 12 9.2 0 1.4-8.5 1.2-8.4 2.6.2 1.4 24.3 13.6 25.5 3.7zm-14.6-30.4c.7-10.5-18.6-22-19.4-21.3-.8.8 1.2 7 4.8 10.2-7-3.7-14.4-5.9-14.5-4.3-.6 2.1 11 7.2 11.9 9.1.1 1.4-8.5 1.3-8.3 2.7.1 1.4 24.2 13.5 25.5 3.6z"/>
+    <path fill="#008f00" d="M184.6 239.9c9.4-5.7 7.5-27.4 6.5-27.6-1.1-.1-5.2 5-5.7 9.8-1.1-7.6-3.6-14.6-5-13.8-2.1.8.4 12.7-.7 14.6-1 1-6-5.8-7-4.8-1.2 1 2.8 26.7 12 21.8zm13.6 26.6c10.8-2.4 16.7-23.4 15.7-23.9s-6.6 3-8.7 7.4c1.6-7.5 1.7-14.9 0-14.6-2.3.1-4 12.1-5.7 13.5-1.3.6-3.7-7.3-5-6.8-1.4.6-6.6 26.1 3.7 24.4zm16.2 27.2c9.9-4.8 10-26.6 9-26.8-1-.3-5.5 4.5-6.5 9.2-.4-7.7-2.2-14.8-3.7-14.1-2.2.6-.8 12.6-2 14.4-1.2.9-5.5-6.3-6.7-5.4-1.2.8.4 26.8 10 22.7zm17.6 35.6c10.3-3.9 12.8-25.5 11.8-25.9-1-.3-6 4-7.5 8.6.4-7.7-.6-15-2.2-14.4-2.3.4-2.1 12.5-3.5 14.2-1.3.7-4.8-6.8-6-6-1.3.6-2.5 26.7 7.4 23.5z"/>
+  </g>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M209 776c0 7.8-10.2 14.2-23 14.2s-23-6.4-23-14.2 10.3-14.2 23-14.2 23 6.4 23 14.2z" transform="matrix(.60164 .32097 -.3359 .5749 389.6 -146.8)"/>
+  <g fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-width=".5">
+    <path d="M156 414.6v-7.1h7v-7.1h7v7h7.2v7.2H170v17.7h-7v-17.7h-7zm7 60.2h7v205.5h-7z" transform="matrix(.49887 .1571 -.1826 .4713 451.4 -3.7)"/>
+    <path d="M159.4 676.8h14.2v56.7h-14.2zM156 439.4h21.3c14.1 0-3.6 39-3.6 39h-14.1s-17.8-39-3.6-39zm17.6-5.4c0 3-3.1 5.4-7 5.4s-7.1-2.4-7.1-5.3 3.1-5.4 7-5.4 7.1 2.4 7.1 5.4z" transform="matrix(.49887 .1571 -.1826 .4713 451.4 -3.7)"/>
+  </g>
+  <path fill="#ff1900" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M209 776c0 7.8-10.2 14.2-23 14.2s-23-6.4-23-14.2 10.3-14.2 23-14.2 23 6.4 23 14.2z" transform="matrix(.57449 -.36357 .38048 .54895 -2.3 4.2)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/me.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/me.svg
new file mode 100644
index 0000000..613083f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/me.svg
@@ -0,0 +1,116 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-me" viewBox="0 0 640 480">
+  <path fill="#d3ae3b" d="M0 0h640v480H0z"/>
+  <path fill="#c40308" d="M24 24h592v432H24z"/>
+  <path fill="#b96b29" d="M424.5 236.1a58 58 0 0019.4-9.2c7-5.6 8.3-10.1 8.8-12.5.6-2.4.8-4.3-1-3-1.8 1.4-7.1 5.6-10.7 7.6-3.7 2-7 3-9 3.6-2 .5-3.6.9-1.7.1 2-.7 8.1-2.9 13-7.7 4.7-4.8 8.5-12 8.6-16.4 0-4.4-.3-4-1.7-3-1.4 1.1-6.4 7.3-9.3 9.7a90 90 0 01-9.7 6.9c-2.3 1.3-5.5 2.8-1-.3 4.5-3 13-10.3 16.5-19.7a35.4 35.4 0 002.7-15.8c0-1-.8-2.8-1.6-1.1-.8 1.7-6.5 13-11 18-4.6 4.8-3.5 3.9-4.6 4.7-1 .8-2.7 2.2-.5-.6a51.2 51.2 0 0012.2-31.7c0-3.6-1.5-8.6-2.2-10.1-.7-1.5-1.4-2.6-1.7-.9a191 191 0 01-5.8 18.4 75 75 0 01-6.7 12.8c-.8 1.1-2.8 3.6-.6-.5a77.4 77.4 0 007-27.6 44 44 0 00-2.6-20.9c-1.6-3.1-3-4.2-3-4.2s.3 7.8-2 19-5.7 17-5.7 17-1.5 1.7-.5-1a62.4 62.4 0 001.4-34.5c-2.3-7.5-6.2-11.3-6.2-11.3-1 10.7-.9 24.5-4.8 35.7-.7-.7-1.7-1.9-2.1.6a63.1 63.1 0 01-7 19.4c-4.8 8.8-6.8 10-6.8 10l-1.5-3.4c-.6-1.2-1-1.8-1.8-.2s-3.5 7.8-9.4 14.6-9.2 10.2-9 15.3c.1 5 2.8 7.7 6.4 10 3.6 2.3 4.2 3.6 3.7 6.4-.6 2.8-3.8 3.7-6.6 3.8-2.7.1-6.2-.1-7.5.6-1.2.7-1.3 2.5-2.6 3.7-1.2 1.3-1.8 2-3 2.2l-1 .1c-.2-13.5 5-19.5 5-19.5l-14.6-17.1a50.8 50.8 0 01-2.2 1 4 4 0 00-.4-.6 11 11 0 01-2.6-7.8c.7 0 2.2.6 3.5.3 1.3-.2.3-1.6 0-2.8-.5-1.3-.9-5.7-.6-7.3l.4-2.3s2.1 2.3 3.4 2.3c1.3 0 1.2-1.3 1.4-2.8.3-2.2 1.3-5 3-6.5 0 0 2.4 1.6 5 1.6s6.2-.7 9-3.5c3-2.7 2.9-3.3 2.9-3.3s5.3 1.8 9.3 2c4 .2 8.3-.4 10.4-4.7 2-4.2-.6-8.2-1-8.8-.6-.7-1.9-1.2-1.9 0s.1 4.4-2.4 6c-2.4 1.6-4.3 1.5-6.6.8a20.5 20.5 0 00-13.1-.4 17 17 0 016.1-4.2c3-.9 4.8.4 5.8 1.6 1 1.2 1.9 3 2.7.3.8-2.8.3-6-1-8a7.6 7.6 0 00-7.2-3c-3 .2-4 .7-4 .7s-1.5-4.3-5.3-5a21 21 0 00-14 3s-3.1.7-6.4-.2a21 21 0 01-5.4-2.8l1.1-3.5 1.9-.6c1-.4.7-.7.9-1.5.1-.8-1.8-2.2-1.8-2.2s-.3-2.5 2.9-4.1l2.8-1.4s1.9.3 2.6-.2c.8-.6.8-1 .8-1s1.4-.4 2-1.2c.4-.9.5-2.1.2-3.1-.4-1-.9-1.2-.4-1.7s1-1.6 1-2.4l.1-1s1.1-.4 1-2c0-1.7-.9-2.3-1.4-2.5l-.9-.1s0-1-.9-2.3c-.8-1.4-1.4-2-1.4-2s.6-.4.3-1.5-1.1-1.7-1.9-2c-.7-.2-1.5 0-1.5 0l-3.7-2.1-1.5-.8s0-1-.4-1.6c-.5-.5-1.5-.8-2-.8s-1 .3-1 .3l-6-1.4c-1.8-.2-1.9-.4-1.9-.4s-3.8-1.8-5.2-2l-2-.5s1.6-1.8 1.7-4a6 6 0 00-2.8-5l-1.6-.8V93l2.8.3.2-4.6-2.7.3.4-2.7h-5.8l.4 2.7-2.8-.2.3 4.5 3-.4-.4 1.7s-1 .2-2 .9a5.4 5.4 0 00-2.6 4.7c0 2.2 1.3 4 1.3 4l-1.8.4c-1.5.3-5.3 2.1-5.3 2.1s0 .2-1.8.4l-6 1.4s-.6-.3-1-.3-1.6.3-2 .8c-.4.6-.5 1.6-.5 1.6l-1.4.8-3.7 2.1s-.8-.2-1.6 0c-.7.3-1.5 1-1.8 2-.3 1.1.3 1.6.3 1.6s-.6.5-1.5 1.9a6 6 0 00-.9 2.3l-.8.1c-.6.2-1.5.8-1.5 2.5 0 1.6 1 2 1 2v1c.1.8.6 2 1.1 2.4.5.5 0 .7-.3 1.7-.4 1-.3 2.2.2 3 .5 1 2 1.4 2 1.4s0 .3.7.9 2.6.2 2.6.2l2.9 1.4c3.2 1.6 2.9 4 2.9 4s-2 1.5-1.8 2.3c.1.8 0 1.1.9 1.5l1.9.6 1 3.5a21 21 0 01-5.4 2.8c-3.2.9-6.4.2-6.4.2a21 21 0 00-13.9-3c-3.8.7-5.4 5-5.4 5s-1-.4-4-.8c-3-.3-5.8 1-7.1 3-1.4 2.1-1.8 5.3-1 8.1s1.6.9 2.6-.3 2.8-2.5 5.8-1.6c3 1 6 4 6.2 4.2 0 0-.5-.3-3.9-.8-3.7-.5-6.9.4-9.2 1.2-2.3.7-4.2.8-6.7-.8-2.4-1.6-2.4-4.8-2.4-6 0-1.2-1.3-.7-1.8 0-.4.6-3 4.6-1 8.8 2 4.3 6.3 5 10.4 4.7 4-.2 9.3-2 9.3-2s0 .6 2.8 3.3a13 13 0 009 3.5c2.7 0 5-1.6 5-1.6 1.7 1.5 2.7 4.3 3 6.5.2 1.5.1 2.8 1.4 2.8 1.4 0 3.5-2.3 3.5-2.3l.4 2.3a26 26 0 01-.6 7.3c-.4 1.2-1.4 2.6 0 2.8 1.3.3 2.7-.2 3.5-.3 0 3.2-.7 5.3-2.6 7.8a4.4 4.4 0 00-.4.6 53.9 53.9 0 01-2.2-1l-14.6 17.1s5.3 6 5 19.6a20.6 20.6 0 01-1-.2c-1.2-.2-1.8-1-3-2.2-1.3-1.2-1.4-3-2.6-3.7-1.3-.8-4.8-.5-7.5-.6-2.8 0-6-1-6.6-3.8-.5-2.8.1-4 3.7-6.4 3.6-2.3 6.3-5 6.4-10 .2-5.1-3-8.5-9-15.3-5.9-6.8-8.6-13-9.4-14.6-.8-1.6-1.2-1-1.8.2l-1.5 3.3s-2-1.2-6.8-10a63 63 0 01-7-19.3c-.4-2.5-1.4-1.3-2-.6-4-11.2-3.8-25-4.9-35.7 0 0-3.9 3.8-6.2 11.3-2 6.8-2 14.9-1.3 22 .6 6.7 2 10.7 2.7 12.5 1 2.7-.5 1-.5 1s-3.4-5.8-5.7-17c-2.3-11.2-2-19-2-19s-1.4 1-3 4.2a44 44 0 00-2.6 21 77.4 77.4 0 007 27.5c2.2 4 .2 1.6-.6.5a71 71 0 01-6.7-12.8c-2-5.5-5.6-16.6-5.8-18.4-.3-1.7-1-.6-1.7.9s-2.3 6.5-2.2 10.2a51.2 51.2 0 0012.2 31.6c2.2 2.8.5 1.4-.5.6-1-.8 0 .1-4.5-4.7a91.7 91.7 0 01-11-18c-.9-1.7-1.6.1-1.7 1.1-.1 1-.7 6.5 2.7 15.8 3.5 9.4 12 16.7 16.5 19.7 4.5 3.1 1.3 1.6-1 .3a90 90 0 01-9.7-6.9c-2.9-2.4-7.9-8.6-9.3-9.7-1.4-1-1.7-1.4-1.7 3 .1 4.4 3.9 11.6 8.7 16.4 4.8 4.8 11 7 12.9 7.7 1.9.8.3.4-1.7-.1a40.2 40.2 0 01-9-3.6 93 93 0 01-10.7-7.6c-1.8-1.4-1.6.6-1 3 .5 2.4 1.9 6.9 8.8 12.5a57.7 57.7 0 0019.4 9.2c2.9.8.9.8.9.8l-6.8-1.4a71.3 71.3 0 01-16.7-7.3c-2.3-1.5-2.7-2-2.4 1a20 20 0 008.9 12.9 49.6 49.6 0 0017.2 4.8c2.5.1 1.8.4.7.5a50.5 50.5 0 01-19.2-3.2l-.5-2c-.2-1.2-.9-1-1.2-.8-.4.3-.7.5-2 1.1-1.3.7-1.3-.1-1.4-.5l-.3-3c0-.8-.5-.9-1.1-.6l-4.7 2c-1 .4 0 1.3.5 2.3a147.3 147.3 0 001.5 2.6l-3.7 1c-.8.2-.6.8-.3 1.4l1.9 4.6c.3.8 1.1.3 1.1.3l2.7-1.6 1 3.7s-1.3.3-2.7 1.2c-1.3 1-1 2.3.7 2.7 1.6.5 3.6 1.4 5.7 5.3 2.2 3.9 2.7 10.9 4 22 1.4 11 8.4 16.6 9.4 17.3 1 .7.4 1.3.4 1.3s-1 1.4-.5 3.5a5.3 5.3 0 003.2 3.8c1 .3.7 1.3.7 1.3s-.5 2.3 0 6.7c.5 4.3 4 9.1 5 10 1 .8 1 1.2 1 1.6-.2.3-.9 0-2 1a12.2 12.2 0 00-3.4 3.6c-.8 1.6-.5 2.5-.2 4.5.2 2.1 3.3 4 3.3 4s-.6.1-.7 1.7c-.1 1.5 1 3.2 2.4 4.4 1.3 1 4 1.6 4 1.6l.3 2.2c.2 1 1.9 1.9 3 2.5 1.1.6 3.3.3 4.2-.2.9-.4 1.5.1 2 1 .6 1 .4 4.4.4 5.8 0 1.4-.8 2.8-.4 3.5.5.7 1.8.2 3.2-.5 1.3-.8 1.6-.2 2.8.5a9 9 0 003.5 1.4c.5 0 .3-1.3.3-2.3s.2-3.4.7-3.8c.2-.2 2.3-.3 3.8-1 .7-.3 1.7-.6 1.7-1.3.1-.7-1-.7-3.2-1.9-2.3-1.1-2.7-1.8-4.2-2.8-1.4-1-.7-1.3-.7-1.8 0-.4.7-.9 1-1.4.2-.6 0-1.8 0-1.8l1.8-1.8 2-2.3c.8-.6 2-3.6 2.7-4.5.8-1 2.5-2 3.6-3.4a29.7 29.7 0 0111.3-7.6s-.1 2.6 1 3.9 2.6-1 7.5-4.5c5-3.5 8.6-4.7 8.6-4.7l2.4 3.3c1.3 1.6 2.5-.1 8.5-8.5 4.8-6.5 11-12.6 13.5-14.8l1.3.6-.4 1c-.5 1.8-1.4 3-2.6 5.3-1.1 2.4-3 3-5 6.2s-2.4 5.5-2.6 8.8c-.2 3.3 1.7 4 1.7 4s-3 3-4 5.2c-.9 2.2-1.3 6.7-1.3 6.7s-.5.2-1.6 2.5-3.1 2.6-6 5.5c-3 3-6.2 4.2-7.7 5-1.5 1-1 1.9-.7 3 .4 1.2 2.5 2.4 5 3.3 2.3.9 3.2.5 4.8.5 1.7-.1.4 1.2-.3 1.9s-1.6 3.1-1.5 5.8c.2 2.7 2.2 2 4.7 1.6a28 28 0 005.3-1.6l-.2.8c-.3.7-.4 1.3-.4 3.4 0 2.1.3 3.2 1 3.7.5.6 1.8-.6 2.7-.9.9-.2 2.4-1.1 4.6-1.6 2.2-.5 3-1.5 3-1.5s-.5.7-.6 2.2c-.2 1.6-.1 3.8.2 5.2a9.4 9.4 0 002.9 4.2c1.5 1.4 1.8.8 3-1 1-1.7 3.3-3.9 3.3-3.9l1.7 5.5c1.5 4.9 6.5 9 6.5 9s5-4.1 6.5-9l1.6-5.5s2.3 2.2 3.4 4c1.1 1.7 1.5 2.3 3 1a9.4 9.4 0 002.8-4.3c.3-1.4.4-3.6.3-5.2-.2-1.5-.7-2.2-.7-2.2s.8 1 3 1.5 3.8 1.4 4.7 1.6c.9.3 2.1 1.5 2.7 1 .6-.6 1-1.7 1-3.8 0-2.1-.1-2.7-.4-3.4l-.3-.8s2.9 1.2 5.4 1.6c2.5.5 4.5 1 4.6-1.6a10 10 0 00-1.4-5.8c-.7-.7-2-2-.4-2 1.7.1 2.5.5 5-.4 2.3-1 4.4-2.1 4.8-3.3.4-1.1.9-2-.7-3-1.5-.8-4.7-2-7.6-5-3-2.9-5-3.2-6-5.5-1.1-2.3-1.6-2.5-1.6-2.5s-.5-4.5-1.4-6.7c-1-2.2-4-5.2-4-5.2s2-.7 1.7-4c-.2-3.3-.5-5.5-2.5-8.8-2.1-3.2-4-3.8-5-6.2-1.3-2.4-2.2-3.5-2.7-5.2l-.4-1a146 146 0 011.8-.8c2.4 2.2 8.7 8.2 13.5 14.8 6 8.4 7.2 10.1 8.5 8.4l2.4-3.2s3.7 1.2 8.6 4.7c5 3.5 6.4 5.7 7.5 4.4.6-.6.8-1.7.8-2.6a104 104 0 0111.8 4.2c4.3 1.8 4.7 2.8 8.1 5.4 3.4 2.7 8.2 2.5 12.8 1a304 304 0 0021.6-7.5c4.9-2 8.4-4 9-4.9.4-1 1-3.7 1-4.7s-1-2.4-1.4-2.7c-.4-.2-.2-1-.1-1.6 0-.6-.3-2.5-1-3.3-.8-.8-.7-1.1-.6-3.5.2-5-3.4-11.4-8.4-13.4 0 0-.2-.6-.6-1l-1-.6v-3.5c0-.6.2-.5.6-.4.3.2.9.9 1.7 1.1.8.2 1.3-.4 1.5-1.3.2-1 .8-2.8 1.2-3.7.3-1-.1-1-.5-1.2l-2.2-.4c-.6-.1-.6-.2-.4-.5l1-2c.8-1 .1-1.1-.6-1.4a58.4 58.4 0 00-4.9-1.3c-.9-.2-1 .6-1 1v2.6c0 .6-.5.4-.9.3a12.6 12.6 0 01-1.7-1.2c-.7-.4-1 0-1.3.7l-1.3 4.3c-.2.9-.1 1.5.2 1.6.3.2 2 0 3 0 .9 0 .3.6.3.6l-1.3 2.3c-.4.7-1 .8-1.8.8h-2s-5.3.2-9.2 3-5 5.3-5.6 6.7c-.6 1.4-1.3 1.1-1.9 1.6-.6.5-2.3 2.3-2.3 3.4s.4 1.7-1.3 2.8c-1.7 1.1-3 5.9-.8 8.3 2.3 2.5 3.2 5 4 6.2.6 1.2 0 1.7-.7 1.7s-1.8-1-2.9-1.8l-8.5-6.5c-2.3-1.7-.6-1.5-.6-1.5s.6 0 1.9-.5c1.3-.6 1.5-1.3.2-1.7a16.7 16.7 0 01-4.6-2.6c-.7-.7-1-1.4.3-2.1 1.3-.7 4.2-2.6 2-3.2-2.4-.7-5-1.1-7.3-1.8-2.2-.6-2.4-1.2-2.4-1.2l1.5-2.1s1.1-1.7-.2-1.9c-1.4-.2-4.8-.6-7.8-2a18.8 18.8 0 01-11.3-12.5v-.1c1.2 2.2 3.8 6.4 7.8 6.5 5.5.2 6.1-1.5 4.9-3.3-1.3-1.8-2.7-3.4-3-4-.4-.5-.5-1.2 1 .2 1.4 1.3 4 5.9 12.3 5.4 8.2-.6 8.2-2.2 8.2-2.6 0-1.6-1.7-1.9-2.7-2.9-.5-.5-.8-1.2.9-.6s5.7 1.4 11.3.2c2.1-.5 8-3 8.5-6 0 0-3.7-.2-6.3-1.3-2.5-1-4-2-1.3-1.4 2.7.5 8 1.6 12.7 0 2.7-.9 6.2-3 6.2-7.1 0 0-5-1-6.9-1.8-1.9-.6-2.5-1.2-2.5-1.2s7.3 2.3 13.8-1c6.6-3.3 6.9-7.9 6.9-9 0-1-.2-1.3-.2-1.3s-6 1.4-10.4 1.4c-4.5 0-5.9-.4-5.9-.4s12.5-.4 18.8-4.2c6.3-3.9 6.7-11.5 6.7-11.5s-7.1 2.6-11.6 3.1-7.2.5-8.3.4c-1.1 0-1.8-.4.7-.5a49 49 0 0017.2-4.8c5.3-3.1 8.6-9.7 8.9-12.8.3-3.1 0-2.6-2.4-1-2.3 1.4-11 5.9-16.7 7.2l-6.8 1.4s-2.2-.1.7-.9zm-225.2 14.4l-2.5 1.4-1.3-2.7c-.2-.6-.1-.8.2-.8l2.3-.4h.3c.3.7.6 1.6 1.1 2.4h-.1zm76.8 45a20.1 20.1 0 01-8.8 7c-3 1.4-6.3 1.8-7.7 2-1.4.2-.2 2-.2 2l1.4 2s-.2.6-2.4 1.3c-2.2.6-5 1-7.2 1.7-2.3.6.6 2.5 2 3.2 1.2.7 1 1.5.2 2.1-.7.7-3.2 2.2-4.6 2.6-1.3.4-1 1.1.2 1.7 1.4.5 5 1.2 5 1.2l-2.3 1.8a18.9 18.9 0 01-8.7 3c-2.5.1-6.6.3-11.7 0l-5.8-.3-.5-4.3a21.5 21.5 0 00-3-7.8l-3.7-5 .2-1.5c.2-.8 0-1.7-.5-3.3-.6-1.5-3.6-3.8-3.6-3.8l-.2-3.2c0-1.6-1-7.7-2-10.6-1-2.9-5.7-10.5-7.8-14a39.2 39.2 0 01-4.3-19.8l.5-1.3a12.9 12.9 0 003.5 3.2c6.3 3.8 18.8 4.2 18.8 4.2s-1.4.4-5.9.4-10.4-1.4-10.4-1.4-.2.3-.2 1.4c0 1 .3 5.6 6.9 9 6.5 3.2 13.8 1 13.8 1s-.6.5-2.5 1.1c-1.8.7-7 1.8-7 1.8 0 4 3.6 6.2 6.3 7.2 4.7 1.5 10 .4 12.7-.1 2.8-.6 1.2.3-1.3 1.4-2.6 1.1-6.3 1.3-6.3 1.3.6 3 6.4 5.5 8.6 6 5.5 1.2 9.6.4 11.2-.2 1.7-.6 1.4.1.9.6-1 1-2.7 1.3-2.7 2.9 0 .4 0 2 8.2 2.6 8.2.5 11-4 12.4-5.4 1.4-1.4 1.3-.7 1-.1-.4.5-1.8 2.1-3 4-1.3 1.7-.7 3.4 4.8 3.2 4 0 6.6-4.4 7.8-6.6v.1l.3.3a51.7 51.7 0 01-2.4 5.3zm66.4-178.2l-1.1-2s3 1.4 5 3.5c1.8 2 1.7 3.2 2 4.2.3 1 0 2.9-.3 4.7-.3 1.7-.3 2.8.1 3.4.3.7.7 1 .7 1l-2.7.8c-1.3.6-3 1-4 .2-.9-.8-1.1-1.3-.5-1.8.6-.5 2.8-1.2 3-5 .3-3.7-1.5-7.6-2.2-9zm-17 10.3c.8-1.8 1-3.5.5-7.2-.4-3.1-1-5.7-1.2-9 0 0 2.3.4 5.6 3.4s4 6.1 4 7.6-.7 3.4-.9 4.8c0 1.5.4 2.8.4 2.8s-1.1.5-2.2 1.3c-1.1.7-1.9 1.2-3.5 1-1.7 0-2.7-.7-3.7-1.2l-1.5-.6s1.9-1.1 2.6-3zm-16-12.8a14 14 0 015.6-3.5c-.1 3.4-.7 6-1.2 9-.5 3.8-.3 5.5.5 7.3.7 1.8 2.6 2.9 2.6 2.9s-.6 0-1.6.6c-1 .5-2 1.2-3.6 1.3-1.7 0-2.4-.4-3.5-1.1a14 14 0 00-2.3-1.3s.5-1.3.4-2.7c-.1-1.5-1-3.3-1-4.8.1-1.6.8-4.6 4.1-7.7zm-11.8 18.3c-1 .8-2.7.4-4-.2l-2.6-.8s.3-.3.6-1c.4-.6.4-1.7.1-3.4-.3-1.8-.5-3.7-.3-4.7.3-1 .3-2.2 2.1-4.2 1.9-2.1 5-3.6 5-3.6l-1.2 2.1c-.7 1.4-2.5 5.3-2.2 9 .3 3.8 2.5 4.5 3 5 .6.5.4 1-.6 1.8zm43.8 31.7c-3.2 1.7-5 1.3-5 2.7.2 1.3 3.1 2.3 3.1 2.3s-3 3.2-5.3 4.6c-2.3 1.5-5 2.4-5 2.4s-1 .2-.4 1.6a5.4 5.4 0 002.2 2.9l1.1.5s-4 4.3-5.8 5.7a15.3 15.3 0 01-4.3 2.5c-1.4.6-.7 3-.4 4 .4 1 1.6 2.5 2.4 2.7.7.2 1 .8 0 2.2-.7 1.1-3 4-4 5.6h-.1l-4.2-5.6c-.9-1.4-.6-2 0-2.2.8-.2 2-1.6 2.4-2.7.3-1 1-3.4-.4-4a15.2 15.2 0 01-4.2-2.5 80.2 80.2 0 01-5.8-5.7l1-.5a5.4 5.4 0 002.3-2.9c.5-1.4-.4-1.6-.4-1.6s-2.7-1-5-2.4c-2.4-1.4-5.4-4.6-5.4-4.6s3-1 3-2.3c.2-1.4-1.6-1-4.9-2.7-3.2-1.8-4.3-4.1-4.3-4.1s3.8-1.3 5.7-5a7 7 0 00.7-3.6h.1c6 2 13.1 2.8 19.4 2.8a63 63 0 0019.3-2.8h.2a7 7 0 00.7 3.6c1.9 3.7 5.6 5 5.6 5s-1 2.3-4.3 4z"/>
+  <path fill="#d4af3a" d="M361.2 237.8c0-10.2 4.7-16.7 4.7-16.7l-12.7-14.6c-12.2 4.7-23.3 5-33.2 0-9.9 5-21 4.7-33.1 0L274 221.1s4.7 6.5 4.7 16.6-2 17.8-3.1 22.7c-1.2 5-2.1 14.1.5 20.7a26.3 26.3 0 0016.7 17c11.3 4.8 17.3 7.3 21.2 10.6 4 3.2 5.9 5.9 5.9 5.9s2-2.7 6-6c3.9-3.2 9.8-5.7 21-10.4a26.4 26.4 0 0016.8-17.1c2.7-6.6 1.7-15.8.5-20.7-1.1-5-3-12.5-3-22.6z"/>
+  <path fill="#b96b29" d="M357.2 242c-1.6-9.8 4-18.3 4-18.3l-10.9-12.8c-8.4 4.7-20.1 4.1-30.3-.6-10.1 4.7-21.8 5.3-30.2.6l-11 12.8s5.7 8.5 4 18.3c-1.5 9.7-5 25-4.1 31.3.9 6.3 5.3 13.6 9.8 17.4a58 58 0 0016.2 8.7 46.7 46.7 0 0115.3 10s1.5-1.5 3.7-3.2c2.3-1.7 7-5 11.7-6.8a59 59 0 0016.1-8.7c4.6-3.8 9-11.1 9.9-17.4.8-6.3-2.6-21.7-4.2-31.4z"/>
+  <path fill="#1d5e91" d="M356.1 243.1a32.5 32.5 0 013.2-19l-9.8-11c-8.4 4.4-18.5 3.3-29.5-.6-11 3.9-21.1 5-29.4.7l-9.9 11s4.7 8.4 3.2 18.9-4 22.4-3.6 29.4l.2 1.4h9s.5-.6 1.5-1 1.3-.7 1.3-.7.2-1.8 1.2-2.2c1.1-.4 1.6-.4 2-.4.5 0 .8-.1 1.3-.6.5-.6 2-1.8 2.6-3.6.6-1.9 1-2.6 1-3.8 0-1.2.4-3 .4-3s-.2-.6-1.1-.3c-1 .3-1-.6-1.2-1.5 0-.9 0-2.7.5-3.6l.7-1.1-.4-1.5s-5.7 1.2-6.7-3.3-1.1-6.5-1.3-7c-.1-.5-.3-.7-1-.7-.8 0-2.4-.4-3.6-2.7-1-2.3-1.2-3.3-.8-4.2.3-.9.9-.5 1-.3.3.3 1.8 2.5 2.4 1.9.6-.6.3-.6-.6-2.3-.8-1.8-.5-2.3-.4-3.2l-.3-2.5c0-.4.5-.8 1-.6.6.3 1 .6 1.3 1 .2.2.3.6.8.4.5-.3.2-1.9.2-2.4 0-.6.6-1 1.3-.5a2.2 2.2 0 011.2 1.8c0 .6 0 1.1.3 1.1s.6-.9.7-1.4c0-.6.4-1.5.9-.7.5.7.7 1.7.5 2.8-.2 1.1.2.5-.2 2.4-.4 2-.6 2.8-.5 4.2 0 1.5 0 2.3.8 4 .7 1.8 1.3 3.8 2.6 3.9h1.7s1.5-2.8 2.6-3.5c1.2-.6 2.8-.7 4-.9 1-.1 1.5-.5 1.5-.8 0-.2-.3-.3-1.7-.5s-2.5-.5-2.6-1.6c0-1 .3-2-.6-2-1 0-3.2-.8-4-2.2-.8-1.5-.6-1.8-.5-2.7 0-.8 1.1-2.4 1.8-.9.7 1.6 1.1 1.8 1.7 2 .5.4 1.3.5 1-.5-.5-1-.7-1.7-.6-2.5 0-.8.6-1.1 1.2-1.2l3.4-1 1-.2s.1-.7 1.4-1a9 9 0 013-.5c.8 0 1.5.1 2.7-.4a5.7 5.7 0 012.9-.7 3.7 3.7 0 011.9.8c.5.3.4.9.4 1.4 0 .5 0 .8.8.8.9 0 1.6 0 2.3.3.8.3 1.8.7 1.2 1.5-.7.8-.7 1.7-1.2 1.7-.4 0-.4.4-.5.7-.2.3-.4.5.1.8.5.3.5.6 1.2 1.2.6.6 1.6 1.3.6 2.3-1 1-2.7 1.8-2.7 1.8s-1 .5.1 1.1c1.2.7 1.7 2 2.1 2.3l1.2.8c.3.1.2 1 .2 1l-1.5.8c-.8.4-1.7.8-2.5.8s-1.3 0-1 .7c.4.8 1 1.6 1.1 2l.3 1.2s1.4.3 2.6.3l4.3-.2c2.6-.3 3.4-.4 5.9-.1 2.5.2 2.9.2 3.5.4l1.4.6s3.5 0 5.5-.5c2-.4 2.4-1.7 2.1-2.4-.3-.6-.2-1.6-3.6-2-3.5-.6-4.8-.4-7.5-.9-2.8-.5-7-1.9-7.7-5.3-.8-3.4 2-4.8 3.3-5.5l5.8-2.3c1.4-.5 3.9-1 6.5-.7 2.7.4 4.2 1 5.3.5 1-.7 1.9-.2 1.7.8-.2 1-1.3 2.9-4.3 3.8-3 .9-6.6 1-8.5.5-2-.6-3.4-1.3-4.6-.9-1.2.4-2.5 1.9-1.3 3.7 1.3 1.7 7.9 2.3 9.6 2.4 1.8.2 8.3-.2 10.2 3 1.8 3.2.3 6.9-1.8 7.7a29 29 0 01-5.7 1.5l-1.7.3s.8 1.7.8 2.4-.1 2 .7 2.6c.8.5 2 .9 3.3.7 1.4-.1 3 .8 3.1 2 .1 1.3.5 3 .6 5.5.2 2.5 0 4.5 0 4.5s0 1-.4 1.9c-.3 1-2 4.4-2 4.4h9.5l.2-1.4c.4-7.1-2-19-3.6-29.5z"/>
+  <path fill="#6d8c3e" d="M281.6 278.6a27.4 27.4 0 0011.6 14.3c8.2 5 11.8 4.3 19.5 9.3 7.7 5 7.2 5.8 7.3 5.8.1 0-.4-.8 7.3-5.8s11.3-4.4 19.5-9.3a27.4 27.4 0 0011.6-14.3h-76.7z"/>
+  <path fill="#d4af3a" d="M288.3 237.2c.9 1 1.5 1.2 2.9 1 1.3 0 1.7.9 1.9 2 .2 1 .2 3.5 1.2 5.8s4.2 2.5 4.2 2.5c0-1.1.5-2.6 1-3.9 0-.2.5-1.2-.7-1.2s-1.1-.5-1.8-1.6c-.7-1-2-4-2.4-6a16 16 0 01.6-5.7c.4-1 .4-1.7 0-1.9h-1s.2 1-.1 1c-.3.2-.6-.4-.8-1-.3-.7-.5-.6-1-.6s-.5.5-.1 1c.3.4.1 1.3.1 1.3l-1.4-1c-.5-.2-1.4.2-1.5.8-.1.5.3 2 1.2 2.7s1 2.2.6 3c-.2.6-1.5.5-1.8.2a.8.8 0 00-1.2 0c-.4.5-.8.7.1 1.6zm-.5-2.5l-.7-.6a35.1 35.1 0 01-.5-.7l-.1.7c0 .5.6 1.2.6 1.2l.7-.6zm2-6.4c.4-.1.7-.2.4-.7-.4-.5-.6-1-1-1-.3-.2-.6-.1-.6-.1l.5 1.3c0 .5.2.7.6.5zm2.4-2c0 .5 0 .7.4.5.4-.2.5-.7.3-1a2 2 0 00-.6-.7l-.3-.2s.2 1 .1 1.5zm3.4.6l-.1-1s0 .6-.3 1c-.2.3-.1.2 0 .5.3.2.4 0 .4-.5zm5.4 23.5c.7 1.6 2.4-.9 4-2.9s1.5-.4 1.3 1.2a7.6 7.6 0 001 4.5c.7 1 1.2.4 1.5-.4.2-.7.5-2.4 1-3.2.5-.7 1 0 1 .6.1.7 1 2.2 1.7 3.1.8 1 1.2-.3 1.5-1.4l.7-3.5c.2-.6 1 0 1 0l1.6 1.5c1 1 1.1-.6 1.2-1.4.1-.8-.1-2.5.2-2.8.3-.3 1.2.4 2.5 1 1.4.7 1.3-.6 1.2-1.3a7.4 7.4 0 00-2-3.4c-1.2-1-1.3-2-1-2.5.4-.5 1.7 0 2.6-.1l1.8-.3c.7-.2.7-.8.7-.8s-.5-.8-1.4-1.6c-.9-.8-1.4-1.4-2.5-1.6-1.1-.3-2.6 0-2.6 0l-.2-.4c-.1-.3-.4-.3-.6 0l-1.2 1.1c-.4.4-.7.6-1 .5-.2-.2.3-.6.3-.6s.5-.4 1-1.4c.6-1 .7-2 .3-2.6-.4-.4-1.5 0-2.2 0-.6 0-1 .2-1-.2 0-.3.6-.1 1.4-.2.8-.1 1.3-1 1.5-1.9s.5-.6 1-.2c.4.5.9.4 1 0l1-1.8c.5-.8.8-1.9.3-2.6-.6-.8-2-.7-2.6-.2-.6.5-1 1-1.1 2.1-.2 1.2-.5.5-.5.2 0-.4-.4-1-.2-1.5.2-.4 0-1 0-1s-.1-1-1.2-1.1a8.6 8.6 0 00-3.5.3c-1 .2-.9 1.2-.9 1.2l-1.7.1c-.9.1-2 .5-2.8.7-.8.2-1.1.3-1.1.7l.1 1.1s.7 0 1 .3.2.5-.2.7c-.4.2-.6.2-.6.7s.2.7.7.7c.4 0 1.3 0 2.3.4s1.3 1.4 1.2 2c0 .5-1.5 1.2-2.3 1.2s-1 .1-1 .6 1 .4 1 .4l2.6.3c1.7.2 2 .6 2.8 1.2.7.7.2.9-.2 1-.4.3-1 .8-1.5 1-.6.2-1 .6-1.5.7-.5.1-1.8 0-4.2 1-2.4 1-3.3 4.1-3.3 4.1l1.4-.7c1.1-.5 2.5-1.2 3.8-2 1.2-.7 1.2.4.6 1.5s.6.9 1 .6l2-1.3c1.2-.6.8.4.8.4s-.4.7-.5 2.5c-.1 1.7 1.7 0 2.5-1 .9-1.1 1.2 0 .6 1.2-.6 1.3-1.8 2.3-2.5 2.3s-1.2-.8-1.3-1.2c0-.4.3-1.7-.1-2-.5-.3-1.7 0-2.6.6-.9.5-1 .1-1.3-.4-.2-.4.3-.6.1-1-.2-.2-.6 0-1 .2l-2.8 1.5c-1.7.9-1.6 1.3-1.6 2.5s.3 1.5 1 3z"/>
+  <path fill="#d4af3a" d="M316.7 224.2l1-.5 1.5-.3c.7 0 .6-.5.4-.8-.1-.4-.4-.5-1.4-.5-.9 0-1.5.5-2 .7l-1.1.4.4.6c.4.5.9.6 1.2.4zm3.8 3.7l.8-.2 1.3-.6c.6-.2.8-.3 1.2-1 .4-.8-.4-.8-1.5-1-1-.3-1.6 0-1.7.5-.1.4 0 .8-.5 1.6s0 .7.4.7zm-.3 1c-1 0-2.3 1.5-2.7 1.8-.4.3-.2.6-.2.6l.4 1.2c.2.7.2 1.7.2 1.7h.8c.6 0 1-.2 1.6-.7a4 4 0 011.8-.7c.9-.2 1.3-.3 2.2-.8 1-.5-.5-1.4-1.5-2.2a3.7 3.7 0 00-2.6-1zm-14 3.6c.8-.1 1.2-.5 1.2-1s-.4-1-1.5-.9c-2.6.3-5.1-.7-5.6-3.2 0 0-.8 1.6.8 3.4 1.6 1.8 4.3 1.8 5.1 1.7zm-8.9 41l.5.4h4c.7-.2.7-.8.7-1.2 0-.5.4-2 1-4.7.5-2.6 1.5-4.5 1.9-5.6.4-1-.4-1.4-.7-2l-.8-2.5c-.1-.6-1-.5-1.6-.5-.5 0-.6.9-.7 1.7 0 .8-.4 3.1-.8 5.1-.4 2-2.7 4.7-3.3 5.3-.6.6-1.2.8-1.6.8-.4 0-1.4 0-1.8.3a2.4 2.4 0 00-1 1.6c0 .6.9 1 .9 1l1-.8c.3-.4 1-.5 1.5-.6.7-.1.7.1.5.4-.2.3-.1.4.3 1.2zm-6-.2c-.4 0-.6.4-.7.6h2.6a1.4 1.4 0 00-.3-.7c-.3-.3-1.1-.1-1.7 0z"/>
+  <path fill="#d4af3a" d="M294.8 273.2a3 3 0 00-1 .7h2.9c0-.2.1-.6-.2-.9-.7-.5-1.3 0-1.7.2zM319 272c-.3 0-.6.3-1 .6-.5.3-.6.8-.7 1.2a.3.3 0 000 .1h1.3a.2.2 0 000-.1c0-.4.2-.7.7-1.1.5-.5 0-.7-.3-.7zm2.3 1.3c0-.4-.1-.7-.4-.7-.2 0-.7.5-1 .8a2.4 2.4 0 00-.5.5h1.7l.2-.6z"/>
+  <path fill="#d4af3a" d="M332.3 260.4c.8-.6.7-.8.7-1.5 0-.6 0-.8-.3-1a5.9 5.9 0 00-2.8-.8c-1.1 0-3.4.3-4.2.8-.9.6-1.3 2.7-1.3 3.8 0 1 .2 1.2.5 1.2s.8-.8.8-.8l1.8 2.5c.7 1 .4 1.4 0 2.2-.2.8-1.4 2.9-2.2 3.3-1 .5-1.6 0-2.6-.1-1.1-.2-1.7.1-2.3.7s0 1.1.4 1.1c.3 0 .8 0 1.2.5.3.3.1 1.2 0 1.6h5.2c.9-.4 1.5-1.6 1.7-2.3.3-.7 1.4-1.7 2-2.2.5-.5.5-.8.5-2s-.2-1.7-.6-2.5c-.5-.8-.8-2-.6-2.6 0-.7 1.2-1.4 2-2z"/>
+  <path fill="#d4af3a" d="M323.7 247.4c.6.9.3 1-.4 1.2a8.5 8.5 0 01-2.8.2c-1.1-.1-1.1 0-1.1.6a5 5 0 01-.8 2.7c-.7 1-1.6.6-2 .2-.6-.3-.9-.2-1 .4l-1.2 2.1c-.5 1-.9 1-1.3.9-.4-.1-.7-.7-1.1-.7-.4 0-1-.8-1.6-1.8-.6-.9-.9.1-1.3 1-.4.8-.7 1.3-1.5 1.2-.7 0-1.6-1.5-2-2.3-.4-.8-.7-1.6-1.3-1.6-.7 0-1.7 1.4-2.4 1.7-.7.4-1 .3-1.3-.2-.3-.4-.7.2-1.1 1.2-.4 1.1 0 2 .6 2.3.6.3 1.7-.5 2.5-1 .8-.6 1.1-.5 2-.5.8 0 .7 1.4 1 3.3.4 2 1.5 2.2 1.5 2.2s.4.3 1.3-1.1c.9-1.5 1-3 1.8-3 .9 0 1 .2 1.8 1.4.8 1.1 1.5 2 2 1.1.5-.8.9-2.1 1.5-2.6.5-.4 1-.6.4.3-.5.8-.8 1.7.4 1.4 1.2-.4 5.7-2.2 7.6-2.6l4.7-.5 4-.3c1 0 1 0 1.1-.7 0-.7-.5-.5-2.3-.5-1.8 0-3 .2-4.3.4-1.3.2-1.8.2-1.6-.2.2-.3.6-.5 2-.7a58 58 0 016-.5c1.6 0 1 .5 1 1.5-.2 1 0 2.6.2 3.5 0 1 .1 1.3 1 2.7s3.7 2.2 4.5 2.6c.9.5.7 0 .7-.8s.7-.8 1.4-.3c.7.4 2 .7 2.9 1 .8.2 1 .4 1 .8 0 .5 0 1.5.2 2.4 0 1 0 1.2-.4 1.8l-2 2.3s-.8 0-2.3.4c-1.6.3-2.1 1.1-2.3 1.7-.1.7.3.9.4 1.1v.8h.4c0-.2.3-.5.5-.8.6-.7 2-.9 2.9-.5.6.3.6 1 .5 1.3h3.6l2-3.9a6 6 0 00.6-2.6c0-1.2.2-5.8 0-6-.3-.3 0-1.1 0-2.4-.1-1.3 0-2.3-2.4-2.5-2.4-.2-3.2-1.2-4-2-.8-.8-.6-2.7-1.2-5-.7-2.2-2.3-2.6-5-3.1a23.3 23.3 0 00-7-.5c-2.2.2-4.8.5-6.2.4-1.5-.2-1.2.2-.7 1z"/>
+  <path fill="#d4af3a" d="M337.3 273.4l-.5.5h2.4a1 1 0 00-.2-.7c-.4-.4-1-.2-1.7.2zm4.4-.2a2.2 2.2 0 00-.8.7h2.5a1 1 0 000-.3c-.1-.4-.9-.8-1.7-.4zm-61 1.6a24.1 24.1 0 00.5 2.3h77.6l.6-2.3h-78.8zm52.3-37.1c2.4 1.6 10.2 1.7 13.9 2.4 3.6.8 3.4 3.6 2.3 5-1.2 1.5-6.3 1.7-7.2 1.8.5.3 1.2 1.4 1.2 1.4l2.1-.2a11 11 0 006.1-2c1.9-1.6 1.8-4 .1-5.8-1.6-1.6-4.3-1.8-7-2.1-2.8-.3-5-.5-8-1-3.2-.6-4.7-1.8-4.7-3.6s1.7-2.8 2.9-3.1c1.2-.4 3.1-.9 4.9-.2 1.7.6 3.7.7 7.1.3 3.4-.5 4.2-2.8 4.2-2.8s-.4.2-2.2.2c-1.7 0-3-.7-6-.7-3.2 0-4.3 1-5.8 1.6-1.5.5-5.4.9-6.5 3.4-1.2 2.5.1 3.7 2.6 5.4z"/>
+  <ellipse cx="312.6" cy="226" fill="#b96b29" rx="1.5" ry="1.4"/>
+  <path fill="#b96b29" d="M344 228.4c-2-.2-4.5.4-4.5.4s.5.4 1.2.3c.6 0 1.8 0 3.7.3 1.9.3 3.2-.6 3.2-.6l-3.6-.4z"/>
+  <path fill="#1d5e91" d="M325.6 264.6c-.5-.8-.6-.7-1.2-.2-.5.4-1-1.2-1.1-2.2l.4-4.1s-2.6.5-4 1l-4 .9c-1.1.2-1.8.5-2.4.4-.6-.2-1.9-.2-2.9-.2s-1 .2-2 1.2-1.3 1.5-2 3.4a20 20 0 00-1.4 6 15.6 15.6 0 01-.7 3.1h12.2l.5-1.2a3 3 0 011.4-1.4c.5-.2 1-.2 1.2-.8.2-.5.8-1 1.4-1.2.7-.3 1.8-.2 2.8.1 1 .3 1.4-.4 1.7-.8.3-.4.4-1 1-1.6.5-.7 0-1.3 0-1.3l-1-1.1zm19.5.3c-.1-.7 0-.8-.5-.9-.4 0-1.1-.2-1.7-.5-.6-.2-.5 1.4-.5 1.4s-1.5.2-3.1 0-3.5-1.7-4.2-2.2a5.5 5.5 0 01-1.4-1.5l-1 .7c-.5.3-.8 1.3-1 2.4 0 1 1.3 2.2 1.4 3.2 0 1-1.2 3.1-1.8 4a9 9 0 00-1.2 2.4h5.9a3 3 0 01.6-1c.6-.6 1.6-.7 1.6-.7l.2-.8c.2-.5.9-1.2 2.3-1.8 1.5-.5 3.3-.6 3.3-.6s.7-.6 1.2-1.4c.5-.8 0-2 0-2.7z"/>
+  <path fill="#d4af3a" d="M296.2 329.6c1.1.4 3.2-.4 4.2-1.6 1-1.3 1.4-3.2 2.1-4.3l1.3-1.9s-.2 1.8-1.2 4.3a15.5 15.5 0 00-.8 6.8c.4 2.7 2.2 3.1 3.2 2.7.8-.2 2-1.4 3-3.2l1-2c.6-1.3 1.2-3.5 1.5-3.4.7.1.3 1.6 0 2.6-.5 2-1.5 5-1.6 7 0 1.7.2 5 2 5.2 1.8.1 2.8-1.5 3.8-5.2s1.2-5 1.7-5c.4 0 .4 2.6.4 3.7a18.2 18.2 0 001.6 7.4c.9.8 1.6.7 1.6.7s.7.1 1.6-.7c.9-.8 1.6-6.3 1.6-7.4 0-1 0-3.6.5-3.6s.6 1.2 1.6 4.9 2 5.3 3.8 5.2c1.9-.2 2-3.5 2-5.3 0-1.8-1.1-4.8-1.6-6.9-.5-2 .2-1.9 1.6.8l1.3 2.5c1 1.6 2 2.5 2.6 2.7 1 .4 2.8 0 3.2-2.7.5-2.7-1.6-10.5-1.6-10.5l1 1.3c.7 1.1 1 3 2 4.3 1 1.2 3.1 2 4.2 1.7 1-.4 1.2-2.4.4-6.1s-4-5.7-6.4-8.6a31.6 31.6 0 01-4-8.2 27 27 0 00-7.9 5.6l-5.9 6.3s-1-1.3-5.8-6.3a27 27 0 00-8-5.6c-.2.6-2.2 5.2-4.4 7.9-1 1.3-2.5 2.3-3.6 3.6a12.4 12.4 0 00-2.4 5.3c-.8 3.6-.6 5.7.5 6z"/>
+  <path fill="#d4af3a" d="M296 342c1.5-1.2 2.2-2 2.2-2s1-.8.8.9c-.3 1.6-.8 5-.5 6.4.4 1.4.5 2.7 2.3 1.6 1.8-1 2.3-1.7 3.1-2.6.9-.9 1.8-1.3 1.6.1-.3 1.4-.9 3.6-.6 6.4.3 3 1.7 3.3 3.6.9a32.3 32.3 0 003.5-5.9c.5-1.2 1.6-2.2 1.6 0 0 4.8 1.1 11.8 6.4 13.6 5.3-1.8 6.4-8.8 6.4-13.6 0-2.2 1.1-1.2 1.7 0a32.4 32.4 0 003.5 5.9c1.8 2.4 3.2 2 3.5-.9.3-2.8-.3-5-.5-6.4-.2-1.4.6-1 1.5-.1s1.3 1.5 3 2.6c1.9 1 2-.2 2.4-1.6.3-1.5-.2-4.8-.5-6.4-.2-1.7.8-.8.8-.8l2.1 2a6 6 0 003.4 1.2s.9-5-1.2-8c-2-3-2.9-4-2.9-4s-1.1 0-2-.4c-1-.3-1.8-1-1.8-1v2.8l3.1 3.1c.6.8 1.8 2 0 .8a50.5 50.5 0 01-3.1-2.4s-.4 2.5-1.1 3.2c-.7.6-1.8.7-2.2.5l-.4-.1-.2 1s1.6 3 1.8 4.1c.3 1.2 0 1-.8-.5-.7-1.5-2.2-3.5-2.8-4.5-.6-1.1-1.6-1.8-1.5-.5.1 1.4-.5 3.9-1 4.8-.4.9-.7 1.2-.7 1.2l1.1 4c.1.7 0 1.5-.5.6-.6-.8-2.1-4.2-2.1-4.2s-2.1 0-2.7-.7c-.6-.6-1.6-2.9-1.6-2.9s-.8 3-1.5 4c-.7.9-2.4 1.8-2.4 1.8l-.2 6c-.2 1-.2 1.3-.6 1.3s-.4-.4-.5-1.3l-.3-6s-1.6-1-2.3-1.9c-.7-1-1.6-3.9-1.6-3.9s-1 2.3-1.5 3c-.6.5-2.7.6-2.7.6s-1.6 3.4-2.2 4.2c-.5.9-.6.1-.5-.5l1.1-4.1s-.3-.3-.7-1.2c-.5-1-1-3.4-1-4.8.1-1.3-.8-.6-1.5.5s-2 3-2.8 4.5-1 1.7-.8.5c.2-1.2 1.8-4.1 1.8-4.1l-.1-1-.5.1c-.4.2-1.4.1-2.2-.5-.7-.6-1-3.2-1-3.2l-3.2 2.4c-1.8 1.2-.6 0 0-.8l3.2-3.1v-2.8s-1 .7-1.8 1c-1 .4-2.1.4-2.1.4l-2.9 4c-2 3-1.2 8-1.2 8s2 0 3.4-1.3zm25.8 33.5L320 373s-.4.8-1.8 2.4a43 43 0 01-4.5 4s.3 4.2 1.8 6.5c1.3 1.9 2.5 3.6 4.5 5 2-1.4 3.3-3.1 4.5-5 1.6-2.3 1.9-6.5 1.9-6.5s-3.2-2.4-4.6-4z"/>
+  <path fill="#b96b29" d="M319.4 380.6c0 1 0 3.4.6 3.4s.5-2.4.6-3.4l.2-3.3h-1.6s0 2.3.2 3.3z"/>
+  <path fill="#d4af3a" d="M320 151.3c-5.7.1-12.3-.7-16-2l-3.8.8a52 52 0 0019.8 3.3c8.8-.1 13.8-1 19.8-3.3l-4-.8a50.7 50.7 0 01-15.8 2zm20.5-4.7c-.4-.4-3-2.2-3.7-2.5-.6-.4-.1-1.3 0-1.6.1-.4 3-1.2 4.6-1.7 1.6-.4 1.4-.7 1.4-.7s-1-1.1-6.8-1.7c-5.8-.7-16-.5-16-.5s-10.2-.2-16 .5c-5.8.6-6.8 1.7-6.8 1.7s-.2.3 1.4.7a19 19 0 014.6 1.6c.1.4.6 1.3 0 1.6a45 45 0 00-3.7 2.6c-.5.4-.5 1 .2 1s.7 0 2.7-.4a94.4 94.4 0 0135.2 0c2 .4 2 .4 2.7.4.7 0 .7-.6.2-1z"/>
+  <path fill="#d4af3a" d="M333.9 149c-4-.4-6.5-1-13.9-.9-7.4.1-10 .5-13.9 1 2.5 1 6.6 1.5 13.9 1.5s11.4-.5 13.9-1.5zm-15-57.5l-.1 2.8 3-.2-.3-2.7 3.3.5.1-2.6-3.4.3.6-2.9h-3.8l.7 2.9-3.3-.3v2.6zm6.5 7.1h-4v-3.4a6 6 0 00-1.3-.2l-1 .1v3.5h-4.3a4.6 4.6 0 00-.2 2h11v-.6a5.4 5.4 0 00-.2-1.4z"/>
+  <path fill="#1d5e91" d="M320.1 105a5.5 5.5 0 005.2-3.4H315a5.5 5.5 0 005.2 3.5zm2.3-9.5v2.4h2.7a5.3 5.3 0 00-2.7-2.4zm-4.5 0a5.3 5.3 0 00-2.8 2.4h2.8v-2.4z"/>
+  <path fill="#b96b29" d="M323.3 140l-3.3-1.5-3.3 1.7c-1.2.5-1 .4-1.4 1.2-.3.9 0 1.2.6 1.4l4.1 2 4.6-2c.8-.4.7-.8.4-1.5-.2-.6-.7-.8-1.7-1.3z"/>
+  <path fill="#d4af3a" d="M320 139.3l-3.5 1.7 3.6 1.9 3.5-1.9zm0-12.3s-.3 1.2-.7 1.8c-.4.5-.7 1-.6 1.7 0 .6.8 1 1.3 1 .4 0 1.2-.4 1.3-1 0-.7-.2-1.2-.6-1.7-.4-.6-.7-1.8-.7-1.8z"/>
+  <circle cx="320" cy="132.8" r=".7" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M317.6 129.4s1.1-1.3 1.6-2.2l.8-1.5.8 1.5c.4.9 1.6 2.2 1.6 2.2s1.6-1 2.6-4c1-3.2-.3-6.6-.7-10.1a208 208 0 01-.8-9.8 7.3 7.3 0 01-3.5 1 7.3 7.3 0 01-3.6-1s-.3 6.2-.8 9.8c-.4 3.6-1.6 6.9-.6 10 1 3.2 2.6 4 2.6 4z"/>
+  <ellipse cx="320" cy="122.3" fill="#b96b29" rx="2.8" ry="2.7"/>
+  <ellipse cx="320" cy="115.8" fill="#b96b29" rx="2.7" ry="2.6"/>
+  <ellipse cx="320" cy="109.7" fill="#b96b29" rx="2.6" ry="2.5"/>
+  <ellipse cx="320" cy="121.8" fill="#d4af3a" rx="1.5" ry="1.4"/>
+  <circle cx="320" cy="115.4" r="1.4" fill="#d4af3a"/>
+  <ellipse cx="320" cy="109.2" fill="#d4af3a" rx="1.3" ry="1.2"/>
+  <path fill="#b96b29" d="M319.9 336c.2.1.2-.3.2-1.2l.4-4c.2-1.2-.3-1.1-.6-1-.3 0-.5.9-.5 1.4l.1 4.2c0 .6.2.6.4.7z"/>
+  <path fill="#d4af3a" d="M290.4 359.1l5.2-3.6a11.8 11.8 0 004-4h-1c-.6 0-1-.7-1.1-1.5 0-.8 0-2.3.2-4.1.2-1.8-.3-3.3-.3-3.3s-1.2 1.1-3 2c-2 1-2.7.6-2.7.6l-.4-1.9-2 3.7c-1.1 2-4.2 4.2-6.4 5.8a28.6 28.6 0 01-6.4 4c-1.8.7-.7 1.5-.7 1.5s1.8 1.8 6.5 2.7c4.6.8 6.9-1 8.1-1.9z"/>
+  <path fill="#d4af3a" d="M306.8 357.3c-1.7-.2-2.7-.8-3-2.6-.2-1.2 0-5.7 0-5.7l-1.1 1.2c-.7.8-2 1-2 1l-1 1.6a9.3 9.3 0 01-3 3.2 50.7 50.7 0 00-4.6 3.2 28.1 28.1 0 01-4.3 3.1 7 7 0 00-3.6 4.7c-.5 2.4 0 3.1 1.8 3 1.8-.1 2 0 5-.7 3-.8 7.3-4.1 10.4-6 3-2 5.4-6 5.4-6z"/>
+  <path fill="#d4af3a" d="M315 360s-1.2-1.6-1.7-3.4l-1.3-5.4-1.5 3.3c-1 2.1-2.7 2.7-2.7 2.7s0 .9-1.5 2.7a21 21 0 01-5.7 4.8c-2.1 1.2-5 3-6.4 5.1-1.5 2.2-1.7 4.4-1 5.4.8 1 1.8-.1 3.2-.9 1.4-.7 5.5-1.3 11.2-4.4 5.6-3 7.4-9.9 7.4-9.9z"/>
+  <path fill="#d4af3a" d="M317.5 372.7c1.5-2.4 1.8-8 1.8-8l-1.3-1c-.8-.7-2.2-2.9-2.2-2.9l-2 3.8c-1 1.8-1.5 2.4-3.6 4.3-2.1 2-5 3.9-6.2 6-1.2 2-.5 6.1.3 7.5.8 1.5 2 1 3-.1l3.7-3.3c2.1-1.8 5-4 6.5-6.3z"/>
+  <path fill="#b96b29" d="M299 325.3c.8-1.7 1.7-3.7 2.5-4.8a15 15 0 001.3-2.2s-2 1.8-2.8 3.1c-.8 1.4-1.3 2.6-1.7 4-.3 1.4-.2 1.6.7 0zm8 1.5l.5-1.9s.3-1 .1-1.1c-.2-.1-1 .6-1.6 2.5-.5 1.8-1.4 4.5-1.2 4.6.2 0 1.8-3 2.2-4.1zm6.3 5l.3-.8s.7-2 .7-2.5c0-.4-.2-1-.8.1s-.6 2.2-.7 2.6c0 .5-.7 2.1-.5 2.3.2.1.6-.9 1-1.7zM293.7 351l-.8-.5-1.3 1.5c-.7.7-1.5 1-2 1.7a8 8 0 01-2.7 2.3c-1.3.7-1.8 1-1.6 1.1.3.2 1.2-.3 1.2-.3s.3 0 1.9-1c1.6-.9 2-1.4 3-2.3 1-.9 2.3-2.5 2.3-2.5zm6.8 8.1c.6-.6 1.3-1 1-1.4-.4-.3-.8-.3-1.4.2l-2.8 2.6-2 1.5c-.7.6-2.3 1.4-3 1.8-.8.5-.1.5-.1.5l1.2-.5 2.5-1s.7-.3 1.6-1c1-.7 2.4-2 3-2.7zm7.9 5.5c.5-1 0-.8-.9-.4-.8.3-2.7 2.4-3.8 3.1-1.1.8-2 1.1-3 1.6-.9.4-.9.7-.8.9 0 .2.4.2.8 0l1.6-.9 1-.2c.6 0 1.3-.6 2.4-1.6 1.2-1 2.2-1.5 2.7-2.5zm3.7 7.2c-1.4.8-3.8 2.7-4.5 4-.6 1.2-1 2.1-.8 2.3.2.2.9-.2 1.2-.7l.9-1.2s2.4-2.4 3.3-3a8.3 8.3 0 002.6-3c.4-1 .1-1.4.1-1.4s-1.5 2.1-2.8 3z"/>
+  <path fill="#c52126" d="M275 170a22.3 22.3 0 00-8.3-2.6c-3.7-.3-6.5.2-9.5 1-2.2.6-4 .7-5.7.3-2.6-.7-4.6-3-5.3-6 0 0-2.4 3.1 0 6.5a7.2 7.2 0 004.4 2.9c5 1 10-2 14.3-2.4 4-.2 7.3 2.4 7.3 2.4s1 .8 2.3 0c1.4-.8 1.8-1.4.5-2.2z"/>
+  <path fill="#d4af3a" d="M260.3 317.5l-1.2-.2c-.7 0-2.2-.6-2.7-.8-.4-.2-1.1-.2-1.6.3-.4.5-4 2.7-4 2.7h6c2 0 3.5-2 3.5-2z"/>
+  <path fill="#d4af3a" d="M277.4 316.4v-.5l-.8-1.8s-1 .6-1.9 1.5c-1.2 1.3-2.4 3-3 3.7-1 1.3-2.4 2.5-1.2.5s1.6-3 2.6-4.4c1-1.3 1.7-2 1.5-2l-3.4-.5c-2.5-.3-4.1-1.3-5.3-2l-3.3-1.9s-4.3 1.9-5.9 2.3c-1.6.4-2.6.6-1 1.4 1.6.8 2.9 1 3.7 1.5a11 11 0 004.6 1.2c1.4 0 3.9 0 3 1-1 1.1-2.1 3-3.2 6a20.3 20.3 0 00-1 7v2.5s1.8-2 6.6-5 6.6-4 7.5-4.4c.9-.4 1.3-.4 1.1-1.5l-.6-4.6z"/>
+  <path fill="#d4af3a" d="M295.6 302a68.5 68.5 0 01-.9-.4 1 1 0 00-.2 0 15 15 0 00-4.6 4.2c-1.2 1.9-2.4 2-1.1 0a17.9 17.9 0 013.2-4.2 23.5 23.5 0 011-.8 53.3 53.3 0 01-7.3-4.2l-1.6 2.5c-1 1-3.3 2-3.3 2s1.8-2 2.4-3.3l.8-2.5a31.6 31.6 0 01-4.8-4.6 17.8 17.8 0 01-4.1 7.4c-3.8 4.2-11.3 6.3-11.3 6.3s-2.6.3-.5.9c2.2.5 3.7 1.5 7.8.8l5-1.1c.6-.2 2 0 0 .7-2 .8-6.9 1.5-8.7 1.4-1.9-.2-4.4-.6-1.8.8 2.7 1.4 3.8 2 5.4 2s2.3.5 3.9.5 2-.3 3-.5c1.2-.3 2 .1 2 .6 0 .4-1.6 1.7-1.5 4.7 0 3.1.3 5.1.5 6 .3 1 1 2.4 1.4 3.2.5.8.7 1.7 1.1-.1.5-1.8 1.5-4.4 1.9-6.1.3-1.7.6-1.8.7-2.7.2-.9 1.2-1.6.7 0a133.4 133.4 0 00-1.3 5.2c-.3 1.5-1.1 4.2.2 2 1.4-2 6.4-7.7 7.3-8.8l2-2.8c.7-.8 2.4-1.9 3.3-3.1a28.5 28.5 0 013.9-4l-4.5-2zm-69.5-129.2c0 3.1 3.5 9 5.5 12.2 1.9 3.1 2.4 4.4 2 4.6-.2.2-1-1.4-2.1-2.8s-3.2-4.7-5-7.2c-1.6-2.5-4.2-8.4-4.5-8.9-.4-.5-.5-.9-1.4-.2-.8.7-2.5 7.2-.5 11.6 2 4.4 5 7.6 6.3 9.2 1.3 1.5 3 4 2.7 4.1-.3.2-.8-.4-2.3-2L221 187a51.6 51.6 0 01-3.8-6c-.2-.5-.6-.4-.8-.2-.5.6-1.4 1.9-1 5.4a17 17 0 005.3 10.2c2.3 2.4 4.6 4.5 4.2 4.9-.3.3-2.7-1.8-4.3-3.3-1.6-1.6-5.5-5.4-6.4-6.5-.9-1-2.1-.5-2 3.7 0 4.3 4.7 8.5 6.6 10.9 2 2.3 4.4 3.7 4.2 4.2-.2.5-2.2-.7-3.4-1.6l-7-4.6c-1-.7-1.4.6-.2 4.6 1.2 4 4.7 7.2 6.8 8.7 2 1.5 5.4 3.3 5.2 3.8-.2.4-1.6-.2-3.6-1.1a39.4 39.4 0 00-6-2.3c-1.6-.5-1.6.7-1.6.7s-.3 3.5 2.2 6.2a13.3 13.3 0 008 4.3c2.6.5 3 .6 3 1-.1.4-.4.5-1 .5l-5.4.2c-2.2 0-3.4.6-3.4 1.6s-.1 2.3 3.3 4.6 7.2 2.6 8.8 3c1.6.3 1.7.4 1.4.9-.4.5-1.1.4-3.6.7-2.6.2-4.1 1.2-4.5 2-.3.6.2 2.6 2.3 4 2 1.4 4.8 1.9 8.8 1.6 4-.3 5-.3 5.1.3.2.7-1.2 1-3.2 1.2-2 .4-3.5.4-4.7 1.3-1.1 1-.2 2.9 1.7 4.3 2 1.4 6.8 1.4 8.8 1.3 2-.2 5-.9 5.3-.4.2.6-1.5 1.4-3.6 2.1-2 .8-2.7 1.2-3 2.1-.5.9-.1 1.7 2.3 2.6 2.5 1 6.1 1 8 0 1.9-.8 2.9-1.1 3.2-.8.4.3 0 .7-.4 1.1-.4.5-2 1.8-4 2.3-2.1.6-2.3.6-3 2.2-.8 1.7 1 3 4.8 3.2 3.8.1 8.8-1.4 10.4-2.3 1.6-1 2.2-1.1 2.5-.8.2.3.2.5-.6 1.1-.8.6-3.4 2.5-4.7 2.8-1.2.3-1.4 1.3-1.4 2.1 0 1-.3 2.6 3 3.5 3.4.8 7.3.2 11-2.4a8.3 8.3 0 002.2-2 28 28 0 01.2-8c-.7 0-2-.3-3.4-.9-2-.8-2.8-2.6-3.3-3.6-.4-1-1.1-1-2-.8-.7.3-1.5.6-2.6.6a7.9 7.9 0 01-5.3-2.8c-1.8-2-1.4-4-1.5-5 0-1-1.7-.3-2.5-.3s-3.1-.4-5.3-1.9c-2.1-1.4-2.1-3.4-2.3-4.3-.2-.8-1-1.3-1.7-1.6-.7-.2-1.8-.5-3.3-1.7a6.9 6.9 0 01-2-4.4c-.1-.8-1-.8-4-2.4-3-1.5-2.7-4.7-2.6-6 .1-1.3 1.5-2.3 1.5-2.8s-1-.6-2-1.2-3.5-1.6-3.6-5.4c0-3.7 2.4-4.1 2.4-4.1l-1.4-.8c-1-.6-3.8-2.5-3.8-4.7s1-3.2 1.8-3.8 2.7-1 2.7-1-1.3-.9-1.8-2.6c-.5-1.7-.7-3.9.5-5.4 1.3-1.6 3.4-1.6 4.6-1.6 1.1 0 2.1.6 2.5.3.4-.3.5-.6 0-1.5a6.6 6.6 0 010-3.7c.3-.8.4-2.2 3.2-3.2 2.9-.9 6 1 6.9 1.6.9.5.5-.8.5-1.7 0-1-2-3.3-4.2-6.6a73 73 0 01-5.6-10.2 65.7 65.7 0 01-4.5-13.4c-.3-1.6-1-.8-1-.8s-.6.2-2.2 4.1a25 25 0 00-1.6 10.5z"/>
+  <path fill="#d4af3a" d="M276.5 241.4c-1.7-.1-4-1-5.7-3.6-1.7-2.5-4.3-3-8.8-3-4.4.1-6.5-2-7.6-5.2-1.1-3 .1-6.6 4.7-8.9 4.6-2.2 6.7-4.7 6.8-8.6.2-3.9-4.5-8.7-9.3-14.1-4.7-5.5-8.4-13.2-8.4-13.2s-1.4 1.8-1.4 3.7c0 1.8.7 3.7 0 4.2s-1-.8-3.7-2c-2.8-1.2-5-1.4-6.7.6-1.8 2 0 5.4 1.5 7 1.6 1.7 2.9 3 2.4 3.5-.4.6-2.7-.9-3.5-1.4-.8-.5-2.6-2.5-5.3-2.3-2.6.3-3.6 1-3.8 3.3-.3 2.3 2.4 4.2 4.1 5.1 1.7.9 2.4 1.6 2 2-.5.3-.9 0-1.7-.3a8 8 0 00-4.3 0c-1.4.6-3.6 2.5-1.5 4.8s6.4 3.2 7.2 3.3c.9.2 1.3 0 1.4.6 0 .7-1.8.7-4.1.8-2.4.1-3 2.4-2.7 4 .3 1.8 4.2 3.7 6.4 4 2.1.4 2.9 0 3 .7.2.6-.2.8-1.4 1.2-1.2.3-3.5.6-4 2.5-.4 1.9-.5 2.7 1.3 4.4 1.8 1.6 4.8 1.4 5.6 1.2.9-.2 2-1.1 2.8-.3.9.9-.8 1.6-2.3 2.6-1.4 1-1.3 3 1.2 4.4 2.5 1.4 5 .9 6 .5 1-.3 2.4-2 3.1-1 .7 1.1-2.2 1.5-3.4 3-1.2 1.4-.7 3.8 1.7 5.3s6.4.4 7-.2c.7-.6 1.6-.8 2.1-.3s-.2 1.9-.8 3c-.5 1.3-1.4 4.8 2.2 6.2s6.9-1.7 7.5-2.3c.6-.6 1.2-.7 1.7-.5.5.3.3.8-.1 1.4-.5.6-1.4 3.2 1.2 5a6.3 6.3 0 004.7 1l2-7.2h-.6c-.3 0-.4.5-.4.7 0 .2 0 .4-.2.4-.3 0-.4.2-.8.5-.5.3-.9.7-1.1.5-.3-.2 1-.8 1.2-1.2.3-.4 1-1 1-1.4 0-.4.2-.6.9-1.1l.4-.6a100.5 100.5 0 001.7-12.7h-1.2zM203 187.6a37.3 37.3 0 009.3 12.1l-1-3.2c-.4-1.4-.2-2.9-.2-2.9s-1.3-1.7-3.8-5.6c-2.6-3.9-3.9-9.6-3.9-9.6s2.4 5.7 4.2 8.8c1.8 3 4 5.5 4 5.5s.6-2.7 1.2-2.8c.5-.2.9.2 1.3.8.5.6.9.6.9.6l-1.6-2.8-1.5-2.2c-1.5-2.3-4.6-6.6-6.1-10.9-1.6-4.3-5.1-15.1-5.7-18.3-.6-3.2-1.2-1.4-1.8.9a27.6 27.6 0 00-1 10.7 53.5 53.5 0 005.7 18.9zm5 21a135.9 135.9 0 003.5 2.5l-.6-1.7-.3-2.9-2.8-2.5a41.7 41.7 0 01-5.6-6c-3-3.6-.6-1.4 1.8 1.2s7 6.3 7 6.3v-.8a3.1 3.1 0 01.7-1.9c.4-.6.2-.6-2.4-2.6a74.5 74.5 0 01-17.6-24.4s-1.4 9 4 18.7c5.4 9.9 10.8 13 12.2 14.1zm28.5 56.3c3-1.2 2.1-4.1 2.1-4.1s-1.8.5-3.5 1.2c-1.7.6-5.8 1.8-7.4 1.8-1.7 0-1.7-.2-1.7-.4s1.2 0 3.6-.4a29 29 0 007.2-3.1c.7-.5.6-.6-.4-.7a4.5 4.5 0 01-2.4-.9c-.4-.3-1.5.1-4.2.8a50.8 50.8 0 01-21.5.7c-.6-.2-1.3.2.7 3.7 2.1 3.5 9.4 5.3 14.4 5.3s10.1-2.8 13-3.9zm-13.4-7.2c5.2 0 7.1-1.5 7.1-1.5l-.7-1.3c-.7-1-.6-2.9-.6-2.9l-3.4.6c-2.1.3-4.6.6-7.4.1-2.8-.5-1.6-.8.6-.5 2.2.2 6.4-.6 7.8-1 1.4-.5.8-1-.1-1.3-1-.3-3.5-1.9-3.5-1.9s-6.3.8-12.1.2c-6-.7-9.6-2.2-10.8-2.4-1.2-.2-1.2.3-1.2.3s-.3.6 1.8 3.7c2 3.2 6 5.3 9.3 6.3 3.4 1 8 1.6 13.2 1.6zm-1.4-12.2l-.5-1.3c-.3-1 .6-1.9.6-1.9s-1.2-.3-5.1-.8c-3.9-.5-4.1-.8-6.5-1.3-2.4-.6-4-1.3-4-1.5.1-.3.9 0 2.3.6 1.4.5 7.4 1.2 9.9 1.5 2.5.4 3.9.6 4.3.4.5-.3 2-.7 2-.7l-2.4-.5a8.4 8.4 0 01-3.2-1.3c-.7-.5-.9-.6-4-1-3.3-.3-5.8-1.3-11.5-3.4-5.7-2-10-4.6-11.1-5.5-1.2-1-1-.3-.8 1 .3 1.1.3 2.6 3.2 6 2.8 3.3 4.2 4.8 11.5 7.4 7.2 2.7 15.3 2.3 15.3 2.3zM200.2 228a40.6 40.6 0 0015.5 6.4c.4-.4-.4-2 0-2.8.4-1.1 1-1.1 2.6-1.2 1.6-.1.5-.4.2-.4l-3-.7c-2.6-.7-5.2-1.1-8.7-2.4-3.5-1.4-4.6-2.3-4.5-2.6.1-.3 1.6.8 5 2 3.2 1.3 7 1.8 9 2.3 2.1.4.3-.5-.7-1-1-.6-2.3-2.8-2.3-2.8s-2.3-.4-6-1.5a48.8 48.8 0 01-10-4.2c-1.1-.6-2.2-1.4-3.3-2.2l-5.1-3.7c-1.3-1-1-.2-.8.4s1 3.2 3 6.1c2 3 2.7 3.8 9.1 8.3zm-1-12.7c6.3 5 11.7 6.6 12.6 7 1 .4.9-.2.7-.7-.2-.5-.3-2.2-.3-2.2l-4.8-2.8a79.6 79.6 0 01-7.1-4.7c-1.9-1.3-.8-1.2-.2-.7.6.5 3.1 2 5.7 3.6l6.4 3.9s.1-.9.7-1.4c.5-.5 1.8-.4 1.8-.4l-1-1.3c-.4-.6-2.5-1.3-4.9-2.4a57.5 57.5 0 01-9.6-6.8c-3-2.6-9-9.1-9.5-9.7-.4-.5-.6-.4-.7.3 0 .6-.2 1 .4 4 .7 3 3.5 9.4 9.8 14.3zm22.3-47.2c.7 1.5 1.5 2.6 2 3.6a52 52 0 011.4 2.4s.2-.5 0-1.4c-.1-.8-.2-2 0-3.5l.3-2.3c0-.7-.4-1.4-.5-1.9l-1.5-7c-.5-2.7-1-6.4-.9-9.7 0-3.2.5-1.6.5 0a62.2 62.2 0 002.8 17.2s0-.9.5-2.1c.5-1.3 1.3-2.7 2-4.2.5-1.6.3-1.9.3-1.9s-2.2-10.6-2.8-15.6c-.6-5-1.5-18.1-1.5-18.1-3.3 3.2-5.7 11.8-6 20-.4 6 .6 11.7.9 14 .5 4.5 1.3 8 2.5 10.5zm-7.2 16.8c.1-2.4.7-4.3 2.2-4.8 0 0-1.3-2.4-2.5-5.8a45.7 45.7 0 01-1.9-7.7c-.8-5.6-1.5-11.5.2-2 1.7 9.7 3.7 13 3.7 13l2.5 4a17.3 17.3 0 01-.4-4.9c.1-1.9.4-4.5 1-6.5 0 0-3-6-4.9-13a82.2 82.2 0 01-3.2-22.7s-3 2.3-4 13.9a69 69 0 007.3 36.5zm33.3 88.6l-2-1.3c-1.4-.9-1-3.7-1-3.7l-1.4 1a19.2 19.2 0 01-3.7 2.2c-1.5.6-2.2 1-3 1.2-1 .3-.8 0 0-.5.8-.4 1-.7 3-1.4 1.9-.8 5.7-4.2 5.7-4.2l-2.5-.1c-1.6 0-3.6-.9-3.6-.9s-1.6 1.4-8 4.2a50 50 0 01-11.8 3.5s.7 3.2 3.8 4.3c2.5 1.1 6 1.8 12.9.2a43.5 43.5 0 0011.6-4.5zm8.4 6.5c.5-2.7-1-4.6-1-4.6l-1.3 1.1c-1 .9-2.4 2.5-5 3.9-2.8 1.3-3.7 1.2-1.1-.2s6.4-5.3 6.4-5.3l-1-.4c-1-.4-2.8.3-10 4.6s-11.4 4.5-11.4 4.5 3.2 3.9 12 3.6c8.7-.3 11.8-4.5 12.4-7.2zm16.5-3.1s-1 1.3-2.3 2.2c-1.3.9-4.7 1.4-4.7 1.4l-.8 1.2c-.7 1-2.2 3-3.7 4-1.6 1.2-4 2-4.1 1.6-.1-.3 1.4-.8 2.9-1.8 1.5-.9 2.8-2.6 3.8-3.7 1-1.2-.4-1-.4-1h-3.5c-1.7-.2-1.4 0-1.9.7l-2.4 3-4.4 5.1c-1 1.2-.2 1.5-.2 1.5s.4.7 4.3 1.2c2.4.2 5 0 7.8-1.6a23 23 0 005.2-4.5c4.6-5.1 4.4-9.3 4.4-9.3zm2 10.5l-1.4 1.8 1.2-3c.3-.6.7-1 1-1.4-.7-1.4-1.3-3-1.6-4.7-.5 1.4-1.8 5.5-3.4 8.1-2 3.2-3.8 4.4-2.7 5.3 1.2.8 3.4 1 6-.2 2.4-1.2 3.1-3.3 3.5-5a24.8 24.8 0 01-1.2-2.1 5 5 0 00-1.3 1.2z"/>
+  <ellipse cx="274" cy="158.6" fill="#d4af3a" rx="1.8" ry="1.6"/>
+  <path fill="#d4af3a" d="M270.3 155.5c1.6 0 2.4-.8 4.2-.6 2.2.2 5 1.4 8.6 3.3a14.6 14.6 0 009.8.9c1-.3 2-.9 2.9-1.4 4.2-2.4 3.2-7.1 3.2-7.1a16.7 16.7 0 01-10.7 3.2l1 .8c.5.6 1.7 1.4 1.3 1.7-.4.3-2-1.2-3.2-2.2a19.4 19.4 0 00-6.5-3.2c-3.3-1-7-1-9.5.4-2.5 1.3-2.7 3-2.3 3.7.2.4.6.5 1.1.5zm46.2 34.7c-.8-.2-2.1-.4-3.8-2a71.4 71.4 0 01-6.3-7c-.5-.8-.3-1.5.9-2 1.1-.5 2-2 2-2s-2.6-1-4.3-2.2a44 44 0 01-6.2-5.7c-.6-1-.3-1 .5-1.3.8-.3 1-.8 1-.8s-1.8-1.2-3.5-2.6a71 71 0 01-4-3.6c-2.6 1-6.7.6-8.9.2-3.8-.7-6.6-2.3-6.6-2.3l-.6 1.8c-.5 1.2-2.3 1.8-4 .7-1.8-1.2-1.4-3.7-1.4-3.7s-1.5-1-4.4-2c-3-1.1-5.4-1.3-7.8-.2-2.4 1.1-3.6 4.4-3.6 7 0 2.4 1.4 1.3 1.6 1 .3-.3.9-2.1 3.9-2.6s5.7 1 9.2 3.8c3.4 2.8 4.1 3 5.9 4.8 1.7 1.8.3 2.7-2.6 3.7-3 1-6.8-1-6.9-.9-.6.3 1.3 3 3.8 4 2.6 1 5.8.3 8.3-.8 1.7-.6 2 0 2.6.6a15 15 0 014 9 4 4 0 002.6-3c0-.6.2-1.8 1.2-1 1 1 1.7 6 1.7 8.2s-.7 5.3-.7 5.3h.7l2.3-1.2c1.1-.7 1.2 0 1.2 1.3s.4 3.6 2 7.8c1.7 4.2 4.1 5.5 4.1 5.5s.5-.8 1-2.5.8-4.8.8-7.7c0-2.8-.8-8.8-.8-8.8s3.5 4.2 7 5.2c3.6 1 7.2.4 8.7-1.3 1.5-1.7.1-2.5-.6-2.7z"/>
+  <path fill="#d4af3a" d="M293 201s-1 2.5-1.7 3.3l-.8 1s1 1 2.6 1.4l3 .8s-1.8-2.4-2.4-4.1l-.7-2.3zm21.4-1.3a71.6 71.6 0 00-.8-2.1 15 15 0 01-8.2-1.7s1.7 3.3 3.3 4.5l1.9 1.2s-1.7.3-3.9-2c-2.2-2-3.1-4.6-3.1-4.6s.5 5.8-.4 9.3l-1.1 4s4.6.9 9.8-.6c5.2-1.4 5.6-1.9 5.6-1.9s.6-.1-.2-1.2a28 28 0 01-2.9-5z"/>
+  <path fill="#b96b29" d="M305 187a11 11 0 01-1.8-2.3s-.5.5 0 1.3a15 15 0 004.3 3.7 11.1 11.1 0 003 1.2v-.4s-3.9-1.7-5.5-3.5zm-6.3 12l-.4-8.3c0-1-.7-.8-.7-.8l-.8.3 1.6 10.6c.1 1.2.7 1 1 1-.6-.3-.7-2.5-.7-2.8zm-9.8-31.4c-.6-.6-2-1-.7.4s3 3.2 3.5 4.7c.5 1.4.8 3.3 0 2.9-.9-.4-1.5-.4-2.4-1.2a15 15 0 00-3.2-2.1c-.7-.2-2 0-1 1a24.8 24.8 0 004 3.6c1.8 1.3 3 2 4 2.6a36.9 36.9 0 001.9 1.3s-.9-6-2.5-8.5a26.3 26.3 0 00-3.6-4.7zm-32 99.2a7 7 0 01-2.8 1.3s-.8 0-.8.2 1 0 1.8-.1a8 8 0 002.6-1.4c.5-.4 1.2-.8 1-1.4-.3-.6-.6.5-1.8 1.4zm10.3 5.5l-2.2 1.8-1.3.7c-.7.2-.9.6-.9.6s.2.2.9 0 2.7-1.7 3.4-2.3c.7-.6 1-.7.7-1s-.4 0-.6.2zM225.3 198c.4.4.8 1 1 .9.2-.2 0-.5-.5-1l-.8-.9-1.1-1.5c-.4-.4-1-.7-.3.3l1.7 2.2zm-3.2 7l1.4 1.3c.5.5.8 1.1 1.1.8.3-.3-.7-.9-1.2-1.5a7.5 7.5 0 00-1.4-1.4 10 10 0 00-1.2-.8l1.3 1.6zm1.2 11.2c.8.9 2 1.1 2.1.8.2-.4 0-.6-.7-1a24 24 0 01-2.3-1.4l-1.4-1.1c-.4-.4-.8-.7-1-.6-.1.1 1.1 1.5 1.5 1.7.4.2 1 .8 1.8 1.6zm2.3 9c0-.3 0-.5-.6-.5a26.9 26.9 0 01-1.6-.2s-1.3-.5-1.3-.2c-.1.3 1 .8 1.5.8l1.4.4c.3.2.6 0 .6-.3zm1 9.8c-1.4 0-2.6-.3-2.7 0-.1.1.6.5 1.3.7.8.3 2 .3 3 .4 1 0 1-.2 1-.6 0-.5-1.2-.5-2.6-.5zm11 10.8c-.2-.2-.7 0-1.5 0-.8.3-2 .5-2.8.5l-2.4-.1-.9.2c0 .2 1.2.2 3 .4 1.7.2 2.9-.2 3.7-.3.8-.2 1.1-.5 1-.7zm4.6 7.6a5.6 5.6 0 01-2.2.4l-2.2.3s-.8 0-.6.4c0 .3.3 0 1-.1h2.3c1.1 0 1.8-.4 2.5-.5.7-.1 1.5-.5 1.2-1-.4-.4-1.2.2-2 .5zm8.9 5.8l-2.4 1.8-1.2.6c-.7.4-.7.6-.6.8.2.2.6-.3 1-.5.5-.1 1.8-1 2.5-1.6.7-.6 1.6-1 1.5-1.5-.2-.4-.3-.1-.8.4zm-14.8-74.8l1.7 2.3c1.6 1.9.7.1.3-.4l-3.4-4.5c-.8-.9-.9-.5-.5 0l1.9 2.6zm-3.2 9.8c.2-.2-.3-.4-1.2-1.5l-2.6-3.3s-.5-1-.7-1c-.1.1.6 1.8 1.3 2.5.7.7 1.7 2 2.2 2.7.5.6.7.9 1 .6zm4.2 18.5c0-.5-1.7-.5-2.5-.6l-2.2-.5s-1.6-.3-1.7 0c0 .1.3.3 1.2.5l3.4.8c1 .1 1.8.3 1.8-.2zm-4.2-10c1.1 1 1.9 1.4 2.5 1.7.6.4 1 .8 1.4.5.3-.4-.3-.7-1.3-1.1-1-.5-1.4-.9-1.4-.9l-1-.5c-.6-.3-1.4-.6-.2.3zm9.9-6.5l-1.4-1s-.8-.8-1-.5c-.2.3 1 1 1.5 1.6.6.5 1.6 1.9 2 1.6.6-.3-.4-1.1-1.1-1.7zm-6.5 25.7l-1.6.4c-.6.2-.7.4.5.4 1.1 0 1.5-.3 2.7-.5 1-.2 1.5-.3 1.3-.7-.2-.3-.8-.2-1.2 0l-1.7.4zm1.7 9.3c0 .2.8 0 1.4-.2.6-.2 1.8-.9 2.5-1 .7-.3.7-.4.7-.8s-.8 0-1.7.2c-.9.3-2 1.2-2 1.2s-.8.4-.9.6zm12 5.6c.9-.5 1-.8.7-1-.3-.3-.5-.3-1.2.2a51 51 0 01-2 1.5l-1 .5c-.6.2-1.2.7-1 1 .1.1 1.2 0 1.7-.6s2-1 2.8-1.6zm5.7 7.5c.3-.3 1.3-.6 1.8-1 .4-.3.7-1.3.3-1.4-.3-.1-.5.4-1.3 1l-3.5 2.4-.7.3c-.8.2-.4.5.2.4.6-.1 1-.1 1.8-.7l1.4-1zm8.3 7.1a10 10 0 002.3-1.7c.5-.4 1.1-1 .7-1.3-.3-.3-.7.1-1.3.6l-2.1 2.2s-.3 0-1 .7c-1 .7 0 .5.2.3a3 3 0 011.2-.8z"/>
+  <path fill="#d4af3a" d="M295.2 143.5l3.2 1.4 3.4-2.4-4-1z"/>
+  <ellipse cx="309.2" cy="142.1" fill="#b96b29" rx="3.2" ry="3.1"/>
+  <circle cx="309.2" cy="141.4" r="1.9" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M302.4 131.4c.9.3 2 .2 2 .2s.3-1.4-.5-2.1l-2-1.7-.5-.6-.1 2c0 .8.3 1.9 1.2 2.2z"/>
+  <circle cx="304.2" cy="133" r=".6" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M299.8 132.4l-.8.9s.6 0 1.2.4c.5.4 1.2.7 1.8.6.7 0 1-.7.8-1-.1-.5-.4-1-1.5-1.3-1-.4-1.3 0-1.5.4zm2.2 3.7c-2 .2-4.7-2-4.7-2-.2 1.8-1.3 2.7-3 3l.1.1s1.6.8 3.5 1.1a7 7 0 002.5-.2c1-.2 2.3-.5 3-1 1.2-.7.8-2.6.8-2.6s-.2 1.5-2.2 1.6zm-7.9-2c-.8-.3-2-.9-2.6-1-.5 0-1.2 0-1.1.9.1 1 1.1 1.4 2 1.4 1 0 1.5-.3 2.1-.6.6-.3.5-.4-.4-.7zm-6.3-3.4c-.9-.7-1.7-.9-1.7-.9s-.6 1.6-.3 2.6c.4 1 1 1.2 2 1.2.8 0 2-.5 1.7-1.2a5 5 0 00-1.7-1.7z"/>
+  <ellipse cx="288.6" cy="135.1" fill="#d4af3a" rx=".7" ry=".5"/>
+  <path fill="#d4af3a" d="M290.6 127.3a11 11 0 012-9.3c2.5-3.6 7-5.1 7-5.1l1.5-1.8c1.4-1.5 4.2-3.4 4.2-3.4l-5.2 1.5a2.3 2.3 0 01-2.2 2.4c-.5 0-1-.2-1.3-.4-1 .1-4.4 2.2-5.3 2.9l.3 1.2a2.3 2.3 0 01-2.2 2.3c-.4 0-.7 0-1-.2a9.6 9.6 0 00-.3.5 23.4 23.4 0 00-1.7 3.7c.6.4 1 1.1 1 2 0 1.3-.9 2.3-2 2.3a7.9 7.9 0 000 1.5c.1.7.4 1.2 1.7 1.6 1.3.3 3.1 2.6 3.1 2.6.1 0 1-1.6.4-4.3z"/>
+  <path fill="#d4af3a" d="M298.6 110.3c.5-.4.6-1 .2-1.4-.4-.3-1-.3-1.5.1s-.6 1-.2 1.4c.3.3 1 .3 1.5-.1zm-8.5 5.7c.6-.5.7-1.3.3-1.7-.5-.4-1.2-.4-1.8.1s-.6 1.3-.2 1.7c.4.4 1.2.4 1.8-.1z"/>
+  <circle cx="285.1" cy="123.2" r="1.3" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M313.3 105c-.7.2-2 .6-3.8 1.6 1.3 0 2.3.8 2.3 1.9 0 1-1.1 2.2-2.4 2.2a2.2 2.2 0 01-2.2-2.2l.1-.7-1.7 1.2a17.6 17.6 0 00-7.2 8c-2 3.8-2.8 8-2 10.4 1 2.5 4.2 3 4.3 3 0 0-.4-.3-.5-.8l.3-1.6v-2.1s.8-.1 1.2.4l1.4 1.7 1.6 1.5s.6-1 .6-2.1-.7-2.3-.9-4.3c-.1-2 1-5.5 2.8-8 2-2.6 5.5-5 6.6-5.5a2.1 2.1 0 001.3-1.7l.3-2c0-1.2-1-1.1-2-.9z"/>
+  <path fill="#d4af3a" d="M309.2 109.5c.7 0 1.4-.7 1.4-1.3 0-.6-.6-1-1.3-1-.8 0-1.4.4-1.4 1s.6 1.3 1.3 1.3zm6.2 24.4c1 .4 2.1.1 2.6-.2.6-.4.7-1.3.1-1.8a2 2 0 00-2.1-.2l-2 1.3s.4.5 1.4.9z"/>
+  <path fill="#d4af3a" d="M318.6 135c-.4.6-.7.9-1.8 1-1 0-2.3 0-3-.8a7.7 7.7 0 01-1.3-1.7h-1.2s-.4 1.7-1 2.1c-.5.5-2.5.6-3.3 0-.9-.7-1.6-1.4-1.8-1.3-.1 0 0 .7.9 1.4s1.5 1.3 2.9 1.3h8s1.6 0 2-1c.5-.9.5-1.5.3-1.7-.2-.3-.4.1-.7.7z"/>
+  <path fill="#d4af3a" d="M306.4 133.7c1.2.6 1.9.2 2.3-.3l.6-.8-1.7-.7c-.6-.4-1-.7-1.5-.6l-.6.1s-.3 1.6 1 2.2z"/>
+  <ellipse cx="300.7" cy="121.9" fill="#b96b29" rx="2.7" ry="2.6"/>
+  <path fill="#b96b29" d="M305.3 112.7c-1-.7-2.6-.4-3.5.6-.9 1.1-.7 2.6.4 3.3 1 .7 2.6.4 3.5-.6.8-1.1.7-2.6-.4-3.3z"/>
+  <ellipse cx="300.6" cy="121.5" fill="#d4af3a" rx="1.6" ry="1.5"/>
+  <path fill="#d4af3a" d="M304.2 113a1.8 1.8 0 00-2 .8c-.3.6.1 1.2 1 1.4 1.7.3 2.5-1.8 1-2.2zm-40.7 206s-4.1 2-5.4 2.3l-1.6.4s-2.8 2.5-4.9 3.8a18.3 18.3 0 01-7.1 2.4c-3.2.4-12 .3-16 .1-4-.1-6.4.8-8.1 2.7-1.7 2-2.1 4.7 0 6.8 2.2 2.1 4.6 1 5.4-.2.8-1.3.4-3 0-3.7-.3-.8.7-1 1.8-1.1a24.3 24.3 0 0110.7 2.3c1.3.7.6.8-.3.7-1-.2-2-.5-3.5-1.1-1.6-.6-3-1-4-1s-.7.5-.5.9l1 1.6c.1.4-.3 1.9-.3 1.9l.5 1 .8-1.5c.2-.5-.1-1.5.1-2 .2-.4 1-.4 1.7.4a6.7 6.7 0 011.8 3.5c.3 2-.3 3.3-.3 3.3s.8.7 1 1.1l-.3 2.3s.6.3 1-.7c.6-1 1.2-3 1.3-3.6.2-.7.6-1.9 1.4-1 .8 1 1.4 2 1.5 2.6l.2 1s1.8-1.7 2.4-2.8a17 17 0 013.6-3.9c1.7-1.4 4.6-4.2 6-5.2 1.5-1 5.2-3 6.4-3.6 1.1-.7 1.3-.8 1.5-2.7.2-2 1.2-3.8 1.6-5.1l.6-1.9zm-65.8-73.7c0-.4-.7-1.5-.8-2.1-.2-.6-.8-.3-.8-.3s-1.3.8-2.3 1c-1 .3-1 0-1.2-.6l-.5-3.2c-.2-1-.4-1-.8-.8l-2.4 1c-.9.3-.6.7-.3 1.2l1.6 3.1c.5.7 0 1-.4 1.3l-2.3.6c-1 .4-1 .6-.8 1 0 .3.8 1.7 1.1 2.3.4.6.7.2.7.2s1.1-1 2-1.4c.9-.4 1-.3 1.2.4l1.5 4.8c.2.7.5.6 1 .4l1.6-.4c.5-.2.7-1.3.7-1.3l-2.5-4.4c-.5-1 0-1.1.4-1.2.4 0 1.6-.2 2.6-.5 1-.2.7-.8.7-1.2zm22.3 96.5c-.1-.8 0-1.7-.6-2.3a8.1 8.1 0 01-1.8-3c-.3-1 .3-1.6.2-2.2-.1-.6-1-.6-1.7 0-.8.7-1.9 1.3-1.9 3.2 0 2 .7 4.2 3.4 5 2.6.8 2.6.2 2.4-.6zm2.7-.9s-.5-.3-.8.2c-.2.5-.2.7.5 1.9.7 1 1.2 1.3 2 1.8s.2-.5.1-.8c0-.3 0-.7-.2-1s-.3-.5-.3-1.3-1.3-.8-1.3-.8z"/>
+  <path fill="#d4af3a" d="M226 350c.5-.8 1-1 2.1-1.5a15.3 15.3 0 014.2-1c.7 0 2.5-1.4 2.2-3-.3-1.4-1.4-2-2.3-2.2-1-.3-1.8-.3-2.1.2-.3.5-.9 1-2 1.4s-1.1.7-1.8 1c-.6.1-.1.5-.7 1-.5.4-1.3 0-2.1-.3-.9-.2-1-.4-1.9-.4l-3.4-.2h-.7c-.6 0-.6 0-.9.6s.1 2.1.7 2.9c.6.7 2.6 1 3.9 1.5l3 .8c1.2.1 1.3 0 1.8-.8zm12.2 1.2c1-.7.4-2 .2-2.7-.3-.7-1.7-.9-2.5-.9-.7 0-1.1 0-1.5.4-.4.3-1 .8-2 1.2-1.2.3-2 .7-3.6 1.3-1.5.6-2 1.6-2.6 2-.6.4-1.9 0-1.9 0s-.9-.2-1.2 0c-.3.3 0 .8.6 1.5.6.6 1.8.6 3 1 1.4.4 1.6 0 2.1-.3s1-1 1.8-1.6c1-.6 3-.7 3.9-.8 1-.1 2.6-.4 3.7-1.1zm0-4.6c.4.4 1 1 1.3.3.4-.6 1-2 .6-2.8-.4-.8-1-1.5-1-1.5l-1 3c-.4.5-.4.6 0 1zm-4-7c0-1.2-1-2.8-1-2.8s-.3 1.2-.9 2.2c-.5 1-1 1.6-1 1.6l1.7.4c.5 0 1.1 0 1.1-1.3zm-7.6 2.8c1.4-.2 2.1-.8 2.7-1.3.6-.5 1-1.9.6-2.6-.4-.7-1.4-1.4-1.8-1.4h-.8s-.4 1.3-1 2c-.5.6-1.1 1-1 1.9 0 .8-.1 1.7 1.3 1.4zm2.8-6.3a2.4 2.4 0 00-.6-1.9l-.8-.7-.2 1.6-.1.6.7.6c.4.1 1 .4 1-.2zm-17.3-35.7l1-6a39 39 0 00-6.3-15.4c-2.4-3.8-5-10-6-13.2a37.4 37.4 0 01-2-10c0-2.3 1-3.5 1-3.5s.5-.6.1-1-1 0-1.7.6a7.5 7.5 0 00-1.5 2.6l-.3 1.1s-1.2-.3-3.3-.1c-2 .2-3 .3-3 .8 0 .4.3.7 1.7 1.4 1.5.6 2.4.9 3.1 1.7.8.9 2.6 5.2 3.2 7.3.6 2.1 1.8 7.8 2.3 12.2a49 49 0 004 14.4c.8 1.5 4.5 8.5 7.7 7zm3.7 10.4c-1.4.8-1.3 6.4-.7 9.3.6 2.9 3.4 6.5 4.3 7.5.9 1 1 1 1.5.7l.7-.2s1.2-.5 2.1-1.2c1-.7.6-2.5.4-4-.1-1.6-1.4-4.8-3.6-8.5-2.2-3.6-3.3-4.4-4.7-3.6zm1.5-4.5c0-1.9-1.6-3.2-3.4-3.2-.9 0-1.6.2-2.1.6-1.9 1.7-.7 5.8 2 5.8.9 0 2-.1 2.7-.8.7-.6.8-1.6.8-2.4zm26.5 52.7a7 7 0 01-2.2-1.2 10 10 0 01-3.1-3c-.3-.7-.3-.7-1.4-.4-1 .4-2.5.3-3.6.4-1 0 .2 1.3 1 2.4.7 1.2.4 5.1.4 5.1l-.1.9c-.2.6 0 1 .2 1 .3.2.5 0 1.3-1 .8-.9 2.2-3.2 2.2-3.2l1.4.3c1.2.3 3.1.1 4.1-.2 1-.3.6-1-.2-1.1z"/>
+  <path fill="#d4af3a" d="M239.2 362c-.5 0-.7-.1-1 .2l-.6 1.4c-.1.3 0 .6.2.9l.8.5s.4.5.8.7c.5.2.5-.4.5-.9l.3-1.9c0-.6-.4-.8-1-.9z"/>
+  <path fill="#1d5e91" d="M435 324.2c-1.3-.3-1.9-.8-1.9-.8s-.5 0-1 .7c-.3.8-2 1.8-2 1.8s-2.2.6-2.5 2.2c-.3 1.5.8 2 1.8 1.9 1.1-.2 3.7-.7 4.9-2.1 1.1-1.4 1.3-2.2 1.5-2.7.2-.5.4-.7-.9-1zm3.5-12.4a15 15 0 00-7.4-9.9l-2.1 7.5c-.5 1.8-.5 1.7.9 2l6.7 1.6c.9.3 2.4 1 1.9-1.2zm-20.6-3.2c1 .1 1-.3 1.3-1.7l2.1-8.2s-4.5-.1-8.5 1.8c-3.9 1.9-5.6 5.4-5.6 5.4s1 .4 3.7 1 6 1.5 7 1.6zm-10.5 9.3l-2.2-.4s1 3.8 2.7 6c1.7 2.2 3.5 3.2 7 3.3 3.5 0 6-1.9 6.5-3.4.4-1.5 1.1-2.6 1.1-2.6s-6.2-.8-8.8-1.4l-6.3-1.5z"/>
+  <path fill="#d4af3a" d="M406.3 315.5l15.5 3c1 .3 2 .5 2.2.2.3-.3.5-.5 1.6-.9 1.2-.4 1.1-1.5 1.1-1.5l.4-2.2c.2-1 .8-1.4 2-.1 1.3 1.3 1.5 3.2 1.7 5 .3 2 3.2 2.4 4.4 2.6 1.1.2 1.6-.2 2.3-1.3.7-1 1-3.2 1.2-4.6.2-1.4 0-1.2-1.4-1.6l-9.3-2.2c-1.2-.2-1-1-.7-1.9.1-.8 2.8-9.2 2.8-9.2a18.9 18.9 0 00-7.7-2.3l-2.3 10c-.3 1.3-1.2 1.3-2.5 1-1.4-.2-11.3-2.5-11.3-2.5l-.8 1.8a15.5 15.5 0 00-1.1 5.2c0 1.2.4 1.2 1.9 1.5z"/>
+  <path fill="#d4af3a" d="M440.3 323.3c-1.3-.9-2.3-1.1-3 .5-.7 1.6-.7 4-2.4 5.6-1.8 1.7-4.2 3.4-6.6 3.2-2.4-.2-3.7-.7-3.2-3.5.6-2.7 4.3-3.6 5.1-5 .9-1.5.7-3.1-.6-4.2-1.3-1.1-3.1-1.3-3.6-1a8 8 0 00-2.8 3.7c-.7 2-1.2 3.7-2.8 5a12.2 12.2 0 01-9 2c-3.1-.8-4.3-1.8-5.5-5-1.2-3.1-2.6-8.3-3.2-9-.7-.5-1.5-1-2.8 0-1.4 1-1.5 2.4-1.7 3.6-.2 1.1 0 2.5 1.4 4.1 1.4 1.7 2.8 3.3 3.3 5 .5 1.8 2 4.4-.1 4.5-2.2.2-3.2.2-4.8-1.4-1.7-1.6-8.2-6-10-7.4a29 29 0 00-2.5-2c-3 0-6-1.2-9-3.3 0 0 1.8 4.4 2.1 6.1.4 1.7.3 2.6.3 2.6l9.1 4.6a168 168 0 0110.3 5.8c2.5 1.5 4.7 4 9.1 3 4.5-.9 13.5-3.6 16.5-4.5 2.9-.9 11-2.9 14-5 3-2 3.2-1.9 3.7-4 .5-2 0-3.1-1.3-4zm-17.2-31l2.2-.3c1.5-.1 1 1.3.7 1.9l-1.4 2.7c-.6 1 .2 1.2.6 1.4l2.3.6c1.3.3 1-.6 1-1l.3-3.8c.1-.9 1-.6 1.2-.5l1.7 1c.6.3 1 0 1-.4l.8-2c.2-1-.4-.8-1-.8h-2.4c-1 0-.4-1-.4-1l1.3-2.1c.6-.9.4-1-.2-1.2l-2.8-.7c-.5-.1-.7 0-.7.3l-.1 2.7c0 .7 0 1-1 1-.8.1-1.3-.4-2-1.1-.7-.8-1-.5-1-.2l-.8 3c-.2.7.1.6.6.6zm4.8 21.8s-.1 1.7-.3 2.3c-.2.7-.6 1.6.1 1.8.8.2 1.4.5 1.8.4.5-.1.3-1 0-1.7a6.4 6.4 0 00-1.1-2.2l-.5-.6zm10.5 7c.2.5.7.6 1 .7.4.1 1 .1 1-.5s0-1.5-.5-2.2c-.5-.8-.8-1.3-1.1-.2-.4 1-.6 1.6-.4 2.2zm-36.7-7l1.4.4s0-1.7.3-2.8c.2-1.2.7-2 .3-2-.4 0-.7.4-1 .9-.3.5-1.1.6-1.4 2-.3 1.3.1 1.4.4 1.4z"/>
+  <circle cx="408.9" cy="311.2" r="2.3" fill="#b96b29"/>
+  <circle cx="415.5" cy="312.8" r="2.4" fill="#b96b29"/>
+  <circle cx="434.6" cy="316.9" r="2.4" fill="#b96b29"/>
+  <circle cx="422.1" cy="314.4" r="2.4" fill="#b96b29"/>
+  <circle cx="423.8" cy="308.6" r="2.4" fill="#b96b29"/>
+  <circle cx="425.5" cy="302.9" r="2.4" fill="#b96b29"/>
+  <circle cx="409.1" cy="310.9" r="1.2" fill="#d4af3a"/>
+  <circle cx="415.6" cy="312.6" r="1.2" fill="#d4af3a"/>
+  <circle cx="434.8" cy="316.6" r="1.2" fill="#d4af3a"/>
+  <circle cx="422.2" cy="314.1" r="1.2" fill="#d4af3a"/>
+  <circle cx="424" cy="308.4" r="1.2" fill="#d4af3a"/>
+  <circle cx="425.7" cy="302.6" r="1.2" fill="#d4af3a"/>
+  <path fill="#d4af3a" d="M349.5 359.1l-5.2-3.6a11.8 11.8 0 01-3.9-4h1c.6 0 1-.7 1-1.5.1-.8 0-2.3-.2-4.1-.2-1.8.3-3.3.3-3.3s1.3 1.1 3.1 2c1.9 1 2.6.6 2.6.6l.5-1.9 2 3.7c1 2 4.1 4.2 6.3 5.8 2.2 1.7 4.6 3.4 6.4 4 1.8.7.8 1.5.8 1.5s-1.8 1.8-6.5 2.7c-4.7.8-7-1-8.2-1.9z"/>
+  <path fill="#d4af3a" d="M333.2 357.3c1.7-.2 2.7-.8 3-2.6.2-1.2-.1-5.7-.1-5.7l1.2 1.2c.6.8 2 1 2 1s.2.6.9 1.6a9.3 9.3 0 003 3.2c1.6 1 3.5 2.2 4.7 3.2a28.1 28.1 0 004.2 3.1 7 7 0 013.6 4.7c.6 2.4.1 3.1-1.7 3-1.9-.1-2 0-5-.7-3-.8-7.3-4.1-10.4-6-3.1-2-5.4-6-5.4-6z"/>
+  <path fill="#d4af3a" d="M325 360s1.2-1.6 1.6-3.4l1.4-5.4 1.4 3.3a4.9 4.9 0 002.8 2.7s0 .9 1.5 2.7a21 21 0 005.6 4.8c2.2 1.2 5 3 6.5 5.1 1.5 2.2 1.6 4.4 1 5.4-.8 1-1.8-.1-3.2-.9-1.5-.7-5.6-1.3-11.2-4.4-5.6-3-7.5-9.9-7.5-9.9z"/>
+  <path fill="#d4af3a" d="M322.5 372.7c-1.6-2.4-1.8-8-1.8-8l1.3-1c.7-.7 2.2-2.9 2.2-2.9l2 3.8c1 1.8 1.4 2.4 3.6 4.3 2 2 5 3.9 6.1 6 1.3 2 .6 6.1-.2 7.5-.8 1.5-2 1-3.1-.1L329 379c-2.1-1.7-5-4-6.5-6.3z"/>
+  <path fill="#b96b29" d="M341 325.3c-.8-1.7-1.8-3.7-2.5-4.8a15 15 0 01-1.3-2.2s2 1.8 2.8 3.1c.8 1.4 1.3 2.6 1.6 4 .4 1.4.2 1.6-.6 0zm-8 1.5l-.5-1.9s-.3-1-.2-1.1c.2-.1 1 .6 1.6 2.5.6 1.8 1.5 4.5 1.3 4.6-.2 0-1.9-3-2.2-4.1zm-6.3 5l-.4-.8s-.6-2-.6-2.5c0-.4.2-1 .7.1s.6 2.2.7 2.6c.1.5.7 2.1.5 2.3-.1.1-.5-.9-1-1.7zm19.5 19.2l.9-.5 1.2 1.5c.7.7 1.5 1 2 1.7a8 8 0 002.8 2.3c1.3.7 1.8 1 1.5 1.1-.2.2-1.1-.3-1.1-.3s-.4 0-2-1c-1.5-.9-1.9-1.4-2.9-2.3l-2.4-2.5zm-6.8 8.1c-.6-.6-1.2-1-.9-1.4.4-.3.8-.3 1.3.2l2.9 2.6 2 1.5c.7.6 2.3 1.4 3 1.8.8.5 0 .5 0 .5l-1.2-.5-2.4-1-1.7-1c-1-.7-2.4-2-3-2.7zm-7.8 5.5c-.5-1 0-.8.8-.4.9.3 2.8 2.4 3.9 3.1 1 .8 2 1.1 3 1.6.8.4.8.7.8.9 0 .2-.4.2-.8 0l-1.7-.9-1-.2c-.5 0-1.3-.6-2.4-1.6-1.1-1-2.1-1.5-2.6-2.5zm-3.7 7.2c1.4.8 3.8 2.7 4.4 4 .6 1.2 1 2.1.9 2.3-.3.2-1-.2-1.2-.7l-1-1.2s-2.4-2.4-3.2-3a8.3 8.3 0 01-2.7-3c-.3-1 0-1.4 0-1.4s1.4 2.1 2.8 3z"/>
+  <path fill="#c52126" d="M365 170a22.3 22.3 0 018.3-2.6c3.6-.3 6.4.2 9.5 1 2.1.6 3.9.7 5.6.3 2.6-.7 4.6-3 5.3-6 0 0 2.4 3.1 0 6.5a7.2 7.2 0 01-4.3 2.9c-5.1 1-10.1-2-14.3-2.4-4.1-.2-7.3 2.4-7.3 2.4s-1 .8-2.4 0c-1.3-.8-1.7-1.4-.4-2.2z"/>
+  <path fill="#d4af3a" d="M379.6 317.5l1.2-.2c.7 0 2.2-.6 2.7-.8.5-.2 1.2-.2 1.6.3.5.5 4.1 2.7 4.1 2.7h-6c-2.1 0-3.5-2-3.5-2z"/>
+  <path fill="#d4af3a" d="M362.6 316.4v-.5l.8-1.8s1 .6 1.8 1.5c1.2 1.3 2.5 3 3 3.7 1 1.3 2.5 2.5 1.3.5s-1.6-3-2.6-4.4l-1.6-2 3.4-.5c2.5-.3 4.2-1.3 5.3-2l3.3-1.9s4.3 1.9 6 2.3c1.6.4 2.5.6 1 1.4-1.6.8-3 1-3.7 1.5a12 12 0 01-4.6 1.2c-1.5 0-4 0-3 1a22 22 0 014.2 13l-.1 2.5s-1.8-2-6.6-5a71 71 0 00-7.4-4.4c-.9-.4-1.3-.4-1.2-1.5l.7-4.6z"/>
+  <path fill="#d4af3a" d="M344.4 302a68.5 68.5 0 00.8-.4h.3c.5.3 3.4 2.3 4.6 4.2 1.2 1.9 2.4 2 1 0a17.9 17.9 0 00-3.2-4.2 23.4 23.4 0 00-1-.8 53.3 53.3 0 007.3-4.2c.4.6 1 1.7 1.7 2.5 1 1 3.2 2 3.2 2s-1.8-2-2.4-3.3l-.8-2.5a31.7 31.7 0 004.8-4.6c.3 1.3 1.3 4.2 4.2 7.4 3.7 4.2 11.2 6.3 11.2 6.3s2.6.3.5.9c-2.1.5-3.6 1.5-7.8.8l-5-1.1c-.5-.2-2 0 0 .7 2.1.8 7 1.5 8.8 1.4 1.8-.2 4.4-.6 1.7.8-2.6 1.4-3.7 2-5.3 2s-2.3.5-4 .5c-1.5 0-2-.3-3-.5-1.2-.3-1.9.1-1.9.6 0 .4 1.5 1.7 1.5 4.7 0 3.1-.3 5.1-.6 6-.3 1-1 2.4-1.4 3.2-.4.8-.6 1.7-1-.1-.5-1.8-1.5-4.4-1.9-6.1l-.8-2.7c-.1-.9-1.1-1.6-.6 0a133.4 133.4 0 011.2 5.2c.4 1.5 1.1 4.2-.2 2-1.3-2-6.4-7.7-7.2-8.8l-2.1-2.8c-.7-.8-2.4-1.9-3.2-3.1a28.5 28.5 0 00-4-4l4.5-2zm69.5-129.2c-.1 3.1-3.5 9-5.5 12.2-2 3.1-2.5 4.4-2.1 4.6.3.2 1.1-1.4 2.2-2.8l4.9-7.2c1.7-2.5 4.2-8.4 4.6-8.9.3-.5.4-.9 1.3-.2s2.6 7.2.5 11.6c-2 4.4-5 7.6-6.2 9.2-1.3 1.5-3 4-2.7 4.1.3.2.7-.4 2.3-2a47.3 47.3 0 009.6-12.5c.2-.4.5-.3.8 0 .5.5 1.4 1.8 1 5.3a17 17 0 01-5.3 10.2c-2.3 2.4-4.6 4.5-4.3 4.9.4.3 2.7-1.8 4.3-3.3 1.6-1.6 5.6-5.4 6.4-6.5 1-1 2.2-.5 2.1 3.7 0 4.3-4.7 8.5-6.7 10.9-2 2.3-4.3 3.7-4.1 4.2.2.5 2.1-.7 3.4-1.6l7-4.6c.9-.7 1.3.6.1 4.6-1.2 4-4.6 7.2-6.7 8.7-2 1.5-5.4 3.3-5.2 3.8.2.4 1.6-.2 3.5-1.1 2-1 4.3-1.8 6-2.3 1.6-.5 1.6.7 1.6.7s.4 3.5-2.1 6.2a13.3 13.3 0 01-8 4.3c-2.6.5-3 .6-3 1s.4.5 1 .5l5.3.2c2.3 0 3.5.6 3.5 1.6s0 2.3-3.3 4.6c-3.5 2.3-7.3 2.6-8.9 3-1.6.3-1.6.4-1.3.9.3.5 1 .4 3.6.7 2.5.2 4 1.2 4.4 2 .3.6-.2 2.6-2.3 4-2 1.4-4.7 1.9-8.7 1.6-4-.3-5-.3-5.2.3-.1.7 1.2 1 3.2 1.2 2 .4 3.6.4 4.7 1.3 1.2 1 .3 2.9-1.7 4.3-1.9 1.4-6.7 1.4-8.7 1.3-2-.2-5.1-.9-5.3-.4-.2.6 1.5 1.4 3.5 2.1 2.1.8 2.7 1.2 3.1 2.1.4.9 0 1.7-2.4 2.6a12 12 0 01-8 0c-1.8-.8-2.8-1.1-3.2-.8-.3.3 0 .7.4 1.1.4.5 2 1.8 4.1 2.3 2 .6 2.3.6 3 2.2.8 1.7-1.1 3-4.9 3.2-3.7.1-8.7-1.4-10.3-2.3-1.6-1-2.2-1.1-2.5-.8-.3.3-.2.5.6 1.1.8.6 3.3 2.5 4.6 2.8 1.3.3 1.4 1.3 1.4 2.1 0 1 .4 2.6-3 3.5-3.3.8-7.3.2-10.9-2.4a8.3 8.3 0 01-2.2-2 28 28 0 00-.3-8c.7 0 2-.3 3.4-.9 2-.8 2.8-2.6 3.3-3.6s1.2-1 2-.8c.8.3 1.6.6 2.7.6a7.9 7.9 0 005.3-2.8c1.7-2 1.4-4 1.5-5 0-1 1.6-.3 2.4-.3.8 0 3.2-.4 5.3-1.9 2.2-1.4 2.2-3.4 2.4-4.3.2-.8 1-1.3 1.7-1.6.7-.2 1.7-.5 3.2-1.7 1.5-1.2 2-3.5 2-4.4.2-.8 1-.8 4-2.4 3-1.5 2.8-4.7 2.6-6 0-1.3-1.5-2.3-1.5-2.8s1-.6 2-1.2 3.6-1.6 3.6-5.4c0-3.7-2.4-4.1-2.4-4.1l1.5-.8c1-.6 3.7-2.5 3.7-4.7s-1-3.2-1.7-3.8c-.7-.5-2.7-1-2.7-1s1.2-.9 1.8-2.6c.5-1.7.7-3.9-.6-5.4-1.2-1.6-3.4-1.6-4.5-1.6-1.2 0-2.2.6-2.6.3-.4-.3-.4-.6 0-1.5.4-.8.4-3 .1-3.7-.3-.8-.4-2.2-3.3-3.2-2.9-.9-5.9 1-6.8 1.6-1 .5-.5-.8-.5-1.7 0-1 1.9-3.3 4.1-6.6 2.2-3.4 3.2-5.1 5.7-10.2A65.7 65.7 0 00409 159c.4-1.6 1-.8 1-.8s.7.2 2.2 4.1a25 25 0 011.7 10.5z"/>
+  <path fill="#d4af3a" d="M363.4 241.4c1.7-.1 4-1 5.7-3.6 1.7-2.5 4.3-3 8.8-3 4.5.1 6.6-2 7.7-5.2 1-3-.2-6.6-4.8-8.9-4.5-2.2-6.6-4.7-6.8-8.6-.1-3.9 4.6-8.7 9.3-14.1 4.8-5.5 8.5-13.2 8.5-13.2s1.4 1.8 1.4 3.7c0 1.8-.7 3.7 0 4.2s.9-.8 3.7-2c2.7-1.2 5-1.4 6.7.6 1.7 2 0 5.4-1.6 7-1.5 1.7-2.8 3-2.4 3.5.4.6 2.8-.9 3.5-1.4.8-.5 2.6-2.5 5.3-2.3 2.7.3 3.6 1 3.9 3.3.2 2.3-2.4 4.2-4.2 5.1-1.7.9-2.4 1.6-2 2 .5.3 1 0 1.7-.3a8 8 0 014.3 0c1.4.6 3.6 2.5 1.6 4.8-2.1 2.3-6.4 3.2-7.3 3.3-.8.2-1.3 0-1.4.6 0 .7 1.8.7 4.2.8 2.3.1 3 2.4 2.7 4-.4 1.8-4.3 3.7-6.4 4-2.2.4-3 0-3.1.7-.2.6.2.8 1.4 1.2 1.2.3 3.6.6 4 2.5.4 1.9.5 2.7-1.3 4.4-1.8 1.6-4.7 1.4-5.6 1.2-.9-.2-1.9-1.1-2.8-.3-.8.9.8 1.6 2.3 2.6 1.5 1 1.4 3-1.1 4.4-2.5 1.4-5 .9-6 .5-1-.3-2.5-2-3.2-1-.7 1.1 2.2 1.5 3.4 3 1.2 1.4.8 3.8-1.6 5.3-2.5 1.5-6.4.4-7.1-.2-.7-.6-1.6-.8-2-.3-.6.5.2 1.9.7 3 .5 1.3 1.5 4.8-2.2 6.2s-6.9-1.7-7.5-2.3c-.6-.6-1.2-.7-1.7-.5-.5.3-.2.8.2 1.4.4.6 1.4 3.2-1.2 5a6.3 6.3 0 01-4.7 1c-.6-2-1.3-4.2-2-7.2h.5c.4 0 .5.5.5.7 0 .2-.1.4.2.4.3 0 .3.2.8.5.4.3.8.7 1 .5.3-.2-.9-.8-1.2-1.2-.3-.4-1-1-1-1.4 0-.4-.2-.6-.8-1.1a2.4 2.4 0 01-.5-.6 97.9 97.9 0 01-1.2-7.2 57.1 57.1 0 01-.4-5.5h1.1zm73.7-53.8c-3.9 7.8-9.3 12.1-9.3 12.1l1-3.2c.3-1.4.1-2.9.1-2.9s1.4-1.7 3.9-5.6c2.5-3.9 3.8-9.6 3.8-9.6s-2.3 5.7-4.1 8.8c-1.9 3-4 5.5-4 5.5s-.7-2.7-1.2-2.8c-.5-.2-1 .2-1.4.8-.4.6-.8.6-.8.6l1.5-2.8 1.6-2.2c1.4-2.3 4.5-6.6 6-10.9a169 169 0 005.7-18.3c.7-3.2 1.3-1.4 1.9.9.6 2.3 1.4 5.7.9 10.7a53.5 53.5 0 01-5.6 18.9zm-5 21a135.9 135.9 0 01-3.5 2.5l.5-1.7.3-2.9 2.9-2.5a41.7 41.7 0 005.6-6c2.9-3.6.5-1.4-1.9 1.2-2.3 2.6-6.9 6.3-6.9 6.3v-.8a3.1 3.1 0 00-.7-1.9c-.4-.6-.2-.6 2.3-2.6a73.8 73.8 0 0017.6-24.4s1.5 9-4 18.7c-5.4 9.9-10.8 13-12.2 14.1zm-28.5 56.3c-3-1.2-2.2-4.1-2.2-4.1s1.8.5 3.5 1.2a36 36 0 007.5 1.8c1.6 0 1.6-.2 1.7-.4 0-.2-1.3 0-3.7-.4a29 29 0 01-7.2-3.1c-.7-.5-.6-.6.5-.7a4.5 4.5 0 002.3-.9c.4-.3 1.5.1 4.2.8a50.6 50.6 0 0021.5.7c.7-.2 1.4.2-.7 3.7-2 3.5-9.3 5.3-14.4 5.3-5 0-10-2.8-13-3.9zm13.4-7.2c-5.2 0-7.2-1.5-7.2-1.5l.7-1.3c.7-1.1.6-2.9.6-2.9l3.4.6c2.2.3 4.7.6 7.5.1s1.6-.8-.6-.5a29 29 0 01-7.8-1c-1.4-.5-.9-1 0-1.3 1-.3 3.5-1.9 3.5-1.9s6.3.8 12.2.2c5.9-.7 9.6-2.2 10.8-2.4 1.1-.2 1.1.3 1.1.3s.3.6-1.7 3.7c-2 3.2-6 5.3-9.4 6.3a50.3 50.3 0 01-13.1 1.6zm1.3-12.2l.6-1.3c.3-1-.6-1.9-.6-1.9s1.2-.3 5-.8c4-.5 4.2-.8 6.5-1.3 2.4-.6 4-1.3 4-1.5 0-.3-.8 0-2.2.6a94 94 0 01-14.3 1.9c-.4-.3-2-.7-2-.7l2.4-.5a8.4 8.4 0 003.2-1.3c.7-.5 1-.6 4.1-1 3.2-.3 5.8-1.3 11.5-3.4 5.6-2 10-4.6 11-5.5 1.2-1 1.1-.3.8 1-.3 1.1-.2 2.6-3.1 6-2.9 3.3-4.3 4.8-11.5 7.4-7.3 2.7-15.4 2.3-15.4 2.3zm21.4-17.6a40.5 40.5 0 01-15.5 6.4c-.3-.4.4-2 0-2.8-.3-1.1-1-1.1-2.6-1.2-1.5-.1-.5-.4-.1-.4l3-.7c2.5-.7 5.1-1.1 8.6-2.4 3.6-1.4 4.6-2.3 4.5-2.6 0-.3-1.6.8-4.9 2-3.2 1.3-7 1.8-9 2.3-2.2.4-.4-.5.6-1 1-.6 2.4-2.8 2.4-2.8s2.3-.4 6-1.5a48.8 48.8 0 0010-4.2l3.2-2.2 5.2-3.7c1.3-1 .9-.2.7.4s-1 3.2-3 6.1c-2 3-2.7 3.8-9 8.3zm1-12.7c-6.2 5-11.7 6.6-12.6 7-1 .4-.8-.2-.7-.7.2-.5.3-2.2.3-2.2l4.8-2.8c2.5-1.4 5.3-3.4 7.2-4.7 1.8-1.3.7-1.2.1-.7-.5.5-3.1 2-5.7 3.6l-6.4 3.9s0-.9-.6-1.4c-.5-.5-1.9-.4-1.9-.4l1-1.3c.5-.6 2.6-1.3 4.9-2.4 2.3-1 6.5-4.2 9.6-6.8 3.1-2.6 9.1-9.1 9.5-9.7.4-.5.7-.4.7.3 0 .6.3 1-.4 4s-3.4 9.4-9.7 14.3zM418.5 168c-.7 1.5-1.5 2.6-2 3.6L415 174v-1.4c.1-.8.3-2 0-3.5 0-.8-.3-1.6-.2-2.3 0-.7.3-1.4.4-1.9l1.6-7c.4-2.7.9-6.4.8-9.7 0-3.2-.5-1.6-.5 0s-.1 4-.6 7.8c-.5 3.7-2.1 9.4-2.1 9.4s-.1-.9-.6-2.1l-1.9-4.2c-.6-1.6-.4-1.9-.4-1.9s2.3-10.6 2.8-15.6c.6-5 1.6-18.1 1.6-18.1 3.2 3.2 5.6 11.8 6 20 .4 6-.6 11.7-1 14-.5 4.5-1.3 8-2.5 10.5zm7.2 16.8c0-2.4-.6-4.3-2.2-4.8 0 0 1.4-2.4 2.6-5.8a45 45 0 001.8-7.7c.9-5.6 1.6-11.5-.1-2-1.7 9.7-3.8 13-3.8 13l-2.4 4c.3-1.7.4-3 .3-4.9 0-1.9-.3-4.5-1-6.5 0 0 3-6 5-13a81.4 81.4 0 003.1-22.7s3 2.3 4 13.9a68.4 68.4 0 01-7.3 36.5zm-33.2 88.6l1.9-1.3c1.5-.9 1-3.7 1-3.7a48.7 48.7 0 005.2 3.2c1.4.6 2.1 1 3 1.2 1 .3.7 0 0-.5-.8-.4-1-.7-3-1.4-2-.8-5.8-4.2-5.8-4.2l2.5-.1c1.6 0 3.6-.9 3.6-.9s1.6 1.4 8 4.2a50 50 0 0011.8 3.5s-.6 3.2-3.7 4.3c-2.6 1.1-6 1.8-13 .2a43.5 43.5 0 01-11.5-4.5zm-8.4 6.5c-.6-2.7 1-4.6 1-4.6l1.3 1.1c1 .9 2.3 2.5 5 3.9 2.7 1.3 3.7 1.2 1-.2a39.3 39.3 0 01-6.3-5.3l1-.4c1-.4 2.7.3 10 4.6 7.1 4.3 11.4 4.5 11.4 4.5s-3.2 3.9-12 3.6c-8.7-.3-11.9-4.5-12.4-7.2zm-16.6-3.1s1 1.3 2.3 2.2c1.3.9 4.8 1.4 4.8 1.4l.8 1.2c.6 1 2.1 3 3.7 4 1.5 1.2 4 2 4 1.6.2-.3-1.3-.8-2.8-1.8-1.5-.9-2.9-2.6-3.9-3.7-1-1.2.5-1 .5-1h3.5c1.7-.2 1.3 0 1.8.7l2.4 3 4.4 5.1c1 1.2.3 1.5.3 1.5s-.5.7-4.4 1.2c-2.4.2-5 0-7.7-1.6a23.4 23.4 0 01-5.2-4.5c-4.7-5.1-4.5-9.3-4.5-9.3zm-2 10.5l1.5 1.8s-.7-2-1.3-3l-.9-1.4c.7-1.4 1.2-3 1.6-4.7.4 1.4 1.7 5.5 3.4 8.1 2 3.2 3.8 4.4 2.6 5.3-1.1.8-3.4 1-6-.2-2.4-1.2-3-3.3-3.4-5a24.8 24.8 0 001.2-2.1c.3.2.8.5 1.3 1.2z"/>
+  <ellipse cx="-365.9" cy="158.6" fill="#d4af3a" rx="1.8" ry="1.6" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M369.7 155.5c-1.6 0-2.5-.8-4.3-.6a26 26 0 00-8.5 3.3 14.6 14.6 0 01-9.8.9c-1-.3-2-.9-2.9-1.4-4.3-2.4-3.2-7.1-3.2-7.1a16.7 16.7 0 0010.6 3.2l-.9.8c-.6.6-1.7 1.4-1.4 1.7.4.3 2-1.2 3.3-2.2 1.3-1 3.2-2.2 6.5-3.2s7-1 9.4.4c2.5 1.3 2.7 3 2.4 3.7-.2.4-.7.5-1.2.5zm-46.2 34.7c.8-.2 2-.4 3.8-2a69 69 0 006.3-7c.5-.8.3-1.5-1-2-1-.5-1.9-2-1.9-2s2.5-1 4.3-2.2c1.7-1.2 5.6-4.8 6.2-5.7.5-1 .3-1-.5-1.3-.9-.3-1-.8-1-.8s1.8-1.2 3.5-2.6a71 71 0 004-3.6c2.6 1 6.6.6 8.8.2 3.8-.7 6.7-2.3 6.7-2.3l.6 1.8c.5 1.2 2.2 1.8 4 .7 1.8-1.2 1.4-3.7 1.4-3.7s1.4-1 4.4-2c3-1.1 5.3-1.3 7.7-.2 2.4 1.1 3.6 4.4 3.6 7 0 2.4-1.3 1.3-1.6 1-.3-.3-.8-2.1-3.8-2.6s-5.8 1-9.2 3.8c-3.4 2.8-4.2 3-6 4.8-1.6 1.8-.3 2.7 2.7 3.7s6.7-1 6.9-.9c.5.3-1.3 3-3.9 4-2.5 1-5.8.3-8.3-.8-1.7-.6-2 0-2.5.6a15 15 0 00-4 9 4 4 0 01-2.6-3c-.1-.6-.3-1.8-1.2-1-1 1-1.8 6-1.8 8.2s.7 5.3.7 5.3h-.7l-2.3-1.2c-1-.7-1.2 0-1.2 1.3s-.4 3.6-2 7.8c-1.7 4.2-4 5.5-4 5.5s-.5-.8-1-2.5a33 33 0 01-.8-7.7c0-2.8.7-8.8.7-8.8s-3.4 4.2-7 5.2-7.1.4-8.6-1.3c-1.5-1.7-.2-2.5.6-2.7z"/>
+  <path fill="#d4af3a" d="M347 201s1 2.5 1.6 3.3c.6.9.9 1 .9 1s-1.1 1-2.7 1.4a35.5 35.5 0 01-3 .8s1.8-2.4 2.4-4.1l.7-2.3zm-21.5-1.3a71.6 71.6 0 01.9-2.1 15 15 0 008.1-1.7s-1.6 3.3-3.3 4.5l-1.8 1.2s1.6.3 3.8-2c2.2-2 3.2-4.6 3.2-4.6s-.5 5.8.4 9.3l1 4s-4.6.9-9.8-.6c-5.2-1.4-5.6-1.9-5.6-1.9s-.6-.1.2-1.2a28 28 0 003-5z"/>
+  <path fill="#b96b29" d="M335 187l1.7-2.3s.6.5 0 1.3a16 16 0 01-4.2 3.7c-1.6.9-3.1 1.2-3.1 1.2v-.4s4-1.7 5.5-3.5zm6.3 12l.4-8.3c0-1 .6-.8.6-.8l.8.3-1.5 10.6c-.2 1.2-.7 1-1 1 .5-.3.6-2.5.7-2.8zm9.8-31.4c.6-.6 1.9-1 .6.4-1.3 1.4-3 3.2-3.4 4.7-.5 1.4-.8 3.3 0 2.9.8-.4 1.4-.4 2.3-1.2 1-.7 2.6-2 3.3-2.1.7-.2 2 0 1 1a24.8 24.8 0 01-4 3.6l-4 2.6a36.9 36.9 0 01-2 1.3s1-6 2.6-8.5a26.3 26.3 0 013.6-4.7zm32 99.2c1.2 1 2.8 1.3 2.8 1.3s.7 0 .7.2-.9 0-1.8-.1a8 8 0 01-2.6-1.4c-.4-.4-1.1-.8-.9-1.4.2-.6.6.5 1.8 1.4zm-10.4 5.5l2.3 1.8 1.3.7c.6.2.8.6.8.6s-.1.2-.8 0c-.7-.2-2.8-1.7-3.5-2.3-.6-.6-1-.7-.7-1 .3-.2.4 0 .6.2zm42-74.4c-.4.4-.9 1-1 .9-.3-.2 0-.5.4-1l.8-.9 1.1-1.5c.4-.4 1-.7.3.3l-1.7 2.2zm3.1 7l-1.3 1.3c-.5.5-.9 1.1-1.2.8-.3-.3.7-.9 1.2-1.5a7.5 7.5 0 011.4-1.4 10 10 0 011.3-.8l-1.4 1.6zm-1.2 11.2c-.8.9-2 1.1-2 .8-.2-.4 0-.6.7-1a24.4 24.4 0 004.6-3c.2 0-1 1.4-1.4 1.6-.4.2-1 .8-1.9 1.6zm-2.2 9c0-.3-.1-.5.5-.5l1.6-.2s1.3-.5 1.4-.2c0 .3-1 .8-1.6.8l-1.4.4c-.3.2-.5 0-.5-.3zm-1 9.8c1.4 0 2.6-.3 2.7 0 0 .1-.7.5-1.4.7-.7.3-2 .3-3 .4-.9 0-1-.2-1-.6 0-.5 1.3-.5 2.7-.5zm-11 10.8c.1-.2.6 0 1.4 0 .8.3 2.1.5 2.8.5l2.4-.1 1 .2c0 .2-1.3.2-3 .4-1.8.2-3-.2-3.8-.3-.8-.2-1-.5-.9-.7zm-4.6 7.6a6 6 0 002.1.4l2.3.3s.7 0 .6.4c-.1.3-.4 0-1-.1h-2.4c-1.2 0-1.8-.4-2.5-.5-.7-.1-1.5-.5-1.1-1 .4-.4 1.1.2 2 .5zm-9 5.8l2.5 1.8 1.1.6c.8.4.7.6.6.8-.1.2-.6-.3-1-.5a16.4 16.4 0 01-2.5-1.6c-.7-.6-1.6-1-1.4-1.5.1-.4.3-.1.8.4zm14.9-74.8l-1.7 2.3c-1.6 2-.7.1-.4-.4l3.4-4.5c.8-.9 1-.5.5 0l-1.8 2.6zm3.2 9.8c-.2-.2.3-.4 1.1-1.5l2.7-3.3.6-1c.2.1-.6 1.8-1.3 2.5-.7.7-1.6 2-2.1 2.7-.5.6-.8.9-1 .6zm-4.3 18.5c0-.5 1.8-.5 2.6-.6l2.2-.5s1.6-.3 1.6 0c0 .1-.3.3-1.2.5l-3.3.8c-1 .1-1.9.3-1.9-.2zm4.3-10a15.3 15.3 0 01-2.5 1.7c-.6.4-1.1.8-1.4.5-.4-.4.2-.7 1.2-1.1l1.5-.9 1-.5c.5-.3 1.3-.6.2.3zm-10-6.5l1.4-1s.9-.8 1-.5c.2.3-1 1-1.5 1.6-.5.5-1.5 1.9-2 1.6-.5-.3.5-1.1 1.2-1.7zm6.6 25.7l1.5.4c.7.2.7.4-.4.4s-1.6-.3-2.7-.5-1.5-.3-1.3-.7c.1-.3.7-.2 1.2 0l1.7.4zm-1.8 9.3c.1.2-.8 0-1.4-.2-.5-.2-1.7-.9-2.4-1-.7-.3-.7-.4-.7-.8s.7 0 1.6.2c1 .3 2 1.2 2 1.2l1 .6zm-12 5.6c-.8-.5-1-.8-.7-1 .3-.3.6-.3 1.2.2a51 51 0 002 1.5l1.1.5c.5.2 1.2.7 1 1-.2.1-1.2 0-1.7-.6s-2-1-2.9-1.6zm-5.6 7.5c-.4-.3-1.4-.6-1.8-1-.5-.3-.8-1.3-.4-1.4.4-.1.6.4 1.4 1l3.5 2.4.7.3c.7.2.4.5-.2.4-.7-.1-1-.1-1.8-.7l-1.4-1zm-8.4 7.1a9.2 9.2 0 01-2.2-1.7c-.5-.4-1.2-1-.8-1.3.4-.3.8.1 1.4.6l2.1 2.2s.2 0 1 .7c.9.7 0 .5-.3.3a3 3 0 00-1.2-.8z"/>
+  <path fill="#d4af3a" d="M338.2 142.5l4-1 2.5 2-3.1 1.4z"/>
+  <ellipse cx="-330.8" cy="142.1" fill="#b96b29" rx="3.2" ry="3.1" transform="scale(-1 1)"/>
+  <circle cx="-330.8" cy="141.4" r="1.9" fill="#d4af3a" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M337.5 131.4c-.8.3-1.9.2-1.9.2s-.3-1.4.5-2.1l2-1.7.5-.6v2c.1.8-.3 1.9-1.1 2.2z"/>
+  <circle cx="-335.8" cy="133" r=".6" fill="#d4af3a" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M340.2 132.4l.8.9s-.7 0-1.2.4c-.6.4-1.2.7-1.9.6a.9.9 0 01-.8-1c.2-.5.5-1 1.5-1.3 1-.4 1.3 0 1.6.4zm-2.2 3.7c2 .2 4.6-2 4.6-2 .3 1.8 1.4 2.7 3 3v.1s-1.7.8-3.5 1.1a7 7 0 01-2.5-.2 10.6 10.6 0 01-3-1c-1.2-.7-.9-2.6-.9-2.6s.2 1.5 2.2 1.6zm7.8-2c.8-.3 2-.9 2.6-1 .5 0 1.3 0 1.1.9 0 1-1 1.4-2 1.4s-1.5-.3-2-.6c-.6-.3-.5-.4.3-.7zm6.3-3.4c1-.7 1.7-.9 1.7-.9s.6 1.6.3 2.6-1 1.2-1.9 1.2c-.8 0-2.1-.5-1.8-1.2.4-.6.8-1 1.7-1.7z"/>
+  <ellipse cx="-351.3" cy="135.1" fill="#d4af3a" rx=".7" ry=".5" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M349.4 127.3c.5-2.7.4-5.6-2-9.3a16 16 0 00-7-5.1L339 111c-1.4-1.5-4.3-3.4-4.3-3.4l5.2 1.5a2.3 2.3 0 002.3 2.4c.4 0 .9-.2 1.3-.4 1 .1 4.4 2.2 5.2 2.9a2.3 2.3 0 00-.3 1.2 2.3 2.3 0 002.3 2.3c.3 0 .7 0 1-.2l.3.5a23.4 23.4 0 011.6 3.7c-.6.4-1 1.1-1 2 0 1.3 1 2.3 2 2.3v1.5c0 .7-.4 1.2-1.7 1.6-1.3.3-3 2.6-3 2.6-.2 0-1.1-1.6-.4-4.3z"/>
+  <path fill="#d4af3a" d="M341.3 110.3c-.4-.4-.5-1-.1-1.4.3-.3 1-.3 1.5.1s.6 1 .2 1.4c-.4.3-1 .3-1.6-.1zm8.5 5.7c-.5-.5-.6-1.3-.2-1.7.4-.4 1.2-.4 1.7.1.6.5.7 1.3.2 1.7-.4.4-1.2.4-1.7-.1z"/>
+  <circle cx="-354.8" cy="123.2" r="1.3" fill="#d4af3a" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M326.6 105c.7.2 2 .6 3.8 1.6-1.3 0-2.3.8-2.3 1.9 0 1 1.2 2.2 2.5 2.2s2.2-1.1 2.2-2.2c0-.2 0-.5-.2-.7l1.8 1.2c4.2 2.8 5.1 4.1 7.2 8 2 3.8 2.8 8 1.9 10.4-.9 2.5-4.2 3-4.2 3s.4-.3.4-.8l-.2-1.6c-.2-1 0-2.1 0-2.1s-.8-.1-1.2.4l-1.5 1.7-1.5 1.5s-.7-1-.7-2.1.8-2.3 1-4.3c0-2-1-5.5-2.9-8a22 22 0 00-6.6-5.5 2.1 2.1 0 01-1.3-1.7l-.2-2c-.1-1.2 1-1.1 2-.9z"/>
+  <path fill="#d4af3a" d="M330.8 109.5c-.8 0-1.4-.7-1.4-1.3 0-.6.5-1 1.3-1 .7 0 1.3.4 1.3 1s-.5 1.3-1.2 1.3zm-6.2 24.4c-1 .4-2.2.1-2.7-.2-.5-.4-.7-1.3 0-1.8a2 2 0 012-.2l2 1.3s-.3.5-1.3.9z"/>
+  <path fill="#d4af3a" d="M321.4 135c.3.6.6.9 1.7 1 1.1 0 2.3 0 3-.8a7.7 7.7 0 001.3-1.7h1.3s.4 1.7 1 2.1c.5.5 2.4.6 3.3 0 .8-.7 1.6-1.4 1.7-1.3.2 0 0 .7-.8 1.4s-1.5 1.3-3 1.3H323s-1.6 0-2-1c-.5-.9-.6-1.5-.3-1.7.2-.3.3.1.7.7z"/>
+  <path fill="#d4af3a" d="M333.5 133.7c-1.2.6-1.9.2-2.3-.3l-.5-.8 1.7-.7c.5-.4.9-.7 1.5-.6l.6.1s.2 1.6-1 2.2z"/>
+  <ellipse cx="-339.3" cy="121.9" fill="#b96b29" rx="2.7" ry="2.6" transform="scale(-1 1)"/>
+  <path fill="#b96b29" d="M334.7 112.7c1-.7 2.6-.4 3.5.6.8 1.1.7 2.6-.4 3.3-1 .7-2.6.4-3.5-.6-.9-1.1-.7-2.6.4-3.3z"/>
+  <ellipse cx="-339.4" cy="121.5" fill="#d4af3a" rx="1.6" ry="1.5" transform="scale(-1 1)"/>
+  <path fill="#d4af3a" d="M335.8 113c.7-.2 1.5.2 1.9.8.3.6 0 1.2-1 1.4-1.7.3-2.5-1.8-1-2.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mf.svg
new file mode 100644
index 0000000..bf46785
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mf" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mg.svg
new file mode 100644
index 0000000..76e84fc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mg.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mg" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ff3319" d="M213.3 0H640v240H213.3z"/>
+    <path fill="#00cc28" d="M213.3 240H640v240H213.3z"/>
+    <path fill="#fff" d="M0 0h213.3v480H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mh.svg
new file mode 100644
index 0000000..f74e99d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mh.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mh" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#3b5aa3" d="M0 0h639.9v480H0z"/>
+    <path fill="#e2ae57" d="M0 467L639.9 0v87L0 480v-13z"/>
+    <path fill="#fff" d="M22.4 480L640 179.2l-.1-95.5L0 480h22.4zm153-464.8L169 118l-27-65.6 10.4 69.8-41.9-56.4 27.5 64.3-55-42.6 42.8 53.6-62.1-27.6 54.4 41.2-67.7-9 64 25.4L14 180.3l100.6 6.7-63.7 26.2 67-9-54.3 40 63-27.6-43 54 54.6-41.3-27 62.9 43.6-54.7-11.8 68.1 27.5-63.7 6.2 100.7 9.7-100.4 23.7 64-9-69 43.4 54.8-28.6-64 54.6 44-43.4-54.9 64.9 27-57.4-41.9 69.9 11.8-67-25.7 104.1-6.5-104-9.7 68.5-22.8-71 9 58.6-41-66 26.5 45.6-55.3-55.6 43.4 26.7-66.4-43.1 56.4 9.3-70.4-25.7 66.5-9.6-102.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mk.svg
new file mode 100644
index 0000000..1f1eaf6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mk.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mk" viewBox="0 0 640 480">
+  <path fill="#d20000" d="M0 0h640v480H0z"/>
+  <path fill="#ffe600" d="M0 0h96l224 231.4L544 0h96L0 480h96l224-231.4L544 480h96zm640 192v96L0 192v96zM280 0l40 205.7L360 0zm0 480l40-205.7L360 480z"/>
+  <circle cx="320" cy="240" r="77.1" fill="#ffe600" stroke="#d20000" stroke-width="17.1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ml.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ml.svg
new file mode 100644
index 0000000..66da1bb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ml.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ml" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="red" d="M425.8 0H640v480H425.7z"/>
+    <path fill="#009a00" d="M0 0h212.9v480H0z"/>
+    <path fill="#ff0" d="M212.9 0h214v480h-214z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mm.svg
new file mode 100644
index 0000000..c77927e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mm.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-mm" viewBox="0 0 640 480">
+  <defs>
+    <path id="a" fill="#fff" d="M0-.5l.2.5h-.4z" transform="scale(8.844)"/>
+    <g id="b">
+      <use width="18" height="12" transform="rotate(-144)" xlink:href="#a"/>
+      <use width="18" height="12" transform="rotate(-72)" xlink:href="#a"/>
+      <use width="18" height="12" xlink:href="#a"/>
+      <use width="18" height="12" transform="rotate(72)" xlink:href="#a"/>
+      <use width="18" height="12" transform="rotate(144)" xlink:href="#a"/>
+    </g>
+  </defs>
+  <path fill="#fecb00" d="M0-.1h640V160H0z"/>
+  <path fill="#ea2839" d="M0 320h640v160H0z"/>
+  <path fill="#34b233" d="M0 160h640v160H0z"/>
+  <use width="18" height="12" x="9" y="6.4" transform="matrix(40 0 0 40 -40 0)" xlink:href="#b"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mn.svg
new file mode 100644
index 0000000..6c62973
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mn.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mn" viewBox="0 0 640 480">
+  <path fill="#c4272f" d="M0 0h640v480H0z"/>
+  <path fill="#015197" d="M213.3 0h213.4v480H213.3z"/>
+  <circle cx="107" cy="189.1" r="35" fill="#f9cf02"/>
+  <circle cx="107" cy="173.2" r="38.2" fill="#c4272f"/>
+  <path fill="#f9cf02" fill-rule="evenodd" d="M91.1 131.8a15.9 15.9 0 0031.8 0c0-6.3-4-7.2-4-9.5 0-2.4 2.4-5.6-2.4-9.6 2.4 4-1.6 4.8-1.6 8.8 0 4 1.6 4 1.6 7.1a3.2 3.2 0 01-6.3 0c0-3.1 3.1-6.3 3.1-11 0-4.9-.7-6.5-3.1-10.4-2.4-4-6.4-7.2-3.2-10.4-4.8 1.6-2.4 8-2.4 12s-3.2 6.3-3.2 11 2.4 5.7 2.4 8.8a3.2 3.2 0 01-6.3 0c0-3.1 1.6-3.1 1.6-7.1s-4-4.8-1.6-8.8c-4.8 4-2.4 7.2-2.4 9.6 0 2.4-4 3.1-4 9.5z"/>
+  <circle cx="107" cy="179.5" r="25.4" fill="#f9cf02"/>
+  <path fill="#f9cf02" d="M37 230.4v152.7h31.8V230.4zm108.2 0v152.7H177V230.4zm-70 25.5v12.7h63.6v-12.7zm0 89v12.8h63.6V345zm0-114.5h63.6L107 249.5zm0 133.7h63.6L107 383z"/>
+  <circle cx="107" cy="306.8" r="33.7" fill="#f9cf02" stroke="#c4272f" stroke-width="3.8"/>
+  <path fill="none" stroke="#c4272f" stroke-width="3.8" d="M107 273a16.9 16.9 0 010 33.8 16.9 16.9 0 100 33.7"/>
+  <circle cx="107" cy="289.9" r="6.4" fill="#c4272f"/>
+  <circle cx="107" cy="323.6" r="6.4" fill="#c4272f"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mo.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mo.svg
new file mode 100644
index 0000000..30e9129
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mo.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-mo" viewBox="0 0 640 480">
+  <path fill="#00785e" d="M0 0h640v480H0z"/>
+  <path fill="#fbd116" d="M295 108.7l40.5 29.5L320 90.5l-15.5 47.7 40.6-29.5z"/>
+  <g id="mo">
+    <path fill="#fff" d="M320 331.6H217.5a146.3 146.3 0 01-3.8-4H320a2.1 2.1 0 011.4 2c0 .8-.5 1.7-1.4 2zm0-31.3a13 13 0 001.2-7.6 12.4 12.4 0 00-1.2-3.8 82 82 0 01-32.5 19 81 81 0 01-23.5 3.5h-63.1a144.4 144.4 0 005.8 8h61c20 0 38.2-7.2 52.3-19.1zm-109.6-24.7a32.3 32.3 0 01-9.7 2 81 81 0 0060.8 27.5 80.9 80.9 0 0058.5-25 441 441 0 004.5-58.8 441 441 0 00-4.5-67.7c-6.6 6-19 18.7-24.8 38.3A81 81 0 00292 215a80.7 80.7 0 0013.7 45 80.7 80.7 0 01-17-49.5c0-12.4 2.8-24.2 7.8-34.7a32.5 32.5 0 01-7.5-13 80.7 80.7 0 00-10.5 40c0 18 5.9 34.7 15.9 48.1a95 95 0 00-73.4-29.4 32.6 32.6 0 016.8 8.9 95 95 0 0168.6 29.4 95 95 0 00-61-22.2 95 95 0 00-36.7 7.3 81.2 81.2 0 0082.6 52.2c-4.7.8-9.5 1.3-14.4 1.3a80.8 80.8 0 01-56.4-22.8zM320 364.4h-53.1a143.5 143.5 0 0053.1 10.1 11 11 0 001.3-5 11 11 0 00-1.3-5.1zm0-24.5h-93.6a143.8 143.8 0 007.8 6.2H320a4.6 4.6 0 001.3-3.1 4 4 0 00-1.3-3.1zm0 12.5h-76.7a143.6 143.6 0 0014.4 8H320a7.6 7.6 0 001.2-4.2 7.5 7.5 0 00-1.2-3.8z"/>
+    <path fill="#fbd116" d="M200.5 174.8l25.4 23.6-6.7-34-14.6 31.4 30.3-16.8zm36.9-32l34.7.6-27.7-21 10.1 33.3 11.3-32.9z"/>
+  </g>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)" xlink:href="#mo"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mp.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mp.svg
new file mode 100644
index 0000000..bf9ed63
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mp.svg
@@ -0,0 +1,86 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mp" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="mp-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#mp-a)">
+    <path fill="#0071bc" fill-rule="evenodd" d="M-160 0h960v480h-960z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M370 365.7s15.2-16.1 29.8-13c4.4-17 21-18.4 21-18.4s-1.7-18.7 19.5-22.8c.6-12.7 13.5-23.3 13.5-23.3s-2.6-19.7 10.8-24.3c-8.2-15.6 2.8-27 2.7-27.3-.2-.3-14-24.8-1.6-31.8-13-11-8.8-23.4-8.8-23.4s-14.2-3.7-9.1-20.7c-11.7-2-14-20.9-14-20.9s-18 3.7-20.2-12c-12 1.9-13.2-9.8-13.4-9.8-.1 0-23.5 6.3-28.2-11.4-9.1 4.7-13-3.7-13-3.7s-13 6.5-20.8-6c-15.5 9.7-24.2-.4-24.2-.4s-20.3 13.4-27 3c-12 12.2-22.8 7-22.8 7s-9 16-23.7 12c-3.3 14.9-20.2 15.2-20.2 15.2s1.8 13.1-18.4 16.7c-2.6 15.5-13.2 18-13.2 18s1 15.2-8.5 20c3.4 8.5-5.4 18.9-5.4 18.9s9.4 11.7-3.4 24.9c12.3 3.2 3.4 24.4 3.4 24.4s17 7.6 6.3 21.7c12.2 4 8.4 13.6 8.5 19.3 7.8 3.5 14.6 1.8 11.3 17.4 23.8 2.7 12.6 15.8 12.6 15.8s11 .5 6.7 9.3c20.3-.5 23.3 15.2 23.3 15.2s18.8-5 21.3 2.3-8.2 56.7-8.2 56.7-16 0-27.8-12.8c-27.8-.7-21.6-19-22-19-.5 0-9.3 3.4-13.8-11.9-18.6 3.8-18-11.8-18.2-12-.1-.1-8.3-3.8-5.3-11.5-19.1 1.7-17.7-17-17.7-17-4.2-1.7-5.7-5.6-5.1-9.5-2.5-.9-19.5-1.2-10.7-23.6-16.2-9.8-6.1-21-6.1-21s-22.4-11.6-5.1-25c-13-19 1-28.5 1-28.5s-17.9-18.1.3-31c-3-27.5 13.4-34.1 13.4-34.1s-8.6-22.4 14.8-31.8c1.5-22.7 17.9-23.3 17.9-23.3s.4-18 26.2-16.2c5-16.1 22.5-12.9 22.5-12.9s5.4-19.5 29.3-10.1c12.1-23.7 30.2-11.6 30.2-11.6s11.4-7.4 17-5c7.3-12.5 22.8-.6 32.7 1.9 3.7-1.5 16.6-11.2 26.5 1 13.2-8.5 24.5 7 24.5 7s18.1-9.2 26.6 11.8c38.5-3.5 33 21.7 33 21.7s30.2-6.9 23.6 23.3c27.6 1.9 24.8 20 24.8 20s17.4 13.2 9.8 25c15.5.8 9.8 15.7 9.8 15.7s11.9 4.6 2 23c22.7 18.1 4.4 36.2 4.3 36-.2-.1 12.1 14.6 1 31.6 3.4 27-10.2 33.8-10.2 33.8s3.5 17.5-11.7 22.4c-.3 20.5-19.7 23-19.7 23s5.2 9-14 18.3c-.8 13.7-20.8 14.8-20.8 14.8s-1.9 25.2-27.4 18.4c-6.1 20.2-36 14.2-36.6 14-.5-.3-5.7-43.4-5.7-43.5z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.9" d="M185 124s6.4 5.6 5.2 14c-1.2 8.3-6 19.9-5 28.5.6 3.5.3 9.7.3 9.7s-5.7-8.2-5.8-17 6.2-17.1 6.2-23.6-1.1-11.7-1-11.5zm-3.2 2.6s-8.4 8-9.5 15.7c-.8 4-1 22.7-1.2 31-.2 2.5-1.2 12.5-1.4 16.2-.3 3.6 6.1-6.2 6.5-14.3-.2-8.3-.2-25.8.6-28.5.8-3.4.6-7.1 1.8-10.5l3.2-9.6z"/>
+    <g fill="#ffd200" fill-rule="evenodd" stroke="#ef8a10">
+      <path stroke-width="1.9" d="M366 100.5s10.8-5 14-14.4-9.5-9.4-11.1-6.4c-1.7 3 1.4 10.3.6 12.3-.8 2-5.2 6.6-3.5 8.4z"/>
+      <path stroke-width="2.5" d="M269.8 103.9s7-9.7 5.2-19.4c-1.9-9.6-12.8-3.6-12.8-.2s6.2 8.3 6.5 10.4c.3 2.1-1.3 8.4 1 9.1zm-19.1 5.7s7-9.7 5.2-19.3c-1.8-9.7-12.8-3.7-12.8-.3 0 3.4 6.3 8.4 6.6 10.5.2 2-1.3 8.3 1 9.1zm-21.1 6.5s7-9.6 5.2-19.3c-1.9-9.7-12.8-3.7-12.8-.3 0 3.4 6.2 8.4 6.5 10.5.3 2-1.3 8.3 1 9.1zm-15 14.9s7.1-9.7 5.3-19.3c-1.8-9.7-12.8-3.7-12.8-.3 0 3.4 6.3 8.4 6.5 10.5.3 2-1.3 8.3 1 9.1zM199 145.4s7-9.7 5.2-19.4-12.8-3.6-12.8-.2 6.3 8.3 6.6 10.4c.2 2.1-1.3 8.4 1 9.2z"/>
+      <path stroke-width="1.9" d="M235 61.7s-9.4 7.4-10.2 17.2c-.8 9.8 11.3 7 12.2 3.7 1-3.3-3.7-9.7-3.4-11.8.3-2 3.5-7.7 1.4-9zm31.3-9.6s-9.3 7.4-10.2 17.2c-.8 9.8 11.3 7 12.3 3.7.9-3.3-3.8-9.8-3.5-11.9.3-2 3.5-7.7 1.4-9zm-116.7 84.5s2 11.8 10.2 17.3c8.2 5.4 11.5-6.6 9.1-9s-10.3-1.4-12-2.6c-1.7-1.3-5-6.8-7.3-5.7zm-15.6 40s0 12 7.3 18.7c7.2 6.6 12.4-4.7 10.4-7.4s-10-3-11.4-4.5c-1.5-1.6-4-7.5-6.3-6.7zm36 44.8s-4.2-11.2-13.3-15c-9.1-3.6-10 8.8-7.2 10.7 2.9 1.8 10.4-.7 12.3.2 2 .9 6.3 5.6 8.3 4zm-7.4-19.4s7.2-9.5 5.6-19.1c-1.7-9.7-12.7-4-12.8-.6 0 3.4 6 8.5 6.3 10.6.2 2.1-1.5 8.3.9 9.2zm225.6-91.9s10.8-5 14-14.3-9.5-9.4-11.1-6.5c-1.7 3 1.4 10.4.6 12.3-.8 2-5.2 6.7-3.5 8.5zm32.8 16.4s6.4-10.1 3.9-19.6c-2.5-9.5-13-2.8-12.8.6.2 3.3 6.8 7.9 7.2 10 .4 2-.7 8.4 1.7 9zm89.6 93s-4.3-11.1-13.4-14.9c-9.1-3.7-10 8.8-7.2 10.6 2.9 1.9 10.5-.7 12.3.2 2 1 6.3 5.7 8.3 4.1zm-43.8 7s.2-12 7.5-18.6c7.3-6.6 12.4 4.9 10.4 7.6-2.1 2.7-10 2.8-11.6 4.3-1.4 1.5-4 7.4-6.3 6.6zm-7-126.8s-11.3-4.3-20 0c-9 4.4-.2 13.4 3 12.5 3.3-1 6.4-8.3 8.4-9.1 2-.8 8.4-1 8.5-3.4zM434 78.3s-11.1-4.3-20 0c-8.8 4.4-.1 13.4 3.2 12.5 3.2-1 6.4-8.3 8.3-9.1 2-.8 8.4-1 8.5-3.4zm-38-20.4s-9.5 7.3-10.4 17c-1 9.8 11.2 7.1 12.2 3.9 1-3.3-3.7-9.8-3.4-11.9.4-2 3.6-7.6 1.6-9zm-24.8-6s-4.4 11.1-.1 20c4.3 8.9 13.3.2 12.4-3-.9-3.3-8.2-6.5-9-8.4-.8-2-.9-8.5-3.3-8.6zm-70.5 43s7.7-9.2 6.6-19c-1.1-9.7-12.5-4.5-12.7-1.1-.3 3.4 5.6 8.8 5.7 10.9.1 2-1.9 8.2.4 9.1z"/>
+    </g>
+    <path fill="#8c8a8c" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M342.8 114.4s18.5 1.2 19.4 11.8-4.4 17.1-4.4 17.1 2.3 23-15.8 29.7c-19.4 2.3-49.9.5-49.9.5s-9 2.2-12.6-16.3a305 305 0 01-4.6-31.6s1.8-10.4 14.9-11c13-.7 52.8 0 53-.2z"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="1.9" d="M357.7 143.2s-10 12.4-9 17.5"/>
+    <path fill="#8c8a8c" fill-rule="evenodd" stroke="#000" stroke-width="1.9" d="M344.3 172.3c2.5 2.1 4.8 4.4 5.3 12l1 15.4 13 116.6 11.4 84.3.8 13s-2.7 9.7-10.4 10.5c-5.5 11.6-35.7 15-38.7 14.9-2.7-.2-12.3-4.2-18.1-3.7-5.9.5-16 4.4-20.5 3.8-4.5-.7-14.8-4.2-16.6-11.6-12.7-4-14.7-13.7-14.7-13.7l13.7-97.5 13.3-123.4s1.6-16.4 8.2-18.9c6.9-.6 42.4.7 52.3-1.7z"/>
+    <path fill="none" stroke="#000" stroke-width="1.9" d="M274.4 341.1l-2.7 86.3m86.5-74.9l7.6 71.2"/>
+    <path fill="none" stroke="#000" d="M136.6 296.3l-.3 1m358.7-4.1l.3 1"/>
+    <path fill="none" stroke="#6b18b5" stroke-linejoin="round" stroke-width="1.9" d="M127 179.8s5.6 7.9 6.7 12.4c1 4.5 2.9 13.4 5.3 17 2.5 3.7 16.6 23.9 17.4 32.3.1 5.6-5.9 15-14.7 15.2-5.6-.2-19.8-3.8-20.4-16-.6-12.3 4.3-12.5 5-20 .5-7.4.7-40.7.7-40.9z"/>
+    <path fill="none" stroke="#6b18b5" stroke-linejoin="round" d="M224.5 72.8s-6 .4-10.4 2.9c-3.5 2.1-9.5 5.3-13.6 11-10.6 8.2-26.5 12-31.5 19-3 4.6-2.8 15.7 4.7 20.5 4.8 2.7 19 7 25.8-3.1 6.8-10.2 2.7-13 6-19.6a117.4 117.4 0 0119-30.7zM367 58s-4.4-4-9.3-5.5c-4-1-10.6-.6-17.5-1.3-13.3-1.8-27-11.4-35.3-10.2-5.4 1-13.3 9-11.5 17.6 1.3 5.4 7.3 16.2 19.4 14.1 12-2.1 12-4.8 19-7 17.4-9.7 35-7.7 35.2-7.7zm141.4 137.4c1-2.3-.9-6.6-2.2-11.5-1.2-4-3.1-10-7.7-15.5-5.4-12.2-4.5-29-10-35.4-3.7-4-14.6-6.6-21-.4-3.9 4-11.4 16.6-3.2 25.7 8.2 9 11.8 5.7 17.4 10.5 13.5 9 20 25 26.7 26.6zM503.5 302c1.9-2.5 5.2-7.4 4.8-11.5-.3-3.2 1.5-13 1.7-17.3 1.2-13.3 9.5-24.2 7.2-35.7-1.3-5.4-9.2-13-17.8-10.8-5.2 1.6-17 8-14.3 20 2.7 12 6.6 11.7 9.1 18.7 7.3 14.5 2.7 31.7 9.3 36.6z"/>
+    <path fill="none" stroke="#000" stroke-width="1.9" d="M405.5 386.8s-2.3 4.4 6.8 8.2m11.3-18.4s10-2.5 16.8 0m13.2-25.4c0 .2-1.4 4.5 6.6 10.8m-.8-22s5.9 4.3 15.8 4m-75.4 8.6s.3 11.5-5.6 16.8m25.4-34.5s9.7 2.4 17.7-1.6m44.6-15.3s2.1 3 12.9 2.5m-54.9-9.3c.3.2 12.7 4.2 20.5.6m4.2-47.8s.5-.7 4.3 12.7m5.2-50.4s-.5 7.1-6.2 10.2m42.9-39.4s-8.4 6.8-6.8 9.5m-34.7-14.4s4.3 7.3-2.8 12.3M448.2 161s7.5-.3 10.8 6.1m-24.8-27.3h5.7m24-26c0 .1 1.5 1.5-1.4 4.5m-52-3.8s4 6.2 3.3 13.9m19.8-35.1c1.8-.2 7.7-2.8 7.7-2.8m-33.4-22c-.1 0-2.2 7.7 1.6 10.5m-11.1 25c0 8.4 6.6 6.3 2 14.3M382.2 97a57 57 0 00-10.4 9.4m-16.4-13.7s4.4 4.3 3.3 10.2m-16-13.7s-2.2 6.6-5.1 8.3m-18-10c-.1.3-3.6 7.8-6 9.1m-25.6-9c.2 0 3.5 7-.8 12m-6.5-48c.2.2.7 5.4-2.6 10m-28.7 1.9c0 .1 1.4 5.9-7.8 7.8m-9.9 45.2c.2.3 8.9 1.7 8.9 1.7M210 136.6c.2-.2 10.6-3.3 10.6-3.3m-27.4 16.3c.3 0 7.3 1.3 9 .4m-14 6s2.3 1.3.4 13m-34.2-43.5l4.2 6.2m-18.5 26c0-.2 4.2 6.2 9.8 7.4m23 25.2a49 49 0 008-2M170 213.8c.2 0-.1-4.3 5.2-7.3M163 224.7c0 .2 5 6.4 8.5 7.3m-11.5 4.7c.6-.2 6-4.9 12.2-4.5m-13.9 20.6s.2 5.4 16.2 4m-14.6 15c0-.2 4.7-10.8 14.2-14.8m-1.4 28.4s1.4-4.6 9.4-7.7m-.5 25.5s5.7-4.7 7.8-5.3m-.7 19.3s3.5 3.6 12.2-2.7m-54 5.6c1-.2 13.7-3.1 18 3.5m-13 7s13.4-1.8 15.1-.4m32.7 3.1s-1.8 3.7 14.7-2.4m5.8 9c-3 5 .7 9-3.2 11.3m-47-4.3c.5-.4 6-2.3 5.2-10.3m-.2 22.3c.7-.2 9.9-4.2 11.8-2.1m6.3 13.7s1.2-8.2 3.8-9m10 21.3s7.7-.1 11-2.6m3.8-25c.2.2 7.1 3.8 22 .2m-16.4 33s2 10.6 2 13"/>
+    <g fill="#de2010" fill-rule="evenodd" stroke="#000" stroke-width="1.5">
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.60885 -.2011 .2072 1.65762 94.8 75)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.60885 -.2011 .2072 1.65762 93.4 57.3)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.58497 -.3417 .35206 1.633 78 74)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.4455 -.73446 .7567 1.4893 55.9 163)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.4455 -.73446 .7567 1.4893 48.9 147.1)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.3781 -.85423 .88011 1.41987 40 167.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.28907 -.98346 1.01327 1.32812 33.8 193)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.1329 -1.15994 1.19508 1.16722 35.3 239)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(1.02138 -1.25922 1.29739 1.05234 34.3 262.7)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.79817 -1.41132 1.45408 .82236 51.9 315)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.66642 -1.4781 1.52289 .6866 56.8 337.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.56582 -1.51945 1.5655 .58296 57.9 352.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.4482 -1.5582 1.60543 .46178 63 370.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.20288 -1.60864 1.65738 .20903 94.7 408.9)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.06506 -1.62008 1.66918 .06703 106.3 427.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(.06506 -1.62008 1.66918 .06703 88.8 428)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.36132 -1.5806 1.62852 -.37226 172.5 473.5)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.49045 -1.54542 1.59227 -.50531 188.3 485.8)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.67103 -1.476 1.52073 -.69138 221.9 499.1)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.7945 -1.41337 1.4562 -.81858 241.4 508.3)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-.94339 -1.31867 1.35863 -.97197 271.6 515.4)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.05159 -1.2341 1.27151 -1.08344 292.4 520.2)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.13737 -1.15553 1.19056 -1.17183 308.9 526.1)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.2301 -1.05628 1.08829 -1.26738 331.4 529.6)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.33573 -.91908 .94693 -1.3762 362.5 526.1)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.47374 -.67597 .69645 -1.51841 415.9 504)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.52895 -.53958 .55593 -1.5753 438.7 497.5)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.61445 -.12005 .15429 -1.33344 500.5 406)"/>
+      <path d="M232.8 119c0-2-.8-4-2-5-1.4-1.1-3-1.1-4.2 0s-2.1 3-2.1 5c0 2.1.8 4 2 5.1 1.4 1.1 3 1.1 4.2 0s2.2-3 2.1-5z" transform="matrix(-1.58082 -.36035 .37125 -1.62873 468.4 480.8)"/>
+    </g>
+    <path fill="#ffe300" fill-rule="evenodd" d="M480 194.7c2.2-2.3 4.2-3 6.7-2.1-1-6.1-2.8-8.2-5.2-7.4-2.3.7-3.4 3.8-1.5 9.5zm3.3 18.2c2.3-2.1 4.3-2.6 6.8-1.6-.4-6-2.2-8.3-4.6-7.7-2.4.5-3.6 3.6-2.2 9.3zm-7.8-35c1.5-2.7 3.3-3.8 6-3.7-2.5-5.6-4.8-7.1-7-5.8-2 1.3-2.2 4.6 1 9.6zm-8.1-16.6c1.5-2.8 3.3-3.9 6-3.7-2.5-5.7-4.9-7.2-7-5.9-2 1.3-2.2 4.6 1 9.6zm-19.5-30.5c1-3 2.6-4.4 5.2-4.6-3.3-5.2-5.9-6.3-7.7-4.7s-1.5 5 2.5 9.3zM435 117.5c1-3 2.4-4.4 5-4.8-3.4-5-6-6-7.8-4.4-1.8 1.7-1.4 5 2.8 9.2zM408.3 95c0-3.2 1-5 3.3-6.2-4.8-3.7-7.7-3.8-8.8-1.7s.2 5.1 5.5 7.9zm14 10.5c.4-3.1 1.7-4.8 4.3-5.5-4.2-4.5-6.9-5.2-8.4-3.3-1.5 2-.7 5.1 4 8.8zm-30-19.3c-.3-3.1.5-5 2.7-6.5-5.2-3.2-8-3-9-.8-.9 2.3.8 5.1 6.4 7.3zM376.2 79c-.8-3-.3-5 1.7-6.8-5.6-2.4-8.4-1.9-9 .5-.6 2.4 1.5 4.9 7.3 6.3zm-17.5-5.4c-1.1-3-.8-5 1.1-7-5.8-1.9-8.5-1.1-9 1.3-.3 2.4 2 4.8 7.9 5.7zm-17.3-3.4c-1.2-2.8-1-5 .7-7-6-1.5-8.6-.5-8.8 2-.3 2.4 2.2 4.6 8.1 5zm-18.2-1.4c-1.6-2.7-1.6-4.8 0-7-6.1-.9-8.7.4-8.6 2.8 0 2.5 2.7 4.4 8.6 4.2zm-35.7 2.7c-2.2-2.2-2.7-4.3-1.8-6.8-6 .6-8.2 2.4-7.6 4.8.6 2.4 3.7 3.6 9.4 2zm17.6-2.3c-1.9-2.5-2.2-4.6-.9-7-6.1-.2-8.5 1.3-8.2 3.8.3 2.4 3.2 4 9 3.2zm-34.9 6c-2.4-1.9-3.3-3.8-2.7-6.4-6 1.5-7.8 3.6-6.9 5.8 1 2.3 4.2 3 9.6.6zm-33 15.2c-2.8-1.4-4-3.1-3.9-5.8-5.6 2.6-7 5-5.6 7 1.3 2 4.6 2.2 9.5-1.2zm16-8.1c-2.7-1.7-3.6-3.6-3.2-6.2-5.9 1.8-7.6 4-6.5 6.2 1.1 2.2 4.4 2.8 9.6 0zm-45.6 28.8c-3-.8-4.6-2.3-5-5-5 3.8-5.8 6.4-4.1 8.1 1.8 1.7 5 1.2 9-3.1zm14.1-11.6c-3-1-4.4-2.6-4.6-5.2-5.2 3.2-6.3 5.8-4.7 7.7 1.6 1.8 5 1.5 9.3-2.5zm-26.7 24c-3-.6-4.7-1.9-5.4-4.5-4.6 4.1-5.2 6.9-3.3 8.4 1.9 1.6 5 .7 8.7-4zM183.7 138c-3.2-.2-5-1.3-5.8-3.8-4.2 4.5-4.6 7.2-2.6 8.6 2 1.4 5.1.2 8.4-4.8zm-9.4 15c-3.2.2-5-.7-6.4-3-3.4 5.1-3.4 8-1.2 9s5.1-.6 7.6-6zm-8.3 16c-3 .6-5 0-6.7-2.2-2.7 5.5-2.3 8.3 0 9 2.3.8 5-1.2 6.7-6.9zm-6.6 16.3c-3 1.1-5 .8-7-1-1.8 5.8-1 8.5 1.5 8.9 2.4.3 4.7-2 5.5-8zm-4.5 18.2c-2.8 1.3-4.9 1.2-7-.5-1.4 6-.4 8.5 2 8.7 2.5.3 4.7-2.2 5-8.2zm-1.8 15.2c-2.6 1.4-4.7 1.6-7 .5-.7 4.9.6 6.8 3 6.6 2.4-.2 4.3-2.4 4-7.1zm307-72.2c1.1-3 2.7-4.4 5.3-4.6-3.2-5.2-5.7-6.3-7.6-4.8-1.9 1.6-1.6 5 2.3 9.4zm25.2 85c2.3-2.2 4.4-2.7 6.8-1.6-.4-6.1-2.2-8.3-4.6-7.8-2.3.6-3.6 3.6-2.2 9.4z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.9" d="M461.3 132s-7 6.9-5.7 15.2c1.2 8.3 6.5 18.6 5.5 27.3-1 8.6-2.5 14.3-2.5 14.3s8-9.1 8-18c.2-8.7-5.4-20.3-5.4-26.7s.3-12.2.1-12zm12.7 28s-5.3 4-4.8 13c.5 9.1 10 25.8 10 25.8s6.8 14 6.5 17.7c-.2 3.7 1.3-3.5.6-11.5s-11-25.8-11-25.8-2.2-3.6-2-9.7c.2-6 .8-9.4.8-9.5z"/>
+    <path fill="#6b18b5" fill-rule="evenodd" d="M313 47.4c0-1.8-2.2-3.4-4.8-3.4s-4.7 1.6-4.7 3.4 2 3.4 4.7 3.4 4.7-1.5 4.7-3.4zm2 8c0-1.8-2.2-3.3-5-3.3-2.6 0-4.8 1.4-4.8 3.2s2.2 3.3 4.9 3.3 4.8-1.5 4.8-3.3zm6-9.4s-5.6 4.1-3.3 5.8c2.3 1.7 8.6-3.6 8.6-3.6L321 46zm163.3 95.4c0-1.2-.5-2.3-1.4-2.9a2.6 2.6 0 00-3 0c-.9.6-1.4 1.7-1.4 2.9s.5 2.3 1.4 2.9a2.6 2.6 0 003 0c.9-.6 1.4-1.7 1.4-2.9zm-2.1-8c0-2-1.4-3.5-3-3.5s-3.1 1.6-3.1 3.6 1.4 3.5 3 3.5 3.1-1.6 3.1-3.5zm1.5 16.2c0-1-.6-1.8-1.2-1.8s-1.2.8-1.2 1.8.5 1.9 1.2 1.9 1.2-.9 1.2-1.9zm4.9-14.4c0-1.2-.6-2.1-1.2-2.1-.7 0-1.2.9-1.2 2s.5 2.2 1.2 2.2c.6 0 1.2-1 1.2-2.1zm-13.4 1.4c0-1-.6-1.7-1.2-1.7s-1.2.8-1.2 1.7.5 1.8 1.2 1.8 1.2-.8 1.2-1.8zm2.1 11.4c0-1.5-1.1-2.7-2.5-2.7s-2.5 1.2-2.5 2.7c0 1.6 1 2.8 2.5 2.8s2.5-1.2 2.5-2.8zm-6.6-5c0-1.3-1-2.4-2.1-2.4-1.2 0-2.2 1-2.2 2.4s1 2.4 2.2 2.4c1.1 0 2-1 2-2.4zm-1-6.8a2 2 0 00-1-1.7 1.8 1.8 0 00-1.9 0 2 2 0 00-.9 1.7 2 2 0 001 1.8 1.8 1.8 0 001.8 0c.6-.4 1-1 1-1.8zm30.1 34.4c-2.7-3.6-7.1-5.1-9.8-3.4-2.6 1.7-2.6 6 .2 9.7 2.7 3.6 7 5.1 9.7 3.4 2.7-1.8 2.7-6 0-9.7zm7.8 66.7c.5-4.5-1.6-8.4-4.8-8.8-3.2-.3-6.2 3-6.8 7.4-.5 4.4 1.7 8.3 4.9 8.7 3.2.4 6.2-3 6.7-7.3zm1.6 38.8c1-4.4-.9-8.5-4-9.2-3.2-.6-6.5 2.4-7.4 6.8-.9 4.3 1 8.4 4 9 3.2.7 6.5-2.3 7.4-6.7zm7.5-36.4c0-1.7-1.2-3.1-2.6-3.1s-2.7 1.4-2.7 3.1c0 1.8 1.2 3.2 2.7 3.2s2.6-1.4 2.6-3.2zm-6.5 7.3l-5.4 6.2s-5.1.1-4.8 1.8c.2 1.6 7 6.6 7 8.6-.1 2 4.4-.5 4.4-.5l3.7-11.1s-.2-7.7-2.2-7.6c-2 .2-2.5 2.5-2.7 2.6zm-357.4-2.4a2.6 2.6 0 10-5.1 0 2.6 2.6 0 005.1 0zm2.5-8c0-1.4-1.2-2.6-2.6-2.6s-2.6 1.2-2.6 2.7 1.2 2.7 2.6 2.7a2.7 2.7 0 002.6-2.7zM134 199.2c-1-2.2-3-3.4-4.5-2.7-1.5.7-2 3-1 5.2s3 3.4 4.5 2.7c1.6-.7 2-3 1-5.2zm6.5 23.4c-1.4-2.8-4.1-4.4-6.2-3.5s-2.7 3.9-1.4 6.7 4 4.4 6.2 3.5 2.7-3.9 1.4-6.7zm6.8 17.2c.5-3.5-1-6.8-3.2-7.2-2.3-.5-4.4 2-4.9 5.5-.4 3.5 1 6.7 3.3 7.2 2.2.5 4.4-2 4.8-5.5zm-11 2.5c1.4-3.3.9-6.8-1.1-7.8s-4.8.7-6.2 4-.9 6.7 1.2 7.8 4.7-.7 6.1-4z"/>
+    <path fill="#6b18b5" fill-rule="evenodd" d="M131.3 234.8c0-1.7-1.3-3-2.9-3s-2.9 1.4-2.9 3 1.3 3 3 3 2.8-1.3 2.8-3zm-2.3-7.5c0-1.5-1.2-2.7-2.6-2.7a2.7 2.7 0 00-2.6 2.8c0 1.4 1.2 2.7 2.6 2.7s2.6-1.3 2.6-2.8zm2.4-14.3c0-2.6-1.1-4.6-2.5-4.6s-2.5 2-2.5 4.6c0 2.5 1.1 4.6 2.5 4.6s2.5-2 2.5-4.6zm7.8-1.1c.3-2.5-.5-4.7-2-5-1.3-.1-2.7 1.8-3 4.3-.4 2.5.5 4.7 1.9 4.9 1.3.2 2.7-1.7 3-4.2zm55-110c1.1-3.6 0-7.2-2.3-8-2.3-.9-5 1.3-6 4.9-1 3.6 0 7.2 2.3 8 2.3.9 5-1.3 6-4.9zm-10.4 15.9c3-2.7 4.4-6.3 3-8.1-1.5-1.9-5.2-1.2-8.3 1.4s-4.3 6.2-2.9 8c1.5 1.9 5.2 1.3 8.2-1.3zm-6-8.8c3-2.3 4.2-5.4 2.8-7s-5-1-8 1.2c-3.1 2.3-4.4 5.4-3 7s5 1 8.1-1.2zm23.5-15.5c2-1.6 2.9-3.8 2-4.9-1-1-3.5-.7-5.6.9s-2.9 3.7-1.9 4.8c1 1.1 3.4.7 5.5-.8z"/>
+    <path fill="#6b18b5" fill-rule="evenodd" d="M189 108.5c1.4-2.2 1.5-4.5.2-5.2-1.3-.7-3.5.4-4.9 2.6s-1.5 4.5-.2 5.2c1.3.7 3.5-.5 4.9-2.6zm17.7-9.3c2.2-1.9 3-4.3 2-5.5-1.2-1.2-4-.6-6.2 1.2s-3 4.3-1.9 5.5c1.2 1.2 3.9.6 6.1-1.2zm-32 21.6c2 0 3.6-1.1 3.4-2.3 0-1.1-1.9-2-4-1.9-2 .1-3.6 1.2-3.4 2.3.1 1.2 2 2 4 2zm38.7-33.1c1.4-2.2 1.5-4.5.2-5.2-1.2-.7-3.4.4-4.8 2.6s-1.5 4.5-.2 5.2c1.3.7 3.4-.4 4.8-2.6z"/>
+    <path fill="#ffd200" fill-rule="evenodd" stroke="#ef8a10" d="M446.8 153.4s6.4-10.1 4-19.7c-2.5-9.5-13-2.7-12.8.7.2 3.3 6.8 7.9 7.2 10 .4 2-.8 8.3 1.6 9z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M324.9 69.3s23 .9 23.1 15.8c0 2.3 0 5-.8 11.7 4.6-2.5 7.6-9.3 7-13.7.1-15.1-20.5-25.5-29.3-13.8z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M310.3 68.6s18.5-3.8 18.7 11c.1 15-6 17.3-6 17.3s14.3-3 14.4-18.1c0-15.2-18.3-21.9-27.1-10.2z"/>
+    <path fill="#f7df73" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="M373.3 390s86.8-24.6 113-131C471 368.1 376 403 376 403l-2.8-13z"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M382.2 396.6c2.7 0 9.3-7.4 13.1-8.2 3.8-.8 4.2-4.7-.1-4.8-4.4-.2-8.2 5-8.2 5s-3.8 3.2-7.8 3.6c-4 .4-1.4 5.4 3 4.4z"/>
+    <path fill="#8c1800" fill-rule="evenodd" stroke="#8c1800" stroke-width="2.5" d="M432.2 359.3s-9 5.2-7.8 6.5c1.3 1.3 9.3-5 9.5-5 .1-.2 3.4-4.2-1.7-1.5z"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M400.7 383s-2.7-1 4.2-3.6c7-2.7 6.5-5.8 8.8-7.1 2.2-1.3 7-4.7 8-2.7s-5 6-6.5 6.4c-1.4.4-8.3 6.8-10.3 7.3-2 .6-3.4.3-4.2-.3z"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="3" d="M445.6 346c-6 6.7-6 6.5-6 6.5"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.8" d="M454.5 335.2l-5.7 6.9"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.5" d="M463.4 321l-6.4 10.2"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="2.3" d="M470.9 306.6l-5.3 10.5m8.6-18l-1.6 3.6"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.4" d="M478 289l-1.4 4.4"/>
+    <path fill="#f7df73" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="1.5" d="M160.3 216s52-14.7 67.6-78.5c-9.1 65.5-66 86.2-66 86.2l-1.6-7.7z" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M250.7 394.4c-2.7 0-9.2-7.5-13-8.3-3.8-.9-4.2-4.8.1-5 4.4 0 8.1 5.1 8.1 5.1s3.8 3.3 7.7 3.8c4 .4 1.4 5.4-2.9 4.4z"/>
+    <path fill="#8c1800" fill-rule="evenodd" stroke="#8c1800" stroke-width="1.5" d="M195.5 197.6s-5.4 3.2-4.6 4c.7.7 5.5-3 5.6-3.1.1-.1 2-2.5-1-.9z" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/>
+    <path fill="#8c1800" fill-rule="evenodd" d="M232.4 380.6s2.6-1-4.2-3.7-6.5-6-8.7-7.2c-2.2-1.3-7-4.7-8-2.7s5 6 6.5 6.4c1.4.5 8.2 7 10.2 7.5 2 .6 3.3.3 4.2-.3z"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.8" d="M203.5 189.7l-3.5 3.9" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.7" d="M208.9 183.2l-3.4 4.1" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.5" d="M214.2 174.7l-3.8 6.1" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width="1.4" d="M218.7 166.1l-3.2 6.3m5.2-10.9l-1 2.2" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/>
+    <path fill="none" stroke="#8c1800" stroke-linecap="round" stroke-width=".8" d="M223 155.5l-.9 2.7" transform="matrix(-1.65528 0 0 1.70062 524.8 20.4)"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M490.4 239.3c.5 6.7 7 13 4.4 24.7-3.2 13.3-14.8 44.7-12.8 50.2-3.4-4.7-2.8-9-3-15.6-.4-6.5 9.4-30.9 10.3-39.1 0-7.4.7-17.5 1.1-20.2z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M490.4 239.4s10.7 13.5 10.1 24.2c-.5 10.7-6.5 23.2-4.5 28.7a21.7 21.7 0 01-4.6-14.2c-.3-6.5 5.3-13.8 4.1-20.9-1.1-7-5.2-17.8-5-17.8zm-349.3 3c-.4 6.7-5.4 12.7-2.8 24.3 3.2 13.3 15 30 13 49.2 3.5-4.7 4.5-10 4.8-16.5.2-6.5-13-28.5-13.8-36.8 0-7.4-.8-17.5-1.2-20.2z"/>
+    <path fill="#217900" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.3" d="M141.1 242.6s-10.4 13-9.8 23.7c.1 7.1 13.2 36.8 11.2 42.4 3.5-4.7 4.4-4.1 4.3-11.2-3.8-18.3-10.7-29.9-9.5-37 1.1-7.1 4-18 3.8-18z"/>
+    <path fill="#fff" stroke="#000" stroke-dashoffset="1" stroke-linecap="square" stroke-linejoin="round" stroke-width="1.7" d="M100 125.8l22 68.2h72l-58 42.2 22.1 68.2-58-42.1-58 42.1 22-68.2L6 194h71.8z" transform="matrix(1.16516 0 0 1.16534 202 -23.6)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mq.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mq.svg
new file mode 100644
index 0000000..b389d43
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mq.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mq" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mr.svg
new file mode 100644
index 0000000..b53ce61
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mr.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mr" viewBox="0 0 640 480">
+  <path fill="#cd2a3e" d="M0 0h640v480H0z"/>
+  <path fill="#006233" d="M0 72h640v336H0z"/>
+  <path fill="#ffc400" d="M470 154.6a150 150 0 01-300 0 154.9 154.9 0 00-5 39.2 155 155 0 10310 0 154.4 154.4 0 00-5-39.2z" class="st1"/>
+  <path fill="#ffc400" d="M320 93.8l-13.5 41.5H263l35.3 25.6-13.5 41.4 35.3-25.6 35.3 25.6-13.5-41.4 35.3-25.6h-43.6z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ms.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ms.svg
new file mode 100644
index 0000000..5796863
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ms.svg
@@ -0,0 +1,78 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ms" viewBox="0 0 640 480">
+  <path id="rect950" fill="#012169" stroke-width=".7" d="M0 0h640v480H0z" opacity="1" stop-opacity="1"/>
+  <path id="path962" fill="#fff" stroke-width=".8" d="M384.9 111h205.5l-.3 146.3c1.7 58.7-34.9 95.2-102.3 111.7-47.9-12-103-36.5-103.2-110l.3-148z" opacity="1" stop-opacity="1"/>
+  <path id="path964" fill="#00a2bd" stroke="#000" stroke-width="1.8" d="M389.4 115.4h196.4l-.2 140.2c1.6 56.3-33.4 91.2-97.8 107-45.8-11.4-98.5-35-98.6-105.4l.2-141.8z" opacity="1" stop-opacity="1"/>
+  <path id="path966" fill="#a53d08" stroke-width=".8" d="M584.3 272.2c-7.2 53.7-48.6 77.2-96.5 89.7-42.5-11.4-88.2-29.6-97-89.5l193.5-.2z" opacity="1" stop-opacity="1"/>
+  <path id="path968" fill="#000" stroke-width=".8" d="M480 141.5l-.3-17.6 14 .1.1 17.5H532l.1 13.7-38.3.2-.3 161.4-13.6.1-.2-161.7-38 .2v-14z" opacity="1" stop-opacity="1"/>
+  <path id="path970" fill="#ff9a08" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M449 278.8l35 36.3c12.1-13.3 3.7-63-12.2-72.1-1.9 5.9-5.1 13-8.6 15.2-7.5 5.2-26.1 11.2-19.9 15 1.4-1.9 5.1-3.7 6.9.6 2 6.9-7.8 7.3-7.8 7.3s-6.2-.8-7.3-7c-1-6.4 9.3-12.2 10.2-12.6.8-.3 14.3-4 16.6-15.9 2.9-11.8 5.8-10 6.3-10.2 17.7 1.7 29.2 33.3 29.9 55.5.6 22.2-9 37-10.8 38-1.7.9-42-47.9-42-47.9l3.8-2.2z" opacity="1" stop-opacity="1"/>
+  <path id="path972" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M474.6 245l.2 65.5" opacity="1" stop-opacity="1"/>
+  <path id="path974" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M470.6 246.3l.3 59.4" opacity="1" stop-opacity="1"/>
+  <path id="path976" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M466.4 254.9l.2 47.2" opacity="1" stop-opacity="1"/>
+  <path id="path978" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M462.9 258.2l.2 39.1" opacity="1" stop-opacity="1"/>
+  <path id="path980" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M459.2 260v33" opacity="1" stop-opacity="1"/>
+  <path id="path982" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M455.2 262.6v26.1" opacity="1" stop-opacity="1"/>
+  <path id="path984" fill="#ff9a08" stroke="#000" stroke-width=".8" d="M451.7 264.7v20" opacity="1" stop-opacity="1"/>
+  <g id="g994" fill="none" stroke="#ffdf00" stroke-linecap="round" stroke-width="1.8" opacity="1" transform="matrix(.8 0 0 .8 -230.7 -7)">
+    <path id="path986" stroke-width="1" d="M849 362.4l45.1 51.6"/>
+    <path id="path988" d="M896.3 329.9s20.4 44.7 1.5 81.4"/>
+    <path id="path990" d="M843.7 353s1.5-3.9 3.4-2.3"/>
+    <path id="path992" d="M840.2 341.6s-8.2 7.2-3.7 11.9"/>
+  </g>
+  <path id="path998" fill="#008021" stroke="#000" stroke-width=".3" d="M494 175.4c2.3-2 3.6-3.3 5.1-3 1.5.2 3.5 0 5-.4a31 31 0 0112-.4c1 .2 2.5.7 4.6 2.5 2.1 1.8 5.2 5 4.2 13.6s-.7 12.3-1.2 17.2c-.8 8.5-2.7 15.5-6 15 4.5 8 5 15 8 20.5s4.8 16.8 3.7 29c-1.2 12.3-4.4 39.7 5.3 58.2-1.6 1.1-5.5 0-9-3.7s-5-3.6-7.8-1.4c-8.8 6.7-17 14.8-29.1 6.7-2.8-1.8-3.6-4-1.6-9.7 5-14 7.5-33.4 6.7-42.4V175.4z" opacity="1" stop-opacity="1"/>
+  <g id="g1010" fill="#ffe1cf" stroke="#000" stroke-width=".4" opacity="1" transform="matrix(.8 0 0 .8 -230.7 -7)">
+    <path id="path1000" d="M916.2 217.2a12 12 0 01-.1 8.5c-1.3 3-1.6 6.4.6 10.6 3.4-5 8.3-4 11.2-6.8 2.9-2.9 3.5-5.6 5.6-6.2-2.1-1.9-5.4-4-4.7-9.4.7-5.5 8.3-10 1.4-18.3a10 10 0 00-16.7 1.5c-.4 1 .2 3-.9 4.3-.7 1-1.6 1.8-2.6 2.5-.6.5-1 1.1-.3 2 .3.3.8.3 1.3.5l-1 1.8c-.4.4-.2.8.2 1.2-.6 1.7.5 2-.2 3.2-.7 1.1-1.5 2.5.8 3.8.7.3 3.8 1 5.4.8z"/>
+    <path id="path1002" d="M888.1 246c-4 1-10.5-.8-15.4-.2-2.2.2-3.9-.9-3.6-3 .3-2.2.6-5.5.1-8.6a39.5 39.5 0 014.8-18.4 41.2 41.2 0 004.8-14.6c0-2.3.2-4.8 2.2-6.1 1.5-1 1.8-1.9 2.3-2.7 1.2-1.8 2.4-2.2 2.5-1.1.1.6-.1 1.2-.7 2 1.3-1 3.5-2.3 4-2.6.5-.4 3-2.2 3.2-.5 1-.5 1.7-.5 2 0 .2.7 0 .9-.4 1.3.7-.1 1.5 1.1 0 2.3.8-.3 1.6 1 .2 2.1-1.3 1.2-3 2-3.4 3-.5 1-4 3.6-5.3 4.1-1.4.6-1.5 1.4-1.5 3.4 0 22.2-2.6 20.4-2.6 25.8 0 1.4-.3 2.7 1.1 2.3 1.5-.5 3.6-1.1 5.7-1.1v12.5z"/>
+    <path id="path1004" d="M889 293.8c6.5-3.3 14-4.5 17.9-5.5a78 78 0 0013-5.6c3.1-1.6 5.6-3.8 7.3-4.3a8.1 8.1 0 004.8-4 63 63 0 008.6-27.3c0-5-1.3-10.7-6.2-6.7a37 37 0 00-11 16.5c-2 8-3.7 9.8-4.1 11.4-.5 1.6-2.1 1.6-4 2a33.4 33.4 0 00-17 8 170 170 0 01-17.8 11.5c-4.6 2.6-5.5 2.8-6.5 5-1 2-2 3.6-2.8 4.5-.9 1-1.1 2-1 3.2.2 1-.2 5.3-.3 6.7 0 1.5.3 1.8.9 1.9.5 0 1.3-.2 1.6-2-.3 1.8 2.1 1.2 2.2-.1 0 1.9 2.5.8 2.6-1 0 1.3 2 .4 2.1-.1.5-1.5.8-3 1.4-4.2.8-1.7 1.7-3.9 3.4-5 1.9-1.4 1-3 4.9-5z"/>
+    <path id="path1006" d="M935.7 411.9c.4 1.6 1.2 3.4 1.5 4.5.3 1-.2 1.4-.5 2a41 41 0 00-3.4 11c-.1 1.5-1.2 3-1.7 4-.6 1-.3 1.8 1 2.8.5.4 2.5-.2 2.7-1.2.8.7 2 .5 2.6-.6.7.6 1.8.2 2.5-.9.6.4 1.6-.4 2-1 1 .5 2-.1 2-2 0-.5.3-1.2.6-1.6.3-.5.4-1.4.4-2.2 0-.8.4-2.4 1.1-3.5.7-1.1 1.9-3.1 1.4-5-.5-1.7-1.2-1.6-1.9-4-1.6-1.7-3.7-4-6-4.2-2.2-.1-3.5 1.4-4.3 1.9z"/>
+    <path id="path1008" d="M894.7 424.3c2 2 6.5 2 9.7-1.3-1.1-.5-3.7-1.7-4.8-2.6-1.6 1.6-3.4 3.4-5 3.9z"/>
+  </g>
+  <path id="path1012" fill="#870f00" stroke="#000" stroke-width=".3" d="M501.4 149c.6-4 3.5-4 5.3-3.5.8.1 2.6.3 4.4-.2 3.4-.9 6 .3 5.6 3.6 1 .7 2 2.3 1.7 3.7-.1 1.4.2 2 1.4 2.1 1.3.2 4 1.8 2.2 4 1.7 1 3 3.7 2.1 5.4-.9 1.8-3.6 2.1-4.8.5-1.3.6-3.3.7-4.6-.6-.9 1-3 .9-3.5 0-.4-1-1-1.4-1.9-1.7-.9-.3-1-2.8.4-3.1-.1-.8 0-1.6.3-2 .3-.4 0-1.2-.8-1.8-.8-.7-1.5-3-.7-4.4-1.4.5-4.4-.9-5-1.8-.7-1-1.6-1-2.1-.2z" opacity="1" stop-opacity="1"/>
+  <g id="g1088" fill="none" stroke="#000" stroke-width=".4" opacity="1" transform="matrix(.8 0 0 .8 -230.7 -7)">
+    <path id="path1014" d="M916.2 217.2c2.8-.3 3.7-2 5.8-2"/>
+    <path id="path1016" d="M910.2 209.4l.7.4c.5.3 1.2.4 1.7.5"/>
+    <path id="path1018" d="M911 206.4l1.2.7"/>
+    <path id="path1020" d="M917.5 195c-1.6-1.6 2.8-4.8 7.5-.2 1 .9 3.1.9 3.8.7"/>
+    <path id="path1022" d="M924 197.5c2.2-.5 5.4-.5 6.4 2 1 2.4 2.8.8 4.3 3.7 1.5 2.9 3.9 6.1 6.2 3.9"/>
+    <path id="path1024" d="M931.7 213.7a5 5 0 01-.5-4c-.8-1-.5-3.1 0-4.1"/>
+    <path id="path1026" d="M925.5 207.7c.1.9 1.3 2.5 3 2.8"/>
+    <path id="path1028" d="M937.5 214.5c-1-1.3-.9-2.5-.6-4"/>
+    <path id="path1030" d="M927 200.1c0 1.3.7 3 2 3.6.4.8 1.8 2.8 4.7 2.5"/>
+    <path id="path1032" d="M934.3 194.9a13.6 13.6 0 00-6.6-3.1"/>
+    <path id="path1034" d="M916.7 236.3c-2.5 3.3-4 7.9-3 14.4 1.2 6.5 3.1 16-1.6 20.3"/>
+    <path id="path1036" d="M935.4 283.6c-3.3-.8-8-.8-10.7 1.1-2.5 1.9-6.9 2-9.8.6"/>
+    <path id="path1038" d="M928.4 283.3c-2.9.5-4.2 2.6-4.2 7.9 0 5.3-1.2 13.1-.2 20.8"/>
+    <path id="path1040" d="M923.2 285.6c-2 .5-3.9.5-3.5 5.6"/>
+    <path id="path1042" d="M913.4 291.3c.1-3 1.2-6 3.2-5.4"/>
+    <path id="path1044" d="M934.2 292c.1-7-1.4-8.9-3.4-8.8 2.7 0 4.6.4 5.8 11.6.8 8.4 2.6 11.3 4.6 17.9 5.2 17 2.6 43.2 5.2 52.5"/>
+    <path id="path1046" d="M930.2 294c5.5 15.8 8.4 33.4-.5 61.6 6 16.8 12 28.9 13.2 35.8"/>
+    <path id="path1048" d="M913 331.4c1-3.6-2.7-4 .5-16.7 1.4-5.5 1.6-8.8.7-10.5"/>
+    <path id="path1050" d="M914.2 311.7c-1.3 5.6 4.2 16.1 1.5 23.8"/>
+    <path id="path1052" d="M908.9 336.9c0 5 1.1 11.3.9 16.2-.3 4.9 1.7 7.1 4 11.8 8.4 16.7 14 28.6 13.3 44.4-.2 2.9.8 9-2.2 10.7"/>
+    <path id="path1054" d="M909.1 424.2c.9 0 1.8-.4 2.9-3a81 81 0 003-28.8"/>
+    <path id="path1056" d="M916.8 404.5c.4 3.3.4 10.1-1.7 15.5"/>
+    <path id="path1058" d="M922.3 394.6c1.3 7 1.1 13.4.1 17.9"/>
+    <path id="path1060" d="M919.4 412.5c.2 2.8 1.5 10-.7 10.6"/>
+    <path id="path1062" d="M930.2 379c5.4 8.4 9.5 29 14 33.3"/>
+    <path id="path1064" d="M934.8 409c-.1-2.3-.2-5.5-1.5-7"/>
+    <path id="path1066" d="M877.2 308c.1-1.5-.2-3 1.6-5.5"/>
+    <path id="path1068" d="M874.6 309c.3-5.5.2-6 1.8-7.6"/>
+    <path id="path1070" d="M872.4 309.1c0-4-.4-5.3 1.2-7.8"/>
+    <path id="path1072" d="M892.3 190.2l-5.7 4.3"/>
+    <path id="path1074" d="M893.9 191.5c-.7.1-2.7 1.8-6.2 4.5"/>
+    <path id="path1076" d="M894 193.8c-1.2.5-3.3 2.5-5.2 3.9"/>
+    <path id="path1078" d="M885.1 193.4l-2 2"/>
+    <path id="path1080" d="M935.3 435c-.3-.3-.3-1.6.3-3"/>
+    <path id="path1082" d="M938 434.4c-.5-.4 0-2.2.3-3.3"/>
+    <path id="path1084" d="M940.4 433.5c-.5-.2-.6-1.2 0-2.6"/>
+    <path id="path1086" d="M942.3 432.5c-.3-.1-.4-.7.1-2.2"/>
+  </g>
+  <g id="g1094" fill="#000" stroke="none" stroke-width=".4" opacity="1" transform="matrix(.8 0 0 .8 -230.7 -7)">
+    <path id="path1090" d="M914 199.6c1 1.3 2.1 1.2 2.3 2 .2 1 .3 1 .5 1.3.2.2-.5.2-.8 0h-1.7c-.5 0-1.1-.7-.8-.7.4-.1.4-.2.3-.5 0-.3.2-.7.4-.8l-.1-.4c-.2-.4-.4-1.2-.1-1z"/>
+    <path id="path1092" d="M914.6 198.3a8 8 0 014.3 2c.8 1 .1.7-.3.7s-1.3-.2-1.7-.8a5.8 5.8 0 00-2.4-1.4c-.4-.1-.8-.6.1-.5z"/>
+  </g>
+  <path id="path1746" fill="#012169" stroke-width=".5" d="M0 0h320v240H0z" opacity="1" stop-opacity="1"/>
+  <path id="path1748" fill="#FFF" stroke-width=".5" d="M37.5 0l122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z" opacity="1" stop-opacity="1"/>
+  <path id="path1750" fill="#C8102E" stroke-width=".5" d="M212 140.5L320 220v20l-135.5-99.5zm-92 10l3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z" opacity="1" stop-opacity="1"/>
+  <path id="path1752" fill="#FFF" stroke-width=".5" d="M120.5 0v240h80V0zM0 80v80h320V80z" opacity="1" stop-opacity="1"/>
+  <path id="path1754" fill="#C8102E" stroke-width=".5" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z" opacity="1" stop-opacity="1"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mt.svg
new file mode 100644
index 0000000..93fe67b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mt.svg
@@ -0,0 +1,49 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mt" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ce0000" d="M320 0h320v480H320z"/>
+    <path fill="#fff" d="M0 0h320v480H0z"/>
+  </g>
+  <g transform="translate(-12.4 -30.8) scale(1.5986)">
+    <path fill="#f1eeee" fill-rule="evenodd" d="M104.8 108c0 .9-.9 1.5-2 1.5-1.2 0-2-.6-2-1.4 0-.8.8-1.5 2-1.5 1.1 0 2 .7 2 1.5z"/>
+    <path fill="#c00" fill-rule="evenodd" d="M40.7 101v37.2H78c0 6.2 6.2 12.4 12.4 12.4v37.2h37.3v-37.2c6.2 0 12.4-6.2 12.4-12.4h37.2V101H140c0-6.2-6.2-12.4-12.4-12.4V51.4H90.4v37.2c-6.3 0-12.5 6.2-12.5 12.4H40.7z"/>
+    <path fill="#ffe600" fill-rule="evenodd" d="M42 102.2V137h37.2c0 6.2 6.2 12.4 12.4 12.4v37.2h34.7v-37.1c6.2 0 12.4-6.2 12.4-12.4H176v-34.8h-37.2c0-6.2-6.2-12.4-12.4-12.4V52.6H91.6v37.2c-6.2 0-12.4 6.2-12.4 12.4H42z"/>
+    <path fill="#707070" fill-rule="evenodd" d="M43.2 103.5v32.2h37.2c0 6.2 6.2 12.4 12.4 12.4v37.2h32.3v-37.2c6.2 0 12.4-6.2 12.4-12.4h37.2v-32.2h-37.2c0-6.2-6.2-12.4-12.4-12.4V53.9H92.8V91c-6.2 0-12.4 6.2-12.4 12.4H43.2z"/>
+    <path fill="#a0a0a0" fill-rule="evenodd" d="M44.5 104.7v29.8h37.2c0 6.2 6.2 12.4 12.4 12.4V184h29.7v-37.2c6.2 0 12.4-6.2 12.4-12.4h37.2v-29.8h-37.2c0-6.2-6.2-12.4-12.4-12.4V55.1H94.1v37.2c-6.2 0-12.4 6.2-12.4 12.4H44.4z"/>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M94.4 89.2c2.1 2.2.4 7.5-4 11.9s-9.6 6-11.8 4c-2.2-2.3-.4-7.6 4-12s9.6-6 11.8-3.9z"/>
+      <path fill="gray" d="M91.7 91.8c2.2 2.2 1.6 6.3-1.3 9.3s-7 3.5-9.2 1.3c-2.2-2.2-1.6-6.3 1.3-9.2s7-3.5 9.2-1.4z"/>
+      <path fill="#d0d0d0" d="M80.8 98.4l.8-.8 3.5 1.7-1.7-3.5.9-.9 3.5 7-7-3.5zm5.2-5.2l1-1 5.2 5.4-.9.8z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M139.3 105c-2.2 2.2-7.5.4-11.8-4s-6.2-9.6-4-11.8c2.2-2.2 7.5-.4 11.9 4s6 9.6 4 11.8z"/>
+      <path fill="gray" d="M136.7 102.4c-2.2 2.2-6.3 1.6-9.2-1.3s-3.5-7-1.4-9.2c2.2-2.2 6.4-1.6 9.3 1.3s3.5 7 1.3 9.2z"/>
+      <path fill="#d0d0d0" d="M130.1 91.4l.9.9-1.8 3.5 3.5-1.8 1 1-7.1 3.4 3.5-7zm5.3 5.3l.8.8-5.2 5.3-.9-.9z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M123.5 150c-2.2-2.2-.4-7.5 4-11.9s9.6-6.1 11.8-4c2.2 2.2.4 7.5-4 11.9s-9.6 6.1-11.8 4z"/>
+      <path fill="gray" d="M126.2 147.3c-2.2-2.2-1.6-6.3 1.3-9.2s7-3.5 9.2-1.3c2.2 2.2 1.6 6.3-1.3 9.2s-7 3.5-9.3 1.3z"/>
+      <path fill="#d0d0d0" d="M137.1 140.7l-.9 1-3.5-1.8 1.8 3.5-.9.8-3.5-7 7 3.5zM132 146l-1 .9-5.2-5.3.9-.9z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#d0d0d0" d="M78.6 134.2c2.2-2.2 7.5-.4 11.8 3.9s6.1 9.7 4 11.8c-2.2 2.2-7.5.5-11.9-3.9s-6-9.7-4-11.8z"/>
+      <path fill="gray" d="M81.2 136.8c2.2-2.2 6.3-1.6 9.2 1.3s3.5 7 1.3 9.2c-2.1 2.2-6.3 1.6-9.2-1.3s-3.5-7-1.3-9.2z"/>
+      <path fill="#d0d0d0" d="M87.8 147.8l-.9-1 1.8-3.4-3.5 1.7-1-.9 7.1-3.5-3.5 7zm-5.3-5.3l-.8-.9 5.2-5.2.9.8z"/>
+    </g>
+    <path fill="none" stroke="#707070" stroke-width="1pt" d="M269.3 414.6c0 41-34.1 74.4-76.2 74.4S117 455.7 117 414.6s34.1-74.4 76.2-74.4 76.2 33.3 76.2 74.4z" transform="matrix(.34191 0 0 .35003 43 -25.5)"/>
+    <path fill="none" stroke="#707070" stroke-width="1pt" d="M269.3 414.6c0 41-34.1 74.4-76.2 74.4S117 455.7 117 414.6s34.1-74.4 76.2-74.4 76.2 33.3 76.2 74.4z" transform="matrix(.2605 0 0 .26669 58.6 9)"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" d="M100.3 140.7a1.2 1.2 0 11-2.5 0 1.2 1.2 0 012.5 0zm19.8 0a1.2 1.2 0 11-2.5 0 1.2 1.2 0 012.5 0zm-12 0v1.3h-1.6c-1.7 0-1.7 1.3 0 1.3h1.6v1.2c0 1.4 1.5 1.5 1.6.1v-1.4h1.7c1.7 0 1.7-1.2 0-1.2h-1.6v-1.3c0-1.3-1.7-1.3-1.7 0z"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width=".1" d="M102.8 122.3v.8s-.4.5-2.9.7c-2.5.2-2.9 0-2.9 0 .1.7.6 1.9.4 3.3.1 1.7-.4 3.2-.4 3.2 0 .1-.3.2-.8.1.4-.4.4-1.4.4-3 0-1.4-1.5-3.7-1.2-4.3.3-.6 7.4-.8 7.4-.8zm9.8-2.6l6.5-.1s1 2 .9 3c0 1-.4 2-.8 1.5-.5-.5.2-.4.3-1.5 0-1.2-.8-2.3-.8-2.3s-1.8.7-4.4.6c-2.6-.2-1.4-1.2-1.7-1.2z"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width=".1" d="M113.4 121.6c2.4-.1 4 .2 4 .2s1 2 1 3c-.1 1-.4 2-.9 1.5-.4-.4.2-.3.3-1.5 0-1.1-.8-2.3-.8-2.3s-1.7.7-4.3.6c-2.6-.2-1.8-.3-2.1-.4-.3 0-.4.8-4.3.9-4 0-6-.9-6-.9s-.4.6-2.8.8h-3c.1.6.6 1.8.5 3.3 0 1.6-.5 3.2-.5 3.2h-.7c.4-.3.3-1.4.4-2.9 0-1.5-1.6-3.7-1.3-4.4.4-.6 2.2 0 2.5-.3.3-.4-1.6-2.7-1.2-4.8.3-2.1 2.4-1.5 4.9-1.5 2.5.1 8 .8 9.4 0 1.4-.7.8-3.4 2-5.1a4.1 4.1 0 013.3-1.5c.9 0 2 3 2 3.7l-.3.4h-.4v.3c-1 .1-1.1-.8-1.7-1.4-.2 1 .8 4.4.8 6.6 0 1.8-.7 2.6-.8 2.5z"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width=".1" d="M105.5 118.4c0 .7-3.1 2.4-3.4 3-.2.7.8 1 .5 1.4-.3.4-.6.2-.7.3l-1.2-2.5s3-1.4 2.9-2c-.1-.6-2.2-1-2.6-2.4s-.2-4.3-.5-4.9c-.3-.6-4-1.2-4-2 0-1 3.8-3.4 4.2-3.8.4-.4.8.4.4.7-.4.4-3.3 2.7-3.3 3 0 .4 2.4.8 3.2.8.9 0 1.3-.4 1.3-.8 0-.3-.9-.3-.9-1s.5-1.2 1.3-1.2c.4 0 1.2.5 1.2 1.1s-.7.7-.8 1.1c-.1.5.8.8 1.6.8s3.6 2.1 4 2.5c.5.3.9.3.5.7-.4.4-.2.8-.6.4a1.5 1.5 0 01-.4-.7c0-.3-3-1.8-3.5-1.5-.4.4 0 4.8 0 5.2 0 .7.9.7.8 1.8z"/>
+    <path fill="#a7a7a7" fill-rule="evenodd" d="M100.3 109.9h5v5.1h-5z"/>
+    <rect width="30.6" height=".4" x="138.6" y="-25.7" fill="gray" fill-rule="evenodd" rx=".5" ry=".2" transform="matrix(.55442 .83223 -.88237 .47055 0 0)"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="#707070" stroke-width="1pt" d="M180.7 42.5a7 7 0 11-14.2 0 7 7 0 0114.2 0z" transform="matrix(.11563 0 0 .10345 80.7 101.5)"/>
+    <path fill="gray" fill-rule="evenodd" d="M115.9 112.5c0 .3-2 .7-4.1.7-2.2 0-4.1-.4-4.1-.7 0-.3 1.9.5 4 .5 2.3 0 4.2-.8 4.2-.5z"/>
+    <path fill="#a7a7a7" fill-rule="evenodd" d="M100.7 115h4.1v1.5h-4z"/>
+    <path fill="gray" fill-rule="evenodd" d="M114 111.4c-.4.8-.7 1.3-.8 1.2 0 0 .2-.8.6-1.5l.8-1.2c.1.1-.2.8-.6 1.5zm1 2l-.8.5a3.2 3.2 0 01.8-.9c.5-.4.9-.6.9-.5l-.8.8z"/>
+    <path fill="gray" fill-rule="evenodd" d="M114.6 112.4l.5 1.2-.8-1-.5-1.2.8 1zm-.4 3.2s-1.2.2-2.8.2-2.9-.1-2.9-.2l2.9-.2c1.6 0 2.8 0 2.8.2zm-9.4-.4c0 .1-.9.2-2 .2-1.2 0-2 0-2-.2 0 0 .8-.2 2-.2 1.1 0 2 .1 2 .2z"/>
+    <path fill="#d0d0d0" fill-rule="evenodd" stroke="gray" stroke-width=".1" d="M95.8 128s.7 1.6 3.6 1.6c2.8 0 3.8-.5 2.7-1.3s-3.4-.6-3 .1c.2.8-.9 1-1.1.5-.3-.5-1.3-2.1.5-2.2 1.9-.1 5.8-.7 6.8.4s-1.1 2 .5 2.3c1.5.2 1.8-.3 4.5-.4 2.7-.2 3.8.5 4.7.4 1 0 .8-1.7 0-2-.7-.5-2.1-.6-2.5-1-.3-.5-1.3 0-1.2-.6 0-.5 1.4.3 1.4.1l.2-.2h-.3l.1-.2-.2.1.1-.2s-.3.2-.3 0h-.2c.2-.2.1-.2 0-.3h-.3v-.3c-.2 0-.2 0-.3.2v-.5c0-.1.2-.2.5-.2.7 0 1 .8 1.3.8.2 0 .5-.8 1.4-.5l1.5.6c.5.3-.3.6 0 1s2.1 1.7 1.6 3.2c-.5 1.4-2 1.6-2 2.2-.2.6 4.3.4 5.4.6a3 3 0 011.9 1.2l-2 .1s-1-.5-3.5-.6c-2.5 0-3.4-1-4.4-1.2l-4 .2-3-.3c-.6-.1-4.2 1.6-4.2 2h-2.4s.3-.9 1.7-1c1.3-.2 2.7-.8 2.6-1.2l.4-2.6c0-.6.6-1 .5-1.2-.1-.4-1.7-.7-3.2-.7-1.5 0-3.1.1-3.4.4-.2.4 0 1.5.3 1.3.3 0-.1-.8.2-.9a6.8 6.8 0 012-.3c.8 0 2.1.7 2.1 1 0 .1.4.8-.2 1.1a8.2 8.2 0 01-3.1.4 7.5 7.5 0 01-3-.8c-.4-.3-.7-1-.7-1.1z"/>
+    <path fill-rule="evenodd" d="M114 125.5a.3.3 0 11-.6 0 .3.3 0 01.6 0z"/>
+    <path fill="#d0d0d0" d="M129.5 120.8l1.6.3 2.7-1.8-.2 1-1.4.9-.8.4.5.8.9 1.4-.2 1-1.7-2.9-1.6-.3.2-.8zm-2.7-11.8l3-1.4-.8-1.8.4-.2 2 4.4-.3.2-.9-1.9-3 1.5-.4-.8zm-4.8-5.8l2.8-2.6.6.6v4.4l2.2-2 .5.6-2.8 2.6-.6-.6v-4.4l-2.2 2-.5-.6zm-12.4-5l.5-3.8h.8l-.5 3.5 3 .3v.5l-3.8-.5zm-6.1.6l-.7-3.8.8-.2.6 3.4 3-.6v.5l-3.7.7zm-11.3 5.5l-.3-.3 2-1.6 1 1a5.7 5.7 0 01-.8 1.2 5.7 5.7 0 01-.9 1 5.2 5.2 0 01-1.4.8c-.5.1-1 .2-1.3 0a1.6 1.6 0 01-1-.5 1.7 1.7 0 01-.3-1c0-.4.1-.9.4-1.3.2-.4.6-.8 1-1.1a4.8 4.8 0 011.1-.7l.9-.2c.2 0 .5 0 .7.2l-.4.5a1.3 1.3 0 00-.6-.1l-.6.1a3.2 3.2 0 00-.7.5c-.3.2-.6.4-.7.7a2 2 0 00-.4.6v.5c0 .3.1.6.3.8l.7.5 1-.1a4.1 4.1 0 002.1-2l-.4-.6-1.4 1.1zm-.1 27.7l-3.2 2.3-2.4-3.4.4-.3 2 2.7.9-.7-1.6-2.3.3-.2 1.7 2.3 1.4-1 .5.6zm-4.7-5c.5-.1.8-.4 1-.9v-1.5a2.6 2.6 0 00-.9-1.3c-.3-.3-.8-.4-1.2-.3a1.4 1.4 0 00-.8.5c-.1.2-.3.5-.3.8l.1 1.1c.2.6.4 1 .8 1.4.3.3.8.4 1.3.2zm.3.8a1.7 1.7 0 01-1.7-.4 3.7 3.7 0 01-1.1-1.8c-.2-.6-.2-1-.2-1.6s.2-.8.4-1.1a1.6 1.6 0 011-.7 1.6 1.6 0 011 .1c.4.2.7.4 1 .8a4.5 4.5 0 01.8 3 2.3 2.3 0 01-.4 1.1c-.2.3-.5.5-.8.6zm.3-7.8h-4v-2.8l.2-1.2.4-.7a.8.8 0 01.6-.2c.3 0 .5.1.7.4.1.3.3.7.3 1.3a2.5 2.5 0 01.7-1.1l1.1-1v1l-.8.7-.6.6a1.7 1.7 0 00-.3.4 1.6 1.6 0 000 .4v.4l-.1 1H88v.8zm-2.2-.9v-1.7a4 4 0 000-.9 1 1 0 00-.2-.4.5.5 0 00-.3-.2c-.2 0-.4.1-.5.3l-.2 1v2h1.3zm10.7-16.9v-4.5l.8-.5 4.1 2-.8.5-1.2-.6-2.1 1.3v1.4l-.8.4zm.7-2.3l1.8-1-1-.6a8.3 8.3 0 01-.9-.5l.1.8v1.3zm18.6-1.2L120 97l.7.5-.3 4.6-.7-.6.1-1.3-2-1.5-1.3.5-.7-.5zm2.4-.2l1.7 1.2v-1.2a8.4 8.4 0 01.2-1 3.7 3.7 0 01-.7.5l-1.2.5zm10.3 14.3l3.8-.9.6 2.7.2 1.2-.2.7a.8.8 0 01-.5.4c-.3 0-.6 0-.8-.2a2.8 2.8 0 01-.7-1.2 2.5 2.5 0 010 .5l-.4.8-.8 1.2-.2-1 .6-1 .4-.6a1.6 1.6 0 00.2-.8 3.7 3.7 0 00-.1-.5l-.2-.9-1.7.4-.2-.8zm2.3.3l.4 1.7c0 .3.2.6.3.8 0 .2.2.3.3.4l.4.1c.1 0 .3-.2.3-.4a2.1 2.1 0 000-1l-.5-1.9-1.2.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mu.svg
new file mode 100644
index 0000000..102ed3b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mu.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mu" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#00a04d" d="M0 360h640v120H0z"/>
+    <path fill="#151f6d" d="M0 120h640v120H0z"/>
+    <path fill="#ee2737" d="M0 0h640v120H0z"/>
+    <path fill="#ffcd00" d="M0 240h640v120H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mv.svg
new file mode 100644
index 0000000..2525c92
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mv.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mv" viewBox="0 0 640 480">
+  <path fill="#d21034" d="M0 0h640v480H0z"/>
+  <path fill="#007e3a" d="M120 120h400v240H120z"/>
+  <circle cx="350" cy="240" r="80" fill="#fff"/>
+  <circle cx="380" cy="240" r="80" fill="#007e3a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mw.svg
new file mode 100644
index 0000000..5bd17f8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mw.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mw" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#f41408" d="M0 0h640v480H0z"/>
+    <path fill="#21873b" d="M0 320h640v160H0z"/>
+    <path d="M0 0h640v160H0z"/>
+    <path fill="#f31509" d="M220.5 141c22.3-49.2 84.5-72.8 138.8-52.5a98.4 98.4 0 0158 52.5H220.5zm-26 6.4a332.3 332.3 0 01-52.4-7.8c-4.1-1.3-4.3-3.6-3.8-5.3.5-1.7 3.1-3.6 6.2-3 5.6 1.4 28.8 7 50 16.1zm124.6-85.9c-4.2-21-5.2-44-4.8-48C314.7 9.6 317 9 319 9s4.7 1.8 4.7 4.7c0 5.3-.1 27-4.6 48zm11.6.5a249 249 0 01-.3-48.2c.8-3.9 3.2-4.4 5.1-4.2 2 .1 4.5 2.1 4.2 5-.5 5.3-2.6 26.9-9 47.4zm10.4 1.3c-.2-21.3 3-44.3 4.1-48 1.1-3.9 3.6-4.2 5.5-3.9 2 .3 4.3 2.5 3.8 5.3-1 5.3-5.2 26.6-13.4 46.6zm11 2.2c1.8-21.2 7.3-43.8 8.8-47.5 1.5-3.7 4-3.8 5.8-3.4 2 .5 4 2.8 3.3 5.6-1.6 5.1-7.7 26-17.8 45.3zm10.9 3.2c3.9-21 11.5-43.1 13.3-46.7 1.9-3.5 4.3-3.5 6.2-2.9 1.8.6 3.7 3.2 2.7 5.8A264 264 0 01363 68.7zm10.1 3.8c5.8-20.7 15.5-42 17.7-45.5 2.2-3.4 4.6-3.1 6.4-2.3 1.8.7 3.4 3.4 2.1 6-2.5 4.8-12.5 24.4-26.2 41.8zm10 4.7a262.9 262.9 0 0122-43.9c2.4-3.2 4.9-2.7 6.6-1.8a4.4 4.4 0 011.5 6.1c-3 4.6-14.9 23.4-30.1 39.6zm9.4 5.5c9.7-19.4 23.3-39 26.1-42 2.8-3 5.2-2.3 6.8-1.3a4.4 4.4 0 011 6.2c-3.5 4.4-17.2 22.1-34 37zm8.8 6.2c11.6-18.6 27-37 30.1-39.7 3-2.8 5.4-2 6.9-.8a4.3 4.3 0 01.3 6.2c-3.8 4.1-19.1 20.7-37.3 34.3zm8.3 6.9a284 284 0 0133.8-37.2c3.3-2.5 5.5-1.5 6.9-.3a4.3 4.3 0 01-.3 6.3c-4.1 3.8-21 19.1-40.4 31.2zm7.6 7.5A278.4 278.4 0 01454.4 69c3.6-2.3 5.7-1.1 7 .3 1.2 1.3 1.5 4.4-1 6.2a306 306 0 01-43.2 27.8zm6.5 7.8A297.1 297.1 0 01464 79.6c3.7-2 5.7-.6 6.8.9 1.2 1.4 1.1 4.5-1.4 6.1-4.8 3-24.3 15.6-45.7 24.5zm5.9 8.3a307 307 0 0143-28.1c4-1.7 5.9-.2 6.9 1.3 1 1.6.6 4.6-2 6a320.8 320.8 0 01-48 20.8zm5.4 9.6a313.4 313.4 0 0145.8-24.4c4.1-1.4 5.8.3 6.6 1.9.9 1.6.3 4.6-2.6 5.8-5.3 2.2-27 11.4-49.8 16.7zm4.2 9.2a320 320 0 0148-20.8c4.2-1 5.7.8 6.4 2.5.6 1.6-.3 4.6-3.2 5.5-5.5 1.9-28 9.3-51.2 12.8zm3.4 9.8a324.5 324.5 0 0149.8-16.9c4.2-.6 5.6 1.2 6.1 3 .5 1.7-.7 4.5-3.7 5.3-5.7 1.3-28.8 7-52.2 8.6zM307.8 62a252.4 252.4 0 01-9.7-47.4c0-3.9 2.3-4.8 4.2-5 2-.1 5 1.5 5.2 4.3.5 5.3 2.6 26.9.4 48.1zm-11 1.3a251 251 0 01-14.3-46.4c-.4-4 1.8-5 3.7-5.3 2-.3 5 1 5.6 3.8a263 263 0 015 47.9zm-11 2.2A259 259 0 01267 20.3c-.8-3.9 1.3-5.1 3.2-5.6 1.9-.4 5 .6 5.9 3.4 1.5 5.1 7.7 26 9.6 47.3zm-10.5 3A264 264 0 01252.5 25c-1.1-3.8.8-5.2 2.6-5.8 1.9-.6 5.1.2 6.2 2.8 2 5 10.2 25.4 14 46.4zM265.2 72a270.4 270.4 0 01-27-41.5c-1.4-3.7.4-5.3 2.2-6 1.8-.8 5-.2 6.4 2.4 2.5 4.8 12.5 24.5 18.4 45.1zm-10.3 5a275.6 275.6 0 01-31-39.2c-1.7-3.5-.1-5.2 1.6-6.1 1.7-.9 5-.6 6.6 1.9 3 4.6 15 23.3 22.8 43.4zm-9.4 5.4A285.2 285.2 0 01211 45.7c-2.1-3.4-.7-5.2 1-6.3 1.5-1 5-1 6.7 1.4 3.4 4.3 17.1 22 26.8 41.5zm-8.7 6a292.2 292.2 0 01-37.9-33.9c-2.4-3.2-1.1-5 .4-6.2a5.5 5.5 0 016.8.8c3.8 4 19.2 20.7 30.7 39.3zm-8.5 7a299 299 0 01-41-30.7c-2.8-3-1.7-5-.3-6.3a5.5 5.5 0 016.9.3c4.2 3.7 21 19 34.4 36.6zm-7.4 7A306.6 306.6 0 01177.2 75c-3-2.8-2.1-4.8-.8-6.2 1.2-1.4 4.5-2.1 6.9-.3a292 292 0 0137.6 34zm-7 8.2a313 313 0 01-46.2-23.8c-3.3-2.5-2.6-4.7-1.5-6.1 1.1-1.5 4.3-2.5 6.9-.9 4.8 3.1 24.3 15.5 40.8 30.8zm-6.3 8.8c-22.2-7-44.9-17.6-48.4-19.9-3.6-2.2-3-4.4-2.1-6s4-2.8 6.8-1.4c5 2.7 25.8 13.5 43.7 27.3zm-5.3 9c-22.8-5.3-46.3-14-50.1-16-3.7-2-3.5-4.2-2.6-5.8.8-1.6 3.7-3.1 6.6-2 5.3 2.3 27 11.4 46.1 23.8zm-4.2 9a328.5 328.5 0 01-51.4-12.2c-4-1.6-3.8-3.9-3.2-5.5.7-1.7 3.5-3.4 6.4-2.5 5.6 1.9 28 9.3 48.2 20.2z"/>
+    <path fill="#f31509" d="M194.5 147.4a332.4 332.4 0 01-52.4-7.8c-4.1-1.3-4.3-3.6-3.8-5.3.5-1.7 3.1-3.6 6.2-3 5.6 1.4 28.8 7 50 16.1z"/>
+    <path d="M129.4 141.5h381.2v12.6H129.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mx.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mx.svg
new file mode 100644
index 0000000..7de1b66
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mx.svg
@@ -0,0 +1,382 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-mx" viewBox="0 0 640 480">
+  <defs>
+    <radialGradient id="b" cx="842.3" cy="103.7" r="25.9" gradientTransform="matrix(.14152 .03595 -.03453 .14198 213.1 162.4)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="c" cx="651.5" cy="550.5" r="25.9" gradientTransform="matrix(-.13441 -.05384 .04964 -.12489 397.9 -24.3)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <radialGradient id="d" cx="380.8" cy="740.4" r="25.9" gradientTransform="matrix(.07536 .00282 -.00343 .14804 412.4 -203.6)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="#fff"/>
+      <stop offset="1" stop-color="#f15770"/>
+    </linearGradient>
+  </defs>
+  <path fill="#ce1126" d="M426.7 0H640v480H426.7z"/>
+  <path fill="#fff" d="M213.3 0h213.4v480H213.3z"/>
+  <path fill="#006847" d="M0 0h213.3v480H0z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M355.8 289.4l.2 4.5 1.7-1.1-1.3-3.7z"/>
+  <circle cx="355.6" cy="288.2" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M361.1 296.4l-3.2-3.1-1.5 1.2 4.5 2.6z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M360.9 298.2c-.5-.6-.3-1.5.3-2 .7-.5 1.6-.4 2 .2.5.6.3 1.5-.3 2-.7.5-1.6.4-2-.2z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M386.3 249.6l3.4 3.3.4-1.7-3.1-2z"/>
+  <circle cx="385.9" cy="248.7" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M395.2 251.6L390 253l.5-1.7 4.4-.4z"/>
+  <circle cx="396" cy="250.8" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M378 276.8l-3.2-4.8.5-.3 3.5 4.2z"/>
+  <circle cx="374.5" cy="270.8" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M378.1 277l4 .7.1-.5-3.3-1.4z"/>
+  <circle cx="383.3" cy="277.7" r="1.4" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M284.6 288c0 .8-.5 1.2-1 1.2s-1-.5-1-1.2.5-1.3 1-1.3 1 .7 1 1.4z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M284.6 290.3l1 5-1.3-.5-.4-4.3z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M285.7 288.6c.6.7-.4 1.9-1.4 2.2-1 .3-2.4-.2-2.4-1.2s1.6-.5 2-.6c.6-.2 1.2-1.2 1.8-.4z"/>
+  <ellipse cx="277" cy="296.3" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx="1.6" ry="1.1"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M279.6 296l4.8-.2-.8-1-4 .4z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M280 295.4c.5 1.3.5 3-.9 2.7-1.4-.1-1-1.4-1.2-1.8-.2-.9-1-1.7-.2-2.5s2 .4 2.3 1.6z"/>
+  <ellipse cx="264.4" cy="269.2" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx=".9" ry="1.4"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M264.4 272.4l.1 4.6-1.2-1v-3.8z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M266.2 271c.3 1-1.3 1.6-2.4 1.4-1-.2-1.9-.7-1.7-1.7.1-1 1.5-.8 2-.5.4.3 1.8-.8 2.1.7z"/>
+  <ellipse cx="256.2" cy="276.5" fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" rx="1.6" ry=".7"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M259.1 276.5l3.6-.3 1.6 1.2-5.3-.2z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M257.8 274.5c1 0 1.6 1.1 1.5 2.3-.2 1.1-1 2-2 2-.9-.2-.8-1-.8-1.2 0-.3.5-.7.6-1 0-.4-.3-1.3-.1-1.6 0-.4.3-.5.8-.5zm-3-28.3c-.4.6-1.2 1.1-1.6.9-.4-.3-.2-1.2.2-1.8.4-.7 1-1 1.4-.8.4.3.4 1 0 1.7z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M250.7 253.5l2-4.8-.2-.3-2.4 3.4z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M252.4 248.7c-1-.7-1.2-1.5-1-2.3.4-.7 1.2-.2 1.2-.2l.8.7c.4.2 1 0 1.4.6.5.6.2 1.2-.1 1.4-.4.1-1.5.4-2.3-.2zm-8.5-.6c.7.4 1.1 1 .9 1.5-.3.5-1 .5-1.8 0-.7-.3-1-1-.8-1.5.2-.4 1-.5 1.7 0z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M246 250.2l3.8 2.2-.1 1.8-4.1-3.5z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M246 250.6c-.8 1-1.6 1-2.3.7-.7-.5-.1-1.2-.1-1.2l.8-.7c.2-.4 0-1 .7-1.4.7-.4 1.2 0 1.3.3.1.4.3 1.5-.4 2.3z"/>
+  <path fill="#aa8c30" d="M356.6 289.8l-.4.4-.3 1v-1.5l.5-.3.2.4zm.2-.9s-.3.5-1.1.5-1.2-.4-1.3-.8c-.1-.4-.1-.7.2-1.2.2-.5-.4.4-.4.4v1l.6.6.5.2h.4l.7-.2.4-.3v-.2zm4.2 7.3s-.4.2-.7.1c-1.9-.6-3.5-1.8-3.5-1.8l3.8 2.4.4-.7zm2.4 1.1s0 .7-.8 1c-.7.3-1.2.2-1.5-.1s-.4-.6-.4-1.2l-.1.6.4.8.8.4.5-.1.5-.2.4-.5.3-.5-.1-.2zm24.3-47.6l-.1.4v.7l-.9-1 .4-.5.6.4zm-.5-1.2c0 .7-.9 1.6-1.6 1.3-.7-.3-1.2-1-.9-1.8l-.2.3.1 1.1.7.6h.9l.6-.3.4-.7v-.5zm10 1.8s-.1-.4 0 0-.6 1.7-1.4 1.6c-.7-.1-1-.8-1-1.4 0-.6-.1.2-.1.2v.8l.5.4.6.4.6-.2.7-.3.2-.6v-.9z"/>
+  <path fill="#aa8c30" d="M393.8 251s0 .4-.4.7l-1.3.7 2.8-.8-.2-.7-.9.2zm-17.1 22.5l-.1.5v.8l-1.6-2.5.5-.3 1.2 1.5zm-.9-2.4c-.2.7-1.4 1-2 .8-.5-.4-1-1.6-.3-2l-.4.2-.1.7.2.7.6.7.5.1.8-.2.6-.4s.4-1.3.1-.6zm5.6 5.7s0 .3-.5.3h-1.6l2.6.6.2-.6-.7-.3z"/>
+  <path fill="#aa8c30" d="M384.6 277.5c.3.8-.5 1.7-1.5 1.4-1-.3-1.3-1.3-1-1.8l-.2.6.2.8.6.6h1.3l.6-.7.2-.7-.1-.2zm-99 11.1c.3.3-.1 1.5-1.2 2-1.2.4-1.7 0-2-.4-.3-.4-.3-.8-.3-.8l-.2.2.2.6.5.5 1 .2.8-.1.7-.5.4-.3.3-.5v-.6l-.1-.3z"/>
+  <path fill="#aa8c30" d="M284.6 291.1l-.3.4-.3.8v-1.4l.5-.3.1.5zm-3.8 4s0 .3.2.5l1 .3h-1.8l-.2-.7h.8zm-.6 1.2v.2a1.4 1.4 0 01-.1.5c-.2.5-.3 1-1 .9a1.2 1.2 0 01-1-1.1c0-.4-.2-.6-.2-.6v.6l.4 1 .7.3h.5l.5-.2.2-.6.1-.5v-.5zm-4.7-.1s.2.8 1.2.8 1.2-.2 1.2-.2v.3l-.2.2H276l-.3-.3-.3-.5v-.3zm-9.4-25.4v.4c-.1.3-.7 1-1.8 1-1 0-1.5-.3-1.8-.7-.3-.3-.4-.8-.4-.8v.5l.4.7 1.1.5h1l1-.3.5-.5.1-.6-.1-.2zm-1.7 2.3s-.4 0-.6.2a4 4 0 00-.4.4v-1.3h1v.7zm-4.7 3.4l.5.3c.5.3 3.1.5 3.1.5h-4.1l.1-.8h.4zm-.5 0l-.2.6c-.2.5-.7 1.6-1.6 1.4-.9-.1-.7-.8-.7-.8v-.4l-.2.7.2.4.4.2.7.1.4-.2.6-.5.2-.5.2-.6v-.3zm-2.2.2s0 .2-.7.2-1.7-.3-1.7-.3l.4.4.5.2h1.3l.2-.5zm-2-29s0 .5-.3.8c-.4.3-1.3.5-1.8.2s-1.5-1.3-1.5-1.3l.4.8.7.6 1 .3 1-.2.4-.4.2-.3-.2-.4z"/>
+  <path fill="#aa8c30" d="M252 249.1v.6l-.2 1.1.9-2-.4-.2-.3.5zm-5.4 1.5l.2.5c.2.5 2.3 2.6 2.3 2.6l-3.3-2.9.4-.5.4.3zm-1 .3s-.5.3-1 .3c-.3 0-1 0-1-.4-.1-.5.1-.7.1-.7l-.3.6.1.4.5.3h.7l.6-.3.2-.2zm-1.5-1.4h-.5c-.7 0-1.4-.8-1.4-.8l.5.8 1 .5.4-.5z"/>
+  <path fill="#9ca168" d="M399.9 240.2c-.3 3.8-4.1 5.8-6.1 7.2-2 1.4-3 3.2-3 3.2l-.6 2.2-.3 1.5-.1.5c.1.4.3 1 .3 2l-.1 4.3 2.7-1.9 1.9-.7.6-.1s-2.2 2.1-3 4.4c-.8 2.3-2.4 7.2-5.3 8.8-3 1.6-4.8 1-5.7 1.8-1 .8-1 1-1 1l-1.3 1.8-1 1.2-.9.7-.6.4a7.5 7.5 0 01-.2 1.7l-.7 2.4s.6-.4 1.3-.5h1.3s-.5.6-.7 1.3c-.2.6.1 4.6-3.6 7-3.8 2.3-13.4 2-13.4 2l-1.8.7-1.7 1.3-1.6 1.7v.4s-1.3 1.5-2.1 2l-2.8 1.9 2.2.1 3.5 1.5s-2.2 0-3.6.5c-1.5.6-8.2 4.4-11.4 4.3-3.3-.1-8-4.9-8-4.9l-2-1.4-3.5-.7-4.3-.2v-.6l.1-.7s1.5-.2 3.8.1c2 .2 2.7 1 4.4 1.1 1.7.2 3 0 3.5-.3.7-.3 5.9-4.7 5.9-4.7l5.8-2 2.3.3 1 .2.9.3-1 1a7.3 7.3 0 01-1.4 1.1l.7.6 3.7-.6 1.2.3.3.2c0-.3.2-.8.6-1.3.4-.6 2.5-2.3 3.4-2.9l1.4-1c.3-.3 1.5-3.3 1.5-3.3l.1-1.6 4.1-4 2.8-2.9 1.2-3.3-.2-.7s1 1 .9 3c-.2 2.2-.7 2.9-.7 2.9s2.8-2 4.3-2.6c1.2-.5 2-.5 2.4-.5.4-.2 1.5-.9 2.1-1.8.8-1.2 1-1.5 1-2l.2-2.8-.3-7 2.4-5.4 3.5-3.1.7-.4-.4 1.2v1.5s1.8-2.5 2.7-2.9l.5-.3a7 7 0 00.8-2l.3-3v-3l-.5-2.3-1.7-4.3v-5.8l-1.2-1.6s1.1 0 2.5 2a13.5 13.5 0 011.9 5l3.3-10.3s.9 1.2 1.5 3.3l.8 3.3 1.4-2.8.1 1c.2 1 2.3 2.1 2 6zm-67.3 65s-.7-1.6-3.9-3.2c-3.1-1.5-5.5-1.8-5.5-1.8v1.1l5 2.2 2.4 2 2-.3z"/>
+  <path fill="#717732" d="M355.4 295.6c.3-.4 3-2.8 4.4-3.5s3.2-.8 3.2-.8c1.9-.4 2.2-.1 6.6-2.5 4.3-2.4 5.3-5.2 6.2-5.9.8-.7 2.3-.8 2.3-.8l-3.4 3.9a28.5 28.5 0 01-5.8 4.5 17.8 17.8 0 01-7.6 1.8 7.7 7.7 0 00-4 2c-1.3 1-2 2.2-2 2.2s-.2-.5 0-.9zm12-12.7c-4 3.7-5.3 7.2-5.3 7.2l5.4-4.9c1.9-1.8 4.5-2.6 5.6-3.7 1.2-1.1 1.3-2 2-2.7l1.3-1s-1.8-1.4-9 5.1zm-8.5 8.6s1.7-.8 2.4-2.3c.5-1.2.2-1.5 1-2.8 0 0 4.2-4 5.7-5.8 2.6-3.1 1.4-5.7 1.4-5.7s.3 1.3-.8 2.7c-1 1.4-6.5 5-7.2 7.2-.6 2.2-.3 2.3-.6 3.4-.6 2.6-1.9 3.3-1.9 3.3zm-2.8 10.5s-2.1-1.4-4.5-1.3c-4.9.4-9 3.4-12.2 3.4-3.1.1-4.4-1.5-6.9-3.2-2.6-1.8-9.2-1.5-9.2-1.5v.3s4.4 0 6.4.6c3.6 1 5.6 4.8 9.7 4.6 5.5-.3 9.9-3.6 12-3.6 3.8 0 4.7.7 4.7.7zm-24-2.4s3.7.6 6.6-1.5c3-2.1 6.4-5 8.3-5.2 2 0 4 .4 4 .4s-2.5-1-4.4-1c-2 0-4 .2-5.8 1.3-1.8 1.1-2.7 3-4.6 4.3a12.8 12.8 0 01-4.1 1.7zm-.7 5c-.5 0-1.1.3-1.3.3-.2 0-1.3-1.2-3-2-1.6-1-4-1.4-4-1.4s-.3 0 .3.2l3.8 1.5a8.6 8.6 0 012.6 2.1c.1.3.6.9 1.5.8 1 0 1.3-.5 1.2-1 0-.3-.6-.5-1.1-.5zm2.6-3.6s1.5.8 4 .8c5.2-.2 8.6-3.8 12-5 3.4-1.4 5.2-.3 5.2-.3s.1-.2 0-.2a7 7 0 00-3.9-1.2c-5.7 0-11.2 3.7-13.5 4.7-2.3 1-3.8 1.2-3.8 1.2zm56-39.9c-1.8 1.9-4.5 7.7-5.6 9.3-1.2 1.6-2.7 2-3.3 2.7-.6.6-2.7 3.5-3.2 4.1-.5.7-.6.5-1 .8-.3.3-.5.3.1.2.6-.1.8-.5 1.6-1.5 1-1 .9-1.4 2.3-2.7 1.4-1.2 3.9-2.6 5.1-4.2 1.3-1.5 3.8-7.5 5.2-9 1.4-1.5 4-2.4 4-2.4s-2-.6-5.3 2.7zm-9 11.1s-.1-1 1.2-2.6 1.7-1.3 2.8-3.6c1-2.3 1.5-4.5 2.3-6.9.9-2.4 2.3-4.8 2.3-4.8s-1.3.2-2.7 2a34.5 34.5 0 00-4.8 8.7c-1.1 3.4-1.1 7.2-1.1 7.2zm-1.7 2.2s.5-.2.5-3.2c.1-2.9-.1-7 .7-9 .9-2 5.4-7 5.4-7s-1.9.5-4.5 2.5-3.7 4.7-3.6 6.7c.2 2 1.3 4.2 1.4 6.1l.1 4zm10.5-20.1s1.1-4 1.6-5 .5-1.5 2.7-4c1.3-1.5 2.6-2.4 3.1-4.4.6-2 .6-7.7.6-7.7s-.6.5-1.1 1.5c-.5 1-.1 4.7-1 6.4-.8 1.7-2.7 5.6-3.7 6.5 0 0-.2-2.9.2-5.7.3-3 1.3-3.8 1.7-5.7.4-1.9.2-6.7.2-6.7s-1.5 1.5-2.3 3.4c-.8 1.8-1.2 5-1.2 7.5s.5 4.5.6 5.9c.1 1.4.2 2-.4 3.6l-.6 2a34.8 34.8 0 01-.7 2.6l.3-.2zm-3.5-21.6s1.4 1.7 1.2 3.6c-.3 2-1 4.5-.2 6.5.7 2 1.9 2.2 2.2 3.4.3 1.2.3 3.4.3 3.4s.6-4.3.2-5.5c-.5-1.1-.7-.6-1.3-1.8s0-4.7-.4-6.7c-.5-2-2-2.9-2-2.9z"/>
+  <path fill="#9ca168" d="M306.7 304.8s.4-1 3.1-2.4a34 34 0 017.3-3c.3.3-.3 1.8-.3 1.8l-2.6.8-2.1 1.2-2.5 1.6h-2.9z"/>
+  <path fill="#9ca168" d="M313.6 297.7c-3.4.1-5.3 1-6 1-.2.1-.7.5-1.2.3a4.9 4.9 0 01-1.5-1.5l-.7-.7-.2 2.5-5-4.4-.6 3-.7 1.3-5-4.8.2 3.7-1.4.1-3.6-2.5-1 .4 1.2 2.2-4.6.3-1 .8a6.3 6.3 0 00-1 1v.4h1.9c.4-.2.6-.7.7-.5.2.2.3 1.2.9 1.1.6 0 2.7-1.7 4.2-1 1.7.8-2.2 2-1.8 3.1.4 1.2 3.2.7 4 .3.6-.3 2.7-3 3.6-2 1.2 1.4-2.5 2.5-1.8 3.9.6 1.3 2.7 1 3.7.4 1-.5 3.4-4.1 3.9-3.4.9 1.4-2 2.7-1.3 3.7.8 1 2.3 0 3.4-.8s1.5-2.5 3-3.3c1.4-.8 1.3-.5 1.7-.5.4 0 1.5-1.1 1.5-1.1l3.5-1.5 1.6.2.9.4 1.7.2.2-1.4s-2-1-3.3-1zm-27.4 0l.7-1.3-.4-.6s-1.2-.7-2.3-1.8a6.9 6.9 0 00-2-1.6L280 291l-.8-2.8-.5-.9-1.3.6-1.7-6.1-.3-1.1h-.7l-1.5 3.6-1.5-2.3-.4-5-1 1-1.3 1.4-2.3-4.6s-.1-.1-.3.3c0 .3-.3 1.8-.1 2.6a26.2 26.2 0 01-6-5.2l-1-2.5 1-2 .5-2.6-2.2.9-.4-5.7-.3-1.8-2.7 3.8-1-1.7v-3.6l-.7-.2-1 2s-1.1-2-1.6-2.5c.1-.8.2-2.9-.3-4.5-.6-2-1.3-3.1-1-4.8.2-1.6.9-1.8.8-2.5 0-.8-1.2.5-.8-.5.4-1 3.8-3.2 3.1-4.4-.7-1.1-4 1.9-3.3-.1.8-2 4-2 4.2-4.9.1-1.7-3 1.1-3.3.2-.3-.8 2-2.6 1.9-3.8 0-1 .4-1.2-.2-1.8-.6-.6-2.6 2.3-2.6 2.3l-2-.7-.8 3-.6 2.5-2.6-1.5.7 3.1.6 3-2.7-.7 1.4 2.6 1.9 2 1.1 1.5.9.4 1 1.1.5 1.7.6 1.9.1 1.8v2.4l-.1.4v1.1c-.5 0-1.4-.8-1.7-.3-.3.6 1.6 2 1.2 2.4-.3.4-3-.5-3.2.3-.2 1 .2 2.2 1.8 2.6s5.3 1.2 4.7 2c-.6.7-4.7-2.3-4.5-.1a3.8 3.8 0 002.6 3.4c1 .4 5.1 0 4.9 1-.3.9-3.3-.4-3.6 1-.3 1.4 2.1 1.6 2.6 1.6s2.2-.1 2.9.4l4.3 4.1a75.7 75.7 0 004.6 3.4c-.8 0-2.4-.3-2.6.3-.3.7 6 3 4.2 3.8-1.8.7-3.8-2-4.3-.4-.6 1.7 1.2 3 2.2 3.6 1 .6 6.7.1 5.6 1.4-1.1 1.3-5.3-.8-5.3.7s2.7 4 4.2 3.9c1.4 0 3-2.4 3.6-1.1.7 1.2-1 1.7.3 2 1.4.4 2.3-1.4 4-1 1.5.3 4 1.3 5.4 2.5a79 79 0 012.9 2.8z"/>
+  <path fill="#717732" d="M308.4 304.1c1 0 1 .6 1.2.6.1 0 1.8-1.5 3.3-2.3a17.5 17.5 0 014-1.4l.1.2s-2.8.7-4.2 1.7l-3 2.1c-.2.2-.8.7-1.7.7-1 0-1.4-.6-1.4-.9 0-.2.7-.7 1.7-.7zm8.5-4.3s-.9.1-1.3-.3a4.3 4.3 0 00-2.6-.8 7 7 0 00-4 1.8c0 .1-.3.6-1.4 1.3.4.1 1.1-.4 2-1a7.4 7.4 0 013.6-1.4c1-.2 1.7.4 2.2.7.5.4 1.4.3 1.4.3v-.6zm-50.5-20.6v-.7a16.1 16.1 0 01-2.2-1.1c-1.6-1-5-3.8-5-3.8l2.8 2.7c1.4 1.3 4 2.9 4 2.9h.4zm35.6 25.2l1.5-2.1c.9-1.5 1.7-2 1.9-2.2.1-.2-.4-.9-.7-1.4l-.2-1.2s.4.8 1 1.3a9.5 9.5 0 011.1 1s1.4-.2 1.4-.5c0-.2 0-.4-.2-.5-.3-.1-.5.2-1.1 0-1.3-.6-1.8-2.6-2.6-2.6-.8-.1-.2 2-.6 2-1.1.2-2-4.3-5-4.5-2 0-2.3.3-2.4.7 0 .5 2.5 3.1 1.6 3.5-.8.4-3.5-4.2-5.5-4.2-1.9 0-2 .7-2 1.1.2.4 2.2.8 1.8 2.2-.5 1.4-2.5-2-4.3-1.9-1.8.2-2 .3-2 .9-.1.5.6 1.2.3 1.4-.2.2-1.4.1-2.3.7-.9.7-2.1 2.4-2.1 2.4s1.2-1.7 2.7-1.9a50 50 0 015.6 0l-1.1-.8c-.6-.5-1.1-1.6-1.1-1.6l1.7 1.5c.8.7 1.9 1.2 1.9 1.2s1.7.2 1.8.4c.1.2 0 .6-.8 1.3l-1.7 1.7 2-1.6 1.5-1.2 1.4.2c.1 0 0-.5-.8-1.7l-1.6-2.5s1 .9 2 2.3c1.1 1.3 1 2 1.4 2 .4 0 1 .2 1.4.1.4 0 .3.6-.4 1.7s-1.2 2.5-1.2 2.5.8-1.2 1.6-2c.7-.8 1.1-1.7 1.5-1.8h1.5l-.8-1.6c-.6-1-.8-2.6-.8-2.6s.6 1.4 1.4 2.5l1.3 1.9 1.4-.1.3.1c0 .5-.2.7-.7 1.8a17.7 17.7 0 00-1 2.1zM280.5 292c1.2.5 1.7.5 1.7.5s-1.7-1-2.1-2.4c-.5-1.4 0-4.4-.8-4.3-.7 0-1.1 2.1-1.8 1.7-.8-.4.2-4.4-.6-6-.8-1.7-2.6-2.9-3-2.3-.4.6-.3 4.2-1.5 3.5-1.1-.8.1-4-.2-5.3-.4-1.5-1.2-2.5-1.9-2.1-.6.3.3 3-.7 3s-.9-1.9-1.3-2c-.5-.2-.6.3-.9 0-.2-.4 0-1.7-.6-1.6-.6.1-.5 1.2-.3 1.7.1.6.5 1.4.7 1.8.2.4 1 .9 1 1.2-.1.3-.5.6-1 .6h-1.9s1.4.4 1.9.4 1.4-.2 1.7.2c.2.5 1.4 2 1.4 2s.3-.8.4-2.2c.2-1.5 0-2.7 0-2.7s.5 1.6.4 2.7c0 1-.4 3-.4 3s1.1.8.8 1c-.3.3-1.5.3-2.8.3-1.4 0-3.3-.5-3.3-.5a13.7 13.7 0 006.7 1.3l1.8 2s.9-1.5 1-3v-3l.4 2.8c0 1.3-.4 3.6-.6 3.8a5 5 0 01-1.9 1l-3.5.5s2.2.3 3.8 0c1.5-.4 1.7-.9 2.2-.6l.8.7 1.3 1c.1.1-.7.4-1 .7l-1.5.7 2.2-.7a22.3 22.3 0 001.1-.4l.5.2-.1-1.2-.3-1.8s.5.8.7 1.6l.1 1.6s.2.2 1.4.6zm-31.1-35.6s.3-1.7.3-3.6a14.3 14.3 0 00-1.9-5.8l1-1.4-1.2 1-1.2-.5a3 3 0 01-.9-1l1.2.8c.6.2.7.1.7.1l-.5-2-1.9-1c-1.3-.6-2.5-1.8-2.5-1.8l2.8 1.5c1 .4 1.6.4 1.6.4l1.6-.6 1.7-1.1s-1 .6-1.8.7l-1.6.3-.3-2.4-1.1-1.1c-.9-1.2-1.6-2.9-1.6-2.9s1 1.2 1.7 1.7c.7.6 1.4 1.5 1.4 1.5l1.6-1 2.8-2-2.7 1.3-1.6.7s-.2-1 0-1.5c.3-.4.8-1.2.7-1.6 0-.5-.4-.3-.5-.7-.2-.3.4-2.6.4-2.6l.1 1.2c0 .5-.2 1 .4 1 .6 0 3.2-2.7 3.6-3.2.3-.5.8-1.8-.6-1.3-1.4.6-1 1.8-2.2 1.7-.4 0-.8-1.5-1.2-1.2-.4.4-1.4 1.3-1.6 2.4-.2 1 .2 2.6-.4 3.1-.6.5-1-1.8-2.2-1.5-1.2.3-1.5 2-1.3 2.6.2.6 2.7 3.5 2 4-.9.3-2.9-2.6-4-.6-1 1.9 3.4 4 4 4.4.5.5 0 .6.8 1.6s1.8 1.2 2.4 1.8a13 13 0 012.1 5.9l-.1 2.7zm11.7 17.1s-1-1.2-.7-3.3c.3-2 1.8-5.7 1.3-6.2s-2 2.2-2.4 1.6c-.4-.6.9-4.3.2-5.8-.6-1.5-.7-2.5-2-2.3-1.3.1-1.8 4.4-2.5 3.6-.6-.7.4-2.6 0-3.7-.5-1-.7-1.3-1.3-1.2-.7.2-1 2.2-1.4 2.1-.5 0-1.2-2.3-2.2-2-.9.3 2.3 4.5 2.3 4.5s.5-.5.8-1.2l.6-1.5s.3 1.3 0 1.9c-.2.5-.3 1.7-.3 1.7s-.8.3-2.1 0a8.8 8.8 0 01-2.3-.7s.8.6 2.1 1l2.7.7a44.9 44.9 0 002 2.7l.8-2.1 1.3-3.5-.6 3.9-.7 3s-1 0-2.6-.3l-3.6-.8 3.6 1.2 2.8.7 1.4 1.9 1-1.5 1-1.8s-.3 1.4-.7 2.3a27.4 27.4 0 01-.7 1.4l-1.8.2h-2.5a19.6 19.6 0 004.5.9s0 .5.7 1.3a4.6 4.6 0 001.3 1.3z"/>
+  <path fill="#fff" d="M314.4 310.8s-.6-.6-1.4-1c-.9-.5-1.2-.4-1.2-.4l-.4-.1.8-2 5.5-5.3.9-5.3h3.4v7.2l1 .5 6.2 3.7v1.6l-1 .4-.7.4-2.3.2-4-3-1.8-1.7-3 4-2 .8z"/>
+  <path fill="#016848" d="M318.8 296.7l-.1 1c0 .9 0 5.2-.2 5.8-.2.6-3.2 1.8-4.9 3.3-1.7 1.5-1.8 2.6-1.8 2.6s-.5 0-1.6.4c-1 .4-1.5 1-1.5 1s.6-2.6 3.4-5c2.7-2.6 4-2.8 4.4-3.2.3-.4 0-5 0-5.5.1-.4.5-.4.7-.4h1.6zm7 15.7l.8-1.1 1-.8-1.5-.8c-1.5-.6-2.3-.4-3.3-1.2a13.6 13.6 0 01-2.2-2l-1.5 1.2 1.7 2c.9.8 2.7 1.1 3.5 1.6a8.8 8.8 0 011.6 1.1z"/>
+  <path fill="#cd202a" d="M321.5 296.6s1.7 0 1.9.2l.2.6c0 .1 0 4-.2 5.3a8 8 0 01-1.4 3l-4 3.7c-1.2 1.2-2.4 2.8-2.4 2.8l-.8-1c-.3-.4-.7-.6-.6-.9a10 10 0 013.3-3.4c2-1.3 3.6-2.8 4-4.9.3-2 0-5.4 0-5.4z"/>
+  <path fill="#cd202a" d="M332.5 310s-.4-.4-1.8-.4l-1.5.1s-.8-1-2-1.7c-1.2-.8-2.1-.7-3.5-1.6-1.3-.8-2-2.1-2-2.1l1-2s1.2 1.5 2.4 2.4c1.1.9 3.7 1.7 4.6 2.4l2.8 2.9z"/>
+  <path fill="#30c2dc" stroke="#0872a7" stroke-width=".5" d="M345 286.4s-3.6-1.4-3.4-2.7c.3-1.2 8.3-3.3 8.3-3.3l.1-2.1s-1.2-.1-3.2.5c-2 .7-5.2 1.6-8.6 1.6a1735.4 1735.4 0 00-34.4-2.2c-3.7-.3-6-6-6-6l-1.8.4s.5 2.7-.4 3a65 65 0 01-13.9-6l-.6 2.6s7.3 4 7.1 5.5c-.2 1.4-2.4 1.3-2.4 1.3l1 1.8c.3 0 12 .6 12.3 4.1 0 1.5-3 2.3-3 2.3l1 1.2v.6s6.7 0 8.5 1c1.8 1 2.7 2.6 5 3.8 2.2 1.3 17.3 1 19.6.3 2.7-.7 4.3-3.7 8.7-5 4.3-1.4 5.7-1.4 5.7-1.4z"/>
+  <circle cx="284.5" cy="280.7" r="2.1" fill="#fff" stroke="#0872a7"/>
+  <circle cx="296.4" cy="270.9" r="2.1" fill="#fff" stroke="#0872a7"/>
+  <circle cx="346.5" cy="286.6" r="2.1" fill="#fff" stroke="#0872a7"/>
+  <path fill="#f8c83c" d="M275.1 267.8c-.7 1.6 2 4.6 4 5 1.8.2 2.8-.2 3.2-1.1a2.8 2.8 0 00-.4-2.5c-1.2-1.7-6-3-6.8-1.4z"/>
+  <path fill="#fff" d="M281 270.2c0-1-1.6-1.9-2.6-1.9s-2 0-1.8.5c.1.6 2.7 1.3 2.8 1.6 0 .3-.8.6-.4 1 .5.4 1 .1 1.4-.2.4-.3.7-.4.7-1z"/>
+  <path fill="#f8c83c" d="M297.7 288.3c.4 1.4-.7 2-2 2.7-1.5.6-4.3.2-5-.9-.6-1.1 1-3 2.8-3.4 1.7-.4 3.8.3 4.2 1.6z"/>
+  <path fill="#fff" d="M294.8 289c.5 0 .6 1 1 .8.5 0 1-.8.8-1.3-.1-.6-1-1.3-1.8-1.2-.8 0-3 2-2.8 2.5.2.5.8.5 1.2.3.4-.2 1-1 1.6-1z"/>
+  <path fill="#f8c83c" d="M349.2 281c1.3 1.7 3.6.2 4.2-.5.6-.6 2.4-1.7 1.7-2.8-.8-1.1-2-1-3-1-.8 0-2.6 1.4-2.9 2-.3.5-.6 1.6 0 2.4z"/>
+  <path fill="#fff" d="M349.6 280s.1-1.9 1.8-2c1 0 1 .3 1.8.7.7.4 1-.5 1-.5s0 1.3-1.1 1.3c-1.2 0-.8-.5-2-.7-1-.2-1.5 1.1-1.5 1.1z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M321.9 276.4l-.9-.6h-2.8l-3.4.1 3.4 9.9 4 5.8 1.6.6 3.1-.2.6-1.6-1.2-9.5-4.4-4.5z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M310.6 277l.2-1.1 1.8-.1a7.2 7.2 0 012.2.1s2.3 2.9 3.1 4.7c.8 1.8 1.7 4.8 2.7 6.6 1 1.9 3.2 5 3.2 5h-4l-2-.6-5.6-9-1.6-5.6z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M308.2 275.8h2.6a14 14 0 013.9 5.4c1 2.8.5 3.2 1.8 6.2 1.4 2.9 3.2 4.9 3.2 4.9s-3.9.2-6-.2c-2.3-.4-3-.3-3.6-1a9.2 9.2 0 00-1.7-1.3h-2.2l.5-3.1-.6-6.9.1-3.5 2-.5zm23.4 1.8l-3.7-1.5-7-.4.6 3.6a30.2 30.2 0 002.6 7.7c1.1 2 2.2 4.4 2.8 5 .6.5 4.6-1.1 4.6-1.1l2.6-.4-.3-2.8-.4-1 .6-8-.6-1.2-1.8.1z"/>
+  <path fill="#f9aa51" stroke="#953220" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M307.1 277.7c0 .8 1 .9 1.2.8.2 0 1-.3 1-1.5s-.7-2.1-2.2-2.2c-1.4 0-2.5 1.7-2.5 3 0 1.2 1.2 1.8 1.2 2.3 0 0-1.2 1.1-1.1 3.1 0 2 1.6 3.6 1.6 3.6s-1.7 1.3-1.7 2.7c0 1.4 1.3 2.3 2.6 2.3 1.2 0 2.8-.8 2.8-1.8s-1-1.7-1.7-1.7c-.8 0-1.1.5-1.1.8m25.6-10.9c0 .9-.6 1-1 1s-1.2-.4-1.2-1.5c0-1 1.4-1.6 2.4-1.6.9 0 2.4 1.2 2.4 2.7 0 1.5-1 2.6-1 2.6s.6.3.6 2.2c0 2-1.2 3.3-1.2 3.3s1.6.6 1.6 2.6-1.4 2.6-2.3 2.6c-1 0-2.6-.5-2.6-1.9 0-1.3.8-1.8 1.5-1.8.6 0 1.3.7 1.3 1.5"/>
+  <path fill="#953220" d="M309.5 288.6l.4.6c.2.4.3 1 .8 1.4.8.7 7.2 1 9.2 1 2 0 7.8.2 8.9-.4 1-.7 1.2-1.8 1.9-2.3l.9-.4-.9.7v1.4l.5.8s-.1.4-.8.8c-.7.4-1.3.5-2.3.6-1 .1-13.2.1-15.2-.2-2-.4-1.8-.3-2.4-.7a4.3 4.3 0 01-1-1l.3-.8-.3-1.4zm20-11.8l1 .5s-.9.3-1.6 2.3c-.7 2-.1 2.5-.6 2.7-.5.2-5.8 0-5.8 0l-1-2.1 8-3.3z"/>
+  <path fill="#231f20" d="M346.4 276s-.9-.3-1.3-1c-.4-.8-.8-1.7-.5-2 .4-.1 1 .5 1 1.1 0 .6.8 2 .8 2zm10.4-2.8s.7 1.2 1 1.3l1.2.6s-1.5 0-2-.4a8.3 8.3 0 01-1-1.5h.8z"/>
+  <path fill="#231f20" d="M360 274.2s-1 .5-1.6.2c-.8-.3-1.4-.7-1-1 .2-.4.4-.3.8.2.4.4 1.8.6 1.8.6zm5.3-4.5s-.8.6-1.3.6-1.5-.2-1.5-.4 1.3-.4 1.6-.3h1.2zm-8-10.5s-1.1.4-1.5 1c-.4.5-.3 1.2.2 1.2s.6-.7.6-1l.7-1.2zm-5.2 2.9s-.9.5-1 1c-.3.5-.5 1.6 0 1.6s.7-.8.7-1.2c0-.5.3-1.4.3-1.4z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="M342.8 268.4l-2.9 3s6.6 3.7 11.7 3.5c5-.1 10.8-4 11.2-5 .4-.7 0-4.3-.6-5.4-.7-1.1-4.2-3.8-5.5-3.7-1.3.1-3.7 1.9-5.8 4-2.2 2.1-2 3.9-5 3.7l-3.1-.1z"/>
+  <path fill="#0c8489" d="M342 269.6s7 1 9.1-.8c2-1.8 4.3-5.3 5.7-6 1.4-.9 2-.9 2-.9l1.6 1.1 1.8 1.5.6 3.4v1.8l-2.2 1.8-4 1.9-4 1.2-3.2-.1-6.7-2-1.7-1.1-.4-.4 1.4-1.4z"/>
+  <path fill="#04534e" d="M352.8 265.5c0-.6.4-.6 1-.6s1 .2 1 .8-.5 1.4-1 1.4c-.6 0-1-1-1-1.6zm2.8 1.8c0-.6.4-.8 1-.8.7 0 1.3.7 1.3 1.2s-.5 1-1.1 1c-.7 0-1.2-.9-1.2-1.4zm-1 4.2c0-.7.5-.8 1.1-.8.6 0 1 .3 1 1a1.2 1.2 0 01-1.1 1.2c-.7 0-1-.7-1-1.4zm-3.7-1.3c0-.7.7-1 1.3-1 .6 0 1 .7 1 1.4s-.4 1.3-1 1.3-1.3-1-1.3-1.7zm-5.9.7a1.4 1.4 0 113 0 1.4 1.4 0 01-3 0z"/>
+  <path fill="#8cbebf" d="M355.6 267.3c0-.5.7-.8 1-.8.5 0 .8.4.8.8s-.3 1-.7 1c-.4 0-1-.5-1-1zm-1 4c0-.5.6-.8 1.2-.8s1 .3 1 .8-.5 1-1 1c-.6 0-1.1-.4-1.1-1zm-3.7-1.2c0-.6 1-.9 1.5-.9.4 0 .3.4.3 1 0 .7-.3 1.2-.7 1.2s-1-.7-1-1.3zm1.8-4.7c0-.5.4-.5.8-.5s.6.1.6.7-.3 1-.6 1c-.4 0-.8-.6-.8-1.2zm-7.7 5.1c0-.6.6-1.3 1.4-1.3s1.7.3 1.7 1c0 .6-1 1.8-1.8 1.8-.9 0-1.3-.8-1.3-1.5z"/>
+  <path fill="#231f20" d="M347.7 269.4s-1 .1-1.5.6-.5 1-.3 1.2c.3.2.7-.3.8-.6 0-.2 1-1.2 1-1.2zm4.7-1s-1 .6-1 1.3c-.1.6 0 1 .2 1 .3 0 .5-.9.4-1.2-.1-.3.4-1.2.4-1.2z"/>
+  <path fill="#231f20" d="M353.2 269.3s-.6 0-1 .4c-.5.5-.9 1-.6 1 .3 0 .8-.2.8-.5 0-.2.8-.9.8-.9zm1-5.4l-.8.6c-.2.2-.5 1-.2 1 .3.2.5 0 .8-.5.2-.5.2-1.1.2-1.1zm3.5 2.3s-.9 0-1.2.5c-.3.4-.5.8 0 .8.3 0 .4-.2.6-.5.1-.4.6-.8.6-.8zm-.5 4.1s-.2.7-.8 1c-.5.3-.7.5-1 .1-.1-.4.2-.6.4-.7l1.4-.4z"/>
+  <path fill="#04534e" d="M362.8 267.5s.4 2-1.3 3c-1.7.9-6.4 4.2-10.9 3.8-4.5-.4-9.6-3-9.6-3l-.7.4 1.2.5 3.4 1.4 4 1.2 2.5.1 2.1-.2 4-1.3 3.3-1.7 1.8-1.4.4-.6v-1.9l-.2-.3z"/>
+  <path fill="#231f20" d="M274.9 242.2s1 .9 1 1.6c-.2.8-.4 1.1-.7 1-.3-.2-.3-1-.3-1.3v-1.3zm7.7 7.1s-.3 1.4-.9 1.5c-.5.1-.9-.4-.8-.7.1-.2.6 0 .8-.2l.9-.6zm-16.8 1s.4.8 1 1c.8 0 1-.4 1-.6-.1-.2-.4-.2-.8-.2l-1.2-.1zm3 6s.7.6 1.5.7a1.3 1.3 0 001.3-.7c0-.2-1-.2-1.3 0-.3.3-1.5 0-1.5 0zm5.3 4.4s1.4-.2 1.6-.6c.2-.4.6-1 .3-1.3-.3-.4-.5.5-.7.9-.1.3-1.2 1-1.2 1z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="M282.6 257.1s1-6-4-10.4c-5-4.3-8.1-3.2-9.8-1.6-1.7 1.6-3.2 6.7 2 11.3 5.3 4.5 11.7 3 11.7 3l.1-2.3z"/>
+  <path fill="#0c8489" d="M267.6 250.7s-.1-3.4 1.5-4.4c1.5-1 6.8-1.8 9.3 3.1 2.6 5 2.7 7.4 2 10h-2.7l-4.3-1.8-3.5-2.6-2.3-4.3z"/>
+  <path fill="#04534e" d="M282 258s-.9 1-2.7 1c-1.7-.2-10-2.3-12-9.8v1.7l.1.5.6 1.5 1.7 2.5 2.2 1.9 2.8 1.4 2 .6 2.5.4h1.5l1.3-1.7z"/>
+  <path fill="#04534e" d="M277.7 255.9c0-.7.3-.7.8-.7s1-.2 1 .4c0 .7-.4 1.6-1 1.6-.4 0-.8-.7-.8-1.3zm.3-4c0-.4.4-.8 1-.8.5 0 .9.4.9.9 0 .4-.4.8-1 .8-.5 0-.9-.4-.9-.8zm-3.7 4.4c0-.4.4-.7 1-.7s1 .3 1 .7c0 .3-1 .8-1.5.8-.6 0-.5-.5-.5-.8zm-.4-4.6c0-.6.3-.4.8-.4s1.2.1 1.2.7-.7 1.4-1.2 1.4-.8-1.2-.8-1.7zm-3.4.7c0-.5.3-1.1.9-1.1s1.3.6 1.3 1.1c0 .5-.5 1-1.1 1-.6 0-1.1-.5-1.1-1zm.6-4c0-.6.3-.5 1-.5.6 0 1.1.2 1.1.7 0 .5-.7 1.2-1.4 1.2-.6 0-.7-1-.7-1.5zm3.7-.5c0-.4.5-.3 1-.3.7 0 1.1.4 1.1 1s-.7 1-1.3 1c-.6 0-.8-1.2-.8-1.6z"/>
+  <path fill="#8cbebf" d="M271 248.3c.2-.4.4-.7.8-.7.5 0 .9.1.9.7 0 .4-.4.9-.8.9-.5 0-1-.5-.8-1zm-.6 4c0-.5.2-1 .7-1s1 0 1 .5-.5 1.1-1 1.1-.7-.1-.7-.6zm4.4-4.3c0-.4.3-.4.8-.4s.8 0 .8.5c0 .4-.4.7-.8.7s-.8-.4-.8-.8zm-.9 3.9c0 .5.5 1 1 1s1-.5 1-1c0-.6-.6-1-1-1s-1 .4-1 1zm4.3-.6c0 .5.4.9 1 .9.5 0 .9-.4.9-.9s-.5-.9-1-.9-1 .4-1 1zm-4.1 5c0-.5.5-.9.9-.9s.9.3.9.7c0 .4-.8 1-1.2 1-.5 0-.6-.4-.6-.9zm3.6-.7c0-.5.4-.6 1-.6.5 0 .8.1.8.6 0 .6-.5 1-1 1s-.8-.5-.8-1z"/>
+  <path fill="#231f20" d="M278.7 249.4s.5.7.6 1.3v1.2c-.3 0-.6-.4-.7-.9-.1-.5 0-1.6 0-1.6zm-3.2-3.3s.4.5.4 1 0 1-.3 1-.3-.4-.3-.8l.2-1.2zm-3.7.5s.4.5.4 1 0 1-.3 1-.3-.4-.3-.8l.2-1.2z"/>
+  <path fill="#231f20" d="M270.5 247.3l1 .4c.3.4.5.8.3 1-.1.2-.5-.1-.6-.4l-.7-1zm2.8 3.8s.7 0 1.1.5c.4.3.8.6.5.9-.2.2-.7-.2-1-.5l-.6-.9zm-3.4 0l1 .3c.3.2.4.7.2.8-.1.1-.4 0-.6-.4l-.6-.8zm8.3 2.5l.2 1.4c0 .5.1 1-.2 1s-.3-.7-.3-1c0-.5.3-1.4.3-1.4z"/>
+  <path fill="#231f20" d="M277.3 254.9l.8.5c.3.2.3.6.1.6l-.4-.5a9.2 9.2 0 01-.5-.6zm-3.7.2l.9.3c.2.2.3 1 .2 1.1 0 .1-.4 0-.6-.3l-.5-1z"/>
+  <path fill="#04534e" d="M272.1 243.8s-3.2.7-3.8 2.9c-.6 2-.7 4.4-.7 4.4l-.4-2.7.6-1.7 1-1.6 1.4-1 1.3-.4.6.1zm10.2 12.5s.4-.8-.6-3.4c-1-2.5-3-6-3-6l1.6 1.8 1.2 2 .6 1.8.5 1.7v1.6l-.3.6z"/>
+  <path fill="#231f20" d="M285.6 252.2s1.2.7 1.3 1.1c.1.4.2.6-.1.7-.3.1-.8-.4-1-.7a6.5 6.5 0 01-.2-1.1zm-4.8 12.8s.6-1 1.3-1.3c.7-.4 1.2-.4 1.4-.1.2.2-.4.7-1 .9l-1.7.6zm8.1 3.1s.8-.4 1.3-1c.5-.5.6-.9.4-1-.2-.3-.8 0-1.1.5-.3.4-.6 1.5-.6 1.5zm-.9-.7s.3-1 .6-1.4c.3-.3.6-.5 1-.3.2.2 0 .6-.2.9a7.8 7.8 0 01-1.4.8z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="M301.5 261.2s-5-7.2-12.8-7.6a7.4 7.4 0 00-8 7c.2 1.6 2.6 5.2 10.9 5.8 8.3.6 9.6-3.9 10-4.1.3-.2-.1-1-.1-1z"/>
+  <path fill="#0c8489" d="M295.6 256.3s2 1.5 3 2.8c.8 1.2 1 2.2.5 2.3-.5.2-5-4-8.8-4.9-3.7-.9-6.9 0-7.6 1.7s-.4 4.5 1.2 5.6c1.8 1 9.7 2.3 9.7 2.3l3.7-.5 2.3-1.3.5-1.3.6-1.6.2-.7-1.9-2-3.4-2.5z"/>
+  <path fill="#04534e" d="M289.2 257.3c0 .4-.5.7-1 .7s-.9-.3-.9-.7c0-.5.4-.9 1-.9s1 .4 1 .9zm-4.6 1.6c0-.5.6-.4 1-.4.6 0 1 .3 1 .8s-.8 1.1-1.3.9c-.6-.3-.7-.8-.7-1.3zm5 2.7c0-.6.4-1 1-1 .7 0 1.2.4 1.2 1s-.8 1.2-1.5 1.2-.7-.6-.7-1.2z"/>
+  <path fill="#8cbebf" d="M285.8 262.7c0-.5.6-.6 1-.6.5 0 1 .5 1 1s-.5.9-1 .9c-.4 0-1-.8-1-1.3z"/>
+  <path fill="#04534e" d="M292.5 264.5c0-.4.2-.8.7-.8.4 0 1 .3 1 .7 0 .4-.5.9-1 .9a.8.8 0 01-.7-.8zm3-2.3c0-.5.3-.4.8-.4s1 .2 1 .8-.6.8-1.1.8c-.5 0-.7-.6-.7-1.2z"/>
+  <path fill="#8cbebf" d="M289 256.9c0 .4-.2.6-.7.6s-.9-.2-.9-.6c0-.5.2-.6.6-.6s1 .1 1 .6zm-2.5 1.9c0 .5-.7.7-1 .7-.5 0-.8-.2-.8-.7 0-.5.3-.6.8-.6s1 .1 1 .6zm1 3.8c0 .4 0 .7-.5.7s-1-.3-1-.7c0-.4 0-.7.5-.7s1.1.3 1.1.7zm4-1.3c0 .4-.7 1-1.2 1-.4 0-.6-.9-.6-1.3s.4-.7.8-.7 1 .6 1 1zm5.8 1.3c0 .4-.7.4-1 .4-.5 0-.8-.5-.8-1 0-.4.1-.8 1-.7.5 0 .8.8.8 1.3zm-3.4 1.7c0 .5-.3.8-.7.8a.8.8 0 01-.8-.8c0-.4.4-.6.8-.6s.7.2.7.6z"/>
+  <path fill="#231f20" d="M294.4 262s.8-.3 1.5-.3c.6 0 .6.3.6.4 0 .1-.5.3-.7.2a86.2 86.2 0 01-1.4-.4zm-3.3 2.8s.6-.4 1.1-.5c.5-.1.9 0 .8.4 0 .3-.2.3-.6.3l-1.3-.2zm-2.2-5s1.4.6 1.7 1.1c.3.6.4.7.1.9-.3.2-.6-.2-.8-.5l-1-1.5z"/>
+  <path fill="#231f20" d="M288.5 261.6l1.6-.3c.5 0 .6 0 .7.2 0 .2-.1.3-.5.3l-1.8-.2zm-3.4 0s1.2.2 1.5.5c.3.3.3.6.1.7 0 .2-.6.1-.8 0l-.8-1.2z"/>
+  <path fill="#231f20" d="M285 263.3s.4-.7.8-.8 1-.1 1 .1c.1.2-.4.5-.7.6l-1.2.1zm-1-5.1l1.2.3c.4.3.5.6.4.7 0 .1-.5.2-.8 0-.5-.4-.7-1-.7-1zm2.6-3s1.2.4 1.6 1c.4.5.3.8.1.9l-.9-.4c-.3-.3-.8-1.4-.8-1.4z"/>
+  <path fill="#04534e" d="M300 263.7s-2.3 2-7.7 1.9c-5.5-.2-10.4-2.5-11.6-5l.5 1.2 1.2 1.6 3.8 2 4.3.9 3.3.2 3.2-.6 2.5-1.1.4-.7.2-.4zm.8-2.5s-.9-1.2-2.2-2.3c-1.2-1.2-6.2-4.4-6.2-4.4l4 1.8 2.7 2.2 1.8 2-.1.7z"/>
+  <path fill="#231f20" d="M301 256.4s1.4.5 1.6.8l.5.6s-.3 1-.6.6l-.8-.9-.7-1.1zm4-2.2s1.3.5 1.8 1.1c.5.7.4 1.2.2 1.3-.2 0-1-.7-1.2-1a47.3 47.3 0 00-.7-1.4z"/>
+  <path fill="#231f20" d="M306.4 254s1.2.8 1.4 1.2c.1.4.5 1 .1 1-.3.2-.9-.4-1-.8l-.6-1.5zm6.8 1.5s1 .4 1 1.2v1.3l-.7-.7v-.7l-.3-1zm1.8.7s.8.7.9 1.2c0 .5.2.8-.3 1-.4 0-.6-.5-.6-1v-1.2zm-12.3 15s.6.2 1.2 0c.5-.2 1-.7.9-1-.1-.4-.4-.7-.8-.2-.4.4-.2.6-.5.8l-.7.3zm6.8 1.8s.9-.2 1.5-.9c.6-.6.9-1 .5-1.2-.4-.2-1 0-1 .5l-1 1.6zm5.5.1l1.3-.9c.5-.4.7-.7.4-1-.3-.5-.6-.2-.8 0l-.2.7-.6 1.2z"/>
+  <path fill="#231f20" d="M316.7 273.1s.8-.9 1-1.4c.1-.5.2-1-.1-1-.4 0-.8.5-.8.9v1.5z"/>
+  <path fill="#8cbebf" stroke="#04534e" stroke-width=".5" d="M299.9 264.1c0-2.4 3.5-8 7.5-8 1.6 0 4.9 1 7.5 2.1 2.2 1 3 2 4.4 2.4 1.5.4 3.7.1 3.7.1l5-.5-4 5.7-1.4 1.2s-1.2 2.4-4.7 3.8c-3.6 1.4-9.5.4-12.2-.3-2.7-.7-6-3.2-5.8-6.5z"/>
+  <path fill="#04534e" d="M299.9 264.1h.2c0-.5.2-1.3.6-2.1a12.2 12.2 0 012.7-3.8c1.1-1 2.5-1.8 3.9-1.8.8 0 2 .2 3.4.6a29.4 29.4 0 014.1 1.4c1 .5 1.8 1 2.4 1.5.7.4 1.3.8 2 1a9 9 0 002 .2l1.8-.1 4.4-.5-3.6 5.2-1.4 1.2v.1a9 9 0 01-4.6 3.7c-1.3.4-2.8.6-4.5.6-2.8 0-5.9-.5-7.6-1a8.4 8.4 0 01-3.8-2.1 5.7 5.7 0 01-1.8-4h-.5c0 1.7.8 3.2 2 4.4a9 9 0 004 2.3c1.7.4 4.8 1 7.7 1a14 14 0 004.7-.7 9.4 9.4 0 004.9-4h-.3l.2.1 1.4-1.3 4.3-6.2-5.6.7h-.1a14.8 14.8 0 01-3.4-.1 5.5 5.5 0 01-1.9-1c-.6-.4-1.4-1-2.5-1.4a29 29 0 00-4.2-1.5c-1.3-.4-2.6-.6-3.4-.6h-.1c-1 0-2 .3-3 1a11.2 11.2 0 00-3.3 3.5 8.3 8.3 0 00-1.4 3.7h.3z"/>
+  <path fill="#0c8489" d="M324 264.9c-.4.3-1 .3-1.4.3-.5 0-11.6-6.7-15-6.4-3.5.3-6.8 1.7-6.9 5.3 0 3.5.8 3.5 1.5 4.5s7.5 2.5 7.5 2.5h4.1l3.3-.4 3-1.6 1.5-1.3 1.1-1.3 1.3-1.6z"/>
+  <path fill="#04534e" d="M306.5 263c0 .8-.3 1.3-1 1.3-.6 0-1.1-.3-1.1-1s.4-1 1-1c.7 0 1 .1 1 .8zm1.1-3c0-.6.6-.8 1.2-.8.7 0 1.2.2 1.2.8 0 .6-.5 1-1.2 1-.6 0-1.2-.4-1.2-1zm6.7 1.8c0-.5.4-.9 1-.9.5 0 .9.4.9 1s-.4.8-1 .8a1 1 0 01-1-.9zm1.3 4c0-.6.5-1 1-1 .6 0 1.2.2 1.2.8s-.2 1.3-.8 1.3c-.6 0-1.4-.4-1.4-1zm-3.2 2.7c0-.6.5-1 1-1 .7 0 1.2.4 1.2 1 0 .5-.5.9-1 .9-.7 0-1.2-.4-1.2-1zm-6-1c0-.6.3-1 .9-1a1 1 0 110 1.9 1 1 0 01-1-1z"/>
+  <path fill="#8cbebf" d="M306.4 263c0 .5-.4 1-1 1a1 1 0 01-1-1c0-.6.4-.8 1-.8s1 .2 1 .7zm3.3-3.2c0 .5-.2.9-.8.9-.5 0-1.3-.4-1.3-.9s.5-1 1-1c.6 0 1 .5 1 1zm6.4 1.7c0 .5-.4.9-1 .9s-.9-.4-.9-.9c0-.4.4-.8 1-.8s.9.4.9.8z"/>
+  <path fill="#04534e" d="M312.7 264.2c0 .7-.3 1.2-1 1.2-.6 0-1.1-.3-1.1-1s.3-1 1-1 1 .2 1 .8z"/>
+  <path fill="#8cbebf" d="M308 267.2c0 .5-.4 1-1 1s-1-.5-1-1 .6-.8 1.2-.8.8.3.8.8zm4.5-3a1 1 0 01-1 1 1 1 0 01-1-1 1 1 0 011-1 1 1 0 011 1zm5.2 1.3c0 .6-.3 1-1 1-.6 0-1.1-.4-1.1-1s.2-.8.8-.8c.6 0 1.3.2 1.3.8zm-3.3 2.7c0 .6-.4 1-1 1s-1.1-.4-1.1-1c0-.5.5-.8 1-.8.6 0 1 .3 1 .8z"/>
+  <path fill="#231f20" d="M314.8 265s1.6-.2 1.9 0c.3.4.3.8.1 1-.1 0-.8.1-1-.1 0-.3-1-1-1-1zm-1.7-5.4s1.3.3 1.8.9c.5.5.4 1 .4 1.1-.2.1-.6.2-1-.2l-1.2-1.8zm-3.7 2.6s1.5.8 1.8 1.3c.3.4.4.8.2 1-.1.2-.8 0-1-.3 0-.3-1-2-1-2z"/>
+  <path fill="#231f20" d="M308.7 263.3s1.7.2 2 .5c.5.4.8.4.8.6 0 .3-.3.4-.5.4a3.6 3.6 0 01-1.2-.5l-1-1zm-1.9-4.8s1.7.2 2 .5c.4.3.5 1 .1 1.2-.4.2-.8-.2-1-.5a8.2 8.2 0 00-1-1.2zm-3.6 2.5s1.5.8 2 1.4c.3.4.5.7 0 1-.4 0-.9-.7-.9-1a9 9 0 00-1.1-1.4z"/>
+  <path fill="#231f20" d="M302.8 263l1.5-.2c.5 0 1.2-.1 1.2.2 0 .4-.6.5-1 .4l-1.7-.4zm8.6 5.6s1.1-.7 1.7-.6c.5.1.7.1.7.4 0 .4-.7.3-.9.3l-1.5-.1zm-6-.9s.4-.6.9-.7c.4 0 .6 0 .7.2 0 .2-.4.6-.6.6h-1z"/>
+  <path fill="#04534e" d="M322.6 266.6s-1.6 2-4 3a14 14 0 01-7.2 1.1 15.2 15.2 0 01-11.2-5.2l.4 1.1 2 2.6 2.3 1 3.5 1 3.3.3h2.5l3-.5 1.9-.7 1.3-.8 1-.8 1.2-2zm-3-5.9s-1 .3-3-.9-4.3-2.8-8.8-2.8c-4.5 0-5.9 3-6.2 3.2l2-2.6 2-1.1 1.7-.3h1.5l2 .6 1.7.6 2.1.7 1.8 1 2.2 1.1 1 .5zm6 1.4h-3.4c-.8 0-.8.2-1 .4a4 4 0 01-.2.4l-.8-1.7 3.5-.5 2 .7-.2.6z"/>
+  <path fill="#0c8489" stroke="#04534e" stroke-width=".5" d="M320.7 280.4c.2.5.6 1 1.1 1h1.6l3.6-.3 1.2-1.4.8-3.2 1-1.2 3.3-1.9 2.8-.8 1.9-.2 2.5-.8 1.9-1 .8-1.2.8-1.8-.8-2.5-2-2.7-3.4-1.3H335l-3 1.1-5.5 1.3s-3 1.3-4.3 3.7c-1.3 2.3-1.2 3-1.5 6-.2 3.2 0 7.2 0 7.2z"/>
+  <path fill="#8cbebf" d="M322.2 279.2c1 0 .2-1.7 1.4-3.8 1.2-2 2.6-4.6 3-4.6s.4.4.9.3c.4-.2 1.2-.8 1.2-1 0-.2 0-1.3 1-2 .8-.8 2.1-1.9 2.7-2 .6-.1 1-.3 1 0 .1.3-.3.7.1.8.4.2 1.4.1 1.6-.5l.2-1s.6-.5 1.8-.3c1.2.3 1.3.2 1.4.7.1.4-.5.5-.4.8v.6c.2.2.4 1 1.2 1 .8-.1 1.1-.6 1.1-.6l.3-.4s.2-.5-.1-.7c-.3-.2-.2-.4 0-.3.4.1 1.6 1.8 2 1.1.4-.7.5-1.7.2-2a91.2 91.2 0 01-1.9-2.7l-3-1-4 .3-4 2.2-3.6 2s-.2 2.9-.8 2.3c-.7-.5-1.6-2-1.9-1.5-.3.5-.9 2.7-1.3 3.8-.3 1-1.4 4.4-1.3 5.6.1 1.2.8 2.9 1.2 2.9z"/>
+  <path fill="#8cbebf" d="M325.8 274.4c-.3 0-.7.3-.8.5-.2.2-.3.5-.2 1 0 .3.7.7.7.7h.5l1-.3.3-.8c0-.5-.3-.6-.4-.6a29 29 0 01-1.1-.5zm6.2-5c-.6-.3-.8.1-1 .3v.5s.2.8.4 1c.3 0 1.1.3 1.3 0 .3-.2.5-.4.5-.9s-.7-.7-.7-.7l-.5-.3zm5 1.1c0-.2-.5-.3-.9-.2-.3 0-.7.4-.6 1 .2.7.8.7 1.2.6.5-.1.4-.8.4-.9l-.1-.5zm-14.4 1c0 .3.5 1 1.2.9a1.3 1.3 0 001.2-1c0-.4-.4.3-1 .5s-.7.2-1 0c-.2-.4-.4-.4-.4-.4z"/>
+  <path fill="#04534e" d="M327.3 275.5s0 .6-.4 1c-.5.3-.8.3-1 .3-.3 0-.6 0-.8-.3l-.3-.7s.5.8 1.3.6a2 2 0 001.2-.9zm13.3-8.3s0 .6-.5.9c-.5.3-.7.3-1 .3-.2 0-.6-.1-.7-.4-.6-1-.3-1.5-.3-1.5s.4 1.6 1.3 1.5a2 2 0 001.2-.8zm-11.9 2.9s-.4 1.2-1.2 1.2c-.9 0-.8-.2-.7-.4 0-.1.3.2.7 0 .4 0 1.2-.8 1.2-.8zm2.3-.3s0 1 .2 1.2c.3.4.7.5 1 .5s.6 0 .9-.4.1-.8.1-.8l-.2.5c-.3.3-.5.3-.8.3s-.7 0-.8-.3l-.4-1zm4.3-4.3s.2.7-.3 1.2c-.5.6-1.5.2-1.5.2s.8.3 1.2-.2c.4-.4.6-1.2.6-1.2z"/>
+  <path fill="#04534e" d="M321.7 281.1s5.3 0 5.7-.8c.4-.7-.4-3.6 2.7-5.8 3.2-2.2 5.7-2.2 7.4-2.3 1.7-.2 5.3-1.3 6-4.5.3-2-2.3-2.2-3.3-4-1-2-3.6-1.2-3.8-1.2-.1 0-3 0-4.3 1.3-.9.8-.8 1.8-1.1 2.2-.4.5-4 0-4.3.6-.4.6.1 1.7-.2 2-.2.3-1-.8-1-.8l.2-2.8 4.5-2.6 5-2.8 3.5.1 3.5 1.8 1.7 2s.3.8.5 2.3a5.3 5.3 0 01-.2 2c-.8 2.8-3.7 4.8-6.7 5a14 14 0 00-7 2.5c-1.4 1-2.1 5.3-2.1 5.9 0 .5-6.6.1-6.6.1v-.2z"/>
+  <path fill="#231f20" d="M324 270.8c-.3.3-.7.2-.8 0-.2-1 .3-2.2.3-2.2v1.6c.1.2.4.1.5.3v.3zm3.2-.6c-.2-.1-.1-1 0-1.3.2-.3 1.7-1.4 1.7-1.4l-.6 1.5c-.2.4-.7 1.3-1 1.2zm-1.2 5.3c-.3 0-.3-.4-.3-1s1-1.6 1-1.6l-.4 1.2.2 1c0 .3-.3.4-.5.4z"/>
+  <path fill="#231f20" d="M328.4 274s-.5.6-1 .9c-.5.3-1.1.7-1.4.6-.4 0 .1-.8.3-.9l2.1-.6zm4.5-6.4s-.6.5-.9 1.2c-.3.7-.4 1.3-.1 1.4.3.2.7-.8.8-1.1l.2-1.5z"/>
+  <path fill="#231f20" d="M334.6 269.9s-.5-.4-1.2-.6c-.8-.2-1 0-1.2.2 0 .2-.6.5-.3.7.2.2.6-.3.8-.3.2-.1.5-.3.9-.2l1 .2zm-1-4.5c.3.3.7-.2 1-.6.4-.4.7-1.2.7-1.2l-1 .7c-.4.3-.9 1-.7 1.1zm6.9-.1s-1 .4-1.2.8c-.3.4-.7.8-.4 1 .3.3.6-.2.8-.5l.8-1.3zm-2 4.6s-.3.6-.9 1c-.5.4-1.2.5-1.3.3-.1-.2.1-.6.3-.7l.8-.2a7.3 7.3 0 001.1-.4z"/>
+  <ellipse cx="328.8" cy="207.4" fill="url(#b)" rx="2.9" ry="4.3" transform="rotate(8.7)"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M295.4 247l-1.7 4.2 1.4-.2.7-3.8z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M296.1 245.1c-.6 0-1.1.4-1.2 1 0 .7.4 1.3 1 1.4.6 0 1.1-.4 1.2-1 0-.7-.3-1.3-1-1.4z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M369.7 255.8l-4.2 4 1.7.4 2.9-3.8z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M371.6 254.1a1.5 1.5 0 00-2 .6c-.5.7-.3 1.5.4 2 .7.3 1.6 0 2-.7.4-.6.2-1.5-.4-1.9z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".3" d="M262.8 233l2.2 4.9 1-1.4-2.6-3.7z"/>
+  <path fill="#fcca3e" stroke="#aa8c30" stroke-width=".2" d="M261.9 230.9c-.6.4-.6 1.3-.1 1.9.4.6 1.3.7 1.8.2.6-.5.6-1.3.1-2a1.3 1.3 0 00-1.8-.1z"/>
+  <path fill="#aa8c30" d="M296.6 245.3s.3.1 0 0c-.5 0-1.4.4-1.4 1a1 1 0 001 1c.5 0-.2.2-.2.2l-.7-.2-.2-.4-.2-.5.1-.6.4-.5.5-.2h.3l.4.2z"/>
+  <path fill="#aa8c30" d="M295.6 248.1s-.3 0-.5.3a49.4 49.4 0 01-.7 1.1l1-2.3.4.2-.2.7zm76.4 6.4s.3.4-.1 0c-.4-.3-1.8-.2-2.1.5-.4.8 0 1.4.6 1.7.6.2-.2 0-.2 0l-.7-.5-.1-.6v-.7l.5-.6.7-.3h.7l.3.2.4.3z"/>
+  <path fill="#aa8c30" d="M369.4 257.3s-.3-.2-.8 0l-1.4.9 2.3-2.2.5.6-.6.7zm-107-26.7s.4-.1 0 .1c-.5.3-.8 1.4-.3 2 .6.5 1.3.4 1.7 0 .4-.5 0 .2 0 .2l-.7.4h-.6l-.6-.3-.4-.6v-.8l.2-.5.3-.3.3-.2z"/>
+  <path fill="#aa8c30" d="M264 233.8s-.3.1-.2.6l.3 1.5-1.2-2.7.7-.2.4.8z"/>
+  <ellipse cx="337.6" cy="-128.1" fill="url(#c)" rx="4.6" ry="3.1" transform="rotate(62.9)"/>
+  <path fill="#e92736" d="M262.6 241.2s1 .2 1.5 0 .6-.7.7-.8.3-.6.2-1a3.8 3.8 0 00-1-1.4l-1-.1c-.1-.1 0-.4-.2-.5-.3 0-1.7 1.6-1.5 1.8.3.3.4 0 .5.1v1.1c0 .3.8.8.8.8z"/>
+  <path fill="#e92736" d="M264 238.1c.1.3.7 1 .9 1 .2.2.8.2 1 0 .3 0 1-.7 1-1a1.5 1.5 0 00-.1-.7c-.2-.3-.1-1-.4-1.1-.2 0-.3-.1-.5-.3v-.7c-.3-.3-2.6 1.1-2.4 1.4.2.2.4 0 .5.1v1.3z"/>
+  <path fill="#e92736" d="M269.2 237.6c.2-.4.1-1.5-.1-1.8s-.6-.3-.7-.4c0-.1.3-.2.3-.5s-2.6.1-2.4.4c.2.3.6.1.6.3 0 .2-.4.4-.5.6l.3 1.1c0 .2 0 .4.2.5l.6.2h1.4c.1-.1.2-.1.3-.5zm22 12.8s.3.7.8 1h1l.6-.5c.2-.2.4-1.2.3-1.4 0-.2-.5-.6-.5-.8 0-.2.3-.2.2-.4-.1-.2-2-.2-2 .2 0 .3.3.2.2.3 0 .2-.5.5-.6.7-.2.1 0 1 0 1z"/>
+  <path fill="#e92736" d="M293.8 249.5c0 .2-.2 1 0 1.1 0 .2.3.7.5.8h1.2a1.2 1.2 0 00.4-.6c.1-.3.6-.7.5-.9-.1-.2-.2-.2-.1-.4 0-.2.3-.2.3-.5s-2.1-1-2.2-.7c0 .3.3.2.2.4 0 .2-.7.6-.8.8z"/>
+  <path fill="#e92736" d="M297.3 252.5c.3-.2 1-.9 1-1.1 0-.4-.3-.6-.2-.7l.5-.1c.1-.2-1.6-1.6-1.7-1.3 0 .3.3.4.2.5l-.7.1c-.1.1-.5.6-.5.8 0 .2-.3.2-.2.5l.2.4c.1.2.8.9 1 .9h.4zm66 5.5s0 .8.4 1.2c.3.3.6.3.8.4h.7a3 3 0 001-1c0-.3-.3-.8-.2-1s.3 0 .3-.2c0-.3-1.6-1.1-1.7-.8-.1.2.2.3 0 .4l-.8.2c-.2 0-.5.8-.5.8z"/>
+  <path fill="#e92736" d="M366 258.5l-.8.8c0 .2 0 .7.2.8 0 .2.7.6 1 .5.1 0 .3 0 .5-.2.2-.1.8-.2.8-.4l.1-.4c.1-.1.4 0 .6-.2.2-.2-1.2-1.7-1.4-1.5-.2.2 0 .3 0 .4-.2 0-.9 0-1 .2z"/>
+  <path fill="#e92736" d="M366.4 262.2h1.4l.4-.5c.1 0 .1.2.4.2.2 0 0-2-.3-1.8-.2.1-.1.5-.2.4-.2 0-.3-.3-.5-.3a2.4 2.4 0 00-1 .1s-.2 0-.3.2l-.2.4v1c.1.2 0 .2.3.3z"/>
+  <path fill="#f7e204" d="M264.2 239c.2.4-.1 1.2-.3 1.4-.1.2-1.3-.1-1.3-.3 0-.2-.1-.6 0-.8.2-.2.6-.7.9-.6.3 0 .6.3.7.4zm.3-1.3c-.2.3 0 .6.2.7.1.2 1 .4 1.2.3.2-.2.6-1.5.4-1.7-.2-.2-.6-.2-.7-.2-.2 0-1 .6-1.1.9zm2.7-1.3v.7c.2.1.7.5 1 .5.3 0 .5-1 .5-1.1 0-.2-.1-.3-.3-.4l-1.2.2zm26.1 13.7c0 .4-.7.7-.9.7-.2 0-.7-1-.6-1 .1-.2.3-.5.5-.5s.7 0 .9.2l.2.7zm1.1-.6c-.2.1-.3.4-.3.6 0 .2.3.8.5.9.2 0 1.2-.5 1.3-.7 0-.2-.2-.5-.4-.6l-1-.2zm2.4 1c-.2 0-.4.3-.4.5 0 0 0 .6.3.8.2.2.8-.2.9-.3v-.4c0-.2-.8-.6-.8-.6zm68.6 8.2c-.2.2-.9.2-1 0-.3 0-.3-1-.1-1 .1-.1.4-.3.6-.2.2 0 .6.3.6.6l-.1.6zm1 .1c-.3 0-.5.1-.6.3-.1.1-.2.7 0 .9.1.1 1.2.2 1.3 0v-.5l-.7-.7zm1 2h-.5c-.1 0-.4.4-.4.7 0 .2.7.3.8.3l.3-.2-.1-.8z"/>
+  <ellipse cx="438.6" cy="-93" fill="url(#d)" rx="2.2" ry="4.5" transform="rotate(47.9)"/>
+  <path fill="#a8ac71" d="M285.8 199.3s-3.8.3-6.5-.1-2-7.3-2.1-7.5c0-.2-1.6-1.8-1.4-3.3.3-1.5 5.2-5.5 5.8-5.8.5-.1 1.5.3 1.5.3s1.2-1.2 1.6-1.2c.4 0 .9.7.8 1-.2.3-1.9 1.3-2 2-.2.8 0 1.5-.5 2.3-.5.7-1.4 1.7-1.5 2.4-.1.6-.4 1.1 0 1.4.5.2 2.1 0 3.5-.6 1.4-.7 2-1.5 2.1-1.4.2 0-.8 1.7-2.3 2.4-1.5.6-2.5 1.3-3.3 1.2 0 0-.8 2 1.8 2.2 2.6 0 4-.6 4-.6l-1.5 5.3zm-15 16s2 .8 2 3-2.1 4.1-2 8c0 4 .6 4 5.8 8.3a5.7 5.7 0 011.6 2.5c.3 1.3 1.2 8.9 6.2 8.9s5.8-3.3 5.8-3.3l-2.2-3.1s-1.7.5-2.7.3a3.4 3.4 0 01-2.3-2.1c-.6-1.2-.7-4.1-1.6-5.4-2-3.2-5.8-3.7-5.9-7 0-3.4 2.3-3.7 1.7-7.7-.7-4-5.4-5.8-5.4-5.8l-1.9-.8-.7 4 1.6.2z"/>
+  <path fill="#f1a720" d="M284.7 187.6c1.7-.4.7-4.8.7-4.8l-1.2 1s.8 1 .8 2-.3 1.8-.3 1.8z"/>
+  <path fill="#a8ac71" d="M287.8 231.5l-.9-.7c-.6-.4-3.2-2.6-2.8-8.9.5-7.2 11-11 11.6-13.8.8-3.2 3.1-4.5-5.2-11l-2 2.2 3.5 2.6s.7-.4.8.6c0 1-1 1.7-1.2 2.5-.2.7-5.4 4.3-5.8 4.6l-3 2.4s-1.3 1.3-2.5 4.1c-1.3 2.8-.7 6.4-.7 6.4s0 7.6 8.2 9z"/>
+  <path fill="#78732e" d="M282.7 235.5l.6 2.7-1.7.6h-.7l-.5.2-1.3 1.2h-.3s-.2 0-.3-.8c0-.8-.2-1.5-.2-1.5l1.6.7h.6l.3-.1.7-1.5 1.2-1.5zm-4.8.5l-.8-1-1-.9 1.2-.6h1.2l-.2 1.5-.4 1zm2.7-4.3s.8.3 1 1l.6 1.2-2-.2-1.4-.4 1-1.4.8-.2zm-.7 11.9s-.4-.3-.7-.9l-.4-1.6 1.3-.3 1.5.7h.4l-.3.8-1.5 1.3h-.3zm5-4.1s-1-.4-1.2-1c-.2-.5-.4-.4-.4-.4l-.3 1.5-.5 1.5.2.2 1.1-.3.9-.9.3-.6zm-4.7 4.8l1.4.7c.8.5 1.2.5 1.2.5l.6-.6.7-1.3v-.1l-3 .3-.9.5zm4.4-1.2l2.7-1.6.1-1.4-.5-.4h-1.5l-.5 1.8-.3 1.6zm-1.8 2.5s1.8.8 5-.4c1.4-.5 1.7-1.2 1.7-1.2l-1.3-.5-1.2 1-4.2 1zm-2.5-20.3l-.4-1.4c-.2-.8-.1-1.1-.1-1.1l.9.5 1.3 1-1 .7-.7.3zm2.2 3.7l-.9-1a12.4 12.4 0 01-.6-1.2l1 .2 1.1.6-.5 1.4h-.1z"/>
+  <path fill="#c6c7a6" d="M276.6 187c-.2.7-.4 1.9.5 2 .4.2 2.3 0 4.5-2.4 1-1.2 1-2.4 1-2.4l.5-1.3s-.9-.6-2.2.2c-1.3.8-4.3 4-4.3 4z"/>
+  <circle cx="282.5" cy="183.6" r=".4" fill="#1c242f"/>
+  <path fill="#a8ac71" d="M279.7 184a17.7 17.7 0 00-1.7 1.7s1.4-.4 2.6-1.5c.6-.6 2-.8 2.6-.7.4.1.2-.4 0-.5-.3-.3-1.4-.4-1.6-.3l-1.9 1.3z"/>
+  <path fill="#78732e" d="M284.1 224.5v-2.2l-.9.8-.8 1.1 1.3.5.4-.2zm-4.5-2.6v-2.3c0-1 .5-3.1.5-3.1l.6 1.4 1.5 2.4.5.4-1.3 1-1.4.4-.4-.2zm4.5-.6l.3-1c.1-.6.5-1.4.5-1.4v.1a25 25 0 00-2 1.7l.8.7h.5m-3.7-6s.2-.6 1-1.5l1.3-1.8.6 2.4.4 2v.4l-.7.2c-.2 0-1.6 0-1.8-.3l-.8-1.3zm4.8 2.9l.8-.9 1-1-3.2.6.5 1 .8.3zm-2-6.7s.3 0 1.2-1c.8-.8 1.3-.7 1.3-.7l.3 3.4-1.6-.5-1.2-1.2z"/>
+  <path fill="#78732e" d="M287.3 216.2l2-2-3.3-1 .6 2.3zm1.4-5.2l.2-3.3s-.7.3-1.5 1l-1.2.9.4.6 1 .7h1zm2.8-3.2V205s-.5.8-1 1.2l-.9.8.9.6h1zm1.2 3.5l1.6-1.3a6.5 6.5 0 001.5-1.7l-4.2-.3.2 1.7 1 1.6zm-9.6-13.8l-.2 1.8h3.5l-.9-1.2-1-.6-1-1zm6.6 16.2c.2 0 1.1-.8 1.6-1.2.4-.5 1.2-1 1.2-1l-3.3-.3v2.2l.5.3zm6.3-5.9s.4-1.3.3-2.6c0-1.2-.2-1.8-.2-1.8l-2.5 1.7.4 1.2 1 1 1 .5z"/>
+  <path fill="#78732e" d="M291.8 204.8s.7-1 .8-1.4v-.4h2l1.1.2h.2l-.9 1.1-1.2.7-1.5.2-.5-.4zm4-2l-1.3-2c-.4-.7-.8-1-.8-1l-1 2.7v.3h3z"/>
+  <path fill="#fff" d="M271.6 222.2l-.3.8s1.3-.7 2.3-.7c1 0 2.1 1.3 2.1 1.3l.2-.9s-1.3-1.3-2.2-1.3c-.8-.1-2 .8-2 .8zm.7-5.8l.3.4c0 .1.1-1 1.4-1.5 1.4-.6 2-.1 2-.1s-.2-.8-.8-1c-.6-.1-1.1 0-1.8.5a3.7 3.7 0 00-1.1 1.7zm4.4 4.4s-.6-1.4-1.6-1.6c-1.1-.3-2.5.5-2.5.5l-.2.7s1.5-.8 2.5-.4c1.1.5 1.5 1.7 1.5 1.7l.3-1zm-5-5.1l.4.5s-.2-1.4.5-2.1a4.9 4.9 0 011.1-1l-.6-.3s-.9.5-1.2 1.1a3.2 3.2 0 00-.2 1.8zm-.5-2.3c.3-.8 1.2-1 1.2-1l-.3-.3h-.5s-.5.3-.9 1c-.3.9-.3 2-.3 2l.6.3s-.1-1.4.2-2zm7.8-19.2c.9-.4 1.5-.3 1.5-.3s-1.3 1.3-.7 2.9c-.7 1.3-.9 2.3-.9 2.3h.7l.4-1.8c.8 1.3 2 2 2 2h1s0-1.3.4-2.4h.1a5 5 0 002 1.5v-.4s-1.1-.6-1.7-1.5l-.1-.1a4.2 4.2 0 011.8-1.7l.7.6.2-.2-.5-.7h-.6l-1.8 1.7a9.2 9.2 0 01-.8-1.5l-.4-.2s-1.1.1-2 1.7c-.2-1.2 1.1-2.4 1.1-2.4v-.5l-2.4.6c-1 .3-1.7 1.2-1.7 1.2v.8s1-1.1 1.7-1.6zm1.5 2.2c.6-1 2-1.5 2-1.5s0 .7.7 1.7c-.5.9-.8 2.2-.8 2.2s-1-.6-1.9-2a1.6 1.6 0 01-.2-.3l.2-.1zm-7.6 21.1v.8s.8-.9 2-1c1.2 0 2.3 1 2.3 1s0-1-.2-1.2c-.1 0-1.1-.6-2-.6s-2.1 1-2.1 1zm21.4-11.2l-.5-1 .6-.3a12.5 12.5 0 001.7-1.6l-.4-.6h-1.6l-1.4-.1.5-1.7.6-1.4-.6-.5s.2.5-.8.6c-1 .1-2.8-.8-2.8-.8v.4l2.5.7c.6 0 1-.1 1.2-.3l-.5 1.3-.3 1 .2.2v.8l1.4.1 1.6.1s-.8 1-1.7 1.5a2.3 2.3 0 01-.3 0l-1-1.5-.1.5.7 1.2a5 5 0 01-1.5-.1l-.4.4v2.5l-1.8-.6-.3.3v-.1l-.4.4s-.4 1.4-.3 3.1v.1a4.9 4.9 0 01-2.4-1.3l-.4.3s-.3 1.4 0 3.2c-1.3-.3-2.5-1.5-2.5-1.5l-.5.5a60 60 0 00.7 4.7 4.9 4.9 0 01-.7 0c-1.4 0-2.3-1.3-2.3-1.3l-.4 1s.6 2.7 2 4l.4.2c-1.3 1-2.8 1.2-2.8 1.2v.9a44.7 44.7 0 002.2 1.5 4.8 4.8 0 01-1.6 1l.2.5 1.8-1.3 1.8.5v-.5l-1.5-.3.1-.1c.5-.4 1.4-1.8 1.4-1.8v-1s-.5 0-1.1-.6c1.8-1.2 1.9-1.8 1.9-1.8l.4-.6s-.7-.3-1.1-1.2l2.9-.7.2-.2s-.7-1.2-1-2.6l3 .6.4-.4-.5-2.4c1.8 0 3.2.2 3.2.2l.3-.3s-1-1.9-1-3a4.8 4.8 0 001 0h3l.3-.5s-1.4-1-1.7-1.5zm-10.5 15.5s-.5 1-1.4 2l-.2.2a4.6 4.6 0 01-.5-.2c-1.1-.6-1.4-1.3-1.4-1.3l2.5-1.6 1 .9zm.9-3.2l-2 2a4.1 4.1 0 01-.4-.5c-.8-1.2-2-2.1-1.8-3.8 0 0 .7 1.2 2.2 1a14 14 0 001-.1c.4 1 1 1.4 1 1.4zm2-2.5l-2.7.7a5.3 5.3 0 01-.1-.5c-.5-1.6-.5-4-.5-4s1 .8 2.6 1.2l.7 2.6zm-.5-3c-.2-1.4.1-2.9.1-2.9s.8.8 2.3 1c.1 1.5.3 2.1.3 2.1l-2.7-.1zm5.8-2.2s-1 .4-2.8.1a15.3 15.3 0 010-.5 23 23 0 010-3l2.3.7a10 10 0 00.5 2.7zm0-3.1h-.2V205s1 .3 1.7.2c.2.4 0 .5.5 1.2.4.7 1.1 1.3 1.1 1.3s-2.3.2-3.2 0zm-7.6 18.6l-.1-.5s-1 .7-1.2 1.4a1.6 1.6 0 01-.3-.1l-2-.8.2.4 1.8.8h.2l-.5 1.4.2.3.5-1.7 1.2.1-.2.8-.4 1.5.5.3h2l-.3-.4-.7-.1h-1.1l.3-1.2.3-.8-.3-.7-1 .2a3 3 0 01.9-.9zm-11.3-1.3c1.3 0 2.3.9 2.3.9v-.6s-1-1.4-2.1-1.4c-1.2 0-2.5 1.2-2.5 1.2v1.2s1-1.3 2.3-1.3zm13.3 19.4c-1.3.6-2.7.6-2.7.6l.8-1.5c2.5-.8 3-2.4 3-2.4l-.2-.7s-.6 1.6-2.6 2.4c.4-1.2.7-3.2.7-3.2l-.7-.2s-1 1.3-2 1.6a7.7 7.7 0 00.8-2.7l-.3-.5s-.7.6-1.7.8a1.8 1.8 0 01-.6 0c.6-.8 1.7-3.2 1.7-3.2l-.2-.5s-.8 2.1-1.7 3.2a10.6 10.6 0 01-.3.4c-1-.3-2.2-1-2.2-1l.1.3s.8.6 1.8 1a27.3 27.3 0 01-1.3 1.2v1l3 .4c-1 1.6-2 2.1-2 2.1l.5.7s1.3 0 3.7-.6c-.6 1.2-1.2 1.8-1.2 1.8s2.2.2 3.7-.6 2-1.6 2-1.6l-.4-.4s-.4 1-1.7 1.6zm-6.9-4l1.2-1.5c1.6.3 2-.1 2-.1s.3.8-.6 2.3c-1.1 0-2.6-.8-2.6-.8zm1.4 3l1.3-1.6.3-.3c1.5 0 2.3-1.3 2.3-1.3s.2 1.2-.5 2.7c-1.9.7-3.4.5-3.4.5zm-1.9-9.8c1.5 0 3.3.7 3.3.7l-.2-.7-2.9-.6a3.6 3.6 0 011.6-1.6l-.5-.3s-.6.1-1.4 1.5a4.1 4.1 0 00-.2.4 4 4 0 00-.3 0 5 5 0 00-2.4.7l.2.4s1.1-.5 2.3-.5a25.7 25.7 0 00-.7 2.4l.3.6 1-3zm-3-6.2l-.3-.7s-1.5-.6-2.7 0c-1.1.5-2 1.9-2 1.9l.5.9s.8-1.5 1.9-1.9c1-.3 2.6-.2 2.6-.2zm3 2.4l-1-.6s-1.7.5-2.2 1.1c-.6.6-1.1 2.1-1 2.5.2.5.7.7.7.7s.3-1.5 1.1-2.3c.8-.8 2.4-1.4 2.4-1.4zm-3.9-.5a4.5 4.5 0 012-1l-.7-.5s-1.5.2-2.2.9c-.8.7-1.8 2.1-1.8 2.1l.9.9s1.2-1.8 1.8-2.4zm5.2-44.7v-.1c.8-1 1.6-1 1.9-1h.6a9.3 9.3 0 00-.8 2.5c-.2 1-.7 1.2-1 1.9-.4.7-1.1 1.8-1.2 2.8 0 1 .3 1.6.5 1.7.3.1.8-.4.7-.7 0-.3-.3 0-.4 0-.2 0-.2-.3-.3-.9-.1-.6.7-2.2 1-2.8.3-.5 1-1.1 1-2l.7-2.5c0-.1-.4-.2-1.3-.3-.6 0-1.5.5-1.9 1.2-.4.6-1.7 1.1-1.7 1.1s1.4 0 2.2-1z"/>
+  <path fill="#78732e" d="M285.2 194.5h-2.5l.7 2zm-3-.1l-.5-.4a1.5 1.5 0 00-.3-.3l-.9.5-.5 1.9.3.3 2-2zm-.3 5l-1.8-2.7-1 2.2.5.2 1.2.2h1.1zm7.4 44.7a9 9 0 01-4.8 1.5 6.7 6.7 0 01-3.4-1 4 4 0 01-1.5-1.7c-.6-1.1-.8-2.5-1-4-.3-1.3-.5-2.6-1.1-3.6-.8-1.3-2.4-2.1-3.8-3.3a7.3 7.3 0 01-2.8-5.2 8.1 8.1 0 010-.8c0-1.7.5-3.2 1-4.5s1.2-2.5 1.2-3.5v-.5c-.3-.7-1-1.4-1.5-1.9s-1.2-.8-1.2-.8l-1-.2-.1.3 1 .2v-.1.1l1.3 1c.5.4 1 1 1.1 1.5a1.9 1.9 0 010 .4c0 1-.5 2-1 3.3a11.7 11.7 0 00-1.2 4.7v.8a7.7 7.7 0 003 5.5c1.5 1.1 3 2 3.7 3.2.8 1.2 1 3 1.3 5 .2.8.4 1.7.8 2.5s.9 1.5 1.6 2a7 7 0 003.7 1c2.7 0 4.9-1.6 4.9-1.6l-.2-.3z"/>
+  <path fill="#78732e" d="M287.2 239.2a2.6 2.6 0 01-1.3.4c-.5 0-1.1-.2-1.7-.8a4 4 0 01-1.2-2.3c-.2-.9-.3-2-1-3.3-.5-1.5-2-2.6-3.5-3.7-1.3-1.1-2.6-2.2-2.9-3.4a3.3 3.3 0 010-.7c0-1 .4-2 .8-3.1a10.8 10.8 0 00.9-4.8c-.2-2-1.7-3.5-3.2-4.5a14.1 14.1 0 00-2.8-1.4l-.1.3h.2c.5.3 1.8.9 3 1.8 1.3 1 2.4 2.2 2.6 3.8v.8c0 1.5-.4 2.7-.9 3.9s-.9 2.2-.9 3.2l.1.8c.3 1.3 1.6 2.4 3 3.6 1.5 1 3 2.2 3.5 3.5.6 1.3.7 2.4.9 3.2.2 1 .4 1.7 1.2 2.5.7.7 1.4.9 2 .9a2.8 2.8 0 001.4-.4l-.1-.3z"/>
+  <path fill="#a8ac71" d="M296.4 231.6s1.7.4 1.6 1.8a13.3 13.3 0 01-.8 3.4l-2.4-2.2 1.3-1.2.5-.7-.2-1.1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M266.4 214.5s-1.7.6-2.1-.1c-.4-.8-.2-1.4-.2-1.5 0-.2-1-.3-1-1.3.1-1 1.4-.9 1.6-.9.3 0 .4-1.5 1.3-1.4.8 0 1.2 1 1.2 1l-.8 4.2z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M268.3 215s-1.5.8-2 0c-.4-.7 0-1.6-.1-1.8-.2-.1-1-.4-.9-1.3.2-.9 1.1-.6 1.4-.8.3-.1.6-1.4 1.5-1.2.9.3 1 1 1 1l-1 4.1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M270.8 215.3s-.5 1-1.5.8c-1-.2-.7-1.7-.9-2-.1-.3-.9-.5-.8-1.4.2-1 1.1-.9 1.5-1 .3-.1.7-1.6 1.4-1.4.7.3 1.3 1.1 1.2 1.5 0 0-1.5.5-1.7 1.5-.2 1 .8 2 .8 2z"/>
+  <path fill="#af7029" d="M293.7 231.2l-2.2-2.6c-.9-1.3-2.3-2.7-2.3-2.7l-2.2-1.1-1.4-2.4-.2-2.8.6-1.6.8-1.2s-4.6 1.7-2.2 10.5c1 3.8 3.5 4.3 3.5 4.3l4.3-.3h1.3z"/>
+  <path fill="#816c2a" d="M291.6 201.7c.4 0 .6.2.8.4l.2.6v.4c-1.6 3.4-4.8 5-7.8 7a13.8 13.8 0 00-3.8 4 12 12 0 00-1.6 6.8c.1 5 2 7.8 4.2 9.3a9.7 9.7 0 005.2 1.5h.4l1.4-.1a35.8 35.8 0 013-.2l1.8.1.9.4a.8.8 0 01.2.5c0 .4-.3.8-.6 1.2l-1 .7.2.3a4 4 0 001-.8c.4-.4.7-.9.7-1.4 0-.2 0-.5-.3-.7-.2-.3-.6-.4-1.1-.5l-1.8-.1c-2 0-4.5.3-4.5.3v.2-.2a6.8 6.8 0 01-.3 0 9.4 9.4 0 01-5-1.5c-2.1-1.4-4-4-4-9v-.4c0-2.7.5-4.7 1.5-6.3 1.4-2.4 3.7-3.8 6-5.3a14 14 0 005.5-5.7v-.5c0-.2 0-.6-.2-.8-.2-.3-.5-.5-1-.5v.3z"/>
+  <path fill="#fff" d="M297.8 232.7s-1 2-1.4 2c-.2 0 1 .3 1.3.8l-.3.5s-1.2-.9-2-1v-.6l1.1-.7a4 4 0 00.9-1.7l.4.7z"/>
+  <path fill="#fcca3d" d="M302 234l-2.7.8-1.3-1s0-1-.5-1.5l-1.6-1c-.6-.2-2.5-.2-2.5-.2l-5-5.3 2 .2 2.8-.4 2.7-.2 1.4.2 1.6.4.8.7.8.8.8 1.3.6 1.6.2 1.7v1.9z"/>
+  <path fill="#af7029" d="M302.2 233.8s-1 .3-2.2.3c-1.3 0-2-.2-2-.2l-.2.9c-.2.9-.5 1.3-.5 1.3v3.2l2.6.5 1.4-.5.7-3.5.2-2z"/>
+  <path fill="#fcca3d" d="M301.5 232.5v1.2l.6.2v-1.2zm-2.5-30l-.3-2.1-.8-1.5-1.1-1.5-1.2-1.3-.6-.5-.3-.5-2.9.2-1.4 1.7s3.8 2.8 5.3 5.8a7 7 0 012.8 1.7l.1-.2.4-1.8z"/>
+  <path fill="#af7029" d="M296.3 205c0 2.2-.5 3.2-.8 3.7l1.8-2 1.2-2.2a7 7 0 00-2.8-1.7c.4.7.6 1.4.6 2.1z"/>
+  <path fill="#816c2a" d="M300.3 237.9l-1.4-1.6c-.6-.6-1.3-1-1.3-1l-.2.4h.1l1.2.8a17.6 17.6 0 011.3 1.6l.3-.2z"/>
+  <path fill="#6f5b24" d="M302 235.5s-.3 1-1.3 1.8c-1 1-2.2 1.5-2.2 1.5l2.8 1 1.9-1.7-1.2-2.6z"/>
+  <path fill="#404118" d="M302.4 237.8l-.2.3-.5.5-.4.5.6-3 .6 1v.4z"/>
+  <path fill="none" stroke="#78732e" stroke-width=".2" d="M285.8 199.3s-3.8.3-6.5-.1-2-7.3-2.1-7.5c0-.2-1.6-1.8-1.4-3.3.3-1.5 5.2-5.5 5.8-5.8.5-.1 1.5.3 1.5.3s1.2-1.2 1.6-1.2c.4 0 .9.7.8 1-.2.3-1.9 1.3-2 2-.2.8 0 1.5-.5 2.3-.5.7-1.4 1.7-1.5 2.4-.1.6-.4 1.1 0 1.4.5.2 2.1 0 3.5-.6 1.4-.7 2-1.5 2.1-1.4.2 0-.8 1.7-2.3 2.4-1.5.6-2.5 1.3-3.3 1.2 0 0-.8 2 1.8 2.2 2.6 0 4-.6 4-.6l-1.5 5.3z"/>
+  <path fill="#ab6d29" stroke="#4d2a15" stroke-width=".4" d="M318.7 170.6s-7-1.3-7 4.5c.1 1.9.5 2.5 2 3 1.5.3 4.4.5 7 2.7 2.5 2.3 2.7 4 2.7 5.3 0 1.4-.7 2.6-.7 2.6l1.6 7.7 1.6 5.7 4.8-2.7 2.8-8.5-3.6-15.2-11.2-5.1z"/>
+  <path fill="#4d2a15" d="M325.6 200s2.5-1 3-3c.3-.5-2.4-2.9-2.4-2.9-.1 0 1.3.7 2 1.3.6.6 1.1.9 1.3.8.2-.1 1.3-2.7.9-3.3-.4-.6-1.1-2-2.1-2.6-1-.7-2.4-.6-2.4-.6s1.9-.6 2.8 0c1 .5 1 1 1.1.9.1-.3-.2-2.9-.6-3.7-.4-1-.8-1.3-2-1.6-1.1-.2-2.3-.1-2.3-.1s1.6-.9 2.8-.6c1.3.3 1.3 1 1.4.8 0-.1-.6-2.4-1-3a6.7 6.7 0 00-2.1-1.8l-1.8-.2h-.6s1-.6 2.1-.5c1.2.1 1.3.5 1.4.4.2 0-.1-.2-.8-.7s-4.2-2-4.2-2h-3.3s0-.8 1-1c.9-.1 1.1.1 1-.1 0-.3-2.6-.8-2.6-.8H316l-3 .3s.2-.5.7-.9c.3-.3.9-.5 1.3-.6 1-.3-.6-1.1-.6-1.1l.9-1.3 3.9.3 8.2 4.8 3.9 3.3 2.4 6.2-.7 10.8-5.5 4.5-2.4.3.5-2.3z"/>
+  <path fill="#d2a567" d="M318.4 173.3s-.2-.7-.2-1.7.2-.9.2-.9-2.7-.3-4.6 1.2c-1.9 1.5-.8 4.1-.8 4.1s.8-.8 1.9-1.2c1-.4 3-.3 3-.3.2-.2-.4-1-1.1-1.1-.8-.2-2.1-.2-2.1-.2s.8-.5 2.2-.4c1.4.1 1.6.5 1.6.5z"/>
+  <path fill="#8f4620" d="M326.7 200.9l-1.8.6 1 7.5 7.2 12.1 3.7-.6 1.3-2.3 1 .5c.4.4 1.8 2.8 3 3.3 1.1.4 1.7.2 2.7 1 1 1 4.9 6.6 5 6.8.3.2-.1-2.4-.1-2.4l-1.2-3.4-1.4-2.4-.3-.6h2l1.2.8 2 1.5.9 1.2.5 1.2.2 1 .5 1.6 1 2.3 1.3 2.1.4-.9-.6-2.5-2-6-1-2 1.9 1.2c.4.1 1.8 2.2 1.8 2.2l.9 2.2.6 2 .4 1.7.7 1.9 1-.7-.1-1.3-1-4.2-.4-4.5s.6 0 1.2.7a9 9 0 011.2 2.3l.5 4.1.7 3.8 1.2 3.8 1.2 2.4.9 1.3v-2l-1.6-16 .2-.6s.2-.1.8.7c.5.7 1 1.9 1 1.9l.5 2.5.2 1.7.3 3.3.5 3.5 1.6 3.8.9 2 .5-2.4-.8-17.1.4-.5s.9.7 1.2 1.3l.8 1 .6 3.8.4 10.7.4 2.8 3.2-28.2 2-.4.2-.6-1.5-1-3.2-5-2.1-4.9-3.8-7-6.6-8-5.2-4.3a20 20 0 00-1.9-1.3l.4-1 1-1.7-.1-.1h-.9l-2.2.4-2.2-.7-4.4-3-4.6-2.3-2.8-1-6.6-1.6-6.6-1h-3l-2.6.5s-1.4.6-1.8 1.5c-.5.8-.5 1.4-.4 2.6.2 1.3 1 1.9 2.8 2.7 1.8.7 6.2 3.6 6.2 3.6l2 2.1.8 1 .2.8 1.4 11.1-2.8 6-2 1z"/>
+  <path fill="#ab6d29" d="M333.8 218.2s1.2 2 2.9.5c1.7-1.6-.8-6-.7-6.3 0-.3.7-.3.7-.3l1.3 2.2s.7 1.3.4 3.2c-.2 2-2.1 3.7-2.1 3.7l-2.2-.5-.3-2.5z"/>
+  <path fill="#4d2a15" d="M375.3 244.2l-1.6-4.5-.4-3.5c0-.6-.3-7.9-.5-9.3 0-1.4 0-3-.2-3.1l-1.6-2.2-.7-.7.5-.3s.6.6.7.3c.2-.4 0-2-.6-4.5-.7-2.5-3.9-8.3-3.9-8.3l.4.2.9 1 1.8 1.5 4.1 1.5 2.2.3 1.4 2.9s1 4.9 1 7.4c0 2.4-.2 4.5-1.2 7-1 2.4-1.2 10.3-1.3 11.5-.1 1.3-.6 2.5-.6 2.5l-.5.3z"/>
+  <path fill="#8f4620" d="M375.3 231.2s.8-1 1.2-2.4c.4-1.4.5-12.4-.8-13.7a10 10 0 00-4-2.3c-.2 0 1 3.5 1 3.5l.8 1.4.6 1.8c.1 1 .9 3.1 1 6l.2 5.7z"/>
+  <path fill="#4d2a15" d="M369.3 238s.5-5.1.3-9c-.3-3.7-.6-4.2-1-4.9a32.3 32.3 0 01-2.5-6.3c-.9-3.2-1.5-5.6-2-6.2-.6-.6-1.7-2-2-1.6-.3.3-.3 1.1-.3 1.1l-1.5-.4-.4-1 .5-1.6v-.7l-.3-1.1 2 1.6 4.2 2.8 2 8.6 2 5.3.2 9-.2 8-1-3.5zm2.4-24.7s1 1 1.7 1.4c.7.4 1.8 1.1 1.6 1.2a8 8 0 01-2-.8l-1.2-.8v-1z"/>
+  <path fill="#4d2a15" d="M363.7 236s.8-1.8.7-4.1a49 49 0 00-1.6-8.6c-.4-.7-2-1.7-3.5-4.8s-1.3-3.8-2.3-5c-1-1-2-2.4-2-2.4l.3-3.3 3.6 1.8 1.6.8 1.8 8.7 1.6 2.5.7 3.5.9 8 .4 6.6-.2.5-2-4.2zm-4.2-3.7s.1-2.5-.5-4.8c-.7-2.3-1.1-4-1.9-4.8-.7-.7-2.5-2.6-4.1-5-1.6-2.5-3.9-5-3.9-5v-3.3l2 1.5a57.1 57.1 0 012.4 1.2l1 3.7 1.2 2.7 1.8 2.4 1.2 1.1.7 4 .4 2.3 1 3.2-.4 1.7-.9-.9zm-3 0l-1-.9s.6-.6.3-2c-.3-1.2-.6-2.4-1.2-3.7-.6-1.2-.7-2-1-2.3a121 121 0 00-4.5-4c-1-1-2.7-2.6-3.7-3.3-1-.6-1.8-.8-1.8-.8l-.5-4s1.3 1.8 2.1 2a54.7 54.7 0 002.1.8l2.8 5 1 1.3 2.6 2 1 2.2.9 2.5 1 3.4.1 2-.2-.1zm-5.5-1s-1.7-2-2-3.2c-.2-1.2.2-1.2-.3-2.6-.5-1.4-2.3-3.5-3.7-4.6-1.4-1.2-3.4-2.8-3.3-3.8.1-.9.4-1 .4-1l.8.8 4.5 4.7 1.4 2.5 1 3.1.7 1.5.7 1.8-.2.7zm16-23.3s3.1 3.8 4 .3c.3-1.6-1.2-4.6-1.2-4.6s-2.8-5-3.8-6.2l-5.7-7.3-3.5-1.6 1.2 2s2.6 2.6 5.9 8.4c3.3 5.7 2.7 8.9 2.7 8.9h.5zm-17.8-23s6.1 5.2 10 10.8c4 5.7 5.5 9.4 4.7 10.2-1 .7-3.4-.4-4.4-2-1-1.6-1.8-4.4-5.5-8.6-3.7-4.2-5.5-4.8-5.5-4.8l-2.7-4.3 3.4-1.3zm-3.2 12.5s3.6 3 6 5.4a37.4 37.4 0 013.4 4.2l1.4 1.4s-.9-1.5-.4-2c.5-.6 1.1-.3 1.1-.3l-11.5-12v3.3zm-.7.3s1.2 2.3 3 4.1a464.6 464.6 0 004.1 4l.8 2.9s-5.2-4-5.2-3 1.2 3 1.2 3l-1.6-1-2.2-3.1-1.3-2.8-1.5-3.8 2.7-.3z"/>
+  <path fill="#4d2a15" d="M329.5 210.2s2.7 2.4 4.2 0c1.5-2.3.3-5 .3-5s3.9 5.6 5 .3c.2-1-2.4-4.6-2.4-4.6l1-.9 1.9 3.3s1.8-.8 1.8-3-1.9-5.3-1.9-5.3l1.8 2s3.6 0 3.7-2c0-2.2-3-4.5-3-4.5s2.4.1 2.4-1.3c0-1.4-3.4-2.4-3.4-3.3 0-.9 1-2.4 2.5-1.5 1.5.8 3.5 1.4 4.4-.2.8-1.6-.1-2-.1-2l-2.1-.4-3.4-1.8-2.7-1-2.8-.4 1 2 .8 5.8v2.6l.5 5.8-1.4 4.7-.7.9-.5.6-1.2 2.6-1.6 1.8-2.2 2.7-2 2.1z"/>
+  <path fill="#ab6d29" d="M348.8 220.9s-.7-1.7-2.2-2.9a7.8 7.8 0 00-3.8-1.2l4 4.2 2-.1zm5.6 1s-1.3-2.6-2.8-4.2c-1.5-1.6-2.5-3.6-3-3.6h-.6l.4 3.3 2.7 2.7s2.6 2 3.3 1.8zm4.6-.2s-.6-3-2.2-6c-1.5-2.8-3.1-4-3.1-4l.4 3 1.2 3 2 3 1.7 1zm3.8-1.7s1-6.2 0-8c-.9-1.6-2.7-2-2.7-2l-.6 1 .6 4.3 1.5 3.4 1.2 1.3zm3.7-10.3s.9.4 2 2.5a40 40 0 012.6 8.6c0 .3-.5.2-.7.2-.2-.1-3.9-6-3.9-6l-.6-5.4h.6z"/>
+  <path fill="#d2a567" d="M340.4 216.8s2-.4 2-1c0-.8-2.4-2.2-2.2-3.3 0-.5 2 .1 2.1-.3.1-.4-2-3.6-1.3-4.4.6-.8 2.4 3.5 2.4 3.5s1 2 .7 3.2c-1.2 3.6-3.7 2.3-3.7 2.3zm4.6-4.4c.1-.3 3.1.4 3.1.2.2-.7-2.7-3-2.7-3s-.6-1.2-.4-1.4c.2-.2 2 .2 2 0 .2-.3-2-3.2-2-3.7s.6 0 .6 0 1.7 1.7 2.6 3.2c1 1.4 1.8 2.6 1.5 4.9-.4 2.5-5 .6-4.7-.2zm13.6-4.6s-.5-2-.2-2.3l1.1-.5s-1.6-1-2.4-1c-.7 0-.8-.2-1 0-.2.4 1.3 2.4 1.3 2.4l1.2 1.4z"/>
+  <path fill="#d2a567" d="M349.4 209.4s4.7 1.2 4.9.8c.2-.3-3.7-4-3.7-4s-.3-.6-.2-.8c0-.2 1.7-.3 2.2.1s0 1.2.1 1.5c.2.3 1.7 2.5 2 2.1.2-.3-.4-3-.3-3.3.2-.2 1.8 1.6 2.3 1.9.4.3 3 2.3 3.3 1.4.3-1 .4-1.1.3-1.7 0-.6.9 2.6-.3 3-1.2.4-2.6-.4-2.6-.4l-1.1-.8-.6-.7s.7 2.5-.2 2.7c-.8.3-1.7.2-1.7.2l-2-.2-2.4-1.8zm10.7-3.2s5 3 5.4 2.5c.5-.5-1.2-7.5-1-8.2.3-.6 4 7.9 2.2 9-1.4 1-2 .3-2 .3l-2.5-1.3-2-2.3zm13.8 12.6l1 .5.7.2-1.4.2-.3-1zm-4.8-16.4l.7.3.7.3s-.4.3-.6.2h-.4l-.4-.8zm-1.4-2.5s.5.3 1.1-.2c.7-.4.7-.8.6-1 0-.2-1-.2-1.4-.5-.3-.2-.3-.6-.3-.6h-1.1l-.4.1 1.5 2.2zm4.3 14.4s1.5 1 2 1c.4 0 1.1.5 1 .6 0 .1-1.2.2-1.8-.1-.6-.3-.7-.1-.7-.1l-.5-1.4zm-8.1-22.5h.6c.3 0 .5-.2.6 0 .2.2 0 1.2-.3 1.5l-1 .5a48.4 48.4 0 01-1.6-2.2l1.7.2zm-7.1-6.4h1.5c.5 0 1 .3 1.5.6.4.3.9 3.3.6 3.8-.2.6-3.6-2-3.7-2.1 0-.3-1.5-2.5-1.5-2.5l1.6.2zm-3.2-1.4s2.5.2 2.2-1.3a3.2 3.2 0 00-1.3-2.3l-2.9 2.1 2 1.5zm-6.5-2.8s.7.4 1.4 0c.7-.2 2.6-2.7 4-3 1.4-.3 1.7-.3 2 0 .2.4 0 1.8-.2 2.2-.3.4-4.4 2-4.4 2l-1.5-.1a9.6 9.6 0 01-1.3-.5v-.6zm-.7-4.5c-.7-1.4-1.7-2-2.2-1.9-.4.1 1.4 1.5 1.7 3.5.3 2 .2 3.3.2 3.4l.8.1.2-.7.1-.5v-.5l-.1-1-.2-.9-.2-.6-.3-.9zm-5.8-2a15.4 15.4 0 00-5.5-3.7c-.2 0 4 2.5 5 4 .9 1.7.9 3.9 1.3 4.2.4.3.8-.2.9-.2 0 0 .3-.5.2-.7l-.2-1-.7-1-.4-.8-.6-.8zm-5.5-2.3c-2.4-2-6.6-3-10-3-3.5-.2-5.3.2-4.8 2s2 2.8 5 2.8c2.9 0 3.6-.3 5.2.2a9.7 9.7 0 013.6 2c.5.5-1.1-1.5-2.6-2.6-1.5-1.2-2.5-1.7-2.5-1.7s-.3-.7 1.7-.4c2 .3 4.7 1.6 5.5 3.3.7 1.7.6 2.6.6 3 0 .3.7-.2.7-.2l.3-.9s0-.6-.3-1.4c-.4-.7-.5-1-1.4-2-.9-1.1-1-1-1-1zm-9.6 28.5c1.5 0 4.8-2.8 5.2-6.7.5-4-1.9-11.9-2.5-12.7-.5-.9 1-.4 1.7.4a25 25 0 012.5 10.6c0 4.2-.8 5.3-3 7.5-2.2 2-4 1.8-4 1.8l.1-.9zm5.1 11.6s.7 1 1.6.6c1.5-.5 3.8-1.7 3.8-3.8 0-1.4-1.8-2.7-1.9-3.2v-1l1.6.4.5 2.2s.6.7 1.3.4c.6-.2 2.5-1.6 2.2-3-.3-1.2-2-2.9-2.2-3.5-.2-.7 0-1.2 0-1.2l1.6.2.4 2s.4.6 1.3.4c.8-.1 2.4-1.7 2-2.5l-1.5-2.6v-.9l.5.4s.6.2 1.8-.1c1.1-.4 2.3-1.2 2.3-2s-1-1.6-1-2v-.6h.8l1 1.2.1 1.4-.3 1.2-1.4 1.6-1.4.6h-.4l.8 1.4-.2 2-1.3 1.2-1.7 1-.1 1.9-1 2-2 1.2h-.7l-.2 1.2-1.4 2-2.3 1.5-1.7.3-1-1.4.1-.5z"/>
+  <path fill="#d2a567" d="M343.4 191.4s4 1.1 3.8-1.4c0-1.3-3.8-4.5-4-5-.3-.6-.2-1.3-.2-1.3l1.9 1.8s2.5.6 3.2-.9c.7-1.4.1-2.3 0-2.3l.6-.1 1.1.2-.1 2.2-1.3 5.5s.3 2.2-1.4 2.3c-1.7.2-3.6-1-3.6-1zm3.7 29.5s0-1.1-.8-2c-.9-.7-2.5-1.4-2.8-1.6a63 63 0 002.8 3.5h.8zm5.6.2s-2-2.4-2.3-3.3c-.5-.8-1.5-2.6-2.3-2.7-.8 0 .8 3 .8 3l3.2 2.9h.6zm5.4 0l-2.1-4.2c-.4-.9-1.3-3.4-2.3-4.1-1-.7.1 1.1.1 1.1l1.1 3.3 1.9 2.9 1.3 1zm3.9-2.4s-.1-2.7-.5-4.6c-.3-1.8-1.7-3.4-1.8-3.3v3.3l2.3 4.6zm8.1 2l-2-4.7c-.5-1.6-1.8-4.1-2-4.2l.4 3 1.7 4.7 2 1.2zm7-8.5s-1.2-1.2-3.9-2.3c-2.7-1-5.4-1.2-5.4-1.2l.3.4 1.3 1 2.8 1.5 3.7.9 1.3-.3z"/>
+  <path fill="#202020" d="M348.2 213.8s0 2.4 1.3 3.8c1.2 1.5 4 4 4.6 4.6.6.5 1 3.4 1.9 5.8.8 2.4 1 4.4 1.4 5.1.4.7 1.1 1.8.5 1.7-.5-.1-1-.8-1.4-1.7-.3-.9-.2-.9-.2-2 0-1.3-1.8-7.5-2.7-8.1-.9-.7-4.8-4-6.4-6.3-1.5-2.3-1.2-2.8-1.2-2.8h2.2z"/>
+  <path fill="#202020" d="M354.6 229.3c-.8-1.7-1-3.3-1.2-4.3a16 16 0 00-4.4-4.2c-.6-.3-1.9 0-2.4-.3l-3.7-4s-.5.5-.3.6c.1.1 3.4 3.7 4.6 4.8 1.2 1.2 1.9 3.7 2.7 5.7.9 2 .5 1.6.6 2.5.1 1 .7 1.5 1.3 1.5.6 0 .8-.2.6-.4a10.3 10.3 0 01-2.2-3.5c-.7-1.7-1.5-4.9-2.5-6l-.3-.3 1.3-.2c.8 0 4.1 3 4.4 4 .3.8 0 1.2 1.4 4.2s2 3.7 2 3.7h.2s-1.2-2-2-3.8zm-5.2-19.9s2.5 1.5 3.2 1.7a9.8 9.8 0 001.2.3s.4 4.4 2.1 6.8c1.8 2.5 3.2 3.4 3.2 3.4s0 4.8 1.4 8c1.3 3.3 1.5 7.3 1.2 8-.3.6-1.4-2-2-4.3l-2-6.2a13 13 0 00-2.5-4.4c-.8-.7-.2-.6.3-.2.4.4 1.7 2 2.5 4.5s1.1 5 1.5 5c.5 0 .8-.3.8-.9 0-.4-.6-1.8-1-4.1a17 17 0 00-1.2-4.7c-.4-.6-1-.7-2.4-3.4a20.3 20.3 0 01-2.5-5.3c-.2-1.2 0-1-.2-1.3-.2-.1-.4 0-1.6-.6-1.1-.6-2-2.3-2-2.3z"/>
+  <path fill="#202020" d="M355.7 208.5s1.4 1.2 2.3 1.5c.8.4 2 .4 2 .4s-.3 4.2 1.3 6.9 3.3 4.2 3.3 4.2.3 1 .8 6.8l.7 8.3c.1 2.3.2 10.6-.1 10.3-1.3-1-.2-5.4-.9-7.3-.6-1.8-1.6-2.1-2.8-7.4-1.2-5.2-.4-6.4-1.3-8.3-.9-2-2-2.2-2-2.2s1.6.4 2.3 2c.6 1.6.7 6 1.3 8.2 1.2 4.9 2.9 7.4 2.9 7.4s-.4-6.2-.8-9.7c-.5-3.5-.5-6.4-1.1-7.7-.7-1.4-2.1-2.4-3-4.2-.8-1.8-1.1-5.3-1.5-6.2-.4-.9-.6-.6-1.2-.8-2-.8-2.2-2.2-2.2-2.2z"/>
+  <path fill="#202020" d="M360.1 206.2s1.3 1.5 3.1 2.6c1.8 1 2.8.7 3 1 .3.2-.3 3.8 1.6 7.2 1.9 3.4 2.6 3.5 2.6 4l.6 13.9c.3 3.4.5 14.8-.9 14.8s-.1-8.5-.8-10.4c-.7-2-.7-1.4-1.3-3-.7-1.6-.7-7.8-1.8-11.5-.8-2.8-1.6-3.2-1.6-3.2s1.4.7 2 3c.6 2.2.8 10 1.5 11.1.8 1.3 1.8 2.8 2 4a157 157 0 00-.4-15.6c-.3-1-3.5-6.6-3.7-9.7-.3-3.2-.4-3.5-.7-3.7-.2-.3-1.1 0-2.6-1.5-1.5-1.4-2.6-3-2.6-3z"/>
+  <path fill="#202020" d="M367.3 208c0-.3 1 1.7 3.7 2.8 2.9 1.2 5.6 1 6 1.3.3.3 2 4.5 2.1 10.2.1 5.6-1 5.1-1.8 10-.9 4.9-1 14.8-1.5 16.3-.2.5-.5.8-.8 1.7-.3 1 .2 2.8-.7 2.8-.8 0-1-1.4-1-2.1 0-.8 1-3.5 1-6.2s-.6-3-1-6.2c-.4-3.3-.4-13.5-.8-14.5-.3-1-2.1-3.1-2.1-3.1s1.9 1.2 2.4 2.6c.4 1.3.5 12.7 1 15 .5 2.4.3-.5.5-1.8s.9-7 .8-10c-.1-3-1.4-9.4-2.4-10.5 0 0 .5.6 1.1 2 0 .1.4.5.8.7l1 .5s-.6 0-1-.3c-.4-.1-.6-.4-.6-.4a23.9 23.9 0 011.3 8c.1 5.2-.7 16.4.1 16.5.8.2.7-6 1.5-11.2.8-5 2-5.8 1.6-9.9-.3-4.1-1.4-8.6-2.3-9.2-.9-.5-3.4-.3-5.6-1.8-2.2-1.4-3.4-2.9-3.3-3.2zm-35.8 5.7s.8.4 1.7 0c1-.5 3.5-2.5 3.5-3.3v-1.6s0 .3.7.4c.8.1 2.8-1.4 3-2.4a8 8 0 00-.1-3.1c-.2-.4.6.3 1 0 .4-.4 2.4-1.7 2.4-3 0-1.4-1.1-2.6-1.1-2.6s1 .2 1.6 0c.5-.1 2.5-1.3 2.4-2.4 0-1.2-.7-3-2.3-3.2 0 0 1.2.3 2.3-.1 1-.4 1.5-1 1.5-2.3 0-1.2-2.3-4-2.6-4.2-.4-.2 2.4.8 3-.3.8-1.1.9-1.9.7-2.5-.2-.7-.8-.8-.8-.8s1.2.3 2.8-.5 3-2 3.8-1.9c.8 0-2.3 1.7-2.5 2.6 0 .4.9 1 2.3 2 0 .1 0 .2.2.3.7.3 3 .4 3.3.5.2.2-2.4.1-2.2.3a34.1 34.1 0 015.7 5.4c.1 0 .5.4 1 .5l1.3.3h-1.6a65.3 65.3 0 013.3 4.7c0 .1.4.6.9.8.5.2 1 .1 1.1.2.1.2-1.4 0-1.3.2a82 82 0 013.3 6s-3-5.3-6.7-9.5c-3.8-4.2-4.7-4.7-4.8-4.4-.2.4 2.7 4.1 4.3 6.7 1.6 2.6 3 5.9 3 5.9s-3.7-7.8-9-12.6c-5.2-4.8-5.8-5.5-6.3-5.4-.6.2-1 3.8-.7 4.5.3.7 4.2 3.6 7.4 7.5 3.3 3.8 7.5 10.4 7.5 10.4s-3-4.7-8-10-6.9-6.6-7.3-6.5c-.4 0-.4 1-1 1.8-.6.7-1.8.6-1.8 1s4.2 4.3 5 4.7c.9.5 1.4.3 2 .6l1.4 1-1.6-.5c-.6-.2-1.3-.3-1.3 0s3.5 4.3 4 4.6c.6.3 1 .1 1.7.4.8.3 2 1.1 2 1.1s-1.3-.7-2.1-.8c-.9-.2-1.2 0-1.2.2s2.6 3.6 2.5 3.6c-.1 0-4-4.6-7.3-7.5-3.3-3-4.8-3.6-5-3.5-.2.1 0 1-.9 1.3-.8.3-1.5.4-1.5.7 0 .3 3 3 5 5.4a149.4 149.4 0 014 4.5l-4.5-4.3c-2.3-2.2-3.5-3-3.8-3-.2.2-.2 1.3 0 1.6.2.3 4.6 5.4 4.4 5.5-.1.2-5-6-5.4-6-.3 0-.5.7-.8 1-.4.4-1.8.4-1.8 1 0 .4 7 7.3 6.9 7.5 0 0-5.8-5-6-4.7-.2.3 2.4 5 2.2 5.2-.1 0-3.4-5-3.7-5-.3 0-.2.6-1 1.3-1 .8-2 .4-2 .8 0 .3 4.8 5.7 4.7 5.8-.2.1-5-5.1-5-4.8-.1 0-.4.3-.2.7.3 1.3 1.4 3.6 1.3 3.8 0 0-1.6-3.2-2-3-.4 0-.4.7-1.2 1.1-.7.5-1.3.4-1.3.7 0 .3.8 1 1.2 1.7.4.7.7 2.4.7 2.4s-.5-1.4-1.1-2.3c-.7-.9-1.3-1.5-1.9-1.5s-.8.5-.8.5l-.5-1.2z"/>
+  <path fill="#202020" d="M377 212s1.5 0 1.7-.4c.2-.3-.6 0-2-1.6s-5-12.1-9-17.4c-6.6-8.7-12.7-12.7-12.7-12.7s7.3 4.2 13 12.4c5.6 8.4 7 14.9 8.6 16.6 1.6 1.7 3.2 2 3 2.5 0 .5-.3.8-.9 1l-2 .1.2-.4zm-48-2.2l.3.1c.3 0 2.3-1.9 2.2-2.5 0 0-1-.3-1.6-1-.7-.8-.9-1.9-.9-1.9s.7 1.3 1.2 1.6c.6.4 1.4.6 1.8.3.3-.2 3.2-2.4 3-3.2 0 0-.9 0-1.8-.6-.8-.6-1-2-1-2s.6 1.1 1.5 1.5c.8.4 1.7.3 2 0 .2-.3 2-3 1.8-3.7 0 0-1 0-1.8-.5-.9-.6-1.3-2.2-1.3-2.2s.6 1.3 1.7 1.5c1.1.3 2-.4 2.2-1.2.2-.8.8-3.7-.2-4.5 0 0-1.4.5-2.4 0-1-.6-1.4-1.9-1.4-1.9s.9 1.2 2 1.4c1.2.1 1.7-.5 1.9-1a5.9 5.9 0 00-.1-3c-.4-1-1.1-.8-1.3-2.2 0 0-.3.5-1.8.5s-2.3-1.6-2.3-1.6 1.2 1 2.4 1a1.9 1.9 0 001.6-1.9c0-.7-.6-1.4-1-2.1-.2-.8-.3-1.7-.5-1.6-.2 0-.5.8-2 .6-1.5-.3-1.8-1.3-1.8-1.3s1 .7 2 .7c.8 0 1.3-.5 1.3-1 0-.6-.3-1.7-2.2-3.3a58.1 58.1 0 00-3.5-2.7 21.8 21.8 0 006.6 5.3s1.7.6 2 0c.1-.6.1-1.4-.5-2.4-.5-1-2-2.6-2-2.6s1.6 1.3 2.3 2.7c.8 1.3.4 2.2.5 2.6 0 .3 3.3 1.6 4 1.1.8-.4.5-1.4-.2-2.3l-1-1.8s.7.8 1.2 1.8c.6 1 1 1.7.8 2.1-.2.5-.6.7-.6.9l2.3 1.3c1 .6 2.3 1 2.5.8.2-.4.3-1.1.2-2.2-.1-1-.7-2.7-.7-2.7s.7 1.6.8 2.7-.1 2 .1 2.4c.3.4 1.1.5 1.1.5s-.6.4-2 0c-1.5-.4-7.7-3.6-8-3.3-.3.4 2.9 2.3 4.3 3.7 1.5 1.3 2.2 2.8 2.2 2.8s-1.1-1-2.2-1.6c-1.1-.6-4.4-2.3-4.7-2-.2.2 1.3.5 1.4.7.1.3-1 1.3-1 1.8 0 .4 4.7 3.7 4.5 4-.1.4-1.2 1.3-1.4 1.2-.1 0-2.5-1.8-2.5-1.6s1.4 1.5 1.4 1.7c0 .3-1 .8-.8 1.4.2.6 2.6 2.6 2.6 3.3 0 .7-1.4 1.3-1.1 1.7l1.5 2s-1.4-.9-1.8-1.4c-.4-.4-1.3-1.5-1.5-1.3-.1.1-1 2-1 2.5.2.4 1.3 1 1.5 2.3.2 1.1-.2 2.4-.3 2.4 0 0-1.6-2-2-2.1-.2 0-.6.1-.9.6s-1.2 2.1-1 2.4c0 .3 1.6.7 1.6 1.9a3.4 3.4 0 01-1 2.3l-2.1-2.4c-.2 0-2.2 2.3-2.3 2.6 0 .2 1.4 1.3 1.2 1.7-.3.4-1.3-.2-1.8.1l-1.7.7c-.2 0-.5-.6-.5-.6z"/>
+  <path fill="#202020" d="M355 180l.5-1c.3-.3 1.5-1.7 1-2-.4-.2-2 .3-3 .2-1 0-1.7.2-4.6-2.3 0 0-9.3-6.4-23.6-7.3-4.6-.2-6.6 1.4-6.8 2.2 0 .2 1.2-1.8 5.7-1.7 2 0 16.5 1.1 24 7 .4.3 2.9 2.7 5.2 2.4 2.3-.2 2.8-.5 2.7-.2 0 .4-.7 1.2-.9 1.6a9.2 9.2 0 00-.3 1.1zm-25 2v-.2c-.2-.4-1.1-1.7-2.7-3.1a37.4 37.4 0 00-8-4.3c-.3-.1 6 2.9 7.7 4.5l3 3z"/>
+  <path fill="#d2a567" d="M330 192.2s-.4-.6-1.7-1.4a9.9 9.9 0 00-2.5-1.1l3 .7a4.8 4.8 0 011.1 1.8zm-.8-5.3s-.4-.6-2.1-1.2-2.2-.5-2.2-.5 1.6-.7 2.8 0a2.7 2.7 0 011.5 1.6zm-1-4.5s-.4-.8-2-1.3c-1.5-.6-2.6-.7-2.6-.7s1.6-.4 3.2.2c1.5.6 1.4 1.8 1.4 1.8zm-2-2.8s-.4-.6-3.3-1.3c-3-.7-4-.7-4-.7s4.1-.4 5.2.1c1.1.5 2.2 1.9 2.2 1.9zm-5.3-3s-1.8-.6-3.5-.7-4.4.1-4.4.1 5-.8 6.3-.5c1.4.3 1.6 1 1.6 1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M304.5 238.4s.9 1.6 2.6 1.6c1.8.1 3.1 2.6 3.1 2.6l-1.9 1.9-4.6.2-1.5-2.4 2.3-3.9zm0-1.6c.2-.3-1.3-3.3-2.4-3.8-1-.5.4 1 .2 1.6-.3.6-.4 1.4-.3 1.5 0 0 .9 1.4.4 2-.4.5 2.2-1.3 2.2-1.3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M303.8 241.4s.8.4 1.4.2c.7-.2 1.3-.9 1.3-.9m-3.6-.5s2.6-1.9 2.4-2.9c-.2-1-.7-1-1-.9a7 7 0 00-2.1 1.7c-.1.3.7 2.1.7 2.1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M301 241.5s.6 1.3 1.4 1.3c.8 0 2-.7 2-1.2.1-.5-.8-1.5-1.3-1.7-.6-.3-1.9.4-1.9.4l-.1 1.2z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M303.4 239.8c0 .4-1.7 1.2-2.3 1.2-.5 0-1.6-1.3-1.2-1.5l1.5-.4c.4-.2.5-.8.7-.8.3 0 1 .1 1.1.5.2.5.4.6.2 1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M301.8 240.9s-2.6 3.4-3.7 3.3c-1-.2.5-5 .5-5l1.2.6c.9.2 1.7.6 2 1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M297.2 238.4s3.3.6 3.4 1.1c.2.6-1.5 1.3-2.5 1.3-.9 0-.9-2.4-.9-2.4z"/>
+  <path fill="#202220" d="M289 243.4s.5 1.6 1.9 1.7c1.4 0 2.8-1.5 2.8-1.5l-3.4-1.3-1.3 1.1z"/>
+  <path fill="#4b4139" d="M289 243.4l.4.9c.3.4.7.8 1.5.9h.1c1.4 0 2.7-1.6 2.7-1.6l-3.4-1.4-1.4 1.2h.1l1.3-1 3.3 1.3v-.1l-.2.2c-.4.4-1.4 1.2-2.4 1.2h-.1a1.8 1.8 0 01-1.4-.8 2.8 2.8 0 01-.3-.6v-.1l-.1-.1z"/>
+  <path fill="#202220" d="M290 243s.5 1.2 2.4 1.2 3.3-1.5 3.3-1.5l-3-2.3-2.7 2.6z"/>
+  <path fill="#4b4139" d="M290 243s.5 1.2 2.4 1.3c2 0 3.4-1.5 3.4-1.5l-3-2.5-3 2.7h.2l2.8-2.5 2.9 2.3v-.1a5 5 0 01-3.2 1.4 3 3 0 01-2-.6 2.2 2.2 0 01-.3-.4 1.1 1.1 0 01-.1-.1h-.1z"/>
+  <path fill="#4b4139" d="M290.2 243.3s.9.6 1.8.7c1 0 2.2-.3 2.2-.3l-1.1.4-.8.1-.8-.1-.6-.3-.6-.4v-.2z"/>
+  <path fill="#202220" d="M292.4 241.6s.8 2 2.6 1.8c1.7-.2 1.7-1.2 1.7-1.2l-2-2.8-2.3 2.2z"/>
+  <path fill="#4b4139" d="M292.4 241.6l.5 1c.4.4 1 1 1.8 1l.3-.1c.8-.1 1.3-.4 1.5-.7.3-.3.3-.6.3-.6l-2-3-2.5 2.4h.1l2.4-2.1 1.9 2.7c0 .2-.3 1-1.8 1.1h-.2a2.2 2.2 0 01-1.7-.8 4 4 0 01-.4-.6v-.2a1.5 1.5 0 01-.1-.1h-.1z"/>
+  <path fill="#4b4139" d="M292.6 242s1 1.3 2 1.3a3 3 0 001.5-.4v.1l-.5.3-.8.1h-.8l-.7-.5-.6-.9zm-3.2 2s.8.9 1.5.9a4.7 4.7 0 001.9-.6h.1l-.2.1-.8.4-.9.3-.7-.1-.6-.4-.3-.4v-.2z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M297 238.3c.8-.2 2.4 2 2.4 3.2s-.5 2.7-1.3 2.7-2.6-1.7-3-2.5c-.4-.9-.8-1.4-.5-1.9.3-.4 2.4-1.5 2.4-1.5zm-8 .2s-1.4-1-1.9-.5-.3 2.3 0 2.6c.4.4 2-.8 2-.8l-.2-1.3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M288.8 239.7s-1.8.2-1.8 1 .9 1.6 1 1.8c.2.1 1.8-.7 1.8-.7l-1-2.1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M289.5 241.1s-1.8.6-1.8 1.2.8 1.7 1.3 1.7 1-1 1.2-1.3c.3-.2-.7-1.6-.7-1.6zm.8-5.1s-.3-.5-1-.2c-.8.3-1.6 1-1.5 2.3.1 1.1.6 2 .6 2l2.7-1-.8-3.1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M290.5 238s-2.2.8-2.3 1.7c-.1.9.5 1.7 1 2 .7 0 2.6-1.8 2.6-1.8l-1.3-1.8z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M292.5 241.7s-2.2 1.5-2.5 1.5c-.3 0-1.2-1.2-1-2 .2-.8 1.7-1.3 2.3-1.6.6-.2 1.2 2.1 1.2 2.1zm2-8.2s-.7-.6-2-.5c-1.4.1-2.4 2-2.6 2.8-.2.9 0 2.6.5 2.8.5.3 3.3-2 3.3-2l.8-3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M291.8 240.3c-1-.1-1.8-1.5-1.7-2.3.2-.8 2-2.2 3-2 1 .1.8 2.5.8 2.5s-1.2 1.9-2.1 1.8z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M294.7 240s-.4 1.2-1.4 1.7c-1 .4-1.5 0-2-.7-.6-.8.2-1.2.6-1.6.5-.4 1.7-.7 1.7-.7l1.1 1.4z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M293.2 237.2s-1 .8-.4 1.8 1 1.4 1.8 1.5c.8.1 1.3-.2 1.9-.9.6-.7 1.5-1 1.4-2-.1-.9-.4-1.6-1-1.8-.5-.3-2.2 0-3.7 1.4z"/>
+  <path fill="#202220" d="M296.2 233s-1-.5-1.9 0c-.8.5-1.4 1.5-1.5 2.4l.2 2.3s1.2-.4 2-1c.7-.6 1-.8.8-1.1 0-.2-.4-.4-.4-1.2 0-1.4.8-1.5.8-1.5z"/>
+  <path fill="#4b4139" d="M296.2 233s-1.2-.3-1.9.1a3.2 3.2 0 00-1.3 1.9c-.3.8-.1 1-.1 1v-1.4c.4-.8 1-1.5 1.6-1.7.8-.3 1.7 0 1.7 0z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M328.8 257l1.6-.8 2-1.2.4 2.2-1.8 1.4h-1.5l-.9-.7.2-1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M326.4 257.2h1c1.1 0 1.2-.3 1.4-.3.2.1.5 1.3.5 1.3l-.4.7-1.5.9-1.3-.8-.1-1.8h.4zm12.1-.8s-.3-.5-.9-1l-2.2-1.9v5l2.3-.1 1.1-1.5-.3-.5z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M326.4 257.2s-.4-.5-1.3-.4c-1 0-2 .9-2.1 1.5-.1.7 0 2.6.5 3 .5.4 1.2.5 2.2.3 1-.3 6.4-3.6 6.4-3.6l-1.4.3c-.7.2-1.4-.1-1.4-.1s-.7.8-1.6 1c-.8 0-1-.5-1.2-.9l-.1-1.1z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M330 258.9l-1.2.5-1.3.6.4 1.6 2.3.5 1.4-1.1v-1.6l-1.7-.5zm10.4-1.2l-.8-.8c-.4-.4-1-.5-1-.5l-1.3 1.5v1l1.2.7.9.2 1.1-.8-.1-1.3z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M332.6 257s-1 .4-1.5.8l-1.2 1c0 .2 1.1 1.4 1.1 1.4l1.2.1 2.5-1.7-.2-1.6h-1.9zm9.5 2l-.5-.7c-.4-.4-1-.6-1.2-.6-.3 0-1.3 1.5-1.3 1.5v.4l.8 1 1.6.5 1.1-1.2-.5-.9z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-linecap="round" stroke-linejoin="round" stroke-width=".3" d="M338 260.8l1.2.2s0 .3.3.5c.3.3.3 0 .3 0s.2 1.2 1.4 2c0 0 1.4.6 2 .2.8-.4.7 0 .7 0l2-2.4s0-.5-.5-.5c0 0 .4-1.6-1-2-1.2-.2-2.2.2-2.2.2s-1 1.8-1.6 1.6a2.4 2.4 0 01-.8-.5l-.7-.9s-.4.1-.9-.2c-.5-.3-.9-1.1-.9-1.1s-.7-.1-1-.4l-.5-.8-1.9 1.4s0 .5-1.1 1.3-1.7.8-1.7.8-.4 1.7-1.6 1.4c-1.2-.3-2-1.6-2-1.6s-.9-.2-1.4.6c-.6.7-.9 1-.9 1.7 0 .8.5 1.8 1 2.2.3.3 1.5 1.3 3 .6 1.4-.8.9-2 .9-2l.8-.5c.9-.6 1.8-1.5 2.5-1.7"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-width=".3" d="M335.8 250.8v3.2s.4 2.9-.2 3.7c-.6 1-2.9.7-3.2 0-.3-.8-.2-3.2-.2-3.2l3.6-3.7z"/>
+  <path fill="#f8c83c" stroke="#977c2e" stroke-linecap="round" stroke-linejoin="round" stroke-width=".3" d="M333.3 260.5s-.5.8 1 1c.4 0 .7-.2.9-.4.4-.4.3-.8.3-.8s-.2 1.2 1.2 1.2c1.4.1 1.3-1.3 1.3-1.3"/>
+  <path fill="#202220" d="M321.2 263.1s-.8-1.4.1-1.9c1-.5 1.5 0 2.1 0 .6 0 .4-1.4.3-1.7a3.7 3.7 0 00-.7-1.2c-.2-.2-3.5.2-3.4 2.3 0 2.1 1.6 2.5 1.6 2.5zm5 5.2s-1-1.5-.4-2.4c.5-.9 1-.3 1.2-.4.3 0 .4-.6 0-1.6-.5-1-1.1-1.4-1.4-1.5-.4 0-2.3 1.4-2 3.2a3.5 3.5 0 002.6 2.7zm18.2-1.8s3.5 1.5 3.7-2c.2-2-1.5-3.3-2-3.3-.4 0-.7.3-1.3 1-.7.8-1.1 1.3-.9 1.6.3.3 1.3-.3 1.8.8.7 2-1.3 1.9-1.3 1.9z"/>
+  <path fill="#4b4139" d="M326.2 268.3s-2.7-.6-2.7-3.3c0-1.8 2-2.6 2-2.6s-1.8 1-1.8 2.6c-.1 2.7 2.5 3.3 2.5 3.3zm-5-5.2s-1.6-.3-1.7-2.6c-.2-2.3 3.5-2.2 3.5-2.2s-3.5.2-3.4 2.4c.2 2.2 1.6 2.4 1.6 2.4zm23.2 3.4s.7.3 1.5.3 1.8-.3 2-1.6c.4-1.3.3-2-.6-3.1-.6-.9-1.2-.8-1.2-.8s.6 0 1 .8c.6.8 1.3 1.6.8 3.1s-2 1.5-2.5 1.5a5.5 5.5 0 01-1-.2z"/>
+  <path fill="#904720" d="M302.6 192.4l-.6-.2.4-1 1.9-.7 1.8-.1 2-.1.8.6 1 2.3-3.6 2.2-.6.2-.2-1-.6-1.4z"/>
+  <path fill="#202020" d="M337 245.5l-.3-5.5-14.8 4.6 5.8 5.5z"/>
+  <path fill="#d2a567" d="M309.4 235.9l-1.2-1-1.4-.8h-1.1l-.2.3.2.5 1.3 1.6 2.3 1.2.8.7.5.2-1.1-2.7zm-.3 2.3l.8.2.9 1 .5 1 .7 1.3.2.8-1.6-.3-4.8-1.5.4-1.2.8-.7.7-.3 1-.2z"/>
+  <path fill="#d2a567" d="M312.2 242.2h.8l.6-.5-.3-1.8.3-5.8-3.9-4.6-.8 2.6 1.1 4.7.9 2.8z"/>
+  <path fill="#ab6d29" d="M309.4 231.7s-.2.4.1 2c.3 1.5.9 4.9 2.2 7.2l-1.3-1.9s-2-4.6-1.7-8.2c.3-3.5.7.8.7.8zm2.9 2.9s-.9 1-1 1.9v2.2s0-1 .8-1.3c.9-.3.7 2.3.8 2.6l.5-4.7-1.1-.7zm.4 9.6l-4.4-1c-2.3-1-3.5-1.8-3.4-2.3 0-.6 4 .1 4.6.2l2.4 1h1l1.9-.8.2 2-2.3 1zm-7.3-.8s1 .8.5 1a4.4 4.4 0 01-2.3.3l4.2 1 .9-.7-3.3-1.6z"/>
+  <path fill="#d2a567" d="M304.2 242.2c.2-.2.3.7 1.8.8 1.5.2 2.2-.2 2.2-.2l.7.4.8.2-.7 1.1-2.8-.8-1.5-.8-.5-.7z"/>
+  <path fill="#ab6d29" d="M314 240.3l.8 1 .5-2.4v-2.5l-1.6-1z"/>
+  <path fill="#4d2a15" d="M309.7 236.1l-1.3-2.1-1.7-3.1 1-1.8 1.3 1.8s-.4 1.3-.1 2.5c.2 1.2.8 2.7.8 2.7z"/>
+  <path fill="#d2a567" d="M300.8 244s.6-.9 1.9-1a7.6 7.6 0 012.4.2l2.6 1.4.6.9-5-.7-2.5-.8z"/>
+  <path fill="#8f4620" d="M314 235l.2 4c0 1 .7 2 .6 2.3-.2.4-.4.6-1 .9-.6.2-2 0-2 0s1.3-.2 1.4-.5c0-.2-.4-1.4-.5-2.4 0-1 .1-2.2-.3-2.2-.3 0-.7.4-.8.6 0 0 .4-3.8.8-4.2.4-.4 1.6 1.6 1.6 1.6z"/>
+  <path fill="#ab6d29" d="M304.7 243s-.5-.4-.5-.8c0-.3.6 1.6 3.4 1.5 2.8 0 2.6-.2 2.6-.2h1.3s-.3 1.3-.5 1.4a61 61 0 00-2.2 1.4l-.7.4v-.2l-.3-2.1-2.4-1-.7-.4z"/>
+  <path fill="#8f4620" d="M309.7 236.1s-3.2-3.3-4.3-5.5c-1-2.2-.4-5.2-.4-5.2l3 4s-.4.7-.3 2c.2 1.2 2 4.7 2 4.7z"/>
+  <path fill="#ab6d29" d="M307.6 248.3c0-.3-.2-1 .4-1.8 2-2.4 6.8-4 6.8-4v2.8l-6.2 3h-1z"/>
+  <path fill="#8f4620" d="M308 246c.3-.1 1.4-1 1.4-1.3 0-.4-.7-.4-2.1-.7-1.5-.3-2.6-1-2.6-1s1.7 1.4 2.4 1.7c.7.2.6.5.5.7l.4.6zm8.3.7s-.9-1.3-1.2-2.1c-.3-.8-.3-2.1-.3-2.2l-1 .7-2 .7s2 0 2 .6c0 .7-3 1-3 1 0 .1 2.4-.4 2.3.1-.2.6-1.2.7-2.5 1.2l-2.3 1-.7.5s.6.4 1.5.3c.9 0 2.9-.5 2.9-.5l3.8-1.5.5.2z"/>
+  <path fill="#ab6d29" d="M316.3 246.7s-1-.3-1.8-4.8-.6-5.7-.6-5.7l1.8 1.3 1.7 3-1.1 6.2z"/>
+  <path fill="#8f4620" d="M316.9 239.3s-.9 2.5-.9 4c0 1.4-.1 2.4.3 3.4s1.8 2.3 1.8 2.3l.7-.6.3-2 .1-3.4-2.3-3.7z"/>
+  <path fill="#202020" d="M319.4 242.7s.4 6.3-1.2 6.5c-.7 0-1.9-2.4-1.9-2.5 0 0 1.4 2.3 2 2.1 1-.4.6-6.6.6-6.6l.5.5zm-3.1 4s-.3 0-.7-.8c-.4-.7 0 .6-3.4 1.8-3.4 1.2-4.6.5-4.6.5s1.1 1 4.5 0 3.1-1.3 3.6-1.4h.6z"/>
+  <path fill="#ab6d29" d="M310 238.7s.6.5 1.2 1.7a363.3 363.3 0 001 2h.2s-.4-1.3-1-2.2l-2.2-3.1.8 1.6z"/>
+  <path fill="#8f4620" d="M308 246.5s.3-1.1 0-1.4c-.3-.2-.7 0-3-.2a34 34 0 01-4.2-.9s1.6 1 3 1.4l3.5.8.5.1.2.2z"/>
+  <path fill="#202020" d="M308 246.5l-.2-.5c-.3-.3-.7.1-3.5-.7-2.8-.7-3.5-1.3-3.5-1.3s1 1 3.4 1.5l3.8 1z"/>
+  <path fill="#ab6d29" d="M309.3 238.2s-2.1.1-2.8.7c-.7.5-1.6 2-1.6 2l1.3.1s-.1-1.2.5-1.9c.7-.6 1.7-.7 2.6-.9z"/>
+  <path fill="#8f4620" d="M305.3 234.2s.8 1.2 1.7 1.5c.9.4 1.8.8 2.2 1.2.4.4.9 1.8.9 1.8s-3-1.3-3.7-2a9.6 9.6 0 01-1.1-2.5z"/>
+  <path fill="#8f4620" d="M308.2 235s-.3-.5-1.1-.9-1.4-.3-1.7-.1-.1.2-.1.2l1 1.7.7-.2s-1.6-1-1.3-1.3c.8-.7 2.5.5 2.5.5z"/>
+  <path fill="#202020" d="M316.3 231.1l17-8.7 8 11.1-14.7 4-7.7.6-3.8-2.7z"/>
+  <path fill="#4d2a15" d="M339 235.9l21 18.2-2.3 1.6-5-1.4-10.2-10.1-3.8-3.8z"/>
+  <path fill="#4d2a15" d="M366 250.5l-12-9.1-15.3-11.5.4 5.5 17.4 16 5.7 2.7 3-.8 1.4-1.6-.6-1.2z"/>
+  <path fill="#803f1d" d="M339 237.6s6 6.9 10.6 10.4 9 7.3 10 6.7c.8-.5.5-1 .5-1l-21.3-17.5.1 1.4z"/>
+  <path fill="#4d2a15" d="M353.8 255.1l-2.1 1.7-2.5-1-13-13.2.7-2.5 1.8.3z"/>
+  <path fill="#202020" d="M366 250.5s-1.6 3.8-5 2.9c-3.4-.9-22-18.5-22-18.5v1.8s18.8 17.3 22.5 18c3.6.7 6.6-2.5 6.2-2.8a43.7 43.7 0 00-1.7-1.4z"/>
+  <path fill="#803f1d" d="M336.9 240.4s6 7.7 9.1 10.5c3.2 2.9 6 5 7.2 4.8 1.3-.2-.7-1.7-.7-1.7l-9.1-9-4.7-4.6s-1.8-.7-1.8 0z"/>
+  <path fill="#202020" d="M338.4 240.4s15.2 15.5 16.4 15.9c2.5.7 6.2-2 6.2-2l-1.3-.7-.2.5s-.7 1.6-4 .9c-3.2-.7-16.6-15.1-16.6-15.1l-.5.5z"/>
+  <path fill="#4d2a15" d="M344 255.3l-5.5-6.4-1.2-2.1-.3-2.7 11 11.1-1.5 1-1.4-.4z"/>
+  <path fill="#202020" d="M354.1 255.5s-1.3 2-3.2 1.6a5.4 5.4 0 01-2.8-1.7L337.5 245l-.3-1.6s11.7 12.3 13.7 12.8c1.6.4 2.7-1.4 2.7-1.4l.5.7z"/>
+  <path fill="#202020" d="M348.2 255.1s-.5 1.6-2 1.4c-1.6-.3-2-.9-2-.9l-6.6-7.7-.1-2s6.8 9.3 8.3 9.8c1.6.5 2-1 2-1l.4.4z"/>
+  <path fill="#b07229" d="M341.3 234.9s6.3 5.4 6.8 5.6c.5.3 2.7.4 2.8.7.2.3-1.4 0-1.5.3-.1.4 3.2 3 3.7 3.1.5 0 3.2 0 3.1.4 0 .3-1.8 0-1.9.4 0 .4 2.9 2.7 3.4 2.8.5 0 3.9 0 3.9.4 0 .3-2.7 0-2.7.5.1.6 4.6 3.4 4.4 3.8-.2.4-5.4-3.5-5.5-3.3-.2.2-.4 1.4-.7 1.6-.3.2 0-1.6-.2-2.4-.3-.8-3.4-3.1-3.7-2.9-.3.3 0 1.7-.4 1.7s.1-1.7-.2-2.3a16 16 0 00-3.6-3c-.4 0-.1 1.3-.4 1.5-.3.2-.2-1.5-.6-2-.4-.5-7-6.5-6.7-7z"/>
+  <path fill="#4d2a15" d="M330.5 252.3s0 2.4-1 2.8c-1.1.3-3.1-4.4-3.1-4.4l-.5-4.4 3.1 3 1.5 3zm8.4-1.2V250c0-.6-.3-1.5-.3-1.5l-.2-2.4-.6-1.7-.4-1h-.7l-1.7 1.2-.5 1.6.8 3 .8 2.7 1.3.4 1.5-1z"/>
+  <path fill="#4d2a15" d="M336.8 255.3c.3-.1-.4-3.4-.4-3.4l-2-4.8-.5-1.7-1.5-.6-1 1.2.2 1.9s1.5 3.2 2.2 4.3c.8 1.1 2.3 3.3 3 3.1z"/>
+  <path fill="#202020" d="M335 245a6 6 0 011.4 2.6s1.3 3.6 1.1 4c-.2.3-1 .3-1 .3s1.8 1.8 2.3 1.6c.5-.2.3-2 .1-2.4-.1-.4-.7 0-1-.5-.1-.4-.8-2.7-.8-4.2v-2.7c.2-.3 1.5 3 1.5 4.7l.6.7-.6-3.2-.7-2.3c0-.2.3-.8.3-1.5v-1s.6.5.9.5c.3 0 .7-.4.8-2 .2-1.5-.1-6-.1-6l-6.8 9 2 2.5z"/>
+  <path fill="#202020" d="M335 244.3s-.3 2.4.6 4.8l1.3 3c.2.3.2 2.9-.1 3.2 0 0-1.8-4.4-2.4-6.6-.5-2.1-.7-3-1-3.2l-.8-.2 2.4-1z"/>
+  <path fill="#4d2a15" d="M334.4 257c.2 0 0-1 0-1l-.2-2.3-2.4-4.9-2.6-2.3-1.4-2-.2 4s2 4 3.1 5c1.3 1.2 3.3 3.6 3.7 3.5z"/>
+  <path fill="#202020" d="M324.7 246s.4 1.1.4 1.8v1.4l1.8 3.5c.9 1.5 1.7 3.1 2.4 2.8.7-.4 1-1.5 1-1.7.1-.1-.8 1.3-1.2 1.1a40 40 0 01-2.3-6.6l-1-.8a18.4 18.4 0 01-1.1-1.4zm7 5.5l-1.7-3.1c-.5-1-1.2-1.7-1.4-1.7-.2 0-.5-2-.5-2s.7 1.3 1.6 1.7c1 .5 1.5.8 2 .7l.2 2-.2 2.4z"/>
+  <path fill="#5c3a1d" d="M327.4 248.3s.5 1.4 1.4 2.7c.8 1.3 2.3 2.9 2.3 2.9s-1.6-1.6-2.5-2.8a14 14 0 01-1.4-2.8h.2z"/>
+  <path fill="#202020" d="M332 246.7s.5-1.2.8-1.3l1.2-.3s-.7-.1-1.2-.8l-1.3-1.3.4 2 .1 1.7zm-.4.4s2 4 2.4 5.5c.5 1.3.4 3.4.4 3.4s-.2-1.5-.6-2.7l-2.4-5c-.1-.3.2-1.2.2-1.2z"/>
+  <path fill="#4d2a15" d="M334.2 244.4l.5-6-.5-2.2-2.7-6s-.1.8-.8.8a6.2 6.2 0 01-3.1-1.8 9.2 9.2 0 00-.2 4.8l5.3 9.9 1.5.5z"/>
+  <path fill="#8b441f" d="M323.8 248.3s.8 1 1.3 1c.4-.2.3-2.1-.3-3.2-.6-1-7-9.6-8-10.1s7 12.3 7 12.3z"/>
+  <path fill="#8b441f" stroke="#5c3a1d" stroke-width=".1" d="M328.1 244.8c.2.4.6 3.1-.5 3.4-1.5.3-8.5-9.4-9.6-10.7 0 0-4.4-2.8-4.5-3.5-.1-.7 4.7 1 4.7 1l9.5 9 .5.8z"/>
+  <path fill="#202020" d="M323.8 248.3s-.8-1.3-.9-2.3c0-1-.4-1.5-.4-1.9 0-.3-5.2-7.7-5.7-8.2-.6-.5-2.3-1.4-2.3-1.4a15.5 15.5 0 00.3 2.4s1.6 3 4 5.7a458.4 458.4 0 005 5.8z"/>
+  <path fill="#4d2a15" d="M331.6 247c.7-.3.4-2.7.1-3.5a458.4 458.4 0 00-4.4-9.4l-1.3.4-2.3-1.8-1.4-1.5s.5 2.1.4 3.1v1.6l3.3 5.9 5.6 5.3zm4.7-5.2l1-1.3-.5-4.4-2.8-9.4s-.7.1-1.4-.3c-.6-.4-1.4-1.3-1.4-1.3l.7 5.7 2.9 8 .2 2.3 1.3.7z"/>
+  <path fill="#202020" d="M327.7 244s-2.8-3-3.7-4.5l-1.7-3s-.8.3-1.8 0c-1-.5-2.2-1.8-2.2-1.8s-.8 1.5 3.2 5.6c4.6 4.6 6.2 3.7 6.2 3.7z"/>
+  <path fill="#8b441f" d="M334.4 245c1.2-.4 1.1-5.4 0-8.7-1-3.3-2.9-6.2-2.9-6.2s2.3 5.4 2.8 7.5c.4 2.2 0 3.7-.4 3.6-.4-.1-.4-1.3-1.3-3.4-1-2-1.6-2.6-1.6-2.6s3.3 8.8 2.3 8.6c-.9-.2-5.3-9.9-5.5-10.2-.2-.2-.4.4-.4.4s4 12.2 7 11z"/>
+  <path fill="#4d2a15" d="M337 221.3l2 4.2.6 4.4.2 3.7s0 7.4-.8 7.6c-1 .1-1.4-.7-1.4-.9a2729 2729 0 01-1.7-8.3l-1.7-8.5.6-.6.2-1.2 1.3-.1.7-.3z"/>
+  <path fill="#8b441f" d="M331.6 247c.8 0 0-2 0-2s-.6 1-1.2.3c-.5-.7-1.3-3.1-1.3-3.1l-.5-1.5s-.6 1.6-1.3 1.6-4.6-6.4-4.6-6.4l-.4.6s5.4 11.1 9.3 10.6z"/>
+  <path fill="#202020" d="M329.1 242.2s.7-1.6.4-3c-.3-1.5-2.2-5.1-2.2-5.1s-.6.1-1.4-.2a9.6 9.6 0 01-2.2-1.2 38.3 38.3 0 005.4 9.5zm3.1-2.3s-.5-3.4-2-6.6c-1.6-3.1-2.6-4.1-2.6-4.1v3.5s1.5.5 2.6 2.4c1 2 2 4.8 2 4.8zm4.3-5.8s-.3-3.7-.8-5.8l-1.2-5s0-.2.3-.4h.6c.8.3 1.1 2.2 1.1 2.2l-.1-3.1-.3-.5h-1.4s.3 1-.1 1.3c-.3.3-.6-.2-.7-.3l-.2.4.4 2-.1 1.7s.5 2.2 1.2 3.5c.6 1.4 1.3 4 1.3 4zm3.3-.5s.6-5.3-.6-8.7c-1.2-3.4-2.2-4.2-2.2-4.2l-.6.6s1.8 3 2.4 5.6l1 6.7zm-5.4 2.7s-.6-4.1-1.3-6.8a82.8 82.8 0 01-1-3.6l-1.1-1s.7 2.7.6 3.6l-.1 1.4s.5 1.4 1.3 2.6a25.5 25.5 0 011.6 3.8z"/>
+  <path fill="#904720" d="M337.2 242.9c1 0 .1-6-.3-7.5-.4-1.6-3-8.8-3-8.8s3 10.3 2.8 10.8c-.3.8-1.5-3.1-1.7-3-.2 0 2.2 6.9 1.3 7-.8 0-1.3-1.5-1.3-1.5l.1 1.5s.6 1.4 2.1 1.5z"/>
+  <path fill="#904720" d="M338.5 239.9c.7 0-.2-5.7-.7-8.2l-2-7.5s1.5 3.5 2.3 7.5c.8 4 1.4 9 .6 9.2-.8 0-1.2-.8-1.2-.8v-.9s.3.7 1 .7z"/>
+  <path fill="#312317" d="M328.8 246.5c0 .4 0 2.4-1 2.2-1-.1-2.9-1.9-3.3-3 0 0 2.2 2.5 3 2.4.8 0 .8-2.5.6-3.2 0-.6.6 1.6.6 1.6z"/>
+  <path fill="#d2a567" d="M334.1 219.5s1.4.9 2.4.3a4 4 0 001.8-3c0-.8 0-1.5-.7-2.4-.7-.9 1 .7 1 2.3 0 1.6 0 4.3-2.5 5-2.5.5-1.4-.2-1.4-.2l-.6-2z"/>
+  <path fill="#8f4620" d="M332.1 214.7s1.6 2.6 2.2 5c.7 2.3.5 3.2.2 3.3-.4 0-.6-.3-.7-.9 0-.6-1.7-7.4-1.7-7.4z"/>
+  <path fill="#1e2121" d="M304.1 218l10.6 15.3 13.2-15-8.3-8.6z"/>
+  <path fill="#4d2a15" d="M317.5 208.5l-.6 2.4 1.3 4.1 2.2 2.3 2.5 1.7.6-2 .6-2.2.7-.2 1.6.6 1-1.5 1.8-3.1-.4-1.2-.4-.9-2.7-4.6-.9 1.7-.8.5-1.6-.8-1.8 2.4-2.3-1z"/>
+  <path fill="#5c3818" d="M323 219s.4-.3.6-1.6c.2-1.2.2-4.9-.1-6.4-.3-1.5-1.3-4.4-1.5-4.2-.2.3 1.5 3.3 1.3 7-.3 3.6-.2 4.6-1 5-.7.3.6.2.6.2z"/>
+  <path fill="#5c3818" d="M323.6 212.8s1.7 2.5 2.5 1.6c.9-.9.5-4 0-5.3l-1.2-3 .5-.6.9 3.4c.3 1.4 1.3 5.2.1 6-1.1.6-2.8-1.5-2.8-1.5v-.6z"/>
+  <path fill="#8f4620" d="M317.9 214.6s.6-1 1.4-1c.8 0 1 .3 1 .3l.6 2 1.2 2.2 1 1-.5.6-.9.2-2.5-1.4-.7-1-.6-3z"/>
+  <path fill="#d2a567" d="M322 236.3c-.8.5-2.7-.5-3.7-1.4l-6.8-6.7-.8-3.2 2.2.6 3.9-1.7.7-1.3 4.6-2.4 2.6-1.4 5.5-.1 1.4-2.7s1.8 3.2 2.1 4.5c.4 1.4.3 5.4-.2 5.7-.5.3-2.3-1.2-2.6-1.3-.2-.1 1.4 5.7 0 6-1.3.2-3.6-2.2-3.6-2.2s1 5.2-.2 5.2a10 10 0 01-5-2.6s1.3 4.3 0 5z"/>
+  <path fill="#8f4620" d="M321 229.6l1.1 1.7c.3.4 0 2.9-.2 3.4-.3.9-1.6-1.2-2.3-3l-2.2-3.8c0-.4 3.5 1.7 3.5 1.7zm10.8-12.9s2 8.1 1 8.4c-1 .3-3.6-2.6-4-3l-4-6.4-.8-.8.2-.4 1.7.6 6 1.6z"/>
+  <path fill="#8f4620" d="M317.9 232.3c-.4.3-1.3-1-1.7-1.4l-3-3.3a11.5 11.5 0 01-2.2-2.5c0-.3-.8-1.1-.8-1.1l.7-1h.9s5.4 4.2 5.7 5c.4.6.6 4.1.4 4.3zm8 0c-.2.3-3.7-2.3-5.2-4.4-1.5-2.2-3-4-3.5-5l-.6-1.9 1 .2s8.8 10.8 8.4 11.2zm1.3-3.7c-.2.3-1.7-.9-2.7-2.1-1-1.3-.4-2.9-.4-2.9s3.3 4.8 3.1 5zm2-.5c-.5.3-2.5-2.2-4.2-5-1.3-2-1.6-2.3-1.8-2.5-.5-.3-1.4-.4-1.4-.4l-.2-.3 1-.2.6-.8 1-1.3 4.3 8.5s1 1.9.7 2z"/>
+  <path fill="#ab6d29" d="M318.3 234.9c0 .3 0 .6-1.2.5a21 21 0 01-9.9-7.8l-3-5 1.1-1.4 9.6 11 3.4 2.7z"/>
+  <path fill="#8f4620" d="M318.3 234.9c0 .5-.5.6-1.1.5-.6-.2-3-1-6.9-5.3a33.3 33.3 0 01-5.3-7.4l-.2-1.8 1.2-.5 6.5 10 5.8 4.5z"/>
+  <path fill="#4d2a15" d="M324.6 230.6s-2-1.5-3.2-3a24 24 0 01-3.8-5.7c.1-.7 1.2-.7 1.2-.7v-1.8l.2-.6 1.9.8 2.3 2.9.9 1.1s1.5 3.7 1.2 4c-.3.3-2.4-2-2.7-1.7-.3.3 2.4 4.4 2 4.7zm-3.7-1s.7 1 .4 1.7c-.3.7-.5 1-1.5-.4a16 16 0 00-2.3-3c0 .1.1 2.3-.3 2.3-.5 0-2-1.9-3-3.3l-2.5-3.9v-2l-.1-2.5.3.9.4.7 3.6 4.2 1-.7 2.1 4 2 2zm-13.5-6.1s2.8 4.8 5.3 7.5a17.4 17.4 0 005.6 3.9l-8.4-9.9-2.5-1.5zm21.2 2.8a12 12 0 01-3-3.4c-1-1.6-1.9-4-1.8-5 0-1 .4-3.4.4-3.4s2.8 3 3.4 4.3c.5 1.4 1.7 3.3 1.4 3.5-.2.2-2.1-1.3-2.4-1-.2.4 2.3 4.8 2 5zm3.2-3c-.3.1-1.8-1.6-2.1-2.6a14.8 14.8 0 01-.6-3.2l-1.2-3v-3.3l1.4-.2 1.9 2.7s.7 1.5.7 3.7c0 2.3.3 5.6 0 5.8zm-22.5 8a41.8 41.8 0 01-4-6l-1-2.9.5.4s.8 3.2 4.7 7.1c4 4 4.9 4.2 4.9 4.2s.7 2.2.4 3c0 0-2.9-2.6-5.5-5.7z"/>
+  <path fill="#202020" d="M313.6 235.9s-3.4-3-6-6.4a46.6 46.6 0 01-4.4-6.6l1.2-1a46.3 46.3 0 009.2 14zm4.7-1l-6-6.1c-2-2.2-3-4.4-3-4.4l1.6.6s.7 1.7 2 3.5l5.4 6.4zm-.8-7s-2.1-2.6-3.1-4.2l-2-3.8s2.8 3.3 3.6 3.5c.9.2.9 0 .9 0s-.4 1.2-.1 2.2l.7 2.3zm.9-10.6s.3 1.9.1 3c-.2 1-.8 1-.8 1a15.7 15.7 0 004 4l-1.8-2.7c-.5-1-1.3-2-1-2.8.4-1 2.1.6 2.6 1l2.6 2.8s-.8-2.5-1.8-3.4a53.6 53.6 0 00-4-2.9z"/>
+  <path fill="#202020" d="M327 222.8l-1.7-4.2-1.6-5.2v2.8c-.1 1.2-.5 3-1 3.3-.6.2-.7.3-1.7 0-1-.2.7.5.7.5s1 0 1.4-.5c.4-.5.5-1.5 1-1.4.4.2 1 1.7 1.3 2.4l1.6 2.3z"/>
+  <path fill="#202020" d="M323.7 213.4s2 2.3 3 1.3c.8-1 .3-4 .3-4s1.2.5 1.6.2c.4-.4.2-1.5.2-1.5s2.3 3.2 3.3 5.3c1.1 2 1.6 5.8 1.6 5.8s-1.8-3-2.7-5.8c-.9-2.6-2.1-3.8-2.3-3.5a5.3 5.3 0 00-.3 3c.2 1 1 2.1 1.5 3.5l1.1 3.4-1.6-2.5c-.7-.8-1.3-1.2-1.7-1.6-.4-.4-1-1.2-1.7-1.4-.6-.3-1.8-.9-1.8-.4s-.3-1-.3-1l-.2-.8z"/>
+  <path fill="#171717" d="M316.8 223.3a27 27 0 004.2 6.3s-2-1.8-2.8-3a15.5 15.5 0 01-1.4-3.3z"/>
+  <path fill="#8f4620" d="M330.2 223.9c-.3 0-1.3-.3-1.4 0 0 .4.6 1.8 1.3 2.5.7.7 1 .7 1.1.6.2 0 0-.7-.2-1.4v-1.7c-.1-.3-.8 0-.8 0z"/>
+  <path fill="#d2a567" d="M306 209.4l-1.3.7-1.4 3 .4 5.3 2.1 3c.8 1.2 3.5 4.2 4.2 4 .7-.2 1.4-2.3 1.5-3.4l.2-3.2 1.8 2.3c1.1 1.3 2 2.4 2.6 2.3.5 0 2-3.2 2-3.6.1-.4-3.8-10-3.8-10l-1.8-1-6.6.6z"/>
+  <path fill="#ab6d29" d="M314.8 217.4l1 3.7c.5 1.2 0 2.3.3 2.3.2 0 2.3-2.7 2.3-4 0-1.2 0-2.5-.5-6.3s.2-5 .2-5l-1.2-1-2 4.2-.1 6.1zm-7-2.2l.7 5c.3 1.2 1 3.3 1.4 3.2.4 0 1.6-3.3 1.7-4.4 0 0-.9-1.6-.8-5.5 0-4-.4-4.4-.4-4.4l-2.6 6.1z"/>
+  <path fill="#45392d" d="M302.5 207.5s-3.1 4.6-3 7c0 2.5.4 2 1.1 4.2.7 2.3 1.1 5.6 1.2 5.9 0 .2.5-.2.5-.5l.2-16.6z"/>
+  <path fill="#ab6d29" d="M302.5 208s-2.7 4.3-2.5 6.6c.2 2.3.5 2.3 1.3 4.4.8 2 .8 5.4.8 5.4s1-.2 1.9-.9c1-.7 1.8-2.1 1.8-2.1l-1-2.1a8 8 0 01-.6-2l-.8-1 .2-4.1.7-3v-1l-1.8-.1z"/>
+  <path fill="#dbad6c" d="M317.2 215.3s-1.3-.3-1.9-.6c-.6-.3-.8-1.1-.8-1.1l.4-.8 2.3 2.5z"/>
+  <path fill="#d2a567" d="M303 208.5s-2 4.3-1.7 7.2 1.9 6.6 2 6.7c.2 0 0-.3.1-1v-8.7l.9-2.8v-1.5l-1.3.1z"/>
+  <path fill="#8f4620" d="M307.8 209.5s.3 1.2.1 1.8c-.2.5-1.2 1.2-1.6 2-.5.8-1 2.8-1 2.8s.4-1.1 1-1.8c.7-.7 1-1.2 1-.8.2.4.4 2 .3 2.3-.1.3-.7.8-1 2-.4 1.3 0 2.4 0 2.4l.5-2.2c.2-.6.7-1 .7-1l1 2.4s0-1.1.3-2c.1-.8 1-2 1.3-2 .3 0 .8-.1-.3-.7-.4-.2-.1-4.2.1-4.4.3-.2 1.9-.2 1.7-.8a11 11 0 00-1.6-2.2c-.1-.1-2.5 2.2-2.5 2.2z"/>
+  <path fill="#dbad6c" d="M317 218.1l-1.5-.3c-.5 0-.6-.6-.6-.6l.2-.6 1.2.7.7.8z"/>
+  <path fill="#8f4620" d="M304.4 218.6c0 .4-.3.9-.5 1.5-.3.7-.4 1.6-.4 1.6l-.4-3.3-.3-2.4c-.2 0-.7.7-.7.7s0-1.6.3-2.3c.3-.7.5-1.8.3-2-.3-.1-.8.3-1 .7a30.8 30.8 0 00-.8 1.3s.3-1.3.6-1.9c.3-.5 1.8-2.2 2-2.8.4-.7.4-1.4.4-1.4h1s1 .8 1 1.5c0 .4-1 .9-1 1 0 0-.8-.1-1 3.2-.2 3.4.6 3.2.5 4.6zm9.4-8.7s.2 1.8 0 2.4c-.2.6-.7 1-1.1 1.8-.4.7-.4 2.4-.4 2.4l.5-1.4.7-1c.1 0 .6.7.8 1.7l.8 2.5s-.2-1.2.1-1.2.5-.1.9.2l.9.8s0-.5-.7-1.1c-.6-.7-1-.6-1.1-1.5-.2-1-.3-1.8-.2-2.2 0-.3.5.3.9.7l1.5 1.4-.7-1v-3c0-1 0-1.9.4-2.1.3-.3.4-1.6.2-1.8-.1-.2-3.5 2.4-3.5 2.4z"/>
+  <path fill="#1e2121" d="M324.6 206.1a23.7 23.7 0 001.5 7.1s-1-2-1.6-3.6-.9-3.5-1.3-3.6c-.4-.2-1 .8-1 1.5s.5 3.3 1.1 4.2c.6 1-1-1.2-1.3-2.3l-.7-2.2s-.4 1-.3 2c.2 1.1 1.1 2.7 1.1 2.7l-1-1-.6-.7s0 1.5.4 2.1l1.2 1.7-1.3-1-.4-.8s.2 2.1.6 3.3l1.5 3s-1.2-1-2-2.9c-.8-1.8-1.2-7.3-1-8.1l1.1-1.9c.6-.8 1.3-4.7 1.3-4.7s.9 3.6 1.5 4.3c.6.7 1.2 1 1.2 1zm-8.6-1l.8 1.3.6 1s-1 1.1-2.3 2c-1.2 1-2.8 2-3.1 1.5-.4-.5-.4-1-.4-1s1.4-.8 2.4-1.8a6.6 6.6 0 001.6-2.2c.2-.6.5-.9.5-.9zm-10.9 3.5s.2 2.2 1.2 2.2c.9 0 3.7-2.9 3.9-3 .2-.1.4-.8.4-1l-.2-.8s-3 3-4 3.2c-.9 0-1.3-.6-1.3-.6zm.1-3l-.3 2c0 .5.2.9.2.9s-2.2.7-2.5 0c-.4-.6-.1-1.6-.1-1.6h1.5c.6-.2 1.2-1.3 1.2-1.3zm20.3-3.1l1.5 3.2 1.4 2.8s-1.4-1.7-1.9-2l-1.2-1 .2-1.1v-2z"/>
+  <path fill="#dbad6c" d="M302.1 207h1.3c.5 0 .8-.2.8-.2l.9-1.2s-.5 1.4-.2 2.5c.3 1 1 1.1 1.2 1.1a4 4 0 002.2-1.1c.9-1 2.1-1.9 2.1-1.9s-.3 1.3.2 2.7c.5 1.3 1.2 1.3 2.2.4 1-.8 2-2.2 2.6-2.8l.7-1 1.1-1 1-5.4-.5-.7-1.4.7-1.7-.7-.5-.7-1 1.7-1 .6-.5.1-1.2.3-.5-1.1-.3-.8-.6-.3-2.4 2.5-1.4-.1-1.3 2.2-1 1.3-1 2.4.2.5z"/>
+  <path fill="#8f4620" d="M313.9 201.5s.2 1.3-.5 3.6-1.6 3.9-1.6 3.9 2.4-1.5 3.6-4.2c1.1-2.6.9-5.7.9-5.7l-2.4 2.4zm3-2.5s.2.4 0 2.4l-.8 4 .6 1.2c.4.7 1.2 1.8 1.7 1.6.6-.2 1.6-.9 2.2-2.2.6-1.4 1.1-2.7 1.4-2.9.2-.2.3.1.4.2 0 .1.3 1.3.9 1.8.5.5 1.3 1.3 1.6 1 .4-.2.8-.9.7-1.2l-1.3-4-1.6-4-1-1.6-2.8.3-2 3.4z"/>
+  <path fill="#ab6d29" d="M321.7 195.3s.8 1.7.9 3.6c0 1.8-.4 3.8-.4 3.8s.2-2.3 0-3.7c-.3-1.4-.7-2.3-.7-2.7l.2-1z"/>
+  <path fill="#4d2a15" d="M325.6 202.6v2.3c-.2.8-1.3-.5-2-3-.6-2.5-.5-3-1-4.3l-.9-2.2 1.5-.3 2.4 7.5zm-7 4.6s2.8-1.5 3.1-6.2c.2-2.1-1.2-5.7-1.2-5.7s0 3.8-1 6.2a60.9 60.9 0 01-1.9 4s.7-.2 1-.6l.8-1.1s.1.7-.1 1.6l-.6 1.8zm-2.3-8.1s-.1 1-1.3 2c-1 .9-3.1 1.9-3.1 1.9s1.5-1.4 2-2.6c.6-1.2.1-2 .1-2s-.2.6-.8 1.1c-.6.5-1.6.6-1.6.6s0-.6.7-1.3c0-.1 0-.4.2-.7.3-1 1.1-2.3 1.1-2.3s.7 1.4 1.3 2l1.4 1.3z"/>
+  <path fill="#1e2121" d="M324.7 193.6a17.6 17.6 0 00.9 9s-1.4-2.2-1.7-3c-.4-1-.4-2.3-.7-3a3.2 3.2 0 00-1-1c-.3-.2-1-.1-1-.1s.8-.4.8-1.1v-1l1.4.3h1.3zm-6 9.8s1.4-2 1.8-4.6c.4-2.6 0-3.5 0-3.5s-.6 0-1.1-.5c-.5-.5-1.3-1.8-1.3-1.8s.2 1.4 0 3c-.4 1.6-1.8 3-1.8 3s.8.4 1.4 0c1.5-.9 1.4-2.5 1.4-2.5s.3.2.3 2.2-.7 4.7-.7 4.7z"/>
+  <path fill="#8f4620" d="M301.2 206.9c-.3 0 1-2 1.8-3.4l2.1-3.4s.3.3.8.3a3.6 3.6 0 002.4-1.7 7 7 0 001-2.5c0-.3-.1 1.8 1 3 1 1.1.9 1 1.3 1 0 0 0 1.4-.4 2.7l-.8 3.3s.2-2.5-.3-3.2c-.4-.8-.6 0-1 1-.3.9-1.1 1.5-1.1 1.5s.6-1.1 1-2.3c.4-1.2.2-1.2 0-1.2 0 0-.2-.1-.6.4-.5.5-.9.6-.9.6s.5-.4.7-1a6 6 0 011-1.8c.2-.3.4-.7.4-1 0-.2 0-.7-.2-.7s-.5.3-1.4 1.2l-1.3 1.3-.9 2.6a17 17 0 01-1 2.8l-.6.4.9-2.4 1-3.4c-.2-.3-.7-.3-.8 0l-2 2.8c-1 1.4-1 3.1-1.2 3.2l-1-.1z"/>
+  <path fill="#874f20" d="M325.7 192.1c0 .2 0 1.2-1 1.5a3.5 3.5 0 01-2.3-.2c-.2 0-.2-1.4-.2-1.4l3.5.1z"/>
+  <path fill="#b27129" d="M306 195.4s-.2.9-.8 2c-.5 1.2-1.4 2.2-1.3 2.4 0 .1.6.7 1.4.6.8 0 1.1-4.8 1.1-4.8l-.1-.2h-.3z"/>
+  <path fill="#dbad6c" d="M318.4 192.7s-.3 6.4-2.1 6.4-2.7-3.2-2.7-3.2-.1 4.3-2.4 4.3c-1 0-2.1-3.4-1.9-4 0 0-.4 2.3-1.5 3.2-2.2 1.7-3.5.9-3.6.6 0-.3 1.8-2 2-4.6 0 0 .4.1 1-.6s.7-1.6 1.3-1.5c.5.2 3-1 3-1l1.4-1.7s.2.5 1.2-.2a3.6 3.6 0 001.3-1.7l2.7 2.3.3 1.7z"/>
+  <path fill="#b27129" d="M311.4 186.6l2.7 3.8.6-.5c.4.5.6.9.4 1.2-.4 1-1.3 2.3-.5 3.7 0 0-.3-.8.1-1.8s.7-1.4 1-1.3c.2 0 .6 5.8 1 5.8.3 0 .9-2.7.9-4.5 0-1.8.3-.3.5 0 .2.4 1.8 3 3.1 2.6 1.4-.4 1.2-2.8 1.2-3.3 0-.6-1-3.7-1-3.7l-6.1-3.9-.5 1.6c-.3 1-3.4.3-3.4.3z"/>
+  <path fill="#8f4620" d="M320 186s.4.4 1 1.9.7 6.4-.1 6.4c-.8 0-2.3-1-2.6-1.6-.3-.7 0-3.1-.4-3.8a8.1 8.1 0 01-1.2-2.7l.1-2 1.4-.5 1.9 2.3z"/>
+  <path fill="#4d2a15" d="M319.6 184.5l2.6 3.9 2.3 3.3 1.2.4a2.5 2.5 0 01-3.2.5c-.9-.5-.4-2-1.5-4.5-1.2-2.5-3.2-3.6-3.2-3.6l.7-.7 1.1.7z"/>
+  <path fill="#1e2121" d="M318.2 182.4s2.3 1.5 3.1 3.2c.9 1.7 1.3 2.7 2.3 4.3 1 1.6 2.1 2.1 2 2.2 0 .1-.7.3-1.2 0a4.7 4.7 0 01-1.4-1.6 35 35 0 00-2.4-4.2c-.5-.7-2.3-2-2.3-1.9 0 .1.5.5 1.5 2.1a7 7 0 011.2 3.1l-1.1-2c-1-1.5-2.8-3.3-2.9-3-.1.2 1 1.9 1.5 2.9l1.3 3.3-1.8-3c-1-1.5-1.2-1.3-1.6-1.8l-1.4-1.8s1 .3 1.8-.3c1-.6 1.4-1.5 1.4-1.5z"/>
+  <path fill="#8f4620" d="M312.3 186.7s1.5.3 2.3.2h1.1s.5.6.5 1.4c0 .7-.5 2.1-.8 2.2-.2 0-.2-1.3-.5-1.8l-2.6-2z"/>
+  <path fill="#b27129" d="M313.1 190.6s.5 1.6.1 3.9c-.4 2.2-1.7 4.6-2 4.6-.3 0-.2-2.6-.4-4a38.8 38.8 0 000-.4l-.5 1.6.4-2.6-.1-.8 1.6-2 .9-.3z"/>
+  <path fill="#8f4620" d="M310.3 192.3c-.5.5-1.2.4-1.8.6-.6.2-.9 1-.9 1s.5-.3.7-.2c.3.1.5.1.1 1.2-.5 1.1-2.2 3-2.1 3 0 0 2-1.5 2.5-2.5.7-.9.6-1.4.8-1.8 0-.3.8-.7 1-.7.1 0 .5 0 .6.7l.6 2.6.8-2.6c.2-1 .2-2.9.2-2.9l-.6-.1c-.5-.1-1.5-1-1.5-1s.2 2-.5 2.7z"/>
+  <path fill="#dbad6c" d="M318.3 180.8s.6 1.5-.7 2.6c-.4.3-.7.5-1.4.6a4.5 4.5 0 01-1.7-.6l-4-1.6-2-.6-1-.3.2-1.1h3l3 1.2 1.3.5 1.1.2h.9l.7-.2.4-.3.2-.4z"/>
+  <path fill="#ab6d29" d="M318.3 180.8c0 .3-.3 1.1-.6 1.3-.3 0-.8.3-2 0-1.1-.2-2.3-1-3.6-1.3-1.3-.4-2.3-.7-3.3-.7s-.5-.4-.5-.4 2.3-.3 4.3.5c2 .7 2.9 1.2 4 1.2 1.4 0 1.7-.6 1.7-.6z"/>
+  <path fill="#4d2a15" d="M307.6 179.6h.9c.4 0 .7-.3.7-.3s0 .5-.2.7c-.3.2-1 .1-1.2.1l-.2-.5z"/>
+  <path fill="#dbad6c" d="M315.3 184.4s1.3 1.3 1 2.4l-2.7-1.2-4.2-1.7-2.3-.7-.3-.4.6-.8.2-.8 2.8.4 3 1 1.9 1.8z"/>
+  <path fill="#dbad6c" d="M312.4 186.3s2.4 3.1 1.8 4.1l-5.6-3.5-2 3.3-4.7-2.3s3.8-3 4.2-3.5l.5-.7 2 .4 3.4 1 .4 1.2z"/>
+  <path fill="#ab6d29" d="M311 181.6s2 .5 3.3 1.2c1.3.6 3 .8 3 .8s-.6.7-2 .8c-.4 0-1.4-.8-2-1.3-.7-.4-2.6-1-2.6-1l.3-.5z"/>
+  <path fill="#4d2a15" d="M307.6 180.6s1.4.3 2.2.7c1 .3 1 .2 1.2.1.3 0 .3-.2.3-.2s.2 1-.5 1-1-.3-1.8-.7c-1-.4-1.5 0-1.5 0v-1z"/>
+  <path fill="#ab6d29" d="M315.4 186s1 .7.9.9c-.2 0-.7.3-1.6.4a3.4 3.4 0 01-2-.4c-.6-.2-1-1.3-2.5-2a18 18 0 00-2.8-.9l-1.3-.2 1-.4 3.2.6 2.8.9 1.7.8.6.4zm-5.4 2l.6 2.6-.4 1.5-.8.6-.8-.3-.3-.5s.4-.6 0-1.1c-.3-.6-2-1.2-2-1.2s.7-1.3 1.4-1.6c.8-.3.4-1.2.4-1.2l1.9 1.2z"/>
+  <path fill="#4d2a15" d="M306.8 182.8s.5.4 1.5.5c.5 0 1.3.2 2.2.5l1-.3-.5.4c.9.2 2 .7 2.5.9a5.8 5.8 0 012 1.3l-2-1a17.4 17.4 0 00-3-.9c-2-.3-4-.2-4.3-.4-.4 0 .1-.1.4-.3.2-.2.2-.7.2-.7z"/>
+  <path fill="#ab6d29" d="M314 189.8s.7.7 0 .9c-.6.2-2.4.2-3.2-.7l-.6-1.2a14 14 0 00-2.4-1.7c-.7-.5.3-.5.3-.5l3.6 1.5a13 13 0 012.3 1.7z"/>
+  <path fill="#4d2a15" d="M314 189.9s-1.2-1.8-4.9-3.3l1.2-.2h-2a24 24 0 00-.8-.3c-2-.6-2-.6-2.2-.8-.1-.3-.4 0-.6.3l-.7 1a5 5 0 012.5-.1c1.1.3 1 .7 1 1-.1.5-1.4 2-1.3 2.1.2 0 1-1.5 2-1.3 1 .3 1.2.8 1.2.8s0-.6-.2-.8c-.2-.2-1.3-1.3-1-1.3.3 0 1.6.3 3.3 1.2 1.8.9 2 1.1 2.6 1.7z"/>
+  <path fill="#dbad6c" d="M308.1 187s2.8.8 2.7 3.8c-.1 3-2.3 2.4-2.5 1.3-.2-1 .3.5 1 .4.9-.2 1-1 1-2.2 0-1-.3-1.6-1-2.2a12 12 0 00-1.2-1z"/>
+  <path fill="#6c3f18" d="M296 179.9s.4.2-.4 2.3c-.8 2.1-1.3 2.8-2.5 4.2-2.2 2.4-3.2 2.5-3 3.5.3 1 1.1.8 1.3.8.2 0 4.3-6 4.3-6l.9-3.5-.2-1-.3-.3z"/>
+  <path fill="#dbad6c" d="M306.1 175.6s1.2 1.8.8 5c-.3 3.4-4.7 6.3-4.7 6.3l-6.4 4.4-2.7-.2h-.8c-.4-.1-.8-.5-.9-.5l-.5-1.2.9-1 2.3-2.3 1.4-2s.7-1.3.8-2.5c0-1.1-.2-1.7-.2-1.7l.5.8.3 1.8-.2 2 1.6-1.2 2.2-1s.7 0 1-1.3c.5-1.2.9-3 .9-3.8l-.1-1.8h.3c.2 0 .7 1.2.7 1.7l.4 2.8 1-1 1-1.5c.2-.5.4-1.3.4-1.8z"/>
+  <path fill="#904720" d="M306.8 192.2s.5.4.3 1.6c-.2 1.2-1.1 1.8-1.6 1.8V194l-1.4-1.2-1.5-.4.3-.3c.1-.2 1.7-.8 1.7-.8l2.2.9z"/>
+  <path fill="#ab6d29" d="M305.7 192.2s.5.4 1.2.3c.7-.2 1-1.3.6-1.8-.4-.4-.2 1-.7 1.3-.4.1-1-1.2-1.5-1.3-.7-.1-1.6.3-1.9.7-.2.4 1 0 1 0l.7.3h.5l.1.5z"/>
+  <path fill="#904720" d="M296.5 187.6s.8.3 1.7.1l3.1-1 1.8-1.3c.7-.7 3.1-2.2 3.4-5.1.2-3-.4-4.7-.4-4.7s3.5 3.8.5 8.2c-2 2.8-3.8 3.7-3.8 3.7s3.4-1 3.7-.2c.3.8-.1 2-.2 2.3 0 0 1.9.4 2.2 1.4.1.6-2.2-.7-4-.2-1.8.4-2.5 1.4-2.5 1.4s-.4-.5-2-.5c-1.5 0-2.2.7-3.1.7-1 0-3.7-.6-4.2-1.4l1.8-2.2c.8-1.6 2-1.2 2-1.2z"/>
+  <path fill="#ab6d29" d="M303.8 179.7s1.3-1.3 1.8-2.3c.4-1 .5-1.8.5-1.8s.2 1-.6 2.3-1.7 2-1.7 2v-.2z"/>
+  <path fill="#904720" d="M303.4 176.7s1.1 4.4 0 6.1c-1.3 1.8-6.5 4.1-6.5 4.1s4-2.1 5.2-4.6 1.1-4.5 1.1-4.5l.2-1z"/>
+  <path fill="#1e2121" d="M298.2 187.7s1.7 0 2.6-.6c1-.5 2.3-1.7 2.3-1.7s-1.2 1-1.6 1c-.3 0-.6-.5-.5-.9 0 0-.3.8-1 1.4-.8.5-1.8.8-1.8.8zm3.9-5.4s1.4-1.4 1.4-4.4c0-3-1.2-2.5-1.2-2.5s1 .7.7 3c-.2 2.3-1 4-1 4zm1.7.3s1.6-.3 2.1-1.3.6-2.7.6-2.7-.2 1.7-.7 2.3c-.4.6-2 1.7-2 1.7zm-1 9.5s.8-1.5 1.9-1.1c1 .4 1 1.2 1 1.2s-.4-.6-1.2-.7c-.7 0-1.6.6-1.6.6zm-2.9-2.7l3.7-1 3-1s-1.2 1.3-3 2.3c-1.6 1-3 1-3 1s3.2-1.4 3.4-2c0 0-3 .9-4 .7z"/>
+  <path fill="#fff" d="M296.2 185.8a2.6 2.7 67.8 01-3 4.4"/>
+  <path fill="#f16e16" d="M296.1 186.1a2.3 2.4 67.8 01-2.7 3.8"/>
+  <path d="M295 187.4a1 1 0 11-.8 1.4"/>
+  <path fill="#d5d3ca" d="M295.2 188.6a.3.3 0 11-.6-.1.3.3 0 01.3-.3.3.3 0 01.3.4z"/>
+  <path fill="#ab6d29" d="M296.8 184.2s1.6-1.5 1.9-3.5c.3-2 .1-3.2.1-3.2l.9 1 .3 1.4-.5 2.6 1.6-.8c.6-.8 1.5-4.2 1.2-6.3 0 0 .4 1-.2 3.8-.6 2.9-1 3.2-3.2 4.4a9.6 9.6 0 00-3.8 4.2 19 19 0 01-2.3 3l1.6-2.6c.8-1.8 1.7-2.8 1.7-2.8l.7-1.2z"/>
+  <path fill="#904720" d="M296.1 185.4s.7-2 .7-3.1-.7-2.4-.7-2.4 1-.1 1 2.2c.1 2.4-.4 2.6-1 3.3z"/>
+  <path fill="#4d2a15" d="M299.2 182.8s.7-1.7.7-3c0-1.1-1-2.3-1-2.3s1.1.3 1.2 2.4c.1 2.2-.2 2.2-1 3z"/>
+  <path fill="#ab6d29" d="M292.1 191s-.6-.8-.5-1.3c0-.6 0-.7 1.4-2.2a13 13 0 002.5-3c.3-.9 1.5-3 .6-4.6 0 0 .6 2.4-.8 4.3a15.7 15.7 0 01-3.3 3.7c-1.1.8-1.3 1.2-1.2 1.7 0 .5.1 1 .3 1 .4.3 1 .3 1 .3z"/>
+  <path fill="#6c4119" d="M305.5 195.6s.3 0 .5-.3.2-1-.3-1.6a3.3 3.3 0 00-1.7-1.1l-2-.4s.4.8 1.3 1.3c.4.2 1.2 0 1.6.4.5.4.6 1.7.6 1.7z"/>
+  <path fill="#6c4119" d="M305.5 195.6s1.5-.5 1.6-2l-.1-1.2s.2.5.8.7l.6-.2s-1 2.8-3 2.7z"/>
+  <path fill="#bf802d" d="M294.8 195.3l.8.8.9 1 3.7-1 1.2-1.2-1-1.6h-2.7l-3 2z"/>
+  <path fill="#f9c83a" stroke="#8f4620" stroke-width=".4" d="M303.8 194l-.7-.9-.7-.6c-.6-.3-2.8-.3-2.8-.3l-1.6.3s-.5.5-1.3.3a22 22 0 01-2.6-1l-1.9-.7s-1.3-.6-1.6-.5c-.3.1-1.5 1.3-1.5 1.3s-.2.7.3.7c.4 0-.7.2-.7.2s-2.8 1.6-3.2 4.4c-.5 2.7 4.6 6.8 6.5 4.7 0 0-2.8-2-2.2-3.7.5-1.7 1.8-2.8 4-3 2.1 0 2.3-.3 3.2-1 1-.6 2.7-1 4 .3 1.3 1.4-5 2.7-5 2.7l.7 1s7.7-2.7 7-4.1z"/>
+  <path fill="#fcf3d8" d="M289.4 200.7s-3.1-.8-2.9-3.7c.3-2.8 3-3.9 3.4-4 .4-.2.3-1.6.8-1.8a2.4 2.4 0 012 .5l1.4.8s-5.5 2.4-5.5 5.6c0 2.1.8 2.5.8 2.5z"/>
+  <path fill="#fdeaaf" d="M303.8 193.8s-.4.2-.5 0c-.6-1-2-1.4-3-1.3-1.5 0-2.4.5-3.4.5s-.7-.1-1.8-.2c-1.1 0-3.5-1.8-4-1.6-.6.2-.8.8-.8 1.1.1.4-1 .4-1 .1-.2-.2.7-1.7 1.7-1.7 2.6 0 4.6 1.7 5.8 1.7 1.3 0 1.7-.7 3.4-.7s3.5.8 3.6 2z"/>
+  <path fill="#513625" d="M295.2 195.8s1.3-.2 2.2-.6l2.2-.8-2 1.2-2 .5-.4-.3z"/>
+  <path fill="#f9c83a" d="M290.8 202.3c-.2 0-1.3 0-3-1.1-1.8-1.2-2.3-3.2-2.3-3.2s-.4-1.9 1.4-3.8c1.8-1.9 2.1-1.3 2.2-1.2.1 0 0 .1 0 .1l-1.7 1.3-.7 1.3-.7 1.2v1.4l.8 1.5 2.5 1.5 1.5 1z"/>
+  <path fill="#8b5122" d="M289.8 191.4v-.2.3-.3.3-.3l-.3.2h.2v-.2l-.2.2.2-.2h-.2a.3.3 0 000 .2l.2-.2h-.2.2-.2.2-.2.2l-.2-.1.2.1-.2-.1-.1.1a4.6 4.6 0 00-.4.5l-.2.6v.1c0 .3.2.5.4.6h1.4a.3.3 0 00.1-.4.3.3 0 00-.3-.2l-.7.1a.8.8 0 01-.3 0v-.2a.5.5 0 010-.2 3 3 0 01.3-.5l.2-.1v-.1l.1-.2a.3.3 0 00-.3-.2.3.3 0 00-.2.3.3.3 0 00.3.2z"/>
+  <path fill="#f9c83a" d="M295.1 194.1l-3.8 1.1c-.3.2 1.2 0 2.4 0l1.3.1.9-.2c1.4-.5 4.4-1.6 4.7-.3.2 1-4.1 2-4.1 2v.5l3.4-.9 1.9-1 .5-.9-1.7-1.2H298l-1.2.3-1.7.5z"/>
+  <path fill="#8f4620" d="M289.7 199.5c.3.8.9 2 1.6 2.3 0 0 .1 0 0 0 0 .1-.5.5-1.7.1-1.2-.3-3-.7-4.1-4v.7l.7 1.3 1.1 1.2 1.9 1.1 1.2.3 1-.2.6-.4-1.1-1-1.4-2.3.2 1z"/>
+  <path fill="#fcca3d" d="M302.1 232.6v1.2h-.7v-1.5zm-4.7-34.4l-1.2-1.4-.8.1 1.2 1.8z"/>
+  <path fill="#816c2a" d="M302 235.5l-1.7-1a10 10 0 00-2.4-.6v.3h.2l2.1.6a14.3 14.3 0 011.7 1l.1-.3zm0-3.1h-3a4 4 0 00-1.3.7l.1.2a3.8 3.8 0 012.6-.7 23 23 0 011.4.1v-.3zm-.4-2.7l-2.6 1.4-1.6 1.2.2.2.5-.4a16.5 16.5 0 012.6-1.6l1-.5-.1-.3zm-1.7-2.7s0 .7-.3 1.2a8.6 8.6 0 01-.6.8 86.3 86.3 0 01-2.5 2.6l.2.3a220.4 220.4 0 002.5-2.7l.7-.8c.3-.6.3-1.3.3-1.4h-.3zm-2.1-1.2a4.2 4.2 0 01-.2 2.2l-1 2.2-.4.9-.2.3.2.2s1.3-2.2 1.7-3.5c.2-.5.2-1 .2-1.5a4 4 0 000-.9h-.4zm-2.1-.3a8.7 8.7 0 000 1.2c0 .6 0 1.2-.2 1.7l-.7 1.8-.3 1 .3.1 1-2.8c.2-.5.2-1.2.2-1.8v-1.2h-.3zm-1.6 0v1.2l-.3 2a52.2 52.2 0 00-.5 2.5h.3l.2-.8.3-1.7c.3-1 .3-3.2.3-3.2h-.3zm-1.8.3a13 13 0 000 2.9 14 14 0 00-.4 2.5h.3a23.3 23.3 0 01.4-2.4l.1-1.4v-1.6h-.4zm-1.3.2v.2a9 9 0 01-.3 2.2l-.6 1.9-.2 1h.3l.8-2.9a8.9 8.9 0 00.3-2.2v-.2h-.3zm-1.6 0v.7c0 .6 0 1.4-.4 2a5.5 5.5 0 01-1.3 1.6 9.8 9.8 0 01-.7.4l-.2.2.1.3s1.7-1 2.4-2.3c.4-.7.5-1.6.5-2.2v-.7h-.4zm-.9-.3v.2a6.7 6.7 0 01-1 1.9c-.3.4-.9.8-1.3 1.1a12.1 12.1 0 01-.8.5l.2.3s1.4-.8 2.1-1.7a8 8 0 001.1-2.2h-.3zm-1.5-.7v.1a6.2 6.2 0 01-1 1.3c-.1.2-.5.4-.9.6l-.6.4.1.3.7-.4 1-.7.7-.9.3-.6-.3-.1zm-.7-1l-.3.3-.9 1a6.5 6.5 0 01-.5.4l-.4.3.1.3.7-.4c.7-.6 1.5-1.7 1.5-1.7l-.2-.2zm-.4-.6l-.2.2-.9.6a2 2 0 01-.8.3v.4l.6-.3c.7-.3 1.5-1 1.5-1l-.2-.2zm-.2-.7l-.8.4-.6.3a1.9 1.9 0 01-.4.2v.3c.2 0 .3 0 .5-.2l1.4-.7-.1-.3zm-.4-1.3l-.5.5-.9.3v.3a2 2 0 001.2-.5 3.8 3.8 0 00.5-.4l-.3-.2zm.1-2.2l-.6.5c-.3.3-.6.6-.7 1a.6.6 0 01-.1 0v.5l.2-.2a.8.8 0 00.2-.2c0-.2.4-.6.7-.9a7.9 7.9 0 01.5-.5l-.2-.2zm10.7-12.8h1.6l.1-.2v-.1h-.1v.3-.1h-.2.1-.1v-.2l.1.1v-.1.1-.1h-1.5v.3zm0-1h.2c.2 0 .4 0 .6-.2.4-.1.7-.4 1-.6l.5-.3a.8.8 0 01.3 0v-.4l-.6.2-1 .7-.8.3-.1.3zm0-1.5l.7-.2 1.2-.8c.4-.3.7-.4 1-.4v-.3c-.3 0-.5 0-.8.2l-1.2.7a3 3 0 01-1 .5v.3zm-.6-1.4l1.5-1 1.6-1.2-.1-.3-1.7 1.2c-.5.5-1.1.9-1.5 1l.2.4zm-1-1.5l3.2-2.3-.2-.3-3.2 2.3.1.3zm-1.5-1.6a20.7 20.7 0 013.4-2.3l-.2-.2-1.5 1-1.9 1.3.2.2zm-1-1a123.7 123.7 0 012.6-1.8l.8-.5-.1-.3a7.6 7.6 0 00-.8.5 113 113 0 00-2.7 2l.1.2z"/>
+  <path fill="#78732e" d="M294.5 195.4l.1.1a17.3 17.3 0 012.5 2.5c1 1.2 1.8 2.7 1.8 4.1v.5a9.5 9.5 0 01-2.5 5c-2 2.3-4.8 4.4-7 6.4a18 18 0 00-3 3.1 6.1 6.1 0 00-1.2 3.7 6.4 6.4 0 001.1 3.4 4.4 4.4 0 003.9 2c1.8 0 3.8-.7 5.6-.7 1.6 0 3 .4 4.4 1.9 1.3 1.4 1.7 3.6 1.7 5.7 0 1.6-.2 3-.4 4.2a25.6 25.6 0 01-.4 1.8h.3s.8-2.8.8-6c0-2.1-.4-4.5-1.8-6a5.8 5.8 0 00-4.6-1.9c-1.9 0-3.9.6-5.6.6a4 4 0 01-3.6-1.8 6 6 0 01-1-3.3v-.1c0-1.6.7-3 1.9-4.3 1.8-2 4.5-4 7-6.2 2.3-2.2 4.4-4.5 4.7-7.5v-.5c0-1.8-1.1-3.5-2.3-4.8a17.2 17.2 0 00-2.3-2.2l-.1.3z"/>
+  <path fill="#a8ac71" d="M292.1 198.4l-.4-.3-.3.1.6.5zm1 1l-.3-.3h-.1l.2.4z"/>
+  <path fill="#78732e" d="M294.5 201l-.2-.4-.2.2.3.3zm1 1.5l-.1-.3h-.3l.4.5zm.7 1.5l-.2-.4v.4zm0 1.5v-.4l-.2-.1v.5zm0 1v-.5l-.1-.1v.6zM284 221.1l.1-.7c.1-.3-.3.1-.3.1v.5l.2.1z"/>
+  <path fill="#fff" d="M284 222.1l-.3.1.1.5.1-.2v-.4z"/>
+  <path fill="#78732e" d="M284 223.9v-.4h-.2v.6z"/>
+  <path fill="#fff" d="M284 224.9v-.4h-.1v.4zm.3 1.4v-.4l-.2.1.1.4zm.4 1.4l-.1-.5h-.2l.2.6z"/>
+  <path fill="#a8ac71" d="M285.6 229.7l-.2-.3h-.2l.3.3zm1.5 1.4l-.5-.3c-.3-.3-.1.2-.1.2l.4.2h.2zm9.8.8l-.4-.3c-.2 0 0 0 .2.4.1.3.2-.1.2-.1z"/>
+  <path fill="#fff" d="M297.7 232.5l-.3-.3v.3h.2z"/>
+  <path fill="#a8ac71" d="M297.9 233c-.1-.2-.2.1-.2.1l.2.3v-.5zm0 1.3v-.5c0-.2-.1 0-.1 0v.5h.1z"/>
+  <path fill="#fff" d="M297.4 235.7l.2-.4h-.2v.4zm-14.8-52s.5-.2.1.4l.3-.5h-.5z"/>
+  <path fill="#f9c83a" d="M294.6 195l.4.3h-.5l.1-.3z"/>
+  <path fill="#8f4620" d="M295 195.3l-.7.1c-.2 0 .2-.2.2-.2l.4.1z"/>
+  <path fill="#977c2e" d="M301 239.1s.3 0 .5-.3-.1.4-.1.4l-.3.1-.2-.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/my.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/my.svg
new file mode 100644
index 0000000..a08f085
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/my.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-my" viewBox="0 0 640 480">
+  <path fill="#cc0001" d="M0 0h640v480H0z"/>
+  <path id="a" fill="#fff" d="M0 445.8h640V480H0z"/>
+  <use width="100%" height="100%" transform="translate(0 -68.6)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -137.2)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -205.8)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -274.3)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -343)" xlink:href="#a"/>
+  <use width="100%" height="100%" transform="translate(0 -411.5)" xlink:href="#a"/>
+  <path fill="#010066" d="M0 0h372.6v274.3H0z"/>
+  <g fill="#fc0">
+    <path d="M149.7 48.5c-49 0-88.9 39.7-88.9 88.6a88.8 88.8 0 0089 88.6 88.7 88.7 0 0048-14 78.9 78.9 0 01-25.8 4.2 78.7 78.7 0 01-78.8-78.5 78.7 78.7 0 01106.2-73.7 88.7 88.7 0 00-49.7-15.2z"/>
+    <path d="M297.1 183.2l-37.4-19.5 11 40-25-33.5-7.8 40.7-7.7-40.7-25.1 33.4 11.2-40-37.6 19.5 28-31.3-42.5 1.6 39-16.3-39-16.5 42.5 1.7L178.9 91l37.4 19.5-11-40 25 33.5 7.8-40.7 7.7 40.7 25.1-33.3-11.2 39.9 37.6-19.4-28 31.2 42.5-1.6-39 16.4 39 16.5-42.5-1.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mz.svg
new file mode 100644
index 0000000..2e98e99
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/mz.svg
@@ -0,0 +1,21 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-mz" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="mz-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#mz-a)" transform="scale(.9375)">
+    <path fill="#009a00" fill-rule="evenodd" d="M0 0h768v160H0z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M0 160h768v16H0z"/>
+    <path fill-rule="evenodd" d="M0 176h768v160H0z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M0 336h768v16H0z"/>
+    <path fill="#ffca00" fill-rule="evenodd" d="M0 352h768v160H0z"/>
+    <path fill="red" fill-rule="evenodd" d="M0 0v512l336-256L0 0z"/>
+    <path fill="#ffca00" fill-rule="evenodd" d="M198.5 333l-51.2-37.5L96.1 333l19.9-60.3-51.5-37.1 63.5.2 19.3-60.4 19.4 60.5 63.5-.3-51.5 37.1z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M102.8 290.9h37c3 3.3 9.5 4.7 15.8 0 11.6-6.4 34 0 34 0l4.4-4.7-10.7-35.2-3.9-4.2s-8.3-5-24-3.3c-15.7 1.7-21.2-.5-21.2-.5s-13.7 1.6-17.6 3.6l-4.4 4.4-9.4 39.9z"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M110.3 281.8s35.2-4.4 45.4 9.1c-5.7 4-10.8 4.3-16.2.3.8-1.5 12.6-13.8 42.7-9.7"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M148 246.6l-.3 38.8m31.7-38.3L186 278"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M117 246.6l-3.7 16"/>
+    <path fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M78.9 295.1l8.6 10.2c1 .6 2 .6 2.9 0l12.8-15.4 5.4-6.7c.9-1 1.1-2.1 1-3l10.4-9.3 2.2.2c-1-.2-1.7-.7-1-1.8l2.4-1.8 1.8 2.3s-2.6 3.4-2.9 3.4h-2.8l-5.4 4.9 2.4 2 3.5 9.8 4.4-3.1-2.8-10 6.1-6.7-2.3-3.6 1.6-2s21.3 13.4 29.6 9.8c.2 0 .5-9.6.5-9.6s-22.2-2.3-22.7-6.7 5-5 5-5l-2.4-3.2.5-1.8 3.9 4.8 8.7-7.4 51.5 58.6c2.8-1.1 3.4-1.8 3.6-4.6L155 241.5l3.8-4.1c.8-.9 1-1.2 1-2.6l6-5.1a7.3 7.3 0 013.8 3L186 219c.4.4 1.7.8 2.6.4l26.9-25.9-29.3 20.7-1-.7c0-.9 1-1 0-2.6-1.2-1.4-2.9 1.3-3.1 1.3-.3 0-4.3-1.4-5.2-3.2l-.2 4.7-7.5 7-5.7-.3-8.2 8-1 3 1.3 2.7s-4.4 3.8-4.4 3.6c0-.3-.9-1.2-1-1.3l3.8-3.4.5-2.3-1.2-2c-.4.3-5.2 5.4-5.5 4.8l-14-15.5.8-2.9-8.7-9.5c-3.2-1.1-8.3-1.3-9.3 5.7-.8 1.6-7.4.2-7.4.2l-3.6.8L85.2 241l11.3 13.6 23.2-29.3.7-8.3 4.8 5.4c1.7.2 3.2.3 4.7-.5l13.7 15.3-2.3 2.3 2 2.2 2.4-1.6.9 1.3c-1.1.6-2 1.5-3.1 2.1-1.8-1.2-3.6-2.7-3.5-5l-7.7 6.4-.3 1.2-22.9 19-2 .3-.5 6 14.9-12.4v-1.8l1.5 1.3 11.6-9.3s.8 1 .5 1-10.3 9.3-10.3 9.3l-.2 1-1.8 1.6-1-.8-14 12.4h-2l-7.7 7.7c-2 .2-3.7.4-5.4 1.5l-13.8 12.2z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/na.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/na.svg
new file mode 100644
index 0000000..f2f571f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/na.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-na" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="na-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#na-a)">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#3662a2" d="M-26.4.2l.8 345.6L512.5 0-26.4.2z"/>
+    <path fill="#38a100" d="M666.4 479.6L665 120.3 122.3 479.8l544-.2z"/>
+    <path fill="#c70000" d="M-26 371.8l.4 108.2 117.5-.1L665.4 95.4l-.7-94.1-116-1L-26 371.7z"/>
+    <path fill="#ffe700" d="M219.6 172l-21.8-13.2-12.6 22.1-12.2-22.2-22 12.9.6-25.4-25.4.2 13.2-21.8-22.1-12.5 22.2-12.3-12.8-22 25.4.6-.1-25.5 21.7 13.2L186.3 44l12.2 22.2 22-12.9-.6 25.4 25.4-.2-13.2 21.8 22.1 12.5-22.2 12.3 12.8 22-25.4-.6z"/>
+    <path fill="#3662a2" d="M232.4 112.4c0 25.6-20.9 46.3-46.6 46.3s-46.6-20.7-46.6-46.3 20.8-46.2 46.6-46.2 46.6 20.7 46.6 46.2z"/>
+    <path fill="#ffe700" d="M222.3 112.4a36.5 36.5 0 11-73 0 36.5 36.5 0 0173 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nc.svg
new file mode 100644
index 0000000..4a2ac30
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nc.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-nc" viewBox="0 0 640 480">
+  <path fill="#009543" stroke-width=".9" d="M0 0h640v480H0z"/>
+  <path fill="#ed4135" stroke-width=".9" d="M0 0h640v320H0z"/>
+  <path fill="#0035ad" stroke-width=".9" d="M0 0h640v160H0z"/>
+  <circle cx="240" cy="240" r="157.3" fill="#fae600" stroke="#000" stroke-width="5.3"/>
+  <path stroke="#000" stroke-width="6.4" d="M213.3 263.5h53.3M213.3 224h53.3M240 83.2V352"/>
+  <path stroke-width="1.1" d="M176.6 384.4c64.2 26.3 124.4 1.7 124.4 1.7s-22.7-24.6-34.3-34.2c-11.4-9.4-44.8-9-56.2 0a488.7 488.7 0 00-33.9 32.5z"/>
+  <ellipse cx="240" cy="312.5" stroke-width="1.1" rx="17.6" ry="25.6"/>
+  <ellipse cx="240" cy="243.7" stroke-width="1.1" rx="21.3" ry="13.5"/>
+  <circle cx="240" cy="181.3" r="21.3" stroke-width="1.1"/>
+  <path stroke-width="1.1" d="M265.6 101.9s1.8 3-2 10c-18.6 33.5-37.3 34.2-40.8 37.1-4 3.2-5.6 3-5.6 3 .3-2.9.5-14.6.7-15.7 2.9-15.7 26.5-15.5 45-31.5 2.9-2.5 2.7-3 2.7-3z"/>
+  <path d="M265.5 163s4 11.2 4.5 22.5c1 18 18.2 18.5 30 18.5v-10c-8.9 0-16.6-1.3-23-14.5a115 115 0 00-11.5-16.5zm-.5 145s6.3-7.8 13.7-26c3.8-9.5 13-15 21.3-15v-14c-19 0-28.2 7-29.1 17.4-2 21.1-5.9 37.6-5.9 37.6z" transform="translate(-80) scale(1.06667)"/>
+  <use width="100%" height="100%" transform="matrix(-1 0 0 1 480 0)" xlink:href="#leaf"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ne.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ne.svg
new file mode 100644
index 0000000..f470907
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ne.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ne" viewBox="0 0 640 480">
+  <path fill="#0db02b" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h640v320H0z"/>
+  <path fill="#e05206" d="M0 0h640v160H0z"/>
+  <circle cx="320" cy="240" r="68" fill="#e05206"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nf.svg
new file mode 100644
index 0000000..46d7e8f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nf.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nf" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M194.8 0h250.4v480H194.8z"/>
+    <path fill="#198200" d="M0 0h194.8v480H0zm445.2 0H640v480H445.2z"/>
+    <path fill="#198200" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".7" d="M313.5 351.3v52.6l21.3.2s-6.8-45.8-3.1-52c3.7-6 7.2-5.2 7.2-5.2s13.9 4.2 15.4 3.5c1.5-.6-.2-5.2 7.2-4.6 2.4-.9 1.1-5 3.3-5.2 2.2-.3 44.5 11.8 53.7.4-2.4-6.4-10.7-.5-12.9-.2-2 0-10.3-4-15.1 0-4.4-3.3-24.4-5.5-24.4-5.5-2.6-2.6 47.6 1.3 50.5-.7 5.9-5.9-11-5.2-13.6-3.3a14.8 14.8 0 00-14.2-.6c-1.7-4.1-18-2.4-27-3.5-3-1.7-2.5-2.7-.5-3.8 19 .8 37.8 3.3 56.8 2.5 5.1-6.7-6.5-9.3-13.6-3.5-4.2-7-12.7-.3-18.4-1-5.7-.6-3-7.6 4.2-6.5 7.2 1 20.1-.4 22.5-3.7s-1.4-6.7-13.3-3.5c-4-4-13 0-17.1 1.3-5.6-3.1-18.5-.5-22.8.6-4.3-2.6 22.5-7 22.5-7 10.4-.2 16.3-2 19.5-2.8 15.7-8.4-.2-9.3-8.4-3.2-5.1-4-10 .3-14.6 1.8a38.2 38.2 0 01-13.4 2c0-.6 12.6-8.3 12.6-8.3s15.3-1.1 18.4-1.5c3-.5 18.8-8.5-2.7-3.1-7.4.6-11.8.2-14.7.4-16.5-1.7 1.6-3.3 1.6-3.3s23.4-2.1 23.7-3.3c.4-9-19.1-4.8-19.3-4.8 0-6.5-18.2.2-18.2 0-3.5-2 2-4.1 2-4.1 4.8-1.2 12-1.6 13.9-3.1 0 0 13.6-.1 15.2-3.7-3.3-9.3-28.8 1.6-32.2 3.2-4.6 0 3-7.4 3.3-7.6.2-.3 21-1.1 30.9-14.5.7-8.1-11.6 4.6-11.6 4.6-1-10.6-13.4.7-20.6 1.5-7.3 1-7.5-3.3-2.5-4 5-.6 10.8-.1 13.6-7.8 2.9-7.7 11.4.4 13-2.4 1.5-2.9-3.1-5.3-3.1-5.3s6.4-6.6-4-6.3c-10.2.2-23.6-1.4-23.6-1.4s10.7-4.1 20.8-4c10 .3 4.6-7.1-5-7.1-9.7 0-14.7-3.3-14.7-3.3l16.4-6.2-1-4.6s9.6-7.7-4-5.9l-15.2 2-27.4 4.1c-.2 0-7.4-2.2-.4-4s31.8-6.7 35.5-5.4c3.7 1.3-.4-9.2-13.6-10.5-13.1-1.3-21.3 3.3-21.3 3.3s-8.5-3.1-.6-5.7c7.9-2.7 20.4.9 20.4.9s14-4.2 2.4-6c-11.6-1.7-15.3 1.6-20.6 1.8-2.1-2.7 18.2-3.3 19.5-5.5-2.2-4-14.8 0-22.2 0-3-1.3-3.3-3.5.3-4.8 7.5-.3 14.6.1 22.1-.2-.2-4 0-8.7-.2-12.8-9.6-1.7-20.8 1.3-26.1 1 1.4-4.3 22-5.5 24.3-6.7 4.8-6-20.1 0-20.4 0-4.3-.6-4-3.4-1.3-5 6.4-.7 20.6 1 19.6-3.4-.8-4-10-1.9-13.6-1-3.8.9-9.3.2-9.3.2-2.3-3.2 21.5-1.9 21.3-4.4-.3-2.8-15.1-.8-20.2-.6-3.9-2.7 19-4.5 19.3-4.8.9-7.3-15.3 0-18.4 0-3 0-1.5-4.6-1.5-4.6s6.3-2.9 6.1-3.3a22 22 0 00-5.2-2c-.5 0 0-5 0-5s5.2-4 4.8-5.1c-.5-1.1-6.2.9-6.2.9v-4.4s4.2-.4 4.6-2.4c.5-2-5-2.2-5-2.2l-2.2-23-2 21.5-7.2 1s5 2.9 6 5.8c.8 2.8-6.2 2-6.2 2s5.7 4.8 6.1 6.5c.5 1.8-7.9 2.2-7.9 2.2s7 5 7.5 7.9c.4 2.8 0 4.4 0 4.4s-11.6-10.1-19-7.3c-4 2 8.8 3 17.2 10.3 0 1.7-20.5-5-21.2-.8.4 1.1 21.9 4.2 23.4 7-7.8.3-24-1.7-23.4.9-1.7 3 15.2 1.3 22.3 3.7 2.1 2.4 1.9 4.4-1.7 4.6-6.9-3.3-22.1-5.7-22.2-1.5.1 1 15.8.4 21.5 4.1-7.6 1.8-33.4-3.5-33.5-1 .7 1.3 4.8 6.5 11.8 6.3 7-.2 23.3 2.8 24.4 5 1 2.2-21.1-4.6-29.4-.6-8.4 4 23.9 1.5 29.1 6.3 5.3 4.9-10.5-.4-10.5-.4s-22-3-25.2-1.5c-3.3 1.5-7 5-7 5s2.2 4.4 4.4 3.5c2.2-.9-.7 2.7-.7 2.7s30.7 7.4 37.5 14c6.8 6.6-39-10.3-39-10.3s-18.5 6.8 1 7.2c-2.2 3.3 1.2 5.3 1.2 5.3s32.4 6.8 35.7 12c3.3 5.3-22.1-5-27.9-7.9-5.7-2.8-21.9 1.8-21.7 2.9.3 1 8 2.6 8.1 4.6.3 2-9.4 2.6-9.4 4.4 0 1.7 41 10.3 52 19.5s-32.2-11-32.2-11 2.4 3.3 0 4.2c-2.5.9-11-12.3-25-4.2-2.6 3.4 12.2 6 16 6.4-1.3 3.3-2.4 4.4 2.8 7.7s-10.3-4.8-10.3-4.4l1.1 5.7c-4.8-4-10.7-5.1-16.2-1.1 0 0-.2 4 5.5 6.4-3.1 6.3 3.5 4.3 14 10.3-15.6-4.1-16.9 3.5-5.7 5.2s41.9 2.9 49.1 12.3c7.3 9.4-10.3-3.6-12.3-4-.4.3-.8 4.9-.8 4.9-4.7-2.7-9-5.2-14.6-6.3-.5.9-.3 2.1-.8 3-5-3.7-9.5-6.2-16.9-6.6l-.9 3.5s-6.1-7.7-18.2 0c-6.7 4.9 25.5 1.8 30.7 7.5 5.3 5.7 1.1 6.6 1.1 6.6l-13.1-4.9s-15.6-2.8-20 .7 64 12 66 21.5c1.4 5-16-5.4-31.1-9.9l-1.8 5s-6-6-12.7-7c-.2 0 1.3 6 1.3 6s-16.8-8-25.4-3.8c-8.5 4.2 29.8 6.4 33.3 10.3 3.5 4-11.6-2.6-13 0-1.2 2.7-19.9-4.8-19.6-1.3.2 3.5 2.6 5.5 2.6 5.5s38.8 3.7 40.1 8.3c1.3 4.6-21.5-2.6-21.5-2.6s-2.2 3.3-.4 4.8c1.7 1.6-13.2-8.7-11.8-2-4.9-1.9-17.4-7.8-15.6-3.2 1.7 4.6 35.3 11.2 35.3 11.2s-14.7 1-14 4.8c-19-11.5-18.5-4.2-18-4 .4.2-24.4-6.1-5.7 4s10 8.3 10.3 8.5c.2.2 2 5 1.5 5-.4 0-12.7-6.5-16.9-7-4.1-.4-23.9 5.5-2.8 14.8s34-2.2 45.6-1c11.6 1.4 17 3.4 16 7-1.1 3.8-11.9-12.1-23.2 1.7-13-2.6-21.7-4-15 5.4-21-7.9-34 2.4-7.4 6.6 26 .8 42-6.4 42-6.4s4.5 8.1 10.8 2.4c6.4-5.7 6.6 2.2 6.8 2.2l6.2-2.6h1.5z"/>
+    <path fill="#fff" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M316 320.2v-3.7s-8.2-1.5-12.3-.7c-2.3-1.3-4.6-3.1-7.5-1.6-.5 1.2 5.3 4.3 7.2 4.3a41.1 41.1 0 0012.7 1.7zm0 6s-8.3-3.1-11.6.4c.5 3.7 9.7 5.5 11.7 4.5 1.9-1 0-4.8-.1-5zm14 1.4v2.6s9.8 1.9 11.6-.2c1.7-2.1-8-3.5-11.7-2.4zm-.5-10.2l.3 2.9s8.6 1.9 11.9-2.8c3.3-4.7-7.5 0-12.2-.1zm.4-10v2s6.5 1 8-1.8c1.4-2.8-7.8 0-8-.2zm-13.4-6c-1-1.3-4.5-4.8-13.8-5.8-6.5 0 11.7 9.5 13.8 5.9zm13.2-9.7l-.2 2.7s22-6.6 27.1-6.1c4.6-1.3 5.6-4.5 5.4-4.5-4-2.9-22.9 2.3-32.3 7.9zm.5-7.8l-.3 2.6s15.5-3 19.7-6c4.1-3-19.2 3.5-19.4 3.4zm-.6-7.6v2.6s10.3-.4 12.5-2.4c1.3-2.1-9.2-.3-12.5-.2zm21.6 21.7s5.4.8 6.4-.8c-.2-2.8-6.4 1-6.4.8zM330 266.6l.1 5.7s24.9-7.9 26.5-9.3c1.5-1.5 5-6-26.6 3.6zm-.7-7.9v4.2s10-.8 14.6-4.5c4.6-3.8-14.6.4-14.6.3zm-12-9.3l.6 3.7-32.9-10.6c.1 0-1.6-5.4 32.3 6.9zm.5-13.3c0 .4 0 3.6-.2 3.5 0 0-22.8-9.5-23.7-8.7-3-7 24 5.4 24 5.2zm11.1 6l.4 3.1s14-2.9 14.8-4.3c.8-1.4-15.2 1.2-15.2 1.1zm.3 7.4c.2.7.4 3.3.4 3.3s5.6-.5 6.5-1.8c.8-1.3-6.9-1.5-6.9-1.5zm-.8-17v3s15.4-3 17-4.4c1.7-1.5-17.3 1.4-17 1.4zm0-8.5c0 .2-.5 3.1-.1 3.1s18.6-3 21.5-5.7c2.8-2.5-21 2.9-21.3 2.6zm-.2-14.9v3.3s11.8-2.5 14-5c2.2-2.5-14 2-14 1.7zm-2-21.6l.2 4.8s16-2.2 18.2-4.8c2.3-2.7-18.5 0-18.4 0zm-7.4-36.5v3s-7.5-.3-5.7-1.6 5.7-1.1 5.7-1.4zm7 4l.2 4.2s9.7-1 10.4-2.5c.8-1.5-10.4-1.6-10.6-1.6zm-.6 6s.2 2.6.4 2.6 3.9-.3 4.7-1.3c.8-1-4.7-1-5-1.3zm-8.2 11.8c0 .3.3 4 0 3.8s-21.2-6.1-23.2-6c-1.9 0-2.4-4.9 23.2 2.2zm1.7 6.9c0 .7.5 4.6-.3 4.4-.7-.2-14.3-4.5-12.9-5.8 1.4-1.3 13.2 1.7 13.2 1.4zm-1.2 29l.1 3.5s-23.7-7.2-24.5-8.4c-.8-1.2-3.1-6.8 24.4 4.9zm1 8.5v3.3l-32.2-11.3s-2.6-8.4 32.1 8z"/>
+    <path fill="#fff" stroke="#000" stroke-linejoin="round" stroke-width=".8" d="M280.3 328.7l-.2 3.5s-6.2-1.8-8.2-5.3c3.6-1 8.5 1.9 8.4 1.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ng.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ng.svg
new file mode 100644
index 0000000..42ee5ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ng.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ng" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#008753" d="M426.6 0H640v480H426.6zM0 0h213.3v480H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ni.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ni.svg
new file mode 100644
index 0000000..f77ed63
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ni.svg
@@ -0,0 +1,129 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ni" viewBox="0 0 640 480">
+  <defs>
+    <linearGradient id="f" x1="498.7" x2="500.6" y1="289.1" y2="283.4" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#510000"/>
+      <stop offset=".3" stop-color="#8a0000"/>
+      <stop offset="1" stop-color="#a00"/>
+    </linearGradient>
+    <linearGradient id="g" x1="501.4" x2="502.9" y1="291.4" y2="287.4" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#ff2a2a"/>
+      <stop offset="1" stop-color="red"/>
+    </linearGradient>
+    <linearGradient id="b" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#F5F549"/>
+      <stop offset="1" stop-color="#97C924"/>
+    </linearGradient>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="#025"/>
+      <stop offset=".5" stop-color="#04a"/>
+      <stop offset="1" stop-color="#025"/>
+    </linearGradient>
+    <linearGradient id="h" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="v" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="o" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="p" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="q" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="r" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="u" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="x" x1="98.9" x2="125" y1="1440.2" y2="1440.2" gradientTransform="scale(4.45715 .22436)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="j" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="l" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="m" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="i" x1="444.5" x2="634.4" y1="317.5" y2="317.5" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="s" x1="484.8" x2="484.8" y1="311.7" y2="317.6" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
+    <linearGradient id="y" x1="47.9" x2="61.7" y1="3054.2" y2="3054.2" gradientTransform="scale(9.12405 .1096)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <clipPath id="ni-c">
+      <path d="M500 226.4l-63.7 110.3h127.4z"/>
+    </clipPath>
+  </defs>
+  <path fill="#0067c6" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <path fill="#c8a400" d="M248 239.5l8 .5v-1.2l-3-.2.2-3.8 3.3-2.4.1-1.5-3.5 2.5c-.1-.8-.6-1.7-1.4-2-.8-.2-1.6-.2-2.3.3-.8.6-1 1.6-1 2.5l-.4 5.3zm1.2-1.1l.3-4c.1-.6.2-1.4.8-1.8a1 1 0 011.5.5c.4 1 .2 2.1.1 3.2l-.1 2.2-2.6-.1zm-.2-11.2l7.8 1.8 1.8-7.6a198 198 0 01-1.1-.2l-1.5 6.4-2.4-.5 1.4-5.8-1.1-.3-1.4 5.8-2-.5 1.4-6.2-1.2-.2-1.7 7.3zm2.8-10.5l7.6 2.7.4-1.1-3-1 1.2-3.5c.2-1 .4-2-.1-3a2.5 2.5 0 00-2-1c-1 0-1.6.7-2 1.5-.6 1-1 2.2-1.3 3.4l-.8 2zm1.5-.7l1.2-3.4c.3-.6.6-1.3 1.3-1.5a1 1 0 011.2.9c.2 1-.3 2-.6 3l-.7 1.9-2.4-.9zm2.7-9l4.3 2.6c.8.4 1.8.6 2.7.2a6.5 6.5 0 002.4-3c.4-1 .8-2.2.2-3.2-.6-1-1.7-1.4-2.7-2l-2.7-1.6-.6 1 4 2.4c.7.4 1.2 1 1.1 1.9a6 6 0 01-1.2 2.5c-.4.6-1.2 1.1-2 1-.8-.2-1.5-.8-2.2-1.2l-2.7-1.5-.6 1zm5.8-9.3l6.3 4.8 3-3.8c.6-.9 1-2 .7-3a2.5 2.5 0 00-2-1.4c-.5 0-1 .3-1.2.4.2-.9-.5-1.7-1.2-1.9-1-.3-2 .3-2.6 1l-2 2.5-1 1.4zm1.6-.3c.7-1 1.4-2 2.2-2.8.4-.4 1-1 1.5-.6.5.2.7.9.4 1.3-.4.9-1 1.5-1.6 2.3l-.8 1.1-1.7-1.3zm2.6 2l2.3-3c.4-.4 1-1 1.6-.8.6.1 1 .7.8 1.3-.3 1-1.1 1.8-1.8 2.7l-1 1.3-2-1.5zm3-10.2l5.5 5.8 4.7-4.5-.8-.8-3.8 3.6h-.1l-4.7-5zm7-6.2l4.9 6.3 1-.7-5-6.3zm7.2-4.9a6.7 6.7 0 00-2 1.8 3.6 3.6 0 00-.1 4.2 4.1 4.1 0 001.6 1.5 3.6 3.6 0 002 .4 6.5 6.5 0 002.7-1 5.4 5.4 0 002-2c.4-.8.5-1.6.3-2.4l-1 .4c.2 1.6-.8 2.4-2 3-1.8 1.2-3.5 1.1-4.6-.5-1.1-1.9 0-3.4 1.6-4.4 1.1-.7 2.2-1.2 3.2-.5l.9-.8a3.2 3.2 0 00-2-.6c-.9 0-1.7.4-2.6 1zm9.5-4.7l-.9 9 1.3-.5.2-2.8 4-1.6 2.2 1.8 1.2-.5-6.8-5.9-1.2.5zm1 1l2.7 2.2-3 1.2.3-3.5zm16.5-6l.5 8 4.3-.2c1.2-.2 2.4-.4 3.1-1.4 1-1 1.2-2.7.7-4.1a3.5 3.5 0 00-2.7-2.4c-1.2-.2-2.4 0-3.6 0l-2.3.2zm1.2 1.1l3.5-.1a3 3 0 011.8.5c.8.6 1.3 1.5 1.2 2.5a2.7 2.7 0 01-2 2.4c-.6.2-1.3.2-1.9.3l-2.2.1-.4-5.7zm10-1.5l-.5 8 7.8.4v-1.1l-6.6-.4.1-2.4 6 .3v-1.1l-5.9-.3.1-2.2 6.4.4v-1.2l-7.5-.4zm20.8 3.3l-2.9 7.5 1 .4 2.4-6v-.2l.2.3 2.8 8 1.3.5 2.9-7.5-1-.4-2.3 6-.1.2-.2-.3-2.7-8zM353 176l-3.7 7-1-.5 3.6-7.1zm6 3.5a6.7 6.7 0 00-2.4-1 3.6 3.6 0 00-4 1.5 4.1 4.1 0 00-.6 2.1c0 .7.1 1.4.6 2.1.4.7 1 1.3 2 2a6 6 0 002.7 1 3.5 3.5 0 002.2-.7l-.8-.9c-1.4 1-2.5.3-3.6-.4-1.8-1.2-2.5-2.8-1.4-4.5 1.2-1.8 3.1-1.3 4.7-.3 1 .7 2 1.5 1.8 2.7l1 .4a3.2 3.2 0 00-.3-2c-.4-.8-1-1.4-1.9-2zm7.6 5.7l-8.3 3.4 1 .9 2.6-1 3.3 2.8-.7 2.7 1 .9 2.1-8.8-1-.9zm-.3 1.4l-.8 3.4-2.5-2 3.3-1.4zm6.4 4.2l-6.2 5 .7 1 2.5-2 2.4 3-.7 4 .9 1.1.8-4.2c.7.5 1.7.8 2.5.4.7-.4 1.4-1 1.4-1.8 0-1.1-.7-2-1.3-2.8l-3-3.7zm-.2 1.6l2.6 3.2c.4.6.9 1.4.4 2-.3.6-1.1.6-1.6.2-1-.7-1.6-1.7-2.4-2.6l-1-1.1 2-1.7zm9.5 11.1l-9 .4.7 1.2 2.8-.1 2.2 3.8-1.6 2.3.7 1.2 4.9-7.6-.7-1.2zm-.7 1.2l-2 3-1.5-2.8 3.5-.2zm5.9 9.4c-.5-1.3-1.3-2.7-2.7-3.4a3.8 3.8 0 00-4.5 1c-1 1-1 2.5-.7 3.9.3 1.5 1 3 2 4.1l-.6.2.4 1.1 3.8-1.3-1.5-4.1-.8.3 1 3-1.2.5a7 7 0 01-2.1-3.8c-.3-1.1-.3-2.4.5-3.2 1-1 2.6-1.3 3.7-.5s1.7 2.1 2 3.4c.3.9.2 1.9-.4 2.6-.2 0 0 .3.1.4l.3.5a2.8 2.8 0 001.1-2.2 7 7 0 00-.4-2.5zm2.3 6.3l-4.5.8a4.1 4.1 0 00-1.9.8 2.5 2.5 0 00-.8 1.5v2.4c.3 1 .6 1.7 1 2.3.3.6.7 1 1.2 1a4 4 0 002 0l4.5-.8-.2-1.1-4.4.8c-2 .4-2.6-.6-3-2.4-.3-1.8 0-3 1.9-3.3l4.4-.9-.2-1.1zm2.4 13.6l-8.3-3.6.1 1.4 2.6 1 .3 4.4-2.4 1.5.1 1.3 7.7-4.7-.1-1.3zm-1.2.7l-3 1.9-.2-3.2 3.2 1.3zm-136.5 20l-1.2.3 1.3 4.9 1.2-.3zm131.6 0l1.2.3-1.3 4.9-1.2-.3zm-119.2 20.5l-9 1 .8 1.1 2.8-.3 2.4 3.6-1.4 2.5.8 1 4.3-7.8-.7-1.1zm-.7 1.3l-1.7 3-1.8-2.6 3.5-.4zm4.1 3.6l-5.7 5.3.8.8 4.8-4.5-2.6 7 1 .9 6.8-2-4.7 4.3.8.8 5.7-5.3-1.2-1.2-7 2 2.6-6.7zm8.3 8.4l-4.8 6.5 6.2 4.6.7-.9-5.3-4 1.5-2 4.7 3.7.7-1-4.7-3.5 1.3-1.7 5 3.8.7-1-6-4.5zm7.8 5.8l-3.7 7 1 .6 1.5-2.8 3.4 1.8.8 4 1.3.7-.9-4.2c.9.3 2 .1 2.5-.6.5-.6.9-1.3.6-2.1-.2-1-1.3-1.6-2.1-2.1l-4.4-2.3zm.5 1.5l3.6 2c.6.4 1.3.9 1.2 1.6 0 .7-.7 1-1.3.9-1.2-.2-2.2-.9-3.2-1.4l-1.5-.8 1.2-2.3zm8.6 3.2l-3 7.4 1 .5 3-7.4zm7.2 2.5a6.7 6.7 0 00-2.6-.4 3.6 3.6 0 00-3.4 2.6 4.1 4.1 0 000 2.1c0 .8.4 1.4 1 2a6 6 0 002.4 1.3 5.4 5.4 0 002.9.2 3.4 3.4 0 002-1.2l-1-.6c-1 1.3-2.3 1-3.6.5-2-.7-3.1-2-2.5-4 .7-2 2.7-2 4.4-1.5 1.2.4 2.3 1 2.4 2.1l1.2.2a3.2 3.2 0 00-.9-2 5.4 5.4 0 00-2.3-1.3zm8 1.8l-5.2 7.3 1.3.2 1.6-2.3 4.4.7.9 2.6 1.3.2-3-8.5-1.3-.2zm.5 1.3l1.2 3.4-3.2-.5 2-2.9zm18.3-1.2c-1 .1-1.7.4-2.4.9a3.6 3.6 0 00-1.7 3.9c.1.7.4 1.3 1 2 .4.5 1 .8 1.8 1 .7.2 1.7.2 2.8 0 1-.2 2-.6 2.6-1.2a3.4 3.4 0 001.1-2h-1.2c-.3 1.6-1.5 2-2.8 2.2-2.1.4-3.7-.3-4.1-2.3-.4-2.1 1.3-3.1 3-3.5 1.3-.2 2.5-.3 3.2.7l1-.4a3.2 3.2 0 00-1.6-1.3 5.4 5.4 0 00-2.7 0zm5.3-1l2.3 7.7 7.5-2.2-.4-1.1-6.3 1.9-.7-2.4 5.7-1.7-.3-1-5.7 1.6-.6-2 6-1.8-.3-1.1-7.2 2.1zm8.7-2.7l3.3 7.3 1-.5-2.8-6 7.8 3.5h.5l1-.5-3.4-7.3-1 .5 2.8 6-8-3.6-1.2.6zm8.8-4.1l.6 1 2.8-2h.2l3.7 5.7 1-.7-3.7-5.6v-.1l2.9-2-.6-.9zm8-5.6l5.4 6 .9-.9-2.1-2.3 2.8-2.6 4 .6 1.2-1-4.3-.6c.5-.7.7-1.8.2-2.6-.4-.7-1-1.3-1.9-1.2-1 0-2 .8-2.7 1.4l-3.5 3.3zm1.6.1l3-2.8c.6-.4 1.4-.9 2-.5.7.3.7 1.1.3 1.6-.6 1-1.5 1.7-2.4 2.6l-1.1 1-1.8-2zm7.7-9.4l3.6 8.3.8-1-1-2.6 2.7-3.4 2.7.6.9-1-8.8-2-.9 1.1zm1.4.3l3.5.7-2 2.5-1.5-3.2zm2.1-4.8l6.7 4.3 3.5-5.4-1-.6-2.7 4.3-.1.2h-.1l-5.7-3.8z"/>
+  <g clip-path="url(#ni-c)" transform="matrix(.8 0 0 .8 -80 0)">
+    <path fill="#fff" d="M500 226.4l-31.5 54.5-15.4 26.7h93.8l-14.7-25.4-32.2-55.8z"/>
+    <g id="e">
+      <g id="d">
+        <path fill="#17c0eb" stroke="#17c0eb" stroke-width=".1" d="M500 226.4l-2.4 4 2.4 55 2.4-55z" opacity=".6"/>
+        <path fill="#fff" d="M500 277.5h-.1l.1 3 .1-3h-.1z"/>
+      </g>
+      <use width="100%" height="100%" transform="rotate(72 500 285.5)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(144 500 285.5)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-144 500 285.5)" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-72 500 285.5)" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(8 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(16 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(24 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(32 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(40 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(48 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(56 500 285.5)" xlink:href="#e"/>
+    <use width="100%" height="100%" transform="rotate(64 500 285.5)" xlink:href="#e"/>
+    <path fill="red" d="M500 265.8a44.2 44.2 0 00-29 10.8L456.4 302a45 45 0 00-.8 8.3h5a39.4 39.4 0 0178.7 0h5a45 45 0 00-.7-8.3L529 276.6a44.3 44.3 0 00-29-10.8z"/>
+    <path fill="#f60" d="M500 266.7a43.5 43.5 0 00-30.3 12.2l-12 20.9a43.6 43.6 0 00-1.3 10.4h4.3a39.4 39.4 0 0178.6 0h4.3a43.9 43.9 0 00-1.3-10.5l-12-20.8a43.5 43.5 0 00-30.3-12.2z"/>
+    <path fill="#ff0" d="M500 267.5a42.7 42.7 0 00-32 14.3l-8.7 15a42.7 42.7 0 00-2 13.5h3.3a39.4 39.4 0 0178.7 0h3.5c0-4.7-.8-9.2-2.1-13.4l-8.8-15.1a42.6 42.6 0 00-31.9-14.3z"/>
+    <path fill="#0f0" d="M500 268.3a42 42 0 00-34.9 18.6l-2.8 4.9a41.8 41.8 0 00-4.3 18.5h2.7a39.4 39.4 0 0178.6 0h2.7a41.8 41.8 0 00-4.3-18.5l-2.8-5a42 42 0 00-34.9-18.6z"/>
+    <path fill="#0cf" d="M500 269a41.2 41.2 0 00-41.2 41.3h1.9a39.4 39.4 0 0178.6 0h1.9A41.2 41.2 0 00500 269z"/>
+    <path fill="#00f" d="M500 269.8a40.4 40.4 0 00-40.4 40.4h1.4a39 39 0 1178 0h1.4A40.4 40.4 0 00500 270z"/>
+    <path fill="purple" d="M500 270.7a39.6 39.6 0 00-39.6 40.3h.8v-.8a38.8 38.8 0 1177.6.8h.8v-.8a39.6 39.6 0 00-39.6-39.6z"/>
+    <path fill="#510000" d="M500.4 288.1c-.7 0-1.2-.5-1.8-.6a2.2 2.2 0 00-.7 2.1c.3.1.3.4.9.9s.5.7.4 2c0 .4.1 1.5.6 1.6.5.1 1-.3 1.1-1.2.1-.7.4-1.2.7-1.6.3-1.9-.2-2.6-1.2-3.2z"/>
+    <path fill="red" d="M497.2 283.5c-.6 0-1.6 1-2 .5-.2-.3-.3-.9 0-1.4a4.8 4.8 0 012.2-2.3c2.3-1.4 3.9-1 5 1 1.1 1.8 2.2 3.8 2.3 5.4 0 .5.3 1.4-.2 1.9-1.3 1.4-4.6-1.5-6.5-1-.6.1-1.4.6-2 .2-.4-.3 0-1 .3-1.3.6-.5 1.5-2.4 1.4-3.2 0-.4 0 .2-.5.2z"/>
+    <path fill="url(#f)" d="M497 282.6c-1.2.4-1 1-1.6 1.5.2.1.8.3 1.4-.3.2-.2.5-.3.7-.3l-.7.7a5.2 5.2 0 00-1.4 1.8c-.3.8-.4 1.7-.3 1.8 0 0 .4.8 1.5 1.2 2 .8 2.4 2.5 4.5 2.5 1.6 0 1.4-1.1 2.7-.9 1 .2 1.7-.7.6-1.2a14 14 0 00-5.4 0c-.4-4 0-2.6-.1-4.4-.1-1.7-.7-1.8 0-3.3-.5 1-1.2.8-2 .8z"/>
+    <path fill="#ff2a2a" d="M501 279.8l-.1.6.3 1 .2 1c0 .3.4.4.7.6.4.3 0 1 .3 1.1.2 0 .5-1 .5-1.2v-.7a15.3 15.3 0 00-.5-.9 3.6 3.6 0 00-.2-.3 4.2 4.2 0 00-.8-.9 4 4 0 00-.3-.2l-.2-.1z"/>
+    <path fill="url(#g)" d="M501.3 287.4l-2-.7c-1.3-.4-2.6-1.2-3.5-.8-.3.1-.3.4-.4.9 0 .5-.5 1.3 0 1 .6-.4 2.4.8 3 1.1.3.2 1 .6 1.1 1 .2.6 0 1.8 0 2.4 0 .5.2 1.8.7 2 .6.1 1.1-.4 1.3-1.3.3-.9.4-1.4.8-1.9s.8-.8 1.3-.9c.6 0 1.4.5 1.4-.2 0-.4-.4-.8-.2-1.4.1-.5-.4-.4-.9-.6l-2.7-.6z"/>
+    <path fill="#910000" d="M498.4 288.9c-.4-.2-2.3-1.5-3-1-.3 0-.4 0-.4-.3l.2-.9c0-.3.2-.8.5-1 .7-.6 2.3.5 3.1.8l-.4 2.4z"/>
+    <path fill="#ff3a3a" d="M501.8 291.4c.9-1.6 1.5-1.4 2.6-1.4.4 0 .5-.3.4-.7-.3.6-1.7 0-2.5.3-1.5.7-1.2 3.7-2 4 .8.7 1.1-1.7 1.5-2.2z"/>
+    <g fill="url(#h)">
+      <path fill="#fff" d="M453.1 307.6l-10 17.3H557l-10-17.2h-93.8z"/>
+      <g id="n" fill="url(#i)">
+        <path id="k" fill="url(#j)" d="M449.7 321.4a36 36 0 00-4.7.3l-.5.9c2.4-.3 4.7-.7 7.2-.7 3.2 0 6.2.8 9.7.8h4.6c3.5 0 6.4-.8 9.7-.8 3.3 0 6.3.8 9.8.8h4.6c3.5 0 6.4-.8 9.7-.8 3.3 0 6.3.8 9.8.8h4.5c3.5 0 6.5-.8 9.8-.8 3.3 0 6.3.8 9.8.8h4.5c3.5 0 6.5-.8 9.8-.8 2.6 0 5 .5 7.5.7l-.5-1a38 38 0 00-4.4-.2h-4.5c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8H522c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8H498c-3.5 0-6.5.7-9.8.8-3.3 0-6.3-.8-9.8-.8h-4.5c-3.5 0-6.5.7-9.8.8-3.3 0-6.2-.8-9.7-.8h-4.6z"/>
+        <use width="100%" height="100%" y="-1.1" fill="url(#l)" xlink:href="#k"/>
+        <use width="100%" height="100%" y="-2.2" fill="url(#m)" xlink:href="#k"/>
+      </g>
+      <use width="100%" height="100%" y="-3.3" fill="url(#o)" xlink:href="#n"/>
+      <use width="100%" height="100%" y="-6.7" fill="url(#p)" xlink:href="#n"/>
+      <path fill="url(#q)" d="M453.2 307.5v.2h93.7l-.1-.2h-93.6zm-.2.3l-.1.3H547l-.1-.3h-94zm-.2.4l-.2.3h94.8l-.2-.3h-94.4zm-.3.5l-.3.5h95.6l-.3-.5h-95zm-.4.7l-.3.5h96.4l-.3-.5h-95.8zm-.4.7l-.2.4h97l-.2-.4h-96.6zm-.4.7l-.2.4H549l-.3-.4h-97.4zm-.4.7l-.3.6h98.8l-.3-.6H451z"/>
+      <path fill="url(#r)" d="M457.4 312.3c3.4.7 3.7 0 3.7 0zm81.5 0s.3.7 3.7 0z"/>
+    </g>
+    <g fill="#ccd11e">
+      <g id="t">
+        <path fill="url(#s)" d="M530.6 297c-1.7 0-2.2.9-2.2.9-2.7 10.6-11.8 21.3-22.6 21.3h-8V330h61.4l-6.2-11c-9.7-1.4-17.6-11.3-20.1-21.1 0 0-.6-.9-2.3-.9z"/>
+        <path fill="#97c924" d="M530.6 297.5c-.8 0-1.2.1-1.5.3l-.3.3a33.6 33.6 0 01-8.4 14.7c-4 4.1-9 6.9-14.6 6.9h-7.7v9.9H559l-5.7-10c-4.7-.7-9-3.2-12.4-6.8a33.6 33.6 0 01-8.4-14.7l-.3-.3a2.8 2.8 0 00-1.6-.3z"/>
+        <path fill="#ede71f" d="M530.6 297.5h.4v10.8a13 13 0 01-2 6.4c-.5 1.6-1 1-2.3 2.9a25.4 25.4 0 01-5.2 1.2c-2.5.4-8 .8-10.9.1a23 23 0 009.8-6 30.6 30.6 0 002.1-2.5 33.7 33.7 0 003-4.4l1-2a33.9 33.9 0 001.3-2.9 29.8 29.8 0 001-3l.3-.3.6-.2 1-.1z"/>
+        <path fill="#c6cb24" d="M530 298.9c-.5 6-2.3 13.2-6.7 17.8-1.6 1.3-3.7 2.6-5.6 2.3 6.7-5.5 10.8-14 12.2-20.1z"/>
+        <path fill="#9ecb34" d="M524.5 309.3c-1 2.7-4.8 6.7-8.8 10h-2.9c2.5-.2 8.3-5 11.7-10z"/>
+      </g>
+      <use width="100%" height="100%" x="-15.3" xlink:href="#t"/>
+      <g fill="#c6cb24">
+        <path fill="url(#u)" d="M502.2 298c2.8 10.5 11.8 21.2 22.6 21.2h8.1V330h-65.8v-10.8h8c10.8 0 19.9-10.7 22.6-21.3 0 0 .6-.8 2.3-.8 1.7 0 2.2.8 2.2.8z"/>
+        <path fill="#97c924" d="M500 297.5c.8 0 1.2.2 1.5.3l.3.3a33.6 33.6 0 008.4 14.7c4 4.1 9 6.9 14.6 6.9h7.7v9.9h-65v-10h7.7c5.5 0 10.6-2.7 14.6-6.8a33.6 33.6 0 008.3-14.7l.3-.3a3 3 0 011.6-.3z"/>
+        <path fill="#ede71f" d="M499.3 297.5a3.4 3.4 0 00-.3 0l-.6.3-.3.3a28.9 28.9 0 01-1 3 34.2 34.2 0 01-1.2 3 34.2 34.2 0 01-1 1.9 33.6 33.6 0 01-3 4.4 30.7 30.7 0 01-2.1 2.4 23 23 0 01-9.8 6.1c2.8.7 4 0 6.5-.4 2-.3 4.2-.6 6-1.2 1.5-2 1-1.3 1.5-2.9 1.2-2.2 3-4.2 3.4-6.7 1.6-3 1.9-8.6 1.9-10.2z"/>
+        <path d="M499.3 298.9c-.4 6-2.3 13.2-6.7 17.8-1.6 1.3-3.6 2.6-5.6 2.3 6.8-5.5 10.9-14 12.3-20.1z"/>
+        <path fill="#9ecb34" d="M493.8 309.3a31 31 0 01-8.8 10h-2.8c2.5-.2 8.2-5 11.6-10z"/>
+        <path fill="#ede71f" d="M501 297.6l.5.2.4.3a32.3 32.3 0 001 3 33.6 33.6 0 001.2 3l1 1.9a33.6 33.6 0 003 4.4 30.7 30.7 0 002.1 2.4 24 24 0 009.8 6.5c-7.3 0-10.4-.6-13-4a19 19 0 01-4.2-7c-.5-2-2-6.5-1.9-10.7z"/>
+        <path d="M501.5 298.9c.4 6 2.2 12 6.6 16.6 1.6 1.4 3.6 2.6 5.6 2.3a31.1 31.1 0 01-12.2-18.9z"/>
+      </g>
+      <g id="w">
+        <path fill="url(#v)" d="M484.8 297c-1.8 0-2.3.9-2.3.9-2.5 9.8-11.8 22.3-21.5 23.8l-4.8 8.3h49v-11.3c-8.8-2.4-15.9-11.7-18.2-20.8 0 0-.5-.8-2.3-.8z"/>
+        <path fill="#97c924" d="M484.8 297.5c-.8 0-1.3.2-1.6.3l-.3.3a43.4 43.4 0 01-8.1 15c-3.4 4.3-9.7 8.6-14 9l-4.3 7.5h48v-10.7a23.2 23.2 0 01-9.5-6 33.6 33.6 0 01-8.4-14.8l-.3-.3a2.9 2.9 0 00-1.5-.3z"/>
+        <path fill="#93bc30" d="M483.4 298.9c-.6 9-5.6 20.5-11.3 22.4-1.9.7-5.1.9-6.2 1a36 36 0 0017.6-23.4z"/>
+        <path fill="#ede71f" d="M484.8 297.5h-.5v10.8c0 2.3.9 4.2 2 6.4l.2.5c.5 1.1.8 1.5 2.3 2.7a22 22 0 0014.8 4c-1.1-.9-2.3-1.7-3.4-2.4l4.5-.5a23 23 0 01-9.7-6.2 30.5 30.5 0 01-1.4-1.5l-.6-.8a35 35 0 01-3.2-4.5 34.2 34.2 0 01-1-2 34 34 0 01-1.6-3.9 31.7 31.7 0 01-.6-2l-.3-.3a2.2 2.2 0 00-.6-.2 3.6 3.6 0 00-1-.1z"/>
+        <path d="M485.4 298.9c.5 6 2.3 13.2 6.7 17.8 1.6 1.3 3.6 2.6 5.6 2.3a38.5 38.5 0 01-12.3-20.1z"/>
+        <path fill="#9ecb34" d="M489.6 307.3a35 35 0 0014.6 14.9h2.5c-4.4-2.4-11.5-5.8-17-15z"/>
+      </g>
+      <use width="100%" height="100%" x="-15.4" fill="#c6cb24" xlink:href="#w"/>
+    </g>
+    <path fill="#fff" d="M556.5 324.7c-.6.2-4.4-.2-6.4 0l-1.3.3h-3.3c-3.6 0-6.7 1-10.1 1-3.4 0-6.5-1-10-1H522c-3.6 0-6.7 1-10.1 1-3.4 0-6.5-1-10-1h-3.4c-3.6 0-6.7 1-10 1-3.5 0-6.5-1-10.1-1H475c-3.6 0-6.6 1-10 1-3.5 0-6.5-1-10.1-1h-3.4c-2.8 0-6.2.6-8.9.8l-6.3 10.9h127.4z"/>
+    <path fill="url(#x)" d="M548 323.1h-.6c-3.2.1-5.6 1.1-11.2 1.1s-6.2-1-12.6-.8c-6 0-8.4 1.2-11.7 1.2-3.2 0-8.4-.7-12.5-.3-4 .4-8.8 1.3-12 1.3-3.9 0-7.8-.7-11.8-.3-4.1.4-6 1.5-11.1 1.5-4.4 0-9-.7-12.8-.7-3.4 0-7.2 1-10 1.4l-.9 1.5c2.3-.3 8.6-1.3 10.8-1.3 2.4 0 10.7.5 15.3.3 4.7-.1 5.2-1.2 10.7-1.2 3.8 0 6.6.4 10.5.4 2.5 0 4.7-1.2 8.4-1.2l2.8-.1c3.1-.5 8.4 0 12 .2 3.3.2 5.5-.6 9-.7l4.4-.1c3.5-.2 6.4.6 9.7.6 3.2-.2 6.4-1 9.8-1l4.5-.2c2.3 0 5.9 0 8.3.5l-.8-1.4c-2.4-.1-5.3-.7-8.2-.7z"/>
+    <g id="A">
+      <path id="z" fill="url(#y)" d="M450.3 334.8c-3.4 0-6.4.8-9.6.9a31.8 31.8 0 01-3.6-.3l-.5.8h6c3.5 0 6.4-.8 9.6-.9 3.3.1 6.2 1 9.7 1h4.5c3.4 0 6.4-.9 9.6-1 3.3.1 6.3 1 9.7 1h4.5c3.5 0 6.4-.9 9.7-1 3.2.1 6.1 1 9.6 1h4.5c3.4 0 6.4-.9 9.7-1 3.2.1 6.2 1 9.6 1h4.5c3.5 0 6.4-.9 9.6-1 3.3.1 6.2 1 9.7 1h4.5l1.8-.1-.5-.8c-1 .1-2.1.3-3.2.3-3.3 0-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.5 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5c-3.4 0-6.4 1-9.6 1-3.3-.1-6.2-1-9.7-1h-4.5z"/>
+      <use width="100%" height="100%" y="-1.3" xlink:href="#z"/>
+      <use width="100%" height="100%" y="-2.6" xlink:href="#z"/>
+    </g>
+    <use width="100%" height="100%" y="-3.9" xlink:href="#A"/>
+    <use width="100%" height="100%" y="-7.7" xlink:href="#A"/>
+    <path fill="#97c924" d="M443.9 324.7l-2.5 4.2c2.9-.5 7.1-1.7 10.7-1.7 3.6 0 8 .9 12.4 1 5 0 7-1.2 11-1.6 4.1-.4 8 .5 12 .6 3.1 0 7.9-1.1 12-1.5 4-.5 7.7.3 12.5.3 4.9.1 5.7-1.2 11.6-1.3 6.4-.1 7 .9 12.6.9 4.2.2 7.9-.9 11.7-1.1 3.8-.3 5.5 0 8.3 0l-1.9-3.2-101.3 2.3z"/>
+    <path fill="#fff" d="M550 324.6l4 .3a91.4 91.4 0 002.9.3l-.4-.5c-.6.2-4.4-.2-6.4 0z"/>
+  </g>
+  <path fill="#c8a400" d="M320 179.9l-25.7 44.5L268 270h104l-25.7-44.6L320 180zm0 2.4l25.2 43.7 24.7 42.8h-99.8l25.2-43.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nl.svg
new file mode 100644
index 0000000..2026937
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nl.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nl" viewBox="0 0 640 480">
+  <path fill="#21468b" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h640v320H0z"/>
+  <path fill="#ae1c28" d="M0 0h640v160H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/no.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/no.svg
new file mode 100644
index 0000000..56e78e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/no.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-no" viewBox="0 0 640 480">
+  <path fill="#ed2939" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M180 0h120v480H180z"/>
+  <path fill="#fff" d="M0 180h640v120H0z"/>
+  <path fill="#002664" d="M210 0h60v480h-60z"/>
+  <path fill="#002664" d="M0 210h640v60H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/np.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/np.svg
new file mode 100644
index 0000000..4e151e4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/np.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-np" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="np-a">
+      <path fill-opacity=".7" d="M0-16h512v512H0z"/>
+    </clipPath>
+  </defs>
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <g clip-path="url(#np-a)" transform="translate(0 15) scale(.9375)">
+    <g fill-rule="evenodd">
+      <path fill="#ce0000" stroke="#000063" stroke-width="13.8" d="M6.5 489.5h378.8L137.4 238.1l257.3.3L6.6-9.5v499z"/>
+      <path fill="#fff" d="M180.7 355.8l-27 9 21.2 19.8-28.5-1.8 11.7 26.2-25.5-12.3.5 28.6-18.8-20.9-10.7 26.6-9.2-26.3-20.3 20.6 1.8-27.7L49 409l12.6-25-29.3.6 21.5-18.3-27.3-10.5 27-9L32.2 327l28.4 1.8L49 302.6l25.6 12.3-.5-28.6 18.8 20.9 10.7-26.6 9.1 26.3 20.4-20.6-1.9 27.7 27-11.4-12.7 25 29.4-.6-21.5 18.3zm-32.4-184.7l-11.3 8.4 5.6 4.6a93.8 93.8 0 0030.7-36c1.8 21.3-17.7 69-68.7 69.5a70.6 70.6 0 01-71.5-70.3c10 18.2 16.2 27 32 36.5l4.7-4.4-10.6-8.9 13.7-3.6-7.4-12.4 14.4 1-1.8-14.4 12.6 7.4 4-13.5 9 10.8 8.5-10.3 4.6 14 11.8-8.2-1.5 14.3 14.2-1.7-6.7 13.2 13.7 4z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nr.svg
new file mode 100644
index 0000000..cfdc0d1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nr.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nr" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="nr-a">
+      <path fill-opacity=".7" d="M-54.7 0H628v512H-54.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#nr-a)" transform="translate(51.3) scale(.9375)">
+    <path fill="#002170" d="M-140 0H884v512H-140z"/>
+    <path fill="#ffb20d" d="M-140 234.1H884V278H-140z"/>
+    <path fill="#fff" d="M161.8 438l-33-33-10.5 45.4-12-45-31.9 34 12.1-45L42 407.9l33-33-45.4-10.6 45-12-34-31.8 45 12L72 288l33 33 10.6-45.4 12 45 31.8-34-12 45 44.5-13.5-33 33 45.4 10.5-45 12 34 32-45-12.2z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nu.svg
new file mode 100644
index 0000000..b38585e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nu.svg
@@ -0,0 +1,26 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-nu" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="nu-a">
+      <path fill-opacity=".7" d="M0 0h496v372H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#nu-a)" transform="scale(1.2902)">
+    <path fill="#fff" fill-rule="evenodd" d="M0 0h499.6v248.1H0z"/>
+    <path fill="#c00" d="M0 0v18.6L119.2 80l44.9 1.3L0 0z"/>
+    <path fill="#006" d="M51 0l144.6 75.5V0H51z"/>
+    <path fill="#c00" d="M214.9 0v96.4H0v55h215v96.4h66v-96.4h215v-55H281V0h-66z"/>
+    <path fill="#006" d="M300.2 0v71.1L441.6.6 300.2 0z"/>
+    <path fill="#c00" d="M304.7 78.9l39.8-.3L498.9.6l-41 .6L304.8 79z"/>
+    <path fill="#006" d="M0 167.5v52.8L99.2 168 0 167.6z"/>
+    <path fill="#c00" d="M381.9 169.7l-41.4-.3 155.8 77.5-1-17.7-113.5-59.5zM38.7 248.3l146.1-76.8-38.3.3L0 248.1"/>
+    <path fill="#006" d="M497.9 21.8l-118 58.5 116.4.5v87.1h-99.1l98.2 53.3 1.4 27-52.4-.6-143.6-70.5v71.2H196V177L61.3 248l-60.9.2V496H992V.4L499 0M.6 28L0 79.4l104.4 1.3L.5 28z"/>
+    <g fill="#ffd900" fill-rule="evenodd" stroke-width="1pt">
+      <path d="M496 0h496.1v496h-496z"/>
+      <path d="M0 248h523.5v248H0z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#000067" d="M290.9 125.3a42.8 42.8 0 11-85.5 0 42.8 42.8 0 0185.5 0z"/>
+      <path fill="#fff40d" d="M240.2 114.3l8.2-24.6 8.2 24.6h26.7l-21.6 15.2L270 154l-21.6-15.3-21.6 15.2 8.3-24.5-21.6-15.2zm148.5 4l4.1-11.5 4 11.6h13.3l-10.7 7 4.1 11.5-10.7-7-10.7 7 4.1-11.5-10.7-7zM244.1 204l4-11.5 4.1 11.5h13.2l-10.7 7 4.1 11.6-10.7-7.1-10.7 7 4.1-11.4-10.7-7.1zm0-167l4-11.6 4.1 11.5h13.2L254.7 44l4.1 11.5-10.7-7-10.7 7 4.1-11.5-10.7-7zM98.9 118.2l4.1-11.5 4 11.5h13.3l-10.7 7.1 4.1 11.5-10.7-7-10.7 7 4.1-11.5-10.7-7z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nz.svg
new file mode 100644
index 0000000..ba7cac0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/nz.svg
@@ -0,0 +1,41 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-nz" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="nz-c">
+      <path d="M0 0h600v300H0z"/>
+    </clipPath>
+    <clipPath id="nz-d">
+      <path d="M0 0l300 150H0zm300 0h300L300 150zm0 150h300v150zm0 0v150H0z"/>
+    </clipPath>
+    <g id="b">
+      <g id="a">
+        <path d="M0 0v.5L1 0z" transform="translate(0 -.3)"/>
+        <path d="M0 0v-.5L1 0z" transform="rotate(-36 .5 -.2)"/>
+      </g>
+      <use transform="scale(-1 1)" xlink:href="#a"/>
+      <use transform="rotate(72 0 0)" xlink:href="#a"/>
+      <use transform="rotate(-72 0 0)" xlink:href="#a"/>
+      <use transform="scale(-1 1) rotate(72)" xlink:href="#a"/>
+    </g>
+  </defs>
+  <path fill="#00247d" fill-rule="evenodd" d="M0 0h640v480H0z"/>
+  <g transform="translate(-93 36.1) scale(.66825)">
+    <use width="100%" height="100%" fill="#fff" transform="matrix(45.4 0 0 45.4 900 120)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="matrix(30 0 0 30 900 120)" xlink:href="#b"/>
+  </g>
+  <g transform="rotate(82 534.2 125) scale(.66825)">
+    <use width="100%" height="100%" fill="#fff" transform="rotate(-82 519 -457.7) scale(40.4)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="rotate(-82 519 -457.7) scale(25)" xlink:href="#b"/>
+  </g>
+  <g transform="rotate(82 534.2 125) scale(.66825)">
+    <use width="100%" height="100%" fill="#fff" transform="rotate(-82 668.6 -327.7) scale(45.4)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="rotate(-82 668.6 -327.7) scale(30)" xlink:href="#b"/>
+  </g>
+  <g transform="translate(-93 36.1) scale(.66825)">
+    <use width="100%" height="100%" fill="#fff" transform="matrix(50.4 0 0 50.4 900 480)" xlink:href="#b"/>
+    <use width="100%" height="100%" fill="#cc142b" transform="matrix(35 0 0 35 900 480)" xlink:href="#b"/>
+  </g>
+  <path stroke="#fff" stroke-width="60" d="M0 0l600 300M0 300L600 0" clip-path="url(#nz-c)" transform="scale(.60681 .73139)"/>
+  <path stroke="#cc142b" stroke-width="40" d="M0 0l600 300M0 300L600 0" clip-path="url(#nz-d)" transform="scale(.60681 .73139)"/>
+  <path fill="#fff" d="M151.7 0v79.4H0V140h151.7v79.4h60.7v-79.3H364V79.4H212.4V0z" clip-path="url(#nz-c)" color="#000" font-family="sans-serif" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;block-progression:tb;isolation:auto;mix-blend-mode:normal"/>
+  <path fill="#cc142b" d="M163.8 0v91.5H0v36.4h163.8v91.5h36.4V128h163.9V91.5H200.2V0z" color="#000" font-family="sans-serif" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;block-progression:tb;isolation:auto;mix-blend-mode:normal"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/om.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/om.svg
new file mode 100644
index 0000000..68fe15d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/om.svg
@@ -0,0 +1,115 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-om" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="om-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#om-a)">
+    <path fill="#ef2d29" fill-rule="evenodd" d="M-3.3-21.6H699v553H-3.3z"/>
+    <path fill="#009025" fill-rule="evenodd" d="M174.6 317.3h535.7V525H174.6z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M174.6-35.4h564.9v190h-565z"/>
+    <g stroke="#ef2d28">
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 111.3 -13.4)">
+        <rect width="138.2" height="85" x="17.7" y="467.7" stroke-width="1.4" rx="11.3" ry="11.8"/>
+        <rect width="131.1" height="78" x="21.3" y="471.3" stroke-width="1.3" rx="10.7" ry="10.9"/>
+        <path stroke-width="1.3" d="M65 396l9.7.5.4 5.8 8 5.3 6.2-6.7 7.5 5.3-7 5.8 1.7 8 8.8-.5V430l-7-.4-3.6 6.6 8 7.5-6.2 6.2-6.7-6.6-9.7 2.6.5 9.7-10.6 1-1.4-9.4-8.8-4.8-4.9 6.6-7.5-4.9 4.4-7.5-5.3-4.8H34l-.4-13.7 7.5.9 5.3-8-6.2-6.2 8-7 5.7 5.7 9.7-1.8L65 396z" transform="matrix(.68108 0 0 .5852 38 260.7)"/>
+        <ellipse cx="68.9" cy="426.8" stroke-width="1.3" rx="11.1" ry="9.9" transform="matrix(.65819 0 0 .70224 38.8 209.6)"/>
+        <path stroke-width="1.3" d="M39 474.8l-10.7 10.6m17.8-10.6l-10.7 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6L78 485.4m17.7-10.6L85 485.4m17.8-10.6L92 485.4m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m-17.7-10.6L78 485.4m46-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m0-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.7 10.6M85 474.8l10.6 10.6m-17.8-10.6l10.7 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6M85 474.8l10.6 10.6m-46-10.6l10.5 10.6m-17.7-10.6l10.7 10.6m-17.8-10.6L46 485.4m-17.8-10.6L39 485.4m0 49.6l-10.6 10.7M46 535l-10.7 10.7M53.2 535l-10.7 10.7M60.2 535l-10.6 10.7M67.3 535l-10.6 10.7M74.4 535l-10.6 10.7M81.5 535L71 545.7M88.6 535L78 545.7M95.7 535L85 545.7m17.7-10.7L92 545.7m18-10.7l-10.7 10.7M117 535l-10.6 10.7M88.6 535L78 545.7m46-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m0-10.7l10.6 10.7M127.6 535l10.6 10.7M120.5 535l10.6 10.7M113.4 535l10.6 10.7M106.3 535l10.6 10.7M99.2 535l10.7 10.7M92 535l10.7 10.7M85 535l10.6 10.7M78 535l10.6 10.7M70.9 535l10.6 10.7M63.8 535l10.6 10.7M56.7 535l10.6 10.7M85.1 535l10.6 10.7m-46-10.7l10.5 10.7M42.5 535l10.7 10.7M35.4 535l10.7 10.7M28.4 535L39 545.7"/>
+      </g>
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 19.1 -14)">
+        <rect width="138.2" height="85" x="17.7" y="467.7" stroke-width="1.4" rx="11.3" ry="11.8"/>
+        <rect width="131.1" height="78" x="21.3" y="471.3" stroke-width="1.3" rx="10.7" ry="10.9"/>
+        <path stroke-width="1.3" d="M65 396l9.7.5.4 5.8 8 5.3 6.2-6.7 7.5 5.3-7 5.8 1.7 8 8.8-.5V430l-7-.4-3.6 6.6 8 7.5-6.2 6.2-6.7-6.6-9.7 2.6.5 9.7-10.6 1-1.4-9.4-8.8-4.8-4.9 6.6-7.5-4.9 4.4-7.5-5.3-4.8H34l-.4-13.7 7.5.9 5.3-8-6.2-6.2 8-7 5.7 5.7 9.7-1.8L65 396z" transform="matrix(.68108 0 0 .5852 38 260.7)"/>
+        <ellipse cx="68.9" cy="426.8" stroke-width="1.3" rx="11.1" ry="9.9" transform="matrix(.65819 0 0 .70224 38.8 209.6)"/>
+        <path stroke-width="1.3" d="M39 474.8l-10.7 10.6m17.8-10.6l-10.7 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6L78 485.4m17.7-10.6L85 485.4m17.8-10.6L92 485.4m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m-17.7-10.6L78 485.4m46-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m17.7-10.6l-10.6 10.6m0-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.7 10.6M85 474.8l10.6 10.6m-17.8-10.6l10.7 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6m-17.7-10.6l10.6 10.6M85 474.8l10.6 10.6m-46-10.6l10.5 10.6m-17.7-10.6l10.7 10.6m-17.8-10.6L46 485.4m-17.8-10.6L39 485.4m0 49.6l-10.6 10.7M46 535l-10.7 10.7M53.2 535l-10.7 10.7M60.2 535l-10.6 10.7M67.3 535l-10.6 10.7M74.4 535l-10.6 10.7M81.5 535L71 545.7M88.6 535L78 545.7M95.7 535L85 545.7m17.7-10.7L92 545.7m18-10.7l-10.7 10.7M117 535l-10.6 10.7M88.6 535L78 545.7m46-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m17.7-10.7l-10.6 10.7m0-10.7l10.6 10.7M127.6 535l10.6 10.7M120.5 535l10.6 10.7M113.4 535l10.6 10.7M106.3 535l10.6 10.7M99.2 535l10.7 10.7M92 535l10.7 10.7M85 535l10.6 10.7M78 535l10.6 10.7M70.9 535l10.6 10.7M63.8 535l10.6 10.7M56.7 535l10.6 10.7M85.1 535l10.6 10.7m-46-10.7l10.5 10.7M42.5 535l10.7 10.7M35.4 535l10.7 10.7M28.4 535L39 545.7"/>
+      </g>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M538.6 531.5c1.7 166.6 24.8 202 3.5 202s-31.9-92.1-31.9-205.5 14.2-205.5 35.5-205.5-9 31.9-7.1 209z" transform="matrix(-.32136 -.12684 -.20158 .20221 345.9 61.4)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.2" d="M545.7 779.5l-60.3 17.7c56.7 60.3 120.5 85 138.2 74.4 17.7-10.6-31.9-35.4-78-92z" transform="matrix(-.19848 0 0 .17744 145.3 -13.4)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M547.3 786.9l-51 14.7c56.7 60.3 112.8 77.4 127.3 70 14.6-7.3-30.3-28-76.3-84.7z" transform="matrix(-.19334 0 0 .17062 142.8 -8.1)"/>
+      <path fill="none" stroke-width="1.8" d="M353.1 634.2c.2 1.3.8 7.1 1.3 9.4 0 3.2.3 5.6.6 8.1.8 2.2.7 4.2 3.1 5a9.9 9.9 0 005 4.4 27.7 27.7 0 006.3 3.8 11.6 11.6 0 007.5.6c2.2-1.5 3.8-3.1 5.6-4.4.4-2 .8-4.9 1.3-6.9a32.6 32.6 0 00-1.3 8.2c.2 3 1.3 4.4 2.5 6.8" transform="matrix(-.13978 0 0 .12414 123 20.4)"/>
+      <path fill="none" stroke-width="1.8" d="M389.4 681.7l.6-.6c-1.5 1.5-.9.8 2.5-1.3 2.4-1.2 5-1.8 8.1-2.4h8.8c3.4 0 5.7.5 8.1 1.2 1.8 1.8 4.4 2.8 6.3 4.4a11 11 0 013.7 5c1.7 1.7 2.8 4.3 4.4 5.6.7 2.9 2.1 2.8 3.1 5-3 .2-5.3.6-6.9 2.5-2.6 1.3 2.2-1.3 3.2-2.5 2-.6 2.5-1.2 5.6-1.2 2.8-1 4.6.7 7.5 1.2 1.7 1 2.2 1.3 4.4 1.3" transform="matrix(-.13978 0 0 .12414 124.9 19.7)"/>
+      <path fill="none" stroke-width="1.8" d="M438.1 724.9c1.3 0 7.1 1.1 9.4 0 2.6-.7 4-2 5.6-4.4.8-1.7 0 3 0 5 .3 3.7 1.4 3.7 3.2 6.2 1.8 1.2 3.7 2.8 5.6 3.8a18 18 0 005.6 3.1c2 1 4.1 1.8 5.6 3.1 2.1 1.5 2 3.3 3.2 5.7-.3 3-.8 4.8-2.5 6.2-.8 2.1-2.4 4.2-3.8 5.6-1.5 3-3.3 4.3.6 5 2.2 1 3.4.2 5.7 0" transform="matrix(-.13978 0 0 .12414 127 18.2)"/>
+      <path fill="none" stroke-width="1.8" d="M480.6 771.7c1.6-.4 7-2.2 9.4-3.1h8.8c3.3.3 4 1.3 6.8 2.5 1.9 1.9 3.1 3.2 5.7 4.4 1.3 1.7 4 4.7 5 6.9a25.5 25.5 0 011.2 8c0 3.7-1 4.4-1.2 7.6a19.3 19.3 0 01-3.8 7.5c-.3.8-.5 1-1.2 1.2" transform="matrix(-.13978 0 0 .12414 127.4 17.8)"/>
+      <path fill="none" stroke-width="2.3" d="M538.1 818c.4 0 1.2 2 2.5 3.7 2.9 3 3.2 3.2 7.5 3.2 4-.2 3.5-1.6 6.3-2.5 1.3-2 2.9-3.6 4.4-6.3 1-1.6 1.9-4.1 3-5.6 1.2-1.9 2.6-3.3 3.8-5 1.2-.5 1.6-1 3.2-1.3-3.6.6-4 1.9-6.3 3.8a58.9 58.9 0 00-3.1 5.6c-.4 2.7-1.2 4.8-1.3 8.1 0 3.5 0 5.9 1.3 8.8 1.5 1.5 2.5 3.1 4.4 4.4a36.7 36.7 0 014.3 5l5.7 3.7c1.8 1.1 3.9 2.2 6.8 2.5 3.7-.3 4.8-1.3 7.5-2.5 2.4-1.7 4.2-2.8 6.3-4.4a21 21 0 004.4-5c3.3-.8 5.5-.5 7.5 1.3a16.5 16.5 0 014.3 4.4c1 .5 2.8 2 3.8 2.5" transform="matrix(-.09924 0 0 .09799 109.5 38.8)"/>
+      <path fill="none" stroke-width="1.9" d="M503.8 836.1c-.8.3-3.8 2.4-5 3.1-.8 2.7-2.1 4.1-2.5 7-.7 2.6-.7 5.6-.7 8.7.7 3.2 2 5.5 3.2 8 2 1.4 3 2.4 5.6 3.8 2.5.4 5 .7 8.1.7 2 .6 5.6.9 7.5 0 2.8-.4 4.9-1.5 6.9-2.5 2.3-1.3 3.7-2.6 6.2-3.8 1.3-1.8 3.2-3.5 5-5.6 1.6-2.1 2.7-3.3 3.8-5.6-1 2.6-2.3 5-3.1 7.5-1.5 2.6-2.3 3.6-2.5 6.8-1 2.6-.7 5.8-.7 8.8.3 2 .4 5.8 1.3 7.5v1.9" transform="matrix(-.12338 0 0 .12229 111.4 19.3)"/>
+      <path fill="none" stroke-width="1.2" d="M541.3 799.2v.7c0-1.7 0-.9-.7 2.5-1.1 1.4-4 1.8-6.2 1.2-2-1.7-2-3-5.6-3.7-3.6.2-5 1.2-7 2.5a9.5 9.5 0 00-5 4.3c-.7 2.1-1.1 3.6 1.3 4.4a15.2 15.2 0 007 2.5c2.8 0 4.9-.3 6.2 1.3 2 2 1.8 3.2 1.8 6.8.7 1.1.8 4.4 1.3 5.7a10.6 10.6 0 005.6 1.2c.7-2 1.4-5.4 1.9-7.5.5-2.2.6-5.4 1.9-6.9a16.6 16.6 0 014.3-4.4 8 8 0 013.8-2.4c-2.5 1.2-2.8 2.6-3.1 5.6 2.1 1 2.7 1.8 6.2 1.9 3.5-.3 4.3-1.2 5.6-3.2.3 3.2 1.3 4.2 2 7 1.2 1.8 1.7 3.7 3 6.2-.5 3-1.7 3.1-1.8 6.8-.8 2.5-.8 4.8-2.5 6.3-.8 1-1.4 1.1-3.2 1.2 3.6 0 5.8-.4 8.2-1.8 1.8-1.2 3.2-2.6 5-3.8a23.9 23.9 0 017.5-3.8c2.9 0 5-.3 6.2 1.3 1.8 1.3 3 3.5 3.8 6.3.5 3.2.8 5.4-.7 7.5-1 2.4-1.3 3.3 0 6.2 1.5 2 3.6 2.3 7 3.1 2.3-.1 4.6-.6 6.2-1.2" transform="matrix(-.19848 0 0 .17744 145.3 -13.4)"/>
+      <g fill-rule="evenodd" stroke-width="1.3" transform="matrix(-.19848 0 0 .17744 145.3 -13.4)">
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4h-35.4z" transform="matrix(1.4216 -.73423 .46161 .89375 -716.8 541)"/>
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4" transform="matrix(1.1373 -.58739 .44532 .86221 -554.8 471.8)"/>
+        <path fill="#fff" d="M563.4 301.2c.2 18.9 0 40.2 0 60.2H535c0-20-.2-41.3 0-60.2h28.4z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M559.8 304.7c.2 19 0 33.1 0 53.2h-21.2c0-20-.2-34.3 0-53.2h21.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M542.1 311.8h14.2v39h-14.2zm0 0l14.2 39m-14.2 0l14.2-39m-14.2-198.4h14.2" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <circle cx="545.7" cy="92.1" r="3.5" fill="#ef0000" transform="matrix(1.6046 .45375 -.36215 1.5787 -734.9 -170.8)"/>
+      </g>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M538.6 531.5c1.7 166.6 24.8 202 3.5 202s-31.9-92.1-31.9-205.5 14.2-205.5 35.5-205.5-9 31.9-7.1 209z" transform="matrix(.32136 -.12684 .20158 .20221 -181.5 60.8)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.2" d="M545.7 779.5l-60.3 17.7c56.7 60.3 120.5 85 138.2 74.4 17.7-10.6-31.9-35.4-78-92z" transform="matrix(.19848 0 0 .17744 19.1 -14)"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width="1.3" d="M547.3 786.9l-51 14.7c56.7 60.3 112.8 77.4 127.3 70 14.6-7.3-30.3-28-76.3-84.7z" transform="matrix(.19334 0 0 .17062 21.6 -8.8)"/>
+      <path fill="none" stroke-width="1.8" d="M353.1 634.2c.2 1.3.8 7.1 1.3 9.4 0 3.2.3 5.6.6 8.1.8 2.2.7 4.2 3.1 5a9.9 9.9 0 005 4.4 27.7 27.7 0 006.3 3.8 11.6 11.6 0 007.5.6c2.2-1.5 3.8-3.1 5.6-4.4.4-2 .8-4.9 1.3-6.9a32.6 32.6 0 00-1.3 8.2c.2 3 1.3 4.4 2.5 6.8" transform="matrix(.13978 0 0 .12414 41.4 19.7)"/>
+      <path fill="none" stroke-width="1.8" d="M389.4 681.7l.6-.6c-1.5 1.5-.9.8 2.5-1.3 2.4-1.2 5-1.8 8.1-2.4h8.8c3.4 0 5.7.5 8.1 1.2 1.8 1.8 4.4 2.8 6.3 4.4a11 11 0 013.7 5c1.7 1.7 2.8 4.3 4.4 5.6.7 2.9 2.1 2.8 3.1 5-3 .2-5.3.6-6.9 2.5-2.6 1.3 2.2-1.3 3.2-2.5 2-.6 2.5-1.2 5.6-1.2 2.8-1 4.6.7 7.5 1.2 1.7 1 2.2 1.3 4.4 1.3" transform="matrix(.13978 0 0 .12414 39.5 19)"/>
+      <path fill="none" stroke-width="1.8" d="M438.1 724.9c1.3 0 7.1 1.1 9.4 0 2.6-.7 4-2 5.6-4.4.8-1.7 0 3 0 5 .3 3.7 1.4 3.7 3.2 6.2 1.8 1.2 3.7 2.8 5.6 3.8a18 18 0 005.6 3.1c2 1 4.1 1.8 5.6 3.1 2.1 1.5 2 3.3 3.2 5.7-.3 3-.8 4.8-2.5 6.2-.8 2.1-2.4 4.2-3.8 5.6-1.5 3-3.3 4.3.6 5 2.2 1 3.4.2 5.7 0" transform="matrix(.13978 0 0 .12414 37.4 17.6)"/>
+      <path fill="none" stroke-width="1.8" d="M480.6 771.7c1.6-.4 7-2.2 9.4-3.1h8.8c3.3.3 4 1.3 6.8 2.5 1.9 1.9 3.1 3.2 5.7 4.4 1.3 1.7 4 4.7 5 6.9a25.5 25.5 0 011.2 8c0 3.7-1 4.4-1.2 7.6a19.3 19.3 0 01-3.8 7.5c-.3.8-.5 1-1.2 1.2" transform="matrix(.13978 0 0 .12414 37 17.2)"/>
+      <path fill="none" stroke-width="2.3" d="M538.1 818c.4 0 1.2 2 2.5 3.7 2.9 3 3.2 3.2 7.5 3.2 4-.2 3.5-1.6 6.3-2.5 1.3-2 2.9-3.6 4.4-6.3 1-1.6 1.9-4.1 3-5.6 1.2-1.9 2.6-3.3 3.8-5 1.2-.5 1.6-1 3.2-1.3-3.6.6-4 1.9-6.3 3.8a58.9 58.9 0 00-3.1 5.6c-.4 2.7-1.2 4.8-1.3 8.1 0 3.5 0 5.9 1.3 8.8 1.5 1.5 2.5 3.1 4.4 4.4a36.7 36.7 0 014.3 5l5.7 3.7c1.8 1.1 3.9 2.2 6.8 2.5 3.7-.3 4.8-1.3 7.5-2.5 2.4-1.7 4.2-2.8 6.3-4.4a21 21 0 004.4-5c3.3-.8 5.5-.5 7.5 1.3a16.5 16.5 0 014.3 4.4c1 .5 2.8 2 3.8 2.5" transform="matrix(.09924 0 0 .09799 55 38.2)"/>
+      <path fill="none" stroke-width="1.9" d="M503.8 836.1c-.8.3-3.8 2.4-5 3.1-.8 2.7-2.1 4.1-2.5 7-.7 2.6-.7 5.6-.7 8.7.7 3.2 2 5.5 3.2 8 2 1.4 3 2.4 5.6 3.8 2.5.4 5 .7 8.1.7 2 .6 5.6.9 7.5 0 2.8-.4 4.9-1.5 6.9-2.5 2.3-1.3 3.7-2.6 6.2-3.8 1.3-1.8 3.2-3.5 5-5.6 1.6-2.1 2.7-3.3 3.8-5.6-1 2.6-2.3 5-3.1 7.5-1.5 2.6-2.3 3.6-2.5 6.8-1 2.6-.7 5.8-.7 8.8.3 2 .4 5.8 1.3 7.5v1.9" transform="matrix(.12338 0 0 .12229 53 18.6)"/>
+      <path fill="none" stroke-width="1.2" d="M541.3 799.2v.7c0-1.7 0-.9-.7 2.5-1.1 1.4-4 1.8-6.2 1.2-2-1.7-2-3-5.6-3.7-3.6.2-5 1.2-7 2.5a9.5 9.5 0 00-5 4.3c-.7 2.1-1.1 3.6 1.3 4.4a15.2 15.2 0 007 2.5c2.8 0 4.9-.3 6.2 1.3 2 2 1.8 3.2 1.8 6.8.7 1.1.8 4.4 1.3 5.7a10.6 10.6 0 005.6 1.2c.7-2 1.4-5.4 1.9-7.5.5-2.2.6-5.4 1.9-6.9a16.6 16.6 0 014.3-4.4 8 8 0 013.8-2.4c-2.5 1.2-2.8 2.6-3.1 5.6 2.1 1 2.7 1.8 6.2 1.9 3.5-.3 4.3-1.2 5.6-3.2.3 3.2 1.3 4.2 2 7 1.2 1.8 1.7 3.7 3 6.2-.5 3-1.7 3.1-1.8 6.8-.8 2.5-.8 4.8-2.5 6.3-.8 1-1.4 1.1-3.2 1.2 3.6 0 5.8-.4 8.2-1.8 1.8-1.2 3.2-2.6 5-3.8a23.9 23.9 0 017.5-3.8c2.9 0 5-.3 6.2 1.3 1.8 1.3 3 3.5 3.8 6.3.5 3.2.8 5.4-.7 7.5-1 2.4-1.3 3.3 0 6.2 1.5 2 3.6 2.3 7 3.1 2.3-.1 4.6-.6 6.2-1.2" transform="matrix(.19848 0 0 .17744 19.1 -14)"/>
+      <g fill-rule="evenodd" stroke-width="1.3" transform="matrix(.19848 0 0 .17744 19.1 -14)">
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4h-35.4z" transform="matrix(1.4216 -.73423 .46161 .89375 -716.8 541)"/>
+        <path fill="#fff" d="M531.5 359.6c0-165.2 8-299.4 17.7-299.4 9.8 0 17.7 134.2 17.7 299.4" transform="matrix(1.1373 -.58739 .44532 .86221 -554.8 471.8)"/>
+        <path fill="#fff" d="M563.4 301.2c.2 18.9 0 40.2 0 60.2H535c0-20-.2-41.3 0-60.2h28.4z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M559.8 304.7c.2 19 0 33.1 0 53.2h-21.2c0-20-.2-34.3 0-53.2h21.2z" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <path fill="#fff" d="M542.1 311.8h14.2v39h-14.2zm0 0l14.2 39m-14.2 0l14.2-39m-14.2-198.4h14.2" transform="matrix(1.4216 -.73423 .45889 .88849 -716.7 541.4)"/>
+        <circle cx="545.7" cy="92.1" r="3.5" fill="#ef0000" transform="matrix(1.6046 .45375 -.36215 1.5787 -734.9 -170.8)"/>
+      </g>
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 19.1 -14)">
+        <path stroke-width="1.3" d="M305.6 396.9c0 124 .5 170.7-5.6 177.1-5.8 6.9-167.1 0-167.1 35.4s132.8 71 172.7 71c53.2 0 79.7-35.5 79.7-106.4V397h-79.7z" transform="matrix(1.3333 0 0 1 -141.7 0)"/>
+        <path stroke-width="1.3" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 35.4)"/>
+        <path stroke-width="1.3" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="scale(1 .99999)"/>
+        <path stroke-width="1.3" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 17.7)"/>
+        <path stroke-width="1.3" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 53.1)"/>
+        <ellipse cx="256.9" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 394.3)"/>
+        <ellipse cx="292.3" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 391.1)"/>
+        <ellipse cx="327.8" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 390.5)"/>
+        <ellipse cx="363.2" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 390.5)"/>
+        <ellipse cx="398.6" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 391.1)"/>
+        <ellipse cx="434.1" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 394.3)"/>
+        <path stroke-width="1.3" d="M265.8 485.4L372 581.1m-95.6-95.7l95.7 85M290.5 489l81.6 70.9m-71-71l71 60.3M311.8 489l60.2 49.6M322.4 489l49.6 39m-39-39l39 28.3M343.8 489l28.4 21.2M354.3 489l17.8 14.2M365 489l7 7m-106.2 0L372 591.8m0-106.3L255 591.7m106.3-106.3l-102.7 92.2m88.6-88.6l-81.5 70.8m70.8-70.8l-70.8 60.2M326 489l-60.2 49.6m49.6-49.6l-49.6 39m39-39l-39 28.3M294 489l-28.3 21.2m17.7-21.2l-17.7 14.2m7-14.2l-7 7m106.3 0L255 602.5m117-95.7L255 613m117-95.7L255 623.6m117-95.7L255 634.4m117-95.7L255 644.9m117-95.7L255 655.5m117-95.7L255 666.1m117-95.6L255 676.8m117-95.7l-109.9 99.2M372 591.7l-99.2 88.6m95.6-74.4l-78 70.9M365 620l-63.8 56.7m56.7-39l-32 28.3m-60.1-159.4l102.7 92.1m-102.7-81.5l102.7 92.2M265.8 528l99.2 88.5m-99.2-78l99.2 88.7m-99.2-78l95.6 85m-99.2-77.9l95.7 85M262.2 567l88.6 78m-92.1-71l88.6 78M255 581l85 74.4m-85-63.8l81.5 70.9M255 602.3l71 63.7"/>
+        <path stroke-width="1.3" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(1 0 0 .99999 0 70.9)"/>
+        <path stroke-width="1.3" d="M255.1 613l63.8 56.7m-63.8-46l56.7 49.5m-56.7-39l49.6 42.6m-49.6-32l35.5 32M255 655.5l28.4 24.8M255 666.1l17.7 14.2"/>
+        <ellipse cx="256.9" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 447.5)"/>
+        <ellipse cx="292.3" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 444.3)"/>
+        <ellipse cx="327.8" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 443.6)"/>
+        <ellipse cx="363.2" cy="264" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 443.6)"/>
+        <ellipse cx="398.6" cy="246.3" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 444.3)"/>
+        <ellipse cx="434.1" cy="210.8" stroke-width="4.4" rx="8.9" ry="26.6" transform="matrix(.54545 0 0 .14383 130.5 447.5)"/>
+        <path stroke-width="1.3" d="M113.4 652l127.5-74.4m-134.6 70.8l120.5-70.8m-124 63.7l109.8-63.7M99.2 634.3l95.7-56.7M92 627.2l88.6-49.6m-85 39l60.2-35.5M92 609.4l46-28.3m-46 17.7l32-17.7m0 74.4l120.4-70.9M134.7 659L248 591.7m-102.7 70.9l106.3-63.8m-95.7 67.3l88.6-53.1M170 666.1l78-46m-67.4 49.6l67.3-39m-56.7 42.5l53.2-31.9m-39 32l42.5-24.9m-28.3 28.4L248 659m-14 17.8l17.7-10.6"/>
+        <path stroke-width="1.3" d="M265.8 396.9v17.7a321.1 321.1 0 00106.2 0v-17.7a321.1 321.1 0 01-106.2 0z" transform="matrix(0 1 -.99999 0 655.5 308.3)"/>
+        <path stroke-width="1.3" d="M49.6 623.6l42.5-35.4m-42.5 10.6l42.5 42.5"/>
+        <path stroke-width="1.3" d="M260.1 388l5.6 26.6c35.5 5.9 65.3 5.9 100.8 0l11.1-26.6c-35.4 5.9-82 5.9-117.5 0z" transform="matrix(0 .63333 -.8 0 423.8 416.3)"/>
+        <path stroke-width="1.3" d="M258.7 350.8v-17.9c-10.7.2-17.8-10.5-17.8-21.2l-35.4.1c0 10.6-7 21.3-17.7 21.3v17.7h70.9z" transform="matrix(1.4983 0 0 1 -15.6 53.1)"/>
+        <path stroke-width="1.4" d="M296 343.7h45.6V365H296zm3.9-21.3h37.9v21.3h-38zm0-21.2h37.9v21.2h-38zm3.8-28.4H334v28.4h-30.3zm-1.3-24.8h33v24.8h-33z"/>
+        <ellipse cx="237.4" cy="161.2" stroke-width="1.3" rx="42.5" ry="33.7" transform="matrix(1.0333 0 0 1 75.3 63.8)"/>
+        <path stroke-width="1.3" d="M258.7 159.4c0 9.3 10.6 24.8 10.6 24.8-7.7 6.2-20.2 10.7-31.9 10.7s-26.3-2.6-31.9-10.7c0 0 10.6-15.4 10.6-24.7s-10.6-21.3-10.6-21.3a54.6 54.6 0 0132-10.6c11.6 0 24 4.5 31.8 10.6 0 0-10.6 12-10.6 21.3z" transform="matrix(1.0333 0 0 1 75.3 63.8)"/>
+        <path stroke-width="1.3" d="M251.6 159.4c0 9.3 10.6 28.4 10.6 28.4-7.7 6-13 7-24.8 7s-19.2 1.1-24.8-7c0 0 10.6-19 10.6-28.4s-10.6-24.8-10.6-24.8c7.7-6 13-7 24.8-7 11.7 0 17.1 1 24.8 7 0 0-10.6 15.5-10.6 24.8z" transform="matrix(1.0333 0 0 1 75.3 63.8)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 75.3 60.2)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 163.2 60.2)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 119.3 60.2)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0333 0 0 1 119.3 24.8)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0702 0 0 1 80 226.8)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.0702 0 0 1 140.6 226.8)"/>
+        <path stroke-width="1.3" d="M212.6 311.8h49.6l-24.8 31.9-24.8-31.9z" transform="matrix(1.0702 0 0 1 64.8 53.1)"/>
+        <circle cx="194.9" cy="166.5" r="10.6" stroke-width="1.3" transform="matrix(1.427 0 0 1.3333 40.7 167.7)"/>
+      </g>
+      <g fill="#fff" fill-rule="evenodd" transform="matrix(.19848 0 0 .17744 18.8 -19.1)">
+        <rect width="81.5" height="21.3" x="262.2" y="524.4" stroke-width="1.2" rx="4.3" ry="3.7"/>
+        <path stroke-width="1.2" d="M368.5 506.7c-9.8 0-17.7 8.3-17.7 18.5v16.1a18 18 0 0017.7 18.5 18 18 0 0017.7-18.5v-16a18 18 0 00-17.7-18.6zm0 7c-5.9 0-10.6 6.7-10.6 14.9v9.3c0 8.2 4.7 14.8 10.6 14.8 5.9 0 10.6-6.6 10.6-14.8v-9.3c0-8.2-4.7-14.8-10.6-14.8zm-92.1-3.5c-6 0-10.6 6.6-10.6 14.9v16.4c0 8.2 4.7 14.8 10.6 14.8 5.9 0 10.6-6.6 10.6-14.8V525c0-8.3-4.7-14.9-10.6-14.9zm0-7a18 18 0 00-17.7 18.5v23.2a18 18 0 0017.7 18.5c9.8 0 17.7-8.3 17.7-18.5v-23.2a18 18 0 00-17.7-18.6z"/>
+        <path stroke-width="1.2" d="M248 517.3c-5.9 0-10.6 6.6-10.6 14.8v3.9c0 8.2 4.7 14.8 10.6 14.8 6 0 10.7-6.6 10.7-14.8v-3.9c0-8.2-4.8-14.8-10.7-14.8zm0-7a18 18 0 00-17.7 18.5v10.6a18 18 0 0017.7 18.5c9.8 0 17.8-8.3 17.8-18.5v-10.6a18 18 0 00-17.8-18.6z"/>
+        <path stroke-width=".9" d="M478.4 237.4c-6 0-10.7 6.6-10.7 14.8v16.5c0 8.1 4.8 14.8 10.7 14.8 5.8 0 10.6-6.6 10.6-14.9v-16.4c0-8.2-4.8-14.8-10.6-14.8zm0-7a18 18 0 00-17.8 18.4V272a18 18 0 0017.7 18.6c9.9 0 17.8-8.3 17.8-18.6v-23.2a18 18 0 00-17.7-18.5z" transform="matrix(1.8 0 0 1.1176 -655.5 242.2)"/>
+        <path stroke-width=".9" d="M478.4 237.4c-6 0-10.7 6.6-10.7 14.8v16.5c0 8.1 4.8 14.8 10.7 14.8 5.8 0 10.6-6.6 10.6-14.9v-16.4c0-8.2-4.8-14.8-10.6-14.8zm0-7a18 18 0 00-17.8 18.4V272a18 18 0 0017.7 18.6c9.9 0 17.8-8.3 17.8-18.6v-23.2a18 18 0 00-17.7-18.5z" transform="matrix(1.8 0 0 1.1176 -425.2 245.7)"/>
+        <rect width="42.5" height="21.3" x="375.6" y="524.4" stroke-width="1.2" rx="2.3" ry="3.7"/>
+        <rect width="24.8" height="28.4" x="336.6" y="520.9" stroke-width="1.2" rx="1.3" ry="4.9"/>
+        <rect width="24.8" height="28.4" x="219.7" y="520.9" stroke-width="1.2" rx="1.3" ry="4.9"/>
+        <rect width="49.6" height="35.4" x="141.7" y="517.3" stroke-width="1.2" rx="2.6" ry="6.1"/>
+        <rect width="46.1" height="35.4" x="450" y="520.9" stroke-width="1.2" rx="2.5" ry="6.1"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pa.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pa.svg
new file mode 100644
index 0000000..09b3e11
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pa.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pa" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="pa-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#pa-a)">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M92.5 0h477.2v480H92.4z"/>
+    <path fill="#db0000" fill-rule="evenodd" d="M323 3.6h358v221.7H323z"/>
+    <path fill="#0000ab" fill-rule="evenodd" d="M3.2 225.3h319.9V480H3.2zm211.6-47.6l-42-29.4-41.7 29.6 15.5-48L105 100l51.6-.4 16-48 16.3 47.9h51.6l-41.5 30 15.9 48z"/>
+    <path fill="#d80000" fill-rule="evenodd" d="M516.9 413.9l-42.4-27.7-42.1 28 15.6-45.6-42-28 52-.5 16.2-45.4 16.4 45.3h52l-41.8 28.5 16 45.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pe.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pe.svg
new file mode 100644
index 0000000..71a1be1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pe.svg
@@ -0,0 +1,244 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-pe" viewBox="0 0 640 480">
+  <path fill="#d91023" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M213.3 0h213.4v480H213.3z"/>
+  <g fill="#00a854" stroke="#d4af37" stroke-width="2" transform="translate(245.3 154) scale(.17778)">
+    <g id="g" stroke-width="4.3" transform="matrix(.44722 -.20656 .2582 .35777 89.4 -67.3)">
+      <path d="M480.2 566.9c31.3 33 62.4 68.1 79 111.2 25.1 69.7 18.3 151.5-22.6 214a328.2 328.2 0 01-142 116.4 224.7 224.7 0 01-164.8 3.5c-20-7.4-38.9-18-57.5-28.3-8.4-1.4-13.9 8.6-7 13.3 62.4 40.6 130.9 42.2 202 28.2a273.1 273.1 0 0099-50.4c44.4-33.2 82.7-77.5 99.8-131 26.2-79 9.3-171.3-45.1-234.6a488.2 488.2 0 00-44.7-47.1l4 4.8z"/>
+      <path d="M170.6 983.3c-8.1-.8-12.2 11.8-5.1 13.6 4.2-1 10.7-12 5-13.6zm304.2-430.9c-4.5-5.6-14-2.9-17.7-7.3-4-4.7 2.9-6.5-.3-10-3-3.5-7.7-1.7-12-6.5-4.2-4.7-.4-8.8-4-12-3.7-3.4-4.2.8-8.4-3.8s-1.7-12.7-6.3-18.6c-4.5-5.7-3-12.5 2.5-11.2 3.6.8 5 4.4 10.4 5.7 5.4 1.4 7.6-2.5 11.2 1 3.5 3.4.3 9 4 14s5.9 1.2 8.6 5.5c2.7 4.4.5 6.6 2.2 11.7s8.4 3.1 10.9 10.8c2.5 7.6-1 20.7-1 20.7z"/>
+      <path d="M478.1 564.8c-5.5-26.2-27-57-52.6-79.5 15.3 12 44.9 40.5 54.4 79.3l-1.8.2z"/>
+      <path d="M460.2 524.4c-4.2-2.9-7.3-2.8-10.5-3.2 3-.2 5.9-.5 9.5 1.1l1 2.1zm-15.2-19c-4.5-1.4-7.4-.3-10.6.4 2.8-1.2 5.5-2.4 9.2-2l1.4 1.7zm4.4 3.5c-2.2-5.6-2.2-9.7-2.5-14-.1 3.9-.3 7.8.9 12.6l1.6 1.4zm13.5 18.1c-2.2-5.5-2.2-9.6-2.5-14-.1 4-.3 7.9 1 12.7l1.5 1.3zm92.3 155c-8.3-3.1-17.2 0-23.9-2.4-7.2-2.6 1.1-8.6-4.4-10.4-5.6-1.8-10.2 5.7-17.8 3.2-7.6-2.4-6.3-10-12.5-11.4-6.3-1.3-6.4 7.2-13.9 4.9-7.4-2.3-7.5-12.3-16-15.7-8.2-3.4-9-11.4-1.3-13.4 5.2-1.3 10.3 2 18 .2s7-8.7 13.1-7.1c6.1 1.5 4.4 10.4 11.4 13.2 7 2.8 11.4-4.9 16.7-2 5.3 3 .3 9.5 4.6 13.7 4.4 4.3 7.8-2.3 14.2 4.2 6.4 6.6 11.8 23 11.8 23z"/>
+      <path d="M563.5 691.6c-22.9-25.6-58.6-41.4-101.8-49.7 25 3.4 76.7 15 105.2 50l-3.4-.3z"/>
+      <path d="M524.3 661.5c-6.7-.6-10.8 1.3-15.2 2.8 3.8-2 7.5-4 13-4.4l2.2 1.6zm-27.9-10.9c-6.5 1.2-10 4-14 6.7 3.3-2.9 6.4-5.8 11.5-7.7l2.5 1zm7.2 1c-5.2-4.5-7-8.9-9.1-13.3 1.5 4.3 2.8 8.5 6.4 12.8l2.7.5zm25.3 11c-5.1-4.5-6.8-8.9-9-13.3a35 35 0 006.4 12.8l2.6.5zm25.8 223c7-5.4 9.2-15 14.7-19.4 5.8-4.7 6.2 5.9 10.6 2 4.4-3.7.9-12 6.9-17.2 6-5.2 11.4.2 15.8-4.4 4.3-4.7-2.4-9.7 3.4-14.8 5.8-5.2 13.9.5 21-5 7.1-5.3 14-1.4 11.5 6.4-1.7 5.3-7 7.9-9.7 15.6-2.6 7.8 3.2 11-1.2 15.5-4.5 4.4-10.7-2.2-16.7 2.3s-2 12.7-7.3 15.7c-5.1 3-7.6-5.1-13.4-3.8-5.7 1.4-2.2 8-10.9 10a67.8 67.8 0 01-24.7-2.9z"/>
+      <path d="M542.7 887.4c32.6-5.3 64.3-27.5 93.8-60.3-16 19.9-52.6 58.3-95.8 63.1l2-2.8z"/>
+      <path d="M587.6 870.5c4-5.6 4.7-10.2 5.8-15-.5 4.5-.8 9-3.3 14l-2.5 1zm23.5-18.1c2.5-6.4 2-11 2-16 .6 4.5 1.4 8.8.1 14.3l-2.1 1.6zm-4.6 5.7c6.4-2 10.8-1 15.5-.4-4.2-1.1-8.3-2.4-13.7-1.7l-1.8 2zm-22.2 15.8c6.3-2 10.7-1 15.4-.4-4.2-1.1-8.3-2.4-13.7-1.6l-1.7 2zm2.2-84c5.9-6.6 6.3-16.4 11-21.8 4.9-5.8 7.1 4.5 10.8 0 3.6-4.6-1.3-12.1 3.6-18.4 5-6.2 11.4-2 14.8-7.4 3.4-5.4-4-9 .7-15.2 4.8-6.2 13.7-2.1 19.9-8.9 6-6.6 13.4-4 12.3 4.2-.7 5.4-5.5 9-6.7 17.1-1.3 8.2 5.1 10.2 1.5 15.5-3.6 5.2-10.9-.1-16 5.5-5 5.6.3 12.9-4.3 16.8-4.6 3.9-8.5-3.6-13.9-1.2-5.4 2.5-.8 8.4-9 12s-24.7 1.8-24.7 1.8z"/>
+      <path d="M575 794c31.1-11.5 58.3-39.3 81.5-77.3-12.2 22.6-41.4 67.4-83 80.5l1.5-3.2z"/>
+      <path d="M616.1 768.7c3-6.2 2.8-10.8 3-15.7.4 4.4.9 8.8-.7 14.3l-2.2 1.4zm19.9-22.3c1.3-6.7 0-11.2-.9-16 1.4 4.2 3 8.4 2.7 14l-1.8 2zm-3.5 6.5c6-3.1 10.4-3 15.1-3.3-4.3-.3-8.5-.7-13.7 1l-1.4 2.3zm-19 19.8c5.8-3 10.3-3 15-3.3-4.3-.3-8.5-.7-13.7 1l-1.4 2.3zm-46.2-31.5c-7.9-5.6-18.3-4.8-24.7-9.3-6.9-4.6 3.6-8.6-1.8-12-5.4-3.4-12.4 3-19.8-1.6-7.4-4.7-3.8-12.4-10-15.5-6.3-3-9 5.7-16.2 1.2s-4.5-15-12.5-20.8c-7.9-5.8-6.4-14.4 2.4-14.3 5.8 0 10.4 4.9 19.1 5.2 8.7.2 5-4.4 11-1 6.2 3.2 5 12 11.6 17 6.7 4.8 15.2-4.7 20-.2s-2.4 10 1 15.6 9-.2 14 8.4 5.9 27.3 5.9 27.3z"/>
+      <path d="M573.4 753.5c-17-33.1-50.6-59.7-94.2-80.4 25.7 10.6 77.4 37 97.8 81.6l-3.6-1.2z"/>
+      <path d="M540.3 711c-7-2.4-11.9-1.6-17-1.2 4.6-1 9.2-2.1 15-1l2 2.2zm-26.6-19c-7.3-.7-11.8 1.4-16.7 3 4.2-2.1 8.3-4.3 14.3-4.8l2.4 1.7zm7.4 3c-4.3-6.2-4.8-11.3-6-16.4.4 4.8.7 9.6 3.3 15.1l2.7 1.2zm23.8 18.5c-4.2-6.2-4.8-11.2-5.9-16.4.4 4.9.6 9.6 3.3 15.2l2.6 1.2zm43.1 36.9c4.5-7.7 3-17.5 6.5-23.8 3.7-6.7 8 3 10.6-2.3 2.6-5.2-3.6-11.5 0-18.7s10.7-4.3 13-10.3c2.3-6-5.7-8-2.2-15 3.5-7.1 13-5 17.7-13 4.5-7.7 12.3-6.8 12.8 1.5.4 5.5-3.6 10-3.2 18.2.4 8.2 7 9 4.5 14.8-2.5 5.9-10.7 2.2-14.5 8.8-4 6.5 2.7 12.5-1 17.3-3.7 4.8-9-1.7-13.9 1.9-4.8 3.5 1 8.3-6.4 13.5s-23.9 7-23.9 7z"/>
+      <path d="M577.5 756.8C605.8 739 627 706 642.3 664c-7.6 24.7-27.4 74.7-65.6 96.3l.8-3.4z"/>
+      <path d="M613 723.3c1.6-6.6.5-11.2-.2-16 1.2 4.3 2.5 8.5 2 14.1l-1.9 2zm15-26c0-6.9-2.1-11-4-15.5 2.3 3.9 4.5 7.6 5.4 13.2l-1.4 2.3zm-2.1 7.1c5.2-4.3 9.6-5.1 14.1-6.5-4.3.7-8.5 1.1-13.2 4l-1 2.5zM611 727.8c5.1-4.3 9.6-5 14-6.4-4.2.6-8.4 1-13.2 3.9l-.8 2.5zM557.4 639c3.6-8.6.8-18.5 3.6-25.6 3-7.5 8.7 2 10.7-3.8 2.1-5.9-5.2-11.5-2.4-19.5s10.6-6 12.2-12.6c1.6-6.6-7-7.5-4.3-15.3 2.7-7.9 13-7.1 16.8-16 3.7-8.6 12-8.8 13.6-.3 1 5.7-2.5 11-1 19.5 1.4 8.4 8.4 8.2 6.6 14.7-1.9 6.5-10.8 3.8-14 11.2-3.2 7.3 4.4 12.6 1.2 18.2-3.2 5.5-9.6-.6-14.1 3.8-4.6 4.4 2 8.5-5 15-7 6.4-24 10.7-24 10.7z"/>
+      <path d="M547.3 647.1c27-22.6 44.8-59.9 55.3-105.8-4.6 26.8-18.8 81.6-55.7 109.5l.4-3.7z"/>
+      <path d="M579.8 607.3c.8-7.2-.9-11.7-2.2-16.7 1.8 4.3 3.7 8.5 4 14.4l-1.8 2.3zM592 578c-.9-7.2-3.7-11.1-6.1-15.6 2.7 3.7 5.6 7.3 7.2 13L592 578zm-1.3 7.7c4.8-5.2 9.3-6.7 13.9-8.7-4.4 1.2-8.7 2.3-13.3 5.9l-.6 2.8zm-12.4 26.4c4.8-5.2 9.3-6.7 13.9-8.7-4.4 1.3-8.7 2.4-13.3 6l-.6 2.7z"/>
+      <path d="M533.4 605.3c4.2-6.6-1-18.7 2.2-24 3.6-5.8 7.3 2.8 9.8-1.7 2.6-4.5-.4-10.3 3-16.4 3.6-6.2 8.6-1.7 10.9-6.9 2.2-5.2-2-5.3 1.3-11.4 3.4-6 12-3.9 16.5-10.6 4.4-6.6 11.5-5.5 11.8 1.9.2 4.8-2.9 7.1-2.7 14.4.1 7.2 4.6 9.5 2.2 14.6-2.5 5-9 1.5-12.6 7.1-3.8 5.6.3 7.8-3.2 11.8-3.5 4-6.4 1.5-10.9 4.4-4.5 3-.7 11.3-7.6 15.6s-20.7 1.2-20.7 1.2z"/>
+      <path d="M522.1 611.2c24.3-10.6 48.6-42.4 63.7-78.7-7.5 21.4-27.5 63.7-63 81l-.7-2.3z"/>
+      <path d="M556.9 582.6c1.7-5.8.8-9.8.3-14 1 3.8 2 7.5 1.5 12.5l-1.8 1.5zm14.4-22.2c.2-6-1.6-9.7-3.2-13.8 1.9 3.5 4 6.9 4.6 11.8l-1.4 2zm-2 6.2c4.8-3.6 8.9-4.1 13-5.1-3.9.4-7.8.6-12.2 2.8l-.9 2.3zm-14.2 20c4.8-3.6 8.9-4.2 13-5.2-3.8.4-7.7.6-12.2 2.9l-.8 2.2zm-173.3 425.7c3.6-9 1-19.7 3.7-27.1 2.9-7.9 8.4 2.5 10.4-3.6s-5-12.5-2.2-20.9c2.8-8.4 10.3-5.8 12-12.8 1.5-7-6.8-8.3-4.1-16.5 2.6-8.3 12.5-7 16.3-16.2 3.7-9 11.7-8.8 13.2.4 1 6-2.4 11.5-1 20.6 1.3 9.1 8.1 9.3 6.3 16-1.8 6.9-10.5 3.6-13.7 11.3-3.1 7.6 4.3 13.7 1.1 19.4-3.2 5.7-9.3-1-13.8 3.4-4.4 4.4 2 9.2-4.9 15.7-6.8 6.5-23.3 10.3-23.3 10.3z"/>
+      <path d="M375.2 1016.4c26.5-22.7 40.7-57.4 51.2-105.9-4.7 28.3-15.5 82-51.6 109.8l.4-3.9z"/>
+      <path d="M403.8 979.7c.8-7.6-.8-12.6-2-18 1.6 4.8 3.5 9.4 3.6 15.7l-1.6 2.3zm12-30.5c-.7-7.7-3.4-12-5.8-17 2.7 4.2 5.5 8.1 7 14.3l-1.1 2.7zm-1.2 8.1c4.7-5.3 9.1-6.6 13.5-8.6-4.2 1.1-8.5 2-13 5.7l-.5 3zM402.4 985c4.7-5.3 9.1-6.7 13.5-8.6-4.2 1.1-8.4 2-12.9 5.6l-.6 3zm158.7-152.7c-7.2-7.5-19.3-10.1-25.2-16-6.3-6.3 7-6.5 2-11.2-5-4.7-15.2-1.3-22-7.7-7-6.5-.4-12.1-6.5-16.8-6-4.7-12 2.2-18.7-4.1-6.8-6.3-.2-14.6-7.4-22.3-7-7.6-2.6-14.7 7.5-11.8 6.6 1.9 10.2 7.6 20 10.6 10 3 13.7-3 19.5 1.8 5.9 4.8-2 11.2 3.9 17.6 6 6.4 16 2.6 20 8.1 4 5.6-6 8-4 14 2 6.2 10.3 2.7 13.1 11.8 2.9 9.2-2.2 26-2.2 26z"/>
+      <path d="M540.3 797c-7.2-4.3-13-5.1-19-6.5 5.6.7 11.1 1.1 17.6 4l1.4 2.5zm-24-25.2c-8.2-2.9-14-2.5-20.2-2.6 5.6-.5 11-1.2 18 .3l2.1 2.3zm7.4 5c-2.8-6.8-1.8-11.4-1.4-16.3-1.1 4.4-2.5 8.6-1.3 14.3l2.7 2zm21 23.9c-2.7-6.8-1.7-11.4-1.3-16.3-1.1 4.4-2.5 8.7-1.3 14.4l2.6 1.9z"/>
+      <path d="M561.7 840c-8.5-34.5-35.7-63.7-78.5-95.8 25.8 17.5 73.7 52.4 82.2 98l-3.7-2.2z"/>
+      <g id="d">
+        <path d="M527.3 890.5c-3.4-8.8-19.8-13-22.7-20.1-3-7.6 9.1-5.3 6.6-11-2.6-5.7-13.4-4-17-11.8-3.4-7.8 5-12.3 1.3-18.2-3.6-5.9-11.8 0-15.4-7.5-3.5-7.6 6-14.8 2.7-24-3.2-9 4-15.4 11.8-10.6 5.3 3.2 6.2 9.6 13.9 14.4 7.7 4.9 13.7-.6 17 5.4 3.2 6-6.7 11-4 18.5 2.8 7.6 13.6 5.6 15 12 1.2 6.3-9 6.9-9.7 13.4-.7 6.5 8.3 4.5 7 14.3s-6.5 25.2-6.5 25.2z"/>
+        <path d="M520 853.1c-4.7-5.7-13-9-18-11.4a58 58 0 0117.8 8.5l.2 3zm-10-24.9c.4-7.3 3.2-11.8 5.7-16.7-2.9 4.2-5.9 8.3-7.2 14.3l1.6 2.4zm12.5 26c.3-7.3-.1-9.7 2.3-14.6-2.9 4.2-2.6 6.3-3.9 12.3l1.6 2.4z"/>
+        <path d="M525.2 906.6c6.8-36.5-12.8-78.4-38.3-118.7 16.1 22.4 52.2 73.9 40.7 121.6l-2.4-2.9z"/>
+        <path d="M505.4 821.9c-6.2-4.4-11.7-5.1-17.2-6.4 5.2.5 10.5.9 16.2 3.6l1 2.7z"/>
+      </g>
+      <path d="M493.6 566.1c-2-7-11.8-8.6-13.4-14.2-1.8-6 5.2-4.7 3.7-9.2-1.5-4.5-6.4-4.9-8.4-11s3-8.2 1-12.8c-2-4.6-4.2-1-6.2-7s3.4-12.3 1.5-19.6c-1.9-7 2.1-12.6 6.6-9.2 3 2.3 3 6.2 7.4 9.7 4.4 3.6 7.9.9 9.8 5.5 1.8 4.7-3.3 8.5-1.8 14.5 1.6 6 4.9 3.7 5.6 8.8.8 5-2.1 6.2-2.5 11.6-.4 5.3 6.4 6.4 5.7 14.4-.7 8-9 18.5-9 18.5z"/>
+      <path d="M491.7 578.8c5.2-26.2-2.3-63.4-17-94.8 9.3 17.3 25.2 56 18.7 95.4l-1.7-.6z"/>
+      <path d="M491.1 534.4c-2.7-4.4-5.5-5.7-8.3-7.5 2.8 1.1 5.5 2 8.2 5.1l.1 2.4zm-6.5-23.8c-3.5-3.2-6.6-3.5-9.8-4.2 3 .1 6 .1 9.3 2l.6 2.2zm2.7 5c.2-6 1.8-9.8 3.2-14-1.6 3.7-3.3 7.1-4.1 12l1 2zm5.3 22.3c.1-6 1.7-9.8 3.1-13.9-1.6 3.6-3.3 7-4 12l.9 1.9zm17 37.3c-.1-6.9-6.8-11.4-7.1-16.9-.3-5.8 14.6-4.3 14.2-8.8-.4-4.4-5.4-4.8-6-10.8s5.4-8 4.4-12.5-4.1-1-4.7-6.9c-.6-5.8 2-12.4 1.8-19.5-.1-7 5.6-12.4 9.4-9 2.6 2.2 1.5 6 5.2 9.5s8.4 1 11.3 4.5c3 3.5 2.3 6.4 2.4 12.3 0 6 4.1 3.6 3.6 8.6-.5 5-3.9 6.1-5.7 11.4-1.8 5.2 5.2 6.2 2.3 14.1-2.8 7.9-31 24-31 24z"/>
+      <path d="M499.2 585.6c24.4-21.6 36.5-63.2 18.3-94a68.8 68.8 0 018.1 50.3 92.1 92.1 0 01-24.8 44.3l-1.6-.6z"/>
+      <path d="M522.3 550.8a31.2 31.2 0 00-8.7-11.5c2.6 1 7.1 6.2 9.2 9.2l-.5 2.3zm4-26.8c-3-3.2-6.1-3.5-9.2-4.2 3 .1 6.2.1 9.2 2v2.2zm1.1.2c1.8-6 4.4-9.6 7-13.7-2.7 3.5-5.4 7-7.4 11.8l.4 1.9zm-4.2 27.5c1.7-5.9 7.8-3.8 12.4-5.2-3.5 0-10.8-1.5-13 3.3l.6 1.9zm-44.3 24.2c-6.5-4.6-4.6-15.7-9.7-19.5-5.5-4-6.7 3.8-10.8.6-4-3.2-2.7-8.6-8.2-13-5.6-4.4-9.5.2-13.5-3.6-4-3.9.5-4.8-4.9-9.2-5.4-4.3-13.9-.8-20.6-5.5-6.7-4.6-13.8-2.3-11.9 3.8 1.3 4 5.2 5.4 7.3 11.4 2 6-2 8.8 2.1 12.5 4.1 3.7 9.9-.5 15.5 3.4s2 6.5 7 9.2 7.1 0 12.7 1.5c5.7 1.5 4.2 9.2 12.7 11.4 8.5 2.1 22.3-3 22.3-3z"/>
+      <path d="M492.6 578.5c-28.8-4-64.1-25.6-91.1-52.7 14.5 16.3 48.3 47.3 91 54.8l.1-2z"/>
+      <path d="M447.2 561.7c-3.5-4.5-3.8-8-4.6-11.6.2 3.3.1 6.7 2.3 10.6l2.3 1zm-22-15.6c-2-5-1.1-8.4-.7-12-1 3.2-2 6.4-1.3 10.7l2 1.4zm4.1 4.7c-6.2-2-10.6-1.6-15.3-1.6 4.2-.5 8.4-1 13.7 0l1.6 1.6zm21 13.8c-6.2-2-10.6-1.7-15.3-1.7 4.2-.4 8.4-1 13.7 0l1.6 1.7zm50.2 41c-8-3.5-6.6-15.4-13-18.4-6.8-3-7.7 5.4-12.7 2.9-5.1-2.6-3.9-8.5-10.8-12-7-3.4-11.3 2.3-16.3-1-5-3.2.3-5-6.5-8.5s-16.5 2-25-1.6c-8.1-3.4-16.4.4-13.7 6.4 1.8 4 6.6 4.5 9.5 10.4 2.9 5.8-1.7 9.6 3.5 12.6s11.7-2.5 18.6.4c7 3 2.9 6.4 9 8.2 6 1.8 8.5-1.5 15.3-1 6.8.4 5.7 8.7 16 9.2 10.2.6 26.1-7.6 26.1-7.6z"/>
+      <path d="M517 605.6c-34.5 1.6-78.1-13.7-112.2-36.4 18.4 14 61 39.5 112.3 38.5l-.1-2.1z"/>
+      <path d="M461.8 597.2c-4.5-3.9-5.1-7.5-6.3-11.1.4 3.5.6 7 3.5 10.6l2.8.5zm-27.3-11.7c-2.8-4.8-2-8.5-1.8-12.4-.9 3.6-2 7.1-.6 11.4l2.4 1zm5.3 4c-7.5-.8-12.8.5-18.4 1.4 5-1.3 10-2.7 16.3-2.8l2 1.4zm26 10c-7.6-.8-12.8.5-18.4 1.5 5-1.4 9.9-2.8 16.3-2.8l2 1.4z"/>
+      <path d="M517.5 629.7c-8.3-3-7.6-15-14.2-17.5-7-2.7-7.3 5.9-12.6 3.7-5.2-2.2-4.3-8.2-11.5-11.2s-11.1 3-16.3 0c-5.2-2.9 0-5-7-8s-16.4 3-25 0c-8.5-3-16.5 1.4-13.4 7.2 2 3.9 7 4.1 10.2 9.7 3.2 5.7-1 9.7 4.3 12.4 5.3 2.7 11.5-3.2 18.6-.8 7.2 2.5 3.3 6.2 9.5 7.6 6.1 1.4 8.4-2 15.2-2 6.8 0 6.3 8.3 16.5 8.2 10.3-.2 25.7-9.3 25.7-9.3z"/>
+      <path d="M534 628.6c-34.4 3.9-79-8.6-114.4-29 19.3 12.7 63.4 35.4 114.6 31.1l-.3-2z"/>
+      <path d="M478.3 623.9c-4.8-3.7-5.6-7.2-7-10.8.6 3.5 1 7 4.1 10.4l3 .4zm-28-10c-3-4.6-2.6-8.4-2.7-12.3-.6 3.7-1.4 7.3.2 11.4l2.5 1zm5.5 3.7c-7.6-.4-12.7 1.3-18.3 2.6 5-1.7 9.8-3.4 16.2-3.9l2 1.3zm26.6 8.3c-7.6-.3-12.7 1.3-18.3 2.6 5-1.6 9.8-3.4 16.2-3.8l2 1.2z"/>
+      <g id="a">
+        <path d="M207.2 997.4c6.6-4.3 15.2-3.2 20.6-6.6 5.7-3.5-3-7 1.5-9.7 4.5-2.5 10.3 3 16.5-.5s3.3-9.9 8.5-12.1c5.2-2.3 7.3 5 13.4 1.5 6-3.3 3.8-12 10.6-16.4 6.6-4.4 5.5-11.4-1.8-11.7-4.9-.1-8.7 3.6-16 3.5-7.2 0-8-6-13.1-3.6-5 2.4-1.5 9.7-7.1 13.4-5.6 3.8-11.2-2-15.2 1.5s1.9 8-1 12.5-7.4-.5-11.6 6.3c-4.3 6.8-5.3 21.9-5.3 21.9z"/>
+        <path d="M202 1007c14.5-26 42.6-46.3 79-61.5-21.5 7.7-64.6 27.1-82 62.4l3-.8z"/>
+        <path d="M230 974c5.7-1.7 9.7-.9 14-.4a31 31 0 00-12.5-1.4l-1.6 1.8zm22.1-14.5c6.1-.2 9.8 1.6 13.9 3.1-3.5-1.8-7-3.8-11.9-4.4l-2 1.3zm-6.1 2.2c3.6-4.9 4.1-8.9 5.1-13-.4 3.8-.6 7.7-2.9 12l-2.2 1zm-20 14.1c3.6-4.8 4.1-8.9 5.1-13-.4 3.9-.6 7.7-2.8 12.1l-2.3 1z"/>
+      </g>
+      <g id="b">
+        <path d="M210.3 1024.5c9 3.6 19.3 0 26.7 2.7 7.8 3-1.9 9.7 4.2 11.8 6.2 2 11.9-6.4 20.2-3.7 8.4 2.8 6.5 11.5 13.4 13 6.9 1.4 7.6-8.2 15.8-5.6 8.2 2.6 7.6 14 17 17.8 9 3.8 9.4 12.9.6 15.1-5.9 1.5-11.5-2.1-20.2 0-8.8 2-8.4 9.7-15.2 8-6.8-1.7-4.2-11.8-12-15-7.6-3.2-13 5.6-18.8 2.3-5.8-3.4.3-10.7-4.3-15.6-4.6-4.8-8.8 2.7-15.7-4.7-6.8-7.4-11.7-26.1-11.7-26.1z"/>
+        <path d="M201.6 1013.7c24 29 63.2 46.9 111.1 56.2-27.9-3.8-85.2-16.8-115-56.5l3.9.3z"/>
+        <path d="M243.7 1047.8c7.5.6 12.2-1.5 17.3-3.3-4.5 2.2-8.8 4.6-15 5.1l-2.3-1.8zm30.6 12.2c7.4-1.3 11.5-4.6 16-7.6-3.7 3.3-7.4 6.7-13.3 8.8l-2.7-1.2zm-8-1c5.5 5.1 7.2 10 9.4 15-1.4-4.8-2.7-9.6-6.5-14.5l-3-.5zm-27.8-12.4c5.5 5 7.2 10 9.4 15-1.4-4.8-2.6-9.6-6.5-14.5l-2.9-.5z"/>
+      </g>
+      <use width="744.1" height="1052.4" transform="translate(44 17.4)" xlink:href="#a"/>
+      <use width="744.1" height="1052.4" transform="translate(59.3 11.2)" xlink:href="#b"/>
+      <g id="e">
+        <path d="M353.5 1034.1c9.8 1 18.8-5.3 26.7-4.7 8.4.6.7 9.8 7.2 10 6.4.3 9.9-9.3 18.7-9 8.8.4 9.2 9.2 16.3 8.7 7-.5 5.3-9.9 14-9.6s11 11.2 21 12.3c9.8 1.1 12.5 9.7 4.5 14.3-5.3 3-11.7 1-19.7 5.4s-5.7 11.7-12.7 12c-7 .1-7.1-10.2-15.5-11.2-8.3-.9-11.3 9-17.8 7.4-6.5-1.6-2.4-10.3-8.1-13.7-5.8-3.3-8 5-16.5-.2s-18-21.7-18-21.7z"/>
+        <path d="M342.3 1026.2c30.8 21 73.5 27.4 122.6 23.2-28.2 4-87.3 7.3-126.4-22.4l3.8-.8z"/>
+        <path d="M392 1047.2c7.4-1.4 11.5-4.8 16-7.9-3.8 3.4-7.4 6.8-13.2 9l-2.8-1zm33 3.3c6.8-3.3 10-7.6 13.6-11.7-2.8 4.2-5.5 8.4-10.7 12l-3-.3zm-8.1 1.2c6.6 3.4 9.5 7.6 13 11.7-2.7-4.1-5.1-8.4-10-12l-3 .3zm-30.3-4.2c6.7 3.3 9.6 7.6 13 11.7-2.6-4.2-5-8.4-10-12l-3 .3z"/>
+      </g>
+      <path d="M292.7 1024.5c5-5 13.2-6.2 17.3-10.2 4.4-4.3-4.5-5.2-1-8.4s10.2 0 15-4.4c4.8-4.3.5-8.8 4.7-12 4.3-3 8 2.4 12.7-1.8 4.8-4.2.5-10.7 5.6-16 5-5.2 2.1-10.7-4.7-9.2-4.5 1-7 5-13.8 6.6-6.7 1.7-9-3-13 .2-4.1 3.2 1 8.4-3.1 12.7-4.2 4.4-10.8 1-13.7 4.8-2.8 3.9 3.8 6.2 2.3 10.6-1.5 4.4-7 1.3-9 7.9-2.2 6.6.7 19.3.7 19.3z"/>
+      <path d="M292 1030.3c6.7-25 25.7-44.8 55.3-65.9-17.7 11.3-50.8 34.2-57.7 67.3l2.5-1.4z"/>
+      <path d="M307.6 1000c5-2.9 8.9-3.1 13-3.8-3.8.2-7.6.2-12 1.9l-1 1.8zm16.8-17.3c5.5-1.6 9.4-1 13.6-.7-3.7-.7-7.4-1.5-12-.8l-1.6 1.5zm-5.1 3.3c2-4.8 1.5-8.3 1.3-12 .7 3.4 1.5 6.6.5 10.7l-1.8 1.3zm-14.8 16.3c2-4.8 1.5-8.2 1.4-11.9.6 3.3 1.4 6.5.5 10.7l-1.9 1.2zm41 15c4-6.2 12-9.1 15.4-14.1 3.5-5.3-5.7-4.4-2.8-8.4 3-4 10.4-2.1 14.3-7.6 4-5.5-1.2-9.3 2.4-13.3 3.7-4.1 8.6.8 12.5-4.5 4-5.4-1.7-11.2 2.4-17.7 4-6.4 0-11.5-6.6-8.6-4.4 2-6.1 6.6-12.6 9.7-6.4 3-9.8-1.4-13.2 2.8-3.5 4.1 2.8 8.4-.6 13.8-3.3 5.4-10.7 3.2-12.8 7.7-2.1 4.6 5 5.7 4.4 10.5-.6 4.8-6.7 2.7-7.6 10-.8 7.2 4.7 19.7 4.7 19.7z"/>
+      <path d="M346 1023.4c1.6-27.1 16.9-51.5 42.6-79.3-15.7 15.3-44.6 45.6-45 81.3l2.3-2z"/>
+      <path d="M355.6 988.8c4.4-3.8 8.3-4.9 12.3-6.4-3.8 1-7.6 1.7-11.7 4.3l-.6 2.1zm13.5-21.1c5.3-2.8 9.3-3 13.6-3.5-4 0-7.8 0-12.4 1.6l-1.2 1.9zm-4.6 4.3c1.2-5.3-.1-8.8-1-12.5 1.3 3.2 2.8 6.4 2.6 10.9l-1.6 1.6zM353 992c1-5.4-.2-8.9-1-12.6 1.3 3.3 2.7 6.4 2.6 10.9L353 992z"/>
+      <g id="f">
+        <path d="M505.9 948.8c7.7-4.2 11.3-13.2 17.4-16.7 6.6-3.7 5.3 6.8 10.2 3.8 5-3 2.8-11.8 9.5-16 6.7-4 11.3 2.3 16.3-1.6s-.9-10 5.7-14c6.5-4.1 13.6 2.8 21.5-1.4 7.8-4 14 1 10.3 8.3-2.5 5-8.2 6.6-12 13.8-3.8 7.2 1.5 11.4-3.6 15-5.1 3.6-10.2-3.9-16.8-.5-6.6 3.5-4 12.2-9.6 14.3-5.6 2-6.8-6.4-12.7-6-5.9.3-3.5 7.6-12.3 8-8.8.3-24-7-24-7z" transform="translate(9.4 -7.9)"/>
+        <path d="M493.7 948.5c33 .2 67.7-16.3 102-43.7-18.9 17-61 48.6-104.4 46.2l2.4-2.5z" transform="translate(9.4 -7.9)"/>
+        <path d="M540.7 939.4c4.8-4.8 6.1-9.3 8-13.8-1.1 4.3-2.1 8.6-5.4 13.2l-2.6.6zm26-14c3.5-5.8 3.7-10.5 4.5-15.3-.1 4.5 0 8.9-2.2 14.1l-2.3 1.2zm-5.4 5c6.6-1 10.7.8 15.3 2.1-4-1.8-7.8-3.7-13.2-3.9l-2.1 1.7zm-24.4 11.8c6.5-.9 10.7.8 15.3 2.2-4-1.8-7.9-3.7-13.3-4l-2 1.8z" transform="translate(9.4 -7.9)"/>
+      </g>
+      <path d="M583 716.2c3.6-8.6.8-18.5 3.6-25.6 3-7.5 8.7 2 10.7-3.9s-5.2-11.5-2.3-19.4 10.5-6 12.1-12.6c1.6-6.6-7-7.5-4.3-15.4 2.8-7.8 13-7 16.8-15.9 3.7-8.6 12-8.8 13.6-.3 1 5.7-2.5 11-1 19.4 1.4 8.5 8.4 8.3 6.6 14.8-1.9 6.5-10.8 3.8-14 11.2-3.2 7.3 4.4 12.6 1.2 18.2-3.2 5.5-9.6-.6-14.1 3.8-4.6 4.4 2 8.5-5 15-7 6.4-24 10.7-24 10.7z"/>
+      <path d="M573 724.4c27-22.6 44.7-59.9 55.2-105.8-4.6 26.8-18.8 81.6-55.7 109.4l.4-3.6z"/>
+      <path d="M605.4 684.6c.9-7.2-.9-11.7-2.2-16.7 1.8 4.3 3.7 8.5 4 14.4l-1.8 2.3zm12.3-29.2c-.9-7.2-3.7-11.2-6.1-15.6 2.7 3.7 5.6 7.3 7.2 13l-1.1 2.6zm-1.3 7.7c4.8-5.2 9.3-6.7 13.9-8.8-4.4 1.3-8.7 2.4-13.3 6l-.6 2.8zM604 689.5c4.8-5.2 9.3-6.7 13.9-8.7-4.4 1.3-8.7 2.4-13.3 6l-.6 2.7z"/>
+      <path d="M572.3 672c4.4-7.6 3-17.3 6.4-23.6 3.7-6.7 8 3 10.6-2.3 2.7-5.3-3.6-11.6 0-18.8 3.7-7.1 10.8-4.3 13-10.3 2.4-6-5.7-8-2.2-15 3.5-7.1 13-5 17.7-13 4.6-7.6 12.4-6.8 12.9 1.5.4 5.5-3.6 10-3.2 18.2.3 8.2 7 9 4.5 14.8-2.6 6-10.7 2.3-14.6 8.8-3.9 6.5 2.7 12.6-1 17.4-3.7 4.8-9-1.8-13.8 1.8-4.8 3.5.9 8.3-6.4 13.5s-24 7-24 7z"/>
+      <path d="M561.8 678.5c28.2-17.8 49.4-50.8 64.8-92.9C619 610.3 599 660.3 561 682l.8-3.4z"/>
+      <path d="M597.2 645c1.6-6.6.5-11.2-.1-16 1.1 4.3 2.5 8.5 2 14.1l-2 2zm15-26c0-6.9-2-11-3.9-15.5 2.2 3.9 4.5 7.6 5.3 13.2l-1.4 2.3zm-2 7.1c5.1-4.3 9.5-5.1 14-6.5-4.2.7-8.4 1.1-13.2 4l-.9 2.5zm-14.9 23.5c5.2-4.4 9.6-5.2 14.1-6.5-4.2.6-8.5 1-13.2 3.9l-.9 2.6zm-28.6 126.3c-7.8-5.6-18.2-4.8-24.7-9.2-6.8-4.7 3.7-8.6-1.7-12-5.4-3.5-12.5 3-19.9-1.7-7.3-4.7-3.8-12.3-10-15.4-6.3-3.1-8.9 5.7-16.1 1.2-7.3-4.5-4.5-15-12.6-21-7.8-5.7-6.4-14.3 2.4-14.2 5.9 0 10.4 4.9 19.1 5.2 8.8.3 5-4.3 11.1-1s4.9 12 11.5 17c6.7 4.9 15.2-4.7 20-.1 5 4.5-2.3 9.9 1 15.6 3.5 5.7 9-.3 14 8.3 5 8.6 6 27.3 6 27.3z"/>
+      <path d="M572.9 788.2c-17-33.1-50.6-59.6-94.2-80.4 25.7 10.6 77.4 37 97.7 81.6l-3.5-1.2z"/>
+      <path d="M539.7 745.8c-7-2.5-11.8-1.6-17-1.3 4.7-1 9.2-2 15.2-1l1.8 2.3zm-26.5-19.1c-7.4-.6-11.8 1.4-16.8 3 4.3-2 8.4-4.3 14.4-4.8l2.4 1.8zm7.3 3c-4.2-6.2-4.8-11.2-5.9-16.4.4 4.8.6 9.6 3.3 15.1l2.6 1.2zm23.9 18.5c-4.2-6.1-4.8-11.1-6-16.3.5 4.8.7 9.6 3.3 15.1l2.7 1.2zm30.3 95.2c5.8-6.6 6.3-16.4 11-21.9 4.8-5.8 7.1 4.6 10.7 0 3.7-4.6-1.2-12 3.7-18.3 5-6.3 11.3-2 14.8-7.4 3.4-5.4-4-9 .7-15.2 4.8-6.2 13.7-2.2 19.8-9 6-6.5 13.5-4 12.4 4.2-.7 5.5-5.5 9-6.7 17.2-1.3 8.1 5 10.2 1.5 15.4-3.6 5.2-10.9 0-16 5.5s.2 12.9-4.3 16.8c-4.6 4-8.5-3.6-13.9-1.1-5.4 2.4-.8 8.3-9 11.9-8.1 3.5-24.7 1.9-24.7 1.9z"/>
+      <path d="M563.2 847.5c31.1-11.6 58.3-39.4 81.5-77.3-12.2 22.6-41.4 67.4-83 80.5l1.5-3.2z"/>
+      <path d="M604.3 822.2c3-6.2 2.8-10.9 3-15.8.4 4.5.9 8.9-.7 14.3l-2.3 1.5zm19.9-22.3c1.3-6.8 0-11.3-.9-16 1.4 4.2 3 8.3 2.7 14l-1.8 2zm-3.5 6.5c6-3.2 10.4-3 15.1-3.4-4.3-.3-8.5-.7-13.7 1l-1.4 2.4zm-19 19.8c5.8-3.1 10.3-3 15-3.4-4.3-.2-8.5-.7-13.7 1l-1.4 2.4z"/>
+      <use width="744.1" height="1052.4" transform="rotate(15 310 758.4)" xlink:href="#c"/>
+      <use id="c" width="744.1" height="1052.4" transform="rotate(5 93.2 577.1)" xlink:href="#d"/>
+      <use width="744.1" height="1052.4" transform="rotate(-10 275 690.3)" xlink:href="#e"/>
+      <use width="744.1" height="1052.4" transform="rotate(10 225.4 653.9)" xlink:href="#f"/>
+    </g>
+    <use width="1" height="1" transform="matrix(-1 0 0 1 840 .1)" xlink:href="#g"/>
+  </g>
+  <g stroke="#d4af37" stroke-width=".5">
+    <path fill="#007ea8" d="M291 195.6l-14 17.5a26.2 26.2 0 017.3 17.9 53.7 53.7 0 01-2.8 17.5v.2H320V196c-8.5 5.2-20.1 7.3-29-.4z"/>
+    <path fill="#fff" d="M349 195.6c-8.8 7.7-20.5 5.6-29 .4v52.7h38.5v-.2a53.7 53.7 0 01-2.8-17.5c0-6 2.7-13.5 7.3-17.9l-14-17.5z"/>
+    <path fill="#d91023" d="M281.5 248.7c-2.1 6.5-4.8 12.2-5.6 21.6-1.2 14 10 21.5 14.6 23.7 7.2 3.4 14.6 2.2 22.3 3.2 3.5.5 5.5 2.7 7.2 4.5 1.7-1.8 3.7-4 7.3-4.5 7.6-1 15 .2 22.2-3.2 4.6-2.2 15.8-9.8 14.6-23.7-.8-9.4-3.5-15.1-5.6-21.6h-77z"/>
+  </g>
+  <g stroke="#d4af37" stroke-width="3">
+    <g fill="#00a854" stroke-width="6.2" transform="matrix(.08444 0 0 .08889 232.8 247.5)">
+      <g id="j" stroke-width="3.1">
+        <path d="M1074.7-201.4s5.9-20.4 18-29.3c12-9 25.2-5.7 33.2-8.9-5.4 6.8-6 20.3-18 29.3s-33.2 8.9-33.2 8.9zm48.7-36.4c-8.3 2.3-13.5-.3-25 4m17.4 1.8c-8.4 2.2-14.1-1.4-25.4 3.4m16.2 3.4c-8 2.8-11.7-1.2-22.5 4m13.3 3c-8 2.7-9.6-1.8-17.5 4.2m9.3 1.8c-5.2 1.7-7.5-.2-12.2 5m46.4-30.5c-4.5 7.3-3.5 13-10.8 22.8m3.2-17.1c-4.5 7.3-2.8 13.9-10.5 23.3m1.3-16.5c-5 6.8-2.2 11.5-10.3 20.4m1-13.5c-4.9 6.8-1 9.7-9 15.6m.9-9.5c-3 4.5-2 7.3-8.3 10.2"/>
+        <path d="M1130.8-243.6l-24.2 18-31.6 24 32-23.5 24.2-18m-23-73.9s16.7 13 20.5 27.5c3.8 14.5-4 25.5-4 34.1-4.4-7.4-16.7-13-20.7-27.5s4.1-34.1 4.1-34.1zm15.6 58.7c1-8.6 5.3-12.4 5.7-24.6m-8.1 15.3c1-8.5 6.4-12.6 6.2-24.7m-9.2 13.7c.3-8.4 5.4-10.4 4.6-22.4m-7.6 11.3c.4-8.4 5.2-8.3 2.5-17.9m-5.1 8c.3-5.4 3-7-.2-13.2m11.2 54.5c-5.1-7-10.8-8.1-17.1-18.5m14.7 9.3c-5.2-7-12-7.8-17.8-18.4m14.8 7.3c-4.5-7.1-9.9-6.3-15.2-17.1m12.2 6c-4.5-7.1-8.6-4.6-11-14.2m8.4 4.3c-3-4.5-6-4.5-6.4-11.5"/>
+        <path d="M1126.6-249.3l-7.8-29.1-10.6-38.3 10 38.5a5074.4 5074.4 0 007.8 29"/>
+        <g id="h">
+          <path d="M1206.4-261.9s16.8 13 20.6 27.6c3.8 14.5-4 25.5-4 34-4.4-7.4-16.7-13-20.6-27.4-4-14.5 4-34.2 4-34.2zm15.7 58.7c1-8.5 5.4-12.4 5.7-24.6m-8.1 15.4c1-8.6 6.4-12.6 6.2-24.8m-9.2 13.7c.3-8.4 5.4-10.4 4.6-22.4m-7.6 11.3c.4-8.4 5.2-8.2 2.5-17.8m-5.1 8c.4-5.5 3-7-.2-13.2m11.2 54.4c-5.1-6.9-10.8-8-17.1-18.5m14.7 9.3c-5.2-6.9-12-7.7-17.8-18.3m14.8 7.2c-4.5-7-9.9-6.3-15.1-17m12.1 6c-4.5-7.2-8.6-4.7-11-14.3m8.4 4.4c-3-4.5-6-4.6-6.4-11.5"/>
+          <path d="M1224.9-194.1l-7.8-29.2-10.6-38.2 10 38.4a5155 5155 0 007.8 29.1m-53.8 57.3s2.9-21 13.5-31.6c10.7-10.6 24.2-9.2 31.6-13.5-4.3 7.4-3 20.9-13.5 31.6-10.6 10.6-31.6 13.5-31.6 13.5zm43-43c-8 3.4-13.4 1.7-24.2 7.5m17.4-.7c-8 3.4-14.2.7-24.6 7m16.5 1.1c-7.4 3.9-11.7.5-21.7 7.2m13.6 1c-7.5 3.8-9.7-.4-16.7 6.7m9.5.4c-5 2.4-7.5 1-11.3 6.8m41.5-37c-3.4 8-1.7 13.4-7.5 24.1m.7-17.3c-3.4 7.9-.7 14.1-7 24.6m-1.1-16.5c-3.9 7.4-.5 11.7-7.2 21.7m-1-13.6c-3.8 7.5.4 9.7-6.7 16.7m-.5-9.5c-2.4 5-.9 7.5-6.7 11.3"/>
+          <path d="M1219.9-186.6l-21.3 21.4-27.9 28.2s18.9-18.4 28.3-27.8a5074.4 5074.4 0 0021.4-21.3"/>
+        </g>
+        <path d="M1057-278.6s20.6-5.1 34.4.9c13.8 6 17.5 19 24.3 24.3-8.5-1.2-20.5 5-34.4-.9-13.8-5.8-24.2-24.3-24.2-24.3zm55.9 24c-6-6-6.5-11.8-15.9-19.6m7.1 15.8c-6-6-5.9-12.9-15.6-20.2m5 15.7c-6.3-5.5-4.7-10.7-14.7-17.4m4.2 12.9c-6.4-5.5-3.3-9.2-12.5-13m3.1 9c-4-3.7-3.6-6.7-10.4-8m49.7 24.8c-8.6-.2-13 3.5-25.2 2m16.4-5.8c-8.6-.2-13.4 4.6-25.4 2.6m14.9-7.1c-8.4-.9-11 3.9-22.8 1.3m12.2-5.8c-8.3-.9-8.9 3.9-18-.1m8.6-4c-5.4-.4-7.2 2-13-2"/>
+        <path d="M1121.7-251.2L1094-263l-36.6-15.4 36.3 16a5135.7 5135.7 0 0027.7 12M1072.3-384s14.7-15.3 29.5-17.5c14.9-2.3 25 6.7 33.5 7.6-7.8 3.5-14.7 15.2-29.5 17.6-14.9 2.4-33.5-7.7-33.5-7.7zm60-9.4c-8.4-2-11.8-6.6-23.9-8.2m14.5 9.7c-8.4-2-11.9-7.8-24-8.9m12.6 10.7c-8.3-1.3-9.7-6.5-21.7-7m10.4 8.7c-8.3-1.2-7.7-6-17.5-4.3m7.4 6c-5.4-1-6.6-3.8-13.1-1.3m55.3-5.4c-7.4 4.4-9.2 9.9-20.2 15.1m10.8-13.6c-7.4 4.4-9 11-20.2 15.7m8.8-14c-7.5 3.8-7.3 9.2-18.6 13.3m7.3-11.5c-7.5 3.7-5.5 8-15.3 9.5m5.2-7.9c-4.8 2.5-5.2 5.5-12.1 5.1"/>
+        <path d="M1141.6-395l-29.8 4.6c-13.1 2-39.2 6.4-39.2 6.4l39.3-5.8 29.8-4.6M1102-455s20 7 28.2 19.6c8.2 12.6 4.2 25.5 6.9 33.7-6.4-5.7-19.9-7.1-28.2-19.6-8.3-12.6-6.9-33.7-6.9-33.7zm33.4 50.8c-1.7-8.5 1.1-13.5-2.4-25.2m-2.8 17.2c-1.7-8.5 2.1-14-2-25.5m-4.3 15.9c-2.3-8 1.8-11.6-2.7-22.7m-3.7 13c-2.3-8 2.3-9.4-3.2-17.6m-2.4 9.2c-1.3-5.3.6-7.6-4.3-12.5m27.8 48.2c-7-5-12.8-4.4-22.1-12.2m16.9 4.2c-7.1-5-13.8-3.6-22.7-11.9m16.4 2.3c-6.5-5.3-11.4-2.9-19.8-11.5m13.4 1.9c-6.5-5.3-9.5-1.7-15-10m9.4 1.5c-4.3-3.4-7.1-2.4-9.6-9"/>
+        <path d="M1141-396.4l-16.6-25.2-22.1-33 21.6 33.3a5079.8 5079.8 0 0016.5 25.2"/>
+        <g id="i">
+          <path d="M1213.7-401.8s16.7 13 20.6 27.5c3.8 14.5-4.1 25.5-4.1 34.1-4.3-7.4-16.6-13-20.6-27.5s4-34.1 4-34.1zm15.7 58.7c1-8.6 5.3-12.4 5.6-24.6m-8 15.4c1-8.6 6.4-12.7 6.2-24.8m-9.2 13.7c.3-8.4 5.4-10.4 4.5-22.4m-7.5 11.3c.3-8.4 5.1-8.3 2.5-17.9m-5.2 8c.4-5.4 3-7-.2-13.1m11.3 54.4c-5.2-6.9-10.8-8.1-17.2-18.5m14.7 9.3c-5.2-7-11.9-7.7-17.8-18.4m14.9 7.3c-4.5-7.1-10-6.3-15.2-17.1m12.2 6c-4.5-7.1-8.6-4.6-11.1-14.2m8.4 4.3c-3-4.5-6-4.5-6.3-11.5"/>
+          <path d="M1232.1-334.1l-7.8-29.1-10.5-38.3s6.5 25.6 10 38.5a5074.4 5074.4 0 007.7 29m-64.4 39s8.2-19.5 21.3-27c13-7.4 25.7-2.6 34-4.8-6.1 6-8.3 19.4-21.3 27-13 7.6-34 4.9-34 4.9zm52.6-30.3c-8.5 1.2-13.4-1.9-25.2 1m17 3.8c-8.6 1.2-14-3-25.6.4m15.6 5.3c-8.2 1.9-11.4-2.5-22.8 1.4m12.9 4.4c-8.2 1.8-9.3-2.9-18 2.2m9.1 2.9c-5.3 1-7.4-1-12.6 3.6m49.6-25c-5.3 6.8-5 12.6-13.4 21.4m5.2-16.6c-5.4 6.8-4.4 13.5-13.2 22m3.2-16.3c-5.7 6.2-3.5 11.2-12.6 19m2.7-13.2c-5.7 6.1-2.2 9.4-10.9 14.3m2-9.2c-3.5 4-2.8 7-9.4 9.1"/>
+          <path d="M1227.7-330.3l-26 15.1-34.3 20.1 34.5-19.5a5074.4 5074.4 0 0026.1-15.1"/>
+        </g>
+        <path d="M1182.2-442s19.7-8 34.2-4c14.5 4 20 16.3 27.4 20.7-8.6 0-19.6 7.8-34.1 4-14.5-4-27.5-20.7-27.5-20.7zm58.7 15.9c-6.9-5.2-8.1-10.9-18.5-17.2m9.2 14.7c-6.8-5.2-7.6-12-18.2-17.9m7.2 14.9c-7.1-4.5-6.3-10-17-15.2m5.9 12.2c-7-4.5-4.6-8.6-14.2-11.1m4.3 8.4c-4.5-3-4.5-6-11.4-6.4m52.7 17.6c-8.6 1-12.5 5.2-24.6 5.5m15.4-8c-8.6 1-12.7 6.4-24.8 6.1m13.7-9.1c-8.4.3-10.4 5.4-22.4 4.5m11.3-7.5c-8.4.3-8.3 5-17.9 2.4m8-5c-5.4.2-7 2.8-13.1-.4"/>
+        <path d="M1250-424l-29-7.9-38.5-10 38.3 10.7a5074.4 5074.4 0 0029 7.8m-34.7-73.7s19.5 8.2 27 21.3c7.4 13 2.6 25.7 4.8 34-6-6.1-19.4-8.3-27-21.3-7.5-13-4.8-34-4.8-34zm30.3 52.7c-1.2-8.6 2-13.4-.9-25.3m-3.9 17c-1.2-8.6 3-13.9-.3-25.6m-5.4 15.6c-1.8-8.2 2.6-11.4-1.3-22.8m-4.4 12.8c-1.8-8.2 2.8-9.3-2.2-17.8m-2.9 9c-1-5.3 1-7.5-3.6-12.7m24.9 49.8c-6.8-5.4-12.6-5.1-21.4-13.5m16.6 5.2c-6.8-5.4-13.5-4.4-21.9-13.2m16.2 3.2c-6.2-5.7-11.2-3.5-19-12.6m13.3 2.7c-6.2-5.7-9.5-2.3-14.4-11m9.3 2c-4-3.5-7-2.7-9.1-9.4"/>
+        <path d="M1250.3-436.4l-15-26.2-20-34.3 19.5 34.6a5040.8 5040.8 0 0015 26.2"/>
+        <use width="744.1" height="1052.4" transform="translate(-32 -18)" xlink:href="#h"/>
+        <path d="M1142.4-297.9s16.8 13 20.6 27.6c3.8 14.5-4 25.5-4 34-4.4-7.4-16.7-13-20.6-27.4-4-14.5 4-34.2 4-34.2zm15.7 58.7c1-8.5 5.4-12.4 5.7-24.6m-8.1 15.4c1-8.6 6.4-12.6 6.2-24.8m-9.2 13.7c.3-8.4 5.4-10.4 4.6-22.4m-7.6 11.3c.4-8.4 5.2-8.2 2.5-17.8m-5.1 8c.4-5.5 3-7-.2-13.2m11.2 54.4c-5.1-6.9-10.8-8-17.1-18.5m14.7 9.3c-5.2-6.9-12-7.7-17.8-18.3m14.8 7.2c-4.5-7-9.9-6.3-15.1-17m12.1 6c-4.5-7.2-8.6-4.7-11-14.3m8.4 4.4c-3-4.5-6-4.6-6.4-11.5"/>
+        <path d="M1160.9-230.1l-7.8-29.2-10.6-38.2 10 38.4a5155 5155 0 007.8 29.1m-53.8 57.3s2.9-21 13.5-31.6c10.7-10.6 24.2-9.2 31.6-13.5-4.3 7.4-3 20.9-13.5 31.6-10.6 10.6-31.6 13.5-31.6 13.5zm43-43c-8 3.4-13.4 1.7-24.2 7.5m17.4-.7c-8 3.4-14.2.7-24.6 7m16.5 1.1c-7.4 3.9-11.7.5-21.7 7.2m13.6 1c-7.5 3.8-9.7-.4-16.7 6.7m9.5.4c-5 2.4-7.5 1-11.3 6.8m41.5-37c-3.4 8-1.7 13.4-7.5 24.1m.7-17.3c-3.4 7.9-.7 14.1-7 24.6m-1.1-16.5c-3.9 7.4-.5 11.7-7.2 21.7m-1-13.6c-3.8 7.5.4 9.7-6.7 16.7m-.5-9.5c-2.4 5-.9 7.5-6.7 11.3"/>
+        <path d="M1155.9-222.6l-21.3 21.4-27.9 28.2s18.9-18.4 28.3-27.8a5074.4 5074.4 0 0021.4-21.3"/>
+        <use width="744.1" height="1052.4" transform="translate(-62 -40)" xlink:href="#i"/>
+        <use width="744.1" height="1052.4" transform="translate(-31 -20)" xlink:href="#i"/>
+      </g>
+      <use width="744.1" height="1052.4" transform="matrix(-1 0 0 1 2501 0)" xlink:href="#j"/>
+      <path fill="#947245" d="M1250.5-437.1c-8.6 41.6-8.6 79.1-8.6 79.1-.5 14-7.4 23.7-13.8 20-54.9-31.7-60.3-37.5-89.1-59.6 24.3 26.4 31.2 38.2 86.7 70.2 10.7 6.2 12 16.4 11.6 29.5l-1.6 61.7c-.3 9 5.7 50.1-22.6 34.2-65.4-36.6-63.8-33.6-95.1-51.6 38 32.3 24.4 23.4 90.6 61.7 12 6.9 24.5 24.5 24.5 32.8 0 124.3 1.9 101.5-12.8 139.1h60.4c-14.7-37.6-12.8-14.8-12.8-139 0-8.4 12.6-26 24.5-33 66.2-38.2 51.5-29.3 89.6-61.6-31.3 18-28.7 15-94.1 51.6-28.3 15.9-22.3-25.2-22.6-34.2l-1.6-61.7c-.5-13.1.9-23.3 11.6-29.5 55.5-32 62.4-43.8 86.7-70.2-28.8 22-34.2 28-89.1 59.6-6.4 3.7-13.3-6-13.8-20 0 0 0-37.5-8.6-79.1z"/>
+    </g>
+    <g stroke-width="2.7">
+      <path fill="#e3e4e5" stroke-linecap="square" d="M264.4 424.6c-.2 1 1.6 12.4.6 15.7-.5 4.5-.6 5.2-1.7 11.1-1 5.9-2.4 17.3-4.4 24.2a37.3 37.3 0 00-.7 12.4l3.6 19.4s1.6 2 1.8 2.7c.3.8-.1 2 0 2.3 1 1.3 1.1 2.7 2.2 3.8.2.2 1 .1 1.1.4.2.2 1.5.3 1.8.4.8.8.6 1.3 1 2.4h-6.3c.2-2.8-2-3.9-2-3.9-.3-.3-2.9-1-3.2-2.7-.4-2.4 0-2.8 0-2.8s-2.2-9-3-11.4c-.6-1.7-.7-2.6-1-4-.7-4.3-1-6.2-3.2-12.5-.6-1-2-1.4-1.9-2.9l.7-1.4v-1.2l1.1-15.5a1.9 1.9 0 00.3-.7c.6-8.8-4.1-17-7.1-25-.6-1.4-.1-3-.7-4.4-3.2-1-5.4-6.4-6.6-9.8a23 23 0 01-.7-11.6 5 5 0 011-2.5m63.2 36.7a8.3 8.3 0 012.5-.4l1 1.5c1.5 2.8 3.4 15.4 4.4 21.2l1.5 7.9s-.4 2 .3 4.3l.6 2.1c.8 3 1.7 3.8 1.7 3.8.2.8 1.4 6.8 1.7 7.5a75.2 75.2 0 012.6 16.7c-.1 4.7-.1 4.2.3 4.6 1 1 1.5.4 3.8 6.1 0 .5.2-.2.5.2.2.6.7.5 1.1.6.8 0 .6.2 1.2.3a6.3 6.3 0 001.6 0h5.5a5.4 5.4 0 00-4.9-3.4c-.8-.5-1.8-1.2-2.1-2.3l-2.3-3.3c.1-.7-.4-1.7-.6-2.5l-2-23.2s.4-2.3.4-4.7c-.2-12.8.6-25.6 1-38.5.2-1 4-4.7 4-4.7" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#fff" stroke-linecap="square" d="M356.8 323.8a7.3 7.3 0 00-5.5 2.5 22 22 0 00-3 10.6c-.1.8.2 1.4 0 2.2a83.3 83.3 0 00-1.7 5c-.7 4.2-.9 19.7-2 25.6-1 6-6 14.6-8 17.4a9.7 9.7 0 01-4.5 2.2c-.8.2-7.2-.5-7.2-.5-8.4-.6-21-5.2-29.5-6.4-8.4-1.1-18.7-.6-26.6-1.4 0 0-10-3.7-19.1-1-9 2.6-14.1 7.5-22 19.5 0 0-3.4 4.1-3.4 5.5a17 17 0 005.2 12.8c1.1 1 .8.1.7-.1.4.7.7 2.4 1.2 3a43.7 43.7 0 013.2 5.2c.8 1.5.4 3.3 1.1 4.8 3.9 8.3 2 16.8 2 26.5a2 2 0 01-.1.8c-.1 5.7-5.7 13.3-5.7 19v1.2l-.7 1.6c0 1.6-2.1 1.9-1.5 3 3 6.7 3.4 8.7 4.5 13.2.4 1.7.6 2.6 1.3 4.5 1 2.4 4 12 4 12s-.3.6.3 3.2c.4 1.8 3.3 2.3 3.6 2.6a6 6 0 002.7 4.7c0 .4 2.5.3 2.8.3l3-.2c0-1.3-.4-2-1.3-2.8-.3-.1-1.5-.5-1.7-.7l-.6-1c-1.3-1.1-1.5-2.6-2.6-4-.2-.2.1-1.6-.2-2.4-.3-.9-2.2-2.8-2.2-2.8l-5.2-20.9c-.7-4.7 2.8-7.4 3.2-11.3 0-.8 4.6-12.2 4.8-12.8 3.3-8.9 8.8-22.8 8.7-28.7-.1-6.6-.3 1.3.3-3.7.5-3.8-1.7-13.8-1.5-14.8 12.4 20.7 24.5 28.2 44.5 26.2a9 9 0 012.5 0s.5 1.1.5 1.6c.8 2.9-1 15.3-1.7 21.2l-.8 7.8s-1 2-1 4.2v2.1c-.1 3 .6 4 .6 4l-.5 7.4a60.9 60.9 0 01-2.3 15.4c-.2.6-.7 1.5-1.3 1.6-.6.5-1.5 1.4-1.6 2.2 0 .6 0 1.2.2 1.8 0 .5.5 1.2.8 1.6.4 1.8.2 3.6.2 5.4l.3 1.7c.1.5.6.5 1 .6.7.2.5.6 1 .8l1.6.1h5.4c-.1-2-2-3-3.5-4-.7-.6-.6-.8-.6-1.8l-.1-4c0-.7.3-1 .5-1.5.3-.7.1-1.7.1-2.5 1-6.9 2.2-14 4-20.6 1.5-2 2.1-4.3 2.5-6.7 0 0 1.2-3.2.8-5l5-30a3.9 3.9 0 012.4-2.3c6.1-2.7 12.3-4.6 18-8.6 6.4-4.4 10.2-11.6 14.7-18 1-2 2.1-3.6 3.2-5.4a93 93 0 0010-27.2c1.5-8.5 1-16.9 3.4-27 .5-2.1 2.4-3.8 2.8-6v-.5l1.2-.1 3.8-.5h3.2l1.8.1c.5 0 1.4.6 1.9.6s1-.1 1.3-.6c.7-.8.7-.5.9-1.3 0-.2.3 0 .4 0 .5-.2.9-.8 1.4-1 .4 0 .7-.2.8-.5v-1.6c0-.8 0-.8-.5-1h-.2c-.6-.2 0-1.4 0-2a3.8 3.8 0 00-.1-1.6 2.4 2.4 0 00-.9-1.1l-.9-1c-2.8-2.3-4-4.1-6-6 .3-.4.3-.6.2-1.3-1-2.7-2.7-3.2-5.6-5.4a25.6 25.6 0 00-10.1-3.7h-1.6a6.6 6.6 0 00-.4 0z" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#d18219" stroke="none" d="M311.9 205.5a1.4 1.4 0 00-1 .5 4.6 4.6 0 00-.7 2v.5l-.3 1c-.1.8-.2 3.8-.4 5a10.9 10.9 0 01-1.5 3.4c-.2.3-.8.4-.9.4h-1.4c-1.6-.2-4.1-1-5.8-1.3-1.6-.2-3.6-.1-5.1-.3 0 0-2-.7-3.8-.2-1.7.5-2.7 1.5-4.3 3.8 0 0-.6.8-.6 1.1a3.4 3.4 0 001 2.5l.2.2c0-1.4.2-2 .2-2a5.7 5.7 0 00.4 2l.7 1.1c.3 1 .6 3.7.8 4.8 0 .6-.4 2.6-.7 3.5-.5 1.7-.8 3.2-.1 2 .3-.4 1.4-2.6 2-4.6.6-2 1.2-3.2 1-3.6l-.3-3.1a1.7 1.7 0 010-.2v-.3l.2-1.5c2.9 5.4 7.5 6 10.5 2.3a15.6 15.6 0 00-.4 4.7v.8l-.5 5.1v.1l-.2.6v.8l.1.1v.8-.1c.3-.2.4-.6.4-1v-.1l.2-.3v-.5l1-6a.6.6 0 010-.2l.8-.7c.1-.2.7-2.6.6-4-.2-3.5 4.3-4.5 5.8-2.8.6-.3 1-.7 1.5-1.2a7.8 7.8 0 001-1.8v-.4a11.7 11.7 0 00.2-.8 14.6 14.6 0 00.2-1.3l.1-1.3.1-1.3a14.8 14.8 0 01.3-1.4l.1-.3.2-.3.1-.3.1-.3v-.1h.2-1.7a2.1 2.1 0 01-.8-1l.3-1.7c.4-.8.8-.2 1.7 0a7.6 7.6 0 012.5 1.4h.9v-.3a1.7 1.7 0 000-.2v-.2a.5.5 0 00-.1-.1l-.2-.2-1.2-1.2v-.2c-.1-.6-.5-.7-1-1.1a5 5 0 00-2-.7h-.3a1.3 1.3 0 00-.1 0z"/>
+      <path fill="none" stroke-linecap="square" d="M356.8 323.8a7.3 7.3 0 00-5.5 2.5 22 22 0 00-3 10.6c-.1.8.2 1.4 0 2.2a83.3 83.3 0 00-1.7 5c-.7 4.2-.9 19.7-2 25.6-1 6-6 14.6-8 17.4a9.7 9.7 0 01-4.5 2.2c-.8.2-7.2-.5-7.2-.5-8.4-.6-21-5.2-29.5-6.4-8.4-1.1-18.7-.6-26.6-1.4 0 0-10-3.7-19.1-1-9 2.6-14.1 7.5-22 19.5 0 0-3.4 4.1-3.4 5.5a17 17 0 005.2 12.8c1.1 1 .8.1.7-.1.4.7.7 2.4 1.2 3a43.7 43.7 0 013.2 5.2c.8 1.5.4 3.3 1.1 4.8 3.9 8.3 2 16.8 2 26.5a2 2 0 01-.1.8c-.1 5.7-5.7 13.3-5.7 19v1.2l-.7 1.6c0 1.6-2.1 1.9-1.5 3 3 6.7 3.4 8.7 4.5 13.2.4 1.7.6 2.6 1.3 4.5 1 2.4 4 12 4 12s-.3.6.3 3.2c.4 1.8 3.3 2.3 3.6 2.6a6 6 0 002.7 4.7c0 .4 2.5.3 2.8.3l3-.2c0-1.3-.4-2-1.3-2.8-.3-.1-1.5-.5-1.7-.7l-.6-1c-1.3-1.1-1.5-2.6-2.6-4-.2-.2.1-1.6-.2-2.4-.3-.9-2.2-2.8-2.2-2.8l-5.2-20.9c-.7-4.7 2.8-7.4 3.2-11.3 0-.8 4.6-12.2 4.8-12.8 3.3-8.9 8.8-22.8 8.7-28.7-.1-6.6-.3 1.3.3-3.7.5-3.8-1.7-13.8-1.5-14.8 12.4 20.7 24.5 28.2 44.5 26.2a9 9 0 012.5 0s.5 1.1.5 1.6c.8 2.9-1 15.3-1.7 21.2l-.8 7.8s-1 2-1 4.2v2.1c-.1 3 .6 4 .6 4l-.5 7.4a60.9 60.9 0 01-2.3 15.4c-.2.6-.7 1.5-1.3 1.6-.6.5-1.5 1.4-1.6 2.2 0 .6 0 1.2.2 1.8 0 .5.5 1.2.8 1.6.4 1.8.2 3.6.2 5.4l.3 1.7c.1.5.6.5 1 .6.7.2.5.6 1 .8l1.6.1h5.4c-.1-2-2-3-3.5-4-.7-.6-.6-.8-.6-1.8l-.1-4c0-.7.3-1 .5-1.5.3-.7.1-1.7.1-2.5 1-6.9 2.2-14 4-20.6 1.5-2 2.1-4.3 2.5-6.7 0 0 1.2-3.2.8-5l5-30a3.9 3.9 0 012.4-2.3c6.1-2.7 12.3-4.6 18-8.6 6.4-4.4 10.2-11.6 14.7-18 1-2 2.1-3.6 3.2-5.4a93 93 0 0010-27.2c1.5-8.5 1-16.9 3.4-27 .5-2.1 2.4-3.8 2.8-6v-.5l1.2-.1 3.8-.5h3.2l1.8.1c.5 0 1.4.6 1.9.6s1-.1 1.3-.6c.7-.8.7-.5.9-1.3 0-.2.3 0 .4 0 .5-.2.9-.8 1.4-1 .4 0 .7-.2.8-.5v-1.6c0-.8 0-.8-.5-1h-.2c-.6-.2 0-1.4 0-2a3.8 3.8 0 00-.1-1.6 2.4 2.4 0 00-.9-1.1l-.9-1c-2.8-2.3-4-4.1-6-6 .3-.4.3-.6.2-1.3-1-2.7-2.7-3.2-5.6-5.4a25.6 25.6 0 00-10.1-3.7h-1.6a6.6 6.6 0 00-.4 0z" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#d39044" stroke-linecap="square" d="M382.3 343.8l-.3 1.2v.2l.3-1.2v-.2z" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M335 432.9c-2.1 8.3-7.2 10-3.5 17 0 0-1.6 0-2.6-2.8a17 17 0 01-.7-6.3 46.8 46.8 0 011.2-8.5" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M338.8 429.4c-2.1 8.4-7.2 10-3.5 17.1 0 0-2 0-3-2.7a19 19 0 01-.8-5.4c0-1.7.4-4.7.8-6a31 31 0 011.2-3.2" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M345.8 418.4c-3 5.5-5.3 10.2-6.6 14.3-1.2 4-2 6.3.4 10.6 0 0-1.6-.8-3.7-4.6a13 13 0 01-.8-6.6 30.6 30.6 0 01.8-4.4 30 30 0 01.8-2.6" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M348.5 414.9c-1.8 2.8-2.4 5.5-3.4 7.7a29 29 0 00-3.1 10.5c0 2-.3 3.7 1.9 7.1 0 0-1-.1-1.7-.5a6.2 6.2 0 01-2.3-2.7 15 15 0 01-1.3-6.5c0-1.5.5-3.7.9-5.2s1.8-4.5 1.8-4.5" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#d18219" fill-rule="evenodd" stroke-width="1.4" d="M353.3 334.5c0-.2-11.6-3.6-13.3-13.8 2.3-2.2 14.3 5.7 14.5 13" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill-opacity=".5" fill-rule="evenodd" stroke-width="1.4" d="M340.4 320.8c.1.2 6.3.2 11.2 10.6-1.1-1.2-6 1.7-11.1-10.2" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill-rule="evenodd" stroke-width="1.4" d="M368.7 335.6c.2-.2.4-.5.1-.8-5-3.2-4.8.7-8.4.7 1.7 0 1.7.2 2.3 1 2.3 2.4 4 2.2 6-.2" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="none" stroke-linecap="square" d="M381.2 349.8c-.6.6-2.5-.8-4-1" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill-rule="evenodd" stroke-linecap="square" d="M382.3 346s-.5-.5-4.3-1c0 0 2.6-2.7 2.8.3" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="#fff" fill-rule="evenodd" d="M302.7 436.9a33.6 33.6 0 00-1 1.8c-1 2.3-1.4 4.5.5 8 0 0-1.6 0-2.6-2.8-.5-1.3-.8-3.3-.7-6.3l.2-2.4" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+      <path fill="none" d="M230.7 419.1s-1.5-6.2 2.1-13" transform="matrix(.19494 0 0 .1962 242.4 142)"/>
+    </g>
+    <g fill="#e7ca00" stroke-width="2.3">
+      <path d="M401.4 879.5c-2-1.6-4-6.3-3.2-8.9-2.7-2.2-9.7 2.2-6.3 8.6 3.3 6.4 8 5.8 9.5.3zm19.1 6c.6-3.6-.7-9.7-7-10.8-6.1-1-8 4.6-6.9 10.3 4.5-3.4 11.7-1.6 14 .5z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M407.4 882c1-4.7 5.9-6 10.6-5.6-3-3.3-6-8.8-10.3-5.6-3.3 2.5-5.6 6.2-.3 11.2z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M404.8 879.3c.5-3.6 2-8.4 5.9-10.4-3.4-3-11.7-2.1-12.3 4.1-.6 6.2 3 7.5 6.4 6.3zm-16 40c5.4 1 12.4-1.7 10.4-13.6-1.9-11.3-10.2-14-10.8-11.4 4.8 1.7 4.1 17.7.5 25.1z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M396.8 918.1c5.3 1 13.7-2.1 9.9-13.8-3.7-11.5-12.2-10-12.8-7.2 4.7 1.9 6.5 13 2.8 21z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M376.7 918.2c3.9 3.4 13.9 4.7 17-6.9 3-10.9.3-14.4-3.6-16.1 2 5.6-5 21.6-13.4 23zm25.5-1c3.2-1.8 10.6-5 5.8-16-4-9-10.1-5.2-11.8-3.7 4.3 1.8 8.1 11.5 6 19.7z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M409.2 914.6c3-2 10.7-7 4.6-17.8-6.1-10.5-14.2-3.5-14.2-.7 3.5 1 9.6 10 9.7 18.5z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M416.7 907.3c2-2.8 7.2-9.8-.7-16.8a6.7 6.7 0 00-12 4.3c3.2-.5 10.6 5.2 12.7 12.5z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M421.2 896.3c.5-3.6 2-12.6-7-14.7-9-2-9.6 8.6-8.1 10.4 2.4-2.2 10.5-1 15 4.3zm-50.3 18.6c3.4 4.2 13.4 7 18.7-4.1 5-10.7 2.7-14.7-1-17.2 1 6.1-9 21.3-17.7 21.3z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M360.9 906.7c3.2 6.6 19.2 14 25.5 2 5.9-11.6 1-22.2-4-26.2 2.4 11.8-12 29.7-21.6 24.2z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M352.4 898.4c7.8 17.2 24.1 14.2 29.6 1.7 5.2-11.8 3.8-18.8-2.2-24.4-4 15.2-12.2 23.7-27.5 22.7z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M342 884c5.9 21.5 27 19 36 6.6 6.4-8.7 4.2-15.1 1-19-7 8.3-19 15.6-37.1 12.4z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M338 871c.6 21.8 26 24.3 37.4 11.7 8-8.8 7.3-15.4 5.2-19.3-8.4 8.4-25.3 18.4-42.6 7.5z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M332.7 850.2c-3.9 28.4 29.1 37.6 43.5 20.7 7.7-9 7.3-15.4 5.2-19.3-14.3 10-39.2 11.2-48.7-1.4z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M329.5 823.5c-9.5 30.7 19.2 41.6 38 38.6 14.9-2.4 23.2-20 21.1-23.8-18.6 13.1-55.4 1.8-59.2-14.7z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M329 799.7c-12.6 29.9 15.4 47.4 38.6 45.7 15.3-1.2 27.8-7.1 27.2-19.6-22.7 8-58.2-5.4-65.8-26.1z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M330 775c-12.7 30.5 14.7 55.6 43.4 56.3 14.7.3 21.4-3.6 27.2-13.3-20.7 3.5-64.9-28-70.6-43z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M329.6 765.3c-11.4 35.9 80.3 80.4 85 33.7-22 11.5-81.8-20.7-85-33.7z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M327.5 755.6c-15.4 19.8 93 78.2 95.5 28.4-9.7 5-29.8.7-49.2-8.1-19.4-8.8-33.2-22.9-46.3-20.3z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M311 751.1c19.6.5 61.3 31 89.3 36 17.8 3.3 32.4-4.2 24.1-35.5-28.5 29.1-83-17.8-111.8-6.8-3-1.4.7 8.4-1.6 6.3z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M314.7 755.5c19-11.8 58.4 10.1 86.2 11.3 17 .7 38.4-18.6 24.4-47-21.9 37.6-82.9 7.5-108.6 27.3-2 4.3-.9 10-2 8.4z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M307.1 756.8c20.2-14.8 61.6-6.2 88-8.4 17.6-1.4 43.8-32 19.9-57.5-14.9 53.9-64.5 27.3-107.3 58.3-2.1 5.5.8 8.9-.6 7.5z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M314.4 752c16.7-15.7 57.6-14.7 82-27.1 16.2-8.3 32.8-43.6 4.3-61.4-3 56.7-55.2 39-87.5 81-.7 6 2.8 8.4 1.2 7.5z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M316.1 744.5c12.4-22.1 50.3-27.6 70.8-46 18.4-16.5 23.4-46.4-7.6-56-2.6 59.3-43.8 46.8-60.7 82.3-3.2 7.8-1.6 20.5-2.5 19.7z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <path d="M325.5 722c12.7-20.2 22.2-13.3 42.4-34 17.3-17.7 22.6-60.3-7.8-61.3 4.5 51.5-15.3 52-29.2 79.7.5 6.1-3.6 16-5.4 15.5z" transform="matrix(.01896 -.24347 .22029 .02096 145.1 340.8)"/>
+      <g stroke-width="3">
+        <path fill-rule="evenodd" d="M310.4 602.7l-10.5 5.6L250 762.1l18.1 40 17.2 2.6L306 803l30.7-138.4 8.7-56.5-21-12.4-14 6.9z" transform="matrix(.01291 -.19952 .15288 .02036 190.6 323)"/>
+        <path d="M309.3 597.5l1.3 6.1c9.8-6.8 20.4-.2 23.3 15.6 2.9 15.8-3 39-13.7 56.7a167.2 167.2 0 00-17 56.2c-1.8 18.8 1.9 41.7-2.2 62.6-2.6 10-7.9 9.1-18.2 8.5 4.1 6.8 9.3 10.6 16 10.3 14.4-3.2 24.7-16.1 28.5-44.8a106 106 0 019.8-72 85.9 85.9 0 0026.3-50 54 54 0 00-9.6-39.1c-11.5-17.4-20.8-18-29.6-16.4l-15 6.3z" transform="matrix(.01291 -.19952 .15288 .02036 190.6 323)"/>
+      </g>
+      <path fill-rule="evenodd" stroke-width=".5" d="M-325.7 629.7c0-3.1 2-5.6 4.5-5.6s4.5 2.5 4.5 5.6h-9z" transform="matrix(1.00994 .34063 .4261 -.98295 369.3 1013.3)"/>
+      <path d="M295.5 723c-3.8 7.3-11.3 10.6-16.7 7.5-5.4-3.2-6.7-11.7-3-19 3.8-7.3 11.3-10.6 16.8-7.4 5.4 3.1 6.7 11.7 2.9 19zm-19-82c-2.5-3.5-6.3-5.7-10.3-5a12 12 0 00-6.6 3.9l-.2-1c-1.4-7.7 4.8-16.8 11.4-18 3-.5 5.7.6 8 2.7a15.2 15.2 0 00-1.2 8.8 15.2 15.2 0 001 3.6 18.3 18.3 0 00-2 5z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M300.3 632.4c-2.9-3.6-6.7-5.8-11-5.2-4 .5-8 3.6-10.7 7.7a18.8 18.8 0 01-1.1-4.1c-1.4-9 6-19.1 13.7-20.2a9.8 9.8 0 015.6.8 15.6 15.6 0 000 4 18.3 18.3 0 005 10.2 18.6 18.6 0 00-1.5 6.8zm-42.3 45l-.4.6a14.5 14.5 0 01-8.5-4.7 13.4 13.4 0 009 4zm6.8-13.6a17 17 0 01-8.1-12.3c-1.4-8.7 5.8-18.6 13.3-19.6a9.1 9.1 0 012.2-.1 18.1 18.1 0 00-3.6 13c.4 2.8 1.5 5.4 3 7.6a20.8 20.8 0 00-6.8 11.3z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M258.3 689.2c-2 .6-4 .4-5.8-.8-4.4-2.9-5.6-10.5-2.6-17 3-6.3 9-9.2 13.3-6.3a9.3 9.3 0 013.6 5.1 7.5 7.5 0 00-5.4.4c-4.7 2.2-7.1 8.6-5.4 14.3a11 11 0 002.3 4.3z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M262.4 694c-3-1-5.8-3.5-7.4-7.3-3-7-.9-15.6 4.7-19.2a9.6 9.6 0 019-.9 17.5 17.5 0 001.1 9.7 12.7 12.7 0 006.2 6.7 9.6 9.6 0 00-7.7 1.3 14 14 0 00-5.9 9.6zm-5.1 49.4c-7-4.5-11.4-14-9.7-21.1 1.4-6 6.7-8.4 12.5-6.4a25.9 25.9 0 00-1.4 18.2 19 19 0 008 11.4c-2.7.7-6 0-9.4-2.1z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M251.7 770a12.3 12.3 0 01-1-1c-5.6-6.5-7-16.9-3.2-23 3.7-5.8 10.7-6 16.3-.7-3 6.5-2.3 15.4 1.6 22.2a11.9 11.9 0 00-10.3.2 14.1 14.1 0 00-3.4 2.2z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M268 783.8c-5.3-.3-10.6-6.3-12.4-14.5-2-9.1 1.3-17.6 7.3-18.9h.3c2.8 4.7 7.1 7.5 11.7 7.7v.2c-6.6 4.6-9.8 15.3-7 25l.2.5zm-2.8-66.2c-6.6 2-14.4-2.7-17.5-10.7-3-8 0-16.3 6.5-18.4 1.7-.5 3.5-.6 5.3-.3 1.5 4.7 4.3 8.4 7.6 10.5a26 26 0 001 17.5 10.8 10.8 0 01-2.9 1.4z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M270 727.9c-7-4.5-11.4-14-9.7-21.1 1.6-7.1 8.7-9.3 15.7-4.8a21.5 21.5 0 015.4 5 25 25 0 00-3 23.1c-2.6.4-5.5-.3-8.5-2.2z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M284.7 750.9c-3.7 7.6-11.2 10.5-16.7 6.3-5.5-4-7-13.7-3.3-21.3 3.7-7.7 11.2-10.5 16.7-6.4s7 13.7 3.3 21.4zm-9.3-47.8a12.2 12.2 0 01-11.2.4c-6.2-3.4-7.6-12.5-3.2-20.4a18 18 0 0113.4-9.4 9.7 9.7 0 007.9 2.6l.5.5c-8 3.4-12.2 13.3-9.4 22a16 16 0 002 4.3z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M284.2 666c1.2 8-4.1 15.3-10.5 16.2-6.3.9-12.4-4.8-13.7-12.8a17.6 17.6 0 015.8-15c2.7 4.3 7 6.9 11.4 6.3 1.6-.3 3.2-.9 4.6-1.9a23.1 23.1 0 012.4 7.2z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M287.2 705.7c-5.7 3-12.2-1.4-14.5-9.6-2.3-8.3.5-17.5 6.2-20.4a8 8 0 015.4-.8 25.5 25.5 0 00-1.7 3.6c-3.4 9-1.7 20 3.8 24.3.9.7 1.8 1.2 2.8 1.5a10 10 0 01-2 1.4z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M304.5 668a14 14 0 01-1 7.8c-5.3-3.2-12.2 0-16 7.3a15 15 0 01-8.3-11.6c-1.2-7.7 5-16.4 11.7-17.4v1c1.2 7.4 7.2 12.9 13.6 12.4v.4z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M303.5 696.7c-4.3 9.2-12.9 13.3-19.2 9.2-6.3-4.2-8-15.1-3.7-24.4 4.2-9.2 12.9-13.4 19.2-9.2 6.3 4.2 8 15.1 3.7 24.4zm-14.1-41.5a14.8 14.8 0 01-6.4 6.9c-6.3 3.1-14-.3-17-7.8-3.1-7.4 1-18.5 7.2-21.7a9.2 9.2 0 018.2 0l-.1.6c-1.7 9.7 2 19.1 8 22zm31.2-41a14 14 0 01-.9 7.4c-2.5-3.1-5.8-5-9.4-4.5-4.4.6-8.6 4.6-10.7 9.4a15.9 15.9 0 01-4.4-8.8c-1.2-7.8 5.2-16.6 11.9-17.6 6.6-.9 12.3 6.2 13.5 14z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M322.4 630.6c1 6.6-3.1 12.8-8.5 14.7-2.4-3.5-5.9-5.7-9.6-5.1a9.6 9.6 0 00-2.9.8 15.3 15.3 0 01-3-7c-1.1-7.3 5-15.7 11.3-16.6 6.3-.9 11.7 5.9 12.8 13.2z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M293.2 654.4a8.5 8.5 0 01-9.4.2c-5.1-3.4-6.5-12.3-3-19.8 3.4-7.4 10.4-10.8 15.5-7.4a12 12 0 014.8 9c-5.1 3.8-9 11.1-8 17.7l.1.3zm-36.7 144.3c-5.8 2-12.1-2.4-14.4-10.5-2.4-8.7.6-18.3 6.6-21.4 5.7-2.9 12.2 1 15 8.5-6.2 4.5-9.3 14.2-7.2 23.3z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M270.6 803.8c-6.3 2.8-13.2-1.1-15.5-8.8-2.3-7.7 1-16.3 7.3-19.2 5.4-2.5 11.4 0 14.4 5.7a21.6 21.6 0 00-6.2 22.3z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M267.6 818c-5.7 2.5-12-1-14-7.9a15.9 15.9 0 011.9-13.3c4 3.4 9 4.4 13.8 2.1a14.5 14.5 0 003-2 14.3 14.3 0 011.7 3.8c.8 2.4.9 4.9.5 7.2a20.6 20.6 0 00-4.6 8.5c-.7.6-1.5 1.1-2.3 1.5zm8.5 29.3c-6.4 2.9-13.5-1-15.8-8.8-2.3-7.8 1-16.5 7.3-19.4l1.5-.5a26.6 26.6 0 00.9 9.4c2 7.2 6.9 12 12.3 13a13.3 13.3 0 01-6.2 6.3z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M285.2 848.4c-6.2 2.8-13-1-15.2-8.4a17.7 17.7 0 010-10c4 3.6 9.2 4.7 14 2.4a16 16 0 006.6-6.2 16.6 16.6 0 011.6 3.6c2.3 7.4-.9 15.8-7 18.6z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M293.1 863.4c-6.1 2.8-13-1-15.2-8.5a17.8 17.8 0 01-.6-6.2c2.3.4 4.8 0 7.2-1a18 18 0 008.9-11.4c3 1.4 5.6 4.4 6.8 8.4 2.2 7.5-1 15.8-7 18.7zM273 786c-2.8-1.8-5-4.8-6.3-8.6-2.4-8.3 1-17.5 7.8-20.6 6.8-3.2 14.3 1 16.8 9.3 1.9 6.2.4 13-3.5 17.4a11 11 0 00-10.5-.8c-1.7.8-3.1 1.9-4.3 3.3zm46.8-134.5c1 6.6-5.5 17-12.1 18.4-6.7 1.4-11-1.9-14-6.2-3-4.4-4.3-10-2.6-15.2 1.7-5.2 6-10.4 10.4-12.3 4.4-2 7.4-1.2 11 1.7 3.5 3 6.3 7 7.3 13.6z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M285.2 808.6c-6.2 2.8-13-1-15.2-8.5-2.3-7.5.9-15.8 7-18.7 6.1-2.7 13 1 15.2 8.5 2.2 7.5-1 15.9-7 18.7z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+      <path d="M283.1 834.2c-6 2.7-12.8-1-15-8.4-2.2-7.3 1-15.6 7-18.4 6-2.8 12.8 1 15 8.4 2.2 7.3-.9 15.6-7 18.4z" transform="matrix(.01896 -.24408 .22029 .01391 146.3 342)"/>
+    </g>
+  </g>
+  <path fill="#e7ca00" stroke="#d4af37" stroke-width=".5" d="M291 194.8l-.4.5-14 17.5-.4.3.4.4a25.8 25.8 0 017.1 17.5 53.1 53.1 0 01-2.7 17.4c-2 6.5-4.8 12.3-5.6 21.9a22.5 22.5 0 005.2 16.6 29 29 0 009.7 7.6c7.3 3.5 14.8 2.3 22.4 3.2 3.3.5 5.2 2.6 7 4.4l.3.4.4-.4c1.7-1.8 3.6-4 7-4.4 7.4-1 15 .3 22.3-3.2a29.4 29.4 0 009.7-7.6c3.3-4 5.8-9.5 5.2-16.6-.8-9.6-3.5-15.4-5.6-22a53 53 0 01-2.7-17.3c0-5.9 2.6-13.2 7.1-17.5l.4-.4-.3-.3-14.1-17.5-.4-.5-.4.4a19.8 19.8 0 01-14.2 5c-5-.3-10-2.1-14.1-4.7l-.3-.2-.3.2a29.8 29.8 0 01-14 4.6 19.8 19.8 0 01-14.3-4.9l-.5-.4zm.1 1.5a21 21 0 0014.6 4.9 30.4 30.4 0 0013.8-4.3V248h-37.3a54 54 0 002.6-17.1c0-6-2.6-13.3-7.1-18l13.4-16.7zm57.8 0l13.4 16.8a26.9 26.9 0 00-7.1 17.9 54 54 0 002.6 17.1h-37.3V197a30.4 30.4 0 0013.8 4.3 21 21 0 0014.6-4.8zm-67 52.9H358c2.1 6.4 4.6 12 5.4 21.1a21.4 21.4 0 01-5 16 28.4 28.4 0 01-9.3 7.2c-7 3.3-14.3 2.2-22 3.2-3.5.4-5.6 2.5-7.2 4.3-1.7-1.8-3.7-3.9-7.2-4.3-7.7-1-15 .1-22-3.2-2.3-1-6.2-3.4-9.4-7.3s-5.6-9-5-15.9c.8-9.1 3.4-14.7 5.4-21.1z"/>
+  <g fill="#008f4c">
+    <path fill="#00a854" d="M373.3 171.4l-.1.1-.6 4.2-.5 3.6-2.4-1c-3.1-1.4-9.5-2.1-10-1.2-.1.6.6 4 1.7 8 .3.8 0 1-1.8 1.6-1.3.4-2.6 1-3.1 1.4-1 .6-.8.8 1.4 2.8l2.4 2.1-1.2 1c-1 .8-1 .8 2.8 4.5 4.3 4 6.5 5.2 9.4 5.2.9 0 1.9.2 2.6 0 1-.2 1.7-.5 4-.7 2.6.2 5 1.4 6 2l.6 1.4c-1.8-2-5.8-2.7-6.6-2.8-.8 0-1.2.2-2.1.5s-1.3.7-2.1 1.9c-.6 1.5.6 3.1 2 3.3 1.9.3 3.2-.7 3.2-2.4 0-1.3-.7-2.3-.1-2.3 2.2.2 5.6 2 6.2 4.2.8 2.8.6 3-.7 1a12.8 12.8 0 00-3.9-3.4c-.4 0-1.5 2.5-1.5 3.6 0 .8-.2 1-.8.7-.5-.3-1.6-.5-2.5-.6l-1.6-.3.4 2.5c.2 1.4.9 3.5 1.4 4.6l1.1 2-2.4-.7c-5.3-1.6-4.9-1.7-4.5 1 .1 1.4.4 3 .6 3.4.3.7 0 .9-1.8.9-1.1 0-2 .1-2 .3 0 1.1 4 6.6 6.1 8.2 2.5 2 7.2 4 9 4 .7 0 2.3.5 3.9 1l2.8 1v3.1c0 3.3-1 10-1.6 10-.1 0-1-1.4-2-3.2-2-3.8-2-3.7-2.5-2.8-.4.6-.5.5-.5-.3a17 17 0 00-3.8-7.3l-1.2-1.1-.7 1.3-.6 1.3-2.7-3c-1.5-1.6-3-2.9-3.1-2.7-.3 0-.6 1.4-.8 3-.5 4.3-.7 4.6-2.4 3l-1.4-1.4-.4 1.3a40 40 0 001.2 13.9 48.8 48.8 0 011.7 6.4c.6 3.8 2.8 8 5.5 10.8 1 1 1 1.4.5 1.4-.4 0-1.2.4-1.6.9-2 2.1-.2 5 2.8 4.4 1.5-.2 1.8-.1 2.3 1 .8 1.6.8 4.5.1 5.7-.5 1-3.5 2.2-4 1.7-.1-.1-.2-1.8-.2-3.7v-3.5l-2.5 1.4a29.7 29.7 0 00-12.9 18.4c-.4 2.2-1.7 2.4-3.3 5a20.1 20.1 0 00-4.5 3.6c-2.5 2.4-3.2 2.8-7 3.7-4.7 1.2-14.7 2.8-22.2 3.6-6.5.6-27.1 4-28.4 4.5a90 90 0 01-3 1.2 6.8 6.8 0 00-2.6 2c-.8 1.1-.8 1.5-.2 2.5 1.3 2.6 4 2.5 9.6-.2a31 31 0 017.8-2.5c2-.3 4.9-1 6.4-1.3 1.5-.4 5.8-1.1 9.4-1.7a199 199 0 0036.4-7.8c5.6-2 5.5-2 10.7-1.5 5.8.6 13-1.2 16-4 .7-.5 2.4-2.6 4-4.6 1.4-2 3.3-4 4-4.5 1.9-1.3.8-1.7-4.2-1.7h-4.2l1.5-3.1c1.6-3.6 3.3-8.4 3-8.7-.1-.1-1.6 0-3.2.5-1.7.3-3.1.6-3.2.5l.4-1.7c.4-1 1-1.7 1.9-1.9l2-.5a7 7 0 012.7.3c1.8.5 1.9.6 1.6 2.2-.2 2 .8 3.3 2.6 3.3 1.4 0 2.9-1.4 2.9-2.6 0-1.4-2-3-3.2-2.7a11 11 0 01-3.9-.6l-2.7-1 2.6-.5c4-.9 5.3-.7 6 .5.3.8 1 1.2 2 1.3 3.2.3 4.3-4.2 1.2-5.2-1.1-.3-3.6.9-3.6 1.8 0 .3-.8.5-1.8.5a17.3 17.3 0 00-6 1.1l3.9-1.9a60 60 0 006.7-2.5c4.6-2 9-7.3 10.7-12.3a54 54 0 002.2-13c-.3 0-2 .6-3.7 1.4-3.3 1.5-3.3 1.5-3.3.4 0-2 .9-8.1 1.2-9 .3-.5.2-.8-.3-.8a28 28 0 00-9.7 5.3c-3 2.5-3.4 2.6-3.4 1.6 0-.7.5-2 1-2.8 1-1.5 1.2-1.6 3-1.3 1.8.3 2 .1 2.8-1 1.1-1.6.5-3.6-1.2-4.1-1-.3-.9-.5 1-1.4a16 16 0 006.5-7l1.2-2-1.8.2c-1 0-1.8.2-1.8 0l.7-2.1c.4-1.2.8-3 .8-4.2 0-2-1.9-9.8-2.6-10.6-.3-.3-1.3.2-2.4 1.1l-2 1.6-1.9-4.1a58.7 58.7 0 00-2-4.3c-.2-.2-.8.3-1.6 1-1.5 1.4-1.6.6-.3-2.4 1.3-2.6 1.8-3 3.2-2 1.8 1 3.7 0 3.9-2 .1-1.3-.1-1.8-1-2.5-.7-.4-1.6-.6-2-.5-.5.2-1-.2-1.3-1.2a2.9 2.9 0 00-1.9-1.8c-2.6-.7-4.5 2.6-2.5 4.5.7.7.7 1.3.2 5-1 5.9-1.3 6.4-2 3.8-.8-3-.4-11.2.6-13.6 1.9-4.2.8-10.8-2.2-14.2a35.4 35.4 0 00-10.7-7.7zm-3.5 13.8a21 21 0 015.4 5.2c2.6 3 5.6 8.3 7.6 12.3-.7-.8-1.1-.9-3.2-3.7-1.6-2.3-4.4-7.4-7-10-2.3-2.4-3.2-3.8-2.9-3.8z"/>
+    <path d="M382.5 239c-.5 2-.9 2.3.1 3.8.5.7 1.3 1 2.2 1 1.4 0 2.1 1 3.3 4.6.1.6.3.6.3-.1 0-.6-.4-1.8-1-3-.6-1.1-.8-2-.5-2.2 1-.6.5-3.1-.6-4-1.6-1-2.1-.7-3.8 0z"/>
+  </g>
+  <path fill="#9eab05" d="M288.6 321.4c-1 .9-1.3 2.2-.5 3 1.1 1.2 5.1.1 5.6-1.4.5-2.2-2.9-3.3-5-1.6z"/>
+  <path fill="#75b52b" d="M374.5 175.6a27 27 0 004.7 9.7c.7 1 1.4 1.6 1.6 1.5 0-.2-1.3-3.2-3.2-6.7-2.6-5-3.4-6-3.1-4.5zm-17 13.5a27 27 0 008.2 2.3c0-.9-2.4-2-5.3-2.3-1.7-.2-3-.2-2.8 0zm3.2 6.1c.6.6 9.5 4.7 12 5.5 1.4.5 3.4.8 4.3.7 1.5-.2 1.3-.3-1.9-1.3a53 53 0 01-5.8-2.4c-3-1.5-9.5-3.4-8.6-2.5zm29 13a93 93 0 00-2.4 15c-.3 3.3-.2 4.4.4 5.1.6.9.8.5 1.3-4a194 194 0 001.4-17.7c-.1 0-.5.6-.8 1.5zm-8.6 4c.2 4.1 2 8.4 2.6 6.5a15 15 0 00-1.2-5.5l-1.6-4.4.2 3.5zm-5.7.2l1.8 2.3 1.2 1.5v-1.3a3 3 0 00-1.3-2.3c-1.6-1.3-2.6-1.4-1.7-.2zm-7.2 12.4a76 76 0 007.4 5.6c1.5 1 1.5 1-.4-1.3-2-2.3-5-4.5-6.3-4.5-.4 0-.7 0-.7.2zm2.8 10.8c1.4 5.6 2.4 8.8 3 9.1.3.2.6.4.7.3.2-.3-2.4-8-3.2-9.3l-.8-1.3.3 1.2zm5.9 4.4c0 .8.4 2.3 1 3.4.5 1.1.9 1.7.8 1.2l-.6-3.1c-.4-2.7-1.2-3.7-1.2-1.5zm-10.3 3.8c1 3.2 3.4 8.2 7 14 2.5 4.2 2.5 4.2 2.7 2.4 0-1.4-.4-2.6-2.3-5.8a534.9 534.9 0 01-5-8.6 22.5 22.5 0 00-2.9-4.6c-.2 0 0 1.2.5 2.6zm31.5.7a75.5 75.5 0 00-8.2 11.5c-.5 1-.6 2-.4 2.8.3 1.2 1 .3 6-7.7 3.1-5 5.5-9 5.3-9-.3 0-1.4 1.1-2.7 2.4zm-8 37.3a2 2 0 001.8 3c1.5 0 2.4-1.7 1.6-3.1-.6-1.2-2.8-1.1-3.4.1z"/>
+  <path fill="#d91023" d="M375.1 205.2c-1.9 1.3.1 4.7 2.2 3.5 1.2-.8 1.4-2.7.3-3.5a4.2 4.2 0 00-1.2-.7l-1.3.7zm13.3-10.9c-1.1.3-1.6 1.9-.8 3.2 1 1.8 3.5 1 3.5-1 0-1.6-1.2-2.5-2.6-2.2zm3.4 3.9c-.2.4-.2 1.2 0 1.9 0 .9.4 1.1 1.5 1.1 1.9 0 2.9-1.3 2-2.6-.7-1.1-3-1.4-3.5-.4zm-19 75c-2 1.5-.1 4.2 2.2 3.3 1-.4 1.5-1.6.9-2.7-.7-1.4-1.9-1.6-3.1-.6zm10.3-33.6c-.6.5-.4 2.4.2 3 1.6 1.6 3.8 0 3.3-2.1-.3-1-.7-1.3-1.8-1.3-.7 0-1.6.2-1.7.4zm9.4 0c-.4 1.4.5 2.7 1.8 2.7s2.2-1.2 2-2.6c-.1-1-.5-1.2-1.8-1.3-1.4-.2-1.7 0-2 1.1zm1.3 37c-.3 1.4.5 2.7 1.9 2.7 1.2 0 2.1-1.2 1.9-2.6-.1-.9-.5-1.2-1.8-1.3-1.4-.1-1.7 0-2 1.2zm-3 4.6c-2 1.5-.2 4.2 2.2 3.3 1-.4 1.4-1.6.8-2.7-.7-1.4-1.8-1.6-3-.6z"/>
+  <path fill="#75b52b" d="M369.7 185.6l2.2 2.6a59 59 0 016.2 8.5c2 3.2 4.5 6.4 4.5 5.8 0-.6-4.5-8.2-6.2-10.5-2.4-3.2-6.1-7-6.8-7-.2 0-.1.2.1.6z"/>
+  <path fill="#eac102" fill-opacity=".5" d="M382.7 249c0 .4-.6 3.8-.8 7.7a157.5 157.5 0 01-3 25.7l.1.9.9-1.2c.9-1.2 1.8-2.1 3.1-3a145.4 145.4 0 0017-19.4c5.2-6.8 6.4-8.6 6.3-8.7-.2-.2-1.8 1.4-8.2 9.3a244 244 0 01-6.6 7.7c-4.5 5-9.5 9.5-10.8 11.3l.4-2.1a93 93 0 001.8-20.6v-8.2l-.2.6zM370 282.2l-2.7 4.7a69 69 0 01-10.4 14.6c-1 1-.7 1.2-1 1.4-1.2 1.2 3.6 2 7.3 2.5 4.9.4 7.6-.5 20.7-7.5 3-1.6 3.9-2 3.3-2a35 35 0 00-8.8 3.4c-5.6 2.6-8 3.8-10.6 4.3-2 .5-4.8.5-6.5.1h-1.2l.6-.3c.6 0 1.3-.1 1.6-.3.3-.3 1.3-1 2.3-1.5a82.5 82.5 0 0016-14 39 39 0 00-5.5 4.3 46.9 46.9 0 01-15 10.1l-.9.2.8-.8 2.3-3.3a63.5 63.5 0 008.5-17l-.8 1.1zm.2-64.8a55 55 0 005.7 7.2c3.2 3.6 5 5 7.5 8.2 2.6 3.2 2.8 3.4 5.6 6 3.5-4.7 5.7-11 7.2-15 1.4-3.9 2.6-7.3 2.7-12.5-2 4.4-2.1 6-3.7 10.7-1.6 4.8-5 13-6.4 14.8-.1.2-7.4-8.8-10.6-12.5-3.4-4-8-7.3-8-6.9z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M372.7 174.8l-.6 4.5-1.9-.9c-1.9-.9-6.9-2-9.3-2-1.3 0-1.4.2-1.1 1.7.3 1.6 1.6 6.2 2 7.2.1.3-.7.8-2 1.1a11 11 0 00-3 1.4c-1 .7-.8.8 1.1 2.5 2.3 2 2.5 2.7 1.2 3.6-.7.5-.4 1 3 4.2 2 2 4.6 4 5.6 4.6 2.6 1.3 7.7 1.3 10.4 0 1.9-1 2-1 3.2-.2 1.3.8 1.3.8.7 0a30 30 0 00-5.3-3.2 32 32 0 01-15.3-17c-1.2-3.5-1.2-5.3 0-5.3 2.2 0 6.6 1 9 2.2 3.8 1.7 10.4 8 12.3 11.7 1.3 2.6 1.4 3.5 1.5 7.3 0 4.5.7 6.3.8 2.3.2-5 .4-6.2 1.1-8.2 1.6-3.7.8-9.4-1.7-12.8a36 36 0 00-6-5.1 41 41 0 01-4.7-3.6c-.2-.3-.7 1.5-1 4zm6.5.8c3.4 2.3 4.4 3.3 5.5 5.5 1.6 3.4 2 7.5 1.2 10.5l-.7 2.2-1.4-2.8a27 27 0 00-5.7-7.1 30.5 30.5 0 00-5-4.4c-.5 0-.3-3.4.5-6.4.3-1.3 0-1.5 5.6 2.5zm-16.4 12.3a8 8 0 001.8 2c.5.4 1 1.1 1.1 1.7.3.9 0 1-2.3 1-2.4 0-2.8-.2-4.7-2-1-1.1-1.9-2.1-1.7-2.2.4-.4 3.7-1.8 4.3-1.9.4 0 1 .6 1.5 1.4zm6.8 7.8c3 2.7 3.8 3.3 7.4 4.7 1.9.8 2 .9 1.2 1.6-1.1 1.1-6.7 1.5-9.3.7-2.2-.7-10.1-7.9-9.3-8.4a14 14 0 015.4-1.2c1.4 0 2.3.5 4.6 2.6zm14.7 9.3c-.2.2 0 1.4.4 2.5 1 2.5 1 3.3 0 5a10 10 0 00-.8 3.5 12 12 0 01-.6 3.6l-.5 1.6-1.7-1a5 5 0 01-2-2.2c-.4-1.5-.2-4.7.4-7.8.5-2.1.8-2.7 1.5-2.7.8.1.8 0 .3-.6-.5-.7-.7-.7-1.3.1a7 7 0 00-1 2.5c-.3 1.7-.3 1.7-1.7 1-2.2-1.2-3-1-3 .7s.8 4.3 1.9 6c1.2 1.7 1.2 1 0-1.3-1.3-2.7-1.8-5.7-.9-5.7.4 0 1.2.4 1.9.8.9.6 1 1.2 1 4.2-.1 4-.5 4.2-5.3 2.6-1.5-.6-3-1-3.1-.8-.2.2.6 4.5 1.1 5.8.3.6-.1.8-2 .6l-2.4-.2 1.4 2.4a20 20 0 0014 10.1c2 .4 4.4 1.1 5.3 1.6 1.2.6 1.4.6 1 0-.3-.3-1.5-1-2.6-1.3-2.9-1-5.7-3.1-9.4-7s-5.5-7.1-5.5-9.6c0-1.4.2-1.7.8-1.4l3.9 1c4.3 1.2 5.4 1.8 8.1 4.7 3 3.1 3.9 5 4.8 9 .4 1.9.8 3.4 1 3.6.6.7.8-1.6.2-3.6-.9-3.3.5-9.8 3.4-15.5 1.3-2.5 5.2-6.3 5.8-5.6.2.2.9 2.4 1.5 4.8 1.4 5.1 1.2 6.6-1.2 11.7a18.5 18.5 0 01-6.1 7.7c-2 1.4-1.5 1.8 1.3 1.1 2.4-.6 6.4-4.2 8.5-7.7l1.1-2-2 .4-2 .3 1-2.7c1.2-3.4 1.2-4.7 0-8.8l-1.3-4.8-.3-1.4-1.7 1.1a9.4 9.4 0 00-1.9 1.6c-.6.9-1.3-.1-3-4l-2-3.7c-.3 0-1.1.6-1.9 1.4l-1.3 1.4.3-1.4c.3-1 .2-1.4-.2-1.1-.2 0-.5.8-.5 1.4 0 2.4-.9 2.4-1.6 0-.4-1.3-.9-2.2-1-2zm7.4 12.7a31.5 31.5 0 00-2.9 8.3l-.6 3.6-.8-2a17.6 17.6 0 00-2.2-3.7c-1.4-1.6-1.4-1.7-.8-5.3.9-5.7 2-8.7 4-11l1.9-2 1.8 3.7 2 3.7-2.4 4.7zm-19.3 8.3c6.2 6.5 8.4 9 7.3 8.6a17.4 17.4 0 01-10.3-7.5 19.5 19.5 0 01-1.8-3c0-.2.6-.3 1.4-.3.9 0 2 .7 3.4 2.2zm29 4c-2 3.2-3.3 4.4-5.5 5.5l-2 1 2-2.1a32.5 32.5 0 003.2-4.1c1-1.6 1.7-2.1 3.3-2.4.2 0-.2 1-1 2z"/>
+  <path fill="#005000" d="M382.9 209c.7 1.5 2 3 2 2.5 0-.3-.5-1.2-1.3-2-.7-.9-1-1-.7-.5z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M369.4 235.3l-.8 3.8-.5 2-1.5-1.4-1.4-1.4-.4 2.4a32 32 0 001.5 12.8 52 52 0 011.6 6.4c.6 4.6 4.4 10 9.4 13.4.9.7 1.2 1.5 1.5 3.8l.4 3v-2.9a64.6 64.6 0 00-1.4-8.3c-1.6-7.3-1-10.4 2.6-17.8l2.6-5.4 2.7 5.4c3.6 7.2 4 9.7 2 15.6a33.4 33.4 0 01-1.8 4.8c-.3.4-.4.8-.3 1.1.2.2 0 .7-.2 1.1-.4.6-.5.6-.2-.2.2-.6-.5 0-1.7 1.2a13.6 13.6 0 00-2.3 3.3c-.3.9-.2.9.6-.1l1.8-2.4c.5-.7 1.1-1.2 1.3-1 .8.4 1.5-1 3.2-5.6a28 28 0 017-12.4 27 27 0 017.8-5.2l5-2.3c.5 0-1 8.8-2 11.4a26.1 26.1 0 01-5.8 9.4c-2.2 2-6.4 4-10.5 5.2-1.7.5-3.3 1-3.4 1.3-.3.4 3.7-.7 7.5-2 5.4-2 10.5-7.3 12.5-12.8 1-2.5 3-13 2.5-13.3 0 0-1.7.6-3.8 1.6l-3.6 1.7.3-3.4c.2-1.9.6-4.4 1-5.8.5-2.3.5-2.4-.5-2a32 32 0 00-10 6l-3 2.7.2-4.7c.2-3 0-4.3-.2-3.6-.3.6-.5 2-.5 3.3 0 2.5-1.2 7.5-1.7 7.5-.2 0-1-1.4-2-3.2-1.7-3.2-2.4-4-2.5-2.7 0 .3-.5-.7-1.2-2.4a22.5 22.5 0 00-2.6-5l-1.5-1.9-.8 1.6-.8 1.5-2-2.5c-1-1.4-2.4-2.7-2.9-3-.8-.5-1-.2-1.2 1.4zm3.5 1.5c2 2.4 6.2 10.4 6.7 12.7l.3 1.3-.9-1.3c-1.6-2.3-6-6.3-8.8-7.8-1.3-.8-1.3-1-1-2.7l.7-3.2c.2-.8.5-1.4.7-1.4a13 13 0 012.3 2.4zm7 5c1.5 3 1.8 5 1 6.2-.6 1-4.8-7.7-4.4-9.4.3-1 .5-1.2 1.2-.6.4.4 1.4 2 2.3 3.7zm-9 1.5a25 25 0 017.5 7.4c.4 1 .3 1.7-.5 3.3a24 24 0 00-1.6 11.8v2.9c-.7 0-4.4-4.7-6-7.6a38.3 38.3 0 01-5-19.8l.4-2 1 1c.7.6 2.6 2 4.3 3zm30.8 0a75.1 75.1 0 00-.7 5.2c-.3 2.7-.4 2.8-3.3 4.7a23.9 23.9 0 00-5.2 4.6c-1.2 1.5-2.3 2.7-2.5 2.5-.3 0-.6-1.3-.8-2.6a20.8 20.8 0 00-1-4c-.6-1.6-.6-2 .4-3.3 2.1-3 11.2-9.4 13.2-9.4.2 0 .1 1 0 2.3zM374.4 268c1.8 1.9 3 3.4 2.8 4 0 .7-.7.4-2.7-1.6a19 19 0 01-5.6-8.5c-.3-1.3-.1-1.2 1 .7a30 30 0 004.5 5.4z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M369.4 280.5a31.6 31.6 0 00-11.6 17.4c0 1.6-1.8 3-1.5 2.8.2.7 1.8 0 2.5-2.5 1.3-4.7 5-13.2 9.9-16.6 1.4-1 3-1.8 3.2-1.8.2 0 .3 1.9.2 4.3 0 3.4-.4 5-1.4 6.9a28 28 0 01-8.5 9.3c-2.5 1.4-2.7 2-.4 1.1 2.5-1 8.4-7 10-10.3.8-1.7 1.4-3.3 1.4-3.7 0-.3.7-.9 1.5-1.2 1.8-.7 11-3 11.1-2.7.4.4-3.5 8.6-4.7 10.2-2 2.5-6.6 6-8.9 6.7-1 .3-3.4 1.6-5 1.9l-4.6.6-1.8 1 1.8-.3 5.3-.6c5.6-2 7.8-3.2 11.4-6l2.4-2 4.6.2 3.7.3-1.7 2.1a481.4 481.4 0 00-4 4.8 17.5 17.5 0 01-3.7 3.7 29.4 29.4 0 01-12.3 2.5c-4 0-4.2 0-6.2-1.8-2.1-1.8-3-2.2-3.2-1.4 0 .3-1.9 1-3.8 1.8-4 1.3-4.9 1-2.6-1.1.9-.8 1.8-.8 3.6-1 0 0 3.9 1 4 .1 0-.8-4-.7-4-.7-1.7.1-2.2 0-.7-1.8 1.6-1 2.3-3.1 1.4-2.7-2.2 2.7-3.7 3.8-7 7a18.3 18.3 0 01-8 3.6c-2.8.7-7.5 1.4-10.2 1.8-5.4.6-7.6 2-2.5 1 2.6-.5 6-.8 10.3-1.6 6.1-1.5 6.5-1.6 9.6-3.2 2.5-2.6 2.9-2.9 1.6-.8-.5 1.6.3 1.5 5.2-.3 3.8-1.5 4-1.5 5-.6.9 1 .8 1-1.1 1.8a124 124 0 01-20.4 5.6c-4.7 1-8.6 1.8-8.8 2-.4.4 5.6-.2 6.8-.8.6-.2 4.8-1.3 9.5-2.3 4.6-1.1 9.9-2.7 11.8-3.4 3.1-1.3 3.6-1.3 6.3-.8 3.4.6 9.1 0 13.2-1.3 3.2-1 5.4-2.9 8.6-7.4 1.3-1.9 3-3.8 3.7-4.3l1.3-1-4.4-.3c-2.5-.1-4.6-.4-4.7-.5a87 87 0 003-7.4l1.4-4.2-1.8.4-3.5.6-1.8.3.7-1.8c.4-1 .7-1.8.5-1.8l-1 1.7c-.8 2-1.8 2.4-1.5.6.2-.8 0-.6-.6.5a5.5 5.5 0 01-2.2 2.1l-2.2.8c-1 .5-1 .2-.8-3.4.1-2.4 0-3.9-.3-3.9s-1.7.8-3.1 1.8z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M321.8 313.9c-3 .2-9 1.1-18.9 2.7l-10 1.6c-.4 0-.5.2-.4.4.1.2-.6.5-1.5.7-2.3.4-4.9 2.5-4.9 4 0 1.4 1.7 3 3 2.7.7-.2.7-.3-.2-.3-2.2-.1-3-2.8-1.4-4.3 1.5-1.3 8.2-3.3 12-3.6a212.6 212.6 0 0023.6-3.6c3.3-.5 2.7-.7-1.3-.3z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M313.4 318.8a80.2 80.2 0 00-17.6 4.6c-3.6 1.8-3.1 2 .7.2a32 32 0 016.8-2l9.3-1.8 8.7-1.7 2.8-.4h-2.3c-1.3 0-5 .4-8.4 1z"/>
+  <path fill="#fff" d="M353.6 305.4c-1.7 1-3.3 2.8-1.5 2.6 1.4-.2 6.4-1.7 6.8-2.7-2 .2-3.5-.3-5.3 0z"/>
+  <g stroke="#d4af37" stroke-width=".9">
+    <path fill="#fff" d="M367.7 432.4c-1.5.5-2.5 1-9 .5-4.6-.3-10.3-1.1-13.2-1.2-5.6 0-5.6.3-15.5 7.1-7 4.8-16 4.4-22.7 3-4-2-5.8-2.3-5.2-1.3 1.1 1.8 9 4.4 13.4 4.4 7 0 12.2-1.8 20.7-7.1 6.6-4.2 9.5-4.5 18.5-2.5 10.6 2.1 12.2 1.2 20.9-2.7-2.6 0-3.2 0-4 .4 1.4-1.6 1.5-3.2 1.8-4.2.4-.6-.8.2-2.1 1.2l-3.6 2.4z" transform="matrix(.59548 0 0 .58466 141.4 62.9)"/>
+    <path fill="#d91023" d="M354 429.8c-4.9-.7-8.2-1.4-11.3-1-3.4.3-5.8 2-9.9 4.5-4 2.7-7.7 4.6-8.1 4.6-.6 0-5.8 1.2-9.8 1.2-1.8 0-5.9-1.3-8.6-2.3-5.7-2.1-7.8 1.4-1.8 3.9a33.4 33.4 0 0015.6 1.8c5-.8 9.6-3 13.4-5.8 7.7-5.6 3.2-3 6.2-4.2 3-1.3 5.9-.9 5.9-.9 4 .2 11.9 1.5 15.9 1.6 7.2-.7 6-.7 8.4-2 .8-.6 3.5-2.3 3.6-2.7.2-.4 1.4-2.7 1.2-2.8-7.5 5.1-11.2 5.1-20.7 4.1z" transform="matrix(.59548 0 0 .58466 141.4 62.9)"/>
+    <path fill="#d91023" d="M341 435.4l-7.1 4c-6.2 3.8-12 5.6-18.8 5.6-3 .5-13-3.6-11.5-3.1 1.6 3 4 3.4 9.6 4.5 4 .8 6.6.1 11.1-.8 5-.6 7-3 9-4.3a33.5 33.5 0 0114-5.4c1 0 4.7 2.1 8.9 3 4.1.9 6.1 1.1 10.4.4s8.7-4.2 12.8-6.9c-.6.2-2 .2-4 .3-6 3.5-16 4.8-21.2 2.4-5.4-1.3-10.5-1-13.2.3z" transform="matrix(.59548 0 0 .58466 141.4 62.9)"/>
+  </g>
+  <path fill="#00a854" d="M276.4 176.3a37.7 37.7 0 00-17.5 13.2c-1 1.2-1.8 2.2-1.9 2.1 0 0 .4-2.7 1.2-5.7.7-3 1.2-6.1 1.2-6.8 0-1.2-.1-1.1-2 1a41 41 0 00-7 13c-.7 2.2-1 4.7-1 9.3l.1 6.3-1.2-4.5c-1.3-4.7-2.6-8-4-9.6-.6-1-.8-1-1.3-.3-1 1.5-.3 7.8 1.4 12.4.1.6-.5-.2-1.4-1.7-1-1.6-2-2.7-2.3-2.6-.6.3-.6 5.3 0 7.4.4 1.4.4 1.4-1.3-.5-2.9-3.3-3.5-3.6-3.5-1.3 0 .9.3 2.4.7 3.4l.8 2-1.6.4c-2.3.4-3 1.1-3 3 0 2 1.4 6.8 2 7.2.9.5 1.1 0 1.8-3l.6-2.6 1.9 2.5a76.7 76.7 0 018.8 17.7c2.2 6.4 2.3 7.7.3 3.7a72 72 0 00-3.2-5.2c-2-2.8-12.6-13.9-13.3-13.9-.8 0 0 3.5 1.3 6.4.7 1.4 2.7 4.2 4.4 6.2l2.9 3.6c-.2 0-1.4-.8-2.7-1.7-2.6-2-5.3-3.5-5.6-3.2-.1.1.9 2.3 2.3 4.8l2.4 4.6-1.6-.3a6 6 0 00-2.8.3c-1 .6-1 1.1-1 3.5 0 3.3.8 6.7 1.5 6.7.8 0 2-3.2 2-4.9 0-1.3 0-1.3 2.6 1.1 3.7 3.6 8.6 9.6 13.4 16.6l4 6-4.7-3.6c-4.6-3.3-14-8.6-15.5-8.6-.4 0-.8.2-.8.5 0 .2 3 3.3 6.7 6.8l6.7 6.3-3.5-1.1a71 71 0 00-5.3-1.5c-1.7-.4-1.7-.3 2.2 3.3a68 68 0 008.7 6.7c2.6 1.6 4.3 2.8 3.7 2.7a35.1 35.1 0 00-11.5-1.9c0 .7 3.5 3.5 6 4.8 1.4.7 5 2 7.8 3 6 2.1 9.6 4 12.6 6.6l2 1.9-3.5-1.6c-4.1-1.8-15.3-5.5-16.5-5.5s3.8 5 8.8 8.7a80.2 80.2 0 0019.5 9.7c5.2 1.7 9.6 2.6 18 3.6 3.6.5 7 1 7.8 1.3.6.3 5 1 10 1.5a99.7 99.7 0 0130.7 7.2c1.7.8 3.5 1.1 7.2 1.3 5.5.3 5.8.1 4.2-2.9-1.3-2.5-3.7-3.9-8.7-4.8l-9.2-1.8a726.1 726.1 0 00-29-5c-14-2.3-20.1-4.7-26.7-10.7A43.3 43.3 0 01269 263c.4-3 .6-5.5.5-5.6-.5-.4-3.7 6.3-4.6 9.4l-1 3.3.3-5.4c.3-8.3 3.5-16.1 8.2-20.6 1-1 1.8-2 1.8-2.2 0-.2-1 0-2.1.2-1.6.4-3 1.3-5 3.2l-2.6 2.7 1.3-2.4a27 27 0 018.3-9.6l2.9-1.9-1.7-.1c-3.4-.4-9.5 4-12.9 9.3-2 3-2 2.1 0-2.6a41.8 41.8 0 018-12.5c1.9-1.8 2.2-2.5 1.5-2.5-2.7 0-7.2 3.5-11 8.4-1 1.5-1 1.4.2-1.5a40 40 0 016.1-9.7c1.6-1.9 1.2-2.1-1.5-1a26.4 26.4 0 00-8.6 9.7c-1 2-1.8 3-1.7 2.5a61 61 0 00.8-3.3 46.4 46.4 0 0112.8-22.7c2.4-2.2 3-3.2 2.3-3.2-2 0-6.5 2.6-9.5 5.5-3.1 3-3.2 3-2 .9a57 57 0 0118.3-18.6l4.3-3c0-.8-7.8 1.6-11.3 3.3a42.3 42.3 0 00-4.4 3.2c-2.5 2-2.7 2.1-1.8.8 1.7-2.4 7.6-7.7 10-8.9 1.7-.9 2-1.2 1-1.3-2.3-.4-8.9 3-14 7.4l-2.2 1.9 1.2-2a48 48 0 0114.7-15.6 60.5 60.5 0 014.4-2.6c.3-.1.5-.4.4-.5-.2-.2-2 .2-4 1zm77 145a6 6 0 011.4 1.9c0 .2-1.1.4-2.5.4-2.5 0-2.6 0-2.6-1.4 0-2.6 1.6-2.9 3.8-.8z"/>
+  <path fill="#9eab05" d="M350.3 320.5c-1.3 1.2-1 3 .3 3.4 2.2.6 5 .4 5-.4s-3.3-3.8-4.1-3.8c-.3 0-.8.3-1.2.8z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M279 175.5a31.6 31.6 0 00-15 8.5c-.3.3-3 2.8-4.8 5.2-.8 1-2 2.5-2.5 3.5 0-1 .8-3.8 1.5-7 .9-4 1.2-7 1.1-7.2-.5-.5-4.2 4.4-6 8a30.9 30.9 0 00-3.6 16.7v6.4l-1.3-4.8c-1.3-5-3.6-10.3-4.7-10.6-.4-.1-.8.6-1 1.7-.3 1.6 0 3.3 2.1 12 .2.6-.4 0-1.2-1.6-2-3.4-2.7-4.1-3.2-3.8l1.4 2a44 44 0 013 6 85 85 0 015.7 19.1c-.1.1-.5-.3-.7-1l-1.6-4.2a74 74 0 00-3-6.7 38.2 38.2 0 01-4.6-12.7l-.3-2.5c-.7.6-.4 3.5.6 6.8l.9 3c-.1 0-1.3-1.3-2.6-3-1.8-2.4-2.6-3-3-2.5-.4.8-.1 2.3 1 5.2l.7 2H236c-1 0-2.1.2-2.7.6-.8.6-.9 1-.4 3.7.6 3.3 1.4 5.8 2 5.8 1.1 0 1-1 1.6-3.9l.6-1.8c.2.3.5.7 1 1.1a78 78 0 0110 19.4 111 111 0 013.8 16c0 .2-.7-1.7-1.3-4.2-2-8.7-5-13.8-14-22.6 0 0-3-3.7-5.5-5.2 0 2.1.4 2.5.4 2.5.7 3.1 2.2 5.9 7 11.4a43 43 0 013.8 5l-2.7-2.2c-2.7-2.4-7-5.1-7.3-4.7-.2.1.8 2.3 2.2 5 1.8 3.2 2.3 4.5 1.7 4.3-2-.8-2.7-.8-4 0-1.3.9-1.3 1-1 4.4.1 2 .6 4 .9 4.7.6 1 .6 1 1.2-.2.3-.7.8-2.1 1-3.2.2-1 .5-1.9.6-1.9a48 48 0 014 4 80.9 80.9 0 001.8 2.1 332 332 0 0113.6 17.8l1 1.8-1.7-1.3a74.7 74.7 0 00-19-11.7c-1-.3-1.2 0-.7.6 2.4 3.3 9.6 9.4 11.6 11 1.9 1.6 1.8 2.2 1.8 2.3-.1 0-1.4-.6-3.7-1.3-5.8-2-7.3-2.1-6.6-1.2a4 4 0 002.1.8 43 43 0 0115.8 6.8c3.4 2.3 11.5 10 12.6 12 .6 1.2.4 1.1-1.7-.6a43.7 43.7 0 00-11-6.2c-.3.1-2.1-.2-4-.7-2-.5-5-1.1-6.8-1.3l-3-.4 1.8 1.7c2.4 2.1 6.3 4 13 6.3a58.6 58.6 0 017.3 3c2.5 1.5 7.6 5.5 7.3 5.7a123.6 123.6 0 00-20-7.1c-1.2-.3-.8.2 2.3 3.3a75.9 75.9 0 007.9 6.3c10.9 7.2 20.8 10.3 39.2 12.5 3 .3 5.1.8 5 1-.2.3 4.4 1 9.4 1.5 13.4 1.6 21.8 3.4 29.4 6.5a23.4 23.4 0 008.9 2c3.4.2 4.5.2 4.5-.3 0-1.2-1.4-3.4-3.2-5-1.5-1.3-2.6-2-8.6-3.1-3.8-.6-7.3-1.4-7.7-1.7-.5-.3-8.1-1.3-16.8-2.7-19.1-3-25-4.5-30-7a40.3 40.3 0 01-22-34.7 56.1 56.1 0 01.3-9.2c.3-2 .5-3.6.4-3.7-.5-.5-4.4 7.3-5 10.3l-.3 2-.2-3.6a33.9 33.9 0 016.8-20.6s2.9-2.8 3.3-3.6v-.1c-2.1-.7-4.3 1-7.3 3.6-1.8 1.8-2 2.3-2.2 2.2.2-1.4 5.5-9.5 6.6-9.5.2 0 1.5-1.5 2-2 .6-1.5-3.2 2-5.9 5.7-6 8-7.4 16.1-7 26.9a36 36 0 01-.3 5.9c-.2 0-1.8-3.9-2.5-6.4-2-6.3 1-19.4 6.1-26.1l3.3-4.1c.8-1.4-3.5 3.4-5 5.7-.4.7-.8 1.2-1 1l.7-2.2a45.4 45.4 0 019.3-15.7c1.6-1.7 1.6-1.7.3-1.3-3 .9-5.8 3.2-8.7 6.6l-2.2 2.6c.3-1.3 3-7 5.2-10.1 1.4-1.9 2.7-3.2 2.7-3.6 0-.4-1.5 0-3.6 1.6a28 28 0 00-7.6 9c-1.3 2.6-1 1.9-1.5 2.3a43 43 0 0112.8-25.9c2.8-2.9 3.4-3.7 2.4-3.4-3 1-6.3 3-9.2 5.9-1.7 1.7-2.4 2.2-2.4 2s.8-1.7 2.5-4.3a53.8 53.8 0 0114.1-14.7c2.7-1.8 6.8-3.8 6.3-4a.5.5 0 00-.2-.1c.3-.5-1.1-.2-4.8 1a37.6 37.6 0 00-11.6 6.3c-1.5 1.4-1.2.3 2.6-3.5 2-2 5-4.5 6.6-5.3 2.6-1.6 2.4-2 .7-1.6a32 32 0 00-13.4 7.7l-.3.2c-1.2.7-2.3 2.3-2 1.6s.8-1.3 2.1-3.5a46.8 46.8 0 0116.8-15.8c1.7-1 1.8-1.6.6-1.4zm-38.8 27zm34.8-25.1h.2a73 73 0 00-12 11.6 60 60 0 00-7.3 13.2c-1 2.4-1.6 4-1.6 3.6a85.6 85.6 0 012.3-12l1.3-1.8a42 42 0 012.6-3.5c1.1-1.4 4.7-5.1 4.6-5.2l1.2-1c3.4-2.4 7.8-5 8.7-5zm-16.9 2.7h.1c.1.4-.5 4.8-1.7 10a230.5 230.5 0 00-4.6 25c-.4 3.7-.5 4-.8 2.4-.3-1-.6-6-.8-11-.3-10 0-12.8 2.6-18.4a29 29 0 015.2-8zm13.9 8.4l-3 3a57 57 0 00-15.9 27.3l-1 3.5.4-3.3a44.8 44.8 0 013.5-14.8c1.1-3 2.2-5.5 4.5-7.8.4-.5 1.5-1.4 1.7-1.8l2.8-2.1c2-1.7 6.2-4 7-4zm6 2.5c.3 0 .4 0 .4.2l-3 2.1a70 70 0 00-13.8 14 83.8 83.8 0 00-7.8 15.5c-1.5 4.2-1.4 2 .2-4a68.6 68.6 0 017.4-17.3l1.5-2c.7-.8.9-1.2 1.2-1 .2.1 1.4-.6 2.6-1.6 2.7-2.3 9.7-5.8 11.4-5.9zm-34.4 3.9c.1-.1.3.1.6.6a38 38 0 012.2 5.2A93.8 93.8 0 01251 226a82.5 82.5 0 00-2.8-9.6c-4.1-12.4-5.5-18.4-5-20.6l.4-1zm26.5 10.9s-1 1.2-2.5 2.6a49 49 0 00-13.1 27.7c-.5 2.8-1 5.3-1.3 5.5-.2.2-.6-1-.8-2.5a41.3 41.3 0 014.2-20.2l1.3-2.9c.4-.3.7-1 1.3-1.8 2.3-2.6 6.1-6.3 8.6-7.5l2.3-1zm-33.4 1.2l1 1.3a84.5 84.5 0 013.2 4.3c2.2 3.2 7.8 14.4 8.4 16.6.2.7-.5-.4-1.6-2.4a68.8 68.8 0 00-5.3-8c-4.2-5.6-5.7-8.2-5.7-10.2V207zm-1.1 7.4h.5c1.5 0 4.7 2.8 7.5 6.6a69 69 0 018.8 21.4c.9 4 2.4 14.2 2.4 16.5v1.6l-.9-1.5c-.4-.9-1.1-3.5-1.5-5.8a101.1 101.1 0 00-5.3-19c-2.3-5.8-7.1-14-9.3-16a2.5 2.5 0 00-.7-.6 7 7 0 00-1.5-1.5c-1.1-1-1.2-1.5 0-1.7zm-2.6.9l1.3.8c1.7 1.2 2.3 1.7 2 3.2-.3 1.5-.5 3-.8 3.4-.4.8-.8.2-1.2-1.4l-1-4-.3-2zm33.8 6.8c.2 0 .2.2 0 .6-.5.4-1.7 1.9-2.3 2.7a68.9 68.9 0 00-9 23.7c-.5 3.7-1.2 2-1.2-3a30.1 30.1 0 018.1-20.5c2-2.1 4-3.5 4.4-3.5zm-34.3 3.2c.5 0 2 1.5 5.4 5a72 72 0 017.6 8.7c1.9 3.3 4 8.2 4.5 10.7.2 1.4-.3.8-3.2-3.2a174.5 174.5 0 00-6.2-7.9c-5.5-6.4-7.6-9.5-8.2-12.7-.1-.4-.1-.7.1-.6zm38 1.3c.2 0-1 1.6-2.6 3.5a52.3 52.3 0 00-4.7 7c-2 4-5.1 13.3-6.2 19-1.1 6-1.2 5.9-1-.7.5-12.6 5-22.8 12-27.3l2.6-1.5zm-37.5 9.1l1.6.8c.9.5 3 2 4.6 3.3 1.7 1.5 3.2 2.4 3.4 2.2.3-.2.4-.1.2.2a16 16 0 003 4.8 68.3 68.3 0 019 16.5c.5 1.7 1 3 .8 3.2l-3.4-5.2a61.1 61.1 0 00-11.8-14.8 19.6 19.6 0 01-5-6.5l-2.4-4.5zm40.6 6.7c-.9.8-2.8 3-2.8 3a31.7 31.7 0 00-6.6 12.7 75 75 0 001.7 28.5 48 48 0 01-4-11c-.9-4.5-.8-14.9 0-18.4 1-4 3.2-8.6 5.2-10.8 1.7-2 5-4 6.5-4zm-39.4 1.8c.8 0 1.7.4 3.1 1.3 5.5 3.5 12.5 12.6 20.5 27 6.4 11.5 10.1 20.2 4.9 11.5a265.6 265.6 0 00-25.2-34.4l-.1-.2a20.3 20.3 0 00-3.6-3c-2-1.2-2.1-1.7-.4-2.1l.8-.1zm-2 2.3c.5 0 1 .3 1.4.7.6.8.3 4.7-.5 5.1-.6.4-.8-.1-1.3-3.1-.3-2.2-.2-2.7.5-2.7zm36.1 13.7v6a43 43 0 0014 34.7c5.9 5.2 12.5 8 23 9.8 3.5.6 6.7 1 7 1.3.5.1 5.3.6 5 1.1-.1.2.3.3 1 .2 2.1-.4 8.5 1 10.2 1a186 186 0 0123.7 5c1.4.6 4.4 4.1 4.4 5.2 0 .3-1.6.4-4.4.2a21 21 0 01-8.5-2.2c-6.7-3-16-5-27.2-6-5.8-.5-24.7-3.8-30.1-5a68.2 68.2 0 01-17.8-6 52 52 0 01-14.4-9.5l-3.3-3.2 2.8.8c8.3 2.4 15 5.4 23.4 10.7 6.7 4 8.9 5.2 12.5 6 3.3 1 4.3 1 4.3.4 0-.2-1.7-.9-3.8-1.5a37.2 37.2 0 01-24.6-41.3 54 54 0 012.8-7.7zM235 262l.7.2c3 .5 15.2 8.2 19.4 12.3a30.4 30.4 0 014.3 5.8l1.6 3-2.8-2.2a66.5 66.5 0 00-6.4-4.4 86 86 0 01-10-8.5L235 262zm8.4 21.4l1.1.2c1 .1 3.6.7 5.9 1.2 8 1.9 17.8 8 22.8 14.4l2.2 2.9-2.3-1.2c-1.2-.6-2.2-1.3-2-1.5.2-.5-5-4.8-7.7-6.2a92.8 92.8 0 00-8.8-3.6c-6.2-2.3-10-4.1-11.2-5.6-.3-.4-.4-.6 0-.6z"/>
+  <path fill="#cab313" fill-opacity=".5" d="M272.2 234.2c-1.1.4-2.9 2-4 2.9-2.2 1.6-2.5 2.2-.4.7 1.6-1 4.3-3 6.6-3.4.3 0-.9 1.2-1.5 1.8-.9 1-.6 1 1.3-.3l2.4-1.8c0-.4-2.4-.6-4.4.1zm-34.7 38c0 1.2 15.8 12.9 16.5 12.1.1 0-2-1.5-4.6-3.1a65 65 0 01-7.8-5.8c-1.7-1.6-3.9-4-4.1-3.3z"/>
+  <g stroke="#d4af37" stroke-width=".9">
+    <path fill="#fff" d="M246.2 432.3a31 31 0 01-16.4.7 21 21 0 00-6.2 0l2.8 1.8c1.3.8.8.6 3.1 1.7-.4.4-.6.6-2.4 1.3 2.4.5 5.4.8 8.3.6a37 37 0 008.7-1.4 47 47 0 019-1.8c1.2 0 5.4 1.3 9.4 3.4 8.6 4.7 14.6 6 20.6 6 4.1 0 8.4-1 13.3-4.2 3.6-2.3.6-2.2-3-.7-5 2-15.2 3-27-3.2a44.4 44.4 0 00-14.6-5.6c-.4 0-3 .6-5.6 1.4z" transform="matrix(.59548 0 0 .58466 141.4 62.9)"/>
+    <path fill="#d91023" d="M219.9 429.5c1.4 1.2 1.2 1.5 3.8 3.5 3.5.4 10.6 1.1 13.2 1.1 2.4 0 6.8-.4 10-1.2 6.2-1.3 9.2-1 20.5 4 13.1 6.8 20.5 5.6 27.3 2.3 9.4-3.6.2-2-3.2-3-1.1.3-2.5 1.8-5.2 2.7-3.8 1.4-5.8 1.4-10.3-1-2.9-1.4-5.4-2-8-3.5-2.5-1.5-3.1-1.3-7.3-2.7l-6.2-1.2-9.4-.5a44 44 0 01-21.5-1.3c-5.4-1.7-6.4-1.4-3.7.8z" transform="matrix(.59548 0 0 .58466 141.4 62.9)"/>
+    <path fill="#d91023" d="M244.3 436.8a35 35 0 01-17.2 1l-3.9 1.3c-5 1.7-5 1.8-2.9 2.4 1.3.4 6.3.7 11.3.6 8.5 0 9.3-.1 14-2.4a24 24 0 017-2.5c1 0 4.5 2 7.7 3.7 8.8 4.6 12.1 6 19.4 5.9 7.3 0 16.7-5.3 17.9-7a28 28 0 01-17.3 4.8 41 41 0 01-19.8-7c-5.8-3.1-7.8-3.2-16.1-.8z" transform="matrix(.59548 0 0 .58466 141.4 62.9)"/>
+    <g stroke-width=".8">
+      <path fill="#fff" d="M293.5 417.7c1.2-1.4.8-2-2.5-2.4a47.2 47.2 0 01-23.1-10.9c-2.2-2.3-3.1-2.5-3.1-.7 0 2 6.7 8.1 11.6 10.6a45.6 45.6 0 0014.5 4.7c.8 0 1.9-.5 2.6-1.3z" transform="matrix(-.20995 -.43098 -.90458 .22461 742 335.3)"/>
+      <path fill="#d91023" d="M290.7 421.4c.2-.4-.4-2.4-3.1-3a41.8 41.8 0 01-19-9.8c-3.6-3.5-5.3-3.9-4.1-.7 1.6 4.6 14.3 11 19.3 12.6 5 1.6 6.1 2 6.9.9z" transform="matrix(-.20995 -.43098 -.90458 .22461 742 335.3)"/>
+      <path fill="#ed1c24" d="M295.5 415.4l.8-1.4-4-2.6c-4.7-.6-13-3.6-18.6-6.7a21.5 21.5 0 00-6.1-2.6c-1.5 0-1.6 0 .1 1.9a44 44 0 0021.8 10.4c2.3.4 4.7 2 6 1z" transform="matrix(-.20995 -.43098 -.90458 .22461 742 335.3)"/>
+      <path fill="#fff" d="M293.5 417.7c1.2-1.4.8-2-2.5-2.4a47.2 47.2 0 01-23.1-10.9c-2.2-2.3-3.1-2.5-3.1-.7 0 2 6.7 8.1 11.6 10.6a45.6 45.6 0 0014.5 4.7c.8 0 1.9-.5 2.6-1.3z" transform="matrix(.23749 -.41683 .88814 .2813 -101.9 308.3)"/>
+      <path fill="#d91023" d="M289 420.6c0-.2 1.2-1.6-1.4-2.2a41.8 41.8 0 01-19-9.8c-4.2-4.6-6.3-5.6-4.1-.7 1.6 4.6 14.3 11 19.3 12.6 5 1.6 4.4 1.3 5.1.1z" transform="matrix(.23749 -.41683 .88814 .2813 -101.9 308.3)"/>
+      <path fill="#ed1c24" d="M295.5 415.4l.8-1.4-4-2.6c-4.7-.6-13-3.6-18.6-6.7a21.5 21.5 0 00-6.1-2.6c-1.5 0-1.6 0 .1 1.9a44 44 0 0021.8 10.4c2.3.4 4.7 2 6 1z" transform="matrix(.23749 -.41683 .88814 .2813 -101.9 308.3)"/>
+    </g>
+    <path fill="#fff" d="M319.7 402.7a30.7 30.7 0 00-16.7 13.1c-2 3-4 4.4-2.6 5 1.5.8 2.9-1.3 5.6-4 7-7 12.5-10 20-10h6l-1.8-2.5c-2.1-3-4.6-3.3-10.5-1.6zm-50.5 2.4c-1.2 1.4-.9 2 2.6 2.5A49.4 49.4 0 01296 419c2.3 2.4 3.3 2.6 3.3.7 0-2-7.1-8.5-12.2-11-4.4-2.4-12.2-5-15.1-5-1 0-2 .5-2.8 1.4z" transform="matrix(.59517 .01882 -.01898 .58436 150 60.3)"/>
+    <path fill="#d91023" d="M318.6 399.5a52 52 0 00-5.4 2.3 48 48 0 00-9.9 9.6l-3 4.2c-1.3 2-1.5 3.2-.8 3.3.6.2 2-.7 3.5-2.7 6-8.4 11.6-12.2 19.8-13.9 4.2-.8 4.8-.8 6.3.7 1.2 1-.3-.2-.6-1-.5-1.8-1.8-2.7-4.5-3.2a13.3 13.3 0 00-5.4.7z" transform="matrix(.59517 .01882 -.01898 .58436 150 60.3)"/>
+    <path fill="#d91023" d="M272 403.3c-.2.4 1.8 1.2 4.5 1.7a42 42 0 0119 9.9c3.5 3.5 5.3 3.8 4 .6-1.5-4.5-14.2-11-19.2-12.5-5-1.6-7.6-.8-8.3.3zm48.5 4A39.3 39.3 0 00307 416c-4 3.9-5.8 6.3-4.2 6.3.3 0 2.7-1.9 4.3-3.3 7-6 19.8-9.4 25.4-7.3 2.8 1 1.5-2-.4-4.8-1.1-1.7-8-.7-11.5.6zm-53-.2l-3.4 3.1 5 .9c5 .6 14.3 4 20.5 7.4 2.7 1.6 5.8 2.9 6.7 2.9 1.7 0 1.8 0-.1-2.1a48.7 48.7 0 00-24-11.6c-2.7-.4-3.4-1.8-4.8-.6z" transform="matrix(.59517 .01882 -.01898 .58436 150 60.3)"/>
+    <path fill="#d91023" d="M304.5 422.4a33.6 33.6 0 00-1 14.1c1.6-.2 2.7-.2 5.3-.7.3-2.2.7-4.7.6-7.4.3-3.7 0-1.8 2.1-4.8-2.3-1.5-3-1.6-7-1.2z" transform="matrix(.59548 0 0 .58466 140.8 64.7)"/>
+    <path fill="#fff" d="M296.2 428.6c0 4.2.3 5.2.3 7.2 2.3.3 7.4 1 7 .2v-8l1-5.5-3.7-.6-3.2.4-1.4 6.3z" transform="matrix(.59548 0 0 .58466 140.8 64.7)"/>
+    <path fill="#d91023" d="M291 428.8c.1 3.4-.5 4.5-.1 6.5 1 .3 5 .2 6.3.5-.2-4.3-.2-.5-.6-6.2l1.2-7.3-3.6.3s-2.2-.7-3.7-.7c1.3 2.3.5 7 .5 7z" transform="matrix(.59548 0 0 .58466 140.8 64.7)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pf.svg
new file mode 100644
index 0000000..7a32556
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pf.svg
@@ -0,0 +1,19 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pf" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="pf-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#pf-a)">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#fff" d="M80 0h480v480H80z"/>
+    <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-width="2pt" d="M277.3 340.8s10.8-8.8 21.4-8.8 13.4 7.3 20.8 7.9c7.3.6 13.4-7.3 22.5-7.6 9.1-.3 20.5 6.4 20.5 6.4l-39.8 12-45.4-10zm-22.9-13l135.4.7s-11.7-12.7-25.5-13c-13.8-.2-10 6-20.5 6.8-10.6.9-13.2-6.4-22.9-6.2-9.6.3-15.2 6.2-22.5 6.5-7.4.3-16.7-7.3-22.3-7-5.6.3-25.5 8.7-25.5 8.7l3.8 3.6zm-17.3-16l167 .5c2.7-3.8-8.2-12.9-18.1-13.7-8.2.3-14 8.5-20.8 8.8-6.8.3-14.4-8.5-22-8.2-7.6.3-15.5 8.2-23.1 8.2-7.7 0-13.2-8.5-22.9-8.5s-14 9.3-21.4 8.8c-7.3-.6-13.8-9.4-20.8-9.4s-18.7 10.5-21 10c-2.4-.7 2.9 4.3 3.1 3.4z"/>
+    <path fill="red" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="M301.3 218.9l38.4 10.2v-54.8c-17.6 1-32.2-33.4-1.2-35.7-30.5-4.4-34 3.5-37.5 12l.3 68.3z"/>
+    <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-linecap="round" stroke-width="5" d="M277 258.7l86.7.3"/>
+    <path fill="none" stroke="#000" stroke-linecap="round" stroke-width="4" d="M281.1 238l10.3 13.7m-10.3 0l11.1-13.5M287 237l-.3 8.5m10.8-7.6l10.3 13.8m-10.3 0l11.1-13.5m-5.2-1.2l-.3 8.5m11.1-7.6l10.3 13.8m-10.3 0l11.1-13.5m-5.2-1.2l-.3 8.5m11.7-7.6l10.2 13.8m-10.2 0l11.1-13.5m-5.3-1.2l-.2 8.5m11-7.6l10.3 13.8m-10.2 0l11.1-13.5M354 237l-.3 8.5"/>
+    <path fill="#ef7d08" fill-rule="evenodd" d="M218.7 259.6l36.9.3v-23.1l-42.2-2.1 5.3 24.9zm-1.8-32l39.3 3.9-.3-16.4-38.4-15.3-.6 27.9zm8-32.7l30.1 14.6 4.3-4.5s-2.8-1.9-2.6-3.7c0-1.7 2.8-2 2.8-4 0-1.7-3-2-3.1-3.7-.2-2 2.4-4 2.4-4l-27.2-23.7-6.8 29zm198 65h-39l-.3-22.6 42.8-3.2-3.5 25.8zM384.2 232l46.3-5.6-10-26.7-36.6 15.6.3 16.7zm33.7-39.6L384.5 210c-.5-2-.9-3.8-3.2-5.3 0 0 2-1.2 2-3.2s-2.6-2.4-2.6-3.5 2.4-2.2 2.6-4.9c-.3-1.8-2.6-4.4-2.2-4.9l26-19.8 10.8 24zm-72.4 39.1l16.7-.7.3-6.7-17 7.4zm-51-.5l-17.5-.5v-7l17.6 7.5zm0-2l-17.5-9v-11.8s-2 .3-1.8-2c.1-4.9 12.9 8.9 19.4 13.4l-.1 9.4zm51-1.1v-7.7s15.8-14.2 19.1-16.9c0 3-1.8 5.2-1.8 5.2v11.2l-17.3 8.2zM243 163.8l17.8 19.7c.4-1.8 4.5-2.1 8.6-1.8 4 .3 7.3-.3 7.3 2.6s-2 2.5-2 4.6 3 1.9 3 4.5-2.2 2.1-2.2 4.1c0 1.7 2.4 1.8 2.4 1.8l16.6 16.1v-17.2l-34.2-53.7-17.3 19.3zm27.4-20.4l23.3 47.5s.2-43.8 4.1-46.1l-6.5-12-20.9 10.6zm101 1.9l-26 46.2V172s2.2-3.2-1.2-3c-3.4.3-7.5-.2-7.5-.2l10.4-36.6 24.3 13zM398 165c-.3.5-17.5 18-17.5 18-.8-2-6-1-11-1-4.9 0-5.6 1.6-5.3 2.9.5 3.3 2.2.8 2.2 4 0 3.1-2.4 2-2.7 4.2.3 2.7 3.8 2 1.7 4l-19.9 19.2v-18.2l37.1-57.6L398 165z"/>
+    <path fill="red" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width="2.5" d="M309.8 268.4c-8.3 13.8-30.6 9.7-35.9 0-1.5-.4-.6-59.5-.6-59.5s-2.5-1.1-2.6-3c-.1-1.8 3.4-2 3.4-4.3s-3.6-1.4-3.7-3.8c0-2.2 3.9-2 3.7-4-.2-2.4-4.3-2-4.5-4.2 0-1.7 3-3.2 3.8-4a61.3 61.3 0 01-2.8 0l-6.4.1c-4.6 0 0 1 0 3.6 0 1.7-2.3 2.9-2.5 4.3-.1 1.6 3.2 2.6 3.3 4.5 0 1.6-3.3 1.7-3.2 3.3.2 2.5 3 3.1 2.9 4.7 0 1.5-3.6 2.1-3.7 3.3.2 2.4.6 60.8.6 60.8 5.7 29.8 38.8 37.3 48.2-1.8zm21.9 0c8.3 13.8 30.6 9.7 35.8 0 1.6-.4.7-59.5.7-59.5s2.5-1.1 2.6-3c.1-1.8-3.2-2-3.2-4.3s3.4-1.4 3.4-3.8c0-2.2-3.5-2-3.3-4.2.2-2.3 3-2 3.1-4.2.1-1.9-1.7-3-2.6-3.8h2.7l6.4.1c4.5 0 0 1 0 3.6 0 1.7 2.3 2.9 2.5 4.3 0 1.6-3.2 2.6-3.3 4.5 0 1.6 3.3 1.7 3.2 3.3-.2 2.5-3 3.1-3 4.7.1 1.5 3.7 2.1 3.7 3.3l-.5 60.8c-5.7 29.8-38.9 37.3-48.2-1.8z"/>
+    <path fill="#083d9c" fill-rule="evenodd" stroke="#083d9c" stroke-width="2pt" d="M301.7 295.6H339c.3-.3-8.4-13-18.6-12-11.5.3-19.3 12-18.7 12zm118.9-1h-51s6.6-3.8 8.4-7.4c3.3 1.8 2.4 3.6 9 3.9 6.6.3 12.9-7.5 19.2-7.2 6.3.3 14.4 11 14.4 10.8zm-201 0h51s-6.6-3.8-8.4-7.4c-3.3 1.8-2.4 3.6-9 3.9-6.6.3-13-7.5-19.2-7.2-6.3.3-14.4 11-14.4 10.8zm3.8-16l36.3.3s-2.3-5-2.6-11.1c-9.4-3.2-17 7-23.8 7.3-6.7.3-13.7-7.3-13.7-7.3l3.8 10.8zm194 0l-36.4.3s2.3-5 2.6-11.1c9.4-3.2 17 7 23.8 7.3 6.7.3 13.7-7.3 13.7-7.3l-3.8 10.8zM311 279l18.4-.5s.3-5.6-9.3-5.6-8.8 6.4-9.1 6.1zm-11.2-7.9a17 17 0 008.2-7.6l-12.6.3s-5.8 3.5-8.7 7.3h13.1zm40.8 0a17 17 0 01-8.2-7.6l12.6.3s5.8 3.5 8.7 7.3h-13.1z"/>
+    <path fill="#de2010" fill-rule="evenodd" d="M-40 360h720v120H-40zm0-360h720v120H-40z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pg.svg
new file mode 100644
index 0000000..5fb0cd5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pg.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pg" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path d="M1.6 0l-.5 480h640L1.6 0z"/>
+    <path fill="red" d="M640.6 480l.5-480H1.1l639.5 480z"/>
+  </g>
+  <path fill="#fc0" stroke="#fc0" stroke-width="1.1" d="M178 54l-3.8-.2c-1.2-2.8-4.5-3.8-6.6-2.6A333 333 0 01156 51l7.1 3.1C165 59 171 60 171 60c-.6 8.8-8.9-1.1-15.9 3.9-5 3-5 6.5-7.7 12.3-.9 1.6-4.4 5.8-4.4 5.8l5.9-.5L147 84l7-1-1.5 1.4c1 .2 8-1.7 8-1.7L160 85l8-2.9s1.6 1.3 3 1.9l1-4 4 1 1-4c6 8 8 16 19 18l-1-4a262.2 262.2 0 018.7 4l.9-1.7c4.8 3.4 8.7 3.3 11.4 3.7l-2-5 2 1-3-8 3 1-4-6 1.5-1-.5-3c6 2 14 5 15 12 1 11-11 14-19 13 6 5 17 3 22-2 2-2 3-5 4-8 1 3 3 7 3 11-1 9-13 12-21 13 9 5 25-1 26-14 0-11-7-16-10-21l-1-5.4 3 1.4s-1.8-3.3-2-4c0 0-3.1-8.5-4.2-10.4l2.2.4-8.2-10.3 2.3-.2S215.6 44 213 43l3-1c-6-3-13-1-19 3l1-3-1.8.2v-3.5L198 36l-3-1 2-5-3 1 1-5s-2.2 1-3.6.9a51.7 51.7 0 001.6-3.4c-1-1.5 0-4.5 0-4.5-7 1-8 2-12 8-6 11-4 16-3 27z" transform="matrix(2.21989 0 0 2.21194 1.1 0)"/>
+  <path fill="red" fill-rule="evenodd" stroke="red" stroke-width="1.4" d="M215.8 70.4c.5.9 6.2 3.6 10.4 6-1.1-4.6-9.4-5.6-10.4-6z" transform="matrix(2.21989 0 0 2.21194 1.1 0)"/>
+  <path fill="#fff" fill-rule="evenodd" d="M175 399l-14.2-9-19 9.1 4.3-16.2-14.5-15.1 16.7-1 10-18.4 6.1 15.5 20.7 3.8-13 10.6zm36.2-79l-6.6-3-6.3 3.6 1-7.2-5.4-4.9 7.1-1.3 3-6.6 3.5 6.4 7.2.8-5 5.2zm32-45.2l-14.5-7-13.9 7.8 2.3-15.7-11.8-10.8 15.7-2.8 6.6-14.4 7.6 14 15.8 1.8-11 11.5zm-65.8-63l-17-8.5-16.5 9.1 2.8-18.6-13.8-13 18.7-3 8-17 8.7 16.7 18.8 2.3-13.3 13.4zm-60.8 65.4l-17-10-17 10.3 4.3-19.3-15.1-13 19.7-1.8 7.7-18.3 7.9 18.2 19.8 1.6-14.9 13z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ph.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ph.svg
new file mode 100644
index 0000000..a0c37d8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ph.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ph" viewBox="0 0 640 480">
+  <path fill="#0038a8" d="M0 0h640v240H0z"/>
+  <path fill="#ce1126" d="M0 240h640v240H0z"/>
+  <path fill="#fff" d="M415.7 240L0 480V0"/>
+  <g fill="#fcd116">
+    <path stroke-width="1pt" d="M26.7 42.4L41 55l16.6-9.2-7.4 17.5 14 13-19-1.6-8.1 17.2-4.3-18.5L14 71l16.3-10zm323.8 172.3l.4 19 18 6.3-18 6.2-.4 19-11.5-15.1-18.2 5.5 10.8-15.6-10.8-15.6 18.2 5.5zM37.2 388.1l8 17.2 19-1.6-13.9 13 7.4 17.5-16.6-9.1-14.4 12.4 3.6-18.7L14 409l18.9-2.4z"/>
+    <path stroke-width="5.3" d="M151.4 139.1l-6.2 6.2 3.1 47-3 .3-5.7-42.9-5.1 5 7.6 38.4a47.5 47.5 0 00-17.2 7.1l-21.7-32.4H96l26.4 34.3a48 48 0 00-2.4 2l-31.1-35.5h-8.8v8.8l35.4 31-2 2.5-34.3-26.3v7.1l32.5 21.7c-3.4 5.2-5.9 11-7.1 17.2L66.3 223l-5.1 5 42.9 5.7c-.2 1-.3 2.1-.3 3.1l-47-3-6.2 6.2 6.2 6.2 47-3.1.3 3.1-42.9 5.7 5 5 38.4-7.6a47.5 47.5 0 007.1 17.2l-32.5 21.7v7.2l34.3-26.3a48 48 0 002 2.4l-35.4 31v8.8H89l31-35.4 2.5 2L96 312.2h7.2l21.7-32.5c5.1 3.4 11 5.9 17.2 7.1l-7.6 38.4 5 5 5.7-42.9c1 .2 2 .3 3.1.3l-3 47 6.1 6.2 6.3-6.2-3.1-47 3-.3 5.7 43 5.1-5.1-7.6-38.4a47.5 47.5 0 0017.2-7.1l21.7 32.5h7.2l-26.4-34.3a48 48 0 002.4-2l31.1 35.4h8.8v-8.8l-35.4-31 2-2.4 34.3 26.3v-7.2l-32.5-21.7c3.4-5.1 5.9-11 7.1-17.2l38.3 7.6 5.1-5-42.9-5.7c.2-1 .3-2 .3-3.1l47 3 6.2-6.1-6.2-6.2-47 3-.3-3 42.9-5.7-5-5-38.4 7.5a47.5 47.5 0 00-7.1-17.2l32.5-21.7v-7.1l-34.3 26.3a48 48 0 00-2-2.4l35.4-31v-8.9H214l-31 35.5a48 48 0 00-2.5-2l26.4-34.3h-7.2L178 200.2c-5.1-3.4-11-5.9-17.2-7.1l7.6-38.3-5-5-5.7 42.8-3.1-.3 3-47z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pk.svg
new file mode 100644
index 0000000..387265c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pk.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pk" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="pk-a">
+      <path fill-opacity=".7" d="M-52.3 0h682.6v512H-52.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#pk-a)" transform="translate(49) scale(.9375)">
+    <path fill="#0c590b" d="M-95 0h768v512H-95z"/>
+    <path fill="#fff" d="M-95 0H97.5v512H-95z"/>
+    <g fill="#fff">
+      <path d="M403.7 225.4l-31.2-6.6-16.4 27.3-3.4-31.6-31-7.2 29-13-2.7-31.7 21.4 23.6 29.3-12.4-15.9 27.6 21 24z"/>
+      <path d="M415.4 306a121.2 121.2 0 01-161.3 59.4 122.1 122.1 0 01-59.5-162.1A118.6 118.6 0 01266 139a156.2 156.2 0 00-11.8 10.9A112.3 112.3 0 00415.5 306z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pl.svg
new file mode 100644
index 0000000..c00513a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pl.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pl" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M640 480H0V0h640z"/>
+    <path fill="#dc143c" d="M640 480H0V240h640z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pm.svg
new file mode 100644
index 0000000..07ea24c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pm.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pm" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pn.svg
new file mode 100644
index 0000000..80682ab
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pn.svg
@@ -0,0 +1,62 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pn" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="pn-a">
+      <path d="M-15-7.5h30v15h-30z"/>
+    </clipPath>
+  </defs>
+  <path fill="#00247d" d="M0 0h640v480H0z"/>
+  <g clip-path="url(#pn-a)" transform="translate(320 160) scale(21.33333)">
+    <circle r="20" fill="#00247d"/>
+    <path stroke="#fff" stroke-width="3" d="M-20-10l40 20m-40 0l40-20"/>
+    <path stroke="#cf142b" stroke-width="2" d="M-20-10l40 20m-40 0l40-20"/>
+    <path fill="#fff" d="M0 0l20 10h-3L-3 0m3 0l20-10h3L3 0M0 0l-20 10h-3L-3 0m3 0l-20-10h3L3 0"/>
+    <path stroke="#fff" stroke-width="5" d="M-20 0h40M0-10v20"/>
+    <path stroke="#cf142b" stroke-width="3" d="M-20 0h40M0-10v20"/>
+  </g>
+  <path fill="#f7e017" stroke="#000" stroke-width=".6" d="M410 310.4a59.7 59.7 0 00-20.1 29.3c-6 28.9-14 35.3-26.5 29 0 15.6 13.6 16.8 19.6 7.7 0 14.5 5.3 27.1 17.1 37.9 5 4.5 6 1.4 3.6-3.6s-2.4-21.2-7.1-30.5c7.6 5.5 18.8 2.4 17.8-12.6-9.7 5.7-19.5 5.5-20.5-8.1-1.2-16 5-39.1 16-49.1zm-11.6-114.8c.6-5.7-.6-11.6-4.8-15.2-8-7.2-16-4.8-21.9 1-8.8-4.8-13.5 12-23.5 9.2 1.7 5.5 4.3 7.8 9.3 6-5.2 4.7 0 10.4-6.2 16.2 11.2 3.5 17.2-2.7 16.7-13.4 4.3 3.8 11 3.6 14.5-.7-6-2-6-7.1-3.6-12 3.6-7 20.4-6.8 19.5 9z"/>
+  <path fill="#337321" stroke="#000" stroke-width=".6" d="M424.2 278.5c-12.6 6.7-35.7 3.8-37.9-12.6-2.1-16.4 13.8-23.8 18.1-26 6.7-3.3 12 2.6 9.8 9.5a10.8 10.8 0 005.5-16.2c9.7.7 18.8-6.6 22.6-17.1-3.4 3.3-12.8 1-20.5.5 2.4-2.6 2.4-7.7 1.7-10.3-8.1 8.3-19.8 4.5-35.3 28.6 2.4-8.3 7-25 9.6-36a27.1 27.1 0 00.6-3.3c.9-15.7-15.9-16-19.5-8.8 4 4.4 2 9.6.5 17.4-1.6 9.3-5.2 30.7-8.3 37.9-1-11.2-8.4-12-9.8-17.4-2.1 1.4-3.3 5.2-2.9 7.8-2.6-2.8-11.6.7-15-3.5-3.5 7.1 2.2 14.3 8.2 17.3-3.5.3-4.4 4.5-8.2 4.5a23.3 23.3 0 0016.5 8.8c6 .5 10.6 2.7 14.3 10.1 6 11.9 28.6 19.6 50 8.8z"/>
+  <path fill="#f7e017" stroke="#000" stroke-width=".6" d="M455.7 264c-7.2 19.7-26.7 33.8-35.6 36-15 3.6-45.6 18.4-53.8 26"/>
+  <path fill="#337321" stroke="#000" stroke-width=".6" d="M410 310.4c-11.4 9.6-17.3 33.1-16 49.1.3 4.4 1.5 7.5 3.4 9.3.8-9 7.1-32.4 23.2-42.9 13.6-8.8 34.8-28.6 42.7-51.2a18 18 0 00-8.4-9.8c-7.8 21.4-28.7 31.6-45 45.5z"/>
+  <path fill="#316d3a" stroke="#000" stroke-width=".6" d="M448.4 254.8c-4 6-13.2 14.4-22 17.8 1.9-2.2 2.5-5 2.6-7.2a80.8 80.8 0 01-42.7.5 58.2 58.2 0 0057.7-17.2c2 2.2 3.6 4 4.4 6.1z"/>
+  <path fill="#337321" stroke="#000" stroke-width=".6" d="M362.7 304.7c-18.2 17-6.2 32 1 35.3-2 11.9 9.3 10.4 9 20.4 4.6-2.6 5.8-9.5 5-15 5.8 6.2 20.3-.7 23.4 10.8 2-12.7-7.9-25.3-20-24.1 5-4.5 2.1-11.9-2.6-13.8-1 9.3-11.5 9.3-15.5 6.4-4-2.8-7.4-12.1-.3-20z"/>
+  <path fill="#f7e017" stroke="#000" stroke-width=".6" d="M402.2 413.1c-2 1.1-1.9 3.7-.6 5.3 2.5 3.4-1.8 11 6.3 12.6 2.4.5 4.2-1 5.1-3.7 2.5-7.5-5.5-8.4-6.2-12-.7-3.5-3-3.2-4.6-2.2z"/>
+  <path fill="#f7e017" stroke="#000" stroke-width=".6" d="M409 427.2c-2.7 1.2-5 3-4 11.5.5 3.6.2 12.2-2.8 12.3 1.9 1 6 2 7.6-.3 1.6 2.7 5.2 2 6.7-1.4 1.9 1.6 4.5-1 4.5-3.3 1.7 1 5-.5 4.1-5.6 2 .7 4.7-.7 5.7-2-3-.6-10.5-4.7-12.3-8-1.8-3.1-6.4-4.7-9.5-3.2z"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M367.7 186.2a31.4 31.4 0 014-4.9m41.3 36.4c2.1-1.1 5.3-1.3 8.9-1m-12.1 234c-.8-1.1-1.1-6.2-.6-9.2m7.3 7.8"/>
+  <path fill="#f7e017" stroke="#000" stroke-width=".6" d="M535 305c29.3 24.5 31.2 44 26.7 55.4-2.4-10.7-14.5-27.3-27.2-31.6l.5-23.9z"/>
+  <path fill="#337321" stroke="#000" stroke-width=".6" d="M482.6 291.1h54.3v64.4c0 54.7-30.5 87.1-61.5 104.3A114.3 114.3 0 01414 355.5V291h38c0 3.4.4 8.4 4.3 13.4 9-1 19.2-7.7 26.2-13.4z"/>
+  <path fill="#006ec7" stroke="#000" stroke-width=".6" d="M536.9 291.1v64.4c0 16.5-2.8 31-7.5 43.6l-54-99-53.9 99"/>
+  <g fill="#f7e017" stroke="#000" stroke-width=".6">
+    <path d="M500 429.6l5.2 2.6a38.3 38.3 0 002.4-21c-3 7.9-13.6 7.6-16.4 12.4a34.6 34.6 0 014.8 3 55 55 0 01-16.7 11v-51c0-3.6-1.2-6.6-1.2-9.6v-10.5c0-2.4-.5-5.9-2.7-5.9-2.1 0-2.6 3.5-2.6 5.9V377c0 3-1.2 6.4-1.2 9.6v51c-2.6-7.6-12.9-5-17.6-12.6a13.5 13.5 0 015.7-.2c-3.5-12.2-13.3-13.1-15.2-16.7 0 5-2.1 16.7 1.2 21.7a13.3 13.3 0 013.2-2.6c4 8.8 22.3 8.8 26.5 23.3 3.5-5.3 15.9-11.5 24.6-20.9z"/>
+    <path d="M475.4 387.1c4 0 17-1.3 21.6-1.3 1.2 0 2.2-1.8 2.2-4s-1-4-2.2-4c-4.6 0-17.5-1.4-21.5-1.4s-17 1.3-21.6 1.3c-1.2 0-2.2 1.8-2.2 4s1 4.1 2.2 4.1c4.6 0 17.5 1.3 21.5 1.3zm-2.6-20.9"/>
+    <path d="M453.9 385.8c1.2 0 2.2-1.8 2.2-4s-1-4-2.2-4"/>
+    <path d="M455.7 385.8c1.2 0 2.2-1.8 2.2-4s-1-4-2.2-4m11.7 8.8c1.5 0 2.7-2.1 2.7-4.8 0-2.7-1.2-4.9-2.7-4.9m2.8 10c1.5 0 2.8-2.3 2.8-5.1s-1.3-5.1-2.8-5.1m9.1 10.2c1.6 0 2.8-2.3 2.8-5.1 0-2.9-1.2-5.2-2.8-5.2m3 10.2c1.4 0 2.7-2.3 2.7-5 0-2.8-1.3-5-2.8-5m12.8 9.1c1.2 0 2.2-1.8 2.2-4.1s-1-4.1-2.2-4.1m-46.2 49.5a18.1 18.1 0 015.2-2.2m43.4 2.6l-1.4-1m4 3c3.3-3.5 6-7.6 7.6-12.2"/>
+  </g>
+  <g stroke="#000" stroke-width=".6">
+    <path fill="#fff" d="M464.5 336.6c0-1.2 1-1.7 2.1-2.5 1.3-1 1.9-1.5 3.1-1.5h15.6c1.2 0 1.5.3 1.5 1.4v21.2c0 1.1-.3 1.4-1.5 1.4h-20.8v-20.2"/>
+    <path fill="#e5e5e5" d="M481.5 358.5c2 0 1.7 0 3-1.5 1.6-1.5 1.5-1.4 1.5-2.8v-19.4c0-1-.3-1.3-1.4-1.3h-14.4c-1.1 0-1.6.4-2.9 1.4-1 .8-1.9 1.3-1.9 2.3v21.3h16z"/>
+    <path fill="#fff" d="M483 358c0 1-.3 1.4-1.4 1.4h-15.7c-1.1 0-1.4-.3-1.4-1.4v-21.3c0-1 .3-1.3 1.4-1.3h15.7c1.1 0 1.4.3 1.4 1.4V358z"/>
+  </g>
+  <path fill="#96877d" stroke="#000" stroke-width=".6" d="M513.3 278.7a12 12 0 012.4 12.4h-4.5c1.9-5.7.7-11.2-7.4-11.9-12.1-1-26.2 22.4-47.4 25.3-6.2-7.4-5.9-21.5 2-28.1a86.7 86.7 0 00-18.6-30.2"/>
+  <path d="M460.5 285c-1-16-7.5-29-16.5-38a25 25 0 0019-3c8-5.3 28.4-14.5 35.9-10.5a11.7 11.7 0 01.5 6.1c-1.8-4.7-21.6 2.7-27.2 5-5.3 2.4-7.7 5.8-5.8 13.3-3.1-2.6-2-5.1-5.3-7a50 50 0 012.8 13.2c-1.2-3.2-3.4-10.1-8-14.2a78 78 0 015.9 36.8 30 30 0 0013.1-5.5c-2.5 3.6-9.7 6.1-14.3 7-2 2.6-3.5 9-3.4 12.6-.3-4.4 1-15.2 3.3-15.9zm52.8-6.3c-4-4.4-11.3-6.8-20.7-4.2a29.8 29.8 0 017.3-2.4c-.4-2.5-2.7-13.3-3-15.9l2.6-1a178 178 0 004 16.8c1 .2 2.8.6 4.5 1.4-.8-2.5-4.8-20.5-4.7-22.4l3.6-2c1.4 9.8 3.7 24 6.4 29.7z"/>
+  <path fill="#96877d" stroke="#000" stroke-width=".6" d="M511.2 291.1c1.9-5.7.7-11.2-7.4-11.9-6.3-.5-13 5.6-21.2 12h28.6zm-52.7-51.3"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M458.4 276.4c1.3 3.8 2.2 7.4 2.3 10.7m-13.1-58.3c-2.2 3.2-4 6.6-4.7 9.4 4 1.4 12 2 15.6 1.6"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M439.8 246.2l4.2.8a24.9 24.9 0 0019-3c6-4.3 22.2-17.7 40.6-19.1"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M435 242c5.8 1.3 17.6 1.8 23.5-2.2a80.4 80.4 0 0140.5-15.6"/>
+  <path fill="#337321" stroke="#000" stroke-width=".6" d="M535 305c20 13.8 34.8 27.1 39 48.6 4.4 21.4 12.5 27.1 22.5 21.4-2.4 12.4-14.8 13.8-25.3 4.3 1 14.3-4.8 31.4-19.5 37.6-1-8.6 4.7-15.3 3-22.4-.6-3-.9-10.2 3.2-13.6-7.9 2.7-20.3-2.3-21.5-14 9 4.3 20.8 5 25.3-6.4 4.5-11.5 2.6-31-26.7-55.6zm25.3-111.5c6.1-16.3 22.4-14.6 27.8-7.7 16-9 18.1 11.5 31.7 7.4-.2 3.8-4.8 7.4-9.7 7.2 5.2 4.7-2.2 11.9 9 16.2-9.5 4.7-22.9-.3-26.5-13.4-3 6.2-14.3 6.2-18.8 1.2 9.8-2.6 9-11.7 3.6-15.2-5.5-3.6-15.3-2.2-17.1 4.2zM511.9 229a86.8 86.8 0 0023.6 36.8c11.4 10.5 28.7 7.8 38.3-2.2.3 20-20.4 21.5-31.9 15.3-5-2.8-9.2-1.3-4.3 3 7.4 6.7 23.6 11.7 42.7 15.8 33.3 7.1 21.4 33.6 11.6 33.4 2.9-.1 5.2-3 1.1-6.7-29-26-87.8-15.7-86.8-73.9-6.2 15.3-31.7 9.3-19.8-8.8 3.8 3.1 10.5 3.3 12.4-1.4 1.5-3.7.5-10.2-6.2-15.7 1.1-.1 3.5 0 3.2-2.7.3 1.6 1.8 4 5.5 3.2 1.1 1.6 2.2 2.8 3.8 2.2.3-.2 1.2-.6.8-2.3.3 3.1 4 4.3 6 4z"/>
+  <path fill="#f7e017" stroke="#000" stroke-width=".6" d="M542 279c13.7 9 29.3 9 43.7-7.6 4.6-5.3 11.7-9.8 16.7-10.3s4.8-5.2 8.6-6.2c-2.4-.7-3.3-3.5-6.9-3.2 9-3.1 6.3-10.2 10.7-13.7-3.6 1.3-9.1-4-14.3 2.8 1.3-3.2-.5-6.9-1.8-8.3.5 3.6-7 4.3-8.4 13.4-.8 5-3.6 4.7-4-3.1-.4-5.8-3.2-21.7-6.5-29.8-3.3-8.1-4.1-19.2.4-21m-33.5 234.4c3 1.5 5.5 3.5 3.9 13-.7 4-.8 13.6 2.7 13.9-2.2 1-6.8 1.9-8.5-.6-2 2.9-6 1.9-7.4-2-2.2 1.7-5-1.3-5-3.9-1.8 1.2-5.5-.7-4.3-6.4-2.3.7-5.2-1-6.2-2.5 3.3-.5 11.9-4.7 14-8.2 2.2-3.5 7.4-5 10.8-3.3z"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M544.7 452.7c1-1.3 1.6-6.9 1-10.3m-8.4 8.4a15.7 15.7 0 005.1-8.2m-10 4.3c2-.8 6.7-6.5 7.8-10.2m-12.2 3.7a26 26 0 0012.1-9"/>
+  <path fill="#f7e017" stroke="#000" stroke-width=".6" d="M506.2 250.6c-.4 24.5 9.7 36.8 23.8 44.8-5.2-3-3-13.8-10-17.3 1.7 0 4.3 2.3 8.5 1.3-2-4.5-5.4-11.4-13.1-12.3 2-.3 6.4.4 9.2-.6-4-6.2-14.7-3.3-18.4-15.9zm-2.6-23.2c-.8-.3-1.6-1.1-2.3-2.3-3.7.8-5.2-1.5-5.5-3.2.2 2.8-2.1 2.7-3.2 2.8 6.7 5.5 7.7 12 6.2 15.7-2 4.7-8.6 4.5-12.4 1.4-.5 10.1 12.6 13.5 17.4.7 0 2.2 2.7 2 3.4 4.8 3.4-5.5.9-13.4-3.6-19.9z"/>
+  <path fill="#cf142b" stroke="#000" stroke-width=".6" d="M487 150.7c0-2.2 3.6-5 8.6-5 6 .2 10.7 5.6 15.5 5.1 4.8-.5 2.5 2.1 1.4 2.9-1 .7-1.6 1.8-1.2 3 .4 1.4-.3 2.2-2.2 1-4.3-2.7-8.6 1-14.3-1-4.9-1.8-7.7-2.8-7.8-6z"/>
+  <path fill="#96877d" stroke="#000" stroke-width=".6" d="M462.5 207a36.5 36.5 0 00-15.9-17.7l-.2-4a53 53 0 0010.7-8c17.9 8.5 42.2-3.6 53.4-16.3l4.3 2.7-2.2 2.8-2.2-1.2c-2.8 3.4-13 13-16.1 15a61 61 0 0011.4 1.7c10-7.1 17.9-13.6 21.7-14l3.2 4.2-2.9 2-2.2-1.2a114.6 114.6 0 00-27.7 41c-6.6-1.5-30.5-.5-35.3-7.1z"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M463.4 204.3c-1.6-8.9 1-18.7 5.5-21.7a35.6 35.6 0 0036.8-.6"/>
+  <path fill="none" stroke="#000" stroke-width=".6" d="M463.4 199.6c7.6-.2 24.2 1.1 28.3 1.7 4 .6 10.8 2.3 9.8 4.3m-34.6-7.2l2.2-2.2-2.2-2.2-2.2 2.2 2.2 2.2z"/>
+  <path fill="#337321" stroke="#000" stroke-width=".6" d="M472.1 154c-2.7-3.8-10.3-5-11.9.1-.7 2.3-1.8 4.7-3.6 5.8-1.7 1-1.3 4.3-.6 5.7 2 3.4.3 6.7 4 9 0-2.7 4-5.6 7.5-6.3 3.4-.7 8.7-3.8 9.4-7.2.7-3.5 1.9-6.4-4.8-7z"/>
+  <path fill="#96877d" stroke="#000" stroke-width=".6" d="M455 188.3h.9v6.5l.6.3 5.6-3.2.5.9-5.7 3.2a1.7 1.7 0 010 .6l5.7 3.3-.5.8-5.7-3.2"/>
+  <path fill="#337321" stroke="#000" stroke-width=".6" d="M450.7 215c-.7-.8-2-3.1-2-4.8a6.2 6.2 0 014.1 1.6c-.1-1.2-.6-3.8-.3-5 1.3.5 4 2 5 3.8"/>
+  <path fill="#f7e017" d="M490.5 151.9c0-.9 2-2.9 5.5-2.8 4.2 0 8 3 11.4 2.9 3.4-.3 1.7.8 1 1.1-.7.3-1 .8-.8 1.3.2.5-.2.9-1.6.4-3-1.1-6 .4-10-.5-3.4-.7-5.4-1-5.5-2.4z"/>
+  <g stroke="#000" stroke-width=".6">
+    <path fill="#f7e017" d="M454.4 222.2c-3.6 4.2-7.2 3.5-7.9.8-.7-2.8 2-4 1-6.5-1-2.3 1.5-3.4 2.7-2.3 1.2 1 5-2.4 6.7 1.2 1.6 3.5 3 6 2 7.5-1 1.4-3.8.7-4.5-.7zm15.3-6.5c-.7-1.5 3-4.6 5-2.4 1.9 2.1 4.9-2.4 6.5 1 1.7 3.4 2.2 5.2 3 7.1.9 2-4.5 3-6.1 1.3.2 1.1-4.7 2-6-1.2l-2.4-5.8zm24.8 2c-.9-1.7 3.5-4 5.7-1 .6-1.3 5-1.5 5.2 2.1l.5 7.2c.1 1.5-2.6 2.8-4.5-.9-3.5.8-5.2-1.2-5.6-3.3a17 17 0 00-1.3-4.1z"/>
+    <path fill="#337321" d="M456.7 215.3c-.6-1.2 3-3.6 5.4-1.8 2.5 1.8 5.9-1.5 7.3 1.7 3 6.5 3.1 7 2.2 8.2-.9 1.3-4.7.8-5.6-1-.2 1.2-3.5 1-5.2.1-2-1-3.4-5-4.1-7.2zm25 .3c-.8-1.8 4.8-3.4 7.2-.2 1.3-1.2 4-1.2 5.6 2.3 1.5 3.5 1.8 5.5.6 6.4-.8.6-3.6 1-4.6-.5-1.3.8-5.4.1-6.3-2.1-.8-2.3-1.6-4.3-2.4-6zm23.8 3.5c-.2-1.6 2.9-2.4 4 0 1.1 2.5 4.8.3 5 4.3a9 9 0 01-1.5 5.2c-1.1 1.4-6.6 0-7-3"/>
+    <path fill="none" d="M454.4 222.2c-1.3-1.8-3.1-4.7-5.4-1.6m17 1.8"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pr.svg
new file mode 100644
index 0000000..191c56a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pr.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pr" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="pr-a">
+      <path fill-opacity=".7" d="M-37.3 0h682.7v512H-37.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#pr-a)" transform="translate(35) scale(.9375)">
+    <path fill="#ed0000" d="M-37.3 0h768v512h-768z"/>
+    <path fill="#fff" d="M-37.3 102.4h768v102.4h-768zm0 204.8h768v102.4h-768z"/>
+    <path fill="#0050f0" d="M-37.3 0l440.7 255.7L-37.3 511V0z"/>
+    <path fill="#fff" d="M156.4 325.5L109 290l-47.2 35.8 17.6-58.1-47.2-36 58.3-.4 18.1-58 18.5 57.8 58.3.1-46.9 36.3 18 58z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ps.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ps.svg
new file mode 100644
index 0000000..a6dedf5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ps.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ps" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ps-a">
+      <path fill-opacity=".7" d="M-118 0h682.7v512H-118z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#ps-a)" transform="translate(110.6) scale(.9375)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path d="M-246 0H778v170.7H-246z"/>
+      <path fill="#fff" d="M-246 170.7H778v170.6H-246z"/>
+      <path fill="#090" d="M-246 341.3H778V512H-246z"/>
+      <path fill="red" d="M-246 512l512-256L-246 0v512z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pt.svg
new file mode 100644
index 0000000..fa9621f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pt.svg
@@ -0,0 +1,57 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-pt" viewBox="0 0 640 480">
+  <path fill="red" d="M256 0h384v480H256z"/>
+  <path fill="#060" d="M0 0h256v480H0z"/>
+  <g fill="#ff0" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".6">
+    <path d="M339.5 306.2c-32.3-1-180-93.2-181-108l8.1-13.5c14.7 21.3 165.7 111 180.6 107.8l-7.7 13.7"/>
+    <path d="M164.9 182.8c-2.9 7.8 38.6 33.4 88.4 63.8 49.9 30.3 92.9 49 96 46.4l1.5-2.8c-.6 1-2 1.3-4.3.6-13.5-3.9-48.6-20-92.1-46.4-43.6-26.4-81.4-50.7-87.3-61a6.3 6.3 0 01-.6-3.1h-.2l-1.2 2.2-.2.3zm175.3 123.8c-.5 1-1.6 1-3.5.8-12-1.3-48.6-19.1-91.9-45-50.4-30.2-92-57.6-87.4-64.8l1.2-2.2.2.1c-4 12.2 82.1 61.4 87.2 64.6 49.8 30.8 91.8 48.9 95.5 44.2l-1.3 2.3z"/>
+    <path d="M256.2 207.2c32.2-.3 72-4.4 95-13.6l-5-8c-13.5 7.5-53.5 12.5-90.3 13.2-43.4-.4-74.1-4.5-89.5-14.8l-4.6 8.6c28.2 12 57.2 14.5 94.4 14.6"/>
+    <path d="M352.5 193.8c-.8 1.3-15.8 6.4-37.8 10.2a381.2 381.2 0 01-58.6 4.3 416.1 416.1 0 01-56.2-3.6c-23.1-3.6-35-8.6-39.5-10.4l1.1-2.2c12.7 5 24.7 8 38.7 10.2A411.5 411.5 0 00256 206a391.8 391.8 0 0058.3-4.3c22.5-3.7 34.8-8.4 36.6-10.5l1.6 2.7zm-4.4-8.1c-2.4 2-14.6 6.3-36 9.7a388.2 388.2 0 01-55.8 4c-22 0-40.1-1.6-53.8-3.6-21.8-2.8-33.4-8-37.6-9.4l1.3-2.2c3.3 1.7 14.4 6.2 36.5 9.3a385 385 0 0053.6 3.4 384 384 0 0055.4-4c21.5-3 33.1-8.4 34.9-9.8l1.5 2.6zM150.3 246c19.8 10.7 63.9 16 105.6 16.4 38 .1 87.4-5.8 105.9-15.6l-.5-10.7c-5.8 9-58.8 17.7-105.8 17.4-47-.4-90.7-7.6-105.3-17v9.5"/>
+    <path d="M362.8 244.5v2.5c-2.8 3.4-20.2 8.4-42 12a434 434 0 01-65.4 4.4 400 400 0 01-62-4.3 155 155 0 01-44.4-12v-2.9c9.7 6.4 35.9 11.2 44.7 12.6 15.8 2.4 36.1 4.2 61.7 4.2 26.9 0 48.4-1.9 65-4.4 15.7-2.3 38-8.2 42.4-12.1zm0-9v2.5c-2.8 3.3-20.2 8.3-42 11.9a434 434 0 01-65.4 4.5 414 414 0 01-62-4.3 155 155 0 01-44.4-12v-3c9.7 6.5 36 11.2 44.7 12.6a408 408 0 0061.7 4.3c26.9 0 48.5-2 65-4.5 15.7-2.2 38-8.1 42.4-12zm-107 68.8c-45.6-.2-84.7-12.4-93-14.4l6 9.4a249.8 249.8 0 0087.4 14.3c34.7-1 65-3.7 86.3-14.1l6.2-9.8c-14.5 6.9-64 14.6-93 14.6"/>
+    <path d="M344.9 297.3a143 143 0 01-2.8 4c-10 3.6-26 7.4-32.6 8.4a295.5 295.5 0 01-53.7 5c-40.4-.6-73.5-8.5-89-15.3l-1.3-2.1.2-.4 2.1.9a286.5 286.5 0 0088.2 14.5c18.8 0 37.5-2.1 52.6-4.8 23.2-4.7 32.6-8.2 35.5-9.8l.7-.4zm5.3-8.8a287.2 287.2 0 01-2 3.5c-5.4 2-20 6.2-41.3 9.2-14 1.9-22.7 3.8-50.6 4.3a347.4 347.4 0 01-94.2-14L161 289a390 390 0 0095.4 14c25.5-.5 36.4-2.4 50.3-4.3 24.8-3.8 37.3-8 41-9.1a2.9 2.9 0 000-.2l2.6-1z"/>
+    <path d="M350.8 237.6c.1 30-15.3 57-27.6 68.8a99.3 99.3 0 01-67.8 28.2c-30.3.5-58.8-19.2-66.5-27.9a101 101 0 01-27.5-67.4c1.8-32.8 14.7-55.6 33.3-71.3a99.6 99.6 0 0164.2-22.7 98.2 98.2 0 0171 35.6c12.5 15.2 18 31.7 20.9 56.7zM255.6 135a106 106 0 01106 105.2 105.6 105.6 0 11-211.4 0c-.1-58 47.3-105.2 105.4-105.2"/>
+    <path d="M255.9 134.5c58.2 0 105.6 47.4 105.6 105.6S314.1 345.7 256 345.7s-105.6-47.4-105.6-105.6c0-58.2 47.4-105.6 105.6-105.6zM152.6 240c0 56.8 46.7 103.3 103.3 103.3 56.6 0 103.3-46.5 103.3-103.3s-46.7-103.3-103.3-103.3S152.6 183.2 152.6 240z"/>
+    <path d="M256 143.3a97 97 0 0196.7 96.7 97.1 97.1 0 01-96.7 96.8c-53 0-96.7-43.6-96.7-96.8a97.1 97.1 0 0196.7-96.7zM161.6 240c0 52 42.6 94.4 94.4 94.4s94.4-42.5 94.4-94.4c0-52-42.6-94.4-94.4-94.4a94.8 94.8 0 00-94.4 94.4z"/>
+    <path d="M260.3 134h-9.1v212.3h9z"/>
+    <path d="M259.3 132.8h2.3v214.7h-2.2V132.8zm-9 0h2.4v214.7h-2.3V132.8z"/>
+    <path d="M361.6 244.2v-7.8l-6.4-6-36.3-9.6-52.2-5.3-63 3.2-44.8 10.6-9 6.7v7.9l22.9-10.3 54.4-8.5h52.3l38.4 4.2 26.6 6.4z"/>
+    <path d="M256 223.8c24.9 0 49 2.3 68.3 6 19.8 4 33.7 9 38.5 14.5v2.8c-5.8-7-24.5-12-39-15-19-3.6-43-6-67.9-6-26.1 0-50.5 2.6-69.3 6.2-15 3-35.1 9-37.6 14.8v-2.9c1.3-4 16.3-10 37.3-14.3 18.9-3.7 43.3-6.1 69.6-6.1zm0-9.1a383 383 0 0168.3 6c19.8 4 33.7 9 38.5 14.6v2.7c-5.8-6.9-24.5-12-39-14.9-19-3.7-43-6-67.9-6a376 376 0 00-69.2 6.2c-14.5 2.7-35.4 8.9-37.7 14.7v-2.8c1.4-4 16.6-10.3 37.3-14.3 19-3.7 43.3-6.2 69.7-6.2zm-.6-46.2c39.3-.2 73.6 5.5 89.3 13.5l5.7 10c-13.6-7.4-50.6-15-94.9-14-36.1.3-74.7 4-94 14.4l6.8-11.4c15.9-8.3 53.3-12.5 87.1-12.5"/>
+    <path d="M256 176.7a354 354 0 0161.3 4.3c16 3 31.3 7.4 33.5 9.8l1.7 3c-5.3-3.4-18.6-7.3-35.6-10.5s-38.7-4.3-61-4.2c-25.3-.1-45 1.2-61.8 4.2a108.9 108.9 0 00-33.3 10.3l1.7-3.1c6-3 15.3-6.7 31.1-9.6 17.5-3.2 37.4-4.1 62.4-4.2zm0-9c21.4-.2 42.6 1 59.1 4a96 96 0 0130.6 10l2.5 4c-4.2-4.7-20-9.2-34.1-11.6-16.4-2.9-36.7-4-58.1-4.2a361 361 0 00-59.5 4.4 97.3 97.3 0 00-29.6 9.1l2.2-3.3c5.8-3 15.2-5.8 27-8.1a357 357 0 0159.9-4.4zM308.4 284a276.4 276.4 0 00-52.5-4c-65.5.8-86.6 13.5-89.2 17.3l-5-8c16.8-12 52.4-18.8 94.6-18.2 21.9.4 40.8 1.9 56.6 5l-4.5 8"/>
+    <path d="M255.6 278.9c18.2.3 36 1 53.3 4.2l-1.2 2.2c-16-3-33.2-4-52-4-24.3-.2-48.7 2.1-70 8.2-6.7 1.9-17.8 6.2-19 9.8l-1.2-2c.4-2.2 7-6.6 19.6-10 24.4-7 47.2-8.3 70.5-8.4zm.8-9.2a327 327 0 0157.3 5l-1.3 2.3a299 299 0 00-56-4.9c-24.2 0-49.9 1.8-73.3 8.6-7.5 2.2-20.6 7-21 10.7l-1.2-2.2c.2-3.4 11.5-7.9 21.7-10.8 23.5-6.9 49.3-8.6 73.8-8.7z"/>
+    <path d="M349.4 290.5l-7.8 12.3-22.7-20.1-58.6-39.5-66.2-36.3-34.3-11.7 7.3-13.6 2.5-1.3 21.3 5.3 70.4 36.3 40.6 25.6L336 272l13.9 16z"/>
+    <path d="M158.6 195.5c6-4 50.2 15.6 96.6 43.6 46.1 28 90.3 59.6 86.3 65.5l-1.3 2.1-.6.5c.1-.1.8-1 0-3.1-2-6.5-33.4-31.5-85.3-62.9-50.7-30.1-92.9-48.3-97-43.1l1.3-2.6zM351 290.4c3.8-7.6-37.2-38.5-88.1-68.6-52-29.5-89.6-46.9-96.5-41.7L165 183c0 .1 0-.2.4-.5 1.2-1 3.3-1 4.2-1 11.8.2 45.5 15.7 92.8 42.8 20.8 12 87.6 55 87.3 67 0 1 .1 1.2-.3 1.8l1.7-2.6z"/>
+  </g>
+  <g transform="translate(0 26.7) scale(1.06667)">
+    <path fill="#fff" stroke="#000" stroke-width=".7" d="M180.6 211a58.7 58.7 0 0017.5 41.7 59 59 0 0041.8 17.6 59.4 59.4 0 0042-17.4 59 59 0 0017.4-41.8v-79.2l-118.7-.2V211z"/>
+    <path fill="red" stroke="#000" stroke-width=".5" d="M182.8 211.1a56.4 56.4 0 0016.8 40 57 57 0 0040.2 16.8 56.9 56.9 0 0040.2-16.6 56.4 56.4 0 0016.7-40v-77H183v76.8m91-53.7v48.9l-.1 5.1a33.2 33.2 0 01-10 24 34 34 0 01-24 10c-9.4 0-17.7-4-23.9-10.2a34 34 0 01-10-24v-54l68 .2z"/>
+    <g id="e">
+      <g id="d" fill="#ff0" stroke="#000" stroke-width=".5">
+        <path stroke="none" d="M190.2 154.4c.1-5.5 4-6.8 4-6.8.1 0 4.3 1.4 4.3 6.9h-8.3"/>
+        <path d="M186.8 147.7l-.7 6.3h4.2c0-5.2 4-6 4-6 .1 0 4 1.1 4.1 6h4.2l-.8-6.4h-15zm-1 6.4h17c.3 0 .6.3.6.7 0 .5-.3.8-.6.8h-17c-.3 0-.6-.3-.6-.8 0-.4.3-.7.7-.7z"/>
+        <path d="M192 154c0-3.3 2.3-4.2 2.3-4.2s2.3 1 2.3 4.2H192m-5.8-9h16.3c.3 0 .6.4.6.8 0 .3-.3.6-.6.6h-16.3c-.3 0-.6-.3-.6-.7 0-.3.3-.6.6-.6zm.4 1.5H202c.3 0 .6.3.6.7 0 .4-.3.7-.6.7h-15.5c-.4 0-.6-.3-.6-.7 0-.4.2-.7.6-.7zm5-10.6h1.2v.8h.9v-.8h1.3v.9h.9v-1h1.2v2c0 .4-.2.6-.5.6h-4.4c-.3 0-.6-.2-.6-.5v-2zm4.6 2.7l.3 6.4h-4.3l.3-6.5h3.7"/>
+        <path id="a" d="M191 141.6v3.4h-4v-3.4h4z"/>
+        <use width="100%" height="100%" x="10.6" xlink:href="#a"/>
+        <path id="b" d="M186.3 139h1.2v1h.9v-1h1.2v1h.9v-1h1.2v2c0 .4-.2.6-.5.6h-4.3a.6.6 0 01-.6-.6v-2z"/>
+        <use width="100%" height="100%" x="10.6" xlink:href="#b"/>
+        <path fill="#000" stroke="none" d="M193.9 140.6c0-.6.9-.6.9 0v1.6h-.9v-1.6"/>
+        <path id="c" fill="#000" stroke="none" d="M188.6 142.8c0-.6.8-.6.8 0v1.2h-.8v-1.2"/>
+        <use width="100%" height="100%" x="10.6" xlink:href="#c"/>
+      </g>
+      <use width="100%" height="100%" y="46.3" xlink:href="#d"/>
+      <use width="100%" height="100%" transform="rotate(-45.2 312.8 180)" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" x="45.7" xlink:href="#d"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 479.8 0)" xlink:href="#e"/>
+    <g id="f" fill="#fff">
+      <path fill="#039" d="M232.6 202.4a8.3 8.3 0 002.2 5.7 7.2 7.2 0 005.3 2.4c2.1 0 4-1 5.3-2.4a8.3 8.3 0 002.2-5.7v-10.8h-15v10.8"/>
+      <circle cx="236.1" cy="195.7" r="1.5"/>
+      <circle cx="244.4" cy="195.7" r="1.5"/>
+      <circle cx="240.2" cy="199.7" r="1.5"/>
+      <circle cx="236.1" cy="203.9" r="1.5"/>
+      <circle cx="244.4" cy="203.9" r="1.5"/>
+    </g>
+    <use width="100%" height="100%" y="-26" xlink:href="#f"/>
+    <use width="100%" height="100%" x="-20.8" xlink:href="#f"/>
+    <use width="100%" height="100%" x="20.8" xlink:href="#f"/>
+    <use width="100%" height="100%" y="25.8" xlink:href="#f"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pw.svg
new file mode 100644
index 0000000..8127a2c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/pw.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-pw" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="pw-a">
+      <path fill-opacity=".7" d="M-70.3 0h640v480h-640z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#pw-a)" transform="translate(70.3)">
+    <path fill="#4aadd6" d="M-173.4 0h846.3v480h-846.3z"/>
+    <path fill="#ffde00" d="M335.6 232.1a135.9 130.1 0 11-271.7 0 135.9 130.1 0 11271.7 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/py.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/py.svg
new file mode 100644
index 0000000..1402520
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/py.svg
@@ -0,0 +1,157 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-py" viewBox="0 0 640 480">
+  <path fill="#0038a8" d="M0 319.7h640V480H0z"/>
+  <path fill="#fff" d="M0 160h640v160H0z"/>
+  <path fill="#d52b1e" d="M0 0h640v160H0z"/>
+  <g fill="none" stroke="#000" transform="translate(-116.4) scale(1.45455)">
+    <circle cx="300" cy="165" r="42.2" stroke-width="1.1"/>
+    <circle cx="300" cy="165" r="34.7" stroke-width=".5"/>
+    <circle cx="300" cy="165" r="26.6" stroke-width=".4"/>
+  </g>
+  <path d="M287.3 263.7l-7.1 4.2-2.2-3.7a6.2 6.2 0 01-.7-1.6 2 2 0 01.1-1.3c.2-.4.5-.7 1-1 .4-.2.7-.3 1.1-.3a2.3 2.3 0 011.1.2l.8.6v-1.3l.3-.5 1.5-2.3 1.4 2.5-1.4 2.4-.3.8.1.6.1.2 3-1.7zm-5.5.3l-.6-1-.4-.5a.7.7 0 00-.5-.2.8.8 0 00-.5.1l-.4.6c0 .2.1.5.4.9l.5 1zm-6.7-5.5l-2.2-6.5 1.7-.6 1.3 4.1 1.3-.4-1.3-3.8 1.6-.5 1.3 3.7 1.5-.5-1.4-4.2 1.8-.5 2.2 6.6zm-2.9-9.7l-.4-4.2c-.2-1 0-1.6.4-2.1.4-.6 1-.9 1.8-1 .8 0 1.5.1 2 .6.5.4.8 1.2 1 2.2l.1 1.4 3-.4.4 2.6zm3.3-3l-.1-.6c0-.5-.2-.8-.4-1a.8.8 0 00-.7-.2 1 1 0 00-.6.4c-.2.1-.2.5-.2 1l.1.7zm-3.5-12.5l.3-2.6 4.8.6a4.2 4.2 0 011.4.4c.4.2.8.4 1 .8.4.3.5.7.6 1 .2.6.2 1.2.1 1.9l-.2 1.3c-.1.5-.3.8-.5 1.1a3 3 0 01-1.8 1.3h-1.4l-4.9-.5.3-2.5 5 .5c.4 0 .8 0 1-.2.4-.2.5-.6.6-1a1.4 1.4 0 00-.3-1c-.2-.4-.6-.5-1-.6zm1-6l1.7-4.6c.2-.8.6-1.3 1.1-1.5a2 2 0 011.6-.2c.5.2.8.5 1 .9.2.3.3.6.3 1 .3-.5.7-.8 1.1-1a2 2 0 011.4 0 2.2 2.2 0 011.5 1.8v1l-.3 1-1.5 4.2zm4-1.4l.4-1.1c0-.4.1-.7 0-.8 0-.2-.2-.4-.4-.5a.7.7 0 00-.6 0c-.2.2-.4.4-.5.8l-.4 1zm3 1l.5-1.2c.1-.4.2-.7 0-1a.8.8 0 00-.4-.4.7.7 0 00-.7 0l-.5.9-.4 1.2zm-3-9.6l1.3-2.2 5.4 3.2 2-3.4 1.8 1-3.4 5.6zm5-7.6l1.6-2 6.4 5.3-1.6 2zm11.1-4.3l2.2-1c.3.6.4 1.2.5 1.7a3.1 3.1 0 01-.3 1.5 4.5 4.5 0 01-1.2 1.5 4 4 0 01-2 1.1 3.5 3.5 0 01-2 0 4.7 4.7 0 01-2-1.6c-1-1-1.4-2-1.3-3.1a4.2 4.2 0 011.6-2.9 4.2 4.2 0 012.3-1c.7-.1 1.5 0 2.3.5l-1.4 1.9a1.9 1.9 0 00-.6-.3 1.5 1.5 0 00-.7 0 1.5 1.5 0 00-.6.4 1.5 1.5 0 00-.6 1.4c0 .4.4.9.8 1.4.6.7 1.1 1.1 1.6 1.2.4 0 .8 0 1.2-.4.4-.3.6-.6.6-1s-.1-.8-.4-1.3zm8.8-3.2l-2.5 1.4.3 1.4-2.3 1.2-1.2-8.7 2.5-1.3 6.6 5.8-2.4 1.3zm-1.3-1.3l-2.2-2.2.6 3zm7.8-8.5l3.8-.6a4.6 4.6 0 011.8 0c.5.1 1 .3 1.3.7s.7.7.9 1.2c.2.4.4 1 .4 1.5.2.9.2 1.6.1 2a3.4 3.4 0 01-.6 1.4 2.7 2.7 0 01-1 .9 6 6 0 01-1.5.5l-3.7.6zm2.9 1.4l.8 4.5.6-.1c.5-.1.9-.2 1-.4.3-.1.4-.4.5-.7v-1.4c-.2-.9-.5-1.4-.8-1.7-.3-.3-.8-.4-1.5-.3zm7.8-2.8l6.8.3v1.8l-4.3-.2-.1 1.3 4 .2-.1 1.7-4-.2v1.6l4.4.2-.1 1.9-7-.3zm10 .8l2.4.6-1.5 6 4 1-.6 2-6.3-1.6zm13.2 4.4l3.7 2.2c.8.4 1.3 1 1.4 1.6.2.6 0 1.3-.3 2a2.5 2.5 0 01-1.7 1.3c-.6.1-1.4 0-2.3-.6l-1.2-.7-1.6 2.6-2.2-1.3zm.4 4.4l.6.3 1 .3a.8.8 0 00.6-.4 1 1 0 000-.7c0-.3-.2-.5-.6-.8l-.6-.3zm7.2 9.6l-2.1-2-1.2.7-2-1.7 8-4 2 2-3.4 8.1-2-1.8zm.8-1.7l1.4-2.8-2.7 1.6zm1 5.5l6.9-4.7 2.3 3.5 1 1.7-.1 1.2a2.3 2.3 0 01-1 1.1c-.3.3-.7.4-1 .4a2.3 2.3 0 01-1.2-.2c-.2 0-.5-.3-.8-.5l.2.7-.2.6a3.3 3.3 0 01-.2.6l-1.3 2.3-1.6-2.3 1.3-2.6.3-.7a1 1 0 00-.2-.7l-.1-.2-2.8 2zm5.5-.6l.7.9.4.4c.2.2.3.2.5.2a.8.8 0 00.5-.1.8.8 0 00.3-.6c0-.2 0-.5-.3-.9l-.7-.9zm2.6 12.4l-1-2.8-1.5.2-1-2.5 8.9-.1 1 2.6-6.5 6-1-2.6zm1.5-1.2l2.4-2-3.1.3zm2.1 9l1.7-.2.6 3.9-3.5.5a8 8 0 01-1.3-1.8 6.8 6.8 0 01-.6-2 5 5 0 01.1-2.5 4 4 0 011.3-1.6 4.9 4.9 0 012.2-.9 5 5 0 012.4.2 3.6 3.6 0 011.7 1.4c.4.6.6 1.3.8 2.2v2a2.7 2.7 0 01-.6 1.3c-.3.4-.7.6-1.2.9l-.8-2.4c.3-.1.5-.3.7-.6s.1-.6 0-1a1.7 1.7 0 00-.7-1.2c-.4-.3-1-.4-2-.2a3 3 0 00-1.7.7c-.4.4-.5 1-.4 1.5 0 .3.1.6.3.8l.5.8h.8zm5.4 12l-.2 2.6-5-.4a4.2 4.2 0 01-1.3-.4 3 3 0 01-1-.8 3 3 0 01-.6-1.1 5.1 5.1 0 01-.2-1.8l.2-1.3.5-1.2a3 3 0 01.8-.8 2.6 2.6 0 011-.4 4.9 4.9 0 011.4-.2l5 .5-.3 2.5-5-.4c-.5 0-.9 0-1.1.3a1.4 1.4 0 00-.5 1c0 .4 0 .8.3 1 .2.3.5.5 1 .5zm-9.1 8.8l.9-2.8-1.2-.8.8-2.5 7 5.6-1 2.6-8.8.4.9-2.5zm1.9 0l3 .1-2.5-1.8zm3 6.8l-1.5 2.4h-3.3l1.5 2.9-1.4 2.4-2.5-5.2-3-1.8 1.4-2.2 3 1.8z"/>
+  <g fill="#009b3a" stroke="#000" stroke-width=".1">
+    <path d="M328.1 211.3s23.4 10.1 19.3 30.9c-4 20.8-17 20.6-22.2 23-5 2.2-8.6 5.5-10.6 5-2-.4-4.7-2-4.7-2s-.2 3.5 3.9 4c4.1.7 9.5-5.3 12-6 2.6-.6 18.5-2.4 22.4-23.5 4.5-22.6-20-30.7-20-31.4z"/>
+    <path d="M339.9 215.8a3.2.8 75.1 01-1.5 0 3.2.8 75.1 111.5 0z"/>
+    <path d="M339.1 216a3.3.7 63.3 11-1.4.5 3.3.7 63.3 011.4-.5zm-2.3 1.5a3.1.8 17 01-.2 1.6 3.1.8 17 01.2-1.6z"/>
+    <path d="M337.1 216.7a3.3.7 34.2 11-.7 1.3 3.3.7 34.2 11.7-1.3z"/>
+    <path d="M338.1 216.3a3.3.7 46.2 11-1 1 3.3.7 46.2 011-1z"/>
+    <path d="M339.7 219.2l-1 .6c-.3 0-.6-.3-1.2 0s-1 .9-1.1 1.2c-.1.3.2.5.9.1.7-.3.9-.9 1.2-1.1l1.3-.7.8-1.3c.3-.4 1.2-1 1.6-1.8.3-.6.2-1.1-.2-.9a3 3 0 00-1.2 1.3c-.2.4 0 1-.3 1.4l-.8 1.2zm7.3 2.4a1 4.8-1.6 11-2.2-.5 1 4.8-1.6 112.2.5z"/>
+    <path d="M345.8 221.5a5 1 77.5 11-2.2.1 5 1 77.5 112.1 0z"/>
+    <path d="M342 222.7a4.7 1.1 35 11-.7 2.2 4.7 1.1 35 11.7-2.2z"/>
+    <path d="M342.8 221.6a5 1 50.9 01-1.4 1.6 5 1 50.9 111.4-1.5z"/>
+    <path d="M344.3 221.5a5.1 1 61.8 11-1.8 1 5.1 1 61.8 111.8-1z"/>
+    <path d="M345.6 226.4l-1.8.4c-.3 0-.6-.7-1.5-.5-.9.2-1.7.8-2 1.2-.2.4.1.8 1.2.6 1.2-.2 1.6-1 2.2-1 .5-.2 1.4-.4 2-.4.2-.4 1-1.2 1.5-1.6.5-.5 2-1 2.7-1.8.7-.8.7-1.6 0-1.5a4.8 4.8 0 00-2 1.3c-.5.6-.4 1.5-.9 2l-1.4 1.3zm5.1 4.9a1 4.8 8.7 11-2-1 1 4.8 8.7 112 1z"/>
+    <path d="M349.6 231a1 5-2 11-2-.3 1 5-2 112 .3z"/>
+    <path d="M345.7 231.4a4.7 1.1 46 11-1 2 4.7 1.1 46 111-2z"/>
+    <path d="M346.7 230.5a5 1 61.8 11-1.7 1.3 5 1 61.8 111.7-1.3z"/>
+    <path d="M348.1 230.7a5.1 1 72.5 11-1.9.7 5.1 1 72.5 112-.7z"/>
+    <path d="M348.5 235.8h-1.7c-.3 0-.5-.8-1.4-.8a3.3 3.3 0 00-2.1.8c-.4.4-.1.8 1 .8s1.7-.5 2.3-.6h2l1.8-1.2c.6-.4 2.1-.6 3-1.3.7-.6.9-1.4.3-1.4a5 5 0 00-2.3.9c-.5.4-.6 1.3-1.2 1.7-.4.2-1.6 1.1-1.7 1m2.5 6.4a1 4.8 31.3 01-1.4-1.7 1 4.8 31.3 011.4 1.7"/>
+    <path d="M350.1 241.3a1 5 20.6 01-1.8-1.1 1 5 20.6 011.8 1.1m-3.7-1.2a4.8 1 70 01-1.8 1.5 4.8 1 70 011.8-1.5"/>
+    <path d="M347.6 239.7a1 5.1-4.9 01-2 .5 1 5.1-4.9 112-.5"/>
+    <path d="M349 240.4a1 5.2 5.5 11-2-.1 1 5.2 5.5 112 .1"/>
+    <path d="M347.3 245.3s-1.4-.5-1.6-.7c-.3-.2-.1-.8-1-1.3a3.1 3.1 0 00-2.2 0c-.5 0-.4.6.6 1 1 .6 1.8.2 2.3.4l1.8.9c.5-.2 1.6-.3 2.2-.4.6-.1 2.1.4 3.2 0 .9-.3 1.3-1 .7-1.2a4.5 4.5 0 00-2.3 0c-.7.1-1.1 1-1.8 1-.5 0-1.9.4-2 .3m1 7.7a1.3 5.5 48.5 11-1.1-2.4 1.3 5.5 48.5 111 2.4"/>
+    <path d="M347.3 251.9a1.2 5.8 37.5 11-1.5-2 1.2 5.8 37.5 111.5 2"/>
+    <path d="M343.7 249.2a1.3 5.5-3.5 11-2.4 1 1.3 5.5-3.5 112.4-1"/>
+    <path d="M345.1 249.2a1.2 5.9 11.6 01-2.3-.2 1.2 5.9 11.6 112.3.1"/>
+    <path d="M346.3 250.4a1.2 6 22.1 11-2.1-.8 1.2 6 22.1 112.1.8"/>
+    <path d="M343 255.3a16.3 16.3 0 01-1.6-1.4c-.2-.3.1-1-.7-1.8s-1.8-1-2.4-1c-.6.1-.6.7.3 1.6 1 1 2 .8 2.4 1.2.6.4 1.4 1.1 1.7 1.6l2.6.4c.7 0 2.2 1.1 3.5 1.1 1 0 1.8-.5 1.2-1a5.3 5.3 0 00-2.6-1c-.8 0-1.5.8-2.2.6l-2.3-.3m-2.3 7.3a1.4 6 79.8 11.3-2.9 1.4 6 79.8 11-.3 2.9"/>
+    <path d="M340.5 261a1.3 6.4 68.5 01-.5-2.6 1.3 6.4 68.5 01.5 2.7"/>
+    <path d="M338.4 256.4a1.4 6 26.2 01-2.8-.5 1.4 6 26.2 112.8.5"/>
+    <path d="M339.9 257.2a1.3 6.5 41.8 01-2.3-1.5 1.3 6.5 41.8 012.3 1.5"/>
+    <path d="M340.3 259.1a1.3 6.5 52.7 11-1.6-2 1.3 6.5 52.7 011.6 2"/>
+    <path d="M334.4 261.7a18.1 18.1 0 01-.7-2.2c-.1-.4.6-.8.3-2a4.3 4.3 0 00-1.9-2.3c-.5-.3-.9.2-.5 1.6.4 1.4 1.4 1.9 1.7 2.6l.8 2.4 2.2 1.9c.6.5 1.5 2.4 2.7 3.1 1 .7 2 .5 1.8-.2a6.2 6.2 0 00-2-2.4c-.7-.6-1.8-.3-2.5-.8-.4-.5-2-1.6-2-1.7"/>
+    <path d="M330.8 268a1.8 6.1 89 010-3.5 1.8 6.1 89 010 3.5"/>
+    <path d="M330 262.5a1.7 6.3 37.6 01-2.7-2.2 1.7 6.3 37.6 112.6 2.2"/>
+    <path d="M330.8 265.3a1.7 6.2 66.5 01-1.2-3.3 1.7 6.2 66.5 011.2 3.3m1.7-53.4a3.8.8 41.1 01-1.5.8 3.8.8 41.1 111.5-.8m-1.9 1.5a3.9.8 8.2 01.3 1.6 3.9.8 8.2 11-.3-1.6"/>
+    <path d="M331.4 212.4a4 .7 26.8 11-.8 1.3 4 .7 26.8 01.8-1.3M303.7 262s5.1 1.1 9.6 2.7c4.5 1.7 11.3 7.2 13.1 7.6 2 0 4.9-.7 6-3.6-3.2.8-5 2.1-8 .5-1.1-.4-4.6-3.6-8.5-5.3-3.8-1.7-11.5-3.6-11.5-3.6l-.7 1.7m5.5-46.5l5.9-3.1-6.5 1.7-.8 1.1 1.4.3"/>
+    <path d="M314.8 217c-2.3-.5-5.8-1.3-8-1.4 1.5-1.7 3.6-4.7 5-6.4-1 1.7-2.3 4-2.8 5.5 1.5.9 4 1.6 5.8 2.2"/>
+    <path d="M308.1 215.9a314.4 314.4 0 015.3-4.1l-6.1 2.7-.6 1.3h1.4"/>
+    <path d="M313.7 216.9c-2.3-.5-5.8-1.3-8-1.5 1.4-1.7 3.5-4.7 4.8-6.6-.8 1.8-2.2 4.1-2.7 5.8 1.6.9 4.1 1.6 6 2.3"/>
+    <path d="M307.3 216.2l6.1-2.6-6.6 1.1-.9 1 1.3.5"/>
+    <path d="M313 217c-2.3-.3-6-.7-8.2-.6 1.3-2 3-5.3 4.1-7.3-.6 1.9-1.7 4.4-2 6.1 1.7.8 4.3 1.2 6.1 1.7"/>
+    <path d="M306.6 216.2l4.2-5-5.3 3.9-.3 1.3 1.4-.2"/>
+    <path d="M313 217.3c-2.5 0-6.4-.3-8.8 0 1.2-2.3 2.7-6 3.6-8.3-.4 2.1-1.3 5-1.4 6.9 1.8.6 4.6 1 6.6 1.4"/>
+    <path d="M305.8 217.4l5-4.9-6.1 3.5-.4 1.4h1.5"/>
+    <path d="M311.9 217.4c-2.7 0-6.8-.1-9.5.2 1.8-2.5 4.2-6.6 5.6-9.1-1 2.3-2.4 5.4-3 7.5 1.9.7 4.8 1 6.9 1.4"/>
+    <path d="M304 217.8l6.6-5.5-7.4 3.9-.8 1.6h1.6"/>
+    <path d="M311 217.6c-2.7.4-6.9.8-9.4 1.5 1.3-2.7 3.1-7 4.2-9.7-.6 2.4-1.7 5.6-2 7.8 2 .4 5 .3 7.1.4"/>
+    <path d="M303.2 218.9l5-7-6.3 5.7-.3 1.7 1.6-.4"/>
+    <path d="M309.4 218.4c-2.6.3-6.8.5-9.4 1 1.5-2.6 3.5-6.8 4.8-9.4-.8 2.3-2 5.5-2.4 7.7 2 .5 5 .5 7 .7"/>
+    <path d="M302.3 219.6l6.4-5.5-7.3 3.9-.7 1.6h1.6"/>
+    <path d="M308.7 218.7c-2.7.6-6.9 1.3-9.4 2.1 1.2-2.7 2.8-7.1 3.8-9.8-.5 2.4-1.4 5.6-1.6 7.8 2 .3 5 0 7.2-.1"/>
+    <path d="M301.2 220l4-7.7-5.4 6.6-.1 1.7 1.5-.7"/>
+    <path d="M308.7 219.1c-3 .8-7.4 1.8-10 2.8 1-3.1 2.1-8 2.9-11.1-.3 2.7-.9 6.3-.8 8.8 2.3.2 5.5-.3 7.8-.5"/>
+    <path d="M300.4 221.7l5.2-7.6-6.6 6.1-.3 2 1.7-.5"/>
+    <path d="M307.5 220c-2.8.9-7.2 2.1-9.8 3.3.8-3.2 1.8-8.1 2.4-11.2-.1 2.7-.5 6.3-.3 8.7 2.2.1 5.4-.6 7.7-.8"/>
+    <path d="M299.4 222.8l3.9-8.4-5.6 7.2v2l1.7-.8"/>
+    <path d="M306.4 221.2c-2.8.6-7.3 1.5-10 2.4 1.1-3 2.5-8 3.4-11-.4 2.7-1.1 6.4-1.1 8.7 2.2.3 5.4-.1 7.7-.2"/>
+    <path d="M298.4 223.6l6.4-6.6-7.5 4.9-.6 1.8 1.7-.1"/>
+    <path d="M305.2 222.3c-2.9.4-7.3.8-10 1.5 1.3-3 3-7.8 4-10.8-.6 2.7-1.5 6.3-1.7 8.7 2.2.5 5.4.4 7.7.6"/>
+    <path d="M297.2 223l4.3-8.3-5.9 7v1.9l1.6-.7"/>
+    <path d="M305.5 221.3c-3 1.3-8 3-10.9 4.6 1-3.7 2-9.5 2.6-13.1 0 3.1-.5 7.4-.3 10.1 2.5 0 6-1.1 8.6-1.6"/>
+    <path d="M296.6 225.4l5.2-9.4-6.9 8-.2 2.2 1.9-.8"/>
+    <path d="M304.3 222.5c-3 1.4-7.8 3.4-10.6 5.1.8-3.6 1.5-9.5 2-13 0 3-.2 7.3.1 10 2.5-.3 6-1.5 8.5-2.1"/>
+    <path d="M295.5 226.8l3.8-10.1-5.7 9 .2 2.3 1.7-1.2"/>
+    <path d="M303 223.3c-3 1.5-7.8 3.5-10.6 5.3.7-3.7 1.4-9.5 1.9-13.1 0 3-.2 7.3.2 10 2.5-.3 6-1.6 8.5-2.2"/>
+    <path d="M294.7 228l5.8-8.9-7.4 7.3-.3 2.2 1.9-.6"/>
+    <path d="M302.7 222.8c-2.7 2.2-7 5.4-9.4 7.8 0-3.8-.5-9.5-.8-13 .6 2.9 1.3 7 2.3 9.5 2.4-.9 5.5-3 8-4.2"/>
+    <path d="M295 228.5l.6-10.7-2.8 10.4.8 2 1.4-1.7"/>
+    <path d="M302 223.8c-2.8 2.2-7 5.3-9.5 7.7 0-3.7-.5-9.5-.8-13 .7 3 1.3 7 2.3 9.5 2.4-.8 5.5-3 8-4.2"/>
+    <path d="M294.3 230.3l2.7-10.5-4.7 9.6.3 2.2 1.7-1.3"/>
+    <path d="M301.6 224c-2.5 2.6-6.6 6.4-8.9 9-.4-3.7-1.5-9.6-2.2-13.2 1 3 2.1 7.1 3.4 9.5 2.3-1.1 5.4-3.6 7.7-5.2"/>
+    <path d="M294.3 231.6l.5-11.1-2.7 10.8.8 2 1.4-1.7"/>
+    <path d="M300.8 226c-2.7 2.2-7 5.5-9.6 8 0-3.8-.7-9.8-1-13.5.7 3 1.5 7.3 2.5 9.9 2.5-1 5.7-3.1 8.1-4.5"/>
+    <path d="M293.5 232.9l3.8-10.5-5.8 9.3.2 2.3 1.8-1.1"/>
+    <path d="M300.8 226c-2.5 2.5-6.3 6.4-8.5 9.1-.4-3.8-1.5-9.8-2.1-13.4 1 3 2 7.2 3.2 9.6 2.3-1.2 5.1-3.7 7.4-5.3"/>
+    <path d="M293.6 233.4l-.4-11-1.8 11 1 1.9 1.2-1.9"/>
+    <path d="M299.6 226.8c-2.4 2.6-6.1 6.5-8.2 9.3-.5-4-1.8-9.8-2.5-13.5 1 3 2.3 7.2 3.5 9.6 2.2-1.2 5-3.8 7.2-5.4"/>
+    <path d="M293 234.5l1.2-11.2-3.3 10.6.7 2.2 1.4-1.6"/>
+    <path d="M299 227.2c-2 2.9-5.5 7-7.4 10-.8-3.8-2.5-9.5-3.5-13 1.3 2.8 2.8 6.8 4.2 9.1 2.1-1.4 4.7-4.2 6.8-6"/>
+    <path d="M293 235.6l-.8-11.3-1.4 11.2 1 2 1.1-2"/>
+    <path d="M298.9 227.9c-2 3-5.3 7.3-7 10.4-1-3.8-3-9.5-4.2-13 1.4 2.8 3.1 6.8 4.7 9 2-1.5 4.5-4.5 6.5-6.4"/>
+    <path d="M293.6 236.6l1.2-11.3-3.2 10.6.6 2.3 1.4-1.6"/>
+    <path d="M298.4 229c-1.7 3.1-4.5 8-6 11.3-1.3-3.6-3.8-9-5.3-12.4 1.7 2.6 3.7 6.3 5.5 8.4 1.9-1.8 4-5.2 5.8-7.4"/>
+    <path d="M293.3 237.6l-3.2-10.8 1 11.3 1.5 1.6.6-2.1"/>
+    <path d="M298.4 230.2c-1.8 3.2-4.8 8-6.3 11.3-1.3-3.6-3.8-9-5.4-12.3 1.7 2.6 3.8 6.3 5.6 8.3 2-1.8 4.2-5.1 6-7.3"/>
+    <path d="M293.4 239.6l-1.2-11.3-1 11.3 1.1 2 1.1-2"/>
+    <path d="M298.6 231.2c-1.9 3.1-5 7.9-6.5 11.1-1.3-3.6-3.7-9-5.2-12.4 1.7 2.6 3.7 6.4 5.5 8.4 2-1.7 4.3-5 6.2-7.1"/>
+    <path d="M293.3 240.5l-2.1-11-.1 11.2 1.3 1.8.9-2"/>
+    <path d="M297.8 232.8c-2 3-5.3 7.5-7 10.7-1.1-3.7-3.3-9.4-4.6-12.8 1.5 2.7 3.4 6.6 5 8.8 2.1-1.6 4.6-4.7 6.6-6.7"/>
+    <path d="M292.3 241.7l1-11.3-3.1 10.7.7 2.2 1.4-1.6"/>
+    <path d="M297.9 233c-1.7 3.3-4.6 8.3-6 11.6-1.4-3.5-4-8.8-5.7-12 1.8 2.4 4 6 5.8 8 2-1.9 4-5.3 5.9-7.5"/>
+    <path d="M292 242.7l-3.5-10.6 1.3 11.2 1.5 1.6.6-2.2"/>
+    <path d="M297.4 233.9c-1.2 3.6-3.2 9-4 12.7-2-3.2-5.5-7.8-7.6-10.7 2.1 2.1 4.9 5.2 7 6.7 1.6-2.3 3.2-6 4.6-8.7"/>
+    <path d="M295 243.5l-3.7-10.4 1.6 11.2 1.5 1.4.6-2.2"/>
+    <path d="M297.4 235c-1.2 3.6-3.2 9.1-4 12.7-2-3.2-5.4-7.7-7.6-10.5 2.1 2 4.9 5 7 6.6 1.6-2.3 3.2-6.1 4.6-8.8"/>
+    <path d="M295 245.3l-4.8-9.7 2.8 10.8 1.7 1.2.4-2.3"/>
+    <path d="M297 235.9c-.7 3.7-2 9.5-2.5 13.2-2.3-2.9-6.3-7-8.7-9.4 2.3 1.7 5.4 4.4 7.7 5.5 1.3-2.5 2.4-6.5 3.5-9.3"/>
+    <path d="M295.4 246.8l-2.6-10.9.4 11.3 1.4 1.7.8-2"/>
+    <path d="M297 237c-.4 3.9-1.2 9.8-1.2 13.5-2.6-2.5-6.9-6-9.5-8.1 2.4 1.4 5.7 3.6 8.1 4.4 1-2.6 1.8-6.8 2.6-9.7"/>
+    <path d="M295.5 247.6l-6.9-7.8 5.2 9.5 2 .6-.3-2.3"/>
+    <path d="M297.2 238.4c-.4 3.8-1.2 9.7-1.3 13.4-2.6-2.5-6.9-6-9.5-8.2 2.5 1.4 5.8 3.7 8.1 4.5 1.1-2.6 1.8-6.8 2.7-9.7"/>
+    <path d="M296.3 249.4L291 240l3.3 10.7 1.7 1.1.3-2.3"/>
+    <path d="M297.5 240c-.3 3.8-.8 9.7-.8 13.5a117 117 0 00-9.8-7.6c2.6 1.2 6 3.3 8.3 4 1-2.7 1.6-7 2.3-10"/>
+    <path d="M297 251.2l-6.6-8.3 4.8 9.8 1.8.8v-2.3"/>
+    <path d="M297.6 241.8c-.3 3.8-.8 9.7-.7 13.5-2.7-2.4-7.1-5.6-9.9-7.6 2.6 1.3 6 3.3 8.4 4 1-2.7 1.5-7 2.2-10"/>
+    <path d="M297.5 252.6l-4.5-10 2.5 11 1.6 1.3.4-2.3"/>
+    <path d="M297.7 242.9c.2 3.9.2 9.8.6 13.6a134 134 0 00-10.4-6.2c2.6.9 6.1 2.4 8.6 2.8.7-2.9.8-7.1 1.2-10.2"/>
+    <path d="M298.3 252.2l-8.3-5.7 7 7.8 2 .1-.7-2.2"/>
+    <path d="M298 243.3c.3 3.9.7 9.8 1.3 13.5-3-1.9-7.8-4.3-10.8-5.8 2.7.8 6.3 2.2 8.8 2.5.5-2.9.4-7.1.7-10.2"/>
+    <path d="M299.3 254.3l-7-8 5.3 9.6 1.9.7-.3-2.3"/>
+    <path d="M298.6 244.8c.5 3.8 1 9.7 1.9 13.4-3-1.7-8-3.8-11-5.1 2.7.6 6.4 1.8 8.8 2 .4-3 .2-7.2.3-10.3"/>
+    <path d="M300.6 255.7l-8.3-5.9 7 8 2 .1-.7-2.2"/>
+    <path d="M298.9 246.4c.7 3.8 1.7 9.7 2.7 13.3-3.1-1.5-8.2-3.1-11.3-4.1 2.8.3 6.5 1.2 9 1 .2-2.9-.3-7-.4-10.2"/>
+    <path d="M301.6 256.9l-7-8.2 5.2 9.7 2 .8-.2-2.3"/>
+    <path d="M299.3 247.4c1.1 3.7 2.6 9.5 4 13-3.3-1-8.4-2-11.6-2.6 2.8 0 6.5.3 9-.1 0-3-1-7.1-1.4-10.2"/>
+    <path d="M302 256.9l-9.7-2 9.1 4.5 1.9-.7-1.4-1.8"/>
+    <path d="M300 248.6c1 3.7 2.5 9.4 3.8 12.9-3.2-1-8.3-2-11.5-2.6 2.8 0 6.5.3 9 0 0-3-1-7.2-1.3-10.3"/>
+    <path d="M303.5 257.9l-9.2-4.5 8.2 6.7 2-.2-1-2"/>
+    <path d="M299.5 249.2c1.8 3.4 4.5 8.7 6.5 11.7-3.4-.2-8.6 0-11.8 0 2.7-.5 6.4-1 8.7-2-.7-2.9-2.4-6.7-3.4-9.7"/>
+    <path d="M305 258.9l-9.6-2.6 9 5 1.8-.5-1.3-2"/>
+    <path d="M300.4 250.7c1.9 3.3 4.6 8.6 6.7 11.6-3.4-.2-8.6 0-11.8.2 2.6-.7 6.4-1.2 8.6-2.2-.6-2.9-2.4-6.7-3.4-9.6"/>
+    <path d="M306.1 259.7l-8.9-5.3 7.8 7.4h2l-.9-2.1"/>
+    <path d="M301.2 251.5c2.1 3.1 5.3 8 7.6 10.9a90 90 0 00-11.6 1.7c2.6-1 6.2-2 8.4-3.3-1-2.8-3.1-6.5-4.4-9.3"/>
+    <path d="M306.8 260.5l-9.6-.3 9.5 2.9 1.7-1.1-1.6-1.5m5.6-46.6l6.9-1.1-6.9.1-1.2.6 1.2.4"/>
+    <path d="M316.2 215.4c-2-.6-5-1.6-7.1-2l7.4-3.5c-1.5 1-3.8 2.2-5 3.2 1.2.8 3.3 1.6 4.7 2.3"/>
+    <path d="M312 214.1l6.8-1.8-7 .9-1 .7 1.3.2"/>
+    <path d="M316.5 215.9c-2.4-.3-6-.7-8.3-.7 1.8-1.6 4.2-4.1 5.7-5.7-1 1.5-2.6 3.4-3.3 4.8 1.6.7 4.1 1.1 5.9 1.6"/>
+    <path d="M309.6 214.6l7-.8-6.8-.2-1.3.6 1 .4"/>
+    <path d="M314.7 216.1l-7.5-1.3 6.9-3.8c-1.4 1-3.4 2.4-4.4 3.4 1.3.6 3.5 1.2 5 1.7"/>
+    <path d="M309 214.6l6.1-2.7-6.7 1.8-.8.8h1.4"/>
+    <path d="M314.5 216.9c-1.7-.7-4.5-2-6.2-2.5l4.4-4.8c-.8 1.3-2 3-2.6 4.4 1.2 1 3 2 4.4 2.9"/>
+    <path d="M309.3 215l4.8-2-5.2.6-.6 1 1 .4m-4 44.6h-9.8l10 2.5 1.6-1-1.8-1.5"/>
+    <path d="M307.1 260.2l-10-2.3 9.6 4.7 2-.6-1.6-1.8"/>
+    <path d="M308.8 260.9l-10-.5 10 3 1.7-1-1.7-1.5"/>
+    <path d="M302.5 253.9c2.5 2.8 6.4 7.4 9.1 9.9-3.3.5-8.3 1.8-11.4 2.7 2.4-1.2 6-2.6 8-4-1.4-2.6-4-6-5.7-8.6"/>
+    <path d="M310.1 261.4l-10-3.3 9.4 5.6 2-.4-1.4-2"/>
+    <path d="M303.4 254.5c2.8 2.6 7 6.7 10 9-3.2.9-8 2.8-11 4 2.3-1.4 5.6-3.2 7.4-5-1.6-2.4-4.5-5.5-6.4-8"/>
+    <path d="M311 262l-9.5 1.9 10 .6 1.4-1.3-2-1.2"/>
+    <path d="M309 261.4l-9.8.8 10.1 1.7 1.6-1.2-2-1.3"/>
+    <path d="M310.8 262l-10.2-1.7 10 4 1.8-.7-1.6-1.7z"/>
+    <path d="M312.5 262.5l-10 .2 10.2 2.3 1.6-1.1-1.8-1.4z"/>
+    <path d="M305.7 256c2.8 2.6 7 6.8 9.9 9.2-3.3.7-8.3 2.4-11.3 3.4 2.4-1.3 5.8-2.9 7.7-4.5-1.6-2.5-4.4-5.7-6.3-8.2z"/>
+    <path d="M313.9 262.9l-10.2-2.6 9.8 5 1.9-.6-1.5-1.8z"/>
+    <path d="M306.6 256.5c3 2.4 7.6 6.2 10.7 8.2-3.2 1.1-7.8 3.5-10.6 4.9 2.2-1.7 5.3-3.7 7-5.5-1.8-2.4-5-5.3-7-7.6z"/>
+    <path d="M314.8 263.4l-9.3 2.6h10l1.3-1.5-2-1z"/>
+  </g>
+  <path fill="#fedf00" stroke="#000" stroke-width=".4" d="M327.6 249.5l-7.6-5.3-7.6 5.3 2.9-8.4-6.7-5.2h8.6l2.8-8.4 2.8 8.4h8.6l-6.7 5.2 2.9 8.4z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/qa.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/qa.svg
new file mode 100644
index 0000000..0f93a9d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/qa.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-qa" viewBox="0 0 640 480">
+  <path fill="#8d1b3d" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0v480h158.4l97.8-26.7-97.8-26.6 97.7-26.7-97.7-26.7 97.7-26.6-97.7-26.7 97.8-26.7-97.8-26.6 97.7-26.7-97.7-26.7 97.7-26.6-97.7-26.7 97.8-26.7-97.8-26.6L256.1 80l-97.7-26.7 97.8-26.6L158.3 0H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/re.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/re.svg
new file mode 100644
index 0000000..827103b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/re.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-re" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ro.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ro.svg
new file mode 100644
index 0000000..d43c1e2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ro.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ro" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#00319c" d="M0 0h213.3v480H0z"/>
+    <path fill="#ffde00" d="M213.3 0h213.4v480H213.3z"/>
+    <path fill="#de2110" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/rs.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/rs.svg
new file mode 100644
index 0000000..6469365
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/rs.svg
@@ -0,0 +1,292 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-rs" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="rs-a">
+      <path fill-rule="evenodd" d="M60 0h1200v900H60z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#rs-a)" transform="translate(-32) scale(.53333)">
+    <path fill="#fff" d="M0 0h1350v900H0z"/>
+    <path fill="#0c4076" d="M0 0h1350v600H0z"/>
+    <path fill="#c6363c" d="M0 0h1350v300H0z"/>
+    <g transform="matrix(1 0 0 1.00437 0 -.3)">
+      <path fill="#21231e" d="M473.4 259.4v-.2h1v.2l-.5.5-.6-.6zm1 0v.5h-.5l.4-.6zm-93 5.2l-1 .2.3-.6 4.2-.2 4-.3 4-.2 3.8-.3 4-.2 3.6-.3 3.7-.2 3.7-.2 3.5-.2h3.4l3.3-.3 3.2-.2 3.2-.2 3-.2h3l3-.2 3-.2 2.7-.2h2.8l2.7-.2 2.5-.2h2.5l2.4-.3h2.2l2.2-.2h2.2l2-.2h2l2-.2h5.3v1h-5.5l-1.8.2h-2l-2 .2h-2.2l-2.2.2-2.4.2h-2.4l-2.5.2-2.5.2H446l-2.8.3h-2.8l-3 .3-2.8.2h-3l-3 .3-3.3.2-3.3.2-3.3.2h-3.5l-3.5.3-3.6.2-3.5.3-3.8.2-3.8.2-4 .3-4 .2-4 .3-4.2.2.5-.6zm-1 .2l-.3-.5h.7l-.4.5zm6.4 31l-6.5-31 1-.2 6.5 31-.5.7-.5-.4zm.5.5h-.4l-.2-.4.5.3zm95-4l-.2 1h.2-5.8l-3 .2h-3l-2.8.2h-3l-3 .2h-6l-3 .2h-3l-3 .2h-3l-3 .2h-3.2l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-3 .2h-3l-2.8.2h-5.8l-2.7.2h-2.7v-1h5.8l2.7-.2h5.8l3-.2h3l2.8-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3.2l3-.2h3l3-.2h3l3-.2h3l3-.2h3l3-.2h3l2.8-.2h3l2.8-.2h.2zm-.2 0h.2zm94.5 3.4l1 .2-.5.3h-2.8l-2.8-.2h-8.8l-2.8-.2h-3l-3-.2H551l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3.2-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2h-3l-3-.2H485l-3-.2.2-1h2.8l3 .2h3l2.8.2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h3.2l3 .2h3l3 .2h3l3 .2h3l3 .2h3l3 .2h5.8l2.7.2h3l2.7.2h2.8l-.5.5zm1 .2v.3h-.5l.5-.4zm6.5-31.2l-6.5 31h-1l6.5-31.2.6-.4.4.6zm-.4-.6h.5v.6l-.4-.6zm-93.7-4.8h1l-.6-.5h5.4l2 .2h2l2 .2h2l2.4.2h2.4l2.4.3h5l2.6.3h2.7l3 .3 2.8.2h3l3 .3 3 .3 3.3.2 3.3.2 3.4.2h3.4l3.6.3 3.6.2 3.7.2 3.6.3 4 .2 3.8.3 4 .2 4 .3 4.2.2v1l-4.3-.2-4-.3-4-.2-4-.3-3.7-.2-3.8-.2-3.6-.3-3.6-.2-3.5-.2h-3.4l-3.3-.3-3.3-.2-3.2-.2-3-.2h-3l-3-.2-3-.2h-2.7l-2.6-.3h-2.6l-2.6-.3h-2.5l-2.4-.2-2.3-.2h-2.2l-2.2-.2h-2l-2-.2h-2l-1.8-.2h-3.3l-.5-.6zm.4.5h-.5v-.6l.4.5zm.5-.8v.2h-1v-.2l.3-.5.6.5zm-1 0v-.4h.3l-.4.4zm-8 .3l.2-1h8.8l.3.2v.8h-.5v.2h-.3l-.2-1h.2v.7h.2-8.2zm.2 0zm-8.3.2v-1l-.2 1h-.4l-.2-.2-.3-.3v-.5l.2-.2h9.4v1h-8.8l.2-.2v-.8h-.2.4v1zm0-1v1l-.6-.5.5-.5zm-.6.5v-.5h.5l-.6.5z"/>
+      <path fill="#edb92e" d="M583.5 264.2c3.2-6.6 6.7-13 11.2-18.7-11.7 8.8-18 7.5-18.7-4-.7-.2-1.7-.2-2.6-.2-9 14-17.7 12-26.2-5.8-11.5 18.4-21.4 18-29.2-1-13.3 16.6-24.5 16.7-33.6.2v-2c.5.2 0 .3-1 0l-.3-.3a69.3 69.3 0 01-1 .2c-.2 0-.5 0-.8-.2l-.2.4c-1.2.2-1.6 0-1 0v2c-9.2 16.4-20.4 16.3-33.7-.4-7.8 19-17.7 19.5-29.2 1-8.4 18-17 20-26 6-1 0-2 0-2.7.2-.8 11.4-7 12.7-18.8 4 4.6 5.5 8 12 11.3 18.6 34-1.4 67.6-3.2 101.3-5 34 1.8 67.6 3.6 101.5 5z"/>
+      <path fill="#21231e" d="M595 246l-.6-1 .7 1-.3.4-.4.5-.4.4-.5.6-.4.5-.3.6-.4.6-.4.6-.5.5-.3.6-.4.6-.4.4-.3.6-.3.6-.3.6-.4.6-.3.5-.3.6-.4.5-.3.6-.3.7-.4.6-.3.6-.3.5-.3.6-.2.8-.3.6-.4.6-.2.6-.3.6-.3.6-.3.6-1-.4.3-.6.3-.7.3-.6.2-.5.4-.6.3-.7.2-.6.3-.6.3-.6.4-.6.3-.6.3-.6.3-.6.5-.6.3-.6.4-.6.3-.6.4-.5.2-.5.4-.6.4-.7.3-.6.4-.5.4-.6.5-.6.4-.5.3-.6.4-.6.4-.6.5-.5.4-.6.4-.5.7.7zm-19.2-4l.3-1 .5.5v1l.2 1v1l.3.7.2.8.3.7.3.7.2.6.4.5.3.5.4.4.5.3.4.3.4.3.5.2h.4l.5.2h1.9l.7-.2.7-.2.8-.3.8-.3.8-.3 1-.5.8-.6 1-.5 1-.7 1-.7 1-.7 1-1 .7 1-1 .7-1 .8-1 .7-1 .6-1 .5-1 .5-1 .5-.8.4-1 .3-.7.3-.8.2h-.8l-.8.2h-2l-.7-.3-.5-.2-.6-.3-.5-.5-.6-.4-.5-.4-.5-.5-.3-.5-.4-.7-.3-.7-.2-.7-.3-.8-.2-1v-.8l-.2-1v-1l.2.3zm.3-1l.4.2v.3l-.3-.4zm-2.2.6l-.8-.6.4-.2h2v.2h.4l-.2 1h-1.2v-.2h-1.2l.4-.2zm-.8-.6v-.2h.4l-.4.2zm-25.3-5.2l-1-.6h1l.8 1.7.8 1.4.8 1.5.8 1.2.8 1.2.8 1.2.8 1 .8 1 .8.8.8.8.8.7.7.5 1 .4.7.3.8.3.7.3h2.3l.8-.2.8-.2.8-.3.8-.4.8-.6.8-.6.8-.7.8-.6 1-1 .7-1 .8-1 .8-1 1-1.4.8.6-.8 1.3-1 1-.7 1.2-1 1-.7 1-1 .7-.8.6-.8.6-1 .6-.7.4-1 .4-.8.2-1 .2h-3l-1-.4-.7-.3-1-.5-.7-.5-1-.6-.7-.7-1-.8-.8-1-.8-1-.8-1-.8-1.2-.8-1.3-.8-1.3-.8-1.5-.8-1.6-.8-1.7h1zm-1-.6l.6-.7.4.8h-1zm-28.3-.5l-.8-.6 1 .2.6 1.7.7 1.5.7 1.5.8 1.4.7 1.3.8 1.2.8 1 .8 1 .8.7.8.7.8.6 1 .5.7.4.8.2 1 .2h2.5l1-.3.8-.2 1-.4.8-.6 1-.7 1-.6 1-1 1-1 1-1 1-1.2 1-1.3 1-1.6 1-1.5 1.2-1.8 1 .6-1.2 1.7-1 1.5-1.2 1.5-1 1.3-1 1.3-1 1.2-1.2 1-1 1-1 .8-1 .7-1 .6-1 .4-1 .4-1 .4h-3l-1-.2-1-.3-.8-.6-1-.5-.8-.8-1-.8-.7-.8-1-1-.8-1-.8-1.3-.8-1.4-.8-1.5-.8-1.5-.7-1.7-.8-1.7h1zm-.8-.6l.5-.6.5.8h-1zm-33.8.7h1v-.2l.8 1.5 1 1.4.8 1.2 1 1.2.8 1 1 1 .8 1 1 .8.8.7 1 .6 1 .4 1 .4.8.3 1 .3 1 .2h2l1-.2 1-.3 1-.3 1.2-.4 1-.6 1.2-.6 1-.6 1.3-.8 1-1 1.3-1 1.2-1 1-1.3 1.4-1.3 1.2-1.4 1.2-1.5.8.7-1.3 1.5-1 1.5-1.3 1.3-1.2 1.3-1.2 1-1.2 1-1 1-1.3 1-1.2.7-1 .6-1.3.6-1 .5-1.3.3-1.2.3h-1l-1.2.2h-1l-1.2-.2-1-.2-1-.3-1-.4-1-.5-1-.7-1-.6-1-1-1-.8-1-1-1-1.2-.8-1.2-1-1.3-.8-1.5-1-1.5v-.3zm0 .3v-.3.3zm1-2.3v2h-1v-2l.8-.5.3.5zm-1 0v-.8l.8.2-.8.5zm-1 .3l1-.4-.4-.3h1l-.2.2v.4l.4-1h.2v.2l.2.2v.6h-1.8l-.5-.3zm.5.3h-.3v-.3l.3.3zm.3-1l.2.3-1 .4v-.4l.2-.7.6.2zm-.6-.4l.4-.2.2.4-.6-.3zm-1 1l.2-1h.8l.2 1h-1zm.2 0zm-.6-.4l-1-.4.7-.3h.8v1h-1l.4-.4zm-1-.4l.3-.4h.3l-.6.4zm0 .4v-.4l1 .4-.2.4-.4.3-.5-.7zm.8.4v.3h-.4l.4-.3zm-1-.3h-1l.7.4v.2h.2v-.8h-.2.2l.2-.2h.4l.2 1h-1.9v-.2h-.2v-.5h.2v-.2h.2l.8.4zm-.7-.5l.7-.3v.7l-.7-.5zm-.3 2.5v-2h1v2.3l-1-.3zm1 0v.2-.3zm-33.6 0l-1-.5h1l1 1.4 1.3 1.4 1.3 1.3 1.2 1.2 1.2 1 1.2 1.2 1 1 1.2.7 1 .7 1.2.7 1 .6 1.2.4 1 .3 1 .3h1l1 .2h1l1-.2 1-.2 1-.2 1-.4 1-.5 1-.7.8-.7 1-.8.8-1 1-1 .8-1 1-1.2.8-1.2.8-1.4 1-1.5.8.5-1 1.5-.8 1.4-1 1.2-.8 1.2-1 1.2-1 1-.8 1-1 .8-1 .7-1 .8-1 .5-1 .4-1 .4-1 .3-1.2.2h-2.2l-1-.2-1.3-.3-1-.3-1.2-.5-1-.6-1.2-.6-1.2-.8-1.2-.8-1.2-1-1.2-1-1.2-1-1.2-1.4-1.2-1.3-1.3-1.5-1-1.5h.8zm-1-.5l.3-.8.7.7-1 .2zm-28.3 1.5l-1-.4h1l1 1.6 1 1.4 1.2 1.5 1 1.2 1 1.2 1 1 1 1 1 1 1 .7 1 .8 1 .6.8.4 1 .3.8.4h2.8l.8-.2.8-.3.8-.5 1-.5.7-.6 1-.7.7-.8.8-1 .8-1 .8-1.3.8-1.3.8-1.4.8-1.5.7-1.6.8-1.8 1 .4-.8 1.7-.7 1.7-.8 1.5-.8 1.4-.8 1.3-1 1.2-.7 1-1 1-.7 1-1 .7-.8.7-1 .4-.8.5-1 .2-1 .2h-3l-1-.3-1-.3-1-.4-1-.6-1-.7-1-.8-1-1-1-1-1-1-1-1.4-1-1.3-1.2-1.5-1-1.5-1.2-1.7h1zm-1-.4l.5-.8.5.7h-1zm-25.6 6.5v-1l.3.2 1 1.3.7 1.2.8 1 .8 1 .8.8 1 .8.7.8 1 .6.7.5.7.3.8.3.8.2.8.2h2.3l.8-.4.8-.3.8-.4.7-.5 1-.6.7-.8.8-.8.8-.8.8-1 1-1 .7-1.2.7-1.2.8-1.3.8-1.6.8-1.5.8-1.7 1 .4-1 1.7-.7 1.5-1 1.4-.7 1.3-.8 1.3-.8 1.2-.8 1-1 1-.8 1-.8.8-.8.7-1 .6-.7.5-1 .5-1 .3-.7.3h-2.6l-1-.2-.8-.2-1-.4-.8-.4-1-.6-.8-.6-.8-.7-1-1-.7-.8-1-1-.8-1-1-1.3-.7-1.4.4.2zm0-1h.2v.2l-.3-.2zm-2.2.8h-1l.4-.5h1.2v-.2h1.5v1H389v.2h-.4l.2-.4zm-1 0v-.4h.4l-.4.3zm-18 3.6l-.6.7.6-1 1 1 1.2.6 1 .7 1 .6 1 .4.8.5 1 .4.7.3.8.3.8.3.8.2h.7l.7.2h1.7l.4-.2.5-.2.4-.3.4-.3.4-.3.4-.4.3-.5.2-.5.3-.6.3-.7.3-.7.3-.8v-.8l.3-1v-.8l.2-1h1v1l-.2 1-.2 1-.2 1-.2.7-.2.8-.3.8-.4.7-.2.6-.5.6-.4.5-.6.5-.5.4-.7.2-.6.2-.6.2h-3.3l-.8-.3-.8-.3-1-.3-.8-.4-1-.5-.8-.5-1-.5-1-.6-1-.7-1-.8-1.2-.8.7-.8zm11 18.5v1l-.4-.3-.3-.6-.2-.6-.3-.6-.3-.6-.4-.6-.3-.6-.3-.7-.3-.5-.4-.6-.4-.7-.3-.6-.4-.6-.3-.5-.4-.6-.4-.7-.4-.5-.3-.6-.4-.6-.4-.6-.4-.6-.3-.5-.4-.7-.3-.6-.3-.5-.4-.6-.4-.5-.4-.5-.4-.5-.4-.6-.4-.5-.4-.6-.4-.5.7-.8.4.5.4.6.4.5.4.6.4.5.4.5.4.5.4.6.4.6.4.5.3.6.4.6.4.5.4.6.4.6.3.6.5.6.3.6.3.6.5.6.3.6.3.6.5.6.3.7.3.7.4.6.3.6.4.5.4.6.3.7.3.7.3.6-.5-.3zm0 1h-.3v-.3l.4.3zm101.4-6v1l-3.2.2h-3.2l-3 .3h-3.3l-3 .3-3.3.2H460l-3 .3-3.3.3h-3.2l-3 .3H444l-3 .3h-3.3l-3.3.2-3 .2h-3.3l-3.2.3h-3l-3.3.3-3.3.2h-3l-3.3.3h-3.2l-3 .2-3.3.2h-3.3l-3.2.2h-3l-3.3.3H384l-3 .2-.2-1h3.2l3.2-.3h3l3.3-.2 3.2-.2h3l3.3-.3h3.2l3-.3h3.3l3.2-.3h3l3.3-.2h3.2l3-.3h3.3l3.2-.3 3-.2h3.3l3.2-.3h3l3.3-.3 3.2-.2h3l3.3-.3 3-.3h3.3l3.2-.3 3-.2h3.3l3.2-.3 3-.3h.2zm0 0zm101.2 5v1h-3l-3.3-.2-3-.2h-3.3l-3-.3h-3.3l-3.2-.3h-3l-3.3-.2-3.3-.2h-3l-3.3-.3-3.2-.2h-3l-3.3-.3h-3.3l-3-.3h-3.3l-3.2-.3-3-.3h-3.3l-3.3-.3h-3l-3.3-.3h-3l-3.3-.2-3-.2-3.2-.2h-3.2l-3.2-.3h-3l-3.3-.2.2-1h3l3.3.3 3.2.2 3 .2 3.3.2h3l3.3.3h3.2l3 .2 3.3.2 3.2.2h3l3.3.3h3l3.3.2 3.2.2h3l3.3.3h3.3l3 .3h3.3l3.2.3h3l3.3.3h3.3l3 .3h3.3l3.2.2h3.2l3 .2 3.3.2h3.2zm0 1zm0 0v-1l.5.7-.6.3zm.5-.3l-.2.3h-.4l.5-.3z"/>
+      <path fill="#edb92e" d="M459.4 276.2l22.7-11.5 23 11.5-23 11.4z"/>
+      <path fill="#edb92e" d="M474 259.2v.2c-17.6.7-48.6 2.5-93.2 5.3l6.5 31c29.6-.8 64.3-2 94.8-3 30.7 1 65.3 2.2 95 3l6.5-31c-44.6-2.8-75.6-4.6-93-5.3v-.2c1.7-.4-1-.4-8.4-.2-7-.2-10-.2-8 .2z"/>
+      <path fill="#edb92e" d="M597.3 236.7l-3.7-.6c-7 17.5-13.4 18-14.6 1.4 1.6-.6 1-3.3 2.8-2.2 1 .5 2-1 1.3-2-2-1.5-3.6-1.3-5.4.4-.8-2.7-3-4-5.4-2.8-1 .5-.7 2.5.4 2.4 1.8-.2 1 1.6 1.6 3-12.5 16.4-19 14.4-17.4-7.3-3-.7-6.5-1.3-9.6-2.4-11.5 23.3-19.7 24.3-26.4 3.4 1.4-1 1-3.8 3-3 1.3.6 2.3-1.5 1.2-2.4-2.4-2-5-1.3-6.8 1.3-1.4-3-4-4-6.6-2.2-1.2.7-.5 3 .8 2.6 2.3-.7 1.3 2.4 3 3.5-5 19.6-30.8 21-26.6-8.2-2.4 0-4.5 0-6.6.2l-6.7-.2c4.2 29-21.5 27.8-26.6 8 1.6-1 .6-4 3-3.4 1.2.3 2-2 .7-2.7-2.6-1.7-5.2-.7-6.6 2.2-1.7-2.7-4.3-3.4-6.7-1.4-1 1 0 3 1 2.5 2.2-.8 1.8 2 3.2 3-6.7 21-15 20-26.4-3.4-3 1-6.5 1.7-9.5 2.3 1.6 21.6-5 23.6-17.4 7 .6-1.2 0-3 1.7-2.8 1 0 1.5-2 .4-2.4-2.4-1-4.5 0-5.3 2.8-1.7-1.7-3.5-2-5.5-.4-.8 1 .4 2.5 1.3 2 1.8-1 1.2 1.6 2.8 2.2-1.2 16.5-7.6 16-14.6-1.3l-3.7.7c0 4 1.3 8.5 3.8 11.7 10.6 13.5 18.5 10.4 18.8-4.7 14 16.4 24.4 14.3 26.2-3 11.7 21.8 30.5 11.4 31-2 5 19.4 33.5 19.2 35.4-3 1.8 22.2 30.3 22.4 35.4 3 .4 13.4 19.2 23.8 31 2 1.7 17.3 12.3 19.4 26 3 .4 15 8.3 18.2 19 4.7 2.4-3.2 3.8-7.6 3.7-11.7z"/>
+      <path fill="#21231e" d="M593.7 235.6l3.7.6-.2 1-3.6-.6-.4-.7.5-.4zm-.5.3v-.4h.5l-.5.3zm-14.3 1l.2 1 .3-.6.2 1.4v1.4l.3 1.3.2 1.2.2 1 .3 1 .3 1 .3.7.3.7.3.6.3.5.3.5.4.2.3.2h1.3l.4-.3.4-.2.5-.4.4-.3.6-.6.5-.6.6-.7.7-1 .6-.8.7-1.2.6-1.2.6-1.3.7-1.3.5-1.5.7-1.6 1 .3-.8 1.6-.6 1.4-.7 1.4-.5 1.3-.7 1.3-.6 1-.6 1-.7 1-.7.8-.6.8-.6.6-.5.5-.6.3-.7.4-.5.2h-1.2l-.6-.2-.5-.2-.5-.4-.5-.4-.4-.6-.3-.6-.3-.8-.4-.8-.3-1-.2-1-.3-1-.2-1.3-.2-1.3-.2-1.5v-1.6l.3-.5zm-.5.4v-.4h.4l-.5.4zm3.5-2.7l-.5 1v-.2h-.4v.2h-.2v.2l-.2.2v.3l-.2.3-.2.3v.2h-.2v.3h-.3v.2h-.3l-.2.2-.3-1v-.2h.2v-.2h.2v-.2l.2-.2v-.5h.2v-.4l.2-.2v-.3l.2-.2.2-.2h.2l.2-.2h1l.2.2zm-.5 1zm1.3-2l.6-1v.2h.2l.2.3v1.6h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.5v.2h-.8l-.3-.2.5-1v.2h.4v-.2h.2v-.2h.2v-.8zm.6-1v.2-.2zm-6.3 1l1-.3-.8-.2h.2l.2-.3.2-.2.2-.2.3-.2h.2l.2-.2h.2v-.2h.4l.2-.2h2.3l.2.2h.2l.2.2h.2l.2.2h.2l.2.2.2.2-.6.8-.3-.2h-.2l-.2-.2-.2-.2h-.3l-.2-.2h-2.1v.2h-.3v.2h-.2l-.3.2v.2h-.3v.2l-.3.2-1-.3zm1 .3l-.7.5-.2-.8 1 .3zm-5.6-2.7l-.4-1h.5l.3-.2h2.1l.4.2h.4l.2.3h.2v.2l.3.2h.2l.2.2v.2l.2.2v.2l.2.2.2.2v.2l.2.3v.2l.2.2v.2l-1 .3v-.5h-.2v-.3l-.2-.2v-.2h-.3v-.3h-.2v-.4h-.3v-.2h-.3v-.2h-.6v-.2h-2l-.2.2h-.2zm0 1.4l.2 1h-.6v-.2h-.2l-.2-.2-.2-.2-.2-.2V231l.2-.2.2-.2.3-.2.4 1h-.2v1.2h.2zm2.2 3.7l-.8-.6v.5-.2h-.2v-1h-.2v-1l-.2-.2h-.7v-1.2h.6l.3.2.2.2h.2v.2l.2.3v.4h.2v1.5h.2v.8zm0-.5h.2l-.2.4v-.5zm-18-6.6l.3-1 .3.6v2l-.2 1.8v4.9l.3 1.4v1.3l.3 1 .2 1 .3 1 .4.8.3.8.4.5.5.5.4.3.4.3.5.2h1l.6-.2.7-.3.7-.4.8-.5 1-.4.7-.8 1-.8 1-1 1-1 1-1 1-1.4 1-1.4 1.3-1.4.8.6-1.2 1.5-1 1.3-1.2 1.3-1 1-1 1.2-1 1-1 .8-1 .8-.8.6-1 .5-.7.4-.8.3h-.8l-.8.2h-.7l-.7-.2-.6-.3-.6-.5-.5-.5-.4-.7-.5-.7-.4-1-.2-1-.2-1-.2-1.2-.2-1.3V229l.5.6zm.3-1h.3v.6l-.4-.6zm-9.3-1.6l-1-.4.7-.3.3.2h.3l.3.2h.3l.2.2h.3l.4.2h.6l.3.2h.3l.4.2h.6l.3.2h.5l.3.2h.7l.3.2h.6l.3.2h.5l.3.2h.8l.3.2h.3l-.3 1h-.8l-.2-.2h-.6l-.3-.2h-.8l-.3-.2h-.6l-.4-.2h-.7l-.4-.2h-.3l-.3-.2h-.6l-.3-.2h-.2l-.3-.2h-.6l-.4-.2h-.3l-.4-.2h-.4l-.3-.2h-.2l.7-.4zm-1-.4l.3-.4h.4l-.6.4zm-26.2 3.2l.6.8.3-.6.6 2 .5 1.7.7 1.6.6 1.6.7 1.4.7 1.2.6 1 .7 1 .7 1 .7.6.6.6.7.4.7.4.7.2h1.4l1-.2.6-.2.8-.4 1-.6.7-.6 1-.8 1-1 .8-1 1-1.2 1-1.3.8-1.4 1-1.6 1-1.7 1-1.8 1-2 1.2-2 1 .3-1.2 2.2-1 2-1 1.8-1 1.8-1 1.6-1 1.5-1 1.3-1 1.2-1 1-1 1-1 1-.8.7-1 .5-.8.4-1 .2-.8.2h-1.8l-.8-.3-.8-.3-.8-.5-.8-.6-.7-.8-.8-1-.7-1-.7-1-.7-1.4-.7-1.4-.7-1.5-.7-1.7-.6-1.7-.7-1.8.2-.6zm-.2.6v-.4l.2-.2-.2.5zm3.8-3.6l-.3 1h-.3l-.2-.2h-.2v.2h-.2v.2h-.2v.5h-.2v.4l-.2.3-.2.2v.2l-.2.3-.3.3-.2.3h-.2l-.5-.7.2-.2.2-.2v-.5h.2v-.4h.2v-.3l.2-.3v-.2l.2-.2.2-.3.2-.2h.2v-.2h.5v-.2h.7l.2.2zm.7-1.6l.6-.8.2.2.2.2v.2l.2.3v1.3l-.2.3v.2l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2h-1.1l.4-1h.7v-.2h.2v-.6h.2v-.7h-.2v-.2zm-7 1l1-.3h-1l.2-.3v-.3h.3l.2-.3.2-.3.2-.2.3-.3.3-.3h.2l.2-.3h.3l.2-.2h.5l.2-.2h2.2l.3.2h.2l.3.2h.3l.3.3h.2l.3.3.3.2-.6.8-.2-.2h-.2l-.2-.3-.4-.2h-.2l-.2-.2H521v.2h-.5l-.2.3h-.2v.2h-.2l-.2.3-.2.2-.3.3v.2l-.2.3-.2.2h-1zm1 .2l-.6.7-.3-1 1 .2zm-7-2l-.4-1h.3l.2-.2h.3l.4-.2h.2l.3-.2h.4l.3-.2h1.6l.2.2h.2l.3.2h.2l.2.3.3.2.2.2v.2l.3.2.2.2.2.2v.2l.3.2.2.3.3.4v.3l-.8.4-.2-.4-.2-.2v-.2l-.3-.2v-.2l-.3-.2-.3-.3h-.2v-.2h-.3l-.3-.2h-.2l-.3-.2h-.4l-.2-.2h-1.2l-.2.2h-.5l-.2.2h-.2l-.2.2-.2.2zm.5 1.7l.3 1h-.5l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2v-.2l-.2-.2V224l.2-.2.2-.3.3-.2.5 1h-.2v1.2h.2v.2h.4zm3.7 4l-1-.2.2.5h-.2l-.2-.2h-.2v-.3h-.2l-.2-.3v-.4l-.2-.2v-.3l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2h-.6l-.4-1h1.1l.3.2h.2v.4h.2v.3l.2.2v.2h.2v.5l.2.3v.5h.2v.4h.2l.2.2.2.2.3.6zm-.3-.5l.3.2v.3l-.3-.5zm-27-7.2v-1l.6.5-.3 2.7-.2 2.4v2.2l.2 2 .3 2 .4 1.7.5 1.5.7 1.4.6 1 .8 1.2 1 1 1 .7 1 .6 1 .5 1 .4 1.3.3h2.4l1.3-.2 1.2-.3 1.2-.5 1.2-.5 1-.7 1.2-1 1-.8 1-1 1-1.3 1-1.3.8-1.3.8-1.5.6-1.7.5-1.7 1 .2-.6 2-.7 1.6-.8 1.6-1 1.5-1 1.4-1 1.3-1 1-1.2 1-1.2 1-1.2.8-1.3.7-1.2.5-1.3.3-1.4.2h-2.5l-1.2-.3-1.3-.4-1.2-.5-1-.7-1-1-1-1-1-1-.8-1.5-.7-1.5-.6-1.6-.4-1.8-.3-2-.2-2.2V227l.2-2.6.3-2.7.5.6zm0-1h.7v.5l-.6-.5zm-6.6 1.2l.2-1h4l.2-.2h2.1v1h-4.1l-.2.2h-2zm.2 0zm-6.2-.8h-1l.5-.4h5.1l.2.2h1.2v1h-4l-.3-.2h-2l.5-.6zm-1 0v-.5h.5l-.5.6zm-26.4 7.8l.5.8.3-.5.6 1.7.5 1.7.7 1.5 1 1.4.8 1.4 1 1.2 1 1 1 1 1.2 1 1.2.6 1.2.5 1.2.5 1.2.3 1.2.2h2.4l1.2-.3 1-.3 1.2-.4 1-.7 1-1 .8-.8 1-1 .6-1.3.6-1.5.6-1.6.4-1.8.3-2v-2l.2-2.3-.2-2.5-.3-2.7h1l.3 2.6.2 2.5v2.2l-.2 2.2-.3 2-.5 1.8-.5 1.6-.7 1.5-.8 1.4-1 1.2-1 1-1 .8-1 .7-1.2.5-1.3.4-1.3.3H463l-1.2-.2-1.3-.3-1.3-.5-1.3-.6-1.3-.7-1.2-1-1.2-1-1-1-1-1.2-1-1.3-1-1.5-.7-1.6-.7-1.7-.6-2 .2-.5zm-.2.5v-.3l.2-.2-.2.5zm3.7-4l-.2 1-.2-.2h-.7v.2l-.2.2v.4l-.2.2v.5l-.2.2v.2l-.2.3v.2l-.2.2v.2h-.2v.3h-.3l-.2.2h-.2l-.4-.7.2-.2.2-.2h.2v-.3l.2-.2v-.5l.2-.2v-.5l.2-.3v-.3l.2-.2.3-.3.2-.2h.2l.2-.2h1.1zm.4-1.8l.6-1v.2h.3v.3h.2v.2l.2.2v1.5l-.2.2v.2l-.2.2-.3.2-.2.2h-.9l.3-1h.4v-.4l.2-.2v-.8h-.2v-.2h-.2zm-6.7 2l.8-.6h-.8v-.2l.2-.3.3-.4v-.2l.3-.2.2-.2.2-.2.2-.2.2-.2.2-.2h.2l.3-.3.3-.2h.2l.3-.2h.5l.2-.2h1.6l.4.2h.2l.3.2h.2l.3.2.2.2h.3l-.6 1-.2-.2h-.2l-.2-.2h-.3l-.2-.2h-.5l-.2-.2h-1.3l-.2.2h-.3v.2h-.3l-.2.3-.2.2-.3.3-.3.3-.2.2v.2l-.2.2-.2.2v.3h-.2l-1 .2zm1 0l-.5.7-.5-.8h1zm-7-1.2l-.8-.8.2-.2.2-.2h.3l.2-.3h.2l.2-.2h.3l.3-.2h2.5l.3.2h.2l.3.2.2.2h.2l.2.3h.2l.2.2.2.2.2.3.2.2h.2v.4l.3.2-.8.6-.2-.2v-.3l-.3-.2-.2-.2-.3-.3-.2-.2h-.2l-.2-.2v-.2h-.2l-.2-.2h-.4l-.2-.2H441l-.2.2h-.2l-.2.2h-.2l-.2.3h-.2l-.2.3zm.5 1.6l.4 1h-1.3l-.2-.2-.3-.2h-.2v-.2l-.2-.3v-.2l-.2-.2v-1.6l.2-.2.2-.2v-.2l.8.8-.2.2v1l.2.2.2.2h.4zm3.8 3.6l-1-.4.2.6h-.2v-.3h-.3v-.2h-.2v-.3h-.2v-.5h-.2v-.6h-.2v-.5l-.2-.2-.2-.2h-.2v-.2h-.5v.2l-.5-1h.4l.2-.2h.6l.2.2.3.2h.2v.2l.2.2.2.3v.2l.2.2v.2l.2.3v.2l.2.2.2.2.2.2.2.2.2.6zm-.2-.6l.3.2v.4l-.2-.6zm-26.6-2.5l-.3-1 .5.4 1 2 1 2 1.2 2 1 1.6 1 1.6 1 1.5 1 1.4.8 1.2 1 1 .8 1 1 .8.7.6 1 .6.6.4.8.2.8.2h1.3l.7-.2.7-.4.7-.4.7-.6.7-.7.8-.7.6-1 .7-1 .8-1.3.6-1.4.7-1.5.7-1.5.7-1.8.6-2 1 .5-.7 2-.6 1.6-.7 1.7-.6 1.5-.7 1.4-.7 1.3-.7 1.2-.7 1-.8.8-.7.8-.7.6-.8.5-1 .4-.7.4H432l-1-.2-.7-.3-1-.5-1-.6-.8-.8-1-1-.8-1-1-1-1-1.2-1-1.3-1-1.5-1-1.6-1-1.8-1-1.8-1-2-1-2.2.5.3zm-.3-1h.3l.2.4-.6-.3zm-9 3h-1l.4-.6h.7l.3-.2h.6l.4-.2h.9l.3-.2h.5l.3-.2h.6l.4-.2h.3l.3-.2h.6l.3-.2h.5l.3-.2h.3l.4-.2h.3l.3-.2h.3l.3-.2h.3l.2 1h-.7l-.3.2h-.3l-.3.2h-.3l-.3.2h-.5l-.3.2h-.3l-.4.2h-.6l-.4.2h-.6l-.3.2h-.6l-.2.2h-.6l-.3.2h-.7l-.3.2h-.8v.2h-.4l.4-.5zm-1 0v-.5h.4l-.4.5zm-17.4 7l1 .3v-.5l1 1.4 1 1.4 1.2 1.3 1 1 1 1 1 1 1 .8.8.8 1 .6.6.4.8.4.7.3h.6l.6.2h.4l.5-.2.3-.2.5-.2.4-.5.3-.5.4-.7.2-.7.3-1 .2-1 .2-1v-2.7l.2-1.5v-5l-.2-1.8h1v2l.2 1.8v4.9l-.2 1.4v1.4l-.3 1.2-.3 1-.3 1-.2 1-.4.7-.4.7-.6.5-.5.5-.7.3-.7.2H402l-.6-.2-.8-.4-1-.5-.7-.5-1-.6-1-.8-1-.8-1-1-1-1-1-1.2-1-1.3-1.2-1.4-1-1.6-.2-.5zm0 .4v-.3.4zm2-3.7v1h-.6v.8l-.2.3v1h-.2v.3l-1-.4v-.4l.2-.2v-.9h.2v-.5l.2-.2v-.2h.4v-.2h1zm.3-1.4l.3-1 .2.2h.2v.2h.2v.7h.2v1.2l-.2.2v.3l-.2.2-.2.2h-.2l-.2.2h-.5v-1h.4v-.2h.2v-.8l-.2-.2zm-5.7 2.7l.7-.8-.8.2v-.2l.2-.3v-.3l.2-.3v-.2l.2-.2.2-.2v-.2l.3-.2v-.2l.3-.2h.2v-.3h.3l.3-.2.2-.2h.4v-.2h2.5l.3.2h.2l.3.2-.4 1-.3-.2h-.5l-.2-.2h-1.3l-.3.2h-.2v.2h-.2l-.2.2v.2h-.2l-.2.2v.2h-.2v.3l-.2.2v.2h-.2v.5l-.2.2-1 .3zm1-.3l-.4.8-.7-.5 1-.3zm-5.8-.2l-.7-.6v-.2l.3-.2h.3l.2-.2h.2l.2-.2.3-.2h.2l.2-.2h2.1l.2.2h.2l.2.2h.2l.2.2.3.2.2.2h.2l.2.3v.2l-.7.8v-.2h-.3v-.2l-.3-.2-.3-.2h-.3v-.2h-.2l-.2-.2h-2v.2h-.3l-.2.2-.2.2h-.2l-.2.2zm-.7-.6v-.2zm1.4 1.7l.6 1h-1.3l-.3-.2-.2-.2v-.2h-.2l-.2-.2v-.3l-.2-.2v-.8l.2-.3h.2l.7.5v.8h.2v.2h.2v.2h.2zm3.6 2.7h-1l.3.5v-.2h-.3v-.2h-.3v-.3h-.2v-.2h-.2v-.2l-.2-.2v-.3h-.2v-.2l-.2-.3v-.2h-.7l-.6-.8h.2l.2-.2h1.1l.3.2.2.2v.2h.2v.4l.2.2v.5h.2v.2l.2.2.2.2h.2l.4.6zm-.4-.5h.4v.4l-.4-.5zm-14.7-.4v-1l.4.3.8 1.5.6 1.5.7 1.3.7 1.3.6 1.2.6 1 .6 1 .6 1 .5.6.6.7.5.7.6.4.5.5.3.2.5.2h1.1l.3-.3.3-.2.4-.4.3-.4.4-.5.3-.6.3-.8.3-.8.2-1 .3-1 .3-1.3.2-1.3v-1.4l.2-1.4h1v1.5l-.2 1.4-.2 1.3-.2 1.2-.2 1-.2 1-.3 1-.4.8-.4.8-.4.6-.4.6-.5.4-.5.4-.5.2-.6.2h-1.1l-.6-.3-.7-.4-.6-.4-.5-.6-.6-.6-.7-.7-.7-.7-.6-1-.6-1-.6-1-.6-1.2-.6-1.2-.7-1.4-.7-1.5-.6-1.7.5.3zm0-1h.3v.3l-.4-.4zm-3.8.6l3.6-.6v1l-3.6.6-.5-.5.4-.5zm-.5.5v-.4h.4l-.5.4zm4.7 11.4l-.8.7-.3-.3v-.3l-.3-.3-.2-.3-.3-.3-.2-.3-.2-.3v-.4l-.3-.3-.2-.4-.2-.4v-.4l-.2-.4v-.4l-.3-.4v-.4l-.2-.3v-.4l-.2-.4v-.9l-.2-.3v-.8l-.2-.5V238l-.2-.5v-.7h1v1.9l.2.4v1.1l.2.5v.7l.2.3v.4l.2.4.2.3v.4l.2.5.2.3v.4l.2.3.2.4.2.2v.3l.3.4.2.2v.3l.3.3.2.4.2.3.2.3.2.3zm18.7-4.7l-.8.7 1-.3-.2 1.4v1.4l-.2 1.3-.2 1.2-.2 1-.3 1-.2 1-.3 1-.4.7-.4.8-.4.7-.6.6-.5.5-.5.4-.7.3-.6.3h-.7l-.8.2h-.7l-.8-.2-.8-.2-.8-.2-1-.4-.7-.5-1-.7-1-.6-.8-.8-1-1-1-1-1-1-.8-1-1-1.3.8-.6 1 1.3 1 1 .8 1 1 1 1 .8.7 1 1 .5.7.6.8.5.8.4.7.2h.7l.7.3h1.4l.6-.2.4-.2.6-.2.4-.3.5-.5.4-.5.4-.6.4-.7.3-.8.3-.8.3-1 .4-1 .2-1 .2-1.2v-1.2l.2-1.3v-1.3l1-.4zm-1 .4V242l1 1-1 .4zm27.3-3.2l-1 .4 1-.2-.2 1.6v1.5l-.4 1.3-.4 1.3-.4 1.2-.4 1.2-.5 1-.7 1-.6 1-.6.7-.6.7-.8.6-.7.5-1 .4h-.8l-1 .3h-2.8l-1-.3-1-.4-1.2-.4-1-.6-1.2-.6-1.2-.8-1-.8-1.3-1-1.2-1-1.3-1.2-1.2-1.3-1.3-1.5-1.3-1.5.7-.7 1.2 1.5 1.3 1.4 1.2 1.2 1.2 1.2 1 1 1.3 1 1 .8 1.2.7 1 .7 1 .6 1 .4 1 .3 1 .2h1l.8.2h.8l1-.2.7-.3.7-.4.7-.5.7-.4.6-.6.6-.7.5-.8.5-1 .4-1 .5-1 .2-1.2.4-1.3.3-1.3v-1.5l.3-1.6h1zm-1 0l.2-1.5.8 1.5h-1zm31.8-1.8l-.8.3h1v1l-.3 1.4-.4 1.2-.4 1.2-.5 1-.6 1.3-.6 1-.7 1-.8 1-1 1-1 .7-1 .7-1 .7-1 .6-1.2.5-1.2.4-1.2.3h-3.8l-1.3-.2-1.3-.4-1.4-.4-1.3-.7-1.3-1-1.3-.8-1.3-1.2-1.3-1.2-1-1.5-1.3-1.6-1.2-1.8-1-2 .8-.5 1 2 1.2 1.6 1.2 1.7 1.2 1.4 1 1.3 1.3 1 1.2 1 1.3.7 1.2.6 1.2.5 1.3.5 1.2.2h3.6l1.2-.3 1-.3 1-.3 1.2-.5 1-.6 1-.7.7-.8 1-1 .6-.7.6-1 .6-1 .6-1 .4-1 .4-1.2.3-1V239h1zm35.6-3l-1 .2h1l-.2 2-.4 2-.6 1.6-.6 1.7-.8 1.6-1 1.3-1 1.3-1 1-1.3 1-1.3 1-1.3.8-1.3.6-1.5.6-1.5.3-1.5.2h-1.5l-1.6.2-1.4-.2-1.6-.2-1.5-.3-1.5-.5-1.4-.6-1.4-.7-1.4-1-1.3-1-1.2-1-1-1.2-1-1.4-1-1.4-1-1.6-.6-1.6-.5-1.8 1-.3.5 1.7.6 1.6.8 1.5 1 1.3 1 1.3 1 1.2 1.2 1 1.2 1 1.3.8 1.3.7 1.4.5 1.4.5 1.4.3 1.5.2h4.4l1.5-.3 1.4-.4 1.3-.5 1.3-.5 1.3-.7 1-1 1.2-.8 1-1 1-1.3 1-1.4.6-1.4.7-1.7.5-1.7.4-1.8.2-2h1zm35.5 3l-1 .2h1l-.4 1.8-.7 1.6-1 1.6-1 1.4-1 1.4-1 1.2-1.3 1-1.2 1-1.4 1-1.3.6-1.5.6-1.4.5-1.6.3-1.5.2-1.5.2h-1.6l-1.5-.2-1.4-.3-1.5-.4-1.4-.6-1.4-.6-1.3-.8-1.4-1-1.2-1-1-1-1.2-1.3-1-1.4-.7-1.7-.7-1.7-.5-1.7-.4-2-.4-2 1-.2.3 2 .3 1.8.5 1.7.6 1.6.8 1.3 1 1.4.8 1.2 1 1 1.2 1 1.2.8 1.3.7 1.3.6 1.4.6 1.4.3 1.4.2h4.5l1.4-.2 1.5-.3 1.4-.5 1.3-.5 1.3-.7 1.3-.8 1-1 1.2-1 1-1 1-1.4 1-1.3.7-1.5.6-1.6.5-1.7h1zm31 2h-1l1 .2-1.2 2-1.2 1.7-1.2 1.6-1.2 1.5-1.3 1.2-1.4 1.2-1.3 1-1.3.7-1.3.6-1.3.5-1.4.5-1.3.2H530l-1.3-.3-1.2-.3-1.2-.4-1-.5-1-.6-1-.7-1-.8-1-1-.7-1-.8-1-.6-1-.6-1-.5-1.2-.3-1.2-.3-1.2-.2-1.3v-1l1-.2v1.2l.2 1.2.3 1 .4 1.2.5 1 .6 1 .7 1 .7 1 .7 1 1 .8.8.7 1 .6 1 .6 1 .5 1 .4 1 .4 1.3.2 1.2.2h2.4l1.2-.3 1.2-.4 1.3-.4 1.2-.6 1.3-.7 1.2-1 1.2-1 1.2-1.2 1.2-1.3 1.2-1.6 1-1.6 1.2-2 1 .2zm-1-.2l.8-1.5.2 1.6h-1zm27.2 3.2h-1l1 .3-1.4 1.5-1.3 1.4-1.2 1.2-1.3 1-1.2 1.2-1.2 1-1.2.8-1 .8-1.2.6-1 .6-1.2.4-1 .4-1 .2-1 .2h-2l-1-.3h-.8l-.8-.5-.8-.5-.7-.6-.8-.7-.6-.8-.6-1-.6-1-.5-1-.5-1-.4-1.4-.3-1.3-.3-1.4-.2-1.6-.3-1.6 1-.2.2 1.6.2 1.5.3 1.3.3 1.3.4 1.2.4 1 .5 1 .5 1 .6.8.6.7.6.6.6.5.7.6.6.3.8.2h.8l.8.2h.8l1-.2 1-.2.8-.3 1-.4 1-.6 1.2-.6 1-.6 1.2-.8 1.2-1 1-1 1.4-1.2 1.2-1.2 1.3-1.4 1.3-1.5 1 .4zm-1-.4l1-1v1.4l-1-.4zm19 4.8l.7.7-1 1.2-1 1-1 1-1 1-1 1-.8.7-1 .6-.8.6-.8.4-1 .4-.7.3-1 .3-.7.2h-1.5l-.7-.2-.6-.3-.6-.3-.6-.4-.6-.5-.5-.6-.4-.7-.4-.8-.4-.8-.3-1-.3-1-.3-1-.3-1-.2-1.3V246l-.2-1.3v-1.3h1v2.6l.2 1.3.2 1 .2 1.2v1l.4 1 .4.7.3.8.5.6.4.5.4.5.4.5.5.3.5.3.6.3h.6l.6.2h.6l.7-.2h.6l.7-.4.8-.5 1-.4.7-.5 1-.6.7-1 1-.7.8-1 1-1 1-1 1-1.2zm4-10.7v-1l.6.4v2.9l-.2.4v.7l-.2.4v.5l-.2.4v.3l-.2.4v.3l-.3.4v.4l-.2.4-.2.4v.3l-.3.3-.2.4-.2.3-.2.4-.2.3-.2.4-.2.4-.2.3-.2.4-.2.4-.3.3-1-.6.3-.2.3-.3.2-.3.2-.4.2-.3.2-.3.2-.3v-.5l.3-.3v-.3l.2-.5.2-.3v-.4l.3-.3v-.4l.2-.3v-.7l.2-.4v-.3l.2-.4v-.5l.2-.4v-1l.2-.4v-1.8l.5.5zm0-1h.6v.4l-.5-.5zm0 0v1-1zm0 1z"/>
+      <path fill="#edb92e" d="M482 263h-22.5l-1.3.2H451l-1.3.2h-4.4l-1.2.2h-2.3l-6.3.4h-.3c-3 0-6 .3-9 .4h-.8l-18.2 1.3h-.2a965 965 0 00-26.4 2.4c-5 .6-6-5.3 0-6a960.5 960.5 0 0126.3-2.2 983.7 983.7 0 0137-2.2h2.4l15.4-.5h16.8a1082.3 1082.3 0 017.2 0h16.6l15.2.5h3.3a984 984 0 0137 2.3 960.5 960.5 0 0126.2 2c5.8.7 5 6.6 0 6a965.6 965.6 0 00-26.4-2.3h-.3a978.4 978.4 0 00-18.3-1.2h-.6l-9.2-.5h-.3c-2.2 0-4.3-.2-6.4-.3h-2.3l-1.2-.2h-4.5l-1.3-.2H506l-1-.2h-23z"/>
+      <path fill="#0c4076" d="M482 105a17.3 17.3 0 01.1 34.7c-9.3 0-17-7.8-17-17.3 0-9.6 7.7-17.3 17-17.3z"/>
+      <path fill="#edb92e" d="M485.3 85c1.6-.2 3-1.5 3-3.2 0-1.7-1.4-3-3-3.2 0-1.7-1.4-3-3.2-3a3 3 0 00-3 3c-1.6 0-3 1.5-3 3.2a3 3 0 003 3v6.5h-5.5a3 3 0 00-3-3c-1.8 0-3 1.3-3.2 3a3 3 0 00-3 3c0 1.8 1.3 3.2 3 3.2a3 3 0 003 3c1.8 0 3.2-1.2 3.2-3h5.5V119h6.3V97.6h5.5a3 3 0 003 3c1.8 0 3-1.4 3.2-3 1.7 0 3-1.5 3-3.2a3 3 0 00-3-3c0-1.8-1.4-3.2-3-3.2-2 0-3.2 1.4-3.2 3h-5.5V85z"/>
+      <path fill="#21231e" d="M487.8 81.8h1v1h-.2v.5h-.2v.3l-.2.3-.2.2v.2h-.2l-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2v.2h-.8l-.2.2h-.3v-1h.7V84h.2l.3-.2h.2v-.2h.2v-.2l.2-.2V83h.2l.2-.2v-.4l.2-.2v-.4zm-3-3.2h1l-.5-.5h.2l.3.2h.4l.3.2h.3l.2.2.2.2h.2v.2h.2l.2.2.2.3.2.2v.2h.2v.4h.2v.5l.2.2v.7h-1V81h-.2v-.4l-.2-.2V80h-.4v-.2h-.2v-.2h-.2l-.3-.2h-.2V79h-.8l-.4-.6zm.4.5h-.4v-.4l.4.5zm-3-3v-1h.7l.2.2h.2l.3.2h.2l.2.2.2.2h.2v.3l.2.2.2.3.2.2v.2h.2v.4h.2v.8h.2v.3h-1V78h-.2v-.5h-.2v-.2l-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.4l-.3-.2h-.4zm-3.2 3v-1l-.5.6v-.8l.2-.2V77h.2v-.6h.2v-.2l.2-.2.2-.2.2-.2h.2v-.2h.3v-.2h.3l.3-.2h.4l.2-.2h.4v1h-.5v.2h-.3l-.2.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.2h-.2v.5h-.2v1l-.6.5zm.5-.4v.5h-.5l.5-.4zm-3 3.2h-1V81l.2-.3v-.5l.2-.2v-.2l.2-.2.2-.3.2-.2h.2l.2-.2h.2v-.2h.3v-.2h.5l.3-.2h.7v1h-.7l-.2.2h-.2l-.2.2-.2.2-.2.2-.2.2v.2h-.2v.4l-.2.2v.8zm3 3h-1l.5.6h-1V85h-.7v-.2h-.3v-.2h-.2l-.2-.2-.2-.2V84h-.2v-.2l-.2-.2-.2-.3v-.5h-.2v-1h1v1h.2v.4h.2v.2h.2v.2l.2.2h.2v.2h.2l.3.2h.7v.2h.2l.5.5zm-.5-.4h.5v.5l-.5-.6zm-.5 7V85h1v6.3l-.5.5-.5-.5zm1 0v.4h-.5l.5-.5zm-6-.6h5.5v1h-5.5l-.5-.5.5-.5zm0 1h-.5v-.5l.5.5zm-3-3v-1h1.2v.2h.3l.3.2.3.2.3.2v.2l.2.2.2.3.2.3.2.3v.4l.2.2v.8h-1v-.7l-.2-.2V90h-.2v-.2h-.2v-.2l-.2-.2-.2-.2h-.2V89h-.4l-.2-.2h-.8zm-3.2 3v-1l-.5.4v-.8l.2-.3V90l.2-.3v-.2h.2v-.2l.2-.2h.2v-.3h.2l.2-.2.2-.2h.2V88h.7v-.2h1.1v1h-1l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2v.2h-.2v.4h-.2v.8l-.2.2v.3l-.5.5zm.5-.5v.5h-.5l.5-.5zm-3 3h-1V93h.2v-.2h.2v-.3l.2-.3.3-.3v-.2h.2v-.2h.2v-.2h.2l.2-.2h.2V91h.7l.2-.2h.8v1h-.7l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2v.2h-.2v.5h-.2v.7zm3 3.2h-1l.5.5h-1v-.2h-.5l-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2v-.2h-.3v-.2l-.2-.2V96h-.2v-.4l-.2-.3v-.8h1v.9h.2v.2l.2.3h.2v.2h.2v.2h.2v.2h.2l.2.2h.5v.2h.4l.6.5zm-.5-.5h.5v.5l-.5-.5zm3 3v1h-1l-.2-.2h-.3v-.2h-.3v-.2h-.2l-.2-.2-.2-.3v-.2h-.2v-.3h-.2V99h-.2v-.5l-.2-.2V98h-.2v-.5h1v.7h.2v.4h.2v.2l.2.2v.2h.2v.2h.2v.2h.2l.2.2h.2l.3.2h.6zm3.2-3v1l.5-.4v.8l-.2.2v.3h-.2v.3l-.2.3-.2.2-.2.2-.2.2-.3.2-.2.2h-.2l-.2.2h-.2l-.3.2h-.8v-1h.9v-.2h.2l.2-.2h.2v-.2h.2l.2-.2V99h.2v-.2l.2-.3v-.2l.2-.2v-.4l.5-.5zm-.5.6V97h.5l-.5.6zm6 .5h-5.5v-1h5.5l.5.6-.5.5zm0-1h.5v.6l-.5-.5zm-.5 22V97.6h1V119l-.5.5-.5-.5zm.5.5h-.5v-.5l.5.5zm6.3 0H479v-1h6.3l.5.5-.5.5zm.5-.5v.5h-.5l.5-.5zm0-21.4V119h-1V97.6l.5-.5.5.6zm-1 0V97h.5l-.5.6zm6 .5h-5.5v-1h5.5l.5.6-.5.5zm0-1h.4v.6l-.4-.5zm3 3v1h-1l-.3-.2h-.2l-.3-.2-.2-.2h-.2v-.2h-.2l-.2-.2v-.2h-.2v-.2l-.2-.2V99h-.2v-.2h-.2v-1l-.2-.2h1v.4l.2.2v.2l.2.3v.2h.2v.2h.2l.2.2v.2h.2l.3.2h.2v.2h1.1zm3.2-3v1l.5-.5v.7h-.2v.5l-.2.3v.4h-.2v.3h-.2v.2h-.2v.2h-.3v.2l-.3.2h-.3l-.2.2h-.3l-.2.2h-.8v-1h.9v-.2h.2v-.2h.2l.2-.2.2-.2V99h.2v-.2l.2-.2v-.2l.2-.2v-.6l.6-.6zm-.5.5V97h.5l-.5.5zm3-3h1v.9l-.2.3v.2h-.2v.6h-.2l-.2.2v.2h-.2v.2h-.3v.2h-.2v.2h-.3l-.3.2h-.2l-.3.2h-.7v-1h.8V97h.2v-.2h.2l.2-.2.2-.2h.2V96l.2-.3v-.2h.2v-.7l.2-.3zm-3-3.2h1l-.5-.6h.7l.2.2h.4l.3.2.3.2.3.2.2.2.2.3.2.2v.5h.2v.3h.2v.7l.2.3v.4h-1v-.6h-.2v-.4l-.2-.2-.2-.2v-.2h-.2l-.2-.2-.2-.2h-.2V92h-.5l-.2-.2h-.5l-.5-.5zm.5.5h-.5v-.5l.5.5zm-3-3v-1h1.1l.2.2h.4v.2h.3v.2l.3.2.2.3h.2v.3h.2v.4l.2.2v.4h.2v.7h-1v-.8h-.2V90l-.2-.2-.2-.2-.2-.2-.2-.2h-.2V89h-.5v-.2h-.6zm-3.2 3v-1l-.6.5v-.9l.2-.2V90l.2-.3.2-.3.2-.3h.2v-.2l.2-.2h.2v-.2h.2l.2-.2h.3l.2-.2h.3l.2-.2h1v1h-1l-.3.2h-.2v.2h-.2l-.2.2v.2l-.2.2-.2.2v.2l-.2.2v.7l-.7.6zm.5-.5v.5h-.6l.6-.5zm-6-.5h5.5v1h-5.5l-.5-.5.5-.5zm0 1h-.5v-.5l.5.5zm.5-7v6.5h-1V85l.4-.6.6.5zm-1 0v-.4h.4l-.4.5zm.5 0v-.4.5zm-.5 0v-.4h.4l-.4.5z"/>
+      <path fill="#21231e" d="M499.8 122.4h-1v-1.7l-.2-1v-.7l-.3-.8-.2-.8-.2-.8-.3-.8-.3-.7-.4-.6-.4-.7-.4-.7-.5-.7-.5-.6-.5-.6-.6-.5-.7-.6-.6-.6-.6-.5-.5-.6-.7-.4-.7-.4-.6-.4-.8-.3-.7-.4-1-.3-.7-.2h-.8l-.8-.2h-.8l-1-.2h-1v-1h2l.8.2h1l.8.3.8.4.8.2.8.4.8.3.8.4.7.4.7.6.7.5.7.6.6.6.6.6.6.6.6.6.5.7.5.7.5.7.4 1 .4.6.4.8.3.8.3 1 .3.7.2.8v1l.2.7v2zM482 140.2v-1h1.8l1-.2.7-.2.8-.2.8-.2 1-.3.6-.2.8-.3.7-.4.8-.3.7-.4.6-.5.7-.5.6-.5.6-.6.5-.5.5-.6.5-.6.5-.6.4-.7.4-.6.4-.8.3-.7.3-1 .3-.6.3-.8.2-.8v-1l.2-.7v-1.6h1v2.8l-.2.8-.2.8-.3 1-.3.7-.3.8-.3.8-.3 1-.4.6-.5.7-.5.7-.5.7-.6.6-.6.7-.6.6-.6.5-.7.6-.7.5-.7.6-.7.4-.8.4-.8.4-.8.3-.8.4-.8.2-1 .2-.8.2h-.8l-1 .2h-1zm-17.5-17.8h1v1.8l.2.7v.8l.3.8.2.8.3.7.3 1 .3.6.5.8.4.7.3.8.5.6.5.6.5.7.6.5.5.6.5.5.7.5.6.5.7.4.7.4.7.5.7.3.7.3.8.4.8.2.8.2.8.2h1.8l.7.2v1h-1.8l-.7-.2-1-.2-.8-.2-.8-.2-1-.3-.7-.2-.8-.4-.8-.4-.7-.4-.7-.5-.7-.4-.7-.5-.7-.4-.7-.6-.5-.7-.5-.6-.5-.7-.5-.7-.5-.7-.4-.7-.4-1-.3-.7-.5-.8-.2-.8-.3-1-.2-.7v-1l-.2-.8v-1.8zm17.6-17.8v1h-1.7l-.7.2h-.8l-.8.3-.8.3-.8.3-.7.3-.8.2-.8.4-.7.4-.7.4-.6.5-.7.4-.6.5-.6.5-.6.6-.5.7-.5.6-.5.7-.4.7-.5.7-.4.7-.2.8-.3.8-.3.8-.2.8-.2.8v.8l-.2 1v1.7h-1v-2.8l.2-1 .2-.8.3-1 .2-.8.4-.8.2-.8.4-.7.4-1 .5-.6.5-.7.5-.7.6-.6.6-.6.7-.6.6-.6.6-.5.7-.4.7-.5.7-.3.8-.4.8-.3.8-.4 1-.2.7-.3h1l.8-.2h.8l1-.2h.8z"/>
+      <path fill="#edb92e" d="M499 118.8a17.6 17.6 0 010 6c-5.5-.2-11.2-.3-17-.3-5.5 0-11.2 0-17 .3a17.5 17.5 0 01.3-6l16.8-.3c5.8 0 11.4.2 17 .3z"/>
+      <path fill="#21231e" d="M499.8 122.4h-1V120h-.2v-1l1-.2v1.7l.2.2v1.6zm-.7 3l.2-1-.6.3v-.8l.2-.2v-1.1h1v2.2h-.2l-.5.5zm.6-.5v.3h-.5l.6-.4zm-17.5 0v-1H494l.4.2h4.8v1h-10.6l-.5-.2h-6zm-17.4 0l1-.3-.5-.4h4.7l.4-.2H482v1h-11l-.5.2H465l-.5-.3zm.6.3h-.5v-.4l.5.3zm-.7-3h1v2.4l-1 .3v-2.6zm.8-4v1l.5-.3v.8l-.2.2v2.5h-1v-3h.2v-.4l.5-.5zm-.5.5v-.4h.5l-.5.4zm17.3-.8v1h-9.1l-.5.2H466l-.7.2v-1h2.5l.5-.2h9l.5-.2h4.2zm17.5.8l-1 .2.4.4h-3.6l-.5-.2h-10.3l-.5-.2h-2.1v-1h10l.5.2h6.1l.5.6zm-.5-.5h.4v.5l-.4-.5z"/>
+      <path fill="#edb92e" d="M468.8 133.2c-3.6-2.3-4.3 1.2-4.2 4.7.4 13.2 3 25.8-.6 42-1.4 6.4-3.7 10-1.5 11.3 5.7 3.2 8.3 6 7.4 7.7 1.5 3.2 5.7 2.6 12 1.6 6.6 1 10.7 1.6 12.4-1.6-1-1.6 1.7-4.5 7.4-7.7 2.2-1.2 0-5-1.5-11.3-3.5-16.2-1-28.8-.7-42 0-3.6-.5-7-4-4.8a28.6 28.6 0 01-26.8 0z"/>
+      <path fill="#21231e" d="M465 138h-1v-1.5l.2-.3v-1.6l.2-.3v-.3h.2v-.4l.2-.2v-.3h.2l.2-.3.2-.2.2-.2h.2l.2-.2h1.8l.4.2.4.2h.3l.4.3-.4 1-.4-.3h-.2l-.3-.2h-.3l-.2-.2h-1.2v.2h-.2v.2l-.2.2v.2l-.2.2v.4l-.2.3v.4l-.2.2v2.5zm-.5 42l-1-.2.3-1.5.3-1.4.3-1.6.2-1.4.2-1.5.2-1.4v-2.5l.2-1.4V154l-.2-1.2v-2.5l-.2-1.2V148l-.2-1.2v-1.2l-.2-1.3V142l-.2-1.3V138h1v3.5l.2 1.2v2.6l.2 1.2v1.3l.2 1.2v2.5l.2 1.2v1.3l.2 1.3v13.3l-.2 1.4v1.4l-.3 1.5-.2 1.4-.2 1.6-.2 1.4-.2 1.5-.3 1.6zm-1.8 11l-.4.8-.3-.2-.2-.2-.2-.2-.2-.2v-.2l-.2-.3V188l.2-.3v-.4l.2-.3v-.4l.2-.4v-.5l.3-.4.2-.4v-.5l.3-.3v-.5l.3-.5v-.6l.3-.4.2-.6v-.6l.3-.6 1 .3-.2.7v.6l-.3.5v.6l-.2.5-.2.4v.6l-.3.4v.5l-.3.4v.4l-.2.4v.4l-.2.4v.4l-.2.3v.4l-.2.4v1.9l.2.2.2.2zm7.6 7.8l-1 .4v-.4h.2v-1l-.2-.2v-.2l-.2-.2v-.4l-.3-.2-.2-.2-.2-.3h-.3l-.2-.4-.3-.2-.3-.3h-.3l-.4-.4-.4-.3-.3-.2-.5-.2-.4-.3-.3-.3-.5-.3-.5-.3-.4-.3-.5-.3-.6-.2.5-1 .6.4.5.3.5.3.4.3.5.4.4.3.5.3.5.2.3.3.4.3.4.3.3.4.2.2.3.3.3.2.2.2.2.3.3.2.2.2v.2l.3.3v.2l.3.2v.5l.2.2v1.1l-.2.3v-.5zm-1 .4v-.4.4zm13 1l-.2 1h.2-1.2l-.5.2h-1.2l-.6.2h-1l-.5.2h-4.7l-.4-.2h-.3l-.3-.2-.3-.2-.3-.2-.2-.2-.3-.2-.2-.2-.3-.3h-.2l-.2-.4-.2-.4 1-.4v.2l.2.3.2.2.2.2.2.2h.2l.2.2h.2l.3.2h.3l.3.2h.3l.2.2h4.3l.5-.2h1l.6-.2h1.1l.5-.2h.8zm-.2 0h.2zm12-1l1-.4v.4l-.3.4-.2.3h-.2l-.3.4-.2.2-.3.2-.3.2-.3.2-.4.2h-.3l-.3.2h-.4l-.4.2H486l-.6-.2h-.5l-.6-.2h-1.2l-.5-.2h-.6l.2-1h1.8l.5.2h.6l.6.2h1.1l.5.2h4.2l.3-.2h.3l.2-.2h.3l.2-.2.2-.2.3-.3.2-.2.2-.2v-.3l.3-.2v.5zm1-.4v.4-.4zm6.5-8l.5 1-.5.3-.5.4-.5.3-.4.2-.4.2-.4.3-.4.3-.4.3-.4.3-.3.3-.3.3h-.3l-.2.4-.3.2-.3.3h-.2l-.2.4-.2.2-.2.2v.2l-.3.2v.7h-.2v1.2l-.8.5v-.2l-.2-.2v-1.3l.2-.2v-.3l.3-.3v-.3l.3-.2.2-.3.2-.3.3-.3.2-.2.3-.3.3-.4.4-.2.3-.3.4-.2.4-.3.4-.3.4-.2.4-.3.5-.3.5-.3.5-.2.5-.3.5-.3.5-.3zm-1.7-10.7l1-.2v.6l.3.6.2.6.2.5v.7l.3.5v.5l.2.4v.6l.2.5.2.5v.4l.2.3v.4l.2.4v.5l.2.3v.7l.2.3v1.8l-.2.3v.2l-.3.3h-.2l-.2.3-.3.2-.5-1h.2l.2-.2v-.4h.2v-2.5l-.2-.3v-.3l-.2-.3v-.4l-.2-.4v-.4l-.2-.4v-.4l-.3-.5v-.6l-.2-.4v-.6l-.3-.5v-.6l-.3-.6v-.5l-.2-.6-.2-.6zm-.7-42h1v5.9l-.2 1.4v1.2l-.2 1.2v1.3l-.2 1.3v2.5l-.2 1.2v2.6l-.2 1.2v9.3l.2 1.4v1.4l.2 1.3.2 1.5.2 1.5.2 1.4.2 1.5.3 1.3.3 1.5-1 .3-.3-1.5-.3-1.5-.2-1.4-.2-1.5-.2-1.3-.2-1.5v-1.4l-.2-1.4V167l-.2-1.3v-10.3l.2-1.3v-2.5l.2-1.3V149l.2-1.2v-1.3l.2-1.2V143l.2-1.2V138zm-3.3-4.4l-.5-1h.4l.3-.2.2-.2h.3l.4-.2h1.2l.3.2h.2l.2.3v.2l.2.2h.2v.4l.2.2v.3h.2v.7l.2.3v1.5l.2.3v1.1h-1v-2.4l-.2-.3v-.8l-.2-.3v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-1.1l-.2.2h-.3l-.3.2-.3.2zm-27 0l.4-1 .8.5.7.5.7.4.7.2.7.3.8.2.8.3 1 .2.7.2 1 .2h.7l1 .2h.8l1 .2h4.6l.7-.2h1l.8-.3h.8l1-.3.7-.2.8-.3.8-.2.8-.3.7-.4.8-.3.7-.4.7-.3.5 1-.7.3-.7.4-.8.4-.7.3-1 .4-.7.3-.7.3-1 .2-.7.2-1 .2h-.8l-1 .2h-1l-.8.2h-4.6l-1-.2h-.8l-1-.2-.8-.2-1-.2-.7-.2-.8-.3-.8-.3-.8-.3-.8-.2-.8-.4-.7-.4-.7-.4z"/>
+      <g id="b">
+        <path fill="#edb92e" d="M363 212c-2-4-.3-9.8.3-11 .3-.8-.6-2.2-1-2.8-13-18.3-13.2-20-4.3-26.8 8-6 26.2-12 39.2-16.2 2.7-2 4.4-5 6.8-7.2-25 1.8-52 12-65.5 23.8-7.2 6.2 1.5 19 12.2 38 6.7 5 9.8 7 12.3 2.3z"/>
+        <path fill="#21231e" d="M362.8 200.7l1 .4v.2l-.2.2v.3l-.2.3v.5l-.2.2v.6l-.2.4v.7l-.2.3v1.6l-.2.4v2.5l.2.4v.4l.2.4v.4l.2.4v.3l.3.4-1 .3v-.4l-.3-.5v-.4l-.2-.4v-.4l-.2-.5v-.8l-.2-.6v-2.9l.2-.4v-1.2l.2-.3v-.4l.2-.2v-.6l.2-.3v-.6l.2-.2v-.2l.2-.2zm-1-2.2l1-.6v.2h.2v.4h.2v.4h.2v.2l.2.2v.4h.2v1.2l-1-.3v-.6l-.2-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2zm-4-27.5l.5 1-.8.5-.7.6-.7.6-.5.6-.6.5-.6.5-.5.6-.5.5-.3.4-.3.5-.3.5v.5l-.3.5v1.7l.2.6.2.8.2.7.4.8.4.8.4 1 .5 1 .6 1 .7 1 .7 1.3 1 1.2.7 1.3 1 1.4 1 1.5 1 1.5 1.3 1.7-.8.5-1.3-1.7-1-1.5-1-1.5-1-1.4-1-1.3-.8-1.2-.8-1.2-.7-1-.6-1-.7-1-.4-1-.6-1-.3-.7-.2-1-.2-.7v-.7l-.2-.7v-1.4l.2-.6.2-.6.2-.6.3-.6.4-.6.5-.5.5-.5.5-.5.6-.6.7-.5.7-.7.7-.6.7-.7zm39-16.2l.7.8h-.2l-1.2.5-1.2.5-1.2.4-1.4.3-1.3.4-1.4.5-1.4.4-1.3.5-1.5.5-1.4.5-1.3.5-1.3.5-1.4.5-1.4.5-1.3.5-1.4.5-1.4.5-1.3.6-1.3.6-1.3.5-1.2.7-1.2.5-1.2.6-1 .5-1.2.6-1 .4-1 .6-1 .6-1 .5-1 .7-.7.6-.7.6-.6-1 .8-.5 1-.6.8-.7 1-.6 1-.6 1-.4 1-.6 1.2-.6 1.2-.5 1-.7 1.4-.6 1.3-.5 1.3-.6 1.3-.5 1.2-.4 1.4-.5 1.3-.5 1.3-.5 1.4-.5 1.3-.5 1.4-.5 1.4-.5 1.4-.4 1.4-.5 1.3-.4 1.3-.4 1.3-.4 1.3-.5 1.2-.4 1.3-.5 1.3-.4 1.2-.3zm.7.8h-.2.2zm6.6-7v-1l.4.8-.2.2-.3.2-.3.3-.2.3-.2.2-.2.2v.3l-.3.2-.2.2-.2.2-.2.3-.3.3-.2.3-.2.2-.2.3v.3l-.3.2-.2.3-.2.2-.3.2-.2.3-.2.2-.2.2h-.2l-.3.4-.3.2-.2.2-.3.2-.2.2-.3.2-.2.2-.6-.8v-.2l.3-.2.3-.2.2-.2.2-.2.2-.2.3-.2.2-.2.2-.2v-.2l.3-.3.2-.2.2-.2.2-.2v-.2l.3-.2.2-.2.2-.3.2-.3v-.3l.3-.2.2-.2.2-.3.2-.2v-.2l.4-.3.2-.2.2-.2.2-.3.2-.2h.3l.2-.3.4.8zm0-1l1.4-.2-1 1-.4-1zM338.8 172l-.7-.8 1.5-1 1.4-1.2 1.4-1 1.5-1.2 1.5-1 1.7-1 1.7-1 1.7-1 2-1 1.8-1 2-1 2-1 2-.8 2-1 2.2-.7 2-.8 2.3-.8 2.3-1 2.2-.6 2.3-.7 2.3-.6 2.4-.5 2.3-.6 2.4-.7 2.4-.5 2.4-.4 2.4-.4 2.4-.4 2.3-.3 2.3-.3 2.4-.3 2.3-.2v1l-2.3.2-2.3.3-2.3.3-2.3.3-2.4.4-2.3.4-2.4.4-2.3.5-2.3.6-2.3.5-2.3.6-2.3.7-2.2.7-2.2.7-2.2.8-2.2.8-2.2.8-2 1-2 .7-2.2 1-2 1-2 1-1.8.8-1.8 1-1.8 1-1.7 1-1.6 1-1.5 1-1.6 1-1.5 1.2-1.4 1-1.2 1.2zm12.2 37.3l-.5.8-.2-.2-1-1.6-1-1.8-1-1.7-1-1.7-.8-1.7-1-1.6-.8-1.5-.8-1.5-1-1.5-.7-1.5-.8-1.4-.7-1.3-.7-1.4-.5-1.3-.6-1.3-.6-1.2-.4-1.2-.5-1.2-.3-1-.3-1-.4-1.2v-1l-.2-1v-2.8l.3-.8.3-.8.4-.7.5-.8.5-.7.6-.6.8.8-.6.5-.5.6-.4.7-.3.6-.3.7-.2.8v4.5l.4 1v1l.5 1 .4 1 .4 1.3.5 1.2.4 1.2.6 1.3.7 1.3.7 1.4.7 1.4 1 1.4.7 1.5 1 1.5.8 1.5 1 1.6.8 1.7 1 1.7 1 1.7 1 2 1 1.6h-.3zm-.5.8l-.2-.2.2.3zm12.5 1.3v1l.5-.2-.3.4-.2.4-.3.4-.3.3-.3.2-.2.3-.3.2-.3.2h-.3l-.5.2h-2.1l-.4-.2-.5-.2-.4-.2-.3-.2-.5-.2-.4-.3-.5-.3-.5-.3-.4-.4-.6-.3-.5-.3-.5-.4-.6-.4-.5-.4-.6-.4-.5-.5.5-.8.7.4.5.3.6.5.6.3.5.5.4.4.5.2.4.3.4.3.5.3.4.3.4.2.5.2.4.2h.5l.3.2h1.5l.2-.2h.3l.2-.3.2-.2.3-.2.2-.3v-.3l.4-.4.2-.4.4-.4zm-.4.3v-.4h.4l-.4.3zm.4.6v-1l.5.3-.5.6zm.5-.7l.3.6h-.8l.5-.7z"/>
+        <path fill="#edb92e" d="M359 213.6a34 34 0 01-1-4.7c-.7-2.8-.4-5.7.5-8.3-3-4.2-6.4-8.8-8.8-13.3-1.7-3.3-3-7-2-10.6 1-4 4.5-6.6 7.6-9 3.7-2.8 8.6-5.3 13.6-7.5 11-4.6 20-7 26.5-7l-4.2 3.8c-12 4-26.4 9.2-33.3 14.5-9 6.8-8.6 8.4 4.3 26.7.4.6 1.3 2 1 2.7-.6 1.2-1.8 7.2 0 11.4-1 2-2.6 1-4.2 1.2z"/>
+        <path fill="#21231e" d="M357.4 209l1-.2v.7l.2.2v.7h.2v.8l.2.3v.3l.2.3v.7h.2v.6h.2l-1 .4v-.3l-.2-.3v-.2l-.2-.3v-.5l-.2-.3v-.6h-.2v-.5l-.2-.3v-.7l-.2-.3v-.2zm1-.2zm-.4-7.8l1-.6v.5l-.2.4v.2l-.2.2v1l-.2.2v.8l-.2.2v4.7l.2.3-1 .2v-.6l-.2-.2V203h.2v-1l.2-.2v-.5l.2-.2v-.2l.2-.3v.5zm1-.6v.5-.6zm-9.7-12.8l1-.5v.6l.3.4.3.4v.4l.4.5.2.4.3.4v.5l.4.4.3.4.2.4.2.4.3.4.2.4.3.5.3.4.3.3.3.4.2.4.2.5.3.5.3.4.3.4.3.4.3.4.2.4.3.4.2.4.3.4.3.4.3.4.3.4-1 .6-.2-.4-.3-.4-.3-.4-.3-.4-.4-.4-.3-.4-.2-.4-.2-.4-.3-.4-.3-.4-.3-.5-.4-.4-.3-.3-.3-.4-.2-.4-.3-.5-.3-.5-.3-.4-.4-.4-.3-.4-.2-.5-.2-.4-.3-.5-.2-.4-.3-.4-.3-.4-.2-.4-.3-.5-.2-.4-.2-.5-.3-.5-.2-.4zm-2-11l1 .4-.2.3v4.1l.2.4v.3l.2.3v.7l.3.3v.4l.2.4v.6l.3.3v.3l.3.3v.2l.3.3v.3l.2.3-1 .6v-.3l-.2-.3-.2-.3v-.3l-.3-.4v-.3l-.3-.3v-.3l-.3-.3-.2-.3v-.3l-.2-.2v-.4l-.2-.3v-.3l-.2-.3v-.7l-.2-.4V180l-.2-.4V178l.2-.2v-.7l.2-.3zm7.7-9.2l.6.8-.3.2-.3.3-.3.2h-.3l-.3.3-.2.3-.2.2-.3.3-.3.3-.3.2-.3.3-.2.2-.3.3-.4.3-.2.2-.3.3v.3l-.4.3-.2.3-.2.2-.3.3-.3.3-.2.3-.2.4v.3l-.3.3-.2.3v.3l-.3.3v.3l-.2.3v.4l-1-.3v-.4l.2-.4v-.4l.2-.4.2-.4v-.3l.3-.4.2-.2.2-.3.2-.3v-.3l.4-.5.2-.3.2-.2.3-.3.4-.3.2-.3.3-.2.2-.2.3-.3.2-.3.3-.2.3-.3.3-.2.3-.3.2-.2.3-.2.3-.3.3-.2h.4l.3-.4.3-.2zm13.7-7.5l.4.8-.4.2-.4.2-.5.2-.5.2-.4.2-.5.2-.4.3-.6.2-.5.2-.5.2h-.5l-.4.3-.5.3-.3.2-.4.2-.5.3-.4.2-.4.2-.4.3-.5.2-.3.2-.4.3-.4.2-.5.2-.4.2-.2.3-.4.2-.4.2-.4.2-.3.3-.4.3-.4.2-.6-.8.3-.3h.4l.4-.4.4-.3.4-.2.4-.2.4-.2.4-.3.4-.2.4-.2.4-.2.4-.3.5-.2.5-.2.4-.2.4-.2.4-.3h.4l.5-.3.4-.3.6-.2.4-.2.5-.2.5-.3.4-.2.5-.2h.4l.4-.3.5-.2.5-.2.4-.2h.5zm0 0zm27-6.4l-.6-.7.5.7H394l-.6.2h-1.8l-.7.2h-.8l-.7.2h-.7l-.8.3-.8.2h-.7l-.8.2-.8.2-1 .2-.8.2-.8.3-1 .3-.8.3-1 .3-.8.2-1 .3-.8.3-1 .3-1 .5-1 .3-.8.4-1 .4-1 .4-1 .4-1 .4-.5-1 1-.4 1-.4 1-.4 1-.4 1-.3 1-.5 1-.3 1-.4 1-.3.8-.3 1-.3.8-.4 1-.2.8-.3h1l.8-.4.8-.2.8-.2.8-.2h.8l.8-.3.8-.2h.7l.7-.2h.8l.7-.2h1.4l.5-.2h1.9l.4.8zm-.3-1h1.4l-1 1-.4-1zm-4.4 4l4-3.7.8.6-4 3.8-.3.2-.5-1zm.7.8l-.2.2.2-.2zM358.3 172l-.6-1 .7-.5.7-.5 1-.5.7-.5.8-.5 1-.5.8-.4 1-.5 1-.4.8-.5 1.2-.4 1-.5 1-.3 1-.5 1.2-.5 1-.4 1.3-.5 1-.4 1.2-.5 1-.5 1.3-.5 1-.4 1.3-.4 1.2-.5 1.2-.4 1.2-.4 1.2-.5 1-.4 1.3-.3 1.2-.4 1-.3 1.2-.4.3 1-1.2.3-1 .3-1.3.4-1 .4-1.3.5-1.2.4-1.2.3-1.2.4-1 .4-1.2.6-1.2.4-1 .4-1.3.5-1 .3-1.3.5-1 .4-1.2.5-1 .4-1 .6-1.2.5-1 .5-1 .5-1 .5-1 .5-.8.5-1 .4-.8.4-.8.5-.8.4-.7.5-.7.4-.7.5zm4.4 26l-.8.5-1.3-1.7-1-1.5-1-1.5-1-1.4-1-1.3-.8-1.2-.8-1.2-.7-1-.6-1-.7-1-.4-1-.5-1-.4-.7-.2-1-.2-.7v-.7l-.2-.7v-1.4l.2-.6.2-.6.2-.6.3-.6.4-.6.5-.5.5-.5.5-.5.6-.6.7-.5.7-.7.7-.6.7-.7.6 1-.8.5-.7.6-.7.6-.5.6-.6.5-.6.5-.5.6-.5.5-.3.4-.3.5-.3.5v.5l-.2.6v2.2l.3.8.3.7.4.8.4.8.4 1 .6 1 .5 1 .7 1 .7 1.3 1 1.2.7 1.3 1 1.4 1 1.5 1 1.5 1.3 1.7zm1 3l-1-.3v-1h-.2v-.2l-.2-.2v-.2h-.2v-.4l.7-.7.2.2v.4h.2v.2l.2.2v.2l.2.2v.4h.2v1.4zm.2 11.6l-1-.5v.6l-.2-.4-.2-.5v-.4l-.2-.4v-.6l-.2-.4v-.5l-.2-.4v-5.4l.2-.4v-.7l.2-.4v-.5l.2-.3v-.4l.2-.2 1 .3v.2l-.2.2v.6l-.2.2v.6l-.2.3v1.1l-.2.4v5.1l.2.4v.8l.3.4v.4l.2.4.2.4v.4zm0-.4v.4-.4zm-5 1v1-1h.2l.2-.2h1.4v.2h1.5l.2-.2h.2v-.2h.2v-.2l.2-.2.2-.3 1 .6-.2.2-.2.2v.2l-.2.2h-.2v.2l-.3.2h-.4l-.2.2h-.3v.2h-3v-1zm0 1v-1l.6.2-.5.7zm.6-.8l.2.7h-.7l.6-.6z"/>
+        <path fill="#edb92e" d="M468 132.2c.3-2.3 0-2-.3 1.6-.3-.7-.8-1-1.4-1-1 0-1.7 1.6-1.8 5.2l.2 2.8c-33-.7-52.7 4.3-57.7 14-4.2 7.8 3 21 13.6 36 1.3 1.8 1.2 1.6 0 3-1.8 2.3-3.8 6-2.3 9.2a24.3 24.3 0 01-21 1.5c-1-3-3.4-4.4-5.4-5.8-.5-.2-2-1-2-1.4l-10.2-31.6c-9.5-30.7 75.3-33.5 88.3-33.5z"/>
+        <path fill="#21231e" d="M467.3 134l1-.4-1 .2V132h.2v-1.2l.2-.2.6-.3.3.3v1.6h-1V131l.4.2h.6v-.2 1l-.2.2v1.8h-1zm1 0l-.2 1.6-.7-1.5h1zm-2-.7v-1h.7v.2h.4v.2h.2v.2h.2v.2h.2v.2h.2v.2l-1 .5v-.2h-.2v-.2h-.2v-.2h-.4zm0 0zM465 138h-1v-1.8l.2-.3v-.9l.2-.3v-.7h.2v-.3l.2-.3.2-.3.2-.2h.2v-.2h.2v-.2h.5v1h-.2v.2h-.2v.2l-.2.2v.3l-.2.3v.6l-.2.2v2l-.2.3v.4zm-1 0zm.7 3.3v-1l-.5.5v-2.3h-.2v-.4l1-.2v1.8l.2.2v1l-.5.5zm.5-.5v.5h-.5l.5-.5zM407.4 155l-1-.5.7-1 .7-.8.7-1 .8-.7 1-.8 1-.8 1-.8 1-.7 1.3-.7 1.2-.7 1.4-.6 1.6-.6 1.5-.5 1.7-.7 1.7-.5 1.8-.4 2-.5 1.8-.5 2-.3 2.2-.4 2.2-.3 2.2-.2 2.4-.3 2.4-.2 2.5-.2h2.5l2.7-.2h2.7l2.8-.2h9v1H453l-2.8.2h-2.6l-2.6.2-2.5.2-2.4.2-2.3.3-2.2.2-2.2.3-2 .4-2 .3-2 .4-1.8.4-1.8.4-1.7.5-1.6.5-1.5.6-1.5.5-1.3.5-1.3.7-1.2.6-1 .7-1 .7-1 .7-1 .7-.6.8-.7.8-.6.8-.6 1zm13.6 35.5l-.8.6-1-1.3-1-1.4-1-1.4-1-1.5-.8-1.3-.8-1.4-1-1.3-.7-1.3-.8-1.3-.8-1.4-.7-1.2-.7-1.3-.6-1-.6-1.3-.5-1.2-.5-1.2-.5-1.2-.4-1-.5-1-.3-1.2-.3-1-.3-1-.2-1.2v-1l-.2-1V158l.3-.8.3-1 .2-.7.3-.8 1 .5-.4.7-.2.7-.2.8-.2.8v4.5l.2 1 .3 1v1l.5 1 .3 1.2.4 1 .5 1.2.5 1 .5 1.2.6 1.2.6 1.2.6 1.3.7 1 .7 1.4.8 1.3.8 1.3.8 1.3 1 1.3.8 1.4 1 1.3.8 1.4 1 1.4 1 1.5zm0 3.8l-.8-.7.2-.3.2-.2h.2v-.2l.2-.2v-.4l-.2-.2v-.2h-.2v-.3h-.2v-.3h-.2l.8-.7.2.3.2.3v.2h.2v.4h.2v.2l.2.2v1l-.2.2v.2h-.2v.2l-.2.2-.2.2-.2.3zm-2.5 9l-.4-.8-.2.7v-.3l-.2-.5v-.3l-.2-.3v-3.5l.2-.3v-.3l.2-.4.2-.3v-.3l.2-.3.2-.3v-.3l.3-.2v-.3l.3-.2.2-.3v-.2l.3-.3.2-.2v-.3l.3-.2.2-.2.8.7-.2.2-.2.2v.2h-.3v.3l-.3.3-.2.2v.3l-.3.3v.3l-.2.2-.2.3v.7l-.2.2v.2l-.2.3v.6l-.2.4v2.7l.2.3.2.3-.3.6zm.3-.5v.4l-.3.2.3-.6zm-22 1.8l1-.3-.2-.3.6.2.7.3.5.2.6.2h.8l.6.2.6.2h.7l.6.2h5.7l.7-.2h.5l.7-.3h.6l.7-.2.6-.2.7-.2.7-.2.6-.2.6-.3.6-.3.6-.2.7-.4.6-.3.5 1-.6.2-.7.4-.6.4-.7.2-.6.3-.7.2-.6.2-.6.2-.7.2-.6.2h-.6l-.7.3h-.7l-.6.2h-.7l-.7.2h-5l-.7-.2h-.7l-.6-.3h-.7l-.7-.3-.6-.3-.7-.3-.6-.2-.8-.3-.3-.4zm.4.3l-.2-.2v-.2l.2.3zm-5.6-5.8l.6-1 .2.2.2.2h.2l.2.2.2.2h.2l.2.2v.2h.3v.3h.3l.2.3h.2l.2.3.3.3.2.2.2.2.2.2v.2l.3.2v.2l.3.2.2.2v.2l.3.3.2.2.2.2v.2l.3.3v.3l.2.3-1 .3-.2-.2v-.3h-.2v-.3l-.2-.3-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.3-.2-.2-.2-.3-.3-.2-.2-.3-.3h-.2l-.2-.3v-.2l-.3-.2h-.2v-.3h-.3l-.2-.2h-.2l-.2-.2h-.2l-.2-.3h-.2l-.2-.2h-.2zm-2-1.7l.8-.3h.2v.2h.2l.2.2h.2v.2h.4v.2h.2l.2.2h.2l-.6 1-.2-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2zm-10.2-31.7l1-.3.2 1 .3 1 .2.8.3 1 .3 1 .3.8.4 1 .3 1 .3 1 .3 1 .3 1 .3.8.2 1 .4 1 .3 1 .2 1 .3 1 .3 1 .4 1 .3 1 .3 1 .3 1 .5 1 .3 1 .3 1 .5 1 .3 1 .3 1 .4 1.2.4 1 .3 1 .4 1.2-1 .3-.3-1-.2-1.2-.3-1-.4-1-.2-1-.3-1-.3-1.2-.4-1-.3-1-.3-1-.4-1-.3-1-.3-1-.3-1-.4-1-.4-1-.3-1-.4-1-.3-1-.3-.8-.3-1-.4-1-.3-1-.3-1-.3-.8-.3-1-.2-1-.3-1-.3-.8-.3-1-.4-.8-.2-1zm88.2-33.6h1l-.5.5h-5.4l-2.5.2h-2.8l-3 .2-3.3.2-3.5.2-3.7.3-3.8.3-4 .4-4 .5-4 .6-4.2.6-4 .7-4.2 1-4 .8-4 1-3.7 1-3.7 1.3-3.4 1.4-3.3 1.4-3 1.5-2.6 1.6-2.3 1.7-2 2-1.6 1.8-1.2 2.2-.8 2.2-.4 2.3v2.5l.7 2.7-1 .3-.6-2.8v-2.8l.3-2.6 1-2.4 1.2-2.2 1.8-2 2-2 2.5-2 2.7-1.6 3-1.5 3.3-1.6 3.5-1.3 3.6-1 4-1.2 3.8-1 4-1 4-.7 4.2-.6 4.2-.6 4-.6 4-.5 4-.4 4-.4 3.7-.4 3.5-.2 3.3-.2 3-.2h3l2.4-.2h5.4l-.6.4zm1 0v.5h-.5l.7-.5zm-.5 0h-.4.5zm.7 0v.5h-.6l.7-.5z"/>
+        <path fill="#fff" d="M405 190.2c3.5 0 6.4 2.8 6.4 6.4 0 3.5-3 6.4-6.4 6.4s-6.4-3-6.4-6.4c0-3.6 3-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M412 196.6h-1a6 6 0 00-3.4-5.3 5.8 5.8 0 00-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 011 3.6zm-7 7v-1c2.2 0 4.3-1.4 5.2-3.4a6 6 0 00.7-2.6h1c0 2.3-1.4 4.6-3.4 6a7 7 0 01-3.6 1zm-7-7h1c0 2.2 1.4 4.3 3.4 5.3a5.8 5.8 0 002.6.5v1a7 7 0 01-5.8-3.3 7 7 0 01-1-3.6zm7-7v1a6 6 0 00-5.2 3.3 6 6 0 00-.7 2.6h-1c0-2.4 1.4-4.7 3.4-6a6.8 6.8 0 013.6-1z"/>
+        <path fill="#fff" d="M350.8 203.6c3.2 0 6 2.7 6 6s-2.8 6-6 6c-3.3 0-6-2.7-6-6s2.7-6 6-6z"/>
+        <path fill="#21231e" d="M357.2 209.6h-1c0-2-1-4-2.8-4.8a5.4 5.4 0 00-2.6-.7v-1a7 7 0 015.4 3 6.5 6.5 0 011 3.6zm-6.4 6.4v-1c2 0 4-1.2 4.8-3a5.5 5.5 0 00.6-2.4h1c0 2-1.2 4.3-3 5.4a6.4 6.4 0 01-3.4 1zm-6.5-6.4h1c0 2 1.2 4 3 4.8.8.4 1.6.6 2.5.6v1a6.6 6.6 0 01-5.5-3 6.5 6.5 0 01-1-3.4zm6.5-6.5v1c-2 0-4 1.3-5 3a5.5 5.5 0 00-.5 2.6h-1c0-2.2 1.2-4.4 3-5.5a6.4 6.4 0 013.5-1z"/>
+        <path fill="#fff" d="M345 192.7c3.4 0 6 2.7 6 6s-2.6 6-6 6c-3.2 0-5.8-2.7-5.8-6s2.6-6 6-6z"/>
+        <path fill="#21231e" d="M351.5 198.7h-1c0-2-1.2-4-3-5a5.3 5.3 0 00-2.4-.5v-1c2.3 0 4.4 1.2 5.5 3a6.5 6.5 0 011 3.5zM345 205v-1c2 0 4-1 4.8-2.7a5.5 5.5 0 00.7-2.6h1c0 2.2-1.2 4.3-3 5.5a6.4 6.4 0 01-3.4 1zm-6.3-6.3h1c0 2 1.2 4 3 4.8a5 5 0 002.4.6v1c-2 .2-4.2-1-5.3-3a6.5 6.5 0 01-1-3.3zm6.4-6.5v1c-1.8 0-3.7 1-4.6 2.8a5.5 5.5 0 00-.7 2.7h-1c0-2.2 1.2-4.4 3-5.5a6.4 6.4 0 013.4-1z"/>
+        <path fill="#fff" d="M339.8 181.7c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z"/>
+        <path fill="#21231e" d="M346.2 187.7h-1c0-2-1.2-4-3-5a5.4 5.4 0 00-2.4-.5v-1c2.2 0 4.3 1.2 5.4 3a6.5 6.5 0 011 3.5zm-6.4 6.4v-1c2 0 3.8-1 4.7-2.7.5-.8.7-1.7.7-2.6h1c0 2-1 4.3-3 5.4a6.4 6.4 0 01-3.4 1zm-6.4-6.3h1c0 2 1 4 3 4.8.7.4 1.5.6 2.4.6v1a6 6 0 01-5.4-3 6.5 6.5 0 01-1-3.3zm6.4-6.5v1c-2 0-4 1.2-4.8 3a5.5 5.5 0 00-.6 2.5h-1c0-2.2 1-4.4 3-5.5a6.4 6.4 0 013.4-1z"/>
+        <path fill="#edb92e" d="M444.3 202.2c3.4-.3 2.5 5.8 2 7.2-1 1.8-1.8 1.8-3 .2-.8-1.3-2.4-7.2 1-7.5z"/>
+        <path fill="#21231e" d="M446.6 209.6l-1-.4h.2v-.7l.2-.3v-.5l.2-.3V204h-.2v-.3l-.2-.2v-.2l-.2-.2h-.2l-.3-.2h-.2l-.2-.2h-.3v-1h.7l.3.2h.3l.3.2v.2l.3.3.2.2.2.3v.2l.2.3v.7l.2.3v3.7l-.2.3v.5l-.2.3v.5h-.2zm-3.7.3l.8-.7.2.3v.2h.2v.2h.2v.2h.7l.2-.2v-.2h.2v-.2h.2v-.3l1 .3v.2l-.2.2v.3h-.2v.2l-.2.2-.2.2h-.4v.2H444v-.2h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.3h-.3zm1.2-8.4v1h-.4v.2h-.3v.2h-.3v.3l-.2.2v.4h-.2v3.2l.2.2v.6l.2.2v.3l.2.2v.2l.2.2v.2h.2l-1 .7v-.5l-.2-.2v-.2l-.2-.4v-.2l-.2-.3v-.2l-.2-.3v-.7l-.2-.3v-3l.2-.3v-.3l.3-.3.2-.2.2-.3h.2l.2-.3.3-.2h.4l.2-.2z"/>
+        <path fill="#fff" d="M444.5 205.5c8-.6 6 13.8 4.4 17-2 4.2-4 4.3-6.7.5-2-3-5.8-17 2.2-17.5z"/>
+        <path fill="#21231e" d="M449.4 222.7l-1-.4.2-.3.2-.4v-.4l.3-.5.2-.5v-.6l.2-.6.2-.7V217l.2-.7v-5.1l-.3-.7v-.6l-.3-.7-.3-.6-.3-.5-.3-.5-.3-.4-.3-.4-.4-.4-.5-.2-.5-.2-.5-.2h-1.4v-1h1.5l.6.2.7.2.5.4.6.4.4.4.4.5.4.7.3.6v.7l.3.6.2.7v.7l.3.8v6.3l-.3.7v.7l-.2.6v.6l-.3.6v.5l-.3.5v.4l-.3.3zm-7.5.5l.8-.5.2.3.2.3.3.3.2.3h.2v.4h.3l.2.3.2.2h.4l.2.2h1v-.2h.3l.2-.3v-.2l.2-.2.2-.2h.2l.2-.4v-.3l.3-.3.3-.3.2-.4 1 .4-.3.4-.2.5-.2.3-.2.4-.2.3-.2.3-.2.2-.2.2-.2.3-.3.2h-.2v.3h-.4l-.2.2H445l-.4-.2h-.2l-.3-.3v-.2l-.4-.2-.2-.2-.2-.2-.3-.2-.3-.3-.3-.4-.2-.4-.3-.4zm2.5-17.2v-1 1h-.6l-.7.2-.5.2-.5.3-.4.3-.5.4-.3.4-.3.4-.3.6-.2.5v.6l-.2.5v.7l-.2.7v.6l.2.7v1.4l.2.7v.8l.3.7v.6l.3.7.2.6.2.5.2.6.2.7.2.5.2.4.2.4.2.4.2.3-1 .5v-.3l-.3-.5-.2-.4-.2-.4v-.6l-.4-.5-.2-.7-.2-.6-.2-.7-.2-.7v-.7l-.3-.6v-.8l-.2-.7V213l-.2-.7v-.8l.2-.7v-.6l.2-.7v-.7l.4-.6.2-.6.4-.6.4-.5.4-.5.5-.4.6-.3.7-.3.7-.2h.8v1zm0-1v1-1z"/>
+        <path fill="#edb92e" d="M379.7 210.8c3.3-1 4 5 3.6 6.6-.4 2-1.2 2.2-2.7 1-1-1.2-4-6.5-1-7.6z"/>
+        <path fill="#21231e" d="M383.8 217.5l-1-.2v-2.8l-.2-.3v-.7l-.2-.3v-.3l-.2-.2v-.3l-.3-.2-.2-.2-.3-.3-.3-.3h-.3l-.3-.2h-.6l-.4-1h1.5l.2.2.3.2.2.2.3.2.2.3.2.2v.3l.3.3v.4l.2.3v.3l.2.3v.3l.2.4v.6l.2.3v2.5zm-3.5 1l.7-.6h.2v.2h.2l.2.2h.2v.2h.4l.2-.2v-.2h.2v-.6h.2v-.3l1 .2v.4h-.2v.4l-.2.3v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-1v-.2h-.3l-.2-.2h-.2v-.2h-.2l-.2-.2v-.2zm-.7-8.2l.3 1h-.3l-.2.2h-.2v.2l-.2.2v.2l-.2.2v1.8l.2.4v.3l.2.3v.2l.2.3.2.3v.3l.2.3.2.3v.2l.3.2v.2l.2.2.3.3.2.2-.7.6h-.2v-.4l-.3-.2v-.2l-.3-.2v-.3l-.3-.2v-.2l-.2-.3v-.3l-.3-.3v-.4l-.2-.3v-.3l-.3-.3v-.7l-.2-.3V212l.3-.2.2-.3.2-.3.3-.2.2-.2h.2l.4-.3z"/>
+        <path fill="#fff" d="M380.7 214c7.7-2.5 9.2 12 8.4 15.5-1 4.5-2.8 5-6.2 2-2.6-2.4-9.7-15-2-17.5z"/>
+        <path fill="#21231e" d="M389.6 229.6l-1-.2v-.8l.2-.4v-2.9l-.2-.7V223l-.3-.7v-.7l-.3-.8-.2-.7-.2-.6-.2-.7-.3-.7-.2-.6-.3-.6-.3-.4-.4-.5-.3-.4-.4-.3-.4-.4-.4-.4-.5-.2h-.5l-.5-.2h-1.1l-.6.3-.4-1 .7-.2h2.2l.7.2.7.2.5.4.5.5.5.4.4.5.4.5.4.6.3.7.3.6.3.6.3.7.2.8.2.8.2.7v.8l.3.7v1.5l.2.7v4.4zm-7 2.3l.5-1 .5.4.2.2.3.3h.3l.3.3h.2l.3.3h.3l.2.2h1.4l.2-.2.2-.2.2-.3.3-.3v-.6l.2-.2v-.3l.2-.4v-.2l.2-.4 1 .2v.4l-.2.4v.4l-.2.4-.2.3v.3l-.2.3-.2.4v.3l-.3.2h-.2v.3l-.3.2h-.2l-.2.3h-.8l-.3.2h-.5l-.3-.2h-.2l-.3-.2h-.4l-.3-.3-.3-.2h-.3l-.3-.3-.3-.3-.2-.2-.3-.3zm-2-18.5l.3 1-.7.2-.6.3-.4.3-.4.4-.4.4-.3.5-.2.5v.5l-.2.6v2.5l.2.6.2.7.2.6.2.7.3.7v.7l.4.6.3.7.4.6.4.6.3.6.4.6.4.5.3.4.3.4.4.4.2.4.3.3-.5 1-.3-.4-.3-.3-.4-.4-.4-.5-.3-.5-.4-.5-.4-.6-.3-.7-.5-.6-.3-.6-.4-.6-.3-.6-.3-.7-.3-.7-.3-.7-.3-.7-.2-.8-.2-.8v-.7l-.2-.7V218l.2-.7.2-.6.2-.6.3-.5.4-.5.6-.5.6-.4.7-.2.6-.3zm0 .5v-.5.5z"/>
+        <path fill="#edb92e" d="M464.2 137.8c-17.2-1.6-35 .2-52.3 7-14.8 6-13.4 23.2 4.6 47-1.7 3-2.6 6.8-2.7 11h4.8c-1.3-2.8 0-6.4 1.8-9 1-1.5 1.3-1.2 0-3-10.7-15-17.8-28.2-13.6-36 5-9.7 24.6-14.7 57.7-14 0-1 0-1.8-.2-2.7 0 0-.2 0-.3-.2z"/>
+        <path fill="#21231e" d="M412 145.4l-.3-1 1.7-.6 1.6-.6 1.7-.6 1.6-.5 1.6-.4 1.6-.5 1.6-.4 1.7-.4 1.5-.4 1.7-.4 1.6-.4 1.7-.3 1.6-.3 1.8-.3h1.6l1.7-.3 1.7-.2 1.7-.2 1.6-.2h3.3l1.6-.2h11.5l1.6.2h1.6l1.6.3v1l-1.7-.2h-4.9l-1.6-.2h-9.7l-1.6.2H443l-1.5.3-1.7.2-1.6.2-1.6.2H435l-1.7.4-1.6.3-1.7.3-1.6.4-1.6.3-1.7.5-1.5.4-1.6.4-1.8.5-1.6.6-1.6.6-1.7.6-1.6.6-1.6.6zm5 46.7l-1-.4.2.5-1.7-2-1.5-2.3-1.5-2-1.3-2.2-1.3-2-1.2-2-1-2-1-2-1-2-.7-1.7-.6-1.8-.5-1.8-.6-1.7-.4-1.6-.3-1.7-.2-1.6v-4.4l.2-1.3.3-1.3.4-1.2.5-1.2.5-1.2.7-1 .8-1 .8-1 1-.7 1-.8 1.3-.8 1.4-.6 1.3-.5.4 1-1.2.5-1.2.6-1 .7-1 .8-1 1-1 .8-.6 1-.7 1-.5 1-.5 1-.3 1.2-.3 1.2-.2 1.2v3.8l.2 1.5.3 1.7.3 1.6.5 1.6.6 1.6.7 1.8.8 1.8 1 2 .8 1.8 1 2 1.2 2 1.2 2 1.4 2 1.4 2.2 1.5 2 1.7 2.3v.6zm0-.5l.2.3-.2.3v-.5zm-3 11v1l-.6-.6v-2.5l.2-.4v-1l.2-.4v-.7l.2-.5v-.4l.2-.2v-.4l.2-.3v-.3l.2-.3v-.4l.2-.3v-.3l.2-.3v-.3l.3-.3v-.3l.2-.2.2-.3v-.3l.3-.3v-.4l1 .5v.4l-.3.2v.3l-.2.2-.2.3v.3l-.2.3v.4l-.2.3v.3l-.2.4v.3l-.2.3v.3l-.2.4v.7l-.2.3v.8l-.2.4v.8l-.2.4v1.4l-.2.4v.7l-.5-.6zm0 1h-.6v-.6l.5.5zm4.3-.4l1-.4-.5.8h-4.6v-1h4.6l-.5.7zm1-.4l.3.7h-.8l.4-.7zm1-9l.7.6-.2.2v.3l-.2.2-.2.2v.2l-.3.3v.4l-.2.3-.2.2v.3l-.2.3v.2l-.2.3v.7l-.2.2v.5l-.2.3v2.2l.2.3v.4l.2.2-1 .5v-.5l-.2-.3v-.7l-.2-.3v-2.7l.2-.3v-.3l.2-.2v-.3l.2-.3v-.3l.2-.4v-.3l.2-.3.2-.3v-.2l.2-.3.2-.3v-.3l.3-.3v-.3h.3l.2-.3zm0-2.5l.7-.5.2.3.2.3v.2h.2v.4h.2v.4l.2.2v.5l-.2.2v.2h-.2v.2l-.2.2v.2h-.2v.3l-.2.2-.8-.6v-.2l.2-.2.2-.2v-.2h.2v-.4h.2v-.2h-.2v-.2l-.2-.2v-.3h-.2v-.3h-.2zm-13.8-36.5l1 .5-.4.7-.2.7-.2.8-.2.8v4.5l.2 1 .3 1v1l.5 1 .3 1.2.4 1 .5 1.2.5 1 .5 1.2.6 1.2.6 1.2.6 1.3.7 1 .7 1.4.8 1.3.8 1.3.8 1.3 1 1.3.8 1.4 1 1.3.8 1.4 1 1.4 1 1.5-.8.6-1-1.3-1-1.4-1-1.4-1-1.5-.8-1.3-.8-1.4-1-1.3-.7-1.3-.8-1.3-.8-1.4-.7-1.2-.7-1.3-.6-1-.6-1.3-.5-1.2-.5-1.2-.5-1.2-.4-1-.5-1-.3-1.2-.3-1-.3-1-.2-1.2v-1l-.2-1V158l.3-.8.3-1 .2-.7.3-.8zm57.7-13.7h1l-.5.5h-14.5l-2.6.2H445l-2.5.3-2.4.2-2.3.3-2.2.2-2.2.3-2 .4-2 .3-2 .4-1.8.4-1.8.4-1.7.5-1.6.5-1.5.6-1.5.5-1.3.5-1.3.7-1.3.6-1 .7-1 .7-1 .7-.8.7-.8.8-.7.8-.6.8-.6 1-1-.5.7-1 .7-.8.7-1 .8-.7 1-.8 1-.8 1-.8 1-.7 1.2-.7 1.3-.7 1.4-.6 1.6-.6 1.5-.5 1.7-.7 1.7-.5 1.8-.4 2-.5 1.8-.5 2-.3 2.2-.4 2.2-.3 2.2-.2 2.4-.3 2.4-.2 2.5-.2h2.5l2.7-.2h2.7l2.8-.2h9l-.6.6zm1 0v.5h-.5l.5-.5zm-1-2.3l.7-.7v1.9h.2v1h-1v-2.3l-.2-.2v-.4.3zm.7-.7v.3-.2zm-1.2-.4l.8.7v-.6.2h.2v.2l-.7.7v-.4h-.2v-.6zm0 .7l-.3-.2.3-.4v.7zm.8 0l-.8-.6h.4l.4.7zm-.4-.7h1l-.6.8-.4-.7z"/>
+        <path fill="#fff" d="M380.6 142.7c3.4 0 6 2.7 6 6s-2.6 6.3-6 6.3-6.2-2.7-6.2-6.2a6 6 0 016.2-6z"/>
+        <path fill="#21231e" d="M387.2 148.8h-1c0-2-1.2-4-3-5a5.6 5.6 0 00-2.6-.6v-1c2.2 0 4.5 1.2 5.6 3a6.7 6.7 0 011 3.6zm-6.6 6.7v-1c2 0 4-1.2 5-3a7 7 0 00.6-2.7h1a7 7 0 01-3 5.7 6.6 6.6 0 01-3.6 1zm-6.7-6.7h1c0 2 1.2 4.2 3 5a5.6 5.6 0 002.6.7v1a6.6 6.6 0 01-5.6-3 6.7 6.7 0 01-1-3.7zm6.6-6.7v1.2c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.6h-1c0-2.2 1-4.4 3-5.6a6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M392.6 138.7c3.4 0 6.2 2.8 6.2 6.2 0 3.3-2.8 6-6.2 6a6 6 0 01-6-6c0-3.5 2.6-6.3 6-6.3z"/>
+        <path fill="#21231e" d="M399.3 145h-1c0-2.2-1.3-4.3-3.2-5.2a5.6 5.6 0 00-2.4-.6v-1a7 7 0 015.7 3 6.7 6.7 0 011 3.7zm-6.7 6.6v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.7-2.7h1c0 2.2-1.2 4.4-3.2 5.6a6.6 6.6 0 01-3.4 1zM386 145h1c0 2 1.2 4 3 5a5.6 5.6 0 002.6.6v1a6.7 6.7 0 01-5.6-3.2 6.7 6.7 0 01-1-3.5zm6.6-6.8v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.7h-1c0-2.4 1.2-4.7 3.2-5.8a6.6 6.6 0 013.4-1z"/>
+        <path fill="#edb92e" d="M394.2 144a261.2 261.2 0 002 2.4c-9.8 5.4-14 11-13 16.7.2 1 3.2 11.5 9.8 31.7 4.5 3 7.8 6 10 8.4-.2.4.8 1.2.5 1.5.7 3-2.8 2.4-5 1.7-1.2-3-4.6-6-6.6-7.5-.5-.2-2-1-2-1.4l-10.2-31.6c-3-9.8 3.6-16.8 14.4-21.7z"/>
+        <path fill="#21231e" d="M396.3 147l-.5-1v.7h-.2v-.2h-.2v-.2l-.2-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2l.8-.7.2.2h.2v.4h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l.2.2v1zm.2-1l.3.6-.5.3.2-1zm-12.7 17l-1 .2v-3.9l.2-.6.2-.5.2-.6.2-.5.3-.5.2-.5.3-.6.4-.5.3-.6.4-.6.5-.5.4-.6.6-.5.5-.5.6-.5.6-.6.5-.5.7-.4.7-.5.6-.5.8-.5.8-.5 1-.5.7-.5.8-.5.5 1-1 .4-.7.5-.8.4-.8.5-.8.4-.7.5-.7.4-.6.5-.7.4-.6.5-.6.4-.5.5-.6.4-.5.6-.5.5-.4.5-.3.5-.3.5-.3.5-.2.5-.2.5-.2.5-.2.5-.2.5v.5l-.2.5v3.1zm0 0zm9.5 31.3l-.6.8-.2-.2-.6-1.8-.7-1.8-.5-1.8-.6-1.7-.5-1.6-.5-1.5-.5-1.5-.5-1.5-.4-1.4-.4-1.2-.4-1.3-.4-1.3-.4-1-.3-1.3-.4-1-.3-1-.3-1-.3-1-.3-.8-.2-.8-.2-.8-.2-.6-.2-.7v-.5l-.3-.5v-.5l-.2-.4v-.8h-.2v-.3h1v.3l.2.3v.4l.2.3v.5l.2.5.2.6.2.7.2.7.2.7.2 1 .3.7.2 1 .2 1 .3 1 .3 1 .4 1 .4 1.2.3 1.2.3 1.3.5 1.3.4 1.4.5 1.5.4 1.5.7 1.6.5 1.6.5 1.7.6 2 .6 1.7.5 1.8-.2-.2zm-.6.8l-.2-.2.2.3zm10.7 8.4l-.7-.6v.6l-.2-.2-.2-.2-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2-.2-.2-.2-.3-.3-.2-.3-.2-.2-.2-.3-.3-.3-.3-.3-.2-.4-.3-.3-.2-.4-.3-.4-.3-.3-.2-.4-.3-.4-.3-.4-.3-.3-.3-.5-.3-.4-.2-.3-.3-.4-.2-.4-.3-.5-.3-.4-.3-.3-.3.6-.7.4.3.4.3h.5l.4.4.3.3.4.3.4.3.5.3.3.2.4.3.3.4.4.3.2.2.4.2.3.3.2.2.3.3.3.3.3.2.4.3.3.2.3.3.3.3.2.2.3.3.3.3.3.3.2.2.3.2.2.3.2.2.2.3v.6zm0-.6l.3.3-.3.4v-.6zm.6 1.6l-1 .2.2-.5v.2h-.2v.2-.2l-.2-.2v-.2h-.2v-1.2l.8.6v-.2h.2v.2l.2.2v.2l.2.2v.7l-.2.2.2-.6zm-1 .2v-.3l.2-.2-.2.6zm-5 1.8l1-.4-.4-.3h.4l.2.2h.7l.4.2h2.3v-.2h.2v-1.4l1-.2v1.6l-.2.3v.2l-.2.2h-.2l-.2.2h-.4l-.2.2h-3l-.3-.2h-.5l-.3-.2h-.5l-.3-.4zm.2.3h-.2v-.3l.2.3zm-6.6-7.5l.6-1 .2.3h.2l.2.3h.2l.3.3.2.3.2.2.2.2.2.2h.2l.2.3.3.2v.3l.4.2.2.3.2.2.3.3.3.2.2.3.3.3.2.2.2.3.2.4.2.3.2.3.2.2.2.3v.3l.3.3v.4l.3.3v.3l-1 .4v-.3l-.2-.4-.2-.3v-.2l-.3-.2v-.3l-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.2-.2-.3-.3-.2-.2-.3v-.2l-.3-.3-.3-.2-.2-.2-.2-.2-.3-.2-.2-.2-.2-.2h-.2l-.2-.3h-.2l-.2-.3h-.2l-.2-.3h-.2l-.2-.2zm.6-1l.3.3-.3-.2zm-2.7-.7l1-.3.2.2h.2v.2h.2v.2h.4v.2h.2l.2.2h.2l-.6 1-.2-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2zm-10-31.7l.8-.3.3 1 .3 1 .2.8.3 1 .3 1 .3.8.4 1 .3 1 .3 1 .3 1 .3 1 .3.8.2 1 .4 1 .3 1 .2 1 .3 1 .3 1 .4 1 .3 1 .3 1 .3 1 .5 1 .3 1 .3 1 .5 1 .3 1 .3 1 .4 1.2.4 1 .3 1 .4 1.2-1 .3-.3-1-.2-1.2-.3-1-.4-1-.2-1-.3-1-.3-1.2-.4-1-.3-1-.3-1-.4-1-.3-1-.3-1-.3-1-.4-1-.4-1-.3-1-.4-1-.3-1-.3-.8-.3-1-.4-1-.3-1-.3-1-.3-.8-.3-1-.2-1-.3-1-.3-.8-.3-1-.4-.8-.2-1zm15-22l-.7.5h.6l-1 .6-1 .4-1 .5-.8.4-1 .5-.7.4-1 .5-.7.5-.8.5-.7.6-.7.6-.5.6-.7.6-.5.6-.6.7-.5.6-.4.7-.4.6-.4.7-.3.7-.3.7-.3.7v.8l-.2.7v.7l-.2.8v2.6l.3.8v1l.3.7-1 .3-.2-1v-.8l-.3-1V159l.2-1 .2-.7.2-.6.3-.8.4-.7.5-1 .4-.6.4-.7.6-.7.5-.7.6-.6.8-.6.6-.6.8-.6.7-.6.7-.5.8-.6 1-.5.7-.5 1-.5 1-.5.8-.5 1-.5 1-.5.6.2zm-.5-.3l.4-.2.2.4-.6-.2z"/>
+        <path fill="#edb92e" d="M356 217l-.4 2c-2.8.5-5.3.7-7.3.3 3.4-3.3 6-4 7.6-2.4z"/>
+        <path fill="#21231e" d="M355 218.8l.4-2 1 .2-.3 2-.3.4-.6-.6zm1 0v.5h-.3l.4-.4zm-8 .2l.7.7-.3-1 .2.2h4.1l.3-.2h1l.2-.2h.7l.2-.2h.3l.2 1h-.8l-.4.2h-.5l-.4.2h-1.3v.2h-3.7l-.4-1zm.2 1l-1-.3.8-.7.2 1zm8.2-3l-1-.2.2.5v-.2h-.6v-.2h-.6l-.2-.2H353v.2h-.6l-.2.3-.2.2h-.3l-.2.2-.3.2-.2.2-.3.2-.3.2-.2.2-.3.2-.4.3h-.3l-.3.4-.3.3-.7-.7.3-.3.3-.3.3-.3.2-.2.3-.2.3-.2.3-.3h.4l.3-.3h.3l.2-.3h.3l.3-.3h.6l.3-.2h.5l.4-.2h1.3l.2.2h.3l.2.2h.2l.2.2.3.3v.5zm0-.5v.5-.5zm-.5.4h.4-.5zm.3-.5l.2.2v.3l-.2-.5z"/>
+        <path fill="#edb92e" d="M355.6 212.3c1.8.4 2 .7 2.7 1 1 0 2.4 0 3.3-1 4-2.2 4 2 2.5 5-1 2.4-.5 5 .6 7 1.2 2.2 1 3.2 0 4l-1.6 1c-1 1.2-1.8 1-2-.6-3.8-1.6-5-5.3-6.2-8.6-1.7-4.7-7.8-5.8.8-7.7z"/>
+        <path fill="#21231e" d="M358.4 212.7v1h-.7v-.2h-.4l-.2-.2h-.4l-.2-.2h-.8l-.3-.2.2-1h.4l.2.2h.4l.2.2h.4v.2h.8v.2h.4zm3-.7l.5 1v-.2l-.2.2h-.3v.2h-.2l-.2.2h-.2l-.2.2h-2.1v-1h2.2l.2-.2h.2v-.2h.2l.2-.2zm0 0zm3 5.6l-.8-.4v-.3l.3-.4v-.5l.2-.2v-.6l.2-.3v-2.2h-.2v-.2h-.2v-.2h-1.2l-.3.2-.3.2-.3.2-.6-1 .4-.2.3-.2h.5l.3-.2h1.8l.2.2.2.2v.2l.2.3v.4l.2.3v2.4l-.2.3v.3l-.2.4v.3l-.2.3v.3l-.3.3zm.6 6.3l-1 .4v-.4l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.5l-.2-.2v-.8l-.2-.2v-2.3l.2-.2v-.3l.2-.3v-.3l.2-.2 1 .4-.2.2v.4l-.2.2v.8l-.2.2v2l.2.2v.5l.2.2v.4h.2v.2l.2.2v.4h.2zm0 4.6l-.6-1h.2v-.2h.2v-1.6l-.2-.3v-.3l-.2-.2v-.2l-.2-.2v-.2l.8-.5v.2l.2.2v.2l.2.2v.2l.2.2v.2l.2.3v1.7l-.2.2v.2h-.2v.2h-.2v.2l-.2.2zm0 0zm-1.6 1l-.8-.7v-.2h.2l.2-.2h.2v-.2h.4v-.2h.2v-.2h.4v-.2h.2l.6.8h-.2v.2h-.4v.2h-.2l-.2.2h-.2v.2h-.2l-.2.2zm-.8-.7v-.2zm-1.8 0l.4-.8.3.4v.5h.2v.2h.4v-.2h.2v-.2h.2l.8.6-.2.2-.2.2-.3.2h-.2v.2h-1.1l-.2-.2v-.2l-.2-.2v-.4h-.2v-.7l.2.4zm.4-.8h.3v.4l-.3-.4zm-7-8l1-.3.2.2v.3l.2.3v.4l.2.3v.3l.3.3.2.4v.3l.2.3.2.3v.3l.3.3v.2l.2.3v.2l.3.3.2.3.2.2v.3l.3.2.2.3.2.2.2.2.2.2h.2l.3.3.3.2.3.2.3.2h.3l.2.2-.4 1-.3-.2-.4-.2-.2-.2-.4-.2-.3-.2-.2-.3-.3-.3-.2-.2-.3-.3-.3-.2-.2-.3-.2-.3-.2-.3-.3-.4-.2-.3-.2-.3-.2-.3v-.4l-.2-.3v-.3l-.3-.3v-.3l-.3-.2v-.3l-.2-.4v-.2l-.2-.3-.2-.3v-.3l-.2-.4v-.3zm1.4-8.4v1l-.6.2-.7.2h-.6l-.5.3h-.4l-.4.3h-.3v.3l-.2.2v.2h-.2v.2l.2.3.3.2.2.3.2.2.2.3.3.2v.3l.4.3.2.3.3.5.2.3.2.4.3.4.2.4v.5l.3.4-1 .3v-.4l-.3-.5-.2-.4-.2-.3-.3-.3-.2-.3v-.2l-.4-.3-.2-.3-.3-.3v-.4l-.3-.2-.3-.3-.3-.4v-.2l-.2-.3-.2-.4v-.6l.3-.3v-.2l.3-.3h.3l.4-.3.4-.3.5-.2h.4l.7-.3.8-.2.7-.2zm0 0zm0 1v-1 1zm0-1z"/>
+        <path fill="#edb92e" d="M357 212.5c3.5 1.2 4-.7 6-.6-.8 5-1.7 7.7-7 5-3-1.6-6.7.7-7.4 2.3-.3.6-2-.6-2.6-2-2.6-5.8 6.7-6.4 11-4.8z"/>
+        <path fill="#21231e" d="M363.6 212l-1-.2.5.6H362v.2h-.3l-.2.2h-.2l-.3.2h-.3v.2h-.7l-.2.2h-2l-.4-.2h-.3l-.3-.2.3-1h.3l.3.2h.4l.2.2h1.3l.2-.2h.2l.2-.2h.5l.2-.2h.2l.3-.2h.5l.2-.2h.4l.6.6zm-.5-.6h.7v.6l-.6-.6zm-7.2 6l.4-1 .5.4.5.2h.4l.4.3h.3l.4.2h1.7l.2-.2.3-.3.2-.3v-.2l.2-.2.2-.3v-.3l.2-.3v-.3l.2-.2v-.4l.2-.4v-.4l.2-.4v-.9l.2-.5 1 .2v.5l-.2.5v.8l-.2.5v.4l-.2.4v.4l-.3.4v.3l-.2.4-.2.4v.2l-.3.3-.2.3-.2.2-.3.2-.2.2h-.2l-.3.2h-.3l-.3.2h-1.6l-.4-.2-.4-.2h-.4l-.4-.3-.5-.3-.5-.3zm-6.8 2l-1-.3h.2v-.3h.3v-.3l.3-.2v-.2l.3-.2h.3l.2-.3.2-.2h.3l.2-.3h.3l.2-.3h.3l.3-.2h.3l.2-.2h.3l.4-.2h2.3l.3.2h.3l.3.2h.2l-.4 1h-.3l-.2-.2h-.5l-.3-.2h-1.8l-.3.2h-.3l-.3.2h-.3l-.2.3h-.2l-.3.2h-.2l-.2.2h-.2v.2l-.2.2h-.2v.3h-.2v.2h-.2v.2h-.2zm-3.5-2l1-.3v.4h.2v.4h.2v.2l.2.2h.2v.2l.2.2h.2v.2h.4v.2l.8.5v.2l-.3.2h-1v-.2h-.2l-.3-.2h-.2v-.2l-.2-.2-.2-.2h-.2v-.3h-.2v-.2h-.2v-.3h-.2v-.4h-.2v-.3zm11.8-5.4l-.3 1-.4-.2h-.5l-.3-.2h-.5l-.5-.2h-5l-.5.2-.4.2h-.4l-.4.3-.4.3-.3.2v.2l-.4.2-.2.2v.3l-.3.2v1.6l.3.4.2.5-1 .5-.2-.5-.2-.6V215l.2-.6.2-.4.2-.4.3-.3.2-.4.3-.3.4-.3.4-.2.4-.2.5-.2h.5l.5-.3h1.1l.5-.2h3.3l.6.2h.5l.4.2.5.2h.3zm0 .5v-.5.5z"/>
+        <path fill="#fff" d="M458.8 124.5c3.4 0 6.2 2.7 6.2 6 0 3.5-2.8 6.3-6.2 6.3s-6-2.8-6-6.2a6 6 0 016-6z"/>
+        <path fill="#21231e" d="M465.5 130.6h-1c0-2-1.3-4.2-3.3-5a5.5 5.5 0 00-2.4-.6v-1a7 7 0 015.7 3 6.7 6.7 0 011 3.6zm-6.7 6.7v-1c2 0 4-1.2 5-3a5.6 5.6 0 00.6-2.7h1c0 2.3-1 4.5-3 5.7a6.6 6.6 0 01-3.6 1zm-6.6-6.7h1c0 2 1.3 4.2 3.2 5a5.5 5.5 0 002.4.7v1a6.6 6.6 0 01-5.6-3.2 6.7 6.7 0 01-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a5.6 5.6 0 00-.6 2.6h-1c0-2.2 1.2-4.4 3.2-5.6a6.6 6.6 0 013.4-1z"/>
+        <path fill="#fff" d="M446.3 124.5a6 6 0 016 6c0 3.5-2.6 6.3-6 6.3s-6-2.8-6-6.2c0-3.4 2.6-6 6-6z"/>
+        <path fill="#21231e" d="M453 130.6h-1c0-2-1.3-4-3.2-5a5.5 5.5 0 00-2.5-.6v-1c2.3 0 4.5 1.2 5.6 3a6.7 6.7 0 011 3.6zm-6.7 6.7v-1c2 0 4-1.3 5-3a7 7 0 00.6-2.7h1c0 2.3-1.3 4.5-3.2 5.7a6.6 6.6 0 01-3.5 1zm-6.6-6.7h1c0 2 1.2 4.2 3 5a5.5 5.5 0 002.6.7v1a6.5 6.5 0 01-5.6-3.2 6.7 6.7 0 01-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a5.6 5.6 0 00-.6 2.6h-1a7 7 0 013-5.6 6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M433.8 125.5a6 6 0 016 6c0 3.5-2.6 6.3-6 6.3s-6-2.8-6-6.2 2.6-6 6-6z"/>
+        <path fill="#21231e" d="M440.4 131.6h-1c0-2-1.2-4-3-5a5.5 5.5 0 00-2.6-.6v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.6zm-6.6 6.7v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.6-2.7h1a7 7 0 01-3 5.7 6.6 6.6 0 01-3.6 1zm-6.6-6.7h1c0 2.2 1.3 4.3 3.2 5.2a5.5 5.5 0 002.4.5v1a6.4 6.4 0 01-5.6-3.2 6.7 6.7 0 01-1-3.4zm6.6-6.6v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.6h-1c0-2.3 1.3-4.6 3.3-5.7a6.6 6.6 0 013.3-1z"/>
+        <path fill="#fff" d="M422.3 127.7c3.3 0 6 2.8 6 6.2 0 3.3-2.7 6-6 6s-6.2-2.7-6.2-6 3-6.3 6.3-6.3z"/>
+        <path fill="#21231e" d="M429 134h-1a6 6 0 00-3.3-5.2 5.5 5.5 0 00-2.4-.6v-1c2.2 0 4.4 1.2 5.6 3.2a6.7 6.7 0 011 3.5zm-6.7 6.5v-1c2 0 4-1.2 5-3 .4-1 .6-1.8.6-2.6h1c0 2-1.3 4.3-3.3 5.5a6.6 6.6 0 01-3.4 1zm-6.7-6.6h1c0 2 1.2 3.8 3 4.8a5 5 0 002.7.7v1a7 7 0 01-5.7-3 6.7 6.7 0 01-1-3.6zm6.7-6.8v1c-2 0-4.2 1.3-5 3.2a5.7 5.7 0 00-.7 2.5h-1c0-2.5 1.3-4.7 3.3-6a6.6 6.6 0 013.3-.8z"/>
+        <path fill="#fff" d="M346.3 159.4a6 6 0 016 6.2c0 3.4-2.6 6.2-6 6.2s-6-2.8-6-6.2a6 6 0 016-6.2z"/>
+        <path fill="#21231e" d="M353 165.6h-1c0-2-1.3-4-3.2-5a5.6 5.6 0 00-2.5-.7v-1c2.2 0 4.5 1 5.6 3a6.7 6.7 0 011 3.6zm-6.7 6.7v-1c2 0 4-1.2 5-3a7 7 0 00.6-2.7h1c0 2.3-1.3 4.5-3.2 5.7a6.6 6.6 0 01-3.5 1zm-6.7-6.7h1c0 2 1.3 4.2 3.2 5a5.6 5.6 0 002.5.7v1a7 7 0 01-5.6-3 6.7 6.7 0 01-1-3.7zm6.7-6.7v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.6h-1a7 7 0 013-5.7 6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M356.8 152.8c3.4 0 6.2 2.7 6.2 6 0 3.6-2.8 6.3-6.2 6.3-3.4 0-6-2.6-6-6a6 6 0 016-6.2z"/>
+        <path fill="#21231e" d="M363.5 159h-1c0-2.2-1.3-4.2-3-5a5.6 5.6 0 00-2.7-.7v-1a7 7 0 015.7 3 6.7 6.7 0 011 3.6zm-6.7 6.6v-1a5.7 5.7 0 005.7-5.7h1a7 7 0 01-3 5.6 6.6 6.6 0 01-3.7 1zm-6.6-6.7h1c0 2 1.2 4 3 5a5.6 5.6 0 002.6.6v1a7 7 0 01-5.6-3 6.7 6.7 0 01-1-3.7zm6.6-6.8v1c-2 0-4 1.3-5 3.2a5.7 5.7 0 00-.6 2.5h-1c0-2.3 1.2-4.6 3-5.8a6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M368.8 147c3.4 0 6 3 6 6.3 0 3.4-2.6 6.2-6 6.2s-6-2.8-6-6.2a6 6 0 016-6.2z"/>
+        <path fill="#21231e" d="M375.4 153.3h-1c0-2-1.2-4.2-3-5a5.6 5.6 0 00-2.6-.7v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.7zm-6.6 6.7v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.6-2.7h1a7 7 0 01-3 5.7 6.6 6.6 0 01-3.6 1zm-6.7-6.7h1c0 2 1.4 4 3.2 5a5.6 5.6 0 002.6.7v1a6.9 6.9 0 01-5.7-3.2 6.7 6.7 0 01-1-3.5zm6.8-6.7v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.6 2.7h-1c0-2.3 1-4.5 3-5.7a6.6 6.6 0 013.6-1z"/>
+        <path fill="#fff" d="M338.2 169.5a6 6 0 016 6.2c0 3.4-2.6 6.2-6 6.2s-6.2-3-6.2-6.3 2.8-6.2 6.2-6.2z"/>
+        <path fill="#21231e" d="M344.8 175.7h-1c0-2-1.3-4.2-3.2-5a5.6 5.6 0 00-2.4-.7v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.7zm-6.6 6.7v-1c2 0 4-1.3 5-3a5.7 5.7 0 00.6-2.7h1c0 2.3-1.2 4.5-3.2 5.7a6.6 6.6 0 01-3.4 1zm-6.7-6.7h1c0 2 1.2 4 3 5a5.6 5.6 0 002.7.7v1a6.9 6.9 0 01-5.7-3.2 6.7 6.7 0 01-1-3.5zm6.7-6.7v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.7 2.7h-1c0-2.3 1.2-4.5 3.2-5.7a6.6 6.6 0 013.5-1z"/>
+        <path fill="#edb92e" d="M454.2 276.3l-22 12.8-23.4-10 22-12.8z"/>
+        <path fill="#21231e" d="M431 266.7l-22 12.8-.4-1 22-12.7h.5v1zm-.4-1h.5-.4zm23.5 11l-23.3-10 .4-1 23.4 10v1h-.3zm.4-1l1 .5-1 .5v-1zm-22.4 13l22-13 .5 1-22 12.8h-.5v-.8zm.5.8l-.2.2h-.3l.5-.2zm-23.4-11l23.4 10-.4 1-23.3-10v-1h.4zm-.3 1l-1-.4 1-.4v1z"/>
+        <path fill="#c6363c" d="M431 270.6c5.8-.3 10.5 2.5 10.8 6.3.2 3.7-4.2 7-9.8 7.4-5.7.3-10.4-2.5-10.7-6.3-.2-3.6 4.2-7 9.8-7.4z"/>
+        <path fill="#21231e" d="M442.3 277h-1v-.7l-.2-.3v-.6l-.3-.3v-.2l-.3-.2-.2-.3-.2-.3-.3-.2-.3-.3-.2-.2-.3-.2h-.5l-.3-.3-.3-.2-.5-.2-.4-.2h-.3l-.4-.2h-.4l-.5-.3h-.9l-.5-.2h-.8l-.5-.2h-1l-.5.2v-1h3.6l.4.2.5.2h.5l.4.2.5.2.5.2.4.2.3.2.4.2.4.2.4.2.4.3.3.3.4.3.3.3.3.3.2.4.2.3.2.3.2.4v.3l.3.4.2.4v.8zm-10.3 8v-1l.4-.2h.9l.5-.2h.4l.4-.2h.5l.4-.3h.5l.4-.2.4-.2.4-.2.3-.2.4-.2.4-.3.4-.2.3-.2.3-.3.3-.2.3-.3v-.3l.3-.3.2-.4.2-.2v-.3l.2-.2v-.6l.2-.3v-1.1l1-.2v1.6l-.2.4v.3l-.3.5v.3l-.3.4-.3.3v.3l-.4.4-.3.3-.3.3-.3.2-.3.3-.4.3-.4.2-.4.3-.4.3-.4.2-.4.2-.5.2h-.4l-.4.2-.5.2h-.4l-.5.2h-.4l-.5.2h-1zm-11.2-6.8h1v.5l.2.3v.3l.2.3.2.3v.2l.3.3.2.2v.3l.4.2.2.3.3.2.2.2.3.2.4.2.2.2h.4l.4.3h.4l.4.2.4.2h.4l.5.2h1l.4.2h2.3v1H428l-.5-.2h-.4l-.5-.3h-.6l-.4-.3h-.4l-.5-.3-.3-.2-.3-.3-.4-.2-.4-.2-.3-.3-.3-.2-.3-.3-.3-.3-.3-.3v-.3l-.3-.3-.2-.3-.2-.4-.2-.3v-1l-.2-.4zm10.3-8l.2 1h-1.5l-.5.2h-.5l-.5.2-.4.2h-.5l-.4.3-.5.2-.4.2-.3.2-.4.2-.3.2-.3.3-.4.2-.3.3-.3.2-.2.3-.3.2-.2.3-.2.3-.2.4-.2.3v.3l-.3.3v.8l-.2.3v.6l-1 .2V277l.2-.4v-.3l.2-.4v-.5l.3-.3.2-.4.3-.3.2-.3.3-.3.2-.4.4-.3.4-.3.3-.3.4-.3.5-.2.3-.3.5-.3.4-.2.4-.2.6-.2h.4l.5-.2h.5l.5-.3h.5l.5-.2h1.1l.5-.2z"/>
+        <path fill="#edb92e" d="M382.4 270l23.8 9-19.7 13c-5-1.6-9-19-4-22z"/>
+        <path fill="#21231e" d="M406 279.4l-23.8-9 .4-1 23.7 9v1h-.3zm.3-1l1 .4-1 .5v-1zm-20 13.3l19.6-13.2.4.8-19.6 13.3h-.4v-1zm.5 1h-.4.4zm-4.2-23.3l-.4 1h.5l-.4.2-.4.3-.4.4-.2.5-.2.4-.2.7-.2.8v1.5l-.2.8v2.8l.3.8v1l.2.8.2 1 .2 1 .3.7v1l.5 1 .3.7.3.7.5.8.4.6.3.6.4.6.4.5.5.4.4.2.3.3.4.2-.3 1-.6-.3-.5-.3-.5-.3-.5-.5-.4-.6-.6-.6-.4-.7-.4-.7-.4-.7-.4-1-.3-.8-.3-1-.3-.8-.4-1-.2-.8-.2-1-.2-1v-.8l-.3-1v-5.2l.3-.8.2-.7.3-.6.3-.6.4-.5.4-.5.5-.4h.6zm-.5 0h.6-.5zm.4.4l.2-.4-.2.5zm-.3-.4h.6-.5z"/>
+        <path fill="#0c4076" d="M382.8 274.3c5.7-.6 10.5 2 11 5.8.3 3.8-4 7.4-9.6 8-3.6.3-6-3-6.3-6.3-.5-3.4 1-7 4.8-7.4z"/>
+        <path fill="#21231e" d="M394.2 280h-1v-.5l-.2-.3v-.3l-.2-.4-.2-.3-.2-.2-.2-.2-.2-.3-.2-.2-.3-.3-.2-.2-.3-.2-.3-.2-.4-.2-.3-.2-.4-.2-.3-.2h-.4l-.5-.3h-.4l-.4-.2h-.8l-.5-.2h-3.6l-.2-1h3.8l.4.2h.5l.4.2.4.2h.4l.5.3.4.2h.5l.4.3.2.2.4.3.3.2.2.3.3.3.3.3.2.2.3.3.2.3.2.3v.5l.3.4v.2l.2.4v.4zm-10 8.4v-1h1l.5-.2h.4l.6-.2.5-.2h.5l.4-.3.4-.2h.4l.4-.3.3-.3.4-.2.2-.2.4-.3.3-.2.2-.3.3-.2.2-.3.3-.3.2-.3.2-.2.2-.3v-.4l.3-.3v-.8l.2-.4v-1h1v1.6l-.2.3v.3l-.2.4-.2.3-.2.4-.2.3-.2.4-.3.4-.2.3-.3.3-.3.3-.5.3-.3.3h-.4l-.4.4-.4.2-.4.3h-.4l-.4.3-.5.2h-.5l-.4.3-.5.2h-.6l-.5.2h-.7l-.5.2h-.5zm-6.8-6.7h1v.7l.2.3v.3l.2.4v.3l.2.2v.2l.2.3.2.2v.3l.3.2.2.3v.2l.2.2h.2l.2.3h.2l.2.3.2.2h.3l.2.2h.2l.2.2h.2l.3.2h1.4v1h-2.1l-.3-.2h-.4l-.3-.3-.3-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.3-.2-.2v-.2l-.3-.3-.2-.3v-.2l-.3-.4v-.3l-.3-.3-.2-.3v-.3l-.2-.3v-.6l-.2-.3v-.3zm5.4-8v1h-.2l-.4.2h-.8l-.3.3-.3.2-.3.2-.2.2h-.2l-.2.2v.2l-.3.2v.3h-.3v.3l-.2.3-.2.2v.7l-.2.3v.4l-.2.3v2.2h-1V279l.2-.3v-.3l.2-.2v-.3l.2-.3.2-.3v-.4l.3-.3.2-.3.2-.2v-.3l.3-.2.3-.2h.2l.3-.3.4-.2.3-.2h.3l.3-.2h.7l.4-.2h.4z"/>
+        <path fill="#fff" d="M457.5 280.4c1.7 0 3.2 1.5 3.2 3.2 0 1.8-1.5 3.3-3.2 3.3-1.8 0-3.2-1.6-3.2-3.4 0-1.7 1.4-3.2 3.2-3.2z"/>
+        <path fill="#21231e" d="M461.2 283.6h-1v-.6l-.2-.2v-.2l-.2-.3v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.7v-1h1l.3.2.2.2h.2l.3.2v.2h.2v.2h.2v.3h.2v.2l.2.2v.2h.2v.2l.2.3v.5l.2.2v.2zm-3.7 3.8v-1h.4l.3-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2.2-.2v-.2l.2-.2v-1h1.2v.8l-.2.2v.3l-.2.2v.2l-.2.2-.2.3h-.2v.3h-.3l-.2.2-.3.2-.3.2h-.6v.2h-.6v.2h-.3zm-3.7-3.8h1v1h.2v.2l.2.2v.2l.2.2h.2v.2h.2v.2h.2l.2.2h.2v.2h1v1.2h-.7l-.2-.2h-.5v-.2h-.3l-.2-.2-.3-.2-.2-.2h-.2v-.3h-.2l-.2-.3-.2-.3v-.2l-.2-.3v-.3l-.2-.3v-.8zm3.7-3.7v1h-.9l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.3v.5h-.2v.8h-1v-1.2l.2-.2v-.3h.2v-.3l.2-.2.2-.2v-.2h.4v-.2l.2-.2h.2v-.2h.5v-.2h.4v-.2h1z"/>
+        <path fill="#fff" d="M408.7 283c1.8 0 3.2 1.6 3.2 3.4 0 1.7-1.5 3.2-3.3 3.2a3.2 3.2 0 01-3.2-3.2c0-1.8 1.4-3.3 3.2-3.3z"/>
+        <path fill="#21231e" d="M412.4 286.4h-1v-.9l-.2-.2v-.2l-.2-.2v-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.4l-.2-.2h-.8v-1.2h.7v.2h.7v.2h.3v.2h.3v.2h.3l.2.2.2.3h.2l.2.3.2.3v.3h.2v.6l.2.2v.9zm-3.7 3.7v-1h1v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.3h.2v-.5l.2-.2v-.4h1v.8l-.2.2v.3l-.2.2v.3h-.2v.3h-.2l-.2.3h-.2v.2h-.3l-.2.2h-.2v.2h-.3v.2h-.5l-.2.2h-.8zm-3.7-3.6h1v.8h.2v.5h.2v.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.5v.2h.7v1h-1.2v-.2h-.3v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.3h-.3v-.3h-.2v-.3l-.2-.2v-.2l-.2-.3v-.8zm3.7-3.8v1h-.7v.2h-.5v.2h-.2l-.2.2v.2h-.2l-.2.2v.2l-.2.2v.2h-.2v.7l-.2.3v.4h-1v-1l.2-.2v-.3l.2-.3.2-.3v-.3h.3v-.3h.2l.2-.2.2-.2h.2v-.2h.6l.3-.2h.5l.3-.2h.2z"/>
+        <path fill="#fff" d="M407 268.3c1.8 0 3.2 1.4 3.2 3.2 0 1.8-1.4 3.2-3.2 3.2a3.2 3.2 0 01-3.2-3.2c0-1.8 1.4-3.2 3.2-3.2z"/>
+        <path fill="#21231e" d="M410.7 271.5h-1v-.7l-.2-.2v-.3l-.2-.2h-.2v-.4h-.2v-.2h-.2l-.2-.2h-.2l-.2-.2h-.5v-.2h-.4v-1h.8v.2h.3l.3.2h.2l.3.2h.2v.2l.3.2.2.2.3.3.2.3v.3h.2v.4l.2.2v1zm-3.7 3.7v-1h1v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2.2-.2v-.4h.2v-1h1v1.2l-.2.2-.2.3v.3h-.2l-.2.3h-.2v.3h-.3v.2h-.2v.2h-.2l-.2.2h-.5l-.3.2h-.7zm-3.7-3.7h1v.8l.2.2v.4h.2v.2l.2.2v.2h.2v.2h.2v.2h.2l.2.2h.5l.2.2h.5v1h-.9l-.3-.2h-.2l-.3-.2-.3-.2h-.2l-.2-.2-.2-.3h-.3v-.3l-.2-.3v-.3h-.2v-.4l-.2-.2v-.8zm3.7-3.7v1h-.8v.2h-.5l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.3l-.2.2v.7h-1v-1.2h.2v-.6h.2v-.3h.2v-.3h.3l.2-.2v-.2h.3v-.2h.3l.2-.2h.4v-.2h.5l.2-.2h.7z"/>
+        <path fill="#fff" d="M457.3 266.2c1.8 0 3.2 1.4 3.2 3.2 0 1.8-1.4 3.2-3.2 3.2a3.2 3.2 0 01-3.2-3.2c0-1.8 1.6-3.2 3.3-3.2z"/>
+        <path fill="#21231e" d="M461 269.4h-1v-.8h-.2v-.3l-.2-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2h-.2l-.2-.2h-.2l-.3-.2h-.7v-1h1.1l.2.2h.3l.3.2.3.2.2.3h.2v.2h.2v.2h.2v.3h.2v.3l.2.2v.5l.2.2v.7zm-3.7 3.7v-1h1.2v-.2h.2l.2-.2.2-.2v-.2h.2v-.2h.2v-.2l.2-.2v-.5h.2v-.8h1v1.1l-.2.2v.2l-.2.2-.2.3-.2.3-.2.2-.2.2-.2.2h-.2v.2h-.3v.2h-.4l-.2.2h-1zm-3.7-3.6h1v.5l.2.2v.3l.2.2v.2h.2l.2.2v.2h.2v.2h.2l.3.2h.2l.2.2h.7v1h-1l-.3-.2h-.3l-.3-.2-.3-.2v-.2l-.3-.2-.2-.2v-.2h-.2v-.3h-.2v-.6l-.2-.2v-.7l-.2-.2v-.2zm3.7-3.7v1h-.7v.2h-.4l-.2.2h-.2v.2h-.2v.2l-.2.2-.2.2v.4h-.2v.8h-1.2v-.5l.2-.3v-.4l.2-.2v-.2h.2v-.3h.2v-.3h.2v-.2h.3v-.3l.3-.2.3-.2h.3l.2-.2h1z"/>
+        <path fill="#edb92e" d="M371 237.4c2.3-.8 6 4.6 7 4.5 1.2-3-1.2-10.5-5.5-16.3-3-1-3.2-3-3.8-7.3-.2-1.3-2.7-.4-2.7 2 0 2.3-.3 3.6.3 5.6.2.8 0 1.6-.8 2.3 4.5 1.8 5.6 4 5.4 9z"/>
+        <path fill="#21231e" d="M377.6 241.8l1 .3-.5.4h-.4l-.3-.2-.2-.2-.3-.3-.2-.2-.2-.2-.2-.2-.3-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2-.2-.3-.2-.2-.3h-.3l-.3-.3h-.2l-.3-.3-.3-.2h-.2l-.3-.2h-.4l-.2-.2h-.4l-.4-1h1.3l.3.2h.3l.3.2.2.2h.3l.3.3.2.2h.3l.3.3.3.3v.2l.4.2.2.3.3.2v.2l.4.3.2.2.2.2.2.2.2.2.2.2h.2v.2h.3v.2l-.4.3zm1 .3l-.2.4h-.3l.5-.3zm-6.3-15.8l.4-1 .2.2.3.5.4.5.4.6.4.7.4.5.3.6.5.6.3.6.3.6.4.6.3.6.2.6.2.6.2.5.2.6.2.7.2.5v.6l.3.5v.6l.2.4v.5l.2.4v3.3l-.2.3-1-.2v-.3l.2-.3v-3.6l-.3-.5v-.4l-.2-.5-.2-.5-.2-.5v-.5l-.4-.6-.2-.7-.2-.5-.3-.6-.2-.6-.3-.5-.3-.5-.4-.6-.3-.7-.4-.5-.4-.6-.4-.6-.3-.5-.5-.5-.4-.5.3.2zm.4-1l.2.2-.3-.2zm-4.5-6.7h1v.7l.2.3v1l.2.3v.5l.2.3v.5l.2.2v.4h.2v.3l.2.2v.2h.2v.3h.2l.2.2v.2h.2l.2.2h.2l.2.2h.2l.2.2h.2l.3.2-.4 1h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.2l-.2-.3-.2-.2h-.2v-.2l-.3-.2-.2-.2-.2-.2v-.2l-.2-.2v-.2l-.2-.3v-.2l-.2-.2v-.3l-.2-.2v-.9l-.2-.3v-.6l-.2-.3V219l-.2-.5zm-1.7 1.8h-1v-1l.2-.2.2-.2v-.4h.2l.2-.3h.2l.2-.2.3-.2h.2l.2-.2h1.2v.2h.2v.3l.2.2v.2h-1.6v.2h-.2v.2h-.2v.2h-.2v.3l-.2.2v.8zm.3 5.6l-1 .2v-.6l-.2-.2V224h-.2v-3.6h1v4.2l.2.2v.7l.2.2zm-1 2l-.5.8v-1l.2-.2v-.2h.2v-.4h.2v-.4l-.2-.2v-.2l1-.3v1.8h-.2v.4h-.2v.2h-.2v.2l-.2.2h-.2v-.7zm-.5.8l-.8-.3.7-.6v.8zm5 8.6h1-1v-.5l.2-.5v-2l-.2-.3v-.7l-.2-.3v-.6l-.2-.3v-.2l-.2-.3-.2-.3v-.2l-.3-.3v-.2l-.3-.2-.2-.2-.3-.2-.2-.2-.3-.2h-.3l-.3-.3-.2-.2-.3-.2-.4-.2h-.3l-.4-.2.4-1 .4.2.5.2.4.2.3.2.3.2.4.2.3.2.3.2.3.2v.2l.4.3.2.3.3.3v.2l.3.3v.4l.3.3v.3l.3.3v.7l.2.3v.7l.2.4v2.9h-1zm1 0h-1l.5-.5.6.4zm-1 0v-.4h.5l-.4.4z"/>
+        <path fill="#edb92e" d="M368.8 218.5c-.4 1-.6 1.8-.7 3.4 0 1 .5 2 1.2 3 .8 1 1.8 2 3 2.6.8.5 1.6 1.7 2.3 3 .7 1.4 1.2 3 1.2 4 0 3.5.8 6.7 2.4 7.3 1.2.3 1.6.2 2.4 0-.2-.6 0-1.5-.7-2.4a8 8 0 01-1.4-3.7c0-1-.5-1.6-.2-3.3.4-1.2 1-1.6 1-2.7-.3-2-2-6-4.3-6s-3.4-.3-4.6-3.4c-.3-1-1-1.6-1.2-2z"/>
+        <path fill="#21231e" d="M368.6 222l-1-.2v-1.2l.2-.2v-1h.2v-.7h.2v-.4l1 .3v.4h-.2v1l-.2.2v1.5l-.2.3zm1 2.8l-.8.6v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.4h-.2v-.5l-.2-.2v-.7l-.2-.2v-.7h1v1.1h.2v.7h.2v.4h.2v.4h.2v.2h.2v.2zm3 2.4l-.6 1v-.2h-.4v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.3v-.2h-.2l-.2-.2v-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2.8-.6.2.2.2.2v.2h.2l.2.2v.2h.2l.2.2.2.2h.2v.2h.2v.2h.3l.2.2.2.2h.2v.2zm2.4 3.2l-1 .4v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2l-.2-.2h-.2l.5-1h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l.2.2v.2l.2.2v.2h.2v.3h.2v.3h.2zm1.2 4.2h-1v-.8l-.2-.2v-.8h-.2v-.5h-.2v-.4h-.2v-.5h-.2v-.2l-.2-.2 1-.4v.4h.2v.4h.2v.5l.2.2v.3h.2v.6h.2v1h.2v.7zm-1 0zm3 6.8l-.3 1h-.3l-.2-.2-.3-.3v-.2l-.3-.2h-.2l-.2-.3v-.2h-.2v-.3l-.2-.2v-.3l-.2-.2v-.3l-.2-.2v-.5l-.2-.3v-.8l-.2-.3V236l-.2-.3v-1.5h1v2.1l.2.3v1.4l.2.2v.8l.2.2v.2l.2.2v.4l.2.2v.2l.2.2.2.2v.2h.2v.2h.2l.2.2zm1.7.8l1-.3-.5.5h-.4v.2h-1.4l-.2-.2h-.4l.3-1h.7v.2h1.2v-.2l-.3.7zm1-.3v.4h-.5l.4-.5zm-1.7-2l.8-.7h.2v.4h.2v.4h.2v.8l.2.2v1l-1 .4V241l-.2-.2v-.8h-.2v-.2zm-1.5-4h1v.8h.2v.8l.2.2v.2l.2.2v.2h.2v.5h.2v.2h.2v.2l-.7.7v-.2l-.2-.2v-.4h-.2v-.5h-.2v-.2l-.2-.3v-.2l-.2-.2v-.2l-.2-.3v-.4l-.2-.2v-.5zm1 0zm-1.2-3.4l1 .2v3l.2.2-1 .2v-.8l-.2-.2v-2.6zm1-2.5h1v.7h-.2v.6l-.2.2v.2l-.2.2v.2h-.2v.6h-.2v.2l-1-.2v-.4h.2v-.4l.2-.2v-.2l.2-.2v-.2l.2-.2v-.9zm-4-5.5v-1h1.1l.3.2h.2l.2.2h.3l.2.2.2.2v.2l.3.2v.2l.3.2.2.3v.2l.3.3.2.2.2.3v.2l.2.3v.2l.2.3v.3l.2.2v.3l.2.2v.5l.2.3v.8h-1v-1l-.2-.2v-.4l-.2-.3-.2-.4v-.2l-.2-.2v-.3l-.3-.3v-.2l-.2-.2v-.3l-.2-.2-.3-.3-.2-.2-.3-.3-.3-.2-.3-.2h-.8zm-5-3.7l1-.4v.3l.2.3v.2l.2.2v.2l.2.2v.2l.2.2.2.2v.2h.2v.2h.2v.2h.4v.2h.7v.2h1.7v1H373l-.3-.2h-.4v-.2h-.3v-.2h-.3v-.3h-.3v-.2l-.2-.2-.2-.3-.2-.2v-.2l-.2-.2-.2-.4-.2-.2v-.3l-.2-.2zm-.4-2l-1-.5h1.2v.4h.2v.2h.2v.2h.2v.4h.2v.2l.2.2v.2l.2.2-1 .4v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2h.8zm-1-.5l.5-1 .5 1h-1zm.6.2l.4.2-.4-.2zm-.5-.2l.4-1 .5 1h-1z"/>
+        <path fill="#edb92e" d="M360 227l2-1a6 6 0 014-.2c5.5 1.7 8 11.6 1.8 14-1.2.2-2.3-1-3.4-3.3a20.5 20.5 0 00-4-6.8c-1-1-1-2-.4-2.6z"/>
+        <path fill="#21231e" d="M362 225.5l.3 1h-.4v.2h-.4v.2h-.8v.2h-.2l-.2.2-.7-.7.2-.2v-.2h.4v-.2h.8v-.2h.4v-.2h.4zm4-.2l-.2 1h-.5v-.2h-2.1v.2h-.7l-.2.2-.5-1h.4l.3-.2h.8v-.2h1.6l.2.2h.4zm2 15l-.2-1h-.2l.5-.2h.6l.4-.4.4-.3.3-.4.3-.5.2-.4.2-.3.2-.5v-.5l.2-.5V232l-.3-.4-.2-.5-.2-.5v-.5l-.4-.4-.2-.5-.4-.3-.3-.5-.4-.3-.3-.5-.4-.3-.5-.3-.3-.4-.5-.2h-.4l.2-1h.6l.5.3.7.3.4.4.6.3.5.4.5.6.3.4.4.5.3.5.3.6.3.5.3.7.2.6v.6l.3.5v3.4l-.2.5-.2.6-.3.6-.2.5-.3.5-.4.5-.4.4-.4.3-.6.3-.6.3zm0 0zm-4-3.6l1-.4v.4l.2.2.2.3.2.3v.2h.2v.5h.2v.2l.2.2.2.2h.2v.2h.2l.2.2h.8v1.2h-.8v-.2h-.5l-.2-.2-.2-.2-.2-.2-.2-.2v-.2h-.2l-.2-.2v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.3-.3-.3zm0 0zm-4-6.6l.7-.6.2.2v.2h.2l.2.3v.3h.2l.2.3v.2l.2.2h.2v.3l.3.2v.2l.2.2.2.2v.4l.2.2.2.3v.3l.2.2.2.3v.3l.2.3v.3l.3.3.2.4v.3l.3.3v.3l-1 .4v-.6l-.2-.2v-.3l-.3-.2v-.3l-.2-.2v-.5l-.3-.3v-.2l-.2-.2v-.3l-.3-.2-.2-.3v-.2l-.3-.2v-.2h-.2v-.3h-.3v-.3l-.2-.2-.3-.3v-.2l-.2-.2h-.2v-.2l-.2-.2zm0 0zm0-3.4v1l.3-.2v.2h-.2v.8h.2v.4l.2.2.2.2v.2l-.7.7h-.2v-.2l-.2-.2-.2-.2v-.3h-.2V227h.2v-.2h.2l.4-.2zm-.4 0h.4-.4zm.4 1v-1l.3 1h-.3zm.3 0h-.2.3z"/>
+        <path fill="#edb92e" d="M362.8 227.7c5.4-2 9.4 8.3 4.3 10.2-2.6 1-2.8-2.4-3.4-4.3-.7-2.5-6-4-.8-6z"/>
+        <path fill="#21231e" d="M367.3 238.4l-.4-1h.3l.3-.3.3-.2.2-.3.2-.3.2-.3v-.5l.2-.4v-2.7l-.2-.4-.2-.5-.2-.4-.2-.4-.3-.4-.3-.4-.2-.3-.4-.4-.3-.2-.3-.2-.4-.2-.4-.2h-.4l-.3-.2h-1.3l-.4.2-.4-1h.6l.5-.2h1.6l.5.3.5.2.4.2.4.4.5.4.4.4.3.4.3.5.2.4.3.6.3.5.2.6.2.6v.5l.2.5v1.6l-.2.5v.5l-.3.5-.2.4-.3.5-.4.3-.4.4-.4.2-.5.2zM363 234l1-.4.2.2v.6l.2.2v.8l.2.2v.4l.2.2v.2l.2.3.2.3v.2h.2v.2h.2l.2.2h1.2l.3.8h-.3l-.3.2h-1.2l-.2-.2h-.2v-.2l-.3-.2-.3-.3v-.2l-.2-.2v-.2h-.2v-.3l-.2-.2v-.4h-.2v-.8l-.2-.2v-.8l-.2-.2v-.2zm-.4-6.7l.4 1h-.5l-.3.3h-.4l-.2.3h-.2l-.2.2v.2h-.2v.4h.2v.3l.2.2v.2h.3v.3l.3.2h.2l.2.2.2.2.2.2.2.2.2.3.2.3.2.2v.3l.3.2v.6l-1 .3v-.7l-.2-.2h-.2v-.3l-.3-.2h-.2v-.3l-.3-.2-.2-.2-.2-.2-.2-.2v-.2l-.2-.2h-.2v-.3l-.3-.3v-.2l-.2-.2v-.8l.2-.3v-.3l.3-.2.2-.2.3-.3.3-.2h.4l.4-.3.6-.2z"/>
+        <path fill="#0c4076" d="M363.4 229.3c2.6-1 6.2 5 3 6.5-2.3 1-4-.3-4.8-2-.7-2 0-3.8 1.7-4.5z"/>
+        <path fill="#21231e" d="M366.5 236.3l-.4-1h.3l.2-.2h.2v-.2l.2-.2v-2l-.2-.3v-.3h-.2v-.4l-.3-.3-.2-.2-.3-.4-.2-.2-.2-.2h-.2v-.2l-.3-.2h-1.1l-.3-1h1.5l.4.3.3.2.2.3.2.2.3.2.2.2.2.3v.3l.3.3.2.4.2.3v.4l.2.4v2.6l-.2.3-.2.4-.2.3-.2.2h-.4l-.3.3zm-5.4-2.5l1-.3.2.3.2.3v.2l.2.3.2.2.2.2h.3v.2h.2l.3.2h.4v.2h1.3l.3-.2.5 1h-.7l-.2.2h-1.9l-.2-.2h-.2v-.2h-.3l-.2-.2-.3-.2-.3-.3-.3-.3h-.2v-.3l-.2-.3-.2-.3v-.2l-.2-.2v-.2zm2.2-5l.3 1h-.3l-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.7l-.2.2v1.1l.2.2v.3l-1 .3v-.7l-.2-.3v-1.5l.2-.2v-.3l.2-.2.2-.3.2-.3v-.2l.3-.2v-.2h.3l.2-.2.3-.2h.2l.2-.2zm.2.5l-.2-.5.2.5z"/>
+        <path fill="#fff" d="M400 179.7c3.6 0 6.4 2.8 6.4 6.4 0 3.6-2.8 6.5-6.3 6.5s-6.3-3-6.3-6.4 3-6.3 6.4-6.3z"/>
+        <path fill="#21231e" d="M407 186h-1c0-2-1.4-4.3-3.3-5.2a5.8 5.8 0 00-2.6-.6v-1c2.4 0 4.7 1.2 6 3.2a7 7 0 011 3.7zm-7 7v-1a6 6 0 005.3-3.3 6 6 0 00.6-2.6h1c0 2.4-1.3 4.7-3.3 6a6.8 6.8 0 01-3.6 1zm-6.8-7h1a6 6 0 003.3 5.4 5.8 5.8 0 002.6.6v1a6.8 6.8 0 01-5.7-3.3 7 7 0 01-1-3.6zm7-7v1.2a5.9 5.9 0 00-5.3 3.2 6 6 0 00-.8 2.7h-1a7 7 0 013.3-5.8 6.8 6.8 0 013.6-1z"/>
+        <path fill="#fff" d="M395.4 169c3.5 0 6.4 3 6.4 6.4 0 3.6-3 6.4-6.4 6.4s-6.3-2.8-6.3-6.4c0-3.5 3-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M402.3 175.4h-1c0-2.2-1.3-4.3-3.2-5.3a5.8 5.8 0 00-2.6-.5v-1c2.4 0 4.6 1.3 6 3.2a7 7 0 011 3.7zm-7 7v-1c2.3 0 4.4-1.4 5.4-3.3a6 6 0 00.6-2.6h1c0 2.4-1.2 4.7-3.2 6a6.8 6.8 0 01-3.6 1zm-6.7-7h1a6 6 0 003.2 5.3c.8.4 1.7.6 2.6.6v1a6.8 6.8 0 01-5.8-3.2 7 7 0 01-1-3.6zm6.8-7v1c-2 0-4.2 1.4-5.2 3.3a6 6 0 00-.6 2.7h-1c0-2.3 1.2-4.6 3.2-6a7 7 0 013.6-1z"/>
+        <path fill="#fff" d="M410.7 131.5c3.4 0 6 2.7 6 6s-2.6 6.3-6 6.3-6.2-2.7-6.2-6.2a6 6 0 016.2-6z"/>
+        <path fill="#21231e" d="M417.3 137.7h-1c0-2.2-1.2-4.2-3-5a5.6 5.6 0 00-2.6-.7v-1a7 7 0 015.6 3 6.7 6.7 0 011 3.7zm-6.6 6.6v-1c2 0 4-1.2 5-3 .4-1 .6-1.8.6-2.6h1c0 2.2-1.2 4.5-3 5.6a6.6 6.6 0 01-3.6 1zm-6.7-6.7h1c0 2.2 1.3 4.2 3.2 5a5.6 5.6 0 002.5.7v1a6.6 6.6 0 01-5.6-3 6.7 6.7 0 01-1-3.6zm6.7-6.6v1c-2 0-4 1.2-5 3a5.7 5.7 0 00-.7 2.6h-1a7 7 0 013-5.6 6.6 6.6 0 013.7-1z"/>
+        <path fill="#fff" d="M400.4 136.2c3.5 0 6.3 3 6.3 6.4 0 3.5-2.8 6.4-6.3 6.4s-6.4-3-6.4-6.4c0-3.5 2.8-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M407.2 142.6h-1a6 6 0 00-3.3-5.3 5.8 5.8 0 00-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 011 3.6zm-6.8 7v-1c2 0 4.2-1.4 5.2-3.3a6 6 0 00.6-2.7h1c0 2.3-1.2 4.7-3.2 6a6.8 6.8 0 01-3.6 1zm-7-7h1c0 2.2 1.4 4.3 3.3 5.3a5.8 5.8 0 002.7.5v1a7.2 7.2 0 01-6-3.2 7 7 0 01-1-3.7zm7-7v1a6.2 6.2 0 00-5.3 3.3 6 6 0 00-.5 2.6h-1c0-2.4 1.2-4.7 3.2-6a6.8 6.8 0 013.7-1z"/>
+        <path fill="#fff" d="M392.8 145.3c3.5 0 6.3 2.8 6.3 6.4 0 3.5-2.7 6.4-6.2 6.4s-6.4-2.8-6.4-6.3c0-3.6 3-6.4 6.4-6.4z"/>
+        <path fill="#21231e" d="M399.6 151.7h-1a6 6 0 00-3.2-5.3 5.8 5.8 0 00-2.6-.6v-1c2.3 0 4.6 1.2 5.8 3.2a7 7 0 011 3.7zm-6.8 7v-1c2 0 4.2-1.4 5.2-3.4a6 6 0 00.6-2.6h1c0 2.3-1.2 4.6-3.2 6a6.8 6.8 0 01-3.6 1zm-7-7h1c0 2 1.4 4.3 3.3 5.2a5.8 5.8 0 002.8.6v1a7.4 7.4 0 01-6-3.3 7 7 0 01-1-3.6zm7-7v1a6 6 0 00-5.3 3.3 6 6 0 00-.6 2.7h-1c0-2.4 1-4.7 3.2-6a7 7 0 013.6-1z"/>
+        <path fill="#fff" d="M391.5 156.7c3.6 0 6.4 2.8 6.4 6.4s-3 6.5-6.5 6.5-6.3-3-6.3-6.4 2.8-6.3 6.3-6.3z"/>
+        <path fill="#21231e" d="M398.4 163h-1c0-2-1.3-4.2-3.2-5.2a5.8 5.8 0 00-2.7-.6v-1c2.4 0 4.7 1.2 6 3.2a7 7 0 011 3.7zm-7 7v-1a6 6 0 005.4-3.3 6 6 0 00.6-2.6h1c0 2.5-1.3 5-3.4 6a6.8 6.8 0 01-3.5 1zm-6.7-7h1c0 2.3 1.3 4.4 3.2 5.4.7.4 1.6.6 2.5.6v1a7 7 0 01-5.8-3.2 7 7 0 01-1-3.7zm6.8-6.8v1c-2 0-4.2 1.3-5.2 3.2a6 6 0 00-.6 2.7h-1c0-2.3 1.2-4.6 3.2-5.8a7 7 0 013.5-1z"/>
+        <path fill="#edb92e" d="M474.4 198c-2.7-5-5.6-8.2-8.6-9.6 4.2-13.2 5.2-30.2 2.7-51-.2-3.3-1-4.6-2.2-4.6-1 0-1.7 1.6-1.8 5.2.8 11.6 1.7 21.6 1.2 30.2-.5 7.6-2.3 14-4.2 21.2-.3 1 .4 1.7 3.8 3.7 2.6 1.5 4.2 3.3 4.7 5 .7-.2 1.2 0 1.5 0 2.5.8 3.6.6 3 0z"/>
+        <path fill="#21231e" d="M465.3 188.2l1 .3-.3-.6h.3l.3.2.3.2.2.2h.3l.3.3h.3l.4.4.2.2.3.2.2.3.3.3.3.3.3.3.3.2.3.3.3.3.2.3.2.5.3.3.3.4.2.3.3.4.3.3.2.4.3.4.3.5.2.5.3.4.3.4.3.5.3.5-1 .5-.3-.5-.2-.4-.3-.5-.2-.5-.3-.4-.3-.3-.2-.4-.3-.4-.3-.5-.3-.4-.2-.2-.3-.4-.4-.3-.2-.2-.3-.3v-.3l-.4-.3-.3-.4-.2-.3-.2-.2-.3-.2-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.3-.2h-.3l-.3-.3-.4-.2-.3-.6zm.3.6h-.4v-.6l.4.6zm2.4-51.5h1l.2 2 .2 1.8.2 2 .2 2v1.8l.2 1.8v1.8l.2 1.8v15l-.3 1.5-.2 1.5v1.5l-.3 1.5-.2 1.5-.2 1.4-.2 1.5-.2 1.3-.3 1.4-.3 1.3-.3 1.4-.3 1.3-.4 1.3-.3 1.3-.4 1.2-1-.3.4-1.2.4-1.3.4-1.3.3-1.3.3-1.2.3-1.3.3-1.4.2-1.3.3-1.4.3-1.5.2-1.4V172l.3-1.6V169l.2-1.7v-1.6l.2-1.6v-13.6l-.2-1.8v-2l-.2-1.7-.2-2-.2-1.8-.2-2-.2-2zm0 0zm-1.7-4v-1h.6v.2h.3v.2h.2l.2.3h.2v.5h.2v.3l.2.2v.3l.2.2v.4l.2.4v.9l.2.3v.4h-1v-.9l-.2-.2v-.6l-.2-.2v-.5h-.2v-.5h-.2v-.2l-.2-.2h-.2v-.2h-.4zM465 138h-1v-1.7l.2-.3v-1l.2-.3v-.7h.2v-.3l.2-.3v-.3h.2l.2-.2.3-.2.2-.2h.5v1h-.2v.2h-.2v.2l-.2.2v.3l-.2.3v.6l-.2.2v1.6l-.2.4v.7zm-1 0zm2.2 30.2h-1V154l-.2-1v-2.8l-.2-1v-2l-.2-1v-1l-.2-1v-2l-.2-1V139l-.2-1 1-.2v1l.2 1.2v2l.2 1v2.2l.2 1v2l.2 1v2l.2 1v2.8l.2 1v12zm-4.3 21.3l-1-.3.2-.6v-.7l.3-.8.2-.6.2-.7v-.7l.2-.7.2-.6.2-.7v-.6l.3-.6v-.6l.2-.6.2-.7v-.5l.2-.6.2-.8v-.6l.2-.7.2-.7v-.7l.2-.6v-.7l.2-.6v-.7l.2-.7v-.7l.2-.6V169l.2-.8h1v1.5l-.2.7v1.5l-.2.6v.7l-.2.8v.7l-.2.6v.8l-.2.7-.2.6v.8l-.2.6-.2.7v.7l-.3.7v.6l-.3.7v.6l-.3.6-.2.6v.6l-.3.7-.2.5-.2.7v.6l-.3.7-.2.7-.2.6v.7zm3.6 3l-.5 1-.2-.2h-.3l-.3-.3-.3-.2h-.4l-.2-.3h-.2l-.3-.3h-.3v-.2l-.3-.2h-.2l-.2-.2-.2-.3h-.2v-.2h-.2l-.2-.2v-.2l-.2-.2v-1l1 .2v.5h.2v.2l.2.2h.2v.2h.2l.2.2.3.3h.2l.2.2.2.2h.2l.2.3h.3l.3.3.3.2h.3zm0 0zm4.2 5.2l.4 1-.7-.4v-.2l-.2-.2v-.3l-.2-.2v-.3l-.2-.3-.3-.3-.2-.3-.3-.2-.3-.3v-.2h-.3v-.2h-.3v-.2l-.3-.2h-.2v-.3h-.3l-.2-.2h-.3l-.2-.2-.2-.2h-.2l.6-1 .2.2h.2l.3.3.2.2.2.2h.2v.3h.4l.2.3.3.3.3.3.2.2.3.3v.3l.3.2h.2v.3l.3.2v.2h.2v.3l.2.2v.2l.2.3v.3l.2.2v.2l-.6-.3zm.4 1h-.5l-.2-.4.7.3zm1.4-1.2l-.3 1h-1l-.4-.8h.2l.2-.2h1.4zm3.3.5h-1l.7-.4.2.2v.8l-.2.2h-.2v.2h-1.8l-.2-.2h-.3l-.2-.2h-.5l.3-1h.7l.2.2h1v.2h.7v.4l.7-.4zm-1 0v-1l.7.6-.8.4zm0 0h1l-1 .3v-.3z"/>
+        <path fill="#edb92e" d="M458.4 214.6c1.6-1 2-.8 2.4-1.4.6-.8.6-2.2.4-3.5-.8-5.3 2.4-4.6 6-2.2 1.7 1 3.5 4 5 5.3s2.8 1.5 3.2 2v9.2c-.4.6-1.7.7-3.2 2-1.5 1.5-3.3 4.2-5 5.4-3.6 2.3-6.8 3-6-2.2.2-1.3.2-2.7-.4-3.5-.5-.7-.8-.4-2.4-1.4a7 7 0 01-2.3-2.2c-.4-.8 0-1.7 0-2.6 0-1-.4-1.8 0-2.6.6-.8 1.4-1.6 2.4-2.2z"/>
+        <path fill="#21231e" d="M460.4 213l.8.5-.2.2-.2.2h-.4v.2h-.4l-.2.2h-.2l-.2.2h-.2v.2h-.5v.2l-.7-1h.6v-.2h.2l.2-.2h.2l.2-.2h.4v-.2h.4v-.2h.2zm.3-3.2l1-.2v2.9l-.2.3v.2h-.2v.2l-1-.5v-.2h.2v-.4h.2v-2.6zm6.7-2.8l-.6 1-.3-.3-.3-.2-.3-.2-.4-.2h-.3l-.3-.2h-.3l-.3-.2h-.3v-.2h-.4l-.2-.2h-1.1v.2h-.2v.2l-.2.2v.6l-.2.3v2l-1 .2v-3l.2-.4v-.3l.3-.2.3-.2.2-.2h.2l.2-.2h.2l.2-.2h1.5v.2h.5l.3.2h.3l.4.3h.3l.3.2.4.2.3.2.3.2.4.2zm5 5.4l-.6.7-.3-.2-.3-.3-.3-.3-.2-.2-.2-.2-.3-.3-.2-.2v-.2h-.2v-.3l-.3-.2-.3-.3-.2-.2v-.2l-.3-.2v-.2h-.3l-.2-.3-.3-.2-.2-.2h-.2l-.2-.2v-.2h-.3v-.2h-.2l.6-1 .2.2.3.2v.2h.3v.3h.3l.2.2.2.2v.2l.3.2h.2v.3l.3.3.2.2v.2l.3.2.3.3h.2v.3l.3.2.2.2.2.2.3.3v.2h.3v.3h.3v.3h.2zm3.5 2.4h-1.2v.3h-.2l-.2-.2h-.2v-.2h-.4l-.2-.2h-.2v-.2h-.3v-.2h-.3v-.2l-.3-.2-.3-.2-.2-.3.7-.6h.2v.2h.2v.2h.2v.2h.2v.2h.3l.2.2.2.2h.2l.2.2h.2l.2.2h.2v.2h.4v.2l.2.2v.2zm-.2-.2v.2-.2zm0 4.8h-1v-4.5l1-.2v4.5zm-1 0zm0 0h1-1zm0 0zm1 5l-1-.7v.3-4.4h1v4.7zm0-.4v.2-.2zm-3.3 2.5l-.7-.8h.2v-.2l.3-.2.3-.2h.3v-.2h.3v-.2h.2l.2-.2h.2v-.2h.4v-.2h.4v-.2l1 .5-.2.2-.2.2h-.2v.2h-.4l-.2.2h-.2v.2h-.4v.2h-.3v.2h-.2l-.2.2-.2.2v.2h-.3zm-5 5.3l-.7-.8h.2v-.2l.3-.2.3-.2.2-.2.3-.3.2-.2.2-.2.2-.2v-.2h.3v-.3l.2-.3.2-.2v-.2l.3-.2.3-.2v-.2l.3-.2.2-.2v-.2h.3v-.3l.3-.2.2-.2h.2v-.3h.3v-.3l.8.8-.2.2-.2.2-.2.2v.2h-.3v.3l-.3.2-.3.2-.2.2-.2.2-.2.2v.2l-.3.2v.2l-.2.2h-.2v.3h-.3l-.2.3v.2h-.2l-.2.3-.2.2-.3.3-.3.3-.3.2zm-6.8-2.7l1 .3v2.6l.2.2v.2h.2v.2h1.7v-.2h.4l.3-.2h.3l.3-.3.3-.3h.3l.2-.3.3-.2.3-.2.6.8-.4.2-.3.3-.3.2h-.4l-.3.3-.3.2h-.3l-.2.3h-.4l-.3.2h-.4l-.3.2h-.9l-.3-.2h-.3l-.2-.3-.2-.2-.2-.2v-.3l-.2-.2v-.7l-.2-.3V229zm-.3-3l.8-.6v.2h.2v.4h.2v.6l.2.2v2.4l-1-.2v-2.5h-.2v-.4h-.2v-.2zm-2.3-1.3l.7-.8h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.2v.2h.2l.2.2.2.2-.8.6-.2-.2h-.2v-.2h-.4l-.2-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.3zm.7-.8l.5.2-.5-.3zm-3-1.7l.8-.5.2.2v.2h.2v.4h.2v.2h.2v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2l-.5 1v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2zm-.3-3h1v2.4l-.7.5v-.2h-.2v-.4l-.2-.2v-2.1zm.3-2.8l.8.6v.4l-.2.2v1.8h-1V217h.2v-.4h.2zm2.4-2.4l.7 1h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2h-.2v.2l-1-.5h.2v-.2l.2-.2.2-.2v-.2h.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2l.2-.2h.2v-.2h.2zm.7 1l.5-.3-.5.3z"/>
+        <path fill="#21231e" d="M475.5 220.2v1c-4 .4-7 2-9.7 4.3 1.8-2.7 5.7-4.7 9.7-5.3zm0-1.6v-.8c-4-.5-7-2-9.7-4.4 1.8 2.7 5.7 4.6 9.7 5.2z"/>
+        <path fill="#edb92e" d="M461.2 207.3c1 .4 2.3 1 3.4 2 1.6 1.5.6 4-1.5 6.6-.6.7-1 2-1 3.5 0 1.3.5 2.7 1 3.5 2.2 2.5 3.2 5 1.6 6.6-1 1-2.3 1.5-3.4 2v-2.4c.2-1.3.2-2.7-.4-3.5-.5-.7-.8-.4-2.4-1.4a7 7 0 01-2.3-2.2c-.4-.8 0-1.7 0-2.6 0-1-.4-1.8 0-2.6.6-.8 1.4-1.6 2.4-2.2 1.6-1 2-.8 2.4-1.4.6-.8.6-2.2.4-3.5v-2.4z"/>
+        <path fill="#21231e" d="M465 209l-.8.6-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.4v-.2h-.5v-.2h-.2l-.2-.2h-.2l-.2-.2h-.2l.4-1h.2l.2.2h.2l.2.2h.3l.2.2h.2v.2h.3l.2.2h.2v.2h.3v.2h.2l.2.2.2.2.2.2zm-1.5 7.2l-.8-.6.2-.3v-.2h.2l.2-.3.2-.3v-.2l.3-.2v-.5l.2-.2v-.2h.2v-.3l.2-.2v-.4h.2v-1.6l-.2-.3-.2-.2-.2-.2.7-.7.3.3v.2l.2.2v.2h.2v.5l.2.2v1l-.2.2v.4l-.2.2v.5l-.2.3v.3l-.3.2v.5l-.3.2v.3l-.3.2-.2.3v.2l-.3.2-.3.3-.2.2zm-1 3.3h-1v-.7l.2-.2v-1.2h.2v-1h.2v-.4l.2-.2v-.2h.2v-.2l1 .6h-.2v.4h-.2v.2l-.2.2v.9h-.2v1.4h-.2v.5zm1 3.2l-.8.6v-.2h-.2v-.2h-.2v-.4h-.2v-1.1l-.2-.3V220h-.2v-.5h1v1.1l.2.2v.4l.2.2v.4l.2.2v.2h.2v.2zm1.5 7.3l-.8-.8h.2v-.2h.2v-.3l.2-.2v-1.9l-.2-.2v-.2l-.2-.2v-.2l-.2-.3v-.2l-.2-.2-.3-.3v-.3l-.3-.2-.2-.2v-.2l-.3-.3-.3-.2.8-.6.2.2h.2v.4l.2.2.2.3h.2v.3l.3.3v.5l.3.3v.3l.2.2v.5l.2.2v.5l.2.2v.7l-.2.4v.4l-.2.2v.2l-.2.2v.2l-.3.2v.2zm-4.3 1.7l1-.2-.7-.4h.7v-.2h.4l.2-.2h.2l.2-.2h.2v-.2h.4v-.2h.2l.2-.2.2-.2h.2v-.2h.2v-.2l.8.8h-.2v.2h-.2v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-.2v.2h-.4v.2h-.4v.2h-.5v.2h-.2l-.2.2h-.2l-.7-.3zm.7.4l-.6.3v-.6l.6.4zm-.7-3l1 .3v2l-1 .3v-2.4zm-.3-3l.8-.6v.2h.2v.4h.2v.6l.2.2v2.4l-1-.2v-2.4h-.2v-.4h-.2v-.2zm-2.3-1.3l.7-.8h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.2l.2.2.2.2.2.2-.8.6-.2-.2h-.2v-.2h-.4l-.2-.2h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.3zm0 0l-.3-.2.4.2zm-2.3-2.4l.8-.5.2.2v.2h.2v.4h.2v.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2l-.5 1v-.2h-.2l-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2zm0 0l.3.5-.3-.5zm-.3-3h1v2.4l-.7.5v-.2h-.2v-.4l-.2-.2v-2.2zm.3-2.8l.8.6v.4l-.2.2v1.8h-1V217h.2v-.4h.2zm2.4-2.4l.7 1h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2h-.2v.2l-1-.5h.2v-.2l.2-.2.2-.2v-.2h.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2h.2zm2.4-1l.8.5-.2.2-.2.2h-.4v.2h-.4l-.2.2h-.2l-.2.2h-.2v.2h-.5v.2l-.7-1h.6v-.2h.2l.2-.2h.2l.2-.2h.4v-.2h.4v-.2h.2zm.3-3.2l1-.2v2.9l-.2.2v.2h-.2v.2l-1-.5v-.2h.2v-.4h.2V210zm.5-2v-1l.5.6v2.1l-1 .2V207l.5.6zm0-1h.6v.6l-.6-.6zm0 0v1h-.2l.2-1zM361 226.3l.7-.3c-1.6-2.2-2-4.2-1.3-6.3-1.3 1.6-1 4.2.6 6.6z"/>
+        <path fill="#edb92e" d="M410.7 200c1.4 1.6 1.2 2 2 2.5 1 .6 2 .4 3.3 0 5-2 5 2 3.5 6.4-.7 2-2.8 4.3-3.7 6.2-1 1.7-.7 3-1 3.5a95.4 95.4 0 01-4 .6l-4 .5c-.6-.3-1-1.6-2.6-3s-4.4-3-6-4.6c-3-3.5-4.6-6.8.2-6.7 1.2 0 2.4-.2 3-1 .4-.7 0-1 .4-3 .3-1.2.8-2.3 1.4-3 .6-.8 1.5-.6 2.3-.7 1-.2 1.6-.7 2.5-.2 1 .4 2 1.2 2.7 2.3z"/>
+        <path fill="#21231e" d="M413 202l-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.3-.3-.3.8-.6.3.2.2.3v.2h.2v.4h.2v.4h.2v.2l.2.2v.2h.2v.2l.2.2zm-.6 1zm3.5-1l.2 1h-.5l-.2.2h-.8v.2h-1.2l-.3-.2h-.2l-.2-.2h-.2l.5-1v.2h.8v.2h1l.2-.2h.4l.2-.2h.3zm4 7l-1-.3v-.4l.2-.4v-.5l.2-.4v-.3l.2-.3v-.7l.2-.4v-1.7l-.2-.2v-.4h-.2l-.2-.3h-.2l-.3-.2H417l-.4.3h-.4l-.3-.8.3-.2h.5l.4-.2h1.8l.3.2h.3l.2.3.2.4v.2l.3.3.2.4v3.3l-.2.4v.4l-.2.4v.4l-.2.4v.4zm-3.7 6.4l-1-.5v-.2l.2-.2.2-.2v-.2l.2-.2v-.4l.2-.2.2-.2v-.2l.2-.2.2-.2.2-.3.2-.2.2-.3.2-.2v-.2l.2-.2h.2v-.3l.2-.2v-.2l.2-.2.2-.3v-.2l.2-.2v-.2l.2-.3 1 .3v.2l-.2.3v.2l-.2.2-.2.3v.2l-.2.2v.3l-.3.2-.2.2v.2l-.2.2-.2.2v.2l-.2.2-.2.2v.2l-.3.2v.2l-.2.2-.2.2v.2l-.2.2v.4h-.3v.3l-.2.2-.2.2v.2zm-1.5 3.8l-.2-1-.3.2v-.4h.2v-1l.2-.2v-.4l.2-.3v-.4l.2-.3v-.2h.2l1 .4-.2.2-.2.3v.3h-.2v.7h-.2v.9l-.2.2v.4l-.2.2v.2l-.4.2zm.3 0h-.2.3zm-4.3.6v-1h1.1v-.2h1.2v-.2h1.1l.3-.2.2 1h-.4l-.3.2h-.9l-.2.2h-1.3v.2h-.7zm0 0zm0 0v-1 .5-.5 1-.5.5zm0-1zm-4 1.5l.4-1h-.2 1.3l.3-.2h1.9l.2-.2.2 1h-.8v.2h-1.4v.2h-2zm.2 0h-.3.2zm-3-3l.5-1 .2.3.3.3h.2l.2.3.2.2.2.3.2.2v.2h.2v.2h.2v.2l.2.2v.2h.2v.2h.2v.2l-.4 1v-.2h-.2l-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.3v-.2h-.2v-.2h-.3v-.3zm-6-4.8l.7-.6.2.2.3.3.3.3h.2v.3l.3.2h.3l.2.3h.2l.2.3.3.3.2.2.2.2h.2v.2l.3.2h.2l.2.3.2.2.3.3h.2l.2.3.3.2.2.2h.2v.2l-.5.8h-.3v-.2l-.3-.2h-.2v-.2l-.3-.2h-.3l-.2-.2-.2-.2h-.2v-.2l-.3-.2h-.2l-.2-.3h-.2v-.2h-.3l-.2-.2-.2-.2h-.2v-.3h-.3l-.2-.3-.2-.2h-.2v-.3h-.3v-.3l-.3-.2h-.2v-.3l-.3-.2zm.4-7.5v1H397l-.2.2h-.4l-.2.2v.2h-.2v1.5l.2.3v.3l.2.2.2.3.2.4.2.3.2.3.2.3.2.3.3.3v.2l.4.3.3.4-.8.5-.4-.3-.3-.3-.2-.4-.2-.4-.2-.3-.3-.4-.2-.3v-.4l-.3-.4v-.3l-.3-.3v-.3l-.3-.3V206l.2-.2.2-.2.2-.2.3-.2h.2l.3-.2h.7l.4-.2h.8zm2.5-.8l.8.5-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2l-.2.2h-.5l-.2.2h-1.1v-1h1.4l.2-.2h.2l.2-.2h.2v-.2h.2v-.2zm0 0zm.4-2.8l1 .2v.4h-.2v2h-.2v.4l-.2.2-1-.4h.2v-1.4l.2-.3v-.8l.2-.2zm1.4-3.2l.8.6-.2.2v.2h-.2v.4h-.2v.4h-.2v.4l-.2.2v.4l-.2.2v.4l-1-.2v-.7l.2-.2v-.4l.2-.2v-.4h.2v-.4h.2v-.4h.2v-.2h.2v-.4h.2zm.8.6l.5-.7-.4.8zm1.8-1.5l.2 1H404v.2h-.4v.2h-.2l-.8-.5.2-.2.2-.2h.2v-.2h.4l.2-.2h1.4zm.2 1h-.7.6zm2.7-1.2l-.5 1H406l-.2.2h-.4l-.2-1h.8l.2-.2h2.1zm3 3h-1v.2-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2.5-1v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2v.2l.2.2.2.2.2.2v.2l.3.3zm-.2-.4h.2v.3-.4zm-.8.3h1l-1 .2v-.3zm0 .2v-.3.2z"/>
+        <path fill="#21231e" d="M410 219.4h-.7c-1.4-3.8-3.5-7-6.3-9.5 2.8 1.4 5.5 5.3 7 9.4zm1.4-.2c.3 0 .5 0 .8-.2-.5-4 0-7.5 1.5-11-2 2.5-2.8 7-2.3 11.2z"/>
+        <path fill="#edb92e" d="M418.3 202c-.2 1.4-.4 3-1 4.3-1 2-3.8 1.3-6.6-.7-.8-.6-2.2-.8-3.4-.6-1.3.3-2.4.8-3 1.7-1.5 2.6-3.4 4-5.2 2.6-1-1-2-2.3-2.7-3.5.5-.2 1.2-.3 2-.3 1.3 0 2.5-.2 3-1 .5-.7 0-1 .6-3 0-1.2.6-2.3 1.2-3 .6-.8 1.5-.6 2.3-.7 1-.2 1.6-.7 2.5-.2 1 .4 2 1.2 2.7 2.3 1.4 1.6 1.2 2 2 2.5 1 .6 2.2.4 3.3 0 1-.4 1.7-.6 2.3-.5z"/>
+        <path fill="#21231e" d="M417.7 206.5l-1-.4.2-.2v-.5l.2-.2v-.4l.2-.2v-.9l.2-.2v-1.2h.2v-.4h1v1.1l-.2.3v1h-.2v.7h-.2v.7h-.2v.3l-.2.3v.2zm-7.2-.5l.5-.8.3.2h.2l.3.3h.2l.3.3h.2l.3.2.2.2h.2l.3.2h.4v.2h.7l.2.2h1v-.2h.2l.2-.2.2-.3.2-.2 1 .5-.2.2-.2.3-.3.3v.2h-.2l-.2.2h-.2l-.3.2h-2l-.2-.2h-.2l-.3-.2h-.2l-.2-.2h-.2l-.3-.2-.2-.2h-.2l-.3-.3-.2-.2h-.3l-.3-.3-.2-.2zm-3-.4l-.3-1h1.1v-.2h1.3v.2h.6v.2h.4v.2h.2l.2.2-.5.8h-.2v-.2h-.4v-.2h-2.4zm-2.7 1.3l-.8-.6v-.2h.2v-.2h.2v-.2l.2-.2h.2v-.2h.2l.2-.2h.2l.2-.2h.3v-.2h.8l.2-.2h.5l.2 1h-.7v.2h-.4v.2h-.4l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2zm-6 2.7l.6-.8h.3v.2h.5l.2.2h.5l.3-.2h.3v-.2h.3v-.2h.2v-.3h.3v-.3h.3v-.3l.3-.3.2-.2.2-.2v-.2h.3v-.4l.3-.2.8.5v.2l-.3.2v.3l-.3.2h-.2v.3l-.3.2-.2.2-.2.2-.3.3h-.2l-.2.3h-.2v.3h-.3l-.3.2h-.4l-.3.2h-1.2l-.2-.2h-.2l-.2-.2-.2-.2h-.2zm-2.7-4.4l.5 1 .3-.8v.3h.2v.2l.2.2v.2h.2v.2l.2.2v.2h.2v.2l.2.2.2.2.2.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2l-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.2h-.2v-.2h-.2v-.3h-.2v-.2h-.2v-.4h-.2v-.2h-.2V205zm0 .8l-.4-.4.5-.3v.8zm2.4-1v1H397v.2h-.4l-.5-1h1.2v-.2h1.2zm2.5-.8l.8.5-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2l-.2.2h-.7l-.2.2h-1.2v-1h1.4l.2-.2h.4v-.2h.2v-.2h.2v-.2zm0 0zm.4-2.8l1 .3v.3l-.2.3v1.7h-.2v.7h-.2l-1-.4h.2v-1.4h.2v-1.3l.2-.2zm1.4-3.2l.8.6-.2.2v.2h-.2v.4h-.2v.4h-.2v.4l-.2.2v.7h-.2v.5l-1-.3v-.7l.2-.2v-.4l.2-.2v-.4h.2v-.4h.2v-.4h.2v-.2h.2v-.4h.2zm0 0l.4-.5-.4.5zm2.6-1l.2 1h-.6v.2h-1v.2h-.2l-.2.2-.8-.6.2-.2.2-.2h.2v-.2h.4l.2-.2h1.4zm0 0h.6-.6zm3 0l-.6.8H406v.2h-.5l-.2-1h.8v-.2h2.1zm-.6.8l.3.2-.2-.2zm3.3 1.6l-.6.6-.2-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2l-.2-.2.5-1v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2v.2l.2.2.2.2.2.2v.2zm2 2.5l-.6 1-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.3-.2-.3.7-.6.3.2.2.3v.2h.2v.2l.2.2v.4h.2v.2l.2.2v.2h.2v.2l.2.2zm-.6 1l-.2-.2h.2zm3.5-1l.2 1h-.5l-.2.2h-.8v.2h-1.3l-.2-.2h-.2l-.2-.2h-.2l.5-1v.2h.6l.2.2h1.1l.2-.2h.4l.2-.2h.2zm2.8 0h-1l.5.5h-1l-.2.2h-.4l-.2.2h-.2l-.3-1 .2-.2h.8v-.2h1.5l.5.4zm-.5-.5h.6l-.2.5-.5-.5z"/>
+        <path fill="#edb92e" d="M391.8 221.2c.7-1 1-.8 1.2-1.3.2-1-.3-2-1-3.2-2.2-4.6.3-4.2 3.6-2.4 1 .4 2 1.2 3 2 1 1 1.8 1.8 2.7 2.4 1.6 1.2 2.7 1.2 3 1.7 1 2 1.5 3.5 1.8 4.2.3.7 1 2.3 1.6 4.2 0 .4-1 .5-1.8 2-.7 1.2-1.2 3.5-2 4.7-1.4 1.6-2.5 2.6-3.4 2.4-1 0-1.6-1.3-1.8-4.2a4 4 0 00-1.5-3c-.5-.6-.6-.4-2-1.2a9.3 9.3 0 01-2.4-2c-.6-.6-.7-1.3-1-2-.3-1-.8-1.6-.7-2.4a3.8 3.8 0 01.8-2z"/>
+        <path fill="#21231e" d="M392.5 219.7l1 .3v.2l-.2.2v.2h-.2v.2h-.2v.2h-.2l-.2.2v.2h-.2l-.8-.5v-.2l.2-.2.2-.2.2-.2h.2v-.2h.2v-.2zm1 .3zm-1.8-3l1-.5v.4l.2.2v.4l.2.3v.2l.2.2v2l-1-.3v-1.2l-.2-.2v-.4h-.2v-.4h-.2v-.4zm4.2-3l-.6.8h-.3l-.2-.3h-.3l-.3-.3h-.3l-.3-.2h-.3l-.2-.2h-.5l-.2-.2h-.6v1.5l.3.4.2.3.2.4.2.5-1 .5v-.4l-.3-.4-.2-.4v-.7l-.2-.2v-1.5l.2-.2h.2l.2-.2h.2l.2-.2h1.2l.2.2h.6l.3.3.3.2h.3l.3.2.2.2.4.2h.3zm2.8 2l-.7 1v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2.5-1v.2h.2v.2h.2l.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2l.2.2.2.2.2.2h.2v.2h.2zm2.8 2.4l-.6.8h-.2v-.2h-.2v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.2l.6-1v.2h.2l.2.2v.2h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2l.2.2zm3.3 2l-1 .3v.2-.2h-.2v-.2h-.4l-.2-.2h-.2l-.2-.2h-.3l-.2-.2h-.3v-.2h-.3v-.2h-.3v-.2h-.3v-.2l.6-.8.2.2h.2v.2h.3l.2.2h.2l.2.2h.2v.2h.4l.2.2h.4v.2h.2l.2.2h.2v.3zm-.2-.3v.2zm1.7 4.5l-1 .4v-.7l-.2-.2v-.4l-.2-.2v-.5h-.2v-.4l-.2-.3v-.3h-.2v-.5h-.2v-.5h-.2v-.3l1-.4v.4l.2.3v.2l.2.3v.2l.2.3v.3l.2.3v.4h.2v.4l.2.2v.4h.2v.4zm0 0zm0 0l-1 .4h.3l.3.2-.5-.5.6.5-.5-.5.6.5-.5-.5.2.4-.2-.3v.2l1-.5v.2-.4.4l-.4-.5.6.5-.5-.5.6.5-.5-.5h.4v.3zm0-.2v.2-.2zm1.6 4.7l-1-.2v.3-.5l-.2-.3v-.2l-.2-.3v-.3l-.2-.3v-.2l-.2-.2v-.4l-.2-.2v-.2l-.2-.2v-.4l-.2-.2 1-.5v.4h.2v.5h.2v.5l.2.2v.3l.2.3v.5l.2.2v.3l.2.2v.2l.2.2v.6zm0-.3v.3-.3zm-1.7 2.4l-1-.4.2-.2v-.2h.2v-.2l.2-.2v-.2h.2v-.2h.2l.2-.2h.2v-.2h.2v-.2l1 .2v.4h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2v.2zm-2.2 5l-.7-.7.2-.3v-.2h.2v-.3l.2-.2v-.4l.2-.2v-.5h.2v-.4h.2v-.5h.2v-.2l.2-.3v-.2l.2-.3v-.2l.2-.2 1 .5-.2.2v.3h-.2v.4h-.2v.5l-.2.2v.3l-.2.2v.3l-.2.2v.3l-.2.2v.3l-.2.2v.3h-.2v.3h-.2v.3l-.2.2v.2zm-3.7 2.7l.2-1h.4v-.2h.2l.2-.2h.2v-.2h.2l.2-.2.2-.2.2-.2.2-.2.2-.3.2-.2v-.2h.2v-.3l1 .7h-.2v.3h-.3v.3h-.2v.3h-.4v.4h-.2v.2h-.2l-.2.2-.2.2-.2.2h-.3v.2h-.4v.2h-1zm-2.2-5h1v.3l.2.2v1.1h.2v.5l.2.2v.3l.2.2v.2h.2v.2h.2v.2h.2v1h-.8v-.2h-.2l-.2-.2-.2-.2v-.3h-.2v-.2l-.2-.2v-.3l-.2-.3v-.4h-.2v-1l-.2-.2v-1zm-1.2-2.6l.7-.6.2.2v.2h.2v.2l.2.2v.2h.2v.3l.2.2v.2h.2v.7h.2v.6l-1 .2v-1h-.2v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.4h-.2v-.2h-.2zm-2-1l.4-.8h.3v.2h.4v.2h.4v.2h.4v.2h.4v.2h.2v.2l-.6.7h-.2l-.2-.2h-.4v-.2h-.4l-.2-.2h-.2l-.2-.2h-.3zm-2.5-2l.7-.6.2.2.2.2.2.2.2.2h.2v.2h.2v.2h.2l.2.2h.2v.2h.2l.2.2-.5 1v-.2h-.2v-.2h-.4v-.2l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2zm-1.2-2.3l1-.4v.2h.2v.4h.2v.5h.2v.4h.2v.2l.2.2-.7.7h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.8h-.2v-.2zm-.6-2.5h1v.8h.2v.4l.2.2v.2l.2.2v.2l-1 .5v-1h-.2v-.4h-.2v-.6h-.2v-.8zm1 0v.2zm.4-1.5v-1l.3.8v.4h-.2v.2h-.2v.8h-.2v.2h-1v-.9l.2-.2v-.4l.2-.2v-.2h.2v-.4h.2v-.2h.2l.4.7zm0-1h1l-.7.8-.2-.8zm0 0v1l-.4-.8.4-.3zm0 1h-1l.6-.8.4.7z"/>
+        <path fill="#21231e" d="M406.5 226l.2 1c-1.4.4-2.6 1-3.6 1.8s-1.7 2-2.3 3.2c.2-1.4 1-2.7 2-3.7s2.3-1.8 3.8-2.2zm-.6-1.6l-.5-1c-1.6 0-3.2-.4-4.7-1-1.5-.7-3-1.6-4.4-2.8 1 1.3 2.6 2.4 4.3 3.3 1.6.7 3.5 1.3 5.2 1.5z"/>
+        <path fill="#edb92e" d="M391.4 213.8c1 .4 1.6.8 2.8 1.8.8.7 1.3 1.7 1.5 3 0 1 0 2.5-.3 3.8-.2.8 0 2.2.5 3.6.4 1.4 1 2.8 2 3.5 2.3 2.5 4 5 3.4 6.7a4 4 0 01-1.5 1.8c-.4-.6-1-1.2-1.4-2.2a8 8 0 00-1.5-3.5c-.5-.6-.7-1.3-2-2.2-1-.5-2-.3-2.6-1-1.2-1.6-3-5.5-1.3-7.2 1.7-1.7 2.3-2.7 1-5.6-.5-1-.5-1.8-.6-2.4z"/>
+        <path fill="#21231e" d="M394.5 215.2l-.7.8-.2-.2-.2-.2-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2h-.2l-.2-.2h-.4l.3-1h.4v.2h.4v.2h.4v.2h.4v.2h.2v.2h.2l.2.2.2.2h.2v.2h.2v.2zm1.7 3.2l-1 .2v-.6h-.2v-.7h-.2v-.4l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l.7-.8h.2v.2l.2.2v.2h.2v.2l.2.2v.2h.2v.4l.2.2v.4h.2v.8h.2v.2zm-.3 4h-1V221h.2v-2.4l1-.2v3.3l-.2.2v.5zm-1 0v-.3.3zm1.4 3.5l-1 .2v-.5l-.2-.3v-.4l-.2-.3v-.8h-.2v-1.4h1v1.9h.2v.7h.2v.7h.2v.3zm1.8 3.2l-.7.7v-.2l-.2-.2h-.2v-.4h-.2v-.2l-.2-.3v-.2h-.2v-.2l-.2-.3v-.2h-.2v-.5l-.2-.2-.2-.3v-.4h-.2l1-.4v.2l.2.2v.2l.2.3.2.2v.3l.2.2v.2h.2v.2h.2v.4h.2v.2h.2v.2h.2v.2zm3.6 7.2l-1-.4.2-.2v-1.3l-.2-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.2-.2-.2-.2v-.2l-.3-.2-.2-.3v-.3l-.3-.2-.2-.2-.2-.3-.2-.2-.2-.2-.2-.2-.3-.3h-.2l.7-.8.3.2.2.2.2.3.3.4.3.2.2.2v.3l.3.3.3.2.2.3v.2l.3.2.2.3v.2l.2.2.2.2v.2l.2.2v.2l.2.3v.7l.2.2v1.2l-.2.2zm-2.4 1.8l1-.4-.8-.2.2-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l1 .4v.2l-.2.2v.2l-.2.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2l-.2.2-.8-.2zm.8.2l-.5.3-.3-.5.8.2zm-2-2.5l1-.3v.4h.2v.4h.2v.2h.2v.2l.2.2v.2h.2v.4l-.8.4v-.2h-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.4l-.2-.2v-.2l-.2-.2v-.3zm-1.5-3.3l.8-.7v.2h.2v.2l.2.2v.2l.2.2v.2h.2v.5h.2v.4l.2.2v.4l.2.3v.7l-.8.2v-.4h-.2v-.5l-.2-.2v-.5h-.2v-.2l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2zm0 0zm-2-2.2l.4-1 .3.2.2.2h.2l.2.2.2.2.2.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2l-.7.7-.2-.2v-.2h-.2v-.2h-.2v-.4h-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2zm-2.7-1.3l.8-.6h.2v.2h.2v.2h.9l.2.2h.4l.2.2h.2l.2.2-.4 1v-.2h-.4l-.2-.2h-.9v-.2h-.4l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2zm-1.2-7.8l.7.7v.3h-.2v.3h-.2v2.2l.2.3v.5l.2.2v.2l.2.3v.2l.2.2v.2l.2.2v.2l.3.2v.2h.2v.3l.2.2-.7.7-.2-.3-.2-.3v-.2l-.2-.2v-.2h-.3v-.3l-.2-.3-.2-.4v-.2l-.2-.3v-.2l-.2-.2v-.6l-.2-.3v-2.1l.2-.3v-.2h.2l.2-.3.2-.3zm.7-5l1-.5v.5l.2.2v.3l.2.2v.7h.2v1.7l-.2.2v.2l-.2.2v.2h-.2v.3h-.2v.2l-.2.2-.3.3h-.2l-.2.3-.8-.6.2-.3h.2l.2-.3.2-.3.2-.2v-.3l.2-.2v-.2l.2-.3v-.7l-.2-.2v-.5l-.2-.2-.2-.4v-.2zm0-3v1l.4-.7v1.4h.2v1.1h.2l-1 .6v-.9h-.2v-.7l-.2-.2v-1l.4-.7zm-.6.5l-.3-.7h.7l-.5.6zm.4.3v-1 1zm0-1z"/>
+        <path fill="#edb92e" d="M434 226.2c-1.2 1-1.5 1-2 1.6-.3.8 0 2 .3 3.3 1.5 5-1.4 4.4-5 2.6-1.6-1-3.6-3.2-5.2-4.4-1.5-1-2.6-1-3-1.6a118.7 118.7 0 01-1-4.3c0-.7-.5-2.4-1-4.4.4-.7 1.4-1 2.5-2.5 1-1.7 2.2-4.7 3.6-6 3-3.2 6-4.5 6 1.3 0 1.4.3 3 1 3.6.6.6 1 .3 2.5 1 1 .6 2 1.3 2.6 2 .7 1 .5 2 .7 2.8 0 1 .5 1.7.2 2.6-.5 1-1 1.7-2 2.4z"/>
+        <path fill="#21231e" d="M432.6 228l-1-.5h.2v-.4h.4v-.2h.4v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.8.8-.2.2h-.2v.2h-.2l-.2.2-.2.2h-.2v.2h-.4v.2h-.2v.2zm-1-.5zm1 3.4l-.8.3v-.2l-.2-.2v-.7h-.2v-2.3h.2v-.2l1 .4v.2h-.2v2.1h.2v.7zm-5.4 3l.5-.8h.3l.3.3h.3l.3.3h.2l.3.2h.2l.3.2h.7l.2.2h.7v-.2h.2v-.4l.2-.3v-1.1l-.2-.3v-.3l-.2-.4 1-.4v.4l.2.4v.8l.2.3v1.1l-.2.4v.2l-.3.2-.2.2h-.2l-.2.2-.4.2h-1.2l-.3-.2h-.6l-.3-.3-.2-.2h-.3l-.3-.2-.4-.2-.3-.2h-.3zm-5.4-4.3l.6-1 .2.2.3.2.2.3h.2v.3h.3v.3l.3.2.2.2h.2v.3h.3l.2.3.2.3.2.2.3.3h.2v.2l.2.2h.2l.2.2v.2h.3v.2h.2l.2.2.3.2-.5 1-.2-.2h-.2v-.2l-.3-.2h-.2l-.2-.2-.2-.3h-.2l-.2-.2h-.2v-.3h-.3l-.3-.3h-.2v-.3l-.3-.3h-.2l-.2-.3-.3-.3h-.2v-.2h-.3l-.2-.3-.3-.3-.3-.2-.3-.2h-.2zm.6-1zm-4-1l1-.2v-.2h.2v.2h.4l.2.2h.4v.2h.7l.2.2h.2l.2.2.3.2h.2l.2.2-.6 1v-.2h-.3v-.2h-.2l-.2-.2-.2-.2h-.3l-.2-.2h-.2v-.2h-.4l-.2-.2h-.2l-.2-.2h-.2v-.2h-.2v-.3zm.2.3v-.3.3zm-.6-4.2v-1l.5.4v.4l.2.2v1h.2v1.3h.2v1h.2v.5l-1 .2v-.7l-.2-.3v-.7l-.2-.3v-.7h-.2v-.8l-.2-.2v-.6l.4.4zm0-1h.5v.4l-.5-.4zm-.5.6l1-.2v-.2l-.5-.2v1h-.3l-.2-.5zm1-.2zm-1.8-4.5l1 .4v-.2 1.1h.2v1.1l.2.3v.8l.2.2v.9l-1 .2V222l-.2-.2v-.8l-.2-.3v-.7h-.2v-.8l-.2-.2v-.3zm0 .3v-.3.3zm2.4-2.8l1 .5-.2.2-.2.2-.2.3-.2.2-.2.2h-.2v.2h-.2l-.2.2h-.2v.2h-.2v.2h-.2v.2h-.2l-1-.3h.2v-.4h.2v-.2h.4v-.2h.2l.2-.2.2-.2.2-.2h.2v-.2l.2-.2.2-.2v-.2h.2v-.2zm3.7-6.2l.8.7h-.2v.3h-.2v.3l-.3.3v.2l-.2.2v.2h-.2v.3l-.2.3v.4l-.3.2v.2l-.2.2v.2l-.2.2v.2l-.2.2v.3l-.2.3v.2l-.2.2v.2h-.2v.2l-.2.2-.2.2-1-.4.2-.2.2-.3v-.2h.2v-.3l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.3l.2-.2v-.2h.2l.2-.3v-.2l.2-.2v-.3l.2-.2v-.2l.3-.2v-.2l.2-.2.2-.3v-.2l.2-.2h.2v-.3zm6.8 1.8h-1v-1.4l-.2-.4v-.6l-.2-.2v-.4l-.2-.2h-.3v-.2h-1.2l-.3.2-.3.2h-.2l-.3.3-.2.3-.3.2-.2.2-.3.2-.2.2-.3.2-.2.3-.8-.7.3-.3.3-.3.3-.2.2-.3.3-.3.4-.2.3-.2.2-.2h.2l.3-.3h.2l.3-.2h.3l.2-.2h1.2l.3.2.3.3.2.2.2.2.2.3v.6l.2.5v.4l.2.3v1.5zm1 3.3l-.8.8-.2-.2v-.2h-.2v-.2l-.2-.2v-.6l-.2-.2v-.7l-.2-.2V212h1v2h.2v.3l.2.2v.2h.2v.2l.2.2zm0 0zm2.2 1l-.4 1-.3-.2h-.2l-.3-.2h-.4v-.2h-.9v-.2h-.4v-.2h-.2v-.2l.6-.7v.2h.4v.2h.8l.2.2h.4l.2.2h.2l.2.2zm2.8 2.2l-.8.6h-.2v-.2l-.2-.2h-.2v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2.3-1 .3.2h.2l.2.2.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2zm-.8.6l.4.5-.3-.5zm1.5 2.3l-1 .2V220l-.2-.2v-.8h-.2v-.4l.7-.6v.2l.2.2v.2l.2.2v2.2h.2v.2zm0 3l-.8-.4v-2.1l-.2-.2v-.4h1v1l.2.2v1.8zm-1.8 2.6l-.7-.8h.2v-.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2h.2v-.2l1 .4-.2.2v.2l-.2.2v.2h-.2v.4h-.2v.2h-.2v.2l-.2.2-.2.2v.2h-.2l-.2.2-.2.2zm-.7-.8z"/>
+        <path fill="#21231e" d="M418 222.6l-.2-1a14 14 0 007.8-5.3c-1.2 3-4.3 5.3-7.7 6.3zm.2 1.5c0 .4.2.7.3 1 3.4 0 6.4 1 9.2 3-2-2.3-5.8-3.8-9.5-4z"/>
+        <path fill="#edb92e" d="M432.7 233.3a11 11 0 01-3.4-1.5c-1.6-1.3-1.2-3.8.3-6.4.4-.8.5-2.2.2-3.5a6.3 6.3 0 00-1.4-3.5c-2.4-2.3-3.8-4.8-2.6-6.6.8-1.3 2-2 2.8-2.7.3.6.4 1.5.4 2.5 0 1.4.3 3 1 3.6.6.6 1 .3 2.5 1 1 .7 2 1.3 2.6 2 .7 1 .6 2 .7 2.8 0 1 .5 1.7.2 2.6-.5 1-1 1.7-2 2.4-1.2 1-1.5 1-2 1.6-.3.8 0 2 .3 3.3.3 1 .4 1.7.4 2.3z"/>
+        <path fill="#21231e" d="M429 232.2l.6-.8h.2v.2h.2l.2.2h.2l.2.2h.2l.2.2h.4v.2h.4l.2.2h.4l.2.2h.2l-.3 1h-.4v-.2h-.4l-.2-.2h-.3v-.2h-.4l-.2-.2h-.2l-.2-.2h-.2v-.2h-.2l-.3-.2h-.2v-.2zm0-7l1 .5v.2h-.2l-.2.4v.2l-.2.2v.2l-.2.3v.4l-.2.2v.5l-.2.2v1.5l.2.3v.2h.2v.3l.2.2.2.2-.6.8-.2-.2-.3-.3v-.2h-.2v-.3l-.2-.2v-.4l-.2-.3V228h.2v-.7l.2-.3.2-.3v-.3l.2-.2v-.3l.3-.3v-.5zm.3-3.3l1-.2v.8h.2v1.9l-.2.2v.7h-.2v.2l-1-.4h.2v-.6h.2V222zm-1.3-3.2l.7-.7v.2h.2v.4h.2v.2l.2.2v.2l.2.2v.2l.2.2v.5h.2v.7l.2.2v.8h-1v-1.2l-.2-.2v-.4h-.2v-.4h-.2v-.2l-.2-.2v-.2h-.2v-.2l-.2-.2zm0 0zm-2.7-7.2l1 .6h-.2v.7l-.2.2v.7l.2.2v.4l.2.2v.2l.2.2v.2l.2.2v.2l.3.2v.2l.2.2.2.2v.2l.3.3.2.3v.2l.3.2.2.2h.2l-.7.8-.2-.2-.2-.2-.3-.2-.2-.2v-.3l-.2-.2-.2-.2-.2-.2-.2-.2v-.2l-.3-.2-.2-.3h-.2v-.3l-.2-.2v-.3l-.2-.2v-.2l-.2-.3v-.4l-.2-.2v-1l.2-.3v-.2l.2-.2v-.2zm3.8-2.5l-.8.4.7.3h-.2l-.2.2h-.2l-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-1-.6h.2v-.2l.2-.2.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2h.2l.2-.2.2-.2h.2v-.2h.2l.2-.2.2-.2h.2v-.2h1.1zm-.6 0l.5-.5v.6h-.6zm1 2.8h-1v-2.1h-.2v-.4l1-.3v1h.2v2zm1 3.3l-.7.8-.2-.2v-.2h-.2v-.2l-.2-.2v-.7l-.2-.2v-.7l-.2-.2V212h1v1.7h.2v.6l.2.2v.2h.2v.2l.2.2zm2.3 1l-.4 1-.3-.2h-.2l-.3-.2h-.4v-.2h-.9v-.2h-.4v-.2h-.2v-.2l.6-.7v.2h.4v.2h.8l.2.2h.4l.2.2h.2l.2.2zm2.8 2.2l-.8.6h-.2v-.2l-.2-.2h-.2v-.4h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2l-.2-.2.3-1 .3.2h.2l.2.2.2.2h.2v.2h.2l.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2zm-.8.6l.4.5-.3-.5zm1.5 2.3l-1 .2V220h-.2v-.8h-.2v-.4l.7-.6v.2l.2.2v.2l.2.2v2h.2v.2zm0 3l-.8-.4v-2.2l-.2-.2v-.4h1v1l.2.2v1.8zm-1.8 2.6l-.7-.8h.2v-.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2h.2v-.4h.2v-.2l1 .4-.2.2v.2l-.2.2v.2l-.2.2v.2h-.2v.2h-.2v.2l-.2.2-.2.2v.2h-.2l-.2.2-.2.2zm-.7-.8zm-1 2.2l-1-.5v-.2h.2v-.2h.2v-.2h.4v-.2h.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l.8.8-.2.2h-.2v.2h-.2l-.2.2-.2.2h-.2l-.2.2h-.2v.2h-.2v.2zm-1-.5zm1 3.4l-1 .3v-.7h-.2v-3h.2l1 .4h-.2v2.6h.2v.2zm-1 .3zm.8 2.5l.3-1-.6.5v-1h-.2v-.9l-.2-.2 1-.5v.9h.2v1h.2v.7l-.7.5zm.7-.5v.7l-.7-.2.7-.5zm-.5 0l-.2.5.2-.5zm.5 0v.7l-.7-.2.7-.5z"/>
+        <path fill="#edb92e" d="M410.6 216.4c4 0 8 3.4 8.4 7.7.6 4.4-2.2 7.7-6 7.8-4 0-7.5-3-8.3-7.3-.7-4 1.8-8 6-8z"/>
+        <path fill="#21231e" d="M419.5 224l-1 .2v-.8l-.2-.4v-.3l-.2-.4v-.3l-.2-.4-.2-.3-.2-.3-.2-.4-.2-.3-.2-.3-.3-.2-.2-.3-.3-.3-.2-.2-.3-.3-.3-.2-.3-.2-.4-.2h-.3l-.3-.3h-.4l-.3-.3h-.3l-.4-.2h-.3l-.3-.2h-1.5v-1h1.9l.4.2h.3l.4.3h.4l.4.3.4.2.3.2.5.2.3.3.3.2.4.2.3.3.3.3.3.3.3.4.2.3.2.4.3.4.2.4.2.4.2.4v.4l.2.4v.4l.2.4v.8zm-6.6 8.3v-1h.9l.2-.2h.6l.3-.2h.4l.2-.2.3-.2h.2l.2-.3h.2l.2-.3.3-.3.3-.2v-.2l.3-.3.2-.2v-.3l.3-.3.2-.4v-.3l.2-.3v-.7l.2-.3V224l1-.2v2.5l-.2.4v.8l-.3.4v.3l-.2.3v.4l-.3.3-.2.3-.3.3h-.2l-.2.4-.3.2-.3.3h-.3l-.3.3-.3.2h-.2l-.3.3h-.4l-.2.2h-.4l-.3.2H413zm-8.7-7.7l1-.2v.7l.2.5v.3l.3.4v.3l.3.3.2.4.2.3.2.3.2.3.2.3.3.3.2.3h.3l.2.3.3.3.2.2.3.2.3.2h.4l.3.3.3.2h.3l.3.2h.7l.3.2h1.2v1h-2l-.3-.2h-.4l-.4-.3h-.4l-.4-.3-.3-.2-.4-.2-.3-.2-.4-.2-.4-.2-.3-.3-.2-.2-.2-.2-.3-.3-.2-.3-.3-.3-.2-.4-.2-.3-.2-.3-.2-.4-.2-.3-.2-.4v-.4l-.2-.4-.2-.4v-.8zm6.2-8.7v1h-1l-.3.2h-.4l-.3.2h-.3l-.3.3h-.2l-.2.3-.3.2-.2.2v.2l-.3.2-.2.2-.2.3-.2.3v.2l-.2.3v.4l-.3.3v.6l-.2.3v.7l-.2.3v.7l.2.4v.8l-1 .2v-3.3l.2-.3v-.3l.2-.4v-.3l.3-.4v-.3l.3-.3.2-.3.2-.3.2-.3h.2l.2-.4.3-.2.3-.2.3-.2.3-.2.3-.2.3-.2h.3l.4-.2h.4l.3-.2h.9z"/>
+        <path fill="#edb92e" d="M411 218.6c2.8-.2 5.7 2.4 6 5.5.5 3.3-1.5 5.8-4.4 5.8-2.8 0-5.5-2.3-6-5.3s1.3-5.8 4.3-6z"/>
+        <path fill="#21231e" d="M417.6 224l-1 .2v-.6l-.2-.3v-.2l-.2-.3v-.4l-.2-.2v-.2l-.2-.3-.2-.3v-.2l-.3-.2-.2-.2-.2-.3-.2-.2-.2-.2h-.2l-.2-.3h-.2l-.3-.3h-.2l-.2-.2-.4-.2h-.5v-.2h-1.1v-1h1.1l.4.2h.3l.2.2h.2l.3.2h.3l.2.3h.3l.2.2.3.2h.2l.3.3.2.3.2.2.2.2v.2l.3.3h.2v.4l.3.3v.3l.3.2.2.3v.3l.2.3v.8l.2.3zm-5 6.3v-1h1.1l.2-.2h.4l.2-.2h.2v-.2l.3-.2h.3v-.2l.3-.2v-.2h.2l.2-.3v-.2l.2-.2.2-.3v-.7l.2-.2v-1.6h1v2.2l-.2.3v.2l-.2.3v.2l-.3.3-.2.2v.3l-.3.2-.2.2-.2.2-.3.2-.2.2-.2.2h-.2l-.2.2h-.2l-.3.2h-.2l-.2.2h-1.5zm0-1zm-6.5-4.8h1l.2.4.2.4v.2l.2.3.2.3v.3l.3.2.2.2.2.2v.2l.3.2.2.2.3.3.2.2.2.2h.2v.3h.3l.2.2h.7l.2.2h1.1v1H411l-.4-.2h-.2l-.3-.2h-.2l-.2-.3h-.3l-.2-.3-.4-.3-.2-.3-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.3v-.2l-.3-.2-.2-.2-.2-.3v-.3l-.2-.3v-.3l-.2-.2v-.7zm1 0zm4-6.4v1h-.6l-.2.2h-.5l-.2.2h-.2l-.2.2-.2.2h-.2l-.2.3v.2l-.3.2-.2.3v.2h-.2v.3l-.2.2v.2l-.2.2v.7l-.2.2v1.7h-1V222h.2v-.4l.2-.3v-.2l.2-.2v-.2l.3-.3v-.2h.2l.2-.3.2-.2.2-.2.2-.2h.2l.2-.2h.3l.2-.3h.2l.2-.2h.6l.3-.2h.6z"/>
+        <path fill="#0c4076" d="M411.2 220.7c2 0 3.6 1.5 4 3.5.2 2-1 3.6-3 3.6a4 4 0 01-3.7-3.4c-.3-2 1-3.6 2.7-3.7z"/>
+        <path fill="#21231e" d="M415.6 224l-1 .3v-.4l-.2-.2v-.4h-.2v-.3l-.2-.2-.2-.3-.2-.2-.2-.2h-.2l-.2-.2-.2-.2h-.2l-.2-.2h-.6v-.2h-.6v-1h1l.2.2h.2l.3.2h.3v.2h.3l.2.3v.2h.3l.2.2.2.2.2.3.3.2v.4h.2v.3l.2.3v.4l.2.2zm-3.3 4.3v-1h.7l.2-.2h.4v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.5l.2-.2v-1.1l1-.3v2h-.2v.3l-.2.3-.2.3-.2.2h-.2v.2l-.2.2h-.2v.2h-.3l-.2.2h-.4v.2h-1zm-4.3-3.8l1-.2v.5l.2.3v.4h.2v.2l.2.2.2.2.2.3.2.2.2.2h.3v.2h.4l.3.2h.8v1h-1.3l-.2-.2h-.2l-.3-.2h-.2v-.2h-.2v-.2l-.3-.2-.3-.2v-.2h-.2v-.3h-.3v-.3l-.2-.2v-.2h-.2v-.5l-.2-.2v-.5zm2.7-3.8h1l-.5.5h-.7l-.2.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.5h-.2v1.3l-1 .3v-1.8h.2v-.5h.2v-.3h.2v-.3h.3v-.3h.3v-.2h.3v-.2h.3v-.2h1l.2-.2h.4l-.5.5zm1 0v.5h-.5l.5-.5zm0 0h-1l.5-.5.5.5zm-1 0v-.5h.5l-.5.5z"/>
+      </g>
+      <path fill="#fff" d="M482 183c4 0 7 3 7 7s-3 6.7-7 6.7c-3.6 0-6.7-3-6.7-6.8 0-4 3-7 6.8-7z"/>
+      <path fill="#21231e" d="M489.5 189.8h-1c0-2.3-1.4-4.6-3.5-5.6a6.3 6.3 0 00-3-.7v-1c2.6 0 5 1.3 6.4 3.5a7.4 7.4 0 011 3.8zm-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.6-1.5 5.2-3.7 6.5a7.3 7.3 0 01-3.7 1zM475 190h1a6.4 6.4 0 006.3 6.2v1a7.1 7.1 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.5v1a6.3 6.3 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.7 1.4-5 3.5-6.4a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 171c4 0 7 3 7 7a6.8 6.8 0 11-13.7-.2c0-3.7 3-6.7 6.8-6.7z"/>
+      <path fill="#21231e" d="M489.5 178h-1c0-2.4-1.4-4.7-3.6-5.8a6.3 6.3 0 00-3-.6v-1c2.6 0 5 1.3 6.4 3.4a7.4 7.4 0 011 4zm-7.4 7.3v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.5-1.5 5-3.7 6.4a7.3 7.3 0 01-3.7 1zM475 178h1a6.4 6.4 0 006.3 6.3v1a7.1 7.1 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.3 6.3 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.6 1.4-5 3.5-6.3a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 159.6c4 0 7 3 7 7a6.8 6.8 0 11-13.7-.2c0-3.7 3-6.8 6.8-6.8z"/>
+      <path fill="#21231e" d="M489.5 166.5h-1c0-2.4-1.4-4.7-3.6-5.7a6.3 6.3 0 00-3-.7v-1c2.6 0 5 1.5 6.4 3.6a7.4 7.4 0 011 4zM482 174v-1c2.5 0 4.7-1.5 5.8-3.6.4-1 .7-2 .7-3h1c0 2.6-1.4 5-3.5 6.4a7.3 7.3 0 01-4 1zm-7.2-7.5h1c0 2.4 1.4 4.7 3.6 5.7a6.3 6.3 0 002.7.7v1a7.2 7.2 0 01-6-3.6 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.4 6.4 0 00-5.5 3.6 6.4 6.4 0 00-.7 3h-1c0-2.6 1.4-5 3.5-6.4a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 127c4 0 7 3.2 7 7s-3 6.8-7 6.8a7 7 0 01.1-13.8z"/>
+      <path fill="#21231e" d="M489.5 134h-1c0-2.4-1.4-4.7-3.6-5.8a6.3 6.3 0 00-3-.6v-1c2.6 0 5 1.3 6.4 3.4a7.4 7.4 0 011 4zm-7.4 7.3v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.5-1.5 5-3.7 6.3a7.3 7.3 0 01-3.7 1zM475 134h1c0 2.3 1.4 4.6 3.5 5.6a6.3 6.3 0 002.8.7v1a7.3 7.3 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.3 6.3 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.6 1.4-5 3.5-6.3a7.3 7.3 0 013.8-1z"/>
+      <path fill="#fff" d="M482 137.2c4 0 7 3 7 6.8s-3 7-7 7c-3.6 0-6.7-3.2-6.7-7s3-6.8 6.8-6.8z"/>
+      <path fill="#21231e" d="M489.5 144h-1c0-2.3-1.4-4.6-3.5-5.7a6.3 6.3 0 00-3-.6v-1c2.7 0 5.2 1.4 6.5 3.6a7.4 7.4 0 011 3.7zm-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.6-1.5 5-3.7 6.4a7.3 7.3 0 01-3.7 1zM475 144h1c0 2.4 1.4 4.7 3.5 5.7a6.3 6.3 0 002.8.7v1a7 7 0 01-6-3.5 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.4 6.4 0 00-5.5 3.6c-.5 1-.7 2-.7 2.8h-1c0-2.5 1.4-5 3.5-6.2a7.3 7.3 0 013.8-1.2z"/>
+      <path fill="#fff" d="M482 148.2c4 0 7 3 7 6.8s-3 7-7 7c-3.6 0-6.7-3.2-6.7-7s3-6.8 6.8-6.8z"/>
+      <path fill="#21231e" d="M489.5 155h-1c0-2.3-1.4-4.6-3.6-5.7a6.3 6.3 0 00-3-.6v-1c2.6 0 5 1.3 6.4 3.4a7.4 7.4 0 011 4zm-7.4 7.4v-1c2.5 0 4.7-1.4 5.8-3.4a6.4 6.4 0 00.7-3h1c0 2.6-1.5 5-3.7 6.4a7.3 7.3 0 01-3.7 1zM475 155h1c0 2.4 1.4 4.7 3.5 5.7a6.3 6.3 0 002.8.7v1a7.3 7.3 0 01-6-3.4 7.4 7.4 0 01-1.2-4zm7.3-7.4v1a6.5 6.5 0 00-5.5 3.5 6.4 6.4 0 00-.7 3h-1c0-2.5 1.4-5 3.5-6.3a7.3 7.3 0 013.8-1z"/>
+      <path fill="#edb92e" d="M487 195.5c1 1.6.7 2 1.4 2.4.8.6 2 .6 3.4.4 5.3-1 4.5 2.3 2.2 6-1 1.7-3.8 3.5-5.2 5-1.4 1.5-1.6 2.8-2 3.2h-9.2c-.5-.4-.7-1.7-2-3.2-1.5-1.5-4.2-3.3-5.3-5-2.4-3.7-3-7 2.2-6 1.3.2 2.6.2 3.4-.5.6-.6.3-1 1.3-2.5a7 7 0 012.2-2.3c1-.5 1.8-.2 2.6-.2 1 0 2-.3 2.8.2a7 7 0 012.2 2.3z"/>
+      <path fill="#21231e" d="M488.7 197.5l-.7.8-.2-.2h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.3v-.2l.8-.6v.2h.2v.3l.2.2v.2h.2v.4h.2v.4h.2v.4h.2zm-.7.8l-.3-.3.3.3zm3.8-.4v1h-2.4l-.2-.2h-.2l-.2-.2h-.3l-.2-.2.7-1v.2h.2v.2h.8l.2.2h1.9zm2.6 6.6l-.8-.6.2-.3.2-.3.2-.4.2-.3v-.3l.3-.3v-.2l.2-.2v-.6l.2-.2v-1.3l-.2-.2h-.2v-.2h-.5l-.2-.2h-2l-.2-1h2.8l.3.2h.2l.2.2.2.2.2.2.2.2v.3l.2.3v1.7l-.2.3v.3l-.3.2v.4l-.3.3v.2l-.3.4v.3l-.3.2-.3.4zm-5.3 5.2l-.6-.7.3-.2v-.2h.3l.2-.3v-.2h.3l.2-.2h.2v-.3h.2l.2-.3.2-.2h.2l.2-.3h.2v-.3l.3-.2h.2l.2-.3v-.2l.2-.2.2-.2h.2v-.3h.3v-.4h.3v-.3h.2v-.3l1 .6-.2.2-.2.3v.3l-.2.2h-.2l-.2.3v.2l-.3.2-.3.3v.2h-.3l-.2.3-.2.2h-.2l-.2.3-.2.2-.3.3-.3.3h-.2v.3l-.3.2h-.2v.3l-.3.2h-.2v.3h-.2l-.2.3zm-2.3 3.3v-1l-.3.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2h.2v-.2l.2-.2.2-.3.3-.3.8.6v.2l-.2.2-.2.2-.2.3v.2h-.2v.2l-.2.2v.2l-.2.2v.2h-.2v.4h-.2v.2l-.2.2v.2h-.5zm.3 0h-.2.2zm-5 .2v-1h4.7v1h-4.5zm0-1h.2zm0 0v1-1zm0 0zm-4.7.8l.6-.8h-.4 4.2l.2 1h-4.7l-.3-.2zm.3 0h-.2.2zm-2.4-3.2l.7-.7v.2l.2.2.2.3.2.3.2.2v.2h.2v.4h.2v.4h.2v.4h.2v.4h.2v.2l-.5.8-.2-.2v-.2l-.2-.2v-.2h-.2v-.4h-.2v-.4l-.2-.2v-.2h-.2v-.2l-.2-.3-.2-.2-.2-.3-.2-.2zm-5.4-5.2l1-.6v.2l.2.3h.2v.3l.2.2h.2v.3h.3v.3l.2.2h.2l.2.3.2.2v.2l.3.2h.3l.2.3h.2l.2.2v.2h.2l.2.3h.2l.2.3h.2v.3l.3.2h.2v.3h.3v.3l-.6.8-.2-.2-.3-.3-.3-.2-.3-.2v-.2l-.2-.2h-.2l-.2-.3h-.2l-.2-.2h-.2v-.3l-.3-.2h-.2l-.2-.3v-.2h-.3l-.2-.3v-.2h-.3l-.2-.3v-.2l-.3-.2h-.2v-.3l-.3-.2-.2-.2-.2-.2zm2.7-6.7v1l-.6-.2h-2.1l-.2.2h-.2v.2h-.2v.4l-.2.2v1.1l.2.2v.3l.2.3v.2l.2.3.2.4v.3l.3.3.3.4.2.3.2.3-1 .6v-.4l-.3-.3-.2-.4-.2-.4v-.3l-.3-.4v-.4l-.3-.3v-.4l-.2-.3v-.6l-.2-.3v-1l.2-.2v-.2l.3-.2.2-.2.2-.2.4-.2h.3l.3-.2h2.5zm3-.5l.8.8-.2.2h-.2l-.2.2h-.4l-.2.2h-3v-1h2.5l.2-.2h.4v-.2h.2zm1.4-2.3l.7.6v.3l-.2.2v.2h-.2v.4h-.2v.8h-.2v.2h-.2v.2l-.2.2-.8-.7h.2v-.4h.2v-.4h.2v-.2l.2-.2v-.4h.2v-.3h.2v-.3zm0 0l.2-.4-.3.4zm2.3-2.4l.5.8-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-.2.2v.2l-1-.6.2-.2.2-.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2.2-.2h.2v-.2l.2-.2h.2v-.2h.2l.2-.2zm2.8-.3v1h-2.4l-.5-.7h.2v-.2h.4l.2-.2h2zm3 .3l-.5.8h-.4v-.2H482v-1h2.5l.2.2h.2l.2.2zm0 0l.3.2-.3-.2zm2 3.2v-1l-.4.8-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2v-.2l.4-.8h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2l-.4.8zm.4-.8l.5.8h-1l.4-.8zm-.4-.2v1l-.4-.2.4-.8zm-.4.8l-.5-.8h1l-.4.8z"/>
+      <path fill="#21231e" d="M481.4 212.8l-1-.2c-.4-3.7-2-7-4.3-9.6 2.8 1.8 4.8 5.7 5.4 9.8z"/>
+      <path fill="#edb92e" d="M494.2 198.3c-.5 1-1 2.4-2 3.5-1.5 1.6-4 .5-6.5-1.6-.8-.6-2.2-1-3.6-1a6 6 0 00-3.4 1c-2.5 2-5 3.2-6.6 1.6-1-1-1.5-2.4-2-3.5h2.5c1.3.3 2.6.3 3.4-.4.6-.6.3-1 1.3-2.5a7 7 0 012.2-2.3c1-.5 1.7-.2 2.6-.2 1 0 2-.3 2.8.2.8.5 1.5 1.3 2.2 2.3 1 1.6.7 2 1.3 2.4 1 .6 2.2.6 3.5.4 1-.2 1.8-.2 2.4 0z"/>
+      <path fill="#21231e" d="M492.6 202l-.7-.6v-.2l.2-.2.2-.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.2v-.2l.2-.3v-.4l1 .5v.4l-.2.2v.2l-.2.2v.4h-.2v.2l-.2.2v.3h-.2v.2h-.2v.2h-.2v.3l-.2.2-.2.2h-.2zm-7.3-1.4l.7-.7h.2l.2.2.3.2.2.2.3.3h.3l.2.2h.2l.2.2h.2l.2.2h.2l.2.2h.4l.2.2h1.6l.2-.2.2-.2h.2v-.2l.8.7-.2.3h-.2v.3h-.3l-.3.2h-.3l-.2.2h-1.9l-.3-.2h-.3l-.2-.2h-.3l-.2-.2h-.3l-.2-.2-.2-.2h-.3l-.2-.3h-.3l-.2-.3-.2-.2-.2-.2-.2-.2-.3-.2zm.7-.7l.5.3-.5-.4zm-4-.2v-1h2v.2h.7v.2h.4l.2.2h.2l.2.2h.2v.2h.2l-.7.8h-.2v-.2h-.2v-.2h-1v-.2h-1v-.2h-1zm-3 .8l-.7-.7v-.2h.2l.2-.2h.2v-.2h.2l.2-.2h.5v-.2h1.2v-.2h1v1h-1.5v.2h-.5l-.2.2h-.4v.2h-.2l-.2.2zm-7.3 1.5l.7-.6.3.2.2.2h.2v.2h1.7v-.2h.5l.2-.2h.2v-.2h.3l.2-.2.2-.2h.3l.2-.3h.2l.2-.3.3-.2v-.2h.3l.7.6-.3.2-.2.2-.3.2-.2.2-.2.2h-.3l-.2.3h-.3l-.2.2h-.2l-.3.2h-.2l-.2.2h-.2l-.2.2h-.3l-.3.2H473l-.4-.2h-.2l-.2-.2-.2-.2-.3-.3zm-1.7-4l.2 1 .3-.7v.2l.2.2v.3l.2.2v.4l.2.2v.2h.2v.4h.2v.4h.2v.2h.2v.2h.2v.2l.2.2-.7.7h-.2v-.2h-.2v-.2h-.2v-.5h-.2v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.4h-.2v-.4l-.2-.2v-.4h-.2l.4-.8zm-.4.7l-.2-.6.6-.2-.4.7zm3-.6l-.2 1-.2-.2H470l-.2-1h2.4zm3-.5l.7.8-.2.2h-.2l-.2.2h-.4l-.2.2h-2.8v-1h2.3l.2-.2h.4v-.2h.2zm.7.8l-.5.4.5-.4zm.6-3l.7.5v.3l-.2.2v.2h-.2v.4h-.2v.8h-.2v.2h-.2v.2l-.2.2-.8-.7h.2v-.4h.2v-.4h.2v-.2l.2-.2v-.4h.2v-.3h.2v-.3zm2.3-2.5l.5.8-.2.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2v.2h-.2v.2l-.2.2-.2.2v.2l-1-.6.2-.2.2-.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2.2-.2h.2v-.2l.2-.2h.2v-.2h.2l.2-.2zm2.8-.3v1h-2.3l-.5-.7h.2v-.2h.4l.2-.2h2zm3 .3l-.5.8h-.4v-.2H482v-1h2.5l.2.2h.2l.2.2zm0 0l.3.2-.3-.2zm2.4 2.4l-.8.6-.2-.2v-.2h-.2v-.2l-.2-.2-.2-.2-.2-.2v-.2h-.2v-.2h-.2v-.2h-.4v-.2h-.2v-.2l.4-.8h.2l.2.2.2.2h.2v.2h.2v.2h.2v.2h.2v.2h.2v.2l.2.2.2.2v.2h.2v.2h.2v.2zm1.3 2.3l-.7.8-.2-.2h-.2v-.4h-.2v-.4h-.2v-.4l-.2-.2v-.2l-.2-.2-.2-.3v-.2l.8-.6v.2h.2v.3l.2.2v.2h.2v.4h.2v.4h.2v.4h.2zm-.7.8l-.3-.3.3.3zm3.8-.4v1h-2.4l-.2-.2h-.2l-.2-.2h-.4v-.2h-.2l.7-1v.2h.2v.2h.8l.2.2h1.9zm3 .5l-1-.4.3.8H492l-.2-1h2.4l.5.7zm-.5-.7h.6l-.3.7-.4-.7zm0 .5l.4.2-.5-.2zm0-.5h.6l-.3.7-.4-.7z"/>
+      <path fill="#edb92e" d="M482 211.7c4.4 0 8 3.4 8 7.7s-3.6 7.8-8 7.8-7.6-3.5-7.6-7.8 3.5-7.8 7.7-7.8z"/>
+      <path fill="#21231e" d="M483 212.8l.8-.2c.5-3.7 2-7 4.3-9.6a14.7 14.7 0 00-5 9.8z"/>
+      <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#b"/>
+      <path fill="#edb92e" stroke="#21231e" d="M577 293.6c2 .3 3 1.5 3 2.8 0 1.3-1 2.6-3 3a8.7 8.7 0 01-1.6.2c-60.8 5.2-125.7 5.2-186.5 0a8.7 8.7 0 01-1.6-.3c-2-.3-3-1.6-3-3 0-1.2 1-2.4 3-2.7a8.6 8.6 0 011.5-.3c60.7-5.2 125.6-5.2 186.4 0 .6 0 1 .2 1.5.3z"/>
+      <path fill="#21231e" d="M412 298.4h-.2v-.2h-.2v-1h.4v-.2.2-.2h2.3l.7-.2h3l.7-.2h3l.7-.2h3l.8-.2h3.3l.7-.2h3.8l.7-.2h.8v1.2h-2.9l-.7.2H428l-.7.2h-2.7l-.8.2H421l.7.2h3.7l.7.2h2.9l.7.2h3.7l.7.2h1.5v1.2h-3.7l-.7-.2h-3.8l-.7-.2h-2.9l-.7-.2H420l-.6-.2h-2.9l-.7-.2H413l-1-.2v-.2.2zm.2-.7zm46.6-2.6v1.3H453l-.7.2h-6.6l-.7.2h-5l-1 .2h-3.5v-1.2h3.5l.8-.2h5.2l.7-.2h5.9l.7-.2h6.8zm23.3 0v1h-13.7l-.7.2h-8.8v-1h1.4l.8-.2H482zm23.5 0v1.3h-11.1l-.7-.2H482v-1h23.6zm23.3 1v1h-5.2l-.8-.2h-5.2l-.7-.2h-6.5l-.8-.2h-4.3V295h.7l.7.2h7.5l.8.2h5l.8.2h5.1l.6.2h2.3zm23.4 1v.2h.4v1h-.2l-.2.2h-3l-.7.2h-2.2l-.7.2h-3.8l-.8.2h-2.8l-.7.2H534l-.8.2h-3.6l-.8.2v-1.2h2.2l.7-.2h3.7l.8-.2h3.7l.7-.2h1.8-1.4l-.8-.2h-2.7l-.7-.2H533l-.6-.2h-3.6V296h6.5l.7.2h3l.8.2h2.8l.7.2h3l.7.2h3l.7.2h1.5zm0 .7zm-116.7.7h.2l.2.2v.8h-.2v.2h-.2v-1.2zm93.3 1.2h-.2l-.2-.2v-.2h-.2v-.8h.2v-.2h.4v1.2zm-50.3-36.2v-1h3.8v1h-4zm0-1zm-1.2 0h1.2v1h-1.2v-1zm0 1zm-.6-1h.6v1h-.6v-1zm-1 0h1v1h-1v-1zm0 0zm-.8 0h.6v1h-.7v-1zm0 1zm-.5-1h.4v1h-.5v-1zm0 0zm-.8 0h.8v1h-.8v-1zm0 0zm-1.2 0h1.2v1h-1.2v-1zm-1 0h1v1h-1v-1zm0 0zm-.2 0h.2v1h-.2v-1zm-1 0h1v1h-1v-1zm-2.5 1v-1h2.6v1h-2.5zm0-1zm-.3 0h.2v1h-.2v-1zm0 1zm-.2-1h.2v1h-.2v-1zm0 0zm-1 0h1v1h-1v-1zm0 1zm-.5-1h.4v1h-.4v-1zm0 0zm-.4 0h.4v1h-.4v-1zm0 1zm-1.2-1h1.2v1h-1.2v-1zm0 0zm0 0v1-1zm0 1h-.2.2zm-1.2-1h1.2v1l-1.2.2v-1zm-.4 0h.4v1.2h-.4v-1zm-.8.2h.8v1h-.8v-1zm0 0h.3-.2zm-.3 0h.3v1h-.3v-1zm0 1h-.5.5zm-1-1h1v1h-1v-1zm-1 0h1v1h-1v-1zm0 0zm-.2 0v1-1zm0 1zm-1-1h1v1h-1v-1zm-.6 0h.5v1h-.4v-1zm0 0zm0 0v1-1zm0 1zm-4.2.2v-1h3.5v-.2h.4v1h-2.7l-.2.2h-.8zm0-1zm-.6 0h.5v1h-.6v-1zm0 0zm-1.7 0h1.6v1h-1.7v-1zm0 1zm-.2-1h.3v1h-.2v-1zm0 0zm-1.3 0h1.4v1h-1.3v-1zm-1 0h1v1h-1v-1zm-.6 0h.7v1h-.6v-1zm0 0zm0 0v1.2-1zm0 1.2zm-1.6-1h1.5v1h-1.5v-1zm0 1zm0-1v1-1zm0 0zm-1.2 0h1.2v1h-1.2v-1zm0 0zm0 0v1-1zm0 1zm-1.2-1h1l.2 1H444v-1zm-.8 0h.8v1h-.7v-1zm0 0zm-1.6.2h1.6v1h-1.5v-1zm0 1zm0-1v1-1zm0 0zm-6.2 1.3v-1h1.7l.2-.2h3.9v1H436l-.2.2zm0 0zm-.4-1h.3v1h-.2v-1zm0 0zm-9 1.4v-1h1.3l.3-.2h3.2l.3-.2h3.5v1h-5.1l-.3.2H426zm0 0zm-.3-1h.2v1h-.3v-1zm0 0zm-.5 0h.5v1h-.4v-1zm-18.2 2.2v-1h1.8l.5-.2h1.7l.5-.2h2.4l.6-.2h2.6l.6-.2h2.2l.6-.2h2.8l.6-.2h1.2v1h-2.1l-.6.2h-2.7l-.6.2h-2.3l-.6.2h-2.8l-.6.2h-2.2l-.5.2H408l-.6.2h-.6zm0 0zm-.3-1h.3v1h-.2v-1zm0 0zm0 0v1-1zm0 1zm-26.3 2.4v-1h.7l1-.2h.8l.8-.2h1.6l.8-.2h1l.7-.2h1.6l.8-.2h1.8l.8-.2h.8l1-.2h1.7l.7-.2h1.7l.8-.2h1.8l.7-.2h1.6l1-.2h1.5l1-.2v1H405l-.7.2h-1.7l-.8.2H400l-.7.2h-.8l-1 .2H396l-.8.2h-1.7l-.8.2H391l-.8.2h-.8l-.8.2H387l-1 .2h-.7l-.8.2H383l-1 .2h-.8l-.8.2zm0 0zm0-7v1h-.5l-.5.2h-.5l-.3.2-.4.2-.3.2h-.2l-.3.3-.2.2-.3.3v.5l-.2.2v1.1h.2v.3l.2.2.2.2.3.3.3.2h.2l.3.2h.3l.4.2h1v1h-1.6l-.4-.2-.4-.2-.3-.2-.3-.2-.3-.2-.4-.2-.2-.3-.2-.2v-.3l-.3-.3-.2-.3v-1.6l.2-.3.2-.3.2-.4.2-.3.2-.3.4-.3.3-.2.4-.2.3-.2h.4l.5-.2h.6l.5-.2zm0 1zm26.3-3.3v1H405l-.7.2h-1.7l-.8.2H400l-.7.2H396l-.8.2h-1l-.7.2H392l-1 .2h-1.6l-.8.2h-.8l-.8.2h-1.7l-.8.2h-.8l-.8.2H381l-.8.2v-1h1.7l.8-.2h.8l.8-.2h.8l.8-.2h1.7l.8-.2h1.6l1-.2h.8l.8-.2h1.8l.7-.2h1.7l1-.2h.7l.8-.2h1.8l.7-.2h1.6l1-.2h2.5zm0 1zm0 0v-1 1zm0-1zm37-2.2v1.2H439l-1 .2h-2.3l-1.3.2H431l-1.2.2h-2.2l-1.3.2H424l-1.2.2h-2.3l-1 .2H417l-1.2.2h-1.2l-1 .2h-2.3l-1.3.2h-1l-1.2.2h-1.2v-1h2.2l1.2-.2h1l1.2-.2h2.2l1.3-.2h1l1.2-.2h2.3l1-.2h2.3l1.3-.2h2.4l1.2-.2h2.3l1-.2h3.5l1.2-.2h3.5l1-.2h2.5zm1 1l-1 .2v-1h1v1zm0 0zm.2 0h-.3v-1l.2 1zm-.2-1zm.4 1h-.3l-.2-1h.4v1zm1.2 0h-1.2v-1h1.2v1zm0 0zm0 0v-1 1zm0-1zm15.4-.4v1h-5.5l-.5.2h-6.5l-.4.2h-2.6v-1h5l.5-.2h7.7l.5-.2h1.8zm.8 1h-.8v-1h.8v1zm0 0zm0 0v-1 1zm0-1zm1.4 1h-1.4v-1h1.4v1zm0 0zm.2 0h-.2v-1h.2v1zm0 0h-.2.2zm0 0v-1 1zm0-1zm1.2 1h-1.2v-1h1.2v1zm.5 0h-.6v-1h.4v1zm-.2-1zm.8 1h-.7l-.2-1h.8v1zm1 0h-1v-1h1v1zm0 0zm.2 0h-.3v-1h.2v1zm0-1zm.4 1h-.4v-1h.4v1zm3-1l.2 1H468v-1h3.3zm1.2 1h-1v-1l1-.2v1zm0 0v-1.2 1zm0-1.2zm1.3 1h-1.2v-1h1.2v1zm3.5-1v1h-3.5v-1h3.5zm0 0zm0 1v-1 1zm0 0zm1.3 0h-1.2v-1h1.2v1zm3.6-1v1h-3.5v-1h3.7zm3.8 0v1H482v-1h3.8zm1 1h-1v-1h1.2v1zm.2 0zm0 0v-1 1zm0-1zm3.6 0v1H487v-1h4zm1 1h-1v-1h1.2v1zm.2-1zm0 1v-1 1zm1 0h-1v-1h1v1zm3.3-1v1H493v-1h3zm.5 1h-.4v-1h.5v1zm0-1zm.3 1h-.3v-1h.3v1zm0 0zm1 0h-1v-1h1v1zm.6 0h-.7v-1h.8v1zm0-1zm.5 1.2h-.6v-1h.5v1zm1 0h-1v-1h1v1zm0-1zm0 1v-1 1zm0 0h.3-.2zm.3 0h-.2v-1h.3v1zm0 0zm1.3 0h-1.3v-1h1.4v1zm0-1zm0 1v-1 1zm0 0h.2zm1 0h-1v-1h1v1zm15.2-.6v1h-6l-.4-.2H504l-.6-.2h-.9v-1h6l.4.2h6.6l.4.2h1.7zm0 0zm0 1v-1 1zm0 0zm1.3 0h-1v-1h1v1zm.4 0h-.3v-1h.5v1zm0-1zm.2 1h-.2v-1h.2v1zm0 0zm1 .2h-1v-1h1v1zm37 1v1h-2.3l-1.2-.2h-1l-1.2-.2h-2.2l-1.3-.2H546l-1-.2h-1.3l-1-.2h-2.3l-1.3-.2H537l-1-.2h-4l-1-.2h-2.6l-1-.2H524l-1-.2h-2.4v-1h4.7l1.2.2h3.3l1.3.2h2.3l1.3.2h2.3l1 .2h2.4l1 .2h2.3l1.3.2h2.3l1 .2h2.3l1.2.2h1.2l1 .2h1.3l1 .2h1.3zm0 0zm0 1v-1 1zm0 0zm26.4 1.4v1H582l-.8-.2h-.8l-.8-.2H578l-.7-.2h-.8l-.8-.2H574l-.8-.2h-.8l-.8-.2h-1.8l-.7-.2h-1.5l-.8-.2H565l-.8-.2h-1.7l-.8-.2H560l-.8-.2h-1.6v-1h3.5l.8.2h1.6l1 .2h1.7l.7.2h1.7l.8.2h1.8l.7.2h.8l.8.2h1.8l.8.2h.8l.8.2h1.8l.7.2h.7l.8.2h1.8l.7.2zm0 1zm0 6v-1h1.6l.3-.2h.3l.3-.2.2-.2.2-.2h.2v-.3l.2-.2v-.2h.2v-1.4l-.2-.3v-.2h-.3l-.2-.3-.3-.2h-.2l-.3-.3-.4-.2h-.4l-.4-.2h-.4l-.5-.2v-1h.5l.6.2h.5l.5.3.4.3.4.2.3.2.4.3.3.3.2.3v.3l.3.2v.3l.2.3v1.3l-.3.3v.3l-.3.3-.3.4-.3.2-.3.2-.2.2-.3.2-.4.2h-.3l-.4.2H584zm0 0zm-26.5-2.4v-1h1.8l.8.2h1.8l.8.2h1.8l.7.2h1.7l1 .2h.7l.8.2h1.8l.7.2h1.6l.8.2h1l.8.2h1.6l.8.2h1l.7.2h1.5l.8.2h1l.7.2v1h-1l-.8-.2h-1.6l-.8-.2h-.8l-.8-.2h-1.7l-.8-.2h-.8l-1-.2h-1.6l-.8-.2h-.8l-1-.2h-1.4l-.8-.2H566l-.7-.2h-1.6l-1-.2H561l-1-.2h-1.6l-.8-.2zm0 0zm0-1v1-1zm0 0zm-.2 0h.3v1h-.4v-1zm0 1zM539 265v-1h2.9l.5.2h3l.5.2h2.3l.6.2h2.2l.6.2h2.3l.5.2h2.4l.5.2v1h-1.7l-.5-.2h-2.3l-.6-.2H550l-.7-.2H547l-.6-.2h-2.9l-.6-.2H540l-.6-.2h-.6zm-.4-1h.5v1h-.4v-1zm0 0zm-.2 0h.2v1h-.2v-1zm0 1zm-9.2-.5v-1h4l.3.2h3.2l.3.2h1.3v1h-1.6l-.3-.2H533l-.4-.2h-3.3zm0-1zm-.3 0h.2v1h-.3v-1zm0 1zm-6.4-.3v-1h4.5l.2.2h1.7v1h-4.4l-.2-.2h-1.7zm0-1zm0 0v1-1zm0 1zm-1.5-1h1.7v1H521v-1zm0 0zm-.7 0h.8v1h-.7v-1zm-1-.2h1v1H519l.2-1zm-.2 1zm0-1h.2v1-1zm0 0zm-1 0h1v1h-1v-1zm0 0zm-.2 0v1-1zm0 1zm-1.4-1h1.4v1h-1.4v-1zm0 1zm-.2-1h.2v1h-.2v-1zm0 0zm-.6 0h.6v1h-.7v-1zm-1 0h1v1h-1v-1zm-1.4-.2h1.4v1h-1.4v-1zm0 0zm-.2 0h.2v1h-.2v-1zm0 1zm-1.6-1h1.6v1h-1.6v-1zm0 0zm-.6 0h.6v1h-.6v-1zm-4.2 1v-1.2h3.3l.2.2h.8v1h-4.3zm0 0zm0-1.2v1-1zm0 0zm-.5 0h.6v1h-.5v-1zm-1 0h1v1h-1v-1zm0 1zm0-1v1-1zm0 0zm-1.3 0h1.2v1h-1.3v-1zm-1 0h1v1h-1v-1zm0 1h.6-.6zm-.2-1h.3v1h-.3v-1zm0 0h-.3.3zm-.8 0h.8v1h-.8v-1zm-.4 0h.4v1h-.4v-1zm-1.2 0h1.3v1H500v-1zm0 1h.2zm0-1v1-1zm0 0zm-1 0h1v1h-1v-1zm0 1zm-.5-1h.4v1h-.6v-1zm0 0zm-.4 0h.5v1h-.4v-1zm0 1zm-1-1h1v1h-1v-1zm0 0zm-.2 0h.2v1h-.2v-1zm0 1zm-.3-1h.3v1h-.3v-1zm0 0zm-2.6.8v-1h2.3v1H494zm-1-1h1v1h-1v-1zm-.2 0h.2v1h-.2v-1zm0 0zm-1 0h1v1h-1v-1zm-1.2 0h1.2v1h-1.3v-1zm0 0zm-.8 0h.8v1h-.8v-1zm0 0zm-.4 0h.4v1h-.5v-1zm0 1zm-.7-1h.7v1h-.7v-1zm0 0zm-1 0h1v1h-1v-1zm-.7 0h.6v1h-.6v-1zm0 1zm-1.2-1h1.2v1H486v-1zm0 0zm-3.7 1v-1h3.9v1h-4.1zm.4 1.8L460 276.6l-.4-1 22.7-11.3h.4v1zm-.5-1h.4-.5zm22.7 12.4l-23-11.4.4-1 22.7 11.5v1h-.3zm.4-1l1 .6-1 .4v-1zm-23 11.6l22.7-11.5.4 1-22.6 11.4h-.5v-.8zm.4 1h-.3.4zM460 275.7l22.8 11.5-.5 1-22.8-11.6v-1h.4zm-.4 1l-1-.5 1-.5v1z"/>
+      <path fill="#0c4076" d="M482 269c5.8 0 10.4 3.2 10.4 7s-4.6 7-10.3 7-10-3.2-10-7 4.5-7 10-7z"/>
+      <path fill="#21231e" d="M493 276h-1v-.3l-.2-.3v-.5l-.2-.3v-.3l-.3-.3-.2-.4v-.3l-.3-.2-.2-.2-.2-.3-.3-.2-.3-.3-.3-.2-.3-.2-.2-.2-.4-.2-.4-.2-.3-.2-.4-.2h-.5l-.4-.3h-.4l-.5-.2h-.8l-.5-.2h-1.9v-1.2h1.7l.6.2h.5l.5.2h.5l.5.2h.4l.5.3.4.2.5.2h.5l.4.3.3.2.4.2.3.3.4.3.3.2.3.3.3.3.2.4.3.3.2.4.2.4.2.4v.3l.2.5v.4l.2.2v.8zm-11 7.4v-1h1.6l.5-.2h1.1l.5-.2h.5l.4-.3h.4l.5-.3h.4l.3-.3h.4l.4-.3.3-.2.4-.3.3-.2.3-.2.3-.3.2-.3.2-.2.3-.3v-.3l.3-.3h.2v-.4l.2-.3v-.7l.2-.3v-.3h1v.4l-.2.4v.4l-.2.4v.3l-.2.3-.2.3-.2.4-.2.3-.3.3-.2.3-.3.2-.3.3-.3.3-.4.3-.3.3-.4.2-.4.3-.5.2-.4.2-.4.2h-.4l-.5.3h-.4l-.5.3h-.5l-.5.2h-1.1l-.5.2H482zm-10.6-7.4h1v1l.2.3v.3l.2.2.2.3v.4l.3.3.2.3.3.2.2.3.3.3.3.2.3.2.2.3.3.2.4.2h.2l.4.3h.4l.4.3h.5l.3.3h.9l.5.2h1.5l.6.2h.5v1h-1.9l-.5-.2h-.5l-.5-.2-.5-.2h-.4l-.5-.3h-.4l-.4-.3-.4-.2-.4-.2-.4-.3-.4-.2-.3-.2-.4-.2-.4-.3-.3-.3-.3-.3-.2-.4-.3-.3-.2-.3-.2-.4v-.3l-.2-.4-.2-.4v-.8l-.2-.4v-.4zm10.7-7.4v1h-1.3l-.5.2h-.3l-.5.2h-.5l-.4.2h-.4l-.6.3h-.4l-.4.3-.4.2-.3.2-.5.2-.3.2-.3.2-.4.2-.3.3-.3.2-.2.3-.3.3-.2.3-.2.3v.3l-.2.2v.3l-.2.3v.7l-.2.3v.3h-1V275l.2-.5.2-.4v-.2l.3-.4.3-.3.2-.3.3-.3.2-.3.3-.2.3-.3.3-.2.3-.3.3-.3.4-.2.4-.2.4-.2h.4l.4-.3.5-.2.5-.2h.5l.5-.2h1l.5-.2h1.1l.6-.2h.5z"/>
+      <path fill="#edb92e" d="M482 211.7c4.4 0 8 3.4 8 7.7s-3.6 7.8-8 7.8-7.6-3.5-7.6-7.8 3.5-7.8 7.7-7.8z"/>
+      <path fill="#21231e" d="M490.4 219.4h-1v-1l-.2-.3v-.4l-.2-.3v-.4l-.2-.4v-.3l-.3-.3-.2-.3-.2-.3v-.3l-.3-.2-.2-.3-.2-.2-.3-.2-.3-.2-.2-.2-.3-.2-.3-.2-.4-.2h-.3l-.3-.3h-.4l-.3-.2h-.4l-.4-.2H482V211l.6.2h1.2l.4.2h.4l.4.2.3.2.4.2h.4l.4.3.3.3.4.2.4.2.3.3.3.3.2.3.3.2.2.3.3.3.2.3.2.5.2.3v.4l.3.4v.8l.2.4v.8l.2.4v.4zm-8.3 8.3v-1h1.5l.3-.2h.3l.3-.2.4-.2h.3l.3-.2h.3l.2-.3.3-.2.2-.2.3-.2.3-.2.2-.3.2-.2.2-.2v-.3l.3-.3.2-.3.2-.4v-.3l.2-.4v-.7l.2-.4v-.8l.2-.4v-.4h1v1.2l-.2.4v.5l-.2.4v.3l-.3.4v.3l-.3.4-.2.3-.2.4-.3.4-.2.3-.3.3-.2.3-.3.3-.3.2-.3.3-.3.3-.3.2-.3.2-.3.2h-.4l-.3.2-.4.2h-.4l-.4.2H482zm-8-8.3h1v1.8l.2.3.2.3v.3l.2.3.2.3.2.2.2.3.2.3.2.3.2.3.2.3.3.2.2.3.3.3.3.2.4.2h.3l.3.3h.3l.4.3h.3l.3.2h.7l.4.2h.7v1h-1.6l-.4-.2h-.3l-.4-.3h-.4l-.4-.3-.4-.3-.3-.2-.5-.2-.3-.2-.3-.2-.4-.2-.3-.3-.3-.3-.2-.3-.3-.3-.2-.3-.2-.3v-.3l-.3-.4v-.3l-.3-.4v-.4l-.2-.5v-.4l-.2-.3v-1.4zm8-8.3v1.2h-1.3l-.4.2h-.3l-.3.2h-.4l-.3.3h-.3l-.3.2-.3.2-.2.2-.3.2-.2.3-.3.3-.2.2-.2.3-.2.3-.2.4-.2.3-.2.3-.2.3v.3l-.2.3-.2.3v.7l-.2.3v1.1h-1v-1.6l.2-.4v-.4l.2-.4.2-.4v-.4l.3-.3v-.4l.3-.2.2-.3.3-.3.2-.3.3-.4.3-.3.3-.3.2-.2.3-.2.4-.3.2-.2h.4l.3-.2.3-.2h.4l.4-.2h.5l.4-.2h1.1z"/>
+      <path fill="#edb92e" d="M482 213.7c3.3 0 5.8 2.6 5.8 5.7 0 3.2-2.5 5.8-5.7 5.8-3 0-5.5-2.6-5.5-5.8 0-3 2.5-5.7 5.6-5.7z"/>
+      <path fill="#21231e" d="M488.3 219.4h-1V218h-.2v-.7l-.2-.2v-.2l-.2-.3-.2-.2v-.2l-.3-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.3h-.4l-.2-.3h-.2l-.3-.2h-.6l-.2-.2H482v-1h1.8l.3.2h.3l.2.2h.3l.3.3h.4l.2.3h.2l.3.3.3.2.2.2.2.2.2.3v.2l.3.3v.2l.3.3v.2l.2.3.2.3v.6l.2.2v1.3zm-6.2 6.3v-1h1.1l.2-.2h.3l.2-.2h.2l.2-.2h.4l.2-.2.2-.2h.2l.2-.3.2-.2h.2v-.2l.3-.2v-.2l.3-.3.2-.3v-.2l.2-.3v-.2l.2-.3v-1.3h1v2l-.2.3-.2.3-.2.4-.2.3v.2l-.3.2v.2l-.3.2-.2.3h-.2l-.2.3h-.2l-.2.3-.3.2h-.2l-.2.3-.3.2h-.2l-.3.2h-.3l-.3.2h-1.4zm-6-6.3h1v1.3l.2.3v.2l.2.3v.2l.2.2.2.4.2.2v.2h.3l.2.3.2.3v.2h.3l.2.3h.3l.2.2h.2v.2h.4l.2.2h.2l.3.2h.9v1h-1.5l-.3-.2h-.3l-.3-.2h-.2l-.3-.3-.3-.2-.3-.2-.3-.2h-.2l-.2-.3h-.2l-.2-.4-.2-.2-.2-.2-.2-.3-.2-.3v-.3l-.2-.3h-.2v-.4l-.2-.3v-.6l-.2-.3v-.9zm6-6.2v1H481l-.2.2h-.4l-.3.2-.3.3h-.5l-.2.3h-.2v.3l-.3.2h-.2l-.2.3v.3l-.2.2v.2l-.2.3v.2l-.2.2v.2l-.2.3v.4l-.2.2v.7h-1V218l.2-.4v-.3l.2-.3.2-.3v-.2l.2-.3.2-.2.2-.3.2-.2.2-.3.2-.2.2-.2.2-.2.2-.2h.3l.2-.3h.2l.3-.2h.2l.3-.2h.3l.3-.2h.5l.3-.2h.6z"/>
+      <path fill="#0c4076" d="M482 215.8c2 0 3.7 1.6 3.7 3.6S484 223 482 223c-1.8 0-3.4-1.6-3.4-3.6s1.6-3.6 3.5-3.6z"/>
+      <path fill="#21231e" d="M486.2 219.4h-1v-.8h-.2v-.3l-.2-.2v-.2l-.2-.2-.2-.2-.2-.3h-.2l-.3-.2h-.2l-.2-.2h-.2v-.2H482v-1h1.4v.2h.5v.2h.3v.2h.3v.3h.3v.2l.2.2.2.3.2.3v.2l.2.2.2.3v.4l.2.2v.6zm-4 4.2v-1h.6v-.2h.5l.3-.2h.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2v-.2l.2-.2v-.4h.2v-1h1v1l-.2.2v.2l-.2.2v.2l-.2.2-.2.3-.2.2-.2.2-.3.2-.3.3h-.3l-.3.2-.3.2h-1l-.3.2zm-4-4.2h1v1.3l.2.2v.2l.2.2.2.2.2.2.2.2.2.2h.2v.2h.4l.2.2h.8v1.2h-.7l-.2-.2h-.3v-.2h-.5l-.2-.2-.3-.3h-.2v-.2l-.2-.2h-.2v-.2l-.2-.3-.2-.3v-.2l-.2-.2-.2-.3v-1.4zm4-4v1h-1l-.2.2h-.2l-.2.2h-.2v.2h-.2l-.2.3-.2.2-.2.2-.2.3v.4h-.2v1h-1V218l.2-.2.2-.3v-.2l.2-.2.2-.2.3-.3.2-.2.2-.2h.2l.2-.2h.2l.2-.2h.3l.3-.2h.9z"/>
+    </g>
+    <path fill="#c6363c" d="M314.6 301.2v271.3c0 48.5 18.8 92.6 49.2 124.6A162.9 162.9 0 00482 749a163 163 0 00118.5-51.7c30.4-32 49.2-76 49.2-124.5V301.2h-335z"/>
+    <path fill="#fff" d="M313.4 300v277l.2 4.6.3 4.5.3 4.6.5 4.4.5 4.5.7 4.3.8 4.4 1 4.3 1 4.2 1 4.3 1.2 4.2 1.3 4 1.4 4.2 1.4 4 1.7 4 1.6 4 1.8 4 2 3.8 1.8 3.8 2 3.7 2 3.7 2.2 3.6 2.2 3.6 2.4 3.5 2.4 3.6 2.4 3.4 2.6 3.3 2.6 3.2 2.7 3.2 2.8 3 3 3.2 1.6-1.7-2.8-3-2.7-3-2.6-3.3-2.5-3.2-2.7-3.3-2.4-3.3-2.5-3.4-2.2-3.5-2.3-3.5-2-3.6-2-3.6-2-3.7-2-4-1.8-3.7-1.7-3.8-1.6-4-1.7-4-1.4-4-1.5-4-1.2-4-1.2-4.2-1-4-1-4.3-.8-4.3-.8-4.3-.7-4.3-.6-4.2-.4-4.5-.4-4.4-.2-4.5-.2-4.5V302.5h332.7V577l-.2 4.5-.3 4.4-.3 4.3-.5 4.5-.6 4.3-.7 4.4-1 4.3-.8 4.3-1 4.2-1 4-1.2 4.3-1.3 4-1.3 4-1.4 4-1.6 4-1.6 4-1.7 3.8-1.7 3.8-2 4-2 3.6-2 3.6-2 3.6-2.3 3.5-2.3 3.5-2.3 3.4-2.5 3.3-2.6 3.3-2.6 3.2-2.6 3.2-2.7 3-2.8 3-3 3-2.8 3-3 2.7-3 2.6-3.3 2.6-3 2.6-3.4 2.4-3.3 2.5-3.3 2.3-3.4 2.2-3.5 2.2-3.5 2-3.5 2-3.6 2-3.7 1.7-3.7 1.8-3.8 1.7-3.8 1.5-3.8 1.4-4 1.3-3.8 1.3-4 1-4 1-4 1-4 1-4.2.6-4 .6-4.3.5-4 .4-4.3.4-4.3.2H482v2.4h4.5l4.3-.2 4.3-.3 4.4-.4 4.2-.4 4.2-.6 4.2-.8 4-.8 4.2-1 4-1 4-1.2 4-1.2 4-1.4 4-1.4 3.8-1.6 3.7-1.6 3.8-1.7 3.7-2 3.7-1.8 3.5-2 3.5-2 3.6-2.3 3.4-2.2 3.4-2.4 3.3-2.5 3.3-2.4 3.2-2.6 3.2-2.7 3-2.7 3-2.8 3-3 3-3 2.8-3 2.8-3 2.7-3.3 2.6-3.2 2.5-3.3 2.5-3.4 2.4-3.5 2.3-3.4 2.3-3.6 2-3.6 2.2-3.7 2-3.7 2-3.8 1.7-4 1.8-3.8 1.6-4 1.6-4 1.4-4 1.4-4 1.3-4.2 1.2-4.2 1-4.3 1-4.2 1-4.3.7-4.4.7-4.3.5-4.5.5-4.4.4-4.5.3-4.4V577l.2-4.5V300z"/>
+    <g fill="#fff" stroke="#21231e">
+      <path d="M483.7 734.8c1.4-.2 4 0 5.7-1.4 2.5-2 1.5-9.8 1.3-14.8-1-25.3-2.2-68-3.5-128-2-.2-3.6 0-5 .2a12 12 0 00-5 0c-1.4 59.8-2.5 102.5-3.6 127.8-.2 5-1.2 13 1.3 14.8 1.7 1.5 4.2 1 5.6 1.4h3z"/>
+      <path d="M499.6 734c-1.5 0-4 .5-6-.8-2.6-1.7-2.8-9.7-3-14.7a6148 6148 0 00-7.6-127.6c2-.6 3.6-.6 5-.5.3 0 .5 0 .7-.2 9.6 59.2 13.2 101.2 19.7 126.5 1 3.5 2.8 12.2-.2 15-1.7 1.7-4.2 1.6-5.6 2l-3 .3z"/>
+      <path d="M518.2 731.4c-1.5 0-3.8.8-6-.3-2.7-1.4-2.6-9.4-3.8-14.2-6.6-25.3-10.2-67.3-19.7-126.5 2-.7 3.6-.8 5-1h.2c15 57.6 19.6 98.2 31.4 123.2 1 3.5 4 12.7 1.2 16-1.5 1.7-4 1.8-5.4 2.3l-3 .6z"/>
+      <path d="M537 726c-1.5.3-4 1.6-6 .7-3-1.2-3.5-9.7-5.6-14.2-11.8-25-16.3-66-31.7-124 2-.8 3.5-1 5-1.3 1.3-.6 1-1 3-1.2 18 57.3 23.7 97 40.5 121.8 2.7 4 4.7 12 3 14.5-1.5 2-4 2.3-5.3 3l-3 .8zm-72.2 8c1.4 0 3.8.5 5.8-.8 2.7-1.7 3-9.7 3-14.7a7227 7227 0 017.7-127.6c-2-.6-3.6-.6-5-.5a25.4 25.4 0 00-.7-.2c-9.6 59.2-13.2 101.2-19.7 126.5-1 3.5-3 12.2 0 15 1.8 1.7 4.3 1.6 5.7 2l3 .3z"/>
+      <path d="M446 731.4c1.6 0 4 .8 6-.3 2.8-1.4 2.7-9.4 4-14.2 6.4-25.3 10-67.3 19.6-126.5-2-.7-3.6-.8-5-1h-.3c-15 57.6-19.6 98.2-31.4 123.2-1.2 3.5-4.2 12.7-1.3 16 1.5 1.7 4 1.8 5.4 2.3l3 .6z"/>
+      <path d="M427.3 726c1.5.3 4 1.6 6 .7 3-1.2 3.5-9.7 5.6-14.2 11.7-25 16.2-66 31.6-124-2-.8-3.5-1-5-1.3-1.3-.6-1-1-3-1.2-18 57.3-23.7 97-40.5 121.8-2.6 4-4.6 12-2.8 14.5 1.4 2 4 2.3 5.2 3l3 .8zm99.7-43c-1.3 0-3.3 1-5.4 0-2.8-1.4-4.6-9-6-14-12-23.5-23-65.3-40.8-123.4 1.8-.7 3-1 4.5-1 1-.5 2.4-1 4.3-1.2 19.3 57.5 28 99 46.7 122 3 3.8 5.4 12 4 14.4-1.2 1.8-3.4 2-4.6 2.6l-2.7.6z"/>
+      <path d="M512 685.8c-1.5 0-3.6.6-5.6-.5-2.6-1.6-3.5-9.4-4.5-14.3-5-25-13.7-67-26.3-126 1.8-.7 3.2-.8 4.5-.8 1.2-.4 2.6-.8 4.5-.8 15 58.7 18.3 102.6 32.4 125 2.6 4.2 4 12.5 2.3 14.8-1.3 1.7-3.5 1.7-4.8 2.2l-2.7.4z"/>
+      <path d="M496.4 687.6c-1.4-.2-3.5.3-5.4-1-2.4-1.7-2.4-9.6-2.8-14.6-2-25.3-6-68-11.6-127.6 2-.5 3.3-.4 4.6-.3 1.2-.2 2.6-.5 4.5-.4 8 59.6 12.8 102.8 18 127.2 1 5 2.4 12.6.4 14.8-1.4 1.5-3.6 1.4-5 1.8l-2.6.2z"/>
+      <path d="M437.2 682.8c1.4 0 3.4 1 5.5 0 2.8-1.4 4.6-9 6-14 12-23.5 23-65.3 40.8-123.4-1.8-.7-3-1-4.5-1-1-.5-2.4-1-4.3-1.2-19.3 57.5-28 99-46.7 122-3 3.8-5.4 12-4 14.4 1.2 1.8 3.4 2 4.6 2.6l2.6.6z"/>
+      <path d="M452.4 685.8c1.4 0 3.5.6 5.5-.5 2.5-1.6 3.4-9.4 4.4-14.3 4.8-25 13.6-67 26.2-126-1.8-.7-3.2-.8-4.5-.8a12 12 0 00-4.4-.8c-15 58.7-18.3 102.6-32.4 125-2.5 4.2-4 12.5-2.2 14.8 1.3 1.7 3.5 1.7 4.7 2.2l2.7.4z"/>
+      <path d="M468 687.6c1.3-.2 3.4.3 5.3-1 2.4-1.7 2.4-9.6 2.8-14.6 2-25.3 6-68 11.7-127.6-2-.5-3.3-.4-4.6-.3-1-.2-2.5-.5-4.4-.4-8 59.6-12.8 102.8-18 127.2-1 5-2.4 12.6-.4 14.8 1.5 1.5 3.7 1.4 5 1.8l2.7.2z"/>
+      <path d="M483.5 688c1.3 0 3.5.2 5.2-1.3 2.3-2 1.4-9.8 1.2-14.8-1.2-25.4-2-68-3.3-128a14 14 0 00-4.6 0c-1.2-.2-2.5-.3-4.4 0-1.2 60-2 102.6-3.2 128-.2 5-1 12.8 1.2 14.7 1.6 1.5 4 1 5.2 1.4h2.7z"/>
+      <path d="M516.5 648c-1 0-2.5 1-4 0-2.3-1.5-3.7-9.2-4.8-14-9.2-23.5-17.5-65.4-31.2-123.5 1.4-.7 2.4-1 3.4-1 .8-.5 1.8-1 3.3-1 14.7 57.4 21.3 99 35.7 121.8 2.4 3.8 4 12 3 14.5-.8 1.8-2.5 2-3.4 2.5l-2 .7z"/>
+      <path d="M505 651c-1 0-2.7.6-4.3-.6-2-1.5-2.7-9.4-3.4-14.3-3.7-25-10.5-67-20-126 1.3-.6 2.3-.7 3.4-.7 1-.4 2-.7 3.4-.8 11.5 58.7 14 102.6 25 125.2 2 4 3 12.4 1.6 14.6-1 1.7-2.7 1.8-3.6 2.2l-2 .5z"/>
+      <path d="M493 652.7c-1 0-2.6.4-4-1-2-1.7-2-9.6-2.2-14.5-1.5-25.4-4.5-68-9-127.7 1.5-.4 2.6-.4 3.6-.3 1-.3 2-.6 3.5-.4 6 59.6 9.7 102.7 13.6 127 .7 5 2 12.8.4 15-1.2 1.5-3 1.4-4 1.7l-2 .2z"/>
+      <path d="M447.8 648c1 0 2.5 1 4 0 2.3-1.5 3.7-9.2 4.8-14 9.2-23.5 17.5-65.4 31-123.5-1.2-.7-2.2-1-3.2-1-1-.5-2-1-3.4-1-14.7 57.4-21.3 99-35.7 121.8-2.4 3.8-4.2 12-3 14.5.8 1.8 2.5 2 3.4 2.5l2 .7z"/>
+      <path d="M459.4 651c1 0 2.6.6 4-.6 2.2-1.5 3-9.4 3.6-14.3 3.7-25 10.5-67 20-126a7.7 7.7 0 00-3.4-.7c-1-.4-2-.7-3.4-.8-11.4 58.7-14 102.6-24.8 125.2-2 4-3 12.4-1.7 14.6 1 1.7 2.7 1.8 3.6 2.2l2 .5z"/>
+      <path d="M471.3 652.7c1 0 2.6.4 4-1 2-1.7 2-9.6 2.2-14.5 1.5-25.4 4.5-68 9-127.7a9.5 9.5 0 00-3.6-.3c-1-.3-2-.6-3.6-.4-6.2 59.6-9.8 102.7-13.7 127-.7 5-2 12.8-.4 15 1.2 1.5 3 1.4 4 1.7l2 .2z"/>
+      <path d="M483.2 653.2c1-.2 2.7 0 4-1.4 1.7-2 1-9.7 1-14.7-1-25.3-1.6-68-2.5-128-1.5-.2-2.6 0-3.6.2-.8-.2-2-.4-3.4 0-1 59.8-1.6 102.5-2.4 128 0 5-.8 12.7 1 14.6 1.2 1.5 3 1.2 4 1.4h2z"/>
+      <path d="M475 559c-.2 4.4-.3 9-.3 14l-10.6 2.3c0 4.8 12 55.4 18 55.4 6.3 0 18.2-50.6 18.2-55.5l-10.6-2v-.2c0-5 0-9.6-.2-14-2.2 2-4.7 5.2-7.3 8-2.4-2.8-5-6-7-8z"/>
+    </g>
+    <g id="d">
+      <path fill="#edb92e" stroke="#21231e" d="M412 584.5c-3 .2-7 2-18.5 12-5 10.2-10 20.5-17 29.4-2.4 1.4-4.2 2.5-6 3.2a84 84 0 01-17-.5c-4.4-4-11.3-1.2-9 3.2-1.8 1.6 2.2 7.8 5.3 5.2 3-2.4 13-.2 16.4-1.4-1.3 3-10.4 5-16.8 5.5-5.8.2-5.4 6-3 10.5 2.7 1.8.5-.4 1.4.8 2.6 4 8.2 3.4 8.4-.4.2-4 13.8-9 15.8-12-2.5 6-8.2 11.5-11 17.3-3 3-5 3.7-1 10 4.4-.6 4.6-1.7 7.3.8 6-.6 7-2.4 6-7.2-1-5 3.2-14 4.6-16.6 1.2-2.4 1.5-4.8 2.8-6.3 2.2-2.5 12.6-7.7 15.2-6.3 5 2.7 8.7 1 9.3-3.7-1.6-1.2-.4-8-3.8-8.2-2.8-.3-4.4.6-7 2.7-4 3.2-6 5-7.4 4.6-3-.7 5.8-5 13.8-15.6 11-14.5 11.8-22 11.3-27z"/>
+      <use width="1350" height="900" transform="matrix(-1 0 0 1 801.6 0)" xlink:href="#c"/>
+      <path fill="#edb92e" stroke="#21231e" d="M345.2 634.5c-4-2.3-6.3-2.2-8-.5-.7 1-1.8.5-1.2-1 2.7-6.3 7-7 10.7-4.2l2.8 2.7c-.6 1-3.8 2.3-4.3 3zm57.4-5.6c4.3-3 8.3-3.6 10.5-2 1.3 1 2.5.3 1.4-1.2-4.4-6.2-9.6-6.5-13.5-3-1.2 1-2 2-2.8 3 1.3 1.6 4.3 3.2 4.4 3zM369 664.4c.2-.2-1-5.4-2.6-7-1.4 1-3 2-4.3 3.5-4.2 4.5-4 11 2.5 16.7 1.6 1.5 2.4 0 1.7-1.7-1-2.7.3-6.3 3-11.5zM352.6 651c-4 1.6-5.4 3.7-5.2 6.4 0 1.5-1 2-1.5.3-4.8-11.2.2-13.3 7.5-13 .4 2-.7 6.2-.8 6.2z"/>
+      <path fill="#21231e" d="M384 621.3l1 .6h-.2v1.8h.2v.4h.2v.2h.2l.2.3.3.2v.2h.4l.2.3h.2l-.6 1h-.2l-.3-.2h-.2l-.2-.2-.2-.2-.3-.3-.3-.3v-.2h-.2v-.3l-.2-.2v-.2h-.2v-.2l-.2-.2V622l.2-.3v-.2zm6.5.8l-.8 1-.2-.2-.3-.2-.2-.2-.2-.2h-.3l-.2-.3-.2-.3-.3-.2-.2-.2-.3-.2h-.7l-.2-.2h-.7v.2h-.2l-.2.2v.2h-.2v.3l-.2.2-1-.7v-.3l.2-.2.2-.2.2-.2.3-.3h.3l.2-.2h.4v-.2h.8l.2.2h.4l.2.2h.2l.2.2h.2l.2.3h.2l.2.3h.2l.3.3.2.3.2.2.3.2.2.2h.3z"/>
+      <path fill="#21231e" d="M387.3 617.6l1 .6v.4h-.2v.8l.2.2v.2l.2.2v.2l.2.2.2.3.3.2h.2l.2.2h.2l.2.2.2.2h.2l-.6 1h-.2l-.3-.2-.3-.3h-.2l-.2-.2-.2-.2-.2-.3v-.2h-.2l-.2-.2v-.2h-.2v-.5h-.2V618h.2v-.3zm6.5.8l-.7 1-.2-.3h-.2l-.2-.3-.3-.2-.3-.3h-.2l-.2-.3-.2-.2-.3-.2-.3-.2h-.3v-.2h-.8l-.2.2-.2.2-.2.2v.2l-.3.2-1-.6.2-.3v-.2h.3v-.3h.3l.3-.3h.2l.2-.2h.2v-.2h1.4l.2.2h.2v.2h.3l.3.3h.2l.2.2h.2l.2.3h.2l.3.3v.2l.3.2.3.2.2.2z"/>
+      <path fill="#21231e" d="M391 612.8l1 .6-.2.2v.6h-.2v1l.2.3v.3h.2v.4h.2l.2.3v.2h.2l.2.2.2.2.3.3.3.2h.2l.2.2-.6 1-.3-.2-.2-.2-.2-.2-.3-.2-.2-.2v-.2l-.3-.2v-.2l-.3-.2v-.2l-.3-.2v-.4l-.2-.3v-.2h-.2v-.7h-.2v-1l.2-.3v-.4l.2-.3v-.2zm7 1l-.8 1-.3-.3-.3-.2-.3-.3-.3-.2v-.2l-.3-.2-.3-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.2-.3-.2h-.2l-.2-.2h-.7l-.2.2-.2.2-.3.3v.2h-.2v.4l-1-.6v-.3l.2-.2.2-.3v-.2l.3-.2.2-.2v-.2h.3l.2-.2h.3l.2-.2h1.2l.2.2h.2l.2.2.3.2h.3l.2.3.2.2h.3l.2.3.3.2.2.2.3.2.2.2.3.2.2.3.3.2z"/>
+      <path fill="#21231e" d="M394.8 607.7l1 .5v.5l-.2.3v1.7l.2.2v.3l.2.2v.2l.2.2.3.3v.2l.3.2.2.2h.2l.2.3.2.2.3.2v.2l-.6.8-.3-.2v-.2l-.4-.2-.2-.3-.3-.3v-.2l-.3-.3-.2-.2v-.2l-.3-.3v-.2l-.3-.2-.2-.2v-.2l-.2-.2v-.3l-.2-.3v-2.1l.2-.2v-.2l.2-.3zm7.6 1.3l-1 .8-.2-.3-.3-.3-.3-.2-.3-.3-.3-.3v-.2l-.4-.2-.2-.2-.2-.2-.2-.2-.2-.2h-.2l-.2-.2h-.2l-.2-.2h-.3v-.2h-.7v.2l-.3.2-.2.3-.2.2v.2l-.3.2v.2l-1.2-.5.2-.3.2-.3v-.2l.3-.3.2-.2.2-.2.3-.2.3-.2h.5l.3-.2h.8l.3.2h.2l.3.2h.2l.2.3.3.3.2.2.3.2.2.2h.3l.2.3.3.3.2.2.3.3.3.4.3.3.4.3z"/>
+      <path fill="#21231e" d="M399 602.6l1.2.6v.2l-.2.2-.2.3v2.1l.2.2v.2l.2.2.2.2v.2l.2.2.2.2.2.2v.2l.3.2.2.2.2.2.3.2.2.2.3.2-.8 1-.3-.3-.2-.3-.3-.2-.3-.3-.2-.2-.3-.2-.2-.3v-.2l-.3-.2-.2-.2v-.2l-.3-.2v-.3h-.2v-.4l-.2-.2v-.2l-.2-.3v-2.6l.2-.2v-.2l.2-.2v-.2zm7.7 1.4l-1 .8-.2-.3-.3-.3-.2-.3-.3-.3-.3-.3-.2-.2-.2-.3-.3-.3-.2-.2h-.2l-.2-.3-.2-.2h-.2v-.2h-1.3l-.3.2v.2h-.2v.3l-.3.2-.2.3v.2l-1.2-.6.3-.3.2-.3.2-.2.2-.3v-.2l.4-.2h.2l.2-.2h.2l.2-.2h1.7l.2.2.2.2h.2l.2.3h.3l.3.3.2.3h.3l.2.3.3.3.2.2.3.3.3.4.4.3.3.3z"/>
+      <path fill="#fff" stroke="#21231e" d="M462.6 580.6l-9.5-5.4c-4 3-6.8 13.5 0 22.2 8.5 11 12 18.7 14 27.5 6.2-8 8.3-16.3 4.4-24.5-5.3-11-8.7-17-8.8-20z"/>
+      <path fill="#fff" stroke="#21231e" d="M470.4 573l-9.5-5.4c-4 3-12.5 13.2-5.6 22 8.5 10.8 17.3 19 19.4 27.7 6.2-8 8.8-16.2 5-24.4-5.4-11-9.4-17.2-9.4-20z"/>
+      <path fill="#fff" stroke="#21231e" d="M449.4 569.2l-9.5-5.4c-4 3-7 13.5-.2 22.2a65 65 0 0114 27.5c6.2-8 8.4-16.3 4.4-24.4-5.3-11-8.7-17-8.8-19.8z"/>
+      <path fill="#fff" d="M405.5 469c.2 8.7-1.4 66.5-1.8 74.7-.5 8.2-4 13.7-8 17-3.5-5-5.6-11.5-6-19.3-.4-4 .4-58.7.7-70 6.4-17 11.2-17.8 15-2.4z"/>
+      <path fill="#21231e" d="M404 543.8h-1l.2-1v-2.6l.2-1.7v-4l.2-2.3v-5l.2-2.7v-2.8l.2-3v-3l.2-3v-6.2l.2-3v-6.2l.2-3v-5.8l.2-2.7v-7.4l.2-2V469h1v11.7l-.2 2.5v8.3l-.2 2.8v6l-.2 3.2v3l-.2 3.2v6l-.2 3v3l-.2 2.8v5.3l-.2 2.5v2.3l-.2 2v3.6l-.2 1.5v2zm-8.7 17l.8-.5h-.6l.3-.4.4-.4.4-.3.4-.3.3-.4.5-.4.3-.3.3-.5.4-.4.4-.4.3-.4.4-.5.3-.4.2-.5.2-.5.3-.5.3-.5.2-.6.2-.5.3-.6.2-.5.2-.5v-.7l.3-.6v-.6l.3-.7v-.7l.2-.7v-.7l.2-.8v-1.5h1v2.3l-.2.7v.8l-.3.6v.8l-.3.7-.2.6-.2.8-.2.6-.2.6-.2.6-.3.6-.4.5-.2.6-.3.5-.2.5-.3.5-.3.5-.3.5-.4.4-.4.5-.3.4-.5.5-.3.4-.4.3-.3.4-.4.3-.2.4-.4.3-.4.3h-.7zm.7.2l-.4.3-.3-.4h.7zm-7-19.5h1v.6l.2.8v1.4l.2.7v.6l.2.7v.6l.3.6v1.5l.3.5v.7l.3.6.2.6.2.6.2.6.2.5.2.7.2.6.2.5.3.6.2.5.3.4.2.6.3.5.3.5.3.5.2.4.3.4.3.5.3.3-.7.6-.3-.6-.4-.4-.3-.5-.3-.5-.3-.5-.3-.6-.2-.6-.3-.5-.4-.7-.2-.5-.3-.6v-.6l-.3-.5-.3-.5-.2-.6-.2-.7-.2-.6v-.7l-.3-.6-.2-.6v-.7l-.3-.5v-.7l-.2-.7-.2-.6v-.6l-.2-.7v-1l-.2-.8v-1.5zm1-70.2l.8.3v8l-.2 2.3V492l-.2 2.7v11.6l-.2 3v19l-.2 2.2v11h-1v-20.9l.2-2.7v-14.6l.2-2.8V489l.2-2.6v-8.9l.2-2v-4.2zm0 0zm16-2.3h-1l-.4-1.3-.3-1.3-.4-1-.5-1.2-.4-1-.2-1-.4-.7-.4-.8-.4-.6-.4-.4-.4-.4-.4-.3-.3-.3h-.3l-.4-.2h-.7l-.4.3-.4.3-.5.5-.5.4-.5.5-.5.7-.5.7-.5.8-.5 1-.6 1-.5 1.2-.6 1.3-.6 1.3-.6 1.5-.6 1.6-1-.3.7-1.6.6-1.5.7-1.3.6-1.4.5-1.2.6-1 .5-1 .5-1 .5-.8.6-.7.5-.7.6-.6.6-.4.5-.4.6-.3.5-.2h1.1l.5.3.5.3.5.5.5.5.4.6.4.6.5.8.4.8.4 1 .5 1 .3 1 .4 1.4.4 1.3.4 1.4zm0 0z"/>
+      <path fill="#fff" d="M368 454.8l-2.6 79.6c-.8 7 8.4 49 13.5 57.4 12.3-5.3 15-33.8 12.6-61.6-2.4-27.8.4-51.8 2.3-56.8 0-6.3-1-12.8-1-19.3-8 .5-17.2.4-25 .8z"/>
+      <path fill="#21231e" d="M365 534.4l2.4-79.6h1l-2.5 79.6h-1zm1 0zm12.7 57l.3.8-.6-.2-.5-1-.6-1-.5-1.2-.7-1.4-.5-1.6-.6-1.6-.6-1.8-.6-2-.5-2-.6-2-.7-2.2-.6-2.2-.6-2.3-.4-2.3-.6-2.3-.5-2.3-.6-2.3-.6-2.3-.4-2.2-.5-2.2-.4-2.2-.3-2-.4-2.2-.3-2-.3-1.8-.3-1.7-.2-1.6v-1.4l-.3-1.3v-2.8h1v4.1l.2 1.5.2 1.6.3 1.7.3 1.8.3 2 .4 2 .4 2.2.5 2.2.4 2.2.4 2.3.5 2.2.4 2.3.6 2.3.5 2.4.6 2.3.7 2.2.5 2.2.6 2 .6 2.2.6 2 .6 2 .5 1.7.7 1.5.6 1.5.5 1.4.5 1.2.5 1 .5 1-.6-.3zm.3.8l-.4.2-.2-.4.6.2zm12-62h1l.3 2.5v2.7l.3 2.6v2.6l.2 2.6v12.5l-.3 2.4-.2 2.5-.2 2.3v2.3l-.4 2.3-.4 2.2-.3 2-.6 2-.4 2-.6 2-.5 1.7-.8 1.7-.6 1.5-.7 1.5-1 1.5-.7 1.3-1 1.2-1 1-1 1-1 1-1 .6-1.3.6-.3-1 1-.4 1-.7 1-.7 1-1 1-1 .7-1 .8-1.3.8-1.4.7-1.5.6-1.5.6-1.6.5-2 .5-1.7.5-2 .4-2 .3-2 .3-2 .3-2.3v-2.3l.4-2.3V558l.3-2.3V538l-.2-2.6-.2-2.6-.2-2.6zm2.4-56.8h1v.2l-.2.5-.2.7-.2.7-.2 1-.2.8-.2 1-.2 1.2v1.2l-.3 1.3-.2 1.3-.2 1.4v1.6l-.3 1.6v1.7l-.3 1.7v2l-.2 1.8v2l-.2 2V520l.2 2.5.2 2.5.2 2.6v2.5l-1 .2v-2.6l-.3-2.5-.2-2.5V520l-.2-2.5v-20.1l.2-2v-2l.3-2v-1.7l.2-1.7.2-1.8.2-1.6v-1.4l.3-1.5.2-1.3v-1.2l.3-1V477l.3-1 .2-.8.2-.7.2-.7.2-.5zm1 0v.2-.2zm-1.5-18.8v-1l.4.4v3.7l.2.6v2.5l.2.6v1.8l.2.6v2.4l.2.6v3.6l.2.6v2.4h-1V468l-.2-.5V465l-.2-.5v-1.9l-.2-.6v-1.7l-.2-.6v-3l-.2-.6V454l.5.6zm0-1h.4v.4l-.5-.4zm-24.6 1.2h-1l.4-.5h3.9l.8-.2h12.8l.8-.2h4.7l.8-.2h1.7v1h-4.1l-.7.2h-8l-.8.2h-7.1l-.8.2h-3.9l.4-.4zm-1 0v-.4h.4l-.4.4zm.5 0h.4-.5zm-.6 0v-.4h.4l-.4.4z"/>
+      <path fill="#fff" d="M353 468l1.8 79.5c-.4 7 11 48.5 16.4 56.5 12.6-9.8 10-49.8 8.2-62-4-24-3.2-52-2-56.5 0-6.3-.2-13.8-.6-20.4-8 1-15.8 2-23.7 2.8z"/>
+      <path fill="#21231e" d="M354.3 547.5l-1.7-79.6 1-.2 1.7 79.6h-1zm1 0zm15.6 56l.5 1-.7-.2-.5-1-.6-1-.6-1.2-.5-1.2-.7-1.6-.6-1.6-.7-1.8-.7-1.8-.7-2-.5-2-.7-2.2-.7-2.2-.6-2.2-.7-2.3-.7-2.2-.7-2.3-.6-2.3-.6-2.3-.5-2.3-.6-2.2-.6-2.2-.5-2-.6-2-.4-2-.4-2-.4-1.6-.3-1.6-.3-1.3-.2-1.3v-1.2l-.2-1v-.8h1v1.8l.2 1 .2 1.3.2 1.5.2 1.5.3 1.7.4 2 .4 1.8.4 2 .5 2 .6 2.2.4 2.2.6 2.3.7 2.3.6 2.3.7 2.2.6 2.3.7 2.3.7 2.3.7 2.2.7 2 .7 2.2.8 2 .7 1.8.6 1.7.8 1.7.6 1.4.6 1.3.6 1.2.5 1 .6.7h-.7zm.5 1l-.4.2-.2-.4h.7zM379 542l1-.2v1.2l.2 1.4.2 1.5.2 1.8.2 1.7v2l.3 2 .2 2v2l.2 2.3v12l-.2 2.4v2.3l-.3 2.4-.4 2.4-.3 2.4-.3 2.2-.4 2.2-.5 2.2-.4 2-.6 2-.7 2-.8 1.6-.8 1.7-1 1.5-1 1.3-1 1.4-1.2 1-.6-.8 1-1 1-1 1-1.4.8-1.4.8-1.6.8-1.7.6-1.8.6-2 .5-2 .6-2 .4-2.2.4-2.3.3-2.3.2-2.4v-2.3l.3-2.4V569l.2-2.2V560l-.2-2.3v-2.2l-.2-2v-2l-.2-2-.2-1.6-.2-1.8-.2-1.5v-1.3l-.3-1.2zm-2-56.7h1v.6l-.2.7-.2.7v1l-.2.8v2.4l-.2 1.3v2.8l-.2 1.6v15.2l.2 2v2.3l.3 2v2.4l.3 2.3v2.2l.3 2.2.4 2.3.2 2.4.3 2.2.2 2.3.3 2.2.4 2.3-1 .2-.5-2.3-.3-2.4-.3-2.3-.4-2.3-.2-2.4-.2-2.3-.2-2.3-.2-2.3-.2-2.2v-2.3l-.3-2.2V512l-.2-2v-16l.2-1.4v-1.3l.2-1.2v-2l.3-1v-.8l.2-.6v-.7.2zm1 0zm-1.2-20v-1l.5.6v3.4l.2.7v3.8l.2.6v6l.2.6v5.3h-1V480l-.2-.7v-5.7l-.2-.6v-4.5l-.2-.7v-2.4l.4.4zm0-1h.4v.6l-.5-.4zm-23.7 4v-1l.8-.2h.8l.7-.2h2.2l.7-.2h.8l.7-.2h.8l.7-.2h1.4l.7-.2h.8l.7-.2h.6l.8-.2h1.7l.6-.2h.7l.8-.2h.8l.7-.2h1.5l.8-.2h.7l.7-.2h.8l.7-.2v1h-.6l-.6.2h-.8l-.7.2h-1.6l-.7.2h-.8l-.8.2h-.8l-.7.2h-1.5l-.7.2h-.8l-.7.2h-.7l-.8.2H362l-.7.2h-.7l-.8.2h-.7l-.6.2H357l-1 .2h-.6l-.7.2h-.8l-.8.2zm.2 0zm0-1v1l-.6-.6.5-.6zm-.6.4v-.6h.5l-.4.5z"/>
+      <path fill="#fff" d="M342.2 486.7l21-.5c-2 8.6-.5 35.6 3.2 56.2 3.3 19.3 8 69.3-12 81.3-12.5-26.4-3-52-9.2-75-5-24.3-6-44.6-3-62z"/>
+      <path fill="#21231e" d="M363 486.7l-20.8.5v-1l21-.5.4.6-.5.4zm0-1h.7v.6l-.6-.6zm3.8 56.6l-1 .2-.3-2-.3-2-.3-2-.4-2-.3-2-.2-2-.2-2.2-.2-2-.2-2.2-.2-2-.2-2-.2-2-.2-2.2v-2l-.3-2v-2l-.2-2V499l-.2-1.7v-4.5l.2-1.4v-1.2l.2-1.2v-1l.3-1v-1l1 .3v.8l-.2 1v1l-.2 1.3v5.4l-.2 1.6v4.9l.2 1.8v4l.2 1.8v2l.3 2v2l.3 2 .2 2v2l.3 2.2.3 2 .2 2.2.3 2 .3 2 .3 2 .3 2.2.2 2 .3 2 .3 2zM354 624l.8-.6-.7-.2 2-1.2 1.5-1.4 1.5-1.6 1.4-1.8 1.3-2 1-2 1-2.3 1-2.6 1-2.5.6-2.8.6-2.7.4-2.8.4-3 .4-3 .3-3 .2-3v-3l.2-3v-6.2l-.2-3-.2-3v-3l-.4-3-.2-2.7-.3-2.7-.2-2.5-.4-2.5-.2-2.4-.3-2.2-.3-2-.3-2h.8l.4 1.8.3 2 .3 2.3.3 2.3.4 2.5.3 2.7.3 2.7.2 2.8.2 3 .2 2.8.2 3v15.5l-.3 3-.3 3.2-.4 3-.4 2.8-.5 3-.8 2.7-.7 2.7-.8 2.6-1 2.4-1 2.4-1.2 2.2-1.3 2-1.4 2-1.6 1.5-1.7 1.5-1.8 1.3h-.7zm.7 0l-.5.4-.3-.5h.7zm-10-75.2l1-.2.5 2.2.4 2.2.4 2.2.3 2.2.3 2.2.2 2.3v2l.2 2.4v25.4l.2 2.4v2.4l.3 2.4.3 2.4.3 2.4.5 2.4.4 2.4.5 2.4.7 2.5.7 2.4.8 2.5 1 2.5 1 2.4-.8.5-1.2-2.6-1-2.5-.8-2.6-.8-2.5-.7-2.5-.5-2.5-.5-2.4-.4-2.5-.2-2.3-.3-2.5-.2-2.4V594l-.2-2.4V564l-.2-2.3-.2-2.3-.2-2.2-.4-2.2-.3-2-.5-2.3-.5-2v-.2zm0 0zm-2.5-62.6v1l.5-.4-.3 1.6-.2 1.7-.2 1.7-.2 1.7-.2 1.7v1.8l-.3 1.8v3.5l-.2 2v7.3l.2 2v1.8l.2 2v2l.2 2 .2 2 .2 2 .2 2 .3 2 .2 2 .3 2.3.3 2 .3 2.2.4 2.2.4 2.2.4 2 .4 2.4.4 2.2-1 .2-.4-2.2-.4-2.3-.4-2.2-.4-2-.3-2.3-.4-2.2-.3-2-.3-2.2-.2-2-.3-2.2-.2-2-.2-2-.2-2v-2l-.2-2v-2l-.2-1.8v-13l.2-1.8v-1.8l.2-1.7.2-1.7.2-1.7.2-1.7.2-1.7.3-1.7.5-.4zm-.5.4v-.4h.5l-.5.4zm.5 0v-.4.5zm-.5 0v-.4h.5l-.5.4z"/>
+      <path fill="#fff" d="M422 454.4c0 8.7-3.2 66.5-4 74.6-.7 8-4.5 13.6-8.4 16.6-3.4-5-5.3-11.5-5.5-19.3 0-4 2.3-58.7 3-70 7-17 11.8-17.4 15-2z"/>
+      <path fill="#21231e" d="M418.5 529h-1v-1l.2-1v-1.5l.2-1.7v-2l.2-2v-2.3l.3-2.4v-2.5l.3-2.7.2-2.8v-3l.3-3 .2-3 .2-3v-3l.3-3.2.2-3 .2-3.2v-3l.3-3V474l.3-3v-2.5l.2-2.4V464l.2-2v-2l.2-1.8v-3.7h1v5.6l-.2 2v2l-.2 2.3v2.6l-.3 2.6-.2 2.7v2.8l-.3 3-.2 3v3l-.3 3-.2 3v3.2l-.3 3-.2 3.2-.2 3v3l-.2 2.7-.2 2.6v2.6l-.3 2.4v2.3l-.3 2v2l-.2 1.5v1.5l-.2 1.2v1zm-9.3 17l.8-.6-.7-.2.4-.2.3-.3.4-.4.3-.3.4-.3.4-.4.4-.3.3-.4.4-.4.4-.4.3-.5.4-.4.3-.6.3-.4.3-.5.3-.5.3-.5v-.5l.4-.6.2-.5.3-.7v-.6l.3-.6.2-.5.2-.7.2-.6V532l.3-.8v-.8l.2-.7v-.7h1v1.6l-.2.7-.2.7v.7l-.2.7-.2.7-.2.8-.2.6-.2.6-.2.6-.3.6-.2.6-.3.6-.3.5-.2.5-.3.5-.3.5-.5.5-.3.5-.3.4-.4.4-.4.4-.3.4-.5.4-.4.4-.2.4-.4.3-.4.4-.3.4-.4.3-.4.3h-.8zm.7 0l-.5.4-.3-.5h.7zm-6.4-19.7h1v2.8l.2.8v.7l.2.7v1.2l.3.6v.8l.2.6.2.7v.7l.3.6v.6l.3.5.2.6.2.6.2.6v.6l.3.5.3.6.2.4.2.5.3.5.3.5.2.5.3.4.4.4.3.5.3.4-.8.5-.3-.6-.4-.4-.3-.5-.3-.6-.3-.6-.3-.5-.3-.6v-.6l-.4-.5-.2-.6-.2-.6-.2-.4-.2-.6-.2-.6-.2-.6-.2-.6-.2-.7-.2-.6v-.7l-.3-.7v-.6l-.2-.7v-.6l-.2-.7v-1.4l-.2-.7v-1.5l-.2-.7v-1.5zm3-70l.8.3v-.2 2.6l-.2 1.6v2l-.2 2v2l-.2 2.4v2.5l-.2 2.6v2.8l-.3 2.8v2.8l-.2 3v2.8l-.2 3v3l-.2 2.8v3l-.3 2.7v2.7l-.2 2.7v7.3l-.2 2v3.8l-.2 1.6v3.3h-1v-6.8l.2-2V513l.2-2.4V508l.2-2.6.2-2.8v-2.8l.2-3V494l.2-3 .2-2.8v-3l.2-2.8v-3l.3-2.7V474l.2-2.5V469l.2-2.4v-4.2l.2-1.8V459l.2-1.5v-1.2zm-.2 0zm16.2-2h-1v.2l-.3-1.4-.3-1.2-.3-1.2-.4-1-.3-1-.4-1-.3-1-.4-.6-.5-.6-.4-.5-.2-.5-.4-.4h-.4l-.3-.2h-1.1l-.4.2-.5.2-.4.4-.5.5-.5.6-.6.7-.5.7-.5 1-.6.8-.5 1-.6 1.2-.7 1.2-.6 1.4-.6 1.4-.6 1.6-1-.4.7-1.6.8-1.4.6-1.4.6-1.2.6-1.2.6-1 .6-1 .6-1 .6-.7.5-.7.6-.6.6-.6.6-.4.5-.3h.6l.5-.3h1.2l.5.3.5.4.5.4.4.5.4.6.4.5.4.8.3 1 .4.8.3 1.2.3 1 .4 1.3.3 1.4.3 1.3zm0 0zm-.5 0h.6-.5zm.6 0z"/>
+      <path fill="#fff" d="M385 407.2c-.6 18.7-1 59-.8 62.6a51 51 0 006.7 22.6c4-3 7.7-8.5 8.4-16.6.6-6.7.8-39.5 1-56-4.3-2.6-8.7-6-12.2-9.7l-3.2-2.8z"/>
+      <path fill="#21231e" d="M384.7 469.8h-1v-23.4l.2-2.4v-19.6l.2-2.4v-9l.2-2v-3.8h1v7.8l-.2 2.4v9.4l-.2 2.5v12.5l-.2 2.4v25.4zm6 22.2l.5.8h-.7l-.3-.6-.3-.5-.4-.6-.4-.4-.3-.6-.4-.6-.3-.7-.3-.6-.2-.6-.3-.7-.3-.7-.3-.7-.3-.7-.3-.8-.2-.7-.3-.7-.3-.8-.2-.8-.2-.7-.2-.8v-.8l-.3-.8v-.8l-.3-.8v-.8l-.2-.8v-.8l-.2-.8v-.7l-.2-.7v-1.5h1v2.5l.2.8v.8l.3.7v.8l.2.8.2.8.2.8v.7l.2.7.3.8.2.7.2.8v.8l.4.7.2.7.3.7v.7l.4.6.3.7.3.7.2.6.3.6.3.5.3.6.4.6.3.6.3.5.3.4h-.7zm.5.8l-.4.3-.3-.3h.7zm7.7-17h1l-.2.8v.8l-.2.7v.8l-.3.7-.2.7v.7l-.2.5-.2.7-.2.6-.3.6v.6l-.4.6-.2.6-.3.5-.2.5-.3.6-.3.5-.3.5-.4.4-.4.5-.3.4-.5.6-.3.4-.4.4-.3.4-.4.4-.3.3-.3.4-.4.2-.4.3-.4.3-.6-.8.4-.3.3-.3.4-.3.4-.2.4-.4.4-.3.3-.3.4-.4.4-.4.3-.5.4-.4.3-.3.3-.5.3-.5.3-.4.3-.5.2-.6.3-.5.2-.5.3-.6.2-.6.2-.5.2-.6.2-.8.2-.6.2-.6v-.7l.3-.7v-.7l.2-.8v-.7l.2-.8zm1-55.5l.6-.8.2.4v18.8l-.2 2.2v14.6l-.2 2v8.9l-.2 1.5v4.3l-.2 1v2.6h-1V471l.2-1.5v-6.3l.2-1.8v-12l.2-2v-20.8l.2-1.7v-5.1l.2.3zm.6-.8h.2v.4l-.2-.5zm-12.4-9.8v1l.4-1 .3.4.2.5.4.3.3.3.3.5.3.3.4.3.3.4.4.4.3.3.4.4.4.3.4.3.3.3.4.3.3.4.4.3.4.3.5.3.3.2.4.2.4.3.4.3.4.3.4.3.4.3h.4l.4.4.4.3.4.2.4.2.4.3-.6.8-.4-.3-.4-.2-.4-.3-.4-.3-.4-.2-.4-.3-.4-.3-.4-.3-.4-.2-.4-.3-.4-.3-.4-.3-.4-.4-.3-.3-.4-.3-.3-.3-.4-.3-.4-.3-.5-.2-.4-.3-.2-.3-.4-.4-.4-.3-.3-.3-.4-.3-.4-.5-.4-.3-.4-.3-.3-.5-.5-.3-.3-.4-.3-.3.2-.8zm-.3.8l-1-.8h1.2l-.3.8zm-2.5-3.3h-1l1-.3.2.2.2.2v.2h.3v.3h.4v.2l.3.2.3.2v.2h.3v.2h.2v.2h.3l.2.2v.2h.2v.2l-.2.8v-1l-.3 1h-.2v-.2h-.2v-.2h-.2v-.2h-.2l-.2-.2v-.2h-.2l-.2-.2-.3-.3h-.3v-.3h-.3v-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2h-.2l1-.4zm-1 0v-1.4l1 1-1 .4z"/>
+      <path fill="#fff" d="M400 419.3c-.4 20-.2 51.7 0 54.3a34 34 0 005.4 19.3c4-3.2 8-8.8 8.8-17 .5-5 2-26.4 2-42.8-5.3-1.7-12-10.4-16.3-14z"/>
+      <path fill="#21231e" d="M400.4 473.5h-1v-12.9l-.2-1.7v-33.7l.2-2v-4h1v14.5l-.2 2v37.1l.2.5v.3zm4.7 19l.7.8h-.7l-.3-.6-.3-.5-.3-.5-.2-.5-.3-.5-.3-.5-.2-.6-.3-.5-.2-.5-.3-.5-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6-.2-.6v-.6l-.3-.7v-.6l-.3-.8v-.6l-.2-.7v-.8l-.2-.6v-.7l-.2-.8v-1.5l-.2-.7v-1.4h1v2.8l.2.7v.7l.2.7v.7l.2.7v.7l.2.6v.7l.3.6v.6l.3.5v.6l.3.7.3.6.2.6.2.5.2.5v.6l.4.5.2.7.3.5v.5l.4.5.2.5.3.5.2.5.3.5.3.4h-.7zm.7.8l-.4.3-.3-.4h.7zm8-17.3h1v1.7l-.3.7v.7l-.3.8v.7l-.2.7-.2.7-.2.5-.3.7v.6l-.4.6-.2.6-.3.5-.2.6-.3.6-.4.6-.2.5-.3.5-.4.5-.2.4-.4.6-.3.4-.3.5-.3.4-.4.3-.4.3-.4.4-.3.3-.5.4-.4.3-.3.3-.6-.8.5-.3.3-.3.4-.4.4-.3.3-.4.3-.4.3-.4.4-.4.3-.4.4-.4.3-.5.3-.4.4-.4.3-.5.3-.3.3-.6.3-.4.2-.5.3-.5.2-.5.3-.6.2-.6.2-.6.2-.6.2-.7.2-.7.2-.7v-.7l.3-.8v-.7l.2-.7v-.8zm2.4-42.3l.4-1 .3.5v7.9l-.2 1.6v5.1l-.2 1.6v1.7l-.2 1.7v4.6l-.2 1.6v2.9l-.2 1.3v1.4l-.2 1.3v2.5l-.2 1v2.2l-.2 1v1.6l-.2.7v1.1h-1v-2l.2-.8v-1.8l.2-1v-2.2l.2-1.2v-2.7l.2-1.3v-1.5l.2-1.4V457l.2-1.6v-1.6l.2-1.6V449l.2-1.6V443l.2-1.6V433l.5.5zm.4-1h.3v.5l-.3-.5zm-16-13.4h-1l.8-.4.5.2.4.4.5.4.5.4.5.5.4.4.4.4.5.5.4.6.5.4.4.5.5.4.5.6.5.5.5.5.5.6.6.5.5.6.7.5.5.6.5.5.6.5.5.5.5.4.6.4.4.4.5.3.4.3.5.3.4.3.5.2.4.2-.3 1-.5-.2-.5-.3-.5-.2-.6-.3-.6-.4-.6-.3-.5-.4-.6-.4-.5-.4-.6-.5-.5-.5-.5-.5-.5-.5-.6-.5-.5-.5-.7-.5-.5-.6-.5-.5-.6-.5-.5-.6-.5-.4-.5-.5-.5-.5-.5-.5-.5-.5-.5-.4-.4-.4-.5-.4-.4-.5-.6-.4-.4-.3-.4-.4.8-.3zm-1 0v-1l.8.6-.8.2z"/>
+      <path fill="#fff" d="M387 405.6L373 385c-2.8 10.2-6.3 82.8-2.2 88.8a36 36 0 006.4 19.3c4-3 9.8-8.5 8-16.7-1.6-8.2.4-62.3 2-70.7z"/>
+      <path fill="#21231e" d="M373.3 384.7l14.2 20.6-.8.5-14.3-20.5v-.4l1-.3zm-1 .2l.4-1 .5.7-.8.2zm-1.2 88.7h-1l.2.3-.5-.8-.3-1.2-.3-1.5v-1.8l-.3-2-.2-2.5v-2.6l-.2-2.8v-20.3l.2-3.7V431l.2-4 .2-3.6v-3.8l.3-3.7.2-3.7.2-3.4.3-3.5.2-3.2.3-3 .2-3 .3-2.5.3-2.4.2-2 .3-2 .3-1.3.4-1 1 .2-.3 1-.2 1.5-.3 1.8-.3 2-.2 2.4-.3 2.5-.3 2.8-.2 3-.3 3.3-.3 3.3-.2 3.4-.2 3.6-.2 3.7v3.7l-.3 3.8v3.8l-.2 3.7v3.8l-.2 3.6v19.6l.2 2.6.2 2.3.2 2v1.8l.4 1.5.3 1 .3.7v.2zm0-.2v.2-.2zm5.7 19.2l.6.8-.7-.2-.3-.4-.3-.6-.3-.5-.3-.6-.3-.5-.2-.6-.3-.6-.3-.5-.3-.6-.4-.5-.2-.6-.3-.6v-.6l-.4-.6-.2-.6-.2-.6-.3-.6-.3-.6-.2-.7v-.6l-.3-.5-.2-.7v-.7l-.3-.6v-.6l-.2-.7v-.6l-.2-.7v-1.5l-.2-.7v-.7h1v1.4l.2.7v.6l.2.6v.7l.2.6v.7l.2.6.2.6v.6l.3.6.2.7.2.6.2.7v.6l.3.6.2.5.3.6.2.6.3.6.2.5.3.6.3.5.3.5.3.6.3.4.2.5.3.4.3.4.3.5.4.5h-.7zm.6.8l-.4.3-.4-.5.7.2zm7.4-17l1-.3v.8l.2.7v3l-.2.7-.2.7v.7l-.3.7-.2.6-.2.6-.2.6-.3.6-.3.5-.4.6-.3.4-.4.5-.5.4-.3.5-.4.4-.4.4-.4.4-.5.5-.4.4-.3.5-.4.3-.4.4-.5.3-.4.3-.3.4-.4.3-.6-.8.4-.3.5-.3.4-.2.3-.4.3-.3.4-.3.4-.4.4-.3.4-.4.4-.5.4-.3.4-.4.4-.5.3-.5.5-.5.3-.5.3-.5.4-.5.3-.5.2-.6v-.6l.3-.5.2-.5.2-.7v-.6l.2-.6v-3.1l-.2-.7v-.6zM387 406v-1l.6.7-.2 1-.2 1v1.4l-.3 1.7-.2 2-.2 2v2l-.3 2.4v2.5l-.3 2.6v2.8l-.2 2.7-.2 2.8v3l-.2 2.8v3l-.2 3v8.5l-.2 2.8v13.5l.2 2v1.5l.2 1.4v1l.2 1-1 .2v-1l-.2-1v-1.5l-.2-1.7v-4l-.2-2v-15.5l.2-3V441l.2-3v-2.8l.2-3 .2-2.7v-2.8l.2-2.7.2-2.5V419l.3-2.3v-2.2l.3-2v-2l.3-1.5.3-1.4v-1.2l.3-1 .5.7zm0-1h.7v.7l-.6-.6zm0 0v1l-.3-.2.4-.7zm0 1h-.2v-.2l.3.3z"/>
+      <path fill="#fff" d="M358 451.2c-.8 11.3-1.2 19-1 23 .2 7.6 2 14.2 5.5 19.2 4-3 9-8.5 8.4-16.6-2-31.5 1.4-61 5.4-89.6-3.4-2.5-9-5-12.5-7.6-6.8 38.3-9 62-6 71.6z"/>
+      <path fill="#21231e" d="M357.4 474h-1v-7.4l.2-.7V463l.2-.7V459l.2-1v-1.8l.2-1v-3l.2-1h1v2l-.2 1v2l-.2 1v2.8l-.2.7v3.2l-.2.7v4.2l-.2.6v4.3zm4.8 19l.6.8h-.7l-.3-.6-.3-.5-.3-.5-.2-.5-.2-.5-.3-.5-.3-.6-.2-.4-.3-.6-.2-.5-.3-.6-.2-.7-.2-.6-.2-.6-.2-.5-.2-.6v-.7l-.3-.6v-.7l-.3-.6v-.7l-.2-.6-.2-.6v-.7l-.2-.7v-1.4l-.2-.7v-1.5l-.2-.7v-.7h1v2.2l.2.7v1.2l.2.7v.6l.2.6v.7l.2.5.2.7v.6l.3.6v.6l.3.6.2.6.2.6.2.6.2.6.2.5.2.6.2.6.3.6.2.5.2.5.2.5.3.5.3.5.3.5.3.5.3.4h-.8zm.6.8l-.4.3-.3-.3h.8zm7.6-17h1v3.7l-.3.7v.6l-.2.7v.7l-.4.6-.2.6-.2.6-.3.6-.3.6-.3.5-.2.6-.3.5-.4.5-.2.5-.4.4-.4.5-.4.4-.3.6-.4.4-.5.4-.4.4-.3.4-.4.3-.4.3-.5.4-.4.3-.2.3-.6-.8.3-.3.4-.3.3-.3.3-.2.4-.4.4-.3.4-.3.4-.4.3-.4.4-.5.3-.4.3-.4.4-.4.3-.5.3-.5.3-.5.2-.5.3-.5.3-.5.2-.6.3-.6.2-.5.2-.6.2-.8v-.6l.2-.6v-.7l.2-.6v-3.1zm5.7-89.2l.7-.8.2.5-.5 2.6-.4 2.6-.3 2.7-.3 2.7-.4 2.7-.3 2.7-.3 2.7-.4 2.8-.3 2.8-.3 2.7-.3 2.8-.2 2.8-.2 2.8-.3 2.7-.2 2.8v3l-.3 2.7-.2 2.8-.2 2.8v2.8l-.2 3v8.5l-.2 3v8.6l.2 3v3l.2 2.8.2 3h-1l-.2-3v-3l-.2-2.8v-5.8l-.2-3V451l.2-2.8v-3l.2-2.7v-2.7l.3-3 .2-2.7.2-2.8V428l.3-2.7.3-2.8.3-2.8V417l.4-2.8.3-2.7.3-2.8.4-2.7.3-2.7.4-2.7.4-2.7.4-2.8.3-2.7.5-2.7.4-2.7v.6zm.7-.8l.2.2v.3l-.3-.5zm-12.3-7l-1-.3.8-.3.3.2.4.2.2.3h.3l.4.3.3.3.4.2.4.2.5.3.4.2.3.2.4.3.4.2.5.3.5.2.4.2.4.2.4.2.5.3.4.2.5.2.4.2.3.2.4.3h.4l.5.4.4.2.3.2.3.3.4.3.3.3.4.2-.6.8-.2-.2-.4-.3h-.3l-.3-.3-.3-.3-.4-.2-.4-.2-.4-.3-.4-.2-.4-.2-.4-.3-.4-.2-.4-.3-.5-.2-.4-.2-.4-.2-.5-.2-.5-.3-.4-.2-.4-.2-.4-.2-.4-.2-.4-.3h-.4l-.4-.4-.4-.2-.4-.2-.4-.3-.4-.3-.3-.3-.4-.2-.4-.2.8-.3zm-1-.3l.2-.8.6.5-.8.3zm-6 71.4l.8.6-.8-.2-.3-1v-1l-.3-1-.2-1.3v-1l-.2-1.4V443l-.2-1.6v-5l.2-1.8v-2l.2-2 .2-2 .2-2.3.2-2.3.2-2.5.3-2.4.3-2.5.3-2.6.4-2.8.4-2.8.4-3 .4-2.8.5-3 .6-3.2.5-3.2.6-3.3.6-3.5.6-3.5.6-3.5 1 .2-.6 3.5-.6 3.5-.6 3.4-.5 3.3-.4 3.3-.5 3-.4 3-.4 3-.4 3-.4 2.7-.3 2.7-.3 2.7-.3 2.5-.2 2.4-.3 2.4-.3 2.3v2.2l-.3 2v2l-.2 2v9.8l.2 1.4v1.2l.3 1 .2 1.2v1l.4 1-1-.3zm.8.6l-.5.6-.3-.8.8.2zm0 0l-.7-.7 1 .3-.3.3zm-.7-.7l1-1v1.3l-1-.4z"/>
+      <path fill="#fff" d="M343.6 471.8l4 14.7c.2 7.7 5 14 8.3 19 4-3 7.5-8 6.5-16-5.8-46.5-3.8-77.3 6-115-22 15-32.3 46.6-25 97.3z"/>
+      <path fill="#21231e" d="M347 486.6l-3.8-14.7 1-.3 3.8 14.6-1 .3zm1-.3zm7.6 19l.6.7h-.7l-.3-.6-.3-.5-.4-.5-.4-.5-.3-.5-.5-.6-.3-.6-.4-.5-.3-.7-.4-.5-.2-.6-.4-.5-.3-.6-.2-.5-.4-.6-.3-.7-.2-.6-.3-.6-.3-.5-.3-.7-.3-.6-.3-.7-.2-.7-.2-.6-.2-.7-.2-.7-.2-.7v-.6l-.2-.7v-.8l-.2-.8v-.7h1v1.4l.2.7v.7l.2.7.2.6v.6l.3.7v.5l.4.7.2.6.3.6v.6l.4.7.3.6.3.6.3.4.3.6.4.6.3.6.3.5.4.6.3.5.4.5.3.6.3.4.4.5.3.4.4.5.3.4.3.5.4.3h-.8zm.6.7l-.4.3-.3-.4h.8zm5.8-16.5h1v5.5l-.2.6v.7l-.3.6v.4l-.3.6-.2.6-.3.5-.2.6-.2.5-.3.6-.3.5-.3.6-.3.4-.2.4-.3.4-.4.5-.2.3-.3.4-.4.4-.3.3-.3.4-.4.4-.4.3-.3.3-.7-.8.4-.3.4-.4.3-.3.4-.3.4-.3.3-.4.4-.3.4-.4.3-.4.3-.4.3-.4.3-.4.3-.4v-.5l.4-.3.2-.5.2-.5.2-.5.2-.5.2-.5.2-.6v-.6l.2-.5v-.6l.2-.7v-5.1zm6.8-114.7l-.6-1 .8.7-1 3.5-.8 3.5-.8 3.4-.7 3.4-.7 3.4-.7 3.3-.6 3.5-.6 3.4-.4 3.2-.5 3.3-.3 3.4-.4 3.2-.4 3.4-.4 3.3-.2 3.3-.2 3.4-.2 3.4v3.6l-.2 3.5v14.7l.3 3.7.3 4 .2 3.8.3 4 .4 3.8.3 4 .5 4.2.4 4.3.6 4.4h-1l-.6-4.2-.4-4.3-.5-4.2-.3-4-.4-4-.3-4-.2-3.8-.2-3.8v-3.7l-.2-3.7v-14.3l.2-3.4.2-3.4.2-3.4.2-3.4.3-3.3.3-3.4.4-3.3.4-3.3.6-3.4.5-3.3.7-3.4.6-3.3.7-3.4.7-3.4.8-3.5.8-3.4.8-3.5 1-3.6.8.6zm-.6-1l1-.6-.2 1.3-.8-.6zm-24 98h-1l-.7-4.6-.5-4.6-.5-4.5-.3-4.3-.3-4.2-.2-4.2v-8l.2-3.8.2-3.7.3-3.7.4-3.4.5-3.4.6-3.3.8-3.3.7-3 1-3 1-3 1-2.8 1-2.8 1.2-2.5 1.3-2.5 1.4-2.4 1.5-2.3 1.4-2 1.6-2.2 1.7-2 1.7-2 2-1.6 1.8-1.7 2-1.6 2-1.5.6.8-2 1.4-2 1.6-1.8 1.6-1.8 1.7-1.8 2-1.6 2-1.6 2-1.5 2-1.4 2.3-1.4 2.4-1.4 2.4-1.2 2.6-1 2.7-1 2.7-1 3-1 3-.7 3-.7 3-.6 3.4-.5 3.3-.5 3.5-.3 3.6-.3 3.7-.2 3.8v12l.4 4.4.3 4.3.5 4.5.5 4.6.6 4.7zm-1 0zm.4 0h.5-.4zm-.4 0z"/>
+      <path fill="#fff" d="M344.8 486.2l-20.3-6.7c-2.5 20.2 1.4 45.6 7 79 4.6 29 2 51.6-1.5 66.2 21.6-3 30.7-30.7 20-83-3-13.7-5.8-31.3-5.2-55.5z"/>
+      <path fill="#21231e" d="M324.7 479l20.2 6.7-.4 1-20.2-6.7-.3-.6.7-.4zm-.6.4v-.6l.7.2-.6.4zm8 79l-1 .3-.6-3-.5-3.2-.6-3-.5-3-.5-3-.5-2.8-.4-3-.4-2.7-.4-2.7-.4-2.7-.4-2.7-.3-2.7-.4-2.6-.3-2.6-.3-2.4-.2-2.5-.3-2.3-.2-2.4-.2-2.4v-2.4l-.3-2.3V500l-.2-2v-10.7l.2-2 .2-2v-2l.4-2 1 .3-.2 2-.2 1.8v2l-.2 2v4l-.2 2v4.3l.2 2.3v2.3l.2 2.3.2 2.3.2 2.2.2 2.4.3 2.4.2 2.5.3 2.5.3 2.5.3 2.6.4 2.8.4 2.6.3 2.7.4 3 .6 2.7.4 2.8.4 3 .5 3 .4 2.8.5 3 .4 3 .5 3.2zm-2 65.8v1l-.5-.6.4-1.4.2-1.4.3-1.5.3-1.5.3-1.6.4-1.6.3-1.7.2-1.8.2-1.7.2-1.8.2-2 .2-1.8v-2l.3-2 .2-2v-2l.2-2v-13.4l-.2-2.3-.2-2.4-.2-2.4-.2-2.5-.3-2.5-.3-2.6-.3-2.6-.4-2.6-.4-2.7 1-.2.3 2.7.4 2.7.3 2.5.3 2.6.3 2.6.2 2.5.2 2.6v2.4l.3 2.4v6.8l.2 2.3v4.3l-.2 2v2l-.2 2v2l-.2 2-.2 2-.2 1.8-.3 1.8v1.8l-.4 1.7-.2 1.8-.3 1.6-.2 1.6-.3 1.5-.3 1.5-.4 1.5-.3 1.4-.5-.8zm0 1h-.6v-.6l.7.6zm19.4-83.5l1-.2 1 5 .8 4.6.7 4.6.5 4.5.5 4.3.4 4 .3 4 .2 4v7.2l-.2 3.4-.2 3.2-.4 3-.4 3-.6 3-.6 2.6-.7 2.6-1 2.4-1 2.3-1 2.2-1 2-1.2 1.8-1.3 1.7-1.4 1.5-1.4 1.4-1.5 1.3-1.5 1-1.8 1-1.8.7-2 .7-2 .5-2 .2v-1l2-.3 1.8-.6 1.8-.6 1.7-.8 1.6-1 1.5-1 1.5-1 1.4-1.5 1.3-1.5 1.3-1.6 1-1.8 1.2-2 1-2 1-2.2.7-2.3.6-2.4.7-2.7.5-3 .4-2.8.4-3 .2-3.3v-3.5l.2-3.5v-3.7l-.3-3.8-.3-4-.3-4-.4-4.3-.7-4.4-.8-4.5-.8-4.7-1-5zm-4.8-55l.3-1 .3.5V503l.2 2 .2 1.8v2l.2 1.8v1.8l.2 1.8.2 1.7.2 1.8.2 1.7.2 1.7.2 1.6.2 1.6.2 1.6.2 1.5.3 1.5.3 1.5.3 1.5.2 1.4.3 1.4.3 1.4.3 1.4.3 1.3v1.3l.4 1.2-1 .2-.2-1.3-.3-1.3-.4-1.2-.2-1.4-.3-1.4-.2-1.4-.2-1.4-.3-1.5-.2-1.5v-1.5l-.4-1.6-.2-1.5-.2-1.6-.2-1.7-.2-1.7-.2-1.7-.2-1.8-.2-1.8v-1.7l-.3-2-.2-1.7v-2l-.3-1.8v-4l-.2-2v-13l.3.5zm.3-1l.3.2v.2l-.4-.5z"/>
+      <path fill="#21231e" d="M343.6 584h1v.7h-.8v-.2h-.2v-.4zm-4.3-40l1-.4.4 1.2.2 1.2v1l.4 1.3.2 1.3.2 1.2.2 1.2.2 1.2.2 1.3.2 1.3.2 1.2.2 1.3.2 1.3.2 1.2.2 1.3v1.4l.3 1.3v2.6l.3 1.3v1.3l.2 1.2v2.6l.2 1.3v9.1h-1v-7.6l-.2-1.2v-2.7l-.2-1.3V570l-.2-1.3v-1.3l-.2-1.3v-1l-.3-1.4v-1.3l-.3-1.3-.2-1.3v-1.2l-.3-1.3-.2-1.3-.2-1.3-.2-1.3v-1.2l-.4-1.2-.2-1.2-.2-1.2-.2-1.2-.3-1.2-.2-1.2-.2-1.2zm-5.5-50.4h1.2v6.4l.2 1.5v3.3l.2 1.5v1.6l.2 1.5v1.6l.3 1.5v3.1l.3 1.5.2 1.7v1.5l.3 1.6.2 1.5.2 1.6.2 1.4.2 1.6.3 1.5v1.6l.4 1.6.2 1.6.3 1.6.2 1.5.3 1.6.3 1.5.3 1.5.4 1.6-1 .3-.5-1.7-.4-1.6-.3-1.6-.3-1.5-.3-1.5-.2-1.6-.3-1.6-.2-1.5-.3-1.6-.2-1.6-.2-1.4-.3-1.6-.2-1.5-.2-1.6v-1.7l-.3-1.5-.2-1.6v-1.5l-.2-1.6v-1.4l-.2-1.6-.2-1.6V508l-.2-1.7V503l-.2-1.4v-6.4l-.2-1.6zm1.2 0h-1.2v-.2h.2v-.2h.2v-.2h.8v.2h.2v.4z"/>
+      <path fill="#fff" d="M344 367.3l13.2 2.2-4.6 23.3c-5 24.3-8.2 53-4.5 84.2 1.5 11.7 4 21.2 7.6 28.5-14.6-1.6-24-15.8-22.7-40.6-2.6-29-1.5-52 3.2-69.4 1.4-5 5.8-24.2 7.8-28.3z"/>
+      <path fill="#21231e" d="M357 370l-13-2.3v-1l13.3 2.3.4.6-.6.4zm.3-1h.5v.6l-.5-.6zm-4.2 24l-1-.3.2-.3v-.4l.2-.5v-.6l.2-.7v-.6l.3-.7v-.8l.2-.8v-1l.3-.7.2-1 .2-1v-.8l.2-1 .2-1 .2-1 .2-1 .2-1 .2-.8v-1l.3-.7.2-1v-.7l.3-.7v-.7l.3-.6v-.6l.2-.5v-.4l.2-.3v-.3l1 .2v.6l-.2.5v.5l-.3.6v.5l-.2.7-.2.8-.2.8v1l-.3.7-.2 1v.8l-.2 1-.2 1-.2 1-.2.8-.2 1-.2 1v1l-.3 1-.2.7-.2 1v.7l-.2.7v1l-.2.5-.2.6v.7l-.2.5v.7zm-4.4 84h-1l-.3-2.8-.3-3-.3-3-.2-2.8v-2.8l-.3-3V457l-.2-3v-11l.2-2.7v-2.7l.2-2.7.2-2.8.2-2.6.2-2.6.3-2.6.2-2.6.3-2.6.3-2.5.4-2.5.4-2.5.4-2.5.3-2.4.4-2.4.3-2.4.5-2.4.4-2.3.5-2.3.4-2.3 1 .2-.4 2.2-.4 2.3-.5 2.3-.4 2.4-.4 2.4-.5 2.4-.4 2.4-.2 2.4-.4 2.5-.3 2.5-.2 2.5-.3 2.6-.3 2.5-.2 2.5-.2 2.7-.2 2.6-.2 2.6v2.6l-.2 2.7v2.7l-.2 2.7v11.5l.2 3v2.7l.3 3 .2 2.7.3 3 .3 2.8.3 3zm7 29v-1l-.4.8-.4-.7-.3-.6-.3-.8-.4-.7-.3-1-.3-.6-.3-.8-.4-.8-.3-.8-.2-.8-.2-.8-.3-1-.2-.7-.3-1-.2-.8-.3-1-.2-1-.2-.8v-1l-.3-1-.2-.8-.2-1-.2-1v-1l-.3-1-.2-1v-1l-.3-1-.2-1v-1l-.2-1.2-.2-1 1-.2v1l.3 1v1.2l.2 1v1l.3 1 .2 1 .2 1v1l.2 1 .2 1 .2 1 .2 1 .3.8.3 1 .2.8.2 1 .3.7.2 1 .3.7.2.8.3 1 .3.7.3.8.3.7v.8l.4.8.4.7.3.7.4.7.3.6.3.7-.5.7zm.4-.7l.4.8h-1l.6-.7zM332.4 465l1-.2v8.8l.2 2 .2 2 .3 2 .4 1.8.4 1.7.4 1.8.5 1.7.5 1.5.6 1.5.6 1.5.7 1.3.8 1.3.7 1.3.8 1 1 1 .8 1.2 1 1 1 .8 1 .8 1 .8 1 .7 1.2.6 1.2.4 1.2.5 1.2.3 1.2.3 1.3.3h1.4l-.2 1h-1.3l-1.4-.4-1.3-.4-1.3-.4-1.2-.5-1.2-.5-1.2-.7-1-.6-1.2-.8-1-.8-1-1-1-1-1-1-1-1.2-.7-1.2-.8-1.3-.8-1.2-.7-1.4-.7-1.5-.5-1.6-.6-1.6-.5-1.7-.4-1.6-.4-1.8-.3-2-.2-1.8-.2-2-.2-2v-8.9zm1-.2zm2.3-69.4l1 .3-.5 1.6-.4 1.7-.4 1.7-.3 1.7-.3 1.8-.3 1.8-.3 1.8-.2 2-.2 1.8-.3 2-.2 2v2l-.3 2v2l-.2 2-.2 2.3v4.3l-.2 2.2v9.6l.2 2.5v2.4l.2 2.5v2.5l.2 2.6.2 2.6.2 2.5.2 2.6.2 2.8h-1l-.2-2.6-.2-2.6-.2-2.7-.2-2.7v-2.5l-.2-2.6v-2.5l-.2-2.4v-18.5l.3-2v-2.2l.3-2v-2.2l.3-2 .3-2 .3-2 .2-1.8.3-2 .4-1.8.4-1.8.3-1.8.5-1.7.4-1.7.3-1.7.4-1.6zm8.3-28.6v1l.4-.3-.2.4-.2.4-.2.6-.2.6-.3.7-.2.8-.2 1-.2.8-.3 1-.3 1-.2 1-.3 1-.3 1-.3 1.2-.4 1-.3 1.2-.3 1-.2 1.2-.3 1-.3 1.2-.3 1-.3 1-.3 1-.2 1-.3 1-.3 1-.2.8-.2.8-.2.7v.6l-.2.6v.5l-1-.3v-.5l.2-.7.2-.6.2-.8v-1l.4-.7.2-1 .2-.8.3-1 .2-1 .3-1 .2-1.2.3-1 .3-1.2.3-1 .4-1 .2-1.2.3-1 .2-1.2.3-1 .3-1 .3-1 .4-1 .2-1 .3-1v-.8l.4-.8.2-.7.3-.7v-.6l.3-.5.2-.5.5-.2zm-.5.2l.2-.3h.3l-.5.3zm.5.3v-.5.5zm-.5-.3l.2-.3h.3l-.5.3z"/>
+      <path fill="#fff" d="M336 370.4l6.4 7.4c-1.8 1.4 1.3 7-.4 18-1 6.4-4.8 13.8-5.6 22-2.5 26.5-2.5 59.8 5.4 81-14.5-1.6-19.5-14.8-20-39.6-.4-20.6-.4-44.7 4.7-72.7 1-6.5 4.2-11.7 9.4-16z"/>
+      <path fill="#21231e" d="M342 378.2l-6.5-7.5.8-.6 6.5 7.5v.7h-.7zm.8-.7l.4.4-.5.2v-.7zm-.3 18.5h-1l.2-1.2v-1l.2-1V385l-.2-.6v-1.2l-.2-.6v-1l-.2-.4v-2.8l.2-.3.3-.4v-.2l.7.8v.2h-.2v.5h-.2v2.2l.2.4v1.1l.2.6v1.1l.2.7v8.1l-.2 1v1l-.3 1zm0 0zm-5.6 21.7h-1v-1.8l.2-.7.2-.7v-.7l.3-1v-.6l.3-.8.2-.7.2-.8.2-.7.2-.7.2-.7.2-.6.2-.7.2-.7.3-.7v-.7l.3-.6.2-.7.2-.7.2-.6v-.7l.3-.6.2-.6.2-.5.2-.7v-.6l.2-.6v-.6l.2-.6v-.5h1v1.2l-.3.6v.7l-.2.6v.7l-.3.7-.2.6-.2.6v.7l-.3.7-.2.6-.3.7-.2.6-.2.6-.2.7-.2.7-.2.7-.3.7-.3.7-.2.8-.2.7-.2.7v.7l-.2.6-.2.7v.7l-.3.8v.7l-.2.7v1.5zm4.8 81.6v-1l-.4.7-.8-2-.6-2-.7-2.3-.6-2.2-.5-2.3-.5-2.4-.5-2.4-.4-2.4-.4-2.5-.4-2.5-.3-2.5-.3-2.6-.2-2.7-.2-2.7-.2-2.6v-2.7l-.2-2.7V455l-.2-2.8v-10.9l.2-2.7V436l.2-2.8v-2.7l.3-2.6.3-2.7.2-2.6.2-2.6.2-2.4h1l-.3 2.6-.2 2.6-.2 2.5-.2 2.6v2.6l-.2 2.6v2.7l-.2 2.6v2.7l-.2 2.7V455l.2 2.7v2.7l.2 2.7.2 2.5.2 2.7.2 2.6.3 2.5.3 2.6.4 2.4.4 2.4.4 2.5.4 2.3.5 2.4.7 2.2.6 2.2.6 2.2.6 2 .7 2-.5.7zm.5-.6l.3.7h-.8l.5-.7zm-21-39.5h1v2.2l.2 2.3v2l.2 2.2.2 2v2l.3 1.7.3 1.8.3 1.8.2 1.6.4 1.5.4 1.6.4 1.5.5 1.4.4 1.2.6 1.3.6 1.2.6 1 .7 1 .6 1 .8 1 .8 1 .8.6 1 .7 1 .7 1 .6 1 .5 1 .4 1 .4 1.3.3 1.3.2 1.3.2-.2 1-1.4-.2-1.3-.3-1-.4-1.3-.4-1.2-.5-1-.6-1.2-.5-1-.7-1-.7-.8-.7-1-1-.7-1-.7-1-.6-1-.7-1.2-.6-1-.5-1.4-.5-1.3-.5-1.5-.5-1.5-.4-1.5-.3-1.7-.4-1.5-.4-1.8-.3-1.8-.2-2v-2l-.3-2v-2l-.2-2.3v-2.2l-.2-2.3zm4.7-72.8l1 .2-.5 2.6-.4 2.6-.3 2.5-.4 2.6-.3 2.4-.4 2.5-.3 2.4-.3 2.4-.2 2.4-.2 2.5-.3 2.3v2.4l-.3 2.4-.2 2.3v2.4l-.2 2.2v2.3l-.2 2v4.5l-.2 2.2V459h-1v-26.9l.2-2.2v-2l.2-2.4v-2.3l.2-2.3.2-2.3.2-2.4.2-2.3.2-2.4.2-2.5.3-2.3.3-2.4.3-2.5.4-2.5.3-2.6.4-2.5.4-2.6.6-2.6.4-2.6zm1 .2zm9.3-16.5l-.8.7h.7l-.4.5-.5.4-.5.4-.4.4-.4.5-.4.3-.4.4-.4.5-.4.4-.4.5-.3.5-.4.5-.3.5-.3.4-.3.4-.3.5-.2.4-.3.5-.2.4-.3.5-.2.4-.2.6-.2.5-.2.5-.2.6-.2.5-.2.7v.5l-.3.6v.6l-.2.6v.6l-1-.2v-.6l.2-.6.2-.6v-.6l.3-.6v-.6l.3-.5.2-.6.2-.6.2-.4.3-.6v-.5l.4-.5.2-.6.3-.5.2-.6.3-.5.3-.6.4-.5.3-.6.4-.5.2-.6.4-.4.4-.5.4-.4.4-.4.5-.4.4-.5.5-.4.4-.4.5-.6.6-.4h.7zm-.7 0l.4-.3.3.4h-.7z"/>
+      <path fill="#fff" d="M372.3 390l-13.4-1.6c-2.6 12.7-4.5 21.7-5 26.2-1 9 1.8 17 5 23 5-3 7.2-9.4 9.2-18.6 2-9.2 2.7-19.2 4-29z"/>
+      <path fill="#21231e" d="M359 388l13.3 1.5v1l-13.5-1.6-.4-.7.5-.4zm-.6.3v-.4h.5l-.6.3zm-4 26.4h-1l.2-.6v-.8l.2-.6v-1l.2-.6v-.7l.3-.6v-.7l.2-.7v-.7l.3-.7v-1l.2-.7.2-.8.2-1v-.7l.3-1 .2-.8v-1l.2-1 .2-1 .2-1 .2-1 .2-1 .3-1 .2-1 .2-1.2.2-1.2v-1l.4-1.3 1 .2-.3 1.2v1l-.3 1.3-.3 1-.2 1.2-.2 1-.2 1-.2 1-.2 1-.2 1-.2 1v1l-.3 1-.2.8-.2.8v1l-.3.7v.8l-.3.7v.8l-.2.7-.2.7v.6l-.2.7v1.3l-.2.5v1.1l-.2.5v.9zm4.3 22.6l.5.8h-.7l-.3-.7-.3-.6-.4-.6-.3-.5-.3-.6-.2-.7-.3-.7-.2-.6-.3-.7-.2-.7-.3-.7-.2-.8-.2-.7v-.7l-.3-.7-.2-.7-.2-.7v-.8l-.3-.7v-.7l-.2-.8v-.8l-.2-.7v-.8l-.2-.8v-6.1h1v6.6l.2 1v1.4l.3.7v1.6l.3.8.2.7v.8l.3.7.2.7.3.7.2.6.2.7.2.6.2.6.2.6.3.7.3.5.2.6.3.7.3.6.3.6.3.5-.7-.2zm.5.8l-.5.4-.2-.5h.7zm8.6-19h1l-.3 1-.2.8-.2 1v.7l-.3.8-.2.7-.2.8-.2.7v.8l-.4.7-.2.7-.3.6v.7l-.4.6-.2.7-.3.6-.2.5-.3.5-.3.6-.3.5-.4.7-.3.5-.4.5-.5.4-.3.6-.4.4-.4.4-.4.4-.5.3-.4.5-.4.3-.4.3-.5-.7.4-.3.5-.3.4-.3.3-.4.4-.3.4-.4.4-.4.4-.5.3-.4.4-.4.4-.5.3-.4.4-.5.2-.4.3-.6.2-.5.3-.6.2-.7.3-.7.2-.6.3-.7.2-.6.2-.7v-.8l.3-.7.3-.7.2-.8.2-.8.2-.8.2-.8.2-.8.2-1zm4.5-28.5v-1l.5.5v1l-.3 1v.8l-.2 1v1l-.2.8v1l-.2.8v1l-.2 1v.8l-.2 1v1l-.2.8v1l-.2.8v1l-.2.8v1l-.2 1-.2.8v1l-.2.8-.2 1v.8l-.2 1-.2.8-.2.8v1l-.3.8v1l-.3.7h-1l.3-1v-.8l.3-1 .2-.7v-1l.3-.8v-1l.3-.8.2-1v-1l.3-.8v-1l.2-.8v-1l.2-.8v-1.8l.2-1v-1l.2-.8v-1l.2-.8v-1l.3-1v-1.8l.2-1v-.8l.2-1v-.8l.3-1v-1l.6.7zm0-1h.6l-.2.5-.5-.5zm0 0v1-1zm0 1z"/>
+      <path fill="#fff" d="M407 418.6h-11.8c-.4 11-.7 18.5-.5 22.3.4 7.5 2.3 14 5.5 18.7 3.6-3 7-8.3 7.6-16.2.6-8-.6-16.5-.7-25z"/>
+      <path fill="#21231e" d="M395.2 418.2h12v1h-12l-.5-.5.5-.5zm-.5.5v-.5h.5l-.5.5zm.5 22.2h-1v-11.4l.2-.8v-4.4l.2-.8v-5h1v7.8l-.2.7v5.6l-.2.7v7.7zm4.7 18.4l.6.7h-.8l-.3-.5-.3-.4-.3-.4-.4-.5-.2-.4-.3-.5v-.4l-.4-.6-.2-.5-.3-.5v-.6l-.3-.6-.2-.5-.2-.6-.2-.6v-.5l-.2-.6-.2-.7-.2-.6v-.6l-.2-.6-.2-.6v-.7l-.2-.5v-.7l-.2-.7v-.5l-.2-.7v-2.6l-.2-.7h1v1.1l.2.7v1.4l.2.7v.7l.2.6v.7l.2.6v.6l.3.6v.7l.3.6v.7l.3.5v.6l.2.6.2.5.2.5.2.5.3.6.3.5.2.6.3.5.2.6.3.5.2.6.3.5.3.6.4.4.2.5h-.7zm.6.7l-.5.5-.2-.5h.8zm6.7-16.6h1v1.6l-.2.7v1.4l-.3.8v.6l-.3.7-.2.7-.2.6-.2.6-.2.5-.2.5-.3.6v.5l-.4.7-.2.5-.3.5-.2.5-.3.4-.3.5-.3.5-.4.4-.3.3-.4.4-.4.4-.3.5-.4.3-.4.4-.4.3-.3.3-.4.3-.7-.6.2-.3.4-.2.3-.3.2-.4.3-.2.4-.3.2-.4.3-.3.3-.4.3-.4.4-.5.3-.4.2-.4.2-.4.3-.5.2-.5.3-.5.2-.5.3-.5.2-.6.2-.4v-.6l.3-.6v-.6l.3-.6v-.7l.3-.6v-1.4l.2-.7V444zm0-24.3v-1l.4.6v5.6l.2 1v4.6l.2.8v2.8l.2.8v9.2h-1v-11.8l-.2-.8V429l-.2-1v-3l-.2-1v-5.3l.4.5zm0-1h.4v.6l-.5-.5z"/>
+      <path fill="#fff" d="M420 424.2l-12 .6c0 11 0 18.4.3 22.2a37 37 0 006.2 18.6c3.5-3 6.8-8.6 7-16.5.3-8-1-16.3-1.5-24.8z"/>
+      <path fill="#21231e" d="M408 424.3l12-.6v1l-12 .6-.4-.5.5-.5zm-.4.5v-.5h.5l-.4.5zm1.2 22.2h-1v-4l-.2-.6v-17.8h1V445l.2.4v1.6zm5.4 18.2l.6.8h-.7l-.2-.5-.3-.5-.3-.5-.3-.5-.4-.5-.3-.5-.3-.5-.2-.5-.3-.5-.3-.5-.2-.6-.2-.5-.3-.7-.2-.6-.2-.6v-.4l-.3-.6-.2-.6v-.7l-.3-.6-.2-.5v-.6l-.3-.8v-.6l-.2-.7v-.8l-.2-.6v-.7l-.2-.8v-2h.8v.7l.2.7v1.4l.2.7.2.7v.7l.2.7v.6l.3.6v.7l.2.6v.5l.3.6.2.7.2.5v.6l.3.6.2.5.2.5.2.5.2.5.2.6.2.6.3.5.2.6.2.4.3.5.3.5.3.4.3.5.3.3h-.8zm.6.8l-.4.4-.3-.5h.8zm6.2-17h1v2.3l-.2.7v.7l-.2.7-.2.6v.7l-.3.6v.6l-.2.5-.2.6-.2.7-.2.6-.3.5-.3.6-.3.5-.2.4-.3.5-.4.4-.3.4-.3.5-.3.4-.3.4-.3.5-.2.4-.3.3-.3.4-.4.3-.3.4-.3.3-.4.3-.6-.8.3-.3.3-.4.3-.3.4-.3.3-.4.4-.3.4-.4.2-.5.3-.4.2-.3.3-.4.3-.5.2-.4.3-.5.2-.6.3-.5.2-.6.2-.5.2-.6.2-.6.2-.6.2-.5.2-.6v-.5l.3-.7v-.6l.2-.7v-.6l.2-.8V449zm-1-25.3v1l.5-.5v2.4l.2.8v1.5l.2.7v3.4l.2.7v1.5l.2.8v.8l.2.8v2.5l.2.7v2.3l.2.8v5.3h-1v-7.4l-.2-.7v-1.6l-.2-.8V437l-.2-1v-1.5l-.2-.7v-1.6l-.2-.8v-1.6l-.2-.8v-1.6l-.2-.8v-2.2l.4-.6zm-.5.6v-.6h.5l-.5.6zm.5.4v-1 1z"/>
+      <path fill="#fff" d="M395 412.4l-12-.8c-1.2 11-2 18.2-2.2 22-.2 7.7 1 14.2 4 19.3 3.8-2.8 7.7-8 8.8-15.7 1.2-8 .8-16.4 1.4-25z"/>
+      <path fill="#21231e" d="M383 411l12 1v1l-12-1-.4-.5.5-.4zm-.4.5v-.5h.5l-.4.5zm-1.3 22.2h-1V431l.2-.4V429l.2-.6v-1.2l.2-.6v-2.2l.2-.7v-1.4l.2-.8v-.8l.2-.8v-1l.2-.8v-1l.2-.8v-1l.3-1v-1l.2-1v-1l1 .2v2l-.3 1v1l-.2 1v.8l-.2 1v.7l-.2 1v.8l-.2.8v.8l-.2.8v1.3l-.2.7v1.4l-.2.6v1.1l-.2.6v1.7l-.2.5v2.7zm3.2 18.8l.5.8-.7-.2-.2-.4-.2-.5-.2-.4-.3-.5-.2-.4v-.5l-.3-.5-.3-.5v-.6l-.3-.5v-.7l-.3-.6v-.6l-.3-.4v-.6l-.3-.7V443l-.2-.5v-.7l-.2-.6V440l-.2-.8v-5.5h1v6.8l.2.7v.7l.2.6v.6l.2.5v.6l.2.7.2.6v.6l.3.5v.5l.3.6.2.5.2.7.2.5.2.5.2.5.2.5.3.5.2.5.2.5.2.4h-.7zm.5.8l-.4.3-.3-.5.8.3zm8.2-16h1l-.2.8v.8l-.3.7v.7l-.3.7-.2.6-.2.6-.2.6-.3.6-.2.6-.3.6-.2.6-.3.5-.3.6-.3.5-.4.5-.3.5-.3.4-.3.5-.3.4-.4.6-.3.4-.4.4-.3.3-.4.4-.3.5-.4.3-.5.3-.3.4-.4.3-.4.3-.3.3-.5-.8.3-.3.4-.2.3-.3.4-.3.2-.3.4-.2.3-.4.3-.3.3-.3.3-.4.2-.4.4-.5.3-.4.2-.3.3-.5.3-.5.3-.4.4-.5.2-.5.3-.6v-.5l.4-.6.2-.5.2-.5.2-.6.2-.7.2-.7.2-.6.2-.7v-.7l.2-.7.2-.8zm1.8-24.4v-1l.5.5v1.5l-.2.8v5.6l-.2.7v9l-.2.8v2.2l-.2.8v.7l-.2.8v1l-.2.6v.8l-1-.2v-.7l.2-.8v-1.5l.2-.7V432l.2-.8V428l.2-.8V421l.2-.7v-4.8l.2-.8v-2.3l.6.5zm0-1h.5v.5l-.5-.6z"/>
+      <path fill="#fff" d="M384 399.6l-13.2-5.4c-2.2 8.8-5.2 37.8 0 50 4.5-3 9-8.4 10.3-17 1.6-9 2-18.2 3-27.6z"/>
+      <path fill="#21231e" d="M371 393.7l13 5.4-.3 1-13-5.4-.4-.6.7-.3zm-.7.3l.2-.5.5.2-.7.3zm.3 50l.6.7-.7-.2-.5-1.2-.5-1.3-.3-1.4-.4-1.5-.3-1.5-.3-1.6-.2-1.7-.2-1.7v-1.8l-.2-1.8v-3.6l-.2-2V418l.2-2v-1.8l.2-1.8.2-1.8V409l.3-1.8.2-1.7V404l.3-1.6.2-1.5.3-1.4.2-1.3.2-1.2.2-1v-1l.3-1 1 .3-.2 1v.8l-.3 1.2-.3 1.2-.2 1.3-.2 1.4-.2 1.5-.2 1.6-.2 1.6v1.7l-.3 1.7v1.7l-.2 1.8v1.8l-.2 1.8v3.8l-.2 2v5.4l.2 1.8v1.7l.2 1.8.2 1.7.2 1.6.3 1.6.3 1.5.3 1.3.5 1.4.4 1.2.4 1h-.8zm.6.7l-.5.3-.2-.5.7.2zm9.4-17.7h1v1l-.3.8-.2.8v.7l-.3.8-.2.8-.3.7-.2.7-.3.7-.3.5-.3.7-.2.6-.3.6-.3.6-.3.6-.5.5-.3.7-.4.5-.4.5-.3.5-.3.4-.4.5-.4.5-.5.4-.4.3-.3.4-.4.4-.4.4-.5.4-.5.3-.4.4-.4.3-.6-.8.4-.4.4-.3.4-.3.4-.3.4-.4.4-.3.4-.4.4-.4.4-.4.3-.4.4-.4.3-.5.3-.4.4-.4.3-.5.4-.4.3-.6.3-.5.3-.6.3-.6.2-.6.3-.7.3-.5.2-.6.3-.8.2-.7.2-.7.3-.7v-.7l.3-.7.2-.8v-.8zm3-27l.4-1 .4.6v1l-.2.8v1.7l-.2 1v1l-.2.8v1.8l-.2.8v1.7l-.2 1v1.7l-.2 1v1.6l-.2 1v.7l-.2 1v.8l-.2.8v1l-.2.7v.8l-.2 1v.8l-.2 1v.7l-.3.8v.8h-1v-.8l.2-1v-1.5l.2-.8v-1l.2-.8v-1l.2-.7v-1l.2-.7v-1l.2-.7v-1.6l.2-1v-.7l.2-1V410l.2-.8v-1.8l.2-.8v-1.8l.2-1v-1.5l.2-1v-.8l.2-1 .3.6zm.4-1l.4.3v.3l-.4-.5zm0 .6l-.3.4.2-.4zm0-.5l.4.3v.3l-.4-.5z"/>
+      <path id="c" fill="#edb92e" stroke="#21231e" d="M387.8 701.2c8 6.3 15.2-8.3 8-27.6-5-14.2-30.6-8.7-16.4 10.5.7 1 1.6.6 1.5-.4-1-4 1.6-6.3 5.5-5.5 10.5 2 11 22-.6 17.6-2.2-.2-.4 4 1.7 5.6z"/>
+      <path fill="#edb92e" stroke="#21231e" d="M400 639.2c-1 3.4-5 7.6-8 10.8-4.5 4.8-3.4 12.2-.2 16 3.5 4.4 5 9.2 5.8 13 .5 2.3 1.5 7.4.8 15.5-.4 4-2.7 6-5 7.7-1 1 .5 3 4.3 6 .4.2 1.5 1 2 3 .2.4 2 .4 2.2 0 .4-2 1.6-2.8 2-3 3.7-3 5.4-5 4.2-6-2.2-1.7-4.6-3.8-5-7.7-.6-8 .3-13.2.8-15.5.8-3.8 2.3-8.6 6-13 3-3.8 4.2-11.2-.5-16-3-3.2-7-7.4-8-10.7 0-.8-.3-1-.7-1-.3 0-.7.2-.7 1z"/>
+      <path fill="#edb92e" d="M395 685.5h11.6c2 0 3.6 1.6 3.6 3.5 0 2-1.6 3.5-3.6 3.5H395c-2 0-3.5-1.5-3.5-3.5s1.6-3.5 3.6-3.5z"/>
+      <path fill="#21231e" d="M406.6 686H395v-1h11.6v1zm4 3h-1v-1l-.2-.2v-.2l-.2-.2v-.2h-.2v-.2h-.2v-.2h-.3v-.2h-.2v-.2h-.3l-.2-.2h-.5v-.2h-.6v-1h1l.2.2h.4v.2h.3l.2.2h.2v.2h.2v.2l.3.2.2.2v.2l.3.2.2.3v.3l.2.3v.4l.2.2v.8zm-1 0h1-1zm-3 4v-1h.8l.3-.2h.2l.2-.2.2-.2h.3v-.2l.2-.2v-.2l.2-.2.2-.3v-.3l.2-.2v-.8h1v1.2l-.2.2v.4h-.2v.3l-.2.3h-.2v.3h-.2v.3h-.3l-.3.2v.2h-.3l-.2.2h-.2l-.3.2h-.4l-.2.2h-.8zm-11.5-1h11.6v1H395v-1zm-4-3h1v1l.2.2v.3h.2v.2h.2v.2h.2v.2h.2v.2h.2l.3.2h.2l.2.2.3.2h.6v1h-1.2v-.2h-.3l-.2-.2h-.2l-.2-.2-.2-.2-.3-.2-.3-.3-.2-.3-.2-.3-.2-.2v-.2l-.2-.2v-.4l-.2-.2v-.8zm1 0h-1 1zm3-4v1H394v.2h-.3l-.2.2h-.2v.2h-.2v.2l-.2.2-.2.2-.2.2v.2l-.2.2v.5h-.2v.6h-1v-1.2l.2-.2v-.2h.2v-.3h.2v-.2l.2-.2v-.2h.2l.2-.2v-.2h.3v-.2h.3v-.2h.3l.3-.2h.2l.2-.2h.5l.2-.2h.7z"/>
+      <path fill="#fff" d="M417 579.2l.5-11c-4.4-2.2-15.2 0-19.7 10.2a64.7 64.7 0 01-18 25.2c10 1.8 18.4-.2 23.7-7.4 7.3-9.8 11.2-15.7 13.6-17z"/>
+      <path fill="#21231e" d="M418 568.3l-.4 11h-1l.4-11 .7-.5.3.5zm-.3-.5l.3.2v.3l-.3-.5zm-19.5 10.8l-1-.4.6-1 .5-.8.5-1 .6-.7.5-.8.5-.8.7-.7.6-.6.7-.7.7-.5.7-.6.6-.4.7-.5.8-.4.8-.4.7-.3.8-.3.7-.2.7-.3h.7l.8-.3h1.2l.7-.2h2l.7.2h.5l.6.2.5.2.4.2-.4 1-.4-.3h-.5l-.5-.2h-.5l-.5-.2h-3l-.7.2h-.6l-.7.3-.7.2-.7.2-.7.2-.8.3-.7.3-.7.4-.7.4-.5.5-.7.5-.7.6-.5.6-.6.6-.7.7-.6.6-.5.7-.6.8-.5 1-.3.7-.5 1zM380 603l-.2 1-.2-.8.6-.6.6-.5.7-.5.6-.6.7-.6.6-.6.5-.6.6-.6.6-.7.6-.7.5-.6.7-.7.5-.7.6-.7.5-.7.6-.8.4-.8.5-.7.5-.8.5-1 .5-.8.6-.8.6-1 .5-.8.6-1 .6-1 .5-1 .5-1 .5-1 .6-1 .5-1.2.5-1.2 1 .4-.6 1.2-.5 1-.6 1.2-.5 1-.4 1-.6 1-.5 1-.5 1-.6 1-.5 1-.6.8-.6.8-.5.8-.5.8-.6.8-.5.8-.6.7-.4.7-.6.8-.6.6-.5.7-.7.7-.6.6-.6.7-.4.6-.6.5-.6.6-.7.7-.6.5-.5.6-.6.6-.8.5-.2-1zm-.2 1h-1l.8-.8.2.8zm23.4-8l.8.5-.6.7-.5.6-.7.6-.6.6-.6.6-.5.5-.6.6-.7.5-.7.5-.7.4-.8.3-.7.4-.7.3-.7.3-.7.2-.7.3-.8.2-.8.2h-.8l-.8.2h-.8l-1 .2h-6.1l-1-.2-.8-.2-1-.2.2-1 1 .2.8.2h1l.8.2h6.6l.8-.3h.8l.7-.3.8-.2.7-.2.7-.3.7-.2.7-.2.8-.4.6-.3.7-.3.7-.4.6-.5.6-.5.5-.5.5-.5.6-.5.5-.6.7-.6.5-.7zm13.4-16.8h1l-.2.4-.2.2h-.2l-.3.3-.2.3-.3.2-.2.3-.3.3-.3.4-.3.3-.2.4-.4.5-.3.4-.3.3-.4.5-.3.5-.4.5-.5.6-.3.5-.4.5-.5.7-.5.6-.5.7-.5.7-.5.7-.5.6-.6.8-.6.8-.5.8-.6 1-.7.7-.7 1-.6.8-.8-.6.6-1 .7-1 .6-.7.7-1 .6-.7.6-.8.5-.7.5-.7.5-.7.5-.7.5-.8.5-.6.5-.6.4-.6.4-.6.4-.6.4-.5.4-.5.3-.5.3-.4.4-.5.3-.4.3-.4.3-.3.4-.3.3-.3.2-.2.3-.3.3-.2.4-.2h.2l.3-.2-.4.4zm1 0v.3h-.2l.2-.3z"/>
+      <path fill="#fff" d="M425.2 580.6l-11.8-5c-5 10-8.2 16.6-9.5 20.2-2.8 7-3.5 13.8-2.3 19.5a22 22 0 0014-11.6c3.8-7 6-15.3 9.5-23z"/>
+      <path fill="#21231e" d="M413.6 575.2l11.7 5-.3 1-11.8-5-.3-.8.6-.2zm-.7.2v-.4l.6.2-.7.2zm-8.7 20.6l-1-.4.2-.3.2-.4.2-.5v-.4l.2-.3.2-.5.2-.4.2-.5.2-.5.3-.5.2-.5.3-.6.2-.5.3-.6.3-.5.3-.7.2-.6.3-.6.3-.7.4-.8.3-.7.4-.8.2-.7.4-.8.4-.8.4-.8.4-.8.4-.8.4-1 .4-.8.5-.8.4-1 .8.5-.4.8-.5 1-.5.8-.4.8-.3 1-.4.7-.4 1-.5.7-.4.7-.3.8-.3.7-.4.6-.3.7-.3.7-.3.6-.2.7-.3.6-.3.5-.3.6-.3.6-.3.6-.2.5-.3.5-.3.5-.2.5-.2.4-.2.5v.5l-.2.4-.2.3v.3l-.3.4zm-2.7 18.8l.2 1-.6-.4v-.5l-.2-.7v-.6l-.2-.5v-1.7l-.2-.5v-3.7l.2-.6v-1.2l.2-.7v-.6l.2-.5v-.7l.2-.6.2-.7v-.6l.3-.8v-.6l.3-.7.2-.7.2-.7.2-.7.2-.7.2-.7 1 .4-.3.6v.7l-.4.6-.2.6-.2.6-.2.7v.5l-.3.6v.8l-.3.6v.6l-.2.7v.6l-.2.6v.5l-.2.6v1.9l-.2.5v3.5l.2.5v1.2l.2.5v.7l.2.5-.6-.4zm.2 1h-.5v-.4l.5.4zm13.5-12.4l1 .5-.5.6-.3.6-.4.6-.3.6-.4.6-.4.5-.5.6-.5.6-.4.5-.4.6-.5.4-.4.5-.5.4-.5.3-.4.4-.6.4-.5.4-.5.4-.5.3-.5.4-.5.3-.4.2-.5.2-.4.2-.5.2-.4.3h-.4l-.5.2-.5.2h-.5l-.4.3h-.5l-.2-1h.9l.4-.3h.4l.4-.3h.5l.4-.3.5-.2.4-.2.5-.2.5-.2.5-.3.5-.3.4-.3.4-.4.4-.3.5-.4.4-.4.4-.4.6-.4.4-.5.4-.4.5-.6.3-.4.4-.5.4-.6.5-.6.4-.5.2-.7.4-.6.4-.6.3-.6zM425 581l.3-.8.3.6-.3.7-.3.8-.3.7-.3.7-.3.8-.2.7-.3.7-.2.7-.3.7-.3.8-.3.7-.2.6-.3.8-.4.7-.3 1-.2.6-.2.7-.3.8-.3.8-.2.7-.3.7-.3.8-.3.7-.2.7-.3.7-.3.8-.3.7-.5.7-.3.7-.3.6-.5.6-.3.7-1-.6.5-.6.3-.7.3-.6.3-.6.4-.7.3-.6.3-.7.3-.7.2-.7.3-.7.2-.7.3-1 .3-.6.3-.7.3-.7v-.8l.4-.7.3-.7.3-.8.2-.7.3-.7.3-.8.3-.7.3-.7.3-.7.3-.7.2-1 .3-.6.3-.8.3-.7.4-.8.3-.8.3.7zm.3-.8l.5.2-.2.4-.3-.6z"/>
+      <path fill="#fff" d="M428.6 580.6l-12.7-2c-2.4 10.8-4 18-4.4 22-1 7.5 0 14 2.7 19.4 4.3-2.3 8.8-7 10.7-14.7 2-7.8 2.2-16.3 3.6-24.7z"/>
+      <path fill="#21231e" d="M416 578.2l12.6 2v1l-12.8-2-.4-.6.6-.4zm-.6.4v-.5l.6.2-.6.4zm-3.3 22h-1l.2-.5V599l.2-.6v-.5l.2-.6v-.5l.2-.6v-.6l.2-.5v-.6l.2-.6v-.6l.2-.6.2-.7v-.6l.3-.7v-.7l.2-.8v-.8l.3-.8.2-.8v-.8l.3-1 .2-.7.2-1 .2-.8.2-1 .2-1 .2-1 .2-1 1 .3-.2 1-.2 1-.2 1-.2 1-.2.8-.2 1-.2.7-.2 1-.2.7v.8l-.3.8-.2.8v.8l-.2.7v.6l-.2.7-.2.7v.6l-.2.6-.2.7v.4l-.2.6v.6l-.2.5v1.1l-.2.6v.4l-.2.4v1.2zm2 19l.5.8-.7-.2-.2-.5-.3-.5-.2-.5v-.6l-.3-.4-.2-.5-.2-.5-.2-.6v-.6l-.2-.6v-.6l-.3-.6v-.6l-.2-.6v-.6l-.2-.6v-2.8l-.2-.6v-5.4l.2-.7v-1.5h1v3.1l-.2.7v5.1l.2.6v1.2l.2.6v.6l.2.6v.6l.3.6v.5l.2.6v.7l.3.5v.5l.3.6.2.5.2.5.2.5.3.5.2.5-.7-.2zm.5.8l-.5.3-.2-.5.7.2zm10-15.2l1 .2-.2.7-.2.8v.7l-.3.7-.3.7-.2.5-.3.6-.4.7-.3.6-.3.6-.3.4-.3.6-.4.5-.3.5-.4.5-.4.5-.4.4-.4.5-.4.3-.4.4-.4.4-.4.5-.4.3-.4.4-.4.3-.4.3-.4.3-.4.4-.5.3-.4.3-.4.2-.5.2-.5-.8.4-.2.4-.3h.4l.4-.4.4-.3.4-.3.4-.3.4-.3.4-.3.4-.3.3-.3.4-.4.4-.4.5-.4.3-.4.4-.5.3-.4.4-.6.2-.5.3-.6.3-.5.3-.6.4-.6.3-.5.3-.6.2-.6.3-.5.2-.6.3-.8.2-.7.2-.6.2-.8zm4-25v1l.5-.5v.8l-.2.8v.7l-.2.8v.8l-.2.8v.8l-.2.8v.7l-.2.8v.8l-.2.8v1.7l-.2.7v.8l-.2.8v.8l-.2.8v.7l-.2.8v1l-.2.6v.8l-.2.8-.2.7v.7l-.2.7-.2.8v.7l-.3.7-.2.7-1-.2.2-.8.2-.7v-.7l.2-.8v-.7l.3-.7v-.8l.2-.8v-.7l.2-.8v-1.5l.2-.8v-.7l.2-.8v-1l.2-.7v-.7l.2-.8v-1.6l.2-.8v-.8l.2-.7v-1l.2-.7v-.8l.2-.8v-.8l.2-1v-.7l.3-.8.5-.4zm-.4.3v-.4h.5l-.4.5zm.5.6v-1 1z"/>
+      <path fill="#fff" d="M430.4 563.4h7.6c4.4 2 9 12.2 3.7 22a65.8 65.8 0 00-9.5 29.2c-7.4-6.8-10.8-14.7-8.2-23.3 3.4-11.7 6.8-25.2 6.4-28z"/>
+      <path fill="#21231e" d="M438 564h-7.6v-1h7.8l-.2 1zm0-1h.2-.2zm4 22.5l-.8-.5.5-1 .4-.8.4-.8.3-1 .3-.8.2-1v-.7l.3-1V574l-.2-1v-.6l-.3-.8-.2-.7-.3-.8-.2-.7-.3-.6-.3-.7-.3-.6-.3-.6-.3-.4-.3-.5-.4-.3-.4-.4-.3-.4-.4-.4-.5-.3-.4-.3-.3-.2.5-1 .4.4.5.2.5.4.4.4.4.4.4.4.4.5.4.6.3.6.3.6.3.6.3.7.2.7.3.7.2.6.2.8v.7l.3 1v.8l.2.8v3.5l-.2 1v1l-.4.8-.3 1-.3 1-.4.8-.4 1-.5 1zM432 615l.5-.7-.8.3v-.8l.2-1v-2.3l.3-1v-.7l.2-.8.2-1 .2-.8v-1l.2-.7.3-1 .2-.8.2-1 .2-.7.3-1 .3-.8.3-1 .4-1 .4-.8.4-1 .4-1 .4-1 .4-1 .5-1 .4-1 .5-1 .5-1 .5-1.2.6-1 .6-1.2 1 .5-.7 1-.6 1.2-.7 1-.5 1-.5 1.2-.5 1-.4 1-.5 1-.5.8-.4 1-.3 1-.3 1-.4.8-.3 1-.3.8-.2.8-.3 1-.4.8-.2.8-.2 1-.2.7-.2 1v.7l-.3.8v1l-.3.7v.8l-.2.8v1l-.2.7v1.8l-1 .2zm.7-.3v1l-.8-.7.7-.3zm-9.2-23.6l1 .4-.3.8-.2.8v.8l-.2.7v.8l-.2.8v3l.2.8.2.8v.7l.3.7.3.7.2.8.3.7.4.7.4.6.3.7.5.7.4.7.4.7.5.6.4.7.5.7.4.6.6.7.6.6.6.7.7.6.5.7-.6.7-.8-.6-.7-.7-.6-.7-.7-.6-.6-.7-.6-.7-.4-.7-.6-.7-.4-.7-.5-.8-.3-.7-.5-.7-.3-.8-.5-.7-.3-.7-.3-.8-.4-.7-.2-.7-.2-.8-.2-.7v-.8l-.2-.8v-.8l-.2-.8v-2.5l.2-.8v-.8l.3-.8.3-1 .2-.7zm7-28v1l.4-.7v1.8l-.2.5v1.1l-.2.7-.2.7v.8l-.3.8v.8l-.2 1-.2.8-.2 1-.3 1v1l-.4 1-.2 1-.3 1-.2 1-.2 1-.3 1.2-.3 1-.3 1.2-.3 1-.3 1.2-.3 1.2-.3 1-.3 1.2-.2 1-.4 1.2-1-.3.4-1 .3-1 .5-1.2.3-1 .3-1.2.4-1.2.3-1 .3-1.2.3-1 .3-1.2.3-1 .2-1 .2-1 .3-1.2.2-1 .2-1 .2-1 .2-.8.2-1 .2-.8.2-.8v-.8l.3-.7v-.8l.2-.7v-.6l.2-.6v-2l.4-.6zm-.6.5v-.6h.4l-.5.5zm.4 0v-.6.4zm-.5 0v-.6h.4l-.5.5z"/>
+      <path fill="#fff" d="M433.8 558.2l-12-4.3c-4.3 10-7.2 16.8-8.4 20.5-2.3 7.3-2.6 14-1 19.6a21.3 21.3 0 0014-11.6c3.3-7.3 4.5-16.3 7.4-24.2z"/>
+      <path fill="#21231e" d="M422 553.4l12 4.3-.4 1-12-4.4-.3-.6.6-.3zm-.7.3l.2-.4h.4l-.7.4zm-7.4 21l-1-.3v-.4l.2-.4v-.4l.3-.4v-.4l.3-.5.2-.5v-.5l.3-.5.2-.5.2-.6.3-.6.2-.5.2-.6.3-.6.2-.6.2-.6.3-.7.3-.6.3-.7.4-.7.3-.8.3-.8.3-.7.4-.8.3-1 .4-.8.3-1 .4-.8.5-1 .4-.8.3-1 1 .5-.5 1-.4 1-.4.8-.3 1-.4.8-.4.8-.4.8-.3.8-.4.8-.4.8-.3.7-.3.8-.3.8-.3.7-.3.6v.8l-.4.6-.2.6-.3.6v.6l-.3.6-.2.5-.2.5-.2.5v.5l-.3.5-.2.4v.5l-.3.4v.3l-.2.3v.4zm-1.8 19l.3 1-.6-.4-.3-.6v-.5l-.2-.6v-.5l-.2-.5v-.6l-.2-.7V583l.2-.7V581l.3-.6v-.7l.2-.6v-.6l.3-.6.2-.7v-.6l.3-.7.2-.6.2-.6 1 .3-.3.6-.2.7-.2.7-.2.6v.7l-.2.6v.7l-.2.6-.2.6v.6l-.2.6v1l-.2.7v6.5l.2.6v1.1l.2.4.2.6v.5l.2.5-.6-.3zm.3 1h-.5v-.4l.5.3zM426 582l.8.6-.3.6-.4.7-.2.5-.4.6-.4.7-.4.6-.4.5-.4.5-.4.5-.5.5-.5.5-.5.4-.4.4-.5.4-.4.4-.4.4-.5.3-.5.5-.5.3-.5.3-.5.4-.4.2-.5.3h-.5l-.5.4-.5.2-.5.2-.5.2h-.4l-.6.3-.4.2h-.5l-.3-.8.4-.2h.5l.5-.3.5-.2h.4l.5-.3.4-.2.4-.3.5-.2.5-.2.5-.3.4-.3.5-.3.5-.4.4-.3.6-.3.4-.4.5-.3.4-.4.4-.5.4-.4.4-.4.4-.4.4-.5.4-.5.4-.5.4-.5.4-.6.3-.6.3-.6.3-.6.3-.7zm7.6-23.4l.4-1 .3.7-.3.8-.3.8-.2.8-.3.7-.2.8-.2 1-.2.6-.2.8-.3.8v.8l-.3.7-.2.8-.2.8-.2.8v1l-.3.6-.2.8-.2.8-.2.8v.7l-.3.8-.2.8-.3.7-.2.8-.2.7-.3.8-.3.7-.2.7-.3.8-.3.7-.3.7-.2.6-1-.5.4-.5.3-.7.3-.7.3-.6.3-.7.3-.8.2-.8.2-.7.3-.8.2-.7.2-.8.2-.7v-.8l.4-.8.2-.8.2-.8.2-.8.2-.8.2-.7.2-.7.2-.8.2-.8.2-.8.2-1 .2-.6.2-.8.3-.8.3-.8.2-.7.3-.8.3-.8.3-.7.3.6zm.4-1l.4.3v.3l-.4-.6zm-.2.6l-.2.4.2-.4zm.2-.5l.4.2v.3l-.4-.6z"/>
+      <path fill="#fff" d="M425.6 549.7l-2.6-16.4c-2.8-.7-6.5 5.8-10 9.5-1 1-2 1.7-2.6 2.8a23.3 23.3 0 00-3.4 8 62.3 62.3 0 01-13 27.6c10.2-.2 18-3.8 21.8-12 5-11 7.7-17.7 9.8-19.5z"/>
+      <path fill="#21231e" d="M423.4 533.3l2.7 16.4h-1l-2.5-16.3.6-.6.4.5zm-.3-.4h.4v.2l-.3-.4zm-9.7 10.2l-.8-.7.4-.4.2-.2.3-.4.4-.4.2-.4.3-.4.4-.4.2-.5.3-.4.4-.5.2-.4.3-.3.4-.5.2-.4.3-.4.4-.3.2-.3.3-.4.3-.3.4-.3.3-.4.3-.2.3-.2.4-.2.4-.3h.3l.4-.3h.3l.4-.2h1.1l-.2 1h-1l-.3.2-.2.2-.3.2-.3.2-.3.2-.3.3v.4l-.5.3-.3.3-.3.3-.4.4-.3.4-.3.5-.4.4-.3.3-.3.4-.3.4-.4.5-.3.5-.3.4-.4.4-.3.4-.4.4-.3.4-.4.4-.4.4-.3.4zm-2.5 2.7l-.8-.7v-.2h.2l.2-.2v-.2h.2v-.2h.2v-.2h.2v-.2h.2v-.2l.2-.2h.2v-.2l.2-.2h.2v-.2h.2v-.2h.2v-.2l1 .6h-.2l-.2.2v.2h-.2v.2h-.2l-.2.2v.2h-.2l-.2.2v.2h-.2v.2h-.2v.2h-.2v.2h-.2v.2l-.2.2v.2h-.2zm-3.3 7.7l-1-.2v-.6l.2-.4v-.3l.2-.3v-.8l.2-.3v-.3l.2-.3v-.3h.2v-.4l.2-.3v-.2l.2-.2v-.2l.3-.3v-.2l.2-.2v-.2l.3-.2v-.3h.2v-.3l.3-.3v-.2l.3-.2v-.2l.2-.3.2-.2.8.6-.3.3v.2l-.2.2-.2.2v.4l-.2.2-.2.2v.3l-.2.3v.2l-.2.3-.2.2v.2l-.2.3v.2l-.2.3v.2l-.2.3v.2l-.2.3v.5l-.2.3v.2l-.2.3v.5l-.2.3v.7zm-13.4 27v1l-.3-.8.5-.8.5-.7.5-.6.5-.8.5-.7.5-.7.4-.6.6-.7.4-.7.5-.8.4-.7.4-.7.4-.8.4-.7.4-.7.4-.8.4-.8.4-.8.4-1 .4-1 .3-.8.3-1 .3-.8.4-1 .3-1 .4-1 .3-1 .3-1.2.3-1 .3-1.3.2-1.3.3-1.2 1 .2-.3 1.2-.3 1-.4 1.3-.3 1.2-.4 1-.4 1-.3 1.2-.4 1-.4 1-.4 1-.3 1-.5.8-.4 1-.3.8-.4.8-.4 1-.5.8-.4.8-.3.7-.5.8-.4.8-.5.8-.4.7-.6.7-.5.7-.5.7-.5.7-.5.8-.5.7-.5.6-.5.8-.5.7-.4-.8zm0 1h-1l.7-.8.4.7zm21.3-12.8l1 .4-.5.7-.4 1-.4.6-.4.7-.5.7-.4.6-.5.6-.5.6-.5.6-.6.5-.6.4-.6.5-.7.4-.6.4-.8.4-.7.4-.7.4-.7.3-.7.3-.8.3-.8.2-.8.2-1 .2-.7.2-1 .2-.7.2h-1l-.8.2h-1l-.8.2h-2v-1h2.8l1-.2h.8l.8-.2 1-.2h.7l1-.3.7-.2.7-.3.8-.2.7-.3.7-.3.7-.3.6-.3.7-.3.6-.4.7-.5.6-.4.6-.4.5-.4.6-.6.5-.5.5-.4.5-.6.5-.6.4-.7.5-.6.4-.6.3-.7.3-.8zm9.8-19.2h1v.3l-.3.3v.2l-.3.2-.2.2-.2.2-.2.3-.3.4-.2.2-.2.4v.4l-.4.5-.2.5-.3.5-.2.5-.3.6-.2.6-.3.6-.3.6-.4.7-.3.8-.3.8-.4.7-.3.8-.4 1-.4.7-.4 1-.4.8-.4 1-.4 1-.5.8-.3 1-.5 1-1-.4.6-1 .4-1 .5-1 .4-1 .5-1 .4-.8.3-1 .4-.7.4-.8.4-.8.4-1 .3-.6.4-.7.4-.7.3-.6.4-.7.3-.6.2-.4.2-.6.3-.5.2-.5.3-.4.2-.5.3-.3.2-.4.2-.3.2-.4.2-.3.2-.3.2-.2.3-.2.3-.2-.2.4zm1 0v.3-.3z"/>
+    </g>
+    <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#d"/>
+    <path fill="#fff" stroke="#21231e" d="M536.4 415a38 38 0 004.8-1.5 66.2 66.2 0 01-21.4-22c-7.8-12 3.3-33 8-44.3a53 53 0 0021.2-31c1-7.3-19-4.7-33 2-17 8-19.3 5.7-25.4 7-2.2 10.5 2.4 11.4 6.7 11-9.4 15-13.3 29.8-15 51.4-2-21.6-6-36.5-15.3-51.5 4.3.6 9-.3 6.7-10.7-6-1.4-8.4.8-25.4-7.2-14-6.5-34-9-33-1.8 3 13.7 11.8 24 21.3 31 4.6 11.2 15.7 32.4 8 44.2a67.3 67.3 0 01-21.5 22c1.7.7 3.3 1.2 5 1.5-1.2 1.5-11 4.5-12.3 3.7-7.6-5.3-15-18-21.4-25.2-18.2-20.8-27.3-36.7-24-49.6 4.5-14 20.8-29.6-.8-27-21.7 2.8-39.6 32.5-45.4 68.3-2 13.2-3.3 24.4-4.7 33.5 11.8-4.3 17-8.5 20.2-13.7-1.4 5-2.5 9.7-3.2 14.2 9.7-1.7 16.7-6.4 19.2-15 1-3.6 2.3-6.5 3.6-9 3 1 7 1 11.6 0 1.7 4 15 19 22.2 30 8 12.2 20.2 21.6 24.2 22 2 .4 2.7-4 2.2-10.2 21 .2 42.3.3 63-.4 20.7.7 41.8.6 63 .4-.6 6 0 10.6 2 10.3 4-.5 16.2-10 24.3-22.2 7-10.8 20.5-25.7 22.2-30a20 20 0 0011.6.2c1.3 2.5 2.5 5.4 3.5 9 2.5 8.6 9.5 13.3 19.2 15-.7-4.5-1.8-9-3.2-14 3.2 5 8.4 9.3 20.2 13.6-1.4-9-2.7-20.3-4.8-33.5-5.8-35.8-23.7-65.5-45.4-68.2-21.6-2.6-5.3 13-.7 27 3.3 12.8-5.8 28.7-24 49.5-6.5 7.3-13.8 20-21.4 25.2-1.2.8-11-2.2-12.2-3.8z"/>
+    <g id="e">
+      <path fill="#edb92e" d="M440.6 356.8c-2 1.8-8.8 1.8-18 2.4-14.8.5-23.4-4-25.3-13.5 5.6 6.6 12.2 10 19.7 8 10.2-2.5 16-4.3 18.3-3.8 1.6.4 4 3.3 5.3 6.8z"/>
+      <path fill="#21231e" d="M422.6 359.7v-1h1.8l.7-.2h2.5l.8-.2h2.8l.8-.2h3l.5-.2h1l.4-.2h.5l.4-.2h.4l.5-.2h.3l.3-.2h.4l.3-.2h.2v-.3h.3l.6.7h-.3l-.3.3-.3.2h-.2l-.3.3h-.4l-.3.2h-.4l-.4.2h-.5l-.5.2h-1l-.5.2h-1.5l-.6.2H432l-.6.2h-2.8l-.8.2h-2.3l-1 .2H423zm0 0zm-25-14.3l-.7.6.8-.4.2 1 .2.7.3.8.3 1 .3.6.5.7.4.7.4.6.5.6.4.6.6.6.6.5.6.4.7.5.6.3.8.5.8.4.8.3 1 .4.8.2 1 .3 1 .2 1 .2h1l1 .3h1.2l1.2.3h6.6v1H416l-1-.2h-1.3l-1-.3h-1.2l-1-.3-1-.3-1-.3-1-.2-1-.4-.8-.3-.8-.4-1-.4-.7-.5-.7-.5-.7-.5-.7-.6-.6-.5-.6-.6-.4-.8-.5-.7-.3-.7-.4-.8-.4-.7-.4-1-.3-.7-.3-1-.2-.8 1-.4zm19.3 8l.2 1h-.8l-.7.2h-1.4l-.7.2h-2.8l-.6-.2-.7-.2h-.7l-.6-.3h-.7l-.6-.3-.8-.3-.6-.3-.6-.2-.6-.3-.6-.4-.6-.3-.6-.4-.6-.4-.6-.6-.6-.4-.6-.5-.5-.6-.6-.6-.4-.6-.6-.5-.5-.6-.6-.7.7-.6.5.6.5.6.6.6.5.5.5.5.6.5.4.5.6.5.6.4.5.5.7.4.6.3.6.3.4.3.6.2.6.3.6.2.7.2h.5l.6.3.7.2h.6l.7.2h4.7l.6-.3h.7zm18.5-4l-.3 1h-2.6l-.4.2h-.9l-.5.2-.5.2h-.5l-.6.2h-.5l-.6.3h-.5l-.7.3-.7.2h-.6l-.7.3-.7.2-.8.2-.8.2h-.8l-.8.3-1 .3-.8.2-1 .2-.8.3-.3-1 1-.2.8-.2 1-.2.7-.2 1-.2.7-.2.8-.2.7-.2.8-.2.7-.2.7-.2.6-.2h.6l.6-.3h.6l.6-.3h.6l.5-.2h.6l.5-.2h.6l.4-.2h.9l.3-.2h2zm0 0zm5.4 7.8l-.7-.8-.2.6v-.7l-.3-.3v-.3l-.3-.3v-.3l-.3-.2v-.3l-.2-.2-.2-.3v-.3l-.3-.2-.2-.3v-.2l-.2-.2-.2-.3v-.2l-.3-.2h-.2v-.3h-.2l-.2-.3v-.2h-.3l-.2-.2v-.2h-.2v-.2h-.4v-.2h-.2l.3-1h.2l.2.2.2.2h.2l.2.2.2.2h.2v.3l.3.2.2.2h.2l.2.3v.2l.2.2.2.2.2.2.2.2.2.3v.2l.3.2.2.3.2.3v.3l.3.4.2.3v.3l.3.3v.3l.3.3v.3l.2.3v.6zm0-.6l.2.3-.3.2v-.6zm-21.5-35.4v1.5h-.4v-.4h-.2v-.7l.2-.2h.2v-.2h.2zm15.3 4l-.5 1.3-.6-.2-.5-.2h-.6l-.5-.2-.4-.2-.5-.2-.4-.2-.5-.2-.4-.2h-.5l-.4-.3-.5-.2h-.4l-.4-.3h-.5l-.4-.3h-.5l-.4-.2h-.4l-.5-.2h-.4l-.3-.2h-1.3l-.4-.2H420v-2h2.9l.5.2h1l.4.2h.5l.3.2.5.2h.5l.4.2.5.2h.5l.4.3h.6l.5.3.6.2h.5l.6.3.5.2.6.2h.5l.6.3.6.2.5.2.6.2h.5zm9 2.5v1.5H442l-.3-.2h-.4l-.3-.2h-.3l-.4-.2h-.3l-.4-.2h-.4l-.3-.2h-.5l-.3-.2-.4-.2h-.3l-.4-.2h-.2l-.3-.2h-.3l-.3-.3h-.7l-.2-.2h-.4l-.2-.2.4-1.5h.2l.2.2h.2l.2.2h.3v.2h.4l.3.2h.3l.3.2h.4l.3.2.3.2h.4l.3.2h.4l.3.2h.4l.4.2h.3l.4.2h.4l.3.2h.6l.3.2h1zm0 1.5v-1.5h.4v.2h.2v.2h.2v.9h-.2v.2h-.2v.2h-.2zm23.4 7.5l.2-1.2h.2v.2h.2v.8h-.6zm-10-2l.4-1.2h.5l.3.2h.4l.3.2h1.1l.2.2h.6l.2.2h.6l.3.2h.7l.4.2h.8l.3.2h.9l.2.2h.9l.5.2h.8l-.2 1.3h-.9l-.4-.2h-.6l-.4-.2h-.7l-.4-.2h-1.4l-.3-.2h-.7l-.3-.2h-.6l-.3-.2h-.5l-.4-.2h-.5l-.3-.2h-.5l-.2-.2h-.5l-.2-.2zm.4-1.2l-.3 1h-.2v-.8h.8z"/>
+      <path fill="#21231e" d="M431.5 332l-.7 1.3-.4-.3-.4-.2-.4-.3-.3-.2-.4-.3-.4-.3-.3-.3-.4-.3-.4-.2-.3-.4-.3-.3-.2-.3-.3-.3-.3-.4-.2-.3-.3-.4-.2-.3-.3-.4-.2-.4-.2-.3-.3-.5-.2-.4-.2-.2v-.4l-.3-.4-.2-.3-.2-.4-.2-.3v-.4l-.2-.3-.2-.3-.2-.4 1.4-.7.2.2.2.4v.3l.3.2.2.4.2.3v.3l.3.3.2.4.2.3.2.4v.3l.3.4.3.3.2.4.2.4.2.4.3.3.2.4.3.4.2.3.3.4.3.3.3.3.3.2.3.3.3.3.2.2.4.3.3.2.2.2.3.2zm7.6-5.3l1.5.8-.2.4-.2.3-.2.4-.2.4-.3.5-.3.4-.2.2-.3.4-.3.3-.3.2-.3.3-.3.3-.3.3-.2.4-.3.2-.3.2-.4.2-.3.2-.3.2h-.3l-.5.2h-.3l-.3.2h-2.2l-.4-.2-.3-.2h-.2l.7-1.5h.5l.2.2h1.7l.3-.2h.2l.3-.2h.2l.3-.3.2-.2.3-.2h.2l.3-.3.2-.3.3-.2.2-.3.3-.4.2-.3.3-.3.2-.4.2-.3.3-.4.2-.5.2-.4v-.3z"/>
+      <path fill="#21231e" d="M429.6 331l-2.2-2.3c-1-1.3-.5-3 2-5.4 1.5.7 3 1.3 4.2 2-1 3-2.2 4.8-4 5.6zm-6.3 82l-.4 1h-.4v-1h.8zm23.8-3.6l1 1-.7.5-.6.4-.7.5-.6.4-.7.5-.7.3-.7.4-.7.4-.7.4-1 .3-.6.3-.8.2-.7.2-1 .2-.7.2h-.8l-.8.2h-5l-1-.2h-.8l-.8-.3h-1l-.8-.4h-1l-.7-.3-1-.3-.8-.3.3-1 .8.2 1 .3 1 .3.7.2 1 .2.7.2h.8l1 .2h.7l.7.2h4.8l.7-.2h1l.6-.3.7-.2h.7l.7-.4.7-.3.7-.3.8-.3.6-.4.7-.4.7-.5.6-.5.6-.5.5-.5.6-.6zm3-2.8l1 .8h-.2v.2h-.2l-.2.2v.2h-.2v.2h-.2v.2h-.2l-.2.2-.2.2v.2h-.2v.2h-.2l-.2.2-.2.2-.2.2-.2.2v.2h-.2l-1-.8h.2v-.2h.2v-.2h.2l.2-.2.2-.2.2-.2v-.2h.2v-.2h.2l.2-.2.2-.2.2-.2v-.2h.2l.2-.2.2-.2v-.2h.2zm1 .8l-1-.8.2-.2h.7v.2h.2v.8z"/>
+      <path fill="#21231e" d="M452.2 401.3l-1.2-.2v-.2h.2l.2-.2h.6v.4h.2v.2zm-5.5 16l.3 1-.7-.8.2-.4.2-.4.2-.5v-.4l.3-.4.2-.5.2-.5v-.5l.3-.4.2-.5.2-.5v-.5l.3-.5v-.5l.3-.5v-.5l.3-.5v-.5l.3-.5v-.5l.2-.5.2-.6v-.5l.2-.6v-.5l.2-.4v-.6l.2-.6v-.5l.2-.7v-.6l.2-.6 1.2.3v.6l-.2.5v.6l-.2.6v.6l-.2.6v.5l-.2.6-.2.4v.6l-.2.5v.6l-.3.6v.5l-.3.6v.6l-.3.5v.5l-.2.5-.2.5v.5l-.3.5-.2.5v.5l-.2.4-.2.5-.2.6-.2.5-.2.6-.2.5-.2.5-.2.5-.7-.8zm-.4.2l1 .5v.2h-.2v.2h-.4l-.2-.2v-.2h-.2v-.4zm15.2-9.5l1 .7-.3.4-.4.6-.3.4-.4.4-.2.4-.4.4-.4.4-.4.4-.4.3-.4.4-.5.3-.4.4-.6.3-.4.3-.5.3-.5.3-.5.3-.5.2-.5.3-.5.3-.6.2-.5.3-.7.2-.5.3-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.6.2-.3-1.2.6-.2h.6l.5-.3.6-.2.6-.2.6-.2h.6l.5-.3.6-.3.4-.2.5-.2.4-.3.5-.2.4-.3.5-.3.4-.4.5-.3.3-.3.5-.3.4-.3.4-.3.4-.2.4-.4.4-.3.4-.3.4-.3.3-.4.3-.4.3-.4.3-.4.2-.4.3-.4zm1 .7l-1-.7h.2v-.2h.7v.2h.2v.7z"/>
+      <path fill="#21231e" d="M461.3 400.2H460v-.2h.2v-.2h1v.4zm4.4 15.7l.7 1-.8-.3-.3-.4-.3-.4-.2-.5-.3-.5-.2-.4-.3-.4-.2-.5-.3-.5-.2-.4-.2-.5v-.5l-.3-.5-.2-.5-.2-.5-.2-.5v-.5l-.2-.5-.2-.5v-.6l-.3-.5v-.5l-.3-.6v-.4l-.2-.6v-.6l-.2-.5v-.7l-.2-.6v-.6l-.2-.5v-1.2h1v.5l.2.6v.6l.2.5v1.4l.2.5.2.6v.5l.2.5v.6l.3.5v.4l.2.5.2.4v.5l.2.4.2.5.2.4.2.5.2.4.2.4.2.5.2.4.2.5.3.4.3.4.2.4.3.5.2.3.3.4.3.3h-1zm0 .7l1-.7v.8l-.2.2h-.2v.2h-.4v-.2h-.2zm7.6-12.6l1 .4v.6l-.2.5v.5l-.2.5-.2.5-.2.5-.2.5-.2.5-.2.4-.2.4-.2.4-.3.5v.4l-.4.4-.2.5-.3.4v.3l-.4.3-.3.4-.3.4-.2.3-.3.3-.3.4-.3.3-.4.3-.3.3-.3.3-.3.2-.3.3-.3.4-.3.2-.3.3-.7-1 .3-.3.3-.2.3-.3.3-.2.2-.3.3-.3.2-.2.3-.3.3-.4.3-.3.2-.4.3-.4.4-.3.2-.4.3-.4v-.4l.4-.3.2-.5.3-.4v-.3l.3-.4.2-.4.2-.6.2-.4v-.5l.3-.4.2-.4.2-.5v-.4l.3-.5v-.4l.3-.5zm1 .4l-1-.3v-.2h.8v.2h.2v.4z"/>
+      <path fill="#edb92e" d="M406 317.8c-16.7 1.8-16 12.6-.4 28 3 3 4 3 4.6-.2 1.2-5.3 7-8.5 10.2-4.4 2 2.7 1.6 4.3 8.6 3.3 9 7.5 16.2 12.8 4.5 12.3-5-.2-9 2.8-15.7 2.5 2 4 2.3 4.3 3.4 4.6 6.5 1.2 13.3-2.8 19.8-1.6 14.3 2.6-23-38.6-22.4-40.3 1-4-9-11.5-12.7-4.2z"/>
+      <path fill="#21231e" d="M406 345.5l-.7.7-1.4-1.5-1.5-1.4-1.2-1.4-1.2-1.4-1-1.3-1-1.3-.8-1.3-.8-1.2-.8-1.2-.6-1.2-.5-1-.5-1.2-.3-1-.3-1v-1l-.2-1v-1l.2-1 .2-.8.4-.8.4-.8.6-.7.6-.7.8-.6.8-.6 1-.5 1-.5 1-.4 1.4-.4 1.3-.3 1.3-.2 1.6-.2v1l-1.5.2-1.4.2-1.2.3-1.2.3-1 .4-1 .5-1 .4-.6.5-.7.7-.6.6-.4.6-.4.6-.4.7-.2.8-.2 1v1.7l.2.8.2 1 .4 1 .4 1 .5 1 .5 1.3.7 1 .8 1.3 1 1.4.8 1.2 1 1.3 1.2 1.3 1.2 1.3 1.4 1.4 1.4 1.5zm3.8 0l1 .2v.3l-.2.3v.5l-.2.2v.2l-.2.2v.2l-.2.2-.3.3v.2h-.3l-.2.2H408l-.2-.2h-.2l-.2-.2h-.2l-.2-.3-.2-.2h-.2l-.3-.4h-.2l-.2-.3-.3-.3-.2-.2.7-.7.2.2.3.3.2.2.3.2.2.2.2.2h.2l.2.2.2.2h.3v.2h.6l.2-.2v-.2l.2-.2v-.2l.2-.4v-.4l.2-.3zm11-4.6l-.8.5-.3-.4h-.3l-.3-.4-.2-.2-.3-.2h-.3l-.3-.2h-.5l-.3-.2h-1.5l-.3.2-.4.2h-.2l-.4.3-.3.2-.2.2-.4.2-.3.2-.2.3-.3.3-.2.4-.3.3-.2.4-.3.5-.2.4-.2.3v.5l-.2.4v.5l-1-.2v-.5l.2-.5.2-.5.2-.5.3-.5.2-.4.2-.4.3-.4.3-.4.3-.4.4-.3.4-.3.4-.3.4-.2.3-.2.3-.2.5-.2h.4l.4-.2h.4l.4-.2h1l.4.2h.6l.4.3.4.3.3.2.4.3.4.5.4.4zm8.6 3.2l-.7.7h.4-.5l-.6.2h-4.5l-.2-.2h-.3l-.2-.2h-.2l-.2-.2-.2-.2-.2-.2h-.2v-.3l-.3-.3v-.2l-.3-.2v-.2h-.3l-.2-.3-.2-.3v-.2l-.3-.2v-.3l-.3-.2.8-.6h.2v.4l.3.2.2.3.3.3v.2l.2.2.2.2.2.2.2.2.2.2h.2v.2h.3l.2.2h.2l.2.2h5.4zm-.4 0l.2-.2.2.2h-.4zm4.5 13v-1h4.1l.5-.2h.4l.3-.3h.2v-1l-.2-.3-.2-.4-.3-.5-.4-.4-.5-.4-.4-.4-.4-.5-.6-.5-.6-.6-.6-.6-.7-.5-.6-.6-.7-.7-.7-.7-.8-.6-.8-.7-.8-.7-1-.7.8-.8.8.7.8.5.8.7.8.7.7.5.8.6.8.7.7.6.6.6.7.4.6.6.5.5.5.5.4.5.4.4.4.4.3.4.2.4v2.3l-.4.3-.3.2-.4.3-.6.2h-.6l-.7.2h-3.6zm-15.2 2l-1 .4.5-.8h3.4l.6-.2h.5l.5-.2h.5l.5-.2h.5l.4-.2h.5l.5-.2.4-.2h.6l.4-.2.5-.2h.4l.4-.2h.5l.3-.2h.5l.4-.2h.5l.5-.2h2.6v1H431l-.4.2h-.9l-.4.3h-.8l-.4.2h-.5l-.4.3h-.6l-.5.2h-.5l-.5.3h-.5l-.5.2h-.5l-.5.2h-.5l-.6.2h-.6l-.6.2h-3l.5-.7zm-1 .4l-.3-.8h.8l-.4.8zm4 4l-.2.8h-.4v-.2h-.2l-.2-.2h-.2v-.2h-.2v-.2h-.2v-.2l-.2-.3-.2-.2-.3-.3-.2-.2v-.2h-.2v-.4l-.3-.2v-.3h-.3v-.4l-.3-.3v-.4l-.3-.4 1-.5v.5l.2.3.2.3v.4l.3.3.2.2v.2l.3.2v.2l.2.2v.2h.2v.3l.2.2v.2l.2.2h.2v.2h.4v.2h.4zm-.2.8zm20-2.5v1l-.7-.2h-4.7l-.6.2h-.7l-.6.2h-.7l-.6.2-.6.2h-.6l-.6.2h-.7l-.7.3-.6.2h-.6l-.6.2h-.6l-.6.2h-4.6l-.6-.2.3-1 .6.2h4.8l.6-.2h.6l.5-.2h.6l.7-.2.7-.2h.6l.6-.2.6-.2h.7l.5-.2h.6l.7-.2h.7l.6-.2h4.9zm-23-40l1 .3.3.3.5.7.6.8.8 1.2 1 1.2 1 1.3 1 1.5 1.3 1.5 1.3 1.7 1.4 1.8 1.4 1.8 1.5 1.8 1.5 2 1.5 1.8 1.4 2 1.4 2 1.3 1.7 1.3 2 1.2 1.7 1 1.7 1 1.6.8 1.5.6 1.4.4 1.3.3 1.2v2l-.6.7-.8.5H441v-1h2l.4-.3.3-.4V360l-.3-1.2-.4-1.2-.6-1.3-.8-1.5-1-1.6-1-1.7-1-1.8-1.3-1.8-1.4-2-1.4-2-1.4-1.8-1.5-2-1.4-1.8-1.5-1.8-1.4-1.8-1.3-1.8-1.3-1.6-1.2-1.6-1-1.5-1.2-1.3-1-1.2-.7-1-.6-1-.5-.7-.3-.4v-.6zm-12-3.7v-1l-.5.2.4-.6.3-.7.5-.6.5-.4.5-.3.6-.3.5-.2.5-.2h2.6l.6.2.6.2.5.3.6.2.6.3.4.4.5.2.4.4.4.4.5.5.4.4.3.4.3.4.3.5.2.5.2.5v.5l.2.5v1l-1-.3v-1l-.2-.4v-.4l-.3-.4-.2-.4-.3-.4-.3-.4-.5-.4-.3-.4-.5-.4-.4-.4-.5-.3-.4-.3-.5-.3h-.7l-.5-.3-.5-.2h-.5l-.6-.2h-2l-.4.3-.5.2-.4.3-.5.5-.4.4-.3.4-.3.6-.4.3zm.4-.3l-.2.2h-.2l.4-.2zm-.5-.2v.5-.5zm.4.2l-.2.2h-.2l.4-.2z"/>
+      <path fill="#21231e" d="M407 317.2l-1.3.4v-.6h.2v-.2h.8v.2h.2v.2zm7.6 10.6l-.8 1-.4-.4-.3-.4-.3-.3-.3-.3-.4-.3-.3-.2-.3-.4-.3-.3-.2-.2-.3-.4-.3-.3-.3-.2-.4-.4-.3-.3-.2-.2-.2-.4-.2-.3-.3-.3-.2-.3v-.4l-.4-.3-.2-.4-.2-.4-.2-.4-.2-.4v-.4l-.3-.3-.2-.4v-.3l-.3-.3v-.4l-.3-.4 1.2-.4v.7l.3.3v.3l.3.4v.3l.3.4v.3l.3.4.2.3.2.3.2.4v.3l.3.3.2.4.3.3.2.3.3.4.2.3.3.3.3.3.4.4.2.3.3.3.2.3.3.3.4.2.2.3.3.3.4.4.2.3.4.3zm-.8 1l.8-1v.2h.2v.7h-.4v.2h-.7zm-9.5-4.6c.8 0 1.3.7 1.2 1.5s-.8 1.3-1.5 1.2c-.8-.2-1.3-.8-1.2-1.6s.8-1.3 1.5-1.2zm-45.9 38.4h.2v-.2h.4v.2h.2v.2l.2.2v.4h-.2l-.8-.8zm-22.7 56l.2-1V416l.4-1.5.3-1.5.4-1.7.6-1.8.5-2 .7-2 .6-2 .6-2 .6-2.2.8-2.2.7-2.2 1-2 .7-2.3 1-2.3.7-2.2 1-2.2.8-2 1-2.2.8-2 1-2 .8-2 1-1.7.8-1.5 1-1.6.7-1.5 1-1.3.7-1.2.8-1 .8-.8.8-.6.7 1-.6.5-.7.8-.7 1-.8 1-1 1.3-.7 1.5-1 1.5-.7 1.7-1 1.7-.8 2-1 1.8-.8 2-1 2-.8 2.3-1 2-.7 2.3-1 2.3-.7 2.3-.8 2.2-.7 2.2-.8 2.2-.6 2-.6 2-.6 2.2-.6 2-.5 1.8-.4 1.8-.4 1.6-.5 1.6-.2 1.4-.2 1.3v1H336zm5.6 80.5l-.7-2-.7-2-.7-2.2-.6-2.2-.6-2.2-.4-2.4-.4-2.3-.5-2.4-.4-2.5-.3-2.4-.3-2.5-.3-2.7-.2-2.6-.3-2.6-.2-2.5-.2-2.6v-3l-.2-2.7v-18.5l.3-2.7v-2.5l.2-2.6v-2.7l.3-2.6.2-2.5.2-2.5h1.2l-.3 2.6-.2 2.5-.2 2.6-.2 2.6v2.6l-.2 2.6v2.6l-.2 2.7v18.8l.2 2.6v2.6l.3 2.6.3 2.6.3 2.6.3 2.5.2 2.5.3 2.5.4 2.4.3 2.5.5 2.3.5 2.3.5 2.3.6 2.2.6 2 .7 2.2.7 2-1 .4zm1-.4v.8h-.8v-.2l1-.6z"/>
+    </g>
+    <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#e"/>
+    <path fill="#21231e" d="M473 398.4h-.2v.5h-.2v.8l.2.7v1.6l.2.8.2.8v.7l.3.8v.8l.3.7.2.8.3.7.2.7.2.7.3.7.3.8.3.7.3.7.2.7.3.6.4.6.2.7.4.5.4.7.4.7.4.5.5.6.4.8.5.6.4.6.5.6.6.6.2.2h.8v-.2l.6-.6.5-.6.5-.6.4-.6.5-.7.5-.5.4-.6.3-.8.4-.6.3-.7.4-.8.4-.6.3-.7.4-.8.3-.7.3-.7.3-.7.3-.6.2-.7.3-.7.3-.7.2-.8v-.7l.3-.7.2-.7v-.7l.3-.8v-1.4l.2-.8v-2.1h-1v.4l-.2 1v1.4l-.2.7v.7l-.2.7-.2.7v.8l-.3.7-.2.7-.2.7v.6l-.3.7-.3.7-.2.7-.3.7-.4.6-.2.7-.4.7-.3.6-.3.7-.4.6-.4.7-.3.6-.4.6-.5.6-.4.6-.4.7-.4.7-.4.6-.5.6h-.2l-.5-.7-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.4-.6-.3-.7-.4-.6-.4-.7-.3-.6-.3-.7-.4-.7-.2-.6-.3-.7-.2-.7-.2-.7-.2-.7-.2-.7-.2-.8-.2-.7-.2-.7v-.7l-.3-.6v-.8l-.2-.7v-2.3l-.2-.8v-.4h-.2v-.2h-.5z"/>
+    <path fill="#c6363c" d="M549.2 422v108.6a72 72 0 01-19.7 49.8 65 65 0 01-94.7.1 72.9 72.9 0 01-19.7-49.8V422h134.2z"/>
+    <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 -90)" xlink:href="#f"/>
+    <path fill="#fff" stroke="#21231e" d="M549.2 488.6v28h-53v83a63.8 63.8 0 01-14 1.5 59 59 0 01-14-1.5v-83h-53v-28h53V422h28v66.6h53z"/>
+    <use width="1350" height="900" transform="translate(0 -90)" xlink:href="#f"/>
+    <path id="f" fill="#fff" stroke="#21231e" d="M459 567.3V528c-8.4-2.3-29.3-10.6-30.3 7.6-.5 8.4 10.4 14 13.3 6.5 1.4-3.4 0-6-2-6.7-2.4-.8-4.6 1-4 3.6-8.8-4.7 8-14.6 15.5-1.7 2.2 3.7-3.7 7.6-3.7 10.4 0 2.7 5.8 7 3.7 10.3-7.7 12.8-24.3 3-15.5-1.6-.6 2.7 1.6 4.5 4 3.6 2-.8 3.4-3.3 2-6.8-3-7.5-13.8-2-13.3 6.5 1 18.2 22 10 30.4 7.6z"/>
+    <use width="1350" height="900" transform="matrix(-1 0 0 1 964.3 0)" xlink:href="#f"/>
+    <path fill="#21231e" d="M414 421v113.3l.2 1.7v2l.4 1.7.2 1.8.3 1.7.4 1.8.3 1.8.4 1.7.6 1.7.5 1.7.6 1.5.6 1.7.5 1.6.7 1.6.7 1.6.7 1.6.8 1.6.8 1.5.8 1.5 1 1.5.8 1.5 1 1.4.8 1.4 1 1.4 1 1.4 1 1.3 1 1.5 1.2 1.2 1 1.3 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1 1.3 1.3 1 1 1.4 1 1.3 1 1.4 1 1.5 1 1.4 1 1.3.8 1.4.8 1.5.8 1.4.8 1.6.7 1.5.6 1.5.7 1.5.6 1.6.5 1.6.5 1.5.5 1.6.5 1.8.4 1.6.4 1.7.4 1.8.2 1.7.3 1.7.2h1.7l1.6.2h8.9l1.7-.3 1.8-.3 1.7-.3 1.7-.2 1.7-.4 1.5-.4 1.7-.4 1.6-.5 1.6-.5 1.6-.5 1.5-.6 1.6-.7 1.6-.7 1.6-.7 1.5-.8 1.4-.8 1.6-.8 1.4-1 1.5-.7 1.4-1 1.2-1 1.4-1 1.3-1 1.2-1 1.3-1 1.2-1.3 1.2-1 1-1.3 1.3-1.2 1.2-1.2 1-1.3 1.2-1.2 1-1.4 1-1.2 1-1.4 1-1.4 1-1.4 1-1.4.7-1.5 1-1.5.7-1.5.8-1.5.8-1.6.7-1.6.6-1.6.6-1.6.6-1.6.5-1.7.5-1.6.5-1.8.4-1.7.6-1.7.3-1.8.2-1.8.3-1.7.3-1.8v-.9l.3-2 .2-1.7V421H414zm2.3 2.2H548V536l-.3 1.6-.2 1.8-.2 1.7-.3 1.8-.3 1.7-.4 1.7-.3 1.7-.5 1.5-.4 1.7-.4 1.6-.5 1.6-.5 1.6-.6 1.5-.8 1.6-.7 1.6-.7 1.5-.7 1.6-.7 1.4-.8 1.5-.8 1.4-1 1.3-.8 1.4-1 1.3-1 1.3-1 1.3-1 1.3-1 1.2-1.2 1.2-1 1.2-1.2 1-1.2 1.3-1.2 1-1.2 1-1.2 1-1.3 1-1.2 1-1.4 1-1.4 1-1.3.8-1.4 1-1.5.7-1.4.8-1.3.7-1.5.8-1.5.6-1.4.7-1.5.7-1.6.5-1.5.6-1.5.5-1.6.4-1.6.4-1.6.5-1.6.3-1.6.3-1.7.4H489l-1.8.3h-1.7l-1.6.2h-3.6l-1.6-.2H477l-1.6-.3h-1.6l-1.7-.4-1.5-.2-1.6-.3-1.7-.4-1.6-.3-1.6-.4-1.4-.5-1.6-.6-1.5-.5-1.5-.6-1.5-.6-1.4-.6-1.4-.8-1.4-.7-1.4-.8-1.4-.8-1.4-1-1.3-.7-1.4-1-1.3-1-1.2-1-1.3-1-1.2-1-1.2-1-1-1-1.3-1.3-1-1-1.2-1.3-1-1.2-1-1.3-1.2-1.4-1-1.3-1-1.3-1-1.3-.8-1.4-.8-1.4-1-1.5-.7-1.5-.8-1.4-.7-1.5-.8-1.4-.6-1.5-.6-1.5-.6-1.5-.5-1.6-.6-1.6-.5-1.6-.5-1.7-.4-1.6-.4-1.8-.4-1.7-.3-1.7-.3-1.7-.2-1.6-.2-1.8-.2-1.7v-5.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ru.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ru.svg
new file mode 100644
index 0000000..f56fddb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ru.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ru" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#0039a6" d="M0 160h640v320H0z"/>
+    <path fill="#d52b1e" d="M0 320h640v160H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/rw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/rw.svg
new file mode 100644
index 0000000..afed4e3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/rw.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-rw" viewBox="0 0 640 480">
+  <path fill="#20603d" d="M0 0h640v480H0z"/>
+  <path fill="#fad201" d="M0 0h640v360H0z"/>
+  <path fill="#00a1de" d="M0 0h640v240H0z"/>
+  <g transform="translate(511 125.4) scale(.66667)">
+    <g id="b">
+      <path id="a" fill="#e5be01" d="M116.1 0L35.7 4.7l76.4 25.4-78.8-16.3L100.6 58l-72-36.2L82 82.1 21.9 28.6l36.2 72-44.3-67.3L30 112 4.7 35.7 0 116.1-1-1z"/>
+      <use width="100%" height="100%" transform="scale(1 -1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#b"/>
+    <circle r="34.3" fill="#e5be01" stroke="#00a1de" stroke-width="3.4"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sa.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sa.svg
new file mode 100644
index 0000000..c9e8cca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sa.svg
@@ -0,0 +1,26 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sa" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="sa-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#sa-a)" transform="translate(80) scale(.9375)">
+    <path fill="#199d00" d="M-128 0h768v512h-768z"/>
+    <path fill="#fff" d="M65.5 145.1c-.8 12-2 33 8.3 35.2 12.3 1.2 5.5-20.8 10-24.8.8-2 2.3-2 2.4.5v18.7c0 6 4 7.8 7 9 3.2-.2 5.4 0 6.6 3l1.6 32.3s7.4 2.2 7.8-18.1c.3-12-2.4-21.9-.8-24.2 0-2.3 3-2.4 5-1.3 3.2 2.2 4.6 5 9.6 4 7.6-2.2 12.2-5.9 12.3-11.7a47 47 0 00-3.5-16.6c.4-1-1.4-3.7-1-4.7 1.3 2.2 3.4 2 3.8 0-1.3-4.2-3.3-8.3-6.5-10-2.7-2.4-6.7-2-8 3-.8 5.7 2 12.4 6.1 18 .9 2.1 2.1 5.7 1.6 8.9-2.2 1.3-4.4.7-6.3-1.2 0 0-6-4.5-6-5.6 1.6-10.2.3-11.4-.6-14.3-.6-3.9-2.5-5.2-4-7.8-1.5-1.6-3.5-1.6-4.5 0-2.7 4.6-1.4 14.5.5 19 1.4 4.1 3.5 6.7 2.5 6.7-.8 2.3-2.5 1.7-3.8-1a66.6 66.6 0 01-2.1-17.4c-.5-4.6-1.1-14.4-4.2-17-1.8-2.4-4.5-1.2-5.5 1a82.4 82.4 0 00.3 13.4c2 7.4 2.7 14 3.7 21.5.3 10.1-5.8 4.4-5.5-.7a45 45 0 00-.3-19.4c-1-2.6-2.1-3.2-4.6-2.8-1.9 0-6.8 5.3-8.2 14.3 0 0-1.2 4.6-1.7 8.7-.7 4.6-3.7 8-5.9-.6-1.8-6.3-3-21.6-6-18z"/>
+    <path fill="#fff" d="M99 194.2l-32 15.4c.3-7.3 15.1-20.4 25.3-20.5 6.5.1 4.9 2.5 6.6 5.1z"/>
+    <path fill="#fff" d="M93.3 204.2c-16.8 43.5 39.5 49.6 45.8 1.8.6-2 3-3.9 3.4-.7-1.3 43.3-43.6 46.2-50.8 32.6a41.9 41.9 0 01-2.5-14.6c-1-8.5-5.5-5.2-6.2 3.2-.7 4.7-.5 6-.5 10.5 2.2 34.2 56.7 19.5 65.6-8.7 4.7-15.6-.8-27.1 1.7-27.1 5.4 5.8 13 .8 14.7-1.2.7-1 2.5-1.7 3.7-.4 4.2 3 11.6 1.6 13.2-3.7.9-5.3 1.6-10.7 1.8-16.2-3.5 1-6 1.7-6.3 3.2l-.7 4.6c-.3 1.5-3.2 1.5-3.4-.4-1.3-6-6.7-6.7-10 2.5-2.1 1.8-6.1 2.2-6.5-.5.5-6.2-2-7-7-4.1l-4.8-36.2c2 0 4 1.5 5.9-.9-2-6.5-6.5-19.7-9-20.7-1.1-1.4-2.1-.5-3.7-.1-2.6.8-5 3-4.2 7.4 3 18.8 5 33.1 8.1 52 .5 2.1-1.3 5-3.7 4.7-4-2.7-5-8.2-12-8-5 0-10.6 5.5-11.3 10.7-.9 4.2-1.2 8.7 0 12.3 3.5 4.2 7.7 3.8 11.4 2.9 3-1.3 5.5-4.3 6.6-3.6.7.9.1 10.9-14.3 18.5-8.7 4-15.7 4.8-19.4-2.3-2.3-4.5.2-21.4-5.6-17.5z"/>
+    <path fill="#fff" d="M165 160c3.3-1.2 19.3-19.6 19.3-19.6l-2.4-2c-.9-.7-.8-1.5 0-2.2 4-2.4 2.7-7.4.7-9.8a9.7 9.7 0 00-8.7.1c-2.8 2.7-3.4 7-1.2 9.6 2.1 1 4.2 3.2 2.8 4.4-6.6 7-24.5 19.1-22.4 19.5.4.6 11.5.6 11.8 0zm-97 65c-6 9.6-6.5 23.9-3.2 28.2 1.8 2 4.7 2.9 6.8 2.2 3.8-1.6 5.5-9.3 4.6-12-1.3-2-2.3-2.3-3.6-.7-2.6 5.4-3.7 1.7-4-1.3a70 70 0 01.8-15.2c.7-4.2 0-3-1.4-1.2zm257.1-15.3c-5.8-12.6-13.9-25-16.4-29.7a557.6 557.6 0 00-24.8-36c-6.2-7.4 10.2 3.1-2-11.7l-8.9-7.5c-2-1.4-6.8-4-7.6.2-.4 3.8-.2 5.8.4 8.9.5 2 3.5 5.5 5 7.5a565 565 0 0153.8 86.5c2.6-1.3 2-16.1.5-18.2z"/>
+    <path fill="#fff" d="M299.6 251.5c-1.2 1.3 2.8 6.8 8 6.8 8.6-1 16.2-5.8 23.2-18.6a33 33 0 005.3-14.2 317 317 0 00-5.8-72.4c-.3-2 0-4.4.2-5 .6-.7 2.5 0 3.5-1.7 1.5-1.5-4-14-7-18.7-1-2.2-1.5-3.6-3.3.2a27 27 0 00-3 13.6c4.1 28.5 5.4 53.4 8 81.9.3 2.8-.1 6.8-2 8.4a80.2 80.2 0 01-27.1 19.7zm116.5-.1c-6.2 3.6-6.2 7.7-1.2 7.8 8.6-1 18.8-1.7 25.8-12.3a41 41 0 004.2-16 303 303 0 00-4.7-71.4c-.2-2-1.1-6.7-.8-7.3.6-1.4 3.4.1 4.4-1.5 1.4-1.5-7.3-12.7-10.4-17.5-1-2.2-1.4-3.6-3.3.2a22.3 22.3 0 00-1.8 13.6c4.6 31 8 54.2 8.7 81.6-.4 2.6-.5 4-1.7 7.3-2.7 3.4-5.7 7.8-8.5 9.9-2.8 2-8.8 4-10.7 5.6z"/>
+    <path fill="#fff" d="M420.7 223.7c0-7.3.1-13.5-.1-19a34 34 0 00-3-13.5c-1.8-4.1-.7-7.4-1.6-11.8-.8-4.4-.6-11-1.8-16.1-.4-2-1.4-8.5-1.1-9.2.5-1.4 2.4 0 3.4-1.6 1.4-1.5-5-18-8.2-22.7-1.1-2.1-3.3-1.4-5.8 2-2.5 2.3-1.6 7.4-.6 12.3 6.1 32.3 10.8 61.6 9.8 92.3-.4 2.6 9-7.8 9-12.7zm-45.7-40c-3.9-.2-12-7.7-14.4-12a8 8 0 01.4-6.5c1.5-1 3.7-2 5.4-1 0 0 1.7 2.4 1.4 2.7 2 1 3 .5 3.2-.4.1-1.5-.6-2.4-.6-4 .9-4.6 6-5.3 8-2.4 1.4 1.8 2 5.5 2.1 8 0 1.3-2-.2-3.3 0-1.1.4-1.4 1.8-1.5 3-.2 3.3-.6 8.6-.7 12.5zm-71.8 48c1-9.8-.4-27.3-.5-33.1A477 477 0 00299 154c-1.2-8.4 3.4.9 2.8-4-1.5-8.3-6.1-14-11.6-21.5-1.7-2.5-1.7-3-4.4.6-3 6.7-.4 11.4.4 16.7 3.9 17.2 6.2 33 7.3 48.7a393.4 393.4 0 01.4 49c3 .1 7.6-4.7 9.3-11.8z"/>
+    <path fill="#fff" d="M434 216c-6.9-11.6-17.2-24-20-28.7a658 658 0 00-29.2-37.8c-8.5-9 4-1.5-1.6-8.5-4.7-5.1-6-6.8-10.1-9.9-2-1.3-3.2-3.8-4 .5a83 83 0 00-.2 11.2c0 1.7 1.8 5 3.4 7 20.7 25.5 43.4 51.5 61.6 84.2 2.6-1.3 1.7-16 0-18z"/>
+    <path fill="#1ba400" d="M122.6 194.7c-.5.9-1.6 2-1.2 3.1.7 1 1.4 1.3 2.6 1.3 1.1 0 2.7.3 3-.3.6-.7 1-2 .6-3.3-1.2-3-4.4-1.8-5-.8z"/>
+    <path fill="#fff" d="M354.2 362.5c9.2.4 15.2.5 23.3 1.4l9.6-1c10.6-1 11 15.1 11 15.1 0 9.5-3.7 10-8.4 11-2.7.4-4-1.6-5.5-3.6a14 14 0 01-7 .4c-3.9-.2-7.7-.2-11.5-.5-4-.3-6.2.5-10.3.1-.8 1.3-2 3.1-4.4 2.6-2-.3-4.5-6-3.8-10.5 1.5-3.2 1-2.1 1-3.5-37.6-1-75.5-2.7-112.3-2.2-28.8.1-57.2 1.3-85.7 2.5-15.2-.2-26.8-2.6-34.8-14.3.8 0 38.8 2.1 49.9 1.4 20.5-.2 39.3-1.9 60.2-2.5 41.2.7 82.1.7 123.3 3.6-4-2.7-4-9 2-10.6.5-.4.8 3.1 1.7 3 4.9-.3 2.7 6.3 1.7 7.6zM188.6 135.3c-6.2 17.8 3.6 37.4 10.4 35.5 5 2 8-7.4 10-17.6 1.5-2.9 2.5-3.2 3.2-1.7-.2 13.6 1 16.7 4.5 20.8 7.8 6 14.3.8 14.8.3l6-6.1c1.4-1.5 3.2-1.5 5.1-.3 1.9 1.7 1.6 4.6 5.6 6.6 3.4 1.4 10.5.4 12.2-2.5 2.2-3.9 2.8-5.2 3.8-6.6 1.6-2.1 4.3-1.2 4.3-.5-.3 1.2-1.9 2.3-.8 4.5 2 1.4 2.4.5 3.5.2 4-2 7-10.6 7-10.6.1-3.2-1.7-3-2.9-2.2l-3.1 2.1c-2 .3-5.7 1.6-7.6-1.3-1.9-3.4-1.9-8.3-3.3-11.8 0-.2-2.6-5.5-.2-5.8 1.2.2 3.7.9 4.1-1.2 1.2-2.1-2.6-8-5.3-11-2.3-2.5-5.5-2.8-8.6-.2-2.2 2-1.9 4.2-2.3 6.3a9.8 9.8 0 002 8.7c2.2 4.2 6.1 9.7 4.8 17.5 0 0-2.3 3.6-6.3 3.1-1.7-.3-4.4-1-5.8-11.8-1.1-8 .2-19.4-3.2-24.7-1.3-3.3-2.2-6.4-5.2-.9-.8 2.2-4.3 5.5-1.8 12.2a36 36 0 012 19c-1.5 2.2-1.8 2.9-3.7 5-2.6 3-5.5 2.2-7.7 1.1-2-1.3-3.6-2-4.6-6.5.2-7 .6-18.5-.7-20.9-1.9-3.8-5-2.4-6.3-1.2a47.7 47.7 0 00-11.5 23.5c-1.8 5.8-3.7 4.1-5 1.8-3.2-3-3.5-26.7-7.4-22.8z"/>
+    <path fill="#fff" d="M207.4 174.1c2.9-2 1.6-3.4 5.8.8a72 72 0 019.2 31.3c-.2 2.6 1.6 4.2 2.5 3.6.4-6 15.1-14.4 28.6-15.6 2-.5 1-4.4 1.3-6.4-.8-7.5 4.2-14.3 11.2-14.8 9.6 1.4 12.8 6.5 13 14.2-1.1 15-16.7 17.5-25.4 18.7-1.3.5-1.9 1.1 0 1.8l36.6.2 1.9 1c.2 1-.6.2-2 2.6a29.5 29.5 0 00-3.7 11.5c-10.9 3.6-22.2 5-33.6 6.5-4 2-6 4.7-5.2 7.7 1.4 3.3 10.2 6.7 10.2 6.8 1.7 1 3.6 3.5-.5 8.6-17.8-.8-31.7-8.4-36.5-19.1-1.4-1.1-3 0-4 1.4-7 9-13.8 17-25.7 21.4-7 1.8-14.3-1.1-17.7-5.7-2.3-2.7-2.2-5.6-3-6.2-3.9 1.7-36.9 15.7-32.7 9.1 8-8.5 22-14.9 34.2-23.3.9-2.9 2.5-12.5 7.3-15.6.3 0-.7 5.6-.6 8 0 2-.2 2.7.2 2.2.9-.5 15.7-12.2 17-15.8 1.4-2 .3-7.2.3-7.4-2.8-7.2-6.7-7.8-8.1-11.4-1.3-4.7-.7-10.1 2-11.7 2.4-2.1 5.2-1.9 7.9.5 3 2.7 5.6 8 6.4 11.9-.5 1.5-4-1-5-.3a16 16 0 013.7 7.8c2 8.2 1.4 11.4-.6 16.7-6.6 13.9-15 18-22.4 23.2-.2 0-.3 3.5 2.4 5.4 1 1 4.9 1.5 9.4 0a54.5 54.5 0 0022.3-23.3 51 51 0 00-2.4-22.2c-2.9-6.7-6.3-16.2-6.3-16.4-.1-4.2.2-5.6 2-7.7zm-95.8-38.6c4.2 2 12.2 1.1 11.8-5.7l-.2-3.1c-.8-2-3.2-1.5-3.7.5-.2.7.3 1.8-.3 2.1-.4.4-1.7.2-1.7-1.7 0-.6-.4-1.2-.7-1.6-.2-.2-.4-.2-.9-.2-.6 0-.6.1-.9.6-.1.5-.3 1-.3 1.6 0 .7-.4.9-.8 1-.6 0-.5 0-1-.2-.2-.3-.5-.4-.5-1l-.3-1.6c-.2-.3-.6-.5-1-.6-2.3 0-2.5 2.7-2.3 3.7-.2.2-.3 4.9 2.8 6.2z"/>
+    <path fill="#fff" d="M235.1 187.7c4.2 2 14.3.9 11.8-5.6l-.2-3.2c-.9-2-3.2-1.5-3.7.6-.2.6.3 1.7-.4 2-.3.4-1.7.2-1.6-1.6 0-.6-.4-1.3-.7-1.7-.3-.1-.4-.2-1-.2-.5 0-.5.2-.8.7-.2.5-.3 1-.3 1.6-.1.6-.4.8-.9 1-.5 0-.4 0-.8-.3-.3-.3-.6-.4-.6-.9l-.3-1.6c-.2-.3-.6-.5-1-.6-2.3 0-2.5 2.6-2.4 3.6-.1.2-.2 5 3 6.2zm72-21.6c4.2 2 12.1 1.1 11.8-5.6l-.2-3.2c-.9-2-3.2-1.5-3.7.5-.2.7.3 1.8-.4 2.2-.3.3-1.7.1-1.6-1.8 0-.6-.4-1.2-.7-1.6-.3-.2-.4-.2-1-.2-.5 0-.5.2-.8.7l-.3 1.5c-.1.7-.4 1-.9 1s-.4 0-.8-.2c-.3-.3-.6-.4-.6-.9s-.1-1.3-.3-1.7c-.2-.3-.6-.4-1-.5-2.3 0-2.5 2.6-2.4 3.6-.1.2-.2 4.9 3 6.2zm37.3 54.3c-7.3 8.3-4.1 22-2.4 25 2.4 4.8 4.3 7.9 9 10.3 4.3 3.1 7.7 1.2 9.5-1 4.3-4.5 4.4-16 6.4-18.2 1.4-4.2 5-3.5 6.7-1.6a16.5 16.5 0 006.2 5.3c4 3.5 8.8 4.2 13.6 1 3.2-1.9 5.3-4.2 7.2-8.9 2-5.6 1-31.6.5-47l-4.2-21.5c0-.2-.5-10.2-1-12.5 0-1-.3-1.3.7-1.2 1.1 1 1.2 1 2 1.3 1 .2 2-1.7 1.3-3.3l-10-18.6c-.8-.8-1.9-1.6-3.2.2a7.3 7.3 0 00-2.4 5.5c.3 4.4 1 8.9 1.3 13.3l4 22.6c1.3 16 1.6 29.2 2.9 45.3-.2 6.8-2.3 12.7-4.3 13.6 0 0-3 1.7-5-.2-1.5-.6-7.4-9.9-7.4-9.9-3-2.7-5-2-7.1 0-6 5.8-8.6 16.4-12.7 23.8-1 1.7-4 3-7.2-.1-8.2-11.3-3.4-27.3-4.4-23.2zM309 126.7c3.8 1.5 6.4 9.2 5.6 13-.8 4.5-2.8 9.5-4.2 8.9-1.6-.6 1-4.6-.5-8.8-.8-2.8-6-7.8-5.4-9.2-1-3.1 2.2-4.5 4.5-4z"/>
+    <path fill="#fff" d="M356.6 225c.7-9.2-.6-14.8-.8-20.2s-6.1-46.6-7.3-50.6c-1.5-7.8 5.7-1 4.9-5.6-2.5-5.6-8.6-13.9-10.5-18.8-1.2-2-.7-4-3.3-.5a42.3 42.3 0 00-2.3 19.2c6.2 32.3 12.5 59.1 11.5 89.8 3 0 6.3-6.7 7.8-13.3zm64.4-85.3c3.5 1.7 5.5 11.3 5.1 14-.7 5-2.5 10.4-3.8 9.7-1.5-.6.3-7.4-.4-9.5-.8-3-5.5-8.4-5-10-1-3.4 2-4.8 4.1-4.2zm-255.7 67.9c3.3 1.3 5.3 8.3 5 10.3-.8 3.7-2.5 7.7-3.8 7.1-1.3-.4.3-5.4-.3-7-.3-3.7-4.9-5.7-4.8-7.3-.8-3 2-3.5 4-3.1z"/>
+    <path fill="#1b9d00" d="M244.9 218.2c4.2.2 6.3 3.6 2.4 5-4 1.3-7.7 2.4-7.8 8 1.5 8-2 5.2-4 4.2-2.4-1.8-9.2-6-10.2-15-.1-2.1 1.6-4 4.3-4 4 1.1 10 1.2 15.3 1.8z"/>
+    <path fill="#fff" d="M77.4 124.4c4.8 1.4 5.1 8.6 4.8 10.7-.7 3.8-2.4 7.9-3.6 7.4-1.4-.5 0-5.7-.7-7.3-.7-2.2-4.8-6.4-4.4-7.6-.9-2.5 2-3.7 3.9-3.2zm95.9 33.6c-3.8 2-5.2 8-2.9 11.6 2.2 3 5.6 1.9 6 1.9 3.7.4 5.9-6.9 5.9-6.9s.1-2-4.2 1.9c-1.9.3-2-.4-2.5-1.4a9 9 0 01.5-5.7c.7-1.8-.7-2.6-2.8-1.4zm28-36.4c-2 1.3-5.7 5.2-5.8 9.6-.1 2.5-.6 2.5 1 4 1.3 1.8 2.4 1.7 4.8.4a5.1 5.1 0 002.3-3.4c.6-2.8-3 1.4-3.4-1.8-.8-3 1.5-4.2 3.7-7 0-2 0-3.3-2.7-1.8zm22.4 4a59.5 59.5 0 00-1.6 11.1c-.6 2.8 3 4 4.5.4 2.4-6.5 2.4-9.3 2.6-12-.7-4.3-3.6-4.2-5.5.5zm142 72.3c.4-.5 20-14.4 20-14.4 2-.7 1.5 7.2.6 7.1a77.8 77.8 0 01-20.7 14.3c-1 .7-1.9-5.3 0-7zm17.7-.2c3.5 1.7 4.9 11.8 4.5 14.5 0 5.4-3.3 9.6-4.7 9-1.4-.7.2-6.7-.5-8.8-.8-3-3.7-8.5-3.2-10.1-1-3.4 1.8-5.2 4-4.6zm-116 43.4a26 26 0 015.6-4.9c2-1 3.8.8 3.7.7.3 2-1.2 3.7-.7 6.3.4 1 .7 2.2 2.6 1.8 3.1-2.5 6-2.7 9-2.8 2.5.1 2.6 4.2 1 4.2-5.7 1.2-8.2 2.8-12.3 4.3-2 1.2-3.6-.3-3.6-.4s-1.1-1.1-.4-3.7c.2-2-.6-3.2-2.4-3-1.2.8-2.4 1.2-3-.3-.3-1-.4-1.6.5-2.2zm136.6 5.4c.8 1 1.4 2-.1 3.8l-3.7 3.2c-.6 1-1 2.8 1 3.3 3.6 1 12-4.5 12-4.6 1.4-1 1-3 .8-3-.8-.9-2.6-.3-3.8-.5-.6 0-2.5-.2-1.6-2a11.4 11.4 0 001.6-2.9c.5-1.2 0-2-2-2.7-2.1-.4-3-.2-5.3 0-1.2.2-1.6.8-1.9 2.3.1 2.3 1.5 2.2 3 3z"/>
+    <path fill="#259f00" d="M268.1 189.7c-.5 1-2.3 1-4 0s-2.7-2.6-2.1-3.5 2.3-.9 4 0 2.6 2.6 2.1 3.5zm-89-53.6c-1 .3-2.4-.6-3-2s-.3-2.6.7-2.9 2.3.7 3 2 .3 2.7-.8 3z"/>
+    <path fill="#209000" d="M355.2 375c9.4.4 18.2 0 27.5.5 1.7 1.5.5 5-.6 4.8l-7.8-.3c-.1-3-7.7-2.5-7.5.1-4.1.5-7.8-.1-12-.3-1.2-1.5-1-4.2.4-4.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sb.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sb.svg
new file mode 100644
index 0000000..b8e1f8e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sb.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sb" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="sb-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#sb-a)" transform="scale(.9375)">
+    <path fill="#0000d6" d="M0 507.2L987.4 0H0v507.2z"/>
+    <path fill="#006000" d="M1024 0L27.2 512H1024V0z"/>
+    <path fill="#fc0" d="M1024 0h-54.9L0 485.4V512h54.9L1024 27.6V0z"/>
+    <path fill="#fff" d="M71.4 9.1l11.8 34.5h38.5L90.6 64.7l11.9 34.4L71.4 78 40.3 99.2l11.9-34.4-31.1-21.3h38.4zm191.1 0l11.9 34.5h38.5l-31.2 21.2 12 34.4L262.4 78l-31 21.3 11.9-34.4-31.2-21.3h38.5zm0 144.5l11.9 34.5h38.5l-31.2 21.2 12 34.4-31.2-21.3-31 21.3 11.9-34.4-31.2-21.3h38.5zm-95-71.4l11.9 34.4h38.4l-31 21.3 11.8 34.4-31-21.3-31.2 21.3 12-34.4-31.2-21.3h38.5zm-96.1 71.4l11.8 34.5h38.5l-31.1 21.2 11.9 34.4-31.1-21.3-31.1 21.3 12-34.4L21 188h38.4z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sc.svg
new file mode 100644
index 0000000..2286e14
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sc.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sc" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="sc-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#sc-a)" transform="scale(.9375)">
+    <path fill="red" d="M0 0h992.1v512H0z"/>
+    <path fill="#090" d="M0 512l992.1-170.7V512H0z"/>
+    <path fill="#fff" d="M0 512l992.1-341.3v170.6L0 512z"/>
+    <path fill="#009" d="M0 512V0h330.7L0 512z"/>
+    <path fill="#ff0" d="M0 512L330.7 0h330.7L0 512z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sd.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sd.svg
new file mode 100644
index 0000000..9981494
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sd.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sd" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="sd-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#sd-a)" transform="scale(.9375)">
+    <path d="M0 341.3h1024V512H0z"/>
+    <path fill="#fff" d="M0 170.6h1024v170.7H0z"/>
+    <path fill="red" d="M0 0h1024.8v170.7H0z"/>
+    <path fill="#009a00" d="M0 0v512l341.3-256L0 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/se.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/se.svg
new file mode 100644
index 0000000..e9977d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/se.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-se" viewBox="0 0 640 480">
+  <path fill="#066aa7" d="M0 0h640v480H0z"/>
+  <path fill="#fecc00" d="M0 192h640v96H0z"/>
+  <path fill="#fecc00" d="M176 0h96v480h-96z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sg.svg
new file mode 100644
index 0000000..8931660
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sg.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sg" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="sg-a">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#sg-a)">
+    <path fill="#fff" d="M-20 0h720v480H-20z"/>
+    <path fill="#df0000" d="M-20 0h720v240H-20z"/>
+    <path fill="#fff" d="M146 40.2a84.4 84.4 0 00.8 165.2 86 86 0 01-106.6-59 86 86 0 0159-106c16-4.6 30.8-4.7 46.9-.2z"/>
+    <path fill="#fff" d="M133 110l4.9 15-13-9.2-12.8 9.4 4.7-15.2-12.8-9.3 15.9-.2 5-15 5 15h15.8zm17.5 52l5 15.1-13-9.2-12.9 9.3 4.8-15.1-12.8-9.4 15.9-.1 4.9-15.1 5 15h16zm58.5-.4l4.9 15.2-13-9.3-12.8 9.3 4.7-15.1-12.8-9.3 15.9-.2 5-15 5 15h15.8zm17.4-51.6l4.9 15.1-13-9.2-12.8 9.3 4.8-15.1-12.9-9.4 16-.1 4.8-15.1 5 15h16zm-46.3-34.3l5 15.2-13-9.3-12.9 9.4 4.8-15.2-12.8-9.4 15.8-.1 5-15.1 5 15h16z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sh.svg
new file mode 100644
index 0000000..a768813
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sh.svg
@@ -0,0 +1,74 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sh" viewBox="0 0 640 480">
+  <path fill="#006" d="M640 480V0H0v480h640z"/>
+  <path fill="#fff" d="M0 73.3h76L0 26.8V0h43.5l106.4 64.8V0h59.9v64.8L316 0h44v26.8l-76.4 46.5H360v73.4h-76.4l76.4 46.6V220h-44l-106.4-64.7V220H150v-64.7L43.4 220H0v-26.7l76-46.6H0V73.3z"/>
+  <path fill="#ce1126" d="M331.7 0L211.5 73.4h28.8L360 0h-28.3zM360 220l-119.8-73.3H269l90.9 55.9V220zM120.4 73.4L0 0v17.5l91.4 55.9h29zm-.3 73.3L0 220h28.7L149 146.7h-29z"/>
+  <path fill="#ce1126" d="M0 88.6h162.6V0h35.2v88.6H360v43H197.8V220h-35.2v-88.5H0v-43z"/>
+  <path fill="#8fc5ff" stroke="#fff" stroke-width="1.1" d="M399.7 640.8c0 16.3-2.6 33.9-23.8 42.3-21.1-8.4-23.7-26-23.8-42.3h47.6z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#366cc9" stroke="#000" stroke-width="1.1" d="M375.9 683a34.3 34.3 0 0018.8-16h-2c-.6-.1-20.3-2-22.7-3-2-.7-9.8.7-13.4 2a34 34 0 0019.3 17z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#5d3100" stroke="#000" stroke-width=".1" d="M361.1 673h1.2c.3 0 .3 0 .4-.3s.4-.2.6-.1.6 0 .8-.2c.2-.2.2-.2.4 0s.3.1.5 0c.1 0 .5-.2.6-.5s.4-.4.5-.2.3.2.5.2.2.1.2.4c0 .2 0 .3.5-.1.4.4.5.2.5-.2s0-2-.2-2.1-.3-.8-.4-1.3c0-1 0-1-1-1.5 0-.3-.2-.4-1-.4.1-.1 0-.4-.2-.5s-.2-.2 0-.6c.2 0 .6 0 .7-.3.2-.2.8-.2 1.2 0s.8.2 1.5 0l1.2-.6c.5-.3.6-.4.6-.8 0-1-.3-2-.5-2.5-.3-.5-.3-1-.7-1.9-.4-.8-.4-1-.8-1.5-.2-.2-.3-.3-.3-.6a1.5 1.5 0 00-.5-1c-.8-.7-1-3-1.4-4.7-.2-1 0-3.3-.4-3.7-.7-.5-1-.4-1.5-.6-.4-.5-.5-1.4-.9-2.3-.5.1-.8.6-1.1.8s-.4.2-.4.7c0 .4-.3 1-.7 1.8s-1.3.5-2 1.6c-1.4-1.7-1.4-2.2-1.5-2.7 0-.5-.3-.6-1.1-1.3v-1.5c-.7-.5-1.1-.4-1.4 0-.3.3-.5.8-1 1-.2.4-1 1.2-1.6 2.3.6 9 2.6 18 8.7 25.2z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#ff0" stroke="#fff" stroke-width="1.1" d="M399.7 640.8c0-6.2-.3-12.2-.2-17.4a63.6 63.6 0 00-23.6-4.3c-5.3 0-15.7.8-23.6 4.3.2 5.2-.2 11.2-.2 17.4h47.6z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#cf6200" d="M394.6 297.9c1.2 1.9 3.3 5 3.5 6.8.8-1.7 1.5-2.4 1.6-3.5s1.5-3 1-4.2-.8-2 .4-1.2c1.3.9 1 2.3.8 4.4-.8 5.7-3.1 6.8-3.5 10.7 3.4 8 .9 11 4.6 19 .6.3 2.1-.3 2.6-.2 2-1.4 3.5-1 6.3-.3 2.8.5 4.3 2.5 4.3 4.3s0 2.2.6 3.2 1.7 2.7 1.5 3.9c-.3 1.2.2 1.9.6 2.4s-.2 2-.5 2.7-.2 1.9 1.2 3.6c1.4 1.8 4.6 9.1 4.6 13.4 0 4.4.3 6.4 2 7.2 1.8.8 2.3 1.5 2.1 3.3s.8 11.6 1 13.1.9 1.2 1.6 2c.7.8 1.1 1.7 3.5 1.7s4.6-.3 6 0c2.2 2.9 3.5 6.8 4 9.3s.4 5.8 1.2 5.8 1.6 0 1.4-3-.5-3.4-1.5-5c-1.1-1.5-1.7-2.2-1.1-3.1s.7-2.4.5-3.6-.6-3 1.4-.6l3.1 3.7c.6.7.8 2.4.7 3.8-.1 1.4.1 2 1 1.2.8-.7 1.8.5 1.3 2s.2 2.5 1.6 3 2 .8 2.3 1.8 1.5 1.5 1.5-.6c0-2-.8-6.5-1.4-7.9-.6-1.4-1-4.4-1.2-6.2s-.4-2.2-1.2-2.5-1.6-1-1.7-1.8-.8-1.1-1.3-1.1-1-.4-1.3-1-.6-.6-1.2-.7-1.5.3-1.8-.6-.7-2.3-1.3-3-1-1-1.1-3.7c0-2.6-.1-3-1-3.9s-2.2-3.4-2.8-4.4c-.5-1-1.1-2.1-1.1.1s0 3.4 1.4 4.2c1.4.8 1.7.8 1.1 2s0 2 .3 2.8.7 1.6 0 2.4c-.7.8-1.4.6-1.3-.7a7.3 7.3 0 00-1-3.8c-.5-1-1-1.8-1.7-1.2s-1.3-.1-.8-.6.3-.8 0-1.1-.5-.7.1-1.4.6-1 .2-2.7c-.3-1.6-2.9-9.8-4-11.7s-1-3.2.4-1.4 2.8 3.5 3 5c0 1.6.4 2.5.9 3s.8.4 1-.9 1.2-.8-.4-3.2c-1.7-2.5-4.7-6.6-5.9-14s-1.6-12.1-2.8-14.1c-1.1-2-1.5-2.5-1.6-4.3s0-3.8-.8-5.2c-.8-1.4-1.4-1.6-1.5.5-.1 2 0 6.8.7 7.6s.2 2.9 0 4-1.9 2.4 2 4.7c1.5 1 1.2 2.2 1 3-.2.9-.5.8-1.3-.5s-1.6-2.4-2.4-3-1-1.2-.8-2.9.4-2.8 0-3.3c-.5-.6-.7-.2-1 .8-.2.9-.4 3.5-1 4.2s-.6.2-1-1.3.2-3.9 1-6.5 1.3-5.5.6-9c-.7-3.5-.4-4.6-3-7.5-2.7-2.9-5.8-5.7-7-9.3-1.3-3.6-1.6-6.8-3-8.4a19.4 19.4 0 00-4.6-4.3v-5.4c0-1.3-.6-2-2.1-1.8s-2.5 1.5-3.4 3.2c-1 1.8-1.6 1-3 4s-3 4.5-3 7.8z"/>
+  <path fill="#cf6200" d="M403 332c1 .7 1.9 1 3.3.3s3-2.7 5-.7c1.8 2 2.8 5.3 2.8 7.8 0 2.6 0 7.4 3 10 2.9 2.7 4.4 5.5 4.5 9a61 61 0 001.7 10.3c.4 1.4 1.2 3 2.1 4s1.7 3.6 1.8 6.4c.1 2.8-.4 4.7 0 6.1s0 2.6-1 2-1.3-1.1-2-2.3-1.2-1-.6.8 2.3 3.4 3.8 3.4 2 .2 3 1.2c.9.9 1 1.4 2.6 1.4s1.9 0 3.4.4 1.5.3 2.3 0 1.7.5 2.2 2 2 5.7 2 6.9 0 2.3.8 3.5.6 2.3-.3 1.6-1-.5-1.6-.3-1.2-.3-2.1-.9c-1-.5-.4-.4-1.3-1.8s-1.5-1.9-1.5-.8-.2 2.3-.9 1.7-1-.6-1.6 0-.8 1-1.5-.1-1.5-1.2-2.2-1.4-.7-.2-1-1.3c-.4-1-1.5-1.3-2.4-1.3s-1.4-.4-1.5-1.1c-.1-.7-.7-1.2-1.2-1.5s-.2-1.2-.3-2-.8-.5-1.3-.7-.8-.1-.8-1.3-.5-1.5-.8-2.3c-.4-.9 0-1.7.2-2.6.2-1 .1-1.5-.6-2.3-.7-.8-.1-1.7-2-3.3s-2.8-.2-3.4-4c-.5-4-1.7-11.9-2.8-13.1s-1.7-2.3-2.8-2.6-1.7-.1-1.8-2.3c-.1-2.2-.8-5-2.2-6.4l-2.7-2.5c-.7-.5-1-1.6 0-3.6s.6-4.7.5-6c-.2-1.2-.5-2.9-.3-4.3s.1-3.1-.2-4-.8-1.2-.2-2zm28.1-33a25.4 25.4 0 01-5.4 5.2c-2.2 1.6-5 2.8-3.4 5.4 1.5 2.7 2.8 3 3 5 .4 2 .9 3.8 2.4 4.2 1.6.5 2.2.2 2.2 3.4s0 4.6 1.4 5.8 1.2 2.5 1.8 5.4c.7 3 .7 9.4 2.5 13.7s6.1 12.6 5.6 14.3-1 3 .8 5c1.9 2 3.1 5 3.3 6.7.1 1.7.4 2.3 2.3 1.7a6.8 6.8 0 003.4-2c.6-.8 1.9-.6 3.6.3 1.7 1 4.4 1.8 6 1 1.5-1 2.2-2.4 3.6-2.4 2.2-1.6 3-4.8 3.5-5.8.4-.9.1-.9-.8-1.8s-.5-2.5-.6-4c-.2-1.6-.8-4-2.7-7.4-1.8-3.4-3-7.6-4.2-8.7-1.2-1-1.8-3.7-2-5-.1-1.2-1.5-2.3-2.5-3.2-1-1-1.8-2.4-3-7.8-1-5.4-1.8-9.3-1.8-10.3s-.2-1-1.1-1.4-1.4-1.8-1-2.6c.2-.8-.4-1.6-.7-2.5s0-2.6.6-3.6.5-3.5-.1-5.7-1.3-4-3.8-4.4c-2.4-.3-3-1-3.8-3-1-2-2-5.5-2.2-6.3-.3-.8-.8-1-2.7.6-1.8 1.6-2.5 2-2.5 5 0 1.9.4 2.5 1 3.6.6 1 .8 1.4 1.2 4.3s3.1 7.6-.3 10.3c-3.4 2.6-3 3.3-2.8 5.1.2 1.9-1 3.1-1.5.5-.7-2.7 0-4.2 1.8-5.5 1.9-1.2 3.6-2.8 2.4-4.5-1.3-1.7-1.8-5.7-2-7.6s-.4-2.5-1.5-1z"/>
+  <path fill="#00b800" d="M403.4 338.5c0 1.3.2 2.7.3 3.8.1 1.3.5 4-.5 6-.9 2-.7 3 0 3.6h.1c2-.6 2.2-2.7 1.7-3.7a3.7 3.7 0 01.2-3.5c.6-1.1.6-1.7.1-2.5-.6-.8-.6-.8 0-3 .6-1.9-.8-1.9-1.9-.7zm20 30.2c-.4-1.4-1.7-6.8-1.8-10.3-.1-3.5-1.7-6.3-4.6-9-2.2-2-2.7-5.4-2.9-8-1.7-1-2.4-.6-2.2 1.4.1 2 2.2 3 2 6.1-.4 3-.4 2.3 1 3.7s2 3 1.3 3.5c-.8.6-.8 1.7.2 2.1 1.1.4 1.2 1.6 1 2.7-.1 1 1 1.3 1.5 2 .7.8.7 2.7.1 3.8-.6 1-.7 2.8.4 1.9 1-1 1.6-.1 2.4 1.4.7 1.2 1.4.8 2.2.5a9.8 9.8 0 01-.7-1.8zm15 27.1c-.6 1.4-1.4 1-2.1.3s-1.5-.7-1.2-2 .2-1.5-.7-2.2l-.3-.3h-1c-1.7 0-1.8-.4-2.8-1.4a7.8 7.8 0 00-.6-.5v.9c0 1.3 0 1-1.2 1.4s-1-1.3-1.3-2.3a3.9 3.9 0 00-.2-.7c-1.4-.2-3-1.7-3.4-3.3-.6-1.8 0-2 .7-.8s.8 1.5 1.8 2.2 1.4-.5 1-1.9a6 6 0 010-1.5c-.3-.5-.6-.8-1-1-2-.9-1.4-1-1.3-2.6.2-1.5-.2-1.5-1.4-.7-1.1.8-1.2-.1-1.2-2.5s-1.6-2.3-1.9-.7c-.4 1.7-1 .6-1.6-1.7s-1.7-3-1.8-.7c0 1.9-.6 2.3-1.8 1.3l.5 3.6c.6 3.8 1.5 2.4 3.4 4s1.3 2.5 2 3.3c.7.9.8 1.4.6 2.4-.3.9-.6 1.7-.3 2.5.4.9.9 1.2.9 2.4s.3 1 .8 1.3l1 .1.8-1.2c1.4-1.4 3.5.1 4.2 1.9s1.5 2.2 2.6.8.7-1.2 1.9.1 1.6 1 1.6 1 1.2-.4 2 .3 1.3.6 2.8-1.6c1.5-2.3-.7-1.6-1.4-.2zm4.2-64c.5-3.4.2-6.8 1.6-8 1.4-1.3 3-3.8 3 1.5-.2 5.3-.4 5-1.5 6.2-1 1.3-2 1.6-1 3.6 1.2 2 1.3 2.2 1.2 5.3-.2 3.1-.2 4.4 1 6 1.3 1.5 1.6 1.6 2 3.3.2 1.7 1.3 4 2.7 5.3s3 4.8 3.1 7.3c.2 2.5 2.4 3.1 4.4 4.9 2 1.7-.5 2.9-2 2.1-1.6-.7-1 0-1.9 1.1-1 1.1-1.2 1.3-2-.6s-3.4-3.1-4.7-3.6-2.3-2.5-3.4-4.5a6 6 0 00-4.5-3.1c.5 1.3.7 2.3.6 2.8-.5 1.7-1 3 .8 5 1.9 2 3.1 5 3.3 6.7.1 1.7.4 2.3 2.3 1.7a8.3 8.3 0 003.4-2c.6-.8 1.9-.7 3.6.3 1.7.9 4.3 1.8 5.9.9 1.5-1 2.3-2.3 3.7-2.3 2.2-1.6 3-4.9 3.4-5.8.5-1 .2-1-.7-1.9s-.5-2.5-.7-4c-.1-1.6-.7-3.9-2.6-7.3s-3-7.6-4.2-8.7c-1.2-1.1-1.9-3.7-2-5-.2-1.2-1.6-2.3-2.5-3.3-1-.9-1.9-2.3-3-7.7-.8-4.3-1.5-7.6-1.7-9.3-1.1 1.8-1.9 2.3-2.3 1-.5-1.4-1-2.1-1.7-1.2-.6 1-.8-.8-.8-1.6s-.1-.9-1-.9 0-1.2-.4-3.6c-.3-2.3-.8-2.6-1 .2-.4 2.8-2 4.5-1.3 5.1.6.6.3 1.9-.3 3.7-.6 1.9-.3 3 .1 4.2s-.3 3.6-.6 5.6c-.3 2 1.3 4 1.7.7zM414.2 304c-1.1.1-2 1.1-1.3 4.7.5 2.2-1.2 1.7-1.8.6-.6-1.1-1.1-3.4-2.4-5.4-1.2-2-.6 1.3-.7 3.2-.2 1.9 1 1.9 2.1 3.4 1.1 1.6.2 2.2-1 2.2s-.7 2.5-.4 4.2-.3 2-1.2.6c-1-1.4-.3-3.5-.2-6.2.2-2.6.4-2-1.4-2.6-1.7-.7-1.4-1-.7-2.5.6-1.6 1.2-2.4.4-3.1-.7-.8-.6-1.3.7-1.4 1.2-.2.7-1.1 1.8-1.4 1.1-.3 1.6.1 1.7-1.9.2-1.7.7-2.7 2-2.2.8 2.6 1.7 6.6 2.4 7.8zm15.7 18.4c0 3.2 0 4.5 1.4 5.7s1.2 2.5 1.8 5.4c.7 3 .7 9.4 2.5 13.7l2.1 4.7a8.8 8.8 0 002.3-3c.4-1-1-3.2-2-5-1.1-2 .1-2.6 1.2-5 1.1-2.2-.1-2.4-1.9-3-1.7-.6-1.7-2.2-2.6-4.7s-.8-3.6-.2-5 .2-2.5-1-2.8c-1.3-.3-1-1.2-.5-2.8.5-1.5.8-1.8-1.1-1.4-1.4.4-1.8.7-2.2 1.2l.2 2z"/>
+  <path fill="#5d3100" d="M447.8 328.8c-.2 1.8-.2 2.8-.7 3.4-.4.6-.1 1.5.4 2.5s.7 2.1.3 3.9.3 3 1.2 3.5 1.4 0 1.1 2.2a6.7 6.7 0 002 5.5c1.1.9 1.9 2.4 1.7 3.4-.1.9.8 1.8 1.9 2.3 1.1.5 1 .6 1 1.2s.4.7 1.6 1 2.2 1 3.6 2.8 3.4 2.6 3.1.8 0-3.2-1.8-4c-1.9-1-3.3-5.5-4-8.6-.9-3.2-3.3-7.3-4.7-8.1-.2-2.2.1-3.3-1.3-4.4a4.5 4.5 0 01-1.9-3.6c0-1-.7-2.4-1.4-2.8-.6-.3-.9-1-.9-2s-1-.8-1.2 1z"/>
+  <path fill="#00d860" d="M439.5 412.2a45 45 0 0011.2-3.2c1.9 1.3 5.1 3 6.5 3-2.6.6-4.4.3-5-.2.3.8 1.2 2.1 1.8 2.2-2.6 0-5.5-.7-6.4-1.6-2.3 1-6 1.2-8-.2zm5 3.5c1 .3 6 1 6.6 1-1.6 1.5-.2 2.8 2.5 2.6-1.3.2-2.8.7-1.8.9a28 28 0 0010.2-2c-2.2 2.8-13 5.5-17.5-2.5zm4.5 7c1.3-.6 4.6-.4 6.2.3-1.7.7-5.2.7-6.2-.2z"/>
+  <path d="M454 422.7c2.4-.4 9.1 1.2 11.5-.3-.8 2.2-5 2.5-6.5 2-1.5-.4-2.9-1-3.9-1 .6-.3-.3-.3-1.1-.7z"/>
+  <path fill="#00d860" d="M456.4 426a35 35 0 0010.3-1.3c2 .7 6.2 1.8 7.2 1.7-2 1.2-5.8.5-7 0a12.5 12.5 0 01-10.5-.4z"/>
+  <path fill="#00d860" d="M459.5 427c2.6.6 4.8.2 7.4-.6.8.3 2.6.7 4.4.7 1.2.6 2.7 1.5 4.3 1.7a19 19 0 01-8.6-.7 22 22 0 00-9.1 1.7c0-.8.5-2 1.6-2.7z"/>
+  <path d="M456.4 414c2 .6 9.4.3 13-1.5 1.6-.7 2.5.5.8 1-6 2.2-10.9 3-14.3 1.1-1.4-.7-1.6-1.4.5-.7z"/>
+  <path fill="#00d860" d="M492.2 404c-9 4.2-14.9 5.5-27.4 1.6-1.1-.3-2 0-.7.8 1.3.9 8.2 2.7 9.8 2.9s1 .8 0 1.1-1.2 1 .1.5 8.9-.7 12 .9c1.3.7 1.6.5 1.5 0s.6-.9 1.6-1 1.6-.4.8-.7-.9-.5-.3-.8.7-.6-.2-.8-1.5-.4-.7-.8c.9-.4 2-.7 3-.8.2-.6-.2-2.3.5-2.9z"/>
+  <path d="M477.3 405c5.1.4 14.6-2 19.6-6.8 1.7 1 4.2 2.2 5.5 2.4s2.4 1.4.4 1.4-4.7-.8-6-1.4a33.8 33.8 0 01-19.4 5c-1.4 0-1.7-.6-.1-.5z"/>
+  <path fill="#00d860" d="M462.1 377c1.8 1.3 4.9 3.3 8.9 3a19.5 19.5 0 006.5 3.3c-2.7 1-5.6 2-6.4 2.9-1.2-1.2-2.8-1-3.2-1.6-1.2 1-1 1.5-.2 2s6.6 1.4 8 1 2 .8.7 1.3c-3.1 1-9.2 0-11.3-3.4-2.2-3.3-4-4.6-9.7-1.5-.6-1.7-.6-2-1.7-2s-3.2-1.5-1.6-1.5 6.2-.6 10-3.4z"/>
+  <path fill="#00d860" d="M463.5 384.6c-1 .2-3.7 1.7-4.7 1.8-1 .2-2.7 1.6-1 1.6 1.9 0 4.2-2 5.5-2s1.4-1.7.2-1.4zm5.7 5.9c-.7.1-3.7.8-4.5.8s-1.7.1-1.6.7.3 1-1 .8-2.2.4-2.5.7-.5.7.7.8 1.9.3 3.3-.4 2.7-1.6 4.2-1.7c1.5 0 3-2 1.4-1.7z"/>
+  <path d="M465 394c1.3 1 7.6 3 9.8 2.9s1.9.9.2 1.3a14 14 0 01-11-3.2c-1.4-1.1 0-1.6.9-1z"/>
+  <path fill="#00d860" d="M494.8 397.2c-4.8 1.5-9.7 1-11.7.4s-3.8-.6-2.4.7c1.3 1.3 5.6 2.1 8 1.5-8.6 2-10.9 1.8-13 1.5-2.2-.4-6.2-.3-8-.2-1.2.2-3 0-3.8-.5s-1-1.3 1.3-1c2.3.1 2.6-.3.6-.6s-4.7.5-2 2.2 8.5-.1 12.3 1a21.4 21.4 0 0019.1-4.3c.4-.3 1-1.2-.4-.7zm-23.7-7.1c.2.6.2 1.2 0 1.6s-.1 1 .6.4 1.2-1.3 2-.9 2.7.4 3.6.2c.8 0 1.1-.3-.2-.8-1.2-.5-2.5-.7-3.2-.6s-1.6-.1-2.2-.4-.7 0-.6.5z"/>
+  <path fill="#00d860" d="M483.6 392.3c-1 0-2.8-.6-3.7-1s-2.3-.4-1.3 1 5.3 2 6.8 1.4 1-1.4 2.4-.4c1.5.9 3.1 1.5 4.2 1.5s1.5 0 .3-.7-1.8-.8-2-1.4-.2-1 1-.6 2.3 1 3.2.5 2.5-1.5 4-1.5l.3-.9c-2.1-.1-3.5.5-4 .7s-1.7.4-2.8.2-2.5-.3-2.9-.6-.3-.5.6-.7 1.2-.8 0-.6-4.8.2-6.6-.4c-1.8-.6-2.6-.7-3.3-.4-.8.3-.7 1.1.4 1.2s3.7.3 4.5 1.1.8.9-.2.5-2.8-.2-1 1.1z"/>
+  <path fill="#00d860" d="M498.8 390.2l-.4.9c2.2 0 7.4.5 9.1 1.5 1.7-1.3 1.4-1.7 2.5-1.4s2.7.6 3.3.3 1.1-.3 1.8-.2 2.2-.2 3.1-.7 2.7-1.2 3.7-1.2 2.3-.3.4-.6-4.8.3-5.8.7c-1 .3-4 .6-5.7.6s-4.1.8-6.1.3-4.8-.2-6-.2z"/>
+  <path d="M525.8 389.2c-3.5 2.6-7.7 3.1-12.7 3.5-1.5.1-1 .5.2.6 5.3.6 11.3-1.4 13.3-3.5.6-.6.5-1.6-.8-.6z"/>
+  <path fill="#00d860" d="M502 395.2a54 54 0 018.4 2c1.3-.2 1.7-.5 1.4-1s-.4-1 2-.8h8.6c.9-.3 2.7-1.7 3.5-1.7-2.1 0-10.9.5-12 .4s-1.7 0-2.4.4-1 .6-2 .2-2.4-.8-3.3-.2c-.8.5-2.7 0-4.2.7z"/>
+  <path fill="#00d860" d="M522.4 395.4c.8-.3 2.6-1.7 3.5-1.8 1.5-.1 3.2.5 4 .7s1.7-.1 1.2-.7-.1-1.8 2.3-1.5c2.4.3 3.6.7 6 .5s3.3 1.5 7.7-.3c-.3 1.8.5 1.9 1.3 1.6s1.8-.3 3.2.8 9.9 1.1 11.9.8c2-.4 3 .7 1.5 1.2-1.5.4-1.9 1.1-1.5 1.6.3.5.7 1-1.2.8-1.9-.2-2.2.4-3.1 1s-1.2 1-3.8.5c-2.5-.4-3-.1-4.4.1s-1.8.3-3.2-.2-4.4-1-6.3-.3-3.2 1.1-4.9.7-1.7-.3-.7-1.3 1.3-1 3.3-1.2c2-.2 3.5-.8 2.1-1.6s-1.8-.7-3.7.2-2.8 1.5-5 .4c-2-1.2-3-1-4.5-.6s-3.7-.5-5.7-1.4zm7 3.5c-2.7.4-3.4-1.3-6.2-1-.9.2-2.5 1.3-.3 1.1 2.1-.1 4.5 1 6.6.9s1.2-1.1 0-1zm-3 2c1.3-.5 4.2.5 5.5.3s2.4.5 1 1-4.3-.8-5.7-.4-2.8-.2-.9-.9zm-28 7.6c2 0 9-.3 11.7-6 .2-.5.4-.7 1.2-.1s4.1 2.5 10.1 3c1.7.1 3.5 1 .1.8s-8.7-1.2-10.5-2.3c-3 4.8-8.5 5.3-12.5 5.2-2.5 0-1.9-.7 0-.6z"/>
+  <path fill="#00d860" d="M513.5 400.5c-1 1.3-4.2 3.5-5.6 3.7-1.5 0-5.9-.3-7-.7s-2.4-.3-.9.8 5.5 1.8 7 1.5c1.7-.4 3.5-.9 4.7-.1s3.5 2.2 4.8 1.9c1.4-.3 4.1-.3 5 .1.9.4 2.4 1.7.1 1s-4.1-.2-5.2-.6c1.2 1.6 3.8 4.2 6 4.2.6 0 1 1-.1 1.5 1 .5 3.6 1 5-.3-.4.5-.2.8.4 1s1.3.7.2.9-3.4.4-4.1 0c2.2 1.5 8.1 3.9 14.1 2.7 1.2-.2 1.8-.7 0-.6-4 0-4.2 0-4.9-.4-.7-.4-.5-.8.6-1.1 1-.3 3.9-.8 5-.8s2.4-.4 0-.4-5.3 0-6.5-.4-2-1-.8-1.8 2.5-.6 3-1.3c-3.8 0-8.5-2.1-5.9-4 .6-.4.4-.5-.5-.6s-4-1-5.2-1.6-.4-1.3.6-1.5c-2.3.4-6.8-.8-9.8-3zm34.1 0c-2 1.5-6 2.2-7.7 2.2s-2 .6-.6.7 2.8.4 3.4.2 1-.2 1.8.2c.9.4 2.7.6 4.4.1s4.3-.8 5.4-.7 2.3.1.1-.5-5.8-.2-6.7 0-3.3 0-2-.3 2.4-1 3-1.6l-1-.3zm-1 4.5a13.5 13.5 0 01-7.1 2.7c2.4.9 4.4 3.4 6 3.3-.8.5-1.7 1.2-2.7 1.3 1.6.4 4.1 0 6.2-1.2 3.5 1 8 .3 9.6-1-2.3 0-5-.8-6.3-1.9 1.1 0 2.2-.6 2.7-1.3-2.6.5-7-.8-8.4-2z"/>
+  <path fill="#00d860" d="M542.8 412.3c1-.1 2-.8 2.7-1.3a22 22 0 01-12.8-2.9c-2.5-2.2-2.5-.5-.8 1s4.9 4 11 3.2zm6.2 5.3c-1 .6-6 1-7.7.6s-2.3-.2-2 .5.7 1.2-.7 1-3.7.2-4.7.5-2.2 1.2-.1.9 4-.8 5.6-.4 7.1.5 8.2 0 .4-.4-.1-.4-.8-.3 0-.7 1.3-1.3 1.5-2zm-48.5-6.7c-2.1.9-9.1 2.8-11 2.9-2.3 1-4.2 1.6-5.3 1.6.8.7 4 1.4 5.2 1-.7.8-2.3 1.6-2.9 2 1.9-.3 4 .2 5 .3a14 14 0 01-7.6 1.6c.6.8 1.4 1.6 2.5 1.6a13 13 0 01-6.3.2c.6 1.1 1.1 1.8 2 2-1.9.2-4.2.5-6.2-.6 1.5 2 4.9 2.6 9.9 2 5-.5 9.2-2.7 10.4-3.7-2.1.3-5 .4-6.3.1a37 37 0 009.9-4.3 5.6 5.6 0 01-3.2-1 31 31 0 009.1-1 6.7 6.7 0 01-4-2.6 39.2 39.2 0 0019.5.6c1-.3 1-1.5-.8-1.3-3.2.2-9.5-.7-11.2-1.5a11.6 11.6 0 004.7 2c-3 .9-7.2 1.5-13.4-2z"/>
+  <path fill="#00d860" d="M486.5 418.4c.6-.4 2.2-1.2 2.9-2-1.3.4-4.4-.3-5.2-1 1.1 0 3-.5 5.3-1.6-4.2-.1-7-.1-8.6-1s-4.3-.5-5.4-.3-.7 2 3.8 1.5a15.4 15.4 0 01-8.8 1.3c.5 1.5.8 3 .4 3.9 2.4 1.4 8.8 3.1 12 2.9-2.8-1-4.3-2.2-2-2.5s3.6-.7 5.6-1.2z"/>
+  <path d="M479.3 426c5.5-.5 13-.6 19-5.7 1.5-1.2 2.5-.8 1 .5a33 33 0 01-18.4 6.8c-3 0-4.4-1.4-1.6-1.7z"/>
+  <path fill="#00d860" d="M521 416.7c-1.3.5-5.2 1.2-6.4 1-1.2-.2-2.9-.2-3.8.3s-1 1 .3 1l3.7.3a6.2 6.2 0 00-2 1.7c2-.4 5.4.4 6.4 1a3 3 0 01-2.3-.5c3.1 3.4 12.5 3.4 14 2.8-.7.5-1.4 1-2 1.2 2.6.5 5.6.4 8.6-1.3-1 .1-4-.1-4.8-.2a5.6 5.6 0 012.3-1.3c-1.2-.3-4.8-.2-5.7.3a4 4 0 011.7-1.9c-4.6 0-10.2 0-12.2-1.1 3.2.3 6.8-1.6 8.3-1.6-2.5 0-5.3-.6-6-1.7zm-11.6 2.5c-2.3.5-5.7 1.5-6.7 2s-1.9.8.1.8a125.5 125.5 0 01.7-.2c-.8 0-1.7 0-.2-.5s3.5-1.5 6-2zm-4.6 5.5c.8 0 4.3 0 5.7-1.2 1.5 1 4.3 2.6 6 2.6 1.9 0 1.7.5.1.7a12 12 0 01-6.2-2c-2.1.8-3.8.2-5.7-.1zm-27 15.7c3.6 1.4 8.3 2.4 11.8 1.3 2 1.7 6.1 1.8 8.3 1.4 2.2-.5 4.2-.7 6.7 0 2.4.9 7.4 1 8.8 2.1-1.3 0-4 0-4.7.2-.6.2-.3.6 1 1.2-4-.2-10.9 1.5-13 3.3a7.3 7.3 0 016.8-4.3c-2-.7-8.8-.8-11 .6a6.7 6.7 0 01-1.4-2.4c-3.6 2-10.6-.9-13.4-3.4zm-9.3-6.6a16 16 0 008.5-3.2c.8.7 4 1.4 7.4.3-.7.5-.8 1.5-.5 2a26.2 26.2 0 00-8 2c-1.5.7-5.8 1.3-7.2.5-1.4-.7-1.4-1.4-.2-1.6z"/>
+  <path fill="#00d860" d="M483.9 433a26.2 26.2 0 00-8 2l.5 2a51 51 0 0117.5-1.8c-1.8.1-5.1 2-7 2.1 4.6-.3 9 .6 10.2 1 1.1.2 1.4 1 .5 2s-1.3.8.6 1c1.8 0 5.7-.3 7.4-2-.7-.7-2.5-.4-3-1a8 8 0 003.1-1.9 29 29 0 01-5.3-.3c-1-.3-1.8-.6-.5-1.3a7.6 7.6 0 002.2-1.7c-2.2.6-5.8 1.2-8.8-1.2 1.1.3 3.8.1 4.7-.3a6 6 0 00-2.6-.9c2.4-1.2 7-2.2 13 .1 2.8-.2 6 0 8.2.5 1-1 2.9-3.2 4-3.7-7 .5-19.3-.7-19-4.4-2.3 3-7.4 4.6-9.6 4.1-.2 1 .7 2.4 1.5 3-2.3.5-6.3.9-8.2.5 1.1 1 3 2 4.2 1.9-2.4 0-3.7.5-5.6.3z"/>
+  <path fill="#00d860" d="M498.1 441.2c2 0 5.8-.2 7.5-1.9-.7-.7-2.5-.4-3-1a8 8 0 003.1-1.9c5-.4 9.3-.2 11.4-.8 2.1-.6 7.5-.3 8.5-.6-4.7.8-5.6 1.2-5.8 2s1.5 1.3 2.6 1.3c-2 0-4.7 2.1-5 3-2.8-1.6-4 .3-4.4 1-1.1-.5-5-.4-7 1.3-2.5-.8-4.2-1.2-6.8-.8 1.6-.3 1.3-1.4-1-1.6zm22.4-13.7c1.6 0 5 .2 6.3 0a7.5 7.5 0 00-2.1 1.5c4-.5 9.4-.8 11-.5-2-.3-4 1-5 1.6s-.4 1 1 1.2 3.1 1.2.7.9-7.3-.4-8.5-.2-1.8-.4 0-.7 2.8-.8 3.6-1.2c-1.4.3-4.1.3-5 0s-1.3-.6-.3-.9.3-.5-.7-.4-3.5 1.1-5 2.5c1.6-1.6 3-3 4-3.7z"/>
+  <path d="M502.8 430.2a10 10 0 007.8 3.5c.7 0 2.2 1 .3 1.1-4.9.2-7.3-1-9.5-4.1-.4-.7.4-1.6 1.4-.5zm29.2-40.8c2.6 1.2 7.7 2.3 11.8 2.1.7 0 2 .7.3.9a21 21 0 01-12.4-2.3c-1-.6-.7-1.2.3-.7z"/>
+  <path fill="#00d860" d="M534.6 389.4c4-.1 7 0 8.1 1 2.3-.6 6.4-1 7.3-.8s2-.3-.2-.8-7.1-.7-8.7-.4c-1.6.3-6.5.5-8 .3.6 0 1 .2 1.5.7zm15.4 1.5c1.8-1 7.2 0 8.8-.7-1.1 1.4 3.8 1.5 8 .4-1.6 1-5.1 1.2-6.6 1.9s-2.4.1-3.5-.4-4.2-1.6-6.7-1.2z"/>
+  <path fill="#00d860" d="M566.8 390.6c-4.2 1-9.1 1-8-.4-1.6.7-7-.3-8.8.7 2-1.1 3.4-.2 4.8-2.6.9.2 2.9.3 3.6-.6 1.2.3 3.4.8 4 1.4.6.7 1.6-.2.8-1.1 2-.7.7.8 5.2-.3 1-.3 3.2-.7 4-.7a27.6 27.6 0 01-5.6 3.6z"/>
+  <path fill="#ff0" stroke="#000" stroke-width=".1" d="M373.4 664.2l-.2-22.2c0-1-.5-.8-.5 0v22l.7.2zm7.2-23.4l.8 23.4-.1.2h-.5l-.5-23.6h.3zm6.8 19.8l-.4-19c0-.6-.5-.5-.5.1l.4 18.9h.5z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#fff" stroke="#000" stroke-width=".1" d="M376.6 644.7l-7-.1c-.3 1.4 1.4 1.3 2 1 .8.5 1.4.5 1.8 0 .6.5 1.4.4 1.7 0 .8.7 1.7 0 1.5-1zm.5 3.4h-7c-1.3 1.2.3 1.8 1.7 1 .2.4 1 .6 1.6.3.6.4 1.4.1 1.8-.3.7.3 1.6.4 2-1zm-.2 4.5h-6.8c-.1 1.1 1.3 1 1.8.7.5.8 1.7.6 2.1.1.7.5 1.3.4 1.6 0 .7.6 1.4-.2 1.3-.8zm.4 4.4l-7.7-.1c-.4 1.3.8 1.5 1.3 1.2.2.7 1.2.5 1.5 0 .4.3.9.1 1.1-.2.1.7 1 .8 1.7.2 1.4 1 2.7-.2 2-1.1zm6.7-1.8h-6.3c.3 1.2.9 1.5 1.9.8.8.8 2 .5 2.3.1 1.4 1.1 2.1-.2 2.1-1zm-.6-4.4l-6.2-.2c.1 1.6 1.6 1.5 2.4.9.5.7 1.5.5 2 0 .7.8 2 .3 1.8-.7zm.8-4.9h-6.6c0 1.1 1.5 1.7 2.6.7.3 1.3 1.5.9 2 .4.8 1 2.5-.2 2-1zm-.4-3.3l-6 .1c0 1 1.4 1.4 1.9.6.3.5 1.3.4 1.6 0 .4.7 1 .2 1.2 0 .7.5 1.4.2 1.3-.7zm6.9 2.2l-7.2-.1c0 .7.7 1 1.2.7 0 .8 1 1 1.7.4.4.7 1.7.8 2.2 0 1 .9 2.2.2 2-1zm-.1 5.9h-7c0 1 1.1 1.3 1.8.8.1.8 1 .9 1.5.4.7.7 1.7.8 2.3 0 .8.3 1.5-.4 1.4-1.2zm-.4 5.3h-5.6c0 1 1.2 1 1.7.5.6.7 1.4.7 1.9.2.7.6 1.9.4 2-.7z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path stroke="#000" stroke-width=".1" d="M381.3 664.4c-3 0-6.1 0-8.2-.2s-2.7-.6-4.2-1.5l-5.6-3.4c-.5-.2-1 .1-.3.5l5.6 3.7c1.5 1 2.5 1.9 3.4 3 1.2 1.3 2 1.3 2.6 1.1s1.4-.5 2.3-.3c.8.2 2 .3 2.6.2.5.5 1.8.4 2.5.2s1.2-.2 1.7-.1h1.7c.5 0 1.8-.3 2.7-.2 1 .2 1.9 0 2.5 0a5 5 0 012-.1c.6-.4.8-.9 1-1.4.6-.1.8-.2.9-.5l.6-1.6h.2v-.6l-.4-.6.2-1 .5-.2-.2-1-8.8.2a2 2 0 00-.6 1.1l-2.6.4c-.3.1-.6.1-.9.5l-1.2 1.8z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path stroke="#000" stroke-width=".1" d="M391.8 660.5l1.3-4.9c.2-.5-.3-.6-.5 0l-1.3 4.9h.5z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#fff" stroke="#000" stroke-width=".1" d="M396.9 655c-1.1.5-1.7.8-2.2.6-.5-.2-1.1-.3-1.5-.1a.5.5 0 010 .1 493.3 493.3 0 01-1.1 3.8c.8.3 2.2.3 2.5 0 .4-.4 1.3-.3 1.8-.3.3-.4.4-.9.3-1.1s0-.7 0-1 .4-1.4.2-2z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="none" stroke="#000" stroke-width=".1" d="M371.7 645.6a53.2 53.2 0 01-8 14m2 1.2a54.5 54.5 0 0011.4-12.6m-7 4.3c-.3 2.7-1.1 7.5-1.5 10m2.6-4c-1 1-2.3 2.6-3.4 3.5m12.7-8.9c-.8.8-1.7 1.8-2.6 2m3.1-1.8a7 7 0 002.7 1.9m-3.2-6.2a8.5 8.5 0 01-3 1.7m3.4-1.6c.6.6 1.3 1.3 2.2 1.7m-5.4-4.9a7 7 0 002.7-1.5m.3 0c.7.7 2 1.4 2.7 1.6m-5.5-3.3a4 4 0 002.4-1.4m.3-.2c.7.6 2 1.4 2.7 1.5m3.2.8c-.4.5-1.5 1.3-2.2 1.3m2.7-1.3c.3.5 1.1 1.3 1.6 1.3m-4.8 6a7.2 7.2 0 002.8-1.9m.5.1a5.6 5.6 0 001.9 1.8m-4.1 5.2c.4 0 1.5-.6 1.8-1.3m.6-.3a7 7 0 002 1.7m-18.7.9c1.3-.4 3.8-2 5.1-3.5m-2.4 1.9c1 .7 2.3 1.5 3.2 1.7m-6.2-4.5a8 8 0 002.4-1.5m.5-.1c.3.4 2.4 1.7 3.3 1.7m-3.8-5.9a9.8 9.8 0 01-2.5 1.4m3-1.4c.7.5 2.2 1.4 3.1 1.4m-3.6-5.4c-.6.6-1.6 1.6-2.4 1.9m2.9-1.8c.4.7 1.6 1.7 2.4 1.8m8 2.6c1.9 3.3 5.3 7.4 8.7 9.6m-14.1-13.3c2.8 4 8.2 12.7 13.4 15.9m1-3.4a18.4 18.4 0 01-4.9 4.6m4.5-3.5c-1.7-2.8-2.6-6.3-4-11m-14 12.4l2 6m-2.4-6.1l1.9 6m-2.4-6.3l1.8 6.2m-2-6.1l1.4 6.1m0-.2h1.7m-.2-.6h-1.6m1.4-.5h-1.6m1.4-.5H374m1.3-.6H374m-.1-.5h1.3m-1.4-.4h1.3m-1.4-.5h1.2m-1.3-.4h1.1m-1.2-.5h1m-1.1-.4h1m-1.1-.3h1m-1-.4h.9m-2.6 0l-1.2 5m1.5-5l-1 5.2m1.3-5.4l-.8 5.5m1.2-5.6l-.6 5.8m.7-.4h-2m2-.5h-2.3m2.3-.6h-2.1m2-.5h-1.9m2-.5h-1.9m1.9-.6H371m1.7-.5H371m1.6-.5h-1.5m1.5-.5h-1.3m1.3-.5h-1.2m1.2-.3h-1.1m1 5.5v-5.9m6.5-2l-4 8.1m4.3-8.2l-3.4 8.3m3.6-8.4l-2.7 8.4m3-8.2l-2.2 8.2m.1-.3h-2.5m2.7-.8h-2.4m2.5-.6h-2m2.4-.6h-2m2.1-.6h-1.9m2.1-.6h-1.8m2-.7h-1.6m1.7-.5h-1.5m1.7-.6h-1.4m1.5-.4H378m1.4-.4H378m1.3-.4h-1m1-.3h-.9m1-.4h-.8m1-.4h-.8m.8-.3h-.7m3.4-.1l1.7 5.6m-1.4-5.5l2.1 5.4m-1.8-5.4l2.5 5.3m.6-.5l-2.8-4.9m2.8 5h-2m1.8-.8h-2m1.7-.6h-1.9m1.5-.7h-1.7m1.3-.6h-1.5m1.1-.7H383m1-.7h-1.2m.8-.6h-1m3.2.1L384 662m2.3-5.4l-1.6 5.3m.7-.1l1.2-5m.3.2l-1 4.7m-1.7-.3h1.7m-1.5-.6h1.7m-1.5-.7h1.6m-1.3-.6h1.5m-1.3-.7h1.4m-1.2-.6h1.3m-1-.7h1.2m-1-.6h1m.9.1l.8 3.6m-.5-3.8l1.1 3.7m-.7-3.7l1.2 3.7m-.7-3.5l1.3 3.5m-.1-.3h-1.7m1.5-.5h-1.6m1.4-.5h-1.5m1.3-.6H388m1.2-.5h-1.4m1.2-.5h-1.3m1.1-.5h-1.2" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#00b800" d="M479.6 380.3c3.6-2.3 9.8-1.9 13 .5 3.7-2.1 10.5-1.5 13.6 1.3 4.8-3.3 8.9-3.8 13.5-.6a12 12 0 0113.6.2c4.2-2 8.8-3.6 12.9.7a10.7 10.7 0 00-13 .8c-4-4-11.1-2.5-13.5.3a8.8 8.8 0 00-13.3.2c-4.2-3.5-10.4-3.6-13.8-1a15 15 0 00-13-2.4z"/>
+  <path fill="#cf6200" d="M543.3 375.3c-18.5 3.2-59 1-67.8-1.3-3-.7-2.2-1.8.4-1.2 10.2 2.3 32 2.3 44 1.7 2.3-3 6-8.3 7.1-9.8s1.6-1.6 4-2l10-1.7v1.4c-.2.3-.5.7-.8.8 0 2.4.5 8.2 1 10.3l1.3-.3c.8-.2 1.6 1.9.8 2.1z"/>
+  <path fill="#cf6200" d="M573.7 376.2h2.5c.7 0 1.8-.6 2.2-1.7l2.5-7.3-1.9-2.8 1-6.1 2.4-1c.1-.4-.1-1.9-.6-2.3l-36.2 1.2c-1.1 0-1.6 0-2 1.4a27 27 0 009.2 26.6c.6.5 1.4 0 .4-.8a29.8 29.8 0 01-5-6.5l6-.1c.4 2 1.9 6 2.2 6.8s1 .8.6-.3c-.8-2.4-1.2-5.2-1.5-6.6h6l.5 6c0 .8.7.8.7-.1v-6l5.5-.2-.5 6c-.1 1 .4 1.4.6 0l.8-6 3.8-.2c-.1 1.3-1.3 5-1.6 6s.2 1 .6.1a35 35 0 001.8-6z"/>
+  <path d="M547.2 375.3c-.6-1.3-2.6-5.9-2.8-9.2l8-.1c.3 2.5 1 7.9 1.5 9.1l-6.7.2zm6.6-9.4c.2 2 1.2 8.5 1.4 9.2l6.4-.1-.4-9.3-7.4.2zm-9-8.1a38 38 0 00-.3 6.8l7.7-.2-.6-6.8-6.8.2zm8.3-.2c0 1.6.4 5.6.5 6.8l7.6-.2-.4-6.9-7.7.3zm9.2-.3l.3 6.9c1.8 0 5.4 0 6.5-.2.1-1.5.3-5.9.2-7l-7 .3zm8.3-.3l-.2 7 7.1-.3c.3-1.5 1-5.4 1-7l-7.9.3zm7.2 8.3l-7.5.2-.7 9.2 7.2-.2a61.6 61.6 0 002.6-7c-.5-1-1-1.4-1.6-2.2zm-15.2.4l.2 9.2 5.5-.2.7-9.2-6.4.2zm-31-1.8l-3 .5a224.8 224.8 0 01-7.2 10.1l10.6-.3-.3-10.3zm1.4-.3l.4 10.5 6.4-.5-1-11-5.8 1z"/>
+  <path stroke="#000" stroke-width=".1" d="M377.3 657h-7.7v-.2l7.7.1zm6-6.2c.1 0 .1 0 0 0l-6-.1c-.1 0-.1 0 0 0h6zm-6.4 1.7c.1 0 .1.1 0 .1h-6.8c-.1 0 0-.1 0-.1h6.8zm.2-4.4c.1 0 .1.1 0 .1H370c-.1 0-.1-.1 0-.1h7.1zm-.5-3.5c.1 0 .1.1 0 .1h-6.9c-.1 0 0-.2 0-.2l7 .1z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#fff" stroke="#000" stroke-width=".1" d="M383.8 642.6l-6 .1 6-.1z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path stroke="#000" stroke-width=".1" d="M384.1 646c.1 0 .1 0 0 0h-6.5c-.1 0-.1 0 0 0h6.5zm6.5 4.6v.1h-7c-.2 0-.2 0 0 0h7zm0-5.9c.2 0 .2.1 0 .1h-7.1c-.1 0-.1-.1 0-.1h7.2zm-6.6 10.4c.1 0 .1.1 0 .1h-6.4v-.1h6.4zm6.2.9c.1 0 .1 0 0 0h-5.6 5.6z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#ef072d" stroke="#000" stroke-width=".1" d="M395.3 657a3 3 0 000-1.4 1.1 1.1 0 01-.6 0 3 3 0 00-.3-.2c0 .4-.2 1.5-.4 1.9-.3 0-1 0-1.3-.2l-.3 1a3.5 3.5 0 001.5 0c0 .6-.1 1.1-.4 1.5.5 0 1 0 1.1-.3.3-.4.3-1 .4-1.3l.5-.1.5-.2.7-.1v-.6l.2-.4-1.6.5z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path stroke="#000" stroke-width=".1" d="M370.5 623.2c-.8 0-2.6 0-3 .2-.3.2-.4.3.2.4s1.7.5 2.3.8c.6.4 1 1 1 2a6 6 0 003 6.3c.1.1.2.2.1.6l-.3 1.1c0 .2-.1.4.2.3a20 20 0 01-1 1.6c-1.6-.2-3 0-3 1.8 0 .2 0 .4.2 0 .3-.4.6-.8 1.3-1-.4.7-.6 1.3-.5 1.7 0 .3.2.5.4 0 .1-.4.5-.8.8-1.1.2-.1.2-.1.1.2s.1.9.3 1.1c.2.2.3.1.2-.2 0-.4 0-1.1.5-1.3.6-.4 1.2-.2 1.4.2.3.5.5 0 .2-.4s-.6-.9-1-.9l1-1.7c0-.2.2-.3.4-.2 0 .1.2.1.3-.2l.7-1.4.6-.2 1 1.5v.6c0 .4-.4 1.3-.5 1.6-1.2 0-1.8 0-2.2.7-.2.3.1.4.4.3a2 2 0 011-.3c.2 0 .3.2 0 .3-.7.3-1.2.8-1.2 1.5 0 .2.2.3.3 0 .3-.5.8-.9 1.3-1 0 .5.1 1.3.5 1.5.3.2.3 0 .2-.3-.2-.5 0-1 .3-1.3.5-.6 1.7.2 2 .4.2.2.4.3.2-.3-.1-.7-1.1-1-2-1.2l1.2-4.2c.5.3 1-.5 1.8-.2 1.4.6 3.5 1.9 3.8 2.2.4.3.5.2.7 0 .2-.1.5 0 .8 0 .2.1.4.2.1-.4a7.2 7.2 0 00-2.4-2.6c.8 0 1.8 0 1.8-.2s-1.2-.6-1.7-.6a3.3 3.3 0 001.6-.8c.2-.2 0-.3-.8-.3-2.1 0-3.2 0-4.3-.6-1.8-1-2.9-2.2-3.8-2.6-.4-.3-.7-.9-1-1.4-.5-1.5-.5-2.3-1.8-2.8s-3 .1-3.7.8z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#fff" stroke="#000" stroke-width=".1" d="M370.6 623.6h-1.7s-.2 0 0 0l1.5.4c.3 0 .2.3 0 .2s-.4 0-.2.2c1 .7 1.2 1 1 3.7l.5.4c.2 0 .1.2 0 .1s-.5 0-.2.2.5.2.2.2-.6.2 0 .1c.5 0 .8.2 0 .3-.6 0-.4.2 0 .2.7 0 .5.2.3.2s-.3.2.2.2h.7c.1 0 .2 0 0 .1-.2 0-.2.2.1.2s.5 0 .2.1c-.1 0-.3.1 0 .2.7 0 .8.2.6.3s-.3.1 0 .1.6.1.3.2c-.2 0-.3.2 0 .2s.5.2.3.3-.3.2 0 .2.4.1.2.2c-.2.2-.3.2-.5 0 0-.2-.2-.2-.2 0l-.2-.3c-.1-.3-.3-.3-.3 0s-.2.1-.4 0a3.3 3.3 0 004 .8c.1 0 .2 0 .3.3l.6 1.1c.1.2.3 0 .3-.2l.6-1.7c0-.3.4-.5.3.3.3-.2 1.5-.3 2.5 0a12.2 12.2 0 012.7 1.5.6.6 0 00.5.1c.3 0 .4 0-.1-.5s-.3-.7 0-.5c.3.2.5.1.2-.2l-1-.9c-.1 0-.1-.2-.6-.2h-1.5c-.2 0-.4 0 .2.2.6.2 1.7 1 2 1.2s.4.6-.1.2-2.4-1.5-3.6-2c-2.7.3-4.9.6-6.5-1.1-.8-.9-.8-2.8.5-3.6-.2-.2-.2-.4-.1-.4v-.6c-.2-.1-.4-.3-.4-.5-.3 0-.5-.5-1-.3s-.6 0-.8-.1c-.1-.2-.2-.2-.5-.2s-.5 0-.5-.2.2-.2.6 0c.7.3 1.3.5 1.8-.2.4-.6-.2-1.1-1-1.3-.9-.2-1.5.5-1.9.8z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#fff" stroke="#000" stroke-width=".1" d="M375 623.3a2.8 2.8 0 00-1-.6c-.3 0-.3.2-.2.3v.6c.2.1.3.3 0 .3-.2.2 0 .9.3.7h.2s0 .3.2.3 0 .2 0 .3h.2c.2 0 .1.4-.1.5.3 0 .4 0 .4.2.1.2.4.3.4.6s0 .3-.4.2-.4 0-.5.2-.2.3 0 .3.4.1.1.2-.6 0-.7.3c0 .3 0 .4.2.3l.7-.4.5.1c.2.1 0 .5-.2.3s-.4 0-.5.1l-.5.2c-.2 0-.4 0-.3.5 0 1.4 1.1 2.4 3.1 2.4h3.3c-.6-.4-1-.6-1.3-.6h-.3c.1-.1 0-.3-.1-.3s-.3-.2-.5 0l-1 .5c-.2 0-.5 0-.2-.2l.9-.4c.2 0 .1-.2.1-.2s0-.3.3-.2c.6.4 1.5.9 1.8.9s.4-.2.2-.3-.3-.3-.3-.4.1-.2.5 0c.4.3 1 .5 1.3.6s.5.1 0-.2l-2.3-1.7c-.3-.3-.3 0-.2.2s-.3.3-.5.1-.3-.3 0-.4.2-.2-.1-.5c-.4-.3-.5-.3-.4 0 .1.3.1.5-.2.4s-.6-.3-.3-.4c.2-.2.5-.3 0-.6s-.2 0-.3.2-.4.2-.5 0-.3-.3-.2-.4.1-.2.3 0 .4 0 .1-.3-.4-.2-.3 0-.2.4-.6 0c-.2-.1-.2-.3 0-.4.2 0 .2-.1 0-.3-.7-1.2-.4-2.1-1.2-3z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path fill="#cf6200" d="M491.6 188.4c-.3.5-.4.4-1 .8-.6.5-.8 1.8.4 1.7.8-.2 1.3-.6 1.6-1a10 10 0 00-1-1.5zm-3.6-2.9c-.9.9-1 1.3-.6 1.3.6 0 .3 0 0 .7-.5.6.7.9 1.2.4s.5-.6.8 0c.1.5 1 0 1.4-.4-.8-.8-1.9-1.5-2.8-2zm-1.6 5c-1.2.6-.8 3.7 1 2.8.6-.3 1-.1 1 .3-.1.3-.1.5 0 .8a5.4 5.4 0 002-1.4c1-1.3 0-1.2-1.6-1.2s-2-.3-.5-1.2c1.4-.9.4-1.4-1.5-1.2.3.4.2.8-.4 1.1zm6.7 6.9c-.9-1-.3-1.4.6-1.9a1.2 1.2 0 00.5-.4l-.8-3c-.4.2-1 1.3-1.2 1.8-.2.8-.4 1.2-1.2 1-.7-.2-1.4.6-1.5 1.4h.5c.3.1.4.6.3 1 2.1 0 2.5 1.4 2.9 2.4.4 1.1.8 1 1.1.3.3-.6-.4-1.7-1.2-2.6z"/>
+  <path fill="#ff0" d="M493.7 209.6c-.4.9-.4.8-1.7.8-1.2.1-2.8.3-3.5 1-.3.4-2.5.6-2.5 1.5 0 1 0 1.7 1 1.8.9 0 1 .2.7.9-.4.7-.6 1.8 1 2 1.6 0 2.8-.4 3.2.5.4 1 0 2.4.3 3s1.4.9 3.1 1.4c1.2.3 5.5.6 6.8.4 1.3-.2.8-1-.5-1-1.3-.2-2.3-.4-2.6-1.3-.3-1-.6-1.5.2-2.3.7-.9 1.4-1.5 1-2.9-.4-1.3-1.1-2.9-2.7-3.3-1.5-.5-1-2.6-2.6-2.8-.6 0-1 0-1.2.3z"/>
+  <path fill="#cf6200" d="M486.1 222.2c1.4.2 2.5.6 1.4.9-1 .3-1.7.9-.3 1 1.4.1 2.6.7 1.5 1s-1.2 1 .1 1 1.9.6 1 1.2c-1 .5-1.6.8-2.2-.1-.6-1-1-1.2-1.1-.5-.2.7-.6.2-1-.8s-1.4-1.4-1.1-.6-.8 1-1.8.6c1 1 2 2 3.3 2.7 1.4-.5 3 0 3.5 0 .6 0 2.4.5 3.4 1s1.7-.4 1.3-1.5c-.5-1-.5-.7-1 0-.6.5-.7-.3-.6-1.5 0-1-.7-.8-.9-.2s-.8-.4-.5-1 0-.9-.5-.7-.6 0-.7-1.2-.6-1-.7-.5-.7-.2-1.4-1.1c-.6-.8-1.3-.3-2.5.1l.8.2z"/>
+  <path fill="#ff0" d="M500.3 229.5c-6.4 2.5-11 1.4-14.4-.9 1.4-.5 3 0 3.6 0 .5 0 2.4.5 3.3 1s1.7-.4 1.3-1.5c.8 1.1 1.5 1.9 2.5 1.8 1 0 2.8-.2 3.7-.4zM486.7 200c-.4-1.3-.8-1.6-1.5-1.5-.7 0-1-.1-1.8-.4-.7-.3-1.7 0-1.9 1.5s-1 2-2.2 3c-1.1.8-1.8 1.5-1.8 2.9s-.3 1.7-1.1 2.8l-1.3 1.5 1.4.8c.9.4.6 1-.2.8s-1.7.2-.3.5 2 1 .7 1c-1.4-.2-3 1-.3.7 2.6-.3 3.6 1 .6 1-3.1 0-2 1-.3 1 2.9 0 2 .9 1.2.9-.7 0-1 1 .9.8l.7-1.1c.3-1 .6-3.7 1.7-4.4 1-.8 1.6-2 1.6-2.7s1.7-4.2 2.7-5 1.6-2.7 1.2-4z"/>
+  <path fill="#cf6200" d="M484.4 200.2c-1-.8-2.1-.3-2.1 1s-.8 1.8-1.7 2.3a4 4 0 00-2 2.7c0 1.1.2 1.8-.5 2.7-.8.8-.9 1.5-.4 2 .6.5.6.5.8 1.2.3.7 1.6 0 1.6-.8s.3-.8 1.1-1.3c.9-.4 2.3-2.7 2-3.3-.3-.6-1.1-1.2 0-2 1-.9 2-1 2-1.8 0-.9.3-1.2.6-1.5.3-.3-.7-.8-1.4-1.2z"/>
+  <path d="M484.4 199c-.7-.2-1.1 1.3-.1 1.5s1.1-1 .1-1.4zm-.1 2c-.8.1-1.7 1.1-.4 1s1.8-1.1.3-1zm-1.6 1.9c-.8.4-.6 1.5.6.7s1.4-1.7-.6-.7zm-1.2 1.6c-.8.4-.7 1.5.5.7 1.2-.7 1.5-1.7-.5-.7z"/>
+  <path d="M479.9 205.3c-.8.4-.3 1.4.8.7s1.1-1.7-.8-.7zm1 1c-.9.4-.4 1.4.8.7s1.1-1.7-.9-.7z"/>
+  <path d="M479.4 206.7c-.7.4-.2 1.4 1 .7s1-1.7-1-.7zm1 1.1c-.9.4-.4 1.4.8.7 1.2-.8 1.1-1.7-.9-.7z"/>
+  <path d="M479 208.5c-.8.4-.3 1.4.9.7s1-1.7-.9-.7z"/>
+  <path d="M479 209.5c-.7.4-.2 1.5 1 .7s1-1.7-1-.7z"/>
+  <path fill="#cf6200" d="M478.5 219.3c-.8.1-1.4 1.3-.4 1.5s1.3.3 1.3 1 .3 2 1.4 2c1 .1 2-1.1 1-1.5-.9-.4-1.7-.7-1.8-1.6 0-.8-1-1.4-1.5-1.4z"/>
+  <path fill="#ff0" d="M507 212.6l.6.6c.8.6 2.2 0 2-.5s-1-2.3 1-.9l10.6 7.4c2.2 1.6.8 1.8-.2 1.3s-4-1.7-5.7-2.7c-1.7-1-2-.6-2.2-.3-.2.3 0 1 .6 1.6-1 .1-2.7 0-3.2-1.2-.6-1.3-2-3-3-4.2-.4-.5-.5-.8-.4-1z"/>
+  <path fill="#00d860" d="M564.9 403.6c-1.4 1-3.4 2.8-2.1 5.2l.5-.2a142.4 142.4 0 0014.7-21.7l.1-.7a20.5 20.5 0 01-5.2 3.1c.7 1.9-2.6 4.3-4.3 5 .7 1.2.5 3-1 3.3.3 1-.9 1-2.3 1.6s-2 1-2.5 1.8c.7-.5 1.8-.8 2.3-.6s.7 1-.3 1.3-1.7.8-2.1 1.2c1.5-.5 3.7-.3 2.2.7z"/>
+  <path stroke="#000" stroke-width=".1" d="M376 628.4c-.4-.3-.5-.1-.4 0s0 .4-.3.5h-1c-.2 0-.5.4 0 .3l1.6-.3c.2 0 .4-.2 0-.5zm.7.6c-.3-.3-.4-.2-.3 0s-.1.3-.3.3l-1.4.4c-.4 0-.4.3.1.3s1.5-.5 1.6-.5.2-.3.3-.2.3 0 0-.3zm.3.8l-1 .5c-.3 0-.5.3 0 .3s1-.5 1.2-.6l.4-.2s.4-.1 0-.4-.8 0-.6.1 0 .3 0 .3z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+  <path d="M482 187.5c-2.8-1.9-6 2-2.9 4.2 2.8 1.9 5.7-2.4 3-4.2z"/>
+  <path fill="#fff" d="M478.5 189.2h.8c-.1 1 .8 2.3 2 2-1 .8-3-.2-2.8-2zm11 42.5c.9.3 3.9.6 5 .6l-1.4 2.5c-.3.8-.4.9-.5-.3 0-1.2-.7-2-1.3-.7l-1.2 2.2c-.3.5-.8.7-.6-.6s.1-2.6 0-3.7z"/>
+  <path fill="none" stroke="#000" stroke-width=".3" d="M399.7 640.8c0 16.3-2.6 33.9-23.8 42.3-21.1-8.4-23.7-26-23.8-42.3h47.6zm0 0c0-6.2-.3-12.2-.2-17.4a63.6 63.6 0 00-23.6-4.3c-5.3 0-15.7.8-23.6 4.3.2 5.2-.2 11.2-.2 17.4h47.6z" transform="matrix(4.4862 0 0 4.4867 -1190.9 -2609)"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/si.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/si.svg
new file mode 100644
index 0000000..a83515b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/si.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-si" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="si-a">
+      <path fill-opacity=".7" d="M-15 0h682.6v512H-15.1z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#si-a)" transform="translate(14.1) scale(.9375)">
+    <path fill="#fff" d="M-62 0H962v512H-62z"/>
+    <path fill="#d50000" d="M-62 341.3H962V512H-62z"/>
+    <path fill="#0000bf" d="M-62 170.7H962v170.6H-62z"/>
+    <path fill="#d50000" d="M228.4 93c-4 61.6-6.4 95.4-15.7 111-10.2 16.8-20 29.1-59.7 44-39.6-14.9-49.4-27.2-59.6-44-9.4-15.6-11.7-49.4-15.7-111l5.8-2c11.8-3.6 20.6-6.5 27.1-7.8 9.3-2 17.3-4.2 42.3-4.7 25 .4 33 2.8 42.3 4.8 6.4 1.4 15.6 4 27.3 7.7l5.9 2z"/>
+    <path fill="#0000bf" d="M222.6 91c-3.8 61.5-7 89.7-12 103.2-9.6 23.2-24.8 35.9-57.6 48-32.8-12.1-48-24.8-57.7-48-5-13.6-8-41.7-11.8-103.3 11.6-3.6 20.6-6.4 27.1-7.7 9.3-2 17.3-4.3 42.3-4.7 25 .4 33 2.7 42.3 4.7a284 284 0 0127.4 7.7z"/>
+    <path fill="#ffdf00" d="M153 109.8l1.5 3.7 7 1-4.5 2.7 4.3 2.9-6.3 1-2 3.4-2-3.5-6-.8 4-3-4.2-2.7 6.7-1 1.5-3.7z"/>
+    <path fill="#fff" d="M208.3 179.6l-3.9-3-2.7-4.6-5.4-4.7-2.9-4.7-5.4-4.9-2.6-4.7-3-2.3-1.8-1.9-5 4.3-2.6 4.7-3.3 3-3.7-2.9-2.7-4.8-10.3-18.3-10.3 18.3-2.7 4.8-3.7 2.9-3.3-3-2.7-4.7-4.9-4.3-1.9 1.8-2.9 2.4-2.6 4.7-5.4 4.9-2.9 4.7-5.4 4.7-2.7 4.6-3.9 3a65.8 65.8 0 0018.6 36.3 107 107 0 0036.6 20.5 104.1 104.1 0 0036.8-20.5c5.8-6 16.6-19.3 18.6-36.3z"/>
+    <path fill="#ffdf00" d="M169.4 83.9l1.6 3.7 7 1-4.6 2.7 4.4 2.9-6.3 1-2 3.4-2-3.5-6-.8 4-3-4.2-2.7 6.6-1 1.6-3.7zm-33 0l1.6 3.7 7 .9-4.5 2.7 4.3 2.9-6.3 1-2 3.4-2-3.4-6-.9 4-3-4.2-2.7 6.7-1 1.5-3.7z"/>
+    <path fill="#0000bf" d="M199.7 203h-7.4l-7-.5-8.3-4h-9.4l-8.1 4-6.5.6-6.4-.6-8.1-4H129l-8.4 4-6.9.6-7.6-.1-3.6-6.2.1-.2 11.2 1.9 6.9-.5 8.3-4.1h9.4l8.2 4 6.4.6 6.5-.6 8.1-4h9.4l8.4 4 6.9.6 10.8-2 .2.4-3.7 6.1zm-86.4 9.5l7.4-.5 8.3-4h9.4l8.2 4 6.4.5 6.4-.5 8.2-4h9.4l8.3 4 7.5.5 4.8-6h-.1l-5.2 1.4-6.9-.5-8.3-4h-9.4l-8.2 4-6.4.6-6.5-.6-8.1-4H129l-8.4 4-6.9.6-5-1.3v.2l4.5 5.6z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sj.svg
new file mode 100644
index 0000000..8e5d104
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sj.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sj" viewBox="0 0 640 480">
+  <path fill="#ef2b2d" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M180 0h120v480H180z"/>
+  <path fill="#fff" d="M0 180h640v120H0z"/>
+  <path fill="#002868" d="M210 0h60v480h-60z"/>
+  <path fill="#002868" d="M0 210h640v60H0z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sk.svg
new file mode 100644
index 0000000..3d9ea27
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sk.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sk" viewBox="0 0 640 480">
+  <path fill="#ee1c25" d="M0 0h640v480H0z"/>
+  <path fill="#0b4ea2" d="M0 0h640v320H0z"/>
+  <path fill="#fff" d="M0 0h640v160H0z"/>
+  <path fill="#fff" d="M233 370.8c-43-20.7-104.6-61.9-104.6-143.2 0-81.4 4-118.4 4-118.4h201.3s3.9 37 3.9 118.4S276 350 233 370.8z"/>
+  <path fill="#ee1c25" d="M233 360c-39.5-19-96-56.8-96-131.4s3.6-108.6 3.6-108.6h184.8s3.5 34 3.5 108.6C329 303.3 272.5 341 233 360z"/>
+  <path fill="#fff" d="M241.4 209c10.7.2 31.6.6 50.1-5.6 0 0-.4 6.7-.4 14.4s.5 14.4.5 14.4c-17-5.7-38.1-5.8-50.2-5.7v41.2h-16.8v-41.2c-12-.1-33.1 0-50.1 5.7 0 0 .5-6.7.5-14.4 0-7.8-.5-14.4-.5-14.4 18.5 6.2 39.4 5.8 50 5.6v-25.9c-9.7 0-23.7.4-39.6 5.7 0 0 .5-6.6.5-14.4 0-7.7-.5-14.4-.5-14.4 15.9 5.3 29.9 5.8 39.6 5.7-.5-16.4-5.3-37-5.3-37s9.9.7 13.8.7c4 0 13.8-.7 13.8-.7s-4.8 20.6-5.3 37c9.7.1 23.7-.4 39.6-5.7 0 0-.5 6.7-.5 14.4 0 7.8.5 14.4.5 14.4a119 119 0 00-39.7-5.7v26z"/>
+  <path fill="#0b4ea2" d="M233 263.3c-19.9 0-30.5 27.5-30.5 27.5s-6-13-22.2-13c-11 0-19 9.7-24.2 18.8 20 31.7 51.9 51.3 76.9 63.4 25-12 57-31.7 76.9-63.4-5.2-9-13.2-18.8-24.2-18.8-16.2 0-22.2 13-22.2 13S253 263.3 233 263.3z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sl.svg
new file mode 100644
index 0000000..51e2676
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sl.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sl" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#0000cd" d="M0 320.3h640V480H0z"/>
+    <path fill="#fff" d="M0 160.7h640v159.6H0z"/>
+    <path fill="#00cd00" d="M0 0h640v160.7H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sm.svg
new file mode 100644
index 0000000..dbe605e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sm.svg
@@ -0,0 +1,91 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sm" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#19b6ef" d="M0 240h640v240H0z"/>
+    <path fill="#fff" d="M0 0h640v240H0z"/>
+  </g>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M317 339.2C369.6 300 426 220 359.9 177.8c-12.3-2.4-26-1.7-32.7 3.6-3.5-2-6.3-1.8-9.8 1.9-2.5-3-5-4.4-10-2.9a40.8 40.8 0 00-31.5-3C218 211.8 253.4 294 317 339.1z"/>
+  <g stroke="#3a9d4f">
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M414 250.1s6-8 6.2-8c5.9-3.4 6.5-7.9 6.5-7.9 5.9-1.8 4-6.7 4.5-7.3a6.4 6.4 0 001.4-7.1c0-.8 2-8.4-.8-9.4.1-8-4.8-7.3-8.8-2-4.2 1.2-5.1 4.7-3.6 8.5-5.5 0-5.7 8-4.1 12.4-7.3-.2-3.3 8-3.5 8.4-2.4 1.2 1.9 12.8 2.3 12.4zm-46 68.2l3.6 2.2c.8 2.8 3.4 4.6 5.3 4.1 1 4.3 5.6 3.7 9 1.2 2.7 4 6 4 10.6 2.7 4 3 9.3 1.7 12.8-1.4 3.7 3 6.2.8 8.1-2.5 3 .8 5.2.3 6.3-2.6 5.7-.5 2.9-5.9-1.8-8.2 3.7-3.2 7.9-10 2-11-1.8-1.3-5.3-1-7.9.2-.7-3-4.8-3.7-9.4-.4-1.5-3.3-7-1.7-9.5.6-3.3-2.8-7.2-2.8-12.9.4L368 318.3zm0-8.7c.6-3.8-2-10.6 2-11.2-.7-6.3.3-13.3 7.5-12.7 1.2-5.9 1-11.4 7.8-12.2 0 0 5.5-19.1 11.2-5.9 2.2 3.9 1.8 10.2-2.7 9 .9 4.7-.7 8.9-5.9 8.7 2.3 3.4 1.6 7.9-1 10l-19 14.3zm33.1-23.9l6-1.2c6-4 8.5-5.7 11.5-1.2 5.1-1 10-.6 9.8 3.4 6 .5 6 4.3 5.3 7.4 1 5.3-1.4 12.3-5 3.8-11.9-7.2-18.6-6.2-37.3-2l9.7-10.2zm3.1-5.9c.2-.2 17.5-4.7 15.7-10 4.9-.8 5.9-5.7 6-5.7 10.3-3.2 9.7-9.1 9.7-9.1 2.9-3.1 8-6.3 6.9-11.8.3-6.3.9-10.2-7.6-6.1-6.3-.6-8.5 3-10.3 8.5-3-3.5-7.8 2.1-8.4 7.1 0 0-7.7 7.6-7.7 7.8l-6.5 12 2.2 7.3z"/>
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M404.5 266.4c-4.1-3.1-6.4-6.9-5.7-10.6-2.7-3.7-4.6-5.9-2-9.2l-2-7.5c-5.4-2-3.1-6.5-1.7-8.1-2.5-3.5-2.6-7.2-.2-10.4 0-6.5 4.6-4 8.3 0 0 0 6.4 4.5 1.7 8.5 4.7 1.7 6 5.7 3.4 7.4 4.1 1.8 4.7 5.5 2.5 8 4.1 3.2 2.6 7.4 3.8 11.1l-8.1 10.8z"/>
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M411.8 236c-.2-.1-6.9-8.7-5-9.3-.5-2.6-2.5-5.5-1.3-8.1-3.3-3.4-3.4-7.3-.8-10.4-2.2-3-1.2-7.1 1.8-9.8-1-5 2.6-6.2 5.7-7.1 2.3-8 6-6 8.2.2 3.2 2.8 2.7 7 1.6 10.2 3.8 2.5 1.5 5.7-.2 7l-10 27.4z"/>
+    <path fill="#4fd46b" fill-rule="evenodd" stroke-linejoin="round" stroke-width="2.4" d="M410.8 193.1l-5.7-5.7c1.5-3 2.7-8.3-1.6-10.8-2.4-5.7-14.2-12.9-16.1.8-1.8-4.1-5.6-8.2-8.3-3.4-6.2-5.3-9.5-3.7-6.3 3 0 0-2.9 4.5 4.6 8 .6.6-2.4 8.1 6.6 8.3-1.7 2.6 1 6.2 4.6 6-2.5 3.1 1.8 6.5 4.5 5.2-1.1 3.5-1 5.2 3.9 5.7l5.5 6.3 4.5 6.1 3.8-29.5z"/>
+    <path fill="none" stroke-linecap="round" stroke-width="2.2" d="M414.3 246.5c.3-.3 11-24.8 12.4-32.2M415.4 203s1.8 20-3.1 34.6m-29.7-54.7s21.9 21 24 29.7m-8.7-32s1.4 17.3 7.5 34.3m31 28.4S414.6 261.8 404 278m11.8 30s-28.8 4-41.4 4.3m32 8s-35.8-.8-38.4-3.4m20.5-43c0 .4-18.2 30.3-18.8 40"/>
+  </g>
+  <path fill="#65c7ff" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M316.9 333.4c-37.8-35.6-76.5-102.4-38-136.2 6.8 3.8 14.9.4 26-4 3.4 3.7 7.7 4.6 12 1.8a9 9 0 0010.7-2.1c11 6.3 24.9 9.6 28.2 3.3 37.8 36-.6 103.2-39 137.3z"/>
+  <path fill="#8fc753" fill-rule="evenodd" d="M317 332.4a212.8 212.8 0 01-42.3-57.6c2-1.7 2.9-2.2 3.9-5 5.8.8 8.9 1 16.5-.4 1.6 5.8 1.9 10.6 5.5 15.4l7.7-15a33.6 33.6 0 0016.5 0c3.2 4.2 2 10.7 7.7 15.6 3.4-10 6.7-10.6 10.1-16 5 1.8 8.2 1 12.3-.3 2 2.5 1 2.4 5 6a193.7 193.7 0 01-42.8 57.3z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M272.6 164.3a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.8 0zm-3.5-7.7a3.4 3.4 0 11-6.6 0 3.4 3.4 0 016.7 0zm-4-7.1a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm-2.8-7a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm.5-7.6a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm17.6-12.5a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M273.8 123.6a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm-7.3 4.3a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm22.4-5.4a3.4 3.4 0 11-6.6 0 3.4 3.4 0 016.6 0zm9.4.8a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm8.2-.5a3.4 3.4 0 11-6.6 0 3.4 3.4 0 016.7 0z"/>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="1.1" d="M325.9 117.5a8.6 8.6 0 11-17.2 0 8.6 8.6 0 0117.2 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M335 122.7a3.4 3.4 0 11-6.8 0 3.4 3.4 0 016.7 0zm8.6.7a3.4 3.4 0 11-6.6 0 3.4 3.4 0 016.7 0zm8.5-.4a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm7.1-.3a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm8.9 1a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm7 4.4a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0z"/>
+  <path fill="#e40000" fill-rule="evenodd" stroke="#ac0000" stroke-width="2.4" d="M269.4 151.7l8.6 16.5h79.2l9.2-15.9c-5.4-3.7-9-6.5-16.7-4.8-4.3-6.2-9-7.3-16-6.7-2.1-2.1-4-3.4-7.6-4l-16.6.5c-4.4.4-7.8 3.8-8 3.8-7-.9-13.5-.7-15.2 6.2-6.5-1.6-11 .2-16.9 4.4z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M378 135.3a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm.6 8a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm-2.5 7.2a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm-3 6a3.4 3.4 0 11-6.8 0 3.4 3.4 0 016.7 0zm-3.7 7.5a3.4 3.4 0 11-6.7 0 3.4 3.4 0 016.7 0zm-46.8-9.6a5 5 0 11-10 0 5 5 0 0110 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M323.6 143a6 6 0 11-12 0 6 6 0 0112 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1.1" d="M322.7 132a5.4 5.4 0 11-10.8 0 5.4 5.4 0 0110.8 0z"/>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="1.1" d="M315.5 109v-4.2l-3.6-.1.2-3.2h3v-2.8h4.5v2.5h3.5l-.1 3.4h-3.6v4.5h-4z"/>
+  <path fill="none" stroke="#fd0" stroke-width="3.3" d="M277.6 168.2c-7.1-12-17.6-28.4-11-35.5 8.9-10.1 29.9-1 43.3-6.8 1 11.4-2.2 30.4 2.9 34.3l-4.8 4.2c-3-3.7-8.4-8.8-15.2.2-4-3.4-8.3-2.8-10.4 1.7-2 .3-1.9 1.1-4.8 1.9zm80-.5c7.2-12 17.6-28.3 11.1-35.4-9-10.1-30-1-43.3-6.9-1 11.5 2.2 30.5-3 34.4l4.8 4.2c4.7-6.5 10.4-6.7 15.3.2 3.9-3.4 7.9-3 10.4 1.7 2 .3 1.8 1 4.8 1.8z"/>
+  <path fill="#fd0" fill-rule="evenodd" stroke="#7d6c00" stroke-width="2.4" d="M277.3 177.1a437 437 0 0179.3 0l3.1-9c-27.7-5-46.8-5.6-83-.6l.6 9.6z"/>
+  <path fill="#c76e2e" fill-rule="evenodd" d="M314.1 329.4l.6-4.2c2.9.8 5 .5 7.4-.4l2.4-3.7-1.8-2.1c-1.6.3-3 1.8-4 3.1-1.6.1-3-.7-4.6-1l-1.5-6.4c-1.5-1.8-4.7-1.7-4 1.5l.3 2.5c.6 1.5.9 3.6 1.9 4.7v2.6l3.3 3.4zm1.2-18.3c-2 1-4.6-.8-7.3-1.9-2.5-.1-4.4 2-7.4 1.3.6-1.6 1.9-1.9 2.8-2.8-.7-4.1 1.5-5.5 2.1-5.5.6 0 3.1.6 3.1.6l2.4.3c1.5 2.7 3.5 5 4.3 8z"/>
+  <path fill="#ffe100" fill-rule="evenodd" stroke="#e9bf00" stroke-width="2.4" d="M300.8 366c7-11.4 56.2-34.4 102.4-84.2-47 45.3-76.4 56.4-114.8 84l12.4.3z"/>
+  <path fill="#9d4916" fill-rule="evenodd" stroke="#68300e" stroke-width="1.1" d="M368.4 313.2a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm34.4-34.9a4 4 0 11-8.1 0 4 4 0 018 0zm11.4-29.6a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0zM403 210.3a3.6 3.6 0 11-7.1 0 3.6 3.6 0 017.1 0z"/>
+  <path fill="#fff" fill-rule="evenodd" stroke="#a9a9a9" stroke-width="1.1" d="M279.1 269.6v-15.2l-1.5-1.2v-3.6l2.8-.3.5-17-1.8-1-.2-2.8s2 .8 2 .3l.5-3.4s-1.3-.2-1.3-.7 1.6-1.8 1.6-1.8-.8-.8-1-1.3l-.8-2.8.8-2.9-.5-1.5-1.3-2.3 1.8-1.8-.5-2.8a10 10 0 011.5-2.9c.3-.2 2.3-3 2.3-3l4.4-1 5.1.7 2.8 1.8.5 4.6s-.5 2.8-.7 2.8l-2.3 1s-2.6.3-2.9 0 .8 3.2.8 3.2v3l-.2 3.9s0 1.8-.3 2-.8 1-.8 1l-.2 4 4 1-.2 2.3-2.8.2.5 15.7 4.1.7v4.4l-1.8 1-.5 15.7h-14.4zm62.4.3v-15.2l-1.5-1.3v-3.6l2.8-.2.5-17-1.8-1-.2-2.8s2 .7 2 .2l.5-3.3s-1.3-.3-1.3-.8 1.6-1.8 1.6-1.8-.8-.7-1-1.3l-.8-2.8.8-2.8-.6-1.5-1.2-2.3 1.8-1.8-.6-2.9a10 10 0 011.6-2.8l2.3-3 4.4-1.1 5.1.8 2.8 1.8.5 4.6s-.5 2.8-.7 2.8l-2.3 1s-2.6.3-2.9 0 .8 3.1.8 3.1v3.1l-.3 3.9s0 1.7-.2 2l-.8 1-.2 3.9 4 1-.2 2.3-2.8.3.5 15.6 4.1.8v4.4l-1.8 1-.5 15.7h-14.4zm-31.6.5v-15.2l-1.5-1.2v-3.7l2.8-.2.5-17-1.8-1-.2-2.8s2 .8 2 .3l.5-3.4s-1.2-.2-1.2-.7 1.5-1.9 1.5-1.9-.8-.7-1-1.2l-.8-2.9.8-2.8-.5-1.5-1.3-2.3 1.8-1.8-.5-2.9a9 9 0 011.5-2.8c.3-.2 2.3-3 2.3-3l4.4-1 5.1.7 2.8 1.8.6 4.6s-.6 2.8-.8 2.8l-2.3 1s-2.6.3-2.8 0 .7 3.1.7 3.1v3.1l-.2 3.9s0 1.8-.3 2l-.8 1-.2 3.9 4 1-.2 2.3-2.8.3.5 15.7 4.1.7v4.4l-1.8 1-.5 15.7H310z"/>
+  <path fill-rule="evenodd" d="M283 269.5v-12h6.6V270l-6.7-.5zm31.4 1l.3-12.2h6v11.9l-6.3.2zm31-.3l-.4-11.5 6.5-.2v12l-6-.3zm-60.8-36h3.8v6.1h-3.8zm30.3.2h5.3v6h-5.3zm31 .5h4.6v5.7H346z"/>
+  <path fill="none" stroke="#a8a8a8" stroke-width="1.1" d="M286.6 207c4 4.6 4.3 4.6 4.3 4.6m26.2-4.6c.8 1.5 2 4.8 3.6 5.1m29.3-4.4s1.3 3.6 3 4.1"/>
+  <path fill="#b97700" fill-rule="evenodd" d="M282.2 194c12-3.9-2.8-11.6-5.3 0-3.8.7-4.3 3.5-12.7 2.3-20.4 33-5.3 86.5 54.1 141.8-106.4-90.6-63.2-157.6-33.7-155 16 1 8 21-2.4 11z"/>
+  <path fill="none" stroke="#7d6c00" stroke-width="2.4" d="M285.6 177s9.7 2.7 9.7 6.8m0-7.5s6.8 3 8.3 5.6m45.1-4.5s-8.6 1.2-10.5 3.8m-2.6-3s-5 4.1-4.5 5.3m3.4 12.7c-.8-.3-4.2-4.9-3.4-10.5m-29.8 7.5s2.3-2.6 2.3-7.5m13.5-1.9l.4 11m9.4-1.6c0-.7 3-7.9-.4-11.3m-20.3-1.5s-2.6 7.2-.7 13.2m20-6.8s-4.2 1.2-6 3m-11.8-1.9c0-.3 4.6-1 6 1.6"/>
+  <path fill="#c76e2e" fill-rule="evenodd" d="M300.6 301.9c.2 0 3.8-.7 3.8-2.4 1.8-1.2.5-4.5.5-4.5l-3.4-.6-4.6-5.2c-.2-1.6.3-3.1-.7-4.8-3.2.8-5 3.5-6 6.5.7 1 .8 2 2.3 2.9 1.5.2 2.5-.7 3.9-.4.7 1.3.5 2.4.8 3.6 1.9 1.3 2.3 3.2 3.4 4.9zm-4.1-22.2v-6.2l-4.4-.2c-.6 1-1.6 1.4-2.2 2.2l-3.1 1.6c1.3 1.5 2.9 2.4 3.8 3.2 2.3.6 4.1.6 5.9-.6zm-13.8 9.1l-2.4-4a7.2 7.2 0 014.7.3s1 2.5.3 3.4c-.4.9-2.7.5-2.6.3zm36.5 4.1a4.6 4.6 0 002.7-3.3l-4.5-5.1-4-.1c-1-1-2.4-1.2-3.6-1.2 0 0 1.2 2 2.8 2.3 1.2 2.6 6.2 7.4 6.6 7.4zm4.3.6c0-.1 4-1.4 6-1.3-.1-1.6 3-5.3 3-5.3l5.6 7.3c-1 .8-2.8.6-4.2.8 0 0-2.7 2.6-3 2.7s-5.2 1.3-7.6-.2c-1-2 .3-4.3.2-4zm3.2-12.8a14 14 0 000-7.6h-6.4l-4.2 2s1.3 4.2 3 3.8c.7 2.1 2.9 1.6 4 2.4l3.6-.6zm24.9-6.4c-1 2.7-1.4 5.5-.2 8 1.2.3 2.6 1 3.6.8l5.1-9.2c-3.5-1.1-6.4-1-8.6.4z"/>
+  <path fill="#b97700" fill-rule="evenodd" d="M353.1 193.2c-12-3.9 2.8-11.7 5.3 0 3.9.6 4.4 3.5 12.8 2.3 20.3 33 5.2 86.5-54.2 141.8 106.5-90.6 63.2-157.6 33.7-155.1-16 1-8 21 2.4 11z"/>
+  <path fill="#c76e2e" fill-rule="evenodd" d="M354.3 284.7c-.2 0-3 2-3 2l-4.2 1.7-4.4.1-1-3 3.4-3c-2.8-.5-5.7.7-8 2.8 0 0 0 3.3 2 5 1.1 1.4 4.5 4 4.5 4a7 7 0 005.4-1l5.3-8.6zm-23.2 30.1c1.4.4 11.3-12.7 11.3-12.7a10 10 0 00-4.9-5.4s-4.8 5.7-4.9 7.6c-.8 1.7-3 8.3-2 9.2-.1.2-.5 2.9.5 1.3z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M266.4 317.4c-14.8-12.9-34.8-20-62.7-10.3 7.5 3.2 15.6 4.3 22.5 7.9l40.2 2.4z"/>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M223.4 308.3c29.3.6 37.8 7.9 36.3 6.7"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.2" d="M267 319c-8.8 1.6-20.8 10-24.4 9.7-9.5-1.1-18.5-5-27.7-8-3.8-1.2-7.7 0-11.6 0 32.8-15.5 44-13.4 63.7-1.8z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M245.4 296s-11 1.6-15.9 1.9c-4.8-.3-12-4.8-19.8-13-4-4.6-13.4-4-13.4-4 20.6-4.4 36.7-.2 49 15.2zm-15-21.2c-14.9-1-33.5-14.3-37.7-30.2 0 .2 5.5 3.5 4.6 4.3 24.4 6.2 26 11.2 33.1 25.9zm25 25.5c2.1-13.5 2.7-22.4-3.6-30.4-5.3-6-6.6-9.7-10.4-18.3-1.1 17.8-5 32.5 14 48.7zM232 263c11-16.1 13-28.3 11.2-47.5-.3 1.5-4 11-4.2 11-16.5 10.3-9.2 26.5-7 36.5z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M222.2 185c11 16.1 9.4 31.3 7.6 50.5-.3-1.5-4-11-4.2-11-16.5-10.3-5.5-29.5-3.4-39.5z"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M231.3 210c26.8-13.6 16.5-30.7 21.4-44-18.6 13.9-21 28.6-21.3 44z"/>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M235 206.6c3.4-9.5 10-25.6 10.7-25.6M227 226.4c-.6-6.7-4-24.7-4.3-26.5"/>
+  <path fill="#006800" fill-rule="evenodd" stroke="#004100" stroke-linejoin="round" stroke-width="2.4" d="M228.3 256.5c-15-1-31-21.3-35.3-37.1 0 .2 5.5 3.4 4.6 4.2 21.4 9.6 23.6 18.2 30.7 32.9zm-4.4-14c-11-16.1-13-28.3-11.3-47.5.3 1.5 4 11 4.3 11 16.4 10.3 9.1 26.5 7 36.5zm9.9-28.3c27.7-12.3 19.2-25.2 27.4-38.7-18.6 13.8-27.1 23.4-27.4 38.7z"/>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M235 211.4a70.7 70.7 0 0015.2-20.7"/>
+  <g fill-rule="evenodd">
+    <path fill="#ffe100" stroke="#e9bf00" stroke-width="2.4" d="M333.6 366.4l13.4.2c-44.7-42-130.5-60.2-118.6-137.4-12.3 83.7 70.1 91.5 105.2 137.2z"/>
+    <path fill="#9d4916" stroke="#68300e" stroke-width="1.1" d="M235.4 212.7a4.3 4.3 0 11-8.6 0 4.3 4.3 0 018.6 0zm-2.6 23.6a4 4 0 11-8.1 0 4 4 0 018 0zm3.8 33.7a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm31.3 37.2a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm4.5 10.7a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0z"/>
+  </g>
+  <g fill="#fff" fill-rule="evenodd">
+    <g stroke="#000" stroke-width="1.1">
+      <path d="M288.2 349a15.5 15.5 0 01-4.8-5.8l-14-1.5-.2 8 19-.7z"/>
+      <path stroke-linejoin="round" d="M185.3 339.6c8.2 1.5 20.5-.8 24.5 4.5 4.8 5.4-15.1 13.9-12.3 18.6 6.2 6.5 12.5 3.8 19.4.2 1.7-3.5 3-9.8 3.8-11.7-2.5-5.7-9.3-8.6-7.5-17.3 11.3-4.2 33.2-3.9 35.6-2.2 1.8 3.6.1 5.2.5 8.1-1.9 3.7-6.7 9.8-6.7 13.1 12 4.2 15-.6 25.8-.4 12.6.2 20.2 3.6 23-1.4-2-4.4-13.5-.8-17.8-3.6-2.2-.7-3.6-2.5-5.5-4.4s-7.2-2-8-6.9c2.2-10.2 17-8.6 19.3-10.2l38.4 2.7c7-.2 11 12.3 1.5 16-9.4 3.8-37.1-5.5-49.2.9-.6-2.6-9.3-6.6-9.9-6.7-3.7 1-10.9.7-10.9.7-1.7 3.2-3.8 5.6-5.5 8.9-8-3.5-15.5 2.7-24.2.9l-13.6 1.5-8.6-.8-13.2 3.8 9.4-8.3-8.3-6z"/>
+      <path d="M184.7 338a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm-1 18a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.3 0z"/>
+    </g>
+    <g stroke="#000" stroke-width="1.1">
+      <path d="M346.3 349.1c2.3-2.1 3.8-3.5 4.7-5.8l14-1.6.3 8-19-.6z"/>
+      <path stroke-linejoin="round" d="M449.1 339.6c-8.1 1.5-20.4-.7-24.4 4.5-4.9 5.5 15 14 12.2 18.6-6.2 6.6-12.5 3.9-19.4.3-1.6-3.5-2.9-9.8-3.8-11.7 2.6-5.8 9.3-8.6 7.6-17.3-11.4-4.3-33.3-4-35.6-2.3-1.9 3.7-.2 5.3-.6 8.2 2 3.6 6.8 9.8 6.8 13-12 4.3-15.1-.6-25.8-.3-12.6.2-20.3 3.5-23-1.5 1.9-4.3 13.4-.8 17.8-3.5 2.2-.8 3.6-2.5 5.5-4.5s7.2-2 8-6.8c-2.2-10.2-17-8.7-19.4-10.2l-38.4 2.6c-7-.2-10.9 12.3-1.5 16.1 9.4 3.8 37.2-5.6 49.2.8.7-2.6 9.3-6.5 10-6.7 3.6 1.1 10.8.7 10.8.7 1.8 3.3 3.8 5.7 5.6 9 8-3.6 15.5 2.7 24.2.8l13.5 1.5 8.7-.7 13.2 3.7-9.4-8.2 8.2-6z"/>
+      <path d="M449.7 338a3.6 3.6 0 107.3 0 3.6 3.6 0 00-7.3 0zm1 18a3.6 3.6 0 107.2 0 3.6 3.6 0 00-7.2 0z"/>
+    </g>
+    <path d="M317 329.3c-3.2-.6-4.4-.4-6.6-.6l-5.1 15.8c8 .7 15.3.7 15.3.7-4.8-1-3.7-15.8-3.6-15.9z"/>
+  </g>
+  <g font-family="Trebuchet MS" font-size="9" font-weight="bold">
+    <text x="448.6" y="344.3" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="448.6" y="344.3">L</tspan>
+    </text>
+    <text x="453.6" y="344.6" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="453.6" y="344.6">I</tspan>
+    </text>
+    <text x="456.7" y="345.1" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="456.7" y="345.1">B</tspan>
+    </text>
+    <text x="462.6" y="345.5" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="462.6" y="345.5">E</tspan>
+    </text>
+    <text x="468.3" y="345.6" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="468.3" y="345.6">R</tspan>
+    </text>
+    <text x="473.9" y="345.4" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="473.9" y="345.4">T</tspan>
+    </text>
+    <text x="479.3" y="344.5" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="479.3" y="344.5">A</tspan>
+    </text>
+    <text x="485.5" y="344.3" transform="translate(-465 -233.3) scale(1.6657)">
+      <tspan x="485.5" y="344.3">S</tspan>
+    </text>
+  </g>
+  <path fill="none" stroke="#00a400" stroke-linecap="round" stroke-width="2.2" d="M231.3 318.6c10.1 1.2 24.1.3 30.2 0M216 284.2c8.6 6.7 27.1 10.7 26.8 10.7m10.7 1.8c-2.8-14-5.8-17.4-8.3-26.2m-43.5-15.8c14.3 6.4 16.5 10.6 25.6 17m5.2-14c1.2-17.3 3.6-21.9 7.9-25.9m-38.7-2c5.2 5.7 22.2 23.7 22.2 23.7m-7-39.6c6.4 4.5 6.4 21 6.4 21"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sn.svg
new file mode 100644
index 0000000..c06616f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sn.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sn" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#0b7226" d="M0 0h213.3v480H0z"/>
+    <path fill="#ff0" d="M213.3 0h213.3v480H213.3z"/>
+    <path fill="#bc0000" d="M426.6 0H640v480H426.6z"/>
+  </g>
+  <path fill="#0b7226" d="M342 218.8h71.8l-56.6 43.6 20.7 69.3-56.6-43.6-56.6 41.6 20.7-67.3-56.6-43.6h69.8l22.7-71.3z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/so.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/so.svg
new file mode 100644
index 0000000..def9fa3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/so.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-so" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="so-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#so-a)" transform="translate(80) scale(.9375)">
+    <path fill="#40a6ff" d="M-128 0h768v512h-768z"/>
+    <path fill="#fff" d="M336.5 381.2L254 327.7l-82.1 54 30.5-87.7-82-54.2L222 239l31.4-87.5 32.1 87.3 101.4.1-81.5 54.7 31.2 87.6z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sr.svg
new file mode 100644
index 0000000..9a169fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sr.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sr" viewBox="0 0 640 480">
+  <path fill="#377e3f" d="M.1 0h640v480H.1z"/>
+  <path fill="#fff" d="M.1 96h640v288H.1z"/>
+  <path fill="#b40a2d" d="M.1 144h640v192H.1z"/>
+  <path fill="#ecc81d" d="M320 153.2l56.4 173.6-147.7-107.3h182.6L263.6 326.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ss.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ss.svg
new file mode 100644
index 0000000..4efa598
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ss.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ss" viewBox="0 0 640 480">
+  <path fill="#078930" d="M0 336h640v144H0z"/>
+  <path fill="#fff" d="M0 144h640v192H0z"/>
+  <path d="M0 0h640v144H0z"/>
+  <path fill="#da121a" d="M0 168h640v144H0z"/>
+  <path fill="#0f47af" d="M0 0l415.7 240L0 480z"/>
+  <path fill="#fcdd09" d="M200.7 194.8L61.7 240l139 45.1L114.9 167v146z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/st.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/st.svg
new file mode 100644
index 0000000..a6bd218
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/st.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-st" viewBox="0 0 640 480">
+  <path fill="#12ad2b" d="M0 0h640v480H0z"/>
+  <path fill="#ffce00" d="M0 137.1h640V343H0z"/>
+  <path fill="#d21034" d="M0 0v480l240-240"/>
+  <g id="c" transform="translate(351.6 240) scale(.34286)">
+    <g id="b">
+      <path id="a" d="M0-200V0h100" transform="rotate(18 0 -200)"/>
+      <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+    </g>
+    <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-144)" xlink:href="#b"/>
+    <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+  </g>
+  <use width="100%" height="100%" x="700" transform="translate(-523.2)" xlink:href="#c"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sv.svg
new file mode 100644
index 0000000..e9977d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sv.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-se" viewBox="0 0 640 480">
+  <path fill="#066aa7" d="M0 0h640v480H0z"/>
+  <path fill="#fecc00" d="M0 192h640v96H0z"/>
+  <path fill="#fecc00" d="M176 0h96v480h-96z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sx.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sx.svg
new file mode 100644
index 0000000..9ddaf0d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sx.svg
@@ -0,0 +1,56 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sx" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="sx-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#sx-a)" transform="scale(.9375)">
+    <path fill="#ed2939" fill-rule="evenodd" d="M0 0h768v256H341.3L0 0z"/>
+    <path fill="#002395" fill-rule="evenodd" d="M0 512h768V256H341.3L0 512z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M0 0l341.3 256L0 512V0z"/>
+    <path fill="#ff0" d="M172.3 193.2l.1-4s-2.1-3.4.4-7c0 0-5.3-2.8-4-7.2 0 0-4.8-1.2-4.5-6.4 0 0-5-.3-5.6-4.7 0 0-5.1.8-7.4-3.4 0 0-5 1-6.4-2.5 0 0-4.9 1.6-7.7-2.5 0 0-5.2 2.1-7.3-1.8-2.1 3.9-7.3 1.8-7.3 1.8-2.8 4.1-7.7 2.4-7.7 2.4-1.4 3.5-6.3 2.5-6.3 2.5-2.3 4.3-7.4 3.4-7.4 3.4-.5 4.4-5.6 4.8-5.6 4.8a6 6 0 01-4.4 6.4c1.3 4.3-4 7.1-4 7.1 2.6 3.7.5 7 .5 7l-.1 3.7 84.7.4"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M377.2 843.1v-3.5s-1.8-3 .4-6c0 0-4.6-2.5-3.5-6.3 0 0-4.2-1-3.9-5.6 0 0-4.5-.3-5-4.1 0 0-4.4.7-6.3-3 0 0-4.4.8-5.6-2.2 0 0-4.3 1.5-6.8-2.1 0 0-4.5 1.8-6.3-1.6-1.9 3.4-6.4 1.6-6.4 1.6-2.4 3.5-6.7 2-6.7 2-1.2 3.1-5.5 2.3-5.5 2.3-2 3.7-6.5 3-6.5 3-.4 3.7-4.9 4-4.9 4a5.1 5.1 0 01-3.7 5.6c1 3.8-3.5 6.2-3.5 6.2 2.2 3.2.3 6.2.3 6.2v3.2l73.9.3z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="red" d="M170.3 188.2c-13.3-1.3-28.6-4.5-40.4 2.2-8-4.7-19-4.4-28.4-3.5-5.1 1-11.1 1-16.5 1.8l-.8.1c-9.7.7-18.5-2.2-27-6 2.8 15.2 5.7 30.7 7.2 46.6C67.6 253 53.3 272.7 59 296c3.5 11.2 15.8 17.7 27 19a214.7 214.7 0 0132.2 4.5 32 32 0 015.5 1.9 19.7 19.7 0 016.6 4.7c6-6.3 15-8.1 23.7-9 15.8-1.9 35.3-.9 45-15.2v-.8c5.3-8 4.6-20 2.3-29-.2-3.1-1-5.9-1.5-8.9-9.6-25.5-1.3-54.2 2.8-80a61 61 0 01-16.4 5.5c-4.5.6-9.5.4-14 .1l-2-.5"/>
+    <path fill="#80cfe1" d="M190.2 261.5c0 1.6.9 3 1.2 4.5 1.9 11.2 3.6 26-7.8 32.9-12.8 8-29.4 4.6-44.1 8.9-3 .8-7 3.5-9 5.4-1.4-.9-2.7-2.2-4.4-3-12.1-6.4-27.9-4.3-41.5-7.8-6.9-2.1-14-7.5-15.8-14.5-4.4-18.4 6.2-34.1 5-52.4-.8-14-3.2-27.3-6.4-40.4 10.7 5 23 5.8 35 3.4A51.6 51.6 0 01130 201c4.6-2 10-2.9 15-3.4 9.3 1 19.4 2.6 29.1 2.6 6.5-.4 12.4-2.2 18-4.7-3.3 21.6-9.8 44.2-1.9 66"/>
+    <path fill="#fff" d="M171 265.8v-20.4h2.4l-31-20-.1-10.5h3l-15.6-11-15.4 11h3v10.5l-30.9 20h2.5v20.3H171"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M376 906.5v-17.8h2.1l-27-17.5-.1-9h2.6l-13.6-9.8-13.5 9.7h2.6l.1 9.1-27 17.5h2.2v17.7H376z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#fff" d="M180.6 292.5v6.3H80.5v-6.4h100"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M384.4 929.8v5.5H297v-5.6h87.4z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#fff" d="M87.1 292.1v-21.5h4l-.2 21.7.2-21.6-5.8-.1v-4.7l89.4.2v4.5h-5.4v21.8l-.1-21.8h4l.2 21.6"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M302.8 929.4v-18.8h3.5l-.2 19 .2-18.8-5-.2v-4l78 .1v4h-4.8l.1 19-.2-19h3.6l.1 18.8" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M319.6 924.8v-13.1H309v13l10.5.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M312 914.4v7.6h4.8v-7.6h-4.9m59 10.4l-.1-13h-10.4v13h10.5" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M363.2 914.5v7.6h4.8v-7.6h-4.8m7.6-11v-13h-10.5v13h10.5z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M363.1 893.2v7.6h4.8v-7.6h-4.8m-43.6 10.3v-13.1H309v13h10.5z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M311.9 893.1v7.6h4.8v-7.6h-4.8m26.6 10.4v-13.1H328v13h10.5" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M330.8 893.1v7.6h4.8v-7.6h-4.8m22.3 10.4v-13l-10.5-.1v13l10.5.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M345.4 893.1v7.6h4.9v-7.6h-4.9" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#fff" d="M147.7 257.8l.2 34.6H113l-.1-34.6h34.7"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M355.7 899.5l.1 30.2h-30.3l-.1-30.2h30.3zm-30.5 8.6h30.6M329 929.7v-21.4m23.1 21.4v-21.3m14.7-21.8l-17-12.4h-19.3l-17 12.4h53.3M332 863.8v7.6h16.2v-7.6H332" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M336.4 865.7v3.8h7.4v-3.8h-7.4M340 855l9 6.4h-17.9l9-6.4" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#fff" d="M171.4 202c2.9 0 3.6 12 3.6 18 2.6.8 8.1 4.3 10.6 7.4h-28.2c2.4-3.1 7.9-6.6 10.4-7.3 0-6 .6-18.2 3.6-18"/>
+    <path fill="none" stroke="#000" stroke-width="1.2" d="M376.3 850.8c2.6 0 3.2 10.5 3.2 15.8 2.2.6 7.1 3.7 9.2 6.4h-24.6c2.1-2.7 7-5.8 9.1-6.4 0-5.3.6-15.8 3.1-15.8m-49.5 49.5h2.2l-.6 1.2s1 1.4 0 3l.6 1h-2.2l.6-1s-1-1.8 0-3l-.6-1.2m4.5 0h2.2l-.6 1.2s1 1.4 0 3l.6 1h-2.2l.6-1s-1-1.8 0-3l-.6-1.2m5 0h2.1l-.6 1.2s1 1.4 0 3l.6 1h-2.1l.5-1s-1-1.8 0-3l-.6-1.2zm5.5 0h2.2l-.7 1.3s1.1 1.3 0 2.9l.6 1h-2.1l.6-1s-1-1.8 0-3l-.6-1.1zm4.9 0h2.2l-.7 1.3s1.1 1.3 0 2.9l.6 1h-2l.5-1s-1-1.8 0-3l-.6-1.1m4.9 0h2.2l-.7 1.2s1.1 1.3 0 2.9l.6 1h-2l.5-1s-1-1.8 0-3l-.6-1.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#ff0" d="M130.5 336.8c13 0 29-2.7 36.5-6.5l16.5-1.5.4 20.1c-14 7.7-46.2 9.4-53.3 9.3-7.1 0-39.7-1.6-53.8-9.3l.2-20.2 16.5 1.5a98 98 0 0037 6.6"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M340.7 968.4c11.4 0 25.3-2.3 31.9-5.7l14.3-1.2.3 17.5c-12.1 6.7-40.3 8.2-46.4 8.1-6.2 0-34.7-1.4-47-8.2l.2-17.5 14.4 1.3c6.6 3.4 21 5.7 32.3 5.7" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#ff0" d="M34.4 251l14.5 4.6-4.4 23.5-13.7 2.2s-2.3-12.4 3.6-30.3"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M256.9 893.6l12.6 4-3.8 20.5-12 1.9s-2-10.8 3.2-26.4z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#7e7e7e" d="M44.5 278.9l-13.7 2.4 8.7-12.4 5 10"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M265.7 917.9l-12 2 7.6-10.7 4.4 8.7" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#ff0" d="M25.7 268l14 1c.3 11.8 1.8 57 55.8 59.5L93.8 345c-65.7.6-70.7-55.5-68-77"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M249.3 908.4l12.2.8c.3 10.4 1.5 49.8 48.7 52l-1.5 14.4c-57.4.6-61.7-48.4-59.4-67.2zm44.8 70.1l14.4-3.1" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#ff0" d="M225.4 251.2l-14.4 4.6 4.6 23.4 13.8 2.2s2.2-12.3-4-30.2"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M423.5 893.7l-12.6 4 4 20.5 12 2s2-10.8-3.4-26.5z" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#7e7e7e" d="M215.6 279l13.7 2.5-8.8-12.4-5 9.9"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M414.9 918l12 2.1-7.7-10.7-4.3 8.6" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#ff0" d="M234.3 268.1l-14 1c-.2 11.8-1.3 57-55.3 59.5l2 16.4c65.7.8 70.2-55.4 67.4-76.9"/>
+    <path fill="none" stroke="#000" stroke-width=".3" d="M431.2 908.5l-12.2.8c-.2 10.4-1 49.9-48.2 52l1.6 14.3c57.4.7 61.3-48.3 58.8-67zm-44.2 70l-14.4-3" transform="matrix(1.1464 0 0 1.1461 -260 -773.1)"/>
+    <path fill="#009fc5" d="M121.8 346.7c-.4.2-1 .3-1.5.2l-2.6-.1.2-3.3 2.6.2c.5 0 1 .1 1.2.3.5.2.7.7.7 1.4 0 .6-.3 1-.7 1.3m-4.3 5l.2-3.9 3 .2c1 .1 1.8-.2 2.3-.7.5-.4.8-1 .8-1.8a2.5 2.5 0 00-.6-2 3.2 3.2 0 00-2-.9l-4.4-.3-.6 9.4h1.3m9.4-7.7h3.2l1.1.2c.5.3.7.7.7 1.4 0 .6-.1 1-.5 1.3a2.6 2.6 0 01-1.4.3h-3.1V344m0 8.2v-4l3 .1c.5 0 1 0 1.2.2.4.2.7.6.7 1.2v2.3l.2.3h1.6v-.2a.8.8 0 01-.4-.5 3.4 3.4 0 01-.1-.8v-1.3c0-.6-.2-1-.4-1.2a1.7 1.7 0 00-.8-.6c.4-.2.8-.5 1-.8.2-.4.4-.8.4-1.4 0-1-.5-1.8-1.4-2.2a4.7 4.7 0 00-1.8-.4h-4.5v9.4h1.3m10-2a4.5 4.5 0 01-1-2.6c0-1.3.2-2.3.8-3a3.1 3.1 0 012.4-1 3 3 0 012.4.8c.7.6 1 1.5 1.1 2.6a5 5 0 01-.6 2.8c-.5.8-1.3 1.3-2.5 1.3s-2-.2-2.7-.9m-1.5-5.9a6 6 0 00-.8 3.3c.1 1.4.5 2.6 1.4 3.4a4.6 4.6 0 003.6 1.3 4.4 4.4 0 003.5-1.8 6 6 0 001-3.6 5 5 0 00-1.2-3.1c-.9-1-2.2-1.5-3.9-1.4-1.6 0-2.8.7-3.6 1.9m44-13.5c1-.1 1.8-.1 2.5.1 1 .4 1.7 1.1 2.2 2.3l-1.3.2a2.4 2.4 0 00-1.2-1.3 3.5 3.5 0 00-2-.2 3 3 0 00-2 1.3c-.5.7-.7 1.7-.5 3a4.5 4.5 0 001.2 2.6c.6.6 1.5.8 2.6.7a3.2 3.2 0 002-1.1c.6-.6.7-1.4.5-2.5l-3 .5-.1-1 4.2-.7.8 5h-.9l-.5-1-1 1c-.5.5-1.2.7-2 .9a4.3 4.3 0 01-3.2-.7 5 5 0 01-1.9-3.4 5.1 5.1 0 01.7-4 4.1 4.1 0 013-1.7m9.4-.7l3-1.1c.4-.2.8-.2 1.1-.2.6 0 1 .4 1.2 1 .2.6.2 1.1 0 1.5-.3.3-.7.6-1.3.8l-2.8 1-1.2-3m3 7.7l-1.4-3.7 2.8-1a3 3 0 011.1-.3c.5.1.9.4 1.2 1l.6 1.4.3.7.2.3 1.5-.6v-.2c-.3 0-.5-.1-.6-.4-.2-.1-.3-.4-.4-.7l-.5-1.2c-.2-.5-.5-.8-.7-1a2.4 2.4 0 00-1-.2l.6-1.2c0-.4 0-.9-.2-1.4-.4-1-1-1.6-2-1.6a4.5 4.5 0 00-1.9.3l-4.2 1.5 3.4 8.8 1.2-.4m11-4.7l-5.3-7.8 5.8-3.8.7 1-4.8 3 1.6 2.4 4.5-2.8.6.9-4.5 2.8 1.8 2.7 5-3.2.6 1-6 3.8m4.7-13.8l1.5-1.7c.8-.8 1.5-1.1 2.3-1 .9 0 1.7.5 2.6 1.3a4.7 4.7 0 011.4 2c.2.6.1 1.1 0 1.6a4 4 0 01-.7 1l-1.5 1.6-5.6-4.8m8.1 3.6c1.1-1.2 1.3-2.4.7-4a6.7 6.7 0 00-1.7-2.1 5.2 5.2 0 00-3.1-1.4c-1.2-.1-2.2.3-3.1 1.3l-2.6 2.8 7.2 6.3 2.6-2.8m5.6-7.3l-8.3-5 .7-1 8.3 4.9-.7 1m3.3-5.6l-9-3.6 2.6-6.3 1.1.4-2.1 5.2 2.7 1 2-4.7 1 .4-2 4.8 3 1.2 2.3-5.2 1 .4-2.6 6.4m4-11l-9.4-2 .4-1.5 8.7-3-7.7-1.7.3-1.1 9.4 2-.3 1.4-8.7 3 7.7 1.7-.3 1.2m-.8-12l.1-1.2c.6 0 1 0 1.4-.2.7-.4 1-1.1 1.2-2.1a3.7 3.7 0 00-.1-1.4c-.2-.7-.6-1.2-1.3-1.2-.6-.1-1 0-1.2.3-.3.3-.5.8-.7 1.5l-.5 1.2c-.2.8-.5 1.4-.8 1.7-.4.6-1 .8-1.8.7a2.8 2.8 0 01-2-1c-.6-.6-.8-1.5-.7-2.6.1-1 .4-1.8 1-2.4.5-.6 1.3-1 2.4-.8l-.1 1.2c-.5 0-1 0-1.2.3-.6.3-.9 1-1 1.9 0 .7 0 1.2.4 1.6.3.4.6.6 1 .6.5 0 .9 0 1.1-.4l.7-1.7.4-1.3c.2-.6.5-1 .8-1.4.5-.5 1.2-.7 2-.7 1.1.1 1.9.6 2.2 1.4.4.8.6 1.6.5 2.7a3.9 3.9 0 01-1.2 2.6c-.7.6-1.5.8-2.6.7m-195.6-.6l.3 1.2c-.6.1-1 .3-1.3.6-.5.5-.7 1.3-.5 2.4a4 4 0 00.4 1.2c.4.7 1 1 1.7.9.5-.1.8-.3 1-.7l.3-1.6v-1.3c0-.8.2-1.5.3-1.8.3-.6.9-1 1.7-1.2.8-.1 1.6 0 2.2.6.7.4 1.1 1.2 1.3 2.2a4 4 0 01-.3 2.6c-.4.8-1 1.2-2.1 1.4l-.2-1.1a3 3 0 001-.6c.5-.5.6-1.2.5-2.1-.2-.8-.4-1.3-.8-1.5a1.5 1.5 0 00-1.2-.3 1 1 0 00-1 .7l-.1 1.8-.1 1.3a3.5 3.5 0 01-.4 1.6 2.2 2.2 0 01-1.7 1.2c-1 .2-2-.1-2.5-.8a5 5 0 01-1.2-2.4 3.8 3.8 0 01.5-2.9 3 3 0 012.2-1.3m-.6 12.3l9.3-2.8 2.1 6.5-1.1.4-1.8-5.3-2.8.8 1.7 5-1.1.3-1.6-5-3.2 1 1.8 5.4-1 .3-2.3-6.6m4.1 11.3l8.5-4.5 1 1.6-5.9 6.1 8.5-1.4.9 1.5-8.5 4.5-.6-1 5-2.7.9-.4 1.3-.7-8.5 1.5-.6-1.1 5.8-6.2-.3.2-1 .5a7 7 0 01-.9.5l-5 2.6-.6-1m15.8 12.5c-.4-.1-.8-.4-1.2-.8l-1.8-1.8 2.4-2.2 1.8 1.8a3 3 0 01.7 1c.2.5 0 1-.5 1.5-.5.4-1 .6-1.4.5m-6.8.8l3-2.7 2 2.1c.8.7 1.5 1 2.2 1a3 3 0 002-.8 3 3 0 00.8-2c0-.6-.3-1.3-.9-1.9l-3-3-7 6.4 1 1m8.4 7.5l5.1-8 6 3.6-.6 1-5-3-1.5 2.5 4.5 2.7-.5 1-4.6-2.8-1.7 2.7 5 3-.6 1-6.1-3.7m15-1.6l3.1 1 1 .5c.4.4.5.9.2 1.5-.2.6-.4 1-.9 1.1l-1.5-.1-2.9-1 1-3m-2.6 7.9l1.3-3.8 2.8.9c.5.1 1 .3 1.1.5.3.3.4.8.3 1.4l-.5 1.5-.1.7v.3l1.5.5v-.2l-.2-.7.2-.7.4-1.2c.1-.6.2-1 0-1.2 0-.3-.3-.6-.6-.9.5 0 1-.2 1.3-.5.3-.3.6-.7.7-1.2.4-1 .2-1.9-.6-2.5a5.2 5.2 0 00-1.6-.9l-4.3-1.3-3 8.9 1.3.4"/>
+    <path fill="#bc715f" d="M78.5 175.6c1-2.7 11.3-10 44.8-6.8 0 0 5.7 3.5 9 3 2-.2-1 .2-3.6-1.9-2.5-2-3-6.3 2.7-6.1 5.8.1 27.3 1.3 27.7 3.3.4 1.9-11.4 2.7-15.7 2.6-4.4-.1-4 2.1.4 2 13.7-.6 28.6-5.4 44.3 5.8 1.9 1.3-4.7 1.5-9.8-.6 0 0-14 .7-20-.3 0 0-4.5 3.8-10.6 3.4.8 2-2.2 9.2-21 3.7-3.2 1-14.5 2.9-13.3-.5-3 0-8.2 1-9-.7-.8-1.7 9.2-4.2 11-6 0 0-21.2.2-25.2-1.3 0 0-12.5 2.8-11.7.4"/>
+    <path fill="#008737" d="M85.3 205.2c.4-.6.6-1.8 1.6-1.7 2 .5 3.5 4.4 6 1.9 1-.2 1.3 1 2 1.2.5 2.1 2.3-.5 3.5-.3 2.8-1.2 6.1-1.5 9.4-1 0 2.2-1.6 4.5-3.6 5.7 0 2 2 3.4 1.9 5.5-.3.8 0 2-1.2 2.3-1.6-.3-3-.4-4.3-1.3-.2-.1-.3-.4-.6-.3-.2.7 1 1.4 1.4 2.1-.8 1.3-2 .1-3.1.1-.3.8 0 1.7-.8 2.2-1.3 0-1.6-1.5-2.4-2.2-.9.9.6 1.4.8 2.1-.6 2.8-.5 5.5-3.2 7.3l-1.9.9c-.5-1.4-.2-3.5-.5-5-1 1.8-2 3.4-3.5 4.9-2-.6-3-2.8-3.4-4.7a5.8 5.8 0 011.3-6.2c-.5-1-2.5-.8-2.8-2.4-3-2-4.5 3.3-6.4.6a8.6 8.6 0 012-7.6c-.5-1-1.9-.8-2.7-1.4-1.8-1.6-4.5-3.2-4.3-6a14 14 0 0114.7 3.3"/>
+    <path fill="#ff0" d="M87.9 204.9c-.1 2.3 1.5.6 2.8 2-1-.4-1.7 1.7-2.7.5l-.6.6c.4.8 1 .9.4 1.8-1 .4-1.3-1-1.8-1.5 0-.2.2-.6-.2-.8-.6.5-1.2.7-2 .6-.2-.4-.7-1-.2-1.4.8-1 2 .4 2.6-.3.1-.7-.5-1.5.3-2 .5.1 1.2-.2 1.4.5m6.2 1.9c.1.4-.2 1 .4 1.4.8-.4 1.6-.1 2 .6 0 .4.1 1-.4 1.2l-1.2-.3c.1-.2-.3-.3-.4-.6-.5-.1-.9.3-1.2.6.3.4 1 .7.8 1.2-.7.7-1-.6-1.8-.2-.6-.2.1-1.3-.7-1.7-1 0-.3 1.6-1.6 1-.4-.5-.8-1.2-.4-1.7a1.6 1.6 0 011.9.2c.8-.9.8-4.1 2.7-1.7m-7.8 3.3c.5.8-.2 1.8.5 2.6 1-2 2 .4 3.2.2.4.5.1 1.1.2 1.6-1.5.4-3.3.9-4.6-.3l-.4.4c.8.7 1.5 1.6.9 2.8-1.1.2-2.9.3-3.4-.9-.3-1 .7-1.6-.4-2.4-.7 1-.7 2.2-2.2 1.3a1.9 1.9 0 01-.8-2.5c1-1.6 2.8 0 3.8-.7.2-1.4-.3-2.6 1-3.3 1-.2 1.5.6 2.2 1.2"/>
+    <path fill="#fff" d="M90.6 211c-.5 2.3-2.2-.1-3-.2 1-2 1.7.6 3 .2m5.4 2.5c-1.2.3-1-1.2-1.6-1.8l.5-.4c.4.5.7 1.5 1.1 2.2"/>
+    <path fill="#ff0" d="M94.4 213c.3.8-.8 1.5.2 2l.8-.7c.9.2 1.8.4 2.4 1.2.6 1.7-1.1 1.7-2 2.2h-1c.2-.6-.5-.8-.6-1a1 1 0 00-1.1.3c.2 1 1.5 2 .2 2.9-1.2 0-3 .4-2.9-1.2-.4-1 1.2-2.3-.5-2.4-.6 1.3-1.2 2.4-2.7 1.3l.2-1.8c1.4 0 3.1.3 3.7-1.3.4-1.1-.7-2.2.3-3 1.5-.4 2.3.6 3 1.5"/>
+    <path d="M93.4 215.6c.3.9-.6 1-1.1 1.4-.6 0-1-.2-1.4-.6-.3-1 .5-1.2 1-1.6.7-.3 1 .5 1.5.8"/>
+    <path fill="#fff" d="M92.5 216.2c-.1.2-.4.1-.6.2l-.2-1c.5 0 1 .1.8.8"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sy.svg
new file mode 100644
index 0000000..b30a3ba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sy.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sy" viewBox="0 0 640 480">
+  <rect width="640" height="160" y="160" fill="#fff" fill-rule="evenodd" rx="0" ry="0"/>
+  <rect width="640" height="160" y="320" fill-rule="evenodd" rx="0" ry="0"/>
+  <path fill="red" fill-rule="evenodd" d="M0 0h640v160H0z"/>
+  <path fill="#090" fill-rule="evenodd" d="M201.9 281l-28.8-20.9-28.7 21.1 10.7-34.2-28.7-21.2 35.4-.3 11-34.1 11.3 34h35.4L191 246.9l10.9 34.2zm307.6 0l-28.8-20.9-28.7 21.1 10.7-34.2-28.6-21.2 35.4-.3 11-34.1 11.2 34h35.4l-28.5 21.4 11 34.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sz.svg
new file mode 100644
index 0000000..4904c42
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/sz.svg
@@ -0,0 +1,45 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-sz" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="sz-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#sz-a)" transform="translate(80) scale(.9375)">
+    <path fill="#3e5eb9" fill-rule="evenodd" d="M-128 0h768v512h-768z"/>
+    <path fill="#ffd900" fill-rule="evenodd" d="M-128 91.4h768v329.2h-768z"/>
+    <path fill="#b10c0c" fill-rule="evenodd" d="M-128 128h768v256h-768z"/>
+    <rect width="621.7" height="11" x="-51.4" y="250.5" fill="#ffd900" fill-rule="evenodd" stroke="#000" stroke-width="1.5" rx="5.8" ry="5.8"/>
+    <g stroke="#000" transform="translate(-757 -25.6) scale(1.0321)">
+      <path fill="#fff" fill-rule="evenodd" stroke-width="4.2" d="M-106.3 265.8l-88.6 35.4 88.6 35.4 88.6-35.4-88.6-35.4z" transform="matrix(.34 0 0 .3 1256.8 136.4)"/>
+      <rect width="442.9" height="7.1" x="761.8" y="223.2" fill="#ffd900" fill-rule="evenodd" stroke-width="1.3" rx="4.1" ry="3.8"/>
+      <path fill="none" stroke-width="2.7" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1806.3 90.3)"/>
+      <path fill="none" stroke-width="2.7" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1802.8 90.3)"/>
+      <path fill="none" stroke-width="2.7" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1799.2 90.4)"/>
+    </g>
+    <g stroke="#000" transform="translate(-786.3 -3.7) scale(1.0321)">
+      <path fill="#fff" fill-rule="evenodd" stroke-width="4.2" d="M-106.3 265.8l-88.6 35.4 88.6 35.4 88.6-35.4-88.6-35.4z" transform="matrix(.34 0 0 .3 1256.8 136.4)"/>
+      <rect width="442.9" height="7.1" x="761.8" y="223.2" fill="#ffd900" fill-rule="evenodd" stroke-width="1.3" rx="4.1" ry="3.8"/>
+      <path fill="none" stroke-width="2.7" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1806.3 90.3)"/>
+      <path fill="none" stroke-width="2.7" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1802.8 90.3)"/>
+      <path fill="none" stroke-width="2.7" d="M1224.4 280c-3.5 0-7-3.6-7-7.2s3.5-7 7-7" transform="matrix(-.50001 0 0 .5 1799.2 90.4)"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#3d5da7" stroke="#000" stroke-width="1.4" d="M338-.4c-5.5 12.4 4.3-4.1 28.4 16.7 4.4 3.8 8.3 14 8.3 21.1-1.1-1-2-3-3.2-4.5-1.8 2.3 1.7 12.6 2.2 17.5-3.8-2.7-3.4-4-4.7-7.4.3 4-.6 15.2.9 19.4-3-1-2.8-4.1-4.3-4.8 1 4.9-1 10.1-.4 15.6-1.8-2.2-3.6-4-4.4-4.9-.1 2.6-3.3 9.4-3.4 11.9-1.5-1.2-1.9-3-2.1-4.2-1.8 3-8.3 14-8.7 17.2-5-5.7-17.8-19.5-19.5-26.9-1.5 4.2-3.6 5.6-7.8 8.7-1.7-11.7-8-24.8-4.6-34.8a84.4 84.4 0 00-6.6 5.9A67.9 67.9 0 01338-.4z" transform="matrix(.9944 0 0 .77118 190.4 252)"/>
+      <path fill="#a70000" d="M505.9 299.2c2.3-4.6 4.4-6 5.9-9 2.6-5.2 3-9.4 5.3-8.8 2.3.6 2.3 2.8-.7 7.9-3 5-4.4 6.2-10.5 9.9zm15.5 11c-.3-3.6.8-5 .6-7.3-.3-4-2-6.7.1-6.9 2.1-.2 3.1 1.2 3.1 5.2s-.6 5-3.8 9zm11.8 6.8c-.9-5-.2-7-.8-10.2-1-5.6-3-9.2-1-9.7 1.9-.5 3 1.3 3.8 6.9.7 5.6.3 7.2-2 13zm12.3-34.3c-2.9-2.1-4.6-2.3-6.4-3.7-3.3-2.5-5-5.1-6-3.8-1 1.3-.3 2.7 3.1 5 3.5 2.3 4.6 2.5 9.3 2.5zm-2 16.3c-1.5-3.2-3.1-4-4.1-6-1.8-3.6-1.8-6.7-3.6-5.9-2 .8-2 2.4 0 5.9 2 3.4 3 4 7.7 6z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#3d5da7" stroke="#000" stroke-width="1.4" d="M329.6 20.7c-.3-2.7.3-3-1.3-5 2.2 1 2.3 3.7 5 1.8 1-.6 1.4-.6.2-3.5 2.8 0 12 3.5 13.4 3.6 3.9.2 10.9-4.4 15.7 1.2 4.7 5.1 3.1 10.4 3.1 17.5-1.8-1-1-1.4-3-4 1.6 6.2 0 17.4 0 24-.8-1.6-.7-1-1.4-2.6-2 6-4.4 7.3-4.4 14.3-.7-2.7 0-2.2-.8-3.6-2 4.5-15 8.4-10 13-4.4-2.8-6.4-2.5-8.5-5.1-.9.6-1.6 1.8-2.4 3.4-8-4-5-12.5-11.3-18.2-1 2.4-.6 2-1.8 5.9-1.2-5.4-1.6-8.9-3-12.8-1.2 2.2-1 1.3-3.3 4.7-1-6.6-2.4-8.2-1.8-12.5-2.4 1.8-.8 1-3.2 3.3 2.2-17 11.9-29.4 18.8-25.4z" transform="matrix(1.1372 0 0 1.0495 -399.4 239.2)"/>
+      <path fill="#a70000" d="M-35.7 289.8c2.3-5.7 4.4-7.5 6-11.2 2.6-6.4 3-11.6 5.2-10.8 2.3.8 2.2 3.4-.8 9.8a25 25 0 01-10.4 12.2zm8.8 14.3c1-5.1 2.4-7 3-10.3 1-5.8.5-10.1 2.6-9.9 2 .3 2.5 2.4 1.1 8.2-1.4 5.8-2.3 7.1-6.7 12zm10.5 9.9c.3-5 1.5-6.9 1.6-10 .3-5.7-.7-9.7 1.2-9.7 2 0 2.7 2 2.1 7.6-.6 5.6-1.3 7-4.9 12zm22.7-32.4c-4.4-4.3-7-5.1-9.8-8-4.9-4.8-7.3-9.4-9-7.7-1.8 1.6-.7 4 4.5 8.7 5.2 4.6 7 5.2 14.3 7zm-2.7 16.6C.8 294-1.2 292.8-3 290c-3.2-4.9-4.3-9.1-6-8-2 1-1.5 3.2 2 8 3.4 4.7 4.8 5.5 10.7 8.2z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#fff" stroke="#000" stroke-width="2.1" d="M637.8 230.3c-53.1 59-124 177.2-265.8 177.2-124 0-212.6-118.1-265.7-177.2C159.4 171.3 248 53.2 372 53.2c141.8 0 212.6 118 265.8 177.1z" transform="matrix(.68807 0 0 .61926 0 113.4)"/>
+      <path d="M243.2 184.4c9.8 11 1.6 15.4 12 16.1 10.8.8 4.6 11.6 13.8 12 6.4.2-.7 25.7 5.5 34.2 6.3 8.7 11.5 2.5 11.6 8.9.1 6.5-17 5.9-17.3 26-.5 11.7-14.5 12.5-15.2 20-.8 7 27.5 11 27.2 17.3-.4 6.3-30.7 5.3-32 12.4-.6 6.5 41.6 11.8 45 30.4-6.3 2-24.3 4-37.8 4-85.3 0-146.3-73.1-182.9-109.7 36.6-36.6 97.6-109.7 182.9-109.7 0 0-25.3 23.1-12.8 38.2z"/>
+      <path fill="#fff" stroke-width="1pt" d="M141.4 217h8.9v29.2h-8.9zm0 48.8h8.9V295h-8.9zm17.7-48.8h8.9v29.2h-8.9zm0 48.8h8.9V295h-8.9zM177 217h8.8v29.2H177zm0 48.8h8.8V295H177zm17.7-48.8h8.9v29.2h-8.9zm0 48.8h8.9V295h-8.9zm17.7-48.8h8.9v29.2h-8.9zm0 48.8h8.9V295h-8.9zm17.8-48.8h8.8v29.2h-8.8zm0 48.8h8.8V295h-8.8z"/>
+      <path stroke-width="1pt" d="M275.5 217h8.9v29.2h-8.9zm0 48.8h8.9V295h-8.9zm17.7-48.8h8.9v29.2h-8.9zm0 48.8h8.9V295h-8.9zM311 217h8.8v29.2H311zm0 48.8h8.8V295H311zm17.7-48.8h8.9v29.2h-9zm0 48.8h8.9V295h-9zm17.7-48.8h8.9v29.2h-8.9zm0 48.8h8.9V295h-8.9zm17.8-48.8h8.8v29.2h-8.8zm0 48.8h8.8V295h-8.8z"/>
+    </g>
+    <g fill-rule="evenodd">
+      <path fill="#3d5da7" stroke="#000" stroke-width="1.4" d="M338-.4c-5.5 12.4 9.8-4.1 33.8 16.7a51.2 51.2 0 0110.9 26.2c-5.1-1.2-14.2-7-14.2-7s10.6 12.2 10.6 26.4c-3.7-2.7-5.6-2.3-6.8-5.6 0 4.5 3.3 7.5 3.3 14.6a49.8 49.8 0 00-7.3-5.7c3.5 7.1-6.5 20.9-1.5 25.5-8.7-1.5-17.7-8-21.2-15-1.9 1.4-2 3.7-2.2 6.2.3.2-13.3-11.7-12-16.3-1.9 3-2.1 4.6-2.5 8a44 44 0 01-11.3-18.8l-4.6 6.7c-1.6-11.7-1.6-11.3 1.7-21.3a84.4 84.4 0 00-6.6 5.9A67.8 67.8 0 01338-.4z" transform="matrix(.9094 0 0 .78749 -110.6 166.1)"/>
+      <path fill="#a70000" d="M184.4 213.6c.8-6.7 2.5-9.3 3-13.6 1-7.7-.1-13.2 2.6-13.1 2.7.1 3.5 3 2.2 10.6-1.4 7.6-2.5 9.5-7.8 16.1zm14.1 12.4c-.5-5.7.5-8.1.2-11.8-.6-6.4-2.6-10.8-.3-11.2 2.4-.4 3.6 1.7 3.8 8.3.3 6.5-.3 8.2-3.7 14.7zm22.1 10c-2.4-4.8-4.5-6.3-6-9.5-2.8-5.6-3.3-10.1-5.4-9.3-2.2.8-2 3.2 1 8.7 3 5.4 4.5 6.5 10.4 10.2zm7.6-44c-6-3.3-9.2-3.3-13.2-5.4-6.9-3.6-11-7.7-12.4-5.5-1.4 2.3.5 4.5 7.7 7.8 7.1 3.3 9.3 3.5 18 3zm2.3 18.4c-4.5-3.7-7.1-4.3-10-6.7-5-4.1-7.6-8.2-9.3-6.6-1.6 1.7-.5 3.9 4.8 7.8 5.3 4 7.1 4.5 14.5 5.5z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tc.svg
new file mode 100644
index 0000000..a78d1fe
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tc.svg
@@ -0,0 +1,67 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tc" viewBox="0 0 640 480">
+  <path fill="#006" d="M640 480V0H0v480h640z"/>
+  <path fill="#006" fill-rule="evenodd" d="M0 0h373.7v232.2H0z"/>
+  <g stroke-width="1pt">
+    <path fill="#fff" d="M0 0v26l331.9 206.2h41.8v-26L41.7 0H0zm373.7 0v26l-332 206.2H0v-26L331.9 0h41.8z"/>
+    <path fill="#fff" d="M155.7 0v232.2H218V0h-62.3zM0 77.4v77.4h373.7V77.4H0z"/>
+    <path fill="#c00" d="M0 92.9v46.4h373.7V92.9H0zM168.2 0v232.2h37.3V0h-37.4zM0 232.2l124.6-77.4h27.8L27.8 232.2H0zM0 0l124.6 77.4H96.7L0 17.3V0zm221.3 77.4L345.8 0h27.9L249 77.4h-27.8zm152.4 154.8L249 154.8h28l96.7 60v17.4z"/>
+  </g>
+  <path fill="#fff" d="M612.5 212.4v80c0 65.6-25.7 125.6-102.2 162.1C434 418 408.1 358 408.1 292.3v-79.8h204.5z"/>
+  <path fill="#fdc300" d="M605.7 220.6V295c0 61.2-24 117.2-95.3 151.3-71.3-34-95.4-90-95.4-151.3v-74.5h190.7z"/>
+  <g stroke="#000" stroke-width=".1">
+    <path fill="#ff9e3d" d="M206 52.9a2 2 0 00-1.3-.5c.1-1.3-.8-1.8-1.5-2-.7-.3-1-.6-1-1.1-.1-.5-.5-.9-1.1-1-.6-.2-1.2-.8-1.4-1.1-.2-.3-.3-.3-.5.2s-.9 1.5-.2 1.5c-.5.4-.8.8-.5 1.4-.3.3-.5.7-.1.8l.6.4c-.4 0-.5.8.4 1-.2 0-.3.6.1.6-.5 0-1 .8-1.6.8-.7 0-1 .2-1 .5l-.6.8c.5 0 .8 0 1-.2s.7-.3 1 0c.3.2 1 .3 1.2.2-.6.5-1 1-1.1 1.6 0 .6-.5 1.2-1 1.4-.3.2-1 .6-1.1 1.2.5 1.4 1.3 1.7 2.1 2.1 1.4.6 2.3 1.1 2.9 1.8.6.6.8.1 1.7 1.3.9 1 1.7 3.2 2.6 3.5.9.4 2 .2 2.6-1 .7-1 1-12.4-2.2-14.3z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path fill="#ff927f" d="M207.5 48.1c-.9 1-2 1.8-1.7 3.4s.3 4.2-1.2 5c-1.4 1-2.1 3.2-.4 4.5 1.8 1.3 1.9 2.9 2.1 4.3.3 1.5 1.1 2.7 2.3 1.7 1.2.2 1.8-.3 1.8-1.3s0-1.4 1-1.7c.8-.3 1-.6 1.5-1.4.4-.8.6-1.2.4-1.6a3.7 3.7 0 01-.2-2.2c.2-.7-.2-1-.4-1.5a1.9 1.9 0 01-.2-1.4c0-.6-.2-1-.6-1.3-.4-.3-.6-.6-.5-1 0-.5-.3-.8-.8-1.2s-.7-.8-.7-1.5-1.4-2.3-2.4-2.8z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path fill="#ff9ee1" d="M207.8 67.3c2-.5 1.8-3.7 1.5-5-.3-1.4-1-3.3-.5-4.9.8-2.1-1-4.2-.5-5 .5-.9.4-1.3.3-1.6 0-.2-.5-.4-.5.1 0 .6-.2.8-.5 1.1s-.3 1.2 0 2c.2.9.8 2.2 0 3.9-1 1.7-.6 2.4-.3 3.2.6 1.3 1.8 5.6.5 6.2z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path fill="none" d="M199 48.9c.2 0 .6 0 .6.2m-1 1.2c.2-.2.7 0 1.1-.2m-.7 1.4c.3 0 .8 0 1.3-.4m-.9 1.4c.4 0 1-.2 1.1-.7m-1 1.3c.7 0 1.5.2 1.6 0m-1.5 2.1c.4-.4 1.4-.7 1.7-1m-.6-5.5c.7.2.4.7.8 1 .6.4 0 1 .6 1.1.5.2.5.3.3.9-.1.7.5.7.3 1.2m2-.5c-.3 0-1.2 0-1.5.8m-4.8 7.7c.4 0 .5-.1.6-.3.1-.2.2-.4.5-.4s.8-.1.9-.3c0-.3.4 0 .7-.7.4-.6.6-1.3 1.4-1.6" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+  </g>
+  <g stroke="#000" stroke-width=".1">
+    <path fill="#00a728" d="M221.8 73.8c.3.4 0 1 .5 1.2.7.2.1 1 .9 1.4.7.3 0 1 .7 1.5.7.3 0 1 .8 1.5 1 .5-.2 1.5.5 1.9.7.4-.2 1.4.6 1.8.7.4-.4 1.1.4 1.7.7.5-.2 1.4.5 1.9s-.4 1.2.3 1.9c.6.5-.2 1 .2 2 .3.5-.3 2.7-1.8 2.5-.6 1-2.7 1.8-3.5 1.5-.8.6-3.3 1.3-4.6.1-1.3 1.2-3.8.5-4.6 0-.8.2-3-.7-3.5-1.6-1.6.2-2.1-2-1.8-2.6.4-.8-.4-1.4.2-2 .7-.6-.5-1.3.3-1.8s-.2-1.4.5-2c.8-.5-.4-1.3.4-1.6.8-.4-.1-1.4.6-1.8.6-.4-.4-1.4.5-1.9.9-.4 0-1.2.8-1.5.7-.4 0-1.2.7-1.5.8-.3.2-1.2.9-1.4.6-.3.2-.8.5-1.3 1.7.7 6.8 1.2 9 0z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path fill="#fdc300" d="M213.5 76.7c0 .2 0 .5-.2.8-.5.6.2 1-.4 1.7-.5.7.1 1.2-.5 1.8-.6.6.1 1.2-.5 1.8-.6.7.1 1.2-.5 1.8-.6.6.1 1.3-.5 1.9-.6.6.1 1.4-.5 2-.7.8 0 1.4-.5 2-.5.5 0 1-.4 1.4.6-.5.6-1.3 1.1-1.6.5-.4-.1-1 .2-1.3s0-1.4.5-2 0-1.7.5-2 .1-1.6.7-2 0-1.3.4-1.8c.5-.5 0-1.3.5-2 .4-.5 0-1.1.3-1.6.2-.2.2-1.8-.2-1zm1.6.7c-.4.7.3.9-.2 1.6s.3 1.3-.3 2 .3 1.1-.2 1.8c-.5.8.2 1.2-.2 1.7-.5.6.3 1.1-.2 1.8-.6.7.2 1.2-.3 1.8-.4.6.2 1.3-.2 1.8s.3 1.2-.3 1.9.1 1-.2 1.5c.7-.2.4-1.1.7-1.3.2-.2-.1-1.5.3-1.8.4-.4-.3-1.4 0-1.8.7-.8.2-1.3.5-1.9.4-.6-.1-1.3.2-1.7.5-.7-.2-1.3.1-1.8.5-.7 0-1.2.3-1.7.5-.7 0-1.4.1-1.8.3-.3.6-1.9 0-2.1zm2.2.6c-.4 1 .3 1.3 0 2.1-.2.8.3 1.4 0 2.2-.3.9.4 1.5 0 2.6s.3 1.4 0 2.5c-.3 1.2.5 1.9 0 2.8-.6.9.6 1.2 0 2.1-.2.5 0 1.6.5.2.5-1.3-.3-1.5 0-2 .5-.6 0-2 .1-2.9.2-.7-.4-1.8 0-2.6.3-.9-.6-1.8-.2-2.5.3-.7-.2-1.6.2-2.2.3-.6-.3-1.4-.2-1.7.2-.3-.1-1.6-.4-.6z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path fill="#ef072d" d="M221.5 74.4c0-6.3-1-8.5-4.2-8.5-3.3 0-4.2 2.2-4.2 8.5h8.4z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path fill="none" d="M214.3 73.9c-.6.6.1 1-.5 1.8-.6.7 0 1.1-.5 1.8s.2 1-.4 1.7c-.5.7.2 1.2-.5 1.8-.6.6.1 1.2-.5 1.8-.6.7.1 1.2-.5 1.8-.6.6.1 1.2-.5 1.9-.6.6.1 1.4-.5 2-.7.8 0 1.4-.5 2s0 1-.4 1.4c-.4.4-.5 1-.3 1.2m6.3-19c-.6.8.3 1-.2 1.7-.5.6.2.8-.2 1.6s.3.9-.2 1.6.3 1.3-.3 2 .3 1.1-.2 1.8c-.5.8.2 1.2-.2 1.7-.5.6.3 1.1-.3 1.8-.5.7.3 1.2-.2 1.8-.4.6.2 1.3-.2 1.8s.3 1.2-.3 1.9.1 1-.2 1.5c-.3.5-.6 1.1-.3 1.3m4.6-19.8c-.3 1.2.4 2.2 0 3.2s.3 1.3 0 2.1c-.2.8.3 1.4 0 2.2-.3.9.4 1.5 0 2.6s.3 1.4 0 2.5c-.3 1.2.6 1.9 0 2.8-.6.9.5 1.1 0 2.1-.4 1 .3 1.4 0 2.4m3-20.8c.6.6-.2 1 .5 1.8.6.7 0 1.1.5 1.8s-.2 1 .3 1.7c.6.7 0 1.2.5 1.8.7.6 0 1.2.5 1.8.7.7 0 1.2.6 1.8.6.6-.2 1.2.5 1.9.6.6-.1 1.4.5 2 .7.8-.1 1.4.5 2 .5.5 0 1 .4 1.4.4.4.5 1 .3 1.2m-6.3-19c.5.8-.3 1 .2 1.7.5.6-.2.8.2 1.6.4.7-.3.9.2 1.6s-.3 1.3.3 2-.3 1.1.2 1.8c.5.8-.2 1.2.2 1.7.5.6-.3 1.1.2 1.8.6.7-.2 1.2.3 1.8.4.6-.2 1.3.2 1.8s-.3 1.2.3 1.9-.1 1 .2 1.5c.3.5.6 1.1.3 1.3" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path d="M213.1 74.4c0-6.3 1-8.5 4.2-8.5-1.5 0-2.4 1.2-2.7 2s-.1.7.2.4.2.4 0 .7c-.3.4-.6 1.4-.2 1 .4-.2.7.1.2.7s-.7 2-.3 1.5c.4-.5.5.3.2.7-.2.4-.2.7 0 .6.3-.2.2.6 0 1h-1.6zm7.7-.3c0-5-.6-6.5-1.8-7-.7-.3-.7-.2-.4.3s.3 1 0 .6-.4-.5-.6-.3l.8 2c.3.6 0 1-.4.3s-.4-.1 0 .5c.5.7.4 2.9.4 3.8l2-.2z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+    <path fill="#ef072d" d="M217.3 75.3c1.3 0 2.7-.2 3.7-.6 1.1-.4 1.2-.8.8-1.3-.3-.4-.9-.2-1.5.1a11.2 11.2 0 01-6 0c-.6-.2-1.2-.5-1.5-.1-.4.5-.4.9.8 1.3 1 .4 2.4.6 3.7.6z" transform="matrix(3.909 0 0 3.9094 -339.1 46.6)"/>
+  </g>
+  <g fill="#b95a1e" fill-rule="evenodd">
+    <path stroke="#000" stroke-width="6.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(.053 -.03423 .03246 .0559 489 284.2)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(.0608 -.01361 .0129 .06412 500 261)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(.06216 0 0 .06555 509.3 249.3)"/>
+    <path stroke="#000" stroke-width="8.1" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(.03857 0 0 .06555 527.7 292.3)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c106.3 0 124-35.4 124-35.4s35.5-70.9 17.8-88.6c-17.7-17.7-141.8-17.7-141.8-17.7V255z" transform="matrix(.06216 0 0 .06555 509.3 287.7)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c88.6 0 141.8-35.4 141.8-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-159.5-17.7-159.5-17.7v141.7z" transform="matrix(.06216 0 0 .06555 509.3 283)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s70.8-88.6 194.9-177.2c124-88.6 213.7-156.7 230.3-141.7 0 17.7-106.3 106.3-195 177.2-88.5 70.8-194.8 177.1-194.8 177.1l-35.4-35.4z" transform="matrix(.07714 0 0 .06555 497.2 249.5)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s70-52 204.4-124c132.2-64 318.9-53.2 318.9-35.5-17.8 17.8-177.2 17.8-283.5 70.9C971 75.5 868 148.8 868 148.8l-35.4-35.4z" transform="matrix(.07714 0 0 .06555 497.9 254.1)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s61.6-35 204.4-88.6c141.7-53.1 329.8-17.7 329.8 0-17.7 17.7-170.4 7-276.7 35.4-110 27.8-222 88.6-222 88.6l-35.5-35.4z" transform="matrix(.07714 0 0 .06555 498 262.1)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s71-71 222.4-88.6c152.3-17.7 276.3 88.6 276.3 106.3-17.7 17.7-159.5-78-265.7-64.3-112.6 13.7-197.6 82-197.6 82l-35.5-35.4z" transform="matrix(.07714 0 0 .06555 498.4 270.3)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 159.5-45.5 159.5-45.5s35.4-70.8 17.7-88.6c-17.7-17.7-177.2-7.6-177.2-7.6V255z" transform="matrix(.06216 0 0 .06555 509.3 277.2)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(.06216 0 0 .06555 509.3 272.6)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s35.3-70.9 17.6-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(.06216 0 0 .06555 509.3 266.8)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s17.7-70.9 0-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(.06216 0 0 .06555 509.3 261)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4S946.9 24.8 946.9-46.1c0-70.8-50.4-141.7-64.6-177.1 28.5 0 93.1 106.3 93.1 177.1 0 77.5-107.3 195-107.3 195l-35.4-35.5z" transform="matrix(.07714 0 0 .06555 495.7 244.7)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s-14.3-53.2-14.3-159.5a355 355 0 0185.7-230.3C910-249 847-152.4 847-46c0 77.5 21.1 195 21.1 195l-35.4-35.5z" transform="matrix(.07714 0 0 .06555 495.7 244.7)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s0-70.9-17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7v141.7z" transform="matrix(.06216 0 0 .06555 509.3 255.2)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s0-70.9-17.8-88.6c-17.7-17.7-177.2-17.7-177.2-17.7V255z" transform="matrix(.06216 0 0 .06555 509.3 249.3)"/>
+    <path stroke="#fdc301" stroke-width="16.1" d="M318.9 1318.1c55-122.3 70.9-336.6 70.9-372 0-99.8-33-585.2-35.5-779.6s124-301.2 248-301.2c106.4 0 177.2 71 177.2 177.2h-53.1a121 121 0 00-124-124c-106.3 0-188 83.7-195 248-7.5 190 21.4 683 17.8 815S374 1231.2 318.9 1318z" transform="matrix(-.06216 0 0 .06555 606.2 249.3)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(-.053 -.03423 -.03246 .0559 626.5 284.2)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 32.9C903.7 33 957.3 135.3 957 133.2l-35.7 33.3c-19 17.8-141.8 17.8-140.2 17.7l-1.6-151.3z" transform="matrix(.06216 0 0 .06555 509.3 249.3)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(-.0608 -.01361 -.0129 .06412 615.5 261)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.4 912.6v179.2c.1 75.7 19.8 105 54.3 103.6 34.4-1.3 41-58.8 34.5-92-6.6-33.3-53.2-199-53.2-199l-35.6 8.2z" transform="matrix(-.06216 0 0 .06555 606.2 249.3)"/>
+    <path stroke="#000" stroke-width="8.1" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(-.03857 0 0 .06555 587.8 292.3)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c106.3 0 124-35.4 124-35.4s35.5-70.9 17.8-88.6c-17.7-17.7-141.8-17.7-141.8-17.7V255z" transform="matrix(-.06216 0 0 .06555 606.2 287.7)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c88.6 0 141.8-35.4 141.8-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-159.5-17.7-159.5-17.7v141.7z" transform="matrix(-.06216 0 0 .06555 606.2 283)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s70.8-88.6 194.9-177.2c124-88.6 213.7-156.7 230.3-141.7 0 17.7-106.3 106.3-195 177.2-88.5 70.8-194.8 177.1-194.8 177.1l-35.4-35.4z" transform="matrix(-.07714 0 0 .06555 618.3 249.5)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s70-52 204.4-124c132.2-64 318.9-53.2 318.9-35.5-17.8 17.8-177.2 17.8-283.5 70.9C971 75.5 868 148.8 868 148.8l-35.4-35.4z" transform="matrix(-.07714 0 0 .06555 617.6 254.1)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s61.6-35 204.4-88.6c141.7-53.1 329.8-17.7 329.8 0-17.7 17.7-170.4 7-276.7 35.4-110 27.8-222 88.6-222 88.6l-35.5-35.4z" transform="matrix(-.07714 0 0 .06555 617.6 262.1)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s71-71 222.4-88.6c152.3-17.7 276.3 88.6 276.3 106.3-17.7 17.7-159.5-78-265.7-64.3-112.6 13.7-197.6 82-197.6 82l-35.5-35.4z" transform="matrix(-.07714 0 0 .06555 617 270.3)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 159.5-45.5 159.5-45.5s35.4-70.8 17.7-88.6c-17.7-17.7-177.2-7.6-177.2-7.6V255z" transform="matrix(-.06216 0 0 .06555 606.2 277.2)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 177.2-35.4 177.2-35.4s35.4-70.9 17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7V255z" transform="matrix(-.06216 0 0 .06555 606.2 272.6)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s35.3-70.9 17.6-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(-.06216 0 0 .06555 606.2 266.8)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s17.7-70.9 0-88.6c-17.7-17.7-212.6-17.7-212.6-17.7V255z" transform="matrix(-.06216 0 0 .06555 606.2 261)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4S946.9 24.8 946.9-46.1c0-70.8-50.4-141.7-64.6-177.1 28.5 0 93.1 106.3 93.1 177.1 0 77.5-107.3 195-107.3 195l-35.4-35.5z" transform="matrix(-.07714 0 0 .06555 619.8 244.7)"/>
+    <path stroke="#000" stroke-width="5.7" d="M832.7 113.4s-14.3-53.2-14.3-159.5a355 355 0 0185.7-230.3C910-249 847-152.4 847-46c0 77.5 21.1 195 21.1 195l-35.4-35.5z" transform="matrix(-.07714 0 0 .06555 619.8 244.7)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 212.6-35.4 212.6-35.4s0-70.9-17.7-88.6c-17.7-17.7-194.9-17.7-194.9-17.7v141.7z" transform="matrix(-.06216 0 0 .06555 606.2 255.2)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 255.1c159.6-1.4 195-35.4 195-35.4s0-70.9-17.8-88.6c-17.7-17.7-177.2-17.7-177.2-17.7V255z" transform="matrix(-.06216 0 0 .06555 606.2 249.3)"/>
+    <path stroke="#fdc301" stroke-width="16.1" d="M318.9 1318.1c55-122.3 70.9-336.6 70.9-372 0-99.8-33-585.2-35.5-779.6s124-301.2 248-301.2c106.4 0 177.2 71 177.2 177.2h-53.1a121 121 0 00-124-124c-106.3 0-188 83.7-195 248-7.5 190 21.4 683 17.8 815S374 1231.2 318.9 1318z" transform="matrix(.06216 0 0 .06555 509.3 249.3)"/>
+    <path stroke="#000" stroke-width="6.4" d="M779.5 32.9C903.7 33 957.3 135.3 957 133.2l-35.7 33.3c-19 17.8-141.8 17.8-140.2 17.7l-1.6-151.3z" transform="matrix(-.06216 0 0 .06555 606.2 249.3)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/td.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/td.svg
new file mode 100644
index 0000000..734473e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/td.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-td" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#000067" d="M0 0h214v480H0z"/>
+    <path fill="red" d="M426 0h214v480H426z"/>
+    <path fill="#ff0" d="M214 0h212v480H214z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tf.svg
new file mode 100644
index 0000000..3913728
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tf.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-tf" viewBox="0 0 640 480">
+  <defs>
+    <path id="a" fill="#fff" d="M0-21l12.3 38L-20-6.5h40L-12.3 17z"/>
+  </defs>
+  <path fill="#002395" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h292.8v196.8H0z"/>
+  <path fill="#002395" d="M0 0h96v192H0z"/>
+  <path fill="#ed2939" d="M192 0h96v192h-96z"/>
+  <path fill="#fff" d="M426 219.6l15.4 24.6h44V330l-33-51.6-44.4 70.8h21.6l22.8-40.8 46.8 84 46.8-84 22.8 40.8h21.6L546 278.4 513 330v-47.4h19.8l14.7-23.4H513v-15h44l15.4-24.6H426zm51.6 105h-48v16.8h48zm91.2 0h-48v16.8h48z"/>
+  <use width="100%" height="100%" x="416" y="362" transform="scale(1.2)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="371" y="328" transform="scale(1.2)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="461" y="328" transform="scale(1.2)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="333" y="227" transform="scale(1.2)" xlink:href="#a"/>
+  <use width="100%" height="100%" x="499" y="227" transform="scale(1.2)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tg.svg
new file mode 100644
index 0000000..09ba198
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tg.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tg" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="tg-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#tg-a)" transform="scale(.9375)">
+    <path fill="#ffe300" d="M0 0h767.6v512H0z"/>
+    <path fill="#118600" d="M0 208.1h767.6V311H0zM0 .2h767.6v102.9H0z"/>
+    <path fill="#d80000" d="M0 .3h306.5v310.6H0z"/>
+    <path fill="#fff" d="M134.4 128.4c0-.8 18.9-53 18.9-53l17 52.2s57.4 1.7 57.4.8-45.3 34.3-45.3 34.3 21.4 60 20.5 58.2c-.8-1.7-49.6-36-49.6-36s-49.7 34.3-48.8 34.3c.8 0 18.8-56.5 18.8-56.5l-44.5-33.4 55.6-.9z"/>
+    <path fill="#118600" d="M0 409.2h767.6V512H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/th.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/th.svg
new file mode 100644
index 0000000..66fcd8e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/th.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-th" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#f4f5f8" d="M0 0h640v480H0z"/>
+    <path fill="#2d2a4a" d="M0 162.5h640v160H0z"/>
+    <path fill="#a51931" d="M0 0h640v82.5H0zm0 400h640v80H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tj.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tj.svg
new file mode 100644
index 0000000..92ac160
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tj.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-tj" viewBox="0 0 640 480">
+  <path fill="#060" d="M0 0h640v480H0z"/>
+  <path fill="#fff" d="M0 0h640v342.9H0z"/>
+  <path fill="#c00" d="M0 0h640v137.1H0z"/>
+  <path fill="#f8c300" d="M300.8 233.6a8.6 8.6 0 0116 4V272h6.4v-34.3a8.6 8.6 0 0116-4 20.2 20.2 0 10-38.4 0"/>
+  <path fill="#fff" d="M305.4 224.7a13.7 13.7 0 0114.6 6.5 13.7 13.7 0 0114.6-6.5 14.7 14.7 0 00-29.2 0"/>
+  <path id="a" fill="#f8c300" d="M316.8 258.3a26 26 0 01-43.8 16.6 27 27 0 01-41 12c2.5 25 40 19.9 42.8-4.4 11.7 20.7 37.6 14.7 45.2-10.6z"/>
+  <use width="100%" height="100%" fill="#f8c300" transform="matrix(-1 0 0 1 640 0)" xlink:href="#a"/>
+  <path id="b" fill="#f8c300" d="M291.8 302.6c-5.3 11.3-15.7 13.2-24.8 4.1 0 0 3.6-2.6 7.6-3.3-.8-3.1.7-7.5 2.9-9.8a15 15 0 016.1 8.1c5.5-.7 8.2 1 8.2 1z"/>
+  <use width="100%" height="100%" fill="#f8c300" transform="rotate(9.4 320 551.3)" xlink:href="#b"/>
+  <use width="100%" height="100%" fill="#f8c300" transform="rotate(18.7 320 551.3)" xlink:href="#b"/>
+  <path fill="none" stroke="#f8c300" stroke-width="11" d="M253.5 327.8a233.1 233.1 0 01133 0"/>
+  <g fill="#f8c300" transform="translate(320 164.6) scale(.68571)">
+    <path id="c" d="M301930 415571l-790463-574305h977066l-790463 574305L0-513674z" transform="scale(.00005)"/>
+  </g>
+  <g id="d" fill="#f8c300" transform="translate(320 260.6) scale(.68571)">
+    <use width="100%" height="100%" transform="translate(-70 -121.2)" xlink:href="#c"/>
+    <use width="100%" height="100%" transform="translate(-121.2 -70)" xlink:href="#c"/>
+    <use width="100%" height="100%" transform="translate(-140)" xlink:href="#c"/>
+  </g>
+  <use width="100%" height="100%" fill="#f8c300" transform="matrix(-1 0 0 1 640 0)" xlink:href="#d"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tk.svg
new file mode 100644
index 0000000..312e881
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tk.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tk" viewBox="0 0 640 480">
+  <path fill="#00247d" d="M0 0h640v480H0z"/>
+  <path fill="#fed100" d="M108.1 354.6c-6.7-.1 62.8-37 120.9-84.4 76.2-62.1 240.3-161.4 288.6-177.6 5-1.7-10.3 8.6-12.3 11.9-51.5 61-10.4 176 54 233.9 19.4 14.8 18.4 15.6 54.3 17v3.4l-505.5-4.2zm-4.2 6.7s-4.9 3.5-4.9 6.1c0 2.9 5.5 6.7 5.5 6.7l498.5 5.5 9.2-6.1-12.8-7.9-495.5-4.3z"/>
+  <path fill="#fff" d="M106.8 109.1l-4 12.2 10.4-7.5 10.3 7.5-3.9-12.2 10.3-7.5h-12.8l-3.9-12.2-4 12.2H96.4zm78.1 57.4l8.6-6.3h-10.7l-3.3-10.1-3.3 10.1h-10.6l8.6 6.3-3.3 10.1 8.6-6.3 8.7 6.3zm-145.2 13l-4-12.2-3.9 12.2H19l10.3 7.5-3.9 12.2 10.3-7.5 10.4 7.5-4-12.2 10.4-7.5zm78.1 122.3l-4.6-14.2-4.6 14.2h-15l12.1 8.7-4.6 14.3 12.1-8.8 12.1 8.8-4.7-14.3 12.1-8.7z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tl.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tl.svg
new file mode 100644
index 0000000..94738dd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tl.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tl" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="tl-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#tl-a)" transform="scale(.9375)">
+    <path fill="#cb000f" d="M0 0h1031.2v512H0z"/>
+    <path fill="#f8c00c" d="M0 0c3.2 0 512 256.7 512 256.7L0 512V0z"/>
+    <path d="M0 0c2.1 0 340.6 256.7 340.6 256.7L0 512V0z"/>
+    <path fill="#fff" d="M187.7 298.2L127 284.7l-31 52.8-5-59.7-60.7-13.3 54.9-24.9-3.3-59.3 40.2 43.4 55.4-25.3-28.9 54 39.2 45.8z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tm.svg
new file mode 100644
index 0000000..a0fadb6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tm.svg
@@ -0,0 +1,206 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tm" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="tm-a">
+      <path fill-opacity=".7" d="M42.7 0h682.6v512H42.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#tm-a)" transform="translate(-40) scale(.9375)">
+    <path fill="#28ae66" d="M0 0h768v512H0z"/>
+    <g fill="#fff" stroke-width="1pt">
+      <path d="M263.3 137.5c27.9 13.4 61.1 0 73.1-18.6 12.4-17.4 13.9-46.5-7.4-73.2 33 27.4 40.4 58.5 23.9 84.1-22 29.3-70.6 28.4-89.6 7.7z"/>
+      <path d="M312.8 69.4l5.6.1L314 73l1.7 5.6-4.7-3.3-4.5 3.3 1.5-5.5-4.5-3.5 5.6-.1L311 64zm-27.7 34.8h5.6l-4.4 3.6 1.7 5.5-4.7-3.3-4.6 3.4 1.6-5.6-4.5-3.4 5.6-.2 1.8-5.5zm1.8-27.4h5.7l-4.5 3.6 1.7 5.5-4.6-3.3-4.6 3.4 1.6-5.6-4.5-3.5 5.6-.1 1.8-5.5zm0-27.5h5.7L288 53l1.7 5.5-4.6-3.2-4.6 3.3 1.6-5.5-4.5-3.5 5.6-.1L285 44zm-30.7 34.8h5.6l-4.5 3.6 1.7 5.5-4.6-3.3-4.6 3.4 1.6-5.6-4.5-3.4 5.6-.2 1.8-5.5z"/>
+    </g>
+    <path fill="#ca3745" d="M47.5 0h164.6v512H47.5z"/>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M47.5 133.5v-3.7l6.8-9.1-1.3-1.9 4-5.4-1.3-1.9-2.7 3.7-1.4-1.8 9.6-12.8 1.4 1.8-1.4 1.8L64 108l6.8-9.2-6.9-8.9-2.7 3.4 1.4 1.9-1.4 1.8-9.6-12.8 1.4-1.8 2.7 3.6 1.4-1.8-4.1-5.5 1.3-1.8-6.8-9.2V64l9.6 12.8-1.4 1.8 4.1 5.5-2.7 3.7 2.7 3.6L64 86l9.7 13-9.7 12.6-4-5.5-2.8 3.7 2.7 3.7-4 5.4 1.3 1.9-9.6 12.8z"/>
+      <path d="M47.5 87.8l1.4 3.6V97H53l2.8 1.8-2.8 1.9h-4v5.4l-1.4 3.7v-22z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M47.5 221.3v-3.7l6.8-9.1-1.3-1.9 4-5.5-1.3-1.8L53 203l-1.4-1.9 9.6-12.8 1.4 1.9-1.4 1.8 2.8 3.7 6.8-9.2-6.9-8.9-2.7 3.4 1.4 1.9-1.4 1.8-9.6-12.8L53 170l2.7 3.6 1.4-1.8-4.1-5.5 1.3-1.8-6.8-9.2v-3.6l9.6 12.8-1.4 1.8 4.1 5.5-2.7 3.6 2.7 3.7 4.1-5.5 9.7 13-9.7 12.6-4-5.5-2.8 3.7 2.7 3.6-4 5.5 1.3 1.9-9.6 12.8z"/>
+      <path d="M47.5 175.5l1.4 3.7v5.5H53l2.8 1.8-2.8 1.8h-4v5.5l-1.4 3.7v-22z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M47.5 309v-3.6l6.8-9.2-1.3-1.8 4-5.5-1.3-1.8-2.7 3.6-1.4-1.8 9.6-12.8 1.4 1.8-1.4 1.9 2.8 3.7 6.8-9.2-6.9-9-2.7 3.5 1.4 1.8-1.4 1.8-9.6-12.8 1.4-1.8 2.7 3.7 1.4-1.9-4.1-5.4 1.3-1.9-6.8-9.1v-3.7l9.6 12.8-1.4 1.9 4.1 5.4-2.7 3.7 2.7 3.7 4.2-5.5 9.6 13-9.7 12.6-4-5.5-2.8 3.6 2.7 3.7-4 5.5 1.3 1.8-9.6 12.8z"/>
+      <path d="M47.5 263.3L49 267v5.5h4l2.8 1.8L53 276h-4v5.5l-1.4 3.7v-22z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M47.5 391.3v-3.7l6.8-9.1-1.3-1.8 4-5.5-1.3-1.8L53 373l-1.4-1.8 9.6-12.8 1.4 1.8-1.4 1.8 2.8 3.7 6.8-9.1-6.9-9-2.7 3.5 1.4 1.8-1.4 1.8-9.6-12.8 1.4-1.8 2.7 3.7 1.4-1.9-4.1-5.5 1.3-1.8-6.8-9.1v-3.7l9.6 12.8-1.4 1.8 4.1 5.5-2.7 3.7 2.7 3.6 4.2-5.4 9.6 13-9.7 12.6-4-5.5-2.8 3.6 2.7 3.7-4 5.5 1.3 1.8-9.6 12.8z"/>
+      <path d="M47.5 345.6l1.4 3.6v5.5H53l2.8 1.9-2.8 1.8h-4v5.5l-1.4 3.6v-22z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M212.1 133.5v-3.7l-6.8-9.1 1.4-1.9-4.1-5.4 1.3-1.9 2.8 3.7 1.4-1.8-9.6-12.8-1.4 1.8 1.4 1.8-2.9 3.7-6.7-9.2 6.8-8.9 2.8 3.4-1.4 1.9 1.3 1.8 9.6-12.8-1.3-1.8-2.8 3.6-1.3-1.8 4-5.5-1.3-1.8 6.8-9.2V64l-9.5 12.8 1.3 1.8-4 5.5 2.7 3.7-2.8 3.6-4.1-5.5-9.7 13 9.7 12.6 4.1-5.5 2.8 3.7-2.8 3.7 4.1 5.4-1.3 1.9 9.5 12.8z"/>
+      <path d="M212.1 87.8l-1.4 3.6V97h-4l-2.8 1.8 2.7 1.9h4.1v5.4l1.4 3.7v-22z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M212.6 221.3v-3.7l-6.8-9.1 1.3-1.9-4-5.5 1.3-1.8 2.7 3.7 1.4-1.9-9.6-12.8-1.4 1.9 1.4 1.8-2.8 3.7-6.8-9.2 6.9-8.9 2.7 3.4-1.4 1.8 1.4 1.9 9.6-12.8-1.4-1.9-2.7 3.7-1.4-1.8 4.1-5.5-1.3-1.8 6.8-9.2v-3.6l-9.6 12.8 1.4 1.8-4.1 5.5 2.7 3.6-2.7 3.7-4.1-5.5-9.7 13 9.7 12.6 4-5.5 2.8 3.7-2.7 3.6 4 5.5-1.3 1.8 9.6 12.8z"/>
+      <path d="M212.6 175.5l-1.4 3.7v5.5H207l-2.8 1.8 2.8 1.8h4v5.5l1.5 3.7v-22z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M212.1 309v-3.6l-6.8-9.2 1.4-1.8-4.1-5.5 1.3-1.8 2.8 3.6 1.4-1.8-9.6-12.8-1.4 1.8 1.4 1.9-2.9 3.7-6.7-9.2 6.8-9 2.8 3.5-1.4 1.8 1.3 1.8 9.6-12.8-1.3-1.8-2.8 3.7-1.3-1.9 4-5.4-1.3-1.9 6.8-9.1v-3.7l-9.5 12.8 1.3 1.9-4 5.4 2.7 3.7-2.8 3.7-4.1-5.5-9.7 13 9.7 12.6 4.1-5.5 2.8 3.6-2.8 3.7 4.1 5.5-1.3 1.8L212 309z"/>
+      <path d="M212.1 263.3l-1.4 3.7v5.5h-4l-2.8 1.8 2.7 1.8h4.1v5.5l1.4 3.7v-22z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M212.1 391.3v-3.7l-6.8-9.1 1.4-1.8-4.1-5.5 1.3-1.8 2.8 3.6 1.4-1.8-9.6-12.8-1.4 1.8 1.4 1.8-2.9 3.7-6.7-9.1 6.8-9 2.8 3.5-1.4 1.8 1.3 1.8L208 342l-1.3-1.8-2.8 3.7-1.3-1.9 4-5.5-1.3-1.8 6.8-9.1v-3.7l-9.5 12.8 1.3 1.8-4 5.5 2.7 3.7-2.8 3.6-4.1-5.4-9.7 13 9.7 12.6 4.1-5.5 2.8 3.6-2.8 3.7 4.1 5.5-1.3 1.8 9.5 12.8z"/>
+      <path d="M212.1 345.6l-1.4 3.6v5.5h-4l-2.8 1.9 2.7 1.8h4.1v5.5l1.4 3.6v-22z"/>
+    </g>
+    <path fill="#faae29" stroke-width="1pt" d="M47.5 34.7v-3.6l6.8-9.2-1.3-1.8 4-5.5-1.3-1.8-2.7 3.7-1.4-1.9 9.6-12.8 1.4 1.9-1.4 1.8L64 9.2 70.8 0h2.8L64 12.8l-4.2-5.5-2.7 3.7 2.7 3.6-4 5.5L57 22l-9.5 12.8zm0-34.7h8.3L53 1.8h-4v5.5L47.4 11V0zm164.6 34.7v-3.6l-6.8-9.2 1.4-1.8-4.1-5.5 1.3-1.8 2.8 3.7 1.3-1.9-9.6-12.8-1.3 1.9 1.3 1.8-2.8 3.7-6.8-9.2H186l9.7 12.8 4.1-5.5 2.8 3.7-2.8 3.6 4.1 5.5-1.3 1.8 9.5 12.8zm0-34.7h-8.2l2.7 1.8h4.1v5.5l1.4 3.7V0z"/>
+    <path fill="#faae29" d="M116.1 504.7s6-10.4 20.8-13.5c14.9-3.2 17.5 6.9 26 6.9s22-7 22-7-13.5 13.3-24 13c-10.3-.3-13.8-7-24.5-6-10.6 1-20.3 6.9-20.3 6.6z"/>
+    <path fill="#faae29" d="M144.8 504.7s-5.9-10.4-20.7-13.5c-15-3.2-17.5 6.9-26 6.9s-22-7-22-7 13.5 13.3 23.9 13c10.4-.3 14-7 24.5-6 10.7 1 20.3 6.9 20.3 6.6z"/>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M96.2 487.5c-1.3-2.7-4.6-14.7-2.9-16.2 2.7-1 9.7 11.3 9 22.2-4.6 2.5-20-1-19.9-4.2 1.1-4.5 9.9-3 13.8-1.8z"/>
+      <path d="M86.8 477c-.8-3-2.2-15.6-.2-16.6 2.7-.2 7.6 13.7 5.3 24.2-4.9 1.2-19.5-6.5-18.8-9.6 1.8-4 10-.2 13.7 2z"/>
+      <path d="M79.2 465.4c-.6-3.2-.8-16 1.2-16.6 2.7.2 6.4 14.8 3.2 24.9-5 .4-18.8-9.6-17.8-12.5 2-3.8 10 1.3 13.4 4.2z"/>
+      <path d="M73.2 453c-.2-3.3 1-16 3.1-16.2 2.7.7 4.6 15.9.2 25.2-4.9-.6-17.4-13.3-16-16 2.4-3.3 9.7 3.4 12.7 7z"/>
+      <path d="M69 439.9c.2-3.3 2.8-15.5 4.9-15.4 2.5 1.3 2.8 16.6-2.5 25-4.8-1.6-15.9-16.5-14.3-19 2.9-2.8 9.3 5.3 12 9.4z"/>
+      <path d="M70.2 425c-.3 13-2.7 13.2-7 3.6-2-3.7-2.2-18.7-.5-19.3 2.5 0 7.4 10.7 7.5 15.7z"/>
+    </g>
+    <g fill="#faae29" stroke-width="1pt">
+      <path d="M164 489c1.3-2.8 4.6-14.8 2.9-16.3-2.7-1-9.6 11.2-9 22.2 4.6 2.5 20.1-1 19.9-4.2-1.1-4.5-9.8-3-13.8-1.8z"/>
+      <path d="M173.4 478.4c.9-3 2.2-15.6.3-16.6-2.7-.2-7.7 13.6-5.3 24.2 4.8 1.2 19.5-6.5 18.7-9.6-1.7-4.1-10-.2-13.7 2z"/>
+      <path d="M181 466.8c.6-3.2.8-16-1.2-16.6-2.7.2-6.4 14.7-3.1 24.8 5 .4 18.8-9.5 17.8-12.5-2.2-3.8-10 1.4-13.5 4.3z"/>
+      <path d="M187 454.3c.2-3.2-1-15.9-3.1-16.1-2.7.7-4.6 15.9-.2 25.2 5-.6 17.4-13.3 16.1-16-2.5-3.4-9.7 3.4-12.8 6.9z"/>
+      <path d="M191.2 441.2c-.1-3.2-2.8-15.5-4.8-15.3-2.6 1.2-2.9 16.6 2.5 25 4.8-1.6 15.8-16.5 14.2-19-2.9-2.8-9.3 5.3-12 9.3z"/>
+      <path d="M190 426.4c.4 13 2.7 13.1 7 3.5 2-3.6 2.2-18.7.5-19.2-2.5 0-7.4 10.7-7.5 15.7z"/>
+    </g>
+    <g transform="matrix(.99985 0 0 1.26515 188.3 -77)">
+      <path fill="#ca3745" stroke="#000" stroke-width=".1" d="M-3.5 290.6H-9v3.5h-5.3v3.5h-21.2l-3.6 3.6 1.8 1.8h8.9l1.7-1.8h-8.8l1.7-1.8h12.4l-5.3 5.3H-39l-3.5-1.7-3.6 1.7h-12.4l-5.3-5.3h12.4l1.8 1.8h-8.9l1.8 1.8h8.9l1.7-1.8-3.5-3.6h-19.5v-3.5h-5.3v-3.5h-5.3v-16h5.3v-3.5h5.3v-3.6h19.5l3.5-3.5-1.7-1.8h-8.9l-1.8 1.8h8.9l-1.8 1.7h-12.4l5.3-5.3H-46l3.6 1.8 3.5-1.8h12.4l5.3 5.3h-12.4l-1.7-1.7h8.8l-1.8-1.8h-8.8L-39 264l3.6 3.5h21.2v3.6h5.3v3.5h5.4v16z" transform="matrix(1.4884 0 0 1.24 3.5 -39.5)"/>
+      <path fill="#28ae66" stroke="#faae29" stroke-width="1.4" d="M375.6 499.7v24.8h10.6v7h10.6v7h35.5l14.2 10.7 14.1-10.6h39v-7l10.6-.1v-7H521v-24.9h-10.7v-7h-10.6v-7.2h-39l-14.1-10.6-14.2 10.6h-35.5v7.2h-10.6v7h-10.6z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#ca3745" d="M-75.6 296.6l-15.8 11v-11h15.8zm31.6 0l15.9 11v-11H-44zm-31.6 28.6l-15.8-11v11h15.8zm31.6 0l15.9-11v11H-44zm5.3-22l-5.3 4.4h10.6l-5.3-4.4zm-42.2 0l-5.2 4.4h10.5l-5.3-4.4zm0 15.4l-5.2-4.4h10.5l-5.3 4.4zm42.2 0l-5.3-4.4h10.6l-5.3 4.4z"/>
+      <path fill="#faae29" d="M-59.8 329.6l-5.3-4.4h10.6l-5.3 4.4zm0-22l-5.3-4.4h10.6l-5.3 4.4zm0-15.4l-5.3 4.5h10.6l-5.3-4.5zm0 22l-5.3 4.4h10.6l-5.3-4.4z"/>
+      <path fill="#faae29" stroke="#000" stroke-width=".1" d="M467.7 506.7H482v3.5h-14.2z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#c00" stroke="#000" stroke-width=".1" d="M414.6 510.2h7v3.6h-7zm56.7 0h7v3.6h-7z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#900" stroke="#000" stroke-width=".1" d="M439.4 489h14.1v3.5h-14.1zm0 7h14.1v3.6h-14.1z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#900" stroke="#000" stroke-width=".1" d="M435.8 492.5h21.3v3.6h-21.3zm3.6 32h14.1v3.4h-14.1zm0 7h14.1v3.5h-14.1zm-3.6-3.5h21.3v3.5h-21.3z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <path fill="#faae29" stroke="#000" stroke-width=".1" d="M467.7 513.8H482v3.5h-14.2zm-56.7-7.1h14.2v3.5H411zm0 7h14.2v3.6H411zm-3.5-3.5h7v3.6h-7zm14.2 0h7v3.6h-7zm42.5 0h7v3.6h-7zm14.2 0h7v3.6h-7z" transform="matrix(.74419 0 0 .62 -392 -6.5)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -374.1 -39)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -367.6 -39)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -361 -39)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.5 -41.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -41.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.6 -36.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -36.7)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -353.2 -50)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -346.6 -50)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -340 -50)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -350.5 -52.2)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -342.7 -52.2)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -350.6 -47.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -342.7 -47.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -374.2 -60.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -367.6 -60.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -361 -61)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.6 -63.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -63.1)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -371.6 -58.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -363.7 -58.7)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -395.3 -49.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -388.7 -49.8)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -382.1 -49.9)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -392.6 -52)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -384.8 -52)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -392.7 -47.7)"/>
+      <circle cx="413.7" cy="582" r=".9" fill="#fff" transform="matrix(.74419 0 0 .62 -384.8 -47.6)"/>
+    </g>
+    <path fill="#fff" d="M138.9 255.8l4.5-2.2 4.6 2.2h-9.1zm-13.6 0l4.5-2.2 4.6 2.2h-9.1zm-13.6 0l4.5-2.2 4.6 2.2h-9.1zm27.2-49l4.5 2.2 4.6-2.1h-9.1zm-13.6 0l4.5 2.2 4.6-2.1h-9.1zm-13.6 0l4.5 2.2 4.6-2.1h-9.1z"/>
+    <path fill="#28ae66" d="M135.1 262.1l-5.3 4.3-5.3-4.3-5.3 4.3-5.3-4.3v2.2l3.6 2-1.8 2.2v2.1h1.8l1.7-2 1.8 2h1.8v-2l-1.8-2.2 3.5-2.1 3.6 2-1.8 2.2v2.1h1.8l1.7-2 1.8 2h1.7v-2l-1.7-2.2 3.5-2.1 3.5 2-1.7 2.2v2.1h1.7l1.8-2 1.8 2h1.7v-2l-1.7-2.2 3.5-2.1V262l-5.3 4.3-5.3-4.3zm0-61.6l-5.3-4.3-5.3 4.3-5.3-4.3-5.3 4.3v-2.1l3.6-2.2-1.8-2V192h1.8l1.7 2.1 1.8-2.1h1.8v2.1l-1.8 2.2 3.5 2 3.6-2-1.8-2.2V192h1.8l1.7 2.1 1.8-2.1h1.7v2.1l-1.7 2.2 3.5 2 3.5-2-1.7-2.2V192h1.7l1.8 2.1 1.8-2.1h1.7v2.1l-1.7 2.2 3.5 2v2.2l-5.3-4.3-5.3 4.3zm40 35.4l5.8-4.6-5.7-4.6 5.7-4.6-5.7-4.6h2.8l2.9 3 2.8-1.5h2.8v1.6l-2.8 1.5 2.8 1.5v1.6h-2.8l-2.8-1.6-2.9 3.1 2.9 3 2.8-1.4h2.8v1.5l-2.8 1.5 2.8 1.5v1.6h-2.8l-2.8-1.6-2.9 3.1 2.9 3 2.8-1.5h2.8v1.6l-2.8 1.5 2.8 1.6v1.5h-2.8l-2.8-1.5-2.9 3h-2.8l5.7-4.6-5.7-4.6zm-90.6 0l-5.7-4.6 5.7-4.6-5.7-4.6 5.7-4.6h-2.9l-2.8 3L76 219h-3v1.6l3 1.4-2.9 1.5v1.6H76l2.8-1.6 2.8 3.1-2.8 3-2.8-1.4h-3v1.5l2.9 1.5-2.9 1.5v1.6h3l2.8-1.6 2.8 3.1-2.8 3.1-2.8-1.5h-3v1.5l2.9 1.5L73 242v1.5h3l2.8-1.5 2.8 3h2.9l-5.7-4.6 5.7-4.6z"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".3" d="M-26.6 214.4h1.8v1.7h-1.8zm-1.8 1.7h1.8v1.8h-1.7zm-8.8 8.9h1.8v1.8h-1.8zm1.8-1.8h1.7v1.8h-1.7zm-58.5 0h1.8v1.8H-94zm-8.9-8.8h1.8v1.7h-1.8zm1.8 1.7h1.8v1.8h-1.8zm0-39h1.8v1.8h-1.8zm-1.8 1.8h1.8v1.8h-1.8zm10.7-10.6h1.7v1.8H-92zm-1.8 1.8h1.8v1.8H-94zm56.7-1.8h1.8v1.8h-1.8zm1.8 1.8h1.7v1.8h-1.7zm7 7h1.8v1.8h-1.7zm1.8 1.9h1.8v1.7h-1.8zM-92 225h1.7v1.8H-92z" transform="matrix(1.2798 0 0 1.1995 211.4 -5.6)"/>
+    <path fill="#fff" d="M122.9 231.3h-6.7v-4.2h4.5v-3.9h4.4v-3.6h4.5v4.5c-3.7 0-6.7 3-6.7 7.2z"/>
+    <path fill="#faae29" d="M136.3 231.3h6.7v-4.2h-4.5v-3.9H134v-3.6h-4.4v4.5c3.7 0 6.7 3 6.7 7.2z"/>
+    <path fill="#fff" d="M136.3 231.3h6.7v4.2h-4.5v3.9H134v3.6h-4.4v-4.5c3.7 0 6.7-3 6.7-7.2z"/>
+    <path fill="#faae29" d="M122.9 231.3h-6.7v4.2h4.5v3.9h4.4v3.6h4.5v-4.5c-3.7 0-6.7-3-6.7-7.2z"/>
+    <path fill="#28ae66" d="M136.3 231.3h-6.7v-7.2c3.7 0 6.7 3.3 6.7 7.2z"/>
+    <path fill="#ca3745" d="M136.3 231.3h-6.7v7.2c3.7 0 6.7-3.2 6.7-7.2z"/>
+    <path fill="#28ae66" d="M122.9 231.3h6.7v7.2c-3.7 0-6.7-3.2-6.7-7.2z"/>
+    <path fill="#ca3745" d="M122.9 231.3h6.7v-7.2c-3.7 0-6.7 3.3-6.7 7.2z"/>
+    <path fill="#28ae66" d="M136.6 257.9l-6.8-4.3-6.8 4.3-6.8-4.3-6.8 4.3v-2.1l4.5-2.2-2.2-2.1v-2.1h2.2l2.3 2.1 2.3-2.1h2.3v2.1l-2.3 2.1 4.5 2.2 4.6-2.2-2.3-2.1v-2.1h2.3l2.2 2.1 2.3-2.1h2.3v2.1l-2.3 2.1 4.5 2.2 4.6-2.2-2.3-2.1v-2.1h2.3l2.2 2.1 2.3-2.1h2.3v2.1l-2.3 2.1 4.5 2.2v2l-6.8-4.2-6.8 4.3zm0-53.1l-6.8 4.2-6.8-4.2-6.8 4.2-6.8-4.2v2l4.5 2.2-2.2 2.1v2.2h2.2l2.3-2.2 2.3 2.2h2.3V211l-2.3-2 4.5-2.2 4.6 2.1-2.3 2.1v2.2h2.3l2.2-2.2 2.3 2.2h2.3V211l-2.3-2 4.5-2.2 4.6 2.1-2.3 2.1v2.2h2.3l2.2-2.2 2.3 2.2h2.3V211l-2.3-2 4.5-2.2v-2.1l-6.8 4.2-6.8-4.2zm25 31.8l-3.4-5.3 3.4-5.3-3.4-5.3 3.4-5.3h-1.7l-1.7 3.5-1.7-1.8h-1.7v1.8l1.7 1.8-1.7 1.8v1.7h1.7l1.7-1.7 1.7 3.5-1.7 3.5-1.7-1.7h-1.7v1.7l1.7 1.8-1.7 1.8v1.8h1.7l1.7-1.8 1.7 3.5-1.7 3.6-1.7-1.8h-1.7v1.8l1.7 1.7-1.7 1.8v1.8h1.7l1.7-1.8 1.7 3.6h1.7l-3.4-5.4 3.4-5.3z"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".4" d="M-101 177.2l-7 7v26.6l7 7.1h32l7-7v-26.6l-7.1-7.1H-101zm-1.8-5.4l-17.7 17.8v16l17.8 17.6h35.4l17.7-17.7v-16l-17.7-17.7h-35.4z" transform="matrix(1.2798 0 0 1.1995 238.7 -5.6)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 .79966 215 140.3)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 -.79966 215 322.3)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 -.79966 229.6 322.3)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 .79966 229.6 140.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 -.79966 207.8 322.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 -.79966 222.3 322.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 -.79966 236.8 322.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(1.9196 0 0 -1.7991 303.3 576.6)"/>
+    <path fill="#28ae66" d="M98 236.6l3.5-5.3L98 226l3.4-5.3-3.4-5.3h1.7l1.7 3.5 1.7-1.8h1.7v1.8l-1.7 1.8 1.7 1.8v1.7h-1.7l-1.7-1.7-1.7 3.5 1.7 3.5 1.7-1.7h1.7v1.7l-1.7 1.8 1.7 1.8v1.8h-1.7l-1.7-1.8-1.7 3.5 1.7 3.6 1.7-1.8h1.7v1.8l-1.7 1.7 1.7 1.8v1.8h-1.7l-1.7-1.8-1.7 3.6H98l3.4-5.4-3.4-5.3z"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.2798 0 0 1.07958 261.3 59.2)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".4" d="M-99.2 180.7l-3.6 3.6v26.5l3.6 3.6h-5.3v-33.7h5.3z" transform="matrix(1.2798 0 0 1.1995 229.6 -5.6)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 .79966 207.8 140.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 .79966 222.3 140.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-93.9 147l3.5 5.4 3.6-5.4H-94z" transform="matrix(1.02384 0 0 .79966 236.8 140.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".4" d="M-99.2 180.7l-3.6 3.6v26.5l3.6 3.6h-5.3v-33.7h5.3z" transform="matrix(-1.2798 0 0 1.1995 30 -5.6)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(-1.9196 0 0 -1.7991 -43.6 576.6)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(-1.9196 0 0 1.7991 -43.6 -114)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-104.5 180.7l3.5-3.5h-3.5v3.5z" transform="matrix(1.9196 0 0 1.7991 303.3 -114)"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".4" d="M-101 177.2l-7 7v26.6l7 7.1h32l7-7v-26.6l-7.1-7.1H-101zm0-1.8l-8.8 8.8v26.6l8.8 8.9h32l8.8-8.9v-26.6l-8.9-8.8H-101z" transform="matrix(1.2798 0 0 1.1995 238.7 -5.6)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.2798 0 0 1.07965 261.3 63)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.2798 0 0 1.07958 261.3 66.8)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.2798 0 0 1.07965 261.3 70.6)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(1.2798 0 0 1.07965 261.3 55.3)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.2798 0 0 1.07958 -1.7 59.2)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.2798 0 0 1.07965 -1.7 63)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.2798 0 0 1.07958 -1.7 66.8)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.2798 0 0 1.07965 -1.7 70.6)"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".3" d="M-76.2 154.1h7.1l1.8 1.8-1.8 1.8h-7V154z" transform="matrix(-1.2798 0 0 1.07965 -1.7 55.3)"/>
+    <path fill="#970000" stroke="#000" stroke-width=".3" d="M-101 179v37h8.9v8.9h56.7V216h8.8v-37h-8.8v-8.8h-56.7v8.8h-8.9zm1.8 1.7v33.7h8.8v8.8h53.2v-8.8h8.9v-33.7h-8.9V172h-53.2v8.8h-8.8z" transform="matrix(1.2798 0 0 1.1995 211.4 -5.6)"/>
+    <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M-28.4 69.1l-5.3-7.1v-5.3l-5.3-5.3h-10.6l-8.9-5.3h-28.3l-8.9 5.3h-10.6l-5.3 5.3V62l-5.3 7v14.3l5.3 7v5.4l5.3 5.3h10.6l8.9 5.3h28.3l8.9-5.3H-39l5.4-5.3v-5.3l5.3-7.1V69z" transform="matrix(1.2798 0 0 1.1535 222.8 -36.7)"/>
+    <path fill="#faae29" d="M75.4 51.2v6.1l6.8 8.2v6.1l6.8 6.2h13.6l11.4 6h15.8V51.3H75.4z"/>
+    <path fill="#ca3745" d="M110.7 65.5l-8.3 5.3h-5l1.7 1.7-3.3 3.5 1.7 1.8 5-1.8 1.6 1.8.7-4.7 9.2-5.6-3.3-2z"/>
+    <path fill="#ca3745" d="M101.6 61.4l-8.3 5.3h-4.9l1.6 1.7-3.2 3.5 1.6 1.8 5-1.8 1.6 1.8.8-4.7 9.1-5.5-3.3-2zm-4.5-8.2l-8.3 5.3h-5l1.7 1.8-3.3 3.5 1.7 1.7 5-1.8 1.6 1.8.7-4.7 9.2-5.5-3.3-2z"/>
+    <path fill="#faae29" d="M184.2 51.2v-6.1l-6.8-8.2v-6.1l-6.8-6.2H157l-11.3-6.1h-15.9v32.7h54.4z"/>
+    <path fill="#ca3745" d="M129.8 83.9h-4.2l-4.8-4.1H113l-4.2-2 2.1-2 4.2 2h4.2l4.2-6.2 6.3 2v4.2h-6.3l6.3 6z"/>
+    <path fill="#fff" d="M75.4 51.2v-6.1l6.8-8.2v-6.1l6.8-6.2h13.6l11.4-6.1h15.8v32.7H75.4z"/>
+    <path fill="#ca3745" d="M129.8 18.5h-4.2l-4.8 4H113l-4.2 2.1 2.1 2 4.2-2h4.2l4.2 6.2 6.3-2v-4.2h-6.3l6.3-6.1z"/>
+    <path fill="#ca3745" d="M129.8 18.5h4.2l4.9 4h7.7l4.2 2.1-2 2-4.3-2h-4.2l-4.2 6.2-6.3-2v-4.2h6.3l-6.3-6.1z"/>
+    <path fill="#fff" d="M184.2 51.2v6.1l-6.8 8.2v6.1l-6.8 6.2H157l-11.3 6h-15.9V51.3h54.4z"/>
+    <path fill="#ca3745" d="M129.8 83.9h4.2l4.9-4.1h7.7l4.2-2-2-2-4.3 2h-4.2l-4.2-6.2-6.3 2v4.2h6.3l-6.3 6zm-28.2-43l-8.3-5.2h-4.9L90 34l-3.2-3.5 1.6-1.8 5 1.8 1.6-1.8.8 4.7 9.1 5.5-3.3 2zm47.4-4l8.2-5.3h5l-1.7-1.7 3.3-3.5-1.6-1.8-5 1.8-1.6-1.8-.8 4.7-9.1 5.6 3.3 2z"/>
+    <path fill="#ca3745" d="M110.7 36.9l-8.3-5.3h-5l1.7-1.7-3.3-3.5 1.7-1.8 5 1.8 1.6-1.8.7 4.7 9.2 5.5-3.3 2zM97 49.2l-8.3-5.3h-5l1.7-1.8-3.3-3.5L84 37l5 1.8 1.6-1.8.7 4.7 9.2 5.5-3.3 2z"/>
+    <path fill="#fff" d="M79.5 51.2h2l2.1 2 2.1-2h44.1v28.6h-2l2 2V84l-6.3-6.1v-2h2.1v2h2.1v-2l-17-9H96.3v-9L90 53.4h-4.2l-2.1 2 2 2h-2l-4.2-6z"/>
+    <path fill="#faae29" d="M79.5 51.2h2l2.1-2 2.1 2h44.1V22.6h-2l2-2v-2.1l-6.3 6.1v2h2.1v-2h2.1v2l-17 9.1H96.3v8.9L90 49.2h-4.2l-2.1-2 2-2.1h-2l-4.2 6.1z"/>
+    <path fill="#28ae66" d="M89 51.2h40.8v24.5l-18.1-10.2H98.1v-8.2l-9-6.1z"/>
+    <path fill="#ca3745" d="M158 41l8.3-5.3h5l-1.7-1.7 3.3-3.5-1.6-1.8-5 1.8-1.6-1.8-.8 4.7-9.1 5.5 3.2 2zm4.6 8.2l8.3-5.3h4.9l-1.7-1.8 3.3-3.5-1.6-1.7-5 1.8-1.6-1.8-.8 4.7-9.1 5.5 3.3 2z"/>
+    <path fill="#fff" d="M180.2 51.2h-2.1l-2.1-2-2.1 2h-44.1V22.6h2.1l-2.1-2v-2.1l6.3 6.1v2H134v-2h-2.1v2l17 9.1h14.4v8.9l6.4 4.6h4.2l2-2-2-2.1h2l4.3 6.1z"/>
+    <path fill="#28ae66" d="M170.6 51.2h-40.8V26.7L148 36.9h13.6v8.2l9.1 6.1z"/>
+    <path fill="#ca3745" d="M149 65.5l8.2 5.3h5l-1.7 1.7 3.3 3.5-1.6 1.8-5-1.8-1.6 1.8-.8-4.7-9.1-5.6 3.3-2z"/>
+    <path fill="#ca3745" d="M158 61.4l8.3 5.3h5l-1.7 1.7 3.3 3.5-1.6 1.8-5-1.8-1.6 1.8-.8-4.7-9.1-5.5 3.2-2zm4.6-8.2l8.3 5.3h4.9l-1.7 1.7 3.3 3.5-1.6 1.8-5-1.8-1.6 1.8-.8-4.7-9.1-5.5 3.3-2z"/>
+    <path fill="#faae29" d="M180.2 51.2h-2.1l-2.1 2-2.1-2h-44.1v28.6h2.1l-2.1 2V84l6.3-6.1v-2H134v2h-2.1v-2l17-9h14.4v-9l6.4-4.5h4.2l2 2-2 2h2l4.3-6z"/>
+    <path fill="#ca3745" d="M170.6 51.2h-40.8v24.5L148 65.5h13.6v-8.2l9.1-6.1zm-81.6 0h40.8V26.7l-18.1 10.2H98.1v8.2l-9 6.1z"/>
+    <path fill="#ca3745" d="M134.3 51.2l11.4-6.1h6.8l-2.3-2 4.6-4.2-2.3-2-6.8 2-2.3-2-1 5.5-12.6 6.4 4.5 2.4zm-9 0L114 57.3h-6.8l2.2 2-4.5 4.2 2.3 2 6.8-2 2.2 2 1-5.5 12.6-6.4-4.5-2.4z"/>
+    <path fill="#28ae66" d="M125.3 51.2L114 45.1h-6.8l2.3-2-4.5-4.2 2.3-2 6.8 2 2.2-2 1 5.5 12.6 6.4-4.5 2.4zm9 0l11.4 6.1h6.8l-2.3 2 4.6 4.2-2.3 2-6.8-2-2.3 2-1-5.5-12.6-6.4 4.5-2.4z"/>
+    <path fill="#fff" d="M116.2 51.2L129.8 41l13.6 10.2-13.6 10.2-13.6-10.2z"/>
+    <path fill="#ca3745" d="M85.7 55.3l2.1 2-2 2h-2.2l-6.3-8.1h2.1l4.2 6.1h2.1l-2-2 2-2H90v2h-4.2z"/>
+    <path fill="#ca3745" d="M85.7 47.1l2.1-2-2-2h-2.2l-6.3 8.1h2.1l4.2-6.1h2.1l-2 2 2 2H90v-2h-4.2zm88.2 8.2l-2 2 2 2h2.1l6.3-8.1h-2l-4.3 6.1h-2l2-2-2-2h-4.3v2h4.2z"/>
+    <path fill="#ca3745" d="M174 47.1l-2.2-2 2.1-2h2.1l6.3 8.1h-2l-4.3-6.1h-2l2 2-2 2h-4.3v-2h4.2zm-46.3-4h4.2v16.3h-4.2z"/>
+    <path fill="#ca3745" d="M121.4 47.1h16.8v8.2h-16.8z"/>
+    <path fill="#28ae66" stroke="#000" stroke-width=".1" d="M333 170l-10.6 5.4v8.8l10.7 5.4h10.6l10.6-5.4v-8.8l-10.6-5.3h-10.6z" transform="matrix(3.555 0 0 3.847 -1073.2 -292.2)"/>
+    <path fill="#c00" d="M87.2 396.3h2.2V392H94v4.2h2.3v-9.8H94v4.2h-4.5v-4.2h-2.3v9.8zm57.9 32.6h2.3v-4.2h4.5v4.2h2.3V419H152v4.2h-4.6V419h-2.2v9.8zm-36.6-49h2.3v-4.1h4.6v4.2h2.2v-9.8h-2.2v4.2h-4.6v-4.2h-2.3v9.8zm33.5 0h2.3v-4.1h4.6v4.2h2.3v-9.8h-2.3v4.2h-4.6v-4.2H142v9.8zm21.4 16.4h2.2V392h4.6v4.2h2.3v-9.8h-2.3v4.2h-4.6v-4.2h-2.2v9.8zm0 16.3h2.2v-4.2h4.6v4.2h2.3v-9.8h-2.3v4.2h-4.6v-4.2h-2.2v9.8z"/>
+    <path fill="#faae29" d="M129.8 435.4v-35.9h54.9v16.3L148 435.4h-18.3zm0-71.7v35.8H75v-16.3l36.5-19.5h18.3z"/>
+    <path fill="#fff" d="M129.8 363.7v35.8h54.9v-16.3L148 363.7h-18.3zm0 71.7v-35.9H75v16.3l36.5 19.6h18.3z"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(1.0321 0 0 .92 342 45.9)"/>
+    <path fill="#ca3745" d="M111.5 388.1V411h5.5l12.8 6.6 12.8-6.6h5.5v-22.8h-5.5l-12.8-6.5-12.8 6.5h-5.5z"/>
+    <path fill="#faae29" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(-1.0321 0 0 -.92 -82.3 753.2)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(-1.0321 0 0 .92 -82.3 45.9)"/>
+    <path fill="#fff" stroke="#000" stroke-width=".1" d="M-177.2 368.5h21.3l-21.3-10.6v10.6zm24.8-1.8v17.7H-186v-14.1h-7.1l-8.9-5.3v-12.4l5.4-5.4h-7.1V365h-1.8v-19.5h17.7l35.4 21.2z" transform="matrix(1.0321 0 0 -.92 342 753.2)"/>
+    <path fill="#ca3745" d="M86 412.6h2.2v-5h4.6v5h2.3v-11.4h-2.3v4.9h-4.6v-5H86v11.5zm21.9 16.3h2.3v-5h4.5v5h2.3v-11.4h-2.3v4.9h-4.5v-5h-2.3V429zm-22-42.4h2.3v4.9h4.6v-5h2.3V398h-2.3v-5h-4.6v4.9H86v-11.4zm22-16.3h2.3v4.9h4.5v-5h2.3v11.5h-2.3v-4.9h-4.5v5h-2.3v-11.5zm34.7 58.7h2.3v-5h4.6v5h2.3v-11.4h-2.3v4.9h-4.6v-5h-2.3V429zm22-31h2.3V393h4.5v5h2.3v-11.5h-2.3v4.9H167v-5h-2.3V398z"/>
+    <path fill="#ca3745" d="M142.6 428.9h2.3v-5h4.6v5h2.3v-11.4h-2.3v4.9h-4.6v-5h-2.3V429z"/>
+    <path fill="#ca3745" d="M142.6 428.9h2.3v-5h4.6v5h2.3v-11.4h-2.3v4.9h-4.6v-5h-2.3V429zm22-16.3h2.3v-5h4.5v5h2.3v-11.4h-2.3v4.8H167v-4.9h-2.3v11.5zm-22-31h2.3v-4.9h4.6v5h2.3v-11.5h-2.3v4.9h-4.6v-5h-2.3v11.5z"/>
+    <path fill="#fff" d="M131.7 399.5l7.3-6h3.6v3H139v1.5h5.5v-5.9H139v-4.5h-7.3v4.5h1.8v-3h3.6v3l-7.3 6-7.3-6v-3h3.7v3h1.8v-4.5h-7.3v4.5h-5.5v6h5.5v-1.5H117v-3h3.7l7.3 6-7.3 5.9H117v-3h3.7V401h-5.5v6h5.5v4.4h7.3V407h-1.8v3h-3.7v-3l7.3-6 7.3 6v3h-3.6v-3h-1.8v4.4h7.3V407h5.5v-6H139v1.5h3.6v3H139l-7.3-6z"/>
+    <g transform="matrix(1.0321 0 0 .95838 204.8 18.2)">
+      <path fill="#ca3745" d="M-122.3 134.3l3.4-3.8h20.6l15.4-16.7h20.6l15.4 16.8h20.6l3.4 3.7-3.4 3.7H-47l-15.4 16.8H-83L-98.3 138H-119l-3.4-3.7z"/>
+      <path fill="#ca3745" stroke="#000" stroke-width=".3" d="M372 391.5l2-2h22.8l17.1-19.4h19l17.2 19.5h22.8l1.9 2-1.9 1.9h-22.8L434.8 411H412l-15.2-17.5h-22.9l-1.9-2z" transform="matrix(.93104 0 0 .90908 -466.9 -221.3)"/>
+      <path fill="#faae29" d="M-64 136.2l6.8 7.4-3.4 3.7-1.8-1.8H-64v1.8l1.7 1.9h3.5l3.4-3.7v-3.8l-6.9-7.4 6.9-7.5v-3.7l-3.4-3.7h-3.5l-1.7 1.8v1.9h1.7l1.8-1.9 3.4 3.8-6.9 7.4-6.8-7.4 6.8-7.5v-1.9h-1.7l-6.8 7.5-6.9-7.5h-1.7v1.9l6.8 7.5-6.8 7.4-6.9-7.4 3.5-3.8 1.7 1.9h1.7v-1.9l-1.7-1.8h-3.5l-3.4 3.7v3.7l6.9 7.5-6.9 7.4v3.8l3.4 3.7h3.5l1.7-1.9v-1.8H-83l-1.7 1.8-3.5-3.7 6.9-7.4 6.8 7.4-6.8 7.5v1.8h1.7l6.9-7.4 6.8 7.4h1.7v-1.8l-6.8-7.5 6.8-7.4zm-8.6-9.4l-6.9 7.5 6.9 7.4 6.8-7.4-6.8-7.5zm-10.3 28v15l1.7-2 1.7 2 1.7-2 1.7 2 1.8-2 1.7 2 1.7-2 1.7 2 1.7-2 1.7 2 1.7-2 1.8 2v-15H-83zm20.6-41v-15l-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2v15h20.6zm29 16.8v-15l-1.6 2-1.7-2-1.7 2-1.8-2-1.7 2-1.7-2-1.7 2-1.7-2v15h13.7zm-65 0v-15l-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2v15h13.7zm65.1 7.4v15l-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2-1.7-2-1.7 2v-15h13.7zm-65.2 0v15l-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.7 2-1.8-2-1.7 2v-15h13.7z"/>
+      <path fill="#28ae66" d="M-62.4 154.8v9.3l1.8-1.9 1.7 2 1.7-2 1.7 2 1.7-2 1.7 2 1.8-2 1.7 2 1.7-2V138l-15.5 16.8zm-20.5 0v9.3l-1.8-1.9-1.7 2-1.7-2-1.7 2-1.7-2-1.7 2-1.7-2-1.7 2-1.8-2V138l15.5 16.8zm0-41v-9.3l-1.8 1.8-1.7-1.8-1.7 1.8-1.7-1.8-1.7 1.8-1.7-1.8-1.7 1.8-1.7-1.8-1.8 1.8v24.3l15.5-16.8zm20.5 0v-9.3l1.8 1.8 1.7-1.8 1.7 1.8 1.7-1.8 1.7 1.8 1.7-1.8 1.7 1.8 1.8-1.8 1.7 1.8v24.3l-15.5-16.8zm-49.7 35.4l-1.7-1.9-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2v-30l1.7 2 1.7-2 1.8 2 1.7-2 1.7 2 1.7-2 1.7 2 1.7-2v11.3h-6.8l-3.5 3.7 3.5 3.7h6.8v11.2zm78.9 0l1.7-1.9 1.7 2 1.7-2 1.8 2 1.7-2 1.7 2 1.7-2 1.7 2v-30l-1.7 2-1.7-2-1.7 2-1.7-2-1.8 2-1.7-2-1.7 2-1.7-2v11.3h6.9l3.4 3.7-3.4 3.7h-6.9v11.2z"/>
+      <path fill="#fff" d="M-91.4 156s-1.4 1.4-1.4 2.2c0 .7 1.5 2.2 2.2 2.2.8 0 2.1-1.5 2.1-2.2s-1.4-2.2-1.4-2.2v-3s3 5.1 3 2.9c0-1.6-3-4.3-3-4.3h-1.5s-3 3.2-3 4.3c0 2.2 3-2.9 3-2.9v3z"/>
+      <path fill="#ca3745" d="M-73.5 161.7s-1.7 2-1.7 3 1.8 3.2 2.6 3.2c1 0 2.5-2.1 2.5-3.1s-1.7-3.1-1.7-3.1v-4.2s3 6.8 3 3.7c0-2-3-5.7-3-5.7h-1.7s-3.5 4.6-3 5.7c0 3.1 3-3.7 3-3.7v4.2z"/>
+      <ellipse cx="403.9" cy="391.5" fill="#28ae66" rx="3.5" ry="1.8" transform="matrix(.96774 0 0 1.0526 -482.4 -277.9)"/>
+      <ellipse cx="403.9" cy="391.5" fill="#28ae66" rx="3.5" ry="1.8" transform="matrix(.96774 0 0 1.0526 -463.5 -277.9)"/>
+      <ellipse cx="403.9" cy="391.5" fill="#28ae66" rx="3.5" ry="1.8" transform="matrix(.96774 0 0 1.0526 -444.7 -277.9)"/>
+      <path fill="#fff" d="M-91.7 112.8s-1.4-1.5-1.4-2.2c0-.7 1.5-2.3 2.1-2.3.8 0 2.1 1.5 2.1 2.2 0 .8-1.4 2.3-1.4 2.3v3s3.1-5.2 3.1-3c0 1.6-3 4.4-3 4.4h-1.5s-3.1-3.2-3.1-4.3c0-2.2 3 2.8 3 2.8v-3z"/>
+      <path fill="#ca3745" d="M-73.9 107s-1.7-2-1.7-3 1.9-3.1 2.6-3.1c1 0 2.6 2 2.6 3s-1.7 3.2-1.7 3.2v4s3-6.7 3-3.6c0 2-3 5.8-3 5.8H-74s-3.5-4.7-3-5.8c0-3 3 3.7 3 3.7V107z"/>
+      <path fill="#fff" d="M-54.9 156s-1.4 1.4-1.4 2.2c0 .7 1.5 2.2 2.2 2.2.8 0 2.1-1.5 2.1-2.2s-1.4-2.2-1.4-2.2v-3s3 5.1 3 2.9c0-1.6-3-4.3-3-4.3H-55s-3 3.2-3 4.3c0 2.2 3-2.9 3-2.9v3zm-.3-43.2s-1.4-1.5-1.4-2.3c0-.6 1.5-2.2 2.1-2.2.8 0 2.1 1.5 2.1 2.2 0 .8-1.4 2.3-1.4 2.3v3s3.1-5.2 3.1-3c0 1.6-3 4.4-3 4.4h-1.5s-3.1-3.2-3.1-4.3c0-2.2 3 2.8 3 2.8v-3z"/>
+      <path fill="#ca3745" d="M-106.3 145.6s-1.9 1.4-1.9 2c0 .7 2 2.2 2.9 2.1 1 0 2.8-1.3 2.8-2s-1.9-2.1-1.9-2.1v-2.8s3.4 4.5 3.4 2.5c0-1.4-3.4-3.9-3.4-3.9h-1.9s-3.9 3.2-3.3 3.9c0 2 3.3-2.5 3.3-2.5v2.8zm-.4-21.1s-1.9-1.4-1.9-2.1c0-.7 2-2.1 2.9-2 1 0 2.8 1.3 2.8 2s-1.9 2-1.9 2v2.8s3.4-4.5 3.4-2.4c0 1.3-3.4 3.8-3.4 3.8h-1.9s-3.9-3.1-3.3-3.8c0-2 3.3 2.4 3.3 2.4v-2.7zm66.3 20.6s-2 1.4-2 2.1c0 .7 2.1 2.1 3 2.1 1 0 2.8-1.4 2.8-2 0-.8-2-2.2-2-2.2v-2.7s3.4 4.5 3.4 2.4c0-1.3-3.3-3.8-3.3-3.8h-2s-3.8 3.1-3.3 3.8c0 2.1 3.4-2.4 3.4-2.4v2.8zm-.4-21s-2-1.4-2-2.1c0-.7 2.1-2.1 3-2.1 1 0 2.8 1.4 2.8 2 0 .8-2 2.1-2 2.1v2.8s3.4-4.5 3.4-2.5c0 1.4-3.3 3.9-3.3 3.9h-2s-3.8-3.1-3.3-3.8c0-2.1 3.4 2.4 3.4 2.4V124z"/>
+      <path fill="#fff" d="M-120.3 145.4c-.6-1.3-.4-1.9-.4-2.6 0-.7 1.7-2 2.3-2 .8 0 2.1 1.4 2.1 2.2 0 .7 0 1.3-.3 2.6l-.8-2.1c-1.1 3-1.2 3-1.8-.1l-1 2zm0-21.5c-.5 1.3-.4 1.9-.4 2.6 0 .7 1.7 2 2.4 2 .8 0 2.1-1.4 2.1-2.2 0-.7 0-1.3-.3-2.6l-.9 2.1c-1-3-1.1-3-1.8.1l-1-2zm92.5 21.2c-.6-1.3-.5-1.9-.5-2.6 0-.7 1.8-2 2.4-2 .8 0 2.1 1.5 2.1 2.2 0 .7 0 1.4-.3 2.6l-.9-2.1c-1 3-1.1 3.1-1.8 0l-1 1.9zm0-21.4c-.6 1.2-.4 1.8-.4 2.6 0 .6 1.7 2 2.3 2 .8 0 2.2-1.5 2.2-2.2 0-.8 0-1.4-.3-2.7l-1 2.2c-1-3.1-1-3.2-1.7 0l-1-2z"/>
+      <path fill="#ca3745" stroke="#000" stroke-width=".1" d="M115.2 177.2v-5.4h-16v-10.6H85v-3.5H72.6v-32H85v-3.5h14.2v-10.6h16v-5.3h21.2v5.3h16v10.6h14.1v3.6H179v31.9h-12.4v3.5h-14.1v10.6h-16v5.3h-21.2zm-1.8 1.7v-5.3h-16V163H83.3v-3.6H70.9V124h12.4v-3.5h14.1v-10.7h16v-5.3h24.8v5.3h16v10.7h14.1v3.5h12.4v35.4h-12.4v3.6h-14.2v10.6h-16v5.3h-24.7z" transform="matrix(1 0 0 .99999 -198.4 -7)"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tn.svg
new file mode 100644
index 0000000..c6aaecb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tn.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tn" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="tn-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#tn-a)" transform="translate(80) scale(.9375)">
+    <path fill="#e70013" d="M-128 0h768v512h-768z"/>
+    <path fill="#fff" d="M385.8 255.8a129.1 129.1 0 11-258.2 0 129.1 129.1 0 01258.2 0z"/>
+    <path fill="#e70013" d="M256.7 341.4a85.7 85.7 0 010-171.3c11.8 0 25.3 2.8 34.4 9.5-62.6 2.3-78.5 55.5-78.5 76.9s10.1 69.1 78.5 76.2c-7.8 5-22.6 8.7-34.4 8.7z"/>
+    <path fill="#e70013" d="M332.1 291.8l-38.9-14.2-25.7 32.4 1.5-41.3-38.8-14.5 39.8-11.4 1.7-41.3 23.2 34.3 39.8-11-25.5 32.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/to.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/to.svg
new file mode 100644
index 0000000..4dd38e4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/to.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-to" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#c10000" d="M0 0h640v480H0z"/>
+    <path fill="#fff" d="M0 0h250v200.3H0z"/>
+    <g fill="#c10000">
+      <path d="M102.8 31.2h39.9v139.6h-39.8z"/>
+      <path d="M192.6 81v40H53V81z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tr.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tr.svg
new file mode 100644
index 0000000..f1910ee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tr.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tr" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#e30a17" d="M0 0h640v480H0z"/>
+    <path fill="#fff" d="M407 247.5c0 66.2-54.6 119.9-122 119.9s-122-53.7-122-120 54.6-119.8 122-119.8 122 53.7 122 119.9z"/>
+    <path fill="#e30a17" d="M413 247.5c0 53-43.6 95.9-97.5 95.9s-97.6-43-97.6-96 43.7-95.8 97.6-95.8 97.6 42.9 97.6 95.9z"/>
+    <path fill="#fff" d="M430.7 191.5l-1 44.3-41.3 11.2 40.8 14.5-1 40.7 26.5-31.8 40.2 14-23.2-34.1 28.3-33.9-43.5 12-25.8-37z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tt.svg
new file mode 100644
index 0000000..19add52
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tt.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tt" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#e00000" fill-rule="evenodd" d="M463.7 480L0 1v478.8l463.7.2zM176.3 0L640 479V.2L176.3 0z"/>
+  <path fill-rule="evenodd" d="M27.7.2h118.6l468.2 479.3H492.2L27.7.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tv.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tv.svg
new file mode 100644
index 0000000..a63338d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tv.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tv" viewBox="0 0 640 480">
+  <defs id="defs830">
+    <clipPath id="tv-a">
+      <path id="path827" fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <path id="rect891" fill="#009fca" fill-opacity="1" stroke-width="11.8" d="M0 0h640v480H0z"/>
+  <path id="path862" fill="#fff40d" fill-rule="evenodd" stroke-width="1pt" d="M593.3 122.7H621l-22.3 15.2 8.5 24.7-22.3-15.3-22.2 15.3 8.5-24.7-22.3-15.2h27.5l8.5-24.7zm-69.2 196.8h27.6l-22.3 15.2 8.5 24.7-22.3-15.3-22.3 15.3 8.6-24.7-22.3-15.2H507l8.5-24.7zm69.2-44.6H621l-22.3 15.2 8.5 24.7-22.3-15.3-22.2 15.3 8.5-24.7-22.3-15.2h27.5l8.5-24.7zM295.8 417.7h27.6L301 432.8l8.6 24.6-22.3-15.2-22.3 15.2 8.6-24.6-22.4-15.3h27.6l8.5-24.6zm62.6-76.5h-27.6l22.3-15.3-8.5-24.6 22.3 15.2 22.3-15.2-8.6 24.6 22.3 15.3h-27.5l-8.5 24.6zm81.3-112.5H412l22.3-15.2-8.5-24.7 22.3 15.3 22.3-15.3-8.6 24.7 22.3 15.2h-27.5l-8.5 24.7zm68.3-23.3h-27.6l22.4-15.3-8.6-24.6 22.3 15.2 22.3-15.2-8.6 24.6 22.4 15.3H525l-8.5 24.6zM439.7 400H412l22.3-15.2L426 360l22.3 15.2 22.3-15.2-8.6 24.7 22.3 15.2h-27.5l-8.5 24.7zm-81.3 19.9h-27.6l22.3-15.2-8.5-24.7 22.3 15.2 22.3-15.2-8.6 24.6L403 420h-27.5l-8.5 24.7z" opacity="1" stop-opacity="1"/>
+  <g id="g1551" transform="scale(.5)">
+    <path id="path1529" fill="#012169" d="M0 0h640v480H0z"/>
+    <path id="path1531" fill="#FFF" d="M75 0l244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/>
+    <path id="path1533" fill="#C8102E" d="M424 281l216 159v40L369 281zm-184 20l6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/>
+    <path id="path1535" fill="#FFF" d="M241 0v480h160V0zM0 160v160h640V160z"/>
+    <path id="path1537" fill="#C8102E" d="M0 193v96h640v-96zM273 0v480h96V0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tw.svg
new file mode 100644
index 0000000..b614e44
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tw.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tw" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="tw-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#tw-a)" transform="scale(.9375)">
+    <path fill="#fe0000" d="M0 0h768v512H0z"/>
+    <path fill="#000095" d="M0 0h385.7v256H0z"/>
+    <path fill="#fff" d="M282.1 178.6l-47.3-9.8 10 47.3-36-32.1-15 46-15.2-45.9-36 32.4 9.8-47.4-47.2 10.1 32-36.1-46-15 46-15.2-32.4-35.8 47.3 9.7-10-47.3 36 32.1 15-46 15.2 45.9 35.9-32.4-9.7 47.4 47.2-10.1-32 36.1 45.9 15-45.9 15.2z"/>
+    <path fill="#000095" d="M238.5 175l-15 7.9-14.5 8.6-17-.6-16.9.2-14.3-9L146 174l-8-15-8.6-14.5.6-16.8-.2-17 9-14.2 8.3-14.8 14.9-7.9 14.6-8.6 16.9.6 17-.2 14.3 9 14.7 8.2 8 14.9 8.6 14.5-.6 16.9.2 16.9-9 14.3z"/>
+    <path fill="#fff" d="M244.6 128.3a51.9 51.9 0 11-103.7 0 51.9 51.9 0 01103.7 0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tz.svg
new file mode 100644
index 0000000..5c80173
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/tz.svg
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-tz" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="tz-a">
+      <path fill-opacity=".7" d="M10 0h160v120H10z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#tz-a)" transform="matrix(4 0 0 4 -40 0)">
+    <path fill="#09f" d="M0 0h180v120H0z"/>
+    <path fill="#090" d="M0 0h180L0 120V0z"/>
+    <path d="M0 120h40l140-95V0h-40L0 95v25z"/>
+    <path fill="#ff0" d="M0 91.5L137.2 0h13.5L0 100.5v-9zM29.3 120L180 19.5v9L42.8 120H29.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ua.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ua.svg
new file mode 100644
index 0000000..a93d06d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ua.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ua" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ffd500" d="M0 0h640v480H0z"/>
+    <path fill="#005bbb" d="M0 0h640v240H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ug.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ug.svg
new file mode 100644
index 0000000..c996cbd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ug.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ug" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="ug-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#ug-a)" transform="translate(80) scale(.9375)">
+    <path fill="#ffe700" fill-rule="evenodd" d="M-128 341.4h768v85.3h-768z"/>
+    <path fill-rule="evenodd" d="M-128 256h768v85.3h-768z"/>
+    <path fill="#de3908" fill-rule="evenodd" d="M-128 170.7h768V256h-768z"/>
+    <path fill="#ffe700" fill-rule="evenodd" d="M-128 85.4h768v85.3h-768z"/>
+    <path fill-rule="evenodd" d="M-128 0h768v85.3h-768z"/>
+    <path fill="#fffdff" fill-rule="evenodd" stroke="#000" d="M335.7 256a79.7 79.7 0 11-159.4 0 79.7 79.7 0 01159.4 0z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" d="M242 194.9l-5.2-9.5c2-2 5.3-3.6 10.7-3.6l-.6 10.5-5 2.6z"/>
+    <path fill="#ffe700" fill-rule="evenodd" stroke="#000" d="M247 192.3l.7-10.5s10.7-.6 16.5 6.4l-5.7 8.2-11.6-4z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" d="M258.6 196.3l5.3-8.2c3.5 3.7 5 6.3 5.5 10.3.1.1-8.3 2.1-8.3 2l-2.5-4.1z"/>
+    <path fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M244.6 331.1s9.9-11.3 29.1-8.9c-2.9-4.7-12.3-4.1-12.3-4.1s-2.8-22-.6-23.2 12 .1 12 .1c1.2 0 3.4-3.4 1.6-5.6-1.7-2.2-6.8-10.5-4.7-12.2 2.1-1.6 13.4 1 13.4 1l-32-41s-3.3-15.5 3.3-23c7.9-6.5 7-13.6 6.8-13.5-1.1-7.2-12-12.3-19.4-5.7-4.3 5.2-1.4 9.2-1.4 9.2s-11.5 3.1-11.9 5.1c-.5 2 12.9-.3 12.9-.3l-1.3 9.1s-26 23.6-6 44l.6-.8s7 8.6 14.3 10.5c7 7 6.3 6 6.3 6s1.3 11.1 0 13.3c-1.7-.5-19.3-1.2-21.9-.2-2.4.8-11.4.3-9.2 15.1l3.3-7.5s-.3 5.3 1.9 7.2c-.4-5.6 2.1-9.4 2.1-9.4s.4 6.2 1.8 7c1.4 1 1.4-10 9-9 7.4.9 12.9.6 12.9.6s2.5 21.4 1.7 23.4c-5.4-1.3-18.4.5-19.2 3.8 7.6-.5 11.1.4 11.1.4s-6.1 5.5-4.2 8.6z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M247.6 214.8s-18.9 20.8-10.7 36.7c.4-2.2.2-3.6.5-3.5-.5-.3 2.3 1.9 2.1 1.5 0-1.2-.8-3.7-.8-3.7l2.5.7-1.5-2.8 3.7.4s-1.3-3.4-.9-3.4l3 .2c-5.4-9.6-.3-17.6 2.1-26.2z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" d="M254.2 196.9s1 7.2-3 9.2c-.5.5-3 1.3-2.6 2.8.4 2 1.5 1.6 3 1.2 4.1-.7 8.9-9.4 2.6-13.2z"/>
+    <path fill="#fff" fill-rule="evenodd" d="M247.2 203a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" d="M241.1 209c-1 .9-6.2 6.3-1 8.3 5.3-1.4 3.8-2.4 5-3.6 0-2.5-2.6-3.1-4-4.6z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#9ca69c" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M252.6 260.5c-.3 1.2-1.5 5.6.1 9 4.6-2 6.7-1.4 8.2-.4-3.7-3-5.2-4.3-8.3-8.6z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M260.4 281.1l.2 10.2s3.6.6 5.2 0 0-7-5.4-10.2z"/>
+    <path fill="#9ca69c" fill-rule="evenodd" stroke="#000" d="M286 282.4s-6.5-15.8-23.2-19.8-14.5-21.8-13.2-22.9c.8-1.5 1.3-3.9 6.1-1.6s27 13.4 30.2 14 .4 30.7.2 30.3z"/>
+    <path fill="#de3108" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".9" d="M270.2 262.5c-.3.2 22.3 13.4 15.5 24.7 6.4-4.3 4.4-11.7 4.4-11.7s5.2 13.7-7.6 20.4c1.4 1.2 2.3 1 2.3 1l-2.2 2.1s-1 1.7 7.6-2.5c-2.3 1.9-2.5 3.3-2.5 3.3s.6 1.8 6.2-3.1c-4.5 4.9-5.5 7.4-5.5 7.3 12.3-1 39-41-8.4-52.7l2.1 2.2-12 9z"/>
+    <path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".9" d="M271.2 258.6c3 2.2 4.1 3 4.5 4-2.8-.6-5.3-.4-5.3-.4s-6.1-5.8-7.2-6.3c-.8 0-5.6-3-5.6-3-2.3-1.2-4.5-9.3 4.2-7a93 93 0 0010.3 4.6l10.7 3.4 6.2 6.9s-11-5.4-12.4-5.5c3 2.4 4.7 5.8 4.7 5.8-3.5-1-6.5-2-10.1-2.5z"/>
+    <path fill="none" stroke="#fff" stroke-linecap="round" stroke-width=".9" d="M228.4 209.9s10.5-2.6 11.8-2.2"/>
+    <path fill="#de3908" fill-rule="evenodd" d="M-128 426.7h768V512h-768z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/um.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/um.svg
new file mode 100644
index 0000000..1aa1162
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/um.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-um" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="um-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#um-a)" transform="scale(.9375)">
+    <g stroke-width="1pt">
+      <path fill="#bd3d44" d="M0 0h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.7h972.8V197H0zm0 78.8h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.7h972.8v39.4H0zm0 78.8h972.8V512H0z"/>
+      <path fill="#fff" d="M0 39.4h972.8v39.4H0zm0 78.8h972.8v39.3H0zm0 78.7h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.7h972.8v39.4H0z"/>
+    </g>
+    <path fill="#192f5d" d="M0 0h389.1v275.7H0z"/>
+    <path fill="#fff" d="M32.4 11.8L36 22.7h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H29zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9H177l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9H242l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.2-6.7h11.4zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zM64.9 39.4l3.5 10.9h11.5L70.6 57 74 67.9l-9-6.7-9.3 6.7L59 57l-9-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 10.9-9.3-6.7-9.3 6.7L124 57l-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.7-9.3 6.7 3.5-10.9-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 10.9-9.3-6.7-9.2 6.7 3.5-10.9-9.3-6.7H256zm64.9 0l3.5 10.9h11.5L330 57l3.5 10.9-9.2-6.7-9.3 6.7 3.5-10.9-9.2-6.7h11.4zM32.4 66.9L36 78h11.4l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.3-6.7H29zm64.9 0l3.5 11h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7h11.4zm64.8 0l3.6 11H177l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.3-6.7h11.5zm64.9 0l3.5 11H242l-9.3 6.7 3.6 10.9-9.3-6.8-9.3 6.8 3.6-11-9.3-6.7h11.4zm64.8 0l3.6 11h11.4l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.2-6.7h11.4zm64.9 0l3.5 11h11.5l-9.3 6.7 3.6 10.9-9.3-6.8-9.3 6.8 3.6-11-9.3-6.7h11.5zM64.9 94.5l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H256zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zM32.4 122.1L36 133h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H29zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.7-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9H177l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9H242l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.2-6.7h11.4zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zM64.9 149.7l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 10.9-9.3-6.8-9.3 6.8 3.6-11-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.3-6.7H256zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7h11.4zM32.4 177.2l3.6 11h11.4l-9.2 6.7 3.5 10.8-9.3-6.7-9.2 6.7 3.5-10.9-9.3-6.7H29zm64.9 0l3.5 11h11.5l-9.3 6.7 3.6 10.8-9.3-6.7-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 11H177l-9.2 6.7 3.5 10.8-9.3-6.7-9.2 6.7 3.5-10.9-9.3-6.7h11.5zm64.9 0l3.5 11H242l-9.3 6.7 3.6 10.8-9.3-6.7-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 11h11.4l-9.2 6.7 3.5 10.8-9.3-6.7-9.2 6.7 3.5-10.9-9.2-6.7h11.4zm64.9 0l3.5 11h11.5l-9.3 6.7 3.6 10.8-9.3-6.7-9.3 6.7 3.6-10.9-9.3-6.7h11.5zM64.9 204.8l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H256zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zM32.4 232.4l3.6 10.9h11.4l-9.2 6.7 3.5 10.9-9.3-6.7-9.2 6.7 3.5-11-9.3-6.7H29zm64.9 0l3.5 10.9h11.5L103 250l3.6 10.9-9.3-6.7-9.3 6.7 3.6-11-9.3-6.7h11.4zm64.8 0l3.6 10.9H177l-9 6.7 3.5 10.9-9.3-6.7-9.2 6.7 3.5-11-9.3-6.7h11.5zm64.9 0l3.5 10.9H242l-9.3 6.7 3.6 10.9-9.3-6.7-9.3 6.7 3.6-11-9.3-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 10.9-9.3-6.7-9.2 6.7 3.5-11-9.2-6.7h11.4zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.6 10.9-9.3-6.7-9.3 6.7 3.6-11-9.3-6.7h11.5z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/un.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/un.svg
new file mode 100644
index 0000000..b623650
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/un.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-un" viewBox="0 0 640 480">
+  <path fill="#4b92db" fill-rule="evenodd" d="M0 0h640v480H0z"/>
+  <g transform="matrix(.6 0 0 .6 -40.6 0)">
+    <path id="a" fill="#fff" d="M663.9 587a71 71 0 01-9.5 8.6c-21.2-22-46.2-46.2-69.9-46.2-14.7 0-25.2 11.2-37.6 19-17.1 11-40.6 17.2-60.7 9.1a66.2 66.2 0 01-29.2-20 63.6 63.6 0 0057.5 5c19.7-8.2 39.9-19.1 62.4-19.1 33.2 0 64.8 22.5 87 43.6zm-245.6-69c22 25 57.9 17 87.2 23.2 4.1 1 8 2.3 12.4 1.6-3.5-2.2-8.2-2.5-12.2-4-22.8-8.6-26.3-33-38.8-49.7 16 10.6 29.1 25 44 38.7a73.8 73.8 0 0036.7 16.2c-3.2 1.2-7.4 1-11 1.8-24 6-50.6 15.4-76.2 7a75.4 75.4 0 01-42-34.8zm-35.2-58c13.7 31.1 48.2 33.6 71 52.6a64 64 0 0013.5 9.2l.3-.2a99.5 99.5 0 01-15.1-16.5c-13.1-19-8.8-45-18.9-65.2a142 142 0 0123.1 34.9c8.5 20.2 11.4 43.3 30.5 58.7-20.7-6.8-44.5-5.5-63-17.6-19.6-12.8-37.7-33-41.4-55.8zm-14.7-62.8c2 27.4 31 42 45 64.5 3 4.8 6 9.8 10.3 13.6-.7-2.9-3-5.5-4.4-8.3a62.8 62.8 0 01-5.3-32.3c1.3-14 7.1-27 4.9-41.7 12 25.9 8.1 58.2 15 86.1 1.6 6.2 5.3 11.6 7.6 17.5-11.7-9-27.1-17-40-27a85.5 85.5 0 01-29-36.5 84.9 84.9 0 01-4.1-35.9zm.8-50.4c1.4-6.1 2.5-12.4 5.1-18-5 25.8 12.2 44.4 18 66.8 2.2 8.4 3 17.3 6.4 25.2.3.1.6-.2.8-.4-8.5-23.8 4-45.8 16-64.5a55 55 0 006.2-16.5c1.3 10.8-1 23.2-3 34.3-2.5 14.3-7.4 27.7-11.3 41.5a65 65 0 00-.5 27.4l-1.3-1c-9-16.6-26.8-29.6-32.1-47.8a102.6 102.6 0 01-4.3-47zm9.5-27.8a79 79 0 0119-50c.3-.2.6-.5 1-.4-12.6 19-1.1 43.2-2.8 64.9l-1.6 22.2c.2.2.2.9.8.6.8-2.5 1-5.1 1.4-7.7 3-18 18.8-30.4 32.1-43a28.5 28.5 0 007-10.4c-1.1 9-3.6 18.1-7.6 26.2-10.3 20.8-30.1 37.6-33.7 61.3-1.7-22.7-15.6-39.6-15.6-63.7zm33-65.9a46 46 0 0122-14.6c-16.5 11.3-15.6 31.4-20.6 48.2-1.8 6.1-4.5 11.9-6 18.2l.5.4a54 54 0 0113.5-19.9c11.5-10.8 28.8-17.4 34.5-33.3-.3 22.1-19.1 38.9-36.3 51.9a62.6 62.6 0 00-18.2 21.8c.6-6 1-11.2.4-17.1-1.8-19.3-3-41 10.3-55.6zm66.5-37.1c-12.1 10.7-20.2 24.4-29.6 36.7-7.7 10.3-18.4 16.6-27.5 25.2 5-10.2 5.8-22 12.1-31.9 10.7-17 28.5-23.6 45-30z"/>
+    <use width="100%" height="100%" transform="matrix(-1 0 0 1 1202.2 0)" xlink:href="#a"/>
+  </g>
+  <path fill="#fff" d="M409 262l-2.1-1.2a96.9 96.9 0 01-17.9 25.4l-12.5-12.6a78.7 78.7 0 0014.7-21.3l-2.1-1.2a76.5 76.5 0 01-14.4 20.8l-11.4-11.4a60 60 0 0011.6-17.1l-2.1-1.2a58 58 0 01-11.2 16.6l-12.5-12.5a39.8 39.8 0 008-12.6l-2.1-1.2a37.6 37.6 0 01-7.6 12l-11.5-11.4a21.2 21.2 0 005.4-13h16.2a37.3 37.3 0 01-2.5 12.4l2.1 1.2a39.8 39.8 0 002.8-13.6h17.8a57.4 57.4 0 01-5 22.1l2.2 1.2a60 60 0 005.2-23.3h16.2a75.8 75.8 0 01-7.2 31l2.1 1.2a78.3 78.3 0 007.4-32.2h17.9a95.9 95.9 0 01-9.6 40.7l2.1 1.2a98.5 98.5 0 0010-43 98.7 98.7 0 00-7.2-37.1l-2.2 1a96.3 96.3 0 017 34.9h-17.9a78.5 78.5 0 00-5.5-28l-2.2 1a76 76 0 015.4 27H380a60 60 0 00-4-20.6l-2.2 1a57.6 57.6 0 013.8 19.6H360a39.9 39.9 0 00-2.4-12.6l-2.2 1a37.5 37.5 0 012.2 11.6h-16.2a21.2 21.2 0 00-5.4-13l11.5-11.5a37.3 37.3 0 017.9 12.8l2.2-.9a39.7 39.7 0 00-8.4-13.6l12.6-12.6a57.5 57.5 0 0112.2 19.2l2.2-1a59.9 59.9 0 00-12.8-19.9l11.5-11.4a76 76 0 0116.1 25l2.2-1a78.5 78.5 0 00-16.7-25.7l12.6-12.6a96.2 96.2 0 0120.5 31.3l2.2-1a98.7 98.7 0 00-21.8-32.8 98.6 98.6 0 00-33-21.9l-.8 2.3a96.2 96.2 0 0131.3 20.4l-12.6 12.6a78.5 78.5 0 00-25.2-16.4l-1 2.2a76 76 0 0124.5 16l-11.4 11.4a60 60 0 00-19-12.4l-.8 2.2a57.6 57.6 0 0118 11.8l-12.5 12.6a39.8 39.8 0 00-12-7.8l-.9 2.3a37.4 37.4 0 0111.2 7.2L334.2 203a21.2 21.2 0 00-13-5.4v-16.2a37.4 37.4 0 0113.3 2.9l.9-2.2a39.8 39.8 0 00-14.2-3.1v-17.8a57.6 57.6 0 0120.7 4.2l.9-2.2a60 60 0 00-21.6-4.4v-16.2a76.1 76.1 0 0127.5 5.6l.8-2.2a78.5 78.5 0 00-28.3-5.7v-17.9a96.3 96.3 0 0134.9 7l.8-2.3a98.7 98.7 0 00-36.9-7 98.3 98.3 0 00-44.2 10.4l1 2a96 96 0 0142-10v17.8a78.1 78.1 0 00-33.7 8.1l1.1 2a75.9 75.9 0 0132.6-7.8v16.2a59.7 59.7 0 00-25 6l1 2.1a57.5 57.5 0 0124-5.7V179a39.7 39.7 0 00-15.7 3.8l1 2a37.4 37.4 0 0114.7-3.4v16.2a21.3 21.3 0 00-7 1.6l1 2a19 19 0 017.2-1.3 18.9 18.9 0 0113.4 5.5A18.9 18.9 0 01339 219a19 19 0 01-19 19 18.9 18.9 0 01-13.4-5.6A18.9 18.9 0 01301 219a18.9 18.9 0 015.6-13.5 19 19 0 016.2-4.1l-1.1-2.1a21.4 21.4 0 00-6 3.8l-11.4-11.5a37.5 37.5 0 019.9-6.7l-1.1-2a40 40 0 00-10.5 7L280 177.3a57.8 57.8 0 0114.8-10.3l-1-2a60.4 60.4 0 00-15.4 10.7L266.9 164a76.3 76.3 0 0119.3-13.6l-1-2a79 79 0 00-20 14l-12.6-12.7a96.6 96.6 0 0124.3-17.2l-1.1-2.1a99.5 99.5 0 00-44.5 44.8l2 1a96.6 96.6 0 0117.6-24.8l12.7 12.7a79 79 0 00-14.5 20.7l2 1.1a76.3 76.3 0 0114.1-20.2l11.5 11.4a60.3 60.3 0 00-11.3 16.5l2 1.1a57.6 57.6 0 0111-15.9l12.6 12.6a40 40 0 00-7.8 11.8l2.1 1.2a37.4 37.4 0 017.3-11.3l11.5 11.4a21.3 21.3 0 00-5.4 13.1h-16.2a37.5 37.5 0 012.8-13.2l-2-1.2a39.7 39.7 0 00-3.2 14.4h-17.8a57.5 57.5 0 015.2-22.9l-2-1a59.7 59.7 0 00-5.6 23.9h-16.2a76 76 0 017.5-31.7l-2.1-1.1a78.1 78.1 0 00-7.7 32.8h-17.9a96 96 0 019.9-41.3l-2.1-1.1a98.3 98.3 0 00-10.2 43.6 99.2 99.2 0 004 27.9l2.3-.6a96.8 96.8 0 01-3.9-26.1h17.9a78.8 78.8 0 003.3 21.7l2.3-.6a76.4 76.4 0 01-3.3-21.1H260a60.3 60.3 0 002.8 17.2l2.4-.6a57.8 57.8 0 01-2.8-16.6H280a40 40 0 002.3 12.2l2.3-.6a37.6 37.6 0 01-2.2-11.6h16.2a21.2 21.2 0 005.4 13l-11.5 11.5a37.4 37.4 0 01-7.9-12.9l-2.3.6a39.7 39.7 0 008.6 14l-12.7 12.6a57.5 57.5 0 01-13.2-22.2l-2.4.6a59.8 59.8 0 0014 23.3L265.2 272a75.8 75.8 0 01-18.1-30.8l-2.3.6a78.2 78.2 0 0018.7 31.9L251 286.3a96 96 0 01-23.5-40.1l-2.4.6a98.3 98.3 0 0025 42 99 99 0 0027.3 19.4l1.2-2.1a96.4 96.4 0 01-26-18.1l12.6-12.6a78.7 78.7 0 0022.1 15l1.2-2a76.3 76.3 0 01-21.6-14.7l11.4-11.4a60 60 0 0018.2 12l1.2-2.1a57.6 57.6 0 01-17.7-11.6l12.6-12.6a39.7 39.7 0 0014 8.5l1.1-2.1a37.4 37.4 0 01-13.4-8.1l11.5-11.5a21.2 21.2 0 0013 5.4v16.2a37.5 37.5 0 01-11-2l-1.3 2a39.8 39.8 0 0012.3 2.4v17.8a57.5 57.5 0 01-21.1-4.4l-1.2 2a60 60 0 0022.3 4.8v16.2a76 76 0 01-30.3-6.8l-1.2 2a78.4 78.4 0 0031.5 7.2v17.8a96 96 0 01-40.2-9.3l-1.2 2a98.5 98.5 0 0042.6 9.7c15.8 0 31-3.7 44.6-10.6l-1.2-2.2a95.8 95.8 0 01-42.2 10.4v-17.9a78.3 78.3 0 0034-8.3l-1-2.1a75.7 75.7 0 01-33 8v-16a59.8 59.8 0 0025.6-6.4l-1.1-2.1a57.4 57.4 0 01-24.5 6v-17.8a39.7 39.7 0 0016.3-4l-1-2.2a37.3 37.3 0 01-15.3 3.8v-16.2a21.2 21.2 0 0013-5.4l11.5 11.5a37.7 37.7 0 01-9.3 6.3l1.1 2.2a40 40 0 009.9-6.8l12.6 12.5a57.9 57.9 0 01-14.3 10.1l1 2.1a60.2 60.2 0 0015-10.5l11.4 11.4a76.5 76.5 0 01-19 13.5l1.2 2.1a78.7 78.7 0 0019.5-13.9l12.5 12.6a96.9 96.9 0 01-23.9 17.1l1.2 2.2a99 99 0 0025.3-18.4A99 99 0 00409 262z"/>
+  <path fill="#fff" d="M325.7 196h-.6v.7h.6zm-1.5-1h.8v.6h-.8zm-1.4-.2l.6.1.1-.6h-.7zm-.6-.2h-.7v-.7l.8.1zm-5.8-.8h.8v.6h-.8zm-1.7 1.2l.7.1v-.6h-.6zm0 1l-.7-.3v-.6l.9.3zm-1.4.7v-.6l.5-.1.1.6zm-78.6 61.6v-.5h-.5v1h.8v1.3h.6v-1.5zm7.5 9l-1-1-.9-1.1-.4-1-.7-1.8 1.5.8.5 1.4.7.5.7 1.5zm20.7 27.1l-.1-.9-.9-1.2 1.3.2 1.2 1.1.6 1.3-.8.4-.3-.6zm54-91.9h-1l-.3-2.2.6-.4v-1.1h-3.5v-1.1l.4-.3-.8-.3-.6.8-.2.9-1 .2v.5h-.7v1.3l-2.8 2.3-5.6-.2c-.3 1-1.3 0-1.3 0-.3-.7-1.6 0-1.6 0 0 1-2-.6-2-.6l-3.4-2.5c-2-1.8-5 .5-5.1 1 0 1.4-2.3.3-2.3.3s-2-.6-2.3.2c-.3.8-1.6.6-1.6.6l-.2.4-1 .2-.2.6-1.2.2h3c.8-.2-.3 1.7-.8 1.6H280l-.5.6h-1.3l-.6.8-1.9-.1s-1 .9-1 1.2c.1.3-.2 1.2-.5 1.2s-.9 1-.7 1.2c.2.3-.6 1.3-.6 1.3l-.2 1-.6.3v2.7l-1.2.8v1.2l-1.8 2 .2 1.5-1.5 1.7.2 1.6-.9.3-.2.7-.4 2.1 1 .1c.5-.2.4 1.3 0 1.6-.4.2-1.5.6-.9 1s-1.6.3-1.6-.3c0-.7-1.2-1.2-1.5-1-.3.2-.8-.9-.8-.9-1-1-4.4.1-4.4.1l-.5 1.7c-1.1.1-1.8 2-1.8 2-1 .3-1.6 1.4-1.3 1.7.3.3-.5.4-.5.4v2.2l-.5.7v2.5c.7 0 .6 1 .6 1-1 .2-.8 1.5-.8 1.5l-2.1.7-.4.6h-2.6l-.7.6-.7-.7h-5l-.2-.5-1-.2v-1.1h-1.6l-.3.7-1.6.1c.1 1-1.6 2.5-1.8 2.1-.2-.4-1.3-1.5-.8-1.7a13 13 0 011.8-.4v-.7l-3.7-.1-.4.6-1.5.1v1.6l-.7.2c-.5.3.1 1.4.1 1.4.7.7 0 1.9 0 1.9-.7.6.4 1.7.4 1.7.8.2-.5.8-.5.8.2 1 .8 1.3.8 1.3-.6 1 .4 1.5.4 1.5l.1 1.7.7.4v1.2l.4.7h1.6v-2.6c-1.5-1.6 1.1-2 1.2-1.4.1.6 1.2 1 1.2 1 .2 1.5 2 2.4 2.4.8.5-1.5 1-.6 1.2.1.3.8 2.2 2.5 2.2 2.5h1.5l.2 1.4c1.7-.1 2.2 0 2.9 2.4a4.4 4.4 0 002.6 3l1.4-.1c0-1.3 1.4.2 1.4.8 0 .6 2.7 2.9 2.7 2.9l2.7.6 2.5 2 1.9-.2h.8c.5-1.7 2.9.1 3 .7.2.6 1.8 1.7 2 1.2.2-.5 1.3-.2 1.5 1.3.2 1.5 1 1.2 1 1.2l5.6-.1 2-1.7 5.1-.1c2.6-.1 1-3.7.5-3.7-.9-.7.3-3.6.3-3.6l-7.3-6.8c-1.7 0-.2-2.4-.2-2.4 1.3-.8-.3-2.2-.3-2.2.2-1.2-.7-2.6-.7-2.6-1.8-1.2-1.3-3.5-1.3-3.5V245c-1.5-1.4.6-1.6.6-1.6.7-1.2-.5-2.1-.5-2.1V240l-1.7-.2-.2-4.8-3.6-5.1c-.7-.2-.2-1.5-.2-1.5 1-.5-.2-1.7-.2-1.7v-2.2l2-.2.5-.8h1v-2.6c.4-1.4 1.6-.7 1.6-.7l1.4.1.8-1.5.2-1.2h-1c-1.3-.8-.7-3.4-.7-3.4 2-2.9 4.1-1.2 4.1-1.2l1.4-.1c2.1 1.4.2 4 .2 4-.4.6-.2 2.5-.2 2.5l.5 3.3-1.3 1c-1 .7-1 2.1.1 2.4.8.1.5 2-.7.7-1.8 0 1 1.6.2 1.2 1.8 1 1.4-.8 1.4-.8l2.4-1.9c1-.7 2.5 1.5 2.5 1.8 0 .3 4 .1 4 .1 1 .7 1.5 2.6 1.5 2.6 1-1.5 3.4-.1 1.7.7 1.6 1 1.6 1.9 1.6 1.9 1.3-.4 1.3.6 1.3.9l.4-1.5c-1.5-1.1 2-1.5 1 .5l-.6.9 1 .8v2.3c2.3-.2 1.7-2.9 1.7-2.9l1-.2c0-1 .7-.4.7-.4-.7-3.4 1.6-4 1.6-4 1.3-.4 1.4-3.1 1.4-3.1-1-.4-.4-1.8.6-.6 1 1.2-.6-2.4-.6-2.4l-.8-.7-1.1-.1-.1-1.1h-1.8l-.3 1.4-.7.2-.2-.4-.3 1H296l-.1-1.1 1-.3.5-.6.3-1.7h1.3l1.7-.5c0-1.7 1-1.3 1-1.3l.6.5.9.7v.6l-.5.3-.1.8.3 1.2h.7c.3-1.7 2.4-1.7 3-.6l.6-1.5c-1.4-.7 0-1.8.4-1.3s1.3-1.3 1.3-1.3.7 1 0-.3c-.7-1.2.5-1.8.5-1.8-.2-1.2 1.3-1 1.3-1l.1-1.7h-1.4c-.3 1.4-1.5.1-.9-.2.6-.3 1.2-.9 1.2-.9v-1l.6-.2.1-1h1.5l1.3-.6.3-.5 1.4-.1 2-1.8-.2-.8c-1.2 0 0-1 0-1l.2-1.5z"/>
+  <path fill="#fff" d="M276.7 222.6l-1.8-.2.1.7h.5c.8 1.4.1 4.8.1 4.8s-1.2.1-1.4-.5c-.2-.6-.7 1.3-.3 1.7.4.3 1.8 0 2 1 0 1.2.8-.6.8-.6v-7z"/>
+  <path fill="#fff" d="M276.7 231.2l.6-.1.1-.7-1.5 1-1-.6v2.4l1.6 2.1.6-1.4.2-.9-.7-.3zm.8 6.4v-1h-.7v.9zm-.9 4.8v-.7l-.8.1v.7zm1.2-3.1a.4.4 0 000-.9.4.4 0 00-.4.5c0 .2.2.4.4.4z"/>
+  <circle cx="278.5" cy="241" r=".4" fill="#fff"/>
+  <circle cx="278.5" cy="229.4" r=".4" fill="#fff"/>
+  <path fill="#fff" d="M312.4 214.5l-1-.1-.3.5h-.5v.8h.5l.1.6-.4.4-.2.5-.8.2-1.8 1.7v.8l-.6.7-.6 1.6h-2l-.5 1.9.3 1.5 1.8.7.2-1 .6-.3.1-1 .4-.7.6-.7.2-.8 1-.6 1.2-.3.5-.6.2-1.2v-.9l.5-.6 1.2-.5v-2h-.6zm2.8 6.9v-1.5l-.2-1.3-1.5-.7-1 1-.3 1.4v1l-1 .2-.2 2.7-.8.3.1 1-1 .3-1.2.3-.2 1.3-.8.5-.4 1.3-.5 2.9s1 1.7 1.4.9c.5-.8 1.3-1 1.3-1l.3-.6h2.7c.2-1 1.5-.6 1.5-.1s1 0 1 0l.7-1h1.1l.1-1.3.5-.3V227c1.6-.5 1.4-2 1.4-2l.4-.5-.2-.7c-.8-.3-.4-1 .1-.8.5.2-.7-1-.7-1-.6.6-1-.5-1-.5h-1.6zm1.6 12.2c0 1.2-1.6 1.6-1.6 1.6l-1-.3-.7-.5V233l.8-.1.2.6 2.3.1zm5.4-6.5c.2 1 .2-1.4.6-1.3.4.1.1-1.4.1-1.4l-1.8 1.3c.9.1 1 1 1.1 1.4zm5.3-5.2c.4.9.3 2.2 1.8 3.2.5.3-.3 1-.8.7a15 15 0 01-2-2.5V222c.4-.8.8-.5 1-.1zm.3 31l.3.5.7-1-.6-.3-.7.5zM325 251v1.2m14.4-2.6l.8-.5-.3-.6-.8.5zm28.9 21l.9.5v1.7c1.3 1.2 5.2.2 5.2-.1l-.2-3.8-.5-.5-.1-2.5c.4-1.3-2-3.2-2.1-2.8-.2.4-1.5 0-1.5.5 0 .4-.8 2.4-.4 3.1.4.7-.3.7-.4 1.4-.1.7-1.1 2-1 2.6zm-2.2-4c-.2.8-1 1.2-1.3 1-.4-.4.5.4.7.8.2.4.8.4 1 0 .2-.4 0-1.3.3-1.7.2-.4-.6-.5-.7 0zm-4.7-18.6h.7v2h-.7zm10.4-19.4c-.5-.6 2-1.7 2.4-.4.4 1.2 0 1-.4.9-.4-.1-1.4.3-2-.5zm2.1-13.6v.6l1 .2.1-.6zm-4.5 1.6l.8.5h.3l.6-.4v.2l.6-.2-.2-.5v-.3l-.4.1-.7.5-.7-.5zM375 192h-1.5s.5.2-1-1.1c-1.3-1.3-2.2.3-2.2.3l-1.6.2v1.6l-.8.3v1h1.2s0 1.1.3.6c.3-.5 2.8.1 2.6 1.4-.1.5 2.5 1.8 2.2 3.4 1.3.2 1 1.5 1 1.5l1.7.2.5-1 .5.1v-.6l-1.1-.3-.2-3.3-.7-.5.2-.8-.8-.3.4-1.3-.7-1.4zm4.3 10.3h-.8l-1.8.2-1 2s.5.3 1 1c.3.7.5 4.8-.7 5.5-1.2.7.1.3.1.3l-.2 2.3c.3 1 .8.5 1.1 0 .3-.5.6-.6 1-1.1.4-.5 1-1.5 1.1-2.2.1-.7.6-1.8.3-2.1-.3-.3.3-1.7.3-1.7s.4-.8 0-1.6.1-1.8.4-2.2l-.8-.4zm1.2 4.2l.1-.8h.6v.8zm0 2.8l-.5-.3.3-.6.5.3zm-.9-8l-.4-1s0-.8.2-1.2c.2-.4-.4-.8-.7-1-.3 0-.2-.8-.3-1.2 0-.4-.8-.7-.8-.7l-.2-1.9c0-.3-.9-.7-.6-1l.8-.9c.3-.2-.3-1.6.2-1.3.5.3.5.8.7 1.2.2.4 0 1.8.4 2.1.5.3 0 1.4.7 1.4.8 0 .3 1.9.3 1.9s-.2 1.4.3 1.5c.5.1.2 2.5.2 2.5l-.8-.5zm-6.4-16.5c.3.4.9.7.9 1.1 0 .4-.2.7.4.8.6.1 1 0 1.2.4.2.5.2 1.4 0 1.8 0 .4.2 1 .7 1s.6 0 .6.4c0 .3.6-1.1.6-1.1-.5-.4-1-1.3-1-1.3l-.4-1.7c0-.2-.7-.4-1-.5-.3 0-.8-1-.8-1l-1.2.1zm1-.9c-.3-.4-.6-.7-1-.9-.4-.2-.7-.4-1.1-.4a.7.7 0 01-.6-1c.2-.4-.3-.6-.3-1s.3-.4.8-.1c.5.3.4.4.8.9s.6 1 1 .9c.4-.1.7.9 1 .6.5-.3.4.7.4.7l-1 .3zm-11.7 11.4c.5.6-3 .4-3 0s.3-1.8 1.2-1.5c.9.3 1-1.8 1-1.8s-.8.1-.1-.3c.7-.4 0-1-.3-1.3l-.6-.8h1.4c.6-.4.8-2.3.8-2.3 1.2.4 1.8-.5 1.8-.5l.6 1.2c.4.5-1 .7-.5 1 .5.3.7 1.2.5 1.5-.2.3-1.3 0-1.3-.3s-.4.5 0 1-.5 1.2-.7 1.2c-.2 0-1.5.2-.4.8 1 .6 2.3.3 2.3.3s.9 0 1.2.4c.3.5-.1.6-.6.6l-3-.2s-.6.7-.3 1zm-6.4 1c.5-.1 1.7-.2 2 0 .1.4-.8.8-.8.8l-1.2.2c-.4-.5-.5-1 0-1zm12.9-8.5c.8-.4 2.5-.4 2.4-1-.1-.7 1-.9 1-.9l.3 1.2.9.7v1l-.7.2c-1.1.3-.4.8-.4.8H370l-.3-1-.8-1zm-4-5.5c.7 0-.1 2.3 1.5 2.1 1.6-.2 0 .7 1.3.8 1.2.1.9-.9 1.3-1.6.4-.7.2-1.1-.5-1.3-.7-.2-.7-.2-1-1-.1-.8-1-1-1-1l-.2-1.2-1.3.8-1.3 1.7c0 1.3.7.7 1.3.7zm2.7 8.5l.3-.6.6.3-.3.6zm-1-1h.6v.8h-.6zm.5-13.4v.9h-.5l-.1-.8zm-1.7 9.4h.6v.5h-.6zm-1.6 0v-.6h1v.5zm-8.2 9.8l-.6-.3.3-.7.6.3zm-3.2-1.9v-.6h1v.5zm-17.3-.2l-2.2.1v.6h2.3zm-3.6.9l-.2-.9.6-.1.2.9zm-.4.6l-.2-.5.3-.1.2.5zm5-1.7l-.1.7 1 .1s.5.4.5.7c0 .3.7.6 1.1.6.4 0 1.5-.8 1.5-.8s.5-1.4.1-1.3c-.4.1-1.2.7-1.3.1 0-.6-1.3-.3-1.3-.3l-1.6.2zm5-1c0 .2-.3.6.3.7.6.1 1.7-.4 1.8.2.1.6.1 1 1 1.3a5 5 0 001.8.4l2-.2s1.3.3 1.6.5c1.1 1.2 1.8 1.5 2.1 1 .3-.5 0-1.7-.2-2 0-.5-1.5-2.4-2-2-.5.4-.6 0-1.5.3s-2.8.1-2.9-.3c0-.4-1.5-.6-1.5-1s-1-1-.9-.3c.1.6-.7.9-.9.7-.2-.2-.8.6-.8.6zm22.9-13l.7-2.3c-1-.2-.8-1.3-.8-1.3-.1-1-1.5-2-2-1.6-.5.3-.3-2.1-.3-2.1s.9-.6 1.3-.3-3.4-5.1-4.2-4.6c-.8.5-2.6-.5-2.5-1.4.1-1-3.6-4-3.6-4s-1.2-.8-1.4-.2c-.2.6-.6 1 0 1.4.6.3.5-.5 1.2.2s2 1.6 1.5 2.2c-.5.6-1 .8-1 .8l.6.8h1.1l.2 1.7s1.2.6 1.5 1.3c.3.7.3 1.1 0 1.6-.3.4-.9 1-.8 1.8.1.7 1 1 1 1h.7l.6.4v1.3c.8-.2 2.1 1 2 1.6 0 .7.2.3 1.2 1s.7.8 1.4 1.4c.7.5 1.3.2 1.6-.8z"/>
+  <path fill="#fff" d="M347.5 165.6c0-.4-.3-1.8.3-1.7.6 0 .2 0 1 .3s.7-.5.7-.5h1.1l1.4 1-.2 1h-1c-.5-.7-1.5-.4-1.3.3.2.7-.5 2-.9 2.1-.4.1-1.7.1-1.6-.5l.5-2zm-.8-2.7v-.9s0-.8-.6-.8-1.4-.6-1.2-1c.2-.4-1.7-.8-1.7-.8s-1.7-1.6-1-1.4c.5.2.2-.7.2-.7s-1.2.2-1.5 0c-.3 0-.2-1-.2-1s-1.2-.2-1.2 0 .4.4.6 1c.2.6.1 1.6 1 1.8 1 .2 1.1.4 1.2.8.1.4 1.2.5 1.2.5l.8.4 2.4 2zM336 152.5l-.3-.8-.8-.2v1zm-.3-4.2c-1-.8 1.4.6 1.4.6.8 0 1.3.6 1.3.9 0 .3 1 .2 1 .2l.1-.7-.8-1-.7-.5s-1-.1-1-.4c0-.3-1 1.2-1.4.9zm18.3.6c-.3.9-.4 2.1-.9 2.1s-.3 1.3-.3 1.3l1.7.1c.4.1.4 1.1.4 1.1 1.5 0 2.1 2 2 2.5-.3.5.5.5.5.5s0 1.6-.2 2c-.2.4 1.3.7 1.7 1.3.4.6-.2 2.6-.5 2.7-.3.2.8.5.7 1-.1.5.3 0 .4.8l.3 2.5 1.4.1c.2-1.3 2.8-1.4 3.2-1.2 1.7.6 3 3.2 3 3.8 0 .6-1.1.7-1.1.7l.2 3c1.7.5 3 3 2.9 3.3-.2.4 1.2.3 1.2.3.2-1.8 1.9-1.2 2-.6 0 .6.4 2 .4 2l.5.8.7.7h1l.4.6 1.2.2s1.1 1.2 1.2 1.5c.1.3 1.6.2 2 .3.4 0 1 .4 1.1.9.1.5.7 1.3.7 1.3s1.2.3 1.3.7l.6 1.3 1 .8.1 1h1.1l.3 1.3 1.8-.1 1-.7a6 6 0 002.3-2c.1-.5.3-2 1.3-1.7 1 .3.3-2.2.3-2.2s-1.4-1-1.3-1.5c.1-.5-1.4-1.5-1.3-2 .1-.3-1.3-1.2-1.2-1.6.1-.4-.7-1.5-.7-1.5L387 175l-.2-1h-1.2l-2.4-3 .1-.8h-.7V169l-.7-.4h-1l-2.3-2.5-.2-1.1h-1l.2-2.1c.7-1 .3-2.7.3-2.7s-1.4.7-2.1.4c-.7-.3.3-1 .3-1v-.8l-.6-.6s-1.7.2-1.8-.1l-.4-1.6-.1-1.7-.7-.3-.1-.7-1.1.1v-1.2l-.6-.2-.6-.3-.1-1.2-2.2-.1-.7-1-.8-1.2-2.5-.2-.6-.6-1-.2-.7-.3-.3.5h-2v.7c-1 .5-5 0-5 .4zm10.5-2.7c-.2-.7 2-1.5 2.5-.9s1.9.7 2 3.8c.1 1-1.7-1.1-1.7-1.1l-1.5-.5c-.8-.2-1.2-.7-1.3-1.2zm-29.3 1.3l-.5-.3.4-.9.5.3zm-5.1-10l-1.3-1.3v-1l-.4-.5-.4-1.4-1.3-.4-1.3.5-1.4.9-1.5.2-.8 1 3.2.2.6 1 2.3.2 1.5 1.5c1.3.5 1.6-.2.8-.9zm-.2-5c-.2-.8-1.5 1.2-.2 1.6 1.3.4 2.6 0 2.6 0l.3-.6 5 .1c.4-.4.6-1 .6-1s1.2-.4 1.7-.2 0-1.4-.4-1.2c-.5.2-1.5 0-1.5 0h-1.8c-.1-.6-1.7-.3-1.8 0-.1.5-.7.6-.7.6l-2.3.2c-.2.6-1.4 1-1.5.6zm-9.9 17.2c1.5.5 2.1 0 2.2-.3.1-.4.2-.5.8-.6.6-.1-.1-1.3-.7-1.2-.6 0-1.2-.2-1.3-.7-.1-.6-1.1-1.9-1.2-.9-.1 1-.7 1-.6 1.8.1.7.4 1.7.8 1.9zm-11.5 1.1c0-.4 2-.4 2.3-.1.3.3.1.8 1 .8s.5.6.4 1c0 .2-1 .1-1.2-.2 0-.3-1.6-.4-1.6-.4s-.8-.6-.9-1.1zm34-21.7l-.8.6-.5-.5-.5.5.7.7.2.2.2-.2 1-.8zm-5.5-1.8l-.7-.4-.3.5.8.5h.3l1.1-.7-.3-.5zm-3.3 20.8h-.1l-1-.1v.6h.8l.6 1 .5-.3-.7-1zm-33 28.2l.1 1.1h1.5c.6 0-.5-.7-.5-.7s-1.2.1-1-.4zm2 0l.3-.4.6.5-.4.4zm-18.2-18.9l.4-.4.6.6-.4.4zm29 130.3l-1-.5-.3.5.6.3-.2.2.4.5.5-.5.3-.3zm-7.8-7.3l-.4-.5-.6.5-.3.3.4.2.7.5.3-.5-.4-.3zm74.2-19.2c-.1-.5-.7-.7-.8-.8l-.2.6.2.1.1.5-.1.2.4.4c.4-.3.5-.7.4-1zm1-2h-1v-.9l1 .2zm23-7.8c.5-.3 1-.8 1 .4-.1 1.1-.6.7-1 1.1-.3.4-.6-1.1 0-1.5zm5.1-4.3a.8.8 0 010-.1 1.6 1.6 0 00-.2-.7l-.5.3.1.4c0 .2 0 .4.2.5.1.1.2.1.4 0l-.1-.5.1.1zm-1.3.5l.4 1.2.5-.2a11.9 11.9 0 01-.3-1.2l-.6.2zm-2.2 2.4h-.6c0 .4 0 1 .5 1l.2-.5-.1-.5zm-2.6-12a.6.6 0 00-.4-.5c-.4-.2-1.1.1-1.5.4l.3.5c.4-.3.9-.4 1-.4l.6-.1zm-27.7-32.4c-.4.4-1.3.6-1.3.6l-.3 1-.4.5v1c0 .7-1 1.1-1 1.1l-.4.5h-2.7c-1-.4-.3-1.6.3-1.5.6.1-.1-1.7-.1-1.7l.8-.1s0-1.8.4-1.8c.3 0-.1-.6-.5-1-.4-.3-1-1.3-1.3-1.2h-2l-.3.6-1.1.2-.1 1c-.6.8-3 2.3-2-.2l.4-.7v-.9h-1.8s-1-.4-1-.8v-.9l-2.1-2.3-2.5-.3-.2-.5-1.5-.2c-1.8-1-3.4-.1-3 1.4.2 1.5.7 2.1-.3 2.1s-1.2-.8-1.2-.8-.8-.3-.8.1-.3 1.2 0 1.6c.3.4-.4 1-.7.7-.3-.3-1-1.2-.9-1.5.2-.3-1.4-2.2.2-2.5 1.6-.3 0-1.2.5-1.4l.8-.4h.8l.5-.4-1.3-.2-.8-.1-1.5-.1a4.2 4.2 0 00-1.8 2.2c-.8 1.5-2.7-.6-2-1.4.7-.8-2.2-.1-2.7.3s-2 .2-2 .2c-.3.9-1.7-.1-1.3-.7.4-.6.4-1 .4-1l-.5-.2-.6 1.2c-1.3 0-1.7.8-1.5 1.3.3.5-.4-.1-.6.6-.1.7.2.7.7 1 .6.3-.3.3.1.8s1.6 0 1 .7c-.8.7-2.1.4-2.1.4-.1 1-2 .7-2.2.4l-1.7-2.1-2-.1c-.1-1.4 1-.7 1.4-1.8.4-1.1.6-3 .6-3s-1.6 0-1.7.4c-.1.5-1.1.9-1.1.9s-.8.3-.5.7c.3.4-.6.6-.6.6s.1.6-.1.9c-.8.8-2.8 0-3.1-.2l-1.2-.5-1.2-.8-1.4.6-.4.4h-1.5l-.1 1.2 2.7.3.2 2.5-1.1-.4h-.7l-.3-.6h-.6v2.1l.6.5.5.5 1 .1.2 1.3h2.5l.3.6h1.5l2.9 3-.2 1-.5.2c.2.7-1.3.3-1.3.3v.6l.7.1.7.4 1-1.7c1-.7 1.6.3 1.7 1 0 .5-.5.4-.5.4v1.5l.6.2c1 1.2-.4 1.9-.4 1.9l-.3 1c-.3.9-1.4.7-1.4.7l-.4.6-1.2.3 2.4.3c.2-.8.8-1 1-.6.4.4.4 1.1.4 1.1l.6.1-.1 1.1.6.2v3.3l.7.8c1.2-.5 1.2.3.6.7-.6.4-.2 2.2-.2 2.2l-.5.5v.8l-.6.4v1.2c-1-.5-2.2-.3-2.5 0-1-.6-2.8-.4-2.8 0 .6.9-.7 1-.7 1l-.7.9c.5 1-.5 1.1-.5 1.1v2l-1.2 1v2.7c0 .7 1.6.8 1.9.4.3-.4 1.5.8 1.5.8h.9l.2-1.8-.6-.3v-3l1-1c1.2-.5.8 2.5.8 2.8 0 1.2.6 1 1 .8 1-.4.3 1.2-.5 1-.8 0-.3 1-.3 1l.5.3-1 .7-.7.9-1-.3-1.2-.1-.4-.7-.7-.1-.1 1.4-.5.6-1.2 1.2c1.6 0-.2 1.1-.6 1.1.9.3-.1 1.2-2.4.5v.7l-.8.1.7.9h.8l-.3 1.8c0 1.3-3.3.4-3.6 0v2h-.7l.1 1.2v1.7l1-.2v.7l2.7.1 3.9-4.1 2.3-.5c.2-1 1.2.2 1.2.2 1-.1 1.2.6 1.2.6l1.3.2c1 .3.4.4.5.8 0 .6.6.4.6.4l.2-1.3.6.1-.6-.7-1.1-.5-1.2-.5c-.8-1.1.2-1 1-.8h1.3s1.5 2 1.5 2.5.7.6.7.6h.9l.3.6h.9l.3.6h1.8v-.9l-1.6-.3-.1-1-1.2-.3c-.4-1.7.3-2.2.8-1.4h.6l-.2-1.4.7-.2-.2-2.2-.6-.2v-.7l2.5.1c-.2-1.3 0-1.9 0-1.9h.8v.5l3.1.3 2.2-2.5c-.1-.2.2-.3 0-.5-.4-.3-.8 0-1.3-.3s0-2 0-2.5c-.2-.4 1.6-1 1.3 0-.3.8 0 1.3 0 1.3 1.3-1.3 2.4 0 2.3.4 0 .3.7.6 1.2.3s1.1.9 1 1.5c-.3.6-2 .5-2.2-.1 0-.6-.4-.4-.6-.1-.2.3-1 .5-1.6.2a.5.5 0 01-.1-.2l-2.2 2.5h.1c1.2.7.6 1.6.2 1.8-.4.2-1 .2-1 .2l-.3.4-2.6.2-.2 1c-1.2-.1-1.7 1.3-1.4 2 .3.7 0 1.3 0 1.3l1 .5 1.5-.4c.2-1 1-1.2 1.8-1.8.8-.6 2.1 1 1.7 1.9-.4.8-.4 1.1-.4 1.1l.1 1-1 .3-.8.4v.5h-2.8l-.4.5-1.3.1-.4.7h-1s-1.4.8-.8 1.6c.6.8-2.5.7-3.2-.4-.2 1-1.3 0-1.3 0l-1.1-.2-.1-1.5c-.2-1-2.1-1-2-.3 0 .7-3.6.3-3.6.3l-1.2.5-1.1.7-.1.5-1.8.2-.8.4-.3-.6h-.8l-.8 1c-2 .2-4 1.4-3.9 2 .2.4-.8 1-.8 1l-.9.2-.6 1-1.2.3-.2 2.2-.6.4v.9l-.7.2v.5h-1l.6 1.6.8.4c1.4.2.8 2 .8 2h.8l.4 1.1.8 1.7c.3 1.2 1.2.9 1.6.8.4-.1.8 1.2.8 1.2l4 .1s-.2.4.5.6c.7.2 5.3.4 5.5.1-.2-.9 2.5-1.1 3.6-.3 1 .8 2.6.3 2.6.3l1.5 1.8 1 2.3 1.7.5 1.2.3.4 1.7h.9l.3 1.2c1 .8-.3 2.5-.3 2.5v2.3l.8.4-.1.8 1.3 1.3h1.5l3.7 4.1 3 1 .5 1.6.8-.1.6-.5 2.4-.1 1.2-1.2 1.3-.2 11-9.4-1-.6v-2.2c1.9-1.3 2-3.7.3-3.9-1.3-.1-.7-1.5.5-1.7l.7-.3v-.9l2.3-2.1v-1.6l-5-4.2c-2.2-.8 0-5.7 1.5-5.6 1.5.1-.1-7.4-.1-7.4l-.8-.4.2-2.5h-1.1l-1.8 2.4-.5 1.6c-.2 2.1-6.4 1.7-6.7 1.4-.3-.3-2.4-1.2-2.4-1.2s-1.6-1.3-1.9-1c-.3.5-1.7-.4-1.7-.1 0 .3-1.3-.8-1.3-.8l-2-.7 1.5-.3-.3-1.2 2.6 1.3c.3.4 1.6.3 1.6.3l.4.5s.8 0 1.3.5c.5.7 3.1.2 3.1.2l.7.6 1.1.4h3.1l.1-1.9.6-.6v-1.2l.6-.6v-1l.6-.2.1-2.2.5-.1v-4.9l-1.5-1.4c-.1.5-1.7.5-1.7.5s-.4.7-.7.7c-.3 0 .4 1 .2 1.5-.2.6-1 .6-1 .6l-1.5.4-.4.5h-1.6l-.2-1.3 1.8-.5 1-.5.5-1c.1-1 1.3-.9 1.3-.9s2.3-2 2.4-2.8c.1-1 .9-3.5 2.3-3.5h2.6c1-.4.7-1.7.7-1.7l1.3-.2.2.7s1.8.2 2 0c.2-.4.6-1 1-.8.6.3 2.2-.7 2.2-.7 0-.7 2.6-.4 2.6-.4l.3-1s-1.7-2.3-2-2.3c-.3 0-2-1.4-2.1-.9-1.6-.4-1.5-2.6-1.5-2.6l-.6-1.4c0-.8-1.5-2.5-1.8-2.3a1.5 1.5 0 010-2.6c.4 0 1.4-1.5 1.4-1.5l.5-1.4 1.7-.5.2-1.3-1-.1s1-1.9 1.6-1.9 3.8 0 4-.2c.4-.2 1-1.8 1-2 0-.4.8-.5 1-.6.4 0 1-.9 1.3-1.3.2-.4-.5-3-1-2.5z"/>
+  <path fill="#fff" d="M320 242c.1 0 .3.5.6.4.3 0 .5.6.1.6-.2 0-.2.3-.2.5 0 .1 0 .5-.3.8-.2.2-.4 0-.7-.1-.3-.2-.5-.2-.9-.2-.3 0 0 .6 0 .6s-1.6 0-1.3-.3c.3-.2.6-.3.4-.4-.2-.2 0-.3 0-.6s.7-.2.5-.4c-.2-.2 0-1.1.4-.6l.2-.5c-.2-.3 0-.3-.5-.5s-.1-1-.1-1v-.7c.2-.7 1.7-.8 1.8-.1v1.1l.5.2s-.1.4-.5.4 0 .2-.2.5l.2.4zm-5 .8c.3-.4.8-2.4 1.4-1.8.6.6 1 0 1 0s.3.3.1 1c-.1.5-.3 1.1-.6 1.2-.4 0-.7.3-1.2.4-.4 0-.6-.8-.6-.8z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/us.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/us.svg
new file mode 100644
index 0000000..5b55267
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/us.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-us" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <g stroke-width="1pt">
+      <path fill="#bd3d44" d="M0 0h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.7h972.8V197H0zm0 78.8h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.7h972.8v39.4H0zm0 78.8h972.8V512H0z" transform="scale(.9375)"/>
+      <path fill="#fff" d="M0 39.4h972.8v39.4H0zm0 78.8h972.8v39.3H0zm0 78.7h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.8h972.8v39.4H0zm0 78.7h972.8v39.4H0z" transform="scale(.9375)"/>
+    </g>
+    <path fill="#192f5d" d="M0 0h389.1v275.7H0z" transform="scale(.9375)"/>
+    <path fill="#fff" d="M32.4 11.8L36 22.7h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H29zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9H177l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9H242l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.2-6.7h11.4zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zM64.9 39.4l3.5 10.9h11.5L70.6 57 74 67.9l-9-6.7-9.3 6.7L59 57l-9-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 10.9-9.3-6.7-9.3 6.7L124 57l-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.7-9.3 6.7 3.5-10.9-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 10.9-9.3-6.7-9.2 6.7 3.5-10.9-9.3-6.7H256zm64.9 0l3.5 10.9h11.5L330 57l3.5 10.9-9.2-6.7-9.3 6.7 3.5-10.9-9.2-6.7h11.4zM32.4 66.9L36 78h11.4l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.3-6.7H29zm64.9 0l3.5 11h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7h11.4zm64.8 0l3.6 11H177l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.3-6.7h11.5zm64.9 0l3.5 11H242l-9.3 6.7 3.6 10.9-9.3-6.8-9.3 6.8 3.6-11-9.3-6.7h11.4zm64.8 0l3.6 11h11.4l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.2-6.7h11.4zm64.9 0l3.5 11h11.5l-9.3 6.7 3.6 10.9-9.3-6.8-9.3 6.8 3.6-11-9.3-6.7h11.5zM64.9 94.5l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H256zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zM32.4 122.1L36 133h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H29zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.7-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9H177l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9H242l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.2-6.7h11.4zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zM64.9 149.7l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 10.9-9.3-6.8-9.3 6.8 3.6-11-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 10.9-9.3-6.8-9.2 6.8 3.5-11-9.3-6.7H256zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 10.9-9.2-6.8-9.3 6.8 3.5-11-9.2-6.7h11.4zM32.4 177.2l3.6 11h11.4l-9.2 6.7 3.5 10.8-9.3-6.7-9.2 6.7 3.5-10.9-9.3-6.7H29zm64.9 0l3.5 11h11.5l-9.3 6.7 3.6 10.8-9.3-6.7-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 11H177l-9.2 6.7 3.5 10.8-9.3-6.7-9.2 6.7 3.5-10.9-9.3-6.7h11.5zm64.9 0l3.5 11H242l-9.3 6.7 3.6 10.8-9.3-6.7-9.3 6.7 3.6-10.9-9.3-6.7h11.4zm64.8 0l3.6 11h11.4l-9.2 6.7 3.5 10.8-9.3-6.7-9.2 6.7 3.5-10.9-9.2-6.7h11.4zm64.9 0l3.5 11h11.5l-9.3 6.7 3.6 10.8-9.3-6.7-9.3 6.7 3.6-10.9-9.3-6.7h11.5zM64.9 204.8l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.3 6.7 3.6 11-9.3-6.8-9.3 6.7 3.6-10.9-9.3-6.7h11.5zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7H191zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 11-9.3-6.8-9.2 6.7 3.5-10.9-9.3-6.7H256zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.5 11-9.2-6.8-9.3 6.7 3.5-10.9-9.2-6.7h11.4zM32.4 232.4l3.6 10.9h11.4l-9.2 6.7 3.5 10.9-9.3-6.7-9.2 6.7 3.5-11-9.3-6.7H29zm64.9 0l3.5 10.9h11.5L103 250l3.6 10.9-9.3-6.7-9.3 6.7 3.6-11-9.3-6.7h11.4zm64.8 0l3.6 10.9H177l-9 6.7 3.5 10.9-9.3-6.7-9.2 6.7 3.5-11-9.3-6.7h11.5zm64.9 0l3.5 10.9H242l-9.3 6.7 3.6 10.9-9.3-6.7-9.3 6.7 3.6-11-9.3-6.7h11.4zm64.8 0l3.6 10.9h11.4l-9.2 6.7 3.5 10.9-9.3-6.7-9.2 6.7 3.5-11-9.2-6.7h11.4zm64.9 0l3.5 10.9h11.5l-9.3 6.7 3.6 10.9-9.3-6.7-9.3 6.7 3.6-11-9.3-6.7h11.5z" transform="scale(.9375)"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/uy.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/uy.svg
new file mode 100644
index 0000000..bad58e5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/uy.svg
@@ -0,0 +1,28 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-uy" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#0038a8" d="M266 53.3h374v53.4H266zm0 106.7h374v53.3H266zM0 266.7h640V320H0zm0 106.6h640v53.4H0z"/>
+  <g fill="#fcd116" stroke="#000" stroke-miterlimit="20" stroke-width=".6" transform="translate(133.3 133.3) scale(2.93333)">
+    <g id="c">
+      <g id="b">
+        <g id="a">
+          <path stroke-linecap="square" d="M1.5 9L6 12c-8 13 1 15-6 21 3-7-3-5-3-17" transform="rotate(22.5)"/>
+          <path fill="none" d="M0 11c-2 13 4.5 17 0 22" transform="rotate(22.5)"/>
+          <path d="M0 0h6L0 33-6 0h6v33"/>
+        </g>
+        <use width="100%" height="100%" transform="rotate(45)" xlink:href="#a"/>
+      </g>
+      <use width="100%" height="100%" transform="rotate(90)" xlink:href="#b"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1)" xlink:href="#c"/>
+    <circle r="11"/>
+  </g>
+  <g transform="translate(133.3 133.3) scale(.29333)">
+    <g id="d">
+      <path d="M81-44c-7 8-11-6-36-6S16-35 12-38s21-21 29-22 31 7 40 16m-29 9c7 6 1 19-6 19S26-28 32-36"/>
+      <path d="M19-26c1-12 11-14 27-14s23 12 29 15c-7 0-13-10-29-10s-16 0-27 10m3 2c4-6 9 6 20 6s17-3 24-8-10 12-21 12-26-6-23-10"/>
+      <path d="M56-17c13-7 5-17 0-19 2 2 10 12 0 19M0 43c6 0 8-2 16-2s27 11 38 7c-23 9-14 3-54 3h-5m63 6c-4-7-3-5-11-16 8 6 10 9 11 16M0 67c25 0 21-5 54-19-24 3-29 11-54 11h-5m5-29c7 0 9-5 17-5s19 3 24 7c1 1-3-8-11-9S25 9 16 7c0 4 3 3 4 9 0 5-9 5-11 0 2 8-4 8-9 8"/>
+    </g>
+    <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#d"/>
+    <path d="M0 76c-5 0-18 3 0 3s5-3 0-3"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/uz.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/uz.svg
new file mode 100644
index 0000000..3ede7f1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/uz.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-uz" viewBox="0 0 640 480">
+  <path fill="#1eb53a" d="M0 320h640v160H0z"/>
+  <path fill="#0099b5" d="M0 0h640v160H0z"/>
+  <path fill="#ce1126" d="M0 153.6h640v172.8H0z"/>
+  <path fill="#fff" d="M0 163.2h640v153.6H0z"/>
+  <circle cx="134.4" cy="76.8" r="57.6" fill="#fff"/>
+  <circle cx="153.6" cy="76.8" r="57.6" fill="#0099b5"/>
+  <g fill="#fff" transform="matrix(1.92 0 0 1.92 261.1 122.9)">
+    <g id="e">
+      <g id="d">
+        <g id="c">
+          <g id="b">
+            <path id="a" d="M0-6L-1.9-.3 1 .7"/>
+            <use width="100%" height="100%" transform="scale(-1 1)" xlink:href="#a"/>
+          </g>
+          <use width="100%" height="100%" transform="rotate(72)" xlink:href="#b"/>
+        </g>
+        <use width="100%" height="100%" transform="rotate(-72)" xlink:href="#b"/>
+        <use width="100%" height="100%" transform="rotate(144)" xlink:href="#c"/>
+      </g>
+      <use width="100%" height="100%" y="-24" xlink:href="#d"/>
+      <use width="100%" height="100%" y="-48" xlink:href="#d"/>
+    </g>
+    <use width="100%" height="100%" x="24" xlink:href="#e"/>
+    <use width="100%" height="100%" x="48" xlink:href="#e"/>
+    <use width="100%" height="100%" x="-48" xlink:href="#d"/>
+    <use width="100%" height="100%" x="-24" xlink:href="#d"/>
+    <use width="100%" height="100%" x="-24" y="-24" xlink:href="#d"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/va.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/va.svg
new file mode 100644
index 0000000..258cca9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/va.svg
@@ -0,0 +1,479 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-va" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#fff" d="M320 0h320v480H320z"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M282.4-735.1c0 .6 56 222.8 118.2 300.5 69.4 87.3 113.2 87.4 113.2 87.4l70.9-17.8s-41.6 2.1-123.9-104.2c-83.4-107.7-109.4-286-108.1-282.8l-70.3 16.9z" transform="matrix(-.24 0 0 .1991 534 334.4)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M285-727.6c-1.5-9.4 33.9 221 140.2 327.2 53.1 53.1 88.6 53.1 88.6 53.1l88.6-17.7s-51.7 3.8-134-102.5c-83.5-107.8-108.6-263.3-108-263.9l-75.4 3.8z" transform="matrix(.24 0 0 .1991 381.9 336.2)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M282.4-735.1c0 .6 56 222.8 118.2 300.5 69.4 87.3 113.2 87.4 113.2 87.4l70.9-17.8s-41.6 2.1-123.9-104.2c-83.4-107.7-109.4-286-108.1-282.8l-70.3 16.9z" transform="matrix(.24 0 0 .1991 381.9 336.2)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M285-727.6c-1.5-9.4 33.9 221 140.2 327.2 53.1 53.1 88.6 53.1 88.6 53.1l88.6-17.7s-51.7 3.8-134-102.5c-83.5-107.8-108.6-263.3-108-263.9l-75.4 3.8z" transform="matrix(-.24 0 0 .1991 534 334.4)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(.23995 .00428 -.00516 .19905 380 342.3)"/>
+    <g fill="#b00" stroke="#000" stroke-width="12.8">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01763 .00275 .01016 -.01162 411 329.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0173 .00313 .01036 -.0116 409.4 331)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01763 .00275 .01016 -.01162 407.3 332.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01789 -.0011 .00628 -.01341 429.5 312.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0177 -.00038 .0068 -.01331 428.4 313.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01791 -.00081 .0066 -.0133 426.8 315.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01769 .00056 .0078 -.01292 425.8 316.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01765 -.00269 .00455 -.0139 433.9 305.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0175 -.00223 .00475 -.01392 433 307.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01765 -.00269 .00455 -.0139 431.7 309.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01754 -.00195 .00507 -.01384 430.5 311.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01784 .00155 .009 -.01227 418 324)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01754 .00195 .0092 -.01225 416.4 325.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01784 .00155 .009 -.01227 414.5 327.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0173 .00313 .01036 -.0116 413.1 328)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01794 .00014 .00759 -.01293 424 318.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01769 .00056 .0078 -.01292 422.7 319.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01784 .00155 .009 -.01227 421.4 320.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01754 .00195 .0092 -.01225 419.9 322.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01668 -.00552 .00122 -.01437 443.6 284.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01707 -.00392 .00278 -.01429 443.6 284.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01715 -.00439 .00258 -.01424 442.7 287)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01707 -.00392 .00278 -.01429 442 288.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01664 -.00505 .0014 -.01443 445.7 277.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01668 -.00552 .00122 -.01437 445 280)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01664 -.00505 .0014 -.01443 444.4 282)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01752 -.00323 .00393 -.01402 438 298.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01738 -.00277 .00413 -.01406 437.1 300)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01752 -.00323 .00393 -.01402 436 302.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0175 -.00223 .00475 -.01392 435.2 303.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01715 -.00439 .00258 -.01424 441 291.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01738 -.00277 .00413 -.01406 441.3 292.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01752 -.00323 .00393 -.01402 440.1 294.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01738 -.00277 .00413 -.01406 439.2 296.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01541 -.00768 -.00154 -.01435 448.9 266.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01656 -.00577 .0009 -.01438 448.9 268)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01653 -.0053 .0011 -.01445 448.4 269.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01546 -.0072 -.00136 -.01443 449.6 259.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01541 -.00768 -.00154 -.01435 449.4 262.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01546 -.0072 -.00136 -.01443 449.1 264.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01656 -.00577 .0009 -.01438 447.7 272.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01664 -.00505 .0014 -.01443 447 273.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01668 -.00552 .00122 -.01437 446.3 275.8)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="12.8">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01781 .00178 -.00923 -.01216 503.2 324)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0175 .00217 -.00943 -.01214 504.7 325.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01781 .00178 -.00923 -.01216 506.6 327.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01776 -.00209 -.00521 -.01373 486 305.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01762 -.00135 -.00574 -.01366 487.1 307.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0178 -.0018 -.00554 -.01364 488.5 309.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0177 -.00041 -.00676 -.01332 489.5 310)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0174 -.00365 -.00345 -.01411 482.2 299)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01728 -.00319 -.00365 -.01415 483 300.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0174 -.00365 -.00345 -.01411 484.1 303)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01735 -.0029 -.00398 -.01409 485.2 304.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01792 .00057 -.00802 -.01274 496.7 318)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01766 .00098 -.00823 -.01273 498.1 319.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01792 .00057 -.00802 -.01274 499.9 321.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0175 .00217 -.00943 -.01214 501.2 322.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0179 -.00085 -.00656 -.01332 491 312)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0177 -.00041 -.00676 -.01332 492.3 313.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01792 .00057 -.00802 -.01274 493.5 314.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01766 .00098 -.00823 -.01273 495 316.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01621 -.00642 -.00009 -.0144 474.2 276.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01672 -.00485 -.00165 -.01441 474.1 277.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01677 -.00532 -.00146 -.01435 475 279.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01672 -.00485 -.00165 -.01441 475.5 281.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0162 -.00595 -.00027 -.01447 472.6 270.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01621 -.00642 -.00009 -.0144 473.2 272.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0162 -.00595 -.00027 -.01447 473.6 274.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01723 -.00419 -.00282 -.01421 478.6 291.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01713 -.00372 -.00302 -.01425 479.4 293)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01723 -.00419 -.00282 -.01421 480.4 295.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01728 -.00319 -.00365 -.01415 481.1 296.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01677 -.00532 -.00146 -.01435 476.3 283.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01713 -.00372 -.00302 -.01425 475.9 285)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01723 -.00419 -.00282 -.01421 476.9 287.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01713 -.00372 -.00302 -.01425 477.6 289)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01478 -.0085 .00266 -.01423 470.4 259)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01607 -.00667 .00022 -.0144 470.2 260.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01608 -.0062 .00004 -.01448 470.6 262.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01486 -.00804 .00249 -.01433 470 252.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01478 -.0085 .00266 -.01423 470.2 254.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01486 -.00804 .00249 -.01433 470.3 256.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01607 -.00667 .00022 -.0144 471 264.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0162 -.00595 -.00027 -.01447 471.6 266)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01621 -.00642 -.00009 -.0144 472.2 268.4)"/>
+    </g>
+    <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(-.23995 .00428 .00516 .19905 536 340.5)"/>
+    <g transform="matrix(.14437 0 0 .12085 423.6 295.3)">
+      <path fill="silver" d="M324.6-255.4l-50.2 50.1L449.8-29.9l50.1-50z"/>
+      <circle cx="354.3" cy="-1428" r="35.4" fill="#fff133" stroke="#000" stroke-width="1.2" transform="scale(-1 1) rotate(45 -177.9 -1104.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M-402-957l37.5 37.7-25 25-37.6-37.6c-12.5-12.5 12.5-37.5 25-25z"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M-346.6-926.5l-50.1 50a25 25 0 01-25-25c10.8-25.8 25-38.4 50-50a26.9 26.9 0 0125 25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M-352-931.9l37.7 37.6-50.2 50.1-37.5-37.5c5-20 30-45.1 50-50.1z"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M-309-889l-50.1 50.1a25.1 25.1 0 01-25-25c10.8-25.9 25-38.4 50-50.1a26.9 26.9 0 0125 25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M-314.4-894.3L28.4-551.5l-50 50.1-342.9-342.8c5-20 30.1-45 50.1-50z"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M49-531l-50.2 50.1a25.1 25.1 0 01-25-25c10.8-25.9 25-38.5 50-50.1A26.9 26.9 0 0149-531z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M49-531l225.4 225.5-50 50.1L-1.3-480.9c5-20 30.1-45 50.1-50z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M186.7-418.2l-75.1 75.1a25.1 25.1 0 01-25-25s0-25 25-50.1 50-25 50-25c11.7 1.5 21.5 12.4 25.1 25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M186.7-418.2l50.2 75.1-50.1 50.1-75.2-50c-2.8-2.5 0-25.1 25-50.2s49-24.4 50.1-25z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M336.6-506.7c0-35.4 0-86.6 17.7-130C372-593.3 372-542 372-506.7h-35.4z" transform="rotate(135 434.8 18.7) scale(1 -.81782)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="rotate(-45 399.4 -194.2) scale(1 .81782)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="rotate(135 434.8 18.7) scale(1 -.81782)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M-314.4-894.3l37.6 37.6c25 25 112.8 137.8 112.8 137.8s117.3 92.3 142.3 117.3L16-564c-25-25-180-129.8-180-129.8S-71.7-551.5-34.1-514l-37.6-37.6c-25-25-117.3-142.3-117.3-142.3S-289.3-769-314.4-794.1l-50-50c25 25 175.3 125.2 175.3 125.2s-100.2-150.3-125.3-175.4z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M299.5-230.3A907.4 907.4 0 00412.2-92.5a83 83 0 0050.1 25s0-25-25-50a899 899 0 00-137.8-112.8zm-62.6-112.8c87.6 87.7 187.9 137.8 250.5 200.5 50.1 50 15.4 88.4 1.4 100.6-14 12.1-52 50.3-101.6-.4C324.5-105 274.4-205.3 186.7-293c0-25 25.1-50 50.1-50z"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M218.3 257.9h23v73h-23z" transform="matrix(-1.2487 -1.4214 -1.3593 1.3175 1166.1 -102.6)"/>
+      <g fill="silver" stroke="#000">
+        <path stroke-width=".6" d="M301.2 396.9l17.7 17.7-17.7 17.7 8.8 8.8 17.7-17.7 35.5 35.5-17.7 17.7 8.8 8.8 17.7-17.7 17.8 17.7-53.2 53.2-35.4-35.4 17.7-17.8 8.9 8.9 8.8-8.9-35.4-35.4-8.9 8.9 8.9 8.8-17.7 17.7-17.7-17.7 8.8-8.8-8.8-8.9-35.5 35.4 8.9 8.9 8.8-8.9 17.8 17.8-17.8 17.7-8.8-8.9-8.9 8.9 35.5 35.4 8.8-8.9-8.8-8.8 17.7-17.7 35.4 35.4-53.1 53.1-17.8-17.7 17.8-17.7-9-8.8-17.6 17.7-35.5-35.5 17.8-17.7-8.9-8.8-17.7 17.7-17.7-17.7 124-124z" transform="matrix(-2.2946 0 0 2.2438 360.6 -1733.7)"/>
+        <path stroke-width="1.1" d="M318.9 786.6V822l88.6 88.6v-70.8L389.8 822h-35.5L319 786.6z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.1" d="M230.4 698.8l70.4 70.4.8 35.2-71.2-71.3v-34.3z" transform="matrix(-1.1473 0 0 1.1219 157.4 -1288.5)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 259 -1387.9)"/>
+        <path stroke-width="1.1" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.1" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1189.1)"/>
+        <path stroke-width="1.1" d="M230.4 698.8l35.8 35.4v35.4l-35.8-36.5v-34.3z" transform="matrix(-1.1473 0 0 1.1219 218.8 -1349)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1507.1)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 137 -1427.6)"/>
+        <path stroke-width="1.1" d="M283.5 822l53.1-53.1v-35.4l-70.9 70.8 17.8 17.8z" transform="matrix(-1.1473 0 0 1.1219 137 -1546.9)"/>
+        <path stroke-width="1.1" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(-1.1473 0 0 1.1219 35.4 -1447.5)"/>
+        <path stroke-width="1.1" d="M301.2 804.3L265.8 769v-35.4l35.4 35.4v35.4z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1507.1)"/>
+        <path stroke-width="1.1" d="M389.8 822l-53.2-53v-35.4l70.9 70.8-17.7 17.8z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1546.9)"/>
+        <path stroke-width="1.1" d="M230.4 698l70.9 71h35.4l17.7 17.6v70.9l-124-124.4v-35z" transform="matrix(-1.1473 0 0 1.1219 -66.2 -1387.9)"/>
+        <path stroke-width="1.1" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.1" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(-1.1473 0 0 1.1219 157.3 -1288.5)"/>
+        <path stroke-width="1.1" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 -5.3 -1447.5)"/>
+        <path stroke-width="1.1" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(-1.1473 0 0 1.1219 -5.3 -1447.5)"/>
+        <path stroke-width="1.1" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 -86.6 -1527)"/>
+        <path stroke-width="1.1" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 15 -1626.4)"/>
+        <path stroke-width="1.1" d="M265.8 768.9v-35.4l17.7 17.7-17.7 17.7z" transform="matrix(-1.1473 0 0 1.1219 55.7 -1348.1)"/>
+        <path stroke-width="1.1" d="M301.2 804.3L265.8 769l17.7-17.7 17.7 17.7v35.4z" transform="matrix(-1.1473 0 0 1.1219 137 -1427.6)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l-17.7-17.7 17.7-17.7v35.4z" transform="matrix(-1.1473 0 0 1.1219 15 -1586.6)"/>
+      </g>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M196.5 254.2h25.2v80.2h-25.2z" transform="matrix(-1.2509 -1.4194 -1.3614 1.3153 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M242.1 24.8c-147 0-113.1 164.2-100.4 124 9.4-29.5 35.5-70.8 65-80.2C246.9 55.8 233.4 78 248 78c14.7 0 1.2-22.2 41.4-9.4 29.5 9.4 55.6 50.7 65 80.2 12.7 40.3 53-124-112.3-124z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M389.8 166.5a141.8 141.8 0 01-283.5 0v-17.7c0-29 35.4 124 141.7 124s141.8-124.7 141.8-124v17.7z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(1.8992 0 0 1.8865 224 -100.5)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M389.8 148.8a141.8 141.8 0 11-283.6 0 141.8 141.8 0 01283.6 0zm-53.2 0c0 14.7 22.8 3 9.4 43a81 81 0 01-56.6 55c-40.2 12.7-26.7-9.4-41.4-9.4-14.6 0-1.1 22.1-41.3 9.4a80.2 80.2 0 01-56.6-56.6c-12.8-40.2 9.3-26.7 9.3-41.4s-22-1.1-9.3-41.3a80.2 80.2 0 0156.6-56.6c40.2-12.8 26.7 9.3 41.3 9.3 14.7 0 1.2-22 41.4-9.3a80.3 80.3 0 0156.6 56.6c12.7 40.2-9.4 26.6-9.4 41.3z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M126.5 157.7c-20.2 0-1.9 67.6-9 51.7a126.5 126.5 0 010-103.4c7.1-16-11.2 51.7 9 51.7z" transform="matrix(-1.6618 0 0 1.7607 1107.2 -99.5)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M372 140a88 88 0 01-9.7 44.8c-8 13.7 9.8-44.8-8-44.8 17.7 0 1.7-58.6 8-44.8a107.7 107.7 0 019.8 44.8z" transform="matrix(-1.8992 0 0 2.0316 1166.1 -106.2)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M296.3 263a123.5 123.5 0 01-96.5 0c-14.9-6.2 48.2 9.8 48.2-7.9 0 17.7 63.1 1.7 48.3 8zM248 42.6c0-17.7-63-1.7-48.2-8a123 123 0 0196.5 0c14.8 6.3-48.3-9.7-48.3 8z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="#fff133" stroke="#000" stroke-width="1.2" rx="18.4" ry="20.1" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1257.6 -120)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(-1.2929 -1.3819 1.3912 -1.2842 808.9 712)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1223.2 329.9)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M267.7 308.5c-9.2 1.9-20.2 1-30 1-9.7 0-19.3-2.7-28.5-4.6l8.8-10.3a149.3 149.3 0 0060 0l-10.3 14z" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1223.2 329.9)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(-1.3912 1.2842 1.2929 1.3819 847.4 -345.2)"/>
+      <ellipse cx="82.1" cy="160.9" fill="#fff133" stroke="#000" stroke-width="1.2" rx="18.4" ry="20.1" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 789.1 314.4)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M267.6 281.5c-9.2 1.9-17.1 3-26.9 3s-23-.8-32.3-2.7l9.6 12.8a149.5 149.5 0 0060 0l-10.4-13.1z" transform="matrix(-1.3912 1.2842 1.2929 1.3819 850.6 -315.2)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M174 271.8l-.9 14.8-3.2 4.5 1-15 3-4.3zm156.5-6.2l3.6 4.2 1 13.6-2.9-3-1.7-14.8z" transform="matrix(-1.8992 0 0 1.8865 1166.1 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="#fff133" stroke="#000" stroke-width="1.2" rx="18.4" ry="20.1" transform="matrix(-1.2929 -1.3819 -1.3912 1.2842 1237.6 329.9)"/>
+    </g>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M513.8-790.2l35.4-17.7 35.4 17.7s-73.3 35.5-73.3 159.5c0 88.6 125.2 106.3 125.2 212.6 0 45.6-34.1 88.6-69.6 88.6s-88.6-17.7-141.7-70.9c35.4 17.7 76 37.3 106.3 36 19.6-.3 55-17.7 55-53 0-71-122.8-107-122.8-213.3 0-124 50-159.4 50-159.4z" transform="matrix(-.24 0 0 .1991 534 334.4)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M520.3-790.2l46.6-17.7 10 17.7s-70.6 35.5-70.6 159.5c0 88.6 125.9 106.3 125.9 212.6 0 45.6-26.7 87.4-65.3 88.6-73.4 2.3-90.4-24-141.7-70.9 43.1 32.3 105 46.8 129 34.2 29.4-15.4 35-36 35-53.8 0-70.9-120.9-104.4-120.9-210.7 0-124 52-159.4 52-159.4z" transform="matrix(-.24 0 0 .1991 534 334.4)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M513.3-789.7c7-2.4 36-18.2 71.3 17.3 17.8 17.7 17.8 53.1 17.8 70.8l53.1-53.1s-29-86.9-107.6-53.6a334.8 334.8 0 00-34.5 18.6z" transform="matrix(-.24 0 0 .1991 534 334.4)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M523.8-796c8.8-2.8 36.7-6.3 64.6 18.6 17.7 17.7 19 42.9 19 60.6l40.6-38c3.4-3.1-24.8-81.2-99.2-54a154 154 0 00-25 12.9z" transform="matrix(-.24 0 0 .1991 534 334.4)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(-.19534 -.02065 -.06668 .17315 439.6 337.1)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(.17775 .02412 .0031 -.13262 320.6 95.2)"/>
+    <g transform="matrix(.14437 0 0 .12085 423.6 295.3)">
+      <g transform="rotate(45 478.1 -504.6)">
+        <circle cx="354.3" cy="-1428" r="35.4" fill="silver" stroke="#000" stroke-width="1.2" transform="translate(124 283.5)"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M460.6-1126.8v53.2h35.5v-53.2c0-17.7-35.5-17.7-35.5 0z"/>
+        <path fill="silver" stroke="#000" stroke-width="1.2" d="M443-1066h70.8a25.1 25.1 0 000-35.5c-26-10.6-44.9-9.5-70.9 0a27 27 0 000 35.4z"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M443-1073.6v53.1h70.8v-53.1c-17.7-10.6-53.2-10.6-70.9 0z"/>
+        <path fill="silver" stroke="#000" stroke-width="1.2" d="M443-1013h70.8a25.1 25.1 0 000-35.4c-26-10.6-44.9-9.5-70.9 0a27 27 0 000 35.5z"/>
+        <path fill="#fff133" d="M443-117h70.8v248.1h-70.9z"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M443-1020.5v484.8h70.8v-484.8c-17.7-10.6-53.2-10.6-70.9 0z"/>
+        <path fill="silver" stroke="#000" stroke-width="1.2" d="M443-506.7h70.8a25.1 25.1 0 000-35.4c-26-10.6-44.9-9.5-70.9 0a27 27 0 000 35.4z"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M443-506.7v318.9h70.8v-318.9c-17.7-10.6-53.2-10.6-70.9 0z"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M425.2-329.5h106.3a25 25 0 000-35.5s-17.7-17.7-53.2-17.7-53.1 17.7-53.1 17.7c-7.1 9.4-6.3 24 0 35.5z"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M425.2-329.5l17.7 88.6h70.9l17.7-88.6c.3-3.8-17.7-17.7-53.2-17.7s-51.9 17.3-53.1 17.7z"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M336.6-506.7c0-35.4 0-86.6 17.7-130C372-593.3 372-542 372-506.7h-35.4z" transform="matrix(1 0 0 .81782 124 173.4)"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="matrix(-1 0 0 .81782 832.7 173.4)"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M318.9-506.7h17.7V-550c0-43.3-35.4-65-35.4-65l17.7 108.3z" transform="matrix(1 0 0 .81782 124 173.4)"/>
+        <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M478.3-117a908.6 908.6 0 0117.8 177.2 83 83 0 01-17.8 53.2s-17.7-17.7-17.7-53.2c0-17.7 0-88.6 17.7-177.1zM443-241c0 124-35.4 230.4-35.4 319 0 70.8 51.6 73.4 70 72.1 18.6-1.3 72.4-1.2 71.7-72.2 0-88.5-35.4-194.8-35.4-318.9-17.7-17.7-53.2-17.7-70.9 0z"/>
+        <path fill="silver" stroke="#000" stroke-width="1.2" d="M443-1020.5v53.2c0 35.4 17.6 177.1 17.6 177.1S443-642 443-606.6v53.2c0-35.4 35.4-219 35.4-219s35.5 165.9 35.5 219v-53.2c0-35.4-17.7-183.6-17.7-183.6s17.7-124 17.7-159.4v-70.9c0 35.4-35.4 212.6-35.4 212.6S443-985.1 443-1020.5z"/>
+      </g>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M218.3 257.9h23v73h-23z" transform="matrix(1.2487 -1.4214 1.3593 1.3175 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M242.1 24.8c-147 0-113.1 164.2-100.4 124 9.4-29.5 35.5-70.8 65-80.2C246.9 55.8 233.4 78 248 78c14.7 0 1.2-22.2 41.4-9.4 29.5 9.4 55.6 50.7 65 80.2 12.7 40.3 53-124-112.3-124z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M389.8 166.5a141.8 141.8 0 01-283.5 0v-17.7c0-29 35.4 124 141.7 124s141.8-124.7 141.8-124v17.7z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="silver" stroke="#000" stroke-width="1.2" rx="18.4" ry="20.1" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -753.9 -120)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M196.5 254.2h25.2v80.2h-25.2z" transform="matrix(1.2509 -1.4194 1.3614 1.3153 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M336.6 166.5c0 14.7 35.4 35.5 35.4-17.7h-35.4v17.7z" transform="matrix(-1.8992 0 0 1.8865 279.7 -100.5)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M389.8 148.8a141.8 141.8 0 11-283.6 0 141.8 141.8 0 01283.6 0zm-53.2 0c0 14.7 22.8 3 9.4 43a81 81 0 01-56.6 55c-40.2 12.7-26.7-9.4-41.4-9.4-14.6 0-1.1 22.1-41.3 9.4a80.2 80.2 0 01-56.6-56.6c-12.8-40.2 9.3-26.7 9.3-41.4s-22-1.1-9.3-41.3a80.2 80.2 0 0156.6-56.6c40.2-12.8 26.7 9.3 41.3 9.3 14.7 0 1.2-22 41.4-9.3a80.3 80.3 0 0156.6 56.6c12.7 40.2-9.4 26.6-9.4 41.3z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M126.5 157.7c-20.2 0-1.9 67.6-9 51.7a126.5 126.5 0 010-103.4c7.1-16-11.2 51.7 9 51.7z" transform="matrix(1.6618 0 0 1.7607 -603.6 -99.5)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M372 140a88 88 0 01-9.7 44.8c-8 13.7 9.8-44.8-8-44.8 17.7 0 1.7-58.6 8-44.8a107.7 107.7 0 019.8 44.8z" transform="matrix(1.8992 0 0 2.0316 -662.5 -106.2)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M296.3 263a123.5 123.5 0 01-96.5 0c-14.9-6.2 48.2 9.8 48.2-7.9 0 17.7 63.1 1.7 48.3 8zM248 42.6c0-17.7-63-1.7-48.2-8a123 123 0 0196.5 0c14.8 6.3-48.3-9.7-48.3 8z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(1.2929 -1.3819 -1.3912 -1.2842 -305.2 712)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -719.6 329.9)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M267.7 308.5c-9.2 1.9-20.2 1-30 1-9.7 0-19.3-2.7-28.5-4.6l8.8-10.3a149.3 149.3 0 0060 0l-10.3 14z" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -719.6 329.9)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M276.6 287.7a142 142 0 01-57.1 0l-1.5 7a149 149 0 0060 0l-1.4-7z" transform="matrix(1.3912 1.2842 -1.2929 1.3819 -343.8 -345.2)"/>
+      <ellipse cx="82.1" cy="160.9" fill="silver" stroke="#000" stroke-width="1.2" rx="18.4" ry="20.1" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -285.5 314.4)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M267.6 281.5c-9.2 1.9-17.1 3-26.9 3s-23-.8-32.3-2.7l9.6 12.8a149.5 149.5 0 0060 0l-10.4-13.1z" transform="matrix(1.3912 1.2842 -1.2929 1.3819 -347 -315.2)"/>
+      <path fill="silver" stroke="#000" stroke-width="1.2" d="M174 271.8l-.9 14.8-3.2 4.5 1-15 3-4.3zm156.5-6.2l3.6 4.2 1 13.6-2.9-3-1.7-14.8z" transform="matrix(1.8992 0 0 1.8865 -662.5 -102.6)"/>
+      <ellipse cx="82.1" cy="160.9" fill="silver" stroke="#000" stroke-width="1.2" rx="18.4" ry="20.1" transform="matrix(1.2929 -1.3819 1.3912 1.2842 -733.9 329.9)"/>
+      <g fill="#fff133" stroke="#000">
+        <path stroke-width=".6" d="M301.2 396.9l17.7 17.7-17.7 17.7 8.8 8.8 17.7-17.7 35.5 35.5-17.7 17.7 8.8 8.8 17.7-17.7 17.8 17.7-53.2 53.2-35.4-35.4 17.7-17.8 8.9 8.9 8.8-8.9-35.4-35.4-8.9 8.9 8.9 8.8-17.7 17.7-17.7-17.7 8.8-8.8-8.8-8.9-35.5 35.4 8.9 8.9 8.8-8.9 17.8 17.8-17.8 17.7-8.8-8.9-8.9 8.9 35.5 35.4 8.8-8.9-8.8-8.8 17.7-17.7 35.4 35.4-53.1 53.1-17.8-17.7 17.8-17.7-9-8.8-17.6 17.7-35.5-35.5 17.8-17.7-8.9-8.8-17.7 17.7-17.7-17.7 124-124z" transform="matrix(2.2946 0 0 2.2438 143.1 -1733.7)"/>
+        <path stroke-width="1.1" d="M318.9 786.6V822l88.6 88.6v-70.8L389.8 822h-35.5L319 786.6z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.1" d="M230.4 698.8l70.4 70.4.8 35.2-71.2-71.3v-34.3z" transform="matrix(1.1473 0 0 1.1219 346.3 -1288.5)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 244.7 -1387.9)"/>
+        <path stroke-width="1.1" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.1" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(1.1473 0 0 1.1219 448 -1189.1)"/>
+        <path stroke-width="1.1" d="M230.4 698.8l35.8 35.4v35.4l-35.8-36.5v-34.3z" transform="matrix(1.1473 0 0 1.1219 284.9 -1349)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 448 -1507.1)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l35.4-35.4v-35.4l-35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 366.7 -1427.6)"/>
+        <path stroke-width="1.1" d="M283.5 822l53.1-53.1v-35.4l-70.9 70.8 17.8 17.8z" transform="matrix(1.1473 0 0 1.1219 366.7 -1546.9)"/>
+        <path stroke-width="1.1" d="M248 644.9v35.4l17.8-17.7-17.8-17.7z" transform="matrix(1.1473 0 0 1.1219 468.3 -1447.5)"/>
+        <path stroke-width="1.1" d="M301.2 804.3L265.8 769v-35.4l35.4 35.4v35.4z" transform="matrix(1.1473 0 0 1.1219 448 -1507.1)"/>
+        <path stroke-width="1.1" d="M389.8 822l-53.2-53v-35.4l70.9 70.8-17.7 17.8z" transform="matrix(1.1473 0 0 1.1219 448 -1546.9)"/>
+        <path stroke-width="1.1" d="M230.4 698l70.9 71h35.4l17.7 17.6v70.9l-124-124.4v-35z" transform="matrix(1.1473 0 0 1.1219 569.8 -1387.9)"/>
+        <path stroke-width="1.1" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.1" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(1.1473 0 0 1.1219 346.4 -1288.5)"/>
+        <path stroke-width="1.1" d="M354.3 822l106.3-106.3h35.5L389.8 822h-35.5zm53.2 17.8l106.3-106.3-17.7-17.7L389.8 822l17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 509 -1447.5)"/>
+        <path stroke-width="1.1" d="M407.5 839.8v70.8l106.3-106.3v-70.8L407.5 839.8z" transform="matrix(1.1473 0 0 1.1219 509 -1447.5)"/>
+        <path stroke-width="1.1" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 590.3 -1527)"/>
+        <path stroke-width="1.1" d="M318.9 786.6l17.7-17.7v-35.4l-35.4 35.4 17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 488.6 -1626.4)"/>
+        <path stroke-width="1.1" d="M265.8 768.9v-35.4l17.7 17.7-17.7 17.7z" transform="matrix(1.1473 0 0 1.1219 448 -1348.1)"/>
+        <path stroke-width="1.1" d="M301.2 804.3L265.8 769l17.7-17.7 17.7 17.7v35.4z" transform="matrix(1.1473 0 0 1.1219 366.7 -1427.6)"/>
+        <path stroke-width="1.1" d="M301.2 804.3l-17.7-17.7 17.7-17.7v35.4z" transform="matrix(1.1473 0 0 1.1219 488.6 -1586.6)"/>
+      </g>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="18">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452 279.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452.1 277.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452.1 275)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452.1 273.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452 287.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452 286)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452 283.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452 281.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452.3 262.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452.3 260.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452.3 257.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452.3 256)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452.2 270.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452.2 268.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452.2 266.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452.2 264.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.7 313.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.8 311.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.8 309.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.8 307.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.6 322.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.7 320.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.7 317.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.7 316)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.9 296.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452 294.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 452 292.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 452 290.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.8 305)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.8 303)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.9 300.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.9 298.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.4 347.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.4 345.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.4 343.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.4 341.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.3 354.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.3 352)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.4 350.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.5 330.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.6 328.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.6 326.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.6 324.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.4 339.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.5 337.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.5 335)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.5 333)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.1 369.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.2 367.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.2 365)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.2 363.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451 376)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.1 373.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.1 371.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.2 360.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01446 .00854 -.00318 .01423 451.3 358.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01435 .009 -.00335 .01413 451.3 356.5)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="18">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 279.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 277.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 275.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 273.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 288.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 286.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 283.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 282)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 262.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 260.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 258.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 256.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 271)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 269)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 266.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 264.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.1 313.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.1 312)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.1 309.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.1 307.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.1 322.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.1 320.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.1 318.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.1 316.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 296.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 294.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 292.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 290.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 305.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.1 303.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455 301)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455 299)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.2 348)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.2 346.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.2 343.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.2 341.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.3 354.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.2 352.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.3 350.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.2 331)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.2 329)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.1 326.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.2 324.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.2 339.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.2 337.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.2 335.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.2 333.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.3 369.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.3 367.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.3 365.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.3 363.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.3 376.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.3 373.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.3 372)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.3 361)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01457 .0084 -.003 .01426 455.3 359.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01447 .00887 -.00316 .01416 455.3 356.8)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="12.8">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01804 .0045 .00258 .01426 466.7 266.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.00502 .01448 -.01369 .00945 463 262.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01316 .01078 -.0063 .01351 464.4 265)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.011 .01222 -.01787 -.00248 462.7 259.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0104 .0123 -.018 -.00234 465.1 259.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01155 .01189 -.01775 -.003 452.2 259)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01097 .01198 -.01788 -.00286 454.6 259.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01155 .01189 -.01775 -.003 457.6 259.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0104 .0123 -.018 -.00234 459.7 259.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01155 .01189 -.01775 -.003 448.7 258.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01268 .01087 -.01732 -.00452 450.4 258.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01676 .00696 -.01454 -.00862 449.5 257)"/>
+    </g>
+    <g fill="#b00" stroke="#000" stroke-width="12.8">
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01456 -.00876 -.0151 .00691 500.9 356.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01407 -.00899 -.01526 .0068 503 355.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01456 -.00876 -.0151 .00691 505.8 355)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01407 -.00899 -.01526 .0068 508 354.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01737 .00284 -.00405 .01407 524 347.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01147 .01155 .00717 .0131 526 341.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0175 .0033 -.00385 .01404 525.1 345.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0136 -.00978 -.01575 .0058 490.8 358.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0131 -.00997 -.0159 .00568 493 357.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01493 -.00832 -.0148 .00736 496.4 357.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01254 -.01046 -.0162 .00507 497.3 356.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01456 -.00876 -.0151 .00691 510.6 353.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01407 -.00899 -.01526 .0068 512.8 353)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01096 -.01188 -.01683 .003 458.7 360)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01041 -.01198 -.01695 .00287 461 360)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01096 -.01188 -.01683 .003 463.8 360)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01041 -.01198 -.01695 .00287 466.1 360)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01096 -.01188 -.01683 .003 448.5 360.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01041 -.01198 -.01695 .00287 450.8 360.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01096 -.01188 -.01683 .003 453.6 360.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01041 -.01198 -.01695 .00287 455.9 360.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01244 -.01081 -.01634 .00452 480 359.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01231 -.01064 -.0163 .00483 482.5 359.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01284 -.01048 -.01616 .00495 485.3 359)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0131 -.00997 -.0159 .00568 488 358.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01096 -.01188 -.01683 .003 469 359.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0113 -.0114 -.0167 .00377 471.6 359.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0125 -.01076 -.01631 .0046 474.8 359.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01107 -.01156 -.01677 .00353 476.6 359.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00824 -.01334 -.0172 .00043 416.7 358.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00768 -.01335 -.01729 .00028 419 358.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00983 -.01256 -.01706 .0019 422.4 359.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00927 -.01262 -.01717 .00176 424.6 359.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00768 -.01335 -.01729 .00028 408.8 357.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00824 -.01334 -.0172 .00043 411.6 357.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00768 -.01335 -.01729 .00028 413.9 357.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00983 -.01256 -.01706 .0019 437.7 359.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00927 -.01262 -.01717 .00176 440 360)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01096 -.01188 -.01683 .003 443.4 360.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01041 -.01198 -.01695 .00287 445.7 360.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00983 -.01256 -.01706 .0019 427.5 359.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00927 -.01262 -.01717 .00176 429.8 359.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00983 -.01256 -.01706 .0019 432.6 359.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00927 -.01262 -.01717 .00176 434.9 359.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01773 -.00226 .00503 -.01378 399.9 338.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0141 -.00895 -.00376 -.01413 397.1 342.6)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.00947 -.01275 -.00925 -.01215 397 346.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.00376 -.01448 -.01383 -.00869 397.7 350.2)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01766 .00094 .00819 -.01275 405.4 333)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01793 .00053 .00798 -.01276 403.7 334.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01757 -.0018 .00523 -.0138 401.2 336.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.001 -.01499 -.0159 -.0055 399.7 353.5)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00438 -.01435 -.01702 -.00258 402.7 355.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.00824 -.01334 -.0172 .00043 406.5 356.8)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0174 -.00361 -.01096 .0111 516.7 351.7)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.0168 -.00469 -.0118 .01058 516.9 352.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01764 -.00272 -.01013 .01164 521.7 349.4)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(-.01667 -.00498 -.01207 .01037 518.6 351)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01634 -.0062 .01318 .00926 511.5 341)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0159 -.0065 .01336 .00919 509.6 340)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01686 -.00512 .01228 .01009 506.4 338.9)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0159 -.0065 .01336 .00919 518.5 344.3)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.01634 -.0062 .01318 .00926 516 343.1)"/>
+      <path d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.0159 -.0065 .01336 .00919 514 342.2)"/>
+    </g>
+    <g transform="matrix(.08053 0 0 .0956 438.4 288)">
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M212.6-1995v53.2h-53.1v35.5h53.1v106.3H248v-106.3h53.2v-35.5H248v-53.1h-35.4z"/>
+      <ellipse cx="239.2" cy="-1813.5" fill="#fff133" stroke="#000" stroke-width="1.2" rx="62" ry="57.3" transform="matrix(.57143 0 0 .61816 93.6 -679)"/>
+      <path fill="#fff" stroke="#000" stroke-width="1.2" d="M602.4-1119.4c0 68.5-10.5 145.7-29.3 205-120-26.4-268-39.7-339-39.7-87.6 0-246.2 13.3-345.3 26.5a630.8 630.8 0 01-30.5-191.8c0-273.8 105.2-390.2 367.5-496 233.3 105.8 376.6 222.2 376.6 496z" transform="matrix(1.0576 0 0 1.3394 -5.8 363.7)"/>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.1715 0 0 .74463 -32.8 -634.9)"/>
+      <g fill="#fff133" stroke="#000" stroke-width="1.2">
+        <path d="M230.3-825.6l-53.1 53.2 35.4 35.4-17.7 17.7-35.5-35.4-53.1 53.1 53.1 53.2L195-684l17.7 17.8v53.1H248v-53.1l17.7-17.8 35.5 35.5 53.1-53.2-53.1-53.1-35.4 35.4L248-737l35.5-35.5-53.2-53.1z" transform="matrix(1.1725 0 0 .74463 -33 -766.8)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.13516 -.18643 .29356 .72091 -190 -703.6)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.1416 .16986 -.26746 .725 182.2 -778.4)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.92597 -.09509 .18717 .73508 28.8 -521.9)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.92699 .091 -.17909 .7359 124.8 -554)"/>
+        <path d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.1725 0 0 .74463 -33 -674.5)"/>
+      </g>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.0735 0 0 .74463 -9.3 -386.9)"/>
+      <g fill="#fff133" stroke="#000" stroke-width="1.2">
+        <path d="M230.3-825.6l-53.1 53.2 35.4 35.4-17.7 17.7-35.5-35.4-53.1 53.1 53.1 53.2L195-684l17.7 17.8v53.1H248v-53.1l17.7-17.8 35.5 35.5 53.1-53.2-53.1-53.1-35.4 35.4L248-737l35.5-35.5-53.2-53.1z" transform="matrix(1.1042 0 0 .74463 -12.9 -518.8)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.06903 -.18643 .27645 .72092 -160.7 -455.6)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.0751 .16986 -.25188 .725 189.8 -530.4)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.87203 -.09509 .17626 .73508 45.4 -273.9)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.873 .091 -.16866 .7359 135.8 -306)"/>
+        <path d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.1042 0 0 .74463 -12.9 -426.4)"/>
+      </g>
+      <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.105 0 0 .74463 -16.1 -865.2)"/>
+      <g fill="#fff133" stroke="#000" stroke-width="1.2">
+        <path d="M230.3-825.6l-53.1 53.2 35.4 35.4-17.7 17.7-35.5-35.4-53.1 53.1 53.1 53.2L195-684l17.7 17.8v53.1H248v-53.1l17.7-17.8 35.5 35.5 53.1-53.2-53.1-53.1-35.4 35.4L248-737l35.5-35.5-53.2-53.1z" transform="matrix(1.0799 0 0 .70238 -6.2 -1031.3)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.0455 -.17585 .27037 .68 -150.8 -971.8)"/>
+        <path d="M221-825.6l-8.4 53.2v35.4l-17.7 17.7v-35.4l-17.7 53.1 17.7 53.2V-684l17.7 17.8v53.1h17.7v-53.1L248-684v35.5l17.8-53.2-17.8-53.1v35.4L230.3-737v-35.4l-9.3-53.2z" transform="matrix(1.05143 .16022 -.24634 .68386 192.1 -1042.3)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.85284 -.0897 .17238 .69338 50.8 -800.3)"/>
+        <path d="M141.7-1020.5a38.1 38.1 0 0135.5-35.4c17.7 0 35.4 17.7 35.4 35.4s-17.7 35.4-17.7 35.4l70.8 70.9h-35.4l-53.1-53.1-53.2 53.1H88.6l70.9-70.9s-17.8-17.7-17.8-35.4z" transform="matrix(.85378 .08583 -.16494 .69414 139.3 -830.7)"/>
+        <path d="M567-657.3c0-44-150.9-79.7-336.7-79.7s-336.6 35.7-336.6 79.7v26.6c0-44 150.8-70.9 336.6-70.9S567-657 567-613v-44.3z" transform="matrix(1.0799 0 0 .70238 -6.2 -944.2)"/>
+      </g>
+      <ellipse cx="234.1" cy="-822.1" fill="#b90000" rx="375.9" ry="120.5" transform="matrix(.96627 0 0 .41385 13 -517.5)"/>
+    </g>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M513.8-790.2l35.4-17.7 35.4 17.7s-73.3 35.5-73.3 159.5c0 88.6 125.2 106.3 125.2 212.6 0 45.6-34.1 88.6-69.6 88.6s-88.6-17.7-141.7-70.9c35.4 17.7 76 37.3 106.3 36 19.6-.3 55-17.7 55-53 0-71-122.8-107-122.8-213.3 0-124 50-159.4 50-159.4z" transform="matrix(.24 0 0 .1991 381.9 336.2)"/>
+    <path fill="#b00" stroke="#000" stroke-width="18" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.02071 -.00148 .00948 .02238 454.4 384)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M520.3-790.2l46.6-17.7 10 17.7s-70.6 35.5-70.6 159.5c0 88.6 125.9 106.3 125.9 212.6 0 45.6-26.7 87.4-65.3 88.6-73.4 2.3-90.4-24-141.7-70.9 43.1 32.3 105 46.8 129 34.2 29.4-15.4 35-36 35-53.8 0-70.9-120.9-104.4-120.9-210.7 0-124 52-159.4 52-159.4z" transform="matrix(.24 0 0 .1991 381.9 336.2)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M513.3-789.7c7-2.4 36-18.2 71.3 17.3 17.8 17.7 17.8 53.1 17.8 70.8l53.1-53.1s-29-86.9-107.6-53.6a334.8 334.8 0 00-34.5 18.6z" transform="matrix(.24 0 0 .1991 381.9 336.2)"/>
+    <path fill="#fff" stroke="#000" stroke-width="1.2" d="M523.8-796c8.8-2.8 36.7-6.3 64.6 18.6 17.7 17.7 19 42.9 19 60.6l40.6-38c3.4-3.1-24.8-81.2-99.2-54a154 154 0 00-25 12.9z" transform="matrix(.24 0 0 .1991 381.9 336.2)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(.19534 -.02065 .06668 .17315 476.4 339)"/>
+    <path fill="#fff133" stroke="#000" stroke-width="1.2" d="M344.5-596.3l9.2 22.1s1.5-9.7 8.5-11.5l7-1.7s27 49.3 32.3 58.1c5.3 8.8-3.6 16.8-1.8 16.8s26.5-11.5 26.5-11.5-10.6.9-15-6.2-34.8-60-34.8-60 6.1-2.6 11.4-5.2c5.3-2.7 10.6 8 10.6 8L385.2-614s0 8.9-4.4 10.6c-4.4 1.8-8 3.6-8 3.6s-3.5-6.2-8-13.3c-4.4-7 4.5-14.1 4.5-14.1l-23 11.5s8 4.4 10.6 8.8l5.3 8.8s-3.2 1.8-8.2 3.5c-3.6 1.9-7.7 0-9.5-1.7z" transform="matrix(-.17775 .02412 -.0031 -.13262 595.4 97)"/>
+    <path fill="#b00" stroke="#000" stroke-width="18" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.02071 -.00148 .00948 .02238 457.9 383.8)"/>
+    <path fill="#b00" stroke="#000" stroke-width="18" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.03487 -.00148 .01595 .02238 452.7 386.7)"/>
+    <path fill="#b00" stroke="#000" stroke-width="18" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.03487 -.00148 .01595 .02238 456 386.5)"/>
+    <path fill="#b00" stroke="#000" stroke-width="18" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.04323 -.00148 .01978 .02238 451.4 389.9)"/>
+    <path fill="#b00" stroke="#000" stroke-width="18" d="M212.6-453.5c-35.4 0-70.9 35.4-70.9 70.8s35.5 70.9 70.9 70.9h194.9c35.4 0 70.9-35.4 70.9-70.9 0-37-35.5-70.8-71-70.8H212.7z" transform="matrix(.04323 -.00148 .01978 .02238 455.4 389.6)"/>
+    <path fill="#ffe000" d="M0 0h320v480H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vc.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vc.svg
new file mode 100644
index 0000000..99ba90f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vc.svg
@@ -0,0 +1,8 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-vc" viewBox="0 0 640 480">
+  <g fill-rule="evenodd">
+    <path fill="#f4f100" d="M0 0h640v480H0z"/>
+    <path fill="#199a00" d="M490 0h150v480H490z"/>
+    <path fill="#0058aa" d="M0 0h150v480H0z"/>
+    <path fill="#199a00" d="M259.3 130l-46.4 71.3 44.7 74.4 43.8-73.7-42.1-72zm121.2 0l-46.3 71.3 44.7 74.4 43.8-73.7-42.2-72zm-61.2 97.3l-46.4 71.4 44.8 74.4 43.8-73.7-42.2-72z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ve.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ve.svg
new file mode 100644
index 0000000..98ef473
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ve.svg
@@ -0,0 +1,26 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-ve" viewBox="0 0 640 480">
+  <defs>
+    <g id="d" transform="translate(0 -36)">
+      <g id="c">
+        <g id="b">
+          <path id="a" fill="#fff" d="M0-5L-1.5-.2l2.8.9z"/>
+          <use width="180" height="120" transform="scale(-1 1)" xlink:href="#a"/>
+        </g>
+        <use width="180" height="120" transform="rotate(72)" xlink:href="#b"/>
+      </g>
+      <use width="180" height="120" transform="rotate(-72)" xlink:href="#b"/>
+      <use width="180" height="120" transform="rotate(144)" xlink:href="#c"/>
+    </g>
+  </defs>
+  <path fill="#cf142b" d="M0 0h640v480H0z"/>
+  <path fill="#00247d" d="M0 0h640v320H0z"/>
+  <path fill="#fc0" d="M0 0h640v160H0z"/>
+  <g id="f" transform="matrix(4 0 0 4 320 336)">
+    <g id="e">
+      <use width="180" height="120" transform="rotate(10)" xlink:href="#d"/>
+      <use width="180" height="120" transform="rotate(30)" xlink:href="#d"/>
+    </g>
+    <use width="180" height="120" transform="rotate(40)" xlink:href="#e"/>
+  </g>
+  <use width="180" height="120" transform="rotate(-80 320 336)" xlink:href="#f"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vg.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vg.svg
new file mode 100644
index 0000000..2c69495
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vg.svg
@@ -0,0 +1,127 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-vg" viewBox="0 0 640 480">
+  <defs>
+    <linearGradient id="a">
+      <stop offset="0" stop-color="red"/>
+      <stop offset="1" stop-color="#ff0"/>
+    </linearGradient>
+    <linearGradient id="c" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -94.7 29.2)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="d" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -94.7 30.2)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="e" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -98 31)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="f" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -94.7 32)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="g" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -94.8 32.8)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="h" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -94.8 33.8)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="i" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -98 33.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="j" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -98 32.8)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="k" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -98 32)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="l" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.8281 0 0 1.8726 602.8 148.2)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="m" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -98 30.1)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <linearGradient id="n" x1="103.1" x2="92.5" y1="111.3" y2="107.8" gradientTransform="matrix(.64274 0 0 1.4534 -95.3 31)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
+    <clipPath id="vg-b">
+      <path fill-opacity=".7" d="M0 0h640v480H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#vg-b)">
+    <path fill="#006" d="M0 0h960v480H0z"/>
+    <path fill="#006" fill-rule="evenodd" d="M0 0h350v175H0z"/>
+    <g stroke-width="1pt">
+      <path fill="#fff" d="M0 0v19.6L310.9 175H350v-19.6L39.1 0H0zm350 0v19.6L39.1 175H0v-19.6L310.9 0H350z"/>
+      <path fill="#fff" d="M145.8 0v175h58.4V0h-58.4zM0 58.3v58.4h350V58.3H0z"/>
+      <path fill="#c00" d="M0 70v35h350V70H0zM157.5 0v175h35V0h-35zM0 175l116.7-58.3h26L26.2 175H0zM0 0l116.7 58.3H90.6L0 13V0zm207.3 58.3L323.9 0H350L233.3 58.3h-26zM350 175l-116.7-58.3h26.1L350 162v13z"/>
+    </g>
+    <path fill="#fff" fill-rule="evenodd" d="M378.5 154.5l219.3-.9-.4 195.4s7.7 29.7-92 74.9c35.9-3.7 75-42 75-42s15.8-20.3 23.5-9a87 87 0 0020.8 21.7c5.7 4.4 10.2 16.6 1.6 25.6-8.5 9-22 10.2-25.6-.8-5.7 2.8-40.7 45.2-112.3 47.2A159 159 0 01375.6 419s-9.7 15.4-23.6 3.2c-13.4-15.8-3.2-26-3.2-26s11.4-6.5 14.6-11c5.3-6.1 7-14.2 15.9-14.2 10.6.8 14.7 9.3 14.7 9.3s36.6 38.7 76 43.5c-89-42.7-92.3-69.1-92-75.6l.5-193.7z"/>
+    <path fill="#006129" fill-rule="evenodd" stroke="#000" stroke-width="1.7" d="M383.8 159.7l209.1-1.2v188c.4 24.4-40.7 49.3-105 81-66.3-34.2-104.5-55-105-81.4l.9-186.4z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M409 366.9l12.3-18.1 12.4 18.1"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M423.7 360.1a2.5 2.5 0 11-4.9 0 2.5 2.5 0 015 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M411.2 380.3h19.2s.3-2.4-2-4c10-1.3 7.4-10.2 15.8-10.7 1.6.3-4.4 3.8-4.4 3.8s-5 3.6-2.8 5.4c1.9 1.4 2.7-.9 3-2.7.2-1.7 8-2.8 7-7.9-2-4-13 2.8-13 2.8h-7.8c-.5-1-2.7-4.5-5-4.5-2.6.1-4.4 4.5-4.4 4.5H399s-.6 4.6 8.4 5.5c2 2.6 3.6 3.4 5.3 4-1.1 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M412.6 376.4h16m-23.3-9.4s1.3 7.5 7.2 9.2"/>
+    <path fill="url(#c)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(316.6 141.4) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M423.5 349.2a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M408.2 329.6l12.4-18.2 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M423 322.8a2.5 2.5 0 11-4.9 0 2.5 2.5 0 015 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M410.5 343h19.2s.3-2.4-2-4c10-1.3 7.4-10.2 15.8-10.7 1.6.3-4.4 3.8-4.4 3.8s-5 3.5-2.8 5.4c1.9 1.4 2.7-1 3-2.7.2-1.7 8-2.9 7-7.9-2-4.1-13 2.8-13 2.8h-7.8c-.5-1-2.7-4.5-5-4.5-2.6.1-4.4 4.5-4.4 4.5h-17.8s-.6 4.6 8.4 5.4c2 2.7 3.6 3.4 5.3 4.1-1.1 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M412 339h15.9m-23.3-9.3s1.3 7.4 7.2 9.2"/>
+    <path fill="url(#d)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(316 104) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M422.8 311.9a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M539.4 295.6l12.3-18 12.4 18"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M554.2 288.9a2.5 2.5 0 11-4.9 0 2.5 2.5 0 014.9 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M541.7 309l19.1.1s.3-2.5-2-4c10-1.4 7.5-10.2 15.9-10.7 1.6.2-4.4 3.8-4.4 3.8s-5 3.5-2.8 5.3c1.9 1.5 2.7-.8 2.9-2.6.3-1.8 8.2-2.9 7-7.9-1.9-4.1-12.9 2.8-12.9 2.8h-7.9c-.4-1-2.6-4.5-4.9-4.5-2.6 0-4.5 4.5-4.5 4.5h-17.8s-.6 4.5 8.4 5.4c2 2.7 3.6 3.4 5.4 4-1.2 1-1.5 2.3-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M543 305.2h16m-23.2-9.4s1.3 7.4 7.1 9.2"/>
+    <path fill="url(#e)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(447 70.1) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M554 278a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M411.3 259.4l12.3-18.2 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M426.1 252.6a2.5 2.5 0 11-4.9 0 2.5 2.5 0 014.9 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M413.6 272.8h19.1s.3-2.5-2-4c10-1.4 7.5-10.2 15.9-10.7 1.6.3-4.4 3.8-4.4 3.8s-5.1 3.5-2.8 5.4c1.8 1.4 2.6-1 2.9-2.7.2-1.7 8.1-2.9 7-7.9-1.9-4.1-12.9 2.8-12.9 2.8h-7.9c-.5-1-2.6-4.5-4.9-4.5-2.6.1-4.5 4.5-4.5 4.5h-17.8s-.6 4.6 8.4 5.4c2 2.7 3.6 3.4 5.4 4.1-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M415 268.9h16m-23.3-9.4s1.3 7.4 7.1 9.2"/>
+    <path fill="url(#f)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(319 33.8) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M425.9 241.7a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M411.6 223.7l12.3-18.1 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M426.4 217a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M413.9 237.1H433s.3-2.4-2-4c10-1.3 7.4-10.1 15.8-10.6 1.7.2-4.4 3.7-4.4 3.7s-5 3.6-2.7 5.4c1.8 1.4 2.6-.9 2.9-2.6.2-1.8 8.1-3 7-8-1.9-4-13 2.8-13 2.8h-7.8c-.5-.9-2.7-4.4-4.9-4.5-2.6.1-4.5 4.5-4.5 4.5h-17.8s-.6 4.6 8.4 5.5c2 2.6 3.6 3.4 5.4 4-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M415.3 233.2h15.9m-23.2-9.4s1.2 7.5 7.1 9.2"/>
+    <path fill="url(#g)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(319.3 -1.8) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M426.2 206a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M412.2 187.5l12.4-18.1 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M427 180.8a2.5 2.5 0 11-4.8 0 2.5 2.5 0 014.9 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M414.6 201h19s.4-2.5-2-4c10.1-1.4 7.5-10.2 16-10.7 1.5.2-4.5 3.7-4.5 3.7s-5 3.6-2.7 5.4c1.8 1.5 2.6-.9 2.9-2.6.2-1.8 8-2.9 7-8-2-4-13 2.8-13 2.8h-7.8c-.5-.9-2.7-4.4-5-4.4-2.6 0-4.4 4.5-4.4 4.5h-17.8s-.6 4.5 8.4 5.4a10.8 10.8 0 005.4 4c-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M416 197h15.9m-23.3-9.4s1.3 7.5 7.2 9.3"/>
+    <path fill="url(#h)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(320 -38) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M426.9 169.9a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M540.4 188.1l12.3-18.1 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M555.2 181.3a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M542.7 201.5h19.1s.3-2.4-2-4c10-1.3 7.4-10.1 15.8-10.6 1.7.2-4.4 3.7-4.4 3.7s-5 3.6-2.7 5.4c1.8 1.4 2.6-.9 2.9-2.6.2-1.8 8.1-3 7-8-1.9-4-13 2.8-13 2.8h-7.8c-.5-.9-2.6-4.4-4.9-4.4-2.6 0-4.5 4.4-4.5 4.4h-17.8s-.6 4.6 8.4 5.5a10.8 10.8 0 005.4 4c-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M544 197.6h16m-23.3-9.4s1.3 7.5 7.2 9.3"/>
+    <path fill="url(#i)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(448 -37.4) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M555 170.4a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M539.2 223.6l12.3-18.1 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M554 216.8a2.5 2.5 0 11-4.9 0 2.5 2.5 0 015 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M541.5 237h19.1s.3-2.4-2-4c10-1.3 7.5-10.1 15.9-10.6 1.6.2-4.4 3.7-4.4 3.7s-5 3.6-2.8 5.4c1.9 1.5 2.7-.9 2.9-2.6.3-1.8 8.2-2.9 7-8-1.9-4-12.9 2.9-12.9 2.9h-7.8c-.5-1-2.7-4.5-5-4.5-2.6 0-4.5 4.4-4.5 4.4h-17.8s-.6 4.6 8.4 5.5c2 2.7 3.6 3.4 5.4 4-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M542.9 233.2l16-.1m-23.3-9.4s1.3 7.5 7.1 9.3"/>
+    <path fill="url(#j)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(446.9 -1.9) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M553.8 206a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M537.6 260l12.4-18.2 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M552.4 253.2a2.5 2.5 0 11-4.9 0 2.5 2.5 0 015 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M540 273.3h19s.4-2.4-2-4c10.1-1.3 7.5-10.1 15.9-10.6 1.6.2-4.4 3.7-4.4 3.7s-5 3.6-2.8 5.4c1.9 1.5 2.7-.9 3-2.6s8-2.9 7-8c-2-4-13 2.8-13 2.8H555c-.5-.9-2.7-4.4-5-4.4-2.6 0-4.4 4.4-4.4 4.4h-17.8s-.6 4.6 8.4 5.5a10.8 10.8 0 005.3 4c-1.1 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M541.3 269.4h16M534 260s1.3 7.4 7.2 9.2"/>
+    <path fill="url(#k)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(445.3 34.4) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M552.2 242.3a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.3" d="M539.2 367.3l12.3-18.2 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M554 360.5a2.5 2.5 0 11-4.9 0 2.5 2.5 0 014.9 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M541.5 380.7h19.1s.3-2.5-2-4c10-1.3 7.5-10.2 15.9-10.7 1.6.3-4.4 3.8-4.4 3.8s-5 3.5-2.8 5.4c1.9 1.4 2.7-1 2.9-2.7.3-1.7 8.2-2.9 7-7.9-1.9-4.1-12.9 2.8-12.9 2.8h-7.9c-.4-1-2.6-4.5-4.9-4.5-2.6.1-4.5 4.5-4.5 4.5h-17.8s-.6 4.6 8.4 5.4c2 2.7 3.6 3.4 5.4 4.1-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M542.9 376.8h16m-23.3-9.4s1.3 7.4 7.1 9.2"/>
+    <path fill="url(#l)" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M814.5 330.3c.6-2.8 1.6-3.3 2.8-6.8.2-3.5-2.8-3-2-5.3 1.6-2.4.8-4.7-2-6.5.5 3.2-3.8 6.1-3.8 8.7 0 2.6 2.2 2 2 6 .1 2.2-.6 1.7-.8 3.9h3.8z" transform="translate(-301.5 28.3) scale(1.0265)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M553.8 349.6a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M539 331.4l12.3-18.2 12.4 18.2"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M553.8 324.6a2.5 2.5 0 11-4.9 0 2.5 2.5 0 015 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M541.3 344.8h19.1s.3-2.5-2-4c10-1.4 7.5-10.2 15.9-10.7 1.6.2-4.4 3.8-4.4 3.8s-5 3.5-2.8 5.3c1.9 1.5 2.7-.8 3-2.6.2-1.7 8-2.9 7-7.9-2-4.1-13 2.8-13 2.8h-7.9c-.4-1-2.6-4.5-4.9-4.5-2.6 0-4.5 4.5-4.5 4.5H529s-.6 4.5 8.4 5.4c2 2.7 3.7 3.4 5.4 4.1-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M542.7 340.9h16m-23.3-9.4s1.3 7.4 7.2 9.2"/>
+    <path fill="url(#m)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(446.7 105.8) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M553.6 313.7a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <path fill="none" stroke="#f7c600" stroke-width="1.7" d="M434.7 298l12.3-18.1 12.4 18.1"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M449.5 291.2a2.5 2.5 0 11-4.9 0 2.5 2.5 0 014.9 0z"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M437 311.4h19.1s.3-2.4-2-4c10-1.3 7.5-10.2 15.9-10.7 1.6.3-4.4 3.8-4.4 3.8s-5 3.6-2.8 5.4c1.8 1.4 2.6-1 2.9-2.7s8.1-2.8 7-7.9c-1.9-4-12.9 2.8-12.9 2.8H452c-.5-1-2.6-4.5-4.9-4.5-2.6.1-4.5 4.5-4.5 4.5h-17.8s-.6 4.6 8.4 5.4a10.8 10.8 0 005.4 4.1c-1.2 1-1.5 2.2-1.5 3.8z"/>
+    <path fill="none" stroke="#000" stroke-width=".8" d="M438.4 307.5h16M431 298s1.2 7.5 7.1 9.2"/>
+    <path fill="url(#n)" fill-rule="evenodd" stroke="#000" stroke-width=".6" d="M66.3 170.5c.5-2.1 1.3-2.5 2.2-5.2.1-2.7-2.2-2.4-1.5-4.1 1.2-1.9.6-3.6-1.6-5 .4 2.4-3 4.7-3 6.7s1.8 1.6 1.6 4.6c0 1.8-.5 1.3-.6 3h3z" transform="translate(342.4 72.5) scale(1.3225)"/>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="M449.3 280.3a2.3 2.3 0 11-4.5 0 2.3 2.3 0 014.5 0z"/>
+    <g stroke="#000">
+      <path fill="#f7c600" fill-rule="evenodd" stroke-width=".8" d="M500.7 384.2s5 11.5 10.7 4.4 3.6-10.1 3.6-10.1l-12.7-7-3.8 8 2.2 4.7z"/>
+      <path fill="#ffc6b5" fill-rule="evenodd" stroke-width=".8" d="M511.7 382.6s.8.2 1.5-1-1.5-1.9-2.5-3.3l-1 2.3 2 2zm-28.9-3l-11.2 6.1s-5.6 1.1-6 0c-.4-1.1.2-2 3-2.2 3-.2 10.9-7.4 10.9-7.4l3.3 3.5zm.2-199.7l.4 4c.1 1.4-2.2 4.4-2.4 4.2s-1.2.2-1 1 1.7 1.1 1.7 1.1-.7 3 0 3c.7.2-1.8 3.8 0 4.8s4.9 2.2 6.3 2c1.4-.4 0 5.3 0 5.3l-4 8.3 21.5-2.2-4.5-7s-2-1.4-1.5-5.5c.6-4-.3-22.2-.3-22.2l-15.2-2-1 5.2zm-4 31.7s-6.9 3.2-6.6 11.8c-1.8 8.3-2.7 16.6-2.7 16.6s-8.2 9.3-10.7 12.6-6.3 10.2-7.7 12-6.8 7.7-6.6 10c.1 2.2-1.3 12 4.1 13.1 1.4.6 5.9-11.3 5.9-11.3s.2-5.2-1.3-6.1 3.3-4.3 3.3-4.3l11.4-8.5c2.1-1.7 7.8-8 7.8-8l3.2-38z"/>
+      <path fill="#fff" fill-rule="evenodd" stroke-width=".8" d="M487 205s1.8 4.9 5.8 4c4-.8 8.8-4.5 8.8-4.5s3.7-.1 4.3.4c.5.6 10.1 9.9 9.8 12.8-.3 2.9-4.4 2-6 4s-4 6.8-3.3 10.4 2.8 8.3 2.5 10.1-1.8 2.4-1.8 3.4 1.3 2.6 1.3 4.4-1.7 4.4-1.4 6.3c.3 1.7.4 7 .4 7l-.4 24.4s1.4.9 1.5 2.3c.1 1.4 9.4 41.7 9.4 41.7s-.4 1.3-1.4 1.1 3.8 6.3 4 8 4.8 16 4.7 18c-.2 2-.9 6.2-1.3 6.4-.4.1 3 8.9 2.5 10.2-.6 1.4-6.2 1.3-6.2 1.3l-1.6-.3s.2 1.8-1 2-9.2-.5-9.2-.5-2.4 3.6-3.8 3.5c-1.4-.1-3.2-2.6-3.6-2.2-.4.4 1.3 2.8.8 3.5-.4.7-7.5 2.2-8.8-1.2-1.4-3.3.8-2.5.4-3.2-.4-.6-3.6-2.4-4.6-1.9s2.5 1.4 2.4 2.8c-.2 1.4-3 3.5-4.2 3.5s-3.8-5.2-7.6-4.6c-4 .5-6.4 1.5-6.4 1.5s-4.6 2-6.5 1.5c-2-.4-2.8-2-2.8-2.8 0-.8 1.4-4.4 1.2-5.5s-1.2-2.2-1.2-3.9c0-1.6 3.2-7.3 3.2-7.3l-.2-25.6s-2.9 0-3-1.8 4.4-40.4 5.1-42.9c.7-2.5 2.5-11.3 2.5-11.3s-2 1-2.2 0 6.2-23 6.2-23 1.1-11 1.1-14c0-2.9-.5-6.9-.5-6.9s-5.7-2.4-5.8-6c-.6-6 5.4-9.2 6-11.2l2.8-7.8s3.1-5.2 8.1-6z"/>
+      <path fill="#f7c600" fill-rule="evenodd" stroke-width=".8" d="M485 381.3s-13.5 7-15.5 7.6c-2 .6-3.2-2.4-1.2-3 2-.5 5-.8 5-.8s-4.6-3.6-4.5-3.7l6.4-2.4c.1 0 2 3.6 3.2 3.4s4.9-3 4.9-3l1.6 1.9z"/>
+      <path fill="#ffc6b5" fill-rule="evenodd" stroke-width=".8" d="M503.9 385.1c1.3 1.7 1.8 4.5 4.7 2.9s-1.5-4.8-1.5-4.8l-3.2 2zm5.3-.2s1.4 1 2.6-.2-2.5-3.9-2.5-3.9l-1.8 2.1 1.7 2z"/>
+      <path fill="none" stroke-width=".8" d="M505 210.5s-12.3 7.9-12 10.6m14.8-9.3L505 215m6.7.3s-6.1 5-5.2 8.2m-23.7-13.6s-1.8 3.7-1.4 5c.4 1.2 3.5 6 3.9 8.8.4 3 0 5 0 5m-5.7-11.9s.6 4.4 1.4 5.3c.8.8 3 4.6 3.3 6m-5.8 7.2s3.6 1.8 7-5.2m5.3-4.8c-.1 0-2.6 6.8 1.8 9.3s7.8 2.2 9.8 1.5c1.9-.7 4-2 4-2m-17.5-.5s.3 9.2 13.8 18.2m-13.2-9.6s-.2 8 5.1 11.7m-8-21.1s-4 11.9-7.1 13.1m6-4.4s-.2 8.6-1.3 11.7m-1.1 2s2.8 3.5 5.8 3.2c3-.2 4.3-3.9 6.4-3.3 2 .6 4 2.2 8.9 1.8m-7 3.6s0 7 1.3 7.8.7 7.2.7 7.2m-19-18.5s-.1 6.6-1 9c-.8 2.4-2.5 6.4-2.2 9.8m-5.3 4c.7-.3 3-2.4 3-2.4m1.3 1.5s-6 25.5-4.3 40.8m5.7-39.5s-3 19.1-1.6 22.7m.1-23.3l11.7.8m1.6-1.5s3.2 1.7 7.6 1.4m-9 7.9s-.5 32.7-1.4 40m18.5-32.5s3.6 28.7 5.7 31.3M498 299.4s2.2 25.4 3.4 27.6m-35 8.9s4.4-1.4 8.3-5.6c4.4 6 11.2.3 11.2.3s10.5 7.2 15.3-.8c7.2 4.7 10.8-.7 10.8-.7s2.6 4 4.6 3.6m-11.6 2.8s5.5 25.4 13.5 32.6m-41.3-35.3s.7 21.3 1.9 36.2m-3-12.2s-.6 14-1.4 14.9M468 373s1.5 6 9.2.4 7.7 2 8 3c.3.7 1.5 6.7 4.4 1.7m6.1-8.2s-1.2 12.4 9.8 3.3c11-9 12.7 0 13 2.7"/>
+      <path fill="#9c5100" fill-rule="evenodd" stroke-width=".8" d="M482.6 179.1s3 .4 4.7-.6c1.6-1 3.6-1.4 5 .6s2.3 1.8 2.3 1.8-2 5.1 0 5.7c2.1.6 3 .6 3.2 1.2.2.7-1.8 2.3-1.2 3 .5.6 1.5 1.5 1.6 2 .2.6-1.2 3-.8 3.5.4.6 1.7 2.8 2.5 2.8s.3 3.5 2.8 2.6 2.3-3 2.3-3 2.7-.4 3.4-2.8c.7-2.4 2.3-3 2.3-3s3.4-1.7-1-4.5c0-19.4-12.8-17.4-12.8-17.4s-1.6-3.4-4-3c-2.6.4-2.7 3.3-4.5 3-1.8-.2-2.2-1.5-2.4-1.3-.1.1-1.6 2.9-1.6 3.6 0 .7-4.9-1-4.5 2.6s2.8 3.5 2.7 3.2z"/>
+      <path fill="none" stroke-width=".8" d="M495.9 174.4s-1 6 5.5 5.5c-.8 3.4 1.7 4.5 1.7 4.5m4.8 3.7c.2 0 3 1.8 0 4m-9.4.9s1.4 1.6 3 1.2c1.5-.4 4 1.6 4 1.6s2 .7 2.3.2m-17.7 2.3s4.7 1.8 7.7-5.7m-16.5-2.3l2.8.2"/>
+      <path fill="none" stroke-linejoin="round" stroke-width=".8" d="M481.7 193.1h2.5l-2.2 1"/>
+      <path fill="none" stroke-linejoin="round" stroke-width="1.4" d="M485.2 185.3c.4 0 2-.5 2.2 0 .3.3-1.6.6-2.2 0z"/>
+      <path fill="#ffc6b5" fill-rule="evenodd" stroke-width=".8" d="M515.2 218.3c.1 0 4.5 13.7 5.1 17.2a112 112 0 011.7 19.3c-.7 2-7.8 11.2-8.6 13.6-.9 2.4-5.9 11.4-5.9 11.4s-1.2 8.9-1.8 9.3c-.5.4 1.5 2.6 1.3 3.3-.3.8-4 4.7-5.7 4.3-1.7-.4-4.3-2.4-4.4-4.2s0-7.7 1.3-9.3 7.8-16.9 8.2-17.9c.4-1 6-13 6.1-15 .2-2.2-1.7-7-3.7-8.7-4.3-12.9-2.6-20.6 6.4-23.3z"/>
+      <path fill="none" stroke-width=".8" d="M450.5 277.8l.2 6.1m-5.9-6.5s4 6.5 3.6 10"/>
+      <path fill="none" stroke-linejoin="round" stroke-width=".8" d="M497 291s3-.3 2.9 4.6c1.9-6 5.7-6.2 5.7-6.2"/>
+    </g>
+    <path fill="#f7c600" fill-rule="evenodd" stroke="#000" stroke-width="1.7" d="M487.1 430c58.6-1.7 96.5-44 96-44.4-.4-.4 7.8-11.8 14.3-10.2 6.5 1.6 15.9 20.8 27.3 24.8 5.7 9-1.7 17.1-4.1 18.8-2.5 1.6-13.4 6-15-.4-1.7-6.6-5-5.3-5-5.3s-52 50.8-112.3 48.8c-62.2.4-113.5-48.8-113.5-48.8l-4.5 4.8s-4.9 5.3-7.3 5c-2.4-.5-13-7.4-13.8-14.3-.8-7 6.5-11.4 6.5-11.4s17.9-13.8 20-21.2c4-4 11.7 2.9 11.7 2.9s47.2 54.1 99.7 50.8z"/>
+    <path fill="none" stroke="#000" stroke-width="1.7" d="M354.5 398.5s4.8-1.3 6.6.7c1.8 2 14 14 14 14"/>
+    <path fill="none" stroke="#000" stroke-width="1.7" d="M365.5 404.1l-4.8 3.6s12.2 2.5 9.4 10.5M620.3 398s-2.4-1.3-6.2 1.5a158.5 158.5 0 00-13.4 13.6"/>
+    <path fill="none" stroke="#000" stroke-width="1.7" d="M609.4 403.8l5.3 4s-11 .8-8.6 11.2"/>
+    <path d="M416.5 411.4l-.4.5a3.6 3.6 0 00-2.5-.2c-.7.2-2 .8-3.9 2l-16.1 9.3-.4-.3 4-18.8c.5-2.3.7-3.7.7-4.2s-.4-1-1-1.6l.3-.5 8.7 6.2-.3.5-.3-.2c-.8-.5-1.4-.8-1.8-.8a.8.8 0 00-.8.3 2.4 2.4 0 00-.3.7l-.5 2.3-2.6 11.7 9.3-5.4a26 26 0 002.2-1.4l.8-.8c.2-.2.3-.5.3-.8l-.3-1a5.2 5.2 0 00-1.4-1.3l.4-.5 5.9 4.3m5.8 28l-.3.5-10.2-5.6.3-.5.6.4c.6.3 1.1.4 1.6.4.3 0 .6-.1 1-.4l1-1.7 7-12.8c.6-1 1-1.7 1-2a1.6 1.6 0 00-.3-1 3 3 0 00-1.2-1l-.6-.4.3-.5 10.2 5.6-.3.5-.7-.3a3 3 0 00-1.5-.5c-.3 0-.6.1-1 .4a6.8 6.8 0 00-1.1 1.7l-7 12.9a7.3 7.3 0 00-1 2c0 .3.2.6.4 1 .2.3.6.7 1.1 1l.7.3m37.3-8.8L457 438l-.6-.2a10 10 0 00-1.5-5.7 7.8 7.8 0 00-4-3.2 6.2 6.2 0 00-4.3 0 7.5 7.5 0 00-3.5 2.9 19.4 19.4 0 00-2.4 4.6c-.7 2-1.1 3.8-1.2 5.5s.3 3.1 1.1 4.2a7 7 0 003.4 2.4 8.6 8.6 0 001.6.4l1.8.1 1.6-4.4.4-1.6c0-.3-.2-.6-.5-1a2.8 2.8 0 00-1.2-.7l-.5-.2.2-.6 10.2 3.7-.2.6c-.8-.3-1.4-.4-1.8-.3-.3 0-.7.2-1 .5l-.6 1.4-1.6 4.4c-1.5.1-3 0-4.6-.2a22.8 22.8 0 01-4.7-1 14.1 14.1 0 01-4.7-2.7 13.6 13.6 0 01-2.7-3.3 10.9 10.9 0 01-1.3-3.9 11 11 0 01.6-5.1 11.4 11.4 0 016.2-6.8 12 12 0 019.5-.3c1 .3 2 .8 2.8 1.2l2 1.5a10 10 0 001.5 1.2h1a3 3 0 001-1l.6.2m15.7 25.3v.6l-11.6-1.8.1-.6.8.1a3 3 0 001.6 0l.7-.7c.2-.3.3-1 .5-2l2.2-14.5c.2-1.2.2-1.9.1-2.2a1.6 1.6 0 00-.6-.8c-.3-.3-.8-.5-1.4-.6h-.7v-.7l11.6 1.8-.1.6-.7-.1a3 3 0 00-1.6 0l-.8.7a7 7 0 00-.5 2l-2.2 14.5a7.3 7.3 0 00-.1 2.2c0 .3.3.6.6.8.3.3.8.5 1.4.6h.7m30-7.2l-.5 7.9-19.8 1v-.6h.7a3 3 0 001.6-.5c.3-.2.5-.4.6-.8v-2l-.7-14.7a7.3 7.3 0 00-.3-2.1c-.1-.3-.4-.5-.7-.7-.4-.2-1-.3-1.5-.3h-.8v-.6l11.9-.6v.6l-1 .1a3 3 0 00-1.5.4c-.3.2-.5.5-.6.8-.2.3-.2 1-.1 2.1l.7 14.2c0 1.1.2 1.8.3 2.2.2.3.4.5.8.6h3.9a6.3 6.3 0 002.9-.8 5.5 5.5 0 002-2c.4-1 1-2.4 1.4-4.1h.6m21.6-3.8l-7.5 2.2-.3 2.4v1.8c.3.6.6 1 1.2 1.1.3.1 1 0 2.2-.2l.2.6-7.1 2-.2-.5a3.3 3.3 0 001.6-1.5c.4-.7.6-2 .9-3.8l2.5-19.3h.3l13 15.1c1.2 1.5 2 2.3 2.7 2.6.4.2 1 .3 1.7.1l.1.6-10.3 3.1-.2-.6.5-.1c.8-.3 1.4-.5 1.6-.9a.9.9 0 00.1-.8 2 2 0 00-.2-.6l-.8-1-2-2.3m-.9-1l-5.3-6.4-1.1 8.3 6.4-2m28.5-29l2.9 5.4-.6.3a9.3 9.3 0 00-2.4-2.1 4.5 4.5 0 00-2.2-.5 5 5 0 00-2.1.8l-1.5.8 8.2 15.1 1.1 1.8c.3.2.6.3 1 .3.5 0 1-.1 1.5-.4l.7-.4.3.6L551 442l-.3-.5.7-.4a3 3 0 001.2-1l.2-1c0-.3-.3-1-.8-2l-8.2-15-1.4.7c-1.3.7-2.1 1.5-2.4 2.4a6.3 6.3 0 00.2 4.2l-.6.3-2.8-5.4 17.6-9.4m13.4-8l5.4 7.3.4-.3c1.1-.8 1.7-1.8 1.6-2.9s-.5-2.4-1.4-3.9l.5-.3 7 9.3-.4.4a8.6 8.6 0 00-2.6-2 3.5 3.5 0 00-2.1-.4c-.7 0-1.4.4-2.2 1l3.7 5a9.6 9.6 0 001.5 1.8l.9.2c.3 0 .7-.3 1.3-.6l1-.8a8 8 0 003.1-4.2 8 8 0 00-.5-5.2l.5-.3 3.5 6.2-15.4 11.6-.3-.5.6-.4c.5-.4.8-.8 1-1.2v-1a6.8 6.8 0 00-1-1.8l-8.9-11.7-1.2-1.4a1.6 1.6 0 00-1-.4c-.5 0-1 .3-1.6.7l-.6.4-.4-.4 14.9-11.3 4 5.3-.6.4a7.8 7.8 0 00-3.1-2 5 5 0 00-2.9.2c-.6.2-1.6.9-3 1.9l-1.7 1.4"/>
+    <path fill="none" d="M380.5 413c72.8 59.1 144.2 60.2 214 0"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vi.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vi.svg
new file mode 100644
index 0000000..db0e62c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vi.svg
@@ -0,0 +1,28 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-vi" viewBox="0 0 640 480">
+  <path fill="#fff" d="M0 0h640v480H0z"/>
+  <path fill="#369443" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M204.3 315s-.5-3.6 6.2-6.1c6.6-2.6 7.2-12.2 5.8-18.6 0 0-3.4 6-7.7 8.1 0 0-6.8 3.6-7.2 10.4 0 0 0 2.5-.5 4.5-.3 1-3.4-8.6 2.4-15.8 6-7.3 7.6-13.3 2.9-25 0 0-.5 7-5.1 11.1-4.7 4-5.3 4.4-5.2 14 0 0 0 3.4-1.7 4.5 0 0-3.6-5.3-4.6-8.8-1-3.5-1.4-5 2.8-9 0 0 13.2-8.7 3.7-27.4 0 0-.3 6.4-5 10.2-4.5 3.9-4.2 6.4-4.4 13-.2 6.7-.6 6.2-1.1 7.2 0 0-8.5-15.6-2-23.8 6.5-8.3 10.2-10 3-25.4 0 0 .3 8-5.5 11.8-5.7 4-4.4 13-4.4 13s.4 3.5-.8 6c0 0-8.1-15.9-.4-24.4 6.6-7.3 7-12.4 3.5-22.6 0 0-.4 4.7-4 7.3-3.7 2.6-6.6 5.1-5.9 15 0 0 .3 7-.6 9 0 0-3.4-6.4-4.4-10.5-1-4.2-1.3-6.6 1.2-10.7s12.5-16 .6-33c0 0-.3 5.5-3.4 10.5-3 5-1.6 10.9-1 15.4.7 4.5-1.5 8.9-1.5 8.9s-5.2-9.5-4-20.4c1-11-3.4-20-13.5-26.4 0 0-7.3 17 2.7 25.7 0 0 8.5 8.4 10.7 18.6 0 0-6.5-.6-12.3-12-5.9-11.4-18-9.6-18.8-9.7 0 0 2 17.6 20.6 22.6 0 0 12 2 14.2 10.8 0 0 2 6 2.8 9.2 0 0-3.8-1.5-7.3-6.7-3.5-5-3-5.7-14.8-6.9 0 0-4.7-.5-7.2-3.9 0 0 5 18.6 17.7 18.5 0 0 11.6-1.3 18 14l-2.9-2c-1.7-1.1-6-3.3-14.5-2.3s-10.9-.4-13-1c0 0 8.6 15.7 20.7 11 12.2-4.7 18 12.4 18.2 12.7 0 0-1.7-1.2-3.8-3.3-2.2-2.1-6.6-4.7-15-2 0 0-6.1 2.3-12.3.4 0 0 6 11.5 19.8 9.5a15.1 15.1 0 0117.3 10.2s-1.8-1-3-2c-1.3-1-6-3.7-16-.8-10 3-13.6-.4-13.6-.4s5.5 10 16.2 11.3c0 0 6-.1 8.4-1 2.5-1 9.2-2.5 13.8 4.2 0 0-1.3.2-3.2-.7 0 0-7-2.5-12.5 2 0 0-4.8 4.9-11.6 4 0 0 8.8 8.5 22.8 1.3 0 0 4.7-3.4 8.2-.8 3.5 2.7 11.5-2.6 11.5-2.6z"/>
+  <g fill="#f4c53d" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5">
+    <path d="M282.2 103.7s-1.6-14.5 10-16a38 38 0 0118 1.2l5.5 10.6-2 7.2-7.4 3.4s1.3-11-8.8-11.2c-2.6 0-4 1-8.1.3s-6.3 3.8-7.2 4.5z"/>
+    <path d="M363.8 139.6c-1.8 2.2-8.7 3-8.7 3s7.1 5.5 10.2 13.3c3 7.7-82.4 0-82.4 0s3.8-2.6 6.3-7.6c0 0-3.8 1.4-7.6-2.4 0 0 2.8 1 6.5-4.6 0 0 5.5-7 9.4-9 0 0-1.8 1.2-6.1-1.2 0 0 7.4-1 10-13.5 0 0 .5-2.8 3.3-7 2.8-4 2.2.9 7.4-5.4 0 0 2.4-4.4.3-7-2-2.8-4.3-1.8-8.6-4.4-4.4-2.6-6.3-4-4.8-8s5.3-3.4 5.9-3.4.8-3.5 5.5-5.9 17.4-1.3 19.2-.3c2 1 9.5 3.3 14 14.5 4.4 11.2-1.2 15.4 10.8 32.4 0 0-4.8 1-7.9 0 0 0 6.3 11.2 17.3 16.5z"/>
+    <path fill="none" d="M311 92.2c-10-.5-6.1-9.8-6.1-9.8"/>
+    <path d="M328 93.5s-1.7-.8-3.2-2.8c-2-2.7-6.7-4-9.1-1.4 0 0-2.5 2.8-4.8 3 0 0 2.6.7 4.3 2.3 1.7 1.6 3.5 2.8 6.1 2.4 2.6-.3 3-1.7 4.2-2.5 1.3-.8 2.5-1 2.5-1z"/>
+  </g>
+  <path fill="#369443" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M202.8 336.5s-.2-6.4 7.8-6.8l23.5 32.7s-.9 2.1-11.5 1.9c0 0-1.2 0-1.8 1.2-.9 2-18-29-18-29z"/>
+  <g id="a" fill="#f4c53d" stroke="#010002" stroke-width="10" transform="translate(3.6 26.2) scale(.15055)">
+    <path d="M1495 1807.9s-49.9 85.6-110.2 87c0 0-103.7-12.6-133 14.5-20.5 18.9-41.4 34.5-50 82.8-8.4 48.3 16.5 58.7 22.4 60.8 0 0 4.6 34.5 38.7 25.5 0 0 2 36 62.2 18.7 60.3-17.3 85.3-11.8 97-71.8 11.9-60.1 22.8-59.1 33.5-66.3 14.4-9.7 41.5-18.8 61.6-30.4 18-10.4 87.2-45.6 110.8-48.3 23.6-2.8 18.4-82.2 18.4-82.2h-61l-29.5-43.5-61 53.2zm192-429.4s-61 49.7-112.2 0c0 0-20.6 24.8-62 17.6-41.2-7.3-48.1-29-52-41.4 0 0-35.8 20.8-66 4.3-30-16.4-30-41.3-30-41.3s-52.5 10.4-79.4-25.2c-26.9-35.5-10.5-70.7 4-74.9 0 0-56.7 14.9-72.2-33.8a56 56 0 0116.4-62.8s-119.4-.6-168.4-38c0 0-40.7-25.6-16.4-52.5 0 0-107.5-17.2-134.4-60 0 0-11.8-11.8-7.9-32.5 0 0 .7-11.7 12.5-12.4 0 0-122.6-19-158-59.4 0 0-17-18.6-8.5-43.5 0 0 1.8-6.5 4.7-11 0 0-111.6-23.5-166.6-73.2 0 0-31.8-28.3-15.4-66.3 0 0-186.5-51-143.3-133.2 0 0-87.2-28.3-59.6-107 0 0-72.1-36.6-40.7-94.6 30.1-55.5 122.6 9.7 232 40 0 0 296.4 93.2 442.3 118l414.6 617.3 241.9 93.2 24.5 172.6z"/>
+    <path d="M1689.9 923.9s-38.9-29.2-108.2 5.1c0 0-23.3 16.1-41.7-1.5a37.3 37.3 0 014.3-57.5c51.7-38.3 70.8-153.2-7.8-200.9 0 0-114-67.6-532.3-174 0 0-35-9.8-53.8-5.1a52 52 0 00-37.6 37.8S894 581.1 957 611.6c0 0 28.4 13 57.7 21.4 0 0-32.2-7-46 24.8-13 30.4 6 61.5 65 81.5 0 0 16 6.2 38.7 11.7 0 0-50.5 14.5-26.2 55.3 0 0 21.6 42.8 98 50.4 0 0-57 6.2-16.8 60.4 0 0 17.7 29.7 73.4 40.7 0 0-42.2 1.4-21 39.3 21.4 38 71.5 59.4 120.9 62.9 0 0 26.7 1.4 45.4-2.8 0 0-47 23.5-19.4 62.8 0 0 20.3 28 71.1 26.6 0 0-13.1 44 24.1 60.6 29 13 53.1-7.8 53.1-7.8s-9.8 47.1 32.5 63.7c0 0 21.1 10.9 52.6 0 0 0 24 53.9 109.6 16 85.6-37.7 20.2-355.1 20.2-355.1zm5 489.4s-12.5 67.4-112 152.2c0 0-76.8 67.7-74.9 145.7 2 79.5-13.7 88.4-43.9 115.3 0 0 62.3 4.9 92.4-36.6 0 0-1.3 69-10.5 75.3 0 0 19.6 1.2 47.9-29.7 0 0 17-18 32.8-24.9 0 0-18.4 47.7-4 91.9 0 0 4.6-17.3 28.9-24.9 0 0 44-9 61-72.5 0 0 11.1-42 80-79.4 0 0 78-29.4 76-67.8-2-38.5-173.6-244.6-173.6-244.6z"/>
+    <path stroke-miterlimit="10" d="M2056.5 2282.2s-17.9 78.8-80 72.5c0 0-43.9-4.2-40.6-77.4 0 0-64.9 34.6-75.4-51 0 0-59 13.7-58.3-66.3 0 0-55 9.6-48.5-61.5 0 0-59.7 16-59.7-51 0 0-139.6-23.2 151.4-288.6l259.6 154.6-48.5 368.7z"/>
+    <path d="M2085.4 1928.3s-43.3 38.4-74.1-19c0 0-42-2-48.5-33.8 0 0-34.1-3.4-40.7-35.9 0 0-46.5-4.8-45.2-44.1 0 0-84.6-6.6 0-102.4 84.6-95.8 228.1 159 228.1 159l-19.6 76.2zm48.2-23.8c42 0 89.5 262 77.2 419.9-4.5 57.3-35.2 104.1-77.2 104.1s-72.6-46.8-77-104.1c-12.4-157.9 35.1-419.9 77-419.9"/>
+    <ellipse cx="2133.6" cy="1902.5" rx="58" ry="86"/>
+    <path fill="none" stroke-miterlimit="10" d="M1935.9 2277.3s6.6-138.7 126.8-337.6m-202.2 286.6s-18.7-80.1 150.8-317c0 0-19.7-56.5 40.6-92.8M1802.2 2160s-5.3-86.7 160.6-284.5c0 0-14.7-51 45.4-91.8m-254.5 314.8s6.2-87.6 168.4-258.9c0 0-8-52.4 50-84.9m-278 292.8s11.7-100.1 182.8-252c0 0-5.9-39.4 51.1-79.4"/>
+    <path fill="none" d="M372.3 432s134.3 77.8 552.9 155.6M431.9 539S795.6 657.6 965 672.2m-389.9 0s213.4 67 463.3 109.3m-281.2 30.3s241 57.9 356.2 67.5M919 925.6s203.9 42.5 255.5 47.6m-125.7 57.3s148.8 22.6 208 21.4m-23.2 69s60.2-2.8 89.1-7.6m-33.4 104.3s51.2-13.8 81.3-33.1m-5.9 133.2s39.4-15.2 58.4-56.6m37.7 93.6s30.4-27.3 32.4-57.7m81.6 81.5s-11.4-9.9-3.6-52.7m-11.1-62.8s-6-12.2-4-31.6m-211-581.3s68.8 27.6 91.7 65.6c23 38 7.9 74.9 0 96-3.9 10.7-52.4 104.2 4.6 171.9M1346 1057s.4-.3 24.6-8m-169.8-91.4s41 8.2 81.3 8.6m-138-109.8s48.2 4.9 93.5 4.2m-165.2-109.8s69.5 13.8 106.8 14.5M1014.7 633s85.7 24.4 149.4 33.1m141.6 50.4s-61.6 57.3 12.5 110.5c0 0-30.8 48.3 30.8 98.7m-16.4 23.8s-9.2 92.2 103.6 92.2c0 0-21.7 82.1 87.2 79.4 0 0 12.4 65.6 91 52.4M1441.3 1895s-17.9 4-56.6 0m-108.8 48.3s-54.4-8.3-51.8 109.8m84.6-82.9s-49.2-6.2-46 108.4m520.7-384.5s-23.6 4.8-40 23.5c-16.3 18.6-47.8 15.1-47.8 15.1s17-13.8 23-48.3c5.8-34.5 24.9-44.9 24.9-44.9m-56.3-32.6s-23.6 4.8-40 23.4c-16.4 18.7-47.9 15.2-47.9 15.2s17-13.8 23-48.3c5.9-34.5 24.9-44.9 24.9-44.9m23.7 188.5s-20.6 4.3-34.9 20.5c-14.3 16.3-41.8 13.3-41.8 13.3s15-12 20-42.2c5.2-30.1 21.8-39.2 21.8-39.2"/>
+  </g>
+  <use width="100%" height="100%" stroke="#010002" stroke-width="10" transform="matrix(-1 0 0 1 647.2 0)" xlink:href="#a"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M466 256l-14.3 61.7-5.9-4.2 14-59.2-9.8.2 23.1-42.3 1.5 48.7zm37 13l-43 50.8-4.6-5.2 42.8-50.2-8.7-4.6 39.2-26-20.3 43.8z"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M492.6 242l-38.5 74-5.9-3.5 38.7-73.8-9.4-2.4 32.7-34.6-10.5 47.5zm-48 96.6l-2.9 11.7 8 8-11.2 47-10-13.3-14.6 6.8 11.1-47 10.4-3 2.6-11.7s3.2-1.2 6.6 1.5z"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M447.3 330.8l-5.7 10.6 5.7 9.7-22.4 42.5-6.3-15.6-15.9 2.6 22.4-42.4h10.7l5.5-10.6s4 0 6 3.2z"/>
+  <path fill="#0081c6" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M448.2 333.9l-15 19.2 3.4 10.8-30.9 36-2.8-16.6-16-1.2 30.8-36 10.4 2.5 16-20.4s4.4 2.2 4.1 5.7zm-382.7-45c3.6-1.5 6.2-2.9 6.2-6.7 0-1-.5-3-1.5-6.1L46 202a59 59 0 00-3-7.9c-1.1-2-3.2-2.9-6.1-4h30.7c-3.3 1.5-6.4 2.7-6.3 6.3 0 1.3.4 3.2 1.1 5.7l18.6 58 18.5-58a20 20 0 001.1-5.7c0-3.7-3.2-5-6.3-6.4h29.8c-2.7 1.1-5 2-6 4.1a63 63 0 00-3.1 8L90.8 276a37.9 37.9 0 00-1.5 6.1s-1.1 4.7 6.2 6.7h-30zm515.3-7.6v-83.7c0-1.4-.3-2.5-.8-3.3s-2.5-3-5.5-4.2h27.7a11.5 11.5 0 00-5.5 4.2c-.5.8-.7 1.9-.7 3.3v83.7c0 1.5.2 2.6.7 3.4.5.8 2.5 2.8 5.5 4.2h-27.7c3-1.4 5-3.4 5.5-4.2.5-.8.8-1.9.8-3.4z"/>
+  <path fill="#fff" stroke="#010002" stroke-width="1.5" d="M324.8 309.8S399 276.9 399.1 201H250.5c.2 76 74.3 108.8 74.3 108.8z"/>
+  <path fill="#a60032" stroke="#010002" stroke-width="1.5" d="M262 201v48.5s5.6 11.3 11.4 18.3V201H262zm22.8 0v80s7.2 7 11.4 10.4V201h-11.4zm22.9 0v98.9s8.1 5.2 11.4 7v-106h-11.4zm80 0v48.5s-5.7 11.3-11.5 18.3V201h11.5zm-22.9 0v80s-7.1 7-11.4 10.4V201h11.4zm-22.8 0v98.9s-8.2 5.2-11.5 7v-106H342z"/>
+  <path fill="#162667" stroke="#010002" stroke-miterlimit="10" stroke-width="1.5" d="M399.1 145.8s-36.4 19-74.3-1.6c-37.9 20.6-74.3 1.6-74.3 1.6V201h148.6v-55.2z"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vn.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vn.svg
new file mode 100644
index 0000000..3fc2279
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vn.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-vn" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="vn-a">
+      <path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#vn-a)" transform="translate(80) scale(.9375)">
+    <path fill="#ec0015" d="M-128 0h768v512h-768z"/>
+    <path fill="#ff0" d="M349.6 381L260 314.3l-89 67.3L204 272l-89-67.7 110.1-1 34.2-109.4L294 203l110.1.1-88.5 68.4 33.9 109.6z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vu.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vu.svg
new file mode 100644
index 0000000..a773285
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/vu.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-vu" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="vu-a">
+      <path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#vu-a)" transform="scale(.9375)">
+    <g fill-rule="evenodd">
+      <path d="M0 0l347.4 219.4H768v73.2H347.4L0 512V0z"/>
+      <path fill="#ff0" d="M0 493.7L354.7 267H768v-22H354.7L0 18.3v32.9L332.8 256 0 460.8v32.9z"/>
+      <path fill="#40aa40" d="M0 512l354.7-226.7H768V512H0z"/>
+      <path fill="#ce0000" d="M0 0l354.7 226.7H768V0H0z"/>
+      <path fill="#ff0" d="M95.8 266.6c1.2.3 1.6.6 2.8-1.1.2-1 1-2.2 1.7-3.3.8-1.5 1.2-2 2-1 .6.7 2.8-.5 3.6.1 1.4 1 .6.8 1.7-.2.9-1.8.1-1.6-1-2.4-1-.6-3.1.6-4 0 .3-1.8.9-2 2-2.4.8.5 3.1-.4 3.8-.4 1 .2 2 .3 2.3-1.2.5-1 .3-.3-.2-1-.8-.7-3 .5-3.9 0-1-.9-.9-1.2-.2-2.6.8-.5 1.5-.3 2.6.4 1 .8 2.8-.7 3.8-.8.9-1 1.9-1.3 1.2-2.5-.3-1-.6-1-1.8-1.3-1.2-.8-2.8.7-3.3-.5 1-1.4 1.3-1.1 2.5-.3.8.2 3-1.1 3.8-1.2 1.1-.3.6 1 1.4-1.8-.3-1.2-2.3.7-3.4.4-1 .2-2-.2-2-1.4 0-1.5.8-1.6 1.9-1.4 1 .2 3.1-1 4-1 1 .6 1.5.4 2.4-1 .6-1.7-.1-1-1.3-2-.8-.5-3 .7-3.9.1.2-.6.5-1.4 1-1.7.9.2 1.6.2 2.7.8 1 .5 2.8-1.5 3.7-2.2-.2-1-2 .4-3-.3-.6-.5-1.5-1-1.7-1.5.6-1.7.3-1.6 2-1 .8-.3 2.3-.3 1.3-1.9-.2-.2-1-.2-1.8-.5-.9-.6-1.7-1.3-2.7-1.5-.7-.1-1.7-.4-2.2-.2 0 1 .2 1.6.1 2.8.5.7 1.3.7 1.5 1-.9.8-1.4.4-2.3.4-1.2-.7-.5-3.1-1.9-2.6.3.7.2 3.4.8 4 .6.4 1.4.8 1.5 1.3-1 1.5-1.3 1.4-2.5.7-1-.6-.6-2.8-1.5-2.7-1 .8-1 .7-.8 1.8 0 1.4-.5 3.4.7 4.2 1.3 1 1.5.8.4 2.7-.7.9-1.1.7-2 .3-.9-.6-.7-3-1.4-3.7-1.4-.8-.6-.8-1.7.2-.3 1.3 0 1.6.5 2.7.4.7.4 3 1.2 3.2 1.2.7 1.3.6-.2 2-1 0-1.6.3-2.4-.7-1-.8-.4-3.2-1.7-3.2-1.2.1-1.5.1-1.4 1.8.3 1.5-.3 3.8.9 4.7 1.1.5 1.8.4 2.2 1.1-.4.3-1 1.3-1.4 1.5-.8 0-1.6-.5-2.5-.7-1-.5-.5-1.4-1.4-2-1 .3-1-1-1.5.3.2 1.2-.2 2.6 1 3.4.8.5 1.5 1.7 2.4 2.3 1 1.2.6 1.4 0 3-.9.1-1.8-.5-2.7-1-.9-.7-.7-3-1.6-3.5-.7-.8-.5-1.4-1.7.2 0 1 .1 1.2.4 2 0 1-.2 3.2.8 3.9 1 .2 2.2.7 3 1 .8 1 .1.8-.8 2.2-.5 1.4-.5 1.7-1.4 2.4-.8 1-1 1.5-.4 2.8z"/>
+      <path fill="#ff0" d="M121 267.9c.7-1.2 1.1-1.4 0-3.4-.8-.7-1.6-2-2.4-3.1-1-1.6-1.3-2.2 0-2.7.8-.3.6-3 1.5-3.7 1.4-1.1 1-.3.5-1.9-1.4-1.7-1.5-.8-2.7.2-1 .7-.7 3.5-1.5 4.2-1.6-1-1.6-1.8-1.5-3 .9-.7.9-3.6 1.2-4.3.6-1 1-2-.2-2.9-.8-1-.2-.4-1-.3-1 .7-.7 3.5-1.6 4.2-1.2.8-1.4.5-2.4-.8-.1-1 .3-1.7 1.4-2.6 1.1-.8.5-3.3.8-4.3-.6-1.4-.5-2.6-1.8-2.4-1 0-1.2.3-2 1.5-1.2 1-.4 3.2-1.8 3.2-.9-1.6-.4-1.8.8-2.8.5-.7.2-3.7.4-4.5.2-1.2 1-.2-1.1-2-1.2-.3-.2 2.6-1 3.6-.3 1.2-1 2-2 1.6-1.5-.6-1.2-1.5-.6-2.5s.3-3.8.7-4.7c1-1 1-1.4 0-3-1.3-1.4-1-.3-2.2.6-1 .7-.7 3.5-1.6 4.2-.5-.5-1-1-1.1-1.8.5-.8.7-1.6 1.8-2.5.8-.9-.4-3.5-.6-4.8-1-.2-.4 2.2-1.5 3-.7.5-1.4 1.2-2 1.2-1.3-1.3-1.4-1-.2-2.5.1-1 .7-2.5-1.2-2-.3 0-.5 1-1.1 1.6-1 .7-1.9 1.3-2.5 2.2-.4.7-1 1.7-1 2.3.8.5 1.5.5 2.6 1 .8-.2 1.2-1 1.5-1.1.3 1.2-.2 1.6-.5 2.6-1.2 1-3.2-.7-3.2 1 .8-.1 3.2 1 4 .7.6-.5 1.3-1.2 1.8-1 1 1.5.8 1.9-.3 2.8-1 .8-3-.4-3.1.5.3 1.4.2 1.4 1.3 1.6 1.3.5 2.9 1.9 4 1 1.5-1 1.5-1.3 2.7.6.6 1.1.3 1.5-.5 2.2-.9.8-3-.4-4 0-1.2 1.2-.9.4-.4 2 1 .8 1.4.7 2.7.5.8-.2 3 .8 3.4 0 1.1-1 1-1.1 1.7 1-.4 1.2-.3 1.8-1.6 2.3-1.1.8-3-.9-3.6.5-.4 1.4-.5 1.7 1.1 2.2 1.5.3 3.4 1.8 4.7 1 .9-1 1-1.8 1.9-2 .1.6.7 1.6.7 2.1-.2.9-1 1.5-1.6 2.4-.8.9-1.5 0-2.3.7-.1 1.1-1.4.6-.3 1.7 1 .2 2.3 1.2 3.4.4.9-.7 2.3-1 3.1-1.7 1.5-.6 1.5 0 2.8 1.2-.3 1-1.2 1.7-2 2.4-1 .7-3-.4-3.9.3-1 .5-1.4 0-.5 1.9 1 .5 1.2.3 2 .3 1 .5 2.8 1.6 3.9.8.6-1 1.6-2 2.2-2.8 1.1-.4.7.2 1.6 1.7 1.1 1.2 1.4 1.3 1.7 2.5.6 1.2 1 1.7 2.4 1.5z"/>
+      <path fill="#ff0" d="M98 314.5c0-5.3-.8-10.6 0-10.6 46.8 0 58.5-32 58.5-53.2S140.3 208 109.7 208c-35 0-46.8 20.8-46.8 42.6A37 37 0 0098 287.9c23.4 0 29.3-5.3 46.8-26.6-5.8 26.6-35 37.2-46.8 37.2-23.4 0-46.8-16-46.8-47.8 0-26.6 17.5-53.2 58.5-53.2 35.1 0 58.5 26.6 58.5 53.2 0 37.2-29.2 63.8-70.2 63.8z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/wf.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/wf.svg
new file mode 100644
index 0000000..9d43586
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/wf.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-wf" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ws.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ws.svg
new file mode 100644
index 0000000..1b3ecf4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ws.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ws" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#ce1126" d="M0 0h640v480H0z"/>
+    <path fill="#002b7f" d="M0 0h320v240H0z"/>
+    <path fill="#fff" d="M180 229.3l-20.7-14-19.9 14.1 6.5-24.9-19-15.2 24.5-1.5 8.1-23.6 8.8 24 24 .7-19 16.3zm-3.6-165.6L159.8 53l-16 10.4 4.4-20-14.6-12.7 19.4-1.6 7.2-18.6 7.4 18.7 19.1 1.7L172 44.3zm-73 59.5l-16-11-16.7 11 5.2-19.4L60.8 91 80 90l7-19 6.8 18.9 19.6 1.1-15 12.5zM250 110l-15.4-10-15 10 4.4-18.3-14-11.8 18.3-1.5 6.3-17.2 7 17.4 17.7 1-13.7 12.3zm-43.1 43.4l-10.3-6.4-10.3 6.6 2.7-12.3-9.2-8.3 12-1 4.6-11.6 4.9 11.6 11.9 1-9.1 8.3z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/xk.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/xk.svg
new file mode 100644
index 0000000..7e41b1d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/xk.svg
@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-xk" viewBox="0 0 640 480">
+  <path fill="#244AA5" d="M0 0h640v480H0z"/>
+  <path fill="#D0A650" d="M253 224.8s1.2-.8 1.6-.9c.5 0 2-.6 2-.6s1-.5 1.5-.5c.6 0 1.6.6 2 1.1.3.5 2 1.4 2 1.4s1.2.4 1.5 0c.2-.4.7-.7 1.3-.7.5 0 .6-.5.6-.9s.2-.9.6-1.4c.5-.5 1.3-.8 1.3-.8s1.2-.5 1.3-1.2c.2-.7 1.3-1.2 2-1.3.7 0 0-.4 1.8-.2 1.7.2 2-.4 2-.9.1-.5 0-1 1.1-1 1.1.2 1.6.2 1.6-.4 0-.6 1-1-.7-1.4-1.8-.5-1.6-.1-1.8-1 0-.7 0-.6-1.1-.7-1.2-.1-.6-.7-.7-1.3-.1-.6-.4-1-.6-1.3-.3-.4-.9-.4-.9-1s-.1-1-.7-1c-.7 0-1 0-1-.5 0-.6.2-1 .8-1 .7 0 1-.6 1-1.2-.2-.6-.2-1.9-.2-1.9l.9-1s2.6-2.1 2.8-2.5c.2-.4 1.1-.7 1.5.1.4.8.6 1 1 1.4.3.4 1.3.1 1.5-.3.2-.4.3-1.9.9-2.7.6-.7 1-1.1 1.1-1.8s.5-1.2 1.2-1.2c.6 0 1-.9 1-1.4 0-.5.4-1 1.2-1.2.8-.1 1.3-.6 1.6.2s.6.7 1.1 1c.6.3 1.4.6 1.8.3.5-.4.7-1 1.3-.7.6.4 1 0 1.2-.7l.3-1.9s.1-.5 1.1-.5.3-.6.8-1c.6-.4.6-.8 1.3-.6.7.3 1.8-.3 1.3-1-.6-.6-1.8-1.6-1.1-2.4.7-.8 1-2 .3-2.2-.7-.1-1.8.1-1.9-.6-.1-.8-.4-1.4.5-1.5.8-.1 2.2-.1 2.7-.5.4-.4 1.8-.7 1.8-1.8 0-1.2.4-1.3.6-2 .1-.6.1-2-.5-2.6-.6-.7-1.4-1.6-1.5-2-.2-.4-.7-1-1.6-1.3-.8-.2-1.6-.4-1.6-1 0-.7.6.1.6-1.6 0-1.7-1.1-2-1.1-2l-1.7-1s-3-.8-3.8-.8-1.8-.8-.9-1.4c1-.5 1.2-1.5.9-2.2-.4-.7-.6-1.3-1.9-1.6-1.3-.3-1.6-.6-1-1.4.5-.7.7-1.3 1.4-.7.6.5 1.8.7 2.7.3 1-.4 1.3-.8 1.8-.3.4.4 1 .8 1.7.2.7-.7 2-.8 2.6-.5.5.4 2 .3 2.4 0 .4-.2 1.4-1 1.4-1.3s.6-1.2 1.1-1.5c.6-.4 1.3-1.4 1.9-1.4.6 0 .8-.7.8-1 0-.5.5-1.4.6-1.7 0-.3 1.2-.8 2 0 .9.5 2 .8 2 .8s1 .2 1.7 0a2 2 0 012.1 0c.9.6 2 .6 2 .6l.3-1.3c0-.4.2-1.2-.3-1.5-.4-.3-1-.7-.1-1.4 1-.6 1-.5 1.9-.5l2.2.1c.7 0 1.8.7 1.8 1.3 0 .6.5 1 1 1.4.6.3 1.3.6 1 1.2-.1.5-.1 1 .6.8.7-.1.9.3.9.9 0 .5.2.8 1 1 .6.2 1 .7 1 1.2s-.2.9 0 1.4l1 1.4s1.3 1.5-.4.7c-1.6-.7-2-1-2.5-1l-1 .5-1.3.2c-.6 0-1.2 1.2-.2 1.4.9.2 1.2.4 1.2 1.2s-.3.5-.8 1c-.4.6-.8.2-1.6.2s-1 .7-1 1.3.3.6.6 1c.4.6 1 .7 1.6.2.5-.5 1-.9 1.3.1.4 1 .9 1 1.5 1 .7 0 1 0 1.6-.4.5-.3 1.2 0 1.3.9.2.8.7 1 1.3 1.3.6.3 1 .5 1 1 .2.6.5.8 1.1.5.6-.4 1.5-.6 1.9-.1l.9 1.2v1.1l2.3.8.2 1c0 .3.4.6 1 .4h1.6s.8-.3.8-1c0-.6.3-.8 1-.8.5 0 1.8.5 2.1-.2.4-.6 1.4-.8 2.2-.5l3 1.2s-.3 0 .4 1.1 2 1.1 2 1.1 0 1 .3 1.4c.2.4 1.3.6 1.8.2.6-.4 1.4-1 2.1-1s1.2 0 1.2-.4-.7-.7-.7-1.4.7-.6.8-1.3c.1-.6.8 0 1.3.4s1 .8 1 1.2c0 .5 1 2 1.5 2.2.6.2 2.1.3 2.6-.2.4-.6 1.6-.8 1.5.5-.1 1.3-.4 1.4.4 1.8.8.4 1 2 .3 2.4-.7.4-1 .5-1 1.2s-.2 1.6.4 2c.6.5 1 .8 1 1.2 0 .5.6 2.4.6 2.4s.4 1.9.2 2.3c0 .5-.3 1.2.7 1.1 1-.1 1.3-.1 1.3.7s.4 1.2-.2 1.5c-.6.4-1 1.4-.4 1.6.6.2 1 .6 1.2 1 .1.4 1 1.2 1.6.7.6-.4.7-.6 1.2-.7.4-.1.8-.4.3-1-.4-.5-.6-1-.1-1.4.5-.3.7-1.3.7-1.3s.7-1 1.5 0 1 .6 1.5.6.8.5.8 1c0 .6 1.2.5 1.2 1.3l.2 3s0 1.1.7 1.5c.7.5.6.6.2 1-.3.6-.2 1.5-.2 2s.2.5-.3 1c-.6.4-.9 1-.5 1.6.3.6.2 1 1.1 1.8 1 .7.9 1 .9 1.6 0 .5.9 1.3.9 1.8s.7 1.2 1.3 1.3 1.2 1 1.2 1.6l.1 1.9s0 .3.6.3c.7 0 1.2.8 1.4 0 .2-1 1-1 1.4-1.3s1.4-.6 1.9-.3 1 .3 1.5.3l2.6.1s.6 0 1 .8c.3.8 1.3 1.8.8 2.2-.6.5-.6 1.3 0 1.3s1.5 0 1.5.5c0 .6 0 1 .7.7.5-.3.9-.4 1.1 0 .3.4.7.4 1.3.7.6.4.8.1 1.2-.3.3-.4 1.7-.8 1.7-.8s1.8-.5 2.5-.3l1.7.7s.4 1 .2 1.7c-.2.6-.5.5-.2 1.5.2 1-.3 1-.7 1-.5-.2-1-.2-1 .7 0 .8-.4 1-.4 1.8s0 .6-.5 1c-.4.3-.6.8.1 1 .7 0 .5.8.5 1.2l-.1 1.4s0 .5-.7.5-1.5 0-1.6.5c-.2.5-1 1.3-.3 1.9.8.5.6.8.1 1-.4.3-.8 1.3.2 1.6.9.4.8.7.2 1.1-.6.4-1.7.8-1.7 1.4s-.3.6-1 .7c-.7.1-1 1-.2 2 .8 1.1 1 1 1.6 1 .6 0 .6-1 .6-1l2.5.2c.6 0 1.4 0 1.9-.3.5-.4 1.7-.9 1.7 0 0 1 .3 1 .8 1.3.6.5.7.1 1.2.8.5.6.6 0 1-.7.3-.7 1-1.4 1.6-.6.5.9.5.6 1.2.6s1 .4 1 .9.6.5 1.5.4c.8 0 .9.5 1.2 1s.5.4 1 .4c.4 0 .9 0 1.2-.4.4-.4.8-1 1.3-.3.5.6 1.4.5 1.6-.2.3-.8 1.3-1.4 1.9-.6.6.9 1 .9 1.6 1 .6 0 1.4 0 1.7.6.4.6 1.5 1.4.7 2-.8.7-1.7 1.5-1 1.8a3 3 0 011.6 1c.5.4 2 .7 2.7.8.7 0 1.2.2 2-.5.9-.6 1.7-.6 1.6.3-.1.8.3 1.8.3 1.8s.6 1.4.6 1.9-.1.6 1 1.3c1 .6.8 1 1.7.4.8-.6 1-1 1-1.5v-1.7s1.2-.2 1.6-.5c.5-.4 2.3-1.3 2.8-.9s1 .3 1.5.1c.5-.2 1.4-.2 1.9-.2.4 0 1.2.1 2.2-.6.9-.8.9-.6 1.5 0 .5.5.5 1.1.2 1.6-.4.4 0 1.3.8 1.3s1 .5 1 1l.3 1.7c0 .4 0 .7 1.4 1 1.2.3 1 1 1.2 1.6.3.5.3 1-.4 1s-1 .3-1 .8c-.2.5-1.2.7-1.2.7l-1-.2s-.8 0-1.1.4c-.4.5-1 1.3-.6 2 .5.8.5 1.2 0 1.6-.4.3-.7 1.9-1.1 1.6-.5-.4-1 0-1.5.3-.5.2-.4 1.7.5 2.2 1 .6 1.2 1.3 1.2 1.3l1 1.6s-.3.3-.5.9c-.3.5-1 1.6-.3 1.8.7.2.4 1.4-.3 1.4s-1.5-.4-1.6.5-.5.6-1.2.5c-.7 0-2.4-.5-2.9.3-.5.9-.6 1.2-1.4 1.1-.8 0-.5 1.3-.2 1.8l1 1.3s.7.5.7 1.6c0 1-.5 1-1 .2-.4-.7-1.3-.6-1.4.2-.1.9-.3 2.2-1 2.2-.9 0-1.2.2-1.6.6-.3.4-.9 1.2-.9 1.6s-.1.9-.7 1-.7 1.2-.7 1.2-1.4.3-1.5.8c-.1.5.1 1.4-1 1.5a3 3 0 00-2.2 1.4c-.4.5-.5 1 0 1.5s.8 2.2 1.4 2.5c.5.3 1 .5.9 1.3-.1.9-.8 1.5.1 1.5 1 0 1.5.2 1.2 1-.4.7-.4.8-1 1.1-.8.4-1.1.4-1.1 1.2s.2.9-.4 1.2-.6.7-.6 1.4-.2.4-.9 1.1c-.7.8-1.6.8-2.2.6s-.7-.2-.8-.9c-.1-.6-1.1-.6-1.7-.5-.6 0-1.4.7-1.4.7s-1 .7-.6 1.2c.5.5.2 1.4-.6 1.3-.8-.1-2.6.8-3.2-.1-.6-1-2.2-1.6-2.5-.3-.2 1.2.7 1.1.6 2.4 0 1.3-.3 1.3-.8 1.7-.4.4-.4.8-.6 1.3 0 .5-.2 1.7.6 2.1.8.5 1.2 1.6 1.2 2.3 0 .6 0 1.3.8 1.3s1.5-.2 1.6-.9c.1-.7 1.7-1.2 1.9.3 0 1.5 0 2.3.7 2.9.5.6 1 1.5 1.5 1.8.4.3 1.2 3 1.2 3-1.1.3-1.4 1.8-2.1 2-.4.2-.9 0-1.3.3-.2.3-.2.7-.6.8-.9.4-.7-.9-1.8-.4-.9.4-1 1.5-2.3 1-.7-.2-1.1-3-1.3-3.6l-1.1-1.8c-.8-1.2-2.3 0-2.8-.4-.8-.5-.5-1.4-1.7-1.5-2.4-.2-.7 1.5-1.7 1.8-2 .7-2-1.8-3.4-.6-.5.4 1 .7.6 1.4-.3.6-1.7 1.6-1.7 2.3.2 1 1.2 1.3 1.5 2 1 2.3-.5 3.8-2.7 2-1.2-.9-1.5-2.7-3.3-2.5-.5 0-.6.4-1 .5-.5 0-.8-.4-1.3-.3-.7.3 0 .8-.2 1.2 0 0-1 .7-1 1-.6.6-.4 1.2-1.2 1.8-.6.5-1.1.2-1.8 1-.7.7-.8 1.9-1.7 2.6-.5.4-.8-1.1-1.4-.1l-.2.4c-.2.3-.2.4 0 .7 1.2 2.4-1.4 3.2-2.2 4.9-.3.7.6 1.3.3 1.9l-1.5 1.7c0 .2-.2.8-.4 1-.2.2-1 0-1 .4s.8.7 1 .9c.2.3-.2.7 0 .8 1.2 1.3.5.9 1.1 2 .1.2.5-.1.7.3.1.4-.4.4-.2.8 0 .2 1 1.4 1 1.4 0 .4-1.8 1.2-2.2 1.2-1.1 0 1-2.2-.8-2.2-.8 0-.9 1.7-1 2h-1c-1.2 0-2 1.4-2.4 1.5-.3.1-1-.2-1.5 0-.4 0-1 .5-1.4.5-.3 0-.4-.2-.7-.4-.5-.3-1.5-.4-2-.6-.4 0-1 .4-1.2.3-.3-.2.3-1-.6-1.4l-.7-1.7c.3-1 .6-2 .5-3.1-.2-1.1-2-2-2.4-3-.3-.6-.6-2.4-1.3-2.8a6.2 6.2 0 01-1.8-2.2c0-.2.3-.6 0-1-.3-.3-.8-.5-1-1-.1-.4 0-1.8-.5-2.1-.5-.3-4-.8-5-.9-.4 0-.7 0-1-.3l-.6-.7-1 .2c-.3 0-.8-.2-1 0-1.1.7-1.4 1.7-2.5 2.6-1.1.8-2.3.8-3.4 1.7-.7.6-1.2 2.1-1.9 2.8-.3.3-.7 0-.8.1-.6.7-1.4 1.2-2 1.8-.1.2 0 .4-.2.5l-1.3.4h-1.2c-.5.2-.5.8-2.5 1.2l-.5.3-.6.5h-.9c-.5 0-.8.5-1.2.5-1 .2-2.8-.5-3.6-.1-.5.1-1.8 1.7-2.3 1.8-.3.1-.6 0-1-.1l-.6 2.2-2.4 2.1c-.3.3-.4.7-.8 1-.2.3-.6.5-1 .5s-1.1-.4-1.6-.4c-.8-.2-3.3-.3-4-.1-.9.1-.6 2.4-2.6 2.6l-3.3.4c-.1 0-.8-.4-1.5-.3-.3.1-1.1 1-1.1 1.2v.5l.2.4c-.4.5-1.4 1.3-1.7 2l-.4.4c-.2.2-1.6.7-1.7.9-.3.8 1 1.6.8 1.9-.3 1-1.7 2-2.2 3-.1.4.5 1.7.5 2.1-.2 1.3-.6 2.9-.5 4.1l.2 1.7.7.5 1.8 3.6c.3 2.2-3 1.4-1 3.6.2.4.4.7.8 1l2.8 2.3c0 .4-2 .7-2.3 1-1 1-1.7 2.6-2.6 3.6-.6.5-1-.1-1.8 1.3-.2.5 0 1.6-.3 2-.5.4-.8-.2-1.3 0-.2 0-.3.7-.5.8-.5.5-5.2 3-5.6 2.7-.2-.1-.5-.9-.5-1.1 0-.3-.4-.9-.6-1-1.2-1-3-1.3-4.2 0-.3.3-.3.8-.7 1l-2 1.6-.5.5c-.5 0-1.6-1.3-2-1.7-.4-.6-2-2-2.1-2.7 0-2.4-1.9-4.9-2.6-7.2h1.1c1.3-.9 1-3 3.3-2.2.3-.4.3-.8.8-1 .2-.2.6-.3.7-.5.8-1.2 1.7-5.8.9-7-.7-1-1.5-1-2-2.7-.2-.5 0-1 0-1.6l-1-3.1c-.2-.3-.7-.5-.7-.7l-.2-3.1c-.7-2.2-3.4-3.5-3.5-3.8l-1-1.7c-.4-.7-.4-1-.6-1.6-.1-.3-.6-.6-.6-.9 0-.6 1.6-1.7 1.5-2.7 0-.3-1-1.3-.8-1.8.2-.6 1.2-1.8 1.2-2.5 0-.8-1.6-2.6-1.8-3.4-.1-.5.6-.8.4-1.1-.2-.4-1.8-1.9-2-2.3-.3-.3.5-.7 0-1.3-.6-.5-.1-.4-.3-.8-.2-.5-.7-1-1-1.5-.2-.5-1.6-5.5-1.5-5.8-.3-.3-.7-.6-.9-1l-.4-1.2s-1.6-.5-1.9-1c-.2-.3-.3-1.6-.7-2.2-.2-.3-.5-.2-.7-.4-.2-.2-.2-.5-.3-.7-.5-.6-1.4 0-2-2.4-1-.6-1.7-1-2.4-1.8l-.4-.4c-.6-.2-1.5-.3-2-.7-.3 0-1.8 0-2-.2l-.4-.8c-.8-.1-2.2 0-2.9-.6-.5-.5-.6-2.8-1.6-2.5a.7.7 0 00-.4 0c-.7-1-2.9-1-3.8-1.6-.2-.1-1 0-1-.2l.1-1.3-1.1-1.4c-.9-.2-.6-.3-1-.6-1.5 0-1.7.2-2.6 1-.2.2-.7.3-1 .4-.5.3-.6 1.2-1.3.8l-.6-.5c-.4-.4-.6-.2-.8-.8-1.2-.7-4.5 1.5-5.2 0-.6-.3-1 0-1.5-.4-.2-.2.7-3-1.7-4l1.6-1.1c.2-.3 0-.8 0-1 0-.5.3-1.4.2-1.7 0-.3-.4-.6-.5-1-.2-.3 0-.8-.2-1.2l-.8-.4c-.6-.5-1.2-.8-1.7-1.4l-.4-.5c-.4-.3-1.8-.8-1.8-1.4 0-.2.4-.3.4-.5.1-.3 0-.6.3-.8.6-1 2.1-.5 1.9-2.2-.1-.8-.7-1.4-.8-2.2-.3-.2-.3-.5-.5-.7-1.5-.1-1.3-1.6-1.8-2-1.5-1-2.7-.4-1-2.4.2-.7-1.5-1.8-1.8-2.1-.6-.6-.3-1.9-.6-2.5 0-.3-1.1-.9-1.4-1.3l-.5-1v-.1c.3-.3.2-.8 0-1-.1-.3-.6-.2-.7-.4-1.4-1.2-3-1.8-4.9-2.5-.5-.2-.3-.6-.8-.8l-3-1.2c-.2 0-.4-1.1-.6-1.5l-.9-1c0-1-.6-1-1.4-1.6v-.6l.6-2.1c.1-.4.6-.8.5-1.2l-.4-2.3c-.8-2-1.7-1.8-1.2-4.5 0-.6-.1-.9.3-1.4l.2-.3 1.2-.9c.4-.6.7-1.9 1.2-2.3l1.8-1.2c.2-.2.4-.9.3-1.2-.4-.2-.8-.1-1.2-.2-.2 0-.7-.4-1.1-.4-.1-.2-.3-.3-.3-.5l-.2-.2c-.5 0-1-.3-1.4-.5-.5-.2-1.2-.2-1.7-.5-1-.5-2-2-2.9-2.2-1.2-.3-2 .1-3.2.2-.7 0-.7-.4-1.3-.6-.8-.3-.2.4-2-.2-.3-.2 0-.8 0-1h-1c-1.4-.4-.9-1.8-1.3-2.7-.1-.2-.8-.2-1-.2-.2 0-.2-.2-.2-.2l.2-.1c.2-.4-.7-1.4-.7-1.6.1-.3 2-.6 2.2-.6.1-.3-.1-.5-.2-.7 0-.5.3-1.2.5-1.7v-.2c-.6-.3-.7-.7-1.2-1 0-.3.3-.4.4-.7.9-2.5 2.3-.5 3.5-2.8.1-.2.5-.7.6-1.1h.2c.2 0 .6.2.8 0 .2-.2.5-.2.8-.3h.5c2.2-.4 1.7-1.2 3-2.1.4-.3 1.4-.4 1.8-.6.5.3 1.2 1 2.1 1.4.7.2 3 .7 3.4 1 .5.2.6.8 1 1 1.3.8.5-.4 1.8-.2 1.3.3 2.3 1.4 3.5 1.9l1-.1c.3-.1 2.3-.5 2.5-.4l.8.3c.3.1.5-.5.8-.5.8.2.8.5 2 .4 0 0 .6-3.3 1.2-3.4.3-.1 1.2.7 1.4.8.4.1 0-.7 0-.7-.2-.3-.8-2.3-.7-2.5 0 0 .5.2.8.1.6-.2 1.5-.4 2-.9l1-1.5c.1-.2-.2-.8 0-1l.9-.6c.4-.4.4-1 1-1.3 2-.2 2.7-1.8 4.6-2h.6l.4.6c0 .1 1.3.9 1.5.8.2 0 .3-.3.5-.4.3.1 1.4-.5 1.5-.9 0 0-.2-.3-.1-.6a12 12 0 011.6-1.2h1.4c.2.2.2.6.5.6h1.2c.2 0 .3-.5.7-.5z"/>
+  <g id="h" fill="#FFF">
+    <path id="star" d="M351.9 73.4L368 123l-42.2-30.7H378L335.8 123l16-49.6z"/>
+    <path id="star_1_" d="M414.7 84.5l16 49.6-42.1-30.7h52.1l-42.2 30.7 16.2-49.6z"/>
+    <path id="star_2_" d="M474.6 106.3l16 49.6-42.1-30.7h52.1L458.4 156l16.2-49.6z"/>
+  </g>
+  <g id="h_1_">
+    <path id="star_3_" fill="#FFF" d="M288.1 73.4L272 123l42.2-30.7H262l42.2 30.7-16-49.6z"/>
+    <path id="star_4_" fill="#FFF" d="M225.3 84.5l-16 49.6 42.1-30.7h-52.1l42.2 30.7-16.2-49.6z"/>
+    <g transform="scale(-1 1)">
+      <path id="star_5_" fill="#FFF" d="M-165.7 106.3l-16.2 49.6 42.2-30.7h-52.1l42.2 30.7-16.1-49.6z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ye.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ye.svg
new file mode 100644
index 0000000..1befdec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/ye.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-ye" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v472.8H0z"/>
+    <path fill="#f10600" d="M0 0h640v157.4H0z"/>
+    <path d="M0 322.6h640V480H0z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/yt.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/yt.svg
new file mode 100644
index 0000000..f198fff
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/yt.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-yt" viewBox="0 0 640 480">
+  <g fill-rule="evenodd" stroke-width="1pt">
+    <path fill="#fff" d="M0 0h640v480H0z"/>
+    <path fill="#00267f" d="M0 0h213.3v480H0z"/>
+    <path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/za.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/za.svg
new file mode 100644
index 0000000..7a420a0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/za.svg
@@ -0,0 +1,17 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-za" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="za-a">
+      <path fill-opacity=".7" d="M-71.9 0h682.7v512H-71.9z"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#za-a)" transform="translate(67.4) scale(.93748)">
+    <g fill-rule="evenodd" stroke-width="1pt">
+      <path d="M-71.9 407.8V104.4L154 256.1-72 407.8z"/>
+      <path fill="#00c" d="M82.2 512.1l253.6-170.6H696V512H82.2z"/>
+      <path fill="red" d="M66 0h630v170.8H335.7S69.3-1.7 66 0z"/>
+      <path fill="#fc0" d="M-71.9 64v40.4L154 256-72 407.8v40.3l284.5-192L-72 64z"/>
+      <path fill="#093" d="M-71.9 64V0h95l301.2 204h371.8v104.2H324.3L23 512h-94.9v-63.9l284.4-192L-71.8 64z"/>
+      <path fill="#fff" d="M23 0h59.2l253.6 170.7H696V204H324.3L23 .1zm0 512.1h59.2l253.6-170.6H696v-33.2H324.3L23 512z"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zh.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zh.svg
new file mode 100644
index 0000000..72080b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zh.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-cn" viewBox="0 0 640 480">
+  <defs>
+    <path id="a" fill="#ffde00" d="M-.6.8L0-1 .6.8-1-.3h2z"/>
+  </defs>
+  <path fill="#de2910" d="M0 0h640v480H0z"/>
+  <use width="30" height="20" transform="matrix(71.9991 0 0 72 120 120)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(6.5991 -23.0749 23.0746 6.59919 288 168)" xlink:href="#a"/>
+  <use width="30" height="20" transform="matrix(14.9991 -18.73557 18.73533 14.99929 240 216)" xlink:href="#a"/>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zm.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zm.svg
new file mode 100644
index 0000000..9e723c6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zm.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="flag-icon-css-zm" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="zm-a">
+      <path fill-opacity=".7" d="M-170.7 0H512v512h-682.7z"/>
+    </clipPath>
+  </defs>
+  <g fill-rule="evenodd" clip-path="url(#zm-a)" transform="translate(160) scale(.9375)">
+    <path fill="#198a00" d="M-256 0h768v512h-768z"/>
+    <path fill="#ef7d00" d="M421.9 184H512v328h-90.1z"/>
+    <path d="M331.9 183.8h90v328h-90z"/>
+    <path fill="#de2010" d="M240 184h91.9v328h-92z"/>
+    <g fill="#ef7d00" stroke="#000">
+      <path stroke-linejoin="round" d="M451.6 65.6s34-14.5 37.2-17.5c1.5 1.8-13.6 20-42.9 26.7 26.6-6.2 49.3-26 54-25.4 1.3.3 1 19.3-60 35.8 42.2-11 66.7-31.4 66.4-29.2.3.5-4.2 16-41.1 28.1 10.3-2.4 38.3-19.4 38-16.1.9 1.3-27 37.2-77.6 25.5 40.4 10.5 66.5-14.8 70.2-14.3.8.1-7.4 22-58.2 23.4 24.3-2.5 17.3-.1 17.3-.1s-14.3 11.2-31.7 3.6c13.6 3.7 15.1 3.9 15.4 5-.9 1.6-12 3.8-22.9-2 8.7 3.6 16.5 4.2 16.6 5.5-.1.4-5.6 3.6-10.6 1.3-4.9-2.2-50.3-30.1-50.3-30.1l77.4-21.3 2.8 1zm-91 75.6c-6.8 0-7 6-7 6s-.5.5-.2 3.4l1.7-2.6c.8.1 3.9 1 8.8-2.8-4.5 4.7-1.8 6.4-1.8 6.4s-1 3.7 2.4 4.4c-1-1.5-.4-2.8-.4-2.8s4.8-.5 4.5-6.3c.1 5.3 3 6.6 3 6.6s0 2.9 3.1 3.2c-1.6-1.5-1.3-3.8-1.3-3.8s4-3 .7-8c2-1.2 3.7-4.5 3.7-4.5s-2.8-1.2-4.1-2.2c-.6-1.3 0-8.5 0-8.5l-1.8-9.3-4.8 14.5c.2-2 .3 6.3-6.5 6.3z"/>
+      <path stroke-linejoin="round" d="M394.2 120.3c.2.1 5.1 5.6 9.9 5.3 1.8-1.5-3.7-4.7-3.7-5.5 2 1.8 10.1 8.8 15.4 6.3 2-3-3.8-2.5-10.2-10.6 4.5 3 15.7 9.5 21 7 2.1-2.4-11.7-9.9-16.4-15.7l-12-6.1-16.2 13.3 12.3 6z"/>
+      <path stroke-linecap="round" stroke-linejoin="round" d="M375.9 74.8s5.5-3.2 27.6-1.6c2.4.3 15-4.3 19.1-5.7 6.4-1.2 27-5.6 32.4-9.8 4-.5-1 7.1-6 9-5.2 2.3-24.1 8.9-30.9 8 8.1.1 3.6 6.7-9.8 3.6 6.4 3.6 4 4.2 4 4.2s-11.3.6-14.3-2c7.6 2.9 4.4 4 4.4 4s-7.7.7-11.3-1c5.5 1.7 2.7 2.7 2.7 2.7s-4.5.8-8.2-.6c-3.8-1.3-9.4-10.7-9.7-10.7z"/>
+      <path stroke-linejoin="round" d="M384.7 123.4l.8 14.6-.8 1.2c-.3.4-10.3-1.6-9 6 0 3.2 0 4 2.2 5.7-.5-2-.4-3.5-.4-3.5s2.9 1.7 5.6-3c-1.9 4.6-.6 6.3-.1 6.4.4.8-.8 4.5 3 4.4-1.5-1.4-.8-3.4-.8-3.4s4-.6 2.6-7.7c1.4-1.4 2 0 2 0s.4 4.2 3.9 3.3c1.5.9-.3 3.2-.3 3.2s2.5 0 3.3-2c.7-2.2 1.6-6-2.5-7.6-.5-1.5 1.6-1.6 1.6-1.6s2.6.9 3.4 2.2.5-3.4-2.8-4c-4 0-4.2-.9-4.2-1l-1-13.7-6.5.5z"/>
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M398.6 135.8c0-.7-6.8-9.9-5-11 1.7.3 4.5 4.5 6.9 3.1-.7-1.6-2.8-.7-5.1-4.9-2.4-4.8-2.7-11.9-11-19.6 5.4 8.2 17.4 13 18 10.6s-10.7-11.4-10.1-13.6c2.2 4.4 13.4 14.4 21.6 13.6.6-2-6.7-5.8-8.6-9.4-5.3-3.6-19.4-15.7-19.6-18.5a33.3 33.3 0 00-9.9-10.6 5 5 0 01-.8-1.7c-3.2-7.5 1-10 3.5-10.3 2-.3 2.6 0 4-.7l-5.1-2c2.3 1.7 8 .2 6.8 5 2.5-1 7.9-7.4-6.1-8.8-4.6-5.2-23.3-8.2-28 14.6.4.3.6.6 1.8 1.4-6-2.8-21.9-5-27.6-6-15.6-4.4-31.7-15.2-33.2-13.9-2 1 9.4 11.6 8.8 11.8a263 263 0 00-27.5-13.6c-6-2.2-11.9-7.4-12.5-6.4-2.2 4.5 9.5 15.9 11.7 17.2 2.2 1.3 19.3 9.3 19 9.4-25.8-11.7-30-13.9-31.4-15.2-2.3-.5-7.8-8-9.3-7.5-.9.8.8 12.6 13.1 18 2 1.4 26.4 10.1 26.2 10.8 0 .2-28-11.5-29-12-5.4-2-12-9.4-13.2-8.6-1.2.8 3 8.8 8.4 11.3 2.9 1.2 13.8 6.6 23.6 10 .6.3-17.7-6.9-26.5-10.5-4-2.2-5.8-5-6.4-4.4-1 .6 1.4 12.4 29.7 19 .7.4 10-2.1 9.5-1.8a113.3 113.3 0 01-15.8 2.8c-.3.8 1.8 5 16.4 4.2 1.8-.1 12-3.7 11.1-3a174 174 0 01-14.8 4.9c-.9 0-5.6.6-5.8 1-.2.8 3.5 3.8 11.3 4.2 7 .4 20.2-4.2 20-3.9-.4.3-12.8 4.6-13.1 4.8-.5.3-5 .5-5.2.9-.4.9 6.6 7.4 27.1.4-2 2.8-12 4.7-12 5.2 0 .4 2.2 2.5 5.7 3.3 1.7.4 4.1.3 6.3 0 4-.8 8-2.3 13.3-7.2.6 1.5-13.1 8.5-12.5 9.1 3 2.8 12.9-.3 13.5-.7.7-.3 19-10.7 19-12 .3 1.6-23.7 14.7-23.4 15.2 1.5 2.4 9.7-.1 10-.4l10.8-5.8c.3-.1-11.8 7-10.8 8.2-.5 4.7 19-3.2 20.5-4.2.7-.5-9.4 4.4-9.4 6.7 3.3 5.5 13.7 3.8 15.3 2.6.8-.6-1 4-.4 3.6a16 16 0 003-4.3c-.2 1.6-1.4 4-2 6.8-.7 2.7-.9 5.9-1.8 9.2-.2 1.4 6.4-2.9 5.4-13.2.6 5.4-2 15.4-1.3 16 1.3 1 5.2-5 5.6-9.1 1.1 2 3.5 6.3 5.6 7.3-.2-3.1 0-3-1-6 .6-4.1.7-9.7.8-16.1 5.6 10.7 7.9 15.3 6.3 23.5 1.7.7 4.3-5.8 4.1-9a13.3 13.3 0 0011.5 10.2z"/>
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M305.4 67.7s-3.9 2.9-8.6 2.7c1.2 4.8 11 1.1 11 1.1s-4.7 5.3-8.1 6.1c2 1.7 10.6 1.1 12 .3 1.4-.9 4-4.2 4-4.2s-8.8 10.2-10 10.1c-.3 1.2 9.1.8 11-1 2-1.8 7-4.4 7-4.4s-13 9-13.5 9c4.8 1.2 14.5-1.6 20.7-5.4-9.2 6.1-10 7.2-14.7 9.3 4.2.9 6.3 3.7 20.3-2.4 8-3.8 12.6-10.8 12.6-10.8a81.7 81.7 0 01-21.6 18c-.5 1 9.4 5.2 21.9-7.9"/>
+      <path stroke-linecap="round" stroke-width="1.1" d="M373.4 96s.9 4 4.3 7 3.6 6 3.6 6m-9.5-39s1.1 3.7 4.6 6c3.6 2.2 9 9.4 9.3 10.7.4 1.5 2.5 12.6 2.3 13.8m-37.8-25c.2 1.5-5 8.3 2.2 16.4-6.6 8-6.6 9-6.6 9s3.7 2 10.2-3.6c10.8 13.2 7.2 19.2 7.2 19.2"/>
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M362.3 107.2s-1-1.4.8-6.7c1.6 2 3.4 2.3 4.1 3 .8.9 9 2 9.4 7.5"/>
+      <path stroke-width="1.1" d="M371.9 57.5c0-.4-1.7-4-7.8.4 3.3.2 6.5 2.1 7.8-.4z"/>
+      <path stroke-linejoin="round" stroke-width="1.1" d="M430.1 73.5c.3.2 18.2 4 24.2 2.1-7.6 10.2-22.9 3.3-22.9 3.3 7.5 2.2 7.8 2 10.2 4.2.8 2-13.8 1-18.5-1.7 13.3 4.2 13.6 4 14 5.5.6 2.3-21.8-.6-23.7-3.5 6 4.6 9.2 5.5 12.5 7.6-4 1.8-11.5 3.6-25.2-6.1 18 16.4 34.3 15.4 36.9 18.3-6.3 9.3-30.7-5.5-41.9-13s24.5 18.1 27.8 17.7c-1.6 2.5-13.4.3-14.2-1"/>
+      <path stroke-linecap="round" stroke-width="1.1" d="M434.7 90.7c-2 .3-8.3.3-9.2.1"/>
+      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M300.1 65s13.6 7.2 19.4 6.7a10 10 0 01-3.8 2c1.4.6 5.4 2.7 11.4 1.4l-3.3 3s5.2 2 11-1a46.4 46.4 0 00-2.8 3.7l4.1.3"/>
+    </g>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zw.svg b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zw.svg
new file mode 100644
index 0000000..1b18e84
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/flags/4x3/zw.svg
@@ -0,0 +1,21 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icon-css-zw" viewBox="0 0 640 480">
+  <defs>
+    <clipPath id="zw-a">
+      <rect width="546" height="420.1" x="1.9" y=".1" fill="#00f" fill-rule="evenodd" ry="0"/>
+    </clipPath>
+  </defs>
+  <g clip-path="url(#zw-a)" transform="matrix(1.1722 0 0 1.1426 -2.3 -.1)">
+    <path fill="#006400" d="M0 0h840v420H0z"/>
+    <path fill="#ffd200" d="M0 60h840v300H0z"/>
+    <path fill="#d40000" d="M0 120h840v180H0z"/>
+    <path d="M0 180h840v60H0z"/>
+    <path stroke="#000" stroke-width="20" d="M0 0v420l280-210z"/>
+    <path fill="#fff" d="M0 0v420l280-210z"/>
+    <path fill="#d40000" d="M106.5 104.4L162 275.1 16.8 169.6h179.5L51 275.1z"/>
+    <path fill="#fc0" d="M82.8 253.7l9.8-1.8 18.1-.7 6.7.6 15 2.5 1.1-1.5V242l1.8-9.3 3-9.4 3.3-7.5 4.2-7.8 6.8 1.7h1.8l.2-1.3-14.4-12.3-15-11.5-21.7-16.2-2-.5-2.3-17-1.7-5.1-2.3-2-4.3-1.4-4.8.2-2.2 1.2-4.6 1-2.4.4-1.6 1.9-.2 2.4 6.7.2 1.7.7-.2.7-3.8.5-1.8.6 2.1 1.6 2.2.8 2.8 1 .6 2 .2 25.8-1.5 4-.5 7.5 2.2 9-5.6 6.4L77 216l-.6 3.5-1.7 3.5-.2 2.2 1.1 2.4 4.3 14.2 2.2 11.7z"/>
+    <path d="M88 142c-1.8 0-2.6.2-4.3 1.1a10.8 10.8 0 01-4.6 1.4c-2.5 0-4.5 1.8-4.5 4.1v1.5l3.6-.1c10.6.3 1 1.3.2 1.4-2.6.5.6 2.6 3.7 3.7 3.3 1 3.1.4 3.1 15 0 11.9 0 13.6-1 16.3-1.3 4-1.3 10 0 14 .6 1.6 1 3 1 3.3 0 .2-1.6 2.1-3.5 4.3-3.5 4-5.6 8.1-5.6 11a6 6 0 01-1 2.6c-1.3 1.7-1.3 4.6-.1 5.7 1.3 1.2 6.6 21.8 6.7 25.7 0 1.4.2 1.4 8.3-.2 6.6-1.3 22.1-1.6 30-.6 3.6.5 7.8 1.3 9.3 1.6 4.8 1.3 4.6 1.5 4.6-4.3a74 74 0 015.1-26.7 94.7 94.7 0 016.9-14s1.8.2 4 .8c4.1 1 5.3.9 5.3-1 0-1-4.3-4.6-25.4-21a432.2 432.2 0 00-26.3-19.9c-.6 0-1.2-.3-1.3-.7l-1.5-9.5c-.7-4.9-1.7-9.7-2.1-10.7-1.4-3-4.1-4.5-8.6-4.8a31.2 31.2 0 00-2 0zm.1 1h2c6.6.4 7.8 2.2 9.6 14a173 173 0 011.2 9.4c0 .8-.9 1.8-3.2 3.3a46.8 46.8 0 00-10 9.5l-1.3 1.8-.3-4.2V165c.3-8.7 0-9.5-2.8-10.5-2.3-.8-5.3-1.6-4.5-2.1 1-.6 2-.2 4.4-.9 1-.2.9-.1.7-.9-.2-1.3-1.6-2-5.3-1.8-3 .2-3.3.1-3.1-.7.4-1.6 2-2.6 4.5-2.9a13.4 13.4 0 004.4-1.3 7 7 0 013.7-1zm14.9 25.8h.4c1.7.3 50.8 38.7 50.8 39.8 0 .4-.4.7-1 .7-.4 0-12.9-3.5-27.7-7.8-23.6-7-27-8-28-9.3a5.1 5.1 0 01-.1-6.2 5 5 0 001-2c0-1.2-2.5 1.8-3 3.5-.5 2 .5 5.4 2 6.5.6.5 5.1 2 10 3.5 8.4 2.4 9 2.7 9.4 4.1 1 3.3-2.5 7.2-7.5 8.3a14.6 14.6 0 00-5.2 2.4 68.2 68.2 0 01-17.2 10.4c-.4.3-.9 1.9-1.2 3.4-.6 3.3-.8 3.8-1.8 3.8-.5 0-.6-.3-.2-1.4.7-2 .6-4.4-.1-4.4-.5 0-.7.7-.7 1.8 0 1-.3 2.2-.7 2.5-.5.6-.6.2-.4-2.3.2-1.7.1-3-.1-3-.5 0-1.4 2.5-1.7 4.7-.2 1.3-.2 1.3-.6-.3-.3-1.2-.2-2 .7-3.5a9 9 0 001-3.5c0-1.3 1-2.6 5.7-7.3 3-3.1 6.7-7 8-8.7 2.3-2.8 2.4-3 2.3-5.9 0-1.6-.2-3.1-.4-3.3-.6-.6-1.4 2.6-1 4.3.2 1.6 0 2.1-3.3 6a113.2 113.2 0 01-7.5 7.8c-3.9 3.6-5.3 5.6-5.3 7.4 0 .6-.4 2-1 3.3s-.8 2.6-.6 2.9c.2.3 0 .3-.3 0-.5-.5-.5-1.3-.1-3a7 7 0 00.2-2.6c-.5-1-1.2.2-1.5 2.7-.2 1.4-.5 2.5-.8 2.3-.7-.4-.5-3 .4-4.4.5-.7 1-2.3 1.3-3.6.7-3.7 2.3-6.7 5.8-10.7a57.5 57.5 0 003.2-3.8l-1-3.3a25 25 0 01-.2-13.7c1.3-3.8 3.9-7.6 8-11.7 4-3.9 7.9-6.3 10-6.4zm15 32.2a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.5.3a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.6.5a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.4.5a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm-6.3.6a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.4.4a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm5.2.2a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm-2.7 0a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm5 .6c.1 0 3.7.8 8 2l7.9 2.3-1.5 2.7a96.2 96.2 0 00-2.4 4.4c-1 2-1.2 2-6 .9-5.2-1.2-13.4-2.3-21.8-3l-8-.7 3-1.1a50.4 50.4 0 005.3-2.4c2-1.1 2.8-1.3 5.9-1 4.5.3 7.5-.6 8.7-2.4l1-1.7zm-8.8.6a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm5.6 0a.9.6 0 011 .6.9.6 0 01-1.6 0 .9.6 0 01.7-.6zm-8 0a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.5zm5.3.2a.9.6 0 011 .5.9.6 0 01-1.7 0 .9.6 0 01.7-.5zm-6.6 1.1a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.5 0a.9.6 0 011 .7.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm2.6.2a.9.6 0 011 .5.9.6 0 01-1.7 0 .9.6 0 01.7-.5zm2.8 0a.9.6 0 011 .6.9.6 0 01-1.7 0 .9.6 0 01.7-.6zm-20.3 8.1a191.2 191.2 0 0135.1 4.2c.1.1-.6 2.5-1.7 5.4l-2 6c-.1.5-.8.5-2.5.3-8.3-1.3-32.3-1.2-41.5.2-5.3.8-6 .7-5.6-.4l1-3.5.6-2.7L93 221a63.4 63.4 0 0010.2-6.5h.9zm-27 14.2c.3 0 .9.3 1.6.8 1 .6 2.2 1.1 2.7 1.1 2.6 0 4 3.7 6.2 16l.8 4.4c.2 1 0 1.2-2.3 1.7-2.8.6-3.5.7-3.5.3 0-1-2.8-13.7-4-18.2a96.9 96.9 0 01-1.6-6 .1.1 0 01.1 0zm28.6 2h2.9l-1 1c-1.7 2-2.5 2.1-3.7.8a5 5 0 01-1-1.5c0-.2 1.3-.4 2.8-.4zm6.1 0h5.4l-1.2 1.2c-1.4 1.6-1.5 1.6-3 0l-1.2-1.3zm8.2 0h1.3c.7 0 2 0 2.8.2l1.5.3-1.4 1.3c-.8.7-1.5 1.3-1.6 1.2l-1.4-1.6-1.2-1.5zm8.5.3l1.2.3c.7.2 2.2.3 3.3.4h2l-1.5 1.3a8.9 8.9 0 01-1.8 1.3c-.1 0-1-.8-1.7-1.7l-1.5-1.6zm-30.2.1h.2c.1.2-.3 1-1 1.7l-1 1.4-1.5-1.2-1.5-1.3 2.4-.3 2.4-.3zm2.3.2l1.6 1.4 1.6 1.5-3 .2-3 .1 1.4-1.5 1.4-1.7zm18 0c.3 0 .5.1.8.3a6.6 6.6 0 011.3 1.7c.4.8.3 1-1 1l-2.5-.5-1.2-.3 1.3-1.3c.6-.6 1-1 1.4-1zm-8.3 0c.5 0 1 .3 1.6 1.3.7 1.1.7 1.1-2 1.1h-2.7l1.4-1.3c.7-.7 1.3-1 1.7-1zm17 .2l1.2 1.2c1.4 1.3 1.6 2.1.6 2l-2.8-.3-2.2-.2 1.6-1.3 1.6-1.4zm-35.2.7c.2 0 1 .5 1.6 1.2l1.2 1.3-2.5.4-3.5.5c-.7.2-.5-.3 1-1.6 1-1 2-1.8 2.2-1.8zm-3.7 0h.4c.8.2.8.4-.6 1.8l-1.5 1.5-.5-1.3c-.4-1-.3-1.3.6-1.7a4.8 4.8 0 011.6-.3zm46 1.8c.2 0 .2.2 0 .6-.2.8-1.1 1-1.1.2 0-.2.3-.5.7-.7h.3zm-21.4 1.6c7.7 0 15.5.2 17.4.4 3.1.4 3.4.5 3.4 1.7 0 1.4-.4 1.5-4.6.8-1.2-.3-6.3-.7-11.2-1.1a149.6 149.6 0 00-28.5 1c-1.9.2-2.4 0-2.4-.6 0-1.3 10.2-2.2 25.9-2.2zm-10.3 2.9h5.4l-1.2 1.3c-1.5 1.6-1.6 1.6-3 0l-1.2-1.3zm7 0l1.4 1.4 1.4 1.6-2.9.1h-2.9l1.5-1.6 1.4-1.5zm2.1 0h5.4l-1.2 1.3c-1.4 1.6-1.5 1.6-3 0l-1.2-1.3zm-12.8 0c.2 0 0 .5-.7 1.5-.7.9-1.4 1.6-1.5 1.6-.2 0-.9-.6-1.5-1.3l-1.2-1.3H96a9 9 0 002.7-.4 1 1 0 01.4 0zm2 .5l1.3 1.2 1.5 1.3-2.6.2-2.9.2 1.4-1.5 1.3-1.4zm17.4 0l1.4 1.6c1.6 1.7 1.5 1.8-2.1 1.1l-1.7-.3 1.2-1.2 1.2-1.2zm2 0h2.4c2.6 0 2.9.4 1.4 1.8-1.2 1-1.2 1-2.6-.5l-1.2-1.3zm-30.6.5c1.2 0 1.1.1-.4 1.6-1.1 1.1-1.2 1.1-1.6.3-.3-1 .6-1.8 2-1.9zm38.8.2c.4 0 1.2 0 2 .2l2.3.4-1.3 1.2-1.2 1.2-1.1-1.4-1-1.6h.3zm-36 .5c.3 0 .6.2 1.1.7 1 1 1 1 .2 1.4a8 8 0 01-2.4.4H90l1.3-1.4c.7-.7 1-1 1.3-1.1zm34.1.3c.4 0 .7.2 1.2 1l.9 1.2h-2.1c-1.4 0-2-.2-2-.6.2-.4.7-1 1.3-1.3l.7-.3zm6.4 1.3c.2 0 .2.2.2.5 0 1-.9 1.7-1.3 1-.1-.3.1-.8.5-1.1l.6-.4zm-25.9 1.2c8.7 0 18.3.6 24 1.6l1.6.3v4.4c0 3.3-.2 4.4-.7 4.4l-5-1a126 126 0 00-35-1l-2.3.3-.6-3.7a21 21 0 01-.4-3.8s2.3-.5 5-.8c3.3-.5 8.2-.7 13.4-.7z"/>
+    <path id="b" d="M124.8 217.8c-3 0-5.1 2.1-5.1 5.2 0 4.8 5.4 7.2 8.6 3.8s1-9-3.5-9zm0 1.2a4 4 0 014 4c0 3-3.3 5-6 3.7-2.7-1.5-2.5-6.1.4-7.3a4.3 4.3 0 011.5-.4z"/>
+    <use width="100%" height="100%" x="-20.1" y="-.6" xlink:href="#b"/>
+    <path d="M88 145.3a1.7 1.8 0 00-1.6 1.7 1.7 1.8 0 103.5 0 1.7 1.8 0 00-1.9-1.7zm.1.6a1.2 1.1 0 011.2 1.1 1.2 1.1 0 11-2.4 0 1.2 1.1 0 011.2-1.1z"/>
+  </g>
+</svg>
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/admin.css b/mailcow/src/mailcow-dockerized/data/web/css/site/admin.css
index 37395a2..bff4f20 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/admin.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/admin.css
@@ -1,7 +1,3 @@
-table.footable>tbody>tr.footable-empty>td {
-  font-size:15px !important;
-  font-style:italic;
-}
 .pagination a {
   text-decoration: none !important;
 }
@@ -75,7 +71,7 @@
 }
 .regex-input {
   font-family: Consolas,monaco,monospace;
-  font-size: 14px;
+  font-size: 1rem;
 }
 .label-keys {
   font-size:100%;
@@ -85,4 +81,7 @@
 .key-action {
   font-weight:bold;
   color:white !important;
+}
+.dkim-label {
+  margin: 0 0 8px !important;
 }
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/debug.css b/mailcow/src/mailcow-dockerized/data/web/css/site/debug.css
index 2209462..39c3a86 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/debug.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/debug.css
@@ -1,7 +1,3 @@
-table.footable>tbody>tr.footable-empty>td {
-  font-size:15px !important;
-  font-style:italic;
-}
 .pagination a {
   text-decoration: none !important;
 }
@@ -38,10 +34,4 @@
 .table-lines {
   vertical-align: inherit;
 }
-tbody {
-  font-size:14px;
-}
-.status-indicator {
-  width: 15px;
-  height: 15px;
-}
+
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/edit.css b/mailcow/src/mailcow-dockerized/data/web/css/site/edit.css
index ac3a430..e8fb819 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/edit.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/edit.css
@@ -1,7 +1,3 @@
-table.footable>tbody>tr.footable-empty>td {
-  font-size:15px !important;
-  font-style:italic;
-}
 .pagination a {
   text-decoration: none !important;
 }
@@ -40,4 +36,8 @@
   -moz-transform:rotateX(180deg);
   -webkit-transform:rotateX(180deg);
   transform:rotateX(180deg);
-}
\ No newline at end of file
+}
+#sender_acl_disabled {
+  display:none;
+  margin-top:10px;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/index.css b/mailcow/src/mailcow-dockerized/data/web/css/site/index.css
index 10f7c0d..41438a8 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/index.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/index.css
@@ -2,4 +2,7 @@
   #top {
     padding-top: 15px !important;
   }
-}
\ No newline at end of file
+}
+.ui-announcement-alert {
+  margin: 10px 0px 10px 0px;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css b/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css
index 8b5bad6..4822a6f 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css
@@ -1,7 +1,3 @@
-table.footable>tbody>tr.footable-empty>td {
-  font-size:15px !important;
-  font-style:italic;
-}
 .pagination a {
   text-decoration: none !important;
 }
@@ -26,6 +22,11 @@
 }
 @media (min-width: 992px) {
   .container {
+      width: 100%;
+  }
+}
+@media (min-width: 1920px) {
+  .container {
       width: 80%;
   }
 }
@@ -57,8 +58,13 @@
 table tbody tr td input[type="checkbox"] {
   cursor: pointer;
 }
+.label-last-login .bi {
+  font-size: 8pt !important;
+}
 .label-last-login {
-  line-height: 2.5;
+  line-height: 2.2;
   color: #4a4a4a!important;
+  padding: .2em .4em .3em !important;
   background-color: #ececec!important;
 }
+
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css b/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css
index 7a12749..3634696 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css
@@ -1,8 +1,3 @@
-table.footable>tbody>tr.footable-empty>td {
-  font-size: 15px !important;
-  font-style: italic;
-}
-
 .pagination a {
   text-decoration: none !important;
 }
@@ -29,13 +24,18 @@
 
 @media (min-width: 992px) {
   .container {
-    width: 80%;
+    width: 100%;
+  }
+}
+@media (min-width: 1920px) {
+  .container {
+      width: 80%;
   }
 }
 
 .mass-actions-quarantine {
   user-select: none;
-  padding: 10px 0 10px 10px;
+  padding: 10px;
 }
 
 .inputMissingAttr {
@@ -100,3 +100,4 @@
   font-size:110%;
   margin:20px;
 }
+
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/user.css b/mailcow/src/mailcow-dockerized/data/web/css/site/user.css
index 965562c..0ec07b7 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/user.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/user.css
@@ -1,7 +1,3 @@
-table.footable>tbody>tr.footable-empty>td {
-  font-size:15px !important;
-  font-style:italic;
-}
 .pagination a {
   text-decoration: none !important;
 }
@@ -47,17 +43,6 @@
 table tbody tr td input[type="checkbox"] {
   cursor: pointer;
 }
-.rotate {
-  -moz-transition: all 0.3s linear;
-  -webkit-transition: all 0.3s linear;
-  transition: all 0.3s linear;
-}
-.rotate.animation {
-  -ms-transform:rotateX(180deg);
-  -moz-transform:rotateX(180deg);
-  -webkit-transform:rotateX(180deg);
-  transform:rotateX(180deg);
-}
 .label-keys {
   font-size:100%;
   margin: 0px !important;
@@ -66,4 +51,79 @@
 .key-action {
   font-weight:bold;
   color:white !important;
-}
\ No newline at end of file
+}
+svg {
+  display: inline-block;
+  vertical-align: middle;
+}
+.c-1-color, .label-ham {
+  background: #28b62c;
+  background: -webkit-linear-gradient(to right, #28b62c, #fff233);
+  background: linear-gradient(to right, #28b62c, #fff233);
+  color: #000;
+}
+.c-2-color, .label-spam {
+  background: #fff233;
+  background: -webkit-linear-gradient(to right, #fff233, #ff4136);
+  background: linear-gradient(to right, #fff233, #ff4136);
+  color: #000;
+}
+.c-3-color, .label-reject{
+  background: #ff4136;
+  color: #fff;
+}
+#spam_score {
+  margin-bottom: 10px;
+}
+.noUi-handle {
+  border: 1px solid #e2e2e2;
+  border-radius: 0px;
+  background: #eee;
+  cursor: default;
+  box-shadow: none;
+  border-top-width: 0px;
+  border-right-width: 1px;
+  border-bottom-width: 4px;
+  border-left-width: 1px;
+}
+.noUi-handle:hover {
+  background-color: #eee;
+  border-color: #e2e2e2;
+  margin-top: 1px;
+border-bottom-width: 3px;
+}
+.noUi-handle::after, .noUi-handle::before {
+  background: #c6c6c6;
+  width: 2px;
+}
+.noUi-target {
+  background: transparent;
+  border-radius: 0px;
+  border: 1px solid #D3D3D3;
+  box-shadow: none;
+}
+.noUi-connects {
+  border-radius: 0px;
+}
+.label-ham,
+.label-spam,
+.label-reject {
+  padding: .1em .5em .1em;
+  font-size: inherit;
+  font-weight: 400;
+}
+.clear-last-logins {
+  cursor: pointer;
+  font-size:90%;
+  font-style: italic;
+  color: #158cba;
+  user-select:none;
+}
+.ip-location-flag {
+  border-radius: 4px;
+  top: 3px;
+}
+.recent-login-success {
+  margin-top:2px;
+  margin-right:10px;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/debug.php b/mailcow/src/mailcow-dockerized/data/web/debug.php
index 6390be7..f8ad527 100644
--- a/mailcow/src/mailcow-dockerized/data/web/debug.php
+++ b/mailcow/src/mailcow-dockerized/data/web/debug.php
@@ -28,6 +28,7 @@
         <li role="presentation"><a href="#tab-rspamd-history" aria-controls="tab-rspamd-history" role="tab" data-toggle="tab">Rspamd</a></li>
         <li role="presentation"><span class="dropdown-desc"><?=$lang['debug']['static_logs'];?></span></li>
         <li role="presentation"><a href="#tab-ui" aria-controls="tab-ui" role="tab" data-toggle="tab">mailcow UI</a></li>
+        <li role="presentation"><a href="#tab-sasl" aria-controls="tab-sasl" role="tab" data-toggle="tab">SASL</a></li>
       </ul>
     </li>
   </ul>
@@ -48,7 +49,7 @@
             <div class="panel-body">
               <div class="row">
                 <div class="col-sm-3">
-                  <p>/var/vmail on <?=$vmail_df[0];?></p>
+                  <p><i class="bi bi-hdd-fill"></i> <?=$vmail_df[0];?></p>
                   <p><?=$vmail_df[2];?> / <?=$vmail_df[1];?> (<?=$vmail_df[4];?>)</p>
                 </div>
                 <div class="col-sm-9">
@@ -66,7 +67,7 @@
             <div class="panel-body">
               <div class="row">
                 <div class="col-sm-3">
-                  <p><img class="img-responsive" alt="Solr Logo" width="128px" src=" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABlCAYAAAAI2qyuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAXEUAAFxFAbktYiwAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjEuNWRHWFIAABv7SURBVHhe7V0JuBxVlX4JMy6jM4qOC4rp6qWq+jW+ruoXkIjoS1d3EhYXRvNkFHFBYECUAXGAASEOyiLIrigOEpDoACIqwogLiwMSkIghYF4viSFhiUGWCAQIyXuZ/9w+3V3VdXtfee/+33e+16/uqXtv1T2n7j33nnvukIJCP7BjbOzvsgt0O5cyjsymzG9mU8YvcylzIucYT2Ydczt+7xDkGFuR/hf8XplxzHG6d20qauSSkfCSJUOzRWYKCtMBE3uZ/5hxjE9A4K+FEmwuKUFj9Nd1Y9brdwwNzco6xr10DXk8DAX77kTaXEQKx8UoKLz8AGE+D73BcxVC3zBl09HPUz6ZpOHI0kEboXhnrU3H5ogCFRQGHSvmzv17+stf/ZaVA71EppgXFO0Xcp4CYai2LZeKLs2m9BDxKygMHEg4Mynz+kzK2IP+X52KvlEmzI1SPml+kPLB8CyOXmJKxuMnYyvoG7l9Iv9E9yoo9B3Xjg/thC/8cegtnsffFyGcr6TrBWNcJsQNkGPeIjIHkO8yKU9teiSXiryfs1BQ6A8eWhTdBV/3W4qCid/3c9IQ9QAugW2YoGSTeSc6Snn8KTkcKAyf5Ly1iHudi9eNBV4lKqSg0Evk0tF5EN7HPILpmN/l5CEMdY71pDVKjnkFZ0HDqwulPE1QJmneM5E238ZZKih0H3ln+AB8oV/wC6TxOWYhBfmGP702offYknX0t9P9Dy6MvaE9I99Fjrk+50RiomIKCt0EBO7jENzyop6LVqNXYTbiu6YyvR5NpMz/4tuH8PvLMp6WyTFO5awVFLoDfIkXQ9CkygHatuL9c/+BWYfQwyyX8FQlKN1jGxfEX0P3blg879XoTTbJ+JolskUySeNEUae0PkxEvxUUOgoMfd4rZqkkQkgEAV/FrALgfVzGV41gb3yWbx3KYKgm42mWqKfLpqKHU54Fg9/cgHqtp8kFUZCCQidAK9UQrpoCD2H8HrMPUU9SbRhWhVZeOz6+E927A39h/K+R8DRHjrGVejzKM7dP5E3IM1NMQ92WF6ejFRTawoPjsVdA0O72CJ+E0AMcxbcMkVOhjEdGYgiUNlJ861DeMcdlfM2R8SyM8gWUHy0aQllWSPguFgUqKLSDfMrYRyJcPppImnvxLSTkSRmPlBzjRr5NAMr4eylfo+QYT2A4+C7Ki9ZAsk70NhmfUEw8myhUQaFV0PBKJmBuwvDlpXVjY6UFOVw7pJKnCm3LObHS9Cv1JBKeZuiRfHJ4N8qLPH2hbD+V8JTJMdY/OBZ7rShcQaEV7FgyNBtj9iekAsaE9AeYXSDjRJfI+CoJBvO3+BYBKNrNMr5GCHXIToyZGuVDjpIZx7xCxucjxzhbFK6g0CogSP/rEywXQThLBjoBw5fLZHxugnJsJuOZbxnKLtQtGvbIeOsRyr9vrfPOt1A+pBzoOc6V8ckIivRiUbEUFFoCBPcsmXAVKTvfPJpZBSCgv5bxecgxjmd2gXzKvErKV4egHLevTYdex9lQXZteYMykyi4yCgp1UXT3KAJC9JFKoXJTZoHxHmYVgPBnZXxFwlDqIbcTYatOidmkccNd83Z9NWczlEubR0BBpLy1iNZ31NqIQsOgIRL/FPgzBFgmWET4gm9fySvgBLFRSuqnVSYo4L8yuwAUqmmnxIxjXFncUEWgPFHupIy3EZpwzNM4KwWF6kBvEKRZqdtc+70L43q5oQ6h/BOzCZAtIOMrEgR7OeXH7IWNVU06JaJ+F7jzyM83F1GdZbyNEnqRh4uLlQoKVTGRLIzhK/d5QwApAolfuBzzSmYRoB2FUj4QlGkqM987HAP/KTJeGdH9EOST+VaBNRjeNatg1YjWbzhbBQU5MGQS0UMyaWNvviQAwTyzUqCIILReA72GvQJl+BGzCWyA/YB8G3JKLAyfyu70hDUpcwQK+pSMvxWinomzVlDwY82C0JsLgigE5iC+LABBXOwWpiKREyOzCOTmG8fL+cwXK4MqgLdBp0Rjaz41fCDfJiDcWRzjUTl/a4Q65jl7BQU/3EpQdBEvYt0iU3MLExG+uNsedbm4E6oZ3Og9zmEWAbJxoIx1nRIhtFvI3YVvE1i9KLpLxjHXyvjbIRrCqdkshapAb1BaYIOCeJz5eEX9abdAQaFWc3IJuH69h6dAIgAcswhAYQ6U8HkICviU28eLsGr/kZ0hyPfL+Nsmx9iu7BCFqoDg/colMDfx5RIgQN4FwLTXQCdgOOTznEW+HjuFAOWq45RoPDYBG4PZBWg6GUp6l5y/daLVdDzbpVBGk4tSUPAjk6RwOQWhwdf7Qb5cAoTobLdg5dLGMZwkUFgDqexlygHgiqgRKVEQ8siTjcHsAsLtPlnb5aVZwvANBr5x+rqx2Fu5mKHMmPHP/FNBoYyCa3h5oQ2/N7vXGgj5tPFRj4Alh9/HSQIUh9edhyDH/AAnl4BeoJZT4v3r9isLLKEwvDOvlvC2RJmU+TCGeF/c5PLkLYQwMi6nHoovKSiUwTv5HigKEQRyigSekwUecG2EQvp2t4ARMguNaDFd8KSMWyuVjALKkTHs5ivxO+Ydq/Ye2ZlZBUSv5JiXyPibJsdYlU1FP7XD1aPRPviC97HxLPFAQR7iJAUFL/BV9WyOyiZ1i5ME+EsuIrRDkLJ8uYTcgujC0r2pcgA4N6A0PyjyeMgxbnIHfSgCw7ivSvmbINTldjzLfm5lpWeBjXMInsMzVYz/NzOLgoIfEJDS8CefDIv4uG5gyPQbTv8hXyoBaUcU7804RikAXBHVnBJJacjGYLYSYKu0FnwOhOfYDrpudTpSCkVURGa+kULafbL7yGBnNgUFPwqr04WACxh6lPaZF4Gv8ddFGsbwfKkECPTXhKA5xnOVHsEEKMIFRUEsEuyBi+lrziwl4Iv/yWpDsVqEe15AOd9ekx7WOasSKOQP6nYjeKT3EikFeZkgEom8skixmP/r2k3Q/ggWljP4UgklQz0dHeNLJaAHuZLSMAzzecZWOiWSkIJKgeLcgPJ9CDxNub+jR3gyl4qevsoJio1TbhSimujfRHl184RyPcu3KQwq5u0679VG0NpWJF2z/8JJPYHwyHWMZyDwV/OlEvILYxHqYSoNeAKE9DbQY7J93rjn1LIQmpMQ2C9wkgf5VHg+0mu6y7sJ5a3HcO4YWZk0M4e0E4p2UyOEsh/m29vB+E6RyGjYDCY+YASsYwzN+oYRtJfi73X4eyPoZ3rQvhZ/L0cDnwOeY00t8UG6Z2hoiTpjrg4KCmLvKBIU5AlO6hkgVCeDlvO/JYjZLsdYwf96AIVam0uah/C/JRQiJRocV8t4CcryCU7yYCIZnYsy/1YptDJCfqvy6eGDZcew0TmGtFIPnnWye2tRNmn+gbNpDqY2YhqB+IkQ/JuhCJvdDdgMobGfMjT7el2zDo9G93gjZ6/gwiAoCPlY5R3DpyAECHgpCmIRPMP1e5k9AWE9UggfnSEyX9+fL3uQGTOiULCanr34uk9hCHQreoV9K6ePiyAvZFJs2f0N0vWcVX0EAmOvigTjn4Uwr3A3WKcIDb8VtAzkmU6c6RgEBSFMpMyDZLNLlQ6KBDLKi8Ha3Cg6JUJoN1d6/hbxwMLd3gHlWS8RVkFI2w7F+NFaPr1KBvIURjnXgqR5NEpQ5tM5y+oYw0OZocQR+NI/4m6oLtIkhOCqUCj+Zq7CjMagKAgNVXYc7nUTqYZqoTzFUCdl/qVyTaWI3N6RN6HnWC0TVtHjpMxLyO5hdh/W7z2yM5TvXFDVuMHNUDYZ/RhnLcdw2NpND1p/cDdQJWGYtR22xWr8vUYPJk6LBOJHmEF7cVSzFpphK4nr6TBsDj1gfRrDsRNwz6XohX6HfLdU5uUhzd5EeXBVZiwGRUHahVgFx5c/vzAsFXAy9KEcPqdFKMaTGMZ9dc2C6h9MWg0nQx+8NWN2NUu05ZiL8ANCPg7BlwoxhP5p/P0uGeaRyLtaOiSRpiuFAmn2+aQMlWUI0mjmxj6Ub5mRmC4KQj5VsvUQgvD9gj3hFk78/xB6jKNrRTskpYMNcgAUo2bklFYo45gbqtk2QwZsDTTGlLthBIlhlnXU3F384852QMoiytSsh31loh5kxDPrjMN0UZBqoJkwCGRp3wiU4n6yd9yBImQQs1wp8/bifR0nx7yUi/IirI18sDBscgupNUlTtPF4OaRLNxB/S/w1EIBzC+V5hGJ7JBj3eYLOBExnBSnMdhnfg6BTAIZbaLdg1a82Iw8jHsL7ffC3HNanESJ/LS6yDGNOPOiftrWep3ULZukJxJpK0H7OXQ8IxjM0vcwsMwbTWUHyKf0sCPo1E2Pm7nypKoSNkjK+Rsa6TKA7SajT47IZu1lQjl9VNMbWfhnKEc0eI+V01wdDvPt67WrRb0xXBaHTZnPJ3TwboWSgoVY+qR8GxdgoE+ZuEG035uLLMEKJlLshiCCk/87JfYEZtD/uqZNm5aPh0bmcPCMw3W2QWshgyAXFKO1L6RTxkG4T8qYtwT/OOcY55KKC3x9ZkzZ3l7nawzC3r/c2hEW7qfruCoJeYyno50bI3hf/zjjXlJmoIGsWRN8JO+MXbqFujjAMc8y1UIDb8HspeoTToACH0h4V2sjljgXcEDBseS2E8EV3Q0QGZw2iptE23TGTFOTBsdhbs0nzvyHYVc80LHz9yVvXXJlNGTeA//y8ox8HA//A1anou8m5kmbGOMumUHWCgBbz3I0AZSEvxhktmIOCmaAghYM+zZMg+M9guLMVtB49wB15x1iWSRtnkP8WzSpRz1I8HrpdkBLRPpGsE6VA17Sv5TcoV36ADnoLWuEuK0jQvpyTFPqMmaAgFPCBfLNoIXFFg+4szYCUgcL4YJj1CSjiebQoib+VnsJ/rRrFBC/+Ik8jBOPHcZJCnzGTjfRWQLNeHDDioGxKPx/KcHsxCEMtQg9V3e/KCFpXeBohYNd20poBGMdXJxqMG7QGZGr20REtfooesL5Cbv6RgPUZXUu8zzDmdj1uklKQ6qAYW3TwJ3qDT2N4dCGGSndimNZ0dHcM4f6Hs5QDNscyTyMEEh/mpBkFWsk3g9ZBeB8/9i+YSmkK9tsEhPZcnn7uuN3WDQWJBO3FyOvuIpG3NifVw6xhLRGIzME7ClrnmIWNcLdRHnrQuh3pXZtlJGWg6IprUvqncmnjIgj2negdOrFouJrOT+di5MADXgoqN7yWOJiTZgTItR7PfTaInDDL76FZ0ux7IsEEucR0TFG6oSAQ5s+788THoOa+B+opjVD8RJS9ynOfi5Dn80uWdGaHKLnLk0t8Nq0flqP94465HNT5FXTHeGJ1KmpwsdUBm+Msz8Nq9pc4aVpjLr5KRsg6XtesZ9zP3wG6VQ/sNszFtIV+Kkhh+t86A71F7a0JoHYURNgNwitXBIW7G387sp+jJlGk+Ipg2FUBAfm3igdeyknTFhhGDuM5a+11mYIwrscQ6ic0nMA7+rIRsk/EfafBLrkM/9+L9K2S+5isF0DHoqi2epN+KYgZsOaD7yEPXw3qQA8yi06yyiajH86n9K9AiG/CEGoj7Aq5gLdBUMAtFBOYy60PjEF39zysZq3H5Wm7DmIErAMg+M+6n7lEmrUBdsjJ4XCCNvbUfAf8hf0o7rsZ5N8eANJD9nXtbA/oh4IYwcQX/R7dLtJs2pawVOQTju+jByw7FprrOaatE6CFO/LZghH9IQyHTsVX/0YIeFs+WVC4pzNj3hOz6oK21eKBPeNvchbk5GmFQm/pdacnguD9FX8/R8MuZm0K4fDIKITql5X5EuH68tiu897ArE2hxwoyC/mf50ljwvWt+LBcYYZtGpb09eO5Hkoz4ZgfEEqTMn4GwX+EVtgrlcFHjpGjgHGcTXPAV2FpxQu5BZenVS8C5TgMz+b70uP6dZGI/SZmawez0GN8DArhM/YhlPe2svuylwqC3zRRUb5eTr+OtkKImwcTs2hLbjYV3R/Dp5PR0/wUfze4lQP//3T9/t5g2E1B10b3lLycabPdVQ/Y+0G4vMMGzdrWDY9lfc7uISjd/Z6yCnQz9dbM1hB6pSAUS8BzTVy3/6aHEp5zzF9OEEqT1PeDwizGv+1/7PFCbqh4SS/Qghgnv2yh67uH8CyerzoE+CU9EO/aeg/1FhjK3e4uU5QbtM9ilobQIwX5Fb0P9zXwPBoMjnpOdeoGyM7IJaMLs46xDMOkSzBkOoW23NKRzrR7sPLAnb6CDC28LM8CGRrkWSOQ8Byc+HICrYgbWvx3Fc9EW3g/wixdAxnxELzfu8sGTVKwCmapi54oSCVRRJlgvP76QAfB8XovhIJs9Q6NyLPXeAi/f5tPmVdRzN1M0jgy4xj75pxIjBb5KCQRZ9N90FcVL6linG5NRoLWOdTgzPaygVQYQtYJnNx1vDO451t41qdUPuqUp0B8zFITvVYQ6knYEO8LaOEOCnF9o9O7ZJzDvtgMRbor6+j/wtl0FzTNh5clmba0NqKHOb4XPkidQGzX2BtQ76fczwAB+AWSejr5wNuHPTNn5EHNyTXRawUxNevLzNZX5NKRMfQo98qUokjkdwXl+Dl+H7I2HXod39ob4GUdWjkuLRIaaSsU5SY0+rG0hjKoPYseTJxZUe9nIpGRXTm5p0AvcrG7LqCnGpnV6qmCaPYDzU4idBMU9YRc1KEo69BTPJ6lU3Md88pMKvrFtWljb1lghZ4iHEi8Gw2Slb5ML01BYTCMsH4LI/RqNMAluHY2rp2O31+BDXAKudCbgfghwjsWSsWhRbs2dhRGsmb9zVPPBr/a3UAgYL2ehNtdH12L13Xp6aWC4Lo0mHS/US8UUF9Bh7agUb6E3oQW0nwvtS0iAdbse4xg/DvkQt7JrzuU9ShvWfYm8tbl5L6AFNRTp6C1BpdrfiR6qCB/RNK0WvfqKchdAkpyGBr1LrxM30p0h4iiKN5LaxNkP3DRLQH5eGaPIBTSE4x6Ce5FPPG+jFC8pttDDxVkRod47SjMdyTeRsGoIYTfxstegb+d9oYFkQepdVEssIfnnOxGQHsWKvKa7IavUCvQtcRl7rrh3fljMLnQCwXB/1tM039KlELnMDsOm2JYi+8Z1uwPmSHr0xDKo0wtfjSdKBWhma+QvQSNcRFslGvQyHdiuLGBBNfdUDIC/7NmSKx2N2yvwNbxrApDAAbmQHg8jydABuo2wUlS9KQH0ezGD4pR6B12LTT+HjSkgsLcBPKEHvIQ0kOhuQ1N5UEIv+++Vw+OnMRJfUcsFnsFhNztSTxZa9q8Nwoi3w+iMGAYmTOys67FvwAh+LOnAYsUsFY2clQbeB903zdo7jIQyF+768dB8aRQCqLgg9jpR7NQ0n3h1l21VqHFvZ4geNakae41UONrPBcddFp+poB1DCf5oBREoSpEtPmgfZ+nMQv0HWbxgfeXl3ghUD09NrkRROhIO3cdQ/Z5nOSDUhCFmqCvv65Zd3gaNGhPVdvQJU7g9fBaKzlpYKCHhL9buY6avYyTfFAKolAXBdvEyrsbFYJyJyd7EAnEEx6+oJyvnzC1+CJ3HSl8Dif5oBREoSGE59h7oTErHCgTcU4uga55eDS7tcPguwgjYO/rrqNSEIWOAML+c3fDoqF9q+O6PkKbo8o8mvUoJw0MaFuuu46gqlFklIIoNAxDix/oadig9VtOKqGwk6/c00AYttN6CycPBMTCqes5UMczOckHpSAKDYPcTtwNC/viKU5yYzZdd/OR9zCnDQRQp8vd9cOQ60hO8kEpiEIzmI0hk3ttZErmQ0Q9i4sHZB3FSQMBDBU9C5kUpI2TfFAKotAUIOye2SxynOSkEiBEnthO6FF+wkl9R3TO6C6oU3kIqFkv1dpwphREoSlAQf7kblzy3OWkEiAA+7t5IFTPDYodEtWsw911A93NSVIoBVFoCmjcR92NKwv4Vti74t13Yc6xDuLkvgIK7gkFhN7tPzlJCqUgCg2DegE07rZy41ovVdtDjbQfuIUAgnUHJ/UNw2FrN9TFvZYzxTGAq0IpiELDoN137obF1zfDST4YoVHHzUsUDSfezcl9AQSzwg1fhHetCaUgAwLybepFJL12gF7hQk/D1j5slGa8POE/9WD8Vlzvy75rCLaF+ns2iOkhez9OrgqlIAOAsJY4WLiIa/amMIYBfHmgQF66EHjP1t560REjQXvczU+kB+I9jzUrojsW9vK760LGeV1lVQrSZ0ApTsVLKo+LNetx/N2DkwcFs1CvH5XqKMjaSLvzOL0aZlUKJglYr2NjkSHurgNoSg+OvpeTa0IpSJ8BBaG94uWXJcjaMkhRvSmmVmUdaZsuJ9cEHe4CgfAGZobBTuGMmKWrQC+2AALomlggsq7g5LpQCjIAwAs72fPCCkQnuH47Hu9vLCnagkt1cdcN9V3RTARA2UcAz3b1+ND4TszSFaCcPSB8nuB1KHcdhf9hlrpQCjIgwIv6LK3qel6ceHn2WjYme2rc0rZalF0ZrpME7MlIZDTMbA2BbAAI1m8q84po1g8bGKa1BD048l6UUXmQzgsQzncxS0PwKYjc/6wpKAVpETSNipfnWYgrkhCwOkHOOgU6bgGCMOGvh7Wl1TrQEWh4Nn+emvV/MneVNjArEkgcgfdVccCnNUneyMzTMArH49GBoKW8JqNvqx+4ohaUgrQBsae7Yt+Fl6zlaPxPxmJjHQ1YLcLhhOIfhmLcKS1XszbXcuprBBQ8Dvn7I6Zo1uN6wP4YWNrqJUX+/kOIQNakGUwcwmxNA3n80Z0fnuE4TmoJSkHaxyxDSxyMF1k1Hi/StuDFXodh2WF8fl3TwhWNju5iBu1x5EHHKlcvS7MfMAJzo3xbW9B16+0Q2JXScqCctB0WbE0F1aYeCHmeA3rel69mvdju1DIJsDtPvI9nYnPsGCdLEQvEqkakVArSIVBXjsb4ptQ2qaTC9PAvhd2gWSfga/8ZCP9iI2wdEC4clXwoBPAkPWR9C79vBs9jpXurEMreijy+3mlHQ3KRp22usjIFafYaPRj/uqmNLiqEPvUY87PI10vsfZ8jQhNRwDvpkcl4b+t1Lb4n39cywuHd34E6eYLq4V0+jWunGKFEKkrnj9BmMjFlb/0Q6WtBNLEhna5XCtJh0HFceKnfx8uvmK7sDqGsbaZmX9XtY8AovjDK82yukpP1PIT9cSjsJiGY9YN3k3AupWATXFTbQLmVaymNkDSkqFKQLoGGUpGgfTZe8EbPC+4UafFHIIhn9vLIYfIGpl6toV6yAcK7+Z0Rst7D2XcSs2nWTVZmdbIm9UDCdy64UpAug2ZWCt164gx06/fgBbtnWRomNNQTuPfXES1+SiQwOm9oaEnvDmOsQOEA08QZqJN0Fq8OPY8v/LUYVjZ8OGdrWDLbLCya+s5h95Nok7vRC7+fby5BKUiPQeE+zeDICPlGURhN9DJfZVvjcijQMnydL6PogRjSnGwER8gWSfPUal8cB2tjyWzy+kUdT4Lg3ADKg9zj/yk80yYMt+7E81xAdlavQ5vSDkTU6aOgM+g4BROE+pyH9/wfZO+R9wC1CbP7QDOVtE+/SDRxwUkKHgwN/T/fvy7K4dvMgwAAAABJRU5ErkJggg==" /></p>
+                  <p><img class="img-responsive" alt="Solr Logo" width="128px" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABlCAYAAAAI2qyuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAXEUAAFxFAbktYiwAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjEuNWRHWFIAABv7SURBVHhe7V0JuBxVlX4JMy6jM4qOC4rp6qWq+jW+ruoXkIjoS1d3EhYXRvNkFHFBYECUAXGAASEOyiLIrigOEpDoACIqwogLiwMSkIghYF4viSFhiUGWCAQIyXuZ/9w+3V3VdXtfee/+33e+16/uqXtv1T2n7j33nnvukIJCP7BjbOzvsgt0O5cyjsymzG9mU8YvcylzIucYT2Ydczt+7xDkGFuR/hf8XplxzHG6d20qauSSkfCSJUOzRWYKCtMBE3uZ/5hxjE9A4K+FEmwuKUFj9Nd1Y9brdwwNzco6xr10DXk8DAX77kTaXEQKx8UoKLz8AGE+D73BcxVC3zBl09HPUz6ZpOHI0kEboXhnrU3H5ogCFRQGHSvmzv17+stf/ZaVA71EppgXFO0Xcp4CYai2LZeKLs2m9BDxKygMHEg4Mynz+kzK2IP+X52KvlEmzI1SPml+kPLB8CyOXmJKxuMnYyvoG7l9Iv9E9yoo9B3Xjg/thC/8cegtnsffFyGcr6TrBWNcJsQNkGPeIjIHkO8yKU9teiSXiryfs1BQ6A8eWhTdBV/3W4qCid/3c9IQ9QAugW2YoGSTeSc6Snn8KTkcKAyf5Ly1iHudi9eNBV4lKqSg0Evk0tF5EN7HPILpmN/l5CEMdY71pDVKjnkFZ0HDqwulPE1QJmneM5E238ZZKih0H3ln+AB8oV/wC6TxOWYhBfmGP702offYknX0t9P9Dy6MvaE9I99Fjrk+50RiomIKCt0EBO7jENzyop6LVqNXYTbiu6YyvR5NpMz/4tuH8PvLMp6WyTFO5awVFLoDfIkXQ9CkygHatuL9c/+BWYfQwyyX8FQlKN1jGxfEX0P3blg879XoTTbJ+JolskUySeNEUae0PkxEvxUUOgoMfd4rZqkkQkgEAV/FrALgfVzGV41gb3yWbx3KYKgm42mWqKfLpqKHU54Fg9/cgHqtp8kFUZCCQidAK9UQrpoCD2H8HrMPUU9SbRhWhVZeOz6+E927A39h/K+R8DRHjrGVejzKM7dP5E3IM1NMQ92WF6ejFRTawoPjsVdA0O72CJ+E0AMcxbcMkVOhjEdGYgiUNlJ861DeMcdlfM2R8SyM8gWUHy0aQllWSPguFgUqKLSDfMrYRyJcPppImnvxLSTkSRmPlBzjRr5NAMr4eylfo+QYT2A4+C7Ki9ZAsk70NhmfUEw8myhUQaFV0PBKJmBuwvDlpXVjY6UFOVw7pJKnCm3LObHS9Cv1JBKeZuiRfHJ4N8qLPH2hbD+V8JTJMdY/OBZ7rShcQaEV7FgyNBtj9iekAsaE9AeYXSDjRJfI+CoJBvO3+BYBKNrNMr5GCHXIToyZGuVDjpIZx7xCxucjxzhbFK6g0CogSP/rEywXQThLBjoBw5fLZHxugnJsJuOZbxnKLtQtGvbIeOsRyr9vrfPOt1A+pBzoOc6V8ckIivRiUbEUFFoCBPcsmXAVKTvfPJpZBSCgv5bxecgxjmd2gXzKvErKV4egHLevTYdex9lQXZteYMykyi4yCgp1UXT3KAJC9JFKoXJTZoHxHmYVgPBnZXxFwlDqIbcTYatOidmkccNd83Z9NWczlEubR0BBpLy1iNZ31NqIQsOgIRL/FPgzBFgmWET4gm9fySvgBLFRSuqnVSYo4L8yuwAUqmmnxIxjXFncUEWgPFHupIy3EZpwzNM4KwWF6kBvEKRZqdtc+70L43q5oQ6h/BOzCZAtIOMrEgR7OeXH7IWNVU06JaJ+F7jzyM83F1GdZbyNEnqRh4uLlQoKVTGRLIzhK/d5QwApAolfuBzzSmYRoB2FUj4QlGkqM987HAP/KTJeGdH9EOST+VaBNRjeNatg1YjWbzhbBQU5MGQS0UMyaWNvviQAwTyzUqCIILReA72GvQJl+BGzCWyA/YB8G3JKLAyfyu70hDUpcwQK+pSMvxWinomzVlDwY82C0JsLgigE5iC+LABBXOwWpiKREyOzCOTmG8fL+cwXK4MqgLdBp0Rjaz41fCDfJiDcWRzjUTl/a4Q65jl7BQU/3EpQdBEvYt0iU3MLExG+uNsedbm4E6oZ3Og9zmEWAbJxoIx1nRIhtFvI3YVvE1i9KLpLxjHXyvjbIRrCqdkshapAb1BaYIOCeJz5eEX9abdAQaFWc3IJuH69h6dAIgAcswhAYQ6U8HkICviU28eLsGr/kZ0hyPfL+Nsmx9iu7BCFqoDg/colMDfx5RIgQN4FwLTXQCdgOOTznEW+HjuFAOWq45RoPDYBG4PZBWg6GUp6l5y/daLVdDzbpVBGk4tSUPAjk6RwOQWhwdf7Qb5cAoTobLdg5dLGMZwkUFgDqexlygHgiqgRKVEQ8siTjcHsAsLtPlnb5aVZwvANBr5x+rqx2Fu5mKHMmPHP/FNBoYyCa3h5oQ2/N7vXGgj5tPFRj4Alh9/HSQIUh9edhyDH/AAnl4BeoJZT4v3r9isLLKEwvDOvlvC2RJmU+TCGeF/c5PLkLYQwMi6nHoovKSiUwTv5HigKEQRyigSekwUecG2EQvp2t4ARMguNaDFd8KSMWyuVjALKkTHs5ivxO+Ydq/Ye2ZlZBUSv5JiXyPibJsdYlU1FP7XD1aPRPviC97HxLPFAQR7iJAUFL/BV9WyOyiZ1i5ME+EsuIrRDkLJ8uYTcgujC0r2pcgA4N6A0PyjyeMgxbnIHfSgCw7ivSvmbINTldjzLfm5lpWeBjXMInsMzVYz/NzOLgoIfEJDS8CefDIv4uG5gyPQbTv8hXyoBaUcU7804RikAXBHVnBJJacjGYLYSYKu0FnwOhOfYDrpudTpSCkVURGa+kULafbL7yGBnNgUFPwqr04WACxh6lPaZF4Gv8ddFGsbwfKkECPTXhKA5xnOVHsEEKMIFRUEsEuyBi+lrziwl4Iv/yWpDsVqEe15AOd9ekx7WOasSKOQP6nYjeKT3EikFeZkgEom8skixmP/r2k3Q/ggWljP4UgklQz0dHeNLJaAHuZLSMAzzecZWOiWSkIJKgeLcgPJ9CDxNub+jR3gyl4qevsoJio1TbhSimujfRHl184RyPcu3KQwq5u0679VG0NpWJF2z/8JJPYHwyHWMZyDwV/OlEvILYxHqYSoNeAKE9DbQY7J93rjn1LIQmpMQ2C9wkgf5VHg+0mu6y7sJ5a3HcO4YWZk0M4e0E4p2UyOEsh/m29vB+E6RyGjYDCY+YASsYwzN+oYRtJfi73X4eyPoZ3rQvhZ/L0cDnwOeY00t8UG6Z2hoiTpjrg4KCmLvKBIU5AlO6hkgVCeDlvO/JYjZLsdYwf96AIVam0uah/C/JRQiJRocV8t4CcryCU7yYCIZnYsy/1YptDJCfqvy6eGDZcew0TmGtFIPnnWye2tRNmn+gbNpDqY2YhqB+IkQ/JuhCJvdDdgMobGfMjT7el2zDo9G93gjZ6/gwiAoCPlY5R3DpyAECHgpCmIRPMP1e5k9AWE9UggfnSEyX9+fL3uQGTOiULCanr34uk9hCHQreoV9K6ePiyAvZFJs2f0N0vWcVX0EAmOvigTjn4Uwr3A3WKcIDb8VtAzkmU6c6RgEBSFMpMyDZLNLlQ6KBDLKi8Ha3Cg6JUJoN1d6/hbxwMLd3gHlWS8RVkFI2w7F+NFaPr1KBvIURjnXgqR5NEpQ5tM5y+oYw0OZocQR+NI/4m6oLtIkhOCqUCj+Zq7CjMagKAgNVXYc7nUTqYZqoTzFUCdl/qVyTaWI3N6RN6HnWC0TVtHjpMxLyO5hdh/W7z2yM5TvXFDVuMHNUDYZ/RhnLcdw2NpND1p/cDdQJWGYtR22xWr8vUYPJk6LBOJHmEF7cVSzFpphK4nr6TBsDj1gfRrDsRNwz6XohX6HfLdU5uUhzd5EeXBVZiwGRUHahVgFx5c/vzAsFXAy9KEcPqdFKMaTGMZ9dc2C6h9MWg0nQx+8NWN2NUu05ZiL8ANCPg7BlwoxhP5p/P0uGeaRyLtaOiSRpiuFAmn2+aQMlWUI0mjmxj6Ub5mRmC4KQj5VsvUQgvD9gj3hFk78/xB6jKNrRTskpYMNcgAUo2bklFYo45gbqtk2QwZsDTTGlLthBIlhlnXU3F384852QMoiytSsh31loh5kxDPrjMN0UZBqoJkwCGRp3wiU4n6yd9yBImQQs1wp8/bifR0nx7yUi/IirI18sDBscgupNUlTtPF4OaRLNxB/S/w1EIBzC+V5hGJ7JBj3eYLOBExnBSnMdhnfg6BTAIZbaLdg1a82Iw8jHsL7ffC3HNanESJ/LS6yDGNOPOiftrWep3ULZukJxJpK0H7OXQ8IxjM0vcwsMwbTWUHyKf0sCPo1E2Pm7nypKoSNkjK+Rsa6TKA7SajT47IZu1lQjl9VNMbWfhnKEc0eI+V01wdDvPt67WrRb0xXBaHTZnPJ3TwboWSgoVY+qR8GxdgoE+ZuEG035uLLMEKJlLshiCCk/87JfYEZtD/uqZNm5aPh0bmcPCMw3W2QWshgyAXFKO1L6RTxkG4T8qYtwT/OOcY55KKC3x9ZkzZ3l7nawzC3r/c2hEW7qfruCoJeYyno50bI3hf/zjjXlJmoIGsWRN8JO+MXbqFujjAMc8y1UIDb8HspeoTToACH0h4V2sjljgXcEDBseS2E8EV3Q0QGZw2iptE23TGTFOTBsdhbs0nzvyHYVc80LHz9yVvXXJlNGTeA//y8ox8HA//A1anou8m5kmbGOMumUHWCgBbz3I0AZSEvxhktmIOCmaAghYM+zZMg+M9guLMVtB49wB15x1iWSRtnkP8WzSpRz1I8HrpdkBLRPpGsE6VA17Sv5TcoV36ADnoLWuEuK0jQvpyTFPqMmaAgFPCBfLNoIXFFg+4szYCUgcL4YJj1CSjiebQoib+VnsJ/rRrFBC/+Ik8jBOPHcZJCnzGTjfRWQLNeHDDioGxKPx/KcHsxCEMtQg9V3e/KCFpXeBohYNd20poBGMdXJxqMG7QGZGr20REtfooesL5Cbv6RgPUZXUu8zzDmdj1uklKQ6qAYW3TwJ3qDT2N4dCGGSndimNZ0dHcM4f6Hs5QDNscyTyMEEh/mpBkFWsk3g9ZBeB8/9i+YSmkK9tsEhPZcnn7uuN3WDQWJBO3FyOvuIpG3NifVw6xhLRGIzME7ClrnmIWNcLdRHnrQuh3pXZtlJGWg6IprUvqncmnjIgj2negdOrFouJrOT+di5MADXgoqN7yWOJiTZgTItR7PfTaInDDL76FZ0ux7IsEEucR0TFG6oSAQ5s+788THoOa+B+opjVD8RJS9ynOfi5Dn80uWdGaHKLnLk0t8Nq0flqP94465HNT5FXTHeGJ1KmpwsdUBm+Msz8Nq9pc4aVpjLr5KRsg6XtesZ9zP3wG6VQ/sNszFtIV+Kkhh+t86A71F7a0JoHYURNgNwitXBIW7G387sp+jJlGk+Ipg2FUBAfm3igdeyknTFhhGDuM5a+11mYIwrscQ6ic0nMA7+rIRsk/EfafBLrkM/9+L9K2S+5isF0DHoqi2epN+KYgZsOaD7yEPXw3qQA8yi06yyiajH86n9K9AiG/CEGoj7Aq5gLdBUMAtFBOYy60PjEF39zysZq3H5Wm7DmIErAMg+M+6n7lEmrUBdsjJ4XCCNvbUfAf8hf0o7rsZ5N8eANJD9nXtbA/oh4IYwcQX/R7dLtJs2pawVOQTju+jByw7FprrOaatE6CFO/LZghH9IQyHTsVX/0YIeFs+WVC4pzNj3hOz6oK21eKBPeNvchbk5GmFQm/pdacnguD9FX8/R8MuZm0K4fDIKITql5X5EuH68tiu897ArE2hxwoyC/mf50ljwvWt+LBcYYZtGpb09eO5Hkoz4ZgfEEqTMn4GwX+EVtgrlcFHjpGjgHGcTXPAV2FpxQu5BZenVS8C5TgMz+b70uP6dZGI/SZmawez0GN8DArhM/YhlPe2svuylwqC3zRRUb5eTr+OtkKImwcTs2hLbjYV3R/Dp5PR0/wUfze4lQP//3T9/t5g2E1B10b3lLycabPdVQ/Y+0G4vMMGzdrWDY9lfc7uISjd/Z6yCnQz9dbM1hB6pSAUS8BzTVy3/6aHEp5zzF9OEEqT1PeDwizGv+1/7PFCbqh4SS/Qghgnv2yh67uH8CyerzoE+CU9EO/aeg/1FhjK3e4uU5QbtM9ilobQIwX5Fb0P9zXwPBoMjnpOdeoGyM7IJaMLs46xDMOkSzBkOoW23NKRzrR7sPLAnb6CDC28LM8CGRrkWSOQ8Byc+HICrYgbWvx3Fc9EW3g/wixdAxnxELzfu8sGTVKwCmapi54oSCVRRJlgvP76QAfB8XovhIJs9Q6NyLPXeAi/f5tPmVdRzN1M0jgy4xj75pxIjBb5KCQRZ9N90FcVL6linG5NRoLWOdTgzPaygVQYQtYJnNx1vDO451t41qdUPuqUp0B8zFITvVYQ6knYEO8LaOEOCnF9o9O7ZJzDvtgMRbor6+j/wtl0FzTNh5clmba0NqKHOb4XPkidQGzX2BtQ76fczwAB+AWSejr5wNuHPTNn5EHNyTXRawUxNevLzNZX5NKRMfQo98qUokjkdwXl+Dl+H7I2HXod39ob4GUdWjkuLRIaaSsU5SY0+rG0hjKoPYseTJxZUe9nIpGRXTm5p0AvcrG7LqCnGpnV6qmCaPYDzU4idBMU9YRc1KEo69BTPJ6lU3Md88pMKvrFtWljb1lghZ4iHEi8Gw2Slb5ML01BYTCMsH4LI/RqNMAluHY2rp2O31+BDXAKudCbgfghwjsWSsWhRbs2dhRGsmb9zVPPBr/a3UAgYL2ehNtdH12L13Xp6aWC4Lo0mHS/US8UUF9Bh7agUb6E3oQW0nwvtS0iAdbse4xg/DvkQt7JrzuU9ShvWfYm8tbl5L6AFNRTp6C1BpdrfiR6qCB/RNK0WvfqKchdAkpyGBr1LrxM30p0h4iiKN5LaxNkP3DRLQH5eGaPIBTSE4x6Ce5FPPG+jFC8pttDDxVkRod47SjMdyTeRsGoIYTfxstegb+d9oYFkQepdVEssIfnnOxGQHsWKvKa7IavUCvQtcRl7rrh3fljMLnQCwXB/1tM039KlELnMDsOm2JYi+8Z1uwPmSHr0xDKo0wtfjSdKBWhma+QvQSNcRFslGvQyHdiuLGBBNfdUDIC/7NmSKx2N2yvwNbxrApDAAbmQHg8jydABuo2wUlS9KQH0ezGD4pR6B12LTT+HjSkgsLcBPKEHvIQ0kOhuQ1N5UEIv+++Vw+OnMRJfUcsFnsFhNztSTxZa9q8Nwoi3w+iMGAYmTOys67FvwAh+LOnAYsUsFY2clQbeB903zdo7jIQyF+768dB8aRQCqLgg9jpR7NQ0n3h1l21VqHFvZ4geNakae41UONrPBcddFp+poB1DCf5oBREoSpEtPmgfZ+nMQv0HWbxgfeXl3ghUD09NrkRROhIO3cdQ/Z5nOSDUhCFmqCvv65Zd3gaNGhPVdvQJU7g9fBaKzlpYKCHhL9buY6avYyTfFAKolAXBdvEyrsbFYJyJyd7EAnEEx6+oJyvnzC1+CJ3HSl8Dif5oBREoSGE59h7oTErHCgTcU4uga55eDS7tcPguwgjYO/rrqNSEIWOAML+c3fDoqF9q+O6PkKbo8o8mvUoJw0MaFuuu46gqlFklIIoNAxDix/oadig9VtOKqGwk6/c00AYttN6CycPBMTCqes5UMczOckHpSAKDYPcTtwNC/viKU5yYzZdd/OR9zCnDQRQp8vd9cOQ60hO8kEpiEIzmI0hk3ttZErmQ0Q9i4sHZB3FSQMBDBU9C5kUpI2TfFAKotAUIOye2SxynOSkEiBEnthO6FF+wkl9R3TO6C6oU3kIqFkv1dpwphREoSlAQf7kblzy3OWkEiAA+7t5IFTPDYodEtWsw911A93NSVIoBVFoCmjcR92NKwv4Vti74t13Yc6xDuLkvgIK7gkFhN7tPzlJCqUgCg2DegE07rZy41ovVdtDjbQfuIUAgnUHJ/UNw2FrN9TFvZYzxTGAq0IpiELDoN137obF1zfDST4YoVHHzUsUDSfezcl9AQSzwg1fhHetCaUgAwLybepFJL12gF7hQk/D1j5slGa8POE/9WD8Vlzvy75rCLaF+ns2iOkhez9OrgqlIAOAsJY4WLiIa/amMIYBfHmgQF66EHjP1t560REjQXvczU+kB+I9jzUrojsW9vK760LGeV1lVQrSZ0ApTsVLKo+LNetx/N2DkwcFs1CvH5XqKMjaSLvzOL0aZlUKJglYr2NjkSHurgNoSg+OvpeTa0IpSJ8BBaG94uWXJcjaMkhRvSmmVmUdaZsuJ9cEHe4CgfAGZobBTuGMmKWrQC+2AALomlggsq7g5LpQCjIAwAs72fPCCkQnuH47Hu9vLCnagkt1cdcN9V3RTARA2UcAz3b1+ND4TszSFaCcPSB8nuB1KHcdhf9hlrpQCjIgwIv6LK3qel6ceHn2WjYme2rc0rZalF0ZrpME7MlIZDTMbA2BbAAI1m8q84po1g8bGKa1BD048l6UUXmQzgsQzncxS0PwKYjc/6wpKAVpETSNipfnWYgrkhCwOkHOOgU6bgGCMOGvh7Wl1TrQEWh4Nn+emvV/MneVNjArEkgcgfdVccCnNUneyMzTMArH49GBoKW8JqNvqx+4ohaUgrQBsae7Yt+Fl6zlaPxPxmJjHQ1YLcLhhOIfhmLcKS1XszbXcuprBBQ8Dvn7I6Zo1uN6wP4YWNrqJUX+/kOIQNakGUwcwmxNA3n80Z0fnuE4TmoJSkHaxyxDSxyMF1k1Hi/StuDFXodh2WF8fl3TwhWNju5iBu1x5EHHKlcvS7MfMAJzo3xbW9B16+0Q2JXScqCctB0WbE0F1aYeCHmeA3rel69mvdju1DIJsDtPvI9nYnPsGCdLEQvEqkakVArSIVBXjsb4ptQ2qaTC9PAvhd2gWSfga/8ZCP9iI2wdEC4clXwoBPAkPWR9C79vBs9jpXurEMreijy+3mlHQ3KRp22usjIFafYaPRj/uqmNLiqEPvUY87PI10vsfZ8jQhNRwDvpkcl4b+t1Lb4n39cywuHd34E6eYLq4V0+jWunGKFEKkrnj9BmMjFlb/0Q6WtBNLEhna5XCtJh0HFceKnfx8uvmK7sDqGsbaZmX9XtY8AovjDK82yukpP1PIT9cSjsJiGY9YN3k3AupWATXFTbQLmVaymNkDSkqFKQLoGGUpGgfTZe8EbPC+4UafFHIIhn9vLIYfIGpl6toV6yAcK7+Z0Rst7D2XcSs2nWTVZmdbIm9UDCdy64UpAug2ZWCt164gx06/fgBbtnWRomNNQTuPfXES1+SiQwOm9oaEnvDmOsQOEA08QZqJN0Fq8OPY8v/LUYVjZ8OGdrWDLbLCya+s5h95Nok7vRC7+fby5BKUiPQeE+zeDICPlGURhN9DJfZVvjcijQMnydL6PogRjSnGwER8gWSfPUal8cB2tjyWzy+kUdT4Lg3ADKg9zj/yk80yYMt+7E81xAdlavQ5vSDkTU6aOgM+g4BROE+pyH9/wfZO+R9wC1CbP7QDOVtE+/SDRxwUkKHgwN/T/fvy7K4dvMgwAAAABJRU5ErkJggg==" /></p>
                 </div>
                 <div class="col-sm-9">
                   <?php
@@ -75,14 +76,14 @@
                   <div class="progress">
                     <div class="progress-bar progress-bar-info" role="progressbar" style="width:<?=round($solr_status['jvm']['memory']['raw']['used%']);?>%"></div>
                   </div>
-                  <p><?=$lang['debug']['jvm_memory_solr'];?>: <?=$solr_status['jvm']['memory']['total'] - $solr_status['jvm']['memory']['free'];?> / <?=$solr_status['jvm']['memory']['total'];?>
+                  <p><?=$lang['debug']['jvm_memory_solr'];?>: <?=(int)$solr_status['jvm']['memory']['total'] - (int)$solr_status['jvm']['memory']['free'];?> / <?=$solr_status['jvm']['memory']['total'];?>
                     (<?=round($solr_status['jvm']['memory']['raw']['used%']);?>%)</p>
                   <hr>
-                  <p><?=$lang['debug']['solr_uptime'];?>: ~<?=round($solr_status['status']['dovecot-fts']['uptime'] / 1000 / 60 / 60);?>h</p>
-                  <p><?=$lang['debug']['solr_started_at'];?>: <?=$solr_status['status']['dovecot-fts']['startTime'];?></p>
-                  <p><?=$lang['debug']['solr_last_modified'];?>: <?=$solr_status['status']['dovecot-fts']['index']['lastModified'];?></p>
-                  <p><?=$lang['debug']['solr_size'];?>: <?=$solr_status['status']['dovecot-fts']['index']['size'];?></p>
-                  <p><?=$lang['debug']['solr_docs'];?>: <?=$solr_status['status']['dovecot-fts']['index']['numDocs'];?></p>
+                  <p><?=$lang['debug']['uptime'];?>: <?=round($solr_status['status']['dovecot-fts']['uptime'] / 1000 / 60 / 60);?>h</p>
+                  <p><?=$lang['debug']['started_at'];?>: <span class="parse_date"><?=$solr_status['status']['dovecot-fts']['startTime'];?></span></p>
+                  <p><?=$lang['debug']['last_modified'];?>: <span class="parse_date"><?=$solr_status['status']['dovecot-fts']['index']['lastModified'];?></span></p>
+                  <p><?=$lang['debug']['size'];?>: <?=$solr_status['status']['dovecot-fts']['index']['size'];?></p>
+                  <p><i class="bi bi-file-text"></i> <?=$lang['debug']['docs'];?>: <?=$solr_status['status']['dovecot-fts']['index']['numDocs'];?></p>
                   <?php
                   else:
                   ?>
@@ -129,9 +130,10 @@
                 $started = '?';
               }
               ?>
-              <small>(<?=$lang['debug']['started_on'];?> <?=$started;?>),
-              <a href data-toggle="modal" data-container="<?=$container;?>" data-target="#RestartContainer"><?=$lang['debug']['restart_container'];?></a></small>
-              <span class="pull-right status-indicator label label-<?=($container_info['State'] !== false && !empty($container_info['State'])) ? (($container_info['State']['Running'] == 1) ? 'success' : 'danger') : 'default'; ?>">&nbsp;</span>
+              <br class="visible-xs" />
+              <small>(<?=$lang['debug']['started_on'];?> <span class="parse_date"><?=$started;?></span>)</small>
+              <a href data-toggle="modal" data-container="<?=$container;?>" data-target="#RestartContainer" class="pull-right btn btn-xs btn-default"><?=$lang['debug']['restart_container'];?>
+              <i class="pull-right bi <?=($container_info['State'] !== false && !empty($container_info['State'])) ? (($container_info['State']['Running'] == 1) ? 'bi-record-fill text-success' : 'bi-record-fill text-danger') : 'default'; ?>"></i></a>
               </li>
               <?php
               }
@@ -142,12 +144,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-postfix-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">Postfix <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="postfix_log" data-log-url="postfix" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="postfix_log" data-log-url="postfix" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_postfix_logs" data-table="postfix_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="postfix_log" data-log-url="postfix" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="postfix_log" data-log-url="postfix" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_postfix_logs" data-table="postfix_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -159,12 +161,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-ui">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">mailcow UI <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="mailcow_ui" data-table="ui_logs" data-log-url="ui" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="mailcow_ui" data-table="ui_logs" data-log-url="ui" data-nrows="10000">+ 10000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_ui_logs" data-table="ui_logs"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="mailcow_ui" data-table="ui_logs" data-log-url="ui" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="mailcow_ui" data-table="ui_logs" data-log-url="ui" data-nrows="10000">+ 10000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_ui_logs" data-table="ui_logs"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -175,13 +177,30 @@
           </div>
         </div>
 
+        <div role="tabpanel" class="tab-pane" id="tab-sasl">
+          <div class="panel panel-xs-lg panel-default">
+            <div class="panel-heading">SASL <span class="badge badge-info table-lines"></span>
+              <div class="btn-group pull-right">
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="sasl_log_table" data-table="sasl_logs" data-log-url="ui" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="sasl_log_table" data-table="sasl_logs" data-log-url="ui" data-nrows="10000">+ 10000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_sasl_logs" data-table="sasl_logs"><?=$lang['admin']['refresh'];?></button>
+              </div>
+            </div>
+            <div class="panel-body">
+              <div class="table-responsive">
+                <table class="table table-striped table-condensed" id="sasl_logs"></table>
+              </div>
+            </div>
+          </div>
+        </div>
+
         <div role="tabpanel" class="tab-pane" id="tab-dovecot-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">Dovecot <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="dovecot_log" data-log-url="dovecot" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="dovecot_log" data-log-url="dovecot" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_dovecot_logs" data-table="dovecot_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="dovecot_log" data-log-url="dovecot" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="dovecot_log" data-log-url="dovecot" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_dovecot_logs" data-table="dovecot_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -193,12 +212,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-sogo-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">SOGo <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="sogo_log" data-log-url="sogo" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="sogo_log" data-log-url="sogo" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_sogo_logs" data-table="sogo_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="sogo_log" data-log-url="sogo" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="sogo_log" data-log-url="sogo" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_sogo_logs" data-table="sogo_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -210,12 +229,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-netfilter-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">Netfilter <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="netfilter_log" data-log-url="netfilter" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="netfilter_log" data-log-url="netfilter" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_netfilter_logs" data-table="netfilter_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="netfilter_log" data-log-url="netfilter" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="netfilter_log" data-log-url="netfilter" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_netfilter_logs" data-table="netfilter_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -227,12 +246,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-rspamd-history">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">Rspamd history <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="rspamd_history" data-table="rspamd_history" data-log-url="rspamd-history" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="rspamd_history" data-table="rspamd_history" data-log-url="rspamd-history" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_rspamd_history" data-table="rspamd_history"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="rspamd_history" data-table="rspamd_history" data-log-url="rspamd-history" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="rspamd_history" data-table="rspamd_history" data-log-url="rspamd-history" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_rspamd_history" data-table="rspamd_history"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -249,12 +268,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-autodiscover-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">Autodiscover <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="autodiscover_log" data-table="autodiscover_log" data-log-url="autodiscover" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="autodiscover_log" data-table="autodiscover_log" data-log-url="autodiscover" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_autodiscover_logs" data-table="autodiscover_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="autodiscover_log" data-table="autodiscover_log" data-log-url="autodiscover" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="autodiscover_log" data-table="autodiscover_log" data-log-url="autodiscover" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_autodiscover_logs" data-table="autodiscover_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -266,12 +285,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-watchdog-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">Watchdog <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="watchdog" data-table="watchdog_log" data-log-url="watchdog" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="watchdog" data-table="watchdog_log" data-log-url="watchdog" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_watchdog_logs" data-table="watchdog_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="watchdog" data-table="watchdog_log" data-log-url="watchdog" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="watchdog" data-table="watchdog_log" data-log-url="watchdog" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_watchdog_logs" data-table="watchdog_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -283,12 +302,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-acme-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">ACME <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="acme_log" data-log-url="acme" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="general_syslog" data-table="acme_log" data-log-url="acme" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_acme_logs" data-table="acme_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="acme_log" data-log-url="acme" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="general_syslog" data-table="acme_log" data-log-url="acme" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_acme_logs" data-table="acme_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -300,12 +319,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-api-logs">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">API <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="apilog" data-table="api_log" data-log-url="api" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="apilog" data-table="api_log" data-log-url="api" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_api_logs" data-table="api_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="apilog" data-table="api_log" data-log-url="api" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="apilog" data-table="api_log" data-log-url="api" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_api_logs" data-table="api_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
@@ -317,12 +336,12 @@
         </div>
 
         <div role="tabpanel" class="tab-pane" id="tab-api-rl">
-          <div class="panel panel-default">
+          <div class="panel panel-xs-lg panel-default">
             <div class="panel-heading">Ratelimits <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right">
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="rllog" data-table="rl_log" data-log-url="ratelimited" data-nrows="100">+ 100</button>
-                <button class="btn btn-xs btn-default add_log_lines" data-post-process="rllog" data-table="rl_log" data-log-url="ratelimited" data-nrows="1000">+ 1000</button>
-                <button class="btn btn-xs btn-default refresh_table" data-draw="draw_rl_logs" data-table="rl_log"><?=$lang['admin']['refresh'];?></button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="rllog" data-table="rl_log" data-log-url="ratelimited" data-nrows="100">+ 100</button>
+                <button class="btn btn-xs btn-xs-lg btn-default add_log_lines" data-post-process="rllog" data-table="rl_log" data-log-url="ratelimited" data-nrows="1000">+ 1000</button>
+                <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_rl_logs" data-table="rl_log"><?=$lang['admin']['refresh'];?></button>
               </div>
             </div>
             <div class="panel-body">
diff --git a/mailcow/src/mailcow-dockerized/data/web/edit.php b/mailcow/src/mailcow-dockerized/data/web/edit.php
index 3a0bb04..30d584f 100644
--- a/mailcow/src/mailcow-dockerized/data/web/edit.php
+++ b/mailcow/src/mailcow-dockerized/data/web/edit.php
@@ -2,19 +2,19 @@
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
 $AuthUsers = array("admin", "domainadmin", "user");
 if (!isset($_SESSION['mailcow_cc_role']) OR !in_array($_SESSION['mailcow_cc_role'], $AuthUsers)) {
-	header('Location: /');
-	exit();
+  header('Location: /');
+  exit();
 }
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
 ?>
 <div class="container">
-	<div class="row">
-		<div class="col-md-12">
-			<div class="panel panel-default">
-				<div class="panel-heading">
-					<h3 class="panel-title"><?=$lang['edit']['title'];?></h3>
-				</div>
-				<div class="panel-body">
+  <div class="row">
+    <div class="col-md-12">
+      <div class="panel panel-default">
+        <div class="panel-heading">
+          <h3 class="panel-title"><?=$lang['edit']['title'];?></h3>
+        </div>
+        <div class="panel-body">
 <?php
 if (isset($_SESSION['mailcow_cc_role'])) {
   if ($_SESSION['mailcow_cc_role'] == "admin"  || $_SESSION['mailcow_cc_role'] == "domainadmin") {
@@ -82,7 +82,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editalias" data-item="<?=htmlspecialchars($alias);?>" data-api-url='edit/alias' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editalias" data-item="<?=htmlspecialchars($alias);?>" data-api-url='edit/alias' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -106,7 +106,8 @@
         <div class="form-group">
           <label class="control-label col-sm-2" for="username_new"><?=$lang['edit']['username'];?></label>
           <div class="col-sm-10">
-            <input class="form-control" type="text" name="username_new" value="<?=htmlspecialchars($domain_admin);?>" />
+            <input class="form-control" type="text" name="username_new" value="<?=htmlspecialchars($domain_admin);?>" required onkeyup="this.value = this.value.toLowerCase();" />
+            &rdsh; <kbd>a-z - _ .</kbd>
           </div>
         </div>
         <div class="form-group">
@@ -156,7 +157,7 @@
         </div>
         <div class="form-group">
           <div class="col-sm-offset-2 col-sm-10">
-            <button class="btn btn-success" data-action="edit_selected" data-api-reload-location="/admin" data-id="editdomainadmin" data-item="<?=$domain_admin;?>" data-api-url='edit/domain-admin' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+            <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-api-reload-location="/admin" data-id="editdomainadmin" data-item="<?=$domain_admin;?>" data-api-url='edit/domain-admin' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
           </div>
         </div>
       </form>
@@ -167,7 +168,7 @@
           </div>
           <div class="col-sm-10">
             <div class="form-group">
-              <select id="da_acl" name="da_acl" size="10" multiple>
+              <select id="da_acl" name="da_acl" size="10" data-container="body" multiple>
               <?php
               $da_acls = acl('get', 'domainadmin', $domain_admin);
               foreach ($da_acls as $acl => $val):
@@ -179,7 +180,7 @@
               </select>
             </div>
             <div class="form-group">
-              <button class="btn btn-default" data-action="edit_selected" data-id="daacl" data-item="<?=htmlspecialchars($domain_admin);?>" data-api-url='edit/da-acl' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="daacl" data-item="<?=htmlspecialchars($domain_admin);?>" data-api-url='edit/da-acl' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
             </div>
           </div>
         </div>
@@ -197,14 +198,15 @@
       $result = admin('details', $admin);
       if (!empty($result)) {
       ?>
-      <h4><?=$lang['edit']['domain_admin'];?></h4>
+      <h4><?=$lang['edit']['admin'];?></h4>
       <br>
       <form class="form-horizontal" data-id="editadmin" role="form" method="post" autocomplete="off">
         <input type="hidden" value="0" name="active">
         <div class="form-group">
           <label class="control-label col-sm-2" for="username_new"><?=$lang['edit']['username'];?></label>
           <div class="col-sm-10">
-            <input class="form-control" type="text" name="username_new" value="<?=htmlspecialchars($admin);?>" />
+            <input class="form-control" type="text" name="username_new" onkeyup="this.value = this.value.toLowerCase();" required value="<?=htmlspecialchars($admin);?>" />
+            &rdsh; <kbd>a-z - _ .</kbd>
           </div>
         </div>
         <div class="form-group">
@@ -235,7 +237,7 @@
         </div>
         <div class="form-group">
           <div class="col-sm-offset-2 col-sm-10">
-            <button class="btn btn-success" data-action="edit_selected" data-api-reload-location="/admin" data-id="editadmin" data-item="<?=$admin;?>" data-api-url='edit/admin' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+            <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-api-reload-location="/admin" data-id="editadmin" data-item="<?=$admin;?>" data-api-url='edit/admin' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
           </div>
         </div>
       </form>
@@ -252,189 +254,233 @@
       !empty($_GET["domain"])) {
         $domain = $_GET["domain"];
         $result = mailbox('get', 'domain_details', $domain);
+        $quota_notification_bcc = quota_notification_bcc('get', $domain);
         $rl = ratelimit('get', 'domain', $domain);
         $rlyhosts = relayhost('get');
         if (!empty($result)) {
         ?>
-          <h4><?=$lang['edit']['domain'];?></h4>
-          <form data-id="editdomain" class="form-horizontal" role="form" method="post">
-            <input type="hidden" value="0" name="active">
-            <input type="hidden" value="0" name="backupmx">
-            <input type="hidden" value="0" name="gal">
-            <input type="hidden" value="0" name="relay_all_recipients">
-            <input type="hidden" value="0" name="relay_unknown_only">
-            <div class="form-group" data-acl="<?=$_SESSION['acl']['domain_desc'];?>">
-              <label class="control-label col-sm-2" for="description"><?=$lang['edit']['description'];?></label>
-              <div class="col-sm-10">
-                <input type="text" class="form-control" name="description" value="<?=htmlspecialchars($result['description']);?>">
-              </div>
-            </div>
-            <?php
-            if ($_SESSION['mailcow_cc_role'] == "admin") {
-            ?>
-            <div class="form-group">
-              <label class="control-label col-sm-2" for="aliases"><?=$lang['edit']['max_aliases'];?></label>
-              <div class="col-sm-10">
-                <input type="number" class="form-control" name="aliases" value="<?=intval($result['max_num_aliases_for_domain']);?>">
-              </div>
-            </div>
-            <div class="form-group">
-              <label class="control-label col-sm-2" for="mailboxes"><?=$lang['edit']['max_mailboxes'];?></label>
-              <div class="col-sm-10">
-                <input type="number" class="form-control" name="mailboxes" value="<?=intval($result['max_num_mboxes_for_domain']);?>">
-              </div>
-            </div>
-            <div class="form-group">
-                <label class="control-label col-sm-2" for="defquota"><?=$lang['edit']['mailbox_quota_def'];?></label>
+          <ul class="nav nav-tabs responsive-tabs" role="tablist">
+            <li class="active"><a data-toggle="tab" href="#dedit"><?=$lang['edit']['domain'];?></a></li>
+            <li><a data-toggle="tab" href="#dratelimit"><?=$lang['edit']['ratelimit'];?></a></li>
+            <li><a data-toggle="tab" href="#dspamfilter"><?=$lang['edit']['spam_filter'];?></a></li>
+            <li><a data-toggle="tab" href="#dqwbcc"><?=$lang['edit']['quota_warning_bcc'];?></a></li>
+          </ul>
+          <hr>
+          <div class="tab-content">
+            <div id="dedit" class="tab-pane in active">
+            <form data-id="editdomain" class="form-horizontal" role="form" method="post">
+              <input type="hidden" value="0" name="active">
+              <input type="hidden" value="0" name="backupmx">
+              <input type="hidden" value="0" name="gal">
+              <input type="hidden" value="0" name="relay_all_recipients">
+              <input type="hidden" value="0" name="relay_unknown_only">
+              <div class="form-group" data-acl="<?=$_SESSION['acl']['domain_desc'];?>">
+                <label class="control-label col-sm-2" for="description"><?=$lang['edit']['description'];?></label>
                 <div class="col-sm-10">
-                    <input type="number" class="form-control" name="defquota" value="<?=intval($result['def_quota_for_mbox'] / 1048576);?>">
+                  <input type="text" class="form-control" name="description" value="<?=htmlspecialchars($result['description']);?>">
                 </div>
-            </div>
-            <div class="form-group">
-              <label class="control-label col-sm-2" for="maxquota"><?=$lang['edit']['max_quota'];?></label>
-              <div class="col-sm-10">
-                <input type="number" class="form-control" name="maxquota" value="<?=intval($result['max_quota_for_mbox'] / 1048576);?>">
               </div>
-            </div>
-            <div class="form-group">
-              <label class="control-label col-sm-2" for="quota"><?=$lang['edit']['domain_quota'];?></label>
-              <div class="col-sm-10">
-                <input type="number" class="form-control" name="quota" value="<?=intval($result['max_quota_for_domain'] / 1048576);?>">
-              </div>
-            </div>
-            <div class="form-group">
-              <label class="control-label col-sm-2" for="quota"><?=$lang['edit']['relayhost'];?></label>
-              <div class="col-sm-10">
-                <select data-live-search="true" name="relayhost" class="form-control">
-                  <?php
-                  foreach ($rlyhosts as $rlyhost) {
-                  ?>
-                  <option value="<?=$rlyhost['id'];?>" <?=($result['relayhost'] == $rlyhost['id']) ? 'selected' : null;?>>ID <?=$rlyhost['id'];?>: <?=$rlyhost['hostname'];?> (<?=$rlyhost['username'];?>)</option>
-                  <?php
-                  }
-                  ?>
-                  <option value="" <?=($result['relayhost'] == "0") ? 'selected' : null;?>>None</option>
-                </select>
-              </div>
-            </div>
-            <div class="form-group">
-              <label class="control-label col-sm-2"><?=$lang['edit']['backup_mx_options'];?></label>
-              <div class="col-sm-10">
-                <div class="checkbox">
-                  <label><input type="checkbox" value="1" name="backupmx" <?=(isset($result['backupmx']) && $result['backupmx']=="1") ? "checked" : null;?>> <?=$lang['edit']['relay_domain'];?></label>
-                  <br>
-                  <label><input type="checkbox" value="1" name="relay_all_recipients" <?=(isset($result['relay_all_recipients']) && $result['relay_all_recipients']=="1") ? "checked" : null;?>> <?=$lang['edit']['relay_all'];?></label>
-                  <p><?=$lang['edit']['relay_all_info'];?></p>
-                  <label><input type="checkbox" value="1" name="relay_unknown_only" <?=(isset($result['relay_unknown_only']) && $result['relay_unknown_only']=="1") ? "checked" : null;?>> <?=$lang['edit']['relay_unknown_only'];?></label>
-                  <br>
-                  <p><?=$lang['edit']['relay_transport_info'];?></p>
-                  <hr style="margin:25px 0px 0px 0px">
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="relayhost"><?=$lang['edit']['relayhost'];?></label>
+                <div class="col-sm-10">
+                  <select data-acl="<?=$_SESSION['acl']['domain_relayhost'];?>" data-live-search="true" id="relayhost" name="relayhost" class="form-control">
+                    <?php
+                    foreach ($rlyhosts as $rlyhost) {
+                    ?>
+                    <option class="<?=($rlyhost['active'] == 1) ? '' : 'background: #ff4136; color: #fff';?>" value="<?=$rlyhost['id'];?>" <?=($result['relayhost'] == $rlyhost['id']) ? 'selected' : null;?>>ID <?=$rlyhost['id'];?>: <?=$rlyhost['hostname'];?> (<?=$rlyhost['username'];?>)</option>
+                    <?php
+                    }
+                    ?>
+                    <option value="" <?=($result['relayhost'] == "0") ? 'selected' : null;?>><?=$lang['edit']['none_inherit'];?></option>
+                  </select>
                 </div>
               </div>
+              <?php
+              if ($_SESSION['mailcow_cc_role'] == "admin") {
+              ?>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="aliases"><?=$lang['edit']['max_aliases'];?></label>
+                <div class="col-sm-10">
+                  <input type="number" class="form-control" name="aliases" value="<?=intval($result['max_num_aliases_for_domain']);?>">
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="mailboxes"><?=$lang['edit']['max_mailboxes'];?></label>
+                <div class="col-sm-10">
+                  <input type="number" class="form-control" name="mailboxes" value="<?=intval($result['max_num_mboxes_for_domain']);?>">
+                </div>
+              </div>
+              <div class="form-group">
+                  <label class="control-label col-sm-2" for="defquota"><?=$lang['edit']['mailbox_quota_def'];?></label>
+                  <div class="col-sm-10">
+                      <input type="number" class="form-control" name="defquota" value="<?=intval($result['def_quota_for_mbox'] / 1048576);?>">
+                  </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="maxquota"><?=$lang['edit']['max_quota'];?></label>
+                <div class="col-sm-10">
+                  <input type="number" class="form-control" name="maxquota" value="<?=intval($result['max_quota_for_mbox'] / 1048576);?>">
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="quota"><?=$lang['edit']['domain_quota'];?></label>
+                <div class="col-sm-10">
+                  <input type="number" class="form-control" name="quota" value="<?=intval($result['max_quota_for_domain'] / 1048576);?>">
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2"><?=$lang['edit']['backup_mx_options'];?></label>
+                <div class="col-sm-10">
+                  <div class="checkbox">
+                    <label><input type="checkbox" value="1" name="backupmx" <?=(isset($result['backupmx']) && $result['backupmx']=="1") ? "checked" : null;?>> <?=$lang['edit']['relay_domain'];?></label>
+                    <br>
+                    <label><input type="checkbox" value="1" name="relay_all_recipients" <?=(isset($result['relay_all_recipients']) && $result['relay_all_recipients']=="1") ? "checked" : null;?>> <?=$lang['edit']['relay_all'];?></label>
+                    <p><?=$lang['edit']['relay_all_info'];?></p>
+                    <label><input type="checkbox" value="1" name="relay_unknown_only" <?=(isset($result['relay_unknown_only']) && $result['relay_unknown_only']=="1") ? "checked" : null;?>> <?=$lang['edit']['relay_unknown_only'];?></label>
+                    <br>
+                    <p><?=$lang['edit']['relay_transport_info'];?></p>
+                    <hr style="margin:25px 0px 0px 0px">
+                  </div>
+                </div>
+              </div>
+              <?php
+              }
+              ?>
+              <div class="form-group">
+                <div class="col-sm-offset-2 col-sm-10">
+                  <div class="checkbox">
+                    <label><input type="checkbox" value="1" name="gal" <?=(isset($result['gal']) && $result['gal']=="1") ? "checked" : null;?>> <?=$lang['edit']['gal'];?></label>
+                    <small class="help-block"><?=$lang['edit']['gal_info'];?></small>
+                  </div>
+                </div>
+              </div>
+              <hr>
+              <div class="form-group">
+                <div class="col-sm-offset-2 col-sm-10">
+                  <div class="checkbox">
+                    <label><input type="checkbox" value="1" name="active" <?=(isset($result['active']) && $result['active']=="1") ? "checked" : null;?> <?=($_SESSION['mailcow_cc_role'] == "admin") ? null : "disabled";?>> <?=$lang['edit']['active'];?></label>
+                  </div>
+                </div>
+              </div>
+              <div class="form-group">
+                <div class="col-sm-offset-2 col-sm-10">
+                  <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editdomain" data-item="<?=$domain;?>" data-api-url='edit/domain' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
+                </div>
+              </div>
+            </form>
+            <?php
+            if (!empty($dkim = dkim('details', $domain))) {
+            ?>
+            <hr>
+            <div class="row">
+              <div class="col-xs-12 col-sm-2">
+                <p>Domain: <strong><?=htmlspecialchars($result['domain_name']);?></strong> (<?=$dkim['dkim_selector'];?>._domainkey)</p>
+              </div>
+              <div class="col-xs-12 col-sm-10">
+                <pre><?=$dkim['dkim_txt'];?></pre>
+              </div>
             </div>
             <?php
             }
             ?>
-            <div class="form-group">
-              <div class="col-sm-offset-2 col-sm-10">
-                <div class="checkbox">
-                  <label><input type="checkbox" value="1" name="gal" <?=(isset($result['gal']) && $result['gal']=="1") ? "checked" : null;?>> <?=$lang['edit']['gal'];?></label>
-                  <small class="help-block"><?=$lang['edit']['gal_info'];?></small>
+            </div>
+            <div id="dratelimit" class="tab-pane">
+              <form data-id="domratelimit" class="form-inline well" method="post">
+                <div class="form-group">
+                  <label class="control-label"><?=$lang['edit']['ratelimit'];?></label>
+                  <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" autocomplete="off" class="form-control" placeholder="<?=$lang['ratelimit']['disabled']?>">
+                </div>
+                <div class="form-group">
+                  <select name="rl_frame" class="form-control">
+                    <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>><?=$lang['ratelimit']['second']?></option>
+                    <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>><?=$lang['ratelimit']['minute']?></option>
+                    <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>><?=$lang['ratelimit']['hour']?></option>
+                    <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>><?=$lang['ratelimit']['day']?></option>
+                  </select>
+                </div>
+                <div class="form-group">
+                  <button data-acl="<?=$_SESSION['acl']['ratelimit'];?>" class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="domratelimit" data-item="<?=$domain;?>" data-api-url='edit/rl-domain' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
+                </div>
+              </form>
+            </div>
+            <div id="dspamfilter" class="tab-pane">
+              <div class="row">
+                <div class="col-sm-6">
+                  <h4><?=$lang['user']['spamfilter_wl'];?></h4>
+                  <p><?=$lang['user']['spamfilter_wl_desc'];?></p>
+                  <form class="form-inline space20" data-id="add_wl_policy_domain">
+                    <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+                      <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
+                      <span class="input-group-btn">
+                        <button class="btn btn-default" data-action="add_item" data-id="add_wl_policy_domain" data-api-url='add/domain-policy' data-api-attr='{"domain":"<?= $domain; ?>","object_list":"wl"}' href="#"><?=$lang['user']['spamfilter_table_add'];?></button>
+                      </span>
+                    </div>
+                  </form>
+                  <div class="table-responsive">
+                    <table class="table table-striped table-condensed" id="wl_policy_domain_table"></table>
+                  </div>
+                  <div class="mass-actions-user">
+                    <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+                      <a class="btn btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-sm btn-default" id="toggle_multi_select_all" data-id="policy_wl_domain" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                      <a class="btn btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-sm btn-danger" data-action="delete_selected" data-id="policy_wl_domain" data-api-url='delete/domain-policy' href="#"><?=$lang['mailbox']['remove'];?></a>
+                      <div class="clearfix visible-xs"></div>
+                    </div>
+                  </div>
+                </div>
+                <div class="col-sm-6">
+                  <h4><?=$lang['user']['spamfilter_bl'];?></h4>
+                  <p><?=$lang['user']['spamfilter_bl_desc'];?></p>
+                  <form class="form-inline space20" data-id="add_bl_policy_domain">
+                    <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+                      <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
+                      <span class="input-group-btn">
+                        <button class="btn btn-default" data-action="add_item" data-id="add_bl_policy_domain" data-api-url='add/domain-policy' data-api-attr='{"domain":"<?= $domain; ?>","object_list":"bl"}' href="#"><?=$lang['user']['spamfilter_table_add'];?></button>
+                      </span>
+                    </div>
+                  </form>
+                  <div class="table-responsive">
+                    <table class="table table-striped table-condensed" id="bl_policy_domain_table"></table>
+                  </div>
+                  <div class="mass-actions-user">
+                    <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+                      <a class="btn btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-sm btn-default" id="toggle_multi_select_all" data-id="policy_bl_domain" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                      <a class="btn btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-sm btn-danger" data-action="delete_selected" data-id="policy_bl_domain" data-api-url='delete/domain-policy' href="#"><?=$lang['mailbox']['remove'];?></a></li>
+                    </div>
+                  </div>
                 </div>
               </div>
             </div>
-            <div class="form-group">
-              <div class="col-sm-offset-2 col-sm-10">
-                <div class="checkbox">
-                  <label><input type="checkbox" value="1" name="active" <?=(isset($result['active']) && $result['active']=="1") ? "checked" : null;?> <?=($_SESSION['mailcow_cc_role'] == "admin") ? null : "disabled";?>> <?=$lang['edit']['active'];?></label>
+            <div id="dqwbcc" class="tab-pane">
+              <div class="row">
+                <div class="col-sm-12">
+                  <h4><?=$lang['edit']['quota_warning_bcc'];?></h4>
+                  <p><?=$lang['edit']['quota_warning_bcc_info'];?></p>
+                  <form class="form-horizontal" data-id="quota_bcc">
+                    <input type="hidden" value="0" name="active">
+                    <div class="form-group">
+                      <label class="control-label col-sm-2" for="script_data"><?=$lang['edit']['target_address'];?>:</label>
+                      <div class="col-sm-10">
+                        <textarea spellcheck="false" autocorrect="off" autocapitalize="none" class="form-control" rows="10" id="bcc_rcpt" name="bcc_rcpt"><?=implode(PHP_EOL, (array)$quota_notification_bcc['bcc_rcpts']);?></textarea>
+                      </div>
+                    </div>
+                    <div class="form-group">
+                      <div class="col-sm-offset-2 col-sm-10">
+                        <div class="checkbox">
+                        <label><input type="checkbox" value="1" name="active" <?=($quota_notification_bcc['active']=="1") ? "checked" : "";?>> <?=$lang['edit']['active'];?></label>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="form-group">
+                      <div class="col-sm-offset-2 col-sm-10">
+                        <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="quota_bcc" data-item="quota_bcc" data-api-url='edit/quota_notification_bcc' data-api-attr='{"domain":"<?=$domain;?>"}' href="#"><?=$lang['edit']['save'];?></button>
+                      </div>
+                    </div>
+                  </form>
                 </div>
               </div>
             </div>
-            <div class="form-group">
-              <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editdomain" data-item="<?=$domain;?>" data-api-url='edit/domain' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
-              </div>
-            </div>
-          </form>
-          <?php
-          if (!empty($dkim = dkim('details', $domain))) {
-          ?>
-          <hr>
-          <div class="row">
-            <div class="col-xs-2">
-              <p>Domain: <strong><?=htmlspecialchars($result['domain_name']);?></strong> (<?=$dkim['dkim_selector'];?>._domainkey)</p>
-            </div>
-            <div class="col-xs-10">
-              <pre><?=$dkim['dkim_txt'];?></pre>
-            </div>
           </div>
           <?php
-          }
-          ?>
-      <hr>
-      <form data-id="domratelimit" class="form-inline well" method="post">
-        <div class="form-group">
-          <label class="control-label"><?=$lang['acl']['ratelimit'];?></label>
-          <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" autocomplete="off" class="form-control" placeholder="disabled">
-        </div>
-        <div class="form-group">
-          <select name="rl_frame" class="form-control">
-            <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>>msgs / second</option>
-            <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>>msgs / minute</option>
-            <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>>msgs / hour</option>
-            <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>>msgs / day</option>
-          </select>
-        </div>
-        <div class="form-group">
-          <button data-acl="<?=$_SESSION['acl']['ratelimit'];?>" class="btn btn-default" data-action="edit_selected" data-id="domratelimit" data-item="<?=$domain;?>" data-api-url='edit/rl-domain' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
-        </div>
-      </form>
-      <hr>
-      <div class="row">
-        <div class="col-sm-6">
-          <h4><?=$lang['user']['spamfilter_wl'];?></h4>
-          <p><?=$lang['user']['spamfilter_wl_desc'];?></p>
-          <div class="table-responsive">
-            <table class="table table-striped table-condensed" id="wl_policy_domain_table"></table>
-          </div>
-          <div class="mass-actions-user">
-            <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-              <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="policy_wl_domain" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-              <a class="btn btn-sm btn-danger" data-action="delete_selected" data-id="policy_wl_domain" data-api-url='delete/domain-policy' href="#"><?=$lang['mailbox']['remove'];?></a></li>
-            </div>
-          </div>
-          <form class="form-inline" data-id="add_wl_policy_domain">
-            <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-              <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
-              <span class="input-group-btn">
-                <button class="btn btn-default" data-action="add_item" data-id="add_wl_policy_domain" data-api-url='add/domain-policy' data-api-attr='{"domain":"<?= $domain; ?>","object_list":"wl"}' href="#"><?=$lang['user']['spamfilter_table_add'];?></button>
-              </span>
-            </div>
-          </form>
-        </div>
-        <div class="col-sm-6">
-          <h4><?=$lang['user']['spamfilter_bl'];?></h4>
-          <p><?=$lang['user']['spamfilter_bl_desc'];?></p>
-          <div class="table-responsive">
-            <table class="table table-striped table-condensed" id="bl_policy_domain_table"></table>
-          </div>
-          <div class="mass-actions-user">
-            <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-              <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="policy_bl_domain" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-              <a class="btn btn-sm btn-danger" data-action="delete_selected" data-id="policy_bl_domain" data-api-url='delete/domain-policy' href="#"><?=$lang['mailbox']['remove'];?></a></li>
-            </div>
-          </div>
-          <form class="form-inline" data-id="add_bl_policy_domain">
-            <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-              <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
-              <span class="input-group-btn">
-                <button class="btn btn-default" data-action="add_item" data-id="add_bl_policy_domain" data-api-url='add/domain-policy' data-api-attr='{"domain":"<?= $domain; ?>","object_list":"bl"}' href="#"><?=$lang['user']['spamfilter_table_add'];?></button>
-              </span>
-            </div>
-          </form>
-        </div>
-      </div>
-          <?php
         }
         else {
         ?>
@@ -477,7 +523,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-default" data-action="edit_selected" data-id="oauth2client" data-item="<?=$oauth2client;?>" data-api-url='edit/oauth2-client' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="oauth2client" data-item="<?=$oauth2client;?>" data-api-url='edit/oauth2-client' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
               </div>
             </div>
           </form>
@@ -523,7 +569,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editaliasdomain" data-item="<?=$alias_domain;?>" data-api-url='edit/alias-domain' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editaliasdomain" data-item="<?=$alias_domain;?>" data-api-url='edit/alias-domain' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -531,18 +577,18 @@
           <form data-id="domratelimit" class="form-inline well" method="post">
             <div class="form-group">
               <label class="control-label"><?=$lang['acl']['ratelimit'];?></label>
-              <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" autocomplete="off" class="form-control" placeholder="disabled">
+              <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" autocomplete="off" class="form-control" placeholder="<?=$lang['ratelimit']['disabled']?>">
             </div>
             <div class="form-group">
               <select name="rl_frame" class="form-control">
-                <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>>msgs / second</option>
-                <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>>msgs / minute</option>
-                <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>>msgs / hour</option>
-                <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>>msgs / day</option>
+                <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>><?=$lang['ratelimit']['second']?></option>
+                <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>><?=$lang['ratelimit']['minute']?></option>
+                <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>><?=$lang['ratelimit']['hour']?></option>
+                <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>><?=$lang['ratelimit']['day']?></option>
               </select>
             </div>
             <div class="form-group">
-              <button class="btn btn-default" data-action="edit_selected" data-id="domratelimit" data-item="<?=$alias_domain;?>" data-api-url='edit/rl-domain' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="domratelimit" data-item="<?=$alias_domain;?>" data-api-url='edit/rl-domain' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
             </div>
           </form>
           <?php
@@ -550,10 +596,10 @@
           ?>
           <hr>
           <div class="row">
-            <div class="col-xs-2">
+            <div class="col-xs-12 col-sm-2">
               <p>Domain: <strong><?=htmlspecialchars($result['alias_domain']);?></strong> (<?=$dkim['dkim_selector'];?>._domainkey)</p>
             </div>
-            <div class="col-xs-10">
+            <div class="col-xs-12 col-sm-10">
             <pre><?=$dkim['dkim_txt'];?></pre>
             </div>
           </div>
@@ -574,366 +620,402 @@
       $quarantine_notification = mailbox('get', 'quarantine_notification', $mailbox);
       $quarantine_category = mailbox('get', 'quarantine_category', $mailbox);
       $get_tls_policy = mailbox('get', 'tls_policy', $mailbox);
+      $rlyhosts = relayhost('get');
       if (!empty($result)) {
         ?>
-        <h4><?=$lang['edit']['mailbox'];?></h4>
-        <form class="form-horizontal" data-id="editmailbox" role="form" method="post">
-          <input type="hidden" value="default" name="sender_acl">
-          <input type="hidden" value="0" name="force_pw_update">
-          <input type="hidden" value="0" name="sogo_access">
-          <input type="hidden" value="0" name="protocol_access">
-          <div class="form-group">
-            <label class="control-label col-sm-2" for="name"><?=$lang['edit']['full_name'];?></label>
-            <div class="col-sm-10">
-            <input type="text" class="form-control" name="name" value="<?=htmlspecialchars($result['name'], ENT_QUOTES, 'UTF-8');?>">
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2" for="quota"><?=$lang['edit']['quota_mb'];?>
-              <br><span id="quotaBadge" class="badge">max. <?=intval($result['max_new_quota'] / 1048576)?> MiB</span>
-            </label>
-            <div class="col-sm-10">
-              <input type="number" name="quota" style="width:100%" min="0" max="<?=intval($result['max_new_quota'] / 1048576);?>" value="<?=intval($result['quota']) / 1048576;?>" class="form-control">
-              <small class="help-block">0 = ∞</small>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2" for="sender_acl"><?=$lang['edit']['sender_acl'];?></label>
-            <div class="col-sm-10">
-              <select data-live-search="true" data-width="100%" style="width:100%" id="editSelectSenderACL" name="sender_acl" size="10" multiple>
-              <?php
-              $sender_acl_handles = mailbox('get', 'sender_acl_handles', $mailbox);
-
-              foreach ($sender_acl_handles['sender_acl_domains']['ro'] as $domain):
-                ?>
-                <option data-subtext="Admin" value="<?=htmlspecialchars($domain);?>" disabled selected><?=htmlspecialchars(sprintf($lang['edit']['dont_check_sender_acl'], $domain));?></option>
-                <?php
-              endforeach;
-
-              foreach ($sender_acl_handles['sender_acl_addresses']['ro'] as $alias):
-                ?>
-              <option data-subtext="Admin" disabled selected><?=htmlspecialchars($alias);?></option>
-                <?php
-              endforeach;
-
-              foreach ($sender_acl_handles['fixed_sender_aliases'] as $alias):
-                ?>
-                <option data-subtext="Alias" disabled selected><?=htmlspecialchars($alias);?></option>
-                <?php
-              endforeach;
-
-              foreach ($sender_acl_handles['sender_acl_domains']['rw'] as $domain):
-                ?>
-                <option value="<?=htmlspecialchars($domain);?>" selected><?=htmlspecialchars(sprintf($lang['edit']['dont_check_sender_acl'], $domain));?></option>
-                <?php
-              endforeach;
-
-              foreach ($sender_acl_handles['sender_acl_domains']['selectable'] as $domain):
-                ?>
-                <option value="<?=htmlspecialchars($domain);?>"><?=htmlspecialchars(sprintf($lang['edit']['dont_check_sender_acl'], $domain));?></option>
-                <?php
-              endforeach;
-
-              foreach ($sender_acl_handles['sender_acl_addresses']['rw'] as $address):
-                ?>
-                  <option selected><?=htmlspecialchars($address);?></option>
-                <?php
-              endforeach;
-
-              foreach ($sender_acl_handles['sender_acl_addresses']['selectable'] as $address):
-                ?>
-                  <option><?=htmlspecialchars($address);?></option>
-                <?php
-              endforeach;
-
-              // Generated here, but used in extended_sender_acl
-              if (!empty($sender_acl_handles['external_sender_aliases'])) {
-                $ext_sender_acl = implode(', ', $sender_acl_handles['external_sender_aliases']);
-              }
-              else {
-                $ext_sender_acl = '';
-              }
-
-              ?>
-              </select>
-              <div style="display:none" id="sender_acl_disabled"><?=$lang['edit']['sender_acl_disabled'];?></div>
-              <small class="help-block"><?=$lang['edit']['sender_acl_info'];?></small>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2"><?=$lang['user']['quarantine_notification'];?></label>
-            <div class="col-sm-10">
-            <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_notification'];?>">
-              <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "never") ? "active" : null;?>"
-                data-action="edit_selected"
-                data-item="<?= htmlentities($mailbox); ?>"
-                data-id="quarantine_notification"
-                data-api-url='edit/quarantine_notification'
-                data-api-attr='{"quarantine_notification":"never"}'><?=$lang['user']['never'];?></button>
-              <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "hourly") ? "active" : null;?>"
-                data-action="edit_selected"
-                data-item="<?= htmlentities($mailbox); ?>"
-                data-id="quarantine_notification"
-                data-api-url='edit/quarantine_notification'
-                data-api-attr='{"quarantine_notification":"hourly"}'><?=$lang['user']['hourly'];?></button>
-              <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "daily") ? "active" : null;?>"
-                data-action="edit_selected"
-                data-item="<?= htmlentities($mailbox); ?>"
-                data-id="quarantine_notification"
-                data-api-url='edit/quarantine_notification'
-                data-api-attr='{"quarantine_notification":"daily"}'><?=$lang['user']['daily'];?></button>
-              <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "weekly") ? "active" : null;?>"
-                data-action="edit_selected"
-                data-item="<?= htmlentities($mailbox); ?>"
-                data-id="quarantine_notification"
-                data-api-url='edit/quarantine_notification'
-                data-api-attr='{"quarantine_notification":"weekly"}'><?=$lang['user']['weekly'];?></button>
-            </div>
-            <p class="help-block"><small><?=$lang['user']['quarantine_notification_info'];?></small></p>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2"><?=$lang['user']['quarantine_category'];?></label>
-            <div class="col-sm-10">
-            <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_category'];?>">
-              <button type="button" class="btn btn-sm btn-default <?=($quarantine_category == "reject") ? "active" : null;?>"
-                data-action="edit_selected"
-                data-item="<?= htmlentities($mailbox); ?>"
-                data-id="quarantine_category"
-                data-api-url='edit/quarantine_category'
-                data-api-attr='{"quarantine_category":"reject"}'><?=$lang['user']['q_reject'];?></button>
-              <button type="button" class="btn btn-sm btn-default <?=($quarantine_category == "add_header") ? "active" : null;?>"
-                data-action="edit_selected"
-                data-item="<?= htmlentities($mailbox); ?>"
-                data-id="quarantine_category"
-                data-api-url='edit/quarantine_category'
-                data-api-attr='{"quarantine_category":"add_header"}'><?=$lang['user']['q_add_header'];?></button>
-              <button type="button" class="btn btn-sm btn-default <?=($quarantine_category == "all") ? "active" : null;?>"
-                data-action="edit_selected"
-                data-item="<?= htmlentities($mailbox); ?>"
-                data-id="quarantine_category"
-                data-api-url='edit/quarantine_category'
-                data-api-attr='{"quarantine_category":"all"}'><?=$lang['user']['q_all'];?></button>
-            </div>
-            <p class="help-block"><small><?=$lang['user']['quarantine_category_info'];?></small></p>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2" for="sender_acl"><?=$lang['user']['tls_policy'];?></label>
-            <div class="col-sm-10">
-              <div class="btn-group" data-acl="<?=$_SESSION['acl']['tls_policy'];?>">
-                <button type="button" class="btn btn-sm btn-default <?=($get_tls_policy['tls_enforce_in'] == "1") ? "active" : null;?>"
-                  data-action="edit_selected"
-                  data-item="<?= htmlentities($mailbox); ?>"
-                  data-id="tls_policy"
-                  data-api-url='edit/tls_policy'
-                  data-api-attr='{"tls_enforce_in":<?=($get_tls_policy['tls_enforce_in'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_in'];?></button>
-                <button type="button" class="btn btn-sm btn-default <?=($get_tls_policy['tls_enforce_out'] == "1") ? "active" : null;?>"
-                  data-action="edit_selected"
-                  data-item="<?= htmlentities($mailbox); ?>"
-                  data-id="tls_policy"
-                  data-api-url='edit/tls_policy'
-                  data-api-attr='{"tls_enforce_out":<?=($get_tls_policy['tls_enforce_out'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_out'];?></button>
-              </div>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2" for="password"><?=$lang['edit']['password'];?> (<a href="#" class="generate_password"><?=$lang['edit']['generate'];?></a>)</label>
-            <div class="col-sm-10">
-            <input type="password" data-pwgen-field="true" data-hibp="true" class="form-control" name="password" placeholder="<?=$lang['edit']['unchanged_if_empty'];?>" autocomplete="new-password">
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2" for="password2"><?=$lang['edit']['password_repeat'];?></label>
-            <div class="col-sm-10">
-            <input type="password" data-pwgen-field="true" class="form-control" name="password2" autocomplete="new-password">
-            </div>
-          </div>
-          <div data-acl="<?=$_SESSION['acl']['extend_sender_acl'];?>" class="form-group">
-            <label class="control-label col-sm-2" for="extended_sender_acl"><?=$lang['edit']['extended_sender_acl'];?></label>
-            <div class="col-sm-10">
-            <input type="text" class="form-control" name="extended_sender_acl" value="<?=empty($ext_sender_acl) ? '' : $ext_sender_acl; ?>" placeholder="user1@example.com, user2@example.org, @example.com, ...">
-            <small class="help-block"><?=$lang['edit']['extended_sender_acl_info'];?></small>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="control-label col-sm-2" for="protocol_access"><?=$lang['edit']['allowed_protocols'];?></label>
-            <div class="col-sm-10">
-            <select data-acl="<?=$_SESSION['acl']['protocol_access'];?>" name="protocol_access" multiple class="form-control">
-              <option value="imap" <?=($result['attributes']['imap_access']=="1") ? 'selected' : null;?>>IMAP</option>
-              <option value="pop3" <?=($result['attributes']['pop3_access']=="1") ? 'selected' : null;?>>POP3</option>
-              <option value="smtp" <?=($result['attributes']['smtp_access']=="1") ? 'selected' : null;?>>SMTP</option>
-            </select>
-            </div>
-          </div>
-          <div hidden data-acl="<?=$_SESSION['acl']['smtp_ip_access'];?>" class="form-group">
-            <label class="control-label col-sm-2" for="allow_from_smtp"><?=$lang['edit']['allow_from_smtp'];?></label>
-            <div class="col-sm-10">
-            <input type="text" class="form-control" name="allow_from_smtp" value="<?=empty($allow_from_smtp) ? '' : $allow_from_smtp; ?>" placeholder="1.1.1.1, 10.2.0.0/24, ...">
-            <small class="help-block"><?=$lang['edit']['allow_from_smtp_info'];?></small>
-            </div>
-          </div>
-          <hr>
-          <div class="form-group">
-            <div class="col-sm-offset-2 col-sm-10">
-            <select name="active" class="form-control">
-              <option value="1" <?=($result['active']=="1") ? 'selected' : null;?>><?=$lang['edit']['active'];?></option>
-              <option value="2" <?=($result['active']=="2") ? 'selected' : null;?>><?=$lang['edit']['disable_login'];?></option>
-              <option value="0" <?=($result['active']=="0") ? 'selected' : null;?>><?=$lang['edit']['inactive'];?></option>
-            </select>
-            </div>
-          </div>
-          <div class="form-group">
-            <div class="col-sm-offset-2 col-sm-10">
-              <div class="checkbox">
-              <label><input type="checkbox" value="1" name="force_pw_update" <?=($result['attributes']['force_pw_update']=="1") ? "checked" : null;?>> <?=$lang['edit']['force_pw_update'];?></label>
-              <small class="help-block"><?=sprintf($lang['edit']['force_pw_update_info'], $UI_TEXTS['main_name']);?></small>
-              </div>
-            </div>
-          </div>
-          <?php if (getenv('SKIP_SOGO') != "y") { ?>
-          <div data-acl="<?=$_SESSION['acl']['sogo_access'];?>" class="form-group">
-            <div class="col-sm-offset-2 col-sm-10">
-              <div class="checkbox">
-              <label><input type="checkbox" value="1" name="sogo_access" <?=($result['attributes']['sogo_access']=="1") ? "checked" : null;?>> <?=$lang['edit']['sogo_access'];?></label>
-              <small class="help-block"><?=$lang['edit']['sogo_access_info'];?></small>
-              </div>
-            </div>
-          </div>
-          <?php } ?>
-          <div class="form-group">
-            <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-success" data-action="edit_selected" data-id="editmailbox" data-item="<?=htmlspecialchars($result['username']);?>" data-api-url='edit/mailbox' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
-            </div>
-          </div>
-        </form>
+        <ul class="nav nav-tabs responsive-tabs" role="tablist">
+          <li class="active"><a data-toggle="tab" href="#medit"><?=$lang['edit']['mailbox'];?></a></li>
+          <li><a data-toggle="tab" href="#mpushover"><?=$lang['edit']['pushover'];?></a></li>
+          <li><a data-toggle="tab" href="#macl"><?=$lang['edit']['acl'];?></a></li>
+          <li><a data-toggle="tab" href="#mrl"><?=$lang['edit']['ratelimit'];?></a></li>
+        </ul>
         <hr>
-        <form data-id="pushover" class="form well" method="post">
-          <input type="hidden" value="0" name="evaluate_x_prio">
-          <input type="hidden" value="0" name="only_x_prio">
-          <input type="hidden" value="0" name="active">
-          <div class="row">
-            <div class="col-sm-1">
-              <p class="help-block"><a href="https://pushover.net" target="_blank"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAACglBMVEUAAAAAAAEAAAAilecFGigAAAAAAAAAAAAAAAANj+c3n+Ypm+oeYI4KWI4MieAtkdQbleoJcLcjmeswmN4Rit4KgdMKUYQJKUAQSnILL0kMNlMSTngimOoNPF0hlOQBBgkNOlkRS3MHIjUhk+IPf8wKLUYsjM0AAAASTngAAAAAAAAPfckbdLIbdrYUWIgegsgce70knfEAAAAknfENOVkGHi8YaaIjnvEdgMUhkuAQSG8aca0hleQUh9YLjOM4nOEMgtMcbaYWa6YemO02ltkKhNktgLodYZEPXJEyi8kKesktfLUzj84cWYMiluckZ5YJXJYeW4Y0k9YKfs4yjs0pc6YHZaUviskLfMkqmugak+cqkNcViNcqeK4Iaq4XRmYGPmYMKDsFJTstgr0LdL0ti84CCQ4BCQ4Qgc8rlt8XjN8shcQsi8wZSGgEP2cRMEUDKkUAAAD///8dmvEamfExo/EXmPEWl/ERlvElnvEsofEjnfETl/Enn/Ezo/E4pvEvovEfm/E1pPEzpPEvofEOlfEpoPEamPEQlfEYmfE6p/EgnPEVlvEroPE3pfE2pfENk/Ern/E3pPEcmfEfmvEnnvBlufT6/P0soPAknPDd7/zs9vzo9PxBqfItofAqoPD9/f3B4/q43/mx2/l/xfZ6w/Vxv/VtvfVgt/RXtPNTsfNEq/L3+/31+v3a7fvR6vvH5fqs2vmc0/jx+P3v9/3h8fzW7PvV7PvL5/q13fmo1/mh1PiY0fiNy/aHyfZ2wfVou/Vdt/RPsPM3oeoQkuowmeAgjdgcgMQbeLrw9/3k8vy74Pm63/mX0PdYtfNNr/Ikm+4wnOchkuAVjOAfdrMVcrOdoJikAAAAcnRSTlMAIQ8IzzweFwf+/fvw8P79+/Xt7e3p6eji4d7U08y8qZyTiIWDgn53bWxqaWBKQ0JBOjUwMCkoJCEfHBkT/vz8/Pv7+vr69/b29PTy7ezm5ubm5N7e29vQ0M/Pv7+4uLW1pqaWloWDg3x7e21mUVFFRUXdPracAAAEbElEQVRIx4WUZbvaQBCFF+ru7u7u7u7u7t4mvVwSoBC0JIUCLRQolLq7u7vr/+nMLkmQyvlwyfPcd86e3ZldUqwyQ/p329J+XfutPQYOLUP+q55rFtQJRvY79+xxlZTUWbKpz7/xrrMr2+3BoNPpdLn2lJQ4HEeqLOr1d7z7XNkesQed4A848G63Oy4Gmg/6Mz542QvZbqe8C/Ig73CLYiYTrtLmT3zfqbIcAR7y4wIqH/B6M9Fo0+Ldb6sM9ph/v4ozPuz12mxRofaAAr7jCNkuoz/jNf9AGHibkBCm51fsGKvxsAGWx4H+jBcEi6V2birDpCL/9Klrd1KHbiSvPWP8V0tTnTfO03iXi57P6WNHOVUf44IFdFDRz6pV5fw8Zy5z3JVH5+R48OwxqDiGvKJIY9R+9JsCuJ5HPg74OVEMpz+nbdEPUHEWeEk6IDUnTC1l5r+f8uffc0cfxc8fS17kLso24SwUPFDA/6DE82xKDOPliJ7n/GGOOyWK9zD9CdjvOfg9Dv6AH+AX04LW9gj2i8W/APx1UbxwCAu+wPmcpgUKL/EHdvtq4uwaZwCuznPJVY5LHhED15G/isd5Hz4eKui/e/du02YoKFeD5mHzHIN/nxEDe25gQQwKorAid04CfyzwL4XutXvl1Pt1guMOwwKPkU8mYIFT8JHK+vv8prpDScUVL+j8s3lOctw1GIhbWHAS+HgKPk7xPM/4UtNAYmzizJkf6NgTb/gM8jePQLsewMdthS3g95tMpT1IhVm6v1s8fYmLeb13Odwp8Fh5KY048y/d14WUrwrb1e/X/rNp73nkD8kWS+wi/MZ4XuetG4mhKubJm3/WNEvi8SHwB56nPKjUam0LBdp9ARwupFemTYudvgN/L1+A/Ko/LGBuS8pPy+YR1fuCTWNKnUyoeUyYx2o2dyEVGmr5xTD42xzvkD16+Pb9WIIH6fmt1r3mbsTY7Bvw+n23naT8BUWh86bz6G/e259UXPUK3gfAxQDlo7Rpx3Geqb2e3wp83SGEdKpB7zvwYbzvT2n65xLwbH6YP+M9C8vA8E1wxLU8gkCbdhXGUyrMgwVrcbzLHonr78lzDvWM3q/C/HtDlXoSUIe3YkblhRPIX4E8Oo/9siLv8dRjV7SBlkdgTXvKS7nzsA/9AfeEuhKq9T8zWIDv1Sd6ETAP4D6/H/1V+1BojvruNa4SZXz4JhY84dV5MOF5agUvu5OsOo+KRpG30KalEnoeDccFlutPZYs38D5n3zcpr1/0fBhfb3DOY1z2tSAgLxWezz6zuoHhfUmOejf6blHQH/sFuJYfcMZX307ytKvRa3ifoV/586P5j+tICtS77BuJxzxYAPZsntX8k3eSIhlajK4p8b7iefCEKs03kD/I2LnxL9ovH+43y4fAv1YrI/mzDBsavAX/UppfzVOrZT/ydxk6lJ047MfLfVbcb6hS9ZEzWxekKQ5WrtPqZg3rV6tWrX6Tle3KQZj/q6KxQnmDoXwFY0VSrN9e8FRXBCTAvwAAAABJRU5ErkJggg==" class="img img-fluid"></a></p>
-            </div>
-            <div class="col-sm-10">
-              <p class="help-block"><?=sprintf($lang['edit']['pushover_info'], $mailbox);?></p>
-              <p class="help-block"><?=$lang['edit']['pushover_vars'];?>: <code>{SUBJECT}</code>, <code>{SENDER}</code></p>
+        <div class="tab-content">
+          <div id="medit" class="tab-pane in active">
+            <form class="form-horizontal" data-id="editmailbox" role="form" method="post">
+              <input type="hidden" value="default" name="sender_acl">
+              <input type="hidden" value="0" name="force_pw_update">
+              <input type="hidden" value="0" name="sogo_access">
+              <input type="hidden" value="0" name="protocol_access">
               <div class="form-group">
-                <div class="row">
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="token">API Token/Key (Application)</label>
-                      <input type="text" class="form-control" name="token" maxlength="30" value="<?=$pushover_data['token'];?>" required>
-                    </div>
+                <label class="control-label col-sm-2" for="name"><?=$lang['edit']['full_name'];?></label>
+                <div class="col-sm-10">
+                <input type="text" class="form-control" name="name" value="<?=htmlspecialchars($result['name'], ENT_QUOTES, 'UTF-8');?>">
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="quota"><?=$lang['edit']['quota_mb'];?>
+                  <br><span id="quotaBadge" class="badge">max. <?=intval($result['max_new_quota'] / 1048576)?> MiB</span>
+                </label>
+                <div class="col-sm-10">
+                  <input type="number" name="quota" style="width:100%" min="0" max="<?=intval($result['max_new_quota'] / 1048576);?>" value="<?=intval($result['quota']) / 1048576;?>" class="form-control">
+                  <small class="help-block">0 = ∞</small>
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="sender_acl"><?=$lang['edit']['sender_acl'];?></label>
+                <div class="col-sm-10">
+                  <select data-live-search="true" data-width="100%" style="width:100%" id="editSelectSenderACL" name="sender_acl" size="10" multiple>
+                  <?php
+                  $sender_acl_handles = mailbox('get', 'sender_acl_handles', $mailbox);
+
+                  foreach ($sender_acl_handles['sender_acl_domains']['ro'] as $domain):
+                    ?>
+                    <option data-subtext="Admin" value="<?=htmlspecialchars($domain);?>" disabled selected><?=htmlspecialchars(sprintf($lang['edit']['dont_check_sender_acl'], $domain));?></option>
+                    <?php
+                  endforeach;
+
+                  foreach ($sender_acl_handles['sender_acl_addresses']['ro'] as $alias):
+                    ?>
+                  <option data-subtext="Admin" disabled selected><?=htmlspecialchars($alias);?></option>
+                    <?php
+                  endforeach;
+
+                  foreach ($sender_acl_handles['fixed_sender_aliases'] as $alias):
+                    ?>
+                    <option data-subtext="Alias" disabled selected><?=htmlspecialchars($alias);?></option>
+                    <?php
+                  endforeach;
+
+                  foreach ($sender_acl_handles['sender_acl_domains']['rw'] as $domain):
+                    ?>
+                    <option value="<?=htmlspecialchars($domain);?>" selected><?=htmlspecialchars(sprintf($lang['edit']['dont_check_sender_acl'], $domain));?></option>
+                    <?php
+                  endforeach;
+
+                  foreach ($sender_acl_handles['sender_acl_domains']['selectable'] as $domain):
+                    ?>
+                    <option value="<?=htmlspecialchars($domain);?>"><?=htmlspecialchars(sprintf($lang['edit']['dont_check_sender_acl'], $domain));?></option>
+                    <?php
+                  endforeach;
+
+                  foreach ($sender_acl_handles['sender_acl_addresses']['rw'] as $address):
+                    ?>
+                      <option selected><?=htmlspecialchars($address);?></option>
+                    <?php
+                  endforeach;
+
+                  foreach ($sender_acl_handles['sender_acl_addresses']['selectable'] as $address):
+                    ?>
+                      <option><?=htmlspecialchars($address);?></option>
+                    <?php
+                  endforeach;
+
+                  // Generated here, but used in extended_sender_acl
+                  if (!empty($sender_acl_handles['external_sender_aliases'])) {
+                    $ext_sender_acl = implode(', ', $sender_acl_handles['external_sender_aliases']);
+                  }
+                  else {
+                    $ext_sender_acl = '';
+                  }
+
+                  ?>
+                  </select>
+                  <div id="sender_acl_disabled"><i class="bi bi-shield-exclamation"></i> <?=$lang['edit']['sender_acl_disabled'];?></div>
+                  <small class="help-block"><?=$lang['edit']['sender_acl_info'];?></small>
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="relayhost"><?=$lang['edit']['relayhost'];?></label>
+                <div class="col-sm-10">
+                  <select data-acl="<?=$_SESSION['acl']['mailbox_relayhost'];?>" data-live-search="true" id="relayhost" name="relayhost" class="form-control space20">
+                    <?php
+                    foreach ($rlyhosts as $rlyhost) {
+                    ?>
+                        <option style="<?=($rlyhost['active'] == 1) ? '' : 'background: #ff4136; color: #fff';?>" value="<?=$rlyhost['id'];?>" <?=($result['attributes']['relayhost'] == $rlyhost['id']) ? 'selected' : null;?>>ID <?=$rlyhost['id'];?>: <?=$rlyhost['hostname'];?> (<?=$rlyhost['username'];?>)</option>
+                    <?php
+                    }
+                    ?>
+                    <option value="" <?=($result['attributes']['relayhost'] == "0" || empty($result['attributes']['relayhost'])) ? 'selected' : null;?>><?=$lang['edit']['none_inherit'];?></option>
+                  </select>
+                  <p class="visible-xs" style="margin: 0;padding: 0">&nbsp;</p>
+                  <small class="help-block"><?=$lang['edit']['mailbox_relayhost_info'];?></small>
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2"><?=$lang['user']['quarantine_notification'];?></label>
+                <div class="col-sm-10">
+                <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_notification'];?>">
+                  <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "never") ? "active" : null;?>"
+                    data-action="edit_selected"
+                    data-item="<?= htmlentities($mailbox); ?>"
+                    data-id="quarantine_notification"
+                    data-api-url='edit/quarantine_notification'
+                    data-api-attr='{"quarantine_notification":"never"}'><?=$lang['user']['never'];?></button>
+                  <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "hourly") ? "active" : null;?>"
+                    data-action="edit_selected"
+                    data-item="<?= htmlentities($mailbox); ?>"
+                    data-id="quarantine_notification"
+                    data-api-url='edit/quarantine_notification'
+                    data-api-attr='{"quarantine_notification":"hourly"}'><?=$lang['user']['hourly'];?></button>
+                  <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "daily") ? "active" : null;?>"
+                    data-action="edit_selected"
+                    data-item="<?= htmlentities($mailbox); ?>"
+                    data-id="quarantine_notification"
+                    data-api-url='edit/quarantine_notification'
+                    data-api-attr='{"quarantine_notification":"daily"}'><?=$lang['user']['daily'];?></button>
+                  <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "weekly") ? "active" : null;?>"
+                    data-action="edit_selected"
+                    data-item="<?= htmlentities($mailbox); ?>"
+                    data-id="quarantine_notification"
+                    data-api-url='edit/quarantine_notification'
+                    data-api-attr='{"quarantine_notification":"weekly"}'><?=$lang['user']['weekly'];?></button>
+                    <div class="clearfix visible-xs"></div>
+                </div>
+                <p class="help-block"><small><?=$lang['user']['quarantine_notification_info'];?></small></p>
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2"><?=$lang['user']['quarantine_category'];?></label>
+                <div class="col-sm-10">
+                <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_category'];?>">
+                  <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_category == "reject") ? "active" : null;?>"
+                    data-action="edit_selected"
+                    data-item="<?= htmlentities($mailbox); ?>"
+                    data-id="quarantine_category"
+                    data-api-url='edit/quarantine_category'
+                    data-api-attr='{"quarantine_category":"reject"}'><?=$lang['user']['q_reject'];?></button>
+                  <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_category == "add_header") ? "active" : null;?>"
+                    data-action="edit_selected"
+                    data-item="<?= htmlentities($mailbox); ?>"
+                    data-id="quarantine_category"
+                    data-api-url='edit/quarantine_category'
+                    data-api-attr='{"quarantine_category":"add_header"}'><?=$lang['user']['q_add_header'];?></button>
+                  <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_category == "all") ? "active" : null;?>"
+                    data-action="edit_selected"
+                    data-item="<?= htmlentities($mailbox); ?>"
+                    data-id="quarantine_category"
+                    data-api-url='edit/quarantine_category'
+                    data-api-attr='{"quarantine_category":"all"}'><?=$lang['user']['q_all'];?></button>
+                    <div class="clearfix visible-xs"></div>
+                </div>
+                <p class="help-block"><small><?=$lang['user']['quarantine_category_info'];?></small></p>
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="sender_acl"><?=$lang['user']['tls_policy'];?></label>
+                <div class="col-sm-10">
+                  <div class="btn-group" data-acl="<?=$_SESSION['acl']['tls_policy'];?>">
+                    <button type="button" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($get_tls_policy['tls_enforce_in'] == "1") ? "active" : null;?>"
+                      data-action="edit_selected"
+                      data-item="<?= htmlentities($mailbox); ?>"
+                      data-id="tls_policy"
+                      data-api-url='edit/tls_policy'
+                      data-api-attr='{"tls_enforce_in":<?=($get_tls_policy['tls_enforce_in'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_in'];?></button>
+                    <button type="button" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($get_tls_policy['tls_enforce_out'] == "1") ? "active" : null;?>"
+                      data-action="edit_selected"
+                      data-item="<?= htmlentities($mailbox); ?>"
+                      data-id="tls_policy"
+                      data-api-url='edit/tls_policy'
+                      data-api-attr='{"tls_enforce_out":<?=($get_tls_policy['tls_enforce_out'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_out'];?></button>
+                      <div class="clearfix visible-xs"></div>
                   </div>
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="key">User/Group Key</label>
-                      <input type="text" class="form-control" name="key" maxlength="30" value="<?=$pushover_data['key'];?>" required>
-                    </div>
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="password"><?=$lang['edit']['password'];?> (<a href="#" class="generate_password"><?=$lang['edit']['generate'];?></a>)</label>
+                <div class="col-sm-10">
+                <input type="password" data-pwgen-field="true" data-hibp="true" class="form-control" name="password" placeholder="<?=$lang['edit']['unchanged_if_empty'];?>" autocomplete="new-password">
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="password2"><?=$lang['edit']['password_repeat'];?></label>
+                <div class="col-sm-10">
+                <input type="password" data-pwgen-field="true" class="form-control" name="password2" autocomplete="new-password">
+                </div>
+              </div>
+              <div data-acl="<?=$_SESSION['acl']['extend_sender_acl'];?>" class="form-group">
+                <label class="control-label col-sm-2" for="extended_sender_acl"><?=$lang['edit']['extended_sender_acl'];?></label>
+                <div class="col-sm-10">
+                <input type="text" class="form-control" name="extended_sender_acl" value="<?=empty($ext_sender_acl) ? '' : $ext_sender_acl; ?>" placeholder="user1@example.com, user2@example.org, @example.com, ...">
+                <small class="help-block"><?=$lang['edit']['extended_sender_acl_info'];?></small>
+                </div>
+              </div>
+              <div class="form-group">
+                <label class="control-label col-sm-2" for="protocol_access"><?=$lang['edit']['allowed_protocols'];?></label>
+                <div class="col-sm-10">
+                <select data-acl="<?=$_SESSION['acl']['protocol_access'];?>" name="protocol_access" multiple class="form-control">
+                  <option value="imap" <?=($result['attributes']['imap_access']=="1") ? 'selected' : null;?>>IMAP</option>
+                  <option value="pop3" <?=($result['attributes']['pop3_access']=="1") ? 'selected' : null;?>>POP3</option>
+                  <option value="smtp" <?=($result['attributes']['smtp_access']=="1") ? 'selected' : null;?>>SMTP</option>
+                </select>
+                </div>
+              </div>
+              <div hidden data-acl="<?=$_SESSION['acl']['smtp_ip_access'];?>" class="form-group">
+                <label class="control-label col-sm-2" for="allow_from_smtp"><?=$lang['edit']['allow_from_smtp'];?></label>
+                <div class="col-sm-10">
+                <input type="text" class="form-control" name="allow_from_smtp" value="<?=empty($allow_from_smtp) ? '' : $allow_from_smtp; ?>" placeholder="1.1.1.1, 10.2.0.0/24, ...">
+                <small class="help-block"><?=$lang['edit']['allow_from_smtp_info'];?></small>
+                </div>
+              </div>
+              <hr>
+              <div class="form-group">
+                <div class="col-sm-offset-2 col-sm-10">
+                <select name="active" class="form-control">
+                  <option value="1" <?=($result['active']=="1") ? 'selected' : null;?>><?=$lang['edit']['active'];?></option>
+                  <option value="2" <?=($result['active']=="2") ? 'selected' : null;?>><?=$lang['edit']['disable_login'];?></option>
+                  <option value="0" <?=($result['active']=="0") ? 'selected' : null;?>><?=$lang['edit']['inactive'];?></option>
+                </select>
+                </div>
+              </div>
+              <div class="form-group">
+                <div class="col-sm-offset-2 col-sm-10">
+                  <div class="checkbox">
+                  <label><input type="checkbox" value="1" name="force_pw_update" <?=($result['attributes']['force_pw_update']=="1") ? "checked" : null;?>> <?=$lang['edit']['force_pw_update'];?></label>
+                  <small class="help-block"><?=sprintf($lang['edit']['force_pw_update_info'], $UI_TEXTS['main_name']);?></small>
                   </div>
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="title"><?=$lang['edit']['pushover_title'];?></label>
-                      <input type="text" class="form-control" name="title" value="<?=$pushover_data['title'];?>" placeholder="Mail">
-                    </div>
+                </div>
+              </div>
+              <?php if (getenv('SKIP_SOGO') != "y") { ?>
+              <div data-acl="<?=$_SESSION['acl']['sogo_access'];?>" class="form-group">
+                <div class="col-sm-offset-2 col-sm-10">
+                  <div class="checkbox">
+                  <label><input type="checkbox" value="1" name="sogo_access" <?=($result['attributes']['sogo_access']=="1") ? "checked" : null;?>> <?=$lang['edit']['sogo_access'];?></label>
+                  <small class="help-block"><?=$lang['edit']['sogo_access_info'];?></small>
                   </div>
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="text"><?=$lang['edit']['pushover_text'];?></label>
-                      <input type="text" class="form-control" name="text" value="<?=$pushover_data['text'];?>" placeholder="You've got mail 📧">
-                    </div>
-                  </div>
-                  <div class="col-sm-12">
-                    <div class="form-group">
-                      <label for="text"><?=$lang['edit']['pushover_sender_array'];?></label>
-                      <input type="text" class="form-control" name="senders" value="<?=$pushover_data['senders'];?>" placeholder="sender1@example.com, sender2@example.com">
-                    </div>
-                  </div>
-                  <div class="col-sm-12">
-                    <div class="checkbox">
-                    <label><input type="checkbox" value="1" name="active" <?=($pushover_data['active']=="1") ? "checked" : null;?>> <?=$lang['edit']['active'];?></label>
-                    </div>
-                  </div>
-                  <div class="col-sm-12">
-                    <legend style="cursor:pointer;margin-top:10px" data-target="#po_advanced" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-                      <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['edit']['advanced_settings'];?>
-                    </legend>
-                  </div>
-                  <div class="col-sm-12">
-                    <div id="po_advanced" class="collapse">
-                      <div class="form-group">
-                        <label for="text"><?=$lang['edit']['pushover_sender_regex'];?></label>
-                        <input type="text" class="form-control" name="senders_regex" value="<?=$pushover_data['senders_regex'];?>" placeholder="/(.*@example\.org$|^foo@example\.com$)/i" regex="true">
-                        <div class="checkbox">
-                          <label><input type="checkbox" value="1" name="evaluate_x_prio" <?=($pushover_data['attributes']['evaluate_x_prio']=="1") ? "checked" : null;?>> <?=$lang['edit']['pushover_evaluate_x_prio'];?></label>
+                </div>
+              </div>
+              <?php } ?>
+              <div class="form-group">
+                <div class="col-sm-offset-2 col-sm-10">
+                  <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editmailbox" data-item="<?=htmlspecialchars($result['username']);?>" data-api-url='edit/mailbox' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                </div>
+              </div>
+            </form>
+          </div>
+          <div id="mpushover" class="tab-pane">
+            <form data-id="pushover" class="form well" method="post">
+              <input type="hidden" value="0" name="evaluate_x_prio">
+              <input type="hidden" value="0" name="only_x_prio">
+              <input type="hidden" value="0" name="active">
+              <div class="row">
+                <div class="col-sm-1">
+                  <p class="help-block"><a href="https://pushover.net" target="_blank"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAACglBMVEUAAAAAAAEAAAAilecFGigAAAAAAAAAAAAAAAANj+c3n+Ypm+oeYI4KWI4MieAtkdQbleoJcLcjmeswmN4Rit4KgdMKUYQJKUAQSnILL0kMNlMSTngimOoNPF0hlOQBBgkNOlkRS3MHIjUhk+IPf8wKLUYsjM0AAAASTngAAAAAAAAPfckbdLIbdrYUWIgegsgce70knfEAAAAknfENOVkGHi8YaaIjnvEdgMUhkuAQSG8aca0hleQUh9YLjOM4nOEMgtMcbaYWa6YemO02ltkKhNktgLodYZEPXJEyi8kKesktfLUzj84cWYMiluckZ5YJXJYeW4Y0k9YKfs4yjs0pc6YHZaUviskLfMkqmugak+cqkNcViNcqeK4Iaq4XRmYGPmYMKDsFJTstgr0LdL0ti84CCQ4BCQ4Qgc8rlt8XjN8shcQsi8wZSGgEP2cRMEUDKkUAAAD///8dmvEamfExo/EXmPEWl/ERlvElnvEsofEjnfETl/Enn/Ezo/E4pvEvovEfm/E1pPEzpPEvofEOlfEpoPEamPEQlfEYmfE6p/EgnPEVlvEroPE3pfE2pfENk/Ern/E3pPEcmfEfmvEnnvBlufT6/P0soPAknPDd7/zs9vzo9PxBqfItofAqoPD9/f3B4/q43/mx2/l/xfZ6w/Vxv/VtvfVgt/RXtPNTsfNEq/L3+/31+v3a7fvR6vvH5fqs2vmc0/jx+P3v9/3h8fzW7PvV7PvL5/q13fmo1/mh1PiY0fiNy/aHyfZ2wfVou/Vdt/RPsPM3oeoQkuowmeAgjdgcgMQbeLrw9/3k8vy74Pm63/mX0PdYtfNNr/Ikm+4wnOchkuAVjOAfdrMVcrOdoJikAAAAcnRSTlMAIQ8IzzweFwf+/fvw8P79+/Xt7e3p6eji4d7U08y8qZyTiIWDgn53bWxqaWBKQ0JBOjUwMCkoJCEfHBkT/vz8/Pv7+vr69/b29PTy7ezm5ubm5N7e29vQ0M/Pv7+4uLW1pqaWloWDg3x7e21mUVFFRUXdPracAAAEbElEQVRIx4WUZbvaQBCFF+ru7u7u7u7u7t4mvVwSoBC0JIUCLRQolLq7u7vr/+nMLkmQyvlwyfPcd86e3ZldUqwyQ/p329J+XfutPQYOLUP+q55rFtQJRvY79+xxlZTUWbKpz7/xrrMr2+3BoNPpdLn2lJQ4HEeqLOr1d7z7XNkesQed4A848G63Oy4Gmg/6Mz542QvZbqe8C/Ig73CLYiYTrtLmT3zfqbIcAR7y4wIqH/B6M9Fo0+Ldb6sM9ph/v4ozPuz12mxRofaAAr7jCNkuoz/jNf9AGHibkBCm51fsGKvxsAGWx4H+jBcEi6V2birDpCL/9Klrd1KHbiSvPWP8V0tTnTfO03iXi57P6WNHOVUf44IFdFDRz6pV5fw8Zy5z3JVH5+R48OwxqDiGvKJIY9R+9JsCuJ5HPg74OVEMpz+nbdEPUHEWeEk6IDUnTC1l5r+f8uffc0cfxc8fS17kLso24SwUPFDA/6DE82xKDOPliJ7n/GGOOyWK9zD9CdjvOfg9Dv6AH+AX04LW9gj2i8W/APx1UbxwCAu+wPmcpgUKL/EHdvtq4uwaZwCuznPJVY5LHhED15G/isd5Hz4eKui/e/du02YoKFeD5mHzHIN/nxEDe25gQQwKorAid04CfyzwL4XutXvl1Pt1guMOwwKPkU8mYIFT8JHK+vv8prpDScUVL+j8s3lOctw1GIhbWHAS+HgKPk7xPM/4UtNAYmzizJkf6NgTb/gM8jePQLsewMdthS3g95tMpT1IhVm6v1s8fYmLeb13Odwp8Fh5KY048y/d14WUrwrb1e/X/rNp73nkD8kWS+wi/MZ4XuetG4mhKubJm3/WNEvi8SHwB56nPKjUam0LBdp9ARwupFemTYudvgN/L1+A/Ko/LGBuS8pPy+YR1fuCTWNKnUyoeUyYx2o2dyEVGmr5xTD42xzvkD16+Pb9WIIH6fmt1r3mbsTY7Bvw+n23naT8BUWh86bz6G/e259UXPUK3gfAxQDlo7Rpx3Geqb2e3wp83SGEdKpB7zvwYbzvT2n65xLwbH6YP+M9C8vA8E1wxLU8gkCbdhXGUyrMgwVrcbzLHonr78lzDvWM3q/C/HtDlXoSUIe3YkblhRPIX4E8Oo/9siLv8dRjV7SBlkdgTXvKS7nzsA/9AfeEuhKq9T8zWIDv1Sd6ETAP4D6/H/1V+1BojvruNa4SZXz4JhY84dV5MOF5agUvu5OsOo+KRpG30KalEnoeDccFlutPZYs38D5n3zcpr1/0fBhfb3DOY1z2tSAgLxWezz6zuoHhfUmOejf6blHQH/sFuJYfcMZX307ytKvRa3ifoV/586P5j+tICtS77BuJxzxYAPZsntX8k3eSIhlajK4p8b7iefCEKs03kD/I2LnxL9ovH+43y4fAv1YrI/mzDBsavAX/UppfzVOrZT/ydxk6lJ047MfLfVbcb6hS9ZEzWxekKQ5WrtPqZg3rV6tWrX6Tle3KQZj/q6KxQnmDoXwFY0VSrN9e8FRXBCTAvwAAAABJRU5ErkJggg==" class="img img-fluid"></a></p>
+                </div>
+                <div class="col-sm-10">
+                  <p class="help-block"><?=sprintf($lang['edit']['pushover_info'], $mailbox);?></p>
+                  <p class="help-block"><?=$lang['edit']['pushover_vars'];?>: <code>{SUBJECT}</code>, <code>{SENDER}</code></p>
+                  <div class="form-group">
+                    <div class="row">
+                      <div class="col-sm-6">
+                        <div class="form-group">
+                          <label for="token">API Token/Key (Application)</label>
+                          <input type="text" class="form-control" name="token" maxlength="30" value="<?=$pushover_data['token'];?>" required>
                         </div>
+                      </div>
+                      <div class="col-sm-6">
+                        <div class="form-group">
+                          <label for="key">User/Group Key</label>
+                          <input type="text" class="form-control" name="key" maxlength="30" value="<?=$pushover_data['key'];?>" required>
+                        </div>
+                      </div>
+                      <div class="col-sm-6">
+                        <div class="form-group">
+                          <label for="title"><?=$lang['edit']['pushover_title'];?></label>
+                          <input type="text" class="form-control" name="title" value="<?=$pushover_data['title'];?>" placeholder="Mail">
+                        </div>
+                      </div>
+                      <div class="col-sm-6">
+                        <div class="form-group">
+                          <label for="text"><?=$lang['edit']['pushover_text'];?></label>
+                          <input type="text" class="form-control" name="text" value="<?=$pushover_data['text'];?>" placeholder="You've got mail 📧">
+                        </div>
+                      </div>
+                      <div class="col-sm-12">
+                        <div class="form-group">
+                          <label for="text"><?=$lang['edit']['pushover_sender_array'];?></label>
+                          <input type="text" class="form-control" name="senders" value="<?=$pushover_data['senders'];?>" placeholder="sender1@example.com, sender2@example.com">
+                        </div>
+                      </div>
+                      <div class="col-sm-12">
                         <div class="checkbox">
-                          <label><input type="checkbox" value="1" name="only_x_prio" <?=($pushover_data['attributes']['only_x_prio']=="1") ? "checked" : null;?>> <?=$lang['edit']['pushover_only_x_prio'];?></label>
+                        <label><input type="checkbox" value="1" name="active" <?=($pushover_data['active']=="1") ? "checked" : null;?>> <?=$lang['edit']['active'];?></label>
+                        </div>
+                      </div>
+                      <div class="col-sm-12">
+                        <legend style="cursor:pointer;margin-top:10px" data-target="#po_advanced" unselectable="on" data-toggle="collapse">
+                          <i class="bi bi-plus"></i> <?=$lang['edit']['advanced_settings'];?>
+                        </legend>
+                      </div>
+                      <div class="col-sm-12">
+                        <div id="po_advanced" class="collapse">
+                          <div class="form-group">
+                            <label for="text"><?=$lang['edit']['pushover_sender_regex'];?></label>
+                            <input type="text" class="form-control" name="senders_regex" value="<?=$pushover_data['senders_regex'];?>" placeholder="/(.*@example\.org$|^foo@example\.com$)/i" regex="true">
+                            <div class="checkbox">
+                              <label><input type="checkbox" value="1" name="evaluate_x_prio" <?=($pushover_data['attributes']['evaluate_x_prio']=="1") ? "checked" : null;?>> <?=$lang['edit']['pushover_evaluate_x_prio'];?></label>
+                            </div>
+                            <div class="checkbox">
+                              <label><input type="checkbox" value="1" name="only_x_prio" <?=($pushover_data['attributes']['only_x_prio']=="1") ? "checked" : null;?>> <?=$lang['edit']['pushover_only_x_prio'];?></label>
+                            </div>
+                          </div>
                         </div>
                       </div>
                     </div>
                   </div>
+                  <div class="btn-group" data-acl="<?=$_SESSION['acl']['pushover'];?>">
+                      <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="pushover" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/pushover' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></a>
+                      <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="pushover-test" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/pushover-test' data-api-attr='{}' href="#"><i class="bi bi-check-lg"></i> <?=$lang['edit']['pushover_verify'];?></a>
+                      <div class="clearfix visible-xs"></div>
+                      <a id="pushover_delete" class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger" data-action="edit_selected" data-id="pushover-delete" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/pushover' data-api-attr='{"delete":"true"}' href="#"><i class="bi bi-trash"></i> <?=$lang['edit']['remove'];?></a>
+                  </div>
                 </div>
               </div>
-              <div class="btn-group" data-acl="<?=$_SESSION['acl']['pushover'];?>">
-                  <a class="btn btn-sm btn-default" data-action="edit_selected" data-id="pushover" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/pushover' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></a>
-                  <a class="btn btn-sm btn-default" data-action="edit_selected" data-id="pushover-test" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/pushover-test' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['edit']['pushover_verify'];?></a>
-                  <a id="pushover_delete" class="btn btn-sm btn-danger" data-action="edit_selected" data-id="pushover-delete" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/pushover' data-api-attr='{"delete":"true"}' href="#"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span> <?=$lang['edit']['remove'];?></a>
-              </div>
-            </div>
+            </form>
           </div>
-        </form>
-        <hr>
-        <form data-id="mboxratelimit" class="form-inline well" method="post">
-          <div class="row">
-            <div class="col-sm-1">
-              <p class="help-block"><?=$lang['acl']['ratelimit'];?></p>
-            </div>
-            <div class="col-sm-10">
-              <div class="form-group">
-                <input name="rl_value" type="number" autocomplete="off" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="disabled">
+          <div id="macl" class="tab-pane">
+            <form data-id="useracl" class="form-inline well" method="post">
+              <div class="row">
+                <div class="col-sm-1">
+                  <p class="help-block">ACL</p>
+                </div>
+                <div class="col-sm-10">
+                  <div class="form-group">
+                    <select id="user_acl" name="user_acl" size="10" multiple>
+                    <?php
+                    $user_acls = acl('get', 'user', $mailbox);
+                    foreach ($user_acls as $acl => $val):
+                      ?>
+                      <option value="<?=$acl;?>" <?=($val == 1) ? 'selected' : null;?>><?=$lang['acl'][$acl];?></option>
+                      <?php
+                    endforeach;
+                    ?>
+                    </select>
+                  </div>
+                  <div class="form-group">
+                    <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="useracl" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/user-acl' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                  </div>
+                </div>
               </div>
-              <div class="form-group">
-                <select name="rl_frame" class="form-control">
-                  <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>>msgs / second</option>
-                  <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>>msgs / minute</option>
-                  <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>>msgs / hour</option>
-                  <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>>msgs / day</option>
-                </select>
-              </div>
-              <div class="form-group">
-                <button class="btn btn-default" data-action="edit_selected" data-id="mboxratelimit" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/rl-mbox' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
-              </div>
-              <p class="help-block"><?=$lang['edit']['mbox_rl_info'];?></p>
-            </div>
+            </form>
           </div>
-        </form>
-        <form data-id="useracl" class="form-inline well" method="post">
-          <div class="row">
-            <div class="col-sm-1">
-              <p class="help-block">ACL</p>
-            </div>
-            <div class="col-sm-10">
-              <div class="form-group">
-                <select id="user_acl" name="user_acl" size="10" multiple>
-                <?php
-                $user_acls = acl('get', 'user', $mailbox);
-                foreach ($user_acls as $acl => $val):
-                  ?>
-                  <option value="<?=$acl;?>" <?=($val == 1) ? 'selected' : null;?>><?=$lang['acl'][$acl];?></option>
-                  <?php
-                endforeach;
-                ?>
-                </select>
+          <div id="mrl" class="tab-pane">
+            <form data-id="mboxratelimit" class="form-inline well" method="post">
+              <div class="row">
+                <div class="col-sm-1">
+                  <p class="help-block"><?=$lang['acl']['ratelimit'];?></p>
+                </div>
+                <div class="col-sm-10">
+                  <div class="form-group">
+                    <input name="rl_value" type="number" autocomplete="off" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="<?=$lang['ratelimit']['disabled']?>">
+                  </div>
+                  <div class="form-group">
+                    <select name="rl_frame" class="form-control">
+                      <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>><?=$lang['ratelimit']['second']?></option>
+                      <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>><?=$lang['ratelimit']['minute']?></option>
+                      <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>><?=$lang['ratelimit']['hour']?></option>
+                      <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>><?=$lang['ratelimit']['day']?></option>
+                    </select>
+                  </div>
+                  <div class="form-group">
+                    <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="mboxratelimit" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/rl-mbox' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                  </div>
+                  <p class="help-block"><?=$lang['edit']['mbox_rl_info'];?></p>
+                </div>
               </div>
-              <div class="form-group">
-                <button class="btn btn-default" data-action="edit_selected" data-id="useracl" data-item="<?=htmlspecialchars($mailbox);?>" data-api-url='edit/user-acl' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
-              </div>
-            </div>
+            </form>
           </div>
-        </form>
+        </div>
       <?php
       }
     }
@@ -973,7 +1055,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editrelayhost" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/relayhost' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editrelayhost" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/relayhost' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -993,6 +1075,7 @@
           <h4><?=$lang['edit']['resource'];?></h4>
           <form class="form-horizontal" role="form" method="post" data-id="edittransport">
             <input type="hidden" value="0" name="active">
+            <input type="hidden" value="0" name="is_mx_based">
             <div class="form-group">
               <label class="control-label col-sm-2" for="destination"><?=$lang['add']['destination'];?></label>
               <div class="col-sm-10">
@@ -1020,13 +1103,20 @@
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
                 <div class="checkbox">
+                <label><input type="checkbox" value="1" name="is_mx_based" <?=($result['is_mx_based']=="1") ? "checked" : null;?>> <?=$lang['edit']['lookup_mx'];?></label>
+                </div>
+              </div>
+            </div>
+            <div class="form-group">
+              <div class="col-sm-offset-2 col-sm-10">
+                <div class="checkbox">
                 <label><input type="checkbox" value="1" name="active" <?=($result['active']=="1") ? "checked" : null;?>> <?=$lang['edit']['active'];?></label>
                 </div>
               </div>
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="edittransport" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/transport' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="edittransport" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/transport' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -1086,7 +1176,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editresource" data-item="<?=htmlspecialchars($result['name']);?>" data-api-url='edit/resource' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editresource" data-item="<?=htmlspecialchars($result['name']);?>" data-api-url='edit/resource' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -1132,7 +1222,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editbcc" data-item="<?=$bcc;?>" data-api-url='edit/bcc' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editbcc" data-item="<?=$bcc;?>" data-api-url='edit/bcc' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -1181,7 +1271,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="edit_recipient_map" data-item="<?=$map;?>" data-api-url='edit/recipient_map' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="edit_recipient_map" data-item="<?=$map;?>" data-api-url='edit/recipient_map' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -1242,7 +1332,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="edit_tls_policy_maps" data-item="<?=$map;?>" data-api-url='edit/tls-policy-map' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="edit_tls_policy_maps" data-item="<?=$map;?>" data-api-url='edit/tls-policy-map' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -1410,7 +1500,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editsyncjob" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/syncjob' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editsyncjob" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/syncjob' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -1461,7 +1551,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editfilter" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/filter' data-api-attr='{}' href="#"><?=$lang['edit']['validate_save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editfilter" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/filter' data-api-attr='{}' href="#"><?=$lang['edit']['validate_save'];?></button>
               </div>
             </div>
           </form>
@@ -1509,7 +1599,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-success" data-action="edit_selected" data-id="editapp" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/app-passwd' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="editapp" data-item="<?=htmlspecialchars($result['id']);?>" data-api-url='edit/app-passwd' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>
               </div>
             </div>
           </form>
@@ -1525,14 +1615,14 @@
 }
 else {
 ?>
-	<div class="alert alert-danger" role="alert"><?=$lang['danger']['access_denied'];?></div>
+  <div class="alert alert-danger" role="alert"><?=$lang['danger']['access_denied'];?></div>
 <?php
 }
 ?>
-				</div>
-			</div>
-		</div>
-	</div>
+        </div>
+      </div>
+    </div>
+  </div>
 <a href="<?=$_SESSION['return_to'];?>">&#8592; <?=$lang['edit']['previous'];?></a>
 </div> <!-- /container -->
 <script type='text/javascript'>
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/PTSans.txt b/mailcow/src/mailcow-dockerized/data/web/fonts/PTSans.txt
deleted file mode 100644
index 1e09546..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/PTSans.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-﻿Copyright (c) 2010, ParaType Ltd. (http://www.paratype.com/public),
-with Reserved Font Names "PT Sans" and "ParaType".
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded, 
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/bootstrap-icons.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/bootstrap-icons.woff
new file mode 100644
index 0000000..8cd8946
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/bootstrap-icons.woff
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/bootstrap-icons.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/bootstrap-icons.woff2
new file mode 100644
index 0000000..3e587fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/bootstrap-icons.woff2
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.eot b/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index b93a495..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.eot
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.svg b/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 94fb549..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="400" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
-<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
-<glyph unicode="&#x2000;" horiz-adv-x="650" />
-<glyph unicode="&#x2001;" horiz-adv-x="1300" />
-<glyph unicode="&#x2002;" horiz-adv-x="650" />
-<glyph unicode="&#x2003;" horiz-adv-x="1300" />
-<glyph unicode="&#x2004;" horiz-adv-x="433" />
-<glyph unicode="&#x2005;" horiz-adv-x="325" />
-<glyph unicode="&#x2006;" horiz-adv-x="216" />
-<glyph unicode="&#x2007;" horiz-adv-x="216" />
-<glyph unicode="&#x2008;" horiz-adv-x="162" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="325" />
-<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
-<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
-<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
-<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
-<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
-<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
-<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
-<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
-<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
-<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
-<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
-<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
-<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
-<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
-<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
-<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
-<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
-<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
-<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
-<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
-<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
-<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
-<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
-<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
-<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
-<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
-<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
-<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
-<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
-<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
-<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
-<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
-<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
-<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
-<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
-<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
-<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
-<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
-<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
-<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
-<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
-<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
-<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
-<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
-<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
-<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
-<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
-<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
-<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
-<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
-<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
-<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
-<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
-<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
-<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
-<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
-<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
-<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
-<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
-<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
-<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
-<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
-<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
-<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
-<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
-<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
-<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
-<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
-<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
-<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
-<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
-<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
-<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
-<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
-<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
-<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
-<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
-<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
-<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
-<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
-<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
-<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
-<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
-<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
-<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
-<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
-<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
-<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
-<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
-<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
-<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
-<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
-<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
-<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
-<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
-<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
-<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
-<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
-<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
-<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
-<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
-<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
-<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
-<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
-<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
-<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
-<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
-<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
-<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
-<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
-<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
-<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
-<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
-<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
-<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
-<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
-<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
-<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
-<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
-<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
-<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
-<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
-<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
-<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
-<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
-<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
-<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
-<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
-<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
-<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
-<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
-<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
-<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
-<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
-<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
-<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
-<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
-<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
-<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
-<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
-<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
-<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
-<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
-<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
-<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
-<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
-<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
-<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
-<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
-<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
-<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
-<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
-<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
-<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
-<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
-<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
-<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
-<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
-<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
-<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
-<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
-<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
-<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
-<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
-<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
-<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
-<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
-<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
-<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.ttf b/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index 1413fc6..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.ttf
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index 9e61285..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.woff
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.woff2
deleted file mode 100644
index 64539b5..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/glyphicons-halflings-regular.woff2
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff
new file mode 100644
index 0000000..386899f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff2
new file mode 100644
index 0000000..ca64080
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff2
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff
new file mode 100644
index 0000000..62f4d77
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff2
new file mode 100644
index 0000000..226210c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff2
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff
new file mode 100644
index 0000000..9d40dec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff2
new file mode 100644
index 0000000..f43754d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff2
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff
new file mode 100644
index 0000000..2b512bc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff2
new file mode 100644
index 0000000..1f1db1a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff2
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff
deleted file mode 100644
index 534ef3e..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff2
deleted file mode 100644
index 6c8e609..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-700.woff2
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff
deleted file mode 100644
index ab0a612..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff2
deleted file mode 100644
index 11d1ccd..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-italic.woff2
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff b/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff
deleted file mode 100644
index 0a39232..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff2 b/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff2
deleted file mode 100644
index 2a9e8e8..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/fonts/pt-sans-v11-latin-ext_cyrillic_latin-regular.woff2
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/img/languages.png b/mailcow/src/mailcow-dockerized/data/web/img/languages.png
deleted file mode 100644
index 85d9a6e..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/img/languages.png
+++ /dev/null
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/ajax/dns_diagnostics.php b/mailcow/src/mailcow-dockerized/data/web/inc/ajax/dns_diagnostics.php
index 928a4e4..a315680 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/ajax/dns_diagnostics.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/ajax/dns_diagnostics.php
@@ -2,479 +2,456 @@
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/spf.inc.php';
 
-define('state_good', '<span class="glyphicon glyphicon-ok text-success"></span>');
-define('state_missing', '<span class="glyphicon glyphicon-remove text-danger"></span>');
+define('state_good', '<i class="bi bi-check-lg text-success"></i>');
+define('state_missing', '<i class="bi bi-x-lg text-danger"></i>');
 define('state_nomatch', "?");
 define('state_optional', " <sup>2</sup>");
 
 if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "admin"|| $_SESSION['mailcow_cc_role'] == "domainadmin")) {
 
-$domains = mailbox('get', 'domains');
-$alias_domains = array();
-foreach($domains as $dn) {
-  $alias_domains = array_merge($alias_domains, mailbox('get', 'alias_domains', $dn));
-}
-$domains = array_merge($domains, $alias_domains);
+  $alias_domains = array();
 
-if (isset($_GET['domain'])) {
-  if (is_valid_domain_name($_GET['domain'])) {
-    if (in_array($_GET['domain'], $domains)) {
+  if (isset($_GET['domain'])) {
+    $domain_details = mailbox('get', 'domain_details', $_GET['domain']);
+    if ($domain_details !== false) {
       $domain = $_GET['domain'];
+      $alias_domains = array_merge($alias_domains, mailbox('get', 'alias_domains', $domain));
     }
     else {
       echo "No such domain in context";
       exit();
     }
   }
-  else {
-    echo "Invalid domain name";
-    exit();
-  }
-}
 
-$ch = curl_init('http://ip4.mailcow.email');
-curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
-curl_setopt($ch, CURLOPT_VERBOSE, false);
-curl_setopt($ch, CURLOPT_HEADER, false);
-curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
-$ip = curl_exec($ch);
-curl_close($ch);
+  $ch = curl_init('http://ip4.mailcow.email');
+  curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
+  curl_setopt($ch, CURLOPT_VERBOSE, false);
+  curl_setopt($ch, CURLOPT_HEADER, false);
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
+  $ip = curl_exec($ch);
+  curl_close($ch);
 
-$ch = curl_init('http://ip6.mailcow.email');
-curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
-curl_setopt($ch, CURLOPT_VERBOSE, false);
-curl_setopt($ch, CURLOPT_HEADER, false);
-curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
-$ip6 = curl_exec($ch);
-curl_close($ch);
+  $ch = curl_init('http://ip6.mailcow.email');
+  curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
+  curl_setopt($ch, CURLOPT_VERBOSE, false);
+  curl_setopt($ch, CURLOPT_HEADER, false);
+  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
+  $ip6 = curl_exec($ch);
+  curl_close($ch);
 
-$ptr = implode('.', array_reverse(explode('.', $ip))) . '.in-addr.arpa';
-if (!empty($ip6)) {
-  $ip6_full = str_replace('::', str_repeat(':', 9-substr_count($ip6, ':')), $ip6);
-  $ip6_full = str_replace('::', ':0:', $ip6_full);
-  $ip6_full = str_replace('::', ':0:', $ip6_full);
-  $ptr6 = '';
-  foreach (explode(':', $ip6_full) as $part) {
-    $ptr6 .= str_pad($part, 4, '0', STR_PAD_LEFT);
-  }
-  $ptr6 = implode('.', array_reverse(str_split($ptr6, 1))) . '.ip6.arpa';
-}
-
-$https_port = strpos($_SERVER['HTTP_HOST'], ':');
-if ($https_port === FALSE) {
-  $https_port = 443;
-}
-else {
-  $https_port = substr($_SERVER['HTTP_HOST'], $https_port+1);
-}
-
-if (!isset($autodiscover_config['sieve'])) {
-  $autodiscover_config['sieve'] = array('server' => $mailcow_hostname, 'port' => array_pop(explode(':', getenv('SIEVE_PORT'))));
-}
-
-// Init records array
-$spf_link = '<a href="https://en.wikipedia.org/wiki/Sender_Policy_Framework" target="_blank">SPF Record Syntax</a><br />';
-$dmarc_link = '<a href="https://www.kitterman.com/dmarc/assistant.html" target="_blank">DMARC Assistant</a>';
-
-$records = array();
-if ($_SESSION['mailcow_cc_role'] == "admin") {
-  $records[] = array(
-    $mailcow_hostname,
-    'A',
-    $ip
-  );
-  $records[] = array(
-    $ptr,
-    'PTR',
-    $mailcow_hostname
-  );
+  $ptr = implode('.', array_reverse(explode('.', $ip))) . '.in-addr.arpa';
   if (!empty($ip6)) {
+    $ip6_full = str_replace('::', str_repeat(':', 9-substr_count($ip6, ':')), $ip6);
+    $ip6_full = str_replace('::', ':0:', $ip6_full);
+    $ip6_full = str_replace('::', ':0:', $ip6_full);
+    $ptr6 = '';
+    foreach (explode(':', $ip6_full) as $part) {
+      $ptr6 .= str_pad($part, 4, '0', STR_PAD_LEFT);
+    }
+    $ptr6 = implode('.', array_reverse(str_split($ptr6, 1))) . '.ip6.arpa';
+  }
+
+  $https_port = strpos($_SERVER['HTTP_HOST'], ':');
+  if ($https_port === FALSE) {
+    $https_port = 443;
+  }
+  else {
+    $https_port = substr($_SERVER['HTTP_HOST'], $https_port+1);
+  }
+
+  if (!isset($autodiscover_config['sieve'])) {
+    $autodiscover_config['sieve'] = array(
+      'server' => $mailcow_hostname,
+      'port' => array_pop(explode(':', getenv('SIEVE_PORT')))
+    );
+  }
+
+  // Init records array
+  $spf_link = '<a href="http://www.open-spf.org/SPF_Record_Syntax/" target="_blank">SPF Record Syntax</a><br />';
+  $dmarc_link = '<a href="https://www.kitterman.com/dmarc/assistant.html" target="_blank">DMARC Assistant</a>';
+
+  $records = array();
+
+  if ($_SESSION['mailcow_cc_role'] == "admin") {
     $records[] = array(
       $mailcow_hostname,
-      'AAAA',
-      expand_ipv6($ip6)
+      'A',
+      $ip
     );
     $records[] = array(
-      $ptr6,
+      $ptr,
       'PTR',
       $mailcow_hostname
     );
+    if (!empty($ip6)) {
+      $records[] = array(
+        $mailcow_hostname,
+        'AAAA',
+        expand_ipv6($ip6)
+      );
+      $records[] = array(
+        $ptr6,
+        'PTR',
+        $mailcow_hostname
+      );
+    }
+    $records[] = array(
+      '_25._tcp.' . $autodiscover_config['smtp']['server'],
+      'TLSA',
+      generate_tlsa_digest($autodiscover_config['smtp']['server'], 25, 1)
+    );
   }
+
   $records[] = array(
-    '_25._tcp.'.$autodiscover_config['smtp']['server'],
-    'TLSA',
-    generate_tlsa_digest($autodiscover_config['smtp']['server'], 25, 1)
+    $domain,
+    'MX',
+    $mailcow_hostname
   );
+
   if (!in_array($domain, $alias_domains)) {
     $records[] = array(
-      '_'.$https_port.
-      '._tcp.'.$mailcow_hostname,
-      'TLSA',
-      generate_tlsa_digest($mailcow_hostname, $https_port)
+      'autodiscover.' . $domain,
+      'CNAME',
+      $mailcow_hostname
     );
     $records[] = array(
-      '_'.$autodiscover_config['pop3']['tlsport'].
-      '._tcp.'.$autodiscover_config['pop3']['server'],
-      'TLSA',
-      generate_tlsa_digest($autodiscover_config['pop3']['server'], $autodiscover_config['pop3']['tlsport'], 1)
+      '_autodiscover._tcp.' . $domain,
+      'SRV',
+      $mailcow_hostname . ' ' . $https_port
     );
     $records[] = array(
-      '_'.$autodiscover_config['imap']['tlsport'].
-      '._tcp.'.$autodiscover_config['imap']['server'],
-      'TLSA',
-      generate_tlsa_digest($autodiscover_config['imap']['server'], $autodiscover_config['imap']['tlsport'], 1)
-    );
-    $records[] = array(
-      '_'.$autodiscover_config['smtp']['port'].
-      '._tcp.'.$autodiscover_config['smtp']['server'],
-      'TLSA',
-      generate_tlsa_digest($autodiscover_config['smtp']['server'], $autodiscover_config['smtp']['port'])
-    );
-    $records[] = array(
-      '_'.$autodiscover_config['smtp']['tlsport'].
-      '._tcp.'.$autodiscover_config['smtp']['server'],
-      'TLSA',
-      generate_tlsa_digest($autodiscover_config['smtp']['server'], $autodiscover_config['smtp']['tlsport'], 1)
-    );
-    $records[] = array(
-      '_'.$autodiscover_config['imap']['port'].
-      '._tcp.'.$autodiscover_config['imap']['server'],
-      'TLSA',
-      generate_tlsa_digest($autodiscover_config['imap']['server'], $autodiscover_config['imap']['port'])
-    );
-    $records[] = array(
-      '_'.$autodiscover_config['pop3']['port'].
-      '._tcp.'.$autodiscover_config['pop3']['server'],
-      'TLSA',
-      generate_tlsa_digest($autodiscover_config['pop3']['server'], $autodiscover_config['pop3']['port'])
-    );
-    $records[] = array(
-      '_'.$autodiscover_config['sieve']['port'].
-      '._tcp.'.$autodiscover_config['sieve']['server'],
-      'TLSA',
-      generate_tlsa_digest($autodiscover_config['sieve']['server'], $autodiscover_config['sieve']['port'], 1)
+      'autoconfig.' . $domain,
+      'CNAME',
+      $mailcow_hostname
     );
   }
-}
-$records[] = array(
-  $domain,
-  'MX',
-  $mailcow_hostname
-);
-if (!in_array($domain, $alias_domains)) {
-  $records[] = array(
-    'autodiscover.'.$domain,
-    'CNAME',
-    $mailcow_hostname
-  );
-  $records[] = array(
-    '_autodiscover._tcp.'.$domain,
-    'SRV',
-    $mailcow_hostname.
-    ' '.$https_port
-  );
-  $records[] = array(
-    'autoconfig.'.$domain,
-    'CNAME',
-    $mailcow_hostname
-  );
-}
-$records[] = array(
-  $domain,
-  'TXT',
-  $spf_link,
-  state_optional
-);
-$records[] = array(
-  '_dmarc.'.$domain,
-  'TXT',
-  $dmarc_link,
-  state_optional
-);
 
-if (!empty($dkim = dkim('details', $domain))) {
   $records[] = array(
-    $dkim['dkim_selector'] . '._domainkey.' . $domain,
+    $domain,
     'TXT',
-    $dkim['dkim_txt']
+    $spf_link,
+    state_optional
   );
-}
-if (!in_array($domain, $alias_domains)) {
-  $current_records = dns_get_record('_pop3._tcp.' . $domain, DNS_SRV);
-  if (count($current_records) == 0 || $current_records[0]['target'] != '') {
-    if ($autodiscover_config['pop3']['tlsport'] != '110') {
-      $records[] = array(
-        '_pop3._tcp.' . $domain,
-        'SRV',
-        $autodiscover_config['pop3']['server'] . ' ' . $autodiscover_config['pop3']['tlsport']
-      );
-    }
-  }
-  else {
-    $records[] = array(
-      '_pop3._tcp.' . $domain,
-      'SRV',
-      '. 0'
-    );
-  }
-  $current_records = dns_get_record('_pop3s._tcp.' . $domain, DNS_SRV);
-  if (count($current_records) == 0 || $current_records[0]['target'] != '') {
-    if ($autodiscover_config['pop3']['port'] != '995') {
-      $records[] = array(
-        '_pop3s._tcp.' . $domain,
-        'SRV',
-        $autodiscover_config['pop3']['server'] . ' ' . $autodiscover_config['pop3']['port']
-      );
-    }
-  }
-  else {
-    $records[] = array(
-      '_pop3s._tcp.' . $domain,
-      'SRV',
-      '. 0'
-    );
-  }
-  if ($autodiscover_config['imap']['tlsport'] != '143') {
-    $records[] = array(
-      '_imap._tcp.' . $domain,
-      'SRV',
-      $autodiscover_config['imap']['server'] . ' ' . $autodiscover_config['imap']['tlsport']
-    );
-  }
-  if ($autodiscover_config['imap']['port'] != '993') {
-    $records[] = array(
-      '_imaps._tcp.' . $domain,
-      'SRV',
-      $autodiscover_config['imap']['server'] . ' ' . $autodiscover_config['imap']['port']
-    );
-  }
-  if ($autodiscover_config['smtp']['tlsport'] != '587') {
-    $records[] = array(
-      '_submission._tcp.' . $domain,
-      'SRV',
-      $autodiscover_config['smtp']['server'] . ' ' . $autodiscover_config['smtp']['tlsport']
-    );
-  }
-  if ($autodiscover_config['smtp']['port'] != '465') {
-    $records[] = array(
-      '_smtps._tcp.' . $domain,
-      'SRV',
-      $autodiscover_config['smtp']['server'] . ' ' . $autodiscover_config['smtp']['port']
-    );
-  }
-  if ($autodiscover_config['sieve']['port'] != '4190') {
-    $records[] = array(
-      '_sieve._tcp.' . $domain,
-      'SRV',
-      $autodiscover_config['sieve']['server'] . ' ' . $autodiscover_config['sieve']['port']
-    );
-  }
-}
 
-$record_types = array(
-  'A' => DNS_A,
-  'AAAA' => DNS_AAAA,
-  'CNAME' => DNS_CNAME,
-  'MX' => DNS_MX,
-  'PTR' => DNS_PTR,
-  'SRV' => DNS_SRV,
-  'TXT' => DNS_TXT,
-);
-$data_field = array(
-  'A' => 'ip',
-  'AAAA' => 'ipv6',
-  'CNAME' => 'target',
-  'MX' => 'target',
-  'PTR' => 'target',
-  'SRV' => 'data',
-  'TLSA' => 'data',
-  'TXT' => 'txt',
-);
+  $records[] = array(
+    '_dmarc.' . $domain,
+    'TXT',
+    $dmarc_link,
+    state_optional
+  );
 
-?>
-<div class="table-responsive" id="dnstable">
-  <table class="table table-striped">
-    <tr>
-      <th><?=$lang['diagnostics']['dns_records_name'];?></th>
-      <th><?=$lang['diagnostics']['dns_records_type'];?></th>
-      <th><?=$lang['diagnostics']['dns_records_data'];?></th>
-      <th><?=$lang['diagnostics']['dns_records_status'];?></th>
-    </tr>
-<?php
-foreach ($records as &$record) {
-  $record[1] = strtoupper($record[1]);
-  $state = state_missing;
-  if ($record[1] == 'TLSA') {
-    $currents = dns_get_record($record[0], 52, $_, $_, TRUE);
-    foreach ($currents as &$current) {
-      $current['type'] = 'TLSA';
-      $current['cert_usage'] = hexdec(bin2hex($current['data']{0}));
-      $current['selector'] = hexdec(bin2hex($current['data']{1}));
-      $current['match_type'] = hexdec(bin2hex($current['data']{2}));
-      $current['cert_data'] = bin2hex(substr($current['data'], 3));
-      $current['data'] = $current['cert_usage'] . ' ' . $current['selector'] . ' ' . $current['match_type'] . ' ' . $current['cert_data'];
-    }
-    unset($current);
-  }
-  else {
-    $currents = dns_get_record($record[0], $record_types[$record[1]]);
-    if ($record[0] == $mailcow_hostname && ($record[1] == "A" || $record[1] == "AAAA")) {
-      if (!empty(dns_get_record($record[0], DNS_CNAME))) {
-        $currents[0]['ip'] = state_missing . ' <b>(CNAME)</b>';
-        $currents[0]['ipv6'] = state_missing . ' <b>(CNAME)</b>';
-      }
-    }
-    if ($record[1] == 'SRV') {
-      foreach ($currents as &$current) {
-        if ($current['target'] == '') {
-          $current['target'] = '.';
-          $current['port'] = '0';
-        }
-        $current['data'] = $current['target'] . ' ' . $current['port'];
-      }
-      unset($current);
-    }
-    elseif ($record[1] == 'TXT') {
-      foreach ($currents as &$current) {
-        unset($current);
-      }
-      unset($current);
-    }
-    elseif ($record[1] == 'AAAA') {
-      foreach ($currents as &$current) {
-        $current['ipv6'] = expand_ipv6($current['ipv6']);
-      }
-    }
+  if (!empty($dkim = dkim('details', $domain))) {
+    $records[] = array(
+      $dkim['dkim_selector'] . '._domainkey.' . $domain,
+      'TXT',
+      $dkim['dkim_txt']
+    );
   }
 
-  if ($record[1] == 'CNAME' && count($currents) == 0) {
-    // A and AAAA are also valid instead of CNAME
-    $a = dns_get_record($record[0], DNS_A);
-    $cname = dns_get_record($record[2], DNS_A);
-    if (count($a) > 0 && count($cname) > 0) {
-      if ($a[0]['ip'] == $cname[0]['ip']) {
-        $currents = array(array('host' => $record[0], 'class' => 'IN', 'type' => 'CNAME', 'target' => $record[2]));
-        $aaaa = dns_get_record($record[0], DNS_AAAA);
-        $cname = dns_get_record($record[2], DNS_AAAA);
-        if (count($aaaa) == 0 || count($cname) == 0 || expand_ipv6($aaaa[0]['ipv6']) != expand_ipv6($cname[0]['ipv6'])) {
-          $currents[0]['target'] = expand_ipv6($aaaa[0]['ipv6']) . ' <sup>1</sup>';
-        }
-      }
-      else {
-        $currents = array(array('host' => $record[0], 'class' => 'IN', 'type' => 'CNAME', 'target' => $a[0]['ip'] . ' <sup>1</sup>'));
-      }
-    }
-  }
-
-  foreach ($currents as &$current) {
-    if ($current['type'] == 'TXT' &&
-      stripos($current['txt'], 'v=dmarc') === 0 &&
-      $record[2] == $dmarc_link) {
-        $current['txt'] = str_replace(' ', '', $current['txt']);
-        $state = $current[$data_field[$current['type']]] . state_optional;
-    }
-    elseif ($current['type'] == 'TXT' &&
-      stripos($current['txt'], 'v=spf') === 0 &&
-      $record[2] == $spf_link) {
-        $state = state_nomatch;
-        $rslt = get_spf_allowed_hosts($record[0]);
-        if(in_array($ip, $rslt) && in_array(expand_ipv6($ip6), $rslt)){
-            $state = state_good;
-        }
-        $state .= '<br />' . $current[$data_field[$current['type']]].state_optional;
-    }
-    elseif ($current['type'] == 'TXT' &&
-      stripos($current['txt'], 'v=dkim') === 0 &&
-      stripos($record[2], 'v=dkim') === 0) {
-        preg_match('/v=DKIM1;.*k=rsa;.*p=([^;]*).*/i', $current[$data_field[$current['type']]], $dkim_matches_current);
-        preg_match('/v=DKIM1;.*k=rsa;.*p=([^;]*).*/i', $record[2], $dkim_matches_good);
-        if ($dkim_matches_current[1] == $dkim_matches_good[1]) {
-          $state = state_good;
-        }
-    }
-    elseif ($current['type'] != 'TXT' &&
-      isset($data_field[$current['type']]) && $state != state_good) {
-        $state = state_nomatch;
-        if ($current[$data_field[$current['type']]] == $record[2]) {
-          $state = state_good;
-        }
-    }
-  }
-  unset($current);
-
-  if (isset($record[3]) &&
-    $record[3] == state_optional &&
-    ($state == state_missing || $state == state_nomatch)) {
-      $state = state_optional;
-  }
-  
-  if ($state == state_nomatch) {
-    $state = array();
-    foreach ($currents as $current) {
-      $state[] = $current[$data_field[$current['type']]];
-    }
-    $state = implode('<br />', $state);
-  }
-  echo sprintf('<tr>
-    <td>%s</td>
-    <td>%s</td>
-    <td class="dns-found">%s</td>
-    <td class="dns-recommended">%s</td>
-  </tr>', $record[0], $record[1], $record[2], $state);
-  $record[3] = explode('<br />', $state);
-}
-unset($record);
-
-$dns_data = sprintf("\$ORIGIN %s.\n", $domain);
-foreach ($records as $record) {
-  if ($domain == substr($record[0], -strlen($domain))) {
-    $label = substr($record[0], 0, -strlen($domain)-1);
-    $val = $record[2];
-    if (strlen($label) == 0) {
-      $label = "@";
-    }
-    $vals = array();
-    if (strpos($val, "<a") !== FALSE) {
-      if(is_array($record[3]) && count($record[3]) == 1 && $record[3][0] == state_optional) {
-        $record[3][0] = "**TODO**";
-        $label = ';' . $label;
-      }
-      foreach ($record[3] as $val) {
-        $val = str_replace(state_optional, '', $val);
-        $val = str_replace(state_good, '', $val);
-        if (strlen($val) > 0) {
-          $vals[] = sprintf("%s\tIN\t%s\t%s\n", $label, $record[1], $val);
-        }
+  if (!in_array($domain, $alias_domains)) {
+    $current_records = dns_get_record('_pop3._tcp.' . $domain, DNS_SRV);
+    if (count($current_records) == 0 || $current_records[0]['target'] != '') {
+      if ($autodiscover_config['pop3']['tlsport'] != '110') {
+        $records[] = array(
+          '_pop3._tcp.' . $domain,
+          'SRV',
+          $autodiscover_config['pop3']['server'] . ' ' . $autodiscover_config['pop3']['tlsport']
+        );
       }
     }
     else {
-      $vals[] = sprintf("%s\tIN\t%s\t%s\n", $label, $record[1], $val);
+      $records[] = array(
+        '_pop3._tcp.' . $domain,
+        'SRV',
+        '. 0'
+      );
     }
-    foreach ($vals as $val) {
-      $dns_data .= str_replace($domain, $domain . '.', $val);
+
+    $current_records = dns_get_record('_pop3s._tcp.' . $domain, DNS_SRV);
+
+    if (count($current_records) == 0 || $current_records[0]['target'] != '') {
+      if ($autodiscover_config['pop3']['port'] != '995') {
+        $records[] = array(
+          '_pop3s._tcp.' . $domain,
+          'SRV',
+          $autodiscover_config['pop3']['server'] . ' ' . $autodiscover_config['pop3']['port']
+        );
+      }
+    }
+    else {
+      $records[] = array(
+        '_pop3s._tcp.' . $domain,
+        'SRV',
+        '. 0'
+      );
+    }
+
+    if ($autodiscover_config['imap']['tlsport'] != '143') {
+      $records[] = array(
+        '_imap._tcp.' . $domain,
+        'SRV',
+        $autodiscover_config['imap']['server'] . ' ' . $autodiscover_config['imap']['tlsport']
+      );
+    }
+
+    if ($autodiscover_config['imap']['port'] != '993') {
+      $records[] = array(
+        '_imaps._tcp.' . $domain,
+        'SRV',
+        $autodiscover_config['imap']['server'] . ' ' . $autodiscover_config['imap']['port']
+      );
+    }
+
+    if ($autodiscover_config['smtp']['tlsport'] != '587') {
+      $records[] = array(
+        '_submission._tcp.' . $domain,
+        'SRV',
+        $autodiscover_config['smtp']['server'] . ' ' . $autodiscover_config['smtp']['tlsport']
+      );
+    }
+
+    if ($autodiscover_config['smtp']['port'] != '465') {
+      $records[] = array(
+        '_smtps._tcp.' . $domain,
+        'SRV',
+        $autodiscover_config['smtp']['server'] . ' ' . $autodiscover_config['smtp']['port']
+      );
+    }
+
+    if ($autodiscover_config['sieve']['port'] != '4190') {
+      $records[] = array(
+        '_sieve._tcp.' . $domain,
+        'SRV',
+        $autodiscover_config['sieve']['server'] . ' ' . $autodiscover_config['sieve']['port']
+      );
     }
   }
-}
 
-?>
-  </table>
-  <a id='download-zonefile' data-zonefile="<?=base64_encode($dns_data);?>" download='<?=$_GET['domain'];?>.txt' type='text/csv'>Download</a>
-  <script>
+  $record_types = array(
+    'A' => DNS_A,
+    'AAAA' => DNS_AAAA,
+    'CNAME' => DNS_CNAME,
+    'MX' => DNS_MX,
+    'PTR' => DNS_PTR,
+    'SRV' => DNS_SRV,
+    'TXT' => DNS_TXT,
+  );
+
+  $data_field = array(
+    'A' => 'ip',
+    'AAAA' => 'ipv6',
+    'CNAME' => 'target',
+    'MX' => 'target',
+    'PTR' => 'target',
+    'SRV' => 'data',
+    'TLSA' => 'data',
+    'TXT' => 'txt',
+  );
+
+  ?>
+  <div class="table-responsive" id="dnstable">
+    <table class="table table-striped">
+      <tr>
+        <th><?=$lang['diagnostics']['dns_records_name'];?></th>
+        <th><?=$lang['diagnostics']['dns_records_type'];?></th>
+        <th><?=$lang['diagnostics']['dns_records_data'];?></th>
+        <th><?=$lang['diagnostics']['dns_records_status'];?></th>
+      </tr>
+      <?php
+      foreach ($records as &$record) {
+        $record[1] = strtoupper($record[1]);
+        $state = state_optional;
+
+        if ($record[1] == 'TLSA') {
+          $currents = dns_get_record($record[0], 52, $_, $_, TRUE);
+          foreach ($currents as &$current) {
+            $current['type'] = 'TLSA';
+            $current['cert_usage'] = hexdec(bin2hex($current['data'][0]));
+            $current['selector'] = hexdec(bin2hex($current['data'][1]));
+            $current['match_type'] = hexdec(bin2hex($current['data'][2]));
+            $current['cert_data'] = bin2hex(substr($current['data'], 3));
+            $current['data'] = $current['cert_usage'] . ' ' . $current['selector'] . ' ' . $current['match_type'] . ' ' . $current['cert_data'];
+          }
+          unset($current);
+        }
+        else {
+          $currents = dns_get_record($record[0], $record_types[$record[1]]);
+          if ($record[0] == $mailcow_hostname && ($record[1] == "A" || $record[1] == "AAAA")) {
+            if (!empty(dns_get_record($record[0], DNS_CNAME))) {
+              $currents[0]['ip'] = state_missing . ' <b>(CNAME)</b>';
+              $currents[0]['ipv6'] = state_missing . ' <b>(CNAME)</b>';
+            }
+          }
+          if ($record[1] == 'SRV') {
+            foreach ($currents as &$current) {
+              if ($current['target'] == '') {
+                $current['target'] = '.';
+                $current['port'] = '0';
+              }
+              $current['data'] = $current['target'] . ' ' . $current['port'];
+            }
+            unset($current);
+          }
+          elseif ($record[1] == 'TXT') {
+            foreach ($currents as &$current) {
+              unset($current);
+            }
+            unset($current);
+          }
+          elseif ($record[1] == 'AAAA') {
+            foreach ($currents as &$current) {
+              $current['ipv6'] = expand_ipv6($current['ipv6']);
+            }
+          }
+        }
+
+        if ($record[1] == 'CNAME' && count($currents) == 0) {
+          // A and AAAA are also valid instead of CNAME
+          $a = dns_get_record($record[0], DNS_A);
+          $cname = dns_get_record($record[2], DNS_A);
+          if (count($a) > 0 && count($cname) > 0) {
+            if ($a[0]['ip'] == $cname[0]['ip']) {
+              $currents = array(
+                array(
+                  'host' => $record[0],
+                  'class' => 'IN',
+                  'type' => 'CNAME',
+                  'target' => $record[2]
+                )
+              );
+              $aaaa = dns_get_record($record[0], DNS_AAAA);
+              $cname = dns_get_record($record[2], DNS_AAAA);
+              if (count($aaaa) == 0 || count($cname) == 0 || expand_ipv6($aaaa[0]['ipv6']) != expand_ipv6($cname[0]['ipv6'])) {
+                $currents[0]['target'] = expand_ipv6($aaaa[0]['ipv6']) . ' <sup>1</sup>';
+              }
+            }
+            else {
+              $currents = array(
+                array(
+                  'host' => $record[0],
+                  'class' => 'IN',
+                  'type' => 'CNAME',
+                  'target' => $a[0]['ip'] . ' <sup>1</sup>'
+                )
+              );
+            }
+          }
+        }
+
+        foreach ($currents as &$current) {
+          if ($current['type'] == 'TXT' &&
+          stripos($current['txt'], 'v=dmarc') === 0 &&
+          $record[2] == $dmarc_link) {
+            $current['txt'] = str_replace(' ', '', $current['txt']);
+            $state = $current[$data_field[$current['type']]] . state_optional;
+          }
+          elseif ($current['type'] == 'TXT' &&
+          stripos($current['txt'], 'v=spf') === 0 &&
+          $record[2] == $spf_link) {
+            $state = state_nomatch;
+            $rslt = get_spf_allowed_hosts($record[0], true);
+            if (in_array($ip, $rslt) && in_array(expand_ipv6($ip6), $rslt)) {
+              $state = state_good;
+            }
+            $state .= '<br />' . $current[$data_field[$current['type']]] . state_optional;
+          }
+          elseif ($current['type'] == 'TXT' &&
+          stripos($current['txt'], 'v=dkim') === 0 &&
+          stripos($record[2], 'v=dkim') === 0) {
+            preg_match('/v=DKIM1;.*k=rsa;.*p=([^;]*).*/i', $current[$data_field[$current['type']]], $dkim_matches_current);
+            preg_match('/v=DKIM1;.*k=rsa;.*p=([^;]*).*/i', $record[2], $dkim_matches_good);
+            if ($dkim_matches_current[1] == $dkim_matches_good[1]) {
+              $state = state_good;
+            }
+          }
+          elseif ($current['type'] != 'TXT' &&
+          isset($data_field[$current['type']]) && $state != state_good) {
+            $state = state_nomatch;
+            if ($current[$data_field[$current['type']]] == $record[2]) {
+              $state = state_good;
+            }
+          }
+        }
+        unset($current);
+
+        if (isset($record[3]) &&
+        $record[3] == state_optional &&
+        ($state == state_missing || $state == state_nomatch)) {
+          $state = state_optional;
+        }
+
+        if ($state == state_nomatch) {
+          $state = array();
+          foreach ($currents as $current) {
+            $state[] = $current[$data_field[$current['type']]];
+          }
+          $state = implode('<br />', $state);
+        }
+        echo sprintf('
+        <tr>
+          <td>%s</td>
+          <td>%s</td>
+          <td class="dns-found">%s</td>
+          <td class="dns-recommended">%s</td>
+        </tr>', $record[0], $record[1], $record[2], $state);
+        $record[3] = explode('<br />', $state);
+      }
+
+      unset($record);
+
+      $dns_data = sprintf("\$ORIGIN %s.\n", $domain);
+      foreach ($records as $record) {
+        if ($domain == substr($record[0], -strlen($domain))) {
+          $label = substr($record[0], 0, -strlen($domain)-1);
+          $val = $record[2];
+
+          if (strlen($label) == 0) {
+            $label = "@";
+          }
+
+          $vals = array();
+          if (strpos($val, "<a") !== FALSE) {
+            if (is_array($record[3]) && count($record[3]) == 1 && $record[3][0] == state_optional) {
+              $record[3][0] = "**TODO**";
+              $label = ';' . $label;
+            }
+            foreach ($record[3] as $val) {
+              $val = str_replace(state_optional, '', $val);
+              $val = str_replace(state_good, '', $val);
+              if (strlen($val) > 0) {
+                $vals[] = sprintf("%s\tIN\t%s\t%s\n", $label, $record[1], $val);
+              }
+            }
+          }
+          else {
+            $vals[] = sprintf("%s\tIN\t%s\t%s\n", $label, $record[1], $val);
+          }
+
+          foreach ($vals as $val) {
+            $dns_data .= str_replace($domain, $domain . '.', $val);
+          }
+        }
+      }
+      ?>
+    </table>
+    <a id='download-zonefile' class="btn btn-sm btn-default visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline" style="margin-top:10px" data-zonefile="<?=base64_encode($dns_data);?>" download='<?=$_GET['domain'];?>.txt' type='text/csv'>Download</a>
+    <script>
       var zonefile_dl_link = document.getElementById('download-zonefile');
       var zonefile = atob(zonefile_dl_link.getAttribute('data-zonefile'));
       var data = new Blob([zonefile]);
       var download_zonefile_link = document.getElementById('download-zonefile');
       download_zonefile_link.href = URL.createObjectURL(data);
-  </script>
-</div>
-<p class="help-block">
-<sup>1</sup> <?=$lang['diagnostics']['cname_from_a'];?><br />
-<sup>2</sup> <?=$lang['diagnostics']['optional'];?>
-</p>
-<?php
-} else {
+    </script>
+  </div>
+  <p class="help-block">
+    <sup>1</sup> <?=$lang['diagnostics']['cname_from_a'];?><br />
+    <sup>2</sup> <?=$lang['diagnostics']['optional'];?>
+  </p>
+  <?php
+}
+else {
   echo "Session invalid";
   exit();
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/ajax/transport_check.php b/mailcow/src/mailcow-dockerized/data/web/inc/ajax/transport_check.php
index 7921687..aa429ed 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/ajax/transport_check.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/ajax/transport_check.php
@@ -15,6 +15,12 @@
   else {
     $mail_from = "relay@example.org";
   }
+  if (isset($_GET['mail_rcpt']) && filter_var($_GET['mail_rcpt'], FILTER_VALIDATE_EMAIL)) {
+    $mail_rcpt = $_GET['mail_rcpt'];
+  }
+  else {
+    $mail_rcpt = "null@hosted.mailcow.de";
+  }
   if ($transport_type == 'transport-map') {
     $transport_details = transport('details', $transport_id);
     $nexthop = $transport_details['nexthop'];
@@ -36,7 +42,7 @@
       $port = substr($hostname_w_port, strrpos($hostname_w_port, ':') + 1);
       $hostname = preg_replace('/'. preg_quote(':' . $port, '/') . '$/', '', $hostname_w_port);
       if (filter_var($hostname, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
-        $hostname = '[' . $hostname . ']:';
+        $hostname = '[' . $hostname . ']';
       }
     }
     else {
@@ -130,7 +136,7 @@
     $mail->Port = $port;
     $mail->setFrom($mail_from, 'Mailer');
     $mail->Subject = 'A subject for a SMTP test';
-    $mail->addAddress($RELAY_TO, 'Joe Null');
+    $mail->addAddress($mail_rcpt, 'Joe Null');
     $mail->Body = 'This is our test body';
     $mail->send();
   }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/footer.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/footer.inc.php
index 8738cc6..f99c86d 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/footer.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/footer.inc.php
@@ -79,6 +79,7 @@
     foreach($alertbox_log_parser as $log) {
       $alerts[$log['type']][] = $log['msg'];
     }
+    $alerts = array_filter(array_unique($alerts));
     foreach($alerts as $alert_type => $alert_msg) {
   ?>
   mailcow_alert_box(<?=json_encode(implode('<hr class="alert-hr">', $alert_msg));?>, <?=$alert_type;?>);
@@ -93,7 +94,7 @@
     backdrop: 'static',
     keyboard: false
   });
-  $('#u2f_status_auth').html('<p><span class="glyphicon glyphicon-refresh glyphicon-spin"></span> ' + lang_tfa.init_u2f + '</p>');
+  $('#u2f_status_auth').html('<p><i class="bi bi-arrow-repeat icon-spin"></i> ' + lang_tfa.init_u2f + '</p>');
   $('#ConfirmTFAModal').on('shown.bs.modal', function(){
       $(this).find('input[name=token]').focus();
       // If U2F
@@ -235,7 +236,7 @@
       $("#start_u2f_register").click(function(){
         $('#u2f_return_code').html('');
         $('#u2f_return_code').hide();
-        $('#u2f_status_reg').html('<p><span class="glyphicon glyphicon-refresh glyphicon-spin"></span> ' + lang_tfa.init_u2f + '</p>');
+        $('#u2f_status_reg').html('<p><i class="bi bi-arrow-repeat icon-spin"></i> ' + lang_tfa.init_u2f + '</p>');
         $.ajax({
           type: "GET",
           cache: false,
@@ -304,5 +305,12 @@
 </body>
 </html>
 <?php
+if (isset($_SESSION['mailcow_cc_api'])) {
+  session_regenerate_id(true);
+  session_unset();
+  session_destroy();
+  session_write_close();
+  header("Location: /");
+}
 $stmt = null;
 $pdo = null;
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.address_rewriting.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.address_rewriting.inc.php
index 51cdd73..8193c05 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.address_rewriting.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.address_rewriting.inc.php
@@ -1,5 +1,5 @@
 <?php
-function bcc($_action, $_data = null, $attr = null) {
+function bcc($_action, $_data = null, $_attr = null) {
 	global $pdo;
 	global $lang;
   if ($_SESSION['mailcow_cc_role'] != "admin" && $_SESSION['mailcow_cc_role'] != "domainadmin") {
@@ -48,7 +48,8 @@
         $local_dest_sane = '@' . idn_to_ascii($local_dest, 0, INTL_IDNA_VARIANT_UTS46);
       }
       elseif (filter_var($local_dest, FILTER_VALIDATE_EMAIL)) {
-        if (!hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $local_dest)) {
+        $mailbox = mailbox('get', 'mailbox_details', $local_dest);
+        if ($mailbox === false && array_key_exists($local_dest, array_merge($direct_aliases, $shared_aliases)) === false) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
             'log' => array(__FUNCTION__, $_action, $_data, $_attr),
@@ -56,10 +57,16 @@
           );
           return false;
         }
-        $domain = mailbox('get', 'mailbox_details', $local_dest)['domain'];
-        if (empty($domain)) {
-          return false;
+        if (!hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $local_dest) &&
+          !hasAliasObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $local_dest)) {
+            $_SESSION['return'][] = array(
+              'type' => 'danger',
+              'log' => array(__FUNCTION__, $_action, $_data, $_attr),
+              'msg' => 'access_denied'
+            );
+            return false;
         }
+        $domain = idn_to_ascii(substr(strstr($local_dest, '@'), 1), 0, INTL_IDNA_VARIANT_UTS46);
         $local_dest_sane = $local_dest;
       }
       else {
@@ -128,7 +135,6 @@
           );
           continue;
         }
-        $active = intval($_data['active']);
         if (!filter_var($bcc_dest, FILTER_VALIDATE_EMAIL)) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php
index bb0400e..af1474c 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php
@@ -48,40 +48,17 @@
           return false;
         }
       }
-      if (!empty($password) && !empty($password2)) {
-        if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {
-          $_SESSION['return'][] = array(
-            'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data_log),
-            'msg' => 'password_complexity'
-          );
-          return false;
-        }
-        if ($password != $password2) {
-          $_SESSION['return'][] = array(
-            'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data_log),
-            'msg' => 'password_mismatch'
-          );
-          return false;
-        }
-        $password_hashed = hash_password($password);
-        $stmt = $pdo->prepare("INSERT INTO `admin` (`username`, `password`, `superadmin`, `active`)
-          VALUES (:username, :password_hashed, '1', :active)");
-        $stmt->execute(array(
-          ':username' => $username,
-          ':password_hashed' => $password_hashed,
-          ':active' => $active
-        ));
-      }
-      else {
-        $_SESSION['return'][] = array(
-          'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data_log),
-          'msg' => 'password_empty'
-        );
+      if (password_check($password, $password2) !== true) {
         return false;
       }
+      $password_hashed = hash_password($password_new);
+      $stmt = $pdo->prepare("INSERT INTO `admin` (`username`, `password`, `superadmin`, `active`)
+        VALUES (:username, :password_hashed, '1', :active)");
+      $stmt->execute(array(
+        ':username' => $username,
+        ':password_hashed' => $password_hashed,
+        ':active' => $active
+      ));
       $_SESSION['return'][] = array(
         'type' => 'success',
         'log' => array(__FUNCTION__, $_action, $_data_log),
@@ -144,22 +121,9 @@
             continue;
           }
         }
-        if (!empty($password) && !empty($password2)) {
-          if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {
-            $_SESSION['return'][] = array(
-              'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_data_log),
-              'msg' => 'password_complexity'
-            );
-            continue;
-          }
-          if ($password != $password2) {
-            $_SESSION['return'][] = array(
-              'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_data_log),
-              'msg' => 'password_mismatch'
-            );
-            continue;
+        if (!empty($password)) {
+          if (password_check($password, $password2) !== true) {
+            return false;
           }
           $password_hashed = hash_password($password);
           $stmt = $pdo->prepare("UPDATE `admin` SET `username` = :username_new, `active` = :active, `password` = :password_hashed WHERE `username` = :username");
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.app_passwd.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.app_passwd.inc.php
index c4b0026..8c8ad18 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.app_passwd.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.app_passwd.inc.php
@@ -23,9 +23,9 @@
   }
   switch ($_action) {
     case 'add':
-      $app_name = trim($_data['app_name']);
-      $password     = $_data['app_passwd'];
-      $password2    = $_data['app_passwd2'];
+      $app_name = htmlspecialchars(trim($_data['app_name']));
+      $password = $_data['app_passwd'];
+      $password2 = $_data['app_passwd2'];
       $active = intval($_data['active']);
       $domain = mailbox('get', 'mailbox_details', $username)['domain'];
       if (empty($domain)) {
@@ -94,7 +94,7 @@
           );
           continue;
         }
-        $app_name = trim($app_name);
+        $app_name = htmlspecialchars(trim($app_name));
         if (!empty($password) && !empty($password2)) {
           if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {
             $_SESSION['return'][] = array(
@@ -198,6 +198,7 @@
         $app_passwd_data = array();
         return false;
       }
+      $app_passwd_data['name'] = htmlspecialchars(trim($app_passwd_data['name']));
       return $app_passwd_data;
     break;
   }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.customize.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.customize.inc.php
index f4c74d8..d594822 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.customize.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.customize.inc.php
@@ -207,7 +207,7 @@
           try {
             $data['title_name'] = ($title_name = $redis->get('TITLE_NAME')) ? $title_name : 'mailcow UI';
             $data['main_name'] = ($main_name = $redis->get('MAIN_NAME')) ? $main_name : 'mailcow UI';
-            $data['apps_name'] = ($apps_name = $redis->get('APPS_NAME')) ? $apps_name : 'mailcow Apps';
+            $data['apps_name'] = ($apps_name = $redis->get('APPS_NAME')) ? $apps_name : $lang['header']['apps'];
             $data['help_text'] = ($help_text = $redis->get('HELP_TEXT')) ? $help_text : false;
             if (!empty($redis->get('UI_IMPRESS'))) {
               $redis->set('UI_FOOTER', $redis->get('UI_IMPRESS'));
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.dkim.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.dkim.inc.php
index 2a19ff0..33ee49f 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.dkim.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.dkim.inc.php
@@ -1,8 +1,8 @@
 <?php
 
 function dkim($_action, $_data = null, $privkey = false) {
-	global $redis;
-	global $lang;
+  global $redis;
+  global $lang;
   switch ($_action) {
     case 'add':
       if ($_SESSION['mailcow_cc_role'] != "admin") {
@@ -13,7 +13,7 @@
         );
         return false;
       }
-      $key_length	= intval($_data['key_size']);
+      $key_length = intval($_data['key_size']);
       $dkim_selector = (isset($_data['dkim_selector'])) ? $_data['dkim_selector'] : 'dkim';
       $domains = array_map('trim', preg_split( "/( |,|;|\n)/", $_data['domains']));
       $domains = array_filter($domains);
@@ -21,7 +21,7 @@
         if (!is_valid_domain_name($domain) || !is_numeric($key_length)) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('dkim_domain_or_sel_invalid', $domain)
           );
           continue;
@@ -29,7 +29,7 @@
         if ($redis->hGet('DKIM_PUB_KEYS', $domain)) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('dkim_domain_or_sel_invalid', $domain)
           );
           continue;
@@ -37,7 +37,7 @@
         if (!ctype_alnum(str_replace(['-', '_'], '', $dkim_selector))) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('dkim_domain_or_sel_invalid', $domain)
           );
           continue;
@@ -62,7 +62,7 @@
           catch (RedisException $e) {
             $_SESSION['return'][] = array(
               'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+              'log' => array(__FUNCTION__, $_action, $_data),
               'msg' => array('redis_error', $e)
             );
             continue;
@@ -76,7 +76,7 @@
             catch (RedisException $e) {
               $_SESSION['return'][] = array(
                 'type' => 'danger',
-                'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+                'log' => array(__FUNCTION__, $_action, $_data),
                 'msg' => array('redis_error', $e)
               );
               continue;
@@ -84,14 +84,14 @@
           }
           $_SESSION['return'][] = array(
             'type' => 'success',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('dkim_added', $domain)
           );
         }
         else {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('dkim_domain_or_sel_invalid', $domain)
           );
           continue;
@@ -102,7 +102,7 @@
       if ($_SESSION['mailcow_cc_role'] != "admin") {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => 'access_denied'
         );
         return false;
@@ -112,7 +112,7 @@
       if (empty($from_domain_dkim)) {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('dkim_domain_or_sel_invalid', $from_domain)
         );
         continue;
@@ -128,14 +128,14 @@
         catch (RedisException $e) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('redis_error', $e)
           );
           continue;
         }
         $_SESSION['return'][] = array(
           'type' => 'success',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('dkim_duplicated', $from_domain, $to_domain)
         );
       }
@@ -144,7 +144,7 @@
       if ($_SESSION['mailcow_cc_role'] != "admin") {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => 'access_denied'
         );
         return false;
@@ -156,7 +156,7 @@
       if ($ssl_error = openssl_error_string()) {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('private_key_error', $ssl_error)
         );
         return false;
@@ -167,13 +167,13 @@
       array_shift($pem_public_key_array);
       array_pop($pem_public_key_array);
       // Implode as single string
-      $pem_public_key = implode('', $pem_public_key_array);
+      $pem_public_key = implode('', (array)$pem_public_key_array);
       $dkim_selector = (isset($_data['dkim_selector'])) ? $_data['dkim_selector'] : 'dkim';
-      $domain	= $_data['domain'];
+      $domain = $_data['domain'];
       if (!is_valid_domain_name($domain)) {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('dkim_domain_or_sel_invalid', $domain)
         );
         return false;
@@ -182,7 +182,7 @@
         if ($overwrite_existing == 0) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('dkim_domain_or_sel_exists', $domain)
           );
           return false;
@@ -191,13 +191,13 @@
       if (!ctype_alnum($dkim_selector)) {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('dkim_domain_or_sel_invalid', $domain)
         );
         return false;
       }
       try {
-        dkim('delete', $domain);
+        dkim('delete', (array)$domain);
         $redis->hSet('DKIM_PUB_KEYS', $domain, $pem_public_key);
         $redis->hSet('DKIM_SELECTORS', $domain, $dkim_selector);
         $redis->hSet('DKIM_PRIV_KEYS', $dkim_selector . '.' . $domain, $private_key_normalized);
@@ -205,7 +205,7 @@
       catch (RedisException $e) {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('redis_error', $e)
         );
         return false;
@@ -218,14 +218,14 @@
       catch (RedisException $e) {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('redis_error', $e)
         );
         return false;
       }
       $_SESSION['return'][] = array(
         'type' => 'success',
-        'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+        'log' => array(__FUNCTION__, $_action, $_data),
         'msg' => array('dkim_added', $domain)
       );
       return true;
@@ -251,7 +251,7 @@
         }
         if ($GLOBALS['SPLIT_DKIM_255'] === true) {
           $dkim_txt_tmp = str_split('v=DKIM1;k=rsa;t=s;s=email;p=' . $redis_dkim_key_data, 255);
-          $dkimdata['dkim_txt'] = sprintf('"%s"', implode('" "', $dkim_txt_tmp ) );
+          $dkimdata['dkim_txt'] = sprintf('"%s"', implode('" "', (array)$dkim_txt_tmp ) );
         }
         else {
           $dkimdata['dkim_txt'] = 'v=DKIM1;k=rsa;t=s;s=email;p=' . $redis_dkim_key_data;
@@ -270,7 +270,7 @@
       if ($_SESSION['mailcow_cc_role'] != "admin") {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => 'access_denied'
         );
         return false;
@@ -286,7 +286,7 @@
       if ($_SESSION['mailcow_cc_role'] != "admin") {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => 'access_denied'
         );
         return false;
@@ -295,7 +295,7 @@
         if (!is_valid_domain_name($domain)) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('dkim_domain_or_sel_invalid', $domain)
           );
           continue;
@@ -309,14 +309,14 @@
         catch (RedisException $e) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+            'log' => array(__FUNCTION__, $_action, $_data),
             'msg' => array('redis_error', $e)
           );
           continue;
         }
         $_SESSION['return'][] = array(
           'type' => 'success',
-          'log' => array(__FUNCTION__, $_action, $_data, $privkey),
+          'log' => array(__FUNCTION__, $_action, $_data),
           'msg' => array('dkim_removed', htmlspecialchars($domain))
         );
       }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.domain_admin.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.domain_admin.inc.php
index 206b371..804c0f8 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.domain_admin.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.domain_admin.inc.php
@@ -65,61 +65,38 @@
           return false;
         }
       }
-      if (!empty($password) && !empty($password2)) {
-        if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {
-          $_SESSION['return'][] = array(
-            'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data_log),
-            'msg' => 'password_complexity'
-          );
-          return false;
-        }
-        if ($password != $password2) {
-          $_SESSION['return'][] = array(
-            'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data_log),
-            'msg' => 'password_mismatch'
-          );
-          return false;
-        }
-        $password_hashed = hash_password($password);
-        $valid_domains = 0;
-        foreach ($domains as $domain) {
-          if (!is_valid_domain_name($domain) || mailbox('get', 'domain_details', $domain) === false) {
-            $_SESSION['return'][] = array(
-              'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_data_log),
-              'msg' => array('domain_invalid', htmlspecialchars($domain))
-            );
-            continue;
-          }
-          $valid_domains++;
-          $stmt = $pdo->prepare("INSERT INTO `domain_admins` (`username`, `domain`, `created`, `active`)
-              VALUES (:username, :domain, :created, :active)");
-          $stmt->execute(array(
-            ':username' => $username,
-            ':domain' => $domain,
-            ':created' => date('Y-m-d H:i:s'),
-            ':active' => $active
-          ));
-        }
-        if ($valid_domains != 0) {
-          $stmt = $pdo->prepare("INSERT INTO `admin` (`username`, `password`, `superadmin`, `active`)
-            VALUES (:username, :password_hashed, '0', :active)");
-          $stmt->execute(array(
-            ':username' => $username,
-            ':password_hashed' => $password_hashed,
-            ':active' => $active
-          ));
-        }
+      if (password_check($password, $password2) !== true) {
+        continue;
       }
-      else {
-        $_SESSION['return'][] = array(
-          'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data_log),
-          'msg' => 'password_empty'
-        );
-        return false;
+      $password_hashed = hash_password($password);
+      $valid_domains = 0;
+      foreach ($domains as $domain) {
+        if (!is_valid_domain_name($domain) || mailbox('get', 'domain_details', $domain) === false) {
+          $_SESSION['return'][] = array(
+            'type' => 'danger',
+            'log' => array(__FUNCTION__, $_action, $_data_log),
+            'msg' => array('domain_invalid', htmlspecialchars($domain))
+          );
+          continue;
+        }
+        $valid_domains++;
+        $stmt = $pdo->prepare("INSERT INTO `domain_admins` (`username`, `domain`, `created`, `active`)
+            VALUES (:username, :domain, :created, :active)");
+        $stmt->execute(array(
+          ':username' => $username,
+          ':domain' => $domain,
+          ':created' => date('Y-m-d H:i:s'),
+          ':active' => $active
+        ));
+      }
+      if ($valid_domains != 0) {
+        $stmt = $pdo->prepare("INSERT INTO `admin` (`username`, `password`, `superadmin`, `active`)
+          VALUES (:username, :password_hashed, '0', :active)");
+        $stmt->execute(array(
+          ':username' => $username,
+          ':password_hashed' => $password_hashed,
+          ':active' => $active
+        ));
       }
       $stmt = $pdo->prepare("INSERT INTO `da_acl` (`username`) VALUES (:username)");
       $stmt->execute(array(
@@ -218,22 +195,9 @@
               ));
             }
           }
-          if (!empty($password) && !empty($password2)) {
-            if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {
-              $_SESSION['return'][] = array(
-                'type' => 'danger',
-                'log' => array(__FUNCTION__, $_action, $_data_log),
-                'msg' => 'password_complexity'
-              );
-              continue;
-            }
-            if ($password != $password2) {
-              $_SESSION['return'][] = array(
-                'type' => 'danger',
-                'log' => array(__FUNCTION__, $_action, $_data_log),
-                'msg' => 'password_mismatch'
-              );
-              continue;
+          if (!empty($password)) {
+            if (password_check($password, $password2) !== true) {
+              return false;
             }
             $password_hashed = hash_password($password);
             $stmt = $pdo->prepare("UPDATE `admin` SET `username` = :username_new, `active` = :active, `password` = :password_hashed WHERE `username` = :username");
@@ -296,30 +260,15 @@
           );
           return false;
         }
-        if (!empty($password_new2) && !empty($password_new)) {
-          if ($password_new2 != $password_new) {
-            $_SESSION['return'][] = array(
-              'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_data_log),
-              'msg' => 'password_mismatch'
-            );
-            return false;
-          }
-          if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password_new)) {
-            $_SESSION['return'][] = array(
-              'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_data_log),
-              'msg' => 'password_complexity'
-            );
-            return false;
-          }
-          $password_hashed = hash_password($password_new);
-          $stmt = $pdo->prepare("UPDATE `admin` SET `password` = :password_hashed WHERE `username` = :username");
-          $stmt->execute(array(
-            ':password_hashed' => $password_hashed,
-            ':username' => $username
-          ));
+        if (password_check($password_new, $password_new2) !== true) {
+          return false;
         }
+        $password_hashed = hash_password($password_new);
+        $stmt = $pdo->prepare("UPDATE `admin` SET `password` = :password_hashed WHERE `username` = :username");
+        $stmt->execute(array(
+          ':password_hashed' => $password_hashed,
+          ':username' => $username
+        ));
         $_SESSION['return'][] = array(
           'type' => 'success',
           'log' => array(__FUNCTION__, $_action, $_data_log),
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.fail2ban.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.fail2ban.inc.php
index 6f6b024..2a7f11e 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.fail2ban.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.fail2ban.inc.php
@@ -18,7 +18,7 @@
           }
           if (isset($tmp_wl_data)) {
             natsort($tmp_wl_data);
-            $f2b_options['whitelist'] = implode(PHP_EOL, $tmp_wl_data);
+            $f2b_options['whitelist'] = implode(PHP_EOL, (array)$tmp_wl_data);
           }
           else {
             $f2b_options['whitelist'] = "";
@@ -34,7 +34,7 @@
           }
           if (isset($tmp_bl_data)) {
             natsort($tmp_bl_data);
-            $f2b_options['blacklist'] = implode(PHP_EOL, $tmp_bl_data);
+            $f2b_options['blacklist'] = implode(PHP_EOL, (array)$tmp_bl_data);
           }
           else {
             $f2b_options['blacklist'] = "";
@@ -46,7 +46,11 @@
         $pb = $redis->hGetAll('F2B_PERM_BANS');
         if (is_array($pb)) {
           foreach ($pb as $key => $value) {
-            $f2b_options['perm_bans'][] = $key;
+            $f2b_options['perm_bans'][] = array(
+                'network'=>$key,
+                'ip' => strtok($key,'/')
+            );
+
           }
         }
         else {
@@ -61,6 +65,7 @@
             $f2b_options['active_bans'][] = array(
               'queued_for_unban' => $queued_for_unban,
               'network' => $network,
+              'ip' => strtok($network,'/'),
               'banned_until' => sprintf('%02dh %02dm %02ds', ($difference/3600), ($difference/60%60), $difference%60)
             );
           }
@@ -133,14 +138,6 @@
               $redis->Set('F2B_REGEX', json_encode($regex_array, JSON_UNESCAPED_SLASHES));
             }
           }
-          else {
-            $_SESSION['return'][] = array(
-              'type' => 'success',
-              'log' => array(__FUNCTION__, $_action, $_data_log),
-              'msg' => print_r($_data, true)
-            );
-            return false;
-          }
           $_SESSION['return'][] = array(
             'type' => 'success',
             'log' => array(__FUNCTION__, $_action, $_data_log),
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.fwdhost.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.fwdhost.inc.php
index 5c511f4..d7ac256 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.fwdhost.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.fwdhost.inc.php
@@ -1,8 +1,8 @@
 <?php
 function fwdhost($_action, $_data = null) {
   require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/spf.inc.php';
-	global $redis;
-	global $lang;
+  global $redis;
+  global $lang;
   $_data_log = $_data;
   switch ($_action) {
     case 'add':
@@ -57,7 +57,7 @@
       $_SESSION['return'][] = array(
         'type' => 'success',
         'log' => array(__FUNCTION__, $_action, $_data_log),
-        'msg' => array('forwarding_host_added', htmlspecialchars(implode(', ', $hosts)))
+        'msg' => array('forwarding_host_added', htmlspecialchars(implode(', ', (array)$hosts)))
       );
     break;
     case 'edit':
@@ -180,4 +180,4 @@
       return $fwdhostdetails;
     break;
   }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.inc.php
index e3f2882..142a9fe 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.inc.php
@@ -13,6 +13,17 @@
     return false;
   }
 }
+function readable_random_string($length = 8) {
+  $string = '';
+  $vowels = array('a', 'e', 'i', 'o', 'u');
+  $consonants = array('b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z');
+  $max = $length / 2;
+  for ($i = 1; $i <= $max; $i++) {
+    $string .= $consonants[rand(0,19)];
+    $string .= $vowels[rand(0,4)];
+  }
+  return $string;
+}
 // Validates ips and cidrs
 function valid_network($network) {
   if (filter_var($network, FILTER_VALIDATE_IP)) {
@@ -88,40 +99,253 @@
   // in case default pass scheme is not defined, falling back to BLF-CRYPT.
   global $default_pass_scheme;
   $pw_hash = NULL;
-  switch (strtoupper($default_pass_scheme)) {
-    case "SSHA":
-      $salt_str = bin2hex(openssl_random_pseudo_bytes(8));
-      $pw_hash = "{SSHA}".base64_encode(hash('sha1', $password . $salt_str, true) . $salt_str);
-      break;
-    case "SSHA256":
-      $salt_str = bin2hex(openssl_random_pseudo_bytes(8));
-      $pw_hash = "{SSHA256}".base64_encode(hash('sha256', $password . $salt_str, true) . $salt_str);
-      break;
-    case "SSHA512":
-      $salt_str = bin2hex(openssl_random_pseudo_bytes(8));
-      $pw_hash = "{SSHA512}".base64_encode(hash('sha512', $password . $salt_str, true) . $salt_str);
-      break;
-    case "BLF-CRYPT":
-    default:
-      $pw_hash = "{BLF-CRYPT}" . password_hash($password, PASSWORD_BCRYPT);
-      break;
+  // support pre-hashed passwords
+  if (preg_match('/^{(ARGON2I|ARGON2ID|BLF-CRYPT|CLEAR|CLEARTEXT|CRYPT|DES-CRYPT|LDAP-MD5|MD5|MD5-CRYPT|PBKDF2|PLAIN|PLAIN-MD4|PLAIN-MD5|PLAIN-TRUNC|PLAIN-TRUNC|SHA|SHA1|SHA256|SHA256-CRYPT|SHA512|SHA512-CRYPT|SMD5|SSHA|SSHA256|SSHA512)}/i', $password)) {
+    $pw_hash = $password;
+  }
+  else {
+    switch (strtoupper($default_pass_scheme)) {
+      case "SSHA":
+        $salt_str = bin2hex(openssl_random_pseudo_bytes(8));
+        $pw_hash = "{SSHA}".base64_encode(hash('sha1', $password . $salt_str, true) . $salt_str);
+        break;
+      case "SSHA256":
+        $salt_str = bin2hex(openssl_random_pseudo_bytes(8));
+        $pw_hash = "{SSHA256}".base64_encode(hash('sha256', $password . $salt_str, true) . $salt_str);
+        break;
+      case "SSHA512":
+        $salt_str = bin2hex(openssl_random_pseudo_bytes(8));
+        $pw_hash = "{SSHA512}".base64_encode(hash('sha512', $password . $salt_str, true) . $salt_str);
+        break;
+      case "BLF-CRYPT":
+      default:
+        $pw_hash = "{BLF-CRYPT}" . password_hash($password, PASSWORD_BCRYPT);
+        break;
+    }
   }
   return $pw_hash;
 }
-function last_login($user) {
-  global $pdo;
-  $stmt = $pdo->prepare('SELECT `remote`, `time` FROM `logs`
-    WHERE JSON_EXTRACT(`call`, "$[0]") = "check_login"
-      AND JSON_EXTRACT(`call`, "$[1]") = :user
-      AND `type` = "success" ORDER BY `time` DESC LIMIT 1');
-  $stmt->execute(array(':user' => $user));
-  $row = $stmt->fetch(PDO::FETCH_ASSOC);
-  if (!empty($row)) {
-    return $row;
+function password_complexity($_action, $_data = null) {
+  global $redis;
+  global $lang;
+  switch ($_action) {
+    case 'edit':
+      if ($_SESSION['mailcow_cc_role'] != "admin") {
+        $_SESSION['return'][] = array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_action, $_data),
+          'msg' => 'access_denied'
+        );
+        return false;
+      }
+      $is_now = password_complexity('get');
+      if (!empty($is_now)) {
+        $length = (isset($_data['length']) && intval($_data['length']) >= 3) ? intval($_data['length']) : $is_now['length'];
+        $chars = (isset($_data['chars'])) ? intval($_data['chars']) : $is_now['chars'];
+        $lowerupper = (isset($_data['lowerupper'])) ? intval($_data['lowerupper']) : $is_now['lowerupper'];
+        $special_chars = (isset($_data['special_chars'])) ? intval($_data['special_chars']) : $is_now['special_chars'];
+        $numbers = (isset($_data['numbers'])) ? intval($_data['numbers']) : $is_now['numbers'];
+      }
+      try {
+        $redis->hMSet('PASSWD_POLICY', [
+          'length' => $length,
+          'chars' => $chars,
+          'special_chars' => $special_chars,
+          'lowerupper' => $lowerupper,
+          'numbers' => $numbers
+        ]);
+      }
+      catch (RedisException $e) {
+        $_SESSION['return'][] = array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_action, $_data),
+          'msg' => array('redis_error', $e)
+        );
+        return false;
+      }
+      $_SESSION['return'][] = array(
+        'type' => 'success',
+        'log' => array(__FUNCTION__, $_action, $_data),
+        'msg' => 'password_policy_saved'
+      );
+    break;
+    case 'get':
+      try {
+        $length = $redis->hGet('PASSWD_POLICY', 'length');
+        $chars = $redis->hGet('PASSWD_POLICY', 'chars');
+        $special_chars = $redis->hGet('PASSWD_POLICY', 'special_chars');
+        $lowerupper = $redis->hGet('PASSWD_POLICY', 'lowerupper');
+        $numbers = $redis->hGet('PASSWD_POLICY', 'numbers');
+        return array(
+          'length' => $length,
+          'chars' => $chars,
+          'special_chars' => $special_chars,
+          'lowerupper' => $lowerupper,
+          'numbers' => $numbers
+        );
+      }
+      catch (RedisException $e) {
+        $_SESSION['return'][] = array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_action, $_data),
+          'msg' => array('redis_error', $e)
+        );
+        return false;
+      }
+      return false;
+    break;
+    case 'html':
+      $policies = password_complexity('get');
+      foreach ($policies as $name => $value) {
+        if ($value != 0) {
+          $policy_text[] = sprintf($lang['admin']["password_policy_$name"], $value);
+        }
+      }
+      return '<p class="help-block small">- ' . implode('<br>- ', (array)$policy_text) . '</p>';
+    break;
   }
-  else {
+}
+function password_check($password1, $password2) {
+  $password_complexity = password_complexity('get');
+
+  if (empty($password1) || empty($password2)) {
+    $_SESSION['return'][] = array(
+      'type' => 'danger',
+      'log' => array(__FUNCTION__, $_action, $_type),
+      'msg' => 'password_complexity'
+    );
     return false;
   }
+
+  if ($password1 != $password2) {
+    $_SESSION['return'][] = array(
+      'type' => 'danger',
+      'log' => array(__FUNCTION__, $_action, $_type),
+      'msg' => 'password_mismatch'
+    );
+    return false;
+  }
+
+  $given_password['length'] = strlen($password1);
+  $given_password['special_chars'] = preg_match('/[^a-zA-Z\d]/', $password1);
+  $given_password['chars'] = preg_match('/[a-zA-Z]/',$password1);
+  $given_password['numbers'] = preg_match('/\d/', $password1);
+  $lower = strlen(preg_replace("/[^a-z]/", '', $password1));
+  $upper = strlen(preg_replace("/[^A-Z]/", '', $password1));
+  $given_password['lowerupper'] = ($lower > 0 && $upper > 0) ? true : false;
+
+  if (
+    ($given_password['length'] < $password_complexity['length']) ||
+    ($password_complexity['special_chars'] == 1 && (intval($given_password['special_chars']) != $password_complexity['special_chars'])) ||
+    ($password_complexity['chars'] == 1 && (intval($given_password['chars']) != $password_complexity['chars'])) ||
+    ($password_complexity['numbers'] == 1 && (intval($given_password['numbers']) != $password_complexity['numbers'])) ||
+    ($password_complexity['lowerupper'] == 1 && (intval($given_password['lowerupper']) != $password_complexity['lowerupper']))
+  ) {
+    $_SESSION['return'][] = array(
+      'type' => 'danger',
+      'log' => array(__FUNCTION__, $_action, $_type),
+      'msg' => 'password_complexity'
+    );
+    return false;
+  }
+
+  return true;
+}
+function last_login($action, $username, $sasl_limit_days = 7) {
+  global $pdo;
+  global $redis;
+  $sasl_limit_days = intval($sasl_limit_days);
+  switch ($action) {
+    case 'get':
+      if (filter_var($username, FILTER_VALIDATE_EMAIL) && hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $username)) {
+        $stmt = $pdo->prepare('SELECT `real_rip`, MAX(`datetime`) as `datetime`, `service`, `app_password` FROM `sasl_log`
+          LEFT OUTER JOIN `app_passwd` on `sasl_log`.`app_password` = `app_passwd`.`id`
+          WHERE `username` = :username
+            AND HOUR(TIMEDIFF(NOW(), `datetime`)) < :sasl_limit_days
+              GROUP BY `real_rip`, `service`, `app_password`
+              ORDER BY `datetime` DESC;');
+        $stmt->execute(array(':username' => $username, ':sasl_limit_days' => ($sasl_limit_days * 24)));
+        $sasl = $stmt->fetchAll(PDO::FETCH_ASSOC);
+        foreach ($sasl as $k => $v) {
+          if (!filter_var($sasl[$k]['real_rip'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
+            $sasl[$k]['real_rip'] = 'Web/EAS/Internal (' . $sasl[$k]['real_rip'] . ')';
+          }
+          elseif (filter_var($sasl[$k]['real_rip'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
+            try {
+              $sasl[$k]['location'] = $redis->hGet('IP_SHORTCOUNTRY', $sasl[$k]['real_rip']);
+            }
+            catch (RedisException $e) {
+              $_SESSION['return'][] = array(
+                'type' => 'danger',
+                'log' => array(__FUNCTION__, $_action, $_data_log),
+                'msg' => array('redis_error', $e)
+              );
+              return false;
+            }
+            if (!$sasl[$k]['location']) {
+              $curl = curl_init();
+              curl_setopt($curl, CURLOPT_URL,"https://dfdata.bella.network/lookup/" . $sasl[$k]['real_rip']);
+              curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
+              curl_setopt($curl, CURLOPT_USERAGENT, 'Moocow');
+              curl_setopt($curl, CURLOPT_TIMEOUT, 5);
+              $ip_data = curl_exec($curl);
+              if (!curl_errno($curl)) {
+                $ip_data_array = json_decode($ip_data, true);
+                if ($ip_data_array !== false and !empty($ip_data_array['location']['shortcountry'])) {
+                  $sasl[$k]['location'] = $ip_data_array['location']['shortcountry'];
+                    try {
+                      $redis->hSet('IP_SHORTCOUNTRY', $sasl[$k]['real_rip'], $ip_data_array['location']['shortcountry']);
+                    }
+                    catch (RedisException $e) {
+                      $_SESSION['return'][] = array(
+                        'type' => 'danger',
+                        'log' => array(__FUNCTION__, $_action, $_data_log),
+                        'msg' => array('redis_error', $e)
+                      );
+                      curl_close($curl);
+                      return false;
+                    }
+                }
+              }
+              curl_close($curl);
+            }
+          }
+        }
+      }
+      else {
+        $sasl = array();
+      }
+      if ($_SESSION['mailcow_cc_role'] == "admin" || $username == $_SESSION['mailcow_cc_username']) {
+        $stmt = $pdo->prepare('SELECT `remote`, `time` FROM `logs`
+          WHERE JSON_EXTRACT(`call`, "$[0]") = "check_login"
+            AND JSON_EXTRACT(`call`, "$[1]") = :username
+            AND `type` = "success" ORDER BY `time` DESC LIMIT 1 OFFSET 1');
+        $stmt->execute(array(':username' => $username));
+        $ui = $stmt->fetch(PDO::FETCH_ASSOC);
+      }
+      else {
+        $ui = array();
+      }
+
+      return array('ui' => $ui, 'sasl' => $sasl);
+    break;
+    case 'reset':
+      if (filter_var($username, FILTER_VALIDATE_EMAIL) && hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $username)) {
+        $stmt = $pdo->prepare('DELETE FROM `sasl_log`
+          WHERE `username` = :username');
+        $stmt->execute(array(':username' => $username));
+      }
+      if ($_SESSION['mailcow_cc_role'] == "admin" || $username == $_SESSION['mailcow_cc_username']) {
+        $stmt = $pdo->prepare('DELETE FROM `logs`
+          WHERE JSON_EXTRACT(`call`, "$[0]") = "check_login"
+            AND JSON_EXTRACT(`call`, "$[1]") = :username
+            AND `type` = "success"');
+        $stmt->execute(array(':username' => $username));
+      }
+      return true;
+    break;
+  }
+
 }
 function flush_memcached() {
   try {
@@ -135,13 +359,13 @@
 }
 function sys_mail($_data) {
   if ($_SESSION['mailcow_cc_role'] != "admin") {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'access_denied'
-		);
-		return false;
-	}
+      'msg' => 'access_denied'
+    );
+    return false;
+  }
   $excludes = $_data['mass_exclude'];
   $includes = $_data['mass_include'];
   $mailboxes = array();
@@ -150,28 +374,28 @@
   $mass_html = $_data['mass_html'];
   $mass_subject = $_data['mass_subject'];
   if (!filter_var($mass_from, FILTER_VALIDATE_EMAIL)) {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'from_invalid'
-		);
-		return false;
+      'msg' => 'from_invalid'
+    );
+    return false;
   }
   if (empty($mass_subject)) {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'subject_empty'
-		);
-		return false;
+      'msg' => 'subject_empty'
+    );
+    return false;
   }
   if (empty($mass_text)) {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'text_empty'
-		);
-		return false;
+      'msg' => 'text_empty'
+    );
+    return false;
   }
   $domains = array_merge(mailbox('get', 'domains'), mailbox('get', 'alias_domains'));
   foreach ($domains as $domain) {
@@ -265,8 +489,14 @@
     $task = substr(strtoupper(md5(uniqid(rand(), true))), 0, 6);
     foreach ($_data['return'] as $return) {
       $type = $return['type'];
-      $msg = json_encode($return['msg'], JSON_UNESCAPED_UNICODE);
-      $call = json_encode($return['log'], JSON_UNESCAPED_UNICODE);
+      $msg = null;
+      if (isset($return['msg'])) {
+        $msg = json_encode($return['msg'], JSON_UNESCAPED_UNICODE);
+      }
+      $call = null;
+      if (isset($return['log'])) {
+        $call = json_encode($return['log'], JSON_UNESCAPED_UNICODE);
+      }
       if (!empty($_SESSION["dual-login"]["username"])) {
         $user = $_SESSION["dual-login"]["username"] . ' => ' . $_SESSION['mailcow_cc_username'];
         $role = $_SESSION["dual-login"]["role"] . ' => ' . $_SESSION['mailcow_cc_role'];
@@ -303,16 +533,16 @@
   }
 }
 function hasDomainAccess($username, $role, $domain) {
-	global $pdo;
-	if (!filter_var($username, FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $username))) {
-		return false;
-	}
-	if (empty($domain) || !is_valid_domain_name($domain)) {
-		return false;
-	}
-	if ($role != 'admin' && $role != 'domainadmin') {
-		return false;
-	}
+  global $pdo;
+  if (!filter_var($username, FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $username))) {
+    return false;
+  }
+  if (empty($domain) || !is_valid_domain_name($domain)) {
+    return false;
+  }
+  if ($role != 'admin' && $role != 'domainadmin') {
+    return false;
+  }
   if ($role == 'admin') {
     $stmt = $pdo->prepare("SELECT `domain` FROM `domain`
       WHERE `domain` = :domain");
@@ -339,48 +569,49 @@
       return true;
     }
   }
-	return false;
+  return false;
 }
 function hasMailboxObjectAccess($username, $role, $object) {
-	global $pdo;
-	if (empty($username) || empty($role) || empty($object)) {
-		return false;
-	}
-	if (!filter_var(html_entity_decode(rawurldecode($username)), FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $username))) {
-		return false;
-	}
-	if ($role != 'admin' && $role != 'domainadmin' && $role != 'user') {
-		return false;
-	}
-	if ($username == $object) {
-		return true;
-	}
+  global $pdo;
+  if (empty($username) || empty($role) || empty($object)) {
+    return false;
+  }
+  if (!filter_var(html_entity_decode(rawurldecode($username)), FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $username))) {
+    return false;
+  }
+  if ($role != 'admin' && $role != 'domainadmin' && $role != 'user') {
+    return false;
+  }
+  if ($username == $object) {
+    return true;
+  }
   $stmt = $pdo->prepare("SELECT `domain` FROM `mailbox` WHERE `username` = :object");
   $stmt->execute(array(':object' => $object));
   $row = $stmt->fetch(PDO::FETCH_ASSOC);
   if (isset($row['domain']) && hasDomainAccess($username, $role, $row['domain'])) {
     return true;
   }
-	return false;
+  return false;
 }
+// does also verify mailboxes as a mailbox is a alias == goto
 function hasAliasObjectAccess($username, $role, $object) {
-	global $pdo;
-	if (!filter_var(html_entity_decode(rawurldecode($username)), FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $username))) {
-		return false;
-	}
-	if ($role != 'admin' && $role != 'domainadmin' && $role != 'user') {
-		return false;
-	}
-	if ($username == $object) {
-		return true;
-	}
+  global $pdo;
+  if (empty($username) || empty($role) || empty($object)) {
+    return false;
+  }
+  if (!filter_var(html_entity_decode(rawurldecode($username)), FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $username))) {
+    return false;
+  }
+  if ($role != 'admin' && $role != 'domainadmin' && $role != 'user') {
+    return false;
+  }
   $stmt = $pdo->prepare("SELECT `domain` FROM `alias` WHERE `address` = :object");
   $stmt->execute(array(':object' => $object));
   $row = $stmt->fetch(PDO::FETCH_ASSOC);
   if (isset($row['domain']) && hasDomainAccess($username, $role, $row['domain'])) {
     return true;
   }
-	return false;
+  return false;
 }
 function pem_to_der($pem_key) {
   // Need to remove BEGIN/END PUBLIC KEY
@@ -390,9 +621,9 @@
   return base64_decode(implode('', $lines));
 }
 function expand_ipv6($ip) {
-	$hex = unpack("H*hex", inet_pton($ip));
-	$ip = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex['hex']), 0, -1);
-	return $ip;
+  $hex = unpack("H*hex", inet_pton($ip));
+  $ip = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex['hex']), 0, -1);
+  return $ip;
 }
 function generate_tlsa_digest($hostname, $port, $starttls = null) {
   if (!is_valid_domain_name($hostname)) {
@@ -453,15 +684,20 @@
     return 'Error: Cannot read peer certificate';
   }
 }
-function alertbox_log_parser($_data){
+function alertbox_log_parser($_data) {
   global $lang;
   if (isset($_data['return'])) {
     foreach ($_data['return'] as $return) {
       // Get type
       $type = $return['type'];
       // If a lang[type][msg] string exists, use it as message
-      if (is_string($lang[$return['type']][$return['msg']])) {
-        $msg = $lang[$return['type']][$return['msg']];
+      if (isset($return['type']) && isset($return['msg']) && !is_array($return['msg'])) {
+        if (isset($lang[$return['type']][$return['msg']])) {
+          $msg = $lang[$return['type']][$return['msg']];
+        }
+        else {
+          $msg = $return['msg'];
+        }
       }
       // If msg is an array, use first element as language string and run printf on it with remaining array elements
       elseif (is_array($return['msg'])) {
@@ -471,9 +707,8 @@
           $return['msg']
         );
       }
-      // If none applies, use msg as returned message
       else {
-        $msg = $return['msg'];
+        $msg = '-';
       }
       $log_array[] = array('msg' => $msg, 'type' => json_encode($type));
     }
@@ -483,100 +718,116 @@
   }
   return false;
 }
+function verify_salted_hash($hash, $password, $algo, $salt_length) {
+  // Decode hash
+  $dhash = base64_decode($hash);
+  // Get first n bytes of binary which equals a SSHA hash
+  $ohash = substr($dhash, 0, $salt_length);
+  // Remove SSHA hash from decoded hash to get original salt string
+  $osalt = str_replace($ohash, '', $dhash);
+  // Check single salted SSHA hash against extracted hash
+  if (hash_equals(hash($algo, $password . $osalt, true), $ohash)) {
+    return true;
+  }
+  return false;
+}
 function verify_hash($hash, $password) {
-  if (preg_match('/^{SSHA256}/i', $hash)) {
-    // Remove tag if any
-    $hash = preg_replace('/^{SSHA256}/i', '', $hash);
-    // Decode hash
-    $dhash = base64_decode($hash);
-    // Get first 32 bytes of binary which equals a SHA256 hash
-    $ohash = substr($dhash, 0, 32);
-    // Remove SHA256 hash from decoded hash to get original salt string
-    $osalt = str_replace($ohash, '', $dhash);
-    // Check single salted SHA256 hash against extracted hash
-    if (hash_equals(hash('sha256', $password . $osalt, true), $ohash)) {
-      return true;
-    }
-  }
-  elseif (preg_match('/^{SSHA}/i', $hash)) {
-    // Remove tag if any
-    $hash = preg_replace('/^{SSHA}/i', '', $hash);
-    // Decode hash
-    $dhash = base64_decode($hash);
-    // Get first 20 bytes of binary which equals a SSHA hash
-    $ohash = substr($dhash, 0, 20);
-    // Remove SSHA hash from decoded hash to get original salt string
-    $osalt = str_replace($ohash, '', $dhash);
-    // Check single salted SSHA hash against extracted hash
-    if (hash_equals(hash('sha1', $password . $osalt, true), $ohash)) {
-      return true;
-    }
-  }
-  elseif (preg_match('/^{PLAIN-MD5}/i', $hash)) {
-    $hash = preg_replace('/^{PLAIN-MD5}/i', '', $hash);
-    if (md5($password) == $hash) {
-      return true;
-    }
-  }
-  elseif (preg_match('/^{SHA512-CRYPT}/i', $hash)) {
-    // Remove tag if any
-    $hash = preg_replace('/^{SHA512-CRYPT}/i', '', $hash);
-    // Decode hash
-    preg_match('/\\$6\\$(.*)\\$(.*)/i', $hash, $hash_array);
-    $osalt = $hash_array[1];
-    $ohash = $hash_array[2];
-    if (hash_equals(crypt($password, '$6$' . $osalt . '$'), $hash)) {
-      return true;
-    }
-  }
-  elseif (preg_match('/^{SSHA512}/i', $hash)) {
-    $hash = preg_replace('/^{SSHA512}/i', '', $hash);
-    // Decode hash
-    $dhash = base64_decode($hash);
-    // Get first 64 bytes of binary which equals a SHA512 hash
-    $ohash = substr($dhash, 0, 64);
-    // Remove SHA512 hash from decoded hash to get original salt string
-    $osalt = str_replace($ohash, '', $dhash);
-    // Check single salted SHA512 hash against extracted hash
-    if (hash_equals(hash('sha512', $password . $osalt, true), $ohash)) {
-      return true;
-    }
-  }
-  elseif (preg_match('/^{MD5-CRYPT}/i', $hash)) {
-    $hash = preg_replace('/^{MD5-CRYPT}/i', '', $hash);
-    if (password_verify($password, $hash)) {
-      return true;
-    }
-  } 
-  elseif (preg_match('/^{BLF-CRYPT}/i', $hash)) {
-    $hash = preg_replace('/^{BLF-CRYPT}/i', '', $hash);
-    if (password_verify($password, $hash)) {
-      return true;
+  if (preg_match('/^{(.+)}(.+)/i', $hash, $hash_array)) {
+    $scheme = strtoupper($hash_array[1]);
+    $hash = $hash_array[2];
+    switch ($scheme) {
+      case "ARGON2I":
+      case "ARGON2ID":
+      case "BLF-CRYPT":
+      case "CRYPT":
+      case "DES-CRYPT":
+      case "MD5-CRYPT":
+      case "MD5":
+      case "SHA256-CRYPT":
+      case "SHA512-CRYPT":
+        return password_verify($password, $hash);
+
+      case "CLEAR":
+      case "CLEARTEXT":
+      case "PLAIN":
+        return $password == $hash;
+
+      case "LDAP-MD5":
+        $hash = base64_decode($hash);
+        return hash_equals(hash('md5', $password, true), $hash);
+
+      case "PBKDF2":
+        $components = explode('$', $hash);
+        $salt = $components[2];
+        $rounds = $components[3];
+        $hash = $components[4];
+        return hash_equals(hash_pbkdf2('sha1', $password, $salt, $rounds), $hash);
+
+      case "PLAIN-MD4":
+        return hash_equals(hash('md4', $password), $hash);
+
+      case "PLAIN-MD5":
+        return md5($password) == $hash;
+
+      case "PLAIN-TRUNC":
+        $components = explode('-', $hash);
+        if (count($components) > 1) {
+          $trunc_len = $components[0];
+          $trunc_password = $components[1];
+
+          return substr($password, 0, $trunc_len) == $trunc_password;
+        } else {
+          return $password == $hash;
+        }
+
+      case "SHA":
+      case "SHA1":
+      case "SHA256":
+      case "SHA512":
+        // SHA is an alias for SHA1
+        $scheme = $scheme == "SHA" ? "sha1" : strtolower($scheme);
+        $hash = base64_decode($hash);
+        return hash_equals(hash($scheme, $password, true), $hash);
+
+      case "SMD5":
+        return verify_salted_hash($hash, $password, 'md5', 16);
+
+      case "SSHA":
+        return verify_salted_hash($hash, $password, 'sha1', 20);
+
+      case "SSHA256":
+        return verify_salted_hash($hash, $password, 'sha256', 32);
+
+      case "SSHA512":
+        return verify_salted_hash($hash, $password, 'sha512', 64);
+
+      default:
+        return false;
     }
   }
   return false;
 }
 function check_login($user, $pass) {
-	global $pdo;
-	global $redis;
-	global $imap_server;
-	if (!filter_var($user, FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $user))) {
+  global $pdo;
+  global $redis;
+  global $imap_server;
+  if (!filter_var($user, FILTER_VALIDATE_EMAIL) && !ctype_alnum(str_replace(array('_', '.', '-'), '', $user))) {
     $_SESSION['return'][] =  array(
       'type' => 'danger',
       'log' => array(__FUNCTION__, $user, '*'),
       'msg' => 'malformed_username'
     );
-		return false;
-	}
-	$user = strtolower(trim($user));
-	$stmt = $pdo->prepare("SELECT `password` FROM `admin`
-			WHERE `superadmin` = '1'
-			AND `active` = '1'
-			AND `username` = :user");
-	$stmt->execute(array(':user' => $user));
-	$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-	foreach ($rows as $row) {
-		if (verify_hash($row['password'], $pass)) {
+    return false;
+  }
+  $user = strtolower(trim($user));
+  $stmt = $pdo->prepare("SELECT `password` FROM `admin`
+      WHERE `superadmin` = '1'
+      AND `active` = '1'
+      AND `username` = :user");
+  $stmt->execute(array(':user' => $user));
+  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+  foreach ($rows as $row) {
+    if (verify_hash($row['password'], $pass)) {
       if (get_tfa($user)['name'] != "none") {
         $_SESSION['pending_mailcow_cc_username'] = $user;
         $_SESSION['pending_mailcow_cc_role'] = "admin";
@@ -601,16 +852,16 @@
         );
         return "admin";
       }
-		}
-	}
-	$stmt = $pdo->prepare("SELECT `password` FROM `admin`
-			WHERE `superadmin` = '0'
-			AND `active`='1'
-			AND `username` = :user");
-	$stmt->execute(array(':user' => $user));
-	$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-	foreach ($rows as $row) {
-		if (verify_hash($row['password'], $pass) !== false) {
+    }
+  }
+  $stmt = $pdo->prepare("SELECT `password` FROM `admin`
+      WHERE `superadmin` = '0'
+      AND `active`='1'
+      AND `username` = :user");
+  $stmt->execute(array(':user' => $user));
+  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+  foreach ($rows as $row) {
+    if (verify_hash($row['password'], $pass) !== false) {
       if (get_tfa($user)['name'] != "none") {
         $_SESSION['pending_mailcow_cc_username'] = $user;
         $_SESSION['pending_mailcow_cc_role'] = "domainadmin";
@@ -635,55 +886,55 @@
         );
         return "domainadmin";
       }
-		}
-	}
-	$stmt = $pdo->prepare("SELECT `password` FROM `mailbox`
+    }
+  }
+  $stmt = $pdo->prepare("SELECT `password` FROM `mailbox`
       INNER JOIN domain on mailbox.domain = domain.domain
-			WHERE `kind` NOT REGEXP 'location|thing|group'
+      WHERE `kind` NOT REGEXP 'location|thing|group'
         AND `mailbox`.`active`='1'
         AND `domain`.`active`='1'
         AND `username` = :user");
-	$stmt->execute(array(':user' => $user));
-	$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-	foreach ($rows as $row) {
-		if (verify_hash($row['password'], $pass) !== false) {
-			unset($_SESSION['ldelay']);
+  $stmt->execute(array(':user' => $user));
+  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+  foreach ($rows as $row) {
+    if (verify_hash($row['password'], $pass) !== false) {
+      unset($_SESSION['ldelay']);
       $_SESSION['return'][] =  array(
         'type' => 'success',
         'log' => array(__FUNCTION__, $user, '*'),
         'msg' => array('logged_in_as', $user)
       );
-			return "user";
-		}
-	}
-	if (!isset($_SESSION['ldelay'])) {
-		$_SESSION['ldelay'] = "0";
+      return "user";
+    }
+  }
+  if (!isset($_SESSION['ldelay'])) {
+    $_SESSION['ldelay'] = "0";
     $redis->publish("F2B_CHANNEL", "mailcow UI: Invalid password for " . $user . " by " . $_SERVER['REMOTE_ADDR']);
     error_log("mailcow UI: Invalid password for " . $user . " by " . $_SERVER['REMOTE_ADDR']);
-	}
-	elseif (!isset($_SESSION['mailcow_cc_username'])) {
-		$_SESSION['ldelay'] = $_SESSION['ldelay']+0.5;
+  }
+  elseif (!isset($_SESSION['mailcow_cc_username'])) {
+    $_SESSION['ldelay'] = $_SESSION['ldelay']+0.5;
     $redis->publish("F2B_CHANNEL", "mailcow UI: Invalid password for " . $user . " by " . $_SERVER['REMOTE_ADDR']);
-		error_log("mailcow UI: Invalid password for " . $user . " by " . $_SERVER['REMOTE_ADDR']);
-	}
+    error_log("mailcow UI: Invalid password for " . $user . " by " . $_SERVER['REMOTE_ADDR']);
+  }
   $_SESSION['return'][] =  array(
     'type' => 'danger',
     'log' => array(__FUNCTION__, $user, '*'),
     'msg' => 'login_failed'
   );
-	sleep($_SESSION['ldelay']);
+  sleep($_SESSION['ldelay']);
   return false;
 }
 function formatBytes($size, $precision = 2) {
-	if(!is_numeric($size)) {
-		return "0";
-	}
-	$base = log($size, 1024);
-	$suffixes = array(' Byte', ' KiB', ' MiB', ' GiB', ' TiB');
-	if ($size == "0") {
-		return "0";
-	}
-	return round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)];
+  if(!is_numeric($size)) {
+    return "0";
+  }
+  $base = log($size, 1024);
+  $suffixes = array(' Byte', ' KiB', ' MiB', ' GiB', ' TiB');
+  if ($size == "0") {
+    return "0";
+  }
+  return round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)];
 }
 function update_sogo_static_view() {
   if (getenv('SKIP_SOGO') == "y") {
@@ -702,15 +953,15 @@
   flush_memcached();
 }
 function edit_user_account($_data) {
-	global $lang;
-	global $pdo;
+  global $lang;
+  global $pdo;
   $_data_log = $_data;
   !isset($_data_log['user_new_pass']) ?: $_data_log['user_new_pass'] = '*';
   !isset($_data_log['user_new_pass2']) ?: $_data_log['user_new_pass2'] = '*';
   !isset($_data_log['user_old_pass']) ?: $_data_log['user_old_pass'] = '*';
   $username = $_SESSION['mailcow_cc_username'];
   $role = $_SESSION['mailcow_cc_role'];
-	$password_old = $_data['user_old_pass'];
+  $password_old = $_data['user_old_pass'];
   if (filter_var($username, FILTER_VALIDATE_EMAIL === false) || $role != 'user') {
     $_SESSION['return'][] =  array(
       'type' => 'danger',
@@ -719,15 +970,11 @@
     );
     return false;
   }
-	if (isset($_data['user_new_pass']) && isset($_data['user_new_pass2'])) {
-		$password_new	= $_data['user_new_pass'];
-		$password_new2	= $_data['user_new_pass2'];
-	}
-	$stmt = $pdo->prepare("SELECT `password` FROM `mailbox`
-			WHERE `kind` NOT REGEXP 'location|thing|group'
+  $stmt = $pdo->prepare("SELECT `password` FROM `mailbox`
+      WHERE `kind` NOT REGEXP 'location|thing|group'
         AND `username` = :user");
-	$stmt->execute(array(':user' => $username));
-	$row = $stmt->fetch(PDO::FETCH_ASSOC);
+  $stmt->execute(array(':user' => $username));
+  $row = $stmt->fetch(PDO::FETCH_ASSOC);
   if (!verify_hash($row['password'], $password_old)) {
     $_SESSION['return'][] =  array(
       'type' => 'danger',
@@ -736,59 +983,43 @@
     );
     return false;
   }
-	if (isset($password_new) && isset($password_new2)) {
-		if (!empty($password_new2) && !empty($password_new)) {
-			if ($password_new2 != $password_new) {
-				$_SESSION['return'][] =  array(
-					'type' => 'danger',
-          'log' => array(__FUNCTION__, $_data_log),
-					'msg' => 'password_mismatch'
-				);
-				return false;
-			}
-			if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password_new)) {
-					$_SESSION['return'][] =  array(
-						'type' => 'danger',
-            'log' => array(__FUNCTION__, $_data_log),
-						'msg' => 'password_complexity'
-					);
-					return false;
-			}
-			$password_hashed = hash_password($password_new);
-			try {
-				$stmt = $pdo->prepare("UPDATE `mailbox` SET `password` = :password_hashed, `attributes` = JSON_SET(`attributes`, '$.force_pw_update', '0') WHERE `username` = :username");
-				$stmt->execute(array(
-					':password_hashed' => $password_hashed,
-					':username' => $username
-				));
-			}
-			catch (PDOException $e) {
-				$_SESSION['return'][] =  array(
-					'type' => 'danger',
-          'log' => array(__FUNCTION__, $_data_log),
-					'msg' => array('mysql_error', $e)
-				);
-				return false;
-			}
-		}
-	}
+  if (!empty($_data['user_new_pass']) && !empty($_data['user_new_pass2'])) {
+    $password_new = $_data['user_new_pass'];
+    $password_new2  = $_data['user_new_pass2'];
+    if (password_check($password_new, $password_new2) !== true) {
+      return false;
+    }
+    $password_hashed = hash_password($password_new);
+    $stmt = $pdo->prepare("UPDATE `mailbox` SET `password` = :password_hashed,
+      `attributes` = JSON_SET(`attributes`, '$.force_pw_update', '0'),
+      `attributes` = JSON_SET(`attributes`, '$.passwd_update', NOW())
+        WHERE `username` = :username");
+    $stmt->execute(array(
+      ':password_hashed' => $password_hashed,
+      ':username' => $username
+    ));
+  }
   update_sogo_static_view();
-	$_SESSION['return'][] =  array(
-		'type' => 'success',
+  $_SESSION['return'][] =  array(
+    'type' => 'success',
     'log' => array(__FUNCTION__, $_data_log),
-		'msg' => array('mailbox_modified', htmlspecialchars($username))
-	);
+    'msg' => array('mailbox_modified', htmlspecialchars($username))
+  );
 }
 function user_get_alias_details($username) {
-	global $pdo;
-  $data['direct_aliases'] = false;
-  $data['shared_aliases'] = false;
+  global $pdo;
+  global $lang;
+  $data['direct_aliases'] = array();
+  $data['shared_aliases'] = array();
   if ($_SESSION['mailcow_cc_role'] == "user") {
-    $username	= $_SESSION['mailcow_cc_username'];
+    $username = $_SESSION['mailcow_cc_username'];
   }
   if (!filter_var($username, FILTER_VALIDATE_EMAIL)) {
     return false;
   }
+  if (!hasMailboxObjectAccess($username, $_SESSION['mailcow_cc_role'], $username)) {
+    return false;
+  }
   $data['address'] = $username;
   $stmt = $pdo->prepare("SELECT `address` AS `shared_aliases`, `public_comment` FROM `alias`
     WHERE `goto` REGEXP :username_goto
@@ -803,7 +1034,6 @@
   $run = $stmt->fetchAll(PDO::FETCH_ASSOC);
   while ($row = array_shift($run)) {
     $data['shared_aliases'][$row['shared_aliases']]['public_comment'] = htmlspecialchars($row['public_comment']);
-
     //$data['shared_aliases'][] = $row['shared_aliases'];
   }
 
@@ -829,21 +1059,22 @@
     if (empty($row['ad_alias'])) {
       continue;
     }
-    $data['direct_aliases'][$row['ad_alias']]['public_comment'] = '↪ ' . $row['alias_domain'];
+    $data['direct_aliases'][$row['ad_alias']]['public_comment'] = $lang['add']['alias_domain'];
+    $data['alias_domains'][] = $row['alias_domain'];
   }
-  $stmt = $pdo->prepare("SELECT IFNULL(GROUP_CONCAT(`send_as` SEPARATOR ', '), '&#10008;') AS `send_as` FROM `sender_acl` WHERE `logged_in_as` = :username AND `send_as` NOT LIKE '@%';");
+  $stmt = $pdo->prepare("SELECT IFNULL(GROUP_CONCAT(`send_as` SEPARATOR ', '), '') AS `send_as` FROM `sender_acl` WHERE `logged_in_as` = :username AND `send_as` NOT LIKE '@%';");
   $stmt->execute(array(':username' => $username));
   $run = $stmt->fetchAll(PDO::FETCH_ASSOC);
   while ($row = array_shift($run)) {
     $data['aliases_also_send_as'] = $row['send_as'];
   }
-  $stmt = $pdo->prepare("SELECT CONCAT_WS(', ', IFNULL(GROUP_CONCAT(DISTINCT `send_as` SEPARATOR ', '), '&#10008;'), GROUP_CONCAT(DISTINCT CONCAT('@',`alias_domain`) SEPARATOR ', ')) AS `send_as` FROM `sender_acl` LEFT JOIN `alias_domain` ON `alias_domain`.`target_domain` =  TRIM(LEADING '@' FROM `send_as`) WHERE `logged_in_as` = :username AND `send_as` LIKE '@%';");
+  $stmt = $pdo->prepare("SELECT CONCAT_WS(', ', IFNULL(GROUP_CONCAT(DISTINCT `send_as` SEPARATOR ', '), ''), GROUP_CONCAT(DISTINCT CONCAT('@',`alias_domain`) SEPARATOR ', ')) AS `send_as` FROM `sender_acl` LEFT JOIN `alias_domain` ON `alias_domain`.`target_domain` =  TRIM(LEADING '@' FROM `send_as`) WHERE `logged_in_as` = :username AND `send_as` LIKE '@%';");
   $stmt->execute(array(':username' => $username));
   $run = $stmt->fetchAll(PDO::FETCH_ASSOC);
   while ($row = array_shift($run)) {
     $data['aliases_send_as_all'] = $row['send_as'];
   }
-  $stmt = $pdo->prepare("SELECT IFNULL(GROUP_CONCAT(`address` SEPARATOR ', '), '&#10008;') as `address` FROM `alias` WHERE `goto` REGEXP :username AND `address` LIKE '@%';");
+  $stmt = $pdo->prepare("SELECT IFNULL(GROUP_CONCAT(`address` SEPARATOR ', '), '') as `address` FROM `alias` WHERE `goto` REGEXP :username AND `address` LIKE '@%';");
   $stmt->execute(array(':username' => '(^|,)'.$username.'($|,)'));
   $run = $stmt->fetchAll(PDO::FETCH_ASSOC);
   while ($row = array_shift($run)) {
@@ -852,24 +1083,23 @@
   return $data;
 }
 function is_valid_domain_name($domain_name) {
-	if (empty($domain_name)) {
-		return false;
-	}
-	$domain_name = idn_to_ascii($domain_name, 0, INTL_IDNA_VARIANT_UTS46);
-	return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name)
-		   && preg_match("/^.{1,253}$/", $domain_name)
-		   && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name));
+  if (empty($domain_name)) {
+    return false;
+  }
+  $domain_name = idn_to_ascii($domain_name, 0, INTL_IDNA_VARIANT_UTS46);
+  return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name)
+       && preg_match("/^.{1,253}$/", $domain_name)
+       && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name));
 }
 function set_tfa($_data) {
-	global $pdo;
-	global $yubi;
-	global $u2f;
-	global $tfa;
+  global $pdo;
+  global $yubi;
+  global $u2f;
+  global $tfa;
   $_data_log = $_data;
   !isset($_data_log['confirm_password']) ?: $_data_log['confirm_password'] = '*';
   $username = $_SESSION['mailcow_cc_username'];
-  if ($_SESSION['mailcow_cc_role'] != "domainadmin" &&
-    $_SESSION['mailcow_cc_role'] != "admin") {
+  if (!isset($_SESSION['mailcow_cc_role']) || empty($username)) {
       $_SESSION['return'][] =  array(
         'type' => 'danger',
         'log' => array(__FUNCTION__, $_data_log),
@@ -878,20 +1108,37 @@
       return false;
   }
   $stmt = $pdo->prepare("SELECT `password` FROM `admin`
-      WHERE `username` = :user");
-  $stmt->execute(array(':user' => $username));
+      WHERE `username` = :username");
+  $stmt->execute(array(':username' => $username));
   $row = $stmt->fetch(PDO::FETCH_ASSOC);
-  if (!verify_hash($row['password'], $_data["confirm_password"])) {
-    $_SESSION['return'][] =  array(
-      'type' => 'danger',
-      'log' => array(__FUNCTION__, $_data_log),
-      'msg' => 'access_denied'
-    );
-    return false;
+  $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
+  if (!empty($num_results)) {
+    if (!verify_hash($row['password'], $_data["confirm_password"])) {
+      $_SESSION['return'][] =  array(
+        'type' => 'danger',
+        'log' => array(__FUNCTION__, $_data_log),
+        'msg' => 'access_denied'
+      );
+      return false;
+    }
   }
-
-	switch ($_data["tfa_method"]) {
-		case "yubi_otp":
+  $stmt = $pdo->prepare("SELECT `password` FROM `mailbox`
+      WHERE `username` = :username");
+  $stmt->execute(array(':username' => $username));
+  $row = $stmt->fetch(PDO::FETCH_ASSOC);
+  $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
+  if (!empty($num_results)) {
+    if (!verify_hash($row['password'], $_data["confirm_password"])) {
+      $_SESSION['return'][] =  array(
+        'type' => 'danger',
+        'log' => array(__FUNCTION__, $_data_log),
+        'msg' => 'access_denied'
+      );
+      return false;
+    }
+  }
+  switch ($_data["tfa_method"]) {
+    case "yubi_otp":
       $key_id = (!isset($_data["key_id"])) ? 'unidentified' : $_data["key_id"];
       $yubico_id = $_data['yubico_id'];
       $yubico_key = $_data['yubico_key'];
@@ -904,55 +1151,55 @@
         );
         return false;
       }
-			if (!ctype_alnum($_data["otp_token"]) || strlen($_data["otp_token"]) != 44) {
-				$_SESSION['return'][] =  array(
-					'type' => 'danger',
+      if (!ctype_alnum($_data["otp_token"]) || strlen($_data["otp_token"]) != 44) {
+        $_SESSION['return'][] =  array(
+          'type' => 'danger',
           'log' => array(__FUNCTION__, $_data_log),
-					'msg' => 'tfa_token_invalid'
-				);
-				return false;
-			}
+          'msg' => 'tfa_token_invalid'
+        );
+        return false;
+      }
       $yauth = $yubi->verify($_data["otp_token"]);
       if (PEAR::isError($yauth)) {
-				$_SESSION['return'][] =  array(
-					'type' => 'danger',
+        $_SESSION['return'][] =  array(
+          'type' => 'danger',
           'log' => array(__FUNCTION__, $_data_log),
           'msg' => array('yotp_verification_failed', $yauth->getMessage())
-				);
-				return false;
+        );
+        return false;
       }
-			try {
+      try {
         // We could also do a modhex translation here
         $yubico_modhex_id = substr($_data["otp_token"], 0, 12);
         $stmt = $pdo->prepare("DELETE FROM `tfa`
           WHERE `username` = :username
             AND (`authmech` != 'yubi_otp')
             OR (`authmech` = 'yubi_otp' AND `secret` LIKE :modhex)");
-				$stmt->execute(array(':username' => $username, ':modhex' => '%' . $yubico_modhex_id));
-				$stmt = $pdo->prepare("INSERT INTO `tfa` (`key_id`, `username`, `authmech`, `active`, `secret`) VALUES
-					(:key_id, :username, 'yubi_otp', '1', :secret)");
-				$stmt->execute(array(':key_id' => $key_id, ':username' => $username, ':secret' => $yubico_id . ':' . $yubico_key . ':' . $yubico_modhex_id));
-			}
-			catch (PDOException $e) {
-				$_SESSION['return'][] =  array(
-					'type' => 'danger',
+        $stmt->execute(array(':username' => $username, ':modhex' => '%' . $yubico_modhex_id));
+        $stmt = $pdo->prepare("INSERT INTO `tfa` (`key_id`, `username`, `authmech`, `active`, `secret`) VALUES
+          (:key_id, :username, 'yubi_otp', '1', :secret)");
+        $stmt->execute(array(':key_id' => $key_id, ':username' => $username, ':secret' => $yubico_id . ':' . $yubico_key . ':' . $yubico_modhex_id));
+      }
+      catch (PDOException $e) {
+        $_SESSION['return'][] =  array(
+          'type' => 'danger',
           'log' => array(__FUNCTION__, $_data_log),
-					'msg' => array('mysql_error', $e)
-				);
-				return false;
-			}
-			$_SESSION['return'][] =  array(
-				'type' => 'success',
+          'msg' => array('mysql_error', $e)
+        );
+        return false;
+      }
+      $_SESSION['return'][] =  array(
+        'type' => 'success',
         'log' => array(__FUNCTION__, $_data_log),
-				'msg' => array('object_modified', htmlspecialchars($username))
-			);
-		break;
-		case "u2f":
+        'msg' => array('object_modified', htmlspecialchars($username))
+      );
+    break;
+    case "u2f":
       $key_id = (!isset($_data["key_id"])) ? 'unidentified' : $_data["key_id"];
       try {
         $reg = $u2f->doRegister(json_decode($_SESSION['regReq']), json_decode($_data['token']));
         $stmt = $pdo->prepare("DELETE FROM `tfa` WHERE `username` = :username AND `authmech` != 'u2f'");
-				$stmt->execute(array(':username' => $username));
+        $stmt->execute(array(':username' => $username));
         $stmt = $pdo->prepare("INSERT INTO `tfa` (`username`, `key_id`, `authmech`, `keyHandle`, `publicKey`, `certificate`, `counter`, `active`) VALUES (?, ?, 'u2f', ?, ?, ?, ?, '1')");
         $stmt->execute(array($username, $key_id, $reg->keyHandle, $reg->publicKey, $reg->certificate, $reg->counter));
         $_SESSION['return'][] =  array(
@@ -971,8 +1218,8 @@
         $_SESSION['regReq'] = null;
         return false;
       }
-		break;
-		case "totp":
+    break;
+    case "totp":
       $key_id = (!isset($_data["key_id"])) ? 'unidentified' : $_data["key_id"];
       if ($tfa->verifyCode($_POST['totp_secret'], $_POST['totp_confirm_token']) === true) {
         $stmt = $pdo->prepare("DELETE FROM `tfa` WHERE `username` = :username");
@@ -992,28 +1239,27 @@
           'msg' => 'totp_verification_failed'
         );
       }
-		break;
-		case "none":
+    break;
+    case "none":
       $stmt = $pdo->prepare("DELETE FROM `tfa` WHERE `username` = :username");
       $stmt->execute(array(':username' => $username));
-			$_SESSION['return'][] =  array(
-				'type' => 'success',
+      $_SESSION['return'][] =  array(
+        'type' => 'success',
         'log' => array(__FUNCTION__, $_data_log),
-				'msg' => array('object_modified', htmlspecialchars($username))
-			);
-		break;
-	}
+        'msg' => array('object_modified', htmlspecialchars($username))
+      );
+    break;
+  }
 }
 function fido2($_data) {
-	global $pdo;
+  global $pdo;
   $_data_log = $_data;
   // Not logging registration data, only actions
   // Silent errors for "get" requests
-	switch ($_data["action"]) {
-		case "register":
+  switch ($_data["action"]) {
+    case "register":
       $username = $_SESSION['mailcow_cc_username'];
-      if ($_SESSION['mailcow_cc_role'] != "domainadmin" &&
-        $_SESSION['mailcow_cc_role'] != "admin") {
+      if (!isset($_SESSION['mailcow_cc_role']) || empty($username)) {
           $_SESSION['return'][] =  array(
             'type' => 'danger',
             'log' => array(__FUNCTION__, $_data["action"]),
@@ -1040,13 +1286,12 @@
         'log' => array(__FUNCTION__, $_data["action"]),
         'msg' => array('object_modified', $username)
       );
-		break;
-		case "get_user_cids":
+    break;
+    case "get_user_cids":
       // Used to exclude existing CredentialIds while registering
       $username = $_SESSION['mailcow_cc_username'];
-      if ($_SESSION['mailcow_cc_role'] != "domainadmin" &&
-        $_SESSION['mailcow_cc_role'] != "admin") {
-          return false;
+      if (!isset($_SESSION['mailcow_cc_role']) || empty($username)) {
+        return false;
       }
       $stmt = $pdo->prepare("SELECT `credentialId` FROM `fido2` WHERE `username` = :username");
       $stmt->execute(array(':username' => $username));
@@ -1055,8 +1300,8 @@
         $cids[] = $row['credentialId'];
       }
       return $cids;
-		break;
-		case "get_all_cids":
+    break;
+    case "get_all_cids":
       // Only needed when using fido2 with username
       $stmt = $pdo->query("SELECT `credentialId` FROM `fido2`");
       $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
@@ -1064,7 +1309,7 @@
         $cids[] = $row['credentialId'];
       }
       return $cids;
-		break;
+    break;
     case "get_by_b64cid":
       if (!isset($_data['cid']) || empty($_data['cid'])) {
         return false;
@@ -1080,12 +1325,11 @@
       $data['subject'] = $row['certificateSubject'];
       $data['cid'] = $row['cid'];
       return $data;
-		break;
-		case "get_friendly_names":
+    break;
+    case "get_friendly_names":
       $username = $_SESSION['mailcow_cc_username'];
-      if ($_SESSION['mailcow_cc_role'] != "domainadmin" &&
-        $_SESSION['mailcow_cc_role'] != "admin") {
-          return false;
+      if (!isset($_SESSION['mailcow_cc_role']) || empty($username)) {
+        return false;
       }
       $stmt = $pdo->prepare("SELECT SHA2(`credentialId`, 256) AS `cid`, `created`, `certificateSubject`, `friendlyName` FROM `fido2` WHERE `username` = :username");
       $stmt->execute(array(':username' => $username));
@@ -1098,39 +1342,37 @@
         );
       }
       return $fns;
-		break;
-		case "unset_fido2_key":
+    break;
+    case "unset_fido2_key":
       $username = $_SESSION['mailcow_cc_username'];
-      if ($_SESSION['mailcow_cc_role'] != "domainadmin" &&
-        $_SESSION['mailcow_cc_role'] != "admin") {
-          $_SESSION['return'][] =  array(
-            'type' => 'danger',
-            'log' => array(__FUNCTION__, $_data["action"]),
-            'msg' => 'access_denied'
-          );
-          return false;
+      if (!isset($_SESSION['mailcow_cc_role']) || empty($username)) {
+        $_SESSION['return'][] =  array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_data["action"]),
+          'msg' => 'access_denied'
+        );
+        return false;
       }
       $stmt = $pdo->prepare("DELETE FROM `fido2` WHERE `username` = :username AND SHA2(`credentialId`, 256) = :cid");
       $stmt->execute(array(
         ':username' => $username,
         ':cid' => $_data['post_data']['unset_fido2_key']
       ));
-			$_SESSION['return'][] =  array(
-				'type' => 'success',
+      $_SESSION['return'][] =  array(
+        'type' => 'success',
         'log' => array(__FUNCTION__, $_data_log),
-				'msg' => array('object_modified', htmlspecialchars($username))
-			);
-		break;
+        'msg' => array('object_modified', htmlspecialchars($username))
+      );
+    break;
     case "edit_fn":
       $username = $_SESSION['mailcow_cc_username'];
-      if ($_SESSION['mailcow_cc_role'] != "domainadmin" &&
-        $_SESSION['mailcow_cc_role'] != "admin") {
-          $_SESSION['return'][] =  array(
-            'type' => 'danger',
-            'log' => array(__FUNCTION__, $_data["action"]),
-            'msg' => 'access_denied'
-          );
-          return false;
+      if (!isset($_SESSION['mailcow_cc_role']) || empty($username)) {
+        $_SESSION['return'][] =  array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_data["action"]),
+          'msg' => 'access_denied'
+        );
+        return false;
       }
       $stmt = $pdo->prepare("UPDATE `fido2` SET `friendlyName` = :friendlyName WHERE SHA2(`credentialId`, 256) = :cid AND `username` = :username");
       $stmt->execute(array(
@@ -1138,13 +1380,13 @@
         ':friendlyName' => $_data['fido2_attrs']['fido2_fn'],
         ':cid' => $_data['fido2_attrs']['fido2_cid']
       ));
-			$_SESSION['return'][] =  array(
-				'type' => 'success',
+      $_SESSION['return'][] =  array(
+        'type' => 'success',
         'log' => array(__FUNCTION__, $_data_log),
-				'msg' => array('object_modified', htmlspecialchars($username))
-			);
-		break;
-	}
+        'msg' => array('object_modified', htmlspecialchars($username))
+      );
+    break;
+  }
 }
 function unset_tfa_key($_data) {
   // Can only unset own keys
@@ -1154,14 +1396,13 @@
   $_data_log = $_data;
   $id = intval($_data['unset_tfa_key']);
   $username = $_SESSION['mailcow_cc_username'];
-  if ($_SESSION['mailcow_cc_role'] != "domainadmin" &&
-    $_SESSION['mailcow_cc_role'] != "admin") {
-      $_SESSION['return'][] =  array(
-        'type' => 'danger',
-        'log' => array(__FUNCTION__, $_data_log),
-        'msg' => 'access_denied'
-      );
-      return false;
+  if (!isset($_SESSION['mailcow_cc_role']) || empty($username)) {
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
+      'log' => array(__FUNCTION__, $_data_log),
+      'msg' => 'access_denied'
+    );
+    return false;
   }
   try {
     if (!is_numeric($id)) {
@@ -1202,7 +1443,7 @@
   }
 }
 function get_tfa($username = null) {
-	global $pdo;
+  global $pdo;
   if (isset($_SESSION['mailcow_cc_username'])) {
     $username = $_SESSION['mailcow_cc_username'];
   }
@@ -1214,76 +1455,83 @@
   $stmt->execute(array(':username' => $username));
   $row = $stmt->fetch(PDO::FETCH_ASSOC);
 
-	switch ($row["authmech"]) {
-		case "yubi_otp":
-      $data['name'] = "yubi_otp";
-      $data['pretty'] = "Yubico OTP";
-      $stmt = $pdo->prepare("SELECT `id`, `key_id`, RIGHT(`secret`, 12) AS 'modhex' FROM `tfa` WHERE `authmech` = 'yubi_otp' AND `username` = :username");
-      $stmt->execute(array(
-        ':username' => $username,
-      ));
-      $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-      while($row = array_shift($rows)) {
-        $data['additional'][] = $row;
-      }
-      return $data;
-    break;
-		case "u2f":
-      $data['name'] = "u2f";
-      $data['pretty'] = "Fido U2F";
-      $stmt = $pdo->prepare("SELECT `id`, `key_id` FROM `tfa` WHERE `authmech` = 'u2f' AND `username` = :username");
-      $stmt->execute(array(
-        ':username' => $username,
-      ));
-      $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-      while($row = array_shift($rows)) {
-        $data['additional'][] = $row;
-      }
-      return $data;
-    break;
-		case "hotp":
-      $data['name'] = "hotp";
-      $data['pretty'] = "HMAC-based OTP";
-      return $data;
-		break;
- 		case "totp":
-      $data['name'] = "totp";
-      $data['pretty'] = "Time-based OTP";
-      $stmt = $pdo->prepare("SELECT `id`, `key_id`, `secret` FROM `tfa` WHERE `authmech` = 'totp' AND `username` = :username");
-      $stmt->execute(array(
-        ':username' => $username,
-      ));
-      $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
-      while($row = array_shift($rows)) {
-        $data['additional'][] = $row;
-      }
-      return $data;
+  if (isset($row["authmech"])) {
+    switch ($row["authmech"]) {
+      case "yubi_otp":
+        $data['name'] = "yubi_otp";
+        $data['pretty'] = "Yubico OTP";
+        $stmt = $pdo->prepare("SELECT `id`, `key_id`, RIGHT(`secret`, 12) AS 'modhex' FROM `tfa` WHERE `authmech` = 'yubi_otp' AND `username` = :username");
+        $stmt->execute(array(
+          ':username' => $username,
+        ));
+        $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+        while($row = array_shift($rows)) {
+          $data['additional'][] = $row;
+        }
+        return $data;
       break;
-    default:
-      $data['name'] = 'none';
-      $data['pretty'] = "-";
-      return $data;
-    break;
-	}
+      case "u2f":
+        $data['name'] = "u2f";
+        $data['pretty'] = "Fido U2F";
+        $stmt = $pdo->prepare("SELECT `id`, `key_id` FROM `tfa` WHERE `authmech` = 'u2f' AND `username` = :username");
+        $stmt->execute(array(
+          ':username' => $username,
+        ));
+        $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+        while($row = array_shift($rows)) {
+          $data['additional'][] = $row;
+        }
+        return $data;
+      break;
+      case "hotp":
+        $data['name'] = "hotp";
+        $data['pretty'] = "HMAC-based OTP";
+        return $data;
+      break;
+       case "totp":
+        $data['name'] = "totp";
+        $data['pretty'] = "Time-based OTP";
+        $stmt = $pdo->prepare("SELECT `id`, `key_id`, `secret` FROM `tfa` WHERE `authmech` = 'totp' AND `username` = :username");
+        $stmt->execute(array(
+          ':username' => $username,
+        ));
+        $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
+        while($row = array_shift($rows)) {
+          $data['additional'][] = $row;
+        }
+        return $data;
+        break;
+      default:
+        $data['name'] = 'none';
+        $data['pretty'] = "-";
+        return $data;
+      break;
+    }
+  }
+  else {
+    $data['name'] = 'none';
+    $data['pretty'] = "-";
+    return $data;
+  }
 }
 function verify_tfa_login($username, $token) {
-	global $pdo;
-	global $yubi;
-	global $u2f;
-	global $tfa;
+  global $pdo;
+  global $yubi;
+  global $u2f;
+  global $tfa;
   $stmt = $pdo->prepare("SELECT `authmech` FROM `tfa`
       WHERE `username` = :username AND `active` = '1'");
   $stmt->execute(array(':username' => $username));
   $row = $stmt->fetch(PDO::FETCH_ASSOC);
 
-	switch ($row["authmech"]) {
-		case "yubi_otp":
-			if (!ctype_alnum($token) || strlen($token) != 44) {
-				$_SESSION['return'][] =  array(
-					'type' => 'danger',
+  switch ($row["authmech"]) {
+    case "yubi_otp":
+      if (!ctype_alnum($token) || strlen($token) != 44) {
+        $_SESSION['return'][] =  array(
+          'type' => 'danger',
           'log' => array(__FUNCTION__, $username, '*'),
-					'msg' => array('yotp_verification_failed', 'token length error')
-				);
+          'msg' => array('yotp_verification_failed', 'token length error')
+        );
         return false;
       }
       $yubico_modhex_id = substr($token, 0, 12);
@@ -1298,20 +1546,20 @@
       $yubi = new Auth_Yubico($yubico_auth[0], $yubico_auth[1]);
       $yauth = $yubi->verify($token);
       if (PEAR::isError($yauth)) {
-				$_SESSION['return'][] =  array(
-					'type' => 'danger',
+        $_SESSION['return'][] =  array(
+          'type' => 'danger',
           'log' => array(__FUNCTION__, $username, '*'),
-					'msg' => array('yotp_verification_failed', $yauth->getMessage())
-				);
-				return false;
+          'msg' => array('yotp_verification_failed', $yauth->getMessage())
+        );
+        return false;
       }
       else {
         $_SESSION['tfa_id'] = $row['id'];
-				$_SESSION['return'][] =  array(
-					'type' => 'success',
+        $_SESSION['return'][] =  array(
+          'type' => 'success',
           'log' => array(__FUNCTION__, $username, '*'),
-					'msg' => 'verified_yotp_login'
-				);
+          'msg' => 'verified_yotp_login'
+        );
         return true;
       }
       $_SESSION['return'][] =  array(
@@ -1396,31 +1644,34 @@
     );
     return false;
   break;
-	}
+  }
   return false;
 }
 function admin_api($access, $action, $data = null) {
-	global $pdo;
-	if ($_SESSION['mailcow_cc_role'] != "admin") {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+  global $pdo;
+  if ($_SESSION['mailcow_cc_role'] != "admin") {
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'access_denied'
-		);
-		return false;
-	}
+      'msg' => 'access_denied'
+    );
+    return false;
+  }
   if ($access !== "ro" && $access !== "rw") {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'invalid access type'
-		);
-		return false;
+      'msg' => 'invalid access type'
+    );
+    return false;
   }
   if ($action == "edit") {
     $active = (!empty($data['active'])) ? 1 : 0;
     $skip_ip_check = (isset($data['skip_ip_check'])) ? 1 : 0;
-    $allow_from = array_map('trim', preg_split( "/( |,|;|\n)/", $data['allow_from']));
+    $allow_from = array();
+    if (isset($data['allow_from'])) {
+      $allow_from = array_map('trim', preg_split( "/( |,|;|\n)/", $data['allow_from']));
+    }
     foreach ($allow_from as $key => $val) {
       if (empty($val)) {
         unset($allow_from[$key]);
@@ -1507,29 +1758,31 @@
   elseif ($action == "get") {
     $stmt = $pdo->query("SELECT * FROM `api` WHERE `access` = '" . $access . "'");
     $apidata = $stmt->fetch(PDO::FETCH_ASSOC);
-    $apidata['allow_from'] = str_replace(',', PHP_EOL, $apidata['allow_from']);
+    if ($apidata !== false) {
+      $apidata['allow_from'] = str_replace(',', PHP_EOL, $apidata['allow_from']);
+    }
     return $apidata;
   }
-	$_SESSION['return'][] =  array(
-		'type' => 'success',
+  $_SESSION['return'][] =  array(
+    'type' => 'success',
     'log' => array(__FUNCTION__, $data),
-		'msg' => 'admin_api_modified'
-	);
+    'msg' => 'admin_api_modified'
+  );
 }
 function license($action, $data = null) {
-	global $pdo;
-	global $redis;
-	global $lang;
-	if ($_SESSION['mailcow_cc_role'] != "admin") {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+  global $pdo;
+  global $redis;
+  global $lang;
+  if ($_SESSION['mailcow_cc_role'] != "admin") {
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'access_denied'
-		);
-		return false;
-	}
-	switch ($action) {
-		case "verify":
+      'msg' => 'access_denied'
+    );
+    return false;
+  }
+  switch ($action) {
+    case "verify":
       // Keep result until revalidate button is pressed or session expired
       $stmt = $pdo->query("SELECT `version` FROM `versions` WHERE `application` = 'GUID'");
       $versions = $stmt->fetch(PDO::FETCH_ASSOC);
@@ -1588,16 +1841,16 @@
   }
 }
 function rspamd_ui($action, $data = null) {
-	if ($_SESSION['mailcow_cc_role'] != "admin") {
-		$_SESSION['return'][] =  array(
-			'type' => 'danger',
+  if ($_SESSION['mailcow_cc_role'] != "admin") {
+    $_SESSION['return'][] =  array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__),
-			'msg' => 'access_denied'
-		);
-		return false;
-	}
-	switch ($action) {
-		case "edit":
+      'msg' => 'access_denied'
+    );
+    return false;
+  }
+  switch ($action) {
+    case "edit":
       $rspamd_ui_pass = $data['rspamd_ui_pass'];
       $rspamd_ui_pass2 = $data['rspamd_ui_pass2'];
       if (empty($rspamd_ui_pass) || empty($rspamd_ui_pass2)) {
@@ -1673,11 +1926,11 @@
     $to = intval($to);
     if ($from < 1 || $to < $from) { return false; }
   }
-	global $redis;
-	global $pdo;
-	if ($_SESSION['mailcow_cc_role'] != "admin") {
-		return false;
-	}
+  global $redis;
+  global $pdo;
+  if ($_SESSION['mailcow_cc_role'] != "admin") {
+    return false;
+  }
   // SQL
   if ($application == "mailcow-ui") {
     if (isset($from) && isset($to)) {
@@ -1699,6 +1952,26 @@
       return $data;
     }
   }
+  if ($application == "sasl") {
+    if (isset($from) && isset($to)) {
+      $stmt = $pdo->prepare("SELECT * FROM `sasl_log` ORDER BY `datetime` DESC LIMIT :from, :to");
+      $stmt->execute(array(
+        ':from' => $from - 1,
+        ':to' => $to
+      ));
+      $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
+    }
+    else {
+      $stmt = $pdo->prepare("SELECT * FROM `sasl_log` ORDER BY `datetime` DESC LIMIT :lines");
+      $stmt->execute(array(
+        ':lines' => $lines + 1,
+      ));
+      $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
+    }
+    if (is_array($data)) {
+      return $data;
+    }
+  }
   // Redis
   if ($application == "dovecot-mailcow") {
     if (isset($from) && isset($to)) {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.mailbox.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.mailbox.inc.php
index fff4190..24e5dab 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.mailbox.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.mailbox.inc.php
@@ -35,7 +35,7 @@
           else {
             $username = $_SESSION['mailcow_cc_username'];
           }
-          if (!is_numeric($_data["validity"]) || $_data["validity"] > 672) {
+          if (isset($_data["validity"]) && !filter_var($_data["validity"], FILTER_VALIDATE_INT, array('options' => array('min_range' => 1, 'max_range' => 87600)))) {
             $_SESSION['return'][] = array(
               'type' => 'danger',
               'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
@@ -43,8 +43,17 @@
             );
             return false;
           }
-          $domain = mailbox('get', 'mailbox_details', $username)['domain'];
-          if (!is_valid_domain_name($domain)) {
+          else {
+            // Default to 1 yr
+            $_data["validity"] = 8760;
+          }
+          $domain = $_data['domain'];
+          $valid_domains[] = mailbox('get', 'mailbox_details', $username)['domain'];
+          $valid_alias_domains = user_get_alias_details($username)['alias_domains'];
+          if (!empty($valid_alias_domains)) {
+            $valid_domains = array_merge($valid_domains, $valid_alias_domains);
+          }
+          if (!in_array($domain, $valid_domains)) {
             $_SESSION['return'][] = array(
               'type' => 'danger',
               'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
@@ -52,13 +61,11 @@
             );
             return false;
           }
-          $validity = strtotime("+".$_data["validity"]." hour");
-          $letters = 'abcefghijklmnopqrstuvwxyz1234567890';
-          $random_name = substr(str_shuffle($letters), 0, 24);
+          $validity = strtotime("+" . $_data["validity"] . " hour");
           $stmt = $pdo->prepare("INSERT INTO `spamalias` (`address`, `goto`, `validity`) VALUES
             (:address, :goto, :validity)");
           $stmt->execute(array(
-            ':address' => $random_name . '@' . $domain,
+            ':address' => readable_random_string(rand(rand(3, 9), rand(3, 9))) . '.' . readable_random_string(rand(rand(3, 9), rand(3, 9))) . '@' . $domain,
             ':goto' => $username,
             ':validity' => $validity
           ));
@@ -441,17 +448,17 @@
             );
             return false;
           }
-          $domain				= idn_to_ascii(strtolower(trim($_data['domain'])), 0, INTL_IDNA_VARIANT_UTS46);
+          $domain       = idn_to_ascii(strtolower(trim($_data['domain'])), 0, INTL_IDNA_VARIANT_UTS46);
           $description  = $_data['description'];
           if (empty($description)) {
             $description = $domain;
           }
-          $aliases			= $_data['aliases'];
-          $mailboxes    = $_data['mailboxes'];
-          $defquota			= $_data['defquota'];
-          $maxquota			= $_data['maxquota'];
-          $restart_sogo = $_data['restart_sogo'];
-          $quota				= $_data['quota'];
+          $aliases      = (int)$_data['aliases'];
+          $mailboxes    = (int)$_data['mailboxes'];
+          $defquota     = (int)$_data['defquota'];
+          $maxquota     = (int)$_data['maxquota'];
+          $restart_sogo = (int)$_data['restart_sogo'];
+          $quota        = (int)$_data['quota'];
           if ($defquota > $maxquota) {
             $_SESSION['return'][] = array(
                 'type' => 'danger',
@@ -673,9 +680,10 @@
                 continue;
               }
             }
+            $gotos = array_unique($gotos);
             $gotos = array_filter($gotos);
             if (empty($gotos)) { return false; }
-            $goto = implode(",", $gotos);
+            $goto = implode(",", (array)$gotos);
           }
           foreach ($addresses as $address) {
             if (empty($address)) {
@@ -928,7 +936,7 @@
           $password     = $_data['password'];
           $password2    = $_data['password2'];
           $name         = ltrim(rtrim($_data['name'], '>'), '<');
-          $quota_m			= intval($_data['quota']);
+          $quota_m      = intval($_data['quota']);
           if ((!isset($_SESSION['acl']['unlimited_quota']) || $_SESSION['acl']['unlimited_quota'] != "1") && $quota_m === 0) {
             $_SESSION['return'][] = array(
               'type' => 'danger',
@@ -948,9 +956,10 @@
           $imap_access = (isset($_data['imap_access'])) ? intval($_data['imap_access']) : intval($MAILBOX_DEFAULT_ATTRIBUTES['imap_access']);
           $pop3_access = (isset($_data['pop3_access'])) ? intval($_data['pop3_access']) : intval($MAILBOX_DEFAULT_ATTRIBUTES['pop3_access']);
           $smtp_access = (isset($_data['smtp_access'])) ? intval($_data['smtp_access']) : intval($MAILBOX_DEFAULT_ATTRIBUTES['smtp_access']);
+          $relayhost = (isset($_data['relayhost'])) ? intval($_data['relayhost']) : 0;
           $quarantine_notification = (isset($_data['quarantine_notification'])) ? strval($_data['quarantine_notification']) : strval($MAILBOX_DEFAULT_ATTRIBUTES['quarantine_notification']);
           $quarantine_category = (isset($_data['quarantine_category'])) ? strval($_data['quarantine_category']) : strval($MAILBOX_DEFAULT_ATTRIBUTES['quarantine_category']);
-          $quota_b		= ($quota_m * 1048576);
+          $quota_b    = ($quota_m * 1048576);
           $mailbox_attrs = json_encode(
             array(
               'force_pw_update' => strval($force_pw_update),
@@ -960,6 +969,8 @@
               'imap_access' => strval($imap_access),
               'pop3_access' => strval($pop3_access),
               'smtp_access' => strval($smtp_access),
+              'relayhost' => strval($relayhost),
+              'passwd_update' => time(),
               'mailbox_format' => strval($MAILBOX_DEFAULT_ATTRIBUTES['mailbox_format']),
               'quarantine_notification' => strval($quarantine_notification),
               'quarantine_category' => strval($quarantine_category)
@@ -989,7 +1000,7 @@
             COUNT(*) as count,
             COALESCE(ROUND(SUM(`quota`)/1048576), 0) as `quota`
               FROM `mailbox`
-                WHERE `kind` NOT REGEXP 'location|thing|group'
+                WHERE (`kind` = '' OR `kind` = NULL)
                   AND `domain` = :domain");
           $stmt->execute(array(':domain' => $domain));
           $MailboxData = $stmt->fetch(PDO::FETCH_ASSOC);
@@ -1037,39 +1048,10 @@
             );
             return false;
           }
-          if (!empty($password) && !empty($password2)) {
-            if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {
-              $_SESSION['return'][] = array(
-                'type' => 'danger',
-                'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
-                'msg' => 'password_complexity'
-              );
-              return false;
-            }
-            if ($password != $password2) {
-              $_SESSION['return'][] = array(
-                'type' => 'danger',
-                'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
-                'msg' => 'password_mismatch'
-              );
-              return false;
-            }
-            // support pre hashed passwords
-            if (preg_match('/^({SSHA256}|{SSHA}|{SHA512-CRYPT}|{SSHA512}|{MD5-CRYPT}|{PLAIN-MD5})/i', $password)) {
-              $password_hashed = $password;
-            }
-            else {
-              $password_hashed = hash_password($password);
-            }
-          }
-          else {
-            $_SESSION['return'][] = array(
-              'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
-              'msg' => 'password_empty'
-            );
+          if (password_check($password, $password2) !== true) {
             return false;
           }
+          $password_hashed = hash_password($password);
           if ($MailboxData['count'] >= $DomainData['mailboxes']) {
             $_SESSION['return'][] = array(
               'type' => 'danger',
@@ -1107,6 +1089,12 @@
             ':mailbox_attrs' => $mailbox_attrs,
             ':active' => $active
           ));
+          $stmt = $pdo->prepare("UPDATE `mailbox` SET
+            `attributes` = JSON_SET(`attributes`, '$.passwd_update', NOW())
+              WHERE `username` = :username");
+          $stmt->execute(array(
+            ':username' => $username
+          ));
           $stmt = $pdo->prepare("INSERT INTO `quota2` (`username`, `bytes`, `messages`)
             VALUES (:username, '0', '0') ON DUPLICATE KEY UPDATE `bytes` = '0', `messages` = '0';");
           $stmt->execute(array(':username' => $username));
@@ -1506,8 +1494,8 @@
               );
               continue;
             }
-            $lowspamlevel	= explode(',', $_data['spam_score'])[0];
-            $highspamlevel	= explode(',', $_data['spam_score'])[1];
+            $lowspamlevel = explode(',', $_data['spam_score'])[0];
+            $highspamlevel  = explode(',', $_data['spam_score'])[1];
             if (!is_numeric($lowspamlevel) || !is_numeric($highspamlevel)) {
               $_SESSION['return'][] = array(
                 'type' => 'danger',
@@ -1516,6 +1504,9 @@
               );
               continue;
             }
+            if ($lowspamlevel == $highspamlevel) {
+              $highspamlevel = $highspamlevel + 0.1;
+            }
             $stmt = $pdo->prepare("DELETE FROM `filterconf` WHERE `object` = :username
               AND (`option` = 'lowspamlevel' OR `option` = 'highspamlevel')");
             $stmt->execute(array(
@@ -1581,7 +1572,7 @@
             $_SESSION['return'][] = array(
               'type' => 'success',
               'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
-              'msg' => array('mailbox_modified', htmlspecialchars(implode(', ', $usernames)))
+              'msg' => array('mailbox_modified', htmlspecialchars(implode(', ', (array)$usernames)))
             );
           }
         break;
@@ -1932,6 +1923,52 @@
               );
               continue;
             }
+            if ($_data['expand_alias'] === true || $_data['expand_alias'] == 1) {
+              $stmt = $pdo->prepare("SELECT `address` FROM `alias`
+                WHERE `address` = :address
+                  AND `domain` NOT IN (
+                    SELECT `alias_domain` FROM `alias_domain`
+                  )");
+              $stmt->execute(array(
+                ':address' => $address,
+              ));
+              $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
+              if ($num_results == 0) {
+                $_SESSION['return'][] = array(
+                  'type' => 'warning',
+                  'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
+                  'msg' => array('is_not_primary_alias', htmlspecialchars($address))
+                );
+                continue;
+              }
+              $stmt = $pdo->prepare("SELECT `goto`, GROUP_CONCAT(CONCAT(SUBSTRING(`alias`.`address`, 1, LOCATE('@', `alias`.`address`) - 1), '@', `alias_domain`.`alias_domain`)) AS `missing_alias`
+                FROM `alias` JOIN `alias_domain` ON `alias_domain`.`target_domain` = `alias`.`domain`
+                    WHERE CONCAT(SUBSTRING(`alias`.`address`, 1, LOCATE('@', `alias`.`address`) - 1), '@', `alias_domain`.`alias_domain`) NOT IN (
+                      SELECT `address` FROM `alias` WHERE `address` != `goto`
+                    )
+                    AND `alias`.`address` NOT IN (
+                      SELECT `address` FROM `alias` WHERE `address` = `goto`
+                    )
+                    AND `address` = :address ;");
+              $stmt->execute(array(
+                ':address' => $address
+              ));
+              $missing_aliases = $stmt->fetch(PDO::FETCH_ASSOC);
+              if (!empty($missing_aliases['missing_alias'])) {
+                mailbox('add', 'alias', array(
+                  'address' => $missing_aliases['missing_alias'],
+                  'goto' => $missing_aliases['goto'],
+                  'sogo_visible' => 1,
+                  'active' => 1
+                ));
+              }
+              $_SESSION['return'][] = array(
+                'type' => 'success',
+                'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
+                'msg' => array('alias_modified', htmlspecialchars($address))
+              );
+              continue;
+            }
             $domain = idn_to_ascii(substr(strstr($address, '@'), 1), 0, INTL_IDNA_VARIANT_UTS46);
             if ($is_now['address'] != $address) {
               $local_part = strstr($address, '@', true);
@@ -2041,8 +2078,9 @@
                   ':address' => $address
                 ));
               }
+              $gotos = array_unique($gotos);
               $gotos = array_filter($gotos);
-              $goto = implode(",", $gotos);
+              $goto = implode(",", (array)$gotos);
             }
             if (!empty($goto)) {
               $stmt = $pdo->prepare("UPDATE `alias` SET
@@ -2096,6 +2134,7 @@
               if (!empty($is_now)) {
                 $gal                  = (isset($_data['gal'])) ? intval($_data['gal']) : $is_now['gal'];
                 $description          = (!empty($_data['description']) && isset($_SESSION['acl']['domain_desc']) && $_SESSION['acl']['domain_desc'] == "1") ? $_data['description'] : $is_now['description'];
+                (int)$relayhost       = (isset($_data['relayhost']) && isset($_SESSION['acl']['domain_relayhost']) && $_SESSION['acl']['domain_relayhost'] == "1") ? intval($_data['relayhost']) : intval($is_now['relayhost']);
               }
               else {
                 $_SESSION['return'][] = array(
@@ -2157,7 +2196,7 @@
                   MAX(COALESCE(ROUND(`quota`/1048576), 0)) AS `biggest_mailbox`,
                   COALESCE(ROUND(SUM(`quota`)/1048576), 0) AS `quota_all`
                     FROM `mailbox`
-                      WHERE `kind` NOT REGEXP 'location|thing|group'
+                      WHERE (`kind` = '' OR `kind` = NULL)
                         AND domain = :domain");
               $stmt->execute(array(':domain' => $domain));
               $MailboxData = $stmt->fetch(PDO::FETCH_ASSOC);
@@ -2300,6 +2339,7 @@
               (int)$imap_access = (isset($_data['imap_access']) && isset($_SESSION['acl']['protocol_access']) && $_SESSION['acl']['protocol_access'] == "1") ? intval($_data['imap_access']) : intval($is_now['attributes']['imap_access']);
               (int)$pop3_access = (isset($_data['pop3_access']) && isset($_SESSION['acl']['protocol_access']) && $_SESSION['acl']['protocol_access'] == "1") ? intval($_data['pop3_access']) : intval($is_now['attributes']['pop3_access']);
               (int)$smtp_access = (isset($_data['smtp_access']) && isset($_SESSION['acl']['protocol_access']) && $_SESSION['acl']['protocol_access'] == "1") ? intval($_data['smtp_access']) : intval($is_now['attributes']['smtp_access']);
+              (int)$relayhost = (isset($_data['relayhost']) && isset($_SESSION['acl']['mailbox_relayhost']) && $_SESSION['acl']['mailbox_relayhost'] == "1") ? intval($_data['relayhost']) : intval($is_now['attributes']['relayhost']);
               (int)$quota_m = (isset_has_content($_data['quota'])) ? intval($_data['quota']) : ($is_now['quota'] / 1048576);
               $name       = (!empty($_data['name'])) ? ltrim(rtrim($_data['name'], '>'), '<') : $is_now['name'];
               $domain     = $is_now['domain'];
@@ -2324,11 +2364,6 @@
               );
               return false;
             }
-            $stmt = $pdo->prepare("SELECT `quota`, `maxquota`
-              FROM `domain`
-                WHERE `domain` = :domain");
-            $stmt->execute(array(':domain' => $domain));
-            $DomainData = $stmt->fetch(PDO::FETCH_ASSOC);
             if (!hasDomainAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $domain)) {
               $_SESSION['return'][] = array(
                 'type' => 'danger',
@@ -2337,15 +2372,8 @@
               );
               continue;
             }
-            if ($quota_m > $DomainData['maxquota']) {
-              $_SESSION['return'][] = array(
-                'type' => 'danger',
-                'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
-                'msg' => array('mailbox_quota_exceeded', $DomainData['maxquota'])
-              );
-              continue;
-            }
-            if (((($is_now['quota_used'] / 1048576) - $quota_m) + $quota_m) > $DomainData['quota']) {
+            $DomainData = mailbox('get', 'domain_details', $domain);
+            if ($quota_m > ($is_now['max_new_quota'] / 1048576)) {
               $_SESSION['return'][] = array(
                 'type' => 'danger',
                 'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
@@ -2353,6 +2381,14 @@
               );
               continue;
             }
+            if ($quota_m > $DomainData['max_quota_for_mbox']) {
+              $_SESSION['return'][] = array(
+                'type' => 'danger',
+                'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
+                'msg' => array('mailbox_quota_exceeded', $DomainData['max_quota_for_mbox'])
+              );
+              continue;
+            }
             $extra_acls = array();
             if (isset($_data['extended_sender_acl'])) {
               if (!isset($_SESSION['acl']['extend_sender_acl']) || $_SESSION['acl']['extend_sender_acl'] != "1" ) {
@@ -2539,39 +2575,21 @@
                 ));
               }
             }
-            if (!empty($password) && !empty($password2)) {
-              if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {
-                $_SESSION['return'][] = array(
-                  'type' => 'danger',
-                  'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
-                  'msg' => 'password_complexity'
-                );
+            if (!empty($password)) {
+              if (password_check($password, $password2) !== true) {
                 continue;
               }
-              if ($password != $password2) {
-                $_SESSION['return'][] = array(
-                  'type' => 'danger',
-                  'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
-                  'msg' => 'password_mismatch'
-                );
-                continue;
-              }
-              // support pre hashed passwords
-              if (preg_match('/^({SSHA256}|{SSHA}|{SHA512-CRYPT}|{SSHA512}|{MD5-CRYPT}|{PLAIN-MD5})/i', $password)) {
-                $password_hashed = $password;
-              }
-              else {
-                $password_hashed = hash_password($password);
-              }
+              $password_hashed = hash_password($password);
               $stmt = $pdo->prepare("UPDATE `mailbox` SET
-                  `password` = :password_hashed
+                  `password` = :password_hashed,
+                  `attributes` = JSON_SET(`attributes`, '$.passwd_update', NOW())
                     WHERE `username` = :username");
               $stmt->execute(array(
                 ':password_hashed' => $password_hashed,
                 ':username' => $username
               ));
             }
-            // We could either set alias = 1 if alias = 2 or tune the Postfix alias table (that's what we did, TODO: to it the other way)
+            // We could either set alias = 1 if alias = 2 or tune the Postfix alias table (that's what we did, TODO: do it the other way)
             $stmt = $pdo->prepare("UPDATE `alias` SET
                 `active` = :active
                   WHERE `address` = :address");
@@ -2587,6 +2605,7 @@
                 `attributes` = JSON_SET(`attributes`, '$.sogo_access', :sogo_access),
                 `attributes` = JSON_SET(`attributes`, '$.imap_access', :imap_access),
                 `attributes` = JSON_SET(`attributes`, '$.pop3_access', :pop3_access),
+                `attributes` = JSON_SET(`attributes`, '$.relayhost', :relayhost),
                 `attributes` = JSON_SET(`attributes`, '$.smtp_access', :smtp_access)
                   WHERE `username` = :username");
             $stmt->execute(array(
@@ -2598,6 +2617,7 @@
               ':imap_access' => $imap_access,
               ':pop3_access' => $pop3_access,
               ':smtp_access' => $smtp_access,
+              ':relayhost' => $relayhost,
               ':username' => $username
             ));
             $_SESSION['return'][] = array(
@@ -2819,7 +2839,7 @@
             return false;
           }
           elseif (isset($_data) && hasDomainAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $_data)) {
-            $stmt = $pdo->prepare("SELECT `username` FROM `mailbox` WHERE `kind` NOT REGEXP 'location|thing|group' AND `domain` = :domain");
+            $stmt = $pdo->prepare("SELECT `username` FROM `mailbox` WHERE (`kind` = '' OR `kind` = NULL) AND `domain` = :domain");
             $stmt->execute(array(
               ':domain' => $_data,
             ));
@@ -2829,7 +2849,7 @@
             }
           }
           else {
-            $stmt = $pdo->prepare("SELECT `username` FROM `mailbox` WHERE `kind` NOT REGEXP 'location|thing|group' AND (`domain` IN (SELECT `domain` FROM `domain_admins` WHERE `active` = '1' AND `username` = :username) OR 'admin' = :role)");
+            $stmt = $pdo->prepare("SELECT `username` FROM `mailbox` WHERE (`kind` = '' OR `kind` = NULL) AND (`domain` IN (SELECT `domain` FROM `domain_admins` WHERE `active` = '1' AND `username` = :username) OR 'admin' = :role)");
             $stmt->execute(array(
               ':username' => $_SESSION['mailcow_cc_username'],
               ':role' => $_SESSION['mailcow_cc_role'],
@@ -2982,7 +3002,7 @@
             while($field = array_shift($fields)) {
               $shown_fields[] = $field['Field'];
             }
-            $stmt = $pdo->prepare("SELECT " . implode(',', $shown_fields) . ",
+            $stmt = $pdo->prepare("SELECT " . implode(',', (array)$shown_fields) . ",
               `active`
                 FROM `imapsync` WHERE id = :id");
           }
@@ -2997,7 +3017,7 @@
             while($field = array_shift($fields)) {
               $shown_fields[] = $field['Field'];
             }
-            $stmt = $pdo->prepare("SELECT " . implode(',', $shown_fields) . ",
+            $stmt = $pdo->prepare("SELECT " . implode(',', (array)$shown_fields) . ",
               `active`
                 FROM `imapsync` WHERE id = :id");
           }
@@ -3113,7 +3133,9 @@
           }
           $stmt = $pdo->prepare("SELECT `address`,
             `goto`,
-            `validity`
+            `validity`,
+            `created`,
+            `modified`
               FROM `spamalias`
                 WHERE `goto` = :username
                   AND `validity` >= :unixnow");
@@ -3362,10 +3384,10 @@
           if (empty($row)) {
             return false;
           }
-          $stmt = $pdo->prepare("SELECT COUNT(*) AS `count`,
+          $stmt = $pdo->prepare("SELECT COUNT(`username`) AS `count`,
             COALESCE(SUM(`quota`), 0) AS `in_use`
               FROM `mailbox`
-                WHERE `kind` NOT REGEXP 'location|thing|group'
+                WHERE (`kind` = '' OR `kind` = NULL)
                   AND `domain` = :domain");
           $stmt->execute(array(':domain' => $row['domain']));
           $MailboxDataDomain = $stmt->fetch(PDO::FETCH_ASSOC);
@@ -3377,7 +3399,7 @@
           $stmt->execute(array(':domain' => $row['domain']));
           $SumQuotaInUse = $stmt->fetch(PDO::FETCH_ASSOC);
           $rl = ratelimit('get', 'domain', $_data);
-          $domaindata['max_new_mailbox_quota']	= ($row['quota'] * 1048576) - $MailboxDataDomain['in_use'];
+          $domaindata['max_new_mailbox_quota']  = ($row['quota'] * 1048576) - $MailboxDataDomain['in_use'];
           if ($domaindata['max_new_mailbox_quota'] > ($row['maxquota'] * 1048576)) {
             $domaindata['max_new_mailbox_quota'] = ($row['maxquota'] * 1048576);
           }
@@ -3399,7 +3421,7 @@
             $domaindata['msgs_total'] = 0;
           }
           $domaindata['mboxes_in_domain'] = $MailboxDataDomain['count'];
-          $domaindata['mboxes_left'] = $row['mailboxes']	- $MailboxDataDomain['count'];
+          $domaindata['mboxes_left'] = $row['mailboxes']  - $MailboxDataDomain['count'];
           $domaindata['domain_name'] = $row['domain'];
           $domaindata['description'] = $row['description'];
           $domaindata['max_num_aliases_for_domain'] = $row['aliases'];
@@ -3419,7 +3441,7 @@
           $domaindata['relay_all_recipients_int'] = $row['relay_all_recipients'];
           $domaindata['relay_unknown_only'] = $row['relay_unknown_only'];
           $domaindata['relay_unknown_only_int'] = $row['relay_unknown_only'];
-          $stmt = $pdo->prepare("SELECT COUNT(*) AS `alias_count` FROM `alias`
+          $stmt = $pdo->prepare("SELECT COUNT(`address`) AS `alias_count` FROM `alias`
             WHERE (`domain`= :domain OR `domain` IN (SELECT `alias_domain` FROM `alias_domain` WHERE `target_domain` = :domain2))
               AND `address` NOT IN (
                 SELECT `username` FROM `mailbox`
@@ -3430,7 +3452,7 @@
           ));
           $AliasDataDomain = $stmt->fetch(PDO::FETCH_ASSOC);
           (isset($AliasDataDomain['alias_count'])) ? $domaindata['aliases_in_domain'] = $AliasDataDomain['alias_count'] : $domaindata['aliases_in_domain'] = "0";
-          $domaindata['aliases_left'] = $row['aliases']	- $AliasDataDomain['alias_count'];
+          $domaindata['aliases_left'] = $row['aliases'] - $AliasDataDomain['alias_count'];
           if ($_SESSION['mailcow_cc_role'] == "admin")
           {
               $stmt = $pdo->prepare("SELECT GROUP_CONCAT(`username` SEPARATOR ', ') AS domain_admins FROM `domain_admins` WHERE `domain` = :domain");
@@ -3447,19 +3469,6 @@
             return false;
           }
           $mailboxdata = array();
-          $rl = ratelimit('get', 'mailbox', $_data);
-          $last_imap_login = $redis->Get('last-login/imap/' . $_data);
-          $last_smtp_login = $redis->Get('last-login/smtp/' . $_data);
-          $last_pop3_login = $redis->Get('last-login/pop3/' . $_data);
-          if ($last_imap_login === false || $GLOBALS['SHOW_LAST_LOGIN'] === false) {
-            $last_imap_login = '0';
-          }
-          if ($last_smtp_login === false || $GLOBALS['SHOW_LAST_LOGIN'] === false) {
-            $last_smtp_login = '0';
-          }
-          if ($last_pop3_login === false || $GLOBALS['SHOW_LAST_LOGIN'] === false) {
-            $last_pop3_login = '0';
-          }
           if (preg_match('/y|yes/i', getenv('MASTER'))) {
             $stmt = $pdo->prepare("SELECT
               `domain`.`backupmx`,
@@ -3473,7 +3482,10 @@
               `attributes`,
               `quota2`.`messages`
                 FROM `mailbox`, `quota2`, `domain`
-                  WHERE `mailbox`.`kind` NOT REGEXP 'location|thing|group' AND `mailbox`.`username` = `quota2`.`username` AND `domain`.`domain` = `mailbox`.`domain` AND `mailbox`.`username` = :mailbox");
+                  WHERE (`mailbox`.`kind` = '' OR `mailbox`.`kind` = NULL)
+                    AND `mailbox`.`username` = `quota2`.`username`
+                    AND `domain`.`domain` = `mailbox`.`domain`
+                    AND `mailbox`.`username` = :mailbox");
           }
           else {
             $stmt = $pdo->prepare("SELECT
@@ -3488,53 +3500,29 @@
               `attributes`,
               `quota2replica`.`messages`
                 FROM `mailbox`, `quota2replica`, `domain`
-                  WHERE `mailbox`.`kind` NOT REGEXP 'location|thing|group' AND `mailbox`.`username` = `quota2replica`.`username` AND `domain`.`domain` = `mailbox`.`domain` AND `mailbox`.`username` = :mailbox");
+                  WHERE (`mailbox`.`kind` = '' OR `mailbox`.`kind` = NULL)
+                    AND `mailbox`.`username` = `quota2replica`.`username`
+                    AND `domain`.`domain` = `mailbox`.`domain`
+                    AND `mailbox`.`username` = :mailbox");
           }
           $stmt->execute(array(
             ':mailbox' => $_data,
           ));
           $row = $stmt->fetch(PDO::FETCH_ASSOC);
-          $stmt = $pdo->prepare("SELECT `maxquota`, `quota` FROM  `domain` WHERE `domain` = :domain");
-          $stmt->execute(array(':domain' => $row['domain']));
-          $DomainQuota  = $stmt->fetch(PDO::FETCH_ASSOC);
-          $stmt = $pdo->prepare("SELECT IFNULL(COUNT(`active`), 0) AS `pushover_active` FROM `pushover` WHERE `username` = :username AND `active` = 1");
-          $stmt->execute(array(':username' => $_data));
-          $PushoverActive  = $stmt->fetch(PDO::FETCH_ASSOC);
-          $stmt = $pdo->prepare("SELECT COALESCE(SUM(`quota`), 0) as `in_use` FROM `mailbox` WHERE `kind` NOT REGEXP 'location|thing|group' AND `domain` = :domain AND `username` != :username");
-          $stmt->execute(array(':domain' => $row['domain'], ':username' => $_data));
-          $MailboxUsage	= $stmt->fetch(PDO::FETCH_ASSOC);
-          $stmt = $pdo->prepare("SELECT IFNULL(COUNT(`address`), 0) AS `sa_count` FROM `spamalias` WHERE `goto` = :address AND `validity` >= :unixnow");
-          $stmt->execute(array(':address' => $_data, ':unixnow' => time()));
-          $SpamaliasUsage	= $stmt->fetch(PDO::FETCH_ASSOC);
-          $mailboxdata['max_new_quota'] = ($DomainQuota['quota'] * 1048576) - $MailboxUsage['in_use'];
-          if ($mailboxdata['max_new_quota'] > ($DomainQuota['maxquota'] * 1048576)) {
-            $mailboxdata['max_new_quota'] = ($DomainQuota['maxquota'] * 1048576);
-          }
+
           $mailboxdata['username'] = $row['username'];
-          if (!empty($rl)) {
-            $mailboxdata['rl'] = $rl;
-            $mailboxdata['rl_scope'] = 'mailbox';
-          }
-          else {
-            $mailboxdata['rl'] = ratelimit('get', 'domain', $row['domain']);
-            $mailboxdata['rl_scope'] = 'domain';
-          }
-          $mailboxdata['is_relayed'] = $row['backupmx'];
-          $mailboxdata['name'] = $row['name'];
-          $mailboxdata['last_imap_login'] = $last_imap_login;
-          $mailboxdata['last_smtp_login'] = $last_smtp_login;
-          $mailboxdata['last_pop3_login'] = $last_pop3_login;
           $mailboxdata['active'] = $row['active'];
           $mailboxdata['active_int'] = $row['active'];
           $mailboxdata['domain'] = $row['domain'];
+          $mailboxdata['relayhost'] = $row['relayhost'];
+          $mailboxdata['name'] = $row['name'];
           $mailboxdata['local_part'] = $row['local_part'];
           $mailboxdata['quota'] = $row['quota'];
+          $mailboxdata['messages'] = $row['messages'];
           $mailboxdata['attributes'] = json_decode($row['attributes'], true);
           $mailboxdata['quota_used'] = intval($row['bytes']);
           $mailboxdata['percent_in_use'] = ($row['quota'] == 0) ? '- ' : round((intval($row['bytes']) / intval($row['quota'])) * 100);
-          $mailboxdata['messages'] = $row['messages'];
-          $mailboxdata['spam_aliases'] = $SpamaliasUsage['sa_count'];
-          $mailboxdata['pushover_active'] = ($PushoverActive['pushover_active'] == 1) ? 1 : 0;
+
           if ($mailboxdata['percent_in_use'] === '- ') {
             $mailboxdata['percent_class'] = "info";
           }
@@ -3547,6 +3535,69 @@
           else {
             $mailboxdata['percent_class'] = "success";
           }
+
+          // Determine last logins
+          $stmt = $pdo->prepare("SELECT MAX(`datetime`) AS `datetime`, `service` FROM `sasl_log`
+            WHERE `username` = :mailbox
+                GROUP BY `service` DESC");
+          $stmt->execute(array(':mailbox' => $_data));
+          $SaslLogsData  = $stmt->fetchAll(PDO::FETCH_ASSOC);
+          foreach ($SaslLogsData as $SaslLogs) {
+            if ($SaslLogs['service'] == 'imap') {
+              $last_imap_login = strtotime($SaslLogs['datetime']);
+            }
+            else if ($SaslLogs['service'] == 'smtp') {
+              $last_smtp_login = strtotime($SaslLogs['datetime']);
+            }
+            else if ($SaslLogs['service'] == 'pop3') {
+              $last_pop3_login = strtotime($SaslLogs['datetime']);
+            }
+          }
+          if (!isset($last_imap_login) || $GLOBALS['SHOW_LAST_LOGIN'] === false) {
+            $last_imap_login = 0;
+          }
+          if (!isset($last_smtp_login) || $GLOBALS['SHOW_LAST_LOGIN'] === false) {
+            $last_smtp_login = 0;
+          }
+          if (!isset($last_pop3_login) || $GLOBALS['SHOW_LAST_LOGIN'] === false) {
+            $last_pop3_login = 0;
+          }
+          $mailboxdata['last_imap_login'] = $last_imap_login;
+          $mailboxdata['last_smtp_login'] = $last_smtp_login;
+          $mailboxdata['last_pop3_login'] = $last_pop3_login;
+
+          if (!isset($_extra) || $_extra != 'reduced') {
+            $rl = ratelimit('get', 'mailbox', $_data);
+            $stmt = $pdo->prepare("SELECT `maxquota`, `quota` FROM  `domain` WHERE `domain` = :domain");
+            $stmt->execute(array(':domain' => $row['domain']));
+            $DomainQuota  = $stmt->fetch(PDO::FETCH_ASSOC);
+
+            $stmt = $pdo->prepare("SELECT IFNULL(COUNT(`active`), 0) AS `pushover_active` FROM `pushover` WHERE `username` = :username AND `active` = 1");
+            $stmt->execute(array(':username' => $_data));
+            $PushoverActive  = $stmt->fetch(PDO::FETCH_ASSOC);
+            $stmt = $pdo->prepare("SELECT COALESCE(SUM(`quota`), 0) as `in_use` FROM `mailbox` WHERE (`kind` = '' OR `kind` = NULL) AND `domain` = :domain AND `username` != :username");
+            $stmt->execute(array(':domain' => $row['domain'], ':username' => $_data));
+            $MailboxUsage = $stmt->fetch(PDO::FETCH_ASSOC);
+            $stmt = $pdo->prepare("SELECT IFNULL(COUNT(`address`), 0) AS `sa_count` FROM `spamalias` WHERE `goto` = :address AND `validity` >= :unixnow");
+            $stmt->execute(array(':address' => $_data, ':unixnow' => time()));
+            $SpamaliasUsage = $stmt->fetch(PDO::FETCH_ASSOC);
+            $mailboxdata['max_new_quota'] = ($DomainQuota['quota'] * 1048576) - $MailboxUsage['in_use'];
+            $mailboxdata['spam_aliases'] = $SpamaliasUsage['sa_count'];
+            $mailboxdata['pushover_active'] = ($PushoverActive['pushover_active'] == 1) ? 1 : 0;
+            if ($mailboxdata['max_new_quota'] > ($DomainQuota['maxquota'] * 1048576)) {
+              $mailboxdata['max_new_quota'] = ($DomainQuota['maxquota'] * 1048576);
+            }
+            if (!empty($rl)) {
+              $mailboxdata['rl'] = $rl;
+              $mailboxdata['rl_scope'] = 'mailbox';
+            }
+            else {
+              $mailboxdata['rl'] = ratelimit('get', 'domain', $row['domain']);
+              $mailboxdata['rl_scope'] = 'domain';
+            }
+            $mailboxdata['is_relayed'] = $row['backupmx'];
+          }
+
           return $mailboxdata;
         break;
         case 'resource_details':
@@ -3826,7 +3877,7 @@
               );
               continue;
             }
-            $domain	= idn_to_ascii(strtolower(trim($domain)), 0, INTL_IDNA_VARIANT_UTS46);
+            $domain = idn_to_ascii(strtolower(trim($domain)), 0, INTL_IDNA_VARIANT_UTS46);
             $stmt = $pdo->prepare("SELECT `username` FROM `mailbox`
               WHERE `domain` = :domain");
             $stmt->execute(array(':domain' => $domain));
@@ -4163,6 +4214,14 @@
             $stmt->execute(array(
               ':username' => $username
             ));
+            $stmt = $pdo->prepare("DELETE FROM `tfa` WHERE `username` = :username");
+            $stmt->execute(array(
+              ':username' => $username,
+            ));
+            $stmt = $pdo->prepare("DELETE FROM `fido2` WHERE `username` = :username");
+            $stmt->execute(array(
+              ':username' => $username,
+            ));
             $stmt = $pdo->prepare("SELECT `address`, `goto` FROM `alias`
                 WHERE `goto` REGEXP :username");
             $stmt->execute(array(':username' => '(^|,)'.$username.'($|,)'));
@@ -4172,7 +4231,7 @@
               if (($key = array_search($username, $goto_exploded)) !== false) {
                 unset($goto_exploded[$key]);
               }
-              $gotos_rebuild = implode(',', $goto_exploded);
+              $gotos_rebuild = implode(',', (array)$goto_exploded);
               $stmt = $pdo->prepare("UPDATE `alias` SET
                 `goto` = :goto
                   WHERE `address` = :address");
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.oauth2.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.oauth2.inc.php
index 7bc7dea..7dc5602 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.oauth2.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.oauth2.inc.php
@@ -1,16 +1,16 @@
 <?php
 function oauth2($_action, $_type, $_data = null) {
-	global $pdo;
-	global $redis;
-	global $lang;
-	if ($_SESSION['mailcow_cc_role'] != "admin") {
-		$_SESSION['return'][] = array(
-			'type' => 'danger',
+  global $pdo;
+  global $redis;
+  global $lang;
+  if ($_SESSION['mailcow_cc_role'] != "admin") {
+    $_SESSION['return'][] = array(
+      'type' => 'danger',
       'log' => array(__FUNCTION__, $_action, $_type, $_data),
-			'msg' => 'access_denied'
-		);
-		return false;
-	}
+      'msg' => 'access_denied'
+    );
+    return false;
+  }
   switch ($_action) {
     case 'add':
       switch ($_type) {
@@ -188,7 +188,7 @@
           $_SESSION['return'][] = array(
             'type' => 'success',
             'log' => array(__FUNCTION__, $_action, $_type, $_data),
-            'msg' => sprintf($lang['success']['items_deleted'], implode(', ', $access_tokens))
+            'msg' => sprintf($lang['success']['items_deleted'], implode(', ', (array)$access_tokens))
           );
         break;
         case 'refresh_token':
@@ -210,7 +210,7 @@
           $_SESSION['return'][] = array(
             'type' => 'success',
             'log' => array(__FUNCTION__, $_action, $_type, $_data),
-            'msg' => sprintf($lang['success']['items_deleted'], implode(', ', $refresh_tokens))
+            'msg' => sprintf($lang['success']['items_deleted'], implode(', ', (array)$refresh_tokens))
           );
         break;
       }
@@ -239,4 +239,4 @@
       }
     break;
   }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.policy.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.policy.inc.php
index ad29bd2..498f991 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.policy.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.policy.inc.php
@@ -1,9 +1,9 @@
 <?php
 function policy($_action, $_scope, $_data = null) {
-	global $pdo;
-	global $redis;
-	global $lang;
-	$_data_log = $_data;
+  global $pdo;
+  global $redis;
+  global $lang;
+  $_data_log = $_data;
   switch ($_action) {
     case 'add':
       if (!isset($_SESSION['acl']['spam_policy']) || $_SESSION['acl']['spam_policy'] != "1" ) {
@@ -261,7 +261,7 @@
             $_SESSION['return'][] = array(
               'type' => 'success',
               'log' => array(__FUNCTION__, $_action, $_scope, $_data_log),
-              'msg' => array('items_deleted', implode(', ', $prefids))
+              'msg' => array('items_deleted', implode(', ', (array)$prefids))
             );
           }
         break;
@@ -317,4 +317,4 @@
       }
     break;
   }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.pushover.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.pushover.inc.php
index e8d4670..74e8bb1 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.pushover.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.pushover.inc.php
@@ -1,6 +1,6 @@
 <?php
 function pushover($_action, $_data = null) {
-	global $pdo;
+  global $pdo;
   switch ($_action) {
     case 'edit':
       if (!isset($_SESSION['acl']['pushover']) || $_SESSION['acl']['pushover'] != "1" ) {
@@ -81,7 +81,7 @@
         }
         $senders = array_filter($senders);
         if (empty($senders)) { $senders = ''; }
-        $senders = implode(",", $senders);
+        $senders = implode(",", (array)$senders);
         if (!ctype_alnum($key) || strlen($key) != 30) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.quota_notification.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.quota_notification.inc.php
index 9ca5a22..9f58bfb 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.quota_notification.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.quota_notification.inc.php
@@ -65,3 +65,86 @@
     break;
   }
 }
+function quota_notification_bcc($_action, $_data = null) {
+	global $redis;
+	$_data_log = $_data;
+  if ($_SESSION['mailcow_cc_role'] != "admin" && $_SESSION['mailcow_cc_role'] != "domainadmin") {
+    $_SESSION['return'][] = array(
+      'type' => 'danger',
+      'log' => array(__FUNCTION__, $_action, $_data_log),
+      'msg' => 'access_denied'
+    );
+    return false;
+  }
+  switch ($_action) {
+    case 'edit':
+      $domain = $_data['domain'];
+      if (!hasDomainAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $domain)) {
+        $_SESSION['return'][] = array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_action, $_data_log),
+          'msg' => 'access_denied'
+        );
+        return false;
+      }
+      $active = intval($_data['active']);
+      $bcc_rcpts = array_map('trim', preg_split( "/( |,|;|\n)/", $_data['bcc_rcpt']));
+      foreach ($bcc_rcpts as $i => &$rcpt) {
+        $rcpt = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $rcpt);
+          if (!empty($rcpt) && filter_var($rcpt, FILTER_VALIDATE_EMAIL) === false) {
+            $_SESSION['return'][] = array(
+              'type' => 'danger',
+              'log' => array(__FUNCTION__, $_action, $_data_log),
+              'msg' => array('goto_invalid', htmlspecialchars($rcpt))
+            );
+            unset($bcc_rcpts[$i]);
+            continue;
+          }
+      }
+      $bcc_rcpts = array_unique($bcc_rcpts);
+      $bcc_rcpts = array_filter($bcc_rcpts);
+      if (empty($bcc_rcpts)) {
+        $active = 0;
+        
+      }
+      try {
+        $redis->hSet('QW_BCC', $domain, json_encode(array('bcc_rcpts' => $bcc_rcpts, 'active' => $active)));
+      }
+      catch (RedisException $e) {
+        $_SESSION['return'][] = array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_action, $_data_log),
+          'msg' => array('redis_error', $e)
+        );
+        return false;
+      }
+      $_SESSION['return'][] = array(
+        'type' => 'success',
+        'log' => array(__FUNCTION__, $_action, $_data_log),
+        'msg' => 'saved_settings'
+      );
+    break;
+    case 'get':
+      $domain = $_data;
+      if (!hasDomainAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $domain)) {
+        $_SESSION['return'][] = array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_action, $_data_log),
+          'msg' => 'access_denied'
+        );
+        return false;
+      }
+      try {
+        return json_decode($redis->hGet('QW_BCC', $domain), true);
+      }
+      catch (RedisException $e) {
+        $_SESSION['return'][] = array(
+          'type' => 'danger',
+          'log' => array(__FUNCTION__, $_action, $_data_log),
+          'msg' => array('redis_error', $e)
+        );
+        return false;
+      }
+    break;
+  }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.rspamd.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.rspamd.inc.php
index b0ba1f5..bdc23b0 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.rspamd.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.rspamd.inc.php
@@ -137,7 +137,7 @@
       if ($_SESSION['mailcow_cc_role'] != "admin") {
         $_SESSION['return'][] = array(
           'type' => 'danger',
-          'log' => array(__FUNCTION__, $_action, $_data_log),
+          'log' => array(__FUNCTION__, $_action, '-'),
           'msg' => 'access_denied'
         );
         return false;
@@ -148,7 +148,7 @@
           if (!in_array($map, $rspamd_map_type)) {
             $_SESSION['return'][] = array(
               'type' => 'danger',
-              'log' => array(__FUNCTION__, $_action, $_data_log),
+              'log' => array(__FUNCTION__, $_action, '-'),
               'msg' => array('global_map_invalid', $map)
             );
             continue;
@@ -170,14 +170,14 @@
         catch (Exception $e) {
           $_SESSION['return'][] = array(
             'type' => 'danger',
-            'log' => array(__FUNCTION__, $_action, $_data_log),
+            'log' => array(__FUNCTION__, $_action, '-'),
             'msg' => array('global_map_write_error', htmlspecialchars($map), htmlspecialchars($e->getMessage()))
           );
           continue;
         }
         $_SESSION['return'][] = array(
           'type' => 'success',
-          'log' => array(__FUNCTION__, $_action, $_data_log),
+          'log' => array(__FUNCTION__, $_action, '-'),
           'msg' => array('object_modified', htmlspecialchars($map))
         );
       }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.transports.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.transports.inc.php
index 7d8031a..7b22917 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.transports.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.transports.inc.php
@@ -1,7 +1,7 @@
 <?php
 function relayhost($_action, $_data = null) {
-	global $pdo;
-	global $lang;
+  global $pdo;
+  global $lang;
   $_data_log = $_data;
   switch ($_action) {
     case 'add':
@@ -45,7 +45,7 @@
       $_SESSION['return'][] = array(
         'type' => 'success',
         'log' => array(__FUNCTION__, $_action, $_data_log),
-        'msg' => array('relayhost_added', htmlspecialchars(implode(', ', $hosts)))
+        'msg' => array('relayhost_added', htmlspecialchars(implode(', ', (array)$hosts)))
       );
     break;
     case 'edit':
@@ -100,7 +100,7 @@
         $_SESSION['return'][] = array(
           'type' => 'success',
           'log' => array(__FUNCTION__, $_action, $_data_log),
-          'msg' => array('object_modified', htmlspecialchars(implode(', ', $hostnames)))
+          'msg' => array('object_modified', htmlspecialchars(implode(', ', (array)$hostnames)))
         );
       }
     break;
@@ -137,11 +137,11 @@
       }
     break;
     case 'get':
-      if ($_SESSION['mailcow_cc_role'] != "admin") {
+      if ($_SESSION['mailcow_cc_role'] != "admin" && $_SESSION['mailcow_cc_role'] != "domainadmin") {
         return false;
       }
       $relayhosts = array();
-      $stmt = $pdo->query("SELECT `id`, `hostname`, `username` FROM `relayhosts`");
+      $stmt = $pdo->query("SELECT `id`, `hostname`, `username`, `active` FROM `relayhosts`");
       $relayhosts = $stmt->fetchAll(PDO::FETCH_ASSOC);
       return $relayhosts;
     break;
@@ -166,14 +166,19 @@
         $used_by_domains = $stmt->fetch(PDO::FETCH_ASSOC)['used_by_domains'];
         $used_by_domains = (empty($used_by_domains)) ? '' : $used_by_domains;
         $relayhostdata['used_by_domains'] = $used_by_domains;
+        $stmt = $pdo->prepare("SELECT GROUP_CONCAT(`username` SEPARATOR ', ') AS `used_by_mailboxes` FROM `mailbox` WHERE JSON_VALUE(`attributes`, '$.relayhost') = :id");
+        $stmt->execute(array(':id' => $_data));
+        $used_by_mailboxes = $stmt->fetch(PDO::FETCH_ASSOC)['used_by_mailboxes'];
+        $used_by_mailboxes = (empty($used_by_mailboxes)) ? '' : $used_by_mailboxes;
+        $relayhostdata['used_by_mailboxes'] = $used_by_mailboxes;
       }
       return $relayhostdata;
     break;
   }
 }
 function transport($_action, $_data = null) {
-	global $pdo;
-	global $lang;
+  global $pdo;
+  global $lang;
   $_data_log = $_data;
   switch ($_action) {
     case 'add':
@@ -187,7 +192,7 @@
       }
       $destinations  = array_map('trim', preg_split( "/( |,|;|\n)/", $_data['destination']));
       $active = intval($_data['active']);
-      $lookup_mx = intval($_data['lookup_mx']);
+      $is_mx_based = intval($_data['is_mx_based']);
       $nexthop = trim($_data['nexthop']);
       if (filter_var($nexthop, FILTER_VALIDATE_IP)) {
         $nexthop = '[' . $nexthop . ']';
@@ -233,7 +238,16 @@
               continue;
             }
             // ".domain" is a valid destination, "..domain" is not
-            if (empty($dest) || (is_valid_domain_name(preg_replace('/^' . preg_quote('.', '/') . '/', '', $dest)) === false && $dest != '*' && filter_var($dest, FILTER_VALIDATE_EMAIL) === false)) {
+            if ($is_mx_based == 0 && (empty($dest) || (is_valid_domain_name(preg_replace('/^' . preg_quote('.', '/') . '/', '', $dest)) === false && $dest != '*' && filter_var($dest, FILTER_VALIDATE_EMAIL) === false))) {
+              $_SESSION['return'][] = array(
+                'type' => 'danger',
+                'log' => array(__FUNCTION__, $_action, $_data_log),
+                'msg' => array('invalid_destination', $dest)
+              );
+              unset($destinations[$d_ix]);
+              continue;
+            }
+            if ($is_mx_based == 1 && (empty($dest) || @preg_match('/' . $dest . '/', null) === false)) {
               $_SESSION['return'][] = array(
                 'type' => 'danger',
                 'log' => array(__FUNCTION__, $_action, $_data_log),
@@ -270,14 +284,14 @@
         }
       }
       foreach ($destinations as $insert_dest) {
-        $stmt = $pdo->prepare("INSERT INTO `transports` (`nexthop`, `destination`, `username` , `password`,  `lookup_mx`, `active`)
-          VALUES (:nexthop, :destination, :username, :password, :lookup_mx, :active)");
+        $stmt = $pdo->prepare("INSERT INTO `transports` (`nexthop`, `destination`, `is_mx_based`, `username` , `password`,  `active`)
+          VALUES (:nexthop, :destination, :is_mx_based, :username, :password, :active)");
         $stmt->execute(array(
           ':nexthop' => $nexthop,
           ':destination' => $insert_dest,
+          ':is_mx_based' => $is_mx_based,
           ':username' => $username,
           ':password' => str_replace(':', '\:', $password),
-          ':lookup_mx' => $lookup_mx,
           ':active' => $active
         ));
       }
@@ -293,7 +307,7 @@
       $_SESSION['return'][] = array(
         'type' => 'success',
         'log' => array(__FUNCTION__, $_action, $_data_log),
-        'msg' => array('relayhost_added', htmlspecialchars(implode(', ', $hosts)))
+        'msg' => array('relayhost_added', htmlspecialchars(implode(', ', (array)$hosts)))
       );
     break;
     case 'edit':
@@ -313,7 +327,7 @@
           $nexthop = (!empty($_data['nexthop'])) ? trim($_data['nexthop']) : $is_now['nexthop'];
           $username = (isset($_data['username'])) ? trim($_data['username']) : $is_now['username'];
           $password = (isset($_data['password'])) ? trim($_data['password']) : $is_now['password'];
-          $lookup_mx   = (isset($_data['lookup_mx']) && $_data['lookup_mx'] != '') ? intval($_data['lookup_mx']) : $is_now['lookup_mx'];
+          $is_mx_based = (isset($_data['is_mx_based']) && $_data['is_mx_based'] != '') ? intval($_data['is_mx_based']) : $is_now['is_mx_based'];
           $active   = (isset($_data['active']) && $_data['active'] != '') ? intval($_data['active']) : $is_now['active'];
         }
         else {
@@ -348,6 +362,22 @@
             }
           }
         }
+        if ($is_mx_based == 0 && (empty($destination) || (is_valid_domain_name(preg_replace('/^' . preg_quote('.', '/') . '/', '', $destination)) === false && $destination != '*' && filter_var($destination, FILTER_VALIDATE_EMAIL) === false))) {
+          $_SESSION['return'][] = array(
+            'type' => 'danger',
+            'log' => array(__FUNCTION__, $_action, $_data_log),
+            'msg' => array('invalid_destination', $destination)
+          );
+          return false;
+        }
+        if ($is_mx_based == 1 && (empty($destination) || @preg_match('/' . $destination . '/', null) === false)) {
+          $_SESSION['return'][] = array(
+            'type' => 'danger',
+            'log' => array(__FUNCTION__, $_action, $_data_log),
+            'msg' => array('invalid_destination', $destination)
+          );
+          return false;
+        }
         if (isset($next_hop_matches[1])) {
           if (in_array($next_hop_clean, $existing_nh)) {
             $_SESSION['return'][] = array(
@@ -376,19 +406,19 @@
         try {
           $stmt = $pdo->prepare("UPDATE `transports` SET
             `destination` = :destination,
+            `is_mx_based` = :is_mx_based,
             `nexthop` = :nexthop,
             `username` = :username,
             `password` = :password,
-            `lookup_mx` = :lookup_mx,
             `active` = :active
               WHERE `id` = :id");
           $stmt->execute(array(
             ':id' => $id,
             ':destination' => $destination,
+            ':is_mx_based' => $is_mx_based,
             ':nexthop' => $nexthop,
             ':username' => $username,
             ':password' => $password,
-            ':lookup_mx' => $lookup_mx,
             ':active' => $active
           ));
           $stmt = $pdo->prepare("UPDATE `transports` SET
@@ -412,7 +442,7 @@
         $_SESSION['return'][] = array(
           'type' => 'success',
           'log' => array(__FUNCTION__, $_action, $_data_log),
-          'msg' => array('object_modified', htmlspecialchars(implode(', ', $hostnames)))
+          'msg' => array('object_modified', htmlspecialchars(implode(', ', (array)$hostnames)))
         );
       }
     break;
@@ -451,7 +481,7 @@
         return false;
       }
       $transports = array();
-      $stmt = $pdo->query("SELECT `id`, `destination`, `nexthop`, `username` FROM `transports`");
+      $stmt = $pdo->query("SELECT `id`, `is_mx_based`, `destination`, `nexthop`, `username` FROM `transports`");
       $transports = $stmt->fetchAll(PDO::FETCH_ASSOC);
       return $transports;
     break;
@@ -461,12 +491,12 @@
       }
       $transportdata = array();
       $stmt = $pdo->prepare("SELECT `id`,
+        `is_mx_based`,
         `destination`,
         `nexthop`,
         `username`,
         `password`,
         `active`,
-        `lookup_mx`,
         CONCAT(LEFT(`password`, 3), '...') AS `password_short`
           FROM `transports`
             WHERE `id` = :id");
@@ -475,4 +505,4 @@
       return $transportdata;
     break;
   }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/header.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/header.inc.php
index d2add25..d97a388 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/header.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/header.inc.php
@@ -62,12 +62,12 @@
           if (isset($_SESSION['mailcow_locale'])) {
           ?>
           <li class="dropdown<?=(isset($_SESSION['mailcow_locale']) && count($AVAILABLE_LANGUAGES) === 1) ? ' lang-link-disabled"' : '' ?>">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><span class="lang-sm lang-lbl" lang="<?= $_SESSION['mailcow_locale']; ?>"></span><span class="caret"></span></a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><span class="flag-icon flag-icon-<?= $_SESSION['mailcow_locale']; ?>"></span><span class="caret"></span></a>
             <ul class="dropdown-menu" role="menu">
               <?php
-              foreach ($AVAILABLE_LANGUAGES as $language) {
+              foreach ($AVAILABLE_LANGUAGES as $c => $v) {
               ?>
-              <li<?= ($_SESSION['mailcow_locale'] == $language) ? ' class="active"' : ''; ?>><a href="?<?= http_build_query(array_merge($_GET, array('lang' => $language))); ?>"><span class="lang-xs lang-lbl-full" lang="<?= $language; ?>"></span></a></li>
+              <li<?= ($_SESSION['mailcow_locale'] == $c) ? ' class="active"' : ''; ?>><a href="?<?= http_build_query(array_merge($_GET, array('lang' => $c))); ?>"><span class="flag-icon flag-icon-<?=$c;?>"></span> <?=$v;?></a></li>
               <?php
               }
               ?>
@@ -100,17 +100,17 @@
             </ul>
           </li>
           <?php if (isset($_SESSION['mailcow_cc_role'])) { ?>
-          <li<?= (preg_match("/quarantine/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/quarantine"><span class="glyphicon glyphicon-briefcase"></span> <?= $lang['header']['quarantine']; ?></a></li>
+          <li<?= (preg_match("/quarantine/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/quarantine"><i class="bi bi-inbox-fill"></i> <?= $lang['header']['quarantine']; ?></a></li>
           <?php } if ($_SESSION['mailcow_cc_role'] == 'admin' && getenv('SKIP_SOGO') != "y") { ?>
-          <li><a href data-toggle="modal" data-container="sogo-mailcow" data-target="#RestartContainer"><span class="glyphicon glyphicon-refresh"></span> <?= $lang['header']['restart_sogo']; ?></a></li>
+          <li><a href data-toggle="modal" data-container="sogo-mailcow" data-target="#RestartContainer"><i class="bi bi-arrow-repeat"></i> <?= $lang['header']['restart_sogo']; ?></a></li>
           <?php } ?>
           <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><span class="glyphicon glyphicon-link"></span> <?= $lang['header']['apps']; ?> <span class="caret"></span></a>
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="bi bi-link-45deg"></i> <?=$UI_TEXTS['apps_name'];?> <span class="caret"></span></a>
             <ul class="dropdown-menu" role="menu">
             <?php foreach ($MAILCOW_APPS as $app) {
               if (getenv('SKIP_SOGO') == "y" && preg_match('/^\/SOGo/i', $app['link'])) { continue; }
             ?>
-              <li title="<?= htmlspecialchars($app['description']); ?>"><a href="<?= htmlspecialchars($app['link']); ?>"><?= htmlspecialchars($app['name']); ?></a></li>
+              <li title="<?=(isset($app['description'])) ? htmlspecialchars($app['description']) : '';?>"><a href="<?=(isset($app['link'])) ? htmlspecialchars($app['link']) : '';?>"><?=(isset($app['name'])) ? htmlspecialchars($app['name']) : '';?></a></li>
             <?php
             }
             $app_links = customize('get', 'app_links');
@@ -127,9 +127,9 @@
             </ul>
           </li>
           <?php } if (!isset($_SESSION['dual-login']) && isset($_SESSION['mailcow_cc_username'])) { ?>
-            <li class="logged-in-as"><a href="#" onclick="logout.submit()"><b class="username-lia"><?= htmlspecialchars($_SESSION['mailcow_cc_username']); ?></b> <span class="glyphicon glyphicon-log-out"></span></a></li>
+            <li class="logged-in-as"><a href="#" onclick="logout.submit()"><b class="username-lia"><?= htmlspecialchars($_SESSION['mailcow_cc_username']); ?></b> <i class="bi bi-power"></i></a></li>
           <?php } elseif (isset($_SESSION['dual-login'])) { ?>
-            <li class="logged-in-as"><a href="#" onclick="logout.submit()"><b class="username-lia"><?= htmlspecialchars($_SESSION['mailcow_cc_username']); ?> <span class="text-info">(<?= htmlspecialchars($_SESSION['dual-login']['username']); ?>)</span> </b><span class="glyphicon glyphicon-log-out"></span></a></li>
+            <li class="logged-in-as"><a href="#" onclick="logout.submit()"><b class="username-lia"><?= htmlspecialchars($_SESSION['mailcow_cc_username']); ?> <span class="text-info">(<?= htmlspecialchars($_SESSION['dual-login']['username']); ?>)</span> </b><i class="bi bi-power"></i></a></li>
           <?php } if (!preg_match('/y|yes/i', getenv('MASTER'))) { ?>
             <li class="text-warning slave-info">[ slave ]</li>
           <?php } ?>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/init_db.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/init_db.inc.php
index 8010bbd..c43afbf 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/init_db.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/init_db.inc.php
@@ -3,7 +3,7 @@
   try {
     global $pdo;
 
-    $db_version = "28112020_1210";
+    $db_version = "01072021_0630";
 
     $stmt = $pdo->query("SHOW TABLES LIKE 'versions'");
     $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
@@ -152,9 +152,9 @@
           "id" => "INT NOT NULL AUTO_INCREMENT",
           "destination" => "VARCHAR(255) NOT NULL",
           "nexthop" => "VARCHAR(255) NOT NULL",
-          "username" => "VARCHAR(255) NOT NULL",
-          "password" => "VARCHAR(255) NOT NULL",
-          "lookup_mx" => "TINYINT(1) NOT NULL DEFAULT '1'",
+          "username" => "VARCHAR(255) NOT NULL DEFAULT ''",
+          "password" => "VARCHAR(255) NOT NULL DEFAULT ''",
+          "is_mx_based" => "TINYINT(1) NOT NULL DEFAULT '0'",
           "active" => "TINYINT(1) NOT NULL DEFAULT '1'"
         ),
         "keys" => array(
@@ -319,7 +319,8 @@
             "" => array("username")
           ),
           "key" => array(
-            "domain" => array("domain")
+            "domain" => array("domain"),
+            "kind" => array("kind")
           )
         ),
         "attr" => "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC"
@@ -442,7 +443,9 @@
         "cols" => array(
           "address" => "VARCHAR(255) NOT NULL",
           "goto" => "TEXT NOT NULL",
-          "validity" => "INT(11) NOT NULL"
+          "created" => "DATETIME(0) NOT NULL DEFAULT NOW(0)",
+          "modified" => "DATETIME ON UPDATE CURRENT_TIMESTAMP",
+          "validity" => "INT(11)"
         ),
         "keys" => array(
           "primary" => array(
@@ -505,6 +508,27 @@
         ),
         "attr" => "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC"
       ),
+      "sasl_log" => array(
+        "cols" => array(
+          "service" => "VARCHAR(32) NOT NULL DEFAULT ''",
+          "app_password" => "INT",
+          "username" => "VARCHAR(255) NOT NULL",
+          "real_rip" => "VARCHAR(64) NOT NULL",
+          "datetime" => "DATETIME(0) NOT NULL DEFAULT NOW(0)"
+        ),
+        "keys" => array(
+          "primary" => array(
+            "" => array("service", "real_rip", "username")
+          ),
+          "key" => array(
+            "username" => array("username"),
+            "service" => array("service"),
+            "datetime" => array("datetime"),
+            "real_rip" => array("real_rip")
+          )
+        ),
+        "attr" => "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC"
+      ),
       "quota2" => array(
         "cols" => array(
           "username" => "VARCHAR(255) NOT NULL",
@@ -567,6 +591,8 @@
           "protocol_access" => "TINYINT(1) NOT NULL DEFAULT '1'",
           "smtp_ip_access" => "TINYINT(1) NOT NULL DEFAULT '1'",
           "alias_domains" => "TINYINT(1) NOT NULL DEFAULT '0'",
+          "mailbox_relayhost" => "TINYINT(1) NOT NULL DEFAULT '1'",
+          "domain_relayhost" => "TINYINT(1) NOT NULL DEFAULT '1'",
           "domain_desc" => "TINYINT(1) NOT NULL DEFAULT '0'"
           ),
         "keys" => array(
@@ -972,6 +998,7 @@
           }
         }
       }
+
       // Migrate tls_enforce_* options
       if ($table == 'mailbox') {
         $stmt = $pdo->query("SHOW TABLES LIKE 'mailbox'");
@@ -988,6 +1015,7 @@
           }
         }
       }
+
       $stmt = $pdo->query("SHOW TABLES LIKE '" . $table . "'"); 
       $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
       if ($num_results != 0) {
@@ -1179,6 +1207,8 @@
     $pdo->query("UPDATE `pushover` SET `attributes` =  JSON_SET(`attributes`, '$.only_x_prio', \"0\") WHERE JSON_VALUE(`attributes`, '$.only_x_prio') IS NULL;");
     // mailbox
     $pdo->query("UPDATE `mailbox` SET `attributes` = '{}' WHERE `attributes` = '' OR `attributes` IS NULL;");
+    $pdo->query("UPDATE `mailbox` SET `attributes` =  JSON_SET(`attributes`, '$.passwd_update', \"0\") WHERE JSON_VALUE(`attributes`, '$.passwd_update') IS NULL;");
+    $pdo->query("UPDATE `mailbox` SET `attributes` =  JSON_SET(`attributes`, '$.relayhost', \"0\") WHERE JSON_VALUE(`attributes`, '$.relayhost') IS NULL;");
     $pdo->query("UPDATE `mailbox` SET `attributes` =  JSON_SET(`attributes`, '$.force_pw_update', \"0\") WHERE JSON_VALUE(`attributes`, '$.force_pw_update') IS NULL;");
     $pdo->query("UPDATE `mailbox` SET `attributes` =  JSON_SET(`attributes`, '$.sogo_access', \"1\") WHERE JSON_VALUE(`attributes`, '$.sogo_access') IS NULL;");
     $pdo->query("UPDATE `mailbox` SET `attributes` =  JSON_SET(`attributes`, '$.imap_access', \"1\") WHERE JSON_VALUE(`attributes`, '$.imap_access') IS NULL;");
@@ -1226,6 +1256,7 @@
 }
 if (php_sapi_name() == "cli") {
   include '/web/inc/vars.inc.php';
+  include '/web/inc/functions.docker.inc.php';
   // $now = new DateTime();
   // $mins = $now->getOffset() / 60;
   // $sgn = ($mins < 0 ? -1 : 1);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/WebAuthn/rootCertificates/bsi.pem b/mailcow/src/mailcow-dockerized/data/web/inc/lib/WebAuthn/rootCertificates/bsi.pem
new file mode 100644
index 0000000..2a6b40f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/WebAuthn/rootCertificates/bsi.pem
Binary files differ
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/WebAuthn/rootCertificates/trustkey.pem b/mailcow/src/mailcow-dockerized/data/web/inc/lib/WebAuthn/rootCertificates/trustkey.pem
new file mode 100644
index 0000000..f5a4df6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/WebAuthn/rootCertificates/trustkey.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICpTCCAkqgAwIBAgIBATAKBggqhkjOPQQDAjCBrzELMAkGA1UEBhMCS1IxETAP
+BgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5nbmFtLUd1MRcwFQYDVQQKDA5l
+V0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVudGljYXRvciBBdHRlc3RhdGlv
+bjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0ZTEdMBsGCSqGSIb3DQEJARYO
+aW5mb0BlLXdibS5jb20wHhcNMTgwNzAyMDUzMTM5WhcNMjMwNzAxMDUzMTM5WjCB
+rzELMAkGA1UEBhMCS1IxETAPBgNVBAgMCFNlb3VsLVNpMRMwEQYDVQQHDApHYW5n
+bmFtLUd1MRcwFQYDVQQKDA5lV0JNIENvLiwgTHRkLjEiMCAGA1UECwwZQXV0aGVu
+dGljYXRvciBBdHRlc3RhdGlvbjEcMBoGA1UEAwwTZVdCTSBDQSBDZXJ0aWZpY2F0
+ZTEdMBsGCSqGSIb3DQEJARYOaW5mb0BlLXdibS5jb20wWTATBgcqhkjOPQIBBggq
+hkjOPQMBBwNCAAQIfqHisi0oO/eyOqSaDrr9itG2IymBkHnSDGQIIYmT+vqA8AgO
+81momc2Ld5PGpEN6muE54wPHQjvc/yCih8u2o1UwUzASBgNVHRMBAf8ECDAGAQH/
+AgEAMB0GA1UdDgQWBBS3J/fxiAv22irdBs98SODhF7kU/jALBgNVHQ8EBAMCAQYw
+EQYJYIZIAYb4QgEBBAQDAgAHMAoGCCqGSM49BAMCA0kAMEYCIQDc41LFK4LJCBU2
+VVKIz7Z6sxPhUEkh8nLSLK6IXdkP5wIhAIeKVOZchaVO5aF7fbdXoSrcyy1YYeUe
+PLojcKI9fX84
+-----END CERTIFICATE-----
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.json
index 17caa43..e7e6b68 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.json
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.json
@@ -3,11 +3,12 @@
         "robthree/twofactorauth": "^1.6",
         "yubico/u2flib-server": "^1.0",
         "phpmailer/phpmailer": "^6.1",
-        "php-mime-mail-parser/php-mime-mail-parser": "^5.0.5",
+        "php-mime-mail-parser/php-mime-mail-parser": "^7",
         "soundasleep/html2text": "^0.5.0",
         "ddeboer/imap": "^1.5",
         "matthiasmullie/minify": "^1.3",
         "bshaffer/oauth2-server-php": "^1.11",
-        "mustangostang/spyc": "^0.6.3"
+        "mustangostang/spyc": "^0.6.3",
+        "directorytree/ldaprecord": "^2.4"
     }
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.lock b/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.lock
index b00a75d..e2633cc 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.lock
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "58d5d30b266f8b8015d7937e1a35ac5d",
+    "content-hash": "50acd623ff29bb513cd29819f4537aa0",
     "packages": [
         {
             "name": "bshaffer/oauth2-server-php",
@@ -70,31 +70,31 @@
         },
         {
             "name": "ddeboer/imap",
-            "version": "1.11.0",
+            "version": "1.12.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/ddeboer/imap.git",
-                "reference": "a089dfcb9d177f921eb5dadc8d4144a44dff22ee"
+                "reference": "dbed05ca67b93509345a820b2859de10c48948fb"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/ddeboer/imap/zipball/a089dfcb9d177f921eb5dadc8d4144a44dff22ee",
-                "reference": "a089dfcb9d177f921eb5dadc8d4144a44dff22ee",
+                "url": "https://api.github.com/repos/ddeboer/imap/zipball/dbed05ca67b93509345a820b2859de10c48948fb",
+                "reference": "dbed05ca67b93509345a820b2859de10c48948fb",
                 "shasum": ""
             },
             "require": {
                 "ext-iconv": "*",
                 "ext-imap": "*",
                 "ext-mbstring": "*",
-                "php": "^7.3 || ^8.0"
+                "php": "^7.4 || ^8.0"
             },
             "require-dev": {
-                "friendsofphp/php-cs-fixer": "^2.16.7",
-                "laminas/laminas-mail": "^2.12.3",
-                "phpstan/phpstan": "^0.12.57",
-                "phpstan/phpstan-phpunit": "^0.12.16",
-                "phpstan/phpstan-strict-rules": "^0.12.5",
-                "phpunit/phpunit": "^9.4.3"
+                "friendsofphp/php-cs-fixer": "^2.18.6",
+                "laminas/laminas-mail": "^2.14.0",
+                "phpstan/phpstan": "^0.12.84",
+                "phpstan/phpstan-phpunit": "^0.12.18",
+                "phpstan/phpstan-strict-rules": "^0.12.9",
+                "phpunit/phpunit": "^9.5.4"
             },
             "type": "library",
             "autoload": {
@@ -128,7 +128,7 @@
             ],
             "support": {
                 "issues": "https://github.com/ddeboer/imap/issues",
-                "source": "https://github.com/ddeboer/imap/tree/1.11.0"
+                "source": "https://github.com/ddeboer/imap/tree/1.12.1"
             },
             "funding": [
                 {
@@ -140,20 +140,141 @@
                     "type": "github"
                 }
             ],
-            "time": "2020-11-30T14:52:49+00:00"
+            "time": "2021-04-27T08:38:46+00:00"
         },
         {
-            "name": "matthiasmullie/minify",
-            "version": "1.3.65",
+            "name": "directorytree/ldaprecord",
+            "version": "v2.6.3",
             "source": {
                 "type": "git",
-                "url": "https://github.com/matthiasmullie/minify.git",
-                "reference": "227f19062451c55a797e0cc667ef983834e6580c"
+                "url": "https://github.com/DirectoryTree/LdapRecord.git",
+                "reference": "5c93ec6d1ef458290825a8b0a148946dce7c1e7a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/227f19062451c55a797e0cc667ef983834e6580c",
-                "reference": "227f19062451c55a797e0cc667ef983834e6580c",
+                "url": "https://api.github.com/repos/DirectoryTree/LdapRecord/zipball/5c93ec6d1ef458290825a8b0a148946dce7c1e7a",
+                "reference": "5c93ec6d1ef458290825a8b0a148946dce7c1e7a",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "ext-ldap": "*",
+                "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0",
+                "nesbot/carbon": "^1.0|^2.0",
+                "php": ">=7.3",
+                "psr/log": "^1.0",
+                "psr/simple-cache": "^1.0",
+                "tightenco/collect": "^5.6|^6.0|^7.0|^8.0"
+            },
+            "require-dev": {
+                "mockery/mockery": "^1.0",
+                "phpunit/phpunit": "^8.0",
+                "spatie/ray": "^1.24"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "LdapRecord\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Steve Bauman",
+                    "email": "steven_bauman@outlook.com",
+                    "role": "Developer"
+                }
+            ],
+            "description": "A fully-featured LDAP ORM.",
+            "homepage": "https://www.ldaprecord.com",
+            "keywords": [
+                "active directory",
+                "ad",
+                "adLDAP",
+                "adldap2",
+                "directory",
+                "ldap",
+                "ldaprecord",
+                "orm",
+                "windows"
+            ],
+            "support": {
+                "docs": "https://ldaprecord.com",
+                "email": "steven_bauman@outlook.com",
+                "issues": "https://github.com/DirectoryTree/LdapRecord/issues",
+                "source": "https://github.com/DirectoryTree/LdapRecord"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/stevebauman",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-08-05T21:52:43+00:00"
+        },
+        {
+            "name": "illuminate/contracts",
+            "version": "v8.53.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/illuminate/contracts.git",
+                "reference": "504a34286a1b4c5421c43087d6bd4e176138f6fb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/illuminate/contracts/zipball/504a34286a1b4c5421c43087d6bd4e176138f6fb",
+                "reference": "504a34286a1b4c5421c43087d6bd4e176138f6fb",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.3|^8.0",
+                "psr/container": "^1.0",
+                "psr/simple-cache": "^1.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "8.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Illuminate\\Contracts\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Taylor Otwell",
+                    "email": "taylor@laravel.com"
+                }
+            ],
+            "description": "The Illuminate Contracts package.",
+            "homepage": "https://laravel.com",
+            "support": {
+                "issues": "https://github.com/laravel/framework/issues",
+                "source": "https://github.com/laravel/framework"
+            },
+            "time": "2021-08-03T14:03:47+00:00"
+        },
+        {
+            "name": "matthiasmullie/minify",
+            "version": "1.3.66",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/matthiasmullie/minify.git",
+                "reference": "45fd3b0f1dfa2c965857c6d4a470bea52adc31a6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/45fd3b0f1dfa2c965857c6d4a470bea52adc31a6",
+                "reference": "45fd3b0f1dfa2c965857c6d4a470bea52adc31a6",
                 "shasum": ""
             },
             "require": {
@@ -163,8 +284,8 @@
             },
             "require-dev": {
                 "friendsofphp/php-cs-fixer": "~2.0",
-                "matthiasmullie/scrapbook": "~1.0",
-                "phpunit/phpunit": "~4.8"
+                "matthiasmullie/scrapbook": "dev-master",
+                "phpunit/phpunit": ">=4.8"
             },
             "suggest": {
                 "psr/cache-implementation": "Cache implementation to use with Minify::cache"
@@ -202,7 +323,7 @@
             ],
             "support": {
                 "issues": "https://github.com/matthiasmullie/minify/issues",
-                "source": "https://github.com/matthiasmullie/minify/tree/1.3.65"
+                "source": "https://github.com/matthiasmullie/minify/tree/1.3.66"
             },
             "funding": [
                 {
@@ -218,7 +339,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2020-12-27T21:43:29+00:00"
+            "time": "2021-01-06T15:18:10+00:00"
         },
         {
             "name": "matthiasmullie/path-converter",
@@ -324,6 +445,100 @@
             "time": "2019-09-10T13:16:29+00:00"
         },
         {
+            "name": "nesbot/carbon",
+            "version": "2.51.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/briannesbitt/Carbon.git",
+                "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922",
+                "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "php": "^7.1.8 || ^8.0",
+                "symfony/polyfill-mbstring": "^1.0",
+                "symfony/polyfill-php80": "^1.16",
+                "symfony/translation": "^3.4 || ^4.0 || ^5.0"
+            },
+            "require-dev": {
+                "doctrine/orm": "^2.7",
+                "friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
+                "kylekatarnls/multi-tester": "^2.0",
+                "phpmd/phpmd": "^2.9",
+                "phpstan/extension-installer": "^1.0",
+                "phpstan/phpstan": "^0.12.54",
+                "phpunit/phpunit": "^7.5.20 || ^8.5.14",
+                "squizlabs/php_codesniffer": "^3.4"
+            },
+            "bin": [
+                "bin/carbon"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-3.x": "3.x-dev",
+                    "dev-master": "2.x-dev"
+                },
+                "laravel": {
+                    "providers": [
+                        "Carbon\\Laravel\\ServiceProvider"
+                    ]
+                },
+                "phpstan": {
+                    "includes": [
+                        "extension.neon"
+                    ]
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Carbon\\": "src/Carbon/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Brian Nesbitt",
+                    "email": "brian@nesbot.com",
+                    "homepage": "https://markido.com"
+                },
+                {
+                    "name": "kylekatarnls",
+                    "homepage": "https://github.com/kylekatarnls"
+                }
+            ],
+            "description": "An API extension for DateTime that supports 281 different languages.",
+            "homepage": "https://carbon.nesbot.com",
+            "keywords": [
+                "date",
+                "datetime",
+                "time"
+            ],
+            "support": {
+                "issues": "https://github.com/briannesbitt/Carbon/issues",
+                "source": "https://github.com/briannesbitt/Carbon"
+            },
+            "funding": [
+                {
+                    "url": "https://opencollective.com/Carbon",
+                    "type": "open_collective"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-07-28T13:16:28+00:00"
+        },
+        {
             "name": "paragonie/random_compat",
             "version": "v9.99.100",
             "source": {
@@ -375,31 +590,30 @@
         },
         {
             "name": "php-mime-mail-parser/php-mime-mail-parser",
-            "version": "5.0.5",
+            "version": "7.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-mime-mail-parser/php-mime-mail-parser.git",
-                "reference": "27983433aabeccee832573c3c56e6a4855e57745"
+                "reference": "9d09a017f3f103fec8456211a4a538b80e0eca0d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-mime-mail-parser/php-mime-mail-parser/zipball/27983433aabeccee832573c3c56e6a4855e57745",
-                "reference": "27983433aabeccee832573c3c56e6a4855e57745",
+                "url": "https://api.github.com/repos/php-mime-mail-parser/php-mime-mail-parser/zipball/9d09a017f3f103fec8456211a4a538b80e0eca0d",
+                "reference": "9d09a017f3f103fec8456211a4a538b80e0eca0d",
                 "shasum": ""
             },
             "require": {
                 "ext-mailparse": "*",
-                "php": "^7.1"
+                "php": "^7.2|^8.0"
             },
             "replace": {
                 "exorus/php-mime-mail-parser": "*",
                 "messaged/php-mime-mail-parser": "*"
             },
             "require-dev": {
-                "php-coveralls/php-coveralls": "^2.1",
-                "phpunit/php-token-stream": "^3.0",
-                "phpunit/phpunit": "^7.0",
-                "squizlabs/php_codesniffer": "^3.4"
+                "php-coveralls/php-coveralls": "^2.2",
+                "phpunit/phpunit": "^8.0",
+                "squizlabs/php_codesniffer": "^3.5"
             },
             "type": "library",
             "autoload": {
@@ -443,7 +657,7 @@
                     "role": "Developer"
                 }
             ],
-            "description": "A fully tested email parser for PHP 7.1+ (mailparse extension wrapper).",
+            "description": "A fully tested email parser for PHP 7.2+ (mailparse extension wrapper).",
             "homepage": "https://github.com/php-mime-mail-parser/php-mime-mail-parser",
             "keywords": [
                 "MimeMailParser",
@@ -455,22 +669,28 @@
             ],
             "support": {
                 "issues": "https://github.com/php-mime-mail-parser/php-mime-mail-parser/issues",
-                "source": "https://github.com/php-mime-mail-parser/php-mime-mail-parser/tree/master"
+                "source": "https://github.com/php-mime-mail-parser/php-mime-mail-parser/tree/7.0.0"
             },
-            "time": "2019-09-23T11:57:58+00:00"
+            "funding": [
+                {
+                    "url": "https://github.com/eXorus",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-02-25T17:21:57+00:00"
         },
         {
             "name": "phpmailer/phpmailer",
-            "version": "v6.2.0",
+            "version": "v6.5.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/PHPMailer/PHPMailer.git",
-                "reference": "e38888a75c070304ca5514197d4847a59a5c853f"
+                "reference": "a5b5c43e50b7fba655f793ad27303cd74c57363c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/e38888a75c070304ca5514197d4847a59a5c853f",
-                "reference": "e38888a75c070304ca5514197d4847a59a5c853f",
+                "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/a5b5c43e50b7fba655f793ad27303cd74c57363c",
+                "reference": "a5b5c43e50b7fba655f793ad27303cd74c57363c",
                 "shasum": ""
             },
             "require": {
@@ -488,7 +708,7 @@
                 "yoast/phpunit-polyfills": "^0.2.0"
             },
             "suggest": {
-                "ext-mbstring": "Needed to send email in multibyte encoding charset",
+                "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
                 "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
                 "league/oauth2-google": "Needed for Google XOAUTH2 authentication",
                 "psr/log": "For optional PSR-3 debug logging",
@@ -525,7 +745,7 @@
             "description": "PHPMailer is a full-featured email creation and transfer class for PHP",
             "support": {
                 "issues": "https://github.com/PHPMailer/PHPMailer/issues",
-                "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.2.0"
+                "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.5.0"
             },
             "funding": [
                 {
@@ -533,28 +753,182 @@
                     "type": "github"
                 }
             ],
-            "time": "2020-11-25T15:24:57+00:00"
+            "time": "2021-06-16T14:33:43+00:00"
         },
         {
-            "name": "robthree/twofactorauth",
-            "version": "1.7.0",
+            "name": "psr/container",
+            "version": "1.1.1",
             "source": {
                 "type": "git",
-                "url": "https://github.com/RobThree/TwoFactorAuth.git",
-                "reference": "37983bf675c5baca09d19d6705170489d0df0002"
+                "url": "https://github.com/php-fig/container.git",
+                "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/RobThree/TwoFactorAuth/zipball/37983bf675c5baca09d19d6705170489d0df0002",
-                "reference": "37983bf675c5baca09d19d6705170489d0df0002",
+                "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
+                "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Container\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "https://www.php-fig.org/"
+                }
+            ],
+            "description": "Common Container Interface (PHP FIG PSR-11)",
+            "homepage": "https://github.com/php-fig/container",
+            "keywords": [
+                "PSR-11",
+                "container",
+                "container-interface",
+                "container-interop",
+                "psr"
+            ],
+            "support": {
+                "issues": "https://github.com/php-fig/container/issues",
+                "source": "https://github.com/php-fig/container/tree/1.1.1"
+            },
+            "time": "2021-03-05T17:36:06+00:00"
+        },
+        {
+            "name": "psr/log",
+            "version": "1.1.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/log.git",
+                "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+                "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Log\\": "Psr/Log/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "https://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for logging libraries",
+            "homepage": "https://github.com/php-fig/log",
+            "keywords": [
+                "log",
+                "psr",
+                "psr-3"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/log/tree/1.1.4"
+            },
+            "time": "2021-05-03T11:20:27+00:00"
+        },
+        {
+            "name": "psr/simple-cache",
+            "version": "1.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/simple-cache.git",
+                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\SimpleCache\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interfaces for simple caching",
+            "keywords": [
+                "cache",
+                "caching",
+                "psr",
+                "psr-16",
+                "simple-cache"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/simple-cache/tree/master"
+            },
+            "time": "2017-10-23T01:57:42+00:00"
+        },
+        {
+            "name": "robthree/twofactorauth",
+            "version": "1.8.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/RobThree/TwoFactorAuth.git",
+                "reference": "30a38627ae1e7c9399dae67e265063cd6ec5276c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/RobThree/TwoFactorAuth/zipball/30a38627ae1e7c9399dae67e265063cd6ec5276c",
+                "reference": "30a38627ae1e7c9399dae67e265063cd6ec5276c",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.6.0"
             },
             "require-dev": {
+                "php-parallel-lint/php-parallel-lint": "^1.2",
                 "phpunit/phpunit": "@stable"
             },
+            "suggest": {
+                "bacon/bacon-qr-code": "Needed for BaconQrCodeProvider provider",
+                "endroid/qr-code": "Needed for EndroidQrCodeProvider"
+            },
             "type": "library",
             "autoload": {
                 "psr-4": {
@@ -588,7 +962,17 @@
                 "issues": "https://github.com/RobThree/TwoFactorAuth/issues",
                 "source": "https://github.com/RobThree/TwoFactorAuth"
             },
-            "time": "2020-01-02T19:56:46+00:00"
+            "funding": [
+                {
+                    "url": "https://paypal.me/robiii",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/RobThree",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-03-09T18:24:05+00:00"
         },
         {
             "name": "soundasleep/html2text",
@@ -646,6 +1030,551 @@
             "time": "2017-04-19T22:01:50+00:00"
         },
         {
+            "name": "symfony/deprecation-contracts",
+            "version": "v2.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/deprecation-contracts.git",
+                "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+                "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.4-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "function.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "A generic function and convention to trigger deprecation notices",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-03-23T23:28:01+00:00"
+        },
+        {
+            "name": "symfony/polyfill-mbstring",
+            "version": "v1.23.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-mbstring.git",
+                "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
+                "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "suggest": {
+                "ext-mbstring": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.23-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Mbstring\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for the Mbstring extension",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "mbstring",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-05-27T12:26:48+00:00"
+        },
+        {
+            "name": "symfony/polyfill-php80",
+            "version": "v1.23.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-php80.git",
+                "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
+                "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.23-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Php80\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ],
+                "classmap": [
+                    "Resources/stubs"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Ion Bazan",
+                    "email": "ion.bazan@gmail.com"
+                },
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-07-28T13:41:28+00:00"
+        },
+        {
+            "name": "symfony/translation",
+            "version": "v5.3.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/translation.git",
+                "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1",
+                "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.5",
+                "symfony/deprecation-contracts": "^2.1",
+                "symfony/polyfill-mbstring": "~1.0",
+                "symfony/polyfill-php80": "^1.16",
+                "symfony/translation-contracts": "^2.3"
+            },
+            "conflict": {
+                "symfony/config": "<4.4",
+                "symfony/dependency-injection": "<5.0",
+                "symfony/http-kernel": "<5.0",
+                "symfony/twig-bundle": "<5.0",
+                "symfony/yaml": "<4.4"
+            },
+            "provide": {
+                "symfony/translation-implementation": "2.3"
+            },
+            "require-dev": {
+                "psr/log": "^1|^2|^3",
+                "symfony/config": "^4.4|^5.0",
+                "symfony/console": "^4.4|^5.0",
+                "symfony/dependency-injection": "^5.0",
+                "symfony/finder": "^4.4|^5.0",
+                "symfony/http-kernel": "^5.0",
+                "symfony/intl": "^4.4|^5.0",
+                "symfony/polyfill-intl-icu": "^1.21",
+                "symfony/service-contracts": "^1.1.2|^2",
+                "symfony/yaml": "^4.4|^5.0"
+            },
+            "suggest": {
+                "psr/log-implementation": "To use logging capability in translator",
+                "symfony/config": "",
+                "symfony/yaml": ""
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "Resources/functions.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Component\\Translation\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Provides tools to internationalize your application",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/translation/tree/v5.3.4"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-07-25T09:39:16+00:00"
+        },
+        {
+            "name": "symfony/translation-contracts",
+            "version": "v2.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/translation-contracts.git",
+                "reference": "95c812666f3e91db75385749fe219c5e494c7f95"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95",
+                "reference": "95c812666f3e91db75385749fe219c5e494c7f95",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.5"
+            },
+            "suggest": {
+                "symfony/translation-implementation": ""
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.4-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Contracts\\Translation\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Generic abstractions related to translation",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "abstractions",
+                "contracts",
+                "decoupling",
+                "interfaces",
+                "interoperability",
+                "standards"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-03-23T23:28:01+00:00"
+        },
+        {
+            "name": "symfony/var-dumper",
+            "version": "v5.3.6",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/var-dumper.git",
+                "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0",
+                "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.5",
+                "symfony/polyfill-mbstring": "~1.0",
+                "symfony/polyfill-php80": "^1.16"
+            },
+            "conflict": {
+                "phpunit/phpunit": "<5.4.3",
+                "symfony/console": "<4.4"
+            },
+            "require-dev": {
+                "ext-iconv": "*",
+                "symfony/console": "^4.4|^5.0",
+                "symfony/process": "^4.4|^5.0",
+                "twig/twig": "^2.13|^3.0.4"
+            },
+            "suggest": {
+                "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
+                "ext-intl": "To show region name in time zone dump",
+                "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
+            },
+            "bin": [
+                "Resources/bin/var-dump-server"
+            ],
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "Resources/functions/dump.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Component\\VarDumper\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "debug",
+                "dump"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/var-dumper/tree/v5.3.6"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-07-27T01:56:02+00:00"
+        },
+        {
+            "name": "tightenco/collect",
+            "version": "v8.34.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/tighten/collect.git",
+                "reference": "b069783ab0c547bb894ebcf8e7f6024bb401f9d2"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/tighten/collect/zipball/b069783ab0c547bb894ebcf8e7f6024bb401f9d2",
+                "reference": "b069783ab0c547bb894ebcf8e7f6024bb401f9d2",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.2|^8.0",
+                "symfony/var-dumper": "^3.4 || ^4.0 || ^5.0"
+            },
+            "require-dev": {
+                "mockery/mockery": "^1.0",
+                "nesbot/carbon": "^2.23.0",
+                "phpunit/phpunit": "^8.3"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/Collect/Support/helpers.php",
+                    "src/Collect/Support/alias.php"
+                ],
+                "psr-4": {
+                    "Tightenco\\Collect\\": "src/Collect"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Taylor Otwell",
+                    "email": "taylorotwell@gmail.com"
+                }
+            ],
+            "description": "Collect - Illuminate Collections as a separate package.",
+            "keywords": [
+                "collection",
+                "laravel"
+            ],
+            "support": {
+                "issues": "https://github.com/tighten/collect/issues",
+                "source": "https://github.com/tighten/collect/tree/v8.34.0"
+            },
+            "time": "2021-03-29T21:29:00+00:00"
+        },
+        {
             "name": "yubico/u2flib-server",
             "version": "1.0.2",
             "source": {
@@ -695,5 +1624,5 @@
     "prefer-lowest": false,
     "platform": [],
     "platform-dev": [],
-    "plugin-api-version": "2.0.0"
+    "plugin-api-version": "2.1.0"
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.execute.xml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.execute.xml
new file mode 100644
index 0000000..bce1ea9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.execute.xml
@@ -0,0 +1,17 @@
+<?xml version='1.0' standalone='yes'?>
+
+<extension name="vnd.dovecot.execute">
+
+	<test name="execute">
+		<parameter type="tag" name="pipe" regex="pipe" occurrence="optional"/>
+		<parameter type="string" name="program-name"/>
+		<parameter type="stringlist" name="arguments" occurrence="optional"/>
+	</test>
+
+	<command name="execute">
+		<parameter type="tag" name="pipe" regex="pipe" occurrence="optional"/>
+		<parameter type="string" name="program-name"/>
+		<parameter type="stringlist" name="arguments" occurrence="optional"/>
+	</command>
+	
+</extension>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.filter.xml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.filter.xml
new file mode 100644
index 0000000..45bf236
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.filter.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' standalone='yes'?>
+
+<extension name="vnd.dovecot.filter">
+
+	<test name="filter">
+		<parameter type="string" name="program-name"/>
+		<parameter type="stringlist" name="arguments" occurrence="optional"/>
+	</test>
+
+	<command name="filter">
+		<parameter type="string" name="program-name"/>
+		<parameter type="stringlist" name="arguments" occurrence="optional"/>
+	</command>
+
+</extension>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.pipe.xml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.pipe.xml
new file mode 100644
index 0000000..6bbcfc3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/sieve/extensions/vnd.dovecot.pipe.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' standalone='yes'?>
+
+<extension name="vnd.dovecot.pipe">
+
+	<command name="pipe">
+		<parameter type="tag" name="try" regex="try" occurrence="optional"/>
+		<parameter type="string" name="program-name"/>
+		<parameter type="stringlist" name="arguments" occurrence="optional"/>
+	</command>
+	
+</extension>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.gitattributes b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.gitattributes
new file mode 100644
index 0000000..84b904d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.gitattributes
@@ -0,0 +1,2 @@
+examples/ export-ignore
+tests/ export-ignore
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.github/issue_template.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.github/issue_template.md
new file mode 100644
index 0000000..f9aba6b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.github/issue_template.md
@@ -0,0 +1,10 @@
+- Adldap2 Version: #.#
+- LDAP Type: <!-- Active Directory / OpenLDAP / FreeIPA / Sun Directory Server? -->
+- PHP Version: #.#
+
+<!-- **ISSUES WITHOUT THE ABOVE INFORMATION WILL BE CLOSED!** -->
+
+### Description:
+
+
+### Steps To Reproduce:
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.gitignore b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.gitignore
new file mode 100644
index 0000000..2130d09
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.gitignore
@@ -0,0 +1,3 @@
+/.idea
+/vendor
+composer.lock
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.scrutinizer.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.scrutinizer.yml
new file mode 100644
index 0000000..9dbf8c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.scrutinizer.yml
@@ -0,0 +1,10 @@
+filter:
+    excluded_paths:
+        - tests/*
+        - src/Schemas/*
+build:
+    nodes:
+        analysis:
+            tests:
+                override:
+                    - command: php-scrutinizer-run
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.styleci.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.styleci.yml
new file mode 100644
index 0000000..8be488d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.styleci.yml
@@ -0,0 +1,7 @@
+preset: recommended
+
+enabled:
+  - length_ordered_imports
+
+disabled:
+  - alpha_ordered_imports
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.travis.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.travis.yml
new file mode 100644
index 0000000..2723d68
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/.travis.yml
@@ -0,0 +1,19 @@
+language: php
+
+php:
+  - 7.1
+  - 7.2
+  - 7.3
+  - 7.4
+
+before_script:
+  - travis_retry composer self-update
+  - travis_retry composer install --prefer-source --no-interaction
+
+script: ./vendor/bin/phpunit
+
+branches:
+  only:
+    - master
+    - v9.0
+    - v8.0
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/composer.json
new file mode 100644
index 0000000..26c1534
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/composer.json
@@ -0,0 +1,57 @@
+{
+    "name": "adldap2/adldap2",
+    "type": "library",
+    "description": "A PHP LDAP Package for humans.",
+    "keywords": [
+        "active directory",
+        "directory",
+        "ad",
+        "ldap",
+        "windows",
+        "adldap",
+        "adldap2"
+    ],
+    "license": "MIT",
+    "support": {
+        "docs": "https://github.com/Adldap2/Adldap2/blob/master/readme.md",
+        "issues": "https://github.com/Adldap2/Adldap2/issues",
+        "source": "https://github.com/Adldap2/Adldap2",
+        "email": "steven_bauman@outlook.com"
+    },
+    "authors": [
+        {
+            "name": "Steve Bauman",
+            "email": "steven_bauman@outlook.com",
+            "role": "Developer"
+        }
+    ],
+    "require": {
+        "php": ">=7.0",
+        "ext-ldap": "*",
+        "ext-json": "*",
+        "psr/log": "~1.0",
+        "psr/simple-cache": "~1.0",
+        "tightenco/collect": "~5.0|~6.0|~7.0|~8.0",
+        "illuminate/contracts": "~5.0|~6.0|~7.0|~8.0"
+    },
+    "require-dev": {
+        "phpunit/phpunit": "~6.0|~7.0|~8.0",
+        "mockery/mockery": "~1.0"
+    },
+    "suggest": {
+        "ext-fileinfo": "fileinfo is required when retrieving user encoded thumbnails"
+    },
+    "archive": {
+        "exclude": ["/examples", "/tests"]
+    },
+    "autoload": {
+        "psr-4": {
+            "Adldap\\": "src/"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Adldap\\Tests\\": "tests/"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/.nojekyll
similarity index 100%
rename from mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml.tmppica
rename to mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/.nojekyll
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/_coverpage.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/_coverpage.md
new file mode 100644
index 0000000..fc8ec0b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/_coverpage.md
@@ -0,0 +1,16 @@
+<!-- _coverpage.md -->
+
+# Adldap2
+
+<p align="center">
+    <a href="https://travis-ci.org/Adldap2/Adldap2"><img src="https://img.shields.io/travis/Adldap2/Adldap2.svg?style=flat-square"/></a>
+    <a href="https://scrutinizer-ci.com/g/Adldap2/Adldap2/?branch=master"><img src="https://img.shields.io/scrutinizer/g/adLDAP2/adLDAP2/master.svg?style=flat-square"/></a>
+    <a href="https://packagist.org/packages/adldap2/adldap2"><img src="https://img.shields.io/packagist/dt/adldap2/adldap2.svg?style=flat-square"/></a>
+    <a href="https://packagist.org/packages/adldap2/adldap2"><img src="https://img.shields.io/packagist/v/adldap2/adldap2.svg?style=flat-square"/></a>
+    <a href="https://packagist.org/packages/adldap2/adldap2"><img src="https://img.shields.io/packagist/l/adldap2/adldap2.svg?style=flat-square"/></a>
+</p>
+
+> Working with LDAP doesn't need to be hard.
+
+<!-- background image -->
+![](media/bg.svg)
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/_sidebar.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/_sidebar.md
new file mode 100644
index 0000000..0284653
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/_sidebar.md
@@ -0,0 +1,27 @@
+<!-- _sidebar.md -->
+
+* Getting Started
+
+  * [Introduction](/)
+  * [Installation](installation.md)
+  * [Setup](setup.md)
+
+* Usage
+
+  * [Searching](searching.md)
+  * [Creating & Updating](models/model.md)
+  * [Events](events.md)
+  * [Logging](logging.md)
+  * [Working With Distiguished Names](distinguished-names.md)
+  * [Troubleshooting](troubleshooting.md)
+
+* Models
+  * [Model (Base)](models/model.md)
+  * [Computer](models/computer.md)
+  * [Contact](models/contact.md)
+  * [Container](models/container.md)
+  * [Group](models/group.md)
+  * [Organizational Unit](models/ou.md)
+  * [Printer](models/printer.md)
+  * [RootDse](models/root-dse.md)
+  * [User](models/user.md)
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/distinguished-names.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/distinguished-names.md
new file mode 100644
index 0000000..490b99b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/distinguished-names.md
@@ -0,0 +1,167 @@
+## Working With Distinguished Names
+
+Working with DN strings are a pain, but they're about to get easier. Adldap includes a DN builder for easily modifying and
+creating DN strings.
+
+> **Note**: All values inserted into DN methods are escaped. You do not need to escape **any** values before hand.
+
+#### Creating a New DN
+
+To create a new DN, construct a new `Adldap\Models\Attributes\DistinguishedName` instance:
+
+```php
+$dn = new Adldap\Models\Attributes\DistinguishedName();
+```
+    
+You can also pass in a current DN string and start modifying it:
+
+```php
+$currentDn = 'cn=John Doe,ou=Accounting,dc=corp,dc=acme,dc=org';
+
+$dn = new Adldap\Models\Attributes\DistinguishedName($currentDn);
+```
+    
+#### Adding / Removing a Domain Component
+
+```php
+// Add Domain Component
+$dn->addDc('corp');
+
+// Remove Domain Component
+$dn->removeDc('corp');
+```
+
+#### Adding / Removing an Organizational Unit
+
+```php
+// Add Organizational Unit
+$dn->addOu('Accounting');
+    
+// Remove Organizational Unit
+$dn->removeOu('Accounting');
+```
+
+#### Adding / Removing Common Names
+
+```php
+// Add Common Name
+$dn->addCn('John Doe');
+    
+// Remove Common Name
+$dn->removeCn('John Doe');   
+```
+
+#### Setting a base
+
+If you'd like to set the base DN, such as a domain component RDN, use the `setBase()` method:
+
+```php
+$base = 'dc=corp,dc=acme,dc=org';
+
+$dn->setBase($base);
+```
+
+#### Creating a DN From A Model
+
+When you're creating a new LDAP record, you'll need to create a distinguished name as well. Let's go through an example of
+creating a new user.
+
+```php
+$user = $provider->make()->user();
+
+$user->setCommonName('John Doe');
+$user->setFirstName('John');
+$user->setLastName('Doe');
+```
+
+So we've set the basic information on the user, but we run into trouble when we want to put the user into a certain container
+(such as 'Accounting') which is done through the DN. Let's go through this example:
+
+```php
+$dn = $user->getDnBuilder();
+
+$dn->addCn($user->getCommonName());
+$dn->addOu('Accounting');
+$dn->addDc('corp');
+$dn->addDc('acme');
+$dn->addDc('org');
+
+// Returns 'cn=John Doe,ou=Accounting,dc=corp,dc=acme,dc=org'
+echo $dn->get();
+
+// The DistinguishedName object also contains the __toString() magic method
+// so you can also just echo the object itself
+echo $dn;
+```
+    
+Now we've built a DN, and all we have to do is set it on the new user:    
+
+```php
+$user->setDn($dn);
+
+$user->save();
+```
+
+#### Modifying a DN From A Model
+
+When you've received a model from a search result, you can build and modify the models DN like so:
+
+```php
+$user = $ad->users()->find('jdoe');
+
+$dn = $user->getDnBuilder();
+
+$dn->addOu('Users');
+
+$user->setDn($dn)->save();
+```
+
+#### Retrieving the RDN components
+
+To retrieve all of the RDN components of a Distinguished Name, call `getComponents()`:
+
+```php
+$dn = new Adldap\Models\Attributes\DistinguishedName(
+    'cn=John Doe,ou=Accounting,dc=corp,dc=acme,dc=org'
+);
+
+$components = $dn->getComponents();
+
+var_dump($components);
+
+// Output:
+// array:5 [▼
+//   "cn" => array:1 [▼
+//     0 => "John Doe"
+//   ]
+//   "uid" => []
+//   "ou" => array:1 [▼
+//     0 => "Accounting"
+//   ]
+//   "dc" => array:3 [▼
+//     0 => "corp"
+//     1 => "acme"
+//     2 => "org"
+//   ]
+//   "o" => []
+// ]
+```
+
+You can also specify a component you would like returned by supplying it as an argument:
+
+```php
+$dn = new Adldap\Models\Attributes\DistinguishedName(
+    'cn=John Doe,ou=Accounting,dc=corp,dc=acme,dc=org'
+);
+
+$dcs = $dn->getComponents('dc');
+
+var_dump($dcs);
+
+// Output:
+// array:3 [▼
+//   0 => "corp"
+//   1 => "acme"
+//   2 => "org"
+// ]
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/events.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/events.md
new file mode 100644
index 0000000..8175695
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/events.md
@@ -0,0 +1,175 @@
+# Events
+
+Adldap2 events provide a method of listening for certain LDAP actions
+that are called and execute tasks for that specific event.
+
+> **Note**: The Adldap2 event dispatcher was actually derived from the
+> [Laravel Framework](https://github.com/laravel/framework) with
+> Broadcasting & Queuing omitted to remove extra dependencies
+> that would be required with implementing those features.
+>
+> If you've utilized Laravel's events before, this will feel very familiar.
+
+## Registering Listeners
+
+> **Note**: Before we get to registering listeners, it's crucial to know that events throughout
+> Adldap2 are fired irrespective of the current connection or provider in use.
+>
+> This means that when using multiple LDAP connections, the same events will be fired.
+> 
+> This allows you to set listeners on events that occur for all LDAP connections you utilize.
+>
+> If you are required to determine which events are fired from alternate connections, see [below](#determining-the-connection).
+
+To register a listener on an event, retrieve the event dispatcher and call the `listen()` method:
+
+```php
+use Adldap\Auth\Events\Binding;
+
+$dispatcher = \Adldap\Adldap::getEventDispatcher();
+
+$dispatcher->listen(Binding::class, function (Binding $event) {
+    // Do something with the Binding event information:
+    
+    $event->connection; // Adldap\Connections\Ldap instance
+    $event->username; // 'jdoe@acme.org'
+    $event->password; // 'super-secret'
+});
+```
+
+The first argument is the event name you would like to listen for, and the
+second is either a closure or class name that should handle the event:
+
+Using a class:
+
+> **Note**: When using just a class name, the class must contain a public `handle()` method that will handle the event.
+
+```php
+use Adldap\Adldap;
+use Adldap\Auth\Events\Binding;
+
+$dispatcher = Adldap::getEventDispatcher();
+
+$dispatcher->listen(Binding::class, MyApp\BindingEventHandler::class);
+```
+
+```php
+namespace MyApp;
+
+use Adldap\Auth\Events\Binding;
+
+class BindingEventHandler
+{
+    public function handle(Binding $event)
+    {
+        // Handle the event...
+    }
+}
+```
+
+## Model Events
+
+Model events are handled the same way as authentication events.
+
+Simply call the event dispatcher `listen()` method with the model event you are wanting to listen for:
+
+```php
+use Adldap\Models\Events\Saving;
+
+$dispatcher = \Adldap\Adldap::getEventDispatcher();
+
+$dispatcher->listen(Saving::class, function (Saving $event) {
+    // Do something with the Saving event information:
+    
+    // Returns the model instance being saved eg. `Adldap\Models\Entry`
+    $event->getModel();
+});
+```
+
+## Wildcard Event Listeners
+
+You can register listeners using the `*` as a wildcard parameter to catch multiple events with the same listener.
+
+Wildcard listeners will receive the event name as their first argument, and the entire event data array as their second argument:
+
+```php
+$dispatcher = Adldap::getEventDispatcher();
+
+// Listen for all model events.
+$dispatcher->listen('Adldap\Models\Events\*', function ($eventName, array $data) {
+    echo $eventName; // Returns 'Adldap\Models\Events\Updating'
+    var_dump($data); // Returns [0] => (object) Adldap\Models\Events\Updating;
+});
+
+$user = $provider->search()->users()->find('jdoe');
+
+$user->setTelephoneNumber('555 555-5555');
+
+$user->save();
+```
+
+## Determining the Connection
+
+If you're using multiple LDAP connections and you require the ability to determine which events belong
+to a certain connection, you can do so by verifying the host of the LDAP connection.
+
+Here's an example:
+
+```php
+$dispatcher = Adldap::getEventDispatcher();
+
+$dispatcher->listen(\Adldap\Models\Events\Creating::class, function ($event) {
+    $connection = $event->model->getConnection();
+    
+    $host = $connection->getHost();
+    
+    echo $host; // Displays 'ldap://192.168.1.1:386'
+});
+```
+
+Another example with auth events:
+
+```php
+$dispatcher = Adldap::getEventDispatcher();
+
+$dispatcher->listen(\Adldap\Auth\Events\Binding::class, function ($event) {
+    $connection = $event->connection;
+    
+    $host = $connection->getHost();
+    
+    echo $host; // Displays 'ldap://192.168.1.1:386'
+});
+```
+
+## List of Events
+
+### Authentication Events
+
+There are several events that are fired during initial and subsequent binds to your configured LDAP server.
+
+Here is a list of all events that are fired:
+
+| Event| Description |
+|---|---|
+| Adldap\Auth\Events\Attempting | When any authentication attempt is called via: `$provider->auth()->attempt()` |
+| Adldap\Auth\Events\Passed | When any authentication attempts pass via: `$provider->auth()->attempt()` |
+| Adldap\Auth\Events\Failed | When any authentication attempts fail via: `$provider->auth()->attempt()` *Or* `$provider->auth()->bind()` |
+| Adldap\Auth\Events\Binding | When any LDAP bind attempts occur via: `$provider->auth()->attempt()` *Or* `$provider->auth()->bind()` |
+| Adldap\Auth\Events\Bound | When any LDAP bind attempts are successful via: `$provider->auth()->attempt()` *Or* `$provider->auth()->bind()` |
+
+### Model Events
+
+There are several events that are fired during the creation, updating and deleting of all models.
+
+Here is a list of all events that are fired:
+
+| Event | Description |
+|---|---|
+| Adldap\Models\Events\Saving | When a model is in the process of being saved via: `$model->save()` |
+| Adldap\Models\Events\Saved | When a model has been successfully saved via: `$model->save()` |
+| Adldap\Models\Events\Creating | When a model is being created via: `$model->save()` *Or* `$model->create()` |
+| Adldap\Models\Events\Created | When a model has been successfully created via: `$model->save()` *Or* `$model->create()` |
+| Adldap\Models\Events\Updating | When a model is being updated via: `$model->save()` *Or* `$model->update()` |
+| Adldap\Models\Events\Updated | When a model has been successfully updated via: `$model->save()` *Or* `$model->update()` |
+| Adldap\Models\Events\Deleting | When a model is being deleted via: `$model->delete()` |
+| Adldap\Models\Events\Deleted | When a model has been successfully deleted via: `$model->delete()` |
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/index.html b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/index.html
new file mode 100644
index 0000000..adf939b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/index.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="UTF-8">
+        <title>Adldap2 Documentation</title>
+        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+        <meta name="description" content="Adldap2 Documentation">
+        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+        <link rel="stylesheet" href="https://unpkg.com/docsify/lib/themes/vue.css">
+    </head>
+
+    <body>
+        <div id="app"></div>
+
+        <script>
+            window.$docsify = {
+                name: 'Adldap2',
+                repo: 'https://github.com/Adldap2/Adldap2',
+                autoHeader: true,
+                auto2top: true,
+                homepage: 'readme.md',
+                coverpage: true,
+                search: 'auto',
+                loadSidebar: true,
+                subMaxLevel: 3
+            }
+        </script>
+        
+
+        <script src="https://unpkg.com/docsify/lib/docsify.min.js"></script>
+        <script src="https://unpkg.com/prismjs/components/prism-php.min.js"></script>
+        <script src="https://unpkg.com/docsify/lib/plugins/search.min.js"></script>
+    </body>
+</html>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/installation.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/installation.md
new file mode 100644
index 0000000..de21239
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/installation.md
@@ -0,0 +1,29 @@
+# Requirements
+
+Adldap2 requires the following:
+
+- PHP 7.0 or greater
+- LDAP extension enabled in PHP
+- An LDAP server (ActiveDirectory, OpenLDAP, FreeIPA etc.)
+
+# Composer
+
+Adldap2 uses [Composer](https://getcomposer.org) for installation.
+
+Once you have composer installed, run the following command in the root directory of your project:
+
+```bash
+composer require adldap2/adldap2
+```
+
+Then, if your application doesn't already require Composer's autoload, you will need to do it manually.
+
+Insert this line at the top of your projects PHP script (usually `index.php`):
+
+```php
+require __DIR__ . '/vendor/autoload.php';
+```
+
+You're all set!
+
+Now, head over to the [setup guide](setup.md) to get up and running.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/logging.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/logging.md
new file mode 100644
index 0000000..b49bcd3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/logging.md
@@ -0,0 +1,74 @@
+# Logging
+
+Adldap2 includes an implementation of PSR's widely supported [Logger](https://github.com/php-fig/log) interface.
+
+By default, all of Adldap2's [events](events.md) will call the logger you have set to utilize.
+
+> **Note**: Adldap2 does not include a file / text logger. You must implement your own.
+
+## Registering & Enabling a Logger
+
+To register a logger call `Adldap::setLogger()`. The logger must implement the `Psr\Log\LoggerInterface`.
+
+>**Note**: Be sure to set the logger prior to creating a new `Adldap` instance. This
+> ensures all events throughout the lifecycle of the request use your logger.
+
+```php
+use Adldap\Adldap;
+
+Adldap::setLogger($myLogger);
+
+$config = ['...'];
+
+$ad = new Adldap();
+
+$ad->addProvider($config);
+```
+
+## Disabling Logging
+
+If you need to disable the event logger after a certain set of operations, simply pass in `null` and logging will be disabled:
+
+```php
+use Adldap\Adldap;
+
+Adldap::setLogger($myLogger);
+
+$config = ['...'];
+
+$ad = new Adldap();
+
+$ad->addProvider($config);
+
+try {
+    $ad->connect();
+    
+    // Disable logging anything else.
+    Adldap::setLogger(null);
+} catch (\Adldap\Connections\BindException $e) {
+    //
+}
+```
+
+## Logged Information
+
+Here is a list of events that are logged along with the information included:
+
+| Authentication Events | Logged |
+|---|---|
+| `Adldap\Auth\Events\Attempting` | `LDAP (ldap://192.168.1.1:389) - Operation: Adldap\Auth\Events\Attempting - Username: CN=Steve Bauman,OU=Users,DC=corp,DC=acme,DC=org` | 
+| `Adldap\Auth\Events\Binding` |` LDAP (ldap://192.168.1.1:389) - Operation: Adldap\Auth\Events\Binding - Username: CN=Steve Bauman,OU=Users,DC=corp,DC=acme,DC=org` | 
+| `Adldap\Auth\Events\Bound` | `LDAP (ldap://192.168.1.1:389) - Operation: Adldap\Auth\Events\Bound - Username: CN=Steve Bauman,OU=Users,DC=corp,DC=acme,DC=org` | 
+| `Adldap\Auth\Events\Passed` | `LDAP (ldap://192.168.1.1:389) - Operation: Adldap\Auth\Events\Passed - Username: CN=Steve Bauman,OU=Users,DC=corp,DC=acme,DC=org` | 
+| `Adldap\Auth\Events\Failed` | `LDAP (ldap://192.168.1.1:389) - Operation: Adldap\Auth\Events\Failed - Username: CN=Steve Bauman,OU=Users,DC=corp,DC=acme,DC=org - Result: Invalid Credentials` |
+
+| Model Events | Logged |
+|---|---|
+| `Adldap\Models\Events\Saving` | `LDAP (ldap://192.168.1.1:389) - Operation: Saving - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
+| `Adldap\Models\Events\Saved` | `LDAP (ldap://192.168.1.1:389) - Operation: Saved - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
+| `Adldap\Models\Events\Creating` | `LDAP (ldap://192.168.1.1:389) - Operation: Creating - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
+| `Adldap\Models\Events\Created` | `LDAP (ldap://192.168.1.1:389) - Operation: Created - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
+| `Adldap\Models\Events\Updating` | `LDAP (ldap://192.168.1.1:389) - Operation: Updating - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
+| `Adldap\Models\Events\Updated` | `LDAP (ldap://192.168.1.1:389) - Operation: Updated - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
+| `Adldap\Models\Events\Deleting` | `LDAP (ldap://192.168.1.1:389) - Operation: Deleting - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
+| `Adldap\Models\Events\Deleted` | `LDAP (ldap://192.168.1.1:389) - Operation: Deleted - On: Adldap\Models\User - Distinguished Name: cn=John Doe,dc=acme,dc=org` | 
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/media/bg.svg b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/media/bg.svg
new file mode 100644
index 0000000..e70e863
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/media/bg.svg
@@ -0,0 +1 @@
+﻿<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 1600 800'><rect fill='#46ff55' width='1600' height='800'/><g ><path fill='#51ff76' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/><path fill='#57ff94' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/><path fill='#5affb1' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/><path fill='#57ffcd' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/><path fill='#50ffe8' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/><path fill='#7dffe9' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/><path fill='#9effe9' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/><path fill='#baffea' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/><path fill='#d2ffea' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/><path fill='#e9ffeb' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/></g></svg>
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/computer.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/computer.md
new file mode 100644
index 0000000..e3057ab
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/computer.md
@@ -0,0 +1,32 @@
+# The Computer Model
+
+> **Note**: This model contains the traits `HasDescription`, `HasLastLogonAndLogOff` & `HasCriticalSystemObject`.
+> For more information, visit the documentation:
+>
+> [HasDescription](/models/traits/has-description.md),
+> [HasLastLogonAndLogOff](/models/traits/has-last-login-last-logoff.md),
+> [HasCriticalSystemObject](/models/traits/has-critical-system-object.md)
+
+## Methods
+
+```php
+$computer = $provider->search()->computers()->find('ACME-EXCHANGE');
+
+// Returns 'Windows Server 2003'
+$computer->getOperatingSystem();
+
+// Returns '5.2 (3790)';
+$computer->getOperatingSystemVersion();
+
+// Returns 'Service Pack 1';
+$computer->getOperatingSystemServicePack();
+
+// Returns 'ACME-DESKTOP001.corp.acme.org'
+$computer->getDnsHostName();
+
+$computer->getLastLogOff();
+
+$computer->getLastLogon();
+
+$computer->getLastLogonTimestamp();
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/contact.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/contact.md
new file mode 100644
index 0000000..e42c8f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/contact.md
@@ -0,0 +1,13 @@
+# The Contact Model
+
+The Contact model extends from the base `Adldap\Models\Model` class and contains
+no specific methods / attributes that are limited to it.
+
+## Creation
+
+```php
+// Adldap\Models\Contact
+$contact = $provider->make()->contact([
+    'cn' => 'Suzy Doe',
+]);
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/container.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/container.md
new file mode 100644
index 0000000..132b549
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/container.md
@@ -0,0 +1,24 @@
+# The Container Model
+
+> **Note**: This model contains the trait `HasDescription` & `HasCriticalSystemObject`.
+> For more information, visit the documentation:
+> 
+> [HasDescription](/models/traits/has-description.md),
+> [HasCriticalSystemObject](/models/traits/has-critical-system-object.md),
+
+## Creation
+
+```php
+// Adldap\Models\Container
+$container = $provider->make()->container([
+    'cn' => 'VPN Users',
+]);
+```
+
+## Methods
+
+The `Container` model contains only one unique method.
+
+```php
+$flags = $container->getSystemFlags();
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/group.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/group.md
new file mode 100644
index 0000000..cf7c6d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/group.md
@@ -0,0 +1,253 @@
+# The Group Model
+
+> **Note**: This model contains the trait `HasMemberOf`.
+> For more information, visit the documentation:
+>
+> [HasMemberOf](/models/traits/has-member-of.md)
+
+## Creation
+
+```php
+// Adldap\Models\Group
+$group = $provider->make()->group([
+    'cn' => 'Managers',
+]);
+
+// Create group's DN through the DN Builder:
+$group = $provider->make()->group();
+
+$dn = $group->getDnBuilder();
+
+$dn->addOu('Workstation Computers');
+
+$dn->addCn("Managers");
+
+$group->setDn($dn);
+
+// Or set the DN manually:
+$ou->setDn('cn=Managers,ou=Workstation Computers,dc=test,dc=local,dc=com');
+
+$group->save();
+```
+
+## Getting a groups members
+
+When you receive a `Group` model instance, it will contain a `member`
+attribute which contains the distinguished names of all
+the members inside the group.
+
+```php
+$group = $provider->search()->groups()->first();
+
+foreach ($group->members as $member) {
+    echo $member; // 'cn=John Doe,dc=corp,dc=acme,dc=org'
+}
+```
+
+But this might not be useful, since we might actually want the models for each member.
+
+This can be easily done with the `getMembers()` method on the group.
+
+```php
+$group = $provider->search()->groups()->first();
+
+foreach ($group->getMembers() as $member) {
+    echo get_class($member); // Instance of `Adldap\Models\Model`
+
+    echo $member->getCommonName();
+}
+```
+
+> **Note**: You should be aware however, that calling the `getMembers()` method will
+> query your `AD` server for **every** member contained in the group to retrieve
+> its model. For larger group sets it may be worth paginating them.
+
+
+### Paginating Group Members
+
+The group you're looking for might contain hundreds / thousands of members.
+
+In this case, your server might only return you a portion of the groups members.
+
+To get around this limit, you need to ask your server to paginate the groups members through a select:
+
+```php
+$group = $provider->search()->groups()->select('member;range=0-500')->first();
+
+foreach ($group->members as $member) {
+    // We'll only have 500 members in this query.
+}
+```
+
+Now, when we have the group instance, we'll only have the first `500` members inside this group.
+However, calling the `getMembers()` method will automatically retrieve the rest of the members for you:
+
+```php
+$group = $provider->search()->groups()->select('member;range=0-500')->first();
+
+foreach ($group->getMembers() as $member) {
+    // Adldap will automatically retrieve the next 500
+    // records until it's retrieved all records.
+    $member->getCommonName();
+}
+```
+
+> **Note**: Groups containing large amounts of users (1000+) will require
+> more memory assigned to PHP. Your mileage will vary.
+
+#### Paginating large sets of Group Members
+
+When requesting group members from groups that contain a large amount of members
+(typically over 1000), you may receive PHP memory limit errors due to
+the large amount of the objects being created in the request.
+
+To resolve this, you will need to retrieve the members manually. However using
+this route you will only be able to retrieve the members distinguished names.
+
+```php
+$from = 0;
+$to = 500;
+$range = "member;range=$from-$to";
+
+// Retrieve the group.
+$group = $provider->search()->select($range)->raw()->find('Accounting');
+
+// Remove the count from the member array.
+unset($group[$range]['count']);
+
+// The array of group members distinguished names.
+$members = $group[$range];
+
+foreach ($members as $member) {
+    echo $member; // 'cn=John Doe,dc=acme,dc=org'
+}
+```
+
+You can then encapsulate the above example into a recursive function to retrieve the remaining group members.
+
+## Getting only a groups member names
+
+To retrieve only the names of the members contained in a group, call the `getMemberNames()` method:
+
+```php
+foreach ($group->getMemberNames() as $name) {
+    // Returns 'John Doe' 
+    echo $name;
+}
+```
+
+> **Note**: This method does not query your server for each member to retrieve its name. It
+> only parses the distinguished names from the groups `member` attribute. This means that
+> if you have paginated group members, you will need to perform another query yourself
+> to retrieve the rest of the member names (or just call the `getMembers()` method).
+
+## Setting Group Members
+
+To set members that are apart of the group, you can perform this in two ways:
+
+> **Note**: Remember, this will remove **all** pre-existing members, and set the new given members on the group.
+
+```php
+$members = [
+    'cn=John Doe,dc=corp,dc=acme,dc=org',
+    'cn=Jane Doe,dc=corp,dc=acme,dc=org',
+];
+
+$group->setMembers($members);
+
+$group->save();
+```
+
+Or manually:
+
+```php
+$group->member = [
+    'cn=John Doe,dc=corp,dc=acme,dc=org',
+    'cn=Jane Doe,dc=corp,dc=acme,dc=org',
+];
+
+$group->save();
+```
+
+## Adding One Member
+
+To add a single member to a group, use the `addMember()` method:
+
+> **Note**: You do not need to call the `save()` method after adding a
+> member. It's automatically called so you can determine
+> if the member was successfully added.
+
+```php
+// We can provide a model, or just a plain DN of the new member
+$user = $provider->search()->users()->first();
+
+if ($group->addMember($user)) {
+    // User was successfully added to the group!
+}
+
+// Or
+
+$user = 'cn=John Doe,dc=corp,dc=acme,dc=org';
+
+if ($group->addMember($user)) {
+    //
+}
+```
+
+## Adding Multiple Group Members
+
+To add multiple members to a group, use the `addMembers()` method:
+
+> **Note**: You do not need to call the `save()` method after adding
+> members. It's automatically called so you can determine
+> if the members were successfully added.
+
+```php
+$members = [
+    'cn=John Doe,dc=corp,dc=acme,dc=org',
+    'cn=Jane Doe,dc=corp,dc=acme,dc=org',
+];
+
+$group->addMembers($members);
+
+// Or
+
+$user = $provider->search()->users()->first();
+
+if ($group->addMembers($user)) {
+    //
+}
+```
+
+## Removing One Member
+
+To remove a single member to a group, use the `removeMember()` method:
+
+```php
+// We can provide a model, or just a plain DN of the existing member
+$group = $provider->search()->groups()->first();
+
+$member = $group->getMembers()->first();
+
+if ($group->removeMember($member)) {
+    // Member was successfully removed from the group!
+}
+
+// Or
+
+$user = 'cn=John Doe,dc=corp,dc=acme,dc=org';
+
+if ($group->removeMember($user)) {
+    //
+}
+```
+
+## Removing All Members
+
+To remove all members, use the `removeMembers()` method:
+
+```php
+if ($group->removeMembers()) {
+    // All members were successfully removed!
+}
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/model.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/model.md
new file mode 100644
index 0000000..fbcecc8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/model.md
@@ -0,0 +1,655 @@
+# Creating / Updating
+
+## Introduction
+
+Adldap2 implements the [ActiveRecord](https://en.wikipedia.org/wiki/Active_record_pattern) pattern.
+This means that each LDAP record in your directory is represented as it's own model instance.
+
+## Creating
+
+Creating LDAP entries manually is always a pain, but Adldap2 makes it effortless. Let's get started.
+
+When you have a provider instance, call the `make()` method. This returns an `Adldap\Models\Factory` instance:
+
+```php
+$factory = $provider->make();
+```
+
+Or you can chain all methods if you'd prefer:
+
+```php
+$user = $provider->make()->user();
+```
+
+### Available Make Methods
+
+When calling a make method, all of them accept an `$attributes` parameter
+to fill the model with your specified attributes.
+
+```php
+// Adldap\Models\User
+$user = $provider->make()->user([
+    'cn' => 'John Doe',
+]);
+
+// Adldap\Models\Computer
+$computer = $provider->make()->computer([
+    'cn' => 'COMP-101',
+]);
+
+// Adldap\Models\Contact
+$contact = $provider->make()->contact([
+    'cn' => 'Suzy Doe',
+]);
+
+// Adldap\Models\Container
+$container = $provider->make()->container([
+    'cn' => 'VPN Users',
+]);
+
+// Adldap\Models\Group
+$group = $provider->make()->group([
+    'cn' => 'Managers',
+]);
+
+// Adldap\Models\OrganizationalUnit
+$ou = $provider->make()->ou([
+    'name' => 'Acme',
+]);
+```
+
+## Saving
+
+When you have any model instance, you can call the `save()` method to persist the
+changes to your server. This method returns a `boolean`. For example:
+
+```php
+$user = $provider->make()->user([
+    'cn' => 'New User',
+]);
+
+if ($user->save()) {
+    // User was saved.
+} else {
+    // There was an issue saving this user.
+}
+```
+
+> **Note**: When a model is saved successfully (whether created or updated), the
+> models attributes are re-synced in the background from your LDAP server.
+> 
+> This allows you to perform other operations during the same
+> request that require an existing model.
+
+### Creating (Manually)
+
+If you are sure the model **does not exist** already inside your LDAP directory, you can use the `create()` method:
+
+```php
+$user = $provider->make()->user([
+    'cn' => 'New User',
+]);
+
+if ($user->create()) {
+    // User was created.
+} else {
+    // There was an issue creating this user.
+}
+```
+
+> **Note**: When you call the create method, if the model does not have a
+> distinguished name, one will automatically be generated for you using your
+> `base_dn` set in your configuration and the models common name.
+
+### Updating (Manually)
+
+If you are sure the model **does exist** already inside your LDAP directory, you can use the `update()` method:
+
+```php
+$user = $provider->search()->whereEquals('cn', 'John Doe')->firstOrFail();
+
+$user->displayName = 'Suzy Doe';
+
+if ($user->update()) {
+    // User was updated.
+} else {
+    // There was an issue updating this user.
+}
+```
+
+## Checking Existence
+
+If you need to check the existence of a model, use the property `exists`.
+
+How does it know if the model exists in your LDAP directory? Well, when models are constructed from
+search results, the `exists` property on the model is set to `true`.
+
+```php
+$user = $provider->search()->find('jdoe');
+
+$user->exists; // Returns true.
+
+if ($user->delete()) {
+    $user->exists; // Returns false.
+}
+```
+
+If a model is created successfully, the `exists` property is set to `true`:
+
+```php
+$user = $provider->make()->user([
+    'cn' => 'John Doe',
+]);
+
+$user->exists; // Returns false.
+
+if ($user->save()) {
+    $user->exists; // Returns true.
+}
+```
+
+## Attributes
+
+Due to LDAPs multi-valued nature, all LDAP attributes inside a model have their own array.
+
+For example, a models attributes may contain the following:
+
+```php
+var_dump($user->getAttributes());
+
+// Returns:
+/*
+[
+    'cn' => [
+        0 => 'John Doe',
+    ],
+    'sn' => [
+        0 => 'Doe',
+    ],
+    'givenname' => [
+        0 => 'John'
+    ],
+    'useraccountcontrol' => [
+        0 => 512
+    ],
+    'mail' => [
+        0 => 'jdoe@acme.org',
+        1 => 'john-doe@acme.org',
+    ],
+    'memberof' => [
+        0 => 'cn=Accountants,ou=Groups,dc=acme,dc=org',
+        1 => 'cn=Employees,ou=Groups,dc=acme,dc=org',
+        2 => 'cn=Users,ou=Groups,dc=acme,dc=org',
+    ],
+]
+*/
+```
+
+You can notice in the above dumped array that each attribute contains
+its own array with a value assigned to the first key.
+
+Since all models extend from the base class `Adldap\Models\Model`, there
+are many useful methods that you can use on every model to easily
+retrieve these attributes you're looking for.
+
+### Getting Attributes
+
+You can get attributes in a few ways:
+
+```php
+// Returns an array all of the users attributes.
+$user->getAttributes();
+
+// Returns an array of all the users email addresses.
+// Returns `null` if non-existent.
+$user->getAttribute('mail');
+
+// Returns the users first email address.
+// Returns `null` if non-existent.
+$user->getAttribute('mail', 0);
+
+// Returns the users first email address.
+// Returns `null` if non-existent.
+$user->getFirstAttribute('mail');
+
+// Returns an array of all the users email addresses. 
+$user->mail;
+
+// Returns the users first email address.
+$user->mail[0];
+```
+
+#### Using a Getter
+
+Some attributes have methods for easier retrieval so you don't need to look up the LDAP attribute name.
+
+For example, to retrieve a users email address, use the method `getEmail()`:
+
+```php
+$user->getEmail();
+```
+
+##### Other Methods
+
+The following methods are available on all returned models:
+
+```php
+// Returns the model's 'name' attribute.
+$model->getName();
+
+// Returns the model's 'cn' attribute.
+$model->getCommonName();
+
+// Returns the model's 'displayname' attribute.
+$model->getDisplayName();
+
+// Returns the model's 'samaccountname' attriubte.
+$model->getAccountName();
+
+// Returns the model's 'samaccounttype` attribute.
+$model->getAccountType();
+
+// Returns the model's 'whencreated` attribute.
+$model->getCreatedAt();
+
+// Returns the model's 'whencreated` attribute in a MySQL timestamp format.
+$model->getCreatedAtDate();
+
+// Returns the model's 'whencreated' attribute in unix time.
+$model->getCreatedAtTimestamp();
+
+// Returns the model's 'whenchanged` attribute.
+$model->getUpdatedAt();
+
+// Returns the model's 'whenchanged` attribute in a MySQL timestamp format.
+$model->getUpdatedAtDate();
+
+// Returns the model's 'whenchanged` attribute in unix time.
+$model->getUpdatedAtTimestamp();
+
+// Returns the model's 'objectclass' attribute.
+$model->getObjectClass();
+
+// Returns the model's root object category string.
+$model->getObjectCategory();
+
+// Returns the model's object category in an array.
+$model->getObjectCategoryArray();
+
+// Returns the model's object category distinguished name.
+$model->getObjectCategoryDn();
+
+// Returns the model's SID in binary.
+$model->getObjectSid();
+
+// Returns the model's GUID in binary.
+$model->getObjectGuid();
+
+// Returns the model's SID in a string.
+$model->getConvertedSid();
+
+// Returns the model's GUID in a string.
+$model->getConvertedGuid();
+
+// Returns the model's primary group ID.
+$model->getPrimaryGroupId();
+
+// Returns the model's 'instancetype' attribute.
+$model->getInstanceType();
+
+// Returns the model's 'maxpwdage' attribute.
+$model->getMaxPasswordAge();
+```
+
+For more documentation on specific getters, please take a look at the relevant model documentation.
+
+#### Getting Dirty (Modified) Attributes
+
+You can get a models modified attributes using the `getDirty()` method:
+
+```php
+$user = $provider->search()->users()->find('john');
+
+// Returns array [0 => 'John Doe']
+var_dump($user->cn);
+
+$user->setAttribute('cn', 'Jane Doe');
+
+// Returns array ['cn' => [0 => 'Jane Doe']]
+var_dump($user->getDirty());
+
+// The attribute has been modified - returns array [0 => 'Jane Doe']
+var_dump($user->cn);
+```
+
+The method returns an array with the key being the modified attribute,
+and the array being the new values of the attribute.
+
+#### Getting Original (Unmodified) Attributes
+
+You can get a models original attributes using the `getOriginal()` method:
+
+```php
+$user = $provider->search()->users()->find('john');
+
+// Returns array [0 => 'John Doe']
+var_dump($user->cn);
+
+$user->setAttribute('cn', 'Jane Doe');
+
+// The attribute has been modified - returns array [0 => 'Jane Doe']
+var_dump($user->cn);
+
+// Retrieving the original value - returns array [0 => 'John Doe']
+var_dump($user->getOriginal()['cn']);
+```
+
+> **Note**: Keep in mind, when you `save()` a model, the models original
+> attributes will be re-synchronized to the models new attributes.
+
+### Setting Attributes
+
+Just like getting model attributes, there's multiple ways of setting attributes as well:
+
+```php
+// Setting via method:
+$user->setAttribute('cn', 'John Doe');
+
+// Specifying a subkey for overwriting specific attributes:
+$user->setAttribute('mail', 'other-mail@mail.com', 0);
+
+// Setting the first attribute:
+$user->setFirstAttribute('mail', 'jdoe@mail.com');
+
+// Setting via property:
+$user->cn = 'John Doe';
+
+// Mass setting attributes:
+$user->fill([
+    'cn' => 'John Doe',
+    'mail' => 'jdoe@mail.com',
+]);
+```
+
+#### Setting Boolean Attributes
+
+When setting boolean attribute values, you cannot use `0` / `1` / `true` / `false` as these
+are simply converted to integer values when saving and your LDAP server will
+likely return an error for doing so on certain attributes.
+
+You will need to use the string versions of the boolean (`'TRUE'` / `'FALSE'`) for the
+boolean attribute to be set properly on your LDAP server.
+
+Here's an example:
+
+```php
+$user->setFirstAttribute('msExchHideFromAddressLists', 'TRUE');
+
+$user->save();
+```
+
+### Creating Attributes
+
+To create an attribute that does not exist on the model, you can set it like a regular property:
+
+```php
+$user = $provider->search()->whereEquals('cn', 'John Doe')->firstOrFail();
+
+$user->new = 'New Attribute';
+
+$user->save();
+```
+
+If the set attribute does not exist on the model already,
+it will automatically be created when you call the `save()` method.
+
+If you'd like manually create new attributes individually, call the `createAttribute($attribute, $value)` method:
+
+```php
+if ($user->createAttribute('new', 'New Attribute')) {
+    // Attribute created.
+}
+```
+
+### Updating Attributes
+
+To modify an attribute you can either use a setter method, or by setting it manually:
+
+> **Note**: You can also utilize setters to create new attributes if your model does not already have the attribute.
+
+```php
+$user = $provider->search()->whereEquals('cn', 'John Doe')->firstOrFail();
+
+$user->cn = 'New Name';
+
+// Or use a setter:
+
+$user->setCommonName('New Name');
+
+$user->save();
+```
+
+If you'd like to update attributes individually, call the `updateAttribute($attribute, $value)` method:
+
+```php
+if ($user->updateAttribute('cn', 'New Name')) {
+    // Successfully updated attribute.
+}
+```
+
+### Removing Attributes
+
+To remove attributes, set the attribute to `NULL`:
+
+```php
+$user->cn = null;
+
+$user->save();
+```
+
+Or, you can call the `deleteAttribute($attribute)` method:
+
+```php
+if ($user->deleteAttribute('cn')) {
+    // Attribute has been deleted.
+}
+```
+
+### Checking Attributes
+
+#### Checking Existence of Attributes
+
+To see if a model contains an attribute, use the method `hasAttribute()`:
+
+```php
+// Checking if a base attribute exists:
+if ($user->hasAttribute('mail')) {
+    // This user contains an email address.
+}
+
+// Checking if a sub attribute exists, by key:
+if ($user->hasAttribute('mail', 1)) {
+    // This user contains a second email address.
+}
+```
+
+#### Counting the Models Attributes
+
+To retrieve the total number of attributes, use the method `countAttributes()`:
+
+```php
+$count = $user->countAttributes();
+
+var_dump($count); // Returns int
+```
+
+#### Checking if a Model is contained in an OU
+
+To check if a model is located inside an OU, use the `inOu()` method:
+
+```php
+if ($model->inOu('User Accounts')) {
+    // This model is inside the 'User Accounts' OU.
+}
+```
+
+You can also use an OU model instance:
+
+```php
+$serviceAccounts = $provider->search()->ous()->find('Service Accounts');
+
+if ($model->inOu($serviceAccounts)) {
+    // This model is inside the 'Service Accounts' OU.
+}
+```
+
+#### Checking if a Model is Writable
+
+To check if the model can be written to, use the method `isWritable()`:
+
+```php
+if ($model->isWritable()) {
+    // You can modify this model.
+}
+```
+
+### Force Re-Syncing A Models Attributes
+
+If you need to forcefully re-sync a models attributes, use the method `syncRaw()`:
+
+```php
+$user->syncRaw();
+```
+
+> **Note**: This will query your LDAP server for the current model, and re-synchronize
+> it's attributes. This is only recommended if your creating / updating / deleting
+> attributes manually through your LDAP connection.
+
+## Moving / Renaming
+
+To move a user from one DN or OU to another, use the `move()` method:
+
+> **Note**: The `move()` method is actually an alias for the `rename()` method.
+
+```php
+// New parent distiguished name.
+$newParentDn = 'OU=New Ou,DC=corp,DC=local';
+
+if ($user->move($newParentDn)) {
+    // User was successfully moved to the new OU.
+}
+```
+
+You can also provide a model to move the child model into:
+
+```php
+// New parent OU.
+$newParentOu = $provider->search()->ous()->find('Accounting');
+
+if ($user->move($newParentOu)) {
+    // User was successfully moved to the new OU.
+}
+```
+
+If you would like to keep the models old RDN along side their new RDN, pass in false in the second parameter:
+
+```php
+// New parent distiguished name.
+$newParentDn = 'OU=New Ou,DC=corp,DC=local';
+
+if ($user->move($newParentDn, $deleteOldRdn = false)) {
+    // User was successfully moved to the new OU,
+    // and their old RDN has been left in-tact.
+}
+```
+
+To rename a users DN, just pass in their new relative distinguished name in the `rename()` method:
+
+```php
+$newRdn = 'cn=New Name';
+
+if ($user->rename($newRdn)) {
+    // User was successfully renamed.
+}
+```
+
+## Deleting
+
+To delete a model, just call the `delete()` method:
+
+```php
+$user = $provider->search()->whereEquals('cn', 'John Doe')->firstOrFail();
+
+echo $user->exists; // Returns true.
+
+if ($user->delete()) {
+    // Successfully deleted user.
+
+    echo $user->exists; // Returns false.
+}
+```
+
+## Extending
+
+> **Note**: This feature was introduced in `v8.0.0`.
+
+To use your own models, you will need to create a new [Schema](../schema.md).
+
+Once you have created your own schema, you must insert it inside the construct of your provider.
+
+Let's walk through this process.
+
+First we'll create our model we'd like to extend / override:
+
+> **Note**: Your custom model **must** extend from an existing Adldap2 model.
+> This is due to methods and attributes that only exist on these classes.
+
+```php
+namespace App\Ldap\Models;
+
+use Adldap\Models\User as Model;
+
+class User extends Model
+{
+    public function getCommonName()
+    {
+        // Overriding model method.
+    }
+}
+```
+
+Now, we'll create our custom schema and return our models class name:
+
+```php
+namespace App\Ldap\Schemas;
+
+use App\Ldap\Models\User;
+
+class LdapSchema extends ActiveDirectory
+{
+    public function userModel()
+    {
+        return User::class;
+    }
+}
+```
+
+Finally, when we create a provider, we need to insert our Schema into the configuration:
+
+```php
+$config = [
+    'hosts' => ['...'],
+    
+    'username' => 'admin',
+    'password' => 'P@ssword',
+    
+    'schema' => MyApp\LdapSchema::class,
+];
+
+$ad = new Adldap($config);
+
+$provider = $ad->connect();
+
+// If `jdoe` exists, your custom model will be returned.
+$user = $provider->search()->users()->find('jdoe');
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/organization.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/organization.md
new file mode 100644
index 0000000..57c00e3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/organization.md
@@ -0,0 +1,19 @@
+# The Organization Model
+
+The Organization model extends from the base `Adldap\Models\Model` class and contains
+no specific methods / attributes that are limited to it.
+
+## Creation
+
+```php
+// Adldap\Models\Organization
+$org = $provider->make()->organization([
+    'o' => 'Some Company',
+]);
+
+// Set the DN manually:
+
+$org->setDn('o=Some Company,dc=test,dc=local,dc=com');
+
+$org->save();
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/ou.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/ou.md
new file mode 100644
index 0000000..ec473b1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/ou.md
@@ -0,0 +1,27 @@
+# The OrganizationalUnit Model
+
+The OrganizationalUnit model extends from the base `Adldap\Models\Model` class and contains
+no specific methods / attributes that are limited to it.
+
+## Creation
+
+```php
+// Adldap\Models\OrganizationalUnit
+$ou = $provider->make()->ou([
+    'name' => 'Workstation Computers',
+]);
+
+// Generate the OU's DN through the DN Builder:
+
+$dn = $ou->getDnBuilder();
+
+$dn->addOu('Workstation Computers');
+
+$ou->setDn($dn);
+
+// Or set the DN manually:
+
+$ou->setDn('ou=Workstation Computers,dc=test,dc=local,dc=com');
+
+$ou->save();
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/printer.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/printer.md
new file mode 100644
index 0000000..4adc666
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/printer.md
@@ -0,0 +1,49 @@
+# The Printer Model
+
+## Methods
+
+```php
+$printer->getPrinterName();
+
+$printer->getPrinterShareName();
+
+$printer->getMemory();
+
+$printer->getUrl();
+
+$printer->getLocation();
+
+$printer->getServerName();
+
+$printer->getColorSupported();
+
+$printer->getDuplexSupported();
+
+$printer->getMediaSupported();
+
+$printer->getStaplingSupported();
+
+$printer->getPrintBinNames();
+
+$printer->getPrintMaxResolution();
+
+$printer->getPrintOrientations();
+
+$printer->getDriverName();
+
+$printer->getDriverVersion();
+
+$printer->getPriority();
+
+$printer->getPrintStartTime();
+
+$printer->getPrintEndTime();
+
+$printer->getPortName();
+
+$printer->getVersionNumber();
+
+$printer->getPrintRate();
+
+$printer->getPrintRateUnit();
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/root-dse.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/root-dse.md
new file mode 100644
index 0000000..e798c0e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/root-dse.md
@@ -0,0 +1,33 @@
+# The RootDse Model
+
+## Getting the Root DSE
+
+To get the Root DSE of your LDAP server, call the `getRootDse()` method off a new search:
+
+```php
+$rootDse = $provider->search()->getRootDse();
+```
+
+## Getting the schema naming context
+
+To get the Root DSE schema naming context, call the `getSchemaNamingContext()`:
+
+```php
+$rootDse = $provider->search()->getRootDse();
+
+$context = $rootDse->getSchemaNamingContext();
+
+// Returns 'cn=Schema,cn=Configuration,dc=corp,dc=acme,dc=org'
+echo $context;
+```
+
+## Getting the root domain naming context
+
+To get the Root DSE domain naming context, call the `getRootDomainNamingContext()`:
+
+```php
+$context = $rootDse->getRootDomainNamingContext();
+
+// Returns 'dc=corp,dc=acme,dc=org'
+echo $context;
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-critical-system-object.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-critical-system-object.md
new file mode 100644
index 0000000..095acad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-critical-system-object.md
@@ -0,0 +1,13 @@
+# HasCriticalSystemObject Trait
+
+Models that contain this trait, have the `isCriticalSystemObject` attribute.
+
+There is only one method that accompanies this trait:
+
+```php
+if ($model->isCriticalSystemObject()) {
+
+    //
+
+}
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-description.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-description.md
new file mode 100644
index 0000000..5c26d02
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-description.md
@@ -0,0 +1,11 @@
+# HasDescription Trait
+
+Models that contain this trait, have the `description` attribute.
+
+There are only two methods that accompany this trait:
+
+```php
+$model->getDescription();
+
+$model->setDescription('The models description');
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-last-login-last-logoff.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-last-login-last-logoff.md
new file mode 100644
index 0000000..76078c5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-last-login-last-logoff.md
@@ -0,0 +1,16 @@
+# HasLastLoginAndLastLogoff Trait
+
+Models that contain this trait have the `lastlogoff`, `lastlogon` and `lastlogontimestamp` attributes.
+
+## Methods
+
+```php
+// Returns the models's last log off attribute.
+$computer->getLastLogOff();
+
+//  Returns the models's last log on attribute.
+$computer->getLastLogon();
+
+// Returns the models's last log on timestamp attribute.
+$computer->getLastLogonTimestamp();
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-member-of.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-member-of.md
new file mode 100644
index 0000000..d3063df
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/traits/has-member-of.md
@@ -0,0 +1,166 @@
+# HasMemberOf Trait
+
+Models that contain this trait, have the ability to be apart of a group.
+
+There's many helpful methods to assist you in all of the operations related to group membership, let's get started!
+
+## Retrieving Groups
+
+To retrieve the groups that a model is apart of, call the `getGroups()` method:
+
+```php
+$user = $provider->search()->users()->find('jdoe');
+
+$groups = $user->getGroups();
+
+foreach ($groups as $group) {
+
+    $group->getCommonName(); // ex. 'Accounting'
+
+}
+```
+
+We can also pass in specific fields we need from the returned groups to speed up our queries.
+
+For example, if we only need the groups common name:
+
+```php
+// Group models will be returned with only their common name.
+$groups = $user->getGroups(['cn']);
+```
+
+However, calling `getGroups()` will only retrieve the models immediate groups (non-recursive).
+
+To retrieve nested groups, pass in `true` into the second parameter:
+
+```php
+$groups = $user->getGroups([], $recursive = true);
+```
+
+## Retrieve Group Names
+
+If you only want the models group names, call the `getGroupNames()` method:
+
+```php
+$names = $user->getGroupNames();
+
+foreach ($names as $name) {
+
+    echo $name; // ex. 'Accounting'
+
+}
+```
+
+However, this method will also retrieve only the immediate groups names
+much like the `getGroups()` method. You'll need to pass in `true` in
+the first parameter to retrieve results recursively.
+
+```php
+$names = $user->getGroupNames($recursive = true);
+```
+
+## Checking if the Model is apart of a Group
+
+To check if a model is apart of a certain group, use the `inGroup()` method:
+
+```php
+$group = $provider->search()->groups()->find('Office');
+
+if ($user->inGroup($group)) {
+
+    //
+
+}
+```
+
+You can also check for multiple memberships by passing in an array of groups:
+
+```php
+$groups = $provider->search()->findManyBy('cn', ['Accounting', 'Office']));
+
+if ($user->inGroup($groups->toArray()) {
+    
+    // This user is apart of the 'Accounting' and 'Office' group!
+
+}
+```
+
+> **Note**: Much like the other methods above, you'll need to provide a `$recursive`
+> flag to the `inGroup()` method if you'd like recursive results included.
+
+We can also provide distinguished names instead of Group model instances:
+
+```php
+$dns = [
+    'cn=Accounting,ou=Groups,dc=acme,dc=org',
+    'cn=Office,ou=Groups,dc=acme,dc=org',
+];
+
+if ($user->inGroup($dns, $recursive = true)) {
+    
+    //
+
+}
+```
+
+Or, we can also just provide the name(s) of the group(s).
+
+```php
+$names = [
+    'Accounting',
+    'Office',
+];
+
+if ($user->inGroup($names, $recursive = true)) {
+    
+    //
+
+}
+```
+
+## Adding a Group
+
+To add the model to a specific group, call the `addGroup()` method:
+
+```php
+$group = $provider->search()->groups()->find('Accounting');
+
+// You can either provide a Group model:
+if ($user->addGroup($group)) {
+
+    //
+
+}
+
+// Or a Groups DN:
+if ($user->addGroup('cn=Accounting,ou=Groups,dc=acme,dc=org')) {
+
+    //
+
+}
+```
+
+> **Note**: You do not need to call the `save()` method for adding / removing groups.
+> This is done automatically so you can perform clean `if` statements on the method.
+
+## Removing a Group
+
+To remove the model from a specific group, call the `removeGroup()` method:
+
+```php
+$group = $user->getGroups()->first();
+
+// You can either provide a Group model:
+if ($user->removeGroup($group)) {
+
+    //
+
+}
+
+// Or the groups DN:
+if ($user->removeGroup('cn=Accounting,ou=Office Groups,dc=acme,dc=org')) {
+
+    //
+
+}
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/user.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/user.md
new file mode 100644
index 0000000..65576e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/models/user.md
@@ -0,0 +1,180 @@
+# The User Model
+
+> **Note**: This model contains the trait `HasMemberOf`. For more information, visit the documentation:
+> [HasMemberOfTrait](/models/traits/has-member-of.md)
+
+## Creating
+
+> **Note**: If you need to create users with passwords, SSL or TLS **must** be enabled on your configured connection.
+> 
+> The password you enter for the user **must** also obey your LDAP servers password requirements,
+> otherwise you will receive a "Server is unwilling to perform" LDAP exception upon saving.
+
+```php
+// Construct a new User model instance.
+$user = $provider->make()->user();
+
+// Create the users distinguished name.
+// We're adding an OU onto the users base DN to have it be saved in the specified OU.
+$dn = $user->getDnBuilder()->addOu('Users'); // Built DN will be: "CN=John Doe,OU=Users,DC=acme,DC=org";
+
+// Set the users DN, account name.
+$user->setDn($dn);
+$user->setAccountName('jdoe');
+$user->setCommonName('John Doe');
+
+// Set the users password.
+// NOTE: This password must obey your AD servers password requirements
+// (including password history, length, special characters etc.)
+// otherwise saving will fail and you will receive an
+// "LDAP Server is unwilling to perform" message.
+$user->setPassword('correct-horse-battery-staple');
+
+// Get a new account control object for the user.
+$ac = $user->getUserAccountControlObject();
+
+// Mark the account as enabled (normal).
+$ac->accountIsNormal();
+
+// Set the account control on the user and save it.
+$user->setUserAccountControl($ac);
+
+// Save the user.
+$user->save();
+
+// All done! An enabled user will be created and is ready for use.
+```
+
+## Methods
+
+There's a ton of available methods for the User model. Below is a list for a quick reference.
+
+> **Note**: Don't see a method for an LDAP attribute? Create an issue and let us know!
+
+```php
+// Get the users display name.
+$user->getDisplayName();
+
+// Get the users first email address.
+$user->getEmail();
+
+// Get the users title.
+$user->getTitle();
+
+// Get the users department.
+$user->getDepartment();
+
+// Get the users first name.
+$user->getFirstName();
+
+// Get the users last name.
+$user->getLastName();
+
+// Get the users info.
+$user->getInfo();
+
+// Get the users initials.
+$user->getInitials();
+
+// Get the users country.
+$user->getCountry();
+
+// Get the users street address.
+$user->getStreetAddress();
+
+// Get the users postal code.
+$user->getPostalCode();
+
+// Get the users physical delivery office name.
+$user->getPhysicalDeliveryOfficeName();
+
+// Get the users phone number.
+$user->getTelephoneNumber();
+
+// Get the users locale.
+$user->getLocale();
+
+// Get the users company.
+$user->getCompany();
+
+// Get the users other email addresses.
+$user->getOtherMailbox();
+
+// Get the users home mailbox database location (stored as a distinguished name). 
+$user->getHomeMdb();
+
+// Get the users email nickname.
+$user->getMailNickname();
+
+// Get the users principal name.
+$user->getUserPrincipalName();
+
+// Get the users proxy email addresses.
+$user->getProxyAddresses();
+
+// Get the users failed login attempts.
+$user->getBadPasswordCount();
+
+// Get the users last failed login attempt timestamp.
+$user->getBadPasswordTime();
+
+// Get the users last password change timestamp.
+$user->getPasswordLastSet();
+
+// Get the users last password change timestamp in unix time.
+$user->getPasswordLastSetTimestamp();
+
+// Get the users last password change timestamp in MySQL date format.
+$user->getPasswordLastSetDate();
+
+// Get the users lockout time.
+$user->getLockoutTime();
+
+// Get the users user account control integer.
+$user->getUserAccountControl();
+
+// Get the users roaming profile path.
+$user->getProfilePath();
+
+// Get the users legacy exchange distinguished name.
+$user->getLegacyExchangeDn();
+
+// Get the users account expiry timestamp.
+$user->getAccountExpiry();
+
+// Get the boolean that determines whether to show this user in the global address book.
+$user->getShowInAddressBook();
+
+// Get the users thumbnail photo.
+$user->getThumbnail();
+
+// Get the users thumbnail photo (base64 encoded for HTML <img src=""> tags).
+$user->getThumbnailEncoded();
+
+// Get the users jpeg photo.
+$user->getJpegPhoto();
+
+// Get the users jpeg photo (base64 encoded for HTML <img src=""> tags).
+$user->getJpegPhotoEncoded();
+
+// Get the users manager.
+$user->getManager();
+
+// Get the users employee ID.
+$user->getEmployeeId();
+
+// Get the users employee number.
+$user->getEmployeeNumber();
+
+// Get the users employee type
+$user->getEmployeeType();
+
+// Get the users room number.
+$user->getRoomNumber();
+
+// Get the users department number.
+$user->getDepartmentNumber();
+
+// Get the users personal title.
+$user->getPersonalTitle();
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/readme.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/readme.md
new file mode 100644
index 0000000..00eaab7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/readme.md
@@ -0,0 +1,115 @@
+# Introduction
+
+## What is Adldap2?
+
+Adldap2 is a PHP LDAP package that allows you to:
+
+1. Easily manage multiple LDAP connections at once
+2. Perform authentication
+3. Search your LDAP directory with a fluent and easy to use query builder
+4. Create / Update / Delete LDAP entities with ease
+5. And more
+
+## History of Adldap2
+
+Adldap2 was originally created as a fork of the original LDAP library [adLDAP](https://github.com/adldap/adLDAP) due to bugs, and it being completely abandoned.
+
+Adldap2 contains absolutely no similarities to the original repository, and was built to be as easily accessible as possible, with great documentation, and easily understandable syntax.
+
+Much of the API was constructed with Ruby's ActiveRecord and Laravel's Eloquent in mind, and to be an answer to the question:
+
+> _Why can't we use LDAP like we use a database?_
+
+## Why should you use Adldap2?
+
+Working with LDAP in PHP can be a messy and confusing endeavor, especially when using multiple connections, creating and managing entities, performing moves, resetting passwords, and performing ACL modifications to user accounts.
+
+Wrapper classes for LDAP are usually always created in PHP applications.
+
+Adldap2 allows you to easily manage the above problems without reinventing the wheel for every project.
+
+## Implementations
+
+- [Laravel](https://github.com/Adldap2/Adldap2-Laravel)
+
+## Quick Start
+
+Install the package via `composer`:
+
+```
+composer require adldap2/adldap2
+```
+
+Use Adldap2:
+
+```php
+// Construct new Adldap instance.
+$ad = new \Adldap\Adldap();
+
+// Create a configuration array.
+$config = [  
+  // An array of your LDAP hosts. You can use either
+  // the host name or the IP address of your host.
+  'hosts'    => ['ACME-DC01.corp.acme.org', '192.168.1.1'],
+
+  // The base distinguished name of your domain to perform searches upon.
+  'base_dn'  => 'dc=corp,dc=acme,dc=org',
+
+  // The account to use for querying / modifying LDAP records. This
+  // does not need to be an admin account. This can also
+  // be a full distinguished name of the user account.
+  'username' => 'admin@corp.acme.org',
+  'password' => 'password',
+];
+
+// Add a connection provider to Adldap.
+$ad->addProvider($config);
+
+try {
+    // If a successful connection is made to your server, the provider will be returned.
+    $provider = $ad->connect();
+
+    // Performing a query.
+    $results = $provider->search()->where('cn', '=', 'John Doe')->get();
+
+    // Finding a record.
+    $user = $provider->search()->find('jdoe');
+
+    // Creating a new LDAP entry. You can pass in attributes into the make methods.
+    $user =  $provider->make()->user([
+        'cn'          => 'John Doe',
+        'title'       => 'Accountant',
+        'description' => 'User Account',
+    ]);
+
+    // Setting a model's attribute.
+    $user->cn = 'John Doe';
+
+    // Saving the changes to your LDAP server.
+    if ($user->save()) {
+        // User was saved!
+    }
+} catch (\Adldap\Auth\BindException $e) {
+
+    // There was an issue binding / connecting to the server.
+
+}
+```
+
+## Versioning
+
+Adldap2 is versioned under the [Semantic Versioning](http://semver.org/) guidelines as much as possible.
+
+Releases will be numbered with the following format:
+
+`<major>.<minor>.<patch>`
+
+And constructed with the following guidelines:
+
+* Breaking backward compatibility bumps the major and resets the minor and patch.
+* New additions without breaking backward compatibility bumps the minor and resets the patch.
+* Bug fixes and misc changes bumps the patch.
+
+Minor versions are not maintained individually, and you're encouraged to upgrade through to the next minor version.
+
+Major versions are maintained individually through separate branches.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/searching.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/searching.md
new file mode 100644
index 0000000..2837767
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/searching.md
@@ -0,0 +1,662 @@
+# Searching
+
+## Introduction
+
+Using the Adldap2 query builder makes building LDAP queries feel effortless.
+
+It allows you to generate LDAP filters using a fluent and
+convenient interface, similar to Eloquent in Laravel.
+
+> **Note:** The Adldap2 query builder escapes all fields & values
+> given to its `where()` methods. There is no need to clean or
+> escape strings before passing them into the query builder.
+
+## Creating a new Query
+
+To create a new search query, call the `search()` method on your connection provider instance:
+
+```php
+$search = $provider->search();
+```
+
+Or you can chain all your methods if you'd prefer:
+
+```php
+$results = $provider->search()->where('cn', '=', 'John Doe')->get();
+```
+
+## Selects
+
+> **Note:** Fields are case in-sensitive. For example, you can
+> insert `CN`, `cn` or `cN`, they will return the same result.
+
+#### Selecting attributes
+
+Selecting only the LDAP attributes you need will increase the speed of your queries.
+
+```php
+// Passing in an array of attributes
+$search->select(['cn', 'samaccountname', 'telephone', 'mail']);
+
+// Passing in each attribute as an argument
+$search->select('cn', 'samaccountname', 'telephone', 'mail');
+```
+
+## Executing Searches
+
+#### Finding a specific record
+
+If you're trying to find a single record, but not sure what the record might be, use the `find()` method:
+
+```php
+$record = $search->find('John Doe');
+
+if ($record) {
+    // Record was found!    
+} else {
+    // Hmm, looks like we couldn't find anything...
+}
+```
+
+> **Note**: Using the `find()` method will search for LDAP records using ANR
+> (ambiguous name resolution) and return the first result.
+>
+> Since ActiveDirectory is the only LDAP distribution that supports ANR,
+> an equivalent query will be created for other LDAP distributions
+> that are not compatible.
+>
+> For a more fine-tuned search, use the `findBy()` method below.
+
+##### Finding a record (or failing)
+
+If you'd like to try and find a single record and throw an exception when it hasn't been
+found, use the `findOrFail()` method:
+
+```php
+try {
+
+    $record = $search->findOrFail('John Doe');
+
+} catch (Adldap\Models\ModelNotFoundException $e) {
+    // Record wasn't found!
+}
+```
+
+#### Finding a record by a specific attribute
+
+If you're looking for a single record with a specific attribute, use the `findBy()` method:
+
+```php
+// We're looking for a record with the 'samaccountname' of 'jdoe'.
+$record = $search->findBy('samaccountname', 'jdoe');
+```
+
+##### Finding a record by a specific attribute (or failing)
+
+If you'd like to try and find a single record by a specific attribute and throw
+an exception when it cannot be found, use the `findByOrFail()` method:
+
+```php
+try {
+
+    $record = $search->findByOrFail('samaccountname', 'jdoe');
+
+} catch (Adldap\Models\ModelNotFoundException $e) {
+    // Record wasn't found!
+}
+```
+
+#### Finding a record by its distinguished name
+
+If you're looking for a single record with a specific DN, use the `findByDn()` method:
+
+```php
+$record = $search->findByDn('cn=John Doe,dc=corp,dc=org');
+```
+
+###### Finding a record by its distinguished name (or failing)
+
+If you'd like to try and find a single record by a specific DN and throw
+an exception when it hasn't been found, use the `findByDnOrFail()` method:
+
+```php
+try {
+
+    $record = $search->findByDnOrFail('cn=John Doe,dc=corp,dc=org');
+
+} catch (Adldap\Models\ModelNotFoundException $e) {
+    // Record wasn't found!
+}
+```
+
+#### Retrieving results
+
+To get the results from a search, simply call the `get()` method:
+
+```php
+$results = $search->select(['cn', 'samaccountname'])->get();
+```
+
+> **Note**: Executed searches via the `get()` method will return them inside an
+> `Illuminate\Support\Collection` instance (a glorified array), with allows
+> you to utilize [some extremely handy methods](https://laravel.com/docs/collections).
+>
+> Executed searches via the `first()` method will return **a model instance only**.
+
+##### Retrieving the first record
+
+To retrieve the first record of a search, call the `first()` method:
+
+```php
+$record = $search->first();
+```
+
+> **Note**: If you are using `sortBy()`, calling `first()` will not take this into account. Sorts
+> are performed **after** retrieving query results. If you would like the first record of
+> a sorted result set, call `first()` on a `Collection` of returned models.
+
+###### Retrieving the first record (or failing)
+
+To retrieve the first record of a search or throw an exception when one isn't found, call the `firstOrFail()` method:
+
+```php
+try {
+
+    $record = $search->firstOrFail();
+
+} catch (Adldap\Models\ModelNotFoundException $e) {
+    // Record wasn't found!
+}
+```
+
+## Limit
+
+To limit the results records returned from your LDAP server and increase the
+speed of your queries, you can use the `limit()` method:
+
+```php
+// This will only return 5 records that contain the name of 'John':
+$records = $search->where('cn', 'contains', 'John')->limit(5)->get();
+```
+
+## Wheres
+
+To perform a where clause on the search object, use the `where()` function:
+
+```php
+$search->where('cn', '=', 'John Doe');
+```
+
+This query would look for a record with the common name of 'John Doe' and return the results.
+
+We can also perform a 'where equals' without including the operator:
+
+```php
+$search->whereEquals('cn', 'John Doe');
+```
+
+We can also supply an array of key - value pairs to quickly add multiple wheres:
+
+```php
+$wheres = [
+    'cn' => 'John Doe',
+    'samaccountname' => 'jdoe',
+];
+
+$search->where($wheres);
+```
+
+Or, if you require conditionals, you can quickly add multiple wheres with nested arrays:
+
+```php
+$search->where([
+   ['cn', '=', 'John Doe'],
+   ['manager', '!', 'Suzy Doe'],
+]);
+```
+
+#### Where Starts With
+
+We could also perform a search for all objects beginning with the common name of 'John' using the `starts_with` operator:
+
+```php
+$results = $provider->search()->where('cn', 'starts_with', 'John')->get();
+
+// Or use the method whereStartsWith($attribute, $value):
+
+$results = $provider->search()->whereStartsWith('cn', 'John')->get();
+```
+
+#### Where Ends With
+
+We can also search for all objects that end with the common name of `Doe` using the `ends_with` operator:
+
+```php
+$results = $provider->search()->where('cn', 'ends_with', 'Doe')->get();
+
+// Or use the method whereEndsWith($attribute, $value):
+
+$results = $provider->search()->whereEndsWith('cn', 'Doe')->get();
+```
+
+#### Where Between
+
+To search for records between two values, use the `whereBetween` method.
+
+For the example below, we'll retrieve all users who were created between two dates:
+
+```php
+$from = (new DateTime('October 1st 2016'))->format('YmdHis.0\Z');
+$to = (new DateTime('January 1st 2017'))->format('YmdHis.0\Z');
+
+$users = $provider->search()
+    ->users()
+    ->whereBetween('whencreated', [$from, $to])
+    ->get();
+```
+
+#### Where Contains
+
+We can also search for all objects with a common name that contains `John Doe` using the `contains` operator:
+
+```php
+$results = $provider->search()->where('cn', 'contains', 'John Doe')->get();
+
+// Or use the method whereContains($attribute, $value):
+
+$results = $provider->search()->whereContains('cn', 'John Doe')->get();
+```
+
+##### Where Not Contains
+
+You can use a 'where not contains' to perform the inverse of a 'where contains':
+
+```php
+$results = $provider->search()->where('cn', 'not_contains', 'John Doe')->get();
+
+// Or use the method whereNotContains($attribute, $value):
+
+$results = $provider->search()->whereNotContains('cn', 'John Doe');
+```
+
+#### Where Has
+
+Or we can retrieve all objects that have a common name attribute using the wildcard operator (`*`):
+
+```php
+$results = $provider->search()->where('cn', '*')->get();
+
+// Or use the method whereHas($field):
+
+$results = $provider->search()->whereHas('cn')->get();
+```
+
+This type of filter syntax allows you to clearly see what your searching for.
+
+##### Where Not Has
+
+You can use a 'where not has' to perform the inverse of a 'where has':
+
+```php
+$results = $provider->search->where('cn', '!*')->get();
+
+// Or use the method whereNotHas($field):
+
+$results = $provider->search()->whereNotHas($field)->get();
+```
+
+## Or Wheres
+
+To perform an `or where` clause on the search object, use the `orWhere()` method. However,
+please be aware this function performs differently than it would on a database.
+
+For example:
+
+```php
+$results = $search
+            ->where('cn', '=', 'John Doe')
+            ->orWhere('cn', '=', 'Suzy Doe')
+            ->get();
+```
+
+This query would return no results. Since we're already defining that the common name (`cn`) must equal `John Doe`, applying
+the `orWhere()` does not amount to 'Look for an object with the common name as "John Doe" OR "Suzy Doe"'. This query would
+actually amount to 'Look for an object with the common name that <b>equals</b> "John Doe" OR "Suzy Doe"
+
+To solve the above problem, we would use `orWhere()` for both fields. For example:
+
+```php
+$results = $search
+        ->orWhere('cn', '=', 'John Doe')
+        ->orWhere('cn', '=', 'Suzy Doe')
+        ->get();
+```
+
+Now, we'll retrieve both John and Suzy's LDAP records, because the common name can equal either.
+
+> **Note**: You can also use all `where` methods as an or where, for example:
+> `orWhereHas()`, `orWhereContains()`, `orWhereStartsWith()`, `orWhereEndsWith()`
+
+## Dynamic Wheres
+
+To perform a dynamic where, simply suffix a `where` with the field you're looking for.
+
+This feature was directly ported from Laravel's Eloquent.
+
+Here's an example:
+
+```php
+// This query:
+$result = $search->where('cn', '=', 'John Doe')->first();
+
+// Can be converted to:
+$result = $search->whereCn('John Doe')->first();
+```
+
+You can perform this on **any** attribute:
+
+```php
+$result = $search->whereTelephonenumber('555-555-5555')->first();
+```
+
+You can also chain them:
+
+```php
+$result = $search
+    ->whereTelephonenumber('555-555-5555')
+    ->whereGivenname('John Doe')
+    ->whereSn('Doe')
+    ->first();
+```
+
+You can even perform multiple dynamic wheres by separating your fields by an `And`:
+
+```php
+// This would perform a search for a user with the
+// first name of 'John' and last name of 'Doe'.
+$result = $search->whereGivennameAndSn('John', 'Doe')->first();
+```
+
+## Nested Filters
+
+By default, the Adldap2 query builder automatically wraps your queries in `and` / `or` filters for you.
+However, if any further complexity is required, nested filters allow you
+to construct any query fluently and easily.
+
+#### andFilter
+
+The `andFilter` method accepts a closure which allows you to construct a query inside of an `and` LDAP filter:
+
+```php
+$query = $provider->search()->newQuery();
+
+// Creates the filter: (&(givenname=John)(sn=Doe))
+$results = $query->andFilter(function (Adldap\Query\Builder $q) {
+
+    $q->where('givenname', '=', 'John')
+      ->where('sn', '=', 'Doe');
+
+})->get();
+```
+
+The above query would return records that contain the first name `John` **and** the last name `Doe`.
+
+#### orFilter
+
+The `orFilter` method accepts a closure which allows you to construct a query inside of an `or` LDAP filter:
+
+```php
+$query = $provider->search()->newQuery();
+
+
+// Creates the filter: (|(givenname=John)(sn=Doe))
+$results = $query->orFilter(function (Adldap\Query\Builder $q) {
+
+    $q->where('givenname', '=', 'John')
+      ->where('sn', '=', 'Doe');
+
+})->get();
+```
+
+The above query would return records that contain the first name `John` **or** the last name `Doe`.
+
+#### notFilter
+
+The `notFilter` method accepts a closure which allows you to construct a query inside a `not` LDAP filter:
+
+```php
+$query = $provider->search()->newQuery();
+
+// Creates the filter: (!(givenname=John)(sn=Doe))
+$results = $query->notFilter(function (Adldap\Query\Builder $q) {
+
+    $q->where('givenname', '=', 'John')
+      ->where('sn', '=', 'Doe');
+
+})->get();
+```
+
+The above query would return records that **do not** contain the first name `John` **or** the last name `Doe`.
+
+#### Complex Nesting
+
+The above methods `andFilter` / `orFilter` can be chained together and nested
+as many times as you'd like for larger complex queries:
+
+```php
+$query = $provider->search()->newQuery();
+
+$query = $query->orFilter(function (Adldap\Query\Builder $q) {
+    $q->where('givenname', '=', 'John')->where('sn', '=', 'Doe');
+})->andFilter(function (Adldap\Query\Builder $q) {
+    $q->where('department', '=', 'Accounting')->where('title', '=', 'Manager');
+})->getUnescapedQuery();
+
+echo $query; // Returns '(&(|(givenname=John)(sn=Doe))(&(department=Accounting)(title=Manager)))'
+```
+
+## Raw Filters
+
+> **Note**: Raw filters are not escaped. **Do not** accept user input into the raw filter method.
+
+Sometimes you might just want to add a raw filter without using the query builder.
+You can do so by using the `rawFilter()` method:
+
+```php
+$filter = '(samaccountname=jdoe)';
+
+$results = $search->rawFilter($filter)->get();
+
+// Or use an array
+$filters = [
+    '(samaccountname=jdoe)',
+    '(surname=Doe)',
+];
+
+$results = $search->rawFilter($filters)->get();
+
+// Or use multiple arguments
+$results = $search->rawFilter($filters[0], $filters[1])->get();
+
+// Multiple raw filters will be automatically wrapped into an `and` filter:
+$query = $search->getUnescapedQuery();
+
+echo $query; // Returns (&(samaccountname=jdoe)(surname=Doe))
+```
+
+## Sorting
+
+Sorting is really useful when your displaying tabular LDAP results. You can
+easily perform sorts on any LDAP attribute by using the `sortBy()` method:
+
+```php
+$results = $search->whereHas('cn')->sortBy('cn', 'asc')->get();
+```
+
+You can also sort paginated results:
+
+```php
+$results = $search->whereHas('cn')->sortBy('cn', 'asc')->paginate(25);
+```
+
+> **Note**: Sorting occurs *after* results are returned. This is due
+> to PHP not having the functionality of sorting records on
+> the server side before they are returned.
+
+## Paginating
+
+Paginating your search results will allow you to return more results than
+your LDAP cap (usually 1000) and display your results in pages.
+
+> **Note**: Calling `paginate()` will retrieve **all** records from your LDAP server for the current query.
+>
+> This **does not** operate the same way pagination occurs in a database. Pagination of
+> an LDAP query simply allows you to return a larger result set than your
+> LDAP servers configured maximum (usually 1000).
+>
+> The pagination object is simply a collection that allows you to iterate
+> through all the resulting records easily and intuitively.
+
+To perform this, call the `paginate()` method instead of the `get()` method:
+
+```php
+$recordsPerPage = 50;
+
+$currentPage = $_GET['page'];
+
+// This would retrieve all records from your LDAP server inside a new Adldap\Objects\Paginator instance.
+$paginator = $search->paginate($recordsPerPage, $currentPage);
+
+// Returns total number of pages, int
+$paginator->getPages();
+
+// Returns current page number, int
+$paginator->getCurrentPage();
+
+// Returns the amount of entries allowed per page, int
+$paginator->getPerPage();
+
+// Returns all of the results in the entire paginated result
+$paginator->getResults();
+
+// Returns the total amount of retrieved entries, int
+$paginator->count();
+
+// Iterate over the results like normal
+foreach($paginator as $result)
+{
+    echo $result->getCommonName();
+}
+```
+
+## Scopes
+
+Search scopes allow you to easily retrieve common models of a particular 'scope'.
+
+Each scope simply applies the required filters to the search object
+that (when executed) will only return the relevant models.
+
+Here is a list of all available scopes:
+
+```php
+// Retrieve all users (Adldap\Models\User).
+$results = $search->users()->get();
+
+// Retrieve all printers (Adldap\Models\Printer).
+$results = $search->printers()->get();
+
+// Retrieve all organizational units (Adldap\Models\OrganizationalUnit).
+$results = $search->ous()->get();
+
+// Retrieve all organizational units (Adldap\Models\OrganizationalUnit).
+$results = $search->organizations()->get();
+
+// Retrieve all groups (Adldap\Models\Group).
+$results = $search->groups()->get();
+
+// Retrieve all containers (Adldap\Models\Container).
+$results = $search->containers()->get();
+
+// Retrieve all contacts (Adldap\Models\Contact).
+$results = $search->contacts()->get();
+
+// Retrieve all computers (Adldap\Models\Computer).
+$results = $search->computers()->get();
+```
+
+## Base DN
+
+To set the base DN of your search you can use one of two methods:
+
+```php
+// Using the `in()` method:
+$results = $provider->search()->in('ou=Accounting,dc=acme,dc=org')->get();
+
+// Using the `setDn()` method:
+$results = $provider->search()->setDn('ou=Accounting,dc=acme,dc=org')->get();
+
+// You can also include `in()` with the scope
+$results = $provider->search()->organizations()->in('ou=Accounting,dc=acme,dc=org')->get()
+
+```
+
+Either option will return the same results. Use which ever method you prefer to be more readable.
+
+## Search Options
+
+#### Recursive
+
+By default, all searches performed are recursive.
+
+If you'd like to disable recursive search and perform a single level search, use the `listing()` method:
+
+```php
+$result = $provider->search()->listing()->get();
+```
+
+This would perform an `ldap_listing()` instead of an `ldap_search()`.
+
+#### Read
+
+If you'd like to perform a read instead of a listing or a recursive search, use the `read()` method:
+
+```php
+$result = $provider->search()->read()->where('objectClass', '*')->get();
+```
+
+This would perform an `ldap_read()` instead of an `ldap_listing()` or an `ldap_search()`.
+
+> **Note**: Performing a `read()` will always return *one* record in your result.
+
+#### Raw
+
+If you'd like to retrieve the raw LDAP results, use the `raw()` method:
+
+```php
+$rawResults = $provider->search()->raw()->where('cn', '=', 'John Doe')->get();
+
+var_dump($rawResults); // Returns an array
+```
+
+## Retrieving the ran query
+
+If you'd like to retrieve the current query to save or run it at another
+time, use the `getQuery()` method on the query builder.
+
+This will return the escaped filter.
+
+```php
+$query = $provider->search()->where('cn', '=', 'John Doe')->getQuery();
+
+echo $query; // Returns '(cn=\4a\6f\68\6e\20\44\6f\65)'
+```
+
+To retrieve the unescaped filter, call the `getUnescapedQuery()` method:
+
+```php
+$query = $provider->search()->where('cn', '=', 'John Doe')->getUnescapedQuery();
+
+echo $query; // Returns '(cn=John Doe)'
+```
+
+Now that you know how to search your directory, lets move onto [creating / modifying LDAP records](models/model.md).
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/setup.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/setup.md
new file mode 100644
index 0000000..312165c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/setup.md
@@ -0,0 +1,552 @@
+# Setup
+
+## Configuration
+
+To configure your LDAP connections, you can use two methods:
+
+1. Using an array
+2. Using a `Adldap\Configuration\DomainConfiguration` object
+
+Either or will produce the same results. Use whichever you feel most comfortable with.
+
+### Using an array
+
+```php
+$config = [
+    'hosts' => [
+        'DC-01.corp.acme.org',
+    ],
+    '...'
+];
+```
+
+### Using a `DomainConfiguration` object
+
+```php
+// Setting options via first argument:
+$config = new Adldap\Configuration\DomainConfiguration([
+    'hosts' => [
+        'DC-01.corp.acme.org',
+    ],
+]);
+
+// Setting via the `set()` method:
+$config->set('hosts', [
+    'DC-01.corp.acme.org',
+]);
+```
+
+### Options
+
+#### Array Example With All Options
+
+```php
+// Create the configuration array.
+$config = [
+    // Mandatory Configuration Options
+    'hosts'            => ['corp-dc1.corp.acme.org', 'corp-dc2.corp.acme.org'],
+    'base_dn'          => 'dc=corp,dc=acme,dc=org',
+    'username'         => 'admin',
+    'password'         => 'password',
+
+    // Optional Configuration Options
+    'schema'           => Adldap\Schemas\ActiveDirectory::class,
+    'account_prefix'   => 'ACME-',
+    'account_suffix'   => '@acme.org',
+    'port'             => 389,
+    'follow_referrals' => false,
+    'use_ssl'          => false,
+    'use_tls'          => false,
+    'version'          => 3,
+    'timeout'          => 5,
+
+    // Custom LDAP Options
+    'custom_options'   => [
+        // See: http://php.net/ldap_set_option
+        LDAP_OPT_X_TLS_REQUIRE_CERT => LDAP_OPT_X_TLS_HARD
+    ]
+];
+```
+
+#### Required Options
+
+##### Hosts
+
+The hosts option is an array of IP addresses or hostnames located
+on your network that serve Active Directory.
+
+You insert as many servers or as little as you'd like depending on your forest (with the minimum of one of course).
+
+> **Note:** Do not append your port to your IP addresses or hostnames. Use the `port` configuration option instead.
+
+##### Base Distinguished Name
+
+The base distinguished name is the base distinguished name you'd like to perform operations on.
+
+An example base DN would be `DC=corp,DC=acme,DC=org`.
+
+If one is not defined, you will not retrieve any search results.
+
+> **Note**: Your base DN is **case insensitive**. You do not need to worry about incorrect casing.
+
+##### Username & Password
+
+To connect to your LDAP server, a username and password is required to be able to query and run operations on your server(s).
+
+You can use any account that has these permissions.
+
+> **Note**: To run administration level operations, such as resetting passwords,
+> this account **must** have permissions to do so on your directory.
+
+#### Optional Options
+
+##### Schema
+
+The schema option allows you to configure which directory you're connecting to.
+
+This is a somewhat optional, however this **must** be changed if you're connecting
+to an alternate LDAP variant such as OpenLDAP or FreeIPA.
+
+Below are available schemas:
+
+- `Adldap\Schemas\ActiveDirectory`
+- `Adldap\Schemas\OpenLDAP`
+- `Adldap\Schemas\FreeIPA`
+
+By default, this option is set to the `Adldap\Schemas\ActiveDirectory` schema.
+
+##### Account Prefix
+
+The account prefix option is a string to *prepend* to all usernames that go through the `Guard::attempt()` method.
+
+This option is just for convenience.
+
+It is usually not needed (if utilizing the account suffix), however the functionality is
+in place if you would like to only allow certain users with the specified prefix
+to login, or add a domain so your users do not have to specify one.
+
+##### Account Suffix
+
+The account suffix option is a string to *append* to all usernames that go
+through the `Adldap\Auth\Guard::attempt()` method.
+
+This option is just for convenience.
+
+An example use case for this would be inserting your LDAP users `userPrincipalName` suffix so you don't need to append it manually.
+
+For example, with a `account_suffix` in your configuration set to `@corp.acme.org`:
+
+```php
+$username = 'jdoe';
+$password = 'password';
+
+// Here, an `ldap_bind()` will be called with a username of 'jdoe@corp.acme.org`
+$provider->auth()->attempt($username, $password);
+```
+
+##### Port
+
+The port option is used for authenticating and binding to your LDAP server.
+
+The default ports are already used for non SSL and SSL connections (389 and 636).
+
+Only insert a port if your LDAP server uses a unique port.
+
+##### Follow Referrals
+
+The follow referrals option is a boolean to tell active directory to follow a referral to another server on your network if the server queried knows the information your asking for exists, but does not yet contain a copy of it locally.
+
+This option is defaulted to false.
+
+Disable this option if you're experiencing search / connectivity issues.
+
+For more information, visit: https://technet.microsoft.com/en-us/library/cc978014.aspx
+
+##### SSL & TLS
+
+These Boolean options enable an SSL or TLS connection to your LDAP server.
+
+Only **one** can be set to `true`. You must chose either or.
+
+> **Note**: You **must** enable SSL or TLS to reset passwords in ActiveDirectory.
+
+These options are definitely recommended if you have the ability to connect to your server securely.
+
+> **Note**: TLS is recommended over SSL, as SSL is now labelled as a depreciated mechanism for securely running LDAP operations.
+
+##### Version
+
+The LDAP version to use for your connection.
+
+Must be an integer and can either be `2` or `3`.
+
+##### Timeout
+
+The timeout option allows you to configure the amount of seconds to wait until
+your application receives a response from your LDAP server.
+
+The default is 5 seconds.
+
+##### Custom Options
+
+Arbitrary options can be set for the connection to fine-tune TLS and connection behavior.
+
+Please note that `LDAP_OPT_PROTOCOL_VERSION`, `LDAP_OPT_NETWORK_TIMEOUT` and `LDAP_OPT_REFERRALS` will be ignored if set.
+
+These are set above with the `version`, `timeout` and `follow_referrals` keys respectively.
+
+Valid options are listed in the [PHP documentation for ldap_set_option](http://php.net/ldap_set_option).
+
+## Getting Started
+
+Each LDAP connection you have will be contained inside the `Adldap` instance as its own **connection provider**.
+
+There are a couple of ways you can easily add each of your LDAP connections. Let's walk through them:
+
+**Using a configuration array:**
+```php
+$config = ['...'];
+
+$ad = new Adldap\Adldap();
+
+$ad->addProvider($config);
+
+// You can also specify the name of the
+// connection as the second argument:
+$ad->addProvider($config, 'connection-one');
+```
+
+**Using a DomainConfiguration object:**
+```php
+$ad = new Adldap\Adldap();
+
+$config = new Adldap\Configuration\DomainConfiguration(['...']);
+
+$ad->addProvider($config, 'connection-one');
+```
+
+**Using the constructor:**
+
+> **Note**: When inserting your configuration into a new `Adldap` instance, you
+> need to set a key for each connection. **This will be its connection name**.
+
+```php
+$connections = [
+    'connection1' => [
+        'hosts' => ['...'],
+    ],
+    'connection2' => [
+        'hosts' => ['...'],
+    ],
+];
+
+$ad = new Adldap\Adldap($connections);
+```
+
+## Connecting
+
+The easiest way to get connected is to call the `connect($name)` method on your `Adldap` instance.
+
+Its first argument accepts the name of your configured connection.
+
+This method will return you a connected **connection provider** when
+successful, and throw an exception when unsuccessful:
+
+```php
+$ad = new Adldap\Adldap();
+
+$config = ['...'];
+
+$connectionName = 'my-connection';
+
+$ad->addProvider($config, $connectionName);
+
+try {
+    $provider = $ad->connect($connectionName);
+
+    // Great, we're connected!
+} catch (Adldap\Auth\BindException $e) {
+    // Failed to connect.
+}
+```
+
+### Using an alternate username / password
+
+If you'd like to connect to your configured connection using a different username and password than your configuration, then simply provide them in the second and third arguments:
+
+```php
+$username = 'server-admin';
+$password = 'my-super-secret-password';
+
+$provider = $ad->connect($connectionName, $username, $password);
+```
+
+### Dynamically Connecting
+
+If you're like me and like chainable (fluent) API's in PHP, then dynamically connecting is a nice option to have.
+
+To dynamically connect, simply call any connection provider method on your `Adldap` instance.
+
+> **Note**: Your default connection will be used when dynamically connecting.
+> More on this below.
+
+Here's an example:
+
+```php
+$ad = new Adldap\Adldap();
+
+$ad->addProvider($config = ['...']);
+
+try {
+    $users = $ad->search()->users()->get();
+} catch (Adldap\Auth\BindException $e) {
+    // Failed to connect.
+}
+```
+
+### Anonymously Binding
+
+If you'd like to anonymously bind, set your `username` and `password` configuration to `null`:
+
+```php
+$ad = new Adldap\Adldap();
+
+$config = [
+    'username' => null,
+    'password' => null,
+];
+
+$ad->addProvider($config);
+
+try {
+    $provider = $ad->connect();
+
+    // ...
+} catch (BindException $e) {
+    // Failed.
+}
+```
+
+Or, manually bind your provider and don't pass in a `username` or `password` parameter:
+
+```php
+$config = [
+    'hosts' => ['...'],
+];
+
+$ad->addProvider($config);
+
+$provider = $ad->getDefaultProvider();
+
+try {
+    $provider->auth()->bind();
+
+    // Successfully bound.
+} catch (BindException $e) {
+    // Failed.
+}
+```
+
+### Setting a Default Connection
+
+Setting a default LDAP connection is used for dynamically connecting.
+
+To set your default connection, call the `setDefaultProvider($name)` method:
+
+```php
+$ad->setDefaultProvider('my-connection');
+
+$computers = $ad->search()->computers()->get();
+```
+
+## Authenticating
+
+If you're looking to authenticate (bind) users using your LDAP connection, call
+the `auth()->attempt()` method on your provider instance:
+
+```php
+$username = 'jdoe';
+$password = 'Password@1';
+
+try {
+    if ($provider->auth()->attempt($username, $password)) {
+        // Passed.
+    } else {
+        // Failed.
+    }
+} catch (Adldap\Auth\UsernameRequiredException $e) {
+    // The user didn't supply a username.
+} catch (Adldap\Auth\PasswordRequiredException $e) {
+    // The user didn't supply a password.
+}
+```
+
+If you'd like all LDAP operations during the same request to be ran under the
+authenticated user, pass in `true` into the last paramter:
+
+```php
+if ($provider->auth()->attempt($username, $password, $bindAsUser = true)) {
+    // Passed.
+} else {
+    // Failed.
+}
+```
+
+---
+
+Now that you've learned the basics of configuration and
+getting yourself connected, continue on to learn
+[how to search your LDAP directory](searching.md).
+
+## Using Other LDAP Servers (OpenLDAP / FreeIPA / etc.)
+
+Alternate LDAP server variants such as OpenLDAP or FreeIPA contain
+some different attribute names than ActiveDirectory.
+
+The Adldap2 schema offers an attribute map for each available LDAP attribute, and
+is completely configurable and customizable.
+
+If you're using an alternate LDAP server variant such as OpenLDAP or FreeIPA, you **must** change the default schema inside your configuration array. If you do not, you won't receive the correct model instances for results, and you won't be
+able to utilize some standard methods available on these models.
+
+By default, Adldap2 is configured to be used with **Microsoft ActiveDirectory**.
+
+When creating your configuration array, set your schema using the `schema` key:
+
+
+**Using configuration array:**
+```php
+$ad = new Adldap\Adldap();
+
+$config = [
+    '...',
+    'schema' => Adldap\Schemas\OpenLDAP::class
+];
+
+$ad->addProvider($config);
+```
+
+**Using configuration object:**
+```php
+$ad = new Adldap\Adldap();
+
+$config = new Adldap\Configuration\DomainConfiguration();
+
+$config->set('schema', Adldap\Schemas\OpenLDAP::class);
+
+$ad->addProvider($config);
+```
+
+Once you've set the schema of your connection provider, you can use the same API interacting with different LDAP servers.
+
+Continue onto the [searching](searching.md) documentation to learn how to begin querying your LDAP server(s).
+
+## Using G-Suite Secure LDAP Service
+
+G-Suite LDAP service only uses client certificates and no username + password, make sure yo match base_dn with your domian.
+
+```php
+$ad = new \Adldap\Adldap();
+
+// Create a configuration array.
+$config = [  
+    'hosts'    => ['ldap.google.com'],
+    'base_dn'  => 'dc=your-domain,dc=com',
+    'use_tls' => true,
+    'version' => 3,
+    'schema' => Adldap\Schemas\GSuite::class,
+    'custom_options' => [
+        LDAP_OPT_X_TLS_CERTFILE => 'Google_2023_02_05_35779.crt',
+        LDAP_OPT_X_TLS_KEYFILE => 'Google_2023_02_05_35779.key', 
+    ]
+];
+
+$ad->addProvider($config);
+
+try {
+    $provider = $ad->connect();
+    
+    $results = $provider->search()->ous()->get();
+    
+    echo 'OUs:'."\r\n";
+    echo '==============='."\r\n";
+    foreach($results as $ou) {
+        echo $ou->getDn()."\r\n";
+    }
+    
+    echo "\r\n";
+    
+    $results = $provider->search()->users()->get();
+    
+    echo 'Users:'."\r\n";
+    echo '==============='."\r\n";
+    foreach($results as $user) {
+        
+        echo $user->getAccountName()."\r\n";
+    }
+    
+    echo "\r\n";
+    
+    $results = $provider->search()->groups()->get();
+    
+    echo 'Groups:'."\r\n";
+    echo '==============='."\r\n";
+    foreach($results as $group) {
+        echo $group->getCommonName().' | '.$group->getDisplayName()."\r\n";
+    }
+
+} catch (\Adldap\Auth\BindException $e) {
+
+    echo 'Error: '.$e->getMessage()."\r\n";
+}
+```
+
+## Raw Operations
+
+### Introduction
+
+If you want to connect to your LDAP server without utilizing Adldap's models (old fashion way), and want to get back the data in a raw format you can easily do so.
+
+If you call `getConnection()` on your connected provider instance, you can perform all LDAP functions on a container class that encapsulates all of PHP's LDAP methods.
+
+You can view all methods avaialble by browsing the LDAP class [here](https://github.com/Adldap2/Adldap2/blob/master/src/Connections/Ldap.php).
+
+Now for some examples:
+
+### Examples
+
+```php
+$ad = new Adldap\Adldap();
+
+$config = ['...'];
+
+$ad->addProvider($config);
+
+$provider = $ad->connect();
+
+$rawConnection = $provider->getConnection();
+
+// Performing a raw search.
+$result = $rawConnection->search($basedn = 'dc=corp,dc=acme,dc=org', $filter = "cn=johndoe", $selectedAttributes = ['cn', 'department']);
+
+$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
+
+// Adding a new LDAP record.
+$result = $rawConnection->add($dn, $entry);
+
+// Batch modifying an LDAP record.
+$modifs = [
+    [
+        "attrib"  => "telephoneNumber",
+        "modtype" => LDAP_MODIFY_BATCH_ADD,
+        "values"  => ["+1 555 555 1717"],
+    ],
+];
+
+$result = $rawConnection->modifyBatch($dn, $modifs);
+
+// Deleting an LDAP record.
+$result = $rawConnection->delete($dn);
+
+// .. etc
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/troubleshooting.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/troubleshooting.md
new file mode 100644
index 0000000..c1e9f2a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/docs/troubleshooting.md
@@ -0,0 +1,122 @@
+# Troubleshooting
+
+#### Creating and Setting a Users Password
+
+To set a users password when you've created a new one, you need to enable their account, **then** set their password.
+
+For example:
+
+```php
+// Construct a new user instance.
+$user = $provider->make()->user();
+
+// Set the user profile details.
+$user->setAccountName('jdoe');
+$user->setFirstName('John');
+$user->setLastName('Doe');
+$user->setCompany('ACME');
+$user->setEmail('jdoe@acme.com');
+
+// Save the new user.
+if ($user->save()) {
+    // Enable the new user (using user account control).
+    $user->setUserAccountControl(512);
+
+    // Set new user password
+    $user->setPassword('Password123');
+
+    // Save the user.
+    if($user->save()) {
+        // The password was saved successfully.
+    }
+}
+```
+
+#### Determining and Troubleshooting a Binding Failure
+
+> **Note**: The below guide is using ActiveDirectory. Your mileage will vary using other LDAP distributions.
+
+To determine the reason why a bind attempt failed, you can use the event dispatcher to listen for
+the `Failed` event, and retrieve the errors that were returned from your LDAP server:
+
+```php
+use Adldap\Adldap;
+use Adldap\Auth\Events\Failed;
+
+$d = Adldap::getEventDispatcher();
+
+$d->listen(Failed::class, function (Failed $event) {
+    $conn = $event->connection;
+    
+    echo $conn->getLastError(); // 'Invalid credentials'
+    echo $conn->getDiagnosticMessage(); // '80090308: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 532, v3839'
+    
+    if ($error = $conn->getDetailedError()) {
+        $error->getErrorCode(); // 49
+        $error->getErrorMessage(); // 'Invalid credentials'
+        $error->getDiagnosticMessage(); // '80090308: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 532, v3839'
+    }
+});
+```
+
+The above diagnostic message can be parsed down further if needed. The error code after the 'data' string
+in the above message indicates several things about the bind failure. Here is a list:
+
+- 525 - user not found
+- 52e - invalid credentials
+- 530 - not permitted to logon at this time
+- 531 - not permitted to logon at this workstation
+- 532 - password expired
+- 533 - account disabled
+- 701 - account expired
+- 773 - user must reset password
+- 775 - user account locked
+
+From the example above, you can see that the authenticating account has their password expired, due to "532" error code.
+
+#### Retrieving All Records Inside a Group
+
+To retrieve all records inside a particular group (including nested groups), use the `rawFilter()` method:
+
+```php
+// The `memberof:1.2.840.113556.1.4.1941:` string indicates
+// that we want all nested group records as well.
+$filter = '(memberof:1.2.840.113556.1.4.1941:=CN=MyGroup,DC=example,DC=com)';
+
+$users = $provider->search()->rawFilter($filter)->get();
+```
+
+#### I'm connected but not getting any search results!
+
+The first thing you need to ensure is your `base_dn` in your configuration.
+
+Your `base_dn` needs to identical to the base DN on your domain. Even one mistyped character will result in no search results.
+
+If you also include an `ou` in your base DN (ex. `ou=Accounting,dc=corp,dc=acme,dc=org`), you will only receive results inside the `Accounting` OU.
+
+Once you're connected to your LDAP server, retrieve the Root DSE record.
+
+Here's a full example:
+
+```php
+$providers = [
+    'default' => [
+        'base_dn' => '',
+        '...',
+    ]
+];
+
+$ad = new Adldap\Adldap($providers);
+
+try {
+    $provider = $ad->connect();
+    
+    $root = $provider->search()->getRootDse();
+    
+    // ex. Returns 'dc=corp,dc=acme,dc=org'
+    die($root->getRootDomainNamingContext());
+
+} catch (Adldap\Auth\BindException $e) {
+    //
+}
+```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/license.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/license.md
new file mode 100644
index 0000000..c25dc60
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/license.md
@@ -0,0 +1,8 @@
+The MIT License (MIT)
+Copyright © Steve Bauman
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/phpunit.xml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/phpunit.xml
new file mode 100644
index 0000000..4f327fa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/phpunit.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit backupGlobals="false"
+         backupStaticAttributes="false"
+         bootstrap="vendor/autoload.php"
+         colors="true"
+         convertErrorsToExceptions="true"
+         convertNoticesToExceptions="true"
+         convertWarningsToExceptions="true"
+         processIsolation="false"
+         stopOnFailure="false"
+        >
+    <testsuites>
+        <testsuite name="Adldap2 Test Suite">
+            <directory suffix="Test.php">./tests/</directory>
+        </testsuite>
+    </testsuites>
+    <filter>
+        <whitelist processUncoveredFilesFromWhitelist="true">
+            <directory suffix=".php">./src</directory>
+        </whitelist>
+    </filter>
+</phpunit>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/readme.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/readme.md
new file mode 100644
index 0000000..1311332
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/readme.md
@@ -0,0 +1,47 @@
+<p align="center">
+<strong>:wave: Hey there! Looking for something even easier to use for LDAP integration in your PHP applications?</strong>
+</br>
+<h3 align="center">
+ 🎉 Introducing <a href="https://github.com/DirectoryTree/LdapRecord" target="_blank" title="LdapRecord GitHub Repository">LdapRecord</a> 🎉
+</h3>
+</p>
+
+<p align="center">
+    <strong>
+        <a href="https://ldaprecord.com">LdapRecord</a> is the successor to Adldap2 - and comes with a ton of new features.
+    </strong> </br> Adldap2 will continue to be supported with bug fixes, <i>but will not receive new features.</i>
+</p>
+
+<p align="center">
+ <strong>
+ <a href="https://stevebauman.ca/why-ldap-record/">Read Why</a>
+ </strong>
+</p>
+
+<hr/>
+
+<h1 align="center">Adldap2</h1>
+
+<p align="center">
+    <a href="https://travis-ci.org/Adldap2/Adldap2"><img src="https://img.shields.io/travis/Adldap2/Adldap2.svg?style=flat-square"/></a>
+    <a href="https://scrutinizer-ci.com/g/Adldap2/Adldap2/?branch=master"><img src="https://img.shields.io/scrutinizer/g/adLDAP2/adLDAP2/master.svg?style=flat-square"/></a>
+    <a href="https://packagist.org/packages/adldap2/adldap2"><img src="https://img.shields.io/packagist/dt/adldap2/adldap2.svg?style=flat-square"/></a>
+    <a href="https://packagist.org/packages/adldap2/adldap2"><img src="https://img.shields.io/packagist/v/adldap2/adldap2.svg?style=flat-square"/></a>
+    <a href="https://packagist.org/packages/adldap2/adldap2"><img src="https://img.shields.io/packagist/l/adldap2/adldap2.svg?style=flat-square"/></a>
+</p>
+
+<p align="center">
+    Adldap2 is a PHP package that provides LDAP authentication and directory management tools using the <a href="https://en.wikipedia.org/wiki/Active_record_pattern">Active Record pattern</a>.
+</p>
+
+<h4 align="center">
+    <a href="http://adldap2.github.io/Adldap2/#/?id=quick-start">Quickstart</a>
+    <span> · </span>
+    <a href="http://adldap2.github.io/Adldap2/">Documentation</a>
+</h4>
+
+- **Up and running in minutes.** Effortlessly connect to your LDAP servers and start running queries & operations in a matter of minutes.
+
+- **Fluent query builder.** Building LDAP queries has never been so easy. Find the records you're looking for in a couple lines or less with a fluent interface.
+
+- **Supercharged Active Record.** Create and modify LDAP records with ease. All LDAP records are individual models. Simply modify the attributes on the model and save it to persist the changes to your LDAP server.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Adldap.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Adldap.php
new file mode 100644
index 0000000..5e60697
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Adldap.php
@@ -0,0 +1,194 @@
+<?php
+
+namespace Adldap;
+
+use Adldap\Log\EventLogger;
+use Adldap\Connections\Ldap;
+use InvalidArgumentException;
+use Adldap\Log\LogsInformation;
+use Adldap\Connections\Provider;
+use Adldap\Events\DispatchesEvents;
+use Adldap\Connections\ProviderInterface;
+use Adldap\Connections\ConnectionInterface;
+use Adldap\Configuration\DomainConfiguration;
+
+class Adldap implements AdldapInterface
+{
+    use DispatchesEvents;
+    use LogsInformation;
+    /**
+     * The default provider name.
+     *
+     * @var string
+     */
+    protected $default = 'default';
+
+    /**
+     * The connection providers.
+     *
+     * @var array
+     */
+    protected $providers = [];
+
+    /**
+     * The events to register listeners for during initialization.
+     *
+     * @var array
+     */
+    protected $listen = [
+        'Adldap\Auth\Events\*',
+        'Adldap\Query\Events\*',
+        'Adldap\Models\Events\*',
+    ];
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __construct(array $providers = [])
+    {
+        foreach ($providers as $name => $config) {
+            $this->addProvider($config, $name);
+        }
+
+        if ($default = key($providers)) {
+            $this->setDefaultProvider($default);
+        }
+
+        $this->initEventLogger();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function addProvider($config, $name = 'default', ConnectionInterface $connection = null)
+    {
+        if ($this->isValidConfig($config)) {
+            $config = new Provider($config, $connection ?? new Ldap($name));
+        }
+
+        if ($config instanceof ProviderInterface) {
+            $this->providers[$name] = $config;
+
+            return $this;
+        }
+
+        throw new InvalidArgumentException(
+            "You must provide a configuration array or an instance of Adldap\Connections\ProviderInterface."
+        );
+    }
+
+    /**
+     * Determines if the given config is valid.
+     *
+     * @param mixed $config
+     *
+     * @return bool
+     */
+    protected function isValidConfig($config)
+    {
+        return is_array($config) || $config instanceof DomainConfiguration;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getProviders()
+    {
+        return $this->providers;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getProvider($name)
+    {
+        if (array_key_exists($name, $this->providers)) {
+            return $this->providers[$name];
+        }
+
+        throw new AdldapException("The connection provider '$name' does not exist.");
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setDefaultProvider($name = 'default')
+    {
+        if ($this->getProvider($name) instanceof ProviderInterface) {
+            $this->default = $name;
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDefaultProvider()
+    {
+        return $this->getProvider($this->default);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function removeProvider($name)
+    {
+        unset($this->providers[$name]);
+
+        return $this;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function connect($name = null, $username = null, $password = null)
+    {
+        $provider = $name ? $this->getProvider($name) : $this->getDefaultProvider();
+
+        return $provider->connect($username, $password);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __call($method, $parameters)
+    {
+        $provider = $this->getDefaultProvider();
+        
+        if (! $provider->getConnection()->isBound()) {
+            $provider->connect();
+        }
+
+        return call_user_func_array([$provider, $method], $parameters);
+    }
+
+    /**
+     * Initializes the event logger.
+     *
+     * @return void
+     */
+    public function initEventLogger()
+    {
+        $dispatcher = static::getEventDispatcher();
+
+        $logger = $this->newEventLogger();
+
+        // We will go through each of our event wildcards and register their listener.
+        foreach ($this->listen as $event) {
+            $dispatcher->listen($event, function ($eventName, $events) use ($logger) {
+                foreach ($events as $event) {
+                    $logger->log($event);
+                }
+            });
+        }
+    }
+
+    /**
+     * Returns a new event logger instance.
+     *
+     * @return EventLogger
+     */
+    protected function newEventLogger()
+    {
+        return new EventLogger(static::getLogger());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/AdldapException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/AdldapException.php
new file mode 100644
index 0000000..0939cac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/AdldapException.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap;
+
+class AdldapException extends \Exception
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/AdldapInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/AdldapInterface.php
new file mode 100644
index 0000000..9e1818f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/AdldapInterface.php
@@ -0,0 +1,91 @@
+<?php
+
+namespace Adldap;
+
+use Adldap\Connections\ProviderInterface;
+use Adldap\Connections\ConnectionInterface;
+
+interface AdldapInterface
+{
+    /**
+     * Add a provider by the specified name.
+     *
+     * @param mixed               $configuration
+     * @param string              $name
+     * @param ConnectionInterface $connection
+     *
+     * @throws \InvalidArgumentException When an invalid type is given as the configuration argument.
+     *
+     * @return $this
+     */
+    public function addProvider($configuration, $name, ConnectionInterface $connection = null);
+
+    /**
+     * Returns all of the connection providers.
+     *
+     * @return array
+     */
+    public function getProviders();
+
+    /**
+     * Retrieves a Provider using its specified name.
+     *
+     * @param string $name
+     *
+     * @throws AdldapException When the specified provider does not exist.
+     *
+     * @return ProviderInterface
+     */
+    public function getProvider($name);
+
+    /**
+     * Sets the default provider.
+     *
+     * @param string $name
+     *
+     * @throws AdldapException When the specified provider does not exist.
+     */
+    public function setDefaultProvider($name);
+
+    /**
+     * Retrieves the first default provider.
+     *
+     * @throws AdldapException When no default provider exists.
+     *
+     * @return ProviderInterface
+     */
+    public function getDefaultProvider();
+
+    /**
+     * Removes a provider by the specified name.
+     *
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function removeProvider($name);
+
+    /**
+     * Connects to the specified provider.
+     *
+     * If no username and password is given, then the providers
+     * configured admin credentials are used.
+     *
+     * @param string|null $name
+     * @param string|null $username
+     * @param string|null $password
+     *
+     * @return ProviderInterface
+     */
+    public function connect($name = null, $username = null, $password = null);
+
+    /**
+     * Call methods upon the default provider dynamically.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/BindException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/BindException.php
new file mode 100644
index 0000000..aeef08b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/BindException.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace Adldap\Auth;
+
+use Adldap\AdldapException;
+use Adldap\Connections\DetailedError;
+
+/**
+ * Class BindException.
+ *
+ * Thrown when binding to an LDAP connection fails.
+ */
+class BindException extends AdldapException
+{
+    /**
+     * The detailed LDAP error.
+     *
+     * @var DetailedError
+     */
+    protected $detailedError;
+
+    /**
+     * Sets the detailed error.
+     *
+     * @param DetailedError|null $error
+     *
+     * @return $this
+     */
+    public function setDetailedError(DetailedError $error = null)
+    {
+        $this->detailedError = $error;
+
+        return $this;
+    }
+
+    /**
+     * Returns the detailed error.
+     *
+     * @return DetailedError|null
+     */
+    public function getDetailedError()
+    {
+        return $this->detailedError;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Attempting.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Attempting.php
new file mode 100644
index 0000000..06eb839
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Attempting.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Auth\Events;
+
+class Attempting extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Binding.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Binding.php
new file mode 100644
index 0000000..aa52b4b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Binding.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Auth\Events;
+
+class Binding extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Bound.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Bound.php
new file mode 100644
index 0000000..5fc835d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Bound.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Auth\Events;
+
+class Bound extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Event.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Event.php
new file mode 100644
index 0000000..1dca6c7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Event.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace Adldap\Auth\Events;
+
+use Adldap\Connections\ConnectionInterface;
+
+abstract class Event
+{
+    /**
+     * The connection that the username and password is being bound on.
+     *
+     * @var ConnectionInterface
+     */
+    protected $connection;
+
+    /**
+     * The username that is being used for binding.
+     *
+     * @var string
+     */
+    protected $username;
+
+    /**
+     * The password that is being used for binding.
+     *
+     * @var string
+     */
+    protected $password;
+
+    /**
+     * Constructor.
+     *
+     * @param ConnectionInterface $connection
+     * @param string              $username
+     * @param string              $password
+     */
+    public function __construct(ConnectionInterface $connection, $username, $password)
+    {
+        $this->connection = $connection;
+        $this->username = $username;
+        $this->password = $password;
+    }
+
+    /**
+     * Returns the events connection.
+     *
+     * @return ConnectionInterface
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * Returns the authentication events username.
+     *
+     * @return string
+     */
+    public function getUsername()
+    {
+        return $this->username;
+    }
+
+    /**
+     * Returns the authentication events password.
+     *
+     * @return string
+     */
+    public function getPassword()
+    {
+        return $this->password;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Failed.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Failed.php
new file mode 100644
index 0000000..e96746e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Failed.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Auth\Events;
+
+class Failed extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Passed.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Passed.php
new file mode 100644
index 0000000..56ece18
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Events/Passed.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Auth\Events;
+
+class Passed extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Guard.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Guard.php
new file mode 100644
index 0000000..5a0ab4b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/Guard.php
@@ -0,0 +1,259 @@
+<?php
+
+namespace Adldap\Auth;
+
+use Exception;
+use Throwable;
+use Adldap\Auth\Events\Bound;
+use Adldap\Auth\Events\Failed;
+use Adldap\Auth\Events\Passed;
+use Adldap\Auth\Events\Binding;
+use Adldap\Auth\Events\Attempting;
+use Adldap\Events\DispatcherInterface;
+use Adldap\Connections\ConnectionInterface;
+use Adldap\Configuration\DomainConfiguration;
+
+/**
+ * Class Guard.
+ *
+ * Binds users to the current connection.
+ */
+class Guard implements GuardInterface
+{
+    /**
+     * The connection to bind to.
+     *
+     * @var ConnectionInterface
+     */
+    protected $connection;
+
+    /**
+     * The domain configuration to utilize.
+     *
+     * @var DomainConfiguration
+     */
+    protected $configuration;
+
+    /**
+     * The event dispatcher.
+     *
+     * @var DispatcherInterface
+     */
+    protected $events;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __construct(ConnectionInterface $connection, DomainConfiguration $configuration)
+    {
+        $this->connection = $connection;
+        $this->configuration = $configuration;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attempt($username, $password, $bindAsUser = false)
+    {
+        $this->validateCredentials($username, $password);
+
+        $this->fireAttemptingEvent($username, $password);
+
+        try {
+            $this->bind(
+                $this->applyPrefixAndSuffix($username),
+                $password
+            );
+
+            $result = true;
+
+            $this->firePassedEvent($username, $password);
+        } catch (BindException $e) {
+            // We'll catch the BindException here to allow
+            // developers to use a simple if / else
+            // using the attempt method.
+            $result = false;
+        }
+
+        // If we're not allowed to bind as the user,
+        // we'll rebind as administrator.
+        if ($bindAsUser === false) {
+            // We won't catch any BindException here so we can
+            // catch rebind failures. However this shouldn't
+            // occur if our credentials are correct
+            // in the first place.
+            $this->bindAsAdministrator();
+        }
+
+        return $result;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function bind($username = null, $password = null)
+    {
+        $this->fireBindingEvent($username, $password);
+
+        try {
+            if (@$this->connection->bind($username, $password) === true) {
+                $this->fireBoundEvent($username, $password);
+            } else {
+                throw new Exception($this->connection->getLastError(), $this->connection->errNo());
+            }
+        } catch (Throwable $e) {
+            $this->fireFailedEvent($username, $password);
+
+            throw (new BindException($e->getMessage(), $e->getCode(), $e))
+                ->setDetailedError($this->connection->getDetailedError());
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function bindAsAdministrator()
+    {
+        $this->bind(
+            $this->configuration->get('username'),
+            $this->configuration->get('password')
+        );
+    }
+
+    /**
+     * Get the event dispatcher instance.
+     *
+     * @return DispatcherInterface
+     */
+    public function getDispatcher()
+    {
+        return $this->events;
+    }
+
+    /**
+     * Sets the event dispatcher instance.
+     *
+     * @param DispatcherInterface $dispatcher
+     *
+     * @return void
+     */
+    public function setDispatcher(DispatcherInterface $dispatcher)
+    {
+        $this->events = $dispatcher;
+    }
+
+    /**
+     * Applies the prefix and suffix to the given username.
+     *
+     * @param string $username
+     *
+     * @throws \Adldap\Configuration\ConfigurationException If account_suffix or account_prefix do not
+     *                                                      exist in the providers domain configuration
+     *
+     * @return string
+     */
+    protected function applyPrefixAndSuffix($username)
+    {
+        $prefix = $this->configuration->get('account_prefix');
+        $suffix = $this->configuration->get('account_suffix');
+
+        return $prefix.$username.$suffix;
+    }
+
+    /**
+     * Validates the specified username and password from being empty.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @throws PasswordRequiredException When the given password is empty.
+     * @throws UsernameRequiredException When the given username is empty.
+     */
+    protected function validateCredentials($username, $password)
+    {
+        if (empty($username)) {
+            // Check for an empty username.
+            throw new UsernameRequiredException('A username must be specified.');
+        }
+
+        if (empty($password)) {
+            // Check for an empty password.
+            throw new PasswordRequiredException('A password must be specified.');
+        }
+    }
+
+    /**
+     * Fire the attempting event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireAttemptingEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Attempting($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the passed event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function firePassedEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Passed($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the failed event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireFailedEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Failed($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the binding event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireBindingEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Binding($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the bound event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireBoundEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Bound($this->connection, $username, $password));
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/GuardInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/GuardInterface.php
new file mode 100644
index 0000000..e10da37
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/GuardInterface.php
@@ -0,0 +1,55 @@
+<?php
+
+namespace Adldap\Auth;
+
+use Adldap\Connections\ConnectionInterface;
+use Adldap\Configuration\DomainConfiguration;
+
+interface GuardInterface
+{
+    /**
+     * Constructor.
+     *
+     * @param ConnectionInterface $connection
+     * @param DomainConfiguration $configuration
+     */
+    public function __construct(ConnectionInterface $connection, DomainConfiguration $configuration);
+
+    /**
+     * Authenticates a user using the specified credentials.
+     *
+     * @param string $username   The users LDAP username.
+     * @param string $password   The users LDAP password.
+     * @param bool   $bindAsUser Whether or not to bind as the user.
+     *
+     * @throws \Adldap\Auth\BindException             When re-binding to your LDAP server fails.
+     * @throws \Adldap\Auth\UsernameRequiredException When username is empty.
+     * @throws \Adldap\Auth\PasswordRequiredException When password is empty.
+     *
+     * @return bool
+     */
+    public function attempt($username, $password, $bindAsUser = false);
+
+    /**
+     * Binds to the current connection using the inserted credentials.
+     *
+     * @param string|null $username
+     * @param string|null $password
+     *
+     * @throws \Adldap\Auth\BindException              If binding to the LDAP server fails.
+     * @throws \Adldap\Connections\ConnectionException If upgrading the connection to TLS fails
+     *
+     * @return void
+     */
+    public function bind($username = null, $password = null);
+
+    /**
+     * Binds to the current LDAP server using the
+     * configuration administrator credentials.
+     *
+     * @throws \Adldap\Auth\BindException When binding as your administrator account fails.
+     *
+     * @return void
+     */
+    public function bindAsAdministrator();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/PasswordRequiredException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/PasswordRequiredException.php
new file mode 100644
index 0000000..70a76b9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/PasswordRequiredException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Adldap\Auth;
+
+use Adldap\AdldapException;
+
+class PasswordRequiredException extends AdldapException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/UsernameRequiredException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/UsernameRequiredException.php
new file mode 100644
index 0000000..4b48724
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Auth/UsernameRequiredException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Adldap\Auth;
+
+use Adldap\AdldapException;
+
+class UsernameRequiredException extends AdldapException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/ConfigurationException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/ConfigurationException.php
new file mode 100644
index 0000000..af62ce4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/ConfigurationException.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace Adldap\Configuration;
+
+use Adldap\AdldapException;
+
+/**
+ * Class ConfigurationException.
+ *
+ * Thrown when a configuration value does not exist, or a
+ * configuration value being set is not valid.
+ */
+class ConfigurationException extends AdldapException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/DomainConfiguration.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/DomainConfiguration.php
new file mode 100644
index 0000000..f1e4fb6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/DomainConfiguration.php
@@ -0,0 +1,161 @@
+<?php
+
+namespace Adldap\Configuration;
+
+use Adldap\Schemas\ActiveDirectory;
+use Adldap\Connections\ConnectionInterface;
+
+/**
+ * Class DomainConfiguration.
+ *
+ * Contains an array of configuration options for a single LDAP connection.
+ */
+class DomainConfiguration
+{
+    /**
+     * The configuration options array.
+     *
+     * The default values for each key indicate the type of value it requires.
+     *
+     * @var array
+     */
+    protected $options = [
+        // An array of LDAP hosts.
+        'hosts' => [],
+
+        // The global LDAP operation timeout limit in seconds.
+        'timeout' => 5,
+
+        // The LDAP version to utilize.
+        'version' => 3,
+
+        // The port to use for connecting to your hosts.
+        'port' => ConnectionInterface::PORT,
+
+        // The schema to use for your LDAP connection.
+        'schema' => ActiveDirectory::class,
+
+        // The base distinguished name of your domain.
+        'base_dn' => '',
+
+        // The username to connect to your hosts with.
+        'username' => '',
+
+        // The password that is utilized with the above user.
+        'password' => '',
+
+        // The account prefix to use when authenticating users.
+        'account_prefix' => null,
+
+        // The account suffix to use when authenticating users.
+        'account_suffix' => null,
+
+        // Whether or not to use SSL when connecting to your hosts.
+        'use_ssl' => false,
+
+        // Whether or not to use TLS when connecting to your hosts.
+        'use_tls' => false,
+
+        // Whether or not follow referrals is enabled when performing LDAP operations.
+        'follow_referrals' => false,
+
+        // Custom LDAP options that you'd like to utilize.
+        'custom_options' => [],
+    ];
+
+    /**
+     * Constructor.
+     *
+     * @param array $options
+     *
+     * @throws ConfigurationException When an option value given is an invalid type.
+     */
+    public function __construct(array $options = [])
+    {
+        foreach ($options as $key => $value) {
+            $this->set($key, $value);
+        }
+    }
+
+    /**
+     * Sets a configuration option.
+     *
+     * Throws an exception if the specified option does
+     * not exist, or if it's an invalid type.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @throws ConfigurationException When an option value given is an invalid type.
+     */
+    public function set($key, $value)
+    {
+        if ($this->validate($key, $value)) {
+            $this->options[$key] = $value;
+        }
+    }
+
+    /**
+     * Returns the value for the specified configuration options.
+     *
+     * Throws an exception if the specified option does not exist.
+     *
+     * @param string $key
+     *
+     * @throws ConfigurationException When the option specified does not exist.
+     *
+     * @return mixed
+     */
+    public function get($key)
+    {
+        if ($this->has($key)) {
+            return $this->options[$key];
+        }
+
+        throw new ConfigurationException("Option {$key} does not exist.");
+    }
+
+    /**
+     * Checks if a configuration option exists.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function has($key)
+    {
+        return array_key_exists($key, $this->options);
+    }
+
+    /**
+     * Validates the new configuration option against its
+     * default value to ensure it's the correct type.
+     *
+     * If an invalid type is given, an exception is thrown.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @throws ConfigurationException When an option value given is an invalid type.
+     *
+     * @return bool
+     */
+    protected function validate($key, $value)
+    {
+        $default = $this->get($key);
+
+        if (is_array($default)) {
+            $validator = new Validators\ArrayValidator($key, $value);
+        } elseif (is_int($default)) {
+            $validator = new Validators\IntegerValidator($key, $value);
+        } elseif (is_bool($default)) {
+            $validator = new Validators\BooleanValidator($key, $value);
+        } elseif (class_exists($default)) {
+            $validator = new Validators\ClassValidator($key, $value);
+        } else {
+            $validator = new Validators\StringOrNullValidator($key, $value);
+        }
+
+        return $validator->validate();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/ArrayValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/ArrayValidator.php
new file mode 100644
index 0000000..ec5bdb0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/ArrayValidator.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Adldap\Configuration\Validators;
+
+use Adldap\Configuration\ConfigurationException;
+
+/**
+ * Class ArrayValidator.
+ *
+ * Validates that the configuration value is an array.
+ */
+class ArrayValidator extends Validator
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function validate()
+    {
+        if (!is_array($this->value)) {
+            throw new ConfigurationException("Option {$this->key} must be an array.");
+        }
+
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/BooleanValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/BooleanValidator.php
new file mode 100644
index 0000000..23b4846
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/BooleanValidator.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Adldap\Configuration\Validators;
+
+use Adldap\Configuration\ConfigurationException;
+
+/**
+ * Class BooleanValidator.
+ *
+ * Validates that the configuration value is a boolean.
+ */
+class BooleanValidator extends Validator
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function validate()
+    {
+        if (!is_bool($this->value)) {
+            throw new ConfigurationException("Option {$this->key} must be a boolean.");
+        }
+
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/ClassValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/ClassValidator.php
new file mode 100644
index 0000000..924c35f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/ClassValidator.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Adldap\Configuration\Validators;
+
+use Adldap\Configuration\ConfigurationException;
+
+class ClassValidator extends Validator
+{
+    /**
+     * Validates the configuration value.
+     *
+     * @throws ConfigurationException When the value given fails validation.
+     *
+     * @return bool
+     */
+    public function validate()
+    {
+        if (!class_exists($this->value)) {
+            throw new ConfigurationException("Option {$this->key} must be a valid class.");
+        }
+
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/IntegerValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/IntegerValidator.php
new file mode 100644
index 0000000..cd783c4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/IntegerValidator.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Adldap\Configuration\Validators;
+
+use Adldap\Configuration\ConfigurationException;
+
+/**
+ * Class IntegerValidator.
+ *
+ * Validates that the configuration value is an integer / number.
+ */
+class IntegerValidator extends Validator
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function validate()
+    {
+        if (!is_numeric($this->value)) {
+            throw new ConfigurationException("Option {$this->key} must be an integer.");
+        }
+
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/StringOrNullValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/StringOrNullValidator.php
new file mode 100644
index 0000000..717c952
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/StringOrNullValidator.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Adldap\Configuration\Validators;
+
+use Adldap\Configuration\ConfigurationException;
+
+/**
+ * Class StringOrNullValidator.
+ *
+ * Validates that the configuration value is a string or null.
+ */
+class StringOrNullValidator extends Validator
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function validate()
+    {
+        if (is_string($this->value) || is_null($this->value)) {
+            return true;
+        }
+
+        throw new ConfigurationException("Option {$this->key} must be a string or null.");
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/Validator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/Validator.php
new file mode 100644
index 0000000..983c98c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Configuration/Validators/Validator.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace Adldap\Configuration\Validators;
+
+/**
+ * Class Validator.
+ *
+ * Validates configuration values.
+ */
+abstract class Validator
+{
+    /**
+     * The configuration key under validation.
+     *
+     * @var string
+     */
+    protected $key;
+
+    /**
+     * The configuration value under validation.
+     *
+     * @var mixed
+     */
+    protected $value;
+
+    /**
+     * Constructor.
+     *
+     * @param string $key
+     * @param mixed  $value
+     */
+    public function __construct($key, $value)
+    {
+        $this->key = $key;
+        $this->value = $value;
+    }
+
+    /**
+     * Validates the configuration value.
+     *
+     * @throws \Adldap\Configuration\ConfigurationException When the value given fails validation.
+     *
+     * @return bool
+     */
+    abstract public function validate();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ConnectionException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ConnectionException.php
new file mode 100644
index 0000000..d8004e6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ConnectionException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Adldap\Connections;
+
+use Adldap\AdldapException;
+
+class ConnectionException extends AdldapException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ConnectionInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ConnectionInterface.php
new file mode 100644
index 0000000..39ddc0e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ConnectionInterface.php
@@ -0,0 +1,539 @@
+<?php
+
+namespace Adldap\Connections;
+
+/**
+ * The Connection interface used for making connections. Implementing
+ * this interface on connection classes helps unit and functional
+ * test classes that require a connection.
+ *
+ * Interface ConnectionInterface
+ */
+interface ConnectionInterface
+{
+    /**
+     * The SSL LDAP protocol string.
+     *
+     * @var string
+     */
+    const PROTOCOL_SSL = 'ldaps://';
+
+    /**
+     * The standard LDAP protocol string.
+     *
+     * @var string
+     */
+    const PROTOCOL = 'ldap://';
+
+    /**
+     * The LDAP SSL port number.
+     *
+     * @var string
+     */
+    const PORT_SSL = 636;
+
+    /**
+     * The standard LDAP port number.
+     *
+     * @var string
+     */
+    const PORT = 389;
+
+    /**
+     * Constructor.
+     *
+     * @param string|null $name The connection name.
+     */
+    public function __construct($name = null);
+
+    /**
+     * Returns true / false if the current connection instance is using SSL.
+     *
+     * @return bool
+     */
+    public function isUsingSSL();
+
+    /**
+     * Returns true / false if the current connection instance is using TLS.
+     *
+     * @return bool
+     */
+    public function isUsingTLS();
+
+    /**
+     * Returns true / false if the current connection is able to modify passwords.
+     *
+     * @return bool
+     */
+    public function canChangePasswords();
+
+    /**
+     * Returns true / false if the current connection is bound.
+     *
+     * @return bool
+     */
+    public function isBound();
+
+    /**
+     * Sets the current connection to use SSL.
+     *
+     * @param bool $enabled
+     *
+     * @return ConnectionInterface
+     */
+    public function ssl($enabled = true);
+
+    /**
+     * Sets the current connection to use TLS.
+     *
+     * @param bool $enabled
+     *
+     * @return ConnectionInterface
+     */
+    public function tls($enabled = true);
+
+    /**
+     * Returns the full LDAP host URL.
+     *
+     * Ex: ldap://192.168.1.1:386
+     *
+     * @return string|null
+     */
+    public function getHost();
+
+    /**
+     * Returns the connections name.
+     *
+     * @return string|null
+     */
+    public function getName();
+
+    /**
+     * Get the current connection.
+     *
+     * @return mixed
+     */
+    public function getConnection();
+
+    /**
+     * Retrieve the entries from a search result.
+     *
+     * @link http://php.net/manual/en/function.ldap-get-entries.php
+     *
+     * @param $searchResult
+     *
+     * @return mixed
+     */
+    public function getEntries($searchResult);
+
+    /**
+     * Returns the number of entries from a search result.
+     *
+     * @link http://php.net/manual/en/function.ldap-count-entries.php
+     *
+     * @param $searchResult
+     *
+     * @return int
+     */
+    public function countEntries($searchResult);
+
+    /**
+     * Compare value of attribute found in entry specified with DN.
+     *
+     * @link http://php.net/manual/en/function.ldap-compare.php
+     *
+     * @param string $dn
+     * @param string $attribute
+     * @param string $value
+     *
+     * @return mixed
+     */
+    public function compare($dn, $attribute, $value);
+
+    /**
+     * Retrieves the first entry from a search result.
+     *
+     * @link http://php.net/manual/en/function.ldap-first-entry.php
+     *
+     * @param $searchResult
+     *
+     * @return mixed
+     */
+    public function getFirstEntry($searchResult);
+
+    /**
+     * Retrieves the next entry from a search result.
+     *
+     * @link http://php.net/manual/en/function.ldap-next-entry.php
+     *
+     * @param $entry
+     *
+     * @return mixed
+     */
+    public function getNextEntry($entry);
+
+    /**
+     * Retrieves the ldap entry's attributes.
+     *
+     * @link http://php.net/manual/en/function.ldap-get-attributes.php
+     *
+     * @param $entry
+     *
+     * @return mixed
+     */
+    public function getAttributes($entry);
+
+    /**
+     * Retrieve the last error on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-error.php
+     *
+     * @return string
+     */
+    public function getLastError();
+
+    /**
+     * Return detailed information about an error.
+     *
+     * Returns false when there was a successful last request.
+     *
+     * Returns DetailedError when there was an error.
+     *
+     * @return DetailedError|null
+     */
+    public function getDetailedError();
+
+    /**
+     * Get all binary values from the specified result entry.
+     *
+     * @link http://php.net/manual/en/function.ldap-get-values-len.php
+     *
+     * @param $entry
+     * @param $attribute
+     *
+     * @return array
+     */
+    public function getValuesLen($entry, $attribute);
+
+    /**
+     * Sets an option on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-set-option.php
+     *
+     * @param int   $option
+     * @param mixed $value
+     *
+     * @return mixed
+     */
+    public function setOption($option, $value);
+
+    /**
+     * Sets options on the current connection.
+     *
+     * @param array $options
+     *
+     * @return mixed
+     */
+    public function setOptions(array $options = []);
+
+    /**
+     * Set a callback function to do re-binds on referral chasing.
+     *
+     * @link http://php.net/manual/en/function.ldap-set-rebind-proc.php
+     *
+     * @param callable $callback
+     *
+     * @return bool
+     */
+    public function setRebindCallback(callable $callback);
+
+    /**
+     * Connects to the specified hostname using the specified port.
+     *
+     * @link http://php.net/manual/en/function.ldap-start-tls.php
+     *
+     * @param string|array $hostname
+     * @param int          $port
+     *
+     * @return mixed
+     */
+    public function connect($hostname = [], $port = 389);
+
+    /**
+     * Starts a connection using TLS.
+     *
+     * @link http://php.net/manual/en/function.ldap-start-tls.php
+     *
+     * @throws ConnectionException If starting TLS fails.
+     *
+     * @return mixed
+     */
+    public function startTLS();
+
+    /**
+     * Binds to the current connection using the specified username and password.
+     * If sasl is true, the current connection is bound using SASL.
+     *
+     * @link http://php.net/manual/en/function.ldap-bind.php
+     *
+     * @param string $username
+     * @param string $password
+     * @param bool   $sasl
+     *
+     * @throws ConnectionException If starting TLS fails.
+     *
+     * @return bool
+     */
+    public function bind($username, $password, $sasl = false);
+
+    /**
+     * Closes the current connection.
+     *
+     * Returns false if no connection is present.
+     *
+     * @link http://php.net/manual/en/function.ldap-close.php
+     *
+     * @return bool
+     */
+    public function close();
+
+    /**
+     * Performs a search on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-search.php
+     *
+     * @param string $dn
+     * @param string $filter
+     * @param array  $fields
+     * @param bool   $onlyAttributes
+     * @param int    $size
+     * @param int    $time
+     *
+     * @return mixed
+     */
+    public function search($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0);
+
+    /**
+     * Reads an entry on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-read.php
+     *
+     * @param string $dn
+     * @param $filter
+     * @param array $fields
+     * @param bool  $onlyAttributes
+     * @param int   $size
+     * @param int   $time
+     *
+     * @return mixed
+     */
+    public function read($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0);
+
+    /**
+     * Performs a single level search on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-list.php
+     *
+     * @param string $dn
+     * @param string $filter
+     * @param array  $attributes
+     * @param bool   $onlyAttributes
+     * @param int    $size
+     * @param int    $time
+     *
+     * @return mixed
+     */
+    public function listing($dn, $filter, array $attributes, $onlyAttributes = false, $size = 0, $time = 0);
+
+    /**
+     * Adds an entry to the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-add.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @return bool
+     */
+    public function add($dn, array $entry);
+
+    /**
+     * Deletes an entry on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-delete.php
+     *
+     * @param string $dn
+     *
+     * @return bool
+     */
+    public function delete($dn);
+
+    /**
+     * Modify the name of an entry on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-rename.php
+     *
+     * @param string $dn
+     * @param string $newRdn
+     * @param string $newParent
+     * @param bool   $deleteOldRdn
+     *
+     * @return bool
+     */
+    public function rename($dn, $newRdn, $newParent, $deleteOldRdn = false);
+
+    /**
+     * Modifies an existing entry on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-modify.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @return bool
+     */
+    public function modify($dn, array $entry);
+
+    /**
+     * Batch modifies an existing entry on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-modify-batch.php
+     *
+     * @param string $dn
+     * @param array  $values
+     *
+     * @return mixed
+     */
+    public function modifyBatch($dn, array $values);
+
+    /**
+     * Add attribute values to current attributes.
+     *
+     * @link http://php.net/manual/en/function.ldap-mod-add.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @return mixed
+     */
+    public function modAdd($dn, array $entry);
+
+    /**
+     * Replaces attribute values with new ones.
+     *
+     * @link http://php.net/manual/en/function.ldap-mod-replace.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @return mixed
+     */
+    public function modReplace($dn, array $entry);
+
+    /**
+     * Delete attribute values from current attributes.
+     *
+     * @link http://php.net/manual/en/function.ldap-mod-del.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @return mixed
+     */
+    public function modDelete($dn, array $entry);
+
+    /**
+     * Send LDAP pagination control.
+     *
+     * @link http://php.net/manual/en/function.ldap-control-paged-result.php
+     *
+     * @param int    $pageSize
+     * @param bool   $isCritical
+     * @param string $cookie
+     *
+     * @return mixed
+     */
+    public function controlPagedResult($pageSize = 1000, $isCritical = false, $cookie = '');
+
+    /**
+     * Retrieve the LDAP pagination cookie.
+     *
+     * @link http://php.net/manual/en/function.ldap-control-paged-result-response.php
+     *
+     * @param $result
+     * @param string $cookie
+     *
+     * @return mixed
+     */
+    public function controlPagedResultResponse($result, &$cookie);
+
+    /**
+     * Frees up the memory allocated internally to store the result.
+     *
+     * @link https://www.php.net/manual/en/function.ldap-free-result.php
+     *
+     * @param resource $result
+     *
+     * @return bool
+     */
+    public function freeResult($result);
+
+    /**
+     * Returns the error number of the last command
+     * executed on the current connection.
+     *
+     * @link http://php.net/manual/en/function.ldap-errno.php
+     *
+     * @return int
+     */
+    public function errNo();
+
+    /**
+     * Returns the extended error string of the last command.
+     *
+     * @return string
+     */
+    public function getExtendedError();
+
+    /**
+     * Returns the extended error hex code of the last command.
+     *
+     * @return string|null
+     */
+    public function getExtendedErrorHex();
+
+    /**
+     * Returns the extended error code of the last command.
+     *
+     * @return string
+     */
+    public function getExtendedErrorCode();
+
+    /**
+     * Returns the error string of the specified
+     * error number.
+     *
+     * @link http://php.net/manual/en/function.ldap-err2str.php
+     *
+     * @param int $number
+     *
+     * @return string
+     */
+    public function err2Str($number);
+
+    /**
+     * Return the diagnostic Message.
+     *
+     * @return string
+     */
+    public function getDiagnosticMessage();
+
+    /**
+     * Extract the diagnostic code from the message.
+     *
+     * @param string $message
+     *
+     * @return string|bool
+     */
+    public function extractDiagnosticCode($message);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/DetailedError.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/DetailedError.php
new file mode 100644
index 0000000..d7554c6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/DetailedError.php
@@ -0,0 +1,71 @@
+<?php
+
+namespace Adldap\Connections;
+
+class DetailedError
+{
+    /**
+     * The error code from ldap_errno.
+     *
+     * @var int|null
+     */
+    protected $errorCode;
+
+    /**
+     * The error message from ldap_error.
+     *
+     * @var string|null
+     */
+    protected $errorMessage;
+
+    /**
+     * The diagnostic message when retrieved after an ldap_error.
+     *
+     * @var string|null
+     */
+    protected $diagnosticMessage;
+
+    /**
+     * Constructor.
+     *
+     * @param int    $errorCode
+     * @param string $errorMessage
+     * @param string $diagnosticMessage
+     */
+    public function __construct($errorCode, $errorMessage, $diagnosticMessage)
+    {
+        $this->errorCode = $errorCode;
+        $this->errorMessage = $errorMessage;
+        $this->diagnosticMessage = $diagnosticMessage;
+    }
+
+    /**
+     * Returns the LDAP error code.
+     *
+     * @return int
+     */
+    public function getErrorCode()
+    {
+        return $this->errorCode;
+    }
+
+    /**
+     * Returns the LDAP error message.
+     *
+     * @return string
+     */
+    public function getErrorMessage()
+    {
+        return $this->errorMessage;
+    }
+
+    /**
+     * Returns the LDAP diagnostic message.
+     *
+     * @return string
+     */
+    public function getDiagnosticMessage()
+    {
+        return $this->diagnosticMessage;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/Ldap.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/Ldap.php
new file mode 100644
index 0000000..2ce83fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/Ldap.php
@@ -0,0 +1,545 @@
+<?php
+
+namespace Adldap\Connections;
+
+/**
+ * Class Ldap.
+ *
+ * A class that abstracts PHP's LDAP functions and stores the bound connection.
+ */
+class Ldap implements ConnectionInterface
+{
+    /**
+     * The connection name.
+     *
+     * @var string|null
+     */
+    protected $name;
+
+    /**
+     * The LDAP host that is currently connected.
+     *
+     * @var string|null
+     */
+    protected $host;
+
+    /**
+     * The active LDAP connection.
+     *
+     * @var resource
+     */
+    protected $connection;
+
+    /**
+     * The bound status of the connection.
+     *
+     * @var bool
+     */
+    protected $bound = false;
+
+    /**
+     * Whether the connection must be bound over SSL.
+     *
+     * @var bool
+     */
+    protected $useSSL = false;
+
+    /**
+     * Whether the connection must be bound over TLS.
+     *
+     * @var bool
+     */
+    protected $useTLS = false;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __construct($name = null)
+    {
+        $this->name = $name;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isUsingSSL()
+    {
+        return $this->useSSL;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isUsingTLS()
+    {
+        return $this->useTLS;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isBound()
+    {
+        return $this->bound;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function canChangePasswords()
+    {
+        return $this->isUsingSSL() || $this->isUsingTLS();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function ssl($enabled = true)
+    {
+        $this->useSSL = $enabled;
+
+        return $this;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function tls($enabled = true)
+    {
+        $this->useTLS = $enabled;
+
+        return $this;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getHost()
+    {
+        return $this->host;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getEntries($searchResults)
+    {
+        return ldap_get_entries($this->connection, $searchResults);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getFirstEntry($searchResults)
+    {
+        return ldap_first_entry($this->connection, $searchResults);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getNextEntry($entry)
+    {
+        return ldap_next_entry($this->connection, $entry);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getAttributes($entry)
+    {
+        return ldap_get_attributes($this->connection, $entry);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function countEntries($searchResults)
+    {
+        return ldap_count_entries($this->connection, $searchResults);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function compare($dn, $attribute, $value)
+    {
+        return ldap_compare($this->connection, $dn, $attribute, $value);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getLastError()
+    {
+        return ldap_error($this->connection);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDetailedError()
+    {
+        // If the returned error number is zero, the last LDAP operation
+        // succeeded. We won't return a detailed error.
+        if ($number = $this->errNo()) {
+            ldap_get_option($this->connection, LDAP_OPT_DIAGNOSTIC_MESSAGE, $message);
+
+            return new DetailedError($number, $this->err2Str($number), $message);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getValuesLen($entry, $attribute)
+    {
+        return ldap_get_values_len($this->connection, $entry, $attribute);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setOption($option, $value)
+    {
+        return ldap_set_option($this->connection, $option, $value);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setOptions(array $options = [])
+    {
+        foreach ($options as $option => $value) {
+            $this->setOption($option, $value);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setRebindCallback(callable $callback)
+    {
+        return ldap_set_rebind_proc($this->connection, $callback);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function startTLS()
+    {
+        try {
+            return ldap_start_tls($this->connection);
+        } catch (\ErrorException $e) {
+            throw new ConnectionException($e->getMessage(), $e->getCode(), $e);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function connect($hosts = [], $port = 389)
+    {
+        $this->host = $this->getConnectionString($hosts, $this->getProtocol(), $port);
+
+        // Reset the bound status if reinitializing the connection.
+        $this->bound = false;
+
+        return $this->connection = ldap_connect($this->host);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function close()
+    {
+        $connection = $this->connection;
+
+        $result = is_resource($connection) ? ldap_close($connection) : false;
+
+        $this->bound = false;
+
+        return $result;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function search($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0)
+    {
+        return ldap_search($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function listing($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0)
+    {
+        return ldap_list($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function read($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0)
+    {
+        return ldap_read($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time);
+    }
+
+    /**
+     * Extract information from an LDAP result.
+     *
+     * @link https://www.php.net/manual/en/function.ldap-parse-result.php
+     *
+     * @param resource $result
+     * @param int      $errorCode
+     * @param string   $dn
+     * @param string   $errorMessage
+     * @param array    $referrals
+     * @param array    $serverControls
+     *
+     * @return bool
+     */
+    public function parseResult($result, &$errorCode, &$dn, &$errorMessage, &$referrals, &$serverControls = [])
+    {
+        return $this->supportsServerControlsInMethods() && !empty($serverControls) ?
+            ldap_parse_result($this->connection, $result, $errorCode, $dn, $errorMessage, $referrals, $serverControls) :
+            ldap_parse_result($this->connection, $result, $errorCode, $dn, $errorMessage, $referrals);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function bind($username, $password, $sasl = false)
+    {
+        // Prior to binding, we will upgrade our connectivity to TLS on our current
+        // connection and ensure we are not already bound before upgrading.
+        // This is to prevent subsequent upgrading on several binds.
+        if ($this->isUsingTLS() && !$this->isBound()) {
+            $this->startTLS();
+        }
+
+        if ($sasl) {
+            return $this->bound = ldap_sasl_bind($this->connection, null, null, 'GSSAPI');
+        }
+
+        return $this->bound = ldap_bind(
+            $this->connection,
+            $username,
+            html_entity_decode($password)
+        );
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function add($dn, array $entry)
+    {
+        return ldap_add($this->connection, $dn, $entry);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function delete($dn)
+    {
+        return ldap_delete($this->connection, $dn);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rename($dn, $newRdn, $newParent, $deleteOldRdn = false)
+    {
+        return ldap_rename($this->connection, $dn, $newRdn, $newParent, $deleteOldRdn);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function modify($dn, array $entry)
+    {
+        return ldap_modify($this->connection, $dn, $entry);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function modifyBatch($dn, array $values)
+    {
+        return ldap_modify_batch($this->connection, $dn, $values);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function modAdd($dn, array $entry)
+    {
+        return ldap_mod_add($this->connection, $dn, $entry);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function modReplace($dn, array $entry)
+    {
+        return ldap_mod_replace($this->connection, $dn, $entry);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function modDelete($dn, array $entry)
+    {
+        return ldap_mod_del($this->connection, $dn, $entry);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function controlPagedResult($pageSize = 1000, $isCritical = false, $cookie = '')
+    {
+        return ldap_control_paged_result($this->connection, $pageSize, $isCritical, $cookie);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function controlPagedResultResponse($result, &$cookie)
+    {
+        return ldap_control_paged_result_response($this->connection, $result, $cookie);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function freeResult($result)
+    {
+        return ldap_free_result($result);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function errNo()
+    {
+        return ldap_errno($this->connection);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getExtendedError()
+    {
+        return $this->getDiagnosticMessage();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getExtendedErrorHex()
+    {
+        if (preg_match("/(?<=data\s).*?(?=\,)/", $this->getExtendedError(), $code)) {
+            return $code[0];
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getExtendedErrorCode()
+    {
+        return $this->extractDiagnosticCode($this->getExtendedError());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function err2Str($number)
+    {
+        return ldap_err2str($number);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDiagnosticMessage()
+    {
+        ldap_get_option($this->connection, LDAP_OPT_ERROR_STRING, $message);
+
+        return $message;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function extractDiagnosticCode($message)
+    {
+        preg_match('/^([\da-fA-F]+):/', $message, $matches);
+
+        return isset($matches[1]) ? $matches[1] : false;
+    }
+
+    /**
+     * Returns the LDAP protocol to utilize for the current connection.
+     *
+     * @return string
+     */
+    public function getProtocol()
+    {
+        return $this->isUsingSSL() ? $this::PROTOCOL_SSL : $this::PROTOCOL;
+    }
+
+    /**
+     * Determine if the current PHP version supports server controls.
+     *
+     * @return bool
+     */
+    public function supportsServerControlsInMethods()
+    {
+        return version_compare(PHP_VERSION, '7.3.0') >= 0;
+    }
+
+    /**
+     * Generates an LDAP connection string for each host given.
+     *
+     * @param string|array $hosts
+     * @param string       $protocol
+     * @param string       $port
+     *
+     * @return string
+     */
+    protected function getConnectionString($hosts, $protocol, $port)
+    {
+        // If we are using SSL and using the default port, we
+        // will override it to use the default SSL port.
+        if ($this->isUsingSSL() && $port == 389) {
+            $port = self::PORT_SSL;
+        }
+
+        // Normalize hosts into an array.
+        $hosts = is_array($hosts) ? $hosts : [$hosts];
+
+        $hosts = array_map(function ($host) use ($protocol, $port) {
+            return "{$protocol}{$host}:{$port}";
+        }, $hosts);
+
+        return implode(' ', $hosts);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/Provider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/Provider.php
new file mode 100644
index 0000000..c8db387
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/Provider.php
@@ -0,0 +1,291 @@
+<?php
+
+namespace Adldap\Connections;
+
+use Adldap\Adldap;
+use Adldap\Auth\Guard;
+use Adldap\Query\Cache;
+use InvalidArgumentException;
+use Adldap\Auth\GuardInterface;
+use Adldap\Schemas\ActiveDirectory;
+use Adldap\Schemas\SchemaInterface;
+use Psr\SimpleCache\CacheInterface;
+use Adldap\Models\Factory as ModelFactory;
+use Adldap\Query\Factory as SearchFactory;
+use Adldap\Configuration\DomainConfiguration;
+
+/**
+ * Class Provider.
+ *
+ * Contains the LDAP connection and domain configuration to
+ * instantiate factories for retrieving and creating
+ * LDAP records as well as authentication (binding).
+ */
+class Provider implements ProviderInterface
+{
+    /**
+     * The providers connection.
+     *
+     * @var ConnectionInterface
+     */
+    protected $connection;
+
+    /**
+     * The providers configuration.
+     *
+     * @var DomainConfiguration
+     */
+    protected $configuration;
+
+    /**
+     * The providers schema.
+     *
+     * @var SchemaInterface
+     */
+    protected $schema;
+
+    /**
+     * The providers auth guard instance.
+     *
+     * @var GuardInterface
+     */
+    protected $guard;
+
+    /**
+     * The providers cache instance.
+     *
+     * @var Cache|null
+     */
+    protected $cache;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __construct($configuration = [], ConnectionInterface $connection = null)
+    {
+        $this->setConfiguration($configuration)
+            ->setConnection($connection);
+    }
+
+    /**
+     * Does nothing. Implemented in order to remain backwards compatible.
+     *
+     * @deprecated since v10.3.0
+     */
+    public function __destruct()
+    {
+        //
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setConfiguration($configuration = [])
+    {
+        if (is_array($configuration)) {
+            $configuration = new DomainConfiguration($configuration);
+        }
+
+        if ($configuration instanceof DomainConfiguration) {
+            $this->configuration = $configuration;
+
+            $schema = $configuration->get('schema');
+
+            // We will update our schema here when our configuration is set.
+            $this->setSchema(new $schema());
+
+            return $this;
+        }
+
+        $class = DomainConfiguration::class;
+
+        throw new InvalidArgumentException(
+            "Configuration must be array or instance of $class"
+        );
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setConnection(ConnectionInterface $connection = null)
+    {
+        // We will create a standard connection if one isn't given.
+        $this->connection = $connection ?: new Ldap();
+
+        // Prepare the connection.
+        $this->prepareConnection();
+
+        // Instantiate the LDAP connection.
+        $this->connection->connect(
+            $this->configuration->get('hosts'),
+            $this->configuration->get('port')
+        );
+
+        return $this;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setSchema(SchemaInterface $schema = null)
+    {
+        $this->schema = $schema ?: new ActiveDirectory();
+
+        return $this;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setGuard(GuardInterface $guard)
+    {
+        $this->guard = $guard;
+
+        return $this;
+    }
+
+    /**
+     * Sets the cache store.
+     *
+     * @param CacheInterface $store
+     *
+     * @return $this
+     */
+    public function setCache(CacheInterface $store)
+    {
+        $this->cache = new Cache($store);
+
+        return $this;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getConfiguration()
+    {
+        return $this->configuration;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getSchema()
+    {
+        return $this->schema;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getGuard()
+    {
+        if (!$this->guard instanceof GuardInterface) {
+            $this->setGuard($this->getDefaultGuard($this->connection, $this->configuration));
+        }
+
+        return $this->guard;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDefaultGuard(ConnectionInterface $connection, DomainConfiguration $configuration)
+    {
+        $guard = new Guard($connection, $configuration);
+
+        $guard->setDispatcher(Adldap::getEventDispatcher());
+
+        return $guard;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function make()
+    {
+        return new ModelFactory(
+            $this->search()->newQuery()
+        );
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function search()
+    {
+        $factory = new SearchFactory(
+            $this->connection,
+            $this->schema,
+            $this->configuration->get('base_dn')
+        );
+
+        if ($this->cache) {
+            $factory->setCache($this->cache);
+        }
+
+        return $factory;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function auth()
+    {
+        return $this->getGuard();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function connect($username = null, $password = null)
+    {
+        // Get the default guard instance.
+        $guard = $this->getGuard();
+
+        if (is_null($username) && is_null($password)) {
+            // If both the username and password are null, we'll connect to the server
+            // using the configured administrator username and password.
+            $guard->bindAsAdministrator();
+        } else {
+            // Bind to the server with the specified username and password otherwise.
+            $guard->bind($username, $password);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Prepares the connection by setting configured parameters.
+     *
+     * @throws \Adldap\Configuration\ConfigurationException When configuration options requested do not exist
+     *
+     * @return void
+     */
+    protected function prepareConnection()
+    {
+        if ($this->configuration->get('use_ssl')) {
+            $this->connection->ssl();
+        } elseif ($this->configuration->get('use_tls')) {
+            $this->connection->tls();
+        }
+
+        $options = array_replace(
+            $this->configuration->get('custom_options'),
+            [
+                LDAP_OPT_PROTOCOL_VERSION => $this->configuration->get('version'),
+                LDAP_OPT_NETWORK_TIMEOUT  => $this->configuration->get('timeout'),
+                LDAP_OPT_REFERRALS        => $this->configuration->get('follow_referrals'),
+            ]
+        );
+
+        $this->connection->setOptions($options);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ProviderInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ProviderInterface.php
new file mode 100644
index 0000000..20749a7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Connections/ProviderInterface.php
@@ -0,0 +1,129 @@
+<?php
+
+namespace Adldap\Connections;
+
+use Adldap\Auth\GuardInterface;
+use Adldap\Schemas\SchemaInterface;
+use Adldap\Configuration\DomainConfiguration;
+
+interface ProviderInterface
+{
+    /**
+     * Constructor.
+     *
+     * @param array|DomainConfiguration $configuration
+     * @param ConnectionInterface       $connection
+     */
+    public function __construct($configuration, ConnectionInterface $connection);
+
+    /**
+     * Returns the current connection instance.
+     *
+     * @return ConnectionInterface
+     */
+    public function getConnection();
+
+    /**
+     * Returns the current configuration instance.
+     *
+     * @return DomainConfiguration
+     */
+    public function getConfiguration();
+
+    /**
+     * Returns the current Guard instance.
+     *
+     * @return \Adldap\Auth\Guard
+     */
+    public function getGuard();
+
+    /**
+     * Returns a new default Guard instance.
+     *
+     * @param ConnectionInterface $connection
+     * @param DomainConfiguration $configuration
+     *
+     * @return \Adldap\Auth\Guard
+     */
+    public function getDefaultGuard(ConnectionInterface $connection, DomainConfiguration $configuration);
+
+    /**
+     * Sets the current connection.
+     *
+     * @param ConnectionInterface $connection
+     *
+     * @return $this
+     */
+    public function setConnection(ConnectionInterface $connection = null);
+
+    /**
+     * Sets the current configuration.
+     *
+     * @param DomainConfiguration|array $configuration
+     *
+     * @throws \Adldap\Configuration\ConfigurationException
+     */
+    public function setConfiguration($configuration = []);
+
+    /**
+     * Sets the current LDAP attribute schema.
+     *
+     * @param SchemaInterface|null $schema
+     *
+     * @return $this
+     */
+    public function setSchema(SchemaInterface $schema = null);
+
+    /**
+     * Returns the current LDAP attribute schema.
+     *
+     * @return SchemaInterface
+     */
+    public function getSchema();
+
+    /**
+     * Sets the current Guard instance.
+     *
+     * @param GuardInterface $guard
+     *
+     * @return $this
+     */
+    public function setGuard(GuardInterface $guard);
+
+    /**
+     * Returns a new Model factory instance.
+     *
+     * @return \Adldap\Models\Factory
+     */
+    public function make();
+
+    /**
+     * Returns a new Search factory instance.
+     *
+     * @return \Adldap\Query\Factory
+     */
+    public function search();
+
+    /**
+     * Returns a new Auth Guard instance.
+     *
+     * @return \Adldap\Auth\Guard
+     */
+    public function auth();
+
+    /**
+     * Connects and Binds to the Domain Controller.
+     *
+     * If no username or password is specified, then the
+     * configured administrator credentials are used.
+     *
+     * @param string|null $username
+     * @param string|null $password
+     *
+     * @throws \Adldap\Auth\BindException If binding to the LDAP server fails.
+     * @throws ConnectionException        If upgrading the connection to TLS fails
+     *
+     * @return ProviderInterface
+     */
+    public function connect($username = null, $password = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/Dispatcher.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/Dispatcher.php
new file mode 100644
index 0000000..f81f478
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/Dispatcher.php
@@ -0,0 +1,320 @@
+<?php
+
+namespace Adldap\Events;
+
+use Illuminate\Support\Arr;
+
+/**
+ * Class Dispatcher.
+ *
+ * Handles event listening and dispatching.
+ *
+ * This code was taken out of the Laravel Framework core
+ * with broadcasting and queuing omitted to remove
+ * an extra dependency that would be required.
+ *
+ * @author Taylor Otwell
+ *
+ * @see https://github.com/laravel/framework
+ */
+class Dispatcher implements DispatcherInterface
+{
+    /**
+     * The registered event listeners.
+     *
+     * @var array
+     */
+    protected $listeners = [];
+
+    /**
+     * The wildcard listeners.
+     *
+     * @var array
+     */
+    protected $wildcards = [];
+
+    /**
+     * The cached wildcard listeners.
+     *
+     * @var array
+     */
+    protected $wildcardsCache = [];
+
+    /**
+     * {@inheritdoc}
+     */
+    public function listen($events, $listener)
+    {
+        foreach ((array) $events as $event) {
+            if (strpos($event, '*') !== false) {
+                $this->setupWildcardListen($event, $listener);
+            } else {
+                $this->listeners[$event][] = $this->makeListener($listener);
+            }
+        }
+    }
+
+    /**
+     * Setup a wildcard listener callback.
+     *
+     * @param string $event
+     * @param mixed  $listener
+     *
+     * @return void
+     */
+    protected function setupWildcardListen($event, $listener)
+    {
+        $this->wildcards[$event][] = $this->makeListener($listener, true);
+
+        $this->wildcardsCache = [];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function hasListeners($eventName)
+    {
+        return isset($this->listeners[$eventName]) || isset($this->wildcards[$eventName]);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function until($event, $payload = [])
+    {
+        return $this->dispatch($event, $payload, true);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function fire($event, $payload = [], $halt = false)
+    {
+        return $this->dispatch($event, $payload, $halt);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dispatch($event, $payload = [], $halt = false)
+    {
+        // When the given "event" is actually an object we will assume it is an event
+        // object and use the class as the event name and this event itself as the
+        // payload to the handler, which makes object based events quite simple.
+        list($event, $payload) = $this->parseEventAndPayload(
+            $event,
+            $payload
+        );
+
+        $responses = [];
+
+        foreach ($this->getListeners($event) as $listener) {
+            $response = $listener($event, $payload);
+
+            // If a response is returned from the listener and event halting is enabled
+            // we will just return this response, and not call the rest of the event
+            // listeners. Otherwise we will add the response on the response list.
+            if ($halt && !is_null($response)) {
+                return $response;
+            }
+
+            // If a boolean false is returned from a listener, we will stop propagating
+            // the event to any further listeners down in the chain, else we keep on
+            // looping through the listeners and firing every one in our sequence.
+            if ($response === false) {
+                break;
+            }
+
+            $responses[] = $response;
+        }
+
+        return $halt ? null : $responses;
+    }
+
+    /**
+     * Parse the given event and payload and prepare them for dispatching.
+     *
+     * @param mixed $event
+     * @param mixed $payload
+     *
+     * @return array
+     */
+    protected function parseEventAndPayload($event, $payload)
+    {
+        if (is_object($event)) {
+            list($payload, $event) = [[$event], get_class($event)];
+        }
+
+        return [$event, Arr::wrap($payload)];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getListeners($eventName)
+    {
+        $listeners = $this->listeners[$eventName] ?? [];
+
+        $listeners = array_merge(
+            $listeners,
+            $this->wildcardsCache[$eventName] ?? $this->getWildcardListeners($eventName)
+        );
+
+        return class_exists($eventName, false)
+            ? $this->addInterfaceListeners($eventName, $listeners)
+            : $listeners;
+    }
+
+    /**
+     * Get the wildcard listeners for the event.
+     *
+     * @param string $eventName
+     *
+     * @return array
+     */
+    protected function getWildcardListeners($eventName)
+    {
+        $wildcards = [];
+
+        foreach ($this->wildcards as $key => $listeners) {
+            if ($this->wildcardContainsEvent($key, $eventName)) {
+                $wildcards = array_merge($wildcards, $listeners);
+            }
+        }
+
+        return $this->wildcardsCache[$eventName] = $wildcards;
+    }
+
+    /**
+     * Determine if the wildcard matches or contains the given event.
+     *
+     * This function is a direct excerpt from Laravel's Str::is().
+     *
+     * @param string $wildcard
+     * @param string $eventName
+     *
+     * @return bool
+     */
+    protected function wildcardContainsEvent($wildcard, $eventName)
+    {
+        $patterns = Arr::wrap($wildcard);
+
+        if (empty($patterns)) {
+            return false;
+        }
+
+        foreach ($patterns as $pattern) {
+            // If the given event is an exact match we can of course return true right
+            // from the beginning. Otherwise, we will translate asterisks and do an
+            // actual pattern match against the two strings to see if they match.
+            if ($pattern == $eventName) {
+                return true;
+            }
+
+            $pattern = preg_quote($pattern, '#');
+
+            // Asterisks are translated into zero-or-more regular expression wildcards
+            // to make it convenient to check if the strings starts with the given
+            // pattern such as "library/*", making any string check convenient.
+            $pattern = str_replace('\*', '.*', $pattern);
+
+            if (preg_match('#^'.$pattern.'\z#u', $eventName) === 1) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Add the listeners for the event's interfaces to the given array.
+     *
+     * @param string $eventName
+     * @param array  $listeners
+     *
+     * @return array
+     */
+    protected function addInterfaceListeners($eventName, array $listeners = [])
+    {
+        foreach (class_implements($eventName) as $interface) {
+            if (isset($this->listeners[$interface])) {
+                foreach ($this->listeners[$interface] as $names) {
+                    $listeners = array_merge($listeners, (array) $names);
+                }
+            }
+        }
+
+        return $listeners;
+    }
+
+    /**
+     * Register an event listener with the dispatcher.
+     *
+     * @param \Closure|string $listener
+     * @param bool            $wildcard
+     *
+     * @return \Closure
+     */
+    public function makeListener($listener, $wildcard = false)
+    {
+        if (is_string($listener)) {
+            return $this->createClassListener($listener, $wildcard);
+        }
+
+        return function ($event, $payload) use ($listener, $wildcard) {
+            if ($wildcard) {
+                return $listener($event, $payload);
+            }
+
+            return $listener(...array_values($payload));
+        };
+    }
+
+    /**
+     * Create a class based listener.
+     *
+     * @param string $listener
+     * @param bool   $wildcard
+     *
+     * @return \Closure
+     */
+    protected function createClassListener($listener, $wildcard = false)
+    {
+        return function ($event, $payload) use ($listener, $wildcard) {
+            if ($wildcard) {
+                return call_user_func($this->parseListenerCallback($listener), $event, $payload);
+            }
+
+            return call_user_func_array(
+                $this->parseListenerCallback($listener),
+                $payload
+            );
+        };
+    }
+
+    /**
+     * Parse the class listener into class and method.
+     *
+     * @param string $listener
+     *
+     * @return array
+     */
+    protected function parseListenerCallback($listener)
+    {
+        return strpos($listener, '@') !== false ?
+            explode('@', $listener, 2) :
+            [$listener, 'handle'];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function forget($event)
+    {
+        if (strpos($event, '*') !== false) {
+            unset($this->wildcards[$event]);
+        } else {
+            unset($this->listeners[$event]);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/DispatcherInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/DispatcherInterface.php
new file mode 100644
index 0000000..e014543
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/DispatcherInterface.php
@@ -0,0 +1,75 @@
+<?php
+
+namespace Adldap\Events;
+
+interface DispatcherInterface
+{
+    /**
+     * Register an event listener with the dispatcher.
+     *
+     * @param string|array $events
+     * @param mixed        $listener
+     *
+     * @return void
+     */
+    public function listen($events, $listener);
+
+    /**
+     * Determine if a given event has listeners.
+     *
+     * @param string $eventName
+     *
+     * @return bool
+     */
+    public function hasListeners($eventName);
+
+    /**
+     * Fire an event until the first non-null response is returned.
+     *
+     * @param string|object $event
+     * @param mixed         $payload
+     *
+     * @return array|null
+     */
+    public function until($event, $payload = []);
+
+    /**
+     * Fire an event and call the listeners.
+     *
+     * @param string|object $event
+     * @param mixed         $payload
+     * @param bool          $halt
+     *
+     * @return mixed
+     */
+    public function fire($event, $payload = [], $halt = false);
+
+    /**
+     * Fire an event and call the listeners.
+     *
+     * @param string|object $event
+     * @param mixed         $payload
+     * @param bool          $halt
+     *
+     * @return array|null
+     */
+    public function dispatch($event, $payload = [], $halt = false);
+
+    /**
+     * Get all of the listeners for a given event name.
+     *
+     * @param string $eventName
+     *
+     * @return array
+     */
+    public function getListeners($eventName);
+
+    /**
+     * Remove a set of listeners from the dispatcher.
+     *
+     * @param string $event
+     *
+     * @return void
+     */
+    public function forget($event);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/DispatchesEvents.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/DispatchesEvents.php
new file mode 100644
index 0000000..f530ba4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Events/DispatchesEvents.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace Adldap\Events;
+
+trait DispatchesEvents
+{
+    /**
+     * The event dispatcher instance.
+     *
+     * @var DispatcherInterface
+     */
+    protected static $dispatcher;
+
+    /**
+     * Get the event dispatcher instance.
+     *
+     * @return DispatcherInterface
+     */
+    public static function getEventDispatcher()
+    {
+        // If no event dispatcher has been set, well instantiate and
+        // set one here. This will be our singleton instance.
+        if (!isset(static::$dispatcher)) {
+            static::setEventDispatcher(new Dispatcher());
+        }
+
+        return static::$dispatcher;
+    }
+
+    /**
+     * Set the event dispatcher instance.
+     *
+     * @param DispatcherInterface $dispatcher
+     *
+     * @return void
+     */
+    public static function setEventDispatcher(DispatcherInterface $dispatcher)
+    {
+        static::$dispatcher = $dispatcher;
+    }
+
+    /**
+     * Unset the event dispatcher instance.
+     *
+     * @return void
+     */
+    public static function unsetEventDispatcher()
+    {
+        static::$dispatcher = null;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Log/EventLogger.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Log/EventLogger.php
new file mode 100644
index 0000000..37d36b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Log/EventLogger.php
@@ -0,0 +1,141 @@
+<?php
+
+namespace Adldap\Log;
+
+use ReflectionClass;
+use Psr\Log\LoggerInterface;
+use Adldap\Auth\Events\Failed;
+use Adldap\Auth\Events\Event as AuthEvent;
+use Adldap\Models\Events\Event as ModelEvent;
+use Adldap\Query\Events\QueryExecuted as QueryEvent;
+
+class EventLogger
+{
+    /**
+     * The logger instance.
+     *
+     * @var LoggerInterface|null
+     */
+    protected $logger;
+
+    /**
+     * Constructor.
+     *
+     * @param LoggerInterface $logger
+     */
+    public function __construct(LoggerInterface $logger = null)
+    {
+        $this->logger = $logger;
+    }
+
+    /**
+     * Logs the given event.
+     *
+     * @param mixed $event
+     */
+    public function log($event)
+    {
+        if ($event instanceof AuthEvent) {
+            $this->auth($event);
+        } elseif ($event instanceof ModelEvent) {
+            $this->model($event);
+        } elseif ($event instanceof QueryEvent) {
+            $this->query($event);
+        }
+    }
+
+    /**
+     * Logs an authentication event.
+     *
+     * @param AuthEvent $event
+     *
+     * @return void
+     */
+    public function auth(AuthEvent $event)
+    {
+        if (isset($this->logger)) {
+            $connection = $event->getConnection();
+
+            $message = "LDAP ({$connection->getHost()})"
+                ." - Connection: {$connection->getName()}"
+                ." - Operation: {$this->getOperationName($event)}"
+                ." - Username: {$event->getUsername()}";
+
+            $result = null;
+            $type = 'info';
+
+            if (is_a($event, Failed::class)) {
+                $type = 'warning';
+                $result = " - Reason: {$connection->getLastError()}";
+            }
+
+            $this->logger->$type($message.$result);
+        }
+    }
+
+    /**
+     * Logs a model event.
+     *
+     * @param ModelEvent $event
+     *
+     * @return void
+     */
+    public function model(ModelEvent $event)
+    {
+        if (isset($this->logger)) {
+            $model = $event->getModel();
+
+            $on = get_class($model);
+
+            $connection = $model->getQuery()->getConnection();
+
+            $message = "LDAP ({$connection->getHost()})"
+                ." - Connection: {$connection->getName()}"
+                ." - Operation: {$this->getOperationName($event)}"
+                ." - On: {$on}"
+                ." - Distinguished Name: {$model->getDn()}";
+
+            $this->logger->info($message);
+        }
+    }
+
+    /**
+     * Logs a query event.
+     *
+     * @param QueryEvent $event
+     *
+     * @return void
+     */
+    public function query(QueryEvent $event)
+    {
+        if (isset($this->logger)) {
+            $query = $event->getQuery();
+
+            $connection = $query->getConnection();
+
+            $selected = implode(',', $query->getSelects());
+
+            $message = "LDAP ({$connection->getHost()})"
+                ." - Connection: {$connection->getName()}"
+                ." - Operation: {$this->getOperationName($event)}"
+                ." - Base DN: {$query->getDn()}"
+                ." - Filter: {$query->getUnescapedQuery()}"
+                ." - Selected: ({$selected})"
+                ." - Time Elapsed: {$event->getTime()}";
+
+            $this->logger->info($message);
+        }
+    }
+
+    /**
+     * Returns the operational name of the given event.
+     *
+     * @param mixed $event
+     *
+     * @return string
+     */
+    protected function getOperationName($event)
+    {
+        return (new ReflectionClass($event))->getShortName();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Log/LogsInformation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Log/LogsInformation.php
new file mode 100644
index 0000000..d6f5191
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Log/LogsInformation.php
@@ -0,0 +1,47 @@
+<?php
+
+namespace Adldap\Log;
+
+use Psr\Log\LoggerInterface;
+
+trait LogsInformation
+{
+    /**
+     * The logger instance.
+     *
+     * @var LoggerInterface|null
+     */
+    protected static $logger;
+
+    /**
+     * Get the logger instance.
+     *
+     * @return LoggerInterface|null
+     */
+    public static function getLogger()
+    {
+        return static::$logger;
+    }
+
+    /**
+     * Set the logger instance.
+     *
+     * @param LoggerInterface $logger
+     *
+     * @return void
+     */
+    public static function setLogger(LoggerInterface $logger)
+    {
+        static::$logger = $logger;
+    }
+
+    /**
+     * Unset the logger instance.
+     *
+     * @return void
+     */
+    public static function unsetLogger()
+    {
+        static::$logger = null;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/AccountControl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/AccountControl.php
new file mode 100644
index 0000000..89fd8a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/AccountControl.php
@@ -0,0 +1,458 @@
+<?php
+
+namespace Adldap\Models\Attributes;
+
+use ReflectionClass;
+
+/**
+ * The Account Control class.
+ *
+ * This class is for easily building a user account control value.
+ *
+ * @link https://support.microsoft.com/en-us/kb/305144
+ */
+class AccountControl
+{
+    const SCRIPT = 1;
+
+    const ACCOUNTDISABLE = 2;
+
+    const HOMEDIR_REQUIRED = 8;
+
+    const LOCKOUT = 16;
+
+    const PASSWD_NOTREQD = 32;
+
+    const ENCRYPTED_TEXT_PWD_ALLOWED = 128;
+
+    const TEMP_DUPLICATE_ACCOUNT = 256;
+
+    const NORMAL_ACCOUNT = 512;
+
+    const INTERDOMAIN_TRUST_ACCOUNT = 2048;
+
+    const WORKSTATION_TRUST_ACCOUNT = 4096;
+
+    const SERVER_TRUST_ACCOUNT = 8192;
+
+    const DONT_EXPIRE_PASSWORD = 65536;
+
+    const MNS_LOGON_ACCOUNT = 131072;
+
+    const SMARTCARD_REQUIRED = 262144;
+
+    const TRUSTED_FOR_DELEGATION = 524288;
+
+    const NOT_DELEGATED = 1048576;
+
+    const USE_DES_KEY_ONLY = 2097152;
+
+    const DONT_REQ_PREAUTH = 4194304;
+
+    const PASSWORD_EXPIRED = 8388608;
+
+    const TRUSTED_TO_AUTH_FOR_DELEGATION = 16777216;
+
+    const PARTIAL_SECRETS_ACCOUNT = 67108864;
+
+    /**
+     * Stores the values to be added together to
+     * build the user account control integer.
+     *
+     * @var array
+     */
+    protected $values = [];
+
+    /**
+     * Constructor.
+     *
+     * @param int $flag
+     */
+    public function __construct($flag = null)
+    {
+        if (!is_null($flag)) {
+            $this->apply($flag);
+        }
+    }
+
+    /**
+     * Get the value when casted to string.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getValue();
+    }
+
+    /**
+     * Get the value when casted to int.
+     *
+     * @return int
+     */
+    public function __toInt()
+    {
+        return $this->getValue();
+    }
+
+    /**
+     * Add the value to the account control values.
+     *
+     * @param int $value
+     *
+     * @return AccountControl
+     */
+    public function add($value)
+    {
+        // Use the value as a key so if the same value
+        // is used, it will always be overwritten
+        $this->values[$value] = $value;
+
+        return $this;
+    }
+
+    /**
+     * Remove the value from the account control.
+     *
+     * @param int $value
+     *
+     * @return $this
+     */
+    public function remove($value)
+    {
+        unset($this->values[$value]);
+
+        return $this;
+    }
+
+    /**
+     * Extract and apply the flag.
+     *
+     * @param int $flag
+     */
+    public function apply($flag)
+    {
+        $this->setValues($this->extractFlags($flag));
+    }
+
+    /**
+     * Determine if the current AccountControl object contains the given UAC flag(s).
+     *
+     * @param int $flag
+     *
+     * @return bool
+     */
+    public function has($flag)
+    {
+        // We'll extract the given flag into an array of possible flags, and
+        // see if our AccountControl object contains any of them.
+        $flagsUsed = array_intersect($this->extractFlags($flag), $this->values);
+
+        return in_array($flag, $flagsUsed);
+    }
+
+    /**
+     * The logon script will be run.
+     *
+     * @return AccountControl
+     */
+    public function runLoginScript()
+    {
+        return $this->add(static::SCRIPT);
+    }
+
+    /**
+     * The user account is locked.
+     *
+     * @return AccountControl
+     */
+    public function accountIsLocked()
+    {
+        return $this->add(static::LOCKOUT);
+    }
+
+    /**
+     * The user account is disabled.
+     *
+     * @return AccountControl
+     */
+    public function accountIsDisabled()
+    {
+        return $this->add(static::ACCOUNTDISABLE);
+    }
+
+    /**
+     * This is an account for users whose primary account is in another domain.
+     *
+     * This account provides user access to this domain, but not to any domain that
+     * trusts this domain. This is sometimes referred to as a local user account.
+     *
+     * @return AccountControl
+     */
+    public function accountIsTemporary()
+    {
+        return $this->add(static::TEMP_DUPLICATE_ACCOUNT);
+    }
+
+    /**
+     * This is a default account type that represents a typical user.
+     *
+     * @return AccountControl
+     */
+    public function accountIsNormal()
+    {
+        return $this->add(static::NORMAL_ACCOUNT);
+    }
+
+    /**
+     * This is a permit to trust an account for a system domain that trusts other domains.
+     *
+     * @return AccountControl
+     */
+    public function accountIsForInterdomain()
+    {
+        return $this->add(static::INTERDOMAIN_TRUST_ACCOUNT);
+    }
+
+    /**
+     * This is a computer account for a computer that is running Microsoft
+     * Windows NT 4.0 Workstation, Microsoft Windows NT 4.0 Server, Microsoft
+     * Windows 2000 Professional, or Windows 2000 Server and is a member of this domain.
+     *
+     * @return AccountControl
+     */
+    public function accountIsForWorkstation()
+    {
+        return $this->add(static::WORKSTATION_TRUST_ACCOUNT);
+    }
+
+    /**
+     * This is a computer account for a domain controller that is a member of this domain.
+     *
+     * @return AccountControl
+     */
+    public function accountIsForServer()
+    {
+        return $this->add(static::SERVER_TRUST_ACCOUNT);
+    }
+
+    /**
+     * This is an MNS logon account.
+     *
+     * @return AccountControl
+     */
+    public function accountIsMnsLogon()
+    {
+        return $this->add(static::MNS_LOGON_ACCOUNT);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) This account does
+     * not require Kerberos pre-authentication for logging on.
+     *
+     * @return AccountControl
+     */
+    public function accountDoesNotRequirePreAuth()
+    {
+        return $this->add(static::DONT_REQ_PREAUTH);
+    }
+
+    /**
+     * When this flag is set, it forces the user to log on by using a smart card.
+     *
+     * @return AccountControl
+     */
+    public function accountRequiresSmartCard()
+    {
+        return $this->add(static::SMARTCARD_REQUIRED);
+    }
+
+    /**
+     * (Windows Server 2008/Windows Server 2008 R2) The account is a read-only domain controller (RODC).
+     *
+     * This is a security-sensitive setting. Removing this setting from an RODC compromises security on that server.
+     *
+     * @return AccountControl
+     */
+    public function accountIsReadOnly()
+    {
+        return $this->add(static::PARTIAL_SECRETS_ACCOUNT);
+    }
+
+    /**
+     * The home folder is required.
+     *
+     * @return AccountControl
+     */
+    public function homeFolderIsRequired()
+    {
+        return $this->add(static::HOMEDIR_REQUIRED);
+    }
+
+    /**
+     * No password is required.
+     *
+     * @return AccountControl
+     */
+    public function passwordIsNotRequired()
+    {
+        return $this->add(static::PASSWD_NOTREQD);
+    }
+
+    /**
+     * The user cannot change the password. This is a permission on the user's object.
+     *
+     * For information about how to programmatically set this permission, visit the following link:
+     *
+     * @link http://msdn2.microsoft.com/en-us/library/aa746398.aspx
+     *
+     * @return AccountControl
+     */
+    public function passwordCannotBeChanged()
+    {
+        return $this->add(static::PASSWD_NOTREQD);
+    }
+
+    /**
+     * Represents the password, which should never expire on the account.
+     *
+     * @return AccountControl
+     */
+    public function passwordDoesNotExpire()
+    {
+        return $this->add(static::DONT_EXPIRE_PASSWORD);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) The user's password has expired.
+     *
+     * @return AccountControl
+     */
+    public function passwordIsExpired()
+    {
+        return $this->add(static::PASSWORD_EXPIRED);
+    }
+
+    /**
+     * The user can send an encrypted password.
+     *
+     * @return AccountControl
+     */
+    public function allowEncryptedTextPassword()
+    {
+        return $this->add(static::ENCRYPTED_TEXT_PWD_ALLOWED);
+    }
+
+    /**
+     * When this flag is set, the service account (the user or computer account)
+     * under which a service runs is trusted for Kerberos delegation.
+     *
+     * Any such service can impersonate a client requesting the service.
+     *
+     * To enable a service for Kerberos delegation, you must set this
+     * flag on the userAccountControl property of the service account.
+     *
+     * @return AccountControl
+     */
+    public function trustForDelegation()
+    {
+        return $this->add(static::TRUSTED_FOR_DELEGATION);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) The account is enabled for delegation.
+     *
+     * This is a security-sensitive setting. Accounts that have this option enabled
+     * should be tightly controlled. This setting lets a service that runs under the
+     * account assume a client's identity and authenticate as that user to other remote
+     * servers on the network.
+     *
+     * @return AccountControl
+     */
+    public function trustToAuthForDelegation()
+    {
+        return $this->add(static::TRUSTED_TO_AUTH_FOR_DELEGATION);
+    }
+
+    /**
+     * When this flag is set, the security context of the user is not delegated to a
+     * service even if the service account is set as trusted for Kerberos delegation.
+     *
+     * @return AccountControl
+     */
+    public function doNotTrustForDelegation()
+    {
+        return $this->add(static::NOT_DELEGATED);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) Restrict this principal to
+     * use only Data Encryption Standard (DES) encryption types for keys.
+     *
+     * @return AccountControl
+     */
+    public function useDesKeyOnly()
+    {
+        return $this->add(static::USE_DES_KEY_ONLY);
+    }
+
+    /**
+     * Get the account control value.
+     *
+     * @return int
+     */
+    public function getValue()
+    {
+        return array_sum($this->values);
+    }
+
+    /**
+     * Get the account control flag values.
+     *
+     * @return array
+     */
+    public function getValues()
+    {
+        return $this->values;
+    }
+
+    /**
+     * Set the account control values.
+     *
+     * @param array $flags
+     */
+    public function setValues(array $flags)
+    {
+        $this->values = $flags;
+    }
+
+    /**
+     * Get all possible account control flags.
+     *
+     * @return array
+     */
+    public function getAllFlags()
+    {
+        return (new ReflectionClass(__CLASS__))->getConstants();
+    }
+
+    /**
+     * Extracts the given flag into an array of flags used.
+     *
+     * @param int $flag
+     *
+     * @return array
+     */
+    public function extractFlags($flag)
+    {
+        $flags = [];
+
+        for ($i = 0; $i <= 26; $i++) {
+            if ((int) $flag & (1 << $i)) {
+                $flags[1 << $i] = 1 << $i;
+            }
+        }
+
+        return $flags;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/DistinguishedName.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/DistinguishedName.php
new file mode 100644
index 0000000..e610dbf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/DistinguishedName.php
@@ -0,0 +1,312 @@
+<?php
+
+namespace Adldap\Models\Attributes;
+
+use Adldap\Utilities;
+
+class DistinguishedName
+{
+    /**
+     * The distinguished name components (in order of assembly).
+     *
+     * @var array
+     */
+    protected $components = [
+        'cn'  => [],
+        'uid' => [],
+        'ou'  => [],
+        'dc'  => [],
+        'o'   => [],
+    ];
+
+    /**
+     * Constructor.
+     *
+     * @param mixed $baseDn
+     */
+    public function __construct($baseDn = null)
+    {
+        $this->setBase($baseDn);
+    }
+
+    /**
+     * Returns the complete distinguished name.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->get();
+    }
+
+    /**
+     * Returns the complete distinguished name by assembling the RDN components.
+     *
+     * @return string
+     */
+    public function get()
+    {
+        $components = [];
+
+        // We'll go through each component type and assemble its RDN.
+        foreach ($this->components as $component => $values) {
+            array_map(function ($value) use ($component, &$components) {
+                // Assemble the component and escape the value.
+                $components[] = sprintf('%s=%s', $component, ldap_escape($value, '', 2));
+            }, $values);
+        }
+
+        return implode(',', $components);
+    }
+
+    /**
+     * Adds a domain component.
+     *
+     * @param string $dc
+     *
+     * @return DistinguishedName
+     */
+    public function addDc($dc)
+    {
+        $this->addComponent('dc', $dc);
+
+        return $this;
+    }
+
+    /**
+     * Removes a domain component.
+     *
+     * @param string $dc
+     *
+     * @return DistinguishedName
+     */
+    public function removeDc($dc)
+    {
+        $this->removeComponent('dc', $dc);
+
+        return $this;
+    }
+
+    /**
+     * Adds an organization name.
+     *
+     * @param string $o
+     *
+     * @return $this
+     */
+    public function addO($o)
+    {
+        $this->addComponent('o', $o);
+
+        return $this;
+    }
+
+    /**
+     * Removes an organization name.
+     *
+     * @param string $o
+     *
+     * @return DistinguishedName
+     */
+    public function removeO($o)
+    {
+        $this->removeComponent('o', $o);
+
+        return $this;
+    }
+
+    /**
+     * Add a user identifier.
+     *
+     * @param string $uid
+     *
+     * @return DistinguishedName
+     */
+    public function addUid($uid)
+    {
+        $this->addComponent('uid', $uid);
+
+        return $this;
+    }
+
+    /**
+     * Removes a user identifier.
+     *
+     * @param string $uid
+     *
+     * @return DistinguishedName
+     */
+    public function removeUid($uid)
+    {
+        $this->removeComponent('uid', $uid);
+
+        return $this;
+    }
+
+    /**
+     * Adds a common name.
+     *
+     * @param string $cn
+     *
+     * @return DistinguishedName
+     */
+    public function addCn($cn)
+    {
+        $this->addComponent('cn', $cn);
+
+        return $this;
+    }
+
+    /**
+     * Removes a common name.
+     *
+     * @param string $cn
+     *
+     * @return DistinguishedName
+     */
+    public function removeCn($cn)
+    {
+        $this->removeComponent('cn', $cn);
+
+        return $this;
+    }
+
+    /**
+     * Adds an organizational unit.
+     *
+     * @param string $ou
+     *
+     * @return DistinguishedName
+     */
+    public function addOu($ou)
+    {
+        $this->addComponent('ou', $ou);
+
+        return $this;
+    }
+
+    /**
+     * Removes an organizational unit.
+     *
+     * @param string $ou
+     *
+     * @return DistinguishedName
+     */
+    public function removeOu($ou)
+    {
+        $this->removeComponent('ou', $ou);
+
+        return $this;
+    }
+
+    /**
+     * Sets the base RDN of the distinguished name.
+     *
+     * @param string|DistinguishedName $base
+     *
+     * @return DistinguishedName
+     */
+    public function setBase($base)
+    {
+        // Typecast base to string in case we've been given
+        // an instance of the distinguished name object.
+        $base = (string) $base;
+
+        // If the base DN isn't null we'll try to explode it.
+        $base = Utilities::explodeDn($base, false) ?: [];
+
+        // Remove the count key from the exploded distinguished name.
+        unset($base['count']);
+
+        foreach ($base as $key => $rdn) {
+            // We'll break the RDN into pieces
+            $pieces = explode('=', $rdn) ?: [];
+
+            // If there's exactly 2 pieces, then we can work with it.
+            if (count($pieces) === 2) {
+                $attribute = ucfirst(strtolower($pieces[0]));
+
+                $method = 'add'.$attribute;
+
+                if (method_exists($this, $method)) {
+                    // We see what type of RDN it is and add each accordingly.
+                    call_user_func_array([$this, $method], [$pieces[1]]);
+                }
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns an array of all components in the distinguished name.
+     *
+     * If a component name is given ('cn', 'dc' for example) then
+     * the values of that component will be returned.
+     *
+     * @param string|null $component The component to retrieve values of
+     *
+     * @return array
+     */
+    public function getComponents($component = null)
+    {
+        if (is_null($component)) {
+            return $this->components;
+        }
+
+        $this->validateComponentExists($component);
+
+        return $this->components[$component];
+    }
+
+    /**
+     * Adds a component to the distinguished name.
+     *
+     * @param string $component
+     * @param string $value
+     *
+     * @throws \UnexpectedValueException When the given name does not exist.
+     */
+    protected function addComponent($component, $value)
+    {
+        $this->validateComponentExists($component);
+
+        // We need to make sure the value we're given isn't empty before adding it into our components.
+        if (!empty($value)) {
+            $this->components[$component][] = $value;
+        }
+    }
+
+    /**
+     * Removes the given value from the given component.
+     *
+     * @param string $component
+     * @param string $value
+     *
+     * @throws \UnexpectedValueException When the given component does not exist.
+     *
+     * @return void
+     */
+    protected function removeComponent($component, $value)
+    {
+        $this->validateComponentExists($component);
+
+        $this->components[$component] = array_diff($this->components[$component], [$value]);
+    }
+
+    /**
+     * Validates that the given component exists in the available components.
+     *
+     * @param string $component The name of the component to validate.
+     *
+     * @throws \UnexpectedValueException When the given component does not exist.
+     *
+     * @return void
+     */
+    protected function validateComponentExists($component)
+    {
+        if (!array_key_exists($component, $this->components)) {
+            throw new \UnexpectedValueException("The RDN component '$component' does not exist.");
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/Guid.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/Guid.php
new file mode 100644
index 0000000..6c6a600
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/Guid.php
@@ -0,0 +1,157 @@
+<?php
+
+namespace Adldap\Models\Attributes;
+
+use Adldap\Utilities;
+use InvalidArgumentException;
+
+class Guid
+{
+    /**
+     * The string GUID value.
+     *
+     * @var string
+     */
+    protected $value;
+
+    /**
+     * The guid structure in order by section to parse using substr().
+     *
+     * @author Chad Sikorra <Chad.Sikorra@gmail.com>
+     *
+     * @link https://github.com/ldaptools/ldaptools
+     *
+     * @var array
+     */
+    protected $guidSections = [
+        [[-26, 2], [-28, 2], [-30, 2], [-32, 2]],
+        [[-22, 2], [-24, 2]],
+        [[-18, 2], [-20, 2]],
+        [[-16, 4]],
+        [[-12, 12]],
+    ];
+
+    /**
+     * The hexadecimal octet order based on string position.
+     *
+     * @author Chad Sikorra <Chad.Sikorra@gmail.com>
+     *
+     * @link https://github.com/ldaptools/ldaptools
+     *
+     * @var array
+     */
+    protected $octetSections = [
+        [6, 4, 2, 0],
+        [10, 8],
+        [14, 12],
+        [16, 18, 20, 22, 24, 26, 28, 30],
+    ];
+
+    /**
+     * Determines if the specified GUID is valid.
+     *
+     * @param string $guid
+     *
+     * @return bool
+     */
+    public static function isValid($guid)
+    {
+        return Utilities::isValidGuid($guid);
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param mixed $value
+     *
+     * @throws InvalidArgumentException
+     */
+    public function __construct($value)
+    {
+        if (static::isValid($value)) {
+            $this->value = $value;
+        } elseif ($value = $this->binaryGuidToString($value)) {
+            $this->value = $value;
+        } else {
+            throw new InvalidArgumentException('Invalid Binary / String GUID.');
+        }
+    }
+
+    /**
+     * Returns the string value of the GUID.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->getValue();
+    }
+
+    /**
+     * Returns the string value of the SID.
+     *
+     * @return string
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Get the binary representation of the GUID string.
+     *
+     * @return string
+     */
+    public function getBinary()
+    {
+        $data = '';
+
+        $guid = str_replace('-', '', $this->value);
+
+        foreach ($this->octetSections as $section) {
+            $data .= $this->parseSection($guid, $section, true);
+        }
+
+        return hex2bin($data);
+    }
+
+    /**
+     * Returns the string variant of a binary GUID.
+     *
+     * @param string $binary
+     *
+     * @return string|null
+     */
+    protected function binaryGuidToString($binary)
+    {
+        return Utilities::binaryGuidToString($binary);
+    }
+
+    /**
+     * Return the specified section of the hexadecimal string.
+     *
+     * @author Chad Sikorra <Chad.Sikorra@gmail.com>
+     *
+     * @link https://github.com/ldaptools/ldaptools
+     *
+     * @param string $hex      The full hex string.
+     * @param array  $sections An array of start and length (unless octet is true, then length is always 2).
+     * @param bool   $octet    Whether this is for octet string form.
+     *
+     * @return string The concatenated sections in upper-case.
+     */
+    protected function parseSection($hex, array $sections, $octet = false)
+    {
+        $parsedString = '';
+
+        foreach ($sections as $section) {
+            $start = $octet ? $section : $section[0];
+
+            $length = $octet ? 2 : $section[1];
+
+            $parsedString .= substr($hex, $start, $length);
+        }
+
+        return $parsedString;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/MbString.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/MbString.php
new file mode 100644
index 0000000..54a0db8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/MbString.php
@@ -0,0 +1,80 @@
+<?php
+
+namespace Adldap\Models\Attributes;
+
+class MbString
+{
+    /**
+     * Get the integer value of a specific character.
+     *
+     * @param $string
+     *
+     * @return int
+     */
+    public static function ord($string)
+    {
+        if (self::isLoaded()) {
+            $result = unpack('N', mb_convert_encoding($string, 'UCS-4BE', 'UTF-8'));
+
+            if (is_array($result) === true) {
+                return $result[1];
+            }
+        }
+
+        return ord($string);
+    }
+
+    /**
+     * Get the character for a specific integer value.
+     *
+     * @param $int
+     *
+     * @return string
+     */
+    public static function chr($int)
+    {
+        if (self::isLoaded()) {
+            return mb_convert_encoding(pack('n', $int), 'UTF-8', 'UTF-16BE');
+        }
+
+        return chr($int);
+    }
+
+    /**
+     * Split a string into its individual characters and return it as an array.
+     *
+     * @param string $value
+     *
+     * @return string[]
+     */
+    public static function split($value)
+    {
+        return preg_split('/(?<!^)(?!$)/u', $value);
+    }
+
+    /**
+     * Detects if the given string is UTF 8.
+     *
+     * @param $string
+     *
+     * @return string|false
+     */
+    public static function isUtf8($string)
+    {
+        if (self::isLoaded()) {
+            return mb_detect_encoding($string, 'UTF-8', $strict = true);
+        }
+
+        return $string;
+    }
+
+    /**
+     * Checks if the mbstring extension is enabled in PHP.
+     *
+     * @return bool
+     */
+    public static function isLoaded()
+    {
+        return extension_loaded('mbstring');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/Sid.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/Sid.php
new file mode 100644
index 0000000..a599e2c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/Sid.php
@@ -0,0 +1,101 @@
+<?php
+
+namespace Adldap\Models\Attributes;
+
+use Adldap\Utilities;
+use InvalidArgumentException;
+
+class Sid
+{
+    /**
+     * The string SID value.
+     *
+     * @var string
+     */
+    protected $value;
+
+    /**
+     * Determines if the specified SID is valid.
+     *
+     * @param string $sid
+     *
+     * @return bool
+     */
+    public static function isValid($sid)
+    {
+        return Utilities::isValidSid($sid);
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param mixed $value
+     *
+     * @throws InvalidArgumentException
+     */
+    public function __construct($value)
+    {
+        if (static::isValid($value)) {
+            $this->value = $value;
+        } elseif ($value = $this->binarySidToString($value)) {
+            $this->value = $value;
+        } else {
+            throw new InvalidArgumentException('Invalid Binary / String SID.');
+        }
+    }
+
+    /**
+     * Returns the string value of the SID.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->getValue();
+    }
+
+    /**
+     * Returns the string value of the SID.
+     *
+     * @return string
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Returns the binary variant of the SID.
+     *
+     * @return string
+     */
+    public function getBinary()
+    {
+        $sid = explode('-', ltrim($this->value, 'S-'));
+
+        $level = (int) array_shift($sid);
+
+        $authority = (int) array_shift($sid);
+
+        $subAuthorities = array_map('intval', $sid);
+
+        $params = array_merge(
+            ['C2xxNV*', $level, count($subAuthorities), $authority],
+            $subAuthorities
+        );
+
+        return call_user_func_array('pack', $params);
+    }
+
+    /**
+     * Returns the string variant of a binary SID.
+     *
+     * @param string $binary
+     *
+     * @return string|null
+     */
+    protected function binarySidToString($binary)
+    {
+        return Utilities::binarySidToString($binary);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/TSProperty.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/TSProperty.php
new file mode 100644
index 0000000..aa3d63c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/TSProperty.php
@@ -0,0 +1,396 @@
+<?php
+
+namespace Adldap\Models\Attributes;
+
+class TSProperty
+{
+    /**
+     * Nibble control values. The first value for each is if the nibble is <= 9, otherwise the second value is used.
+     */
+    const NIBBLE_CONTROL = [
+        'X' => ['001011', '011010'],
+        'Y' => ['001110', '011010'],
+    ];
+
+    /**
+     * The nibble header.
+     */
+    const NIBBLE_HEADER = '1110';
+
+    /**
+     * Conversion factor needed for time values in the TSPropertyArray (stored in microseconds).
+     */
+    const TIME_CONVERSION = 60 * 1000;
+
+    /**
+     * A simple map to help determine how the property needs to be decoded/encoded from/to its binary value.
+     *
+     * There are some names that are simple repeats but have 'W' at the end. Not sure as to what that signifies. I
+     * cannot find any information on them in Microsoft documentation. However, their values appear to stay in sync with
+     * their non 'W' counterparts. But not doing so when manipulating the data manually does not seem to affect anything.
+     * This probably needs more investigation.
+     *
+     * @var array
+     */
+    protected $propTypes = [
+        'string' => [
+            'CtxWFHomeDir',
+            'CtxWFHomeDirW',
+            'CtxWFHomeDirDrive',
+            'CtxWFHomeDirDriveW',
+            'CtxInitialProgram',
+            'CtxInitialProgramW',
+            'CtxWFProfilePath',
+            'CtxWFProfilePathW',
+            'CtxWorkDirectory',
+            'CtxWorkDirectoryW',
+            'CtxCallbackNumber',
+        ],
+        'time' => [
+            'CtxMaxDisconnectionTime',
+            'CtxMaxConnectionTime',
+            'CtxMaxIdleTime',
+        ],
+        'int' => [
+            'CtxCfgFlags1',
+            'CtxCfgPresent',
+            'CtxKeyboardLayout',
+            'CtxMinEncryptionLevel',
+            'CtxNWLogonServer',
+            'CtxShadow',
+        ],
+    ];
+
+    /**
+     * The property name.
+     *
+     * @var string
+     */
+    protected $name;
+
+    /**
+     * The property value.
+     *
+     * @var string|int
+     */
+    protected $value;
+
+    /**
+     * The property value type.
+     *
+     * @var int
+     */
+    protected $valueType = 1;
+
+    /**
+     * Pass binary TSProperty data to construct its object representation.
+     *
+     * @param string|null $value
+     */
+    public function __construct($value = null)
+    {
+        if ($value) {
+            $this->decode(bin2hex($value));
+        }
+    }
+
+    /**
+     * Set the name for the TSProperty.
+     *
+     * @param string $name
+     *
+     * @return TSProperty
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * Get the name for the TSProperty.
+     *
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * Set the value for the TSProperty.
+     *
+     * @param string|int $value
+     *
+     * @return TSProperty
+     */
+    public function setValue($value)
+    {
+        $this->value = $value;
+
+        return $this;
+    }
+
+    /**
+     * Get the value for the TSProperty.
+     *
+     * @return string|int
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Convert the TSProperty name/value back to its binary
+     * representation for the userParameters blob.
+     *
+     * @return string
+     */
+    public function toBinary()
+    {
+        $name = bin2hex($this->name);
+
+        $binValue = $this->getEncodedValueForProp($this->name, $this->value);
+
+        $valueLen = strlen(bin2hex($binValue)) / 3;
+
+        $binary = hex2bin(
+            $this->dec2hex(strlen($name))
+            .$this->dec2hex($valueLen)
+            .$this->dec2hex($this->valueType)
+            .$name
+        );
+
+        return $binary.$binValue;
+    }
+
+    /**
+     * Given a TSProperty blob, decode the name/value/type/etc.
+     *
+     * @param string $tsProperty
+     */
+    protected function decode($tsProperty)
+    {
+        $nameLength = hexdec(substr($tsProperty, 0, 2));
+
+        // 1 data byte is 3 encoded bytes
+        $valueLength = hexdec(substr($tsProperty, 2, 2)) * 3;
+
+        $this->valueType = hexdec(substr($tsProperty, 4, 2));
+        $this->name = pack('H*', substr($tsProperty, 6, $nameLength));
+        $this->value = $this->getDecodedValueForProp($this->name, substr($tsProperty, 6 + $nameLength, $valueLength));
+    }
+
+    /**
+     * Based on the property name/value in question, get its encoded form.
+     *
+     * @param string     $propName
+     * @param string|int $propValue
+     *
+     * @return string
+     */
+    protected function getEncodedValueForProp($propName, $propValue)
+    {
+        if (in_array($propName, $this->propTypes['string'])) {
+            // Simple strings are null terminated. Unsure if this is
+            // needed or simply a product of how ADUC does stuff?
+            $value = $this->encodePropValue($propValue."\0", true);
+        } elseif (in_array($propName, $this->propTypes['time'])) {
+            // Needs to be in microseconds (assuming it is in minute format)...
+            $value = $this->encodePropValue($propValue * self::TIME_CONVERSION);
+        } else {
+            $value = $this->encodePropValue($propValue);
+        }
+
+        return $value;
+    }
+
+    /**
+     * Based on the property name in question, get its actual value from the binary blob value.
+     *
+     * @param string $propName
+     * @param string $propValue
+     *
+     * @return string|int
+     */
+    protected function getDecodedValueForProp($propName, $propValue)
+    {
+        if (in_array($propName, $this->propTypes['string'])) {
+            // Strip away null terminators. I think this should
+            // be desired, otherwise it just ends in confusion.
+            $value = str_replace("\0", '', $this->decodePropValue($propValue, true));
+        } elseif (in_array($propName, $this->propTypes['time'])) {
+            // Convert from microseconds to minutes (how ADUC displays
+            // it anyway, and seems the most practical).
+            $value = hexdec($this->decodePropValue($propValue)) / self::TIME_CONVERSION;
+        } elseif (in_array($propName, $this->propTypes['int'])) {
+            $value = hexdec($this->decodePropValue($propValue));
+        } else {
+            $value = $this->decodePropValue($propValue);
+        }
+
+        return $value;
+    }
+
+    /**
+     * Decode the property by inspecting the nibbles of each blob, checking
+     * the control, and adding up the results into a final value.
+     *
+     * @param string $hex
+     * @param bool   $string Whether or not this is simple string data.
+     *
+     * @return string
+     */
+    protected function decodePropValue($hex, $string = false)
+    {
+        $decodePropValue = '';
+
+        $blobs = str_split($hex, 6);
+
+        foreach ($blobs as $blob) {
+            $bin = decbin(hexdec($blob));
+
+            $controlY = substr($bin, 4, 6);
+            $nibbleY = substr($bin, 10, 4);
+            $controlX = substr($bin, 14, 6);
+            $nibbleX = substr($bin, 20, 4);
+
+            $byte = $this->nibbleControl($nibbleX, $controlX).$this->nibbleControl($nibbleY, $controlY);
+
+            if ($string) {
+                $decodePropValue .= MbString::chr(bindec($byte));
+            } else {
+                $decodePropValue = $this->dec2hex(bindec($byte)).$decodePropValue;
+            }
+        }
+
+        return $decodePropValue;
+    }
+
+    /**
+     * Get the encoded property value as a binary blob.
+     *
+     * @param string $value
+     * @param bool   $string
+     *
+     * @return string
+     */
+    protected function encodePropValue($value, $string = false)
+    {
+        // An int must be properly padded. (then split and reversed).
+        // For a string, we just split the chars. This seems
+        // to be the easiest way to handle UTF-8 characters
+        // instead of trying to work with their hex values.
+        $chars = $string ? MbString::split($value) : array_reverse(str_split($this->dec2hex($value, 8), 2));
+
+        $encoded = '';
+
+        foreach ($chars as $char) {
+            // Get the bits for the char. Using this method to ensure it is fully padded.
+            $bits = sprintf('%08b', $string ? MbString::ord($char) : hexdec($char));
+            $nibbleX = substr($bits, 0, 4);
+            $nibbleY = substr($bits, 4, 4);
+
+            // Construct the value with the header, high nibble, then low nibble.
+            $value = self::NIBBLE_HEADER;
+
+            foreach (['Y' => $nibbleY, 'X' => $nibbleX] as $nibbleType => $nibble) {
+                $value .= $this->getNibbleWithControl($nibbleType, $nibble);
+            }
+
+            // Convert it back to a binary bit stream
+            foreach ([0, 8, 16] as $start) {
+                $encoded .= $this->packBitString(substr($value, $start, 8), 8);
+            }
+        }
+
+        return $encoded;
+    }
+
+    /**
+     * PHP's pack() function has no 'b' or 'B' template. This is
+     * a workaround that turns a literal bit-string into a
+     * packed byte-string with 8 bits per byte.
+     *
+     * @param string $bits
+     * @param bool   $len
+     *
+     * @return string
+     */
+    protected function packBitString($bits, $len)
+    {
+        $bits = substr($bits, 0, $len);
+        // Pad input with zeros to next multiple of 4 above $len
+        $bits = str_pad($bits, 4 * (int) (($len + 3) / 4), '0');
+
+        // Split input into chunks of 4 bits, convert each to hex and pack them
+        $nibbles = str_split($bits, 4);
+        foreach ($nibbles as $i => $nibble) {
+            $nibbles[$i] = base_convert($nibble, 2, 16);
+        }
+
+        return pack('H*', implode('', $nibbles));
+    }
+
+    /**
+     * Based on the control, adjust the nibble accordingly.
+     *
+     * @param string $nibble
+     * @param string $control
+     *
+     * @return string
+     */
+    protected function nibbleControl($nibble, $control)
+    {
+        // This control stays constant for the low/high nibbles,
+        // so it doesn't matter which we compare to
+        if ($control == self::NIBBLE_CONTROL['X'][1]) {
+            $dec = bindec($nibble);
+            $dec += 9;
+            $nibble = str_pad(decbin($dec), 4, '0', STR_PAD_LEFT);
+        }
+
+        return $nibble;
+    }
+
+    /**
+     * Get the nibble value with the control prefixed.
+     *
+     * If the nibble dec is <= 9, the control X equals 001011 and Y equals 001110, otherwise if the nibble dec is > 9
+     * the control for X or Y equals 011010. Additionally, if the dec value of the nibble is > 9, then the nibble value
+     * must be subtracted by 9 before the final value is constructed.
+     *
+     * @param string $nibbleType Either X or Y
+     * @param string $nibble
+     *
+     * @return string
+     */
+    protected function getNibbleWithControl($nibbleType, $nibble)
+    {
+        $dec = bindec($nibble);
+
+        if ($dec > 9) {
+            $dec -= 9;
+            $control = self::NIBBLE_CONTROL[$nibbleType][1];
+        } else {
+            $control = self::NIBBLE_CONTROL[$nibbleType][0];
+        }
+
+        return $control.sprintf('%04d', decbin($dec));
+    }
+
+    /**
+     * Need to make sure hex values are always an even length, so pad as needed.
+     *
+     * @param int $int
+     * @param int $padLength The hex string must be padded to this length (with zeros).
+     *
+     * @return string
+     */
+    protected function dec2hex($int, $padLength = 2)
+    {
+        return str_pad(dechex($int), $padLength, 0, STR_PAD_LEFT);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/TSPropertyArray.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/TSPropertyArray.php
new file mode 100644
index 0000000..4eac74b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Attributes/TSPropertyArray.php
@@ -0,0 +1,295 @@
+<?php
+
+namespace Adldap\Models\Attributes;
+
+use InvalidArgumentException;
+
+class TSPropertyArray
+{
+    /**
+     * Represents that the TSPropertyArray data is valid.
+     */
+    const VALID_SIGNATURE = 'P';
+
+    /**
+     * The default values for the TSPropertyArray structure.
+     *
+     * @var array
+     */
+    const DEFAULTS = [
+        'CtxCfgPresent'           => 2953518677,
+        'CtxWFProfilePath'        => '',
+        'CtxWFProfilePathW'       => '',
+        'CtxWFHomeDir'            => '',
+        'CtxWFHomeDirW'           => '',
+        'CtxWFHomeDirDrive'       => '',
+        'CtxWFHomeDirDriveW'      => '',
+        'CtxShadow'               => 1,
+        'CtxMaxDisconnectionTime' => 0,
+        'CtxMaxConnectionTime'    => 0,
+        'CtxMaxIdleTime'          => 0,
+        'CtxWorkDirectory'        => '',
+        'CtxWorkDirectoryW'       => '',
+        'CtxCfgFlags1'            => 2418077696,
+        'CtxInitialProgram'       => '',
+        'CtxInitialProgramW'      => '',
+    ];
+
+    /**
+     * @var string The default data that occurs before the TSPropertyArray (CtxCfgPresent with a bunch of spaces...?)
+     */
+    protected $defaultPreBinary = '43747843666750726573656e742020202020202020202020202020202020202020202020202020202020202020202020';
+
+    /**
+     * @var TSProperty[]
+     */
+    protected $tsProperty = [];
+
+    /**
+     * @var string
+     */
+    protected $signature = self::VALID_SIGNATURE;
+
+    /**
+     * Binary data that occurs before the TSPropertyArray data in userParameters.
+     *
+     * @var string
+     */
+    protected $preBinary = '';
+
+    /**
+     * Binary data that occurs after the TSPropertyArray data in userParameters.
+     *
+     * @var string
+     */
+    protected $postBinary = '';
+
+    /**
+     * Construct in one of the following ways:.
+     *
+     *   - Pass an array of TSProperty key => value pairs (See DEFAULTS constant).
+     *   - Pass the userParameters binary value. The object representation of that will be decoded and constructed.
+     *   - Pass nothing and a default set of TSProperty key => value pairs will be used (See DEFAULTS constant).
+     *
+     * @param mixed $tsPropertyArray
+     */
+    public function __construct($tsPropertyArray = null)
+    {
+        $this->preBinary = hex2bin($this->defaultPreBinary);
+
+        if (is_null($tsPropertyArray) || is_array($tsPropertyArray)) {
+            $tsPropertyArray = $tsPropertyArray ?: self::DEFAULTS;
+
+            foreach ($tsPropertyArray as $key => $value) {
+                $tsProperty = new TSProperty();
+
+                $this->tsProperty[$key] = $tsProperty->setName($key)->setValue($value);
+            }
+        } else {
+            $this->decodeUserParameters($tsPropertyArray);
+        }
+    }
+
+    /**
+     * Check if a specific TSProperty exists by its property name.
+     *
+     * @param string $propName
+     *
+     * @return bool
+     */
+    public function has($propName)
+    {
+        return array_key_exists(strtolower($propName), array_change_key_case($this->tsProperty));
+    }
+
+    /**
+     * Get a TSProperty object by its property name (ie. CtxWFProfilePath).
+     *
+     * @param string $propName
+     *
+     * @return TSProperty
+     */
+    public function get($propName)
+    {
+        $this->validateProp($propName);
+
+        return $this->getTsPropObj($propName);
+    }
+
+    /**
+     * Add a TSProperty object. If it already exists, it will be overwritten.
+     *
+     * @param TSProperty $tsProperty
+     *
+     * @return $this
+     */
+    public function add(TSProperty $tsProperty)
+    {
+        $this->tsProperty[$tsProperty->getName()] = $tsProperty;
+
+        return $this;
+    }
+
+    /**
+     * Remove a TSProperty by its property name (ie. CtxMinEncryptionLevel).
+     *
+     * @param string $propName
+     *
+     * @return $this
+     */
+    public function remove($propName)
+    {
+        foreach (array_keys($this->tsProperty) as $property) {
+            if (strtolower($propName) == strtolower($property)) {
+                unset($this->tsProperty[$property]);
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Set the value for a specific TSProperty by its name.
+     *
+     * @param string $propName
+     * @param mixed  $propValue
+     *
+     * @return $this
+     */
+    public function set($propName, $propValue)
+    {
+        $this->validateProp($propName);
+
+        $this->getTsPropObj($propName)->setValue($propValue);
+
+        return $this;
+    }
+
+    /**
+     * Get the full binary representation of the userParameters containing the TSPropertyArray data.
+     *
+     * @return string
+     */
+    public function toBinary()
+    {
+        $binary = $this->preBinary;
+
+        $binary .= hex2bin(str_pad(dechex(MbString::ord($this->signature)), 2, 0, STR_PAD_LEFT));
+
+        $binary .= hex2bin(str_pad(dechex(count($this->tsProperty)), 2, 0, STR_PAD_LEFT));
+
+        foreach ($this->tsProperty as $tsProperty) {
+            $binary .= $tsProperty->toBinary();
+        }
+
+        return $binary.$this->postBinary;
+    }
+
+    /**
+     * Get a simple associative array containing of all TSProperty names and values.
+     *
+     * @return array
+     */
+    public function toArray()
+    {
+        $userParameters = [];
+
+        foreach ($this->tsProperty as $property => $tsPropObj) {
+            $userParameters[$property] = $tsPropObj->getValue();
+        }
+
+        return $userParameters;
+    }
+
+    /**
+     * Get all TSProperty objects.
+     *
+     * @return TSProperty[]
+     */
+    public function getTSProperties()
+    {
+        return $this->tsProperty;
+    }
+
+    /**
+     * Validates that the given property name exists.
+     *
+     * @param string $propName
+     */
+    protected function validateProp($propName)
+    {
+        if (!$this->has($propName)) {
+            throw new InvalidArgumentException(sprintf('TSProperty for "%s" does not exist.', $propName));
+        }
+    }
+
+    /**
+     * @param string $propName
+     *
+     * @return TSProperty
+     */
+    protected function getTsPropObj($propName)
+    {
+        return array_change_key_case($this->tsProperty)[strtolower($propName)];
+    }
+
+    /**
+     * Get an associative array with all of the userParameters property names and values.
+     *
+     * @param string $userParameters
+     *
+     * @return void
+     */
+    protected function decodeUserParameters($userParameters)
+    {
+        $userParameters = bin2hex($userParameters);
+
+        // Save the 96-byte array of reserved data, so as to not ruin anything that may be stored there.
+        $this->preBinary = hex2bin(substr($userParameters, 0, 96));
+        // The signature is a 2-byte unicode character at the front
+        $this->signature = MbString::chr(hexdec(substr($userParameters, 96, 2)));
+        // This asserts the validity of the tsPropertyArray data. For some reason 'P' means valid...
+        if ($this->signature != self::VALID_SIGNATURE) {
+            throw new InvalidArgumentException('Invalid TSPropertyArray data');
+        }
+
+        // The property count is a 2-byte unsigned integer indicating the number of elements for the tsPropertyArray
+        // It starts at position 98. The actual variable data begins at position 100.
+        $length = $this->addTSPropData(substr($userParameters, 100), hexdec(substr($userParameters, 98, 2)));
+
+        // Reserved data length + (count and sig length == 4) + the added lengths of the TSPropertyArray
+        // This saves anything after that variable TSPropertyArray data, so as to not squash anything stored there
+        if (strlen($userParameters) > (96 + 4 + $length)) {
+            $this->postBinary = hex2bin(substr($userParameters, (96 + 4 + $length)));
+        }
+    }
+
+    /**
+     * Given the start of TSPropertyArray hex data, and the count for the number
+     * of TSProperty structures in contains, parse and split out the
+     * individual TSProperty structures. Return the full length
+     * of the TSPropertyArray data.
+     *
+     * @param string $tsPropertyArray
+     * @param int    $tsPropCount
+     *
+     * @return int The length of the data in the TSPropertyArray
+     */
+    protected function addTSPropData($tsPropertyArray, $tsPropCount)
+    {
+        $length = 0;
+
+        for ($i = 0; $i < $tsPropCount; $i++) {
+            // Prop length = name length + value length + type length + the space for the length data.
+            $propLength = hexdec(substr($tsPropertyArray, $length, 2)) + (hexdec(substr($tsPropertyArray, $length + 2, 2)) * 3) + 6;
+
+            $tsProperty = new TSProperty(hex2bin(substr($tsPropertyArray, $length, $propLength)));
+
+            $this->tsProperty[$tsProperty->getName()] = $tsProperty;
+
+            $length += $propLength;
+        }
+
+        return $length;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/BatchModification.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/BatchModification.php
new file mode 100644
index 0000000..08ddca8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/BatchModification.php
@@ -0,0 +1,270 @@
+<?php
+
+namespace Adldap\Models;
+
+use InvalidArgumentException;
+
+/**
+ * Class BatchModification.
+ *
+ * A utility class to assist in the creation of LDAP
+ * batch modifications and ensure their validity.
+ */
+class BatchModification
+{
+    /**
+     * The array keys to be used in batch modifications.
+     */
+    const KEY_ATTRIB = 'attrib';
+    const KEY_MODTYPE = 'modtype';
+    const KEY_VALUES = 'values';
+
+    /**
+     * The original value of the attribute before modification.
+     *
+     * @var null
+     */
+    protected $original = null;
+
+    /**
+     * The attribute of the modification.
+     *
+     * @var int|string
+     */
+    protected $attribute;
+
+    /**
+     * The values of the modification.
+     *
+     * @var array
+     */
+    protected $values = [];
+
+    /**
+     * The modtype integer of the batch modification.
+     *
+     * @var int
+     */
+    protected $type;
+
+    /**
+     * Constructor.
+     *
+     * @param string|null     $attribute
+     * @param string|int|null $type
+     * @param array           $values
+     */
+    public function __construct($attribute = null, $type = null, $values = [])
+    {
+        $this->setAttribute($attribute)
+            ->setType($type)
+            ->setValues($values);
+    }
+
+    /**
+     * Sets the original value of the attribute before modification.
+     *
+     * @param mixed $original
+     *
+     * @return $this
+     */
+    public function setOriginal($original = null)
+    {
+        $this->original = $original;
+
+        return $this;
+    }
+
+    /**
+     * Returns the original value of the attribute before modification.
+     *
+     * @return mixed
+     */
+    public function getOriginal()
+    {
+        return $this->original;
+    }
+
+    /**
+     * Sets the attribute of the modification.
+     *
+     * @param string $attribute
+     *
+     * @return $this
+     */
+    public function setAttribute($attribute)
+    {
+        $this->attribute = $attribute;
+
+        return $this;
+    }
+
+    /**
+     * Returns the attribute of the modification.
+     *
+     * @return string
+     */
+    public function getAttribute()
+    {
+        return $this->attribute;
+    }
+
+    /**
+     * Sets the values of the modification.
+     *
+     * @param array $values
+     *
+     * @return $this
+     */
+    public function setValues(array $values = [])
+    {
+        $this->values = array_map(function ($value) {
+            // We need to make sure all values given to a batch modification are
+            // strings, otherwise we'll receive an LDAP exception when
+            // we try to process the modification.
+            return (string) $value;
+        }, $values);
+
+        return $this;
+    }
+
+    /**
+     * Returns the values of the modification.
+     *
+     * @return array
+     */
+    public function getValues()
+    {
+        return $this->values;
+    }
+
+    /**
+     * Sets the type of the modification.
+     *
+     * @param int|null $type
+     *
+     * @return $this
+     */
+    public function setType($type = null)
+    {
+        if (!is_null($type) && !$this->isValidType($type)) {
+            throw new InvalidArgumentException('Given batch modification type is invalid.');
+        }
+
+        $this->type = $type;
+
+        return $this;
+    }
+
+    /**
+     * Returns the type of the modification.
+     *
+     * @return int
+     */
+    public function getType()
+    {
+        return $this->type;
+    }
+
+    /**
+     * Determines if the batch modification
+     * is valid in its current state.
+     *
+     * @return bool
+     */
+    public function isValid()
+    {
+        return !is_null($this->get());
+    }
+
+    /**
+     * Builds the type of modification automatically
+     * based on the current and original values.
+     *
+     * @return $this
+     */
+    public function build()
+    {
+        $filtered = array_diff(
+            array_map('trim', $this->values),
+            ['']
+        );
+
+        if (is_null($this->original)) {
+            // If the original value is null, we'll assume
+            // that the attribute doesn't exist yet.
+            if (!empty($filtered)) {
+                // If the filtered array is not empty, we can
+                // assume we're looking to add values
+                // to the current attribute.
+                $this->setType(LDAP_MODIFY_BATCH_ADD);
+            }
+
+            // If the filtered array is empty and there is no original
+            // value, then we can ignore this attribute since
+            // we can't push null values to the server.
+        } else {
+            if (empty($filtered)) {
+                // If there's an original value and the array is
+                // empty then we can assume we are looking
+                // to completely remove all values
+                // of the current attribute.
+                $this->setType(LDAP_MODIFY_BATCH_REMOVE_ALL);
+            } else {
+                // If the array isn't empty then we can assume
+                // we're looking to replace all attributes.
+                $this->setType(LDAP_MODIFY_BATCH_REPLACE);
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns the built batch modification array.
+     *
+     * @return array|null
+     */
+    public function get()
+    {
+        switch ($this->type) {
+            case LDAP_MODIFY_BATCH_REMOVE_ALL:
+                // A values key cannot be provided when
+                // a remove all type is selected.
+                return [
+                    static::KEY_ATTRIB  => $this->attribute,
+                    static::KEY_MODTYPE => $this->type,
+                ];
+            case LDAP_MODIFY_BATCH_REMOVE:
+                // Fallthrough.
+            case LDAP_MODIFY_BATCH_ADD:
+                // Fallthrough.
+            case LDAP_MODIFY_BATCH_REPLACE:
+                return [
+                    static::KEY_ATTRIB  => $this->attribute,
+                    static::KEY_MODTYPE => $this->type,
+                    static::KEY_VALUES  => $this->values,
+                ];
+            default:
+                // If the modtype isn't recognized, we'll return null.
+                return;
+        }
+    }
+
+    /**
+     * Determines if the given modtype is valid.
+     *
+     * @param int $type
+     *
+     * @return bool
+     */
+    protected function isValidType($type)
+    {
+        return in_array($type, [
+            LDAP_MODIFY_BATCH_REMOVE_ALL,
+            LDAP_MODIFY_BATCH_REMOVE,
+            LDAP_MODIFY_BATCH_REPLACE,
+            LDAP_MODIFY_BATCH_ADD,
+        ]);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Computer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Computer.php
new file mode 100644
index 0000000..e00f259
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Computer.php
@@ -0,0 +1,87 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class Computer.
+ *
+ * Represents an LDAP computer / server.
+ */
+class Computer extends Entry
+{
+    use Concerns\HasMemberOf;
+    use Concerns\HasDescription;
+    use Concerns\HasLastLogonAndLogOff;
+    use Concerns\HasUserAccountControl;
+    use Concerns\HasCriticalSystemObject;
+
+    /**
+     * Returns the computers operating system.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679076(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getOperatingSystem()
+    {
+        return $this->getFirstAttribute($this->schema->operatingSystem());
+    }
+
+    /**
+     * Returns the computers operating system version.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679079(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getOperatingSystemVersion()
+    {
+        return $this->getFirstAttribute($this->schema->operatingSystemVersion());
+    }
+
+    /**
+     * Returns the computers operating system service pack.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679078(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getOperatingSystemServicePack()
+    {
+        return $this->getFirstAttribute($this->schema->operatingSystemServicePack());
+    }
+
+    /**
+     * Returns the computers DNS host name.
+     *
+     * @return string
+     */
+    public function getDnsHostName()
+    {
+        return $this->getFirstAttribute($this->schema->dnsHostName());
+    }
+
+    /**
+     * Returns the computers bad password time.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675243(v=vs.85).aspx
+     *
+     * @return int
+     */
+    public function getBadPasswordTime()
+    {
+        return $this->getFirstAttribute($this->schema->badPasswordTime());
+    }
+
+    /**
+     * Returns the computers account expiry date.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675098(v=vs.85).aspx
+     *
+     * @return int
+     */
+    public function getAccountExpiry()
+    {
+        return $this->getFirstAttribute($this->schema->accountExpires());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasAttributes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasAttributes.php
new file mode 100644
index 0000000..2235bbe
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasAttributes.php
@@ -0,0 +1,345 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+use Illuminate\Support\Arr;
+
+trait HasAttributes
+{
+    /**
+     * The default output date format for all time related methods.
+     *
+     * Default format is suited for MySQL timestamps.
+     *
+     * @var string
+     */
+    public $dateFormat = 'Y-m-d H:i:s';
+
+    /**
+     * The format that is used to convert timestamps to unix timestamps.
+     *
+     * Currently set for compatibility with Active Directory.
+     *
+     * @var string
+     */
+    protected $timestampFormat = 'YmdHis.0Z';
+
+    /**
+     * The models attributes.
+     *
+     * @var array
+     */
+    protected $attributes = [];
+
+    /**
+     * The models original attributes.
+     *
+     * @var array
+     */
+    protected $original = [];
+
+    /**
+     * Dynamically retrieve attributes on the object.
+     *
+     * @param mixed $key
+     *
+     * @return bool
+     */
+    public function __get($key)
+    {
+        return $this->getAttribute($key);
+    }
+
+    /**
+     * Dynamically set attributes on the object.
+     *
+     * @param mixed $key
+     * @param mixed $value
+     *
+     * @return $this
+     */
+    public function __set($key, $value)
+    {
+        return $this->setAttribute($key, $value);
+    }
+
+    /**
+     * Synchronizes the models original attributes
+     * with the model's current attributes.
+     *
+     * @return $this
+     */
+    public function syncOriginal()
+    {
+        $this->original = $this->attributes;
+
+        return $this;
+    }
+
+    /**
+     * Returns the models attribute with the specified key.
+     *
+     * If a sub-key is specified, it will try and
+     * retrieve it from the parent keys array.
+     *
+     * @param int|string $key
+     * @param int|string $subKey
+     *
+     * @return mixed
+     */
+    public function getAttribute($key, $subKey = null)
+    {
+        if (!$key) {
+            return;
+        }
+
+        // We'll normalize the given key to prevent case sensitivity issues.
+        $key = $this->normalizeAttributeKey($key);
+
+        if (is_null($subKey) && $this->hasAttribute($key)) {
+            return $this->attributes[$key];
+        } elseif ($this->hasAttribute($key, $subKey)) {
+            return $this->attributes[$key][$subKey];
+        }
+    }
+
+    /**
+     * Returns the first attribute by the specified key.
+     *
+     * @param string $key
+     *
+     * @return mixed
+     */
+    public function getFirstAttribute($key)
+    {
+        return $this->getAttribute($key, 0);
+    }
+
+    /**
+     * Returns all of the models attributes.
+     *
+     * @return array
+     */
+    public function getAttributes()
+    {
+        return $this->attributes;
+    }
+
+    /**
+     * Fills the entry with the supplied attributes.
+     *
+     * @param array $attributes
+     *
+     * @return $this
+     */
+    public function fill(array $attributes = [])
+    {
+        foreach ($attributes as $key => $value) {
+            $this->setAttribute($key, $value);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Sets an attributes value by the specified key and sub-key.
+     *
+     * @param int|string $key
+     * @param mixed      $value
+     * @param int|string $subKey
+     *
+     * @return $this
+     */
+    public function setAttribute($key, $value, $subKey = null)
+    {
+        // Normalize key.
+        $key = $this->normalizeAttributeKey($key);
+
+        // If the key is equal to 'dn', we'll automatically
+        // change it to the full attribute name.
+        $key = ($key == 'dn' ? $this->schema->distinguishedName() : $key);
+
+        if (is_null($subKey)) {
+            // We need to ensure all attributes are set as arrays so all
+            // of our model methods retrieve attributes correctly.
+            $this->attributes[$key] = is_array($value) ? $value : [$value];
+        } else {
+            $this->attributes[$key][$subKey] = $value;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Sets the first attributes value by the specified key.
+     *
+     * @param int|string $key
+     * @param mixed      $value
+     *
+     * @return $this
+     */
+    public function setFirstAttribute($key, $value)
+    {
+        return $this->setAttribute($key, $value, 0);
+    }
+
+    /**
+     * Sets the attributes property.
+     *
+     * Used when constructing an existing LDAP record.
+     *
+     * @param array $attributes
+     *
+     * @return $this
+     */
+    public function setRawAttributes(array $attributes = [])
+    {
+        // We'll filter out those annoying 'count' keys returned with LDAP results,
+        // and lowercase all root array keys to prevent any casing issues.
+        $this->attributes = array_change_key_case($this->filterRawAttributes($attributes), CASE_LOWER);
+
+        // We'll pull out the distinguished name from our raw attributes
+        // and set it into our attributes array with the full attribute
+        // definition. This allows us to normalize distinguished
+        // names across different LDAP variants.
+        if ($dn = Arr::get($attributes, 'dn')) {
+            // In some LDAP variants, the distinguished
+            // name is returned as an array.
+            if (is_array($dn)) {
+                $dn = Arr::first($dn);
+            }
+
+            $this->setDistinguishedName($dn);
+        }
+
+        $this->syncOriginal();
+
+        // Set exists to true since raw attributes are only
+        // set in the case of attributes being loaded by
+        // query results.
+        $this->exists = true;
+
+        return $this;
+    }
+
+    /**
+     * Filters the count key recursively from raw LDAP attributes.
+     *
+     * @param array        $attributes
+     * @param array|string $keys
+     *
+     * @return array
+     */
+    public function filterRawAttributes(array $attributes = [], $keys = ['count', 'dn'])
+    {
+        $attributes = Arr::except($attributes, $keys);
+
+        array_walk($attributes, function (&$value) use ($keys) {
+            $value = is_array($value) ?
+                $this->filterRawAttributes($value, $keys) :
+                $value;
+        });
+
+        return $attributes;
+    }
+
+    /**
+     * Returns true / false if the specified attribute
+     * exists in the attributes array.
+     *
+     * @param int|string $key
+     * @param int|string $subKey
+     *
+     * @return bool
+     */
+    public function hasAttribute($key, $subKey = null)
+    {
+        // Normalize key.
+        $key = $this->normalizeAttributeKey($key);
+
+        if (is_null($subKey)) {
+            return Arr::has($this->attributes, $key);
+        }
+
+        return Arr::has($this->attributes, "$key.$subKey");
+    }
+
+    /**
+     * Returns the number of attributes inside
+     * the attributes property.
+     *
+     * @return int
+     */
+    public function countAttributes()
+    {
+        return count($this->getAttributes());
+    }
+
+    /**
+     * Returns the models original attributes.
+     *
+     * @return array
+     */
+    public function getOriginal()
+    {
+        return $this->original;
+    }
+
+    /**
+     * Get the attributes that have been changed since last sync.
+     *
+     * @return array
+     */
+    public function getDirty()
+    {
+        $dirty = [];
+
+        foreach ($this->attributes as $key => $value) {
+            if (!$this->originalIsEquivalent($key)) {
+                // We need to reset the array's indices using array_values due to
+                // LDAP requiring consecutive indices (0, 1, 2 etc.)
+                $dirty[$key] = array_values($value);
+            }
+        }
+
+        return $dirty;
+    }
+
+    /**
+     * Returns a normalized attribute key.
+     *
+     * @param string $key
+     *
+     * @return string
+     */
+    protected function normalizeAttributeKey($key)
+    {
+        return strtolower($key);
+    }
+
+    /**
+     * Determine if the new and old values for a given key are equivalent.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    protected function originalIsEquivalent($key)
+    {
+        if (!array_key_exists($key, $this->original)) {
+            return false;
+        }
+
+        $current = $this->attributes[$key];
+
+        $original = $this->original[$key];
+
+        if ($current === $original) {
+            return true;
+        }
+
+        return  is_numeric($current) &&
+                is_numeric($original) &&
+                strcmp((string) $current, (string) $original) === 0;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasCriticalSystemObject.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasCriticalSystemObject.php
new file mode 100644
index 0000000..e85cac1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasCriticalSystemObject.php
@@ -0,0 +1,18 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+trait HasCriticalSystemObject
+{
+    /**
+     * Returns true / false if the entry is a critical system object.
+     *
+     * @return null|bool
+     */
+    public function isCriticalSystemObject()
+    {
+        $attribute = $this->getFirstAttribute($this->schema->isCriticalSystemObject());
+
+        return $this->convertStringToBool($attribute);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasDescription.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasDescription.php
new file mode 100644
index 0000000..dfc05ed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasDescription.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+trait HasDescription
+{
+    /**
+     * Returns the models's description.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675492(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getDescription()
+    {
+        return $this->getFirstAttribute($this->schema->description());
+    }
+
+    /**
+     * Sets the models's description.
+     *
+     * @param string $description
+     *
+     * @return $this
+     */
+    public function setDescription($description)
+    {
+        return $this->setFirstAttribute($this->schema->description(), $description);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasEvents.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasEvents.php
new file mode 100644
index 0000000..37abb81
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasEvents.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+use Adldap\Adldap;
+use Adldap\Models\Events\Event;
+
+trait HasEvents
+{
+    /**
+     * Fires the specified model event.
+     *
+     * @param Event $event
+     *
+     * @return mixed
+     */
+    protected function fireModelEvent(Event $event)
+    {
+        return Adldap::getEventDispatcher()->fire($event);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasLastLogonAndLogOff.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasLastLogonAndLogOff.php
new file mode 100644
index 0000000..3aee2a5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasLastLogonAndLogOff.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+trait HasLastLogonAndLogOff
+{
+    /**
+     * Returns the models's last log off date.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676822(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getLastLogOff()
+    {
+        return $this->getFirstAttribute($this->schema->lastLogOff());
+    }
+
+    /**
+     * Returns the models's last log on date.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676823(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getLastLogon()
+    {
+        return $this->getFirstAttribute($this->schema->lastLogOn());
+    }
+
+    /**
+     * Returns the models's last log on timestamp.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676824(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getLastLogonTimestamp()
+    {
+        return $this->getFirstAttribute($this->schema->lastLogOnTimestamp());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasMemberOf.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasMemberOf.php
new file mode 100644
index 0000000..3c1b85e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasMemberOf.php
@@ -0,0 +1,260 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+use Adldap\Utilities;
+use Adldap\Models\User;
+use Adldap\Models\Group;
+use Adldap\Query\Collection;
+
+trait HasMemberOf
+{
+    /**
+     * Returns an array of distinguished names of groups that the current model belongs to.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms677099(v=vs.85).aspx
+     *
+     * @return array
+     */
+    public function getMemberOf()
+    {
+        $dns = $this->getAttribute($this->schema->memberOf());
+
+        // Normalize returned distinguished names if the attribute is null.
+        return is_array($dns) ? $dns : [];
+    }
+
+    /**
+     * Adds the current model to the specified group.
+     *
+     * @param string|Group $group
+     *
+     * @return bool
+     */
+    public function addGroup($group)
+    {
+        if (is_string($group)) {
+            // If the group is a string, we'll assume the dev is passing
+            // in a DN string of the group. We'll try to locate it.
+            $group = $this->query->newInstance()->findByDn($group);
+        }
+
+        if ($group instanceof Group) {
+            // If the group is Group model instance, we can
+            // add the current models DN to the group.
+            return $group->addMember($this->getDn());
+        }
+
+        return false;
+    }
+
+    /**
+     * Removes the current model from the specified group.
+     *
+     * @param string|Group $group
+     *
+     * @return bool
+     */
+    public function removeGroup($group)
+    {
+        if (is_string($group)) {
+            // If the group is a string, we'll assume the dev is passing
+            // in a DN string of the group. We'll try to locate it.
+            $group = $this->query->newInstance()->findByDn($group);
+        }
+
+        if ($group instanceof Group) {
+            // If the group is Group model instance, we can
+            // remove the current models DN from the group.
+            return $group->removeMember($this->getDn());
+        }
+
+        return false;
+    }
+
+    /**
+     * Removes the current model from all groups.
+     *
+     * @return array The group distinguished names that were successfully removed
+     */
+    public function removeAllGroups()
+    {
+        $removed = [];
+
+        foreach ($this->getMemberOf() as $group) {
+            if ($this->removeGroup($group)) {
+                $removed[] = $group;
+            }
+        }
+
+        return $removed;
+    }
+
+    /**
+     * Returns the models groups that it is apart of.
+     *
+     * If a recursive option is given, groups of groups
+     * are retrieved and then merged with
+     * the resulting collection.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms677099(v=vs.85).aspx
+     *
+     * @param array $fields
+     * @param bool  $recursive
+     * @param array $visited
+     *
+     * @return Collection
+     */
+    public function getGroups(array $fields = ['*'], $recursive = false, array $visited = [])
+    {
+        if (!in_array($this->schema->memberOf(), $fields)) {
+            // We want to make sure that we always select the memberof
+            // field in case developers want recursive members.
+            $fields = array_merge($fields, [$this->schema->memberOf()]);
+        }
+
+        $groups = $this->getGroupsByNames($this->getMemberOf(), $fields);
+
+        // We need to check if we're working with a User model. Only users
+        // contain a primary group. If we are, we'll merge the users
+        // primary group into the resulting collection.
+        if ($this instanceof User && $primary = $this->getPrimaryGroup()) {
+            $groups->push($primary);
+        }
+
+        // If recursive results are requested, we'll ask each group
+        // for their groups, and merge the resulting collection.
+        if ($recursive) {
+            /** @var Group $group */
+            foreach ($groups as $group) {
+                // We need to validate that we haven't already queried
+                // for this group's members so we don't allow
+                // infinite recursion in case of circular
+                // group dependencies in LDAP.
+                if (!in_array($group->getDn(), $visited)) {
+                    $visited[] = $group->getDn();
+
+                    $members = $group->getGroups($fields, $recursive, $visited);
+
+                    /** @var Group $member */
+                    foreach ($members as $member) {
+                        $visited[] = $member->getDn();
+                    }
+
+                    $groups = $groups->merge($members);
+                }
+            }
+        }
+
+        return $groups;
+    }
+
+    /**
+     * Returns the models groups names in a single dimension array.
+     *
+     * If a recursive option is given, groups of groups
+     * are retrieved and then merged with
+     * the resulting collection.
+     *
+     * @param bool $recursive
+     *
+     * @return array
+     */
+    public function getGroupNames($recursive = false)
+    {
+        $fields = [$this->schema->commonName(), $this->schema->memberOf()];
+
+        $names = $this->getGroups($fields, $recursive)->map(function (Group $group) {
+            return $group->getCommonName();
+        })->toArray();
+
+        return array_unique($names);
+    }
+
+    /**
+     * Determine if the current model is a member of the specified group(s).
+     *
+     * @param mixed $group
+     * @param bool  $recursive
+     *
+     * @return bool
+     */
+    public function inGroup($group, $recursive = false)
+    {
+        $memberOf = $this->getGroups(['cn'], $recursive);
+
+        if ($group instanceof Collection) {
+            // If we've been given a collection then we'll convert
+            // it to an array to normalize the value.
+            $group = $group->toArray();
+        }
+
+        $groups = is_array($group) ? $group : [$group];
+
+        foreach ($groups as $group) {
+            // We need to iterate through each given group that the
+            // model must be apart of, then go through the models
+            // actual groups and perform validation.
+            $exists = $memberOf->filter(function (Group $parent) use ($group) {
+                return $this->groupIsParent($group, $parent);
+            })->count() !== 0;
+
+            if (!$exists) {
+                // If the current group isn't at all contained
+                // in the memberOf collection, we'll
+                // return false here.
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Retrieves groups by their distinguished name.
+     *
+     * @param array $dns
+     * @param array $fields
+     *
+     * @return Collection
+     */
+    protected function getGroupsByNames(array $dns = [], $fields = [])
+    {
+        $query = $this->query->newInstance();
+
+        return $query->newCollection($dns)->map(function ($dn) use ($query, $fields) {
+            return $query->select($fields)->clearFilters()->findByDn($dn);
+        })->filter(function ($group) {
+            return $group instanceof Group;
+        });
+    }
+
+    /**
+     * Validates if the specified group is the given parent instance.
+     *
+     * @param Group|string $group
+     * @param Group        $parent
+     *
+     * @return bool
+     */
+    protected function groupIsParent($group, Group $parent)
+    {
+        if ($group instanceof Group) {
+            // We've been given a group instance, we'll compare their DNs.
+            return $parent->getDn() === $group->getDn();
+        }
+
+        if (Utilities::explodeDn($group)) {
+            // We've been given a DN, we'll compare it to the parents.
+            return $parent->getDn() === $group;
+        }
+
+        if (!empty($group)) {
+            // We've been given just a string, we'll
+            // compare it to the parents name.
+            return $parent->getCommonName() === $group;
+        }
+
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasUserAccountControl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasUserAccountControl.php
new file mode 100644
index 0000000..857378b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasUserAccountControl.php
@@ -0,0 +1,60 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+use Adldap\Models\Attributes\AccountControl;
+
+trait HasUserAccountControl
+{
+    /**
+     * Returns the users user account control integer.
+     *
+     * @return string
+     */
+    public function getUserAccountControl()
+    {
+        return $this->getFirstAttribute($this->schema->userAccountControl());
+    }
+
+    /**
+     * Returns the users user account control as an AccountControl object.
+     *
+     * @return AccountControl
+     */
+    public function getUserAccountControlObject()
+    {
+        return new AccountControl($this->getUserAccountControl());
+    }
+
+    /**
+     * Sets the users account control property.
+     *
+     * @param int|string|AccountControl $accountControl
+     *
+     * @return $this
+     */
+    public function setUserAccountControl($accountControl)
+    {
+        return $this->setAttribute($this->schema->userAccountControl(), (string) $accountControl);
+    }
+
+    /**
+     * Returns if the user is disabled.
+     *
+     * @return bool
+     */
+    public function isDisabled()
+    {
+        return ($this->getUserAccountControl() & AccountControl::ACCOUNTDISABLE) === AccountControl::ACCOUNTDISABLE;
+    }
+
+    /**
+     * Returns if the user is enabled.
+     *
+     * @return bool
+     */
+    public function isEnabled()
+    {
+        return $this->getUserAccountControl() === null ? false : !$this->isDisabled();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasUserProperties.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasUserProperties.php
new file mode 100644
index 0000000..0d1c541
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Concerns/HasUserProperties.php
@@ -0,0 +1,453 @@
+<?php
+
+namespace Adldap\Models\Concerns;
+
+trait HasUserProperties
+{
+    /**
+     * Returns the users country.
+     *
+     * @return string|null
+     */
+    public function getCountry()
+    {
+        return $this->getFirstAttribute($this->schema->country());
+    }
+
+    /**
+     * Sets the users country.
+     *
+     * @param string $country
+     *
+     * @return $this
+     */
+    public function setCountry($country)
+    {
+        return $this->setFirstAttribute($this->schema->country(), $country);
+    }
+
+    /**
+     * Returns the users department.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675490(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getDepartment()
+    {
+        return $this->getFirstAttribute($this->schema->department());
+    }
+
+    /**
+     * Sets the users department.
+     *
+     * @param string $department
+     *
+     * @return $this
+     */
+    public function setDepartment($department)
+    {
+        return $this->setFirstAttribute($this->schema->department(), $department);
+    }
+
+    /**
+     * Returns the users email address.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676855(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getEmail()
+    {
+        return $this->getFirstAttribute($this->schema->email());
+    }
+
+    /**
+     * Sets the users email.
+     *
+     * Keep in mind this will remove all other
+     * email addresses the user currently has.
+     *
+     * @param string $email
+     *
+     * @return $this
+     */
+    public function setEmail($email)
+    {
+        return $this->setFirstAttribute($this->schema->email(), $email);
+    }
+
+    /**
+     * Returns the users facsimile number.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675675(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getFacsimileNumber()
+    {
+        return $this->getFirstAttribute($this->schema->facsimile());
+    }
+
+    /**
+     * Sets the users facsimile number.
+     *
+     * @param string $number
+     *
+     * @return $this
+     */
+    public function setFacsimileNumber($number)
+    {
+        return $this->setFirstAttribute($this->schema->facsimile(), $number);
+    }
+
+    /**
+     * Returns the users first name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675719(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getFirstName()
+    {
+        return $this->getFirstAttribute($this->schema->firstName());
+    }
+
+    /**
+     * Sets the users first name.
+     *
+     * @param string $firstName
+     *
+     * @return $this
+     */
+    public function setFirstName($firstName)
+    {
+        return $this->setFirstAttribute($this->schema->firstName(), $firstName);
+    }
+
+    /**
+     * Returns the users initials.
+     *
+     * @return string|null
+     */
+    public function getInitials()
+    {
+        return $this->getFirstAttribute($this->schema->initials());
+    }
+
+    /**
+     * Sets the users initials.
+     *
+     * @param string $initials
+     *
+     * @return $this
+     */
+    public function setInitials($initials)
+    {
+        return $this->setFirstAttribute($this->schema->initials(), $initials);
+    }
+
+    /**
+     * Returns the users IP Phone.
+     *
+     * @return string|null
+     */
+    public function getIpPhone()
+    {
+        return $this->getFirstAttribute($this->schema->ipPhone());
+    }
+
+    /**
+     * Sets the users IP phone.
+     *
+     * @param string $ip
+     *
+     * @return $this
+     */
+    public function setIpPhone($ip)
+    {
+        return $this->setFirstAttribute($this->schema->ipPhone(), $ip);
+    }
+
+    /**
+     * Returns the users last name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679872(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getLastName()
+    {
+        return $this->getFirstAttribute($this->schema->lastName());
+    }
+
+    /**
+     * Sets the users last name.
+     *
+     * @param string $lastName
+     *
+     * @return $this
+     */
+    public function setLastName($lastName)
+    {
+        return $this->setFirstAttribute($this->schema->lastName(), $lastName);
+    }
+
+    /**
+     * Returns the users postal code.
+     *
+     * @return string|null
+     */
+    public function getPostalCode()
+    {
+        return $this->getFirstAttribute($this->schema->postalCode());
+    }
+
+    /**
+     * Sets the users postal code.
+     *
+     * @param string $postalCode
+     *
+     * @return $this
+     */
+    public function setPostalCode($postalCode)
+    {
+        return $this->setFirstAttribute($this->schema->postalCode(), $postalCode);
+    }
+
+    /**
+     * Get the users post office box.
+     *
+     * @return string|null
+     */
+    public function getPostOfficeBox()
+    {
+        return $this->getFirstAttribute($this->schema->postOfficeBox());
+    }
+
+    /**
+     * Sets the users post office box.
+     *
+     * @param string|int $box
+     *
+     * @return $this
+     */
+    public function setPostOfficeBox($box)
+    {
+        return $this->setFirstAttribute($this->schema->postOfficeBox(), $box);
+    }
+
+    /**
+     * Sets the users proxy addresses.
+     *
+     * This will remove all proxy addresses on the user and insert the specified addresses.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679424(v=vs.85).aspx
+     *
+     * @param array $addresses
+     *
+     * @return $this
+     */
+    public function setProxyAddresses(array $addresses = [])
+    {
+        return $this->setAttribute($this->schema->proxyAddresses(), $addresses);
+    }
+
+    /**
+     * Add's a single proxy address to the user.
+     *
+     * @param string $address
+     *
+     * @return $this
+     */
+    public function addProxyAddress($address)
+    {
+        $addresses = $this->getProxyAddresses();
+
+        $addresses[] = $address;
+
+        return $this->setAttribute($this->schema->proxyAddresses(), $addresses);
+    }
+
+    /**
+     * Returns the users proxy addresses.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679424(v=vs.85).aspx
+     *
+     * @return array
+     */
+    public function getProxyAddresses()
+    {
+        return $this->getAttribute($this->schema->proxyAddresses()) ?? [];
+    }
+
+    /**
+     * Returns the users street address.
+     *
+     * @return string|null
+     */
+    public function getStreetAddress()
+    {
+        return $this->getFirstAttribute($this->schema->streetAddress());
+    }
+
+    /**
+     * Sets the users street address.
+     *
+     * @param string $address
+     *
+     * @return $this
+     */
+    public function setStreetAddress($address)
+    {
+        return $this->setFirstAttribute($this->schema->streetAddress(), $address);
+    }
+
+    /**
+     * Returns the users title.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680037(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getTitle()
+    {
+        return $this->getFirstAttribute($this->schema->title());
+    }
+
+    /**
+     * Sets the users title.
+     *
+     * @param string $title
+     *
+     * @return $this
+     */
+    public function setTitle($title)
+    {
+        return $this->setFirstAttribute($this->schema->title(), $title);
+    }
+
+    /**
+     * Returns the users telephone number.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680027(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getTelephoneNumber()
+    {
+        return $this->getFirstAttribute($this->schema->telephone());
+    }
+
+    /**
+     * Sets the users telephone number.
+     *
+     * @param string $number
+     *
+     * @return $this
+     */
+    public function setTelephoneNumber($number)
+    {
+        return $this->setFirstAttribute($this->schema->telephone(), $number);
+    }
+
+    /**
+     * Returns the users primary mobile phone number.
+     *
+     * @return string|null
+     */
+    public function getMobileNumber()
+    {
+        return $this->getFirstAttribute($this->schema->mobile());
+    }
+
+    /**
+     * Sets the users primary mobile phone number.
+     *
+     * @param string $number
+     *
+     * @return $this
+     */
+    public function setMobileNumber($number)
+    {
+        return $this->setFirstAttribute($this->schema->mobile(), $number);
+    }
+
+    /**
+     * Returns the users secondary (other) mobile phone number.
+     *
+     * @return string|null
+     */
+    public function getOtherMobileNumber()
+    {
+        return $this->getFirstAttribute($this->schema->otherMobile());
+    }
+
+    /**
+     * Sets the users  secondary (other) mobile phone number.
+     *
+     * @param string $number
+     *
+     * @return $this
+     */
+    public function setOtherMobileNumber($number)
+    {
+        return $this->setFirstAttribute($this->schema->otherMobile(), $number);
+    }
+
+    /**
+     * Returns the users other mailbox attribute.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679091(v=vs.85).aspx
+     *
+     * @return array
+     */
+    public function getOtherMailbox()
+    {
+        return $this->getAttribute($this->schema->otherMailbox());
+    }
+
+    /**
+     * Sets the users other mailboxes.
+     *
+     * @param array $otherMailbox
+     *
+     * @return $this
+     */
+    public function setOtherMailbox($otherMailbox = [])
+    {
+        return $this->setAttribute($this->schema->otherMailbox(), $otherMailbox);
+    }
+
+    /**
+     * Returns the distinguished name of the user who is the user's manager.
+     *
+     * @return string|null
+     */
+    public function getManager()
+    {
+        return $this->getFirstAttribute($this->schema->manager());
+    }
+
+    /**
+     * Sets the distinguished name of the user who is the user's manager.
+     *
+     * @param string $managerDn
+     *
+     * @return $this
+     */
+    public function setManager($managerDn)
+    {
+        return $this->setFirstAttribute($this->schema->manager(), $managerDn);
+    }
+
+    /**
+     * Returns the users mail nickname.
+     *
+     * @return string|null
+     */
+    public function getMailNickname()
+    {
+        return $this->getFirstAttribute($this->schema->emailNickname());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Contact.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Contact.php
new file mode 100644
index 0000000..517a35b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Contact.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class Contact.
+ *
+ * Represents an LDAP contact.
+ */
+class Contact extends Entry
+{
+    use Concerns\HasMemberOf;
+    use Concerns\HasUserProperties;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Container.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Container.php
new file mode 100644
index 0000000..faaf1a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Container.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class Container.
+ *
+ * Represents an LDAP container.
+ */
+class Container extends Entry
+{
+    use Concerns\HasDescription;
+    use Concerns\HasCriticalSystemObject;
+
+    /**
+     * Returns the containers system flags integer.
+     *
+     * An integer value that contains flags that define additional properties of the class.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680022(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getSystemFlags()
+    {
+        return $this->getFirstAttribute($this->schema->systemFlags());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Entry.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Entry.php
new file mode 100644
index 0000000..be6ef1d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Entry.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class Entry.
+ *
+ * Represents an LDAP record that could not be identified as another type of model.
+ */
+class Entry extends Model
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Created.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Created.php
new file mode 100644
index 0000000..7e98bc1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Created.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Created extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Creating.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Creating.php
new file mode 100644
index 0000000..8482da8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Creating.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Creating extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Deleted.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Deleted.php
new file mode 100644
index 0000000..6cfd954
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Deleted.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Deleted extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Deleting.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Deleting.php
new file mode 100644
index 0000000..2718376
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Deleting.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Deleting extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Event.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Event.php
new file mode 100644
index 0000000..821e391
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Event.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+use Adldap\Models\Model;
+
+abstract class Event
+{
+    /**
+     * The model that the event is being triggered on.
+     *
+     * @var Model
+     */
+    protected $model;
+
+    /**
+     * Constructor.
+     *
+     * @param Model $model
+     */
+    public function __construct(Model $model)
+    {
+        $this->model = $model;
+    }
+
+    /**
+     * Returns the model that generated the event.
+     *
+     * @return Model
+     */
+    public function getModel()
+    {
+        return $this->model;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Saved.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Saved.php
new file mode 100644
index 0000000..f775e2e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Saved.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Saved extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Saving.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Saving.php
new file mode 100644
index 0000000..b187294
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Saving.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Saving extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Updated.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Updated.php
new file mode 100644
index 0000000..ce0721f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Updated.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Updated extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Updating.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Updating.php
new file mode 100644
index 0000000..4f33e66
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Events/Updating.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Models\Events;
+
+class Updating extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Factory.php
new file mode 100644
index 0000000..92ad91e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Factory.php
@@ -0,0 +1,209 @@
+<?php
+
+namespace Adldap\Models;
+
+use Adldap\Query\Builder;
+use Adldap\Schemas\ActiveDirectory;
+use Adldap\Schemas\SchemaInterface;
+
+/**
+ * Class Factory.
+ *
+ * Creates new LDAP models.
+ */
+class Factory
+{
+    /**
+     * The LDAP query builder.
+     *
+     * @var Builder
+     */
+    protected $query;
+
+    /**
+     * The LDAP schema.
+     *
+     * @var SchemaInterface
+     */
+    protected $schema;
+
+    /**
+     * Constructor.
+     *
+     * @param Builder $builder
+     */
+    public function __construct(Builder $builder)
+    {
+        $this->setQuery($builder)
+            ->setSchema($builder->getSchema());
+    }
+
+    /**
+     * Sets the current query builder.
+     *
+     * @param Builder $builder
+     *
+     * @return $this
+     */
+    public function setQuery(Builder $builder)
+    {
+        $this->query = $builder;
+
+        return $this;
+    }
+
+    /**
+     * Sets the current schema.
+     *
+     * If null is given, a default ActiveDirectory schema is set.
+     *
+     * @param SchemaInterface|null $schema
+     *
+     * @return $this
+     */
+    public function setSchema(SchemaInterface $schema = null)
+    {
+        $this->schema = $schema ?: new ActiveDirectory();
+
+        return $this;
+    }
+
+    /**
+     * Creates a new generic LDAP entry instance.
+     *
+     * @param array $attributes
+     *
+     * @return Entry
+     */
+    public function entry(array $attributes = [])
+    {
+        $model = $this->schema->entryModel();
+
+        return new $model($attributes, $this->query);
+    }
+
+    /**
+     * Creates a new user instance.
+     *
+     * @param array $attributes
+     *
+     * @return User
+     */
+    public function user(array $attributes = [])
+    {
+        $model = $this->schema->userModel();
+
+        return (new $model($attributes, $this->query))
+            ->setAttribute($this->schema->objectClass(), $this->schema->userObjectClasses());
+    }
+
+    /**
+     * Creates a new organizational unit instance.
+     *
+     * @param array $attributes
+     *
+     * @return OrganizationalUnit
+     */
+    public function ou(array $attributes = [])
+    {
+        $model = $this->schema->organizationalUnitModel();
+
+        return (new $model($attributes, $this->query))
+            ->setAttribute($this->schema->objectClass(), [
+                $this->schema->top(),
+                $this->schema->organizationalUnit(),
+            ]);
+    }
+
+    /**
+     * Creates a new organizational unit instance.
+     *
+     * @param array $attributes
+     *
+     * @return Organization
+     */
+    public function organization(array $attributes = [])
+    {
+        $model = $this->schema->organizationModel();
+
+        return (new $model($attributes, $this->query))
+            ->setAttribute($this->schema->objectClass(), [
+                $this->schema->top(),
+                $this->schema->organization(),
+            ]);
+    }
+
+    /**
+     * Creates a new group instance.
+     *
+     * @param array $attributes
+     *
+     * @return Group
+     */
+    public function group(array $attributes = [])
+    {
+        $model = $this->schema->groupModel();
+
+        return (new $model($attributes, $this->query))
+            ->setAttribute($this->schema->objectClass(), [
+                $this->schema->top(),
+                $this->schema->objectCategoryGroup(),
+            ]);
+    }
+
+    /**
+     * Creates a new organizational unit instance.
+     *
+     * @param array $attributes
+     *
+     * @return Container
+     */
+    public function container(array $attributes = [])
+    {
+        $model = $this->schema->containerModel();
+
+        return (new $model($attributes, $this->query))
+            ->setAttribute($this->schema->objectClass(), $this->schema->objectClassContainer());
+    }
+
+    /**
+     * Creates a new user instance as a contact.
+     *
+     * @param array $attributes
+     *
+     * @return User
+     */
+    public function contact(array $attributes = [])
+    {
+        $model = $this->schema->contactModel();
+
+        return (new $model($attributes, $this->query))
+            ->setAttribute($this->schema->objectClass(), [
+                $this->schema->top(),
+                $this->schema->person(),
+                $this->schema->organizationalPerson(),
+                $this->schema->contact(),
+            ]);
+    }
+
+    /**
+     * Creates a new computer instance.
+     *
+     * @param array $attributes
+     *
+     * @return Computer
+     */
+    public function computer(array $attributes = [])
+    {
+        $model = $this->schema->computerModel();
+
+        return (new $model($attributes, $this->query))
+            ->setAttribute($this->schema->objectClass(), [
+                $this->schema->top(),
+                $this->schema->person(),
+                $this->schema->organizationalPerson(),
+                $this->schema->user(),
+                $this->schema->computer(),
+            ]);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ForeignSecurityPrincipal.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ForeignSecurityPrincipal.php
new file mode 100644
index 0000000..b0d15d8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ForeignSecurityPrincipal.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class ForeignSecurityPrincipal.
+ *
+ * Represents an LDAP ForeignSecurityPrincipal.
+ */
+class ForeignSecurityPrincipal extends Entry
+{
+    use Concerns\HasMemberOf;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Group.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Group.php
new file mode 100644
index 0000000..7a89457
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Group.php
@@ -0,0 +1,288 @@
+<?php
+
+namespace Adldap\Models;
+
+use Adldap\Utilities;
+use InvalidArgumentException;
+
+/**
+ * Class Group.
+ *
+ * Represents an LDAP group (security / distribution).
+ */
+class Group extends Entry
+{
+    use Concerns\HasMemberOf;
+    use Concerns\HasDescription;
+
+    /**
+     * Returns all users apart of the current group.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms677097(v=vs.85).aspx
+     *
+     * @return \Adldap\Query\Collection
+     */
+    public function getMembers()
+    {
+        $members = $this->getMembersFromAttribute($this->schema->member());
+
+        if (count($members) === 0) {
+            $members = $this->getPaginatedMembers();
+        }
+
+        return $this->newCollection($members);
+    }
+
+    /**
+     * Returns the group's member names only.
+     *
+     * @return array
+     */
+    public function getMemberNames()
+    {
+        $members = [];
+
+        $dns = $this->getAttribute($this->schema->member()) ?: [];
+
+        foreach ($dns as $dn) {
+            $exploded = Utilities::explodeDn($dn);
+
+            if (array_key_exists(0, $exploded)) {
+                $members[] = $exploded[0];
+            }
+        }
+
+        return $members;
+    }
+
+    /**
+     * Sets the groups members using an array of user DNs.
+     *
+     * @param array $entries
+     *
+     * @return $this
+     */
+    public function setMembers(array $entries)
+    {
+        return $this->setAttribute($this->schema->member(), $entries);
+    }
+
+    /**
+     * Adds multiple entries to the current group.
+     *
+     * @param array $members
+     *
+     * @return bool
+     */
+    public function addMembers(array $members)
+    {
+        $members = array_map(function ($member) {
+            return $member instanceof Model
+                ? $member->getDn()
+                : $member;
+        }, $members);
+
+        $mod = $this->newBatchModification(
+            $this->schema->member(),
+            LDAP_MODIFY_BATCH_ADD,
+            $members
+        );
+
+        return $this->addModification($mod)->save();
+    }
+
+    /**
+     * Adds an entry to the current group.
+     *
+     * @param string|Entry $member
+     *
+     * @throws InvalidArgumentException When the given entry is empty or contains no distinguished name.
+     *
+     * @return bool
+     */
+    public function addMember($member)
+    {
+        $member = ($member instanceof Model ? $member->getDn() : $member);
+
+        if (is_null($member)) {
+            throw new InvalidArgumentException(
+                'Cannot add member to group. The members distinguished name cannot be null.'
+            );
+        }
+
+        $mod = $this->newBatchModification(
+            $this->schema->member(),
+            LDAP_MODIFY_BATCH_ADD,
+            [$member]
+        );
+
+        return $this->addModification($mod)->save();
+    }
+
+    /**
+     * Removes an entry from the current group.
+     *
+     * @param string|Entry $member
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return bool
+     */
+    public function removeMember($member)
+    {
+        $member = ($member instanceof Model ? $member->getDn() : $member);
+
+        if (is_null($member)) {
+            throw new InvalidArgumentException(
+                'Cannot remove member to group. The members distinguished name cannot be null.'
+            );
+        }
+
+        $mod = $this->newBatchModification(
+            $this->schema->member(),
+            LDAP_MODIFY_BATCH_REMOVE,
+            [$member]
+        );
+
+        return $this->addModification($mod)->save();
+    }
+
+    /**
+     * Removes all members from the current group.
+     *
+     * @return bool
+     */
+    public function removeMembers()
+    {
+        $mod = $this->newBatchModification(
+            $this->schema->member(),
+            LDAP_MODIFY_BATCH_REMOVE_ALL
+        );
+
+        return $this->addModification($mod)->save();
+    }
+
+    /**
+     * Returns the group type integer.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675935(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getGroupType()
+    {
+        return $this->getFirstAttribute($this->schema->groupType());
+    }
+
+    /**
+     * Retrieves group members by the specified model attribute.
+     *
+     * @param $attribute
+     *
+     * @return array
+     */
+    protected function getMembersFromAttribute($attribute)
+    {
+        $members = [];
+
+        $entries = $this->getAttribute($attribute) ?: [];
+
+        $query = $this->query->newInstance();
+
+        // Retrieving the member identifier to allow
+        // compatibility with LDAP variants.
+        $identifier = $this->schema->memberIdentifier();
+
+        foreach ($entries as $entry) {
+            // If our identifier is a distinguished name, then we need to
+            // use an alternate query method, as we can't locate records
+            // by distinguished names using an LDAP filter.
+            if ($identifier == 'dn' || $identifier == 'distinguishedname') {
+                $member = $query->findByDn($entry);
+            } else {
+                // We'll ensure we clear our filters when retrieving each member,
+                // so we can continue fetching the next one in line.
+                $member = $query->clearFilters()->findBy($identifier, $entry);
+            }
+
+            // We'll double check that we've received a model from
+            // our query before adding it into our results.
+            if ($member instanceof Model) {
+                $members[] = $member;
+            }
+        }
+
+        return $members;
+    }
+
+    /**
+     * Retrieves members that are contained in a member range.
+     *
+     * @return array
+     */
+    protected function getPaginatedMembers()
+    {
+        $members = [];
+
+        $keys = array_keys($this->attributes);
+
+        // We need to filter out the model attributes so
+        // we only retrieve the member range.
+        $attributes = array_values(array_filter($keys, function ($key) {
+            return strpos($key, 'member;range') !== false;
+        }));
+
+        // We'll grab the member range key so we can run a
+        // regex on it to determine the range.
+        $key = reset($attributes);
+
+        preg_match_all(
+            '/member;range\=([0-9]{1,4})-([0-9*]{1,4})/',
+            $key,
+            $matches
+        );
+
+        if ($key && count($matches) == 3) {
+            // Retrieve the ending range number.
+            $to = $matches[2][0];
+
+            // Retrieve the current groups members from the
+            // current range string (ex. 'member;0-50').
+            $members = $this->getMembersFromAttribute($key);
+
+            // If the query already included all member results (indicated
+            // by the '*'), then we can return here. Otherwise we need
+            // to continue on and retrieve the rest.
+            if ($to === '*') {
+                return $members;
+            }
+
+            // Determine the amount of members we're requesting per query.
+            $range = $to - $matches[1][0];
+
+            // Set our starting range to our last end range plus one.
+            $from = $to + 1;
+
+            // We'll determine the new end range by adding the
+            // total range to our new starting range.
+            $to = $from + $range;
+
+            // We'll need to query for the current model again but with
+            // a new range to retrieve the other members.
+            /** @var Group $group */
+            $group = $this->query->newInstance()->findByDn(
+                $this->getDn(),
+                [$this->query->getSchema()->memberRange($from, $to)]
+            );
+
+            // Finally, we'll merge our current members
+            // with the newly returned members.
+            $members = array_merge(
+                $members,
+                $group->getMembers()->toArray()
+            );
+        }
+
+        return $members;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Model.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Model.php
new file mode 100644
index 0000000..3bad2ea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Model.php
@@ -0,0 +1,1266 @@
+<?php
+
+namespace Adldap\Models;
+
+use DateTime;
+use ArrayAccess;
+use Adldap\Utilities;
+use JsonSerializable;
+use Adldap\Query\Builder;
+use Illuminate\Support\Arr;
+use Adldap\Query\Collection;
+use InvalidArgumentException;
+use UnexpectedValueException;
+use Adldap\Models\Attributes\Sid;
+use Adldap\Models\Attributes\Guid;
+use Adldap\Schemas\SchemaInterface;
+use Adldap\Models\Attributes\MbString;
+use Adldap\Connections\ConnectionException;
+use Adldap\Models\Attributes\DistinguishedName;
+
+/**
+ * Class Model.
+ *
+ * Represents an LDAP record and provides the ability
+ * to modify / retrieve data from the record.
+ */
+abstract class Model implements ArrayAccess, JsonSerializable
+{
+    use Concerns\HasEvents;
+    use Concerns\HasAttributes;
+
+    /**
+     * Indicates if the model exists.
+     *
+     * @var bool
+     */
+    public $exists = false;
+
+    /**
+     * The current query builder instance.
+     *
+     * @var Builder
+     */
+    protected $query;
+
+    /**
+     * The current LDAP attribute schema.
+     *
+     * @var SchemaInterface
+     */
+    protected $schema;
+
+    /**
+     * Contains the models modifications.
+     *
+     * @var array
+     */
+    protected $modifications = [];
+
+    /**
+     * Constructor.
+     *
+     * @param array   $attributes
+     * @param Builder $builder
+     */
+    public function __construct(array $attributes, Builder $builder)
+    {
+        $this->setQuery($builder)
+            ->setSchema($builder->getSchema())
+            ->fill($attributes);
+    }
+
+    /**
+     * Returns the models distinguished name when the model is converted to a string.
+     *
+     * @return null|string
+     */
+    public function __toString()
+    {
+        return $this->getDn();
+    }
+
+    /**
+     * Sets the current query builder.
+     *
+     * @param Builder $builder
+     *
+     * @return $this
+     */
+    public function setQuery(Builder $builder)
+    {
+        $this->query = $builder;
+
+        return $this;
+    }
+
+    /**
+     * Returns the current query builder.
+     *
+     * @return Builder
+     */
+    public function getQuery()
+    {
+        return $this->query;
+    }
+
+    /**
+     * Returns a new query builder instance.
+     *
+     * @return Builder
+     */
+    public function newQuery()
+    {
+        return $this->query->newInstance();
+    }
+
+    /**
+     * Returns a new batch modification.
+     *
+     * @param string|null     $attribute
+     * @param string|int|null $type
+     * @param array           $values
+     *
+     * @return BatchModification
+     */
+    public function newBatchModification($attribute = null, $type = null, $values = [])
+    {
+        return new BatchModification($attribute, $type, $values);
+    }
+
+    /**
+     * Returns a new collection with the specified items.
+     *
+     * @param mixed $items
+     *
+     * @return Collection
+     */
+    public function newCollection($items = [])
+    {
+        return new Collection($items);
+    }
+
+    /**
+     * Sets the current model schema.
+     *
+     * @param SchemaInterface $schema
+     *
+     * @return $this
+     */
+    public function setSchema(SchemaInterface $schema)
+    {
+        $this->schema = $schema;
+
+        return $this;
+    }
+
+    /**
+     * Returns the current model schema.
+     *
+     * @return SchemaInterface
+     */
+    public function getSchema()
+    {
+        return $this->schema;
+    }
+
+    /**
+     * Determine if the given offset exists.
+     *
+     * @param string $offset
+     *
+     * @return bool
+     */
+    public function offsetExists($offset)
+    {
+        return !is_null($this->getAttribute($offset));
+    }
+
+    /**
+     * Get the value for a given offset.
+     *
+     * @param string $offset
+     *
+     * @return mixed
+     */
+    public function offsetGet($offset)
+    {
+        return $this->getAttribute($offset);
+    }
+
+    /**
+     * Set the value at the given offset.
+     *
+     * @param string $offset
+     * @param mixed  $value
+     *
+     * @return void
+     */
+    public function offsetSet($offset, $value)
+    {
+        $this->setAttribute($offset, $value);
+    }
+
+    /**
+     * Unset the value at the given offset.
+     *
+     * @param string $offset
+     *
+     * @return void
+     */
+    public function offsetUnset($offset)
+    {
+        unset($this->attributes[$offset]);
+    }
+
+    /**
+     * Determine if an attribute exists on the model.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function __isset($key)
+    {
+        return $this->offsetExists($key);
+    }
+
+    /**
+     * Convert the object into something JSON serializable.
+     *
+     * @return array
+     */
+    public function jsonSerialize()
+    {
+        $attributes = $this->getAttributes();
+
+        array_walk_recursive($attributes, function (&$val) {
+            if (MbString::isLoaded()) {
+                // If we're able to detect the attribute
+                // encoding, we'll encode only the
+                // attributes that need to be.
+                if (!MbString::isUtf8($val)) {
+                    $val = utf8_encode($val);
+                }
+            } else {
+                // If the mbstring extension is not loaded, we'll
+                // encode all attributes to make sure
+                // they are encoded properly.
+                $val = utf8_encode($val);
+            }
+        });
+
+        // We'll replace the binary GUID and SID with
+        // their string equivalents for convenience.
+        return array_replace($attributes, [
+            $this->schema->objectGuid() => $this->getConvertedGuid(),
+            $this->schema->objectSid()  => $this->getConvertedSid(),
+        ]);
+    }
+
+    /**
+     * Reload a fresh model instance from the directory.
+     *
+     * @return static|null
+     */
+    public function fresh()
+    {
+        $model = $this->query->newInstance()->findByDn($this->getDn());
+
+        return $model instanceof self ? $model : null;
+    }
+
+    /**
+     * Synchronizes the current models attributes with the directory values.
+     *
+     * @return bool
+     */
+    public function syncRaw()
+    {
+        if ($model = $this->fresh()) {
+            $this->setRawAttributes($model->getAttributes());
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Returns the models batch modifications to be processed.
+     *
+     * @return array
+     */
+    public function getModifications()
+    {
+        $this->buildModificationsFromDirty();
+
+        return $this->modifications;
+    }
+
+    /**
+     * Sets the models modifications array.
+     *
+     * @param array $modifications
+     *
+     * @return $this
+     */
+    public function setModifications(array $modifications = [])
+    {
+        $this->modifications = $modifications;
+
+        return $this;
+    }
+
+    /**
+     * Adds a batch modification to the models modifications array.
+     *
+     * @param array|BatchModification $mod
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function addModification($mod = [])
+    {
+        if ($mod instanceof BatchModification) {
+            $mod = $mod->get();
+        }
+
+        if ($this->isValidModification($mod)) {
+            $this->modifications[] = $mod;
+
+            return $this;
+        }
+
+        throw new InvalidArgumentException(
+            "The batch modification array does not include the mandatory 'attrib' or 'modtype' keys."
+        );
+    }
+
+    /**
+     * Returns the model's distinguished name string.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/aa366101(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getDistinguishedName()
+    {
+        return $this->getFirstAttribute($this->schema->distinguishedName());
+    }
+
+    /**
+     * Sets the model's distinguished name attribute.
+     *
+     * @param string|DistinguishedName $dn
+     *
+     * @return $this
+     */
+    public function setDistinguishedName($dn)
+    {
+        $this->setFirstAttribute($this->schema->distinguishedName(), (string) $dn);
+
+        return $this;
+    }
+
+    /**
+     * Returns the model's distinguished name string.
+     *
+     * (Alias for getDistinguishedName())
+     *
+     * @link https://msdn.microsoft.com/en-us/library/aa366101(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getDn()
+    {
+        return $this->getDistinguishedName();
+    }
+
+    /**
+     * Returns a DistinguishedName object for modifying the current models DN.
+     *
+     * @return DistinguishedName
+     */
+    public function getDnBuilder()
+    {
+        // If we currently don't have a distinguished name, we'll set
+        // it to our base, otherwise we'll use our query's base DN.
+        $dn = $this->getDistinguishedName() ?: $this->query->getDn();
+
+        return $this->getNewDnBuilder($dn);
+    }
+
+    /**
+     * Returns the models distinguished name components.
+     *
+     * @param bool $removeAttributePrefixes
+     *
+     * @return array
+     */
+    public function getDnComponents($removeAttributePrefixes = true)
+    {
+        if ($components = Utilities::explodeDn($this->getDn(), $removeAttributePrefixes)) {
+            unset($components['count']);
+
+            return $components;
+        }
+
+        return [];
+    }
+
+    /**
+     * Returns the distinguished name that the model is a leaf of.
+     *
+     * @return string
+     */
+    public function getDnRoot()
+    {
+        $components = $this->getDnComponents(false);
+
+        // Shift off the beginning of the array;
+        // This contains the models RDN.
+        array_shift($components);
+
+        return implode(',', $components);
+    }
+
+    /**
+     * Returns a new DistinguishedName object for building onto.
+     *
+     * @param string $baseDn
+     *
+     * @return DistinguishedName
+     */
+    public function getNewDnBuilder($baseDn = '')
+    {
+        return new DistinguishedName($baseDn);
+    }
+
+    /**
+     *  Sets the model's distinguished name attribute.
+     *
+     * (Alias for setDistinguishedName())
+     *
+     * @param string $dn
+     *
+     * @return $this
+     */
+    public function setDn($dn)
+    {
+        return $this->setDistinguishedName($dn);
+    }
+
+    /**
+     * Returns the model's hex object SID.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679024(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getObjectSid()
+    {
+        return $this->getFirstAttribute($this->schema->objectSid());
+    }
+
+    /**
+     * Returns the model's binary object GUID.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679021(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getObjectGuid()
+    {
+        return $this->getFirstAttribute($this->schema->objectGuid());
+    }
+
+    /**
+     * Returns the model's GUID.
+     *
+     * @return string|null
+     */
+    public function getConvertedGuid()
+    {
+        try {
+            return (string) new Guid($this->getObjectGuid());
+        } catch (InvalidArgumentException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Returns the model's SID.
+     *
+     * @return string|null
+     */
+    public function getConvertedSid()
+    {
+        try {
+            return (string) new Sid($this->getObjectSid());
+        } catch (InvalidArgumentException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Returns the model's common name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675449(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getCommonName()
+    {
+        return $this->getFirstAttribute($this->schema->commonName());
+    }
+
+    /**
+     * Sets the model's common name.
+     *
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setCommonName($name)
+    {
+        return $this->setFirstAttribute($this->schema->commonName(), $name);
+    }
+
+    /**
+     * Returns the model's name. An LDAP alias for the CN attribute.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675449(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->getFirstAttribute($this->schema->name());
+    }
+
+    /**
+     * Sets the model's name.
+     *
+     * @param string $name
+     *
+     * @return Model
+     */
+    public function setName($name)
+    {
+        return $this->setFirstAttribute($this->schema->name(), $name);
+    }
+
+    /**
+     * Returns the model's display name.
+     *
+     * @return string
+     */
+    public function getDisplayName()
+    {
+        return $this->getFirstAttribute($this->schema->displayName());
+    }
+
+    /**
+     * Sets the model's display name.
+     *
+     * @param string $displayName
+     *
+     * @return $this
+     */
+    public function setDisplayName($displayName)
+    {
+        return $this->setFirstAttribute($this->schema->displayName(), $displayName);
+    }
+
+    /**
+     * Returns the model's samaccountname.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679635(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getAccountName()
+    {
+        return $this->getFirstAttribute($this->schema->accountName());
+    }
+
+    /**
+     * Sets the model's samaccountname.
+     *
+     * @param string $accountName
+     *
+     * @return Model
+     */
+    public function setAccountName($accountName)
+    {
+        return $this->setFirstAttribute($this->schema->accountName(), $accountName);
+    }
+
+    /**
+     * Returns the model's userPrincipalName.
+     *
+     * @link https://docs.microsoft.com/en-us/windows/win32/adschema/a-userprincipalname
+     *
+     * @return string
+     */
+    public function getUserPrincipalName()
+    {
+        return $this->getFirstAttribute($this->schema->userPrincipalName());
+    }
+
+    /**
+     * Sets the model's userPrincipalName.
+     *
+     * @param string $upn
+     *
+     * @return Model
+     */
+    public function setUserPrincipalName($upn)
+    {
+        return $this->setFirstAttribute($this->schema->userPrincipalName(), $upn);
+    }
+
+    /**
+     * Returns the model's samaccounttype.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679637(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getAccountType()
+    {
+        return $this->getFirstAttribute($this->schema->accountType());
+    }
+
+    /**
+     * Returns the model's `whenCreated` time.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680924(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getCreatedAt()
+    {
+        return $this->getFirstAttribute($this->schema->createdAt());
+    }
+
+    /**
+     * Returns the created at time in a mysql formatted date.
+     *
+     * @return string
+     */
+    public function getCreatedAtDate()
+    {
+        return (new DateTime())->setTimestamp($this->getCreatedAtTimestamp())->format($this->dateFormat);
+    }
+
+    /**
+     * Returns the created at time in a unix timestamp format.
+     *
+     * @return float
+     */
+    public function getCreatedAtTimestamp()
+    {
+        return DateTime::createFromFormat($this->timestampFormat, $this->getCreatedAt())->getTimestamp();
+    }
+
+    /**
+     * Returns the model's `whenChanged` time.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680921(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getUpdatedAt()
+    {
+        return $this->getFirstAttribute($this->schema->updatedAt());
+    }
+
+    /**
+     * Returns the updated at time in a mysql formatted date.
+     *
+     * @return string
+     */
+    public function getUpdatedAtDate()
+    {
+        return (new DateTime())->setTimestamp($this->getUpdatedAtTimestamp())->format($this->dateFormat);
+    }
+
+    /**
+     * Returns the updated at time in a unix timestamp format.
+     *
+     * @return float
+     */
+    public function getUpdatedAtTimestamp()
+    {
+        return DateTime::createFromFormat($this->timestampFormat, $this->getUpdatedAt())->getTimestamp();
+    }
+
+    /**
+     * Returns the Container of the current Model.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679012(v=vs.85).aspx
+     *
+     * @return Container|Entry|bool
+     */
+    public function getObjectClass()
+    {
+        return $this->query->findByDn($this->getObjectCategoryDn());
+    }
+
+    /**
+     * Returns the CN of the model's object category.
+     *
+     * @return null|string
+     */
+    public function getObjectCategory()
+    {
+        $category = $this->getObjectCategoryArray();
+
+        if (is_array($category) && array_key_exists(0, $category)) {
+            return $category[0];
+        }
+    }
+
+    /**
+     * Returns the model's object category DN in an exploded array.
+     *
+     * @return array|false
+     */
+    public function getObjectCategoryArray()
+    {
+        return Utilities::explodeDn($this->getObjectCategoryDn());
+    }
+
+    /**
+     * Returns the model's object category DN string.
+     *
+     * @return null|string
+     */
+    public function getObjectCategoryDn()
+    {
+        return $this->getFirstAttribute($this->schema->objectCategory());
+    }
+
+    /**
+     * Returns the model's primary group ID.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679375(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrimaryGroupId()
+    {
+        return $this->getFirstAttribute($this->schema->primaryGroupId());
+    }
+
+    /**
+     * Returns the model's instance type.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676204(v=vs.85).aspx
+     *
+     * @return int
+     */
+    public function getInstanceType()
+    {
+        return $this->getFirstAttribute($this->schema->instanceType());
+    }
+
+    /**
+     * Returns the distinguished name of the user who is assigned to manage this object.
+     *
+     * @return string|null
+     */
+    public function getManagedBy()
+    {
+        return $this->getFirstAttribute($this->schema->managedBy());
+    }
+
+    /**
+     * Returns the user model of the user who is assigned to manage this object.
+     *
+     * Returns false otherwise.
+     *
+     * @return User|bool
+     */
+    public function getManagedByUser()
+    {
+        if ($dn = $this->getManagedBy()) {
+            return $this->query->newInstance()->findByDn($dn);
+        }
+
+        return false;
+    }
+
+    /**
+     * Sets the user who is assigned to managed this object.
+     *
+     * @param Model|string $dn
+     *
+     * @return $this
+     */
+    public function setManagedBy($dn)
+    {
+        if ($dn instanceof self) {
+            $dn = $dn->getDn();
+        }
+
+        return $this->setFirstAttribute($this->schema->managedBy(), $dn);
+    }
+
+    /**
+     * Returns the model's max password age.
+     *
+     * @return string
+     */
+    public function getMaxPasswordAge()
+    {
+        return $this->getFirstAttribute($this->schema->maxPasswordAge());
+    }
+
+    /**
+     * Returns the model's max password age in days.
+     *
+     * @return int
+     */
+    public function getMaxPasswordAgeDays()
+    {
+        $age = $this->getMaxPasswordAge();
+
+        return (int) (abs($age) / 10000000 / 60 / 60 / 24);
+    }
+
+    /**
+     * Determine if the current model is located inside the given OU.
+     *
+     * If a model instance is given, the strict parameter is ignored.
+     *
+     * @param Model|string $ou     The organizational unit to check.
+     * @param bool         $strict Whether the check is case-sensitive.
+     *
+     * @return bool
+     */
+    public function inOu($ou, $strict = false)
+    {
+        if ($ou instanceof self) {
+            // If we've been given an OU model, we can
+            // just check if the OU's DN is inside
+            // the current models DN.
+            return (bool) strpos($this->getDn(), $ou->getDn());
+        }
+
+        $suffix = $strict ? '' : 'i';
+
+        return (bool) preg_grep("/{$ou}/{$suffix}", $this->getDnBuilder()->getComponents('ou'));
+    }
+
+    /**
+     * Returns true / false if the current model is writable
+     * by checking its instance type integer.
+     *
+     * @return bool
+     */
+    public function isWritable()
+    {
+        return (int) $this->getInstanceType() === 4;
+    }
+
+    /**
+     * Saves the changes to LDAP and returns the results.
+     *
+     * @param array $attributes The attributes to update or create for the current entry.
+     *
+     * @return bool
+     */
+    public function save(array $attributes = [])
+    {
+        $this->fireModelEvent(new Events\Saving($this));
+
+        $saved = $this->exists ? $this->update($attributes) : $this->create($attributes);
+
+        if ($saved) {
+            $this->fireModelEvent(new Events\Saved($this));
+        }
+
+        return $saved;
+    }
+
+    /**
+     * Updates the model.
+     *
+     * @param array $attributes The attributes to update for the current entry.
+     *
+     * @return bool
+     */
+    public function update(array $attributes = [])
+    {
+        $this->fill($attributes);
+
+        $modifications = $this->getModifications();
+
+        if (count($modifications) > 0) {
+            $this->fireModelEvent(new Events\Updating($this));
+
+            // Push the update.
+            if ($this->query->getConnection()->modifyBatch($this->getDn(), $modifications)) {
+                // Re-sync attributes.
+                $this->syncRaw();
+
+                $this->fireModelEvent(new Events\Updated($this));
+
+                // Re-set the models modifications.
+                $this->modifications = [];
+
+                return true;
+            }
+
+            // Modification failed, return false.
+            return false;
+        }
+
+        // We need to return true here because modify batch will
+        // return false if no modifications are made
+        // but this may not always be the case.
+        return true;
+    }
+
+    /**
+     * Creates the entry in LDAP.
+     *
+     * @param array $attributes The attributes for the new entry.
+     *
+     * @throws UnexpectedValueException
+     *
+     * @return bool
+     */
+    public function create(array $attributes = [])
+    {
+        $this->fill($attributes);
+
+        if (empty($this->getDn())) {
+            // If the model doesn't currently have a distinguished
+            // name set, we'll create one automatically using
+            // the current query builders base DN.
+            $dn = $this->getCreatableDn();
+
+            // If the dn we receive is the same as our queries base DN, we need
+            // to throw an exception. The LDAP object must have a valid RDN.
+            if ($dn->get() == $this->query->getDn()) {
+                throw new UnexpectedValueException("An LDAP object must have a valid RDN to be created. '$dn' given.");
+            }
+
+            $this->setDn($dn);
+        }
+
+        $this->fireModelEvent(new Events\Creating($this));
+
+        // Create the entry.
+        $created = $this->query->getConnection()->add($this->getDn(), $this->getCreatableAttributes());
+
+        if ($created) {
+            // If the entry was created we'll re-sync
+            // the models attributes from the server.
+            $this->syncRaw();
+
+            $this->fireModelEvent(new Events\Created($this));
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Creates an attribute on the current model.
+     *
+     * @param string $attribute The attribute to create
+     * @param mixed  $value     The value of the new attribute
+     * @param bool   $sync      Whether to re-sync all attributes
+     *
+     * @return bool
+     */
+    public function createAttribute($attribute, $value, $sync = true)
+    {
+        if (
+            $this->exists &&
+            $this->query->getConnection()->modAdd($this->getDn(), [$attribute => $value])
+        ) {
+            if ($sync) {
+                $this->syncRaw();
+            }
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Updates the specified attribute with the specified value.
+     *
+     * @param string $attribute The attribute to modify
+     * @param mixed  $value     The new value for the attribute
+     * @param bool   $sync      Whether to re-sync all attributes
+     *
+     * @return bool
+     */
+    public function updateAttribute($attribute, $value, $sync = true)
+    {
+        if (
+            $this->exists &&
+            $this->query->getConnection()->modReplace($this->getDn(), [$attribute => $value])
+        ) {
+            if ($sync) {
+                $this->syncRaw();
+            }
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Deletes an attribute on the current entry.
+     *
+     * @param string|array $attributes The attribute(s) to delete
+     * @param bool         $sync       Whether to re-sync all attributes
+     *
+     * Delete specific values in attributes:
+     *
+     *     ["memberuid" => "username"]
+     *
+     * Delete an entire attribute:
+     *
+     *     ["memberuid" => []]
+     *
+     * @return bool
+     */
+    public function deleteAttribute($attributes, $sync = true)
+    {
+        // If we've been given a string, we'll assume we're removing a
+        // single attribute. Otherwise, we'll assume it's
+        // an array of attributes to remove.
+        $attributes = is_string($attributes) ? [$attributes => []] : $attributes;
+
+        if (
+            $this->exists &&
+            $this->query->getConnection()->modDelete($this->getDn(), $attributes)
+        ) {
+            if ($sync) {
+                $this->syncRaw();
+            }
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Deletes the current entry.
+     *
+     * Throws a ModelNotFoundException if the current model does
+     * not exist or does not contain a distinguished name.
+     *
+     * @param bool $recursive Whether to recursively delete leaf nodes (models that are children).
+     *
+     * @throws ModelDoesNotExistException
+     *
+     * @return bool
+     */
+    public function delete($recursive = false)
+    {
+        $dn = $this->getDn();
+
+        if ($this->exists === false || empty($dn)) {
+            // Make sure the record exists before we can delete it.
+            // Otherwise, we'll throw an exception.
+            throw (new ModelDoesNotExistException())->setModel(get_class($this));
+        }
+
+        $this->fireModelEvent(new Events\Deleting($this));
+
+        if ($recursive) {
+            // If recursive is requested, we'll retrieve all direct leaf nodes
+            // by executing a 'listing' and delete each resulting model.
+            $this->newQuery()->listing()->in($this->getDn())->get()->each(function (self $model) use ($recursive) {
+                $model->delete($recursive);
+            });
+        }
+
+        if ($this->query->getConnection()->delete($dn)) {
+            // If the deletion was successful, we'll mark the model
+            // as non-existing and fire the deleted event.
+            $this->exists = false;
+
+            $this->fireModelEvent(new Events\Deleted($this));
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Moves the current model into the given new parent.
+     *
+     * For example: $user->move($ou);
+     *
+     * @param Model|string $newParentDn  The new parent of the current model.
+     * @param bool         $deleteOldRdn Whether to delete the old models relative distinguished name once renamed / moved.
+     *
+     * @return bool
+     */
+    public function move($newParentDn, $deleteOldRdn = true)
+    {
+        // First we'll explode the current models distinguished name and keep their attributes prefixes.
+        $parts = Utilities::explodeDn($this->getDn(), $removeAttrPrefixes = false);
+
+        // If the current model has an empty RDN, we can't move it.
+        if ((int) Arr::first($parts) === 0) {
+            throw new UnexpectedValueException('Current model does not contain an RDN to move.');
+        }
+
+        // Looks like we have a DN. We'll retrieve the leftmost RDN (the identifier).
+        $rdn = Arr::get($parts, 0);
+
+        return $this->rename($rdn, $newParentDn, $deleteOldRdn);
+    }
+
+    /**
+     * Renames the current model to a new RDN and new parent.
+     *
+     * @param string            $rdn          The models new relative distinguished name. Example: "cn=JohnDoe"
+     * @param Model|string|null $newParentDn  The models new parent distinguished name (if moving). Leave this null if you are only renaming. Example: "ou=MovedUsers,dc=acme,dc=org"
+     * @param bool|true         $deleteOldRdn Whether to delete the old models relative distinguished name once renamed / moved.
+     *
+     * @return bool
+     */
+    public function rename($rdn, $newParentDn = null, $deleteOldRdn = true)
+    {
+        if ($newParentDn instanceof self) {
+            $newParentDn = $newParentDn->getDn();
+        }
+
+        $moved = $this->query->getConnection()->rename($this->getDn(), $rdn, $newParentDn, $deleteOldRdn);
+
+        if ($moved) {
+            // If the model was successfully moved, we'll set its
+            // new DN so we can sync it's attributes properly.
+            $this->setDn("{$rdn},{$newParentDn}");
+
+            $this->syncRaw();
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Constructs a new distinguished name that is creatable in the directory.
+     *
+     * @return DistinguishedName|string
+     */
+    protected function getCreatableDn()
+    {
+        return $this->getDnBuilder()->addCn($this->getCommonName());
+    }
+
+    /**
+     * Returns the models creatable attributes.
+     *
+     * @return mixed
+     */
+    protected function getCreatableAttributes()
+    {
+        return Arr::except($this->getAttributes(), [$this->schema->distinguishedName()]);
+    }
+
+    /**
+     * Determines if the given modification is valid.
+     *
+     * @param mixed $mod
+     *
+     * @return bool
+     */
+    protected function isValidModification($mod)
+    {
+        return is_array($mod) &&
+            array_key_exists(BatchModification::KEY_MODTYPE, $mod) &&
+            array_key_exists(BatchModification::KEY_ATTRIB, $mod);
+    }
+
+    /**
+     * Builds the models modifications from its dirty attributes.
+     *
+     * @return array
+     */
+    protected function buildModificationsFromDirty()
+    {
+        foreach ($this->getDirty() as $attribute => $values) {
+            // Make sure values is always an array.
+            $values = (is_array($values) ? $values : [$values]);
+
+            // Create a new modification.
+            $modification = $this->newBatchModification($attribute, null, $values);
+
+            if (array_key_exists($attribute, $this->original)) {
+                // If the attribute we're modifying has an original value, we'll give the
+                // BatchModification object its values to automatically determine
+                // which type of LDAP operation we need to perform.
+                $modification->setOriginal($this->original[$attribute]);
+            }
+
+            // Build the modification from its
+            // possible original values.
+            $modification->build();
+
+            if ($modification->isValid()) {
+                // Finally, we'll add the modification to the model.
+                $this->addModification($modification);
+            }
+        }
+
+        return $this->modifications;
+    }
+
+    /**
+     * Validates that the current LDAP connection is secure.
+     *
+     * @throws ConnectionException
+     *
+     * @return void
+     */
+    protected function validateSecureConnection()
+    {
+        if (!$this->query->getConnection()->canChangePasswords()) {
+            throw new ConnectionException(
+                'You must be connected to your LDAP server with TLS or SSL to perform this operation.'
+            );
+        }
+    }
+
+    /**
+     * Converts the inserted string boolean to a PHP boolean.
+     *
+     * @param string $bool
+     *
+     * @return null|bool
+     */
+    protected function convertStringToBool($bool)
+    {
+        $bool = strtoupper($bool);
+
+        if ($bool === strtoupper($this->schema->false())) {
+            return false;
+        } elseif ($bool === strtoupper($this->schema->true())) {
+            return true;
+        } else {
+            return;
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ModelDoesNotExistException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ModelDoesNotExistException.php
new file mode 100644
index 0000000..3935610
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ModelDoesNotExistException.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace Adldap\Models;
+
+use Adldap\AdldapException;
+
+/**
+ * Class ModelDoesNotExistException.
+ *
+ * Thrown when a model being saved / updated does not actually exist.
+ */
+class ModelDoesNotExistException extends AdldapException
+{
+    /**
+     * The class name of the model that does not exist.
+     *
+     * @var string
+     */
+    protected $model;
+
+    /**
+     * Sets the model that does not exist.
+     *
+     * @param string $model
+     *
+     * @return ModelDoesNotExistException
+     */
+    public function setModel($model)
+    {
+        $this->model = $model;
+
+        $this->message = "Model [{$model}] does not exist.";
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ModelNotFoundException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ModelNotFoundException.php
new file mode 100644
index 0000000..6cc3334
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/ModelNotFoundException.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace Adldap\Models;
+
+use Adldap\AdldapException;
+
+/**
+ * Class ModelNotFoundException.
+ *
+ * Thrown when an LDAP record is not found.
+ */
+class ModelNotFoundException extends AdldapException
+{
+    /**
+     * The query filter that was used.
+     *
+     * @var string
+     */
+    protected $query;
+
+    /**
+     * The base DN of the query that was used.
+     *
+     * @var string
+     */
+    protected $baseDn;
+
+    /**
+     * Sets the query that was used.
+     *
+     * @param string $query
+     * @param string $baseDn
+     *
+     * @return ModelNotFoundException
+     */
+    public function setQuery($query, $baseDn)
+    {
+        $this->query = $query;
+        $this->baseDn = $baseDn;
+
+        $this->message = "No LDAP query results for filter: [{$query}] in: [{$baseDn}]";
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Organization.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Organization.php
new file mode 100644
index 0000000..88129d0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Organization.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class Organization.
+ *
+ * Represents an LDAP organization.
+ */
+class Organization extends Entry
+{
+    use Concerns\HasDescription;
+
+    /**
+     * Retrieves the organization units OU attribute.
+     *
+     * @return string
+     */
+    public function getOrganization()
+    {
+        return $this->getFirstAttribute($this->schema->organizationName());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getCreatableDn()
+    {
+        return $this->getDnBuilder()->addO($this->getOrganization());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/OrganizationalUnit.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/OrganizationalUnit.php
new file mode 100644
index 0000000..0571e4d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/OrganizationalUnit.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class OrganizationalUnit.
+ *
+ * Represents an LDAP organizational unit.
+ */
+class OrganizationalUnit extends Entry
+{
+    use Concerns\HasDescription;
+
+    /**
+     * Retrieves the organization units OU attribute.
+     *
+     * @return string
+     */
+    public function getOu()
+    {
+        return $this->getFirstAttribute($this->schema->organizationalUnitShort());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getCreatableDn()
+    {
+        return $this->getDnBuilder()->addOU($this->getOu());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Printer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Printer.php
new file mode 100644
index 0000000..e055866
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/Printer.php
@@ -0,0 +1,286 @@
+<?php
+
+namespace Adldap\Models;
+
+/**
+ * Class Printer.
+ *
+ * Represents an LDAP printer.
+ */
+class Printer extends Entry
+{
+    /**
+     * Returns the printers name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679385(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrinterName()
+    {
+        return $this->getFirstAttribute($this->schema->printerName());
+    }
+
+    /**
+     * Returns the printers share name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679408(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrinterShareName()
+    {
+        return $this->getFirstAttribute($this->schema->printerShareName());
+    }
+
+    /**
+     * Returns the printers memory.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679396(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getMemory()
+    {
+        return $this->getFirstAttribute($this->schema->printerMemory());
+    }
+
+    /**
+     * Returns the printers URL.
+     *
+     * @return string
+     */
+    public function getUrl()
+    {
+        return $this->getFirstAttribute($this->schema->url());
+    }
+
+    /**
+     * Returns the printers location.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676839(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getLocation()
+    {
+        return $this->getFirstAttribute($this->schema->location());
+    }
+
+    /**
+     * Returns the server name that the
+     * current printer is connected to.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679772(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getServerName()
+    {
+        return $this->getFirstAttribute($this->schema->serverName());
+    }
+
+    /**
+     * Returns true / false if the printer can print in color.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679382(v=vs.85).aspx
+     *
+     * @return null|bool
+     */
+    public function getColorSupported()
+    {
+        return $this->convertStringToBool(
+            $this->getFirstAttribute(
+                $this->schema->printerColorSupported()
+            )
+        );
+    }
+
+    /**
+     * Returns true / false if the printer supports duplex printing.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679383(v=vs.85).aspx
+     *
+     * @return null|bool
+     */
+    public function getDuplexSupported()
+    {
+        return $this->convertStringToBool(
+            $this->getFirstAttribute(
+                $this->schema->printerDuplexSupported()
+            )
+        );
+    }
+
+    /**
+     * Returns an array of printer paper types that the printer supports.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679395(v=vs.85).aspx
+     *
+     * @return array
+     */
+    public function getMediaSupported()
+    {
+        return $this->getAttribute($this->schema->printerMediaSupported());
+    }
+
+    /**
+     * Returns true / false if the printer supports stapling.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679410(v=vs.85).aspx
+     *
+     * @return null|bool
+     */
+    public function getStaplingSupported()
+    {
+        return $this->convertStringToBool(
+            $this->getFirstAttribute(
+                $this->schema->printerStaplingSupported()
+            )
+        );
+    }
+
+    /**
+     * Returns an array of the printers bin names.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679380(v=vs.85).aspx
+     *
+     * @return array
+     */
+    public function getPrintBinNames()
+    {
+        return $this->getAttribute($this->schema->printerBinNames());
+    }
+
+    /**
+     * Returns the printers maximum resolution.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679391(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrintMaxResolution()
+    {
+        return $this->getFirstAttribute($this->schema->printerMaxResolutionSupported());
+    }
+
+    /**
+     * Returns the printers orientations supported.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679402(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrintOrientations()
+    {
+        return $this->getFirstAttribute($this->schema->printerOrientationSupported());
+    }
+
+    /**
+     * Returns the driver name of the printer.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675652(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getDriverName()
+    {
+        return $this->getFirstAttribute($this->schema->driverName());
+    }
+
+    /**
+     * Returns the printer drivers version number.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675653(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getDriverVersion()
+    {
+        return $this->getFirstAttribute($this->schema->driverVersion());
+    }
+
+    /**
+     * Returns the priority number of the printer.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679413(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPriority()
+    {
+        return $this->getFirstAttribute($this->schema->priority());
+    }
+
+    /**
+     * Returns the printers start time.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679411(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrintStartTime()
+    {
+        return $this->getFirstAttribute($this->schema->printerStartTime());
+    }
+
+    /**
+     * Returns the printers end time.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679384(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrintEndTime()
+    {
+        return $this->getFirstAttribute($this->schema->printerEndTime());
+    }
+
+    /**
+     * Returns the port name of printer.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679131(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPortName()
+    {
+        return $this->getFirstAttribute($this->schema->portName());
+    }
+
+    /**
+     * Returns the printers version number.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680897(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getVersionNumber()
+    {
+        return $this->getFirstAttribute($this->schema->versionNumber());
+    }
+
+    /**
+     * Returns the print rate.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679405(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrintRate()
+    {
+        return $this->getFirstAttribute($this->schema->printerPrintRate());
+    }
+
+    /**
+     * Returns the print rate unit.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679406(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getPrintRateUnit()
+    {
+        return $this->getFirstAttribute($this->schema->printerPrintRateUnit());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/RootDse.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/RootDse.php
new file mode 100644
index 0000000..31156c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/RootDse.php
@@ -0,0 +1,85 @@
+<?php
+
+namespace Adldap\Models;
+
+use DateTime;
+
+/**
+ * Class RootDse.
+ *
+ * Represents the LDAP connections Root DSE record.
+ */
+class RootDse extends Model
+{
+    /**
+     * Returns the hosts current time in unix timestamp format.
+     *
+     * @return int
+     */
+    public function getCurrentTime()
+    {
+        $time = $this->getFirstAttribute($this->schema->currentTime());
+
+        return DateTime::createFromFormat($this->timestampFormat, $time)->getTimestamp();
+    }
+
+    /**
+     * Returns the hosts current time in the models date format.
+     *
+     * @return string
+     */
+    public function getCurrentTimeDate()
+    {
+        return (new DateTime())->setTimestamp($this->getCurrentTime())->format($this->dateFormat);
+    }
+
+    /**
+     * Returns the hosts configuration naming context.
+     *
+     * @return string
+     */
+    public function getConfigurationNamingContext()
+    {
+        return $this->getFirstAttribute($this->schema->configurationNamingContext());
+    }
+
+    /**
+     * Returns the hosts schema naming context.
+     *
+     * @return string
+     */
+    public function getSchemaNamingContext()
+    {
+        return $this->getFirstAttribute($this->schema->schemaNamingContext());
+    }
+
+    /**
+     * Returns the hosts DNS name.
+     *
+     * @return string
+     */
+    public function getDnsHostName()
+    {
+        return $this->getFirstAttribute($this->schema->dnsHostName());
+    }
+
+    /**
+     * Returns the current hosts server name.
+     *
+     * @return string
+     */
+    public function getServerName()
+    {
+        return $this->getFirstAttribute($this->schema->serverName());
+    }
+
+    /**
+     * Returns the DN of the root domain NC for this DC's forest.
+     *
+     * @return mixed
+     */
+    public function getRootDomainNamingContext()
+    {
+        return $this->getFirstAttribute($this->schema->rootDomainNamingContext());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/User.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/User.php
new file mode 100644
index 0000000..14c3343
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/User.php
@@ -0,0 +1,1054 @@
+<?php
+
+namespace Adldap\Models;
+
+use DateTime;
+use Adldap\Utilities;
+use Adldap\AdldapException;
+use Adldap\Schemas\ActiveDirectory;
+use Adldap\Models\Attributes\AccountControl;
+use Adldap\Models\Attributes\TSPropertyArray;
+use Illuminate\Contracts\Auth\Authenticatable;
+
+/**
+ * Class User.
+ *
+ * Represents an LDAP user.
+ */
+class User extends Entry implements Authenticatable
+{
+    use Concerns\HasUserProperties;
+    use Concerns\HasDescription;
+    use Concerns\HasMemberOf;
+    use Concerns\HasLastLogonAndLogOff;
+    use Concerns\HasUserAccountControl;
+
+    /** @var callable|null */
+    private static $passwordStrategy;
+
+    /**
+     * Password will be processed using given callback before saving.
+     *
+     * @param callable $strategy
+     */
+    public static function usePasswordStrategy(callable $strategy)
+    {
+        static::$passwordStrategy = $strategy;
+    }
+
+    /**
+     * Will return user set password strategy or default one.
+     *
+     * @return callable
+     */
+    public static function getPasswordStrategy(): callable
+    {
+        return static::$passwordStrategy ?? function ($password) {
+            return Utilities::encodePassword($password);
+        };
+    }
+
+    /**
+     * Get the name of the unique identifier for the user.
+     *
+     * @return string
+     */
+    public function getAuthIdentifierName()
+    {
+        return $this->schema->objectGuid();
+    }
+
+    /**
+     * Get the unique identifier for the user.
+     *
+     * @return mixed
+     */
+    public function getAuthIdentifier()
+    {
+        return $this->getConvertedGuid();
+    }
+
+    /**
+     * Get the password for the user.
+     *
+     * @return string
+     */
+    public function getAuthPassword()
+    {
+    }
+
+    /**
+     * Get the token value for the "remember me" session.
+     *
+     * @return string
+     */
+    public function getRememberToken()
+    {
+    }
+
+    /**
+     * Set the token value for the "remember me" session.
+     *
+     * @param string $value
+     *
+     * @return void
+     */
+    public function setRememberToken($value)
+    {
+    }
+
+    /**
+     * Get the column name for the "remember me" token.
+     *
+     * @return string
+     */
+    public function getRememberTokenName()
+    {
+    }
+
+    /**
+     * Returns the department number.
+     *
+     * @return string
+     */
+    public function getDepartmentNumber()
+    {
+        return $this->getFirstAttribute($this->schema->departmentNumber());
+    }
+
+    /**
+     * Sets the department number.
+     *
+     * @param string $number
+     *
+     * @return $this
+     */
+    public function setDepartmentNumber($number)
+    {
+        return $this->setFirstAttribute($this->schema->departmentNumber(), $number);
+    }
+
+    /**
+     * Returns the users info.
+     *
+     * @return mixed
+     */
+    public function getInfo()
+    {
+        return $this->getFirstAttribute($this->schema->info());
+    }
+
+    /**
+     * Sets the users info.
+     *
+     * @param string $info
+     *
+     * @return $this
+     */
+    public function setInfo($info)
+    {
+        return $this->setFirstAttribute($this->schema->info(), $info);
+    }
+
+    /**
+     * Returns the users physical delivery office name.
+     *
+     * @return string
+     */
+    public function getPhysicalDeliveryOfficeName()
+    {
+        return $this->getFirstAttribute($this->schema->physicalDeliveryOfficeName());
+    }
+
+    /**
+     * Sets the users physical delivery office name.
+     *
+     * @param string $deliveryOffice
+     *
+     * @return $this
+     */
+    public function setPhysicalDeliveryOfficeName($deliveryOffice)
+    {
+        return $this->setFirstAttribute($this->schema->physicalDeliveryOfficeName(), $deliveryOffice);
+    }
+
+    /**
+     * Returns the users locale.
+     *
+     * @return string
+     */
+    public function getLocale()
+    {
+        return $this->getFirstAttribute($this->schema->locale());
+    }
+
+    /**
+     * Sets the users locale.
+     *
+     * @param string $locale
+     *
+     * @return $this
+     */
+    public function setLocale($locale)
+    {
+        return $this->setFirstAttribute($this->schema->locale(), $locale);
+    }
+
+    /**
+     * Returns the users company.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675457(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getCompany()
+    {
+        return $this->getFirstAttribute($this->schema->company());
+    }
+
+    /**
+     * Sets the users company.
+     *
+     * @param string $company
+     *
+     * @return $this
+     */
+    public function setCompany($company)
+    {
+        return $this->setFirstAttribute($this->schema->company(), $company);
+    }
+
+    /**
+     * Returns the users mailbox store DN.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/aa487565(v=exchg.65).aspx
+     *
+     * @return string
+     */
+    public function getHomeMdb()
+    {
+        return $this->getFirstAttribute($this->schema->homeMdb());
+    }
+
+    /**
+     * Sets the users home drive.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676191(v=vs.85).aspx
+     *
+     * @return $this
+     */
+    public function setHomeDrive($drive)
+    {
+        return $this->setAttribute($this->schema->homeDrive(), $drive);
+    }
+
+    /**
+     * Specifies the drive letter to which to map the UNC path specified by homeDirectory.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676191(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getHomeDrive()
+    {
+        return $this->getFirstAttribute($this->schema->homeDrive());
+    }
+
+    /**
+     * Sets the users home directory.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676190(v=vs.85).aspx
+     *
+     * @param string $directory
+     *
+     * @return $this
+     */
+    public function setHomeDirectory($directory)
+    {
+        return $this->setAttribute($this->schema->homeDirectory(), $directory);
+    }
+
+    /**
+     * The home directory for the account.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676190(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getHomeDirectory()
+    {
+        return $this->getFirstAttribute($this->schema->homeDirectory());
+    }
+
+    /**
+     * The user's main home phone number.
+     *
+     * @link https://docs.microsoft.com/en-us/windows/desktop/ADSchema/a-homephone
+     *
+     * @return string|null
+     */
+    public function getHomePhone()
+    {
+        return $this->getFirstAttribute($this->schema->homePhone());
+    }
+
+    /**
+     * Returns the users principal name.
+     *
+     * This is usually their email address.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680857(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getUserPrincipalName()
+    {
+        return $this->getFirstAttribute($this->schema->userPrincipalName());
+    }
+
+    /**
+     * Sets the users user principal name.
+     *
+     * @param string $userPrincipalName
+     *
+     * @return $this
+     */
+    public function setUserPrincipalName($userPrincipalName)
+    {
+        return $this->setFirstAttribute($this->schema->userPrincipalName(), $userPrincipalName);
+    }
+
+    /**
+     * Returns an array of workstations the user is assigned to.
+     *
+     * @return array
+     */
+    public function getUserWorkstations()
+    {
+        $workstations = $this->getFirstAttribute($this->schema->userWorkstations());
+
+        return array_filter(explode(',', $workstations));
+    }
+
+    /**
+     * Sets the workstations the user can login to.
+     *
+     * @param string|array $workstations The names of the workstations the user can login to.
+     *                                   Must be an array of names, or a comma separated
+     *                                   list of names.
+     *
+     * @return $this
+     */
+    public function setUserWorkstations($workstations = [])
+    {
+        if (is_array($workstations)) {
+            $workstations = implode(',', $workstations);
+        }
+
+        return $this->setFirstAttribute($this->schema->userWorkstations(), $workstations);
+    }
+
+    /**
+     * Returns the users script path if the user has one.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679656(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getScriptPath()
+    {
+        return $this->getFirstAttribute($this->schema->scriptPath());
+    }
+
+    /**
+     * Sets the users script path.
+     *
+     * @param string $path
+     *
+     * @return $this
+     */
+    public function setScriptPath($path)
+    {
+        return $this->setFirstAttribute($this->schema->scriptPath(), $path);
+    }
+
+    /**
+     * Returns the users bad password count.
+     *
+     * @return string
+     */
+    public function getBadPasswordCount()
+    {
+        return $this->getFirstAttribute($this->schema->badPasswordCount());
+    }
+
+    /**
+     * Returns the users bad password time.
+     *
+     * @return string
+     */
+    public function getBadPasswordTime()
+    {
+        return $this->getFirstAttribute($this->schema->badPasswordTime());
+    }
+
+    /**
+     * Returns the bad password time unix timestamp.
+     *
+     * @return float|null
+     */
+    public function getBadPasswordTimestamp()
+    {
+        if ($time = $this->getBadPasswordTime()) {
+            return Utilities::convertWindowsTimeToUnixTime($time);
+        }
+    }
+
+    /**
+     * Returns the formatted timestamp of the bad password date.
+     *
+     * @throws \Exception
+     *
+     * @return string|null
+     */
+    public function getBadPasswordDate()
+    {
+        if ($timestamp = $this->getBadPasswordTimestamp()) {
+            return (new DateTime())->setTimestamp($timestamp)->format($this->dateFormat);
+        }
+    }
+
+    /**
+     * Returns the time when the users password was set last.
+     *
+     * @return string
+     */
+    public function getPasswordLastSet()
+    {
+        return $this->getFirstAttribute($this->schema->passwordLastSet());
+    }
+
+    /**
+     * Returns the password last set unix timestamp.
+     *
+     * @return float|null
+     */
+    public function getPasswordLastSetTimestamp()
+    {
+        if ($time = $this->getPasswordLastSet()) {
+            return Utilities::convertWindowsTimeToUnixTime($time);
+        }
+    }
+
+    /**
+     * Returns the formatted timestamp of the password last set date.
+     *
+     * @throws \Exception
+     *
+     * @return string|null
+     */
+    public function getPasswordLastSetDate()
+    {
+        if ($timestamp = $this->getPasswordLastSetTimestamp()) {
+            return (new DateTime())->setTimestamp($timestamp)->format($this->dateFormat);
+        }
+    }
+
+    /**
+     * Returns the users lockout time.
+     *
+     * @return string
+     */
+    public function getLockoutTime()
+    {
+        return $this->getFirstAttribute($this->schema->lockoutTime());
+    }
+
+    /**
+     * Returns the users lockout unix timestamp.
+     *
+     * @return float|null
+     */
+    public function getLockoutTimestamp()
+    {
+        if ($time = $this->getLockoutTime()) {
+            return Utilities::convertWindowsTimeToUnixTime($time);
+        }
+    }
+
+    /**
+     * Returns the formatted timestamp of the lockout date.
+     *
+     * @throws \Exception
+     *
+     * @return string|null
+     */
+    public function getLockoutDate()
+    {
+        if ($timestamp = $this->getLockoutTimestamp()) {
+            return (new DateTime())->setTimestamp($timestamp)->format($this->dateFormat);
+        }
+    }
+
+    /**
+     * Clears the accounts lockout time, unlocking the account.
+     *
+     * @return $this
+     */
+    public function setClearLockoutTime()
+    {
+        return $this->setFirstAttribute($this->schema->lockoutTime(), 0);
+    }
+
+    /**
+     * Returns the users profile file path.
+     *
+     * @return string
+     */
+    public function getProfilePath()
+    {
+        return $this->getFirstAttribute($this->schema->profilePath());
+    }
+
+    /**
+     * Sets the users profile path.
+     *
+     * @param string $path
+     *
+     * @return $this
+     */
+    public function setProfilePath($path)
+    {
+        return $this->setFirstAttribute($this->schema->profilePath(), $path);
+    }
+
+    /**
+     * Returns the users legacy exchange distinguished name.
+     *
+     * @return string
+     */
+    public function getLegacyExchangeDn()
+    {
+        return $this->getFirstAttribute($this->schema->legacyExchangeDn());
+    }
+
+    /**
+     * Sets the users account expiry date.
+     *
+     * If no expiry time is given, the account is set to never expire.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675098(v=vs.85).aspx
+     *
+     * @param float $expiryTime
+     *
+     * @return $this
+     */
+    public function setAccountExpiry($expiryTime)
+    {
+        $time = is_null($expiryTime) ? '9223372036854775807' : (string) Utilities::convertUnixTimeToWindowsTime($expiryTime);
+
+        return $this->setFirstAttribute($this->schema->accountExpires(), $time);
+    }
+
+    /**
+     * Returns an array of address book DNs
+     * that the user is listed to be shown in.
+     *
+     * @return array
+     */
+    public function getShowInAddressBook()
+    {
+        return $this->getAttribute($this->schema->showInAddressBook());
+    }
+
+    /**
+     * Returns the users thumbnail photo base 64 encoded.
+     *
+     * Suitable for inserting into an HTML image element.
+     *
+     * @return string|null
+     */
+    public function getThumbnailEncoded()
+    {
+        if ($data = base64_decode($this->getThumbnail(), $strict = true)) {
+            // In case we don't have the file info extension enabled,
+            // we'll set the jpeg mime type as default.
+            $mime = 'image/jpeg';
+
+            $image = base64_encode($data);
+
+            if (function_exists('finfo_open')) {
+                $finfo = finfo_open();
+
+                $mime = finfo_buffer($finfo, $data, FILEINFO_MIME_TYPE);
+
+                return "data:$mime;base64,$image";
+            }
+
+            return "data:$mime;base64,$image";
+        }
+    }
+
+    /**
+     * Returns the users thumbnail photo.
+     *
+     * @return mixed
+     */
+    public function getThumbnail()
+    {
+        return $this->getFirstAttribute($this->schema->thumbnail());
+    }
+
+    /**
+     * Sets the users thumbnail photo.
+     *
+     * @param string $data
+     * @param bool   $encode
+     *
+     * @return $this
+     */
+    public function setThumbnail($data, $encode = true)
+    {
+        if ($encode && !base64_decode($data, $strict = true)) {
+            // If the string we're given is not base 64 encoded, then
+            // we will encode it before setting it on the user.
+            $data = base64_encode($data);
+        }
+
+        return $this->setAttribute($this->schema->thumbnail(), $data);
+    }
+
+    /**
+     * Returns the users JPEG photo.
+     *
+     * @return null|string
+     */
+    public function getJpegPhotoEncoded()
+    {
+        $jpeg = $this->getJpegPhoto();
+
+        return is_null($jpeg) ? $jpeg : 'data:image/jpeg;base64,'.base64_encode($jpeg);
+    }
+
+    /**
+     * Returns the users JPEG photo.
+     *
+     * @return mixed
+     */
+    public function getJpegPhoto()
+    {
+        return $this->getFirstAttribute($this->schema->jpegPhoto());
+    }
+
+    /**
+     * Sets the users JPEG photo.
+     *
+     * @param string $string
+     *
+     * @return $this
+     */
+    public function setJpegPhoto($string)
+    {
+        if (!base64_decode($string, $strict = true)) {
+            $string = base64_encode($string);
+        }
+
+        return $this->setAttribute($this->schema->jpegPhoto(), $string);
+    }
+
+    /**
+     * Return the employee ID.
+     *
+     * @return string
+     */
+    public function getEmployeeId()
+    {
+        return $this->getFirstAttribute($this->schema->employeeId());
+    }
+
+    /**
+     * Sets the employee ID.
+     *
+     * @param string $employeeId
+     *
+     * @return $this
+     */
+    public function setEmployeeId($employeeId)
+    {
+        return $this->setFirstAttribute($this->schema->employeeId(), $employeeId);
+    }
+
+    /**
+     * Returns the employee type.
+     *
+     * @return string|null
+     */
+    public function getEmployeeType()
+    {
+        return $this->getFirstAttribute($this->schema->employeeType());
+    }
+
+    /**
+     * Sets the employee type.
+     *
+     * @param string $type
+     *
+     * @return $this
+     */
+    public function setEmployeeType($type)
+    {
+        return $this->setFirstAttribute($this->schema->employeeType(), $type);
+    }
+
+    /**
+     * Returns the employee number.
+     *
+     * @return string
+     */
+    public function getEmployeeNumber()
+    {
+        return $this->getFirstAttribute($this->schema->employeeNumber());
+    }
+
+    /**
+     * Sets the employee number.
+     *
+     * @param string $number
+     *
+     * @return $this
+     */
+    public function setEmployeeNumber($number)
+    {
+        return $this->setFirstAttribute($this->schema->employeeNumber(), $number);
+    }
+
+    /**
+     * Returns the room number.
+     *
+     * @return string
+     */
+    public function getRoomNumber()
+    {
+        return $this->getFirstAttribute($this->schema->roomNumber());
+    }
+
+    /**
+     * Sets the room number.
+     *
+     * @param string $number
+     *
+     * @return $this
+     */
+    public function setRoomNumber($number)
+    {
+        return $this->setFirstAttribute($this->schema->roomNumber(), $number);
+    }
+
+    /**
+     * Return the personal title.
+     *
+     * @return $this
+     */
+    public function getPersonalTitle()
+    {
+        return $this->getFirstAttribute($this->schema->personalTitle());
+    }
+
+    /**
+     * Sets the personal title.
+     *
+     * @param string $personalTitle
+     *
+     * @return $this
+     */
+    public function setPersonalTitle($personalTitle)
+    {
+        return $this->setFirstAttribute($this->schema->personalTitle(), $personalTitle);
+    }
+
+    /**
+     * Return the user parameters.
+     *
+     * @return TSPropertyArray
+     */
+    public function getUserParameters()
+    {
+        return new TSPropertyArray($this->getFirstAttribute('userparameters'));
+    }
+
+    /**
+     * Sets the user parameters.
+     *
+     * @param TSPropertyArray $userParameters
+     *
+     * @return $this
+     */
+    public function setUserParameters(TSPropertyArray $userParameters)
+    {
+        return $this->setFirstAttribute('userparameters', $userParameters->toBinary());
+    }
+
+    /**
+     * Retrieves the primary group of the current user.
+     *
+     * @return Model|bool
+     */
+    public function getPrimaryGroup()
+    {
+        $groupSid = preg_replace('/\d+$/', $this->getPrimaryGroupId(), $this->getConvertedSid());
+
+        return $this->query->newInstance()->findBySid($groupSid);
+    }
+
+    /**
+     * Sets the password on the current user.
+     *
+     * @param string $password
+     *
+     * @throws AdldapException When no SSL or TLS secured connection is present.
+     *
+     * @return $this
+     */
+    public function setPassword($password)
+    {
+        $this->validateSecureConnection();
+
+        $encodedPassword = call_user_func(static::getPasswordStrategy(), $password);
+
+        if ($this->exists) {
+            // If the record exists, we need to add a batch replace
+            // modification, otherwise we'll receive a "type or
+            // value" exists exception from our LDAP server.
+            return $this->addModification(
+                $this->newBatchModification(
+                    $this->schema->unicodePassword(),
+                    LDAP_MODIFY_BATCH_REPLACE,
+                    [$encodedPassword]
+                )
+            );
+        } else {
+            // Otherwise, we are creating a new record
+            // and we can set the attribute normally.
+            return $this->setFirstAttribute(
+                $this->schema->unicodePassword(),
+                $encodedPassword
+            );
+        }
+    }
+
+    /**
+     * Sets the option to force the password change at the next logon.
+     *
+     * Does not work if the "Password never expires" option is enabled.
+     *
+     * @return $this
+     */
+    public function setEnableForcePasswordChange()
+    {
+        return $this->setFirstAttribute($this->schema->passwordLastSet(), 0);
+    }
+
+    /**
+     * Sets the option to disable forcing a password change at the next logon.
+     *
+     * @return $this
+     */
+    public function setDisableForcePasswordChange()
+    {
+        return $this->setFirstAttribute($this->schema->passwordLastSet(), -1);
+    }
+
+    /**
+     * Change the password of the current user. This must be performed over SSL / TLS.
+     *
+     * Throws an exception on failure.
+     *
+     * @param string $oldPassword      The new password
+     * @param string $newPassword      The old password
+     * @param bool   $replaceNotRemove Alternative password change method. Set to true if you're receiving 'CONSTRAINT'
+     *                                 errors.
+     *
+     * @throws UserPasswordPolicyException    When the new password does not match your password policy.
+     * @throws UserPasswordIncorrectException When the old password is incorrect.
+     * @throws AdldapException                When an unknown cause of failure occurs.
+     *
+     * @return true
+     */
+    public function changePassword($oldPassword, $newPassword, $replaceNotRemove = false)
+    {
+        $this->validateSecureConnection();
+
+        $attribute = $this->schema->unicodePassword();
+
+        $modifications = [];
+
+        if ($replaceNotRemove) {
+            $modifications[] = $this->newBatchModification(
+                $attribute,
+                LDAP_MODIFY_BATCH_REPLACE,
+                [call_user_func(static::getPasswordStrategy(), $newPassword)]
+            );
+        } else {
+            // Create batch modification for removing the old password.
+            $modifications[] = $this->newBatchModification(
+                $attribute,
+                LDAP_MODIFY_BATCH_REMOVE,
+                [call_user_func(static::getPasswordStrategy(), $oldPassword)]
+            );
+
+            // Create batch modification for adding the new password.
+            $modifications[] = $this->newBatchModification(
+                $attribute,
+                LDAP_MODIFY_BATCH_ADD,
+                [call_user_func(static::getPasswordStrategy(), $newPassword)]
+            );
+        }
+
+        // Add the modifications.
+        foreach ($modifications as $modification) {
+            $this->addModification($modification);
+        }
+
+        $result = @$this->update();
+
+        if (!$result) {
+            // If the user failed to update, we'll see if we can
+            // figure out why by retrieving the extended error.
+            $error = $this->query->getConnection()->getExtendedError();
+            $code = $this->query->getConnection()->getExtendedErrorCode();
+
+            switch ($code) {
+                case '0000052D':
+                    throw new UserPasswordPolicyException(
+                        "Error: $code. Your new password does not match the password policy."
+                    );
+                case '00000056':
+                    throw new UserPasswordIncorrectException(
+                        "Error: $code. Your old password is incorrect."
+                    );
+                default:
+                    throw new AdldapException($error);
+            }
+        }
+
+        return $result;
+    }
+
+    /**
+     * Return true / false if LDAP User is active (enabled & not expired).
+     *
+     * @return bool
+     */
+    public function isActive()
+    {
+        return $this->isEnabled() && !$this->isExpired();
+    }
+
+    /**
+     * Return true / false if the LDAP User is expired.
+     *
+     * @param DateTime $date Optional date
+     *
+     * @return bool
+     */
+    public function isExpired(DateTime $date = null)
+    {
+        // Here we'll determine if the account expires by checking is expiration date.
+        if ($expirationDate = $this->expirationDate()) {
+            $date = $date ?: new DateTime();
+
+            return $expirationDate <= $date;
+        }
+
+        // The account has no expiry date.
+        return false;
+    }
+
+    /**
+     * Return the expiration date of the user account.
+     *
+     * @throws \Exception
+     *
+     * @return DateTime|null
+     */
+    public function expirationDate()
+    {
+        $accountExpiry = $this->getAccountExpiry();
+
+        // If the account expiry is zero or the expiry is equal to
+        // ActiveDirectory's 'never expire' value,
+        // then we'll return null here.
+        if ($accountExpiry == 0 || $accountExpiry == $this->getSchema()->neverExpiresDate()) {
+            return;
+        }
+
+        $unixTime = Utilities::convertWindowsTimeToUnixTime($accountExpiry);
+
+        return (new DateTime())->setTimestamp($unixTime);
+    }
+
+    /**
+     * Returns the users account expiry date.
+     *
+     * @return string
+     */
+    public function getAccountExpiry()
+    {
+        return $this->getFirstAttribute($this->schema->accountExpires());
+    }
+
+    /**
+     * Returns true / false if the users password is expired.
+     *
+     * @return bool
+     */
+    public function passwordExpired()
+    {
+        // First we'll check the users userAccountControl to see if
+        // it contains the 'password does not expire' flag.
+        if ($this->getUserAccountControlObject()->has(AccountControl::DONT_EXPIRE_PASSWORD)) {
+            return false;
+        }
+
+        $lastSet = (int) $this->getPasswordLastSet();
+
+        if ($lastSet === 0) {
+            // If the users last set time is zero, the password has
+            // been manually expired by an administrator.
+            return true;
+        }
+
+        // We'll check if we're using the ActiveDirectory schema to retrieve
+        // the max password age, as this is an AD-only feature.
+        if ($this->schema instanceof ActiveDirectory) {
+            $query = $this->query->newInstance();
+
+            // We need to get the root domain object to be able to
+            // retrieve the max password age on the domain.
+            $rootDomainObject = $query->select($this->schema->maxPasswordAge())
+                ->whereHas($this->schema->objectClass())
+                ->first();
+
+            $maxPasswordAge = $rootDomainObject->getMaxPasswordAge();
+
+            if (empty($maxPasswordAge)) {
+                // There is not a max password age set on the LDAP server.
+                return false;
+            }
+
+            // convert from 100 nanosecond ticks to seconds
+            $maxPasswordAgeSeconds = $maxPasswordAge / 10000000;
+
+            $lastSetUnixEpoch = Utilities::convertWindowsTimeToUnixTime($lastSet);
+            $passwordExpiryTime = $lastSetUnixEpoch - $maxPasswordAgeSeconds;
+
+            $expiresAt = (new DateTime())->setTimestamp($passwordExpiryTime);
+
+            // If our current time is greater than the users password
+            // expiry time, the users password has expired.
+            return (new DateTime())->getTimestamp() >= $expiresAt->getTimestamp();
+        }
+
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/UserPasswordIncorrectException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/UserPasswordIncorrectException.php
new file mode 100644
index 0000000..44cb39b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/UserPasswordIncorrectException.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace Adldap\Models;
+
+use Adldap\AdldapException;
+
+/**
+ * Class UserPasswordIncorrectException.
+ *
+ * Thrown when a users password is being changed
+ * and their current password given is incorrect.
+ */
+class UserPasswordIncorrectException extends AdldapException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/UserPasswordPolicyException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/UserPasswordPolicyException.php
new file mode 100644
index 0000000..9a99faa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Models/UserPasswordPolicyException.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace Adldap\Models;
+
+use Adldap\AdldapException;
+
+/**
+ * Class UserPasswordPolicyException.
+ *
+ * Thrown when a users password is being changed but their new password
+ * does not conform to the LDAP servers password policy.
+ */
+class UserPasswordPolicyException extends AdldapException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Builder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Builder.php
new file mode 100644
index 0000000..48f253f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Builder.php
@@ -0,0 +1,1956 @@
+<?php
+
+namespace Adldap\Query;
+
+use Closure;
+use Adldap\Adldap;
+use Adldap\Utilities;
+use Adldap\Models\Model;
+use Illuminate\Support\Arr;
+use InvalidArgumentException;
+use Adldap\Schemas\ActiveDirectory;
+use Adldap\Schemas\SchemaInterface;
+use Adldap\Query\Events\QueryExecuted;
+use Adldap\Models\ModelNotFoundException;
+use Adldap\Connections\ConnectionInterface;
+
+class Builder
+{
+    /**
+     * The selected columns to retrieve on the query.
+     *
+     * @var array
+     */
+    public $columns = ['*'];
+
+    /**
+     * The query filters.
+     *
+     * @var array
+     */
+    public $filters = [
+        'and' => [],
+        'or'  => [],
+        'raw' => [],
+    ];
+
+    /**
+     * The size limit of the query.
+     *
+     * @var int
+     */
+    public $limit = 0;
+
+    /**
+     * Determines whether the current query is paginated.
+     *
+     * @var bool
+     */
+    public $paginated = false;
+
+    /**
+     * The field to sort search results by.
+     *
+     * @var string
+     */
+    protected $sortByField = '';
+
+    /**
+     * The direction to sort the results by.
+     *
+     * @var string
+     */
+    protected $sortByDirection = '';
+
+    /**
+     * The sort flags for sorting query results.
+     *
+     * @var int
+     */
+    protected $sortByFlags;
+
+    /**
+     * The distinguished name to perform searches upon.
+     *
+     * @var string|null
+     */
+    protected $dn;
+
+    /**
+     * The default query type.
+     *
+     * @var string
+     */
+    protected $type = 'search';
+
+    /**
+     * Determines whether or not to return LDAP results in their raw array format.
+     *
+     * @var bool
+     */
+    protected $raw = false;
+
+    /**
+     * Determines whether the query is nested.
+     *
+     * @var bool
+     */
+    protected $nested = false;
+
+    /**
+     * Determines whether the query should be cached.
+     *
+     * @var bool
+     */
+    protected $caching = false;
+
+    /**
+     * How long the query should be cached until.
+     *
+     * @var \DateTimeInterface|null
+     */
+    protected $cacheUntil = null;
+
+    /**
+     * Determines whether the query cache must be flushed.
+     *
+     * @var bool
+     */
+    protected $flushCache = false;
+
+    /**
+     * The current connection instance.
+     *
+     * @var ConnectionInterface
+     */
+    protected $connection;
+
+    /**
+     * The current grammar instance.
+     *
+     * @var Grammar
+     */
+    protected $grammar;
+
+    /**
+     * The current schema instance.
+     *
+     * @var SchemaInterface
+     */
+    protected $schema;
+
+    /**
+     * The current cache instance.
+     *
+     * @var Cache|null
+     */
+    protected $cache;
+
+    /**
+     * Constructor.
+     *
+     * @param ConnectionInterface  $connection
+     * @param Grammar|null         $grammar
+     * @param SchemaInterface|null $schema
+     */
+    public function __construct(ConnectionInterface $connection, Grammar $grammar = null, SchemaInterface $schema = null)
+    {
+        $this->setConnection($connection)
+            ->setGrammar($grammar)
+            ->setSchema($schema);
+    }
+
+    /**
+     * Sets the current connection.
+     *
+     * @param ConnectionInterface $connection
+     *
+     * @return Builder
+     */
+    public function setConnection(ConnectionInterface $connection)
+    {
+        $this->connection = $connection;
+
+        return $this;
+    }
+
+    /**
+     * Sets the current filter grammar.
+     *
+     * @param Grammar|null $grammar
+     *
+     * @return Builder
+     */
+    public function setGrammar(Grammar $grammar = null)
+    {
+        $this->grammar = $grammar ?: new Grammar();
+
+        return $this;
+    }
+
+    /**
+     * Sets the current schema.
+     *
+     * @param SchemaInterface|null $schema
+     *
+     * @return Builder
+     */
+    public function setSchema(SchemaInterface $schema = null)
+    {
+        $this->schema = $schema ?: new ActiveDirectory();
+
+        return $this;
+    }
+
+    /**
+     * Returns the current schema.
+     *
+     * @return SchemaInterface
+     */
+    public function getSchema()
+    {
+        return $this->schema;
+    }
+
+    /**
+     * Sets the cache to store query results.
+     *
+     * @param Cache|null $cache
+     */
+    public function setCache(Cache $cache = null)
+    {
+        $this->cache = $cache;
+
+        return $this;
+    }
+
+    /**
+     * Returns a new Query Builder instance.
+     *
+     * @param string $baseDn
+     *
+     * @return Builder
+     */
+    public function newInstance($baseDn = null)
+    {
+        // We'll set the base DN of the new Builder so
+        // developers don't need to do this manually.
+        $dn = is_null($baseDn) ? $this->getDn() : $baseDn;
+
+        return (new static($this->connection, $this->grammar, $this->schema))
+            ->setDn($dn);
+    }
+
+    /**
+     * Returns a new nested Query Builder instance.
+     *
+     * @param Closure|null $closure
+     *
+     * @return $this
+     */
+    public function newNestedInstance(Closure $closure = null)
+    {
+        $query = $this->newInstance()->nested();
+
+        if ($closure) {
+            call_user_func($closure, $query);
+        }
+
+        return $query;
+    }
+
+    /**
+     * Returns the current query.
+     *
+     * @return Collection|array
+     */
+    public function get()
+    {
+        // We'll mute any warnings / errors here. We just need to
+        // know if any query results were returned.
+        return @$this->query($this->getQuery());
+    }
+
+    /**
+     * Compiles and returns the current query string.
+     *
+     * @return string
+     */
+    public function getQuery()
+    {
+        // We need to ensure we have at least one filter, as
+        // no query results will be returned otherwise.
+        if (count(array_filter($this->filters)) === 0) {
+            $this->whereHas($this->schema->objectClass());
+        }
+
+        return $this->grammar->compile($this);
+    }
+
+    /**
+     * Returns the unescaped query.
+     *
+     * @return string
+     */
+    public function getUnescapedQuery()
+    {
+        return Utilities::unescape($this->getQuery());
+    }
+
+    /**
+     * Returns the current Grammar instance.
+     *
+     * @return Grammar
+     */
+    public function getGrammar()
+    {
+        return $this->grammar;
+    }
+
+    /**
+     * Returns the current Connection instance.
+     *
+     * @return ConnectionInterface
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * Returns the builders DN to perform searches upon.
+     *
+     * @return string
+     */
+    public function getDn()
+    {
+        return $this->dn;
+    }
+
+    /**
+     * Sets the DN to perform searches upon.
+     *
+     * @param string|Model|null $dn
+     *
+     * @return Builder
+     */
+    public function setDn($dn = null)
+    {
+        $this->dn = $dn instanceof Model ? $dn->getDn() : $dn;
+
+        return $this;
+    }
+
+    /**
+     * Alias for setting the base DN of the query.
+     *
+     * @param string|Model|null $dn
+     *
+     * @return Builder
+     */
+    public function in($dn = null)
+    {
+        return $this->setDn($dn);
+    }
+
+    /**
+     * Sets the size limit of the current query.
+     *
+     * @param int $limit
+     *
+     * @return Builder
+     */
+    public function limit($limit = 0)
+    {
+        $this->limit = $limit;
+
+        return $this;
+    }
+
+    /**
+     * Performs the specified query on the current LDAP connection.
+     *
+     * @param string $query
+     *
+     * @return \Adldap\Query\Collection|array
+     */
+    public function query($query)
+    {
+        $start = microtime(true);
+
+        // Here we will create the execution callback. This allows us
+        // to only execute an LDAP request if caching is disabled
+        // or if no cache of the given query exists yet.
+        $callback = function () use ($query) {
+            return $this->parse($this->run($query));
+        };
+
+        // If caching is enabled and we have a cache instance available,
+        // we will try to retrieve the cached results instead.
+        // Otherwise, we will simply execute the callback.
+        if ($this->caching && $this->cache) {
+            $results = $this->getCachedResponse($this->getCacheKey($query), $callback);
+        } else {
+            $results = $callback();
+        }
+
+        // Log the query.
+        $this->logQuery($this, $this->type, $this->getElapsedTime($start));
+
+        // Process & return the results.
+        return $this->newProcessor()->process($results);
+    }
+
+    /**
+     * Paginates the current LDAP query.
+     *
+     * @param int  $perPage
+     * @param int  $currentPage
+     * @param bool $isCritical
+     *
+     * @return Paginator
+     */
+    public function paginate($perPage = 1000, $currentPage = 0, $isCritical = true)
+    {
+        $this->paginated = true;
+
+        $start = microtime(true);
+
+        $query = $this->getQuery();
+
+        // Here we will create the pagination callback. This allows us
+        // to only execute an LDAP request if caching is disabled
+        // or if no cache of the given query exists yet.
+        $callback = function () use ($query, $perPage, $isCritical) {
+            return $this->runPaginate($query, $perPage, $isCritical);
+        };
+
+        // If caching is enabled and we have a cache instance available,
+        // we will try to retrieve the cached results instead.
+        if ($this->caching && $this->cache) {
+            $pages = $this->getCachedResponse($this->getCacheKey($query), $callback);
+        } else {
+            $pages = $callback();
+        }
+
+        // Log the query.
+        $this->logQuery($this, 'paginate', $this->getElapsedTime($start));
+
+        // Process & return the results.
+        return $this->newProcessor()->processPaginated($pages, $perPage, $currentPage);
+    }
+
+    /**
+     * Get the cached response or execute and cache the callback value.
+     *
+     * @param string  $key
+     * @param Closure $callback
+     *
+     * @return mixed
+     */
+    protected function getCachedResponse($key, Closure $callback)
+    {
+        if ($this->flushCache) {
+            $this->cache->delete($key);
+        }
+
+        return $this->cache->remember($key, $this->cacheUntil, $callback);
+    }
+
+    /**
+     * Runs the query operation with the given filter.
+     *
+     * @param string $filter
+     *
+     * @return resource
+     */
+    protected function run($filter)
+    {
+        return $this->connection->{$this->type}(
+            $this->getDn(),
+            $filter,
+            $this->getSelects(),
+            $onlyAttributes = false,
+            $this->limit
+        );
+    }
+
+    /**
+     * Runs the paginate operation with the given filter.
+     *
+     * @param string $filter
+     * @param int    $perPage
+     * @param bool   $isCritical
+     *
+     * @return array
+     */
+    protected function runPaginate($filter, $perPage, $isCritical)
+    {
+        return $this->connection->supportsServerControlsInMethods() ?
+            $this->compatiblePaginationCallback($filter, $perPage, $isCritical) :
+            $this->deprecatedPaginationCallback($filter, $perPage, $isCritical);
+    }
+
+    /**
+     * Create a deprecated pagination callback compatible with PHP 7.2.
+     *
+     * @param string $filter
+     * @param int    $perPage
+     * @param bool   $isCritical
+     *
+     * @return array
+     */
+    protected function deprecatedPaginationCallback($filter, $perPage, $isCritical)
+    {
+        $pages = [];
+
+        $cookie = '';
+
+        do {
+            $this->connection->controlPagedResult($perPage, $isCritical, $cookie);
+
+            if (! $resource = $this->run($filter)) {
+                break;
+            }
+
+            // If we have been given a valid resource, we will retrieve the next
+            // pagination cookie to send for our next pagination request.
+            $this->connection->controlPagedResultResponse($resource, $cookie);
+
+            $pages[] = $this->parse($resource);
+        } while (!empty($cookie));
+
+        // Reset paged result on the current connection. We won't pass in the current $perPage
+        // parameter since we want to reset the page size to the default '1000'. Sending '0'
+        // eliminates any further opportunity for running queries in the same request,
+        // even though that is supposed to be the correct usage.
+        $this->connection->controlPagedResult();
+
+        return $pages;
+    }
+
+    /**
+     * Create a compatible pagination callback compatible with PHP 7.3 and greater.
+     *
+     * @param string $filter
+     * @param int    $perPage
+     * @param bool   $isCritical
+     *
+     * @return array
+     */
+    protected function compatiblePaginationCallback($filter, $perPage, $isCritical)
+    {
+        $pages = [];
+
+        // Setup our paged results control.
+        $controls = [
+            LDAP_CONTROL_PAGEDRESULTS => [
+                'oid'        => LDAP_CONTROL_PAGEDRESULTS,
+                'isCritical' => $isCritical,
+                'value'      => [
+                    'size'   => $perPage,
+                    'cookie' => '',
+                ],
+            ],
+        ];
+
+        do {
+            // Update the server controls.
+            $this->connection->setOption(LDAP_OPT_SERVER_CONTROLS, $controls);
+
+            if (! $resource = $this->run($filter)) {
+                break;
+            }
+
+            $errorCode = $dn = $errorMessage = $refs = null;
+
+            // Update the server controls with the servers response.
+            $this->connection->parseResult($resource, $errorCode, $dn, $errorMessage, $refs, $controls);
+
+            $pages[] = $this->parse($resource);
+
+            // Reset paged result on the current connection. We won't pass in the current $perPage
+            // parameter since we want to reset the page size to the default '1000'. Sending '0'
+            // eliminates any further opportunity for running queries in the same request,
+            // even though that is supposed to be the correct usage.
+            $controls[LDAP_CONTROL_PAGEDRESULTS]['value']['size'] = $perPage;
+        } while (!empty($controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie']));
+
+        // After running the query, we will clear the LDAP server controls. This
+        // allows the controls to be automatically reset before each new query
+        // that is conducted on the same connection during each request.
+        $this->connection->setOption(LDAP_OPT_SERVER_CONTROLS, []);
+
+        return $pages;
+    }
+
+    /**
+     * Parses the given LDAP resource by retrieving its entries.
+     *
+     * @param resource $resource
+     *
+     * @return array
+     */
+    protected function parse($resource)
+    {
+        // Normalize entries. Get entries returns false on failure.
+        // We'll always want an array in this situation.
+        $entries = $this->connection->getEntries($resource) ?: [];
+
+        // Free up memory.
+        if (is_resource($resource)) {
+            $this->connection->freeResult($resource);
+        }
+
+        return $entries;
+    }
+
+    /**
+     * Returns the cache key.
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    protected function getCacheKey($query)
+    {
+        $key = $this->connection->getHost()
+            .$this->type
+            .$this->getDn()
+            .$query
+            .implode('', $this->getSelects())
+            .$this->limit
+            .$this->paginated;
+
+        return md5($key);
+    }
+
+    /**
+     * Returns the first entry in a search result.
+     *
+     * @param array|string $columns
+     *
+     * @return Model|array|null
+     */
+    public function first($columns = [])
+    {
+        $results = $this->select($columns)->limit(1)->get();
+
+        // Since results may be returned inside an array if `raw()`
+        // is specified, then we'll use our array helper
+        // to retrieve the first result.
+        return Arr::get($results, 0);
+    }
+
+    /**
+     * Returns the first entry in a search result.
+     *
+     * If no entry is found, an exception is thrown.
+     *
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model|array
+     */
+    public function firstOrFail($columns = [])
+    {
+        $record = $this->first($columns);
+
+        if (!$record) {
+            throw (new ModelNotFoundException())
+                ->setQuery($this->getUnescapedQuery(), $this->getDn());
+        }
+
+        return $record;
+    }
+
+    /**
+     * Finds a record by the specified attribute and value.
+     *
+     * @param string       $attribute
+     * @param string       $value
+     * @param array|string $columns
+     *
+     * @return Model|array|false
+     */
+    public function findBy($attribute, $value, $columns = [])
+    {
+        try {
+            return $this->findByOrFail($attribute, $value, $columns);
+        } catch (ModelNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by the specified attribute and value.
+     *
+     * If no record is found an exception is thrown.
+     *
+     * @param string       $attribute
+     * @param string       $value
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model|array
+     */
+    public function findByOrFail($attribute, $value, $columns = [])
+    {
+        return $this->whereEquals($attribute, $value)->firstOrFail($columns);
+    }
+
+    /**
+     * Finds a record using ambiguous name resolution.
+     *
+     * @param string|array $value
+     * @param array|string $columns
+     *
+     * @return Model|array|null
+     */
+    public function find($value, $columns = [])
+    {
+        if (is_array($value)) {
+            return $this->findMany($value, $columns);
+        }
+
+        // If we're not using ActiveDirectory, we can't use ANR. We'll make our own query.
+        if (!is_a($this->schema, ActiveDirectory::class)) {
+            return $this->prepareAnrEquivalentQuery($value)->first($columns);
+        }
+
+        return $this->findBy($this->schema->anr(), $value, $columns);
+    }
+
+    /**
+     * Finds multiple records using ambiguous name resolution.
+     *
+     * @param array $values
+     * @param array $columns
+     *
+     * @return \Adldap\Query\Collection|array
+     */
+    public function findMany(array $values = [], $columns = [])
+    {
+        $this->select($columns);
+
+        if (!is_a($this->schema, ActiveDirectory::class)) {
+            $query = $this;
+
+            foreach ($values as $value) {
+                $query->prepareAnrEquivalentQuery($value);
+            }
+
+            return $query->get();
+        }
+
+        return $this->findManyBy($this->schema->anr(), $values);
+    }
+
+    /**
+     * Creates an ANR equivalent query for LDAP distributions that do not support ANR.
+     *
+     * @param string $value
+     *
+     * @return Builder
+     */
+    protected function prepareAnrEquivalentQuery($value)
+    {
+        return $this->orFilter(function (self $query) use ($value) {
+            $locateBy = [
+                $this->schema->name(),
+                $this->schema->email(),
+                $this->schema->userId(),
+                $this->schema->lastName(),
+                $this->schema->firstName(),
+                $this->schema->commonName(),
+                $this->schema->displayName(),
+            ];
+
+            foreach ($locateBy as $attribute) {
+                $query->whereEquals($attribute, $value);
+            }
+        });
+    }
+
+    /**
+     * Finds many records by the specified attribute.
+     *
+     * @param string $attribute
+     * @param array  $values
+     * @param array  $columns
+     *
+     * @return \Adldap\Query\Collection|array
+     */
+    public function findManyBy($attribute, array $values = [], $columns = [])
+    {
+        $query = $this->select($columns);
+
+        foreach ($values as $value) {
+            $query->orWhere([$attribute => $value]);
+        }
+
+        return $query->get();
+    }
+
+    /**
+     * Finds a record using ambiguous name resolution.
+     *
+     * If a record is not found, an exception is thrown.
+     *
+     * @param string       $value
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model|array
+     */
+    public function findOrFail($value, $columns = [])
+    {
+        $entry = $this->find($value, $columns);
+
+        // Make sure we check if the result is an entry or an array before
+        // we throw an exception in case the user wants raw results.
+        if (!$entry instanceof Model && !is_array($entry)) {
+            throw (new ModelNotFoundException())
+                ->setQuery($this->getUnescapedQuery(), $this->getDn());
+        }
+
+        return $entry;
+    }
+
+    /**
+     * Finds a record by its distinguished name.
+     *
+     * @param string       $dn
+     * @param array|string $columns
+     *
+     * @return bool|Model
+     */
+    public function findByDn($dn, $columns = [])
+    {
+        try {
+            return $this->findByDnOrFail($dn, $columns);
+        } catch (ModelNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by its distinguished name.
+     *
+     * Fails upon no records returned.
+     *
+     * @param string       $dn
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model|array
+     */
+    public function findByDnOrFail($dn, $columns = [])
+    {
+        // Since we're setting our base DN to be able to retrieve a model
+        // by its distinguished name, we need to set it back to
+        // our configured base so it is not overwritten.
+        $base = $this->getDn();
+
+        $model = $this->setDn($dn)
+            ->read()
+            ->whereHas($this->schema->objectClass())
+            ->firstOrFail($columns);
+
+        // Reset the models query builder (in case a model is returned).
+        // Otherwise, we must be requesting a raw result.
+        if ($model instanceof Model) {
+            $model->setQuery($this->in($base));
+        }
+
+        return $model;
+    }
+
+    /**
+     * Finds a record by its string GUID.
+     *
+     * @param string       $guid
+     * @param array|string $columns
+     *
+     * @return Model|array|false
+     */
+    public function findByGuid($guid, $columns = [])
+    {
+        try {
+            return $this->findByGuidOrFail($guid, $columns);
+        } catch (ModelNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by its string GUID.
+     *
+     * Fails upon no records returned.
+     *
+     * @param string       $guid
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model|array
+     */
+    public function findByGuidOrFail($guid, $columns = [])
+    {
+        if ($this->schema->objectGuidRequiresConversion()) {
+            $guid = Utilities::stringGuidToHex($guid);
+        }
+
+        return $this->select($columns)->whereRaw([
+            $this->schema->objectGuid() => $guid,
+        ])->firstOrFail();
+    }
+
+    /**
+     * Finds a record by its Object SID.
+     *
+     * @param string       $sid
+     * @param array|string $columns
+     *
+     * @return Model|array|false
+     */
+    public function findBySid($sid, $columns = [])
+    {
+        try {
+            return $this->findBySidOrFail($sid, $columns);
+        } catch (ModelNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by its Object SID.
+     *
+     * Fails upon no records returned.
+     *
+     * @param string       $sid
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model|array
+     */
+    public function findBySidOrFail($sid, $columns = [])
+    {
+        return $this->findByOrFail($this->schema->objectSid(), $sid, $columns);
+    }
+
+    /**
+     * Finds the Base DN of your domain controller.
+     *
+     * @return string|bool
+     */
+    public function findBaseDn()
+    {
+        $result = $this->setDn(null)
+            ->read()
+            ->raw()
+            ->whereHas($this->schema->objectClass())
+            ->first();
+
+        $key = $this->schema->defaultNamingContext();
+
+        if (is_array($result) && array_key_exists($key, $result)) {
+            if (array_key_exists(0, $result[$key])) {
+                return $result[$key][0];
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Adds the inserted fields to query on the current LDAP connection.
+     *
+     * @param array|string $columns
+     *
+     * @return Builder
+     */
+    public function select($columns = [])
+    {
+        $columns = is_array($columns) ? $columns : func_get_args();
+
+        if (!empty($columns)) {
+            $this->columns = $columns;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Adds a raw filter to the current query.
+     *
+     * @param array|string $filters
+     *
+     * @return Builder
+     */
+    public function rawFilter($filters = [])
+    {
+        $filters = is_array($filters) ? $filters : func_get_args();
+
+        foreach ($filters as $filter) {
+            $this->filters['raw'][] = $filter;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Adds a nested 'and' filter to the current query.
+     *
+     * @param Closure $closure
+     *
+     * @return Builder
+     */
+    public function andFilter(Closure $closure)
+    {
+        $query = $this->newNestedInstance($closure);
+
+        $filter = $this->grammar->compileAnd($query->getQuery());
+
+        return $this->rawFilter($filter);
+    }
+
+    /**
+     * Adds a nested 'or' filter to the current query.
+     *
+     * @param Closure $closure
+     *
+     * @return Builder
+     */
+    public function orFilter(Closure $closure)
+    {
+        $query = $this->newNestedInstance($closure);
+
+        $filter = $this->grammar->compileOr($query->getQuery());
+
+        return $this->rawFilter($filter);
+    }
+
+    /**
+     * Adds a nested 'not' filter to the current query.
+     *
+     * @param Closure $closure
+     *
+     * @return Builder
+     */
+    public function notFilter(Closure $closure)
+    {
+        $query = $this->newNestedInstance($closure);
+
+        $filter = $this->grammar->compileNot($query->getQuery());
+
+        return $this->rawFilter($filter);
+    }
+
+    /**
+     * Adds a where clause to the current query.
+     *
+     * @param string|array $field
+     * @param string       $operator
+     * @param string       $value
+     * @param string       $boolean
+     * @param bool         $raw
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return Builder
+     */
+    public function where($field, $operator = null, $value = null, $boolean = 'and', $raw = false)
+    {
+        if (is_array($field)) {
+            // If the column is an array, we will assume it is an array of
+            // key-value pairs and can add them each as a where clause.
+            return $this->addArrayOfWheres($field, $boolean, $raw);
+        }
+
+        // We'll bypass the 'has' and 'notHas' operator since they
+        // only require two arguments inside the where method.
+        $bypass = [Operator::$has, Operator::$notHas];
+
+        // Here we will make some assumptions about the operator. If only
+        // 2 values are passed to the method, we will assume that
+        // the operator is 'equals' and keep going.
+        if (func_num_args() === 2 && in_array($operator, $bypass) === false) {
+            list($value, $operator) = [$operator, '='];
+        }
+
+        if (!in_array($operator, Operator::all())) {
+            throw new InvalidArgumentException("Invalid where operator: {$operator}");
+        }
+
+        // We'll escape the value if raw isn't requested.
+        $value = $raw ? $value : $this->escape($value);
+
+        $field = $this->escape($field, $ignore = null, 3);
+
+        $this->addFilter($boolean, compact('field', 'operator', 'value'));
+
+        return $this;
+    }
+
+    /**
+     * Adds a raw where clause to the current query.
+     *
+     * Values given to this method are not escaped.
+     *
+     * @param string|array $field
+     * @param string       $operator
+     * @param string       $value
+     *
+     * @return Builder
+     */
+    public function whereRaw($field, $operator = null, $value = null)
+    {
+        return $this->where($field, $operator, $value, 'and', true);
+    }
+
+    /**
+     * Adds a 'where equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereEquals($field, $value)
+    {
+        return $this->where($field, Operator::$equals, $value);
+    }
+
+    /**
+     * Adds a 'where not equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereNotEquals($field, $value)
+    {
+        return $this->where($field, Operator::$doesNotEqual, $value);
+    }
+
+    /**
+     * Adds a 'where approximately equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereApproximatelyEquals($field, $value)
+    {
+        return $this->where($field, Operator::$approximatelyEquals, $value);
+    }
+
+    /**
+     * Adds a 'where has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return Builder
+     */
+    public function whereHas($field)
+    {
+        return $this->where($field, Operator::$has);
+    }
+
+    /**
+     * Adds a 'where not has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return Builder
+     */
+    public function whereNotHas($field)
+    {
+        return $this->where($field, Operator::$notHas);
+    }
+
+    /**
+     * Adds a 'where contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereContains($field, $value)
+    {
+        return $this->where($field, Operator::$contains, $value);
+    }
+
+    /**
+     * Adds a 'where contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereNotContains($field, $value)
+    {
+        return $this->where($field, Operator::$notContains, $value);
+    }
+
+    /**
+     * Query for entries that match any of the values provided for the given field.
+     *
+     * @param string $field
+     * @param array  $values
+     *
+     * @return Builder
+     */
+    public function whereIn($field, array $values)
+    {
+        return $this->orFilter(function (self $query) use ($field, $values) {
+            foreach ($values as $value) {
+                $query->whereEquals($field, $value);
+            }
+        });
+    }
+
+    /**
+     * Adds a 'between' clause to the current query.
+     *
+     * @param string $field
+     * @param array  $values
+     *
+     * @return Builder
+     */
+    public function whereBetween($field, array $values)
+    {
+        return $this->where([
+            [$field, '>=', $values[0]],
+            [$field, '<=', $values[1]],
+        ]);
+    }
+
+    /**
+     * Adds a 'where starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereStartsWith($field, $value)
+    {
+        return $this->where($field, Operator::$startsWith, $value);
+    }
+
+    /**
+     * Adds a 'where *not* starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereNotStartsWith($field, $value)
+    {
+        return $this->where($field, Operator::$notStartsWith, $value);
+    }
+
+    /**
+     * Adds a 'where ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereEndsWith($field, $value)
+    {
+        return $this->where($field, Operator::$endsWith, $value);
+    }
+
+    /**
+     * Adds a 'where *not* ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function whereNotEndsWith($field, $value)
+    {
+        return $this->where($field, Operator::$notEndsWith, $value);
+    }
+
+    /**
+     * Adds a enabled filter to the current query.
+     *
+     * @return Builder
+     */
+    public function whereEnabled()
+    {
+        return $this->rawFilter($this->schema->filterEnabled());
+    }
+
+    /**
+     * Adds a disabled filter to the current query.
+     *
+     * @return Builder
+     */
+    public function whereDisabled()
+    {
+        return $this->rawFilter($this->schema->filterDisabled());
+    }
+
+    /**
+     * Adds a 'member of' filter to the current query.
+     *
+     * @param string $dn
+     *
+     * @return Builder
+     */
+    public function whereMemberOf($dn)
+    {
+        return $this->whereEquals($this->schema->memberOfRecursive(), $dn);
+    }
+
+    /**
+     * Adds an 'or where' clause to the current query.
+     *
+     * @param array|string $field
+     * @param string|null  $operator
+     * @param string|null  $value
+     *
+     * @return Builder
+     */
+    public function orWhere($field, $operator = null, $value = null)
+    {
+        return $this->where($field, $operator, $value, 'or');
+    }
+
+    /**
+     * Adds a raw or where clause to the current query.
+     *
+     * Values given to this method are not escaped.
+     *
+     * @param string $field
+     * @param string $operator
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereRaw($field, $operator = null, $value = null)
+    {
+        return $this->where($field, $operator, $value, 'or', true);
+    }
+
+    /**
+     * Adds an 'or where has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return Builder
+     */
+    public function orWhereHas($field)
+    {
+        return $this->orWhere($field, Operator::$has);
+    }
+
+    /**
+     * Adds a 'where not has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return Builder
+     */
+    public function orWhereNotHas($field)
+    {
+        return $this->orWhere($field, Operator::$notHas);
+    }
+
+    /**
+     * Adds an 'or where equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereEquals($field, $value)
+    {
+        return $this->orWhere($field, Operator::$equals, $value);
+    }
+
+    /**
+     * Adds an 'or where not equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereNotEquals($field, $value)
+    {
+        return $this->orWhere($field, Operator::$doesNotEqual, $value);
+    }
+
+    /**
+     * Adds a 'or where approximately equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereApproximatelyEquals($field, $value)
+    {
+        return $this->orWhere($field, Operator::$approximatelyEquals, $value);
+    }
+
+    /**
+     * Adds an 'or where contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereContains($field, $value)
+    {
+        return $this->orWhere($field, Operator::$contains, $value);
+    }
+
+    /**
+     * Adds an 'or where *not* contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereNotContains($field, $value)
+    {
+        return $this->orWhere($field, Operator::$notContains, $value);
+    }
+
+    /**
+     * Adds an 'or where starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereStartsWith($field, $value)
+    {
+        return $this->orWhere($field, Operator::$startsWith, $value);
+    }
+
+    /**
+     * Adds an 'or where *not* starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereNotStartsWith($field, $value)
+    {
+        return $this->orWhere($field, Operator::$notStartsWith, $value);
+    }
+
+    /**
+     * Adds an 'or where ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereEndsWith($field, $value)
+    {
+        return $this->orWhere($field, Operator::$endsWith, $value);
+    }
+
+    /**
+     * Adds an 'or where *not* ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return Builder
+     */
+    public function orWhereNotEndsWith($field, $value)
+    {
+        return $this->orWhere($field, Operator::$notEndsWith, $value);
+    }
+
+    /**
+     * Adds an 'or where member of' filter to the current query.
+     *
+     * @param string $dn
+     *
+     * @return Builder
+     */
+    public function orWhereMemberOf($dn)
+    {
+        return $this->orWhereEquals($this->schema->memberOfRecursive(), $dn);
+    }
+
+    /**
+     * Adds a filter onto the current query.
+     *
+     * @param string $type     The type of filter to add.
+     * @param array  $bindings The bindings of the filter.
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function addFilter($type, array $bindings)
+    {
+        // Here we will ensure we have been given a proper filter type.
+        if (!array_key_exists($type, $this->filters)) {
+            throw new InvalidArgumentException("Invalid filter type: {$type}.");
+        }
+
+        // The required filter key bindings.
+        $required = ['field', 'operator', 'value'];
+
+        // Here we will ensure the proper key bindings are given.
+        if (count(array_intersect_key(array_flip($required), $bindings)) !== count($required)) {
+            // Retrieve the keys that are missing in the bindings array.
+            $missing = implode(', ', array_diff($required, array_flip($bindings)));
+
+            throw new InvalidArgumentException("Invalid filter bindings. Missing: {$missing} keys.");
+        }
+
+        $this->filters[$type][] = $bindings;
+
+        return $this;
+    }
+
+    /**
+     * Clear the query builders filters.
+     *
+     * @return $this
+     */
+    public function clearFilters()
+    {
+        foreach ($this->filters as $type => $filters) {
+            $this->filters[$type] = [];
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns true / false depending if the current object
+     * contains selects.
+     *
+     * @return bool
+     */
+    public function hasSelects()
+    {
+        return count($this->getSelects()) > 0;
+    }
+
+    /**
+     * Returns the current selected fields to retrieve.
+     *
+     * @return array
+     */
+    public function getSelects()
+    {
+        $selects = $this->columns;
+
+        // If the asterisk is not provided in the selected columns, we need to
+        // ensure we always select the object class and category, as these
+        // are used for constructing models. The asterisk indicates that
+        // we want all attributes returned for LDAP records.
+        if (!in_array('*', $selects)) {
+            $selects[] = $this->schema->objectCategory();
+            $selects[] = $this->schema->objectClass();
+        }
+
+        return $selects;
+    }
+
+    /**
+     * Sorts the LDAP search results by the specified field and direction.
+     *
+     * @param string   $field
+     * @param string   $direction
+     * @param int|null $flags
+     *
+     * @return Builder
+     */
+    public function sortBy($field, $direction = 'asc', $flags = null)
+    {
+        $this->sortByField = $field;
+
+        // Normalize direction.
+        $direction = strtolower($direction);
+
+        if ($direction === 'asc' || $direction === 'desc') {
+            $this->sortByDirection = $direction;
+        }
+
+        if (is_null($flags)) {
+            $this->sortByFlags = SORT_NATURAL + SORT_FLAG_CASE;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Set the query to search on the base distinguished name.
+     *
+     * This will result in one record being returned.
+     *
+     * @return Builder
+     */
+    public function read()
+    {
+        $this->type = 'read';
+
+        return $this;
+    }
+
+    /**
+     * Set the query to search one level on the base distinguished name.
+     *
+     * @return Builder
+     */
+    public function listing()
+    {
+        $this->type = 'listing';
+
+        return $this;
+    }
+
+    /**
+     * Sets the query to search the entire directory on the base distinguished name.
+     *
+     * @return Builder
+     */
+    public function recursive()
+    {
+        $this->type = 'search';
+
+        return $this;
+    }
+
+    /**
+     * Whether to return the LDAP results in their raw format.
+     *
+     * @param bool $raw
+     *
+     * @return Builder
+     */
+    public function raw($raw = true)
+    {
+        $this->raw = (bool) $raw;
+
+        return $this;
+    }
+
+    /**
+     * Whether the current query is nested.
+     *
+     * @param bool $nested
+     *
+     * @return Builder
+     */
+    public function nested($nested = true)
+    {
+        $this->nested = (bool) $nested;
+
+        return $this;
+    }
+
+    /**
+     * Enables caching on the current query until the given date.
+     *
+     * If flushing is enabled, the query cache will be flushed and then re-cached.
+     *
+     * @param \DateTimeInterface $until When to expire the query cache.
+     * @param bool               $flush Whether to force-flush the query cache.
+     *
+     * @return $this
+     */
+    public function cache(\DateTimeInterface $until = null, $flush = false)
+    {
+        $this->caching = true;
+        $this->cacheUntil = $until;
+        $this->flushCache = $flush;
+
+        return $this;
+    }
+
+    /**
+     * Returns an escaped string for use in an LDAP filter.
+     *
+     * @param string $value
+     * @param string $ignore
+     * @param int    $flags
+     *
+     * @return string
+     */
+    public function escape($value, $ignore = '', $flags = 0)
+    {
+        return ldap_escape($value, $ignore, $flags);
+    }
+
+    /**
+     * Returns the query builders sort by field.
+     *
+     * @return string
+     */
+    public function getSortByField()
+    {
+        return $this->sortByField;
+    }
+
+    /**
+     * Returns the query builders sort by direction.
+     *
+     * @return string
+     */
+    public function getSortByDirection()
+    {
+        return $this->sortByDirection;
+    }
+
+    /**
+     * Returns the query builders sort by flags.
+     *
+     * @return int
+     */
+    public function getSortByFlags()
+    {
+        return $this->sortByFlags;
+    }
+
+    /**
+     * Returns true / false if the current query is nested.
+     *
+     * @return bool
+     */
+    public function isNested()
+    {
+        return $this->nested === true;
+    }
+
+    /**
+     * Returns bool that determines whether the current
+     * query builder will return raw results.
+     *
+     * @return bool
+     */
+    public function isRaw()
+    {
+        return $this->raw;
+    }
+
+    /**
+     * Returns bool that determines whether the current
+     * query builder will return paginated results.
+     *
+     * @return bool
+     */
+    public function isPaginated()
+    {
+        return $this->paginated;
+    }
+
+    /**
+     * Returns bool that determines whether the current
+     * query builder will return sorted results.
+     *
+     * @return bool
+     */
+    public function isSorted()
+    {
+        return $this->sortByField ? true : false;
+    }
+
+    /**
+     * Handle dynamic method calls on the query builder object to be directed to the query processor.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        // We'll check if the beginning of the method being called contains
+        // 'where'. If so, we'll assume it's a dynamic 'where' clause.
+        if (substr($method, 0, 5) === 'where') {
+            return $this->dynamicWhere($method, $parameters);
+        }
+
+        return call_user_func_array([$this->newProcessor(), $method], $parameters);
+    }
+
+    /**
+     * Handles dynamic "where" clauses to the query.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return Builder
+     */
+    public function dynamicWhere($method, $parameters)
+    {
+        $finder = substr($method, 5);
+
+        $segments = preg_split('/(And|Or)(?=[A-Z])/', $finder, -1, PREG_SPLIT_DELIM_CAPTURE);
+
+        // The connector variable will determine which connector will be used for the
+        // query condition. We will change it as we come across new boolean values
+        // in the dynamic method strings, which could contain a number of these.
+        $connector = 'and';
+
+        $index = 0;
+
+        foreach ($segments as $segment) {
+            // If the segment is not a boolean connector, we can assume it is a column's name
+            // and we will add it to the query as a new constraint as a where clause, then
+            // we can keep iterating through the dynamic method string's segments again.
+            if ($segment != 'And' && $segment != 'Or') {
+                $this->addDynamic($segment, $connector, $parameters, $index);
+
+                $index++;
+            }
+
+            // Otherwise, we will store the connector so we know how the next where clause we
+            // find in the query should be connected to the previous ones, meaning we will
+            // have the proper boolean connector to connect the next where clause found.
+            else {
+                $connector = $segment;
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Adds an array of wheres to the current query.
+     *
+     * @param array  $wheres
+     * @param string $boolean
+     * @param bool   $raw
+     *
+     * @return Builder
+     */
+    protected function addArrayOfWheres($wheres, $boolean, $raw)
+    {
+        foreach ($wheres as $key => $value) {
+            if (is_numeric($key) && is_array($value)) {
+                // If the key is numeric and the value is an array, we'll
+                // assume we've been given an array with conditionals.
+                list($field, $condition) = $value;
+
+                // Since a value is optional for some conditionals, we will
+                // try and retrieve the third parameter from the array,
+                // but is entirely optional.
+                $value = Arr::get($value, 2);
+
+                $this->where($field, $condition, $value, $boolean);
+            } else {
+                // If the value is not an array, we will assume an equals clause.
+                $this->where($key, Operator::$equals, $value, $boolean, $raw);
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Add a single dynamic where clause statement to the query.
+     *
+     * @param string $segment
+     * @param string $connector
+     * @param array  $parameters
+     * @param int    $index
+     *
+     * @return void
+     */
+    protected function addDynamic($segment, $connector, $parameters, $index)
+    {
+        // We'll format the 'where' boolean and field here to avoid casing issues.
+        $bool = strtolower($connector);
+        $field = strtolower($segment);
+
+        $this->where($field, '=', $parameters[$index], $bool);
+    }
+
+    /**
+     * Logs the given executed query information by firing its query event.
+     *
+     * @param Builder    $query
+     * @param string     $type
+     * @param null|float $time
+     */
+    protected function logQuery($query, $type, $time = null)
+    {
+        $args = [$query, $time];
+
+        switch ($type) {
+            case 'listing':
+                $event = new Events\Listing(...$args);
+                break;
+            case 'read':
+                $event = new Events\Read(...$args);
+                break;
+            case 'paginate':
+                $event = new Events\Paginate(...$args);
+                break;
+            default:
+                $event = new Events\Search(...$args);
+                break;
+        }
+
+        $this->fireQueryEvent($event);
+    }
+
+    /**
+     * Fires the given query event.
+     *
+     * @param QueryExecuted $event
+     */
+    protected function fireQueryEvent(QueryExecuted $event)
+    {
+        Adldap::getEventDispatcher()->fire($event);
+    }
+
+    /**
+     * Get the elapsed time since a given starting point.
+     *
+     * @param int $start
+     *
+     * @return float
+     */
+    protected function getElapsedTime($start)
+    {
+        return round((microtime(true) - $start) * 1000, 2);
+    }
+
+    /**
+     * Returns a new query Processor instance.
+     *
+     * @return Processor
+     */
+    protected function newProcessor()
+    {
+        return new Processor($this);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Cache.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Cache.php
new file mode 100644
index 0000000..9b0206a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Cache.php
@@ -0,0 +1,95 @@
+<?php
+
+namespace Adldap\Query;
+
+use Closure;
+use Psr\SimpleCache\CacheInterface;
+
+class Cache
+{
+    /**
+     * The cache driver.
+     *
+     * @var CacheInterface
+     */
+    protected $store;
+
+    /**
+     * Constructor.
+     *
+     * @param CacheInterface $store
+     */
+    public function __construct(CacheInterface $store)
+    {
+        $this->store = $store;
+    }
+
+    /**
+     * Get an item from the cache.
+     *
+     * @param string $key
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *
+     * @return mixed
+     */
+    public function get($key)
+    {
+        return $this->store->get($key);
+    }
+
+    /**
+     * Store an item in the cache.
+     *
+     * @param string                                    $key
+     * @param mixed                                     $value
+     * @param \DateTimeInterface|\DateInterval|int|null $ttl
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *
+     * @return bool
+     */
+    public function put($key, $value, $ttl = null)
+    {
+        return $this->store->set($key, $value, $ttl);
+    }
+
+    /**
+     * Get an item from the cache, or execute the given Closure and store the result.
+     *
+     * @param string                                    $key
+     * @param \DateTimeInterface|\DateInterval|int|null $ttl
+     * @param Closure                                   $callback
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *
+     * @return mixed
+     */
+    public function remember($key, $ttl, Closure $callback)
+    {
+        $value = $this->get($key);
+
+        if (!is_null($value)) {
+            return $value;
+        }
+
+        $this->put($key, $value = $callback(), $ttl);
+
+        return $value;
+    }
+
+    /**
+     * Delete an item from the cache.
+     *
+     * @param string $key
+     *
+     * @throws \Psr\Cache\InvalidArgumentException
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *
+     * @return bool
+     */
+    public function delete($key)
+    {
+        return $this->store->delete($key);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Collection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Collection.php
new file mode 100644
index 0000000..b9b6616
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Collection.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Adldap\Query;
+
+use Adldap\Models\Model;
+use Illuminate\Support\Collection as BaseCollection;
+
+class Collection extends BaseCollection
+{
+    /**
+     * {@inheritdoc}
+     */
+    protected function valueRetriever($value)
+    {
+        if ($this->useAsCallable($value)) {
+            return $value;
+        }
+
+        return function ($item) use ($value) {
+            if ($item instanceof Model) {
+                return $item->getFirstAttribute($value);
+            }
+
+            return data_get($item, $value);
+        };
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Listing.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Listing.php
new file mode 100644
index 0000000..0ca05b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Listing.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Query\Events;
+
+class Listing extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Paginate.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Paginate.php
new file mode 100644
index 0000000..2a7666d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Paginate.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Query\Events;
+
+class Paginate extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/QueryExecuted.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/QueryExecuted.php
new file mode 100644
index 0000000..3779276
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/QueryExecuted.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace Adldap\Query\Events;
+
+use Adldap\Query\Builder;
+
+class QueryExecuted
+{
+    /**
+     * The LDAP filter that was used for the query.
+     *
+     * @var string
+     */
+    protected $query;
+
+    /**
+     * The number of milliseconds it took to execute the query.
+     *
+     * @var float
+     */
+    protected $time;
+
+    /**
+     * Constructor.
+     *
+     * @param Builder    $query
+     * @param null|float $time
+     */
+    public function __construct(Builder $query, $time = null)
+    {
+        $this->query = $query;
+        $this->time = $time;
+    }
+
+    /**
+     * Returns the LDAP filter that was used for the query.
+     *
+     * @return Builder
+     */
+    public function getQuery()
+    {
+        return $this->query;
+    }
+
+    /**
+     * Returns the number of milliseconds it took to execute the query.
+     *
+     * @return float|null
+     */
+    public function getTime()
+    {
+        return $this->time;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Read.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Read.php
new file mode 100644
index 0000000..4e0e65d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Read.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Query\Events;
+
+class Read extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Search.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Search.php
new file mode 100644
index 0000000..35fe913
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Events/Search.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Adldap\Query\Events;
+
+class Search extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Factory.php
new file mode 100644
index 0000000..199107e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Factory.php
@@ -0,0 +1,297 @@
+<?php
+
+namespace Adldap\Query;
+
+use Adldap\Models\RootDse;
+use Adldap\Schemas\ActiveDirectory;
+use Adldap\Schemas\SchemaInterface;
+use Adldap\Connections\ConnectionInterface;
+
+/**
+ * Adldap2 Search Factory.
+ *
+ * Constructs new LDAP queries.
+ *
+ *
+ * @mixin Builder
+ */
+class Factory
+{
+    /**
+     * @var ConnectionInterface
+     */
+    protected $connection;
+
+    /**
+     * Stores the current schema instance.
+     *
+     * @var SchemaInterface
+     */
+    protected $schema;
+
+    /**
+     * The base DN to use for the search.
+     *
+     * @var string|null
+     */
+    protected $base;
+
+    /**
+     * The query cache.
+     *
+     * @var Cache
+     */
+    protected $cache;
+
+    /**
+     * Constructor.
+     *
+     * @param ConnectionInterface  $connection The connection to use when constructing a new query.
+     * @param SchemaInterface|null $schema     The schema to use for the query and models located.
+     * @param string               $baseDn     The base DN to use for all searches.
+     */
+    public function __construct(ConnectionInterface $connection, SchemaInterface $schema = null, $baseDn = '')
+    {
+        $this->setConnection($connection)
+            ->setSchema($schema)
+            ->setBaseDn($baseDn);
+    }
+
+    /**
+     * Sets the connection property.
+     *
+     * @param ConnectionInterface $connection
+     *
+     * @return $this
+     */
+    public function setConnection(ConnectionInterface $connection)
+    {
+        $this->connection = $connection;
+
+        return $this;
+    }
+
+    /**
+     * Sets the schema property.
+     *
+     * @param SchemaInterface|null $schema
+     *
+     * @return $this
+     */
+    public function setSchema(SchemaInterface $schema = null)
+    {
+        $this->schema = $schema ?: new ActiveDirectory();
+
+        return $this;
+    }
+
+    /**
+     * Sets the base distinguished name to perform searches upon.
+     *
+     * @param string $base
+     *
+     * @return $this
+     */
+    public function setBaseDn($base = '')
+    {
+        $this->base = $base;
+
+        return $this;
+    }
+
+    /**
+     * Sets the cache for storing query results.
+     *
+     * @param Cache $cache
+     *
+     * @return $this
+     */
+    public function setCache(Cache $cache)
+    {
+        $this->cache = $cache;
+
+        return $this;
+    }
+
+    /**
+     * Returns a new query builder instance.
+     *
+     * @return Builder
+     */
+    public function newQuery()
+    {
+        return $this->newBuilder()->in($this->base);
+    }
+
+    /**
+     * Performs a global 'all' search query on the current
+     * connection by performing a search for all entries
+     * that contain a common name attribute.
+     *
+     * @return \Adldap\Query\Collection|array
+     */
+    public function get()
+    {
+        return $this->newQuery()->whereHas($this->schema->commonName())->get();
+    }
+
+    /**
+     * Returns a query builder scoped to users.
+     *
+     * @return Builder
+     */
+    public function users()
+    {
+        $wheres = [
+            [$this->schema->objectClass(), Operator::$equals, $this->schema->objectClassUser()],
+            [$this->schema->objectCategory(), Operator::$equals, $this->schema->objectCategoryPerson()],
+        ];
+
+        // OpenLDAP doesn't like specifying the omission of user objectclasses
+        // equal to `contact`. We'll make sure we're working with
+        // ActiveDirectory before adding this filter.
+        if (is_a($this->schema, ActiveDirectory::class)) {
+            $wheres[] = [$this->schema->objectClass(), Operator::$doesNotEqual, $this->schema->objectClassContact()];
+        }
+
+        return $this->where($wheres);
+    }
+
+    /**
+     * Returns a query builder scoped to printers.
+     *
+     * @return Builder
+     */
+    public function printers()
+    {
+        return $this->where([
+            $this->schema->objectClass() => $this->schema->objectClassPrinter(),
+        ]);
+    }
+
+    /**
+     * Returns a query builder scoped to organizational units.
+     *
+     * @return Builder
+     */
+    public function ous()
+    {
+        return $this->where([
+            $this->schema->objectClass() => $this->schema->objectClassOu(),
+        ]);
+    }
+
+    /**
+     * Returns a query builder scoped to organizations.
+     *
+     * @return Builder
+     */
+    public function organizations()
+    {
+        return $this->where([
+            $this->schema->objectClass() => $this->schema->objectClassOrganization(),
+        ]);
+    }
+
+    /**
+     * Returns a query builder scoped to groups.
+     *
+     * @return Builder
+     */
+    public function groups()
+    {
+        return $this->where([
+            $this->schema->objectClass() => $this->schema->objectClassGroup(),
+        ]);
+    }
+
+    /**
+     * Returns a query builder scoped to containers.
+     *
+     * @return Builder
+     */
+    public function containers()
+    {
+        return $this->where([
+            $this->schema->objectClass() => $this->schema->objectClassContainer(),
+        ]);
+    }
+
+    /**
+     * Returns a query builder scoped to contacts.
+     *
+     * @return Builder
+     */
+    public function contacts()
+    {
+        return $this->where([
+            $this->schema->objectClass() => $this->schema->objectClassContact(),
+        ]);
+    }
+
+    /**
+     * Returns a query builder scoped to computers.
+     *
+     * @return Builder
+     */
+    public function computers()
+    {
+        return $this->where([
+            $this->schema->objectClass() => $this->schema->objectClassComputer(),
+        ]);
+    }
+
+    /**
+     * Returns the root DSE record.
+     *
+     * @return RootDse|null
+     */
+    public function getRootDse()
+    {
+        $query = $this->newQuery();
+
+        $root = $query->in('')->read()->whereHas($this->schema->objectClass())->first();
+
+        if ($root) {
+            return (new RootDse([], $query))
+                ->setRawAttributes($root->getAttributes());
+        }
+    }
+
+    /**
+     * Handle dynamic method calls on the query builder object.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        return call_user_func_array([$this->newQuery(), $method], $parameters);
+    }
+
+    /**
+     * Returns a new query grammar instance.
+     *
+     * @return Grammar
+     */
+    protected function newGrammar()
+    {
+        return new Grammar();
+    }
+
+    /**
+     * Returns a new query builder instance.
+     *
+     * @return Builder
+     */
+    protected function newBuilder()
+    {
+        $builder = new Builder($this->connection, $this->newGrammar(), $this->schema);
+
+        $builder->setCache($this->cache);
+
+        return $builder;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Grammar.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Grammar.php
new file mode 100644
index 0000000..dcda3d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Grammar.php
@@ -0,0 +1,390 @@
+<?php
+
+namespace Adldap\Query;
+
+class Grammar
+{
+    /**
+     * Wraps a query string in brackets.
+     *
+     * Produces: (query)
+     *
+     * @param string $query
+     * @param string $prefix
+     * @param string $suffix
+     *
+     * @return string
+     */
+    public function wrap($query, $prefix = '(', $suffix = ')')
+    {
+        return $prefix.$query.$suffix;
+    }
+
+    /**
+     * Compiles the Builder instance into an LDAP query string.
+     *
+     * @param Builder $builder
+     *
+     * @return string
+     */
+    public function compile(Builder $builder)
+    {
+        $ands = $builder->filters['and'];
+        $ors = $builder->filters['or'];
+        $raws = $builder->filters['raw'];
+
+        $query = $this->concatenate($raws);
+
+        $query = $this->compileWheres($ands, $query);
+
+        $query = $this->compileOrWheres($ors, $query);
+
+        // We need to check if the query is already nested, otherwise
+        // we'll nest it here and return the result.
+        if (!$builder->isNested()) {
+            $total = count($ands) + count($raws);
+
+            // Make sure we wrap the query in an 'and' if using
+            // multiple filters. We also need to check if only
+            // one where is used with multiple orWheres, that
+            // we wrap it in an `and` query.
+            if ($total > 1 || (count($ands) === 1 && count($ors) > 0)) {
+                $query = $this->compileAnd($query);
+            }
+        }
+
+        return $query;
+    }
+
+    /**
+     * Concatenates filters into a single string.
+     *
+     * @param array $bindings
+     *
+     * @return string
+     */
+    public function concatenate(array $bindings = [])
+    {
+        // Filter out empty query segments.
+        $bindings = array_filter($bindings, function ($value) {
+            return (string) $value !== '';
+        });
+
+        return implode('', $bindings);
+    }
+
+    /**
+     * Returns a query string for equals.
+     *
+     * Produces: (field=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileEquals($field, $value)
+    {
+        return $this->wrap($field.Operator::$equals.$value);
+    }
+
+    /**
+     * Returns a query string for does not equal.
+     *
+     * Produces: (!(field=value))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileDoesNotEqual($field, $value)
+    {
+        return $this->compileNot($this->compileEquals($field, $value));
+    }
+
+    /**
+     * Alias for does not equal operator (!=) operator.
+     *
+     * Produces: (!(field=value))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileDoesNotEqualAlias($field, $value)
+    {
+        return $this->compileDoesNotEqual($field, $value);
+    }
+
+    /**
+     * Returns a query string for greater than or equals.
+     *
+     * Produces: (field>=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileGreaterThanOrEquals($field, $value)
+    {
+        return $this->wrap($field.Operator::$greaterThanOrEquals.$value);
+    }
+
+    /**
+     * Returns a query string for less than or equals.
+     *
+     * Produces: (field<=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileLessThanOrEquals($field, $value)
+    {
+        return $this->wrap($field.Operator::$lessThanOrEquals.$value);
+    }
+
+    /**
+     * Returns a query string for approximately equals.
+     *
+     * Produces: (field~=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileApproximatelyEquals($field, $value)
+    {
+        return $this->wrap($field.Operator::$approximatelyEquals.$value);
+    }
+
+    /**
+     * Returns a query string for starts with.
+     *
+     * Produces: (field=value*)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileStartsWith($field, $value)
+    {
+        return $this->wrap($field.Operator::$equals.$value.Operator::$has);
+    }
+
+    /**
+     * Returns a query string for does not start with.
+     *
+     * Produces: (!(field=*value))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileNotStartsWith($field, $value)
+    {
+        return $this->compileNot($this->compileStartsWith($field, $value));
+    }
+
+    /**
+     * Returns a query string for ends with.
+     *
+     * Produces: (field=*value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileEndsWith($field, $value)
+    {
+        return $this->wrap($field.Operator::$equals.Operator::$has.$value);
+    }
+
+    /**
+     * Returns a query string for does not end with.
+     *
+     * Produces: (!(field=value*))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileNotEndsWith($field, $value)
+    {
+        return $this->compileNot($this->compileEndsWith($field, $value));
+    }
+
+    /**
+     * Returns a query string for contains.
+     *
+     * Produces: (field=*value*)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileContains($field, $value)
+    {
+        return $this->wrap($field.Operator::$equals.Operator::$has.$value.Operator::$has);
+    }
+
+    /**
+     * Returns a query string for does not contain.
+     *
+     * Produces: (!(field=*value*))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileNotContains($field, $value)
+    {
+        return $this->compileNot($this->compileContains($field, $value));
+    }
+
+    /**
+     * Returns a query string for a where has.
+     *
+     * Produces: (field=*)
+     *
+     * @param string $field
+     *
+     * @return string
+     */
+    public function compileHas($field)
+    {
+        return $this->wrap($field.Operator::$equals.Operator::$has);
+    }
+
+    /**
+     * Returns a query string for a where does not have.
+     *
+     * Produces: (!(field=*))
+     *
+     * @param string $field
+     *
+     * @return string
+     */
+    public function compileNotHas($field)
+    {
+        return $this->compileNot($this->compileHas($field));
+    }
+
+    /**
+     * Wraps the inserted query inside an AND operator.
+     *
+     * Produces: (&query)
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    public function compileAnd($query)
+    {
+        return $query ? $this->wrap($query, '(&') : '';
+    }
+
+    /**
+     * Wraps the inserted query inside an OR operator.
+     *
+     * Produces: (|query)
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    public function compileOr($query)
+    {
+        return $query ? $this->wrap($query, '(|') : '';
+    }
+
+    /**
+     * Wraps the inserted query inside an NOT operator.
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    public function compileNot($query)
+    {
+        return $query ? $this->wrap($query, '(!') : '';
+    }
+
+    /**
+     * Assembles all where clauses in the current wheres property.
+     *
+     * @param array  $wheres
+     * @param string $query
+     *
+     * @return string
+     */
+    protected function compileWheres(array $wheres = [], $query = '')
+    {
+        foreach ($wheres as $where) {
+            $query .= $this->compileWhere($where);
+        }
+
+        return $query;
+    }
+
+    /**
+     * Assembles all or where clauses in the current orWheres property.
+     *
+     * @param array  $orWheres
+     * @param string $query
+     *
+     * @return string
+     */
+    protected function compileOrWheres(array $orWheres = [], $query = '')
+    {
+        $or = '';
+
+        foreach ($orWheres as $where) {
+            $or .= $this->compileWhere($where);
+        }
+
+        // Make sure we wrap the query in an 'or' if using multiple
+        // orWheres. For example (|(QUERY)(ORWHEREQUERY)).
+        if (($query && count($orWheres) > 0) || count($orWheres) > 1) {
+            $query .= $this->compileOr($or);
+        } else {
+            $query .= $or;
+        }
+
+        return $query;
+    }
+
+    /**
+     * Assembles a single where query based
+     * on its operator and returns it.
+     *
+     * @param array $where
+     *
+     * @return string|null
+     */
+    protected function compileWhere(array $where)
+    {
+        // Get the name of the operator.
+        if ($name = array_search($where['operator'], Operator::all())) {
+            // If the name was found we'll camel case it
+            // to run it through the compile method.
+            $method = 'compile'.ucfirst($name);
+
+            // Make sure the compile method exists for the operator.
+            if (method_exists($this, $method)) {
+                return $this->{$method}($where['field'], $where['value']);
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Operator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Operator.php
new file mode 100644
index 0000000..75b3289
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Operator.php
@@ -0,0 +1,116 @@
+<?php
+
+namespace Adldap\Query;
+
+use ReflectionClass;
+
+class Operator
+{
+    /**
+     * The 'has' wildcard operator.
+     *
+     * @var string
+     */
+    public static $has = '*';
+
+    /**
+     * The custom `notHas` operator.
+     *
+     * @var string
+     */
+    public static $notHas = '!*';
+
+    /**
+     * The equals operator.
+     *
+     * @var string
+     */
+    public static $equals = '=';
+
+    /**
+     * The does not equal operator.
+     *
+     * @var string
+     */
+    public static $doesNotEqual = '!';
+
+    /**
+     * The does not equal operator (alias).
+     *
+     * @var string
+     */
+    public static $doesNotEqualAlias = '!=';
+
+    /**
+     * The greater than or equal to operator.
+     *
+     * @var string
+     */
+    public static $greaterThanOrEquals = '>=';
+
+    /**
+     * The less than or equal to operator.
+     *
+     * @var string
+     */
+    public static $lessThanOrEquals = '<=';
+
+    /**
+     * The approximately equal to operator.
+     *
+     * @var string
+     */
+    public static $approximatelyEquals = '~=';
+
+    /**
+     * The custom starts with operator.
+     *
+     * @var string
+     */
+    public static $startsWith = 'starts_with';
+
+    /**
+     * The custom not starts with operator.
+     *
+     * @var string
+     */
+    public static $notStartsWith = 'not_starts_with';
+
+    /**
+     * The custom ends with operator.
+     *
+     * @var string
+     */
+    public static $endsWith = 'ends_with';
+
+    /**
+     * The custom not ends with operator.
+     *
+     * @var string
+     */
+    public static $notEndsWith = 'not_ends_with';
+
+    /**
+     * The custom contains operator.
+     *
+     * @var string
+     */
+    public static $contains = 'contains';
+
+    /**
+     * The custom not contains operator.
+     *
+     * @var string
+     */
+    public static $notContains = 'not_contains';
+
+    /**
+     * Returns all available operators.
+     *
+     * @return array
+     */
+    public static function all()
+    {
+        return (new ReflectionClass(new static()))->getStaticProperties();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Paginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Paginator.php
new file mode 100644
index 0000000..0f61fe2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Paginator.php
@@ -0,0 +1,206 @@
+<?php
+
+namespace Adldap\Query;
+
+use Countable;
+use ArrayIterator;
+use IteratorAggregate;
+
+class Paginator implements Countable, IteratorAggregate
+{
+    /**
+     * The complete results array.
+     *
+     * @var array
+     */
+    protected $results = [];
+
+    /**
+     * The total amount of pages.
+     *
+     * @var int
+     */
+    protected $pages;
+
+    /**
+     * The amount of entries per page.
+     *
+     * @var int
+     */
+    protected $perPage;
+
+    /**
+     * The current page number.
+     *
+     * @var int
+     */
+    protected $currentPage;
+
+    /**
+     * The current entry offset number.
+     *
+     * @var int
+     */
+    protected $currentOffset;
+
+    /**
+     * Constructor.
+     *
+     * @param array $results
+     * @param int   $perPage
+     * @param int   $currentPage
+     * @param int   $pages
+     */
+    public function __construct(array $results = [], $perPage = 50, $currentPage = 0, $pages = 0)
+    {
+        $this->setResults($results)
+            ->setPerPage($perPage)
+            ->setCurrentPage($currentPage)
+            ->setPages($pages)
+            ->setCurrentOffset(($this->getCurrentPage() * $this->getPerPage()));
+    }
+
+    /**
+     * Get an iterator for the entries.
+     *
+     * @return ArrayIterator
+     */
+    public function getIterator()
+    {
+        $entries = array_slice($this->getResults(), $this->getCurrentOffset(), $this->getPerPage(), true);
+
+        return new ArrayIterator($entries);
+    }
+
+    /**
+     * Returns the complete results array.
+     *
+     * @return array
+     */
+    public function getResults()
+    {
+        return $this->results;
+    }
+
+    /**
+     * Returns the total amount of pages
+     * in a paginated result.
+     *
+     * @return int
+     */
+    public function getPages()
+    {
+        return $this->pages;
+    }
+
+    /**
+     * Returns the total amount of entries
+     * allowed per page.
+     *
+     * @return int
+     */
+    public function getPerPage()
+    {
+        return $this->perPage;
+    }
+
+    /**
+     * Returns the current page number.
+     *
+     * @return int
+     */
+    public function getCurrentPage()
+    {
+        return $this->currentPage;
+    }
+
+    /**
+     * Returns the current offset number.
+     *
+     * @return int
+     */
+    public function getCurrentOffset()
+    {
+        return $this->currentOffset;
+    }
+
+    /**
+     * Returns the total amount of results.
+     *
+     * @return int
+     */
+    public function count()
+    {
+        return count($this->results);
+    }
+
+    /**
+     * Sets the results array property.
+     *
+     * @param array $results
+     *
+     * @return Paginator
+     */
+    protected function setResults(array $results)
+    {
+        $this->results = $results;
+
+        return $this;
+    }
+
+    /**
+     * Sets the total number of pages.
+     *
+     * @param int $pages
+     *
+     * @return Paginator
+     */
+    protected function setPages($pages = 0)
+    {
+        $this->pages = (int) $pages;
+
+        return $this;
+    }
+
+    /**
+     * Sets the number of entries per page.
+     *
+     * @param int $perPage
+     *
+     * @return Paginator
+     */
+    protected function setPerPage($perPage = 50)
+    {
+        $this->perPage = (int) $perPage;
+
+        return $this;
+    }
+
+    /**
+     * Sets the current page number.
+     *
+     * @param int $currentPage
+     *
+     * @return Paginator
+     */
+    protected function setCurrentPage($currentPage = 0)
+    {
+        $this->currentPage = (int) $currentPage;
+
+        return $this;
+    }
+
+    /**
+     * Sets the current offset number.
+     *
+     * @param int $offset
+     *
+     * @return Paginator
+     */
+    protected function setCurrentOffset($offset = 0)
+    {
+        $this->currentOffset = (int) $offset;
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Processor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Processor.php
new file mode 100644
index 0000000..e4e5329
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Query/Processor.php
@@ -0,0 +1,211 @@
+<?php
+
+namespace Adldap\Query;
+
+use Adldap\Models\Entry;
+use Adldap\Models\Model;
+use InvalidArgumentException;
+use Adldap\Schemas\SchemaInterface;
+use Adldap\Connections\ConnectionInterface;
+
+class Processor
+{
+    /**
+     * @var Builder
+     */
+    protected $builder;
+
+    /**
+     * @var ConnectionInterface
+     */
+    protected $connection;
+
+    /**
+     * @var SchemaInterface
+     */
+    protected $schema;
+
+    /**
+     * Constructor.
+     *
+     * @param Builder $builder
+     */
+    public function __construct(Builder $builder)
+    {
+        $this->builder = $builder;
+        $this->schema = $builder->getSchema();
+        $this->connection = $builder->getConnection();
+    }
+
+    /**
+     * Processes LDAP search results and constructs their model instances.
+     *
+     * @param array $entries The LDAP entries to process.
+     *
+     * @return Collection|array
+     */
+    public function process($entries)
+    {
+        if ($this->builder->isRaw()) {
+            // If the builder is asking for a raw
+            // LDAP result, we can return here.
+            return $entries;
+        }
+
+        $models = [];
+
+        if (array_key_exists('count', $entries)) {
+            for ($i = 0; $i < $entries['count']; $i++) {
+                // We'll go through each entry and construct a new
+                // model instance with the raw LDAP attributes.
+                $models[] = $this->newLdapEntry($entries[$i]);
+            }
+        }
+
+        // If the query contains paginated results, we'll return them here.
+        if ($this->builder->isPaginated()) {
+            return $models;
+        }
+
+        // If the query is requested to be sorted, we'll perform
+        // that here and return the resulting collection.
+        if ($this->builder->isSorted()) {
+            return $this->processSort($models);
+        }
+
+        // Otherwise, we'll return a regular unsorted collection.
+        return $this->newCollection($models);
+    }
+
+    /**
+     * Processes paginated LDAP results.
+     *
+     * @param array $pages
+     * @param int   $perPage
+     * @param int   $currentPage
+     *
+     * @return Paginator
+     */
+    public function processPaginated(array $pages = [], $perPage = 50, $currentPage = 0)
+    {
+        $models = [];
+
+        foreach ($pages as $entries) {
+            // Go through each page and process the results into an objects array.
+            $models = array_merge($models, $this->process($entries));
+        }
+
+        $models = $this->processSort($models)->toArray();
+
+        return $this->newPaginator($models, $perPage, $currentPage, count($pages));
+    }
+
+    /**
+     * Returns a new LDAP Entry instance.
+     *
+     * @param array $attributes
+     *
+     * @return Entry
+     */
+    public function newLdapEntry(array $attributes = [])
+    {
+        $objectClass = $this->schema->objectClass();
+
+        // We need to ensure the record contains an object class to be able to
+        // determine its type. Otherwise, we create a default Entry model.
+        if (array_key_exists($objectClass, $attributes) && array_key_exists(0, $attributes[$objectClass])) {
+            // Retrieve all of the object classes from the LDAP
+            // entry and lowercase them for comparisons.
+            $classes = array_map('strtolower', $attributes[$objectClass]);
+
+            // Retrieve the model mapping.
+            $models = $this->schema->objectClassModelMap();
+
+            // Retrieve the object class mappings (with strtolower keys).
+            $mappings = array_map('strtolower', array_keys($models));
+
+            // Retrieve the model from the map using the entry's object class.
+            $map = array_intersect($mappings, $classes);
+
+            if (count($map) > 0) {
+                // Retrieve the model using the object class.
+                $model = $models[current($map)];
+
+                // Construct and return a new model.
+                return $this->newModel([], $model)
+                    ->setRawAttributes($attributes);
+            }
+        }
+
+        // A default entry model if the object class isn't found.
+        return $this->newModel()->setRawAttributes($attributes);
+    }
+
+    /**
+     * Creates a new model instance.
+     *
+     * @param array       $attributes
+     * @param string|null $model
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return mixed|Entry
+     */
+    public function newModel($attributes = [], $model = null)
+    {
+        $model = (class_exists($model) ? $model : $this->schema->entryModel());
+
+        if (!is_subclass_of($model, $base = Model::class)) {
+            throw new InvalidArgumentException("The given model class '{$model}' must extend the base model class '{$base}'");
+        }
+
+        return new $model($attributes, $this->builder->newInstance());
+    }
+
+    /**
+     * Returns a new Paginator object instance.
+     *
+     * @param array $models
+     * @param int   $perPage
+     * @param int   $currentPage
+     * @param int   $pages
+     *
+     * @return Paginator
+     */
+    public function newPaginator(array $models = [], $perPage = 25, $currentPage = 0, $pages = 1)
+    {
+        return new Paginator($models, $perPage, $currentPage, $pages);
+    }
+
+    /**
+     * Returns a new collection instance.
+     *
+     * @param array $items
+     *
+     * @return Collection
+     */
+    public function newCollection(array $items = [])
+    {
+        return new Collection($items);
+    }
+
+    /**
+     * Sorts LDAP search results.
+     *
+     * @param array $models
+     *
+     * @return Collection
+     */
+    protected function processSort(array $models = [])
+    {
+        $field = $this->builder->getSortByField();
+
+        $flags = $this->builder->getSortByFlags();
+
+        $direction = $this->builder->getSortByDirection();
+
+        $desc = ($direction === 'desc' ? true : false);
+
+        return $this->newCollection($models)->sortBy($field, $flags, $desc);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/ActiveDirectory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/ActiveDirectory.php
new file mode 100644
index 0000000..09f0314
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/ActiveDirectory.php
@@ -0,0 +1,94 @@
+<?php
+
+namespace Adldap\Schemas;
+
+class ActiveDirectory extends Schema
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedName()
+    {
+        return 'distinguishedname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedNameSubKey()
+    {
+        return 0;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterEnabled()
+    {
+        return '(!(UserAccountControl:1.2.840.113556.1.4.803:=2))';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterDisabled()
+    {
+        return '(UserAccountControl:1.2.840.113556.1.4.803:=2)';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lockoutTime()
+    {
+        return 'lockouttime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassGroup()
+    {
+        return 'group';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassOu()
+    {
+        return 'organizationalunit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassPerson()
+    {
+        return 'person';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuid()
+    {
+        return 'objectguid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuidRequiresConversion()
+    {
+        return true;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategory()
+    {
+        return 'objectcategory';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/Directory389.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/Directory389.php
new file mode 100644
index 0000000..f51a8a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/Directory389.php
@@ -0,0 +1,110 @@
+<?php
+
+namespace Adldap\Schemas;
+
+class Directory389 extends Schema
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function accountName()
+    {
+        return 'uid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedName()
+    {
+        return 'dn';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedNameSubKey()
+    {
+        //
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterEnabled()
+    {
+        return sprintf('(!(%s=*))', $this->lockoutTime());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterDisabled()
+    {
+        return sprintf('(%s=*)', $this->lockoutTime());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lockoutTime()
+    {
+        return 'pwdAccountLockedTime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategory()
+    {
+        return 'objectclass';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassGroup()
+    {
+        return 'groupofnames';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassOu()
+    {
+        return 'organizationalUnit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassPerson()
+    {
+        return 'inetorgperson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassUser()
+    {
+        return 'inetorgperson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuid()
+    {
+        return 'nsuniqueid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuidRequiresConversion()
+    {
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/EDirectory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/EDirectory.php
new file mode 100644
index 0000000..db31011
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/EDirectory.php
@@ -0,0 +1,110 @@
+<?php
+
+namespace Adldap\Schemas;
+
+class EDirectory extends Schema
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function accountName()
+    {
+        return 'uid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedName()
+    {
+        return 'dn';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedNameSubKey()
+    {
+        //
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterEnabled()
+    {
+        return sprintf('(!(%s=*))', $this->lockoutTime());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterDisabled()
+    {
+        return sprintf('(%s=*)', $this->lockoutTime());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lockoutTime()
+    {
+        return 'pwdAccountLockedTime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategory()
+    {
+        return 'objectclass';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassGroup()
+    {
+        return 'groupofnames';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassOu()
+    {
+        return 'organizationalUnit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassPerson()
+    {
+        return 'inetorgperson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassUser()
+    {
+        return 'inetorgperson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuid()
+    {
+        return 'guid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuidRequiresConversion()
+    {
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/FreeIPA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/FreeIPA.php
new file mode 100644
index 0000000..410f6f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/FreeIPA.php
@@ -0,0 +1,126 @@
+<?php
+
+namespace Adldap\Schemas;
+
+class FreeIPA extends Schema
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function accountName()
+    {
+        return 'uid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedName()
+    {
+        return 'dn';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategory()
+    {
+        return 'objectclass';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassGroup()
+    {
+        return 'ipausergroup';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function userPrincipalName()
+    {
+        return 'krbCanonicalName';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedNameSubKey()
+    {
+        return 0;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterEnabled()
+    {
+        return '(!(UserAccountControl:1.2.840.113556.1.4.803:=2))';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterDisabled()
+    {
+        return '(UserAccountControl:1.2.840.113556.1.4.803:=2)';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lockoutTime()
+    {
+        return 'lockouttime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function passwordLastSet()
+    {
+        return 'krbLastPwdChange';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassOu()
+    {
+        return 'organizationalunit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassPerson()
+    {
+        return 'person';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassUser()
+    {
+        return 'organizationalPerson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuid()
+    {
+        return 'ipaUniqueID';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuidRequiresConversion()
+    {
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/OpenLDAP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/OpenLDAP.php
new file mode 100644
index 0000000..d598617
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/OpenLDAP.php
@@ -0,0 +1,110 @@
+<?php
+
+namespace Adldap\Schemas;
+
+class OpenLDAP extends Schema
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function accountName()
+    {
+        return 'uid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedName()
+    {
+        return 'dn';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function distinguishedNameSubKey()
+    {
+        //
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterEnabled()
+    {
+        return sprintf('(!(%s=*))', $this->lockoutTime());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function filterDisabled()
+    {
+        return sprintf('(%s=*)', $this->lockoutTime());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lockoutTime()
+    {
+        return 'pwdAccountLockedTime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategory()
+    {
+        return 'objectclass';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassGroup()
+    {
+        return 'groupofnames';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassOu()
+    {
+        return 'organizationalUnit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassPerson()
+    {
+        return 'inetorgperson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassUser()
+    {
+        return 'inetorgperson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuid()
+    {
+        return 'entryuuid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectGuidRequiresConversion()
+    {
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/Schema.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/Schema.php
new file mode 100644
index 0000000..ac76452
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/Schema.php
@@ -0,0 +1,1264 @@
+<?php
+
+namespace Adldap\Schemas;
+
+use Adldap\Models\User;
+use Adldap\Models\Entry;
+use Adldap\Models\Group;
+use Adldap\Models\Contact;
+use Adldap\Models\Printer;
+use Adldap\Models\Computer;
+use Adldap\Models\Container;
+use Adldap\Models\Organization;
+use Adldap\Models\OrganizationalUnit;
+use Adldap\Models\ForeignSecurityPrincipal;
+
+abstract class Schema implements SchemaInterface
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function accountExpires()
+    {
+        return 'accountexpires';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function accountName()
+    {
+        return 'samaccountname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function accountType()
+    {
+        return 'samaccounttype';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function adminDisplayName()
+    {
+        return 'admindisplayname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function anr()
+    {
+        return 'anr';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function badPasswordCount()
+    {
+        return 'badpwdcount';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function badPasswordTime()
+    {
+        return 'badpasswordtime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function commonName()
+    {
+        return 'cn';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function company()
+    {
+        return 'company';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function computer()
+    {
+        return 'computer';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function computerModel()
+    {
+        return Computer::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function configurationNamingContext()
+    {
+        return 'configurationnamingcontext';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function contact()
+    {
+        return 'contact';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function contactModel()
+    {
+        return Contact::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function containerModel()
+    {
+        return Container::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function country()
+    {
+        return 'c';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function createdAt()
+    {
+        return 'whencreated';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function currentTime()
+    {
+        return 'currenttime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function defaultNamingContext()
+    {
+        return 'defaultnamingcontext';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function department()
+    {
+        return 'department';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function departmentNumber()
+    {
+        return 'departmentnumber';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function description()
+    {
+        return 'description';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function displayName()
+    {
+        return 'displayname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dnsHostName()
+    {
+        return 'dnshostname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function domainComponent()
+    {
+        return 'dc';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function driverName()
+    {
+        return 'drivername';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function driverVersion()
+    {
+        return 'driverversion';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function email()
+    {
+        return 'mail';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function emailNickname()
+    {
+        return 'mailnickname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function employeeId()
+    {
+        return 'employeeid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function employeeNumber()
+    {
+        return 'employeenumber';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function employeeType()
+    {
+        return 'employeetype';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function entryModel()
+    {
+        return Entry::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function false()
+    {
+        return 'FALSE';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function firstName()
+    {
+        return 'givenname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function groupModel()
+    {
+        return Group::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function groupType()
+    {
+        return 'grouptype';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function homeAddress()
+    {
+        return 'homepostaladdress';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function homeMdb()
+    {
+        return 'homemdb';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function homeDrive()
+    {
+        return 'homedrive';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function homeDirectory()
+    {
+        return 'homedirectory';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function homePhone()
+    {
+        return 'homephone';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function info()
+    {
+        return 'info';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function initials()
+    {
+        return 'initials';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function instanceType()
+    {
+        return 'instancetype';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function ipPhone()
+    {
+        return 'ipphone';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isCriticalSystemObject()
+    {
+        return 'iscriticalsystemobject';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function jpegPhoto()
+    {
+        return 'jpegphoto';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lastLogOff()
+    {
+        return 'lastlogoff';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lastLogOn()
+    {
+        return 'lastlogon';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lastLogOnTimestamp()
+    {
+        return 'lastlogontimestamp';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lastName()
+    {
+        return 'sn';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function legacyExchangeDn()
+    {
+        return 'legacyexchangedn';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function locale()
+    {
+        return 'l';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function location()
+    {
+        return 'location';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function manager()
+    {
+        return 'manager';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function managedBy()
+    {
+        return 'managedby';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function maxPasswordAge()
+    {
+        return 'maxpwdage';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function member()
+    {
+        return 'member';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function memberIdentifier()
+    {
+        return 'distinguishedname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function memberOf()
+    {
+        return 'memberof';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function memberOfRecursive()
+    {
+        return 'memberof:1.2.840.113556.1.4.1941:';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function memberRange($from, $to)
+    {
+        return $this->member().";range={$from}-{$to}";
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function messageTrackingEnabled()
+    {
+        return 'messagetrackingenabled';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function msExchangeServer()
+    {
+        return 'ms-exch-exchange-server';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function name()
+    {
+        return 'name';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function neverExpiresDate()
+    {
+        return '9223372036854775807';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryComputer()
+    {
+        return 'computer';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryContainer()
+    {
+        return 'container';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryExchangePrivateMdb()
+    {
+        return 'msexchprivatemdb';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryExchangeServer()
+    {
+        return 'msExchExchangeServer';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryExchangeStorageGroup()
+    {
+        return 'msExchStorageGroup';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryGroup()
+    {
+        return 'group';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryOrganizationalUnit()
+    {
+        return 'organizational-unit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryPerson()
+    {
+        return 'person';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectCategoryPrinter()
+    {
+        return 'print-queue';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClass()
+    {
+        return 'objectclass';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassComputer()
+    {
+        return 'computer';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassContact()
+    {
+        return 'contact';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassContainer()
+    {
+        return 'container';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassOrganization()
+    {
+        return 'organization';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassPrinter()
+    {
+        return 'printqueue';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassUser()
+    {
+        return 'user';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassForeignSecurityPrincipal()
+    {
+        return 'foreignsecurityprincipal';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectClassModelMap()
+    {
+        return [
+            $this->objectClassComputer()                    => $this->computerModel(),
+            $this->objectClassContact()                     => $this->contactModel(),
+            $this->objectClassPerson()                      => $this->userModel(),
+            $this->objectClassGroup()                       => $this->groupModel(),
+            $this->objectClassContainer()                   => $this->containerModel(),
+            $this->objectClassPrinter()                     => $this->printerModel(),
+            $this->objectClassOrganization()                => $this->organizationModel(),
+            $this->objectClassOu()                          => $this->organizationalUnitModel(),
+            $this->objectClassForeignSecurityPrincipal()    => $this->foreignSecurityPrincipalModel(),
+        ];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectSid()
+    {
+        return 'objectsid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function objectSidRequiresConversion()
+    {
+        return true;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function operatingSystem()
+    {
+        return 'operatingsystem';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function operatingSystemServicePack()
+    {
+        return 'operatingsystemservicepack';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function operatingSystemVersion()
+    {
+        return 'operatingsystemversion';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function organization()
+    {
+        return 'organization';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function organizationName()
+    {
+        return 'o';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function organizationalPerson()
+    {
+        return 'organizationalperson';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function organizationalUnit()
+    {
+        return 'organizationalunit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function organizationalUnitModel()
+    {
+        return OrganizationalUnit::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function organizationModel()
+    {
+        return Organization::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function organizationalUnitShort()
+    {
+        return 'ou';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function otherMailbox()
+    {
+        return 'othermailbox';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function passwordLastSet()
+    {
+        return 'pwdlastset';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function person()
+    {
+        return 'person';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function personalTitle()
+    {
+        return 'personaltitle';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function physicalDeliveryOfficeName()
+    {
+        return 'physicaldeliveryofficename';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function portName()
+    {
+        return 'portname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function postalCode()
+    {
+        return 'postalcode';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function postOfficeBox()
+    {
+        return 'postofficebox';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function primaryGroupId()
+    {
+        return 'primarygroupid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerBinNames()
+    {
+        return 'printbinnames';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerColorSupported()
+    {
+        return 'printcolor';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerDuplexSupported()
+    {
+        return 'printduplexsupported';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerEndTime()
+    {
+        return 'printendtime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerMaxResolutionSupported()
+    {
+        return 'printmaxresolutionsupported';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerMediaSupported()
+    {
+        return 'printmediasupported';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerMemory()
+    {
+        return 'printmemory';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerModel()
+    {
+        return Printer::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerName()
+    {
+        return 'printername';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerOrientationSupported()
+    {
+        return 'printorientationssupported';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerPrintRate()
+    {
+        return 'printrate';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerPrintRateUnit()
+    {
+        return 'printrateunit';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerShareName()
+    {
+        return 'printsharename';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerStaplingSupported()
+    {
+        return 'printstaplingsupported';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function printerStartTime()
+    {
+        return 'printstarttime';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function priority()
+    {
+        return 'priority';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function profilePath()
+    {
+        return 'profilepath';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function proxyAddresses()
+    {
+        return 'proxyaddresses';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function roomNumber()
+    {
+        return 'roomnumber';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rootDomainNamingContext()
+    {
+        return 'rootdomainnamingcontext';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function schemaNamingContext()
+    {
+        return 'schemanamingcontext';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function scriptPath()
+    {
+        return 'scriptpath';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function serialNumber()
+    {
+        return 'serialnumber';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function serverName()
+    {
+        return 'servername';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function showInAddressBook()
+    {
+        return 'showinaddressbook';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function street()
+    {
+        return 'street';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function streetAddress()
+    {
+        return 'streetaddress';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function systemFlags()
+    {
+        return 'systemflags';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function telephone()
+    {
+        return 'telephonenumber';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function mobile()
+    {
+        return 'mobile';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function otherMobile()
+    {
+        return 'othermobile';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function facsimile()
+    {
+        return 'facsimiletelephonenumber';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function thumbnail()
+    {
+        return 'thumbnailphoto';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function title()
+    {
+        return 'title';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function top()
+    {
+        return 'top';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function true()
+    {
+        return 'TRUE';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function unicodePassword()
+    {
+        return 'unicodepwd';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function updatedAt()
+    {
+        return 'whenchanged';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function url()
+    {
+        return 'url';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function user()
+    {
+        return 'user';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function userAccountControl()
+    {
+        return 'useraccountcontrol';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function userId()
+    {
+        return 'uid';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function userModel()
+    {
+        return User::class;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function userObjectClasses(): array
+    {
+        return [
+            $this->top(),
+            $this->person(),
+            $this->organizationalPerson(),
+            $this->objectClassUser(),
+        ];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function userPrincipalName()
+    {
+        return 'userprincipalname';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function userWorkstations()
+    {
+        return 'userworkstations';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function versionNumber()
+    {
+        return 'versionnumber';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function foreignSecurityPrincipalModel()
+    {
+        return ForeignSecurityPrincipal::class;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/SchemaInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/SchemaInterface.php
new file mode 100644
index 0000000..023df74
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Schemas/SchemaInterface.php
@@ -0,0 +1,1421 @@
+<?php
+
+namespace Adldap\Schemas;
+
+interface SchemaInterface
+{
+    /**
+     * The date when the account expires. This value represents the number of 100-nanosecond
+     * intervals since January 1, 1601 (UTC). A value of 0 or 0x7FFFFFFFFFFFFFFF
+     * (9223372036854775807) indicates that the account never expires.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675098(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function accountExpires();
+
+    /**
+     * The logon name used to support clients and servers running earlier versions of the
+     * operating system, such as Windows NT 4.0, Windows 95, Windows 98,
+     * and LAN Manager. This attribute must be 20 characters or
+     * less to support earlier clients.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679635(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function accountName();
+
+    /**
+     * This attribute contains information about every account type object.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679637(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function accountType();
+
+    /**
+     * The name to be displayed on admin screens.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675214(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function adminDisplayName();
+
+    /**
+     * Ambiguous name resolution attribute to be used when choosing between objects.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675223(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function anr();
+
+    /**
+     * The number of times the user tried to log on to the account using
+     * an incorrect password. A value of 0 indicates that the
+     * value is unknown.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675244(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function badPasswordCount();
+
+    /**
+     * The last time and date that an attempt to log on to this
+     * account was made with a password that is not valid.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675243(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function badPasswordTime();
+
+    /**
+     * The name that represents an object.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675449(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function commonName();
+
+    /**
+     * The user's company name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675457(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function company();
+
+    /**
+     * The object class computer string.
+     *
+     * Used when constructing new Computer models.
+     *
+     * @return string
+     */
+    public function computer();
+
+    /**
+     * The class name of the Computer model.
+     *
+     * @return string
+     */
+    public function computerModel();
+
+    /**
+     * DN enterprise configuration naming context.
+     *
+     * @link https://support.microsoft.com/en-us/kb/219005
+     *
+     * @return string
+     */
+    public function configurationNamingContext();
+
+    /**
+     * The object class contact string.
+     *
+     * Used when constructing new User models.
+     *
+     * @return string
+     */
+    public function contact();
+
+    /**
+     * The class name of the Contact model.
+     *
+     * @return string
+     */
+    public function contactModel();
+
+    /**
+     * The class name of the Container model.
+     *
+     * @return string
+     */
+    public function containerModel();
+
+    /**
+     * The entry's country attribute.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675432(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function country();
+
+    /**
+     * The entry's created at attribute.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680924(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function createdAt();
+
+    /**
+     * The entry's current time attribute.
+     *
+     * This attribute is only available with the Root DSE record.
+     *
+     * @return string
+     */
+    public function currentTime();
+
+    /**
+     * This is the default NC for a particular server.
+     *
+     * By default, the DN for the domain of which this directory server is a member.
+     *
+     * @link https://support.microsoft.com/en-us/kb/219005
+     *
+     * @return string
+     */
+    public function defaultNamingContext();
+
+    /**
+     * Contains the name for the department in which the user works.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675490(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function department();
+
+    /**
+     * Identifies a department within an organization.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675491(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function departmentNumber();
+
+    /**
+     * Contains the description to display for an object. This value is restricted
+     * as single-valued for backward compatibility in some cases but
+     * is allowed to be multi-valued in others.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675492(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function description();
+
+    /**
+     * The display name for an object. This is usually the combination
+     * of the users first name, middle initial, and last name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675514(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function displayName();
+
+    /**
+     * The LDAP API references an LDAP object by its distinguished name (DN).
+     *
+     * A DN is a sequence of relative distinguished names (RDN) connected by commas.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/aa366101(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function distinguishedName();
+
+    /**
+     * The LDAP API references an LDAP object by its distinguished name (DN).
+     *
+     * Different vendors expect the value of the distinguished name to be in
+     * different places. For example ActiveDirectory expects distinguishedname
+     * value to be the first element in an array, however OpenLDAP expects
+     * the dn attribute to contain the value, not an array.
+     *
+     * @deprecated since 10.0.0
+     *
+     * @return int|null
+     */
+    public function distinguishedNameSubKey();
+
+    /**
+     * Name of computer as registered in DNS.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675524(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function dnsHostName();
+
+    /**
+     * Domain Component located inside an RDN.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/aa366101(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function domainComponent();
+
+    /**
+     * The device driver name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675652(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function driverName();
+
+    /**
+     * The Version number of device driver.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675653(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function driverVersion();
+
+    /**
+     * The list of email addresses for a contact.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676855(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function email();
+
+    /**
+     * The email nickname for the user.
+     *
+     * @return string
+     */
+    public function emailNickname();
+
+    /**
+     * The ID of an employee.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675662(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function employeeId();
+
+    /**
+     * The number assigned to an employee other than the ID.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675663(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function employeeNumber();
+
+    /**
+     * The job category for an employee.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675664(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function employeeType();
+
+    /**
+     * The class name of the Entry model.
+     *
+     * @return string
+     */
+    public function entryModel();
+
+    /**
+     * The LDAP `false` boolean in string form for conversion.
+     *
+     * @return string
+     */
+    public function false();
+
+    /**
+     * The LDAP filter to query for enabled users.
+     *
+     * @return mixed
+     */
+    public function filterEnabled();
+
+    /**
+     * The LDAP filter to query for disabled users.
+     *
+     * @return mixed
+     */
+    public function filterDisabled();
+
+    /**
+     * Contains the given name (first name) of the user.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675719(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function firstName();
+
+    /**
+     * The class name of the Group model.
+     *
+     * @return string
+     */
+    public function groupModel();
+
+    /**
+     * Contains a set of flags that define the type and scope of a group object.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms675935(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function groupType();
+
+    /**
+     * A user's home address.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676193(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function homeAddress();
+
+    /**
+     * The users mailbox database location.
+     *
+     * @return string
+     */
+    public function homeMdb();
+
+    /**
+     * Specifies the drive letter to which to map the UNC path specified by homeDirectory.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676191(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function homeDrive();
+
+    /**
+     * The home directory for the account.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676190(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function homeDirectory();
+
+    /**
+     * The user's main home phone number.
+     *
+     * @link https://docs.microsoft.com/en-us/windows/desktop/ADSchema/a-homephone
+     *
+     * @return string|null
+     */
+    public function homePhone();
+
+    /**
+     * The users extra notable information.
+     *
+     * @return string
+     */
+    public function info();
+
+    /**
+     * Contains the initials for parts of the user's full name.
+     *
+     * This may be used as the middle initial in the Windows Address Book.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676202(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function initials();
+
+    /**
+     * A bitfield that dictates how the object is instantiated on a particular server.
+     *
+     * The value of this attribute can differ on different replicas even if the replicas are in sync.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676204(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function instanceType();
+
+    /**
+     * Specifies the TCP/IP address for the phone. Used by telephony.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/cc221092.aspx
+     *
+     * @return string
+     */
+    public function ipPhone();
+
+    /**
+     * If TRUE, the object hosting this attribute must be replicated during installation of a new replica.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676798(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function isCriticalSystemObject();
+
+    /**
+     * Used to store one or more images of a person using the JPEG File Interchange Format [JFIF].
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676813(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function jpegPhoto();
+
+    /**
+     * This attribute is not used.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676822(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function lastLogOff();
+
+    /**
+     * The last time the user logged on. This value is stored as a large integer that
+     * represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).
+     *
+     * A value of zero means that the last logon time is unknown.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676823(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function lastLogOn();
+
+    /**
+     * This is the time that the user last logged into the domain.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676824(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function lastLogOnTimestamp();
+
+    /**
+     * This attribute contains the family or last name for a user.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679872(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function lastName();
+
+    /**
+     * The distinguished name previously used by Exchange.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676830(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function legacyExchangeDn();
+
+    /**
+     * The users locale.
+     *
+     * @return string
+     */
+    public function locale();
+
+    /**
+     * The user's location, such as office number.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676839(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function location();
+
+    /**
+     * The date and time (UTC) that this account was locked out. This value is stored
+     * as a large integer that represents the number of 100-nanosecond intervals
+     * since January 1, 1601 (UTC). A value of zero means that the
+     * account is not currently locked out.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676843(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function lockoutTime();
+
+    /**
+     * Contains the distinguished name of the user who is the user's manager.
+     *
+     * The manager's user object contains a directReports property that
+     * contains references to all user objects that have their manager
+     * properties set to this distinguished name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676859(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function manager();
+
+    /**
+     * The distinguished name of the user that is assigned to manage this object.
+     *
+     * @link https://docs.microsoft.com/en-us/windows/desktop/adschema/a-managedby
+     *
+     * @return string
+     */
+    public function managedBy();
+
+    /**
+     * The maximum amount of time, in 100-nanosecond intervals, a password is valid.
+     *
+     * This value is stored as a large integer that represents the number of
+     * 100-nanosecond intervals from the time the password was set
+     * before the password expires.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms676863(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function maxPasswordAge();
+
+    /**
+     * The list of users that belong to the group.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms677097(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function member();
+
+    /**
+     * The identifier of records that belong to a group.
+     *
+     * For example, in ActiveDirectory, the 'member' attribute on
+     * a group record contains a list of distinguished names,
+     * so `distinguishedname` would be the identifier.
+     *
+     * In other environments such as Sun Directory
+     * Server, this identifier would be `uid`.
+     *
+     * @return string
+     */
+    public function memberIdentifier();
+
+    /**
+     * The distinguished names of the groups to which this object belongs.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms677099(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function memberOf();
+
+    /**
+     * The distinguished names of the groups to which this object belongs.
+     *
+     * This string contains a rule OID indicating the inclusion of ancestral and child members.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms677099(v=vs.85).aspx
+     * @link https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function memberOfRecursive();
+
+    /**
+     * The range limited list of users that belong to the group. See range limit in Active Directory
+     * (Range Retrieval of Attribute Values https://msdn.microsoft.com/en-us/library/cc223242.aspx)
+     * Issue #342.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms677097(v=vs.85).aspx
+     *
+     * @param string|int $from
+     * @param string|int $to
+     *
+     * @return string
+     */
+    public function memberRange($from, $to);
+
+    /**
+     * @link https://msdn.microsoft.com/en-us/library/ms981934(v=exchg.65).aspx
+     *
+     * @return string
+     */
+    public function messageTrackingEnabled();
+
+    /**
+     * The object category of an exchange server.
+     *
+     * @return string
+     */
+    public function msExchangeServer();
+
+    /**
+     * The general name of the entry.
+     *
+     * @return string
+     */
+    public function name();
+
+    /**
+     * Returns a string value indicating that an account does not expire.
+     *
+     * @return string
+     */
+    public function neverExpiresDate();
+
+    /**
+     * An object class name used to group objects of this or derived classes.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679011(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function objectCategory();
+
+    /**
+     * The computer object category.
+     *
+     * @return string
+     */
+    public function objectCategoryComputer();
+
+    /**
+     * The container object category.
+     *
+     * @return string
+     */
+    public function objectCategoryContainer();
+
+    /**
+     * The exchange private MDB category.
+     *
+     * @return string
+     */
+    public function objectCategoryExchangePrivateMdb();
+
+    /**
+     * The exchange server object category.
+     *
+     * @return string
+     */
+    public function objectCategoryExchangeServer();
+
+    /**
+     * The exchange storage group object category.
+     *
+     * @return string
+     */
+    public function objectCategoryExchangeStorageGroup();
+
+    /**
+     * The group object category.
+     *
+     * @return string
+     */
+    public function objectCategoryGroup();
+
+    /**
+     * The organizational unit category.
+     *
+     * @return string
+     */
+    public function objectCategoryOrganizationalUnit();
+
+    /**
+     * The person object category.
+     *
+     * @return string
+     */
+    public function objectCategoryPerson();
+
+    /**
+     * The printer object category.
+     *
+     * @return string
+     */
+    public function objectCategoryPrinter();
+
+    /**
+     * The list of classes from which this class is derived.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679012(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function objectClass();
+
+    /**
+     * The computer object class.
+     *
+     * @return string
+     */
+    public function objectClassComputer();
+
+    /**
+     * The contact object class.
+     *
+     * @return string
+     */
+    public function objectClassContact();
+
+    /**
+     * The container object class.
+     *
+     * @return string
+     */
+    public function objectClassContainer();
+
+    /**
+     * The group object class.
+     *
+     * @return string
+     */
+    public function objectClassGroup();
+
+    /**
+     * The ou object class.
+     *
+     * @return string
+     */
+    public function objectClassOu();
+
+    /**
+     * The person object class.
+     *
+     * Represents people who are associated with an organization in some way.
+     *
+     * @return string
+     */
+    public function objectClassPerson();
+
+    /**
+     * The printer object class.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms683911(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function objectClassPrinter();
+
+    /**
+     * The user object class.
+     *
+     * @return string
+     */
+    public function objectClassUser();
+
+    /**
+     * The object class model map.
+     *
+     * @return array
+     */
+    public function objectClassModelMap();
+
+    /**
+     * The unique identifier for an object.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679021(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function objectGuid();
+
+    /**
+     * Determine whether the object GUID requires conversion from binary.
+     *
+     * @return bool
+     */
+    public function objectGuidRequiresConversion();
+
+    /**
+     * A binary value that specifies the security identifier (SID) of the user.
+     *
+     * The SID is a unique value used to identify the user as a security principal.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679024(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function objectSid();
+
+    /**
+     * Determine whether the object SID requires conversion from binary.
+     *
+     * @return bool
+     */
+    public function objectSidRequiresConversion();
+
+    /**
+     * The Operating System name, for example, Windows Vista Enterprise.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679076(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function operatingSystem();
+
+    /**
+     * The operating system service pack ID string (for example, SP3).
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679078(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function operatingSystemServicePack();
+
+    /**
+     * The operating system version string, for example, 4.0.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679079(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function operatingSystemVersion();
+
+    /**
+     * The RDN version of organization name for use in distinguished names.
+     *
+     * @return mixed
+     */
+    public function organizationName();
+
+    /**
+     * This class is used for objects that contain organizational information about a user,
+     * such as the employee number, department, manager, title, office address, and so on.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms683883(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function organizationalPerson();
+
+    /**
+     * A container for storing users, computers, and other account objects.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms683886(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function organizationalUnit();
+
+    /**
+     * The class name of the Organizational Unit model.
+     *
+     * @return string
+     */
+    public function organizationalUnitModel();
+
+    /**
+     * The RDN version of organizational unit for use in distinguished names.
+     *
+     * @return string
+     */
+    public function organizationalUnitShort();
+
+    /**
+     * Contains other additional mail addresses in a form such as CCMAIL: JohnDoe.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679091(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function otherMailbox();
+
+    /**
+     * The date and time that the password for this account was last changed.
+     *
+     * This value is stored as a large integer that represents the number of 100 nanosecond intervals
+     * since January 1, 1601 (UTC). If this value is set to 0 and the User-Account-Control attribute
+     * does not contain the UF_DONT_EXPIRE_PASSWD flag, then the user must set the password at
+     * the next logon.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679430(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function passwordLastSet();
+
+    /**
+     * The person object class.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms683895(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function person();
+
+    /**
+     * The user's title.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679115(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function personalTitle();
+
+    /**
+     * Contains the office location in the user's place of business.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679117(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function physicalDeliveryOfficeName();
+
+    /**
+     * List of port names. For example, for printer ports or comm ports.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679131(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function portName();
+
+    /**
+     * The postal or zip code for mail delivery.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679366(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function postalCode();
+
+    /**
+     * The post office box number for this object.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679367(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function postOfficeBox();
+
+    /**
+     * Contains the relative identifier (RID) for the primary group of the user.
+     *
+     * By default, this is the RID for the Domain Users group.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679375(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function primaryGroupId();
+
+    /**
+     * A list of printer bin names.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679380(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerBinNames();
+
+    /**
+     * If a printer can print in color.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679382(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerColorSupported();
+
+    /**
+     * Indicates the type of duplex support a printer has.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679383(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerDuplexSupported();
+
+    /**
+     * The time a print queue stops servicing jobs.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679384(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerEndTime();
+
+    /**
+     * The maximum printer resolution.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679391(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerMaxResolutionSupported();
+
+    /**
+     * A list of media supported by a printer.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679395(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerMediaSupported();
+
+    /**
+     * The amount of memory installed in a printer.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679396(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerMemory();
+
+    /**
+     * The class name of the Printer model.
+     *
+     * @return string
+     */
+    public function printerModel();
+
+    /**
+     * The display name of an attached printer.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679385(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerName();
+
+    /**
+     * The page rotation for landscape printing.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679402(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerOrientationSupported();
+
+    /**
+     * Driver-supplied print rate.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679405(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerPrintRate();
+
+    /**
+     * Driver-supplied print rate unit.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679406(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerPrintRateUnit();
+
+    /**
+     * The printer's share name.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679408(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerShareName();
+
+    /**
+     * If the printer supports stapling. Supplied by the driver.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679410(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerStaplingSupported();
+
+    /**
+     * The time a print queue begins servicing jobs.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679411(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function printerStartTime();
+
+    /**
+     * The current priority (of a process, print job, and so on).
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679413(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function priority();
+
+    /**
+     * Specifies a path to the user's profile. This value can be a null
+     * string, a local absolute path, or a UNC path.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679422(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function profilePath();
+
+    /**
+     * A proxy address is the address by which a Microsoft Exchange Server recipient
+     * object is recognized in a foreign mail system. Proxy addresses are required
+     * for all recipient objects, such as custom recipients and distribution lists.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679424(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function proxyAddresses();
+
+    /**
+     * The room number of an object.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679615(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function roomNumber();
+
+    /**
+     * The DN of the root domain NC for this DC's forest.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/cc223262.aspx
+     *
+     * @return mixed
+     */
+    public function rootDomainNamingContext();
+
+    /**
+     * The attribute.
+     *
+     * @return mixed
+     */
+    public function schemaNamingContext();
+
+    /**
+     * This attribute specifies the path for the user's logon script. The string can be null.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679656(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function scriptPath();
+
+    /**
+     * Part of X.500 specification. Not used by Active Directory.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679771(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function serialNumber();
+
+    /**
+     * The name of a server.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679772(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function serverName();
+
+    /**
+     * This attribute is used to indicate in which MAPI address books an object will appear.
+     *
+     * It is usually maintained by the Exchange Recipient Update Service.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679822(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function showInAddressBook();
+
+    /**
+     * The street address.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679882(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function street();
+
+    /**
+     * The street address.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms679882(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function streetAddress();
+
+    /**
+     * An integer value that contains flags that define additional properties of the class.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680022(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function systemFlags();
+
+    /**
+     * The primary telephone number.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680027(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function telephone();
+
+    /**
+     * The primary mobile phone number.
+     *
+     * @link https://docs.microsoft.com/en-us/windows/desktop/adschema/a-mobile
+     *
+     * @return string
+     */
+    public function mobile();
+
+    /**
+     * The secondary mobile phone number.
+     *
+     * @link https://docs.microsoft.com/en-us/windows/desktop/ADSchema/a-othermobile
+     *
+     * @return string
+     */
+    public function otherMobile();
+
+    /**
+     * The users thumbnail photo path.
+     *
+     * @return string
+     */
+    public function thumbnail();
+
+    /**
+     * Contains the user's job title.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680037(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function title();
+
+    /**
+     * The top level class from which all classes are derived.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms683975(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function top();
+
+    /**
+     * The LDAP `true` boolean in string form for conversion.
+     *
+     * @return string
+     */
+    public function true();
+
+    /**
+     * The password of the user in Windows NT one-way format (OWF). Windows 2000 uses the Windows NT OWF.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680513(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function unicodePassword();
+
+    /**
+     * The date when this object was last changed.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680921(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function updatedAt();
+
+    /**
+     * The entry's URL attribute.
+     *
+     * @return string
+     */
+    public function url();
+
+    /**
+     * The user object class.
+     *
+     * This class is used to store information about an employee or contractor who works for an organization.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms683980(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function user();
+
+    /**
+     * Flags that control the behavior of the user account.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680832(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function userAccountControl();
+
+    /**
+     * The user ID attribute.
+     *
+     * @return string
+     */
+    public function userId();
+
+    /**
+     * The class name of the User model.
+     *
+     * @return string
+     */
+    public function userModel();
+
+    /**
+     * The object classes that User models must be constructed with.
+     *
+     * @return array
+     */
+    public function userObjectClasses(): array;
+
+    /**
+     * This attribute contains the UPN that is an Internet-style login name for
+     * a user based on the Internet standard RFC 822.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680857(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function userPrincipalName();
+
+    /**
+     * Contains the NetBIOS or DNS names of the computers running Windows NT Workstation
+     * or Windows 2000 Professional from which the user can log on.
+     *
+     * Each NetBIOS name is separated by a comma.
+     *
+     * Multiple names should be separated by commas.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680868(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function userWorkstations();
+
+    /**
+     * A general purpose version number.
+     *
+     * @link https://msdn.microsoft.com/en-us/library/ms680897(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function versionNumber();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Utilities.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Utilities.php
new file mode 100644
index 0000000..1c70e8c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/adldap2/adldap2/src/Utilities.php
@@ -0,0 +1,232 @@
+<?php
+
+namespace Adldap;
+
+class Utilities
+{
+    /**
+     * Converts a DN string into an array of RDNs.
+     *
+     * This will also decode hex characters into their true
+     * UTF-8 representation embedded inside the DN as well.
+     *
+     * @param string $dn
+     * @param bool   $removeAttributePrefixes
+     *
+     * @return array|false
+     */
+    public static function explodeDn($dn, $removeAttributePrefixes = true)
+    {
+        $dn = ldap_explode_dn($dn, ($removeAttributePrefixes ? 1 : 0));
+
+        if (is_array($dn) && array_key_exists('count', $dn)) {
+            foreach ($dn as $rdn => $value) {
+                $dn[$rdn] = self::unescape($value);
+            }
+        }
+
+        return $dn;
+    }
+
+    /**
+     * Un-escapes a hexadecimal string into
+     * its original string representation.
+     *
+     * @param string $value
+     *
+     * @return string
+     */
+    public static function unescape($value)
+    {
+        return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function ($matches) {
+            return chr(hexdec($matches[1]));
+        }, $value);
+    }
+
+    /**
+     * Convert a binary SID to a string SID.
+     *
+     * @author Chad Sikorra
+     *
+     * @link https://github.com/ChadSikorra
+     * @link https://stackoverflow.com/questions/39533560/php-ldap-get-user-sid
+     *
+     * @param string $value The Binary SID
+     *
+     * @return string|null
+     */
+    public static function binarySidToString($value)
+    {
+        // Revision - 8bit unsigned int (C1)
+        // Count - 8bit unsigned int (C1)
+        // 2 null bytes
+        // ID - 32bit unsigned long, big-endian order
+        $sid = @unpack('C1rev/C1count/x2/N1id', $value);
+
+        if (!isset($sid['id']) || !isset($sid['rev'])) {
+            return;
+        }
+
+        $revisionLevel = $sid['rev'];
+
+        $identifierAuthority = $sid['id'];
+
+        $subs = isset($sid['count']) ? $sid['count'] : 0;
+
+        $sidHex = $subs ? bin2hex($value) : '';
+
+        $subAuthorities = [];
+
+        // The sub-authorities depend on the count, so only get as
+        // many as the count, regardless of data beyond it.
+        for ($i = 0; $i < $subs; $i++) {
+            $data = implode('', array_reverse(
+                str_split(
+                    substr($sidHex, 16 + ($i * 8), 8),
+                    2
+                )
+            ));
+
+            $subAuthorities[] = hexdec($data);
+        }
+
+        // Tack on the 'S-' and glue it all together...
+        return 'S-'.$revisionLevel.'-'.$identifierAuthority.implode(
+            preg_filter('/^/', '-', $subAuthorities)
+        );
+    }
+
+    /**
+     * Convert a binary GUID to a string GUID.
+     *
+     * @param string $binGuid
+     *
+     * @return string|null
+     */
+    public static function binaryGuidToString($binGuid)
+    {
+        if (trim($binGuid) == '' || is_null($binGuid)) {
+            return;
+        }
+
+        $hex = unpack('H*hex', $binGuid)['hex'];
+
+        $hex1 = substr($hex, -26, 2).substr($hex, -28, 2).substr($hex, -30, 2).substr($hex, -32, 2);
+        $hex2 = substr($hex, -22, 2).substr($hex, -24, 2);
+        $hex3 = substr($hex, -18, 2).substr($hex, -20, 2);
+        $hex4 = substr($hex, -16, 4);
+        $hex5 = substr($hex, -12, 12);
+
+        $guid = sprintf('%s-%s-%s-%s-%s', $hex1, $hex2, $hex3, $hex4, $hex5);
+
+        return $guid;
+    }
+
+    /**
+     * Converts a string GUID to it's hex variant.
+     *
+     * @param string $string
+     *
+     * @return string
+     */
+    public static function stringGuidToHex($string)
+    {
+        $hex = '\\'.substr($string, 6, 2).'\\'.substr($string, 4, 2).'\\'.substr($string, 2, 2).'\\'.substr($string, 0, 2);
+        $hex = $hex.'\\'.substr($string, 11, 2).'\\'.substr($string, 9, 2);
+        $hex = $hex.'\\'.substr($string, 16, 2).'\\'.substr($string, 14, 2);
+        $hex = $hex.'\\'.substr($string, 19, 2).'\\'.substr($string, 21, 2);
+        $hex = $hex.'\\'.substr($string, 24, 2).'\\'.substr($string, 26, 2).'\\'.substr($string, 28, 2).'\\'.substr($string, 30, 2).'\\'.substr($string, 32, 2).'\\'.substr($string, 34, 2);
+
+        return $hex;
+    }
+
+    /**
+     * Encode a password for transmission over LDAP.
+     *
+     * @param string $password The password to encode
+     *
+     * @return string
+     */
+    public static function encodePassword($password)
+    {
+        return iconv('UTF-8', 'UTF-16LE', '"'.$password.'"');
+    }
+
+    /**
+     * Salt and hash a password to make its SSHA OpenLDAP version.
+     *
+     * @param string $password The password to create
+     *
+     * @return string
+     */
+    public static function makeSSHAPassword($password)
+    {
+        mt_srand((float) microtime() * 1000000);
+        $salt = pack('CCCC', mt_rand(), mt_rand(), mt_rand(), mt_rand());
+
+        return '{SSHA}'.base64_encode(pack('H*', sha1($password.$salt)).$salt);
+    }
+
+    /**
+     * Round a Windows timestamp down to seconds and remove
+     * the seconds between 1601-01-01 and 1970-01-01.
+     *
+     * @param float $windowsTime
+     *
+     * @return float
+     */
+    public static function convertWindowsTimeToUnixTime($windowsTime)
+    {
+        return round($windowsTime / 10000000) - 11644473600;
+    }
+
+    /**
+     * Convert a Unix timestamp to Windows timestamp.
+     *
+     * @param float $unixTime
+     *
+     * @return float
+     */
+    public static function convertUnixTimeToWindowsTime($unixTime)
+    {
+        return ($unixTime + 11644473600) * 10000000;
+    }
+
+    /**
+     * Validates that the inserted string is an object SID.
+     *
+     * @param string $sid
+     *
+     * @return bool
+     */
+    public static function isValidSid($sid)
+    {
+        return (bool) preg_match("/^S-\d(-\d{1,10}){1,16}$/i", $sid);
+    }
+
+    /**
+     * Validates that the inserted string is an object GUID.
+     *
+     * @param string $guid
+     *
+     * @return bool
+     */
+    public static function isValidGuid($guid)
+    {
+        return (bool) preg_match('/^([0-9a-fA-F]){8}(-([0-9a-fA-F]){4}){3}-([0-9a-fA-F]){12}$|^([0-9a-fA-F]{8}-){3}[0-9a-fA-F]{8}$/', $guid);
+    }
+
+    /**
+     * Converts an ignore string into an array.
+     *
+     * @param string $ignore
+     *
+     * @return array
+     */
+    protected static function ignoreStrToArray($ignore)
+    {
+        $ignore = trim($ignore);
+
+        return $ignore ? str_split($ignore) : [];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/bin/carbon b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/bin/carbon
new file mode 120000
index 0000000..0da4804
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/bin/carbon
@@ -0,0 +1 @@
+../nesbot/carbon/bin/carbon
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/bin/var-dump-server b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/bin/var-dump-server
new file mode 120000
index 0000000..6bd4e93
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/bin/var-dump-server
@@ -0,0 +1 @@
+../symfony/var-dumper/Resources/bin/var-dump-server
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/ClassLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/ClassLoader.php
index 1a58957..6d0c3f2 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/ClassLoader.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/ClassLoader.php
@@ -42,6 +42,8 @@
  */
 class ClassLoader
 {
+    private $vendorDir;
+
     // PSR-4
     private $prefixLengthsPsr4 = array();
     private $prefixDirsPsr4 = array();
@@ -57,6 +59,13 @@
     private $missingClasses = array();
     private $apcuPrefix;
 
+    private static $registeredLoaders = array();
+
+    public function __construct($vendorDir = null)
+    {
+        $this->vendorDir = $vendorDir;
+    }
+
     public function getPrefixes()
     {
         if (!empty($this->prefixesPsr0)) {
@@ -300,6 +309,17 @@
     public function register($prepend = false)
     {
         spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+
+        if (null === $this->vendorDir) {
+            return;
+        }
+
+        if ($prepend) {
+            self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
+        } else {
+            unset(self::$registeredLoaders[$this->vendorDir]);
+            self::$registeredLoaders[$this->vendorDir] = $this;
+        }
     }
 
     /**
@@ -308,13 +328,17 @@
     public function unregister()
     {
         spl_autoload_unregister(array($this, 'loadClass'));
+
+        if (null !== $this->vendorDir) {
+            unset(self::$registeredLoaders[$this->vendorDir]);
+        }
     }
 
     /**
      * Loads the given class or interface.
      *
      * @param  string    $class The name of the class
-     * @return bool|null True if loaded, null otherwise
+     * @return true|null True if loaded, null otherwise
      */
     public function loadClass($class)
     {
@@ -323,6 +347,8 @@
 
             return true;
         }
+
+        return null;
     }
 
     /**
@@ -367,6 +393,16 @@
         return $file;
     }
 
+    /**
+     * Returns the currently registered loaders indexed by their corresponding vendor directories.
+     *
+     * @return self[]
+     */
+    public static function getRegisteredLoaders()
+    {
+        return self::$registeredLoaders;
+    }
+
     private function findFileWithExtension($class, $ext)
     {
         // PSR-4 lookup
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/InstalledVersions.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/InstalledVersions.php
index 2d16727..b3a4e16 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/InstalledVersions.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/InstalledVersions.php
@@ -1,332 +1,337 @@
 <?php
 
-
-
-
-
-
-
-
-
-
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
 
 namespace Composer;
 
+use Composer\Autoload\ClassLoader;
 use Composer\Semver\VersionParser;
 
-
-
-
-
-
+/**
+ * This class is copied in every Composer installed project and available to all
+ *
+ * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
+ *
+ * To require it's presence, you can require `composer-runtime-api ^2.0`
+ */
 class InstalledVersions
 {
-private static $installed = array (
-  'root' => 
-  array (
-    'pretty_version' => '1.0.0+no-version-set',
-    'version' => '1.0.0.0',
-    'aliases' => 
-    array (
-    ),
-    'reference' => NULL,
-    'name' => '__root__',
-  ),
-  'versions' => 
-  array (
-    '__root__' => 
-    array (
-      'pretty_version' => '1.0.0+no-version-set',
-      'version' => '1.0.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => NULL,
-    ),
-    'bshaffer/oauth2-server-php' => 
-    array (
-      'pretty_version' => 'v1.11.1',
-      'version' => '1.11.1.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '5a0c8000d4763b276919e2106f54eddda6bc50fa',
-    ),
-    'ddeboer/imap' => 
-    array (
-      'pretty_version' => '1.11.0',
-      'version' => '1.11.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'a089dfcb9d177f921eb5dadc8d4144a44dff22ee',
-    ),
-    'exorus/php-mime-mail-parser' => 
-    array (
-      'replaced' => 
-      array (
-        0 => '*',
-      ),
-    ),
-    'matthiasmullie/minify' => 
-    array (
-      'pretty_version' => '1.3.65',
-      'version' => '1.3.65.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '227f19062451c55a797e0cc667ef983834e6580c',
-    ),
-    'matthiasmullie/path-converter' => 
-    array (
-      'pretty_version' => '1.1.3',
-      'version' => '1.1.3.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'e7d13b2c7e2f2268e1424aaed02085518afa02d9',
-    ),
-    'messaged/php-mime-mail-parser' => 
-    array (
-      'replaced' => 
-      array (
-        0 => '*',
-      ),
-    ),
-    'mustangostang/spyc' => 
-    array (
-      'pretty_version' => '0.6.3',
-      'version' => '0.6.3.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '4627c838b16550b666d15aeae1e5289dd5b77da0',
-    ),
-    'paragonie/random_compat' => 
-    array (
-      'pretty_version' => 'v9.99.100',
-      'version' => '9.99.100.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '996434e5492cb4c3edcb9168db6fbb1359ef965a',
-    ),
-    'php-mime-mail-parser/php-mime-mail-parser' => 
-    array (
-      'pretty_version' => '5.0.5',
-      'version' => '5.0.5.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '27983433aabeccee832573c3c56e6a4855e57745',
-    ),
-    'phpmailer/phpmailer' => 
-    array (
-      'pretty_version' => 'v6.2.0',
-      'version' => '6.2.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'e38888a75c070304ca5514197d4847a59a5c853f',
-    ),
-    'robthree/twofactorauth' => 
-    array (
-      'pretty_version' => '1.7.0',
-      'version' => '1.7.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '37983bf675c5baca09d19d6705170489d0df0002',
-    ),
-    'soundasleep/html2text' => 
-    array (
-      'pretty_version' => '0.5.0',
-      'version' => '0.5.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'cdb89f6ffa2c4cc78f8ed9ea6ee0594a9133ccad',
-    ),
-    'yubico/u2flib-server' => 
-    array (
-      'pretty_version' => '1.0.2',
-      'version' => '1.0.2.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '55d813acf68212ad2cadecde07551600d6971939',
-    ),
-  ),
-);
+    private static $installed;
+    private static $canGetVendors;
+    private static $installedByVendor = array();
 
+    /**
+     * Returns a list of all package names which are present, either by being installed, replaced or provided
+     *
+     * @return string[]
+     * @psalm-return list<string>
+     */
+    public static function getInstalledPackages()
+    {
+        $packages = array();
+        foreach (self::getInstalled() as $installed) {
+            $packages[] = array_keys($installed['versions']);
+        }
 
+        if (1 === \count($packages)) {
+            return $packages[0];
+        }
 
+        return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
+    }
 
+    /**
+     * Returns a list of all package names with a specific type e.g. 'library'
+     *
+     * @param  string   $type
+     * @return string[]
+     * @psalm-return list<string>
+     */
+    public static function getInstalledPackagesByType($type)
+    {
+        $packagesByType = array();
 
+        foreach (self::getInstalled() as $installed) {
+            foreach ($installed['versions'] as $name => $package) {
+                if (isset($package['type']) && $package['type'] === $type) {
+                    $packagesByType[] = $name;
+                }
+            }
+        }
 
+        return $packagesByType;
+    }
 
-public static function getInstalledPackages()
-{
-return array_keys(self::$installed['versions']);
-}
+    /**
+     * Checks whether the given package is installed
+     *
+     * This also returns true if the package name is provided or replaced by another package
+     *
+     * @param  string $packageName
+     * @param  bool   $includeDevRequirements
+     * @return bool
+     */
+    public static function isInstalled($packageName, $includeDevRequirements = true)
+    {
+        foreach (self::getInstalled() as $installed) {
+            if (isset($installed['versions'][$packageName])) {
+                return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
+            }
+        }
 
+        return false;
+    }
 
+    /**
+     * Checks whether the given package satisfies a version constraint
+     *
+     * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
+     *
+     *   Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
+     *
+     * @param  VersionParser $parser      Install composer/semver to have access to this class and functionality
+     * @param  string        $packageName
+     * @param  string|null   $constraint  A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
+     * @return bool
+     */
+    public static function satisfies(VersionParser $parser, $packageName, $constraint)
+    {
+        $constraint = $parser->parseConstraints($constraint);
+        $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
 
+        return $provided->matches($constraint);
+    }
 
+    /**
+     * Returns a version constraint representing all the range(s) which are installed for a given package
+     *
+     * It is easier to use this via isInstalled() with the $constraint argument if you need to check
+     * whether a given version of a package is installed, and not just whether it exists
+     *
+     * @param  string $packageName
+     * @return string Version constraint usable with composer/semver
+     */
+    public static function getVersionRanges($packageName)
+    {
+        foreach (self::getInstalled() as $installed) {
+            if (!isset($installed['versions'][$packageName])) {
+                continue;
+            }
 
+            $ranges = array();
+            if (isset($installed['versions'][$packageName]['pretty_version'])) {
+                $ranges[] = $installed['versions'][$packageName]['pretty_version'];
+            }
+            if (array_key_exists('aliases', $installed['versions'][$packageName])) {
+                $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
+            }
+            if (array_key_exists('replaced', $installed['versions'][$packageName])) {
+                $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
+            }
+            if (array_key_exists('provided', $installed['versions'][$packageName])) {
+                $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
+            }
 
+            return implode(' || ', $ranges);
+        }
 
+        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+    }
 
+    /**
+     * @param  string      $packageName
+     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
+     */
+    public static function getVersion($packageName)
+    {
+        foreach (self::getInstalled() as $installed) {
+            if (!isset($installed['versions'][$packageName])) {
+                continue;
+            }
 
-public static function isInstalled($packageName)
-{
-return isset(self::$installed['versions'][$packageName]);
-}
+            if (!isset($installed['versions'][$packageName]['version'])) {
+                return null;
+            }
 
+            return $installed['versions'][$packageName]['version'];
+        }
 
-
-
-
-
-
-
-
-
-
-
-
-
-public static function satisfies(VersionParser $parser, $packageName, $constraint)
-{
-$constraint = $parser->parseConstraints($constraint);
-$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
-
-return $provided->matches($constraint);
-}
-
-
-
-
-
-
-
-
-
-
-public static function getVersionRanges($packageName)
-{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
-}
-
-$ranges = array();
-if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
-$ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
-}
-if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
-$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
-}
-if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
-$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
-}
-if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
-$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
-}
-
-return implode(' || ', $ranges);
-}
-
-
-
-
-
-public static function getVersion($packageName)
-{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
-}
-
-if (!isset(self::$installed['versions'][$packageName]['version'])) {
-return null;
-}
-
-return self::$installed['versions'][$packageName]['version'];
-}
-
-
-
-
-
-public static function getPrettyVersion($packageName)
-{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
-}
-
-if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
-return null;
-}
-
-return self::$installed['versions'][$packageName]['pretty_version'];
-}
-
-
-
-
-
-public static function getReference($packageName)
-{
-if (!isset(self::$installed['versions'][$packageName])) {
-throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
-}
-
-if (!isset(self::$installed['versions'][$packageName]['reference'])) {
-return null;
-}
-
-return self::$installed['versions'][$packageName]['reference'];
-}
-
-
-
-
-
-public static function getRootPackage()
-{
-return self::$installed['root'];
-}
-
-
-
+        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+    }
 
+    /**
+     * @param  string      $packageName
+     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
+     */
+    public static function getPrettyVersion($packageName)
+    {
+        foreach (self::getInstalled() as $installed) {
+            if (!isset($installed['versions'][$packageName])) {
+                continue;
+            }
 
+            if (!isset($installed['versions'][$packageName]['pretty_version'])) {
+                return null;
+            }
 
+            return $installed['versions'][$packageName]['pretty_version'];
+        }
 
-public static function getRawData()
-{
-return self::$installed;
-}
+        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+    }
 
+    /**
+     * @param  string      $packageName
+     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
+     */
+    public static function getReference($packageName)
+    {
+        foreach (self::getInstalled() as $installed) {
+            if (!isset($installed['versions'][$packageName])) {
+                continue;
+            }
 
+            if (!isset($installed['versions'][$packageName]['reference'])) {
+                return null;
+            }
 
+            return $installed['versions'][$packageName]['reference'];
+        }
 
+        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+    }
 
+    /**
+     * @param  string      $packageName
+     * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
+     */
+    public static function getInstallPath($packageName)
+    {
+        foreach (self::getInstalled() as $installed) {
+            if (!isset($installed['versions'][$packageName])) {
+                continue;
+            }
 
+            return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
+        }
 
+        throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+    }
 
+    /**
+     * @return array
+     * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}
+     */
+    public static function getRootPackage()
+    {
+        $installed = self::getInstalled();
 
+        return $installed[0]['root'];
+    }
 
+    /**
+     * Returns the raw installed.php data for custom implementations
+     *
+     * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
+     * @return array[]
+     * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}
+     */
+    public static function getRawData()
+    {
+        @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
 
+        if (null === self::$installed) {
+            // only require the installed.php file if this file is loaded from its dumped location,
+            // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
+            if (substr(__DIR__, -8, 1) !== 'C') {
+                self::$installed = include __DIR__ . '/installed.php';
+            } else {
+                self::$installed = array();
+            }
+        }
 
+        return self::$installed;
+    }
 
+    /**
+     * Returns the raw data of all installed.php which are currently loaded for custom implementations
+     *
+     * @return array[]
+     * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
+     */
+    public static function getAllRawData()
+    {
+        return self::getInstalled();
+    }
 
+    /**
+     * Lets you reload the static array from another file
+     *
+     * This is only useful for complex integrations in which a project needs to use
+     * this class but then also needs to execute another project's autoloader in process,
+     * and wants to ensure both projects have access to their version of installed.php.
+     *
+     * A typical case would be PHPUnit, where it would need to make sure it reads all
+     * the data it needs from this class, then call reload() with
+     * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
+     * the project in which it runs can then also use this class safely, without
+     * interference between PHPUnit's dependencies and the project's dependencies.
+     *
+     * @param  array[] $data A vendor/composer/installed.php data set
+     * @return void
+     *
+     * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data
+     */
+    public static function reload($data)
+    {
+        self::$installed = $data;
+        self::$installedByVendor = array();
+    }
 
+    /**
+     * @return array[]
+     * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
+     */
+    private static function getInstalled()
+    {
+        if (null === self::$canGetVendors) {
+            self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
+        }
 
+        $installed = array();
 
+        if (self::$canGetVendors) {
+            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
+                if (isset(self::$installedByVendor[$vendorDir])) {
+                    $installed[] = self::$installedByVendor[$vendorDir];
+                } elseif (is_file($vendorDir.'/composer/installed.php')) {
+                    $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
+                    if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
+                        self::$installed = $installed[count($installed) - 1];
+                    }
+                }
+            }
+        }
 
+        if (null === self::$installed) {
+            // only require the installed.php file if this file is loaded from its dumped location,
+            // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
+            if (substr(__DIR__, -8, 1) !== 'C') {
+                self::$installed = require __DIR__ . '/installed.php';
+            } else {
+                self::$installed = array();
+            }
+        }
+        $installed[] = self::$installed;
 
-public static function reload($data)
-{
-self::$installed = $data;
-}
+        return $installed;
+    }
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_classmap.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_classmap.php
index 827360c..1de2dba 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_classmap.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_classmap.php
@@ -6,7 +6,11 @@
 $baseDir = dirname($vendorDir);
 
 return array(
+    'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
     'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
+    'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
+    'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
+    'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
     'u2flib_server\\Error' => $vendorDir . '/yubico/u2flib-server/src/u2flib_server/U2F.php',
     'u2flib_server\\RegisterRequest' => $vendorDir . '/yubico/u2flib-server/src/u2flib_server/U2F.php',
     'u2flib_server\\Registration' => $vendorDir . '/yubico/u2flib-server/src/u2flib_server/U2F.php',
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_files.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_files.php
index f2c5f70..fac18c7 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_files.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_files.php
@@ -6,5 +6,12 @@
 $baseDir = dirname($vendorDir);
 
 return array(
+    'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
+    '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
+    '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
+    'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php',
+    '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
+    'fe62ba7e10580d903cc46d808b5961a4' => $vendorDir . '/tightenco/collect/src/Collect/Support/helpers.php',
+    'caf31cc6ec7cf2241cb6f12c226c3846' => $vendorDir . '/tightenco/collect/src/Collect/Support/alias.php',
     '04c6c5c2f7095ccf6c481d3e53e1776f' => $vendorDir . '/mustangostang/spyc/Spyc.php',
 );
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_psr4.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_psr4.php
index b1b7514..7c9542e 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_psr4.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_psr4.php
@@ -6,11 +6,23 @@
 $baseDir = dirname($vendorDir);
 
 return array(
+    'Tightenco\\Collect\\' => array($vendorDir . '/tightenco/collect/src/Collect'),
+    'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
+    'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
+    'Symfony\\Contracts\\Translation\\' => array($vendorDir . '/symfony/translation-contracts'),
+    'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'),
+    'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
     'RobThree\\Auth\\' => array($vendorDir . '/robthree/twofactorauth/lib'),
+    'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
+    'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
+    'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
     'PhpMimeMailParser\\' => array($vendorDir . '/php-mime-mail-parser/php-mime-mail-parser/src'),
     'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'),
     'MatthiasMullie\\PathConverter\\' => array($vendorDir . '/matthiasmullie/path-converter/src'),
     'MatthiasMullie\\Minify\\' => array($vendorDir . '/matthiasmullie/minify/src'),
+    'LdapRecord\\' => array($vendorDir . '/directorytree/ldaprecord/src'),
+    'Illuminate\\Contracts\\' => array($vendorDir . '/illuminate/contracts'),
     'Html2Text\\' => array($vendorDir . '/soundasleep/html2text/src'),
     'Ddeboer\\Imap\\' => array($vendorDir . '/ddeboer/imap/src'),
+    'Carbon\\' => array($vendorDir . '/nesbot/carbon/src/Carbon'),
 );
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_real.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_real.php
index d380e48..8a7686a 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_real.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_real.php
@@ -25,7 +25,7 @@
         require __DIR__ . '/platform_check.php';
 
         spl_autoload_register(array('ComposerAutoloaderInit873464e4bd965a3168f133248b1b218b', 'loadClassLoader'), true, true);
-        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
         spl_autoload_unregister(array('ComposerAutoloaderInit873464e4bd965a3168f133248b1b218b', 'loadClassLoader'));
 
         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_static.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_static.php
index 94db388..4d3a5d4 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_static.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/autoload_static.php
@@ -7,16 +7,38 @@
 class ComposerStaticInit873464e4bd965a3168f133248b1b218b
 {
     public static $files = array (
+        'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
+        '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
+        '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
+        'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php',
+        '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
+        'fe62ba7e10580d903cc46d808b5961a4' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/helpers.php',
+        'caf31cc6ec7cf2241cb6f12c226c3846' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/alias.php',
         '04c6c5c2f7095ccf6c481d3e53e1776f' => __DIR__ . '/..' . '/mustangostang/spyc/Spyc.php',
     );
 
     public static $prefixLengthsPsr4 = array (
+        'T' => 
+        array (
+            'Tightenco\\Collect\\' => 18,
+        ),
+        'S' => 
+        array (
+            'Symfony\\Polyfill\\Php80\\' => 23,
+            'Symfony\\Polyfill\\Mbstring\\' => 26,
+            'Symfony\\Contracts\\Translation\\' => 30,
+            'Symfony\\Component\\VarDumper\\' => 28,
+            'Symfony\\Component\\Translation\\' => 30,
+        ),
         'R' => 
         array (
             'RobThree\\Auth\\' => 14,
         ),
         'P' => 
         array (
+            'Psr\\SimpleCache\\' => 16,
+            'Psr\\Log\\' => 8,
+            'Psr\\Container\\' => 14,
             'PhpMimeMailParser\\' => 18,
             'PHPMailer\\PHPMailer\\' => 20,
         ),
@@ -25,6 +47,14 @@
             'MatthiasMullie\\PathConverter\\' => 29,
             'MatthiasMullie\\Minify\\' => 22,
         ),
+        'L' => 
+        array (
+            'LdapRecord\\' => 11,
+        ),
+        'I' => 
+        array (
+            'Illuminate\\Contracts\\' => 21,
+        ),
         'H' => 
         array (
             'Html2Text\\' => 10,
@@ -33,13 +63,53 @@
         array (
             'Ddeboer\\Imap\\' => 13,
         ),
+        'C' => 
+        array (
+            'Carbon\\' => 7,
+        ),
     );
 
     public static $prefixDirsPsr4 = array (
+        'Tightenco\\Collect\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/tightenco/collect/src/Collect',
+        ),
+        'Symfony\\Polyfill\\Php80\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
+        ),
+        'Symfony\\Polyfill\\Mbstring\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
+        ),
+        'Symfony\\Contracts\\Translation\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/symfony/translation-contracts',
+        ),
+        'Symfony\\Component\\VarDumper\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/symfony/var-dumper',
+        ),
+        'Symfony\\Component\\Translation\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/symfony/translation',
+        ),
         'RobThree\\Auth\\' => 
         array (
             0 => __DIR__ . '/..' . '/robthree/twofactorauth/lib',
         ),
+        'Psr\\SimpleCache\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/psr/simple-cache/src',
+        ),
+        'Psr\\Log\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
+        ),
+        'Psr\\Container\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/psr/container/src',
+        ),
         'PhpMimeMailParser\\' => 
         array (
             0 => __DIR__ . '/..' . '/php-mime-mail-parser/php-mime-mail-parser/src',
@@ -56,6 +126,14 @@
         array (
             0 => __DIR__ . '/..' . '/matthiasmullie/minify/src',
         ),
+        'LdapRecord\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/directorytree/ldaprecord/src',
+        ),
+        'Illuminate\\Contracts\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/illuminate/contracts',
+        ),
         'Html2Text\\' => 
         array (
             0 => __DIR__ . '/..' . '/soundasleep/html2text/src',
@@ -64,6 +142,10 @@
         array (
             0 => __DIR__ . '/..' . '/ddeboer/imap/src',
         ),
+        'Carbon\\' => 
+        array (
+            0 => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon',
+        ),
     );
 
     public static $prefixesPsr0 = array (
@@ -77,7 +159,11 @@
     );
 
     public static $classMap = array (
+        'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
         'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
+        'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
+        'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
+        'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
         'u2flib_server\\Error' => __DIR__ . '/..' . '/yubico/u2flib-server/src/u2flib_server/U2F.php',
         'u2flib_server\\RegisterRequest' => __DIR__ . '/..' . '/yubico/u2flib-server/src/u2flib_server/U2F.php',
         'u2flib_server\\Registration' => __DIR__ . '/..' . '/yubico/u2flib-server/src/u2flib_server/U2F.php',
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.json
index 72d1d8d..1ff198c 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.json
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.json
@@ -63,34 +63,34 @@
         },
         {
             "name": "ddeboer/imap",
-            "version": "1.11.0",
-            "version_normalized": "1.11.0.0",
+            "version": "1.12.1",
+            "version_normalized": "1.12.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/ddeboer/imap.git",
-                "reference": "a089dfcb9d177f921eb5dadc8d4144a44dff22ee"
+                "reference": "dbed05ca67b93509345a820b2859de10c48948fb"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/ddeboer/imap/zipball/a089dfcb9d177f921eb5dadc8d4144a44dff22ee",
-                "reference": "a089dfcb9d177f921eb5dadc8d4144a44dff22ee",
+                "url": "https://api.github.com/repos/ddeboer/imap/zipball/dbed05ca67b93509345a820b2859de10c48948fb",
+                "reference": "dbed05ca67b93509345a820b2859de10c48948fb",
                 "shasum": ""
             },
             "require": {
                 "ext-iconv": "*",
                 "ext-imap": "*",
                 "ext-mbstring": "*",
-                "php": "^7.3 || ^8.0"
+                "php": "^7.4 || ^8.0"
             },
             "require-dev": {
-                "friendsofphp/php-cs-fixer": "^2.16.7",
-                "laminas/laminas-mail": "^2.12.3",
-                "phpstan/phpstan": "^0.12.57",
-                "phpstan/phpstan-phpunit": "^0.12.16",
-                "phpstan/phpstan-strict-rules": "^0.12.5",
-                "phpunit/phpunit": "^9.4.3"
+                "friendsofphp/php-cs-fixer": "^2.18.6",
+                "laminas/laminas-mail": "^2.14.0",
+                "phpstan/phpstan": "^0.12.84",
+                "phpstan/phpstan-phpunit": "^0.12.18",
+                "phpstan/phpstan-strict-rules": "^0.12.9",
+                "phpunit/phpunit": "^9.5.4"
             },
-            "time": "2020-11-30T14:52:49+00:00",
+            "time": "2021-04-27T08:38:46+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -124,7 +124,7 @@
             ],
             "support": {
                 "issues": "https://github.com/ddeboer/imap/issues",
-                "source": "https://github.com/ddeboer/imap/tree/1.11.0"
+                "source": "https://github.com/ddeboer/imap/tree/1.12.1"
             },
             "funding": [
                 {
@@ -139,18 +139,145 @@
             "install-path": "../ddeboer/imap"
         },
         {
-            "name": "matthiasmullie/minify",
-            "version": "1.3.65",
-            "version_normalized": "1.3.65.0",
+            "name": "directorytree/ldaprecord",
+            "version": "v2.6.3",
+            "version_normalized": "2.6.3.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/matthiasmullie/minify.git",
-                "reference": "227f19062451c55a797e0cc667ef983834e6580c"
+                "url": "https://github.com/DirectoryTree/LdapRecord.git",
+                "reference": "5c93ec6d1ef458290825a8b0a148946dce7c1e7a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/227f19062451c55a797e0cc667ef983834e6580c",
-                "reference": "227f19062451c55a797e0cc667ef983834e6580c",
+                "url": "https://api.github.com/repos/DirectoryTree/LdapRecord/zipball/5c93ec6d1ef458290825a8b0a148946dce7c1e7a",
+                "reference": "5c93ec6d1ef458290825a8b0a148946dce7c1e7a",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "ext-ldap": "*",
+                "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0",
+                "nesbot/carbon": "^1.0|^2.0",
+                "php": ">=7.3",
+                "psr/log": "^1.0",
+                "psr/simple-cache": "^1.0",
+                "tightenco/collect": "^5.6|^6.0|^7.0|^8.0"
+            },
+            "require-dev": {
+                "mockery/mockery": "^1.0",
+                "phpunit/phpunit": "^8.0",
+                "spatie/ray": "^1.24"
+            },
+            "time": "2021-08-05T21:52:43+00:00",
+            "type": "library",
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "LdapRecord\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Steve Bauman",
+                    "email": "steven_bauman@outlook.com",
+                    "role": "Developer"
+                }
+            ],
+            "description": "A fully-featured LDAP ORM.",
+            "homepage": "https://www.ldaprecord.com",
+            "keywords": [
+                "active directory",
+                "ad",
+                "adLDAP",
+                "adldap2",
+                "directory",
+                "ldap",
+                "ldaprecord",
+                "orm",
+                "windows"
+            ],
+            "support": {
+                "docs": "https://ldaprecord.com",
+                "email": "steven_bauman@outlook.com",
+                "issues": "https://github.com/DirectoryTree/LdapRecord/issues",
+                "source": "https://github.com/DirectoryTree/LdapRecord"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/stevebauman",
+                    "type": "github"
+                }
+            ],
+            "install-path": "../directorytree/ldaprecord"
+        },
+        {
+            "name": "illuminate/contracts",
+            "version": "v8.53.1",
+            "version_normalized": "8.53.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/illuminate/contracts.git",
+                "reference": "504a34286a1b4c5421c43087d6bd4e176138f6fb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/illuminate/contracts/zipball/504a34286a1b4c5421c43087d6bd4e176138f6fb",
+                "reference": "504a34286a1b4c5421c43087d6bd4e176138f6fb",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.3|^8.0",
+                "psr/container": "^1.0",
+                "psr/simple-cache": "^1.0"
+            },
+            "time": "2021-08-03T14:03:47+00:00",
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "8.x-dev"
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Illuminate\\Contracts\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Taylor Otwell",
+                    "email": "taylor@laravel.com"
+                }
+            ],
+            "description": "The Illuminate Contracts package.",
+            "homepage": "https://laravel.com",
+            "support": {
+                "issues": "https://github.com/laravel/framework/issues",
+                "source": "https://github.com/laravel/framework"
+            },
+            "install-path": "../illuminate/contracts"
+        },
+        {
+            "name": "matthiasmullie/minify",
+            "version": "1.3.66",
+            "version_normalized": "1.3.66.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/matthiasmullie/minify.git",
+                "reference": "45fd3b0f1dfa2c965857c6d4a470bea52adc31a6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/45fd3b0f1dfa2c965857c6d4a470bea52adc31a6",
+                "reference": "45fd3b0f1dfa2c965857c6d4a470bea52adc31a6",
                 "shasum": ""
             },
             "require": {
@@ -160,13 +287,13 @@
             },
             "require-dev": {
                 "friendsofphp/php-cs-fixer": "~2.0",
-                "matthiasmullie/scrapbook": "~1.0",
-                "phpunit/phpunit": "~4.8"
+                "matthiasmullie/scrapbook": "dev-master",
+                "phpunit/phpunit": ">=4.8"
             },
             "suggest": {
                 "psr/cache-implementation": "Cache implementation to use with Minify::cache"
             },
-            "time": "2020-12-27T21:43:29+00:00",
+            "time": "2021-01-06T15:18:10+00:00",
             "bin": [
                 "bin/minifycss",
                 "bin/minifyjs"
@@ -201,7 +328,7 @@
             ],
             "support": {
                 "issues": "https://github.com/matthiasmullie/minify/issues",
-                "source": "https://github.com/matthiasmullie/minify/tree/1.3.65"
+                "source": "https://github.com/matthiasmullie/minify/tree/1.3.66"
             },
             "funding": [
                 {
@@ -325,6 +452,103 @@
             "install-path": "../mustangostang/spyc"
         },
         {
+            "name": "nesbot/carbon",
+            "version": "2.51.1",
+            "version_normalized": "2.51.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/briannesbitt/Carbon.git",
+                "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922",
+                "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "php": "^7.1.8 || ^8.0",
+                "symfony/polyfill-mbstring": "^1.0",
+                "symfony/polyfill-php80": "^1.16",
+                "symfony/translation": "^3.4 || ^4.0 || ^5.0"
+            },
+            "require-dev": {
+                "doctrine/orm": "^2.7",
+                "friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
+                "kylekatarnls/multi-tester": "^2.0",
+                "phpmd/phpmd": "^2.9",
+                "phpstan/extension-installer": "^1.0",
+                "phpstan/phpstan": "^0.12.54",
+                "phpunit/phpunit": "^7.5.20 || ^8.5.14",
+                "squizlabs/php_codesniffer": "^3.4"
+            },
+            "time": "2021-07-28T13:16:28+00:00",
+            "bin": [
+                "bin/carbon"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-3.x": "3.x-dev",
+                    "dev-master": "2.x-dev"
+                },
+                "laravel": {
+                    "providers": [
+                        "Carbon\\Laravel\\ServiceProvider"
+                    ]
+                },
+                "phpstan": {
+                    "includes": [
+                        "extension.neon"
+                    ]
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Carbon\\": "src/Carbon/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Brian Nesbitt",
+                    "email": "brian@nesbot.com",
+                    "homepage": "https://markido.com"
+                },
+                {
+                    "name": "kylekatarnls",
+                    "homepage": "https://github.com/kylekatarnls"
+                }
+            ],
+            "description": "An API extension for DateTime that supports 281 different languages.",
+            "homepage": "https://carbon.nesbot.com",
+            "keywords": [
+                "date",
+                "datetime",
+                "time"
+            ],
+            "support": {
+                "issues": "https://github.com/briannesbitt/Carbon/issues",
+                "source": "https://github.com/briannesbitt/Carbon"
+            },
+            "funding": [
+                {
+                    "url": "https://opencollective.com/Carbon",
+                    "type": "open_collective"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
+                    "type": "tidelift"
+                }
+            ],
+            "install-path": "../nesbot/carbon"
+        },
+        {
             "name": "paragonie/random_compat",
             "version": "v9.99.100",
             "version_normalized": "9.99.100.0",
@@ -379,34 +603,33 @@
         },
         {
             "name": "php-mime-mail-parser/php-mime-mail-parser",
-            "version": "5.0.5",
-            "version_normalized": "5.0.5.0",
+            "version": "7.0.0",
+            "version_normalized": "7.0.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-mime-mail-parser/php-mime-mail-parser.git",
-                "reference": "27983433aabeccee832573c3c56e6a4855e57745"
+                "reference": "9d09a017f3f103fec8456211a4a538b80e0eca0d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-mime-mail-parser/php-mime-mail-parser/zipball/27983433aabeccee832573c3c56e6a4855e57745",
-                "reference": "27983433aabeccee832573c3c56e6a4855e57745",
+                "url": "https://api.github.com/repos/php-mime-mail-parser/php-mime-mail-parser/zipball/9d09a017f3f103fec8456211a4a538b80e0eca0d",
+                "reference": "9d09a017f3f103fec8456211a4a538b80e0eca0d",
                 "shasum": ""
             },
             "require": {
                 "ext-mailparse": "*",
-                "php": "^7.1"
+                "php": "^7.2|^8.0"
             },
             "replace": {
                 "exorus/php-mime-mail-parser": "*",
                 "messaged/php-mime-mail-parser": "*"
             },
             "require-dev": {
-                "php-coveralls/php-coveralls": "^2.1",
-                "phpunit/php-token-stream": "^3.0",
-                "phpunit/phpunit": "^7.0",
-                "squizlabs/php_codesniffer": "^3.4"
+                "php-coveralls/php-coveralls": "^2.2",
+                "phpunit/phpunit": "^8.0",
+                "squizlabs/php_codesniffer": "^3.5"
             },
-            "time": "2019-09-23T11:57:58+00:00",
+            "time": "2021-02-25T17:21:57+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -450,7 +673,7 @@
                     "role": "Developer"
                 }
             ],
-            "description": "A fully tested email parser for PHP 7.1+ (mailparse extension wrapper).",
+            "description": "A fully tested email parser for PHP 7.2+ (mailparse extension wrapper).",
             "homepage": "https://github.com/php-mime-mail-parser/php-mime-mail-parser",
             "keywords": [
                 "MimeMailParser",
@@ -460,21 +683,31 @@
                 "parser",
                 "php"
             ],
+            "support": {
+                "issues": "https://github.com/php-mime-mail-parser/php-mime-mail-parser/issues",
+                "source": "https://github.com/php-mime-mail-parser/php-mime-mail-parser/tree/7.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/eXorus",
+                    "type": "github"
+                }
+            ],
             "install-path": "../php-mime-mail-parser/php-mime-mail-parser"
         },
         {
             "name": "phpmailer/phpmailer",
-            "version": "v6.2.0",
-            "version_normalized": "6.2.0.0",
+            "version": "v6.5.0",
+            "version_normalized": "6.5.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/PHPMailer/PHPMailer.git",
-                "reference": "e38888a75c070304ca5514197d4847a59a5c853f"
+                "reference": "a5b5c43e50b7fba655f793ad27303cd74c57363c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/e38888a75c070304ca5514197d4847a59a5c853f",
-                "reference": "e38888a75c070304ca5514197d4847a59a5c853f",
+                "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/a5b5c43e50b7fba655f793ad27303cd74c57363c",
+                "reference": "a5b5c43e50b7fba655f793ad27303cd74c57363c",
                 "shasum": ""
             },
             "require": {
@@ -492,14 +725,14 @@
                 "yoast/phpunit-polyfills": "^0.2.0"
             },
             "suggest": {
-                "ext-mbstring": "Needed to send email in multibyte encoding charset",
+                "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
                 "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
                 "league/oauth2-google": "Needed for Google XOAUTH2 authentication",
                 "psr/log": "For optional PSR-3 debug logging",
                 "stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication",
                 "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)"
             },
-            "time": "2020-11-25T15:24:57+00:00",
+            "time": "2021-06-16T14:33:43+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -531,7 +764,7 @@
             "description": "PHPMailer is a full-featured email creation and transfer class for PHP",
             "support": {
                 "issues": "https://github.com/PHPMailer/PHPMailer/issues",
-                "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.2.0"
+                "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.5.0"
             },
             "funding": [
                 {
@@ -542,27 +775,190 @@
             "install-path": "../phpmailer/phpmailer"
         },
         {
-            "name": "robthree/twofactorauth",
-            "version": "1.7.0",
-            "version_normalized": "1.7.0.0",
+            "name": "psr/container",
+            "version": "1.1.1",
+            "version_normalized": "1.1.1.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/RobThree/TwoFactorAuth.git",
-                "reference": "37983bf675c5baca09d19d6705170489d0df0002"
+                "url": "https://github.com/php-fig/container.git",
+                "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/RobThree/TwoFactorAuth/zipball/37983bf675c5baca09d19d6705170489d0df0002",
-                "reference": "37983bf675c5baca09d19d6705170489d0df0002",
+                "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
+                "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.0"
+            },
+            "time": "2021-03-05T17:36:06+00:00",
+            "type": "library",
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Container\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "https://www.php-fig.org/"
+                }
+            ],
+            "description": "Common Container Interface (PHP FIG PSR-11)",
+            "homepage": "https://github.com/php-fig/container",
+            "keywords": [
+                "PSR-11",
+                "container",
+                "container-interface",
+                "container-interop",
+                "psr"
+            ],
+            "support": {
+                "issues": "https://github.com/php-fig/container/issues",
+                "source": "https://github.com/php-fig/container/tree/1.1.1"
+            },
+            "install-path": "../psr/container"
+        },
+        {
+            "name": "psr/log",
+            "version": "1.1.4",
+            "version_normalized": "1.1.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/log.git",
+                "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+                "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "time": "2021-05-03T11:20:27+00:00",
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.1.x-dev"
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Log\\": "Psr/Log/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "https://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for logging libraries",
+            "homepage": "https://github.com/php-fig/log",
+            "keywords": [
+                "log",
+                "psr",
+                "psr-3"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/log/tree/1.1.4"
+            },
+            "install-path": "../psr/log"
+        },
+        {
+            "name": "psr/simple-cache",
+            "version": "1.0.1",
+            "version_normalized": "1.0.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/simple-cache.git",
+                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "time": "2017-10-23T01:57:42+00:00",
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Psr\\SimpleCache\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interfaces for simple caching",
+            "keywords": [
+                "cache",
+                "caching",
+                "psr",
+                "psr-16",
+                "simple-cache"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/simple-cache/tree/master"
+            },
+            "install-path": "../psr/simple-cache"
+        },
+        {
+            "name": "robthree/twofactorauth",
+            "version": "1.8.0",
+            "version_normalized": "1.8.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/RobThree/TwoFactorAuth.git",
+                "reference": "30a38627ae1e7c9399dae67e265063cd6ec5276c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/RobThree/TwoFactorAuth/zipball/30a38627ae1e7c9399dae67e265063cd6ec5276c",
+                "reference": "30a38627ae1e7c9399dae67e265063cd6ec5276c",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.6.0"
             },
             "require-dev": {
+                "php-parallel-lint/php-parallel-lint": "^1.2",
                 "phpunit/phpunit": "@stable"
             },
-            "time": "2020-01-02T19:56:46+00:00",
+            "suggest": {
+                "bacon/bacon-qr-code": "Needed for BaconQrCodeProvider provider",
+                "endroid/qr-code": "Needed for EndroidQrCodeProvider"
+            },
+            "time": "2021-03-09T18:24:05+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -593,6 +989,20 @@
                 "php",
                 "tfa"
             ],
+            "support": {
+                "issues": "https://github.com/RobThree/TwoFactorAuth/issues",
+                "source": "https://github.com/RobThree/TwoFactorAuth"
+            },
+            "funding": [
+                {
+                    "url": "https://paypal.me/robiii",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/RobThree",
+                    "type": "github"
+                }
+            ],
             "install-path": "../robthree/twofactorauth"
         },
         {
@@ -649,6 +1059,572 @@
             "install-path": "../soundasleep/html2text"
         },
         {
+            "name": "symfony/deprecation-contracts",
+            "version": "v2.4.0",
+            "version_normalized": "2.4.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/deprecation-contracts.git",
+                "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+                "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "time": "2021-03-23T23:28:01+00:00",
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.4-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "files": [
+                    "function.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "A generic function and convention to trigger deprecation notices",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "install-path": "../symfony/deprecation-contracts"
+        },
+        {
+            "name": "symfony/polyfill-mbstring",
+            "version": "v1.23.1",
+            "version_normalized": "1.23.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-mbstring.git",
+                "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
+                "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "suggest": {
+                "ext-mbstring": "For best performance"
+            },
+            "time": "2021-05-27T12:26:48+00:00",
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.23-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Mbstring\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for the Mbstring extension",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "mbstring",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "install-path": "../symfony/polyfill-mbstring"
+        },
+        {
+            "name": "symfony/polyfill-php80",
+            "version": "v1.23.1",
+            "version_normalized": "1.23.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-php80.git",
+                "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
+                "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "time": "2021-07-28T13:41:28+00:00",
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.23-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Php80\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ],
+                "classmap": [
+                    "Resources/stubs"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Ion Bazan",
+                    "email": "ion.bazan@gmail.com"
+                },
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "install-path": "../symfony/polyfill-php80"
+        },
+        {
+            "name": "symfony/translation",
+            "version": "v5.3.4",
+            "version_normalized": "5.3.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/translation.git",
+                "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/translation/zipball/d89ad7292932c2699cbe4af98d72c5c6bbc504c1",
+                "reference": "d89ad7292932c2699cbe4af98d72c5c6bbc504c1",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.5",
+                "symfony/deprecation-contracts": "^2.1",
+                "symfony/polyfill-mbstring": "~1.0",
+                "symfony/polyfill-php80": "^1.16",
+                "symfony/translation-contracts": "^2.3"
+            },
+            "conflict": {
+                "symfony/config": "<4.4",
+                "symfony/dependency-injection": "<5.0",
+                "symfony/http-kernel": "<5.0",
+                "symfony/twig-bundle": "<5.0",
+                "symfony/yaml": "<4.4"
+            },
+            "provide": {
+                "symfony/translation-implementation": "2.3"
+            },
+            "require-dev": {
+                "psr/log": "^1|^2|^3",
+                "symfony/config": "^4.4|^5.0",
+                "symfony/console": "^4.4|^5.0",
+                "symfony/dependency-injection": "^5.0",
+                "symfony/finder": "^4.4|^5.0",
+                "symfony/http-kernel": "^5.0",
+                "symfony/intl": "^4.4|^5.0",
+                "symfony/polyfill-intl-icu": "^1.21",
+                "symfony/service-contracts": "^1.1.2|^2",
+                "symfony/yaml": "^4.4|^5.0"
+            },
+            "suggest": {
+                "psr/log-implementation": "To use logging capability in translator",
+                "symfony/config": "",
+                "symfony/yaml": ""
+            },
+            "time": "2021-07-25T09:39:16+00:00",
+            "type": "library",
+            "installation-source": "dist",
+            "autoload": {
+                "files": [
+                    "Resources/functions.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Component\\Translation\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Provides tools to internationalize your application",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/translation/tree/v5.3.4"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "install-path": "../symfony/translation"
+        },
+        {
+            "name": "symfony/translation-contracts",
+            "version": "v2.4.0",
+            "version_normalized": "2.4.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/translation-contracts.git",
+                "reference": "95c812666f3e91db75385749fe219c5e494c7f95"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95",
+                "reference": "95c812666f3e91db75385749fe219c5e494c7f95",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.5"
+            },
+            "suggest": {
+                "symfony/translation-implementation": ""
+            },
+            "time": "2021-03-23T23:28:01+00:00",
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.4-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
+                }
+            },
+            "installation-source": "dist",
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Contracts\\Translation\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Generic abstractions related to translation",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "abstractions",
+                "contracts",
+                "decoupling",
+                "interfaces",
+                "interoperability",
+                "standards"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "install-path": "../symfony/translation-contracts"
+        },
+        {
+            "name": "symfony/var-dumper",
+            "version": "v5.3.6",
+            "version_normalized": "5.3.6.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/var-dumper.git",
+                "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0",
+                "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.2.5",
+                "symfony/polyfill-mbstring": "~1.0",
+                "symfony/polyfill-php80": "^1.16"
+            },
+            "conflict": {
+                "phpunit/phpunit": "<5.4.3",
+                "symfony/console": "<4.4"
+            },
+            "require-dev": {
+                "ext-iconv": "*",
+                "symfony/console": "^4.4|^5.0",
+                "symfony/process": "^4.4|^5.0",
+                "twig/twig": "^2.13|^3.0.4"
+            },
+            "suggest": {
+                "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
+                "ext-intl": "To show region name in time zone dump",
+                "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
+            },
+            "time": "2021-07-27T01:56:02+00:00",
+            "bin": [
+                "Resources/bin/var-dump-server"
+            ],
+            "type": "library",
+            "installation-source": "dist",
+            "autoload": {
+                "files": [
+                    "Resources/functions/dump.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Component\\VarDumper\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "debug",
+                "dump"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/var-dumper/tree/v5.3.6"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "install-path": "../symfony/var-dumper"
+        },
+        {
+            "name": "tightenco/collect",
+            "version": "v8.34.0",
+            "version_normalized": "8.34.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/tighten/collect.git",
+                "reference": "b069783ab0c547bb894ebcf8e7f6024bb401f9d2"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/tighten/collect/zipball/b069783ab0c547bb894ebcf8e7f6024bb401f9d2",
+                "reference": "b069783ab0c547bb894ebcf8e7f6024bb401f9d2",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.2|^8.0",
+                "symfony/var-dumper": "^3.4 || ^4.0 || ^5.0"
+            },
+            "require-dev": {
+                "mockery/mockery": "^1.0",
+                "nesbot/carbon": "^2.23.0",
+                "phpunit/phpunit": "^8.3"
+            },
+            "time": "2021-03-29T21:29:00+00:00",
+            "type": "library",
+            "installation-source": "dist",
+            "autoload": {
+                "files": [
+                    "src/Collect/Support/helpers.php",
+                    "src/Collect/Support/alias.php"
+                ],
+                "psr-4": {
+                    "Tightenco\\Collect\\": "src/Collect"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Taylor Otwell",
+                    "email": "taylorotwell@gmail.com"
+                }
+            ],
+            "description": "Collect - Illuminate Collections as a separate package.",
+            "keywords": [
+                "collection",
+                "laravel"
+            ],
+            "support": {
+                "issues": "https://github.com/tighten/collect/issues",
+                "source": "https://github.com/tighten/collect/tree/v8.34.0"
+            },
+            "install-path": "../tightenco/collect"
+        },
+        {
             "name": "yubico/u2flib-server",
             "version": "1.0.2",
             "version_normalized": "1.0.2.0",
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.php
index 189c9b7..2e6adce 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/installed.php
@@ -1,137 +1,257 @@
-<?php return array (
-  'root' => 
-  array (
-    'pretty_version' => '1.0.0+no-version-set',
-    'version' => '1.0.0.0',
-    'aliases' => 
-    array (
+<?php return array(
+    'root' => array(
+        'pretty_version' => '1.0.0+no-version-set',
+        'version' => '1.0.0.0',
+        'type' => 'library',
+        'install_path' => __DIR__ . '/../../',
+        'aliases' => array(),
+        'reference' => NULL,
+        'name' => '__root__',
+        'dev' => true,
     ),
-    'reference' => NULL,
-    'name' => '__root__',
-  ),
-  'versions' => 
-  array (
-    '__root__' => 
-    array (
-      'pretty_version' => '1.0.0+no-version-set',
-      'version' => '1.0.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => NULL,
+    'versions' => array(
+        '__root__' => array(
+            'pretty_version' => '1.0.0+no-version-set',
+            'version' => '1.0.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../../',
+            'aliases' => array(),
+            'reference' => NULL,
+            'dev_requirement' => false,
+        ),
+        'bshaffer/oauth2-server-php' => array(
+            'pretty_version' => 'v1.11.1',
+            'version' => '1.11.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../bshaffer/oauth2-server-php',
+            'aliases' => array(),
+            'reference' => '5a0c8000d4763b276919e2106f54eddda6bc50fa',
+            'dev_requirement' => false,
+        ),
+        'ddeboer/imap' => array(
+            'pretty_version' => '1.12.1',
+            'version' => '1.12.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../ddeboer/imap',
+            'aliases' => array(),
+            'reference' => 'dbed05ca67b93509345a820b2859de10c48948fb',
+            'dev_requirement' => false,
+        ),
+        'directorytree/ldaprecord' => array(
+            'pretty_version' => 'v2.6.3',
+            'version' => '2.6.3.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../directorytree/ldaprecord',
+            'aliases' => array(),
+            'reference' => '5c93ec6d1ef458290825a8b0a148946dce7c1e7a',
+            'dev_requirement' => false,
+        ),
+        'exorus/php-mime-mail-parser' => array(
+            'dev_requirement' => false,
+            'replaced' => array(
+                0 => '*',
+            ),
+        ),
+        'illuminate/contracts' => array(
+            'pretty_version' => 'v8.53.1',
+            'version' => '8.53.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../illuminate/contracts',
+            'aliases' => array(),
+            'reference' => '504a34286a1b4c5421c43087d6bd4e176138f6fb',
+            'dev_requirement' => false,
+        ),
+        'matthiasmullie/minify' => array(
+            'pretty_version' => '1.3.66',
+            'version' => '1.3.66.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../matthiasmullie/minify',
+            'aliases' => array(),
+            'reference' => '45fd3b0f1dfa2c965857c6d4a470bea52adc31a6',
+            'dev_requirement' => false,
+        ),
+        'matthiasmullie/path-converter' => array(
+            'pretty_version' => '1.1.3',
+            'version' => '1.1.3.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../matthiasmullie/path-converter',
+            'aliases' => array(),
+            'reference' => 'e7d13b2c7e2f2268e1424aaed02085518afa02d9',
+            'dev_requirement' => false,
+        ),
+        'messaged/php-mime-mail-parser' => array(
+            'dev_requirement' => false,
+            'replaced' => array(
+                0 => '*',
+            ),
+        ),
+        'mustangostang/spyc' => array(
+            'pretty_version' => '0.6.3',
+            'version' => '0.6.3.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../mustangostang/spyc',
+            'aliases' => array(),
+            'reference' => '4627c838b16550b666d15aeae1e5289dd5b77da0',
+            'dev_requirement' => false,
+        ),
+        'nesbot/carbon' => array(
+            'pretty_version' => '2.51.1',
+            'version' => '2.51.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../nesbot/carbon',
+            'aliases' => array(),
+            'reference' => '8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922',
+            'dev_requirement' => false,
+        ),
+        'paragonie/random_compat' => array(
+            'pretty_version' => 'v9.99.100',
+            'version' => '9.99.100.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../paragonie/random_compat',
+            'aliases' => array(),
+            'reference' => '996434e5492cb4c3edcb9168db6fbb1359ef965a',
+            'dev_requirement' => false,
+        ),
+        'php-mime-mail-parser/php-mime-mail-parser' => array(
+            'pretty_version' => '7.0.0',
+            'version' => '7.0.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../php-mime-mail-parser/php-mime-mail-parser',
+            'aliases' => array(),
+            'reference' => '9d09a017f3f103fec8456211a4a538b80e0eca0d',
+            'dev_requirement' => false,
+        ),
+        'phpmailer/phpmailer' => array(
+            'pretty_version' => 'v6.5.0',
+            'version' => '6.5.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../phpmailer/phpmailer',
+            'aliases' => array(),
+            'reference' => 'a5b5c43e50b7fba655f793ad27303cd74c57363c',
+            'dev_requirement' => false,
+        ),
+        'psr/container' => array(
+            'pretty_version' => '1.1.1',
+            'version' => '1.1.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../psr/container',
+            'aliases' => array(),
+            'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf',
+            'dev_requirement' => false,
+        ),
+        'psr/log' => array(
+            'pretty_version' => '1.1.4',
+            'version' => '1.1.4.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../psr/log',
+            'aliases' => array(),
+            'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
+            'dev_requirement' => false,
+        ),
+        'psr/simple-cache' => array(
+            'pretty_version' => '1.0.1',
+            'version' => '1.0.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../psr/simple-cache',
+            'aliases' => array(),
+            'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b',
+            'dev_requirement' => false,
+        ),
+        'robthree/twofactorauth' => array(
+            'pretty_version' => '1.8.0',
+            'version' => '1.8.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../robthree/twofactorauth',
+            'aliases' => array(),
+            'reference' => '30a38627ae1e7c9399dae67e265063cd6ec5276c',
+            'dev_requirement' => false,
+        ),
+        'soundasleep/html2text' => array(
+            'pretty_version' => '0.5.0',
+            'version' => '0.5.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../soundasleep/html2text',
+            'aliases' => array(),
+            'reference' => 'cdb89f6ffa2c4cc78f8ed9ea6ee0594a9133ccad',
+            'dev_requirement' => false,
+        ),
+        'symfony/deprecation-contracts' => array(
+            'pretty_version' => 'v2.4.0',
+            'version' => '2.4.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
+            'aliases' => array(),
+            'reference' => '5f38c8804a9e97d23e0c8d63341088cd8a22d627',
+            'dev_requirement' => false,
+        ),
+        'symfony/polyfill-mbstring' => array(
+            'pretty_version' => 'v1.23.1',
+            'version' => '1.23.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
+            'aliases' => array(),
+            'reference' => '9174a3d80210dca8daa7f31fec659150bbeabfc6',
+            'dev_requirement' => false,
+        ),
+        'symfony/polyfill-php80' => array(
+            'pretty_version' => 'v1.23.1',
+            'version' => '1.23.1.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../symfony/polyfill-php80',
+            'aliases' => array(),
+            'reference' => '1100343ed1a92e3a38f9ae122fc0eb21602547be',
+            'dev_requirement' => false,
+        ),
+        'symfony/translation' => array(
+            'pretty_version' => 'v5.3.4',
+            'version' => '5.3.4.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../symfony/translation',
+            'aliases' => array(),
+            'reference' => 'd89ad7292932c2699cbe4af98d72c5c6bbc504c1',
+            'dev_requirement' => false,
+        ),
+        'symfony/translation-contracts' => array(
+            'pretty_version' => 'v2.4.0',
+            'version' => '2.4.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../symfony/translation-contracts',
+            'aliases' => array(),
+            'reference' => '95c812666f3e91db75385749fe219c5e494c7f95',
+            'dev_requirement' => false,
+        ),
+        'symfony/translation-implementation' => array(
+            'dev_requirement' => false,
+            'provided' => array(
+                0 => '2.3',
+            ),
+        ),
+        'symfony/var-dumper' => array(
+            'pretty_version' => 'v5.3.6',
+            'version' => '5.3.6.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../symfony/var-dumper',
+            'aliases' => array(),
+            'reference' => '3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0',
+            'dev_requirement' => false,
+        ),
+        'tightenco/collect' => array(
+            'pretty_version' => 'v8.34.0',
+            'version' => '8.34.0.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../tightenco/collect',
+            'aliases' => array(),
+            'reference' => 'b069783ab0c547bb894ebcf8e7f6024bb401f9d2',
+            'dev_requirement' => false,
+        ),
+        'yubico/u2flib-server' => array(
+            'pretty_version' => '1.0.2',
+            'version' => '1.0.2.0',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../yubico/u2flib-server',
+            'aliases' => array(),
+            'reference' => '55d813acf68212ad2cadecde07551600d6971939',
+            'dev_requirement' => false,
+        ),
     ),
-    'bshaffer/oauth2-server-php' => 
-    array (
-      'pretty_version' => 'v1.11.1',
-      'version' => '1.11.1.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '5a0c8000d4763b276919e2106f54eddda6bc50fa',
-    ),
-    'ddeboer/imap' => 
-    array (
-      'pretty_version' => '1.11.0',
-      'version' => '1.11.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'a089dfcb9d177f921eb5dadc8d4144a44dff22ee',
-    ),
-    'exorus/php-mime-mail-parser' => 
-    array (
-      'replaced' => 
-      array (
-        0 => '*',
-      ),
-    ),
-    'matthiasmullie/minify' => 
-    array (
-      'pretty_version' => '1.3.65',
-      'version' => '1.3.65.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '227f19062451c55a797e0cc667ef983834e6580c',
-    ),
-    'matthiasmullie/path-converter' => 
-    array (
-      'pretty_version' => '1.1.3',
-      'version' => '1.1.3.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'e7d13b2c7e2f2268e1424aaed02085518afa02d9',
-    ),
-    'messaged/php-mime-mail-parser' => 
-    array (
-      'replaced' => 
-      array (
-        0 => '*',
-      ),
-    ),
-    'mustangostang/spyc' => 
-    array (
-      'pretty_version' => '0.6.3',
-      'version' => '0.6.3.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '4627c838b16550b666d15aeae1e5289dd5b77da0',
-    ),
-    'paragonie/random_compat' => 
-    array (
-      'pretty_version' => 'v9.99.100',
-      'version' => '9.99.100.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '996434e5492cb4c3edcb9168db6fbb1359ef965a',
-    ),
-    'php-mime-mail-parser/php-mime-mail-parser' => 
-    array (
-      'pretty_version' => '5.0.5',
-      'version' => '5.0.5.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '27983433aabeccee832573c3c56e6a4855e57745',
-    ),
-    'phpmailer/phpmailer' => 
-    array (
-      'pretty_version' => 'v6.2.0',
-      'version' => '6.2.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'e38888a75c070304ca5514197d4847a59a5c853f',
-    ),
-    'robthree/twofactorauth' => 
-    array (
-      'pretty_version' => '1.7.0',
-      'version' => '1.7.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '37983bf675c5baca09d19d6705170489d0df0002',
-    ),
-    'soundasleep/html2text' => 
-    array (
-      'pretty_version' => '0.5.0',
-      'version' => '0.5.0.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => 'cdb89f6ffa2c4cc78f8ed9ea6ee0594a9133ccad',
-    ),
-    'yubico/u2flib-server' => 
-    array (
-      'pretty_version' => '1.0.2',
-      'version' => '1.0.2.0',
-      'aliases' => 
-      array (
-      ),
-      'reference' => '55d813acf68212ad2cadecde07551600d6971939',
-    ),
-  ),
 );
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/platform_check.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/platform_check.php
index 92370c5..580fa96 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/platform_check.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/composer/platform_check.php
@@ -4,8 +4,8 @@
 
 $issues = array();
 
-if (!(PHP_VERSION_ID >= 70300)) {
-    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.';
+if (!(PHP_VERSION_ID >= 70400)) {
+    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
 }
 
 if ($issues) {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/CHANGELOG.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/CHANGELOG.md
deleted file mode 100644
index 4ddae6e..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/CHANGELOG.md
+++ /dev/null
@@ -1,678 +0,0 @@
-# Changelog
-
-## [1.11.0](https://github.com/ddeboer/imap/tree/1.11.0) (2020-11-30)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.10.1...1.11.0)
-
-**Implemented enhancements:**
-
-- PHP 8 Compatibility [\#481](https://github.com/ddeboer/imap/issues/481)
-- \[GA\] PHP 8 compatibility fix [\#483](https://github.com/ddeboer/imap/pull/483) ([Slamdunk](https://github.com/Slamdunk))
-- Support PHP 8.0, require PHP 7.3 [\#482](https://github.com/ddeboer/imap/pull/482) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- Fix: Outlook date format [\#480](https://github.com/ddeboer/imap/pull/480) ([gajosadrian](https://github.com/gajosadrian))
-
-**Closed issues:**
-
-- Closing Connection [\#479](https://github.com/ddeboer/imap/issues/479)
-- Problem with charset of message part / DataPartInfo [\#475](https://github.com/ddeboer/imap/issues/475)
-- Unsupported charset "X-UNKNOWN" [\#425](https://github.com/ddeboer/imap/issues/425)
-
-## [1.10.1](https://github.com/ddeboer/imap/tree/1.10.1) (2020-08-26)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.10.0...1.10.1)
-
-**Fixed bugs:**
-
-- getThread and getMessageSequence not using with the same id [\#469](https://github.com/ddeboer/imap/issues/469)
-- imap\_thread: use absolude ids [\#474](https://github.com/ddeboer/imap/pull/474) ([Slamdunk](https://github.com/Slamdunk))
-
-**Closed issues:**
-
-- How to get a message by Message-ID [\#472](https://github.com/ddeboer/imap/issues/472)
-- Mail with e-sign [\#467](https://github.com/ddeboer/imap/issues/467)
-- Duplicate method definition in MessageInterface [\#455](https://github.com/ddeboer/imap/issues/455)
-- Missed errors in search method [\#444](https://github.com/ddeboer/imap/issues/444)
-
-**Merged pull requests:**
-
-- Subtype not always present [\#473](https://github.com/ddeboer/imap/pull/473) ([Piskvor](https://github.com/Piskvor))
-- Improved error handling for message search method [\#445](https://github.com/ddeboer/imap/pull/445) ([ikarol](https://github.com/ikarol))
-
-## [1.10.0](https://github.com/ddeboer/imap/tree/1.10.0) (2020-01-24)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.9.0...1.10.0)
-
-**Implemented enhancements:**
-
-- Handle comments \(CFWS\) in Date header + not-valid formats [\#439](https://github.com/ddeboer/imap/pull/439) ([pupaxxo](https://github.com/pupaxxo))
-- Support PHP 7.4, require PHP 7.2 [\#433](https://github.com/ddeboer/imap/pull/433) ([Slamdunk](https://github.com/Slamdunk))
-
-**Closed issues:**
-
-- Invalid Date header when trying to fetching date on not RFC compliant emails [\#438](https://github.com/ddeboer/imap/issues/438)
-
-**Merged pull requests:**
-
-- Clear the last used mailbox cache when closing a connection [\#447](https://github.com/ddeboer/imap/pull/447) ([dhzavann](https://github.com/dhzavann))
-- README: update PHP version to match composer.json [\#441](https://github.com/ddeboer/imap/pull/441) ([Slamdunk](https://github.com/Slamdunk))
-- Typo [\#440](https://github.com/ddeboer/imap/pull/440) ([OskarStark](https://github.com/OskarStark))
-
-## [1.9.0](https://github.com/ddeboer/imap/tree/1.9.0) (2019-11-25)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.8.0...1.9.0)
-
-**Implemented enhancements:**
-
-- Quota: let's also test the numbers [\#431](https://github.com/ddeboer/imap/pull/431) ([Slamdunk](https://github.com/Slamdunk))
-- Add getQuota method using imap\_get\_quotaroot to Connection class [\#430](https://github.com/ddeboer/imap/pull/430) ([arkadiusjonczek](https://github.com/arkadiusjonczek))
-
-**Closed issues:**
-
-- markAsSeen\(\)  not work [\#415](https://github.com/ddeboer/imap/issues/415)
-
-**Merged pull requests:**
-
-- CS Fix: strip redundant php docs [\#428](https://github.com/ddeboer/imap/pull/428) ([Slamdunk](https://github.com/Slamdunk))
-- Fix: Variable name [\#412](https://github.com/ddeboer/imap/pull/412) ([localheinz](https://github.com/localheinz))
-
-## [1.8.0](https://github.com/ddeboer/imap/tree/1.8.0) (2019-04-15)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.7.2...1.8.0)
-
-**Implemented enhancements:**
-
-- Add phpstan-strict-rules, expose PartiInterface::getDescription\(\) [\#409](https://github.com/ddeboer/imap/pull/409) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.7.2](https://github.com/ddeboer/imap/tree/1.7.2) (2019-04-12)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.7.1...1.7.2)
-
-**Fixed bugs:**
-
-- Handle message/rfc822 when content-disposition is missing [\#410](https://github.com/ddeboer/imap/pull/410) ([Daredzik](https://github.com/Daredzik))
-
-## [1.7.1](https://github.com/ddeboer/imap/tree/1.7.1) (2019-03-18)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.7.0...1.7.1)
-
-**Fixed bugs:**
-
-- Encoding problem with 1.7 [\#405](https://github.com/ddeboer/imap/issues/405)
-- imap\_search/imap\_sort: default params must not be passed if unspecified [\#406](https://github.com/ddeboer/imap/pull/406) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.7.0](https://github.com/ddeboer/imap/tree/1.7.0) (2019-03-04)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.6.0...1.7.0)
-
-**Implemented enhancements:**
-
-- Docker and Travis differs in handling new message eols [\#404](https://github.com/ddeboer/imap/pull/404) ([Slamdunk](https://github.com/Slamdunk))
-- Update PHP-CS-Fixer rules [\#403](https://github.com/ddeboer/imap/pull/403) ([Slamdunk](https://github.com/Slamdunk))
-- Add charset for imap\_search or imap\_sort [\#402](https://github.com/ddeboer/imap/pull/402) ([Slamdunk](https://github.com/Slamdunk))
-- PHPStan clean ups [\#400](https://github.com/ddeboer/imap/pull/400) ([Slamdunk](https://github.com/Slamdunk))
-- Adding an undelete\(\) message method [\#386](https://github.com/ddeboer/imap/pull/386) ([C-Duv](https://github.com/C-Duv))
-
-**Closed issues:**
-
-- Convert from GBK \(X-GBK\) to UTF-8 Issue [\#395](https://github.com/ddeboer/imap/issues/395)
-
-**Merged pull requests:**
-
-- Add new ResourceCheckFailureException to handle imap\_check\(\) false [\#399](https://github.com/ddeboer/imap/pull/399) ([pyatnitsev](https://github.com/pyatnitsev))
-- Remove GBK -\> X-GBK Alias and add X-GBK -\> GBK [\#396](https://github.com/ddeboer/imap/pull/396) ([pyatnitsev](https://github.com/pyatnitsev))
-- Add Feature Requests to README.md [\#394](https://github.com/ddeboer/imap/pull/394) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.6.0](https://github.com/ddeboer/imap/tree/1.6.0) (2018-12-04)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.5.5...1.6.0)
-
-**Implemented enhancements:**
-
-- Require PHP ^7.1 [\#257](https://github.com/ddeboer/imap/issues/257)
-- Require PHP ^7.1 [\#383](https://github.com/ddeboer/imap/pull/383) ([Slamdunk](https://github.com/Slamdunk))
-- Add ability to pass options and retries to imap\_open [\#382](https://github.com/ddeboer/imap/pull/382) ([Slamdunk](https://github.com/Slamdunk))
-- Docker setup for running tests [\#374](https://github.com/ddeboer/imap/pull/374) ([LeadTechVisas](https://github.com/LeadTechVisas))
-- Get messages by UID sequence [\#373](https://github.com/ddeboer/imap/pull/373) ([LeadTechVisas](https://github.com/LeadTechVisas))
-
-**Fixed bugs:**
-
-- Undeliverable mail: attachment parsing error [\#334](https://github.com/ddeboer/imap/issues/334)
-- imap\_getmailboxes returns false; [\#134](https://github.com/ddeboer/imap/issues/134)
-- Fix mailbox name as only numbers [\#381](https://github.com/ddeboer/imap/pull/381) ([Slamdunk](https://github.com/Slamdunk))
-- Gracefully handle possible non-array return value of imap\_getmailboxes [\#372](https://github.com/ddeboer/imap/pull/372) ([Slamdunk](https://github.com/Slamdunk))
-
-**Closed issues:**
-
-- \[AUTHENTICATIONFAILED\] Authentication failed - Too many login failures [\#368](https://github.com/ddeboer/imap/issues/368)
-- last folder in list [\#353](https://github.com/ddeboer/imap/issues/353)
-- Caching IMAP server connections [\#88](https://github.com/ddeboer/imap/issues/88)
-
-## [1.5.5](https://github.com/ddeboer/imap/tree/1.5.5) (2018-08-21)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.5.4...1.5.5)
-
-**Fixed bugs:**
-
-- Plain text attachments are not identified as Attachment parts [\#341](https://github.com/ddeboer/imap/issues/341)
-- Handle plain/text attachments without Content-Type header [\#367](https://github.com/ddeboer/imap/pull/367) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.5.4](https://github.com/ddeboer/imap/tree/1.5.4) (2018-08-19)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.5.3...1.5.4)
-
-**Fixed bugs:**
-
-- Very long filename, result of getFilename\(\) = NULL? [\#365](https://github.com/ddeboer/imap/issues/365)
-- Support RFC2231 attachment filenames [\#366](https://github.com/ddeboer/imap/pull/366) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.5.3](https://github.com/ddeboer/imap/tree/1.5.3) (2018-07-20)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.5.2...1.5.3)
-
-**Fixed bugs:**
-
-- Dates: handle UT timezone [\#361](https://github.com/ddeboer/imap/pull/361) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.5.2](https://github.com/ddeboer/imap/tree/1.5.2) (2018-07-10)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.5.1...1.5.2)
-
-**Fixed bugs:**
-
-- Fails to load Message Headers [\#358](https://github.com/ddeboer/imap/issues/358)
-- Handle invalid headers [\#359](https://github.com/ddeboer/imap/pull/359) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.5.1](https://github.com/ddeboer/imap/tree/1.5.1) (2018-05-04)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.5.0...1.5.1)
-
-**Fixed bugs:**
-
-- getContent\(\) method returns wrong content part [\#342](https://github.com/ddeboer/imap/issues/342)
-- Fix handle of attachment messages with attachments [\#343](https://github.com/ddeboer/imap/pull/343) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.5.0](https://github.com/ddeboer/imap/tree/1.5.0) (2018-03-26)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.4.1...1.5.0)
-
-**Implemented enhancements:**
-
-- ImapResource: cache last opened mailbox [\#328](https://github.com/ddeboer/imap/pull/328) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- AbstractPart::isAttachment\(\) handle unknown part type [\#302](https://github.com/ddeboer/imap/pull/302) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.4.1](https://github.com/ddeboer/imap/tree/1.4.1) (2018-03-22)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.4.0...1.4.1)
-
-**Fixed bugs:**
-
-- Return value of Ddeboer\\Imap\\Message\\AbstractPart::getDecodedContent\(\) must be of the type string, boolean returned [\#284](https://github.com/ddeboer/imap/issues/284)
-- base64\_decode may return false in PHP \< 7.1 [\#324](https://github.com/ddeboer/imap/pull/324) ([Slamdunk](https://github.com/Slamdunk))
-
-**Merged pull requests:**
-
-- Add entry in README about Mailbox::addMessage [\#325](https://github.com/ddeboer/imap/pull/325) ([soywod](https://github.com/soywod))
-
-## [1.4.0](https://github.com/ddeboer/imap/tree/1.4.0) (2018-03-19)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.3.1...1.4.0)
-
-**Implemented enhancements:**
-
-- Lazy load Message [\#320](https://github.com/ddeboer/imap/pull/320) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- Invalid argument supplied for foreach\(\) in Parameters.php line 52 [\#317](https://github.com/ddeboer/imap/issues/317)
-- Message "11964" does not exist: imap\_fetchstructure\(\): Bad message number [\#310](https://github.com/ddeboer/imap/issues/310)
-- imap\_mime\_header\_decode may return false [\#322](https://github.com/ddeboer/imap/pull/322) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.3.1](https://github.com/ddeboer/imap/tree/1.3.1) (2018-03-09)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.3.0...1.3.1)
-
-**Implemented enhancements:**
-
-- Allow empty port [\#312](https://github.com/ddeboer/imap/pull/312) ([Slamdunk](https://github.com/Slamdunk))
-
-**Closed issues:**
-
-- getServerString\(\) with no port [\#311](https://github.com/ddeboer/imap/issues/311)
-
-## [1.3.0](https://github.com/ddeboer/imap/tree/1.3.0) (2018-02-28)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.2.3...1.3.0)
-
-**Implemented enhancements:**
-
-- Implement bulk-move [\#306](https://github.com/ddeboer/imap/pull/306) ([particleflux](https://github.com/particleflux))
-
-**Closed issues:**
-
-- feature: Bulk move [\#305](https://github.com/ddeboer/imap/issues/305)
-
-**Merged pull requests:**
-
-- README.md: add `Unknown search criterion: OR` note [\#304](https://github.com/ddeboer/imap/pull/304) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.2.3](https://github.com/ddeboer/imap/tree/1.2.3) (2018-02-09)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.2.2...1.2.3)
-
-**Fixed bugs:**
-
-- $part-\>type can be 9 [\#301](https://github.com/ddeboer/imap/issues/301)
-
-**Merged pull requests:**
-
-- README.md: code-coverage has higher priority than Scrutinizer [\#300](https://github.com/ddeboer/imap/pull/300) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.2.2](https://github.com/ddeboer/imap/tree/1.2.2) (2018-02-05)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.2.1...1.2.2)
-
-**Implemented enhancements:**
-
-- Allow PHPUnit ^7.0 [\#296](https://github.com/ddeboer/imap/pull/296) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- Attachment-\>getFilename return null [\#297](https://github.com/ddeboer/imap/issues/297)
-- Don't handle multiplart as an attachment [\#298](https://github.com/ddeboer/imap/pull/298) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.2.1](https://github.com/ddeboer/imap/tree/1.2.1) (2018-01-29)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.2.0...1.2.1)
-
-**Implemented enhancements:**
-
-- Introduce strict comparison [\#289](https://github.com/ddeboer/imap/pull/289) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- Invalid Date header found: "Thur, 04 Jan 2018 06:44:23 +0400" [\#293](https://github.com/ddeboer/imap/issues/293)
-- MessageIterator::current\(\) fails when there are no messages [\#288](https://github.com/ddeboer/imap/issues/288)
-- Remove weekday while parsing date header [\#294](https://github.com/ddeboer/imap/pull/294) ([Slamdunk](https://github.com/Slamdunk))
-- MessageIterator: forbid raw calls [\#290](https://github.com/ddeboer/imap/pull/290) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.2.0](https://github.com/ddeboer/imap/tree/1.2.0) (2018-01-15)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.1.2...1.2.0)
-
-**Implemented enhancements:**
-
-- Make imap\_append\(\) optional arguments reachable [\#280](https://github.com/ddeboer/imap/pull/280) ([Slamdunk](https://github.com/Slamdunk))
-- PHPStan: introduce static analysis [\#276](https://github.com/ddeboer/imap/pull/276) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- getAttachments\(\) problem when mixin inline and attachment [\#281](https://github.com/ddeboer/imap/issues/281)
-- UnexpectedEncodingException: Cannot decode "5" [\#278](https://github.com/ddeboer/imap/issues/278)
-- Handle correctly multiple nested attachments [\#283](https://github.com/ddeboer/imap/pull/283) ([Slamdunk](https://github.com/Slamdunk))
-- Manageable UnexpectedEncodingException [\#282](https://github.com/ddeboer/imap/pull/282) ([Slamdunk](https://github.com/Slamdunk))
-
-**Closed issues:**
-
-- Appending mail with options [\#279](https://github.com/ddeboer/imap/issues/279)
-
-## [1.1.2](https://github.com/ddeboer/imap/tree/1.1.2) (2017-12-12)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.1.1...1.1.2)
-
-**Fixed bugs:**
-
-- Unsupported charset "134": mb\_convert\_encoding\(\): Illegal character encoding specified [\#270](https://github.com/ddeboer/imap/issues/270)
-- Support Microsoft charset values [\#271](https://github.com/ddeboer/imap/pull/271) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.1.1](https://github.com/ddeboer/imap/tree/1.1.1) (2017-11-10)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.1.0...1.1.1)
-
-**Implemented enhancements:**
-
-- Transcoder: expand charset aliases list [\#267](https://github.com/ddeboer/imap/pull/267) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- Charset aliases: fix to lowercase search [\#266](https://github.com/ddeboer/imap/pull/266) ([Slamdunk](https://github.com/Slamdunk))
-
-**Merged pull requests:**
-
-- README.md: add timeout note [\#263](https://github.com/ddeboer/imap/pull/263) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.1.0](https://github.com/ddeboer/imap/tree/1.1.0) (2017-11-06)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.8...1.1.0)
-
-**Implemented enhancements:**
-
-- Deprecate MessageInterface::maskAsSeen\(\) in favour of MessageInterface::markAsSeen\(\) [\#255](https://github.com/ddeboer/imap/pull/255) ([Slamdunk](https://github.com/Slamdunk))
-- Lazy load structured Headers [\#250](https://github.com/ddeboer/imap/pull/250) ([Slamdunk](https://github.com/Slamdunk))
-- Implement imap\_thread [\#249](https://github.com/ddeboer/imap/pull/249) ([Slamdunk](https://github.com/Slamdunk))
-- Require ext-iconv [\#248](https://github.com/ddeboer/imap/pull/248) ([Slamdunk](https://github.com/Slamdunk))
-- Message Part: expose $partNumber [\#244](https://github.com/ddeboer/imap/pull/244) ([wujku](https://github.com/wujku))
-- Add Mockability helpers and documentation [\#236](https://github.com/ddeboer/imap/pull/236) ([Slamdunk](https://github.com/Slamdunk))
-- Add missing interface change for \#225 [\#233](https://github.com/ddeboer/imap/pull/233) ([Slamdunk](https://github.com/Slamdunk))
-- Connection: check if the connection is still active with `imap\_ping` [\#232](https://github.com/ddeboer/imap/pull/232) ([wujku](https://github.com/wujku))
-- Message: add `References` and `In-Reply-To` headers shortcuts [\#230](https://github.com/ddeboer/imap/pull/230) ([wujku](https://github.com/wujku))
-- Added bulk set / clear flags functionality for mailbox messages [\#225](https://github.com/ddeboer/imap/pull/225) ([wujku](https://github.com/wujku))
-
-**Merged pull requests:**
-
-- make docs more obvious [\#252](https://github.com/ddeboer/imap/pull/252) ([lgg](https://github.com/lgg))
-- README.md: add Table of Contents with Travis checker [\#234](https://github.com/ddeboer/imap/pull/234) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.8](https://github.com/ddeboer/imap/tree/1.0.8) (2017-10-27)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.7...1.0.8)
-
-**Implemented enhancements:**
-
-- Headers: no catchable exception [\#246](https://github.com/ddeboer/imap/issues/246)
-- imap\_thread [\#113](https://github.com/ddeboer/imap/issues/113)
-
-**Fixed bugs:**
-
-- \[TypeError\] Return value of Ddeboer\Imap\Message\AbstractMessage::getId\(\) must be of the type string, null returned [\#253](https://github.com/ddeboer/imap/issues/253)
-- BasicMessageInterface::getId\(\) can be null [\#254](https://github.com/ddeboer/imap/pull/254) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.7](https://github.com/ddeboer/imap/tree/1.0.7) (2017-10-16)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.6...1.0.7)
-
-**Fixed bugs:**
-
-- Problem with a IMAP resource stream [\#245](https://github.com/ddeboer/imap/issues/245)
-- IMAP resource must be checked at every call for mailbox context [\#247](https://github.com/ddeboer/imap/pull/247) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.6](https://github.com/ddeboer/imap/tree/1.0.6) (2017-10-12)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.5...1.0.6)
-
-**Fixed bugs:**
-
-- \[TypeError\] Return value of AbstractMessage::getFrom\(\) must be an instance of EmailAddress, null returned [\#241](https://github.com/ddeboer/imap/issues/241)
-- Message: Date header can be absent [\#243](https://github.com/ddeboer/imap/pull/243) ([Slamdunk](https://github.com/Slamdunk))
-- Message: From header can be absent [\#242](https://github.com/ddeboer/imap/pull/242) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.5](https://github.com/ddeboer/imap/tree/1.0.5) (2017-10-12)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.4...1.0.5)
-
-**Fixed bugs:**
-
-- Use set\_error\_handler with late exception [\#240](https://github.com/ddeboer/imap/pull/240) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.4](https://github.com/ddeboer/imap/tree/1.0.4) (2017-10-11)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.3...1.0.4)
-
-**Implemented enhancements:**
-
-- Avoid \(set|restor\)\_error\_handler [\#239](https://github.com/ddeboer/imap/pull/239) ([Slamdunk](https://github.com/Slamdunk))
-
-**Fixed bugs:**
-
-- Current Transcoder class does not support all charsets.  [\#237](https://github.com/ddeboer/imap/issues/237)
-- Relay also iconv during decoding [\#238](https://github.com/ddeboer/imap/pull/238) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.3](https://github.com/ddeboer/imap/tree/1.0.3) (2017-10-11)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.2...1.0.3)
-
-**Fixed bugs:**
-
-- Attachment::getFilename\(\) may be null on inline-att, widen return type [\#235](https://github.com/ddeboer/imap/pull/235) ([wujku](https://github.com/wujku))
-
-## [1.0.2](https://github.com/ddeboer/imap/tree/1.0.2) (2017-10-06)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.1...1.0.2)
-
-**Fixed bugs:**
-
-- Issue with saving XML attachments [\#228](https://github.com/ddeboer/imap/issues/228)
-- Do not charset-decode attachments [\#231](https://github.com/ddeboer/imap/pull/231) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.1](https://github.com/ddeboer/imap/tree/1.0.1) (2017-10-05)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/1.0.0...1.0.1)
-
-**Fixed bugs:**
-
-- Error with attachment charset [\#226](https://github.com/ddeboer/imap/issues/226)
-- If charset is not specified defaults to "us-ascii" [\#227](https://github.com/ddeboer/imap/pull/227) ([Slamdunk](https://github.com/Slamdunk))
-
-## [1.0.0](https://github.com/ddeboer/imap/tree/1.0.0) (2017-10-04)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.5.2...1.0.0)
-
-**Implemented enhancements:**
-
-- Need getAll for headers [\#200](https://github.com/ddeboer/imap/issues/200)
-- Tests: implement @covers to avoid false positive on code-coverage [\#188](https://github.com/ddeboer/imap/issues/188)
-- Remove commented code [\#174](https://github.com/ddeboer/imap/issues/174)
-- Regex in SearchExpressions [\#157](https://github.com/ddeboer/imap/issues/157)
-- How do I get unread messages count? [\#98](https://github.com/ddeboer/imap/issues/98)
-- Add mocking ability through Interfaces [\#221](https://github.com/ddeboer/imap/pull/221) ([Slamdunk](https://github.com/Slamdunk))
-- Wrap imap resource to periodically check its status [\#220](https://github.com/ddeboer/imap/pull/220) ([Slamdunk](https://github.com/Slamdunk))
-- Add more coding-standard rules [\#218](https://github.com/ddeboer/imap/pull/218) ([Slamdunk](https://github.com/Slamdunk))
-- Always keep unseen: remove keepUnseen, add markAsSeen [\#217](https://github.com/ddeboer/imap/pull/217) ([Slamdunk](https://github.com/Slamdunk))
-- Embedded messages: refactor \#106 [\#216](https://github.com/ddeboer/imap/pull/216) ([Slamdunk](https://github.com/Slamdunk))
-- Headers now extends \ArrayIterator [\#215](https://github.com/ddeboer/imap/pull/215) ([Slamdunk](https://github.com/Slamdunk))
-- Implement imap\_mail\_copy [\#214](https://github.com/ddeboer/imap/pull/214) ([Slamdunk](https://github.com/Slamdunk))
-- Imap sort [\#213](https://github.com/ddeboer/imap/pull/213) ([Slamdunk](https://github.com/Slamdunk))
-- Increased code-coverage [\#211](https://github.com/ddeboer/imap/pull/211) ([Slamdunk](https://github.com/Slamdunk))
-- Update to PHPUnit ^6.2 [\#209](https://github.com/ddeboer/imap/pull/209) ([Slamdunk](https://github.com/Slamdunk))
-- Use specific exceptions to ease user catches [\#208](https://github.com/ddeboer/imap/pull/208) ([Slamdunk](https://github.com/Slamdunk))
-- Wrap Exception on invalid Date header [\#205](https://github.com/ddeboer/imap/pull/205) ([Slamdunk](https://github.com/Slamdunk))
-- Add tests for \#144 set flags functionalities [\#203](https://github.com/ddeboer/imap/pull/203) ([Slamdunk](https://github.com/Slamdunk))
-- Add imap\_fetchheader\(\) functionality to get raw headers [\#202](https://github.com/ddeboer/imap/pull/202) ([Slamdunk](https://github.com/Slamdunk))
-- Parse all email type headers [\#199](https://github.com/ddeboer/imap/pull/199) ([Slamdunk](https://github.com/Slamdunk))
-- Test search conditions [\#198](https://github.com/ddeboer/imap/pull/198) ([Slamdunk](https://github.com/Slamdunk))
-- Mailbox: get status [\#192](https://github.com/ddeboer/imap/pull/192) ([Slamdunk](https://github.com/Slamdunk))
-- SearchExpression is a Search\ConditionInterface [\#191](https://github.com/ddeboer/imap/pull/191) ([Slamdunk](https://github.com/Slamdunk))
-- SearchCondition: \_\_toString\(\) -\> toString\(\) [\#187](https://github.com/ddeboer/imap/pull/187) ([Slamdunk](https://github.com/Slamdunk))
-- Retain imap\_getmailboxes\(\) results [\#184](https://github.com/ddeboer/imap/pull/184) ([Slamdunk](https://github.com/Slamdunk))
-- Add type hints and return types [\#183](https://github.com/ddeboer/imap/pull/183) ([Slamdunk](https://github.com/Slamdunk))
-- Exception: increase verbosity with imap\_alerts\(\) and imap\_errors\(\) [\#182](https://github.com/ddeboer/imap/pull/182) ([Slamdunk](https://github.com/Slamdunk))
-- Add coding-standards [\#181](https://github.com/ddeboer/imap/pull/181) ([Slamdunk](https://github.com/Slamdunk))
-- Travis: re-enable code-coverage on scrutinizer [\#177](https://github.com/ddeboer/imap/pull/177) ([Slamdunk](https://github.com/Slamdunk))
-- Add .gitattributes to remove from releases unneded files [\#173](https://github.com/ddeboer/imap/pull/173) ([Slamdunk](https://github.com/Slamdunk))
-- Travis: use local Dovecot installation [\#170](https://github.com/ddeboer/imap/pull/170) ([Slamdunk](https://github.com/Slamdunk))
-- Need all Headers in string format [\#149](https://github.com/ddeboer/imap/pull/149) ([FlashWS](https://github.com/FlashWS))
-- Get raw mail [\#146](https://github.com/ddeboer/imap/pull/146) ([styxit](https://github.com/styxit))
-- add getBcc\(\), Set, Clear Flag\(\Seen, \Answered, \Flagged, \Deleted, and \Draft\), getHeadersRaw\(\) [\#144](https://github.com/ddeboer/imap/pull/144) ([trungpv93](https://github.com/trungpv93))
-
-**Fixed bugs:**
-
-- Search\Condition needs charset escaping/indication [\#190](https://github.com/ddeboer/imap/issues/190)
-- imap\_utf7\_\(encode|decode\) -\> mb\_convert\_encoding [\#185](https://github.com/ddeboer/imap/issues/185)
-- España [\#176](https://github.com/ddeboer/imap/issues/176)
-- getHeaders\(\) decode broke information [\#171](https://github.com/ddeboer/imap/issues/171)
-- Date format for date search condition [\#168](https://github.com/ddeboer/imap/issues/168)
-- Error when trying fetch messages from container [\#167](https://github.com/ddeboer/imap/issues/167)
-- Attachment encoding error [\#158](https://github.com/ddeboer/imap/issues/158)
-- getFilename\(\) is empty and no attachment, even when there is an attachment. [\#142](https://github.com/ddeboer/imap/issues/142)
-- Encoding issues [\#136](https://github.com/ddeboer/imap/issues/136)
-- URGENT: The timezone could not be found in the database [\#135](https://github.com/ddeboer/imap/issues/135)
-- Incorrect transcoding of text attachments [\#132](https://github.com/ddeboer/imap/issues/132)
-- Undefined offset  [\#123](https://github.com/ddeboer/imap/issues/123)
-- ICS file not supported as attachment [\#120](https://github.com/ddeboer/imap/issues/120)
-- Should iconv be a requirement? [\#115](https://github.com/ddeboer/imap/issues/115)
-- KeepUnseen doen't work [\#92](https://github.com/ddeboer/imap/issues/92)
-- PHP Fatal error Failed to parse time string in ddeboer/imap/src/Message.php [\#89](https://github.com/ddeboer/imap/issues/89)
-- encoding issue [\#85](https://github.com/ddeboer/imap/issues/85)
-- keepUnseen not working correctly with Hotmail [\#84](https://github.com/ddeboer/imap/issues/84)
-- Iconv Exception [\#78](https://github.com/ddeboer/imap/issues/78)
-- $message-\>getAttachments\(\) doesn't recognize some attachments [\#74](https://github.com/ddeboer/imap/issues/74)
-- Message::move\(\) doesn't work. [\#73](https://github.com/ddeboer/imap/issues/73)
-- Message\Part: part number must distinguish original message [\#223](https://github.com/ddeboer/imap/pull/223) ([Slamdunk](https://github.com/Slamdunk))
-- Recursive Embedded email body bug [\#222](https://github.com/ddeboer/imap/pull/222) ([Slamdunk](https://github.com/Slamdunk))
-- Exclude HTML from allowed attachment subtype [\#212](https://github.com/ddeboer/imap/pull/212) ([Slamdunk](https://github.com/Slamdunk))
-- Fix imap\_mail\_move behaviour and test it [\#207](https://github.com/ddeboer/imap/pull/207) ([Slamdunk](https://github.com/Slamdunk))
-- Undefined encoding: throw exception [\#197](https://github.com/ddeboer/imap/pull/197) ([Slamdunk](https://github.com/Slamdunk))
-- Message charset: mb\_convert\_encoding + aliases [\#196](https://github.com/ddeboer/imap/pull/196) ([Slamdunk](https://github.com/Slamdunk))
-- Mailbox: only UTF-8 names [\#193](https://github.com/ddeboer/imap/pull/193) ([Slamdunk](https://github.com/Slamdunk))
-- Search\Date\AbstractDate: fix format to RFC-3501 [\#189](https://github.com/ddeboer/imap/pull/189) ([Slamdunk](https://github.com/Slamdunk))
-- Travis: fix failing tests [\#172](https://github.com/ddeboer/imap/pull/172) ([Slamdunk](https://github.com/Slamdunk))
-- Return body of single-part HTML message as HTML, not text [\#101](https://github.com/ddeboer/imap/pull/101) ([joker806](https://github.com/joker806))
-- Implement "undisclosed recipients" addresses [\#86](https://github.com/ddeboer/imap/pull/86) ([darit](https://github.com/darit))
-
-**Closed issues:**
-
-- Potential memory issue with attachments [\#195](https://github.com/ddeboer/imap/issues/195)
-- Explain Message::delete [\#175](https://github.com/ddeboer/imap/issues/175)
-- Get raw message [\#161](https://github.com/ddeboer/imap/issues/161)
-- Composer install problem [\#160](https://github.com/ddeboer/imap/issues/160)
-- Transcoder not exist [\#154](https://github.com/ddeboer/imap/issues/154)
-- The library doesn't support using sort by [\#151](https://github.com/ddeboer/imap/issues/151)
-- Office 365 - Array to string conversion error [\#131](https://github.com/ddeboer/imap/issues/131)
-- Is there a method to turn a seen message into an "unseen" one ? [\#130](https://github.com/ddeboer/imap/issues/130)
-- Create mailbox [\#126](https://github.com/ddeboer/imap/issues/126)
-- Move and Delete Message not working [\#112](https://github.com/ddeboer/imap/issues/112)
-- Problem on production server [\#111](https://github.com/ddeboer/imap/issues/111)
-- Authentication failed for a Gmail account [\#109](https://github.com/ddeboer/imap/issues/109)
-- A method to run IMAP commands? [\#83](https://github.com/ddeboer/imap/issues/83)
-
-**Merged pull requests:**
-
-- Update README.md to latest develop changes [\#224](https://github.com/ddeboer/imap/pull/224) ([Slamdunk](https://github.com/Slamdunk))
-- Add Filippo Tessarotto as an author of the package [\#219](https://github.com/ddeboer/imap/pull/219) ([Slamdunk](https://github.com/Slamdunk))
-- README.md: call Connection::expunge after move and delete [\#210](https://github.com/ddeboer/imap/pull/210) ([Slamdunk](https://github.com/Slamdunk))
-- Remove misleading Mailbox::expunge\(\) [\#206](https://github.com/ddeboer/imap/pull/206) ([Slamdunk](https://github.com/Slamdunk))
-- Add CHANGELOG.md [\#194](https://github.com/ddeboer/imap/pull/194) ([Slamdunk](https://github.com/Slamdunk))
-- README.md updates [\#178](https://github.com/ddeboer/imap/pull/178) ([Slamdunk](https://github.com/Slamdunk))
-
-## [0.5.2](https://github.com/ddeboer/imap/tree/0.5.2) (2015-12-03)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.5.1...0.5.2)
-
-**Closed issues:**
-
-- $message-\>getAttachments\(\) returns null if message has no attachments [\#80](https://github.com/ddeboer/imap/issues/80)
-- Email objects visibility [\#76](https://github.com/ddeboer/imap/issues/76)
-
-**Merged pull requests:**
-
-- Fixed the keepUnseen method [\#95](https://github.com/ddeboer/imap/pull/95) ([aeyoll](https://github.com/aeyoll))
-- Mark Mailbox as countable, fix doc comments [\#91](https://github.com/ddeboer/imap/pull/91) ([krzysiekpiasecki](https://github.com/krzysiekpiasecki))
-- Message::getAttachments confirm to signature [\#82](https://github.com/ddeboer/imap/pull/82) ([boekkooi](https://github.com/boekkooi))
-- Added hasMailbox to Connection [\#81](https://github.com/ddeboer/imap/pull/81) ([boekkooi](https://github.com/boekkooi))
-- Make sure imap connection are reopened [\#79](https://github.com/ddeboer/imap/pull/79) ([joserobleda](https://github.com/joserobleda))
-
-## [0.5.1](https://github.com/ddeboer/imap/tree/0.5.1) (2015-02-01)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.5.0...0.5.1)
-
-**Closed issues:**
-
-- imap\_open error  [\#72](https://github.com/ddeboer/imap/issues/72)
-- $message-\>getAttachments\(\) does not return anything, even though a message has at least one attachment [\#71](https://github.com/ddeboer/imap/issues/71)
-- Prepare docs for 1.0 [\#69](https://github.com/ddeboer/imap/issues/69)
-- "date" header is not reliable [\#63](https://github.com/ddeboer/imap/issues/63)
-- File Attachments don't show up [\#55](https://github.com/ddeboer/imap/issues/55)
-
-**Merged pull requests:**
-
-- Add support for attachments without content disposition [\#70](https://github.com/ddeboer/imap/pull/70) ([ddeboer](https://github.com/ddeboer))
-
-## [0.5.0](https://github.com/ddeboer/imap/tree/0.5.0) (2015-01-24)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.4.0...0.5.0)
-
-**Closed issues:**
-
-- Use utf8\_encode\(\) function to encode content [\#66](https://github.com/ddeboer/imap/issues/66)
-- Please add function order by date [\#59](https://github.com/ddeboer/imap/issues/59)
-- mb\_convert\_encoding breaks code [\#57](https://github.com/ddeboer/imap/issues/57)
-- How get I getMessages but newest first ... [\#11](https://github.com/ddeboer/imap/issues/11)
-
-## [0.4.0](https://github.com/ddeboer/imap/tree/0.4.0) (2015-01-04)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.3.1...0.4.0)
-
-**Closed issues:**
-
-- Please add 6th parameter to imap\_open call [\#62](https://github.com/ddeboer/imap/issues/62)
-- Should Message::delete\(\) use the Message UID? [\#46](https://github.com/ddeboer/imap/issues/46)
-- mb\_convert\_encoding\(\): Illegal character encoding specified [\#35](https://github.com/ddeboer/imap/issues/35)
-- Deleting a message isn't working [\#30](https://github.com/ddeboer/imap/issues/30)
-- imap\_header doesn't work with message uid [\#26](https://github.com/ddeboer/imap/issues/26)
-
-**Merged pull requests:**
-
-- Added basic requirement [\#61](https://github.com/ddeboer/imap/pull/61) ([nikoskip](https://github.com/nikoskip))
-- FIX: PHP error: "Cannot declare class Ddeboer\Imap\Search\Text\Text ..." [\#58](https://github.com/ddeboer/imap/pull/58) ([racztiborzoltan](https://github.com/racztiborzoltan))
-- Message::delete sets the FT\_UID flag.  Fixes \#30 Fixes \#46 [\#54](https://github.com/ddeboer/imap/pull/54) ([ctalbot](https://github.com/ctalbot))
-- Allow binary-encoded part content [\#48](https://github.com/ddeboer/imap/pull/48) ([joker806](https://github.com/joker806))
-- Fix CS [\#47](https://github.com/ddeboer/imap/pull/47) ([xelan](https://github.com/xelan))
-- fixed typo [\#45](https://github.com/ddeboer/imap/pull/45) ([xelan](https://github.com/xelan))
-
-## [0.3.1](https://github.com/ddeboer/imap/tree/0.3.1) (2014-08-11)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.3.0...0.3.1)
-
-**Merged pull requests:**
-
-- \imap\_header dosen't work with UID [\#44](https://github.com/ddeboer/imap/pull/44) ([ysramirez](https://github.com/ysramirez))
-
-## [0.3.0](https://github.com/ddeboer/imap/tree/0.3.0) (2014-08-10)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.2...0.3.0)
-
-**Closed issues:**
-
-- please remove useless wiki [\#42](https://github.com/ddeboer/imap/issues/42)
-- Travis tests allways fail? [\#40](https://github.com/ddeboer/imap/issues/40)
-- Garbled e-mail body encoding [\#27](https://github.com/ddeboer/imap/issues/27)
-- Improve docs [\#25](https://github.com/ddeboer/imap/issues/25)
-- "undisclosed-recipients" throws error [\#23](https://github.com/ddeboer/imap/issues/23)
-
-**Merged pull requests:**
-
-- correct minor typo [\#43](https://github.com/ddeboer/imap/pull/43) ([cordoval](https://github.com/cordoval))
-- Utf-8 encode body content. [\#39](https://github.com/ddeboer/imap/pull/39) ([cmoralesweb](https://github.com/cmoralesweb))
-- Fix regex parsing the date header \(allowing multiple brackets\) [\#38](https://github.com/ddeboer/imap/pull/38) ([joker806](https://github.com/joker806))
-- Allow empty connection flags [\#34](https://github.com/ddeboer/imap/pull/34) ([joker806](https://github.com/joker806))
-- Fixed typo [\#32](https://github.com/ddeboer/imap/pull/32) ([abhinavkumar940](https://github.com/abhinavkumar940))
-
-## [0.2](https://github.com/ddeboer/imap/tree/0.2) (2013-11-24)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/0.1...0.2)
-
-## [0.1](https://github.com/ddeboer/imap/tree/0.1) (2013-11-22)
-
-[Full Changelog](https://github.com/ddeboer/imap/compare/c02d49cdb9246901bb00d211a0f2aba208f6fab6...0.1)
-
-**Closed issues:**
-
-- Prevent setting SEEN flag [\#20](https://github.com/ddeboer/imap/issues/20)
-- Add tests [\#18](https://github.com/ddeboer/imap/issues/18)
-- delete messages [\#9](https://github.com/ddeboer/imap/issues/9)
-- README is missing basic usage [\#7](https://github.com/ddeboer/imap/issues/7)
-- Subject and other texts are decoded incorrectly  [\#3](https://github.com/ddeboer/imap/issues/3)
-
-**Merged pull requests:**
-
-- also fetch inline attachments [\#24](https://github.com/ddeboer/imap/pull/24) ([kaiserlos](https://github.com/kaiserlos))
-- since leading slash is always needed [\#22](https://github.com/ddeboer/imap/pull/22) ([huglester](https://github.com/huglester))
-- Added missed createMailbox\($name\) function [\#19](https://github.com/ddeboer/imap/pull/19) ([burci](https://github.com/burci))
-- Added move and delete function to message + expunge function [\#17](https://github.com/ddeboer/imap/pull/17) ([burci](https://github.com/burci))
-- Clean up some unused variable [\#16](https://github.com/ddeboer/imap/pull/16) ([burci](https://github.com/burci))
-- Fixed mailbox encoding [\#15](https://github.com/ddeboer/imap/pull/15) ([burci](https://github.com/burci))
-- Create new mailbox [\#14](https://github.com/ddeboer/imap/pull/14) ([burci](https://github.com/burci))
-- Fixed bug in getDecodedContent with 'format=flowed' email [\#13](https://github.com/ddeboer/imap/pull/13) ([burci](https://github.com/burci))
-- Fixed date parsing for some imap servers [\#12](https://github.com/ddeboer/imap/pull/12) ([thelfensdrfer](https://github.com/thelfensdrfer))
-- Add support for more complex search expressions. [\#10](https://github.com/ddeboer/imap/pull/10) ([jamesiarmes](https://github.com/jamesiarmes))
-- Allow user to change server connection flags [\#6](https://github.com/ddeboer/imap/pull/6) ([mvar](https://github.com/mvar))
-- Improvements in EmailAddress class [\#4](https://github.com/ddeboer/imap/pull/4) ([mvar](https://github.com/mvar))
-
-
-
-\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/README.md
index 6b16183..c57ab01 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/README.md
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/README.md
@@ -1,37 +1,15 @@
-# IMAP library
+# PHP IMAP library
 
 [![Latest Stable Version](https://img.shields.io/packagist/v/ddeboer/imap.svg)](https://packagist.org/packages/ddeboer/imap)
 [![Downloads](https://img.shields.io/packagist/dt/ddeboer/imap.svg)](https://packagist.org/packages/ddeboer/imap)
 [![Integrate](https://github.com/ddeboer/imap/workflows/Integrate/badge.svg?branch=master)](https://github.com/ddeboer/imap/actions)
 [![Code Coverage](https://codecov.io/gh/ddeboer/imap/coverage.svg?branch=master)](https://codecov.io/gh/ddeboer/imap?branch=master)
 
-A PHP 7.3+ library to read and process e-mails over IMAP.
+A PHP IMAP library to read and process e-mails over IMAP protocol, built with robust Object-Oriented architecture.
 
-This library requires [IMAP](https://secure.php.net/manual/en/book.imap.php),
-[iconv](https://secure.php.net/manual/en/book.iconv.php) and
-[Multibyte String](https://secure.php.net/manual/en/book.mbstring.php) extensions installed.
-
-## Table of Contents
-
-1. [Feature Requests](#feature-requests)
-1. [Installation](#installation)
-1. [Usage](#usage)
-    1. [Connect and Authenticate](#connect-and-authenticate)
-    1. [Mailboxes](#mailboxes)
-    1. [Messages](#messages)
-        1. [Searching for Messages](#searching-for-messages)
-        1. [Unknown search criterion: OR](#unknown-search-criterion-or)
-        1. [Message Properties and Operations](#message-properties-and-operations)
-    1. [Message Attachments](#message-attachments)
-    1. [Embedded Messages](#embedded-messages)
-    1. [Timeouts](#timeouts)
-1. [Mock the library](#mock-the-library)
-1. [Running the Tests](#running-the-tests)
-    1. [Running Tests using Docker](#running-tests-using-docker)
-
-## Feature Requests
-
-[![Feature Requests](https://feathub.com/ddeboer/imap?format=svg)](https://feathub.com/ddeboer/imap)
+This library requires PHP >= 7.4 with [IMAP](https://www.php.net/manual/en/book.imap.php),
+[iconv](https://www.php.net/manual/en/book.iconv.php) and
+[Multibyte String](https://www.php.net/manual/en/book.mbstring.php) extensions installed.
 
 ## Installation
 
@@ -236,7 +214,6 @@
 ```php
 $mailbox = $connection->getMailbox('another-mailbox');
 $message->move($mailbox);
-$connection->expunge();
 ```
 
 Deleting messages:
@@ -321,40 +298,10 @@
 ```
 
 You can also copy `phpunit.xml.dist` file to a custom `phpunit.xml` and put
-these environment variables in it:
-
-```xml
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit
-    bootstrap="./vendor/autoload.php"
-    colors="true"
-    verbose="true"
->
-    <testsuites>
-        <testsuite name="ddeboer/imap">
-            <directory>./tests/</directory>
-        </testsuite>
-    </testsuites>
-    <filter>
-        <whitelist>
-            <directory suffix=".php">./src</directory>
-        </whitelist>
-    </filter>
-    <php>
-        <env name="IMAP_SERVER_NAME" value="my.imap.server.com" />
-        <env name="IMAP_SERVER_PORT" value="60993" />
-        <env name="IMAP_USERNAME" value="johndoe" />
-        <env name="IMAP_PASSWORD" value="p4ssword" />
-    </php>
-</phpunit>
-```
+these environment variables in it.
 
 **WARNING** Tests create new mailboxes without removing them.
 
-### Running Tests using Docker
-
-If you have Docker installed you can run the tests locally with the following command:
-
 ```
 $ docker-compose run tests
 ```
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/composer.json
index d56ea38..92b4a07 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/composer.json
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/composer.json
@@ -22,23 +22,18 @@
         }
     ],
     "require": {
-        "php": "^7.3 || ^8.0",
+        "php": "^7.4 || ^8.0",
         "ext-iconv": "*",
         "ext-imap": "*",
         "ext-mbstring": "*"
     },
     "require-dev": {
-        "friendsofphp/php-cs-fixer": "^2.16.7",
-        "laminas/laminas-mail": "^2.12.3",
-        "phpstan/phpstan": "^0.12.57",
-        "phpstan/phpstan-phpunit": "^0.12.16",
-        "phpstan/phpstan-strict-rules": "^0.12.5",
-        "phpunit/phpunit": "^9.4.3"
-    },
-    "config": {
-        "platform": {
-            "php": "7.3"
-        }
+        "friendsofphp/php-cs-fixer": "^2.18.6",
+        "laminas/laminas-mail": "^2.14.0",
+        "phpstan/phpstan": "^0.12.84",
+        "phpstan/phpstan-phpunit": "^0.12.18",
+        "phpstan/phpstan-strict-rules": "^0.12.9",
+        "phpunit/phpunit": "^9.5.4"
     },
     "autoload": {
         "psr-4": {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Connection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Connection.php
index 4f9f405..d9f2bb6 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Connection.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Connection.php
@@ -9,7 +9,6 @@
 use Ddeboer\Imap\Exception\ImapGetmailboxesException;
 use Ddeboer\Imap\Exception\ImapNumMsgException;
 use Ddeboer\Imap\Exception\ImapQuotaException;
-use Ddeboer\Imap\Exception\InvalidResourceException;
 use Ddeboer\Imap\Exception\MailboxDoesNotExistException;
 
 /**
@@ -17,25 +16,16 @@
  */
 final class Connection implements ConnectionInterface
 {
+    private ImapResourceInterface $resource;
+    private string $server;
     /**
-     * @var ImapResourceInterface
+     * @var null|MailboxInterface[]
      */
-    private $resource;
-
+    private ?array $mailboxes = null;
     /**
-     * @var string
+     * @var null|array<int|string, \stdClass>
      */
-    private $server;
-
-    /**
-     * @var null|array
-     */
-    private $mailboxes;
-
-    /**
-     * @var null|array
-     */
-    private $mailboxNames;
+    private ?array $mailboxNames = null;
 
     /**
      * Constructor.
@@ -48,25 +38,16 @@
         $this->server   = $server;
     }
 
-    /**
-     * Get IMAP resource.
-     */
     public function getResource(): ImapResourceInterface
     {
         return $this->resource;
     }
 
-    /**
-     * Delete all messages marked for deletion.
-     */
     public function expunge(): bool
     {
         return \imap_expunge($this->resource->getStream());
     }
 
-    /**
-     * Close connection.
-     */
     public function close(int $flag = 0): bool
     {
         $this->resource->clearLastMailboxUsedCache();
@@ -74,9 +55,6 @@
         return \imap_close($this->resource->getStream(), $flag);
     }
 
-    /**
-     * Get Mailbox quota.
-     */
     public function getQuota(string $root = 'INBOX'): array
     {
         $errorMessage = null;
@@ -106,14 +84,10 @@
         return $return;
     }
 
-    /**
-     * Get a list of mailboxes (also known as folders).
-     *
-     * @return MailboxInterface[]
-     */
     public function getMailboxes(): array
     {
         $this->initMailboxNames();
+        \assert(null !== $this->mailboxNames);
 
         if (null === $this->mailboxes) {
             $this->mailboxes = [];
@@ -125,39 +99,24 @@
         return $this->mailboxes;
     }
 
-    /**
-     * Check that a mailbox with the given name exists.
-     *
-     * @param string $name Mailbox name
-     */
     public function hasMailbox(string $name): bool
     {
         $this->initMailboxNames();
+        \assert(null !== $this->mailboxNames);
 
         return isset($this->mailboxNames[$name]);
     }
 
-    /**
-     * Get a mailbox by its name.
-     *
-     * @param string $name Mailbox name
-     *
-     * @throws MailboxDoesNotExistException If mailbox does not exist
-     */
     public function getMailbox(string $name): MailboxInterface
     {
         if (false === $this->hasMailbox($name)) {
             throw new MailboxDoesNotExistException(\sprintf('Mailbox name "%s" does not exist', $name));
         }
+        \assert(isset($this->mailboxNames[$name]));
 
         return new Mailbox($this->resource, $name, $this->mailboxNames[$name]);
     }
 
-    /**
-     * Count number of messages not in any mailbox.
-     *
-     * @return int
-     */
     public function count()
     {
         $return = \imap_num_msg($this->resource->getStream());
@@ -169,21 +128,11 @@
         return $return;
     }
 
-    /**
-     * Check if the connection is still active.
-     *
-     * @throws InvalidResourceException If connection was closed
-     */
     public function ping(): bool
     {
         return \imap_ping($this->resource->getStream());
     }
 
-    /**
-     * Create mailbox.
-     *
-     * @throws CreateMailboxException
-     */
     public function createMailbox(string $name): MailboxInterface
     {
         if (false === \imap_createmailbox($this->resource->getStream(), $this->server . \mb_convert_encoding($name, 'UTF7-IMAP', 'UTF-8'))) {
@@ -196,11 +145,6 @@
         return $this->getMailbox($name);
     }
 
-    /**
-     * Create mailbox.
-     *
-     * @throws DeleteMailboxException
-     */
     public function deleteMailbox(MailboxInterface $mailbox): void
     {
         if (false === \imap_deletemailbox($this->resource->getStream(), $mailbox->getFullEncodedName())) {
@@ -211,9 +155,6 @@
         $this->resource->clearLastMailboxUsedCache();
     }
 
-    /**
-     * Get mailbox names.
-     */
     private function initMailboxNames(): void
     {
         if (null !== $this->mailboxNames) {
@@ -227,8 +168,9 @@
         }
 
         foreach ($mailboxesInfo as $mailboxInfo) {
-            $name                      = \mb_convert_encoding(\str_replace($this->server, '', $mailboxInfo->name), 'UTF-8', 'UTF7-IMAP');
+            $name = \mb_convert_encoding(\str_replace($this->server, '', $mailboxInfo->name), 'UTF-8', 'UTF7-IMAP');
             \assert(\is_string($name));
+
             $this->mailboxNames[$name] = $mailboxInfo;
         }
     }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ConnectionInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ConnectionInterface.php
index e76077f..6289339 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ConnectionInterface.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ConnectionInterface.php
@@ -4,6 +4,11 @@
 
 namespace Ddeboer\Imap;
 
+use Ddeboer\Imap\Exception\CreateMailboxException;
+use Ddeboer\Imap\Exception\DeleteMailboxException;
+use Ddeboer\Imap\Exception\InvalidResourceException;
+use Ddeboer\Imap\Exception\MailboxDoesNotExistException;
+
 /**
  * A connection to an IMAP server that is authenticated for a user.
  */
@@ -26,11 +31,15 @@
 
     /**
      * Check if the connection is still active.
+     *
+     * @throws InvalidResourceException If connection was closed
      */
     public function ping(): bool;
 
     /**
      * Get Mailbox quota.
+     *
+     * @return array<string, int>
      */
     public function getQuota(string $root = 'INBOX'): array;
 
@@ -52,16 +61,22 @@
      * Get a mailbox by its name.
      *
      * @param string $name Mailbox name
+     *
+     * @throws MailboxDoesNotExistException If mailbox does not exist
      */
     public function getMailbox(string $name): MailboxInterface;
 
     /**
      * Create mailbox.
+     *
+     * @throws CreateMailboxException
      */
     public function createMailbox(string $name): MailboxInterface;
 
     /**
      * Delete mailbox.
+     *
+     * @throws DeleteMailboxException
      */
     public function deleteMailbox(MailboxInterface $mailbox): void;
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Exception/AbstractException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Exception/AbstractException.php
index 26c1e58..6537a05 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Exception/AbstractException.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Exception/AbstractException.php
@@ -6,10 +6,7 @@
 
 abstract class AbstractException extends \RuntimeException
 {
-    /**
-     * @var array
-     */
-    private static $errorLabels = [
+    private const ERROR_LABELS = [
         \E_ERROR                => 'E_ERROR',
         \E_WARNING              => 'E_WARNING',
         \E_PARSE                => 'E_PARSE',
@@ -27,16 +24,11 @@
         \E_USER_DEPRECATED      => 'E_USER_DEPRECATED',
     ];
 
-    /**
-     * @param string     $message  The exception message
-     * @param int        $code     The exception code
-     * @param \Throwable $previous The previous exception
-     */
     final public function __construct(string $message, int $code = 0, \Throwable $previous = null)
     {
         $errorType = '';
-        if (isset(self::$errorLabels[$code])) {
-            $errorType = \sprintf('[%s] ', self::$errorLabels[$code]);
+        if (isset(self::ERROR_LABELS[$code])) {
+            $errorType = \sprintf('[%s] ', self::ERROR_LABELS[$code]);
         }
 
         $joinString      = "\n- ";
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResource.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResource.php
index 60c1617..123ea23 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResource.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResource.php
@@ -13,19 +13,11 @@
 final class ImapResource implements ImapResourceInterface
 {
     /**
-     * @var mixed
+     * @var resource
      */
     private $resource;
-
-    /**
-     * @var null|MailboxInterface
-     */
-    private $mailbox;
-
-    /**
-     * @var null|string
-     */
-    private static $lastMailboxUsedCache;
+    private ?MailboxInterface $mailbox           = null;
+    private static ?string $lastMailboxUsedCache = null;
 
     /**
      * Constructor.
@@ -38,13 +30,6 @@
         $this->mailbox  = $mailbox;
     }
 
-    /**
-     * Get IMAP resource stream.
-     *
-     * @throws InvalidResourceException
-     *
-     * @return resource
-     */
     public function getStream()
     {
         if (false === \is_resource($this->resource) || 'imap' !== \get_resource_type($this->resource)) {
@@ -56,9 +41,6 @@
         return $this->resource;
     }
 
-    /**
-     * Clear last mailbox used cache.
-     */
     public function clearLastMailboxUsedCache(): void
     {
         self::$lastMailboxUsedCache = null;
@@ -85,7 +67,7 @@
     /**
      * Check whether the current mailbox is open.
      *
-     * @param mixed $resource
+     * @param resource $resource
      */
     private static function isMailboxOpen(MailboxInterface $mailbox, $resource): bool
     {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResourceInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResourceInterface.php
index 03c16f7..cf49f6b 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResourceInterface.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/ImapResourceInterface.php
@@ -4,11 +4,15 @@
 
 namespace Ddeboer\Imap;
 
+use Ddeboer\Imap\Exception\InvalidResourceException;
+
 interface ImapResourceInterface
 {
     /**
      * Get IMAP resource stream.
      *
+     * @throws InvalidResourceException
+     *
      * @return resource
      */
     public function getStream();
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Mailbox.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Mailbox.php
index 1544aff..2f77799 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Mailbox.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Mailbox.php
@@ -18,20 +18,9 @@
  */
 final class Mailbox implements MailboxInterface
 {
-    /**
-     * @var ImapResourceInterface
-     */
-    private $resource;
-
-    /**
-     * @var string
-     */
-    private $name;
-
-    /**
-     * @var \stdClass
-     */
-    private $info;
+    private ImapResourceInterface $resource;
+    private string $name;
+    private \stdClass $info;
 
     /**
      * Constructor.
@@ -47,17 +36,11 @@
         $this->info     = $info;
     }
 
-    /**
-     * Get mailbox decoded name.
-     */
     public function getName(): string
     {
         return $this->name;
     }
 
-    /**
-     * Get mailbox encoded path.
-     */
     public function getEncodedName(): string
     {
         /** @var string $name */
@@ -66,35 +49,21 @@
         return (string) \preg_replace('/^{.+}/', '', $name);
     }
 
-    /**
-     * Get mailbox encoded full name.
-     */
     public function getFullEncodedName(): string
     {
         return $this->info->name;
     }
 
-    /**
-     * Get mailbox attributes.
-     */
     public function getAttributes(): int
     {
         return $this->info->attributes;
     }
 
-    /**
-     * Get mailbox delimiter.
-     */
     public function getDelimiter(): string
     {
         return $this->info->delimiter;
     }
 
-    /**
-     * Get number of messages in this mailbox.
-     *
-     * @return int
-     */
     public function count()
     {
         $return = \imap_num_msg($this->resource->getStream());
@@ -106,9 +75,6 @@
         return $return;
     }
 
-    /**
-     * Get Mailbox status.
-     */
     public function getStatus(int $flags = null): \stdClass
     {
         $return = \imap_status($this->resource->getStream(), $this->getFullEncodedName(), $flags ?? \SA_ALL);
@@ -120,33 +86,16 @@
         return $return;
     }
 
-    /**
-     * Bulk Set Flag for Messages.
-     *
-     * @param string                       $flag    \Seen, \Answered, \Flagged, \Deleted, and \Draft
-     * @param array|MessageIterator|string $numbers Message numbers
-     */
     public function setFlag(string $flag, $numbers): bool
     {
         return \imap_setflag_full($this->resource->getStream(), $this->prepareMessageIds($numbers), $flag, \ST_UID);
     }
 
-    /**
-     * Bulk Clear Flag for Messages.
-     *
-     * @param string                       $flag    \Seen, \Answered, \Flagged, \Deleted, and \Draft
-     * @param array|MessageIterator|string $numbers Message numbers
-     */
     public function clearFlag(string $flag, $numbers): bool
     {
         return \imap_clearflag_full($this->resource->getStream(), $this->prepareMessageIds($numbers), $flag, \ST_UID);
     }
 
-    /**
-     * Get message ids.
-     *
-     * @param ConditionInterface $search Search expression (optional)
-     */
     public function getMessages(ConditionInterface $search = null, int $sortCriteria = null, bool $descending = false, string $charset = null): MessageIteratorInterface
     {
         if (null === $search) {
@@ -199,11 +148,6 @@
         return new MessageIterator($this->resource, $messageNumbers);
     }
 
-    /**
-     * Get message iterator for a sequence.
-     *
-     * @param string $sequence Message numbers
-     */
     public function getMessageSequence(string $sequence): MessageIteratorInterface
     {
         \imap_errors();
@@ -223,54 +167,38 @@
         return new MessageIterator($this->resource, $messageNumbers);
     }
 
-    /**
-     * Get a message by message number.
-     *
-     * @param int $number Message number
-     */
     public function getMessage(int $number): MessageInterface
     {
         return new Message($this->resource, $number);
     }
 
-    /**
-     * Get messages in this mailbox.
-     */
     public function getIterator(): MessageIteratorInterface
     {
         return $this->getMessages();
     }
 
-    /**
-     * Add a message to the mailbox.
-     */
     public function addMessage(string $message, string $options = null, DateTimeInterface $internalDate = null): bool
     {
         $arguments = [
             $this->resource->getStream(),
             $this->getFullEncodedName(),
             $message,
+            $options ?? '',
         ];
-        if (null !== $options) {
-            $arguments[] = $options;
-            if (null !== $internalDate) {
-                $arguments[] = $internalDate->format('d-M-Y H:i:s O');
-            }
+        if (null !== $internalDate) {
+            $arguments[] = $internalDate->format('d-M-Y H:i:s O');
         }
 
         return \imap_append(...$arguments);
     }
 
-    /**
-     * Returns a tree of threaded message for the current Mailbox.
-     */
     public function getThread(): array
     {
         \set_error_handler(static function (): bool {
             return true;
         });
 
-        /** @var array|false $tree */
+        /** @var array<string, int>|false $tree */
         $tree = \imap_thread($this->resource->getStream(), \SE_UID);
 
         \restore_error_handler();
@@ -278,29 +206,13 @@
         return false !== $tree ? $tree : [];
     }
 
-    /**
-     * Bulk move messages.
-     *
-     * @param array|MessageIterator|string $numbers Message numbers
-     * @param MailboxInterface             $mailbox Destination Mailbox to move the messages to
-     *
-     * @throws \Ddeboer\Imap\Exception\MessageMoveException
-     */
     public function move($numbers, MailboxInterface $mailbox): void
     {
-        if (!\imap_mail_move($this->resource->getStream(), $this->prepareMessageIds($numbers), $mailbox->getEncodedName(), \CP_UID)) {
+        if (!\imap_mail_copy($this->resource->getStream(), $this->prepareMessageIds($numbers), $mailbox->getEncodedName(), \CP_UID | \CP_MOVE)) {
             throw new MessageMoveException(\sprintf('Messages cannot be moved to "%s"', $mailbox->getName()));
         }
     }
 
-    /**
-     * Bulk copy messages.
-     *
-     * @param array|MessageIterator|string $numbers Message numbers
-     * @param MailboxInterface             $mailbox Destination Mailbox to copy the messages to
-     *
-     * @throws \Ddeboer\Imap\Exception\MessageCopyException
-     */
     public function copy($numbers, MailboxInterface $mailbox): void
     {
         if (!\imap_mail_copy($this->resource->getStream(), $this->prepareMessageIds($numbers), $mailbox->getEncodedName(), \CP_UID)) {
@@ -311,7 +223,7 @@
     /**
      * Prepare message ids for the use with bulk functions.
      *
-     * @param array|MessageIterator|string $messageIds Message numbers
+     * @param array<int, int|string>|MessageIterator|string $messageIds Message numbers
      */
     private function prepareMessageIds($messageIds): string
     {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MailboxInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MailboxInterface.php
index efe432d..067bdc2 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MailboxInterface.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MailboxInterface.php
@@ -5,10 +5,13 @@
 namespace Ddeboer\Imap;
 
 use DateTimeInterface;
+use Ddeboer\Imap\Message\PartInterface;
 use Ddeboer\Imap\Search\ConditionInterface;
 
 /**
  * An IMAP mailbox (commonly referred to as a 'folder').
+ *
+ * @extends \IteratorAggregate<int, MessageInterface>
  */
 interface MailboxInterface extends \Countable, \IteratorAggregate
 {
@@ -45,16 +48,16 @@
     /**
      * Bulk Set Flag for Messages.
      *
-     * @param string                       $flag    \Seen, \Answered, \Flagged, \Deleted, and \Draft
-     * @param array|MessageIterator|string $numbers Message numbers
+     * @param string                                        $flag    \Seen, \Answered, \Flagged, \Deleted, and \Draft
+     * @param array<int, int|string>|MessageIterator|string $numbers Message numbers
      */
     public function setFlag(string $flag, $numbers): bool;
 
     /**
      * Bulk Clear Flag for Messages.
      *
-     * @param string                       $flag    \Seen, \Answered, \Flagged, \Deleted, and \Draft
-     * @param array|MessageIterator|string $numbers Message numbers
+     * @param string                                        $flag    \Seen, \Answered, \Flagged, \Deleted, and \Draft
+     * @param array<int, int|string>|MessageIterator|string $numbers Message numbers
      */
     public function clearFlag(string $flag, $numbers): bool;
 
@@ -76,6 +79,8 @@
      * Get a message by message number.
      *
      * @param int $number Message number
+     *
+     * @return MessageInterface<PartInterface>
      */
     public function getMessage(int $number): MessageInterface;
 
@@ -91,14 +96,16 @@
 
     /**
      * Returns a tree of threaded message for the current Mailbox.
+     *
+     * @return array<string, int>
      */
     public function getThread(): array;
 
     /**
      * Bulk move messages.
      *
-     * @param array|MessageIterator|string $numbers Message numbers
-     * @param MailboxInterface             $mailbox Destination Mailbox to move the messages to
+     * @param array<int, int|string>|MessageIterator|string $numbers Message numbers
+     * @param MailboxInterface                              $mailbox Destination Mailbox to move the messages to
      *
      * @throws \Ddeboer\Imap\Exception\MessageMoveException
      */
@@ -107,8 +114,8 @@
     /**
      * Bulk copy messages.
      *
-     * @param array|MessageIterator|string $numbers Message numbers
-     * @param MailboxInterface             $mailbox Destination Mailbox to copy the messages to
+     * @param array<int, int|string>|MessageIterator|string $numbers Message numbers
+     * @param MailboxInterface                              $mailbox Destination Mailbox to copy the messages to
      *
      * @throws \Ddeboer\Imap\Exception\MessageCopyException
      */
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message.php
index 843ce61..1a9d16e 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message.php
@@ -18,35 +18,12 @@
  */
 final class Message extends Message\AbstractMessage implements MessageInterface
 {
-    /**
-     * @var bool
-     */
-    private $messageNumberVerified = false;
-
-    /**
-     * @var int
-     */
-    private $imapMsgNo = 0;
-
-    /**
-     * @var bool
-     */
-    private $structureLoaded = false;
-
-    /**
-     * @var null|Message\Headers
-     */
-    private $headers;
-
-    /**
-     * @var null|string
-     */
-    private $rawHeaders;
-
-    /**
-     * @var null|string
-     */
-    private $rawMessage;
+    private bool $messageNumberVerified = false;
+    private int $imapMsgNo              = 0;
+    private bool $structureLoaded       = false;
+    private ?Message\Headers $headers   = null;
+    private ?string $rawHeaders         = null;
+    private ?string $rawMessage         = null;
 
     /**
      * Constructor.
@@ -59,9 +36,6 @@
         parent::__construct($resource, $messageNumber, '1', new \stdClass());
     }
 
-    /**
-     * Lazy load structure.
-     */
     protected function lazyLoadStructure(): void
     {
         if (true === $this->structureLoaded) {
@@ -99,9 +73,6 @@
         $this->setStructure($structure);
     }
 
-    /**
-     * Ensure message exists.
-     */
     protected function assertMessageExists(int $messageNumber): void
     {
         if (true === $this->messageNumberVerified) {
@@ -138,9 +109,6 @@
         return $this->imapMsgNo;
     }
 
-    /**
-     * Get raw message headers.
-     */
     public function getRawHeaders(): string
     {
         if (null === $this->rawHeaders) {
@@ -156,11 +124,6 @@
         return $this->rawHeaders;
     }
 
-    /**
-     * Get the raw message, including all headers, parts, etc. unencoded and unparsed.
-     *
-     * @return string the raw message
-     */
     public function getRawMessage(): string
     {
         if (null === $this->rawMessage) {
@@ -170,9 +133,6 @@
         return $this->rawMessage;
     }
 
-    /**
-     * Get message headers.
-     */
     public function getHeaders(): Message\Headers
     {
         if (null === $this->headers) {
@@ -198,67 +158,44 @@
         $this->headers = null;
     }
 
-    /**
-     * Get message recent flag value (from headers).
-     */
     public function isRecent(): ?string
     {
-        return $this->getHeaders()->get('recent');
+        $recent = $this->getHeaders()->get('recent');
+        \assert(null === $recent || \is_string($recent));
+
+        return $recent;
     }
 
-    /**
-     * Get message unseen flag value (from headers).
-     */
     public function isUnseen(): bool
     {
         return 'U' === $this->getHeaders()->get('unseen');
     }
 
-    /**
-     * Get message flagged flag value (from headers).
-     */
     public function isFlagged(): bool
     {
         return 'F' === $this->getHeaders()->get('flagged');
     }
 
-    /**
-     * Get message answered flag value (from headers).
-     */
     public function isAnswered(): bool
     {
         return 'A' === $this->getHeaders()->get('answered');
     }
 
-    /**
-     * Get message deleted flag value (from headers).
-     */
     public function isDeleted(): bool
     {
         return 'D' === $this->getHeaders()->get('deleted');
     }
 
-    /**
-     * Get message draft flag value (from headers).
-     */
     public function isDraft(): bool
     {
         return 'X' === $this->getHeaders()->get('draft');
     }
 
-    /**
-     * Has the message been marked as read?
-     */
     public function isSeen(): bool
     {
         return 'N' !== $this->getHeaders()->get('recent') && 'U' !== $this->getHeaders()->get('unseen');
     }
 
-    /**
-     * Mark message as seen.
-     *
-     * @deprecated since version 1.1, to be removed in 2.0
-     */
     public function maskAsSeen(): bool
     {
         \trigger_error(\sprintf('%s is deprecated and will be removed in 2.0. Use %s::markAsSeen instead.', __METHOD__, __CLASS__), \E_USER_DEPRECATED);
@@ -266,19 +203,11 @@
         return $this->markAsSeen();
     }
 
-    /**
-     * Mark message as seen.
-     */
     public function markAsSeen(): bool
     {
         return $this->setFlag('\\Seen');
     }
 
-    /**
-     * Move message to another mailbox.
-     *
-     * @throws MessageCopyException
-     */
     public function copy(MailboxInterface $mailbox): void
     {
         // 'deleted' header changed, force to reload headers, would be better to set deleted flag to true on header
@@ -289,11 +218,6 @@
         }
     }
 
-    /**
-     * Move message to another mailbox.
-     *
-     * @throws MessageMoveException
-     */
     public function move(MailboxInterface $mailbox): void
     {
         // 'deleted' header changed, force to reload headers, would be better to set deleted flag to true on header
@@ -304,11 +228,6 @@
         }
     }
 
-    /**
-     * Delete message.
-     *
-     * @throws MessageDeleteException
-     */
     public function delete(): void
     {
         // 'deleted' header changed, force to reload headers, would be better to set deleted flag to true on header
@@ -319,11 +238,6 @@
         }
     }
 
-    /**
-     * Undelete message.
-     *
-     * @throws MessageUndeleteException
-     */
     public function undelete(): void
     {
         // 'deleted' header changed, force to reload headers, would be better to set deleted flag to false on header
@@ -333,11 +247,6 @@
         }
     }
 
-    /**
-     * Set Flag Message.
-     *
-     * @param string $flag \Seen, \Answered, \Flagged, \Deleted, and \Draft
-     */
     public function setFlag(string $flag): bool
     {
         $result = \imap_setflag_full($this->resource->getStream(), (string) $this->getNumber(), $flag, \ST_UID);
@@ -347,11 +256,6 @@
         return $result;
     }
 
-    /**
-     * Clear Flag Message.
-     *
-     * @param string $flag \Seen, \Answered, \Flagged, \Deleted, and \Draft
-     */
     public function clearFlag(string $flag): bool
     {
         $result = \imap_clearflag_full($this->resource->getStream(), (string) $this->getNumber(), $flag, \ST_UID);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractMessage.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractMessage.php
index 5d67e90..0f022cc 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractMessage.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractMessage.php
@@ -9,9 +9,9 @@
 abstract class AbstractMessage extends AbstractPart
 {
     /**
-     * @var null|array
+     * @var null|Attachment[]
      */
-    private $attachments;
+    private ?array $attachments = null;
 
     /**
      * Get message headers.
@@ -25,7 +25,10 @@
      */
     final public function getId(): ?string
     {
-        return $this->getHeaders()->get('message_id');
+        $messageId = $this->getHeaders()->get('message_id');
+        \assert(null === $messageId || \is_string($messageId));
+
+        return $messageId;
     }
 
     /**
@@ -34,6 +37,7 @@
     final public function getFrom(): ?EmailAddress
     {
         $from = $this->getHeaders()->get('from');
+        \assert(null === $from || \is_array($from));
 
         return null !== $from ? $this->decodeEmailAddress($from[0]) : null;
     }
@@ -45,7 +49,10 @@
      */
     final public function getTo(): array
     {
-        return $this->decodeEmailAddresses($this->getHeaders()->get('to') ?: []);
+        $emails = $this->getHeaders()->get('to');
+        \assert(null === $emails || \is_array($emails));
+
+        return $this->decodeEmailAddresses($emails ?? []);
     }
 
     /**
@@ -55,7 +62,10 @@
      */
     final public function getCc(): array
     {
-        return $this->decodeEmailAddresses($this->getHeaders()->get('cc') ?: []);
+        $emails = $this->getHeaders()->get('cc');
+        \assert(null === $emails || \is_array($emails));
+
+        return $this->decodeEmailAddresses($emails ?? []);
     }
 
     /**
@@ -65,7 +75,10 @@
      */
     final public function getBcc(): array
     {
-        return $this->decodeEmailAddresses($this->getHeaders()->get('bcc') ?: []);
+        $emails = $this->getHeaders()->get('bcc');
+        \assert(null === $emails || \is_array($emails));
+
+        return $this->decodeEmailAddresses($emails ?? []);
     }
 
     /**
@@ -75,7 +88,10 @@
      */
     final public function getReplyTo(): array
     {
-        return $this->decodeEmailAddresses($this->getHeaders()->get('reply_to') ?: []);
+        $emails = $this->getHeaders()->get('reply_to');
+        \assert(null === $emails || \is_array($emails));
+
+        return $this->decodeEmailAddresses($emails ?? []);
     }
 
     /**
@@ -85,7 +101,10 @@
      */
     final public function getSender(): array
     {
-        return $this->decodeEmailAddresses($this->getHeaders()->get('sender') ?: []);
+        $emails = $this->getHeaders()->get('sender');
+        \assert(null === $emails || \is_array($emails));
+
+        return $this->decodeEmailAddresses($emails ?? []);
     }
 
     /**
@@ -95,7 +114,10 @@
      */
     final public function getReturnPath(): array
     {
-        return $this->decodeEmailAddresses($this->getHeaders()->get('return_path') ?: []);
+        $emails = $this->getHeaders()->get('return_path');
+        \assert(null === $emails || \is_array($emails));
+
+        return $this->decodeEmailAddresses($emails ?? []);
     }
 
     /**
@@ -137,7 +159,10 @@
      */
     final public function getSize()
     {
-        return $this->getHeaders()->get('size');
+        $size = $this->getHeaders()->get('size');
+        \assert(null === $size || \is_int($size) || \is_string($size));
+
+        return $size;
     }
 
     /**
@@ -145,25 +170,34 @@
      */
     final public function getSubject(): ?string
     {
-        return $this->getHeaders()->get('subject');
+        $subject = $this->getHeaders()->get('subject');
+        \assert(null === $subject || \is_string($subject));
+
+        return $subject;
     }
 
     /**
      * Get message In-Reply-To (from headers).
+     *
+     * @return string[]
      */
     final public function getInReplyTo(): array
     {
         $inReplyTo = $this->getHeaders()->get('in_reply_to');
+        \assert(null === $inReplyTo || \is_string($inReplyTo));
 
         return null !== $inReplyTo ? \explode(' ', $inReplyTo) : [];
     }
 
     /**
      * Get message References (from headers).
+     *
+     * @return string[]
      */
     final public function getReferences(): array
     {
         $references = $this->getHeaders()->get('references');
+        \assert(null === $references || \is_string($references));
 
         return null !== $references ? \explode(' ', $references) : [];
     }
@@ -222,6 +256,11 @@
         return $this->attachments;
     }
 
+    /**
+     * @param PartInterface<PartInterface> $part
+     *
+     * @return Attachment[]
+     */
     private static function gatherAttachments(PartInterface $part): array
     {
         $attachments = [];
@@ -247,6 +286,8 @@
 
     /**
      * @param \stdClass[] $addresses
+     *
+     * @return EmailAddress[]
      */
     private function decodeEmailAddresses(array $addresses): array
     {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractPart.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractPart.php
index ab13eb0..0ab0ca5 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractPart.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AbstractPart.php
@@ -14,95 +14,7 @@
  */
 abstract class AbstractPart implements PartInterface
 {
-    /**
-     * @var ImapResourceInterface
-     */
-    protected $resource;
-
-    /**
-     * @var bool
-     */
-    private $structureParsed = false;
-
-    /**
-     * @var array
-     */
-    private $parts = [];
-
-    /**
-     * @var string
-     */
-    private $partNumber;
-
-    /**
-     * @var int
-     */
-    private $messageNumber;
-
-    /**
-     * @var \stdClass
-     */
-    private $structure;
-
-    /**
-     * @var Parameters
-     */
-    private $parameters;
-
-    /**
-     * @var null|string
-     */
-    private $type;
-
-    /**
-     * @var null|string
-     */
-    private $subtype;
-
-    /**
-     * @var null|string
-     */
-    private $encoding;
-
-    /**
-     * @var null|string
-     */
-    private $disposition;
-
-    /**
-     * @var null|string
-     */
-    private $description;
-
-    /**
-     * @var null|string
-     */
-    private $bytes;
-
-    /**
-     * @var null|string
-     */
-    private $lines;
-
-    /**
-     * @var null|string
-     */
-    private $content;
-
-    /**
-     * @var null|string
-     */
-    private $decodedContent;
-
-    /**
-     * @var int
-     */
-    private $key = 0;
-
-    /**
-     * @var array
-     */
-    private static $typesMap = [
+    private const TYPES_MAP = [
         \TYPETEXT        => self::TYPE_TEXT,
         \TYPEMULTIPART   => self::TYPE_MULTIPART,
         \TYPEMESSAGE     => self::TYPE_MESSAGE,
@@ -114,10 +26,7 @@
         \TYPEOTHER       => self::TYPE_OTHER,
     ];
 
-    /**
-     * @var array
-     */
-    private static $encodingsMap = [
+    private const ENCODINGS_MAP = [
         \ENC7BIT            => self::ENCODING_7BIT,
         \ENC8BIT            => self::ENCODING_8BIT,
         \ENCBINARY          => self::ENCODING_BINARY,
@@ -125,16 +34,35 @@
         \ENCQUOTEDPRINTABLE => self::ENCODING_QUOTED_PRINTABLE,
     ];
 
-    /**
-     * @var array
-     */
-    private static $attachmentKeys = [
+    private const ATTACHMENT_KEYS = [
         'name'      => true,
         'filename'  => true,
         'name*'     => true,
         'filename*' => true,
     ];
 
+    protected ImapResourceInterface $resource;
+    private bool $structureParsed = false;
+    /**
+     * @var AbstractPart[]
+     */
+    private array $parts = [];
+    private string $partNumber;
+    private int $messageNumber;
+    private \stdClass $structure;
+    private Parameters $parameters;
+    private ?string $type        = null;
+    private ?string $subtype     = null;
+    private ?string $encoding    = null;
+    private ?string $disposition = null;
+    private ?string $description = null;
+    /** @var null|int|string */
+    private $bytes;
+    private ?string $lines          = null;
+    private ?string $content        = null;
+    private ?string $decodedContent = null;
+    private int $key                = 0;
+
     /**
      * Constructor.
      *
@@ -155,9 +83,6 @@
         $this->setStructure($structure);
     }
 
-    /**
-     * Get message number (from headers).
-     */
     final public function getNumber(): int
     {
         $this->assertMessageExists($this->messageNumber);
@@ -180,9 +105,6 @@
         $this->structure = $structure;
     }
 
-    /**
-     * Part structure.
-     */
     final public function getStructure(): \stdClass
     {
         $this->lazyLoadStructure();
@@ -197,9 +119,6 @@
     {
     }
 
-    /**
-     * Part parameters.
-     */
     final public function getParameters(): Parameters
     {
         $this->lazyParseStructure();
@@ -207,19 +126,16 @@
         return $this->parameters;
     }
 
-    /**
-     * Part charset.
-     */
     final public function getCharset(): ?string
     {
         $this->lazyParseStructure();
 
-        return $this->parameters->get('charset') ?: null;
+        $charset = $this->parameters->get('charset');
+        \assert(null === $charset || \is_string($charset));
+
+        return '' !== $charset ? $charset : null;
     }
 
-    /**
-     * Part type.
-     */
     final public function getType(): ?string
     {
         $this->lazyParseStructure();
@@ -227,9 +143,6 @@
         return $this->type;
     }
 
-    /**
-     * Part subtype.
-     */
     final public function getSubtype(): ?string
     {
         $this->lazyParseStructure();
@@ -237,9 +150,6 @@
         return $this->subtype;
     }
 
-    /**
-     * Part encoding.
-     */
     final public function getEncoding(): ?string
     {
         $this->lazyParseStructure();
@@ -247,9 +157,6 @@
         return $this->encoding;
     }
 
-    /**
-     * Part disposition.
-     */
     final public function getDisposition(): ?string
     {
         $this->lazyParseStructure();
@@ -257,9 +164,6 @@
         return $this->disposition;
     }
 
-    /**
-     * Part description.
-     */
     final public function getDescription(): ?string
     {
         $this->lazyParseStructure();
@@ -267,11 +171,6 @@
         return $this->description;
     }
 
-    /**
-     * Part bytes.
-     *
-     * @return null|int|string
-     */
     final public function getBytes()
     {
         $this->lazyParseStructure();
@@ -279,9 +178,6 @@
         return $this->bytes;
     }
 
-    /**
-     * Part lines.
-     */
     final public function getLines(): ?string
     {
         $this->lazyParseStructure();
@@ -289,9 +185,6 @@
         return $this->lines;
     }
 
-    /**
-     * Get raw part content.
-     */
     final public function getContent(): string
     {
         if (null === $this->content) {
@@ -309,17 +202,11 @@
         return $this->partNumber;
     }
 
-    /**
-     * Get part number.
-     */
     final public function getPartNumber(): string
     {
         return $this->partNumber;
     }
 
-    /**
-     * Get decoded part content.
-     */
     final public function getDecodedContent(): string
     {
         if (null === $this->decodedContent) {
@@ -369,11 +256,6 @@
         return $return;
     }
 
-    /**
-     * Get an array of all parts for this message.
-     *
-     * @return PartInterface[]
-     */
     final public function getParts(): array
     {
         $this->lazyParseStructure();
@@ -393,21 +275,11 @@
         return $this->parts[$this->key];
     }
 
-    /**
-     * Get current child part.
-     *
-     * @return \RecursiveIterator
-     */
     final public function getChildren()
     {
         return $this->current();
     }
 
-    /**
-     * Get current child part.
-     *
-     * @return bool
-     */
     final public function hasChildren()
     {
         $this->lazyParseStructure();
@@ -416,8 +288,6 @@
     }
 
     /**
-     * Get current part key.
-     *
      * @return int
      */
     final public function key()
@@ -425,31 +295,16 @@
         return $this->key;
     }
 
-    /**
-     * Move to next part.
-     *
-     * @return void
-     */
     final public function next()
     {
         ++$this->key;
     }
 
-    /**
-     * Reset part key.
-     *
-     * @return void
-     */
     final public function rewind()
     {
         $this->key = 0;
     }
 
-    /**
-     * Check if current part is a valid one.
-     *
-     * @return bool
-     */
     final public function valid()
     {
         $this->lazyParseStructure();
@@ -469,10 +324,10 @@
 
         $this->lazyLoadStructure();
 
-        $this->type = self::$typesMap[$this->structure->type] ?? self::TYPE_UNKNOWN;
+        $this->type = self::TYPES_MAP[$this->structure->type] ?? self::TYPE_UNKNOWN;
 
         // In our context, \ENCOTHER is as useful as an unknown encoding
-        $this->encoding = self::$encodingsMap[$this->structure->encoding] ?? self::ENCODING_UNKNOWN;
+        $this->encoding = self::ENCODINGS_MAP[$this->structure->encoding] ?? self::ENCODING_UNKNOWN;
         if (isset($this->structure->subtype)) {
             $this->subtype = $this->structure->subtype;
         }
@@ -527,7 +382,7 @@
      */
     private static function isAttachment(\stdClass $part): bool
     {
-        if (isset(self::$typesMap[$part->type]) && self::TYPE_MULTIPART === self::$typesMap[$part->type]) {
+        if (isset(self::TYPES_MAP[$part->type]) && self::TYPE_MULTIPART === self::TYPES_MAP[$part->type]) {
             return false;
         }
 
@@ -549,7 +404,7 @@
         // Attachment without Content-Disposition header
         if ($part->ifparameters) {
             foreach ($part->parameters as $parameter) {
-                if (isset(self::$attachmentKeys[\strtolower($parameter->attribute)])) {
+                if (isset(self::ATTACHMENT_KEYS[\strtolower($parameter->attribute)])) {
                     return true;
                 }
             }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Attachment.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Attachment.php
index bd76769..b134b8d 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Attachment.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Attachment.php
@@ -11,43 +11,33 @@
  */
 final class Attachment extends AbstractPart implements AttachmentInterface
 {
-    /**
-     * Get attachment filename.
-     */
     public function getFilename(): ?string
     {
-        return $this->getParameters()->get('filename')
-            ?: $this->getParameters()->get('name');
+        $filename = $this->getParameters()->get('filename');
+        if (null === $filename || '' === $filename) {
+            $filename = $this->getParameters()->get('name');
+        }
+        \assert(null === $filename || \is_string($filename));
+
+        return $filename;
     }
 
-    /**
-     * Get attachment file size.
-     *
-     * @return null|int Number of bytes
-     */
     public function getSize()
     {
         $size = $this->getParameters()->get('size');
         if (\is_numeric($size)) {
             $size = (int) $size;
         }
+        \assert(null === $size || \is_int($size));
 
         return $size;
     }
 
-    /**
-     * Is this attachment also an Embedded Message?
-     */
     public function isEmbeddedMessage(): bool
     {
         return self::TYPE_MESSAGE === $this->getType();
     }
 
-    /**
-     * Return embedded message.
-     *
-     * @throws NotEmbeddedMessageException
-     */
     public function getEmbeddedMessage(): EmbeddedMessageInterface
     {
         if (!$this->isEmbeddedMessage()) {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AttachmentInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AttachmentInterface.php
index 0d20f44..286e188 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AttachmentInterface.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/AttachmentInterface.php
@@ -4,6 +4,8 @@
 
 namespace Ddeboer\Imap\Message;
 
+use Ddeboer\Imap\Exception\NotEmbeddedMessageException;
+
 /**
  * An e-mail attachment.
  */
@@ -28,6 +30,10 @@
 
     /**
      * Return embedded message.
+     *
+     * @throws NotEmbeddedMessageException
+     *
+     * @return EmbeddedMessageInterface<PartInterface>
      */
     public function getEmbeddedMessage(): EmbeddedMessageInterface;
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/BasicMessageInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/BasicMessageInterface.php
index 20e6b1a..83dbd17 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/BasicMessageInterface.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/BasicMessageInterface.php
@@ -96,11 +96,15 @@
 
     /**
      * Get message In-Reply-To (from headers).
+     *
+     * @return string[]
      */
     public function getInReplyTo(): array;
 
     /**
      * Get message References (from headers).
+     *
+     * @return string[]
      */
     public function getReferences(): array;
 
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmailAddress.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmailAddress.php
index b88e0f9..9f60fb1 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmailAddress.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmailAddress.php
@@ -9,25 +9,10 @@
  */
 final class EmailAddress
 {
-    /**
-     * @var string
-     */
-    private $mailbox;
-
-    /**
-     * @var null|string
-     */
-    private $hostname;
-
-    /**
-     * @var null|string
-     */
-    private $name;
-
-    /**
-     * @var null|string
-     */
-    private $address;
+    private string $mailbox;
+    private ?string $hostname;
+    private ?string $name;
+    private ?string $address;
 
     public function __construct(string $mailbox, string $hostname = null, string $name = null)
     {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmbeddedMessage.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmbeddedMessage.php
index 243cff6..20d9715 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmbeddedMessage.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/EmbeddedMessage.php
@@ -6,24 +6,10 @@
 
 final class EmbeddedMessage extends AbstractMessage implements EmbeddedMessageInterface
 {
-    /**
-     * @var null|Headers
-     */
-    private $headers;
+    private ?Headers $headers   = null;
+    private ?string $rawHeaders = null;
+    private ?string $rawMessage = null;
 
-    /**
-     * @var null|string
-     */
-    private $rawHeaders;
-
-    /**
-     * @var null|string
-     */
-    private $rawMessage;
-
-    /**
-     * Get message headers.
-     */
     public function getHeaders(): Headers
     {
         if (null === $this->headers) {
@@ -33,9 +19,6 @@
         return $this->headers;
     }
 
-    /**
-     * Get raw message headers.
-     */
     public function getRawHeaders(): string
     {
         if (null === $this->rawHeaders) {
@@ -46,11 +29,6 @@
         return $this->rawHeaders;
     }
 
-    /**
-     * Get the raw message, including all headers, parts, etc. unencoded and unparsed.
-     *
-     * @return string the raw message
-     */
     public function getRawMessage(): string
     {
         if (null === $this->rawMessage) {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Headers.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Headers.php
index f76fec3..0dc6352 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Headers.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Headers.php
@@ -4,14 +4,8 @@
 
 namespace Ddeboer\Imap\Message;
 
-/**
- * Collection of message headers.
- */
 final class Headers extends Parameters
 {
-    /**
-     * Constructor.
-     */
     public function __construct(\stdClass $headers)
     {
         parent::__construct();
@@ -27,7 +21,7 @@
     /**
      * Get header.
      *
-     * @return mixed
+     * @return null|int|\stdClass[]|string
      */
     public function get(string $key)
     {
@@ -37,14 +31,16 @@
     /**
      * Parse header.
      *
-     * @param mixed $value
+     * @param int|\stdClass[]|string $value
      *
-     * @return mixed
+     * @return int|\stdClass[]|string
      */
     private function parseHeader(string $key, $value)
     {
         switch ($key) {
             case 'msgno':
+                \assert(\is_string($value));
+
                 return (int) $value;
             case 'from':
             case 'to':
@@ -53,6 +49,7 @@
             case 'reply_to':
             case 'sender':
             case 'return_path':
+                \assert(\is_array($value));
                 /** @var \stdClass $address */
                 foreach ($value as $address) {
                     if (isset($address->mailbox)) {
@@ -64,6 +61,8 @@
                 return $value;
             case 'date':
             case 'subject':
+                \assert(\is_string($value));
+
                 return $this->decode($value);
         }
 
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Parameters.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Parameters.php
index 2f7d8a1..37ed816 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Parameters.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Parameters.php
@@ -4,23 +4,22 @@
 
 namespace Ddeboer\Imap\Message;
 
+/**
+ * @extends \ArrayIterator<int|string, int|string|\stdClass[]>
+ */
 class Parameters extends \ArrayIterator
 {
     /**
-     * @var array
+     * @var array<string, string>
      */
-    private static $attachmentCustomKeys = [
+    private static array $attachmentCustomKeys = [
         'name*'     => 'name',
         'filename*' => 'filename',
     ];
 
-    public function __construct(array $parameters = [])
-    {
-        parent::__construct();
-
-        $this->add($parameters);
-    }
-
+    /**
+     * @param \stdClass[] $parameters
+     */
     public function add(array $parameters = []): void
     {
         foreach ($parameters as $parameter) {
@@ -34,16 +33,13 @@
     }
 
     /**
-     * @return mixed
+     * @return null|int|\stdClass[]|string
      */
     public function get(string $key)
     {
         return $this[$key] ?? null;
     }
 
-    /**
-     * Decode value.
-     */
     final protected function decode(string $value): string
     {
         $parts = \imap_mime_header_decode($value);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Transcoder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Transcoder.php
index ee02a15..bd439e0 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Transcoder.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Message/Transcoder.php
@@ -9,14 +9,12 @@
 final class Transcoder
 {
     /**
-     * @var array
-     *
      * @see https://encoding.spec.whatwg.org/#encodings
      * @see https://dxr.mozilla.org/mozilla-central/source/dom/encoding/labelsencodings.properties
      * @see https://dxr.mozilla.org/mozilla1.9.1/source/intl/uconv/src/charsetalias.properties
      * @see https://msdn.microsoft.com/en-us/library/cc194829.aspx
      */
-    private static $charsetAliases = [
+    private const CHARSET_ALIASES = [
         '128'                       => 'Shift_JIS',
         '129'                       => 'EUC-KR',
         '134'                       => 'GB2312',
@@ -252,6 +250,7 @@
         'x-iso-10646-ucs-2-le'      => 'UTF-16LE',
         'x-iso-10646-ucs-4-be'      => 'UTF-32BE',
         'x-iso-10646-ucs-4-le'      => 'UTF-32LE',
+        'x-mac-ce'                  => 'windows-1250',
         'x-sjis'                    => 'Shift_JIS',
         'x-unicode-2-0-utf-7'       => 'UTF-7',
         'x-x-big5'                  => 'Big5',
@@ -282,8 +281,8 @@
 
         $originalFromCharset  = $fromCharset;
         $lowercaseFromCharset = \strtolower($fromCharset);
-        if (isset(self::$charsetAliases[$lowercaseFromCharset])) {
-            $fromCharset = self::$charsetAliases[$lowercaseFromCharset];
+        if (isset(self::CHARSET_ALIASES[$lowercaseFromCharset])) {
+            $fromCharset = self::CHARSET_ALIASES[$lowercaseFromCharset];
         }
 
         \set_error_handler(static function (): bool {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageInterface.php
index eda8ab6..e8fe5f7 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageInterface.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageInterface.php
@@ -4,6 +4,11 @@
 
 namespace Ddeboer\Imap;
 
+use Ddeboer\Imap\Exception\MessageCopyException;
+use Ddeboer\Imap\Exception\MessageDeleteException;
+use Ddeboer\Imap\Exception\MessageMoveException;
+use Ddeboer\Imap\Exception\MessageUndeleteException;
+
 /**
  * An IMAP message (e-mail).
  */
@@ -63,21 +68,29 @@
 
     /**
      * Move message to another mailbox.
+     *
+     * @throws MessageCopyException
      */
     public function copy(MailboxInterface $mailbox): void;
 
     /**
      * Move message to another mailbox.
+     *
+     * @throws MessageMoveException
      */
     public function move(MailboxInterface $mailbox): void;
 
     /**
      * Delete message.
+     *
+     * @throws MessageDeleteException
      */
     public function delete(): void;
 
     /**
      * Undelete message.
+     *
+     * @throws MessageUndeleteException
      */
     public function undelete(): void;
 
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIterator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIterator.php
index c617478..48d87ee 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIterator.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIterator.php
@@ -4,18 +4,20 @@
 
 namespace Ddeboer\Imap;
 
+use Ddeboer\Imap\Message\PartInterface;
+
+/**
+ * @extends \ArrayIterator<int, MessageInterface>
+ */
 final class MessageIterator extends \ArrayIterator implements MessageIteratorInterface
 {
-    /**
-     * @var ImapResourceInterface
-     */
-    private $resource;
+    private ImapResourceInterface $resource;
 
     /**
      * Constructor.
      *
      * @param ImapResourceInterface $resource       IMAP resource
-     * @param array                 $messageNumbers Array of message numbers
+     * @param int[]                 $messageNumbers Array of message numbers
      */
     public function __construct(ImapResourceInterface $resource, array $messageNumbers)
     {
@@ -26,6 +28,8 @@
 
     /**
      * Get current message.
+     *
+     * @return MessageInterface<PartInterface>
      */
     public function current(): MessageInterface
     {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIteratorInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIteratorInterface.php
index a9d7988..36a7943 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIteratorInterface.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/MessageIteratorInterface.php
@@ -4,10 +4,17 @@
 
 namespace Ddeboer\Imap;
 
+use Ddeboer\Imap\Message\PartInterface;
+
+/**
+ * @extends \Iterator<MessageInterface>
+ */
 interface MessageIteratorInterface extends \Iterator
 {
     /**
      * Get current message.
+     *
+     * @return MessageInterface<PartInterface>
      */
     public function current(): MessageInterface;
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractDate.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractDate.php
index cdd7312..61bd05e 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractDate.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractDate.php
@@ -13,17 +13,13 @@
 {
     /**
      * Format for dates to be sent to the IMAP server.
-     *
-     * @var string
      */
-    private $dateFormat;
+    private string $dateFormat;
 
     /**
      * The date to be used for the condition.
-     *
-     * @var DateTimeInterface
      */
-    private $date;
+    private DateTimeInterface $date;
 
     /**
      * Constructor.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractText.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractText.php
index 69b2516..8b605ce 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractText.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/AbstractText.php
@@ -12,10 +12,8 @@
 {
     /**
      * Text to be used for the condition.
-     *
-     * @var string
      */
-    private $text;
+    private string $text;
 
     /**
      * Constructor.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/LogicalOperator/OrConditions.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/LogicalOperator/OrConditions.php
index bfebddd..01e7d86 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/LogicalOperator/OrConditions.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/LogicalOperator/OrConditions.php
@@ -15,10 +15,13 @@
     /**
      * The conditions that together represent the expression.
      *
-     * @var array
+     * @var ConditionInterface[]
      */
-    private $conditions = [];
+    private array $conditions = [];
 
+    /**
+     * @param ConditionInterface[] $conditions
+     */
     public function __construct(array $conditions)
     {
         foreach ($conditions as $condition) {
@@ -30,6 +33,8 @@
      * Adds a new condition to the expression.
      *
      * @param ConditionInterface $condition the condition to be added
+     *
+     * @return void
      */
     private function addCondition(ConditionInterface $condition)
     {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/RawExpression.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/RawExpression.php
index cc6a465..deda65d 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/RawExpression.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Search/RawExpression.php
@@ -11,10 +11,8 @@
 {
     /**
      * Text to be used for the condition.
-     *
-     * @var string
      */
-    private $expression;
+    private string $expression;
 
     /**
      * @param string $expression text for the condition
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/SearchExpression.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/SearchExpression.php
index e89d49e..db95531 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/SearchExpression.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/SearchExpression.php
@@ -14,9 +14,9 @@
     /**
      * The conditions that together represent the expression.
      *
-     * @var array
+     * @var ConditionInterface[]
      */
-    private $conditions = [];
+    private array $conditions = [];
 
     /**
      * Adds a new condition to the expression.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Server.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Server.php
index 7412f00..41a953d 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Server.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Server.php
@@ -12,46 +12,26 @@
  */
 final class Server implements ServerInterface
 {
+    private string $hostname;
+    private string $port;
+    private string $flags;
     /**
-     * @var string Internet domain name or bracketed IP address of server
+     * @var mixed[]
      */
-    private $hostname;
-
-    /**
-     * @var string TCP port number
-     */
-    private $port;
-
-    /**
-     * @var string Optional flags
-     */
-    private $flags;
-
-    /**
-     * @var array
-     */
-    private $parameters;
-
-    /**
-     * @var int Connection options
-     */
-    private $options;
-
-    /**
-     * @var int Retries number
-     */
-    private $retries;
+    private array $parameters;
+    private int $options;
+    private int $retries;
 
     /**
      * Constructor.
      *
-     * @param string $hostname   Internet domain name or bracketed IP address
-     *                           of server
-     * @param string $port       TCP port number
-     * @param string $flags      Optional flags
-     * @param array  $parameters Connection parameters
-     * @param int    $options    Connection options
-     * @param int    $retries    Retries number
+     * @param string  $hostname   Internet domain name or bracketed IP address
+     *                            of server
+     * @param string  $port       TCP port number
+     * @param string  $flags      Optional flags
+     * @param mixed[] $parameters Connection parameters
+     * @param int     $options    Connection options
+     * @param int     $retries    Retries number
      */
     public function __construct(
         string $hostname,
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Test/RawMessageIterator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Test/RawMessageIterator.php
index 08500b6..b895f8a 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Test/RawMessageIterator.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/ddeboer/imap/src/Test/RawMessageIterator.php
@@ -4,14 +4,20 @@
 
 namespace Ddeboer\Imap\Test;
 
+use Ddeboer\Imap\Message\PartInterface;
 use Ddeboer\Imap\MessageInterface;
 use Ddeboer\Imap\MessageIteratorInterface;
 
 /**
  * A MessageIterator to be used in a mocked environment.
+ *
+ * @extends \ArrayIterator<int, MessageInterface>
  */
 final class RawMessageIterator extends \ArrayIterator implements MessageIteratorInterface
 {
+    /**
+     * @return MessageInterface<PartInterface>
+     */
     public function current(): MessageInterface
     {
         return parent::current();
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.gitattributes b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.gitattributes
new file mode 100644
index 0000000..2a0e9d2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.gitattributes
@@ -0,0 +1 @@
+tests/ export-ignore
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/FUNDING.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/FUNDING.yml
new file mode 100644
index 0000000..ad129a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+# These are supported funding model platforms
+
+github: [stevebauman]
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/bug_report.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..a56a2af
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,15 @@
+---
+name: Bug report
+about: Create a report to help improve LdapRecord
+title: "[Bug]"
+labels: bug
+assignees: ''
+
+---
+
+<!-- Please update the below information with your environment. -->
+**Environment:**
+ - LDAP Server Type: [e.g. ActiveDirectory / OpenLDAP / FreeIPA]
+ - PHP Version: [e.g. 7.3 / 7.4 / 8.0]
+
+**Describe the bug:**
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/feature_request.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..68e5bcd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,10 @@
+---
+name: Feature request
+about: Suggest an idea for LdapRecord
+title: "[Feature]"
+labels: enhancement
+assignees: ''
+
+---
+
+**Describe the feature you'd like:**
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/support---help-request.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/support---help-request.md
new file mode 100644
index 0000000..230916c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/ISSUE_TEMPLATE/support---help-request.md
@@ -0,0 +1,17 @@
+---
+name: Support / help request
+about: Request help using LdapRecord (requires sponsorship)
+title: "[Support]"
+labels: question
+assignees: ''
+
+---
+
+<!-- ISSUE WILL BE CLOSED WITHOUT SPONSORSHIP: -->
+<!-- https://github.com/sponsors/stevebauman -->
+<!-- Thank you for your understanding. -->
+
+<!-- Please update the below information with your environment. -->
+**Environment:**
+ - LDAP Server Type: [e.g. ActiveDirectory / OpenLDAP / FreeIPA]
+ - PHP Version: [e.g. 7.3 / 7.4 / 8.0]
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/workflows/run-tests.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/workflows/run-tests.yml
new file mode 100644
index 0000000..ba00218
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.github/workflows/run-tests.yml
@@ -0,0 +1,41 @@
+name: run-tests
+
+on:
+  push:
+  pull_request:
+  schedule:
+    - cron: "0 0 * * *"
+
+jobs:
+  run-tests:
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ubuntu-latest, windows-latest]
+        php: [8.0, 7.4, 7.3]
+
+    name: ${{ matrix.os }} - P${{ matrix.php }}
+
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v2
+
+      - name: Cache dependencies
+        uses: actions/cache@v2
+        with:
+          path: ~/.composer/cache/files
+          key: dependencies-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
+
+      - name: Setup PHP
+        uses: shivammathur/setup-php@v2
+        with:
+          php-version: ${{ matrix.php }}
+          extensions: ldap, json
+          coverage: none
+
+      - name: Install dependencies
+        run: composer update --prefer-dist --no-interaction
+
+      - name: Execute tests
+        run: vendor/bin/phpunit
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.gitignore b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.gitignore
new file mode 100644
index 0000000..d5389fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.gitignore
@@ -0,0 +1,5 @@
+vendor
+composer.lock
+.php_cs.cache
+.phpunit.result.cache
+.php-cs-fixer.cache
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.scrutinizer.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.scrutinizer.yml
new file mode 100644
index 0000000..b3f8f88
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.scrutinizer.yml
@@ -0,0 +1,9 @@
+filter:
+    excluded_paths:
+        - tests/*
+build:
+    nodes:
+        analysis:
+            tests:
+                override:
+                    - command: php-scrutinizer-run
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.styleci.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.styleci.yml
new file mode 100644
index 0000000..c774021
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/.styleci.yml
@@ -0,0 +1,4 @@
+preset: laravel
+enabled:
+  - phpdoc_align
+  - unalign_double_arrow
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/composer.json
new file mode 100644
index 0000000..2e995d9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/composer.json
@@ -0,0 +1,59 @@
+{
+    "name": "directorytree/ldaprecord",
+    "type": "library",
+    "description": "A fully-featured LDAP ORM.",
+    "homepage": "https://www.ldaprecord.com",
+    "keywords": [
+        "active directory",
+        "directory",
+        "ad",
+        "ldap",
+        "windows",
+        "adldap",
+        "adldap2",
+        "ldaprecord",
+        "orm"
+    ],
+    "license": "MIT",
+    "support": {
+        "docs": "https://ldaprecord.com",
+        "issues": "https://github.com/DirectoryTree/LdapRecord/issues",
+        "source": "https://github.com/DirectoryTree/LdapRecord",
+        "email": "steven_bauman@outlook.com"
+    },
+    "authors": [
+        {
+            "name": "Steve Bauman",
+            "email": "steven_bauman@outlook.com",
+            "role": "Developer"
+        }
+    ],
+    "require": {
+        "php": ">=7.3",
+        "ext-ldap": "*",
+        "ext-json": "*",
+        "psr/log": "^1.0",
+        "psr/simple-cache": "^1.0",
+        "nesbot/carbon": "^1.0|^2.0",
+        "tightenco/collect": "^5.6|^6.0|^7.0|^8.0",
+        "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0"
+    },
+    "require-dev": {
+        "phpunit/phpunit": "^8.0",
+        "mockery/mockery": "^1.0",
+        "spatie/ray": "^1.24"
+    },
+    "archive": {
+        "exclude": ["/tests"]
+    },
+    "autoload": {
+        "psr-4": {
+            "LdapRecord\\": "src/"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "LdapRecord\\Tests\\": "tests/"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/license.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/license.md
new file mode 100644
index 0000000..c25dc60
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/license.md
@@ -0,0 +1,8 @@
+The MIT License (MIT)
+Copyright © Steve Bauman
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/phpunit.xml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/phpunit.xml
new file mode 100644
index 0000000..d03fdc2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/phpunit.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit backupGlobals="false"
+         backupStaticAttributes="false"
+         bootstrap="vendor/autoload.php"
+         colors="true"
+         convertErrorsToExceptions="true"
+         convertNoticesToExceptions="true"
+         convertWarningsToExceptions="true"
+         processIsolation="false"
+         stopOnFailure="false"
+        >
+    <testsuites>
+        <testsuite name="LdapRecord Test Suite">
+            <directory suffix="Test.php">./tests/</directory>
+        </testsuite>
+    </testsuites>
+</phpunit>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/psalm.xml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/psalm.xml
new file mode 100644
index 0000000..7c0333d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/psalm.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<psalm
+    errorLevel="7"
+    resolveFromConfigFile="true"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="https://getpsalm.org/schema/config"
+    xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
+>
+    <projectFiles>
+        <directory name="src" />
+        <ignoreFiles>
+            <directory name="vendor" />
+        </ignoreFiles>
+    </projectFiles>
+</psalm>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/readme.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/readme.md
new file mode 100644
index 0000000..08ecd9e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/readme.md
@@ -0,0 +1,94 @@
+<!-- readme.md -->
+
+<p align="center">
+    <img src="https://ldaprecord.com/logo.svg" width="400">
+</p>
+
+<p align="center">
+    <a href="https://github.com/DirectoryTree/LdapRecord/actions">
+        <img src="https://img.shields.io/github/workflow/status/directorytree/ldaprecord/run-tests.svg?style=flat-square">
+    </a>
+    <a href="https://scrutinizer-ci.com/g/DirectoryTree/LdapRecord/?branch=master">
+        <img src="https://img.shields.io/scrutinizer/g/DirectoryTree/LdapRecord/master.svg?style=flat-square"/>
+    </a>
+    <a href="https://packagist.org/packages/DirectoryTree/LdapRecord">
+        <img src="https://img.shields.io/packagist/dt/DirectoryTree/LdapRecord.svg?style=flat-square"/>
+    </a>
+    <a href="https://packagist.org/packages/DirectoryTree/LdapRecord">
+        <img src="https://img.shields.io/packagist/v/DirectoryTree/LdapRecord.svg?style=flat-square"/>
+    </a>
+    <a href="https://packagist.org/packages/DirectoryTree/LdapRecord">
+        <img src="https://img.shields.io/github/license/DirectoryTree/LdapRecord.svg?style=flat-square"/>
+    </a>
+</p>
+
+<p align="center">
+    Working with LDAP doesn't need to be hard.
+</p>
+
+<p align="center">
+    LdapRecord is a fully-featured <a href="https://en.wikipedia.org/wiki/Active_record_pattern">Active Record</a>
+    ORM that makes working with LDAP directories a breeze 🍃
+</p>
+
+<h4 align="center">
+    <a href="https://ldaprecord.com/docs/core/v2/quickstart/">Quickstart</a>
+    <span> · </span>
+    <a href="https://ldaprecord.com/docs/core/v2/">Documentation</a>
+    <span> · </span>
+    <a href="https://github.com/DirectoryTree/LdapRecord-Laravel">Laravel Integration</a>
+    <span> · </span>
+    <a href="https://github.com/DirectoryTree/LdapRecord/discussions/new">Post a Question</a>
+</h4>
+
+---
+
+⏲ **Up and Running Fast**
+
+Connect to your LDAP servers and start running queries at lightning speed.
+
+💡 **Fluent Filter Builder**
+
+Find the LDAP objects you're looking for with a fluent LDAP filter builder.
+
+💼 **Multi-Domain Ready**
+
+Built-in connection management allows you to access multiple domains without breaking a sweat.
+
+🔥 **Supercharged Active Record**
+
+Create and modify LDAP objects with minimal code.
+
+---
+
+<h3 align="center">
+Active Directory Features
+</h3>
+
+🚪 **Enable / Disable Accounts**
+
+Detect and assign User Account Control values on accounts with the fluent [Account Control builder](https://ldaprecord.com/docs/core/v2/active-directory/users/#uac).
+
+🔑 **Reset / Change Passwords**
+
+Built-in support for [changing](https://ldaprecord.com/docs/core/v2/active-directory/users/#changing-passwords) and [resetting](https://ldaprecord.com/docs/core/v2/active-directory/users/#resetting-passwords) passwords on Active Directory accounts.
+
+🗑 **Restore Deleted Objects**
+
+We've all been there -- accidentally deleting a user or group in Active Directory. [Restore them](https://ldaprecord.com/docs/core/v2/models/#restoring-deleted-models) by seamlessly accessing your directory's recycle bin.
+
+---
+
+<h3 align="center">LdapRecord is Supportware™</h3>
+
+<p align="center">If you require support using LdapRecord, a <a href="https://github.com/sponsors/stevebauman">sponsorship</a> is required :pray:</p>
+
+<p align="center">Thank you for your understanding :heart:</p>
+
+--- 
+
+<h3 align="center">Security Vulnerabilities</h3>
+
+<p align="center">If you discover a security vulnerability within LdapRecord, please send an e-mail to Steve Bauman via <a href="mailto:steven_bauman@outlook.com">steven_bauman@outlook.com</a>.</p>
+
+<p align="center">All security vulnerabilities will be promptly addressed.</p>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/BindException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/BindException.php
new file mode 100644
index 0000000..d87abc1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/BindException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace LdapRecord\Auth;
+
+use LdapRecord\LdapRecordException;
+
+class BindException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Attempting.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Attempting.php
new file mode 100644
index 0000000..3776401
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Attempting.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Auth\Events;
+
+class Attempting extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Binding.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Binding.php
new file mode 100644
index 0000000..faffd85
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Binding.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Auth\Events;
+
+class Binding extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Bound.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Bound.php
new file mode 100644
index 0000000..65a3fae
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Bound.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Auth\Events;
+
+class Bound extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Event.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Event.php
new file mode 100644
index 0000000..83716b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Event.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace LdapRecord\Auth\Events;
+
+use LdapRecord\LdapInterface;
+
+abstract class Event
+{
+    /**
+     * The connection that the username and password is being bound on.
+     *
+     * @var LdapInterface
+     */
+    protected $connection;
+
+    /**
+     * The username that is being used for binding.
+     *
+     * @var string
+     */
+    protected $username;
+
+    /**
+     * The password that is being used for binding.
+     *
+     * @var string
+     */
+    protected $password;
+
+    /**
+     * Constructor.
+     *
+     * @param LdapInterface $connection
+     * @param string        $username
+     * @param string        $password
+     */
+    public function __construct(LdapInterface $connection, $username, $password)
+    {
+        $this->connection = $connection;
+        $this->username = $username;
+        $this->password = $password;
+    }
+
+    /**
+     * Returns the events connection.
+     *
+     * @return LdapInterface
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * Returns the authentication events username.
+     *
+     * @return string
+     */
+    public function getUsername()
+    {
+        return $this->username;
+    }
+
+    /**
+     * Returns the authentication events password.
+     *
+     * @return string
+     */
+    public function getPassword()
+    {
+        return $this->password;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Failed.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Failed.php
new file mode 100644
index 0000000..7133e43
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Failed.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Auth\Events;
+
+class Failed extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Passed.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Passed.php
new file mode 100644
index 0000000..2442f3e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Events/Passed.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Auth\Events;
+
+class Passed extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Guard.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Guard.php
new file mode 100644
index 0000000..696cc40
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/Guard.php
@@ -0,0 +1,234 @@
+<?php
+
+namespace LdapRecord\Auth;
+
+use Exception;
+use LdapRecord\Auth\Events\Attempting;
+use LdapRecord\Auth\Events\Binding;
+use LdapRecord\Auth\Events\Bound;
+use LdapRecord\Auth\Events\Failed;
+use LdapRecord\Auth\Events\Passed;
+use LdapRecord\Configuration\DomainConfiguration;
+use LdapRecord\Events\DispatcherInterface;
+use LdapRecord\LdapInterface;
+
+class Guard
+{
+    /**
+     * The connection to bind to.
+     *
+     * @var LdapInterface
+     */
+    protected $connection;
+
+    /**
+     * The domain configuration to utilize.
+     *
+     * @var DomainConfiguration
+     */
+    protected $configuration;
+
+    /**
+     * The event dispatcher.
+     *
+     * @var DispatcherInterface
+     */
+    protected $events;
+
+    /**
+     * Constructor.
+     *
+     * @param LdapInterface       $connection
+     * @param DomainConfiguration $configuration
+     */
+    public function __construct(LdapInterface $connection, DomainConfiguration $configuration)
+    {
+        $this->connection = $connection;
+        $this->configuration = $configuration;
+    }
+
+    /**
+     * Attempt binding a user to the LDAP server.
+     *
+     * @param string $username
+     * @param string $password
+     * @param bool   $stayBound
+     *
+     * @throws UsernameRequiredException
+     * @throws PasswordRequiredException
+     *
+     * @return bool
+     */
+    public function attempt($username, $password, $stayBound = false)
+    {
+        switch (true) {
+            case empty($username):
+                throw new UsernameRequiredException('A username must be specified.');
+            case empty($password):
+                throw new PasswordRequiredException('A password must be specified.');
+        }
+
+        $this->fireAttemptingEvent($username, $password);
+
+        try {
+            $this->bind($username, $password);
+
+            $authenticated = true;
+
+            $this->firePassedEvent($username, $password);
+        } catch (BindException $e) {
+            $authenticated = false;
+        }
+
+        if (! $stayBound) {
+            $this->bindAsConfiguredUser();
+        }
+
+        return $authenticated;
+    }
+
+    /**
+     * Attempt binding a user to the LDAP server. Supports anonymous binding.
+     *
+     * @param string|null $username
+     * @param string|null $password
+     *
+     * @throws BindException
+     * @throws \LdapRecord\ConnectionException
+     */
+    public function bind($username = null, $password = null)
+    {
+        $this->fireBindingEvent($username, $password);
+
+        // Prior to binding, we will upgrade our connectivity to TLS on our current
+        // connection and ensure we are not already bound before upgrading.
+        // This is to prevent subsequent upgrading on several binds.
+        if ($this->connection->isUsingTLS() && ! $this->connection->isBound()) {
+            $this->connection->startTLS();
+        }
+
+        try {
+            if (! $this->connection->bind($username, $password)) {
+                throw new Exception($this->connection->getLastError(), $this->connection->errNo());
+            }
+
+            $this->fireBoundEvent($username, $password);
+        } catch (Exception $e) {
+            $this->fireFailedEvent($username, $password);
+
+            throw BindException::withDetailedError($e, $this->connection->getDetailedError());
+        }
+    }
+
+    /**
+     * Bind to the LDAP server using the configured username and password.
+     *
+     * @throws BindException
+     * @throws \LdapRecord\ConnectionException
+     * @throws \LdapRecord\Configuration\ConfigurationException
+     */
+    public function bindAsConfiguredUser()
+    {
+        $this->bind(
+            $this->configuration->get('username'),
+            $this->configuration->get('password')
+        );
+    }
+
+    /**
+     * Get the event dispatcher instance.
+     *
+     * @return DispatcherInterface
+     */
+    public function getDispatcher()
+    {
+        return $this->events;
+    }
+
+    /**
+     * Set the event dispatcher instance.
+     *
+     * @param DispatcherInterface $dispatcher
+     *
+     * @return void
+     */
+    public function setDispatcher(DispatcherInterface $dispatcher)
+    {
+        $this->events = $dispatcher;
+    }
+
+    /**
+     * Fire the attempting event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireAttemptingEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Attempting($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the passed event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function firePassedEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Passed($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the failed event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireFailedEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Failed($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the binding event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireBindingEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Binding($this->connection, $username, $password));
+        }
+    }
+
+    /**
+     * Fire the bound event.
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @return void
+     */
+    protected function fireBoundEvent($username, $password)
+    {
+        if (isset($this->events)) {
+            $this->events->fire(new Bound($this->connection, $username, $password));
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/PasswordRequiredException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/PasswordRequiredException.php
new file mode 100644
index 0000000..7b2bbd1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/PasswordRequiredException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace LdapRecord\Auth;
+
+use LdapRecord\LdapRecordException;
+
+class PasswordRequiredException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/UsernameRequiredException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/UsernameRequiredException.php
new file mode 100644
index 0000000..838ae58
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Auth/UsernameRequiredException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace LdapRecord\Auth;
+
+use LdapRecord\LdapRecordException;
+
+class UsernameRequiredException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/ConfigurationException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/ConfigurationException.php
new file mode 100644
index 0000000..6a93b12
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/ConfigurationException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace LdapRecord\Configuration;
+
+use LdapRecord\LdapRecordException;
+
+class ConfigurationException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/DomainConfiguration.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/DomainConfiguration.php
new file mode 100644
index 0000000..1dcdd1a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/DomainConfiguration.php
@@ -0,0 +1,178 @@
+<?php
+
+namespace LdapRecord\Configuration;
+
+use LdapRecord\LdapInterface;
+
+class DomainConfiguration
+{
+    /**
+     * The extended configuration options.
+     *
+     * @var array
+     */
+    protected static $extended = [];
+
+    /**
+     * The configuration options array.
+     *
+     * The default values for each key indicate the type of value it requires.
+     *
+     * @var array
+     */
+    protected $options = [
+        // An array of LDAP hosts.
+        'hosts' => [],
+
+        // The global LDAP operation timeout limit in seconds.
+        'timeout' => 5,
+
+        // The LDAP version to utilize.
+        'version' => 3,
+
+        // The port to use for connecting to your hosts.
+        'port' => LdapInterface::PORT,
+
+        // The base distinguished name of your domain.
+        'base_dn' => '',
+
+        // The username to use for binding.
+        'username' => '',
+
+        // The password to use for binding.
+        'password' => '',
+
+        // Whether or not to use SSL when connecting.
+        'use_ssl' => false,
+
+        // Whether or not to use TLS when connecting.
+        'use_tls' => false,
+
+        // Whether or not follow referrals is enabled when performing LDAP operations.
+        'follow_referrals' => false,
+
+        // Custom LDAP options.
+        'options' => [],
+    ];
+
+    /**
+     * Constructor.
+     *
+     * @param array $options
+     *
+     * @throws ConfigurationException When an option value given is an invalid type.
+     */
+    public function __construct(array $options = [])
+    {
+        $this->options = array_merge($this->options, static::$extended);
+
+        foreach ($options as $key => $value) {
+            $this->set($key, $value);
+        }
+    }
+
+    /**
+     * Extend the configuration with a custom option, or override an existing.
+     *
+     * @param string $option
+     * @param mixed  $default
+     *
+     * @return void
+     */
+    public static function extend($option, $default = null)
+    {
+        static::$extended[$option] = $default;
+    }
+
+    /**
+     * Flush the extended configuration options.
+     *
+     * @return void
+     */
+    public static function flushExtended()
+    {
+        static::$extended = [];
+    }
+
+    /**
+     * Get all configuration options.
+     *
+     * @return array
+     */
+    public function all()
+    {
+        return $this->options;
+    }
+
+    /**
+     * Set a configuration option.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @throws ConfigurationException When an option value given is an invalid type.
+     */
+    public function set($key, $value)
+    {
+        if ($this->validate($key, $value)) {
+            $this->options[$key] = $value;
+        }
+    }
+
+    /**
+     * Returns the value for the specified configuration options.
+     *
+     * @param string $key
+     *
+     * @throws ConfigurationException When the option specified does not exist.
+     *
+     * @return mixed
+     */
+    public function get($key)
+    {
+        if (! $this->has($key)) {
+            throw new ConfigurationException("Option {$key} does not exist.");
+        }
+
+        return $this->options[$key];
+    }
+
+    /**
+     * Checks if a configuration option exists.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function has($key)
+    {
+        return array_key_exists($key, $this->options);
+    }
+
+    /**
+     * Validate the configuration option.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @throws ConfigurationException When an option value given is an invalid type.
+     *
+     * @return bool
+     */
+    protected function validate($key, $value)
+    {
+        $default = $this->get($key);
+
+        if (is_array($default)) {
+            $validator = new Validators\ArrayValidator($key, $value);
+        } elseif (is_int($default)) {
+            $validator = new Validators\IntegerValidator($key, $value);
+        } elseif (is_bool($default)) {
+            $validator = new Validators\BooleanValidator($key, $value);
+        } else {
+            $validator = new Validators\StringOrNullValidator($key, $value);
+        }
+
+        return $validator->validate();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/ArrayValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/ArrayValidator.php
new file mode 100644
index 0000000..4aa43ed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/ArrayValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class ArrayValidator extends Validator
+{
+    /**
+     * The validation exception message.
+     *
+     * @var string
+     */
+    protected $message = 'Option [:option] must be an array.';
+
+    /**
+     * @inheritdoc
+     */
+    public function passes()
+    {
+        return is_array($this->value);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/BooleanValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/BooleanValidator.php
new file mode 100644
index 0000000..1d25a4b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/BooleanValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class BooleanValidator extends Validator
+{
+    /**
+     * The validation exception message.
+     *
+     * @var string
+     */
+    protected $message = 'Option [:option] must be a boolean.';
+
+    /**
+     * @inheritdoc
+     */
+    public function passes()
+    {
+        return is_bool($this->value);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/IntegerValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/IntegerValidator.php
new file mode 100644
index 0000000..5c4f0f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/IntegerValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class IntegerValidator extends Validator
+{
+    /**
+     * The validation exception message.
+     *
+     * @var string
+     */
+    protected $message = 'Option [:option] must be an integer.';
+
+    /**
+     * @inheritdoc
+     */
+    public function passes()
+    {
+        return is_numeric($this->value);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/StringOrNullValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/StringOrNullValidator.php
new file mode 100644
index 0000000..bc23372
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/StringOrNullValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class StringOrNullValidator extends Validator
+{
+    /**
+     * The validation exception message.
+     *
+     * @var string
+     */
+    protected $message = 'Option [:option] must be a string or null.';
+
+    /**
+     * @inheritdoc
+     */
+    public function passes()
+    {
+        return is_string($this->value) || is_null($this->value);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/Validator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/Validator.php
new file mode 100644
index 0000000..908a639
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/Validator.php
@@ -0,0 +1,78 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+use LdapRecord\Configuration\ConfigurationException;
+
+abstract class Validator
+{
+    /**
+     * The configuration key under validation.
+     *
+     * @var string
+     */
+    protected $key;
+
+    /**
+     * The configuration value under validation.
+     *
+     * @var mixed
+     */
+    protected $value;
+
+    /**
+     * The validation exception message.
+     *
+     * @var string
+     */
+    protected $message;
+
+    /**
+     * Constructor.
+     *
+     * @param string $key
+     * @param mixed  $value
+     */
+    public function __construct($key, $value)
+    {
+        $this->key = $key;
+        $this->value = $value;
+    }
+
+    /**
+     * Determine if the validation rule passes.
+     *
+     * @return bool
+     */
+    abstract public function passes();
+
+    /**
+     * Validate the configuration value.
+     *
+     * @throws ConfigurationException
+     *
+     * @return bool
+     */
+    public function validate()
+    {
+        if (! $this->passes()) {
+            $this->fail();
+        }
+
+        return true;
+    }
+
+    /**
+     * Throw a configuration exception.
+     *
+     * @throws ConfigurationException
+     *
+     * @return void
+     */
+    protected function fail()
+    {
+        throw new ConfigurationException(
+            str_replace(':option', $this->key, $this->message)
+        );
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Connection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Connection.php
new file mode 100644
index 0000000..8ba0ef1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Connection.php
@@ -0,0 +1,511 @@
+<?php
+
+namespace LdapRecord;
+
+use Carbon\Carbon;
+use Closure;
+use LdapRecord\Auth\Guard;
+use LdapRecord\Configuration\DomainConfiguration;
+use LdapRecord\Events\DispatcherInterface;
+use LdapRecord\Query\Builder;
+use LdapRecord\Query\Cache;
+use Psr\SimpleCache\CacheInterface;
+
+class Connection
+{
+    use DetectsErrors;
+
+    /**
+     * The underlying LDAP connection.
+     *
+     * @var Ldap
+     */
+    protected $ldap;
+
+    /**
+     * The cache driver.
+     *
+     * @var Cache|null
+     */
+    protected $cache;
+
+    /**
+     * The domain configuration.
+     *
+     * @var DomainConfiguration
+     */
+    protected $configuration;
+
+    /**
+     * The event dispatcher;.
+     *
+     * @var DispatcherInterface|null
+     */
+    protected $dispatcher;
+
+    /**
+     * The current host connected to.
+     *
+     * @var string
+     */
+    protected $host;
+
+    /**
+     * The configured domain hosts.
+     *
+     * @var array
+     */
+    protected $hosts = [];
+
+    /**
+     * The attempted hosts that failed connecting to.
+     *
+     * @var array
+     */
+    protected $attempted = [];
+
+    /**
+     * The callback to execute upon total connection failure.
+     *
+     * @var Closure
+     */
+    protected $failed;
+
+    /**
+     * The authentication guard resolver.
+     *
+     * @var Closure
+     */
+    protected $authGuardResolver;
+
+    /**
+     * Whether the connection is retrying the initial connection attempt.
+     *
+     * @var bool
+     */
+    protected $retryingInitialConnection = false;
+
+    /**
+     * Constructor.
+     *
+     * @param array              $config
+     * @param LdapInterface|null $ldap
+     */
+    public function __construct($config = [], LdapInterface $ldap = null)
+    {
+        $this->setConfiguration($config);
+
+        $this->setLdapConnection($ldap ?? new Ldap());
+
+        $this->failed = function () {
+            $this->dispatch(new Events\ConnectionFailed($this));
+        };
+
+        $this->authGuardResolver = function () {
+            return new Guard($this->ldap, $this->configuration);
+        };
+    }
+
+    /**
+     * Set the connection configuration.
+     *
+     * @param array $config
+     *
+     * @throws Configuration\ConfigurationException
+     *
+     * @return $this
+     */
+    public function setConfiguration($config = [])
+    {
+        $this->configuration = new DomainConfiguration($config);
+
+        $this->hosts = $this->configuration->get('hosts');
+
+        $this->host = reset($this->hosts);
+
+        return $this;
+    }
+
+    /**
+     * Set the LDAP connection.
+     *
+     * @param LdapInterface $ldap
+     *
+     * @return $this
+     */
+    public function setLdapConnection(LdapInterface $ldap)
+    {
+        $this->ldap = $ldap;
+
+        return $this;
+    }
+
+    /**
+     * Set the event dispatcher.
+     *
+     * @param DispatcherInterface $dispatcher
+     *
+     * @return $this
+     */
+    public function setDispatcher(DispatcherInterface $dispatcher)
+    {
+        $this->dispatcher = $dispatcher;
+
+        return $this;
+    }
+
+    /**
+     * Initializes the LDAP connection.
+     *
+     * @return void
+     */
+    public function initialize()
+    {
+        $this->configure();
+
+        $this->ldap->connect($this->host, $this->configuration->get('port'));
+    }
+
+    /**
+     * Configure the LDAP connection.
+     *
+     * @return void
+     */
+    protected function configure()
+    {
+        if ($this->configuration->get('use_ssl')) {
+            $this->ldap->ssl();
+        } elseif ($this->configuration->get('use_tls')) {
+            $this->ldap->tls();
+        }
+
+        $this->ldap->setOptions(array_replace(
+            $this->configuration->get('options'),
+            [
+                LDAP_OPT_PROTOCOL_VERSION => $this->configuration->get('version'),
+                LDAP_OPT_NETWORK_TIMEOUT => $this->configuration->get('timeout'),
+                LDAP_OPT_REFERRALS => $this->configuration->get('follow_referrals'),
+            ]
+        ));
+    }
+
+    /**
+     * Set the cache store.
+     *
+     * @param CacheInterface $store
+     *
+     * @return $this
+     */
+    public function setCache(CacheInterface $store)
+    {
+        $this->cache = new Cache($store);
+
+        return $this;
+    }
+
+    /**
+     * Get the cache store.
+     *
+     * @return Cache|null
+     */
+    public function getCache()
+    {
+        return $this->cache;
+    }
+
+    /**
+     * Get the LDAP configuration instance.
+     *
+     * @return DomainConfiguration
+     */
+    public function getConfiguration()
+    {
+        return $this->configuration;
+    }
+
+    /**
+     * Get the LDAP connection instance.
+     *
+     * @return Ldap
+     */
+    public function getLdapConnection()
+    {
+        return $this->ldap;
+    }
+
+    /**
+     * Bind to the LDAP server.
+     *
+     * If no username or password is specified, then the configured credentials are used.
+     *
+     * @param string|null $username
+     * @param string|null $password
+     *
+     * @throws Auth\BindException
+     * @throws LdapRecordException
+     *
+     * @return Connection
+     */
+    public function connect($username = null, $password = null)
+    {
+        $attempt = function () use ($username, $password) {
+            $this->dispatch(new Events\Connecting($this));
+
+            is_null($username) && is_null($password)
+                ? $this->auth()->bindAsConfiguredUser()
+                : $this->auth()->bind($username, $password);
+
+            $this->dispatch(new Events\Connected($this));
+
+            $this->retryingInitialConnection = false;
+        };
+
+        try {
+            $this->runOperationCallback($attempt);
+        } catch (LdapRecordException $e) {
+            $this->retryingInitialConnection = true;
+
+            $this->retryOnNextHost($e, $attempt);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Reconnect to the LDAP server.
+     *
+     * @throws Auth\BindException
+     * @throws ConnectionException
+     *
+     * @return void
+     */
+    public function reconnect()
+    {
+        $this->reinitialize();
+
+        $this->connect();
+    }
+
+    /**
+     * Reinitialize the connection.
+     *
+     * @return void
+     */
+    protected function reinitialize()
+    {
+        $this->disconnect();
+
+        $this->initialize();
+    }
+
+    /**
+     * Disconnect from the LDAP server.
+     *
+     * @return void
+     */
+    public function disconnect()
+    {
+        $this->ldap->close();
+    }
+
+    /**
+     * Dispatch an event.
+     *
+     * @param object $event
+     *
+     * @return void
+     */
+    public function dispatch($event)
+    {
+        if (isset($this->dispatcher)) {
+            $this->dispatcher->dispatch($event);
+        }
+    }
+
+    /**
+     * Get the attempted hosts that failed connecting to.
+     *
+     * @return array
+     */
+    public function attempted()
+    {
+        return $this->attempted;
+    }
+
+    /**
+     * Perform the operation on the LDAP connection.
+     *
+     * @param Closure $operation
+     *
+     * @return mixed
+     */
+    public function run(Closure $operation)
+    {
+        try {
+            // Before running the operation, we will check if the current
+            // connection is bound and connect if necessary. Otherwise
+            // some LDAP operations will not be executed properly.
+            if (! $this->isConnected()) {
+                $this->connect();
+            }
+
+            return $this->runOperationCallback($operation);
+        } catch (LdapRecordException $e) {
+            if ($exception = $this->getExceptionForCauseOfFailure($e)) {
+                throw $exception;
+            }
+
+            return $this->tryAgainIfCausedByLostConnection($e, $operation);
+        }
+    }
+
+    /**
+     * Attempt to get an exception for the cause of failure.
+     *
+     * @param LdapRecordException $e
+     *
+     * @return mixed
+     */
+    protected function getExceptionForCauseOfFailure(LdapRecordException $e)
+    {
+        switch (true) {
+            case $this->errorContainsMessage($e->getMessage(), 'Already exists'):
+                return Exceptions\AlreadyExistsException::withDetailedError($e, $e->getDetailedError());
+            case $this->errorContainsMessage($e->getMessage(), 'Insufficient access'):
+                return Exceptions\InsufficientAccessException::withDetailedError($e, $e->getDetailedError());
+            case $this->errorContainsMessage($e->getMessage(), 'Constraint violation'):
+                return Exceptions\ConstraintViolationException::withDetailedError($e, $e->getDetailedError());
+            default:
+                return;
+        }
+    }
+
+    /**
+     * Run the operation callback on the current LDAP connection.
+     *
+     * @param Closure $operation
+     *
+     * @throws LdapRecordException
+     *
+     * @return mixed
+     */
+    protected function runOperationCallback(Closure $operation)
+    {
+        return $operation($this->ldap);
+    }
+
+    /**
+     * Get a new auth guard instance.
+     *
+     * @return Auth\Guard
+     */
+    public function auth()
+    {
+        if (! $this->ldap->isConnected()) {
+            $this->initialize();
+        }
+
+        $guard = call_user_func($this->authGuardResolver);
+
+        $guard->setDispatcher(
+            Container::getInstance()->getEventDispatcher()
+        );
+
+        return $guard;
+    }
+
+    /**
+     * Get a new query builder for the connection.
+     *
+     * @return Query\Builder
+     */
+    public function query()
+    {
+        return (new Builder($this))
+            ->setCache($this->cache)
+            ->setBaseDn($this->configuration->get('base_dn'));
+    }
+
+    /**
+     * Determine if the LDAP connection is bound.
+     *
+     * @return bool
+     */
+    public function isConnected()
+    {
+        return $this->ldap->isBound();
+    }
+
+    /**
+     * Attempt to retry an LDAP operation if due to a lost connection.
+     *
+     * @param LdapRecordException $e
+     * @param Closure             $operation
+     *
+     * @throws LdapRecordException
+     *
+     * @return mixed
+     */
+    protected function tryAgainIfCausedByLostConnection(LdapRecordException $e, Closure $operation)
+    {
+        // If the operation failed due to a lost or failed connection,
+        // we'll attempt reconnecting and running the operation again
+        // underneath the same host, and then move onto the next.
+        if ($this->causedByLostConnection($e->getMessage())) {
+            return $this->retry($operation);
+        }
+
+        throw $e;
+    }
+
+    /**
+     * Retry the operation on the current host.
+     *
+     * @param Closure $operation
+     *
+     * @throws LdapRecordException
+     *
+     * @return mixed
+     */
+    protected function retry(Closure $operation)
+    {
+        try {
+            $this->retryingInitialConnection
+                ? $this->reinitialize()
+                : $this->reconnect();
+
+            return $this->runOperationCallback($operation);
+        } catch (LdapRecordException $e) {
+            return $this->retryOnNextHost($e, $operation);
+        }
+    }
+
+    /**
+     * Attempt the operation again on the next host.
+     *
+     * @param LdapRecordException $e
+     * @param Closure             $operation
+     *
+     * @throws LdapRecordException
+     *
+     * @return mixed
+     */
+    protected function retryOnNextHost(LdapRecordException $e, Closure $operation)
+    {
+        $this->attempted[$this->host] = Carbon::now();
+
+        if (($key = array_search($this->host, $this->hosts)) !== false) {
+            unset($this->hosts[$key]);
+        }
+
+        if ($next = reset($this->hosts)) {
+            $this->host = $next;
+
+            return $this->tryAgainIfCausedByLostConnection($e, $operation);
+        }
+
+        call_user_func($this->failed, $this->ldap);
+
+        throw $e;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ConnectionException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ConnectionException.php
new file mode 100644
index 0000000..81691bb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ConnectionException.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord;
+
+class ConnectionException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ConnectionManager.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ConnectionManager.php
new file mode 100644
index 0000000..0eacbc3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ConnectionManager.php
@@ -0,0 +1,320 @@
+<?php
+
+namespace LdapRecord;
+
+use BadMethodCallException;
+use LdapRecord\Events\Dispatcher;
+use LdapRecord\Events\DispatcherInterface;
+use LdapRecord\Events\Logger;
+use Psr\Log\LoggerInterface;
+
+class ConnectionManager
+{
+    /**
+     * The logger instance.
+     *
+     * @var LoggerInterface|null
+     */
+    protected $logger;
+
+    /**
+     * The event dispatcher instance.
+     *
+     * @var DispatcherInterface|null
+     */
+    protected $dispatcher;
+
+    /**
+     * The added LDAP connections.
+     *
+     * @var Connection[]
+     */
+    protected $connections = [];
+
+    /**
+     * The name of the default connection.
+     *
+     * @var string
+     */
+    protected $default = 'default';
+
+    /**
+     * The events to register listeners for during initialization.
+     *
+     * @var array
+     */
+    protected $listen = [
+        'LdapRecord\Auth\Events\*',
+        'LdapRecord\Query\Events\*',
+        'LdapRecord\Models\Events\*',
+    ];
+
+    /**
+     * The method calls to proxy for compatibility.
+     *
+     * To be removed in the next major version.
+     *
+     * @var array
+     */
+    protected $proxy = [
+        'reset' => 'flush',
+        'addConnection' => 'add',
+        'getConnection' => 'get',
+        'allConnections' => 'all',
+        'removeConnection' => 'remove',
+        'getDefaultConnection' => 'getDefault',
+        'setDefaultConnection' => 'setDefault',
+        'getEventDispatcher' => 'dispatcher',
+        'setEventDispatcher' => 'setDispatcher',
+    ];
+
+    /**
+     * Constructor.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->dispatcher = new Dispatcher();
+    }
+
+    /**
+     * Forward missing method calls onto the instance.
+     *
+     * @param string $method
+     * @param mixed  $args
+     *
+     * @return mixed
+     */
+    public function __call($method, $args)
+    {
+        $method = $this->proxy[$method] ?? $method;
+
+        if (! method_exists($this, $method)) {
+            throw new BadMethodCallException(sprintf(
+                'Call to undefined method %s::%s()',
+                static::class,
+                $method
+            ));
+        }
+
+        return $this->{$method}(...$args);
+    }
+
+    /**
+     * Add a new connection.
+     *
+     * @param Connection  $connection
+     * @param string|null $name
+     *
+     * @return $this
+     */
+    public function add(Connection $connection, $name = null)
+    {
+        $this->connections[$name ?? $this->default] = $connection;
+
+        if ($this->dispatcher) {
+            $connection->setDispatcher($this->dispatcher);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Remove a connection.
+     *
+     * @param $name
+     *
+     * @return $this
+     */
+    public function remove($name)
+    {
+        unset($this->connections[$name]);
+
+        return $this;
+    }
+
+    /**
+     * Get all of the connections.
+     *
+     * @return Connection[]
+     */
+    public function all()
+    {
+        return $this->connections;
+    }
+
+    /**
+     * Get a connection by name or return the default.
+     *
+     * @param string|null $name
+     *
+     * @throws ContainerException If the given connection does not exist.
+     *
+     * @return Connection
+     */
+    public function get($name = null)
+    {
+        if ($this->exists($name = $name ?? $this->default)) {
+            return $this->connections[$name];
+        }
+
+        throw new ContainerException("The LDAP connection [$name] does not exist.");
+    }
+
+    /**
+     * Return the default connection.
+     *
+     * @return Connection
+     */
+    public function getDefault()
+    {
+        return $this->get($this->default);
+    }
+
+    /**
+     * Get the default connection name.
+     *
+     * @return string
+     */
+    public function getDefaultConnectionName()
+    {
+        return $this->default;
+    }
+
+    /**
+     * Checks if the connection exists.
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public function exists($name)
+    {
+        return array_key_exists($name, $this->connections);
+    }
+
+    /**
+     * Set the default connection name.
+     *
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setDefault($name = null)
+    {
+        $this->default = $name;
+
+        return $this;
+    }
+
+    /**
+     * Flush the manager of all instances and connections.
+     *
+     * @return $this
+     */
+    public function flush()
+    {
+        $this->logger = null;
+
+        $this->connections = [];
+
+        $this->dispatcher = new Dispatcher();
+
+        return $this;
+    }
+
+    /**
+     * Get the logger instance.
+     *
+     * @return LoggerInterface|null
+     */
+    public function getLogger()
+    {
+        return $this->logger;
+    }
+
+    /**
+     * Set the event logger to use.
+     *
+     * @param LoggerInterface $logger
+     *
+     * @return void
+     */
+    public function setLogger(LoggerInterface $logger)
+    {
+        $this->logger = $logger;
+
+        $this->initEventLogger();
+    }
+
+    /**
+     * Initialize the event logger.
+     *
+     * @return void
+     */
+    public function initEventLogger()
+    {
+        $logger = $this->newEventLogger();
+
+        foreach ($this->listen as $event) {
+            $this->dispatcher->listen($event, function ($eventName, $events) use ($logger) {
+                foreach ($events as $event) {
+                    $logger->log($event);
+                }
+            });
+        }
+    }
+
+    /**
+     * Make a new event logger instance.
+     *
+     * @return Logger
+     */
+    protected function newEventLogger()
+    {
+        return new Logger($this->logger);
+    }
+
+    /**
+     * Unset the logger instance.
+     *
+     * @return void
+     */
+    public function unsetLogger()
+    {
+        $this->logger = null;
+    }
+
+    /**
+     * Get the event dispatcher.
+     *
+     * @return DispatcherInterface|null
+     */
+    public function dispatcher()
+    {
+        return $this->dispatcher;
+    }
+
+    /**
+     * Set the event dispatcher.
+     *
+     * @param DispatcherInterface $dispatcher
+     *
+     * @return void
+     */
+    public function setDispatcher(DispatcherInterface $dispatcher)
+    {
+        $this->dispatcher = $dispatcher;
+    }
+
+    /**
+     * Unset the event dispatcher.
+     *
+     * @return void
+     */
+    public function unsetEventDispatcher()
+    {
+        $this->dispatcher = null;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Container.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Container.php
new file mode 100644
index 0000000..f458951
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Container.php
@@ -0,0 +1,127 @@
+<?php
+
+namespace LdapRecord;
+
+/**
+ * @method static $this reset()
+ * @method static Connection[] all()
+ * @method static Connection[] allConnections()
+ * @method static Connection getDefaultConnection()
+ * @method static Connection get(string|null $name = null)
+ * @method static Connection getConnection(string|null $name = null)
+ * @method static bool exists(string $name)
+ * @method static $this remove(string|null $name = null)
+ * @method static $this removeConnection(string|null $name = null)
+ * @method static $this setDefault(string|null $name = null)
+ * @method static $this setDefaultConnection(string|null $name = null)
+ * @method static $this add(Connection $connection, string|null $name = null)
+ * @method static $this addConnection(Connection $connection, string|null $name = null)
+ */
+class Container
+{
+    /**
+     * The current container instance.
+     *
+     * @var Container
+     */
+    protected static $instance;
+
+    /**
+     * The connection manager instance.
+     *
+     * @var ConnectionManager
+     */
+    protected $manager;
+
+    /**
+     * The methods to passthru, for compatibility.
+     *
+     * @var array
+     */
+    protected $passthru = [
+        'reset', 'flush',
+        'add', 'addConnection',
+        'remove', 'removeConnection',
+        'setDefault', 'setDefaultConnection',
+    ];
+
+    /**
+     * Forward missing static calls onto the current instance.
+     *
+     * @param string $method
+     * @param mixed  $args
+     *
+     * @return mixed
+     */
+    public static function __callStatic($method, $args)
+    {
+        return static::getInstance()->{$method}(...$args);
+    }
+
+    /**
+     * Get or set the current instance of the container.
+     *
+     * @return Container
+     */
+    public static function getInstance()
+    {
+        return static::$instance ?? static::getNewInstance();
+    }
+
+    /**
+     * Set the container instance.
+     *
+     * @param Container|null $container
+     *
+     * @return Container|null
+     */
+    public static function setInstance(self $container = null)
+    {
+        return static::$instance = $container;
+    }
+
+    /**
+     * Set and get a new instance of the container.
+     *
+     * @return Container
+     */
+    public static function getNewInstance()
+    {
+        return static::setInstance(new static());
+    }
+
+    /**
+     * Constructor.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->manager = new ConnectionManager();
+    }
+
+    /**
+     * Forward missing method calls onto the connection manager.
+     *
+     * @param string $method
+     * @param mixed  $args
+     *
+     * @return mixed
+     */
+    public function __call($method, $args)
+    {
+        $value = $this->manager->{$method}(...$args);
+
+        return in_array($method, $this->passthru) ? $this : $value;
+    }
+
+    /**
+     * Get the connection manager.
+     *
+     * @return ConnectionManager
+     */
+    public function manager()
+    {
+        return $this->manager;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ContainerException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ContainerException.php
new file mode 100644
index 0000000..0ab29cf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/ContainerException.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord;
+
+class ContainerException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/DetailedError.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/DetailedError.php
new file mode 100644
index 0000000..d61159e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/DetailedError.php
@@ -0,0 +1,71 @@
+<?php
+
+namespace LdapRecord;
+
+class DetailedError
+{
+    /**
+     * The error code from ldap_errno.
+     *
+     * @var int|null
+     */
+    protected $errorCode;
+
+    /**
+     * The error message from ldap_error.
+     *
+     * @var string|null
+     */
+    protected $errorMessage;
+
+    /**
+     * The diagnostic message when retrieved after an ldap_error.
+     *
+     * @var string|null
+     */
+    protected $diagnosticMessage;
+
+    /**
+     * Constructor.
+     *
+     * @param int    $errorCode
+     * @param string $errorMessage
+     * @param string $diagnosticMessage
+     */
+    public function __construct($errorCode, $errorMessage, $diagnosticMessage)
+    {
+        $this->errorCode = $errorCode;
+        $this->errorMessage = $errorMessage;
+        $this->diagnosticMessage = $diagnosticMessage;
+    }
+
+    /**
+     * Returns the LDAP error code.
+     *
+     * @return int
+     */
+    public function getErrorCode()
+    {
+        return $this->errorCode;
+    }
+
+    /**
+     * Returns the LDAP error message.
+     *
+     * @return string
+     */
+    public function getErrorMessage()
+    {
+        return $this->errorMessage;
+    }
+
+    /**
+     * Returns the LDAP diagnostic message.
+     *
+     * @return string
+     */
+    public function getDiagnosticMessage()
+    {
+        return $this->diagnosticMessage;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/DetectsErrors.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/DetectsErrors.php
new file mode 100644
index 0000000..e8997a9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/DetectsErrors.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace LdapRecord;
+
+trait DetectsErrors
+{
+    /**
+     * Determine if the error was caused by a lost connection.
+     *
+     * @param string $error
+     *
+     * @return bool
+     */
+    protected function causedByLostConnection($error)
+    {
+        return $this->errorContainsMessage($error, ["Can't contact LDAP server", 'Operations error']);
+    }
+
+    /**
+     * Determine if the error was caused by lack of pagination support.
+     *
+     * @param string $error
+     *
+     * @return bool
+     */
+    protected function causedByPaginationSupport($error)
+    {
+        return $this->errorContainsMessage($error, 'No server controls in result');
+    }
+
+    /**
+     * Determine if the error was caused by a size limit warning.
+     *
+     * @param $error
+     *
+     * @return bool
+     */
+    protected function causedBySizeLimit($error)
+    {
+        return $this->errorContainsMessage($error, ['Partial search results returned', 'Size limit exceeded']);
+    }
+
+    /**
+     * Determine if the error was caused by a "No such object" warning.
+     *
+     * @param string $error
+     *
+     * @return bool
+     */
+    protected function causedByNoSuchObject($error)
+    {
+        return $this->errorContainsMessage($error, ['No such object']);
+    }
+
+    /**
+     * Determine if the error contains the any of the messages.
+     *
+     * @param string       $error
+     * @param string|array $messages
+     *
+     * @return bool
+     */
+    protected function errorContainsMessage($error, $messages = [])
+    {
+        foreach ((array) $messages as $message) {
+            if (strpos($error, $message) !== false) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/EscapesValues.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/EscapesValues.php
new file mode 100644
index 0000000..acfc020
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/EscapesValues.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace LdapRecord;
+
+use LdapRecord\Models\Attributes\EscapedValue;
+
+trait EscapesValues
+{
+    /**
+     * Prepare a value to be escaped.
+     *
+     * @param string $value
+     * @param string $ignore
+     * @param int    $flags
+     *
+     * @return EscapedValue
+     */
+    public function escape($value, $ignore = '', $flags = 0)
+    {
+        return new EscapedValue($value, $ignore, $flags);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Connected.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Connected.php
new file mode 100644
index 0000000..d9505da
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Connected.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Events;
+
+class Connected extends ConnectionEvent
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Connecting.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Connecting.php
new file mode 100644
index 0000000..d2922ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Connecting.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Events;
+
+class Connecting extends ConnectionEvent
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/ConnectionEvent.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/ConnectionEvent.php
new file mode 100644
index 0000000..e9c2c35
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/ConnectionEvent.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace LdapRecord\Events;
+
+use LdapRecord\Connection;
+
+abstract class ConnectionEvent
+{
+    /**
+     * The LDAP connection.
+     *
+     * @var Connection
+     */
+    protected $connection;
+
+    /**
+     * Constructor.
+     *
+     * @param Connection $connection
+     */
+    public function __construct(Connection $connection)
+    {
+        $this->connection = $connection;
+    }
+
+    /**
+     * Get the connection pertaining to the event.
+     *
+     * @return Connection
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/ConnectionFailed.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/ConnectionFailed.php
new file mode 100644
index 0000000..7e110c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/ConnectionFailed.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Events;
+
+class ConnectionFailed extends ConnectionEvent
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Dispatcher.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Dispatcher.php
new file mode 100644
index 0000000..a4ae3de
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Dispatcher.php
@@ -0,0 +1,334 @@
+<?php
+
+namespace LdapRecord\Events;
+
+use LdapRecord\Support\Arr;
+
+/**
+ * Class Dispatcher.
+ *
+ * Handles event listening and dispatching.
+ *
+ * This code was taken out of the Laravel Framework core
+ * with broadcasting and queuing omitted to remove
+ * an extra dependency that would be required.
+ *
+ * @author Taylor Otwell
+ *
+ * @see https://github.com/laravel/framework
+ */
+class Dispatcher implements DispatcherInterface
+{
+    /**
+     * The registered event listeners.
+     *
+     * @var array
+     */
+    protected $listeners = [];
+
+    /**
+     * The wildcard listeners.
+     *
+     * @var array
+     */
+    protected $wildcards = [];
+
+    /**
+     * The cached wildcard listeners.
+     *
+     * @var array
+     */
+    protected $wildcardsCache = [];
+
+    /**
+     * @inheritdoc
+     */
+    public function listen($events, $listener)
+    {
+        foreach ((array) $events as $event) {
+            if (strpos($event, '*') !== false) {
+                $this->setupWildcardListen($event, $listener);
+            } else {
+                $this->listeners[$event][] = $this->makeListener($listener);
+            }
+        }
+    }
+
+    /**
+     * Setup a wildcard listener callback.
+     *
+     * @param string $event
+     * @param mixed  $listener
+     *
+     * @return void
+     */
+    protected function setupWildcardListen($event, $listener)
+    {
+        $this->wildcards[$event][] = $this->makeListener($listener, true);
+
+        $this->wildcardsCache = [];
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function hasListeners($eventName)
+    {
+        return isset($this->listeners[$eventName]) || isset($this->wildcards[$eventName]);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function until($event, $payload = [])
+    {
+        return $this->dispatch($event, $payload, true);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function fire($event, $payload = [], $halt = false)
+    {
+        return $this->dispatch($event, $payload, $halt);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function dispatch($event, $payload = [], $halt = false)
+    {
+        // When the given "event" is actually an object we will assume it is an event
+        // object and use the class as the event name and this event itself as the
+        // payload to the handler, which makes object based events quite simple.
+        [$event, $payload] = $this->parseEventAndPayload(
+            $event,
+            $payload
+        );
+
+        $responses = [];
+
+        foreach ($this->getListeners($event) as $listener) {
+            $response = $listener($event, $payload);
+
+            // If a response is returned from the listener and event halting is enabled
+            // we will just return this response, and not call the rest of the event
+            // listeners. Otherwise we will add the response on the response list.
+            if ($halt && ! is_null($response)) {
+                return $response;
+            }
+
+            // If a boolean false is returned from a listener, we will stop propagating
+            // the event to any further listeners down in the chain, else we keep on
+            // looping through the listeners and firing every one in our sequence.
+            if ($response === false) {
+                break;
+            }
+
+            $responses[] = $response;
+        }
+
+        return $halt ? null : $responses;
+    }
+
+    /**
+     * Parse the given event and payload and prepare them for dispatching.
+     *
+     * @param mixed $event
+     * @param mixed $payload
+     *
+     * @return array
+     */
+    protected function parseEventAndPayload($event, $payload)
+    {
+        if (is_object($event)) {
+            [$payload, $event] = [[$event], get_class($event)];
+        }
+
+        return [$event, Arr::wrap($payload)];
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getListeners($eventName)
+    {
+        $listeners = $this->listeners[$eventName] ?? [];
+
+        $listeners = array_merge(
+            $listeners,
+            $this->wildcardsCache[$eventName] ?? $this->getWildcardListeners($eventName)
+        );
+
+        return class_exists($eventName, false)
+            ? $this->addInterfaceListeners($eventName, $listeners)
+            : $listeners;
+    }
+
+    /**
+     * Get the wildcard listeners for the event.
+     *
+     * @param string $eventName
+     *
+     * @return array
+     */
+    protected function getWildcardListeners($eventName)
+    {
+        $wildcards = [];
+
+        foreach ($this->wildcards as $key => $listeners) {
+            if ($this->wildcardContainsEvent($key, $eventName)) {
+                $wildcards = array_merge($wildcards, $listeners);
+            }
+        }
+
+        return $this->wildcardsCache[$eventName] = $wildcards;
+    }
+
+    /**
+     * Determine if the wildcard matches or contains the given event.
+     *
+     * This function is a direct excerpt from Laravel's Str::is().
+     *
+     * @param string $wildcard
+     * @param string $eventName
+     *
+     * @return bool
+     */
+    protected function wildcardContainsEvent($wildcard, $eventName)
+    {
+        $patterns = Arr::wrap($wildcard);
+
+        if (empty($patterns)) {
+            return false;
+        }
+
+        foreach ($patterns as $pattern) {
+            // If the given event is an exact match we can of course return true right
+            // from the beginning. Otherwise, we will translate asterisks and do an
+            // actual pattern match against the two strings to see if they match.
+            if ($pattern == $eventName) {
+                return true;
+            }
+
+            $pattern = preg_quote($pattern, '#');
+
+            // Asterisks are translated into zero-or-more regular expression wildcards
+            // to make it convenient to check if the strings starts with the given
+            // pattern such as "library/*", making any string check convenient.
+            $pattern = str_replace('\*', '.*', $pattern);
+
+            if (preg_match('#^'.$pattern.'\z#u', $eventName) === 1) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Add the listeners for the event's interfaces to the given array.
+     *
+     * @param string $eventName
+     * @param array  $listeners
+     *
+     * @return array
+     */
+    protected function addInterfaceListeners($eventName, array $listeners = [])
+    {
+        foreach (class_implements($eventName) as $interface) {
+            if (isset($this->listeners[$interface])) {
+                foreach ($this->listeners[$interface] as $names) {
+                    $listeners = array_merge($listeners, (array) $names);
+                }
+            }
+        }
+
+        return $listeners;
+    }
+
+    /**
+     * Register an event listener with the dispatcher.
+     *
+     * @param \Closure|string $listener
+     * @param bool            $wildcard
+     *
+     * @return \Closure
+     */
+    public function makeListener($listener, $wildcard = false)
+    {
+        if (is_string($listener)) {
+            return $this->createClassListener($listener, $wildcard);
+        }
+
+        return function ($event, $payload) use ($listener, $wildcard) {
+            if ($wildcard) {
+                return $listener($event, $payload);
+            }
+
+            return $listener(...array_values($payload));
+        };
+    }
+
+    /**
+     * Create a class based listener.
+     *
+     * @param string $listener
+     * @param bool   $wildcard
+     *
+     * @return \Closure
+     */
+    protected function createClassListener($listener, $wildcard = false)
+    {
+        return function ($event, $payload) use ($listener, $wildcard) {
+            if ($wildcard) {
+                return call_user_func($this->createClassCallable($listener), $event, $payload);
+            }
+
+            return call_user_func_array(
+                $this->createClassCallable($listener),
+                $payload
+            );
+        };
+    }
+
+    /**
+     * Create the class based event callable.
+     *
+     * @param string $listener
+     *
+     * @return callable
+     */
+    protected function createClassCallable($listener)
+    {
+        [$class, $method] = $this->parseListenerCallback($listener);
+
+        return [new $class(), $method];
+    }
+
+    /**
+     * Parse the class listener into class and method.
+     *
+     * @param string $listener
+     *
+     * @return array
+     */
+    protected function parseListenerCallback($listener)
+    {
+        return strpos($listener, '@') !== false
+            ? explode('@', $listener, 2)
+            : [$listener, 'handle'];
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function forget($event)
+    {
+        if (strpos($event, '*') !== false) {
+            unset($this->wildcards[$event]);
+        } else {
+            unset($this->listeners[$event]);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/DispatcherInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/DispatcherInterface.php
new file mode 100644
index 0000000..6b7cb10
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/DispatcherInterface.php
@@ -0,0 +1,75 @@
+<?php
+
+namespace LdapRecord\Events;
+
+interface DispatcherInterface
+{
+    /**
+     * Register an event listener with the dispatcher.
+     *
+     * @param string|array $events
+     * @param mixed        $listener
+     *
+     * @return void
+     */
+    public function listen($events, $listener);
+
+    /**
+     * Determine if a given event has listeners.
+     *
+     * @param string $eventName
+     *
+     * @return bool
+     */
+    public function hasListeners($eventName);
+
+    /**
+     * Fire an event until the first non-null response is returned.
+     *
+     * @param string|object $event
+     * @param mixed         $payload
+     *
+     * @return array|null
+     */
+    public function until($event, $payload = []);
+
+    /**
+     * Fire an event and call the listeners.
+     *
+     * @param string|object $event
+     * @param mixed         $payload
+     * @param bool          $halt
+     *
+     * @return mixed
+     */
+    public function fire($event, $payload = [], $halt = false);
+
+    /**
+     * Fire an event and call the listeners.
+     *
+     * @param string|object $event
+     * @param mixed         $payload
+     * @param bool          $halt
+     *
+     * @return array|null
+     */
+    public function dispatch($event, $payload = [], $halt = false);
+
+    /**
+     * Get all of the listeners for a given event name.
+     *
+     * @param string $eventName
+     *
+     * @return array
+     */
+    public function getListeners($eventName);
+
+    /**
+     * Remove a set of listeners from the dispatcher.
+     *
+     * @param string $event
+     *
+     * @return void
+     */
+    public function forget($event);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Logger.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Logger.php
new file mode 100644
index 0000000..f3840c2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Events/Logger.php
@@ -0,0 +1,141 @@
+<?php
+
+namespace LdapRecord\Events;
+
+use LdapRecord\Auth\Events\Event as AuthEvent;
+use LdapRecord\Auth\Events\Failed;
+use LdapRecord\Models\Events\Event as ModelEvent;
+use LdapRecord\Query\Events\QueryExecuted as QueryEvent;
+use Psr\Log\LoggerInterface;
+use ReflectionClass;
+
+class Logger
+{
+    /**
+     * The logger instance.
+     *
+     * @var LoggerInterface|null
+     */
+    protected $logger;
+
+    /**
+     * Constructor.
+     *
+     * @param LoggerInterface|null $logger
+     */
+    public function __construct(LoggerInterface $logger = null)
+    {
+        $this->logger = $logger;
+    }
+
+    /**
+     * Logs the given event.
+     *
+     * @param mixed $event
+     *
+     * @return void
+     */
+    public function log($event)
+    {
+        switch (true) {
+            case $event instanceof AuthEvent:
+                return $this->auth($event);
+            case $event instanceof ModelEvent:
+                return $this->model($event);
+            case $event instanceof QueryEvent:
+                return $this->query($event);
+        }
+    }
+
+    /**
+     * Logs an authentication event.
+     *
+     * @param AuthEvent $event
+     *
+     * @return void
+     */
+    public function auth(AuthEvent $event)
+    {
+        if (isset($this->logger)) {
+            $connection = $event->getConnection();
+
+            $message = "LDAP ({$connection->getHost()})"
+                ." - Operation: {$this->getOperationName($event)}"
+                ." - Username: {$event->getUsername()}";
+
+            $result = null;
+            $type = 'info';
+
+            if (is_a($event, Failed::class)) {
+                $type = 'warning';
+                $result = " - Reason: {$connection->getLastError()}";
+            }
+
+            $this->logger->$type($message.$result);
+        }
+    }
+
+    /**
+     * Logs a model event.
+     *
+     * @param ModelEvent $event
+     *
+     * @return void
+     */
+    public function model(ModelEvent $event)
+    {
+        if (isset($this->logger)) {
+            $model = $event->getModel();
+
+            $on = get_class($model);
+
+            $connection = $model->getConnection()->getLdapConnection();
+
+            $message = "LDAP ({$connection->getHost()})"
+                ." - Operation: {$this->getOperationName($event)}"
+                ." - On: {$on}"
+                ." - Distinguished Name: {$model->getDn()}";
+
+            $this->logger->info($message);
+        }
+    }
+
+    /**
+     * Logs a query event.
+     *
+     * @param QueryEvent $event
+     *
+     * @return void
+     */
+    public function query(QueryEvent $event)
+    {
+        if (isset($this->logger)) {
+            $query = $event->getQuery();
+
+            $connection = $query->getConnection()->getLdapConnection();
+
+            $selected = implode(',', $query->getSelects());
+
+            $message = "LDAP ({$connection->getHost()})"
+                ." - Operation: {$this->getOperationName($event)}"
+                ." - Base DN: {$query->getBaseDn()}"
+                ." - Filter: {$query->getQuery()}"
+                ." - Selected: ({$selected})"
+                ." - Time Elapsed: {$event->getTime()}";
+
+            $this->logger->info($message);
+        }
+    }
+
+    /**
+     * Returns the operational name of the given event.
+     *
+     * @param mixed $event
+     *
+     * @return string
+     */
+    protected function getOperationName($event)
+    {
+        return (new ReflectionClass($event))->getShortName();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/AlreadyExistsException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/AlreadyExistsException.php
new file mode 100644
index 0000000..2298caf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/AlreadyExistsException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace LdapRecord\Exceptions;
+
+use LdapRecord\LdapRecordException;
+
+class AlreadyExistsException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/ConstraintViolationException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/ConstraintViolationException.php
new file mode 100644
index 0000000..641843a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/ConstraintViolationException.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace LdapRecord\Exceptions;
+
+use LdapRecord\DetectsErrors;
+use LdapRecord\LdapRecordException;
+
+class ConstraintViolationException extends LdapRecordException
+{
+    use DetectsErrors;
+
+    /**
+     * Determine if the exception was generated due to the password policy.
+     *
+     * @return bool
+     */
+    public function causedByPasswordPolicy()
+    {
+        return isset($this->detailedError)
+                ? $this->errorContainsMessage($this->detailedError->getDiagnosticMessage(), '0000052D')
+                : false;
+    }
+
+    /**
+     * Determine if the exception was generated due to an incorrect password.
+     *
+     * @return bool
+     */
+    public function causedByIncorrectPassword()
+    {
+        return isset($this->detailedError)
+                ? $this->errorContainsMessage($this->detailedError->getDiagnosticMessage(), '00000056')
+                : false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/InsufficientAccessException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/InsufficientAccessException.php
new file mode 100644
index 0000000..89c55fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Exceptions/InsufficientAccessException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace LdapRecord\Exceptions;
+
+use LdapRecord\LdapRecordException;
+
+class InsufficientAccessException extends LdapRecordException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/HandlesConnection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/HandlesConnection.php
new file mode 100644
index 0000000..41334b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/HandlesConnection.php
@@ -0,0 +1,261 @@
+<?php
+
+namespace LdapRecord;
+
+use Closure;
+use ErrorException;
+use Exception;
+
+trait HandlesConnection
+{
+    /**
+     * The LDAP host that is currently connected.
+     *
+     * @var string|null
+     */
+    protected $host;
+
+    /**
+     * The LDAP connection resource.
+     *
+     * @var resource|null
+     */
+    protected $connection;
+
+    /**
+     * The bound status of the connection.
+     *
+     * @var bool
+     */
+    protected $bound = false;
+
+    /**
+     * Whether the connection must be bound over SSL.
+     *
+     * @var bool
+     */
+    protected $useSSL = false;
+
+    /**
+     * Whether the connection must be bound over TLS.
+     *
+     * @var bool
+     */
+    protected $useTLS = false;
+
+    /**
+     * @inheritdoc
+     */
+    public function isUsingSSL()
+    {
+        return $this->useSSL;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function isUsingTLS()
+    {
+        return $this->useTLS;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function isBound()
+    {
+        return $this->bound;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function isConnected()
+    {
+        return ! is_null($this->connection);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function canChangePasswords()
+    {
+        return $this->isUsingSSL() || $this->isUsingTLS();
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function ssl($enabled = true)
+    {
+        $this->useSSL = $enabled;
+
+        return $this;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function tls($enabled = true)
+    {
+        $this->useTLS = $enabled;
+
+        return $this;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function setOptions(array $options = [])
+    {
+        foreach ($options as $option => $value) {
+            $this->setOption($option, $value);
+        }
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getHost()
+    {
+        return $this->host;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getProtocol()
+    {
+        return $this->isUsingSSL() ? LdapInterface::PROTOCOL_SSL : LdapInterface::PROTOCOL;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getExtendedError()
+    {
+        return $this->getDiagnosticMessage();
+    }
+
+    /**
+     * Convert warnings to exceptions for the given operation.
+     *
+     * @param Closure $operation
+     *
+     * @throws LdapRecordException
+     *
+     * @return mixed
+     */
+    protected function executeFailableOperation(Closure $operation)
+    {
+        // If some older versions of PHP, errors are reported instead of throwing
+        // exceptions, which could be a signifcant detriment to our application.
+        // Here, we will enforce these operations to throw exceptions instead.
+        set_error_handler(function ($severity, $message, $file, $line) {
+            if (! $this->shouldBypassError($message)) {
+                throw new ErrorException($message, $severity, $severity, $file, $line);
+            }
+        });
+
+        try {
+            if (($result = $operation()) !== false) {
+                return $result;
+            }
+
+            // If the failed query operation was a based on a query being executed
+            // -- such as a search, read, or listing, then we can safely return
+            // the failed response here and prevent throwning an exception.
+            if ($this->shouldBypassFailure($method = debug_backtrace()[1]['function'])) {
+                return $result;
+            }
+
+            throw new Exception("LDAP operation [$method] failed.");
+        } catch (ErrorException $e) {
+            throw LdapRecordException::withDetailedError($e, $this->getDetailedError());
+        } finally {
+            restore_error_handler();
+        }
+    }
+
+    /**
+     * Determine if the failed operation should be bypassed.
+     *
+     * @param string $method
+     *
+     * @return bool
+     */
+    protected function shouldBypassFailure($method)
+    {
+        return in_array($method, ['search', 'read', 'listing']);
+    }
+
+    /**
+     * Determine if the error should be bypassed.
+     *
+     * @param string $error
+     *
+     * @return bool
+     */
+    protected function shouldBypassError($error)
+    {
+        return $this->causedByPaginationSupport($error) || $this->causedBySizeLimit($error) || $this->causedByNoSuchObject($error);
+    }
+
+    /**
+     * Determine if the current PHP version supports server controls.
+     *
+     * @deprecated since v2.5.0
+     *
+     * @return bool
+     */
+    public function supportsServerControlsInMethods()
+    {
+        return version_compare(PHP_VERSION, '7.3.0') >= 0;
+    }
+
+    /**
+     * Generates an LDAP connection string for each host given.
+     *
+     * @param string|array $hosts
+     * @param string       $port
+     *
+     * @return string
+     */
+    protected function makeConnectionUris($hosts, $port)
+    {
+        // If an attempt to connect via SSL protocol is being performed,
+        // and we are still using the default port, we will swap it
+        // for the default SSL port, for developer convenience.
+        if ($this->isUsingSSL() && $port == LdapInterface::PORT) {
+            $port = LdapInterface::PORT_SSL;
+        }
+
+        // The blank space here is intentional. PHP's LDAP extension
+        // requires additional hosts to be seperated by a blank
+        // space, so that it can parse each individually.
+        return implode(' ', $this->assembleHostUris($hosts, $port));
+    }
+
+    /**
+     * Assemble the host URI strings.
+     *
+     * @param array|string $hosts
+     * @param string       $port
+     *
+     * @return array
+     */
+    protected function assembleHostUris($hosts, $port)
+    {
+        return array_map(function ($host) use ($port) {
+            return "{$this->getProtocol()}{$host}:{$port}";
+        }, (array) $hosts);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Ldap.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Ldap.php
new file mode 100644
index 0000000..6503cea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Ldap.php
@@ -0,0 +1,480 @@
+<?php
+
+namespace LdapRecord;
+
+class Ldap implements LdapInterface
+{
+    use HandlesConnection, DetectsErrors;
+
+    /**
+     * @inheritdoc
+     */
+    public function getEntries($searchResults)
+    {
+        return $this->executeFailableOperation(function () use ($searchResults) {
+            return ldap_get_entries($this->connection, $searchResults);
+        });
+    }
+
+    /**
+     * Retrieves the first entry from a search result.
+     *
+     * @see http://php.net/manual/en/function.ldap-first-entry.php
+     *
+     * @param resource $searchResults
+     *
+     * @return resource
+     */
+    public function getFirstEntry($searchResults)
+    {
+        return $this->executeFailableOperation(function () use ($searchResults) {
+            return ldap_first_entry($this->connection, $searchResults);
+        });
+    }
+
+    /**
+     * Retrieves the next entry from a search result.
+     *
+     * @see http://php.net/manual/en/function.ldap-next-entry.php
+     *
+     * @param resource $entry
+     *
+     * @return resource
+     */
+    public function getNextEntry($entry)
+    {
+        return $this->executeFailableOperation(function () use ($entry) {
+            return ldap_next_entry($this->connection, $entry);
+        });
+    }
+
+    /**
+     * Retrieves the ldap entry's attributes.
+     *
+     * @see http://php.net/manual/en/function.ldap-get-attributes.php
+     *
+     * @param resource $entry
+     *
+     * @return array|false
+     */
+    public function getAttributes($entry)
+    {
+        return $this->executeFailableOperation(function () use ($entry) {
+            return ldap_get_attributes($this->connection, $entry);
+        });
+    }
+
+    /**
+     * Returns the number of entries from a search result.
+     *
+     * @see http://php.net/manual/en/function.ldap-count-entries.php
+     *
+     * @param resource $searchResults
+     *
+     * @return int
+     */
+    public function countEntries($searchResults)
+    {
+        return $this->executeFailableOperation(function () use ($searchResults) {
+            return ldap_count_entries($this->connection, $searchResults);
+        });
+    }
+
+    /**
+     * Compare value of attribute found in entry specified with DN.
+     *
+     * @see http://php.net/manual/en/function.ldap-compare.php
+     *
+     * @param string $dn
+     * @param string $attribute
+     * @param string $value
+     *
+     * @return mixed
+     */
+    public function compare($dn, $attribute, $value)
+    {
+        return $this->executeFailableOperation(function () use ($dn, $attribute, $value) {
+            return ldap_compare($this->connection, $dn, $attribute, $value);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getLastError()
+    {
+        if (! $this->connection) {
+            return;
+        }
+
+        return ldap_error($this->connection);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getDetailedError()
+    {
+        if (! $number = $this->errNo()) {
+            return;
+        }
+
+        $this->getOption(LDAP_OPT_DIAGNOSTIC_MESSAGE, $message);
+
+        return new DetailedError($number, $this->err2Str($number), $message);
+    }
+
+    /**
+     * Get all binary values from the specified result entry.
+     *
+     * @see http://php.net/manual/en/function.ldap-get-values-len.php
+     *
+     * @param $entry
+     * @param $attribute
+     *
+     * @return array
+     */
+    public function getValuesLen($entry, $attribute)
+    {
+        return $this->executeFailableOperation(function () use ($entry, $attribute) {
+            return ldap_get_values_len($this->connection, $entry, $attribute);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function setOption($option, $value)
+    {
+        return ldap_set_option($this->connection, $option, $value);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getOption($option, &$value = null)
+    {
+        ldap_get_option($this->connection, $option, $value);
+
+        return $value;
+    }
+
+    /**
+     * Set a callback function to do re-binds on referral chasing.
+     *
+     * @see http://php.net/manual/en/function.ldap-set-rebind-proc.php
+     *
+     * @param callable $callback
+     *
+     * @return bool
+     */
+    public function setRebindCallback(callable $callback)
+    {
+        return ldap_set_rebind_proc($this->connection, $callback);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function startTLS()
+    {
+        return $this->executeFailableOperation(function () {
+            return ldap_start_tls($this->connection);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function connect($hosts = [], $port = 389)
+    {
+        $this->bound = false;
+
+        $this->host = $this->makeConnectionUris($hosts, $port);
+
+        return $this->connection = $this->executeFailableOperation(function () {
+            return ldap_connect($this->host);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function close()
+    {
+        $result = is_resource($this->connection) ? @ldap_close($this->connection) : false;
+
+        $this->connection = null;
+        $this->bound = false;
+        $this->host = null;
+
+        return $result;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function search($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = [])
+    {
+        return $this->executeFailableOperation(function () use (
+            $dn,
+            $filter,
+            $fields,
+            $onlyAttributes,
+            $size,
+            $time,
+            $deref,
+            $serverControls
+        ) {
+            return empty($serverControls)
+                ? ldap_search($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time, $deref)
+                : ldap_search($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time, $deref, $serverControls);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function listing($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = [])
+    {
+        return $this->executeFailableOperation(function () use (
+            $dn,
+            $filter,
+            $fields,
+            $onlyAttributes,
+            $size,
+            $time,
+            $deref,
+            $serverControls
+        ) {
+            return empty($serverControls)
+                ? ldap_list($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time, $deref)
+                : ldap_list($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time, $deref, $serverControls);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function read($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = [])
+    {
+        return $this->executeFailableOperation(function () use (
+            $dn,
+            $filter,
+            $fields,
+            $onlyAttributes,
+            $size,
+            $time,
+            $deref,
+            $serverControls
+        ) {
+            return empty($serverControls)
+                ? ldap_read($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time, $deref)
+                : ldap_read($this->connection, $dn, $filter, $fields, $onlyAttributes, $size, $time, $deref, $serverControls);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function parseResult($result, &$errorCode, &$dn, &$errorMessage, &$referrals, &$serverControls = [])
+    {
+        return $this->executeFailableOperation(function () use (
+            $result,
+            &$errorCode,
+            &$dn,
+            &$errorMessage,
+            &$referrals,
+            &$serverControls
+        ) {
+            return empty($serverControls)
+                ? ldap_parse_result($this->connection, $result, $errorCode, $dn, $errorMessage, $referrals)
+                : ldap_parse_result($this->connection, $result, $errorCode, $dn, $errorMessage, $referrals, $serverControls);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function bind($username, $password)
+    {
+        return $this->bound = $this->executeFailableOperation(function () use ($username, $password) {
+            return ldap_bind($this->connection, $username, html_entity_decode($password));
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function add($dn, array $entry)
+    {
+        return $this->executeFailableOperation(function () use ($dn, $entry) {
+            return ldap_add($this->connection, $dn, $entry);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function delete($dn)
+    {
+        return $this->executeFailableOperation(function () use ($dn) {
+            return ldap_delete($this->connection, $dn);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function rename($dn, $newRdn, $newParent, $deleteOldRdn = false)
+    {
+        return $this->executeFailableOperation(function () use (
+            $dn,
+            $newRdn,
+            $newParent,
+            $deleteOldRdn
+        ) {
+            return ldap_rename($this->connection, $dn, $newRdn, $newParent, $deleteOldRdn);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modify($dn, array $entry)
+    {
+        return $this->executeFailableOperation(function () use ($dn, $entry) {
+            return ldap_modify($this->connection, $dn, $entry);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modifyBatch($dn, array $values)
+    {
+        return $this->executeFailableOperation(function () use ($dn, $values) {
+            return ldap_modify_batch($this->connection, $dn, $values);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modAdd($dn, array $entry)
+    {
+        return $this->executeFailableOperation(function () use ($dn, $entry) {
+            return ldap_mod_add($this->connection, $dn, $entry);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modReplace($dn, array $entry)
+    {
+        return $this->executeFailableOperation(function () use ($dn, $entry) {
+            return ldap_mod_replace($this->connection, $dn, $entry);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modDelete($dn, array $entry)
+    {
+        return $this->executeFailableOperation(function () use ($dn, $entry) {
+            return ldap_mod_del($this->connection, $dn, $entry);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function controlPagedResult($pageSize = 1000, $isCritical = false, $cookie = '')
+    {
+        return $this->executeFailableOperation(function () use ($pageSize, $isCritical, $cookie) {
+            return ldap_control_paged_result($this->connection, $pageSize, $isCritical, $cookie);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function controlPagedResultResponse($result, &$cookie, &$estimated = null)
+    {
+        return $this->executeFailableOperation(function () use ($result, &$cookie, &$estimated) {
+            return ldap_control_paged_result_response($this->connection, $result, $cookie, $estimated);
+        });
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function freeResult($result)
+    {
+        return ldap_free_result($result);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function errNo()
+    {
+        return $this->connection ? ldap_errno($this->connection) : null;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function err2Str($number)
+    {
+        return ldap_err2str($number);
+    }
+
+    /**
+     * Returns the extended error hex code of the last command.
+     *
+     * @return string|null
+     */
+    public function getExtendedErrorHex()
+    {
+        if (preg_match("/(?<=data\s).*?(?=,)/", $this->getExtendedError(), $code)) {
+            return $code[0];
+        }
+    }
+
+    /**
+     * Returns the extended error code of the last command.
+     *
+     * @return bool|string
+     */
+    public function getExtendedErrorCode()
+    {
+        return $this->extractDiagnosticCode($this->getExtendedError());
+    }
+
+    /**
+     * Extract the diagnostic code from the message.
+     *
+     * @param string $message
+     *
+     * @return string|bool
+     */
+    public function extractDiagnosticCode($message)
+    {
+        preg_match('/^([\da-fA-F]+):/', $message, $matches);
+
+        return isset($matches[1]) ? $matches[1] : false;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getDiagnosticMessage()
+    {
+        $this->getOption(LDAP_OPT_ERROR_STRING, $message);
+
+        return $message;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/LdapInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/LdapInterface.php
new file mode 100644
index 0000000..a1773ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/LdapInterface.php
@@ -0,0 +1,517 @@
+<?php
+
+namespace LdapRecord;
+
+interface LdapInterface
+{
+    /**
+     * The SSL LDAP protocol string.
+     *
+     * @var string
+     */
+    const PROTOCOL_SSL = 'ldaps://';
+
+    /**
+     * The standard LDAP protocol string.
+     *
+     * @var string
+     */
+    const PROTOCOL = 'ldap://';
+
+    /**
+     * The LDAP SSL port number.
+     *
+     * @var string
+     */
+    const PORT_SSL = 636;
+
+    /**
+     * The standard LDAP port number.
+     *
+     * @var string
+     */
+    const PORT = 389;
+
+    /**
+     * Various useful server control OID's.
+     *
+     * @see https://ldap.com/ldap-oid-reference-guide/
+     * @see http://msdn.microsoft.com/en-us/library/cc223359.aspx
+     */
+    const OID_SERVER_START_TLS = '1.3.6.1.4.1.1466.20037';
+    const OID_SERVER_PAGED_RESULTS = '1.2.840.113556.1.4.319';
+    const OID_SERVER_SHOW_DELETED = '1.2.840.113556.1.4.417';
+    const OID_SERVER_SORT = '1.2.840.113556.1.4.473';
+    const OID_SERVER_CROSSDOM_MOVE_TARGET = '1.2.840.113556.1.4.521';
+    const OID_SERVER_NOTIFICATION = '1.2.840.113556.1.4.528';
+    const OID_SERVER_EXTENDED_DN = '1.2.840.113556.1.4.529';
+    const OID_SERVER_LAZY_COMMIT = '1.2.840.113556.1.4.619';
+    const OID_SERVER_SD_FLAGS = '1.2.840.113556.1.4.801';
+    const OID_SERVER_TREE_DELETE = '1.2.840.113556.1.4.805';
+    const OID_SERVER_DIRSYNC = '1.2.840.113556.1.4.841';
+    const OID_SERVER_VERIFY_NAME = '1.2.840.113556.1.4.1338';
+    const OID_SERVER_DOMAIN_SCOPE = '1.2.840.113556.1.4.1339';
+    const OID_SERVER_SEARCH_OPTIONS = '1.2.840.113556.1.4.1340';
+    const OID_SERVER_PERMISSIVE_MODIFY = '1.2.840.113556.1.4.1413';
+    const OID_SERVER_ASQ = '1.2.840.113556.1.4.1504';
+    const OID_SERVER_FAST_BIND = '1.2.840.113556.1.4.1781';
+    const OID_SERVER_CONTROL_VLVREQUEST = '2.16.840.1.113730.3.4.9';
+
+    /**
+     * Query OID's.
+     *
+     * @see https://ldapwiki.com/wiki/LDAP_MATCHING_RULE_IN_CHAIN
+     */
+    const OID_MATCHING_RULE_IN_CHAIN = '1.2.840.113556.1.4.1941';
+
+    /**
+     * Set the current connection to use SSL.
+     *
+     * @param bool $enabled
+     *
+     * @return $this
+     */
+    public function ssl();
+
+    /**
+     * Determine if the current connection instance is using SSL.
+     *
+     * @return bool
+     */
+    public function isUsingSSL();
+
+    /**
+     * Set the current connection to use TLS.
+     *
+     * @param bool $enabled
+     *
+     * @return $this
+     */
+    public function tls();
+
+    /**
+     * Determine if the current connection instance is using TLS.
+     *
+     * @return bool
+     */
+    public function isUsingTLS();
+
+    /**
+     * Determine if the connection is bound.
+     *
+     * @return bool
+     */
+    public function isBound();
+
+    /**
+     * Determine if the connection has been created.
+     *
+     * @return bool
+     */
+    public function isConnected();
+
+    /**
+     * Determine the connection is able to modify passwords.
+     *
+     * @return bool
+     */
+    public function canChangePasswords();
+
+    /**
+     * Returns the full LDAP host URL.
+     *
+     * Ex: ldap://192.168.1.1:386
+     *
+     * @return string|null
+     */
+    public function getHost();
+
+    /**
+     * Get the underlying connection resource.
+     *
+     * @return resource|null
+     */
+    public function getConnection();
+
+    /**
+     * Retrieve the entries from a search result.
+     *
+     * @see http://php.net/manual/en/function.ldap-get-entries.php
+     *
+     * @param resource $searchResults
+     *
+     * @return array
+     */
+    public function getEntries($searchResults);
+
+    /**
+     * Retrieve the last error on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-error.php
+     *
+     * @return string|null
+     */
+    public function getLastError();
+
+    /**
+     * Return detailed information about an error.
+     *
+     * Returns false when there was a successful last request.
+     *
+     * Returns DetailedError when there was an error.
+     *
+     * @return DetailedError|null
+     */
+    public function getDetailedError();
+
+    /**
+     * Set an option on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-set-option.php
+     *
+     * @param int   $option
+     * @param mixed $value
+     *
+     * @return bool
+     */
+    public function setOption($option, $value);
+
+    /**
+     * Set options on the current connection.
+     *
+     * @param array $options
+     *
+     * @return void
+     */
+    public function setOptions(array $options = []);
+
+    /**
+     * Get the value for the LDAP option.
+     *
+     * @see https://www.php.net/manual/en/function.ldap-get-option.php
+     *
+     * @param int   $option
+     * @param mixed $value
+     *
+     * @return mixed
+     */
+    public function getOption($option, &$value = null);
+
+    /**
+     * Starts a connection using TLS.
+     *
+     * @see http://php.net/manual/en/function.ldap-start-tls.php
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function startTLS();
+
+    /**
+     * Connects to the specified hostname using the specified port.
+     *
+     * @see http://php.net/manual/en/function.ldap-start-tls.php
+     *
+     * @param string|array $hosts
+     * @param int          $port
+     *
+     * @return resource|false
+     */
+    public function connect($hosts = [], $port = 389);
+
+    /**
+     * Closes the current connection.
+     *
+     * Returns false if no connection is present.
+     *
+     * @see http://php.net/manual/en/function.ldap-close.php
+     *
+     * @return bool
+     */
+    public function close();
+
+    /**
+     * Performs a search on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-search.php
+     *
+     * @param string $dn
+     * @param string $filter
+     * @param array  $fields
+     * @param bool   $onlyAttributes
+     * @param int    $size
+     * @param int    $time
+     * @param int    $deref
+     * @param array  $serverControls
+     *
+     * @return resource
+     */
+    public function search($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = []);
+
+    /**
+     * Performs a single level search on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-list.php
+     *
+     * @param string $dn
+     * @param string $filter
+     * @param array  $fields
+     * @param bool   $onlyAttributes
+     * @param int    $size
+     * @param int    $time
+     * @param int    $deref
+     * @param array  $serverControls
+     *
+     * @return resource
+     */
+    public function listing($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = []);
+
+    /**
+     * Reads an entry on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-read.php
+     *
+     * @param string $dn
+     * @param string $filter
+     * @param array  $fields
+     * @param bool   $onlyAttributes
+     * @param int    $size
+     * @param int    $time
+     * @param int    $deref
+     * @param array  $serverControls
+     *
+     * @return resource
+     */
+    public function read($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = []);
+
+    /**
+     * Extract information from an LDAP result.
+     *
+     * @see https://www.php.net/manual/en/function.ldap-parse-result.php
+     *
+     * @param resource $result
+     * @param int      $errorCode
+     * @param string   $dn
+     * @param string   $errorMessage
+     * @param array    $referrals
+     * @param array    $serverControls
+     *
+     * @return bool
+     */
+    public function parseResult($result, &$errorCode, &$dn, &$errorMessage, &$referrals, &$serverControls = []);
+
+    /**
+     * Binds to the current connection using the specified username and password.
+     * If sasl is true, the current connection is bound using SASL.
+     *
+     * @see http://php.net/manual/en/function.ldap-bind.php
+     *
+     * @param string $username
+     * @param string $password
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function bind($username, $password);
+
+    /**
+     * Adds an entry to the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-add.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function add($dn, array $entry);
+
+    /**
+     * Deletes an entry on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-delete.php
+     *
+     * @param string $dn
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function delete($dn);
+
+    /**
+     * Modify the name of an entry on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-rename.php
+     *
+     * @param string $dn
+     * @param string $newRdn
+     * @param string $newParent
+     * @param bool   $deleteOldRdn
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function rename($dn, $newRdn, $newParent, $deleteOldRdn = false);
+
+    /**
+     * Modifies an existing entry on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-modify.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function modify($dn, array $entry);
+
+    /**
+     * Batch modifies an existing entry on the current connection.
+     *
+     * @see http://php.net/manual/en/function.ldap-modify-batch.php
+     *
+     * @param string $dn
+     * @param array  $values
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function modifyBatch($dn, array $values);
+
+    /**
+     * Add attribute values to current attributes.
+     *
+     * @see http://php.net/manual/en/function.ldap-mod-add.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function modAdd($dn, array $entry);
+
+    /**
+     * Replaces attribute values with new ones.
+     *
+     * @see http://php.net/manual/en/function.ldap-mod-replace.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function modReplace($dn, array $entry);
+
+    /**
+     * Delete attribute values from current attributes.
+     *
+     * @see http://php.net/manual/en/function.ldap-mod-del.php
+     *
+     * @param string $dn
+     * @param array  $entry
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function modDelete($dn, array $entry);
+
+    /**
+     * Send LDAP pagination control.
+     *
+     * @see http://php.net/manual/en/function.ldap-control-paged-result.php
+     *
+     * @param int    $pageSize
+     * @param bool   $isCritical
+     * @param string $cookie
+     *
+     * @return bool
+     */
+    public function controlPagedResult($pageSize = 1000, $isCritical = false, $cookie = '');
+
+    /**
+     * Retrieve the LDAP pagination cookie.
+     *
+     * @see http://php.net/manual/en/function.ldap-control-paged-result-response.php
+     *
+     * @param resource $result
+     * @param string   $cookie
+     *
+     * @return bool
+     */
+    public function controlPagedResultResponse($result, &$cookie);
+
+    /**
+     * Frees up the memory allocated internally to store the result.
+     *
+     * @see https://www.php.net/manual/en/function.ldap-free-result.php
+     *
+     * @param resource $result
+     *
+     * @return bool
+     */
+    public function freeResult($result);
+
+    /**
+     * Returns the error number of the last command executed.
+     *
+     * @see http://php.net/manual/en/function.ldap-errno.php
+     *
+     * @return int|null
+     */
+    public function errNo();
+
+    /**
+     * Returns the error string of the specified error number.
+     *
+     * @see http://php.net/manual/en/function.ldap-err2str.php
+     *
+     * @param int $number
+     *
+     * @return string
+     */
+    public function err2Str($number);
+
+    /**
+     * Returns the LDAP protocol to utilize for the current connection.
+     *
+     * @return string
+     */
+    public function getProtocol();
+
+    /**
+     * Returns the extended error code of the last command.
+     *
+     * @return string
+     */
+    public function getExtendedError();
+
+    /**
+     * Return the diagnostic Message.
+     *
+     * @return string
+     */
+    public function getDiagnosticMessage();
+
+    /**
+     * Determine if the current PHP version supports server controls.
+     *
+     * @deprecated since v2.5.0
+     *
+     * @return bool
+     */
+    public function supportsServerControlsInMethods();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/LdapRecordException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/LdapRecordException.php
new file mode 100644
index 0000000..b2439bf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/LdapRecordException.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace LdapRecord;
+
+use Exception;
+
+class LdapRecordException extends Exception
+{
+    /**
+     * The detailed LDAP error (if available).
+     *
+     * @var DetailedError|null
+     */
+    protected $detailedError;
+
+    /**
+     * Create a new Bind Exception with a detailed connection error.
+     *
+     * @param Exception          $e
+     * @param DetailedError|null $error
+     *
+     * @return $this
+     */
+    public static function withDetailedError(Exception $e, DetailedError $error = null)
+    {
+        return (new static($e->getMessage(), $e->getCode(), $e))->setDetailedError($error);
+    }
+
+    /**
+     * Set the detailed error.
+     *
+     * @param DetailedError|null $error
+     *
+     * @return $this
+     */
+    public function setDetailedError(DetailedError $error = null)
+    {
+        $this->detailedError = $error;
+
+        return $this;
+    }
+
+    /**
+     * Returns the detailed error.
+     *
+     * @return DetailedError|null
+     */
+    public function getDetailedError()
+    {
+        return $this->detailedError;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Computer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Computer.php
new file mode 100644
index 0000000..72db0a0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Computer.php
@@ -0,0 +1,55 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+use LdapRecord\Models\ActiveDirectory\Concerns\HasPrimaryGroup;
+
+class Computer extends Entry
+{
+    use HasPrimaryGroup;
+
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'person',
+        'organizationalperson',
+        'user',
+        'computer',
+    ];
+
+    /**
+     * The groups relationship.
+     *
+     * Retrieves groups that the current computer is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(Group::class, 'member')->with($this->primaryGroup());
+    }
+
+    /**
+     * The primary group relationship.
+     *
+     * @return Relations\HasOnePrimaryGroup
+     */
+    public function primaryGroup()
+    {
+        return $this->hasOnePrimaryGroup(Group::class, 'primarygroupid');
+    }
+
+    /**
+     * The managed by relationship.
+     *
+     * @return \LdapRecord\Models\Relations\HasOne
+     */
+    public function managedBy()
+    {
+        return $this->hasOne([Contact::class, Group::class, User::class], 'managedby');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Concerns/HasPrimaryGroup.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Concerns/HasPrimaryGroup.php
new file mode 100644
index 0000000..97fd3a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Concerns/HasPrimaryGroup.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory\Concerns;
+
+use LdapRecord\Models\ActiveDirectory\Relations\HasOnePrimaryGroup;
+
+trait HasPrimaryGroup
+{
+    /**
+     * Returns a new has one primary group relationship.
+     *
+     * @param mixed  $related
+     * @param string $relationKey
+     * @param string $foreignKey
+     *
+     * @return HasOnePrimaryGroup
+     */
+    public function hasOnePrimaryGroup($related, $relationKey, $foreignKey = 'primarygroupid')
+    {
+        return new HasOnePrimaryGroup($this->newQuery(), $this, $related, $relationKey, $foreignKey);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Contact.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Contact.php
new file mode 100644
index 0000000..52c451f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Contact.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class Contact extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'person',
+        'organizationalperson',
+        'contact',
+    ];
+
+    /**
+     * The groups relationship.
+     *
+     * Retrieves groups that the current contact is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(Group::class, 'member');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Container.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Container.php
new file mode 100644
index 0000000..1636cf3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Container.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class Container extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'container',
+    ];
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Entry.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Entry.php
new file mode 100644
index 0000000..79a9d63
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Entry.php
@@ -0,0 +1,167 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+use InvalidArgumentException;
+use LdapRecord\Connection;
+use LdapRecord\Models\Attributes\Sid;
+use LdapRecord\Models\Entry as BaseEntry;
+use LdapRecord\Models\Events\Updated;
+use LdapRecord\Models\Types\ActiveDirectory;
+use LdapRecord\Query\Model\ActiveDirectoryBuilder;
+
+/** @mixin ActiveDirectoryBuilder */
+class Entry extends BaseEntry implements ActiveDirectory
+{
+    /**
+     * The default attributes that should be mutated to dates.
+     *
+     * @var array
+     */
+    protected $defaultDates = [
+        'whenchanged' => 'windows',
+        'whencreated' => 'windows',
+        'dscorepropagationdata' => 'windows',
+    ];
+
+    /**
+     * The attribute key that contains the Object SID.
+     *
+     * @var string
+     */
+    protected $sidKey = 'objectsid';
+
+    /**
+     * @inheritdoc
+     */
+    public function getObjectSidKey()
+    {
+        return $this->sidKey;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getObjectSid()
+    {
+        return $this->getFirstAttribute($this->sidKey);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getConvertedSid()
+    {
+        try {
+            return (string) new Sid($this->getObjectSid());
+        } catch (InvalidArgumentException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Create a new query builder.
+     *
+     * @param Connection $connection
+     *
+     * @return ActiveDirectoryBuilder
+     */
+    public function newQueryBuilder(Connection $connection)
+    {
+        return new ActiveDirectoryBuilder($connection);
+    }
+
+    /**
+     * Determine if the object is deleted.
+     *
+     * @return bool
+     */
+    public function isDeleted()
+    {
+        return strtoupper($this->getFirstAttribute('isDeleted')) === 'TRUE';
+    }
+
+    /**
+     * Restore a deleted object.
+     *
+     * @param string|null $newParentDn
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return bool
+     */
+    public function restore($newParentDn = null)
+    {
+        if (! $this->isDeleted()) {
+            return false;
+        }
+
+        $root = $newParentDn ?? $this->getDefaultRestoreLocation();
+        $rdn = explode('\0A', $this->getDn(), 2)[0];
+        $newDn = implode(',', [$rdn, $root]);
+
+        // We will initialize a model listener for the "updated" event to set
+        // the models distinguished name so all attributes are synchronized
+        // properly after the model has been successfully restored.
+        $this->listenForModelEvent(Updated::class, function (Updated $event) use ($newDn) {
+            if ($this->is($event->getModel())) {
+                $this->setDn($newDn);
+            }
+        });
+
+        $this->save([
+            'isDeleted' => null,
+            'distinguishedName' => $newDn,
+        ]);
+    }
+
+    /**
+     * Get the RootDSE (AD schema) record from the directory.
+     *
+     * @param string|null $connection
+     *
+     * @throws \LdapRecord\Models\ModelNotFoundException
+     *
+     * @return static
+     */
+    public static function getRootDse($connection = null)
+    {
+        return static::on($connection ?? (new static())->getConnectionName())
+            ->in(null)
+            ->read()
+            ->whereHas('objectclass')
+            ->firstOrFail();
+    }
+
+    /**
+     * Get the objects restore location.
+     *
+     * @return string
+     */
+    protected function getDefaultRestoreLocation()
+    {
+        return $this->getFirstAttribute('lastKnownParent') ?? $this->getParentDn($this->getParentDn($this->getDn()));
+    }
+
+    /**
+     * Converts attributes for JSON serialization.
+     *
+     * @param array $attributes
+     *
+     * @return array
+     */
+    protected function convertAttributesForJson(array $attributes = [])
+    {
+        $attributes = parent::convertAttributesForJson($attributes);
+
+        if ($this->hasAttribute($this->sidKey)) {
+            // If the model has a SID set, we need to convert it due to it being in
+            // binary. Otherwise we will receive a JSON serialization exception.
+            return array_replace($attributes, [
+                $this->sidKey => [$this->getConvertedSid()],
+            ]);
+        }
+
+        return $attributes;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ExchangeDatabase.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ExchangeDatabase.php
new file mode 100644
index 0000000..77abbbc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ExchangeDatabase.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class ExchangeDatabase extends Entry
+{
+    /**
+     * @inheritdoc
+     */
+    public static $objectClasses = ['msExchMDB'];
+
+    /**
+     * @inheritdoc
+     */
+    public static function boot()
+    {
+        parent::boot();
+
+        static::addGlobalScope(new Scopes\InConfigurationContext());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ExchangeServer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ExchangeServer.php
new file mode 100644
index 0000000..d304876
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ExchangeServer.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class ExchangeServer extends Entry
+{
+    /**
+     * @inheritdoc
+     */
+    public static $objectClasses = ['msExchExchangeServer'];
+
+    /**
+     * @inheritdoc
+     */
+    public static function boot()
+    {
+        parent::boot();
+
+        static::addGlobalScope(new Scopes\HasServerRoleAttribute());
+        static::addGlobalScope(new Scopes\InConfigurationContext());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ForeignSecurityPrincipal.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ForeignSecurityPrincipal.php
new file mode 100644
index 0000000..25287ae
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/ForeignSecurityPrincipal.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class ForeignSecurityPrincipal extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = ['foreignsecurityprincipal'];
+
+    /**
+     * The groups relationship.
+     *
+     * Retrieves groups that the current security principal is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(Group::class, 'member');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Group.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Group.php
new file mode 100644
index 0000000..6076f2f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Group.php
@@ -0,0 +1,70 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class Group extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'group',
+    ];
+
+    /**
+     * The groups relationship.
+     *
+     * Retrieves groups that the current group is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(static::class, 'member');
+    }
+
+    /**
+     * The members relationship.
+     *
+     * Retrieves members that are apart of the group.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function members()
+    {
+        return $this->hasMany([
+            static::class, User::class, Contact::class, Computer::class,
+        ], 'memberof')
+            ->using($this, 'member')
+            ->with($this->primaryGroupMembers());
+    }
+
+    /**
+     * The primary group members relationship.
+     *
+     * Retrieves members that are apart the primary group.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function primaryGroupMembers()
+    {
+        return $this->hasMany([
+            static::class, User::class, Contact::class, Computer::class,
+        ], 'primarygroupid', 'rid');
+    }
+
+    /**
+     * Get the RID of the group.
+     *
+     * @return array
+     */
+    public function getRidAttribute()
+    {
+        $objectSidComponents = explode('-', $this->getConvertedSid());
+
+        return [end($objectSidComponents)];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/OrganizationalUnit.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/OrganizationalUnit.php
new file mode 100644
index 0000000..80aae9f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/OrganizationalUnit.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class OrganizationalUnit extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'organizationalunit',
+    ];
+
+    /**
+     * Get the creatable RDN attribute name.
+     *
+     * @return string
+     */
+    public function getCreatableRdnAttribute()
+    {
+        return 'ou';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Printer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Printer.php
new file mode 100644
index 0000000..df74216
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Printer.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+class Printer extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = ['printqueue'];
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Relations/HasOnePrimaryGroup.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Relations/HasOnePrimaryGroup.php
new file mode 100644
index 0000000..540ec77
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Relations/HasOnePrimaryGroup.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory\Relations;
+
+use LdapRecord\Models\Model;
+use LdapRecord\Models\Relations\HasOne;
+
+class HasOnePrimaryGroup extends HasOne
+{
+    /**
+     * Get the foreign model by the given value.
+     *
+     * @param string $value
+     *
+     * @return Model|null
+     */
+    protected function getForeignModelByValue($value)
+    {
+        return $this->query->findBySid(
+            $this->getParentModelObjectSid()
+        );
+    }
+
+    /**
+     * Get the foreign value from the given model.
+     *
+     * Retrieves the last RID from the models Object SID.
+     *
+     * @param Model $model
+     *
+     * @return string
+     */
+    protected function getForeignValueFromModel(Model $model)
+    {
+        $objectSidComponents = explode('-', $model->getConvertedSid());
+
+        return end($objectSidComponents);
+    }
+
+    /**
+     * Get the parent relationship models converted object sid.
+     *
+     * @return string
+     */
+    protected function getParentModelObjectSid()
+    {
+        return preg_replace(
+            '/\d+$/',
+            $this->parent->getFirstAttribute($this->relationKey),
+            $this->parent->getConvertedSid()
+        );
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/HasServerRoleAttribute.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/HasServerRoleAttribute.php
new file mode 100644
index 0000000..cd08648
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/HasServerRoleAttribute.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory\Scopes;
+
+use LdapRecord\Models\Model;
+use LdapRecord\Models\Scope;
+use LdapRecord\Query\Model\Builder;
+
+class HasServerRoleAttribute implements Scope
+{
+    /**
+     * Includes condition of having a serverRole attribute.
+     *
+     * @param Builder $query
+     * @param Model   $model
+     *
+     * @return void
+     */
+    public function apply(Builder $query, Model $model)
+    {
+        $query->whereHas('serverRole');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/InConfigurationContext.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/InConfigurationContext.php
new file mode 100644
index 0000000..2b1a177
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/InConfigurationContext.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory\Scopes;
+
+use LdapRecord\Models\ActiveDirectory\Entry;
+use LdapRecord\Models\Model;
+use LdapRecord\Models\Scope;
+use LdapRecord\Query\Model\Builder;
+
+class InConfigurationContext implements Scope
+{
+    /**
+     * Refines the base dn to be inside the configuration context.
+     *
+     * @param Builder $query
+     * @param Model   $model
+     *
+     * @throws \LdapRecord\Models\ModelNotFoundException
+     *
+     * @return void
+     */
+    public function apply(Builder $query, Model $model)
+    {
+        $query->in($this->getConfigurationNamingContext($model));
+    }
+
+    /**
+     * Get the LDAP server configuration naming context distinguished name.
+     *
+     * @param Model $model
+     *
+     * @throws \LdapRecord\Models\ModelNotFoundException
+     *
+     * @return mixed
+     */
+    protected function getConfigurationNamingContext(Model $model)
+    {
+        return Entry::getRootDse($model->getConnectionName())
+            ->getFirstAttribute('configurationNamingContext');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/RejectComputerObjectClass.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/RejectComputerObjectClass.php
new file mode 100644
index 0000000..a616db1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/Scopes/RejectComputerObjectClass.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory\Scopes;
+
+use LdapRecord\Models\Model;
+use LdapRecord\Models\Scope;
+use LdapRecord\Query\Model\Builder;
+
+class RejectComputerObjectClass implements Scope
+{
+    /**
+     * Prevent computer objects from being included in results.
+     *
+     * @param Builder $query
+     * @param Model   $model
+     *
+     * @return void
+     */
+    public function apply(Builder $query, Model $model)
+    {
+        $query->where('objectclass', '!=', 'computer');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/User.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/User.php
new file mode 100644
index 0000000..84dd74b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ActiveDirectory/User.php
@@ -0,0 +1,120 @@
+<?php
+
+namespace LdapRecord\Models\ActiveDirectory;
+
+use Illuminate\Contracts\Auth\Authenticatable;
+use LdapRecord\Models\ActiveDirectory\Concerns\HasPrimaryGroup;
+use LdapRecord\Models\ActiveDirectory\Scopes\RejectComputerObjectClass;
+use LdapRecord\Models\Concerns\CanAuthenticate;
+use LdapRecord\Models\Concerns\HasPassword;
+use LdapRecord\Query\Model\Builder;
+
+class User extends Entry implements Authenticatable
+{
+    use HasPassword;
+    use HasPrimaryGroup;
+    use CanAuthenticate;
+
+    /**
+     * The password's attribute name.
+     *
+     * @var string
+     */
+    protected $passwordAttribute = 'unicodepwd';
+
+    /**
+     * The password's hash method.
+     *
+     * @var string
+     */
+    protected $passwordHashMethod = 'encode';
+
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'person',
+        'organizationalperson',
+        'user',
+    ];
+
+    /**
+     * The attributes that should be mutated to dates.
+     *
+     * @var array
+     */
+    protected $dates = [
+        'lastlogon' => 'windows-int',
+        'lastlogoff' => 'windows-int',
+        'pwdlastset' => 'windows-int',
+        'lockouttime' => 'windows-int',
+        'accountexpires' => 'windows-int',
+        'badpasswordtime' => 'windows-int',
+        'lastlogontimestamp' => 'windows-int',
+    ];
+
+    /**
+     * @inheritdoc
+     */
+    protected static function boot()
+    {
+        parent::boot();
+
+        // Here we will add a global scope to reject the 'computer' object
+        // class. This is needed due to computer objects containing all
+        // of the ActiveDirectory 'user' object classes. Without
+        // this scope, they would be included in results.
+        static::addGlobalScope(new RejectComputerObjectClass());
+    }
+
+    /**
+     * The groups relationship.
+     *
+     * Retrieves groups that the user is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(Group::class, 'member')->with($this->primaryGroup());
+    }
+
+    /**
+     * The manager relationship.
+     *
+     * Retrieves the manager of the user.
+     *
+     * @return \LdapRecord\Models\Relations\HasOne
+     */
+    public function manager()
+    {
+        return $this->hasOne(static::class, 'manager');
+    }
+
+    /**
+     * The primary group relationship of the current user.
+     *
+     * Retrieves the primary group the user is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasOne
+     */
+    public function primaryGroup()
+    {
+        return $this->hasOnePrimaryGroup(Group::class, 'primarygroupid');
+    }
+
+    /**
+     * Scopes the query to exchange mailbox users.
+     *
+     * @param Builder $query
+     *
+     * @return Builder
+     */
+    public function scopeWhereHasMailbox(Builder $query)
+    {
+        return $query->whereHas('msExchMailboxGuid');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/AccountControl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/AccountControl.php
new file mode 100644
index 0000000..9c6240b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/AccountControl.php
@@ -0,0 +1,502 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use ReflectionClass;
+
+class AccountControl
+{
+    const SCRIPT = 1;
+
+    const ACCOUNTDISABLE = 2;
+
+    const HOMEDIR_REQUIRED = 8;
+
+    const LOCKOUT = 16;
+
+    const PASSWD_NOTREQD = 32;
+
+    const PASSWD_CANT_CHANGE = 64;
+
+    const ENCRYPTED_TEXT_PWD_ALLOWED = 128;
+
+    const TEMP_DUPLICATE_ACCOUNT = 256;
+
+    const NORMAL_ACCOUNT = 512;
+
+    const INTERDOMAIN_TRUST_ACCOUNT = 2048;
+
+    const WORKSTATION_TRUST_ACCOUNT = 4096;
+
+    const SERVER_TRUST_ACCOUNT = 8192;
+
+    const DONT_EXPIRE_PASSWORD = 65536;
+
+    const MNS_LOGON_ACCOUNT = 131072;
+
+    const SMARTCARD_REQUIRED = 262144;
+
+    const TRUSTED_FOR_DELEGATION = 524288;
+
+    const NOT_DELEGATED = 1048576;
+
+    const USE_DES_KEY_ONLY = 2097152;
+
+    const DONT_REQ_PREAUTH = 4194304;
+
+    const PASSWORD_EXPIRED = 8388608;
+
+    const TRUSTED_TO_AUTH_FOR_DELEGATION = 16777216;
+
+    const PARTIAL_SECRETS_ACCOUNT = 67108864;
+
+    /**
+     * The account control flag values.
+     *
+     * @var array
+     */
+    protected $values = [];
+
+    /**
+     * Constructor.
+     *
+     * @param int $flag
+     */
+    public function __construct($flag = null)
+    {
+        if (! is_null($flag)) {
+            $this->apply($flag);
+        }
+    }
+
+    /**
+     * Get the value when casted to string.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->getValue();
+    }
+
+    /**
+     * Get the value when casted to int.
+     *
+     * @return int
+     */
+    public function __toInt()
+    {
+        return $this->getValue();
+    }
+
+    /**
+     * Add the flag to the account control values.
+     *
+     * @param int $flag
+     *
+     * @return $this
+     */
+    public function add($flag)
+    {
+        // Use the value as a key so if the same value
+        // is used, it will always be overwritten
+        $this->values[$flag] = $flag;
+
+        return $this;
+    }
+
+    /**
+     * Remove the flag from the account control.
+     *
+     * @param int $flag
+     *
+     * @return $this
+     */
+    public function remove($flag)
+    {
+        unset($this->values[$flag]);
+
+        return $this;
+    }
+
+    /**
+     * Extract and apply the flag.
+     *
+     * @param int $flag
+     *
+     * @return void
+     */
+    public function apply($flag)
+    {
+        $this->setValues($this->extractFlags($flag));
+    }
+
+    /**
+     * Determine if the account control contains the given UAC flag(s).
+     *
+     * @param int $flag
+     *
+     * @return bool
+     */
+    public function has($flag)
+    {
+        // Here we will extract the given flag into an array
+        // of possible flags. This will allow us to see if
+        // our AccountControl object contains any of them.
+        $flagsUsed = array_intersect(
+            $this->extractFlags($flag),
+            $this->values
+        );
+
+        return in_array($flag, $flagsUsed);
+    }
+
+    /**
+     * Determine if the account control does not contain the given UAC flag(s).
+     *
+     * @param int $flag
+     *
+     * @return bool
+     */
+    public function doesntHave($flag)
+    {
+        return ! $this->has($flag);
+    }
+
+    /**
+     * Generate an LDAP filter based on the current value.
+     *
+     * @return string
+     */
+    public function filter()
+    {
+        return sprintf('(UserAccountControl:1.2.840.113556.1.4.803:=%s)', $this->getValue());
+    }
+
+    /**
+     * The logon script will be run.
+     *
+     * @return $this
+     */
+    public function runLoginScript()
+    {
+        return $this->add(static::SCRIPT);
+    }
+
+    /**
+     * The user account is locked.
+     *
+     * @return $this
+     */
+    public function accountIsLocked()
+    {
+        return $this->add(static::LOCKOUT);
+    }
+
+    /**
+     * The user account is disabled.
+     *
+     * @return $this
+     */
+    public function accountIsDisabled()
+    {
+        return $this->add(static::ACCOUNTDISABLE);
+    }
+
+    /**
+     * This is an account for users whose primary account is in another domain.
+     *
+     * This account provides user access to this domain, but not to any domain that
+     * trusts this domain. This is sometimes referred to as a local user account.
+     *
+     * @return $this
+     */
+    public function accountIsTemporary()
+    {
+        return $this->add(static::TEMP_DUPLICATE_ACCOUNT);
+    }
+
+    /**
+     * This is a default account type that represents a typical user.
+     *
+     * @return $this
+     */
+    public function accountIsNormal()
+    {
+        return $this->add(static::NORMAL_ACCOUNT);
+    }
+
+    /**
+     * This is a permit to trust an account for a system domain that trusts other domains.
+     *
+     * @return $this
+     */
+    public function accountIsForInterdomain()
+    {
+        return $this->add(static::INTERDOMAIN_TRUST_ACCOUNT);
+    }
+
+    /**
+     * This is a computer account for a computer that is running Microsoft
+     * Windows NT 4.0 Workstation, Microsoft Windows NT 4.0 Server, Microsoft
+     * Windows 2000 Professional, or Windows 2000 Server and is a member of this domain.
+     *
+     * @return $this
+     */
+    public function accountIsForWorkstation()
+    {
+        return $this->add(static::WORKSTATION_TRUST_ACCOUNT);
+    }
+
+    /**
+     * This is a computer account for a domain controller that is a member of this domain.
+     *
+     * @return $this
+     */
+    public function accountIsForServer()
+    {
+        return $this->add(static::SERVER_TRUST_ACCOUNT);
+    }
+
+    /**
+     * This is an MNS logon account.
+     *
+     * @return $this
+     */
+    public function accountIsMnsLogon()
+    {
+        return $this->add(static::MNS_LOGON_ACCOUNT);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) This account does
+     * not require Kerberos pre-authentication for logging on.
+     *
+     * @return $this
+     */
+    public function accountDoesNotRequirePreAuth()
+    {
+        return $this->add(static::DONT_REQ_PREAUTH);
+    }
+
+    /**
+     * When this flag is set, it forces the user to log on by using a smart card.
+     *
+     * @return $this
+     */
+    public function accountRequiresSmartCard()
+    {
+        return $this->add(static::SMARTCARD_REQUIRED);
+    }
+
+    /**
+     * (Windows Server 2008/Windows Server 2008 R2) The account is a read-only domain controller (RODC).
+     *
+     * This is a security-sensitive setting. Removing this setting from an RODC compromises security on that server.
+     *
+     * @return $this
+     */
+    public function accountIsReadOnly()
+    {
+        return $this->add(static::PARTIAL_SECRETS_ACCOUNT);
+    }
+
+    /**
+     * The home folder is required.
+     *
+     * @return $this
+     */
+    public function homeFolderIsRequired()
+    {
+        return $this->add(static::HOMEDIR_REQUIRED);
+    }
+
+    /**
+     * No password is required.
+     *
+     * @return $this
+     */
+    public function passwordIsNotRequired()
+    {
+        return $this->add(static::PASSWD_NOTREQD);
+    }
+
+    /**
+     * The user cannot change the password. This is a permission on the user's object.
+     *
+     * For information about how to programmatically set this permission, visit the following link:
+     *
+     * @see http://msdn2.microsoft.com/en-us/library/aa746398.aspx
+     *
+     * @return $this
+     */
+    public function passwordCannotBeChanged()
+    {
+        return $this->add(static::PASSWD_CANT_CHANGE);
+    }
+
+    /**
+     * Represents the password, which should never expire on the account.
+     *
+     * @return $this
+     */
+    public function passwordDoesNotExpire()
+    {
+        return $this->add(static::DONT_EXPIRE_PASSWORD);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) The user's password has expired.
+     *
+     * @return $this
+     */
+    public function passwordIsExpired()
+    {
+        return $this->add(static::PASSWORD_EXPIRED);
+    }
+
+    /**
+     * The user can send an encrypted password.
+     *
+     * @return $this
+     */
+    public function allowEncryptedTextPassword()
+    {
+        return $this->add(static::ENCRYPTED_TEXT_PWD_ALLOWED);
+    }
+
+    /**
+     * When this flag is set, the service account (the user or computer account)
+     * under which a service runs is trusted for Kerberos delegation.
+     *
+     * Any such service can impersonate a client requesting the service.
+     *
+     * To enable a service for Kerberos delegation, you must set this
+     * flag on the userAccountControl property of the service account.
+     *
+     * @return $this
+     */
+    public function trustForDelegation()
+    {
+        return $this->add(static::TRUSTED_FOR_DELEGATION);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) The account is enabled for delegation.
+     *
+     * This is a security-sensitive setting. Accounts that have this option enabled
+     * should be tightly controlled. This setting lets a service that runs under the
+     * account assume a client's identity and authenticate as that user to other remote
+     * servers on the network.
+     *
+     * @return $this
+     */
+    public function trustToAuthForDelegation()
+    {
+        return $this->add(static::TRUSTED_TO_AUTH_FOR_DELEGATION);
+    }
+
+    /**
+     * When this flag is set, the security context of the user is not delegated to a
+     * service even if the service account is set as trusted for Kerberos delegation.
+     *
+     * @return $this
+     */
+    public function doNotTrustForDelegation()
+    {
+        return $this->add(static::NOT_DELEGATED);
+    }
+
+    /**
+     * (Windows 2000/Windows Server 2003) Restrict this principal to
+     * use only Data Encryption Standard (DES) encryption types for keys.
+     *
+     * @return $this
+     */
+    public function useDesKeyOnly()
+    {
+        return $this->add(static::USE_DES_KEY_ONLY);
+    }
+
+    /**
+     * Get the account control value.
+     *
+     * @return int
+     */
+    public function getValue()
+    {
+        return array_sum($this->values);
+    }
+
+    /**
+     * Get the account control flag values.
+     *
+     * @return array
+     */
+    public function getValues()
+    {
+        return $this->values;
+    }
+
+    /**
+     * Set the account control values.
+     *
+     * @param array $flags
+     *
+     * @return void
+     */
+    public function setValues(array $flags)
+    {
+        $this->values = $flags;
+    }
+
+    /**
+     * Get all flags that are currently applied to the value.
+     *
+     * @return array
+     */
+    public function getAppliedFlags()
+    {
+        $flags = $this->getAllFlags();
+
+        $exists = [];
+
+        foreach ($flags as $name => $flag) {
+            if ($this->has($flag)) {
+                $exists[$name] = $flag;
+            }
+        }
+
+        return $exists;
+    }
+
+    /**
+     * Get all possible account control flags.
+     *
+     * @return array
+     */
+    public function getAllFlags()
+    {
+        return (new ReflectionClass(__CLASS__))->getConstants();
+    }
+
+    /**
+     * Extracts the given flag into an array of flags used.
+     *
+     * @param int $flag
+     *
+     * @return array
+     */
+    public function extractFlags($flag)
+    {
+        $flags = [];
+
+        for ($i = 0; $i <= 26; $i++) {
+            if ((int) $flag & (1 << $i)) {
+                $flags[1 << $i] = 1 << $i;
+            }
+        }
+
+        return $flags;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/DistinguishedName.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/DistinguishedName.php
new file mode 100644
index 0000000..c092173
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/DistinguishedName.php
@@ -0,0 +1,419 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use LdapRecord\EscapesValues;
+use LdapRecord\Support\Arr;
+
+class DistinguishedName
+{
+    use EscapesValues;
+
+    /**
+     * The underlying raw value.
+     *
+     * @var string|null
+     */
+    protected $value;
+
+    /**
+     * Constructor.
+     *
+     * @param string|null $value
+     */
+    public function __construct($value = null)
+    {
+        $this->value = trim($value);
+    }
+
+    /**
+     * Get the distinguished name value.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->value;
+    }
+
+    /**
+     * Alias of the "build" method.
+     *
+     * @param string|null $value
+     *
+     * @return DistinguishedNameBuilder
+     */
+    public static function of($value = null)
+    {
+        return static::build($value);
+    }
+
+    /**
+     * Get a new DN builder object from the given DN.
+     *
+     * @param string|null $value
+     *
+     * @return DistinguishedNameBuilder
+     */
+    public static function build($value = null)
+    {
+        return new DistinguishedNameBuilder($value);
+    }
+
+    /**
+     * Make a new distinguished name instance.
+     *
+     * @param string|null $value
+     *
+     * @return static
+     */
+    public static function make($value = null)
+    {
+        return new static($value);
+    }
+
+    /**
+     * Explode a distinguished name into relative distinguished names.
+     *
+     * @param string $dn
+     *
+     * @return array
+     */
+    public static function explode($dn)
+    {
+        $dn = ldap_explode_dn($dn, $withoutAttributes = false);
+
+        if (! is_array($dn)) {
+            return [];
+        }
+
+        if (! array_key_exists('count', $dn)) {
+            return [];
+        }
+
+        unset($dn['count']);
+
+        return $dn;
+    }
+
+    /**
+     * Un-escapes a hexadecimal string into its original string representation.
+     *
+     * @param string $value
+     *
+     * @return string
+     */
+    public static function unescape($value)
+    {
+        return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function ($matches) {
+            return chr(hexdec($matches[1]));
+        }, $value);
+    }
+
+    /**
+     * Explode the RDN into an attribute and value.
+     *
+     * @param string $rdn
+     *
+     * @return array
+     */
+    public static function explodeRdn($rdn)
+    {
+        return explode('=', $rdn, $limit = 2);
+    }
+
+    /**
+     * Implode the component attribute and value into an RDN.
+     *
+     * @param string $rdn
+     *
+     * @return string
+     */
+    public static function makeRdn(array $component)
+    {
+        return implode('=', $component);
+    }
+
+    /**
+     * Get the underlying value.
+     *
+     * @return string|null
+     */
+    public function get()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Set the underlying value.
+     *
+     * @param string|null $value
+     *
+     * @return $this
+     */
+    public function set($value)
+    {
+        $this->value = $value;
+
+        return $this;
+    }
+
+    /**
+     * Get the distinguished name values without attributes.
+     *
+     * @return array
+     */
+    public function values()
+    {
+        $values = [];
+
+        foreach ($this->multi() as [, $value]) {
+            $values[] = static::unescape($value);
+        }
+
+        return $values;
+    }
+
+    /**
+     * Get the distinguished name attributes without values.
+     *
+     * @return array
+     */
+    public function attributes()
+    {
+        $attributes = [];
+
+        foreach ($this->multi() as [$attribute]) {
+            $attributes[] = $attribute;
+        }
+
+        return $attributes;
+    }
+
+    /**
+     * Get the distinguished name components with attributes.
+     *
+     * @return array
+     */
+    public function components()
+    {
+        $components = [];
+
+        foreach ($this->multi() as [$attribute, $value]) {
+            // When a distinguished name is exploded, the values are automatically
+            // escaped. This cannot be opted out of. Here we will unescape
+            // the attribute value, then re-escape it to its original
+            // representation from the server using the "dn" flag.
+            $value = $this->escape(static::unescape($value))->dn();
+
+            $components[] = static::makeRdn([$attribute, $value]);
+        }
+
+        return $components;
+    }
+
+    /**
+     * Convert the distinguished name into an associative array.
+     *
+     * @return array
+     */
+    public function assoc()
+    {
+        $map = [];
+
+        foreach ($this->multi() as [$attribute, $value]) {
+            $attribute = $this->normalize($attribute);
+
+            array_key_exists($attribute, $map)
+                ? $map[$attribute][] = $value
+                : $map[$attribute] = [$value];
+        }
+
+        return $map;
+    }
+
+    /**
+     * Split the RDNs into a multi-dimensional array.
+     *
+     * @return array
+     */
+    public function multi()
+    {
+        return array_map(function ($rdn) {
+            return static::explodeRdn($rdn);
+        }, $this->rdns());
+    }
+
+    /**
+     * Split the distinguished name into an array of unescaped RDN's.
+     *
+     * @return array
+     */
+    public function rdns()
+    {
+        return static::explode($this->value);
+    }
+
+    /**
+     * Get the first RDNs value.
+     *
+     * @return string|null
+     */
+    public function name()
+    {
+        return Arr::first($this->values());
+    }
+
+    /**
+     * Get the first RDNs attribute.
+     *
+     * @return string|null
+     */
+    public function head()
+    {
+        return Arr::first($this->attributes());
+    }
+
+    /**
+     * Get the relative distinguished name.
+     *
+     * @return string|null
+     */
+    public function relative()
+    {
+        return Arr::first($this->components());
+    }
+
+    /**
+     * Alias of relative().
+     *
+     * Get the first RDN from the distinguished name.
+     *
+     * @return string|null
+     */
+    public function first()
+    {
+        return $this->relative();
+    }
+
+    /**
+     * Get the parent distinguished name.
+     *
+     * @return string|null
+     */
+    public function parent()
+    {
+        $components = $this->components();
+
+        array_shift($components);
+
+        return implode(',', $components) ?: null;
+    }
+
+    /**
+     * Determine if the current distinguished name is a parent of the given child.
+     *
+     * @param DistinguishedName $child
+     *
+     * @return bool
+     */
+    public function isParentOf(self $child)
+    {
+        return $child->isChildOf($this);
+    }
+
+    /**
+     * Determine if the current distinguished name is a child of the given parent.
+     *
+     * @param DistinguishedName $parent
+     *
+     * @return bool
+     */
+    public function isChildOf(self $parent)
+    {
+        if (
+            empty($components = $this->components()) ||
+            empty($parentComponents = $parent->components())
+        ) {
+            return false;
+        }
+
+        array_shift($components);
+
+        return $this->compare($components, $parentComponents);
+    }
+
+    /**
+     * Determine if the current distinguished name is an ancestor of the descendant.
+     *
+     * @param DistinguishedName $descendant
+     *
+     * @return bool
+     */
+    public function isAncestorOf(self $descendant)
+    {
+        return $descendant->isDescendantOf($this);
+    }
+
+    /**
+     * Determine if the current distinguished name is a descendant of the ancestor.
+     *
+     * @param DistinguishedName $ancestor
+     *
+     * @return bool
+     */
+    public function isDescendantOf(self $ancestor)
+    {
+        if (
+            empty($components = $this->components()) ||
+            empty($ancestorComponents = $ancestor->components())
+        ) {
+            return false;
+        }
+
+        if (! $length = count($components) - count($ancestorComponents)) {
+            return false;
+        }
+
+        array_splice($components, $offset = 0, $length);
+
+        return $this->compare($components, $ancestorComponents);
+    }
+
+    /**
+     * Compare whether the two distinguished name values are equal.
+     *
+     * @param array $values
+     * @param array $other
+     *
+     * @return bool
+     */
+    protected function compare(array $values, array $other)
+    {
+        return $this->recase($values) == $this->recase($other);
+    }
+
+    /**
+     * Recase the array values.
+     *
+     * @param array $values
+     *
+     * @return array
+     */
+    protected function recase(array $values)
+    {
+        return array_map([$this, 'normalize'], $values);
+    }
+
+    /**
+     * Normalize the string value.
+     *
+     * @param string $value
+     *
+     * @return string
+     */
+    protected function normalize($value)
+    {
+        return strtolower($value);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/DistinguishedNameBuilder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/DistinguishedNameBuilder.php
new file mode 100644
index 0000000..83dfe71
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/DistinguishedNameBuilder.php
@@ -0,0 +1,251 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use LdapRecord\EscapesValues;
+use LdapRecord\Support\Arr;
+
+class DistinguishedNameBuilder
+{
+    use EscapesValues;
+
+    /**
+     * The components of the DN.
+     *
+     * @var array
+     */
+    protected $components = [];
+
+    /**
+     * Whether to output the DN in reverse.
+     *
+     * @var bool
+     */
+    protected $reverse = false;
+
+    /**
+     * Constructor.
+     *
+     * @param string|null $value
+     */
+    public function __construct($dn = null)
+    {
+        $this->components = array_map(function ($rdn) {
+            return DistinguishedName::explodeRdn($rdn);
+        }, DistinguishedName::make($dn)->components());
+    }
+
+    /**
+     * Forward missing method calls onto the Distinguished Name object.
+     *
+     * @param string $method
+     * @param array  $args
+     *
+     * @return mixed
+     */
+    public function __call($method, $args)
+    {
+        return $this->get()->{$method}(...$args);
+    }
+
+    /**
+     * Get the distinguished name value.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->get();
+    }
+
+    /**
+     * Prepend an RDN onto the DN.
+     *
+     * @param string|array $attribute
+     * @param string|null  $value
+     *
+     * @return $this
+     */
+    public function prepend($attribute, $value = null)
+    {
+        array_unshift(
+            $this->components,
+            ...$this->componentize($attribute, $value)
+        );
+
+        return $this;
+    }
+
+    /**
+     * Append an RDN onto the DN.
+     *
+     * @param string|array $attribute
+     * @param string|null  $value
+     *
+     * @return $this
+     */
+    public function append($attribute, $value = null)
+    {
+        array_push(
+            $this->components,
+            ...$this->componentize($attribute, $value)
+        );
+
+        return $this;
+    }
+
+    /**
+     * Componentize the attribute and value.
+     *
+     * @param string|array $attribute
+     * @param string|null  $value
+     *
+     * @return array
+     */
+    protected function componentize($attribute, $value = null)
+    {
+        // Here we will make the assumption that an array of
+        // RDN's have been given if the value is null, and
+        // attempt to break them into their components.
+        if (is_null($value)) {
+            $attributes = Arr::wrap($attribute);
+
+            $components = array_map([$this, 'makeComponentizedArray'], $attributes);
+        } else {
+            $components = [[$attribute, $value]];
+        }
+
+        return array_map(function ($component) {
+            [$attribute, $value] = $component;
+
+            return $this->makeAppendableComponent($attribute, $value);
+        }, $components);
+    }
+
+    /**
+     * Make a componentized array by exploding the value if it's a string.
+     *
+     * @param string $value
+     *
+     * @return array
+     */
+    protected function makeComponentizedArray($value)
+    {
+        return is_array($value) ? $value : DistinguishedName::explodeRdn($value);
+    }
+
+    /**
+     * Make an appendable component array from the attribute and value.
+     *
+     * @param string|array $attribute
+     * @param string|null  $value
+     *
+     * @return array
+     */
+    protected function makeAppendableComponent($attribute, $value = null)
+    {
+        return [trim($attribute), $this->escape(trim($value))->dn()];
+    }
+
+    /**
+     * Pop an RDN off of the end of the DN.
+     *
+     * @param int   $amount
+     * @param array $removed
+     *
+     * @return $this
+     */
+    public function pop($amount = 1, &$removed = [])
+    {
+        $removed = array_map(function ($component) {
+            return DistinguishedName::makeRdn($component);
+        }, array_splice($this->components, -$amount, $amount));
+
+        return $this;
+    }
+
+    /**
+     * Shift an RDN off of the beginning of the DN.
+     *
+     * @param int   $amount
+     * @param array $removed
+     *
+     * @return $this
+     */
+    public function shift($amount = 1, &$removed = [])
+    {
+        $removed = array_map(function ($component) {
+            return DistinguishedName::makeRdn($component);
+        }, array_splice($this->components, 0, $amount));
+
+        return $this;
+    }
+
+    /**
+     * Whether to output the DN in reverse.
+     *
+     * @return $this
+     */
+    public function reverse()
+    {
+        $this->reverse = true;
+
+        return $this;
+    }
+
+    /**
+     * Get the components of the DN.
+     *
+     * @param null|string $type
+     *
+     * @return array
+     */
+    public function components($type = null)
+    {
+        return is_null($type)
+            ? $this->components
+            : $this->componentsOfType($type);
+    }
+
+    /**
+     * Get the components of a particular type.
+     *
+     * @param string $type
+     *
+     * @return array
+     */
+    protected function componentsOfType($type)
+    {
+        $components = array_filter($this->components, function ($component) use ($type) {
+            return ([$name] = $component) && strtolower($name) === strtolower($type);
+        });
+
+        return array_values($components);
+    }
+
+    /**
+     * Get the fully qualified DN.
+     *
+     * @return DistinguishedName
+     */
+    public function get()
+    {
+        return new DistinguishedName($this->build());
+    }
+
+    /**
+     * Build the distinguished name from the components.
+     *
+     * @return $this
+     */
+    protected function build()
+    {
+        $components = $this->reverse
+            ? array_reverse($this->components)
+            : $this->components;
+
+        return implode(',', array_map(function ($component) {
+            return DistinguishedName::makeRdn($component);
+        }, $components));
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/EscapedValue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/EscapedValue.php
new file mode 100644
index 0000000..cc04a67
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/EscapedValue.php
@@ -0,0 +1,111 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+class EscapedValue
+{
+    /**
+     * The value to be escaped.
+     *
+     * @var string
+     */
+    protected $value;
+
+    /**
+     * The characters to ignore when escaping.
+     *
+     * @var string
+     */
+    protected $ignore;
+
+    /**
+     * The escape flags.
+     *
+     * @var int
+     */
+    protected $flags;
+
+    /**
+     * Constructor.
+     *
+     * @param string $value
+     * @param string $ignore
+     * @param int    $flags
+     */
+    public function __construct($value, $ignore = '', $flags = 0)
+    {
+        $this->value = $value;
+        $this->ignore = $ignore;
+        $this->flags = $flags;
+    }
+
+    /**
+     * Get the escaped value.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->get();
+    }
+
+    /**
+     * Get the escaped value.
+     *
+     * @return mixed
+     */
+    public function get()
+    {
+        return ldap_escape($this->value, $this->ignore, $this->flags);
+    }
+
+    /**
+     * Set the characters to exclude from being escaped.
+     *
+     * @param string $characters
+     *
+     * @return $this
+     */
+    public function ignore($characters)
+    {
+        $this->ignore = $characters;
+
+        return $this;
+    }
+
+    /**
+     * Prepare the value to be escaped for use in a distinguished name.
+     *
+     * @return $this
+     */
+    public function dn()
+    {
+        $this->flags = LDAP_ESCAPE_DN;
+
+        return $this;
+    }
+
+    /**
+     * Prepare the value to be escaped for use in a filter.
+     *
+     * @return $this
+     */
+    public function filter()
+    {
+        $this->flags = LDAP_ESCAPE_FILTER;
+
+        return $this;
+    }
+
+    /**
+     * Prepare the value to be escaped for use in a distinguished name and filter.
+     *
+     * @return $this
+     */
+    public function both()
+    {
+        $this->flags = LDAP_ESCAPE_FILTER + LDAP_ESCAPE_DN;
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Guid.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Guid.php
new file mode 100644
index 0000000..d139f5f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Guid.php
@@ -0,0 +1,167 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use InvalidArgumentException;
+use LdapRecord\Utilities;
+
+class Guid
+{
+    /**
+     * The string GUID value.
+     *
+     * @var string
+     */
+    protected $value;
+
+    /**
+     * The guid structure in order by section to parse using substr().
+     *
+     * @author Chad Sikorra <Chad.Sikorra@gmail.com>
+     *
+     * @see https://github.com/ldaptools/ldaptools
+     *
+     * @var array
+     */
+    protected $guidSections = [
+        [[-26, 2], [-28, 2], [-30, 2], [-32, 2]],
+        [[-22, 2], [-24, 2]],
+        [[-18, 2], [-20, 2]],
+        [[-16, 4]],
+        [[-12, 12]],
+    ];
+
+    /**
+     * The hexadecimal octet order based on string position.
+     *
+     * @author Chad Sikorra <Chad.Sikorra@gmail.com>
+     *
+     * @see https://github.com/ldaptools/ldaptools
+     *
+     * @var array
+     */
+    protected $octetSections = [
+        [6, 4, 2, 0],
+        [10, 8],
+        [14, 12],
+        [16, 18, 20, 22, 24, 26, 28, 30],
+    ];
+
+    /**
+     * Determines if the specified GUID is valid.
+     *
+     * @param string $guid
+     *
+     * @return bool
+     */
+    public static function isValid($guid)
+    {
+        return Utilities::isValidGuid($guid);
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param mixed $value
+     *
+     * @throws InvalidArgumentException
+     */
+    public function __construct($value)
+    {
+        if (static::isValid($value)) {
+            $this->value = $value;
+        } elseif ($value = $this->binaryGuidToString($value)) {
+            $this->value = $value;
+        } else {
+            throw new InvalidArgumentException('Invalid Binary / String GUID.');
+        }
+    }
+
+    /**
+     * Returns the string value of the GUID.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->getValue();
+    }
+
+    /**
+     * Returns the string value of the SID.
+     *
+     * @return string
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Get the binary representation of the GUID string.
+     *
+     * @return string
+     */
+    public function getBinary()
+    {
+        return hex2bin($this->getHex());
+    }
+
+    /**
+     * Get the hexadecimal representation of the GUID string.
+     *
+     * @return string
+     */
+    public function getHex()
+    {
+        $data = '';
+
+        $guid = str_replace('-', '', $this->value);
+
+        foreach ($this->octetSections as $section) {
+            $data .= $this->parseSection($guid, $section, $octet = true);
+        }
+
+        return $data;
+    }
+
+    /**
+     * Returns the string variant of a binary GUID.
+     *
+     * @param string $binary
+     *
+     * @return string|null
+     */
+    protected function binaryGuidToString($binary)
+    {
+        return Utilities::binaryGuidToString($binary);
+    }
+
+    /**
+     * Return the specified section of the hexadecimal string.
+     *
+     * @author Chad Sikorra <Chad.Sikorra@gmail.com>
+     *
+     * @see https://github.com/ldaptools/ldaptools
+     *
+     * @param string $hex      The full hex string.
+     * @param array  $sections An array of start and length (unless octet is true, then length is always 2).
+     * @param bool   $octet    Whether this is for octet string form.
+     *
+     * @return string The concatenated sections in upper-case.
+     */
+    protected function parseSection($hex, array $sections, $octet = false)
+    {
+        $parsedString = '';
+
+        foreach ($sections as $section) {
+            $start = $octet ? $section : $section[0];
+
+            $length = $octet ? 2 : $section[1];
+
+            $parsedString .= substr($hex, $start, $length);
+        }
+
+        return $parsedString;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/MbString.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/MbString.php
new file mode 100644
index 0000000..672e60d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/MbString.php
@@ -0,0 +1,80 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+class MbString
+{
+    /**
+     * Get the integer value of a specific character.
+     *
+     * @param $string
+     *
+     * @return int
+     */
+    public static function ord($string)
+    {
+        if (static::isLoaded()) {
+            $result = unpack('N', mb_convert_encoding($string, 'UCS-4BE', 'UTF-8'));
+
+            if (is_array($result)) {
+                return $result[1];
+            }
+        }
+
+        return ord($string);
+    }
+
+    /**
+     * Get the character for a specific integer value.
+     *
+     * @param $int
+     *
+     * @return string
+     */
+    public static function chr($int)
+    {
+        if (static::isLoaded()) {
+            return mb_convert_encoding(pack('n', $int), 'UTF-8', 'UTF-16BE');
+        }
+
+        return chr($int);
+    }
+
+    /**
+     * Split a string into its individual characters and return it as an array.
+     *
+     * @param string $value
+     *
+     * @return string[]
+     */
+    public static function split($value)
+    {
+        return preg_split('/(?<!^)(?!$)/u', $value);
+    }
+
+    /**
+     * Detects if the given string is UTF 8.
+     *
+     * @param $string
+     *
+     * @return string|false
+     */
+    public static function isUtf8($string)
+    {
+        if (static::isLoaded()) {
+            return mb_detect_encoding($string, 'UTF-8', $strict = true);
+        }
+
+        return $string;
+    }
+
+    /**
+     * Checks if the mbstring extension is enabled in PHP.
+     *
+     * @return bool
+     */
+    public static function isLoaded()
+    {
+        return extension_loaded('mbstring');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Password.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Password.php
new file mode 100644
index 0000000..7f0b412
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Password.php
@@ -0,0 +1,340 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use InvalidArgumentException;
+use LdapRecord\LdapRecordException;
+use ReflectionMethod;
+
+class Password
+{
+    const CRYPT_SALT_TYPE_MD5 = 1;
+    const CRYPT_SALT_TYPE_SHA256 = 5;
+    const CRYPT_SALT_TYPE_SHA512 = 6;
+
+    /**
+     * Make an encoded password for transmission over LDAP.
+     *
+     * @param string $password
+     *
+     * @return string
+     */
+    public static function encode($password)
+    {
+        return iconv('UTF-8', 'UTF-16LE', '"'.$password.'"');
+    }
+
+    /**
+     * Make a salted md5 password.
+     *
+     * @param string      $password
+     * @param null|string $salt
+     *
+     * @return string
+     */
+    public static function smd5($password, $salt = null)
+    {
+        return '{SMD5}'.static::makeHash($password, 'md5', null, $salt ?? random_bytes(4));
+    }
+
+    /**
+     * Make a salted SHA password.
+     *
+     * @param string      $password
+     * @param null|string $salt
+     *
+     * @return string
+     */
+    public static function ssha($password, $salt = null)
+    {
+        return '{SSHA}'.static::makeHash($password, 'sha1', null, $salt ?? random_bytes(4));
+    }
+
+    /**
+     * Make a salted SSHA256 password.
+     *
+     * @param string      $password
+     * @param null|string $salt
+     *
+     * @return string
+     */
+    public static function ssha256($password, $salt = null)
+    {
+        return '{SSHA256}'.static::makeHash($password, 'hash', 'sha256', $salt ?? random_bytes(4));
+    }
+
+    /**
+     * Make a salted SSHA384 password.
+     *
+     * @param string      $password
+     * @param null|string $salt
+     *
+     * @return string
+     */
+    public static function ssha384($password, $salt = null)
+    {
+        return '{SSHA384}'.static::makeHash($password, 'hash', 'sha384', $salt ?? random_bytes(4));
+    }
+
+    /**
+     * Make a salted SSHA512 password.
+     *
+     * @param string      $password
+     * @param null|string $salt
+     *
+     * @return string
+     */
+    public static function ssha512($password, $salt = null)
+    {
+        return '{SSHA512}'.static::makeHash($password, 'hash', 'sha512', $salt ?? random_bytes(4));
+    }
+
+    /**
+     * Make a non-salted SHA password.
+     *
+     * @param string $password
+     *
+     * @return string
+     */
+    public static function sha($password)
+    {
+        return '{SHA}'.static::makeHash($password, 'sha1');
+    }
+
+    /**
+     * Make a non-salted SHA256 password.
+     *
+     * @param string $password
+     *
+     * @return string
+     */
+    public static function sha256($password)
+    {
+        return '{SHA256}'.static::makeHash($password, 'hash', 'sha256');
+    }
+
+    /**
+     * Make a non-salted SHA384 password.
+     *
+     * @param string $password
+     *
+     * @return string
+     */
+    public static function sha384($password)
+    {
+        return '{SHA384}'.static::makeHash($password, 'hash', 'sha384');
+    }
+
+    /**
+     * Make a non-salted SHA512 password.
+     *
+     * @param string $password
+     *
+     * @return string
+     */
+    public static function sha512($password)
+    {
+        return '{SHA512}'.static::makeHash($password, 'hash', 'sha512');
+    }
+
+    /**
+     * Make a non-salted md5 password.
+     *
+     * @param string $password
+     *
+     * @return string
+     */
+    public static function md5($password)
+    {
+        return '{MD5}'.static::makeHash($password, 'md5');
+    }
+
+    /**
+     * Crypt password with an MD5 salt.
+     *
+     * @param string $password
+     * @param string $salt
+     *
+     * @return string
+     */
+    public static function md5Crypt($password, $salt = null)
+    {
+        return '{CRYPT}'.static::makeCrypt($password, static::CRYPT_SALT_TYPE_MD5, $salt);
+    }
+
+    /**
+     * Crypt password with a SHA256 salt.
+     *
+     * @param string $password
+     * @param string $salt
+     *
+     * @return string
+     */
+    public static function sha256Crypt($password, $salt = null)
+    {
+        return '{CRYPT}'.static::makeCrypt($password, static::CRYPT_SALT_TYPE_SHA256, $salt);
+    }
+
+    /**
+     * Crypt a password with a SHA512 salt.
+     *
+     * @param string $password
+     * @param string $salt
+     *
+     * @return string
+     */
+    public static function sha512Crypt($password, $salt = null)
+    {
+        return '{CRYPT}'.static::makeCrypt($password, static::CRYPT_SALT_TYPE_SHA512, $salt);
+    }
+
+    /**
+     * Make a new password hash.
+     *
+     * @param string      $password The password to make a hash of.
+     * @param string      $method   The hash function to use.
+     * @param string|null $algo     The algorithm to use for hashing.
+     * @param string|null $salt     The salt to append onto the hash.
+     *
+     * @return string
+     */
+    protected static function makeHash($password, $method, $algo = null, $salt = null)
+    {
+        $params = $algo ? [$algo, $password.$salt] : [$password.$salt];
+
+        return base64_encode(pack('H*', call_user_func($method, ...$params)).$salt);
+    }
+
+    /**
+     * Make a hashed password.
+     *
+     * @param string      $password
+     * @param int         $type
+     * @param null|string $salt
+     *
+     * @return string
+     */
+    protected static function makeCrypt($password, $type, $salt = null)
+    {
+        return crypt($password, $salt ?? static::makeCryptSalt($type));
+    }
+
+    /**
+     * Make a salt for the crypt() method using the given type.
+     *
+     * @param int $type
+     *
+     * @return string
+     */
+    protected static function makeCryptSalt($type)
+    {
+        [$prefix, $length] = static::makeCryptPrefixAndLength($type);
+
+        $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
+
+        while (strlen($prefix) < $length) {
+            $prefix .= substr($chars, random_int(0, strlen($chars) - 1), 1);
+        }
+
+        return $prefix;
+    }
+
+    /**
+     * Determine the crypt prefix and length.
+     *
+     * @param int $type
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return array
+     */
+    protected static function makeCryptPrefixAndLength($type)
+    {
+        switch ($type) {
+            case static::CRYPT_SALT_TYPE_MD5:
+                return ['$1$', 12];
+            case static::CRYPT_SALT_TYPE_SHA256:
+                return ['$5$', 16];
+            case static::CRYPT_SALT_TYPE_SHA512:
+                return ['$6$', 16];
+            default:
+                throw new InvalidArgumentException("Invalid crypt type [$type].");
+        }
+    }
+
+    /**
+     * Attempt to retrieve the hash method used for the password.
+     *
+     * @param string $password
+     *
+     * @return string|void
+     */
+    public static function getHashMethod($password)
+    {
+        if (! preg_match('/^\{(\w+)\}/', $password, $matches)) {
+            return;
+        }
+
+        return $matches[1];
+    }
+
+    /**
+     * Attempt to retrieve the hash method and algorithm used for the password.
+     *
+     * @param string $password
+     *
+     * @return array|void
+     */
+    public static function getHashMethodAndAlgo($password)
+    {
+        if (! preg_match('/^\{(\w+)\}\$([0-9a-z]{1})\$/', $password, $matches)) {
+            return;
+        }
+
+        return [$matches[1], $matches[2]];
+    }
+
+    /**
+     * Attempt to retrieve a salt from the encrypted password.
+     *
+     * @throws LdapRecordException
+     *
+     * @return string
+     */
+    public static function getSalt($encryptedPassword)
+    {
+        // crypt() methods.
+        if (preg_match('/^\{(\w+)\}(\$.*\$).*$/', $encryptedPassword, $matches)) {
+            return $matches[2];
+        }
+
+        // All other methods.
+        if (preg_match('/{([^}]+)}(.*)/', $encryptedPassword, $matches)) {
+            return substr(base64_decode($matches[2]), -4);
+        }
+
+        throw new LdapRecordException('Could not extract salt from encrypted password.');
+    }
+
+    /**
+     * Determine if the hash method requires a salt to be given.
+     *
+     * @param string $method
+     *
+     * @throws \ReflectionException
+     *
+     * @return bool
+     */
+    public static function hashMethodRequiresSalt($method): bool
+    {
+        $parameters = (new ReflectionMethod(static::class, $method))->getParameters();
+
+        foreach ($parameters as $parameter) {
+            if ($parameter->name === 'salt') {
+                return true;
+            }
+        }
+
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Sid.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Sid.php
new file mode 100644
index 0000000..4ec46ea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Sid.php
@@ -0,0 +1,101 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use InvalidArgumentException;
+use LdapRecord\Utilities;
+
+class Sid
+{
+    /**
+     * The string SID value.
+     *
+     * @var string
+     */
+    protected $value;
+
+    /**
+     * Determines if the specified SID is valid.
+     *
+     * @param string $sid
+     *
+     * @return bool
+     */
+    public static function isValid($sid)
+    {
+        return Utilities::isValidSid($sid);
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param mixed $value
+     *
+     * @throws InvalidArgumentException
+     */
+    public function __construct($value)
+    {
+        if (static::isValid($value)) {
+            $this->value = $value;
+        } elseif ($value = $this->binarySidToString($value)) {
+            $this->value = $value;
+        } else {
+            throw new InvalidArgumentException('Invalid Binary / String SID.');
+        }
+    }
+
+    /**
+     * Returns the string value of the SID.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->getValue();
+    }
+
+    /**
+     * Returns the string value of the SID.
+     *
+     * @return string
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Returns the binary variant of the SID.
+     *
+     * @return string
+     */
+    public function getBinary()
+    {
+        $sid = explode('-', ltrim($this->value, 'S-'));
+
+        $level = (int) array_shift($sid);
+
+        $authority = (int) array_shift($sid);
+
+        $subAuthorities = array_map('intval', $sid);
+
+        $params = array_merge(
+            ['C2xxNV*', $level, count($subAuthorities), $authority],
+            $subAuthorities
+        );
+
+        return call_user_func_array('pack', $params);
+    }
+
+    /**
+     * Returns the string variant of a binary SID.
+     *
+     * @param string $binary
+     *
+     * @return string|null
+     */
+    protected function binarySidToString($binary)
+    {
+        return Utilities::binarySidToString($binary);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/TSProperty.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/TSProperty.php
new file mode 100644
index 0000000..ad56aa1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/TSProperty.php
@@ -0,0 +1,396 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+class TSProperty
+{
+    /**
+     * Nibble control values. The first value for each is if the nibble is <= 9, otherwise the second value is used.
+     */
+    const NIBBLE_CONTROL = [
+        'X' => ['001011', '011010'],
+        'Y' => ['001110', '011010'],
+    ];
+
+    /**
+     * The nibble header.
+     */
+    const NIBBLE_HEADER = '1110';
+
+    /**
+     * Conversion factor needed for time values in the TSPropertyArray (stored in microseconds).
+     */
+    const TIME_CONVERSION = 60 * 1000;
+
+    /**
+     * A simple map to help determine how the property needs to be decoded/encoded from/to its binary value.
+     *
+     * There are some names that are simple repeats but have 'W' at the end. Not sure as to what that signifies. I
+     * cannot find any information on them in Microsoft documentation. However, their values appear to stay in sync with
+     * their non 'W' counterparts. But not doing so when manipulating the data manually does not seem to affect anything.
+     * This probably needs more investigation.
+     *
+     * @var array
+     */
+    protected $propTypes = [
+        'string' => [
+            'CtxWFHomeDir',
+            'CtxWFHomeDirW',
+            'CtxWFHomeDirDrive',
+            'CtxWFHomeDirDriveW',
+            'CtxInitialProgram',
+            'CtxInitialProgramW',
+            'CtxWFProfilePath',
+            'CtxWFProfilePathW',
+            'CtxWorkDirectory',
+            'CtxWorkDirectoryW',
+            'CtxCallbackNumber',
+        ],
+        'time' => [
+            'CtxMaxDisconnectionTime',
+            'CtxMaxConnectionTime',
+            'CtxMaxIdleTime',
+        ],
+        'int' => [
+            'CtxCfgFlags1',
+            'CtxCfgPresent',
+            'CtxKeyboardLayout',
+            'CtxMinEncryptionLevel',
+            'CtxNWLogonServer',
+            'CtxShadow',
+        ],
+    ];
+
+    /**
+     * The property name.
+     *
+     * @var string
+     */
+    protected $name;
+
+    /**
+     * The property value.
+     *
+     * @var string|int
+     */
+    protected $value;
+
+    /**
+     * The property value type.
+     *
+     * @var int
+     */
+    protected $valueType = 1;
+
+    /**
+     * Pass binary TSProperty data to construct its object representation.
+     *
+     * @param string|null $value
+     */
+    public function __construct($value = null)
+    {
+        if ($value) {
+            $this->decode(bin2hex($value));
+        }
+    }
+
+    /**
+     * Set the name for the TSProperty.
+     *
+     * @param string $name
+     *
+     * @return TSProperty
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+
+        return $this;
+    }
+
+    /**
+     * Get the name for the TSProperty.
+     *
+     * @return string
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * Set the value for the TSProperty.
+     *
+     * @param string|int $value
+     *
+     * @return TSProperty
+     */
+    public function setValue($value)
+    {
+        $this->value = $value;
+
+        return $this;
+    }
+
+    /**
+     * Get the value for the TSProperty.
+     *
+     * @return string|int
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Convert the TSProperty name/value back to its binary
+     * representation for the userParameters blob.
+     *
+     * @return string
+     */
+    public function toBinary()
+    {
+        $name = bin2hex($this->name);
+
+        $binValue = $this->getEncodedValueForProp($this->name, $this->value);
+
+        $valueLen = strlen(bin2hex($binValue)) / 3;
+
+        $binary = hex2bin(
+            $this->dec2hex(strlen($name))
+            .$this->dec2hex($valueLen)
+            .$this->dec2hex($this->valueType)
+            .$name
+        );
+
+        return $binary.$binValue;
+    }
+
+    /**
+     * Given a TSProperty blob, decode the name/value/type/etc.
+     *
+     * @param string $tsProperty
+     */
+    protected function decode($tsProperty)
+    {
+        $nameLength = hexdec(substr($tsProperty, 0, 2));
+
+        // 1 data byte is 3 encoded bytes
+        $valueLength = hexdec(substr($tsProperty, 2, 2)) * 3;
+
+        $this->valueType = hexdec(substr($tsProperty, 4, 2));
+        $this->name = pack('H*', substr($tsProperty, 6, $nameLength));
+        $this->value = $this->getDecodedValueForProp($this->name, substr($tsProperty, 6 + $nameLength, $valueLength));
+    }
+
+    /**
+     * Based on the property name/value in question, get its encoded form.
+     *
+     * @param string     $propName
+     * @param string|int $propValue
+     *
+     * @return string
+     */
+    protected function getEncodedValueForProp($propName, $propValue)
+    {
+        if (in_array($propName, $this->propTypes['string'])) {
+            // Simple strings are null terminated. Unsure if this is
+            // needed or simply a product of how ADUC does stuff?
+            $value = $this->encodePropValue($propValue."\0", true);
+        } elseif (in_array($propName, $this->propTypes['time'])) {
+            // Needs to be in microseconds (assuming it is in minute format)...
+            $value = $this->encodePropValue($propValue * self::TIME_CONVERSION);
+        } else {
+            $value = $this->encodePropValue($propValue);
+        }
+
+        return $value;
+    }
+
+    /**
+     * Based on the property name in question, get its actual value from the binary blob value.
+     *
+     * @param string $propName
+     * @param string $propValue
+     *
+     * @return string|int
+     */
+    protected function getDecodedValueForProp($propName, $propValue)
+    {
+        if (in_array($propName, $this->propTypes['string'])) {
+            // Strip away null terminators. I think this should
+            // be desired, otherwise it just ends in confusion.
+            $value = str_replace("\0", '', $this->decodePropValue($propValue, true));
+        } elseif (in_array($propName, $this->propTypes['time'])) {
+            // Convert from microseconds to minutes (how ADUC displays
+            // it anyway, and seems the most practical).
+            $value = hexdec($this->decodePropValue($propValue)) / self::TIME_CONVERSION;
+        } elseif (in_array($propName, $this->propTypes['int'])) {
+            $value = hexdec($this->decodePropValue($propValue));
+        } else {
+            $value = $this->decodePropValue($propValue);
+        }
+
+        return $value;
+    }
+
+    /**
+     * Decode the property by inspecting the nibbles of each blob, checking
+     * the control, and adding up the results into a final value.
+     *
+     * @param string $hex
+     * @param bool   $string Whether or not this is simple string data.
+     *
+     * @return string
+     */
+    protected function decodePropValue($hex, $string = false)
+    {
+        $decodePropValue = '';
+
+        $blobs = str_split($hex, 6);
+
+        foreach ($blobs as $blob) {
+            $bin = decbin(hexdec($blob));
+
+            $controlY = substr($bin, 4, 6);
+            $nibbleY = substr($bin, 10, 4);
+            $controlX = substr($bin, 14, 6);
+            $nibbleX = substr($bin, 20, 4);
+
+            $byte = $this->nibbleControl($nibbleX, $controlX).$this->nibbleControl($nibbleY, $controlY);
+
+            if ($string) {
+                $decodePropValue .= MbString::chr(bindec($byte));
+            } else {
+                $decodePropValue = $this->dec2hex(bindec($byte)).$decodePropValue;
+            }
+        }
+
+        return $decodePropValue;
+    }
+
+    /**
+     * Get the encoded property value as a binary blob.
+     *
+     * @param string $value
+     * @param bool   $string
+     *
+     * @return string
+     */
+    protected function encodePropValue($value, $string = false)
+    {
+        // An int must be properly padded. (then split and reversed).
+        // For a string, we just split the chars. This seems
+        // to be the easiest way to handle UTF-8 characters
+        // instead of trying to work with their hex values.
+        $chars = $string ? MbString::split($value) : array_reverse(str_split($this->dec2hex($value, 8), 2));
+
+        $encoded = '';
+
+        foreach ($chars as $char) {
+            // Get the bits for the char. Using this method to ensure it is fully padded.
+            $bits = sprintf('%08b', $string ? MbString::ord($char) : hexdec($char));
+            $nibbleX = substr($bits, 0, 4);
+            $nibbleY = substr($bits, 4, 4);
+
+            // Construct the value with the header, high nibble, then low nibble.
+            $value = self::NIBBLE_HEADER;
+
+            foreach (['Y' => $nibbleY, 'X' => $nibbleX] as $nibbleType => $nibble) {
+                $value .= $this->getNibbleWithControl($nibbleType, $nibble);
+            }
+
+            // Convert it back to a binary bit stream
+            foreach ([0, 8, 16] as $start) {
+                $encoded .= $this->packBitString(substr($value, $start, 8), 8);
+            }
+        }
+
+        return $encoded;
+    }
+
+    /**
+     * PHP's pack() function has no 'b' or 'B' template. This is
+     * a workaround that turns a literal bit-string into a
+     * packed byte-string with 8 bits per byte.
+     *
+     * @param string $bits
+     * @param bool   $len
+     *
+     * @return string
+     */
+    protected function packBitString($bits, $len)
+    {
+        $bits = substr($bits, 0, $len);
+        // Pad input with zeros to next multiple of 4 above $len
+        $bits = str_pad($bits, 4 * (int) (($len + 3) / 4), '0');
+
+        // Split input into chunks of 4 bits, convert each to hex and pack them
+        $nibbles = str_split($bits, 4);
+        foreach ($nibbles as $i => $nibble) {
+            $nibbles[$i] = base_convert($nibble, 2, 16);
+        }
+
+        return pack('H*', implode('', $nibbles));
+    }
+
+    /**
+     * Based on the control, adjust the nibble accordingly.
+     *
+     * @param string $nibble
+     * @param string $control
+     *
+     * @return string
+     */
+    protected function nibbleControl($nibble, $control)
+    {
+        // This control stays constant for the low/high nibbles,
+        // so it doesn't matter which we compare to
+        if ($control == self::NIBBLE_CONTROL['X'][1]) {
+            $dec = bindec($nibble);
+            $dec += 9;
+            $nibble = str_pad(decbin($dec), 4, '0', STR_PAD_LEFT);
+        }
+
+        return $nibble;
+    }
+
+    /**
+     * Get the nibble value with the control prefixed.
+     *
+     * If the nibble dec is <= 9, the control X equals 001011 and Y equals 001110, otherwise if the nibble dec is > 9
+     * the control for X or Y equals 011010. Additionally, if the dec value of the nibble is > 9, then the nibble value
+     * must be subtracted by 9 before the final value is constructed.
+     *
+     * @param string $nibbleType Either X or Y
+     * @param string $nibble
+     *
+     * @return string
+     */
+    protected function getNibbleWithControl($nibbleType, $nibble)
+    {
+        $dec = bindec($nibble);
+
+        if ($dec > 9) {
+            $dec -= 9;
+            $control = self::NIBBLE_CONTROL[$nibbleType][1];
+        } else {
+            $control = self::NIBBLE_CONTROL[$nibbleType][0];
+        }
+
+        return $control.sprintf('%04d', decbin($dec));
+    }
+
+    /**
+     * Need to make sure hex values are always an even length, so pad as needed.
+     *
+     * @param int $int
+     * @param int $padLength The hex string must be padded to this length (with zeros).
+     *
+     * @return string
+     */
+    protected function dec2hex($int, $padLength = 2)
+    {
+        return str_pad(dechex($int), $padLength, 0, STR_PAD_LEFT);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/TSPropertyArray.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/TSPropertyArray.php
new file mode 100644
index 0000000..1831688
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/TSPropertyArray.php
@@ -0,0 +1,295 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use InvalidArgumentException;
+
+class TSPropertyArray
+{
+    /**
+     * Represents that the TSPropertyArray data is valid.
+     */
+    const VALID_SIGNATURE = 'P';
+
+    /**
+     * The default values for the TSPropertyArray structure.
+     *
+     * @var array
+     */
+    const DEFAULTS = [
+        'CtxCfgPresent' => 2953518677,
+        'CtxWFProfilePath' => '',
+        'CtxWFProfilePathW' => '',
+        'CtxWFHomeDir' => '',
+        'CtxWFHomeDirW' => '',
+        'CtxWFHomeDirDrive' => '',
+        'CtxWFHomeDirDriveW' => '',
+        'CtxShadow' => 1,
+        'CtxMaxDisconnectionTime' => 0,
+        'CtxMaxConnectionTime' => 0,
+        'CtxMaxIdleTime' => 0,
+        'CtxWorkDirectory' => '',
+        'CtxWorkDirectoryW' => '',
+        'CtxCfgFlags1' => 2418077696,
+        'CtxInitialProgram' => '',
+        'CtxInitialProgramW' => '',
+    ];
+
+    /**
+     * @var string The default data that occurs before the TSPropertyArray (CtxCfgPresent with a bunch of spaces...?)
+     */
+    protected $defaultPreBinary = '43747843666750726573656e742020202020202020202020202020202020202020202020202020202020202020202020';
+
+    /**
+     * @var TSProperty[]
+     */
+    protected $tsProperty = [];
+
+    /**
+     * @var string
+     */
+    protected $signature = self::VALID_SIGNATURE;
+
+    /**
+     * Binary data that occurs before the TSPropertyArray data in userParameters.
+     *
+     * @var string
+     */
+    protected $preBinary = '';
+
+    /**
+     * Binary data that occurs after the TSPropertyArray data in userParameters.
+     *
+     * @var string
+     */
+    protected $postBinary = '';
+
+    /**
+     * Construct in one of the following ways:.
+     *
+     *   - Pass an array of TSProperty key => value pairs (See DEFAULTS constant).
+     *   - Pass the userParameters binary value. The object representation of that will be decoded and constructed.
+     *   - Pass nothing and a default set of TSProperty key => value pairs will be used (See DEFAULTS constant).
+     *
+     * @param mixed $tsPropertyArray
+     */
+    public function __construct($tsPropertyArray = null)
+    {
+        $this->preBinary = hex2bin($this->defaultPreBinary);
+
+        if (is_null($tsPropertyArray) || is_array($tsPropertyArray)) {
+            $tsPropertyArray = $tsPropertyArray ?: self::DEFAULTS;
+
+            foreach ($tsPropertyArray as $key => $value) {
+                $tsProperty = new TSProperty();
+
+                $this->tsProperty[$key] = $tsProperty->setName($key)->setValue($value);
+            }
+        } else {
+            $this->decodeUserParameters($tsPropertyArray);
+        }
+    }
+
+    /**
+     * Check if a specific TSProperty exists by its property name.
+     *
+     * @param string $propName
+     *
+     * @return bool
+     */
+    public function has($propName)
+    {
+        return array_key_exists(strtolower($propName), array_change_key_case($this->tsProperty));
+    }
+
+    /**
+     * Get a TSProperty object by its property name (ie. CtxWFProfilePath).
+     *
+     * @param string $propName
+     *
+     * @return TSProperty
+     */
+    public function get($propName)
+    {
+        $this->validateProp($propName);
+
+        return $this->getTsPropObj($propName);
+    }
+
+    /**
+     * Add a TSProperty object. If it already exists, it will be overwritten.
+     *
+     * @param TSProperty $tsProperty
+     *
+     * @return $this
+     */
+    public function add(TSProperty $tsProperty)
+    {
+        $this->tsProperty[$tsProperty->getName()] = $tsProperty;
+
+        return $this;
+    }
+
+    /**
+     * Remove a TSProperty by its property name (ie. CtxMinEncryptionLevel).
+     *
+     * @param string $propName
+     *
+     * @return $this
+     */
+    public function remove($propName)
+    {
+        foreach (array_keys($this->tsProperty) as $property) {
+            if (strtolower($propName) == strtolower($property)) {
+                unset($this->tsProperty[$property]);
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Set the value for a specific TSProperty by its name.
+     *
+     * @param string $propName
+     * @param mixed  $propValue
+     *
+     * @return $this
+     */
+    public function set($propName, $propValue)
+    {
+        $this->validateProp($propName);
+
+        $this->getTsPropObj($propName)->setValue($propValue);
+
+        return $this;
+    }
+
+    /**
+     * Get the full binary representation of the userParameters containing the TSPropertyArray data.
+     *
+     * @return string
+     */
+    public function toBinary()
+    {
+        $binary = $this->preBinary;
+
+        $binary .= hex2bin(str_pad(dechex(MbString::ord($this->signature)), 2, 0, STR_PAD_LEFT));
+
+        $binary .= hex2bin(str_pad(dechex(count($this->tsProperty)), 2, 0, STR_PAD_LEFT));
+
+        foreach ($this->tsProperty as $tsProperty) {
+            $binary .= $tsProperty->toBinary();
+        }
+
+        return $binary.$this->postBinary;
+    }
+
+    /**
+     * Get a simple associative array containing of all TSProperty names and values.
+     *
+     * @return array
+     */
+    public function toArray()
+    {
+        $userParameters = [];
+
+        foreach ($this->tsProperty as $property => $tsPropObj) {
+            $userParameters[$property] = $tsPropObj->getValue();
+        }
+
+        return $userParameters;
+    }
+
+    /**
+     * Get all TSProperty objects.
+     *
+     * @return TSProperty[]
+     */
+    public function getTSProperties()
+    {
+        return $this->tsProperty;
+    }
+
+    /**
+     * Validates that the given property name exists.
+     *
+     * @param string $propName
+     */
+    protected function validateProp($propName)
+    {
+        if (! $this->has($propName)) {
+            throw new InvalidArgumentException(sprintf('TSProperty for "%s" does not exist.', $propName));
+        }
+    }
+
+    /**
+     * @param string $propName
+     *
+     * @return TSProperty
+     */
+    protected function getTsPropObj($propName)
+    {
+        return array_change_key_case($this->tsProperty)[strtolower($propName)];
+    }
+
+    /**
+     * Get an associative array with all of the userParameters property names and values.
+     *
+     * @param string $userParameters
+     *
+     * @return void
+     */
+    protected function decodeUserParameters($userParameters)
+    {
+        $userParameters = bin2hex($userParameters);
+
+        // Save the 96-byte array of reserved data, so as to not ruin anything that may be stored there.
+        $this->preBinary = hex2bin(substr($userParameters, 0, 96));
+        // The signature is a 2-byte unicode character at the front
+        $this->signature = MbString::chr(hexdec(substr($userParameters, 96, 2)));
+        // This asserts the validity of the tsPropertyArray data. For some reason 'P' means valid...
+        if ($this->signature != self::VALID_SIGNATURE) {
+            throw new InvalidArgumentException('Invalid TSPropertyArray data');
+        }
+
+        // The property count is a 2-byte unsigned integer indicating the number of elements for the tsPropertyArray
+        // It starts at position 98. The actual variable data begins at position 100.
+        $length = $this->addTSPropData(substr($userParameters, 100), hexdec(substr($userParameters, 98, 2)));
+
+        // Reserved data length + (count and sig length == 4) + the added lengths of the TSPropertyArray
+        // This saves anything after that variable TSPropertyArray data, so as to not squash anything stored there
+        if (strlen($userParameters) > (96 + 4 + $length)) {
+            $this->postBinary = hex2bin(substr($userParameters, (96 + 4 + $length)));
+        }
+    }
+
+    /**
+     * Given the start of TSPropertyArray hex data, and the count for the number
+     * of TSProperty structures in contains, parse and split out the
+     * individual TSProperty structures. Return the full length
+     * of the TSPropertyArray data.
+     *
+     * @param string $tsPropertyArray
+     * @param int    $tsPropCount
+     *
+     * @return int The length of the data in the TSPropertyArray
+     */
+    protected function addTSPropData($tsPropertyArray, $tsPropCount)
+    {
+        $length = 0;
+
+        for ($i = 0; $i < $tsPropCount; $i++) {
+            // Prop length = name length + value length + type length + the space for the length data.
+            $propLength = hexdec(substr($tsPropertyArray, $length, 2)) + (hexdec(substr($tsPropertyArray, $length + 2, 2)) * 3) + 6;
+
+            $tsProperty = new TSProperty(hex2bin(substr($tsPropertyArray, $length, $propLength)));
+
+            $this->tsProperty[$tsProperty->getName()] = $tsProperty;
+
+            $length += $propLength;
+        }
+
+        return $length;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Timestamp.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Timestamp.php
new file mode 100644
index 0000000..abd656c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Attributes/Timestamp.php
@@ -0,0 +1,244 @@
+<?php
+
+namespace LdapRecord\Models\Attributes;
+
+use Carbon\Carbon;
+use Carbon\CarbonInterface;
+use DateTime;
+use LdapRecord\LdapRecordException;
+use LdapRecord\Utilities;
+
+class Timestamp
+{
+    /**
+     * The current timestamp type.
+     *
+     * @var string
+     */
+    protected $type;
+
+    /**
+     * The available timestamp types.
+     *
+     * @var array
+     */
+    protected $types = [
+        'ldap',
+        'windows',
+        'windows-int',
+    ];
+
+    /**
+     * Constructor.
+     *
+     * @param string $type
+     *
+     * @throws LdapRecordException
+     */
+    public function __construct($type)
+    {
+        $this->setType($type);
+    }
+
+    /**
+     * Set the type of timestamp to convert from / to.
+     *
+     * @param string $type
+     *
+     * @throws LdapRecordException
+     */
+    public function setType($type)
+    {
+        if (! in_array($type, $this->types)) {
+            throw new LdapRecordException("Unrecognized LDAP date type [$type]");
+        }
+
+        $this->type = $type;
+    }
+
+    /**
+     * Converts the value to an LDAP date string.
+     *
+     * @param mixed $value
+     *
+     * @throws LdapRecordException
+     *
+     * @return float|string
+     */
+    public function fromDateTime($value)
+    {
+        $value = is_array($value) ? reset($value) : $value;
+
+        // If the value is being converted to a windows integer format but it
+        // is already in that format, we will simply return the value back.
+        if ($this->type == 'windows-int' && $this->valueIsWindowsIntegerType($value)) {
+            return $value;
+        }
+        // If the value is numeric, we will assume it's a UNIX timestamp.
+        elseif (is_numeric($value)) {
+            $value = Carbon::createFromTimestamp($value);
+        }
+        // If a string is given, we will pass it into a new carbon instance.
+        elseif (is_string($value)) {
+            $value = Carbon::parse($value);
+        }
+        // If a date object is given, we will convert it to a carbon instance.
+        elseif ($value instanceof DateTime) {
+            $value = Carbon::instance($value);
+        }
+
+        switch ($this->type) {
+            case 'ldap':
+                $value = $this->convertDateTimeToLdapTime($value);
+                break;
+            case 'windows':
+                $value = $this->convertDateTimeToWindows($value);
+                break;
+            case 'windows-int':
+                $value = $this->convertDateTimeToWindowsInteger($value);
+                break;
+            default:
+                throw new LdapRecordException("Unrecognized date type [{$this->type}]");
+        }
+
+        return $value;
+    }
+
+    /**
+     * Determine if the value given is in Windows Integer (NTFS Filetime) format.
+     *
+     * @param int|string $value
+     *
+     * @return bool
+     */
+    protected function valueIsWindowsIntegerType($value)
+    {
+        return is_numeric($value) && strlen((string) $value) === 18;
+    }
+
+    /**
+     * Converts the LDAP timestamp value to a Carbon instance.
+     *
+     * @param mixed $value
+     *
+     * @throws LdapRecordException
+     *
+     * @return Carbon|false
+     */
+    public function toDateTime($value)
+    {
+        $value = is_array($value) ? reset($value) : $value;
+
+        if ($value instanceof CarbonInterface || $value instanceof DateTime) {
+            return Carbon::instance($value);
+        }
+
+        switch ($this->type) {
+            case 'ldap':
+                $value = $this->convertLdapTimeToDateTime($value);
+                break;
+            case 'windows':
+                $value = $this->convertWindowsTimeToDateTime($value);
+                break;
+            case 'windows-int':
+                $value = $this->convertWindowsIntegerTimeToDateTime($value);
+                break;
+            default:
+                throw new LdapRecordException("Unrecognized date type [{$this->type}]");
+        }
+
+        return $value instanceof DateTime ? Carbon::instance($value) : $value;
+    }
+
+    /**
+     * Converts standard LDAP timestamps to a date time object.
+     *
+     * @param string $value
+     *
+     * @return DateTime|bool
+     */
+    protected function convertLdapTimeToDateTime($value)
+    {
+        return DateTime::createFromFormat(
+            strpos($value, 'Z') !== false ? 'YmdHis\Z' : 'YmdHisT',
+            $value
+        );
+    }
+
+    /**
+     * Converts date objects to a standard LDAP timestamp.
+     *
+     * @param DateTime $date
+     *
+     * @return string
+     */
+    protected function convertDateTimeToLdapTime(DateTime $date)
+    {
+        return $date->format(
+            $date->getOffset() == 0 ? 'YmdHis\Z' : 'YmdHisO'
+        );
+    }
+
+    /**
+     * Converts standard windows timestamps to a date time object.
+     *
+     * @param string $value
+     *
+     * @return DateTime|bool
+     */
+    protected function convertWindowsTimeToDateTime($value)
+    {
+        return DateTime::createFromFormat(
+            strpos($value, '0Z') !== false ? 'YmdHis.0\Z' : 'YmdHis.0T',
+            $value
+        );
+    }
+
+    /**
+     * Converts date objects to a windows timestamp.
+     *
+     * @param DateTime $date
+     *
+     * @return string
+     */
+    protected function convertDateTimeToWindows(DateTime $date)
+    {
+        return $date->format(
+            $date->getOffset() == 0 ? 'YmdHis.0\Z' : 'YmdHis.0O'
+        );
+    }
+
+    /**
+     * Converts standard windows integer dates to a date time object.
+     *
+     * @param int $value
+     *
+     * @throws \Exception
+     *
+     * @return DateTime|bool
+     */
+    protected function convertWindowsIntegerTimeToDateTime($value)
+    {
+        // ActiveDirectory dates that contain integers may return
+        // "0" when they are not set. We will validate that here.
+        if (! $value) {
+            return false;
+        }
+
+        return (new DateTime())->setTimestamp(
+            Utilities::convertWindowsTimeToUnixTime($value)
+        );
+    }
+
+    /**
+     * Converts date objects to a windows integer timestamp.
+     *
+     * @param DateTime $date
+     *
+     * @return float
+     */
+    protected function convertDateTimeToWindowsInteger(DateTime $date)
+    {
+        return Utilities::convertUnixTimeToWindowsTime($date->getTimestamp());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/BatchModification.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/BatchModification.php
new file mode 100644
index 0000000..37f0e87
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/BatchModification.php
@@ -0,0 +1,307 @@
+<?php
+
+namespace LdapRecord\Models;
+
+use InvalidArgumentException;
+
+class BatchModification
+{
+    use DetectsResetIntegers;
+
+    /**
+     * The array keys to be used in batch modifications.
+     */
+    const KEY_ATTRIB = 'attrib';
+    const KEY_MODTYPE = 'modtype';
+    const KEY_VALUES = 'values';
+
+    /**
+     * The attribute of the modification.
+     *
+     * @var string|null
+     */
+    protected $attribute;
+
+    /**
+     * The original value of the attribute before modification.
+     *
+     * @var array
+     */
+    protected $original = [];
+
+    /**
+     * The values of the modification.
+     *
+     * @var array
+     */
+    protected $values = [];
+
+    /**
+     * The modtype integer of the batch modification.
+     *
+     * @var int|null
+     */
+    protected $type;
+
+    /**
+     * Constructor.
+     *
+     * @param string|null     $attribute
+     * @param string|int|null $type
+     * @param array           $values
+     */
+    public function __construct($attribute = null, $type = null, array $values = [])
+    {
+        $this->setAttribute($attribute)
+            ->setType($type)
+            ->setValues($values);
+    }
+
+    /**
+     * Set the original value of the attribute before modification.
+     *
+     * @param array|string $original
+     *
+     * @return $this
+     */
+    public function setOriginal($original = [])
+    {
+        $this->original = $this->normalizeAttributeValues($original);
+
+        return $this;
+    }
+
+    /**
+     * Returns the original value of the attribute before modification.
+     *
+     * @return array
+     */
+    public function getOriginal()
+    {
+        return $this->original;
+    }
+
+    /**
+     * Set the attribute of the modification.
+     *
+     * @param string $attribute
+     *
+     * @return $this
+     */
+    public function setAttribute($attribute)
+    {
+        $this->attribute = $attribute;
+
+        return $this;
+    }
+
+    /**
+     * Returns the attribute of the modification.
+     *
+     * @return string
+     */
+    public function getAttribute()
+    {
+        return $this->attribute;
+    }
+
+    /**
+     * Set the values of the modification.
+     *
+     * @param array $values
+     *
+     * @return $this
+     */
+    public function setValues(array $values = [])
+    {
+        // Null and empty values must also not be added to a batch
+        // modification. Passing null or empty values will result
+        // in an exception when trying to save the modification.
+        $this->values = array_filter($this->normalizeAttributeValues($values), function ($value) {
+            return is_numeric($value) && $this->valueIsResetInteger((int) $value) ?: ! empty($value);
+        });
+
+        return $this;
+    }
+
+    /**
+     * Normalize all of the attribute values.
+     *
+     * @param array|string $values
+     *
+     * @return array
+     */
+    protected function normalizeAttributeValues($values = [])
+    {
+        // We must convert all of the values to strings. Only strings can
+        // be used in batch modifications, otherwise we will we will
+        // receive an LDAP exception while attempting to save.
+        return array_map('strval', (array) $values);
+    }
+
+    /**
+     * Returns the values of the modification.
+     *
+     * @return array
+     */
+    public function getValues()
+    {
+        return $this->values;
+    }
+
+    /**
+     * Set the type of the modification.
+     *
+     * @param int|null $type
+     *
+     * @return $this
+     */
+    public function setType($type = null)
+    {
+        if (is_null($type)) {
+            return $this;
+        }
+
+        if (! $this->isValidType($type)) {
+            throw new InvalidArgumentException('Given batch modification type is invalid.');
+        }
+
+        $this->type = $type;
+
+        return $this;
+    }
+
+    /**
+     * Returns the type of the modification.
+     *
+     * @return int
+     */
+    public function getType()
+    {
+        return $this->type;
+    }
+
+    /**
+     * Determines if the batch modification is valid in its current state.
+     *
+     * @return bool
+     */
+    public function isValid()
+    {
+        return ! is_null($this->get());
+    }
+
+    /**
+     * Builds the type of modification automatically
+     * based on the current and original values.
+     *
+     * @return $this
+     */
+    public function build()
+    {
+        switch (true) {
+            case empty($this->original) && empty($this->values):
+                return $this;
+            case ! empty($this->original) && empty($this->values):
+                return $this->setType(LDAP_MODIFY_BATCH_REMOVE_ALL);
+            case empty($this->original) && ! empty($this->values):
+                return $this->setType(LDAP_MODIFY_BATCH_ADD);
+            default:
+               return $this->determineBatchTypeFromOriginal();
+        }
+    }
+
+    /**
+     * Determine the batch modification type from the original values.
+     *
+     * @return $this
+     */
+    protected function determineBatchTypeFromOriginal()
+    {
+        $added = $this->getAddedValues();
+        $removed = $this->getRemovedValues();
+
+        switch (true) {
+            case ! empty($added) && ! empty($removed):
+                return $this->setType(LDAP_MODIFY_BATCH_REPLACE);
+            case ! empty($added):
+                return $this->setValues($added)->setType(LDAP_MODIFY_BATCH_ADD);
+            case ! empty($removed):
+                return $this->setValues($removed)->setType(LDAP_MODIFY_BATCH_REMOVE);
+            default:
+                return $this;
+        }
+    }
+
+    /**
+     * Get the values that were added to the attribute.
+     *
+     * @return array
+     */
+    protected function getAddedValues()
+    {
+        return array_values(
+            array_diff($this->values, $this->original)
+        );
+    }
+
+    /**
+     * Get the values that were removed from the attribute.
+     *
+     * @return array
+     */
+    protected function getRemovedValues()
+    {
+        return array_values(
+            array_diff($this->original, $this->values)
+        );
+    }
+
+    /**
+     * Returns the built batch modification array.
+     *
+     * @return array|null
+     */
+    public function get()
+    {
+        switch ($this->type) {
+            case LDAP_MODIFY_BATCH_REMOVE_ALL:
+                // A values key cannot be provided when
+                // a remove all type is selected.
+                return [
+                    static::KEY_ATTRIB => $this->attribute,
+                    static::KEY_MODTYPE => $this->type,
+                ];
+            case LDAP_MODIFY_BATCH_REMOVE:
+                // Fallthrough.
+            case LDAP_MODIFY_BATCH_ADD:
+                // Fallthrough.
+            case LDAP_MODIFY_BATCH_REPLACE:
+                return [
+                    static::KEY_ATTRIB => $this->attribute,
+                    static::KEY_MODTYPE => $this->type,
+                    static::KEY_VALUES => $this->values,
+                ];
+            default:
+                // If the modtype isn't recognized, we'll return null.
+                return;
+        }
+    }
+
+    /**
+     * Determines if the given modtype is valid.
+     *
+     * @param int $type
+     *
+     * @return bool
+     */
+    protected function isValidType($type)
+    {
+        return in_array($type, [
+            LDAP_MODIFY_BATCH_REMOVE_ALL,
+            LDAP_MODIFY_BATCH_REMOVE,
+            LDAP_MODIFY_BATCH_REPLACE,
+            LDAP_MODIFY_BATCH_ADD,
+        ]);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Collection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Collection.php
new file mode 100644
index 0000000..850167b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Collection.php
@@ -0,0 +1,122 @@
+<?php
+
+namespace LdapRecord\Models;
+
+use Closure;
+use LdapRecord\Models\Attributes\DistinguishedName;
+use LdapRecord\Query\Collection as QueryCollection;
+use LdapRecord\Support\Arr;
+
+class Collection extends QueryCollection
+{
+    /**
+     * Determine if the collection contains all of the given models, or any models.
+     *
+     * @param mixed $models
+     *
+     * @return bool
+     */
+    public function exists($models = null)
+    {
+        $models = $this->getArrayableModels($models);
+
+        // If any arguments were given and the result set is
+        // empty, we can simply return false here. We can't
+        // verify the existence of models without results.
+        if (func_num_args() > 0 && empty(array_filter($models))) {
+            return false;
+        }
+
+        if (! $models) {
+            return parent::isNotEmpty();
+        }
+
+        foreach ($models as $model) {
+            $exists = parent::contains(function (Model $related) use ($model) {
+                return $this->compareModelWithRelated($model, $related);
+            });
+
+            if (! $exists) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Determine if any of the given models are contained in the collection.
+     *
+     * @param mixed $key
+     * @param mixed $operator
+     * @param mixed $value
+     *
+     * @return bool
+     */
+    public function contains($key, $operator = null, $value = null)
+    {
+        if (func_num_args() > 1 || $key instanceof Closure) {
+            // If we are supplied with more than one argument, or
+            // we were passed a closure, we will utilize the
+            // parents contains method, for compatibility.
+            return parent::contains($key, $operator, $value);
+        }
+
+        foreach ($this->getArrayableModels($key) as $model) {
+            $exists = parent::contains(function (Model $related) use ($model) {
+                return $this->compareModelWithRelated($model, $related);
+            });
+
+            if ($exists) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Get the provided models as an array.
+     *
+     * @param mixed $models
+     *
+     * @return array
+     */
+    protected function getArrayableModels($models = null)
+    {
+        return $models instanceof QueryCollection
+            ? $models->toArray()
+            : Arr::wrap($models);
+    }
+
+    /**
+     * Compare the related model with the given.
+     *
+     * @param Model|string $model
+     * @param Model        $related
+     *
+     * @return bool
+     */
+    protected function compareModelWithRelated($model, $related)
+    {
+        if (is_string($model)) {
+            return $this->isValidDn($model)
+                ? $related->getDn() == $model
+                : $related->getName() == $model;
+        }
+
+        return $related->is($model);
+    }
+
+    /**
+     * Determine if the given string is a valid distinguished name.
+     *
+     * @param string $dn
+     *
+     * @return bool
+     */
+    protected function isValidDn($dn)
+    {
+        return ! empty((new DistinguishedName($dn))->components());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/CanAuthenticate.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/CanAuthenticate.php
new file mode 100644
index 0000000..f287454
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/CanAuthenticate.php
@@ -0,0 +1,64 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+trait CanAuthenticate
+{
+    /**
+     * Get the name of the unique identifier for the user.
+     *
+     * @return string
+     */
+    public function getAuthIdentifierName()
+    {
+        return $this->guidKey;
+    }
+
+    /**
+     * Get the unique identifier for the user.
+     *
+     * @return mixed
+     */
+    public function getAuthIdentifier()
+    {
+        return $this->getConvertedGuid();
+    }
+
+    /**
+     * Get the password for the user.
+     *
+     * @return string
+     */
+    public function getAuthPassword()
+    {
+    }
+
+    /**
+     * Get the token value for the "remember me" session.
+     *
+     * @return string
+     */
+    public function getRememberToken()
+    {
+    }
+
+    /**
+     * Set the token value for the "remember me" session.
+     *
+     * @param string $value
+     *
+     * @return void
+     */
+    public function setRememberToken($value)
+    {
+    }
+
+    /**
+     * Get the column name for the "remember me" token.
+     *
+     * @return string
+     */
+    public function getRememberTokenName()
+    {
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasAttributes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasAttributes.php
new file mode 100644
index 0000000..20fcec0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasAttributes.php
@@ -0,0 +1,1106 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+use Carbon\Carbon;
+use DateTimeInterface;
+use Exception;
+use LdapRecord\LdapRecordException;
+use LdapRecord\Models\Attributes\MbString;
+use LdapRecord\Models\Attributes\Timestamp;
+use LdapRecord\Models\DetectsResetIntegers;
+use LdapRecord\Support\Arr;
+
+trait HasAttributes
+{
+    use DetectsResetIntegers;
+
+    /**
+     * The models original attributes.
+     *
+     * @var array
+     */
+    protected $original = [];
+
+    /**
+     * The models attributes.
+     *
+     * @var array
+     */
+    protected $attributes = [];
+
+    /**
+     * The attributes that should be mutated to dates.
+     *
+     * @var array
+     */
+    protected $dates = [];
+
+    /**
+     * The attributes that should be cast to their native types.
+     *
+     * @var array
+     */
+    protected $casts = [];
+
+    /**
+     * The accessors to append to the model's array form.
+     *
+     * @var array
+     */
+    protected $appends = [];
+
+    /**
+     * The format that dates must be output to for serialization.
+     *
+     * @var string
+     */
+    protected $dateFormat;
+
+    /**
+     * The default attributes that should be mutated to dates.
+     *
+     * @var array
+     */
+    protected $defaultDates = [
+        'createtimestamp' => 'ldap',
+        'modifytimestamp' => 'ldap',
+    ];
+
+    /**
+     * The cache of the mutated attributes for each class.
+     *
+     * @var array
+     */
+    protected static $mutatorCache = [];
+
+    /**
+     * Convert the model's attributes to an array.
+     *
+     * @return array
+     */
+    public function attributesToArray()
+    {
+        // Here we will replace our LDAP formatted dates with
+        // properly formatted ones, so dates do not need to
+        // be converted manually after being returned.
+        $attributes = $this->addDateAttributesToArray(
+            $attributes = $this->getArrayableAttributes()
+        );
+
+        $attributes = $this->addMutatedAttributesToArray(
+            $attributes,
+            $this->getMutatedAttributes()
+        );
+
+        // Before we go ahead and encode each value, we'll attempt
+        // converting any necessary attribute values to ensure
+        // they can be encoded, such as GUIDs and SIDs.
+        $attributes = $this->convertAttributesForJson($attributes);
+
+        // Here we will grab all of the appended, calculated attributes to this model
+        // as these attributes are not really in the attributes array, but are run
+        // when we need to array or JSON the model for convenience to the coder.
+        foreach ($this->getArrayableAppends() as $key) {
+            $attributes[$key] = $this->mutateAttributeForArray($key, null);
+        }
+
+        // Now we will go through each attribute to make sure it is
+        // properly encoded. If attributes aren't in UTF-8, we will
+        // encounter JSON encoding errors upon model serialization.
+        return $this->encodeAttributes($attributes);
+    }
+
+    /**
+     * Add the date attributes to the attributes array.
+     *
+     * @param array $attributes
+     *
+     * @return array
+     */
+    protected function addDateAttributesToArray(array $attributes)
+    {
+        foreach ($this->getDates() as $attribute => $type) {
+            if (! isset($attributes[$attribute])) {
+                continue;
+            }
+
+            $date = $this->asDateTime($attributes[$attribute], $type);
+
+            $attributes[$attribute] = $date instanceof Carbon
+                ? Arr::wrap($this->serializeDate($date))
+                : $attributes[$attribute];
+        }
+
+        return $attributes;
+    }
+
+    /**
+     * Prepare a date for array / JSON serialization.
+     *
+     * @param DateTimeInterface $date
+     *
+     * @return string
+     */
+    protected function serializeDate(DateTimeInterface $date)
+    {
+        return $date->format($this->getDateFormat());
+    }
+
+    /**
+     * Recursively UTF-8 encode the given attributes.
+     *
+     * @return array
+     */
+    public function encodeAttributes($attributes)
+    {
+        array_walk_recursive($attributes, function (&$value) {
+            $value = $this->encodeValue($value);
+        });
+
+        return $attributes;
+    }
+
+    /**
+     * Encode the given value for proper serialization.
+     *
+     * @param string $value
+     *
+     * @return string
+     */
+    protected function encodeValue($value)
+    {
+        // If we are able to detect the encoding, we will
+        // encode only the attributes that need to be,
+        // so that we do not double encode values.
+        return MbString::isLoaded() && MbString::isUtf8($value) ? $value : utf8_encode($value);
+    }
+
+    /**
+     * Add the mutated attributes to the attributes array.
+     *
+     * @param array $attributes
+     * @param array $mutatedAttributes
+     *
+     * @return array
+     */
+    protected function addMutatedAttributesToArray(array $attributes, array $mutatedAttributes)
+    {
+        foreach ($mutatedAttributes as $key) {
+            // We want to spin through all the mutated attributes for this model and call
+            // the mutator for the attribute. We cache off every mutated attributes so
+            // we don't have to constantly check on attributes that actually change.
+            if (! Arr::exists($attributes, $key)) {
+                continue;
+            }
+
+            // Next, we will call the mutator for this attribute so that we can get these
+            // mutated attribute's actual values. After we finish mutating each of the
+            // attributes we will return this final array of the mutated attributes.
+            $attributes[$key] = $this->mutateAttributeForArray(
+                $key,
+                $attributes[$key]
+            );
+        }
+
+        return $attributes;
+    }
+
+    /**
+     * Set the model's original attributes with the model's current attributes.
+     *
+     * @return $this
+     */
+    public function syncOriginal()
+    {
+        $this->original = $this->attributes;
+
+        return $this;
+    }
+
+    /**
+     * Fills the entry with the supplied attributes.
+     *
+     * @param array $attributes
+     *
+     * @return $this
+     */
+    public function fill(array $attributes = [])
+    {
+        foreach ($attributes as $key => $value) {
+            $this->setAttribute($key, $value);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns the models attribute by its key.
+     *
+     * @param int|string $key
+     *
+     * @return mixed
+     */
+    public function getAttribute($key)
+    {
+        if (! $key) {
+            return;
+        }
+
+        return $this->getAttributeValue($key);
+    }
+
+    /**
+     * Get an attributes value.
+     *
+     * @param string $key
+     *
+     * @return mixed
+     */
+    public function getAttributeValue($key)
+    {
+        $key = $this->normalizeAttributeKey($key);
+        $value = $this->getAttributeFromArray($key);
+
+        if ($this->hasGetMutator($key)) {
+            return $this->getMutatedAttributeValue($key, $value);
+        }
+
+        if ($this->isDateAttribute($key) && ! is_null($value)) {
+            return $this->asDateTime(Arr::first($value), $this->getDates()[$key]);
+        }
+
+        if ($this->isCastedAttribute($key) && ! is_null($value)) {
+            return $this->castAttribute($key, $value);
+        }
+
+        return $value;
+    }
+
+    /**
+     * Determine if the given attribute is a date.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function isDateAttribute($key)
+    {
+        return array_key_exists($key, $this->getDates());
+    }
+
+    /**
+     * Get the attributes that should be mutated to dates.
+     *
+     * @return array
+     */
+    public function getDates()
+    {
+        // Since array string keys can be unique depending
+        // on casing differences, we need to normalize the
+        // array key case so they are merged properly.
+        return array_merge(
+            array_change_key_case($this->defaultDates, CASE_LOWER),
+            array_change_key_case($this->dates, CASE_LOWER)
+        );
+    }
+
+    /**
+     * Convert the given date value to an LDAP compatible value.
+     *
+     * @param string $type
+     * @param mixed  $value
+     *
+     * @throws LdapRecordException
+     *
+     * @return float|string
+     */
+    public function fromDateTime($type, $value)
+    {
+        return (new Timestamp($type))->fromDateTime($value);
+    }
+
+    /**
+     * Convert the given LDAP date value to a Carbon instance.
+     *
+     * @param mixed  $value
+     * @param string $type
+     *
+     * @throws LdapRecordException
+     *
+     * @return Carbon|false
+     */
+    public function asDateTime($value, $type)
+    {
+        return (new Timestamp($type))->toDateTime($value);
+    }
+
+    /**
+     * Determine whether an attribute should be cast to a native type.
+     *
+     * @param string            $key
+     * @param array|string|null $types
+     *
+     * @return bool
+     */
+    public function hasCast($key, $types = null)
+    {
+        if (array_key_exists($key, $this->getCasts())) {
+            return $types ? in_array($this->getCastType($key), (array) $types, true) : true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Get the attributes that should be cast to their native types.
+     *
+     * @return array
+     */
+    protected function getCasts()
+    {
+        return array_change_key_case($this->casts, CASE_LOWER);
+    }
+
+    /**
+     * Determine whether a value is JSON castable for inbound manipulation.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    protected function isJsonCastable($key)
+    {
+        return $this->hasCast($key, ['array', 'json', 'object', 'collection']);
+    }
+
+    /**
+     * Get the type of cast for a model attribute.
+     *
+     * @param string $key
+     *
+     * @return string
+     */
+    protected function getCastType($key)
+    {
+        if ($this->isDecimalCast($this->getCasts()[$key])) {
+            return 'decimal';
+        }
+
+        if ($this->isDateTimeCast($this->getCasts()[$key])) {
+            return 'datetime';
+        }
+
+        return trim(strtolower($this->getCasts()[$key]));
+    }
+
+    /**
+     * Determine if the cast is a decimal.
+     *
+     * @param string $cast
+     *
+     * @return bool
+     */
+    protected function isDecimalCast($cast)
+    {
+        return strncmp($cast, 'decimal:', 8) === 0;
+    }
+
+    /**
+     * Determine if the cast is a datetime.
+     *
+     * @param string $cast
+     *
+     * @return bool
+     */
+    protected function isDateTimeCast($cast)
+    {
+        return strncmp($cast, 'datetime:', 8) === 0;
+    }
+
+    /**
+     * Determine if the given attribute must be casted.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    protected function isCastedAttribute($key)
+    {
+        return array_key_exists($key, array_change_key_case($this->casts, CASE_LOWER));
+    }
+
+    /**
+     * Cast an attribute to a native PHP type.
+     *
+     * @param string     $key
+     * @param array|null $value
+     *
+     * @return mixed
+     */
+    protected function castAttribute($key, $value)
+    {
+        $value = $this->castRequiresArrayValue($key) ? $value : Arr::first($value);
+
+        if (is_null($value)) {
+            return $value;
+        }
+
+        switch ($this->getCastType($key)) {
+            case 'int':
+            case 'integer':
+                return (int) $value;
+            case 'real':
+            case 'float':
+            case 'double':
+                return $this->fromFloat($value);
+            case 'decimal':
+                return $this->asDecimal($value, explode(':', $this->getCasts()[$key], 2)[1]);
+            case 'string':
+                return (string) $value;
+            case 'bool':
+            case 'boolean':
+                return $this->asBoolean($value);
+            case 'object':
+                return $this->fromJson($value, $asObject = true);
+            case 'array':
+            case 'json':
+                return $this->fromJson($value);
+            case 'collection':
+                return $this->newCollection($value);
+            case 'datetime':
+                return $this->asDateTime($value, explode(':', $this->getCasts()[$key], 2)[1]);
+            default:
+                return $value;
+        }
+    }
+
+    /**
+     * Determine if the cast type requires the first attribute value.
+     *
+     * @return bool
+     */
+    protected function castRequiresArrayValue($key)
+    {
+        return in_array($this->getCastType($key), ['collection']);
+    }
+
+    /**
+     * Cast the given attribute to JSON.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @return string
+     */
+    protected function castAttributeAsJson($key, $value)
+    {
+        $value = $this->asJson($value);
+
+        if ($value === false) {
+            $class = get_class($this);
+            $message = json_last_error_msg();
+
+            throw new Exception("Unable to encode attribute [{$key}] for model [{$class}] to JSON: {$message}.");
+        }
+
+        return $value;
+    }
+
+    /**
+     * Convert the model to its JSON representation.
+     *
+     * @return string
+     */
+    public function toJson()
+    {
+        return json_encode($this);
+    }
+
+    /**
+     * Encode the given value as JSON.
+     *
+     * @param mixed $value
+     *
+     * @return string
+     */
+    protected function asJson($value)
+    {
+        return json_encode($value);
+    }
+
+    /**
+     * Decode the given JSON back into an array or object.
+     *
+     * @param string $value
+     * @param bool   $asObject
+     *
+     * @return mixed
+     */
+    public function fromJson($value, $asObject = false)
+    {
+        return json_decode($value, ! $asObject);
+    }
+
+    /**
+     * Decode the given float.
+     *
+     * @param mixed $value
+     *
+     * @return mixed
+     */
+    public function fromFloat($value)
+    {
+        switch ((string) $value) {
+            case 'Infinity':
+                return INF;
+            case '-Infinity':
+                return -INF;
+            case 'NaN':
+                return NAN;
+            default:
+                return (float) $value;
+        }
+    }
+
+    /**
+     * Cast the value to a boolean.
+     *
+     * @param mixed $value
+     *
+     * @return bool
+     */
+    protected function asBoolean($value)
+    {
+        $map = ['true' => true, 'false' => false];
+
+        return $map[strtolower($value)] ?? (bool) $value;
+    }
+
+    /**
+     * Cast a decimal value as a string.
+     *
+     * @param float $value
+     * @param int   $decimals
+     *
+     * @return string
+     */
+    protected function asDecimal($value, $decimals)
+    {
+        return number_format($value, $decimals, '.', '');
+    }
+
+    /**
+     * Get an attribute array of all arrayable attributes.
+     *
+     * @return array
+     */
+    protected function getArrayableAttributes()
+    {
+        return $this->getArrayableItems($this->attributes);
+    }
+
+    /**
+     * Get an attribute array of all arrayable values.
+     *
+     * @param array $values
+     *
+     * @return array
+     */
+    protected function getArrayableItems(array $values)
+    {
+        if (count($visible = $this->getVisible()) > 0) {
+            $values = array_intersect_key($values, array_flip($visible));
+        }
+
+        if (count($hidden = $this->getHidden()) > 0) {
+            $values = array_diff_key($values, array_flip($hidden));
+        }
+
+        return $values;
+    }
+
+    /**
+     * Get all of the appendable values that are arrayable.
+     *
+     * @return array
+     */
+    protected function getArrayableAppends()
+    {
+        if (empty($this->appends)) {
+            return [];
+        }
+
+        return $this->getArrayableItems(
+            array_combine($this->appends, $this->appends)
+        );
+    }
+
+    /**
+     * Get the format for date serialization.
+     *
+     * @return string
+     */
+    public function getDateFormat()
+    {
+        return $this->dateFormat ?: DateTimeInterface::ISO8601;
+    }
+
+    /**
+     * Set the date format used by the model for serialization.
+     *
+     * @param string $format
+     *
+     * @return $this
+     */
+    public function setDateFormat($format)
+    {
+        $this->dateFormat = $format;
+
+        return $this;
+    }
+
+    /**
+     * Get an attribute from the $attributes array.
+     *
+     * @param string $key
+     *
+     * @return mixed
+     */
+    protected function getAttributeFromArray($key)
+    {
+        return $this->getNormalizedAttributes()[$key] ?? null;
+    }
+
+    /**
+     * Get the attributes with their keys normalized.
+     *
+     * @return array
+     */
+    protected function getNormalizedAttributes()
+    {
+        return array_change_key_case($this->attributes, CASE_LOWER);
+    }
+
+    /**
+     * Returns the first attribute by the specified key.
+     *
+     * @param string $key
+     *
+     * @return mixed
+     */
+    public function getFirstAttribute($key)
+    {
+        return Arr::first(
+            Arr::wrap($this->getAttribute($key))
+        );
+    }
+
+    /**
+     * Returns all of the models attributes.
+     *
+     * @return array
+     */
+    public function getAttributes()
+    {
+        return $this->attributes;
+    }
+
+    /**
+     * Set an attribute value by the specified key and sub-key.
+     *
+     * @param mixed $key
+     * @param mixed $value
+     *
+     * @return $this
+     */
+    public function setAttribute($key, $value)
+    {
+        $key = $this->normalizeAttributeKey($key);
+
+        if ($this->hasSetMutator($key)) {
+            return $this->setMutatedAttributeValue($key, $value);
+        } elseif (
+            $value &&
+            $this->isDateAttribute($key) &&
+            ! $this->valueIsResetInteger($value)
+        ) {
+            $value = $this->fromDateTime($this->getDates()[$key], $value);
+        }
+
+        if ($this->isJsonCastable($key) && ! is_null($value)) {
+            $value = $this->castAttributeAsJson($key, $value);
+        }
+
+        $this->attributes[$key] = Arr::wrap($value);
+
+        return $this;
+    }
+
+    /**
+     * Set the models first attribute value.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @return $this
+     */
+    public function setFirstAttribute($key, $value)
+    {
+        return $this->setAttribute($key, Arr::wrap($value));
+    }
+
+    /**
+     * Add a unique value to the given attribute.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @return $this
+     */
+    public function addAttributeValue($key, $value)
+    {
+        return $this->setAttribute($key, array_unique(
+            array_merge(
+                Arr::wrap($this->getAttribute($key)),
+                Arr::wrap($value)
+            )
+        ));
+    }
+
+    /**
+     * Determine if a get mutator exists for an attribute.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function hasGetMutator($key)
+    {
+        return method_exists($this, 'get'.$this->getMutatorMethodName($key).'Attribute');
+    }
+
+    /**
+     * Determine if a set mutator exists for an attribute.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function hasSetMutator($key)
+    {
+        return method_exists($this, 'set'.$this->getMutatorMethodName($key).'Attribute');
+    }
+
+    /**
+     * Set the value of an attribute using its mutator.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @return mixed
+     */
+    protected function setMutatedAttributeValue($key, $value)
+    {
+        return $this->{'set'.$this->getMutatorMethodName($key).'Attribute'}($value);
+    }
+
+    /**
+     * Get the value of an attribute using its mutator.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @return mixed
+     */
+    protected function getMutatedAttributeValue($key, $value)
+    {
+        return $this->{'get'.$this->getMutatorMethodName($key).'Attribute'}($value);
+    }
+
+    /**
+     * Get the mutator attribute method name.
+     *
+     * Hyphenated attributes will use pascal cased methods.
+     *
+     * @param string $key
+     *
+     * @return mixed
+     */
+    protected function getMutatorMethodName($key)
+    {
+        $key = ucwords(str_replace('-', ' ', $key));
+
+        return str_replace(' ', '', $key);
+    }
+
+    /**
+     * Get the value of an attribute using its mutator for array conversion.
+     *
+     * @param string $key
+     * @param mixed  $value
+     *
+     * @return array
+     */
+    protected function mutateAttributeForArray($key, $value)
+    {
+        return Arr::wrap(
+            $this->getMutatedAttributeValue($key, $value)
+        );
+    }
+
+    /**
+     * Set the attributes property.
+     *
+     * Used when constructing an existing LDAP record.
+     *
+     * @param array $attributes
+     *
+     * @return $this
+     */
+    public function setRawAttributes(array $attributes = [])
+    {
+        // We will filter out those annoying 'count' keys
+        // returned with LDAP results and lowercase all
+        // root array keys to prevent any casing issues.
+        $raw = array_change_key_case($this->filterRawAttributes($attributes), CASE_LOWER);
+
+        // Before setting the models attributes, we will filter
+        // out the attributes that contain an integer key. LDAP
+        // search results will contain integer keys that have
+        // attribute names as values. We don't need these.
+        $this->attributes = array_filter($raw, function ($key) {
+            return ! is_int($key);
+        }, ARRAY_FILTER_USE_KEY);
+
+        // LDAP search results will contain the distinguished
+        // name inside of the `dn` key. We will retrieve this,
+        // and then set it on the model for accessibility.
+        if (Arr::exists($attributes, 'dn')) {
+            $this->dn = Arr::accessible($attributes['dn'])
+                ? Arr::first($attributes['dn'])
+                : $attributes['dn'];
+        }
+
+        $this->syncOriginal();
+
+        // Here we will set the exists attribute to true,
+        // since raw attributes are only set in the case
+        // of attributes being loaded by query results.
+        $this->exists = true;
+
+        return $this;
+    }
+
+    /**
+     * Filters the count key recursively from raw LDAP attributes.
+     *
+     * @param array $attributes
+     * @param array $keys
+     *
+     * @return array
+     */
+    public function filterRawAttributes(array $attributes = [], array $keys = ['count', 'dn'])
+    {
+        foreach ($keys as $key) {
+            unset($attributes[$key]);
+        }
+
+        foreach ($attributes as $key => $value) {
+            $attributes[$key] = is_array($value)
+                ? $this->filterRawAttributes($value, $keys)
+                : $value;
+        }
+
+        return $attributes;
+    }
+
+    /**
+     * Determine if the model has the given attribute.
+     *
+     * @param int|string $key
+     *
+     * @return bool
+     */
+    public function hasAttribute($key)
+    {
+        return [] !== ($this->attributes[$this->normalizeAttributeKey($key)] ?? []);
+    }
+
+    /**
+     * Returns the number of attributes.
+     *
+     * @return int
+     */
+    public function countAttributes()
+    {
+        return count($this->getAttributes());
+    }
+
+    /**
+     * Returns the models original attributes.
+     *
+     * @return array
+     */
+    public function getOriginal()
+    {
+        return $this->original;
+    }
+
+    /**
+     * Get the attributes that have been changed since last sync.
+     *
+     * @return array
+     */
+    public function getDirty()
+    {
+        $dirty = [];
+
+        foreach ($this->attributes as $key => $value) {
+            if ($this->isDirty($key)) {
+                // We need to reset the array using array_values due to
+                // LDAP requiring consecutive indices (0, 1, 2 etc.).
+                // We would receive an exception otherwise.
+                $dirty[$key] = array_values($value);
+            }
+        }
+
+        return $dirty;
+    }
+
+    /**
+     * Determine if the given attribute is dirty.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function isDirty($key)
+    {
+        return ! $this->originalIsEquivalent($key);
+    }
+
+    /**
+     * Get the accessors being appended to the models array form.
+     *
+     * @return array
+     */
+    public function getAppends()
+    {
+        return $this->appends;
+    }
+
+    /**
+     * Set the accessors to append to model arrays.
+     *
+     * @param array $appends
+     *
+     * @return $this
+     */
+    public function setAppends(array $appends)
+    {
+        $this->appends = $appends;
+
+        return $this;
+    }
+
+    /**
+     * Return whether the accessor attribute has been appended.
+     *
+     * @param string $attribute
+     *
+     * @return bool
+     */
+    public function hasAppended($attribute)
+    {
+        return in_array($attribute, $this->appends);
+    }
+
+    /**
+     * Returns a normalized attribute key.
+     *
+     * @param string $key
+     *
+     * @return string
+     */
+    public function normalizeAttributeKey($key)
+    {
+        // Since LDAP supports hyphens in attribute names,
+        // we'll convert attributes being retrieved by
+        // underscores into hyphens for convenience.
+        return strtolower(
+            str_replace('_', '-', $key)
+        );
+    }
+
+    /**
+     * Determine if the new and old values for a given key are equivalent.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    protected function originalIsEquivalent($key)
+    {
+        if (! array_key_exists($key, $this->original)) {
+            return false;
+        }
+
+        $current = $this->attributes[$key];
+        $original = $this->original[$key];
+
+        if ($current === $original) {
+            return true;
+        }
+
+        return  is_numeric($current) &&
+                is_numeric($original) &&
+                strcmp((string) $current, (string) $original) === 0;
+    }
+
+    /**
+     * Get the mutated attributes for a given instance.
+     *
+     * @return array
+     */
+    public function getMutatedAttributes()
+    {
+        $class = static::class;
+
+        if (! isset(static::$mutatorCache[$class])) {
+            static::cacheMutatedAttributes($class);
+        }
+
+        return static::$mutatorCache[$class];
+    }
+
+    /**
+     * Extract and cache all the mutated attributes of a class.
+     *
+     * @param string $class
+     *
+     * @return void
+     */
+    public static function cacheMutatedAttributes($class)
+    {
+        static::$mutatorCache[$class] = collect(static::getMutatorMethods($class))->reject(function ($match) {
+            return $match === 'First';
+        })->map(function ($match) {
+            return lcfirst($match);
+        })->all();
+    }
+
+    /**
+     * Get all of the attribute mutator methods.
+     *
+     * @param mixed $class
+     *
+     * @return array
+     */
+    protected static function getMutatorMethods($class)
+    {
+        preg_match_all('/(?<=^|;)get([^;]+?)Attribute(;|$)/', implode(';', get_class_methods($class)), $matches);
+
+        return $matches[1];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasEvents.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasEvents.php
new file mode 100644
index 0000000..1bc76d0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasEvents.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+use Closure;
+use LdapRecord\Models\Events\Event;
+
+trait HasEvents
+{
+    /**
+     * Fires the specified model event.
+     *
+     * @param Event $event
+     *
+     * @return mixed
+     */
+    protected function fireModelEvent(Event $event)
+    {
+        return static::getConnectionContainer()->getEventDispatcher()->fire($event);
+    }
+
+    /**
+     * Listens to a model event.
+     *
+     * @param string  $event
+     * @param Closure $listener
+     *
+     * @return mixed
+     */
+    protected function listenForModelEvent($event, Closure $listener)
+    {
+        return static::getConnectionContainer()->getEventDispatcher()->listen($event, $listener);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasGlobalScopes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasGlobalScopes.php
new file mode 100644
index 0000000..c14abad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasGlobalScopes.php
@@ -0,0 +1,75 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+use Closure;
+use InvalidArgumentException;
+use LdapRecord\Models\Scope;
+
+trait HasGlobalScopes
+{
+    /**
+     * Register a new global scope on the model.
+     *
+     * @param Scope|Closure|string $scope
+     * @param Closure|null         $implementation
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return mixed
+     */
+    public static function addGlobalScope($scope, Closure $implementation = null)
+    {
+        if (is_string($scope) && ! is_null($implementation)) {
+            return static::$globalScopes[static::class][$scope] = $implementation;
+        } elseif ($scope instanceof Closure) {
+            return static::$globalScopes[static::class][spl_object_hash($scope)] = $scope;
+        } elseif ($scope instanceof Scope) {
+            return static::$globalScopes[static::class][get_class($scope)] = $scope;
+        }
+
+        throw new InvalidArgumentException('Global scope must be an instance of Closure or Scope.');
+    }
+
+    /**
+     * Determine if a model has a global scope.
+     *
+     * @param Scope|string $scope
+     *
+     * @return bool
+     */
+    public static function hasGlobalScope($scope)
+    {
+        return ! is_null(static::getGlobalScope($scope));
+    }
+
+    /**
+     * Get a global scope registered with the model.
+     *
+     * @param Scope|string $scope
+     *
+     * @return Scope|Closure|null
+     */
+    public static function getGlobalScope($scope)
+    {
+        if (array_key_exists(static::class, static::$globalScopes)) {
+            $scopeName = is_string($scope) ? $scope : get_class($scope);
+
+            return array_key_exists($scopeName, static::$globalScopes[static::class])
+                ? static::$globalScopes[static::class][$scopeName]
+                : null;
+        }
+    }
+
+    /**
+     * Get the global scopes for this class instance.
+     *
+     * @return array
+     */
+    public function getGlobalScopes()
+    {
+        return array_key_exists(static::class, static::$globalScopes)
+            ? static::$globalScopes[static::class]
+            : [];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasPassword.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasPassword.php
new file mode 100644
index 0000000..9822456
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasPassword.php
@@ -0,0 +1,251 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+use LdapRecord\ConnectionException;
+use LdapRecord\LdapRecordException;
+use LdapRecord\Models\Attributes\Password;
+
+trait HasPassword
+{
+    /**
+     * Set the password on the user.
+     *
+     * @param string|array $password
+     *
+     * @throws ConnectionException
+     */
+    public function setPasswordAttribute($password)
+    {
+        $this->validateSecureConnection();
+
+        // Here we will attempt to determine the password hash method in use
+        // by parsing the users hashed password (if it as available). If a
+        // method is determined, we will override the default here.
+        if (! ($method = $this->determinePasswordHashMethod())) {
+            $method = $this->getPasswordHashMethod();
+        }
+
+        // If the password given is an array, we can assume we
+        // are changing the password for the current user.
+        if (is_array($password)) {
+            $this->setChangedPassword(
+                $this->getHashedPassword($method, $password[0], $this->getPasswordSalt($method)),
+                $this->getHashedPassword($method, $password[1]),
+                $this->getPasswordAttributeName()
+            );
+        }
+        // Otherwise, we will assume the password is being
+        // reset, overwriting the one currently in place.
+        else {
+            $this->setPassword(
+                $this->getHashedPassword($method, $password),
+                $this->getPasswordAttributeName()
+            );
+        }
+    }
+
+    /**
+     * Alias for setting the password on the user.
+     *
+     * @param string|array $password
+     *
+     * @throws ConnectionException
+     */
+    public function setUnicodepwdAttribute($password)
+    {
+        $this->setPasswordAttribute($password);
+    }
+
+    /**
+     * An accessor for retrieving the user's hashed password value.
+     *
+     * @return string|null
+     */
+    public function getPasswordAttribute()
+    {
+        return $this->getAttribute($this->getPasswordAttributeName())[0] ?? null;
+    }
+
+    /**
+     * Get the name of the attribute that contains the user's password.
+     *
+     * @return string
+     */
+    public function getPasswordAttributeName()
+    {
+        if (property_exists($this, 'passwordAttribute')) {
+            return $this->passwordAttribute;
+        }
+
+        if (method_exists($this, 'passwordAttribute')) {
+            return $this->passwordAttribute();
+        }
+
+        return 'unicodepwd';
+    }
+
+    /**
+     * Get the name of the method to use for hashing the user's password.
+     *
+     * @return string
+     */
+    public function getPasswordHashMethod()
+    {
+        if (property_exists($this, 'passwordHashMethod')) {
+            return $this->passwordHashMethod;
+        }
+
+        if (method_exists($this, 'passwordHashMethod')) {
+            return $this->passwordHashMethod();
+        }
+
+        return 'encode';
+    }
+
+    /**
+     * Set the changed password.
+     *
+     * @param string $oldPassword
+     * @param string $newPassword
+     * @param string $attribute
+     *
+     * @return void
+     */
+    protected function setChangedPassword($oldPassword, $newPassword, $attribute)
+    {
+        // Create batch modification for removing the old password.
+        $this->addModification(
+            $this->newBatchModification(
+                $attribute,
+                LDAP_MODIFY_BATCH_REMOVE,
+                [$oldPassword]
+            )
+        );
+
+        // Create batch modification for adding the new password.
+        $this->addModification(
+            $this->newBatchModification(
+                $attribute,
+                LDAP_MODIFY_BATCH_ADD,
+                [$newPassword]
+            )
+        );
+    }
+
+    /**
+     * Set the password on the model.
+     *
+     * @param string $password
+     * @param string $attribute
+     *
+     * @return void
+     */
+    protected function setPassword($password, $attribute)
+    {
+        $this->addModification(
+            $this->newBatchModification(
+                $attribute,
+                LDAP_MODIFY_BATCH_REPLACE,
+                [$password]
+            )
+        );
+    }
+
+    /**
+     * Encode / hash the given password.
+     *
+     * @param string $method
+     * @param string $password
+     * @param string $salt
+     *
+     * @throws LdapRecordException
+     *
+     * @return string
+     */
+    protected function getHashedPassword($method, $password, $salt = null)
+    {
+        if (! method_exists(Password::class, $method)) {
+            throw new LdapRecordException("Password hashing method [{$method}] does not exist.");
+        }
+
+        if (Password::hashMethodRequiresSalt($method)) {
+            return Password::{$method}($password, $salt);
+        }
+
+        return Password::{$method}($password);
+    }
+
+    /**
+     * Validates that the current LDAP connection is secure.
+     *
+     * @throws ConnectionException
+     *
+     * @return void
+     */
+    protected function validateSecureConnection()
+    {
+        $connection = $this->getConnection();
+
+        if ($connection->isConnected()) {
+            $secure = $connection->getLdapConnection()->canChangePasswords();
+        } else {
+            $secure = $connection->getConfiguration()->get('use_ssl') || $connection->getConfiguration()->get('use_tls');
+        }
+
+        if (! $secure) {
+            throw new ConnectionException(
+                'You must be connected to your LDAP server with TLS or SSL to perform this operation.'
+            );
+        }
+    }
+
+    /**
+     * Attempt to retrieve the password's salt.
+     *
+     * @param string $method
+     *
+     * @return string|null
+     */
+    public function getPasswordSalt($method)
+    {
+        if (! Password::hashMethodRequiresSalt($method)) {
+            return;
+        }
+
+        return Password::getSalt($this->password);
+    }
+
+    /**
+     * Determine the password hash method to use from the users current password.
+     *
+     * @return string|void
+     */
+    public function determinePasswordHashMethod()
+    {
+        if (! $password = $this->password) {
+            return;
+        }
+
+        if (! $method = Password::getHashMethod($password)) {
+            return;
+        }
+
+        [,$algo] = array_pad(
+            Password::getHashMethodAndAlgo($password) ?? [],
+            $length = 2,
+            $value = null
+        );
+
+        switch ($algo) {
+            case Password::CRYPT_SALT_TYPE_MD5:
+                return 'md5'.$method;
+            case Password::CRYPT_SALT_TYPE_SHA256:
+                return 'sha256'.$method;
+            case Password::CRYPT_SALT_TYPE_SHA512:
+                return 'sha512'.$method;
+            default:
+                return $method;
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasRelationships.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasRelationships.php
new file mode 100644
index 0000000..a8a5cac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasRelationships.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+use LdapRecord\Models\Relations\HasMany;
+use LdapRecord\Models\Relations\HasManyIn;
+use LdapRecord\Models\Relations\HasOne;
+use LdapRecord\Support\Arr;
+
+trait HasRelationships
+{
+    /**
+     * Returns a new has one relationship.
+     *
+     * @param mixed  $related
+     * @param string $relationKey
+     * @param string $foreignKey
+     *
+     * @return HasOne
+     */
+    public function hasOne($related, $relationKey, $foreignKey = 'dn')
+    {
+        return new HasOne($this->newQuery(), $this, $related, $relationKey, $foreignKey);
+    }
+
+    /**
+     * Returns a new has many relationship.
+     *
+     * @param mixed  $related
+     * @param string $relationKey
+     * @param string $foreignKey
+     *
+     * @return HasMany
+     */
+    public function hasMany($related, $relationKey, $foreignKey = 'dn')
+    {
+        return new HasMany($this->newQuery(), $this, $related, $relationKey, $foreignKey, $this->guessRelationshipName());
+    }
+
+    /**
+     * Returns a new has many in relationship.
+     *
+     * @param mixed  $related
+     * @param string $relationKey
+     * @param string $foreignKey
+     *
+     * @return HasManyIn
+     */
+    public function hasManyIn($related, $relationKey, $foreignKey = 'dn')
+    {
+        return new HasManyIn($this->newQuery(), $this, $related, $relationKey, $foreignKey, $this->guessRelationshipName());
+    }
+
+    /**
+     * Get the relationships name.
+     *
+     * @return string|null
+     */
+    protected function guessRelationshipName()
+    {
+        return Arr::last(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3))['function'];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasScopes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasScopes.php
new file mode 100644
index 0000000..6c97cf9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HasScopes.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+trait HasScopes
+{
+    /**
+     * Begin querying the direct descendants of the model.
+     *
+     * @return \LdapRecord\Query\Model\Builder
+     */
+    public function descendants()
+    {
+        return $this->in($this->getDn())->listing();
+    }
+
+    /**
+     * Begin querying the direct ancestors of the model.
+     *
+     * @return \LdapRecord\Query\Model\Builder
+     */
+    public function ancestors()
+    {
+        $parent = $this->getParentDn($this->getDn());
+
+        return $this->in($this->getParentDn($parent))->listing();
+    }
+
+    /**
+     * Begin querying the direct siblings of the model.
+     *
+     * @return \LdapRecord\Query\Model\Builder
+     */
+    public function siblings()
+    {
+        return $this->in($this->getParentDn($this->getDn()))->listing();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HidesAttributes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HidesAttributes.php
new file mode 100644
index 0000000..9cc2100
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Concerns/HidesAttributes.php
@@ -0,0 +1,143 @@
+<?php
+
+namespace LdapRecord\Models\Concerns;
+
+/**
+ * @author Taylor Otwell
+ *
+ * @see https://laravel.com
+ */
+trait HidesAttributes
+{
+    /**
+     * The attributes that should be hidden for serialization.
+     *
+     * @var array
+     */
+    protected $hidden = [];
+
+    /**
+     * The attributes that should be visible in serialization.
+     *
+     * @var array
+     */
+    protected $visible = [];
+
+    /**
+     * Get the hidden attributes for the model.
+     *
+     * @return array
+     */
+    public function getHidden()
+    {
+        return array_map(function ($key) {
+            return $this->normalizeAttributeKey($key);
+        }, $this->hidden);
+    }
+
+    /**
+     * Set the hidden attributes for the model.
+     *
+     * @param array $hidden
+     *
+     * @return $this
+     */
+    public function setHidden(array $hidden)
+    {
+        $this->hidden = $hidden;
+
+        return $this;
+    }
+
+    /**
+     * Add hidden attributes for the model.
+     *
+     * @param array|string|null $attributes
+     *
+     * @return void
+     */
+    public function addHidden($attributes = null)
+    {
+        $this->hidden = array_merge(
+            $this->hidden,
+            is_array($attributes) ? $attributes : func_get_args()
+        );
+    }
+
+    /**
+     * Get the visible attributes for the model.
+     *
+     * @return array
+     */
+    public function getVisible()
+    {
+        return array_map(function ($key) {
+            return $this->normalizeAttributeKey($key);
+        }, $this->visible);
+    }
+
+    /**
+     * Set the visible attributes for the model.
+     *
+     * @param array $visible
+     *
+     * @return $this
+     */
+    public function setVisible(array $visible)
+    {
+        $this->visible = $visible;
+
+        return $this;
+    }
+
+    /**
+     * Add visible attributes for the model.
+     *
+     * @param array|string|null $attributes
+     *
+     * @return void
+     */
+    public function addVisible($attributes = null)
+    {
+        $this->visible = array_merge(
+            $this->visible,
+            is_array($attributes) ? $attributes : func_get_args()
+        );
+    }
+
+    /**
+     * Make the given, typically hidden, attributes visible.
+     *
+     * @param array|string $attributes
+     *
+     * @return $this
+     */
+    public function makeVisible($attributes)
+    {
+        $this->hidden = array_diff($this->hidden, (array) $attributes);
+
+        if (! empty($this->visible)) {
+            $this->addVisible($attributes);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Make the given, typically visible, attributes hidden.
+     *
+     * @param array|string $attributes
+     *
+     * @return $this
+     */
+    public function makeHidden($attributes)
+    {
+        $attributes = (array) $attributes;
+
+        $this->visible = array_diff($this->visible, $attributes);
+
+        $this->hidden = array_unique(array_merge($this->hidden, $attributes));
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DetectsResetIntegers.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DetectsResetIntegers.php
new file mode 100644
index 0000000..8712ef7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DetectsResetIntegers.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace LdapRecord\Models;
+
+trait DetectsResetIntegers
+{
+    /**
+     * Determine if the given value is an LDAP reset integer.
+     *
+     * The integer values '0' and '-1' can be used on certain
+     * LDAP attributes to instruct the server to reset the
+     * value to an 'unset' or 'cleared' state.
+     *
+     * @param mixed $value
+     *
+     * @return bool
+     */
+    protected function valueIsResetInteger($value)
+    {
+        return in_array($value, [0, -1], $strict = true);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/Entry.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/Entry.php
new file mode 100644
index 0000000..1bf8325
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/Entry.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace LdapRecord\Models\DirectoryServer;
+
+use LdapRecord\Models\Model;
+
+class Entry extends Model
+{
+    /**
+     * The attribute key that contains the models object GUID.
+     *
+     * @var string
+     */
+    protected $guidKey = 'gidNumber';
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/Group.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/Group.php
new file mode 100644
index 0000000..49a6e0a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/Group.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace LdapRecord\Models\DirectoryServer;
+
+class Group extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'groupOfUniqueNames',
+        'posixGroup',
+    ];
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/User.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/User.php
new file mode 100644
index 0000000..430588b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/DirectoryServer/User.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace LdapRecord\Models\DirectoryServer;
+
+class User extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'nsPerson',
+        'nsAccount',
+        'nsOrgPerson',
+        'posixAccount',
+    ];
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Entry.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Entry.php
new file mode 100644
index 0000000..dcfda57
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Entry.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models;
+
+class Entry extends Model
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Created.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Created.php
new file mode 100644
index 0000000..c101235
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Created.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Created extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Creating.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Creating.php
new file mode 100644
index 0000000..c4e6ad7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Creating.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Creating extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Deleted.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Deleted.php
new file mode 100644
index 0000000..7852659
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Deleted.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Deleted extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Deleting.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Deleting.php
new file mode 100644
index 0000000..9a0810d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Deleting.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Deleting extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Event.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Event.php
new file mode 100644
index 0000000..20de0b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Event.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+use LdapRecord\Models\Model;
+
+abstract class Event
+{
+    /**
+     * The model that the event is being triggered on.
+     *
+     * @var Model
+     */
+    protected $model;
+
+    /**
+     * Constructor.
+     *
+     * @param Model $model
+     */
+    public function __construct(Model $model)
+    {
+        $this->model = $model;
+    }
+
+    /**
+     * Returns the model that generated the event.
+     *
+     * @return Model
+     */
+    public function getModel()
+    {
+        return $this->model;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Renamed.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Renamed.php
new file mode 100644
index 0000000..0f02b6d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Renamed.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Renamed extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Renaming.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Renaming.php
new file mode 100644
index 0000000..83427ca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Renaming.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+use LdapRecord\Models\Model;
+
+class Renaming extends Event
+{
+    /**
+     * The models RDN.
+     *
+     * @var string
+     */
+    protected $rdn;
+
+    /**
+     * The models new parent DN.
+     *
+     * @var string
+     */
+    protected $newParentDn;
+
+    /**
+     * Constructor.
+     *
+     * @param Model  $model
+     * @param string $rdn
+     * @param string $newParentDn
+     */
+    public function __construct(Model $model, $rdn, $newParentDn)
+    {
+        parent::__construct($model);
+
+        $this->rdn = $rdn;
+        $this->newParentDn = $newParentDn;
+    }
+
+    /**
+     * Get the models RDN.
+     *
+     * @return string
+     */
+    public function getRdn()
+    {
+        return $this->rdn;
+    }
+
+    /**
+     * Get the models parent DN.
+     *
+     * @return string
+     */
+    public function getNewParentDn()
+    {
+        return $this->newParentDn;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Saved.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Saved.php
new file mode 100644
index 0000000..cf9c5ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Saved.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Saved extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Saving.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Saving.php
new file mode 100644
index 0000000..0c99403
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Saving.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Saving extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Updated.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Updated.php
new file mode 100644
index 0000000..b0dd611
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Updated.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Updated extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Updating.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Updating.php
new file mode 100644
index 0000000..20ae60c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Events/Updating.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Events;
+
+class Updating extends Event
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Entry.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Entry.php
new file mode 100644
index 0000000..7fdda9c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Entry.php
@@ -0,0 +1,55 @@
+<?php
+
+namespace LdapRecord\Models\FreeIPA;
+
+use LdapRecord\Connection;
+use LdapRecord\Models\Entry as BaseEntry;
+use LdapRecord\Models\FreeIPA\Scopes\AddEntryUuidToSelects;
+use LdapRecord\Models\Types\FreeIPA;
+use LdapRecord\Query\Model\FreeIpaBuilder;
+
+/** @mixin FreeIpaBuilder */
+class Entry extends BaseEntry implements FreeIPA
+{
+    /**
+     * The attribute key that contains the models object GUID.
+     *
+     * @var string
+     */
+    protected $guidKey = 'ipauniqueid';
+
+    /**
+     * The default attributes that should be mutated to dates.
+     *
+     * @var array
+     */
+    protected $defaultDates = [
+        'krblastpwdchange' => 'ldap',
+        'krbpasswordexpiration' => 'ldap',
+    ];
+
+    /**
+     * @inheritdoc
+     */
+    protected static function boot()
+    {
+        parent::boot();
+
+        // Here we'll add a global scope to all FreeIPA models to ensure the
+        // Entry UUID is always selected on each query. This attribute is
+        // virtual, so it must be manually selected to be included.
+        static::addGlobalScope(new AddEntryUuidToSelects());
+    }
+
+    /**
+     * Create a new query builder.
+     *
+     * @param Connection $connection
+     *
+     * @return FreeIpaBuilder
+     */
+    public function newQueryBuilder(Connection $connection)
+    {
+        return new FreeIpaBuilder($connection);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Group.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Group.php
new file mode 100644
index 0000000..10fd934
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Group.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace LdapRecord\Models\FreeIPA;
+
+class Group extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'groupofnames',
+        'nestedgroup',
+        'ipausergroup',
+        'posixgroup',
+    ];
+
+    /**
+     * The groups relationship.
+     *
+     * Retrieves groups that the current group is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(self::class, 'member');
+    }
+
+    /**
+     * Retrieve the members of the group.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function members()
+    {
+        return $this->hasMany(User::class, 'memberof')->using($this, 'member');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Scopes/AddEntryUuidToSelects.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Scopes/AddEntryUuidToSelects.php
new file mode 100644
index 0000000..039c05e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/Scopes/AddEntryUuidToSelects.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace LdapRecord\Models\FreeIPA\Scopes;
+
+use LdapRecord\Models\Model;
+use LdapRecord\Models\Scope;
+use LdapRecord\Query\Model\Builder;
+
+class AddEntryUuidToSelects implements Scope
+{
+    /**
+     * Add the entry UUID to the selected attributes.
+     *
+     * @param Builder $query
+     * @param Model   $model
+     *
+     * @return void
+     */
+    public function apply(Builder $query, Model $model)
+    {
+        empty($query->columns)
+            ? $query->addSelect(['*', $model->getGuidKey()])
+            : $query->addSelect($model->getGuidKey());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/User.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/User.php
new file mode 100644
index 0000000..24c7f3b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/FreeIPA/User.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace LdapRecord\Models\FreeIPA;
+
+class User extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'person',
+        'inetorgperson',
+        'organizationalperson',
+    ];
+
+    /**
+     * Retrieve groups that the current user is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(Group::class, 'member');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Model.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Model.php
new file mode 100644
index 0000000..6ba24b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Model.php
@@ -0,0 +1,1441 @@
+<?php
+
+namespace LdapRecord\Models;
+
+use ArrayAccess;
+use InvalidArgumentException;
+use JsonSerializable;
+use LdapRecord\Connection;
+use LdapRecord\Container;
+use LdapRecord\EscapesValues;
+use LdapRecord\Models\Attributes\DistinguishedName;
+use LdapRecord\Models\Attributes\Guid;
+use LdapRecord\Models\Events\Renamed;
+use LdapRecord\Models\Events\Renaming;
+use LdapRecord\Query\Model\Builder;
+use LdapRecord\Support\Arr;
+use UnexpectedValueException;
+
+/** @mixin Builder */
+abstract class Model implements ArrayAccess, JsonSerializable
+{
+    use EscapesValues;
+    use Concerns\HasEvents;
+    use Concerns\HasScopes;
+    use Concerns\HasAttributes;
+    use Concerns\HasGlobalScopes;
+    use Concerns\HidesAttributes;
+    use Concerns\HasRelationships;
+
+    /**
+     * Indicates if the model exists in the LDAP directory.
+     *
+     * @var bool
+     */
+    public $exists = false;
+
+    /**
+     * Indicates whether the model was created during the current request lifecycle.
+     *
+     * @var bool
+     */
+    public $wasRecentlyCreated = false;
+
+    /**
+     * Indicates whether the model was renamed during the current request lifecycle.
+     *
+     * @var bool
+     */
+    public $wasRecentlyRenamed = false;
+
+    /**
+     * The models distinguished name.
+     *
+     * @var string|null
+     */
+    protected $dn;
+
+    /**
+     * The base DN of where the model should be created in.
+     *
+     * @var string|null
+     */
+    protected $in;
+
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [];
+
+    /**
+     * The connection container instance.
+     *
+     * @var Container
+     */
+    protected static $container;
+
+    /**
+     * The LDAP connection name for the model.
+     *
+     * @var string|null
+     */
+    protected $connection;
+
+    /**
+     * The attribute key that contains the models object GUID.
+     *
+     * @var string
+     */
+    protected $guidKey = 'objectguid';
+
+    /**
+     * Contains the models modifications.
+     *
+     * @var array
+     */
+    protected $modifications = [];
+
+    /**
+     * The array of global scopes on the model.
+     *
+     * @var array
+     */
+    protected static $globalScopes = [];
+
+    /**
+     * The array of booted models.
+     *
+     * @var array
+     */
+    protected static $booted = [];
+
+    /**
+     * Constructor.
+     *
+     * @param array $attributes
+     */
+    public function __construct(array $attributes = [])
+    {
+        $this->bootIfNotBooted();
+
+        $this->fill($attributes);
+    }
+
+    /**
+     * Check if the model needs to be booted and if so, do it.
+     *
+     * @return void
+     */
+    protected function bootIfNotBooted()
+    {
+        if (! isset(static::$booted[static::class])) {
+            static::$booted[static::class] = true;
+
+            static::boot();
+        }
+    }
+
+    /**
+     * The "booting" method of the model.
+     *
+     * @return void
+     */
+    protected static function boot()
+    {
+        //
+    }
+
+    /**
+     * Clear the list of booted models so they will be re-booted.
+     *
+     * @return void
+     */
+    public static function clearBootedModels()
+    {
+        static::$booted = [];
+
+        static::$globalScopes = [];
+    }
+
+    /**
+     * Handle dynamic method calls into the model.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        if (method_exists($this, $method)) {
+            return $this->$method(...$parameters);
+        }
+
+        return $this->newQuery()->$method(...$parameters);
+    }
+
+    /**
+     * Handle dynamic static method calls into the method.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public static function __callStatic($method, $parameters)
+    {
+        return (new static())->$method(...$parameters);
+    }
+
+    /**
+     * Returns the models distinguished name.
+     *
+     * @return string|null
+     */
+    public function getDn()
+    {
+        return $this->dn;
+    }
+
+    /**
+     * Set the models distinguished name.
+     *
+     * @param string $dn
+     *
+     * @return static
+     */
+    public function setDn($dn)
+    {
+        $this->dn = (string) $dn;
+
+        return $this;
+    }
+
+    /**
+     * Get the LDAP connection for the model.
+     *
+     * @return Connection
+     */
+    public function getConnection()
+    {
+        return static::resolveConnection($this->getConnectionName());
+    }
+
+    /**
+     * Get the current connection name for the model.
+     *
+     * @return string
+     */
+    public function getConnectionName()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * Set the connection associated with the model.
+     *
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setConnection($name)
+    {
+        $this->connection = $name;
+
+        return $this;
+    }
+
+    /**
+     * Begin querying the model on a given connection.
+     *
+     * @param string|null $connection
+     *
+     * @return Builder
+     */
+    public static function on($connection = null)
+    {
+        $instance = new static();
+
+        $instance->setConnection($connection);
+
+        return $instance->newQuery();
+    }
+
+    /**
+     * Get all the models from the directory.
+     *
+     * @param array|mixed $attributes
+     *
+     * @return Collection|static[]
+     */
+    public static function all($attributes = ['*'])
+    {
+        return static::query()->select($attributes)->paginate();
+    }
+
+    /**
+     * Begin querying the model.
+     *
+     * @return Builder
+     */
+    public static function query()
+    {
+        return (new static())->newQuery();
+    }
+
+    /**
+     * Get a new query for builder filtered by the current models object classes.
+     *
+     * @return Builder
+     */
+    public function newQuery()
+    {
+        return $this->registerModelScopes(
+            $this->newQueryWithoutScopes()
+        );
+    }
+
+    /**
+     * Get a new query builder that doesn't have any global scopes.
+     *
+     * @return Builder
+     */
+    public function newQueryWithoutScopes()
+    {
+        return static::resolveConnection(
+            $this->getConnectionName()
+        )->query()->model($this);
+    }
+
+    /**
+     * Create a new query builder.
+     *
+     * @param Connection $connection
+     *
+     * @return Builder
+     */
+    public function newQueryBuilder(Connection $connection)
+    {
+        return new Builder($connection);
+    }
+
+    /**
+     * Create a new model instance.
+     *
+     * @param array $attributes
+     *
+     * @return static
+     */
+    public function newInstance(array $attributes = [])
+    {
+        return (new static($attributes))->setConnection($this->getConnectionName());
+    }
+
+    /**
+     * Resolve a connection instance.
+     *
+     * @param string|null $connection
+     *
+     * @return Connection
+     */
+    public static function resolveConnection($connection = null)
+    {
+        return static::getConnectionContainer()->get($connection);
+    }
+
+    /**
+     * Get the connection container.
+     *
+     * @return Container
+     */
+    public static function getConnectionContainer()
+    {
+        return static::$container ?? static::getDefaultConnectionContainer();
+    }
+
+    /**
+     * Get the default singleton container instance.
+     *
+     * @return Container
+     */
+    public static function getDefaultConnectionContainer()
+    {
+        return Container::getInstance();
+    }
+
+    /**
+     * Set the connection container.
+     *
+     * @param Container $container
+     *
+     * @return void
+     */
+    public static function setConnectionContainer(Container $container)
+    {
+        static::$container = $container;
+    }
+
+    /**
+     * Unset the connection container.
+     *
+     * @return void
+     */
+    public static function unsetConnectionContainer()
+    {
+        static::$container = null;
+    }
+
+    /**
+     * Register the query scopes for this builder instance.
+     *
+     * @param Builder $builder
+     *
+     * @return Builder
+     */
+    public function registerModelScopes($builder)
+    {
+        $this->applyObjectClassScopes($builder);
+
+        $this->registerGlobalScopes($builder);
+
+        return $builder;
+    }
+
+    /**
+     * Register the global model scopes.
+     *
+     * @param Builder $builder
+     *
+     * @return Builder
+     */
+    public function registerGlobalScopes($builder)
+    {
+        foreach ($this->getGlobalScopes() as $identifier => $scope) {
+            $builder->withGlobalScope($identifier, $scope);
+        }
+
+        return $builder;
+    }
+
+    /**
+     * Apply the model object class scopes to the given builder instance.
+     *
+     * @param Builder $query
+     *
+     * @return void
+     */
+    public function applyObjectClassScopes(Builder $query)
+    {
+        foreach (static::$objectClasses as $objectClass) {
+            $query->where('objectclass', '=', $objectClass);
+        }
+    }
+
+    /**
+     * Returns the models distinguished name when the model is converted to a string.
+     *
+     * @return null|string
+     */
+    public function __toString()
+    {
+        return $this->getDn();
+    }
+
+    /**
+     * Returns a new batch modification.
+     *
+     * @param string|null     $attribute
+     * @param string|int|null $type
+     * @param array           $values
+     *
+     * @return BatchModification
+     */
+    public function newBatchModification($attribute = null, $type = null, $values = [])
+    {
+        return new BatchModification($attribute, $type, $values);
+    }
+
+    /**
+     * Returns a new collection with the specified items.
+     *
+     * @param mixed $items
+     *
+     * @return Collection
+     */
+    public function newCollection($items = [])
+    {
+        return new Collection($items);
+    }
+
+    /**
+     * Dynamically retrieve attributes on the object.
+     *
+     * @param mixed $key
+     *
+     * @return bool
+     */
+    public function __get($key)
+    {
+        return $this->getAttribute($key);
+    }
+
+    /**
+     * Dynamically set attributes on the object.
+     *
+     * @param mixed $key
+     * @param mixed $value
+     *
+     * @return $this
+     */
+    public function __set($key, $value)
+    {
+        return $this->setAttribute($key, $value);
+    }
+
+    /**
+     * Determine if the given offset exists.
+     *
+     * @param string $offset
+     *
+     * @return bool
+     */
+    public function offsetExists($offset)
+    {
+        return ! is_null($this->getAttribute($offset));
+    }
+
+    /**
+     * Get the value for a given offset.
+     *
+     * @param string $offset
+     *
+     * @return mixed
+     */
+    public function offsetGet($offset)
+    {
+        return $this->getAttribute($offset);
+    }
+
+    /**
+     * Set the value at the given offset.
+     *
+     * @param string $offset
+     * @param mixed  $value
+     *
+     * @return void
+     */
+    public function offsetSet($offset, $value)
+    {
+        $this->setAttribute($offset, $value);
+    }
+
+    /**
+     * Unset the value at the given offset.
+     *
+     * @param string $offset
+     *
+     * @return void
+     */
+    public function offsetUnset($offset)
+    {
+        unset($this->attributes[$offset]);
+    }
+
+    /**
+     * Determine if an attribute exists on the model.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function __isset($key)
+    {
+        return $this->offsetExists($key);
+    }
+
+    /**
+     * Unset an attribute on the model.
+     *
+     * @param string $key
+     *
+     * @return void
+     */
+    public function __unset($key)
+    {
+        $this->offsetUnset($key);
+    }
+
+    /**
+     * Convert the object into something JSON serializable.
+     *
+     * @return array
+     */
+    public function jsonSerialize()
+    {
+        return $this->attributesToArray();
+    }
+
+    /**
+     * Converts extra attributes for JSON serialization.
+     *
+     * @param array $attributes
+     *
+     * @return array
+     */
+    protected function convertAttributesForJson(array $attributes = [])
+    {
+        // If the model has a GUID set, we need to convert
+        // it due to it being in binary. Otherwise we'll
+        // receive a JSON serialization exception.
+        if ($this->hasAttribute($this->guidKey)) {
+            return array_replace($attributes, [
+                $this->guidKey => [$this->getConvertedGuid()],
+            ]);
+        }
+
+        return $attributes;
+    }
+
+    /**
+     * Reload a fresh model instance from the directory.
+     *
+     * @return static|false
+     */
+    public function fresh()
+    {
+        if (! $this->exists) {
+            return false;
+        }
+
+        return $this->newQuery()->find($this->dn);
+    }
+
+    /**
+     * Determine if two models have the same distinguished name and belong to the same connection.
+     *
+     * @param static $model
+     *
+     * @return bool
+     */
+    public function is(self $model)
+    {
+        return $this->dn == $model->getDn() && $this->getConnectionName() == $model->getConnectionName();
+    }
+
+    /**
+     * Hydrate a new collection of models from LDAP search results.
+     *
+     * @param array $records
+     *
+     * @return Collection
+     */
+    public function hydrate($records)
+    {
+        return $this->newCollection($records)->transform(function ($attributes) {
+            return $attributes instanceof static
+                ? $attributes
+                : static::newInstance()->setRawAttributes($attributes);
+        });
+    }
+
+    /**
+     * Converts the current model into the given model.
+     *
+     * @param Model $into
+     *
+     * @return Model
+     */
+    public function convert(self $into)
+    {
+        $into->setDn($this->getDn());
+        $into->setConnection($this->getConnectionName());
+
+        $this->exists
+            ? $into->setRawAttributes($this->getAttributes())
+            : $into->fill($this->getAttributes());
+
+        return $into;
+    }
+
+    /**
+     * Refreshes the current models attributes with the directory values.
+     *
+     * @return bool
+     */
+    public function refresh()
+    {
+        if ($model = $this->fresh()) {
+            $this->setRawAttributes($model->getAttributes());
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Get the model's batch modifications to be processed.
+     *
+     * @return array
+     */
+    public function getModifications()
+    {
+        $builtModifications = [];
+
+        foreach ($this->buildModificationsFromDirty() as $modification) {
+            $builtModifications[] = $modification->get();
+        }
+
+        return array_merge($this->modifications, $builtModifications);
+    }
+
+    /**
+     * Set the models batch modifications.
+     *
+     * @param array $modifications
+     *
+     * @return $this
+     */
+    public function setModifications(array $modifications = [])
+    {
+        $this->modifications = [];
+
+        foreach ($modifications as $modification) {
+            $this->addModification($modification);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Adds a batch modification to the model.
+     *
+     * @param array|BatchModification $mod
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function addModification($mod = [])
+    {
+        if ($mod instanceof BatchModification) {
+            $mod = $mod->get();
+        }
+
+        if ($this->isValidModification($mod)) {
+            $this->modifications[] = $mod;
+
+            return $this;
+        }
+
+        throw new InvalidArgumentException(
+            "The batch modification array does not include the mandatory 'attrib' or 'modtype' keys."
+        );
+    }
+
+    /**
+     * Get the model's guid attribute key name.
+     *
+     * @return string
+     */
+    public function getGuidKey()
+    {
+        return $this->guidKey;
+    }
+
+    /**
+     * Get the model's ANR attributes for querying when incompatible with ANR.
+     *
+     * @return array
+     */
+    public function getAnrAttributes()
+    {
+        return ['cn', 'sn', 'uid', 'name', 'mail', 'givenname', 'displayname'];
+    }
+
+    /**
+     * Get the name of the model, or the given DN.
+     *
+     * @param string|null $dn
+     *
+     * @return string|null
+     */
+    public function getName($dn = null)
+    {
+        return $this->newDn($dn ?? $this->dn)->name();
+    }
+
+    /**
+     * Get the head attribute of the model, or the given DN.
+     *
+     * @param string|null $dn
+     *
+     * @return string|null
+     */
+    public function getHead($dn = null)
+    {
+        return $this->newDn($dn ?? $this->dn)->head();
+    }
+
+    /**
+     * Get the RDN of the model, of the given DN.
+     *
+     * @param string|null
+     *
+     * @return string|null
+     */
+    public function getRdn($dn = null)
+    {
+        return $this->newDn($dn ?? $this->dn)->relative();
+    }
+
+    /**
+     * Get the parent distinguished name of the model, or the given DN.
+     *
+     * @param string|null
+     *
+     * @return string|null
+     */
+    public function getParentDn($dn = null)
+    {
+        return $this->newDn($dn ?? $this->dn)->parent();
+    }
+
+    /**
+     * Create a new Distinguished Name object.
+     *
+     * @param string|null $dn
+     *
+     * @return DistinguishedName
+     */
+    public function newDn($dn = null)
+    {
+        return new DistinguishedName($dn);
+    }
+
+    /**
+     * Get the model's object GUID key.
+     *
+     * @return void
+     */
+    public function getObjectGuidKey()
+    {
+        return $this->guidKey;
+    }
+
+    /**
+     * Get the model's binary object GUID.
+     *
+     * @see https://msdn.microsoft.com/en-us/library/ms679021(v=vs.85).aspx
+     *
+     * @return string|null
+     */
+    public function getObjectGuid()
+    {
+        return $this->getFirstAttribute($this->guidKey);
+    }
+
+    /**
+     * Get the model's object classes.
+     *
+     * @return array
+     */
+    public function getObjectClasses()
+    {
+        return $this->getAttribute('objectclass') ?: [];
+    }
+
+    /**
+     * Get the model's string GUID.
+     *
+     * @return string|null
+     */
+    public function getConvertedGuid()
+    {
+        try {
+            return (string) new Guid($this->getObjectGuid());
+        } catch (InvalidArgumentException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Determine if the current model is a direct descendant of the given.
+     *
+     * @param static|string $parent
+     *
+     * @return bool
+     */
+    public function isChildOf($parent)
+    {
+        return $this->newDn($this->getDn())->isChildOf(
+            $this->newDn((string) $parent)
+        );
+    }
+
+    /**
+     * Determine if the current model is a direct ascendant of the given.
+     *
+     * @param static|string $child
+     *
+     * @return bool
+     */
+    public function isParentOf($child)
+    {
+        return $this->newDn($this->getDn())->isParentOf(
+            $this->newDn((string) $child)
+        );
+    }
+
+    /**
+     * Determine if the current model is a descendant of the given.
+     *
+     * @param static|string $model
+     *
+     * @return bool
+     */
+    public function isDescendantOf($model)
+    {
+        return $this->dnIsInside($this->getDn(), $model);
+    }
+
+    /**
+     * Determine if the current model is a ancestor of the given.
+     *
+     * @param static|string $model
+     *
+     * @return bool
+     */
+    public function isAncestorOf($model)
+    {
+        return $this->dnIsInside($model, $this->getDn());
+    }
+
+    /**
+     * Determines if the DN is inside of the parent DN.
+     *
+     * @param static|string $dn
+     * @param static|string $parentDn
+     *
+     * @return bool
+     */
+    protected function dnIsInside($dn, $parentDn)
+    {
+        return $this->newDn((string) $dn)->isDescendantOf(
+            $this->newDn($parentDn)
+        );
+    }
+
+    /**
+     * Set the base DN of where the model should be created in.
+     *
+     * @param static|string $dn
+     *
+     * @return $this
+     */
+    public function inside($dn)
+    {
+        $this->in = $dn instanceof self ? $dn->getDn() : $dn;
+
+        return $this;
+    }
+
+    /**
+     * Save the model to the directory.
+     *
+     * @param array $attributes The attributes to update or create for the current entry.
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function save(array $attributes = [])
+    {
+        $this->fill($attributes);
+
+        $this->fireModelEvent(new Events\Saving($this));
+
+        $this->exists ? $this->performUpdate() : $this->performInsert();
+
+        $this->fireModelEvent(new Events\Saved($this));
+
+        $this->in = null;
+    }
+
+    /**
+     * Inserts the model into the directory.
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    protected function performInsert()
+    {
+        // Here we will populate the models object classes if it
+        // does not already have any set. An LDAP object cannot
+        // be successfully created in the server without them.
+        if (! $this->hasAttribute('objectclass')) {
+            $this->setAttribute('objectclass', static::$objectClasses);
+        }
+
+        $query = $this->newQuery();
+
+        // If the model does not currently have a distinguished
+        // name, we will attempt to generate one automatically
+        // using the current query builder's DN as the base.
+        if (empty($this->getDn())) {
+            $this->setDn($this->getCreatableDn());
+        }
+
+        $this->fireModelEvent(new Events\Creating($this));
+
+        // Here we perform the insert of new object in the directory,
+        // but filter out any empty attributes before sending them
+        // to the server. LDAP servers will throw an exception if
+        // attributes have been given empty or null values.
+        $query->insert($this->getDn(), array_filter($this->getAttributes()));
+
+        $this->fireModelEvent(new Events\Created($this));
+
+        $this->syncOriginal();
+
+        $this->exists = true;
+
+        $this->wasRecentlyCreated = true;
+    }
+
+    /**
+     * Updates the model in the directory.
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    protected function performUpdate()
+    {
+        if (! count($modifications = $this->getModifications())) {
+            return;
+        }
+
+        $this->fireModelEvent(new Events\Updating($this));
+
+        $this->newQuery()->update($this->dn, $modifications);
+
+        $this->fireModelEvent(new Events\Updated($this));
+
+        $this->syncOriginal();
+
+        $this->modifications = [];
+    }
+
+    /**
+     * Create the model in the directory.
+     *
+     * @param array $attributes The attributes for the new entry.
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return Model
+     */
+    public static function create(array $attributes = [])
+    {
+        $instance = new static($attributes);
+
+        $instance->save();
+
+        return $instance;
+    }
+
+    /**
+     * Create an attribute on the model.
+     *
+     * @param string $attribute The attribute to create
+     * @param mixed  $value     The value of the new attribute
+     *
+     * @throws ModelDoesNotExistException
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function createAttribute($attribute, $value)
+    {
+        $this->validateExistence();
+
+        $this->newQuery()->insertAttributes($this->dn, [$attribute => (array) $value]);
+
+        $this->addAttributeValue($attribute, $value);
+    }
+
+    /**
+     * Update the model.
+     *
+     * @param array $attributes The attributes to update for the current entry.
+     *
+     * @throws ModelDoesNotExistException
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function update(array $attributes = [])
+    {
+        $this->validateExistence();
+
+        $this->save($attributes);
+    }
+
+    /**
+     * Update the model attribute with the specified value.
+     *
+     * @param string $attribute The attribute to modify
+     * @param mixed  $value     The new value for the attribute
+     *
+     * @throws ModelDoesNotExistException
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function updateAttribute($attribute, $value)
+    {
+        $this->validateExistence();
+
+        $this->newQuery()->updateAttributes($this->dn, [$attribute => (array) $value]);
+
+        $this->addAttributeValue($attribute, $value);
+    }
+
+    /**
+     * Destroy the models for the given distinguished names.
+     *
+     * @param Collection|array|string $dns
+     * @param bool                    $recursive
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return int
+     */
+    public static function destroy($dns, $recursive = false)
+    {
+        $count = 0;
+
+        $dns = is_string($dns) ? (array) $dns : $dns;
+
+        $instance = new static();
+
+        foreach ($dns as $dn) {
+            if (! $model = $instance->find($dn)) {
+                continue;
+            }
+
+            $model->delete($recursive);
+
+            $count++;
+        }
+
+        return $count;
+    }
+
+    /**
+     * Delete the model from the directory.
+     *
+     * Throws a ModelNotFoundException if the current model does
+     * not exist or does not contain a distinguished name.
+     *
+     * @param bool $recursive Whether to recursively delete leaf nodes (models that are children).
+     *
+     * @throws ModelDoesNotExistException
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function delete($recursive = false)
+    {
+        $this->validateExistence();
+
+        $this->fireModelEvent(new Events\Deleting($this));
+
+        if ($recursive) {
+            $this->deleteLeafNodes();
+        }
+
+        $this->newQuery()->delete($this->dn);
+
+        // If the deletion is successful, we will mark the model
+        // as non-existing, and then fire the deleted event so
+        // developers can hook in and run further operations.
+        $this->exists = false;
+
+        $this->fireModelEvent(new Events\Deleted($this));
+    }
+
+    /**
+     * Deletes leaf nodes that are attached to the model.
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return Collection
+     */
+    protected function deleteLeafNodes()
+    {
+        return $this->newQueryWithoutScopes()
+            ->in($this->dn)
+            ->listing()
+            ->paginate()
+            ->each(function (self $model) {
+                $model->delete($recursive = true);
+            });
+    }
+
+    /**
+     * Delete an attribute on the model.
+     *
+     * @param string|array $attributes The attribute(s) to delete
+     *
+     * Delete specific values in attributes:
+     *
+     *     ["memberuid" => "jdoe"]
+     *
+     * Delete an entire attribute:
+     *
+     *     ["memberuid" => []]
+     *
+     * @throws ModelDoesNotExistException
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function deleteAttribute($attributes)
+    {
+        $this->validateExistence();
+
+        $attributes = $this->makeDeletableAttributes($attributes);
+
+        $this->newQuery()->deleteAttributes($this->dn, $attributes);
+
+        foreach ($attributes as $attribute => $value) {
+            // If the attribute value is empty, we can assume the
+            // attribute was completely deleted from the model.
+            // We will pull the attribute out and continue on.
+            if (empty($value)) {
+                unset($this->attributes[$attribute]);
+            }
+            // Otherwise, only specific attribute values have been
+            // removed. We will determine which ones have been
+            // removed and update the attributes value.
+            elseif (Arr::exists($this->attributes, $attribute)) {
+                $this->attributes[$attribute] = array_values(
+                    array_diff($this->attributes[$attribute], (array) $value)
+                );
+            }
+        }
+
+        $this->syncOriginal();
+    }
+
+    /**
+     * Make a deletable attribute array.
+     *
+     * @param string|array $attributes
+     *
+     * @return array
+     */
+    protected function makeDeletableAttributes($attributes)
+    {
+        $delete = [];
+
+        foreach (Arr::wrap($attributes) as $key => $value) {
+            is_int($key)
+                ? $delete[$value] = []
+                : $delete[$key] = Arr::wrap($value);
+        }
+
+        return $delete;
+    }
+
+    /**
+     * Move the model into the given new parent.
+     *
+     * For example: $user->move($ou);
+     *
+     * @param static|string $newParentDn  The new parent of the current model.
+     * @param bool          $deleteOldRdn Whether to delete the old models relative distinguished name once renamed / moved.
+     *
+     * @throws UnexpectedValueException
+     * @throws ModelDoesNotExistException
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function move($newParentDn, $deleteOldRdn = true)
+    {
+        $this->validateExistence();
+
+        if (! $rdn = $this->getRdn()) {
+            throw new UnexpectedValueException('Current model does not contain an RDN to move.');
+        }
+
+        $this->rename($rdn, $newParentDn, $deleteOldRdn);
+    }
+
+    /**
+     * Rename the model to a new RDN and new parent.
+     *
+     * @param string             $rdn          The models new relative distinguished name. Example: "cn=JohnDoe"
+     * @param static|string|null $newParentDn  The models new parent distinguished name (if moving). Leave this null if you are only renaming. Example: "ou=MovedUsers,dc=acme,dc=org"
+     * @param bool|true          $deleteOldRdn Whether to delete the old models relative distinguished name once renamed / moved.
+     *
+     * @throws ModelDoesNotExistException
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function rename($rdn, $newParentDn = null, $deleteOldRdn = true)
+    {
+        $this->validateExistence();
+
+        if ($newParentDn instanceof self) {
+            $newParentDn = $newParentDn->getDn();
+        }
+
+        if (is_null($newParentDn)) {
+            $newParentDn = $this->getParentDn($this->dn);
+        }
+
+        // If the RDN and the new parent DN are the same as the current,
+        // we will simply return here to prevent a rename operation
+        // being sent, which would fail anyway in such case.
+        if (
+            $rdn === $this->getRdn()
+         && $newParentDn === $this->getParentDn()
+        ) {
+            return;
+        }
+
+        $this->fireModelEvent(new Renaming($this, $rdn, $newParentDn));
+
+        $this->newQuery()->rename($this->dn, $rdn, $newParentDn, $deleteOldRdn);
+
+        // If the model was successfully renamed, we will set
+        // its new DN so any further updates to the model
+        // can be performed without any issues.
+        $this->dn = implode(',', [$rdn, $newParentDn]);
+
+        $map = $this->newDn($this->dn)->assoc();
+
+        // Here we'll populate the models new primary
+        // RDN attribute on the model so we do not
+        // have to re-synchronize with the server.
+        $modelNameAttribute = key($map);
+
+        $this->attributes[$modelNameAttribute]
+            = $this->original[$modelNameAttribute]
+            = [reset($map[$modelNameAttribute])];
+
+        $this->fireModelEvent(new Renamed($this));
+
+        $this->wasRecentlyRenamed = true;
+    }
+
+    /**
+     * Get a distinguished name that is creatable for the model.
+     *
+     * @param string|null $name
+     * @param string|null $attribute
+     *
+     * @return string
+     */
+    public function getCreatableDn($name = null, $attribute = null)
+    {
+        return implode(',', [
+            $this->getCreatableRdn($name, $attribute),
+            $this->in ?? $this->newQuery()->getbaseDn(),
+        ]);
+    }
+
+    /**
+     * Get a creatable (escaped) RDN for the model.
+     *
+     * @param string|null $name
+     * @param string|null $attribute
+     *
+     * @return string
+     */
+    public function getCreatableRdn($name = null, $attribute = null)
+    {
+        $attribute = $attribute ?? $this->getCreatableRdnAttribute();
+
+        $name = $this->escape(
+            $name ?? $this->getFirstAttribute($attribute)
+        )->dn();
+
+        return "$attribute=$name";
+    }
+
+    /**
+     * Get the creatable RDN attribute name.
+     *
+     * @return string
+     */
+    protected function getCreatableRdnAttribute()
+    {
+        return 'cn';
+    }
+
+    /**
+     * Determines if the given modification is valid.
+     *
+     * @param mixed $mod
+     *
+     * @return bool
+     */
+    protected function isValidModification($mod)
+    {
+        return Arr::accessible($mod)
+            && Arr::exists($mod, BatchModification::KEY_MODTYPE)
+            && Arr::exists($mod, BatchModification::KEY_ATTRIB);
+    }
+
+    /**
+     * Builds the models modifications from its dirty attributes.
+     *
+     * @return BatchModification[]
+     */
+    protected function buildModificationsFromDirty()
+    {
+        $modifications = [];
+
+        foreach ($this->getDirty() as $attribute => $values) {
+            $modification = $this->newBatchModification($attribute, null, (array) $values);
+
+            if (Arr::exists($this->original, $attribute)) {
+                // If the attribute we're modifying has an original value, we will
+                // give the BatchModification object its values to automatically
+                // determine which type of LDAP operation we need to perform.
+                $modification->setOriginal($this->original[$attribute]);
+            }
+
+            if (! $modification->build()->isValid()) {
+                continue;
+            }
+
+            $modifications[] = $modification;
+        }
+
+        return $modifications;
+    }
+
+    /**
+     * Validates that the current model exists.
+     *
+     * @throws ModelDoesNotExistException
+     *
+     * @return void
+     */
+    protected function validateExistence()
+    {
+        if (! $this->exists || is_null($this->dn)) {
+            throw ModelDoesNotExistException::forModel($this);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ModelDoesNotExistException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ModelDoesNotExistException.php
new file mode 100644
index 0000000..2dd2ba9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ModelDoesNotExistException.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace LdapRecord\Models;
+
+use LdapRecord\LdapRecordException;
+
+class ModelDoesNotExistException extends LdapRecordException
+{
+    /**
+     * The class name of the model that does not exist.
+     *
+     * @var Model
+     */
+    protected $model;
+
+    /**
+     * Create a new exception for the given model.
+     *
+     * @param Model $model
+     *
+     * @return ModelDoesNotExistException
+     */
+    public static function forModel(Model $model)
+    {
+        return (new static())->setModel($model);
+    }
+
+    /**
+     * Set the model that does not exist.
+     *
+     * @param Model $model
+     *
+     * @return ModelDoesNotExistException
+     */
+    public function setModel(Model $model)
+    {
+        $this->model = $model;
+
+        $class = get_class($model);
+
+        $this->message = "Model [{$class}] does not exist.";
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ModelNotFoundException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ModelNotFoundException.php
new file mode 100644
index 0000000..be88bab
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/ModelNotFoundException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace LdapRecord\Models;
+
+use LdapRecord\Query\ObjectNotFoundException;
+
+class ModelNotFoundException extends ObjectNotFoundException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Entry.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Entry.php
new file mode 100644
index 0000000..b7ad37a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Entry.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace LdapRecord\Models\OpenLDAP;
+
+use LdapRecord\Connection;
+use LdapRecord\Models\Entry as BaseEntry;
+use LdapRecord\Models\OpenLDAP\Scopes\AddEntryUuidToSelects;
+use LdapRecord\Models\Types\OpenLDAP;
+use LdapRecord\Query\Model\OpenLdapBuilder;
+
+/** @mixin OpenLdapBuilder */
+class Entry extends BaseEntry implements OpenLDAP
+{
+    /**
+     * The attribute key that contains the models object GUID.
+     *
+     * @var string
+     */
+    protected $guidKey = 'entryuuid';
+
+    /**
+     * @inheritdoc
+     */
+    protected static function boot()
+    {
+        parent::boot();
+
+        // Here we'll add a global scope to all OpenLDAP models to ensure the
+        // Entry UUID is always selected on each query. This attribute is
+        // virtual, so it must be manually selected to be included.
+        static::addGlobalScope(new AddEntryUuidToSelects());
+    }
+
+    /**
+     * Create a new query builder.
+     *
+     * @param Connection $connection
+     *
+     * @return OpenLdapBuilder
+     */
+    public function newQueryBuilder(Connection $connection)
+    {
+        return new OpenLdapBuilder($connection);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Group.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Group.php
new file mode 100644
index 0000000..2d8d94e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Group.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace LdapRecord\Models\OpenLDAP;
+
+class Group extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'groupofuniquenames',
+    ];
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/OrganizationalUnit.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/OrganizationalUnit.php
new file mode 100644
index 0000000..7ae0a37
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/OrganizationalUnit.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace LdapRecord\Models\OpenLDAP;
+
+class OrganizationalUnit extends Entry
+{
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'organizationalunit',
+    ];
+
+    /**
+     * Get the creatable RDN attribute name.
+     *
+     * @return string
+     */
+    public function getCreatableRdnAttribute()
+    {
+        return 'ou';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Scopes/AddEntryUuidToSelects.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Scopes/AddEntryUuidToSelects.php
new file mode 100644
index 0000000..54376c2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/Scopes/AddEntryUuidToSelects.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace LdapRecord\Models\OpenLDAP\Scopes;
+
+use LdapRecord\Models\Model;
+use LdapRecord\Models\Scope;
+use LdapRecord\Query\Model\Builder;
+
+class AddEntryUuidToSelects implements Scope
+{
+    /**
+     * Add the entry UUID to the selected attributes.
+     *
+     * @param Builder $query
+     * @param Model   $model
+     *
+     * @return void
+     */
+    public function apply(Builder $query, Model $model)
+    {
+        empty($query->columns)
+            ? $query->addSelect(['*', $model->getGuidKey()])
+            : $query->addSelect($model->getGuidKey());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/User.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/User.php
new file mode 100644
index 0000000..b37f390
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/OpenLDAP/User.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace LdapRecord\Models\OpenLDAP;
+
+use Illuminate\Contracts\Auth\Authenticatable;
+use LdapRecord\Models\Concerns\CanAuthenticate;
+use LdapRecord\Models\Concerns\HasPassword;
+
+class User extends Entry implements Authenticatable
+{
+    use HasPassword;
+    use CanAuthenticate;
+
+    /**
+     * The password's attribute name.
+     *
+     * @var string
+     */
+    protected $passwordAttribute = 'userpassword';
+
+    /**
+     * The password's hash method.
+     *
+     * @var string
+     */
+    protected $passwordHashMethod = 'ssha';
+
+    /**
+     * The object classes of the LDAP model.
+     *
+     * @var array
+     */
+    public static $objectClasses = [
+        'top',
+        'person',
+        'organizationalperson',
+        'inetorgperson',
+    ];
+
+    /**
+     * The groups relationship.
+     *
+     * Retrieves groups that the user is apart of.
+     *
+     * @return \LdapRecord\Models\Relations\HasMany
+     */
+    public function groups()
+    {
+        return $this->hasMany(Group::class, 'memberuid', 'uid');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasMany.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasMany.php
new file mode 100644
index 0000000..d8dfa08
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasMany.php
@@ -0,0 +1,344 @@
+<?php
+
+namespace LdapRecord\Models\Relations;
+
+use Closure;
+use LdapRecord\DetectsErrors;
+use LdapRecord\LdapRecordException;
+use LdapRecord\Models\Model;
+use LdapRecord\Models\ModelNotFoundException;
+use LdapRecord\Query\Collection;
+
+class HasMany extends OneToMany
+{
+    use DetectsErrors;
+
+    /**
+     * The model to use for attaching / detaching.
+     *
+     * @var Model
+     */
+    protected $using;
+
+    /**
+     * The attribute key to use for attaching / detaching.
+     *
+     * @var string
+     */
+    protected $usingKey;
+
+    /**
+     * The pagination page size.
+     *
+     * @var int
+     */
+    protected $pageSize = 1000;
+
+    /**
+     * The exceptions to bypass for each relation operation.
+     *
+     * @var array
+     */
+    protected $bypass = [
+        'attach' => [
+            'Already exists', 'Type or value exists',
+        ],
+        'detach' => [
+            'No such attribute', 'Server is unwilling to perform',
+        ],
+    ];
+
+    /**
+     * Set the model and attribute to use for attaching / detaching.
+     *
+     * @param Model  $using
+     * @param string $usingKey
+     *
+     * @return $this
+     */
+    public function using(Model $using, $usingKey)
+    {
+        $this->using = $using;
+        $this->usingKey = $usingKey;
+
+        return $this;
+    }
+
+    /**
+     * Set the pagination page size of the relation query.
+     *
+     * @param int $pageSize
+     *
+     * @return $this
+     */
+    public function setPageSize($pageSize)
+    {
+        $this->pageSize = $pageSize;
+
+        return $this;
+    }
+
+    /**
+     * Paginate the relation using the given page size.
+     *
+     * @param int $pageSize
+     *
+     * @return Collection
+     */
+    public function paginate($pageSize = 1000)
+    {
+        return $this->paginateOnceUsing($pageSize);
+    }
+
+    /**
+     * Paginate the relation using the page size once.
+     *
+     * @param int $pageSize
+     *
+     * @return Collection
+     */
+    protected function paginateOnceUsing($pageSize)
+    {
+        $size = $this->pageSize;
+
+        $result = $this->setPageSize($pageSize)->get();
+
+        $this->pageSize = $size;
+
+        return $result;
+    }
+
+    /**
+     * Chunk the relation results using the given callback.
+     *
+     * @param int     $pageSize
+     * @param Closure $callback
+     *
+     * @return void
+     */
+    public function chunk($pageSize, Closure $callback)
+    {
+        $this->getRelationQuery()->chunk($pageSize, function ($entries) use ($callback) {
+            $callback($this->transformResults($entries));
+        });
+    }
+
+    /**
+     * Get the relationships results.
+     *
+     * @return Collection
+     */
+    public function getRelationResults()
+    {
+        return $this->transformResults(
+            $this->getRelationQuery()->paginate($this->pageSize)
+        );
+    }
+
+    /**
+     * Get the prepared relationship query.
+     *
+     * @return \LdapRecord\Query\Model\Builder
+     */
+    public function getRelationQuery()
+    {
+        $columns = $this->query->getSelects();
+
+        // We need to select the proper key to be able to retrieve its
+        // value from LDAP results. If we don't, we won't be able
+        // to properly attach / detach models from relation
+        // query results as the attribute will not exist.
+        $key = $this->using ? $this->usingKey : $this->relationKey;
+
+        // If the * character is missing from the attributes to select,
+        // we will add the key to the attributes to select and also
+        // validate that the key isn't already being selected
+        // to prevent stacking on multiple relation calls.
+        if (! in_array('*', $columns) && ! in_array($key, $columns)) {
+            $this->query->addSelect($key);
+        }
+
+        return $this->query->whereRaw(
+            $this->relationKey,
+            '=',
+            $this->getEscapedForeignValueFromModel($this->parent)
+        );
+    }
+
+    /**
+     * Attach a model to the relation.
+     *
+     * @param Model|string $model
+     *
+     * @return Model|string|false
+     */
+    public function attach($model)
+    {
+        return $this->attemptFailableOperation(
+            $this->buildAttachCallback($model),
+            $this->bypass['attach'],
+            $model
+        );
+    }
+
+    /**
+     * Build the attach callback.
+     *
+     * @param Model|string $model
+     *
+     * @return \Closure
+     */
+    protected function buildAttachCallback($model)
+    {
+        return function () use ($model) {
+            $foreign = $this->getAttachableForeignValue($model);
+
+            if ($this->using) {
+                return $this->using->createAttribute($this->usingKey, $foreign);
+            }
+
+            if (! $model instanceof Model) {
+                $model = $this->getForeignModelByValueOrFail($model);
+            }
+
+            return $model->createAttribute($this->relationKey, $foreign);
+        };
+    }
+
+    /**
+     * Attach a collection of models to the parent instance.
+     *
+     * @param iterable $models
+     *
+     * @return iterable
+     */
+    public function attachMany($models)
+    {
+        foreach ($models as $model) {
+            $this->attach($model);
+        }
+
+        return $models;
+    }
+
+    /**
+     * Detach the model from the relation.
+     *
+     * @param Model|string $model
+     *
+     * @return Model|string|false
+     */
+    public function detach($model)
+    {
+        return $this->attemptFailableOperation(
+            $this->buildDetachCallback($model),
+            $this->bypass['detach'],
+            $model
+        );
+    }
+
+    /**
+     * Build the detach callback.
+     *
+     * @param Model|string $model
+     *
+     * @return \Closure
+     */
+    protected function buildDetachCallback($model)
+    {
+        return function () use ($model) {
+            $foreign = $this->getAttachableForeignValue($model);
+
+            if ($this->using) {
+                return $this->using->deleteAttribute([$this->usingKey => $foreign]);
+            }
+
+            if (! $model instanceof Model) {
+                $model = $this->getForeignModelByValueOrFail($model);
+            }
+
+            return $model->deleteAttribute([$this->relationKey => $foreign]);
+        };
+    }
+
+    /**
+     * Get the attachable foreign value from the model.
+     *
+     * @param Model|string $model
+     *
+     * @return string
+     */
+    protected function getAttachableForeignValue($model)
+    {
+        if ($model instanceof Model) {
+            return $this->using
+                ? $this->getForeignValueFromModel($model)
+                : $this->getParentForeignValue();
+        }
+
+        return $this->using ? $model : $this->getParentForeignValue();
+    }
+
+    /**
+     * Get the foreign model by the given value, or fail.
+     *
+     * @param string $model
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model
+     */
+    protected function getForeignModelByValueOrFail($model)
+    {
+        if (! is_null($model = $this->getForeignModelByValue($model))) {
+            return $model;
+        }
+
+        throw ModelNotFoundException::forQuery(
+            $this->query->getUnescapedQuery(),
+            $this->query->getDn()
+        );
+    }
+
+    /**
+     * Attempt a failable operation and return the value if successful.
+     *
+     * If a bypassable exception is encountered, the value will be returned.
+     *
+     * @param callable     $operation
+     * @param string|array $bypass
+     * @param mixed        $value
+     *
+     * @throws LdapRecordException
+     *
+     * @return mixed
+     */
+    protected function attemptFailableOperation($operation, $bypass, $value)
+    {
+        try {
+            $operation();
+
+            return $value;
+        } catch (LdapRecordException $e) {
+            if ($this->errorContainsMessage($e->getMessage(), $bypass)) {
+                return $value;
+            }
+
+            throw $e;
+        }
+    }
+
+    /**
+     * Detach all relation models.
+     *
+     * @return Collection
+     */
+    public function detachAll()
+    {
+        return $this->onceWithoutMerging(function () {
+            return $this->get()->each(function (Model $model) {
+                $this->detach($model);
+            });
+        });
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasManyIn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasManyIn.php
new file mode 100644
index 0000000..303a144
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasManyIn.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace LdapRecord\Models\Relations;
+
+use LdapRecord\Query\Collection;
+
+class HasManyIn extends OneToMany
+{
+    /**
+     * Get the relationships results.
+     *
+     * @return Collection
+     */
+    public function getRelationResults()
+    {
+        $results = $this->parent->newCollection();
+
+        foreach ((array) $this->parent->getAttribute($this->relationKey) as $value) {
+            if ($foreign = $this->getForeignModelByValue($value)) {
+                $results->push($foreign);
+            }
+        }
+
+        return $this->transformResults($results);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasOne.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasOne.php
new file mode 100644
index 0000000..9a9b2f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/HasOne.php
@@ -0,0 +1,56 @@
+<?php
+
+namespace LdapRecord\Models\Relations;
+
+use LdapRecord\Models\Model;
+
+class HasOne extends Relation
+{
+    /**
+     * Get the results of the relationship.
+     *
+     * @return \LdapRecord\Query\Collection
+     */
+    public function getResults()
+    {
+        $model = $this->getForeignModelByValue(
+            $this->getFirstAttributeValue($this->parent, $this->relationKey)
+        );
+
+        return $this->transformResults(
+            $this->parent->newCollection($model ? [$model] : null)
+        );
+    }
+
+    /**
+     * Attach a model instance to the parent model.
+     *
+     * @param Model|string $model
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return Model|string
+     */
+    public function attach($model)
+    {
+        $foreign = $model instanceof Model
+            ? $this->getForeignValueFromModel($model)
+            : $model;
+
+        $this->parent->setAttribute($this->relationKey, $foreign)->save();
+
+        return $model;
+    }
+
+    /**
+     * Detach the related model from the parent.
+     *
+     * @throws \LdapRecord\LdapRecordException
+     *
+     * @return void
+     */
+    public function detach()
+    {
+        $this->parent->setAttribute($this->relationKey, null)->save();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/OneToMany.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/OneToMany.php
new file mode 100644
index 0000000..d0a407c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/OneToMany.php
@@ -0,0 +1,186 @@
+<?php
+
+namespace LdapRecord\Models\Relations;
+
+use LdapRecord\Models\Model;
+use LdapRecord\Query\Collection;
+use LdapRecord\Query\Model\Builder;
+
+abstract class OneToMany extends Relation
+{
+    /**
+     * The relation to merge results with.
+     *
+     * @var OneToMany|null
+     */
+    protected $with;
+
+    /**
+     * The name of the relationship.
+     *
+     * @var string
+     */
+    protected $relationName;
+
+    /**
+     * Whether to include recursive results.
+     *
+     * @var bool
+     */
+    protected $recursive = false;
+
+    /**
+     * Constructor.
+     *
+     * @param Builder $query
+     * @param Model   $parent
+     * @param string  $related
+     * @param string  $relationKey
+     * @param string  $foreignKey
+     * @param string  $relationName
+     */
+    public function __construct(Builder $query, Model $parent, $related, $relationKey, $foreignKey, $relationName)
+    {
+        $this->relationName = $relationName;
+
+        parent::__construct($query, $parent, $related, $relationKey, $foreignKey);
+    }
+
+    /**
+     * Set the relation to load with its parent.
+     *
+     * @param OneToMany $relation
+     *
+     * @return $this
+     */
+    public function with(Relation $relation)
+    {
+        $this->with = $relation;
+
+        return $this;
+    }
+
+    /**
+     * Whether to include recursive results.
+     *
+     * @param bool $enable
+     *
+     * @return $this
+     */
+    public function recursive($enable = true)
+    {
+        $this->recursive = $enable;
+
+        return $this;
+    }
+
+    /**
+     * Get the immediate relationships results.
+     *
+     * @return Collection
+     */
+    abstract public function getRelationResults();
+
+    /**
+     * Get the results of the relationship.
+     *
+     * @return Collection
+     */
+    public function getResults()
+    {
+        $results = $this->recursive
+            ? $this->getRecursiveResults()
+            : $this->getRelationResults();
+
+        return $results->merge(
+            $this->getMergingRelationResults()
+        );
+    }
+
+    /**
+     * Execute the callback excluding the merged query result.
+     *
+     * @param callable $callback
+     *
+     * @return mixed
+     */
+    protected function onceWithoutMerging($callback)
+    {
+        $merging = $this->with;
+
+        $this->with = null;
+
+        $result = $callback();
+
+        $this->with = $merging;
+
+        return $result;
+    }
+
+    /**
+     * Get the relation name.
+     *
+     * @return string
+     */
+    public function getRelationName()
+    {
+        return $this->relationName;
+    }
+
+    /**
+     * Get the results of the merging 'with' relation.
+     *
+     * @return Collection
+     */
+    protected function getMergingRelationResults()
+    {
+        return $this->with
+            ? $this->with->recursive($this->recursive)->get()
+            : $this->parent->newCollection();
+    }
+
+    /**
+     * Get the results for the models relation recursively.
+     *
+     * @param string[] $loaded The distinguished names of models already loaded
+     *
+     * @return Collection
+     */
+    protected function getRecursiveResults(array $loaded = [])
+    {
+        $results = $this->getRelationResults()->reject(function (Model $model) use ($loaded) {
+            // Here we will exclude the models that we have already
+            // loaded the recursive results for so we don't run
+            // into issues with circular relations in LDAP.
+            return in_array($model->getDn(), $loaded);
+        });
+
+        foreach ($results as $model) {
+            $loaded[] = $model->getDn();
+
+            // Finally, we will fetch the related models relations,
+            // passing along our loaded models, to ensure we do
+            // not attempt fetching already loaded relations.
+            $results = $results->merge(
+                $this->getRecursiveRelationResults($model, $loaded)
+            );
+        }
+
+        return $results;
+    }
+
+    /**
+     * Get the recursive relation results for given model.
+     *
+     * @param Model $model
+     * @param array $loaded
+     *
+     * @return Collection
+     */
+    protected function getRecursiveRelationResults(Model $model, array $loaded)
+    {
+        return method_exists($model, $this->relationName)
+            ? $model->{$this->relationName}()->getRecursiveResults($loaded)
+            : $model->newCollection();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/Relation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/Relation.php
new file mode 100644
index 0000000..1b108fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Relations/Relation.php
@@ -0,0 +1,368 @@
+<?php
+
+namespace LdapRecord\Models\Relations;
+
+use LdapRecord\Models\Entry;
+use LdapRecord\Models\Model;
+use LdapRecord\Query\Collection;
+use LdapRecord\Query\Model\Builder;
+
+/**
+ * @method bool exists($models = null) Determine if the relation contains all of the given models, or any models
+ * @method bool contains($models)      Determine if any of the given models are contained in the relation
+ */
+abstract class Relation
+{
+    /**
+     * The underlying LDAP query.
+     *
+     * @var Builder
+     */
+    protected $query;
+
+    /**
+     * The parent model instance.
+     *
+     * @var Model
+     */
+    protected $parent;
+
+    /**
+     * The related models.
+     *
+     * @var array
+     */
+    protected $related;
+
+    /**
+     * The relation key.
+     *
+     * @var string
+     */
+    protected $relationKey;
+
+    /**
+     * The foreign key.
+     *
+     * @var string
+     */
+    protected $foreignKey;
+
+    /**
+     * The default relation model.
+     *
+     * @var string
+     */
+    protected $default = Entry::class;
+
+    /**
+     * Constructor.
+     *
+     * @param Builder $query
+     * @param Model   $parent
+     * @param mixed   $related
+     * @param string  $relationKey
+     * @param string  $foreignKey
+     */
+    public function __construct(Builder $query, Model $parent, $related, $relationKey, $foreignKey)
+    {
+        $this->query = $query;
+        $this->parent = $parent;
+        $this->related = (array) $related;
+        $this->relationKey = $relationKey;
+        $this->foreignKey = $foreignKey;
+
+        $this->initRelation();
+    }
+
+    /**
+     * Handle dynamic method calls to the relationship.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        if (in_array($method, ['exists', 'contains'])) {
+            return $this->get('objectclass')->$method(...$parameters);
+        }
+
+        $result = $this->query->$method(...$parameters);
+
+        if ($result === $this->query) {
+            return $this;
+        }
+
+        return $result;
+    }
+
+    /**
+     * Get the results of the relationship.
+     *
+     * @return Collection
+     */
+    abstract public function getResults();
+
+    /**
+     * Execute the relationship query.
+     *
+     * @param array|string $columns
+     *
+     * @return Collection
+     */
+    public function get($columns = ['*'])
+    {
+        return $this->getResultsWithColumns($columns);
+    }
+
+    /**
+     * Get the results of the relationship while selecting the given columns.
+     *
+     * If the query columns are empty, the given columns are applied.
+     *
+     * @param array $columns
+     *
+     * @return Collection
+     */
+    protected function getResultsWithColumns($columns)
+    {
+        if (is_null($this->query->columns)) {
+            $this->query->select($columns);
+        }
+
+        return $this->getResults();
+    }
+
+    /**
+     * Get the first result of the relationship.
+     *
+     * @param array|string $columns
+     *
+     * @return Model|null
+     */
+    public function first($columns = ['*'])
+    {
+        return $this->get($columns)->first();
+    }
+
+    /**
+     * Prepare the relation query.
+     *
+     * @return static
+     */
+    public function initRelation()
+    {
+        $this->query
+            ->clearFilters()
+            ->withoutGlobalScopes()
+            ->setModel($this->getNewDefaultModel());
+
+        return $this;
+    }
+
+    /**
+     * Get the underlying query for the relation.
+     *
+     * @return Builder
+     */
+    public function getQuery()
+    {
+        return $this->query;
+    }
+
+    /**
+     * Get the parent model of the relation.
+     *
+     * @return Model
+     */
+    public function getParent()
+    {
+        return $this->parent;
+    }
+
+    /**
+     * Get the relation attribute key.
+     *
+     * @return string
+     */
+    public function getRelationKey()
+    {
+        return $this->relationKey;
+    }
+
+    /**
+     * Get the related model classes for the relation.
+     *
+     * @return array
+     */
+    public function getRelated()
+    {
+        return $this->related;
+    }
+
+    /**
+     * Get the relation foreign attribute key.
+     *
+     * @return string
+     */
+    public function getForeignKey()
+    {
+        return $this->foreignKey;
+    }
+
+    /**
+     * Get the class name of the default model.
+     *
+     * @return string
+     */
+    public function getDefaultModel()
+    {
+        return $this->default;
+    }
+
+    /**
+     * Get a new instance of the default model on the relation.
+     *
+     * @return Model
+     */
+    public function getNewDefaultModel()
+    {
+        $model = new $this->default();
+
+        $model->setConnection($this->parent->getConnectionName());
+
+        return $model;
+    }
+
+    /**
+     * Get the foreign model by the given value.
+     *
+     * @param string $value
+     *
+     * @return Model|null
+     */
+    protected function getForeignModelByValue($value)
+    {
+        return $this->foreignKeyIsDistinguishedName()
+            ? $this->query->find($value)
+            : $this->query->findBy($this->foreignKey, $value);
+    }
+
+    /**
+     * Returns the escaped foreign key value for use in an LDAP filter from the model.
+     *
+     * @param Model $model
+     *
+     * @return string
+     */
+    protected function getEscapedForeignValueFromModel(Model $model)
+    {
+        return $this->query->escape(
+            $this->getForeignValueFromModel($model)
+        )->both();
+    }
+
+    /**
+     * Get the relation parents foreign value.
+     *
+     * @return string
+     */
+    protected function getParentForeignValue()
+    {
+        return $this->getForeignValueFromModel($this->parent);
+    }
+
+    /**
+     * Get the foreign key value from the model.
+     *
+     * @param Model $model
+     *
+     * @return string
+     */
+    protected function getForeignValueFromModel(Model $model)
+    {
+        return $this->foreignKeyIsDistinguishedName()
+                ? $model->getDn()
+                : $this->getFirstAttributeValue($model, $this->foreignKey);
+    }
+
+    /**
+     * Get the first attribute value from the model.
+     *
+     * @param Model  $model
+     * @param string $attribute
+     *
+     * @return string|null
+     */
+    protected function getFirstAttributeValue(Model $model, $attribute)
+    {
+        return $model->getFirstAttribute($attribute);
+    }
+
+    /**
+     * Transforms the results by converting the models into their related.
+     *
+     * @param Collection $results
+     *
+     * @return Collection
+     */
+    protected function transformResults(Collection $results)
+    {
+        $related = [];
+
+        foreach ($this->related as $relation) {
+            $related[$relation] = $relation::$objectClasses;
+        }
+
+        return $results->transform(function (Model $entry) use ($related) {
+            $model = $this->determineModelFromRelated($entry, $related);
+
+            return class_exists($model) ? $entry->convert(new $model()) : $entry;
+        });
+    }
+
+    /**
+     * Determines if the foreign key is a distinguished name.
+     *
+     * @return bool
+     */
+    protected function foreignKeyIsDistinguishedName()
+    {
+        return in_array($this->foreignKey, ['dn', 'distinguishedname']);
+    }
+
+    /**
+     * Determines the model from the given relations.
+     *
+     * @param Model $model
+     * @param array $related
+     *
+     * @return string|bool
+     */
+    protected function determineModelFromRelated(Model $model, array $related)
+    {
+        // We must normalize all the related models object class
+        // names to the same case so we are able to properly
+        // determine the owning model from search results.
+        return array_search(
+            $this->normalizeObjectClasses($model->getObjectClasses()),
+            array_map([$this, 'normalizeObjectClasses'], $related)
+        );
+    }
+
+    /**
+     * Sort and normalize the object classes.
+     *
+     * @param array $classes
+     *
+     * @return array
+     */
+    protected function normalizeObjectClasses($classes)
+    {
+        sort($classes);
+
+        return array_map('strtolower', $classes);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Scope.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Scope.php
new file mode 100644
index 0000000..321cae3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Scope.php
@@ -0,0 +1,18 @@
+<?php
+
+namespace LdapRecord\Models;
+
+use LdapRecord\Query\Model\Builder;
+
+interface Scope
+{
+    /**
+     * Apply the scope to the given query.
+     *
+     * @param Builder $query
+     * @param Model   $model
+     *
+     * @return void
+     */
+    public function apply(Builder $query, Model $model);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/ActiveDirectory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/ActiveDirectory.php
new file mode 100644
index 0000000..61d21ef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/ActiveDirectory.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace LdapRecord\Models\Types;
+
+interface ActiveDirectory extends TypeInterface
+{
+    /**
+     * Returns the models object SID key.
+     *
+     * @return string
+     */
+    public function getObjectSidKey();
+
+    /**
+     * Returns the model's hex object SID.
+     *
+     * @see https://msdn.microsoft.com/en-us/library/ms679024(v=vs.85).aspx
+     *
+     * @return string
+     */
+    public function getObjectSid();
+
+    /**
+     * Returns the model's SID.
+     *
+     * @return string|null
+     */
+    public function getConvertedSid();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/FreeIPA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/FreeIPA.php
new file mode 100644
index 0000000..6831318
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/FreeIPA.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Types;
+
+interface FreeIPA extends TypeInterface
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/OpenLDAP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/OpenLDAP.php
new file mode 100644
index 0000000..e63076e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/OpenLDAP.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Types;
+
+interface OpenLDAP extends TypeInterface
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/TypeInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/TypeInterface.php
new file mode 100644
index 0000000..8a45f32
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Models/Types/TypeInterface.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Models\Types;
+
+interface TypeInterface
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/ArrayCacheStore.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/ArrayCacheStore.php
new file mode 100644
index 0000000..d7480a7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/ArrayCacheStore.php
@@ -0,0 +1,142 @@
+<?php
+
+namespace LdapRecord\Query;
+
+use Psr\SimpleCache\CacheInterface;
+
+class ArrayCacheStore implements CacheInterface
+{
+    use InteractsWithTime;
+
+    /**
+     * An array of stored values.
+     *
+     * @var array
+     */
+    protected $storage = [];
+
+    /**
+     * @inheritdoc
+     */
+    public function get($key, $default = null)
+    {
+        if (! isset($this->storage[$key])) {
+            return $default;
+        }
+
+        $item = $this->storage[$key];
+
+        $expiresAt = $item['expiresAt'] ?? 0;
+
+        if ($expiresAt !== 0 && $this->currentTime() > $expiresAt) {
+            $this->delete($key);
+
+            return $default;
+        }
+
+        return $item['value'];
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function set($key, $value, $ttl = null)
+    {
+        $this->storage[$key] = [
+            'value' => $value,
+            'expiresAt' => $this->calculateExpiration($ttl),
+        ];
+
+        return true;
+    }
+
+    /**
+     * Get the expiration time of the key.
+     *
+     * @param int $seconds
+     *
+     * @return int
+     */
+    protected function calculateExpiration($seconds)
+    {
+        return $this->toTimestamp($seconds);
+    }
+
+    /**
+     * Get the UNIX timestamp for the given number of seconds.
+     *
+     * @param int $seconds
+     *
+     * @return int
+     */
+    protected function toTimestamp($seconds)
+    {
+        return $seconds > 0 ? $this->availableAt($seconds) : 0;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function delete($key)
+    {
+        unset($this->storage[$key]);
+
+        return true;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function clear()
+    {
+        $this->storage = [];
+
+        return true;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getMultiple($keys, $default = null)
+    {
+        $values = [];
+
+        foreach ($keys as $key) {
+            $values[$key] = $this->get($key, $default);
+        }
+
+        return $values;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function setMultiple($values, $ttl = null)
+    {
+        foreach ($values as $key => $value) {
+            $this->set($key, $value, $ttl);
+        }
+
+        return true;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function deleteMultiple($keys)
+    {
+        foreach ($keys as $key) {
+            $this->delete($key);
+        }
+
+        return true;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function has($key)
+    {
+        return isset($this->storage[$key]);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Builder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Builder.php
new file mode 100644
index 0000000..c75afa2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Builder.php
@@ -0,0 +1,1903 @@
+<?php
+
+namespace LdapRecord\Query;
+
+use BadMethodCallException;
+use Closure;
+use DateTimeInterface;
+use InvalidArgumentException;
+use LdapRecord\Connection;
+use LdapRecord\Container;
+use LdapRecord\EscapesValues;
+use LdapRecord\LdapInterface;
+use LdapRecord\LdapRecordException;
+use LdapRecord\Models\Model;
+use LdapRecord\Query\Events\QueryExecuted;
+use LdapRecord\Query\Model\Builder as ModelBuilder;
+use LdapRecord\Query\Pagination\LazyPaginator;
+use LdapRecord\Query\Pagination\Paginator;
+use LdapRecord\Support\Arr;
+use LdapRecord\Utilities;
+
+class Builder
+{
+    use EscapesValues;
+
+    /**
+     * The selected columns to retrieve on the query.
+     *
+     * @var array
+     */
+    public $columns;
+
+    /**
+     * The query filters.
+     *
+     * @var array
+     */
+    public $filters = [
+        'and' => [],
+        'or' => [],
+        'raw' => [],
+    ];
+
+    /**
+     * The LDAP server controls to be sent.
+     *
+     * @var array
+     */
+    public $controls = [];
+
+    /**
+     * The size limit of the query.
+     *
+     * @var int
+     */
+    public $limit = 0;
+
+    /**
+     * Determines whether the current query is paginated.
+     *
+     * @var bool
+     */
+    public $paginated = false;
+
+    /**
+     * The distinguished name to perform searches upon.
+     *
+     * @var string|null
+     */
+    protected $dn;
+
+    /**
+     * The base distinguished name to perform searches inside.
+     *
+     * @var string|null
+     */
+    protected $baseDn;
+
+    /**
+     * The default query type.
+     *
+     * @var string
+     */
+    protected $type = 'search';
+
+    /**
+     * Determines whether the query is nested.
+     *
+     * @var bool
+     */
+    protected $nested = false;
+
+    /**
+     * Determines whether the query should be cached.
+     *
+     * @var bool
+     */
+    protected $caching = false;
+
+    /**
+     * How long the query should be cached until.
+     *
+     * @var DateTimeInterface|null
+     */
+    protected $cacheUntil = null;
+
+    /**
+     * Determines whether the query cache must be flushed.
+     *
+     * @var bool
+     */
+    protected $flushCache = false;
+
+    /**
+     * The current connection instance.
+     *
+     * @var Connection
+     */
+    protected $connection;
+
+    /**
+     * The current grammar instance.
+     *
+     * @var Grammar
+     */
+    protected $grammar;
+
+    /**
+     * The current cache instance.
+     *
+     * @var Cache|null
+     */
+    protected $cache;
+
+    /**
+     * Constructor.
+     *
+     * @param Connection $connection
+     */
+    public function __construct(Connection $connection)
+    {
+        $this->connection = $connection;
+        $this->grammar = new Grammar();
+    }
+
+    /**
+     * Set the current connection.
+     *
+     * @param Connection $connection
+     *
+     * @return $this
+     */
+    public function setConnection(Connection $connection)
+    {
+        $this->connection = $connection;
+
+        return $this;
+    }
+
+    /**
+     * Set the current filter grammar.
+     *
+     * @param Grammar $grammar
+     *
+     * @return $this
+     */
+    public function setGrammar(Grammar $grammar)
+    {
+        $this->grammar = $grammar;
+
+        return $this;
+    }
+
+    /**
+     * Set the cache to store query results.
+     *
+     * @param Cache|null $cache
+     *
+     * @return $this
+     */
+    public function setCache(Cache $cache = null)
+    {
+        $this->cache = $cache;
+
+        return $this;
+    }
+
+    /**
+     * Returns a new Query Builder instance.
+     *
+     * @param string $baseDn
+     *
+     * @return $this
+     */
+    public function newInstance($baseDn = null)
+    {
+        // We'll set the base DN of the new Builder so
+        // developers don't need to do this manually.
+        $dn = is_null($baseDn) ? $this->getDn() : $baseDn;
+
+        return (new static($this->connection))->setDn($dn);
+    }
+
+    /**
+     * Returns a new nested Query Builder instance.
+     *
+     * @param Closure|null $closure
+     *
+     * @return $this
+     */
+    public function newNestedInstance(Closure $closure = null)
+    {
+        $query = $this->newInstance()->nested();
+
+        if ($closure) {
+            $closure($query);
+        }
+
+        return $query;
+    }
+
+    /**
+     * Executes the LDAP query.
+     *
+     * @param string|array $columns
+     *
+     * @return Collection|array
+     */
+    public function get($columns = ['*'])
+    {
+        return $this->onceWithColumns(Arr::wrap($columns), function () {
+            return $this->query($this->getQuery());
+        });
+    }
+
+    /**
+     * Execute the given callback while selecting the given columns.
+     *
+     * After running the callback, the columns are reset to the original value.
+     *
+     * @param array    $columns
+     * @param callable $callback
+     *
+     * @return mixed
+     */
+    protected function onceWithColumns($columns, $callback)
+    {
+        $original = $this->columns;
+
+        if (is_null($original)) {
+            $this->columns = $columns;
+        }
+
+        $result = $callback();
+
+        $this->columns = $original;
+
+        return $result;
+    }
+
+    /**
+     * Compiles and returns the current query string.
+     *
+     * @return string
+     */
+    public function getQuery()
+    {
+        // We need to ensure we have at least one filter, as
+        // no query results will be returned otherwise.
+        if (count(array_filter($this->filters)) === 0) {
+            $this->whereHas('objectclass');
+        }
+
+        return $this->grammar->compile($this);
+    }
+
+    /**
+     * Returns the unescaped query.
+     *
+     * @return string
+     */
+    public function getUnescapedQuery()
+    {
+        return Utilities::unescape($this->getQuery());
+    }
+
+    /**
+     * Returns the current Grammar instance.
+     *
+     * @return Grammar
+     */
+    public function getGrammar()
+    {
+        return $this->grammar;
+    }
+
+    /**
+     * Returns the current Cache instance.
+     *
+     * @return Cache|null
+     */
+    public function getCache()
+    {
+        return $this->cache;
+    }
+
+    /**
+     * Returns the current Connection instance.
+     *
+     * @return Connection
+     */
+    public function getConnection()
+    {
+        return $this->connection;
+    }
+
+    /**
+     * Returns the query type.
+     *
+     * @return string
+     */
+    public function getType()
+    {
+        return $this->type;
+    }
+
+    /**
+     * Set the base distinguished name of the query.
+     *
+     * @param Model|string $dn
+     *
+     * @return $this
+     */
+    public function setBaseDn($dn)
+    {
+        $this->baseDn = $this->substituteBaseInDn($dn);
+
+        return $this;
+    }
+
+    /**
+     * Get the base distinguished name of the query.
+     *
+     * @return string|null
+     */
+    public function getBaseDn()
+    {
+        return $this->baseDn;
+    }
+
+    /**
+     * Get the distinguished name of the query.
+     *
+     * @return string
+     */
+    public function getDn()
+    {
+        return $this->dn;
+    }
+
+    /**
+     * Set the distinguished name for the query.
+     *
+     * @param string|Model|null $dn
+     *
+     * @return $this
+     */
+    public function setDn($dn = null)
+    {
+        $this->dn = $this->substituteBaseInDn($dn);
+
+        return $this;
+    }
+
+    /**
+     * Substitute the base DN string template for the current base.
+     *
+     * @param Model|string $dn
+     *
+     * @return string
+     */
+    protected function substituteBaseInDn($dn)
+    {
+        return str_replace(
+            '{base}',
+            $this->baseDn,
+            $dn instanceof Model ? $dn->getDn() : $dn
+        );
+    }
+
+    /**
+     * Alias for setting the distinguished name for the query.
+     *
+     * @param string|Model|null $dn
+     *
+     * @return $this
+     */
+    public function in($dn = null)
+    {
+        return $this->setDn($dn);
+    }
+
+    /**
+     * Set the size limit of the current query.
+     *
+     * @param int $limit
+     *
+     * @return $this
+     */
+    public function limit($limit = 0)
+    {
+        $this->limit = $limit;
+
+        return $this;
+    }
+
+    /**
+     * Returns a new query for the given model.
+     *
+     * @param Model $model
+     *
+     * @return ModelBuilder
+     */
+    public function model(Model $model)
+    {
+        return $model->newQueryBuilder($this->connection)
+            ->setCache($this->connection->getCache())
+            ->setBaseDn($this->baseDn)
+            ->setModel($model);
+    }
+
+    /**
+     * Performs the specified query on the current LDAP connection.
+     *
+     * @param string $query
+     *
+     * @return Collection|array
+     */
+    public function query($query)
+    {
+        $start = microtime(true);
+
+        // Here we will create the execution callback. This allows us
+        // to only execute an LDAP request if caching is disabled
+        // or if no cache of the given query exists yet.
+        $callback = function () use ($query) {
+            return $this->parse($this->run($query));
+        };
+
+        $results = $this->getCachedResponse($query, $callback);
+
+        $this->logQuery($this, $this->type, $this->getElapsedTime($start));
+
+        return $this->process($results);
+    }
+
+    /**
+     * Paginates the current LDAP query.
+     *
+     * @param int  $pageSize
+     * @param bool $isCritical
+     *
+     * @return Collection|array
+     */
+    public function paginate($pageSize = 1000, $isCritical = false)
+    {
+        $this->paginated = true;
+
+        $start = microtime(true);
+
+        $query = $this->getQuery();
+
+        // Here we will create the pagination callback. This allows us
+        // to only execute an LDAP request if caching is disabled
+        // or if no cache of the given query exists yet.
+        $callback = function () use ($query, $pageSize, $isCritical) {
+            return $this->runPaginate($query, $pageSize, $isCritical);
+        };
+
+        $pages = $this->getCachedResponse($query, $callback);
+
+        $this->logQuery($this, 'paginate', $this->getElapsedTime($start));
+
+        return $this->process($pages);
+    }
+
+    /**
+     * Runs the paginate operation with the given filter.
+     *
+     * @param string $filter
+     * @param int    $perPage
+     * @param bool   $isCritical
+     *
+     * @return array
+     */
+    protected function runPaginate($filter, $perPage, $isCritical)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($filter, $perPage, $isCritical) {
+            return (new Paginator($this, $filter, $perPage, $isCritical))->execute($ldap);
+        });
+    }
+
+    /**
+     * Chunk the results of a paginated LDAP query.
+     *
+     * @param int     $pageSize
+     * @param Closure $callback
+     * @param bool    $isCritical
+     *
+     * @return void
+     */
+    public function chunk($pageSize, Closure $callback, $isCritical = false)
+    {
+        $start = microtime(true);
+
+        $query = $this->getQuery();
+
+        foreach ($this->runChunk($query, $pageSize, $isCritical) as $chunk) {
+            $callback($this->process($chunk));
+        }
+
+        $this->logQuery($this, 'chunk', $this->getElapsedTime($start));
+    }
+
+    /**
+     * Runs the chunk operation with the given filter.
+     *
+     * @param string $filter
+     * @param int    $perPage
+     * @param bool   $isCritical
+     *
+     * @return array
+     */
+    protected function runChunk($filter, $perPage, $isCritical)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($filter, $perPage, $isCritical) {
+            return (new LazyPaginator($this, $filter, $perPage, $isCritical))->execute($ldap);
+        });
+    }
+
+    /**
+     * Processes and converts the given LDAP results into models.
+     *
+     * @param array $results
+     *
+     * @return array
+     */
+    protected function process(array $results)
+    {
+        unset($results['count']);
+
+        return $this->paginated ? $this->flattenPages($results) : $results;
+    }
+
+    /**
+     * Flattens LDAP paged results into a single array.
+     *
+     * @param array $pages
+     *
+     * @return array
+     */
+    protected function flattenPages(array $pages)
+    {
+        $records = [];
+
+        foreach ($pages as $page) {
+            unset($page['count']);
+
+            $records = array_merge($records, $page);
+        }
+
+        return $records;
+    }
+
+    /**
+     * Get the cached response or execute and cache the callback value.
+     *
+     * @param string  $query
+     * @param Closure $callback
+     *
+     * @return mixed
+     */
+    protected function getCachedResponse($query, Closure $callback)
+    {
+        // If caching is enabled and we have a cache instance available,
+        // we will try to retrieve the cached results instead.
+        if ($this->caching && $this->cache) {
+            $key = $this->getCacheKey($query);
+
+            if ($this->flushCache) {
+                $this->cache->delete($key);
+            }
+
+            return $this->cache->remember($key, $this->cacheUntil, $callback);
+        }
+
+        // Otherwise, we will simply execute the callback.
+        return $callback();
+    }
+
+    /**
+     * Runs the query operation with the given filter.
+     *
+     * @param string $filter
+     *
+     * @return resource
+     */
+    public function run($filter)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($filter) {
+            // We will avoid setting the controls during any pagination
+            // requests as it will clear the cookie we need to send
+            // to the server upon retrieving every page.
+            if (! $this->paginated) {
+                // Before running the query, we will set the LDAP server controls. This
+                // allows the controls to be automatically reset upon each new query
+                // that is conducted on the same connection during each request.
+                $ldap->setOption(LDAP_OPT_SERVER_CONTROLS, $this->controls);
+            }
+
+            return $ldap->{$this->type}(
+                $this->dn ?? $this->baseDn,
+                $filter,
+                $this->getSelects(),
+                $onlyAttributes = false,
+                $this->limit
+            );
+        });
+    }
+
+    /**
+     * Parses the given LDAP resource by retrieving its entries.
+     *
+     * @param resource $resource
+     *
+     * @return array
+     */
+    public function parse($resource)
+    {
+        if (! $resource) {
+            return [];
+        }
+
+        return $this->connection->run(function (LdapInterface $ldap) use ($resource) {
+            $entries = $ldap->getEntries($resource);
+
+            // Free up memory.
+            if (is_resource($resource)) {
+                $ldap->freeResult($resource);
+            }
+
+            return $entries;
+        });
+    }
+
+    /**
+     * Returns the cache key.
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    protected function getCacheKey($query)
+    {
+        $host = $this->connection->getLdapConnection()->getHost();
+
+        $key = $host
+            .$this->type
+            .$this->getDn()
+            .$query
+            .implode($this->getSelects())
+            .$this->limit
+            .$this->paginated;
+
+        return md5($key);
+    }
+
+    /**
+     * Returns the first entry in a search result.
+     *
+     * @param array|string $columns
+     *
+     * @return Model|null
+     */
+    public function first($columns = ['*'])
+    {
+        return Arr::get($this->limit(1)->get($columns), 0);
+    }
+
+    /**
+     * Returns the first entry in a search result.
+     *
+     * If no entry is found, an exception is thrown.
+     *
+     * @param array|string $columns
+     *
+     * @throws ObjectNotFoundException
+     *
+     * @return Model|static
+     */
+    public function firstOrFail($columns = ['*'])
+    {
+        if (! $record = $this->first($columns)) {
+            $this->throwNotFoundException($this->getUnescapedQuery(), $this->dn);
+        }
+
+        return $record;
+    }
+
+    /**
+     * Throws a not found exception.
+     *
+     * @param string $query
+     * @param string $dn
+     *
+     * @throws ObjectNotFoundException
+     */
+    protected function throwNotFoundException($query, $dn)
+    {
+        throw ObjectNotFoundException::forQuery($query, $dn);
+    }
+
+    /**
+     * Finds a record by the specified attribute and value.
+     *
+     * @param string       $attribute
+     * @param string       $value
+     * @param array|string $columns
+     *
+     * @return Model|static|null
+     */
+    public function findBy($attribute, $value, $columns = ['*'])
+    {
+        try {
+            return $this->findByOrFail($attribute, $value, $columns);
+        } catch (ObjectNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by the specified attribute and value.
+     *
+     * If no record is found an exception is thrown.
+     *
+     * @param string       $attribute
+     * @param string       $value
+     * @param array|string $columns
+     *
+     * @throws ObjectNotFoundException
+     *
+     * @return Model
+     */
+    public function findByOrFail($attribute, $value, $columns = ['*'])
+    {
+        return $this->whereEquals($attribute, $value)->firstOrFail($columns);
+    }
+
+    /**
+     * Find many records by distinguished name.
+     *
+     * @param array $dns
+     * @param array $columns
+     *
+     * @return array|Collection
+     */
+    public function findMany($dns, $columns = ['*'])
+    {
+        if (empty($dns)) {
+            return $this->process([]);
+        }
+
+        $objects = [];
+
+        foreach ($dns as $dn) {
+            if (! is_null($object = $this->find($dn, $columns))) {
+                $objects[] = $object;
+            }
+        }
+
+        return $this->process($objects);
+    }
+
+    /**
+     * Finds many records by the specified attribute.
+     *
+     * @param string $attribute
+     * @param array  $values
+     * @param array  $columns
+     *
+     * @return Collection
+     */
+    public function findManyBy($attribute, array $values = [], $columns = ['*'])
+    {
+        $query = $this->select($columns);
+
+        foreach ($values as $value) {
+            $query->orWhere([$attribute => $value]);
+        }
+
+        return $query->get();
+    }
+
+    /**
+     * Finds a record by its distinguished name.
+     *
+     * @param string|array $dn
+     * @param array|string $columns
+     *
+     * @return Model|static|array|Collection|null
+     */
+    public function find($dn, $columns = ['*'])
+    {
+        if (is_array($dn)) {
+            return $this->findMany($dn, $columns);
+        }
+
+        try {
+            return $this->findOrFail($dn, $columns);
+        } catch (ObjectNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by its distinguished name.
+     *
+     * Fails upon no records returned.
+     *
+     * @param string       $dn
+     * @param array|string $columns
+     *
+     * @throws ObjectNotFoundException
+     *
+     * @return Model|static
+     */
+    public function findOrFail($dn, $columns = ['*'])
+    {
+        return $this->setDn($dn)
+            ->read()
+            ->whereHas('objectclass')
+            ->firstOrFail($columns);
+    }
+
+    /**
+     * Adds the inserted fields to query on the current LDAP connection.
+     *
+     * @param array|string $columns
+     *
+     * @return $this
+     */
+    public function select($columns = ['*'])
+    {
+        $columns = is_array($columns) ? $columns : func_get_args();
+
+        if (! empty($columns)) {
+            $this->columns = $columns;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Add a new select column to the query.
+     *
+     * @param array|mixed $column
+     *
+     * @return $this
+     */
+    public function addSelect($column)
+    {
+        $column = is_array($column) ? $column : func_get_args();
+
+        $this->columns = array_merge((array) $this->columns, $column);
+
+        return $this;
+    }
+
+    /**
+     * Adds a raw filter to the current query.
+     *
+     * @param array|string $filters
+     *
+     * @return $this
+     */
+    public function rawFilter($filters = [])
+    {
+        $filters = is_array($filters) ? $filters : func_get_args();
+
+        foreach ($filters as $filter) {
+            $this->filters['raw'][] = $filter;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Adds a nested 'and' filter to the current query.
+     *
+     * @param Closure $closure
+     *
+     * @return $this
+     */
+    public function andFilter(Closure $closure)
+    {
+        $query = $this->newNestedInstance($closure);
+
+        return $this->rawFilter(
+            $this->grammar->compileAnd($query->getQuery())
+        );
+    }
+
+    /**
+     * Adds a nested 'or' filter to the current query.
+     *
+     * @param Closure $closure
+     *
+     * @return $this
+     */
+    public function orFilter(Closure $closure)
+    {
+        $query = $this->newNestedInstance($closure);
+
+        return $this->rawFilter(
+            $this->grammar->compileOr($query->getQuery())
+        );
+    }
+
+    /**
+     * Adds a nested 'not' filter to the current query.
+     *
+     * @param Closure $closure
+     *
+     * @return $this
+     */
+    public function notFilter(Closure $closure)
+    {
+        $query = $this->newNestedInstance($closure);
+
+        return $this->rawFilter(
+            $this->grammar->compileNot($query->getQuery())
+        );
+    }
+
+    /**
+     * Adds a where clause to the current query.
+     *
+     * @param string|array $field
+     * @param string       $operator
+     * @param string       $value
+     * @param string       $boolean
+     * @param bool         $raw
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function where($field, $operator = null, $value = null, $boolean = 'and', $raw = false)
+    {
+        if (is_array($field)) {
+            // If the field is an array, we will assume we have been
+            // provided with an array of key-value pairs and can
+            // add them each as their own seperate where clause.
+            return $this->addArrayOfWheres($field, $boolean, $raw);
+        }
+
+        // If we have been provided with two arguments not a "has" or
+        // "not has" operator, we'll assume the developer is creating
+        // an "equals" clause and set the proper operator in place.
+        if (func_num_args() === 2 && ! in_array($operator, ['*', '!*'])) {
+            [$value, $operator] = [$operator, '='];
+        }
+
+        if (! in_array($operator, $this->grammar->getOperators())) {
+            throw new InvalidArgumentException("Invalid LDAP filter operator [$operator]");
+        }
+
+        // We'll escape the value if raw isn't requested.
+        $value = $this->prepareWhereValue($field, $value, $raw);
+
+        $field = $this->escape($field)->both()->get();
+
+        $this->addFilter($boolean, compact('field', 'operator', 'value'));
+
+        return $this;
+    }
+
+    /**
+     * Prepare the value for being queried.
+     *
+     * @param string $field
+     * @param string $value
+     * @param bool   $raw
+     *
+     * @return string
+     */
+    protected function prepareWhereValue($field, $value, $raw = false)
+    {
+        return $raw ? $value : $this->escape($value);
+    }
+
+    /**
+     * Adds a raw where clause to the current query.
+     *
+     * Values given to this method are not escaped.
+     *
+     * @param string|array $field
+     * @param string       $operator
+     * @param string       $value
+     *
+     * @return $this
+     */
+    public function whereRaw($field, $operator = null, $value = null)
+    {
+        return $this->where($field, $operator, $value, 'and', true);
+    }
+
+    /**
+     * Adds a 'where equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereEquals($field, $value)
+    {
+        return $this->where($field, '=', $value);
+    }
+
+    /**
+     * Adds a 'where not equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereNotEquals($field, $value)
+    {
+        return $this->where($field, '!', $value);
+    }
+
+    /**
+     * Adds a 'where approximately equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereApproximatelyEquals($field, $value)
+    {
+        return $this->where($field, '~=', $value);
+    }
+
+    /**
+     * Adds a 'where has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return $this
+     */
+    public function whereHas($field)
+    {
+        return $this->where($field, '*');
+    }
+
+    /**
+     * Adds a 'where not has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return $this
+     */
+    public function whereNotHas($field)
+    {
+        return $this->where($field, '!*');
+    }
+
+    /**
+     * Adds a 'where contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereContains($field, $value)
+    {
+        return $this->where($field, 'contains', $value);
+    }
+
+    /**
+     * Adds a 'where contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereNotContains($field, $value)
+    {
+        return $this->where($field, 'not_contains', $value);
+    }
+
+    /**
+     * Query for entries that match any of the values provided for the given field.
+     *
+     * @param string $field
+     * @param array  $values
+     *
+     * @return $this
+     */
+    public function whereIn($field, array $values)
+    {
+        return $this->orFilter(function (self $query) use ($field, $values) {
+            foreach ($values as $value) {
+                $query->whereEquals($field, $value);
+            }
+        });
+    }
+
+    /**
+     * Adds a 'between' clause to the current query.
+     *
+     * @param string $field
+     * @param array  $values
+     *
+     * @return $this
+     */
+    public function whereBetween($field, array $values)
+    {
+        return $this->where([
+            [$field, '>=', $values[0]],
+            [$field, '<=', $values[1]],
+        ]);
+    }
+
+    /**
+     * Adds a 'where starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereStartsWith($field, $value)
+    {
+        return $this->where($field, 'starts_with', $value);
+    }
+
+    /**
+     * Adds a 'where *not* starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereNotStartsWith($field, $value)
+    {
+        return $this->where($field, 'not_starts_with', $value);
+    }
+
+    /**
+     * Adds a 'where ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereEndsWith($field, $value)
+    {
+        return $this->where($field, 'ends_with', $value);
+    }
+
+    /**
+     * Adds a 'where *not* ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function whereNotEndsWith($field, $value)
+    {
+        return $this->where($field, 'not_ends_with', $value);
+    }
+
+    /**
+     * Only include deleted models in the results.
+     *
+     * @return $this
+     */
+    public function whereDeleted()
+    {
+        return $this->withDeleted()->whereEquals('isDeleted', 'TRUE');
+    }
+
+    /**
+     * Set the LDAP control option to include deleted LDAP models.
+     *
+     * @return $this
+     */
+    public function withDeleted()
+    {
+        return $this->addControl(LdapInterface::OID_SERVER_SHOW_DELETED, $isCritical = true);
+    }
+
+    /**
+     * Add a server control to the query.
+     *
+     * @param string $oid
+     * @param bool   $isCritical
+     * @param mixed  $value
+     *
+     * @return $this
+     */
+    public function addControl($oid, $isCritical = false, $value = null)
+    {
+        $this->controls[$oid] = compact('oid', 'isCritical', 'value');
+
+        return $this;
+    }
+
+    /**
+     * Determine if the server control exists on the query.
+     *
+     * @param string $oid
+     *
+     * @return bool
+     */
+    public function hasControl($oid)
+    {
+        return array_key_exists($oid, $this->controls);
+    }
+
+    /**
+     * Adds an 'or where' clause to the current query.
+     *
+     * @param array|string $field
+     * @param string|null  $operator
+     * @param string|null  $value
+     *
+     * @return $this
+     */
+    public function orWhere($field, $operator = null, $value = null)
+    {
+        return $this->where($field, $operator, $value, 'or');
+    }
+
+    /**
+     * Adds a raw or where clause to the current query.
+     *
+     * Values given to this method are not escaped.
+     *
+     * @param string $field
+     * @param string $operator
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereRaw($field, $operator = null, $value = null)
+    {
+        return $this->where($field, $operator, $value, 'or', true);
+    }
+
+    /**
+     * Adds an 'or where has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return $this
+     */
+    public function orWhereHas($field)
+    {
+        return $this->orWhere($field, '*');
+    }
+
+    /**
+     * Adds a 'where not has' clause to the current query.
+     *
+     * @param string $field
+     *
+     * @return $this
+     */
+    public function orWhereNotHas($field)
+    {
+        return $this->orWhere($field, '!*');
+    }
+
+    /**
+     * Adds an 'or where equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereEquals($field, $value)
+    {
+        return $this->orWhere($field, '=', $value);
+    }
+
+    /**
+     * Adds an 'or where not equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereNotEquals($field, $value)
+    {
+        return $this->orWhere($field, '!', $value);
+    }
+
+    /**
+     * Adds a 'or where approximately equals' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereApproximatelyEquals($field, $value)
+    {
+        return $this->orWhere($field, '~=', $value);
+    }
+
+    /**
+     * Adds an 'or where contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereContains($field, $value)
+    {
+        return $this->orWhere($field, 'contains', $value);
+    }
+
+    /**
+     * Adds an 'or where *not* contains' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereNotContains($field, $value)
+    {
+        return $this->orWhere($field, 'not_contains', $value);
+    }
+
+    /**
+     * Adds an 'or where starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereStartsWith($field, $value)
+    {
+        return $this->orWhere($field, 'starts_with', $value);
+    }
+
+    /**
+     * Adds an 'or where *not* starts with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereNotStartsWith($field, $value)
+    {
+        return $this->orWhere($field, 'not_starts_with', $value);
+    }
+
+    /**
+     * Adds an 'or where ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereEndsWith($field, $value)
+    {
+        return $this->orWhere($field, 'ends_with', $value);
+    }
+
+    /**
+     * Adds an 'or where *not* ends with' clause to the current query.
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return $this
+     */
+    public function orWhereNotEndsWith($field, $value)
+    {
+        return $this->orWhere($field, 'not_ends_with', $value);
+    }
+
+    /**
+     * Adds a filter binding onto the current query.
+     *
+     * @param string $type     The type of filter to add.
+     * @param array  $bindings The bindings of the filter.
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function addFilter($type, array $bindings)
+    {
+        if (! array_key_exists($type, $this->filters)) {
+            throw new InvalidArgumentException("Filter type: [$type] is invalid.");
+        }
+
+        // Each filter clause require key bindings to be set. We
+        // will validate this here to ensure all of them have
+        // been provided, or throw an exception otherwise.
+        if ($missing = $this->missingBindingKeys($bindings)) {
+            $keys = implode(', ', $missing);
+
+            throw new InvalidArgumentException("Invalid filter bindings. Missing: [$keys] keys.");
+        }
+
+        $this->filters[$type][] = $bindings;
+
+        return $this;
+    }
+
+    /**
+     * Extract any missing required binding keys.
+     *
+     * @param array $bindings
+     *
+     * @return array
+     */
+    protected function missingBindingKeys($bindings)
+    {
+        $required = array_flip(['field', 'operator', 'value']);
+
+        $existing = array_intersect_key($required, $bindings);
+
+        return array_keys(array_diff_key($required, $existing));
+    }
+
+    /**
+     * Get all the filters on the query.
+     *
+     * @return array
+     */
+    public function getFilters()
+    {
+        return $this->filters;
+    }
+
+    /**
+     * Clear the query filters.
+     *
+     * @return $this
+     */
+    public function clearFilters()
+    {
+        foreach (array_keys($this->filters) as $type) {
+            $this->filters[$type] = [];
+        }
+
+        return $this;
+    }
+
+    /**
+     * Determine if the query has attributes selected.
+     *
+     * @return bool
+     */
+    public function hasSelects()
+    {
+        return count($this->columns) > 0;
+    }
+
+    /**
+     * Get the attributes to select on the search.
+     *
+     * @return array
+     */
+    public function getSelects()
+    {
+        $selects = $this->columns ?? ['*'];
+
+        if (in_array('*', $selects)) {
+            return $selects;
+        }
+
+        if (in_array('objectclass', $selects)) {
+            return $selects;
+        }
+
+        // If the * character is not provided in the selected columns,
+        // we need to ensure we always select the object class, as
+        // this is used for constructing models properly.
+        $selects[] = 'objectclass';
+
+        return $selects;
+    }
+
+    /**
+     * Set the query to search on the base distinguished name.
+     *
+     * This will result in one record being returned.
+     *
+     * @return $this
+     */
+    public function read()
+    {
+        $this->type = 'read';
+
+        return $this;
+    }
+
+    /**
+     * Set the query to search one level on the base distinguished name.
+     *
+     * @return $this
+     */
+    public function listing()
+    {
+        $this->type = 'listing';
+
+        return $this;
+    }
+
+    /**
+     * Set the query to search the entire directory on the base distinguished name.
+     *
+     * @return $this
+     */
+    public function recursive()
+    {
+        $this->type = 'search';
+
+        return $this;
+    }
+
+    /**
+     * Whether to mark the current query as nested.
+     *
+     * @param bool $nested
+     *
+     * @return $this
+     */
+    public function nested($nested = true)
+    {
+        $this->nested = (bool) $nested;
+
+        return $this;
+    }
+
+    /**
+     * Enables caching on the current query until the given date.
+     *
+     * If flushing is enabled, the query cache will be flushed and then re-cached.
+     *
+     * @param DateTimeInterface $until When to expire the query cache.
+     * @param bool              $flush Whether to force-flush the query cache.
+     *
+     * @return $this
+     */
+    public function cache(DateTimeInterface $until = null, $flush = false)
+    {
+        $this->caching = true;
+        $this->cacheUntil = $until;
+        $this->flushCache = $flush;
+
+        return $this;
+    }
+
+    /**
+     * Determine if the query is nested.
+     *
+     * @return bool
+     */
+    public function isNested()
+    {
+        return $this->nested === true;
+    }
+
+    /**
+     * Determine whether the query is paginated.
+     *
+     * @return bool
+     */
+    public function isPaginated()
+    {
+        return $this->paginated;
+    }
+
+    /**
+     * Insert an entry into the directory.
+     *
+     * @param string $dn
+     * @param array  $attributes
+     *
+     * @throws LdapRecordException
+     *
+     * @return bool
+     */
+    public function insert($dn, array $attributes)
+    {
+        if (empty($dn)) {
+            throw new LdapRecordException('A new LDAP object must have a distinguished name (dn).');
+        }
+
+        if (! array_key_exists('objectclass', $attributes)) {
+            throw new LdapRecordException(
+                'A new LDAP object must contain at least one object class (objectclass) to be created.'
+            );
+        }
+
+        return $this->connection->run(function (LdapInterface $ldap) use ($dn, $attributes) {
+            return $ldap->add($dn, $attributes);
+        });
+    }
+
+    /**
+     * Create attributes on the entry in the directory.
+     *
+     * @param string $dn
+     * @param array  $attributes
+     *
+     * @return bool
+     */
+    public function insertAttributes($dn, array $attributes)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($dn, $attributes) {
+            return $ldap->modAdd($dn, $attributes);
+        });
+    }
+
+    /**
+     * Update the entry with the given modifications.
+     *
+     * @param string $dn
+     * @param array  $modifications
+     *
+     * @return bool
+     */
+    public function update($dn, array $modifications)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($dn, $modifications) {
+            return $ldap->modifyBatch($dn, $modifications);
+        });
+    }
+
+    /**
+     * Update an entries attribute in the directory.
+     *
+     * @param string $dn
+     * @param array  $attributes
+     *
+     * @return bool
+     */
+    public function updateAttributes($dn, array $attributes)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($dn, $attributes) {
+            return $ldap->modReplace($dn, $attributes);
+        });
+    }
+
+    /**
+     * Delete an entry from the directory.
+     *
+     * @param string $dn
+     *
+     * @return bool
+     */
+    public function delete($dn)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($dn) {
+            return $ldap->delete($dn);
+        });
+    }
+
+    /**
+     * Delete attributes on the entry in the directory.
+     *
+     * @param string $dn
+     * @param array  $attributes
+     *
+     * @return bool
+     */
+    public function deleteAttributes($dn, array $attributes)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($dn, $attributes) {
+            return $ldap->modDelete($dn, $attributes);
+        });
+    }
+
+    /**
+     * Rename an entry in the directory.
+     *
+     * @param string $dn
+     * @param string $rdn
+     * @param string $newParentDn
+     * @param bool   $deleteOldRdn
+     *
+     * @return bool
+     */
+    public function rename($dn, $rdn, $newParentDn, $deleteOldRdn = true)
+    {
+        return $this->connection->run(function (LdapInterface $ldap) use ($dn, $rdn, $newParentDn, $deleteOldRdn) {
+            return $ldap->rename($dn, $rdn, $newParentDn, $deleteOldRdn);
+        });
+    }
+
+    /**
+     * Handle dynamic method calls on the query builder.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @throws BadMethodCallException
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        // If the beginning of the method being called contains
+        // 'where', we will assume a dynamic 'where' clause is
+        // being performed and pass the parameters to it.
+        if (substr($method, 0, 5) === 'where') {
+            return $this->dynamicWhere($method, $parameters);
+        }
+
+        throw new BadMethodCallException(sprintf(
+            'Call to undefined method %s::%s()',
+            static::class,
+            $method
+        ));
+    }
+
+    /**
+     * Handles dynamic "where" clauses to the query.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return $this
+     */
+    public function dynamicWhere($method, $parameters)
+    {
+        $finder = substr($method, 5);
+
+        $segments = preg_split('/(And|Or)(?=[A-Z])/', $finder, -1, PREG_SPLIT_DELIM_CAPTURE);
+
+        // The connector variable will determine which connector will be used for the
+        // query condition. We will change it as we come across new boolean values
+        // in the dynamic method strings, which could contain a number of these.
+        $connector = 'and';
+
+        $index = 0;
+
+        foreach ($segments as $segment) {
+            // If the segment is not a boolean connector, we can assume it is a column's name
+            // and we will add it to the query as a new constraint as a where clause, then
+            // we can keep iterating through the dynamic method string's segments again.
+            if ($segment != 'And' && $segment != 'Or') {
+                $this->addDynamic($segment, $connector, $parameters, $index);
+
+                $index++;
+            }
+
+            // Otherwise, we will store the connector so we know how the next where clause we
+            // find in the query should be connected to the previous ones, meaning we will
+            // have the proper boolean connector to connect the next where clause found.
+            else {
+                $connector = $segment;
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Adds an array of wheres to the current query.
+     *
+     * @param array  $wheres
+     * @param string $boolean
+     * @param bool   $raw
+     *
+     * @return $this
+     */
+    protected function addArrayOfWheres($wheres, $boolean, $raw)
+    {
+        foreach ($wheres as $key => $value) {
+            if (is_numeric($key) && is_array($value)) {
+                // If the key is numeric and the value is an array, we'll
+                // assume we've been given an array with conditionals.
+                [$field, $condition] = $value;
+
+                // Since a value is optional for some conditionals, we will
+                // try and retrieve the third parameter from the array,
+                // but is entirely optional.
+                $value = Arr::get($value, 2);
+
+                $this->where($field, $condition, $value, $boolean);
+            } else {
+                // If the value is not an array, we will assume an equals clause.
+                $this->where($key, '=', $value, $boolean, $raw);
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Add a single dynamic where clause statement to the query.
+     *
+     * @param string $segment
+     * @param string $connector
+     * @param array  $parameters
+     * @param int    $index
+     *
+     * @return void
+     */
+    protected function addDynamic($segment, $connector, $parameters, $index)
+    {
+        // If no parameters were given to the dynamic where clause,
+        // we can assume a "has" attribute filter is being added.
+        if (count($parameters) === 0) {
+            $this->where(strtolower($segment), '*', null, strtolower($connector));
+        } else {
+            $this->where(strtolower($segment), '=', $parameters[$index], strtolower($connector));
+        }
+    }
+
+    /**
+     * Logs the given executed query information by firing its query event.
+     *
+     * @param Builder    $query
+     * @param string     $type
+     * @param null|float $time
+     *
+     * @return void
+     */
+    protected function logQuery($query, $type, $time = null)
+    {
+        $args = [$query, $time];
+
+        switch ($type) {
+            case 'listing':
+                $event = new Events\Listing(...$args);
+                break;
+            case 'read':
+                $event = new Events\Read(...$args);
+                break;
+            case 'chunk':
+                $event = new Events\Chunk(...$args);
+                break;
+            case 'paginate':
+                $event = new Events\Paginate(...$args);
+                break;
+            default:
+                $event = new Events\Search(...$args);
+                break;
+        }
+
+        $this->fireQueryEvent($event);
+    }
+
+    /**
+     * Fires the given query event.
+     *
+     * @param QueryExecuted $event
+     *
+     * @return void
+     */
+    protected function fireQueryEvent(QueryExecuted $event)
+    {
+        Container::getInstance()->getEventDispatcher()->fire($event);
+    }
+
+    /**
+     * Get the elapsed time since a given starting point.
+     *
+     * @param int $start
+     *
+     * @return float
+     */
+    protected function getElapsedTime($start)
+    {
+        return round((microtime(true) - $start) * 1000, 2);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Cache.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Cache.php
new file mode 100644
index 0000000..dfbf8cd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Cache.php
@@ -0,0 +1,106 @@
+<?php
+
+namespace LdapRecord\Query;
+
+use Closure;
+use DateInterval;
+use DateTimeInterface;
+use Psr\SimpleCache\CacheInterface;
+
+class Cache
+{
+    use InteractsWithTime;
+
+    /**
+     * The cache driver.
+     *
+     * @var CacheInterface
+     */
+    protected $store;
+
+    /**
+     * Constructor.
+     *
+     * @param CacheInterface $store
+     */
+    public function __construct(CacheInterface $store)
+    {
+        $this->store = $store;
+    }
+
+    /**
+     * Get an item from the cache.
+     *
+     * @param string $key
+     *
+     * @return mixed
+     */
+    public function get($key)
+    {
+        return $this->store->get($key);
+    }
+
+    /**
+     * Store an item in the cache.
+     *
+     * @param string                                  $key
+     * @param mixed                                   $value
+     * @param DateTimeInterface|DateInterval|int|null $ttl
+     *
+     * @return bool
+     */
+    public function put($key, $value, $ttl = null)
+    {
+        $seconds = $this->secondsUntil($ttl);
+
+        if ($seconds <= 0) {
+            return $this->delete($key);
+        }
+
+        return $this->store->set($key, $value, $seconds);
+    }
+
+    /**
+     * Get an item from the cache, or execute the given Closure and store the result.
+     *
+     * @param string                                  $key
+     * @param DateTimeInterface|DateInterval|int|null $ttl
+     * @param Closure                                 $callback
+     *
+     * @return mixed
+     */
+    public function remember($key, $ttl, Closure $callback)
+    {
+        $value = $this->get($key);
+
+        if (! is_null($value)) {
+            return $value;
+        }
+
+        $this->put($key, $value = $callback(), $ttl);
+
+        return $value;
+    }
+
+    /**
+     * Delete an item from the cache.
+     *
+     * @param string $key
+     *
+     * @return bool
+     */
+    public function delete($key)
+    {
+        return $this->store->delete($key);
+    }
+
+    /**
+     * Get the underlying cache store.
+     *
+     * @return CacheInterface
+     */
+    public function store()
+    {
+        return $this->store;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Collection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Collection.php
new file mode 100644
index 0000000..a02146d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Collection.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace LdapRecord\Query;
+
+use LdapRecord\Models\Model;
+use Tightenco\Collect\Support\Collection as BaseCollection;
+
+class Collection extends BaseCollection
+{
+    /**
+     * @inheritdoc
+     */
+    protected function valueRetriever($value)
+    {
+        if ($this->useAsCallable($value)) {
+            return $value;
+        }
+
+        return function ($item) use ($value) {
+            return $item instanceof Model
+                ? $item->getFirstAttribute($value)
+                : data_get($item, $value);
+        };
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Chunk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Chunk.php
new file mode 100644
index 0000000..3cd36d8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Chunk.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Query\Events;
+
+class Chunk extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Listing.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Listing.php
new file mode 100644
index 0000000..2b88ad9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Listing.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Query\Events;
+
+class Listing extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Paginate.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Paginate.php
new file mode 100644
index 0000000..6f8f262
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Paginate.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Query\Events;
+
+class Paginate extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/QueryExecuted.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/QueryExecuted.php
new file mode 100644
index 0000000..f13ddeb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/QueryExecuted.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace LdapRecord\Query\Events;
+
+use LdapRecord\Query\Builder;
+
+class QueryExecuted
+{
+    /**
+     * The LDAP filter that was used for the query.
+     *
+     * @var string
+     */
+    protected $query;
+
+    /**
+     * The number of milliseconds it took to execute the query.
+     *
+     * @var float
+     */
+    protected $time;
+
+    /**
+     * Constructor.
+     *
+     * @param Builder    $query
+     * @param null|float $time
+     */
+    public function __construct(Builder $query, $time = null)
+    {
+        $this->query = $query;
+        $this->time = $time;
+    }
+
+    /**
+     * Returns the LDAP filter that was used for the query.
+     *
+     * @return Builder
+     */
+    public function getQuery()
+    {
+        return $this->query;
+    }
+
+    /**
+     * Returns the number of milliseconds it took to execute the query.
+     *
+     * @return float|null
+     */
+    public function getTime()
+    {
+        return $this->time;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Read.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Read.php
new file mode 100644
index 0000000..510c4ca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Read.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Query\Events;
+
+class Read extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Search.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Search.php
new file mode 100644
index 0000000..5132316
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Events/Search.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace LdapRecord\Query\Events;
+
+class Search extends QueryExecuted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Grammar.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Grammar.php
new file mode 100644
index 0000000..3217173
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Grammar.php
@@ -0,0 +1,549 @@
+<?php
+
+namespace LdapRecord\Query;
+
+use UnexpectedValueException;
+
+class Grammar
+{
+    /**
+     * The query operators and their method names.
+     *
+     * @var array
+     */
+    public $operators = [
+        '*' => 'has',
+        '!*' => 'notHas',
+        '=' => 'equals',
+        '!' => 'doesNotEqual',
+        '!=' => 'doesNotEqual',
+        '>=' => 'greaterThanOrEquals',
+        '<=' => 'lessThanOrEquals',
+        '~=' => 'approximatelyEquals',
+        'starts_with' => 'startsWith',
+        'not_starts_with' => 'notStartsWith',
+        'ends_with' => 'endsWith',
+        'not_ends_with' => 'notEndsWith',
+        'contains' => 'contains',
+        'not_contains' => 'notContains',
+    ];
+
+    /**
+     * The query wrapper.
+     *
+     * @var string|null
+     */
+    protected $wrapper;
+
+    /**
+     * Get all the available operators.
+     *
+     * @return array
+     */
+    public function getOperators()
+    {
+        return array_keys($this->operators);
+    }
+
+    /**
+     * Wraps a query string in brackets.
+     *
+     * Produces: (query)
+     *
+     * @param string $query
+     * @param string $prefix
+     * @param string $suffix
+     *
+     * @return string
+     */
+    public function wrap($query, $prefix = '(', $suffix = ')')
+    {
+        return $prefix.$query.$suffix;
+    }
+
+    /**
+     * Compiles the Builder instance into an LDAP query string.
+     *
+     * @param Builder $query
+     *
+     * @return string
+     */
+    public function compile(Builder $query)
+    {
+        if ($this->queryMustBeWrapped($query)) {
+            $this->wrapper = 'and';
+        }
+
+        $filter = $this->compileRaws($query)
+            .$this->compileWheres($query)
+            .$this->compileOrWheres($query);
+
+        switch ($this->wrapper) {
+            case 'and':
+                return $this->compileAnd($filter);
+            case 'or':
+                return $this->compileOr($filter);
+            default:
+                return $filter;
+        }
+    }
+
+    /**
+     * Determine if the query must be wrapped in an encapsulating statement.
+     *
+     * @param Builder $query
+     *
+     * @return bool
+     */
+    protected function queryMustBeWrapped(Builder $query)
+    {
+        return ! $query->isNested() && $this->hasMultipleFilters($query);
+    }
+
+    /**
+     * Assembles all of the "raw" filters on the query.
+     *
+     * @param Builder $builder
+     *
+     * @return string
+     */
+    protected function compileRaws(Builder $builder)
+    {
+        return $this->concatenate($builder->filters['raw']);
+    }
+
+    /**
+     * Assembles all where clauses in the current wheres property.
+     *
+     * @param Builder $builder
+     * @param string  $type
+     *
+     * @return string
+     */
+    protected function compileWheres(Builder $builder, $type = 'and')
+    {
+        $filter = '';
+
+        foreach ($builder->filters[$type] as $where) {
+            $filter .= $this->compileWhere($where);
+        }
+
+        return $filter;
+    }
+
+    /**
+     * Assembles all or where clauses in the current orWheres property.
+     *
+     * @param Builder $query
+     *
+     * @return string
+     */
+    protected function compileOrWheres(Builder $query)
+    {
+        $filter = $this->compileWheres($query, 'or');
+
+        if (! $this->hasMultipleFilters($query)) {
+            return $filter;
+        }
+
+        // Here we will detect whether the entire query can be
+        // wrapped inside of an "or" statement by checking
+        // how many filter statements exist for each type.
+        if ($this->queryCanBeWrappedInSingleOrStatement($query)) {
+            $this->wrapper = 'or';
+        } else {
+            $filter = $this->compileOr($filter);
+        }
+
+        return $filter;
+    }
+
+    /**
+     * Determine if the query can be wrapped in a single or statement.
+     *
+     * @param Builder $query
+     *
+     * @return bool
+     */
+    protected function queryCanBeWrappedInSingleOrStatement(Builder $query)
+    {
+        return $this->has($query, 'or', '>=', 1) &&
+            $this->has($query, 'and', '<=', 1) &&
+            $this->has($query, 'raw', '=', 0);
+    }
+
+    /**
+     * Concatenates filters into a single string.
+     *
+     * @param array $bindings
+     *
+     * @return string
+     */
+    public function concatenate(array $bindings = [])
+    {
+        // Filter out empty query segments.
+        return implode(
+            array_filter($bindings, [$this, 'bindingValueIsNotEmpty'])
+        );
+    }
+
+    /**
+     * Determine if the binding value is not empty.
+     *
+     * @param string $value
+     *
+     * @return bool
+     */
+    protected function bindingValueIsNotEmpty($value)
+    {
+        return ! empty($value);
+    }
+
+    /**
+     * Determine if the query is using multiple filters.
+     *
+     * @param Builder $query
+     *
+     * @return bool
+     */
+    protected function hasMultipleFilters(Builder $query)
+    {
+        return $this->has($query, ['and', 'or', 'raw'], '>', 1);
+    }
+
+    /**
+     * Determine if the query contains the given filter statement type.
+     *
+     * @param Builder      $query
+     * @param string|array $type
+     * @param string       $operator
+     * @param int          $count
+     *
+     * @return bool
+     */
+    protected function has(Builder $query, $type, $operator = '>=', $count = 1)
+    {
+        $types = (array) $type;
+
+        $filters = 0;
+
+        foreach ($types as $type) {
+            $filters += count($query->filters[$type]);
+        }
+
+        switch ($operator) {
+            case '>':
+                return $filters > $count;
+            case '>=':
+                return $filters >= $count;
+            case '<':
+                return $filters < $count;
+            case '<=':
+                return $filters <= $count;
+            default:
+                return $filters == $count;
+        }
+    }
+
+    /**
+     * Returns a query string for equals.
+     *
+     * Produces: (field=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileEquals($field, $value)
+    {
+        return $this->wrap($field.'='.$value);
+    }
+
+    /**
+     * Returns a query string for does not equal.
+     *
+     * Produces: (!(field=value))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileDoesNotEqual($field, $value)
+    {
+        return $this->compileNot(
+            $this->compileEquals($field, $value)
+        );
+    }
+
+    /**
+     * Alias for does not equal operator (!=) operator.
+     *
+     * Produces: (!(field=value))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileDoesNotEqualAlias($field, $value)
+    {
+        return $this->compileDoesNotEqual($field, $value);
+    }
+
+    /**
+     * Returns a query string for greater than or equals.
+     *
+     * Produces: (field>=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileGreaterThanOrEquals($field, $value)
+    {
+        return $this->wrap("$field>=$value");
+    }
+
+    /**
+     * Returns a query string for less than or equals.
+     *
+     * Produces: (field<=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileLessThanOrEquals($field, $value)
+    {
+        return $this->wrap("$field<=$value");
+    }
+
+    /**
+     * Returns a query string for approximately equals.
+     *
+     * Produces: (field~=value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileApproximatelyEquals($field, $value)
+    {
+        return $this->wrap("$field~=$value");
+    }
+
+    /**
+     * Returns a query string for starts with.
+     *
+     * Produces: (field=value*)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileStartsWith($field, $value)
+    {
+        return $this->wrap("$field=$value*");
+    }
+
+    /**
+     * Returns a query string for does not start with.
+     *
+     * Produces: (!(field=*value))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileNotStartsWith($field, $value)
+    {
+        return $this->compileNot(
+            $this->compileStartsWith($field, $value)
+        );
+    }
+
+    /**
+     * Returns a query string for ends with.
+     *
+     * Produces: (field=*value)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileEndsWith($field, $value)
+    {
+        return $this->wrap("$field=*$value");
+    }
+
+    /**
+     * Returns a query string for does not end with.
+     *
+     * Produces: (!(field=value*))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileNotEndsWith($field, $value)
+    {
+        return $this->compileNot($this->compileEndsWith($field, $value));
+    }
+
+    /**
+     * Returns a query string for contains.
+     *
+     * Produces: (field=*value*)
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileContains($field, $value)
+    {
+        return $this->wrap("$field=*$value*");
+    }
+
+    /**
+     * Returns a query string for does not contain.
+     *
+     * Produces: (!(field=*value*))
+     *
+     * @param string $field
+     * @param string $value
+     *
+     * @return string
+     */
+    public function compileNotContains($field, $value)
+    {
+        return $this->compileNot(
+            $this->compileContains($field, $value)
+        );
+    }
+
+    /**
+     * Returns a query string for a where has.
+     *
+     * Produces: (field=*)
+     *
+     * @param string $field
+     *
+     * @return string
+     */
+    public function compileHas($field)
+    {
+        return $this->wrap("$field=*");
+    }
+
+    /**
+     * Returns a query string for a where does not have.
+     *
+     * Produces: (!(field=*))
+     *
+     * @param string $field
+     *
+     * @return string
+     */
+    public function compileNotHas($field)
+    {
+        return $this->compileNot(
+            $this->compileHas($field)
+        );
+    }
+
+    /**
+     * Wraps the inserted query inside an AND operator.
+     *
+     * Produces: (&query)
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    public function compileAnd($query)
+    {
+        return $query ? $this->wrap($query, '(&') : '';
+    }
+
+    /**
+     * Wraps the inserted query inside an OR operator.
+     *
+     * Produces: (|query)
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    public function compileOr($query)
+    {
+        return $query ? $this->wrap($query, '(|') : '';
+    }
+
+    /**
+     * Wraps the inserted query inside an NOT operator.
+     *
+     * @param string $query
+     *
+     * @return string
+     */
+    public function compileNot($query)
+    {
+        return $query ? $this->wrap($query, '(!') : '';
+    }
+
+    /**
+     * Assembles a single where query.
+     *
+     * @param array $where
+     *
+     * @throws UnexpectedValueException
+     *
+     * @return string
+     */
+    protected function compileWhere(array $where)
+    {
+        $method = $this->makeCompileMethod($where['operator']);
+
+        return $this->{$method}($where['field'], $where['value']);
+    }
+
+    /**
+     * Make the compile method name for the operator.
+     *
+     * @param string $operator
+     *
+     * @throws UnexpectedValueException
+     *
+     * @return string
+     */
+    protected function makeCompileMethod($operator)
+    {
+        if (! $this->operatorExists($operator)) {
+            throw new UnexpectedValueException("Invalid LDAP filter operator ['$operator']");
+        }
+
+        return 'compile'.ucfirst($this->operators[$operator]);
+    }
+
+    /**
+     * Determine if the operator exists.
+     *
+     * @param string $operator
+     *
+     * @return bool
+     */
+    protected function operatorExists($operator)
+    {
+        return array_key_exists($operator, $this->operators);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/InteractsWithTime.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/InteractsWithTime.php
new file mode 100644
index 0000000..1562ec0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/InteractsWithTime.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace LdapRecord\Query;
+
+use Carbon\Carbon;
+use DateInterval;
+use DateTimeInterface;
+
+/**
+ * @author Taylor Otwell
+ *
+ * @see https://laravel.com
+ */
+trait InteractsWithTime
+{
+    /**
+     * Get the number of seconds until the given DateTime.
+     *
+     * @param DateTimeInterface|DateInterval|int $delay
+     *
+     * @return int
+     */
+    protected function secondsUntil($delay)
+    {
+        $delay = $this->parseDateInterval($delay);
+
+        return $delay instanceof DateTimeInterface
+            ? max(0, $delay->getTimestamp() - $this->currentTime())
+            : (int) $delay;
+    }
+
+    /**
+     * Get the "available at" UNIX timestamp.
+     *
+     * @param DateTimeInterface|DateInterval|int $delay
+     *
+     * @return int
+     */
+    protected function availableAt($delay = 0)
+    {
+        $delay = $this->parseDateInterval($delay);
+
+        return $delay instanceof DateTimeInterface
+            ? $delay->getTimestamp()
+            : Carbon::now()->addRealSeconds($delay)->getTimestamp();
+    }
+
+    /**
+     * If the given value is an interval, convert it to a DateTime instance.
+     *
+     * @param DateTimeInterface|DateInterval|int $delay
+     *
+     * @return DateTimeInterface|int
+     */
+    protected function parseDateInterval($delay)
+    {
+        if ($delay instanceof DateInterval) {
+            $delay = Carbon::now()->add($delay);
+        }
+
+        return $delay;
+    }
+
+    /**
+     * Get the current system time as a UNIX timestamp.
+     *
+     * @return int
+     */
+    protected function currentTime()
+    {
+        return Carbon::now()->getTimestamp();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/ActiveDirectoryBuilder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/ActiveDirectoryBuilder.php
new file mode 100644
index 0000000..8923015
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/ActiveDirectoryBuilder.php
@@ -0,0 +1,247 @@
+<?php
+
+namespace LdapRecord\Query\Model;
+
+use Closure;
+use LdapRecord\LdapInterface;
+use LdapRecord\Models\Attributes\AccountControl;
+use LdapRecord\Models\ModelNotFoundException;
+
+class ActiveDirectoryBuilder extends Builder
+{
+    /**
+     * Finds a record by its Object SID.
+     *
+     * @param string       $sid
+     * @param array|string $columns
+     *
+     * @return \LdapRecord\Models\ActiveDirectory\Entry|static|null
+     */
+    public function findBySid($sid, $columns = [])
+    {
+        try {
+            return $this->findBySidOrFail($sid, $columns);
+        } catch (ModelNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by its Object SID.
+     *
+     * Fails upon no records returned.
+     *
+     * @param string       $sid
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return \LdapRecord\Models\ActiveDirectory\Entry|static
+     */
+    public function findBySidOrFail($sid, $columns = [])
+    {
+        return $this->findByOrFail('objectsid', $sid, $columns);
+    }
+
+    /**
+     * Adds a enabled filter to the current query.
+     *
+     * @return $this
+     */
+    public function whereEnabled()
+    {
+        return $this->notFilter(function ($query) {
+            return $query->whereDisabled();
+        });
+    }
+
+    /**
+     * Adds a disabled filter to the current query.
+     *
+     * @return $this
+     */
+    public function whereDisabled()
+    {
+        return $this->rawFilter(
+            (new AccountControl())->accountIsDisabled()->filter()
+        );
+    }
+
+    /**
+     * Adds a 'where member' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function whereMember($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->whereEquals($attribute, $dn);
+        }, 'member', $nested);
+    }
+
+    /**
+     * Adds an 'or where member' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function orWhereMember($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->orWhereEquals($attribute, $dn);
+        }, 'member', $nested);
+    }
+
+    /**
+     * Adds a 'where member of' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function whereMemberOf($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->whereEquals($attribute, $dn);
+        }, 'memberof', $nested);
+    }
+
+    /**
+     * Adds a 'where not member of' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function whereNotMemberof($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->whereNotEquals($attribute, $dn);
+        }, 'memberof', $nested);
+    }
+
+    /**
+     * Adds an 'or where member of' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function orWhereMemberOf($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->orWhereEquals($attribute, $dn);
+        }, 'memberof', $nested);
+    }
+
+    /**
+     * Adds a 'or where not member of' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function orWhereNotMemberof($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->orWhereNotEquals($attribute, $dn);
+        }, 'memberof', $nested);
+    }
+
+    /**
+     * Adds a 'where manager' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function whereManager($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->whereEquals($attribute, $dn);
+        }, 'manager', $nested);
+    }
+
+    /**
+     * Adds a 'where not manager' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function whereNotManager($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->whereNotEquals($attribute, $dn);
+        }, 'manager', $nested);
+    }
+
+    /**
+     * Adds an 'or where manager' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function orWhereManager($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->orWhereEquals($attribute, $dn);
+        }, 'manager', $nested);
+    }
+
+    /**
+     * Adds an 'or where not manager' filter to the current query.
+     *
+     * @param string $dn
+     * @param bool   $nested
+     *
+     * @return $this
+     */
+    public function orWhereNotManager($dn, $nested = false)
+    {
+        return $this->nestedMatchQuery(function ($attribute) use ($dn) {
+            return $this->orWhereNotEquals($attribute, $dn);
+        }, 'manager', $nested);
+    }
+
+    /**
+     * Execute the callback with a nested match attribute.
+     *
+     * @param Closure $callback
+     * @param string  $attribute
+     * @param bool    $nested
+     *
+     * @return $this
+     */
+    protected function nestedMatchQuery(Closure $callback, $attribute, $nested = false)
+    {
+        return $callback(
+            $nested ? $this->makeNestedMatchAttribute($attribute) : $attribute
+        );
+    }
+
+    /**
+     * Make a "nested match" filter attribute for querying descendants.
+     *
+     * @param string $attribute
+     *
+     * @return string
+     */
+    protected function makeNestedMatchAttribute($attribute)
+    {
+        return sprintf('%s:%s:', $attribute, LdapInterface::OID_MATCHING_RULE_IN_CHAIN);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/Builder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/Builder.php
new file mode 100644
index 0000000..eed5e91
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/Builder.php
@@ -0,0 +1,446 @@
+<?php
+
+namespace LdapRecord\Query\Model;
+
+use Closure;
+use DateTime;
+use LdapRecord\Models\Model;
+use LdapRecord\Models\ModelNotFoundException;
+use LdapRecord\Models\Scope;
+use LdapRecord\Models\Types\ActiveDirectory;
+use LdapRecord\Query\Builder as BaseBuilder;
+use LdapRecord\Utilities;
+
+class Builder extends BaseBuilder
+{
+    /**
+     * The model being queried.
+     *
+     * @var Model
+     */
+    protected $model;
+
+    /**
+     * The global scopes to be applied.
+     *
+     * @var array
+     */
+    protected $scopes = [];
+
+    /**
+     * The removed global scopes.
+     *
+     * @var array
+     */
+    protected $removedScopes = [];
+
+    /**
+     * The applied global scopes.
+     *
+     * @var array
+     */
+    protected $appliedScopes = [];
+
+    /**
+     * Dynamically handle calls into the query instance.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        if (method_exists($this->model, $scope = 'scope'.ucfirst($method))) {
+            return $this->callScope([$this->model, $scope], $parameters);
+        }
+
+        return parent::__call($method, $parameters);
+    }
+
+    /**
+     * Apply the given scope on the current builder instance.
+     *
+     * @param callable $scope
+     * @param array    $parameters
+     *
+     * @return mixed
+     */
+    protected function callScope(callable $scope, $parameters = [])
+    {
+        array_unshift($parameters, $this);
+
+        return $scope(...array_values($parameters)) ?? $this;
+    }
+
+    /**
+     * Get the attributes to select on the search.
+     *
+     * @return array
+     */
+    public function getSelects()
+    {
+        // Here we will ensure the models GUID attribute is always
+        // selected. In some LDAP directories, the attribute is
+        // virtual and must be requested for specifically.
+        return array_values(array_unique(
+            array_merge([$this->model->getGuidKey()], parent::getSelects())
+        ));
+    }
+
+    /**
+     * Set the model instance for the model being queried.
+     *
+     * @param Model $model
+     *
+     * @return $this
+     */
+    public function setModel(Model $model)
+    {
+        $this->model = $model;
+
+        return $this;
+    }
+
+    /**
+     * Returns the model being queried for.
+     *
+     * @return Model
+     */
+    public function getModel()
+    {
+        return $this->model;
+    }
+
+    /**
+     * Get a new model query builder instance.
+     *
+     * @param string|null $baseDn
+     *
+     * @return static
+     */
+    public function newInstance($baseDn = null)
+    {
+        return parent::newInstance($baseDn)->model($this->model);
+    }
+
+    /**
+     * Finds a model by its distinguished name.
+     *
+     * @param array|string          $dn
+     * @param array|string|string[] $columns
+     *
+     * @return Model|\LdapRecord\Query\Collection|static|null
+     */
+    public function find($dn, $columns = ['*'])
+    {
+        return $this->afterScopes(function () use ($dn, $columns) {
+            return parent::find($dn, $columns);
+        });
+    }
+
+    /**
+     * Finds a record using ambiguous name resolution.
+     *
+     * @param string|array $value
+     * @param array|string $columns
+     *
+     * @return Model|\LdapRecord\Query\Collection|static|null
+     */
+    public function findByAnr($value, $columns = ['*'])
+    {
+        if (is_array($value)) {
+            return $this->findManyByAnr($value, $columns);
+        }
+
+        // If the model is not compatible with ANR filters,
+        // we must construct an equivalent filter that
+        // the current LDAP server does support.
+        if (! $this->modelIsCompatibleWithAnr()) {
+            return $this->prepareAnrEquivalentQuery($value)->first($columns);
+        }
+
+        return $this->findBy('anr', $value, $columns);
+    }
+
+    /**
+     * Determine if the current model is compatible with ANR filters.
+     *
+     * @return bool
+     */
+    protected function modelIsCompatibleWithAnr()
+    {
+        return $this->model instanceof ActiveDirectory;
+    }
+
+    /**
+     * Finds a record using ambiguous name resolution.
+     *
+     * If a record is not found, an exception is thrown.
+     *
+     * @param string       $value
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model
+     */
+    public function findByAnrOrFail($value, $columns = ['*'])
+    {
+        if (! $entry = $this->findByAnr($value, $columns)) {
+            $this->throwNotFoundException($this->getUnescapedQuery(), $this->dn);
+        }
+
+        return $entry;
+    }
+
+    /**
+     * Throws a not found exception.
+     *
+     * @param string $query
+     * @param string $dn
+     *
+     * @throws ModelNotFoundException
+     */
+    protected function throwNotFoundException($query, $dn)
+    {
+        throw ModelNotFoundException::forQuery($query, $dn);
+    }
+
+    /**
+     * Finds multiple records using ambiguous name resolution.
+     *
+     * @param array $values
+     * @param array $columns
+     *
+     * @return \LdapRecord\Query\Collection
+     */
+    public function findManyByAnr(array $values = [], $columns = ['*'])
+    {
+        $this->select($columns);
+
+        if (! $this->modelIsCompatibleWithAnr()) {
+            foreach ($values as $value) {
+                $this->prepareAnrEquivalentQuery($value);
+            }
+
+            return $this->get($columns);
+        }
+
+        return $this->findManyBy('anr', $values);
+    }
+
+    /**
+     * Creates an ANR equivalent query for LDAP distributions that do not support ANR.
+     *
+     * @param string $value
+     *
+     * @return $this
+     */
+    protected function prepareAnrEquivalentQuery($value)
+    {
+        return $this->orFilter(function (self $query) use ($value) {
+            foreach ($this->model->getAnrAttributes() as $attribute) {
+                $query->whereEquals($attribute, $value);
+            }
+        });
+    }
+
+    /**
+     * Finds a record by its string GUID.
+     *
+     * @param string       $guid
+     * @param array|string $columns
+     *
+     * @return Model|static|null
+     */
+    public function findByGuid($guid, $columns = ['*'])
+    {
+        try {
+            return $this->findByGuidOrFail($guid, $columns);
+        } catch (ModelNotFoundException $e) {
+            return;
+        }
+    }
+
+    /**
+     * Finds a record by its string GUID.
+     *
+     * Fails upon no records returned.
+     *
+     * @param string       $guid
+     * @param array|string $columns
+     *
+     * @throws ModelNotFoundException
+     *
+     * @return Model|static
+     */
+    public function findByGuidOrFail($guid, $columns = ['*'])
+    {
+        if ($this->model instanceof ActiveDirectory) {
+            $guid = Utilities::stringGuidToHex($guid);
+        }
+
+        return $this->whereRaw([
+            $this->model->getGuidKey() => $guid,
+        ])->firstOrFail($columns);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getQuery()
+    {
+        return $this->afterScopes(function () {
+            return parent::getQuery();
+        });
+    }
+
+    /**
+     * Apply the query scopes and execute the callback.
+     *
+     * @param Closure $callback
+     *
+     * @return mixed
+     */
+    protected function afterScopes(Closure $callback)
+    {
+        $this->applyScopes();
+
+        return $callback();
+    }
+
+    /**
+     * Apply the global query scopes.
+     *
+     * @return $this
+     */
+    public function applyScopes()
+    {
+        if (! $this->scopes) {
+            return $this;
+        }
+
+        foreach ($this->scopes as $identifier => $scope) {
+            if (isset($this->appliedScopes[$identifier])) {
+                continue;
+            }
+
+            $scope instanceof Scope
+                ? $scope->apply($this, $this->getModel())
+                : $scope($this);
+
+            $this->appliedScopes[$identifier] = $scope;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Register a new global scope.
+     *
+     * @param string         $identifier
+     * @param Scope|\Closure $scope
+     *
+     * @return $this
+     */
+    public function withGlobalScope($identifier, $scope)
+    {
+        $this->scopes[$identifier] = $scope;
+
+        return $this;
+    }
+
+    /**
+     * Remove a registered global scope.
+     *
+     * @param Scope|string $scope
+     *
+     * @return $this
+     */
+    public function withoutGlobalScope($scope)
+    {
+        if (! is_string($scope)) {
+            $scope = get_class($scope);
+        }
+
+        unset($this->scopes[$scope]);
+
+        $this->removedScopes[] = $scope;
+
+        return $this;
+    }
+
+    /**
+     * Remove all or passed registered global scopes.
+     *
+     * @param array|null $scopes
+     *
+     * @return $this
+     */
+    public function withoutGlobalScopes(array $scopes = null)
+    {
+        if (! is_array($scopes)) {
+            $scopes = array_keys($this->scopes);
+        }
+
+        foreach ($scopes as $scope) {
+            $this->withoutGlobalScope($scope);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Get an array of global scopes that were removed from the query.
+     *
+     * @return array
+     */
+    public function removedScopes()
+    {
+        return $this->removedScopes;
+    }
+
+    /**
+     * Get an array of the global scopes that were applied to the query.
+     *
+     * @return array
+     */
+    public function appliedScopes()
+    {
+        return $this->appliedScopes;
+    }
+
+    /**
+     * Processes and converts the given LDAP results into models.
+     *
+     * @param array $results
+     *
+     * @return \LdapRecord\Query\Collection
+     */
+    protected function process(array $results)
+    {
+        return $this->model->hydrate(parent::process($results));
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function prepareWhereValue($field, $value, $raw = false)
+    {
+        if ($value instanceof DateTime) {
+            $field = $this->model->normalizeAttributeKey($field);
+
+            if (! $this->model->isDateAttribute($field)) {
+                throw new \UnexpectedValueException(
+                    "Cannot convert field [$field] to an LDAP timestamp. You must add this field as a model date."
+                    .' Refer to https://ldaprecord.com/docs/model-mutators/#date-mutators'
+                );
+            }
+
+            $value = $this->model->fromDateTime($this->model->getDates()[$field], $value);
+        }
+
+        return parent::prepareWhereValue($field, $value, $raw);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/FreeIpaBuilder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/FreeIpaBuilder.php
new file mode 100644
index 0000000..5e3d43f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/FreeIpaBuilder.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace LdapRecord\Query\Model;
+
+class FreeIpaBuilder extends Builder
+{
+    /**
+     * Adds a enabled filter to the current query.
+     *
+     * @return $this
+     */
+    public function whereEnabled()
+    {
+        return $this->rawFilter('(!(pwdAccountLockedTime=*))');
+    }
+
+    /**
+     * Adds a disabled filter to the current query.
+     *
+     * @return $this
+     */
+    public function whereDisabled()
+    {
+        return $this->rawFilter('(pwdAccountLockedTime=*)');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/OpenLdapBuilder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/OpenLdapBuilder.php
new file mode 100644
index 0000000..dd41344
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Model/OpenLdapBuilder.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace LdapRecord\Query\Model;
+
+class OpenLdapBuilder extends Builder
+{
+    /**
+     * Adds a enabled filter to the current query.
+     *
+     * @return $this
+     */
+    public function whereEnabled()
+    {
+        return $this->rawFilter('(!(pwdAccountLockedTime=*))');
+    }
+
+    /**
+     * Adds a disabled filter to the current query.
+     *
+     * @return $this
+     */
+    public function whereDisabled()
+    {
+        return $this->rawFilter('(pwdAccountLockedTime=*)');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/ObjectNotFoundException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/ObjectNotFoundException.php
new file mode 100644
index 0000000..b2dec28
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/ObjectNotFoundException.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace LdapRecord\Query;
+
+use LdapRecord\LdapRecordException;
+
+class ObjectNotFoundException extends LdapRecordException
+{
+    /**
+     * The query filter that was used.
+     *
+     * @var string
+     */
+    protected $query;
+
+    /**
+     * The base DN of the query that was used.
+     *
+     * @var string
+     */
+    protected $baseDn;
+
+    /**
+     * Create a new exception for the executed filter.
+     *
+     * @param string $query
+     * @param null   $baseDn
+     *
+     * @return static
+     */
+    public static function forQuery($query, $baseDn = null)
+    {
+        return (new static())->setQuery($query, $baseDn);
+    }
+
+    /**
+     * Set the query that was used.
+     *
+     * @param string      $query
+     * @param string|null $baseDn
+     *
+     * @return $this
+     */
+    public function setQuery($query, $baseDn = null)
+    {
+        $this->query = $query;
+        $this->baseDn = $baseDn;
+        $this->message = "No LDAP query results for filter: [$query] in: [$baseDn]";
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/AbstractPaginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/AbstractPaginator.php
new file mode 100644
index 0000000..3dfd3f1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/AbstractPaginator.php
@@ -0,0 +1,122 @@
+<?php
+
+namespace LdapRecord\Query\Pagination;
+
+use LdapRecord\LdapInterface;
+use LdapRecord\Query\Builder;
+
+abstract class AbstractPaginator
+{
+    /**
+     * The query builder instance.
+     *
+     * @var Builder
+     */
+    protected $query;
+
+    /**
+     * The filter to execute.
+     *
+     * @var string
+     */
+    protected $filter;
+
+    /**
+     * The amount of objects to fetch per page.
+     *
+     * @var int
+     */
+    protected $perPage;
+
+    /**
+     * Whether the operation is critical.
+     *
+     * @var bool
+     */
+    protected $isCritical;
+
+    /**
+     * Constructor.
+     *
+     * @param Builder $query
+     */
+    public function __construct(Builder $query, $filter, $perPage, $isCritical)
+    {
+        $this->query = $query;
+        $this->filter = $filter;
+        $this->perPage = $perPage;
+        $this->isCritical = $isCritical;
+    }
+
+    /**
+     * Execute the pagination request.
+     *
+     * @param LdapInterface $ldap
+     *
+     * @return array
+     */
+    public function execute(LdapInterface $ldap)
+    {
+        $pages = [];
+
+        $this->prepareServerControls();
+
+        do {
+            $this->applyServerControls($ldap);
+
+            if (! $resource = $this->query->run($this->filter)) {
+                break;
+            }
+
+            $this->updateServerControls($ldap, $resource);
+
+            $pages[] = $this->query->parse($resource);
+        } while (! empty($this->fetchCookie()));
+
+        $this->resetServerControls($ldap);
+
+        return $pages;
+    }
+
+    /**
+     * Fetch the pagination cookie.
+     *
+     * @return string
+     */
+    abstract protected function fetchCookie();
+
+    /**
+     * Prepare the server controls before executing the pagination request.
+     *
+     * @return void
+     */
+    abstract protected function prepareServerControls();
+
+    /**
+     * Apply the server controls.
+     *
+     * @param LdapInterface $ldap
+     *
+     * @return void
+     */
+    abstract protected function applyServerControls(LdapInterface $ldap);
+
+    /**
+     * Reset the server controls.
+     *
+     * @param LdapInterface $ldap
+     *
+     * @return mixed
+     */
+    abstract protected function resetServerControls(LdapInterface $ldap);
+
+    /**
+     * Update the server controls.
+     *
+     * @param LdapInterface $ldap
+     * @param resource      $resource
+     *
+     * @return void
+     */
+    abstract protected function updateServerControls(LdapInterface $ldap, $resource);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/DeprecatedPaginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/DeprecatedPaginator.php
new file mode 100644
index 0000000..b4a7f8d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/DeprecatedPaginator.php
@@ -0,0 +1,58 @@
+<?php
+
+namespace LdapRecord\Query\Pagination;
+
+use LdapRecord\LdapInterface;
+
+/**
+ * @deprecated since v2.5.0
+ */
+class DeprecatedPaginator extends AbstractPaginator
+{
+    /**
+     * The pagination cookie.
+     *
+     * @var string
+     */
+    protected $cookie = '';
+
+    /**
+     * @inheritdoc
+     */
+    protected function fetchCookie()
+    {
+        return $this->cookie;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function prepareServerControls()
+    {
+        $this->cookie = '';
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function applyServerControls(LdapInterface $ldap)
+    {
+        $ldap->controlPagedResult($this->perPage, $this->isCritical, $this->cookie);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function updateServerControls(LdapInterface $ldap, $resource)
+    {
+        $ldap->controlPagedResultResponse($resource, $this->cookie);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function resetServerControls(LdapInterface $ldap)
+    {
+        $ldap->controlPagedResult();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/LazyPaginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/LazyPaginator.php
new file mode 100644
index 0000000..2974b8f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/LazyPaginator.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace LdapRecord\Query\Pagination;
+
+use LdapRecord\LdapInterface;
+
+class LazyPaginator extends Paginator
+{
+    /**
+     * Execute the pagination request.
+     *
+     * @param LdapInterface $ldap
+     *
+     * @return Generator
+     */
+    public function execute(LdapInterface $ldap)
+    {
+        $this->prepareServerControls();
+
+        do {
+            $this->applyServerControls($ldap);
+
+            if (! $resource = $this->query->run($this->filter)) {
+                break;
+            }
+
+            $this->updateServerControls($ldap, $resource);
+
+            yield $this->query->parse($resource);
+        } while (! empty($this->fetchCookie()));
+
+        $this->resetServerControls($ldap);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/Paginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/Paginator.php
new file mode 100644
index 0000000..9ab6e67
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Query/Pagination/Paginator.php
@@ -0,0 +1,71 @@
+<?php
+
+namespace LdapRecord\Query\Pagination;
+
+use LdapRecord\LdapInterface;
+
+class Paginator extends AbstractPaginator
+{
+    /**
+     * @inheritdoc
+     */
+    protected function fetchCookie()
+    {
+        return $this->query->controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'] ?? null;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function prepareServerControls()
+    {
+        $this->query->addControl(LDAP_CONTROL_PAGEDRESULTS, $this->isCritical, [
+            'size' => $this->perPage, 'cookie' => '',
+        ]);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function applyServerControls(LdapInterface $ldap)
+    {
+        $ldap->setOption(LDAP_OPT_SERVER_CONTROLS, $this->query->controls);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function updateServerControls(LdapInterface $ldap, $resource)
+    {
+        $errorCode = $dn = $errorMessage = $refs = null;
+
+        $ldap->parseResult(
+            $resource,
+            $errorCode,
+            $dn,
+            $errorMessage,
+            $refs,
+            $this->query->controls
+        );
+
+        $this->resetPageSize();
+    }
+
+    /**
+     * Reset the page control page size.
+     *
+     * @return void
+     */
+    protected function resetPageSize()
+    {
+        $this->query->controls[LDAP_CONTROL_PAGEDRESULTS]['value']['size'] = $this->perPage;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function resetServerControls(LdapInterface $ldap)
+    {
+        $this->query->controls = [];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Support/Arr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Support/Arr.php
new file mode 100644
index 0000000..8fa87a2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Support/Arr.php
@@ -0,0 +1,139 @@
+<?php
+
+namespace LdapRecord\Support;
+
+use ArrayAccess;
+
+class Arr
+{
+    /**
+     * Determine whether the given value is array accessible.
+     *
+     * @param mixed $value
+     *
+     * @return bool
+     */
+    public static function accessible($value)
+    {
+        return is_array($value) || $value instanceof ArrayAccess;
+    }
+
+    /**
+     * Determine if the given key exists in the provided array.
+     *
+     * @param \ArrayAccess|array $array
+     * @param string|int         $key
+     *
+     * @return bool
+     */
+    public static function exists($array, $key)
+    {
+        if ($array instanceof ArrayAccess) {
+            return $array->offsetExists($key);
+        }
+
+        return array_key_exists($key, $array);
+    }
+
+    /**
+     * If the given value is not an array and not null, wrap it in one.
+     *
+     * @param mixed $value
+     *
+     * @return array
+     */
+    public static function wrap($value)
+    {
+        if (is_null($value)) {
+            return [];
+        }
+
+        return is_array($value) ? $value : [$value];
+    }
+
+    /**
+     * Return the first element in an array passing a given truth test.
+     *
+     * @param iterable      $array
+     * @param callable|null $callback
+     * @param mixed         $default
+     *
+     * @return mixed
+     */
+    public static function first($array, callable $callback = null, $default = null)
+    {
+        if (is_null($callback)) {
+            if (empty($array)) {
+                return Helpers::value($default);
+            }
+
+            foreach ($array as $item) {
+                return $item;
+            }
+        }
+
+        foreach ($array as $key => $value) {
+            if ($callback($value, $key)) {
+                return $value;
+            }
+        }
+
+        return Helpers::value($default);
+    }
+
+    /**
+     * Return the last element in an array passing a given truth test.
+     *
+     * @param array         $array
+     * @param callable|null $callback
+     * @param mixed         $default
+     *
+     * @return mixed
+     */
+    public static function last($array, callable $callback = null, $default = null)
+    {
+        if (is_null($callback)) {
+            return empty($array) ? Helpers::value($default) : end($array);
+        }
+
+        return static::first(array_reverse($array, true), $callback, $default);
+    }
+
+    /**
+     * Get an item from an array using "dot" notation.
+     *
+     * @param ArrayAccess|array $array
+     * @param string|int|null   $key
+     * @param mixed             $default
+     *
+     * @return mixed
+     */
+    public static function get($array, $key, $default = null)
+    {
+        if (! static::accessible($array)) {
+            return Helpers::value($default);
+        }
+
+        if (is_null($key)) {
+            return $array;
+        }
+
+        if (static::exists($array, $key)) {
+            return $array[$key];
+        }
+
+        if (strpos($key, '.') === false) {
+            return $array[$key] ?? Helpers::value($default);
+        }
+
+        foreach (explode('.', $key) as $segment) {
+            if (static::accessible($array) && static::exists($array, $segment)) {
+                $array = $array[$segment];
+            } else {
+                return Helpers::value($default);
+            }
+        }
+
+        return $array;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Support/Helpers.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Support/Helpers.php
new file mode 100644
index 0000000..a55d1d2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Support/Helpers.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace LdapRecord\Support;
+
+use Closure;
+
+class Helpers
+{
+    /**
+     * Return the default value of the given value.
+     *
+     * @param mixed $value
+     *
+     * @return mixed
+     */
+    public static function value($value)
+    {
+        return $value instanceof Closure ? $value() : $value;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/AuthGuardFake.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/AuthGuardFake.php
new file mode 100644
index 0000000..4a69150
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/AuthGuardFake.php
@@ -0,0 +1,18 @@
+<?php
+
+namespace LdapRecord\Testing;
+
+use LdapRecord\Auth\Guard;
+
+class AuthGuardFake extends Guard
+{
+    /**
+     * Always allow binding as configured user.
+     *
+     * @return bool
+     */
+    public function bindAsConfiguredUser()
+    {
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/ConnectionFake.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/ConnectionFake.php
new file mode 100644
index 0000000..0aa12a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/ConnectionFake.php
@@ -0,0 +1,97 @@
+<?php
+
+namespace LdapRecord\Testing;
+
+use LdapRecord\Auth\Guard;
+use LdapRecord\Connection;
+use LdapRecord\Models\Model;
+
+class ConnectionFake extends Connection
+{
+    /**
+     * The underlying fake LDAP connection.
+     *
+     * @var LdapFake
+     */
+    protected $ldap;
+
+    /**
+     * Whether the fake is connected.
+     *
+     * @var bool
+     */
+    protected $connected = false;
+
+    /**
+     * Make a new fake LDAP connection instance.
+     *
+     * @param array  $config
+     * @param string $ldap
+     *
+     * @return static
+     */
+    public static function make(array $config = [], $ldap = LdapFake::class)
+    {
+        $connection = new static($config, new $ldap());
+
+        $connection->configure();
+
+        return $connection;
+    }
+
+    /**
+     * Set the user to authenticate as.
+     *
+     * @param Model|string $user
+     *
+     * @return $this
+     */
+    public function actingAs($user)
+    {
+        $this->ldap->shouldAuthenticateWith(
+            $user instanceof Model ? $user->getDn() : $user
+        );
+
+        return $this;
+    }
+
+    /**
+     * Set the connection to bypass bind attempts as the configured user.
+     *
+     * @return $this
+     */
+    public function shouldBeConnected()
+    {
+        $this->connected = true;
+
+        $this->authGuardResolver = function () {
+            return new AuthGuardFake($this->ldap, $this->configuration);
+        };
+
+        return $this;
+    }
+
+    /**
+     * Set the connection to attempt binding as the configured user.
+     *
+     * @return $this
+     */
+    public function shouldNotBeConnected()
+    {
+        $this->connected = false;
+
+        $this->authGuardResolver = function () {
+            return new Guard($this->ldap, $this->configuration);
+        };
+
+        return $this;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function isConnected()
+    {
+        return $this->connected ?: parent::isConnected();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/DirectoryFake.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/DirectoryFake.php
new file mode 100644
index 0000000..70640af
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/DirectoryFake.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace LdapRecord\Testing;
+
+use LdapRecord\Container;
+
+class DirectoryFake
+{
+    /**
+     * Setup the fake connection.
+     *
+     * @param string|null $name
+     *
+     * @throws \LdapRecord\ContainerException
+     *
+     * @return ConnectionFake
+     */
+    public static function setup($name = null)
+    {
+        $connection = Container::getConnection($name);
+
+        $fake = static::makeConnectionFake(
+            $connection->getConfiguration()->all()
+        );
+
+        // Replace the connection with a fake.
+        Container::addConnection($fake, $name);
+
+        return $fake;
+    }
+
+    /**
+     * Reset the container.
+     *
+     * @return void
+     */
+    public static function tearDown()
+    {
+        Container::reset();
+    }
+
+    /**
+     * Make a connection fake.
+     *
+     * @param array $config
+     *
+     * @return ConnectionFake
+     */
+    public static function makeConnectionFake(array $config = [])
+    {
+        return ConnectionFake::make($config)->shouldBeConnected();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapExpectation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapExpectation.php
new file mode 100644
index 0000000..90a5fa2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapExpectation.php
@@ -0,0 +1,303 @@
+<?php
+
+namespace LdapRecord\Testing;
+
+use LdapRecord\LdapRecordException;
+use PHPUnit\Framework\Constraint\Constraint;
+use PHPUnit\Framework\Constraint\IsEqual;
+use UnexpectedValueException;
+
+class LdapExpectation
+{
+    /**
+     * The value to return from the expectation.
+     *
+     * @var mixed
+     */
+    protected $value;
+
+    /**
+     * The exception to throw from the expectation.
+     *
+     * @var null|LdapRecordException|\Exception
+     */
+    protected $exception;
+
+    /**
+     * The amount of times the expectation should be called.
+     *
+     * @var int
+     */
+    protected $count = 1;
+
+    /**
+     * The method that the expectation belongs to.
+     *
+     * @var string
+     */
+    protected $method;
+
+    /**
+     * The methods argument's.
+     *
+     * @var array
+     */
+    protected $args = [];
+
+    /**
+     * Whether the same expectation should be returned indefinitely.
+     *
+     * @var bool
+     */
+    protected $indefinitely = true;
+
+    /**
+     * Whether the expectation should return errors.
+     *
+     * @var bool
+     */
+    protected $errors = false;
+
+    /**
+     * The error number to return.
+     *
+     * @var int
+     */
+    protected $errorCode = 1;
+
+    /**
+     * The last error string to return.
+     *
+     * @var string
+     */
+    protected $errorMessage = '';
+
+    /**
+     * The diagnostic message string to return.
+     *
+     * @var string
+     */
+    protected $errorDiagnosticMessage = '';
+
+    /**
+     * Constructor.
+     *
+     * @param string $method
+     */
+    public function __construct($method)
+    {
+        $this->method = $method;
+    }
+
+    /**
+     * Set the arguments that the operation should receive.
+     *
+     * @param mixed $args
+     *
+     * @return $this
+     */
+    public function with($args)
+    {
+        $args = is_array($args) ? $args : func_get_args();
+
+        foreach ($args as $key => $arg) {
+            if (! $arg instanceof Constraint) {
+                $args[$key] = new IsEqual($arg);
+            }
+        }
+
+        $this->args = $args;
+
+        return $this;
+    }
+
+    /**
+     * Set the expected value to return.
+     *
+     * @param mixed $value
+     *
+     * @return $this
+     */
+    public function andReturn($value)
+    {
+        $this->value = $value;
+
+        return $this;
+    }
+
+    /**
+     * The error message to return from the expectation.
+     *
+     * @param int    $code
+     * @param string $error
+     * @param string $diagnosticMessage
+     *
+     * @return $this
+     */
+    public function andReturnError($code = 1, $error = '', $diagnosticMessage = '')
+    {
+        $this->errors = true;
+
+        $this->errorCode = $code;
+        $this->errorMessage = $error;
+        $this->errorDiagnosticMessage = $diagnosticMessage;
+
+        return $this;
+    }
+
+    /**
+     * Set the expected exception to throw.
+     *
+     * @param string|\Exception|LdapRecordException $exception
+     *
+     * @return $this
+     */
+    public function andThrow($exception)
+    {
+        if (is_string($exception)) {
+            $exception = new LdapRecordException($exception);
+        }
+
+        $this->exception = $exception;
+
+        return $this;
+    }
+
+    /**
+     * Set the expectation to be only called once.
+     *
+     * @return $this
+     */
+    public function once()
+    {
+        return $this->times(1);
+    }
+
+    /**
+     * Set the expectation to be only called twice.
+     *
+     * @return $this
+     */
+    public function twice()
+    {
+        return $this->times(2);
+    }
+
+    /**
+     * Set the expectation to be called the given number of times.
+     *
+     * @param int $count
+     *
+     * @return $this
+     */
+    public function times($count = 1)
+    {
+        $this->indefinitely = false;
+
+        $this->count = $count;
+
+        return $this;
+    }
+
+    /**
+     * Get the method the expectation belongs to.
+     *
+     * @return string
+     */
+    public function getMethod()
+    {
+        if (is_null($this->method)) {
+            throw new UnexpectedValueException('An expectation must have a method.');
+        }
+
+        return $this->method;
+    }
+
+    /**
+     * Get the expected call count.
+     *
+     * @return int
+     */
+    public function getExpectedCount()
+    {
+        return $this->count;
+    }
+
+    /**
+     * Get the expected arguments.
+     *
+     * @return Constraint[]
+     */
+    public function getExpectedArgs()
+    {
+        return $this->args;
+    }
+
+    /**
+     * Get the expected exception.
+     *
+     * @return null|\Exception|LdapRecordException
+     */
+    public function getExpectedException()
+    {
+        return $this->exception;
+    }
+
+    /**
+     * Get the expected value.
+     *
+     * @return mixed
+     */
+    public function getExpectedValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Determine whether the expectation is returning an error.
+     *
+     * @return bool
+     */
+    public function isReturningError()
+    {
+        return $this->errors;
+    }
+
+    /**
+     * @return int
+     */
+    public function getExpectedErrorCode()
+    {
+        return $this->errorCode;
+    }
+
+    /**
+     * @return string
+     */
+    public function getExpectedErrorMessage()
+    {
+        return $this->errorMessage;
+    }
+
+    /**
+     * @return string
+     */
+    public function getExpectedErrorDiagnosticMessage()
+    {
+        return $this->errorDiagnosticMessage;
+    }
+
+    /**
+     * Decrement the call count of the expectation.
+     *
+     * @return $this
+     */
+    public function decrementCallCount()
+    {
+        if (! $this->indefinitely) {
+            $this->count -= 1;
+        }
+
+        return $this;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapFake.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapFake.php
new file mode 100644
index 0000000..7ba0e15
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapFake.php
@@ -0,0 +1,525 @@
+<?php
+
+namespace LdapRecord\Testing;
+
+use Exception;
+use LdapRecord\DetailedError;
+use LdapRecord\DetectsErrors;
+use LdapRecord\HandlesConnection;
+use LdapRecord\LdapInterface;
+use LdapRecord\Support\Arr;
+use PHPUnit\Framework\Assert as PHPUnit;
+use PHPUnit\Framework\Constraint\Constraint;
+
+class LdapFake implements LdapInterface
+{
+    use HandlesConnection, DetectsErrors;
+
+    /**
+     * The expectations of the LDAP fake.
+     *
+     * @var array
+     */
+    protected $expectations = [];
+
+    /**
+     * The default fake error number.
+     *
+     * @var int
+     */
+    protected $errNo = 1;
+
+    /**
+     * The default fake last error string.
+     *
+     * @var string
+     */
+    protected $lastError = '';
+
+    /**
+     * The default fake diagnostic message string.
+     *
+     * @var string
+     */
+    protected $diagnosticMessage = '';
+
+    /**
+     * Create a new expected operation.
+     *
+     * @param string $method
+     *
+     * @return LdapExpectation
+     */
+    public static function operation($method)
+    {
+        return new LdapExpectation($method);
+    }
+
+    /**
+     * Set the user that will pass binding.
+     *
+     * @param string $dn
+     *
+     * @return $this
+     */
+    public function shouldAuthenticateWith($dn)
+    {
+        return $this->expect(
+            static::operation('bind')->with($dn, PHPUnit::anything())->andReturn(true)
+        );
+    }
+
+    /**
+     * Add an LDAP method expectation.
+     *
+     * @param LdapExpectation|array $expectations
+     *
+     * @return $this
+     */
+    public function expect($expectations = [])
+    {
+        $expectations = Arr::wrap($expectations);
+
+        foreach ($expectations as $key => $expectation) {
+            // If the key is non-numeric, we will assume
+            // that the string is the method name and
+            // the expectation is the return value.
+            if (! is_numeric($key)) {
+                $expectation = static::operation($key)->andReturn($expectation);
+            }
+
+            if (! $expectation instanceof LdapExpectation) {
+                $expectation = static::operation($expectation);
+            }
+
+            $this->expectations[$expectation->getMethod()][] = $expectation;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Determine if the method has any expectations.
+     *
+     * @param string $method
+     *
+     * @return bool
+     */
+    public function hasExpectations($method)
+    {
+        return count($this->getExpectations($method)) > 0;
+    }
+
+    /**
+     * Get expectations by method.
+     *
+     * @param string $method
+     *
+     * @return LdapExpectation[]|mixed
+     */
+    public function getExpectations($method)
+    {
+        return $this->expectations[$method] ?? [];
+    }
+
+    /**
+     * Remove an expectation by method and key.
+     *
+     * @param string $method
+     * @param int    $key
+     *
+     * @return void
+     */
+    public function removeExpectation($method, $key)
+    {
+        unset($this->expectations[$method][$key]);
+    }
+
+    /**
+     * Set the error number of a failed bind attempt.
+     *
+     * @param int $number
+     *
+     * @return $this
+     */
+    public function shouldReturnErrorNumber($number = 1)
+    {
+        $this->errNo = $number;
+
+        return $this;
+    }
+
+    /**
+     * Set the last error of a failed bind attempt.
+     *
+     * @param string $message
+     *
+     * @return $this
+     */
+    public function shouldReturnError($message = '')
+    {
+        $this->lastError = $message;
+
+        return $this;
+    }
+
+    /**
+     * Set the diagnostic message of a failed bind attempt.
+     *
+     * @param string $message
+     *
+     * @return $this
+     */
+    public function shouldReturnDiagnosticMessage($message = '')
+    {
+        $this->diagnosticMessage = $message;
+
+        return $this;
+    }
+
+    /**
+     * Return a fake error number.
+     *
+     * @return int
+     */
+    public function errNo()
+    {
+        return $this->errNo;
+    }
+
+    /**
+     * Return a fake error.
+     *
+     * @return string
+     */
+    public function getLastError()
+    {
+        return $this->lastError;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getDiagnosticMessage()
+    {
+        return $this->diagnosticMessage;
+    }
+
+    /**
+     * Return a fake detailed error.
+     *
+     * @return DetailedError
+     */
+    public function getDetailedError()
+    {
+        return new DetailedError(
+            $this->errNo(),
+            $this->getLastError(),
+            $this->getDiagnosticMessage()
+        );
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getEntries($searchResults)
+    {
+        return $searchResults;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function isUsingSSL()
+    {
+        return $this->hasExpectations('isUsingSSL')
+            ? $this->resolveExpectation('isUsingSSL')
+            : $this->useSSL;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function isUsingTLS()
+    {
+        return $this->hasExpectations('isUsingTLS')
+            ? $this->resolveExpectation('isUsingTLS')
+            : $this->useTLS;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function isBound()
+    {
+        return $this->hasExpectations('isBound')
+            ? $this->resolveExpectation('isBound')
+            : $this->bound;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function setOption($option, $value)
+    {
+        return $this->hasExpectations('setOption')
+            ? $this->resolveExpectation('setOption', func_get_args())
+            : true;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function getOption($option, &$value = null)
+    {
+        return $this->resolveExpectation('getOption', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function startTLS()
+    {
+        return $this->resolveExpectation('startTLS', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function connect($hosts = [], $port = 389)
+    {
+        $this->bound = false;
+
+        $this->host = $this->makeConnectionUris($hosts, $port);
+
+        return $this->connection = $this->hasExpectations('connect')
+            ? $this->resolveExpectation('connect', func_get_args())
+            : true;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function close()
+    {
+        $this->connection = null;
+        $this->bound = false;
+        $this->host = null;
+
+        return $this->hasExpectations('close')
+            ? $this->resolveExpectation('close')
+            : true;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function bind($username, $password)
+    {
+        return $this->bound = $this->resolveExpectation('bind', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function search($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = [])
+    {
+        return $this->resolveExpectation('search', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function listing($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = [])
+    {
+        return $this->resolveExpectation('listing', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function read($dn, $filter, array $fields, $onlyAttributes = false, $size = 0, $time = 0, $deref = null, $serverControls = [])
+    {
+        return $this->resolveExpectation('read', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function parseResult($result, &$errorCode, &$dn, &$errorMessage, &$referrals, &$serverControls = [])
+    {
+        return $this->resolveExpectation('parseResult', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function add($dn, array $entry)
+    {
+        return $this->resolveExpectation('add', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function delete($dn)
+    {
+        return $this->resolveExpectation('delete', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function rename($dn, $newRdn, $newParent, $deleteOldRdn = false)
+    {
+        return $this->resolveExpectation('rename', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modify($dn, array $entry)
+    {
+        return $this->resolveExpectation('modify', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modifyBatch($dn, array $values)
+    {
+        return $this->resolveExpectation('modifyBatch', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modAdd($dn, array $entry)
+    {
+        return $this->resolveExpectation('modAdd', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modReplace($dn, array $entry)
+    {
+        return $this->resolveExpectation('modReplace', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function modDelete($dn, array $entry)
+    {
+        return $this->resolveExpectation('modDelete', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function controlPagedResult($pageSize = 1000, $isCritical = false, $cookie = '')
+    {
+        return $this->resolveExpectation('controlPagedResult', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function controlPagedResultResponse($result, &$cookie)
+    {
+        return $this->resolveExpectation('controlPagedResultResponse', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function freeResult($result)
+    {
+        return $this->resolveExpectation('freeResult', func_get_args());
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function err2Str($number)
+    {
+        return $this->resolveExpectation('err2Str', func_get_args());
+    }
+
+    /**
+     * Resolve the methods expectations.
+     *
+     * @param string $method
+     * @param array  $args
+     *
+     * @throws Exception
+     *
+     * @return mixed
+     */
+    protected function resolveExpectation($method, array $args = [])
+    {
+        foreach ($this->getExpectations($method) as $key => $expectation) {
+            $this->assertMethodArgumentsMatch($method, $expectation->getExpectedArgs(), $args);
+
+            $expectation->decrementCallCount();
+
+            if ($expectation->getExpectedCount() === 0) {
+                $this->removeExpectation($method, $key);
+            }
+
+            if (! is_null($exception = $expectation->getExpectedException())) {
+                throw $exception;
+            }
+
+            if ($expectation->isReturningError()) {
+                $this->applyExpectationError($expectation);
+            }
+
+            return $expectation->getExpectedValue();
+        }
+
+        throw new Exception("LDAP method [$method] was unexpected.");
+    }
+
+    /**
+     * Apply the expectation error to the fake.
+     *
+     * @param LdapExpectation $expectation
+     *
+     * @return void
+     */
+    protected function applyExpectationError(LdapExpectation $expectation)
+    {
+        $this->shouldReturnError($expectation->getExpectedErrorMessage());
+        $this->shouldReturnErrorNumber($expectation->getExpectedErrorCode());
+        $this->shouldReturnDiagnosticMessage($expectation->getExpectedErrorDiagnosticMessage());
+    }
+
+    /**
+     * Assert that the expected arguments match the operations arguments.
+     *
+     * @param string       $method
+     * @param Constraint[] $expectedArgs
+     * @param array        $methodArgs
+     *
+     * @return void
+     */
+    protected function assertMethodArgumentsMatch($method, array $expectedArgs = [], array $methodArgs = [])
+    {
+        foreach ($expectedArgs as $key => $constraint) {
+            $argNumber = $key + 1;
+
+            PHPUnit::assertArrayHasKey(
+                $key,
+                $methodArgs,
+                "LDAP method [$method] argument #{$argNumber} does not exist."
+            );
+
+            $constraint->evaluate(
+                $methodArgs[$key],
+                "LDAP method [$method] expectation failed."
+            );
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Utilities.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Utilities.php
new file mode 100644
index 0000000..0f0ca3c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Utilities.php
@@ -0,0 +1,196 @@
+<?php
+
+namespace LdapRecord;
+
+class Utilities
+{
+    /**
+     * Converts a DN string into an array of RDNs.
+     *
+     * This will also decode hex characters into their true
+     * UTF-8 representation embedded inside the DN as well.
+     *
+     * @param string $dn
+     * @param bool   $removeAttributePrefixes
+     *
+     * @return array|false
+     */
+    public static function explodeDn($dn, $removeAttributePrefixes = true)
+    {
+        $dn = ldap_explode_dn($dn, ($removeAttributePrefixes ? 1 : 0));
+
+        if (! is_array($dn)) {
+            return false;
+        }
+
+        if (! array_key_exists('count', $dn)) {
+            return false;
+        }
+
+        unset($dn['count']);
+
+        foreach ($dn as $rdn => $value) {
+            $dn[$rdn] = static::unescape($value);
+        }
+
+        return $dn;
+    }
+
+    /**
+     * Un-escapes a hexadecimal string into its original string representation.
+     *
+     * @param string $value
+     *
+     * @return string
+     */
+    public static function unescape($value)
+    {
+        return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function ($matches) {
+            return chr(hexdec($matches[1]));
+        }, $value);
+    }
+
+    /**
+     * Convert a binary SID to a string SID.
+     *
+     * @author Chad Sikorra
+     *
+     * @see https://github.com/ChadSikorra
+     * @see https://stackoverflow.com/questions/39533560/php-ldap-get-user-sid
+     *
+     * @param string $value The Binary SID
+     *
+     * @return string|null
+     */
+    public static function binarySidToString($value)
+    {
+        // Revision - 8bit unsigned int (C1)
+        // Count - 8bit unsigned int (C1)
+        // 2 null bytes
+        // ID - 32bit unsigned long, big-endian order
+        $sid = @unpack('C1rev/C1count/x2/N1id', $value);
+
+        if (! isset($sid['id']) || ! isset($sid['rev'])) {
+            return;
+        }
+
+        $revisionLevel = $sid['rev'];
+
+        $identifierAuthority = $sid['id'];
+
+        $subs = isset($sid['count']) ? $sid['count'] : 0;
+
+        $sidHex = $subs ? bin2hex($value) : '';
+
+        $subAuthorities = [];
+
+        // The sub-authorities depend on the count, so only get as
+        // many as the count, regardless of data beyond it.
+        for ($i = 0; $i < $subs; $i++) {
+            $data = implode(array_reverse(
+                str_split(
+                    substr($sidHex, 16 + ($i * 8), 8),
+                    2
+                )
+            ));
+
+            $subAuthorities[] = hexdec($data);
+        }
+
+        // Tack on the 'S-' and glue it all together...
+        return 'S-'.$revisionLevel.'-'.$identifierAuthority.implode(
+            preg_filter('/^/', '-', $subAuthorities)
+        );
+    }
+
+    /**
+     * Convert a binary GUID to a string GUID.
+     *
+     * @param string $binGuid
+     *
+     * @return string|null
+     */
+    public static function binaryGuidToString($binGuid)
+    {
+        if (trim($binGuid) == '' || is_null($binGuid)) {
+            return;
+        }
+
+        $hex = unpack('H*hex', $binGuid)['hex'];
+
+        $hex1 = substr($hex, -26, 2).substr($hex, -28, 2).substr($hex, -30, 2).substr($hex, -32, 2);
+        $hex2 = substr($hex, -22, 2).substr($hex, -24, 2);
+        $hex3 = substr($hex, -18, 2).substr($hex, -20, 2);
+        $hex4 = substr($hex, -16, 4);
+        $hex5 = substr($hex, -12, 12);
+
+        return sprintf('%s-%s-%s-%s-%s', $hex1, $hex2, $hex3, $hex4, $hex5);
+    }
+
+    /**
+     * Converts a string GUID to it's hex variant.
+     *
+     * @param string $string
+     *
+     * @return string
+     */
+    public static function stringGuidToHex($string)
+    {
+        $hex = '\\'.substr($string, 6, 2).'\\'.substr($string, 4, 2).'\\'.substr($string, 2, 2).'\\'.substr($string, 0, 2);
+        $hex = $hex.'\\'.substr($string, 11, 2).'\\'.substr($string, 9, 2);
+        $hex = $hex.'\\'.substr($string, 16, 2).'\\'.substr($string, 14, 2);
+        $hex = $hex.'\\'.substr($string, 19, 2).'\\'.substr($string, 21, 2);
+        $hex = $hex.'\\'.substr($string, 24, 2).'\\'.substr($string, 26, 2).'\\'.substr($string, 28, 2).'\\'.substr($string, 30, 2).'\\'.substr($string, 32, 2).'\\'.substr($string, 34, 2);
+
+        return $hex;
+    }
+
+    /**
+     * Round a Windows timestamp down to seconds and remove
+     * the seconds between 1601-01-01 and 1970-01-01.
+     *
+     * @param float $windowsTime
+     *
+     * @return float
+     */
+    public static function convertWindowsTimeToUnixTime($windowsTime)
+    {
+        return round($windowsTime / 10000000) - 11644473600;
+    }
+
+    /**
+     * Convert a Unix timestamp to Windows timestamp.
+     *
+     * @param float $unixTime
+     *
+     * @return float
+     */
+    public static function convertUnixTimeToWindowsTime($unixTime)
+    {
+        return ($unixTime + 11644473600) * 10000000;
+    }
+
+    /**
+     * Validates that the inserted string is an object SID.
+     *
+     * @param string $sid
+     *
+     * @return bool
+     */
+    public static function isValidSid($sid)
+    {
+        return (bool) preg_match("/^S-\d(-\d{1,10}){1,16}$/i", $sid);
+    }
+
+    /**
+     * Validates that the inserted string is an object GUID.
+     *
+     * @param string $guid
+     *
+     * @return bool
+     */
+    public static function isValidGuid($guid)
+    {
+        return (bool) preg_match('/^([0-9a-fA-F]){8}(-([0-9a-fA-F]){4}){3}-([0-9a-fA-F]){12}$/', $guid);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Authorizable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Authorizable.php
new file mode 100644
index 0000000..cedeb6e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Authorizable.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Illuminate\Contracts\Auth\Access;
+
+interface Authorizable
+{
+    /**
+     * Determine if the entity has a given ability.
+     *
+     * @param  iterable|string  $abilities
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function can($abilities, $arguments = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Gate.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Gate.php
new file mode 100644
index 0000000..b88ab17
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Access/Gate.php
@@ -0,0 +1,150 @@
+<?php
+
+namespace Illuminate\Contracts\Auth\Access;
+
+interface Gate
+{
+    /**
+     * Determine if a given ability has been defined.
+     *
+     * @param  string  $ability
+     * @return bool
+     */
+    public function has($ability);
+
+    /**
+     * Define a new ability.
+     *
+     * @param  string  $ability
+     * @param  callable|string  $callback
+     * @return $this
+     */
+    public function define($ability, $callback);
+
+    /**
+     * Define abilities for a resource.
+     *
+     * @param  string  $name
+     * @param  string  $class
+     * @param  array|null  $abilities
+     * @return $this
+     */
+    public function resource($name, $class, array $abilities = null);
+
+    /**
+     * Define a policy class for a given class type.
+     *
+     * @param  string  $class
+     * @param  string  $policy
+     * @return $this
+     */
+    public function policy($class, $policy);
+
+    /**
+     * Register a callback to run before all Gate checks.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function before(callable $callback);
+
+    /**
+     * Register a callback to run after all Gate checks.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function after(callable $callback);
+
+    /**
+     * Determine if the given ability should be granted for the current user.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function allows($ability, $arguments = []);
+
+    /**
+     * Determine if the given ability should be denied for the current user.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function denies($ability, $arguments = []);
+
+    /**
+     * Determine if all of the given abilities should be granted for the current user.
+     *
+     * @param  iterable|string  $abilities
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function check($abilities, $arguments = []);
+
+    /**
+     * Determine if any one of the given abilities should be granted for the current user.
+     *
+     * @param  iterable|string  $abilities
+     * @param  array|mixed  $arguments
+     * @return bool
+     */
+    public function any($abilities, $arguments = []);
+
+    /**
+     * Determine if the given ability should be granted for the current user.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return \Illuminate\Auth\Access\Response
+     *
+     * @throws \Illuminate\Auth\Access\AuthorizationException
+     */
+    public function authorize($ability, $arguments = []);
+
+    /**
+     * Inspect the user for the given ability.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return \Illuminate\Auth\Access\Response
+     */
+    public function inspect($ability, $arguments = []);
+
+    /**
+     * Get the raw result from the authorization callback.
+     *
+     * @param  string  $ability
+     * @param  array|mixed  $arguments
+     * @return mixed
+     *
+     * @throws \Illuminate\Auth\Access\AuthorizationException
+     */
+    public function raw($ability, $arguments = []);
+
+    /**
+     * Get a policy instance for a given class.
+     *
+     * @param  object|string  $class
+     * @return mixed
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function getPolicyFor($class);
+
+    /**
+     * Get a guard instance for the given user.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable|mixed  $user
+     * @return static
+     */
+    public function forUser($user);
+
+    /**
+     * Get all of the defined abilities.
+     *
+     * @return array
+     */
+    public function abilities();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Authenticatable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Authenticatable.php
new file mode 100644
index 0000000..ac4ed88
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Authenticatable.php
@@ -0,0 +1,49 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface Authenticatable
+{
+    /**
+     * Get the name of the unique identifier for the user.
+     *
+     * @return string
+     */
+    public function getAuthIdentifierName();
+
+    /**
+     * Get the unique identifier for the user.
+     *
+     * @return mixed
+     */
+    public function getAuthIdentifier();
+
+    /**
+     * Get the password for the user.
+     *
+     * @return string
+     */
+    public function getAuthPassword();
+
+    /**
+     * Get the token value for the "remember me" session.
+     *
+     * @return string
+     */
+    public function getRememberToken();
+
+    /**
+     * Set the token value for the "remember me" session.
+     *
+     * @param  string  $value
+     * @return void
+     */
+    public function setRememberToken($value);
+
+    /**
+     * Get the column name for the "remember me" token.
+     *
+     * @return string
+     */
+    public function getRememberTokenName();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/CanResetPassword.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/CanResetPassword.php
new file mode 100644
index 0000000..3a67707
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/CanResetPassword.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface CanResetPassword
+{
+    /**
+     * Get the e-mail address where password reset links are sent.
+     *
+     * @return string
+     */
+    public function getEmailForPasswordReset();
+
+    /**
+     * Send the password reset notification.
+     *
+     * @param  string  $token
+     * @return void
+     */
+    public function sendPasswordResetNotification($token);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Factory.php
new file mode 100644
index 0000000..d76ee76
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Factory.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface Factory
+{
+    /**
+     * Get a guard instance by name.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard
+     */
+    public function guard($name = null);
+
+    /**
+     * Set the default guard the factory should serve.
+     *
+     * @param  string  $name
+     * @return void
+     */
+    public function shouldUse($name);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Guard.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Guard.php
new file mode 100644
index 0000000..2a27fb5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Guard.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface Guard
+{
+    /**
+     * Determine if the current user is authenticated.
+     *
+     * @return bool
+     */
+    public function check();
+
+    /**
+     * Determine if the current user is a guest.
+     *
+     * @return bool
+     */
+    public function guest();
+
+    /**
+     * Get the currently authenticated user.
+     *
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function user();
+
+    /**
+     * Get the ID for the currently authenticated user.
+     *
+     * @return int|string|null
+     */
+    public function id();
+
+    /**
+     * Validate a user's credentials.
+     *
+     * @param  array  $credentials
+     * @return bool
+     */
+    public function validate(array $credentials = []);
+
+    /**
+     * Set the current user.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @return void
+     */
+    public function setUser(Authenticatable $user);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Middleware/AuthenticatesRequests.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Middleware/AuthenticatesRequests.php
new file mode 100644
index 0000000..b782761
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/Middleware/AuthenticatesRequests.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Auth\Middleware;
+
+interface AuthenticatesRequests
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/MustVerifyEmail.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/MustVerifyEmail.php
new file mode 100644
index 0000000..5b8b105
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/MustVerifyEmail.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface MustVerifyEmail
+{
+    /**
+     * Determine if the user has verified their email address.
+     *
+     * @return bool
+     */
+    public function hasVerifiedEmail();
+
+    /**
+     * Mark the given user's email as verified.
+     *
+     * @return bool
+     */
+    public function markEmailAsVerified();
+
+    /**
+     * Send the email verification notification.
+     *
+     * @return void
+     */
+    public function sendEmailVerificationNotification();
+
+    /**
+     * Get the email address that should be used for verification.
+     *
+     * @return string
+     */
+    public function getEmailForVerification();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBroker.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBroker.php
new file mode 100644
index 0000000..bbbe9b5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBroker.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+use Closure;
+
+interface PasswordBroker
+{
+    /**
+     * Constant representing a successfully sent reminder.
+     *
+     * @var string
+     */
+    const RESET_LINK_SENT = 'passwords.sent';
+
+    /**
+     * Constant representing a successfully reset password.
+     *
+     * @var string
+     */
+    const PASSWORD_RESET = 'passwords.reset';
+
+    /**
+     * Constant representing the user not found response.
+     *
+     * @var string
+     */
+    const INVALID_USER = 'passwords.user';
+
+    /**
+     * Constant representing an invalid token.
+     *
+     * @var string
+     */
+    const INVALID_TOKEN = 'passwords.token';
+
+    /**
+     * Constant representing a throttled reset attempt.
+     *
+     * @var string
+     */
+    const RESET_THROTTLED = 'passwords.throttled';
+
+    /**
+     * Send a password reset link to a user.
+     *
+     * @param  array  $credentials
+     * @param  \Closure|null  $callback
+     * @return string
+     */
+    public function sendResetLink(array $credentials, Closure $callback = null);
+
+    /**
+     * Reset the password for the given token.
+     *
+     * @param  array  $credentials
+     * @param  \Closure  $callback
+     * @return mixed
+     */
+    public function reset(array $credentials, Closure $callback);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBrokerFactory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBrokerFactory.php
new file mode 100644
index 0000000..47b1c08
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/PasswordBrokerFactory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface PasswordBrokerFactory
+{
+    /**
+     * Get a password broker instance by name.
+     *
+     * @param  string|null  $name
+     * @return mixed
+     */
+    public function broker($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/StatefulGuard.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/StatefulGuard.php
new file mode 100644
index 0000000..faf1497
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/StatefulGuard.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface StatefulGuard extends Guard
+{
+    /**
+     * Attempt to authenticate a user using the given credentials.
+     *
+     * @param  array  $credentials
+     * @param  bool  $remember
+     * @return bool
+     */
+    public function attempt(array $credentials = [], $remember = false);
+
+    /**
+     * Log a user into the application without sessions or cookies.
+     *
+     * @param  array  $credentials
+     * @return bool
+     */
+    public function once(array $credentials = []);
+
+    /**
+     * Log a user into the application.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @param  bool  $remember
+     * @return void
+     */
+    public function login(Authenticatable $user, $remember = false);
+
+    /**
+     * Log the given user ID into the application.
+     *
+     * @param  mixed  $id
+     * @param  bool  $remember
+     * @return \Illuminate\Contracts\Auth\Authenticatable|bool
+     */
+    public function loginUsingId($id, $remember = false);
+
+    /**
+     * Log the given user ID into the application without sessions or cookies.
+     *
+     * @param  mixed  $id
+     * @return \Illuminate\Contracts\Auth\Authenticatable|bool
+     */
+    public function onceUsingId($id);
+
+    /**
+     * Determine if the user was authenticated via "remember me" cookie.
+     *
+     * @return bool
+     */
+    public function viaRemember();
+
+    /**
+     * Log the user out of the application.
+     *
+     * @return void
+     */
+    public function logout();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/SupportsBasicAuth.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/SupportsBasicAuth.php
new file mode 100644
index 0000000..9c54591
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/SupportsBasicAuth.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface SupportsBasicAuth
+{
+    /**
+     * Attempt to authenticate using HTTP Basic Auth.
+     *
+     * @param  string  $field
+     * @param  array  $extraConditions
+     * @return \Symfony\Component\HttpFoundation\Response|null
+     */
+    public function basic($field = 'email', $extraConditions = []);
+
+    /**
+     * Perform a stateless HTTP Basic login attempt.
+     *
+     * @param  string  $field
+     * @param  array  $extraConditions
+     * @return \Symfony\Component\HttpFoundation\Response|null
+     */
+    public function onceBasic($field = 'email', $extraConditions = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/UserProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/UserProvider.php
new file mode 100644
index 0000000..a2ab122
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Auth/UserProvider.php
@@ -0,0 +1,49 @@
+<?php
+
+namespace Illuminate\Contracts\Auth;
+
+interface UserProvider
+{
+    /**
+     * Retrieve a user by their unique identifier.
+     *
+     * @param  mixed  $identifier
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function retrieveById($identifier);
+
+    /**
+     * Retrieve a user by their unique identifier and "remember me" token.
+     *
+     * @param  mixed  $identifier
+     * @param  string  $token
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function retrieveByToken($identifier, $token);
+
+    /**
+     * Update the "remember me" token for the given user in storage.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @param  string  $token
+     * @return void
+     */
+    public function updateRememberToken(Authenticatable $user, $token);
+
+    /**
+     * Retrieve a user by the given credentials.
+     *
+     * @param  array  $credentials
+     * @return \Illuminate\Contracts\Auth\Authenticatable|null
+     */
+    public function retrieveByCredentials(array $credentials);
+
+    /**
+     * Validate a user against the given credentials.
+     *
+     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
+     * @param  array  $credentials
+     * @return bool
+     */
+    public function validateCredentials(Authenticatable $user, array $credentials);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/Broadcaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/Broadcaster.php
new file mode 100644
index 0000000..1034e44
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/Broadcaster.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace Illuminate\Contracts\Broadcasting;
+
+interface Broadcaster
+{
+    /**
+     * Authenticate the incoming request for a given channel.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return mixed
+     */
+    public function auth($request);
+
+    /**
+     * Return the valid authentication response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  mixed  $result
+     * @return mixed
+     */
+    public function validAuthenticationResponse($request, $result);
+
+    /**
+     * Broadcast the given event.
+     *
+     * @param  array  $channels
+     * @param  string  $event
+     * @param  array  $payload
+     * @return void
+     */
+    public function broadcast(array $channels, $event, array $payload = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/Factory.php
new file mode 100644
index 0000000..1a4f48f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/Factory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Broadcasting;
+
+interface Factory
+{
+    /**
+     * Get a broadcaster implementation by name.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Contracts\Broadcasting\Broadcaster
+     */
+    public function connection($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/HasBroadcastChannel.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/HasBroadcastChannel.php
new file mode 100644
index 0000000..3b2c401
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/HasBroadcastChannel.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace Illuminate\Contracts\Broadcasting;
+
+interface HasBroadcastChannel
+{
+    /**
+     * Get the broadcast channel route definition that is associated with the given entity.
+     *
+     * @return string
+     */
+    public function broadcastChannelRoute();
+
+    /**
+     * Get the broadcast channel name that is associated with the given entity.
+     *
+     * @return string
+     */
+    public function broadcastChannel();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/ShouldBroadcast.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/ShouldBroadcast.php
new file mode 100644
index 0000000..a4802fe
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/ShouldBroadcast.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Broadcasting;
+
+interface ShouldBroadcast
+{
+    /**
+     * Get the channels the event should broadcast on.
+     *
+     * @return \Illuminate\Broadcasting\Channel|\Illuminate\Broadcasting\Channel[]
+     */
+    public function broadcastOn();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/ShouldBroadcastNow.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/ShouldBroadcastNow.php
new file mode 100644
index 0000000..eba3584
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Broadcasting/ShouldBroadcastNow.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Broadcasting;
+
+interface ShouldBroadcastNow extends ShouldBroadcast
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Bus/Dispatcher.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Bus/Dispatcher.php
new file mode 100644
index 0000000..5cbbd92
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Bus/Dispatcher.php
@@ -0,0 +1,66 @@
+<?php
+
+namespace Illuminate\Contracts\Bus;
+
+interface Dispatcher
+{
+    /**
+     * Dispatch a command to its appropriate handler.
+     *
+     * @param  mixed  $command
+     * @return mixed
+     */
+    public function dispatch($command);
+
+    /**
+     * Dispatch a command to its appropriate handler in the current process.
+     *
+     * Queueable jobs will be dispatched to the "sync" queue.
+     *
+     * @param  mixed  $command
+     * @param  mixed  $handler
+     * @return mixed
+     */
+    public function dispatchSync($command, $handler = null);
+
+    /**
+     * Dispatch a command to its appropriate handler in the current process.
+     *
+     * @param  mixed  $command
+     * @param  mixed  $handler
+     * @return mixed
+     */
+    public function dispatchNow($command, $handler = null);
+
+    /**
+     * Determine if the given command has a handler.
+     *
+     * @param  mixed  $command
+     * @return bool
+     */
+    public function hasCommandHandler($command);
+
+    /**
+     * Retrieve the handler for a command.
+     *
+     * @param  mixed  $command
+     * @return bool|mixed
+     */
+    public function getCommandHandler($command);
+
+    /**
+     * Set the pipes commands should be piped through before dispatching.
+     *
+     * @param  array  $pipes
+     * @return $this
+     */
+    public function pipeThrough(array $pipes);
+
+    /**
+     * Map a command to a handler.
+     *
+     * @param  array  $map
+     * @return $this
+     */
+    public function map(array $map);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Bus/QueueingDispatcher.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Bus/QueueingDispatcher.php
new file mode 100644
index 0000000..ff84e27
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Bus/QueueingDispatcher.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Illuminate\Contracts\Bus;
+
+interface QueueingDispatcher extends Dispatcher
+{
+    /**
+     * Attempt to find the batch with the given ID.
+     *
+     * @param  string  $batchId
+     * @return \Illuminate\Bus\Batch|null
+     */
+    public function findBatch(string $batchId);
+
+    /**
+     * Create a new batch of queueable jobs.
+     *
+     * @param  \Illuminate\Support\Collection|array  $jobs
+     * @return \Illuminate\Bus\PendingBatch
+     */
+    public function batch($jobs);
+
+    /**
+     * Dispatch a command to its appropriate handler behind a queue.
+     *
+     * @param  mixed  $command
+     * @return mixed
+     */
+    public function dispatchToQueue($command);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Factory.php
new file mode 100644
index 0000000..3924662
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Factory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Cache;
+
+interface Factory
+{
+    /**
+     * Get a cache store instance by name.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Contracts\Cache\Repository
+     */
+    public function store($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Lock.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Lock.php
new file mode 100644
index 0000000..03f633a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Lock.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace Illuminate\Contracts\Cache;
+
+interface Lock
+{
+    /**
+     * Attempt to acquire the lock.
+     *
+     * @param  callable|null  $callback
+     * @return mixed
+     */
+    public function get($callback = null);
+
+    /**
+     * Attempt to acquire the lock for the given number of seconds.
+     *
+     * @param  int  $seconds
+     * @param  callable|null  $callback
+     * @return mixed
+     */
+    public function block($seconds, $callback = null);
+
+    /**
+     * Release the lock.
+     *
+     * @return bool
+     */
+    public function release();
+
+    /**
+     * Returns the current owner of the lock.
+     *
+     * @return string
+     */
+    public function owner();
+
+    /**
+     * Releases this lock in disregard of ownership.
+     *
+     * @return void
+     */
+    public function forceRelease();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/LockProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/LockProvider.php
new file mode 100644
index 0000000..37d4ef6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/LockProvider.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Illuminate\Contracts\Cache;
+
+interface LockProvider
+{
+    /**
+     * Get a lock instance.
+     *
+     * @param  string  $name
+     * @param  int  $seconds
+     * @param  string|null  $owner
+     * @return \Illuminate\Contracts\Cache\Lock
+     */
+    public function lock($name, $seconds = 0, $owner = null);
+
+    /**
+     * Restore a lock instance using the owner identifier.
+     *
+     * @param  string  $name
+     * @param  string  $owner
+     * @return \Illuminate\Contracts\Cache\Lock
+     */
+    public function restoreLock($name, $owner);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/LockTimeoutException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/LockTimeoutException.php
new file mode 100644
index 0000000..53327e2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/LockTimeoutException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Illuminate\Contracts\Cache;
+
+use Exception;
+
+class LockTimeoutException extends Exception
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Repository.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Repository.php
new file mode 100644
index 0000000..5b78af5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Repository.php
@@ -0,0 +1,108 @@
+<?php
+
+namespace Illuminate\Contracts\Cache;
+
+use Closure;
+use Psr\SimpleCache\CacheInterface;
+
+interface Repository extends CacheInterface
+{
+    /**
+     * Retrieve an item from the cache and delete it.
+     *
+     * @param  string  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function pull($key, $default = null);
+
+    /**
+     * Store an item in the cache.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  \DateTimeInterface|\DateInterval|int|null  $ttl
+     * @return bool
+     */
+    public function put($key, $value, $ttl = null);
+
+    /**
+     * Store an item in the cache if the key does not exist.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  \DateTimeInterface|\DateInterval|int|null  $ttl
+     * @return bool
+     */
+    public function add($key, $value, $ttl = null);
+
+    /**
+     * Increment the value of an item in the cache.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return int|bool
+     */
+    public function increment($key, $value = 1);
+
+    /**
+     * Decrement the value of an item in the cache.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return int|bool
+     */
+    public function decrement($key, $value = 1);
+
+    /**
+     * Store an item in the cache indefinitely.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function forever($key, $value);
+
+    /**
+     * Get an item from the cache, or execute the given Closure and store the result.
+     *
+     * @param  string  $key
+     * @param  \DateTimeInterface|\DateInterval|int|null  $ttl
+     * @param  \Closure  $callback
+     * @return mixed
+     */
+    public function remember($key, $ttl, Closure $callback);
+
+    /**
+     * Get an item from the cache, or execute the given Closure and store the result forever.
+     *
+     * @param  string  $key
+     * @param  \Closure  $callback
+     * @return mixed
+     */
+    public function sear($key, Closure $callback);
+
+    /**
+     * Get an item from the cache, or execute the given Closure and store the result forever.
+     *
+     * @param  string  $key
+     * @param  \Closure  $callback
+     * @return mixed
+     */
+    public function rememberForever($key, Closure $callback);
+
+    /**
+     * Remove an item from the cache.
+     *
+     * @param  string  $key
+     * @return bool
+     */
+    public function forget($key);
+
+    /**
+     * Get the cache store implementation.
+     *
+     * @return \Illuminate\Contracts\Cache\Store
+     */
+    public function getStore();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Store.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Store.php
new file mode 100644
index 0000000..133bc43
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cache/Store.php
@@ -0,0 +1,92 @@
+<?php
+
+namespace Illuminate\Contracts\Cache;
+
+interface Store
+{
+    /**
+     * Retrieve an item from the cache by key.
+     *
+     * @param  string|array  $key
+     * @return mixed
+     */
+    public function get($key);
+
+    /**
+     * Retrieve multiple items from the cache by key.
+     *
+     * Items not found in the cache will have a null value.
+     *
+     * @param  array  $keys
+     * @return array
+     */
+    public function many(array $keys);
+
+    /**
+     * Store an item in the cache for a given number of seconds.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  int  $seconds
+     * @return bool
+     */
+    public function put($key, $value, $seconds);
+
+    /**
+     * Store multiple items in the cache for a given number of seconds.
+     *
+     * @param  array  $values
+     * @param  int  $seconds
+     * @return bool
+     */
+    public function putMany(array $values, $seconds);
+
+    /**
+     * Increment the value of an item in the cache.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return int|bool
+     */
+    public function increment($key, $value = 1);
+
+    /**
+     * Decrement the value of an item in the cache.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return int|bool
+     */
+    public function decrement($key, $value = 1);
+
+    /**
+     * Store an item in the cache indefinitely.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function forever($key, $value);
+
+    /**
+     * Remove an item from the cache.
+     *
+     * @param  string  $key
+     * @return bool
+     */
+    public function forget($key);
+
+    /**
+     * Remove all items from the cache.
+     *
+     * @return bool
+     */
+    public function flush();
+
+    /**
+     * Get the cache key prefix.
+     *
+     * @return string
+     */
+    public function getPrefix();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Config/Repository.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Config/Repository.php
new file mode 100644
index 0000000..a4f0ac8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Config/Repository.php
@@ -0,0 +1,57 @@
+<?php
+
+namespace Illuminate\Contracts\Config;
+
+interface Repository
+{
+    /**
+     * Determine if the given configuration value exists.
+     *
+     * @param  string  $key
+     * @return bool
+     */
+    public function has($key);
+
+    /**
+     * Get the specified configuration value.
+     *
+     * @param  array|string  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function get($key, $default = null);
+
+    /**
+     * Get all of the configuration items for the application.
+     *
+     * @return array
+     */
+    public function all();
+
+    /**
+     * Set a given configuration value.
+     *
+     * @param  array|string  $key
+     * @param  mixed  $value
+     * @return void
+     */
+    public function set($key, $value = null);
+
+    /**
+     * Prepend a value onto an array configuration value.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return void
+     */
+    public function prepend($key, $value);
+
+    /**
+     * Push a value onto an array configuration value.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return void
+     */
+    public function push($key, $value);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Console/Application.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Console/Application.php
new file mode 100644
index 0000000..ba628c9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Console/Application.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Illuminate\Contracts\Console;
+
+interface Application
+{
+    /**
+     * Run an Artisan console command by name.
+     *
+     * @param  string  $command
+     * @param  array  $parameters
+     * @param  \Symfony\Component\Console\Output\OutputInterface|null  $outputBuffer
+     * @return int
+     */
+    public function call($command, array $parameters = [], $outputBuffer = null);
+
+    /**
+     * Get the output from the last command.
+     *
+     * @return string
+     */
+    public function output();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Console/Kernel.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Console/Kernel.php
new file mode 100644
index 0000000..842f5a6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Console/Kernel.php
@@ -0,0 +1,64 @@
+<?php
+
+namespace Illuminate\Contracts\Console;
+
+interface Kernel
+{
+    /**
+     * Bootstrap the application for artisan commands.
+     *
+     * @return void
+     */
+    public function bootstrap();
+
+    /**
+     * Handle an incoming console command.
+     *
+     * @param  \Symfony\Component\Console\Input\InputInterface  $input
+     * @param  \Symfony\Component\Console\Output\OutputInterface|null  $output
+     * @return int
+     */
+    public function handle($input, $output = null);
+
+    /**
+     * Run an Artisan console command by name.
+     *
+     * @param  string  $command
+     * @param  array  $parameters
+     * @param  \Symfony\Component\Console\Output\OutputInterface|null  $outputBuffer
+     * @return int
+     */
+    public function call($command, array $parameters = [], $outputBuffer = null);
+
+    /**
+     * Queue an Artisan console command by name.
+     *
+     * @param  string  $command
+     * @param  array  $parameters
+     * @return \Illuminate\Foundation\Bus\PendingDispatch
+     */
+    public function queue($command, array $parameters = []);
+
+    /**
+     * Get all of the commands registered with the console.
+     *
+     * @return array
+     */
+    public function all();
+
+    /**
+     * Get the output for the last run command.
+     *
+     * @return string
+     */
+    public function output();
+
+    /**
+     * Terminate the application.
+     *
+     * @param  \Symfony\Component\Console\Input\InputInterface  $input
+     * @param  int  $status
+     * @return void
+     */
+    public function terminate($input, $status);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/BindingResolutionException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/BindingResolutionException.php
new file mode 100644
index 0000000..a69c24c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/BindingResolutionException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace Illuminate\Contracts\Container;
+
+use Exception;
+use Psr\Container\ContainerExceptionInterface;
+
+class BindingResolutionException extends Exception implements ContainerExceptionInterface
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/CircularDependencyException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/CircularDependencyException.php
new file mode 100644
index 0000000..6c90381
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/CircularDependencyException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace Illuminate\Contracts\Container;
+
+use Exception;
+use Psr\Container\ContainerExceptionInterface;
+
+class CircularDependencyException extends Exception implements ContainerExceptionInterface
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/Container.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/Container.php
new file mode 100644
index 0000000..1b8bb64
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/Container.php
@@ -0,0 +1,183 @@
+<?php
+
+namespace Illuminate\Contracts\Container;
+
+use Closure;
+use Psr\Container\ContainerInterface;
+
+interface Container extends ContainerInterface
+{
+    /**
+     * Determine if the given abstract type has been bound.
+     *
+     * @param  string  $abstract
+     * @return bool
+     */
+    public function bound($abstract);
+
+    /**
+     * Alias a type to a different name.
+     *
+     * @param  string  $abstract
+     * @param  string  $alias
+     * @return void
+     *
+     * @throws \LogicException
+     */
+    public function alias($abstract, $alias);
+
+    /**
+     * Assign a set of tags to a given binding.
+     *
+     * @param  array|string  $abstracts
+     * @param  array|mixed  ...$tags
+     * @return void
+     */
+    public function tag($abstracts, $tags);
+
+    /**
+     * Resolve all of the bindings for a given tag.
+     *
+     * @param  string  $tag
+     * @return iterable
+     */
+    public function tagged($tag);
+
+    /**
+     * Register a binding with the container.
+     *
+     * @param  string  $abstract
+     * @param  \Closure|string|null  $concrete
+     * @param  bool  $shared
+     * @return void
+     */
+    public function bind($abstract, $concrete = null, $shared = false);
+
+    /**
+     * Register a binding if it hasn't already been registered.
+     *
+     * @param  string  $abstract
+     * @param  \Closure|string|null  $concrete
+     * @param  bool  $shared
+     * @return void
+     */
+    public function bindIf($abstract, $concrete = null, $shared = false);
+
+    /**
+     * Register a shared binding in the container.
+     *
+     * @param  string  $abstract
+     * @param  \Closure|string|null  $concrete
+     * @return void
+     */
+    public function singleton($abstract, $concrete = null);
+
+    /**
+     * Register a shared binding if it hasn't already been registered.
+     *
+     * @param  string  $abstract
+     * @param  \Closure|string|null  $concrete
+     * @return void
+     */
+    public function singletonIf($abstract, $concrete = null);
+
+    /**
+     * "Extend" an abstract type in the container.
+     *
+     * @param  string  $abstract
+     * @param  \Closure  $closure
+     * @return void
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function extend($abstract, Closure $closure);
+
+    /**
+     * Register an existing instance as shared in the container.
+     *
+     * @param  string  $abstract
+     * @param  mixed  $instance
+     * @return mixed
+     */
+    public function instance($abstract, $instance);
+
+    /**
+     * Add a contextual binding to the container.
+     *
+     * @param  string  $concrete
+     * @param  string  $abstract
+     * @param  \Closure|string  $implementation
+     * @return void
+     */
+    public function addContextualBinding($concrete, $abstract, $implementation);
+
+    /**
+     * Define a contextual binding.
+     *
+     * @param  string|array  $concrete
+     * @return \Illuminate\Contracts\Container\ContextualBindingBuilder
+     */
+    public function when($concrete);
+
+    /**
+     * Get a closure to resolve the given type from the container.
+     *
+     * @param  string  $abstract
+     * @return \Closure
+     */
+    public function factory($abstract);
+
+    /**
+     * Flush the container of all bindings and resolved instances.
+     *
+     * @return void
+     */
+    public function flush();
+
+    /**
+     * Resolve the given type from the container.
+     *
+     * @param  string  $abstract
+     * @param  array  $parameters
+     * @return mixed
+     *
+     * @throws \Illuminate\Contracts\Container\BindingResolutionException
+     */
+    public function make($abstract, array $parameters = []);
+
+    /**
+     * Call the given Closure / class@method and inject its dependencies.
+     *
+     * @param  callable|string  $callback
+     * @param  array  $parameters
+     * @param  string|null  $defaultMethod
+     * @return mixed
+     */
+    public function call($callback, array $parameters = [], $defaultMethod = null);
+
+    /**
+     * Determine if the given abstract type has been resolved.
+     *
+     * @param  string  $abstract
+     * @return bool
+     */
+    public function resolved($abstract);
+
+    /**
+     * Register a new resolving callback.
+     *
+     * @param  \Closure|string  $abstract
+     * @param  \Closure|null  $callback
+     * @return void
+     */
+    public function resolving($abstract, Closure $callback = null);
+
+    /**
+     * Register a new after resolving callback.
+     *
+     * @param  \Closure|string  $abstract
+     * @param  \Closure|null  $callback
+     * @return void
+     */
+    public function afterResolving($abstract, Closure $callback = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/ContextualBindingBuilder.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/ContextualBindingBuilder.php
new file mode 100644
index 0000000..05e3625
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Container/ContextualBindingBuilder.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Illuminate\Contracts\Container;
+
+interface ContextualBindingBuilder
+{
+    /**
+     * Define the abstract target that depends on the context.
+     *
+     * @param  string  $abstract
+     * @return $this
+     */
+    public function needs($abstract);
+
+    /**
+     * Define the implementation for the contextual binding.
+     *
+     * @param  \Closure|string  $implementation
+     * @return void
+     */
+    public function give($implementation);
+
+    /**
+     * Define tagged services to be used as the implementation for the contextual binding.
+     *
+     * @param  string  $tag
+     * @return void
+     */
+    public function giveTagged($tag);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cookie/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cookie/Factory.php
new file mode 100644
index 0000000..6f95021
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cookie/Factory.php
@@ -0,0 +1,47 @@
+<?php
+
+namespace Illuminate\Contracts\Cookie;
+
+interface Factory
+{
+    /**
+     * Create a new cookie instance.
+     *
+     * @param  string  $name
+     * @param  string  $value
+     * @param  int  $minutes
+     * @param  string|null  $path
+     * @param  string|null  $domain
+     * @param  bool|null  $secure
+     * @param  bool  $httpOnly
+     * @param  bool  $raw
+     * @param  string|null  $sameSite
+     * @return \Symfony\Component\HttpFoundation\Cookie
+     */
+    public function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null);
+
+    /**
+     * Create a cookie that lasts "forever" (five years).
+     *
+     * @param  string  $name
+     * @param  string  $value
+     * @param  string|null  $path
+     * @param  string|null  $domain
+     * @param  bool|null  $secure
+     * @param  bool  $httpOnly
+     * @param  bool  $raw
+     * @param  string|null  $sameSite
+     * @return \Symfony\Component\HttpFoundation\Cookie
+     */
+    public function forever($name, $value, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null);
+
+    /**
+     * Expire the given cookie.
+     *
+     * @param  string  $name
+     * @param  string|null  $path
+     * @param  string|null  $domain
+     * @return \Symfony\Component\HttpFoundation\Cookie
+     */
+    public function forget($name, $path = null, $domain = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cookie/QueueingFactory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cookie/QueueingFactory.php
new file mode 100644
index 0000000..d6c74b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Cookie/QueueingFactory.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Illuminate\Contracts\Cookie;
+
+interface QueueingFactory extends Factory
+{
+    /**
+     * Queue a cookie to send with the next response.
+     *
+     * @param  array  $parameters
+     * @return void
+     */
+    public function queue(...$parameters);
+
+    /**
+     * Remove a cookie from the queue.
+     *
+     * @param  string  $name
+     * @param  string|null  $path
+     * @return void
+     */
+    public function unqueue($name, $path = null);
+
+    /**
+     * Get the cookies which have been queued for the next request.
+     *
+     * @return array
+     */
+    public function getQueuedCookies();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/Castable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/Castable.php
new file mode 100644
index 0000000..911b1cf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/Castable.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Illuminate\Contracts\Database\Eloquent;
+
+interface Castable
+{
+    /**
+     * Get the name of the caster class to use when casting from / to this cast target.
+     *
+     * @param  array  $arguments
+     * @return string
+     * @return string|\Illuminate\Contracts\Database\Eloquent\CastsAttributes|\Illuminate\Contracts\Database\Eloquent\CastsInboundAttributes
+     */
+    public static function castUsing(array $arguments);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/CastsAttributes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/CastsAttributes.php
new file mode 100644
index 0000000..808d005
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/CastsAttributes.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace Illuminate\Contracts\Database\Eloquent;
+
+interface CastsAttributes
+{
+    /**
+     * Transform the attribute from the underlying model values.
+     *
+     * @param  \Illuminate\Database\Eloquent\Model  $model
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  array  $attributes
+     * @return mixed
+     */
+    public function get($model, string $key, $value, array $attributes);
+
+    /**
+     * Transform the attribute to its underlying model values.
+     *
+     * @param  \Illuminate\Database\Eloquent\Model  $model
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  array  $attributes
+     * @return mixed
+     */
+    public function set($model, string $key, $value, array $attributes);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/CastsInboundAttributes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/CastsInboundAttributes.php
new file mode 100644
index 0000000..4c7801b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/CastsInboundAttributes.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace Illuminate\Contracts\Database\Eloquent;
+
+interface CastsInboundAttributes
+{
+    /**
+     * Transform the attribute to its underlying model values.
+     *
+     * @param  \Illuminate\Database\Eloquent\Model  $model
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  array  $attributes
+     * @return mixed
+     */
+    public function set($model, string $key, $value, array $attributes);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/DeviatesCastableAttributes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/DeviatesCastableAttributes.php
new file mode 100644
index 0000000..48ba73a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/DeviatesCastableAttributes.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace Illuminate\Contracts\Database\Eloquent;
+
+interface DeviatesCastableAttributes
+{
+    /**
+     * Increment the attribute.
+     *
+     * @param  \Illuminate\Database\Eloquent\Model  $model
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  array  $attributes
+     * @return mixed
+     */
+    public function increment($model, string $key, $value, array $attributes);
+
+    /**
+     * Decrement the attribute.
+     *
+     * @param  \Illuminate\Database\Eloquent\Model  $model
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  array  $attributes
+     * @return mixed
+     */
+    public function decrement($model, string $key, $value, array $attributes);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/SerializesCastableAttributes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/SerializesCastableAttributes.php
new file mode 100644
index 0000000..a89f910
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/SerializesCastableAttributes.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace Illuminate\Contracts\Database\Eloquent;
+
+interface SerializesCastableAttributes
+{
+    /**
+     * Serialize the attribute when converting the model to an array.
+     *
+     * @param  \Illuminate\Database\Eloquent\Model  $model
+     * @param  string  $key
+     * @param  mixed  $value
+     * @param  array  $attributes
+     * @return mixed
+     */
+    public function serialize($model, string $key, $value, array $attributes);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/SupportsPartialRelations.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/SupportsPartialRelations.php
new file mode 100644
index 0000000..c82125a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Eloquent/SupportsPartialRelations.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Illuminate\Contracts\Database\Eloquent;
+
+interface SupportsPartialRelations
+{
+    /**
+     * Indicate that the relation is a single result of a larger one-to-many relationship.
+     *
+     * @param  string|null  $column
+     * @param  string|\Closure|null  $aggregate
+     * @param  string  $relation
+     * @return $this
+     */
+    public function ofMany($column = 'id', $aggregate = 'MAX', $relation = null);
+
+    /**
+     * Determine whether the relationship is a one-of-many relationship.
+     *
+     * @return bool
+     */
+    public function isOneOfMany();
+
+    /**
+     * Get the one of many inner join subselect query builder instance.
+     *
+     * @return \Illuminate\Database\Eloquent\Builder|void
+     */
+    public function getOneOfManySubQuery();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Events/MigrationEvent.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Events/MigrationEvent.php
new file mode 100644
index 0000000..2da155f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/Events/MigrationEvent.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Database\Events;
+
+interface MigrationEvent
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/ModelIdentifier.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/ModelIdentifier.php
new file mode 100644
index 0000000..9893d28
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Database/ModelIdentifier.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace Illuminate\Contracts\Database;
+
+class ModelIdentifier
+{
+    /**
+     * The class name of the model.
+     *
+     * @var string
+     */
+    public $class;
+
+    /**
+     * The unique identifier of the model.
+     *
+     * This may be either a single ID or an array of IDs.
+     *
+     * @var mixed
+     */
+    public $id;
+
+    /**
+     * The relationships loaded on the model.
+     *
+     * @var array
+     */
+    public $relations;
+
+    /**
+     * The connection name of the model.
+     *
+     * @var string|null
+     */
+    public $connection;
+
+    /**
+     * Create a new model identifier.
+     *
+     * @param  string  $class
+     * @param  mixed  $id
+     * @param  array  $relations
+     * @param  mixed  $connection
+     * @return void
+     */
+    public function __construct($class, $id, array $relations, $connection)
+    {
+        $this->id = $id;
+        $this->class = $class;
+        $this->relations = $relations;
+        $this->connection = $connection;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Debug/ExceptionHandler.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Debug/ExceptionHandler.php
new file mode 100644
index 0000000..54381a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Debug/ExceptionHandler.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace Illuminate\Contracts\Debug;
+
+use Throwable;
+
+interface ExceptionHandler
+{
+    /**
+     * Report or log an exception.
+     *
+     * @param  \Throwable  $e
+     * @return void
+     *
+     * @throws \Throwable
+     */
+    public function report(Throwable $e);
+
+    /**
+     * Determine if the exception should be reported.
+     *
+     * @param  \Throwable  $e
+     * @return bool
+     */
+    public function shouldReport(Throwable $e);
+
+    /**
+     * Render an exception into an HTTP response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Throwable  $e
+     * @return \Symfony\Component\HttpFoundation\Response
+     *
+     * @throws \Throwable
+     */
+    public function render($request, Throwable $e);
+
+    /**
+     * Render an exception to the console.
+     *
+     * @param  \Symfony\Component\Console\Output\OutputInterface  $output
+     * @param  \Throwable  $e
+     * @return void
+     */
+    public function renderForConsole($output, Throwable $e);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/DecryptException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/DecryptException.php
new file mode 100644
index 0000000..7edebc9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/DecryptException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Illuminate\Contracts\Encryption;
+
+use RuntimeException;
+
+class DecryptException extends RuntimeException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/EncryptException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/EncryptException.php
new file mode 100644
index 0000000..2146ee0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/EncryptException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Illuminate\Contracts\Encryption;
+
+use RuntimeException;
+
+class EncryptException extends RuntimeException
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/Encrypter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/Encrypter.php
new file mode 100644
index 0000000..4747b68
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/Encrypter.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace Illuminate\Contracts\Encryption;
+
+interface Encrypter
+{
+    /**
+     * Encrypt the given value.
+     *
+     * @param  mixed  $value
+     * @param  bool  $serialize
+     * @return string
+     *
+     * @throws \Illuminate\Contracts\Encryption\EncryptException
+     */
+    public function encrypt($value, $serialize = true);
+
+    /**
+     * Decrypt the given value.
+     *
+     * @param  string  $payload
+     * @param  bool  $unserialize
+     * @return mixed
+     *
+     * @throws \Illuminate\Contracts\Encryption\DecryptException
+     */
+    public function decrypt($payload, $unserialize = true);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/StringEncrypter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/StringEncrypter.php
new file mode 100644
index 0000000..1e6938c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Encryption/StringEncrypter.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Illuminate\Contracts\Encryption;
+
+interface StringEncrypter
+{
+    /**
+     * Encrypt a string without serialization.
+     *
+     * @param  string  $value
+     * @return string
+     *
+     * @throws \Illuminate\Contracts\Encryption\EncryptException
+     */
+    public function encryptString($value);
+
+    /**
+     * Decrypt the given string without unserialization.
+     *
+     * @param  string  $payload
+     * @return string
+     *
+     * @throws \Illuminate\Contracts\Encryption\DecryptException
+     */
+    public function decryptString($payload);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Events/Dispatcher.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Events/Dispatcher.php
new file mode 100644
index 0000000..6386106
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Events/Dispatcher.php
@@ -0,0 +1,82 @@
+<?php
+
+namespace Illuminate\Contracts\Events;
+
+interface Dispatcher
+{
+    /**
+     * Register an event listener with the dispatcher.
+     *
+     * @param  \Closure|string|array  $events
+     * @param  \Closure|string|array|null  $listener
+     * @return void
+     */
+    public function listen($events, $listener = null);
+
+    /**
+     * Determine if a given event has listeners.
+     *
+     * @param  string  $eventName
+     * @return bool
+     */
+    public function hasListeners($eventName);
+
+    /**
+     * Register an event subscriber with the dispatcher.
+     *
+     * @param  object|string  $subscriber
+     * @return void
+     */
+    public function subscribe($subscriber);
+
+    /**
+     * Dispatch an event until the first non-null response is returned.
+     *
+     * @param  string|object  $event
+     * @param  mixed  $payload
+     * @return array|null
+     */
+    public function until($event, $payload = []);
+
+    /**
+     * Dispatch an event and call the listeners.
+     *
+     * @param  string|object  $event
+     * @param  mixed  $payload
+     * @param  bool  $halt
+     * @return array|null
+     */
+    public function dispatch($event, $payload = [], $halt = false);
+
+    /**
+     * Register an event and payload to be fired later.
+     *
+     * @param  string  $event
+     * @param  array  $payload
+     * @return void
+     */
+    public function push($event, $payload = []);
+
+    /**
+     * Flush a set of pushed events.
+     *
+     * @param  string  $event
+     * @return void
+     */
+    public function flush($event);
+
+    /**
+     * Remove a set of listeners from the dispatcher.
+     *
+     * @param  string  $event
+     * @return void
+     */
+    public function forget($event);
+
+    /**
+     * Forget all of the queued listeners.
+     *
+     * @return void
+     */
+    public function forgetPushed();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Cloud.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Cloud.php
new file mode 100644
index 0000000..86bea26
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Cloud.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Filesystem;
+
+interface Cloud extends Filesystem
+{
+    /**
+     * Get the URL for the file at the given path.
+     *
+     * @param  string  $path
+     * @return string
+     */
+    public function url($path);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Factory.php
new file mode 100644
index 0000000..d0f9cd2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Factory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Filesystem;
+
+interface Factory
+{
+    /**
+     * Get a filesystem implementation.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Contracts\Filesystem\Filesystem
+     */
+    public function disk($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/FileExistsException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/FileExistsException.php
new file mode 100644
index 0000000..9027892
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/FileExistsException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Illuminate\Contracts\Filesystem;
+
+use Exception;
+
+class FileExistsException extends Exception
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/FileNotFoundException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/FileNotFoundException.php
new file mode 100644
index 0000000..37b7930
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/FileNotFoundException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Illuminate\Contracts\Filesystem;
+
+use Exception;
+
+class FileNotFoundException extends Exception
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Filesystem.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Filesystem.php
new file mode 100644
index 0000000..e8b0dd4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/Filesystem.php
@@ -0,0 +1,198 @@
+<?php
+
+namespace Illuminate\Contracts\Filesystem;
+
+interface Filesystem
+{
+    /**
+     * The public visibility setting.
+     *
+     * @var string
+     */
+    const VISIBILITY_PUBLIC = 'public';
+
+    /**
+     * The private visibility setting.
+     *
+     * @var string
+     */
+    const VISIBILITY_PRIVATE = 'private';
+
+    /**
+     * Determine if a file exists.
+     *
+     * @param  string  $path
+     * @return bool
+     */
+    public function exists($path);
+
+    /**
+     * Get the contents of a file.
+     *
+     * @param  string  $path
+     * @return string
+     *
+     * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException
+     */
+    public function get($path);
+
+    /**
+     * Get a resource to read the file.
+     *
+     * @param  string  $path
+     * @return resource|null The path resource or null on failure.
+     *
+     * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException
+     */
+    public function readStream($path);
+
+    /**
+     * Write the contents of a file.
+     *
+     * @param  string  $path
+     * @param  string|resource  $contents
+     * @param  mixed  $options
+     * @return bool
+     */
+    public function put($path, $contents, $options = []);
+
+    /**
+     * Write a new file using a stream.
+     *
+     * @param  string  $path
+     * @param  resource  $resource
+     * @param  array  $options
+     * @return bool
+     *
+     * @throws \InvalidArgumentException If $resource is not a file handle.
+     * @throws \Illuminate\Contracts\Filesystem\FileExistsException
+     */
+    public function writeStream($path, $resource, array $options = []);
+
+    /**
+     * Get the visibility for the given path.
+     *
+     * @param  string  $path
+     * @return string
+     */
+    public function getVisibility($path);
+
+    /**
+     * Set the visibility for the given path.
+     *
+     * @param  string  $path
+     * @param  string  $visibility
+     * @return bool
+     */
+    public function setVisibility($path, $visibility);
+
+    /**
+     * Prepend to a file.
+     *
+     * @param  string  $path
+     * @param  string  $data
+     * @return bool
+     */
+    public function prepend($path, $data);
+
+    /**
+     * Append to a file.
+     *
+     * @param  string  $path
+     * @param  string  $data
+     * @return bool
+     */
+    public function append($path, $data);
+
+    /**
+     * Delete the file at a given path.
+     *
+     * @param  string|array  $paths
+     * @return bool
+     */
+    public function delete($paths);
+
+    /**
+     * Copy a file to a new location.
+     *
+     * @param  string  $from
+     * @param  string  $to
+     * @return bool
+     */
+    public function copy($from, $to);
+
+    /**
+     * Move a file to a new location.
+     *
+     * @param  string  $from
+     * @param  string  $to
+     * @return bool
+     */
+    public function move($from, $to);
+
+    /**
+     * Get the file size of a given file.
+     *
+     * @param  string  $path
+     * @return int
+     */
+    public function size($path);
+
+    /**
+     * Get the file's last modification time.
+     *
+     * @param  string  $path
+     * @return int
+     */
+    public function lastModified($path);
+
+    /**
+     * Get an array of all files in a directory.
+     *
+     * @param  string|null  $directory
+     * @param  bool  $recursive
+     * @return array
+     */
+    public function files($directory = null, $recursive = false);
+
+    /**
+     * Get all of the files from the given directory (recursive).
+     *
+     * @param  string|null  $directory
+     * @return array
+     */
+    public function allFiles($directory = null);
+
+    /**
+     * Get all of the directories within a given directory.
+     *
+     * @param  string|null  $directory
+     * @param  bool  $recursive
+     * @return array
+     */
+    public function directories($directory = null, $recursive = false);
+
+    /**
+     * Get all (recursive) of the directories within a given directory.
+     *
+     * @param  string|null  $directory
+     * @return array
+     */
+    public function allDirectories($directory = null);
+
+    /**
+     * Create a directory.
+     *
+     * @param  string  $path
+     * @return bool
+     */
+    public function makeDirectory($path);
+
+    /**
+     * Recursively delete a directory.
+     *
+     * @param  string  $directory
+     * @return bool
+     */
+    public function deleteDirectory($directory);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/LockTimeoutException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/LockTimeoutException.php
new file mode 100644
index 0000000..f03f5c4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Filesystem/LockTimeoutException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Illuminate\Contracts\Filesystem;
+
+use Exception;
+
+class LockTimeoutException extends Exception
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/Application.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/Application.php
new file mode 100644
index 0000000..8ae0a31
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/Application.php
@@ -0,0 +1,215 @@
+<?php
+
+namespace Illuminate\Contracts\Foundation;
+
+use Illuminate\Contracts\Container\Container;
+
+interface Application extends Container
+{
+    /**
+     * Get the version number of the application.
+     *
+     * @return string
+     */
+    public function version();
+
+    /**
+     * Get the base path of the Laravel installation.
+     *
+     * @param  string  $path
+     * @return string
+     */
+    public function basePath($path = '');
+
+    /**
+     * Get the path to the bootstrap directory.
+     *
+     * @param  string  $path Optionally, a path to append to the bootstrap path
+     * @return string
+     */
+    public function bootstrapPath($path = '');
+
+    /**
+     * Get the path to the application configuration files.
+     *
+     * @param  string  $path Optionally, a path to append to the config path
+     * @return string
+     */
+    public function configPath($path = '');
+
+    /**
+     * Get the path to the database directory.
+     *
+     * @param  string  $path Optionally, a path to append to the database path
+     * @return string
+     */
+    public function databasePath($path = '');
+
+    /**
+     * Get the path to the resources directory.
+     *
+     * @param  string  $path
+     * @return string
+     */
+    public function resourcePath($path = '');
+
+    /**
+     * Get the path to the storage directory.
+     *
+     * @return string
+     */
+    public function storagePath();
+
+    /**
+     * Get or check the current application environment.
+     *
+     * @param  string|array  $environments
+     * @return string|bool
+     */
+    public function environment(...$environments);
+
+    /**
+     * Determine if the application is running in the console.
+     *
+     * @return bool
+     */
+    public function runningInConsole();
+
+    /**
+     * Determine if the application is running unit tests.
+     *
+     * @return bool
+     */
+    public function runningUnitTests();
+
+    /**
+     * Determine if the application is currently down for maintenance.
+     *
+     * @return bool
+     */
+    public function isDownForMaintenance();
+
+    /**
+     * Register all of the configured providers.
+     *
+     * @return void
+     */
+    public function registerConfiguredProviders();
+
+    /**
+     * Register a service provider with the application.
+     *
+     * @param  \Illuminate\Support\ServiceProvider|string  $provider
+     * @param  bool  $force
+     * @return \Illuminate\Support\ServiceProvider
+     */
+    public function register($provider, $force = false);
+
+    /**
+     * Register a deferred provider and service.
+     *
+     * @param  string  $provider
+     * @param  string|null  $service
+     * @return void
+     */
+    public function registerDeferredProvider($provider, $service = null);
+
+    /**
+     * Resolve a service provider instance from the class name.
+     *
+     * @param  string  $provider
+     * @return \Illuminate\Support\ServiceProvider
+     */
+    public function resolveProvider($provider);
+
+    /**
+     * Boot the application's service providers.
+     *
+     * @return void
+     */
+    public function boot();
+
+    /**
+     * Register a new boot listener.
+     *
+     * @param  callable  $callback
+     * @return void
+     */
+    public function booting($callback);
+
+    /**
+     * Register a new "booted" listener.
+     *
+     * @param  callable  $callback
+     * @return void
+     */
+    public function booted($callback);
+
+    /**
+     * Run the given array of bootstrap classes.
+     *
+     * @param  array  $bootstrappers
+     * @return void
+     */
+    public function bootstrapWith(array $bootstrappers);
+
+    /**
+     * Get the current application locale.
+     *
+     * @return string
+     */
+    public function getLocale();
+
+    /**
+     * Get the application namespace.
+     *
+     * @return string
+     *
+     * @throws \RuntimeException
+     */
+    public function getNamespace();
+
+    /**
+     * Get the registered service provider instances if any exist.
+     *
+     * @param  \Illuminate\Support\ServiceProvider|string  $provider
+     * @return array
+     */
+    public function getProviders($provider);
+
+    /**
+     * Determine if the application has been bootstrapped before.
+     *
+     * @return bool
+     */
+    public function hasBeenBootstrapped();
+
+    /**
+     * Load and boot all of the remaining deferred providers.
+     *
+     * @return void
+     */
+    public function loadDeferredProviders();
+
+    /**
+     * Set the current application locale.
+     *
+     * @param  string  $locale
+     * @return void
+     */
+    public function setLocale($locale);
+
+    /**
+     * Determine if middleware has been disabled for the application.
+     *
+     * @return bool
+     */
+    public function shouldSkipMiddleware();
+
+    /**
+     * Terminate the application.
+     *
+     * @return void
+     */
+    public function terminate();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/CachesConfiguration.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/CachesConfiguration.php
new file mode 100644
index 0000000..08ebdaf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/CachesConfiguration.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Illuminate\Contracts\Foundation;
+
+interface CachesConfiguration
+{
+    /**
+     * Determine if the application configuration is cached.
+     *
+     * @return bool
+     */
+    public function configurationIsCached();
+
+    /**
+     * Get the path to the configuration cache file.
+     *
+     * @return string
+     */
+    public function getCachedConfigPath();
+
+    /**
+     * Get the path to the cached services.php file.
+     *
+     * @return string
+     */
+    public function getCachedServicesPath();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/CachesRoutes.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/CachesRoutes.php
new file mode 100644
index 0000000..a5c3455
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Foundation/CachesRoutes.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace Illuminate\Contracts\Foundation;
+
+interface CachesRoutes
+{
+    /**
+     * Determine if the application routes are cached.
+     *
+     * @return bool
+     */
+    public function routesAreCached();
+
+    /**
+     * Get the path to the routes cache file.
+     *
+     * @return string
+     */
+    public function getCachedRoutesPath();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Hashing/Hasher.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Hashing/Hasher.php
new file mode 100644
index 0000000..b5e4d4c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Hashing/Hasher.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Illuminate\Contracts\Hashing;
+
+interface Hasher
+{
+    /**
+     * Get information about the given hashed value.
+     *
+     * @param  string  $hashedValue
+     * @return array
+     */
+    public function info($hashedValue);
+
+    /**
+     * Hash the given value.
+     *
+     * @param  string  $value
+     * @param  array  $options
+     * @return string
+     */
+    public function make($value, array $options = []);
+
+    /**
+     * Check the given plain value against a hash.
+     *
+     * @param  string  $value
+     * @param  string  $hashedValue
+     * @param  array  $options
+     * @return bool
+     */
+    public function check($value, $hashedValue, array $options = []);
+
+    /**
+     * Check if the given hash has been hashed using the given options.
+     *
+     * @param  string  $hashedValue
+     * @param  array  $options
+     * @return bool
+     */
+    public function needsRehash($hashedValue, array $options = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Http/Kernel.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Http/Kernel.php
new file mode 100644
index 0000000..6eab6e6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Http/Kernel.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Illuminate\Contracts\Http;
+
+interface Kernel
+{
+    /**
+     * Bootstrap the application for HTTP requests.
+     *
+     * @return void
+     */
+    public function bootstrap();
+
+    /**
+     * Handle an incoming HTTP request.
+     *
+     * @param  \Symfony\Component\HttpFoundation\Request  $request
+     * @return \Symfony\Component\HttpFoundation\Response
+     */
+    public function handle($request);
+
+    /**
+     * Perform any final actions for the request lifecycle.
+     *
+     * @param  \Symfony\Component\HttpFoundation\Request  $request
+     * @param  \Symfony\Component\HttpFoundation\Response  $response
+     * @return void
+     */
+    public function terminate($request, $response);
+
+    /**
+     * Get the Laravel application instance.
+     *
+     * @return \Illuminate\Contracts\Foundation\Application
+     */
+    public function getApplication();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/LICENSE.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/LICENSE.md
new file mode 100644
index 0000000..79810c8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/LICENSE.md
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Taylor Otwell
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Factory.php
new file mode 100644
index 0000000..fe45a2f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Factory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Mail;
+
+interface Factory
+{
+    /**
+     * Get a mailer instance by name.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Contracts\Mail\Mailer
+     */
+    public function mailer($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/MailQueue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/MailQueue.php
new file mode 100644
index 0000000..d0d90b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/MailQueue.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Illuminate\Contracts\Mail;
+
+interface MailQueue
+{
+    /**
+     * Queue a new e-mail message for sending.
+     *
+     * @param  \Illuminate\Contracts\Mail\Mailable|string|array  $view
+     * @param  string|null  $queue
+     * @return mixed
+     */
+    public function queue($view, $queue = null);
+
+    /**
+     * Queue a new e-mail message for sending after (n) seconds.
+     *
+     * @param  \DateTimeInterface|\DateInterval|int  $delay
+     * @param  \Illuminate\Contracts\Mail\Mailable|string|array  $view
+     * @param  string|null  $queue
+     * @return mixed
+     */
+    public function later($delay, $view, $queue = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Mailable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Mailable.php
new file mode 100644
index 0000000..bfdf4ef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Mailable.php
@@ -0,0 +1,76 @@
+<?php
+
+namespace Illuminate\Contracts\Mail;
+
+use Illuminate\Contracts\Queue\Factory as Queue;
+
+interface Mailable
+{
+    /**
+     * Send the message using the given mailer.
+     *
+     * @param  \Illuminate\Contracts\Mail\Factory|\Illuminate\Contracts\Mail\Mailer  $mailer
+     * @return void
+     */
+    public function send($mailer);
+
+    /**
+     * Queue the given message.
+     *
+     * @param  \Illuminate\Contracts\Queue\Factory  $queue
+     * @return mixed
+     */
+    public function queue(Queue $queue);
+
+    /**
+     * Deliver the queued message after the given delay.
+     *
+     * @param  \DateTimeInterface|\DateInterval|int  $delay
+     * @param  \Illuminate\Contracts\Queue\Factory  $queue
+     * @return mixed
+     */
+    public function later($delay, Queue $queue);
+
+    /**
+     * Set the recipients of the message.
+     *
+     * @param  object|array|string  $address
+     * @param  string|null  $name
+     * @return self
+     */
+    public function cc($address, $name = null);
+
+    /**
+     * Set the recipients of the message.
+     *
+     * @param  object|array|string  $address
+     * @param  string|null  $name
+     * @return $this
+     */
+    public function bcc($address, $name = null);
+
+    /**
+     * Set the recipients of the message.
+     *
+     * @param  object|array|string  $address
+     * @param  string|null  $name
+     * @return $this
+     */
+    public function to($address, $name = null);
+
+    /**
+     * Set the locale of the message.
+     *
+     * @param  string  $locale
+     * @return $this
+     */
+    public function locale($locale);
+
+    /**
+     * Set the name of the mailer that should be used to send the message.
+     *
+     * @param  string  $mailer
+     * @return $this
+     */
+    public function mailer($mailer);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Mailer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Mailer.php
new file mode 100644
index 0000000..255b678
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Mail/Mailer.php
@@ -0,0 +1,48 @@
+<?php
+
+namespace Illuminate\Contracts\Mail;
+
+interface Mailer
+{
+    /**
+     * Begin the process of mailing a mailable class instance.
+     *
+     * @param  mixed  $users
+     * @return \Illuminate\Mail\PendingMail
+     */
+    public function to($users);
+
+    /**
+     * Begin the process of mailing a mailable class instance.
+     *
+     * @param  mixed  $users
+     * @return \Illuminate\Mail\PendingMail
+     */
+    public function bcc($users);
+
+    /**
+     * Send a new message with only a raw text part.
+     *
+     * @param  string  $text
+     * @param  mixed  $callback
+     * @return void
+     */
+    public function raw($text, $callback);
+
+    /**
+     * Send a new message using a view.
+     *
+     * @param  \Illuminate\Contracts\Mail\Mailable|string|array  $view
+     * @param  array  $data
+     * @param  \Closure|string|null  $callback
+     * @return void
+     */
+    public function send($view, array $data = [], $callback = null);
+
+    /**
+     * Get the array of failed recipients.
+     *
+     * @return array
+     */
+    public function failures();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Notifications/Dispatcher.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Notifications/Dispatcher.php
new file mode 100644
index 0000000..a483ca2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Notifications/Dispatcher.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Illuminate\Contracts\Notifications;
+
+interface Dispatcher
+{
+    /**
+     * Send the given notification to the given notifiable entities.
+     *
+     * @param  \Illuminate\Support\Collection|array|mixed  $notifiables
+     * @param  mixed  $notification
+     * @return void
+     */
+    public function send($notifiables, $notification);
+
+    /**
+     * Send the given notification immediately.
+     *
+     * @param  \Illuminate\Support\Collection|array|mixed  $notifiables
+     * @param  mixed  $notification
+     * @return void
+     */
+    public function sendNow($notifiables, $notification);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Notifications/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Notifications/Factory.php
new file mode 100644
index 0000000..7705678
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Notifications/Factory.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace Illuminate\Contracts\Notifications;
+
+interface Factory
+{
+    /**
+     * Get a channel instance by name.
+     *
+     * @param  string|null  $name
+     * @return mixed
+     */
+    public function channel($name = null);
+
+    /**
+     * Send the given notification to the given notifiable entities.
+     *
+     * @param  \Illuminate\Support\Collection|array|mixed  $notifiables
+     * @param  mixed  $notification
+     * @return void
+     */
+    public function send($notifiables, $notification);
+
+    /**
+     * Send the given notification immediately.
+     *
+     * @param  \Illuminate\Support\Collection|array|mixed  $notifiables
+     * @param  mixed  $notification
+     * @return void
+     */
+    public function sendNow($notifiables, $notification);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/CursorPaginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/CursorPaginator.php
new file mode 100644
index 0000000..2d62d3a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/CursorPaginator.php
@@ -0,0 +1,117 @@
+<?php
+
+namespace Illuminate\Contracts\Pagination;
+
+interface CursorPaginator
+{
+    /**
+     * Get the URL for a given cursor.
+     *
+     * @param  \Illuminate\Pagination\Cursor|null  $cursor
+     * @return string
+     */
+    public function url($cursor);
+
+    /**
+     * Add a set of query string values to the paginator.
+     *
+     * @param  array|string|null  $key
+     * @param  string|null  $value
+     * @return $this
+     */
+    public function appends($key, $value = null);
+
+    /**
+     * Get / set the URL fragment to be appended to URLs.
+     *
+     * @param  string|null  $fragment
+     * @return $this|string|null
+     */
+    public function fragment($fragment = null);
+
+    /**
+     * Get the URL for the previous page, or null.
+     *
+     * @return string|null
+     */
+    public function previousPageUrl();
+
+    /**
+     * The URL for the next page, or null.
+     *
+     * @return string|null
+     */
+    public function nextPageUrl();
+
+    /**
+     * Get all of the items being paginated.
+     *
+     * @return array
+     */
+    public function items();
+
+    /**
+     * Get the "cursor" of the previous set of items.
+     *
+     * @return \Illuminate\Pagination\Cursor|null
+     */
+    public function previousCursor();
+
+    /**
+     * Get the "cursor" of the next set of items.
+     *
+     * @return \Illuminate\Pagination\Cursor|null
+     */
+    public function nextCursor();
+
+    /**
+     * Determine how many items are being shown per page.
+     *
+     * @return int
+     */
+    public function perPage();
+
+    /**
+     * Get the current cursor being paginated.
+     *
+     * @return \Illuminate\Pagination\Cursor|null
+     */
+    public function cursor();
+
+    /**
+     * Determine if there are enough items to split into multiple pages.
+     *
+     * @return bool
+     */
+    public function hasPages();
+
+    /**
+     * Get the base path for paginator generated URLs.
+     *
+     * @return string|null
+     */
+    public function path();
+
+    /**
+     * Determine if the list of items is empty or not.
+     *
+     * @return bool
+     */
+    public function isEmpty();
+
+    /**
+     * Determine if the list of items is not empty.
+     *
+     * @return bool
+     */
+    public function isNotEmpty();
+
+    /**
+     * Render the paginator using a given view.
+     *
+     * @param  string|null  $view
+     * @param  array  $data
+     * @return string
+     */
+    public function render($view = null, $data = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/LengthAwarePaginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/LengthAwarePaginator.php
new file mode 100644
index 0000000..4e6ef71
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/LengthAwarePaginator.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace Illuminate\Contracts\Pagination;
+
+interface LengthAwarePaginator extends Paginator
+{
+    /**
+     * Create a range of pagination URLs.
+     *
+     * @param  int  $start
+     * @param  int  $end
+     * @return array
+     */
+    public function getUrlRange($start, $end);
+
+    /**
+     * Determine the total number of items in the data store.
+     *
+     * @return int
+     */
+    public function total();
+
+    /**
+     * Get the page number of the last available page.
+     *
+     * @return int
+     */
+    public function lastPage();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/Paginator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/Paginator.php
new file mode 100644
index 0000000..49bafaa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pagination/Paginator.php
@@ -0,0 +1,124 @@
+<?php
+
+namespace Illuminate\Contracts\Pagination;
+
+interface Paginator
+{
+    /**
+     * Get the URL for a given page.
+     *
+     * @param  int  $page
+     * @return string
+     */
+    public function url($page);
+
+    /**
+     * Add a set of query string values to the paginator.
+     *
+     * @param  array|string  $key
+     * @param  string|null  $value
+     * @return $this
+     */
+    public function appends($key, $value = null);
+
+    /**
+     * Get / set the URL fragment to be appended to URLs.
+     *
+     * @param  string|null  $fragment
+     * @return $this|string
+     */
+    public function fragment($fragment = null);
+
+    /**
+     * The URL for the next page, or null.
+     *
+     * @return string|null
+     */
+    public function nextPageUrl();
+
+    /**
+     * Get the URL for the previous page, or null.
+     *
+     * @return string|null
+     */
+    public function previousPageUrl();
+
+    /**
+     * Get all of the items being paginated.
+     *
+     * @return array
+     */
+    public function items();
+
+    /**
+     * Get the "index" of the first item being paginated.
+     *
+     * @return int
+     */
+    public function firstItem();
+
+    /**
+     * Get the "index" of the last item being paginated.
+     *
+     * @return int
+     */
+    public function lastItem();
+
+    /**
+     * Determine how many items are being shown per page.
+     *
+     * @return int
+     */
+    public function perPage();
+
+    /**
+     * Determine the current page being paginated.
+     *
+     * @return int
+     */
+    public function currentPage();
+
+    /**
+     * Determine if there are enough items to split into multiple pages.
+     *
+     * @return bool
+     */
+    public function hasPages();
+
+    /**
+     * Determine if there are more items in the data store.
+     *
+     * @return bool
+     */
+    public function hasMorePages();
+
+    /**
+     * Get the base path for paginator generated URLs.
+     *
+     * @return string|null
+     */
+    public function path();
+
+    /**
+     * Determine if the list of items is empty or not.
+     *
+     * @return bool
+     */
+    public function isEmpty();
+
+    /**
+     * Determine if the list of items is not empty.
+     *
+     * @return bool
+     */
+    public function isNotEmpty();
+
+    /**
+     * Render the paginator using a given view.
+     *
+     * @param  string|null  $view
+     * @param  array  $data
+     * @return string
+     */
+    public function render($view = null, $data = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pipeline/Hub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pipeline/Hub.php
new file mode 100644
index 0000000..1ae675f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pipeline/Hub.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Illuminate\Contracts\Pipeline;
+
+interface Hub
+{
+    /**
+     * Send an object through one of the available pipelines.
+     *
+     * @param  mixed  $object
+     * @param  string|null  $pipeline
+     * @return mixed
+     */
+    public function pipe($object, $pipeline = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pipeline/Pipeline.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pipeline/Pipeline.php
new file mode 100644
index 0000000..226081c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Pipeline/Pipeline.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace Illuminate\Contracts\Pipeline;
+
+use Closure;
+
+interface Pipeline
+{
+    /**
+     * Set the traveler object being sent on the pipeline.
+     *
+     * @param  mixed  $traveler
+     * @return $this
+     */
+    public function send($traveler);
+
+    /**
+     * Set the stops of the pipeline.
+     *
+     * @param  dynamic|array  $stops
+     * @return $this
+     */
+    public function through($stops);
+
+    /**
+     * Set the method to call on the stops.
+     *
+     * @param  string  $method
+     * @return $this
+     */
+    public function via($method);
+
+    /**
+     * Run the pipeline with a final destination callback.
+     *
+     * @param  \Closure  $destination
+     * @return mixed
+     */
+    public function then(Closure $destination);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ClearableQueue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ClearableQueue.php
new file mode 100644
index 0000000..427f61b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ClearableQueue.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface ClearableQueue
+{
+    /**
+     * Delete all of the jobs from the queue.
+     *
+     * @param  string  $queue
+     * @return int
+     */
+    public function clear($queue);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/EntityNotFoundException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/EntityNotFoundException.php
new file mode 100644
index 0000000..079250d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/EntityNotFoundException.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+use InvalidArgumentException;
+
+class EntityNotFoundException extends InvalidArgumentException
+{
+    /**
+     * Create a new exception instance.
+     *
+     * @param  string  $type
+     * @param  mixed  $id
+     * @return void
+     */
+    public function __construct($type, $id)
+    {
+        $id = (string) $id;
+
+        parent::__construct("Queueable entity [{$type}] not found for ID [{$id}].");
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/EntityResolver.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/EntityResolver.php
new file mode 100644
index 0000000..aad97a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/EntityResolver.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface EntityResolver
+{
+    /**
+     * Resolve the entity for the given ID.
+     *
+     * @param  string  $type
+     * @param  mixed  $id
+     * @return mixed
+     */
+    public function resolve($type, $id);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Factory.php
new file mode 100644
index 0000000..9a0bdeb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Factory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface Factory
+{
+    /**
+     * Resolve a queue connection instance.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Contracts\Queue\Queue
+     */
+    public function connection($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Job.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Job.php
new file mode 100644
index 0000000..c856215
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Job.php
@@ -0,0 +1,166 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface Job
+{
+    /**
+     * Get the UUID of the job.
+     *
+     * @return string|null
+     */
+    public function uuid();
+
+    /**
+     * Get the job identifier.
+     *
+     * @return string
+     */
+    public function getJobId();
+
+    /**
+     * Get the decoded body of the job.
+     *
+     * @return array
+     */
+    public function payload();
+
+    /**
+     * Fire the job.
+     *
+     * @return void
+     */
+    public function fire();
+
+    /**
+     * Release the job back into the queue.
+     *
+     * Accepts a delay specified in seconds.
+     *
+     * @param  int  $delay
+     * @return void
+     */
+    public function release($delay = 0);
+
+    /**
+     * Determine if the job was released back into the queue.
+     *
+     * @return bool
+     */
+    public function isReleased();
+
+    /**
+     * Delete the job from the queue.
+     *
+     * @return void
+     */
+    public function delete();
+
+    /**
+     * Determine if the job has been deleted.
+     *
+     * @return bool
+     */
+    public function isDeleted();
+
+    /**
+     * Determine if the job has been deleted or released.
+     *
+     * @return bool
+     */
+    public function isDeletedOrReleased();
+
+    /**
+     * Get the number of times the job has been attempted.
+     *
+     * @return int
+     */
+    public function attempts();
+
+    /**
+     * Determine if the job has been marked as a failure.
+     *
+     * @return bool
+     */
+    public function hasFailed();
+
+    /**
+     * Mark the job as "failed".
+     *
+     * @return void
+     */
+    public function markAsFailed();
+
+    /**
+     * Delete the job, call the "failed" method, and raise the failed job event.
+     *
+     * @param  \Throwable|null  $e
+     * @return void
+     */
+    public function fail($e = null);
+
+    /**
+     * Get the number of times to attempt a job.
+     *
+     * @return int|null
+     */
+    public function maxTries();
+
+    /**
+     * Get the maximum number of exceptions allowed, regardless of attempts.
+     *
+     * @return int|null
+     */
+    public function maxExceptions();
+
+    /**
+     * Get the number of seconds the job can run.
+     *
+     * @return int|null
+     */
+    public function timeout();
+
+    /**
+     * Get the timestamp indicating when the job should timeout.
+     *
+     * @return int|null
+     */
+    public function retryUntil();
+
+    /**
+     * Get the name of the queued job class.
+     *
+     * @return string
+     */
+    public function getName();
+
+    /**
+     * Get the resolved name of the queued job class.
+     *
+     * Resolves the name of "wrapped" jobs such as class-based handlers.
+     *
+     * @return string
+     */
+    public function resolveName();
+
+    /**
+     * Get the name of the connection the job belongs to.
+     *
+     * @return string
+     */
+    public function getConnectionName();
+
+    /**
+     * Get the name of the queue the job belongs to.
+     *
+     * @return string
+     */
+    public function getQueue();
+
+    /**
+     * Get the raw body string for the job.
+     *
+     * @return string
+     */
+    public function getRawBody();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Monitor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Monitor.php
new file mode 100644
index 0000000..7da62d3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Monitor.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface Monitor
+{
+    /**
+     * Register a callback to be executed on every iteration through the queue loop.
+     *
+     * @param  mixed  $callback
+     * @return void
+     */
+    public function looping($callback);
+
+    /**
+     * Register a callback to be executed when a job fails after the maximum amount of retries.
+     *
+     * @param  mixed  $callback
+     * @return void
+     */
+    public function failing($callback);
+
+    /**
+     * Register a callback to be executed when a daemon queue is stopping.
+     *
+     * @param  mixed  $callback
+     * @return void
+     */
+    public function stopping($callback);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Queue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Queue.php
new file mode 100644
index 0000000..073b3c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/Queue.php
@@ -0,0 +1,99 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface Queue
+{
+    /**
+     * Get the size of the queue.
+     *
+     * @param  string|null  $queue
+     * @return int
+     */
+    public function size($queue = null);
+
+    /**
+     * Push a new job onto the queue.
+     *
+     * @param  string|object  $job
+     * @param  mixed  $data
+     * @param  string|null  $queue
+     * @return mixed
+     */
+    public function push($job, $data = '', $queue = null);
+
+    /**
+     * Push a new job onto the queue.
+     *
+     * @param  string  $queue
+     * @param  string|object  $job
+     * @param  mixed  $data
+     * @return mixed
+     */
+    public function pushOn($queue, $job, $data = '');
+
+    /**
+     * Push a raw payload onto the queue.
+     *
+     * @param  string  $payload
+     * @param  string|null  $queue
+     * @param  array  $options
+     * @return mixed
+     */
+    public function pushRaw($payload, $queue = null, array $options = []);
+
+    /**
+     * Push a new job onto the queue after a delay.
+     *
+     * @param  \DateTimeInterface|\DateInterval|int  $delay
+     * @param  string|object  $job
+     * @param  mixed  $data
+     * @param  string|null  $queue
+     * @return mixed
+     */
+    public function later($delay, $job, $data = '', $queue = null);
+
+    /**
+     * Push a new job onto the queue after a delay.
+     *
+     * @param  string  $queue
+     * @param  \DateTimeInterface|\DateInterval|int  $delay
+     * @param  string|object  $job
+     * @param  mixed  $data
+     * @return mixed
+     */
+    public function laterOn($queue, $delay, $job, $data = '');
+
+    /**
+     * Push an array of jobs onto the queue.
+     *
+     * @param  array  $jobs
+     * @param  mixed  $data
+     * @param  string|null  $queue
+     * @return mixed
+     */
+    public function bulk($jobs, $data = '', $queue = null);
+
+    /**
+     * Pop the next job off of the queue.
+     *
+     * @param  string|null  $queue
+     * @return \Illuminate\Contracts\Queue\Job|null
+     */
+    public function pop($queue = null);
+
+    /**
+     * Get the connection name for the queue.
+     *
+     * @return string
+     */
+    public function getConnectionName();
+
+    /**
+     * Set the connection name for the queue.
+     *
+     * @param  string  $name
+     * @return $this
+     */
+    public function setConnectionName($name);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/QueueableCollection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/QueueableCollection.php
new file mode 100644
index 0000000..7f1ea19
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/QueueableCollection.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface QueueableCollection
+{
+    /**
+     * Get the type of the entities being queued.
+     *
+     * @return string|null
+     */
+    public function getQueueableClass();
+
+    /**
+     * Get the identifiers for all of the entities.
+     *
+     * @return array
+     */
+    public function getQueueableIds();
+
+    /**
+     * Get the relationships of the entities being queued.
+     *
+     * @return array
+     */
+    public function getQueueableRelations();
+
+    /**
+     * Get the connection of the entities being queued.
+     *
+     * @return string|null
+     */
+    public function getQueueableConnection();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/QueueableEntity.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/QueueableEntity.php
new file mode 100644
index 0000000..366f0c8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/QueueableEntity.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface QueueableEntity
+{
+    /**
+     * Get the queueable identity for the entity.
+     *
+     * @return mixed
+     */
+    public function getQueueableId();
+
+    /**
+     * Get the relationships for the entity.
+     *
+     * @return array
+     */
+    public function getQueueableRelations();
+
+    /**
+     * Get the connection of the entity.
+     *
+     * @return string|null
+     */
+    public function getQueueableConnection();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeEncrypted.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeEncrypted.php
new file mode 100644
index 0000000..374df89
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeEncrypted.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface ShouldBeEncrypted
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeUnique.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeUnique.php
new file mode 100644
index 0000000..b216434
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeUnique.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface ShouldBeUnique
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeUniqueUntilProcessing.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeUniqueUntilProcessing.php
new file mode 100644
index 0000000..510cab9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldBeUniqueUntilProcessing.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface ShouldBeUniqueUntilProcessing extends ShouldBeUnique
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldQueue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldQueue.php
new file mode 100644
index 0000000..0e99652
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Queue/ShouldQueue.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Queue;
+
+interface ShouldQueue
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Connection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Connection.php
new file mode 100644
index 0000000..74a8832
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Connection.php
@@ -0,0 +1,35 @@
+<?php
+
+namespace Illuminate\Contracts\Redis;
+
+use Closure;
+
+interface Connection
+{
+    /**
+     * Subscribe to a set of given channels for messages.
+     *
+     * @param  array|string  $channels
+     * @param  \Closure  $callback
+     * @return void
+     */
+    public function subscribe($channels, Closure $callback);
+
+    /**
+     * Subscribe to a set of given channels with wildcards.
+     *
+     * @param  array|string  $channels
+     * @param  \Closure  $callback
+     * @return void
+     */
+    public function psubscribe($channels, Closure $callback);
+
+    /**
+     * Run a command against the Redis database.
+     *
+     * @param  string  $method
+     * @param  array  $parameters
+     * @return mixed
+     */
+    public function command($method, array $parameters = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Connector.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Connector.php
new file mode 100644
index 0000000..e2669f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Connector.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Illuminate\Contracts\Redis;
+
+interface Connector
+{
+    /**
+     * Create a connection to a Redis cluster.
+     *
+     * @param  array  $config
+     * @param  array  $options
+     * @return \Illuminate\Redis\Connections\Connection
+     */
+    public function connect(array $config, array $options);
+
+    /**
+     * Create a connection to a Redis instance.
+     *
+     * @param  array  $config
+     * @param  array  $clusterOptions
+     * @param  array  $options
+     * @return \Illuminate\Redis\Connections\Connection
+     */
+    public function connectToCluster(array $config, array $clusterOptions, array $options);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Factory.php
new file mode 100644
index 0000000..c2bfe81
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/Factory.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Redis;
+
+interface Factory
+{
+    /**
+     * Get a Redis connection by name.
+     *
+     * @param  string|null  $name
+     * @return \Illuminate\Redis\Connections\Connection
+     */
+    public function connection($name = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/LimiterTimeoutException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/LimiterTimeoutException.php
new file mode 100644
index 0000000..651bf90
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Redis/LimiterTimeoutException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Illuminate\Contracts\Redis;
+
+use Exception;
+
+class LimiterTimeoutException extends Exception
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/BindingRegistrar.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/BindingRegistrar.php
new file mode 100644
index 0000000..6ed5079
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/BindingRegistrar.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Illuminate\Contracts\Routing;
+
+interface BindingRegistrar
+{
+    /**
+     * Add a new route parameter binder.
+     *
+     * @param  string  $key
+     * @param  string|callable  $binder
+     * @return void
+     */
+    public function bind($key, $binder);
+
+    /**
+     * Get the binding callback for a given binding.
+     *
+     * @param  string  $key
+     * @return \Closure
+     */
+    public function getBindingCallback($key);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/Registrar.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/Registrar.php
new file mode 100644
index 0000000..57e3272
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/Registrar.php
@@ -0,0 +1,105 @@
+<?php
+
+namespace Illuminate\Contracts\Routing;
+
+interface Registrar
+{
+    /**
+     * Register a new GET route with the router.
+     *
+     * @param  string  $uri
+     * @param  array|string|callable  $action
+     * @return \Illuminate\Routing\Route
+     */
+    public function get($uri, $action);
+
+    /**
+     * Register a new POST route with the router.
+     *
+     * @param  string  $uri
+     * @param  array|string|callable  $action
+     * @return \Illuminate\Routing\Route
+     */
+    public function post($uri, $action);
+
+    /**
+     * Register a new PUT route with the router.
+     *
+     * @param  string  $uri
+     * @param  array|string|callable  $action
+     * @return \Illuminate\Routing\Route
+     */
+    public function put($uri, $action);
+
+    /**
+     * Register a new DELETE route with the router.
+     *
+     * @param  string  $uri
+     * @param  array|string|callable  $action
+     * @return \Illuminate\Routing\Route
+     */
+    public function delete($uri, $action);
+
+    /**
+     * Register a new PATCH route with the router.
+     *
+     * @param  string  $uri
+     * @param  array|string|callable  $action
+     * @return \Illuminate\Routing\Route
+     */
+    public function patch($uri, $action);
+
+    /**
+     * Register a new OPTIONS route with the router.
+     *
+     * @param  string  $uri
+     * @param  array|string|callable  $action
+     * @return \Illuminate\Routing\Route
+     */
+    public function options($uri, $action);
+
+    /**
+     * Register a new route with the given verbs.
+     *
+     * @param  array|string  $methods
+     * @param  string  $uri
+     * @param  array|string|callable  $action
+     * @return \Illuminate\Routing\Route
+     */
+    public function match($methods, $uri, $action);
+
+    /**
+     * Route a resource to a controller.
+     *
+     * @param  string  $name
+     * @param  string  $controller
+     * @param  array  $options
+     * @return \Illuminate\Routing\PendingResourceRegistration
+     */
+    public function resource($name, $controller, array $options = []);
+
+    /**
+     * Create a route group with shared attributes.
+     *
+     * @param  array  $attributes
+     * @param  \Closure|string  $routes
+     * @return void
+     */
+    public function group(array $attributes, $routes);
+
+    /**
+     * Substitute the route bindings onto the route.
+     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @return \Illuminate\Routing\Route
+     */
+    public function substituteBindings($route);
+
+    /**
+     * Substitute the implicit Eloquent model bindings for the route.
+     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @return void
+     */
+    public function substituteImplicitBindings($route);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/ResponseFactory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/ResponseFactory.php
new file mode 100644
index 0000000..2cd928d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/ResponseFactory.php
@@ -0,0 +1,155 @@
+<?php
+
+namespace Illuminate\Contracts\Routing;
+
+interface ResponseFactory
+{
+    /**
+     * Create a new response instance.
+     *
+     * @param  string  $content
+     * @param  int  $status
+     * @param  array  $headers
+     * @return \Illuminate\Http\Response
+     */
+    public function make($content = '', $status = 200, array $headers = []);
+
+    /**
+     * Create a new "no content" response.
+     *
+     * @param  int  $status
+     * @param  array  $headers
+     * @return \Illuminate\Http\Response
+     */
+    public function noContent($status = 204, array $headers = []);
+
+    /**
+     * Create a new response for a given view.
+     *
+     * @param  string|array  $view
+     * @param  array  $data
+     * @param  int  $status
+     * @param  array  $headers
+     * @return \Illuminate\Http\Response
+     */
+    public function view($view, $data = [], $status = 200, array $headers = []);
+
+    /**
+     * Create a new JSON response instance.
+     *
+     * @param  mixed  $data
+     * @param  int  $status
+     * @param  array  $headers
+     * @param  int  $options
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function json($data = [], $status = 200, array $headers = [], $options = 0);
+
+    /**
+     * Create a new JSONP response instance.
+     *
+     * @param  string  $callback
+     * @param  mixed  $data
+     * @param  int  $status
+     * @param  array  $headers
+     * @param  int  $options
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function jsonp($callback, $data = [], $status = 200, array $headers = [], $options = 0);
+
+    /**
+     * Create a new streamed response instance.
+     *
+     * @param  \Closure  $callback
+     * @param  int  $status
+     * @param  array  $headers
+     * @return \Symfony\Component\HttpFoundation\StreamedResponse
+     */
+    public function stream($callback, $status = 200, array $headers = []);
+
+    /**
+     * Create a new streamed response instance as a file download.
+     *
+     * @param  \Closure  $callback
+     * @param  string|null  $name
+     * @param  array  $headers
+     * @param  string|null  $disposition
+     * @return \Symfony\Component\HttpFoundation\StreamedResponse
+     */
+    public function streamDownload($callback, $name = null, array $headers = [], $disposition = 'attachment');
+
+    /**
+     * Create a new file download response.
+     *
+     * @param  \SplFileInfo|string  $file
+     * @param  string|null  $name
+     * @param  array  $headers
+     * @param  string|null  $disposition
+     * @return \Symfony\Component\HttpFoundation\BinaryFileResponse
+     */
+    public function download($file, $name = null, array $headers = [], $disposition = 'attachment');
+
+    /**
+     * Return the raw contents of a binary file.
+     *
+     * @param  \SplFileInfo|string  $file
+     * @param  array  $headers
+     * @return \Symfony\Component\HttpFoundation\BinaryFileResponse
+     */
+    public function file($file, array $headers = []);
+
+    /**
+     * Create a new redirect response to the given path.
+     *
+     * @param  string  $path
+     * @param  int  $status
+     * @param  array  $headers
+     * @param  bool|null  $secure
+     * @return \Illuminate\Http\RedirectResponse
+     */
+    public function redirectTo($path, $status = 302, $headers = [], $secure = null);
+
+    /**
+     * Create a new redirect response to a named route.
+     *
+     * @param  string  $route
+     * @param  mixed  $parameters
+     * @param  int  $status
+     * @param  array  $headers
+     * @return \Illuminate\Http\RedirectResponse
+     */
+    public function redirectToRoute($route, $parameters = [], $status = 302, $headers = []);
+
+    /**
+     * Create a new redirect response to a controller action.
+     *
+     * @param  string  $action
+     * @param  mixed  $parameters
+     * @param  int  $status
+     * @param  array  $headers
+     * @return \Illuminate\Http\RedirectResponse
+     */
+    public function redirectToAction($action, $parameters = [], $status = 302, $headers = []);
+
+    /**
+     * Create a new redirect response, while putting the current URL in the session.
+     *
+     * @param  string  $path
+     * @param  int  $status
+     * @param  array  $headers
+     * @param  bool|null  $secure
+     * @return \Illuminate\Http\RedirectResponse
+     */
+    public function redirectGuest($path, $status = 302, $headers = [], $secure = null);
+
+    /**
+     * Create a new redirect response to the previously intended location.
+     *
+     * @param  string  $default
+     * @param  int  $status
+     * @param  array  $headers
+     * @param  bool|null  $secure
+     * @return \Illuminate\Http\RedirectResponse
+     */
+    public function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/UrlGenerator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/UrlGenerator.php
new file mode 100644
index 0000000..e576dda
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/UrlGenerator.php
@@ -0,0 +1,79 @@
+<?php
+
+namespace Illuminate\Contracts\Routing;
+
+interface UrlGenerator
+{
+    /**
+     * Get the current URL for the request.
+     *
+     * @return string
+     */
+    public function current();
+
+    /**
+     * Get the URL for the previous request.
+     *
+     * @param  mixed  $fallback
+     * @return string
+     */
+    public function previous($fallback = false);
+
+    /**
+     * Generate an absolute URL to the given path.
+     *
+     * @param  string  $path
+     * @param  mixed  $extra
+     * @param  bool|null  $secure
+     * @return string
+     */
+    public function to($path, $extra = [], $secure = null);
+
+    /**
+     * Generate a secure, absolute URL to the given path.
+     *
+     * @param  string  $path
+     * @param  array  $parameters
+     * @return string
+     */
+    public function secure($path, $parameters = []);
+
+    /**
+     * Generate the URL to an application asset.
+     *
+     * @param  string  $path
+     * @param  bool|null  $secure
+     * @return string
+     */
+    public function asset($path, $secure = null);
+
+    /**
+     * Get the URL to a named route.
+     *
+     * @param  string  $name
+     * @param  mixed  $parameters
+     * @param  bool  $absolute
+     * @return string
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function route($name, $parameters = [], $absolute = true);
+
+    /**
+     * Get the URL to a controller action.
+     *
+     * @param  string|array  $action
+     * @param  mixed  $parameters
+     * @param  bool  $absolute
+     * @return string
+     */
+    public function action($action, $parameters = [], $absolute = true);
+
+    /**
+     * Set the root controller namespace.
+     *
+     * @param  string  $rootNamespace
+     * @return $this
+     */
+    public function setRootControllerNamespace($rootNamespace);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/UrlRoutable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/UrlRoutable.php
new file mode 100644
index 0000000..48c3d72
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Routing/UrlRoutable.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Illuminate\Contracts\Routing;
+
+interface UrlRoutable
+{
+    /**
+     * Get the value of the model's route key.
+     *
+     * @return mixed
+     */
+    public function getRouteKey();
+
+    /**
+     * Get the route key for the model.
+     *
+     * @return string
+     */
+    public function getRouteKeyName();
+
+    /**
+     * Retrieve the model for a bound value.
+     *
+     * @param  mixed  $value
+     * @param  string|null  $field
+     * @return \Illuminate\Database\Eloquent\Model|null
+     */
+    public function resolveRouteBinding($value, $field = null);
+
+    /**
+     * Retrieve the child model for a bound value.
+     *
+     * @param  string  $childType
+     * @param  mixed  $value
+     * @param  string|null  $field
+     * @return \Illuminate\Database\Eloquent\Model|null
+     */
+    public function resolveChildRouteBinding($childType, $value, $field);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Session/Session.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Session/Session.php
new file mode 100644
index 0000000..1bf025a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Session/Session.php
@@ -0,0 +1,204 @@
+<?php
+
+namespace Illuminate\Contracts\Session;
+
+interface Session
+{
+    /**
+     * Get the name of the session.
+     *
+     * @return string
+     */
+    public function getName();
+
+    /**
+     * Set the name of the session.
+     *
+     * @param  string  $name
+     * @return void
+     */
+    public function setName($name);
+
+    /**
+     * Get the current session ID.
+     *
+     * @return string
+     */
+    public function getId();
+
+    /**
+     * Set the session ID.
+     *
+     * @param  string  $id
+     * @return void
+     */
+    public function setId($id);
+
+    /**
+     * Start the session, reading the data from a handler.
+     *
+     * @return bool
+     */
+    public function start();
+
+    /**
+     * Save the session data to storage.
+     *
+     * @return void
+     */
+    public function save();
+
+    /**
+     * Get all of the session data.
+     *
+     * @return array
+     */
+    public function all();
+
+    /**
+     * Checks if a key exists.
+     *
+     * @param  string|array  $key
+     * @return bool
+     */
+    public function exists($key);
+
+    /**
+     * Checks if a key is present and not null.
+     *
+     * @param  string|array  $key
+     * @return bool
+     */
+    public function has($key);
+
+    /**
+     * Get an item from the session.
+     *
+     * @param  string  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function get($key, $default = null);
+
+    /**
+     * Get the value of a given key and then forget it.
+     *
+     * @param  string  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function pull($key, $default = null);
+
+    /**
+     * Put a key / value pair or array of key / value pairs in the session.
+     *
+     * @param  string|array  $key
+     * @param  mixed  $value
+     * @return void
+     */
+    public function put($key, $value = null);
+
+    /**
+     * Get the CSRF token value.
+     *
+     * @return string
+     */
+    public function token();
+
+    /**
+     * Regenerate the CSRF token value.
+     *
+     * @return void
+     */
+    public function regenerateToken();
+
+    /**
+     * Remove an item from the session, returning its value.
+     *
+     * @param  string  $key
+     * @return mixed
+     */
+    public function remove($key);
+
+    /**
+     * Remove one or many items from the session.
+     *
+     * @param  string|array  $keys
+     * @return void
+     */
+    public function forget($keys);
+
+    /**
+     * Remove all of the items from the session.
+     *
+     * @return void
+     */
+    public function flush();
+
+    /**
+     * Flush the session data and regenerate the ID.
+     *
+     * @return bool
+     */
+    public function invalidate();
+
+    /**
+     * Generate a new session identifier.
+     *
+     * @param  bool  $destroy
+     * @return bool
+     */
+    public function regenerate($destroy = false);
+
+    /**
+     * Generate a new session ID for the session.
+     *
+     * @param  bool  $destroy
+     * @return bool
+     */
+    public function migrate($destroy = false);
+
+    /**
+     * Determine if the session has been started.
+     *
+     * @return bool
+     */
+    public function isStarted();
+
+    /**
+     * Get the previous URL from the session.
+     *
+     * @return string|null
+     */
+    public function previousUrl();
+
+    /**
+     * Set the "previous" URL in the session.
+     *
+     * @param  string  $url
+     * @return void
+     */
+    public function setPreviousUrl($url);
+
+    /**
+     * Get the session handler instance.
+     *
+     * @return \SessionHandlerInterface
+     */
+    public function getHandler();
+
+    /**
+     * Determine if the session handler needs a request.
+     *
+     * @return bool
+     */
+    public function handlerNeedsRequest();
+
+    /**
+     * Set the request on the handler instance.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return void
+     */
+    public function setRequestOnHandler($request);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Arrayable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Arrayable.php
new file mode 100755
index 0000000..5ad93b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Arrayable.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface Arrayable
+{
+    /**
+     * Get the instance as an array.
+     *
+     * @return array
+     */
+    public function toArray();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/DeferrableProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/DeferrableProvider.php
new file mode 100644
index 0000000..cfecf8b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/DeferrableProvider.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface DeferrableProvider
+{
+    /**
+     * Get the services provided by the provider.
+     *
+     * @return array
+     */
+    public function provides();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/DeferringDisplayableValue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/DeferringDisplayableValue.php
new file mode 100644
index 0000000..ac21d7e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/DeferringDisplayableValue.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface DeferringDisplayableValue
+{
+    /**
+     * Resolve the displayable value that the class is deferring.
+     *
+     * @return \Illuminate\Contracts\Support\Htmlable|string
+     */
+    public function resolveDisplayableValue();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Htmlable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Htmlable.php
new file mode 100644
index 0000000..32f643a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Htmlable.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface Htmlable
+{
+    /**
+     * Get content as a string of HTML.
+     *
+     * @return string
+     */
+    public function toHtml();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Jsonable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Jsonable.php
new file mode 100755
index 0000000..f5641c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Jsonable.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface Jsonable
+{
+    /**
+     * Convert the object to its JSON representation.
+     *
+     * @param  int  $options
+     * @return string
+     */
+    public function toJson($options = 0);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/MessageBag.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/MessageBag.php
new file mode 100644
index 0000000..7f708ac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/MessageBag.php
@@ -0,0 +1,102 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+use Countable;
+
+interface MessageBag extends Arrayable, Countable
+{
+    /**
+     * Get the keys present in the message bag.
+     *
+     * @return array
+     */
+    public function keys();
+
+    /**
+     * Add a message to the bag.
+     *
+     * @param  string  $key
+     * @param  string  $message
+     * @return $this
+     */
+    public function add($key, $message);
+
+    /**
+     * Merge a new array of messages into the bag.
+     *
+     * @param  \Illuminate\Contracts\Support\MessageProvider|array  $messages
+     * @return $this
+     */
+    public function merge($messages);
+
+    /**
+     * Determine if messages exist for a given key.
+     *
+     * @param  string|array  $key
+     * @return bool
+     */
+    public function has($key);
+
+    /**
+     * Get the first message from the bag for a given key.
+     *
+     * @param  string|null  $key
+     * @param  string|null  $format
+     * @return string
+     */
+    public function first($key = null, $format = null);
+
+    /**
+     * Get all of the messages from the bag for a given key.
+     *
+     * @param  string  $key
+     * @param  string|null  $format
+     * @return array
+     */
+    public function get($key, $format = null);
+
+    /**
+     * Get all of the messages for every key in the bag.
+     *
+     * @param  string|null  $format
+     * @return array
+     */
+    public function all($format = null);
+
+    /**
+     * Get the raw messages in the container.
+     *
+     * @return array
+     */
+    public function getMessages();
+
+    /**
+     * Get the default message format.
+     *
+     * @return string
+     */
+    public function getFormat();
+
+    /**
+     * Set the default message format.
+     *
+     * @param  string  $format
+     * @return $this
+     */
+    public function setFormat($format = ':message');
+
+    /**
+     * Determine if the message bag has any messages.
+     *
+     * @return bool
+     */
+    public function isEmpty();
+
+    /**
+     * Determine if the message bag has any messages.
+     *
+     * @return bool
+     */
+    public function isNotEmpty();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/MessageProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/MessageProvider.php
new file mode 100755
index 0000000..f15ce73
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/MessageProvider.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface MessageProvider
+{
+    /**
+     * Get the messages for the instance.
+     *
+     * @return \Illuminate\Contracts\Support\MessageBag
+     */
+    public function getMessageBag();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Renderable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Renderable.php
new file mode 100755
index 0000000..25c181e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Renderable.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface Renderable
+{
+    /**
+     * Get the evaluated contents of the object.
+     *
+     * @return string
+     */
+    public function render();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Responsable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Responsable.php
new file mode 100644
index 0000000..1738ec0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Support/Responsable.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Support;
+
+interface Responsable
+{
+    /**
+     * Create an HTTP response that represents the object.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Symfony\Component\HttpFoundation\Response
+     */
+    public function toResponse($request);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/HasLocalePreference.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/HasLocalePreference.php
new file mode 100644
index 0000000..1b1f16d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/HasLocalePreference.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Translation;
+
+interface HasLocalePreference
+{
+    /**
+     * Get the preferred locale of the entity.
+     *
+     * @return string|null
+     */
+    public function preferredLocale();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/Loader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/Loader.php
new file mode 100755
index 0000000..b08418d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/Loader.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace Illuminate\Contracts\Translation;
+
+interface Loader
+{
+    /**
+     * Load the messages for the given locale.
+     *
+     * @param  string  $locale
+     * @param  string  $group
+     * @param  string|null  $namespace
+     * @return array
+     */
+    public function load($locale, $group, $namespace = null);
+
+    /**
+     * Add a new namespace to the loader.
+     *
+     * @param  string  $namespace
+     * @param  string  $hint
+     * @return void
+     */
+    public function addNamespace($namespace, $hint);
+
+    /**
+     * Add a new JSON path to the loader.
+     *
+     * @param  string  $path
+     * @return void
+     */
+    public function addJsonPath($path);
+
+    /**
+     * Get an array of all the registered namespaces.
+     *
+     * @return array
+     */
+    public function namespaces();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/Translator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/Translator.php
new file mode 100644
index 0000000..6eae491
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Translation/Translator.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Illuminate\Contracts\Translation;
+
+interface Translator
+{
+    /**
+     * Get the translation for a given key.
+     *
+     * @param  string  $key
+     * @param  array  $replace
+     * @param  string|null  $locale
+     * @return mixed
+     */
+    public function get($key, array $replace = [], $locale = null);
+
+    /**
+     * Get a translation according to an integer value.
+     *
+     * @param  string  $key
+     * @param  \Countable|int|array  $number
+     * @param  array  $replace
+     * @param  string|null  $locale
+     * @return string
+     */
+    public function choice($key, $number, array $replace = [], $locale = null);
+
+    /**
+     * Get the default locale being used.
+     *
+     * @return string
+     */
+    public function getLocale();
+
+    /**
+     * Set the default locale.
+     *
+     * @param  string  $locale
+     * @return void
+     */
+    public function setLocale($locale);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/DataAwareRule.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/DataAwareRule.php
new file mode 100644
index 0000000..7ec7ab5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/DataAwareRule.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+interface DataAwareRule
+{
+    /**
+     * Set the data under validation.
+     *
+     * @param  array  $data
+     * @return $this
+     */
+    public function setData($data);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Factory.php
new file mode 100644
index 0000000..104675a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Factory.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+interface Factory
+{
+    /**
+     * Create a new Validator instance.
+     *
+     * @param  array  $data
+     * @param  array  $rules
+     * @param  array  $messages
+     * @param  array  $customAttributes
+     * @return \Illuminate\Contracts\Validation\Validator
+     */
+    public function make(array $data, array $rules, array $messages = [], array $customAttributes = []);
+
+    /**
+     * Register a custom validator extension.
+     *
+     * @param  string  $rule
+     * @param  \Closure|string  $extension
+     * @param  string|null  $message
+     * @return void
+     */
+    public function extend($rule, $extension, $message = null);
+
+    /**
+     * Register a custom implicit validator extension.
+     *
+     * @param  string  $rule
+     * @param  \Closure|string  $extension
+     * @param  string|null  $message
+     * @return void
+     */
+    public function extendImplicit($rule, $extension, $message = null);
+
+    /**
+     * Register a custom implicit validator message replacer.
+     *
+     * @param  string  $rule
+     * @param  \Closure|string  $replacer
+     * @return void
+     */
+    public function replacer($rule, $replacer);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ImplicitRule.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ImplicitRule.php
new file mode 100644
index 0000000..bbc64f4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ImplicitRule.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+interface ImplicitRule extends Rule
+{
+    //
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Rule.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Rule.php
new file mode 100644
index 0000000..cc03777
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Rule.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+interface Rule
+{
+    /**
+     * Determine if the validation rule passes.
+     *
+     * @param  string  $attribute
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function passes($attribute, $value);
+
+    /**
+     * Get the validation error message.
+     *
+     * @return string|array
+     */
+    public function message();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/UncompromisedVerifier.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/UncompromisedVerifier.php
new file mode 100644
index 0000000..d4bd597
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/UncompromisedVerifier.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+interface UncompromisedVerifier
+{
+    /**
+     * Verify that the given data has not been compromised in data leaks.
+     *
+     * @param  array  $data
+     * @return bool
+     */
+    public function verify($data);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ValidatesWhenResolved.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ValidatesWhenResolved.php
new file mode 100644
index 0000000..4e6b757
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ValidatesWhenResolved.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+interface ValidatesWhenResolved
+{
+    /**
+     * Validate the given class instance.
+     *
+     * @return void
+     */
+    public function validateResolved();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Validator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Validator.php
new file mode 100644
index 0000000..f68498d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/Validator.php
@@ -0,0 +1,65 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+use Illuminate\Contracts\Support\MessageProvider;
+
+interface Validator extends MessageProvider
+{
+    /**
+     * Run the validator's rules against its data.
+     *
+     * @return array
+     *
+     * @throws \Illuminate\Validation\ValidationException
+     */
+    public function validate();
+
+    /**
+     * Get the attributes and values that were validated.
+     *
+     * @return array
+     *
+     * @throws \Illuminate\Validation\ValidationException
+     */
+    public function validated();
+
+    /**
+     * Determine if the data fails the validation rules.
+     *
+     * @return bool
+     */
+    public function fails();
+
+    /**
+     * Get the failed validation rules.
+     *
+     * @return array
+     */
+    public function failed();
+
+    /**
+     * Add conditions to a given field based on a Closure.
+     *
+     * @param  string|array  $attribute
+     * @param  string|array  $rules
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function sometimes($attribute, $rules, callable $callback);
+
+    /**
+     * Add an after validation callback.
+     *
+     * @param  callable|string  $callback
+     * @return $this
+     */
+    public function after($callback);
+
+    /**
+     * Get all of the validation error messages.
+     *
+     * @return \Illuminate\Support\MessageBag
+     */
+    public function errors();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ValidatorAwareRule.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ValidatorAwareRule.php
new file mode 100644
index 0000000..053f4fa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/Validation/ValidatorAwareRule.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Illuminate\Contracts\Validation;
+
+interface ValidatorAwareRule
+{
+    /**
+     * Set the current validator.
+     *
+     * @param  \Illuminate\Validation\Validator  $validator
+     * @return $this
+     */
+    public function setValidator($validator);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/Engine.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/Engine.php
new file mode 100755
index 0000000..be4795d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/Engine.php
@@ -0,0 +1,15 @@
+<?php
+
+namespace Illuminate\Contracts\View;
+
+interface Engine
+{
+    /**
+     * Get the evaluated contents of the view.
+     *
+     * @param  string  $path
+     * @param  array  $data
+     * @return string
+     */
+    public function get($path, array $data = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/Factory.php
new file mode 100644
index 0000000..562ee79
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/Factory.php
@@ -0,0 +1,79 @@
+<?php
+
+namespace Illuminate\Contracts\View;
+
+interface Factory
+{
+    /**
+     * Determine if a given view exists.
+     *
+     * @param  string  $view
+     * @return bool
+     */
+    public function exists($view);
+
+    /**
+     * Get the evaluated view contents for the given path.
+     *
+     * @param  string  $path
+     * @param  \Illuminate\Contracts\Support\Arrayable|array  $data
+     * @param  array  $mergeData
+     * @return \Illuminate\Contracts\View\View
+     */
+    public function file($path, $data = [], $mergeData = []);
+
+    /**
+     * Get the evaluated view contents for the given view.
+     *
+     * @param  string  $view
+     * @param  \Illuminate\Contracts\Support\Arrayable|array  $data
+     * @param  array  $mergeData
+     * @return \Illuminate\Contracts\View\View
+     */
+    public function make($view, $data = [], $mergeData = []);
+
+    /**
+     * Add a piece of shared data to the environment.
+     *
+     * @param  array|string  $key
+     * @param  mixed  $value
+     * @return mixed
+     */
+    public function share($key, $value = null);
+
+    /**
+     * Register a view composer event.
+     *
+     * @param  array|string  $views
+     * @param  \Closure|string  $callback
+     * @return array
+     */
+    public function composer($views, $callback);
+
+    /**
+     * Register a view creator event.
+     *
+     * @param  array|string  $views
+     * @param  \Closure|string  $callback
+     * @return array
+     */
+    public function creator($views, $callback);
+
+    /**
+     * Add a new namespace to the loader.
+     *
+     * @param  string  $namespace
+     * @param  string|array  $hints
+     * @return $this
+     */
+    public function addNamespace($namespace, $hints);
+
+    /**
+     * Replace the namespace hints for the given namespace.
+     *
+     * @param  string  $namespace
+     * @param  string|array  $hints
+     * @return $this
+     */
+    public function replaceNamespace($namespace, $hints);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/View.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/View.php
new file mode 100644
index 0000000..4b0b7f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/View/View.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace Illuminate\Contracts\View;
+
+use Illuminate\Contracts\Support\Renderable;
+
+interface View extends Renderable
+{
+    /**
+     * Get the name of the view.
+     *
+     * @return string
+     */
+    public function name();
+
+    /**
+     * Add a piece of data to the view.
+     *
+     * @param  string|array  $key
+     * @param  mixed  $value
+     * @return $this
+     */
+    public function with($key, $value = null);
+
+    /**
+     * Get the array of view data.
+     *
+     * @return array
+     */
+    public function getData();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/composer.json
new file mode 100644
index 0000000..c9b4667
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/illuminate/contracts/composer.json
@@ -0,0 +1,35 @@
+{
+    "name": "illuminate/contracts",
+    "description": "The Illuminate Contracts package.",
+    "license": "MIT",
+    "homepage": "https://laravel.com",
+    "support": {
+        "issues": "https://github.com/laravel/framework/issues",
+        "source": "https://github.com/laravel/framework"
+    },
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylor@laravel.com"
+        }
+    ],
+    "require": {
+        "php": "^7.3|^8.0",
+        "psr/container": "^1.0",
+        "psr/simple-cache": "^1.0"
+    },
+    "autoload": {
+        "psr-4": {
+            "Illuminate\\Contracts\\": ""
+        }
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "8.x-dev"
+        }
+    },
+    "config": {
+        "sort-packages": true
+    },
+    "minimum-stability": "dev"
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/Dockerfile b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/Dockerfile
index fc36a81..5917e05 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/Dockerfile
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/Dockerfile
@@ -5,8 +5,8 @@
 WORKDIR /var/www
 
 RUN apt-get update
-RUN apt-get install -y zip unzip zlib1g-dev
-RUN if [[ `php-config --vernum` -ge 73000 ]]; then docker-php-ext-install zip; fi
+RUN apt-get install -y zip unzip libzip-dev git
+RUN docker-php-ext-install zip
 RUN docker-php-ext-install pcntl
 RUN curl -sS https://getcomposer.org/installer | php
 RUN mv composer.phar /usr/local/bin/composer
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/composer.json
index 6d81b4f..a6dd4ab 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/composer.json
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/composer.json
@@ -19,8 +19,8 @@
         "matthiasmullie/path-converter": "~1.1"
     },
     "require-dev": {
-        "matthiasmullie/scrapbook": "~1.0",
-        "phpunit/phpunit": "~4.8",
+        "matthiasmullie/scrapbook": "dev-master",
+        "phpunit/phpunit": ">=4.8",
         "friendsofphp/php-cs-fixer": "~2.0"
     },
     "suggest": {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/CSS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/CSS.php
index ea8e8cd..eb98e52 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/CSS.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/CSS.php
@@ -685,7 +685,7 @@
     protected function extractMath()
     {
         $functions = array('calc', 'clamp', 'min', 'max');
-        $pattern = '/('. implode('|', $functions) .')(\(.+?)(?=$|;|})/m';
+        $pattern = '/\b('. implode('|', $functions) .')(\(.+?)(?=$|;|})/m';
 
         // PHP only supports $this inside anonymous functions since 5.4
         $minifier = $this;
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/JS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/JS.php
index 92389cd..a0fa649 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/JS.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/JS.php
@@ -254,7 +254,7 @@
         // of the RegExp methods (a `\` followed by a variable or value is
         // likely part of a division, not a regex)
         $keywords = array('do', 'in', 'new', 'else', 'throw', 'yield', 'delete', 'return',  'typeof');
-        $before = '([=:,;\+\-\*\/\}\(\{\[&\|!]|^|'.implode('|', $keywords).')\s*';
+        $before = '(^|[=:,;\+\-\*\/\}\(\{\[&\|!]|'.implode('|', $keywords).')\s*';
         $propertiesAndMethods = array(
             // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Properties_2
             'constructor',
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/Minify.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/Minify.php
index 3f40bc1..4d8dcf4 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/Minify.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/matthiasmullie/minify/src/Minify.php
@@ -105,7 +105,7 @@
      * @param string|string[] $data
      *
      * @return static
-     * 
+     *
      * @throws IOException
      */
     public function addFile($data /* $data = null, ... */)
@@ -472,7 +472,7 @@
      */
     protected function openFileForWriting($path)
     {
-        if (($handler = @fopen($path, 'w')) === false) {
+        if ($path === '' || ($handler = @fopen($path, 'w')) === false) {
             throw new IOException('The file "'.$path.'" could not be opened for writing. Check if PHP has enough permissions.');
         }
 
@@ -490,7 +490,11 @@
      */
     protected function writeToFile($handler, $content, $path = '')
     {
-        if (($result = @fwrite($handler, $content)) === false || ($result < strlen($content))) {
+        if (
+            !is_resource($handler) ||
+            ($result = @fwrite($handler, $content)) === false ||
+            ($result < strlen($content))
+        ) {
             throw new IOException('The file "'.$path.'" could not be written to. Check your disk space and file permissions.');
         }
     }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/LICENSE
new file mode 100644
index 0000000..6de45eb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/LICENSE
@@ -0,0 +1,19 @@
+Copyright (C) Brian Nesbitt
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/bin/carbon b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/bin/carbon
new file mode 100755
index 0000000..fdcbb5c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/bin/carbon
@@ -0,0 +1,21 @@
+#!/usr/bin/env php
+<?php
+
+$dir = __DIR__.'/..';
+
+if (!file_exists($dir.'/autoload.php')) {
+    $dir = __DIR__.'/../vendor';
+}
+
+if (!file_exists($dir.'/autoload.php')) {
+    $dir = __DIR__.'/../../..';
+}
+
+if (!file_exists($dir.'/autoload.php')) {
+    echo 'Autoload not found.';
+    exit(1);
+}
+
+require $dir.'/autoload.php';
+
+exit((new \Carbon\Cli\Invoker())(...$argv) ? 0 : 1);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/bin/carbon.bat b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/bin/carbon.bat
new file mode 100644
index 0000000..84599d3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/bin/carbon.bat
@@ -0,0 +1,4 @@
+@ECHO OFF
+setlocal DISABLEDELAYEDEXPANSION
+SET BIN_TARGET=%~dp0/carbon
+php "%BIN_TARGET%" %*
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/composer.json
new file mode 100644
index 0000000..d0cadc9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/composer.json
@@ -0,0 +1,98 @@
+{
+    "name": "nesbot/carbon",
+    "type": "library",
+    "description": "An API extension for DateTime that supports 281 different languages.",
+    "keywords": [
+        "date",
+        "time",
+        "DateTime"
+    ],
+    "homepage": "https://carbon.nesbot.com",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Brian Nesbitt",
+            "email": "brian@nesbot.com",
+            "homepage": "https://markido.com"
+        },
+        {
+            "name": "kylekatarnls",
+            "homepage": "https://github.com/kylekatarnls"
+        }
+    ],
+    "require": {
+        "php": "^7.1.8 || ^8.0",
+        "ext-json": "*",
+        "symfony/polyfill-mbstring": "^1.0",
+        "symfony/polyfill-php80": "^1.16",
+        "symfony/translation": "^3.4 || ^4.0 || ^5.0"
+    },
+    "require-dev": {
+        "doctrine/orm": "^2.7",
+        "friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
+        "kylekatarnls/multi-tester": "^2.0",
+        "phpmd/phpmd": "^2.9",
+        "phpstan/extension-installer": "^1.0",
+        "phpstan/phpstan": "^0.12.54",
+        "phpunit/phpunit": "^7.5.20 || ^8.5.14",
+        "squizlabs/php_codesniffer": "^3.4"
+    },
+    "config": {
+        "process-timeout": 0,
+        "sort-packages": true
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-3.x": "3.x-dev",
+            "dev-master": "2.x-dev"
+        },
+        "laravel": {
+            "providers": [
+                "Carbon\\Laravel\\ServiceProvider"
+            ]
+        },
+        "phpstan": {
+            "includes": [
+                "extension.neon"
+            ]
+        }
+    },
+    "autoload": {
+        "psr-4": {
+            "Carbon\\": "src/Carbon/"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Tests\\": "tests/"
+        },
+        "files": [
+            "tests/Laravel/ServiceProvider.php"
+        ]
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true,
+    "bin": [
+        "bin/carbon"
+    ],
+    "scripts": {
+        "phpcs": "php-cs-fixer fix -v --diff --dry-run",
+        "phpdoc": "php phpdoc.php",
+        "phpmd": "phpmd src text /phpmd.xml",
+        "phpstan": "phpstan analyse --configuration phpstan.neon",
+        "phpunit": "phpunit --verbose",
+        "style-check": [
+            "@phpcs",
+            "@phpstan",
+            "@phpmd"
+        ],
+        "test": [
+            "@phpunit",
+            "@style-check"
+        ]
+    },
+    "support": {
+        "issues": "https://github.com/briannesbitt/Carbon/issues",
+        "source": "https://github.com/briannesbitt/Carbon"
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/extension.neon b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/extension.neon
new file mode 100644
index 0000000..33bf794
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/extension.neon
@@ -0,0 +1,5 @@
+services:
+    -
+        class: Carbon\PHPStan\MacroExtension
+        tags:
+            - phpstan.broker.methodsClassReflectionExtension
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/readme.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/readme.md
new file mode 100644
index 0000000..70279c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/readme.md
@@ -0,0 +1,146 @@
+# Carbon
+
+[![Latest Stable Version](https://img.shields.io/packagist/v/nesbot/carbon.svg?style=flat-square)](https://packagist.org/packages/nesbot/carbon)
+[![Total Downloads](https://img.shields.io/packagist/dt/nesbot/carbon.svg?style=flat-square)](https://packagist.org/packages/nesbot/carbon)
+[![GitHub Actions](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fbriannesbitt%2FCarbon%2Fbadge&style=flat-square&label=Build&logo=none)](https://actions-badge.atrox.dev/briannesbitt/Carbon/goto)
+[![StyleCI](https://github.styleci.io/repos/5724990/shield?style=flat-square)](https://github.styleci.io/repos/5724990)
+[![codecov.io](https://img.shields.io/codecov/c/github/briannesbitt/Carbon.svg?style=flat-square)](https://codecov.io/github/briannesbitt/Carbon?branch=master)
+[![PHPStan](https://img.shields.io/badge/PHPStan-enabled-44CC11.svg?longCache=true&style=flat-square)](https://github.com/phpstan/phpstan)
+[![Tidelift](https://tidelift.com/badges/github/briannesbitt/Carbon)](https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme)
+
+An international PHP extension for DateTime. [https://carbon.nesbot.com](https://carbon.nesbot.com)
+
+```php
+<?php
+
+use Carbon\Carbon;
+
+printf("Right now is %s", Carbon::now()->toDateTimeString());
+printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver'));  //implicit __toString()
+$tomorrow = Carbon::now()->addDay();
+$lastWeek = Carbon::now()->subWeek();
+$nextSummerOlympics = Carbon::createFromDate(2016)->addYears(4);
+
+$officialDate = Carbon::now()->toRfc2822String();
+
+$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;
+
+$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');
+
+$internetWillBlowUpOn = Carbon::create(2038, 01, 19, 3, 14, 7, 'GMT');
+
+// Don't really want this to happen so mock now
+Carbon::setTestNow(Carbon::createFromDate(2000, 1, 1));
+
+// comparisons are always done in UTC
+if (Carbon::now()->gte($internetWillBlowUpOn)) {
+    die();
+}
+
+// Phew! Return to normal behaviour
+Carbon::setTestNow();
+
+if (Carbon::now()->isWeekend()) {
+    echo 'Party!';
+}
+// Over 200 languages (and over 500 regional variants) supported:
+echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago'
+echo Carbon::now()->subMinutes(2)->locale('zh_CN')->diffForHumans(); // '2分钟前'
+echo Carbon::parse('2019-07-23 14:51')->isoFormat('LLLL'); // 'Tuesday, July 23, 2019 2:51 PM'
+echo Carbon::parse('2019-07-23 14:51')->locale('fr_FR')->isoFormat('LLLL'); // 'mardi 23 juillet 2019 14:51'
+
+// ... but also does 'from now', 'after' and 'before'
+// rolling up to seconds, minutes, hours, days, months, years
+
+$daysSinceEpoch = Carbon::createFromTimestamp(0)->diffInDays();
+```
+
+[Get supported nesbot/carbon with the Tidelift Subscription](https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme)
+
+## Installation
+
+### With Composer
+
+```
+$ composer require nesbot/carbon
+```
+
+```json
+{
+    "require": {
+        "nesbot/carbon": "^2.16"
+    }
+}
+```
+
+```php
+<?php
+require 'vendor/autoload.php';
+
+use Carbon\Carbon;
+
+printf("Now: %s", Carbon::now());
+```
+
+### Without Composer
+
+Why are you not using [composer](https://getcomposer.org/)? Download the Carbon [latest release](https://github.com/briannesbitt/Carbon/releases) and put the contents of the ZIP archive into a directory in your project. Then require the file `autoload.php` to get all classes and dependencies loaded on need.
+
+```php
+<?php
+require 'path-to-Carbon-directory/autoload.php';
+
+use Carbon\Carbon;
+
+printf("Now: %s", Carbon::now());
+```
+
+## Docs
+
+[https://carbon.nesbot.com/docs](https://carbon.nesbot.com/docs)
+
+## Security contact information
+
+To report a security vulnerability, please use the
+[Tidelift security contact](https://tidelift.com/security).
+Tidelift will coordinate the fix and disclosure.
+
+## Credits
+
+### Contributors
+
+This project exists thanks to all the people who contribute. 
+
+<a href="https://github.com/briannesbitt/Carbon/graphs/contributors" target="_blank"><img src="https://opencollective.com/Carbon/contributors.svg?width=890&button=false" /></a>
+
+### Translators
+
+[Thanks to people helping us to translate Carbon in so many languages](https://carbon.nesbot.com/contribute/translators/)
+
+### Sponsors
+
+Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
+
+<a href="https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme" target="_blank"><img src="https://carbon.nesbot.com/tidelift-brand.png" width="256" height="64"></a>
+<a href="https://onlinecasinohex.ca/?utm_source=opencollective&amp;utm_medium=github&amp;utm_campaign=Carbon" target="_blank"><img src="https://images.opencollective.com/hexcasinoca/2da3af2/logo/256.png" width="85" height="64"></a>
+<a href="https://opencollective.com/Carbon/sponsor/0/website" target="_blank"><img src="https://opencollective.com/Carbon/sponsor/0/avatar.svg"></a>
+<a href="https://opencollective.com/Carbon/sponsor/1/website" target="_blank"><img src="https://opencollective.com/Carbon/sponsor/1/avatar.svg"></a>
+<a href="https://opencollective.com/Carbon/sponsor/2/website" target="_blank"><img src="https://opencollective.com/Carbon/sponsor/2/avatar.svg"></a>
+<a href="https://opencollective.com/Carbon/sponsor/3/website" target="_blank"><img src="https://opencollective.com/Carbon/sponsor/3/avatar.svg"></a>
+<a href="https://opencollective.com/Carbon/sponsor/4/website" target="_blank"><img src="https://opencollective.com/Carbon/sponsor/4/avatar.svg"></a>
+
+[[Become a sponsor](https://opencollective.com/Carbon#sponsor)]
+
+### Backers
+
+Thank you to all our backers! 🙏
+
+<a href="https://opencollective.com/Carbon#backers" target="_blank"><img src="https://opencollective.com/Carbon/backers.svg?width=890"></a>
+
+[[Become a backer](https://opencollective.com/Carbon#backer)]
+
+## Carbon for enterprise
+
+Available as part of the Tidelift Subscription.
+
+The maintainers of ``Carbon`` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Carbon.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Carbon.php
new file mode 100644
index 0000000..3b68759
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Carbon.php
@@ -0,0 +1,523 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Carbon\Traits\Date;
+use DateTime;
+use DateTimeInterface;
+use DateTimeZone;
+
+/**
+ * A simple API extension for DateTime.
+ *
+ * <autodoc generated by `composer phpdoc`>
+ *
+ * @property      int                 $year
+ * @property      int                 $yearIso
+ * @property      int                 $month
+ * @property      int                 $day
+ * @property      int                 $hour
+ * @property      int                 $minute
+ * @property      int                 $second
+ * @property      int                 $micro
+ * @property      int                 $microsecond
+ * @property      int|float|string    $timestamp                                                                           seconds since the Unix Epoch
+ * @property      string              $englishDayOfWeek                                                                    the day of week in English
+ * @property      string              $shortEnglishDayOfWeek                                                               the abbreviated day of week in English
+ * @property      string              $englishMonth                                                                        the month in English
+ * @property      string              $shortEnglishMonth                                                                   the abbreviated month in English
+ * @property      string              $localeDayOfWeek                                                                     the day of week in current locale LC_TIME
+ * @property      string              $shortLocaleDayOfWeek                                                                the abbreviated day of week in current locale LC_TIME
+ * @property      string              $localeMonth                                                                         the month in current locale LC_TIME
+ * @property      string              $shortLocaleMonth                                                                    the abbreviated month in current locale LC_TIME
+ * @property      int                 $milliseconds
+ * @property      int                 $millisecond
+ * @property      int                 $milli
+ * @property      int                 $week                                                                                1 through 53
+ * @property      int                 $isoWeek                                                                             1 through 53
+ * @property      int                 $weekYear                                                                            year according to week format
+ * @property      int                 $isoWeekYear                                                                         year according to ISO week format
+ * @property      int                 $dayOfYear                                                                           1 through 366
+ * @property      int                 $age                                                                                 does a diffInYears() with default parameters
+ * @property      int                 $offset                                                                              the timezone offset in seconds from UTC
+ * @property      int                 $offsetMinutes                                                                       the timezone offset in minutes from UTC
+ * @property      int                 $offsetHours                                                                         the timezone offset in hours from UTC
+ * @property      CarbonTimeZone      $timezone                                                                            the current timezone
+ * @property      CarbonTimeZone      $tz                                                                                  alias of $timezone
+ * @property-read int                 $dayOfWeek                                                                           0 (for Sunday) through 6 (for Saturday)
+ * @property-read int                 $dayOfWeekIso                                                                        1 (for Monday) through 7 (for Sunday)
+ * @property-read int                 $weekOfYear                                                                          ISO-8601 week number of year, weeks starting on Monday
+ * @property-read int                 $daysInMonth                                                                         number of days in the given month
+ * @property-read string              $latinMeridiem                                                                       "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark)
+ * @property-read string              $latinUpperMeridiem                                                                  "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark)
+ * @property-read string              $timezoneAbbreviatedName                                                             the current timezone abbreviated name
+ * @property-read string              $tzAbbrName                                                                          alias of $timezoneAbbreviatedName
+ * @property-read string              $dayName                                                                             long name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string              $shortDayName                                                                        short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string              $minDayName                                                                          very short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string              $monthName                                                                           long name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string              $shortMonthName                                                                      short name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string              $meridiem                                                                            lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read string              $upperMeridiem                                                                       uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read int                 $noZeroHour                                                                          current hour from 1 to 24
+ * @property-read int                 $weeksInYear                                                                         51 through 53
+ * @property-read int                 $isoWeeksInYear                                                                      51 through 53
+ * @property-read int                 $weekOfMonth                                                                         1 through 5
+ * @property-read int                 $weekNumberInMonth                                                                   1 through 5
+ * @property-read int                 $firstWeekDay                                                                        0 through 6
+ * @property-read int                 $lastWeekDay                                                                         0 through 6
+ * @property-read int                 $daysInYear                                                                          365 or 366
+ * @property-read int                 $quarter                                                                             the quarter of this instance, 1 - 4
+ * @property-read int                 $decade                                                                              the decade of this instance
+ * @property-read int                 $century                                                                             the century of this instance
+ * @property-read int                 $millennium                                                                          the millennium of this instance
+ * @property-read bool                $dst                                                                                 daylight savings time indicator, true if DST, false otherwise
+ * @property-read bool                $local                                                                               checks if the timezone is local, true if local, false otherwise
+ * @property-read bool                $utc                                                                                 checks if the timezone is UTC, true if UTC, false otherwise
+ * @property-read string              $timezoneName                                                                        the current timezone name
+ * @property-read string              $tzName                                                                              alias of $timezoneName
+ * @property-read string              $locale                                                                              locale of the current instance
+ *
+ * @method        bool                isUtc()                                                                              Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.)
+ * @method        bool                isLocal()                                                                            Check if the current instance has non-UTC timezone.
+ * @method        bool                isValid()                                                                            Check if the current instance is a valid date.
+ * @method        bool                isDST()                                                                              Check if the current instance is in a daylight saving time.
+ * @method        bool                isSunday()                                                                           Checks if the instance day is sunday.
+ * @method        bool                isMonday()                                                                           Checks if the instance day is monday.
+ * @method        bool                isTuesday()                                                                          Checks if the instance day is tuesday.
+ * @method        bool                isWednesday()                                                                        Checks if the instance day is wednesday.
+ * @method        bool                isThursday()                                                                         Checks if the instance day is thursday.
+ * @method        bool                isFriday()                                                                           Checks if the instance day is friday.
+ * @method        bool                isSaturday()                                                                         Checks if the instance day is saturday.
+ * @method        bool                isSameYear(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentYear()                                                                      Checks if the instance is in the same year as the current moment.
+ * @method        bool                isNextYear()                                                                         Checks if the instance is in the same year as the current moment next year.
+ * @method        bool                isLastYear()                                                                         Checks if the instance is in the same year as the current moment last year.
+ * @method        bool                isSameWeek(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentWeek()                                                                      Checks if the instance is in the same week as the current moment.
+ * @method        bool                isNextWeek()                                                                         Checks if the instance is in the same week as the current moment next week.
+ * @method        bool                isLastWeek()                                                                         Checks if the instance is in the same week as the current moment last week.
+ * @method        bool                isSameDay(Carbon|DateTimeInterface|string|null $date = null)                         Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentDay()                                                                       Checks if the instance is in the same day as the current moment.
+ * @method        bool                isNextDay()                                                                          Checks if the instance is in the same day as the current moment next day.
+ * @method        bool                isLastDay()                                                                          Checks if the instance is in the same day as the current moment last day.
+ * @method        bool                isSameHour(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentHour()                                                                      Checks if the instance is in the same hour as the current moment.
+ * @method        bool                isNextHour()                                                                         Checks if the instance is in the same hour as the current moment next hour.
+ * @method        bool                isLastHour()                                                                         Checks if the instance is in the same hour as the current moment last hour.
+ * @method        bool                isSameMinute(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentMinute()                                                                    Checks if the instance is in the same minute as the current moment.
+ * @method        bool                isNextMinute()                                                                       Checks if the instance is in the same minute as the current moment next minute.
+ * @method        bool                isLastMinute()                                                                       Checks if the instance is in the same minute as the current moment last minute.
+ * @method        bool                isSameSecond(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentSecond()                                                                    Checks if the instance is in the same second as the current moment.
+ * @method        bool                isNextSecond()                                                                       Checks if the instance is in the same second as the current moment next second.
+ * @method        bool                isLastSecond()                                                                       Checks if the instance is in the same second as the current moment last second.
+ * @method        bool                isSameMicro(Carbon|DateTimeInterface|string|null $date = null)                       Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentMicro()                                                                     Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool                isNextMicro()                                                                        Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool                isLastMicro()                                                                        Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool                isSameMicrosecond(Carbon|DateTimeInterface|string|null $date = null)                 Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentMicrosecond()                                                               Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool                isNextMicrosecond()                                                                  Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool                isLastMicrosecond()                                                                  Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool                isCurrentMonth()                                                                     Checks if the instance is in the same month as the current moment.
+ * @method        bool                isNextMonth()                                                                        Checks if the instance is in the same month as the current moment next month.
+ * @method        bool                isLastMonth()                                                                        Checks if the instance is in the same month as the current moment last month.
+ * @method        bool                isCurrentQuarter()                                                                   Checks if the instance is in the same quarter as the current moment.
+ * @method        bool                isNextQuarter()                                                                      Checks if the instance is in the same quarter as the current moment next quarter.
+ * @method        bool                isLastQuarter()                                                                      Checks if the instance is in the same quarter as the current moment last quarter.
+ * @method        bool                isSameDecade(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentDecade()                                                                    Checks if the instance is in the same decade as the current moment.
+ * @method        bool                isNextDecade()                                                                       Checks if the instance is in the same decade as the current moment next decade.
+ * @method        bool                isLastDecade()                                                                       Checks if the instance is in the same decade as the current moment last decade.
+ * @method        bool                isSameCentury(Carbon|DateTimeInterface|string|null $date = null)                     Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentCentury()                                                                   Checks if the instance is in the same century as the current moment.
+ * @method        bool                isNextCentury()                                                                      Checks if the instance is in the same century as the current moment next century.
+ * @method        bool                isLastCentury()                                                                      Checks if the instance is in the same century as the current moment last century.
+ * @method        bool                isSameMillennium(Carbon|DateTimeInterface|string|null $date = null)                  Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                isCurrentMillennium()                                                                Checks if the instance is in the same millennium as the current moment.
+ * @method        bool                isNextMillennium()                                                                   Checks if the instance is in the same millennium as the current moment next millennium.
+ * @method        bool                isLastMillennium()                                                                   Checks if the instance is in the same millennium as the current moment last millennium.
+ * @method        $this               years(int $value)                                                                    Set current instance year to the given value.
+ * @method        $this               year(int $value)                                                                     Set current instance year to the given value.
+ * @method        $this               setYears(int $value)                                                                 Set current instance year to the given value.
+ * @method        $this               setYear(int $value)                                                                  Set current instance year to the given value.
+ * @method        $this               months(int $value)                                                                   Set current instance month to the given value.
+ * @method        $this               month(int $value)                                                                    Set current instance month to the given value.
+ * @method        $this               setMonths(int $value)                                                                Set current instance month to the given value.
+ * @method        $this               setMonth(int $value)                                                                 Set current instance month to the given value.
+ * @method        $this               days(int $value)                                                                     Set current instance day to the given value.
+ * @method        $this               day(int $value)                                                                      Set current instance day to the given value.
+ * @method        $this               setDays(int $value)                                                                  Set current instance day to the given value.
+ * @method        $this               setDay(int $value)                                                                   Set current instance day to the given value.
+ * @method        $this               hours(int $value)                                                                    Set current instance hour to the given value.
+ * @method        $this               hour(int $value)                                                                     Set current instance hour to the given value.
+ * @method        $this               setHours(int $value)                                                                 Set current instance hour to the given value.
+ * @method        $this               setHour(int $value)                                                                  Set current instance hour to the given value.
+ * @method        $this               minutes(int $value)                                                                  Set current instance minute to the given value.
+ * @method        $this               minute(int $value)                                                                   Set current instance minute to the given value.
+ * @method        $this               setMinutes(int $value)                                                               Set current instance minute to the given value.
+ * @method        $this               setMinute(int $value)                                                                Set current instance minute to the given value.
+ * @method        $this               seconds(int $value)                                                                  Set current instance second to the given value.
+ * @method        $this               second(int $value)                                                                   Set current instance second to the given value.
+ * @method        $this               setSeconds(int $value)                                                               Set current instance second to the given value.
+ * @method        $this               setSecond(int $value)                                                                Set current instance second to the given value.
+ * @method        $this               millis(int $value)                                                                   Set current instance millisecond to the given value.
+ * @method        $this               milli(int $value)                                                                    Set current instance millisecond to the given value.
+ * @method        $this               setMillis(int $value)                                                                Set current instance millisecond to the given value.
+ * @method        $this               setMilli(int $value)                                                                 Set current instance millisecond to the given value.
+ * @method        $this               milliseconds(int $value)                                                             Set current instance millisecond to the given value.
+ * @method        $this               millisecond(int $value)                                                              Set current instance millisecond to the given value.
+ * @method        $this               setMilliseconds(int $value)                                                          Set current instance millisecond to the given value.
+ * @method        $this               setMillisecond(int $value)                                                           Set current instance millisecond to the given value.
+ * @method        $this               micros(int $value)                                                                   Set current instance microsecond to the given value.
+ * @method        $this               micro(int $value)                                                                    Set current instance microsecond to the given value.
+ * @method        $this               setMicros(int $value)                                                                Set current instance microsecond to the given value.
+ * @method        $this               setMicro(int $value)                                                                 Set current instance microsecond to the given value.
+ * @method        $this               microseconds(int $value)                                                             Set current instance microsecond to the given value.
+ * @method        $this               microsecond(int $value)                                                              Set current instance microsecond to the given value.
+ * @method        $this               setMicroseconds(int $value)                                                          Set current instance microsecond to the given value.
+ * @method        $this               setMicrosecond(int $value)                                                           Set current instance microsecond to the given value.
+ * @method        $this               addYears(int $value = 1)                                                             Add years (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addYear()                                                                            Add one year to the instance (using date interval).
+ * @method        $this               subYears(int $value = 1)                                                             Sub years (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subYear()                                                                            Sub one year to the instance (using date interval).
+ * @method        $this               addYearsWithOverflow(int $value = 1)                                                 Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addYearWithOverflow()                                                                Add one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subYearsWithOverflow(int $value = 1)                                                 Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subYearWithOverflow()                                                                Sub one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addYearsWithoutOverflow(int $value = 1)                                              Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addYearWithoutOverflow()                                                             Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subYearsWithoutOverflow(int $value = 1)                                              Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subYearWithoutOverflow()                                                             Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addYearsWithNoOverflow(int $value = 1)                                               Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addYearWithNoOverflow()                                                              Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subYearsWithNoOverflow(int $value = 1)                                               Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subYearWithNoOverflow()                                                              Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addYearsNoOverflow(int $value = 1)                                                   Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addYearNoOverflow()                                                                  Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subYearsNoOverflow(int $value = 1)                                                   Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subYearNoOverflow()                                                                  Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMonths(int $value = 1)                                                            Add months (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addMonth()                                                                           Add one month to the instance (using date interval).
+ * @method        $this               subMonths(int $value = 1)                                                            Sub months (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subMonth()                                                                           Sub one month to the instance (using date interval).
+ * @method        $this               addMonthsWithOverflow(int $value = 1)                                                Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addMonthWithOverflow()                                                               Add one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subMonthsWithOverflow(int $value = 1)                                                Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subMonthWithOverflow()                                                               Sub one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addMonthsWithoutOverflow(int $value = 1)                                             Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMonthWithoutOverflow()                                                            Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMonthsWithoutOverflow(int $value = 1)                                             Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMonthWithoutOverflow()                                                            Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMonthsWithNoOverflow(int $value = 1)                                              Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMonthWithNoOverflow()                                                             Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMonthsWithNoOverflow(int $value = 1)                                              Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMonthWithNoOverflow()                                                             Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMonthsNoOverflow(int $value = 1)                                                  Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMonthNoOverflow()                                                                 Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMonthsNoOverflow(int $value = 1)                                                  Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMonthNoOverflow()                                                                 Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addDays(int $value = 1)                                                              Add days (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addDay()                                                                             Add one day to the instance (using date interval).
+ * @method        $this               subDays(int $value = 1)                                                              Sub days (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subDay()                                                                             Sub one day to the instance (using date interval).
+ * @method        $this               addHours(int $value = 1)                                                             Add hours (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addHour()                                                                            Add one hour to the instance (using date interval).
+ * @method        $this               subHours(int $value = 1)                                                             Sub hours (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subHour()                                                                            Sub one hour to the instance (using date interval).
+ * @method        $this               addMinutes(int $value = 1)                                                           Add minutes (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addMinute()                                                                          Add one minute to the instance (using date interval).
+ * @method        $this               subMinutes(int $value = 1)                                                           Sub minutes (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subMinute()                                                                          Sub one minute to the instance (using date interval).
+ * @method        $this               addSeconds(int $value = 1)                                                           Add seconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addSecond()                                                                          Add one second to the instance (using date interval).
+ * @method        $this               subSeconds(int $value = 1)                                                           Sub seconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subSecond()                                                                          Sub one second to the instance (using date interval).
+ * @method        $this               addMillis(int $value = 1)                                                            Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addMilli()                                                                           Add one millisecond to the instance (using date interval).
+ * @method        $this               subMillis(int $value = 1)                                                            Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subMilli()                                                                           Sub one millisecond to the instance (using date interval).
+ * @method        $this               addMilliseconds(int $value = 1)                                                      Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addMillisecond()                                                                     Add one millisecond to the instance (using date interval).
+ * @method        $this               subMilliseconds(int $value = 1)                                                      Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subMillisecond()                                                                     Sub one millisecond to the instance (using date interval).
+ * @method        $this               addMicros(int $value = 1)                                                            Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addMicro()                                                                           Add one microsecond to the instance (using date interval).
+ * @method        $this               subMicros(int $value = 1)                                                            Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subMicro()                                                                           Sub one microsecond to the instance (using date interval).
+ * @method        $this               addMicroseconds(int $value = 1)                                                      Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addMicrosecond()                                                                     Add one microsecond to the instance (using date interval).
+ * @method        $this               subMicroseconds(int $value = 1)                                                      Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subMicrosecond()                                                                     Sub one microsecond to the instance (using date interval).
+ * @method        $this               addMillennia(int $value = 1)                                                         Add millennia (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addMillennium()                                                                      Add one millennium to the instance (using date interval).
+ * @method        $this               subMillennia(int $value = 1)                                                         Sub millennia (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subMillennium()                                                                      Sub one millennium to the instance (using date interval).
+ * @method        $this               addMillenniaWithOverflow(int $value = 1)                                             Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addMillenniumWithOverflow()                                                          Add one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subMillenniaWithOverflow(int $value = 1)                                             Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subMillenniumWithOverflow()                                                          Sub one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addMillenniaWithoutOverflow(int $value = 1)                                          Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMillenniumWithoutOverflow()                                                       Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMillenniaWithoutOverflow(int $value = 1)                                          Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMillenniumWithoutOverflow()                                                       Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMillenniaWithNoOverflow(int $value = 1)                                           Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMillenniumWithNoOverflow()                                                        Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMillenniaWithNoOverflow(int $value = 1)                                           Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMillenniumWithNoOverflow()                                                        Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMillenniaNoOverflow(int $value = 1)                                               Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addMillenniumNoOverflow()                                                            Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMillenniaNoOverflow(int $value = 1)                                               Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subMillenniumNoOverflow()                                                            Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addCenturies(int $value = 1)                                                         Add centuries (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addCentury()                                                                         Add one century to the instance (using date interval).
+ * @method        $this               subCenturies(int $value = 1)                                                         Sub centuries (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subCentury()                                                                         Sub one century to the instance (using date interval).
+ * @method        $this               addCenturiesWithOverflow(int $value = 1)                                             Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addCenturyWithOverflow()                                                             Add one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subCenturiesWithOverflow(int $value = 1)                                             Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subCenturyWithOverflow()                                                             Sub one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addCenturiesWithoutOverflow(int $value = 1)                                          Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addCenturyWithoutOverflow()                                                          Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subCenturiesWithoutOverflow(int $value = 1)                                          Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subCenturyWithoutOverflow()                                                          Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addCenturiesWithNoOverflow(int $value = 1)                                           Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addCenturyWithNoOverflow()                                                           Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subCenturiesWithNoOverflow(int $value = 1)                                           Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subCenturyWithNoOverflow()                                                           Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addCenturiesNoOverflow(int $value = 1)                                               Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addCenturyNoOverflow()                                                               Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subCenturiesNoOverflow(int $value = 1)                                               Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subCenturyNoOverflow()                                                               Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addDecades(int $value = 1)                                                           Add decades (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addDecade()                                                                          Add one decade to the instance (using date interval).
+ * @method        $this               subDecades(int $value = 1)                                                           Sub decades (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subDecade()                                                                          Sub one decade to the instance (using date interval).
+ * @method        $this               addDecadesWithOverflow(int $value = 1)                                               Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addDecadeWithOverflow()                                                              Add one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subDecadesWithOverflow(int $value = 1)                                               Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subDecadeWithOverflow()                                                              Sub one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addDecadesWithoutOverflow(int $value = 1)                                            Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addDecadeWithoutOverflow()                                                           Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subDecadesWithoutOverflow(int $value = 1)                                            Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subDecadeWithoutOverflow()                                                           Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addDecadesWithNoOverflow(int $value = 1)                                             Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addDecadeWithNoOverflow()                                                            Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subDecadesWithNoOverflow(int $value = 1)                                             Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subDecadeWithNoOverflow()                                                            Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addDecadesNoOverflow(int $value = 1)                                                 Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addDecadeNoOverflow()                                                                Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subDecadesNoOverflow(int $value = 1)                                                 Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subDecadeNoOverflow()                                                                Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addQuarters(int $value = 1)                                                          Add quarters (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addQuarter()                                                                         Add one quarter to the instance (using date interval).
+ * @method        $this               subQuarters(int $value = 1)                                                          Sub quarters (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subQuarter()                                                                         Sub one quarter to the instance (using date interval).
+ * @method        $this               addQuartersWithOverflow(int $value = 1)                                              Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addQuarterWithOverflow()                                                             Add one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subQuartersWithOverflow(int $value = 1)                                              Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               subQuarterWithOverflow()                                                             Sub one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        $this               addQuartersWithoutOverflow(int $value = 1)                                           Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addQuarterWithoutOverflow()                                                          Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subQuartersWithoutOverflow(int $value = 1)                                           Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subQuarterWithoutOverflow()                                                          Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addQuartersWithNoOverflow(int $value = 1)                                            Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addQuarterWithNoOverflow()                                                           Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subQuartersWithNoOverflow(int $value = 1)                                            Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subQuarterWithNoOverflow()                                                           Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addQuartersNoOverflow(int $value = 1)                                                Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addQuarterNoOverflow()                                                               Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subQuartersNoOverflow(int $value = 1)                                                Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               subQuarterNoOverflow()                                                               Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        $this               addWeeks(int $value = 1)                                                             Add weeks (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addWeek()                                                                            Add one week to the instance (using date interval).
+ * @method        $this               subWeeks(int $value = 1)                                                             Sub weeks (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subWeek()                                                                            Sub one week to the instance (using date interval).
+ * @method        $this               addWeekdays(int $value = 1)                                                          Add weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        $this               addWeekday()                                                                         Add one weekday to the instance (using date interval).
+ * @method        $this               subWeekdays(int $value = 1)                                                          Sub weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        $this               subWeekday()                                                                         Sub one weekday to the instance (using date interval).
+ * @method        $this               addRealMicros(int $value = 1)                                                        Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealMicro()                                                                       Add one microsecond to the instance (using timestamp).
+ * @method        $this               subRealMicros(int $value = 1)                                                        Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealMicro()                                                                       Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod        microsUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        $this               addRealMicroseconds(int $value = 1)                                                  Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealMicrosecond()                                                                 Add one microsecond to the instance (using timestamp).
+ * @method        $this               subRealMicroseconds(int $value = 1)                                                  Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealMicrosecond()                                                                 Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod        microsecondsUntil($endDate = null, int $factor = 1)                                  Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        $this               addRealMillis(int $value = 1)                                                        Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealMilli()                                                                       Add one millisecond to the instance (using timestamp).
+ * @method        $this               subRealMillis(int $value = 1)                                                        Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealMilli()                                                                       Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod        millisUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        $this               addRealMilliseconds(int $value = 1)                                                  Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealMillisecond()                                                                 Add one millisecond to the instance (using timestamp).
+ * @method        $this               subRealMilliseconds(int $value = 1)                                                  Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealMillisecond()                                                                 Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod        millisecondsUntil($endDate = null, int $factor = 1)                                  Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        $this               addRealSeconds(int $value = 1)                                                       Add seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealSecond()                                                                      Add one second to the instance (using timestamp).
+ * @method        $this               subRealSeconds(int $value = 1)                                                       Sub seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealSecond()                                                                      Sub one second to the instance (using timestamp).
+ * @method        CarbonPeriod        secondsUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given.
+ * @method        $this               addRealMinutes(int $value = 1)                                                       Add minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealMinute()                                                                      Add one minute to the instance (using timestamp).
+ * @method        $this               subRealMinutes(int $value = 1)                                                       Sub minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealMinute()                                                                      Sub one minute to the instance (using timestamp).
+ * @method        CarbonPeriod        minutesUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given.
+ * @method        $this               addRealHours(int $value = 1)                                                         Add hours (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealHour()                                                                        Add one hour to the instance (using timestamp).
+ * @method        $this               subRealHours(int $value = 1)                                                         Sub hours (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealHour()                                                                        Sub one hour to the instance (using timestamp).
+ * @method        CarbonPeriod        hoursUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given.
+ * @method        $this               addRealDays(int $value = 1)                                                          Add days (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealDay()                                                                         Add one day to the instance (using timestamp).
+ * @method        $this               subRealDays(int $value = 1)                                                          Sub days (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealDay()                                                                         Sub one day to the instance (using timestamp).
+ * @method        CarbonPeriod        daysUntil($endDate = null, int $factor = 1)                                          Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given.
+ * @method        $this               addRealWeeks(int $value = 1)                                                         Add weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealWeek()                                                                        Add one week to the instance (using timestamp).
+ * @method        $this               subRealWeeks(int $value = 1)                                                         Sub weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealWeek()                                                                        Sub one week to the instance (using timestamp).
+ * @method        CarbonPeriod        weeksUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given.
+ * @method        $this               addRealMonths(int $value = 1)                                                        Add months (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealMonth()                                                                       Add one month to the instance (using timestamp).
+ * @method        $this               subRealMonths(int $value = 1)                                                        Sub months (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealMonth()                                                                       Sub one month to the instance (using timestamp).
+ * @method        CarbonPeriod        monthsUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given.
+ * @method        $this               addRealQuarters(int $value = 1)                                                      Add quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealQuarter()                                                                     Add one quarter to the instance (using timestamp).
+ * @method        $this               subRealQuarters(int $value = 1)                                                      Sub quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealQuarter()                                                                     Sub one quarter to the instance (using timestamp).
+ * @method        CarbonPeriod        quartersUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given.
+ * @method        $this               addRealYears(int $value = 1)                                                         Add years (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealYear()                                                                        Add one year to the instance (using timestamp).
+ * @method        $this               subRealYears(int $value = 1)                                                         Sub years (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealYear()                                                                        Sub one year to the instance (using timestamp).
+ * @method        CarbonPeriod        yearsUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given.
+ * @method        $this               addRealDecades(int $value = 1)                                                       Add decades (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealDecade()                                                                      Add one decade to the instance (using timestamp).
+ * @method        $this               subRealDecades(int $value = 1)                                                       Sub decades (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealDecade()                                                                      Sub one decade to the instance (using timestamp).
+ * @method        CarbonPeriod        decadesUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given.
+ * @method        $this               addRealCenturies(int $value = 1)                                                     Add centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealCentury()                                                                     Add one century to the instance (using timestamp).
+ * @method        $this               subRealCenturies(int $value = 1)                                                     Sub centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealCentury()                                                                     Sub one century to the instance (using timestamp).
+ * @method        CarbonPeriod        centuriesUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given.
+ * @method        $this               addRealMillennia(int $value = 1)                                                     Add millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               addRealMillennium()                                                                  Add one millennium to the instance (using timestamp).
+ * @method        $this               subRealMillennia(int $value = 1)                                                     Sub millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        $this               subRealMillennium()                                                                  Sub one millennium to the instance (using timestamp).
+ * @method        CarbonPeriod        millenniaUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given.
+ * @method        $this               roundYear(float $precision = 1, string $function = "round")                          Round the current instance year with given precision using the given function.
+ * @method        $this               roundYears(float $precision = 1, string $function = "round")                         Round the current instance year with given precision using the given function.
+ * @method        $this               floorYear(float $precision = 1)                                                      Truncate the current instance year with given precision.
+ * @method        $this               floorYears(float $precision = 1)                                                     Truncate the current instance year with given precision.
+ * @method        $this               ceilYear(float $precision = 1)                                                       Ceil the current instance year with given precision.
+ * @method        $this               ceilYears(float $precision = 1)                                                      Ceil the current instance year with given precision.
+ * @method        $this               roundMonth(float $precision = 1, string $function = "round")                         Round the current instance month with given precision using the given function.
+ * @method        $this               roundMonths(float $precision = 1, string $function = "round")                        Round the current instance month with given precision using the given function.
+ * @method        $this               floorMonth(float $precision = 1)                                                     Truncate the current instance month with given precision.
+ * @method        $this               floorMonths(float $precision = 1)                                                    Truncate the current instance month with given precision.
+ * @method        $this               ceilMonth(float $precision = 1)                                                      Ceil the current instance month with given precision.
+ * @method        $this               ceilMonths(float $precision = 1)                                                     Ceil the current instance month with given precision.
+ * @method        $this               roundDay(float $precision = 1, string $function = "round")                           Round the current instance day with given precision using the given function.
+ * @method        $this               roundDays(float $precision = 1, string $function = "round")                          Round the current instance day with given precision using the given function.
+ * @method        $this               floorDay(float $precision = 1)                                                       Truncate the current instance day with given precision.
+ * @method        $this               floorDays(float $precision = 1)                                                      Truncate the current instance day with given precision.
+ * @method        $this               ceilDay(float $precision = 1)                                                        Ceil the current instance day with given precision.
+ * @method        $this               ceilDays(float $precision = 1)                                                       Ceil the current instance day with given precision.
+ * @method        $this               roundHour(float $precision = 1, string $function = "round")                          Round the current instance hour with given precision using the given function.
+ * @method        $this               roundHours(float $precision = 1, string $function = "round")                         Round the current instance hour with given precision using the given function.
+ * @method        $this               floorHour(float $precision = 1)                                                      Truncate the current instance hour with given precision.
+ * @method        $this               floorHours(float $precision = 1)                                                     Truncate the current instance hour with given precision.
+ * @method        $this               ceilHour(float $precision = 1)                                                       Ceil the current instance hour with given precision.
+ * @method        $this               ceilHours(float $precision = 1)                                                      Ceil the current instance hour with given precision.
+ * @method        $this               roundMinute(float $precision = 1, string $function = "round")                        Round the current instance minute with given precision using the given function.
+ * @method        $this               roundMinutes(float $precision = 1, string $function = "round")                       Round the current instance minute with given precision using the given function.
+ * @method        $this               floorMinute(float $precision = 1)                                                    Truncate the current instance minute with given precision.
+ * @method        $this               floorMinutes(float $precision = 1)                                                   Truncate the current instance minute with given precision.
+ * @method        $this               ceilMinute(float $precision = 1)                                                     Ceil the current instance minute with given precision.
+ * @method        $this               ceilMinutes(float $precision = 1)                                                    Ceil the current instance minute with given precision.
+ * @method        $this               roundSecond(float $precision = 1, string $function = "round")                        Round the current instance second with given precision using the given function.
+ * @method        $this               roundSeconds(float $precision = 1, string $function = "round")                       Round the current instance second with given precision using the given function.
+ * @method        $this               floorSecond(float $precision = 1)                                                    Truncate the current instance second with given precision.
+ * @method        $this               floorSeconds(float $precision = 1)                                                   Truncate the current instance second with given precision.
+ * @method        $this               ceilSecond(float $precision = 1)                                                     Ceil the current instance second with given precision.
+ * @method        $this               ceilSeconds(float $precision = 1)                                                    Ceil the current instance second with given precision.
+ * @method        $this               roundMillennium(float $precision = 1, string $function = "round")                    Round the current instance millennium with given precision using the given function.
+ * @method        $this               roundMillennia(float $precision = 1, string $function = "round")                     Round the current instance millennium with given precision using the given function.
+ * @method        $this               floorMillennium(float $precision = 1)                                                Truncate the current instance millennium with given precision.
+ * @method        $this               floorMillennia(float $precision = 1)                                                 Truncate the current instance millennium with given precision.
+ * @method        $this               ceilMillennium(float $precision = 1)                                                 Ceil the current instance millennium with given precision.
+ * @method        $this               ceilMillennia(float $precision = 1)                                                  Ceil the current instance millennium with given precision.
+ * @method        $this               roundCentury(float $precision = 1, string $function = "round")                       Round the current instance century with given precision using the given function.
+ * @method        $this               roundCenturies(float $precision = 1, string $function = "round")                     Round the current instance century with given precision using the given function.
+ * @method        $this               floorCentury(float $precision = 1)                                                   Truncate the current instance century with given precision.
+ * @method        $this               floorCenturies(float $precision = 1)                                                 Truncate the current instance century with given precision.
+ * @method        $this               ceilCentury(float $precision = 1)                                                    Ceil the current instance century with given precision.
+ * @method        $this               ceilCenturies(float $precision = 1)                                                  Ceil the current instance century with given precision.
+ * @method        $this               roundDecade(float $precision = 1, string $function = "round")                        Round the current instance decade with given precision using the given function.
+ * @method        $this               roundDecades(float $precision = 1, string $function = "round")                       Round the current instance decade with given precision using the given function.
+ * @method        $this               floorDecade(float $precision = 1)                                                    Truncate the current instance decade with given precision.
+ * @method        $this               floorDecades(float $precision = 1)                                                   Truncate the current instance decade with given precision.
+ * @method        $this               ceilDecade(float $precision = 1)                                                     Ceil the current instance decade with given precision.
+ * @method        $this               ceilDecades(float $precision = 1)                                                    Ceil the current instance decade with given precision.
+ * @method        $this               roundQuarter(float $precision = 1, string $function = "round")                       Round the current instance quarter with given precision using the given function.
+ * @method        $this               roundQuarters(float $precision = 1, string $function = "round")                      Round the current instance quarter with given precision using the given function.
+ * @method        $this               floorQuarter(float $precision = 1)                                                   Truncate the current instance quarter with given precision.
+ * @method        $this               floorQuarters(float $precision = 1)                                                  Truncate the current instance quarter with given precision.
+ * @method        $this               ceilQuarter(float $precision = 1)                                                    Ceil the current instance quarter with given precision.
+ * @method        $this               ceilQuarters(float $precision = 1)                                                   Ceil the current instance quarter with given precision.
+ * @method        $this               roundMillisecond(float $precision = 1, string $function = "round")                   Round the current instance millisecond with given precision using the given function.
+ * @method        $this               roundMilliseconds(float $precision = 1, string $function = "round")                  Round the current instance millisecond with given precision using the given function.
+ * @method        $this               floorMillisecond(float $precision = 1)                                               Truncate the current instance millisecond with given precision.
+ * @method        $this               floorMilliseconds(float $precision = 1)                                              Truncate the current instance millisecond with given precision.
+ * @method        $this               ceilMillisecond(float $precision = 1)                                                Ceil the current instance millisecond with given precision.
+ * @method        $this               ceilMilliseconds(float $precision = 1)                                               Ceil the current instance millisecond with given precision.
+ * @method        $this               roundMicrosecond(float $precision = 1, string $function = "round")                   Round the current instance microsecond with given precision using the given function.
+ * @method        $this               roundMicroseconds(float $precision = 1, string $function = "round")                  Round the current instance microsecond with given precision using the given function.
+ * @method        $this               floorMicrosecond(float $precision = 1)                                               Truncate the current instance microsecond with given precision.
+ * @method        $this               floorMicroseconds(float $precision = 1)                                              Truncate the current instance microsecond with given precision.
+ * @method        $this               ceilMicrosecond(float $precision = 1)                                                Ceil the current instance microsecond with given precision.
+ * @method        $this               ceilMicroseconds(float $precision = 1)                                               Ceil the current instance microsecond with given precision.
+ * @method        string              shortAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)          Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string              longAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)           Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string              shortRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)          Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string              longRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)           Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string              shortRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)     Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string              longRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)      Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string              shortRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)   Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string              longRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)    Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        static Carbon|false createFromFormat(string $format, string $time, string|DateTimeZone $timezone = null) Parse a string into a new Carbon object according to the specified format.
+ * @method        static Carbon       __set_state(array $array)                                                            https://php.net/manual/en/datetime.set-state.php
+ *
+ * </autodoc>
+ */
+class Carbon extends DateTime implements CarbonInterface
+{
+    use Date;
+
+    /**
+     * Returns true if the current class/instance is mutable.
+     *
+     * @return bool
+     */
+    public static function isMutable()
+    {
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonConverterInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonConverterInterface.php
new file mode 100644
index 0000000..eb0a709
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonConverterInterface.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use DateTimeInterface;
+
+interface CarbonConverterInterface
+{
+    public function convertDate(DateTimeInterface $dateTime, bool $negated = false): CarbonInterface;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonImmutable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonImmutable.php
new file mode 100644
index 0000000..cb1c498
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonImmutable.php
@@ -0,0 +1,582 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Carbon\Traits\Date;
+use DateTimeImmutable;
+use DateTimeInterface;
+use DateTimeZone;
+
+/**
+ * A simple API extension for DateTimeImmutable.
+ *
+ * <autodoc generated by `composer phpdoc`>
+ *
+ * @property      int                          $year
+ * @property      int                          $yearIso
+ * @property      int                          $month
+ * @property      int                          $day
+ * @property      int                          $hour
+ * @property      int                          $minute
+ * @property      int                          $second
+ * @property      int                          $micro
+ * @property      int                          $microsecond
+ * @property      int|float|string             $timestamp                                                                           seconds since the Unix Epoch
+ * @property      string                       $englishDayOfWeek                                                                    the day of week in English
+ * @property      string                       $shortEnglishDayOfWeek                                                               the abbreviated day of week in English
+ * @property      string                       $englishMonth                                                                        the month in English
+ * @property      string                       $shortEnglishMonth                                                                   the abbreviated month in English
+ * @property      string                       $localeDayOfWeek                                                                     the day of week in current locale LC_TIME
+ * @property      string                       $shortLocaleDayOfWeek                                                                the abbreviated day of week in current locale LC_TIME
+ * @property      string                       $localeMonth                                                                         the month in current locale LC_TIME
+ * @property      string                       $shortLocaleMonth                                                                    the abbreviated month in current locale LC_TIME
+ * @property      int                          $milliseconds
+ * @property      int                          $millisecond
+ * @property      int                          $milli
+ * @property      int                          $week                                                                                1 through 53
+ * @property      int                          $isoWeek                                                                             1 through 53
+ * @property      int                          $weekYear                                                                            year according to week format
+ * @property      int                          $isoWeekYear                                                                         year according to ISO week format
+ * @property      int                          $dayOfYear                                                                           1 through 366
+ * @property      int                          $age                                                                                 does a diffInYears() with default parameters
+ * @property      int                          $offset                                                                              the timezone offset in seconds from UTC
+ * @property      int                          $offsetMinutes                                                                       the timezone offset in minutes from UTC
+ * @property      int                          $offsetHours                                                                         the timezone offset in hours from UTC
+ * @property      CarbonTimeZone               $timezone                                                                            the current timezone
+ * @property      CarbonTimeZone               $tz                                                                                  alias of $timezone
+ * @property-read int                          $dayOfWeek                                                                           0 (for Sunday) through 6 (for Saturday)
+ * @property-read int                          $dayOfWeekIso                                                                        1 (for Monday) through 7 (for Sunday)
+ * @property-read int                          $weekOfYear                                                                          ISO-8601 week number of year, weeks starting on Monday
+ * @property-read int                          $daysInMonth                                                                         number of days in the given month
+ * @property-read string                       $latinMeridiem                                                                       "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark)
+ * @property-read string                       $latinUpperMeridiem                                                                  "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark)
+ * @property-read string                       $timezoneAbbreviatedName                                                             the current timezone abbreviated name
+ * @property-read string                       $tzAbbrName                                                                          alias of $timezoneAbbreviatedName
+ * @property-read string                       $dayName                                                                             long name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string                       $shortDayName                                                                        short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string                       $minDayName                                                                          very short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string                       $monthName                                                                           long name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string                       $shortMonthName                                                                      short name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string                       $meridiem                                                                            lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read string                       $upperMeridiem                                                                       uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read int                          $noZeroHour                                                                          current hour from 1 to 24
+ * @property-read int                          $weeksInYear                                                                         51 through 53
+ * @property-read int                          $isoWeeksInYear                                                                      51 through 53
+ * @property-read int                          $weekOfMonth                                                                         1 through 5
+ * @property-read int                          $weekNumberInMonth                                                                   1 through 5
+ * @property-read int                          $firstWeekDay                                                                        0 through 6
+ * @property-read int                          $lastWeekDay                                                                         0 through 6
+ * @property-read int                          $daysInYear                                                                          365 or 366
+ * @property-read int                          $quarter                                                                             the quarter of this instance, 1 - 4
+ * @property-read int                          $decade                                                                              the decade of this instance
+ * @property-read int                          $century                                                                             the century of this instance
+ * @property-read int                          $millennium                                                                          the millennium of this instance
+ * @property-read bool                         $dst                                                                                 daylight savings time indicator, true if DST, false otherwise
+ * @property-read bool                         $local                                                                               checks if the timezone is local, true if local, false otherwise
+ * @property-read bool                         $utc                                                                                 checks if the timezone is UTC, true if UTC, false otherwise
+ * @property-read string                       $timezoneName                                                                        the current timezone name
+ * @property-read string                       $tzName                                                                              alias of $timezoneName
+ * @property-read string                       $locale                                                                              locale of the current instance
+ *
+ * @method        bool                         isUtc()                                                                              Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.)
+ * @method        bool                         isLocal()                                                                            Check if the current instance has non-UTC timezone.
+ * @method        bool                         isValid()                                                                            Check if the current instance is a valid date.
+ * @method        bool                         isDST()                                                                              Check if the current instance is in a daylight saving time.
+ * @method        bool                         isSunday()                                                                           Checks if the instance day is sunday.
+ * @method        bool                         isMonday()                                                                           Checks if the instance day is monday.
+ * @method        bool                         isTuesday()                                                                          Checks if the instance day is tuesday.
+ * @method        bool                         isWednesday()                                                                        Checks if the instance day is wednesday.
+ * @method        bool                         isThursday()                                                                         Checks if the instance day is thursday.
+ * @method        bool                         isFriday()                                                                           Checks if the instance day is friday.
+ * @method        bool                         isSaturday()                                                                         Checks if the instance day is saturday.
+ * @method        bool                         isSameYear(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentYear()                                                                      Checks if the instance is in the same year as the current moment.
+ * @method        bool                         isNextYear()                                                                         Checks if the instance is in the same year as the current moment next year.
+ * @method        bool                         isLastYear()                                                                         Checks if the instance is in the same year as the current moment last year.
+ * @method        bool                         isSameWeek(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentWeek()                                                                      Checks if the instance is in the same week as the current moment.
+ * @method        bool                         isNextWeek()                                                                         Checks if the instance is in the same week as the current moment next week.
+ * @method        bool                         isLastWeek()                                                                         Checks if the instance is in the same week as the current moment last week.
+ * @method        bool                         isSameDay(Carbon|DateTimeInterface|string|null $date = null)                         Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentDay()                                                                       Checks if the instance is in the same day as the current moment.
+ * @method        bool                         isNextDay()                                                                          Checks if the instance is in the same day as the current moment next day.
+ * @method        bool                         isLastDay()                                                                          Checks if the instance is in the same day as the current moment last day.
+ * @method        bool                         isSameHour(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentHour()                                                                      Checks if the instance is in the same hour as the current moment.
+ * @method        bool                         isNextHour()                                                                         Checks if the instance is in the same hour as the current moment next hour.
+ * @method        bool                         isLastHour()                                                                         Checks if the instance is in the same hour as the current moment last hour.
+ * @method        bool                         isSameMinute(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentMinute()                                                                    Checks if the instance is in the same minute as the current moment.
+ * @method        bool                         isNextMinute()                                                                       Checks if the instance is in the same minute as the current moment next minute.
+ * @method        bool                         isLastMinute()                                                                       Checks if the instance is in the same minute as the current moment last minute.
+ * @method        bool                         isSameSecond(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentSecond()                                                                    Checks if the instance is in the same second as the current moment.
+ * @method        bool                         isNextSecond()                                                                       Checks if the instance is in the same second as the current moment next second.
+ * @method        bool                         isLastSecond()                                                                       Checks if the instance is in the same second as the current moment last second.
+ * @method        bool                         isSameMicro(Carbon|DateTimeInterface|string|null $date = null)                       Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentMicro()                                                                     Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool                         isNextMicro()                                                                        Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool                         isLastMicro()                                                                        Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool                         isSameMicrosecond(Carbon|DateTimeInterface|string|null $date = null)                 Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentMicrosecond()                                                               Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool                         isNextMicrosecond()                                                                  Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool                         isLastMicrosecond()                                                                  Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool                         isCurrentMonth()                                                                     Checks if the instance is in the same month as the current moment.
+ * @method        bool                         isNextMonth()                                                                        Checks if the instance is in the same month as the current moment next month.
+ * @method        bool                         isLastMonth()                                                                        Checks if the instance is in the same month as the current moment last month.
+ * @method        bool                         isCurrentQuarter()                                                                   Checks if the instance is in the same quarter as the current moment.
+ * @method        bool                         isNextQuarter()                                                                      Checks if the instance is in the same quarter as the current moment next quarter.
+ * @method        bool                         isLastQuarter()                                                                      Checks if the instance is in the same quarter as the current moment last quarter.
+ * @method        bool                         isSameDecade(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentDecade()                                                                    Checks if the instance is in the same decade as the current moment.
+ * @method        bool                         isNextDecade()                                                                       Checks if the instance is in the same decade as the current moment next decade.
+ * @method        bool                         isLastDecade()                                                                       Checks if the instance is in the same decade as the current moment last decade.
+ * @method        bool                         isSameCentury(Carbon|DateTimeInterface|string|null $date = null)                     Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentCentury()                                                                   Checks if the instance is in the same century as the current moment.
+ * @method        bool                         isNextCentury()                                                                      Checks if the instance is in the same century as the current moment next century.
+ * @method        bool                         isLastCentury()                                                                      Checks if the instance is in the same century as the current moment last century.
+ * @method        bool                         isSameMillennium(Carbon|DateTimeInterface|string|null $date = null)                  Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool                         isCurrentMillennium()                                                                Checks if the instance is in the same millennium as the current moment.
+ * @method        bool                         isNextMillennium()                                                                   Checks if the instance is in the same millennium as the current moment next millennium.
+ * @method        bool                         isLastMillennium()                                                                   Checks if the instance is in the same millennium as the current moment last millennium.
+ * @method        CarbonImmutable              years(int $value)                                                                    Set current instance year to the given value.
+ * @method        CarbonImmutable              year(int $value)                                                                     Set current instance year to the given value.
+ * @method        CarbonImmutable              setYears(int $value)                                                                 Set current instance year to the given value.
+ * @method        CarbonImmutable              setYear(int $value)                                                                  Set current instance year to the given value.
+ * @method        CarbonImmutable              months(int $value)                                                                   Set current instance month to the given value.
+ * @method        CarbonImmutable              month(int $value)                                                                    Set current instance month to the given value.
+ * @method        CarbonImmutable              setMonths(int $value)                                                                Set current instance month to the given value.
+ * @method        CarbonImmutable              setMonth(int $value)                                                                 Set current instance month to the given value.
+ * @method        CarbonImmutable              days(int $value)                                                                     Set current instance day to the given value.
+ * @method        CarbonImmutable              day(int $value)                                                                      Set current instance day to the given value.
+ * @method        CarbonImmutable              setDays(int $value)                                                                  Set current instance day to the given value.
+ * @method        CarbonImmutable              setDay(int $value)                                                                   Set current instance day to the given value.
+ * @method        CarbonImmutable              hours(int $value)                                                                    Set current instance hour to the given value.
+ * @method        CarbonImmutable              hour(int $value)                                                                     Set current instance hour to the given value.
+ * @method        CarbonImmutable              setHours(int $value)                                                                 Set current instance hour to the given value.
+ * @method        CarbonImmutable              setHour(int $value)                                                                  Set current instance hour to the given value.
+ * @method        CarbonImmutable              minutes(int $value)                                                                  Set current instance minute to the given value.
+ * @method        CarbonImmutable              minute(int $value)                                                                   Set current instance minute to the given value.
+ * @method        CarbonImmutable              setMinutes(int $value)                                                               Set current instance minute to the given value.
+ * @method        CarbonImmutable              setMinute(int $value)                                                                Set current instance minute to the given value.
+ * @method        CarbonImmutable              seconds(int $value)                                                                  Set current instance second to the given value.
+ * @method        CarbonImmutable              second(int $value)                                                                   Set current instance second to the given value.
+ * @method        CarbonImmutable              setSeconds(int $value)                                                               Set current instance second to the given value.
+ * @method        CarbonImmutable              setSecond(int $value)                                                                Set current instance second to the given value.
+ * @method        CarbonImmutable              millis(int $value)                                                                   Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              milli(int $value)                                                                    Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              setMillis(int $value)                                                                Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              setMilli(int $value)                                                                 Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              milliseconds(int $value)                                                             Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              millisecond(int $value)                                                              Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              setMilliseconds(int $value)                                                          Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              setMillisecond(int $value)                                                           Set current instance millisecond to the given value.
+ * @method        CarbonImmutable              micros(int $value)                                                                   Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              micro(int $value)                                                                    Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              setMicros(int $value)                                                                Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              setMicro(int $value)                                                                 Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              microseconds(int $value)                                                             Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              microsecond(int $value)                                                              Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              setMicroseconds(int $value)                                                          Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              setMicrosecond(int $value)                                                           Set current instance microsecond to the given value.
+ * @method        CarbonImmutable              addYears(int $value = 1)                                                             Add years (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addYear()                                                                            Add one year to the instance (using date interval).
+ * @method        CarbonImmutable              subYears(int $value = 1)                                                             Sub years (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subYear()                                                                            Sub one year to the instance (using date interval).
+ * @method        CarbonImmutable              addYearsWithOverflow(int $value = 1)                                                 Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addYearWithOverflow()                                                                Add one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subYearsWithOverflow(int $value = 1)                                                 Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subYearWithOverflow()                                                                Sub one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addYearsWithoutOverflow(int $value = 1)                                              Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addYearWithoutOverflow()                                                             Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subYearsWithoutOverflow(int $value = 1)                                              Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subYearWithoutOverflow()                                                             Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addYearsWithNoOverflow(int $value = 1)                                               Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addYearWithNoOverflow()                                                              Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subYearsWithNoOverflow(int $value = 1)                                               Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subYearWithNoOverflow()                                                              Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addYearsNoOverflow(int $value = 1)                                                   Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addYearNoOverflow()                                                                  Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subYearsNoOverflow(int $value = 1)                                                   Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subYearNoOverflow()                                                                  Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMonths(int $value = 1)                                                            Add months (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addMonth()                                                                           Add one month to the instance (using date interval).
+ * @method        CarbonImmutable              subMonths(int $value = 1)                                                            Sub months (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subMonth()                                                                           Sub one month to the instance (using date interval).
+ * @method        CarbonImmutable              addMonthsWithOverflow(int $value = 1)                                                Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addMonthWithOverflow()                                                               Add one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subMonthsWithOverflow(int $value = 1)                                                Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subMonthWithOverflow()                                                               Sub one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addMonthsWithoutOverflow(int $value = 1)                                             Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMonthWithoutOverflow()                                                            Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMonthsWithoutOverflow(int $value = 1)                                             Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMonthWithoutOverflow()                                                            Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMonthsWithNoOverflow(int $value = 1)                                              Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMonthWithNoOverflow()                                                             Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMonthsWithNoOverflow(int $value = 1)                                              Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMonthWithNoOverflow()                                                             Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMonthsNoOverflow(int $value = 1)                                                  Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMonthNoOverflow()                                                                 Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMonthsNoOverflow(int $value = 1)                                                  Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMonthNoOverflow()                                                                 Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addDays(int $value = 1)                                                              Add days (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addDay()                                                                             Add one day to the instance (using date interval).
+ * @method        CarbonImmutable              subDays(int $value = 1)                                                              Sub days (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subDay()                                                                             Sub one day to the instance (using date interval).
+ * @method        CarbonImmutable              addHours(int $value = 1)                                                             Add hours (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addHour()                                                                            Add one hour to the instance (using date interval).
+ * @method        CarbonImmutable              subHours(int $value = 1)                                                             Sub hours (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subHour()                                                                            Sub one hour to the instance (using date interval).
+ * @method        CarbonImmutable              addMinutes(int $value = 1)                                                           Add minutes (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addMinute()                                                                          Add one minute to the instance (using date interval).
+ * @method        CarbonImmutable              subMinutes(int $value = 1)                                                           Sub minutes (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subMinute()                                                                          Sub one minute to the instance (using date interval).
+ * @method        CarbonImmutable              addSeconds(int $value = 1)                                                           Add seconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addSecond()                                                                          Add one second to the instance (using date interval).
+ * @method        CarbonImmutable              subSeconds(int $value = 1)                                                           Sub seconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subSecond()                                                                          Sub one second to the instance (using date interval).
+ * @method        CarbonImmutable              addMillis(int $value = 1)                                                            Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addMilli()                                                                           Add one millisecond to the instance (using date interval).
+ * @method        CarbonImmutable              subMillis(int $value = 1)                                                            Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subMilli()                                                                           Sub one millisecond to the instance (using date interval).
+ * @method        CarbonImmutable              addMilliseconds(int $value = 1)                                                      Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addMillisecond()                                                                     Add one millisecond to the instance (using date interval).
+ * @method        CarbonImmutable              subMilliseconds(int $value = 1)                                                      Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subMillisecond()                                                                     Sub one millisecond to the instance (using date interval).
+ * @method        CarbonImmutable              addMicros(int $value = 1)                                                            Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addMicro()                                                                           Add one microsecond to the instance (using date interval).
+ * @method        CarbonImmutable              subMicros(int $value = 1)                                                            Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subMicro()                                                                           Sub one microsecond to the instance (using date interval).
+ * @method        CarbonImmutable              addMicroseconds(int $value = 1)                                                      Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addMicrosecond()                                                                     Add one microsecond to the instance (using date interval).
+ * @method        CarbonImmutable              subMicroseconds(int $value = 1)                                                      Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subMicrosecond()                                                                     Sub one microsecond to the instance (using date interval).
+ * @method        CarbonImmutable              addMillennia(int $value = 1)                                                         Add millennia (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addMillennium()                                                                      Add one millennium to the instance (using date interval).
+ * @method        CarbonImmutable              subMillennia(int $value = 1)                                                         Sub millennia (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subMillennium()                                                                      Sub one millennium to the instance (using date interval).
+ * @method        CarbonImmutable              addMillenniaWithOverflow(int $value = 1)                                             Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addMillenniumWithOverflow()                                                          Add one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subMillenniaWithOverflow(int $value = 1)                                             Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subMillenniumWithOverflow()                                                          Sub one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addMillenniaWithoutOverflow(int $value = 1)                                          Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMillenniumWithoutOverflow()                                                       Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMillenniaWithoutOverflow(int $value = 1)                                          Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMillenniumWithoutOverflow()                                                       Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMillenniaWithNoOverflow(int $value = 1)                                           Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMillenniumWithNoOverflow()                                                        Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMillenniaWithNoOverflow(int $value = 1)                                           Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMillenniumWithNoOverflow()                                                        Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMillenniaNoOverflow(int $value = 1)                                               Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addMillenniumNoOverflow()                                                            Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMillenniaNoOverflow(int $value = 1)                                               Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subMillenniumNoOverflow()                                                            Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addCenturies(int $value = 1)                                                         Add centuries (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addCentury()                                                                         Add one century to the instance (using date interval).
+ * @method        CarbonImmutable              subCenturies(int $value = 1)                                                         Sub centuries (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subCentury()                                                                         Sub one century to the instance (using date interval).
+ * @method        CarbonImmutable              addCenturiesWithOverflow(int $value = 1)                                             Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addCenturyWithOverflow()                                                             Add one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subCenturiesWithOverflow(int $value = 1)                                             Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subCenturyWithOverflow()                                                             Sub one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addCenturiesWithoutOverflow(int $value = 1)                                          Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addCenturyWithoutOverflow()                                                          Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subCenturiesWithoutOverflow(int $value = 1)                                          Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subCenturyWithoutOverflow()                                                          Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addCenturiesWithNoOverflow(int $value = 1)                                           Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addCenturyWithNoOverflow()                                                           Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subCenturiesWithNoOverflow(int $value = 1)                                           Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subCenturyWithNoOverflow()                                                           Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addCenturiesNoOverflow(int $value = 1)                                               Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addCenturyNoOverflow()                                                               Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subCenturiesNoOverflow(int $value = 1)                                               Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subCenturyNoOverflow()                                                               Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addDecades(int $value = 1)                                                           Add decades (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addDecade()                                                                          Add one decade to the instance (using date interval).
+ * @method        CarbonImmutable              subDecades(int $value = 1)                                                           Sub decades (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subDecade()                                                                          Sub one decade to the instance (using date interval).
+ * @method        CarbonImmutable              addDecadesWithOverflow(int $value = 1)                                               Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addDecadeWithOverflow()                                                              Add one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subDecadesWithOverflow(int $value = 1)                                               Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subDecadeWithOverflow()                                                              Sub one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addDecadesWithoutOverflow(int $value = 1)                                            Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addDecadeWithoutOverflow()                                                           Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subDecadesWithoutOverflow(int $value = 1)                                            Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subDecadeWithoutOverflow()                                                           Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addDecadesWithNoOverflow(int $value = 1)                                             Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addDecadeWithNoOverflow()                                                            Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subDecadesWithNoOverflow(int $value = 1)                                             Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subDecadeWithNoOverflow()                                                            Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addDecadesNoOverflow(int $value = 1)                                                 Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addDecadeNoOverflow()                                                                Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subDecadesNoOverflow(int $value = 1)                                                 Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subDecadeNoOverflow()                                                                Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addQuarters(int $value = 1)                                                          Add quarters (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addQuarter()                                                                         Add one quarter to the instance (using date interval).
+ * @method        CarbonImmutable              subQuarters(int $value = 1)                                                          Sub quarters (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subQuarter()                                                                         Sub one quarter to the instance (using date interval).
+ * @method        CarbonImmutable              addQuartersWithOverflow(int $value = 1)                                              Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addQuarterWithOverflow()                                                             Add one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subQuartersWithOverflow(int $value = 1)                                              Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              subQuarterWithOverflow()                                                             Sub one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonImmutable              addQuartersWithoutOverflow(int $value = 1)                                           Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addQuarterWithoutOverflow()                                                          Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subQuartersWithoutOverflow(int $value = 1)                                           Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subQuarterWithoutOverflow()                                                          Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addQuartersWithNoOverflow(int $value = 1)                                            Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addQuarterWithNoOverflow()                                                           Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subQuartersWithNoOverflow(int $value = 1)                                            Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subQuarterWithNoOverflow()                                                           Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addQuartersNoOverflow(int $value = 1)                                                Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addQuarterNoOverflow()                                                               Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subQuartersNoOverflow(int $value = 1)                                                Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              subQuarterNoOverflow()                                                               Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonImmutable              addWeeks(int $value = 1)                                                             Add weeks (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addWeek()                                                                            Add one week to the instance (using date interval).
+ * @method        CarbonImmutable              subWeeks(int $value = 1)                                                             Sub weeks (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subWeek()                                                                            Sub one week to the instance (using date interval).
+ * @method        CarbonImmutable              addWeekdays(int $value = 1)                                                          Add weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              addWeekday()                                                                         Add one weekday to the instance (using date interval).
+ * @method        CarbonImmutable              subWeekdays(int $value = 1)                                                          Sub weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonImmutable              subWeekday()                                                                         Sub one weekday to the instance (using date interval).
+ * @method        CarbonImmutable              addRealMicros(int $value = 1)                                                        Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealMicro()                                                                       Add one microsecond to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMicros(int $value = 1)                                                        Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMicro()                                                                       Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod                 microsUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        CarbonImmutable              addRealMicroseconds(int $value = 1)                                                  Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealMicrosecond()                                                                 Add one microsecond to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMicroseconds(int $value = 1)                                                  Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMicrosecond()                                                                 Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod                 microsecondsUntil($endDate = null, int $factor = 1)                                  Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        CarbonImmutable              addRealMillis(int $value = 1)                                                        Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealMilli()                                                                       Add one millisecond to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMillis(int $value = 1)                                                        Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMilli()                                                                       Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod                 millisUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        CarbonImmutable              addRealMilliseconds(int $value = 1)                                                  Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealMillisecond()                                                                 Add one millisecond to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMilliseconds(int $value = 1)                                                  Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMillisecond()                                                                 Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod                 millisecondsUntil($endDate = null, int $factor = 1)                                  Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        CarbonImmutable              addRealSeconds(int $value = 1)                                                       Add seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealSecond()                                                                      Add one second to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealSeconds(int $value = 1)                                                       Sub seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealSecond()                                                                      Sub one second to the instance (using timestamp).
+ * @method        CarbonPeriod                 secondsUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given.
+ * @method        CarbonImmutable              addRealMinutes(int $value = 1)                                                       Add minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealMinute()                                                                      Add one minute to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMinutes(int $value = 1)                                                       Sub minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMinute()                                                                      Sub one minute to the instance (using timestamp).
+ * @method        CarbonPeriod                 minutesUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given.
+ * @method        CarbonImmutable              addRealHours(int $value = 1)                                                         Add hours (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealHour()                                                                        Add one hour to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealHours(int $value = 1)                                                         Sub hours (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealHour()                                                                        Sub one hour to the instance (using timestamp).
+ * @method        CarbonPeriod                 hoursUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given.
+ * @method        CarbonImmutable              addRealDays(int $value = 1)                                                          Add days (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealDay()                                                                         Add one day to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealDays(int $value = 1)                                                          Sub days (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealDay()                                                                         Sub one day to the instance (using timestamp).
+ * @method        CarbonPeriod                 daysUntil($endDate = null, int $factor = 1)                                          Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given.
+ * @method        CarbonImmutable              addRealWeeks(int $value = 1)                                                         Add weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealWeek()                                                                        Add one week to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealWeeks(int $value = 1)                                                         Sub weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealWeek()                                                                        Sub one week to the instance (using timestamp).
+ * @method        CarbonPeriod                 weeksUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given.
+ * @method        CarbonImmutable              addRealMonths(int $value = 1)                                                        Add months (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealMonth()                                                                       Add one month to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMonths(int $value = 1)                                                        Sub months (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMonth()                                                                       Sub one month to the instance (using timestamp).
+ * @method        CarbonPeriod                 monthsUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given.
+ * @method        CarbonImmutable              addRealQuarters(int $value = 1)                                                      Add quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealQuarter()                                                                     Add one quarter to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealQuarters(int $value = 1)                                                      Sub quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealQuarter()                                                                     Sub one quarter to the instance (using timestamp).
+ * @method        CarbonPeriod                 quartersUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given.
+ * @method        CarbonImmutable              addRealYears(int $value = 1)                                                         Add years (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealYear()                                                                        Add one year to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealYears(int $value = 1)                                                         Sub years (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealYear()                                                                        Sub one year to the instance (using timestamp).
+ * @method        CarbonPeriod                 yearsUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given.
+ * @method        CarbonImmutable              addRealDecades(int $value = 1)                                                       Add decades (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealDecade()                                                                      Add one decade to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealDecades(int $value = 1)                                                       Sub decades (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealDecade()                                                                      Sub one decade to the instance (using timestamp).
+ * @method        CarbonPeriod                 decadesUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given.
+ * @method        CarbonImmutable              addRealCenturies(int $value = 1)                                                     Add centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealCentury()                                                                     Add one century to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealCenturies(int $value = 1)                                                     Sub centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealCentury()                                                                     Sub one century to the instance (using timestamp).
+ * @method        CarbonPeriod                 centuriesUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given.
+ * @method        CarbonImmutable              addRealMillennia(int $value = 1)                                                     Add millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              addRealMillennium()                                                                  Add one millennium to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMillennia(int $value = 1)                                                     Sub millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonImmutable              subRealMillennium()                                                                  Sub one millennium to the instance (using timestamp).
+ * @method        CarbonPeriod                 millenniaUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given.
+ * @method        CarbonImmutable              roundYear(float $precision = 1, string $function = "round")                          Round the current instance year with given precision using the given function.
+ * @method        CarbonImmutable              roundYears(float $precision = 1, string $function = "round")                         Round the current instance year with given precision using the given function.
+ * @method        CarbonImmutable              floorYear(float $precision = 1)                                                      Truncate the current instance year with given precision.
+ * @method        CarbonImmutable              floorYears(float $precision = 1)                                                     Truncate the current instance year with given precision.
+ * @method        CarbonImmutable              ceilYear(float $precision = 1)                                                       Ceil the current instance year with given precision.
+ * @method        CarbonImmutable              ceilYears(float $precision = 1)                                                      Ceil the current instance year with given precision.
+ * @method        CarbonImmutable              roundMonth(float $precision = 1, string $function = "round")                         Round the current instance month with given precision using the given function.
+ * @method        CarbonImmutable              roundMonths(float $precision = 1, string $function = "round")                        Round the current instance month with given precision using the given function.
+ * @method        CarbonImmutable              floorMonth(float $precision = 1)                                                     Truncate the current instance month with given precision.
+ * @method        CarbonImmutable              floorMonths(float $precision = 1)                                                    Truncate the current instance month with given precision.
+ * @method        CarbonImmutable              ceilMonth(float $precision = 1)                                                      Ceil the current instance month with given precision.
+ * @method        CarbonImmutable              ceilMonths(float $precision = 1)                                                     Ceil the current instance month with given precision.
+ * @method        CarbonImmutable              roundDay(float $precision = 1, string $function = "round")                           Round the current instance day with given precision using the given function.
+ * @method        CarbonImmutable              roundDays(float $precision = 1, string $function = "round")                          Round the current instance day with given precision using the given function.
+ * @method        CarbonImmutable              floorDay(float $precision = 1)                                                       Truncate the current instance day with given precision.
+ * @method        CarbonImmutable              floorDays(float $precision = 1)                                                      Truncate the current instance day with given precision.
+ * @method        CarbonImmutable              ceilDay(float $precision = 1)                                                        Ceil the current instance day with given precision.
+ * @method        CarbonImmutable              ceilDays(float $precision = 1)                                                       Ceil the current instance day with given precision.
+ * @method        CarbonImmutable              roundHour(float $precision = 1, string $function = "round")                          Round the current instance hour with given precision using the given function.
+ * @method        CarbonImmutable              roundHours(float $precision = 1, string $function = "round")                         Round the current instance hour with given precision using the given function.
+ * @method        CarbonImmutable              floorHour(float $precision = 1)                                                      Truncate the current instance hour with given precision.
+ * @method        CarbonImmutable              floorHours(float $precision = 1)                                                     Truncate the current instance hour with given precision.
+ * @method        CarbonImmutable              ceilHour(float $precision = 1)                                                       Ceil the current instance hour with given precision.
+ * @method        CarbonImmutable              ceilHours(float $precision = 1)                                                      Ceil the current instance hour with given precision.
+ * @method        CarbonImmutable              roundMinute(float $precision = 1, string $function = "round")                        Round the current instance minute with given precision using the given function.
+ * @method        CarbonImmutable              roundMinutes(float $precision = 1, string $function = "round")                       Round the current instance minute with given precision using the given function.
+ * @method        CarbonImmutable              floorMinute(float $precision = 1)                                                    Truncate the current instance minute with given precision.
+ * @method        CarbonImmutable              floorMinutes(float $precision = 1)                                                   Truncate the current instance minute with given precision.
+ * @method        CarbonImmutable              ceilMinute(float $precision = 1)                                                     Ceil the current instance minute with given precision.
+ * @method        CarbonImmutable              ceilMinutes(float $precision = 1)                                                    Ceil the current instance minute with given precision.
+ * @method        CarbonImmutable              roundSecond(float $precision = 1, string $function = "round")                        Round the current instance second with given precision using the given function.
+ * @method        CarbonImmutable              roundSeconds(float $precision = 1, string $function = "round")                       Round the current instance second with given precision using the given function.
+ * @method        CarbonImmutable              floorSecond(float $precision = 1)                                                    Truncate the current instance second with given precision.
+ * @method        CarbonImmutable              floorSeconds(float $precision = 1)                                                   Truncate the current instance second with given precision.
+ * @method        CarbonImmutable              ceilSecond(float $precision = 1)                                                     Ceil the current instance second with given precision.
+ * @method        CarbonImmutable              ceilSeconds(float $precision = 1)                                                    Ceil the current instance second with given precision.
+ * @method        CarbonImmutable              roundMillennium(float $precision = 1, string $function = "round")                    Round the current instance millennium with given precision using the given function.
+ * @method        CarbonImmutable              roundMillennia(float $precision = 1, string $function = "round")                     Round the current instance millennium with given precision using the given function.
+ * @method        CarbonImmutable              floorMillennium(float $precision = 1)                                                Truncate the current instance millennium with given precision.
+ * @method        CarbonImmutable              floorMillennia(float $precision = 1)                                                 Truncate the current instance millennium with given precision.
+ * @method        CarbonImmutable              ceilMillennium(float $precision = 1)                                                 Ceil the current instance millennium with given precision.
+ * @method        CarbonImmutable              ceilMillennia(float $precision = 1)                                                  Ceil the current instance millennium with given precision.
+ * @method        CarbonImmutable              roundCentury(float $precision = 1, string $function = "round")                       Round the current instance century with given precision using the given function.
+ * @method        CarbonImmutable              roundCenturies(float $precision = 1, string $function = "round")                     Round the current instance century with given precision using the given function.
+ * @method        CarbonImmutable              floorCentury(float $precision = 1)                                                   Truncate the current instance century with given precision.
+ * @method        CarbonImmutable              floorCenturies(float $precision = 1)                                                 Truncate the current instance century with given precision.
+ * @method        CarbonImmutable              ceilCentury(float $precision = 1)                                                    Ceil the current instance century with given precision.
+ * @method        CarbonImmutable              ceilCenturies(float $precision = 1)                                                  Ceil the current instance century with given precision.
+ * @method        CarbonImmutable              roundDecade(float $precision = 1, string $function = "round")                        Round the current instance decade with given precision using the given function.
+ * @method        CarbonImmutable              roundDecades(float $precision = 1, string $function = "round")                       Round the current instance decade with given precision using the given function.
+ * @method        CarbonImmutable              floorDecade(float $precision = 1)                                                    Truncate the current instance decade with given precision.
+ * @method        CarbonImmutable              floorDecades(float $precision = 1)                                                   Truncate the current instance decade with given precision.
+ * @method        CarbonImmutable              ceilDecade(float $precision = 1)                                                     Ceil the current instance decade with given precision.
+ * @method        CarbonImmutable              ceilDecades(float $precision = 1)                                                    Ceil the current instance decade with given precision.
+ * @method        CarbonImmutable              roundQuarter(float $precision = 1, string $function = "round")                       Round the current instance quarter with given precision using the given function.
+ * @method        CarbonImmutable              roundQuarters(float $precision = 1, string $function = "round")                      Round the current instance quarter with given precision using the given function.
+ * @method        CarbonImmutable              floorQuarter(float $precision = 1)                                                   Truncate the current instance quarter with given precision.
+ * @method        CarbonImmutable              floorQuarters(float $precision = 1)                                                  Truncate the current instance quarter with given precision.
+ * @method        CarbonImmutable              ceilQuarter(float $precision = 1)                                                    Ceil the current instance quarter with given precision.
+ * @method        CarbonImmutable              ceilQuarters(float $precision = 1)                                                   Ceil the current instance quarter with given precision.
+ * @method        CarbonImmutable              roundMillisecond(float $precision = 1, string $function = "round")                   Round the current instance millisecond with given precision using the given function.
+ * @method        CarbonImmutable              roundMilliseconds(float $precision = 1, string $function = "round")                  Round the current instance millisecond with given precision using the given function.
+ * @method        CarbonImmutable              floorMillisecond(float $precision = 1)                                               Truncate the current instance millisecond with given precision.
+ * @method        CarbonImmutable              floorMilliseconds(float $precision = 1)                                              Truncate the current instance millisecond with given precision.
+ * @method        CarbonImmutable              ceilMillisecond(float $precision = 1)                                                Ceil the current instance millisecond with given precision.
+ * @method        CarbonImmutable              ceilMilliseconds(float $precision = 1)                                               Ceil the current instance millisecond with given precision.
+ * @method        CarbonImmutable              roundMicrosecond(float $precision = 1, string $function = "round")                   Round the current instance microsecond with given precision using the given function.
+ * @method        CarbonImmutable              roundMicroseconds(float $precision = 1, string $function = "round")                  Round the current instance microsecond with given precision using the given function.
+ * @method        CarbonImmutable              floorMicrosecond(float $precision = 1)                                               Truncate the current instance microsecond with given precision.
+ * @method        CarbonImmutable              floorMicroseconds(float $precision = 1)                                              Truncate the current instance microsecond with given precision.
+ * @method        CarbonImmutable              ceilMicrosecond(float $precision = 1)                                                Ceil the current instance microsecond with given precision.
+ * @method        CarbonImmutable              ceilMicroseconds(float $precision = 1)                                               Ceil the current instance microsecond with given precision.
+ * @method        string                       shortAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)          Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string                       longAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)           Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string                       shortRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)          Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string                       longRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)           Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string                       shortRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)     Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string                       longRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)      Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string                       shortRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)   Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string                       longRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)    Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        static CarbonImmutable|false createFromFormat(string $format, string $time, string|DateTimeZone $timezone = null) Parse a string into a new CarbonImmutable object according to the specified format.
+ * @method        static CarbonImmutable       __set_state(array $array)                                                            https://php.net/manual/en/datetime.set-state.php
+ *
+ * </autodoc>
+ */
+class CarbonImmutable extends DateTimeImmutable implements CarbonInterface
+{
+    use Date {
+        __clone as dateTraitClone;
+    }
+
+    public function __clone()
+    {
+        $this->dateTraitClone();
+        $this->endOfTime = false;
+        $this->startOfTime = false;
+    }
+
+    /**
+     * Create a very old date representing start of time.
+     *
+     * @return static
+     */
+    public static function startOfTime(): self
+    {
+        $date = static::parse('0001-01-01')->years(self::getStartOfTimeYear());
+        $date->startOfTime = true;
+
+        return $date;
+    }
+
+    /**
+     * Create a very far date representing end of time.
+     *
+     * @return static
+     */
+    public static function endOfTime(): self
+    {
+        $date = static::parse('9999-12-31 23:59:59.999999')->years(self::getEndOfTimeYear());
+        $date->endOfTime = true;
+
+        return $date;
+    }
+
+    /**
+     * @codeCoverageIgnore
+     */
+    private static function getEndOfTimeYear(): int
+    {
+        if (version_compare(PHP_VERSION, '7.3.0-dev', '<')) {
+            return 145261681241552;
+        }
+
+        // Remove if https://bugs.php.net/bug.php?id=81107 is fixed
+        if (version_compare(PHP_VERSION, '8.1.0-dev', '>=')) {
+            return 1118290769066902787;
+        }
+
+        return PHP_INT_MAX;
+    }
+
+    /**
+     * @codeCoverageIgnore
+     */
+    private static function getStartOfTimeYear(): int
+    {
+        if (version_compare(PHP_VERSION, '7.3.0-dev', '<')) {
+            return -135908816449551;
+        }
+
+        // Remove if https://bugs.php.net/bug.php?id=81107 is fixed
+        if (version_compare(PHP_VERSION, '8.1.0-dev', '>=')) {
+            return -1118290769066898816;
+        }
+
+        return max(PHP_INT_MIN, -9223372036854773760);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php
new file mode 100644
index 0000000..8f09507
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php
@@ -0,0 +1,5032 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use BadMethodCallException;
+use Carbon\Exceptions\BadComparisonUnitException;
+use Carbon\Exceptions\ImmutableException;
+use Carbon\Exceptions\InvalidDateException;
+use Carbon\Exceptions\InvalidFormatException;
+use Carbon\Exceptions\UnknownGetterException;
+use Carbon\Exceptions\UnknownMethodException;
+use Carbon\Exceptions\UnknownSetterException;
+use Closure;
+use DateInterval;
+use DateTime;
+use DateTimeImmutable;
+use DateTimeInterface;
+use DateTimeZone;
+use JsonSerializable;
+use ReflectionException;
+use ReturnTypeWillChange;
+use Throwable;
+
+/**
+ * Common interface for Carbon and CarbonImmutable.
+ *
+ * <autodoc generated by `composer phpdoc`>
+ *
+ * @property      int              $year
+ * @property      int              $yearIso
+ * @property      int              $month
+ * @property      int              $day
+ * @property      int              $hour
+ * @property      int              $minute
+ * @property      int              $second
+ * @property      int              $micro
+ * @property      int              $microsecond
+ * @property      int|float|string $timestamp                                                                         seconds since the Unix Epoch
+ * @property      string           $englishDayOfWeek                                                                  the day of week in English
+ * @property      string           $shortEnglishDayOfWeek                                                             the abbreviated day of week in English
+ * @property      string           $englishMonth                                                                      the month in English
+ * @property      string           $shortEnglishMonth                                                                 the abbreviated month in English
+ * @property      string           $localeDayOfWeek                                                                   the day of week in current locale LC_TIME
+ * @property      string           $shortLocaleDayOfWeek                                                              the abbreviated day of week in current locale LC_TIME
+ * @property      string           $localeMonth                                                                       the month in current locale LC_TIME
+ * @property      string           $shortLocaleMonth                                                                  the abbreviated month in current locale LC_TIME
+ * @property      int              $milliseconds
+ * @property      int              $millisecond
+ * @property      int              $milli
+ * @property      int              $week                                                                              1 through 53
+ * @property      int              $isoWeek                                                                           1 through 53
+ * @property      int              $weekYear                                                                          year according to week format
+ * @property      int              $isoWeekYear                                                                       year according to ISO week format
+ * @property      int              $dayOfYear                                                                         1 through 366
+ * @property      int              $age                                                                               does a diffInYears() with default parameters
+ * @property      int              $offset                                                                            the timezone offset in seconds from UTC
+ * @property      int              $offsetMinutes                                                                     the timezone offset in minutes from UTC
+ * @property      int              $offsetHours                                                                       the timezone offset in hours from UTC
+ * @property      CarbonTimeZone   $timezone                                                                          the current timezone
+ * @property      CarbonTimeZone   $tz                                                                                alias of $timezone
+ * @property-read int              $dayOfWeek                                                                         0 (for Sunday) through 6 (for Saturday)
+ * @property-read int              $dayOfWeekIso                                                                      1 (for Monday) through 7 (for Sunday)
+ * @property-read int              $weekOfYear                                                                        ISO-8601 week number of year, weeks starting on Monday
+ * @property-read int              $daysInMonth                                                                       number of days in the given month
+ * @property-read string           $latinMeridiem                                                                     "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark)
+ * @property-read string           $latinUpperMeridiem                                                                "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark)
+ * @property-read string           $timezoneAbbreviatedName                                                           the current timezone abbreviated name
+ * @property-read string           $tzAbbrName                                                                        alias of $timezoneAbbreviatedName
+ * @property-read string           $dayName                                                                           long name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $shortDayName                                                                      short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $minDayName                                                                        very short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $monthName                                                                         long name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $shortMonthName                                                                    short name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $meridiem                                                                          lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read string           $upperMeridiem                                                                     uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read int              $noZeroHour                                                                        current hour from 1 to 24
+ * @property-read int              $weeksInYear                                                                       51 through 53
+ * @property-read int              $isoWeeksInYear                                                                    51 through 53
+ * @property-read int              $weekOfMonth                                                                       1 through 5
+ * @property-read int              $weekNumberInMonth                                                                 1 through 5
+ * @property-read int              $firstWeekDay                                                                      0 through 6
+ * @property-read int              $lastWeekDay                                                                       0 through 6
+ * @property-read int              $daysInYear                                                                        365 or 366
+ * @property-read int              $quarter                                                                           the quarter of this instance, 1 - 4
+ * @property-read int              $decade                                                                            the decade of this instance
+ * @property-read int              $century                                                                           the century of this instance
+ * @property-read int              $millennium                                                                        the millennium of this instance
+ * @property-read bool             $dst                                                                               daylight savings time indicator, true if DST, false otherwise
+ * @property-read bool             $local                                                                             checks if the timezone is local, true if local, false otherwise
+ * @property-read bool             $utc                                                                               checks if the timezone is UTC, true if UTC, false otherwise
+ * @property-read string           $timezoneName                                                                      the current timezone name
+ * @property-read string           $tzName                                                                            alias of $timezoneName
+ * @property-read string           $locale                                                                            locale of the current instance
+ *
+ * @method        bool             isUtc()                                                                            Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.)
+ * @method        bool             isLocal()                                                                          Check if the current instance has non-UTC timezone.
+ * @method        bool             isValid()                                                                          Check if the current instance is a valid date.
+ * @method        bool             isDST()                                                                            Check if the current instance is in a daylight saving time.
+ * @method        bool             isSunday()                                                                         Checks if the instance day is sunday.
+ * @method        bool             isMonday()                                                                         Checks if the instance day is monday.
+ * @method        bool             isTuesday()                                                                        Checks if the instance day is tuesday.
+ * @method        bool             isWednesday()                                                                      Checks if the instance day is wednesday.
+ * @method        bool             isThursday()                                                                       Checks if the instance day is thursday.
+ * @method        bool             isFriday()                                                                         Checks if the instance day is friday.
+ * @method        bool             isSaturday()                                                                       Checks if the instance day is saturday.
+ * @method        bool             isSameYear(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentYear()                                                                    Checks if the instance is in the same year as the current moment.
+ * @method        bool             isNextYear()                                                                       Checks if the instance is in the same year as the current moment next year.
+ * @method        bool             isLastYear()                                                                       Checks if the instance is in the same year as the current moment last year.
+ * @method        bool             isSameWeek(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentWeek()                                                                    Checks if the instance is in the same week as the current moment.
+ * @method        bool             isNextWeek()                                                                       Checks if the instance is in the same week as the current moment next week.
+ * @method        bool             isLastWeek()                                                                       Checks if the instance is in the same week as the current moment last week.
+ * @method        bool             isSameDay(Carbon|DateTimeInterface|string|null $date = null)                       Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentDay()                                                                     Checks if the instance is in the same day as the current moment.
+ * @method        bool             isNextDay()                                                                        Checks if the instance is in the same day as the current moment next day.
+ * @method        bool             isLastDay()                                                                        Checks if the instance is in the same day as the current moment last day.
+ * @method        bool             isSameHour(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentHour()                                                                    Checks if the instance is in the same hour as the current moment.
+ * @method        bool             isNextHour()                                                                       Checks if the instance is in the same hour as the current moment next hour.
+ * @method        bool             isLastHour()                                                                       Checks if the instance is in the same hour as the current moment last hour.
+ * @method        bool             isSameMinute(Carbon|DateTimeInterface|string|null $date = null)                    Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMinute()                                                                  Checks if the instance is in the same minute as the current moment.
+ * @method        bool             isNextMinute()                                                                     Checks if the instance is in the same minute as the current moment next minute.
+ * @method        bool             isLastMinute()                                                                     Checks if the instance is in the same minute as the current moment last minute.
+ * @method        bool             isSameSecond(Carbon|DateTimeInterface|string|null $date = null)                    Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentSecond()                                                                  Checks if the instance is in the same second as the current moment.
+ * @method        bool             isNextSecond()                                                                     Checks if the instance is in the same second as the current moment next second.
+ * @method        bool             isLastSecond()                                                                     Checks if the instance is in the same second as the current moment last second.
+ * @method        bool             isSameMicro(Carbon|DateTimeInterface|string|null $date = null)                     Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMicro()                                                                   Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool             isNextMicro()                                                                      Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool             isLastMicro()                                                                      Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool             isSameMicrosecond(Carbon|DateTimeInterface|string|null $date = null)               Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMicrosecond()                                                             Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool             isNextMicrosecond()                                                                Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool             isLastMicrosecond()                                                                Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool             isCurrentMonth()                                                                   Checks if the instance is in the same month as the current moment.
+ * @method        bool             isNextMonth()                                                                      Checks if the instance is in the same month as the current moment next month.
+ * @method        bool             isLastMonth()                                                                      Checks if the instance is in the same month as the current moment last month.
+ * @method        bool             isCurrentQuarter()                                                                 Checks if the instance is in the same quarter as the current moment.
+ * @method        bool             isNextQuarter()                                                                    Checks if the instance is in the same quarter as the current moment next quarter.
+ * @method        bool             isLastQuarter()                                                                    Checks if the instance is in the same quarter as the current moment last quarter.
+ * @method        bool             isSameDecade(Carbon|DateTimeInterface|string|null $date = null)                    Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentDecade()                                                                  Checks if the instance is in the same decade as the current moment.
+ * @method        bool             isNextDecade()                                                                     Checks if the instance is in the same decade as the current moment next decade.
+ * @method        bool             isLastDecade()                                                                     Checks if the instance is in the same decade as the current moment last decade.
+ * @method        bool             isSameCentury(Carbon|DateTimeInterface|string|null $date = null)                   Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentCentury()                                                                 Checks if the instance is in the same century as the current moment.
+ * @method        bool             isNextCentury()                                                                    Checks if the instance is in the same century as the current moment next century.
+ * @method        bool             isLastCentury()                                                                    Checks if the instance is in the same century as the current moment last century.
+ * @method        bool             isSameMillennium(Carbon|DateTimeInterface|string|null $date = null)                Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMillennium()                                                              Checks if the instance is in the same millennium as the current moment.
+ * @method        bool             isNextMillennium()                                                                 Checks if the instance is in the same millennium as the current moment next millennium.
+ * @method        bool             isLastMillennium()                                                                 Checks if the instance is in the same millennium as the current moment last millennium.
+ * @method        CarbonInterface  years(int $value)                                                                  Set current instance year to the given value.
+ * @method        CarbonInterface  year(int $value)                                                                   Set current instance year to the given value.
+ * @method        CarbonInterface  setYears(int $value)                                                               Set current instance year to the given value.
+ * @method        CarbonInterface  setYear(int $value)                                                                Set current instance year to the given value.
+ * @method        CarbonInterface  months(int $value)                                                                 Set current instance month to the given value.
+ * @method        CarbonInterface  month(int $value)                                                                  Set current instance month to the given value.
+ * @method        CarbonInterface  setMonths(int $value)                                                              Set current instance month to the given value.
+ * @method        CarbonInterface  setMonth(int $value)                                                               Set current instance month to the given value.
+ * @method        CarbonInterface  days(int $value)                                                                   Set current instance day to the given value.
+ * @method        CarbonInterface  day(int $value)                                                                    Set current instance day to the given value.
+ * @method        CarbonInterface  setDays(int $value)                                                                Set current instance day to the given value.
+ * @method        CarbonInterface  setDay(int $value)                                                                 Set current instance day to the given value.
+ * @method        CarbonInterface  hours(int $value)                                                                  Set current instance hour to the given value.
+ * @method        CarbonInterface  hour(int $value)                                                                   Set current instance hour to the given value.
+ * @method        CarbonInterface  setHours(int $value)                                                               Set current instance hour to the given value.
+ * @method        CarbonInterface  setHour(int $value)                                                                Set current instance hour to the given value.
+ * @method        CarbonInterface  minutes(int $value)                                                                Set current instance minute to the given value.
+ * @method        CarbonInterface  minute(int $value)                                                                 Set current instance minute to the given value.
+ * @method        CarbonInterface  setMinutes(int $value)                                                             Set current instance minute to the given value.
+ * @method        CarbonInterface  setMinute(int $value)                                                              Set current instance minute to the given value.
+ * @method        CarbonInterface  seconds(int $value)                                                                Set current instance second to the given value.
+ * @method        CarbonInterface  second(int $value)                                                                 Set current instance second to the given value.
+ * @method        CarbonInterface  setSeconds(int $value)                                                             Set current instance second to the given value.
+ * @method        CarbonInterface  setSecond(int $value)                                                              Set current instance second to the given value.
+ * @method        CarbonInterface  millis(int $value)                                                                 Set current instance millisecond to the given value.
+ * @method        CarbonInterface  milli(int $value)                                                                  Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMillis(int $value)                                                              Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMilli(int $value)                                                               Set current instance millisecond to the given value.
+ * @method        CarbonInterface  milliseconds(int $value)                                                           Set current instance millisecond to the given value.
+ * @method        CarbonInterface  millisecond(int $value)                                                            Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMilliseconds(int $value)                                                        Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMillisecond(int $value)                                                         Set current instance millisecond to the given value.
+ * @method        CarbonInterface  micros(int $value)                                                                 Set current instance microsecond to the given value.
+ * @method        CarbonInterface  micro(int $value)                                                                  Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicros(int $value)                                                              Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicro(int $value)                                                               Set current instance microsecond to the given value.
+ * @method        CarbonInterface  microseconds(int $value)                                                           Set current instance microsecond to the given value.
+ * @method        CarbonInterface  microsecond(int $value)                                                            Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicroseconds(int $value)                                                        Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicrosecond(int $value)                                                         Set current instance microsecond to the given value.
+ * @method        CarbonInterface  addYears(int $value = 1)                                                           Add years (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addYear()                                                                          Add one year to the instance (using date interval).
+ * @method        CarbonInterface  subYears(int $value = 1)                                                           Sub years (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subYear()                                                                          Sub one year to the instance (using date interval).
+ * @method        CarbonInterface  addYearsWithOverflow(int $value = 1)                                               Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addYearWithOverflow()                                                              Add one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subYearsWithOverflow(int $value = 1)                                               Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subYearWithOverflow()                                                              Sub one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addYearsWithoutOverflow(int $value = 1)                                            Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearWithoutOverflow()                                                           Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearsWithoutOverflow(int $value = 1)                                            Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearWithoutOverflow()                                                           Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearsWithNoOverflow(int $value = 1)                                             Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearWithNoOverflow()                                                            Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearsWithNoOverflow(int $value = 1)                                             Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearWithNoOverflow()                                                            Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearsNoOverflow(int $value = 1)                                                 Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearNoOverflow()                                                                Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearsNoOverflow(int $value = 1)                                                 Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearNoOverflow()                                                                Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonths(int $value = 1)                                                          Add months (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMonth()                                                                         Add one month to the instance (using date interval).
+ * @method        CarbonInterface  subMonths(int $value = 1)                                                          Sub months (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMonth()                                                                         Sub one month to the instance (using date interval).
+ * @method        CarbonInterface  addMonthsWithOverflow(int $value = 1)                                              Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMonthWithOverflow()                                                             Add one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMonthsWithOverflow(int $value = 1)                                              Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMonthWithOverflow()                                                             Sub one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMonthsWithoutOverflow(int $value = 1)                                           Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthWithoutOverflow()                                                          Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthsWithoutOverflow(int $value = 1)                                           Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthWithoutOverflow()                                                          Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthsWithNoOverflow(int $value = 1)                                            Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthWithNoOverflow()                                                           Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthsWithNoOverflow(int $value = 1)                                            Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthWithNoOverflow()                                                           Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthsNoOverflow(int $value = 1)                                                Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthNoOverflow()                                                               Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthsNoOverflow(int $value = 1)                                                Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthNoOverflow()                                                               Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDays(int $value = 1)                                                            Add days (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addDay()                                                                           Add one day to the instance (using date interval).
+ * @method        CarbonInterface  subDays(int $value = 1)                                                            Sub days (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subDay()                                                                           Sub one day to the instance (using date interval).
+ * @method        CarbonInterface  addHours(int $value = 1)                                                           Add hours (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addHour()                                                                          Add one hour to the instance (using date interval).
+ * @method        CarbonInterface  subHours(int $value = 1)                                                           Sub hours (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subHour()                                                                          Sub one hour to the instance (using date interval).
+ * @method        CarbonInterface  addMinutes(int $value = 1)                                                         Add minutes (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMinute()                                                                        Add one minute to the instance (using date interval).
+ * @method        CarbonInterface  subMinutes(int $value = 1)                                                         Sub minutes (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMinute()                                                                        Sub one minute to the instance (using date interval).
+ * @method        CarbonInterface  addSeconds(int $value = 1)                                                         Add seconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addSecond()                                                                        Add one second to the instance (using date interval).
+ * @method        CarbonInterface  subSeconds(int $value = 1)                                                         Sub seconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subSecond()                                                                        Sub one second to the instance (using date interval).
+ * @method        CarbonInterface  addMillis(int $value = 1)                                                          Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMilli()                                                                         Add one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  subMillis(int $value = 1)                                                          Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMilli()                                                                         Sub one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  addMilliseconds(int $value = 1)                                                    Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMillisecond()                                                                   Add one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  subMilliseconds(int $value = 1)                                                    Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMillisecond()                                                                   Sub one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  addMicros(int $value = 1)                                                          Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMicro()                                                                         Add one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  subMicros(int $value = 1)                                                          Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMicro()                                                                         Sub one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  addMicroseconds(int $value = 1)                                                    Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMicrosecond()                                                                   Add one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  subMicroseconds(int $value = 1)                                                    Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMicrosecond()                                                                   Sub one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  addMillennia(int $value = 1)                                                       Add millennia (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMillennium()                                                                    Add one millennium to the instance (using date interval).
+ * @method        CarbonInterface  subMillennia(int $value = 1)                                                       Sub millennia (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMillennium()                                                                    Sub one millennium to the instance (using date interval).
+ * @method        CarbonInterface  addMillenniaWithOverflow(int $value = 1)                                           Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMillenniumWithOverflow()                                                        Add one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMillenniaWithOverflow(int $value = 1)                                           Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMillenniumWithOverflow()                                                        Sub one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMillenniaWithoutOverflow(int $value = 1)                                        Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniumWithoutOverflow()                                                     Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniaWithoutOverflow(int $value = 1)                                        Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniumWithoutOverflow()                                                     Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniaWithNoOverflow(int $value = 1)                                         Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniumWithNoOverflow()                                                      Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniaWithNoOverflow(int $value = 1)                                         Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniumWithNoOverflow()                                                      Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniaNoOverflow(int $value = 1)                                             Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniumNoOverflow()                                                          Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniaNoOverflow(int $value = 1)                                             Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniumNoOverflow()                                                          Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturies(int $value = 1)                                                       Add centuries (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addCentury()                                                                       Add one century to the instance (using date interval).
+ * @method        CarbonInterface  subCenturies(int $value = 1)                                                       Sub centuries (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subCentury()                                                                       Sub one century to the instance (using date interval).
+ * @method        CarbonInterface  addCenturiesWithOverflow(int $value = 1)                                           Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addCenturyWithOverflow()                                                           Add one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subCenturiesWithOverflow(int $value = 1)                                           Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subCenturyWithOverflow()                                                           Sub one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addCenturiesWithoutOverflow(int $value = 1)                                        Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturyWithoutOverflow()                                                        Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturiesWithoutOverflow(int $value = 1)                                        Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturyWithoutOverflow()                                                        Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturiesWithNoOverflow(int $value = 1)                                         Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturyWithNoOverflow()                                                         Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturiesWithNoOverflow(int $value = 1)                                         Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturyWithNoOverflow()                                                         Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturiesNoOverflow(int $value = 1)                                             Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturyNoOverflow()                                                             Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturiesNoOverflow(int $value = 1)                                             Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturyNoOverflow()                                                             Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecades(int $value = 1)                                                         Add decades (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addDecade()                                                                        Add one decade to the instance (using date interval).
+ * @method        CarbonInterface  subDecades(int $value = 1)                                                         Sub decades (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subDecade()                                                                        Sub one decade to the instance (using date interval).
+ * @method        CarbonInterface  addDecadesWithOverflow(int $value = 1)                                             Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addDecadeWithOverflow()                                                            Add one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subDecadesWithOverflow(int $value = 1)                                             Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subDecadeWithOverflow()                                                            Sub one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addDecadesWithoutOverflow(int $value = 1)                                          Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadeWithoutOverflow()                                                         Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadesWithoutOverflow(int $value = 1)                                          Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadeWithoutOverflow()                                                         Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadesWithNoOverflow(int $value = 1)                                           Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadeWithNoOverflow()                                                          Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadesWithNoOverflow(int $value = 1)                                           Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadeWithNoOverflow()                                                          Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadesNoOverflow(int $value = 1)                                               Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadeNoOverflow()                                                              Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadesNoOverflow(int $value = 1)                                               Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadeNoOverflow()                                                              Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarters(int $value = 1)                                                        Add quarters (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addQuarter()                                                                       Add one quarter to the instance (using date interval).
+ * @method        CarbonInterface  subQuarters(int $value = 1)                                                        Sub quarters (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subQuarter()                                                                       Sub one quarter to the instance (using date interval).
+ * @method        CarbonInterface  addQuartersWithOverflow(int $value = 1)                                            Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addQuarterWithOverflow()                                                           Add one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subQuartersWithOverflow(int $value = 1)                                            Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subQuarterWithOverflow()                                                           Sub one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addQuartersWithoutOverflow(int $value = 1)                                         Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarterWithoutOverflow()                                                        Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuartersWithoutOverflow(int $value = 1)                                         Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuarterWithoutOverflow()                                                        Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuartersWithNoOverflow(int $value = 1)                                          Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarterWithNoOverflow()                                                         Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuartersWithNoOverflow(int $value = 1)                                          Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuarterWithNoOverflow()                                                         Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuartersNoOverflow(int $value = 1)                                              Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarterNoOverflow()                                                             Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuartersNoOverflow(int $value = 1)                                              Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuarterNoOverflow()                                                             Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addWeeks(int $value = 1)                                                           Add weeks (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addWeek()                                                                          Add one week to the instance (using date interval).
+ * @method        CarbonInterface  subWeeks(int $value = 1)                                                           Sub weeks (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subWeek()                                                                          Sub one week to the instance (using date interval).
+ * @method        CarbonInterface  addWeekdays(int $value = 1)                                                        Add weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addWeekday()                                                                       Add one weekday to the instance (using date interval).
+ * @method        CarbonInterface  subWeekdays(int $value = 1)                                                        Sub weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subWeekday()                                                                       Sub one weekday to the instance (using date interval).
+ * @method        CarbonInterface  addRealMicros(int $value = 1)                                                      Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMicro()                                                                     Add one microsecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicros(int $value = 1)                                                      Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicro()                                                                     Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod     microsUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        CarbonInterface  addRealMicroseconds(int $value = 1)                                                Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMicrosecond()                                                               Add one microsecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicroseconds(int $value = 1)                                                Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicrosecond()                                                               Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod     microsecondsUntil($endDate = null, int $factor = 1)                                Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        CarbonInterface  addRealMillis(int $value = 1)                                                      Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMilli()                                                                     Add one millisecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillis(int $value = 1)                                                      Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMilli()                                                                     Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod     millisUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        CarbonInterface  addRealMilliseconds(int $value = 1)                                                Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMillisecond()                                                               Add one millisecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMilliseconds(int $value = 1)                                                Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillisecond()                                                               Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod     millisecondsUntil($endDate = null, int $factor = 1)                                Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        CarbonInterface  addRealSeconds(int $value = 1)                                                     Add seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealSecond()                                                                    Add one second to the instance (using timestamp).
+ * @method        CarbonInterface  subRealSeconds(int $value = 1)                                                     Sub seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealSecond()                                                                    Sub one second to the instance (using timestamp).
+ * @method        CarbonPeriod     secondsUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given.
+ * @method        CarbonInterface  addRealMinutes(int $value = 1)                                                     Add minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMinute()                                                                    Add one minute to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMinutes(int $value = 1)                                                     Sub minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMinute()                                                                    Sub one minute to the instance (using timestamp).
+ * @method        CarbonPeriod     minutesUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given.
+ * @method        CarbonInterface  addRealHours(int $value = 1)                                                       Add hours (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealHour()                                                                      Add one hour to the instance (using timestamp).
+ * @method        CarbonInterface  subRealHours(int $value = 1)                                                       Sub hours (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealHour()                                                                      Sub one hour to the instance (using timestamp).
+ * @method        CarbonPeriod     hoursUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given.
+ * @method        CarbonInterface  addRealDays(int $value = 1)                                                        Add days (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealDay()                                                                       Add one day to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDays(int $value = 1)                                                        Sub days (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDay()                                                                       Sub one day to the instance (using timestamp).
+ * @method        CarbonPeriod     daysUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given.
+ * @method        CarbonInterface  addRealWeeks(int $value = 1)                                                       Add weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealWeek()                                                                      Add one week to the instance (using timestamp).
+ * @method        CarbonInterface  subRealWeeks(int $value = 1)                                                       Sub weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealWeek()                                                                      Sub one week to the instance (using timestamp).
+ * @method        CarbonPeriod     weeksUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given.
+ * @method        CarbonInterface  addRealMonths(int $value = 1)                                                      Add months (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMonth()                                                                     Add one month to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMonths(int $value = 1)                                                      Sub months (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMonth()                                                                     Sub one month to the instance (using timestamp).
+ * @method        CarbonPeriod     monthsUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given.
+ * @method        CarbonInterface  addRealQuarters(int $value = 1)                                                    Add quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealQuarter()                                                                   Add one quarter to the instance (using timestamp).
+ * @method        CarbonInterface  subRealQuarters(int $value = 1)                                                    Sub quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealQuarter()                                                                   Sub one quarter to the instance (using timestamp).
+ * @method        CarbonPeriod     quartersUntil($endDate = null, int $factor = 1)                                    Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given.
+ * @method        CarbonInterface  addRealYears(int $value = 1)                                                       Add years (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealYear()                                                                      Add one year to the instance (using timestamp).
+ * @method        CarbonInterface  subRealYears(int $value = 1)                                                       Sub years (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealYear()                                                                      Sub one year to the instance (using timestamp).
+ * @method        CarbonPeriod     yearsUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given.
+ * @method        CarbonInterface  addRealDecades(int $value = 1)                                                     Add decades (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealDecade()                                                                    Add one decade to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDecades(int $value = 1)                                                     Sub decades (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDecade()                                                                    Sub one decade to the instance (using timestamp).
+ * @method        CarbonPeriod     decadesUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given.
+ * @method        CarbonInterface  addRealCenturies(int $value = 1)                                                   Add centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealCentury()                                                                   Add one century to the instance (using timestamp).
+ * @method        CarbonInterface  subRealCenturies(int $value = 1)                                                   Sub centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealCentury()                                                                   Sub one century to the instance (using timestamp).
+ * @method        CarbonPeriod     centuriesUntil($endDate = null, int $factor = 1)                                   Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given.
+ * @method        CarbonInterface  addRealMillennia(int $value = 1)                                                   Add millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMillennium()                                                                Add one millennium to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillennia(int $value = 1)                                                   Sub millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillennium()                                                                Sub one millennium to the instance (using timestamp).
+ * @method        CarbonPeriod     millenniaUntil($endDate = null, int $factor = 1)                                   Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given.
+ * @method        CarbonInterface  roundYear(float $precision = 1, string $function = "round")                        Round the current instance year with given precision using the given function.
+ * @method        CarbonInterface  roundYears(float $precision = 1, string $function = "round")                       Round the current instance year with given precision using the given function.
+ * @method        CarbonInterface  floorYear(float $precision = 1)                                                    Truncate the current instance year with given precision.
+ * @method        CarbonInterface  floorYears(float $precision = 1)                                                   Truncate the current instance year with given precision.
+ * @method        CarbonInterface  ceilYear(float $precision = 1)                                                     Ceil the current instance year with given precision.
+ * @method        CarbonInterface  ceilYears(float $precision = 1)                                                    Ceil the current instance year with given precision.
+ * @method        CarbonInterface  roundMonth(float $precision = 1, string $function = "round")                       Round the current instance month with given precision using the given function.
+ * @method        CarbonInterface  roundMonths(float $precision = 1, string $function = "round")                      Round the current instance month with given precision using the given function.
+ * @method        CarbonInterface  floorMonth(float $precision = 1)                                                   Truncate the current instance month with given precision.
+ * @method        CarbonInterface  floorMonths(float $precision = 1)                                                  Truncate the current instance month with given precision.
+ * @method        CarbonInterface  ceilMonth(float $precision = 1)                                                    Ceil the current instance month with given precision.
+ * @method        CarbonInterface  ceilMonths(float $precision = 1)                                                   Ceil the current instance month with given precision.
+ * @method        CarbonInterface  roundDay(float $precision = 1, string $function = "round")                         Round the current instance day with given precision using the given function.
+ * @method        CarbonInterface  roundDays(float $precision = 1, string $function = "round")                        Round the current instance day with given precision using the given function.
+ * @method        CarbonInterface  floorDay(float $precision = 1)                                                     Truncate the current instance day with given precision.
+ * @method        CarbonInterface  floorDays(float $precision = 1)                                                    Truncate the current instance day with given precision.
+ * @method        CarbonInterface  ceilDay(float $precision = 1)                                                      Ceil the current instance day with given precision.
+ * @method        CarbonInterface  ceilDays(float $precision = 1)                                                     Ceil the current instance day with given precision.
+ * @method        CarbonInterface  roundHour(float $precision = 1, string $function = "round")                        Round the current instance hour with given precision using the given function.
+ * @method        CarbonInterface  roundHours(float $precision = 1, string $function = "round")                       Round the current instance hour with given precision using the given function.
+ * @method        CarbonInterface  floorHour(float $precision = 1)                                                    Truncate the current instance hour with given precision.
+ * @method        CarbonInterface  floorHours(float $precision = 1)                                                   Truncate the current instance hour with given precision.
+ * @method        CarbonInterface  ceilHour(float $precision = 1)                                                     Ceil the current instance hour with given precision.
+ * @method        CarbonInterface  ceilHours(float $precision = 1)                                                    Ceil the current instance hour with given precision.
+ * @method        CarbonInterface  roundMinute(float $precision = 1, string $function = "round")                      Round the current instance minute with given precision using the given function.
+ * @method        CarbonInterface  roundMinutes(float $precision = 1, string $function = "round")                     Round the current instance minute with given precision using the given function.
+ * @method        CarbonInterface  floorMinute(float $precision = 1)                                                  Truncate the current instance minute with given precision.
+ * @method        CarbonInterface  floorMinutes(float $precision = 1)                                                 Truncate the current instance minute with given precision.
+ * @method        CarbonInterface  ceilMinute(float $precision = 1)                                                   Ceil the current instance minute with given precision.
+ * @method        CarbonInterface  ceilMinutes(float $precision = 1)                                                  Ceil the current instance minute with given precision.
+ * @method        CarbonInterface  roundSecond(float $precision = 1, string $function = "round")                      Round the current instance second with given precision using the given function.
+ * @method        CarbonInterface  roundSeconds(float $precision = 1, string $function = "round")                     Round the current instance second with given precision using the given function.
+ * @method        CarbonInterface  floorSecond(float $precision = 1)                                                  Truncate the current instance second with given precision.
+ * @method        CarbonInterface  floorSeconds(float $precision = 1)                                                 Truncate the current instance second with given precision.
+ * @method        CarbonInterface  ceilSecond(float $precision = 1)                                                   Ceil the current instance second with given precision.
+ * @method        CarbonInterface  ceilSeconds(float $precision = 1)                                                  Ceil the current instance second with given precision.
+ * @method        CarbonInterface  roundMillennium(float $precision = 1, string $function = "round")                  Round the current instance millennium with given precision using the given function.
+ * @method        CarbonInterface  roundMillennia(float $precision = 1, string $function = "round")                   Round the current instance millennium with given precision using the given function.
+ * @method        CarbonInterface  floorMillennium(float $precision = 1)                                              Truncate the current instance millennium with given precision.
+ * @method        CarbonInterface  floorMillennia(float $precision = 1)                                               Truncate the current instance millennium with given precision.
+ * @method        CarbonInterface  ceilMillennium(float $precision = 1)                                               Ceil the current instance millennium with given precision.
+ * @method        CarbonInterface  ceilMillennia(float $precision = 1)                                                Ceil the current instance millennium with given precision.
+ * @method        CarbonInterface  roundCentury(float $precision = 1, string $function = "round")                     Round the current instance century with given precision using the given function.
+ * @method        CarbonInterface  roundCenturies(float $precision = 1, string $function = "round")                   Round the current instance century with given precision using the given function.
+ * @method        CarbonInterface  floorCentury(float $precision = 1)                                                 Truncate the current instance century with given precision.
+ * @method        CarbonInterface  floorCenturies(float $precision = 1)                                               Truncate the current instance century with given precision.
+ * @method        CarbonInterface  ceilCentury(float $precision = 1)                                                  Ceil the current instance century with given precision.
+ * @method        CarbonInterface  ceilCenturies(float $precision = 1)                                                Ceil the current instance century with given precision.
+ * @method        CarbonInterface  roundDecade(float $precision = 1, string $function = "round")                      Round the current instance decade with given precision using the given function.
+ * @method        CarbonInterface  roundDecades(float $precision = 1, string $function = "round")                     Round the current instance decade with given precision using the given function.
+ * @method        CarbonInterface  floorDecade(float $precision = 1)                                                  Truncate the current instance decade with given precision.
+ * @method        CarbonInterface  floorDecades(float $precision = 1)                                                 Truncate the current instance decade with given precision.
+ * @method        CarbonInterface  ceilDecade(float $precision = 1)                                                   Ceil the current instance decade with given precision.
+ * @method        CarbonInterface  ceilDecades(float $precision = 1)                                                  Ceil the current instance decade with given precision.
+ * @method        CarbonInterface  roundQuarter(float $precision = 1, string $function = "round")                     Round the current instance quarter with given precision using the given function.
+ * @method        CarbonInterface  roundQuarters(float $precision = 1, string $function = "round")                    Round the current instance quarter with given precision using the given function.
+ * @method        CarbonInterface  floorQuarter(float $precision = 1)                                                 Truncate the current instance quarter with given precision.
+ * @method        CarbonInterface  floorQuarters(float $precision = 1)                                                Truncate the current instance quarter with given precision.
+ * @method        CarbonInterface  ceilQuarter(float $precision = 1)                                                  Ceil the current instance quarter with given precision.
+ * @method        CarbonInterface  ceilQuarters(float $precision = 1)                                                 Ceil the current instance quarter with given precision.
+ * @method        CarbonInterface  roundMillisecond(float $precision = 1, string $function = "round")                 Round the current instance millisecond with given precision using the given function.
+ * @method        CarbonInterface  roundMilliseconds(float $precision = 1, string $function = "round")                Round the current instance millisecond with given precision using the given function.
+ * @method        CarbonInterface  floorMillisecond(float $precision = 1)                                             Truncate the current instance millisecond with given precision.
+ * @method        CarbonInterface  floorMilliseconds(float $precision = 1)                                            Truncate the current instance millisecond with given precision.
+ * @method        CarbonInterface  ceilMillisecond(float $precision = 1)                                              Ceil the current instance millisecond with given precision.
+ * @method        CarbonInterface  ceilMilliseconds(float $precision = 1)                                             Ceil the current instance millisecond with given precision.
+ * @method        CarbonInterface  roundMicrosecond(float $precision = 1, string $function = "round")                 Round the current instance microsecond with given precision using the given function.
+ * @method        CarbonInterface  roundMicroseconds(float $precision = 1, string $function = "round")                Round the current instance microsecond with given precision using the given function.
+ * @method        CarbonInterface  floorMicrosecond(float $precision = 1)                                             Truncate the current instance microsecond with given precision.
+ * @method        CarbonInterface  floorMicroseconds(float $precision = 1)                                            Truncate the current instance microsecond with given precision.
+ * @method        CarbonInterface  ceilMicrosecond(float $precision = 1)                                              Ceil the current instance microsecond with given precision.
+ * @method        CarbonInterface  ceilMicroseconds(float $precision = 1)                                             Ceil the current instance microsecond with given precision.
+ * @method        string           shortAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)        Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)         Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           shortRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)        Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)         Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           shortRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)   Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)    Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           shortRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)  Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ *
+ * </autodoc>
+ */
+interface CarbonInterface extends DateTimeInterface, JsonSerializable
+{
+    /**
+     * Diff wording options(expressed in octal).
+     */
+    public const NO_ZERO_DIFF = 01;
+    public const JUST_NOW = 02;
+    public const ONE_DAY_WORDS = 04;
+    public const TWO_DAY_WORDS = 010;
+    public const SEQUENTIAL_PARTS_ONLY = 020;
+    public const ROUND = 040;
+    public const FLOOR = 0100;
+    public const CEIL = 0200;
+
+    /**
+     * Diff syntax options.
+     */
+    public const DIFF_ABSOLUTE = 1; // backward compatibility with true
+    public const DIFF_RELATIVE_AUTO = 0; // backward compatibility with false
+    public const DIFF_RELATIVE_TO_NOW = 2;
+    public const DIFF_RELATIVE_TO_OTHER = 3;
+
+    /**
+     * Translate string options.
+     */
+    public const TRANSLATE_MONTHS = 1;
+    public const TRANSLATE_DAYS = 2;
+    public const TRANSLATE_UNITS = 4;
+    public const TRANSLATE_MERIDIEM = 8;
+    public const TRANSLATE_DIFF = 0x10;
+    public const TRANSLATE_ALL = self::TRANSLATE_MONTHS | self::TRANSLATE_DAYS | self::TRANSLATE_UNITS | self::TRANSLATE_MERIDIEM | self::TRANSLATE_DIFF;
+
+    /**
+     * The day constants.
+     */
+    public const SUNDAY = 0;
+    public const MONDAY = 1;
+    public const TUESDAY = 2;
+    public const WEDNESDAY = 3;
+    public const THURSDAY = 4;
+    public const FRIDAY = 5;
+    public const SATURDAY = 6;
+
+    /**
+     * The month constants.
+     * These aren't used by Carbon itself but exist for
+     * convenience sake alone.
+     */
+    public const JANUARY = 1;
+    public const FEBRUARY = 2;
+    public const MARCH = 3;
+    public const APRIL = 4;
+    public const MAY = 5;
+    public const JUNE = 6;
+    public const JULY = 7;
+    public const AUGUST = 8;
+    public const SEPTEMBER = 9;
+    public const OCTOBER = 10;
+    public const NOVEMBER = 11;
+    public const DECEMBER = 12;
+
+    /**
+     * Number of X in Y.
+     */
+    public const YEARS_PER_MILLENNIUM = 1000;
+    public const YEARS_PER_CENTURY = 100;
+    public const YEARS_PER_DECADE = 10;
+    public const MONTHS_PER_YEAR = 12;
+    public const MONTHS_PER_QUARTER = 3;
+    public const WEEKS_PER_YEAR = 52;
+    public const WEEKS_PER_MONTH = 4;
+    public const DAYS_PER_YEAR = 365;
+    public const DAYS_PER_WEEK = 7;
+    public const HOURS_PER_DAY = 24;
+    public const MINUTES_PER_HOUR = 60;
+    public const SECONDS_PER_MINUTE = 60;
+    public const MILLISECONDS_PER_SECOND = 1000;
+    public const MICROSECONDS_PER_MILLISECOND = 1000;
+    public const MICROSECONDS_PER_SECOND = 1000000;
+
+    /**
+     * Special settings to get the start of week from current locale culture.
+     */
+    public const WEEK_DAY_AUTO = 'auto';
+
+    /**
+     * RFC7231 DateTime format.
+     *
+     * @var string
+     */
+    public const RFC7231_FORMAT = 'D, d M Y H:i:s \G\M\T';
+
+    /**
+     * Default format to use for __toString method when type juggling occurs.
+     *
+     * @var string
+     */
+    public const DEFAULT_TO_STRING_FORMAT = 'Y-m-d H:i:s';
+
+    /**
+     * Format for converting mocked time, includes microseconds.
+     *
+     * @var string
+     */
+    public const MOCK_DATETIME_FORMAT = 'Y-m-d H:i:s.u';
+
+    /**
+     * Pattern detection for ->isoFormat and ::createFromIsoFormat.
+     *
+     * @var string
+     */
+    public const ISO_FORMAT_REGEXP = '(O[YMDHhms]|[Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY?|g{1,5}|G{1,5}|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?)';
+
+    // <methods>
+
+    /**
+     * Dynamically handle calls to the class.
+     *
+     * @param string $method     magic method name called
+     * @param array  $parameters parameters list
+     *
+     * @throws UnknownMethodException|BadMethodCallException|ReflectionException|Throwable
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters);
+
+    /**
+     * Dynamically handle calls to the class.
+     *
+     * @param string $method     magic method name called
+     * @param array  $parameters parameters list
+     *
+     * @throws BadMethodCallException
+     *
+     * @return mixed
+     */
+    public static function __callStatic($method, $parameters);
+
+    /**
+     * Update constructedObjectId on cloned.
+     */
+    public function __clone();
+
+    /**
+     * Create a new Carbon instance.
+     *
+     * Please see the testing aids section (specifically static::setTestNow())
+     * for more on the possibility of this constructor returning a test instance.
+     *
+     * @param DateTimeInterface|string|null $time
+     * @param DateTimeZone|string|null      $tz
+     *
+     * @throws InvalidFormatException
+     */
+    public function __construct($time = null, $tz = null);
+
+    /**
+     * Show truthy properties on var_dump().
+     *
+     * @return array
+     */
+    public function __debugInfo();
+
+    /**
+     * Get a part of the Carbon object
+     *
+     * @param string $name
+     *
+     * @throws UnknownGetterException
+     *
+     * @return string|int|bool|DateTimeZone|null
+     */
+    public function __get($name);
+
+    /**
+     * Check if an attribute exists on the object
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public function __isset($name);
+
+    /**
+     * Set a part of the Carbon object
+     *
+     * @param string                  $name
+     * @param string|int|DateTimeZone $value
+     *
+     * @throws UnknownSetterException|ReflectionException
+     *
+     * @return void
+     */
+    public function __set($name, $value);
+
+    /**
+     * The __set_state handler.
+     *
+     * @param string|array $dump
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public static function __set_state($dump);
+
+    /**
+     * Returns the list of properties to dump on serialize() called on.
+     *
+     * @return array
+     */
+    public function __sleep();
+
+    /**
+     * Format the instance as a string using the set format
+     *
+     * @example
+     * ```
+     * echo Carbon::now(); // Carbon instances can be casted to string
+     * ```
+     *
+     * @return string
+     */
+    public function __toString();
+
+    /**
+     * Add given units or interval to the current instance.
+     *
+     * @example $date->add('hour', 3)
+     * @example $date->add(15, 'days')
+     * @example $date->add(CarbonInterval::days(4))
+     *
+     * @param string|DateInterval|Closure|CarbonConverterInterface $unit
+     * @param int                                                  $value
+     * @param bool|null                                            $overflow
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function add($unit, $value = 1, $overflow = null);
+
+    /**
+     * Add seconds to the instance using timestamp. Positive $value travels
+     * forward while negative $value travels into the past.
+     *
+     * @param string $unit
+     * @param int    $value
+     *
+     * @return static
+     */
+    public function addRealUnit($unit, $value = 1);
+
+    /**
+     * Add given units to the current instance.
+     *
+     * @param string    $unit
+     * @param int       $value
+     * @param bool|null $overflow
+     *
+     * @return static
+     */
+    public function addUnit($unit, $value = 1, $overflow = null);
+
+    /**
+     * Add any unit to a new value without overflowing current other unit given.
+     *
+     * @param string $valueUnit    unit name to modify
+     * @param int    $value        amount to add to the input unit
+     * @param string $overflowUnit unit name to not overflow
+     *
+     * @return static
+     */
+    public function addUnitNoOverflow($valueUnit, $value, $overflowUnit);
+
+    /**
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given to now
+     *
+     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                           - 'syntax' entry (see below)
+     *                           - 'short' entry (see below)
+     *                           - 'parts' entry (see below)
+     *                           - 'options' entry (see below)
+     *                           - 'join' entry determines how to join multiple parts of the string
+     *                           `  - if $join is a string, it's used as a joiner glue
+     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                           `  - if $join is an array, the first item will be the default glue, and the second item
+     *                           `    will be used instead of the glue for the last item
+     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                           `  - if $join is missing, a space will be used as glue
+     *                           if int passed, it add modifiers:
+     *                           Possible values:
+     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool      $short   displays short format of time units
+     * @param int       $parts   maximum number of parts to display (default value: 1: single part)
+     * @param int       $options human diff options
+     *
+     * @return string
+     */
+    public function ago($syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * Modify the current instance to the average of a given instance (default now) and the current instance
+     * (second-precision).
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date
+     *
+     * @return static
+     */
+    public function average($date = null);
+
+    /**
+     * Clone the current instance if it's mutable.
+     *
+     * This method is convenient to ensure you don't mutate the initial object
+     * but avoid to make a useless copy of it if it's already immutable.
+     *
+     * @return static
+     */
+    public function avoidMutation();
+
+    /**
+     * Determines if the instance is between two others.
+     *
+     * The third argument allow you to specify if bounds are included or not (true by default)
+     * but for when you including/excluding bounds may produce different results in your application,
+     * we recommend to use the explicit methods ->betweenIncluded() or ->betweenExcluded() instead.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->between('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->between('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01', false); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     * @param bool                                    $equal Indicates if an equal to comparison should be done
+     *
+     * @return bool
+     */
+    public function between($date1, $date2, $equal = true): bool;
+
+    /**
+     * Determines if the instance is between two others, bounds excluded.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->betweenExcluded('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-25', '2018-08-01'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return bool
+     */
+    public function betweenExcluded($date1, $date2): bool;
+
+    /**
+     * Determines if the instance is between two others, bounds included.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->betweenIncluded('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-25', '2018-08-01'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return bool
+     */
+    public function betweenIncluded($date1, $date2): bool;
+
+    /**
+     * Returns either day of week + time (e.g. "Last Friday at 3:30 PM") if reference time is within 7 days,
+     * or a calendar date (e.g. "10/29/2017") otherwise.
+     *
+     * Language, date and time formats will change according to the current locale.
+     *
+     * @param Carbon|\DateTimeInterface|string|null $referenceTime
+     * @param array                                 $formats
+     *
+     * @return string
+     */
+    public function calendar($referenceTime = null, array $formats = []);
+
+    /**
+     * Checks if the (date)time string is in a given format and valid to create a
+     * new instance.
+     *
+     * @example
+     * ```
+     * Carbon::canBeCreatedFromFormat('11:12:45', 'h:i:s'); // true
+     * Carbon::canBeCreatedFromFormat('13:12:45', 'h:i:s'); // false
+     * ```
+     *
+     * @param string $date
+     * @param string $format
+     *
+     * @return bool
+     */
+    public static function canBeCreatedFromFormat($date, $format);
+
+    /**
+     * Return the Carbon instance passed through, a now instance in the same timezone
+     * if null given or parse the input if string given.
+     *
+     * @param Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|DateTimeInterface|string|null $date
+     *
+     * @return static
+     */
+    public function carbonize($date = null);
+
+    /**
+     * Cast the current instance into the given class.
+     *
+     * @param string $className The $className::instance() method will be called to cast the current object.
+     *
+     * @return DateTimeInterface
+     */
+    public function cast(string $className);
+
+    /**
+     * Ceil the current instance second with given precision if specified.
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return CarbonInterface
+     */
+    public function ceil($precision = 1);
+
+    /**
+     * Ceil the current instance at the given unit with given precision if specified.
+     *
+     * @param string    $unit
+     * @param float|int $precision
+     *
+     * @return CarbonInterface
+     */
+    public function ceilUnit($unit, $precision = 1);
+
+    /**
+     * Ceil the current instance week.
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return CarbonInterface
+     */
+    public function ceilWeek($weekStartsAt = null);
+
+    /**
+     * Similar to native modify() method of DateTime but can handle more grammars.
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->change('next 2pm');
+     * ```
+     *
+     * @link https://php.net/manual/en/datetime.modify.php
+     *
+     * @param string $modifier
+     *
+     * @return static
+     */
+    public function change($modifier);
+
+    /**
+     * Cleanup properties attached to the public scope of DateTime when a dump of the date is requested.
+     * foreach ($date as $_) {}
+     * serializer($date)
+     * var_export($date)
+     * get_object_vars($date)
+     */
+    public function cleanupDumpProperties();
+
+    /**
+     * @alias copy
+     *
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function clone();
+
+    /**
+     * Get the closest date from the instance (second-precision).
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return static
+     */
+    public function closest($date1, $date2);
+
+    /**
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function copy();
+
+    /**
+     * Create a new Carbon instance from a specific date and time.
+     *
+     * If any of $year, $month or $day are set to null their now() values will
+     * be used.
+     *
+     * If $hour is null it will be set to its now() value and the default
+     * values for $minute and $second will be their now() values.
+     *
+     * If $hour is not null then the default values for $minute and $second
+     * will be 0.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null);
+
+    /**
+     * Create a Carbon instance from just a date. The time portion is set to now.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createFromDate($year = null, $month = null, $day = null, $tz = null);
+
+    /**
+     * Create a Carbon instance from a specific format.
+     *
+     * @param string                         $format Datetime format
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    #[ReturnTypeWillChange]
+    public static function createFromFormat($format, $time, $tz = null);
+
+    /**
+     * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
+     *
+     * @param string                                             $format     Datetime format
+     * @param string                                             $time
+     * @param DateTimeZone|string|false|null                     $tz         optional timezone
+     * @param string|null                                        $locale     locale to be used for LTS, LT, LL, LLL, etc. macro-formats (en by fault, unneeded if no such macro-format in use)
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator optional custom translator to use for macro-formats
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null);
+
+    /**
+     * Create a Carbon instance from a specific format and a string in a given language.
+     *
+     * @param string                         $format Datetime format
+     * @param string                         $locale
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function createFromLocaleFormat($format, $locale, $time, $tz = null);
+
+    /**
+     * Create a Carbon instance from a specific ISO format and a string in a given language.
+     *
+     * @param string                         $format Datetime ISO format
+     * @param string                         $locale
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function createFromLocaleIsoFormat($format, $locale, $time, $tz = null);
+
+    /**
+     * Create a Carbon instance from just a time. The date portion is set to today.
+     *
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null);
+
+    /**
+     * Create a Carbon instance from a time string. The date portion is set to today.
+     *
+     * @param string                   $time
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createFromTimeString($time, $tz = null);
+
+    /**
+     * Create a Carbon instance from a timestamp and set the timezone (use default one if not specified).
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string          $timestamp
+     * @param \DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function createFromTimestamp($timestamp, $tz = null);
+
+    /**
+     * Create a Carbon instance from a timestamp in milliseconds.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string          $timestamp
+     * @param \DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function createFromTimestampMs($timestamp, $tz = null);
+
+    /**
+     * Create a Carbon instance from a timestamp in milliseconds.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $timestamp
+     *
+     * @return static
+     */
+    public static function createFromTimestampMsUTC($timestamp);
+
+    /**
+     * Create a Carbon instance from an timestamp keeping the timezone to UTC.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $timestamp
+     *
+     * @return static
+     */
+    public static function createFromTimestampUTC($timestamp);
+
+    /**
+     * Create a Carbon instance from just a date. The time portion is set to midnight.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createMidnightDate($year = null, $month = null, $day = null, $tz = null);
+
+    /**
+     * Create a new safe Carbon instance from a specific date and time.
+     *
+     * If any of $year, $month or $day are set to null their now() values will
+     * be used.
+     *
+     * If $hour is null it will be set to its now() value and the default
+     * values for $minute and $second will be their now() values.
+     *
+     * If $hour is not null then the default values for $minute and $second
+     * will be 0.
+     *
+     * If one of the set values is not valid, an InvalidDateException
+     * will be thrown.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidDateException
+     *
+     * @return static|false
+     */
+    public static function createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null);
+
+    /**
+     * Create a new Carbon instance from a specific date and time using strict validation.
+     *
+     * @see create()
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createStrict(?int $year = 0, ?int $month = 1, ?int $day = 1, ?int $hour = 0, ?int $minute = 0, ?int $second = 0, $tz = null);
+
+    /**
+     * Get/set the day of year.
+     *
+     * @param int|null $value new value for day of year if using as setter.
+     *
+     * @return static|int
+     */
+    public function dayOfYear($value = null);
+
+    /**
+     * Get the difference as a CarbonInterval instance.
+     * Return absolute interval (always positive) unless you pass false to the second argument.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return CarbonInterval
+     */
+    public function diffAsCarbonInterval($date = null, $absolute = true);
+
+    /**
+     * Get the difference by the given interval using a filter closure.
+     *
+     * @param CarbonInterval                                         $ci       An interval to traverse by
+     * @param Closure                                                $callback
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffFiltered(CarbonInterval $ci, Closure $callback, $date = null, $absolute = true);
+
+    /**
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     *
+     * @example
+     * ```
+     * echo Carbon::tomorrow()->diffForHumans() . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(['parts' => 2]) . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(['parts' => 3, 'join' => true]) . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday()) . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday(), ['short' => true]) . "\n";
+     * ```
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function diffForHumans($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * Get the difference in days rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInDays($date = null, $absolute = true);
+
+    /**
+     * Get the difference in days using a filter closure rounded down.
+     *
+     * @param Closure                                                $callback
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInDaysFiltered(Closure $callback, $date = null, $absolute = true);
+
+    /**
+     * Get the difference in hours rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInHours($date = null, $absolute = true);
+
+    /**
+     * Get the difference in hours using a filter closure rounded down.
+     *
+     * @param Closure                                                $callback
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInHoursFiltered(Closure $callback, $date = null, $absolute = true);
+
+    /**
+     * Get the difference in microseconds.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMicroseconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in milliseconds rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMilliseconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in minutes rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMinutes($date = null, $absolute = true);
+
+    /**
+     * Get the difference in months rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMonths($date = null, $absolute = true);
+
+    /**
+     * Get the difference in quarters rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInQuarters($date = null, $absolute = true);
+
+    /**
+     * Get the difference in hours rounded down using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealHours($date = null, $absolute = true);
+
+    /**
+     * Get the difference in microseconds using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealMicroseconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in milliseconds rounded down using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealMilliseconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in minutes rounded down using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealMinutes($date = null, $absolute = true);
+
+    /**
+     * Get the difference in seconds using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealSeconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in seconds rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInSeconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in weekdays rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInWeekdays($date = null, $absolute = true);
+
+    /**
+     * Get the difference in weekend days using a filter rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInWeekendDays($date = null, $absolute = true);
+
+    /**
+     * Get the difference in weeks rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInWeeks($date = null, $absolute = true);
+
+    /**
+     * Get the difference in years
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInYears($date = null, $absolute = true);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * @param int $humanDiffOption
+     */
+    public static function disableHumanDiffOption($humanDiffOption);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * @param int $humanDiffOption
+     */
+    public static function enableHumanDiffOption($humanDiffOption);
+
+    /**
+     * Modify to end of current given unit.
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->startOf('month')
+     *   ->endOf('week', Carbon::FRIDAY);
+     * ```
+     *
+     * @param string            $unit
+     * @param array<int, mixed> $params
+     *
+     * @return static
+     */
+    public function endOf($unit, ...$params);
+
+    /**
+     * Resets the date to end of the century and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfCentury();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfCentury();
+
+    /**
+     * Resets the time to 23:59:59.999999 end of day
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfDay();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfDay();
+
+    /**
+     * Resets the date to end of the decade and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfDecade();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfDecade();
+
+    /**
+     * Modify to end of current hour, minutes and seconds become 59
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfHour();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfHour();
+
+    /**
+     * Resets the date to end of the millennium and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMillennium();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfMillennium();
+
+    /**
+     * Modify to end of current minute, seconds become 59
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMinute();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfMinute();
+
+    /**
+     * Resets the date to end of the month and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMonth();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfMonth();
+
+    /**
+     * Resets the date to end of the quarter and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfQuarter();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfQuarter();
+
+    /**
+     * Modify to end of current second, microseconds become 999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->endOfSecond()
+     *   ->format('H:i:s.u');
+     * ```
+     *
+     * @return static
+     */
+    public function endOfSecond();
+
+    /**
+     * Resets the date to end of week (defined in $weekEndsAt) and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->endOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek(Carbon::SATURDAY) . "\n";
+     * ```
+     *
+     * @param int $weekEndsAt optional start allow you to specify the day of week to use to end the week
+     *
+     * @return static
+     */
+    public function endOfWeek($weekEndsAt = null);
+
+    /**
+     * Resets the date to end of the year and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfYear();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfYear();
+
+    /**
+     * Determines if the instance is equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->eq(Carbon::parse('2018-07-25 12:45:16')); // true
+     * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see equalTo()
+     *
+     * @return bool
+     */
+    public function eq($date): bool;
+
+    /**
+     * Determines if the instance is equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->equalTo(Carbon::parse('2018-07-25 12:45:16')); // true
+     * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function equalTo($date): bool;
+
+    /**
+     * Set the current locale to the given, execute the passed function, reset the locale to previous one,
+     * then return the result of the closure (or null if the closure was void).
+     *
+     * @param string   $locale locale ex. en
+     * @param callable $func
+     *
+     * @return mixed
+     */
+    public static function executeWithLocale($locale, $func);
+
+    /**
+     * Get the farthest date from the instance (second-precision).
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return static
+     */
+    public function farthest($date1, $date2);
+
+    /**
+     * Modify to the first occurrence of a given day of the week
+     * in the current month. If no dayOfWeek is provided, modify to the
+     * first day of the current month.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek
+     *
+     * @return static
+     */
+    public function firstOfMonth($dayOfWeek = null);
+
+    /**
+     * Modify to the first occurrence of a given day of the week
+     * in the current quarter. If no dayOfWeek is provided, modify to the
+     * first day of the current quarter.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function firstOfQuarter($dayOfWeek = null);
+
+    /**
+     * Modify to the first occurrence of a given day of the week
+     * in the current year. If no dayOfWeek is provided, modify to the
+     * first day of the current year.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function firstOfYear($dayOfWeek = null);
+
+    /**
+     * Get the difference in days as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInDays($date = null, $absolute = true);
+
+    /**
+     * Get the difference in hours as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInHours($date = null, $absolute = true);
+
+    /**
+     * Get the difference in minutes as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInMinutes($date = null, $absolute = true);
+
+    /**
+     * Get the difference in months as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInMonths($date = null, $absolute = true);
+
+    /**
+     * Get the difference in days as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealDays($date = null, $absolute = true);
+
+    /**
+     * Get the difference in hours as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealHours($date = null, $absolute = true);
+
+    /**
+     * Get the difference in minutes as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealMinutes($date = null, $absolute = true);
+
+    /**
+     * Get the difference in months as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealMonths($date = null, $absolute = true);
+
+    /**
+     * Get the difference in seconds as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealSeconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in weeks as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealWeeks($date = null, $absolute = true);
+
+    /**
+     * Get the difference in year as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealYears($date = null, $absolute = true);
+
+    /**
+     * Get the difference in seconds as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInSeconds($date = null, $absolute = true);
+
+    /**
+     * Get the difference in weeks as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInWeeks($date = null, $absolute = true);
+
+    /**
+     * Get the difference in year as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInYears($date = null, $absolute = true);
+
+    /**
+     * Round the current instance second with given precision if specified.
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return CarbonInterface
+     */
+    public function floor($precision = 1);
+
+    /**
+     * Truncate the current instance at the given unit with given precision if specified.
+     *
+     * @param string    $unit
+     * @param float|int $precision
+     *
+     * @return CarbonInterface
+     */
+    public function floorUnit($unit, $precision = 1);
+
+    /**
+     * Truncate the current instance week.
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return CarbonInterface
+     */
+    public function floorWeek($weekStartsAt = null);
+
+    /**
+     * Format the instance with the current locale.  You can set the current
+     * locale using setlocale() https://php.net/setlocale.
+     *
+     * @param string $format
+     *
+     * @return string
+     */
+    public function formatLocalized($format);
+
+    /**
+     * @alias diffForHumans
+     *
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function from($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * Get the difference in a human readable format in the current locale from current
+     * instance to now.
+     *
+     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                           - 'syntax' entry (see below)
+     *                           - 'short' entry (see below)
+     *                           - 'parts' entry (see below)
+     *                           - 'options' entry (see below)
+     *                           - 'join' entry determines how to join multiple parts of the string
+     *                           `  - if $join is a string, it's used as a joiner glue
+     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                           `  - if $join is an array, the first item will be the default glue, and the second item
+     *                           `    will be used instead of the glue for the last item
+     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                           `  - if $join is missing, a space will be used as glue
+     *                           if int passed, it add modifiers:
+     *                           Possible values:
+     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool      $short   displays short format of time units
+     * @param int       $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int       $options human diff options
+     *
+     * @return string
+     */
+    public function fromNow($syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * Create an instance from a serialized string.
+     *
+     * @param string $value
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function fromSerialized($value);
+
+    /**
+     * Register a custom macro.
+     *
+     * @param object|callable $macro
+     * @param int             $priority marco with higher priority is tried first
+     *
+     * @return void
+     */
+    public static function genericMacro($macro, $priority = 0);
+
+    /**
+     * Get a part of the Carbon object
+     *
+     * @param string $name
+     *
+     * @throws UnknownGetterException
+     *
+     * @return string|int|bool|DateTimeZone|null
+     */
+    public function get($name);
+
+    /**
+     * Returns the alternative number for a given date property if available in the current locale.
+     *
+     * @param string $key date property
+     *
+     * @return string
+     */
+    public function getAltNumber(string $key): string;
+
+    /**
+     * Returns the list of internally available locales and already loaded custom locales.
+     * (It will ignore custom translator dynamic loading.)
+     *
+     * @return array
+     */
+    public static function getAvailableLocales();
+
+    /**
+     * Returns list of Language object for each available locale. This object allow you to get the ISO name, native
+     * name, region and variant of the locale.
+     *
+     * @return Language[]
+     */
+    public static function getAvailableLocalesInfo();
+
+    /**
+     * Returns list of calendar formats for ISO formatting.
+     *
+     * @param string|null $locale current locale used if null
+     *
+     * @return array
+     */
+    public function getCalendarFormats($locale = null);
+
+    /**
+     * Get the days of the week
+     *
+     * @return array
+     */
+    public static function getDays();
+
+    /**
+     * Get the fallback locale.
+     *
+     * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
+     *
+     * @return string|null
+     */
+    public static function getFallbackLocale();
+
+    /**
+     * List of replacements from date() format to isoFormat().
+     *
+     * @return array
+     */
+    public static function getFormatsToIsoReplacements();
+
+    /**
+     * Return default humanDiff() options (merged flags as integer).
+     *
+     * @return int
+     */
+    public static function getHumanDiffOptions();
+
+    /**
+     * Returns list of locale formats for ISO formatting.
+     *
+     * @param string|null $locale current locale used if null
+     *
+     * @return array
+     */
+    public function getIsoFormats($locale = null);
+
+    /**
+     * Returns list of locale units for ISO formatting.
+     *
+     * @return array
+     */
+    public static function getIsoUnits();
+
+    /**
+     * {@inheritdoc}
+     */
+    #[ReturnTypeWillChange]
+    public static function getLastErrors();
+
+    /**
+     * Get the raw callable macro registered globally or locally for a given name.
+     *
+     * @param string $name
+     *
+     * @return callable|null
+     */
+    public function getLocalMacro($name);
+
+    /**
+     * Get the translator of the current instance or the default if none set.
+     *
+     * @return \Symfony\Component\Translation\TranslatorInterface
+     */
+    public function getLocalTranslator();
+
+    /**
+     * Get the current translator locale.
+     *
+     * @return string
+     */
+    public static function getLocale();
+
+    /**
+     * Get the raw callable macro registered globally for a given name.
+     *
+     * @param string $name
+     *
+     * @return callable|null
+     */
+    public static function getMacro($name);
+
+    /**
+     * get midday/noon hour
+     *
+     * @return int
+     */
+    public static function getMidDayAt();
+
+    /**
+     * Returns the offset hour and minute formatted with +/- and a given separator (":" by default).
+     * For example, if the time zone is 9 hours 30 minutes, you'll get "+09:30", with "@@" as first
+     * argument, "+09@@30", with "" as first argument, "+0930". Negative offset will return something
+     * like "-12:00".
+     *
+     * @param string $separator string to place between hours and minutes (":" by default)
+     *
+     * @return string
+     */
+    public function getOffsetString($separator = ':');
+
+    /**
+     * Returns a unit of the instance padded with 0 by default or any other string if specified.
+     *
+     * @param string $unit      Carbon unit name
+     * @param int    $length    Length of the output (2 by default)
+     * @param string $padString String to use for padding ("0" by default)
+     * @param int    $padType   Side(s) to pad (STR_PAD_LEFT by default)
+     *
+     * @return string
+     */
+    public function getPaddedUnit($unit, $length = 2, $padString = '0', $padType = 0);
+
+    /**
+     * Returns a timestamp rounded with the given precision (6 by default).
+     *
+     * @example getPreciseTimestamp()   1532087464437474 (microsecond maximum precision)
+     * @example getPreciseTimestamp(6)  1532087464437474
+     * @example getPreciseTimestamp(5)  153208746443747  (1/100000 second precision)
+     * @example getPreciseTimestamp(4)  15320874644375   (1/10000 second precision)
+     * @example getPreciseTimestamp(3)  1532087464437    (millisecond precision)
+     * @example getPreciseTimestamp(2)  153208746444     (1/100 second precision)
+     * @example getPreciseTimestamp(1)  15320874644      (1/10 second precision)
+     * @example getPreciseTimestamp(0)  1532087464       (second precision)
+     * @example getPreciseTimestamp(-1) 153208746        (10 second precision)
+     * @example getPreciseTimestamp(-2) 15320875         (100 second precision)
+     *
+     * @param int $precision
+     *
+     * @return float
+     */
+    public function getPreciseTimestamp($precision = 6);
+
+    /**
+     * Returns current local settings.
+     *
+     * @return array
+     */
+    public function getSettings();
+
+    /**
+     * Get the Carbon instance (real or mock) to be returned when a "now"
+     * instance is created.
+     *
+     * @return Closure|static the current instance used for testing
+     */
+    public static function getTestNow();
+
+    /**
+     * Return a format from H:i to H:i:s.u according to given unit precision.
+     *
+     * @param string $unitPrecision "minute", "second", "millisecond" or "microsecond"
+     *
+     * @return string
+     */
+    public static function getTimeFormatByPrecision($unitPrecision);
+
+    /**
+     * Get the translation of the current week day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context      whole format string
+     * @param string      $keySuffix    "", "_short" or "_min"
+     * @param string|null $defaultValue default value if translation missing
+     *
+     * @return string
+     */
+    public function getTranslatedDayName($context = null, $keySuffix = '', $defaultValue = null);
+
+    /**
+     * Get the translation of the current abbreviated week day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context whole format string
+     *
+     * @return string
+     */
+    public function getTranslatedMinDayName($context = null);
+
+    /**
+     * Get the translation of the current month day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context      whole format string
+     * @param string      $keySuffix    "" or "_short"
+     * @param string|null $defaultValue default value if translation missing
+     *
+     * @return string
+     */
+    public function getTranslatedMonthName($context = null, $keySuffix = '', $defaultValue = null);
+
+    /**
+     * Get the translation of the current short week day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context whole format string
+     *
+     * @return string
+     */
+    public function getTranslatedShortDayName($context = null);
+
+    /**
+     * Get the translation of the current short month day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context whole format string
+     *
+     * @return string
+     */
+    public function getTranslatedShortMonthName($context = null);
+
+    /**
+     * Returns raw translation message for a given key.
+     *
+     * @param string                                             $key        key to find
+     * @param string|null                                        $locale     current locale used if null
+     * @param string|null                                        $default    default value if translation returns the key
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator an optional translator to use
+     *
+     * @return string
+     */
+    public function getTranslationMessage(string $key, ?string $locale = null, ?string $default = null, $translator = null);
+
+    /**
+     * Returns raw translation message for a given key.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator the translator to use
+     * @param string                                             $key        key to find
+     * @param string|null                                        $locale     current locale used if null
+     * @param string|null                                        $default    default value if translation returns the key
+     *
+     * @return string
+     */
+    public static function getTranslationMessageWith($translator, string $key, ?string $locale = null, ?string $default = null);
+
+    /**
+     * Get the default translator instance in use.
+     *
+     * @return \Symfony\Component\Translation\TranslatorInterface
+     */
+    public static function getTranslator();
+
+    /**
+     * Get the last day of week
+     *
+     * @return int
+     */
+    public static function getWeekEndsAt();
+
+    /**
+     * Get the first day of week
+     *
+     * @return int
+     */
+    public static function getWeekStartsAt();
+
+    /**
+     * Get weekend days
+     *
+     * @return array
+     */
+    public static function getWeekendDays();
+
+    /**
+     * Determines if the instance is greater (after) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function greaterThan($date): bool;
+
+    /**
+     * Determines if the instance is greater (after) than or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function greaterThanOrEqualTo($date): bool;
+
+    /**
+     * Determines if the instance is greater (after) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see greaterThan()
+     *
+     * @return bool
+     */
+    public function gt($date): bool;
+
+    /**
+     * Determines if the instance is greater (after) than or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see greaterThanOrEqualTo()
+     *
+     * @return bool
+     */
+    public function gte($date): bool;
+
+    /**
+     * Checks if the (date)time string is in a given format.
+     *
+     * @example
+     * ```
+     * Carbon::hasFormat('11:12:45', 'h:i:s'); // true
+     * Carbon::hasFormat('13:12:45', 'h:i:s'); // false
+     * ```
+     *
+     * @param string $date
+     * @param string $format
+     *
+     * @return bool
+     */
+    public static function hasFormat($date, $format);
+
+    /**
+     * Checks if the (date)time string is in a given format.
+     *
+     * @example
+     * ```
+     * Carbon::hasFormatWithModifiers('31/08/2015', 'd#m#Y'); // true
+     * Carbon::hasFormatWithModifiers('31/08/2015', 'm#d#Y'); // false
+     * ```
+     *
+     * @param string $date
+     * @param string $format
+     *
+     * @return bool
+     */
+    public static function hasFormatWithModifiers($date, $format): bool;
+
+    /**
+     * Checks if macro is registered globally or locally.
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public function hasLocalMacro($name);
+
+    /**
+     * Return true if the current instance has its own translator.
+     *
+     * @return bool
+     */
+    public function hasLocalTranslator();
+
+    /**
+     * Checks if macro is registered globally.
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public static function hasMacro($name);
+
+    /**
+     * Determine if a time string will produce a relative date.
+     *
+     * @param string $time
+     *
+     * @return bool true if time match a relative date, false if absolute or invalid time string
+     */
+    public static function hasRelativeKeywords($time);
+
+    /**
+     * Determine if there is a valid test instance set. A valid test instance
+     * is anything that is not null.
+     *
+     * @return bool true if there is a test instance, otherwise false
+     */
+    public static function hasTestNow();
+
+    /**
+     * Create a Carbon instance from a DateTime one.
+     *
+     * @param DateTimeInterface $date
+     *
+     * @return static
+     */
+    public static function instance($date);
+
+    /**
+     * Returns true if the current date matches the given string.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2018')); // false
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('06-02')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06-02')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('June')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:45')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:00')); // false
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12h')); // true
+     * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3pm')); // true
+     * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3am')); // false
+     * ```
+     *
+     * @param string $tester day name, month name, hour, date, etc. as string
+     *
+     * @return bool
+     */
+    public function is(string $tester);
+
+    /**
+     * Determines if the instance is greater (after) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see greaterThan()
+     *
+     * @return bool
+     */
+    public function isAfter($date): bool;
+
+    /**
+     * Determines if the instance is less (before) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see lessThan()
+     *
+     * @return bool
+     */
+    public function isBefore($date): bool;
+
+    /**
+     * Determines if the instance is between two others
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->isBetween('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->isBetween('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01', false); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     * @param bool                                    $equal Indicates if an equal to comparison should be done
+     *
+     * @return bool
+     */
+    public function isBetween($date1, $date2, $equal = true): bool;
+
+    /**
+     * Check if its the birthday. Compares the date/month values of the two dates.
+     *
+     * @example
+     * ```
+     * Carbon::now()->subYears(5)->isBirthday(); // true
+     * Carbon::now()->subYears(5)->subDay()->isBirthday(); // false
+     * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-05')); // true
+     * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-06')); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use current day.
+     *
+     * @return bool
+     */
+    public function isBirthday($date = null);
+
+    /**
+     * Determines if the instance is in the current unit given.
+     *
+     * @example
+     * ```
+     * Carbon::now()->isCurrentUnit('hour'); // true
+     * Carbon::now()->subHours(2)->isCurrentUnit('hour'); // false
+     * ```
+     *
+     * @param string $unit The unit to test.
+     *
+     * @throws BadMethodCallException
+     *
+     * @return bool
+     */
+    public function isCurrentUnit($unit);
+
+    /**
+     * Checks if this day is a specific day of the week.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::WEDNESDAY); // true
+     * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::FRIDAY); // false
+     * Carbon::parse('2019-07-17')->isDayOfWeek('Wednesday'); // true
+     * Carbon::parse('2019-07-17')->isDayOfWeek('Friday'); // false
+     * ```
+     *
+     * @param int $dayOfWeek
+     *
+     * @return bool
+     */
+    public function isDayOfWeek($dayOfWeek);
+
+    /**
+     * Check if the instance is end of day.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(); // true
+     * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(); // true
+     * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(); // true
+     * Carbon::parse('2019-02-28 23:59:58.999999')->isEndOfDay(); // false
+     * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(true); // true
+     * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(true); // false
+     * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(true); // false
+     * ```
+     *
+     * @param bool $checkMicroseconds check time at microseconds precision
+     *
+     * @return bool
+     */
+    public function isEndOfDay($checkMicroseconds = false);
+
+    /**
+     * Returns true if the date was created using CarbonImmutable::endOfTime()
+     *
+     * @return bool
+     */
+    public function isEndOfTime(): bool;
+
+    /**
+     * Determines if the instance is in the future, ie. greater (after) than now.
+     *
+     * @example
+     * ```
+     * Carbon::now()->addHours(5)->isFuture(); // true
+     * Carbon::now()->subHours(5)->isFuture(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isFuture();
+
+    /**
+     * Returns true if the current class/instance is immutable.
+     *
+     * @return bool
+     */
+    public static function isImmutable();
+
+    /**
+     * Check if today is the last day of the Month
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28')->isLastOfMonth(); // true
+     * Carbon::parse('2019-03-28')->isLastOfMonth(); // false
+     * Carbon::parse('2019-03-30')->isLastOfMonth(); // false
+     * Carbon::parse('2019-03-31')->isLastOfMonth(); // true
+     * Carbon::parse('2019-04-30')->isLastOfMonth(); // true
+     * ```
+     *
+     * @return bool
+     */
+    public function isLastOfMonth();
+
+    /**
+     * Determines if the instance is a leap year.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2020-01-01')->isLeapYear(); // true
+     * Carbon::parse('2019-01-01')->isLeapYear(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isLeapYear();
+
+    /**
+     * Determines if the instance is a long year
+     *
+     * @example
+     * ```
+     * Carbon::parse('2015-01-01')->isLongYear(); // true
+     * Carbon::parse('2016-01-01')->isLongYear(); // false
+     * ```
+     *
+     * @see https://en.wikipedia.org/wiki/ISO_8601#Week_dates
+     *
+     * @return bool
+     */
+    public function isLongYear();
+
+    /**
+     * Check if the instance is midday.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 11:59:59.999999')->isMidday(); // false
+     * Carbon::parse('2019-02-28 12:00:00')->isMidday(); // true
+     * Carbon::parse('2019-02-28 12:00:00.999999')->isMidday(); // true
+     * Carbon::parse('2019-02-28 12:00:01')->isMidday(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isMidday();
+
+    /**
+     * Check if the instance is start of day / midnight.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 00:00:00')->isMidnight(); // true
+     * Carbon::parse('2019-02-28 00:00:00.999999')->isMidnight(); // true
+     * Carbon::parse('2019-02-28 00:00:01')->isMidnight(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isMidnight();
+
+    /**
+     * Returns true if a property can be changed via setter.
+     *
+     * @param string $unit
+     *
+     * @return bool
+     */
+    public static function isModifiableUnit($unit);
+
+    /**
+     * Returns true if the current class/instance is mutable.
+     *
+     * @return bool
+     */
+    public static function isMutable();
+
+    /**
+     * Determines if the instance is in the past, ie. less (before) than now.
+     *
+     * @example
+     * ```
+     * Carbon::now()->subHours(5)->isPast(); // true
+     * Carbon::now()->addHours(5)->isPast(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isPast();
+
+    /**
+     * Compares the formatted values of the two dates.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-12-13')); // true
+     * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-06-14')); // false
+     * ```
+     *
+     * @param string                                        $format date formats to compare.
+     * @param \Carbon\Carbon|\DateTimeInterface|string|null $date   instance to compare with or null to use current day.
+     *
+     * @return bool
+     */
+    public function isSameAs($format, $date = null);
+
+    /**
+     * Checks if the passed in date is in the same month as the instance´s month.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-01-01')); // true
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-02-01')); // false
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01')); // false
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01'), false); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date       The instance to compare with or null to use the current date.
+     * @param bool                                   $ofSameYear Check if it is the same month in the same year.
+     *
+     * @return bool
+     */
+    public function isSameMonth($date = null, $ofSameYear = true);
+
+    /**
+     * Checks if the passed in date is in the same quarter as the instance quarter (and year if needed).
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-03-01')); // true
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-04-01')); // false
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01')); // false
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01'), false); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|string|null $date       The instance to compare with or null to use current day.
+     * @param bool                                          $ofSameYear Check if it is the same month in the same year.
+     *
+     * @return bool
+     */
+    public function isSameQuarter($date = null, $ofSameYear = true);
+
+    /**
+     * Determines if the instance is in the current unit given.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-01-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // true
+     * Carbon::parse('2018-12-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // false
+     * ```
+     *
+     * @param string                                 $unit singular unit string
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date instance to compare with or null to use current day.
+     *
+     * @throws BadComparisonUnitException
+     *
+     * @return bool
+     */
+    public function isSameUnit($unit, $date = null);
+
+    /**
+     * Check if the instance is start of day / midnight.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 00:00:00')->isStartOfDay(); // true
+     * Carbon::parse('2019-02-28 00:00:00.999999')->isStartOfDay(); // true
+     * Carbon::parse('2019-02-28 00:00:01')->isStartOfDay(); // false
+     * Carbon::parse('2019-02-28 00:00:00.000000')->isStartOfDay(true); // true
+     * Carbon::parse('2019-02-28 00:00:00.000012')->isStartOfDay(true); // false
+     * ```
+     *
+     * @param bool $checkMicroseconds check time at microseconds precision
+     *
+     * @return bool
+     */
+    public function isStartOfDay($checkMicroseconds = false);
+
+    /**
+     * Returns true if the date was created using CarbonImmutable::startOfTime()
+     *
+     * @return bool
+     */
+    public function isStartOfTime(): bool;
+
+    /**
+     * Returns true if the strict mode is globally in use, false else.
+     * (It can be overridden in specific instances.)
+     *
+     * @return bool
+     */
+    public static function isStrictModeEnabled();
+
+    /**
+     * Determines if the instance is today.
+     *
+     * @example
+     * ```
+     * Carbon::today()->isToday(); // true
+     * Carbon::tomorrow()->isToday(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isToday();
+
+    /**
+     * Determines if the instance is tomorrow.
+     *
+     * @example
+     * ```
+     * Carbon::tomorrow()->isTomorrow(); // true
+     * Carbon::yesterday()->isTomorrow(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isTomorrow();
+
+    /**
+     * Determines if the instance is a weekday.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-07-14')->isWeekday(); // false
+     * Carbon::parse('2019-07-15')->isWeekday(); // true
+     * ```
+     *
+     * @return bool
+     */
+    public function isWeekday();
+
+    /**
+     * Determines if the instance is a weekend day.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-07-14')->isWeekend(); // true
+     * Carbon::parse('2019-07-15')->isWeekend(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isWeekend();
+
+    /**
+     * Determines if the instance is yesterday.
+     *
+     * @example
+     * ```
+     * Carbon::yesterday()->isYesterday(); // true
+     * Carbon::tomorrow()->isYesterday(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isYesterday();
+
+    /**
+     * Format in the current language using ISO replacement patterns.
+     *
+     * @param string      $format
+     * @param string|null $originalFormat provide context if a chunk has been passed alone
+     *
+     * @return string
+     */
+    public function isoFormat(string $format, ?string $originalFormat = null): string;
+
+    /**
+     * Get/set the week number using given first day of week and first
+     * day of year included in the first week. Or use ISO format if no settings
+     * given.
+     *
+     * @param int|null $week
+     * @param int|null $dayOfWeek
+     * @param int|null $dayOfYear
+     *
+     * @return int|static
+     */
+    public function isoWeek($week = null, $dayOfWeek = null, $dayOfYear = null);
+
+    /**
+     * Set/get the week number of year using given first day of week and first
+     * day of year included in the first week. Or use ISO format if no settings
+     * given.
+     *
+     * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int|static
+     */
+    public function isoWeekYear($year = null, $dayOfWeek = null, $dayOfYear = null);
+
+    /**
+     * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday).
+     *
+     * @param int|null $value new value for weekday if using as setter.
+     *
+     * @return static|int
+     */
+    public function isoWeekday($value = null);
+
+    /**
+     * Get the number of weeks of the current week-year using given first day of week and first
+     * day of year included in the first week. Or use ISO format if no settings
+     * given.
+     *
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int
+     */
+    public function isoWeeksInYear($dayOfWeek = null, $dayOfYear = null);
+
+    /**
+     * Prepare the object for JSON serialization.
+     *
+     * @return array|string
+     */
+    #[ReturnTypeWillChange]
+    public function jsonSerialize();
+
+    /**
+     * Modify to the last occurrence of a given day of the week
+     * in the current month. If no dayOfWeek is provided, modify to the
+     * last day of the current month.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek
+     *
+     * @return static
+     */
+    public function lastOfMonth($dayOfWeek = null);
+
+    /**
+     * Modify to the last occurrence of a given day of the week
+     * in the current quarter. If no dayOfWeek is provided, modify to the
+     * last day of the current quarter.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function lastOfQuarter($dayOfWeek = null);
+
+    /**
+     * Modify to the last occurrence of a given day of the week
+     * in the current year. If no dayOfWeek is provided, modify to the
+     * last day of the current year.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function lastOfYear($dayOfWeek = null);
+
+    /**
+     * Determines if the instance is less (before) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function lessThan($date): bool;
+
+    /**
+     * Determines if the instance is less (before) or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function lessThanOrEqualTo($date): bool;
+
+    /**
+     * Get/set the locale for the current instance.
+     *
+     * @param string|null $locale
+     * @param string      ...$fallbackLocales
+     *
+     * @return $this|string
+     */
+    public function locale(?string $locale = null, ...$fallbackLocales);
+
+    /**
+     * Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow).
+     * Support is considered enabled if the 3 words are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasDiffOneDayWords($locale);
+
+    /**
+     * Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after).
+     * Support is considered enabled if the 4 sentences are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasDiffSyntax($locale);
+
+    /**
+     * Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow).
+     * Support is considered enabled if the 2 words are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasDiffTwoDayWords($locale);
+
+    /**
+     * Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X).
+     * Support is considered enabled if the 4 sentences are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasPeriodSyntax($locale);
+
+    /**
+     * Returns true if the given locale is internally supported and has short-units support.
+     * Support is considered enabled if either year, day or hour has a short variant translated.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasShortUnits($locale);
+
+    /**
+     * Determines if the instance is less (before) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see lessThan()
+     *
+     * @return bool
+     */
+    public function lt($date): bool;
+
+    /**
+     * Determines if the instance is less (before) or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see lessThanOrEqualTo()
+     *
+     * @return bool
+     */
+    public function lte($date): bool;
+
+    /**
+     * Register a custom macro.
+     *
+     * @example
+     * ```
+     * $userSettings = [
+     *   'locale' => 'pt',
+     *   'timezone' => 'America/Sao_Paulo',
+     * ];
+     * Carbon::macro('userFormat', function () use ($userSettings) {
+     *   return $this->copy()->locale($userSettings['locale'])->tz($userSettings['timezone'])->calendar();
+     * });
+     * echo Carbon::yesterday()->hours(11)->userFormat();
+     * ```
+     *
+     * @param string          $name
+     * @param object|callable $macro
+     *
+     * @return void
+     */
+    public static function macro($name, $macro);
+
+    /**
+     * Make a Carbon instance from given variable if possible.
+     *
+     * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals
+     * and recurrences). Throw an exception for invalid format, but otherwise return null.
+     *
+     * @param mixed $var
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|null
+     */
+    public static function make($var);
+
+    /**
+     * Get the maximum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return static
+     */
+    public function max($date = null);
+
+    /**
+     * Create a Carbon instance for the greatest supported date.
+     *
+     * @return static
+     */
+    public static function maxValue();
+
+    /**
+     * Get the maximum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see max()
+     *
+     * @return static
+     */
+    public function maximum($date = null);
+
+    /**
+     * Return the meridiem of the current time in the current locale.
+     *
+     * @param bool $isLower if true, returns lowercase variant if available in the current locale.
+     *
+     * @return string
+     */
+    public function meridiem(bool $isLower = false): string;
+
+    /**
+     * Modify to midday, default to self::$midDayAt
+     *
+     * @return static
+     */
+    public function midDay();
+
+    /**
+     * Get the minimum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return static
+     */
+    public function min($date = null);
+
+    /**
+     * Create a Carbon instance for the lowest supported date.
+     *
+     * @return static
+     */
+    public static function minValue();
+
+    /**
+     * Get the minimum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see min()
+     *
+     * @return static
+     */
+    public function minimum($date = null);
+
+    /**
+     * Mix another object into the class.
+     *
+     * @example
+     * ```
+     * Carbon::mixin(new class {
+     *   public function addMoon() {
+     *     return function () {
+     *       return $this->addDays(30);
+     *     };
+     *   }
+     *   public function subMoon() {
+     *     return function () {
+     *       return $this->subDays(30);
+     *     };
+     *   }
+     * });
+     * $fullMoon = Carbon::create('2018-12-22');
+     * $nextFullMoon = $fullMoon->addMoon();
+     * $blackMoon = Carbon::create('2019-01-06');
+     * $previousBlackMoon = $blackMoon->subMoon();
+     * echo "$nextFullMoon\n";
+     * echo "$previousBlackMoon\n";
+     * ```
+     *
+     * @param object|string $mixin
+     *
+     * @throws ReflectionException
+     *
+     * @return void
+     */
+    public static function mixin($mixin);
+
+    /**
+     * Calls \DateTime::modify if mutable or \DateTimeImmutable::modify else.
+     *
+     * @see https://php.net/manual/en/datetime.modify.php
+     */
+    #[ReturnTypeWillChange]
+    public function modify($modify);
+
+    /**
+     * Determines if the instance is not equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->ne(Carbon::parse('2018-07-25 12:45:16')); // false
+     * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see notEqualTo()
+     *
+     * @return bool
+     */
+    public function ne($date): bool;
+
+    /**
+     * Modify to the next occurrence of a given modifier such as a day of
+     * the week. If no modifier is provided, modify to the next occurrence
+     * of the current day of the week. Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param string|int|null $modifier
+     *
+     * @return static
+     */
+    public function next($modifier = null);
+
+    /**
+     * Go forward to the next weekday.
+     *
+     * @return static
+     */
+    public function nextWeekday();
+
+    /**
+     * Go forward to the next weekend day.
+     *
+     * @return static
+     */
+    public function nextWeekendDay();
+
+    /**
+     * Determines if the instance is not equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo(Carbon::parse('2018-07-25 12:45:16')); // false
+     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function notEqualTo($date): bool;
+
+    /**
+     * Get a Carbon instance for the current date and time.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function now($tz = null);
+
+    /**
+     * Returns a present instance in the same timezone.
+     *
+     * @return static
+     */
+    public function nowWithSameTz();
+
+    /**
+     * Modify to the given occurrence of a given day of the week
+     * in the current month. If the calculated occurrence is outside the scope
+     * of the current month, then return false and no modifications are made.
+     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int $nth
+     * @param int $dayOfWeek
+     *
+     * @return mixed
+     */
+    public function nthOfMonth($nth, $dayOfWeek);
+
+    /**
+     * Modify to the given occurrence of a given day of the week
+     * in the current quarter. If the calculated occurrence is outside the scope
+     * of the current quarter, then return false and no modifications are made.
+     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int $nth
+     * @param int $dayOfWeek
+     *
+     * @return mixed
+     */
+    public function nthOfQuarter($nth, $dayOfWeek);
+
+    /**
+     * Modify to the given occurrence of a given day of the week
+     * in the current year. If the calculated occurrence is outside the scope
+     * of the current year, then return false and no modifications are made.
+     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int $nth
+     * @param int $dayOfWeek
+     *
+     * @return mixed
+     */
+    public function nthOfYear($nth, $dayOfWeek);
+
+    /**
+     * Return a property with its ordinal.
+     *
+     * @param string      $key
+     * @param string|null $period
+     *
+     * @return string
+     */
+    public function ordinal(string $key, ?string $period = null): string;
+
+    /**
+     * Create a carbon instance from a string.
+     *
+     * This is an alias for the constructor that allows better fluent syntax
+     * as it allows you to do Carbon::parse('Monday next week')->fn() rather
+     * than (new Carbon('Monday next week'))->fn().
+     *
+     * @param string|DateTimeInterface|null $time
+     * @param DateTimeZone|string|null      $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function parse($time = null, $tz = null);
+
+    /**
+     * Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.).
+     *
+     * @param string                   $time   date/time string in the given language (may also contain English).
+     * @param string|null              $locale if locale is null or not specified, current global locale will be
+     *                                         used instead.
+     * @param DateTimeZone|string|null $tz     optional timezone for the new instance.
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function parseFromLocale($time, $locale = null, $tz = null);
+
+    /**
+     * Returns standardized plural of a given singular/plural unit name (in English).
+     *
+     * @param string $unit
+     *
+     * @return string
+     */
+    public static function pluralUnit(string $unit): string;
+
+    /**
+     * Modify to the previous occurrence of a given modifier such as a day of
+     * the week. If no dayOfWeek is provided, modify to the previous occurrence
+     * of the current day of the week. Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param string|int|null $modifier
+     *
+     * @return static
+     */
+    public function previous($modifier = null);
+
+    /**
+     * Go backward to the previous weekday.
+     *
+     * @return static
+     */
+    public function previousWeekday();
+
+    /**
+     * Go backward to the previous weekend day.
+     *
+     * @return static
+     */
+    public function previousWeekendDay();
+
+    /**
+     * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
+     *
+     * @param \DateTimeInterface|Carbon|CarbonImmutable|null $end      period end date
+     * @param int|\DateInterval|string|null                  $interval period default interval or number of the given $unit
+     * @param string|null                                    $unit     if specified, $interval must be an integer
+     *
+     * @return CarbonPeriod
+     */
+    public function range($end = null, $interval = null, $unit = null);
+
+    /**
+     * Call native PHP DateTime/DateTimeImmutable add() method.
+     *
+     * @param DateInterval $interval
+     *
+     * @return static
+     */
+    public function rawAdd(DateInterval $interval);
+
+    /**
+     * Create a Carbon instance from a specific format.
+     *
+     * @param string                         $format Datetime format
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function rawCreateFromFormat($format, $time, $tz = null);
+
+    /**
+     * @see https://php.net/manual/en/datetime.format.php
+     *
+     * @param string $format
+     *
+     * @return string
+     */
+    public function rawFormat($format);
+
+    /**
+     * Create a carbon instance from a string.
+     *
+     * This is an alias for the constructor that allows better fluent syntax
+     * as it allows you to do Carbon::parse('Monday next week')->fn() rather
+     * than (new Carbon('Monday next week'))->fn().
+     *
+     * @param string|DateTimeInterface|null $time
+     * @param DateTimeZone|string|null      $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function rawParse($time = null, $tz = null);
+
+    /**
+     * Call native PHP DateTime/DateTimeImmutable sub() method.
+     *
+     * @param DateInterval $interval
+     *
+     * @return static
+     */
+    public function rawSub(DateInterval $interval);
+
+    /**
+     * Remove all macros and generic macros.
+     */
+    public static function resetMacros();
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Reset the month overflow behavior.
+     *
+     * @return void
+     */
+    public static function resetMonthsOverflow();
+
+    /**
+     * Reset the format used to the default when type juggling a Carbon instance to a string
+     *
+     * @return void
+     */
+    public static function resetToStringFormat();
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Reset the month overflow behavior.
+     *
+     * @return void
+     */
+    public static function resetYearsOverflow();
+
+    /**
+     * Round the current instance second with given precision if specified.
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     * @param string                              $function
+     *
+     * @return CarbonInterface
+     */
+    public function round($precision = 1, $function = 'round');
+
+    /**
+     * Round the current instance at the given unit with given precision if specified and the given function.
+     *
+     * @param string    $unit
+     * @param float|int $precision
+     * @param string    $function
+     *
+     * @return CarbonInterface
+     */
+    public function roundUnit($unit, $precision = 1, $function = 'round');
+
+    /**
+     * Round the current instance week.
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return CarbonInterface
+     */
+    public function roundWeek($weekStartsAt = null);
+
+    /**
+     * The number of seconds since midnight.
+     *
+     * @return int
+     */
+    public function secondsSinceMidnight();
+
+    /**
+     * The number of seconds until 23:59:59.
+     *
+     * @return int
+     */
+    public function secondsUntilEndOfDay();
+
+    /**
+     * Return a serialized string of the instance.
+     *
+     * @return string
+     */
+    public function serialize();
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather transform Carbon object before the serialization.
+     *
+     * JSON serialize all Carbon instances using the given callback.
+     *
+     * @param callable $callback
+     *
+     * @return void
+     */
+    public static function serializeUsing($callback);
+
+    /**
+     * Set a part of the Carbon object
+     *
+     * @param string|array            $name
+     * @param string|int|DateTimeZone $value
+     *
+     * @throws ImmutableException|UnknownSetterException
+     *
+     * @return $this
+     */
+    public function set($name, $value = null);
+
+    /**
+     * Set the date with gregorian year, month and day numbers.
+     *
+     * @see https://php.net/manual/en/datetime.setdate.php
+     *
+     * @param int $year
+     * @param int $month
+     * @param int $day
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setDate($year, $month, $day);
+
+    /**
+     * Set the year, month, and date for this instance to that of the passed instance.
+     *
+     * @param Carbon|DateTimeInterface $date now if null
+     *
+     * @return static
+     */
+    public function setDateFrom($date = null);
+
+    /**
+     * Set the date and time all together.
+     *
+     * @param int $year
+     * @param int $month
+     * @param int $day
+     * @param int $hour
+     * @param int $minute
+     * @param int $second
+     * @param int $microseconds
+     *
+     * @return static
+     */
+    public function setDateTime($year, $month, $day, $hour, $minute, $second = 0, $microseconds = 0);
+
+    /**
+     * Set the date and time for this instance to that of the passed instance.
+     *
+     * @param Carbon|DateTimeInterface $date
+     *
+     * @return static
+     */
+    public function setDateTimeFrom($date = null);
+
+    /**
+     * Set the fallback locale.
+     *
+     * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
+     *
+     * @param string $locale
+     */
+    public static function setFallbackLocale($locale);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * @param int $humanDiffOptions
+     */
+    public static function setHumanDiffOptions($humanDiffOptions);
+
+    /**
+     * Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
+     *
+     * @see https://php.net/manual/en/datetime.setisodate.php
+     *
+     * @param int $year
+     * @param int $week
+     * @param int $day
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setISODate($year, $week, $day = 1);
+
+    /**
+     * Set the translator for the current instance.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     *
+     * @return $this
+     */
+    public function setLocalTranslator(\Symfony\Component\Translation\TranslatorInterface $translator);
+
+    /**
+     * Set the current translator locale and indicate if the source locale file exists.
+     * Pass 'auto' as locale to use closest language from the current LC_TIME locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function setLocale($locale);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather consider mid-day is always 12pm, then if you need to test if it's an other
+     *             hour, test it explicitly:
+     *                 $date->format('G') == 13
+     *             or to set explicitly to a given hour:
+     *                 $date->setTime(13, 0, 0, 0)
+     *
+     * Set midday/noon hour
+     *
+     * @param int $hour midday hour
+     *
+     * @return void
+     */
+    public static function setMidDayAt($hour);
+
+    /**
+     * Set a Carbon instance (real or mock) to be returned when a "now"
+     * instance is created.  The provided instance will be returned
+     * specifically under the following conditions:
+     *   - A call to the static now() method, ex. Carbon::now()
+     *   - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
+     *   - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
+     *   - When a string containing the desired time is passed to Carbon::parse().
+     *
+     * Note the timezone parameter was left out of the examples above and
+     * has no affect as the mock value will be returned regardless of its value.
+     *
+     * To clear the test instance call this method using the default
+     * parameter of null.
+     *
+     * /!\ Use this method for unit tests only.
+     *
+     * @param Closure|static|string|false|null $testNow real or mock Carbon instance
+     */
+    public static function setTestNow($testNow = null);
+
+    /**
+     * Resets the current time of the DateTime object to a different time.
+     *
+     * @see https://php.net/manual/en/datetime.settime.php
+     *
+     * @param int $hour
+     * @param int $minute
+     * @param int $second
+     * @param int $microseconds
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setTime($hour, $minute, $second = 0, $microseconds = 0);
+
+    /**
+     * Set the hour, minute, second and microseconds for this instance to that of the passed instance.
+     *
+     * @param Carbon|DateTimeInterface $date now if null
+     *
+     * @return static
+     */
+    public function setTimeFrom($date = null);
+
+    /**
+     * Set the time by time string.
+     *
+     * @param string $time
+     *
+     * @return static
+     */
+    public function setTimeFromTimeString($time);
+
+    /**
+     * Set the instance's timestamp.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $unixTimestamp
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setTimestamp($unixTimestamp);
+
+    /**
+     * Set the instance's timezone from a string or object.
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setTimezone($value);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and
+     *             use other method or custom format passed to format() method if you need to dump an other string
+     *             format.
+     *
+     * Set the default format used when type juggling a Carbon instance to a string
+     *
+     * @param string|Closure|null $format
+     *
+     * @return void
+     */
+    public static function setToStringFormat($format);
+
+    /**
+     * Set the default translator instance to use.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     *
+     * @return void
+     */
+    public static function setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator);
+
+    /**
+     * Set specified unit to new given value.
+     *
+     * @param string $unit  year, month, day, hour, minute, second or microsecond
+     * @param int    $value new value for given unit
+     *
+     * @return static
+     */
+    public function setUnit($unit, $value = null);
+
+    /**
+     * Set any unit to a new value without overflowing current other unit given.
+     *
+     * @param string $valueUnit    unit name to modify
+     * @param int    $value        new value for the input unit
+     * @param string $overflowUnit unit name to not overflow
+     *
+     * @return static
+     */
+    public function setUnitNoOverflow($valueUnit, $value, $overflowUnit);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use UTF-8 language packages on every machine.
+     *
+     * Set if UTF8 will be used for localized date/time.
+     *
+     * @param bool $utf8
+     */
+    public static function setUtf8($utf8);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek
+     *             or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the
+     *             start of week according to current locale selected and implicitly the end of week.
+     *
+     * Set the last day of week
+     *
+     * @param int|string $day week end day (or 'auto' to get the day before the first day of week
+     *                        from Carbon::getLocale() culture).
+     *
+     * @return void
+     */
+    public static function setWeekEndsAt($day);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the
+     *             'first_day_of_week' locale setting to change the start of week according to current locale
+     *             selected and implicitly the end of week.
+     *
+     * Set the first day of week
+     *
+     * @param int|string $day week start day (or 'auto' to get the first day of week from Carbon::getLocale() culture).
+     *
+     * @return void
+     */
+    public static function setWeekStartsAt($day);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather consider week-end is always saturday and sunday, and if you have some custom
+     *             week-end days to handle, give to those days an other name and create a macro for them:
+     *
+     *             ```
+     *             Carbon::macro('isDayOff', function ($date) {
+     *                 return $date->isSunday() || $date->isMonday();
+     *             });
+     *             Carbon::macro('isNotDayOff', function ($date) {
+     *                 return !$date->isDayOff();
+     *             });
+     *             if ($someDate->isDayOff()) ...
+     *             if ($someDate->isNotDayOff()) ...
+     *             // Add 5 not-off days
+     *             $count = 5;
+     *             while ($someDate->isDayOff() || ($count-- > 0)) {
+     *                 $someDate->addDay();
+     *             }
+     *             ```
+     *
+     * Set weekend days
+     *
+     * @param array $days
+     *
+     * @return void
+     */
+    public static function setWeekendDays($days);
+
+    /**
+     * Set specific options.
+     *  - strictMode: true|false|null
+     *  - monthOverflow: true|false|null
+     *  - yearOverflow: true|false|null
+     *  - humanDiffOptions: int|null
+     *  - toStringFormat: string|Closure|null
+     *  - toJsonFormat: string|Closure|null
+     *  - locale: string|null
+     *  - timezone: \DateTimeZone|string|int|null
+     *  - macros: array|null
+     *  - genericMacros: array|null
+     *
+     * @param array $settings
+     *
+     * @return $this|static
+     */
+    public function settings(array $settings);
+
+    /**
+     * Set the instance's timezone from a string or object and add/subtract the offset difference.
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static
+     */
+    public function shiftTimezone($value);
+
+    /**
+     * Get the month overflow global behavior (can be overridden in specific instances).
+     *
+     * @return bool
+     */
+    public static function shouldOverflowMonths();
+
+    /**
+     * Get the month overflow global behavior (can be overridden in specific instances).
+     *
+     * @return bool
+     */
+    public static function shouldOverflowYears();
+
+    /**
+     * @alias diffForHumans
+     *
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     */
+    public function since($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * Returns standardized singular of a given singular/plural unit name (in English).
+     *
+     * @param string $unit
+     *
+     * @return string
+     */
+    public static function singularUnit(string $unit): string;
+
+    /**
+     * Modify to start of current given unit.
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->startOf('month')
+     *   ->endOf('week', Carbon::FRIDAY);
+     * ```
+     *
+     * @param string            $unit
+     * @param array<int, mixed> $params
+     *
+     * @return static
+     */
+    public function startOf($unit, ...$params);
+
+    /**
+     * Resets the date to the first day of the century and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfCentury();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfCentury();
+
+    /**
+     * Resets the time to 00:00:00 start of day
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfDay();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfDay();
+
+    /**
+     * Resets the date to the first day of the decade and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfDecade();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfDecade();
+
+    /**
+     * Modify to start of current hour, minutes and seconds become 0
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfHour();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfHour();
+
+    /**
+     * Resets the date to the first day of the millennium and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMillennium();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfMillennium();
+
+    /**
+     * Modify to start of current minute, seconds become 0
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMinute();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfMinute();
+
+    /**
+     * Resets the date to the first day of the month and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMonth();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfMonth();
+
+    /**
+     * Resets the date to the first day of the quarter and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfQuarter();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfQuarter();
+
+    /**
+     * Modify to start of current second, microseconds become 0
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->startOfSecond()
+     *   ->format('H:i:s.u');
+     * ```
+     *
+     * @return static
+     */
+    public function startOfSecond();
+
+    /**
+     * Resets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->startOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek(Carbon::SUNDAY) . "\n";
+     * ```
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return static
+     */
+    public function startOfWeek($weekStartsAt = null);
+
+    /**
+     * Resets the date to the first day of the year and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfYear();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfYear();
+
+    /**
+     * Subtract given units or interval to the current instance.
+     *
+     * @example $date->sub('hour', 3)
+     * @example $date->sub(15, 'days')
+     * @example $date->sub(CarbonInterval::days(4))
+     *
+     * @param string|DateInterval|Closure|CarbonConverterInterface $unit
+     * @param int                                                  $value
+     * @param bool|null                                            $overflow
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function sub($unit, $value = 1, $overflow = null);
+
+    public function subRealUnit($unit, $value = 1);
+
+    /**
+     * Subtract given units to the current instance.
+     *
+     * @param string    $unit
+     * @param int       $value
+     * @param bool|null $overflow
+     *
+     * @return static
+     */
+    public function subUnit($unit, $value = 1, $overflow = null);
+
+    /**
+     * Subtract any unit to a new value without overflowing current other unit given.
+     *
+     * @param string $valueUnit    unit name to modify
+     * @param int    $value        amount to subtract to the input unit
+     * @param string $overflowUnit unit name to not overflow
+     *
+     * @return static
+     */
+    public function subUnitNoOverflow($valueUnit, $value, $overflowUnit);
+
+    /**
+     * Subtract given units or interval to the current instance.
+     *
+     * @see sub()
+     *
+     * @param string|DateInterval $unit
+     * @param int                 $value
+     * @param bool|null           $overflow
+     *
+     * @return static
+     */
+    public function subtract($unit, $value = 1, $overflow = null);
+
+    /**
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     *
+     * @return string
+     */
+    public function timespan($other = null, $timezone = null);
+
+    /**
+     * Set the instance's timestamp.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $unixTimestamp
+     *
+     * @return static
+     */
+    public function timestamp($unixTimestamp);
+
+    /**
+     * @alias setTimezone
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static
+     */
+    public function timezone($value);
+
+    /**
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given (or now if null given) to current instance.
+     *
+     * When comparing a value in the past to default now:
+     * 1 hour from now
+     * 5 months from now
+     *
+     * When comparing a value in the future to default now:
+     * 1 hour ago
+     * 5 months ago
+     *
+     * When comparing a value in the past to another value:
+     * 1 hour after
+     * 5 months after
+     *
+     * When comparing a value in the future to another value:
+     * 1 hour before
+     * 5 months before
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function to($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * Get default array representation.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toArray());
+     * ```
+     *
+     * @return array
+     */
+    public function toArray();
+
+    /**
+     * Format the instance as ATOM
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toAtomString();
+     * ```
+     *
+     * @return string
+     */
+    public function toAtomString();
+
+    /**
+     * Format the instance as COOKIE
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toCookieString();
+     * ```
+     *
+     * @return string
+     */
+    public function toCookieString();
+
+    /**
+     * @alias toDateTime
+     *
+     * Return native DateTime PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toDate());
+     * ```
+     *
+     * @return DateTime
+     */
+    public function toDate();
+
+    /**
+     * Format the instance as date
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDateString();
+     * ```
+     *
+     * @return string
+     */
+    public function toDateString();
+
+    /**
+     * Return native DateTime PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toDateTime());
+     * ```
+     *
+     * @return DateTime
+     */
+    public function toDateTime();
+
+    /**
+     * Return native toDateTimeImmutable PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toDateTimeImmutable());
+     * ```
+     *
+     * @return DateTimeImmutable
+     */
+    public function toDateTimeImmutable();
+
+    /**
+     * Format the instance as date and time T-separated with no timezone
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDateTimeLocalString();
+     * echo "\n";
+     * echo Carbon::now()->toDateTimeLocalString('minute'); // You can specify precision among: minute, second, millisecond and microsecond
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toDateTimeLocalString($unitPrecision = 'second');
+
+    /**
+     * Format the instance as date and time
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDateTimeString();
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toDateTimeString($unitPrecision = 'second');
+
+    /**
+     * Format the instance with day, date and time
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDayDateTimeString();
+     * ```
+     *
+     * @return string
+     */
+    public function toDayDateTimeString();
+
+    /**
+     * Format the instance as a readable date
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toFormattedDateString();
+     * ```
+     *
+     * @return string
+     */
+    public function toFormattedDateString();
+
+    /**
+     * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z, if $keepOffset truthy, offset will be kept:
+     * 1977-04-22T01:00:00-05:00).
+     *
+     * @example
+     * ```
+     * echo Carbon::now('America/Toronto')->toISOString() . "\n";
+     * echo Carbon::now('America/Toronto')->toISOString(true) . "\n";
+     * ```
+     *
+     * @param bool $keepOffset Pass true to keep the date offset. Else forced to UTC.
+     *
+     * @return null|string
+     */
+    public function toISOString($keepOffset = false);
+
+    /**
+     * Return a immutable copy of the instance.
+     *
+     * @return CarbonImmutable
+     */
+    public function toImmutable();
+
+    /**
+     * Format the instance as ISO8601
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toIso8601String();
+     * ```
+     *
+     * @return string
+     */
+    public function toIso8601String();
+
+    /**
+     * Convert the instance to UTC and return as Zulu ISO8601
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toIso8601ZuluString();
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toIso8601ZuluString($unitPrecision = 'second');
+
+    /**
+     * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z) with UTC timezone.
+     *
+     * @example
+     * ```
+     * echo Carbon::now('America/Toronto')->toJSON();
+     * ```
+     *
+     * @return null|string
+     */
+    public function toJSON();
+
+    /**
+     * Return a mutable copy of the instance.
+     *
+     * @return Carbon
+     */
+    public function toMutable();
+
+    /**
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given to now
+     *
+     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                           - 'syntax' entry (see below)
+     *                           - 'short' entry (see below)
+     *                           - 'parts' entry (see below)
+     *                           - 'options' entry (see below)
+     *                           - 'join' entry determines how to join multiple parts of the string
+     *                           `  - if $join is a string, it's used as a joiner glue
+     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                           `  - if $join is an array, the first item will be the default glue, and the second item
+     *                           `    will be used instead of the glue for the last item
+     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                           `  - if $join is missing, a space will be used as glue
+     *                           if int passed, it add modifiers:
+     *                           Possible values:
+     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool      $short   displays short format of time units
+     * @param int       $parts   maximum number of parts to display (default value: 1: single part)
+     * @param int       $options human diff options
+     *
+     * @return string
+     */
+    public function toNow($syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * Get default object representation.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toObject());
+     * ```
+     *
+     * @return object
+     */
+    public function toObject();
+
+    /**
+     * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
+     *
+     * @param \DateTimeInterface|Carbon|CarbonImmutable|int|null $end      period end date or recurrences count if int
+     * @param int|\DateInterval|string|null                      $interval period default interval or number of the given $unit
+     * @param string|null                                        $unit     if specified, $interval must be an integer
+     *
+     * @return CarbonPeriod
+     */
+    public function toPeriod($end = null, $interval = null, $unit = null);
+
+    /**
+     * Format the instance as RFC1036
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc1036String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc1036String();
+
+    /**
+     * Format the instance as RFC1123
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc1123String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc1123String();
+
+    /**
+     * Format the instance as RFC2822
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc2822String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc2822String();
+
+    /**
+     * Format the instance as RFC3339
+     *
+     * @param bool $extended
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc3339String() . "\n";
+     * echo Carbon::now()->toRfc3339String(true) . "\n";
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc3339String($extended = false);
+
+    /**
+     * Format the instance as RFC7231
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc7231String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc7231String();
+
+    /**
+     * Format the instance as RFC822
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc822String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc822String();
+
+    /**
+     * Format the instance as RFC850
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc850String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc850String();
+
+    /**
+     * Format the instance as RSS
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRssString();
+     * ```
+     *
+     * @return string
+     */
+    public function toRssString();
+
+    /**
+     * Returns english human readable complete date string.
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toString();
+     * ```
+     *
+     * @return string
+     */
+    public function toString();
+
+    /**
+     * Format the instance as time
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toTimeString();
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toTimeString($unitPrecision = 'second');
+
+    /**
+     * Format the instance as W3C
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toW3cString();
+     * ```
+     *
+     * @return string
+     */
+    public function toW3cString();
+
+    /**
+     * Create a Carbon instance for today.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function today($tz = null);
+
+    /**
+     * Create a Carbon instance for tomorrow.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function tomorrow($tz = null);
+
+    /**
+     * Translate using translation string or callback available.
+     *
+     * @param string                                             $key
+     * @param array                                              $parameters
+     * @param string|int|float|null                              $number
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     *
+     * @return string
+     */
+    public function translate(string $key, array $parameters = [], $number = null, ?\Symfony\Component\Translation\TranslatorInterface $translator = null, bool $altNumbers = false): string;
+
+    /**
+     * Returns the alternative number for a given integer if available in the current locale.
+     *
+     * @param int $number
+     *
+     * @return string
+     */
+    public function translateNumber(int $number): string;
+
+    /**
+     * Translate a time string from a locale to an other.
+     *
+     * @param string      $timeString date/time/duration string to translate (may also contain English)
+     * @param string|null $from       input locale of the $timeString parameter (`Carbon::getLocale()` by default)
+     * @param string|null $to         output locale of the result returned (`"en"` by default)
+     * @param int         $mode       specify what to translate with options:
+     *                                - self::TRANSLATE_ALL (default)
+     *                                - CarbonInterface::TRANSLATE_MONTHS
+     *                                - CarbonInterface::TRANSLATE_DAYS
+     *                                - CarbonInterface::TRANSLATE_UNITS
+     *                                - CarbonInterface::TRANSLATE_MERIDIEM
+     *                                You can use pipe to group: CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS
+     *
+     * @return string
+     */
+    public static function translateTimeString($timeString, $from = null, $to = null, $mode = self::TRANSLATE_ALL);
+
+    /**
+     * Translate a time string from the current locale (`$date->locale()`) to an other.
+     *
+     * @param string      $timeString time string to translate
+     * @param string|null $to         output locale of the result returned ("en" by default)
+     *
+     * @return string
+     */
+    public function translateTimeStringTo($timeString, $to = null);
+
+    /**
+     * Translate using translation string or callback available.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     * @param string                                             $key
+     * @param array                                              $parameters
+     * @param null                                               $number
+     *
+     * @return string
+     */
+    public static function translateWith(\Symfony\Component\Translation\TranslatorInterface $translator, string $key, array $parameters = [], $number = null): string;
+
+    /**
+     * Format as ->format() do (using date replacements patterns from https://php.net/manual/en/function.date.php)
+     * but translate words whenever possible (months, day names, etc.) using the current locale.
+     *
+     * @param string $format
+     *
+     * @return string
+     */
+    public function translatedFormat(string $format): string;
+
+    /**
+     * Set the timezone or returns the timezone name if no arguments passed.
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static|string
+     */
+    public function tz($value = null);
+
+    /**
+     * @alias getTimestamp
+     *
+     * Returns the UNIX timestamp for the current date.
+     *
+     * @return int
+     */
+    public function unix();
+
+    /**
+     * @alias to
+     *
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given (or now if null given) to current instance.
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function until($other = null, $syntax = null, $short = false, $parts = 1, $options = null);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Indicates if months should be calculated with overflow.
+     *
+     * @param bool $monthsOverflow
+     *
+     * @return void
+     */
+    public static function useMonthsOverflow($monthsOverflow = true);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * Enable the strict mode (or disable with passing false).
+     *
+     * @param bool $strictModeEnabled
+     */
+    public static function useStrictMode($strictModeEnabled = true);
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Indicates if years should be calculated with overflow.
+     *
+     * @param bool $yearsOverflow
+     *
+     * @return void
+     */
+    public static function useYearsOverflow($yearsOverflow = true);
+
+    /**
+     * Set the instance's timezone to UTC.
+     *
+     * @return static
+     */
+    public function utc();
+
+    /**
+     * Returns the minutes offset to UTC if no arguments passed, else set the timezone with given minutes shift passed.
+     *
+     * @param int|null $minuteOffset
+     *
+     * @return int|static
+     */
+    public function utcOffset(?int $minuteOffset = null);
+
+    /**
+     * Returns the milliseconds timestamps used amongst other by Date javascript objects.
+     *
+     * @return float
+     */
+    public function valueOf();
+
+    /**
+     * Get/set the week number using given first day of week and first
+     * day of year included in the first week. Or use US format if no settings
+     * given (Sunday / Jan 6).
+     *
+     * @param int|null $week
+     * @param int|null $dayOfWeek
+     * @param int|null $dayOfYear
+     *
+     * @return int|static
+     */
+    public function week($week = null, $dayOfWeek = null, $dayOfYear = null);
+
+    /**
+     * Set/get the week number of year using given first day of week and first
+     * day of year included in the first week. Or use US format if no settings
+     * given (Sunday / Jan 6).
+     *
+     * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int|static
+     */
+    public function weekYear($year = null, $dayOfWeek = null, $dayOfYear = null);
+
+    /**
+     * Get/set the weekday from 0 (Sunday) to 6 (Saturday).
+     *
+     * @param int|null $value new value for weekday if using as setter.
+     *
+     * @return static|int
+     */
+    public function weekday($value = null);
+
+    /**
+     * Get the number of weeks of the current week-year using given first day of week and first
+     * day of year included in the first week. Or use US format if no settings
+     * given (Sunday / Jan 6).
+     *
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int
+     */
+    public function weeksInYear($dayOfWeek = null, $dayOfYear = null);
+
+    /**
+     * Temporarily sets a static date to be used within the callback.
+     * Using setTestNow to set the date, executing the callback, then
+     * clearing the test instance.
+     *
+     * /!\ Use this method for unit tests only.
+     *
+     * @param Closure|static|string|false|null $testNow real or mock Carbon instance
+     * @param Closure|null $callback
+     *
+     * @return mixed
+     */
+    public static function withTestNow($testNow = null, $callback = null);
+
+    /**
+     * Create a Carbon instance for yesterday.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function yesterday($tz = null);
+
+    // </methods>
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php
new file mode 100644
index 0000000..7168fa4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php
@@ -0,0 +1,2667 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Carbon\Exceptions\BadFluentConstructorException;
+use Carbon\Exceptions\BadFluentSetterException;
+use Carbon\Exceptions\InvalidCastException;
+use Carbon\Exceptions\InvalidIntervalException;
+use Carbon\Exceptions\ParseErrorException;
+use Carbon\Exceptions\UnitNotConfiguredException;
+use Carbon\Exceptions\UnknownGetterException;
+use Carbon\Exceptions\UnknownSetterException;
+use Carbon\Exceptions\UnknownUnitException;
+use Carbon\Traits\IntervalRounding;
+use Carbon\Traits\IntervalStep;
+use Carbon\Traits\Mixin;
+use Carbon\Traits\Options;
+use Closure;
+use DateInterval;
+use Exception;
+use ReflectionException;
+use ReturnTypeWillChange;
+use Throwable;
+
+/**
+ * A simple API extension for DateInterval.
+ * The implementation provides helpers to handle weeks but only days are saved.
+ * Weeks are calculated based on the total days of the current instance.
+ *
+ * @property int $years Total years of the current interval.
+ * @property int $months Total months of the current interval.
+ * @property int $weeks Total weeks of the current interval calculated from the days.
+ * @property int $dayz Total days of the current interval (weeks * 7 + days).
+ * @property int $hours Total hours of the current interval.
+ * @property int $minutes Total minutes of the current interval.
+ * @property int $seconds Total seconds of the current interval.
+ * @property int $microseconds Total microseconds of the current interval.
+ * @property int $milliseconds Total microseconds of the current interval.
+ * @property int $microExcludeMilli Remaining microseconds without the milliseconds.
+ * @property int $dayzExcludeWeeks Total days remaining in the final week of the current instance (days % 7).
+ * @property int $daysExcludeWeeks alias of dayzExcludeWeeks
+ * @property-read float $totalYears Number of years equivalent to the interval.
+ * @property-read float $totalMonths Number of months equivalent to the interval.
+ * @property-read float $totalWeeks Number of weeks equivalent to the interval.
+ * @property-read float $totalDays Number of days equivalent to the interval.
+ * @property-read float $totalDayz Alias for totalDays.
+ * @property-read float $totalHours Number of hours equivalent to the interval.
+ * @property-read float $totalMinutes Number of minutes equivalent to the interval.
+ * @property-read float $totalSeconds Number of seconds equivalent to the interval.
+ * @property-read float $totalMilliseconds Number of milliseconds equivalent to the interval.
+ * @property-read float $totalMicroseconds Number of microseconds equivalent to the interval.
+ * @property-read string $locale locale of the current instance
+ *
+ * @method static CarbonInterval years($years = 1) Create instance specifying a number of years or modify the number of years if called on an instance.
+ * @method static CarbonInterval year($years = 1) Alias for years()
+ * @method static CarbonInterval months($months = 1) Create instance specifying a number of months or modify the number of months if called on an instance.
+ * @method static CarbonInterval month($months = 1) Alias for months()
+ * @method static CarbonInterval weeks($weeks = 1) Create instance specifying a number of weeks or modify the number of weeks if called on an instance.
+ * @method static CarbonInterval week($weeks = 1) Alias for weeks()
+ * @method static CarbonInterval days($days = 1) Create instance specifying a number of days or modify the number of days if called on an instance.
+ * @method static CarbonInterval dayz($days = 1) Alias for days()
+ * @method static CarbonInterval daysExcludeWeeks($days = 1) Create instance specifying a number of days or modify the number of days (keeping the current number of weeks) if called on an instance.
+ * @method static CarbonInterval dayzExcludeWeeks($days = 1) Alias for daysExcludeWeeks()
+ * @method static CarbonInterval day($days = 1) Alias for days()
+ * @method static CarbonInterval hours($hours = 1) Create instance specifying a number of hours or modify the number of hours if called on an instance.
+ * @method static CarbonInterval hour($hours = 1) Alias for hours()
+ * @method static CarbonInterval minutes($minutes = 1) Create instance specifying a number of minutes or modify the number of minutes if called on an instance.
+ * @method static CarbonInterval minute($minutes = 1) Alias for minutes()
+ * @method static CarbonInterval seconds($seconds = 1) Create instance specifying a number of seconds or modify the number of seconds if called on an instance.
+ * @method static CarbonInterval second($seconds = 1) Alias for seconds()
+ * @method static CarbonInterval milliseconds($milliseconds = 1) Create instance specifying a number of milliseconds or modify the number of milliseconds if called on an instance.
+ * @method static CarbonInterval millisecond($milliseconds = 1) Alias for milliseconds()
+ * @method static CarbonInterval microseconds($microseconds = 1) Create instance specifying a number of microseconds or modify the number of microseconds if called on an instance.
+ * @method static CarbonInterval microsecond($microseconds = 1) Alias for microseconds()
+ * @method $this addYears(int $years) Add given number of years to the current interval
+ * @method $this subYears(int $years) Subtract given number of years to the current interval
+ * @method $this addMonths(int $months) Add given number of months to the current interval
+ * @method $this subMonths(int $months) Subtract given number of months to the current interval
+ * @method $this addWeeks(int|float $weeks) Add given number of weeks to the current interval
+ * @method $this subWeeks(int|float $weeks) Subtract given number of weeks to the current interval
+ * @method $this addDays(int|float $days) Add given number of days to the current interval
+ * @method $this subDays(int|float $days) Subtract given number of days to the current interval
+ * @method $this addHours(int|float $hours) Add given number of hours to the current interval
+ * @method $this subHours(int|float $hours) Subtract given number of hours to the current interval
+ * @method $this addMinutes(int|float $minutes) Add given number of minutes to the current interval
+ * @method $this subMinutes(int|float $minutes) Subtract given number of minutes to the current interval
+ * @method $this addSeconds(int|float $seconds) Add given number of seconds to the current interval
+ * @method $this subSeconds(int|float $seconds) Subtract given number of seconds to the current interval
+ * @method $this addMilliseconds(int|float $milliseconds) Add given number of milliseconds to the current interval
+ * @method $this subMilliseconds(int|float $milliseconds) Subtract given number of milliseconds to the current interval
+ * @method $this addMicroseconds(int|float $microseconds) Add given number of microseconds to the current interval
+ * @method $this subMicroseconds(int|float $microseconds) Subtract given number of microseconds to the current interval
+ * @method $this roundYear(int|float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function.
+ * @method $this roundYears(int|float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function.
+ * @method $this floorYear(int|float $precision = 1) Truncate the current instance year with given precision.
+ * @method $this floorYears(int|float $precision = 1) Truncate the current instance year with given precision.
+ * @method $this ceilYear(int|float $precision = 1) Ceil the current instance year with given precision.
+ * @method $this ceilYears(int|float $precision = 1) Ceil the current instance year with given precision.
+ * @method $this roundMonth(int|float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function.
+ * @method $this roundMonths(int|float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function.
+ * @method $this floorMonth(int|float $precision = 1) Truncate the current instance month with given precision.
+ * @method $this floorMonths(int|float $precision = 1) Truncate the current instance month with given precision.
+ * @method $this ceilMonth(int|float $precision = 1) Ceil the current instance month with given precision.
+ * @method $this ceilMonths(int|float $precision = 1) Ceil the current instance month with given precision.
+ * @method $this roundWeek(int|float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this roundWeeks(int|float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this floorWeek(int|float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this floorWeeks(int|float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this ceilWeek(int|float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this ceilWeeks(int|float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this roundDay(int|float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this roundDays(int|float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this floorDay(int|float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this floorDays(int|float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this ceilDay(int|float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this ceilDays(int|float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this roundHour(int|float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function.
+ * @method $this roundHours(int|float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function.
+ * @method $this floorHour(int|float $precision = 1) Truncate the current instance hour with given precision.
+ * @method $this floorHours(int|float $precision = 1) Truncate the current instance hour with given precision.
+ * @method $this ceilHour(int|float $precision = 1) Ceil the current instance hour with given precision.
+ * @method $this ceilHours(int|float $precision = 1) Ceil the current instance hour with given precision.
+ * @method $this roundMinute(int|float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function.
+ * @method $this roundMinutes(int|float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function.
+ * @method $this floorMinute(int|float $precision = 1) Truncate the current instance minute with given precision.
+ * @method $this floorMinutes(int|float $precision = 1) Truncate the current instance minute with given precision.
+ * @method $this ceilMinute(int|float $precision = 1) Ceil the current instance minute with given precision.
+ * @method $this ceilMinutes(int|float $precision = 1) Ceil the current instance minute with given precision.
+ * @method $this roundSecond(int|float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function.
+ * @method $this roundSeconds(int|float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function.
+ * @method $this floorSecond(int|float $precision = 1) Truncate the current instance second with given precision.
+ * @method $this floorSeconds(int|float $precision = 1) Truncate the current instance second with given precision.
+ * @method $this ceilSecond(int|float $precision = 1) Ceil the current instance second with given precision.
+ * @method $this ceilSeconds(int|float $precision = 1) Ceil the current instance second with given precision.
+ * @method $this roundMillennium(int|float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function.
+ * @method $this roundMillennia(int|float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function.
+ * @method $this floorMillennium(int|float $precision = 1) Truncate the current instance millennium with given precision.
+ * @method $this floorMillennia(int|float $precision = 1) Truncate the current instance millennium with given precision.
+ * @method $this ceilMillennium(int|float $precision = 1) Ceil the current instance millennium with given precision.
+ * @method $this ceilMillennia(int|float $precision = 1) Ceil the current instance millennium with given precision.
+ * @method $this roundCentury(int|float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function.
+ * @method $this roundCenturies(int|float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function.
+ * @method $this floorCentury(int|float $precision = 1) Truncate the current instance century with given precision.
+ * @method $this floorCenturies(int|float $precision = 1) Truncate the current instance century with given precision.
+ * @method $this ceilCentury(int|float $precision = 1) Ceil the current instance century with given precision.
+ * @method $this ceilCenturies(int|float $precision = 1) Ceil the current instance century with given precision.
+ * @method $this roundDecade(int|float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function.
+ * @method $this roundDecades(int|float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function.
+ * @method $this floorDecade(int|float $precision = 1) Truncate the current instance decade with given precision.
+ * @method $this floorDecades(int|float $precision = 1) Truncate the current instance decade with given precision.
+ * @method $this ceilDecade(int|float $precision = 1) Ceil the current instance decade with given precision.
+ * @method $this ceilDecades(int|float $precision = 1) Ceil the current instance decade with given precision.
+ * @method $this roundQuarter(int|float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function.
+ * @method $this roundQuarters(int|float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function.
+ * @method $this floorQuarter(int|float $precision = 1) Truncate the current instance quarter with given precision.
+ * @method $this floorQuarters(int|float $precision = 1) Truncate the current instance quarter with given precision.
+ * @method $this ceilQuarter(int|float $precision = 1) Ceil the current instance quarter with given precision.
+ * @method $this ceilQuarters(int|float $precision = 1) Ceil the current instance quarter with given precision.
+ * @method $this roundMillisecond(int|float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function.
+ * @method $this roundMilliseconds(int|float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function.
+ * @method $this floorMillisecond(int|float $precision = 1) Truncate the current instance millisecond with given precision.
+ * @method $this floorMilliseconds(int|float $precision = 1) Truncate the current instance millisecond with given precision.
+ * @method $this ceilMillisecond(int|float $precision = 1) Ceil the current instance millisecond with given precision.
+ * @method $this ceilMilliseconds(int|float $precision = 1) Ceil the current instance millisecond with given precision.
+ * @method $this roundMicrosecond(int|float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function.
+ * @method $this roundMicroseconds(int|float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function.
+ * @method $this floorMicrosecond(int|float $precision = 1) Truncate the current instance microsecond with given precision.
+ * @method $this floorMicroseconds(int|float $precision = 1) Truncate the current instance microsecond with given precision.
+ * @method $this ceilMicrosecond(int|float $precision = 1) Ceil the current instance microsecond with given precision.
+ * @method $this ceilMicroseconds(int|float $precision = 1) Ceil the current instance microsecond with given precision.
+ */
+class CarbonInterval extends DateInterval implements CarbonConverterInterface
+{
+    use IntervalRounding;
+    use IntervalStep;
+    use Mixin {
+        Mixin::mixin as baseMixin;
+    }
+    use Options;
+
+    /**
+     * Interval spec period designators
+     */
+    const PERIOD_PREFIX = 'P';
+    const PERIOD_YEARS = 'Y';
+    const PERIOD_MONTHS = 'M';
+    const PERIOD_DAYS = 'D';
+    const PERIOD_TIME_PREFIX = 'T';
+    const PERIOD_HOURS = 'H';
+    const PERIOD_MINUTES = 'M';
+    const PERIOD_SECONDS = 'S';
+
+    /**
+     * A translator to ... er ... translate stuff
+     *
+     * @var \Symfony\Component\Translation\TranslatorInterface
+     */
+    protected static $translator;
+
+    /**
+     * @var array|null
+     */
+    protected static $cascadeFactors;
+
+    /**
+     * @var array
+     */
+    protected static $formats = [
+        'y' => 'y',
+        'Y' => 'y',
+        'o' => 'y',
+        'm' => 'm',
+        'n' => 'm',
+        'W' => 'weeks',
+        'd' => 'd',
+        'j' => 'd',
+        'z' => 'd',
+        'h' => 'h',
+        'g' => 'h',
+        'H' => 'h',
+        'G' => 'h',
+        'i' => 'i',
+        's' => 's',
+        'u' => 'micro',
+        'v' => 'milli',
+    ];
+
+    /**
+     * @var array|null
+     */
+    private static $flipCascadeFactors;
+
+    /**
+     * The registered macros.
+     *
+     * @var array
+     */
+    protected static $macros = [];
+
+    /**
+     * Timezone handler for settings() method.
+     *
+     * @var mixed
+     */
+    protected $tzName;
+
+    /**
+     * Set the instance's timezone from a string or object and add/subtract the offset difference.
+     *
+     * @param \DateTimeZone|string $tzName
+     *
+     * @return static
+     */
+    public function shiftTimezone($tzName)
+    {
+        $this->tzName = $tzName;
+
+        return $this;
+    }
+
+    /**
+     * Mapping of units and factors for cascading.
+     *
+     * Should only be modified by changing the factors or referenced constants.
+     *
+     * @return array
+     */
+    public static function getCascadeFactors()
+    {
+        return static::$cascadeFactors ?: [
+            'milliseconds' => [Carbon::MICROSECONDS_PER_MILLISECOND, 'microseconds'],
+            'seconds' => [Carbon::MILLISECONDS_PER_SECOND, 'milliseconds'],
+            'minutes' => [Carbon::SECONDS_PER_MINUTE, 'seconds'],
+            'hours' => [Carbon::MINUTES_PER_HOUR, 'minutes'],
+            'dayz' => [Carbon::HOURS_PER_DAY, 'hours'],
+            'weeks' => [Carbon::DAYS_PER_WEEK, 'dayz'],
+            'months' => [Carbon::WEEKS_PER_MONTH, 'weeks'],
+            'years' => [Carbon::MONTHS_PER_YEAR, 'months'],
+        ];
+    }
+
+    private static function standardizeUnit($unit)
+    {
+        $unit = rtrim($unit, 'sz').'s';
+
+        return $unit === 'days' ? 'dayz' : $unit;
+    }
+
+    private static function getFlipCascadeFactors()
+    {
+        if (!self::$flipCascadeFactors) {
+            self::$flipCascadeFactors = [];
+
+            foreach (static::getCascadeFactors() as $to => [$factor, $from]) {
+                self::$flipCascadeFactors[self::standardizeUnit($from)] = [self::standardizeUnit($to), $factor];
+            }
+        }
+
+        return self::$flipCascadeFactors;
+    }
+
+    /**
+     * Set default cascading factors for ->cascade() method.
+     *
+     * @param array $cascadeFactors
+     */
+    public static function setCascadeFactors(array $cascadeFactors)
+    {
+        self::$flipCascadeFactors = null;
+        static::$cascadeFactors = $cascadeFactors;
+    }
+
+    ///////////////////////////////////////////////////////////////////
+    //////////////////////////// CONSTRUCTORS /////////////////////////
+    ///////////////////////////////////////////////////////////////////
+
+    /**
+     * Create a new CarbonInterval instance.
+     *
+     * @param int|null $years
+     * @param int|null $months
+     * @param int|null $weeks
+     * @param int|null $days
+     * @param int|null $hours
+     * @param int|null $minutes
+     * @param int|null $seconds
+     * @param int|null $microseconds
+     *
+     * @throws Exception when the interval_spec (passed as $years) cannot be parsed as an interval.
+     */
+    public function __construct($years = 1, $months = null, $weeks = null, $days = null, $hours = null, $minutes = null, $seconds = null, $microseconds = null)
+    {
+        if ($years instanceof Closure) {
+            $this->step = $years;
+            $years = null;
+        }
+
+        if ($years instanceof DateInterval) {
+            parent::__construct(static::getDateIntervalSpec($years));
+            $this->f = $years->f;
+            static::copyNegativeUnits($years, $this);
+
+            return;
+        }
+
+        $spec = $years;
+
+        if (!\is_string($spec) || (float) $years || preg_match('/^[0-9.]/', $years)) {
+            $spec = static::PERIOD_PREFIX;
+
+            $spec .= $years > 0 ? $years.static::PERIOD_YEARS : '';
+            $spec .= $months > 0 ? $months.static::PERIOD_MONTHS : '';
+
+            $specDays = 0;
+            $specDays += $weeks > 0 ? $weeks * static::getDaysPerWeek() : 0;
+            $specDays += $days > 0 ? $days : 0;
+
+            $spec .= $specDays > 0 ? $specDays.static::PERIOD_DAYS : '';
+
+            if ($hours > 0 || $minutes > 0 || $seconds > 0) {
+                $spec .= static::PERIOD_TIME_PREFIX;
+                $spec .= $hours > 0 ? $hours.static::PERIOD_HOURS : '';
+                $spec .= $minutes > 0 ? $minutes.static::PERIOD_MINUTES : '';
+                $spec .= $seconds > 0 ? $seconds.static::PERIOD_SECONDS : '';
+            }
+
+            if ($spec === static::PERIOD_PREFIX) {
+                // Allow the zero interval.
+                $spec .= '0'.static::PERIOD_YEARS;
+            }
+        }
+
+        parent::__construct($spec);
+
+        if ($microseconds !== null) {
+            $this->f = $microseconds / Carbon::MICROSECONDS_PER_SECOND;
+        }
+    }
+
+    /**
+     * Returns the factor for a given source-to-target couple.
+     *
+     * @param string $source
+     * @param string $target
+     *
+     * @return int|null
+     */
+    public static function getFactor($source, $target)
+    {
+        $source = self::standardizeUnit($source);
+        $target = self::standardizeUnit($target);
+        $factors = static::getFlipCascadeFactors();
+
+        if (isset($factors[$source])) {
+            [$to, $factor] = $factors[$source];
+
+            if ($to === $target) {
+                return $factor;
+            }
+
+            return $factor * static::getFactor($to, $target);
+        }
+
+        return null;
+    }
+
+    /**
+     * Returns current config for days per week.
+     *
+     * @return int
+     */
+    public static function getDaysPerWeek()
+    {
+        return static::getFactor('dayz', 'weeks') ?: Carbon::DAYS_PER_WEEK;
+    }
+
+    /**
+     * Returns current config for hours per day.
+     *
+     * @return int
+     */
+    public static function getHoursPerDay()
+    {
+        return static::getFactor('hours', 'dayz') ?: Carbon::HOURS_PER_DAY;
+    }
+
+    /**
+     * Returns current config for minutes per hour.
+     *
+     * @return int
+     */
+    public static function getMinutesPerHour()
+    {
+        return static::getFactor('minutes', 'hours') ?: Carbon::MINUTES_PER_HOUR;
+    }
+
+    /**
+     * Returns current config for seconds per minute.
+     *
+     * @return int
+     */
+    public static function getSecondsPerMinute()
+    {
+        return static::getFactor('seconds', 'minutes') ?: Carbon::SECONDS_PER_MINUTE;
+    }
+
+    /**
+     * Returns current config for microseconds per second.
+     *
+     * @return int
+     */
+    public static function getMillisecondsPerSecond()
+    {
+        return static::getFactor('milliseconds', 'seconds') ?: Carbon::MILLISECONDS_PER_SECOND;
+    }
+
+    /**
+     * Returns current config for microseconds per second.
+     *
+     * @return int
+     */
+    public static function getMicrosecondsPerMillisecond()
+    {
+        return static::getFactor('microseconds', 'milliseconds') ?: Carbon::MICROSECONDS_PER_MILLISECOND;
+    }
+
+    /**
+     * Create a new CarbonInterval instance from specific values.
+     * This is an alias for the constructor that allows better fluent
+     * syntax as it allows you to do CarbonInterval::create(1)->fn() rather than
+     * (new CarbonInterval(1))->fn().
+     *
+     * @param int $years
+     * @param int $months
+     * @param int $weeks
+     * @param int $days
+     * @param int $hours
+     * @param int $minutes
+     * @param int $seconds
+     * @param int $microseconds
+     *
+     * @throws Exception when the interval_spec (passed as $years) cannot be parsed as an interval.
+     *
+     * @return static
+     */
+    public static function create($years = 1, $months = null, $weeks = null, $days = null, $hours = null, $minutes = null, $seconds = null, $microseconds = null)
+    {
+        return new static($years, $months, $weeks, $days, $hours, $minutes, $seconds, $microseconds);
+    }
+
+    /**
+     * Parse a string into a new CarbonInterval object according to the specified format.
+     *
+     * @example
+     * ```
+     * echo Carboninterval::createFromFormat('H:i', '1:30');
+     * ```
+     *
+     * @param string $format   Format of the $interval input string
+     * @param string $interval Input string to convert into an interval
+     *
+     * @throws Exception when the $interval cannot be parsed as an interval.
+     *
+     * @return static
+     */
+    public static function createFromFormat(string $format, ?string $interval)
+    {
+        $instance = new static(0);
+        $length = mb_strlen($format);
+
+        if (preg_match('/s([,.])([uv])$/', $format, $match)) {
+            $interval = explode($match[1], $interval);
+            $index = \count($interval) - 1;
+            $interval[$index] = str_pad($interval[$index], $match[2] === 'v' ? 3 : 6, '0');
+            $interval = implode($match[1], $interval);
+        }
+
+        $interval = $interval ?? '';
+
+        for ($index = 0; $index < $length; $index++) {
+            $expected = mb_substr($format, $index, 1);
+            $nextCharacter = mb_substr($interval, 0, 1);
+            $unit = static::$formats[$expected] ?? null;
+
+            if ($unit) {
+                if (!preg_match('/^-?\d+/', $interval, $match)) {
+                    throw new ParseErrorException('number', $nextCharacter);
+                }
+
+                $interval = mb_substr($interval, mb_strlen($match[0]));
+                $instance->$unit += (int) ($match[0]);
+
+                continue;
+            }
+
+            if ($nextCharacter !== $expected) {
+                throw new ParseErrorException(
+                    "'$expected'",
+                    $nextCharacter,
+                    'Allowed substitutes for interval formats are '.implode(', ', array_keys(static::$formats))."\n".
+                    'See https://php.net/manual/en/function.date.php for their meaning'
+                );
+            }
+
+            $interval = mb_substr($interval, 1);
+        }
+
+        if ($interval !== '') {
+            throw new ParseErrorException(
+                'end of string',
+                $interval
+            );
+        }
+
+        return $instance;
+    }
+
+    /**
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function copy()
+    {
+        $date = new static(0);
+        $date->copyProperties($this);
+        $date->step = $this->step;
+
+        return $date;
+    }
+
+    /**
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function clone()
+    {
+        return $this->copy();
+    }
+
+    /**
+     * Provide static helpers to create instances.  Allows CarbonInterval::years(3).
+     *
+     * Note: This is done using the magic method to allow static and instance methods to
+     *       have the same names.
+     *
+     * @param string $method     magic method name called
+     * @param array  $parameters parameters list
+     *
+     * @return static|null
+     */
+    public static function __callStatic($method, $parameters)
+    {
+        try {
+            $interval = new static(0);
+            $localStrictModeEnabled = $interval->localStrictModeEnabled;
+            $interval->localStrictModeEnabled = true;
+
+            $result = static::hasMacro($method)
+                ? static::bindMacroContext(null, function () use (&$method, &$parameters, &$interval) {
+                    return $interval->callMacro($method, $parameters);
+                })
+                : $interval->$method(...$parameters);
+
+            $interval->localStrictModeEnabled = $localStrictModeEnabled;
+
+            return $result;
+        } catch (BadFluentSetterException $exception) {
+            if (Carbon::isStrictModeEnabled()) {
+                throw new BadFluentConstructorException($method, 0, $exception);
+            }
+
+            return null;
+        }
+    }
+
+    /**
+     * Return the current context from inside a macro callee or a new one if static.
+     *
+     * @return static
+     */
+    protected static function this()
+    {
+        return end(static::$macroContextStack) ?: new static(0);
+    }
+
+    /**
+     * Creates a CarbonInterval from string.
+     *
+     * Format:
+     *
+     * Suffix | Unit    | Example | DateInterval expression
+     * -------|---------|---------|------------------------
+     * y      | years   |   1y    | P1Y
+     * mo     | months  |   3mo   | P3M
+     * w      | weeks   |   2w    | P2W
+     * d      | days    |  28d    | P28D
+     * h      | hours   |   4h    | PT4H
+     * m      | minutes |  12m    | PT12M
+     * s      | seconds |  59s    | PT59S
+     *
+     * e. g. `1w 3d 4h 32m 23s` is converted to 10 days 4 hours 32 minutes and 23 seconds.
+     *
+     * Special cases:
+     *  - An empty string will return a zero interval
+     *  - Fractions are allowed for weeks, days, hours and minutes and will be converted
+     *    and rounded to the next smaller value (caution: 0.5w = 4d)
+     *
+     * @param string $intervalDefinition
+     *
+     * @return static
+     */
+    public static function fromString($intervalDefinition)
+    {
+        if (empty($intervalDefinition)) {
+            return new static(0);
+        }
+
+        $years = 0;
+        $months = 0;
+        $weeks = 0;
+        $days = 0;
+        $hours = 0;
+        $minutes = 0;
+        $seconds = 0;
+        $milliseconds = 0;
+        $microseconds = 0;
+
+        $pattern = '/(\d+(?:\.\d+)?)\h*([^\d\h]*)/i';
+        preg_match_all($pattern, $intervalDefinition, $parts, PREG_SET_ORDER);
+
+        while ([$part, $value, $unit] = array_shift($parts)) {
+            $intValue = (int) $value;
+            $fraction = (float) $value - $intValue;
+
+            // Fix calculation precision
+            switch (round($fraction, 6)) {
+                case 1:
+                    $fraction = 0;
+                    $intValue++;
+
+                    break;
+                case 0:
+                    $fraction = 0;
+
+                    break;
+            }
+
+            switch ($unit === 'µs' ? 'µs' : strtolower($unit)) {
+                case 'millennia':
+                case 'millennium':
+                    $years += $intValue * CarbonInterface::YEARS_PER_MILLENNIUM;
+
+                    break;
+
+                case 'century':
+                case 'centuries':
+                    $years += $intValue * CarbonInterface::YEARS_PER_CENTURY;
+
+                    break;
+
+                case 'decade':
+                case 'decades':
+                    $years += $intValue * CarbonInterface::YEARS_PER_DECADE;
+
+                    break;
+
+                case 'year':
+                case 'years':
+                case 'y':
+                    $years += $intValue;
+
+                    break;
+
+                case 'quarter':
+                case 'quarters':
+                    $months += $intValue * CarbonInterface::MONTHS_PER_QUARTER;
+
+                    break;
+
+                case 'month':
+                case 'months':
+                case 'mo':
+                    $months += $intValue;
+
+                    break;
+
+                case 'week':
+                case 'weeks':
+                case 'w':
+                    $weeks += $intValue;
+
+                    if ($fraction) {
+                        $parts[] = [null, $fraction * static::getDaysPerWeek(), 'd'];
+                    }
+
+                    break;
+
+                case 'day':
+                case 'days':
+                case 'd':
+                    $days += $intValue;
+
+                    if ($fraction) {
+                        $parts[] = [null, $fraction * static::getHoursPerDay(), 'h'];
+                    }
+
+                    break;
+
+                case 'hour':
+                case 'hours':
+                case 'h':
+                    $hours += $intValue;
+
+                    if ($fraction) {
+                        $parts[] = [null, $fraction * static::getMinutesPerHour(), 'm'];
+                    }
+
+                    break;
+
+                case 'minute':
+                case 'minutes':
+                case 'm':
+                    $minutes += $intValue;
+
+                    if ($fraction) {
+                        $parts[] = [null, $fraction * static::getSecondsPerMinute(), 's'];
+                    }
+
+                    break;
+
+                case 'second':
+                case 'seconds':
+                case 's':
+                    $seconds += $intValue;
+
+                    if ($fraction) {
+                        $parts[] = [null, $fraction * static::getMillisecondsPerSecond(), 'ms'];
+                    }
+
+                    break;
+
+                case 'millisecond':
+                case 'milliseconds':
+                case 'milli':
+                case 'ms':
+                    $milliseconds += $intValue;
+
+                    if ($fraction) {
+                        $microseconds += round($fraction * static::getMicrosecondsPerMillisecond());
+                    }
+
+                    break;
+
+                case 'microsecond':
+                case 'microseconds':
+                case 'micro':
+                case 'µs':
+                    $microseconds += $intValue;
+
+                    break;
+
+                default:
+                    throw new InvalidIntervalException(
+                        sprintf('Invalid part %s in definition %s', $part, $intervalDefinition)
+                    );
+            }
+        }
+
+        return new static($years, $months, $weeks, $days, $hours, $minutes, $seconds, $milliseconds * Carbon::MICROSECONDS_PER_MILLISECOND + $microseconds);
+    }
+
+    /**
+     * Creates a CarbonInterval from string using a different locale.
+     *
+     * @param string      $interval interval string in the given language (may also contain English).
+     * @param string|null $locale   if locale is null or not specified, current global locale will be used instead.
+     *
+     * @return static
+     */
+    public static function parseFromLocale($interval, $locale = null)
+    {
+        return static::fromString(Carbon::translateTimeString($interval, $locale ?: static::getLocale(), 'en'));
+    }
+
+    private static function castIntervalToClass(DateInterval $interval, string $className)
+    {
+        $mainClass = DateInterval::class;
+
+        if (!is_a($className, $mainClass, true)) {
+            throw new InvalidCastException("$className is not a sub-class of $mainClass.");
+        }
+
+        $microseconds = $interval->f;
+        $instance = new $className(static::getDateIntervalSpec($interval));
+
+        if ($microseconds) {
+            $instance->f = $microseconds;
+        }
+
+        if ($interval instanceof self && is_a($className, self::class, true)) {
+            static::copyStep($interval, $instance);
+        }
+
+        static::copyNegativeUnits($interval, $instance);
+
+        return $instance;
+    }
+
+    private static function copyNegativeUnits(DateInterval $from, DateInterval $to): void
+    {
+        $to->invert = $from->invert;
+
+        foreach (['y', 'm', 'd', 'h', 'i', 's'] as $unit) {
+            if ($from->$unit < 0) {
+                $to->$unit *= -1;
+            }
+        }
+    }
+
+    private static function copyStep(self $from, self $to): void
+    {
+        $to->setStep($from->getStep());
+    }
+
+    /**
+     * Cast the current instance into the given class.
+     *
+     * @param string $className The $className::instance() method will be called to cast the current object.
+     *
+     * @return DateInterval
+     */
+    public function cast(string $className)
+    {
+        return self::castIntervalToClass($this, $className);
+    }
+
+    /**
+     * Create a CarbonInterval instance from a DateInterval one.  Can not instance
+     * DateInterval objects created from DateTime::diff() as you can't externally
+     * set the $days field.
+     *
+     * @param DateInterval $interval
+     *
+     * @return static
+     */
+    public static function instance(DateInterval $interval)
+    {
+        return self::castIntervalToClass($interval, static::class);
+    }
+
+    /**
+     * Make a CarbonInterval instance from given variable if possible.
+     *
+     * Always return a new instance. Parse only strings and only these likely to be intervals (skip dates
+     * and recurrences). Throw an exception for invalid format, but otherwise return null.
+     *
+     * @param mixed|int|DateInterval|string|Closure|null $interval interval or number of the given $unit
+     * @param string|null                                $unit     if specified, $interval must be an integer
+     *
+     * @return static|null
+     */
+    public static function make($interval, $unit = null)
+    {
+        if ($unit) {
+            $interval = "$interval ".Carbon::pluralUnit($unit);
+        }
+
+        if ($interval instanceof DateInterval) {
+            return static::instance($interval);
+        }
+
+        if ($interval instanceof Closure) {
+            return new static($interval);
+        }
+
+        if (!\is_string($interval)) {
+            return null;
+        }
+
+        return static::makeFromString($interval);
+    }
+
+    protected static function makeFromString(string $interval)
+    {
+        $interval = preg_replace('/\s+/', ' ', trim($interval));
+
+        if (preg_match('/^P[T0-9]/', $interval)) {
+            return new static($interval);
+        }
+
+        if (preg_match('/^(?:\h*\d+(?:\.\d+)?\h*[a-z]+)+$/i', $interval)) {
+            return static::fromString($interval);
+        }
+
+        /** @var static $interval */
+        $interval = static::createFromDateString($interval);
+
+        return !$interval || $interval->isEmpty() ? null : $interval;
+    }
+
+    protected function resolveInterval($interval)
+    {
+        if (!($interval instanceof self)) {
+            return self::make($interval);
+        }
+
+        return $interval;
+    }
+
+    /**
+     * Sets up a DateInterval from the relative parts of the string.
+     *
+     * @param string $time
+     *
+     * @return static
+     *
+     * @link https://php.net/manual/en/dateinterval.createfromdatestring.php
+     */
+    #[ReturnTypeWillChange]
+    public static function createFromDateString($time)
+    {
+        $interval = @parent::createFromDateString(strtr($time, [
+            ',' => ' ',
+            ' and ' => ' ',
+        ]));
+
+        if ($interval instanceof DateInterval) {
+            $interval = static::instance($interval);
+        }
+
+        return $interval;
+    }
+
+    ///////////////////////////////////////////////////////////////////
+    ///////////////////////// GETTERS AND SETTERS /////////////////////
+    ///////////////////////////////////////////////////////////////////
+
+    /**
+     * Get a part of the CarbonInterval object.
+     *
+     * @param string $name
+     *
+     * @throws UnknownGetterException
+     *
+     * @return int|float|string
+     */
+    public function get($name)
+    {
+        if (str_starts_with($name, 'total')) {
+            return $this->total(substr($name, 5));
+        }
+
+        switch ($name) {
+            case 'years':
+                return $this->y;
+
+            case 'months':
+                return $this->m;
+
+            case 'dayz':
+                return $this->d;
+
+            case 'hours':
+                return $this->h;
+
+            case 'minutes':
+                return $this->i;
+
+            case 'seconds':
+                return $this->s;
+
+            case 'milli':
+            case 'milliseconds':
+                return (int) (round($this->f * Carbon::MICROSECONDS_PER_SECOND) / Carbon::MICROSECONDS_PER_MILLISECOND);
+
+            case 'micro':
+            case 'microseconds':
+                return (int) round($this->f * Carbon::MICROSECONDS_PER_SECOND);
+
+            case 'microExcludeMilli':
+                return (int) round($this->f * Carbon::MICROSECONDS_PER_SECOND) % Carbon::MICROSECONDS_PER_MILLISECOND;
+
+            case 'weeks':
+                return (int) ($this->d / static::getDaysPerWeek());
+
+            case 'daysExcludeWeeks':
+            case 'dayzExcludeWeeks':
+                return $this->d % static::getDaysPerWeek();
+
+            case 'locale':
+                return $this->getTranslatorLocale();
+
+            default:
+                throw new UnknownGetterException($name);
+        }
+    }
+
+    /**
+     * Get a part of the CarbonInterval object.
+     *
+     * @param string $name
+     *
+     * @throws UnknownGetterException
+     *
+     * @return int|float|string
+     */
+    public function __get($name)
+    {
+        return $this->get($name);
+    }
+
+    /**
+     * Set a part of the CarbonInterval object.
+     *
+     * @param string|array $name
+     * @param int          $value
+     *
+     * @throws UnknownSetterException
+     *
+     * @return $this
+     */
+    public function set($name, $value = null)
+    {
+        $properties = \is_array($name) ? $name : [$name => $value];
+
+        foreach ($properties as $key => $value) {
+            switch (Carbon::singularUnit(rtrim($key, 'z'))) {
+                case 'year':
+                    $this->y = $value;
+
+                    break;
+
+                case 'month':
+                    $this->m = $value;
+
+                    break;
+
+                case 'week':
+                    $this->d = $value * static::getDaysPerWeek();
+
+                    break;
+
+                case 'day':
+                    $this->d = $value;
+
+                    break;
+
+                case 'daysexcludeweek':
+                case 'dayzexcludeweek':
+                    $this->d = $this->weeks * static::getDaysPerWeek() + $value;
+
+                    break;
+
+                case 'hour':
+                    $this->h = $value;
+
+                    break;
+
+                case 'minute':
+                    $this->i = $value;
+
+                    break;
+
+                case 'second':
+                    $this->s = $value;
+
+                    break;
+
+                case 'milli':
+                case 'millisecond':
+                    $this->microseconds = $value * Carbon::MICROSECONDS_PER_MILLISECOND + $this->microseconds % Carbon::MICROSECONDS_PER_MILLISECOND;
+
+                    break;
+
+                case 'micro':
+                case 'microsecond':
+                    $this->f = $value / Carbon::MICROSECONDS_PER_SECOND;
+
+                    break;
+
+                default:
+                    if ($this->localStrictModeEnabled ?? Carbon::isStrictModeEnabled()) {
+                        throw new UnknownSetterException($key);
+                    }
+
+                    $this->$key = $value;
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Set a part of the CarbonInterval object.
+     *
+     * @param string $name
+     * @param int    $value
+     *
+     * @throws UnknownSetterException
+     */
+    public function __set($name, $value)
+    {
+        $this->set($name, $value);
+    }
+
+    /**
+     * Allow setting of weeks and days to be cumulative.
+     *
+     * @param int $weeks Number of weeks to set
+     * @param int $days  Number of days to set
+     *
+     * @return static
+     */
+    public function weeksAndDays($weeks, $days)
+    {
+        $this->dayz = ($weeks * static::getDaysPerWeek()) + $days;
+
+        return $this;
+    }
+
+    /**
+     * Returns true if the interval is empty for each unit.
+     *
+     * @return bool
+     */
+    public function isEmpty()
+    {
+        return $this->years === 0 &&
+            $this->months === 0 &&
+            $this->dayz === 0 &&
+            !$this->days &&
+            $this->hours === 0 &&
+            $this->minutes === 0 &&
+            $this->seconds === 0 &&
+            $this->microseconds === 0;
+    }
+
+    /**
+     * Register a custom macro.
+     *
+     * @example
+     * ```
+     * CarbonInterval::macro('twice', function () {
+     *   return $this->times(2);
+     * });
+     * echo CarbonInterval::hours(2)->twice();
+     * ```
+     *
+     * @param string          $name
+     * @param object|callable $macro
+     *
+     * @return void
+     */
+    public static function macro($name, $macro)
+    {
+        static::$macros[$name] = $macro;
+    }
+
+    /**
+     * Register macros from a mixin object.
+     *
+     * @example
+     * ```
+     * CarbonInterval::mixin(new class {
+     *   public function daysToHours() {
+     *     return function () {
+     *       $this->hours += $this->days;
+     *       $this->days = 0;
+     *
+     *       return $this;
+     *     };
+     *   }
+     *   public function hoursToDays() {
+     *     return function () {
+     *       $this->days += $this->hours;
+     *       $this->hours = 0;
+     *
+     *       return $this;
+     *     };
+     *   }
+     * });
+     * echo CarbonInterval::hours(5)->hoursToDays() . "\n";
+     * echo CarbonInterval::days(5)->daysToHours() . "\n";
+     * ```
+     *
+     * @param object|string $mixin
+     *
+     * @throws ReflectionException
+     *
+     * @return void
+     */
+    public static function mixin($mixin)
+    {
+        static::baseMixin($mixin);
+    }
+
+    /**
+     * Check if macro is registered.
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public static function hasMacro($name)
+    {
+        return isset(static::$macros[$name]);
+    }
+
+    /**
+     * Call given macro.
+     *
+     * @param string $name
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    protected function callMacro($name, $parameters)
+    {
+        $macro = static::$macros[$name];
+
+        if ($macro instanceof Closure) {
+            $boundMacro = @$macro->bindTo($this, static::class) ?: @$macro->bindTo(null, static::class);
+
+            return ($boundMacro ?: $macro)(...$parameters);
+        }
+
+        return $macro(...$parameters);
+    }
+
+    /**
+     * Allow fluent calls on the setters... CarbonInterval::years(3)->months(5)->day().
+     *
+     * Note: This is done using the magic method to allow static and instance methods to
+     *       have the same names.
+     *
+     * @param string $method     magic method name called
+     * @param array  $parameters parameters list
+     *
+     * @throws BadFluentSetterException|Throwable
+     *
+     * @return static
+     */
+    public function __call($method, $parameters)
+    {
+        if (static::hasMacro($method)) {
+            return static::bindMacroContext($this, function () use (&$method, &$parameters) {
+                return $this->callMacro($method, $parameters);
+            });
+        }
+
+        $roundedValue = $this->callRoundMethod($method, $parameters);
+
+        if ($roundedValue !== null) {
+            return $roundedValue;
+        }
+
+        if (preg_match('/^(?<method>add|sub)(?<unit>[A-Z].*)$/', $method, $match)) {
+            return $this->{$match['method']}($parameters[0], $match['unit']);
+        }
+
+        try {
+            $this->set($method, \count($parameters) === 0 ? 1 : $parameters[0]);
+        } catch (UnknownSetterException $exception) {
+            if ($this->localStrictModeEnabled ?? Carbon::isStrictModeEnabled()) {
+                throw new BadFluentSetterException($method, 0, $exception);
+            }
+        }
+
+        return $this;
+    }
+
+    protected function getForHumansInitialVariables($syntax, $short)
+    {
+        if (\is_array($syntax)) {
+            return $syntax;
+        }
+
+        if (\is_int($short)) {
+            return [
+                'parts' => $short,
+                'short' => false,
+            ];
+        }
+
+        if (\is_bool($syntax)) {
+            return [
+                'short' => $syntax,
+                'syntax' => CarbonInterface::DIFF_ABSOLUTE,
+            ];
+        }
+
+        return [];
+    }
+
+    /**
+     * @param mixed $syntax
+     * @param mixed $short
+     * @param mixed $parts
+     * @param mixed $options
+     *
+     * @return array
+     */
+    protected function getForHumansParameters($syntax = null, $short = false, $parts = -1, $options = null)
+    {
+        $optionalSpace = ' ';
+        $default = $this->getTranslationMessage('list.0') ?? $this->getTranslationMessage('list') ?? ' ';
+        $join = $default === '' ? '' : ' ';
+        $altNumbers = false;
+        $aUnit = false;
+        $minimumUnit = 's';
+        extract($this->getForHumansInitialVariables($syntax, $short));
+
+        if ($syntax === null) {
+            $syntax = CarbonInterface::DIFF_ABSOLUTE;
+        }
+
+        if ($parts === -1) {
+            $parts = INF;
+        }
+
+        if ($options === null) {
+            $options = static::getHumanDiffOptions();
+        }
+
+        if ($join === false) {
+            $join = ' ';
+        } elseif ($join === true) {
+            $join = [
+                $default,
+                $this->getTranslationMessage('list.1') ?? $default,
+            ];
+        }
+
+        if ($altNumbers) {
+            if ($altNumbers !== true) {
+                $language = new Language($this->locale);
+                $altNumbers = \in_array($language->getCode(), (array) $altNumbers);
+            }
+        }
+
+        if (\is_array($join)) {
+            [$default, $last] = $join;
+
+            if ($default !== ' ') {
+                $optionalSpace = '';
+            }
+
+            $join = function ($list) use ($default, $last) {
+                if (\count($list) < 2) {
+                    return implode('', $list);
+                }
+
+                $end = array_pop($list);
+
+                return implode($default, $list).$last.$end;
+            };
+        }
+
+        if (\is_string($join)) {
+            if ($join !== ' ') {
+                $optionalSpace = '';
+            }
+
+            $glue = $join;
+            $join = function ($list) use ($glue) {
+                return implode($glue, $list);
+            };
+        }
+
+        $interpolations = [
+            ':optional-space' => $optionalSpace,
+        ];
+
+        return [$syntax, $short, $parts, $options, $join, $aUnit, $altNumbers, $interpolations, $minimumUnit];
+    }
+
+    protected static function getRoundingMethodFromOptions(int $options): ?string
+    {
+        if ($options & CarbonInterface::ROUND) {
+            return 'round';
+        }
+
+        if ($options & CarbonInterface::CEIL) {
+            return 'ceil';
+        }
+
+        if ($options & CarbonInterface::FLOOR) {
+            return 'floor';
+        }
+
+        return null;
+    }
+
+    /**
+     * Returns interval values as an array where key are the unit names and values the counts.
+     *
+     * @return int[]
+     */
+    public function toArray()
+    {
+        return [
+            'years' => $this->years,
+            'months' => $this->months,
+            'weeks' => $this->weeks,
+            'days' => $this->daysExcludeWeeks,
+            'hours' => $this->hours,
+            'minutes' => $this->minutes,
+            'seconds' => $this->seconds,
+            'microseconds' => $this->microseconds,
+        ];
+    }
+
+    /**
+     * Returns interval non-zero values as an array where key are the unit names and values the counts.
+     *
+     * @return int[]
+     */
+    public function getNonZeroValues()
+    {
+        return array_filter($this->toArray(), 'intval');
+    }
+
+    /**
+     * Returns interval values as an array where key are the unit names and values the counts
+     * from the biggest non-zero one the the smallest non-zero one.
+     *
+     * @return int[]
+     */
+    public function getValuesSequence()
+    {
+        $nonZeroValues = $this->getNonZeroValues();
+
+        if ($nonZeroValues === []) {
+            return [];
+        }
+
+        $keys = array_keys($nonZeroValues);
+        $firstKey = $keys[0];
+        $lastKey = $keys[\count($keys) - 1];
+        $values = [];
+        $record = false;
+
+        foreach ($this->toArray() as $unit => $count) {
+            if ($unit === $firstKey) {
+                $record = true;
+            }
+
+            if ($record) {
+                $values[$unit] = $count;
+            }
+
+            if ($unit === $lastKey) {
+                $record = false;
+            }
+        }
+
+        return $values;
+    }
+
+    /**
+     * Get the current interval in a human readable format in the current locale.
+     *
+     * @example
+     * ```
+     * echo CarbonInterval::fromString('4d 3h 40m')->forHumans() . "\n";
+     * echo CarbonInterval::fromString('4d 3h 40m')->forHumans(['parts' => 2]) . "\n";
+     * echo CarbonInterval::fromString('4d 3h 40m')->forHumans(['parts' => 3, 'join' => true]) . "\n";
+     * echo CarbonInterval::fromString('4d 3h 40m')->forHumans(['short' => true]) . "\n";
+     * echo CarbonInterval::fromString('1d 24h')->forHumans(['join' => ' or ']) . "\n";
+     * echo CarbonInterval::fromString('1d 24h')->forHumans(['minimumUnit' => 'hour']) . "\n";
+     * ```
+     *
+     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                           - 'syntax' entry (see below)
+     *                           - 'short' entry (see below)
+     *                           - 'parts' entry (see below)
+     *                           - 'options' entry (see below)
+     *                           - 'aUnit' entry, prefer "an hour" over "1 hour" if true
+     *                           - 'join' entry determines how to join multiple parts of the string
+     *                           `  - if $join is a string, it's used as a joiner glue
+     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                           `  - if $join is an array, the first item will be the default glue, and the second item
+     *                           `    will be used instead of the glue for the last item
+     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                           `  - if $join is missing, a space will be used as glue
+     *                           - 'minimumUnit' entry determines the smallest unit of time to display can be long or
+     *                           `  short form of the units, e.g. 'hour' or 'h' (default value: s)
+     *                           if int passed, it add modifiers:
+     *                           Possible values:
+     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool      $short   displays short format of time units
+     * @param int       $parts   maximum number of parts to display (default value: -1: no limits)
+     * @param int       $options human diff options
+     *
+     * @throws Exception
+     *
+     * @return string
+     */
+    public function forHumans($syntax = null, $short = false, $parts = -1, $options = null)
+    {
+        [$syntax, $short, $parts, $options, $join, $aUnit, $altNumbers, $interpolations, $minimumUnit] = $this->getForHumansParameters($syntax, $short, $parts, $options);
+
+        $interval = [];
+
+        $syntax = (int) ($syntax === null ? CarbonInterface::DIFF_ABSOLUTE : $syntax);
+        $absolute = $syntax === CarbonInterface::DIFF_ABSOLUTE;
+        $relativeToNow = $syntax === CarbonInterface::DIFF_RELATIVE_TO_NOW;
+        $count = 1;
+        $unit = $short ? 's' : 'second';
+        $isFuture = $this->invert === 1;
+        $transId = $relativeToNow ? ($isFuture ? 'from_now' : 'ago') : ($isFuture ? 'after' : 'before');
+
+        /** @var \Symfony\Component\Translation\Translator $translator */
+        $translator = $this->getLocalTranslator();
+
+        $handleDeclensions = function ($unit, $count) use ($interpolations, $transId, $translator, $altNumbers, $absolute) {
+            if (!$absolute) {
+                // Some languages have special pluralization for past and future tense.
+                $key = $unit.'_'.$transId;
+                $result = $this->translate($key, $interpolations, $count, $translator, $altNumbers);
+
+                if ($result !== $key) {
+                    return $result;
+                }
+            }
+
+            $result = $this->translate($unit, $interpolations, $count, $translator, $altNumbers);
+
+            if ($result !== $unit) {
+                return $result;
+            }
+
+            return null;
+        };
+
+        $intervalValues = $this;
+        $method = static::getRoundingMethodFromOptions($options);
+
+        if ($method) {
+            $previousCount = INF;
+
+            while (
+                \count($intervalValues->getNonZeroValues()) > $parts &&
+                ($count = \count($keys = array_keys($intervalValues->getValuesSequence()))) > 1
+            ) {
+                $intervalValues = $this->copy()->roundUnit(
+                    $keys[min($count, $previousCount - 1) - 2],
+                    1,
+                    $method
+                );
+                $previousCount = $count;
+            }
+        }
+
+        $diffIntervalArray = [
+            ['value' => $intervalValues->years,             'unit' => 'year',        'unitShort' => 'y'],
+            ['value' => $intervalValues->months,            'unit' => 'month',       'unitShort' => 'm'],
+            ['value' => $intervalValues->weeks,             'unit' => 'week',        'unitShort' => 'w'],
+            ['value' => $intervalValues->daysExcludeWeeks,  'unit' => 'day',         'unitShort' => 'd'],
+            ['value' => $intervalValues->hours,             'unit' => 'hour',        'unitShort' => 'h'],
+            ['value' => $intervalValues->minutes,           'unit' => 'minute',      'unitShort' => 'min'],
+            ['value' => $intervalValues->seconds,           'unit' => 'second',      'unitShort' => 's'],
+            ['value' => $intervalValues->milliseconds,      'unit' => 'millisecond', 'unitShort' => 'ms'],
+            ['value' => $intervalValues->microExcludeMilli, 'unit' => 'microsecond', 'unitShort' => 'µs'],
+        ];
+
+        $transChoice = function ($short, $unitData) use ($absolute, $handleDeclensions, $translator, $aUnit, $altNumbers, $interpolations) {
+            $count = $unitData['value'];
+
+            if ($short) {
+                $result = $handleDeclensions($unitData['unitShort'], $count);
+
+                if ($result !== null) {
+                    return $result;
+                }
+            } elseif ($aUnit) {
+                $result = $handleDeclensions('a_'.$unitData['unit'], $count);
+
+                if ($result !== null) {
+                    return $result;
+                }
+            }
+
+            if (!$absolute) {
+                return $handleDeclensions($unitData['unit'], $count);
+            }
+
+            return $this->translate($unitData['unit'], $interpolations, $count, $translator, $altNumbers);
+        };
+
+        $fallbackUnit = ['second', 's'];
+        foreach ($diffIntervalArray as $diffIntervalData) {
+            if ($diffIntervalData['value'] > 0) {
+                $unit = $short ? $diffIntervalData['unitShort'] : $diffIntervalData['unit'];
+                $count = $diffIntervalData['value'];
+                $interval[] = $transChoice($short, $diffIntervalData);
+            } elseif ($options & CarbonInterface::SEQUENTIAL_PARTS_ONLY && \count($interval) > 0) {
+                break;
+            }
+
+            // break the loop after we get the required number of parts in array
+            if (\count($interval) >= $parts) {
+                break;
+            }
+
+            // break the loop after we have reached the minimum unit
+            if (\in_array($minimumUnit, [$diffIntervalData['unit'], $diffIntervalData['unitShort']])) {
+                $fallbackUnit = [$diffIntervalData['unit'], $diffIntervalData['unitShort']];
+
+                break;
+            }
+        }
+
+        if (\count($interval) === 0) {
+            if ($relativeToNow && $options & CarbonInterface::JUST_NOW) {
+                $key = 'diff_now';
+                $translation = $this->translate($key, $interpolations, null, $translator);
+
+                if ($translation !== $key) {
+                    return $translation;
+                }
+            }
+
+            $count = $options & CarbonInterface::NO_ZERO_DIFF ? 1 : 0;
+            $unit = $fallbackUnit[$short ? 1 : 0];
+            $interval[] = $this->translate($unit, $interpolations, $count, $translator, $altNumbers);
+        }
+
+        // join the interval parts by a space
+        $time = $join($interval);
+
+        unset($diffIntervalArray, $interval);
+
+        if ($absolute) {
+            return $time;
+        }
+
+        $isFuture = $this->invert === 1;
+
+        $transId = $relativeToNow ? ($isFuture ? 'from_now' : 'ago') : ($isFuture ? 'after' : 'before');
+
+        if ($parts === 1) {
+            if ($relativeToNow && $unit === 'day') {
+                if ($count === 1 && $options & CarbonInterface::ONE_DAY_WORDS) {
+                    $key = $isFuture ? 'diff_tomorrow' : 'diff_yesterday';
+                    $translation = $this->translate($key, $interpolations, null, $translator);
+
+                    if ($translation !== $key) {
+                        return $translation;
+                    }
+                }
+
+                if ($count === 2 && $options & CarbonInterface::TWO_DAY_WORDS) {
+                    $key = $isFuture ? 'diff_after_tomorrow' : 'diff_before_yesterday';
+                    $translation = $this->translate($key, $interpolations, null, $translator);
+
+                    if ($translation !== $key) {
+                        return $translation;
+                    }
+                }
+            }
+
+            $aTime = $aUnit ? $handleDeclensions('a_'.$unit, $count) : null;
+
+            $time = $aTime ?: $handleDeclensions($unit, $count) ?: $time;
+        }
+
+        $time = [':time' => $time];
+
+        return $this->translate($transId, array_merge($time, $interpolations, $time), null, $translator);
+    }
+
+    /**
+     * Format the instance as a string using the forHumans() function.
+     *
+     * @throws Exception
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        $format = $this->localToStringFormat;
+
+        if ($format) {
+            if ($format instanceof Closure) {
+                return $format($this);
+            }
+
+            return $this->format($format);
+        }
+
+        return $this->forHumans();
+    }
+
+    /**
+     * Return native DateInterval PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(CarbonInterval::hours(2)->toDateInterval());
+     * ```
+     *
+     * @return DateInterval
+     */
+    public function toDateInterval()
+    {
+        return self::castIntervalToClass($this, DateInterval::class);
+    }
+
+    /**
+     * Convert the interval to a CarbonPeriod.
+     *
+     * @param array ...$params Start date, [end date or recurrences] and optional settings.
+     *
+     * @return CarbonPeriod
+     */
+    public function toPeriod(...$params)
+    {
+        return CarbonPeriod::create($this, ...$params);
+    }
+
+    /**
+     * Invert the interval.
+     *
+     * @param bool|int $inverted if a parameter is passed, the passed value casted as 1 or 0 is used
+     *                           as the new value of the ->invert property.
+     *
+     * @return $this
+     */
+    public function invert($inverted = null)
+    {
+        $this->invert = (\func_num_args() === 0 ? !$this->invert : $inverted) ? 1 : 0;
+
+        return $this;
+    }
+
+    protected function solveNegativeInterval()
+    {
+        if (!$this->isEmpty() && $this->years <= 0 && $this->months <= 0 && $this->dayz <= 0 && $this->hours <= 0 && $this->minutes <= 0 && $this->seconds <= 0 && $this->microseconds <= 0) {
+            $this->years *= -1;
+            $this->months *= -1;
+            $this->dayz *= -1;
+            $this->hours *= -1;
+            $this->minutes *= -1;
+            $this->seconds *= -1;
+            $this->microseconds *= -1;
+            $this->invert();
+        }
+
+        return $this;
+    }
+
+    /**
+     * Add the passed interval to the current instance.
+     *
+     * @param string|DateInterval $unit
+     * @param int|float           $value
+     *
+     * @return $this
+     */
+    public function add($unit, $value = 1)
+    {
+        if (is_numeric($unit)) {
+            [$value, $unit] = [$unit, $value];
+        }
+
+        if (\is_string($unit) && !preg_match('/^\s*\d/', $unit)) {
+            $unit = "$value $unit";
+            $value = 1;
+        }
+
+        $interval = static::make($unit);
+
+        if (!$interval) {
+            throw new InvalidIntervalException('This type of data cannot be added/subtracted.');
+        }
+
+        if ($value !== 1) {
+            $interval->times($value);
+        }
+
+        $sign = ($this->invert === 1) !== ($interval->invert === 1) ? -1 : 1;
+        $this->years += $interval->y * $sign;
+        $this->months += $interval->m * $sign;
+        $this->dayz += ($interval->days === false ? $interval->d : $interval->days) * $sign;
+        $this->hours += $interval->h * $sign;
+        $this->minutes += $interval->i * $sign;
+        $this->seconds += $interval->s * $sign;
+        $this->microseconds += $interval->microseconds * $sign;
+
+        $this->solveNegativeInterval();
+
+        return $this;
+    }
+
+    /**
+     * Subtract the passed interval to the current instance.
+     *
+     * @param string|DateInterval $unit
+     * @param int|float           $value
+     *
+     * @return $this
+     */
+    public function sub($unit, $value = 1)
+    {
+        if (is_numeric($unit)) {
+            [$value, $unit] = [$unit, $value];
+        }
+
+        return $this->add($unit, -(float) $value);
+    }
+
+    /**
+     * Subtract the passed interval to the current instance.
+     *
+     * @param string|DateInterval $unit
+     * @param int|float           $value
+     *
+     * @return $this
+     */
+    public function subtract($unit, $value = 1)
+    {
+        return $this->sub($unit, $value);
+    }
+
+    /**
+     * Add given parameters to the current interval.
+     *
+     * @param int $years
+     * @param int $months
+     * @param int|float $weeks
+     * @param int|float $days
+     * @param int|float $hours
+     * @param int|float $minutes
+     * @param int|float $seconds
+     * @param int|float $microseconds
+     *
+     * @return $this
+     */
+    public function plus(
+        $years = 0,
+        $months = 0,
+        $weeks = 0,
+        $days = 0,
+        $hours = 0,
+        $minutes = 0,
+        $seconds = 0,
+        $microseconds = 0
+    ): self {
+        return $this->add("
+            $years years $months months $weeks weeks $days days
+            $hours hours $minutes minutes $seconds seconds $microseconds microseconds
+        ");
+    }
+
+    /**
+     * Add given parameters to the current interval.
+     *
+     * @param int $years
+     * @param int $months
+     * @param int|float $weeks
+     * @param int|float $days
+     * @param int|float $hours
+     * @param int|float $minutes
+     * @param int|float $seconds
+     * @param int|float $microseconds
+     *
+     * @return $this
+     */
+    public function minus(
+        $years = 0,
+        $months = 0,
+        $weeks = 0,
+        $days = 0,
+        $hours = 0,
+        $minutes = 0,
+        $seconds = 0,
+        $microseconds = 0
+    ): self {
+        return $this->sub("
+            $years years $months months $weeks weeks $days days
+            $hours hours $minutes minutes $seconds seconds $microseconds microseconds
+        ");
+    }
+
+    /**
+     * Multiply current instance given number of times. times() is naive, it multiplies each unit
+     * (so day can be greater than 31, hour can be greater than 23, etc.) and the result is rounded
+     * separately for each unit.
+     *
+     * Use times() when you want a fast and approximated calculation that does not cascade units.
+     *
+     * For a precise and cascaded calculation,
+     *
+     * @see multiply()
+     *
+     * @param float|int $factor
+     *
+     * @return $this
+     */
+    public function times($factor)
+    {
+        if ($factor < 0) {
+            $this->invert = $this->invert ? 0 : 1;
+            $factor = -$factor;
+        }
+
+        $this->years = (int) round($this->years * $factor);
+        $this->months = (int) round($this->months * $factor);
+        $this->dayz = (int) round($this->dayz * $factor);
+        $this->hours = (int) round($this->hours * $factor);
+        $this->minutes = (int) round($this->minutes * $factor);
+        $this->seconds = (int) round($this->seconds * $factor);
+        $this->microseconds = (int) round($this->microseconds * $factor);
+
+        return $this;
+    }
+
+    /**
+     * Divide current instance by a given divider. shares() is naive, it divides each unit separately
+     * and the result is rounded for each unit. So 5 hours and 20 minutes shared by 3 becomes 2 hours
+     * and 7 minutes.
+     *
+     * Use shares() when you want a fast and approximated calculation that does not cascade units.
+     *
+     * For a precise and cascaded calculation,
+     *
+     * @see divide()
+     *
+     * @param float|int $divider
+     *
+     * @return $this
+     */
+    public function shares($divider)
+    {
+        return $this->times(1 / $divider);
+    }
+
+    protected function copyProperties(self $interval, $ignoreSign = false)
+    {
+        $this->years = $interval->years;
+        $this->months = $interval->months;
+        $this->dayz = $interval->dayz;
+        $this->hours = $interval->hours;
+        $this->minutes = $interval->minutes;
+        $this->seconds = $interval->seconds;
+        $this->microseconds = $interval->microseconds;
+
+        if (!$ignoreSign) {
+            $this->invert = $interval->invert;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Multiply and cascade current instance by a given factor.
+     *
+     * @param float|int $factor
+     *
+     * @return $this
+     */
+    public function multiply($factor)
+    {
+        if ($factor < 0) {
+            $this->invert = $this->invert ? 0 : 1;
+            $factor = -$factor;
+        }
+
+        $yearPart = (int) floor($this->years * $factor); // Split calculation to prevent imprecision
+
+        if ($yearPart) {
+            $this->years -= $yearPart / $factor;
+        }
+
+        return $this->copyProperties(
+            static::create($yearPart)
+                ->microseconds(abs($this->totalMicroseconds) * $factor)
+                ->cascade(),
+            true
+        );
+    }
+
+    /**
+     * Divide and cascade current instance by a given divider.
+     *
+     * @param float|int $divider
+     *
+     * @return $this
+     */
+    public function divide($divider)
+    {
+        return $this->multiply(1 / $divider);
+    }
+
+    /**
+     * Get the interval_spec string of a date interval.
+     *
+     * @param DateInterval $interval
+     *
+     * @return string
+     */
+    public static function getDateIntervalSpec(DateInterval $interval)
+    {
+        $date = array_filter([
+            static::PERIOD_YEARS => abs($interval->y),
+            static::PERIOD_MONTHS => abs($interval->m),
+            static::PERIOD_DAYS => abs($interval->d),
+        ]);
+
+        $time = array_filter([
+            static::PERIOD_HOURS => abs($interval->h),
+            static::PERIOD_MINUTES => abs($interval->i),
+            static::PERIOD_SECONDS => abs($interval->s),
+        ]);
+
+        $specString = static::PERIOD_PREFIX;
+
+        foreach ($date as $key => $value) {
+            $specString .= $value.$key;
+        }
+
+        if (\count($time) > 0) {
+            $specString .= static::PERIOD_TIME_PREFIX;
+            foreach ($time as $key => $value) {
+                $specString .= $value.$key;
+            }
+        }
+
+        return $specString === static::PERIOD_PREFIX ? 'PT0S' : $specString;
+    }
+
+    /**
+     * Get the interval_spec string.
+     *
+     * @return string
+     */
+    public function spec()
+    {
+        return static::getDateIntervalSpec($this);
+    }
+
+    /**
+     * Comparing 2 date intervals.
+     *
+     * @param DateInterval $first
+     * @param DateInterval $second
+     *
+     * @return int
+     */
+    public static function compareDateIntervals(DateInterval $first, DateInterval $second)
+    {
+        $current = Carbon::now();
+        $passed = $current->avoidMutation()->add($second);
+        $current->add($first);
+
+        if ($current < $passed) {
+            return -1;
+        }
+        if ($current > $passed) {
+            return 1;
+        }
+
+        return 0;
+    }
+
+    /**
+     * Comparing with passed interval.
+     *
+     * @param DateInterval $interval
+     *
+     * @return int
+     */
+    public function compare(DateInterval $interval)
+    {
+        return static::compareDateIntervals($this, $interval);
+    }
+
+    private function invertCascade(array $values)
+    {
+        return $this->set(array_map(function ($value) {
+            return -$value;
+        }, $values))->doCascade(true)->invert();
+    }
+
+    private function doCascade(bool $deep)
+    {
+        $originalData = $this->toArray();
+        $originalData['milliseconds'] = (int) ($originalData['microseconds'] / static::getMicrosecondsPerMillisecond());
+        $originalData['microseconds'] = $originalData['microseconds'] % static::getMicrosecondsPerMillisecond();
+        $originalData['daysExcludeWeeks'] = $originalData['days'];
+        unset($originalData['days']);
+        $newData = $originalData;
+
+        foreach (static::getFlipCascadeFactors() as $source => [$target, $factor]) {
+            foreach (['source', 'target'] as $key) {
+                if ($$key === 'dayz') {
+                    $$key = 'daysExcludeWeeks';
+                }
+            }
+
+            $value = $newData[$source];
+            $modulo = ($factor + ($value % $factor)) % $factor;
+            $newData[$source] = $modulo;
+            $newData[$target] += ($value - $modulo) / $factor;
+        }
+
+        $positive = null;
+
+        if (!$deep) {
+            foreach ($newData as $value) {
+                if ($value) {
+                    if ($positive === null) {
+                        $positive = ($value > 0);
+
+                        continue;
+                    }
+
+                    if (($value > 0) !== $positive) {
+                        return $this->invertCascade($originalData)
+                            ->solveNegativeInterval();
+                    }
+                }
+            }
+        }
+
+        return $this->set($newData)
+            ->solveNegativeInterval();
+    }
+
+    /**
+     * Convert overflowed values into bigger units.
+     *
+     * @return $this
+     */
+    public function cascade()
+    {
+        return $this->doCascade(false);
+    }
+
+    public function hasNegativeValues(): bool
+    {
+        foreach ($this->toArray() as $value) {
+            if ($value < 0) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    public function hasPositiveValues(): bool
+    {
+        foreach ($this->toArray() as $value) {
+            if ($value > 0) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Get amount of given unit equivalent to the interval.
+     *
+     * @param string $unit
+     *
+     * @throws UnknownUnitException|UnitNotConfiguredException
+     *
+     * @return float
+     */
+    public function total($unit)
+    {
+        $realUnit = $unit = strtolower($unit);
+
+        if (\in_array($unit, ['days', 'weeks'])) {
+            $realUnit = 'dayz';
+        } elseif (!\in_array($unit, ['microseconds', 'milliseconds', 'seconds', 'minutes', 'hours', 'dayz', 'months', 'years'])) {
+            throw new UnknownUnitException($unit);
+        }
+
+        $result = 0;
+        $cumulativeFactor = 0;
+        $unitFound = false;
+        $factors = static::getFlipCascadeFactors();
+        $daysPerWeek = static::getDaysPerWeek();
+
+        $values = [
+            'years' => $this->years,
+            'months' => $this->months,
+            'weeks' => (int) ($this->d / $daysPerWeek),
+            'dayz' => $this->d % $daysPerWeek,
+            'hours' => $this->hours,
+            'minutes' => $this->minutes,
+            'seconds' => $this->seconds,
+            'milliseconds' => (int) ($this->microseconds / Carbon::MICROSECONDS_PER_MILLISECOND),
+            'microseconds' => $this->microseconds % Carbon::MICROSECONDS_PER_MILLISECOND,
+        ];
+
+        if (isset($factors['dayz']) && $factors['dayz'][0] !== 'weeks') {
+            $values['dayz'] += $values['weeks'] * $daysPerWeek;
+            $values['weeks'] = 0;
+        }
+
+        foreach ($factors as $source => [$target, $factor]) {
+            if ($source === $realUnit) {
+                $unitFound = true;
+                $value = $values[$source];
+                $result += $value;
+                $cumulativeFactor = 1;
+            }
+
+            if ($factor === false) {
+                if ($unitFound) {
+                    break;
+                }
+
+                $result = 0;
+                $cumulativeFactor = 0;
+
+                continue;
+            }
+
+            if ($target === $realUnit) {
+                $unitFound = true;
+            }
+
+            if ($cumulativeFactor) {
+                $cumulativeFactor *= $factor;
+                $result += $values[$target] * $cumulativeFactor;
+
+                continue;
+            }
+
+            $value = $values[$source];
+
+            $result = ($result + $value) / $factor;
+        }
+
+        if (isset($target) && !$cumulativeFactor) {
+            $result += $values[$target];
+        }
+
+        if (!$unitFound) {
+            throw new UnitNotConfiguredException($unit);
+        }
+
+        if ($this->invert) {
+            $result *= -1;
+        }
+
+        if ($unit === 'weeks') {
+            return $result / $daysPerWeek;
+        }
+
+        return $result;
+    }
+
+    /**
+     * Determines if the instance is equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @see equalTo()
+     *
+     * @return bool
+     */
+    public function eq($interval): bool
+    {
+        return $this->equalTo($interval);
+    }
+
+    /**
+     * Determines if the instance is equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @return bool
+     */
+    public function equalTo($interval): bool
+    {
+        $interval = $this->resolveInterval($interval);
+
+        return $interval !== null && $this->totalMicroseconds === $interval->totalMicroseconds;
+    }
+
+    /**
+     * Determines if the instance is not equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @see notEqualTo()
+     *
+     * @return bool
+     */
+    public function ne($interval): bool
+    {
+        return $this->notEqualTo($interval);
+    }
+
+    /**
+     * Determines if the instance is not equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @return bool
+     */
+    public function notEqualTo($interval): bool
+    {
+        return !$this->eq($interval);
+    }
+
+    /**
+     * Determines if the instance is greater (longer) than another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @see greaterThan()
+     *
+     * @return bool
+     */
+    public function gt($interval): bool
+    {
+        return $this->greaterThan($interval);
+    }
+
+    /**
+     * Determines if the instance is greater (longer) than another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @return bool
+     */
+    public function greaterThan($interval): bool
+    {
+        $interval = $this->resolveInterval($interval);
+
+        return $interval === null || $this->totalMicroseconds > $interval->totalMicroseconds;
+    }
+
+    /**
+     * Determines if the instance is greater (longer) than or equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @see greaterThanOrEqualTo()
+     *
+     * @return bool
+     */
+    public function gte($interval): bool
+    {
+        return $this->greaterThanOrEqualTo($interval);
+    }
+
+    /**
+     * Determines if the instance is greater (longer) than or equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @return bool
+     */
+    public function greaterThanOrEqualTo($interval): bool
+    {
+        return $this->greaterThan($interval) || $this->equalTo($interval);
+    }
+
+    /**
+     * Determines if the instance is less (shorter) than another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @see lessThan()
+     *
+     * @return bool
+     */
+    public function lt($interval): bool
+    {
+        return $this->lessThan($interval);
+    }
+
+    /**
+     * Determines if the instance is less (shorter) than another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @return bool
+     */
+    public function lessThan($interval): bool
+    {
+        $interval = $this->resolveInterval($interval);
+
+        return $interval !== null && $this->totalMicroseconds < $interval->totalMicroseconds;
+    }
+
+    /**
+     * Determines if the instance is less (shorter) than or equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @see lessThanOrEqualTo()
+     *
+     * @return bool
+     */
+    public function lte($interval): bool
+    {
+        return $this->lessThanOrEqualTo($interval);
+    }
+
+    /**
+     * Determines if the instance is less (shorter) than or equal to another
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval
+     *
+     * @return bool
+     */
+    public function lessThanOrEqualTo($interval): bool
+    {
+        return $this->lessThan($interval) || $this->equalTo($interval);
+    }
+
+    /**
+     * Determines if the instance is between two others.
+     *
+     * The third argument allow you to specify if bounds are included or not (true by default)
+     * but for when you including/excluding bounds may produce different results in your application,
+     * we recommend to use the explicit methods ->betweenIncluded() or ->betweenExcluded() instead.
+     *
+     * @example
+     * ```
+     * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::days(3)); // true
+     * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::hours(36)); // false
+     * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::days(2)); // true
+     * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::days(2), false); // false
+     * ```
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval1
+     * @param CarbonInterval|DateInterval|mixed $interval2
+     * @param bool                              $equal     Indicates if an equal to comparison should be done
+     *
+     * @return bool
+     */
+    public function between($interval1, $interval2, $equal = true): bool
+    {
+        return $equal
+            ? $this->greaterThanOrEqualTo($interval1) && $this->lessThanOrEqualTo($interval2)
+            : $this->greaterThan($interval1) && $this->lessThan($interval2);
+    }
+
+    /**
+     * Determines if the instance is between two others, bounds excluded.
+     *
+     * @example
+     * ```
+     * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::days(3)); // true
+     * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::hours(36)); // false
+     * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::days(2)); // true
+     * ```
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval1
+     * @param CarbonInterval|DateInterval|mixed $interval2
+     *
+     * @return bool
+     */
+    public function betweenIncluded($interval1, $interval2): bool
+    {
+        return $this->between($interval1, $interval2, true);
+    }
+
+    /**
+     * Determines if the instance is between two others, bounds excluded.
+     *
+     * @example
+     * ```
+     * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::days(3)); // true
+     * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::hours(36)); // false
+     * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::days(2)); // false
+     * ```
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval1
+     * @param CarbonInterval|DateInterval|mixed $interval2
+     *
+     * @return bool
+     */
+    public function betweenExcluded($interval1, $interval2): bool
+    {
+        return $this->between($interval1, $interval2, false);
+    }
+
+    /**
+     * Determines if the instance is between two others
+     *
+     * @example
+     * ```
+     * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::days(3)); // true
+     * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::hours(36)); // false
+     * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::days(2)); // true
+     * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::days(2), false); // false
+     * ```
+     *
+     * @param CarbonInterval|DateInterval|mixed $interval1
+     * @param CarbonInterval|DateInterval|mixed $interval2
+     * @param bool                              $equal     Indicates if an equal to comparison should be done
+     *
+     * @return bool
+     */
+    public function isBetween($interval1, $interval2, $equal = true): bool
+    {
+        return $this->between($interval1, $interval2, $equal);
+    }
+
+    /**
+     * Round the current instance at the given unit with given precision if specified and the given function.
+     *
+     * @param string                             $unit
+     * @param float|int|string|DateInterval|null $precision
+     * @param string                             $function
+     *
+     * @throws Exception
+     *
+     * @return $this
+     */
+    public function roundUnit($unit, $precision = 1, $function = 'round')
+    {
+        $base = CarbonImmutable::parse('2000-01-01 00:00:00', 'UTC')
+            ->roundUnit($unit, $precision, $function);
+        $next = $base->add($this);
+        $inverted = $next < $base;
+
+        if ($inverted) {
+            $next = $base->sub($this);
+        }
+
+        $this->copyProperties(
+            $next
+                ->roundUnit($unit, $precision, $function)
+                ->diffAsCarbonInterval($base)
+        );
+
+        return $this->invert($inverted);
+    }
+
+    /**
+     * Truncate the current instance at the given unit with given precision if specified.
+     *
+     * @param string                             $unit
+     * @param float|int|string|DateInterval|null $precision
+     *
+     * @throws Exception
+     *
+     * @return $this
+     */
+    public function floorUnit($unit, $precision = 1)
+    {
+        return $this->roundUnit($unit, $precision, 'floor');
+    }
+
+    /**
+     * Ceil the current instance at the given unit with given precision if specified.
+     *
+     * @param string                             $unit
+     * @param float|int|string|DateInterval|null $precision
+     *
+     * @throws Exception
+     *
+     * @return $this
+     */
+    public function ceilUnit($unit, $precision = 1)
+    {
+        return $this->roundUnit($unit, $precision, 'ceil');
+    }
+
+    /**
+     * Round the current instance second with given precision if specified.
+     *
+     * @param float|int|string|DateInterval|null $precision
+     * @param string                             $function
+     *
+     * @throws Exception
+     *
+     * @return $this
+     */
+    public function round($precision = 1, $function = 'round')
+    {
+        return $this->roundWith($precision, $function);
+    }
+
+    /**
+     * Round the current instance second with given precision if specified.
+     *
+     * @param float|int|string|DateInterval|null $precision
+     *
+     * @throws Exception
+     *
+     * @return $this
+     */
+    public function floor($precision = 1)
+    {
+        return $this->round($precision, 'floor');
+    }
+
+    /**
+     * Ceil the current instance second with given precision if specified.
+     *
+     * @param float|int|string|DateInterval|null $precision
+     *
+     * @throws Exception
+     *
+     * @return $this
+     */
+    public function ceil($precision = 1)
+    {
+        return $this->round($precision, 'ceil');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php
new file mode 100644
index 0000000..70e6ba4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php
@@ -0,0 +1,2498 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Carbon\Exceptions\InvalidCastException;
+use Carbon\Exceptions\InvalidIntervalException;
+use Carbon\Exceptions\InvalidPeriodDateException;
+use Carbon\Exceptions\InvalidPeriodParameterException;
+use Carbon\Exceptions\NotACarbonClassException;
+use Carbon\Exceptions\NotAPeriodException;
+use Carbon\Exceptions\UnknownGetterException;
+use Carbon\Exceptions\UnknownMethodException;
+use Carbon\Exceptions\UnreachableException;
+use Carbon\Traits\IntervalRounding;
+use Carbon\Traits\Mixin;
+use Carbon\Traits\Options;
+use Closure;
+use Countable;
+use DateInterval;
+use DatePeriod;
+use DateTime;
+use DateTimeInterface;
+use InvalidArgumentException;
+use Iterator;
+use JsonSerializable;
+use ReflectionException;
+use ReturnTypeWillChange;
+use RuntimeException;
+
+/**
+ * Substitution of DatePeriod with some modifications and many more features.
+ *
+ * @property-read int|float $recurrences number of recurrences (if end not set).
+ * @property-read bool $include_start_date rather the start date is included in the iteration.
+ * @property-read bool $include_end_date rather the end date is included in the iteration (if recurrences not set).
+ * @property-read CarbonInterface $start Period start date.
+ * @property-read CarbonInterface $current Current date from the iteration.
+ * @property-read CarbonInterface $end Period end date.
+ * @property-read CarbonInterval $interval Underlying date interval instance. Always present, one day by default.
+ *
+ * @method static CarbonPeriod start($date, $inclusive = null) Create instance specifying start date or modify the start date if called on an instance.
+ * @method static CarbonPeriod since($date, $inclusive = null) Alias for start().
+ * @method static CarbonPeriod sinceNow($inclusive = null) Create instance with start date set to now or set the start date to now if called on an instance.
+ * @method static CarbonPeriod end($date = null, $inclusive = null) Create instance specifying end date or modify the end date if called on an instance.
+ * @method static CarbonPeriod until($date = null, $inclusive = null) Alias for end().
+ * @method static CarbonPeriod untilNow($inclusive = null) Create instance with end date set to now or set the end date to now if called on an instance.
+ * @method static CarbonPeriod dates($start, $end = null) Create instance with start and end dates or modify the start and end dates if called on an instance.
+ * @method static CarbonPeriod between($start, $end = null) Create instance with start and end dates or modify the start and end dates if called on an instance.
+ * @method static CarbonPeriod recurrences($recurrences = null) Create instance with maximum number of recurrences or modify the number of recurrences if called on an instance.
+ * @method static CarbonPeriod times($recurrences = null) Alias for recurrences().
+ * @method static CarbonPeriod options($options = null) Create instance with options or modify the options if called on an instance.
+ * @method static CarbonPeriod toggle($options, $state = null) Create instance with options toggled on or off, or toggle options if called on an instance.
+ * @method static CarbonPeriod filter($callback, $name = null) Create instance with filter added to the stack or append a filter if called on an instance.
+ * @method static CarbonPeriod push($callback, $name = null) Alias for filter().
+ * @method static CarbonPeriod prepend($callback, $name = null) Create instance with filter prepended to the stack or prepend a filter if called on an instance.
+ * @method static CarbonPeriod filters(array $filters = []) Create instance with filters stack or replace the whole filters stack if called on an instance.
+ * @method static CarbonPeriod interval($interval) Create instance with given date interval or modify the interval if called on an instance.
+ * @method static CarbonPeriod each($interval) Create instance with given date interval or modify the interval if called on an instance.
+ * @method static CarbonPeriod every($interval) Create instance with given date interval or modify the interval if called on an instance.
+ * @method static CarbonPeriod step($interval) Create instance with given date interval or modify the interval if called on an instance.
+ * @method static CarbonPeriod stepBy($interval) Create instance with given date interval or modify the interval if called on an instance.
+ * @method static CarbonPeriod invert() Create instance with inverted date interval or invert the interval if called on an instance.
+ * @method static CarbonPeriod years($years = 1) Create instance specifying a number of years for date interval or replace the interval by the given a number of years if called on an instance.
+ * @method static CarbonPeriod year($years = 1) Alias for years().
+ * @method static CarbonPeriod months($months = 1) Create instance specifying a number of months for date interval or replace the interval by the given a number of months if called on an instance.
+ * @method static CarbonPeriod month($months = 1) Alias for months().
+ * @method static CarbonPeriod weeks($weeks = 1) Create instance specifying a number of weeks for date interval or replace the interval by the given a number of weeks if called on an instance.
+ * @method static CarbonPeriod week($weeks = 1) Alias for weeks().
+ * @method static CarbonPeriod days($days = 1) Create instance specifying a number of days for date interval or replace the interval by the given a number of days if called on an instance.
+ * @method static CarbonPeriod dayz($days = 1) Alias for days().
+ * @method static CarbonPeriod day($days = 1) Alias for days().
+ * @method static CarbonPeriod hours($hours = 1) Create instance specifying a number of hours for date interval or replace the interval by the given a number of hours if called on an instance.
+ * @method static CarbonPeriod hour($hours = 1) Alias for hours().
+ * @method static CarbonPeriod minutes($minutes = 1) Create instance specifying a number of minutes for date interval or replace the interval by the given a number of minutes if called on an instance.
+ * @method static CarbonPeriod minute($minutes = 1) Alias for minutes().
+ * @method static CarbonPeriod seconds($seconds = 1) Create instance specifying a number of seconds for date interval or replace the interval by the given a number of seconds if called on an instance.
+ * @method static CarbonPeriod second($seconds = 1) Alias for seconds().
+ * @method $this roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function.
+ * @method $this roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function.
+ * @method $this floorYear(float $precision = 1) Truncate the current instance year with given precision.
+ * @method $this floorYears(float $precision = 1) Truncate the current instance year with given precision.
+ * @method $this ceilYear(float $precision = 1) Ceil the current instance year with given precision.
+ * @method $this ceilYears(float $precision = 1) Ceil the current instance year with given precision.
+ * @method $this roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function.
+ * @method $this roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function.
+ * @method $this floorMonth(float $precision = 1) Truncate the current instance month with given precision.
+ * @method $this floorMonths(float $precision = 1) Truncate the current instance month with given precision.
+ * @method $this ceilMonth(float $precision = 1) Ceil the current instance month with given precision.
+ * @method $this ceilMonths(float $precision = 1) Ceil the current instance month with given precision.
+ * @method $this roundWeek(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this roundWeeks(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this floorWeek(float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this floorWeeks(float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this ceilWeek(float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this ceilWeeks(float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
+ * @method $this floorDay(float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this floorDays(float $precision = 1) Truncate the current instance day with given precision.
+ * @method $this ceilDay(float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this ceilDays(float $precision = 1) Ceil the current instance day with given precision.
+ * @method $this roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function.
+ * @method $this roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function.
+ * @method $this floorHour(float $precision = 1) Truncate the current instance hour with given precision.
+ * @method $this floorHours(float $precision = 1) Truncate the current instance hour with given precision.
+ * @method $this ceilHour(float $precision = 1) Ceil the current instance hour with given precision.
+ * @method $this ceilHours(float $precision = 1) Ceil the current instance hour with given precision.
+ * @method $this roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function.
+ * @method $this roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function.
+ * @method $this floorMinute(float $precision = 1) Truncate the current instance minute with given precision.
+ * @method $this floorMinutes(float $precision = 1) Truncate the current instance minute with given precision.
+ * @method $this ceilMinute(float $precision = 1) Ceil the current instance minute with given precision.
+ * @method $this ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision.
+ * @method $this roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function.
+ * @method $this roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function.
+ * @method $this floorSecond(float $precision = 1) Truncate the current instance second with given precision.
+ * @method $this floorSeconds(float $precision = 1) Truncate the current instance second with given precision.
+ * @method $this ceilSecond(float $precision = 1) Ceil the current instance second with given precision.
+ * @method $this ceilSeconds(float $precision = 1) Ceil the current instance second with given precision.
+ * @method $this roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function.
+ * @method $this roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function.
+ * @method $this floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision.
+ * @method $this floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision.
+ * @method $this ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision.
+ * @method $this ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision.
+ * @method $this roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function.
+ * @method $this roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function.
+ * @method $this floorCentury(float $precision = 1) Truncate the current instance century with given precision.
+ * @method $this floorCenturies(float $precision = 1) Truncate the current instance century with given precision.
+ * @method $this ceilCentury(float $precision = 1) Ceil the current instance century with given precision.
+ * @method $this ceilCenturies(float $precision = 1) Ceil the current instance century with given precision.
+ * @method $this roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function.
+ * @method $this roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function.
+ * @method $this floorDecade(float $precision = 1) Truncate the current instance decade with given precision.
+ * @method $this floorDecades(float $precision = 1) Truncate the current instance decade with given precision.
+ * @method $this ceilDecade(float $precision = 1) Ceil the current instance decade with given precision.
+ * @method $this ceilDecades(float $precision = 1) Ceil the current instance decade with given precision.
+ * @method $this roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function.
+ * @method $this roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function.
+ * @method $this floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision.
+ * @method $this floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision.
+ * @method $this ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision.
+ * @method $this ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision.
+ * @method $this roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function.
+ * @method $this roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function.
+ * @method $this floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision.
+ * @method $this floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision.
+ * @method $this ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision.
+ * @method $this ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision.
+ * @method $this roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function.
+ * @method $this roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function.
+ * @method $this floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision.
+ * @method $this floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision.
+ * @method $this ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision.
+ * @method $this ceilMicroseconds(float $precision = 1) Ceil the current instance microsecond with given precision.
+ */
+class CarbonPeriod implements Iterator, Countable, JsonSerializable
+{
+    use IntervalRounding;
+    use Mixin {
+        Mixin::mixin as baseMixin;
+    }
+    use Options;
+
+    /**
+     * Built-in filters.
+     *
+     * @var string
+     */
+    public const RECURRENCES_FILTER = [self::class, 'filterRecurrences'];
+    public const END_DATE_FILTER = [self::class, 'filterEndDate'];
+
+    /**
+     * Special value which can be returned by filters to end iteration. Also a filter.
+     *
+     * @var string
+     */
+    public const END_ITERATION = [self::class, 'endIteration'];
+
+    /**
+     * Exclude start date from iteration.
+     *
+     * @var int
+     */
+    public const EXCLUDE_START_DATE = 1;
+
+    /**
+     * Exclude end date from iteration.
+     *
+     * @var int
+     */
+    public const EXCLUDE_END_DATE = 2;
+
+    /**
+     * Yield CarbonImmutable instances.
+     *
+     * @var int
+     */
+    public const IMMUTABLE = 4;
+
+    /**
+     * Number of maximum attempts before giving up on finding next valid date.
+     *
+     * @var int
+     */
+    public const NEXT_MAX_ATTEMPTS = 1000;
+
+    /**
+     * Number of maximum attempts before giving up on finding end date.
+     *
+     * @var int
+     */
+    public const END_MAX_ATTEMPTS = 10000;
+
+    /**
+     * The registered macros.
+     *
+     * @var array
+     */
+    protected static $macros = [];
+
+    /**
+     * Date class of iteration items.
+     *
+     * @var string
+     */
+    protected $dateClass = Carbon::class;
+
+    /**
+     * Underlying date interval instance. Always present, one day by default.
+     *
+     * @var CarbonInterval
+     */
+    protected $dateInterval;
+
+    /**
+     * Whether current date interval was set by default.
+     *
+     * @var bool
+     */
+    protected $isDefaultInterval;
+
+    /**
+     * The filters stack.
+     *
+     * @var array
+     */
+    protected $filters = [];
+
+    /**
+     * Period start date. Applied on rewind. Always present, now by default.
+     *
+     * @var CarbonInterface
+     */
+    protected $startDate;
+
+    /**
+     * Period end date. For inverted interval should be before the start date. Applied via a filter.
+     *
+     * @var CarbonInterface|null
+     */
+    protected $endDate;
+
+    /**
+     * Limit for number of recurrences. Applied via a filter.
+     *
+     * @var int|null
+     */
+    protected $recurrences;
+
+    /**
+     * Iteration options.
+     *
+     * @var int
+     */
+    protected $options;
+
+    /**
+     * Index of current date. Always sequential, even if some dates are skipped by filters.
+     * Equal to null only before the first iteration.
+     *
+     * @var int
+     */
+    protected $key;
+
+    /**
+     * Current date. May temporarily hold unaccepted value when looking for a next valid date.
+     * Equal to null only before the first iteration.
+     *
+     * @var CarbonInterface
+     */
+    protected $current;
+
+    /**
+     * Timezone of current date. Taken from the start date.
+     *
+     * @var \DateTimeZone|null
+     */
+    protected $timezone;
+
+    /**
+     * The cached validation result for current date.
+     *
+     * @var bool|string|null
+     */
+    protected $validationResult;
+
+    /**
+     * Timezone handler for settings() method.
+     *
+     * @var mixed
+     */
+    protected $tzName;
+
+    /**
+     * Make a CarbonPeriod instance from given variable if possible.
+     *
+     * @param mixed $var
+     *
+     * @return static|null
+     */
+    public static function make($var)
+    {
+        try {
+            return static::instance($var);
+        } catch (NotAPeriodException $e) {
+            return static::create($var);
+        }
+    }
+
+    /**
+     * Create a new instance from a DatePeriod or CarbonPeriod object.
+     *
+     * @param CarbonPeriod|DatePeriod $period
+     *
+     * @return static
+     */
+    public static function instance($period)
+    {
+        if ($period instanceof static) {
+            return $period->copy();
+        }
+
+        if ($period instanceof self) {
+            return new static(
+                $period->getStartDate(),
+                $period->getEndDate() ?: $period->getRecurrences(),
+                $period->getDateInterval(),
+                $period->getOptions()
+            );
+        }
+
+        if ($period instanceof DatePeriod) {
+            return new static(
+                $period->start,
+                $period->end ?: ($period->recurrences - 1),
+                $period->interval,
+                $period->include_start_date ? 0 : static::EXCLUDE_START_DATE
+            );
+        }
+
+        $class = \get_called_class();
+        $type = \gettype($period);
+
+        throw new NotAPeriodException(
+            'Argument 1 passed to '.$class.'::'.__METHOD__.'() '.
+            'must be an instance of DatePeriod or '.$class.', '.
+            ($type === 'object' ? 'instance of '.\get_class($period) : $type).' given.'
+        );
+    }
+
+    /**
+     * Create a new instance.
+     *
+     * @return static
+     */
+    public static function create(...$params)
+    {
+        return static::createFromArray($params);
+    }
+
+    /**
+     * Create a new instance from an array of parameters.
+     *
+     * @param array $params
+     *
+     * @return static
+     */
+    public static function createFromArray(array $params)
+    {
+        return new static(...$params);
+    }
+
+    /**
+     * Create CarbonPeriod from ISO 8601 string.
+     *
+     * @param string   $iso
+     * @param int|null $options
+     *
+     * @return static
+     */
+    public static function createFromIso($iso, $options = null)
+    {
+        $params = static::parseIso8601($iso);
+
+        $instance = static::createFromArray($params);
+
+        if ($options !== null) {
+            $instance->setOptions($options);
+        }
+
+        return $instance;
+    }
+
+    /**
+     * Return whether given interval contains non zero value of any time unit.
+     *
+     * @param \DateInterval $interval
+     *
+     * @return bool
+     */
+    protected static function intervalHasTime(DateInterval $interval)
+    {
+        return $interval->h || $interval->i || $interval->s || $interval->f;
+    }
+
+    /**
+     * Return whether given variable is an ISO 8601 specification.
+     *
+     * Note: Check is very basic, as actual validation will be done later when parsing.
+     * We just want to ensure that variable is not any other type of a valid parameter.
+     *
+     * @param mixed $var
+     *
+     * @return bool
+     */
+    protected static function isIso8601($var)
+    {
+        if (!\is_string($var)) {
+            return false;
+        }
+
+        // Match slash but not within a timezone name.
+        $part = '[a-z]+(?:[_-][a-z]+)*';
+
+        preg_match("#\b$part/$part\b|(/)#i", $var, $match);
+
+        return isset($match[1]);
+    }
+
+    /**
+     * Parse given ISO 8601 string into an array of arguments.
+     *
+     * @SuppressWarnings(PHPMD.ElseExpression)
+     *
+     * @param string $iso
+     *
+     * @return array
+     */
+    protected static function parseIso8601($iso)
+    {
+        $result = [];
+
+        $interval = null;
+        $start = null;
+        $end = null;
+
+        foreach (explode('/', $iso) as $key => $part) {
+            if ($key === 0 && preg_match('/^R([0-9]*)$/', $part, $match)) {
+                $parsed = \strlen($match[1]) ? (int) $match[1] : null;
+            } elseif ($interval === null && $parsed = CarbonInterval::make($part)) {
+                $interval = $part;
+            } elseif ($start === null && $parsed = Carbon::make($part)) {
+                $start = $part;
+            } elseif ($end === null && $parsed = Carbon::make(static::addMissingParts($start ?? '', $part))) {
+                $end = $part;
+            } else {
+                throw new InvalidPeriodParameterException("Invalid ISO 8601 specification: $iso.");
+            }
+
+            $result[] = $parsed;
+        }
+
+        return $result;
+    }
+
+    /**
+     * Add missing parts of the target date from the soure date.
+     *
+     * @param string $source
+     * @param string $target
+     *
+     * @return string
+     */
+    protected static function addMissingParts($source, $target)
+    {
+        $pattern = '/'.preg_replace('/[0-9]+/', '[0-9]+', preg_quote($target, '/')).'$/';
+
+        $result = preg_replace($pattern, $target, $source, 1, $count);
+
+        return $count ? $result : $target;
+    }
+
+    /**
+     * Register a custom macro.
+     *
+     * @example
+     * ```
+     * CarbonPeriod::macro('middle', function () {
+     *   return $this->getStartDate()->average($this->getEndDate());
+     * });
+     * echo CarbonPeriod::since('2011-05-12')->until('2011-06-03')->middle();
+     * ```
+     *
+     * @param string          $name
+     * @param object|callable $macro
+     *
+     * @return void
+     */
+    public static function macro($name, $macro)
+    {
+        static::$macros[$name] = $macro;
+    }
+
+    /**
+     * Register macros from a mixin object.
+     *
+     * @example
+     * ```
+     * CarbonPeriod::mixin(new class {
+     *   public function addDays() {
+     *     return function ($count = 1) {
+     *       return $this->setStartDate(
+     *         $this->getStartDate()->addDays($count)
+     *       )->setEndDate(
+     *         $this->getEndDate()->addDays($count)
+     *       );
+     *     };
+     *   }
+     *   public function subDays() {
+     *     return function ($count = 1) {
+     *       return $this->setStartDate(
+     *         $this->getStartDate()->subDays($count)
+     *       )->setEndDate(
+     *         $this->getEndDate()->subDays($count)
+     *       );
+     *     };
+     *   }
+     * });
+     * echo CarbonPeriod::create('2000-01-01', '2000-02-01')->addDays(5)->subDays(3);
+     * ```
+     *
+     * @param object|string $mixin
+     *
+     * @throws ReflectionException
+     *
+     * @return void
+     */
+    public static function mixin($mixin)
+    {
+        static::baseMixin($mixin);
+    }
+
+    /**
+     * Check if macro is registered.
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public static function hasMacro($name)
+    {
+        return isset(static::$macros[$name]);
+    }
+
+    /**
+     * Provide static proxy for instance aliases.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public static function __callStatic($method, $parameters)
+    {
+        $date = new static();
+
+        if (static::hasMacro($method)) {
+            return static::bindMacroContext(null, function () use (&$method, &$parameters, &$date) {
+                return $date->callMacro($method, $parameters);
+            });
+        }
+
+        return $date->$method(...$parameters);
+    }
+
+    /**
+     * CarbonPeriod constructor.
+     *
+     * @SuppressWarnings(PHPMD.ElseExpression)
+     *
+     * @throws InvalidArgumentException
+     */
+    public function __construct(...$arguments)
+    {
+        // Parse and assign arguments one by one. First argument may be an ISO 8601 spec,
+        // which will be first parsed into parts and then processed the same way.
+
+        $argumentsCount = \count($arguments);
+
+        if ($argumentsCount && static::isIso8601($iso = $arguments[0])) {
+            array_splice($arguments, 0, 1, static::parseIso8601($iso));
+        }
+
+        if ($argumentsCount === 1) {
+            if ($arguments[0] instanceof DatePeriod) {
+                $arguments = [
+                    $arguments[0]->start,
+                    $arguments[0]->end ?: ($arguments[0]->recurrences - 1),
+                    $arguments[0]->interval,
+                    $arguments[0]->include_start_date ? 0 : static::EXCLUDE_START_DATE,
+                ];
+            } elseif ($arguments[0] instanceof self) {
+                $arguments = [
+                    $arguments[0]->getStartDate(),
+                    $arguments[0]->getEndDate() ?: $arguments[0]->getRecurrences(),
+                    $arguments[0]->getDateInterval(),
+                    $arguments[0]->getOptions(),
+                ];
+            }
+        }
+
+        foreach ($arguments as $argument) {
+            if ($this->dateInterval === null &&
+                (
+                    \is_string($argument) && preg_match(
+                        '/^(-?\d(\d(?![\/-])|[^\d\/-]([\/-])?)*|P[T0-9].*|(?:\h*\d+(?:\.\d+)?\h*[a-z]+)+)$/i',
+                        $argument
+                    ) ||
+                    $argument instanceof DateInterval ||
+                    $argument instanceof Closure
+                ) &&
+                $parsed = @CarbonInterval::make($argument)
+            ) {
+                $this->setDateInterval($parsed);
+            } elseif ($this->startDate === null && $parsed = Carbon::make($argument)) {
+                $this->setStartDate($parsed);
+            } elseif ($this->endDate === null && $parsed = Carbon::make($argument)) {
+                $this->setEndDate($parsed);
+            } elseif ($this->recurrences === null && $this->endDate === null && is_numeric($argument)) {
+                $this->setRecurrences($argument);
+            } elseif ($this->options === null && (\is_int($argument) || $argument === null)) {
+                $this->setOptions($argument);
+            } else {
+                throw new InvalidPeriodParameterException('Invalid constructor parameters.');
+            }
+        }
+
+        if ($this->startDate === null) {
+            $this->setStartDate(Carbon::now());
+        }
+
+        if ($this->dateInterval === null) {
+            $this->setDateInterval(CarbonInterval::day());
+
+            $this->isDefaultInterval = true;
+        }
+
+        if ($this->options === null) {
+            $this->setOptions(0);
+        }
+    }
+
+    /**
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function copy()
+    {
+        return clone $this;
+    }
+
+    /**
+     * Get the getter for a property allowing both `DatePeriod` snakeCase and camelCase names.
+     *
+     * @param string $name
+     *
+     * @return callable|null
+     */
+    protected function getGetter(string $name)
+    {
+        switch (strtolower(preg_replace('/[A-Z]/', '_$0', $name))) {
+            case 'start':
+            case 'start_date':
+                return [$this, 'getStartDate'];
+            case 'end':
+            case 'end_date':
+                return [$this, 'getEndDate'];
+            case 'interval':
+            case 'date_interval':
+                return [$this, 'getDateInterval'];
+            case 'recurrences':
+                return [$this, 'getRecurrences'];
+            case 'include_start_date':
+                return [$this, 'isStartIncluded'];
+            case 'include_end_date':
+                return [$this, 'isEndIncluded'];
+            case 'current':
+                return [$this, 'current'];
+            default:
+                return null;
+        }
+    }
+
+    /**
+     * Get a property allowing both `DatePeriod` snakeCase and camelCase names.
+     *
+     * @param string $name
+     *
+     * @return bool|CarbonInterface|CarbonInterval|int|null
+     */
+    public function get(string $name)
+    {
+        $getter = $this->getGetter($name);
+
+        if ($getter) {
+            return $getter();
+        }
+
+        throw new UnknownGetterException($name);
+    }
+
+    /**
+     * Get a property allowing both `DatePeriod` snakeCase and camelCase names.
+     *
+     * @param string $name
+     *
+     * @return bool|CarbonInterface|CarbonInterval|int|null
+     */
+    public function __get(string $name)
+    {
+        return $this->get($name);
+    }
+
+    /**
+     * Check if an attribute exists on the object
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public function __isset(string $name): bool
+    {
+        return $this->getGetter($name) !== null;
+    }
+
+    /**
+     * @alias copy
+     *
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function clone()
+    {
+        return clone $this;
+    }
+
+    /**
+     * Set the iteration item class.
+     *
+     * @param string $dateClass
+     *
+     * @return $this
+     */
+    public function setDateClass(string $dateClass)
+    {
+        if (!is_a($dateClass, CarbonInterface::class, true)) {
+            throw new NotACarbonClassException($dateClass);
+        }
+
+        $this->dateClass = $dateClass;
+
+        if (is_a($dateClass, Carbon::class, true)) {
+            $this->toggleOptions(static::IMMUTABLE, false);
+        } elseif (is_a($dateClass, CarbonImmutable::class, true)) {
+            $this->toggleOptions(static::IMMUTABLE, true);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns iteration item date class.
+     *
+     * @return string
+     */
+    public function getDateClass(): string
+    {
+        return $this->dateClass;
+    }
+
+    /**
+     * Change the period date interval.
+     *
+     * @param DateInterval|string $interval
+     *
+     * @throws InvalidIntervalException
+     *
+     * @return $this
+     */
+    public function setDateInterval($interval)
+    {
+        if (!$interval = CarbonInterval::make($interval)) {
+            throw new InvalidIntervalException('Invalid interval.');
+        }
+
+        if ($interval->spec() === 'PT0S' && !$interval->f && !$interval->getStep()) {
+            throw new InvalidIntervalException('Empty interval is not accepted.');
+        }
+
+        $this->dateInterval = $interval;
+
+        $this->isDefaultInterval = false;
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Invert the period date interval.
+     *
+     * @return $this
+     */
+    public function invertDateInterval()
+    {
+        $interval = $this->dateInterval->invert();
+
+        return $this->setDateInterval($interval);
+    }
+
+    /**
+     * Set start and end date.
+     *
+     * @param DateTime|DateTimeInterface|string      $start
+     * @param DateTime|DateTimeInterface|string|null $end
+     *
+     * @return $this
+     */
+    public function setDates($start, $end)
+    {
+        $this->setStartDate($start);
+        $this->setEndDate($end);
+
+        return $this;
+    }
+
+    /**
+     * Change the period options.
+     *
+     * @param int|null $options
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function setOptions($options)
+    {
+        if (!\is_int($options) && $options !== null) {
+            throw new InvalidPeriodParameterException('Invalid options.');
+        }
+
+        $this->options = $options ?: 0;
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Get the period options.
+     *
+     * @return int
+     */
+    public function getOptions()
+    {
+        return $this->options;
+    }
+
+    /**
+     * Toggle given options on or off.
+     *
+     * @param int       $options
+     * @param bool|null $state
+     *
+     * @throws \InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function toggleOptions($options, $state = null)
+    {
+        if ($state === null) {
+            $state = ($this->options & $options) !== $options;
+        }
+
+        return $this->setOptions(
+            $state ?
+            $this->options | $options :
+            $this->options & ~$options
+        );
+    }
+
+    /**
+     * Toggle EXCLUDE_START_DATE option.
+     *
+     * @param bool $state
+     *
+     * @return $this
+     */
+    public function excludeStartDate($state = true)
+    {
+        return $this->toggleOptions(static::EXCLUDE_START_DATE, $state);
+    }
+
+    /**
+     * Toggle EXCLUDE_END_DATE option.
+     *
+     * @param bool $state
+     *
+     * @return $this
+     */
+    public function excludeEndDate($state = true)
+    {
+        return $this->toggleOptions(static::EXCLUDE_END_DATE, $state);
+    }
+
+    /**
+     * Get the underlying date interval.
+     *
+     * @return CarbonInterval
+     */
+    public function getDateInterval()
+    {
+        return $this->dateInterval->copy();
+    }
+
+    /**
+     * Get start date of the period.
+     *
+     * @param string|null $rounding Optional rounding 'floor', 'ceil', 'round' using the period interval.
+     *
+     * @return CarbonInterface
+     */
+    public function getStartDate(string $rounding = null)
+    {
+        $date = $this->startDate->avoidMutation();
+
+        return $rounding ? $date->round($this->getDateInterval(), $rounding) : $date;
+    }
+
+    /**
+     * Get end date of the period.
+     *
+     * @param string|null $rounding Optional rounding 'floor', 'ceil', 'round' using the period interval.
+     *
+     * @return CarbonInterface|null
+     */
+    public function getEndDate(string $rounding = null)
+    {
+        if (!$this->endDate) {
+            return null;
+        }
+
+        $date = $this->endDate->avoidMutation();
+
+        return $rounding ? $date->round($this->getDateInterval(), $rounding) : $date;
+    }
+
+    /**
+     * Get number of recurrences.
+     *
+     * @return int|float|null
+     */
+    public function getRecurrences()
+    {
+        return $this->recurrences;
+    }
+
+    /**
+     * Returns true if the start date should be excluded.
+     *
+     * @return bool
+     */
+    public function isStartExcluded()
+    {
+        return ($this->options & static::EXCLUDE_START_DATE) !== 0;
+    }
+
+    /**
+     * Returns true if the end date should be excluded.
+     *
+     * @return bool
+     */
+    public function isEndExcluded()
+    {
+        return ($this->options & static::EXCLUDE_END_DATE) !== 0;
+    }
+
+    /**
+     * Returns true if the start date should be included.
+     *
+     * @return bool
+     */
+    public function isStartIncluded()
+    {
+        return !$this->isStartExcluded();
+    }
+
+    /**
+     * Returns true if the end date should be included.
+     *
+     * @return bool
+     */
+    public function isEndIncluded()
+    {
+        return !$this->isEndExcluded();
+    }
+
+    /**
+     * Return the start if it's included by option, else return the start + 1 period interval.
+     *
+     * @return CarbonInterface
+     */
+    public function getIncludedStartDate()
+    {
+        $start = $this->getStartDate();
+
+        if ($this->isStartExcluded()) {
+            return $start->add($this->getDateInterval());
+        }
+
+        return $start;
+    }
+
+    /**
+     * Return the end if it's included by option, else return the end - 1 period interval.
+     * Warning: if the period has no fixed end, this method will iterate the period to calculate it.
+     *
+     * @return CarbonInterface
+     */
+    public function getIncludedEndDate()
+    {
+        $end = $this->getEndDate();
+
+        if (!$end) {
+            return $this->calculateEnd();
+        }
+
+        if ($this->isEndExcluded()) {
+            return $end->sub($this->getDateInterval());
+        }
+
+        return $end;
+    }
+
+    /**
+     * Add a filter to the stack.
+     *
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     *
+     * @param callable $callback
+     * @param string   $name
+     *
+     * @return $this
+     */
+    public function addFilter($callback, $name = null)
+    {
+        $tuple = $this->createFilterTuple(\func_get_args());
+
+        $this->filters[] = $tuple;
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Prepend a filter to the stack.
+     *
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     *
+     * @param callable $callback
+     * @param string   $name
+     *
+     * @return $this
+     */
+    public function prependFilter($callback, $name = null)
+    {
+        $tuple = $this->createFilterTuple(\func_get_args());
+
+        array_unshift($this->filters, $tuple);
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Remove a filter by instance or name.
+     *
+     * @param callable|string $filter
+     *
+     * @return $this
+     */
+    public function removeFilter($filter)
+    {
+        $key = \is_callable($filter) ? 0 : 1;
+
+        $this->filters = array_values(array_filter(
+            $this->filters,
+            function ($tuple) use ($key, $filter) {
+                return $tuple[$key] !== $filter;
+            }
+        ));
+
+        $this->updateInternalState();
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Return whether given instance or name is in the filter stack.
+     *
+     * @param callable|string $filter
+     *
+     * @return bool
+     */
+    public function hasFilter($filter)
+    {
+        $key = \is_callable($filter) ? 0 : 1;
+
+        foreach ($this->filters as $tuple) {
+            if ($tuple[$key] === $filter) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Get filters stack.
+     *
+     * @return array
+     */
+    public function getFilters()
+    {
+        return $this->filters;
+    }
+
+    /**
+     * Set filters stack.
+     *
+     * @param array $filters
+     *
+     * @return $this
+     */
+    public function setFilters(array $filters)
+    {
+        $this->filters = $filters;
+
+        $this->updateInternalState();
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Reset filters stack.
+     *
+     * @return $this
+     */
+    public function resetFilters()
+    {
+        $this->filters = [];
+
+        if ($this->endDate !== null) {
+            $this->filters[] = [static::END_DATE_FILTER, null];
+        }
+
+        if ($this->recurrences !== null) {
+            $this->filters[] = [static::RECURRENCES_FILTER, null];
+        }
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Add a recurrences filter (set maximum number of recurrences).
+     *
+     * @param int|float|null $recurrences
+     *
+     * @throws InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function setRecurrences($recurrences)
+    {
+        if (!is_numeric($recurrences) && $recurrences !== null || $recurrences < 0) {
+            throw new InvalidPeriodParameterException('Invalid number of recurrences.');
+        }
+
+        if ($recurrences === null) {
+            return $this->removeFilter(static::RECURRENCES_FILTER);
+        }
+
+        $this->recurrences = $recurrences === INF ? INF : (int) $recurrences;
+
+        if (!$this->hasFilter(static::RECURRENCES_FILTER)) {
+            return $this->addFilter(static::RECURRENCES_FILTER);
+        }
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Change the period start date.
+     *
+     * @param DateTime|DateTimeInterface|string $date
+     * @param bool|null                         $inclusive
+     *
+     * @throws InvalidPeriodDateException
+     *
+     * @return $this
+     */
+    public function setStartDate($date, $inclusive = null)
+    {
+        if (!$date = ([$this->dateClass, 'make'])($date)) {
+            throw new InvalidPeriodDateException('Invalid start date.');
+        }
+
+        $this->startDate = $date;
+
+        if ($inclusive !== null) {
+            $this->toggleOptions(static::EXCLUDE_START_DATE, !$inclusive);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Change the period end date.
+     *
+     * @param DateTime|DateTimeInterface|string|null $date
+     * @param bool|null                              $inclusive
+     *
+     * @throws \InvalidArgumentException
+     *
+     * @return $this
+     */
+    public function setEndDate($date, $inclusive = null)
+    {
+        if ($date !== null && !$date = ([$this->dateClass, 'make'])($date)) {
+            throw new InvalidPeriodDateException('Invalid end date.');
+        }
+
+        if (!$date) {
+            return $this->removeFilter(static::END_DATE_FILTER);
+        }
+
+        $this->endDate = $date;
+
+        if ($inclusive !== null) {
+            $this->toggleOptions(static::EXCLUDE_END_DATE, !$inclusive);
+        }
+
+        if (!$this->hasFilter(static::END_DATE_FILTER)) {
+            return $this->addFilter(static::END_DATE_FILTER);
+        }
+
+        $this->handleChangedParameters();
+
+        return $this;
+    }
+
+    /**
+     * Check if the current position is valid.
+     *
+     * @return bool
+     */
+    public function valid()
+    {
+        return $this->validateCurrentDate() === true;
+    }
+
+    /**
+     * Return the current key.
+     *
+     * @return int|null
+     */
+    public function key()
+    {
+        return $this->valid()
+            ? $this->key
+            : null;
+    }
+
+    /**
+     * Return the current date.
+     *
+     * @return CarbonInterface|null
+     */
+    public function current()
+    {
+        return $this->valid()
+            ? $this->prepareForReturn($this->current)
+            : null;
+    }
+
+    /**
+     * Move forward to the next date.
+     *
+     * @throws RuntimeException
+     *
+     * @return void
+     */
+    public function next()
+    {
+        if ($this->current === null) {
+            $this->rewind();
+        }
+
+        if ($this->validationResult !== static::END_ITERATION) {
+            $this->key++;
+
+            $this->incrementCurrentDateUntilValid();
+        }
+    }
+
+    /**
+     * Rewind to the start date.
+     *
+     * Iterating over a date in the UTC timezone avoids bug during backward DST change.
+     *
+     * @see https://bugs.php.net/bug.php?id=72255
+     * @see https://bugs.php.net/bug.php?id=74274
+     * @see https://wiki.php.net/rfc/datetime_and_daylight_saving_time
+     *
+     * @throws RuntimeException
+     *
+     * @return void
+     */
+    public function rewind()
+    {
+        $this->key = 0;
+        $this->current = ([$this->dateClass, 'make'])($this->startDate);
+        $settings = $this->getSettings();
+
+        if ($this->hasLocalTranslator()) {
+            $settings['locale'] = $this->getTranslatorLocale();
+        }
+
+        $this->current->settings($settings);
+        $this->timezone = static::intervalHasTime($this->dateInterval) ? $this->current->getTimezone() : null;
+
+        if ($this->timezone) {
+            $this->current = $this->current->utc();
+        }
+
+        $this->validationResult = null;
+
+        if ($this->isStartExcluded() || $this->validateCurrentDate() === false) {
+            $this->incrementCurrentDateUntilValid();
+        }
+    }
+
+    /**
+     * Skip iterations and returns iteration state (false if ended, true if still valid).
+     *
+     * @param int $count steps number to skip (1 by default)
+     *
+     * @return bool
+     */
+    public function skip($count = 1)
+    {
+        for ($i = $count; $this->valid() && $i > 0; $i--) {
+            $this->next();
+        }
+
+        return $this->valid();
+    }
+
+    /**
+     * Format the date period as ISO 8601.
+     *
+     * @return string
+     */
+    public function toIso8601String()
+    {
+        $parts = [];
+
+        if ($this->recurrences !== null) {
+            $parts[] = 'R'.$this->recurrences;
+        }
+
+        $parts[] = $this->startDate->toIso8601String();
+
+        $parts[] = $this->dateInterval->spec();
+
+        if ($this->endDate !== null) {
+            $parts[] = $this->endDate->toIso8601String();
+        }
+
+        return implode('/', $parts);
+    }
+
+    /**
+     * Convert the date period into a string.
+     *
+     * @return string
+     */
+    public function toString()
+    {
+        $translator = ([$this->dateClass, 'getTranslator'])();
+
+        $parts = [];
+
+        $format = !$this->startDate->isStartOfDay() || $this->endDate && !$this->endDate->isStartOfDay()
+            ? 'Y-m-d H:i:s'
+            : 'Y-m-d';
+
+        if ($this->recurrences !== null) {
+            $parts[] = $this->translate('period_recurrences', [], $this->recurrences, $translator);
+        }
+
+        $parts[] = $this->translate('period_interval', [':interval' => $this->dateInterval->forHumans([
+            'join' => true,
+        ])], null, $translator);
+
+        $parts[] = $this->translate('period_start_date', [':date' => $this->startDate->rawFormat($format)], null, $translator);
+
+        if ($this->endDate !== null) {
+            $parts[] = $this->translate('period_end_date', [':date' => $this->endDate->rawFormat($format)], null, $translator);
+        }
+
+        $result = implode(' ', $parts);
+
+        return mb_strtoupper(mb_substr($result, 0, 1)).mb_substr($result, 1);
+    }
+
+    /**
+     * Format the date period as ISO 8601.
+     *
+     * @return string
+     */
+    public function spec()
+    {
+        return $this->toIso8601String();
+    }
+
+    /**
+     * Cast the current instance into the given class.
+     *
+     * @param string $className The $className::instance() method will be called to cast the current object.
+     *
+     * @return DatePeriod
+     */
+    public function cast(string $className)
+    {
+        if (!method_exists($className, 'instance')) {
+            if (is_a($className, DatePeriod::class, true)) {
+                return new $className(
+                    $this->getStartDate(),
+                    $this->getDateInterval(),
+                    $this->getEndDate() ? $this->getIncludedEndDate() : $this->getRecurrences(),
+                    $this->isStartExcluded() ? DatePeriod::EXCLUDE_START_DATE : 0
+                );
+            }
+
+            throw new InvalidCastException("$className has not the instance() method needed to cast the date.");
+        }
+
+        return $className::instance($this);
+    }
+
+    /**
+     * Return native DatePeriod PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(CarbonPeriod::create('2021-01-05', '2021-02-15')->toDatePeriod());
+     * ```
+     *
+     * @return DatePeriod
+     */
+    public function toDatePeriod()
+    {
+        return $this->cast(DatePeriod::class);
+    }
+
+    /**
+     * Convert the date period into an array without changing current iteration state.
+     *
+     * @return CarbonInterface[]
+     */
+    public function toArray()
+    {
+        $state = [
+            $this->key,
+            $this->current ? $this->current->avoidMutation() : null,
+            $this->validationResult,
+        ];
+
+        $result = iterator_to_array($this);
+
+        [$this->key, $this->current, $this->validationResult] = $state;
+
+        return $result;
+    }
+
+    /**
+     * Count dates in the date period.
+     *
+     * @return int
+     */
+    public function count()
+    {
+        return \count($this->toArray());
+    }
+
+    /**
+     * Return the first date in the date period.
+     *
+     * @return CarbonInterface|null
+     */
+    public function first()
+    {
+        return ($this->toArray() ?: [])[0] ?? null;
+    }
+
+    /**
+     * Return the last date in the date period.
+     *
+     * @return CarbonInterface|null
+     */
+    public function last()
+    {
+        $array = $this->toArray();
+
+        return $array ? $array[\count($array) - 1] : null;
+    }
+
+    /**
+     * Convert the date period into a string.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->toString();
+    }
+
+    /**
+     * Add aliases for setters.
+     *
+     * CarbonPeriod::days(3)->hours(5)->invert()
+     *     ->sinceNow()->until('2010-01-10')
+     *     ->filter(...)
+     *     ->count()
+     *
+     * Note: We use magic method to let static and instance aliases with the same names.
+     *
+     * @param string $method
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        if (static::hasMacro($method)) {
+            return static::bindMacroContext($this, function () use (&$method, &$parameters) {
+                return $this->callMacro($method, $parameters);
+            });
+        }
+
+        $roundedValue = $this->callRoundMethod($method, $parameters);
+
+        if ($roundedValue !== null) {
+            return $roundedValue;
+        }
+
+        $first = \count($parameters) >= 1 ? $parameters[0] : null;
+        $second = \count($parameters) >= 2 ? $parameters[1] : null;
+
+        switch ($method) {
+            case 'start':
+            case 'since':
+                return $this->setStartDate($first, $second);
+
+            case 'sinceNow':
+                return $this->setStartDate(new Carbon, $first);
+
+            case 'end':
+            case 'until':
+                return $this->setEndDate($first, $second);
+
+            case 'untilNow':
+                return $this->setEndDate(new Carbon, $first);
+
+            case 'dates':
+            case 'between':
+                return $this->setDates($first, $second);
+
+            case 'recurrences':
+            case 'times':
+                return $this->setRecurrences($first);
+
+            case 'options':
+                return $this->setOptions($first);
+
+            case 'toggle':
+                return $this->toggleOptions($first, $second);
+
+            case 'filter':
+            case 'push':
+                return $this->addFilter($first, $second);
+
+            case 'prepend':
+                return $this->prependFilter($first, $second);
+
+            case 'filters':
+                return $this->setFilters($first ?: []);
+
+            case 'interval':
+            case 'each':
+            case 'every':
+            case 'step':
+            case 'stepBy':
+                return $this->setDateInterval($first);
+
+            case 'invert':
+                return $this->invertDateInterval();
+
+            case 'years':
+            case 'year':
+            case 'months':
+            case 'month':
+            case 'weeks':
+            case 'week':
+            case 'days':
+            case 'dayz':
+            case 'day':
+            case 'hours':
+            case 'hour':
+            case 'minutes':
+            case 'minute':
+            case 'seconds':
+            case 'second':
+                return $this->setDateInterval((
+                    // Override default P1D when instantiating via fluent setters.
+                    [$this->isDefaultInterval ? new CarbonInterval('PT0S') : $this->dateInterval, $method]
+                )(
+                    \count($parameters) === 0 ? 1 : $first
+                ));
+        }
+
+        if ($this->localStrictModeEnabled ?? Carbon::isStrictModeEnabled()) {
+            throw new UnknownMethodException($method);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Set the instance's timezone from a string or object and add/subtract the offset difference.
+     *
+     * @param \DateTimeZone|string $timezone
+     *
+     * @return static
+     */
+    public function shiftTimezone($timezone)
+    {
+        $this->tzName = $timezone;
+        $this->timezone = $timezone;
+
+        return $this;
+    }
+
+    /**
+     * Returns the end is set, else calculated from start an recurrences.
+     *
+     * @param string|null $rounding Optional rounding 'floor', 'ceil', 'round' using the period interval.
+     *
+     * @return CarbonInterface
+     */
+    public function calculateEnd(string $rounding = null)
+    {
+        if ($end = $this->getEndDate($rounding)) {
+            return $end;
+        }
+
+        if ($this->dateInterval->isEmpty()) {
+            return $this->getStartDate($rounding);
+        }
+
+        $date = $this->getEndFromRecurrences() ?? $this->iterateUntilEnd();
+
+        if ($date && $rounding) {
+            $date = $date->avoidMutation()->round($this->getDateInterval(), $rounding);
+        }
+
+        return $date;
+    }
+
+    /**
+     * @return CarbonInterface|null
+     */
+    private function getEndFromRecurrences()
+    {
+        if ($this->recurrences === null) {
+            throw new UnreachableException(
+                "Could not calculate period end without either explicit end or recurrences.\n".
+                "If you're looking for a forever-period, use ->setRecurrences(INF)."
+            );
+        }
+
+        if ($this->recurrences === INF) {
+            $start = $this->getStartDate();
+
+            return $start < $start->avoidMutation()->add($this->getDateInterval())
+                ? CarbonImmutable::endOfTime()
+                : CarbonImmutable::startOfTime();
+        }
+
+        if ($this->filters === [[static::RECURRENCES_FILTER, null]]) {
+            return $this->getStartDate()->avoidMutation()->add(
+                $this->getDateInterval()->times(
+                    $this->recurrences - ($this->isStartExcluded() ? 0 : 1)
+                )
+            );
+        }
+
+        return null;
+    }
+
+    /**
+     * @return CarbonInterface|null
+     */
+    private function iterateUntilEnd()
+    {
+        $attempts = 0;
+        $date = null;
+
+        foreach ($this as $date) {
+            if (++$attempts > static::END_MAX_ATTEMPTS) {
+                throw new UnreachableException(
+                    'Could not calculate period end after iterating '.static::END_MAX_ATTEMPTS.' times.'
+                );
+            }
+        }
+
+        return $date;
+    }
+
+    /**
+     * Returns true if the current period overlaps the given one (if 1 parameter passed)
+     * or the period between 2 dates (if 2 parameters passed).
+     *
+     * @param CarbonPeriod|\DateTimeInterface|Carbon|CarbonImmutable|string $rangeOrRangeStart
+     * @param \DateTimeInterface|Carbon|CarbonImmutable|string|null         $rangeEnd
+     *
+     * @return bool
+     */
+    public function overlaps($rangeOrRangeStart, $rangeEnd = null)
+    {
+        $range = $rangeEnd ? static::create($rangeOrRangeStart, $rangeEnd) : $rangeOrRangeStart;
+
+        if (!($range instanceof self)) {
+            $range = static::create($range);
+        }
+
+        [$start, $end] = $this->orderCouple($this->getStartDate(), $this->calculateEnd());
+        [$rangeStart, $rangeEnd] = $this->orderCouple($range->getStartDate(), $range->calculateEnd());
+
+        return $end > $rangeStart && $rangeEnd > $start;
+    }
+
+    /**
+     * Execute a given function on each date of the period.
+     *
+     * @example
+     * ```
+     * Carbon::create('2020-11-29')->daysUntil('2020-12-24')->forEach(function (Carbon $date) {
+     *   echo $date->diffInDays('2020-12-25')." days before Christmas!\n";
+     * });
+     * ```
+     *
+     * @param callable $callback
+     */
+    public function forEach(callable $callback)
+    {
+        foreach ($this as $date) {
+            $callback($date);
+        }
+    }
+
+    /**
+     * Execute a given function on each date of the period and yield the result of this function.
+     *
+     * @example
+     * ```
+     * $period = Carbon::create('2020-11-29')->daysUntil('2020-12-24');
+     * echo implode("\n", iterator_to_array($period->map(function (Carbon $date) {
+     *   return $date->diffInDays('2020-12-25').' days before Christmas!';
+     * })));
+     * ```
+     *
+     * @param callable $callback
+     *
+     * @return \Generator
+     */
+    public function map(callable $callback)
+    {
+        foreach ($this as $date) {
+            yield $callback($date);
+        }
+    }
+
+    /**
+     * Determines if the instance is equal to another.
+     * Warning: if options differ, instances wil never be equal.
+     *
+     * @param mixed $period
+     *
+     * @see equalTo()
+     *
+     * @return bool
+     */
+    public function eq($period): bool
+    {
+        return $this->equalTo($period);
+    }
+
+    /**
+     * Determines if the instance is equal to another.
+     * Warning: if options differ, instances wil never be equal.
+     *
+     * @param mixed $period
+     *
+     * @return bool
+     */
+    public function equalTo($period): bool
+    {
+        if (!($period instanceof self)) {
+            $period = self::make($period);
+        }
+
+        $end = $this->getEndDate();
+
+        return $period !== null
+            && $this->getDateInterval()->eq($period->getDateInterval())
+            && $this->getStartDate()->eq($period->getStartDate())
+            && ($end ? $end->eq($period->getEndDate()) : $this->getRecurrences() === $period->getRecurrences())
+            && ($this->getOptions() & (~static::IMMUTABLE)) === ($period->getOptions() & (~static::IMMUTABLE));
+    }
+
+    /**
+     * Determines if the instance is not equal to another.
+     * Warning: if options differ, instances wil never be equal.
+     *
+     * @param mixed $period
+     *
+     * @see notEqualTo()
+     *
+     * @return bool
+     */
+    public function ne($period): bool
+    {
+        return $this->notEqualTo($period);
+    }
+
+    /**
+     * Determines if the instance is not equal to another.
+     * Warning: if options differ, instances wil never be equal.
+     *
+     * @param mixed $period
+     *
+     * @return bool
+     */
+    public function notEqualTo($period): bool
+    {
+        return !$this->eq($period);
+    }
+
+    /**
+     * Determines if the start date is before an other given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function startsBefore($date = null): bool
+    {
+        return $this->getStartDate()->lessThan($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the start date is before or the same as a given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function startsBeforeOrAt($date = null): bool
+    {
+        return $this->getStartDate()->lessThanOrEqualTo($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the start date is after an other given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function startsAfter($date = null): bool
+    {
+        return $this->getStartDate()->greaterThan($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the start date is after or the same as a given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function startsAfterOrAt($date = null): bool
+    {
+        return $this->getStartDate()->greaterThanOrEqualTo($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the start date is the same as a given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function startsAt($date = null): bool
+    {
+        return $this->getStartDate()->equalTo($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the end date is before an other given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function endsBefore($date = null): bool
+    {
+        return $this->calculateEnd()->lessThan($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the end date is before or the same as a given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function endsBeforeOrAt($date = null): bool
+    {
+        return $this->calculateEnd()->lessThanOrEqualTo($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the end date is after an other given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function endsAfter($date = null): bool
+    {
+        return $this->calculateEnd()->greaterThan($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the end date is after or the same as a given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function endsAfterOrAt($date = null): bool
+    {
+        return $this->calculateEnd()->greaterThanOrEqualTo($this->resolveCarbon($date));
+    }
+
+    /**
+     * Determines if the end date is the same as a given date.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @param mixed $date
+     *
+     * @return bool
+     */
+    public function endsAt($date = null): bool
+    {
+        return $this->calculateEnd()->equalTo($this->resolveCarbon($date));
+    }
+
+    /**
+     * Return true if start date is now or later.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @return bool
+     */
+    public function isStarted(): bool
+    {
+        return $this->startsBeforeOrAt();
+    }
+
+    /**
+     * Return true if end date is now or later.
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @return bool
+     */
+    public function isEnded(): bool
+    {
+        return $this->endsBeforeOrAt();
+    }
+
+    /**
+     * Return true if now is between start date (included) and end date (excluded).
+     * (Rather start/end are included by options is ignored.)
+     *
+     * @return bool
+     */
+    public function isInProgress(): bool
+    {
+        return $this->isStarted() && !$this->isEnded();
+    }
+
+    /**
+     * Round the current instance at the given unit with given precision if specified and the given function.
+     *
+     * @param string                              $unit
+     * @param float|int|string|\DateInterval|null $precision
+     * @param string                              $function
+     *
+     * @return $this
+     */
+    public function roundUnit($unit, $precision = 1, $function = 'round')
+    {
+        $this->setStartDate($this->getStartDate()->roundUnit($unit, $precision, $function));
+
+        if ($this->endDate) {
+            $this->setEndDate($this->getEndDate()->roundUnit($unit, $precision, $function));
+        }
+
+        $this->setDateInterval($this->getDateInterval()->roundUnit($unit, $precision, $function));
+
+        return $this;
+    }
+
+    /**
+     * Truncate the current instance at the given unit with given precision if specified.
+     *
+     * @param string                              $unit
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return $this
+     */
+    public function floorUnit($unit, $precision = 1)
+    {
+        return $this->roundUnit($unit, $precision, 'floor');
+    }
+
+    /**
+     * Ceil the current instance at the given unit with given precision if specified.
+     *
+     * @param string                              $unit
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return $this
+     */
+    public function ceilUnit($unit, $precision = 1)
+    {
+        return $this->roundUnit($unit, $precision, 'ceil');
+    }
+
+    /**
+     * Round the current instance second with given precision if specified (else period interval is used).
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     * @param string                              $function
+     *
+     * @return $this
+     */
+    public function round($precision = null, $function = 'round')
+    {
+        return $this->roundWith($precision ?? (string) $this->getDateInterval(), $function);
+    }
+
+    /**
+     * Round the current instance second with given precision if specified (else period interval is used).
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return $this
+     */
+    public function floor($precision = null)
+    {
+        return $this->round($precision, 'floor');
+    }
+
+    /**
+     * Ceil the current instance second with given precision if specified (else period interval is used).
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return $this
+     */
+    public function ceil($precision = null)
+    {
+        return $this->round($precision, 'ceil');
+    }
+
+    /**
+     * Specify data which should be serialized to JSON.
+     *
+     * @link https://php.net/manual/en/jsonserializable.jsonserialize.php
+     *
+     * @return CarbonInterface[]
+     */
+    #[ReturnTypeWillChange]
+    public function jsonSerialize()
+    {
+        return $this->toArray();
+    }
+
+    /**
+     * Return true if the given date is between start and end.
+     *
+     * @param \Carbon\Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|\DateTimeInterface|string|null $date
+     *
+     * @return bool
+     */
+    public function contains($date = null): bool
+    {
+        $startMethod = 'startsBefore'.($this->isStartIncluded() ? 'OrAt' : '');
+        $endMethod = 'endsAfter'.($this->isEndIncluded() ? 'OrAt' : '');
+
+        return $this->$startMethod($date) && $this->$endMethod($date);
+    }
+
+    /**
+     * Return true if the current period follows a given other period (with no overlap).
+     * For instance, [2019-08-01 -> 2019-08-12] follows [2019-07-29 -> 2019-07-31]
+     * Note than in this example, follows() would be false if 2019-08-01 or 2019-07-31 was excluded by options.
+     *
+     * @param \Carbon\CarbonPeriod|\DatePeriod|string $period
+     *
+     * @return bool
+     */
+    public function follows($period, ...$arguments): bool
+    {
+        $period = $this->resolveCarbonPeriod($period, ...$arguments);
+
+        return $this->getIncludedStartDate()->equalTo($period->getIncludedEndDate()->add($period->getDateInterval()));
+    }
+
+    /**
+     * Return true if the given other period follows the current one (with no overlap).
+     * For instance, [2019-07-29 -> 2019-07-31] is followed by [2019-08-01 -> 2019-08-12]
+     * Note than in this example, isFollowedBy() would be false if 2019-08-01 or 2019-07-31 was excluded by options.
+     *
+     * @param \Carbon\CarbonPeriod|\DatePeriod|string $period
+     *
+     * @return bool
+     */
+    public function isFollowedBy($period, ...$arguments): bool
+    {
+        $period = $this->resolveCarbonPeriod($period, ...$arguments);
+
+        return $period->follows($this);
+    }
+
+    /**
+     * Return true if the given period either follows or is followed by the current one.
+     *
+     * @see follows()
+     * @see isFollowedBy()
+     *
+     * @param \Carbon\CarbonPeriod|\DatePeriod|string $period
+     *
+     * @return bool
+     */
+    public function isConsecutiveWith($period, ...$arguments): bool
+    {
+        return $this->follows($period, ...$arguments) || $this->isFollowedBy($period, ...$arguments);
+    }
+
+    /**
+     * Update properties after removing built-in filters.
+     *
+     * @return void
+     */
+    protected function updateInternalState()
+    {
+        if (!$this->hasFilter(static::END_DATE_FILTER)) {
+            $this->endDate = null;
+        }
+
+        if (!$this->hasFilter(static::RECURRENCES_FILTER)) {
+            $this->recurrences = null;
+        }
+    }
+
+    /**
+     * Create a filter tuple from raw parameters.
+     *
+     * Will create an automatic filter callback for one of Carbon's is* methods.
+     *
+     * @param array $parameters
+     *
+     * @return array
+     */
+    protected function createFilterTuple(array $parameters)
+    {
+        $method = array_shift($parameters);
+
+        if (!$this->isCarbonPredicateMethod($method)) {
+            return [$method, array_shift($parameters)];
+        }
+
+        return [function ($date) use ($method, $parameters) {
+            return ([$date, $method])(...$parameters);
+        }, $method];
+    }
+
+    /**
+     * Return whether given callable is a string pointing to one of Carbon's is* methods
+     * and should be automatically converted to a filter callback.
+     *
+     * @param callable $callable
+     *
+     * @return bool
+     */
+    protected function isCarbonPredicateMethod($callable)
+    {
+        return \is_string($callable) && str_starts_with($callable, 'is') &&
+            (method_exists($this->dateClass, $callable) || ([$this->dateClass, 'hasMacro'])($callable));
+    }
+
+    /**
+     * Recurrences filter callback (limits number of recurrences).
+     *
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     *
+     * @param \Carbon\Carbon $current
+     * @param int            $key
+     *
+     * @return bool|string
+     */
+    protected function filterRecurrences($current, $key)
+    {
+        if ($key < $this->recurrences) {
+            return true;
+        }
+
+        return static::END_ITERATION;
+    }
+
+    /**
+     * End date filter callback.
+     *
+     * @param \Carbon\Carbon $current
+     *
+     * @return bool|string
+     */
+    protected function filterEndDate($current)
+    {
+        if (!$this->isEndExcluded() && $current == $this->endDate) {
+            return true;
+        }
+
+        if ($this->dateInterval->invert ? $current > $this->endDate : $current < $this->endDate) {
+            return true;
+        }
+
+        return static::END_ITERATION;
+    }
+
+    /**
+     * End iteration filter callback.
+     *
+     * @return string
+     */
+    protected function endIteration()
+    {
+        return static::END_ITERATION;
+    }
+
+    /**
+     * Handle change of the parameters.
+     */
+    protected function handleChangedParameters()
+    {
+        if (($this->getOptions() & static::IMMUTABLE) && $this->dateClass === Carbon::class) {
+            $this->setDateClass(CarbonImmutable::class);
+        } elseif (!($this->getOptions() & static::IMMUTABLE) && $this->dateClass === CarbonImmutable::class) {
+            $this->setDateClass(Carbon::class);
+        }
+
+        $this->validationResult = null;
+    }
+
+    /**
+     * Validate current date and stop iteration when necessary.
+     *
+     * Returns true when current date is valid, false if it is not, or static::END_ITERATION
+     * when iteration should be stopped.
+     *
+     * @return bool|string
+     */
+    protected function validateCurrentDate()
+    {
+        if ($this->current === null) {
+            $this->rewind();
+        }
+
+        // Check after the first rewind to avoid repeating the initial validation.
+        if ($this->validationResult !== null) {
+            return $this->validationResult;
+        }
+
+        return $this->validationResult = $this->checkFilters();
+    }
+
+    /**
+     * Check whether current value and key pass all the filters.
+     *
+     * @return bool|string
+     */
+    protected function checkFilters()
+    {
+        $current = $this->prepareForReturn($this->current);
+
+        foreach ($this->filters as $tuple) {
+            $result = \call_user_func(
+                $tuple[0],
+                $current->avoidMutation(),
+                $this->key,
+                $this
+            );
+
+            if ($result === static::END_ITERATION) {
+                return static::END_ITERATION;
+            }
+
+            if (!$result) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Prepare given date to be returned to the external logic.
+     *
+     * @param CarbonInterface $date
+     *
+     * @return CarbonInterface
+     */
+    protected function prepareForReturn(CarbonInterface $date)
+    {
+        $date = ([$this->dateClass, 'make'])($date);
+
+        if ($this->timezone) {
+            $date = $date->setTimezone($this->timezone);
+        }
+
+        return $date;
+    }
+
+    /**
+     * Keep incrementing the current date until a valid date is found or the iteration is ended.
+     *
+     * @throws RuntimeException
+     *
+     * @return void
+     */
+    protected function incrementCurrentDateUntilValid()
+    {
+        $attempts = 0;
+
+        do {
+            $this->current = $this->current->add($this->dateInterval);
+
+            $this->validationResult = null;
+
+            if (++$attempts > static::NEXT_MAX_ATTEMPTS) {
+                throw new UnreachableException('Could not find next valid date.');
+            }
+        } while ($this->validateCurrentDate() === false);
+    }
+
+    /**
+     * Call given macro.
+     *
+     * @param string $name
+     * @param array  $parameters
+     *
+     * @return mixed
+     */
+    protected function callMacro($name, $parameters)
+    {
+        $macro = static::$macros[$name];
+
+        if ($macro instanceof Closure) {
+            $boundMacro = @$macro->bindTo($this, static::class) ?: @$macro->bindTo(null, static::class);
+
+            return ($boundMacro ?: $macro)(...$parameters);
+        }
+
+        return $macro(...$parameters);
+    }
+
+    /**
+     * Return the Carbon instance passed through, a now instance in the same timezone
+     * if null given or parse the input if string given.
+     *
+     * @param \Carbon\Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|\DateTimeInterface|string|null $date
+     *
+     * @return \Carbon\CarbonInterface
+     */
+    protected function resolveCarbon($date = null)
+    {
+        return $this->getStartDate()->nowWithSameTz()->carbonize($date);
+    }
+
+    /**
+     * Resolve passed arguments or DatePeriod to a CarbonPeriod object.
+     *
+     * @param mixed $period
+     * @param mixed ...$arguments
+     *
+     * @return static
+     */
+    protected function resolveCarbonPeriod($period, ...$arguments)
+    {
+        if ($period instanceof self) {
+            return $period;
+        }
+
+        return $period instanceof DatePeriod
+            ? static::instance($period)
+            : static::create($period, ...$arguments);
+    }
+
+    private function orderCouple($first, $second): array
+    {
+        return $first > $second ? [$second, $first] : [$first, $second];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php
new file mode 100644
index 0000000..2bd36c4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php
@@ -0,0 +1,306 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Carbon\Exceptions\InvalidCastException;
+use Carbon\Exceptions\InvalidTimeZoneException;
+use DateTimeInterface;
+use DateTimeZone;
+
+class CarbonTimeZone extends DateTimeZone
+{
+    public function __construct($timezone = null)
+    {
+        parent::__construct(static::getDateTimeZoneNameFromMixed($timezone));
+    }
+
+    protected static function parseNumericTimezone($timezone)
+    {
+        if ($timezone <= -100 || $timezone >= 100) {
+            throw new InvalidTimeZoneException('Absolute timezone offset cannot be greater than 100.');
+        }
+
+        return ($timezone >= 0 ? '+' : '').$timezone.':00';
+    }
+
+    protected static function getDateTimeZoneNameFromMixed($timezone)
+    {
+        if ($timezone === null) {
+            return date_default_timezone_get();
+        }
+
+        if (\is_string($timezone)) {
+            $timezone = preg_replace('/^\s*([+-]\d+)(\d{2})\s*$/', '$1:$2', $timezone);
+        }
+
+        if (is_numeric($timezone)) {
+            return static::parseNumericTimezone($timezone);
+        }
+
+        return $timezone;
+    }
+
+    protected static function getDateTimeZoneFromName(&$name)
+    {
+        return @timezone_open($name = (string) static::getDateTimeZoneNameFromMixed($name));
+    }
+
+    /**
+     * Cast the current instance into the given class.
+     *
+     * @param string $className The $className::instance() method will be called to cast the current object.
+     *
+     * @return DateTimeZone
+     */
+    public function cast(string $className)
+    {
+        if (!method_exists($className, 'instance')) {
+            if (is_a($className, DateTimeZone::class, true)) {
+                return new $className($this->getName());
+            }
+
+            throw new InvalidCastException("$className has not the instance() method needed to cast the date.");
+        }
+
+        return $className::instance($this);
+    }
+
+    /**
+     * Create a CarbonTimeZone from mixed input.
+     *
+     * @param DateTimeZone|string|int|null $object     original value to get CarbonTimeZone from it.
+     * @param DateTimeZone|string|int|null $objectDump dump of the object for error messages.
+     *
+     * @throws InvalidTimeZoneException
+     *
+     * @return false|static
+     */
+    public static function instance($object = null, $objectDump = null)
+    {
+        $tz = $object;
+
+        if ($tz instanceof static) {
+            return $tz;
+        }
+
+        if ($tz === null) {
+            return new static();
+        }
+
+        if (!$tz instanceof DateTimeZone) {
+            $tz = static::getDateTimeZoneFromName($object);
+        }
+
+        if ($tz === false) {
+            if (Carbon::isStrictModeEnabled()) {
+                throw new InvalidTimeZoneException('Unknown or bad timezone ('.($objectDump ?: $object).')');
+            }
+
+            return false;
+        }
+
+        return new static($tz->getName());
+    }
+
+    /**
+     * Returns abbreviated name of the current timezone according to DST setting.
+     *
+     * @param bool $dst
+     *
+     * @return string
+     */
+    public function getAbbreviatedName($dst = false)
+    {
+        $name = $this->getName();
+
+        foreach ($this->listAbbreviations() as $abbreviation => $zones) {
+            foreach ($zones as $zone) {
+                if ($zone['timezone_id'] === $name && $zone['dst'] == $dst) {
+                    return $abbreviation;
+                }
+            }
+        }
+
+        return 'unknown';
+    }
+
+    /**
+     * @alias getAbbreviatedName
+     *
+     * Returns abbreviated name of the current timezone according to DST setting.
+     *
+     * @param bool $dst
+     *
+     * @return string
+     */
+    public function getAbbr($dst = false)
+    {
+        return $this->getAbbreviatedName($dst);
+    }
+
+    /**
+     * Get the offset as string "sHH:MM" (such as "+00:00" or "-12:30").
+     *
+     * @param DateTimeInterface|null $date
+     *
+     * @return string
+     */
+    public function toOffsetName(DateTimeInterface $date = null)
+    {
+        return static::getOffsetNameFromMinuteOffset(
+            $this->getOffset($date ?: Carbon::now($this)) / 60
+        );
+    }
+
+    /**
+     * Returns a new CarbonTimeZone object using the offset string instead of region string.
+     *
+     * @param DateTimeInterface|null $date
+     *
+     * @return CarbonTimeZone
+     */
+    public function toOffsetTimeZone(DateTimeInterface $date = null)
+    {
+        return new static($this->toOffsetName($date));
+    }
+
+    /**
+     * Returns the first region string (such as "America/Toronto") that matches the current timezone or
+     * false if no match is found.
+     *
+     * @see timezone_name_from_abbr native PHP function.
+     *
+     * @param DateTimeInterface|null $date
+     * @param int                    $isDst
+     *
+     * @return string|false
+     */
+    public function toRegionName(DateTimeInterface $date = null, $isDst = 1)
+    {
+        $name = $this->getName();
+        $firstChar = substr($name, 0, 1);
+
+        if ($firstChar !== '+' && $firstChar !== '-') {
+            return $name;
+        }
+
+        $date = $date ?: Carbon::now($this);
+
+        // Integer construction no longer supported since PHP 8
+        // @codeCoverageIgnoreStart
+        try {
+            $offset = @$this->getOffset($date) ?: 0;
+        } catch (\Throwable $e) {
+            $offset = 0;
+        }
+        // @codeCoverageIgnoreEnd
+
+        $name = @timezone_name_from_abbr('', $offset, $isDst);
+
+        if ($name) {
+            return $name;
+        }
+
+        foreach (timezone_identifiers_list() as $timezone) {
+            if (Carbon::instance($date)->tz($timezone)->getOffset() === $offset) {
+                return $timezone;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Returns a new CarbonTimeZone object using the region string instead of offset string.
+     *
+     * @param DateTimeInterface|null $date
+     *
+     * @return CarbonTimeZone|false
+     */
+    public function toRegionTimeZone(DateTimeInterface $date = null)
+    {
+        $tz = $this->toRegionName($date);
+
+        if ($tz === false) {
+            if (Carbon::isStrictModeEnabled()) {
+                throw new InvalidTimeZoneException('Unknown timezone for offset '.$this->getOffset($date ?: Carbon::now($this)).' seconds.');
+            }
+
+            return false;
+        }
+
+        return new static($tz);
+    }
+
+    /**
+     * Cast to string (get timezone name).
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->getName();
+    }
+
+    /**
+     * Create a CarbonTimeZone from mixed input.
+     *
+     * @param DateTimeZone|string|int|null $object
+     *
+     * @return false|static
+     */
+    public static function create($object = null)
+    {
+        return static::instance($object);
+    }
+
+    /**
+     * Create a CarbonTimeZone from int/float hour offset.
+     *
+     * @param float $hourOffset number of hour of the timezone shift (can be decimal).
+     *
+     * @return false|static
+     */
+    public static function createFromHourOffset(float $hourOffset)
+    {
+        return static::createFromMinuteOffset($hourOffset * Carbon::MINUTES_PER_HOUR);
+    }
+
+    /**
+     * Create a CarbonTimeZone from int/float minute offset.
+     *
+     * @param float $minuteOffset number of total minutes of the timezone shift.
+     *
+     * @return false|static
+     */
+    public static function createFromMinuteOffset(float $minuteOffset)
+    {
+        return static::instance(static::getOffsetNameFromMinuteOffset($minuteOffset));
+    }
+
+    /**
+     * Convert a total minutes offset into a standardized timezone offset string.
+     *
+     * @param float $minutes number of total minutes of the timezone shift.
+     *
+     * @return string
+     */
+    public static function getOffsetNameFromMinuteOffset(float $minutes): string
+    {
+        $minutes = round($minutes);
+        $unsignedMinutes = abs($minutes);
+
+        return ($minutes < 0 ? '-' : '+').
+            str_pad((string) floor($unsignedMinutes / 60), 2, '0', STR_PAD_LEFT).
+            ':'.
+            str_pad((string) ($unsignedMinutes % 60), 2, '0', STR_PAD_LEFT);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Cli/Invoker.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Cli/Invoker.php
new file mode 100644
index 0000000..d53b1f4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Cli/Invoker.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace Carbon\Cli;
+
+class Invoker
+{
+    public const CLI_CLASS_NAME = 'Carbon\\Cli';
+
+    protected function runWithCli(string $className, array $parameters): bool
+    {
+        $cli = new $className();
+
+        return $cli(...$parameters);
+    }
+
+    public function __invoke(...$parameters): bool
+    {
+        if (class_exists(self::CLI_CLASS_NAME)) {
+            return $this->runWithCli(self::CLI_CLASS_NAME, $parameters);
+        }
+
+        $function = (($parameters[1] ?? '') === 'install' ? ($parameters[2] ?? null) : null) ?: 'shell_exec';
+        $function('composer require carbon-cli/carbon-cli --no-interaction');
+
+        echo 'Installation succeeded.';
+
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonDoctrineType.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonDoctrineType.php
new file mode 100644
index 0000000..35c5558
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonDoctrineType.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * Thanks to https://github.com/flaushi for his suggestion:
+ * https://github.com/doctrine/dbal/issues/2873#issuecomment-534956358
+ */
+namespace Carbon\Doctrine;
+
+use Doctrine\DBAL\Platforms\AbstractPlatform;
+
+interface CarbonDoctrineType
+{
+    public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform);
+
+    public function convertToPHPValue($value, AbstractPlatform $platform);
+
+    public function convertToDatabaseValue($value, AbstractPlatform $platform);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonImmutableType.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonImmutableType.php
new file mode 100644
index 0000000..3239743
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonImmutableType.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Thanks to https://github.com/flaushi for his suggestion:
+ * https://github.com/doctrine/dbal/issues/2873#issuecomment-534956358
+ */
+namespace Carbon\Doctrine;
+
+use Doctrine\DBAL\Platforms\AbstractPlatform;
+
+class CarbonImmutableType extends DateTimeImmutableType implements CarbonDoctrineType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function getName()
+    {
+        return 'carbon_immutable';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function requiresSQLCommentHint(AbstractPlatform $platform)
+    {
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonType.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonType.php
new file mode 100644
index 0000000..e5f52c7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonType.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Thanks to https://github.com/flaushi for his suggestion:
+ * https://github.com/doctrine/dbal/issues/2873#issuecomment-534956358
+ */
+namespace Carbon\Doctrine;
+
+use Doctrine\DBAL\Platforms\AbstractPlatform;
+
+class CarbonType extends DateTimeType implements CarbonDoctrineType
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function getName()
+    {
+        return 'carbon';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function requiresSQLCommentHint(AbstractPlatform $platform)
+    {
+        return true;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonTypeConverter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonTypeConverter.php
new file mode 100644
index 0000000..fa0d5b0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/CarbonTypeConverter.php
@@ -0,0 +1,108 @@
+<?php
+
+/**
+ * Thanks to https://github.com/flaushi for his suggestion:
+ * https://github.com/doctrine/dbal/issues/2873#issuecomment-534956358
+ */
+namespace Carbon\Doctrine;
+
+use Carbon\Carbon;
+use Carbon\CarbonInterface;
+use DateTimeInterface;
+use Doctrine\DBAL\Platforms\AbstractPlatform;
+use Doctrine\DBAL\Types\ConversionException;
+use Exception;
+
+/**
+ * @template T of CarbonInterface
+ */
+trait CarbonTypeConverter
+{
+    /**
+     * @return class-string<T>
+     */
+    protected function getCarbonClassName(): string
+    {
+        return Carbon::class;
+    }
+
+    public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
+    {
+        $precision = ($fieldDeclaration['precision'] ?: 10) === 10
+            ? DateTimeDefaultPrecision::get()
+            : $fieldDeclaration['precision'];
+        $type = parent::getSQLDeclaration($fieldDeclaration, $platform);
+
+        if (!$precision) {
+            return $type;
+        }
+
+        if (str_contains($type, '(')) {
+            return preg_replace('/\(\d+\)/', "($precision)", $type);
+        }
+
+        [$before, $after] = explode(' ', "$type ");
+
+        return trim("$before($precision) $after");
+    }
+
+    /**
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     *
+     * @return T|null
+     */
+    public function convertToPHPValue($value, AbstractPlatform $platform)
+    {
+        $class = $this->getCarbonClassName();
+
+        if ($value === null || is_a($value, $class)) {
+            return $value;
+        }
+
+        if ($value instanceof DateTimeInterface) {
+            return $class::instance($value);
+        }
+
+        $date = null;
+        $error = null;
+
+        try {
+            $date = $class::parse($value);
+        } catch (Exception $exception) {
+            $error = $exception;
+        }
+
+        if (!$date) {
+            throw ConversionException::conversionFailedFormat(
+                $value,
+                $this->getName(),
+                'Y-m-d H:i:s.u or any format supported by '.$class.'::parse()',
+                $error
+            );
+        }
+
+        return $date;
+    }
+
+    /**
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     *
+     * @return string|null
+     */
+    public function convertToDatabaseValue($value, AbstractPlatform $platform)
+    {
+        if ($value === null) {
+            return $value;
+        }
+
+        if ($value instanceof DateTimeInterface) {
+            return $value->format('Y-m-d H:i:s.u');
+        }
+
+        throw ConversionException::conversionFailedInvalidType(
+            $value,
+            $this->getName(),
+            ['null', 'DateTime', 'Carbon']
+        );
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeDefaultPrecision.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeDefaultPrecision.php
new file mode 100644
index 0000000..f9744b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeDefaultPrecision.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * Thanks to https://github.com/flaushi for his suggestion:
+ * https://github.com/doctrine/dbal/issues/2873#issuecomment-534956358
+ */
+namespace Carbon\Doctrine;
+
+class DateTimeDefaultPrecision
+{
+    private static $precision = 6;
+
+    /**
+     * Change the default Doctrine datetime and datetime_immutable precision.
+     *
+     * @param int $precision
+     */
+    public static function set(int $precision): void
+    {
+        self::$precision = $precision;
+    }
+
+    /**
+     * Get the default Doctrine datetime and datetime_immutable precision.
+     *
+     * @return int
+     */
+    public static function get(): int
+    {
+        return self::$precision;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeImmutableType.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeImmutableType.php
new file mode 100644
index 0000000..4992710
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeImmutableType.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * Thanks to https://github.com/flaushi for his suggestion:
+ * https://github.com/doctrine/dbal/issues/2873#issuecomment-534956358
+ */
+namespace Carbon\Doctrine;
+
+use Carbon\CarbonImmutable;
+use Doctrine\DBAL\Types\VarDateTimeImmutableType;
+
+class DateTimeImmutableType extends VarDateTimeImmutableType implements CarbonDoctrineType
+{
+    /** @use CarbonTypeConverter<CarbonImmutable> */
+    use CarbonTypeConverter;
+
+    /**
+     * @return class-string<CarbonImmutable>
+     */
+    protected function getCarbonClassName(): string
+    {
+        return CarbonImmutable::class;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeType.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeType.php
new file mode 100644
index 0000000..29b0bb9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Doctrine/DateTimeType.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * Thanks to https://github.com/flaushi for his suggestion:
+ * https://github.com/doctrine/dbal/issues/2873#issuecomment-534956358
+ */
+namespace Carbon\Doctrine;
+
+use Carbon\Carbon;
+use Doctrine\DBAL\Types\VarDateTimeType;
+
+class DateTimeType extends VarDateTimeType implements CarbonDoctrineType
+{
+    /** @use CarbonTypeConverter<Carbon> */
+    use CarbonTypeConverter;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadComparisonUnitException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadComparisonUnitException.php
new file mode 100644
index 0000000..bc2aa79
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadComparisonUnitException.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+
+class BadComparisonUnitException extends UnitException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $unit
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($unit, $code = 0, Exception $previous = null)
+    {
+        parent::__construct("Bad comparison unit: '$unit'", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php
new file mode 100644
index 0000000..a9f453e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadFluentConstructorException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use BadMethodCallException as BaseBadMethodCallException;
+use Exception;
+
+class BadFluentConstructorException extends BaseBadMethodCallException implements BadMethodCallException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $method
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($method, $code = 0, Exception $previous = null)
+    {
+        parent::__construct(sprintf("Unknown fluent constructor '%s'.", $method), $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php
new file mode 100644
index 0000000..7a28f39
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadFluentSetterException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use BadMethodCallException as BaseBadMethodCallException;
+use Exception;
+
+class BadFluentSetterException extends BaseBadMethodCallException implements BadMethodCallException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $method
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($method, $code = 0, Exception $previous = null)
+    {
+        parent::__construct(sprintf("Unknown fluent setter '%s'", $method), $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php
new file mode 100644
index 0000000..307a4ee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/BadMethodCallException.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+interface BadMethodCallException extends Exception
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/Exception.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/Exception.php
new file mode 100644
index 0000000..86e8a15
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/Exception.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+interface Exception
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php
new file mode 100644
index 0000000..5fb1c68
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/ImmutableException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use RuntimeException as BaseRuntimeException;
+
+class ImmutableException extends BaseRuntimeException implements RuntimeException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $value    the immutable type/value
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($value, $code = 0, Exception $previous = null)
+    {
+        parent::__construct("$value is immutable.", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php
new file mode 100644
index 0000000..60ed740
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidArgumentException.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+interface InvalidArgumentException extends Exception
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidCastException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidCastException.php
new file mode 100644
index 0000000..77466c7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidCastException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidCastException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php
new file mode 100644
index 0000000..f5dbfe2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php
@@ -0,0 +1,66 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidDateException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * The invalid field.
+     *
+     * @var string
+     */
+    private $field;
+
+    /**
+     * The invalid value.
+     *
+     * @var mixed
+     */
+    private $value;
+
+    /**
+     * Constructor.
+     *
+     * @param string         $field
+     * @param mixed          $value
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($field, $value, $code = 0, Exception $previous = null)
+    {
+        $this->field = $field;
+        $this->value = $value;
+        parent::__construct($field.' : '.$value.' is not a valid value.', $code, $previous);
+    }
+
+    /**
+     * Get the invalid field.
+     *
+     * @return string
+     */
+    public function getField()
+    {
+        return $this->field;
+    }
+
+    /**
+     * Get the invalid value.
+     *
+     * @return mixed
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidFormatException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidFormatException.php
new file mode 100644
index 0000000..dd26a90
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidFormatException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidFormatException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidIntervalException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidIntervalException.php
new file mode 100644
index 0000000..b4c76dc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidIntervalException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidIntervalException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodDateException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodDateException.php
new file mode 100644
index 0000000..abe1aef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodDateException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidPeriodDateException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodParameterException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodParameterException.php
new file mode 100644
index 0000000..b061ef1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidPeriodParameterException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidPeriodParameterException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidTimeZoneException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidTimeZoneException.php
new file mode 100644
index 0000000..03bd8ac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidTimeZoneException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidTimeZoneException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidTypeException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidTypeException.php
new file mode 100644
index 0000000..bc124a6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidTypeException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class InvalidTypeException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotACarbonClassException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotACarbonClassException.php
new file mode 100644
index 0000000..78ce939
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotACarbonClassException.php
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Carbon\CarbonInterface;
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class NotACarbonClassException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $className
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($className, $code = 0, Exception $previous = null)
+    {
+        parent::__construct(sprintf(
+            'Given class does not implement %s: %s',
+            CarbonInterface::class,
+            $className
+        ), $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php
new file mode 100644
index 0000000..8bdda85
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class NotAPeriodException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotLocaleAwareException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotLocaleAwareException.php
new file mode 100644
index 0000000..8aab192
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/NotLocaleAwareException.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class NotLocaleAwareException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param mixed          $object
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($object, $code = 0, Exception $previous = null)
+    {
+        $dump = \is_object($object) ? \get_class($object) : \gettype($object);
+
+        parent::__construct("$dump does neither implements Symfony\Contracts\Translation\LocaleAwareInterface nor getLocale() method.", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/OutOfRangeException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/OutOfRangeException.php
new file mode 100644
index 0000000..33cd1b5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/OutOfRangeException.php
@@ -0,0 +1,100 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+// This will extends OutOfRangeException instead of InvalidArgumentException since 3.0.0
+// use OutOfRangeException as BaseOutOfRangeException;
+
+class OutOfRangeException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * The unit or name of the value.
+     *
+     * @var string
+     */
+    private $unit;
+
+    /**
+     * The range minimum.
+     *
+     * @var mixed
+     */
+    private $min;
+
+    /**
+     * The range maximum.
+     *
+     * @var mixed
+     */
+    private $max;
+
+    /**
+     * The invalid value.
+     *
+     * @var mixed
+     */
+    private $value;
+
+    /**
+     * Constructor.
+     *
+     * @param string         $unit
+     * @param mixed          $min
+     * @param mixed          $max
+     * @param mixed          $value
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($unit, $min, $max, $value, $code = 0, Exception $previous = null)
+    {
+        $this->unit = $unit;
+        $this->min = $min;
+        $this->max = $max;
+        $this->value = $value;
+
+        parent::__construct("$unit must be between $min and $max, $value given", $code, $previous);
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getMax()
+    {
+        return $this->max;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getMin()
+    {
+        return $this->min;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getUnit()
+    {
+        return $this->unit;
+    }
+
+    /**
+     * @return mixed
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php
new file mode 100644
index 0000000..3510b40
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class ParseErrorException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $expected
+     * @param string         $actual
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($expected, $actual, $help = '', $code = 0, Exception $previous = null)
+    {
+        $actual = $actual === '' ? 'data is missing' : "get '$actual'";
+
+        parent::__construct(trim("Format expected $expected but $actual\n$help"), $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/RuntimeException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/RuntimeException.php
new file mode 100644
index 0000000..6ca5f5f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/RuntimeException.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+interface RuntimeException extends Exception
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnitException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnitException.php
new file mode 100644
index 0000000..838847b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnitException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class UnitException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnitNotConfiguredException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnitNotConfiguredException.php
new file mode 100644
index 0000000..7f8ec9e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnitNotConfiguredException.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+
+class UnitNotConfiguredException extends UnitException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $unit
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($unit, $code = 0, Exception $previous = null)
+    {
+        parent::__construct("Unit $unit have no configuration to get total from other units.", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownGetterException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownGetterException.php
new file mode 100644
index 0000000..4591d35
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownGetterException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class UnknownGetterException extends BaseInvalidArgumentException implements InvalidArgumentException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $name     getter name
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($name, $code = 0, Exception $previous = null)
+    {
+        parent::__construct("Unknown getter '$name'", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownMethodException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownMethodException.php
new file mode 100644
index 0000000..3646872
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownMethodException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use BadMethodCallException as BaseBadMethodCallException;
+use Exception;
+
+class UnknownMethodException extends BaseBadMethodCallException implements BadMethodCallException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $method
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($method, $code = 0, Exception $previous = null)
+    {
+        parent::__construct("Method $method does not exist.", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownSetterException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownSetterException.php
new file mode 100644
index 0000000..5020369
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownSetterException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use InvalidArgumentException as BaseInvalidArgumentException;
+
+class UnknownSetterException extends BaseInvalidArgumentException implements BadMethodCallException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $name     setter name
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($name, $code = 0, Exception $previous = null)
+    {
+        parent::__construct("Unknown setter '$name'", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownUnitException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownUnitException.php
new file mode 100644
index 0000000..d2f76ee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnknownUnitException.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+
+class UnknownUnitException extends UnitException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $unit
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($unit, $code = 0, Exception $previous = null)
+    {
+        parent::__construct("Unknown unit '$unit'.", $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnreachableException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnreachableException.php
new file mode 100644
index 0000000..b38ae12
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Exceptions/UnreachableException.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Exceptions;
+
+use Exception;
+use RuntimeException as BaseRuntimeException;
+
+class UnreachableException extends BaseRuntimeException implements RuntimeException
+{
+    /**
+     * Constructor.
+     *
+     * @param string         $message
+     * @param int            $code
+     * @param Exception|null $previous
+     */
+    public function __construct($message, $code = 0, Exception $previous = null)
+    {
+        parent::__construct($message, $code, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Factory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Factory.php
new file mode 100644
index 0000000..e1d747f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Factory.php
@@ -0,0 +1,304 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Closure;
+use ReflectionMethod;
+
+/**
+ * A factory to generate Carbon instances with common settings.
+ *
+ * <autodoc generated by `composer phpdoc`>
+ *
+ * @method bool                                               canBeCreatedFromFormat($date, $format)                                                                                             Checks if the (date)time string is in a given format and valid to create a
+ *                                                                                                                                                                                               new instance.
+ * @method Carbon|false                                       create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null)                                           Create a new Carbon instance from a specific date and time.
+ *                                                                                                                                                                                               If any of $year, $month or $day are set to null their now() values will
+ *                                                                                                                                                                                               be used.
+ *                                                                                                                                                                                               If $hour is null it will be set to its now() value and the default
+ *                                                                                                                                                                                               values for $minute and $second will be their now() values.
+ *                                                                                                                                                                                               If $hour is not null then the default values for $minute and $second
+ *                                                                                                                                                                                               will be 0.
+ * @method Carbon                                             createFromDate($year = null, $month = null, $day = null, $tz = null)                                                               Create a Carbon instance from just a date. The time portion is set to now.
+ * @method Carbon|false                                       createFromFormat($format, $time, $tz = null)                                                                                       Create a Carbon instance from a specific format.
+ * @method Carbon|false                                       createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null)                                                Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
+ * @method Carbon|false                                       createFromLocaleFormat($format, $locale, $time, $tz = null)                                                                        Create a Carbon instance from a specific format and a string in a given language.
+ * @method Carbon|false                                       createFromLocaleIsoFormat($format, $locale, $time, $tz = null)                                                                     Create a Carbon instance from a specific ISO format and a string in a given language.
+ * @method Carbon                                             createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null)                                                                    Create a Carbon instance from just a time. The date portion is set to today.
+ * @method Carbon                                             createFromTimeString($time, $tz = null)                                                                                            Create a Carbon instance from a time string. The date portion is set to today.
+ * @method Carbon                                             createFromTimestamp($timestamp, $tz = null)                                                                                        Create a Carbon instance from a timestamp and set the timezone (use default one if not specified).
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method Carbon                                             createFromTimestampMs($timestamp, $tz = null)                                                                                      Create a Carbon instance from a timestamp in milliseconds.
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method Carbon                                             createFromTimestampMsUTC($timestamp)                                                                                               Create a Carbon instance from a timestamp in milliseconds.
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method Carbon                                             createFromTimestampUTC($timestamp)                                                                                                 Create a Carbon instance from an timestamp keeping the timezone to UTC.
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method Carbon                                             createMidnightDate($year = null, $month = null, $day = null, $tz = null)                                                           Create a Carbon instance from just a date. The time portion is set to midnight.
+ * @method Carbon|false                                       createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null)                     Create a new safe Carbon instance from a specific date and time.
+ *                                                                                                                                                                                               If any of $year, $month or $day are set to null their now() values will
+ *                                                                                                                                                                                               be used.
+ *                                                                                                                                                                                               If $hour is null it will be set to its now() value and the default
+ *                                                                                                                                                                                               values for $minute and $second will be their now() values.
+ *                                                                                                                                                                                               If $hour is not null then the default values for $minute and $second
+ *                                                                                                                                                                                               will be 0.
+ *                                                                                                                                                                                               If one of the set values is not valid, an InvalidDateException
+ *                                                                                                                                                                                               will be thrown.
+ * @method CarbonInterface                                    createStrict(?int $year = 0, ?int $month = 1, ?int $day = 1, ?int $hour = 0, ?int $minute = 0, ?int $second = 0, $tz = null)       Create a new Carbon instance from a specific date and time using strict validation.
+ * @method Carbon                                             disableHumanDiffOption($humanDiffOption)                                                                                           @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method Carbon                                             enableHumanDiffOption($humanDiffOption)                                                                                            @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method mixed                                              executeWithLocale($locale, $func)                                                                                                  Set the current locale to the given, execute the passed function, reset the locale to previous one,
+ *                                                                                                                                                                                               then return the result of the closure (or null if the closure was void).
+ * @method Carbon                                             fromSerialized($value)                                                                                                             Create an instance from a serialized string.
+ * @method void                                               genericMacro($macro, $priority = 0)                                                                                                Register a custom macro.
+ * @method array                                              getAvailableLocales()                                                                                                              Returns the list of internally available locales and already loaded custom locales.
+ *                                                                                                                                                                                               (It will ignore custom translator dynamic loading.)
+ * @method Language[]                                         getAvailableLocalesInfo()                                                                                                          Returns list of Language object for each available locale. This object allow you to get the ISO name, native
+ *                                                                                                                                                                                               name, region and variant of the locale.
+ * @method array                                              getDays()                                                                                                                          Get the days of the week
+ * @method string|null                                        getFallbackLocale()                                                                                                                Get the fallback locale.
+ * @method array                                              getFormatsToIsoReplacements()                                                                                                      List of replacements from date() format to isoFormat().
+ * @method int                                                getHumanDiffOptions()                                                                                                              Return default humanDiff() options (merged flags as integer).
+ * @method array                                              getIsoUnits()                                                                                                                      Returns list of locale units for ISO formatting.
+ * @method Carbon                                             getLastErrors()                                                                                                                    {@inheritdoc}
+ * @method string                                             getLocale()                                                                                                                        Get the current translator locale.
+ * @method callable|null                                      getMacro($name)                                                                                                                    Get the raw callable macro registered globally for a given name.
+ * @method int                                                getMidDayAt()                                                                                                                      get midday/noon hour
+ * @method Closure|Carbon                                     getTestNow()                                                                                                                       Get the Carbon instance (real or mock) to be returned when a "now"
+ *                                                                                                                                                                                               instance is created.
+ * @method string                                             getTimeFormatByPrecision($unitPrecision)                                                                                           Return a format from H:i to H:i:s.u according to given unit precision.
+ * @method string                                             getTranslationMessageWith($translator, string $key, ?string $locale = null, ?string $default = null)                               Returns raw translation message for a given key.
+ * @method \Symfony\Component\Translation\TranslatorInterface getTranslator()                                                                                                                    Get the default translator instance in use.
+ * @method int                                                getWeekEndsAt()                                                                                                                    Get the last day of week
+ * @method int                                                getWeekStartsAt()                                                                                                                  Get the first day of week
+ * @method array                                              getWeekendDays()                                                                                                                   Get weekend days
+ * @method bool                                               hasFormat($date, $format)                                                                                                          Checks if the (date)time string is in a given format.
+ * @method bool                                               hasFormatWithModifiers($date, $format)                                                                                             Checks if the (date)time string is in a given format.
+ * @method bool                                               hasMacro($name)                                                                                                                    Checks if macro is registered globally.
+ * @method bool                                               hasRelativeKeywords($time)                                                                                                         Determine if a time string will produce a relative date.
+ * @method bool                                               hasTestNow()                                                                                                                       Determine if there is a valid test instance set. A valid test instance
+ *                                                                                                                                                                                               is anything that is not null.
+ * @method Carbon                                             instance($date)                                                                                                                    Create a Carbon instance from a DateTime one.
+ * @method bool                                               isImmutable()                                                                                                                      Returns true if the current class/instance is immutable.
+ * @method bool                                               isModifiableUnit($unit)                                                                                                            Returns true if a property can be changed via setter.
+ * @method bool                                               isMutable()                                                                                                                        Returns true if the current class/instance is mutable.
+ * @method bool                                               isStrictModeEnabled()                                                                                                              Returns true if the strict mode is globally in use, false else.
+ *                                                                                                                                                                                               (It can be overridden in specific instances.)
+ * @method bool                                               localeHasDiffOneDayWords($locale)                                                                                                  Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow).
+ *                                                                                                                                                                                               Support is considered enabled if the 3 words are translated in the given locale.
+ * @method bool                                               localeHasDiffSyntax($locale)                                                                                                       Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after).
+ *                                                                                                                                                                                               Support is considered enabled if the 4 sentences are translated in the given locale.
+ * @method bool                                               localeHasDiffTwoDayWords($locale)                                                                                                  Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow).
+ *                                                                                                                                                                                               Support is considered enabled if the 2 words are translated in the given locale.
+ * @method bool                                               localeHasPeriodSyntax($locale)                                                                                                     Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X).
+ *                                                                                                                                                                                               Support is considered enabled if the 4 sentences are translated in the given locale.
+ * @method bool                                               localeHasShortUnits($locale)                                                                                                       Returns true if the given locale is internally supported and has short-units support.
+ *                                                                                                                                                                                               Support is considered enabled if either year, day or hour has a short variant translated.
+ * @method void                                               macro($name, $macro)                                                                                                               Register a custom macro.
+ * @method Carbon|null                                        make($var)                                                                                                                         Make a Carbon instance from given variable if possible.
+ *                                                                                                                                                                                               Always return a new instance. Parse only strings and only these likely to be dates (skip intervals
+ *                                                                                                                                                                                               and recurrences). Throw an exception for invalid format, but otherwise return null.
+ * @method Carbon                                             maxValue()                                                                                                                         Create a Carbon instance for the greatest supported date.
+ * @method Carbon                                             minValue()                                                                                                                         Create a Carbon instance for the lowest supported date.
+ * @method void                                               mixin($mixin)                                                                                                                      Mix another object into the class.
+ * @method Carbon                                             now($tz = null)                                                                                                                    Get a Carbon instance for the current date and time.
+ * @method Carbon                                             parse($time = null, $tz = null)                                                                                                    Create a carbon instance from a string.
+ *                                                                                                                                                                                               This is an alias for the constructor that allows better fluent syntax
+ *                                                                                                                                                                                               as it allows you to do Carbon::parse('Monday next week')->fn() rather
+ *                                                                                                                                                                                               than (new Carbon('Monday next week'))->fn().
+ * @method Carbon                                             parseFromLocale($time, $locale = null, $tz = null)                                                                                 Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.).
+ * @method string                                             pluralUnit(string $unit)                                                                                                           Returns standardized plural of a given singular/plural unit name (in English).
+ * @method Carbon|false                                       rawCreateFromFormat($format, $time, $tz = null)                                                                                    Create a Carbon instance from a specific format.
+ * @method Carbon                                             rawParse($time = null, $tz = null)                                                                                                 Create a carbon instance from a string.
+ *                                                                                                                                                                                               This is an alias for the constructor that allows better fluent syntax
+ *                                                                                                                                                                                               as it allows you to do Carbon::parse('Monday next week')->fn() rather
+ *                                                                                                                                                                                               than (new Carbon('Monday next week'))->fn().
+ * @method Carbon                                             resetMacros()                                                                                                                      Remove all macros and generic macros.
+ * @method void                                               resetMonthsOverflow()                                                                                                              @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method void                                               resetToStringFormat()                                                                                                              Reset the format used to the default when type juggling a Carbon instance to a string
+ * @method void                                               resetYearsOverflow()                                                                                                               @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method void                                               serializeUsing($callback)                                                                                                          @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather transform Carbon object before the serialization.
+ *                                                                                                                                                                                               JSON serialize all Carbon instances using the given callback.
+ * @method Carbon                                             setFallbackLocale($locale)                                                                                                         Set the fallback locale.
+ * @method Carbon                                             setHumanDiffOptions($humanDiffOptions)                                                                                             @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method bool                                               setLocale($locale)                                                                                                                 Set the current translator locale and indicate if the source locale file exists.
+ *                                                                                                                                                                                               Pass 'auto' as locale to use closest language from the current LC_TIME locale.
+ * @method void                                               setMidDayAt($hour)                                                                                                                 @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather consider mid-day is always 12pm, then if you need to test if it's an other
+ *                                                                                                                                                                                                           hour, test it explicitly:
+ *                                                                                                                                                                                                               $date->format('G') == 13
+ *                                                                                                                                                                                                           or to set explicitly to a given hour:
+ *                                                                                                                                                                                                               $date->setTime(13, 0, 0, 0)
+ *                                                                                                                                                                                               Set midday/noon hour
+ * @method Carbon                                             setTestNow($testNow = null)                                                                                                        Set a Carbon instance (real or mock) to be returned when a "now"
+ *                                                                                                                                                                                               instance is created.  The provided instance will be returned
+ *                                                                                                                                                                                               specifically under the following conditions:
+ *                                                                                                                                                                                                 - A call to the static now() method, ex. Carbon::now()
+ *                                                                                                                                                                                                 - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
+ *                                                                                                                                                                                                 - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
+ *                                                                                                                                                                                                 - When a string containing the desired time is passed to Carbon::parse().
+ *                                                                                                                                                                                               Note the timezone parameter was left out of the examples above and
+ *                                                                                                                                                                                               has no affect as the mock value will be returned regardless of its value.
+ *                                                                                                                                                                                               To clear the test instance call this method using the default
+ *                                                                                                                                                                                               parameter of null.
+ *                                                                                                                                                                                               /!\ Use this method for unit tests only.
+ * @method void                                               setToStringFormat($format)                                                                                                         @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and
+ *                                                                                                                                                                                                           use other method or custom format passed to format() method if you need to dump an other string
+ *                                                                                                                                                                                                           format.
+ *                                                                                                                                                                                               Set the default format used when type juggling a Carbon instance to a string
+ * @method void                                               setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator)                                                      Set the default translator instance to use.
+ * @method Carbon                                             setUtf8($utf8)                                                                                                                     @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use UTF-8 language packages on every machine.
+ *                                                                                                                                                                                               Set if UTF8 will be used for localized date/time.
+ * @method void                                               setWeekEndsAt($day)                                                                                                                @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek
+ *                                                                                                                                                                                                           or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the
+ *                                                                                                                                                                                                           start of week according to current locale selected and implicitly the end of week.
+ *                                                                                                                                                                                               Set the last day of week
+ * @method void                                               setWeekStartsAt($day)                                                                                                              @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the
+ *                                                                                                                                                                                                           'first_day_of_week' locale setting to change the start of week according to current locale
+ *                                                                                                                                                                                                           selected and implicitly the end of week.
+ *                                                                                                                                                                                               Set the first day of week
+ * @method void                                               setWeekendDays($days)                                                                                                              @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather consider week-end is always saturday and sunday, and if you have some custom
+ *                                                                                                                                                                                                           week-end days to handle, give to those days an other name and create a macro for them:
+ *                                                                                                                                                                                                           ```
+ *                                                                                                                                                                                                           Carbon::macro('isDayOff', function ($date) {
+ *                                                                                                                                                                                                               return $date->isSunday() || $date->isMonday();
+ *                                                                                                                                                                                                           });
+ *                                                                                                                                                                                                           Carbon::macro('isNotDayOff', function ($date) {
+ *                                                                                                                                                                                                               return !$date->isDayOff();
+ *                                                                                                                                                                                                           });
+ *                                                                                                                                                                                                           if ($someDate->isDayOff()) ...
+ *                                                                                                                                                                                                           if ($someDate->isNotDayOff()) ...
+ *                                                                                                                                                                                                           // Add 5 not-off days
+ *                                                                                                                                                                                                           $count = 5;
+ *                                                                                                                                                                                                           while ($someDate->isDayOff() || ($count-- > 0)) {
+ *                                                                                                                                                                                                               $someDate->addDay();
+ *                                                                                                                                                                                                           }
+ *                                                                                                                                                                                                           ```
+ *                                                                                                                                                                                               Set weekend days
+ * @method bool                                               shouldOverflowMonths()                                                                                                             Get the month overflow global behavior (can be overridden in specific instances).
+ * @method bool                                               shouldOverflowYears()                                                                                                              Get the month overflow global behavior (can be overridden in specific instances).
+ * @method string                                             singularUnit(string $unit)                                                                                                         Returns standardized singular of a given singular/plural unit name (in English).
+ * @method Carbon                                             today($tz = null)                                                                                                                  Create a Carbon instance for today.
+ * @method Carbon                                             tomorrow($tz = null)                                                                                                               Create a Carbon instance for tomorrow.
+ * @method string                                             translateTimeString($timeString, $from = null, $to = null, $mode = CarbonInterface::TRANSLATE_ALL)                                 Translate a time string from a locale to an other.
+ * @method string                                             translateWith(\Symfony\Component\Translation\TranslatorInterface $translator, string $key, array $parameters = [], $number = null) Translate using translation string or callback available.
+ * @method void                                               useMonthsOverflow($monthsOverflow = true)                                                                                          @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method Carbon                                             useStrictMode($strictModeEnabled = true)                                                                                           @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method void                                               useYearsOverflow($yearsOverflow = true)                                                                                            @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method mixed                                              withTestNow($testNow = null, $callback = null)                                                                                     Temporarily sets a static date to be used within the callback.
+ *                                                                                                                                                                                               Using setTestNow to set the date, executing the callback, then
+ *                                                                                                                                                                                               clearing the test instance.
+ *                                                                                                                                                                                               /!\ Use this method for unit tests only.
+ * @method Carbon                                             yesterday($tz = null)                                                                                                              Create a Carbon instance for yesterday.
+ *
+ * </autodoc>
+ */
+class Factory
+{
+    protected $className = Carbon::class;
+
+    protected $settings = [];
+
+    public function __construct(array $settings = [], ?string $className = null)
+    {
+        if ($className) {
+            $this->className = $className;
+        }
+
+        $this->settings = $settings;
+    }
+
+    public function getClassName()
+    {
+        return $this->className;
+    }
+
+    public function setClassName(string $className)
+    {
+        $this->className = $className;
+
+        return $this;
+    }
+
+    public function className(string $className = null)
+    {
+        return $className === null ? $this->getClassName() : $this->setClassName($className);
+    }
+
+    public function getSettings()
+    {
+        return $this->settings;
+    }
+
+    public function setSettings(array $settings)
+    {
+        $this->settings = $settings;
+
+        return $this;
+    }
+
+    public function settings(array $settings = null)
+    {
+        return $settings === null ? $this->getSettings() : $this->setSettings($settings);
+    }
+
+    public function mergeSettings(array $settings)
+    {
+        $this->settings = array_merge($this->settings, $settings);
+
+        return $this;
+    }
+
+    public function __call($name, $arguments)
+    {
+        $method = new ReflectionMethod($this->className, $name);
+        $settings = $this->settings;
+
+        if ($settings && isset($settings['timezone'])) {
+            $tzParameters = array_filter($method->getParameters(), function ($parameter) {
+                return \in_array($parameter->getName(), ['tz', 'timezone'], true);
+            });
+
+            if (\count($tzParameters)) {
+                array_splice($arguments, key($tzParameters), 0, [$settings['timezone']]);
+                unset($settings['timezone']);
+            }
+        }
+
+        $result = $this->className::$name(...$arguments);
+
+        return $result instanceof CarbonInterface && !empty($settings)
+            ? $result->settings($settings)
+            : $result;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/FactoryImmutable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/FactoryImmutable.php
new file mode 100644
index 0000000..3aa286c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/FactoryImmutable.php
@@ -0,0 +1,228 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Closure;
+
+/**
+ * A factory to generate CarbonImmutable instances with common settings.
+ *
+ * <autodoc generated by `composer phpdoc`>
+ *
+ * @method bool                                               canBeCreatedFromFormat($date, $format)                                                                                             Checks if the (date)time string is in a given format and valid to create a
+ *                                                                                                                                                                                               new instance.
+ * @method CarbonImmutable|false                              create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null)                                           Create a new Carbon instance from a specific date and time.
+ *                                                                                                                                                                                               If any of $year, $month or $day are set to null their now() values will
+ *                                                                                                                                                                                               be used.
+ *                                                                                                                                                                                               If $hour is null it will be set to its now() value and the default
+ *                                                                                                                                                                                               values for $minute and $second will be their now() values.
+ *                                                                                                                                                                                               If $hour is not null then the default values for $minute and $second
+ *                                                                                                                                                                                               will be 0.
+ * @method CarbonImmutable                                    createFromDate($year = null, $month = null, $day = null, $tz = null)                                                               Create a Carbon instance from just a date. The time portion is set to now.
+ * @method CarbonImmutable|false                              createFromFormat($format, $time, $tz = null)                                                                                       Create a Carbon instance from a specific format.
+ * @method CarbonImmutable|false                              createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null)                                                Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
+ * @method CarbonImmutable|false                              createFromLocaleFormat($format, $locale, $time, $tz = null)                                                                        Create a Carbon instance from a specific format and a string in a given language.
+ * @method CarbonImmutable|false                              createFromLocaleIsoFormat($format, $locale, $time, $tz = null)                                                                     Create a Carbon instance from a specific ISO format and a string in a given language.
+ * @method CarbonImmutable                                    createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null)                                                                    Create a Carbon instance from just a time. The date portion is set to today.
+ * @method CarbonImmutable                                    createFromTimeString($time, $tz = null)                                                                                            Create a Carbon instance from a time string. The date portion is set to today.
+ * @method CarbonImmutable                                    createFromTimestamp($timestamp, $tz = null)                                                                                        Create a Carbon instance from a timestamp and set the timezone (use default one if not specified).
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method CarbonImmutable                                    createFromTimestampMs($timestamp, $tz = null)                                                                                      Create a Carbon instance from a timestamp in milliseconds.
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method CarbonImmutable                                    createFromTimestampMsUTC($timestamp)                                                                                               Create a Carbon instance from a timestamp in milliseconds.
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method CarbonImmutable                                    createFromTimestampUTC($timestamp)                                                                                                 Create a Carbon instance from an timestamp keeping the timezone to UTC.
+ *                                                                                                                                                                                               Timestamp input can be given as int, float or a string containing one or more numbers.
+ * @method CarbonImmutable                                    createMidnightDate($year = null, $month = null, $day = null, $tz = null)                                                           Create a Carbon instance from just a date. The time portion is set to midnight.
+ * @method CarbonImmutable|false                              createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null)                     Create a new safe Carbon instance from a specific date and time.
+ *                                                                                                                                                                                               If any of $year, $month or $day are set to null their now() values will
+ *                                                                                                                                                                                               be used.
+ *                                                                                                                                                                                               If $hour is null it will be set to its now() value and the default
+ *                                                                                                                                                                                               values for $minute and $second will be their now() values.
+ *                                                                                                                                                                                               If $hour is not null then the default values for $minute and $second
+ *                                                                                                                                                                                               will be 0.
+ *                                                                                                                                                                                               If one of the set values is not valid, an InvalidDateException
+ *                                                                                                                                                                                               will be thrown.
+ * @method CarbonInterface                                    createStrict(?int $year = 0, ?int $month = 1, ?int $day = 1, ?int $hour = 0, ?int $minute = 0, ?int $second = 0, $tz = null)       Create a new Carbon instance from a specific date and time using strict validation.
+ * @method CarbonImmutable                                    disableHumanDiffOption($humanDiffOption)                                                                                           @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method CarbonImmutable                                    enableHumanDiffOption($humanDiffOption)                                                                                            @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method mixed                                              executeWithLocale($locale, $func)                                                                                                  Set the current locale to the given, execute the passed function, reset the locale to previous one,
+ *                                                                                                                                                                                               then return the result of the closure (or null if the closure was void).
+ * @method CarbonImmutable                                    fromSerialized($value)                                                                                                             Create an instance from a serialized string.
+ * @method void                                               genericMacro($macro, $priority = 0)                                                                                                Register a custom macro.
+ * @method array                                              getAvailableLocales()                                                                                                              Returns the list of internally available locales and already loaded custom locales.
+ *                                                                                                                                                                                               (It will ignore custom translator dynamic loading.)
+ * @method Language[]                                         getAvailableLocalesInfo()                                                                                                          Returns list of Language object for each available locale. This object allow you to get the ISO name, native
+ *                                                                                                                                                                                               name, region and variant of the locale.
+ * @method array                                              getDays()                                                                                                                          Get the days of the week
+ * @method string|null                                        getFallbackLocale()                                                                                                                Get the fallback locale.
+ * @method array                                              getFormatsToIsoReplacements()                                                                                                      List of replacements from date() format to isoFormat().
+ * @method int                                                getHumanDiffOptions()                                                                                                              Return default humanDiff() options (merged flags as integer).
+ * @method array                                              getIsoUnits()                                                                                                                      Returns list of locale units for ISO formatting.
+ * @method CarbonImmutable                                    getLastErrors()                                                                                                                    {@inheritdoc}
+ * @method string                                             getLocale()                                                                                                                        Get the current translator locale.
+ * @method callable|null                                      getMacro($name)                                                                                                                    Get the raw callable macro registered globally for a given name.
+ * @method int                                                getMidDayAt()                                                                                                                      get midday/noon hour
+ * @method Closure|CarbonImmutable                            getTestNow()                                                                                                                       Get the Carbon instance (real or mock) to be returned when a "now"
+ *                                                                                                                                                                                               instance is created.
+ * @method string                                             getTimeFormatByPrecision($unitPrecision)                                                                                           Return a format from H:i to H:i:s.u according to given unit precision.
+ * @method string                                             getTranslationMessageWith($translator, string $key, ?string $locale = null, ?string $default = null)                               Returns raw translation message for a given key.
+ * @method \Symfony\Component\Translation\TranslatorInterface getTranslator()                                                                                                                    Get the default translator instance in use.
+ * @method int                                                getWeekEndsAt()                                                                                                                    Get the last day of week
+ * @method int                                                getWeekStartsAt()                                                                                                                  Get the first day of week
+ * @method array                                              getWeekendDays()                                                                                                                   Get weekend days
+ * @method bool                                               hasFormat($date, $format)                                                                                                          Checks if the (date)time string is in a given format.
+ * @method bool                                               hasFormatWithModifiers($date, $format)                                                                                             Checks if the (date)time string is in a given format.
+ * @method bool                                               hasMacro($name)                                                                                                                    Checks if macro is registered globally.
+ * @method bool                                               hasRelativeKeywords($time)                                                                                                         Determine if a time string will produce a relative date.
+ * @method bool                                               hasTestNow()                                                                                                                       Determine if there is a valid test instance set. A valid test instance
+ *                                                                                                                                                                                               is anything that is not null.
+ * @method CarbonImmutable                                    instance($date)                                                                                                                    Create a Carbon instance from a DateTime one.
+ * @method bool                                               isImmutable()                                                                                                                      Returns true if the current class/instance is immutable.
+ * @method bool                                               isModifiableUnit($unit)                                                                                                            Returns true if a property can be changed via setter.
+ * @method bool                                               isMutable()                                                                                                                        Returns true if the current class/instance is mutable.
+ * @method bool                                               isStrictModeEnabled()                                                                                                              Returns true if the strict mode is globally in use, false else.
+ *                                                                                                                                                                                               (It can be overridden in specific instances.)
+ * @method bool                                               localeHasDiffOneDayWords($locale)                                                                                                  Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow).
+ *                                                                                                                                                                                               Support is considered enabled if the 3 words are translated in the given locale.
+ * @method bool                                               localeHasDiffSyntax($locale)                                                                                                       Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after).
+ *                                                                                                                                                                                               Support is considered enabled if the 4 sentences are translated in the given locale.
+ * @method bool                                               localeHasDiffTwoDayWords($locale)                                                                                                  Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow).
+ *                                                                                                                                                                                               Support is considered enabled if the 2 words are translated in the given locale.
+ * @method bool                                               localeHasPeriodSyntax($locale)                                                                                                     Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X).
+ *                                                                                                                                                                                               Support is considered enabled if the 4 sentences are translated in the given locale.
+ * @method bool                                               localeHasShortUnits($locale)                                                                                                       Returns true if the given locale is internally supported and has short-units support.
+ *                                                                                                                                                                                               Support is considered enabled if either year, day or hour has a short variant translated.
+ * @method void                                               macro($name, $macro)                                                                                                               Register a custom macro.
+ * @method CarbonImmutable|null                               make($var)                                                                                                                         Make a Carbon instance from given variable if possible.
+ *                                                                                                                                                                                               Always return a new instance. Parse only strings and only these likely to be dates (skip intervals
+ *                                                                                                                                                                                               and recurrences). Throw an exception for invalid format, but otherwise return null.
+ * @method CarbonImmutable                                    maxValue()                                                                                                                         Create a Carbon instance for the greatest supported date.
+ * @method CarbonImmutable                                    minValue()                                                                                                                         Create a Carbon instance for the lowest supported date.
+ * @method void                                               mixin($mixin)                                                                                                                      Mix another object into the class.
+ * @method CarbonImmutable                                    now($tz = null)                                                                                                                    Get a Carbon instance for the current date and time.
+ * @method CarbonImmutable                                    parse($time = null, $tz = null)                                                                                                    Create a carbon instance from a string.
+ *                                                                                                                                                                                               This is an alias for the constructor that allows better fluent syntax
+ *                                                                                                                                                                                               as it allows you to do Carbon::parse('Monday next week')->fn() rather
+ *                                                                                                                                                                                               than (new Carbon('Monday next week'))->fn().
+ * @method CarbonImmutable                                    parseFromLocale($time, $locale = null, $tz = null)                                                                                 Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.).
+ * @method string                                             pluralUnit(string $unit)                                                                                                           Returns standardized plural of a given singular/plural unit name (in English).
+ * @method CarbonImmutable|false                              rawCreateFromFormat($format, $time, $tz = null)                                                                                    Create a Carbon instance from a specific format.
+ * @method CarbonImmutable                                    rawParse($time = null, $tz = null)                                                                                                 Create a carbon instance from a string.
+ *                                                                                                                                                                                               This is an alias for the constructor that allows better fluent syntax
+ *                                                                                                                                                                                               as it allows you to do Carbon::parse('Monday next week')->fn() rather
+ *                                                                                                                                                                                               than (new Carbon('Monday next week'))->fn().
+ * @method CarbonImmutable                                    resetMacros()                                                                                                                      Remove all macros and generic macros.
+ * @method void                                               resetMonthsOverflow()                                                                                                              @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method void                                               resetToStringFormat()                                                                                                              Reset the format used to the default when type juggling a Carbon instance to a string
+ * @method void                                               resetYearsOverflow()                                                                                                               @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method void                                               serializeUsing($callback)                                                                                                          @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather transform Carbon object before the serialization.
+ *                                                                                                                                                                                               JSON serialize all Carbon instances using the given callback.
+ * @method CarbonImmutable                                    setFallbackLocale($locale)                                                                                                         Set the fallback locale.
+ * @method CarbonImmutable                                    setHumanDiffOptions($humanDiffOptions)                                                                                             @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method bool                                               setLocale($locale)                                                                                                                 Set the current translator locale and indicate if the source locale file exists.
+ *                                                                                                                                                                                               Pass 'auto' as locale to use closest language from the current LC_TIME locale.
+ * @method void                                               setMidDayAt($hour)                                                                                                                 @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather consider mid-day is always 12pm, then if you need to test if it's an other
+ *                                                                                                                                                                                                           hour, test it explicitly:
+ *                                                                                                                                                                                                               $date->format('G') == 13
+ *                                                                                                                                                                                                           or to set explicitly to a given hour:
+ *                                                                                                                                                                                                               $date->setTime(13, 0, 0, 0)
+ *                                                                                                                                                                                               Set midday/noon hour
+ * @method CarbonImmutable                                    setTestNow($testNow = null)                                                                                                        Set a Carbon instance (real or mock) to be returned when a "now"
+ *                                                                                                                                                                                               instance is created.  The provided instance will be returned
+ *                                                                                                                                                                                               specifically under the following conditions:
+ *                                                                                                                                                                                                 - A call to the static now() method, ex. Carbon::now()
+ *                                                                                                                                                                                                 - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
+ *                                                                                                                                                                                                 - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
+ *                                                                                                                                                                                                 - When a string containing the desired time is passed to Carbon::parse().
+ *                                                                                                                                                                                               Note the timezone parameter was left out of the examples above and
+ *                                                                                                                                                                                               has no affect as the mock value will be returned regardless of its value.
+ *                                                                                                                                                                                               To clear the test instance call this method using the default
+ *                                                                                                                                                                                               parameter of null.
+ *                                                                                                                                                                                               /!\ Use this method for unit tests only.
+ * @method void                                               setToStringFormat($format)                                                                                                         @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and
+ *                                                                                                                                                                                                           use other method or custom format passed to format() method if you need to dump an other string
+ *                                                                                                                                                                                                           format.
+ *                                                                                                                                                                                               Set the default format used when type juggling a Carbon instance to a string
+ * @method void                                               setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator)                                                      Set the default translator instance to use.
+ * @method CarbonImmutable                                    setUtf8($utf8)                                                                                                                     @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use UTF-8 language packages on every machine.
+ *                                                                                                                                                                                               Set if UTF8 will be used for localized date/time.
+ * @method void                                               setWeekEndsAt($day)                                                                                                                @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek
+ *                                                                                                                                                                                                           or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the
+ *                                                                                                                                                                                                           start of week according to current locale selected and implicitly the end of week.
+ *                                                                                                                                                                                               Set the last day of week
+ * @method void                                               setWeekStartsAt($day)                                                                                                              @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the
+ *                                                                                                                                                                                                           'first_day_of_week' locale setting to change the start of week according to current locale
+ *                                                                                                                                                                                                           selected and implicitly the end of week.
+ *                                                                                                                                                                                               Set the first day of week
+ * @method void                                               setWeekendDays($days)                                                                                                              @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather consider week-end is always saturday and sunday, and if you have some custom
+ *                                                                                                                                                                                                           week-end days to handle, give to those days an other name and create a macro for them:
+ *                                                                                                                                                                                                           ```
+ *                                                                                                                                                                                                           Carbon::macro('isDayOff', function ($date) {
+ *                                                                                                                                                                                                               return $date->isSunday() || $date->isMonday();
+ *                                                                                                                                                                                                           });
+ *                                                                                                                                                                                                           Carbon::macro('isNotDayOff', function ($date) {
+ *                                                                                                                                                                                                               return !$date->isDayOff();
+ *                                                                                                                                                                                                           });
+ *                                                                                                                                                                                                           if ($someDate->isDayOff()) ...
+ *                                                                                                                                                                                                           if ($someDate->isNotDayOff()) ...
+ *                                                                                                                                                                                                           // Add 5 not-off days
+ *                                                                                                                                                                                                           $count = 5;
+ *                                                                                                                                                                                                           while ($someDate->isDayOff() || ($count-- > 0)) {
+ *                                                                                                                                                                                                               $someDate->addDay();
+ *                                                                                                                                                                                                           }
+ *                                                                                                                                                                                                           ```
+ *                                                                                                                                                                                               Set weekend days
+ * @method bool                                               shouldOverflowMonths()                                                                                                             Get the month overflow global behavior (can be overridden in specific instances).
+ * @method bool                                               shouldOverflowYears()                                                                                                              Get the month overflow global behavior (can be overridden in specific instances).
+ * @method string                                             singularUnit(string $unit)                                                                                                         Returns standardized singular of a given singular/plural unit name (in English).
+ * @method CarbonImmutable                                    today($tz = null)                                                                                                                  Create a Carbon instance for today.
+ * @method CarbonImmutable                                    tomorrow($tz = null)                                                                                                               Create a Carbon instance for tomorrow.
+ * @method string                                             translateTimeString($timeString, $from = null, $to = null, $mode = CarbonInterface::TRANSLATE_ALL)                                 Translate a time string from a locale to an other.
+ * @method string                                             translateWith(\Symfony\Component\Translation\TranslatorInterface $translator, string $key, array $parameters = [], $number = null) Translate using translation string or callback available.
+ * @method void                                               useMonthsOverflow($monthsOverflow = true)                                                                                          @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method CarbonImmutable                                    useStrictMode($strictModeEnabled = true)                                                                                           @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ * @method void                                               useYearsOverflow($yearsOverflow = true)                                                                                            @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+ *                                                                                                                                                                                                           You should rather use the ->settings() method.
+ *                                                                                                                                                                                                           Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+ *                                                                                                                                                                                                           are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+ * @method mixed                                              withTestNow($testNow = null, $callback = null)                                                                                     Temporarily sets a static date to be used within the callback.
+ *                                                                                                                                                                                               Using setTestNow to set the date, executing the callback, then
+ *                                                                                                                                                                                               clearing the test instance.
+ *                                                                                                                                                                                               /!\ Use this method for unit tests only.
+ * @method CarbonImmutable                                    yesterday($tz = null)                                                                                                              Create a Carbon instance for yesterday.
+ *
+ * </autodoc>
+ */
+class FactoryImmutable extends Factory
+{
+    protected $className = CarbonImmutable::class;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa.php
new file mode 100644
index 0000000..f3431e4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/aa_DJ.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_DJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_DJ.php
new file mode 100644
index 0000000..c6e23c0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_DJ.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'],
+    'months_short' => ['qun', 'nah', 'cig', 'agd', 'cax', 'qas', 'qad', 'leq', 'way', 'dit', 'xim', 'kax'],
+    'weekdays' => ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', 'Sabti'],
+    'weekdays_short' => ['aca', 'etl', 'tal', 'arb', 'kam', 'gum', 'sab'],
+    'weekdays_min' => ['aca', 'etl', 'tal', 'arb', 'kam', 'gum', 'sab'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['saaku', 'carra'],
+
+    'year' => ':count gaqambo', // less reliable
+    'y' => ':count gaqambo', // less reliable
+    'a_year' => ':count gaqambo', // less reliable
+
+    'month' => ':count àlsa',
+    'm' => ':count àlsa',
+    'a_month' => ':count àlsa',
+
+    'day' => ':count saaku', // less reliable
+    'd' => ':count saaku', // less reliable
+    'a_day' => ':count saaku', // less reliable
+
+    'hour' => ':count ayti', // less reliable
+    'h' => ':count ayti', // less reliable
+    'a_hour' => ':count ayti', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER.php
new file mode 100644
index 0000000..f8f395b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Qunxa Garablu', 'Naharsi Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Leqeeni', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'],
+    'months_short' => ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', 'Dit', 'Xim', 'Kax'],
+    'weekdays' => ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', 'Sabti'],
+    'weekdays_short' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'],
+    'weekdays_min' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['saaku', 'carra'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER@saaho.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER@saaho.php
new file mode 100644
index 0000000..6461225
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER@saaho.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Qunxa Garablu', 'Naharsi Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Leqeeni', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'],
+    'months_short' => ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', 'Dit', 'Xim', 'Kax'],
+    'weekdays' => ['Naba Sambat', 'Sani', 'Salus', 'Rabuq', 'Camus', 'Jumqata', 'Qunxa Sambat'],
+    'weekdays_short' => ['Nab', 'San', 'Sal', 'Rab', 'Cam', 'Jum', 'Qun'],
+    'weekdays_min' => ['Nab', 'San', 'Sal', 'Rab', 'Cam', 'Jum', 'Qun'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['saaku', 'carra'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ET.php
new file mode 100644
index 0000000..e55e591
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/aa_ET.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'],
+    'months_short' => ['Qun', 'Kud', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', 'Dit', 'Xim', 'Kax'],
+    'weekdays' => ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', 'Sabti'],
+    'weekdays_short' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'],
+    'weekdays_min' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['saaku', 'carra'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af.php
new file mode 100644
index 0000000..27771d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af.php
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - JD Isaacks
+ * - Pierre du Plessis
+ */
+return [
+    'year' => ':count jaar',
+    'a_year' => '\'n jaar|:count jaar',
+    'y' => ':count j.',
+    'month' => ':count maand|:count maande',
+    'a_month' => '\'n maand|:count maande',
+    'm' => ':count maa.',
+    'week' => ':count week|:count weke',
+    'a_week' => '\'n week|:count weke',
+    'w' => ':count w.',
+    'day' => ':count dag|:count dae',
+    'a_day' => '\'n dag|:count dae',
+    'd' => ':count d.',
+    'hour' => ':count uur',
+    'a_hour' => '\'n uur|:count uur',
+    'h' => ':count u.',
+    'minute' => ':count minuut|:count minute',
+    'a_minute' => '\'n minuut|:count minute',
+    'min' => ':count min.',
+    'second' => ':count sekond|:count sekondes',
+    'a_second' => '\'n paar sekondes|:count sekondes',
+    's' => ':count s.',
+    'ago' => ':time gelede',
+    'from_now' => 'oor :time',
+    'after' => ':time na',
+    'before' => ':time voor',
+    'diff_now' => 'Nou',
+    'diff_today' => 'Vandag',
+    'diff_today_regexp' => 'Vandag(?:\\s+om)?',
+    'diff_yesterday' => 'Gister',
+    'diff_yesterday_regexp' => 'Gister(?:\\s+om)?',
+    'diff_tomorrow' => 'Môre',
+    'diff_tomorrow_regexp' => 'Môre(?:\\s+om)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Vandag om] LT',
+        'nextDay' => '[Môre om] LT',
+        'nextWeek' => 'dddd [om] LT',
+        'lastDay' => '[Gister om] LT',
+        'lastWeek' => '[Laas] dddd [om] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        return $number.(($number === 1 || $number === 8 || $number >= 20) ? 'ste' : 'de');
+    },
+    'meridiem' => ['VM', 'NM'],
+    'months' => ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'],
+    'months_short' => ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'],
+    'weekdays_short' => ['Son', 'Maa', 'Din', 'Woe', 'Don', 'Vry', 'Sat'],
+    'weekdays_min' => ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' en '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af_NA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af_NA.php
new file mode 100644
index 0000000..40d8d86
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af_NA.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/af.php', [
+    'meridiem' => ['v', 'n'],
+    'weekdays' => ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'],
+    'weekdays_short' => ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'],
+    'weekdays_min' => ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'],
+    'months' => ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'],
+    'months_short' => ['Jan.', 'Feb.', 'Mrt.', 'Apr.', 'Mei', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Des.'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'DD MMM YYYY',
+        'LLL' => 'DD MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, DD MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af_ZA.php
new file mode 100644
index 0000000..93f4c83
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/af_ZA.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/af.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agq.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agq.php
new file mode 100644
index 0000000..58c7a11
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agq.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['a.g', 'a.k'],
+    'weekdays' => ['tsuʔntsɨ', 'tsuʔukpà', 'tsuʔughɔe', 'tsuʔutɔ̀mlò', 'tsuʔumè', 'tsuʔughɨ̂m', 'tsuʔndzɨkɔʔɔ'],
+    'weekdays_short' => ['nts', 'kpa', 'ghɔ', 'tɔm', 'ume', 'ghɨ', 'dzk'],
+    'weekdays_min' => ['nts', 'kpa', 'ghɔ', 'tɔm', 'ume', 'ghɨ', 'dzk'],
+    'months' => ['ndzɔ̀ŋɔ̀nùm', 'ndzɔ̀ŋɔ̀kƗ̀zùʔ', 'ndzɔ̀ŋɔ̀tƗ̀dʉ̀ghà', 'ndzɔ̀ŋɔ̀tǎafʉ̄ghā', 'ndzɔ̀ŋèsèe', 'ndzɔ̀ŋɔ̀nzùghò', 'ndzɔ̀ŋɔ̀dùmlo', 'ndzɔ̀ŋɔ̀kwîfɔ̀e', 'ndzɔ̀ŋɔ̀tƗ̀fʉ̀ghàdzughù', 'ndzɔ̀ŋɔ̀ghǔuwelɔ̀m', 'ndzɔ̀ŋɔ̀chwaʔàkaa wo', 'ndzɔ̀ŋèfwòo'],
+    'months_short' => ['nùm', 'kɨz', 'tɨd', 'taa', 'see', 'nzu', 'dum', 'fɔe', 'dzu', 'lɔm', 'kaa', 'fwo'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agr.php
new file mode 100644
index 0000000..8f036ae
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agr.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/agr_PE.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agr_PE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agr_PE.php
new file mode 100644
index 0000000..54a326a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/agr_PE.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - somosazucar.org    libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Petsatin', 'Kupitin', 'Uyaitin', 'Tayutin', 'Kegketin', 'Tegmatin', 'Kuntutin', 'Yagkujutin', 'Daiktatin', 'Ipamtatin', 'Shinutin', 'Sakamtin'],
+    'months_short' => ['Pet', 'Kup', 'Uya', 'Tay', 'Keg', 'Teg', 'Kun', 'Yag', 'Dait', 'Ipam', 'Shin', 'Sak'],
+    'weekdays' => ['Tuntuamtin', 'Achutin', 'Kugkuktin', 'Saketin', 'Shimpitin', 'Imaptin', 'Bataetin'],
+    'weekdays_short' => ['Tun', 'Ach', 'Kug', 'Sak', 'Shim', 'Im', 'Bat'],
+    'weekdays_min' => ['Tun', 'Ach', 'Kug', 'Sak', 'Shim', 'Im', 'Bat'],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 7,
+    'meridiem' => ['VM', 'NM'],
+
+    'year' => ':count yaya', // less reliable
+    'y' => ':count yaya', // less reliable
+    'a_year' => ':count yaya', // less reliable
+
+    'month' => ':count nantu', // less reliable
+    'm' => ':count nantu', // less reliable
+    'a_month' => ':count nantu', // less reliable
+
+    'day' => ':count nayaim', // less reliable
+    'd' => ':count nayaim', // less reliable
+    'a_day' => ':count nayaim', // less reliable
+
+    'hour' => ':count kuwiš', // less reliable
+    'h' => ':count kuwiš', // less reliable
+    'a_hour' => ':count kuwiš', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ak.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ak.php
new file mode 100644
index 0000000..5a64be3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ak.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ak_GH.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ak_GH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ak_GH.php
new file mode 100644
index 0000000..1381946
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ak_GH.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Sugar Labs // OLPC sugarlabs.org libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY/MM/DD',
+    ],
+    'months' => ['Sanda-Ɔpɛpɔn', 'Kwakwar-Ɔgyefuo', 'Ebɔw-Ɔbenem', 'Ebɔbira-Oforisuo', 'Esusow Aketseaba-Kɔtɔnimba', 'Obirade-Ayɛwohomumu', 'Ayɛwoho-Kitawonsa', 'Difuu-Ɔsandaa', 'Fankwa-Ɛbɔ', 'Ɔbɛsɛ-Ahinime', 'Ɔberɛfɛw-Obubuo', 'Mumu-Ɔpɛnimba'],
+    'months_short' => ['S-Ɔ', 'K-Ɔ', 'E-Ɔ', 'E-O', 'E-K', 'O-A', 'A-K', 'D-Ɔ', 'F-Ɛ', 'Ɔ-A', 'Ɔ-O', 'M-Ɔ'],
+    'weekdays' => ['Kwesida', 'Dwowda', 'Benada', 'Wukuda', 'Yawda', 'Fida', 'Memeneda'],
+    'weekdays_short' => ['Kwe', 'Dwo', 'Ben', 'Wuk', 'Yaw', 'Fia', 'Mem'],
+    'weekdays_min' => ['Kwe', 'Dwo', 'Ben', 'Wuk', 'Yaw', 'Fia', 'Mem'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['AN', 'EW'],
+
+    'year' => ':count afe',
+    'y' => ':count afe',
+    'a_year' => ':count afe',
+
+    'month' => ':count bosume',
+    'm' => ':count bosume',
+    'a_month' => ':count bosume',
+
+    'day' => ':count ɛda',
+    'd' => ':count ɛda',
+    'a_day' => ':count ɛda',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/am.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/am.php
new file mode 100644
index 0000000..63bf72d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/am.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/am_ET.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/am_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/am_ET.php
new file mode 100644
index 0000000..ece8062
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/am_ET.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕሪል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', 'ኦክቶበር', 'ኖቬምበር', 'ዲሴምበር'],
+    'months_short' => ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ ', 'ጁን ', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', 'ዲሴም'],
+    'weekdays' => ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
+    'weekdays_short' => ['እሑድ', 'ሰኞ ', 'ማክሰ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
+    'weekdays_min' => ['እሑድ', 'ሰኞ ', 'ማክሰ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ጡዋት', 'ከሰዓት'],
+
+    'year' => ':count አመት',
+    'y' => ':count አመት',
+    'a_year' => ':count አመት',
+
+    'month' => ':count ወር',
+    'm' => ':count ወር',
+    'a_month' => ':count ወር',
+
+    'week' => ':count ሳምንት',
+    'w' => ':count ሳምንት',
+    'a_week' => ':count ሳምንት',
+
+    'day' => ':count ቀን',
+    'd' => ':count ቀን',
+    'a_day' => ':count ቀን',
+
+    'hour' => ':count ሰዓት',
+    'h' => ':count ሰዓት',
+    'a_hour' => ':count ሰዓት',
+
+    'minute' => ':count ደቂቃ',
+    'min' => ':count ደቂቃ',
+    'a_minute' => ':count ደቂቃ',
+
+    'second' => ':count ሴኮንድ',
+    's' => ':count ሴኮንድ',
+    'a_second' => ':count ሴኮንድ',
+
+    'ago' => 'ከ:time በፊት',
+    'from_now' => 'በ:time ውስጥ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/an.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/an.php
new file mode 100644
index 0000000..565abf2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/an.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/an_ES.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/an_ES.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/an_ES.php
new file mode 100644
index 0000000..faf8ae0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/an_ES.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Softaragones Jordi Mallach Pérez, Juan Pablo Martínez bug-glibc-locales@gnu.org, softaragones@softaragones.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['chinero', 'febrero', 'marzo', 'abril', 'mayo', 'chunyo', 'chuliol', 'agosto', 'setiembre', 'octubre', 'noviembre', 'aviento'],
+    'months_short' => ['chi', 'feb', 'mar', 'abr', 'may', 'chn', 'chl', 'ago', 'set', 'oct', 'nov', 'avi'],
+    'weekdays' => ['domingo', 'luns', 'martes', 'mierques', 'chueves', 'viernes', 'sabado'],
+    'weekdays_short' => ['dom', 'lun', 'mar', 'mie', 'chu', 'vie', 'sab'],
+    'weekdays_min' => ['dom', 'lun', 'mar', 'mie', 'chu', 'vie', 'sab'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count año',
+    'y' => ':count año',
+    'a_year' => ':count año',
+
+    'month' => ':count mes',
+    'm' => ':count mes',
+    'a_month' => ':count mes',
+
+    'week' => ':count semana',
+    'w' => ':count semana',
+    'a_week' => ':count semana',
+
+    'day' => ':count día',
+    'd' => ':count día',
+    'a_day' => ':count día',
+
+    'hour' => ':count reloch', // less reliable
+    'h' => ':count reloch', // less reliable
+    'a_hour' => ':count reloch', // less reliable
+
+    'minute' => ':count minuto',
+    'min' => ':count minuto',
+    'a_minute' => ':count minuto',
+
+    'second' => ':count segundo',
+    's' => ':count segundo',
+    'a_second' => ':count segundo',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/anp.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/anp.php
new file mode 100644
index 0000000..b56c67b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/anp.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/anp_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/anp_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/anp_IN.php
new file mode 100644
index 0000000..11069be
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/anp_IN.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bhashaghar@googlegroups.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितंबर', 'अक्टूबर', 'नवंबर', 'दिसंबर"'],
+    'months_short' => ['जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितंबर', 'अक्टूबर', 'नवंबर', 'दिसंबर'],
+    'weekdays' => ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'बृहस्पतिवार', 'शुक्रवार', 'शनिवार'],
+    'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बुध', 'बृहस्पति', 'शुक्र', 'शनि'],
+    'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बुध', 'बृहस्पति', 'शुक्र', 'शनि'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar.php
new file mode 100644
index 0000000..5f73f63
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar.php
@@ -0,0 +1,93 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Atef Ben Ali (atefBB)
+ * - Ibrahim AshShohail
+ * - MLTDev
+ * - Mohamed Sabil (mohamedsabil83)
+ * - Yazan Alnugnugh (yazan-alnugnugh)
+ */
+$months = [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر',
+];
+
+return [
+    'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'ago' => 'منذ :time',
+    'from_now' => ':time من الآن',
+    'after' => 'بعد :time',
+    'before' => 'قبل :time',
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدًا(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['ح', 'اث', 'ثل', 'أر', 'خم', 'ج', 'س'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم عند الساعة] LT',
+        'nextDay' => '[غدًا عند الساعة] LT',
+        'nextWeek' => 'dddd [عند الساعة] LT',
+        'lastDay' => '[أمس عند الساعة] LT',
+        'lastWeek' => 'dddd [عند الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_AE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_AE.php
new file mode 100644
index 0000000..75fe47f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_AE.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت '],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_BH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_BH.php
new file mode 100644
index 0000000..362009e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_BH.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_DJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_DJ.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_DJ.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_DZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_DZ.php
new file mode 100644
index 0000000..aea4eee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_DZ.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Authors:
+ * - Josh Soref
+ * - Noureddine LOUAHEDJ
+ * - JD Isaacks
+ * - Atef Ben Ali (atefBB)
+ * - Mohamed Sabil (mohamedsabil83)
+ */
+$months = [
+    'جانفي',
+    'فيفري',
+    'مارس',
+    'أفريل',
+    'ماي',
+    'جوان',
+    'جويلية',
+    'أوت',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر',
+];
+
+return [
+    'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'ago' => 'منذ :time',
+    'from_now' => 'في :time',
+    'after' => 'بعد :time',
+    'before' => 'قبل :time',
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدا(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['أح', 'إث', 'ثلا', 'أر', 'خم', 'جم', 'سب'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 4,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم على الساعة] LT',
+        'nextDay' => '[غدا على الساعة] LT',
+        'nextWeek' => 'dddd [على الساعة] LT',
+        'lastDay' => '[أمس على الساعة] LT',
+        'lastWeek' => 'dddd [على الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_EG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_EG.php
new file mode 100644
index 0000000..362009e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_EG.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_EH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_EH.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_EH.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_ER.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_ER.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_ER.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IL.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IL.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IN.php
new file mode 100644
index 0000000..5fecf70
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IN.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IQ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IQ.php
new file mode 100644
index 0000000..0ac0995
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_IQ.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_JO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_JO.php
new file mode 100644
index 0000000..0ac0995
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_JO.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_KM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_KM.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_KM.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_KW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_KW.php
new file mode 100644
index 0000000..e6f0531
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_KW.php
@@ -0,0 +1,93 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Authors:
+ * - Josh Soref
+ * - Nusret Parlak
+ * - JD Isaacks
+ * - Atef Ben Ali (atefBB)
+ * - Mohamed Sabil (mohamedsabil83)
+ */
+$months = [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'ماي',
+    'يونيو',
+    'يوليوز',
+    'غشت',
+    'شتنبر',
+    'أكتوبر',
+    'نونبر',
+    'دجنبر',
+];
+
+return [
+    'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'ago' => 'منذ :time',
+    'from_now' => 'في :time',
+    'after' => 'بعد :time',
+    'before' => 'قبل :time',
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدا(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم على الساعة] LT',
+        'nextDay' => '[غدا على الساعة] LT',
+        'nextWeek' => 'dddd [على الساعة] LT',
+        'lastDay' => '[أمس على الساعة] LT',
+        'lastWeek' => 'dddd [على الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_LB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_LB.php
new file mode 100644
index 0000000..55bb10c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_LB.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_LY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_LY.php
new file mode 100644
index 0000000..1f0af49
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_LY.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Atef Ben Ali (atefBB)
+ * - Ibrahim AshShohail
+ * - MLTDev
+ */
+
+$months = [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر',
+];
+
+return [
+    'year' => implode('|', [':count سنة', 'سنة', 'سنتين', ':count سنوات', ':count سنة']),
+    'a_year' => implode('|', [':count سنة', 'سنة', 'سنتين', ':count سنوات', ':count سنة']),
+    'month' => implode('|', [':count شهر', 'شهر', 'شهرين', ':count أشهر', ':count شهر']),
+    'a_month' => implode('|', [':count شهر', 'شهر', 'شهرين', ':count أشهر', ':count شهر']),
+    'week' => implode('|', [':count أسبوع', 'أسبوع', 'أسبوعين', ':count أسابيع', ':count أسبوع']),
+    'a_week' => implode('|', [':count أسبوع', 'أسبوع', 'أسبوعين', ':count أسابيع', ':count أسبوع']),
+    'day' => implode('|', [':count يوم', 'يوم', 'يومين', ':count أيام', ':count يوم']),
+    'a_day' => implode('|', [':count يوم', 'يوم', 'يومين', ':count أيام', ':count يوم']),
+    'hour' => implode('|', [':count ساعة', 'ساعة', 'ساعتين', ':count ساعات', ':count ساعة']),
+    'a_hour' => implode('|', [':count ساعة', 'ساعة', 'ساعتين', ':count ساعات', ':count ساعة']),
+    'minute' => implode('|', [':count دقيقة', 'دقيقة', 'دقيقتين', ':count دقائق', ':count دقيقة']),
+    'a_minute' => implode('|', [':count دقيقة', 'دقيقة', 'دقيقتين', ':count دقائق', ':count دقيقة']),
+    'second' => implode('|', [':count ثانية', 'ثانية', 'ثانيتين', ':count ثواني', ':count ثانية']),
+    'a_second' => implode('|', [':count ثانية', 'ثانية', 'ثانيتين', ':count ثواني', ':count ثانية']),
+    'ago' => 'منذ :time',
+    'from_now' => ':time من الآن',
+    'after' => 'بعد :time',
+    'before' => 'قبل :time',
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدًا(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['مرة', 'مرة', ':count مرتين', ':count مرات', ':count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['ح', 'اث', 'ثل', 'أر', 'خم', 'ج', 'س'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم عند الساعة] LT',
+        'nextDay' => '[غدًا عند الساعة] LT',
+        'nextWeek' => 'dddd [عند الساعة] LT',
+        'lastDay' => '[أمس عند الساعة] LT',
+        'lastWeek' => 'dddd [عند الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_MA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_MA.php
new file mode 100644
index 0000000..047ae05
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_MA.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Authors:
+ * - Josh Soref
+ * - JD Isaacks
+ * - Atef Ben Ali (atefBB)
+ * - Mohamed Sabil (mohamedsabil83)
+ */
+$months = [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'ماي',
+    'يونيو',
+    'يوليوز',
+    'غشت',
+    'شتنبر',
+    'أكتوبر',
+    'نونبر',
+    'دجنبر',
+];
+
+return [
+    'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'ago' => 'منذ :time',
+    'from_now' => 'في :time',
+    'after' => 'بعد :time',
+    'before' => 'قبل :time',
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدا(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم على الساعة] LT',
+        'nextDay' => '[غدا على الساعة] LT',
+        'nextWeek' => 'dddd [على الساعة] LT',
+        'lastDay' => '[أمس على الساعة] LT',
+        'lastWeek' => 'dddd [على الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_MR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_MR.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_MR.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_OM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_OM.php
new file mode 100644
index 0000000..362009e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_OM.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_PS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_PS.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_PS.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_QA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_QA.php
new file mode 100644
index 0000000..362009e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_QA.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SA.php
new file mode 100644
index 0000000..10aaa2e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SA.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Authors:
+ * - Josh Soref
+ * - JD Isaacks
+ * - Atef Ben Ali (atefBB)
+ * - Mohamed Sabil (mohamedsabil83)
+ */
+$months = [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر',
+];
+
+return [
+    'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'ago' => 'منذ :time',
+    'from_now' => 'في :time',
+    'after' => 'بعد :time',
+    'before' => 'قبل :time',
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدا(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم على الساعة] LT',
+        'nextDay' => '[غدا على الساعة] LT',
+        'nextWeek' => 'dddd [على الساعة] LT',
+        'lastDay' => '[أمس على الساعة] LT',
+        'lastWeek' => 'dddd [على الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SD.php
new file mode 100644
index 0000000..362009e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SD.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SO.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SO.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SS.php
new file mode 100644
index 0000000..32f3282
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SS.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SY.php
new file mode 100644
index 0000000..0ac0995
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_SY.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_Shakl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_Shakl.php
new file mode 100644
index 0000000..c2d4b43
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_Shakl.php
@@ -0,0 +1,95 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Abdellah Chadidi
+ * - Atef Ben Ali (atefBB)
+ * - Mohamed Sabil (mohamedsabil83)
+ */
+// Same for long and short
+$months = [
+    // @TODO add shakl to months
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر',
+];
+
+return [
+    'year' => implode('|', ['{0}:count سَنَة', '{1}سَنَة', '{2}سَنَتَيْن', ']2,11[:count سَنَوَات', ']10,Inf[:count سَنَة']),
+    'a_year' => implode('|', ['{0}:count سَنَة', '{1}سَنَة', '{2}سَنَتَيْن', ']2,11[:count سَنَوَات', ']10,Inf[:count سَنَة']),
+    'month' => implode('|', ['{0}:count شَهْرَ', '{1}شَهْرَ', '{2}شَهْرَيْن', ']2,11[:count أَشْهُر', ']10,Inf[:count شَهْرَ']),
+    'a_month' => implode('|', ['{0}:count شَهْرَ', '{1}شَهْرَ', '{2}شَهْرَيْن', ']2,11[:count أَشْهُر', ']10,Inf[:count شَهْرَ']),
+    'week' => implode('|', ['{0}:count أُسْبُوع', '{1}أُسْبُوع', '{2}أُسْبُوعَيْن', ']2,11[:count أَسَابِيع', ']10,Inf[:count أُسْبُوع']),
+    'a_week' => implode('|', ['{0}:count أُسْبُوع', '{1}أُسْبُوع', '{2}أُسْبُوعَيْن', ']2,11[:count أَسَابِيع', ']10,Inf[:count أُسْبُوع']),
+    'day' => implode('|', ['{0}:count يَوْم', '{1}يَوْم', '{2}يَوْمَيْن', ']2,11[:count أَيَّام', ']10,Inf[:count يَوْم']),
+    'a_day' => implode('|', ['{0}:count يَوْم', '{1}يَوْم', '{2}يَوْمَيْن', ']2,11[:count أَيَّام', ']10,Inf[:count يَوْم']),
+    'hour' => implode('|', ['{0}:count سَاعَة', '{1}سَاعَة', '{2}سَاعَتَيْن', ']2,11[:count سَاعَات', ']10,Inf[:count سَاعَة']),
+    'a_hour' => implode('|', ['{0}:count سَاعَة', '{1}سَاعَة', '{2}سَاعَتَيْن', ']2,11[:count سَاعَات', ']10,Inf[:count سَاعَة']),
+    'minute' => implode('|', ['{0}:count دَقِيقَة', '{1}دَقِيقَة', '{2}دَقِيقَتَيْن', ']2,11[:count دَقَائِق', ']10,Inf[:count دَقِيقَة']),
+    'a_minute' => implode('|', ['{0}:count دَقِيقَة', '{1}دَقِيقَة', '{2}دَقِيقَتَيْن', ']2,11[:count دَقَائِق', ']10,Inf[:count دَقِيقَة']),
+    'second' => implode('|', ['{0}:count ثَانِيَة', '{1}ثَانِيَة', '{2}ثَانِيَتَيْن', ']2,11[:count ثَوَان', ']10,Inf[:count ثَانِيَة']),
+    'a_second' => implode('|', ['{0}:count ثَانِيَة', '{1}ثَانِيَة', '{2}ثَانِيَتَيْن', ']2,11[:count ثَوَان', ']10,Inf[:count ثَانِيَة']),
+    'ago' => 'مُنْذُ :time',
+    'from_now' => 'مِنَ الْآن :time',
+    'after' => 'بَعْدَ :time',
+    'before' => 'قَبْلَ :time',
+
+    // @TODO add shakl to translations below
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدًا(?:\\s+عند)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['ح', 'اث', 'ثل', 'أر', 'خم', 'ج', 'س'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم عند الساعة] LT',
+        'nextDay' => '[غدًا عند الساعة] LT',
+        'nextWeek' => 'dddd [عند الساعة] LT',
+        'lastDay' => '[أمس عند الساعة] LT',
+        'lastWeek' => 'dddd [عند الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_TD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_TD.php
new file mode 100644
index 0000000..8d377ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_TD.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_TN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_TN.php
new file mode 100644
index 0000000..f096678
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_TN.php
@@ -0,0 +1,91 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Authors:
+ * - JD Isaacks
+ * - Atef Ben Ali (atefBB)
+ * - Mohamed Sabil (mohamedsabil83)
+ */
+$months = [
+    'جانفي',
+    'فيفري',
+    'مارس',
+    'أفريل',
+    'ماي',
+    'جوان',
+    'جويلية',
+    'أوت',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر',
+];
+
+return [
+    'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']),
+    'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']),
+    'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']),
+    'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']),
+    'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']),
+    'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']),
+    'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']),
+    'ago' => 'منذ :time',
+    'from_now' => 'في :time',
+    'after' => 'بعد :time',
+    'before' => 'قبل :time',
+    'diff_now' => 'الآن',
+    'diff_today' => 'اليوم',
+    'diff_today_regexp' => 'اليوم(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_yesterday' => 'أمس',
+    'diff_yesterday_regexp' => 'أمس(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_tomorrow' => 'غداً',
+    'diff_tomorrow_regexp' => 'غدا(?:\\s+على)?(?:\\s+الساعة)?',
+    'diff_before_yesterday' => 'قبل الأمس',
+    'diff_after_tomorrow' => 'بعد غد',
+    'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']),
+    'period_interval' => 'كل :interval',
+    'period_start_date' => 'من :date',
+    'period_end_date' => 'إلى :date',
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'list' => ['، ', ' و '],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اليوم على الساعة] LT',
+        'nextDay' => '[غدا على الساعة] LT',
+        'nextWeek' => 'dddd [على الساعة] LT',
+        'lastDay' => '[أمس على الساعة] LT',
+        'lastWeek' => 'dddd [على الساعة] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ص', 'م'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_YE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_YE.php
new file mode 100644
index 0000000..5dc2938
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ar_YE.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ar.php', [
+    'formats' => [
+        'L' => 'DD MMM, YYYY',
+    ],
+    'months' => ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
+    'months_short' => ['ينا', 'فبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوف', 'ديس'],
+    'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
+    'weekdays_short' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'weekdays_min' => ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/as.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/as.php
new file mode 100644
index 0000000..04bc3df
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/as.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/as_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/as_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/as_IN.php
new file mode 100644
index 0000000..5fbc3db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/as_IN.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Amitakhya Phukan, Red Hat    bug-glibc@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D-MM-YYYY',
+    ],
+    'months' => ['জানুৱাৰী', 'ফেব্ৰুৱাৰী', 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', 'জুলাই', 'আগষ্ট', 'ছেপ্তেম্বৰ', 'অক্টোবৰ', 'নৱেম্বৰ', 'ডিচেম্বৰ'],
+    'months_short' => ['জানু', 'ফেব্ৰু', 'মাৰ্চ', 'এপ্ৰিল', 'মে', 'জুন', 'জুলাই', 'আগ', 'সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'],
+    'weekdays' => ['দেওবাৰ', 'সোমবাৰ', 'মঙ্গলবাৰ', 'বুধবাৰ', 'বৃহষ্পতিবাৰ', 'শুক্ৰবাৰ', 'শনিবাৰ'],
+    'weekdays_short' => ['দেও', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহষ্পতি', 'শুক্ৰ', 'শনি'],
+    'weekdays_min' => ['দেও', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহষ্পতি', 'শুক্ৰ', 'শনি'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['পূৰ্ব্বাহ্ন', 'অপৰাহ্ন'],
+
+    'year' => ':count বছৰ',
+    'y' => ':count বছৰ',
+    'a_year' => ':count বছৰ',
+
+    'month' => ':count মাহ',
+    'm' => ':count মাহ',
+    'a_month' => ':count মাহ',
+
+    'week' => ':count সপ্তাহ',
+    'w' => ':count সপ্তাহ',
+    'a_week' => ':count সপ্তাহ',
+
+    'day' => ':count বাৰ',
+    'd' => ':count বাৰ',
+    'a_day' => ':count বাৰ',
+
+    'hour' => ':count ঘণ্টা',
+    'h' => ':count ঘণ্টা',
+    'a_hour' => ':count ঘণ্টা',
+
+    'minute' => ':count মিনিট',
+    'min' => ':count মিনিট',
+    'a_minute' => ':count মিনিট',
+
+    'second' => ':count দ্বিতীয়',
+    's' => ':count দ্বিতীয়',
+    'a_second' => ':count দ্বিতীয়',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/asa.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/asa.php
new file mode 100644
index 0000000..8389757
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/asa.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['icheheavo', 'ichamthi'],
+    'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Ijm', 'Jmo'],
+    'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Ijm', 'Jmo'],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Dec'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ast.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ast.php
new file mode 100644
index 0000000..d9bdebe
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ast.php
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Jordi Mallach jordi@gnu.org
+ * - Adolfo Jayme-Barrientos (fitojb)
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['de xineru', 'de febreru', 'de marzu', 'd’abril', 'de mayu', 'de xunu', 'de xunetu', 'd’agostu', 'de setiembre', 'd’ochobre', 'de payares', 'd’avientu'],
+    'months_short' => ['xin', 'feb', 'mar', 'abr', 'may', 'xun', 'xnt', 'ago', 'set', 'och', 'pay', 'avi'],
+    'weekdays' => ['domingu', 'llunes', 'martes', 'miércoles', 'xueves', 'vienres', 'sábadu'],
+    'weekdays_short' => ['dom', 'llu', 'mar', 'mié', 'xue', 'vie', 'sáb'],
+    'weekdays_min' => ['dom', 'llu', 'mar', 'mié', 'xue', 'vie', 'sáb'],
+
+    'year' => ':count añu|:count años',
+    'y' => ':count añu|:count años',
+    'a_year' => 'un añu|:count años',
+
+    'month' => ':count mes',
+    'm' => ':count mes',
+    'a_month' => 'un mes|:count mes',
+
+    'week' => ':count selmana|:count selmanes',
+    'w' => ':count selmana|:count selmanes',
+    'a_week' => 'una selmana|:count selmanes',
+
+    'day' => ':count día|:count díes',
+    'd' => ':count día|:count díes',
+    'a_day' => 'un día|:count díes',
+
+    'hour' => ':count hora|:count hores',
+    'h' => ':count hora|:count hores',
+    'a_hour' => 'una hora|:count hores',
+
+    'minute' => ':count minutu|:count minutos',
+    'min' => ':count minutu|:count minutos',
+    'a_minute' => 'un minutu|:count minutos',
+
+    'second' => ':count segundu|:count segundos',
+    's' => ':count segundu|:count segundos',
+    'a_second' => 'un segundu|:count segundos',
+
+    'ago' => 'hai :time',
+    'from_now' => 'en :time',
+    'after' => ':time dempués',
+    'before' => ':time enantes',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ast_ES.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ast_ES.php
new file mode 100644
index 0000000..04d7562
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ast_ES.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return require __DIR__.'/ast.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ayc.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ayc.php
new file mode 100644
index 0000000..d6a6f63
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ayc.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ayc_PE.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ayc_PE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ayc_PE.php
new file mode 100644
index 0000000..ff18504
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ayc_PE.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - runasimipi.org    libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['inïru', 'phiwriru', 'marsu', 'awrila', 'mayu', 'junyu', 'julyu', 'awustu', 'sitimri', 'uktuwri', 'nuwimri', 'risimri'],
+    'months_short' => ['ini', 'phi', 'mar', 'awr', 'may', 'jun', 'jul', 'awu', 'sit', 'ukt', 'nuw', 'ris'],
+    'weekdays' => ['tuminku', 'lunisa', 'martisa', 'mirkulisa', 'juywisa', 'wirnisa', 'sawäru'],
+    'weekdays_short' => ['tum', 'lun', 'mar', 'mir', 'juy', 'wir', 'saw'],
+    'weekdays_min' => ['tum', 'lun', 'mar', 'mir', 'juy', 'wir', 'saw'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['VM', 'NM'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az.php
new file mode 100644
index 0000000..1e92106
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az.php
@@ -0,0 +1,128 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Kunal Marwaha
+ * - François B
+ * - JD Isaacks
+ * - Orxan
+ * - Şəhriyar İmanov
+ * - Baran Şengül
+ */
+return [
+    'year' => ':count il',
+    'a_year' => '{1}bir il|]1,Inf[:count il',
+    'y' => ':count il',
+    'month' => ':count ay',
+    'a_month' => '{1}bir ay|]1,Inf[:count ay',
+    'm' => ':count ay',
+    'week' => ':count həftə',
+    'a_week' => '{1}bir həftə|]1,Inf[:count həftə',
+    'w' => ':count h.',
+    'day' => ':count gün',
+    'a_day' => '{1}bir gün|]1,Inf[:count gün',
+    'd' => ':count g.',
+    'hour' => ':count saat',
+    'a_hour' => '{1}bir saat|]1,Inf[:count saat',
+    'h' => ':count saat',
+    'minute' => ':count d.',
+    'a_minute' => '{1}bir dəqiqə|]1,Inf[:count dəqiqə',
+    'min' => ':count dəqiqə',
+    'second' => ':count san.',
+    'a_second' => '{1}birneçə saniyə|]1,Inf[:count saniyə',
+    's' => ':count saniyə',
+    'ago' => ':time əvvəl',
+    'from_now' => ':time sonra',
+    'after' => ':time sonra',
+    'before' => ':time əvvəl',
+    'diff_now' => 'indi',
+    'diff_today' => 'bugün',
+    'diff_today_regexp' => 'bugün(?:\\s+saat)?',
+    'diff_yesterday' => 'dünən',
+    'diff_tomorrow' => 'sabah',
+    'diff_tomorrow_regexp' => 'sabah(?:\\s+saat)?',
+    'diff_before_yesterday' => 'srağagün',
+    'diff_after_tomorrow' => 'birisi gün',
+    'period_recurrences' => ':count dəfədən bir',
+    'period_interval' => 'hər :interval',
+    'period_start_date' => ':date tarixindən başlayaraq',
+    'period_end_date' => ':date tarixinədək',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[bugün saat] LT',
+        'nextDay' => '[sabah saat] LT',
+        'nextWeek' => '[gələn həftə] dddd [saat] LT',
+        'lastDay' => '[dünən] LT',
+        'lastWeek' => '[keçən həftə] dddd [saat] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        if ($number === 0) { // special case for zero
+            return "$number-ıncı";
+        }
+
+        static $suffixes = [
+            1 => '-inci',
+            5 => '-inci',
+            8 => '-inci',
+            70 => '-inci',
+            80 => '-inci',
+            2 => '-nci',
+            7 => '-nci',
+            20 => '-nci',
+            50 => '-nci',
+            3 => '-üncü',
+            4 => '-üncü',
+            100 => '-üncü',
+            6 => '-ncı',
+            9 => '-uncu',
+            10 => '-uncu',
+            30 => '-uncu',
+            60 => '-ıncı',
+            90 => '-ıncı',
+        ];
+
+        $lastDigit = $number % 10;
+
+        return $number.($suffixes[$lastDigit] ?? $suffixes[$number % 100 - $lastDigit] ?? $suffixes[$number >= 100 ? 100 : -1] ?? '');
+    },
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'gecə';
+        }
+        if ($hour < 12) {
+            return 'səhər';
+        }
+        if ($hour < 17) {
+            return 'gündüz';
+        }
+
+        return 'axşam';
+    },
+    'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'],
+    'months_short' => ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', 'okt', 'noy', 'dek'],
+    'months_standalone' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'],
+    'weekdays' => ['bazar', 'bazar ertəsi', 'çərşənbə axşamı', 'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'],
+    'weekdays_short' => ['baz', 'bze', 'çax', 'çər', 'cax', 'cüm', 'şən'],
+    'weekdays_min' => ['bz', 'be', 'ça', 'çə', 'ca', 'cü', 'şə'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' və '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_AZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_AZ.php
new file mode 100644
index 0000000..2acf881
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_AZ.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/az.php', [
+    'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'İyn', 'İyl', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek'],
+    'weekdays' => ['bazar günü', 'bazar ertəsi', 'çərşənbə axşamı', 'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'],
+    'weekdays_short' => ['baz', 'ber', 'çax', 'çər', 'cax', 'cüm', 'şnb'],
+    'weekdays_min' => ['baz', 'ber', 'çax', 'çər', 'cax', 'cüm', 'şnb'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_Cyrl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_Cyrl.php
new file mode 100644
index 0000000..d697918
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_Cyrl.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/az.php', [
+    'weekdays' => ['базар', 'базар ертәси', 'чәршәнбә ахшамы', 'чәршәнбә', 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'],
+    'weekdays_short' => ['Б.', 'Б.Е.', 'Ч.А.', 'Ч.', 'Ҹ.А.', 'Ҹ.', 'Ш.'],
+    'weekdays_min' => ['Б.', 'Б.Е.', 'Ч.А.', 'Ч.', 'Ҹ.А.', 'Ҹ.', 'Ш.'],
+    'months' => ['јанвар', 'феврал', 'март', 'апрел', 'май', 'ијун', 'ијул', 'август', 'сентјабр', 'октјабр', 'нојабр', 'декабр'],
+    'months_short' => ['јан', 'фев', 'мар', 'апр', 'май', 'ијн', 'ијл', 'авг', 'сен', 'окт', 'ној', 'дек'],
+    'months_standalone' => ['Јанвар', 'Феврал', 'Март', 'Апрел', 'Май', 'Ијун', 'Ијул', 'Август', 'Сентјабр', 'Октјабр', 'Нојабр', 'Декабр'],
+    'meridiem' => ['а', 'п'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_IR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_IR.php
new file mode 100644
index 0000000..991a0ef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_IR.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Mousa Moradi mousamk@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'OY/OM/OD',
+    ],
+    'months' => ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مئی', 'ژوئن', 'جولای', 'آقۇست', 'سپتامبر', 'اوْکتوْبر', 'نوْوامبر', 'دسامبر'],
+    'months_short' => ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مئی', 'ژوئن', 'جولای', 'آقۇست', 'سپتامبر', 'اوْکتوْبر', 'نوْوامبر', 'دسامبر'],
+    'weekdays' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چارشنبه', 'جۆمعه آخشامی', 'جۆمعه', 'شنبه'],
+    'weekdays_short' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چارشنبه', 'جۆمعه آخشامی', 'جۆمعه', 'شنبه'],
+    'weekdays_min' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چارشنبه', 'جۆمعه آخشامی', 'جۆمعه', 'شنبه'],
+    'first_day_of_week' => 6,
+    'alt_numbers' => ['۰۰', '۰۱', '۰۲', '۰۳', '۰۴', '۰۵', '۰۶', '۰۷', '۰۸', '۰۹', '۱۰', '۱۱', '۱۲', '۱۳', '۱۴', '۱۵', '۱۶', '۱۷', '۱۸', '۱۹', '۲۰', '۲۱', '۲۲', '۲۳', '۲۴', '۲۵', '۲۶', '۲۷', '۲۸', '۲۹', '۳۰', '۳۱', '۳۲', '۳۳', '۳۴', '۳۵', '۳۶', '۳۷', '۳۸', '۳۹', '۴۰', '۴۱', '۴۲', '۴۳', '۴۴', '۴۵', '۴۶', '۴۷', '۴۸', '۴۹', '۵۰', '۵۱', '۵۲', '۵۳', '۵۴', '۵۵', '۵۶', '۵۷', '۵۸', '۵۹', '۶۰', '۶۱', '۶۲', '۶۳', '۶۴', '۶۵', '۶۶', '۶۷', '۶۸', '۶۹', '۷۰', '۷۱', '۷۲', '۷۳', '۷۴', '۷۵', '۷۶', '۷۷', '۷۸', '۷۹', '۸۰', '۸۱', '۸۲', '۸۳', '۸۴', '۸۵', '۸۶', '۸۷', '۸۸', '۸۹', '۹۰', '۹۱', '۹۲', '۹۳', '۹۴', '۹۵', '۹۶', '۹۷', '۹۸', '۹۹'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_Latn.php
new file mode 100644
index 0000000..8346a5d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/az_Latn.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/az.php', [
+    'meridiem' => ['a', 'p'],
+    'weekdays' => ['bazar', 'bazar ertəsi', 'çərşənbə axşamı', 'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'],
+    'weekdays_short' => ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C.', 'Ş.'],
+    'weekdays_min' => ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C.', 'Ş.'],
+    'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'],
+    'months_short' => ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', 'okt', 'noy', 'dek'],
+    'months_standalone' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'D MMMM YYYY, dddd HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bas.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bas.php
new file mode 100644
index 0000000..1b342bb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bas.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['I bikɛ̂glà', 'I ɓugajɔp'],
+    'weekdays' => ['ŋgwà nɔ̂y', 'ŋgwà njaŋgumba', 'ŋgwà ûm', 'ŋgwà ŋgê', 'ŋgwà mbɔk', 'ŋgwà kɔɔ', 'ŋgwà jôn'],
+    'weekdays_short' => ['nɔy', 'nja', 'uum', 'ŋge', 'mbɔ', 'kɔɔ', 'jon'],
+    'weekdays_min' => ['nɔy', 'nja', 'uum', 'ŋge', 'mbɔ', 'kɔɔ', 'jon'],
+    'months' => ['Kɔndɔŋ', 'Màcɛ̂l', 'Màtùmb', 'Màtop', 'M̀puyɛ', 'Hìlòndɛ̀', 'Njèbà', 'Hìkaŋ', 'Dìpɔ̀s', 'Bìòôm', 'Màyɛsèp', 'Lìbuy li ńyèe'],
+    'months_short' => ['kɔn', 'mac', 'mat', 'mto', 'mpu', 'hil', 'nje', 'hik', 'dip', 'bio', 'may', 'liɓ'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'second' => ':count móndî', // less reliable
+    's' => ':count móndî', // less reliable
+    'a_second' => ':count móndî', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be.php
new file mode 100644
index 0000000..ce8dbe8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be.php
@@ -0,0 +1,168 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+// @codeCoverageIgnoreStart
+if (class_exists('Symfony\\Component\\Translation\\PluralizationRules')) {
+    \Symfony\Component\Translation\PluralizationRules::set(function ($number) {
+        return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
+    }, 'be');
+}
+// @codeCoverageIgnoreEnd
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - SobakaSlava
+ * - François B
+ * - Serhan Apaydın
+ * - JD Isaacks
+ * - AbadonnaAbbys
+ * - Siomkin Alexander
+ */
+return [
+    'year' => ':count год|:count гады|:count гадоў',
+    'a_year' => '{1}год|:count год|:count гады|:count гадоў',
+    'y' => ':count год|:count гады|:count гадоў',
+    'month' => ':count месяц|:count месяцы|:count месяцаў',
+    'a_month' => '{1}месяц|:count месяц|:count месяцы|:count месяцаў',
+    'm' => ':count месяц|:count месяцы|:count месяцаў',
+    'week' => ':count тыдзень|:count тыдні|:count тыдняў',
+    'a_week' => '{1}тыдзень|:count тыдзень|:count тыдні|:count тыдняў',
+    'w' => ':count тыдзень|:count тыдні|:count тыдняў',
+    'day' => ':count дзень|:count дні|:count дзён',
+    'a_day' => '{1}дзень|:count дзень|:count дні|:count дзён',
+    'd' => ':count дн',
+    'hour' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'a_hour' => '{1}гадзіна|:count гадзіна|:count гадзіны|:count гадзін',
+    'h' => ':count гадзіна|:count гадзіны|:count гадзін',
+    'minute' => ':count хвіліна|:count хвіліны|:count хвілін',
+    'a_minute' => '{1}хвіліна|:count хвіліна|:count хвіліны|:count хвілін',
+    'min' => ':count хв',
+    'second' => ':count секунда|:count секунды|:count секунд',
+    'a_second' => '{1}некалькі секунд|:count секунда|:count секунды|:count секунд',
+    's' => ':count сек',
+
+    'hour_ago' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'a_hour_ago' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін',
+    'h_ago' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'minute_ago' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'a_minute_ago' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін',
+    'min_ago' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'second_ago' => ':count секунду|:count секунды|:count секунд',
+    'a_second_ago' => '{1}некалькі секунд|:count секунду|:count секунды|:count секунд',
+    's_ago' => ':count секунду|:count секунды|:count секунд',
+
+    'hour_from_now' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'a_hour_from_now' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін',
+    'h_from_now' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'minute_from_now' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'a_minute_from_now' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін',
+    'min_from_now' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'second_from_now' => ':count секунду|:count секунды|:count секунд',
+    'a_second_from_now' => '{1}некалькі секунд|:count секунду|:count секунды|:count секунд',
+    's_from_now' => ':count секунду|:count секунды|:count секунд',
+
+    'hour_after' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'a_hour_after' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін',
+    'h_after' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'minute_after' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'a_minute_after' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін',
+    'min_after' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'second_after' => ':count секунду|:count секунды|:count секунд',
+    'a_second_after' => '{1}некалькі секунд|:count секунду|:count секунды|:count секунд',
+    's_after' => ':count секунду|:count секунды|:count секунд',
+
+    'hour_before' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'a_hour_before' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін',
+    'h_before' => ':count гадзіну|:count гадзіны|:count гадзін',
+    'minute_before' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'a_minute_before' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін',
+    'min_before' => ':count хвіліну|:count хвіліны|:count хвілін',
+    'second_before' => ':count секунду|:count секунды|:count секунд',
+    'a_second_before' => '{1}некалькі секунд|:count секунду|:count секунды|:count секунд',
+    's_before' => ':count секунду|:count секунды|:count секунд',
+
+    'ago' => ':time таму',
+    'from_now' => 'праз :time',
+    'after' => ':time пасля',
+    'before' => ':time да',
+    'diff_now' => 'цяпер',
+    'diff_today' => 'Сёння',
+    'diff_today_regexp' => 'Сёння(?:\\s+ў)?',
+    'diff_yesterday' => 'учора',
+    'diff_yesterday_regexp' => 'Учора(?:\\s+ў)?',
+    'diff_tomorrow' => 'заўтра',
+    'diff_tomorrow_regexp' => 'Заўтра(?:\\s+ў)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY г.',
+        'LLL' => 'D MMMM YYYY г., HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY г., HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Сёння ў] LT',
+        'nextDay' => '[Заўтра ў] LT',
+        'nextWeek' => '[У] dddd [ў] LT',
+        'lastDay' => '[Учора ў] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $current) {
+            switch ($current->dayOfWeek) {
+                case 1:
+                case 2:
+                case 4:
+                    return '[У мінулы] dddd [ў] LT';
+                default:
+                    return '[У мінулую] dddd [ў] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'M':
+            case 'd':
+            case 'DDD':
+            case 'w':
+            case 'W':
+                return ($number % 10 === 2 || $number % 10 === 3) && ($number % 100 !== 12 && $number % 100 !== 13) ? $number.'-і' : $number.'-ы';
+            case 'D':
+                return $number.'-га';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'ночы';
+        }
+        if ($hour < 12) {
+            return 'раніцы';
+        }
+        if ($hour < 17) {
+            return 'дня';
+        }
+
+        return 'вечара';
+    },
+    'months' => ['студзеня', 'лютага', 'сакавіка', 'красавіка', 'траўня', 'чэрвеня', 'ліпеня', 'жніўня', 'верасня', 'кастрычніка', 'лістапада', 'снежня'],
+    'months_standalone' => ['студзень', 'люты', 'сакавік', 'красавік', 'травень', 'чэрвень', 'ліпень', 'жнівень', 'верасень', 'кастрычнік', 'лістапад', 'снежань'],
+    'months_short' => ['студ', 'лют', 'сак', 'крас', 'трав', 'чэрв', 'ліп', 'жнів', 'вер', 'каст', 'ліст', 'снеж'],
+    'months_regexp' => '/(DD?o?\.?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => ['нядзелю', 'панядзелак', 'аўторак', 'сераду', 'чацвер', 'пятніцу', 'суботу'],
+    'weekdays_standalone' => ['нядзеля', 'панядзелак', 'аўторак', 'серада', 'чацвер', 'пятніца', 'субота'],
+    'weekdays_short' => ['нд', 'пн', 'ат', 'ср', 'чц', 'пт', 'сб'],
+    'weekdays_min' => ['нд', 'пн', 'ат', 'ср', 'чц', 'пт', 'сб'],
+    'weekdays_regexp' => '/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' і '],
+    'months_short_standalone' => ['сту', 'лют', 'сак', 'кра', 'май', 'чэр', 'ліп', 'жні', 'вер', 'кас', 'ліс', 'сне'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be_BY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be_BY.php
new file mode 100644
index 0000000..26684b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be_BY.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/be.php', [
+    'months' => ['студзеня', 'лютага', 'сакавіка', 'красавіка', 'мая', 'чэрвеня', 'ліпеня', 'жніўня', 'верасня', 'кастрычніка', 'лістапада', 'снежня'],
+    'months_short' => ['сту', 'лют', 'сак', 'кра', 'мая', 'чэр', 'ліп', 'жні', 'вер', 'кас', 'ліс', 'сне'],
+    'weekdays' => ['Нядзеля', 'Панядзелак', 'Аўторак', 'Серада', 'Чацвер', 'Пятніца', 'Субота'],
+    'weekdays_short' => ['Няд', 'Пан', 'Аўт', 'Срд', 'Чцв', 'Пят', 'Суб'],
+    'weekdays_min' => ['Няд', 'Пан', 'Аўт', 'Срд', 'Чцв', 'Пят', 'Суб'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be_BY@latin.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be_BY@latin.php
new file mode 100644
index 0000000..517ce83
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/be_BY@latin.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['studzienia', 'lutaha', 'sakavika', 'krasavika', 'maja', 'červienia', 'lipienia', 'žniŭnia', 'vieraśnia', 'kastryčnika', 'listapada', 'śniežnia'],
+    'months_short' => ['Stu', 'Lut', 'Sak', 'Kra', 'Maj', 'Čer', 'Lip', 'Žni', 'Vie', 'Kas', 'Lis', 'Śni'],
+    'weekdays' => ['Niadziela', 'Paniadziełak', 'Aŭtorak', 'Sierada', 'Čaćvier', 'Piatnica', 'Subota'],
+    'weekdays_short' => ['Nia', 'Pan', 'Aŭt', 'Sie', 'Čać', 'Pia', 'Sub'],
+    'weekdays_min' => ['Nia', 'Pan', 'Aŭt', 'Sie', 'Čać', 'Pia', 'Sub'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bem.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bem.php
new file mode 100644
index 0000000..1c3ef03
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bem.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/bem_ZM.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bem_ZM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bem_ZM.php
new file mode 100644
index 0000000..620b579
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bem_ZM.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - ANLoc Martin Benjamin locales@africanlocalization.net
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'MM/DD/YYYY',
+    ],
+    'months' => ['Januari', 'Februari', 'Machi', 'Epreo', 'Mei', 'Juni', 'Julai', 'Ogasti', 'Septemba', 'Oktoba', 'Novemba', 'Disemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Epr', 'Mei', 'Jun', 'Jul', 'Oga', 'Sep', 'Okt', 'Nov', 'Dis'],
+    'weekdays' => ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', 'Palichine', 'Palichisano', 'Pachibelushi'],
+    'weekdays_short' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+    'weekdays_min' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['uluchelo', 'akasuba'],
+
+    'year' => 'myaka :count',
+    'y' => 'myaka :count',
+    'a_year' => 'myaka :count',
+
+    'month' => 'myeshi :count',
+    'm' => 'myeshi :count',
+    'a_month' => 'myeshi :count',
+
+    'week' => 'umulungu :count',
+    'w' => 'umulungu :count',
+    'a_week' => 'umulungu :count',
+
+    'day' => 'inshiku :count',
+    'd' => 'inshiku :count',
+    'a_day' => 'inshiku :count',
+
+    'hour' => 'awala :count',
+    'h' => 'awala :count',
+    'a_hour' => 'awala :count',
+
+    'minute' => 'miniti :count',
+    'min' => 'miniti :count',
+    'a_minute' => 'miniti :count',
+
+    'second' => 'sekondi :count',
+    's' => 'sekondi :count',
+    'a_second' => 'sekondi :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber.php
new file mode 100644
index 0000000..685603c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ber_DZ.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber_DZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber_DZ.php
new file mode 100644
index 0000000..38de10a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber_DZ.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'],
+    'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'İyn', 'İyl', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek'],
+    'weekdays' => ['bazar günü', 'birinci gün', 'ikinci gün', 'üçüncü gün', 'dördüncü gün', 'beşinci gün', 'altıncı gün'],
+    'weekdays_short' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beş', 'alt'],
+    'weekdays_min' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beş', 'alt'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber_MA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber_MA.php
new file mode 100644
index 0000000..38de10a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ber_MA.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'],
+    'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'İyn', 'İyl', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek'],
+    'weekdays' => ['bazar günü', 'birinci gün', 'ikinci gün', 'üçüncü gün', 'dördüncü gün', 'beşinci gün', 'altıncı gün'],
+    'weekdays_short' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beş', 'alt'],
+    'weekdays_min' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beş', 'alt'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bez.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bez.php
new file mode 100644
index 0000000..1facc9d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bez.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['pamilau', 'pamunyi'],
+    'weekdays' => ['pa mulungu', 'pa shahuviluha', 'pa hivili', 'pa hidatu', 'pa hitayi', 'pa hihanu', 'pa shahulembela'],
+    'weekdays_short' => ['Mul', 'Vil', 'Hiv', 'Hid', 'Hit', 'Hih', 'Lem'],
+    'weekdays_min' => ['Mul', 'Vil', 'Hiv', 'Hid', 'Hit', 'Hih', 'Lem'],
+    'months' => ['pa mwedzi gwa hutala', 'pa mwedzi gwa wuvili', 'pa mwedzi gwa wudatu', 'pa mwedzi gwa wutai', 'pa mwedzi gwa wuhanu', 'pa mwedzi gwa sita', 'pa mwedzi gwa saba', 'pa mwedzi gwa nane', 'pa mwedzi gwa tisa', 'pa mwedzi gwa kumi', 'pa mwedzi gwa kumi na moja', 'pa mwedzi gwa kumi na mbili'],
+    'months_short' => ['Hut', 'Vil', 'Dat', 'Tai', 'Han', 'Sit', 'Sab', 'Nan', 'Tis', 'Kum', 'Kmj', 'Kmb'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bg.php
new file mode 100644
index 0000000..0e17673
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bg.php
@@ -0,0 +1,111 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - Serhan Apaydın
+ * - JD Isaacks
+ * - Glavić
+ */
+return [
+    'year' => ':count година|:count години',
+    'a_year' => 'година|:count години',
+    'y' => ':count година|:count години',
+    'month' => ':count месец|:count месеца',
+    'a_month' => 'месец|:count месеца',
+    'm' => ':count месец|:count месеца',
+    'week' => ':count седмица|:count седмици',
+    'a_week' => 'седмица|:count седмици',
+    'w' => ':count седмица|:count седмици',
+    'day' => ':count ден|:count дни',
+    'a_day' => 'ден|:count дни',
+    'd' => ':count ден|:count дни',
+    'hour' => ':count час|:count часа',
+    'a_hour' => 'час|:count часа',
+    'h' => ':count час|:count часа',
+    'minute' => ':count минута|:count минути',
+    'a_minute' => 'минута|:count минути',
+    'min' => ':count минута|:count минути',
+    'second' => ':count секунда|:count секунди',
+    'a_second' => 'няколко секунди|:count секунди',
+    's' => ':count секунда|:count секунди',
+    'ago' => 'преди :time',
+    'from_now' => 'след :time',
+    'after' => 'след :time',
+    'before' => 'преди :time',
+    'diff_now' => 'сега',
+    'diff_today' => 'Днес',
+    'diff_today_regexp' => 'Днес(?:\\s+в)?',
+    'diff_yesterday' => 'вчера',
+    'diff_yesterday_regexp' => 'Вчера(?:\\s+в)?',
+    'diff_tomorrow' => 'утре',
+    'diff_tomorrow_regexp' => 'Утре(?:\\s+в)?',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'D.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Днес в] LT',
+        'nextDay' => '[Утре в] LT',
+        'nextWeek' => 'dddd [в] LT',
+        'lastDay' => '[Вчера в] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $current) {
+            switch ($current->dayOfWeek) {
+                case 0:
+                case 3:
+                case 6:
+                    return '[В изминалата] dddd [в] LT';
+                default:
+                    return '[В изминалия] dddd [в] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        $lastDigit = $number % 10;
+        $last2Digits = $number % 100;
+        if ($number === 0) {
+            return "$number-ев";
+        }
+        if ($last2Digits === 0) {
+            return "$number-ен";
+        }
+        if ($last2Digits > 10 && $last2Digits < 20) {
+            return "$number-ти";
+        }
+        if ($lastDigit === 1) {
+            return "$number-ви";
+        }
+        if ($lastDigit === 2) {
+            return "$number-ри";
+        }
+        if ($lastDigit === 7 || $lastDigit === 8) {
+            return "$number-ми";
+        }
+
+        return "$number-ти";
+    },
+    'months' => ['януари', 'февруари', 'март', 'април', 'май', 'юни', 'юли', 'август', 'септември', 'октомври', 'ноември', 'декември'],
+    'months_short' => ['яну', 'фев', 'мар', 'апр', 'май', 'юни', 'юли', 'авг', 'сеп', 'окт', 'ное', 'дек'],
+    'weekdays' => ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота'],
+    'weekdays_short' => ['нед', 'пон', 'вто', 'сря', 'чет', 'пет', 'съб'],
+    'weekdays_min' => ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' и '],
+    'meridiem' => ['преди обяд', 'следобед'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bg_BG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bg_BG.php
new file mode 100644
index 0000000..85c0783
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bg_BG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/bg.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bhb.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bhb.php
new file mode 100644
index 0000000..49f0803
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bhb.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/bhb_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bhb_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bhb_IN.php
new file mode 100644
index 0000000..ab557cb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bhb_IN.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Samsung Electronics Co., Ltd.    alexey.merzlyakov@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+    'weekdays' => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+    'weekdays_short' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+    'weekdays_min' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bho.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bho.php
new file mode 100644
index 0000000..e9ed0b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bho.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/bho_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bho_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bho_IN.php
new file mode 100644
index 0000000..bc54f36
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bho_IN.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bhashaghar@googlegroups.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर"'],
+    'months_short' => ['जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर"'],
+    'weekdays' => ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'],
+    'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],
+    'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+
+    'hour' => ':count मौसम',
+    'h' => ':count मौसम',
+    'a_hour' => ':count मौसम',
+
+    'minute' => ':count कला',
+    'min' => ':count कला',
+    'a_minute' => ':count कला',
+
+    'second' => ':count सोमार',
+    's' => ':count सोमार',
+    'a_second' => ':count सोमार',
+
+    'year' => ':count साल',
+    'y' => ':count साल',
+    'a_year' => ':count साल',
+
+    'month' => ':count महिना',
+    'm' => ':count महिना',
+    'a_month' => ':count महिना',
+
+    'week' => ':count सप्ताह',
+    'w' => ':count सप्ताह',
+    'a_week' => ':count सप्ताह',
+
+    'day' => ':count दिन',
+    'd' => ':count दिन',
+    'a_day' => ':count दिन',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bi.php
new file mode 100644
index 0000000..dd08128
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bi.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/bi_VU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bi_VU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bi_VU.php
new file mode 100644
index 0000000..1fe7770
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bi_VU.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Samsung Electronics Co., Ltd.    akhilesh.k@samsung.com & maninder1.s@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'dddd DD MMM YYYY',
+    ],
+    'months' => ['jenuware', 'febwari', 'maj', 'epril', 'mei', 'jun', 'julae', 'ogis', 'septemba', 'oktoba', 'novemba', 'disemba'],
+    'months_short' => ['jen', 'feb', 'maj', 'epr', 'mei', 'jun', 'jul', 'ogi', 'sep', 'okt', 'nov', 'dis'],
+    'weekdays' => ['sande', 'mande', 'maj', 'wota', 'fraede', 'sarede'],
+    'weekdays_short' => ['san', 'man', 'maj', 'wot', 'fra', 'sar'],
+    'weekdays_min' => ['san', 'man', 'maj', 'wot', 'fra', 'sar'],
+
+    'year' => ':count seven', // less reliable
+    'y' => ':count seven', // less reliable
+    'a_year' => ':count seven', // less reliable
+
+    'month' => ':count mi', // less reliable
+    'm' => ':count mi', // less reliable
+    'a_month' => ':count mi', // less reliable
+
+    'week' => ':count sarede', // less reliable
+    'w' => ':count sarede', // less reliable
+    'a_week' => ':count sarede', // less reliable
+
+    'day' => ':count betde', // less reliable
+    'd' => ':count betde', // less reliable
+    'a_day' => ':count betde', // less reliable
+
+    'hour' => ':count klok', // less reliable
+    'h' => ':count klok', // less reliable
+    'a_hour' => ':count klok', // less reliable
+
+    'minute' => ':count smol', // less reliable
+    'min' => ':count smol', // less reliable
+    'a_minute' => ':count smol', // less reliable
+
+    'second' => ':count tu', // less reliable
+    's' => ':count tu', // less reliable
+    'a_second' => ':count tu', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bm.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bm.php
new file mode 100644
index 0000000..92822d2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bm.php
@@ -0,0 +1,70 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Estelle Comment
+ */
+return [
+    'year' => 'san :count',
+    'a_year' => '{1}san kelen|san :count',
+    'y' => 'san :count',
+    'month' => 'kalo :count',
+    'a_month' => '{1}kalo kelen|kalo :count',
+    'm' => 'k. :count',
+    'week' => 'dɔgɔkun :count',
+    'a_week' => 'dɔgɔkun kelen',
+    'w' => 'd. :count',
+    'day' => 'tile :count',
+    'd' => 't. :count',
+    'a_day' => '{1}tile kelen|tile :count',
+    'hour' => 'lɛrɛ :count',
+    'a_hour' => '{1}lɛrɛ kelen|lɛrɛ :count',
+    'h' => 'l. :count',
+    'minute' => 'miniti :count',
+    'a_minute' => '{1}miniti kelen|miniti :count',
+    'min' => 'm. :count',
+    'second' => 'sekondi :count',
+    'a_second' => '{1}sanga dama dama|sekondi :count',
+    's' => 'sek. :count',
+    'ago' => 'a bɛ :time bɔ',
+    'from_now' => ':time kɔnɔ',
+    'diff_today' => 'Bi',
+    'diff_yesterday' => 'Kunu',
+    'diff_yesterday_regexp' => 'Kunu(?:\\s+lɛrɛ)?',
+    'diff_tomorrow' => 'Sini',
+    'diff_tomorrow_regexp' => 'Sini(?:\\s+lɛrɛ)?',
+    'diff_today_regexp' => 'Bi(?:\\s+lɛrɛ)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'MMMM [tile] D [san] YYYY',
+        'LLL' => 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+        'LLLL' => 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Bi lɛrɛ] LT',
+        'nextDay' => '[Sini lɛrɛ] LT',
+        'nextWeek' => 'dddd [don lɛrɛ] LT',
+        'lastDay' => '[Kunu lɛrɛ] LT',
+        'lastWeek' => 'dddd [tɛmɛnen lɛrɛ] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['Zanwuyekalo', 'Fewuruyekalo', 'Marisikalo', 'Awirilikalo', 'Mɛkalo', 'Zuwɛnkalo', 'Zuluyekalo', 'Utikalo', 'Sɛtanburukalo', 'ɔkutɔburukalo', 'Nowanburukalo', 'Desanburukalo'],
+    'months_short' => ['Zan', 'Few', 'Mar', 'Awi', 'Mɛ', 'Zuw', 'Zul', 'Uti', 'Sɛt', 'ɔku', 'Now', 'Des'],
+    'weekdays' => ['Kari', 'Ntɛnɛn', 'Tarata', 'Araba', 'Alamisa', 'Juma', 'Sibiri'],
+    'weekdays_short' => ['Kar', 'Ntɛ', 'Tar', 'Ara', 'Ala', 'Jum', 'Sib'],
+    'weekdays_min' => ['Ka', 'Nt', 'Ta', 'Ar', 'Al', 'Ju', 'Si'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' ni '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn.php
new file mode 100644
index 0000000..8e14789
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn.php
@@ -0,0 +1,100 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Shakib Hossain
+ * - Raju
+ * - Aniruddha Adhikary
+ * - JD Isaacks
+ * - Saiful Islam
+ * - Faisal Islam
+ */
+return [
+    'year' => ':count বছর',
+    'a_year' => 'এক বছর|:count বছর',
+    'y' => '১ বছর|:count বছর',
+    'month' => ':count মাস',
+    'a_month' => 'এক মাস|:count মাস',
+    'm' => '১ মাস|:count মাস',
+    'week' => ':count সপ্তাহ',
+    'a_week' => '১ সপ্তাহ|:count সপ্তাহ',
+    'w' => '১ সপ্তাহ|:count সপ্তাহ',
+    'day' => ':count দিন',
+    'a_day' => 'এক দিন|:count দিন',
+    'd' => '১ দিন|:count দিন',
+    'hour' => ':count ঘন্টা',
+    'a_hour' => 'এক ঘন্টা|:count ঘন্টা',
+    'h' => '১ ঘন্টা|:count ঘন্টা',
+    'minute' => ':count মিনিট',
+    'a_minute' => 'এক মিনিট|:count মিনিট',
+    'min' => '১ মিনিট|:count মিনিট',
+    'second' => ':count সেকেন্ড',
+    'a_second' => 'কয়েক সেকেন্ড|:count সেকেন্ড',
+    's' => '১ সেকেন্ড|:count সেকেন্ড',
+    'ago' => ':time আগে',
+    'from_now' => ':time পরে',
+    'after' => ':time পরে',
+    'before' => ':time আগে',
+    'diff_now' => 'এখন',
+    'diff_today' => 'আজ',
+    'diff_yesterday' => 'গতকাল',
+    'diff_tomorrow' => 'আগামীকাল',
+    'period_recurrences' => ':count বার|:count বার',
+    'period_interval' => 'প্রতি :interval',
+    'period_start_date' => ':date থেকে',
+    'period_end_date' => ':date পর্যন্ত',
+    'formats' => [
+        'LT' => 'A Oh:Om সময়',
+        'LTS' => 'A Oh:Om:Os সময়',
+        'L' => 'OD/OM/OY',
+        'LL' => 'OD MMMM OY',
+        'LLL' => 'OD MMMM OY, A Oh:Om সময়',
+        'LLLL' => 'dddd, OD MMMM OY, A Oh:Om সময়',
+    ],
+    'calendar' => [
+        'sameDay' => '[আজ] LT',
+        'nextDay' => '[আগামীকাল] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[গতকাল] LT',
+        'lastWeek' => '[গত] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'রাত';
+        }
+        if ($hour < 10) {
+            return 'সকাল';
+        }
+        if ($hour < 17) {
+            return 'দুপুর';
+        }
+        if ($hour < 20) {
+            return 'বিকাল';
+        }
+
+        return 'রাত';
+    },
+    'months' => ['জানুয়ারী', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+    'months_short' => ['জানু', 'ফেব', 'মার্চ', 'এপ্র', 'মে', 'জুন', 'জুল', 'আগ', 'সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'],
+    'weekdays' => ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'],
+    'weekdays_short' => ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'],
+    'weekdays_min' => ['রবি', 'সোম', 'মঙ্গ', 'বুধ', 'বৃহঃ', 'শুক্র', 'শনি'],
+    'list' => [', ', ' এবং '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'weekdays_standalone' => ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহষ্পতিবার', 'শুক্রবার', 'শনিবার'],
+    'weekdays_min_standalone' => ['রঃ', 'সোঃ', 'মঃ', 'বুঃ', 'বৃঃ', 'শুঃ', 'শনি'],
+    'months_short_standalone' => ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+    'alt_numbers' => ['০', '১', '২', '৩', '৪', '৫', '৬', '৭', '৮', '৯'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn_BD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn_BD.php
new file mode 100644
index 0000000..b5b28dd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn_BD.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ankur Group, Taneem Ahmed, Jamil Ahmed
+ */
+return array_replace_recursive(require __DIR__.'/bn.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+    'months_short' => ['জানু', 'ফেব', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+    'weekdays' => ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'],
+    'weekdays_short' => ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহঃ', 'শুক্র', 'শনি'],
+    'weekdays_min' => ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহঃ', 'শুক্র', 'শনি'],
+    'first_day_of_week' => 5,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn_IN.php
new file mode 100644
index 0000000..8b3a50e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bn_IN.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/bn.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+    'months_short' => ['জানু', 'ফেব', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+    'weekdays' => ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'],
+    'weekdays_short' => ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'],
+    'weekdays_min' => ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo.php
new file mode 100644
index 0000000..99e1bf4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - JD Isaacks
+ */
+return [
+    'year' => '{1}ལོ་གཅིག|]1,Inf[:count ལོ',
+    'month' => '{1}ཟླ་བ་གཅིག|]1,Inf[:count ཟླ་བ',
+    'week' => ':count བདུན་ཕྲག',
+    'day' => '{1}ཉིན་གཅིག|]1,Inf[:count ཉིན་',
+    'hour' => '{1}ཆུ་ཚོད་གཅིག|]1,Inf[:count ཆུ་ཚོད',
+    'minute' => '{1}སྐར་མ་གཅིག|]1,Inf[:count སྐར་མ',
+    'second' => '{1}ལམ་སང|]1,Inf[:count སྐར་ཆ།',
+    'ago' => ':time སྔན་ལ',
+    'from_now' => ':time ལ་',
+    'diff_yesterday' => 'ཁ་སང',
+    'diff_today' => 'དི་རིང',
+    'diff_tomorrow' => 'སང་ཉིན',
+    'formats' => [
+        'LT' => 'A h:mm',
+        'LTS' => 'A h:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[དི་རིང] LT',
+        'nextDay' => '[སང་ཉིན] LT',
+        'nextWeek' => '[བདུན་ཕྲག་རྗེས་མ], LT',
+        'lastDay' => '[ཁ་སང] LT',
+        'lastWeek' => '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'མཚན་མོ';
+        }
+        if ($hour < 10) {
+            return 'ཞོགས་ཀས';
+        }
+        if ($hour < 17) {
+            return 'ཉིན་གུང';
+        }
+        if ($hour < 20) {
+            return 'དགོང་དག';
+        }
+
+        return 'མཚན་མོ';
+    },
+    'months' => ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'],
+    'months_short' => ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'],
+    'weekdays' => ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'],
+    'weekdays_short' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ', 'པ་སངས་', 'སྤེན་པ་'],
+    'weekdays_min' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ', 'པ་སངས་', 'སྤེན་པ་'],
+    'list' => [', ', ' ཨནད་ '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'months_standalone' => ['ཟླ་བ་དང་པོ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུན་པ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo_CN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo_CN.php
new file mode 100644
index 0000000..c3d9d8b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo_CN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/bo.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo_IN.php
new file mode 100644
index 0000000..a377fb5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bo_IN.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/bo.php', [
+    'meridiem' => ['སྔ་དྲོ་', 'ཕྱི་དྲོ་'],
+    'weekdays' => ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'],
+    'weekdays_short' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'],
+    'weekdays_min' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'],
+    'months' => ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'],
+    'months_short' => ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'],
+    'months_standalone' => ['ཟླ་བ་དང་པོ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུན་པ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'],
+    'weekend' => [0, 0],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'YYYY ལོའི་MMMཚེས་D',
+        'LLL' => 'སྤྱི་ལོ་YYYY MMMMའི་ཚེས་D h:mm a',
+        'LLLL' => 'YYYY MMMMའི་ཚེས་D, dddd h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/br.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/br.php
new file mode 100644
index 0000000..583472f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/br.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Serhan Apaydın
+ * - JD Isaacks
+ */
+return [
+    'year' => '{1}:count bloaz|{3,4,5,9}:count bloaz|[0,Inf[:count vloaz',
+    'a_year' => '{1}ur bloaz|{3,4,5,9}:count bloaz|[0,Inf[:count vloaz',
+    'month' => '{1}:count miz|{2}:count viz|[0,Inf[:count miz',
+    'a_month' => '{1}ur miz|{2}:count viz|[0,Inf[:count miz',
+    'week' => ':count sizhun',
+    'a_week' => '{1}ur sizhun|:count sizhun',
+    'day' => '{1}:count devezh|{2}:count zevezh|[0,Inf[:count devezh',
+    'a_day' => '{1}un devezh|{2}:count zevezh|[0,Inf[:count devezh',
+    'hour' => ':count eur',
+    'a_hour' => '{1}un eur|:count eur',
+    'minute' => '{1}:count vunutenn|{2}:count vunutenn|[0,Inf[:count munutenn',
+    'a_minute' => '{1}ur vunutenn|{2}:count vunutenn|[0,Inf[:count munutenn',
+    'second' => ':count eilenn',
+    'a_second' => '{1}un nebeud segondennoù|[0,Inf[:count eilenn',
+    'ago' => ':time \'zo',
+    'from_now' => 'a-benn :time',
+    'diff_now' => 'bremañ',
+    'diff_today' => 'Hiziv',
+    'diff_today_regexp' => 'Hiziv(?:\\s+da)?',
+    'diff_yesterday' => 'decʼh',
+    'diff_yesterday_regexp' => 'Dec\'h(?:\\s+da)?',
+    'diff_tomorrow' => 'warcʼhoazh',
+    'diff_tomorrow_regexp' => 'Warc\'hoazh(?:\\s+da)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D [a viz] MMMM YYYY',
+        'LLL' => 'D [a viz] MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D [a viz] MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Hiziv da] LT',
+        'nextDay' => '[Warc\'hoazh da] LT',
+        'nextWeek' => 'dddd [da] LT',
+        'lastDay' => '[Dec\'h da] LT',
+        'lastWeek' => 'dddd [paset da] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        return $number.($number === 1 ? 'añ' : 'vet');
+    },
+    'months' => ['Genver', 'C\'hwevrer', 'Meurzh', 'Ebrel', 'Mae', 'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'],
+    'months_short' => ['Gen', 'C\'hwe', 'Meu', 'Ebr', 'Mae', 'Eve', 'Gou', 'Eos', 'Gwe', 'Her', 'Du', 'Ker'],
+    'weekdays' => ['Sul', 'Lun', 'Meurzh', 'Merc\'her', 'Yaou', 'Gwener', 'Sadorn'],
+    'weekdays_short' => ['Sul', 'Lun', 'Meu', 'Mer', 'Yao', 'Gwe', 'Sad'],
+    'weekdays_min' => ['Su', 'Lu', 'Me', 'Mer', 'Ya', 'Gw', 'Sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' hag '],
+    'meridiem' => ['A.M.', 'G.M.'],
+
+    'y' => ':count bl.',
+    'd' => ':count d',
+    'h' => ':count e',
+    'min' => ':count min',
+    's' => ':count s',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/br_FR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/br_FR.php
new file mode 100644
index 0000000..9d939fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/br_FR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/br.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/brx.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/brx.php
new file mode 100644
index 0000000..a0a7bf9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/brx.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/brx_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/brx_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/brx_IN.php
new file mode 100644
index 0000000..2d80ced
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/brx_IN.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat Pune    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'M/D/YY',
+    ],
+    'months' => ['जानुवारी', 'फेब्रुवारी', 'मार्स', 'एफ्रिल', 'मे', 'जुन', 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', 'अखथबर', 'नबेज्ब़र', 'दिसेज्ब़र'],
+    'months_short' => ['जानुवारी', 'फेब्रुवारी', 'मार्स', 'एप्रिल', 'मे', 'जुन', 'जुलाइ', 'आगस्थ', 'सेबथेज्ब़र', 'अखथबर', 'नबेज्ब़र', 'दिसेज्ब़र'],
+    'weekdays' => ['रबिबार', 'सोबार', 'मंगलबार', 'बुदबार', 'बिसथिबार', 'सुखुरबार', 'सुनिबार'],
+    'weekdays_short' => ['रबि', 'सम', 'मंगल', 'बुद', 'बिसथि', 'सुखुर', 'सुनि'],
+    'weekdays_min' => ['रबि', 'सम', 'मंगल', 'बुद', 'बिसथि', 'सुखुर', 'सुनि'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['फुं.', 'बेलासे.'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs.php
new file mode 100644
index 0000000..d2fc5aa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs.php
@@ -0,0 +1,94 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bokideckonja
+ * - Josh Soref
+ * - François B
+ * - shaishavgandhi05
+ * - Serhan Apaydın
+ * - JD Isaacks
+ */
+return [
+    'year' => ':count godina|:count godine|:count godina',
+    'y' => ':count godina|:count godine|:count godina',
+    'month' => ':count mjesec|:count mjeseca|:count mjeseci',
+    'm' => ':count mjesec|:count mjeseca|:count mjeseci',
+    'week' => ':count sedmice|:count sedmicu|:count sedmica',
+    'w' => ':count sedmice|:count sedmicu|:count sedmica',
+    'day' => ':count dan|:count dana|:count dana',
+    'd' => ':count dan|:count dana|:count dana',
+    'hour' => ':count sat|:count sata|:count sati',
+    'h' => ':count sat|:count sata|:count sati',
+    'minute' => ':count minut|:count minuta|:count minuta',
+    'min' => ':count minut|:count minuta|:count minuta',
+    'second' => ':count sekund|:count sekunda|:count sekundi',
+    's' => ':count sekund|:count sekunda|:count sekundi',
+    'ago' => 'prije :time',
+    'from_now' => 'za :time',
+    'after' => 'nakon :time',
+    'before' => ':time ranije',
+    'diff_now' => 'sada',
+    'diff_today' => 'danas',
+    'diff_today_regexp' => 'danas(?:\\s+u)?',
+    'diff_yesterday' => 'jučer',
+    'diff_yesterday_regexp' => 'jučer(?:\\s+u)?',
+    'diff_tomorrow' => 'sutra',
+    'diff_tomorrow_regexp' => 'sutra(?:\\s+u)?',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[danas u] LT',
+        'nextDay' => '[sutra u] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $current) {
+            switch ($current->dayOfWeek) {
+                case 0:
+                    return '[u] [nedjelju] [u] LT';
+                case 3:
+                    return '[u] [srijedu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                default:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        'lastDay' => '[jučer u] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $current) {
+            switch ($current->dayOfWeek) {
+                case 0:
+                case 3:
+                    return '[prošlu] dddd [u] LT';
+                case 6:
+                    return '[prošle] [subote] [u] LT';
+                default:
+                    return '[prošli] dddd [u] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', 'august', 'septembar', 'oktobar', 'novembar', 'decembar'],
+    'months_short' => ['jan.', 'feb.', 'mar.', 'apr.', 'maj.', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],
+    'weekdays' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'],
+    'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sri.', 'čet.', 'pet.', 'sub.'],
+    'weekdays_min' => ['ne', 'po', 'ut', 'sr', 'če', 'pe', 'su'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' i '],
+    'meridiem' => ['prijepodne', 'popodne'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_BA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_BA.php
new file mode 100644
index 0000000..4dd21ba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_BA.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/bs.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_Cyrl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_Cyrl.php
new file mode 100644
index 0000000..09221e0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_Cyrl.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/bs.php', [
+    'meridiem' => ['пре подне', 'поподне'],
+    'weekdays' => ['недјеља', 'понедјељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'],
+    'weekdays_short' => ['нед', 'пон', 'уто', 'сри', 'чет', 'пет', 'суб'],
+    'weekdays_min' => ['нед', 'пон', 'уто', 'сри', 'чет', 'пет', 'суб'],
+    'months' => ['јануар', 'фебруар', 'март', 'април', 'мај', 'јуни', 'јули', 'аугуст', 'септембар', 'октобар', 'новембар', 'децембар'],
+    'months_short' => ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'ауг', 'сеп', 'окт', 'нов', 'дец'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D.M.YYYY.',
+        'LL' => 'DD.MM.YYYY.',
+        'LLL' => 'DD. MMMM YYYY. HH:mm',
+        'LLLL' => 'dddd, DD. MMMM YYYY. HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_Latn.php
new file mode 100644
index 0000000..91ed1cc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/bs_Latn.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/bs.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/byn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/byn.php
new file mode 100644
index 0000000..7125f3d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/byn.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/byn_ER.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/byn_ER.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/byn_ER.php
new file mode 100644
index 0000000..ad67533
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/byn_ER.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ልደትሪ', 'ካብኽብቲ', 'ክብላ', 'ፋጅኺሪ', 'ክቢቅሪ', 'ምኪኤል ትጓ̅ኒሪ', 'ኰርኩ', 'ማርያም ትሪ', 'ያኸኒ መሳቅለሪ', 'መተሉ', 'ምኪኤል መሽወሪ', 'ተሕሳስሪ'],
+    'months_short' => ['ልደት', 'ካብኽ', 'ክብላ', 'ፋጅኺ', 'ክቢቅ', 'ም/ት', 'ኰር', 'ማርያ', 'ያኸኒ', 'መተሉ', 'ም/ም', 'ተሕሳ'],
+    'weekdays' => ['ሰንበር ቅዳዅ', 'ሰኑ', 'ሰሊጝ', 'ለጓ ወሪ ለብዋ', 'ኣምድ', 'ኣርብ', 'ሰንበር ሽጓዅ'],
+    'weekdays_short' => ['ሰ/ቅ', 'ሰኑ', 'ሰሊጝ', 'ለጓ', 'ኣምድ', 'ኣርብ', 'ሰ/ሽ'],
+    'weekdays_min' => ['ሰ/ቅ', 'ሰኑ', 'ሰሊጝ', 'ለጓ', 'ኣምድ', 'ኣርብ', 'ሰ/ሽ'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ፋዱስ ጃብ', 'ፋዱስ ደምቢ'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca.php
new file mode 100644
index 0000000..5c91439
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca.php
@@ -0,0 +1,114 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - mestremuten
+ * - François B
+ * - Marc Ordinas i Llopis
+ * - Pere Orga
+ * - JD Isaacks
+ * - Quentí
+ * - Víctor Díaz
+ * - Xavi
+ * - qcardona
+ */
+return [
+    'year' => ':count any|:count anys',
+    'a_year' => 'un any|:count anys',
+    'y' => ':count any|:count anys',
+    'month' => ':count mes|:count mesos',
+    'a_month' => 'un mes|:count mesos',
+    'm' => ':count mes|:count mesos',
+    'week' => ':count setmana|:count setmanes',
+    'a_week' => 'una setmana|:count setmanes',
+    'w' => ':count setmana|:count setmanes',
+    'day' => ':count dia|:count dies',
+    'a_day' => 'un dia|:count dies',
+    'd' => ':count d',
+    'hour' => ':count hora|:count hores',
+    'a_hour' => 'una hora|:count hores',
+    'h' => ':count h',
+    'minute' => ':count minut|:count minuts',
+    'a_minute' => 'un minut|:count minuts',
+    'min' => ':count min',
+    'second' => ':count segon|:count segons',
+    'a_second' => 'uns segons|:count segons',
+    's' => ':count s',
+    'ago' => 'fa :time',
+    'from_now' => 'd\'aquí a :time',
+    'after' => ':time després',
+    'before' => ':time abans',
+    'diff_now' => 'ara mateix',
+    'diff_today' => 'avui',
+    'diff_today_regexp' => 'avui(?:\\s+a)?(?:\\s+les)?',
+    'diff_yesterday' => 'ahir',
+    'diff_yesterday_regexp' => 'ahir(?:\\s+a)?(?:\\s+les)?',
+    'diff_tomorrow' => 'demà',
+    'diff_tomorrow_regexp' => 'demà(?:\\s+a)?(?:\\s+les)?',
+    'diff_before_yesterday' => 'abans d\'ahir',
+    'diff_after_tomorrow' => 'demà passat',
+    'period_recurrences' => ':count cop|:count cops',
+    'period_interval' => 'cada :interval',
+    'period_start_date' => 'de :date',
+    'period_end_date' => 'fins a :date',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM [de] YYYY',
+        'LLL' => 'D MMMM [de] YYYY [a les] H:mm',
+        'LLLL' => 'dddd D MMMM [de] YYYY [a les] H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => function (\Carbon\CarbonInterface $current) {
+            return '[avui a '.($current->hour !== 1 ? 'les' : 'la').'] LT';
+        },
+        'nextDay' => function (\Carbon\CarbonInterface $current) {
+            return '[demà a '.($current->hour !== 1 ? 'les' : 'la').'] LT';
+        },
+        'nextWeek' => function (\Carbon\CarbonInterface $current) {
+            return 'dddd [a '.($current->hour !== 1 ? 'les' : 'la').'] LT';
+        },
+        'lastDay' => function (\Carbon\CarbonInterface $current) {
+            return '[ahir a '.($current->hour !== 1 ? 'les' : 'la').'] LT';
+        },
+        'lastWeek' => function (\Carbon\CarbonInterface $current) {
+            return '[el] dddd [passat a '.($current->hour !== 1 ? 'les' : 'la').'] LT';
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        return $number.(
+            ($period === 'w' || $period === 'W') ? 'a' : (
+                ($number === 1) ? 'r' : (
+                    ($number === 2) ? 'n' : (
+                        ($number === 3) ? 'r' : (
+                            ($number === 4) ? 't' : 'è'
+                        )
+                    )
+                )
+            )
+        );
+    },
+    'months' => ['de gener', 'de febrer', 'de març', 'd\'abril', 'de maig', 'de juny', 'de juliol', 'd\'agost', 'de setembre', 'd\'octubre', 'de novembre', 'de desembre'],
+    'months_standalone' => ['gener', 'febrer', 'març', 'abril', 'maig', 'juny', 'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre'],
+    'months_short' => ['de gen.', 'de febr.', 'de març', 'd\'abr.', 'de maig', 'de juny', 'de jul.', 'd\'ag.', 'de set.', 'd\'oct.', 'de nov.', 'de des.'],
+    'months_short_standalone' => ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'],
+    'months_regexp' => '/(D[oD]?[\s,]+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte'],
+    'weekdays_short' => ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'],
+    'weekdays_min' => ['dg', 'dl', 'dt', 'dc', 'dj', 'dv', 'ds'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' i '],
+    'meridiem' => ['a. m.', 'p. m.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_AD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_AD.php
new file mode 100644
index 0000000..f5718c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_AD.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ca.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES.php
new file mode 100644
index 0000000..8423606
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ca.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES_Valencia.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES_Valencia.php
new file mode 100644
index 0000000..f5718c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES_Valencia.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ca.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_FR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_FR.php
new file mode 100644
index 0000000..f5718c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_FR.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ca.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_IT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_IT.php
new file mode 100644
index 0000000..f5718c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ca_IT.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ca.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ccp.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ccp.php
new file mode 100644
index 0000000..ec616a7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ccp.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['𑄢𑄧𑄝𑄨𑄝𑄢𑄴', '𑄥𑄧𑄟𑄴𑄝𑄢𑄴', '𑄟𑄧𑄁𑄉𑄧𑄣𑄴𑄝𑄢𑄴', '𑄝𑄪𑄖𑄴𑄝𑄢𑄴', '𑄝𑄳𑄢𑄨𑄥𑄪𑄛𑄴𑄝𑄢𑄴', '𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴𑄝𑄢𑄴', '𑄥𑄧𑄚𑄨𑄝𑄢𑄴'],
+    'weekdays_short' => ['𑄢𑄧𑄝𑄨', '𑄥𑄧𑄟𑄴', '𑄟𑄧𑄁𑄉𑄧𑄣𑄴', '𑄝𑄪𑄖𑄴', '𑄝𑄳𑄢𑄨𑄥𑄪𑄛𑄴', '𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴', '𑄥𑄧𑄚𑄨'],
+    'weekdays_min' => ['𑄢𑄧𑄝𑄨', '𑄥𑄧𑄟𑄴', '𑄟𑄧𑄁𑄉𑄧𑄣𑄴', '𑄝𑄪𑄖𑄴', '𑄝𑄳𑄢𑄨𑄥𑄪𑄛𑄴', '𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴', '𑄥𑄧𑄚𑄨'],
+    'months' => ['𑄎𑄚𑄪𑄠𑄢𑄨', '𑄜𑄬𑄛𑄴𑄝𑄳𑄢𑄪𑄠𑄢𑄨', '𑄟𑄢𑄴𑄌𑄧', '𑄃𑄬𑄛𑄳𑄢𑄨𑄣𑄴', '𑄟𑄬', '𑄎𑄪𑄚𑄴', '𑄎𑄪𑄣𑄭', '𑄃𑄉𑄧𑄌𑄴𑄑𑄴', '𑄥𑄬𑄛𑄴𑄑𑄬𑄟𑄴𑄝𑄧𑄢𑄴', '𑄃𑄧𑄇𑄴𑄑𑄬𑄝𑄧𑄢𑄴', '𑄚𑄧𑄞𑄬𑄟𑄴𑄝𑄧𑄢𑄴', '𑄓𑄨𑄥𑄬𑄟𑄴𑄝𑄧𑄢𑄴'],
+    'months_short' => ['𑄎𑄚𑄪', '𑄜𑄬𑄛𑄴', '𑄟𑄢𑄴𑄌𑄧', '𑄃𑄬𑄛𑄳𑄢𑄨𑄣𑄴', '𑄟𑄬', '𑄎𑄪𑄚𑄴', '𑄎𑄪𑄣𑄭', '𑄃𑄉𑄧𑄌𑄴𑄑𑄴', '𑄥𑄬𑄛𑄴𑄑𑄬𑄟𑄴𑄝𑄧𑄢𑄴', '𑄃𑄧𑄇𑄴𑄑𑄮𑄝𑄧𑄢𑄴', '𑄚𑄧𑄞𑄬𑄟𑄴𑄝𑄧𑄢𑄴', '𑄓𑄨𑄥𑄬𑄟𑄴𑄝𑄢𑄴'],
+    'months_short_standalone' => ['𑄎𑄚𑄪𑄠𑄢𑄨', '𑄜𑄬𑄛𑄴𑄝𑄳𑄢𑄪𑄠𑄢𑄨', '𑄟𑄢𑄴𑄌𑄧', '𑄃𑄬𑄛𑄳𑄢𑄨𑄣𑄴', '𑄟𑄬', '𑄎𑄪𑄚𑄴', '𑄎𑄪𑄣𑄭', '𑄃𑄉𑄧𑄌𑄴𑄑𑄴', '𑄥𑄬𑄛𑄴𑄑𑄬𑄟𑄴𑄝𑄧𑄢𑄴', '𑄃𑄧𑄇𑄴𑄑𑄮𑄝𑄧𑄢𑄴', '𑄚𑄧𑄞𑄬𑄟𑄴𑄝𑄧𑄢𑄴', '𑄓𑄨𑄥𑄬𑄟𑄴𑄝𑄧𑄢𑄴'],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM, YYYY h:mm a',
+        'LLLL' => 'dddd, D MMMM, YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ccp_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ccp_IN.php
new file mode 100644
index 0000000..18bd122
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ccp_IN.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ccp.php', [
+    'weekend' => [0, 0],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ce.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ce.php
new file mode 100644
index 0000000..f99f6ff
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ce.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ce_RU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ce_RU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ce_RU.php
new file mode 100644
index 0000000..f769856
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ce_RU.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - ANCHR
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY.DD.MM',
+    ],
+    'months' => ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
+    'months_short' => ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+    'weekdays' => ['КӀиранан де', 'Оршотан де', 'Шинарин де', 'Кхаарин де', 'Еарин де', 'ПӀераскан де', 'Шот де'],
+    'weekdays_short' => ['КӀ', 'Ор', 'Ши', 'Кх', 'Еа', 'ПӀ', 'Шо'],
+    'weekdays_min' => ['КӀ', 'Ор', 'Ши', 'Кх', 'Еа', 'ПӀ', 'Шо'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count шо',
+    'y' => ':count шо',
+    'a_year' => ':count шо',
+
+    'month' => ':count бутт',
+    'm' => ':count бутт',
+    'a_month' => ':count бутт',
+
+    'week' => ':count кӏира',
+    'w' => ':count кӏира',
+    'a_week' => ':count кӏира',
+
+    'day' => ':count де',
+    'd' => ':count де',
+    'a_day' => ':count де',
+
+    'hour' => ':count сахьт',
+    'h' => ':count сахьт',
+    'a_hour' => ':count сахьт',
+
+    'minute' => ':count минот',
+    'min' => ':count минот',
+    'a_minute' => ':count минот',
+
+    'second' => ':count секунд',
+    's' => ':count секунд',
+    'a_second' => ':count секунд',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cgg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cgg.php
new file mode 100644
index 0000000..e424408
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cgg.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'],
+    'weekdays_short' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'],
+    'weekdays_min' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'],
+    'months' => ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'],
+    'months_short' => ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'day' => ':count ruhanga', // less reliable
+    'd' => ':count ruhanga', // less reliable
+    'a_day' => ':count ruhanga', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/chr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/chr.php
new file mode 100644
index 0000000..e26190f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/chr.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/chr_US.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/chr_US.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/chr_US.php
new file mode 100644
index 0000000..371353e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/chr_US.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Cherokee Nation Joseph Erb josepherb7@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'MM/DD/YYYY',
+    ],
+    'months' => ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ', 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ', 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎥᏍᎩᏱ'],
+    'months_short' => ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ', 'ᏕᎭ', 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎥᏍ'],
+    'weekdays' => ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ', 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ', 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'],
+    'weekdays_short' => ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'],
+    'weekdays_min' => ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ᏌᎾᎴ', 'ᏒᎯᏱᎢᏗᏢ', 'ꮜꮎꮄ', 'ꮢꭿᏹꭲꮧꮲ'],
+
+    'second' => ':count ᏐᎢ', // less reliable
+    's' => ':count ᏐᎢ', // less reliable
+    'a_second' => ':count ᏐᎢ', // less reliable
+
+    'year' => ':count ᏑᏕᏘᏴᏓ',
+    'y' => ':count ᏑᏕᏘᏴᏓ',
+    'a_year' => ':count ᏑᏕᏘᏴᏓ',
+
+    'month' => ':count ᏏᏅᏙ',
+    'm' => ':count ᏏᏅᏙ',
+    'a_month' => ':count ᏏᏅᏙ',
+
+    'week' => ':count ᏑᎾᏙᏓᏆᏍᏗ',
+    'w' => ':count ᏑᎾᏙᏓᏆᏍᏗ',
+    'a_week' => ':count ᏑᎾᏙᏓᏆᏍᏗ',
+
+    'day' => ':count ᎢᎦ',
+    'd' => ':count ᎢᎦ',
+    'a_day' => ':count ᎢᎦ',
+
+    'hour' => ':count ᏑᏟᎶᏛ',
+    'h' => ':count ᏑᏟᎶᏛ',
+    'a_hour' => ':count ᏑᏟᎶᏛ',
+
+    'minute' => ':count ᎢᏯᏔᏬᏍᏔᏅ',
+    'min' => ':count ᎢᏯᏔᏬᏍᏔᏅ',
+    'a_minute' => ':count ᎢᏯᏔᏬᏍᏔᏅ',
+
+    'ago' => ':time ᏥᎨᏒ',
+    'from_now' => 'ᎾᎿ :time',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cmn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cmn.php
new file mode 100644
index 0000000..80b1d69
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cmn.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/cmn_TW.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cmn_TW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cmn_TW.php
new file mode 100644
index 0000000..7e43f9d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cmn_TW.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY年MM月DD號',
+    ],
+    'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'months_short' => [' 1月', ' 2月', ' 3月', ' 4月', ' 5月', ' 6月', ' 7月', ' 8月', ' 9月', '10月', '11月', '12月'],
+    'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+    'weekdays_short' => ['日', '一', '二', '三', '四', '五', '六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'meridiem' => ['上午', '下午'],
+
+    'year' => ':count 年',
+    'y' => ':count 年',
+    'a_year' => ':count 年',
+
+    'month' => ':count 月',
+    'm' => ':count 月',
+    'a_month' => ':count 月',
+
+    'week' => ':count 周',
+    'w' => ':count 周',
+    'a_week' => ':count 周',
+
+    'day' => ':count 白天',
+    'd' => ':count 白天',
+    'a_day' => ':count 白天',
+
+    'hour' => ':count 小时',
+    'h' => ':count 小时',
+    'a_hour' => ':count 小时',
+
+    'minute' => ':count 分钟',
+    'min' => ':count 分钟',
+    'a_minute' => ':count 分钟',
+
+    'second' => ':count 秒',
+    's' => ':count 秒',
+    'a_second' => ':count 秒',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/crh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/crh.php
new file mode 100644
index 0000000..a1d7ce6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/crh.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/crh_UA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/crh_UA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/crh_UA.php
new file mode 100644
index 0000000..0513933
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/crh_UA.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Reşat SABIQ tilde.birlik@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'Mayıs', 'İyun', 'İyul', 'Avgust', 'Sentâbr', 'Oktâbr', 'Noyabr', 'Dekabr'],
+    'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'İyn', 'İyl', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'],
+    'weekdays' => ['Bazar', 'Bazarertesi', 'Salı', 'Çarşembe', 'Cumaaqşamı', 'Cuma', 'Cumaertesi'],
+    'weekdays_short' => ['Baz', 'Ber', 'Sal', 'Çar', 'Caq', 'Cum', 'Cer'],
+    'weekdays_min' => ['Baz', 'Ber', 'Sal', 'Çar', 'Caq', 'Cum', 'Cer'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ÜE', 'ÜS'],
+
+    'year' => ':count yıl',
+    'y' => ':count yıl',
+    'a_year' => ':count yıl',
+
+    'month' => ':count ay',
+    'm' => ':count ay',
+    'a_month' => ':count ay',
+
+    'week' => ':count afta',
+    'w' => ':count afta',
+    'a_week' => ':count afta',
+
+    'day' => ':count kün',
+    'd' => ':count kün',
+    'a_day' => ':count kün',
+
+    'hour' => ':count saat',
+    'h' => ':count saat',
+    'a_hour' => ':count saat',
+
+    'minute' => ':count daqqa',
+    'min' => ':count daqqa',
+    'a_minute' => ':count daqqa',
+
+    'second' => ':count ekinci',
+    's' => ':count ekinci',
+    'a_second' => ':count ekinci',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cs.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cs.php
new file mode 100644
index 0000000..8cff9a0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cs.php
@@ -0,0 +1,122 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Jakub Tesinsky
+ * - Martin Suja
+ * - Nikos Timiopulos
+ * - Bohuslav Blín
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Lukas Svoboda
+ * - Max Melentiev
+ * - Juanito Fatas
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Václav Pávek
+ * - CodeSkills
+ * - Tlapi
+ * - newman101
+ * - Petr Kadlec
+ * - tommaskraus
+ * - Karel Sommer (calvera)
+ */
+$za = function ($time) {
+    return 'za '.strtr($time, [
+        'hodina' => 'hodinu',
+        'minuta' => 'minutu',
+        'sekunda' => 'sekundu',
+    ]);
+};
+
+$pred = function ($time) {
+    $time = strtr($time, [
+        'hodina' => 'hodinou',
+        'minuta' => 'minutou',
+        'sekunda' => 'sekundou',
+    ]);
+    $time = preg_replace('/hodiny?(?!\w)/', 'hodinami', $time);
+    $time = preg_replace('/minuty?(?!\w)/', 'minutami', $time);
+    $time = preg_replace('/sekundy?(?!\w)/', 'sekundami', $time);
+
+    return "před $time";
+};
+
+return [
+    'year' => ':count rok|:count roky|:count let',
+    'y' => ':count rok|:count roky|:count let',
+    'a_year' => 'rok|:count roky|:count let',
+    'month' => ':count měsíc|:count měsíce|:count měsíců',
+    'm' => ':count měs.',
+    'a_month' => 'měsíc|:count měsíce|:count měsíců',
+    'week' => ':count týden|:count týdny|:count týdnů',
+    'w' => ':count týd.',
+    'a_week' => 'týden|:count týdny|:count týdnů',
+    'day' => ':count den|:count dny|:count dní',
+    'd' => ':count den|:count dny|:count dní',
+    'a_day' => 'den|:count dny|:count dní',
+    'hour' => ':count hodina|:count hodiny|:count hodin',
+    'h' => ':count hod.',
+    'a_hour' => 'hodina|:count hodiny|:count hodin',
+    'minute' => ':count minuta|:count minuty|:count minut',
+    'min' => ':count min.',
+    'a_minute' => 'minuta|:count minuty|:count minut',
+    'second' => ':count sekunda|:count sekundy|:count sekund',
+    's' => ':count sek.',
+    'a_second' => 'pár sekund|:count sekundy|:count sekund',
+
+    'month_ago' => ':count měsícem|:count měsíci|:count měsíci',
+    'a_month_ago' => 'měsícem|:count měsíci|:count měsíci',
+    'day_ago' => ':count dnem|:count dny|:count dny',
+    'a_day_ago' => 'dnem|:count dny|:count dny',
+    'week_ago' => ':count týdnem|:count týdny|:count týdny',
+    'a_week_ago' => 'týdnem|:count týdny|:count týdny',
+    'year_ago' => ':count rokem|:count roky|:count lety',
+    'y_ago' => ':count rok.|:count rok.|:count let.',
+    'a_year_ago' => 'rokem|:count roky|:count lety',
+
+    'month_before' => ':count měsícem|:count měsíci|:count měsíci',
+    'a_month_before' => 'měsícem|:count měsíci|:count měsíci',
+    'day_before' => ':count dnem|:count dny|:count dny',
+    'a_day_before' => 'dnem|:count dny|:count dny',
+    'week_before' => ':count týdnem|:count týdny|:count týdny',
+    'a_week_before' => 'týdnem|:count týdny|:count týdny',
+    'year_before' => ':count rokem|:count roky|:count lety',
+    'y_before' => ':count rok.|:count rok.|:count let.',
+    'a_year_before' => 'rokem|:count roky|:count lety',
+
+    'ago' => $pred,
+    'from_now' => $za,
+    'before' => $pred,
+    'after' => $za,
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'months' => ['leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'],
+    'months_short' => ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],
+    'weekdays' => ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
+    'weekdays_short' => ['ned', 'pon', 'úte', 'stř', 'čtv', 'pát', 'sob'],
+    'weekdays_min' => ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
+    'list' => [', ', ' a '],
+    'diff_now' => 'nyní',
+    'diff_yesterday' => 'včera',
+    'diff_tomorrow' => 'zítra',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD. MM. YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D. MMMM YYYY HH:mm',
+    ],
+    'meridiem' => ['dopoledne', 'odpoledne'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cs_CZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cs_CZ.php
new file mode 100644
index 0000000..a16a346
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cs_CZ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/cs.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/csb.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/csb.php
new file mode 100644
index 0000000..a35d281
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/csb.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/csb_PL.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/csb_PL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/csb_PL.php
new file mode 100644
index 0000000..25e0ca8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/csb_PL.php
@@ -0,0 +1,41 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - csb_PL locale Michal Ostrowski bug-glibc-locales@gnu.org
+ */
+return [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'MMMM DD, YYYY',
+        'LLL' => 'DD MMM HH:mm',
+        'LLLL' => 'MMMM DD, YYYY HH:mm',
+    ],
+    'months' => ['stëcznika', 'gromicznika', 'strëmiannika', 'łżëkwiata', 'maja', 'czerwińca', 'lëpińca', 'zélnika', 'séwnika', 'rujana', 'lëstopadnika', 'gòdnika'],
+    'months_short' => ['stë', 'gro', 'str', 'łżë', 'maj', 'cze', 'lëp', 'zél', 'séw', 'ruj', 'lës', 'gòd'],
+    'weekdays' => ['niedzela', 'pòniedzôłk', 'wtórk', 'strzoda', 'czwiôrtk', 'piątk', 'sobòta'],
+    'weekdays_short' => ['nie', 'pòn', 'wtó', 'str', 'czw', 'pią', 'sob'],
+    'weekdays_min' => ['nie', 'pòn', 'wtó', 'str', 'czw', 'pią', 'sob'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' a téż '],
+    'two_words_connector' => ' a téż ',
+    'year' => ':count rok',
+    'month' => ':count miesiąc',
+    'week' => ':count tidzéń',
+    'day' => ':count dzéń',
+    'hour' => ':count gòdzëna',
+    'minute' => ':count minuta',
+    'second' => ':count sekunda',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cu.php
new file mode 100644
index 0000000..02c983a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cu.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'months' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'],
+    'months_short' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'YYYY MMMM D, dddd HH:mm',
+    ],
+
+    'year' => ':count лѣто',
+    'y' => ':count лѣто',
+    'a_year' => ':count лѣто',
+
+    'month' => ':count мѣсѧць',
+    'm' => ':count мѣсѧць',
+    'a_month' => ':count мѣсѧць',
+
+    'week' => ':count сєдмица',
+    'w' => ':count сєдмица',
+    'a_week' => ':count сєдмица',
+
+    'day' => ':count дьнь',
+    'd' => ':count дьнь',
+    'a_day' => ':count дьнь',
+
+    'hour' => ':count година',
+    'h' => ':count година',
+    'a_hour' => ':count година',
+
+    'minute' => ':count малъ', // less reliable
+    'min' => ':count малъ', // less reliable
+    'a_minute' => ':count малъ', // less reliable
+
+    'second' => ':count въторъ',
+    's' => ':count въторъ',
+    'a_second' => ':count въторъ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cv.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cv.php
new file mode 100644
index 0000000..cec1fc9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cv.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - JD Isaacks
+ */
+return [
+    'year' => ':count ҫул',
+    'a_year' => '{1}пӗр ҫул|:count ҫул',
+    'month' => ':count уйӑх',
+    'a_month' => '{1}пӗр уйӑх|:count уйӑх',
+    'week' => ':count эрне',
+    'a_week' => '{1}пӗр эрне|:count эрне',
+    'day' => ':count кун',
+    'a_day' => '{1}пӗр кун|:count кун',
+    'hour' => ':count сехет',
+    'a_hour' => '{1}пӗр сехет|:count сехет',
+    'minute' => ':count минут',
+    'a_minute' => '{1}пӗр минут|:count минут',
+    'second' => ':count ҫеккунт',
+    'a_second' => '{1}пӗр-ик ҫеккунт|:count ҫеккунт',
+    'ago' => ':time каялла',
+    'from_now' => function ($time) {
+        return $time.(preg_match('/сехет$/', $time) ? 'рен' : (preg_match('/ҫул/', $time) ? 'тан' : 'ран'));
+    },
+    'diff_yesterday' => 'Ӗнер',
+    'diff_today' => 'Паян',
+    'diff_tomorrow' => 'Ыран',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD-MM-YYYY',
+        'LL' => 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
+        'LLL' => 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+        'LLLL' => 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Паян] LT [сехетре]',
+        'nextDay' => '[Ыран] LT [сехетре]',
+        'nextWeek' => '[Ҫитес] dddd LT [сехетре]',
+        'lastDay' => '[Ӗнер] LT [сехетре]',
+        'lastWeek' => '[Иртнӗ] dddd LT [сехетре]',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number-мӗш',
+    'months' => ['кӑрлач', 'нарӑс', 'пуш', 'ака', 'май', 'ҫӗртме', 'утӑ', 'ҫурла', 'авӑн', 'юпа', 'чӳк', 'раштав'],
+    'months_short' => ['кӑр', 'нар', 'пуш', 'ака', 'май', 'ҫӗр', 'утӑ', 'ҫур', 'авн', 'юпа', 'чӳк', 'раш'],
+    'weekdays' => ['вырсарникун', 'тунтикун', 'ытларикун', 'юнкун', 'кӗҫнерникун', 'эрнекун', 'шӑматкун'],
+    'weekdays_short' => ['выр', 'тун', 'ытл', 'юн', 'кӗҫ', 'эрн', 'шӑм'],
+    'weekdays_min' => ['вр', 'тн', 'ыт', 'юн', 'кҫ', 'эр', 'шм'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' тата '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cv_RU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cv_RU.php
new file mode 100644
index 0000000..ddff893
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cv_RU.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/cv.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cy.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cy.php
new file mode 100644
index 0000000..ab7c45a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cy.php
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - JD Isaacks
+ * - Daniel Monaghan
+ */
+return [
+    'year' => '{1}blwyddyn|]1,Inf[:count flynedd',
+    'y' => ':countbl',
+    'month' => '{1}mis|]1,Inf[:count mis',
+    'm' => ':countmi',
+    'week' => ':count wythnos',
+    'w' => ':countw',
+    'day' => '{1}diwrnod|]1,Inf[:count diwrnod',
+    'd' => ':countd',
+    'hour' => '{1}awr|]1,Inf[:count awr',
+    'h' => ':counth',
+    'minute' => '{1}munud|]1,Inf[:count munud',
+    'min' => ':countm',
+    'second' => '{1}ychydig eiliadau|]1,Inf[:count eiliad',
+    's' => ':counts',
+    'ago' => ':time yn ôl',
+    'from_now' => 'mewn :time',
+    'after' => ':time ar ôl',
+    'before' => ':time o\'r blaen',
+    'diff_now' => 'nawr',
+    'diff_today' => 'Heddiw',
+    'diff_today_regexp' => 'Heddiw(?:\\s+am)?',
+    'diff_yesterday' => 'ddoe',
+    'diff_yesterday_regexp' => 'Ddoe(?:\\s+am)?',
+    'diff_tomorrow' => 'yfory',
+    'diff_tomorrow_regexp' => 'Yfory(?:\\s+am)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Heddiw am] LT',
+        'nextDay' => '[Yfory am] LT',
+        'nextWeek' => 'dddd [am] LT',
+        'lastDay' => '[Ddoe am] LT',
+        'lastWeek' => 'dddd [diwethaf am] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        return $number.(
+            $number > 20
+                ? (\in_array($number, [40, 50, 60, 80, 100]) ? 'fed' : 'ain')
+                : ([
+                    '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
+                    'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed', // 11eg to 20fed
+                ])[$number] ?? ''
+        );
+    },
+    'months' => ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'],
+    'months_short' => ['Ion', 'Chwe', 'Maw', 'Ebr', 'Mai', 'Meh', 'Gor', 'Aws', 'Med', 'Hyd', 'Tach', 'Rhag'],
+    'weekdays' => ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', 'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'],
+    'weekdays_short' => ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwe', 'Sad'],
+    'weekdays_min' => ['Su', 'Ll', 'Ma', 'Me', 'Ia', 'Gw', 'Sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' a '],
+    'meridiem' => ['yb', 'yh'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cy_GB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cy_GB.php
new file mode 100644
index 0000000..541127c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/cy_GB.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/cy.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da.php
new file mode 100644
index 0000000..4e6640a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da.php
@@ -0,0 +1,80 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Rune Mønnike
+ * - François B
+ * - codenhagen
+ * - JD Isaacks
+ * - Jens Herlevsen
+ * - Ulrik McArdle (mcardle)
+ * - Frederik Sauer (FrittenKeeZ)
+ */
+return [
+    'year' => ':count år|:count år',
+    'a_year' => 'et år|:count år',
+    'y' => ':count år|:count år',
+    'month' => ':count måned|:count måneder',
+    'a_month' => 'en måned|:count måneder',
+    'm' => ':count mdr.',
+    'week' => ':count uge|:count uger',
+    'a_week' => 'en uge|:count uger',
+    'w' => ':count u.',
+    'day' => ':count dag|:count dage',
+    'a_day' => ':count dag|:count dage',
+    'd' => ':count d.',
+    'hour' => ':count time|:count timer',
+    'a_hour' => 'en time|:count timer',
+    'h' => ':count t.',
+    'minute' => ':count minut|:count minutter',
+    'a_minute' => 'et minut|:count minutter',
+    'min' => ':count min.',
+    'second' => ':count sekund|:count sekunder',
+    'a_second' => 'få sekunder|:count sekunder',
+    's' => ':count s.',
+    'ago' => ':time siden',
+    'from_now' => 'om :time',
+    'after' => ':time efter',
+    'before' => ':time før',
+    'diff_now' => 'nu',
+    'diff_today' => 'i dag',
+    'diff_today_regexp' => 'i dag(?:\\s+kl.)?',
+    'diff_yesterday' => 'i går',
+    'diff_yesterday_regexp' => 'i går(?:\\s+kl.)?',
+    'diff_tomorrow' => 'i morgen',
+    'diff_tomorrow_regexp' => 'i morgen(?:\\s+kl.)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY HH:mm',
+        'LLLL' => 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[i dag kl.] LT',
+        'nextDay' => '[i morgen kl.] LT',
+        'nextWeek' => 'på dddd [kl.] LT',
+        'lastDay' => '[i går kl.] LT',
+        'lastWeek' => '[i] dddd[s kl.] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
+    'weekdays' => ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'],
+    'weekdays_short' => ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'],
+    'weekdays_min' => ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' og '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da_DK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da_DK.php
new file mode 100644
index 0000000..b3bac1a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da_DK.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/da.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da_GL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da_GL.php
new file mode 100644
index 0000000..b2ba81f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/da_GL.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/da.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D. MMM YYYY',
+        'LLL' => 'D. MMMM YYYY HH.mm',
+        'LLLL' => 'dddd [den] D. MMMM YYYY HH.mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dav.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dav.php
new file mode 100644
index 0000000..79f021e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dav.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Luma lwa K', 'luma lwa p'],
+    'weekdays' => ['Ituku ja jumwa', 'Kuramuka jimweri', 'Kuramuka kawi', 'Kuramuka kadadu', 'Kuramuka kana', 'Kuramuka kasanu', 'Kifula nguwo'],
+    'weekdays_short' => ['Jum', 'Jim', 'Kaw', 'Kad', 'Kan', 'Kas', 'Ngu'],
+    'weekdays_min' => ['Jum', 'Jim', 'Kaw', 'Kad', 'Kan', 'Kas', 'Ngu'],
+    'months' => ['Mori ghwa imbiri', 'Mori ghwa kawi', 'Mori ghwa kadadu', 'Mori ghwa kana', 'Mori ghwa kasanu', 'Mori ghwa karandadu', 'Mori ghwa mfungade', 'Mori ghwa wunyanya', 'Mori ghwa ikenda', 'Mori ghwa ikumi', 'Mori ghwa ikumi na imweri', 'Mori ghwa ikumi na iwi'],
+    'months_short' => ['Imb', 'Kaw', 'Kad', 'Kan', 'Kas', 'Kar', 'Mfu', 'Wun', 'Ike', 'Iku', 'Imw', 'Iwi'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de.php
new file mode 100644
index 0000000..ff00c97
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de.php
@@ -0,0 +1,108 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Michael Hohl
+ * - sheriffmarley
+ * - dennisoderwald
+ * - Timo
+ * - Karag2006
+ * - Pete Scopes (pdscopes)
+ */
+return [
+    'year' => ':count Jahr|:count Jahre',
+    'a_year' => 'ein Jahr|:count Jahre',
+    'y' => ':count J.',
+    'month' => ':count Monat|:count Monate',
+    'a_month' => 'ein Monat|:count Monate',
+    'm' => ':count Mon.',
+    'week' => ':count Woche|:count Wochen',
+    'a_week' => 'eine Woche|:count Wochen',
+    'w' => ':count Wo.',
+    'day' => ':count Tag|:count Tage',
+    'a_day' => 'ein Tag|:count Tage',
+    'd' => ':count Tg.',
+    'hour' => ':count Stunde|:count Stunden',
+    'a_hour' => 'eine Stunde|:count Stunden',
+    'h' => ':count Std.',
+    'minute' => ':count Minute|:count Minuten',
+    'a_minute' => 'eine Minute|:count Minuten',
+    'min' => ':count Min.',
+    'second' => ':count Sekunde|:count Sekunden',
+    'a_second' => 'ein paar Sekunden|:count Sekunden',
+    's' => ':count Sek.',
+    'millisecond' => ':count Millisekunde|:count Millisekunden',
+    'a_millisecond' => 'eine Millisekunde|:count Millisekunden',
+    'ms' => ':countms',
+    'microsecond' => ':count Mikrosekunde|:count Mikrosekunden',
+    'a_microsecond' => 'eine Mikrosekunde|:count Mikrosekunden',
+    'µs' => ':countµs',
+    'ago' => 'vor :time',
+    'from_now' => 'in :time',
+    'after' => ':time später',
+    'before' => ':time zuvor',
+
+    'year_from_now' => ':count Jahr|:count Jahren',
+    'month_from_now' => ':count Monat|:count Monaten',
+    'week_from_now' => ':count Woche|:count Wochen',
+    'day_from_now' => ':count Tag|:count Tagen',
+    'year_ago' => ':count Jahr|:count Jahren',
+    'month_ago' => ':count Monat|:count Monaten',
+    'week_ago' => ':count Woche|:count Wochen',
+    'day_ago' => ':count Tag|:count Tagen',
+    'a_year_from_now' => 'ein Jahr|:count Jahren',
+    'a_month_from_now' => 'ein Monat|:count Monaten',
+    'a_week_from_now' => 'eine Woche|:count Wochen',
+    'a_day_from_now' => 'ein Tag|:count Tagen',
+    'a_year_ago' => 'ein Jahr|:count Jahren',
+    'a_month_ago' => 'ein Monat|:count Monaten',
+    'a_week_ago' => 'eine Woche|:count Wochen',
+    'a_day_ago' => 'ein Tag|:count Tagen',
+
+    'diff_now' => 'Gerade eben',
+    'diff_today' => 'heute',
+    'diff_today_regexp' => 'heute(?:\\s+um)?',
+    'diff_yesterday' => 'Gestern',
+    'diff_yesterday_regexp' => 'gestern(?:\\s+um)?',
+    'diff_tomorrow' => 'Morgen',
+    'diff_tomorrow_regexp' => 'morgen(?:\\s+um)?',
+    'diff_before_yesterday' => 'Vorgestern',
+    'diff_after_tomorrow' => 'Übermorgen',
+
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY HH:mm',
+    ],
+
+    'calendar' => [
+        'sameDay' => '[heute um] LT [Uhr]',
+        'nextDay' => '[morgen um] LT [Uhr]',
+        'nextWeek' => 'dddd [um] LT [Uhr]',
+        'lastDay' => '[gestern um] LT [Uhr]',
+        'lastWeek' => '[letzten] dddd [um] LT [Uhr]',
+        'sameElse' => 'L',
+    ],
+
+    'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
+    'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
+    'weekdays' => ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
+    'weekdays_short' => ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],
+    'weekdays_min' => ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
+    'ordinal' => ':number.',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' und '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_AT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_AT.php
new file mode 100644
index 0000000..a2ea4c0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_AT.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - sheriffmarley
+ * - Timo
+ * - Michael Hohl
+ * - Namoshek
+ * - Bernhard Baumrock (BernhardBaumrock)
+ */
+return array_replace_recursive(require __DIR__.'/de.php', [
+    'months' => [
+        0 => 'Jänner',
+    ],
+    'months_short' => [
+        0 => 'Jän',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_BE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_BE.php
new file mode 100644
index 0000000..8ed8dc6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_BE.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/de.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_CH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_CH.php
new file mode 100644
index 0000000..a869ab4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_CH.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - sheriffmarley
+ * - Timo
+ * - Michael Hohl
+ */
+return array_replace_recursive(require __DIR__.'/de.php', [
+    'weekdays_short' => ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_DE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_DE.php
new file mode 100644
index 0000000..fb1209d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_DE.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Free Software Foundation, Inc.    bug-glibc-locales@gnu.org
+ */
+return require __DIR__.'/de.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_IT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_IT.php
new file mode 100644
index 0000000..604a856
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_IT.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Matthias Dieter Wallno:fer libc-locales@sourceware.org
+ */
+return require __DIR__.'/de.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_LI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_LI.php
new file mode 100644
index 0000000..82edfa1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_LI.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/de.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_LU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_LU.php
new file mode 100644
index 0000000..8ed8dc6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/de_LU.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/de.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dje.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dje.php
new file mode 100644
index 0000000..08ddbf1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dje.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Subbaahi', 'Zaarikay b'],
+    'weekdays' => ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamisi', 'Alzuma', 'Asibti'],
+    'weekdays_short' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'],
+    'weekdays_min' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'],
+    'months' => ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'],
+    'months_short' => ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count hari', // less reliable
+    'y' => ':count hari', // less reliable
+    'a_year' => ':count hari', // less reliable
+
+    'week' => ':count alzuma', // less reliable
+    'w' => ':count alzuma', // less reliable
+    'a_week' => ':count alzuma', // less reliable
+
+    'second' => ':count atinni', // less reliable
+    's' => ':count atinni', // less reliable
+    'a_second' => ':count atinni', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/doi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/doi.php
new file mode 100644
index 0000000..cb679c5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/doi.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/doi_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/doi_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/doi_IN.php
new file mode 100644
index 0000000..d359721
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/doi_IN.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat Pune    libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फरवरी', 'मार्च', 'एप्रैल', 'मेई', 'जून', 'जूलै', 'अगस्त', 'सितंबर', 'अक्तूबर', 'नवंबर', 'दिसंबर'],
+    'months_short' => ['जनवरी', 'फरवरी', 'मार्च', 'एप्रैल', 'मेई', 'जून', 'जूलै', 'अगस्त', 'सितंबर', 'अक्तूबर', 'नवंबर', 'दिसंबर'],
+    'weekdays' => ['ऐतबार', 'सोमबार', 'मंगलबर', 'बुधबार', 'बीरबार', 'शुक्करबार', 'श्नीचरबार'],
+    'weekdays_short' => ['ऐत', 'सोम', 'मंगल', 'बुध', 'बीर', 'शुक्कर', 'श्नीचर'],
+    'weekdays_min' => ['ऐत', 'सोम', 'मंगल', 'बुध', 'बीर', 'शुक्कर', 'श्नीचर'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['सञं', 'सबेर'],
+
+    'second' => ':count सङार', // less reliable
+    's' => ':count सङार', // less reliable
+    'a_second' => ':count सङार', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dsb.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dsb.php
new file mode 100644
index 0000000..1d214d5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dsb.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/dsb_DE.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dsb_DE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dsb_DE.php
new file mode 100644
index 0000000..1b94187
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dsb_DE.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Information from Michael Wolf    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'DD. MMMM YYYY',
+        'LLL' => 'DD. MMMM, HH:mm [góź.]',
+        'LLLL' => 'dddd, DD. MMMM YYYY, HH:mm [góź.]',
+    ],
+    'months' => ['januara', 'februara', 'měrca', 'apryla', 'maja', 'junija', 'julija', 'awgusta', 'septembra', 'oktobra', 'nowembra', 'decembra'],
+    'months_short' => ['Jan', 'Feb', 'Měr', 'Apr', 'Maj', 'Jun', 'Jul', 'Awg', 'Sep', 'Okt', 'Now', 'Dec'],
+    'weekdays' => ['Njeźela', 'Pónjeźele', 'Wałtora', 'Srjoda', 'Stwórtk', 'Pětk', 'Sobota'],
+    'weekdays_short' => ['Nj', 'Pó', 'Wa', 'Sr', 'St', 'Pě', 'So'],
+    'weekdays_min' => ['Nj', 'Pó', 'Wa', 'Sr', 'St', 'Pě', 'So'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count lěto',
+    'y' => ':count lěto',
+    'a_year' => ':count lěto',
+
+    'month' => ':count mjasec',
+    'm' => ':count mjasec',
+    'a_month' => ':count mjasec',
+
+    'week' => ':count tyźeń',
+    'w' => ':count tyźeń',
+    'a_week' => ':count tyźeń',
+
+    'day' => ':count źeń',
+    'd' => ':count źeń',
+    'a_day' => ':count źeń',
+
+    'hour' => ':count góźina',
+    'h' => ':count góźina',
+    'a_hour' => ':count góźina',
+
+    'minute' => ':count minuta',
+    'min' => ':count minuta',
+    'a_minute' => ':count minuta',
+
+    'second' => ':count drugi',
+    's' => ':count drugi',
+    'a_second' => ':count drugi',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dua.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dua.php
new file mode 100644
index 0000000..65d712f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dua.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['idiɓa', 'ebyámu'],
+    'weekdays' => ['éti', 'mɔ́sú', 'kwasú', 'mukɔ́sú', 'ŋgisú', 'ɗónɛsú', 'esaɓasú'],
+    'weekdays_short' => ['ét', 'mɔ́s', 'kwa', 'muk', 'ŋgi', 'ɗón', 'esa'],
+    'weekdays_min' => ['ét', 'mɔ́s', 'kwa', 'muk', 'ŋgi', 'ɗón', 'esa'],
+    'months' => ['dimɔ́di', 'ŋgɔndɛ', 'sɔŋɛ', 'diɓáɓá', 'emiasele', 'esɔpɛsɔpɛ', 'madiɓɛ́díɓɛ́', 'diŋgindi', 'nyɛtɛki', 'mayésɛ́', 'tiníní', 'eláŋgɛ́'],
+    'months_short' => ['di', 'ŋgɔn', 'sɔŋ', 'diɓ', 'emi', 'esɔ', 'mad', 'diŋ', 'nyɛt', 'may', 'tin', 'elá'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count ma mbu', // less reliable
+    'y' => ':count ma mbu', // less reliable
+    'a_year' => ':count ma mbu', // less reliable
+
+    'month' => ':count myo̱di', // less reliable
+    'm' => ':count myo̱di', // less reliable
+    'a_month' => ':count myo̱di', // less reliable
+
+    'week' => ':count woki', // less reliable
+    'w' => ':count woki', // less reliable
+    'a_week' => ':count woki', // less reliable
+
+    'day' => ':count buńa', // less reliable
+    'd' => ':count buńa', // less reliable
+    'a_day' => ':count buńa', // less reliable
+
+    'hour' => ':count ma awa', // less reliable
+    'h' => ':count ma awa', // less reliable
+    'a_hour' => ':count ma awa', // less reliable
+
+    'minute' => ':count minuti', // less reliable
+    'min' => ':count minuti', // less reliable
+    'a_minute' => ':count minuti', // less reliable
+
+    'second' => ':count maba', // less reliable
+    's' => ':count maba', // less reliable
+    'a_second' => ':count maba', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dv.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dv.php
new file mode 100644
index 0000000..a2b60df
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dv.php
@@ -0,0 +1,88 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+$months = [
+    'ޖެނުއަރީ',
+    'ފެބްރުއަރީ',
+    'މާރިޗު',
+    'އޭޕްރީލު',
+    'މޭ',
+    'ޖޫން',
+    'ޖުލައި',
+    'އޯގަސްޓު',
+    'ސެޕްޓެމްބަރު',
+    'އޮކްޓޯބަރު',
+    'ނޮވެމްބަރު',
+    'ޑިސެމްބަރު',
+];
+
+$weekdays = [
+    'އާދިއްތަ',
+    'ހޯމަ',
+    'އަންގާރަ',
+    'ބުދަ',
+    'ބުރާސްފަތި',
+    'ހުކުރު',
+    'ހޮނިހިރު',
+];
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Jawish Hameed
+ */
+return [
+    'year' => ':count '.'އަހަރު',
+    'a_year' => '{1}'.'އަހަރެއް'.'|:count '.'އަހަރު',
+    'month' => ':count '.'މަސް',
+    'a_month' => '{1}'.'މަހެއް'.'|:count '.'މަސް',
+    'week' => ':count '.'ހަފްތާ',
+    'a_week' => '{1}'.'ސިކުންތުކޮޅެއް'.'|:count '.'ހަފްތާ',
+    'day' => ':count '.'ދުވަސް',
+    'a_day' => '{1}'.'ދުވަހެއް'.'|:count '.'ދުވަސް',
+    'hour' => ':count '.'ގަޑިއިރު',
+    'a_hour' => '{1}'.'ގަޑިއިރެއް'.'|:count '.'ގަޑިއިރު',
+    'minute' => ':count '.'މިނިޓު',
+    'a_minute' => '{1}'.'މިނިޓެއް'.'|:count '.'މިނިޓު',
+    'second' => ':count '.'ސިކުންތު',
+    'a_second' => '{1}'.'ސިކުންތުކޮޅެއް'.'|:count '.'ސިކުންތު',
+    'ago' => 'ކުރިން :time',
+    'from_now' => 'ތެރޭގައި :time',
+    'after' => ':time ފަހުން',
+    'before' => ':time ކުރި',
+    'diff_yesterday' => 'އިއްޔެ',
+    'diff_today' => 'މިއަދު',
+    'diff_tomorrow' => 'މާދަމާ',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[މިއަދު] LT',
+        'nextDay' => '[މާދަމާ] LT',
+        'nextWeek' => 'dddd LT',
+        'lastDay' => '[އިއްޔެ] LT',
+        'lastWeek' => '[ފާއިތުވި] dddd LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['މކ', 'މފ'],
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => $weekdays,
+    'weekdays_short' => $weekdays,
+    'weekdays_min' => ['އާދި', 'ހޯމަ', 'އަން', 'ބުދަ', 'ބުރާ', 'ހުކު', 'ހޮނި'],
+    'list' => [', ', ' އަދި '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dv_MV.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dv_MV.php
new file mode 100644
index 0000000..208fb5a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dv_MV.php
@@ -0,0 +1,87 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Ahmed Ali <ajaaibu@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ahmed Ali
+ */
+
+$months = [
+    'ޖެނުއަރީ',
+    'ފެބްރުއަރީ',
+    'މާރިޗު',
+    'އޭޕްރީލު',
+    'މޭ',
+    'ޖޫން',
+    'ޖުލައި',
+    'އޯގަސްޓު',
+    'ސެޕްޓެމްބަރު',
+    'އޮކްޓޯބަރު',
+    'ނޮވެމްބަރު',
+    'ޑިސެމްބަރު',
+];
+
+$weekdays = [
+    'އާދިއްތަ',
+    'ހޯމަ',
+    'އަންގާރަ',
+    'ބުދަ',
+    'ބުރާސްފަތި',
+    'ހުކުރު',
+    'ހޮނިހިރު',
+];
+
+return [
+    'year' => '{0}އަހަރެއް|[1,Inf]:count އަހަރު',
+    'y' => '{0}އަހަރެއް|[1,Inf]:count އަހަރު',
+    'month' => '{0}މައްސަރެއް|[1,Inf]:count މަސް',
+    'm' => '{0}މައްސަރެއް|[1,Inf]:count މަސް',
+    'week' => '{0}ހަފްތާއެއް|[1,Inf]:count ހަފްތާ',
+    'w' => '{0}ހަފްތާއެއް|[1,Inf]:count ހަފްތާ',
+    'day' => '{0}ދުވަސް|[1,Inf]:count ދުވަސް',
+    'd' => '{0}ދުވަސް|[1,Inf]:count ދުވަސް',
+    'hour' => '{0}ގަޑިއިރެއް|[1,Inf]:count ގަޑި',
+    'h' => '{0}ގަޑިއިރެއް|[1,Inf]:count ގަޑި',
+    'minute' => '{0}މިނެޓެއް|[1,Inf]:count މިނެޓް',
+    'min' => '{0}މިނެޓެއް|[1,Inf]:count މިނެޓް',
+    'second' => '{0}ސިކުންތެއް|[1,Inf]:count ސިކުންތު',
+    's' => '{0}ސިކުންތެއް|[1,Inf]:count ސިކުންތު',
+    'ago' => ':time ކުރިން',
+    'from_now' => ':time ފަހުން',
+    'after' => ':time ފަހުން',
+    'before' => ':time ކުރި',
+    'diff_yesterday' => 'އިއްޔެ',
+    'diff_today' => 'މިއަދު',
+    'diff_tomorrow' => 'މާދަމާ',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[މިއަދު] LT',
+        'nextDay' => '[މާދަމާ] LT',
+        'nextWeek' => 'dddd LT',
+        'lastDay' => '[އިއްޔެ] LT',
+        'lastWeek' => '[ފާއިތުވި] dddd LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['މކ', 'މފ'],
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => $weekdays,
+    'weekdays_short' => $weekdays,
+    'weekdays_min' => ['އާދި', 'ހޯމަ', 'އަން', 'ބުދަ', 'ބުރާ', 'ހުކު', 'ހޮނި'],
+    'list' => [', ', ' އަދި '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dyo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dyo.php
new file mode 100644
index 0000000..ecb649b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dyo.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['Dimas', 'Teneŋ', 'Talata', 'Alarbay', 'Aramisay', 'Arjuma', 'Sibiti'],
+    'weekdays_short' => ['Dim', 'Ten', 'Tal', 'Ala', 'Ara', 'Arj', 'Sib'],
+    'weekdays_min' => ['Dim', 'Ten', 'Tal', 'Ala', 'Ara', 'Arj', 'Sib'],
+    'months' => ['Sanvie', 'Fébirie', 'Mars', 'Aburil', 'Mee', 'Sueŋ', 'Súuyee', 'Ut', 'Settembar', 'Oktobar', 'Novembar', 'Disambar'],
+    'months_short' => ['Sa', 'Fe', 'Ma', 'Ab', 'Me', 'Su', 'Sú', 'Ut', 'Se', 'Ok', 'No', 'De'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dz.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dz.php
new file mode 100644
index 0000000..cc17e69
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dz.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/dz_BT.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dz_BT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dz_BT.php
new file mode 100644
index 0000000..bfbcaf4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/dz_BT.php
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Sherubtse College    bug-glibc@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'པསྱི་ལོYYཟལMMཚེསDD',
+    ],
+    'months' => ['ཟླ་བ་དང་པ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་ཕ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུནཔ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'],
+    'months_short' => ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'],
+    'weekdays' => ['གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་ཕ་', 'གཟའ་པུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་ཕ་', 'གཟའ་ཉི་མ་'],
+    'weekdays_short' => ['ཟླ་', 'མིར་', 'ལྷག་', 'པུར་', 'སངས་', 'སྤེན་', 'ཉི་'],
+    'weekdays_min' => ['ཟླ་', 'མིར་', 'ལྷག་', 'པུར་', 'སངས་', 'སྤེན་', 'ཉི་'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ངས་ཆ', 'ཕྱི་ཆ'],
+
+    'year' => ':count ཆརཔ', // less reliable
+    'y' => ':count ཆརཔ', // less reliable
+    'a_year' => ':count ཆརཔ', // less reliable
+
+    'month' => ':count ཟླ་བ', // less reliable
+    'm' => ':count ཟླ་བ', // less reliable
+    'a_month' => ':count ཟླ་བ', // less reliable
+
+    'day' => ':count ཉི', // less reliable
+    'd' => ':count ཉི', // less reliable
+    'a_day' => ':count ཉི', // less reliable
+
+    'second' => ':count ཆ', // less reliable
+    's' => ':count ཆ', // less reliable
+    'a_second' => ':count ཆ', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ebu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ebu.php
new file mode 100644
index 0000000..5aab48d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ebu.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['KI', 'UT'],
+    'weekdays' => ['Kiumia', 'Njumatatu', 'Njumaine', 'Njumatano', 'Aramithi', 'Njumaa', 'NJumamothii'],
+    'weekdays_short' => ['Kma', 'Tat', 'Ine', 'Tan', 'Arm', 'Maa', 'NMM'],
+    'weekdays_min' => ['Kma', 'Tat', 'Ine', 'Tan', 'Arm', 'Maa', 'NMM'],
+    'months' => ['Mweri wa mbere', 'Mweri wa kaĩri', 'Mweri wa kathatũ', 'Mweri wa kana', 'Mweri wa gatano', 'Mweri wa gatantatũ', 'Mweri wa mũgwanja', 'Mweri wa kanana', 'Mweri wa kenda', 'Mweri wa ikũmi', 'Mweri wa ikũmi na ũmwe', 'Mweri wa ikũmi na Kaĩrĩ'],
+    'months_short' => ['Mbe', 'Kai', 'Kat', 'Kan', 'Gat', 'Gan', 'Mug', 'Knn', 'Ken', 'Iku', 'Imw', 'Igi'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ee.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ee.php
new file mode 100644
index 0000000..2fd9dcd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ee.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['ŋ', 'ɣ'],
+    'weekdays' => ['kɔsiɖa', 'dzoɖa', 'blaɖa', 'kuɖa', 'yawoɖa', 'fiɖa', 'memleɖa'],
+    'weekdays_short' => ['kɔs', 'dzo', 'bla', 'kuɖ', 'yaw', 'fiɖ', 'mem'],
+    'weekdays_min' => ['kɔs', 'dzo', 'bla', 'kuɖ', 'yaw', 'fiɖ', 'mem'],
+    'months' => ['dzove', 'dzodze', 'tedoxe', 'afɔfĩe', 'dama', 'masa', 'siamlɔm', 'deasiamime', 'anyɔnyɔ', 'kele', 'adeɛmekpɔxe', 'dzome'],
+    'months_short' => ['dzv', 'dzd', 'ted', 'afɔ', 'dam', 'mas', 'sia', 'dea', 'any', 'kel', 'ade', 'dzm'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'a [ga] h:mm',
+        'LTS' => 'a [ga] h:mm:ss',
+        'L' => 'M/D/YYYY',
+        'LL' => 'MMM D [lia], YYYY',
+        'LLL' => 'a [ga] h:mm MMMM D [lia] YYYY',
+        'LLLL' => 'a [ga] h:mm dddd, MMMM D [lia] YYYY',
+    ],
+
+    'year' => 'ƒe :count',
+    'y' => 'ƒe :count',
+    'a_year' => 'ƒe :count',
+
+    'month' => 'ɣleti :count',
+    'm' => 'ɣleti :count',
+    'a_month' => 'ɣleti :count',
+
+    'week' => 'kwasiɖa :count',
+    'w' => 'kwasiɖa :count',
+    'a_week' => 'kwasiɖa :count',
+
+    'day' => 'ŋkeke :count',
+    'd' => 'ŋkeke :count',
+    'a_day' => 'ŋkeke :count',
+
+    'hour' => 'gaƒoƒo :count',
+    'h' => 'gaƒoƒo :count',
+    'a_hour' => 'gaƒoƒo :count',
+
+    'minute' => 'miniti :count', // less reliable
+    'min' => 'miniti :count', // less reliable
+    'a_minute' => 'miniti :count', // less reliable
+
+    'second' => 'sɛkɛnd :count', // less reliable
+    's' => 'sɛkɛnd :count', // less reliable
+    'a_second' => 'sɛkɛnd :count', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ee_TG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ee_TG.php
new file mode 100644
index 0000000..02d77e6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ee_TG.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ee.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'LLL' => 'HH:mm MMMM D [lia] YYYY',
+        'LLLL' => 'HH:mm dddd, MMMM D [lia] YYYY',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el.php
new file mode 100644
index 0000000..09cf7e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el.php
@@ -0,0 +1,90 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Alessandro Di Felice
+ * - François B
+ * - Tim Fish
+ * - Gabriel Monteagudo
+ * - JD Isaacks
+ * - yiannisdesp
+ * - Ilias Kasmeridis (iliaskasm)
+ */
+return [
+    'year' => ':count χρόνος|:count χρόνια',
+    'a_year' => 'ένας χρόνος|:count χρόνια',
+    'y' => ':count χρ.',
+    'month' => ':count μήνας|:count μήνες',
+    'a_month' => 'ένας μήνας|:count μήνες',
+    'm' => ':count μήν.',
+    'week' => ':count εβδομάδα|:count εβδομάδες',
+    'a_week' => 'μια εβδομάδα|:count εβδομάδες',
+    'w' => ':count εβδ.',
+    'day' => ':count μέρα|:count μέρες',
+    'a_day' => 'μία μέρα|:count μέρες',
+    'd' => ':count μέρ.',
+    'hour' => ':count ώρα|:count ώρες',
+    'a_hour' => 'μία ώρα|:count ώρες',
+    'h' => ':count ώρα|:count ώρες',
+    'minute' => ':count λεπτό|:count λεπτά',
+    'a_minute' => 'ένα λεπτό|:count λεπτά',
+    'min' => ':count λεπ.',
+    'second' => ':count δευτερόλεπτο|:count δευτερόλεπτα',
+    'a_second' => 'λίγα δευτερόλεπτα|:count δευτερόλεπτα',
+    's' => ':count δευ.',
+    'ago' => 'πριν :time',
+    'from_now' => 'σε :time',
+    'after' => ':time μετά',
+    'before' => ':time πριν',
+    'diff_now' => 'τώρα',
+    'diff_today' => 'Σήμερα',
+    'diff_today_regexp' => 'Σήμερα(?:\\s+{})?',
+    'diff_yesterday' => 'χθες',
+    'diff_yesterday_regexp' => 'Χθες(?:\\s+{})?',
+    'diff_tomorrow' => 'αύριο',
+    'diff_tomorrow_regexp' => 'Αύριο(?:\\s+{})?',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm A',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm A',
+    ],
+    'calendar' => [
+        'sameDay' => '[Σήμερα {}] LT',
+        'nextDay' => '[Αύριο {}] LT',
+        'nextWeek' => 'dddd [{}] LT',
+        'lastDay' => '[Χθες {}] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $current) {
+            switch ($current->dayOfWeek) {
+                case 6:
+                    return '[το προηγούμενο] dddd [{}] LT';
+                default:
+                    return '[την προηγούμενη] dddd [{}] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberη',
+    'meridiem' => ['ΠΜ', 'ΜΜ', 'πμ', 'μμ'],
+    'months' => ['Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', 'Απριλίου', 'Μαΐου', 'Ιουνίου', 'Ιουλίου', 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', 'Νοεμβρίου', 'Δεκεμβρίου'],
+    'months_standalone' => ['Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'],
+    'months_regexp' => '/(D[oD]?[\s,]+MMMM|L{2,4}|l{2,4})/',
+    'months_short' => ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαϊ', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'],
+    'weekdays' => ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'],
+    'weekdays_short' => ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ'],
+    'weekdays_min' => ['Κυ', 'Δε', 'Τρ', 'Τε', 'Πε', 'Πα', 'Σα'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' και '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el_CY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el_CY.php
new file mode 100644
index 0000000..8a693c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el_CY.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Greek Debian Translation Team    bug-glibc@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/el.php', [
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el_GR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el_GR.php
new file mode 100644
index 0000000..df196af
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/el_GR.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/el.php', [
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en.php
new file mode 100644
index 0000000..a8633fe
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en.php
@@ -0,0 +1,87 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Milos Sakovic
+ * - Paul
+ * - Pete Scopes (pdscopes)
+ */
+return [
+    /*
+     * {1}, {0} and ]1,Inf[ are not needed as it's the default for English pluralization.
+     * But as some languages are using en.php as a fallback, it's better to specify it
+     * explicitly so those languages also fallback to English pluralization when a unit
+     * is missing.
+     */
+    'year' => '{1}:count year|{0}:count years|]1,Inf[:count years',
+    'a_year' => '{1}a year|{0}:count years|]1,Inf[:count years',
+    'y' => '{1}:countyr|{0}:countyrs|]1,Inf[:countyrs',
+    'month' => '{1}:count month|{0}:count months|]1,Inf[:count months',
+    'a_month' => '{1}a month|{0}:count months|]1,Inf[:count months',
+    'm' => '{1}:countmo|{0}:countmos|]1,Inf[:countmos',
+    'week' => '{1}:count week|{0}:count weeks|]1,Inf[:count weeks',
+    'a_week' => '{1}a week|{0}:count weeks|]1,Inf[:count weeks',
+    'w' => ':countw',
+    'day' => '{1}:count day|{0}:count days|]1,Inf[:count days',
+    'a_day' => '{1}a day|{0}:count days|]1,Inf[:count days',
+    'd' => ':countd',
+    'hour' => '{1}:count hour|{0}:count hours|]1,Inf[:count hours',
+    'a_hour' => '{1}an hour|{0}:count hours|]1,Inf[:count hours',
+    'h' => ':counth',
+    'minute' => '{1}:count minute|{0}:count minutes|]1,Inf[:count minutes',
+    'a_minute' => '{1}a minute|{0}:count minutes|]1,Inf[:count minutes',
+    'min' => ':countm',
+    'second' => '{1}:count second|{0}:count seconds|]1,Inf[:count seconds',
+    'a_second' => '{1}a few seconds|{0}:count seconds|]1,Inf[:count seconds',
+    's' => ':counts',
+    'millisecond' => '{1}:count millisecond|{0}:count milliseconds|]1,Inf[:count milliseconds',
+    'a_millisecond' => '{1}a millisecond|{0}:count milliseconds|]1,Inf[:count milliseconds',
+    'ms' => ':countms',
+    'microsecond' => '{1}:count microsecond|{0}:count microseconds|]1,Inf[:count microseconds',
+    'a_microsecond' => '{1}a microsecond|{0}:count microseconds|]1,Inf[:count microseconds',
+    'µs' => ':countµs',
+    'ago' => ':time ago',
+    'from_now' => ':time from now',
+    'after' => ':time after',
+    'before' => ':time before',
+    'diff_now' => 'just now',
+    'diff_today' => 'today',
+    'diff_yesterday' => 'yesterday',
+    'diff_tomorrow' => 'tomorrow',
+    'diff_before_yesterday' => 'before yesterday',
+    'diff_after_tomorrow' => 'after tomorrow',
+    'period_recurrences' => '{1}once|{0}:count times|]1,Inf[:count times',
+    'period_interval' => 'every :interval',
+    'period_start_date' => 'from :date',
+    'period_end_date' => 'to :date',
+    'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+    'weekdays' => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+    'weekdays_short' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+    'weekdays_min' => ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
+    'ordinal' => function ($number) {
+        $lastDigit = $number % 10;
+
+        return $number.(
+            (~~($number % 100 / 10) === 1) ? 'th' : (
+                ($lastDigit === 1) ? 'st' : (
+                    ($lastDigit === 2) ? 'nd' : (
+                        ($lastDigit === 3) ? 'rd' : 'th'
+                    )
+                )
+            )
+        );
+    },
+    'list' => [', ', ' and '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_001.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_001.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_001.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_150.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_150.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_150.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AG.php
new file mode 100644
index 0000000..2c1c64f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AG.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Free Software Foundation, Inc.  bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AI.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AI.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AS.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AS.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AT.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AT.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AU.php
new file mode 100644
index 0000000..f16bd4f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_AU.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kunal Marwaha
+ * - François B
+ * - Mayank Badola
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm A',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm A',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BB.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BB.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BE.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BE.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BI.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BI.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BM.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BM.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BS.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BS.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BW.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BW.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BZ.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_BZ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CA.php
new file mode 100644
index 0000000..e656086
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CA.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Zhan Tong Zhang
+ * - Mayank Badola
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'MMMM D, YYYY',
+        'LLL' => 'MMMM D, YYYY h:mm A',
+        'LLLL' => 'dddd, MMMM D, YYYY h:mm A',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CC.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CC.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CH.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CH.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CK.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CK.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CM.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CM.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CX.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CX.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CX.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CY.php
new file mode 100644
index 0000000..a44c350
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_CY.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - NehaGautam
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD-MM-YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DE.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DE.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DG.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DG.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DK.php
new file mode 100644
index 0000000..9e8a8c6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DK.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Danish Standards Association  bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DM.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_DM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ER.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ER.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ER.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FI.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FI.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FJ.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FJ.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FK.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FK.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FM.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_FM.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GB.php
new file mode 100644
index 0000000..67d9fd6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GB.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Mayank Badola
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GD.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GD.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GG.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GG.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GH.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GH.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GI.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GI.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GM.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GM.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GU.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GU.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GY.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_GY.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_HK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_HK.php
new file mode 100644
index 0000000..34aae98
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_HK.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory  bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IE.php
new file mode 100644
index 0000000..c8d3c2f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IE.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Martin McWhorter
+ * - François B
+ * - Chris Cartlidge
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD-MM-YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IL.php
new file mode 100644
index 0000000..e607924
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IL.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Yoav Amit
+ * - François B
+ * - Mayank Badola
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IM.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IM.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IN.php
new file mode 100644
index 0000000..00414e9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IN.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory  bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YY',
+        'LL' => 'MMMM DD, YYYY',
+        'LLL' => 'DD MMM HH:mm',
+        'LLLL' => 'MMMM DD, YYYY HH:mm',
+    ],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IO.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_IO.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ISO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ISO.php
new file mode 100644
index 0000000..6ae11c9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ISO.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'dddd, YYYY MMMM DD HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_JE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_JE.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_JE.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_JM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_JM.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_JM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KE.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KI.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KI.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KN.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KN.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KY.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_KY.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LC.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LC.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LR.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LR.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LS.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_LS.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MG.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MG.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MH.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MH.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MO.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MP.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MP.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MS.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MS.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MT.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MT.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MU.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MU.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MW.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MW.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MY.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_MY.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NA.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NA.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NF.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NF.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NG.php
new file mode 100644
index 0000000..1d0d34f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NG.php
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NL.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NL.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NR.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NR.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NU.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NU.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NZ.php
new file mode 100644
index 0000000..6a206a0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_NZ.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Mayank Badola
+ * - Luke McGregor
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm A',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm A',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PG.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PG.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PH.php
new file mode 100644
index 0000000..34aae98
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PH.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory  bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PK.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PK.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PN.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PN.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PR.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PW.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_PW.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_RW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_RW.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_RW.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SB.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SB.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SC.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SC.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SD.php
new file mode 100644
index 0000000..ce4780c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SD.php
@@ -0,0 +1,14 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 6,
+    'weekend' => [5, 6],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SE.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SE.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SG.php
new file mode 100644
index 0000000..ed0b3f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SG.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'from_now' => 'in :time',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SH.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SH.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SI.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SI.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SL.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SL.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SS.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SS.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SX.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SX.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SX.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SZ.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_SZ.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TC.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TC.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TK.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TK.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TO.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TO.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TT.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TT.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TV.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TV.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TV.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TZ.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_TZ.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_UG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_UG.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_UG.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_UM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_UM.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_UM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_US.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_US.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_US.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_US_Posix.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_US_Posix.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_US_Posix.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VC.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VC.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VG.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VG.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VI.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VI.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VU.php
new file mode 100644
index 0000000..9f2a3f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_VU.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_WS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_WS.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_WS.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZA.php
new file mode 100644
index 0000000..48ea947
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZA.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YY',
+        'LL' => 'MMMM DD, YYYY',
+        'LLL' => 'DD MMM HH:mm',
+        'LLLL' => 'MMMM DD, YYYY HH:mm',
+    ],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZM.php
new file mode 100644
index 0000000..d8a8cb5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZM.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - ANLoc Martin Benjamin locales@africanlocalization.net
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZW.php
new file mode 100644
index 0000000..31f60e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/en_ZW.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/en.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eo.php
new file mode 100644
index 0000000..7c2efba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eo.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - Mia Nordentoft
+ * - JD Isaacks
+ */
+return [
+    'year' => ':count jaro|:count jaroj',
+    'a_year' => 'jaro|:count jaroj',
+    'y' => ':count j.',
+    'month' => ':count monato|:count monatoj',
+    'a_month' => 'monato|:count monatoj',
+    'm' => ':count mo.',
+    'week' => ':count semajno|:count semajnoj',
+    'a_week' => 'semajno|:count semajnoj',
+    'w' => ':count sem.',
+    'day' => ':count tago|:count tagoj',
+    'a_day' => 'tago|:count tagoj',
+    'd' => ':count t.',
+    'hour' => ':count horo|:count horoj',
+    'a_hour' => 'horo|:count horoj',
+    'h' => ':count h.',
+    'minute' => ':count minuto|:count minutoj',
+    'a_minute' => 'minuto|:count minutoj',
+    'min' => ':count min.',
+    'second' => ':count sekundo|:count sekundoj',
+    'a_second' => 'sekundoj|:count sekundoj',
+    's' => ':count sek.',
+    'ago' => 'antaŭ :time',
+    'from_now' => 'post :time',
+    'after' => ':time poste',
+    'before' => ':time antaŭe',
+    'diff_yesterday' => 'Hieraŭ',
+    'diff_yesterday_regexp' => 'Hieraŭ(?:\\s+je)?',
+    'diff_today' => 'Hodiaŭ',
+    'diff_today_regexp' => 'Hodiaŭ(?:\\s+je)?',
+    'diff_tomorrow' => 'Morgaŭ',
+    'diff_tomorrow_regexp' => 'Morgaŭ(?:\\s+je)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'D[-a de] MMMM, YYYY',
+        'LLL' => 'D[-a de] MMMM, YYYY HH:mm',
+        'LLLL' => 'dddd, [la] D[-a de] MMMM, YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Hodiaŭ je] LT',
+        'nextDay' => '[Morgaŭ je] LT',
+        'nextWeek' => 'dddd [je] LT',
+        'lastDay' => '[Hieraŭ je] LT',
+        'lastWeek' => '[pasinta] dddd [je] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numbera',
+    'meridiem' => ['a.t.m.', 'p.t.m.'],
+    'months' => ['januaro', 'februaro', 'marto', 'aprilo', 'majo', 'junio', 'julio', 'aŭgusto', 'septembro', 'oktobro', 'novembro', 'decembro'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aŭg', 'sep', 'okt', 'nov', 'dec'],
+    'weekdays' => ['dimanĉo', 'lundo', 'mardo', 'merkredo', 'ĵaŭdo', 'vendredo', 'sabato'],
+    'weekdays_short' => ['dim', 'lun', 'mard', 'merk', 'ĵaŭ', 'ven', 'sab'],
+    'weekdays_min' => ['di', 'lu', 'ma', 'me', 'ĵa', 've', 'sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' kaj '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es.php
new file mode 100644
index 0000000..daaf257
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es.php
@@ -0,0 +1,108 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kunal Marwaha
+ * - kostas
+ * - François B
+ * - Tim Fish
+ * - Claire Coloma
+ * - Steven Heinrich
+ * - JD Isaacks
+ * - Raphael Amorim
+ * - Jorge Y. Castillo
+ * - Víctor Díaz
+ * - Diego
+ * - Sebastian Thierer
+ * - quinterocesar
+ * - Daniel Commesse Liévanos (danielcommesse)
+ * - Pete Scopes (pdscopes)
+ */
+return [
+    'year' => ':count año|:count años',
+    'a_year' => 'un año|:count años',
+    'y' => ':count año|:count años',
+    'month' => ':count mes|:count meses',
+    'a_month' => 'un mes|:count meses',
+    'm' => ':count mes|:count meses',
+    'week' => ':count semana|:count semanas',
+    'a_week' => 'una semana|:count semanas',
+    'w' => ':countsem',
+    'day' => ':count día|:count días',
+    'a_day' => 'un día|:count días',
+    'd' => ':countd',
+    'hour' => ':count hora|:count horas',
+    'a_hour' => 'una hora|:count horas',
+    'h' => ':counth',
+    'minute' => ':count minuto|:count minutos',
+    'a_minute' => 'un minuto|:count minutos',
+    'min' => ':countm',
+    'second' => ':count segundo|:count segundos',
+    'a_second' => 'unos segundos|:count segundos',
+    's' => ':counts',
+    'millisecond' => ':count milisegundo|:count milisegundos',
+    'a_millisecond' => 'un milisegundo|:count milisegundos',
+    'ms' => ':countms',
+    'microsecond' => ':count microsegundo|:count microsegundos',
+    'a_microsecond' => 'un microsegundo|:count microsegundos',
+    'µs' => ':countµs',
+    'ago' => 'hace :time',
+    'from_now' => 'en :time',
+    'after' => ':time después',
+    'before' => ':time antes',
+    'diff_now' => 'ahora mismo',
+    'diff_today' => 'hoy',
+    'diff_today_regexp' => 'hoy(?:\\s+a)?(?:\\s+las)?',
+    'diff_yesterday' => 'ayer',
+    'diff_yesterday_regexp' => 'ayer(?:\\s+a)?(?:\\s+las)?',
+    'diff_tomorrow' => 'mañana',
+    'diff_tomorrow_regexp' => 'mañana(?:\\s+a)?(?:\\s+las)?',
+    'diff_before_yesterday' => 'anteayer',
+    'diff_after_tomorrow' => 'pasado mañana',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D [de] MMMM [de] YYYY',
+        'LLL' => 'D [de] MMMM [de] YYYY H:mm',
+        'LLLL' => 'dddd, D [de] MMMM [de] YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => function (\Carbon\CarbonInterface $current) {
+            return '[hoy a la'.($current->hour !== 1 ? 's' : '').'] LT';
+        },
+        'nextDay' => function (\Carbon\CarbonInterface $current) {
+            return '[mañana a la'.($current->hour !== 1 ? 's' : '').'] LT';
+        },
+        'nextWeek' => function (\Carbon\CarbonInterface $current) {
+            return 'dddd [a la'.($current->hour !== 1 ? 's' : '').'] LT';
+        },
+        'lastDay' => function (\Carbon\CarbonInterface $current) {
+            return '[ayer a la'.($current->hour !== 1 ? 's' : '').'] LT';
+        },
+        'lastWeek' => function (\Carbon\CarbonInterface $current) {
+            return '[el] dddd [pasado a la'.($current->hour !== 1 ? 's' : '').'] LT';
+        },
+        'sameElse' => 'L',
+    ],
+    'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],
+    'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],
+    'mmm_suffix' => '.',
+    'ordinal' => ':numberº',
+    'weekdays' => ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],
+    'weekdays_short' => ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'],
+    'weekdays_min' => ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' y '],
+    'meridiem' => ['a. m.', 'p. m.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_419.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_419.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_419.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_AR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_AR.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_AR.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BO.php
new file mode 100644
index 0000000..c9b8432
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BO.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BR.php
new file mode 100644
index 0000000..e9dbe2b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BR.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BZ.php
new file mode 100644
index 0000000..e9dbe2b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_BZ.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CL.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CL.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CO.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CO.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CR.php
new file mode 100644
index 0000000..553fc09
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CR.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Free Software Foundation, Inc.    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CU.php
new file mode 100644
index 0000000..96391d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_CU.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_DO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_DO.php
new file mode 100644
index 0000000..0f855ba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_DO.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - kostas
+ * - François B
+ * - Tim Fish
+ * - Chiel Robben
+ * - Claire Coloma
+ * - Steven Heinrich
+ * - JD Isaacks
+ * - Raphael Amorim
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'diff_before_yesterday' => 'anteayer',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'LLL' => 'D [de] MMMM [de] YYYY h:mm A',
+        'LLLL' => 'dddd, D [de] MMMM [de] YYYY h:mm A',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_EA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_EA.php
new file mode 100644
index 0000000..96391d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_EA.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_EC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_EC.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_EC.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_ES.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_ES.php
new file mode 100644
index 0000000..19217c2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_ES.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return require __DIR__.'/es.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_GQ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_GQ.php
new file mode 100644
index 0000000..96391d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_GQ.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_GT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_GT.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_GT.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_HN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_HN.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_HN.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_IC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_IC.php
new file mode 100644
index 0000000..96391d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_IC.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_MX.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_MX.php
new file mode 100644
index 0000000..61e14cf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_MX.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'diff_before_yesterday' => 'antier',
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_NI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_NI.php
new file mode 100644
index 0000000..6b964c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_NI.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Free Software Foundation, Inc.    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PA.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PA.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PE.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PE.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PH.php
new file mode 100644
index 0000000..ea345b2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PH.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/M/yy',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D [de] MMMM [de] YYYY h:mm a',
+        'LLLL' => 'dddd, D [de] MMMM [de] YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PR.php
new file mode 100644
index 0000000..6b964c1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PR.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Free Software Foundation, Inc.    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PY.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_PY.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_SV.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_SV.php
new file mode 100644
index 0000000..00db08e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_SV.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],
+    'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_US.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_US.php
new file mode 100644
index 0000000..f333136
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_US.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kunal Marwaha
+ * - Josh Soref
+ * - Jørn Ølmheim
+ * - Craig Patik
+ * - bustta
+ * - François B
+ * - Tim Fish
+ * - Claire Coloma
+ * - Steven Heinrich
+ * - JD Isaacks
+ * - Raphael Amorim
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'diff_before_yesterday' => 'anteayer',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'L' => 'MM/DD/YYYY',
+        'LL' => 'MMMM [de] D [de] YYYY',
+        'LLL' => 'MMMM [de] D [de] YYYY h:mm A',
+        'LLLL' => 'dddd, MMMM [de] D [de] YYYY h:mm A',
+    ],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_UY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_UY.php
new file mode 100644
index 0000000..39baff8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_UY.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'setiembre', 'octubre', 'noviembre', 'diciembre'],
+    'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'set', 'oct', 'nov', 'dic'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_VE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_VE.php
new file mode 100644
index 0000000..a74806e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/es_VE.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/es.php', [
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/et.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/et.php
new file mode 100644
index 0000000..f49c880
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/et.php
@@ -0,0 +1,93 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Andres Ivanov
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Max Melentiev
+ * - Juanito Fatas
+ * - RM87
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Esko Lehtme
+ * - Mart Karu
+ * - Nicolás Hock Isaza
+ * - Kevin Valdek
+ * - Zahhar Kirillov
+ * - João Magalhães
+ * - Ingmar
+ * - Illimar Tambek
+ * - Mihkel
+ */
+return [
+    'year' => ':count aasta|:count aastat',
+    'y' => ':count a',
+    'month' => ':count kuu|:count kuud',
+    'm' => ':count k',
+    'week' => ':count nädal|:count nädalat',
+    'w' => ':count näd',
+    'day' => ':count päev|:count päeva',
+    'd' => ':count p',
+    'hour' => ':count tund|:count tundi',
+    'h' => ':count t',
+    'minute' => ':count minut|:count minutit',
+    'min' => ':count min',
+    'second' => ':count sekund|:count sekundit',
+    's' => ':count s',
+    'ago' => ':time tagasi',
+    'from_now' => ':time pärast',
+    'after' => ':time pärast',
+    'before' => ':time enne',
+    'year_from_now' => ':count aasta',
+    'month_from_now' => ':count kuu',
+    'week_from_now' => ':count nädala',
+    'day_from_now' => ':count päeva',
+    'hour_from_now' => ':count tunni',
+    'minute_from_now' => ':count minuti',
+    'second_from_now' => ':count sekundi',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'diff_now' => 'nüüd',
+    'diff_today' => 'täna',
+    'diff_yesterday' => 'eile',
+    'diff_tomorrow' => 'homme',
+    'diff_before_yesterday' => 'üleeile',
+    'diff_after_tomorrow' => 'ülehomme',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[täna] LT',
+        'nextDay' => '[homme] LT',
+        'lastDay' => '[eile] LT',
+        'nextWeek' => 'dddd LT',
+        'lastWeek' => '[eelmine] dddd LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember'],
+    'months_short' => ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'],
+    'weekdays' => ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev'],
+    'weekdays_short' => ['P', 'E', 'T', 'K', 'N', 'R', 'L'],
+    'weekdays_min' => ['P', 'E', 'T', 'K', 'N', 'R', 'L'],
+    'list' => [', ', ' ja '],
+    'meridiem' => ['enne lõunat', 'pärast lõunat'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/et_EE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/et_EE.php
new file mode 100644
index 0000000..3588f62
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/et_EE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/et.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eu.php
new file mode 100644
index 0000000..a543f1a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eu.php
@@ -0,0 +1,67 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - JD Isaacks
+ */
+return [
+    'year' => 'urte bat|:count urte',
+    'y' => 'Urte 1|:count urte',
+    'month' => 'hilabete bat|:count hilabete',
+    'm' => 'Hile 1|:count hile',
+    'week' => 'Aste 1|:count aste',
+    'w' => 'Aste 1|:count aste',
+    'day' => 'egun bat|:count egun',
+    'd' => 'Egun 1|:count egun',
+    'hour' => 'ordu bat|:count ordu',
+    'h' => 'Ordu 1|:count ordu',
+    'minute' => 'minutu bat|:count minutu',
+    'min' => 'Minutu 1|:count minutu',
+    'second' => 'segundo batzuk|:count segundo',
+    's' => 'Segundu 1|:count segundu',
+    'ago' => 'duela :time',
+    'from_now' => ':time barru',
+    'after' => ':time geroago',
+    'before' => ':time lehenago',
+    'diff_now' => 'orain',
+    'diff_today' => 'gaur',
+    'diff_yesterday' => 'atzo',
+    'diff_tomorrow' => 'bihar',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'YYYY[ko] MMMM[ren] D[a]',
+        'LLL' => 'YYYY[ko] MMMM[ren] D[a] HH:mm',
+        'LLLL' => 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[gaur] LT[etan]',
+        'nextDay' => '[bihar] LT[etan]',
+        'nextWeek' => 'dddd LT[etan]',
+        'lastDay' => '[atzo] LT[etan]',
+        'lastWeek' => '[aurreko] dddd LT[etan]',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua'],
+    'months_short' => ['urt.', 'ots.', 'mar.', 'api.', 'mai.', 'eka.', 'uzt.', 'abu.', 'ira.', 'urr.', 'aza.', 'abe.'],
+    'weekdays' => ['igandea', 'astelehena', 'asteartea', 'asteazkena', 'osteguna', 'ostirala', 'larunbata'],
+    'weekdays_short' => ['ig.', 'al.', 'ar.', 'az.', 'og.', 'ol.', 'lr.'],
+    'weekdays_min' => ['ig', 'al', 'ar', 'az', 'og', 'ol', 'lr'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' eta '],
+    'meridiem' => ['g', 'a'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eu_ES.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eu_ES.php
new file mode 100644
index 0000000..442cca7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/eu_ES.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/eu.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ewo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ewo.php
new file mode 100644
index 0000000..f5ae8cf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ewo.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['kíkíríg', 'ngəgógəle'],
+    'weekdays' => ['sɔ́ndɔ', 'mɔ́ndi', 'sɔ́ndɔ məlú mə́bɛ̌', 'sɔ́ndɔ məlú mə́lɛ́', 'sɔ́ndɔ məlú mə́nyi', 'fúladé', 'séradé'],
+    'weekdays_short' => ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'fúl', 'sér'],
+    'weekdays_min' => ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'fúl', 'sér'],
+    'months' => ['ngɔn osú', 'ngɔn bɛ̌', 'ngɔn lála', 'ngɔn nyina', 'ngɔn tána', 'ngɔn saməna', 'ngɔn zamgbála', 'ngɔn mwom', 'ngɔn ebulú', 'ngɔn awóm', 'ngɔn awóm ai dziá', 'ngɔn awóm ai bɛ̌'],
+    'months_short' => ['ngo', 'ngb', 'ngl', 'ngn', 'ngt', 'ngs', 'ngz', 'ngm', 'nge', 'nga', 'ngad', 'ngab'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    // Too unreliable
+    /*
+    'year' => ':count mbu', // less reliable
+    'y' => ':count mbu', // less reliable
+    'a_year' => ':count mbu', // less reliable
+
+    'month' => ':count ngòn', // less reliable
+    'm' => ':count ngòn', // less reliable
+    'a_month' => ':count ngòn', // less reliable
+
+    'week' => ':count mësë', // less reliable
+    'w' => ':count mësë', // less reliable
+    'a_week' => ':count mësë', // less reliable
+
+    'day' => ':count mësë', // less reliable
+    'd' => ':count mësë', // less reliable
+    'a_day' => ':count mësë', // less reliable
+
+    'hour' => ':count awola', // less reliable
+    'h' => ':count awola', // less reliable
+    'a_hour' => ':count awola', // less reliable
+
+    'minute' => ':count awola', // less reliable
+    'min' => ':count awola', // less reliable
+    'a_minute' => ':count awola', // less reliable
+    */
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa.php
new file mode 100644
index 0000000..72e0308
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa.php
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - Nasser Ghiasi
+ * - JD Isaacks
+ * - Hossein Jabbari
+ * - nimamo
+ * - hafezdivandari
+ * - Hassan Pezeshk (hpez)
+ */
+return [
+    'year' => ':count سال',
+    'a_year' => 'یک سال'.'|:count '.'سال',
+    'y' => ':count سال',
+    'month' => ':count ماه',
+    'a_month' => 'یک ماه'.'|:count '.'ماه',
+    'm' => ':count ماه',
+    'week' => ':count هفته',
+    'a_week' => 'یک هفته'.'|:count '.'هفته',
+    'w' => ':count هفته',
+    'day' => ':count روز',
+    'a_day' => 'یک روز'.'|:count '.'روز',
+    'd' => ':count روز',
+    'hour' => ':count ساعت',
+    'a_hour' => 'یک ساعت'.'|:count '.'ساعت',
+    'h' => ':count ساعت',
+    'minute' => ':count دقیقه',
+    'a_minute' => 'یک دقیقه'.'|:count '.'دقیقه',
+    'min' => ':count دقیقه',
+    'second' => ':count ثانیه',
+    's' => ':count ثانیه',
+    'ago' => ':time پیش',
+    'from_now' => ':time دیگر',
+    'after' => ':time پس از',
+    'before' => ':time پیش از',
+    'diff_now' => 'اکنون',
+    'diff_today' => 'امروز',
+    'diff_today_regexp' => 'امروز(?:\\s+ساعت)?',
+    'diff_yesterday' => 'دیروز',
+    'diff_yesterday_regexp' => 'دیروز(?:\\s+ساعت)?',
+    'diff_tomorrow' => 'فردا',
+    'diff_tomorrow_regexp' => 'فردا(?:\\s+ساعت)?',
+    'formats' => [
+        'LT' => 'OH:Om',
+        'LTS' => 'OH:Om:Os',
+        'L' => 'OD/OM/OY',
+        'LL' => 'OD MMMM OY',
+        'LLL' => 'OD MMMM OY OH:Om',
+        'LLLL' => 'dddd, OD MMMM OY OH:Om',
+    ],
+    'calendar' => [
+        'sameDay' => '[امروز ساعت] LT',
+        'nextDay' => '[فردا ساعت] LT',
+        'nextWeek' => 'dddd [ساعت] LT',
+        'lastDay' => '[دیروز ساعت] LT',
+        'lastWeek' => 'dddd [پیش] [ساعت] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':timeم',
+    'meridiem' => ['قبل از ظهر', 'بعد از ظهر'],
+    'months' => ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
+    'months_short' => ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
+    'weekdays' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],
+    'weekdays_short' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],
+    'weekdays_min' => ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'list' => ['، ', ' و '],
+    'alt_numbers' => ['۰۰', '۰۱', '۰۲', '۰۳', '۰۴', '۰۵', '۰۶', '۰۷', '۰۸', '۰۹', '۱۰', '۱۱', '۱۲', '۱۳', '۱۴', '۱۵', '۱۶', '۱۷', '۱۸', '۱۹', '۲۰', '۲۱', '۲۲', '۲۳', '۲۴', '۲۵', '۲۶', '۲۷', '۲۸', '۲۹', '۳۰', '۳۱', '۳۲', '۳۳', '۳۴', '۳۵', '۳۶', '۳۷', '۳۸', '۳۹', '۴۰', '۴۱', '۴۲', '۴۳', '۴۴', '۴۵', '۴۶', '۴۷', '۴۸', '۴۹', '۵۰', '۵۱', '۵۲', '۵۳', '۵۴', '۵۵', '۵۶', '۵۷', '۵۸', '۵۹', '۶۰', '۶۱', '۶۲', '۶۳', '۶۴', '۶۵', '۶۶', '۶۷', '۶۸', '۶۹', '۷۰', '۷۱', '۷۲', '۷۳', '۷۴', '۷۵', '۷۶', '۷۷', '۷۸', '۷۹', '۸۰', '۸۱', '۸۲', '۸۳', '۸۴', '۸۵', '۸۶', '۸۷', '۸۸', '۸۹', '۹۰', '۹۱', '۹۲', '۹۳', '۹۴', '۹۵', '۹۶', '۹۷', '۹۸', '۹۹'],
+    'months_short_standalone' => ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
+    'weekend' => [5, 5],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa_AF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa_AF.php
new file mode 100644
index 0000000..06566fa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa_AF.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fa.php', [
+    'meridiem' => ['ق', 'ب'],
+    'weekend' => [4, 5],
+    'formats' => [
+        'L' => 'OY/OM/OD',
+        'LL' => 'OD MMM OY',
+        'LLL' => 'OD MMMM OY،‏ H:mm',
+        'LLLL' => 'dddd OD MMMM OY،‏ H:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa_IR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa_IR.php
new file mode 100644
index 0000000..6d1832c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fa_IR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fa.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff.php
new file mode 100644
index 0000000..9525c95
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'months' => ['siilo', 'colte', 'mbooy', 'seeɗto', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'],
+    'months_short' => ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'],
+    'weekdays' => ['dewo', 'aaɓnde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'],
+    'weekdays_short' => ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
+    'weekdays_min' => ['dew', 'aaɓ', 'maw', 'nje', 'naa', 'mwd', 'hbi'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['subaka', 'kikiiɗe'],
+
+    'year' => ':count baret', // less reliable
+    'y' => ':count baret', // less reliable
+    'a_year' => ':count baret', // less reliable
+
+    'month' => ':count lewru', // less reliable
+    'm' => ':count lewru', // less reliable
+    'a_month' => ':count lewru', // less reliable
+
+    'week' => ':count naange', // less reliable
+    'w' => ':count naange', // less reliable
+    'a_week' => ':count naange', // less reliable
+
+    'day' => ':count dian', // less reliable
+    'd' => ':count dian', // less reliable
+    'a_day' => ':count dian', // less reliable
+
+    'hour' => ':count montor', // less reliable
+    'h' => ':count montor', // less reliable
+    'a_hour' => ':count montor', // less reliable
+
+    'minute' => ':count tokossuoum', // less reliable
+    'min' => ':count tokossuoum', // less reliable
+    'a_minute' => ':count tokossuoum', // less reliable
+
+    'second' => ':count tenen', // less reliable
+    's' => ':count tenen', // less reliable
+    'a_second' => ':count tenen', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_CM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_CM.php
new file mode 100644
index 0000000..dafa98e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_CM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ff.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_GN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_GN.php
new file mode 100644
index 0000000..dafa98e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_GN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ff.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_MR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_MR.php
new file mode 100644
index 0000000..65276d3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_MR.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ff.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_SN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_SN.php
new file mode 100644
index 0000000..1e4c8b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ff_SN.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Pular-Fulfulde.org Ibrahima Sarr admin@pulaar-fulfulde.org
+ */
+return require __DIR__.'/ff.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fi.php
new file mode 100644
index 0000000..2003e1e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fi.php
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Janne Warén
+ * - digitalfrost
+ * - Tsutomu Kuroda
+ * - Roope Salmi
+ * - tjku
+ * - Max Melentiev
+ * - Sami Haahtinen
+ * - Teemu Leisti
+ * - Artem Ignatyev
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Robert Bjarnason
+ * - Aaron Patterson
+ * - Nicolás Hock Isaza
+ * - Tom Hughes
+ * - Sven Fuchs
+ * - Petri Kivikangas
+ * - Nizar Jouini
+ * - Marko Seppae
+ * - Tomi Mynttinen (Pikseli)
+ * - Petteri (powergrip)
+ */
+return [
+    'year' => ':count vuosi|:count vuotta',
+    'y' => ':count v',
+    'month' => ':count kuukausi|:count kuukautta',
+    'm' => ':count kk',
+    'week' => ':count viikko|:count viikkoa',
+    'w' => ':count vk',
+    'day' => ':count päivä|:count päivää',
+    'd' => ':count pv',
+    'hour' => ':count tunti|:count tuntia',
+    'h' => ':count t',
+    'minute' => ':count minuutti|:count minuuttia',
+    'min' => ':count min',
+    'second' => ':count sekunti|:count sekuntia',
+    'a_second' => 'muutama sekunti|:count sekuntia',
+    's' => ':count s',
+    'ago' => ':time sitten',
+    'from_now' => ':time päästä',
+    'year_from_now' => ':count vuoden',
+    'month_from_now' => ':count kuukauden',
+    'week_from_now' => ':count viikon',
+    'day_from_now' => ':count päivän',
+    'hour_from_now' => ':count tunnin',
+    'minute_from_now' => ':count minuutin',
+    'second_from_now' => ':count sekunnin',
+    'after' => ':time sen jälkeen',
+    'before' => ':time ennen',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' ja '],
+    'diff_now' => 'nyt',
+    'diff_yesterday' => 'eilen',
+    'diff_tomorrow' => 'huomenna',
+    'formats' => [
+        'LT' => 'HH.mm',
+        'LTS' => 'HH.mm:ss',
+        'L' => 'D.M.YYYY',
+        'LL' => 'dddd D. MMMM[ta] YYYY',
+        'LLL' => 'D.MM. HH.mm',
+        'LLLL' => 'D. MMMM[ta] YYYY HH.mm',
+    ],
+    'weekdays' => ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai'],
+    'weekdays_short' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],
+    'weekdays_min' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],
+    'months' => ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu'],
+    'months_short' => ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'],
+    'meridiem' => ['aamupäivä', 'iltapäivä'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fi_FI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fi_FI.php
new file mode 100644
index 0000000..3597fa2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fi_FI.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fi.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fil.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fil.php
new file mode 100644
index 0000000..61114e3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fil.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/fil_PH.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fil_PH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fil_PH.php
new file mode 100644
index 0000000..bcf1580
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fil_PH.php
@@ -0,0 +1,62 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Rene Torres Rene Torres, Pablo Saratxaga rgtorre@rocketmail.com, pablo@mandrakesoft.com
+ * - Jaycee Mariano (alohajaycee)
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'MM/DD/YY',
+    ],
+    'months' => ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'],
+    'months_short' => ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'],
+    'weekdays' => ['Linggo', 'Lunes', 'Martes', 'Miyerkoles', 'Huwebes', 'Biyernes', 'Sabado'],
+    'weekdays_short' => ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'],
+    'weekdays_min' => ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['N.U.', 'N.H.'],
+
+    'before' => ':time bago',
+    'after' => ':time pagkatapos',
+
+    'year' => ':count taon',
+    'y' => ':count taon',
+    'a_year' => ':count taon',
+
+    'month' => ':count buwan',
+    'm' => ':count buwan',
+    'a_month' => ':count buwan',
+
+    'week' => ':count linggo',
+    'w' => ':count linggo',
+    'a_week' => ':count linggo',
+
+    'day' => ':count araw',
+    'd' => ':count araw',
+    'a_day' => ':count araw',
+
+    'hour' => ':count oras',
+    'h' => ':count oras',
+    'a_hour' => ':count oras',
+
+    'minute' => ':count minuto',
+    'min' => ':count minuto',
+    'a_minute' => ':count minuto',
+
+    'second' => ':count segundo',
+    's' => ':count segundo',
+    'a_second' => ':count segundo',
+
+    'ago' => ':time ang nakalipas',
+    'from_now' => 'sa :time',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo.php
new file mode 100644
index 0000000..6a14a6f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo.php
@@ -0,0 +1,69 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kristian Sakarisson
+ * - François B
+ * - JD Isaacks
+ * - Sverri Mohr Olsen
+ */
+return [
+    'year' => 'eitt ár|:count ár',
+    'y' => ':count ár|:count ár',
+    'month' => 'ein mánaði|:count mánaðir',
+    'm' => ':count mánaður|:count mánaðir',
+    'week' => ':count vika|:count vikur',
+    'w' => ':count vika|:count vikur',
+    'day' => 'ein dagur|:count dagar',
+    'd' => ':count dag|:count dagar',
+    'hour' => 'ein tími|:count tímar',
+    'h' => ':count tími|:count tímar',
+    'minute' => 'ein minutt|:count minuttir',
+    'min' => ':count minutt|:count minuttir',
+    'second' => 'fá sekund|:count sekundir',
+    's' => ':count sekund|:count sekundir',
+    'ago' => ':time síðani',
+    'from_now' => 'um :time',
+    'after' => ':time aftaná',
+    'before' => ':time áðrenn',
+    'diff_today' => 'Í',
+    'diff_yesterday' => 'Í',
+    'diff_yesterday_regexp' => 'Í(?:\\s+gjár)?(?:\\s+kl.)?',
+    'diff_tomorrow' => 'Í',
+    'diff_tomorrow_regexp' => 'Í(?:\\s+morgin)?(?:\\s+kl.)?',
+    'diff_today_regexp' => 'Í(?:\\s+dag)?(?:\\s+kl.)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D. MMMM, YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Í dag kl.] LT',
+        'nextDay' => '[Í morgin kl.] LT',
+        'nextWeek' => 'dddd [kl.] LT',
+        'lastDay' => '[Í gjár kl.] LT',
+        'lastWeek' => '[síðstu] dddd [kl] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['januar', 'februar', 'mars', 'apríl', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
+    'weekdays' => ['sunnudagur', 'mánadagur', 'týsdagur', 'mikudagur', 'hósdagur', 'fríggjadagur', 'leygardagur'],
+    'weekdays_short' => ['sun', 'mán', 'týs', 'mik', 'hós', 'frí', 'ley'],
+    'weekdays_min' => ['su', 'má', 'tý', 'mi', 'hó', 'fr', 'le'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' og '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo_DK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo_DK.php
new file mode 100644
index 0000000..e0f4537
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo_DK.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fo.php', [
+    'formats' => [
+        'L' => 'DD.MM.yy',
+        'LL' => 'DD.MM.YYYY',
+        'LLL' => 'D. MMMM YYYY, HH:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY, HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo_FO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo_FO.php
new file mode 100644
index 0000000..6a4bc31
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fo_FO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fo.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr.php
new file mode 100644
index 0000000..73fe5e4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr.php
@@ -0,0 +1,114 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Dieter Sting
+ * - François B
+ * - Maxime VALY
+ * - JD Isaacks
+ * - Dieter Sting
+ * - François B
+ * - JD Isaacks
+ * - Sebastian Thierer
+ * - Fastfuel
+ * - Pete Scopes (pdscopes)
+ */
+return [
+    'year' => ':count an|:count ans',
+    'a_year' => 'un an|:count ans',
+    'y' => ':count an|:count ans',
+    'month' => ':count mois|:count mois',
+    'a_month' => 'un mois|:count mois',
+    'm' => ':count mois',
+    'week' => ':count semaine|:count semaines',
+    'a_week' => 'une semaine|:count semaines',
+    'w' => ':count sem.',
+    'day' => ':count jour|:count jours',
+    'a_day' => 'un jour|:count jours',
+    'd' => ':count j',
+    'hour' => ':count heure|:count heures',
+    'a_hour' => 'une heure|:count heures',
+    'h' => ':count h',
+    'minute' => ':count minute|:count minutes',
+    'a_minute' => 'une minute|:count minutes',
+    'min' => ':count min',
+    'second' => ':count seconde|:count secondes',
+    'a_second' => 'quelques secondes|:count secondes',
+    's' => ':count s',
+    'millisecond' => ':count milliseconde|:count millisecondes',
+    'a_millisecond' => 'une milliseconde|:count millisecondes',
+    'ms' => ':countms',
+    'microsecond' => ':count microseconde|:count microsecondes',
+    'a_microsecond' => 'une microseconde|:count microsecondes',
+    'µs' => ':countµs',
+    'ago' => 'il y a :time',
+    'from_now' => 'dans :time',
+    'after' => ':time après',
+    'before' => ':time avant',
+    'diff_now' => "à l'instant",
+    'diff_today' => "aujourd'hui",
+    'diff_today_regexp' => "aujourd'hui(?:\s+à)?",
+    'diff_yesterday' => 'hier',
+    'diff_yesterday_regexp' => 'hier(?:\s+à)?',
+    'diff_tomorrow' => 'demain',
+    'diff_tomorrow_regexp' => 'demain(?:\s+à)?',
+    'diff_before_yesterday' => 'avant-hier',
+    'diff_after_tomorrow' => 'après-demain',
+    'period_recurrences' => ':count fois',
+    'period_interval' => 'tous les :interval',
+    'period_start_date' => 'de :date',
+    'period_end_date' => 'à :date',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Aujourd’hui à] LT',
+        'nextDay' => '[Demain à] LT',
+        'nextWeek' => 'dddd [à] LT',
+        'lastDay' => '[Hier à] LT',
+        'lastWeek' => 'dddd [dernier à] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
+    'months_short' => ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
+    'weekdays' => ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
+    'weekdays_short' => ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
+    'weekdays_min' => ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            // In french, only the first has be ordinal, other number remains cardinal
+            // @link https://fr.wikihow.com/%C3%A9crire-la-date-en-fran%C3%A7ais
+            case 'D':
+                return $number.($number === 1 ? 'er' : '');
+
+            default:
+            case 'M':
+            case 'Q':
+            case 'DDD':
+            case 'd':
+                return $number.($number === 1 ? 'er' : 'e');
+
+            // Words with feminine grammatical gender: semaine
+            case 'w':
+            case 'W':
+                return $number.($number === 1 ? 're' : 'e');
+        }
+    },
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' et '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BE.php
new file mode 100644
index 0000000..f6cafe8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BE.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'months_short' => ['jan', 'fév', 'mar', 'avr', 'mai', 'jun', 'jui', 'aoû', 'sep', 'oct', 'nov', 'déc'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BF.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BF.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BI.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BI.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BJ.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BJ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BL.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_BL.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CA.php
new file mode 100644
index 0000000..c9f6346
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CA.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Dieter Sting
+ * - François B
+ * - Maxime VALY
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CD.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CD.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CF.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CF.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CG.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CH.php
new file mode 100644
index 0000000..8674c27
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CH.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Dieter Sting
+ * - François B
+ * - Gaspard Bucher
+ * - Maxime VALY
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CI.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CI.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CM.php
new file mode 100644
index 0000000..52b951c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_CM.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'meridiem' => ['mat.', 'soir'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_DJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_DJ.php
new file mode 100644
index 0000000..40579a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_DJ.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'first_day_of_week' => 6,
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_DZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_DZ.php
new file mode 100644
index 0000000..2c1ab85
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_DZ.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'first_day_of_week' => 6,
+    'weekend' => [5, 6],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_FR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_FR.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_FR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GA.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GA.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GF.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GF.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GN.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GP.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GP.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GQ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GQ.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_GQ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_HT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_HT.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_HT.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_KM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_KM.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_KM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_LU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_LU.php
new file mode 100644
index 0000000..8e37d85
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_LU.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months_short' => ['jan', 'fév', 'mar', 'avr', 'mai', 'jun', 'jui', 'aoû', 'sep', 'oct', 'nov', 'déc'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MA.php
new file mode 100644
index 0000000..7d2b1db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MA.php
@@ -0,0 +1,14 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'first_day_of_week' => 6,
+    'weekend' => [5, 6],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MC.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MC.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MF.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MF.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MG.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_ML.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_ML.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_ML.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MQ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MQ.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MQ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MR.php
new file mode 100644
index 0000000..d177a7d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MR.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MU.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_MU.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_NC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_NC.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_NC.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_NE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_NE.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_NE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_PF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_PF.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_PF.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_PM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_PM.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_PM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_RE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_RE.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_RE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_RW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_RW.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_RW.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SC.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SC.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SN.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SY.php
new file mode 100644
index 0000000..2c1ab85
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_SY.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'first_day_of_week' => 6,
+    'weekend' => [5, 6],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TD.php
new file mode 100644
index 0000000..d177a7d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TD.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TG.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TN.php
new file mode 100644
index 0000000..d3e2656
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_TN.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'weekend' => [5, 6],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_VU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_VU.php
new file mode 100644
index 0000000..d177a7d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_VU.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fr.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_WF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_WF.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_WF.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_YT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_YT.php
new file mode 100644
index 0000000..f9801e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fr_YT.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/fr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fur.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fur.php
new file mode 100644
index 0000000..36c2564
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fur.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/fur_IT.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fur_IT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fur_IT.php
new file mode 100644
index 0000000..0147a59
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fur_IT.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD. MM. YY',
+        'LL' => 'DD di MMMM dal YYYY',
+        'LLL' => 'DD di MMM HH:mm',
+        'LLLL' => 'DD di MMMM dal YYYY HH:mm',
+    ],
+    'months' => ['zenâr', 'fevrâr', 'març', 'avrîl', 'mai', 'jugn', 'lui', 'avost', 'setembar', 'otubar', 'novembar', 'dicembar'],
+    'months_short' => ['zen', 'fev', 'mar', 'avr', 'mai', 'jug', 'lui', 'avo', 'set', 'otu', 'nov', 'dic'],
+    'weekdays' => ['domenie', 'lunis', 'martars', 'miercus', 'joibe', 'vinars', 'sabide'],
+    'weekdays_short' => ['dom', 'lun', 'mar', 'mie', 'joi', 'vin', 'sab'],
+    'weekdays_min' => ['dom', 'lun', 'mar', 'mie', 'joi', 'vin', 'sab'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'year' => ':count an',
+    'month' => ':count mês',
+    'week' => ':count setemane',
+    'day' => ':count zornade',
+    'hour' => ':count ore',
+    'minute' => ':count minût',
+    'second' => ':count secont',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy.php
new file mode 100644
index 0000000..c1b5439
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Tim Fish
+ * - JD Isaacks
+ */
+return [
+    'year' => ':count jier|:count jierren',
+    'a_year' => 'ien jier|:count jierren',
+    'y' => ':count j',
+    'month' => ':count moanne|:count moannen',
+    'a_month' => 'ien moanne|:count moannen',
+    'm' => ':count moa.',
+    'week' => ':count wike|:count wiken',
+    'a_week' => 'in wike|:count wiken',
+    'a' => ':count w.',
+    'day' => ':count dei|:count dagen',
+    'a_day' => 'ien dei|:count dagen',
+    'd' => ':count d.',
+    'hour' => ':count oere|:count oeren',
+    'a_hour' => 'ien oere|:count oeren',
+    'h' => ':count o.',
+    'minute' => ':count minút|:count minuten',
+    'a_minute' => 'ien minút|:count minuten',
+    'min' => ':count min.',
+    'second' => ':count sekonde|:count sekonden',
+    'a_second' => 'in pear sekonden|:count sekonden',
+    's' => ':count s.',
+    'ago' => ':time lyn',
+    'from_now' => 'oer :time',
+    'diff_yesterday' => 'juster',
+    'diff_yesterday_regexp' => 'juster(?:\\s+om)?',
+    'diff_today' => 'hjoed',
+    'diff_today_regexp' => 'hjoed(?:\\s+om)?',
+    'diff_tomorrow' => 'moarn',
+    'diff_tomorrow_regexp' => 'moarn(?:\\s+om)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD-MM-YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[hjoed om] LT',
+        'nextDay' => '[moarn om] LT',
+        'nextWeek' => 'dddd [om] LT',
+        'lastDay' => '[juster om] LT',
+        'lastWeek' => '[ôfrûne] dddd [om] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        return $number.(($number === 1 || $number === 8 || $number >= 20) ? 'ste' : 'de');
+    },
+    'months' => ['jannewaris', 'febrewaris', 'maart', 'april', 'maaie', 'juny', 'july', 'augustus', 'septimber', 'oktober', 'novimber', 'desimber'],
+    'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
+    'mmm_suffix' => '.',
+    'weekdays' => ['snein', 'moandei', 'tiisdei', 'woansdei', 'tongersdei', 'freed', 'sneon'],
+    'weekdays_short' => ['si.', 'mo.', 'ti.', 'wo.', 'to.', 'fr.', 'so.'],
+    'weekdays_min' => ['Si', 'Mo', 'Ti', 'Wo', 'To', 'Fr', 'So'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' en '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy_DE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy_DE.php
new file mode 100644
index 0000000..8559d5c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy_DE.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandriva.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Jaunuwoa', 'Februwoa', 'Moaz', 'Aprell', 'Mai', 'Juni', 'Juli', 'August', 'Septamba', 'Oktoba', 'Nowamba', 'Dezamba'],
+    'months_short' => ['Jan', 'Feb', 'Moz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Now', 'Dez'],
+    'weekdays' => ['Sinndag', 'Mondag', 'Dingsdag', 'Meddwäakj', 'Donnadag', 'Friedag', 'Sinnowend'],
+    'weekdays_short' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'],
+    'weekdays_min' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy_NL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy_NL.php
new file mode 100644
index 0000000..01cc96c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/fy_NL.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Free Software Foundation, Inc.    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/fy.php', [
+    'formats' => [
+        'L' => 'DD-MM-YY',
+    ],
+    'months' => ['Jannewaris', 'Febrewaris', 'Maart', 'April', 'Maaie', 'Juny', 'July', 'Augustus', 'Septimber', 'Oktober', 'Novimber', 'Desimber'],
+    'months_short' => ['Jan', 'Feb', 'Mrt', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['Snein', 'Moandei', 'Tiisdei', 'Woansdei', 'Tongersdei', 'Freed', 'Sneon'],
+    'weekdays_short' => ['Sn', 'Mo', 'Ti', 'Wo', 'To', 'Fr', 'Sn'],
+    'weekdays_min' => ['Sn', 'Mo', 'Ti', 'Wo', 'To', 'Fr', 'Sn'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ga.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ga.php
new file mode 100644
index 0000000..9f07a26
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ga.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Thanks to André Silva : https://github.com/askpt
+ */
+
+return [
+    'year' => ':count bliain',
+    'a_year' => '{1}bliain|:count bliain',
+    'y' => ':countb',
+    'month' => ':count mí',
+    'a_month' => '{1}mí|:count mí',
+    'm' => ':countm',
+    'week' => ':count sheachtain',
+    'a_week' => '{1}sheachtain|:count sheachtain',
+    'w' => ':countsh',
+    'day' => ':count lá',
+    'a_day' => '{1}lá|:count lá',
+    'd' => ':countl',
+    'hour' => ':count uair an chloig',
+    'a_hour' => '{1}uair an chloig|:count uair an chloig',
+    'h' => ':countu',
+    'minute' => ':count nóiméad',
+    'a_minute' => '{1}nóiméad|:count nóiméad',
+    'min' => ':countn',
+    'second' => ':count soicind',
+    'a_second' => '{1}cúpla soicind|:count soicind',
+    's' => ':countso',
+    'ago' => ':time ó shin',
+    'from_now' => 'i :time',
+    'after' => ':time tar éis',
+    'before' => ':time roimh',
+    'diff_now' => 'anois',
+    'diff_today' => 'Inniu',
+    'diff_today_regexp' => 'Inniu(?:\\s+ag)?',
+    'diff_yesterday' => 'inné',
+    'diff_yesterday_regexp' => 'Inné(?:\\s+aig)?',
+    'diff_tomorrow' => 'amárach',
+    'diff_tomorrow_regexp' => 'Amárach(?:\\s+ag)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Inniu ag] LT',
+        'nextDay' => '[Amárach ag] LT',
+        'nextWeek' => 'dddd [ag] LT',
+        'lastDay' => '[Inné aig] LT',
+        'lastWeek' => 'dddd [seo caite] [ag] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'],
+    'months_short' => ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'],
+    'weekdays' => ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'],
+    'weekdays_short' => ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'],
+    'weekdays_min' => ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'],
+    'ordinal' => function ($number) {
+        return $number.($number === 1 ? 'd' : ($number % 10 === 2 ? 'na' : 'mh'));
+    },
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' agus '],
+    'meridiem' => ['r.n.', 'i.n.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ga_IE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ga_IE.php
new file mode 100644
index 0000000..d50630c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ga_IE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ga.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gd.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gd.php
new file mode 100644
index 0000000..63d064d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gd.php
@@ -0,0 +1,75 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Jon Ashdown
+ */
+return [
+    'year' => ':count bliadhna',
+    'a_year' => '{1}bliadhna|:count bliadhna',
+    'y' => ':count b.',
+    'month' => ':count mìosan',
+    'a_month' => '{1}mìos|:count mìosan',
+    'm' => ':count ms.',
+    'week' => ':count seachdainean',
+    'a_week' => '{1}seachdain|:count seachdainean',
+    'w' => ':count s.',
+    'day' => ':count latha',
+    'a_day' => '{1}latha|:count latha',
+    'd' => ':count l.',
+    'hour' => ':count uairean',
+    'a_hour' => '{1}uair|:count uairean',
+    'h' => ':count u.',
+    'minute' => ':count mionaidean',
+    'a_minute' => '{1}mionaid|:count mionaidean',
+    'min' => ':count md.',
+    'second' => ':count diogan',
+    'a_second' => '{1}beagan diogan|:count diogan',
+    's' => ':count d.',
+    'ago' => 'bho chionn :time',
+    'from_now' => 'ann an :time',
+    'diff_yesterday' => 'An-dè',
+    'diff_yesterday_regexp' => 'An-dè(?:\\s+aig)?',
+    'diff_today' => 'An-diugh',
+    'diff_today_regexp' => 'An-diugh(?:\\s+aig)?',
+    'diff_tomorrow' => 'A-màireach',
+    'diff_tomorrow_regexp' => 'A-màireach(?:\\s+aig)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[An-diugh aig] LT',
+        'nextDay' => '[A-màireach aig] LT',
+        'nextWeek' => 'dddd [aig] LT',
+        'lastDay' => '[An-dè aig] LT',
+        'lastWeek' => 'dddd [seo chaidh] [aig] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        return $number.($number === 1 ? 'd' : ($number % 10 === 2 ? 'na' : 'mh'));
+    },
+    'months' => ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'],
+    'months_short' => ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'],
+    'weekdays' => ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'],
+    'weekdays_short' => ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],
+    'weekdays_min' => ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' agus '],
+    'meridiem' => ['m', 'f'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gd_GB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gd_GB.php
new file mode 100644
index 0000000..80da9c6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gd_GB.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/gd.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez.php
new file mode 100644
index 0000000..b8a2f0e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/gez_ER.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez_ER.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez_ER.php
new file mode 100644
index 0000000..f19d1df
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez_ER.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ጠሐረ', 'ከተተ', 'መገበ', 'አኀዘ', 'ግንባት', 'ሠንየ', 'ሐመለ', 'ነሐሰ', 'ከረመ', 'ጠቀመ', 'ኀደረ', 'ኀሠሠ'],
+    'months_short' => ['ጠሐረ', 'ከተተ', 'መገበ', 'አኀዘ', 'ግንባ', 'ሠንየ', 'ሐመለ', 'ነሐሰ', 'ከረመ', 'ጠቀመ', 'ኀደረ', 'ኀሠሠ'],
+    'weekdays' => ['እኁድ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'ሐሙስ', 'ዓርበ', 'ቀዳሚት'],
+    'weekdays_short' => ['እኁድ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'ሐሙስ', 'ዓርበ', 'ቀዳሚ'],
+    'weekdays_min' => ['እኁድ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'ሐሙስ', 'ዓርበ', 'ቀዳሚ'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ጽባሕ', 'ምሴት'],
+
+    'month' => ':count ወርሕ', // less reliable
+    'm' => ':count ወርሕ', // less reliable
+    'a_month' => ':count ወርሕ', // less reliable
+
+    'week' => ':count ሰብዑ', // less reliable
+    'w' => ':count ሰብዑ', // less reliable
+    'a_week' => ':count ሰብዑ', // less reliable
+
+    'hour' => ':count አንትሙ', // less reliable
+    'h' => ':count አንትሙ', // less reliable
+    'a_hour' => ':count አንትሙ', // less reliable
+
+    'minute' => ':count ንኡስ', // less reliable
+    'min' => ':count ንኡስ', // less reliable
+    'a_minute' => ':count ንኡስ', // less reliable
+
+    'year' => ':count ዓመት',
+    'y' => ':count ዓመት',
+    'a_year' => ':count ዓመት',
+
+    'day' => ':count ዕለት',
+    'd' => ':count ዕለት',
+    'a_day' => ':count ዕለት',
+
+    'second' => ':count ካልእ',
+    's' => ':count ካልእ',
+    'a_second' => ':count ካልእ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez_ET.php
new file mode 100644
index 0000000..3933009
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gez_ET.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'],
+    'months_short' => ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ ', 'ጁን ', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', 'ዲሴም'],
+    'weekdays' => ['እኁድ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'ሐሙስ', 'ዓርበ', 'ቀዳሚት'],
+    'weekdays_short' => ['እኁድ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'ሐሙስ', 'ዓርበ', 'ቀዳሚ'],
+    'weekdays_min' => ['እኁድ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'ሐሙስ', 'ዓርበ', 'ቀዳሚ'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ጽባሕ', 'ምሴት'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gl.php
new file mode 100644
index 0000000..58c1db1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gl.php
@@ -0,0 +1,95 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Fidel Pita
+ * - JD Isaacks
+ * - Diego Vilariño
+ * - Sebastian Thierer
+ */
+return [
+    'year' => ':count ano|:count anos',
+    'a_year' => 'un ano|:count anos',
+    'y' => ':count a.',
+    'month' => ':count mes|:count meses',
+    'a_month' => 'un mes|:count meses',
+    'm' => ':count mes.',
+    'week' => ':count semana|:count semanas',
+    'a_week' => 'unha semana|:count semanas',
+    'w' => ':count sem.',
+    'day' => ':count día|:count días',
+    'a_day' => 'un día|:count días',
+    'd' => ':count d.',
+    'hour' => ':count hora|:count horas',
+    'a_hour' => 'unha hora|:count horas',
+    'h' => ':count h.',
+    'minute' => ':count minuto|:count minutos',
+    'a_minute' => 'un minuto|:count minutos',
+    'min' => ':count min.',
+    'second' => ':count segundo|:count segundos',
+    'a_second' => 'uns segundos|:count segundos',
+    's' => ':count seg.',
+    'ago' => 'hai :time',
+    'from_now' => function ($time) {
+        if (str_starts_with($time, 'un')) {
+            return "n$time";
+        }
+
+        return "en $time";
+    },
+    'diff_now' => 'agora',
+    'diff_today' => 'hoxe',
+    'diff_today_regexp' => 'hoxe(?:\\s+ás)?',
+    'diff_yesterday' => 'onte',
+    'diff_yesterday_regexp' => 'onte(?:\\s+á)?',
+    'diff_tomorrow' => 'mañá',
+    'diff_tomorrow_regexp' => 'mañá(?:\\s+ás)?',
+    'after' => ':time despois',
+    'before' => ':time antes',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D [de] MMMM [de] YYYY',
+        'LLL' => 'D [de] MMMM [de] YYYY H:mm',
+        'LLLL' => 'dddd, D [de] MMMM [de] YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => function (\Carbon\CarbonInterface $current) {
+            return '[hoxe '.($current->hour !== 1 ? 'ás' : 'á').'] LT';
+        },
+        'nextDay' => function (\Carbon\CarbonInterface $current) {
+            return '[mañá '.($current->hour !== 1 ? 'ás' : 'á').'] LT';
+        },
+        'nextWeek' => function (\Carbon\CarbonInterface $current) {
+            return 'dddd ['.($current->hour !== 1 ? 'ás' : 'á').'] LT';
+        },
+        'lastDay' => function (\Carbon\CarbonInterface $current) {
+            return '[onte '.($current->hour !== 1 ? 'á' : 'a').'] LT';
+        },
+        'lastWeek' => function (\Carbon\CarbonInterface $current) {
+            return '[o] dddd [pasado '.($current->hour !== 1 ? 'ás' : 'á').'] LT';
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberº',
+    'months' => ['xaneiro', 'febreiro', 'marzo', 'abril', 'maio', 'xuño', 'xullo', 'agosto', 'setembro', 'outubro', 'novembro', 'decembro'],
+    'months_short' => ['xan.', 'feb.', 'mar.', 'abr.', 'mai.', 'xuñ.', 'xul.', 'ago.', 'set.', 'out.', 'nov.', 'dec.'],
+    'weekdays' => ['domingo', 'luns', 'martes', 'mércores', 'xoves', 'venres', 'sábado'],
+    'weekdays_short' => ['dom.', 'lun.', 'mar.', 'mér.', 'xov.', 'ven.', 'sáb.'],
+    'weekdays_min' => ['do', 'lu', 'ma', 'mé', 'xo', 've', 'sá'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' e '],
+    'meridiem' => ['a.m.', 'p.m.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gl_ES.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gl_ES.php
new file mode 100644
index 0000000..12a565f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gl_ES.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/gl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gom.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gom.php
new file mode 100644
index 0000000..2a0584f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gom.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/gom_Latn.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gom_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gom_Latn.php
new file mode 100644
index 0000000..5e54a36
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gom_Latn.php
@@ -0,0 +1,78 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return [
+    'year' => ':count voros|:count vorsam',
+    'y' => ':countv',
+    'month' => ':count mhoino|:count mhoine',
+    'm' => ':countmh',
+    'week' => ':count satolleacho|:count satolleache',
+    'w' => ':countsa|:countsa',
+    'day' => ':count dis',
+    'd' => ':countd',
+    'hour' => ':count hor|:count horam',
+    'h' => ':counth',
+    'minute' => ':count minute|:count mintam',
+    'min' => ':countm',
+    'second' => ':count second',
+    's' => ':counts',
+
+    'diff_today' => 'Aiz',
+    'diff_yesterday' => 'Kal',
+    'diff_tomorrow' => 'Faleam',
+    'formats' => [
+        'LT' => 'A h:mm [vazta]',
+        'LTS' => 'A h:mm:ss [vazta]',
+        'L' => 'DD-MM-YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY A h:mm [vazta]',
+        'LLLL' => 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
+        'llll' => 'ddd, D MMM YYYY, A h:mm [vazta]',
+    ],
+
+    'calendar' => [
+        'sameDay' => '[Aiz] LT',
+        'nextDay' => '[Faleam] LT',
+        'nextWeek' => '[Ieta to] dddd[,] LT',
+        'lastDay' => '[Kal] LT',
+        'lastWeek' => '[Fatlo] dddd[,] LT',
+        'sameElse' => 'L',
+    ],
+
+    'months' => ['Janer', 'Febrer', 'Mars', 'Abril', 'Mai', 'Jun', 'Julai', 'Agost', 'Setembr', 'Otubr', 'Novembr', 'Dezembr'],
+    'months_short' => ['Jan.', 'Feb.', 'Mars', 'Abr.', 'Mai', 'Jun', 'Jul.', 'Ago.', 'Set.', 'Otu.', 'Nov.', 'Dez.'],
+    'weekdays' => ['Aitar', 'Somar', 'Mongllar', 'Budvar', 'Brestar', 'Sukrar', 'Son\'var'],
+    'weekdays_short' => ['Ait.', 'Som.', 'Mon.', 'Bud.', 'Bre.', 'Suk.', 'Son.'],
+    'weekdays_min' => ['Ai', 'Sm', 'Mo', 'Bu', 'Br', 'Su', 'Sn'],
+
+    'ordinal' => function ($number, $period) {
+        return $number.($period === 'D' ? 'er' : '');
+    },
+
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'rati';
+        }
+        if ($hour < 12) {
+            return 'sokalli';
+        }
+        if ($hour < 16) {
+            return 'donparam';
+        }
+        if ($hour < 20) {
+            return 'sanje';
+        }
+
+        return 'rati';
+    },
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' ani '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw.php
new file mode 100644
index 0000000..c5c850e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Christopher Dell
+ * - Akira Matsuda
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Henning Kiel
+ * - Aaron Patterson
+ * - Florian Hanke
+ */
+return [
+    'year' => ':count Johr',
+    'month' => ':count Monet',
+    'week' => ':count Woche',
+    'day' => ':count Tag',
+    'hour' => ':count Schtund',
+    'minute' => ':count Minute',
+    'second' => ':count Sekunde',
+    'weekdays' => ['Sunntig', 'Mäntig', 'Ziischtig', 'Mittwuch', 'Dunschtig', 'Friitig', 'Samschtig'],
+    'weekdays_short' => ['Su', 'Mä', 'Zi', 'Mi', 'Du', 'Fr', 'Sa'],
+    'weekdays_min' => ['Su', 'Mä', 'Zi', 'Mi', 'Du', 'Fr', 'Sa'],
+    'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'September', 'Oktober', 'November', 'Dezember'],
+    'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
+    'meridiem' => ['am Vormittag', 'am Namittag'],
+    'ordinal' => ':number.',
+    'list' => [', ', ' und '],
+    'diff_now' => 'now',
+    'diff_yesterday' => 'geschter',
+    'diff_tomorrow' => 'moorn',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'Do MMMM YYYY',
+        'LLL' => 'Do MMMM, HH:mm [Uhr]',
+        'LLLL' => 'dddd, Do MMMM YYYY, HH:mm [Uhr]',
+    ],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_CH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_CH.php
new file mode 100644
index 0000000..0dba9c5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_CH.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/gsw.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_FR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_FR.php
new file mode 100644
index 0000000..e0e7b23
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_FR.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/gsw.php', [
+    'meridiem' => ['vorm.', 'nam.'],
+    'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LLL' => 'Do MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, Do MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_LI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_LI.php
new file mode 100644
index 0000000..e0e7b23
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gsw_LI.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/gsw.php', [
+    'meridiem' => ['vorm.', 'nam.'],
+    'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LLL' => 'Do MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, Do MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gu.php
new file mode 100644
index 0000000..7c7872b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gu.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Kaushik Thanki
+ * - Josh Soref
+ */
+return [
+    'year' => 'એક વર્ષ|:count વર્ષ',
+    'y' => ':countવર્ષ|:countવર્ષો',
+    'month' => 'એક મહિનો|:count મહિનો',
+    'm' => ':countમહિનો|:countમહિના',
+    'week' => ':count અઠવાડિયું|:count અઠવાડિયા',
+    'w' => ':countઅઠ.|:countઅઠ.',
+    'day' => 'એક દિવસ|:count દિવસ',
+    'd' => ':countદિ.|:countદિ.',
+    'hour' => 'એક કલાક|:count કલાક',
+    'h' => ':countક.|:countક.',
+    'minute' => 'એક મિનિટ|:count મિનિટ',
+    'min' => ':countમિ.|:countમિ.',
+    'second' => 'અમુક પળો|:count સેકંડ',
+    's' => ':countસે.|:countસે.',
+    'ago' => ':time પેહલા',
+    'from_now' => ':time મા',
+    'after' => ':time પછી',
+    'before' => ':time પહેલા',
+    'diff_now' => 'હમણાં',
+    'diff_today' => 'આજ',
+    'diff_yesterday' => 'ગઇકાલે',
+    'diff_tomorrow' => 'કાલે',
+    'formats' => [
+        'LT' => 'A h:mm વાગ્યે',
+        'LTS' => 'A h:mm:ss વાગ્યે',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm વાગ્યે',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm વાગ્યે',
+    ],
+    'calendar' => [
+        'sameDay' => '[આજ] LT',
+        'nextDay' => '[કાલે] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[ગઇકાલે] LT',
+        'lastWeek' => '[પાછલા] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'રાત';
+        }
+        if ($hour < 10) {
+            return 'સવાર';
+        }
+        if ($hour < 17) {
+            return 'બપોર';
+        }
+        if ($hour < 20) {
+            return 'સાંજ';
+        }
+
+        return 'રાત';
+    },
+    'months' => ['જાન્યુઆરી', 'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટેમ્બર', 'ઑક્ટ્બર', 'નવેમ્બર', 'ડિસેમ્બર'],
+    'months_short' => ['જાન્યુ.', 'ફેબ્રુ.', 'માર્ચ', 'એપ્રિ.', 'મે', 'જૂન', 'જુલા.', 'ઑગ.', 'સપ્ટે.', 'ઑક્ટ્.', 'નવે.', 'ડિસે.'],
+    'weekdays' => ['રવિવાર', 'સોમવાર', 'મંગળવાર', 'બુધ્વાર', 'ગુરુવાર', 'શુક્રવાર', 'શનિવાર'],
+    'weekdays_short' => ['રવિ', 'સોમ', 'મંગળ', 'બુધ્', 'ગુરુ', 'શુક્ર', 'શનિ'],
+    'weekdays_min' => ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', 'શ'],
+    'list' => [', ', ' અને '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'weekend' => [0, 0],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gu_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gu_IN.php
new file mode 100644
index 0000000..c578440
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gu_IN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/gu.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/guz.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/guz.php
new file mode 100644
index 0000000..aa9769c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/guz.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Ma', 'Mo'],
+    'weekdays' => ['Chumapiri', 'Chumatato', 'Chumaine', 'Chumatano', 'Aramisi', 'Ichuma', 'Esabato'],
+    'weekdays_short' => ['Cpr', 'Ctt', 'Cmn', 'Cmt', 'Ars', 'Icm', 'Est'],
+    'weekdays_min' => ['Cpr', 'Ctt', 'Cmn', 'Cmt', 'Ars', 'Icm', 'Est'],
+    'months' => ['Chanuari', 'Feburari', 'Machi', 'Apiriri', 'Mei', 'Juni', 'Chulai', 'Agosti', 'Septemba', 'Okitoba', 'Nobemba', 'Disemba'],
+    'months_short' => ['Can', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Cul', 'Agt', 'Sep', 'Okt', 'Nob', 'Dis'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'month' => ':count omotunyi', // less reliable
+    'm' => ':count omotunyi', // less reliable
+    'a_month' => ':count omotunyi', // less reliable
+
+    'week' => ':count isano naibere', // less reliable
+    'w' => ':count isano naibere', // less reliable
+    'a_week' => ':count isano naibere', // less reliable
+
+    'second' => ':count ibere', // less reliable
+    's' => ':count ibere', // less reliable
+    'a_second' => ':count ibere', // less reliable
+
+    'year' => ':count omwaka',
+    'y' => ':count omwaka',
+    'a_year' => ':count omwaka',
+
+    'day' => ':count rituko',
+    'd' => ':count rituko',
+    'a_day' => ':count rituko',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gv.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gv.php
new file mode 100644
index 0000000..7c52b94
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gv.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/gv_GB.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gv_GB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gv_GB.php
new file mode 100644
index 0000000..6b1168f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/gv_GB.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Alastair McKinstry    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Jerrey-geuree', 'Toshiaght-arree', 'Mayrnt', 'Averil', 'Boaldyn', 'Mean-souree', 'Jerrey-souree', 'Luanistyn', 'Mean-fouyir', 'Jerrey-fouyir', 'Mee Houney', 'Mee ny Nollick'],
+    'months_short' => ['J-guer', 'T-arree', 'Mayrnt', 'Avrril', 'Boaldyn', 'M-souree', 'J-souree', 'Luanistyn', 'M-fouyir', 'J-fouyir', 'M.Houney', 'M.Nollick'],
+    'weekdays' => ['Jedoonee', 'Jelhein', 'Jemayrt', 'Jercean', 'Jerdein', 'Jeheiney', 'Jesarn'],
+    'weekdays_short' => ['Jed', 'Jel', 'Jem', 'Jerc', 'Jerd', 'Jeh', 'Jes'],
+    'weekdays_min' => ['Jed', 'Jel', 'Jem', 'Jerc', 'Jerd', 'Jeh', 'Jes'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count blein',
+    'y' => ':count blein',
+    'a_year' => ':count blein',
+
+    'month' => ':count mee',
+    'm' => ':count mee',
+    'a_month' => ':count mee',
+
+    'week' => ':count shiaghtin',
+    'w' => ':count shiaghtin',
+    'a_week' => ':count shiaghtin',
+
+    'day' => ':count laa',
+    'd' => ':count laa',
+    'a_day' => ':count laa',
+
+    'hour' => ':count oor',
+    'h' => ':count oor',
+    'a_hour' => ':count oor',
+
+    'minute' => ':count feer veg',
+    'min' => ':count feer veg',
+    'a_minute' => ':count feer veg',
+
+    'second' => ':count derrey',
+    's' => ':count derrey',
+    'a_second' => ':count derrey',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha.php
new file mode 100644
index 0000000..cd8e34d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - pablo@mandriva.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM, YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM, YYYY HH:mm',
+    ],
+    'months' => ['Janairu', 'Faburairu', 'Maris', 'Afirilu', 'Mayu', 'Yuni', 'Yuli', 'Agusta', 'Satumba', 'Oktoba', 'Nuwamba', 'Disamba'],
+    'months_short' => ['Jan', 'Fab', 'Mar', 'Afi', 'May', 'Yun', 'Yul', 'Agu', 'Sat', 'Okt', 'Nuw', 'Dis'],
+    'weekdays' => ['Lahadi', 'Litini', 'Talata', 'Laraba', 'Alhamis', 'Jumaʼa', 'Asabar'],
+    'weekdays_short' => ['Lah', 'Lit', 'Tal', 'Lar', 'Alh', 'Jum', 'Asa'],
+    'weekdays_min' => ['Lh', 'Li', 'Ta', 'Lr', 'Al', 'Ju', 'As'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => 'shekara :count',
+    'y' => 'shekara :count',
+    'a_year' => 'shekara :count',
+
+    'month' => ':count wátàa',
+    'm' => ':count wátàa',
+    'a_month' => ':count wátàa',
+
+    'week' => ':count mako',
+    'w' => ':count mako',
+    'a_week' => ':count mako',
+
+    'day' => ':count rana',
+    'd' => ':count rana',
+    'a_day' => ':count rana',
+
+    'hour' => ':count áwàa',
+    'h' => ':count áwàa',
+    'a_hour' => ':count áwàa',
+
+    'minute' => 'minti :count',
+    'min' => 'minti :count',
+    'a_minute' => 'minti :count',
+
+    'second' => ':count ná bíyú',
+    's' => ':count ná bíyú',
+    'a_second' => ':count ná bíyú',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_GH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_GH.php
new file mode 100644
index 0000000..bce5e41
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_GH.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ha.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_NE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_NE.php
new file mode 100644
index 0000000..bce5e41
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_NE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ha.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_NG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_NG.php
new file mode 100644
index 0000000..bce5e41
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ha_NG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ha.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hak.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hak.php
new file mode 100644
index 0000000..6c3260e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hak.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/hak_TW.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hak_TW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hak_TW.php
new file mode 100644
index 0000000..fe23986
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hak_TW.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY年MM月DD日',
+    ],
+    'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'months_short' => [' 1月', ' 2月', ' 3月', ' 4月', ' 5月', ' 6月', ' 7月', ' 8月', ' 9月', '10月', '11月', '12月'],
+    'weekdays' => ['禮拜日', '禮拜一', '禮拜二', '禮拜三', '禮拜四', '禮拜五', '禮拜六'],
+    'weekdays_short' => ['日', '一', '二', '三', '四', '五', '六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['上晝', '下晝'],
+
+    'year' => ':count ngien11',
+    'y' => ':count ngien11',
+    'a_year' => ':count ngien11',
+
+    'month' => ':count ngie̍t',
+    'm' => ':count ngie̍t',
+    'a_month' => ':count ngie̍t',
+
+    'week' => ':count lî-pai',
+    'w' => ':count lî-pai',
+    'a_week' => ':count lî-pai',
+
+    'day' => ':count ngit',
+    'd' => ':count ngit',
+    'a_day' => ':count ngit',
+
+    'hour' => ':count sṳ̀',
+    'h' => ':count sṳ̀',
+    'a_hour' => ':count sṳ̀',
+
+    'minute' => ':count fûn',
+    'min' => ':count fûn',
+    'a_minute' => ':count fûn',
+
+    'second' => ':count miéu',
+    's' => ':count miéu',
+    'a_second' => ':count miéu',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/haw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/haw.php
new file mode 100644
index 0000000..51715d8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/haw.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'months' => ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei', 'Iune', 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa', 'Kekemapa'],
+    'months_short' => ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.', 'Iul.', 'ʻAu.', 'Kep.', 'ʻOk.', 'Now.', 'Kek.'],
+    'weekdays' => ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu', 'Poʻahā', 'Poʻalima', 'Poʻaono'],
+    'weekdays_short' => ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'],
+    'weekdays_min' => ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm a',
+    ],
+
+    'year' => ':count makahiki',
+    'y' => ':count makahiki',
+    'a_year' => ':count makahiki',
+
+    'month' => ':count mahina',
+    'm' => ':count mahina',
+    'a_month' => ':count mahina',
+
+    'week' => ':count pule',
+    'w' => ':count pule',
+    'a_week' => ':count pule',
+
+    'day' => ':count lā',
+    'd' => ':count lā',
+    'a_day' => ':count lā',
+
+    'hour' => ':count hola',
+    'h' => ':count hola',
+    'a_hour' => ':count hola',
+
+    'minute' => ':count minuke',
+    'min' => ':count minuke',
+    'a_minute' => ':count minuke',
+
+    'second' => ':count lua',
+    's' => ':count lua',
+    'a_second' => ':count lua',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/he.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/he.php
new file mode 100644
index 0000000..c3fb3e9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/he.php
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Daniel Cohen Gindi
+ * - JD Isaacks
+ * - Itai Nathaniel
+ * - GabMic
+ * - Yaakov Dahan (yakidahan)
+ */
+return [
+    'year' => 'שנה|{2}שנתיים|:count שנים',
+    'y' => 'שנה|:count שנ׳',
+    'month' => 'חודש|{2}חודשיים|:count חודשים',
+    'm' => 'חודש|:count חו׳',
+    'week' => 'שבוע|{2}שבועיים|:count שבועות',
+    'w' => 'שבוע|:count שב׳',
+    'day' => 'יום|{2}יומיים|:count ימים',
+    'd' => 'יום|:count ימ׳',
+    'hour' => 'שעה|{2}שעתיים|:count שעות',
+    'h' => 'שעה|:count שע׳',
+    'minute' => 'דקה|{2}שתי דקות|:count דקות',
+    'min' => 'דקה|:count דק׳',
+    'second' => 'שנייה|:count שניות',
+    'a_second' => 'כמה שניות|:count שניות',
+    's' => 'שניה|:count שנ׳',
+    'ago' => 'לפני :time',
+    'from_now' => 'בעוד :time מעכשיו',
+    'after' => 'אחרי :time',
+    'before' => 'לפני :time',
+    'diff_now' => 'עכשיו',
+    'diff_today' => 'היום',
+    'diff_today_regexp' => 'היום(?:\\s+ב־)?',
+    'diff_yesterday' => 'אתמול',
+    'diff_yesterday_regexp' => 'אתמול(?:\\s+ב־)?',
+    'diff_tomorrow' => 'מחר',
+    'diff_tomorrow_regexp' => 'מחר(?:\\s+ב־)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D [ב]MMMM YYYY',
+        'LLL' => 'D [ב]MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D [ב]MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[היום ב־]LT',
+        'nextDay' => '[מחר ב־]LT',
+        'nextWeek' => 'dddd [בשעה] LT',
+        'lastDay' => '[אתמול ב־]LT',
+        'lastWeek' => '[ביום] dddd [האחרון בשעה] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour, $minute, $isLower) {
+        if ($hour < 5) {
+            return 'לפנות בוקר';
+        }
+        if ($hour < 10) {
+            return 'בבוקר';
+        }
+        if ($hour < 12) {
+            return $isLower ? 'לפנה"צ' : 'לפני הצהריים';
+        }
+        if ($hour < 18) {
+            return $isLower ? 'אחה"צ' : 'אחרי הצהריים';
+        }
+
+        return 'בערב';
+    },
+    'months' => ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'],
+    'months_short' => ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'],
+    'weekdays' => ['ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת'],
+    'weekdays_short' => ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],
+    'weekdays_min' => ['א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ש'],
+    'list' => [', ', ' ו -'],
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/he_IL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/he_IL.php
new file mode 100644
index 0000000..57c4fec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/he_IL.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/he.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hi.php
new file mode 100644
index 0000000..70c57a2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hi.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - abhimanyu003
+ * - Josh Soref
+ * - JD Isaacks
+ */
+return [
+    'year' => 'एक वर्ष|:count वर्ष',
+    'y' => '1 वर्ष|:count वर्षों',
+    'month' => 'एक महीने|:count महीने',
+    'm' => '1 माह|:count महीने',
+    'week' => '1 सप्ताह|:count सप्ताह',
+    'w' => '1 सप्ताह|:count सप्ताह',
+    'day' => 'एक दिन|:count दिन',
+    'd' => '1 दिन|:count दिनों',
+    'hour' => 'एक घंटा|:count घंटे',
+    'h' => '1 घंटा|:count घंटे',
+    'minute' => 'एक मिनट|:count मिनट',
+    'min' => '1 मिनट|:count मिनटों',
+    'second' => 'कुछ ही क्षण|:count सेकंड',
+    's' => '1 सेकंड|:count सेकंड',
+    'ago' => ':time पहले',
+    'from_now' => ':time में',
+    'after' => ':time के बाद',
+    'before' => ':time के पहले',
+    'diff_now' => 'अब',
+    'diff_today' => 'आज',
+    'diff_yesterday' => 'कल',
+    'diff_tomorrow' => 'कल',
+    'formats' => [
+        'LT' => 'A h:mm बजे',
+        'LTS' => 'A h:mm:ss बजे',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm बजे',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm बजे',
+    ],
+    'calendar' => [
+        'sameDay' => '[आज] LT',
+        'nextDay' => '[कल] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[कल] LT',
+        'lastWeek' => '[पिछले] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'रात';
+        }
+        if ($hour < 10) {
+            return 'सुबह';
+        }
+        if ($hour < 17) {
+            return 'दोपहर';
+        }
+        if ($hour < 20) {
+            return 'शाम';
+        }
+
+        return 'रात';
+    },
+    'months' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'months_short' => ['जन.', 'फ़र.', 'मार्च', 'अप्रै.', 'मई', 'जून', 'जुल.', 'अग.', 'सित.', 'अक्टू.', 'नव.', 'दिस.'],
+    'weekdays' => ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरूवार', 'शुक्रवार', 'शनिवार'],
+    'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरू', 'शुक्र', 'शनि'],
+    'weekdays_min' => ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],
+    'list' => [', ', ' और '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'weekend' => [0, 0],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hi_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hi_IN.php
new file mode 100644
index 0000000..ac30299
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hi_IN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/hi.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hif.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hif.php
new file mode 100644
index 0000000..65791dd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hif.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/hif_FJ.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hif_FJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hif_FJ.php
new file mode 100644
index 0000000..30ad5e7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hif_FJ.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Samsung Electronics Co., Ltd.    akhilesh.k@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'dddd DD MMM YYYY',
+    ],
+    'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+    'weekdays' => ['Ravivar', 'Somvar', 'Mangalvar', 'Budhvar', 'Guruvar', 'Shukravar', 'Shanivar'],
+    'weekdays_short' => ['Ravi', 'Som', 'Mangal', 'Budh', 'Guru', 'Shukra', 'Shani'],
+    'weekdays_min' => ['Ravi', 'Som', 'Mangal', 'Budh', 'Guru', 'Shukra', 'Shani'],
+    'meridiem' => ['Purvahan', 'Aparaahna'],
+
+    'hour' => ':count minit', // less reliable
+    'h' => ':count minit', // less reliable
+    'a_hour' => ':count minit', // less reliable
+
+    'year' => ':count saal',
+    'y' => ':count saal',
+    'a_year' => ':count saal',
+
+    'month' => ':count Mahina',
+    'm' => ':count Mahina',
+    'a_month' => ':count Mahina',
+
+    'week' => ':count Hafta',
+    'w' => ':count Hafta',
+    'a_week' => ':count Hafta',
+
+    'day' => ':count Din',
+    'd' => ':count Din',
+    'a_day' => ':count Din',
+
+    'minute' => ':count Minit',
+    'min' => ':count Minit',
+    'a_minute' => ':count Minit',
+
+    'second' => ':count Second',
+    's' => ':count Second',
+    'a_second' => ':count Second',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hne.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hne.php
new file mode 100644
index 0000000..4bcb05c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hne.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/hne_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hne_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hne_IN.php
new file mode 100644
index 0000000..a5ca758
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hne_IN.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat, Pune    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फरवरी', 'मार्च', 'अपरेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितमबर', 'अकटूबर', 'नवमबर', 'दिसमबर'],
+    'months_short' => ['जन', 'फर', 'मार्च', 'अप', 'मई', 'जून', 'जुला', 'अग', 'सित', 'अकटू', 'नव', 'दिस'],
+    'weekdays' => ['इतवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'बिरसपत', 'सुकरवार', 'सनिवार'],
+    'weekdays_short' => ['इत', 'सोम', 'मंग', 'बुध', 'बिर', 'सुक', 'सनि'],
+    'weekdays_min' => ['इत', 'सोम', 'मंग', 'बुध', 'बिर', 'सुक', 'सनि'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['बिहिनियाँ', 'मंझनियाँ'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr.php
new file mode 100644
index 0000000..acb7e92
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr.php
@@ -0,0 +1,108 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - Tim Fish
+ * - shaishavgandhi05
+ * - Serhan Apaydın
+ * - JD Isaacks
+ * - tomhorvat
+ * - Josh Soref
+ * - François B
+ * - shaishavgandhi05
+ * - Serhan Apaydın
+ * - JD Isaacks
+ * - tomhorvat
+ * - Stjepan Majdak
+ * - Vanja Retkovac (vr00)
+ */
+return [
+    'year' => ':count godinu|:count godine|:count godina',
+    'y' => ':count god.|:count god.|:count god.',
+    'month' => ':count mjesec|:count mjeseca|:count mjeseci',
+    'm' => ':count mj.|:count mj.|:count mj.',
+    'week' => ':count tjedan|:count tjedna|:count tjedana',
+    'w' => ':count tj.|:count tj.|:count tj.',
+    'day' => ':count dan|:count dana|:count dana',
+    'd' => ':count d.|:count d.|:count d.',
+    'hour' => ':count sat|:count sata|:count sati',
+    'h' => ':count sat|:count sata|:count sati',
+    'minute' => ':count minutu|:count minute|:count minuta',
+    'min' => ':count min.|:count min.|:count min.',
+    'second' => ':count sekundu|:count sekunde|:count sekundi',
+    'a_second' => 'nekoliko sekundi|:count sekunde|:count sekundi',
+    's' => ':count sek.|:count sek.|:count sek.',
+    'ago' => 'prije :time',
+    'from_now' => 'za :time',
+    'after' => ':time poslije',
+    'before' => ':time prije',
+    'diff_now' => 'sad',
+    'diff_today' => 'danas',
+    'diff_today_regexp' => 'danas(?:\\s+u)?',
+    'diff_yesterday' => 'jučer',
+    'diff_yesterday_regexp' => 'jučer(?:\\s+u)?',
+    'diff_tomorrow' => 'sutra',
+    'diff_tomorrow_regexp' => 'sutra(?:\\s+u)?',
+    'diff_before_yesterday' => 'prekjučer',
+    'diff_after_tomorrow' => 'prekosutra',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'D. M. YYYY.',
+        'LL' => 'D. MMMM YYYY.',
+        'LLL' => 'D. MMMM YYYY. H:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY. H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[danas u] LT',
+        'nextDay' => '[sutra u] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[u] [nedjelju] [u] LT';
+                case 3:
+                    return '[u] [srijedu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                default:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        'lastDay' => '[jučer u] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                case 3:
+                    return '[prošlu] dddd [u] LT';
+                case 6:
+                    return '[prošle] [subote] [u] LT';
+                default:
+                    return '[prošli] dddd [u] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja', 'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'],
+    'months_standalone' => ['siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac'],
+    'months_short' => ['sij.', 'velj.', 'ožu.', 'tra.', 'svi.', 'lip.', 'srp.', 'kol.', 'ruj.', 'lis.', 'stu.', 'pro.'],
+    'months_regexp' => '/(D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => ['nedjelju', 'ponedjeljak', 'utorak', 'srijedu', 'četvrtak', 'petak', 'subotu'],
+    'weekdays_standalone' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'],
+    'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sri.', 'čet.', 'pet.', 'sub.'],
+    'weekdays_min' => ['ne', 'po', 'ut', 'sr', 'če', 'pe', 'su'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' i '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr_BA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr_BA.php
new file mode 100644
index 0000000..7763a45
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr_BA.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - DarkoDevelop
+ */
+return array_replace_recursive(require __DIR__.'/hr.php', [
+    'weekdays' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'],
+    'weekdays_short' => ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'],
+    'weekdays_min' => ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'],
+    'months' => ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja', 'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'],
+    'months_short' => ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'],
+    'months_standalone' => ['siječanj', 'veljača', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D. M. yy.',
+        'LL' => 'D. MMM YYYY.',
+        'LLL' => 'D. MMMM YYYY. HH:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY. HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr_HR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr_HR.php
new file mode 100644
index 0000000..2ae141d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hr_HR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/hr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hsb.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hsb.php
new file mode 100644
index 0000000..3537b8b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hsb.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/hsb_DE.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hsb_DE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hsb_DE.php
new file mode 100644
index 0000000..6ba2271
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hsb_DE.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Information from Michael Wolf Andrzej Krzysztofowicz ankry@mif.pg.gda.pl
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'DD. MMMM YYYY',
+        'LLL' => 'DD. MMMM, HH:mm [hodź.]',
+        'LLLL' => 'dddd, DD. MMMM YYYY, HH:mm [hodź.]',
+    ],
+    'months' => ['januara', 'februara', 'měrca', 'apryla', 'meje', 'junija', 'julija', 'awgusta', 'septembra', 'oktobra', 'nowembra', 'decembra'],
+    'months_short' => ['Jan', 'Feb', 'Měr', 'Apr', 'Mej', 'Jun', 'Jul', 'Awg', 'Sep', 'Okt', 'Now', 'Dec'],
+    'weekdays' => ['Njedźela', 'Póndźela', 'Wutora', 'Srjeda', 'Štvórtk', 'Pjatk', 'Sobota'],
+    'weekdays_short' => ['Nj', 'Pó', 'Wu', 'Sr', 'Št', 'Pj', 'So'],
+    'weekdays_min' => ['Nj', 'Pó', 'Wu', 'Sr', 'Št', 'Pj', 'So'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count lěto',
+    'y' => ':count lěto',
+    'a_year' => ':count lěto',
+
+    'month' => ':count měsac',
+    'm' => ':count měsac',
+    'a_month' => ':count měsac',
+
+    'week' => ':count tydźeń',
+    'w' => ':count tydźeń',
+    'a_week' => ':count tydźeń',
+
+    'day' => ':count dźeń',
+    'd' => ':count dźeń',
+    'a_day' => ':count dźeń',
+
+    'hour' => ':count hodźina',
+    'h' => ':count hodźina',
+    'a_hour' => ':count hodźina',
+
+    'minute' => ':count chwila',
+    'min' => ':count chwila',
+    'a_minute' => ':count chwila',
+
+    'second' => ':count druhi',
+    's' => ':count druhi',
+    'a_second' => ':count druhi',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ht.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ht.php
new file mode 100644
index 0000000..ebd12ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ht.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ht_HT.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ht_HT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ht_HT.php
new file mode 100644
index 0000000..139b813
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ht_HT.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Sugar Labs // OLPC sugarlabs.org libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['janvye', 'fevriye', 'mas', 'avril', 'me', 'jen', 'jiyè', 'out', 'septanm', 'oktòb', 'novanm', 'desanm'],
+    'months_short' => ['jan', 'fev', 'mas', 'avr', 'me', 'jen', 'jiy', 'out', 'sep', 'okt', 'nov', 'des'],
+    'weekdays' => ['dimanch', 'lendi', 'madi', 'mèkredi', 'jedi', 'vandredi', 'samdi'],
+    'weekdays_short' => ['dim', 'len', 'mad', 'mèk', 'jed', 'van', 'sam'],
+    'weekdays_min' => ['dim', 'len', 'mad', 'mèk', 'jed', 'van', 'sam'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count lane',
+    'y' => ':count lane',
+    'a_year' => ':count lane',
+
+    'month' => 'mwa :count',
+    'm' => 'mwa :count',
+    'a_month' => 'mwa :count',
+
+    'week' => 'semèn :count',
+    'w' => 'semèn :count',
+    'a_week' => 'semèn :count',
+
+    'day' => ':count jou',
+    'd' => ':count jou',
+    'a_day' => ':count jou',
+
+    'hour' => ':count lè',
+    'h' => ':count lè',
+    'a_hour' => ':count lè',
+
+    'minute' => ':count minit',
+    'min' => ':count minit',
+    'a_minute' => ':count minit',
+
+    'second' => ':count segonn',
+    's' => ':count segonn',
+    'a_second' => ':count segonn',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hu.php
new file mode 100644
index 0000000..673f9dc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hu.php
@@ -0,0 +1,115 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Adam Brunner
+ * - Brett Johnson
+ * - balping
+ */
+$huWeekEndings = ['vasárnap', 'hétfőn', 'kedden', 'szerdán', 'csütörtökön', 'pénteken', 'szombaton'];
+
+return [
+    'year' => ':count év',
+    'y' => ':count év',
+    'month' => ':count hónap',
+    'm' => ':count hónap',
+    'week' => ':count hét',
+    'w' => ':count hét',
+    'day' => ':count nap',
+    'd' => ':count nap',
+    'hour' => ':count óra',
+    'h' => ':count óra',
+    'minute' => ':count perc',
+    'min' => ':count perc',
+    'second' => ':count másodperc',
+    's' => ':count másodperc',
+    'ago' => ':time',
+    'from_now' => ':time múlva',
+    'after' => ':time később',
+    'before' => ':time korábban',
+    'year_ago' => ':count éve',
+    'y_ago' => ':count éve',
+    'month_ago' => ':count hónapja',
+    'm_ago' => ':count hónapja',
+    'week_ago' => ':count hete',
+    'w_ago' => ':count hete',
+    'day_ago' => ':count napja',
+    'd_ago' => ':count napja',
+    'hour_ago' => ':count órája',
+    'h_ago' => ':count órája',
+    'minute_ago' => ':count perce',
+    'min_ago' => ':count perce',
+    'second_ago' => ':count másodperce',
+    's_ago' => ':count másodperce',
+    'year_after' => ':count évvel',
+    'y_after' => ':count évvel',
+    'month_after' => ':count hónappal',
+    'm_after' => ':count hónappal',
+    'week_after' => ':count héttel',
+    'w_after' => ':count héttel',
+    'day_after' => ':count nappal',
+    'd_after' => ':count nappal',
+    'hour_after' => ':count órával',
+    'h_after' => ':count órával',
+    'minute_after' => ':count perccel',
+    'min_after' => ':count perccel',
+    'second_after' => ':count másodperccel',
+    's_after' => ':count másodperccel',
+    'year_before' => ':count évvel',
+    'y_before' => ':count évvel',
+    'month_before' => ':count hónappal',
+    'm_before' => ':count hónappal',
+    'week_before' => ':count héttel',
+    'w_before' => ':count héttel',
+    'day_before' => ':count nappal',
+    'd_before' => ':count nappal',
+    'hour_before' => ':count órával',
+    'h_before' => ':count órával',
+    'minute_before' => ':count perccel',
+    'min_before' => ':count perccel',
+    'second_before' => ':count másodperccel',
+    's_before' => ':count másodperccel',
+    'months' => ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'],
+    'months_short' => ['jan.', 'feb.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'],
+    'weekdays' => ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'],
+    'weekdays_short' => ['vas', 'hét', 'kedd', 'sze', 'csüt', 'pén', 'szo'],
+    'weekdays_min' => ['v', 'h', 'k', 'sze', 'cs', 'p', 'sz'],
+    'ordinal' => ':number.',
+    'diff_now' => 'most',
+    'diff_today' => 'ma',
+    'diff_yesterday' => 'tegnap',
+    'diff_tomorrow' => 'holnap',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'YYYY.MM.DD.',
+        'LL' => 'YYYY. MMMM D.',
+        'LLL' => 'YYYY. MMMM D. H:mm',
+        'LLLL' => 'YYYY. MMMM D., dddd H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[ma] LT[-kor]',
+        'nextDay' => '[holnap] LT[-kor]',
+        'nextWeek' => function (\Carbon\CarbonInterface $date) use ($huWeekEndings) {
+            return '['.$huWeekEndings[$date->dayOfWeek].'] LT[-kor]';
+        },
+        'lastDay' => '[tegnap] LT[-kor]',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) use ($huWeekEndings) {
+            return '[múlt '.$huWeekEndings[$date->dayOfWeek].'] LT[-kor]';
+        },
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['DE', 'DU'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' és '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hu_HU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hu_HU.php
new file mode 100644
index 0000000..b33a631
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hu_HU.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/hu.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hy.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hy.php
new file mode 100644
index 0000000..8b12994
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hy.php
@@ -0,0 +1,95 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - mhamlet
+ */
+return [
+    'year' => ':count տարի',
+    'a_year' => 'տարի|:count տարի',
+    'y' => ':countտ',
+    'month' => ':count ամիս',
+    'a_month' => 'ամիս|:count ամիս',
+    'm' => ':countամ',
+    'week' => ':count շաբաթ',
+    'a_week' => 'շաբաթ|:count շաբաթ',
+    'w' => ':countշ',
+    'day' => ':count օր',
+    'a_day' => 'օր|:count օր',
+    'd' => ':countօր',
+    'hour' => ':count ժամ',
+    'a_hour' => 'ժամ|:count ժամ',
+    'h' => ':countժ',
+    'minute' => ':count րոպե',
+    'a_minute' => 'րոպե|:count րոպե',
+    'min' => ':countր',
+    'second' => ':count վայրկյան',
+    'a_second' => 'մի քանի վայրկյան|:count վայրկյան',
+    's' => ':countվրկ',
+    'ago' => ':time առաջ',
+    'from_now' => ':timeից',
+    'after' => ':time հետո',
+    'before' => ':time առաջ',
+    'diff_now' => 'հիմա',
+    'diff_today' => 'այսօր',
+    'diff_yesterday' => 'երեկ',
+    'diff_tomorrow' => 'վաղը',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY թ.',
+        'LLL' => 'D MMMM YYYY թ., HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY թ., HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[այսօր] LT',
+        'nextDay' => '[վաղը] LT',
+        'nextWeek' => 'dddd [օրը ժամը] LT',
+        'lastDay' => '[երեկ] LT',
+        'lastWeek' => '[անցած] dddd [օրը ժամը] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'DDD':
+            case 'w':
+            case 'W':
+            case 'DDDo':
+                return $number.($number === 1 ? '-ին' : '-րդ');
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'գիշերվա';
+        }
+        if ($hour < 12) {
+            return 'առավոտվա';
+        }
+        if ($hour < 17) {
+            return 'ցերեկվա';
+        }
+
+        return 'երեկոյան';
+    },
+    'months' => ['հունվարի', 'փետրվարի', 'մարտի', 'ապրիլի', 'մայիսի', 'հունիսի', 'հուլիսի', 'օգոստոսի', 'սեպտեմբերի', 'հոկտեմբերի', 'նոյեմբերի', 'դեկտեմբերի'],
+    'months_standalone' => ['հունվար', 'փետրվար', 'մարտ', 'ապրիլ', 'մայիս', 'հունիս', 'հուլիս', 'օգոստոս', 'սեպտեմբեր', 'հոկտեմբեր', 'նոյեմբեր', 'դեկտեմբեր'],
+    'months_short' => ['հնվ', 'փտր', 'մրտ', 'ապր', 'մյս', 'հնս', 'հլս', 'օգս', 'սպտ', 'հկտ', 'նմբ', 'դկտ'],
+    'months_regexp' => '/(D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => ['կիրակի', 'երկուշաբթի', 'երեքշաբթի', 'չորեքշաբթի', 'հինգշաբթի', 'ուրբաթ', 'շաբաթ'],
+    'weekdays_short' => ['կրկ', 'երկ', 'երք', 'չրք', 'հնգ', 'ուրբ', 'շբթ'],
+    'weekdays_min' => ['կրկ', 'երկ', 'երք', 'չրք', 'հնգ', 'ուրբ', 'շբթ'],
+    'list' => [', ', ' եւ '],
+    'first_day_of_week' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hy_AM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hy_AM.php
new file mode 100644
index 0000000..4587df5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/hy_AM.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - Tim Fish
+ * - Serhan Apaydın
+ * - JD Isaacks
+ */
+return array_replace_recursive(require __DIR__.'/hy.php', [
+    'from_now' => ':time հետո',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/i18n.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/i18n.php
new file mode 100644
index 0000000..d19e4f4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/i18n.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+    'months' => ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],
+    'months_short' => ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],
+    'weekdays' => ['1', '2', '3', '4', '5', '6', '7'],
+    'weekdays_short' => ['1', '2', '3', '4', '5', '6', '7'],
+    'weekdays_min' => ['1', '2', '3', '4', '5', '6', '7'],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ia.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ia.php
new file mode 100644
index 0000000..0a0d5e6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ia.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ia_FR.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ia_FR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ia_FR.php
new file mode 100644
index 0000000..de4b2fa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ia_FR.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Fedora Project Nik Kalach nikka@fedoraproject.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['januario', 'februario', 'martio', 'april', 'maio', 'junio', 'julio', 'augusto', 'septembre', 'octobre', 'novembre', 'decembre'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'],
+    'weekdays' => ['dominica', 'lunedi', 'martedi', 'mercuridi', 'jovedi', 'venerdi', 'sabbato'],
+    'weekdays_short' => ['dom', 'lun', 'mar', 'mer', 'jov', 'ven', 'sab'],
+    'weekdays_min' => ['dom', 'lun', 'mar', 'mer', 'jov', 'ven', 'sab'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => 'anno :count',
+    'y' => 'anno :count',
+    'a_year' => 'anno :count',
+
+    'month' => ':count mense',
+    'm' => ':count mense',
+    'a_month' => ':count mense',
+
+    'week' => ':count septimana',
+    'w' => ':count septimana',
+    'a_week' => ':count septimana',
+
+    'day' => ':count die',
+    'd' => ':count die',
+    'a_day' => ':count die',
+
+    'hour' => ':count hora',
+    'h' => ':count hora',
+    'a_hour' => ':count hora',
+
+    'minute' => ':count minuscule',
+    'min' => ':count minuscule',
+    'a_minute' => ':count minuscule',
+
+    'second' => ':count secunda',
+    's' => ':count secunda',
+    'a_second' => ':count secunda',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/id.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/id.php
new file mode 100644
index 0000000..afaf78f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/id.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - du
+ * - JD Isaacks
+ * - Nafies Luthfi
+ * - Raymundus Jati Primanda (mundusjp)
+ * - diankur313
+ * - a-wip0
+ */
+return [
+    'year' => ':count tahun',
+    'a_year' => '{1}setahun|]1,Inf[:count tahun',
+    'y' => ':countthn',
+    'month' => ':count bulan',
+    'a_month' => '{1}sebulan|]1,Inf[:count bulan',
+    'm' => ':countbln',
+    'week' => ':count minggu',
+    'a_week' => '{1}seminggu|]1,Inf[:count minggu',
+    'w' => ':countmgg',
+    'day' => ':count hari',
+    'a_day' => '{1}sehari|]1,Inf[:count hari',
+    'd' => ':counthr',
+    'hour' => ':count jam',
+    'a_hour' => '{1}sejam|]1,Inf[:count jam',
+    'h' => ':countj',
+    'minute' => ':count menit',
+    'a_minute' => '{1}semenit|]1,Inf[:count menit',
+    'min' => ':countmnt',
+    'second' => ':count detik',
+    'a_second' => '{1}beberapa detik|]1,Inf[:count detik',
+    's' => ':countdt',
+    'ago' => ':time yang lalu',
+    'from_now' => ':time dari sekarang',
+    'after' => ':time setelahnya',
+    'before' => ':time sebelumnya',
+    'diff_now' => 'sekarang',
+    'diff_today' => 'Hari',
+    'diff_today_regexp' => 'Hari(?:\\s+ini)?(?:\\s+pukul)?',
+    'diff_yesterday' => 'kemarin',
+    'diff_yesterday_regexp' => 'Kemarin(?:\\s+pukul)?',
+    'diff_tomorrow' => 'besok',
+    'diff_tomorrow_regexp' => 'Besok(?:\\s+pukul)?',
+    'formats' => [
+        'LT' => 'HH.mm',
+        'LTS' => 'HH.mm.ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY [pukul] HH.mm',
+        'LLLL' => 'dddd, D MMMM YYYY [pukul] HH.mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Hari ini pukul] LT',
+        'nextDay' => '[Besok pukul] LT',
+        'nextWeek' => 'dddd [pukul] LT',
+        'lastDay' => '[Kemarin pukul] LT',
+        'lastWeek' => 'dddd [lalu pukul] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 11) {
+            return 'pagi';
+        }
+        if ($hour < 15) {
+            return 'siang';
+        }
+        if ($hour < 19) {
+            return 'sore';
+        }
+
+        return 'malam';
+    },
+    'months' => ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'],
+    'weekdays_short' => ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'],
+    'weekdays_min' => ['Mg', 'Sn', 'Sl', 'Rb', 'Km', 'Jm', 'Sb'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' dan '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/id_ID.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/id_ID.php
new file mode 100644
index 0000000..406112a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/id_ID.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/id.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ig.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ig.php
new file mode 100644
index 0000000..de51e9c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ig.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ig_NG.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ig_NG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ig_NG.php
new file mode 100644
index 0000000..0034e35
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ig_NG.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - pablo@mandriva.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Jenụwarị', 'Febrụwarị', 'Maachị', 'Eprel', 'Mee', 'Juun', 'Julaị', 'Ọgọọst', 'Septemba', 'Ọktoba', 'Novemba', 'Disemba'],
+    'months_short' => ['Jen', 'Feb', 'Maa', 'Epr', 'Mee', 'Juu', 'Jul', 'Ọgọ', 'Sep', 'Ọkt', 'Nov', 'Dis'],
+    'weekdays' => ['sọnde', 'mọnde', 'tuzde', 'wenzde', 'tọsde', 'fraịde', 'satọde'],
+    'weekdays_short' => ['sọn', 'mọn', 'tuz', 'wen', 'tọs', 'fra', 'sat'],
+    'weekdays_min' => ['sọn', 'mọn', 'tuz', 'wen', 'tọs', 'fra', 'sat'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => 'afo :count',
+    'y' => 'afo :count',
+    'a_year' => 'afo :count',
+
+    'month' => 'önwa :count',
+    'm' => 'önwa :count',
+    'a_month' => 'önwa :count',
+
+    'week' => 'izu :count',
+    'w' => 'izu :count',
+    'a_week' => 'izu :count',
+
+    'day' => 'ụbọchị :count',
+    'd' => 'ụbọchị :count',
+    'a_day' => 'ụbọchị :count',
+
+    'hour' => 'awa :count',
+    'h' => 'awa :count',
+    'a_hour' => 'awa :count',
+
+    'minute' => 'minit :count',
+    'min' => 'minit :count',
+    'a_minute' => 'minit :count',
+
+    'second' => 'sekọnd :count',
+    's' => 'sekọnd :count',
+    'a_second' => 'sekọnd :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ii.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ii.php
new file mode 100644
index 0000000..30f8374
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ii.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['ꎸꄑ', 'ꁯꋒ'],
+    'weekdays' => ['ꑭꆏꑍ', 'ꆏꊂꋍ', 'ꆏꊂꑍ', 'ꆏꊂꌕ', 'ꆏꊂꇖ', 'ꆏꊂꉬ', 'ꆏꊂꃘ'],
+    'weekdays_short' => ['ꑭꆏ', 'ꆏꋍ', 'ꆏꑍ', 'ꆏꌕ', 'ꆏꇖ', 'ꆏꉬ', 'ꆏꃘ'],
+    'weekdays_min' => ['ꑭꆏ', 'ꆏꋍ', 'ꆏꑍ', 'ꆏꌕ', 'ꆏꇖ', 'ꆏꉬ', 'ꆏꃘ'],
+    'months' => null,
+    'months_short' => ['ꋍꆪ', 'ꑍꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', 'ꏃꆪ', 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D h:mm a',
+        'LLLL' => 'YYYY MMMM D, dddd h:mm a',
+    ],
+
+    'year' => ':count ꒉ', // less reliable
+    'y' => ':count ꒉ', // less reliable
+    'a_year' => ':count ꒉ', // less reliable
+
+    'month' => ':count ꆪ',
+    'm' => ':count ꆪ',
+    'a_month' => ':count ꆪ',
+
+    'week' => ':count ꏃ', // less reliable
+    'w' => ':count ꏃ', // less reliable
+    'a_week' => ':count ꏃ', // less reliable
+
+    'day' => ':count ꏜ', // less reliable
+    'd' => ':count ꏜ', // less reliable
+    'a_day' => ':count ꏜ', // less reliable
+
+    'hour' => ':count ꄮꈉ',
+    'h' => ':count ꄮꈉ',
+    'a_hour' => ':count ꄮꈉ',
+
+    'minute' => ':count ꀄꊭ', // less reliable
+    'min' => ':count ꀄꊭ', // less reliable
+    'a_minute' => ':count ꀄꊭ', // less reliable
+
+    'second' => ':count ꇅ', // less reliable
+    's' => ':count ꇅ', // less reliable
+    'a_second' => ':count ꇅ', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ik.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ik.php
new file mode 100644
index 0000000..7a13aa2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ik.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ik_CA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ik_CA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ik_CA.php
new file mode 100644
index 0000000..bb2a109
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ik_CA.php
@@ -0,0 +1,50 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - pablo@mandriva.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Siqiññaatchiaq', 'Siqiññaasrugruk', 'Paniqsiqsiivik', 'Qilġich Tatqiat', 'Suppivik', 'Iġñivik', 'Itchavik', 'Tiññivik', 'Amiġaiqsivik', 'Sikkuvik', 'Nippivik', 'Siqiñġiḷaq'],
+    'months_short' => ['Sñt', 'Sñs', 'Pan', 'Qil', 'Sup', 'Iġñ', 'Itc', 'Tiñ', 'Ami', 'Sik', 'Nip', 'Siq'],
+    'weekdays' => ['Minġuiqsioiq', 'Savałłiq', 'Ilaqtchiioiq', 'Qitchiioiq', 'Sisamiioiq', 'Tallimmiioiq', 'Maqinġuoiq'],
+    'weekdays_short' => ['Min', 'Sav', 'Ila', 'Qit', 'Sis', 'Tal', 'Maq'],
+    'weekdays_min' => ['Min', 'Sav', 'Ila', 'Qit', 'Sis', 'Tal', 'Maq'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count ukiuq',
+    'y' => ':count ukiuq',
+    'a_year' => ':count ukiuq',
+
+    'month' => ':count Tatqiat',
+    'm' => ':count Tatqiat',
+    'a_month' => ':count Tatqiat',
+
+    'week' => ':count tatqiat', // less reliable
+    'w' => ':count tatqiat', // less reliable
+    'a_week' => ':count tatqiat', // less reliable
+
+    'day' => ':count siqiñiq', // less reliable
+    'd' => ':count siqiñiq', // less reliable
+    'a_day' => ':count siqiñiq', // less reliable
+
+    'hour' => ':count Siḷa', // less reliable
+    'h' => ':count Siḷa', // less reliable
+    'a_hour' => ':count Siḷa', // less reliable
+
+    'second' => ':count iġñiq', // less reliable
+    's' => ':count iġñiq', // less reliable
+    'a_second' => ':count iġñiq', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/in.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/in.php
new file mode 100644
index 0000000..406112a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/in.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/id.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/is.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/is.php
new file mode 100644
index 0000000..9990168
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/is.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kristján Ingi Geirsson
+ */
+return [
+    'year' => '1 ár|:count ár',
+    'y' => '1 ár|:count ár',
+    'month' => '1 mánuður|:count mánuðir',
+    'm' => '1 mánuður|:count mánuðir',
+    'week' => '1 vika|:count vikur',
+    'w' => '1 vika|:count vikur',
+    'day' => '1 dagur|:count dagar',
+    'd' => '1 dagur|:count dagar',
+    'hour' => '1 klukkutími|:count klukkutímar',
+    'h' => '1 klukkutími|:count klukkutímar',
+    'minute' => '1 mínúta|:count mínútur',
+    'min' => '1 mínúta|:count mínútur',
+    'second' => '1 sekúnda|:count sekúndur',
+    's' => '1 sekúnda|:count sekúndur',
+    'ago' => ':time síðan',
+    'from_now' => ':time síðan',
+    'after' => ':time eftir',
+    'before' => ':time fyrir',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' og '],
+    'meridiem' => ['fh', 'eh'],
+    'diff_now' => 'núna',
+    'diff_yesterday' => 'í gær',
+    'diff_tomorrow' => 'á morgun',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM [kl.] HH:mm',
+        'LLLL' => 'dddd D. MMMM YYYY [kl.] HH:mm',
+    ],
+    'weekdays' => ['sunnudaginn', 'mánudaginn', 'þriðjudaginn', 'miðvikudaginn', 'fimmtudaginn', 'föstudaginn', 'laugardaginn'],
+    'weekdays_short' => ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau'],
+    'weekdays_min' => ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau'],
+    'months' => ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'maí', 'jún', 'júl', 'ágú', 'sep', 'okt', 'nóv', 'des'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/is_IS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/is_IS.php
new file mode 100644
index 0000000..8b91bb2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/is_IS.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/is.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it.php
new file mode 100644
index 0000000..c23d8db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it.php
@@ -0,0 +1,103 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ash
+ * - François B
+ * - Marco Perrando
+ * - Massimiliano Caniparoli
+ * - JD Isaacks
+ * - Andrea Martini
+ * - Francesco Marasco
+ * - Tizianoz93
+ * - Davide Casiraghi (davide-casiraghi)
+ * - Pete Scopes (pdscopes)
+ */
+return [
+    'year' => ':count anno|:count anni',
+    'a_year' => 'un anno|:count anni',
+    'y' => ':count anno|:count anni',
+    'month' => ':count mese|:count mesi',
+    'a_month' => 'un mese|:count mesi',
+    'm' => ':count mese|:count mesi',
+    'week' => ':count settimana|:count settimane',
+    'a_week' => 'una settimana|:count settimane',
+    'w' => ':count set.',
+    'day' => ':count giorno|:count giorni',
+    'a_day' => 'un giorno|:count giorni',
+    'd' => ':count g|:count gg',
+    'hour' => ':count ora|:count ore',
+    'a_hour' => 'un\'ora|:count ore',
+    'h' => ':count h',
+    'minute' => ':count minuto|:count minuti',
+    'a_minute' => 'un minuto|:count minuti',
+    'min' => ':count min.',
+    'second' => ':count secondo|:count secondi',
+    'a_second' => 'alcuni secondi|:count secondi',
+    's' => ':count sec.',
+    'millisecond' => ':count millisecondo|:count millisecondi',
+    'a_millisecond' => 'un millisecondo|:count millisecondi',
+    'ms' => ':countms',
+    'microsecond' => ':count microsecondo|:count microsecondi',
+    'a_microsecond' => 'un microsecondo|:count microsecondi',
+    'µs' => ':countµs',
+    'ago' => ':time fa',
+    'from_now' => function ($time) {
+        return (preg_match('/^[0-9].+$/', $time) ? 'tra' : 'in')." $time";
+    },
+    'after' => ':time dopo',
+    'before' => ':time prima',
+    'diff_now' => 'proprio ora',
+    'diff_today' => 'Oggi',
+    'diff_today_regexp' => 'Oggi(?:\\s+alle)?',
+    'diff_yesterday' => 'ieri',
+    'diff_yesterday_regexp' => 'Ieri(?:\\s+alle)?',
+    'diff_tomorrow' => 'domani',
+    'diff_tomorrow_regexp' => 'Domani(?:\\s+alle)?',
+    'diff_before_yesterday' => 'l\'altro ieri',
+    'diff_after_tomorrow' => 'dopodomani',
+    'period_interval' => 'ogni :interval',
+    'period_start_date' => 'dal :date',
+    'period_end_date' => 'al :date',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Oggi alle] LT',
+        'nextDay' => '[Domani alle] LT',
+        'nextWeek' => 'dddd [alle] LT',
+        'lastDay' => '[Ieri alle] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[la scorsa] dddd [alle] LT';
+                default:
+                    return '[lo scorso] dddd [alle] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberº',
+    'months' => ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'],
+    'months_short' => ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],
+    'weekdays' => ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'],
+    'weekdays_short' => ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],
+    'weekdays_min' => ['do', 'lu', 'ma', 'me', 'gi', 've', 'sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' e '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_CH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_CH.php
new file mode 100644
index 0000000..c23cc50
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_CH.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Propaganistas
+ */
+return array_replace_recursive(require __DIR__.'/it.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_IT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_IT.php
new file mode 100644
index 0000000..a5d1981
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_IT.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return require __DIR__.'/it.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_SM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_SM.php
new file mode 100644
index 0000000..57fab39
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_SM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/it.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_VA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_VA.php
new file mode 100644
index 0000000..57fab39
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/it_VA.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/it.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iu.php
new file mode 100644
index 0000000..4fa9742
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iu.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/iu_CA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iu_CA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iu_CA.php
new file mode 100644
index 0000000..6ab7e14
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iu_CA.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Pablo Saratxaga pablo@mandriva.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'MM/DD/YY',
+    ],
+    'months' => ['ᔮᓄᐊᓕ', 'ᕕᕗᐊᓕ', 'ᒪᔅᓯ', 'ᐃᐳᓗ', 'ᒪᐃ', 'ᔪᓂ', 'ᔪᓚᐃ', 'ᐊᒋᓯ', 'ᓯᑎᕙ', 'ᐊᑦᑐᕙ', 'ᓄᕕᕙ', 'ᑎᓯᕝᕙ'],
+    'months_short' => ['ᔮᓄ', 'ᕕᕗ', 'ᒪᔅ', 'ᐃᐳ', 'ᒪᐃ', 'ᔪᓂ', 'ᔪᓚ', 'ᐊᒋ', 'ᓯᑎ', 'ᐊᑦ', 'ᓄᕕ', 'ᑎᓯ'],
+    'weekdays' => ['ᓈᑦᑎᖑᔭᕐᕕᒃ', 'ᓇᒡᒐᔾᔭᐅ', 'ᓇᒡᒐᔾᔭᐅᓕᖅᑭᑦ', 'ᐱᖓᓲᓕᖅᓯᐅᑦ', 'ᕿᑎᖅᑰᑦ', 'ᐅᓪᓗᕈᓘᑐᐃᓇᖅ', 'ᓯᕙᑖᕕᒃ'],
+    'weekdays_short' => ['ᓈ', 'ᓇ', 'ᓕ', 'ᐱ', 'ᕿ', 'ᐅ', 'ᓯ'],
+    'weekdays_min' => ['ᓈ', 'ᓇ', 'ᓕ', 'ᐱ', 'ᕿ', 'ᐅ', 'ᓯ'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count ᐅᑭᐅᖅ',
+    'y' => ':count ᐅᑭᐅᖅ',
+    'a_year' => ':count ᐅᑭᐅᖅ',
+
+    'month' => ':count qaammat',
+    'm' => ':count qaammat',
+    'a_month' => ':count qaammat',
+
+    'week' => ':count sapaatip akunnera',
+    'w' => ':count sapaatip akunnera',
+    'a_week' => ':count sapaatip akunnera',
+
+    'day' => ':count ulloq',
+    'd' => ':count ulloq',
+    'a_day' => ':count ulloq',
+
+    'hour' => ':count ikarraq',
+    'h' => ':count ikarraq',
+    'a_hour' => ':count ikarraq',
+
+    'minute' => ':count titiqqaralaaq', // less reliable
+    'min' => ':count titiqqaralaaq', // less reliable
+    'a_minute' => ':count titiqqaralaaq', // less reliable
+
+    'second' => ':count marluk', // less reliable
+    's' => ':count marluk', // less reliable
+    'a_second' => ':count marluk', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iw.php
new file mode 100644
index 0000000..a8034e8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/iw.php
@@ -0,0 +1,57 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'months' => ['ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'],
+    'months_short' => ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'],
+    'weekdays' => ['יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'יום שבת'],
+    'weekdays_short' => ['יום א׳', 'יום ב׳', 'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],
+    'weekdays_min' => ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],
+    'meridiem' => ['לפנה״צ', 'אחה״צ'],
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'D.M.YYYY',
+        'LL' => 'D בMMM YYYY',
+        'LLL' => 'D בMMMM YYYY H:mm',
+        'LLLL' => 'dddd, D בMMMM YYYY H:mm',
+    ],
+
+    'year' => ':count שנה',
+    'y' => ':count שנה',
+    'a_year' => ':count שנה',
+
+    'month' => ':count חודש',
+    'm' => ':count חודש',
+    'a_month' => ':count חודש',
+
+    'week' => ':count שבוע',
+    'w' => ':count שבוע',
+    'a_week' => ':count שבוע',
+
+    'day' => ':count יום',
+    'd' => ':count יום',
+    'a_day' => ':count יום',
+
+    'hour' => ':count שעה',
+    'h' => ':count שעה',
+    'a_hour' => ':count שעה',
+
+    'minute' => ':count דקה',
+    'min' => ':count דקה',
+    'a_minute' => ':count דקה',
+
+    'second' => ':count שניה',
+    's' => ':count שניה',
+    'a_second' => ':count שניה',
+
+    'ago' => 'לפני :time',
+    'from_now' => 'בעוד :time',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ja.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ja.php
new file mode 100644
index 0000000..fa4cb36
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ja.php
@@ -0,0 +1,99 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Takuya Sawada
+ * - Atsushi Tanaka
+ * - François B
+ * - Jason Katz-Brown
+ * - Serhan Apaydın
+ * - XueWei
+ * - JD Isaacks
+ * - toyama satoshi
+ * - atakigawa
+ */
+return [
+    'year' => ':count年',
+    'y' => ':count年',
+    'month' => ':countヶ月',
+    'm' => ':countヶ月',
+    'week' => ':count週間',
+    'w' => ':count週間',
+    'day' => ':count日',
+    'd' => ':count日',
+    'hour' => ':count時間',
+    'h' => ':count時間',
+    'minute' => ':count分',
+    'min' => ':count分',
+    'second' => ':count秒',
+    'a_second' => '{1}数秒|]1,Inf[:count秒',
+    's' => ':count秒',
+    'ago' => ':time前',
+    'from_now' => ':time後',
+    'after' => ':time後',
+    'before' => ':time前',
+    'diff_now' => '今',
+    'diff_today' => '今日',
+    'diff_yesterday' => '昨日',
+    'diff_tomorrow' => '明日',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY/MM/DD',
+        'LL' => 'YYYY年M月D日',
+        'LLL' => 'YYYY年M月D日 HH:mm',
+        'LLLL' => 'YYYY年M月D日 dddd HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[今日] LT',
+        'nextDay' => '[明日] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) {
+            if ($other->week !== $current->week) {
+                return '[来週]dddd LT';
+            }
+
+            return 'dddd LT';
+        },
+        'lastDay' => '[昨日] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) {
+            if ($other->week !== $current->week) {
+                return '[先週]dddd LT';
+            }
+
+            return 'dddd LT';
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return $number.'日';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => ['午前', '午後'],
+    'months' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+    'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+    'weekdays' => ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
+    'weekdays_short' => ['日', '月', '火', '水', '木', '金', '土'],
+    'weekdays_min' => ['日', '月', '火', '水', '木', '金', '土'],
+    'list' => '、',
+    'alt_numbers' => ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二', '十三', '十四', '十五', '十六', '十七', '十八', '十九', '二十', '二十一', '二十二', '二十三', '二十四', '二十五', '二十六', '二十七', '二十八', '二十九', '三十', '三十一', '三十二', '三十三', '三十四', '三十五', '三十六', '三十七', '三十八', '三十九', '四十', '四十一', '四十二', '四十三', '四十四', '四十五', '四十六', '四十七', '四十八', '四十九', '五十', '五十一', '五十二', '五十三', '五十四', '五十五', '五十六', '五十七', '五十八', '五十九', '六十', '六十一', '六十二', '六十三', '六十四', '六十五', '六十六', '六十七', '六十八', '六十九', '七十', '七十一', '七十二', '七十三', '七十四', '七十五', '七十六', '七十七', '七十八', '七十九', '八十', '八十一', '八十二', '八十三', '八十四', '八十五', '八十六', '八十七', '八十八', '八十九', '九十', '九十一', '九十二', '九十三', '九十四', '九十五', '九十六', '九十七', '九十八', '九十九'],
+    'alt_numbers_pow' => [
+        10000 => '万',
+        1000 => '千',
+        100 => '百',
+    ],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ja_JP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ja_JP.php
new file mode 100644
index 0000000..9e035fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ja_JP.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ja.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jgo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jgo.php
new file mode 100644
index 0000000..bad6beb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jgo.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jmc.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jmc.php
new file mode 100644
index 0000000..f8cc72c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jmc.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['utuko', 'kyiukonyi'],
+    'weekdays' => ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jv.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jv.php
new file mode 100644
index 0000000..bcbe044
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/jv.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - tgfjt
+ * - JD Isaacks
+ */
+return [
+    'year' => '{1}setaun|]1,Inf[:count taun',
+    'month' => '{1}sewulan|]1,Inf[:count wulan',
+    'week' => '{1}sakminggu|]1,Inf[:count minggu',
+    'day' => '{1}sedinten|]1,Inf[:count dinten',
+    'hour' => '{1}setunggal jam|]1,Inf[:count jam',
+    'minute' => '{1}setunggal menit|]1,Inf[:count menit',
+    'second' => '{1}sawetawis detik|]1,Inf[:count detik',
+    'ago' => ':time ingkang kepengker',
+    'from_now' => 'wonten ing :time',
+    'diff_today' => 'Dinten',
+    'diff_yesterday' => 'Kala',
+    'diff_yesterday_regexp' => 'Kala(?:\\s+wingi)?(?:\\s+pukul)?',
+    'diff_tomorrow' => 'Mbenjang',
+    'diff_tomorrow_regexp' => 'Mbenjang(?:\\s+pukul)?',
+    'diff_today_regexp' => 'Dinten(?:\\s+puniko)?(?:\\s+pukul)?',
+    'formats' => [
+        'LT' => 'HH.mm',
+        'LTS' => 'HH.mm.ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY [pukul] HH.mm',
+        'LLLL' => 'dddd, D MMMM YYYY [pukul] HH.mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Dinten puniko pukul] LT',
+        'nextDay' => '[Mbenjang pukul] LT',
+        'nextWeek' => 'dddd [pukul] LT',
+        'lastDay' => '[Kala wingi pukul] LT',
+        'lastWeek' => 'dddd [kepengker pukul] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 11) {
+            return 'enjing';
+        }
+        if ($hour < 15) {
+            return 'siyang';
+        }
+        if ($hour < 19) {
+            return 'sonten';
+        }
+
+        return 'ndalu';
+    },
+    'months' => ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'Nopember', 'Desember'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ags', 'Sep', 'Okt', 'Nop', 'Des'],
+    'weekdays' => ['Minggu', 'Senen', 'Seloso', 'Rebu', 'Kemis', 'Jemuwah', 'Septu'],
+    'weekdays_short' => ['Min', 'Sen', 'Sel', 'Reb', 'Kem', 'Jem', 'Sep'],
+    'weekdays_min' => ['Mg', 'Sn', 'Sl', 'Rb', 'Km', 'Jm', 'Sp'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' lan '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ka.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ka.php
new file mode 100644
index 0000000..5ddb957
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ka.php
@@ -0,0 +1,201 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Tornike Razmadze
+ * - François B
+ * - Lasha Dolidze
+ * - Tim Fish
+ * - JD Isaacks
+ * - Tornike Razmadze
+ * - François B
+ * - Lasha Dolidze
+ * - JD Isaacks
+ * - LONGMAN
+ * - Avtandil Kikabidze (akalongman)
+ * - Levan Velijanashvili (Stichoza)
+ */
+return [
+    'year' => ':count წელი',
+    'y' => ':count წელი',
+    'a_year' => '{1}წელი|]1,Inf[:count წელი',
+    'month' => ':count თვე',
+    'm' => ':count თვე',
+    'a_month' => '{1}თვე|]1,Inf[:count თვე',
+    'week' => ':count კვირა',
+    'w' => ':count კვირა',
+    'a_week' => '{1}კვირა|]1,Inf[:count კვირა',
+    'day' => ':count დღე',
+    'd' => ':count დღე',
+    'a_day' => '{1}დღე|]1,Inf[:count დღე',
+    'hour' => ':count საათი',
+    'h' => ':count საათი',
+    'a_hour' => '{1}საათი|]1,Inf[:count საათი',
+    'minute' => ':count წუთი',
+    'min' => ':count წუთი',
+    'a_minute' => '{1}წუთი|]1,Inf[:count წუთი',
+    'second' => ':count წამი',
+    's' => ':count წამი',
+    'a_second' => '{1}რამდენიმე წამი|]1,Inf[:count წამი',
+    'ago' => function ($time) {
+        $replacements = [
+            // year
+            'წელი' => 'წლის',
+            // month
+            'თვე' => 'თვის',
+            // week
+            'კვირა' => 'კვირის',
+            // day
+            'დღე' => 'დღის',
+            // hour
+            'საათი' => 'საათის',
+            // minute
+            'წუთი' => 'წუთის',
+            // second
+            'წამი' => 'წამის',
+        ];
+        $time = strtr($time, array_flip($replacements));
+        $time = strtr($time, $replacements);
+
+        return "$time წინ";
+    },
+    'from_now' => function ($time) {
+        $replacements = [
+            // year
+            'წელი' => 'წელიწადში',
+            // week
+            'კვირა' => 'კვირაში',
+            // day
+            'დღე' => 'დღეში',
+            // month
+            'თვე' => 'თვეში',
+            // hour
+            'საათი' => 'საათში',
+            // minute
+            'წუთი' => 'წუთში',
+            // second
+            'წამი' => 'წამში',
+        ];
+        $time = strtr($time, array_flip($replacements));
+        $time = strtr($time, $replacements);
+
+        return $time;
+    },
+    'after' => function ($time) {
+        $replacements = [
+            // year
+            'წელი' => 'წლის',
+            // month
+            'თვე' => 'თვის',
+            // week
+            'კვირა' => 'კვირის',
+            // day
+            'დღე' => 'დღის',
+            // hour
+            'საათი' => 'საათის',
+            // minute
+            'წუთი' => 'წუთის',
+            // second
+            'წამი' => 'წამის',
+        ];
+        $time = strtr($time, array_flip($replacements));
+        $time = strtr($time, $replacements);
+
+        return "$time შემდეგ";
+    },
+    'before' => function ($time) {
+        $replacements = [
+            // year
+            'წელი' => 'წლით',
+            // month
+            'თვე' => 'თვით',
+            // week
+            'კვირა' => 'კვირით',
+            // day
+            'დღე' => 'დღით',
+            // hour
+            'საათი' => 'საათით',
+            // minute
+            'წუთი' => 'წუთით',
+            // second
+            'წამი' => 'წამით',
+        ];
+        $time = strtr($time, array_flip($replacements));
+        $time = strtr($time, $replacements);
+
+        return "$time ადრე";
+    },
+    'diff_now' => 'ახლა',
+    'diff_today' => 'დღეს',
+    'diff_yesterday' => 'გუშინ',
+    'diff_tomorrow' => 'ხვალ',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[დღეს], LT[-ზე]',
+        'nextDay' => '[ხვალ], LT[-ზე]',
+        'nextWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) {
+            return ($current->isSameWeek($other) ? '' : '[შემდეგ] ').'dddd, LT[-ზე]';
+        },
+        'lastDay' => '[გუშინ], LT[-ზე]',
+        'lastWeek' => '[წინა] dddd, LT-ზე',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        if ($number === 0) {
+            return $number;
+        }
+        if ($number === 1) {
+            return $number.'-ლი';
+        }
+        if (($number < 20) || ($number <= 100 && ($number % 20 === 0)) || ($number % 100 === 0)) {
+            return 'მე-'.$number;
+        }
+
+        return $number.'-ე';
+    },
+    'months' => ['იანვარი', 'თებერვალი', 'მარტი', 'აპრილი', 'მაისი', 'ივნისი', 'ივლისი', 'აგვისტო', 'სექტემბერი', 'ოქტომბერი', 'ნოემბერი', 'დეკემბერი'],
+    'months_standalone' => ['იანვარს', 'თებერვალს', 'მარტს', 'აპრილს', 'მაისს', 'ივნისს', 'ივლისს', 'აგვისტოს', 'სექტემბერს', 'ოქტომბერს', 'ნოემბერს', 'დეკემბერს'],
+    'months_short' => ['იან', 'თებ', 'მარ', 'აპრ', 'მაი', 'ივნ', 'ივლ', 'აგვ', 'სექ', 'ოქტ', 'ნოე', 'დეკ'],
+    'months_regexp' => '/(D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => ['კვირას', 'ორშაბათს', 'სამშაბათს', 'ოთხშაბათს', 'ხუთშაბათს', 'პარასკევს', 'შაბათს'],
+    'weekdays_standalone' => ['კვირა', 'ორშაბათი', 'სამშაბათი', 'ოთხშაბათი', 'ხუთშაბათი', 'პარასკევი', 'შაბათი'],
+    'weekdays_short' => ['კვი', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'],
+    'weekdays_min' => ['კვ', 'ორ', 'სა', 'ოთ', 'ხუ', 'პა', 'შა'],
+    'weekdays_regexp' => '/^([^d].*|.*[^d])$/',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' და '],
+    'meridiem' => function ($hour) {
+        if ($hour >= 4) {
+            if ($hour < 11) {
+                return 'დილის';
+            }
+
+            if ($hour < 16) {
+                return 'შუადღის';
+            }
+
+            if ($hour < 22) {
+                return 'საღამოს';
+            }
+        }
+
+        return 'ღამის';
+    },
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ka_GE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ka_GE.php
new file mode 100644
index 0000000..dd77fa3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ka_GE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ka.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kab.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kab.php
new file mode 100644
index 0000000..94d6473
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kab.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/kab_DZ.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kab_DZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kab_DZ.php
new file mode 100644
index 0000000..796660b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kab_DZ.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - belkacem77@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Yennayer', 'Fuṛar', 'Meɣres', 'Yebrir', 'Mayyu', 'Yunyu', 'Yulyu', 'ɣuct', 'Ctembeṛ', 'Tubeṛ', 'Wambeṛ', 'Dujembeṛ'],
+    'months_short' => ['Yen', 'Fur', 'Meɣ', 'Yeb', 'May', 'Yun', 'Yul', 'ɣuc', 'Cte', 'Tub', 'Wam', 'Duj'],
+    'weekdays' => ['Acer', 'Arim', 'Aram', 'Ahad', 'Amhad', 'Sem', 'Sed'],
+    'weekdays_short' => ['Ace', 'Ari', 'Ara', 'Aha', 'Amh', 'Sem', 'Sed'],
+    'weekdays_min' => ['Ace', 'Ari', 'Ara', 'Aha', 'Amh', 'Sem', 'Sed'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['FT', 'MD'],
+
+    'year' => ':count n yiseggasen',
+    'y' => ':count n yiseggasen',
+    'a_year' => ':count n yiseggasen',
+
+    'month' => ':count n wayyuren',
+    'm' => ':count n wayyuren',
+    'a_month' => ':count n wayyuren',
+
+    'week' => ':count n ledwaṛ', // less reliable
+    'w' => ':count n ledwaṛ', // less reliable
+    'a_week' => ':count n ledwaṛ', // less reliable
+
+    'day' => ':count n wussan',
+    'd' => ':count n wussan',
+    'a_day' => ':count n wussan',
+
+    'hour' => ':count n tsaɛtin',
+    'h' => ':count n tsaɛtin',
+    'a_hour' => ':count n tsaɛtin',
+
+    'minute' => ':count n tedqiqin',
+    'min' => ':count n tedqiqin',
+    'a_minute' => ':count n tedqiqin',
+
+    'second' => ':count tasdidt', // less reliable
+    's' => ':count tasdidt', // less reliable
+    'a_second' => ':count tasdidt', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kam.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kam.php
new file mode 100644
index 0000000..0fb6b2e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kam.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Ĩyakwakya', 'Ĩyawĩoo'],
+    'weekdays' => ['Wa kyumwa', 'Wa kwambĩlĩlya', 'Wa kelĩ', 'Wa katatũ', 'Wa kana', 'Wa katano', 'Wa thanthatũ'],
+    'weekdays_short' => ['Wky', 'Wkw', 'Wkl', 'Wtũ', 'Wkn', 'Wtn', 'Wth'],
+    'weekdays_min' => ['Wky', 'Wkw', 'Wkl', 'Wtũ', 'Wkn', 'Wtn', 'Wth'],
+    'months' => ['Mwai wa mbee', 'Mwai wa kelĩ', 'Mwai wa katatũ', 'Mwai wa kana', 'Mwai wa katano', 'Mwai wa thanthatũ', 'Mwai wa muonza', 'Mwai wa nyaanya', 'Mwai wa kenda', 'Mwai wa ĩkumi', 'Mwai wa ĩkumi na ĩmwe', 'Mwai wa ĩkumi na ilĩ'],
+    'months_short' => ['Mbe', 'Kel', 'Ktũ', 'Kan', 'Ktn', 'Tha', 'Moo', 'Nya', 'Knd', 'Ĩku', 'Ĩkm', 'Ĩkl'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    // Too unreliable
+    /*
+    'year' => ':count mbua', // less reliable
+    'y' => ':count mbua', // less reliable
+    'a_year' => ':count mbua', // less reliable
+
+    'month' => ':count ndakitali', // less reliable
+    'm' => ':count ndakitali', // less reliable
+    'a_month' => ':count ndakitali', // less reliable
+
+    'day' => ':count wia', // less reliable
+    'd' => ':count wia', // less reliable
+    'a_day' => ':count wia', // less reliable
+
+    'hour' => ':count orasan', // less reliable
+    'h' => ':count orasan', // less reliable
+    'a_hour' => ':count orasan', // less reliable
+
+    'minute' => ':count orasan', // less reliable
+    'min' => ':count orasan', // less reliable
+    'a_minute' => ':count orasan', // less reliable
+    */
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kde.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kde.php
new file mode 100644
index 0000000..8acdaba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kde.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Muhi', 'Chilo'],
+    'weekdays' => ['Liduva lyapili', 'Liduva lyatatu', 'Liduva lyanchechi', 'Liduva lyannyano', 'Liduva lyannyano na linji', 'Liduva lyannyano na mavili', 'Liduva litandi'],
+    'weekdays_short' => ['Ll2', 'Ll3', 'Ll4', 'Ll5', 'Ll6', 'Ll7', 'Ll1'],
+    'weekdays_min' => ['Ll2', 'Ll3', 'Ll4', 'Ll5', 'Ll6', 'Ll7', 'Ll1'],
+    'months' => ['Mwedi Ntandi', 'Mwedi wa Pili', 'Mwedi wa Tatu', 'Mwedi wa Nchechi', 'Mwedi wa Nnyano', 'Mwedi wa Nnyano na Umo', 'Mwedi wa Nnyano na Mivili', 'Mwedi wa Nnyano na Mitatu', 'Mwedi wa Nnyano na Nchechi', 'Mwedi wa Nnyano na Nnyano', 'Mwedi wa Nnyano na Nnyano na U', 'Mwedi wa Nnyano na Nnyano na M'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kea.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kea.php
new file mode 100644
index 0000000..8a334e2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kea.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['a', 'p'],
+    'weekdays' => ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', 'kinta-fera', 'sesta-fera', 'sabadu'],
+    'weekdays_short' => ['dum', 'sig', 'ter', 'kua', 'kin', 'ses', 'sab'],
+    'weekdays_min' => ['du', 'si', 'te', 'ku', 'ki', 'se', 'sa'],
+    'weekdays_standalone' => ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', 'kinta-fera', 'sesta-fera', 'sábadu'],
+    'months' => ['Janeru', 'Febreru', 'Marsu', 'Abril', 'Maiu', 'Junhu', 'Julhu', 'Agostu', 'Setenbru', 'Otubru', 'Nuvenbru', 'Dizenbru'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Otu', 'Nuv', 'Diz'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D [di] MMMM [di] YYYY HH:mm',
+        'LLLL' => 'dddd, D [di] MMMM [di] YYYY HH:mm',
+    ],
+
+    'year' => ':count otunu', // less reliable
+    'y' => ':count otunu', // less reliable
+    'a_year' => ':count otunu', // less reliable
+
+    'week' => ':count día dumingu', // less reliable
+    'w' => ':count día dumingu', // less reliable
+    'a_week' => ':count día dumingu', // less reliable
+
+    'day' => ':count diâ', // less reliable
+    'd' => ':count diâ', // less reliable
+    'a_day' => ':count diâ', // less reliable
+
+    'minute' => ':count sugundu', // less reliable
+    'min' => ':count sugundu', // less reliable
+    'a_minute' => ':count sugundu', // less reliable
+
+    'second' => ':count dós', // less reliable
+    's' => ':count dós', // less reliable
+    'a_second' => ':count dós', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/khq.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/khq.php
new file mode 100644
index 0000000..f0649e7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/khq.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Adduha', 'Aluula'],
+    'weekdays' => ['Alhadi', 'Atini', 'Atalata', 'Alarba', 'Alhamiisa', 'Aljuma', 'Assabdu'],
+    'weekdays_short' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alj', 'Ass'],
+    'weekdays_min' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alj', 'Ass'],
+    'months' => ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'],
+    'months_short' => ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ki.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ki.php
new file mode 100644
index 0000000..5754ffc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ki.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Kiroko', 'Hwaĩ-inĩ'],
+    'weekdays' => ['Kiumia', 'Njumatatũ', 'Njumaine', 'Njumatana', 'Aramithi', 'Njumaa', 'Njumamothi'],
+    'weekdays_short' => ['KMA', 'NTT', 'NMN', 'NMT', 'ART', 'NMA', 'NMM'],
+    'weekdays_min' => ['KMA', 'NTT', 'NMN', 'NMT', 'ART', 'NMA', 'NMM'],
+    'months' => ['Njenuarĩ', 'Mwere wa kerĩ', 'Mwere wa gatatũ', 'Mwere wa kana', 'Mwere wa gatano', 'Mwere wa gatandatũ', 'Mwere wa mũgwanja', 'Mwere wa kanana', 'Mwere wa kenda', 'Mwere wa ikũmi', 'Mwere wa ikũmi na ũmwe', 'Ndithemba'],
+    'months_short' => ['JEN', 'WKR', 'WGT', 'WKN', 'WTN', 'WTD', 'WMJ', 'WNN', 'WKD', 'WIK', 'WMW', 'DIT'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count mĩaka', // less reliable
+    'y' => ':count mĩaka', // less reliable
+    'a_year' => ':count mĩaka', // less reliable
+
+    'month' => ':count mweri', // less reliable
+    'm' => ':count mweri', // less reliable
+    'a_month' => ':count mweri', // less reliable
+
+    'week' => ':count kiumia', // less reliable
+    'w' => ':count kiumia', // less reliable
+    'a_week' => ':count kiumia', // less reliable
+
+    'day' => ':count mũthenya', // less reliable
+    'd' => ':count mũthenya', // less reliable
+    'a_day' => ':count mũthenya', // less reliable
+
+    'hour' => ':count thaa', // less reliable
+    'h' => ':count thaa', // less reliable
+    'a_hour' => ':count thaa', // less reliable
+
+    'minute' => ':count mundu', // less reliable
+    'min' => ':count mundu', // less reliable
+    'a_minute' => ':count mundu', // less reliable
+
+    'second' => ':count igego', // less reliable
+    's' => ':count igego', // less reliable
+    'a_second' => ':count igego', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kk.php
new file mode 100644
index 0000000..59fa9af
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kk.php
@@ -0,0 +1,103 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - Talat Uspanov
+ * - Нурлан Рахимжанов
+ * - Toleugazy Kali
+ */
+return [
+    'year' => ':count жыл',
+    'a_year' => '{1}бір жыл|:count жыл',
+    'y' => ':count ж.',
+    'month' => ':count ай',
+    'a_month' => '{1}бір ай|:count ай',
+    'm' => ':count ай',
+    'week' => ':count апта',
+    'a_week' => '{1}бір апта',
+    'w' => ':count ап.',
+    'day' => ':count күн',
+    'a_day' => '{1}бір күн|:count күн',
+    'd' => ':count к.',
+    'hour' => ':count сағат',
+    'a_hour' => '{1}бір сағат|:count сағат',
+    'h' => ':count са.',
+    'minute' => ':count минут',
+    'a_minute' => '{1}бір минут|:count минут',
+    'min' => ':count м.',
+    'second' => ':count секунд',
+    'a_second' => '{1}бірнеше секунд|:count секунд',
+    's' => ':count се.',
+    'ago' => ':time бұрын',
+    'from_now' => ':time ішінде',
+    'after' => ':time кейін',
+    'before' => ':time бұрын',
+    'diff_now' => 'қазір',
+    'diff_today' => 'Бүгін',
+    'diff_today_regexp' => 'Бүгін(?:\\s+сағат)?',
+    'diff_yesterday' => 'кеше',
+    'diff_yesterday_regexp' => 'Кеше(?:\\s+сағат)?',
+    'diff_tomorrow' => 'ертең',
+    'diff_tomorrow_regexp' => 'Ертең(?:\\s+сағат)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Бүгін сағат] LT',
+        'nextDay' => '[Ертең сағат] LT',
+        'nextWeek' => 'dddd [сағат] LT',
+        'lastDay' => '[Кеше сағат] LT',
+        'lastWeek' => '[Өткен аптаның] dddd [сағат] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        static $suffixes = [
+            0 => '-ші',
+            1 => '-ші',
+            2 => '-ші',
+            3 => '-ші',
+            4 => '-ші',
+            5 => '-ші',
+            6 => '-шы',
+            7 => '-ші',
+            8 => '-ші',
+            9 => '-шы',
+            10 => '-шы',
+            20 => '-шы',
+            30 => '-шы',
+            40 => '-шы',
+            50 => '-ші',
+            60 => '-шы',
+            70 => '-ші',
+            80 => '-ші',
+            90 => '-шы',
+            100 => '-ші',
+        ];
+
+        return $number.($suffixes[$number] ?? $suffixes[$number % 10] ?? $suffixes[$number >= 100 ? 100 : -1] ?? '');
+    },
+    'months' => ['қаңтар', 'ақпан', 'наурыз', 'сәуір', 'мамыр', 'маусым', 'шілде', 'тамыз', 'қыркүйек', 'қазан', 'қараша', 'желтоқсан'],
+    'months_short' => ['қаң', 'ақп', 'нау', 'сәу', 'мам', 'мау', 'шіл', 'там', 'қыр', 'қаз', 'қар', 'жел'],
+    'weekdays' => ['жексенбі', 'дүйсенбі', 'сейсенбі', 'сәрсенбі', 'бейсенбі', 'жұма', 'сенбі'],
+    'weekdays_short' => ['жек', 'дүй', 'сей', 'сәр', 'бей', 'жұм', 'сен'],
+    'weekdays_min' => ['жк', 'дй', 'сй', 'ср', 'бй', 'жм', 'сн'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' және '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kk_KZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kk_KZ.php
new file mode 100644
index 0000000..af4a5b2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kk_KZ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/kk.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kkj.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kkj.php
new file mode 100644
index 0000000..bad6beb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kkj.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kl.php
new file mode 100644
index 0000000..7329a07
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kl.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/kl_GL.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kl_GL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kl_GL.php
new file mode 100644
index 0000000..4fed720
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kl_GL.php
@@ -0,0 +1,64 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Danish Standards Association    bug-glibc-locales@gnu.org
+ * - John Eyðstein Johannesen (mashema)
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY HH:mm',
+        'LLLL' => 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',
+    ],
+    'months' => ['januaarip', 'februaarip', 'marsip', 'apriilip', 'maajip', 'juunip', 'juulip', 'aggustip', 'septembarip', 'oktobarip', 'novembarip', 'decembarip'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
+    'weekdays' => ['sapaat', 'ataasinngorneq', 'marlunngorneq', 'pingasunngorneq', 'sisamanngorneq', 'tallimanngorneq', 'arfininngorneq'],
+    'weekdays_short' => ['sap', 'ata', 'mar', 'pin', 'sis', 'tal', 'arf'],
+    'weekdays_min' => ['sap', 'ata', 'mar', 'pin', 'sis', 'tal', 'arf'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => '{1}ukioq :count|{0}:count ukiut|]1,Inf[ukiut :count',
+    'a_year' => '{1}ukioq|{0}:count ukiut|]1,Inf[ukiut :count',
+    'y' => '{1}:countyr|{0}:countyrs|]1,Inf[:countyrs',
+
+    'month' => '{1}qaammat :count|{0}:count qaammatit|]1,Inf[qaammatit :count',
+    'a_month' => '{1}qaammat|{0}:count qaammatit|]1,Inf[qaammatit :count',
+    'm' => '{1}:countmo|{0}:countmos|]1,Inf[:countmos',
+
+    'week' => '{1}:count sap. ak.|{0}:count sap. ak.|]1,Inf[:count sap. ak.',
+    'a_week' => '{1}a sap. ak.|{0}:count sap. ak.|]1,Inf[:count sap. ak.',
+    'w' => ':countw',
+
+    'day' => '{1}:count ulloq|{0}:count ullut|]1,Inf[:count ullut',
+    'a_day' => '{1}a ulloq|{0}:count ullut|]1,Inf[:count ullut',
+    'd' => ':countd',
+
+    'hour' => '{1}:count tiimi|{0}:count tiimit|]1,Inf[:count tiimit',
+    'a_hour' => '{1}tiimi|{0}:count tiimit|]1,Inf[:count tiimit',
+    'h' => ':counth',
+
+    'minute' => '{1}:count minutsi|{0}:count minutsit|]1,Inf[:count minutsit',
+    'a_minute' => '{1}a minutsi|{0}:count minutsit|]1,Inf[:count minutsit',
+    'min' => ':countm',
+
+    'second' => '{1}:count sikunti|{0}:count sikuntit|]1,Inf[:count sikuntit',
+    'a_second' => '{1}sikunti|{0}:count sikuntit|]1,Inf[:count sikuntit',
+    's' => ':counts',
+
+    'ago' => ':time matuma siorna',
+
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kln.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kln.php
new file mode 100644
index 0000000..b034ba5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kln.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['krn', 'koosk'],
+    'weekdays' => ['Kotisap', 'Kotaai', 'Koaeng’', 'Kosomok', 'Koang’wan', 'Komuut', 'Kolo'],
+    'weekdays_short' => ['Kts', 'Kot', 'Koo', 'Kos', 'Koa', 'Kom', 'Kol'],
+    'weekdays_min' => ['Kts', 'Kot', 'Koo', 'Kos', 'Koa', 'Kom', 'Kol'],
+    'months' => ['Mulgul', 'Ng’atyaato', 'Kiptaamo', 'Iwootkuut', 'Mamuut', 'Paagi', 'Ng’eiyeet', 'Rooptui', 'Bureet', 'Epeeso', 'Kipsuunde ne taai', 'Kipsuunde nebo aeng’'],
+    'months_short' => ['Mul', 'Ngat', 'Taa', 'Iwo', 'Mam', 'Paa', 'Nge', 'Roo', 'Bur', 'Epe', 'Kpt', 'Kpa'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count maghatiat', // less reliable
+    'y' => ':count maghatiat', // less reliable
+    'a_year' => ':count maghatiat', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/km.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/km.php
new file mode 100644
index 0000000..da790ac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/km.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kruy Vanna
+ * - Sereysethy Touch
+ * - JD Isaacks
+ * - Sovichet Tep
+ */
+return [
+    'year' => '{1}មួយឆ្នាំ|]1,Inf[:count ឆ្នាំ',
+    'y' => ':count ឆ្នាំ',
+    'month' => '{1}មួយខែ|]1,Inf[:count ខែ',
+    'm' => ':count ខែ',
+    'week' => ':count សប្ដាហ៍',
+    'w' => ':count សប្ដាហ៍',
+    'day' => '{1}មួយថ្ងៃ|]1,Inf[:count ថ្ងៃ',
+    'd' => ':count ថ្ងៃ',
+    'hour' => '{1}មួយម៉ោង|]1,Inf[:count ម៉ោង',
+    'h' => ':count ម៉ោង',
+    'minute' => '{1}មួយនាទី|]1,Inf[:count នាទី',
+    'min' => ':count នាទី',
+    'second' => '{1}ប៉ុន្មានវិនាទី|]1,Inf[:count វិនាទី',
+    's' => ':count វិនាទី',
+    'ago' => ':timeមុន',
+    'from_now' => ':timeទៀត',
+    'after' => 'នៅ​ក្រោយ :time',
+    'before' => 'នៅ​មុន :time',
+    'diff_now' => 'ឥឡូវ',
+    'diff_today' => 'ថ្ងៃនេះ',
+    'diff_today_regexp' => 'ថ្ងៃនេះ(?:\\s+ម៉ោង)?',
+    'diff_yesterday' => 'ម្សិលមិញ',
+    'diff_yesterday_regexp' => 'ម្សិលមិញ(?:\\s+ម៉ោង)?',
+    'diff_tomorrow' => 'ថ្ងៃ​ស្អែក',
+    'diff_tomorrow_regexp' => 'ស្អែក(?:\\s+ម៉ោង)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[ថ្ងៃនេះ ម៉ោង] LT',
+        'nextDay' => '[ស្អែក ម៉ោង] LT',
+        'nextWeek' => 'dddd [ម៉ោង] LT',
+        'lastDay' => '[ម្សិលមិញ ម៉ោង] LT',
+        'lastWeek' => 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => 'ទី:number',
+    'meridiem' => ['ព្រឹក', 'ល្ងាច'],
+    'months' => ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ'],
+    'months_short' => ['មករា', 'កុម្ភៈ', 'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា', 'វិច្ឆិកា', 'ធ្នូ'],
+    'weekdays' => ['អាទិត្យ', 'ច័ន្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍', 'សុក្រ', 'សៅរ៍'],
+    'weekdays_short' => ['អា', 'ច', 'អ', 'ព', 'ព្រ', 'សុ', 'ស'],
+    'weekdays_min' => ['អា', 'ច', 'អ', 'ព', 'ព្រ', 'សុ', 'ស'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', 'និង '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/km_KH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/km_KH.php
new file mode 100644
index 0000000..ef3b415
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/km_KH.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/km.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kn.php
new file mode 100644
index 0000000..0d2ad08
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kn.php
@@ -0,0 +1,75 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - MOHAN M U
+ * - François B
+ * - rajeevnaikte
+ */
+return [
+    'year' => '{1}ಒಂದು ವರ್ಷ|]1,Inf[:count ವರ್ಷ',
+    'month' => '{1}ಒಂದು ತಿಂಗಳು|]1,Inf[:count ತಿಂಗಳು',
+    'week' => '{1}ಒಂದು ವಾರ|]1,Inf[:count ವಾರಗಳು',
+    'day' => '{1}ಒಂದು ದಿನ|]1,Inf[:count ದಿನ',
+    'hour' => '{1}ಒಂದು ಗಂಟೆ|]1,Inf[:count ಗಂಟೆ',
+    'minute' => '{1}ಒಂದು ನಿಮಿಷ|]1,Inf[:count ನಿಮಿಷ',
+    'second' => '{1}ಕೆಲವು ಕ್ಷಣಗಳು|]1,Inf[:count ಸೆಕೆಂಡುಗಳು',
+    'ago' => ':time ಹಿಂದೆ',
+    'from_now' => ':time ನಂತರ',
+    'diff_now' => 'ಈಗ',
+    'diff_today' => 'ಇಂದು',
+    'diff_yesterday' => 'ನಿನ್ನೆ',
+    'diff_tomorrow' => 'ನಾಳೆ',
+    'formats' => [
+        'LT' => 'A h:mm',
+        'LTS' => 'A h:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[ಇಂದು] LT',
+        'nextDay' => '[ನಾಳೆ] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[ನಿನ್ನೆ] LT',
+        'lastWeek' => '[ಕೊನೆಯ] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberನೇ',
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'ರಾತ್ರಿ';
+        }
+        if ($hour < 10) {
+            return 'ಬೆಳಿಗ್ಗೆ';
+        }
+        if ($hour < 17) {
+            return 'ಮಧ್ಯಾಹ್ನ';
+        }
+        if ($hour < 20) {
+            return 'ಸಂಜೆ';
+        }
+
+        return 'ರಾತ್ರಿ';
+    },
+    'months' => ['ಜನವರಿ', 'ಫೆಬ್ರವರಿ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸೆಪ್ಟೆಂಬರ್', 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', 'ಡಿಸೆಂಬರ್'],
+    'months_short' => ['ಜನ', 'ಫೆಬ್ರ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸೆಪ್ಟೆಂ', 'ಅಕ್ಟೋ', 'ನವೆಂ', 'ಡಿಸೆಂ'],
+    'weekdays' => ['ಭಾನುವಾರ', 'ಸೋಮವಾರ', 'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ', 'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'],
+    'weekdays_short' => ['ಭಾನು', 'ಸೋಮ', 'ಮಂಗಳ', 'ಬುಧ', 'ಗುರು', 'ಶುಕ್ರ', 'ಶನಿ'],
+    'weekdays_min' => ['ಭಾ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'],
+    'list' => ', ',
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'weekend' => [0, 0],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kn_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kn_IN.php
new file mode 100644
index 0000000..7c6c909
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kn_IN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/kn.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko.php
new file mode 100644
index 0000000..4fa6237
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko.php
@@ -0,0 +1,91 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kunal Marwaha
+ * - FourwingsY
+ * - François B
+ * - Jason Katz-Brown
+ * - Seokjun Kim
+ * - Junho Kim
+ * - JD Isaacks
+ * - Juwon Kim
+ */
+return [
+    'year' => ':count년',
+    'a_year' => '{1}일년|]1,Inf[:count년',
+    'y' => ':count년',
+    'month' => ':count개월',
+    'a_month' => '{1}한달|]1,Inf[:count개월',
+    'm' => ':count개월',
+    'week' => ':count주',
+    'a_week' => '{1}일주일|]1,Inf[:count 주',
+    'w' => ':count주일',
+    'day' => ':count일',
+    'a_day' => '{1}하루|]1,Inf[:count일',
+    'd' => ':count일',
+    'hour' => ':count시간',
+    'a_hour' => '{1}한시간|]1,Inf[:count시간',
+    'h' => ':count시간',
+    'minute' => ':count분',
+    'a_minute' => '{1}일분|]1,Inf[:count분',
+    'min' => ':count분',
+    'second' => ':count초',
+    'a_second' => '{1}몇초|]1,Inf[:count초',
+    's' => ':count초',
+    'ago' => ':time 전',
+    'from_now' => ':time 후',
+    'after' => ':time 후',
+    'before' => ':time 전',
+    'diff_now' => '지금',
+    'diff_today' => '오늘',
+    'diff_yesterday' => '어제',
+    'diff_tomorrow' => '내일',
+    'formats' => [
+        'LT' => 'A h:mm',
+        'LTS' => 'A h:mm:ss',
+        'L' => 'YYYY.MM.DD.',
+        'LL' => 'YYYY년 MMMM D일',
+        'LLL' => 'YYYY년 MMMM D일 A h:mm',
+        'LLLL' => 'YYYY년 MMMM D일 dddd A h:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '오늘 LT',
+        'nextDay' => '내일 LT',
+        'nextWeek' => 'dddd LT',
+        'lastDay' => '어제 LT',
+        'lastWeek' => '지난주 dddd LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return $number.'일';
+            case 'M':
+                return $number.'월';
+            case 'w':
+            case 'W':
+                return $number.'주';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => ['오전', '오후'],
+    'months' => ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
+    'months_short' => ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
+    'weekdays' => ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
+    'weekdays_short' => ['일', '월', '화', '수', '목', '금', '토'],
+    'weekdays_min' => ['일', '월', '화', '수', '목', '금', '토'],
+    'list' => ' ',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko_KP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko_KP.php
new file mode 100644
index 0000000..55b40fa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko_KP.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ko.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko_KR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko_KR.php
new file mode 100644
index 0000000..d8eba2c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ko_KR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ko.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kok.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kok.php
new file mode 100644
index 0000000..4adcddc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kok.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/kok_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kok_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kok_IN.php
new file mode 100644
index 0000000..92ba844
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kok_IN.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat, Pune    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D-M-YY',
+    ],
+    'months' => ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ओगस्ट', 'सेप्टेंबर', 'ओक्टोबर', 'नोव्हेंबर', 'डिसेंबर'],
+    'months_short' => ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ओगस्ट', 'सेप्टेंबर', 'ओक्टोबर', 'नोव्हेंबर', 'डिसेंबर'],
+    'weekdays' => ['आयतार', 'सोमार', 'मंगळवार', 'बुधवार', 'बेरेसतार', 'शुकरार', 'शेनवार'],
+    'weekdays_short' => ['आयतार', 'सोमार', 'मंगळवार', 'बुधवार', 'बेरेसतार', 'शुकरार', 'शेनवार'],
+    'weekdays_min' => ['आयतार', 'सोमार', 'मंगळवार', 'बुधवार', 'बेरेसतार', 'शुकरार', 'शेनवार'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['म.पू.', 'म.नं.'],
+
+    'year' => ':count वैशाकु', // less reliable
+    'y' => ':count वैशाकु', // less reliable
+    'a_year' => ':count वैशाकु', // less reliable
+
+    'week' => ':count आदित्यवार', // less reliable
+    'w' => ':count आदित्यवार', // less reliable
+    'a_week' => ':count आदित्यवार', // less reliable
+
+    'minute' => ':count नोंद', // less reliable
+    'min' => ':count नोंद', // less reliable
+    'a_minute' => ':count नोंद', // less reliable
+
+    'second' => ':count तेंको', // less reliable
+    's' => ':count तेंको', // less reliable
+    'a_second' => ':count तेंको', // less reliable
+
+    'month' => ':count मैनो',
+    'm' => ':count मैनो',
+    'a_month' => ':count मैनो',
+
+    'day' => ':count दिवसु',
+    'd' => ':count दिवसु',
+    'a_day' => ':count दिवसु',
+
+    'hour' => ':count घंते',
+    'h' => ':count घंते',
+    'a_hour' => ':count घंते',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks.php
new file mode 100644
index 0000000..9876079
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ks_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN.php
new file mode 100644
index 0000000..ce9d5d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat, Pune    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'M/D/YY',
+    ],
+    'months' => ['جنؤری', 'فرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'],
+    'months_short' => ['جنؤری', 'فرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'],
+    'weekdays' => ['آتهوار', 'ژءندروار', 'بوءںوار', 'بودهوار', 'برىسوار', 'جمع', 'بٹوار'],
+    'weekdays_short' => ['آتهوار', 'ژءنتروار', 'بوءںوار', 'بودهوار', 'برىسوار', 'جمع', 'بٹوار'],
+    'weekdays_min' => ['آتهوار', 'ژءنتروار', 'بوءںوار', 'بودهوار', 'برىسوار', 'جمع', 'بٹوار'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['دوپھربرونھ', 'دوپھرپتھ'],
+
+    'year' => ':count آب', // less reliable
+    'y' => ':count آب', // less reliable
+    'a_year' => ':count آب', // less reliable
+
+    'month' => ':count रान्', // less reliable
+    'm' => ':count रान्', // less reliable
+    'a_month' => ':count रान्', // less reliable
+
+    'week' => ':count آتھٕوار', // less reliable
+    'w' => ':count آتھٕوار', // less reliable
+    'a_week' => ':count آتھٕوار', // less reliable
+
+    'hour' => ':count سۄن', // less reliable
+    'h' => ':count سۄن', // less reliable
+    'a_hour' => ':count سۄن', // less reliable
+
+    'minute' => ':count فَن', // less reliable
+    'min' => ':count فَن', // less reliable
+    'a_minute' => ':count فَن', // less reliable
+
+    'second' => ':count दोʼयुम', // less reliable
+    's' => ':count दोʼयुम', // less reliable
+    'a_second' => ':count दोʼयुम', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN@devanagari.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN@devanagari.php
new file mode 100644
index 0000000..a2ae8b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN@devanagari.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - ks-gnome-trans-commits@lists.code.indlinux.net
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'M/D/YY',
+    ],
+    'months' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'months_short' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'weekdays' => ['आथवार', 'चॅ़दुरवार', 'बोमवार', 'ब्वदवार', 'ब्रसवार', 'शोकुरवार', 'बटुवार'],
+    'weekdays_short' => ['आथ ', 'चॅ़दुर', 'बोम', 'ब्वद', 'ब्रस', 'शोकुर', 'बटु'],
+    'weekdays_min' => ['आथ ', 'चॅ़दुर', 'बोम', 'ब्वद', 'ब्रस', 'शोकुर', 'बटु'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksb.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksb.php
new file mode 100644
index 0000000..424099d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksb.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['makeo', 'nyiaghuo'],
+    'weekdays' => ['Jumaapii', 'Jumaatatu', 'Jumaane', 'Jumaatano', 'Alhamisi', 'Ijumaa', 'Jumaamosi'],
+    'weekdays_short' => ['Jpi', 'Jtt', 'Jmn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'weekdays_min' => ['Jpi', 'Jtt', 'Jmn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'months' => ['Januali', 'Febluali', 'Machi', 'Aplili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksf.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksf.php
new file mode 100644
index 0000000..8fb5598
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksf.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['sárúwá', 'cɛɛ́nko'],
+    'weekdays' => ['sɔ́ndǝ', 'lǝndí', 'maadí', 'mɛkrɛdí', 'jǝǝdí', 'júmbá', 'samdí'],
+    'weekdays_short' => ['sɔ́n', 'lǝn', 'maa', 'mɛk', 'jǝǝ', 'júm', 'sam'],
+    'weekdays_min' => ['sɔ́n', 'lǝn', 'maa', 'mɛk', 'jǝǝ', 'júm', 'sam'],
+    'months' => ['ŋwíí a ntɔ́ntɔ', 'ŋwíí akǝ bɛ́ɛ', 'ŋwíí akǝ ráá', 'ŋwíí akǝ nin', 'ŋwíí akǝ táan', 'ŋwíí akǝ táafɔk', 'ŋwíí akǝ táabɛɛ', 'ŋwíí akǝ táaraa', 'ŋwíí akǝ táanin', 'ŋwíí akǝ ntɛk', 'ŋwíí akǝ ntɛk di bɔ́k', 'ŋwíí akǝ ntɛk di bɛ́ɛ'],
+    'months_short' => ['ŋ1', 'ŋ2', 'ŋ3', 'ŋ4', 'ŋ5', 'ŋ6', 'ŋ7', 'ŋ8', 'ŋ9', 'ŋ10', 'ŋ11', 'ŋ12'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksh.php
new file mode 100644
index 0000000..44c60a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ksh.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['v.M.', 'n.M.'],
+    'weekdays' => ['Sunndaach', 'Mohndaach', 'Dinnsdaach', 'Metwoch', 'Dunnersdaach', 'Friidaach', 'Samsdaach'],
+    'weekdays_short' => ['Su.', 'Mo.', 'Di.', 'Me.', 'Du.', 'Fr.', 'Sa.'],
+    'weekdays_min' => ['Su', 'Mo', 'Di', 'Me', 'Du', 'Fr', 'Sa'],
+    'months' => ['Jannewa', 'Fäbrowa', 'Määz', 'Aprell', 'Mai', 'Juuni', 'Juuli', 'Oujoß', 'Septämber', 'Oktohber', 'Novämber', 'Dezämber'],
+    'months_short' => ['Jan', 'Fäb', 'Mäz', 'Apr', 'Mai', 'Jun', 'Jul', 'Ouj', 'Säp', 'Okt', 'Nov', 'Dez'],
+    'months_short_standalone' => ['Jan.', 'Fäb.', 'Mäz.', 'Apr.', 'Mai', 'Jun.', 'Jul.', 'Ouj.', 'Säp.', 'Okt.', 'Nov.', 'Dez.'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D. M. YYYY',
+        'LL' => 'D. MMM. YYYY',
+        'LLL' => 'D. MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, [dä] D. MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count Johr',
+    'y' => ':count Johr',
+    'a_year' => ':count Johr',
+
+    'month' => ':count Moohnd',
+    'm' => ':count Moohnd',
+    'a_month' => ':count Moohnd',
+
+    'week' => ':count woch',
+    'w' => ':count woch',
+    'a_week' => ':count woch',
+
+    'day' => ':count Daach',
+    'd' => ':count Daach',
+    'a_day' => ':count Daach',
+
+    'hour' => ':count Uhr',
+    'h' => ':count Uhr',
+    'a_hour' => ':count Uhr',
+
+    'minute' => ':count Menutt',
+    'min' => ':count Menutt',
+    'a_minute' => ':count Menutt',
+
+    'second' => ':count Sekůndt',
+    's' => ':count Sekůndt',
+    'a_second' => ':count Sekůndt',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ku.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ku.php
new file mode 100644
index 0000000..b001e30
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ku.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Halwest Manguri
+ * - Kardo Qadir
+ */
+$months = ['کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', '‌حوزەیران', 'تەمموز', 'ئاب', 'ئەیلول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم'];
+
+$weekdays = ['دوو شەممە', 'سێ شەممە', 'چوار شەممە', 'پێنج شەممە', 'هەینی', 'شەممە', 'یەک شەممە'];
+
+return [
+    'ago' => 'پێش :time',
+    'from_now' => ':time لە ئێستاوە',
+    'after' => 'دوای :time',
+    'before' => 'پێش :time',
+    'year' => '{0}ساڵ|{1}ساڵێک|{2}٢ ساڵ|[3,10]:count ساڵ|[11,Inf]:count ساڵ',
+    'month' => '{0}مانگ|{1}مانگێک|{2}٢ مانگ|[3,10]:count مانگ|[11,Inf]:count مانگ',
+    'week' => '{0}هەفتە|{1}هەفتەیەک|{2}٢ هەفتە|[3,10]:count هەفتە|[11,Inf]:count هەفتە',
+    'day' => '{0}ڕۆژ|{1}ڕۆژێک|{2}٢ ڕۆژ|[3,10]:count ڕۆژ|[11,Inf]:count ڕۆژ',
+    'hour' => '{0}کاتژمێر|{1}کاتژمێرێک|{2}٢ کاتژمێر|[3,10]:count کاتژمێر|[11,Inf]:count کاتژمێر',
+    'minute' => '{0}خولەک|{1}خولەکێک|{2}٢ خولەک|[3,10]:count خولەک|[11,Inf]:count خولەک',
+    'second' => '{0}چرکە|{1}چرکەیەک|{2}٢ چرکە|[3,10]:count چرکە|[11,Inf]:count چرکە',
+    'months' => $months,
+    'months_standalone' => $months,
+    'months_short' => $months,
+    'weekdays' => $weekdays,
+    'weekdays_short' => $weekdays,
+    'weekdays_min' => $weekdays,
+    'list' => [', ', ' û '],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ku_TR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ku_TR.php
new file mode 100644
index 0000000..11fce2d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ku_TR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ku.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kw.php
new file mode 100644
index 0000000..26e242e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kw.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/kw_GB.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kw_GB.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kw_GB.php
new file mode 100644
index 0000000..00bf52b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/kw_GB.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Alastair McKinstry    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['mis Genver', 'mis Hwevrer', 'mis Meurth', 'mis Ebrel', 'mis Me', 'mis Metheven', 'mis Gortheren', 'mis Est', 'mis Gwynngala', 'mis Hedra', 'mis Du', 'mis Kevardhu'],
+    'months_short' => ['Gen', 'Hwe', 'Meu', 'Ebr', 'Me', 'Met', 'Gor', 'Est', 'Gwn', 'Hed', 'Du', 'Kev'],
+    'weekdays' => ['De Sul', 'De Lun', 'De Merth', 'De Merher', 'De Yow', 'De Gwener', 'De Sadorn'],
+    'weekdays_short' => ['Sul', 'Lun', 'Mth', 'Mhr', 'Yow', 'Gwe', 'Sad'],
+    'weekdays_min' => ['Sul', 'Lun', 'Mth', 'Mhr', 'Yow', 'Gwe', 'Sad'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count bledhen',
+    'y' => ':count bledhen',
+    'a_year' => ':count bledhen',
+
+    'month' => ':count mis',
+    'm' => ':count mis',
+    'a_month' => ':count mis',
+
+    'week' => ':count seythen',
+    'w' => ':count seythen',
+    'a_week' => ':count seythen',
+
+    'day' => ':count dydh',
+    'd' => ':count dydh',
+    'a_day' => ':count dydh',
+
+    'hour' => ':count eur',
+    'h' => ':count eur',
+    'a_hour' => ':count eur',
+
+    'minute' => ':count mynysen',
+    'min' => ':count mynysen',
+    'a_minute' => ':count mynysen',
+
+    'second' => ':count pryjwyth',
+    's' => ':count pryjwyth',
+    'a_second' => ':count pryjwyth',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ky.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ky.php
new file mode 100644
index 0000000..e0d1af1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ky.php
@@ -0,0 +1,106 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - acutexyz
+ * - Josh Soref
+ * - François B
+ * - Chyngyz Arystan uulu
+ * - Chyngyz
+ * - acutexyz
+ * - Josh Soref
+ * - François B
+ * - Chyngyz Arystan uulu
+ */
+return [
+    'year' => ':count жыл',
+    'a_year' => '{1}бир жыл|:count жыл',
+    'y' => ':count жыл',
+    'month' => ':count ай',
+    'a_month' => '{1}бир ай|:count ай',
+    'm' => ':count ай',
+    'week' => ':count апта',
+    'a_week' => '{1}бир апта|:count апта',
+    'w' => ':count апт.',
+    'day' => ':count күн',
+    'a_day' => '{1}бир күн|:count күн',
+    'd' => ':count күн',
+    'hour' => ':count саат',
+    'a_hour' => '{1}бир саат|:count саат',
+    'h' => ':count саат.',
+    'minute' => ':count мүнөт',
+    'a_minute' => '{1}бир мүнөт|:count мүнөт',
+    'min' => ':count мүн.',
+    'second' => ':count секунд',
+    'a_second' => '{1}бирнече секунд|:count секунд',
+    's' => ':count сек.',
+    'ago' => ':time мурун',
+    'from_now' => ':time ичинде',
+    'diff_now' => 'азыр',
+    'diff_today' => 'Бүгүн',
+    'diff_today_regexp' => 'Бүгүн(?:\\s+саат)?',
+    'diff_yesterday' => 'кечээ',
+    'diff_yesterday_regexp' => 'Кече(?:\\s+саат)?',
+    'diff_tomorrow' => 'эртең',
+    'diff_tomorrow_regexp' => 'Эртең(?:\\s+саат)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Бүгүн саат] LT',
+        'nextDay' => '[Эртең саат] LT',
+        'nextWeek' => 'dddd [саат] LT',
+        'lastDay' => '[Кече саат] LT',
+        'lastWeek' => '[Өткен аптанын] dddd [күнү] [саат] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        static $suffixes = [
+            0 => '-чү',
+            1 => '-чи',
+            2 => '-чи',
+            3 => '-чү',
+            4 => '-чү',
+            5 => '-чи',
+            6 => '-чы',
+            7 => '-чи',
+            8 => '-чи',
+            9 => '-чу',
+            10 => '-чу',
+            20 => '-чы',
+            30 => '-чу',
+            40 => '-чы',
+            50 => '-чү',
+            60 => '-чы',
+            70 => '-чи',
+            80 => '-чи',
+            90 => '-чу',
+            100 => '-чү',
+        ];
+
+        return $number.($suffixes[$number] ?? $suffixes[$number % 10] ?? $suffixes[$number >= 100 ? 100 : -1] ?? '');
+    },
+    'months' => ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'],
+    'months_short' => ['янв', 'фев', 'март', 'апр', 'май', 'июнь', 'июль', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+    'weekdays' => ['Жекшемби', 'Дүйшөмбү', 'Шейшемби', 'Шаршемби', 'Бейшемби', 'Жума', 'Ишемби'],
+    'weekdays_short' => ['Жек', 'Дүй', 'Шей', 'Шар', 'Бей', 'Жум', 'Ише'],
+    'weekdays_min' => ['Жк', 'Дй', 'Шй', 'Шр', 'Бй', 'Жм', 'Иш'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => ' ',
+    'meridiem' => ['таңкы', 'түштөн кийинки'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ky_KG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ky_KG.php
new file mode 100644
index 0000000..4426bea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ky_KG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ky.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lag.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lag.php
new file mode 100644
index 0000000..dc959c9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lag.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['TOO', 'MUU'],
+    'weekdays' => ['Jumapíiri', 'Jumatátu', 'Jumaíne', 'Jumatáano', 'Alamíisi', 'Ijumáa', 'Jumamóosi'],
+    'weekdays_short' => ['Píili', 'Táatu', 'Íne', 'Táano', 'Alh', 'Ijm', 'Móosi'],
+    'weekdays_min' => ['Píili', 'Táatu', 'Íne', 'Táano', 'Alh', 'Ijm', 'Móosi'],
+    'months' => ['Kʉfúngatɨ', 'Kʉnaanɨ', 'Kʉkeenda', 'Kwiikumi', 'Kwiinyambála', 'Kwiidwaata', 'Kʉmʉʉnchɨ', 'Kʉvɨɨrɨ', 'Kʉsaatʉ', 'Kwiinyi', 'Kʉsaano', 'Kʉsasatʉ'],
+    'months_short' => ['Fúngatɨ', 'Naanɨ', 'Keenda', 'Ikúmi', 'Inyambala', 'Idwaata', 'Mʉʉnchɨ', 'Vɨɨrɨ', 'Saatʉ', 'Inyi', 'Saano', 'Sasatʉ'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lb.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lb.php
new file mode 100644
index 0000000..db04834
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lb.php
@@ -0,0 +1,85 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Tsutomu Kuroda
+ * - dan-nl
+ * - Simon Lelorrain (slelorrain)
+ */
+return [
+    'year' => ':count Joer',
+    'y' => ':countJ',
+    'month' => ':count Mount|:count Méint',
+    'm' => ':countMo',
+    'week' => ':count Woch|:count Wochen',
+    'w' => ':countWo|:countWo',
+    'day' => ':count Dag|:count Deeg',
+    'd' => ':countD',
+    'hour' => ':count Stonn|:count Stonnen',
+    'h' => ':countSto',
+    'minute' => ':count Minutt|:count Minutten',
+    'min' => ':countM',
+    'second' => ':count Sekonn|:count Sekonnen',
+    's' => ':countSek',
+
+    'ago' => 'virun :time',
+    'from_now' => 'an :time',
+    'before' => ':time virdrun',
+    'after' => ':time duerno',
+
+    'diff_today' => 'Haut',
+    'diff_yesterday' => 'Gëschter',
+    'diff_yesterday_regexp' => 'Gëschter(?:\\s+um)?',
+    'diff_tomorrow' => 'Muer',
+    'diff_tomorrow_regexp' => 'Muer(?:\\s+um)?',
+    'diff_today_regexp' => 'Haut(?:\\s+um)?',
+    'formats' => [
+        'LT' => 'H:mm [Auer]',
+        'LTS' => 'H:mm:ss [Auer]',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY H:mm [Auer]',
+        'LLLL' => 'dddd, D. MMMM YYYY H:mm [Auer]',
+    ],
+
+    'calendar' => [
+        'sameDay' => '[Haut um] LT',
+        'nextDay' => '[Muer um] LT',
+        'nextWeek' => 'dddd [um] LT',
+        'lastDay' => '[Gëschter um] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
+            switch ($date->dayOfWeek) {
+                case 2:
+                case 4:
+                    return '[Leschten] dddd [um] LT';
+                default:
+                    return '[Leschte] dddd [um] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+
+    'months' => ['Januar', 'Februar', 'Mäerz', 'Abrëll', 'Mee', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
+    'months_short' => ['Jan.', 'Febr.', 'Mrz.', 'Abr.', 'Mee', 'Jun.', 'Jul.', 'Aug.', 'Sept.', 'Okt.', 'Nov.', 'Dez.'],
+    'weekdays' => ['Sonndeg', 'Méindeg', 'Dënschdeg', 'Mëttwoch', 'Donneschdeg', 'Freideg', 'Samschdeg'],
+    'weekdays_short' => ['So.', 'Mé.', 'Dë.', 'Më.', 'Do.', 'Fr.', 'Sa.'],
+    'weekdays_min' => ['So', 'Mé', 'Dë', 'Më', 'Do', 'Fr', 'Sa'],
+    'ordinal' => ':number.',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' an '],
+    'meridiem' => ['moies', 'mëttes'],
+    'weekdays_short_standalone' => ['Son', 'Méi', 'Dën', 'Mët', 'Don', 'Fre', 'Sam'],
+    'months_short_standalone' => ['Jan', 'Feb', 'Mäe', 'Abr', 'Mee', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lb_LU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lb_LU.php
new file mode 100644
index 0000000..c8625fe
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lb_LU.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/lb.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lg.php
new file mode 100644
index 0000000..48bc68b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lg.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/lg_UG.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lg_UG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lg_UG.php
new file mode 100644
index 0000000..aa02214
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lg_UG.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Akademe ya Luganda Kizito Birabwa kompyuta@kizito.uklinux.net
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'],
+    'weekdays' => ['Sabiiti', 'Balaza', 'Lwakubiri', 'Lwakusatu', 'Lwakuna', 'Lwakutaano', 'Lwamukaaga'],
+    'weekdays_short' => ['Sab', 'Bal', 'Lw2', 'Lw3', 'Lw4', 'Lw5', 'Lw6'],
+    'weekdays_min' => ['Sab', 'Bal', 'Lw2', 'Lw3', 'Lw4', 'Lw5', 'Lw6'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'month' => ':count njuba', // less reliable
+    'm' => ':count njuba', // less reliable
+    'a_month' => ':count njuba', // less reliable
+
+    'year' => ':count mwaaka',
+    'y' => ':count mwaaka',
+    'a_year' => ':count mwaaka',
+
+    'week' => ':count sabbiiti',
+    'w' => ':count sabbiiti',
+    'a_week' => ':count sabbiiti',
+
+    'day' => ':count lunaku',
+    'd' => ':count lunaku',
+    'a_day' => ':count lunaku',
+
+    'hour' => 'saawa :count',
+    'h' => 'saawa :count',
+    'a_hour' => 'saawa :count',
+
+    'minute' => 'ddakiika :count',
+    'min' => 'ddakiika :count',
+    'a_minute' => 'ddakiika :count',
+
+    'second' => ':count kyʼokubiri',
+    's' => ':count kyʼokubiri',
+    'a_second' => ':count kyʼokubiri',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/li.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/li.php
new file mode 100644
index 0000000..86c3009
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/li.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/li_NL.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/li_NL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/li_NL.php
new file mode 100644
index 0000000..6c5feb7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/li_NL.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandriva.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['jannewarie', 'fibberwarie', 'miert', 'eprèl', 'meij', 'junie', 'julie', 'augustus', 'september', 'oktober', 'november', 'desember'],
+    'months_short' => ['jan', 'fib', 'mie', 'epr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
+    'weekdays' => ['zóndig', 'maondig', 'daensdig', 'goonsdig', 'dónderdig', 'vriedig', 'zaoterdig'],
+    'weekdays_short' => ['zón', 'mao', 'dae', 'goo', 'dón', 'vri', 'zao'],
+    'weekdays_min' => ['zón', 'mao', 'dae', 'goo', 'dón', 'vri', 'zao'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'minute' => ':count momênt', // less reliable
+    'min' => ':count momênt', // less reliable
+    'a_minute' => ':count momênt', // less reliable
+
+    'year' => ':count jaor',
+    'y' => ':count jaor',
+    'a_year' => ':count jaor',
+
+    'month' => ':count maond',
+    'm' => ':count maond',
+    'a_month' => ':count maond',
+
+    'week' => ':count waek',
+    'w' => ':count waek',
+    'a_week' => ':count waek',
+
+    'day' => ':count daag',
+    'd' => ':count daag',
+    'a_day' => ':count daag',
+
+    'hour' => ':count oer',
+    'h' => ':count oer',
+    'a_hour' => ':count oer',
+
+    'second' => ':count Secónd',
+    's' => ':count Secónd',
+    'a_second' => ':count Secónd',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lij.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lij.php
new file mode 100644
index 0000000..45732b5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lij.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/lij_IT.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lij_IT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lij_IT.php
new file mode 100644
index 0000000..f8726fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lij_IT.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Gastaldi    alessio.gastaldi@libero.it
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['zenâ', 'fevrâ', 'marzo', 'avrî', 'mazzo', 'zûgno', 'lûggio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dixembre'],
+    'months_short' => ['zen', 'fev', 'mar', 'arv', 'maz', 'zûg', 'lûg', 'ago', 'set', 'ött', 'nov', 'dix'],
+    'weekdays' => ['domenega', 'lûnedì', 'martedì', 'mercUrdì', 'zêggia', 'venardì', 'sabbo'],
+    'weekdays_short' => ['dom', 'lûn', 'mar', 'mer', 'zêu', 'ven', 'sab'],
+    'weekdays_min' => ['dom', 'lûn', 'mar', 'mer', 'zêu', 'ven', 'sab'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count etæ', // less reliable
+    'y' => ':count etæ', // less reliable
+    'a_year' => ':count etæ', // less reliable
+
+    'month' => ':count meize',
+    'm' => ':count meize',
+    'a_month' => ':count meize',
+
+    'week' => ':count settemannha',
+    'w' => ':count settemannha',
+    'a_week' => ':count settemannha',
+
+    'day' => ':count giorno',
+    'd' => ':count giorno',
+    'a_day' => ':count giorno',
+
+    'hour' => ':count reléuio', // less reliable
+    'h' => ':count reléuio', // less reliable
+    'a_hour' => ':count reléuio', // less reliable
+
+    'minute' => ':count menûo',
+    'min' => ':count menûo',
+    'a_minute' => ':count menûo',
+
+    'second' => ':count segondo',
+    's' => ':count segondo',
+    'a_second' => ':count segondo',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lkt.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lkt.php
new file mode 100644
index 0000000..968b058
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lkt.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+
+    'month' => ':count haŋwí', // less reliable
+    'm' => ':count haŋwí', // less reliable
+    'a_month' => ':count haŋwí', // less reliable
+
+    'week' => ':count šakówiŋ', // less reliable
+    'w' => ':count šakówiŋ', // less reliable
+    'a_week' => ':count šakówiŋ', // less reliable
+
+    'hour' => ':count maza škaŋškaŋ', // less reliable
+    'h' => ':count maza škaŋškaŋ', // less reliable
+    'a_hour' => ':count maza škaŋškaŋ', // less reliable
+
+    'minute' => ':count číkʼala', // less reliable
+    'min' => ':count číkʼala', // less reliable
+    'a_minute' => ':count číkʼala', // less reliable
+
+    'year' => ':count waníyetu',
+    'y' => ':count waníyetu',
+    'a_year' => ':count waníyetu',
+
+    'day' => ':count aŋpétu',
+    'd' => ':count aŋpétu',
+    'a_day' => ':count aŋpétu',
+
+    'second' => ':count icinuŋpa',
+    's' => ':count icinuŋpa',
+    'a_second' => ':count icinuŋpa',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln.php
new file mode 100644
index 0000000..9d5c35d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ubuntu René Manassé GALEKWA renemanasse@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'months' => ['sánzá ya yambo', 'sánzá ya míbalé', 'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno', 'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe', 'sánzá ya libwa', 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kɔ́', 'sánzá ya zómi na míbalé'],
+    'months_short' => ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', 'agt', 'stb', 'ɔtb', 'nvb', 'dsb'],
+    'weekdays' => ['Lomíngo', 'Mosálá mɔ̌kɔ́', 'Misálá míbalé', 'Misálá mísáto', 'Misálá mínei', 'Misálá mítáno', 'Mpɔ́sɔ'],
+    'weekdays_short' => ['m1.', 'm2.', 'm3.', 'm4.', 'm5.', 'm6.', 'm7.'],
+    'weekdays_min' => ['m1.', 'm2.', 'm3.', 'm4.', 'm5.', 'm6.', 'm7.'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => 'mbula :count',
+    'y' => 'mbula :count',
+    'a_year' => 'mbula :count',
+
+    'month' => 'sánzá :count',
+    'm' => 'sánzá :count',
+    'a_month' => 'sánzá :count',
+
+    'week' => 'mpɔ́sɔ :count',
+    'w' => 'mpɔ́sɔ :count',
+    'a_week' => 'mpɔ́sɔ :count',
+
+    'day' => 'mokɔlɔ :count',
+    'd' => 'mokɔlɔ :count',
+    'a_day' => 'mokɔlɔ :count',
+
+    'hour' => 'ngonga :count',
+    'h' => 'ngonga :count',
+    'a_hour' => 'ngonga :count',
+
+    'minute' => 'miniti :count',
+    'min' => 'miniti :count',
+    'a_minute' => 'miniti :count',
+
+    'second' => 'segɔnde :count',
+    's' => 'segɔnde :count',
+    'a_second' => 'segɔnde :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_AO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_AO.php
new file mode 100644
index 0000000..e244096
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_AO.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ln.php', [
+    'weekdays' => ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', 'mpɔ́sɔ'],
+    'weekdays_short' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'],
+    'weekdays_min' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'],
+    'meridiem' => ['ntɔ́ngɔ́', 'mpókwa'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CD.php
new file mode 100644
index 0000000..13635fc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CD.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ubuntu René Manassé GALEKWA renemanasse@gmail.com
+ */
+return require __DIR__.'/ln.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CF.php
new file mode 100644
index 0000000..e244096
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CF.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ln.php', [
+    'weekdays' => ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', 'mpɔ́sɔ'],
+    'weekdays_short' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'],
+    'weekdays_min' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'],
+    'meridiem' => ['ntɔ́ngɔ́', 'mpókwa'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CG.php
new file mode 100644
index 0000000..e244096
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ln_CG.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ln.php', [
+    'weekdays' => ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé', 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno', 'mpɔ́sɔ'],
+    'weekdays_short' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'],
+    'weekdays_min' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'],
+    'meridiem' => ['ntɔ́ngɔ́', 'mpókwa'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lo.php
new file mode 100644
index 0000000..48715f5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lo.php
@@ -0,0 +1,62 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - ryanhart2
+ */
+return [
+    'year' => ':count ປີ',
+    'y' => ':count ປີ',
+    'month' => ':count ເດືອນ',
+    'm' => ':count ດ. ',
+    'week' => ':count ອາທິດ',
+    'w' => ':count ອທ. ',
+    'day' => ':count ມື້',
+    'd' => ':count ມື້',
+    'hour' => ':count ຊົ່ວໂມງ',
+    'h' => ':count ຊມ. ',
+    'minute' => ':count ນາທີ',
+    'min' => ':count ນທ. ',
+    'second' => '{1}ບໍ່ເທົ່າໃດວິນາທີ|]1,Inf[:count ວິນາທີ',
+    's' => ':count ວິ. ',
+    'ago' => ':timeຜ່ານມາ',
+    'from_now' => 'ອີກ :time',
+    'diff_now' => 'ຕອນນີ້',
+    'diff_today' => 'ມື້ນີ້ເວລາ',
+    'diff_yesterday' => 'ມື້ວານນີ້ເວລາ',
+    'diff_tomorrow' => 'ມື້ອື່ນເວລາ',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'ວັນdddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[ມື້ນີ້ເວລາ] LT',
+        'nextDay' => '[ມື້ອື່ນເວລາ] LT',
+        'nextWeek' => '[ວັນ]dddd[ໜ້າເວລາ] LT',
+        'lastDay' => '[ມື້ວານນີ້ເວລາ] LT',
+        'lastWeek' => '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => 'ທີ່:number',
+    'meridiem' => ['ຕອນເຊົ້າ', 'ຕອນແລງ'],
+    'months' => ['ມັງກອນ', 'ກຸມພາ', 'ມີນາ', 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', 'ກໍລະກົດ', 'ສິງຫາ', 'ກັນຍາ', 'ຕຸລາ', 'ພະຈິກ', 'ທັນວາ'],
+    'months_short' => ['ມັງກອນ', 'ກຸມພາ', 'ມີນາ', 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', 'ກໍລະກົດ', 'ສິງຫາ', 'ກັນຍາ', 'ຕຸລາ', 'ພະຈິກ', 'ທັນວາ'],
+    'weekdays' => ['ອາທິດ', 'ຈັນ', 'ອັງຄານ', 'ພຸດ', 'ພະຫັດ', 'ສຸກ', 'ເສົາ'],
+    'weekdays_short' => ['ທິດ', 'ຈັນ', 'ອັງຄານ', 'ພຸດ', 'ພະຫັດ', 'ສຸກ', 'ເສົາ'],
+    'weekdays_min' => ['ທ', 'ຈ', 'ອຄ', 'ພ', 'ພຫ', 'ສກ', 'ສ'],
+    'list' => [', ', 'ແລະ '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lo_LA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lo_LA.php
new file mode 100644
index 0000000..c0a1d6b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lo_LA.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/lo.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lrc.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lrc.php
new file mode 100644
index 0000000..10661bb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lrc.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+
+    'minute' => ':count هنر', // less reliable
+    'min' => ':count هنر', // less reliable
+    'a_minute' => ':count هنر', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lrc_IQ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lrc_IQ.php
new file mode 100644
index 0000000..449d863
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lrc_IQ.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/lrc.php', [
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lt.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lt.php
new file mode 100644
index 0000000..7d1b6f7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lt.php
@@ -0,0 +1,135 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Tsutomu Kuroda
+ * - tjku
+ * - valdas406
+ * - Justas Palumickas
+ * - Max Melentiev
+ * - Andrius Janauskas
+ * - Juanito Fatas
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Nicolás Hock Isaza
+ * - Laurynas Butkus
+ * - Sven Fuchs
+ * - Dominykas Tijūnaitis
+ * - Justinas Bolys
+ * - Ričardas
+ * - Kirill Chalkin
+ * - Rolandas
+ * - Justinas (Gamesh)
+ */
+return [
+    'year' => ':count metai|:count metai|:count metų',
+    'y' => ':count m.',
+    'month' => ':count mėnuo|:count mėnesiai|:count mėnesį',
+    'm' => ':count mėn.',
+    'week' => ':count savaitė|:count savaitės|:count savaitę',
+    'w' => ':count sav.',
+    'day' => ':count diena|:count dienos|:count dienų',
+    'd' => ':count d.',
+    'hour' => ':count valanda|:count valandos|:count valandų',
+    'h' => ':count val.',
+    'minute' => ':count minutė|:count minutės|:count minutę',
+    'min' => ':count min.',
+    'second' => ':count sekundė|:count sekundės|:count sekundžių',
+    's' => ':count sek.',
+
+    'year_ago' => ':count metus|:count metus|:count metų',
+    'month_ago' => ':count mėnesį|:count mėnesius|:count mėnesių',
+    'week_ago' => ':count savaitę|:count savaites|:count savaičių',
+    'day_ago' => ':count dieną|:count dienas|:count dienų',
+    'hour_ago' => ':count valandą|:count valandas|:count valandų',
+    'minute_ago' => ':count minutę|:count minutes|:count minučių',
+    'second_ago' => ':count sekundę|:count sekundes|:count sekundžių',
+
+    'year_from_now' => ':count metų',
+    'month_from_now' => ':count mėnesio|:count mėnesių|:count mėnesių',
+    'week_from_now' => ':count savaitės|:count savaičių|:count savaičių',
+    'day_from_now' => ':count dienos|:count dienų|:count dienų',
+    'hour_from_now' => ':count valandos|:count valandų|:count valandų',
+    'minute_from_now' => ':count minutės|:count minučių|:count minučių',
+    'second_from_now' => ':count sekundės|:count sekundžių|:count sekundžių',
+
+    'year_after' => ':count metų',
+    'month_after' => ':count mėnesio|:count mėnesių|:count mėnesių',
+    'week_after' => ':count savaitės|:count savaičių|:count savaičių',
+    'day_after' => ':count dienos|:count dienų|:count dienų',
+    'hour_after' => ':count valandos|:count valandų|:count valandų',
+    'minute_after' => ':count minutės|:count minučių|:count minučių',
+    'second_after' => ':count sekundės|:count sekundžių|:count sekundžių',
+
+    'ago' => 'prieš :time',
+    'from_now' => ':time nuo dabar',
+    'after' => 'po :time',
+    'before' => 'už :time',
+
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'diff_now' => 'ką tik',
+    'diff_today' => 'Šiandien',
+    'diff_yesterday' => 'vakar',
+    'diff_yesterday_regexp' => 'Vakar',
+    'diff_tomorrow' => 'rytoj',
+    'diff_tomorrow_regexp' => 'Rytoj',
+    'diff_before_yesterday' => 'užvakar',
+    'diff_after_tomorrow' => 'poryt',
+
+    'period_recurrences' => 'kartą|:count kartų',
+    'period_interval' => 'kiekvieną :interval',
+    'period_start_date' => 'nuo :date',
+    'period_end_date' => 'iki :date',
+
+    'months' => ['sausio', 'vasario', 'kovo', 'balandžio', 'gegužės', 'birželio', 'liepos', 'rugpjūčio', 'rugsėjo', 'spalio', 'lapkričio', 'gruodžio'],
+    'months_standalone' => ['sausis', 'vasaris', 'kovas', 'balandis', 'gegužė', 'birželis', 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis', 'lapkritis', 'gruodis'],
+    'months_regexp' => '/(L{2,4}|D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?)/',
+    'months_short' => ['sau', 'vas', 'kov', 'bal', 'geg', 'bir', 'lie', 'rgp', 'rgs', 'spa', 'lap', 'gru'],
+    'weekdays' => ['sekmadienį', 'pirmadienį', 'antradienį', 'trečiadienį', 'ketvirtadienį', 'penktadienį', 'šeštadienį'],
+    'weekdays_standalone' => ['sekmadienis', 'pirmadienis', 'antradienis', 'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis'],
+    'weekdays_short' => ['sek', 'pir', 'ant', 'tre', 'ket', 'pen', 'šeš'],
+    'weekdays_min' => ['se', 'pi', 'an', 'tr', 'ke', 'pe', 'še'],
+    'list' => [', ', ' ir '],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'MMMM DD, YYYY',
+        'LLL' => 'DD MMM HH:mm',
+        'LLLL' => 'MMMM DD, YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Šiandien] LT',
+        'nextDay' => '[Rytoj] LT',
+        'nextWeek' => 'dddd LT',
+        'lastDay' => '[Vakar] LT',
+        'lastWeek' => '[Paskutinį] dddd LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        switch ($number) {
+            case 0:
+                return '0-is';
+            case 3:
+                return '3-ias';
+            default:
+                return "$number-as";
+        }
+    },
+    'meridiem' => ['priešpiet', 'popiet'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lt_LT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lt_LT.php
new file mode 100644
index 0000000..c3087f4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lt_LT.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/lt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lu.php
new file mode 100644
index 0000000..8dab541
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lu.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Dinda', 'Dilolo'],
+    'weekdays' => ['Lumingu', 'Nkodya', 'Ndàayà', 'Ndangù', 'Njòwa', 'Ngòvya', 'Lubingu'],
+    'weekdays_short' => ['Lum', 'Nko', 'Ndy', 'Ndg', 'Njw', 'Ngv', 'Lub'],
+    'weekdays_min' => ['Lum', 'Nko', 'Ndy', 'Ndg', 'Njw', 'Ngv', 'Lub'],
+    'months' => ['Ciongo', 'Lùishi', 'Lusòlo', 'Mùuyà', 'Lumùngùlù', 'Lufuimi', 'Kabàlàshìpù', 'Lùshìkà', 'Lutongolo', 'Lungùdi', 'Kaswèkèsè', 'Ciswà'],
+    'months_short' => ['Cio', 'Lui', 'Lus', 'Muu', 'Lum', 'Luf', 'Kab', 'Lush', 'Lut', 'Lun', 'Kas', 'Cis'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/luo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/luo.php
new file mode 100644
index 0000000..201ca96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/luo.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['OD', 'OT'],
+    'weekdays' => ['Jumapil', 'Wuok Tich', 'Tich Ariyo', 'Tich Adek', 'Tich Ang’wen', 'Tich Abich', 'Ngeso'],
+    'weekdays_short' => ['JMP', 'WUT', 'TAR', 'TAD', 'TAN', 'TAB', 'NGS'],
+    'weekdays_min' => ['JMP', 'WUT', 'TAR', 'TAD', 'TAN', 'TAB', 'NGS'],
+    'months' => ['Dwe mar Achiel', 'Dwe mar Ariyo', 'Dwe mar Adek', 'Dwe mar Ang’wen', 'Dwe mar Abich', 'Dwe mar Auchiel', 'Dwe mar Abiriyo', 'Dwe mar Aboro', 'Dwe mar Ochiko', 'Dwe mar Apar', 'Dwe mar gi achiel', 'Dwe mar Apar gi ariyo'],
+    'months_short' => ['DAC', 'DAR', 'DAD', 'DAN', 'DAH', 'DAU', 'DAO', 'DAB', 'DOC', 'DAP', 'DGI', 'DAG'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'year' => 'higni :count',
+    'y' => 'higni :count',
+    'a_year' => ':higni :count',
+
+    'month' => 'dweche :count',
+    'm' => 'dweche :count',
+    'a_month' => 'dweche :count',
+
+    'week' => 'jumbe :count',
+    'w' => 'jumbe :count',
+    'a_week' => 'jumbe :count',
+
+    'day' => 'ndalo :count',
+    'd' => 'ndalo :count',
+    'a_day' => 'ndalo :count',
+
+    'hour' => 'seche :count',
+    'h' => 'seche :count',
+    'a_hour' => 'seche :count',
+
+    'minute' => 'dakika :count',
+    'min' => 'dakika :count',
+    'a_minute' => 'dakika :count',
+
+    'second' => 'nus dakika :count',
+    's' => 'nus dakika :count',
+    'a_second' => 'nus dakika :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/luy.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/luy.php
new file mode 100644
index 0000000..5219125
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/luy.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['Jumapiri', 'Jumatatu', 'Jumanne', 'Jumatano', 'Murwa wa Kanne', 'Murwa wa Katano', 'Jumamosi'],
+    'weekdays_short' => ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'],
+    'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    // Too unreliable
+    /*
+    'year' => ':count liliino', // less reliable
+    'y' => ':count liliino', // less reliable
+    'a_year' => ':count liliino', // less reliable
+
+    'month' => ':count kumwesi', // less reliable
+    'm' => ':count kumwesi', // less reliable
+    'a_month' => ':count kumwesi', // less reliable
+
+    'week' => ':count olutambi', // less reliable
+    'w' => ':count olutambi', // less reliable
+    'a_week' => ':count olutambi', // less reliable
+
+    'day' => ':count luno', // less reliable
+    'd' => ':count luno', // less reliable
+    'a_day' => ':count luno', // less reliable
+
+    'hour' => ':count ekengele', // less reliable
+    'h' => ':count ekengele', // less reliable
+    'a_hour' => ':count ekengele', // less reliable
+
+    'minute' => ':count omundu', // less reliable
+    'min' => ':count omundu', // less reliable
+    'a_minute' => ':count omundu', // less reliable
+
+    'second' => ':count liliino', // less reliable
+    's' => ':count liliino', // less reliable
+    'a_second' => ':count liliino', // less reliable
+    */
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lv.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lv.php
new file mode 100644
index 0000000..724b58d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lv.php
@@ -0,0 +1,173 @@
+<?php
+
+use Carbon\CarbonInterface;
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - pirminis
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Andris Zāģeris
+ * - Max Melentiev
+ * - Edgars Beigarts
+ * - Juanito Fatas
+ * - Vitauts Stočka
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Kaspars Bankovskis
+ * - Nicolás Hock Isaza
+ * - Viesturs Kavacs (Kavacky)
+ * - zakse
+ * - Janis Eglitis (janiseglitis)
+ * - Guntars
+ * - Juris Sudmalis
+ */
+$daysOfWeek = ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena', 'ceturtdiena', 'piektdiena', 'sestdiena'];
+$daysOfWeekLocativum = ['svētdien', 'pirmdien', 'otrdien', 'trešdien', 'ceturtdien', 'piektdien', 'sestdien'];
+
+$transformDiff = function ($input) {
+    return strtr($input, [
+        // Nominative => "pirms/pēc" Dative
+        'gads' => 'gada',
+        'gadi' => 'gadiem',
+        'gadu' => 'gadiem',
+        'mēnesis' => 'mēneša',
+        'mēneši' => 'mēnešiem',
+        'mēnešu' => 'mēnešiem',
+        'nedēļa' => 'nedēļas',
+        'nedēļas' => 'nedēļām',
+        'nedēļu' => 'nedēļām',
+        'diena' => 'dienas',
+        'dienas' => 'dienām',
+        'dienu' => 'dienām',
+        'stunda' => 'stundas',
+        'stundas' => 'stundām',
+        'stundu' => 'stundām',
+        'minūte' => 'minūtes',
+        'minūtes' => 'minūtēm',
+        'minūšu' => 'minūtēm',
+        'sekunde' => 'sekundes',
+        'sekundes' => 'sekundēm',
+        'sekunžu' => 'sekundēm',
+    ]);
+};
+
+return [
+    'ago' => function ($time) use ($transformDiff) {
+        return 'pirms '.$transformDiff($time);
+    },
+    'from_now' => function ($time) use ($transformDiff) {
+        return 'pēc '.$transformDiff($time);
+    },
+
+    'year' => '0 gadu|:count gads|:count gadi',
+    'y' => ':count g.',
+    'a_year' => '{1}gads|0 gadu|:count gads|:count gadi',
+    'month' => '0 mēnešu|:count mēnesis|:count mēneši',
+    'm' => ':count mēn.',
+    'a_month' => '{1}mēnesis|0 mēnešu|:count mēnesis|:count mēneši',
+    'week' => '0 nedēļu|:count nedēļa|:count nedēļas',
+    'w' => ':count ned.',
+    'a_week' => '{1}nedēļa|0 nedēļu|:count nedēļa|:count nedēļas',
+    'day' => '0 dienu|:count diena|:count dienas',
+    'd' => ':count d.',
+    'a_day' => '{1}diena|0 dienu|:count diena|:count dienas',
+    'hour' => '0 stundu|:count stunda|:count stundas',
+    'h' => ':count st.',
+    'a_hour' => '{1}stunda|0 stundu|:count stunda|:count stundas',
+    'minute' => '0 minūšu|:count minūte|:count minūtes',
+    'min' => ':count min.',
+    'a_minute' => '{1}minūte|0 minūšu|:count minūte|:count minūtes',
+    'second' => '0 sekunžu|:count sekunde|:count sekundes',
+    's' => ':count sek.',
+    'a_second' => '{1}sekunde|0 sekunžu|:count sekunde|:count sekundes',
+
+    'after' => ':time vēlāk',
+    'year_after' => '0 gadus|:count gadu|:count gadus',
+    'a_year_after' => '{1}gadu|0 gadus|:count gadu|:count gadus',
+    'month_after' => '0 mēnešus|:count mēnesi|:count mēnešus',
+    'a_month_after' => '{1}mēnesi|0 mēnešus|:count mēnesi|:count mēnešus',
+    'week_after' => '0 nedēļas|:count nedēļu|:count nedēļas',
+    'a_week_after' => '{1}nedēļu|0 nedēļas|:count nedēļu|:count nedēļas',
+    'day_after' => '0 dienas|:count dienu|:count dienas',
+    'a_day_after' => '{1}dienu|0 dienas|:count dienu|:count dienas',
+    'hour_after' => '0 stundas|:count stundu|:count stundas',
+    'a_hour_after' => '{1}stundu|0 stundas|:count stundu|:count stundas',
+    'minute_after' => '0 minūtes|:count minūti|:count minūtes',
+    'a_minute_after' => '{1}minūti|0 minūtes|:count minūti|:count minūtes',
+    'second_after' => '0 sekundes|:count sekundi|:count sekundes',
+    'a_second_after' => '{1}sekundi|0 sekundes|:count sekundi|:count sekundes',
+
+    'before' => ':time agrāk',
+    'year_before' => '0 gadus|:count gadu|:count gadus',
+    'a_year_before' => '{1}gadu|0 gadus|:count gadu|:count gadus',
+    'month_before' => '0 mēnešus|:count mēnesi|:count mēnešus',
+    'a_month_before' => '{1}mēnesi|0 mēnešus|:count mēnesi|:count mēnešus',
+    'week_before' => '0 nedēļas|:count nedēļu|:count nedēļas',
+    'a_week_before' => '{1}nedēļu|0 nedēļas|:count nedēļu|:count nedēļas',
+    'day_before' => '0 dienas|:count dienu|:count dienas',
+    'a_day_before' => '{1}dienu|0 dienas|:count dienu|:count dienas',
+    'hour_before' => '0 stundas|:count stundu|:count stundas',
+    'a_hour_before' => '{1}stundu|0 stundas|:count stundu|:count stundas',
+    'minute_before' => '0 minūtes|:count minūti|:count minūtes',
+    'a_minute_before' => '{1}minūti|0 minūtes|:count minūti|:count minūtes',
+    'second_before' => '0 sekundes|:count sekundi|:count sekundes',
+    'a_second_before' => '{1}sekundi|0 sekundes|:count sekundi|:count sekundes',
+
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' un '],
+
+    'diff_now' => 'tagad',
+    'diff_today' => 'šodien',
+    'diff_yesterday' => 'vakar',
+    'diff_before_yesterday' => 'aizvakar',
+    'diff_tomorrow' => 'rīt',
+    'diff_after_tomorrow' => 'parīt',
+
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY.',
+        'LL' => 'YYYY. [gada] D. MMMM',
+        'LLL' => 'DD.MM.YYYY., HH:mm',
+        'LLLL' => 'YYYY. [gada] D. MMMM, HH:mm',
+    ],
+
+    'calendar' => [
+        'sameDay' => '[šodien] [plkst.] LT',
+        'nextDay' => '[rīt] [plkst.] LT',
+        'nextWeek' => function (CarbonInterface $current, CarbonInterface $other) use ($daysOfWeekLocativum) {
+            if ($current->week !== $other->week) {
+                return '[nākošo] ['.$daysOfWeekLocativum[$current->dayOfWeek].'] [plkst.] LT';
+            }
+
+            return '['.$daysOfWeekLocativum[$current->dayOfWeek].'] [plkst.] LT';
+        },
+        'lastDay' => '[vakar] [plkst.] LT',
+        'lastWeek' => function (CarbonInterface $current) use ($daysOfWeekLocativum) {
+            return '[pagājušo] ['.$daysOfWeekLocativum[$current->dayOfWeek].'] [plkst.] LT';
+        },
+        'sameElse' => 'L',
+    ],
+
+    'weekdays' => $daysOfWeek,
+    'weekdays_short' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'],
+    'weekdays_min' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'],
+    'months' => ['janvārī', 'februārī', 'martā', 'aprīlī', 'maijā', 'jūnijā', 'jūlijā', 'augustā', 'septembrī', 'oktobrī', 'novembrī', 'decembrī'],
+    'months_short' => ['Janv', 'Feb', 'Mar', 'Apr', 'Mai', 'Jūn', 'Jūl', 'Aug', 'Sept', 'Okt', 'Nov', 'Dec'],
+    'meridiem' => ['priekšpusdiena', 'pēcpusdiena'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lv_LV.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lv_LV.php
new file mode 100644
index 0000000..46c0f43
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lv_LV.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/lv.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lzh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lzh.php
new file mode 100644
index 0000000..1180c6b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lzh.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/lzh_TW.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lzh_TW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lzh_TW.php
new file mode 100644
index 0000000..3b1493e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/lzh_TW.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'OY[年]MMMMOD[日]',
+    ],
+    'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'months_short' => [' 一 ', ' 二 ', ' 三 ', ' 四 ', ' 五 ', ' 六 ', ' 七 ', ' 八 ', ' 九 ', ' 十 ', '十一', '十二'],
+    'weekdays' => ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
+    'weekdays_short' => ['日', '一', '二', '三', '四', '五', '六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'day_of_first_week_of_year' => 1,
+    'alt_numbers' => ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二', '十三', '十四', '十五', '十六', '十七', '十八', '十九', '廿', '廿一', '廿二', '廿三', '廿四', '廿五', '廿六', '廿七', '廿八', '廿九', '卅', '卅一'],
+    'meridiem' => ['朝', '暮'],
+
+    'year' => ':count 夏', // less reliable
+    'y' => ':count 夏', // less reliable
+    'a_year' => ':count 夏', // less reliable
+
+    'month' => ':count 月', // less reliable
+    'm' => ':count 月', // less reliable
+    'a_month' => ':count 月', // less reliable
+
+    'hour' => ':count 氧', // less reliable
+    'h' => ':count 氧', // less reliable
+    'a_hour' => ':count 氧', // less reliable
+
+    'minute' => ':count 點', // less reliable
+    'min' => ':count 點', // less reliable
+    'a_minute' => ':count 點', // less reliable
+
+    'second' => ':count 楚', // less reliable
+    's' => ':count 楚', // less reliable
+    'a_second' => ':count 楚', // less reliable
+
+    'week' => ':count 星期',
+    'w' => ':count 星期',
+    'a_week' => ':count 星期',
+
+    'day' => ':count 日(曆法)',
+    'd' => ':count 日(曆法)',
+    'a_day' => ':count 日(曆法)',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mag.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mag.php
new file mode 100644
index 0000000..7532436
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mag.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/mag_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mag_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mag_IN.php
new file mode 100644
index 0000000..193f67a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mag_IN.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bhashaghar@googlegroups.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'months_short' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'weekdays' => ['एतवार', 'सोमार', 'मंगर', 'बुध', 'बिफे', 'सूक', 'सनिचर'],
+    'weekdays_short' => ['एतवार', 'सोमार', 'मंगर', 'बुध', 'बिफे', 'सूक', 'सनिचर'],
+    'weekdays_min' => ['एतवार', 'सोमार', 'मंगर', 'बुध', 'बिफे', 'सूक', 'सनिचर'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mai.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mai.php
new file mode 100644
index 0000000..792b973
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mai.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/mai_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mai_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mai_IN.php
new file mode 100644
index 0000000..03049d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mai_IN.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Maithili Computing Research Center, Pune, India    rajeshkajha@yahoo.com,akhilesh.k@samusng.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['बैसाख', 'जेठ', 'अषाढ़', 'सावोन', 'भादो', 'आसिन', 'कातिक', 'अगहन', 'पूस', 'माघ', 'फागुन', 'चैति'],
+    'months_short' => ['बैसाख', 'जेठ', 'अषाढ़', 'सावोन', 'भादो', 'आसिन', 'कातिक', 'अगहन', 'पूस', 'माघ', 'फागुन', 'चैति'],
+    'weekdays' => ['रविदिन', 'सोमदिन', 'मंगलदिन', 'बुधदिन', 'बृहस्पतीदिन', 'शुक्रदिन', 'शनीदिन'],
+    'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बुध', 'बृहस्पती', 'शुक्र', 'शनी'],
+    'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बुध', 'बृहस्पती', 'शुक्र', 'शनी'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+
+    'year' => ':count ऋतु', // less reliable
+    'y' => ':count ऋतु', // less reliable
+    'a_year' => ':count ऋतु', // less reliable
+
+    'month' => ':count महिना',
+    'm' => ':count महिना',
+    'a_month' => ':count महिना',
+
+    'week' => ':count श्रेणी:क्यालेन्डर', // less reliable
+    'w' => ':count श्रेणी:क्यालेन्डर', // less reliable
+    'a_week' => ':count श्रेणी:क्यालेन्डर', // less reliable
+
+    'day' => ':count दिन',
+    'd' => ':count दिन',
+    'a_day' => ':count दिन',
+
+    'hour' => ':count घण्टा',
+    'h' => ':count घण्टा',
+    'a_hour' => ':count घण्टा',
+
+    'minute' => ':count समय', // less reliable
+    'min' => ':count समय', // less reliable
+    'a_minute' => ':count समय', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mas.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mas.php
new file mode 100644
index 0000000..723ae67
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mas.php
@@ -0,0 +1,50 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Ɛnkakɛnyá', 'Ɛndámâ'],
+    'weekdays' => ['Jumapílí', 'Jumatátu', 'Jumane', 'Jumatánɔ', 'Alaámisi', 'Jumáa', 'Jumamósi'],
+    'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'months' => ['Oladalʉ́', 'Arát', 'Ɔɛnɨ́ɔɨŋɔk', 'Olodoyíóríê inkókúâ', 'Oloilépūnyīē inkókúâ', 'Kújúɔrɔk', 'Mórusásin', 'Ɔlɔ́ɨ́bɔ́rárɛ', 'Kúshîn', 'Olgísan', 'Pʉshʉ́ka', 'Ntʉ́ŋʉ́s'],
+    'months_short' => ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', 'Bɔ́r', 'Kús', 'Gís', 'Shʉ́', 'Ntʉ́'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count olameyu', // less reliable
+    'y' => ':count olameyu', // less reliable
+    'a_year' => ':count olameyu', // less reliable
+
+    'week' => ':count engolongeare orwiki', // less reliable
+    'w' => ':count engolongeare orwiki', // less reliable
+    'a_week' => ':count engolongeare orwiki', // less reliable
+
+    'hour' => ':count esahabu', // less reliable
+    'h' => ':count esahabu', // less reliable
+    'a_hour' => ':count esahabu', // less reliable
+
+    'second' => ':count are', // less reliable
+    's' => ':count are', // less reliable
+    'a_second' => ':count are', // less reliable
+
+    'month' => ':count olapa',
+    'm' => ':count olapa',
+    'a_month' => ':count olapa',
+
+    'day' => ':count enkolongʼ',
+    'd' => ':count enkolongʼ',
+    'a_day' => ':count enkolongʼ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mas_TZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mas_TZ.php
new file mode 100644
index 0000000..aa382b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mas_TZ.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/mas.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mer.php
new file mode 100644
index 0000000..cb7ba8d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mer.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['RŨ', 'ŨG'],
+    'weekdays' => ['Kiumia', 'Muramuko', 'Wairi', 'Wethatu', 'Wena', 'Wetano', 'Jumamosi'],
+    'weekdays_short' => ['KIU', 'MRA', 'WAI', 'WET', 'WEN', 'WTN', 'JUM'],
+    'weekdays_min' => ['KIU', 'MRA', 'WAI', 'WET', 'WEN', 'WTN', 'JUM'],
+    'months' => ['Januarĩ', 'Feburuarĩ', 'Machi', 'Ĩpurũ', 'Mĩĩ', 'Njuni', 'Njuraĩ', 'Agasti', 'Septemba', 'Oktũba', 'Novemba', 'Dicemba'],
+    'months_short' => ['JAN', 'FEB', 'MAC', 'ĨPU', 'MĨĨ', 'NJU', 'NJR', 'AGA', 'SPT', 'OKT', 'NOV', 'DEC'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count murume', // less reliable
+    'y' => ':count murume', // less reliable
+    'a_year' => ':count murume', // less reliable
+
+    'month' => ':count muchaara', // less reliable
+    'm' => ':count muchaara', // less reliable
+    'a_month' => ':count muchaara', // less reliable
+
+    'minute' => ':count monto', // less reliable
+    'min' => ':count monto', // less reliable
+    'a_minute' => ':count monto', // less reliable
+
+    'second' => ':count gikeno', // less reliable
+    's' => ':count gikeno', // less reliable
+    'a_second' => ':count gikeno', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mfe.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mfe.php
new file mode 100644
index 0000000..4d6e6b6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mfe.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/mfe_MU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mfe_MU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mfe_MU.php
new file mode 100644
index 0000000..2d27b45
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mfe_MU.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Samsung Electronics Co., Ltd.    akhilesh.k@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['zanvie', 'fevriye', 'mars', 'avril', 'me', 'zin', 'zilye', 'out', 'septam', 'oktob', 'novam', 'desam'],
+    'months_short' => ['zan', 'fev', 'mar', 'avr', 'me', 'zin', 'zil', 'out', 'sep', 'okt', 'nov', 'des'],
+    'weekdays' => ['dimans', 'lindi', 'mardi', 'merkredi', 'zedi', 'vandredi', 'samdi'],
+    'weekdays_short' => ['dim', 'lin', 'mar', 'mer', 'ze', 'van', 'sam'],
+    'weekdays_min' => ['dim', 'lin', 'mar', 'mer', 'ze', 'van', 'sam'],
+
+    'year' => ':count banané',
+    'y' => ':count banané',
+    'a_year' => ':count banané',
+
+    'month' => ':count mwa',
+    'm' => ':count mwa',
+    'a_month' => ':count mwa',
+
+    'week' => ':count sémenn',
+    'w' => ':count sémenn',
+    'a_week' => ':count sémenn',
+
+    'day' => ':count zour',
+    'd' => ':count zour',
+    'a_day' => ':count zour',
+
+    'hour' => ':count -er-tan',
+    'h' => ':count -er-tan',
+    'a_hour' => ':count -er-tan',
+
+    'minute' => ':count minitt',
+    'min' => ':count minitt',
+    'a_minute' => ':count minitt',
+
+    'second' => ':count déziém',
+    's' => ':count déziém',
+    'a_second' => ':count déziém',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mg.php
new file mode 100644
index 0000000..40bc2a8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mg.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/mg_MG.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mg_MG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mg_MG.php
new file mode 100644
index 0000000..6a14535
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mg_MG.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - The Debian Project modified by GNU//Linux Malagasy Rado Ramarotafika,Do-Risika RAFIEFERANTSIARONJY rado@linuxmg.org,dourix@free.fr
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Janoary', 'Febroary', 'Martsa', 'Aprily', 'Mey', 'Jona', 'Jolay', 'Aogositra', 'Septambra', 'Oktobra', 'Novambra', 'Desambra'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mey', 'Jon', 'Jol', 'Aog', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['alahady', 'alatsinainy', 'talata', 'alarobia', 'alakamisy', 'zoma', 'sabotsy'],
+    'weekdays_short' => ['lhd', 'lts', 'tlt', 'lrb', 'lkm', 'zom', 'sab'],
+    'weekdays_min' => ['lhd', 'lts', 'tlt', 'lrb', 'lkm', 'zom', 'sab'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'minute' => ':count minitra', // less reliable
+    'min' => ':count minitra', // less reliable
+    'a_minute' => ':count minitra', // less reliable
+
+    'year' => ':count taona',
+    'y' => ':count taona',
+    'a_year' => ':count taona',
+
+    'month' => ':count volana',
+    'm' => ':count volana',
+    'a_month' => ':count volana',
+
+    'week' => ':count herinandro',
+    'w' => ':count herinandro',
+    'a_week' => ':count herinandro',
+
+    'day' => ':count andro',
+    'd' => ':count andro',
+    'a_day' => ':count andro',
+
+    'hour' => ':count ora',
+    'h' => ':count ora',
+    'a_hour' => ':count ora',
+
+    'second' => ':count segondra',
+    's' => ':count segondra',
+    'a_second' => ':count segondra',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mgh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mgh.php
new file mode 100644
index 0000000..65798a8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mgh.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['wichishu', 'mchochil’l'],
+    'weekdays' => ['Sabato', 'Jumatatu', 'Jumanne', 'Jumatano', 'Arahamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['Sab', 'Jtt', 'Jnn', 'Jtn', 'Ara', 'Iju', 'Jmo'],
+    'weekdays_min' => ['Sab', 'Jtt', 'Jnn', 'Jtn', 'Ara', 'Iju', 'Jmo'],
+    'months' => ['Mweri wo kwanza', 'Mweri wo unayeli', 'Mweri wo uneraru', 'Mweri wo unecheshe', 'Mweri wo unethanu', 'Mweri wo thanu na mocha', 'Mweri wo saba', 'Mweri wo nane', 'Mweri wo tisa', 'Mweri wo kumi', 'Mweri wo kumi na moja', 'Mweri wo kumi na yel’li'],
+    'months_short' => ['Kwa', 'Una', 'Rar', 'Che', 'Tha', 'Moc', 'Sab', 'Nan', 'Tis', 'Kum', 'Moj', 'Yel'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mgo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mgo.php
new file mode 100644
index 0000000..a5a0754
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mgo.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'],
+    'weekdays_short' => ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'],
+    'weekdays_min' => ['1', '2', '3', '4', '5', '6', '7'],
+    'months' => ['iməg mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'iməg ngwə̀t', 'iməg fog', 'iməg ichiibɔd', 'iməg àdùmbə̀ŋ', 'iməg ichika', 'iməg kud', 'iməg tèsiʼe', 'iməg zò', 'iməg krizmed'],
+    'months_short' => ['mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'iməg ngwə̀t', 'iməg fog', 'iməg ichiibɔd', 'iməg àdùmbə̀ŋ', 'iməg ichika', 'iməg kud', 'iməg tèsiʼe', 'iməg zò', 'iməg krizmed'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'dddd, YYYY MMMM DD HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mhr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mhr.php
new file mode 100644
index 0000000..6bbc9f6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mhr.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/mhr_RU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mhr_RU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mhr_RU.php
new file mode 100644
index 0000000..309ead9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mhr_RU.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - PeshSajSoft Ltd. Vyacheslav Kileev slavakileev@yandex.ru
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY.MM.DD',
+    ],
+    'months' => ['Шорыкйол', 'Пургыж', 'Ӱярня', 'Вӱдшор', 'Ага', 'Пеледыш', 'Сӱрем', 'Сорла', 'Идым', 'Шыжа', 'Кылме', 'Теле'],
+    'months_short' => ['Шрк', 'Пгж', 'Ӱрн', 'Вшр', 'Ага', 'Пдш', 'Срм', 'Срл', 'Идм', 'Шыж', 'Клм', 'Тел'],
+    'weekdays' => ['Рушарня', 'Шочмо', 'Кушкыжмо', 'Вӱргече', 'Изарня', 'Кугарня', 'Шуматкече'],
+    'weekdays_short' => ['Ршр', 'Шчм', 'Кжм', 'Вгч', 'Изр', 'Кгр', 'Шмт'],
+    'weekdays_min' => ['Ршр', 'Шчм', 'Кжм', 'Вгч', 'Изр', 'Кгр', 'Шмт'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count идалык',
+    'y' => ':count идалык',
+    'a_year' => ':count идалык',
+
+    'month' => ':count Тылзе',
+    'm' => ':count Тылзе',
+    'a_month' => ':count Тылзе',
+
+    'week' => ':count арня',
+    'w' => ':count арня',
+    'a_week' => ':count арня',
+
+    'day' => ':count кече',
+    'd' => ':count кече',
+    'a_day' => ':count кече',
+
+    'hour' => ':count час',
+    'h' => ':count час',
+    'a_hour' => ':count час',
+
+    'minute' => ':count минут',
+    'min' => ':count минут',
+    'a_minute' => ':count минут',
+
+    'second' => ':count кокымшан',
+    's' => ':count кокымшан',
+    'a_second' => ':count кокымшан',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mi.php
new file mode 100644
index 0000000..b7f51ec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mi.php
@@ -0,0 +1,66 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - John Corrigan
+ * - François B
+ */
+return [
+    'year' => ':count tau',
+    'a_year' => '{1}he tau|:count tau',
+    'month' => ':count marama',
+    'a_month' => '{1}he marama|:count marama',
+    'week' => ':count wiki',
+    'a_week' => '{1}he wiki|:count wiki',
+    'day' => ':count ra',
+    'a_day' => '{1}he ra|:count ra',
+    'hour' => ':count haora',
+    'a_hour' => '{1}te haora|:count haora',
+    'minute' => ':count meneti',
+    'a_minute' => '{1}he meneti|:count meneti',
+    'second' => ':count hēkona',
+    'a_second' => '{1}te hēkona ruarua|:count hēkona',
+    'ago' => ':time i mua',
+    'from_now' => 'i roto i :time',
+    'diff_yesterday' => 'inanahi',
+    'diff_yesterday_regexp' => 'inanahi(?:\\s+i)?',
+    'diff_today' => 'i teie',
+    'diff_today_regexp' => 'i teie(?:\\s+mahana,)?(?:\\s+i)?',
+    'diff_tomorrow' => 'apopo',
+    'diff_tomorrow_regexp' => 'apopo(?:\\s+i)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY [i] HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY [i] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[i teie mahana, i] LT',
+        'nextDay' => '[apopo i] LT',
+        'nextWeek' => 'dddd [i] LT',
+        'lastDay' => '[inanahi i] LT',
+        'lastWeek' => 'dddd [whakamutunga i] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberº',
+    'months' => ['Kohi-tāte', 'Hui-tanguru', 'Poutū-te-rangi', 'Paenga-whāwhā', 'Haratua', 'Pipiri', 'Hōngoingoi', 'Here-turi-kōkā', 'Mahuru', 'Whiringa-ā-nuku', 'Whiringa-ā-rangi', 'Hakihea'],
+    'months_short' => ['Kohi', 'Hui', 'Pou', 'Pae', 'Hara', 'Pipi', 'Hōngoi', 'Here', 'Mahu', 'Whi-nu', 'Whi-ra', 'Haki'],
+    'weekdays' => ['Rātapu', 'Mane', 'Tūrei', 'Wenerei', 'Tāite', 'Paraire', 'Hātarei'],
+    'weekdays_short' => ['Ta', 'Ma', 'Tū', 'We', 'Tāi', 'Pa', 'Hā'],
+    'weekdays_min' => ['Ta', 'Ma', 'Tū', 'We', 'Tāi', 'Pa', 'Hā'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' me te '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mi_NZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mi_NZ.php
new file mode 100644
index 0000000..123d229
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mi_NZ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/mi.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/miq.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/miq.php
new file mode 100644
index 0000000..51e5a98
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/miq.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/miq_NI.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/miq_NI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/miq_NI.php
new file mode 100644
index 0000000..b56783e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/miq_NI.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['siakwa kati', 'kuswa kati', 'kakamuk kati', 'lî wainhka kati', 'lih mairin kati', 'lî kati', 'pastara kati', 'sikla kati', 'wîs kati', 'waupasa kati', 'yahbra kati', 'trisu kati'],
+    'months_short' => ['siakwa kati', 'kuswa kati', 'kakamuk kati', 'lî wainhka kati', 'lih mairin kati', 'lî kati', 'pastara kati', 'sikla kati', 'wîs kati', 'waupasa kati', 'yahbra kati', 'trisu kati'],
+    'weekdays' => ['sandi', 'mundi', 'tiusdi', 'wensde', 'tausde', 'praidi', 'satadi'],
+    'weekdays_short' => ['san', 'mun', 'tius', 'wens', 'taus', 'prai', 'sat'],
+    'weekdays_min' => ['san', 'mun', 'tius', 'wens', 'taus', 'prai', 'sat'],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 7,
+    'meridiem' => ['VM', 'NM'],
+
+    'month' => ':count kati', // less reliable
+    'm' => ':count kati', // less reliable
+    'a_month' => ':count kati', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mjw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mjw.php
new file mode 100644
index 0000000..617154c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mjw.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/mjw_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mjw_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mjw_IN.php
new file mode 100644
index 0000000..58ed0d1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mjw_IN.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Jor Teron    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['Arkoi', 'Thangthang', 'There', 'Jangmi', 'Aru', 'Vosik', 'Jakhong', 'Paipai', 'Chiti', 'Phere', 'Phaikuni', 'Matijong'],
+    'months_short' => ['Ark', 'Thang', 'The', 'Jang', 'Aru', 'Vos', 'Jak', 'Pai', 'Chi', 'Phe', 'Phai', 'Mati'],
+    'weekdays' => ['Bhomkuru', 'Urmi', 'Durmi', 'Thelang', 'Theman', 'Bhomta', 'Bhomti'],
+    'weekdays_short' => ['Bhom', 'Ur', 'Dur', 'Tkel', 'Tkem', 'Bhta', 'Bhti'],
+    'weekdays_min' => ['Bhom', 'Ur', 'Dur', 'Tkel', 'Tkem', 'Bhta', 'Bhti'],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mk.php
new file mode 100644
index 0000000..853bc96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mk.php
@@ -0,0 +1,113 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Sashko Todorov
+ * - Josh Soref
+ * - François B
+ * - Serhan Apaydın
+ * - Borislav Mickov
+ * - JD Isaacks
+ * - Tomi Atanasoski
+ */
+return [
+    'year' => ':count година|:count години',
+    'a_year' => 'година|:count години',
+    'y' => ':count год.',
+    'month' => ':count месец|:count месеци',
+    'a_month' => 'месец|:count месеци',
+    'm' => ':count месец|:count месеци',
+    'week' => ':count седмица|:count седмици',
+    'a_week' => 'седмица|:count седмици',
+    'w' => ':count седмица|:count седмици',
+    'day' => ':count ден|:count дена',
+    'a_day' => 'ден|:count дена',
+    'd' => ':count ден|:count дена',
+    'hour' => ':count час|:count часа',
+    'a_hour' => 'час|:count часа',
+    'h' => ':count час|:count часа',
+    'minute' => ':count минута|:count минути',
+    'a_minute' => 'минута|:count минути',
+    'min' => ':count мин.',
+    'second' => ':count секунда|:count секунди',
+    'a_second' => 'неколку секунди|:count секунди',
+    's' => ':count сек.',
+    'ago' => 'пред :time',
+    'from_now' => 'после :time',
+    'after' => 'по :time',
+    'before' => 'пред :time',
+    'diff_now' => 'сега',
+    'diff_today' => 'Денес',
+    'diff_today_regexp' => 'Денес(?:\\s+во)?',
+    'diff_yesterday' => 'вчера',
+    'diff_yesterday_regexp' => 'Вчера(?:\\s+во)?',
+    'diff_tomorrow' => 'утре',
+    'diff_tomorrow_regexp' => 'Утре(?:\\s+во)?',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'D.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Денес во] LT',
+        'nextDay' => '[Утре во] LT',
+        'nextWeek' => '[Во] dddd [во] LT',
+        'lastDay' => '[Вчера во] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                case 3:
+                case 6:
+                    return '[Изминатата] dddd [во] LT';
+                default:
+                    return '[Изминатиот] dddd [во] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        $lastDigit = $number % 10;
+        $last2Digits = $number % 100;
+        if ($number === 0) {
+            return $number.'-ев';
+        }
+        if ($last2Digits === 0) {
+            return $number.'-ен';
+        }
+        if ($last2Digits > 10 && $last2Digits < 20) {
+            return $number.'-ти';
+        }
+        if ($lastDigit === 1) {
+            return $number.'-ви';
+        }
+        if ($lastDigit === 2) {
+            return $number.'-ри';
+        }
+        if ($lastDigit === 7 || $lastDigit === 8) {
+            return $number.'-ми';
+        }
+
+        return $number.'-ти';
+    },
+    'months' => ['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септември', 'октомври', 'ноември', 'декември'],
+    'months_short' => ['јан', 'фев', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'ное', 'дек'],
+    'weekdays' => ['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота'],
+    'weekdays_short' => ['нед', 'пон', 'вто', 'сре', 'чет', 'пет', 'саб'],
+    'weekdays_min' => ['нe', 'пo', 'вт', 'ср', 'че', 'пе', 'сa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' и '],
+    'meridiem' => ['АМ', 'ПМ'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mk_MK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mk_MK.php
new file mode 100644
index 0000000..06ff7d9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mk_MK.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/mk.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ml.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ml.php
new file mode 100644
index 0000000..1abd6c4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ml.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - JD Isaacks
+ */
+return [
+    'year' => ':count വർഷം',
+    'a_year' => 'ഒരു വർഷം|:count വർഷം',
+    'month' => ':count മാസം',
+    'a_month' => 'ഒരു മാസം|:count മാസം',
+    'week' => ':count ആഴ്ച',
+    'a_week' => 'ഒരാഴ്ച|:count ആഴ്ച',
+    'day' => ':count ദിവസം',
+    'a_day' => 'ഒരു ദിവസം|:count ദിവസം',
+    'hour' => ':count മണിക്കൂർ',
+    'a_hour' => 'ഒരു മണിക്കൂർ|:count മണിക്കൂർ',
+    'minute' => ':count മിനിറ്റ്',
+    'a_minute' => 'ഒരു മിനിറ്റ്|:count മിനിറ്റ്',
+    'second' => ':count സെക്കൻഡ്',
+    'a_second' => 'അൽപ നിമിഷങ്ങൾ|:count സെക്കൻഡ്',
+    'ago' => ':time മുൻപ്',
+    'from_now' => ':time കഴിഞ്ഞ്',
+    'diff_now' => 'ഇപ്പോൾ',
+    'diff_today' => 'ഇന്ന്',
+    'diff_yesterday' => 'ഇന്നലെ',
+    'diff_tomorrow' => 'നാളെ',
+    'formats' => [
+        'LT' => 'A h:mm -നു',
+        'LTS' => 'A h:mm:ss -നു',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm -നു',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm -നു',
+    ],
+    'calendar' => [
+        'sameDay' => '[ഇന്ന്] LT',
+        'nextDay' => '[നാളെ] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[ഇന്നലെ] LT',
+        'lastWeek' => '[കഴിഞ്ഞ] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'രാത്രി';
+        }
+        if ($hour < 12) {
+            return 'രാവിലെ';
+        }
+        if ($hour < 17) {
+            return 'ഉച്ച കഴിഞ്ഞ്';
+        }
+        if ($hour < 20) {
+            return 'വൈകുന്നേരം';
+        }
+
+        return 'രാത്രി';
+    },
+    'months' => ['ജനുവരി', 'ഫെബ്രുവരി', 'മാർച്ച്', 'ഏപ്രിൽ', 'മേയ്', 'ജൂൺ', 'ജൂലൈ', 'ഓഗസ്റ്റ്', 'സെപ്റ്റംബർ', 'ഒക്ടോബർ', 'നവംബർ', 'ഡിസംബർ'],
+    'months_short' => ['ജനു.', 'ഫെബ്രു.', 'മാർ.', 'ഏപ്രി.', 'മേയ്', 'ജൂൺ', 'ജൂലൈ.', 'ഓഗ.', 'സെപ്റ്റ.', 'ഒക്ടോ.', 'നവം.', 'ഡിസം.'],
+    'weekdays' => ['ഞായറാഴ്ച', 'തിങ്കളാഴ്ച', 'ചൊവ്വാഴ്ച', 'ബുധനാഴ്ച', 'വ്യാഴാഴ്ച', 'വെള്ളിയാഴ്ച', 'ശനിയാഴ്ച'],
+    'weekdays_short' => ['ഞായർ', 'തിങ്കൾ', 'ചൊവ്വ', 'ബുധൻ', 'വ്യാഴം', 'വെള്ളി', 'ശനി'],
+    'weekdays_min' => ['ഞാ', 'തി', 'ചൊ', 'ബു', 'വ്യാ', 'വെ', 'ശ'],
+    'list' => ', ',
+    'weekend' => [0, 0],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ml_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ml_IN.php
new file mode 100644
index 0000000..20878dc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ml_IN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ml.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mn.php
new file mode 100644
index 0000000..25f65b3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mn.php
@@ -0,0 +1,101 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @translator Batmandakh Erdenebileg <batmandakh.e@icloud.com>
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Max Melentiev
+ * - Zolzaya Erdenebaatar
+ * - Tom Hughes
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Michael Kessler
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Nicolás Hock Isaza
+ * - Ochirkhuyag
+ * - Batmandakh
+ */
+return [
+    'year' => ':count жил',
+    'y' => ':count жил',
+    'month' => ':count сар',
+    'm' => ':count сар',
+    'week' => ':count долоо хоног',
+    'w' => ':count долоо хоног',
+    'day' => ':count өдөр',
+    'd' => ':count өдөр',
+    'hour' => ':count цаг',
+    'h' => ':countц',
+    'minute' => ':count минут',
+    'min' => ':countм',
+    'second' => ':count секунд',
+    's' => ':countс',
+
+    'ago' => ':timeн өмнө',
+    'year_ago' => ':count жилий',
+    'month_ago' => ':count сары',
+    'day_ago' => ':count хоногий',
+    'hour_ago' => ':count цагий',
+    'minute_ago' => ':count минуты',
+    'second_ago' => ':count секунды',
+
+    'from_now' => 'одоогоос :time',
+    'year_from_now' => ':count жилийн дараа',
+    'month_from_now' => ':count сарын дараа',
+    'day_from_now' => ':count хоногийн дараа',
+    'hour_from_now' => ':count цагийн дараа',
+    'minute_from_now' => ':count минутын дараа',
+    'second_from_now' => ':count секундын дараа',
+
+    // Does it required to make translation for before, after as follows? hmm, I think we've made it with ago and from now keywords already. Anyway, I've included it just in case of undesired action...
+    'after' => ':timeн дараа',
+    'year_after' => ':count жилий',
+    'month_after' => ':count сары',
+    'day_after' => ':count хоногий',
+    'hour_after' => ':count цагий',
+    'minute_after' => ':count минуты',
+    'second_after' => ':count секунды',
+
+    'before' => ':timeн өмнө',
+    'year_before' => ':count жилий',
+    'month_before' => ':count сары',
+    'day_before' => ':count хоногий',
+    'hour_before' => ':count цагий',
+    'minute_before' => ':count минуты',
+    'second_before' => ':count секунды',
+
+    'list' => ', ',
+    'diff_now' => 'одоо',
+    'diff_yesterday' => 'өчигдөр',
+    'diff_tomorrow' => 'маргааш',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'YYYY MMMM DD',
+        'LLL' => 'YY-MM-DD, HH:mm',
+        'LLLL' => 'YYYY MMMM DD, HH:mm',
+    ],
+    'weekdays' => ['Ням', 'Даваа', 'Мягмар', 'Лхагва', 'Пүрэв', 'Баасан', 'Бямба'],
+    'weekdays_short' => ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'],
+    'weekdays_min' => ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'],
+    'months' => ['1 сар', '2 сар', '3 сар', '4 сар', '5 сар', '6 сар', '7 сар', '8 сар', '9 сар', '10 сар', '11 сар', '12 сар'],
+    'months_short' => ['1 сар', '2 сар', '3 сар', '4 сар', '5 сар', '6 сар', '7 сар', '8 сар', '9 сар', '10 сар', '11 сар', '12 сар'],
+    'meridiem' => ['өглөө', 'орой'],
+    'first_day_of_week' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mn_MN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mn_MN.php
new file mode 100644
index 0000000..b8fef24
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mn_MN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/mn.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mni.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mni.php
new file mode 100644
index 0000000..cafa2f8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mni.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/mni_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mni_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mni_IN.php
new file mode 100644
index 0000000..45d430e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mni_IN.php
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat Pune    libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['জানুৱারি', 'ফেব্রুৱারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগষ্ট', 'সেপ্তেম্বর', 'ওক্তোবর', 'নবেম্বর', 'ডিসেম্বর'],
+    'months_short' => ['জান', 'ফেব', 'মার', 'এপ্রি', 'মে', 'জুন', 'জুল', 'আগ', 'সেপ', 'ওক্ত', 'নবে', 'ডিস'],
+    'weekdays' => ['নোংমাইজিং', 'নিংথৌকাবা', 'লৈবাকপোকপা', 'য়ুমশকৈশা', 'শগোলশেন', 'ইরাই', 'থাংজ'],
+    'weekdays_short' => ['নোং', 'নিং', 'লৈবাক', 'য়ুম', 'শগোল', 'ইরা', 'থাং'],
+    'weekdays_min' => ['নোং', 'নিং', 'লৈবাক', 'য়ুম', 'শগোল', 'ইরা', 'থাং'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['এ.ম.', 'প.ম.'],
+
+    'year' => ':count ইসিং', // less reliable
+    'y' => ':count ইসিং', // less reliable
+    'a_year' => ':count ইসিং', // less reliable
+
+    'second' => ':count ꯅꯤꯡꯊꯧꯀꯥꯕ', // less reliable
+    's' => ':count ꯅꯤꯡꯊꯧꯀꯥꯕ', // less reliable
+    'a_second' => ':count ꯅꯤꯡꯊꯧꯀꯥꯕ', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mo.php
new file mode 100644
index 0000000..dd7c8f0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mo.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ro.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mr.php
new file mode 100644
index 0000000..4aaeafd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mr.php
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Vikram-enyota
+ */
+return [
+    'year' => ':count वर्ष',
+    'y' => ':count वर्ष',
+    'month' => ':count महिना|:count महिने',
+    'm' => ':count महिना|:count महिने',
+    'week' => ':count आठवडा|:count आठवडे',
+    'w' => ':count आठवडा|:count आठवडे',
+    'day' => ':count दिवस',
+    'd' => ':count दिवस',
+    'hour' => ':count तास',
+    'h' => ':count तास',
+    'minute' => ':count मिनिटे',
+    'min' => ':count मिनिटे',
+    'second' => ':count सेकंद',
+    's' => ':count सेकंद',
+
+    'ago' => ':timeपूर्वी',
+    'from_now' => ':timeमध्ये',
+    'before' => ':timeपूर्वी',
+    'after' => ':timeनंतर',
+
+    'diff_now' => 'आत्ता',
+    'diff_today' => 'आज',
+    'diff_yesterday' => 'काल',
+    'diff_tomorrow' => 'उद्या',
+
+    'formats' => [
+        'LT' => 'A h:mm वाजता',
+        'LTS' => 'A h:mm:ss वाजता',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm वाजता',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm वाजता',
+    ],
+
+    'calendar' => [
+        'sameDay' => '[आज] LT',
+        'nextDay' => '[उद्या] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[काल] LT',
+        'lastWeek' => '[मागील] dddd, LT',
+        'sameElse' => 'L',
+    ],
+
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'रात्री';
+        }
+        if ($hour < 10) {
+            return 'सकाळी';
+        }
+        if ($hour < 17) {
+            return 'दुपारी';
+        }
+        if ($hour < 20) {
+            return 'सायंकाळी';
+        }
+
+        return 'रात्री';
+    },
+
+    'months' => ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ऑगस्ट', 'सप्टेंबर', 'ऑक्टोबर', 'नोव्हेंबर', 'डिसेंबर'],
+    'months_short' => ['जाने.', 'फेब्रु.', 'मार्च.', 'एप्रि.', 'मे.', 'जून.', 'जुलै.', 'ऑग.', 'सप्टें.', 'ऑक्टो.', 'नोव्हें.', 'डिसें.'],
+    'weekdays' => ['रविवार', 'सोमवार', 'मंगळवार', 'बुधवार', 'गुरूवार', 'शुक्रवार', 'शनिवार'],
+    'weekdays_short' => ['रवि', 'सोम', 'मंगळ', 'बुध', 'गुरू', 'शुक्र', 'शनि'],
+    'weekdays_min' => ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],
+    'list' => [', ', ' आणि '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'weekend' => [0, 0],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mr_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mr_IN.php
new file mode 100644
index 0000000..556cefa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mr_IN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/mr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms.php
new file mode 100644
index 0000000..ed7d48f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms.php
@@ -0,0 +1,98 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Azri Jamil
+ * - JD Isaacks
+ * - Josh Soref
+ * - Azri Jamil
+ * - Hariadi Hinta
+ * - Ashraf Kamarudin
+ */
+return [
+    'year' => ':count tahun',
+    'a_year' => '{1}setahun|]1,Inf[:count tahun',
+    'y' => ':count tahun',
+    'month' => ':count bulan',
+    'a_month' => '{1}sebulan|]1,Inf[:count bulan',
+    'm' => ':count bulan',
+    'week' => ':count minggu',
+    'a_week' => '{1}seminggu|]1,Inf[:count minggu',
+    'w' => ':count minggu',
+    'day' => ':count hari',
+    'a_day' => '{1}sehari|]1,Inf[:count hari',
+    'd' => ':count hari',
+    'hour' => ':count jam',
+    'a_hour' => '{1}sejam|]1,Inf[:count jam',
+    'h' => ':count jam',
+    'minute' => ':count minit',
+    'a_minute' => '{1}seminit|]1,Inf[:count minit',
+    'min' => ':count minit',
+    'second' => ':count saat',
+    'a_second' => '{1}beberapa saat|]1,Inf[:count saat',
+    'millisecond' => ':count milisaat',
+    'a_millisecond' => '{1}semilisaat|]1,Inf[:count milliseconds',
+    'microsecond' => ':count mikrodetik',
+    'a_microsecond' => '{1}semikrodetik|]1,Inf[:count mikrodetik',
+    's' => ':count saat',
+    'ago' => ':time yang lepas',
+    'from_now' => ':time dari sekarang',
+    'after' => ':time kemudian',
+    'before' => ':time lepas',
+    'diff_now' => 'sekarang',
+    'diff_today' => 'Hari',
+    'diff_today_regexp' => 'Hari(?:\\s+ini)?(?:\\s+pukul)?',
+    'diff_yesterday' => 'semalam',
+    'diff_yesterday_regexp' => 'Semalam(?:\\s+pukul)?',
+    'diff_tomorrow' => 'esok',
+    'diff_tomorrow_regexp' => 'Esok(?:\\s+pukul)?',
+    'diff_before_yesterday' => 'kelmarin',
+    'diff_after_tomorrow' => 'lusa',
+    'formats' => [
+        'LT' => 'HH.mm',
+        'LTS' => 'HH.mm.ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY [pukul] HH.mm',
+        'LLLL' => 'dddd, D MMMM YYYY [pukul] HH.mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Hari ini pukul] LT',
+        'nextDay' => '[Esok pukul] LT',
+        'nextWeek' => 'dddd [pukul] LT',
+        'lastDay' => '[Kelmarin pukul] LT',
+        'lastWeek' => 'dddd [lepas pukul] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 12) {
+            return 'pagi';
+        }
+        if ($hour < 15) {
+            return 'tengah hari';
+        }
+        if ($hour < 19) {
+            return 'petang';
+        }
+
+        return 'malam';
+    },
+    'months' => ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogs', 'Sep', 'Okt', 'Nov', 'Dis'],
+    'weekdays' => ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'],
+    'weekdays_short' => ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],
+    'weekdays_min' => ['Ah', 'Is', 'Sl', 'Rb', 'Km', 'Jm', 'Sb'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' dan '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_BN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_BN.php
new file mode 100644
index 0000000..ea2b453
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_BN.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ms.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/MM/yy',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY, h:mm a',
+        'LLLL' => 'dd MMMM YYYY, h:mm a',
+    ],
+    'meridiem' => ['a', 'p'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_MY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_MY.php
new file mode 100644
index 0000000..970d604
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_MY.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Azri Jamil
+ * - JD Isaacks
+ */
+return require __DIR__.'/ms.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_SG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_SG.php
new file mode 100644
index 0000000..097a168
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ms_SG.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ms.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/MM/yy',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY, h:mm a',
+        'LLLL' => 'dddd, D MMMM YYYY, h:mm a',
+    ],
+    'meridiem' => ['a', 'p'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mt.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mt.php
new file mode 100644
index 0000000..e8aadcc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mt.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Alessandro Maruccia
+ */
+return [
+    'year' => 'sena|:count sni|:count sni|:count sni',
+    'y' => 'sa sena|:count snin|:count snin|:count snin',
+    'month' => 'xahar|:count xhur|:count xhur|:count xhur',
+    'm' => ':count xahar|:count xhur|:count xhur|:count xhur',
+    'week' => 'gimgħa|:count ġimgħat|:count ġimgħat|:count ġimgħat',
+    'w' => 'ġimgħa|:count ġimgħat|:count ġimgħat|:count ġimgħat',
+    'day' => 'ġurnata|:count ġranet|:count ġranet|:count ġranet',
+    'd' => 'ġurnata|:count ġranet|:count ġranet|:count ġranet',
+    'hour' => 'siegħa|:count siegħat|:count siegħat|:count siegħat',
+    'h' => 'siegħa|:count sigħat|:count sigħat|:count sigħat',
+    'minute' => 'minuta|:count minuti|:count minuti|:count minuti',
+    'min' => 'min.|:count min.|:count min.|:count min.',
+    'second' => 'ftit sekondi|:count sekondi|:count sekondi|:count sekondi',
+    's' => 'sek.|:count sek.|:count sek.|:count sek.',
+    'ago' => ':time ilu',
+    'from_now' => 'f’ :time',
+    'diff_now' => 'issa',
+    'diff_today' => 'Illum',
+    'diff_today_regexp' => 'Illum(?:\\s+fil-)?',
+    'diff_yesterday' => 'lbieraħ',
+    'diff_yesterday_regexp' => 'Il-bieraħ(?:\\s+fil-)?',
+    'diff_tomorrow' => 'għada',
+    'diff_tomorrow_regexp' => 'Għada(?:\\s+fil-)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Illum fil-]LT',
+        'nextDay' => '[Għada fil-]LT',
+        'nextWeek' => 'dddd [fil-]LT',
+        'lastDay' => '[Il-bieraħ fil-]LT',
+        'lastWeek' => 'dddd [li għadda] [fil-]LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberº',
+    'months' => ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju', 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'],
+    'months_short' => ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul', 'Aww', 'Set', 'Ott', 'Nov', 'Diċ'],
+    'weekdays' => ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt'],
+    'weekdays_short' => ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'],
+    'weekdays_min' => ['Ħa', 'Tn', 'Tl', 'Er', 'Ħa', 'Ġi', 'Si'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' u '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mt_MT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mt_MT.php
new file mode 100644
index 0000000..6ec2b33
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mt_MT.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/mt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mua.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mua.php
new file mode 100644
index 0000000..8f1f9dc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mua.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['comme', 'lilli'],
+    'weekdays' => ['Com’yakke', 'Comlaaɗii', 'Comzyiiɗii', 'Comkolle', 'Comkaldǝɓlii', 'Comgaisuu', 'Comzyeɓsuu'],
+    'weekdays_short' => ['Cya', 'Cla', 'Czi', 'Cko', 'Cka', 'Cga', 'Cze'],
+    'weekdays_min' => ['Cya', 'Cla', 'Czi', 'Cko', 'Cka', 'Cga', 'Cze'],
+    'months' => ['Fĩi Loo', 'Cokcwaklaŋne', 'Cokcwaklii', 'Fĩi Marfoo', 'Madǝǝuutǝbijaŋ', 'Mamǝŋgwãafahbii', 'Mamǝŋgwãalii', 'Madǝmbii', 'Fĩi Dǝɓlii', 'Fĩi Mundaŋ', 'Fĩi Gwahlle', 'Fĩi Yuru'],
+    'months_short' => ['FLO', 'CLA', 'CKI', 'FMF', 'MAD', 'MBI', 'MLI', 'MAM', 'FDE', 'FMU', 'FGW', 'FYU'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/my.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/my.php
new file mode 100644
index 0000000..bbdfba4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/my.php
@@ -0,0 +1,70 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - JD Isaacks
+ * - Nay Lin Aung
+ */
+return [
+    'year' => '{1}တစ်နှစ်|]1,Inf[:count နှစ်',
+    'y' => ':count နှစ်',
+    'month' => '{1}တစ်လ|]1,Inf[:count လ',
+    'm' => ':count လ',
+    'week' => ':count ပတ်',
+    'w' => ':count ပတ်',
+    'day' => '{1}တစ်ရက်|]1,Inf[:count ရက်',
+    'd' => ':count ရက်',
+    'hour' => '{1}တစ်နာရီ|]1,Inf[:count နာရီ',
+    'h' => ':count နာရီ',
+    'minute' => '{1}တစ်မိနစ်|]1,Inf[:count မိနစ်',
+    'min' => ':count မိနစ်',
+    'second' => '{1}စက္ကန်.အနည်းငယ်|]1,Inf[:count စက္ကန့်',
+    's' => ':count စက္ကန့်',
+    'ago' => 'လွန်ခဲ့သော :time က',
+    'from_now' => 'လာမည့် :time မှာ',
+    'after' => ':time ကြာပြီးနောက်',
+    'before' => ':time မတိုင်ခင်',
+    'diff_now' => 'အခုလေးတင်',
+    'diff_today' => 'ယနေ.',
+    'diff_yesterday' => 'မနေ့က',
+    'diff_yesterday_regexp' => 'မနေ.က',
+    'diff_tomorrow' => 'မနက်ဖြန်',
+    'diff_before_yesterday' => 'တမြန်နေ့က',
+    'diff_after_tomorrow' => 'တဘက်ခါ',
+    'period_recurrences' => ':count ကြိမ်',
+    'formats' => [
+        'LT' => 'Oh:Om A',
+        'LTS' => 'Oh:Om:Os A',
+        'L' => 'OD/OM/OY',
+        'LL' => 'OD MMMM OY',
+        'LLL' => 'OD MMMM OY Oh:Om A',
+        'LLLL' => 'dddd OD MMMM OY Oh:Om A',
+    ],
+    'calendar' => [
+        'sameDay' => '[ယနေ.] LT [မှာ]',
+        'nextDay' => '[မနက်ဖြန်] LT [မှာ]',
+        'nextWeek' => 'dddd LT [မှာ]',
+        'lastDay' => '[မနေ.က] LT [မှာ]',
+        'lastWeek' => '[ပြီးခဲ့သော] dddd LT [မှာ]',
+        'sameElse' => 'L',
+    ],
+    'months' => ['ဇန်နဝါရီ', 'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ', 'ဇွန်', 'ဇူလိုင်', 'သြဂုတ်', 'စက်တင်ဘာ', 'အောက်တိုဘာ', 'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'],
+    'months_short' => ['ဇန်', 'ဖေ', 'မတ်', 'ပြီ', 'မေ', 'ဇွန်', 'လိုင်', 'သြ', 'စက်', 'အောက်', 'နို', 'ဒီ'],
+    'weekdays' => ['တနင်္ဂနွေ', 'တနင်္လာ', 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', 'ကြာသပတေး', 'သောကြာ', 'စနေ'],
+    'weekdays_short' => ['နွေ', 'လာ', 'ဂါ', 'ဟူး', 'ကြာ', 'သော', 'နေ'],
+    'weekdays_min' => ['နွေ', 'လာ', 'ဂါ', 'ဟူး', 'ကြာ', 'သော', 'နေ'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'alt_numbers' => ['၀၀', '၀၁', '၀၂', '၀၃', '၀၄', '၀၅', '၀၆', '၀၇', '၀၈', '၀၉', '၁၀', '၁၁', '၁၂', '၁၃', '၁၄', '၁၅', '၁၆', '၁၇', '၁၈', '၁၉', '၂၀', '၂၁', '၂၂', '၂၃', '၂၄', '၂၅', '၂၆', '၂၇', '၂၈', '၂၉', '၃၀', '၃၁', '၃၂', '၃၃', '၃၄', '၃၅', '၃၆', '၃၇', '၃၈', '၃၉', '၄၀', '၄၁', '၄၂', '၄၃', '၄၄', '၄၅', '၄၆', '၄၇', '၄၈', '၄၉', '၅၀', '၅၁', '၅၂', '၅၃', '၅၄', '၅၅', '၅၆', '၅၇', '၅၈', '၅၉', '၆၀', '၆၁', '၆၂', '၆၃', '၆၄', '၆၅', '၆၆', '၆၇', '၆၈', '၆၉', '၇၀', '၇၁', '၇၂', '၇၃', '၇၄', '၇၅', '၇၆', '၇၇', '၇၈', '၇၉', '၈၀', '၈၁', '၈၂', '၈၃', '၈၄', '၈၅', '၈၆', '၈၇', '၈၈', '၈၉', '၉၀', '၉၁', '၉၂', '၉၃', '၉၄', '၉၅', '၉၆', '၉၇', '၉၈', '၉၉'],
+    'meridiem' => ['နံနက်', 'ညနေ'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/my_MM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/my_MM.php
new file mode 100644
index 0000000..1f27cca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/my_MM.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/my.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mzn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mzn.php
new file mode 100644
index 0000000..6ad3604
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/mzn.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fa.php', [
+    'months' => ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
+    'months_short' => ['ژانویه', 'فوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
+    'first_day_of_week' => 6,
+    'weekend' => [5, 5],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'YYYY MMMM D, dddd HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan.php
new file mode 100644
index 0000000..0affece
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/nan_TW.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW.php
new file mode 100644
index 0000000..5c50aa4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY年MM月DD日',
+    ],
+    'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'months_short' => [' 1月', ' 2月', ' 3月', ' 4月', ' 5月', ' 6月', ' 7月', ' 8月', ' 9月', '10月', '11月', '12月'],
+    'weekdays' => ['禮拜日', '禮拜一', '禮拜二', '禮拜三', '禮拜四', '禮拜五', '禮拜六'],
+    'weekdays_short' => ['日', '一', '二', '三', '四', '五', '六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['頂晡', '下晡'],
+
+    'year' => ':count 年',
+    'y' => ':count 年',
+    'a_year' => ':count 年',
+
+    'month' => ':count goe̍h',
+    'm' => ':count goe̍h',
+    'a_month' => ':count goe̍h',
+
+    'week' => ':count lé-pài',
+    'w' => ':count lé-pài',
+    'a_week' => ':count lé-pài',
+
+    'day' => ':count 日',
+    'd' => ':count 日',
+    'a_day' => ':count 日',
+
+    'hour' => ':count tiám-cheng',
+    'h' => ':count tiám-cheng',
+    'a_hour' => ':count tiám-cheng',
+
+    'minute' => ':count Hun-cheng',
+    'min' => ':count Hun-cheng',
+    'a_minute' => ':count Hun-cheng',
+
+    'second' => ':count Bió',
+    's' => ':count Bió',
+    'a_second' => ':count Bió',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW@latin.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW@latin.php
new file mode 100644
index 0000000..99ca2a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW@latin.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Arne Goetje arne@canonical.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+    'months' => ['1goe̍h', '2goe̍h', '3goe̍h', '4goe̍h', '5goe̍h', '6goe̍h', '7goe̍h', '8goe̍h', '9goe̍h', '10goe̍h', '11goe̍h', '12goe̍h'],
+    'months_short' => ['1g', '2g', '3g', '4g', '5g', '6g', '7g', '8g', '9g', '10g', '11g', '12g'],
+    'weekdays' => ['lé-pài-ji̍t', 'pài-it', 'pài-jī', 'pài-saⁿ', 'pài-sì', 'pài-gō͘', 'pài-la̍k'],
+    'weekdays_short' => ['lp', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6'],
+    'weekdays_min' => ['lp', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['téng-po͘', 'ē-po͘'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/naq.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/naq.php
new file mode 100644
index 0000000..614ced4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/naq.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['ǁgoagas', 'ǃuias'],
+    'weekdays' => ['Sontaxtsees', 'Mantaxtsees', 'Denstaxtsees', 'Wunstaxtsees', 'Dondertaxtsees', 'Fraitaxtsees', 'Satertaxtsees'],
+    'weekdays_short' => ['Son', 'Ma', 'De', 'Wu', 'Do', 'Fr', 'Sat'],
+    'weekdays_min' => ['Son', 'Ma', 'De', 'Wu', 'Do', 'Fr', 'Sat'],
+    'months' => ['ǃKhanni', 'ǃKhanǀgôab', 'ǀKhuuǁkhâb', 'ǃHôaǂkhaib', 'ǃKhaitsâb', 'Gamaǀaeb', 'ǂKhoesaob', 'Aoǁkhuumûǁkhâb', 'Taraǀkhuumûǁkhâb', 'ǂNûǁnâiseb', 'ǀHooǂgaeb', 'Hôasoreǁkhâb'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm a',
+    ],
+
+    'year' => ':count kurigu',
+    'y' => ':count kurigu',
+    'a_year' => ':count kurigu',
+
+    'month' => ':count ǁaub', // less reliable
+    'm' => ':count ǁaub', // less reliable
+    'a_month' => ':count ǁaub', // less reliable
+
+    'week' => ':count hû', // less reliable
+    'w' => ':count hû', // less reliable
+    'a_week' => ':count hû', // less reliable
+
+    'day' => ':count ǀhobas', // less reliable
+    'd' => ':count ǀhobas', // less reliable
+    'a_day' => ':count ǀhobas', // less reliable
+
+    'hour' => ':count ǂgaes', // less reliable
+    'h' => ':count ǂgaes', // less reliable
+    'a_hour' => ':count ǂgaes', // less reliable
+
+    'minute' => ':count minutga', // less reliable
+    'min' => ':count minutga', // less reliable
+    'a_minute' => ':count minutga', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb.php
new file mode 100644
index 0000000..371ee84
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb.php
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Alexander Tømmerås
+ * - Sigurd Gartmann
+ * - JD Isaacks
+ */
+return [
+    'year' => ':count år|:count år',
+    'a_year' => 'ett år|:count år',
+    'y' => ':count år|:count år',
+    'month' => ':count måned|:count måneder',
+    'a_month' => 'en måned|:count måneder',
+    'm' => ':count md.',
+    'week' => ':count uke|:count uker',
+    'a_week' => 'en uke|:count uker',
+    'w' => ':count u.',
+    'day' => ':count dag|:count dager',
+    'a_day' => 'en dag|:count dager',
+    'd' => ':count d.',
+    'hour' => ':count time|:count timer',
+    'a_hour' => 'en time|:count timer',
+    'h' => ':count t',
+    'minute' => ':count minutt|:count minutter',
+    'a_minute' => 'ett minutt|:count minutter',
+    'min' => ':count min',
+    'second' => ':count sekund|:count sekunder',
+    'a_second' => 'noen sekunder|:count sekunder',
+    's' => ':count sek',
+    'ago' => ':time siden',
+    'from_now' => 'om :time',
+    'after' => ':time etter',
+    'before' => ':time før',
+    'diff_now' => 'akkurat nå',
+    'diff_today' => 'i dag',
+    'diff_today_regexp' => 'i dag(?:\\s+kl.)?',
+    'diff_yesterday' => 'i går',
+    'diff_yesterday_regexp' => 'i går(?:\\s+kl.)?',
+    'diff_tomorrow' => 'i morgen',
+    'diff_tomorrow_regexp' => 'i morgen(?:\\s+kl.)?',
+    'diff_before_yesterday' => 'i forgårs',
+    'diff_after_tomorrow' => 'i overmorgen',
+    'period_recurrences' => 'en gang|:count ganger',
+    'period_interval' => 'hver :interval',
+    'period_start_date' => 'fra :date',
+    'period_end_date' => 'til :date',
+    'months' => ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
+    'weekdays' => ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'],
+    'weekdays_short' => ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'],
+    'weekdays_min' => ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],
+    'ordinal' => ':number.',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY [kl.] HH:mm',
+        'LLLL' => 'dddd D. MMMM YYYY [kl.] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[i dag kl.] LT',
+        'nextDay' => '[i morgen kl.] LT',
+        'nextWeek' => 'dddd [kl.] LT',
+        'lastDay' => '[i går kl.] LT',
+        'lastWeek' => '[forrige] dddd [kl.] LT',
+        'sameElse' => 'L',
+    ],
+    'list' => [', ', ' og '],
+    'meridiem' => ['a.m.', 'p.m.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb_NO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb_NO.php
new file mode 100644
index 0000000..bd643a8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb_NO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/nb.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb_SJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb_SJ.php
new file mode 100644
index 0000000..93cbaef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nb_SJ.php
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/nb.php', [
+    'formats' => [
+        'LL' => 'D. MMM YYYY',
+        'LLL' => 'D. MMMM YYYY, HH:mm',
+        'LLLL' => 'dddd D. MMMM YYYY, HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nd.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nd.php
new file mode 100644
index 0000000..d6fdaad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nd.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['Sonto', 'Mvulo', 'Sibili', 'Sithathu', 'Sine', 'Sihlanu', 'Mgqibelo'],
+    'weekdays_short' => ['Son', 'Mvu', 'Sib', 'Sit', 'Sin', 'Sih', 'Mgq'],
+    'weekdays_min' => ['Son', 'Mvu', 'Sib', 'Sit', 'Sin', 'Sih', 'Mgq'],
+    'months' => ['Zibandlela', 'Nhlolanja', 'Mbimbitho', 'Mabasa', 'Nkwenkwezi', 'Nhlangula', 'Ntulikazi', 'Ncwabakazi', 'Mpandula', 'Mfumfu', 'Lwezi', 'Mpalakazi'],
+    'months_short' => ['Zib', 'Nhlo', 'Mbi', 'Mab', 'Nkw', 'Nhla', 'Ntu', 'Ncw', 'Mpan', 'Mfu', 'Lwe', 'Mpal'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+
+    'year' => 'okweminyaka engu-:count', // less reliable
+    'y' => 'okweminyaka engu-:count', // less reliable
+    'a_year' => 'okweminyaka engu-:count', // less reliable
+
+    'month' => 'inyanga ezingu-:count',
+    'm' => 'inyanga ezingu-:count',
+    'a_month' => 'inyanga ezingu-:count',
+
+    'week' => 'amaviki angu-:count',
+    'w' => 'amaviki angu-:count',
+    'a_week' => 'amaviki angu-:count',
+
+    'day' => 'kwamalanga angu-:count',
+    'd' => 'kwamalanga angu-:count',
+    'a_day' => 'kwamalanga angu-:count',
+
+    'hour' => 'amahola angu-:count',
+    'h' => 'amahola angu-:count',
+    'a_hour' => 'amahola angu-:count',
+
+    'minute' => 'imizuzu engu-:count',
+    'min' => 'imizuzu engu-:count',
+    'a_minute' => 'imizuzu engu-:count',
+
+    'second' => 'imizuzwana engu-:count',
+    's' => 'imizuzwana engu-:count',
+    'a_second' => 'imizuzwana engu-:count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds.php
new file mode 100644
index 0000000..c0b3775
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/nds_DE.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds_DE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds_DE.php
new file mode 100644
index 0000000..eb6e77e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds_DE.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Jannuaar', 'Feberwaar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
+    'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
+    'weekdays' => ['Sünndag', 'Maandag', 'Dingsdag', 'Middeweek', 'Dunnersdag', 'Freedag', 'Sünnavend'],
+    'weekdays_short' => ['Sdag', 'Maan', 'Ding', 'Migg', 'Dunn', 'Free', 'Svd.'],
+    'weekdays_min' => ['Sdag', 'Maan', 'Ding', 'Migg', 'Dunn', 'Free', 'Svd.'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count Johr',
+    'y' => ':count Johr',
+    'a_year' => ':count Johr',
+
+    'month' => ':count Maand',
+    'm' => ':count Maand',
+    'a_month' => ':count Maand',
+
+    'week' => ':count Week',
+    'w' => ':count Week',
+    'a_week' => ':count Week',
+
+    'day' => ':count Dag',
+    'd' => ':count Dag',
+    'a_day' => ':count Dag',
+
+    'hour' => ':count Stünn',
+    'h' => ':count Stünn',
+    'a_hour' => ':count Stünn',
+
+    'minute' => ':count Minuut',
+    'min' => ':count Minuut',
+    'a_minute' => ':count Minuut',
+
+    'second' => ':count sekunn',
+    's' => ':count sekunn',
+    'a_second' => ':count sekunn',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds_NL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds_NL.php
new file mode 100644
index 0000000..de2c57b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nds_NL.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Jaunuwoa', 'Februwoa', 'Moaz', 'Aprell', 'Mai', 'Juni', 'Juli', 'August', 'Septamba', 'Oktoba', 'Nowamba', 'Dezamba'],
+    'months_short' => ['Jan', 'Feb', 'Moz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Now', 'Dez'],
+    'weekdays' => ['Sinndag', 'Mondag', 'Dingsdag', 'Meddwäakj', 'Donnadag', 'Friedag', 'Sinnowend'],
+    'weekdays_short' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'],
+    'weekdays_min' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne.php
new file mode 100644
index 0000000..d4caf0e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - nootanghimire
+ * - Josh Soref
+ * - Nj Subedi
+ * - JD Isaacks
+ */
+return [
+    'year' => 'एक बर्ष|:count बर्ष',
+    'y' => ':count वर्ष',
+    'month' => 'एक महिना|:count महिना',
+    'm' => ':count महिना',
+    'week' => ':count हप्ता',
+    'w' => ':count हप्ता',
+    'day' => 'एक दिन|:count दिन',
+    'd' => ':count दिन',
+    'hour' => 'एक घण्टा|:count घण्टा',
+    'h' => ':count घण्टा',
+    'minute' => 'एक मिनेट|:count मिनेट',
+    'min' => ':count मिनेट',
+    'second' => 'केही क्षण|:count सेकेण्ड',
+    's' => ':count सेकेण्ड',
+    'ago' => ':time अगाडि',
+    'from_now' => ':timeमा',
+    'after' => ':time पछि',
+    'before' => ':time अघि',
+    'diff_now' => 'अहिले',
+    'diff_today' => 'आज',
+    'diff_yesterday' => 'हिजो',
+    'diff_tomorrow' => 'भोलि',
+    'formats' => [
+        'LT' => 'Aको h:mm बजे',
+        'LTS' => 'Aको h:mm:ss बजे',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, Aको h:mm बजे',
+        'LLLL' => 'dddd, D MMMM YYYY, Aको h:mm बजे',
+    ],
+    'calendar' => [
+        'sameDay' => '[आज] LT',
+        'nextDay' => '[भोलि] LT',
+        'nextWeek' => '[आउँदो] dddd[,] LT',
+        'lastDay' => '[हिजो] LT',
+        'lastWeek' => '[गएको] dddd[,] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 3) {
+            return 'राति';
+        }
+        if ($hour < 12) {
+            return 'बिहान';
+        }
+        if ($hour < 16) {
+            return 'दिउँसो';
+        }
+        if ($hour < 20) {
+            return 'साँझ';
+        }
+
+        return 'राति';
+    },
+    'months' => ['जनवरी', 'फेब्रुवरी', 'मार्च', 'अप्रिल', 'मई', 'जुन', 'जुलाई', 'अगष्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'],
+    'months_short' => ['जन.', 'फेब्रु.', 'मार्च', 'अप्रि.', 'मई', 'जुन', 'जुलाई.', 'अग.', 'सेप्ट.', 'अक्टो.', 'नोभे.', 'डिसे.'],
+    'weekdays' => ['आइतबार', 'सोमबार', 'मङ्गलबार', 'बुधबार', 'बिहिबार', 'शुक्रबार', 'शनिबार'],
+    'weekdays_short' => ['आइत.', 'सोम.', 'मङ्गल.', 'बुध.', 'बिहि.', 'शुक्र.', 'शनि.'],
+    'weekdays_min' => ['आ.', 'सो.', 'मं.', 'बु.', 'बि.', 'शु.', 'श.'],
+    'list' => [', ', ' र '],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne_IN.php
new file mode 100644
index 0000000..2583bcf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne_IN.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ne.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'yy/M/d',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D, h:mm a',
+        'LLLL' => 'YYYY MMMM D, dddd, h:mm a',
+    ],
+    'months' => ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'],
+    'months_short' => ['जनवरी', 'फेब्रुअरी', 'मार्च', 'अप्रिल', 'मे', 'जुन', 'जुलाई', 'अगस्ट', 'सेप्टेम्बर', 'अक्टोबर', 'नोभेम्बर', 'डिसेम्बर'],
+    'weekend' => [0, 0],
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne_NP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne_NP.php
new file mode 100644
index 0000000..38caa1e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ne_NP.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ne.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nhn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nhn.php
new file mode 100644
index 0000000..5a85831
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nhn.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/nhn_MX.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nhn_MX.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nhn_MX.php
new file mode 100644
index 0000000..9db88a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nhn_MX.php
@@ -0,0 +1,50 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],
+    'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],
+    'weekdays' => ['teoilhuitl', 'ceilhuitl', 'omeilhuitl', 'yeilhuitl', 'nahuilhuitl', 'macuililhuitl', 'chicuaceilhuitl'],
+    'weekdays_short' => ['teo', 'cei', 'ome', 'yei', 'nau', 'mac', 'chi'],
+    'weekdays_min' => ['teo', 'cei', 'ome', 'yei', 'nau', 'mac', 'chi'],
+    'day_of_first_week_of_year' => 1,
+
+    'month' => ':count metztli', // less reliable
+    'm' => ':count metztli', // less reliable
+    'a_month' => ':count metztli', // less reliable
+
+    'week' => ':count tonalli', // less reliable
+    'w' => ':count tonalli', // less reliable
+    'a_week' => ':count tonalli', // less reliable
+
+    'day' => ':count tonatih', // less reliable
+    'd' => ':count tonatih', // less reliable
+    'a_day' => ':count tonatih', // less reliable
+
+    'minute' => ':count toltecayotl', // less reliable
+    'min' => ':count toltecayotl', // less reliable
+    'a_minute' => ':count toltecayotl', // less reliable
+
+    'second' => ':count ome', // less reliable
+    's' => ':count ome', // less reliable
+    'a_second' => ':count ome', // less reliable
+
+    'year' => ':count xihuitl',
+    'y' => ':count xihuitl',
+    'a_year' => ':count xihuitl',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/niu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/niu.php
new file mode 100644
index 0000000..bd9be8a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/niu.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/niu_NU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/niu_NU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/niu_NU.php
new file mode 100644
index 0000000..6e7a697
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/niu_NU.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RockET Systems Emani Fakaotimanava-Lui emani@niue.nu
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Ianuali', 'Fepuali', 'Masi', 'Apelila', 'Me', 'Iuni', 'Iulai', 'Aokuso', 'Sepetema', 'Oketopa', 'Novema', 'Tesemo'],
+    'months_short' => ['Ian', 'Fep', 'Mas', 'Ape', 'Me', 'Iun', 'Iul', 'Aok', 'Sep', 'Oke', 'Nov', 'Tes'],
+    'weekdays' => ['Aho Tapu', 'Aho Gofua', 'Aho Ua', 'Aho Lotu', 'Aho Tuloto', 'Aho Falaile', 'Aho Faiumu'],
+    'weekdays_short' => ['Tapu', 'Gofua', 'Ua', 'Lotu', 'Tuloto', 'Falaile', 'Faiumu'],
+    'weekdays_min' => ['Tapu', 'Gofua', 'Ua', 'Lotu', 'Tuloto', 'Falaile', 'Faiumu'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count tau',
+    'y' => ':count tau',
+    'a_year' => ':count tau',
+
+    'month' => ':count mahina',
+    'm' => ':count mahina',
+    'a_month' => ':count mahina',
+
+    'week' => ':count faahi tapu',
+    'w' => ':count faahi tapu',
+    'a_week' => ':count faahi tapu',
+
+    'day' => ':count aho',
+    'd' => ':count aho',
+    'a_day' => ':count aho',
+
+    'hour' => ':count e tulā',
+    'h' => ':count e tulā',
+    'a_hour' => ':count e tulā',
+
+    'minute' => ':count minuti',
+    'min' => ':count minuti',
+    'a_minute' => ':count minuti',
+
+    'second' => ':count sekone',
+    's' => ':count sekone',
+    'a_second' => ':count sekone',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl.php
new file mode 100644
index 0000000..fc8b5d9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl.php
@@ -0,0 +1,113 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Roy
+ * - Stephan
+ * - François B
+ * - Tim Fish
+ * - Kevin Huang
+ * - Jacob Middag
+ * - JD Isaacks
+ * - Roy
+ * - Stephan
+ * - François B
+ * - Tim Fish
+ * - Jacob Middag
+ * - JD Isaacks
+ * - Propaganistas
+ * - MegaXLR
+ * - adriaanzon
+ * - MonkeyPhysics
+ * - JeroenG
+ * - RikSomers
+ * - proclame
+ * - Rik de Groot (hwdegroot)
+ */
+return [
+    'year' => ':count jaar|:count jaar',
+    'a_year' => 'een jaar|:count jaar',
+    'y' => ':countj',
+    'month' => ':count maand|:count maanden',
+    'a_month' => 'een maand|:count maanden',
+    'm' => ':countmnd',
+    'week' => ':count week|:count weken',
+    'a_week' => 'een week|:count weken',
+    'w' => ':countw',
+    'day' => ':count dag|:count dagen',
+    'a_day' => 'een dag|:count dagen',
+    'd' => ':countd',
+    'hour' => ':count uur|:count uur',
+    'a_hour' => 'een uur|:count uur',
+    'h' => ':countu',
+    'minute' => ':count minuut|:count minuten',
+    'a_minute' => 'een minuut|:count minuten',
+    'min' => ':countmin',
+    'second' => ':count seconde|:count seconden',
+    'a_second' => 'een paar seconden|:count seconden',
+    's' => ':counts',
+    'ago' => ':time geleden',
+    'from_now' => 'over :time',
+    'after' => ':time later',
+    'before' => ':time eerder',
+    'diff_now' => 'nu',
+    'diff_today' => 'vandaag',
+    'diff_today_regexp' => 'vandaag(?:\\s+om)?',
+    'diff_yesterday' => 'gisteren',
+    'diff_yesterday_regexp' => 'gisteren(?:\\s+om)?',
+    'diff_tomorrow' => 'morgen',
+    'diff_tomorrow_regexp' => 'morgen(?:\\s+om)?',
+    'diff_after_tomorrow' => 'overmorgen',
+    'diff_before_yesterday' => 'eergisteren',
+    'period_recurrences' => ':count keer',
+    'period_interval' => function (string $interval = '') {
+        /** @var string $output */
+        $output = preg_replace('/^(een|één|1)\s+/', '', $interval);
+
+        if (preg_match('/^(een|één|1)( jaar|j| uur|u)/', $interval)) {
+            return "elk $output";
+        }
+
+        return "elke $output";
+    },
+    'period_start_date' => 'van :date',
+    'period_end_date' => 'tot :date',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD-MM-YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[vandaag om] LT',
+        'nextDay' => '[morgen om] LT',
+        'nextWeek' => 'dddd [om] LT',
+        'lastDay' => '[gisteren om] LT',
+        'lastWeek' => '[afgelopen] dddd [om] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        return $number.(($number === 1 || $number === 8 || $number >= 20) ? 'ste' : 'de');
+    },
+    'months' => ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
+    'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
+    'mmm_suffix' => '.',
+    'weekdays' => ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
+    'weekdays_short' => ['zo.', 'ma.', 'di.', 'wo.', 'do.', 'vr.', 'za.'],
+    'weekdays_min' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' en '],
+    'meridiem' => ['\'s ochtends', '\'s middags'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_AW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_AW.php
new file mode 100644
index 0000000..5ec136d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_AW.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Free Software Foundation, Inc.    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/nl.php', [
+    'formats' => [
+        'L' => 'DD-MM-YY',
+    ],
+    'months' => ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
+    'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
+    'weekdays' => ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
+    'weekdays_short' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
+    'weekdays_min' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_BE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_BE.php
new file mode 100644
index 0000000..037f5b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_BE.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Roy
+ * - Stephan
+ * - François B
+ * - Tim Fish
+ * - Kevin Huang
+ * - Jacob Middag
+ * - JD Isaacks
+ * - Propaganistas
+ */
+return array_replace_recursive(require __DIR__.'/nl.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_BQ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_BQ.php
new file mode 100644
index 0000000..521d2d6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_BQ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/nl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_CW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_CW.php
new file mode 100644
index 0000000..521d2d6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_CW.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/nl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_NL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_NL.php
new file mode 100644
index 0000000..14e4853
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_NL.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/nl.php', [
+    'months' => ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
+    'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
+    'weekdays' => ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
+    'weekdays_short' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
+    'weekdays_min' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_SR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_SR.php
new file mode 100644
index 0000000..521d2d6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_SR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/nl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_SX.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_SX.php
new file mode 100644
index 0000000..521d2d6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nl_SX.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/nl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nmg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nmg.php
new file mode 100644
index 0000000..f8850e2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nmg.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['maná', 'kugú'],
+    'weekdays' => ['sɔ́ndɔ', 'mɔ́ndɔ', 'sɔ́ndɔ mafú mába', 'sɔ́ndɔ mafú málal', 'sɔ́ndɔ mafú mána', 'mabágá má sukul', 'sásadi'],
+    'weekdays_short' => ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'mbs', 'sas'],
+    'weekdays_min' => ['sɔ́n', 'mɔ́n', 'smb', 'sml', 'smn', 'mbs', 'sas'],
+    'months' => ['ngwɛn matáhra', 'ngwɛn ńmba', 'ngwɛn ńlal', 'ngwɛn ńna', 'ngwɛn ńtan', 'ngwɛn ńtuó', 'ngwɛn hɛmbuɛrí', 'ngwɛn lɔmbi', 'ngwɛn rɛbvuâ', 'ngwɛn wum', 'ngwɛn wum navǔr', 'krísimin'],
+    'months_short' => ['ng1', 'ng2', 'ng3', 'ng4', 'ng5', 'ng6', 'ng7', 'ng8', 'ng9', 'ng10', 'ng11', 'kris'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nn.php
new file mode 100644
index 0000000..041f7b2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nn.php
@@ -0,0 +1,78 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Alexander Tømmerås
+ * - Øystein
+ * - JD Isaacks
+ * - Gaute Hvoslef Kvalnes (gaute)
+ */
+return [
+    'year' => ':count år',
+    'a_year' => 'eit år|:count år',
+    'y' => ':count år',
+    'month' => ':count månad|:count månader',
+    'a_month' => 'ein månad|:count månader',
+    'm' => ':count md',
+    'week' => ':count veke|:count veker',
+    'a_week' => 'ei veke|:count veker',
+    'w' => ':countv',
+    'day' => ':count dag|:count dagar',
+    'a_day' => 'ein dag|:count dagar',
+    'd' => ':countd',
+    'hour' => ':count time|:count timar',
+    'a_hour' => 'ein time|:count timar',
+    'h' => ':countt',
+    'minute' => ':count minutt',
+    'a_minute' => 'eit minutt|:count minutt',
+    'min' => ':countm',
+    'second' => ':count sekund',
+    'a_second' => 'nokre sekund|:count sekund',
+    's' => ':counts',
+    'ago' => ':time sidan',
+    'from_now' => 'om :time',
+    'after' => ':time etter',
+    'before' => ':time før',
+    'diff_today' => 'I dag',
+    'diff_yesterday' => 'I går',
+    'diff_yesterday_regexp' => 'I går(?:\\s+klokka)?',
+    'diff_tomorrow' => 'I morgon',
+    'diff_tomorrow_regexp' => 'I morgon(?:\\s+klokka)?',
+    'diff_today_regexp' => 'I dag(?:\\s+klokka)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY [kl.] H:mm',
+        'LLLL' => 'dddd D. MMMM YYYY [kl.] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[I dag klokka] LT',
+        'nextDay' => '[I morgon klokka] LT',
+        'nextWeek' => 'dddd [klokka] LT',
+        'lastDay' => '[I går klokka] LT',
+        'lastWeek' => '[Føregåande] dddd [klokka] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
+    'weekdays' => ['sundag', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag'],
+    'weekdays_short' => ['sun', 'mån', 'tys', 'ons', 'tor', 'fre', 'lau'],
+    'weekdays_min' => ['su', 'må', 'ty', 'on', 'to', 'fr', 'la'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' og '],
+    'meridiem' => ['f.m.', 'e.m.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nn_NO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nn_NO.php
new file mode 100644
index 0000000..ebbe0b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nn_NO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/nn.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nnh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nnh.php
new file mode 100644
index 0000000..fa6a448
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nnh.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['mbaʼámbaʼ', 'ncwònzém'],
+    'weekdays' => null,
+    'weekdays_short' => ['lyɛʼɛ́ sẅíŋtè', 'mvfò lyɛ̌ʼ', 'mbɔ́ɔntè mvfò lyɛ̌ʼ', 'tsètsɛ̀ɛ lyɛ̌ʼ', 'mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ', 'mvfò màga lyɛ̌ʼ', 'màga lyɛ̌ʼ'],
+    'weekdays_min' => null,
+    'months' => null,
+    'months_short' => ['saŋ tsetsɛ̀ɛ lùm', 'saŋ kàg ngwóŋ', 'saŋ lepyè shúm', 'saŋ cÿó', 'saŋ tsɛ̀ɛ cÿó', 'saŋ njÿoláʼ', 'saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ', 'saŋ mbʉ̀ŋ', 'saŋ ngwɔ̀ʼ mbÿɛ', 'saŋ tàŋa tsetsáʼ', 'saŋ mejwoŋó', 'saŋ lùm'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/yy',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => '[lyɛ]̌ʼ d [na] MMMM, YYYY HH:mm',
+        'LLLL' => 'dddd , [lyɛ]̌ʼ d [na] MMMM, YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/no.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/no.php
new file mode 100644
index 0000000..f4497c7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/no.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Daniel S. Billing
+ * - Paul
+ * - Jimmie Johansson
+ * - Jens Herlevsen
+ */
+return array_replace_recursive(require __DIR__.'/nb.php', [
+    'formats' => [
+        'LLL' => 'D. MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY [kl.] HH:mm',
+    ],
+    'calendar' => [
+        'nextWeek' => 'på dddd [kl.] LT',
+        'lastWeek' => '[i] dddd[s kl.] LT',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nr.php
new file mode 100644
index 0000000..1bc999f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nr.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/nr_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nr_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nr_ZA.php
new file mode 100644
index 0000000..f9a7be8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nr_ZA.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Janabari', 'uFeberbari', 'uMatjhi', 'u-Apreli', 'Meyi', 'Juni', 'Julayi', 'Arhostosi', 'Septemba', 'Oktoba', 'Usinyikhaba', 'Disemba'],
+    'months_short' => ['Jan', 'Feb', 'Mat', 'Apr', 'Mey', 'Jun', 'Jul', 'Arh', 'Sep', 'Okt', 'Usi', 'Dis'],
+    'weekdays' => ['uSonto', 'uMvulo', 'uLesibili', 'lesithathu', 'uLesine', 'ngoLesihlanu', 'umGqibelo'],
+    'weekdays_short' => ['Son', 'Mvu', 'Bil', 'Tha', 'Ne', 'Hla', 'Gqi'],
+    'weekdays_min' => ['Son', 'Mvu', 'Bil', 'Tha', 'Ne', 'Hla', 'Gqi'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nso.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nso.php
new file mode 100644
index 0000000..2a6cabb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nso.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/nso_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nso_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nso_ZA.php
new file mode 100644
index 0000000..b08fe6d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nso_ZA.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Janaware', 'Febereware', 'Matšhe', 'Aprele', 'Mei', 'June', 'Julae', 'Agostose', 'Setemere', 'Oktobere', 'Nofemere', 'Disemere'],
+    'months_short' => ['Jan', 'Feb', 'Mat', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Set', 'Okt', 'Nof', 'Dis'],
+    'weekdays' => ['LaMorena', 'Mošupologo', 'Labobedi', 'Laboraro', 'Labone', 'Labohlano', 'Mokibelo'],
+    'weekdays_short' => ['Son', 'Moš', 'Bed', 'Rar', 'Ne', 'Hla', 'Mok'],
+    'weekdays_min' => ['Son', 'Moš', 'Bed', 'Rar', 'Ne', 'Hla', 'Mok'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count ngwaga',
+    'y' => ':count ngwaga',
+    'a_year' => ':count ngwaga',
+
+    'month' => ':count Kgwedi',
+    'm' => ':count Kgwedi',
+    'a_month' => ':count Kgwedi',
+
+    'week' => ':count Beke',
+    'w' => ':count Beke',
+    'a_week' => ':count Beke',
+
+    'day' => ':count Letšatši',
+    'd' => ':count Letšatši',
+    'a_day' => ':count Letšatši',
+
+    'hour' => ':count Iri',
+    'h' => ':count Iri',
+    'a_hour' => ':count Iri',
+
+    'minute' => ':count Motsotso',
+    'min' => ':count Motsotso',
+    'a_minute' => ':count Motsotso',
+
+    'second' => ':count motsotswana',
+    's' => ':count motsotswana',
+    'a_second' => ':count motsotswana',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nus.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nus.php
new file mode 100644
index 0000000..033e975
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nus.php
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['RW', 'TŊ'],
+    'weekdays' => ['Cäŋ kuɔth', 'Jiec la̱t', 'Rɛw lätni', 'Diɔ̱k lätni', 'Ŋuaan lätni', 'Dhieec lätni', 'Bäkɛl lätni'],
+    'weekdays_short' => ['Cäŋ', 'Jiec', 'Rɛw', 'Diɔ̱k', 'Ŋuaan', 'Dhieec', 'Bäkɛl'],
+    'weekdays_min' => ['Cäŋ', 'Jiec', 'Rɛw', 'Diɔ̱k', 'Ŋuaan', 'Dhieec', 'Bäkɛl'],
+    'months' => ['Tiop thar pɛt', 'Pɛt', 'Duɔ̱ɔ̱ŋ', 'Guak', 'Duät', 'Kornyoot', 'Pay yie̱tni', 'Tho̱o̱r', 'Tɛɛr', 'Laath', 'Kur', 'Tio̱p in di̱i̱t'],
+    'months_short' => ['Tiop', 'Pɛt', 'Duɔ̱ɔ̱', 'Guak', 'Duä', 'Kor', 'Pay', 'Thoo', 'Tɛɛ', 'Laa', 'Kur', 'Tid'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd D MMMM YYYY h:mm a',
+    ],
+
+    'year' => ':count jiök', // less reliable
+    'y' => ':count jiök', // less reliable
+    'a_year' => ':count jiök', // less reliable
+
+    'month' => ':count pay', // less reliable
+    'm' => ':count pay', // less reliable
+    'a_month' => ':count pay', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nyn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nyn.php
new file mode 100644
index 0000000..fdc2ff4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/nyn.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'],
+    'weekdays_short' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'],
+    'weekdays_min' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'],
+    'months' => ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'],
+    'months_short' => ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/oc.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/oc.php
new file mode 100644
index 0000000..94c3e04
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/oc.php
@@ -0,0 +1,98 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Quentí
+ */
+// @codeCoverageIgnoreStart
+if (class_exists('Symfony\\Component\\Translation\\PluralizationRules')) {
+    \Symfony\Component\Translation\PluralizationRules::set(function ($number) {
+        return $number == 1 ? 0 : 1;
+    }, 'oc');
+}
+// @codeCoverageIgnoreEnd
+
+return [
+    'year' => ':count an|:count ans',
+    'a_year' => 'un an|:count ans',
+    'y' => ':count an|:count ans',
+    'month' => ':count mes|:count meses',
+    'a_month' => 'un mes|:count meses',
+    'm' => ':count mes|:count meses',
+    'week' => ':count setmana|:count setmanas',
+    'a_week' => 'una setmana|:count setmanas',
+    'w' => ':count setmana|:count setmanas',
+    'day' => ':count jorn|:count jorns',
+    'a_day' => 'un jorn|:count jorns',
+    'd' => ':count jorn|:count jorns',
+    'hour' => ':count ora|:count oras',
+    'a_hour' => 'una ora|:count oras',
+    'h' => ':count ora|:count oras',
+    'minute' => ':count minuta|:count minutas',
+    'a_minute' => 'una minuta|:count minutas',
+    'min' => ':count minuta|:count minutas',
+    'second' => ':count segonda|:count segondas',
+    'a_second' => 'una segonda|:count segondas',
+    's' => ':count segonda|:count segondas',
+    'ago' => 'fa :time',
+    'from_now' => 'd\'aquí :time',
+    'after' => ':time aprèp',
+    'before' => ':time abans',
+    'diff_now' => 'ara meteis',
+    'diff_today' => 'Uèi',
+    'diff_today_regexp' => 'Uèi(?:\\s+a)?',
+    'diff_yesterday' => 'ièr',
+    'diff_yesterday_regexp' => 'Ièr(?:\\s+a)?',
+    'diff_tomorrow' => 'deman',
+    'diff_tomorrow_regexp' => 'Deman(?:\\s+a)?',
+    'diff_before_yesterday' => 'ièr delà',
+    'diff_after_tomorrow' => 'deman passat',
+    'period_recurrences' => ':count còp|:count còps',
+    'period_interval' => 'cada :interval',
+    'period_start_date' => 'de :date',
+    'period_end_date' => 'fins a :date',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM [de] YYYY',
+        'LLL' => 'D MMMM [de] YYYY [a] H:mm',
+        'LLLL' => 'dddd D MMMM [de] YYYY [a] H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Uèi a] LT',
+        'nextDay' => '[Deman a] LT',
+        'nextWeek' => 'dddd [a] LT',
+        'lastDay' => '[Ièr a] LT',
+        'lastWeek' => 'dddd [passat a] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['de genièr', 'de febrièr', 'de març', 'd\'abrial', 'de mai', 'de junh', 'de julhet', 'd\'agost', 'de setembre', 'd’octòbre', 'de novembre', 'de decembre'],
+    'months_standalone' => ['genièr', 'febrièr', 'març', 'abrial', 'mai', 'junh', 'julh', 'agost', 'setembre', 'octòbre', 'novembre', 'decembre'],
+    'months_short' => ['gen.', 'feb.', 'març', 'abr.', 'mai', 'junh', 'julh', 'ago.', 'sep.', 'oct.', 'nov.', 'dec.'],
+    'weekdays' => ['dimenge', 'diluns', 'dimars', 'dimècres', 'dijòus', 'divendres', 'dissabte'],
+    'weekdays_short' => ['dg', 'dl', 'dm', 'dc', 'dj', 'dv', 'ds'],
+    'weekdays_min' => ['dg', 'dl', 'dm', 'dc', 'dj', 'dv', 'ds'],
+    'ordinal' => function ($number, string $period = '') {
+        $ordinal = [1 => 'èr', 2 => 'nd'][(int) $number] ?? 'en';
+
+        // feminine for year, week, hour, minute, second
+        if (preg_match('/^[yYwWhHgGis]$/', $period)) {
+            $ordinal .= 'a';
+        }
+
+        return $number.$ordinal;
+    },
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' e '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/oc_FR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/oc_FR.php
new file mode 100644
index 0000000..fde859f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/oc_FR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/oc.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om.php
new file mode 100644
index 0000000..b8d5a0b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation & Sagalee Oromoo Publishing Co. Inc.    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'dd-MMM-YYYY',
+        'LLL' => 'dd MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, MMMM D, YYYY HH:mm',
+    ],
+    'months' => ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', 'Sadaasa', 'Muddee'],
+    'months_short' => ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', 'Hag', 'Ful', 'Onk', 'Sad', 'Mud'],
+    'weekdays' => ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', 'Jimaata', 'Sanbata'],
+    'weekdays_short' => ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'],
+    'weekdays_min' => ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['WD', 'WB'],
+
+    'year' => 'wggoota :count',
+    'y' => 'wggoota :count',
+    'a_year' => 'wggoota :count',
+
+    'month' => 'ji’a :count',
+    'm' => 'ji’a :count',
+    'a_month' => 'ji’a :count',
+
+    'week' => 'torban :count',
+    'w' => 'torban :count',
+    'a_week' => 'torban :count',
+
+    'day' => 'guyyaa :count',
+    'd' => 'guyyaa :count',
+    'a_day' => 'guyyaa :count',
+
+    'hour' => 'saʼaatii :count',
+    'h' => 'saʼaatii :count',
+    'a_hour' => 'saʼaatii :count',
+
+    'minute' => 'daqiiqaa :count',
+    'min' => 'daqiiqaa :count',
+    'a_minute' => 'daqiiqaa :count',
+
+    'second' => 'sekoondii :count',
+    's' => 'sekoondii :count',
+    'a_second' => 'sekoondii :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om_ET.php
new file mode 100644
index 0000000..4648343
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om_ET.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/om.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om_KE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om_KE.php
new file mode 100644
index 0000000..b29a40f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/om_KE.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/om.php', [
+    'day_of_first_week_of_year' => 0,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/or.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/or.php
new file mode 100644
index 0000000..3aa7173
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/or.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/or_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/or_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/or_IN.php
new file mode 100644
index 0000000..57a89f5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/or_IN.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM AP Linux Technology Center, Yamato Software Laboratory    bug-glibc@gnu.org
+ */
+return [
+    'diff_now' => 'ବର୍ତ୍ତମାନ',
+    'diff_yesterday' => 'ଗତକାଲି',
+    'diff_tomorrow' => 'ଆସନ୍ତାକାଲି',
+    'formats' => [
+        'LT' => 'Oh:Om A',
+        'LTS' => 'Oh:Om:Os A',
+        'L' => 'OD-OM-OY',
+        'LL' => 'OD MMMM OY',
+        'LLL' => 'OD MMMM OY Oh:Om A',
+        'LLLL' => 'dddd OD MMMM OY Oh:Om A',
+    ],
+    'months' => ['ଜାନୁଆରୀ', 'ଫେବୃଆରୀ', 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମଇ', 'ଜୁନ', 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', 'ଡିସେମ୍ବର'],
+    'months_short' => ['ଜାନୁଆରୀ', 'ଫେବୃଆରୀ', 'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମଇ', 'ଜୁନ', 'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର', 'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର', 'ଡିସେମ୍ବର'],
+    'weekdays' => ['ରବିବାର', 'ସୋମବାର', 'ମଙ୍ଗଳବାର', 'ବୁଧବାର', 'ଗୁରୁବାର', 'ଶୁକ୍ରବାର', 'ଶନିବାର'],
+    'weekdays_short' => ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', 'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'],
+    'weekdays_min' => ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ', 'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'],
+    'day_of_first_week_of_year' => 1,
+    'alt_numbers' => ['୦', '୧', '୨', '୩', '୪', '୫', '୬', '୭', '୮', '୯', '୧୦', '୧୧', '୧୨', '୧୩', '୧୪', '୧୫', '୧୬', '୧୭', '୧୮', '୧୯', '୨୦', '୨୧', '୨୨', '୨୩', '୨୪', '୨୫', '୨୬', '୨୭', '୨୮', '୨୯', '୩୦', '୩୧', '୩୨', '୩୩', '୩୪', '୩୫', '୩୬', '୩୭', '୩୮', '୩୯', '୪୦', '୪୧', '୪୨', '୪୩', '୪୪', '୪୫', '୪୬', '୪୭', '୪୮', '୪୯', '୫୦', '୫୧', '୫୨', '୫୩', '୫୪', '୫୫', '୫୬', '୫୭', '୫୮', '୫୯', '୬୦', '୬୧', '୬୨', '୬୩', '୬୪', '୬୫', '୬୬', '୬୭', '୬୮', '୬୯', '୭୦', '୭୧', '୭୨', '୭୩', '୭୪', '୭୫', '୭୬', '୭୭', '୭୮', '୭୯', '୮୦', '୮୧', '୮୨', '୮୩', '୮୪', '୮୫', '୮୬', '୮୭', '୮୮', '୮୯', '୯୦', '୯୧', '୯୨', '୯୩', '୯୪', '୯୫', '୯୬', '୯୭', '୯୮', '୯୯'],
+    'year' => ':count ବର୍ଷ',
+    'y' => ':count ବ.',
+    'month' => ':count ମାସ',
+    'm' => ':count ମା.',
+    'week' => ':count ସପ୍ତାହ',
+    'w' => ':count ସପ୍ତା.',
+    'day' => ':count ଦିନ',
+    'd' => ':count ଦିନ',
+    'hour' => ':count ଘଣ୍ତ',
+    'h' => ':count ଘ.',
+    'minute' => ':count ମିନଟ',
+    'min' => ':count ମି.',
+    'second' => ':count ସେକଣ୍ଢ',
+    's' => ':count ସେ.',
+    'ago' => ':time ପୂର୍ବେ',
+    'from_now' => ':timeରେ',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/os.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/os.php
new file mode 100644
index 0000000..5f55e8a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/os.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/os_RU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/os_RU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/os_RU.php
new file mode 100644
index 0000000..9592d15
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/os_RU.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['январы', 'февралы', 'мартъийы', 'апрелы', 'майы', 'июны', 'июлы', 'августы', 'сентябры', 'октябры', 'ноябры', 'декабры'],
+    'months_short' => ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
+    'weekdays' => ['Хуыцаубон', 'Къуырисæр', 'Дыццæг', 'Æртыццæг', 'Цыппæрæм', 'Майрæмбон', 'Сабат'],
+    'weekdays_short' => ['Хцб', 'Крс', 'Дцг', 'Æрт', 'Цпр', 'Мрб', 'Сбт'],
+    'weekdays_min' => ['Хцб', 'Крс', 'Дцг', 'Æрт', 'Цпр', 'Мрб', 'Сбт'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'minute' => ':count гыццыл', // less reliable
+    'min' => ':count гыццыл', // less reliable
+    'a_minute' => ':count гыццыл', // less reliable
+
+    'second' => ':count æндæр', // less reliable
+    's' => ':count æндæр', // less reliable
+    'a_second' => ':count æндæр', // less reliable
+
+    'year' => ':count аз',
+    'y' => ':count аз',
+    'a_year' => ':count аз',
+
+    'month' => ':count мӕй',
+    'm' => ':count мӕй',
+    'a_month' => ':count мӕй',
+
+    'week' => ':count къуыри',
+    'w' => ':count къуыри',
+    'a_week' => ':count къуыри',
+
+    'day' => ':count бон',
+    'd' => ':count бон',
+    'a_day' => ':count бон',
+
+    'hour' => ':count сахат',
+    'h' => ':count сахат',
+    'a_hour' => ':count сахат',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa.php
new file mode 100644
index 0000000..48b2033
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Tsutomu Kuroda
+ * - Punjab
+ */
+return [
+    'year' => 'ਇੱਕ ਸਾਲ|:count ਸਾਲ',
+    'month' => 'ਇੱਕ ਮਹੀਨਾ|:count ਮਹੀਨੇ',
+    'week' => 'ਹਫਤਾ|:count ਹਫ਼ਤੇ',
+    'day' => 'ਇੱਕ ਦਿਨ|:count ਦਿਨ',
+    'hour' => 'ਇੱਕ ਘੰਟਾ|:count ਘੰਟੇ',
+    'minute' => 'ਇਕ ਮਿੰਟ|:count ਮਿੰਟ',
+    'second' => 'ਕੁਝ ਸਕਿੰਟ|:count ਸਕਿੰਟ',
+    'ago' => ':time ਪਹਿਲਾਂ',
+    'from_now' => ':time ਵਿੱਚ',
+    'before' => ':time ਤੋਂ ਪਹਿਲਾਂ',
+    'after' => ':time ਤੋਂ ਬਾਅਦ',
+    'diff_now' => 'ਹੁਣ',
+    'diff_today' => 'ਅਜ',
+    'diff_yesterday' => 'ਕਲ',
+    'diff_tomorrow' => 'ਕਲ',
+    'formats' => [
+        'LT' => 'A h:mm ਵਜੇ',
+        'LTS' => 'A h:mm:ss ਵਜੇ',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm ਵਜੇ',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',
+    ],
+    'calendar' => [
+        'sameDay' => '[ਅਜ] LT',
+        'nextDay' => '[ਕਲ] LT',
+        'nextWeek' => '[ਅਗਲਾ] dddd, LT',
+        'lastDay' => '[ਕਲ] LT',
+        'lastWeek' => '[ਪਿਛਲੇ] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'ਰਾਤ';
+        }
+        if ($hour < 10) {
+            return 'ਸਵੇਰ';
+        }
+        if ($hour < 17) {
+            return 'ਦੁਪਹਿਰ';
+        }
+        if ($hour < 20) {
+            return 'ਸ਼ਾਮ';
+        }
+
+        return 'ਰਾਤ';
+    },
+    'months' => ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'],
+    'months_short' => ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'],
+    'weekdays' => ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', 'ਬੁਧਵਾਰ', 'ਵੀਰਵਾਰ', 'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨੀਚਰਵਾਰ'],
+    'weekdays_short' => ['ਐਤ', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬੁਧ', 'ਵੀਰ', 'ਸ਼ੁਕਰ', 'ਸ਼ਨੀ'],
+    'weekdays_min' => ['ਐਤ', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬੁਧ', 'ਵੀਰ', 'ਸ਼ੁਕਰ', 'ਸ਼ਨੀ'],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' ਅਤੇ '],
+    'weekend' => [0, 0],
+    'alt_numbers' => ['੦', '੧', '੨', '੩', '੪', '੫', '੬', '੭', '੮', '੯'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_Arab.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_Arab.php
new file mode 100644
index 0000000..8b04dee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_Arab.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ur.php', [
+    'weekdays' => ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'],
+    'weekdays_short' => ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'],
+    'weekdays_min' => ['اتوار', 'پیر', 'منگل', 'بُدھ', 'جمعرات', 'جمعہ', 'ہفتہ'],
+    'months' => ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'months_short' => ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd, DD MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_Guru.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_Guru.php
new file mode 100644
index 0000000..c0d35ec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_Guru.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/pa.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D/M/yy',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY, h:mm a',
+        'LLLL' => 'dddd, D MMMM YYYY, h:mm a',
+    ],
+    'months' => ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'],
+    'months_short' => ['ਜਨ', 'ਫ਼ਰ', 'ਮਾਰਚ', 'ਅਪ੍ਰੈ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾ', 'ਅਗ', 'ਸਤੰ', 'ਅਕਤੂ', 'ਨਵੰ', 'ਦਸੰ'],
+    'weekdays' => ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', 'ਬੁੱਧਵਾਰ', 'ਵੀਰਵਾਰ', 'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨਿੱਚਰਵਾਰ'],
+    'weekdays_short' => ['ਐਤ', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬੁੱਧ', 'ਵੀਰ', 'ਸ਼ੁੱਕਰ', 'ਸ਼ਨਿੱਚਰ'],
+    'weekdays_min' => ['ਐਤ', 'ਸੋਮ', 'ਮੰਗ', 'ਬੁੱਧ', 'ਵੀਰ', 'ਸ਼ੁੱਕ', 'ਸ਼ਨਿੱ'],
+    'weekend' => [0, 0],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_IN.php
new file mode 100644
index 0000000..ca67642
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_IN.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Guo Xiang Tan
+ * - Josh Soref
+ * - Ash
+ * - harpreetkhalsagtbit
+ */
+return require __DIR__.'/pa.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_PK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_PK.php
new file mode 100644
index 0000000..f9af11c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pa_PK.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['جنوري', 'فروري', 'مارچ', 'اپريل', 'مٓی', 'جون', 'جولاي', 'اگست', 'ستمبر', 'اكتوبر', 'نومبر', 'دسمبر'],
+    'months_short' => ['جنوري', 'فروري', 'مارچ', 'اپريل', 'مٓی', 'جون', 'جولاي', 'اگست', 'ستمبر', 'اكتوبر', 'نومبر', 'دسمبر'],
+    'weekdays' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'هفته'],
+    'weekdays_short' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'هفته'],
+    'weekdays_min' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'هفته'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ص', 'ش'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap.php
new file mode 100644
index 0000000..b4c1706
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return [
+    'formats' => [
+        'LT' => 'HH.mm',
+        'LTS' => 'HH.mm:ss',
+        'L' => 'DD-MM-YY',
+        'LL' => 'MMMM [di] DD, YYYY',
+        'LLL' => 'DD MMM HH.mm',
+        'LLLL' => 'MMMM DD, YYYY HH.mm',
+    ],
+    'months' => ['yanüari', 'febrüari', 'mart', 'aprel', 'mei', 'yüni', 'yüli', 'ougùstùs', 'sèptèmber', 'oktober', 'novèmber', 'desèmber'],
+    'months_short' => ['yan', 'feb', 'mar', 'apr', 'mei', 'yün', 'yül', 'oug', 'sèp', 'okt', 'nov', 'des'],
+    'weekdays' => ['djadomingo', 'djaluna', 'djamars', 'djawebs', 'djarason', 'djabierne', 'djasabra'],
+    'weekdays_short' => ['do', 'lu', 'ma', 'we', 'ra', 'bi', 'sa'],
+    'weekdays_min' => ['do', 'lu', 'ma', 'we', 'ra', 'bi', 'sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'year' => ':count aña',
+    'month' => ':count luna',
+    'week' => ':count siman',
+    'day' => ':count dia',
+    'hour' => ':count ora',
+    'minute' => ':count minüt',
+    'second' => ':count sekònde',
+    'list' => [', ', ' i '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap_AW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap_AW.php
new file mode 100644
index 0000000..e9a48ff
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap_AW.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - information from native speaker Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return require __DIR__.'/pap.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap_CW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap_CW.php
new file mode 100644
index 0000000..e9a48ff
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pap_CW.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - information from native speaker Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return require __DIR__.'/pap.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pl.php
new file mode 100644
index 0000000..ca10fe4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pl.php
@@ -0,0 +1,116 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Wacław Jacek
+ * - François B
+ * - Tim Fish
+ * - Serhan Apaydın
+ * - Massimiliano Caniparoli
+ * - JD Isaacks
+ * - Jakub Szwacz
+ * - Jan
+ * - Paul
+ * - damlys
+ * - Marek (marast78)
+ * - Peter (UnrulyNatives)
+ * - Qrzysio
+ * - Jan (aso824)
+ */
+return [
+    'year' => ':count rok|:count lata|:count lat',
+    'a_year' => 'rok|:count lata|:count lat',
+    'y' => ':count r|:count l|:count l',
+    'month' => ':count miesiąc|:count miesiące|:count miesięcy',
+    'a_month' => 'miesiąc|:count miesiące|:count miesięcy',
+    'm' => ':count mies.',
+    'week' => ':count tydzień|:count tygodnie|:count tygodni',
+    'a_week' => 'tydzień|:count tygodnie|:count tygodni',
+    'w' => ':count tyg.',
+    'day' => ':count dzień|:count dni|:count dni',
+    'a_day' => 'dzień|:count dni|:count dni',
+    'd' => ':count d',
+    'hour' => ':count godzina|:count godziny|:count godzin',
+    'a_hour' => 'godzina|:count godziny|:count godzin',
+    'h' => ':count godz.',
+    'minute' => ':count minuta|:count minuty|:count minut',
+    'a_minute' => 'minuta|:count minuty|:count minut',
+    'min' => ':count min.',
+    'second' => ':count sekunda|:count sekundy|:count sekund',
+    'a_second' => '{1}kilka sekund|:count sekunda|:count sekundy|:count sekund',
+    's' => ':count sek.',
+    'ago' => ':time temu',
+    'from_now' => 'za :time',
+    'after' => ':time po',
+    'before' => ':time przed',
+    'diff_now' => 'przed chwilą',
+    'diff_today' => 'Dziś',
+    'diff_today_regexp' => 'Dziś(?:\\s+o)?',
+    'diff_yesterday' => 'wczoraj',
+    'diff_yesterday_regexp' => 'Wczoraj(?:\\s+o)?',
+    'diff_tomorrow' => 'jutro',
+    'diff_tomorrow_regexp' => 'Jutro(?:\\s+o)?',
+    'diff_before_yesterday' => 'przedwczoraj',
+    'diff_after_tomorrow' => 'pojutrze',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Dziś o] LT',
+        'nextDay' => '[Jutro o] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[W niedzielę o] LT';
+                case 2:
+                    return '[We wtorek o] LT';
+                case 3:
+                    return '[W środę o] LT';
+                case 6:
+                    return '[W sobotę o] LT';
+                default:
+                    return '[W] dddd [o] LT';
+            }
+        },
+        'lastDay' => '[Wczoraj o] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[W zeszłą niedzielę o] LT';
+                case 3:
+                    return '[W zeszłą środę o] LT';
+                case 6:
+                    return '[W zeszłą sobotę o] LT';
+                default:
+                    return '[W zeszły] dddd [o] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia'],
+    'months_standalone' => ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień'],
+    'months_short' => ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],
+    'months_regexp' => '/(DD?o?\.?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => ['niedziela', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', 'sobota'],
+    'weekdays_short' => ['ndz', 'pon', 'wt', 'śr', 'czw', 'pt', 'sob'],
+    'weekdays_min' => ['Nd', 'Pn', 'Wt', 'Śr', 'Cz', 'Pt', 'So'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' i '],
+    'meridiem' => ['przed południem', 'po południu'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pl_PL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pl_PL.php
new file mode 100644
index 0000000..69cd697
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pl_PL.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/prg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/prg.php
new file mode 100644
index 0000000..d0fd2f0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/prg.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'months' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'],
+    'months_short' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'YYYY MMMM D, dddd HH:mm',
+    ],
+
+    'year' => ':count meta',
+    'y' => ':count meta',
+    'a_year' => ':count meta',
+
+    'month' => ':count mēniks', // less reliable
+    'm' => ':count mēniks', // less reliable
+    'a_month' => ':count mēniks', // less reliable
+
+    'week' => ':count sawaītin', // less reliable
+    'w' => ':count sawaītin', // less reliable
+    'a_week' => ':count sawaītin', // less reliable
+
+    'day' => ':count di',
+    'd' => ':count di',
+    'a_day' => ':count di',
+
+    'hour' => ':count bruktēt', // less reliable
+    'h' => ':count bruktēt', // less reliable
+    'a_hour' => ':count bruktēt', // less reliable
+
+    'minute' => ':count līkuts', // less reliable
+    'min' => ':count līkuts', // less reliable
+    'a_minute' => ':count līkuts', // less reliable
+
+    'second' => ':count kitan', // less reliable
+    's' => ':count kitan', // less reliable
+    'a_second' => ':count kitan', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ps.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ps.php
new file mode 100644
index 0000000..a928b28
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ps.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Muhammad Nasir Rahimi
+ * - Nassim Nasibullah (spinzar)
+ */
+return [
+    'year' => ':count کال|:count کاله',
+    'y' => ':countکال|:countکاله',
+    'month' => ':count مياشت|:count مياشتي',
+    'm' => ':countمياشت|:countمياشتي',
+    'week' => ':count اونۍ|:count اونۍ',
+    'w' => ':countاونۍ|:countاونۍ',
+    'day' => ':count ورځ|:count ورځي',
+    'd' => ':countورځ|:countورځي',
+    'hour' => ':count ساعت|:count ساعته',
+    'h' => ':countساعت|:countساعته',
+    'minute' => ':count دقيقه|:count دقيقې',
+    'min' => ':countدقيقه|:countدقيقې',
+    'second' => ':count ثانيه|:count ثانيې',
+    's' => ':countثانيه|:countثانيې',
+    'ago' => ':time دمخه',
+    'from_now' => ':time له اوس څخه',
+    'after' => ':time وروسته',
+    'before' => ':time دمخه',
+    'list' => ['، ', ' او '],
+    'meridiem' => ['غ.م.', 'غ.و.'],
+    'weekdays' => ['اتوار', 'ګل', 'نهه', 'شورو', 'زيارت', 'جمعه', 'خالي'],
+    'weekdays_short' => ['ا', 'ګ', 'ن', 'ش', 'ز', 'ج', 'خ'],
+    'weekdays_min' => ['ا', 'ګ', 'ن', 'ش', 'ز', 'ج', 'خ'],
+    'months' => ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اگست', 'سېپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'months_short' => ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اگست', 'سېپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'months_standalone' => ['جنوري', 'فېبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'months_short_standalone' => ['جنوري', 'فبروري', 'مارچ', 'اپریل', 'مۍ', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'first_day_of_week' => 6,
+    'weekend' => [4, 5],
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'YYYY/M/d',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'د YYYY د MMMM D H:mm',
+        'LLLL' => 'dddd د YYYY د MMMM D H:mm',
+    ],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ps_AF.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ps_AF.php
new file mode 100644
index 0000000..e63121e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ps_AF.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ps.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt.php
new file mode 100644
index 0000000..e36ca4c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt.php
@@ -0,0 +1,104 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Cassiano Montanari
+ * - Matt Pope
+ * - François B
+ * - Prodis
+ * - JD Isaacks
+ * - Raphael Amorim
+ * - João Magalhães
+ * - victortobias
+ * - Paulo Freitas
+ * - Sebastian Thierer
+ * - Claudson Martins (claudsonm)
+ */
+return [
+    'year' => ':count ano|:count anos',
+    'a_year' => 'um ano|:count anos',
+    'y' => ':counta',
+    'month' => ':count mês|:count meses',
+    'a_month' => 'um mês|:count meses',
+    'm' => ':countm',
+    'week' => ':count semana|:count semanas',
+    'a_week' => 'uma semana|:count semanas',
+    'w' => ':countsem',
+    'day' => ':count dia|:count dias',
+    'a_day' => 'um dia|:count dias',
+    'd' => ':countd',
+    'hour' => ':count hora|:count horas',
+    'a_hour' => 'uma hora|:count horas',
+    'h' => ':counth',
+    'minute' => ':count minuto|:count minutos',
+    'a_minute' => 'um minuto|:count minutos',
+    'min' => ':countmin',
+    'second' => ':count segundo|:count segundos',
+    'a_second' => 'alguns segundos|:count segundos',
+    's' => ':counts',
+    'millisecond' => ':count milissegundo|:count milissegundos',
+    'a_millisecond' => 'um milissegundo|:count milissegundos',
+    'ms' => ':countms',
+    'microsecond' => ':count microssegundo|:count microssegundos',
+    'a_microsecond' => 'um microssegundo|:count microssegundos',
+    'µs' => ':countµs',
+    'ago' => 'há :time',
+    'from_now' => 'em :time',
+    'after' => ':time depois',
+    'before' => ':time antes',
+    'diff_now' => 'agora',
+    'diff_today' => 'Hoje',
+    'diff_today_regexp' => 'Hoje(?:\\s+às)?',
+    'diff_yesterday' => 'ontem',
+    'diff_yesterday_regexp' => 'Ontem(?:\\s+às)?',
+    'diff_tomorrow' => 'amanhã',
+    'diff_tomorrow_regexp' => 'Amanhã(?:\\s+às)?',
+    'diff_before_yesterday' => 'anteontem',
+    'diff_after_tomorrow' => 'depois de amanhã',
+    'period_recurrences' => 'uma vez|:count vezes',
+    'period_interval' => 'cada :interval',
+    'period_start_date' => 'de :date',
+    'period_end_date' => 'até :date',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D [de] MMMM [de] YYYY',
+        'LLL' => 'D [de] MMMM [de] YYYY HH:mm',
+        'LLLL' => 'dddd, D [de] MMMM [de] YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Hoje às] LT',
+        'nextDay' => '[Amanhã às] LT',
+        'nextWeek' => 'dddd [às] LT',
+        'lastDay' => '[Ontem às] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                case 6:
+                    return '[Último] dddd [às] LT';
+                default:
+                    return '[Última] dddd [às] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberº',
+    'months' => ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],
+    'months_short' => ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],
+    'weekdays' => ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
+    'weekdays_short' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],
+    'weekdays_min' => ['Do', '2ª', '3ª', '4ª', '5ª', '6ª', 'Sá'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' e '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_AO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_AO.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_AO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_BR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_BR.php
new file mode 100644
index 0000000..e917c5c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_BR.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Cassiano Montanari
+ * - Eduardo Dalla Vecchia
+ * - David Rodrigues
+ * - Matt Pope
+ * - François B
+ * - Prodis
+ * - Marlon Maxwel
+ * - JD Isaacks
+ * - Raphael Amorim
+ * - Rafael Raupp
+ * - felipeleite1
+ * - swalker
+ * - Lucas Macedo
+ * - Paulo Freitas
+ * - Sebastian Thierer
+ */
+return array_replace_recursive(require __DIR__.'/pt.php', [
+    'period_recurrences' => 'uma|:count vez',
+    'period_interval' => 'toda :interval',
+    'formats' => [
+        'LLL' => 'D [de] MMMM [de] YYYY [às] HH:mm',
+        'LLLL' => 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',
+    ],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_CH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_CH.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_CH.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_CV.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_CV.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_CV.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_GQ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_GQ.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_GQ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_GW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_GW.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_GW.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_LU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_LU.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_LU.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_MO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_MO.php
new file mode 100644
index 0000000..331fa5c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_MO.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/pt.php', [
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'LLL' => 'D [de] MMMM [de] YYYY, h:mm a',
+        'LLLL' => 'dddd, D [de] MMMM [de] YYYY, h:mm a',
+    ],
+    'first_day_of_week' => 0,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_MZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_MZ.php
new file mode 100644
index 0000000..93bac23
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_MZ.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/pt.php', [
+    'first_day_of_week' => 0,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_PT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_PT.php
new file mode 100644
index 0000000..2a76fc1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_PT.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RAP    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/pt.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],
+    'months_short' => ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],
+    'weekdays' => ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],
+    'weekdays_short' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],
+    'weekdays_min' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_ST.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_ST.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_ST.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_TL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_TL.php
new file mode 100644
index 0000000..3d13bca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/pt_TL.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/pt.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu.php
new file mode 100644
index 0000000..5f3a392
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/es_UY.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM, YYYY HH:mm',
+    ],
+    'first_day_of_week' => 0,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu_BO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu_BO.php
new file mode 100644
index 0000000..91635d5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu_BO.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/qu.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu_EC.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu_EC.php
new file mode 100644
index 0000000..91635d5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/qu_EC.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/qu.php', [
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/quz.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/quz.php
new file mode 100644
index 0000000..1640c02
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/quz.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/quz_PE.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/quz_PE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/quz_PE.php
new file mode 100644
index 0000000..d322918
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/quz_PE.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Sugar Labs // OLPC sugarlabs.org libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['iniru', 'phiwriru', 'marsu', 'awril', 'mayu', 'huniyu', 'huliyu', 'agustu', 'siptiyimri', 'uktuwri', 'nuwiyimri', 'tisiyimri'],
+    'months_short' => ['ini', 'phi', 'mar', 'awr', 'may', 'hun', 'hul', 'agu', 'sip', 'ukt', 'nuw', 'tis'],
+    'weekdays' => ['tuminku', 'lunis', 'martis', 'miyirkulis', 'juywis', 'wiyirnis', 'sawatu'],
+    'weekdays_short' => ['tum', 'lun', 'mar', 'miy', 'juy', 'wiy', 'saw'],
+    'weekdays_min' => ['tum', 'lun', 'mar', 'miy', 'juy', 'wiy', 'saw'],
+    'day_of_first_week_of_year' => 1,
+
+    'minute' => ':count uchuy', // less reliable
+    'min' => ':count uchuy', // less reliable
+    'a_minute' => ':count uchuy', // less reliable
+
+    'year' => ':count wata',
+    'y' => ':count wata',
+    'a_year' => ':count wata',
+
+    'month' => ':count killa',
+    'm' => ':count killa',
+    'a_month' => ':count killa',
+
+    'week' => ':count simana',
+    'w' => ':count simana',
+    'a_week' => ':count simana',
+
+    'day' => ':count pʼunchaw',
+    'd' => ':count pʼunchaw',
+    'a_day' => ':count pʼunchaw',
+
+    'hour' => ':count ura',
+    'h' => ':count ura',
+    'a_hour' => ':count ura',
+
+    'second' => ':count iskay ñiqin',
+    's' => ':count iskay ñiqin',
+    'a_second' => ':count iskay ñiqin',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/raj.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/raj.php
new file mode 100644
index 0000000..26138c9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/raj.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/raj_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/raj_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/raj_IN.php
new file mode 100644
index 0000000..7b4589c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/raj_IN.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - meghrajsuthar03@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितंबर', 'अक्टूबर', 'नवंबर', 'दिसंबर'],
+    'months_short' => ['जन', 'फर', 'मार्च', 'अप्रै', 'मई', 'जून', 'जुल', 'अग', 'सित', 'अक्टू', 'नव', 'दिस'],
+    'weekdays' => ['रविवार', 'सोमवार', 'मंगल्लवार', 'बुधवार', 'बृहस्पतिवार', 'शुक्रवार', 'शनिवार'],
+    'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बुध', 'बृहस्पति', 'शुक्र', 'शनि'],
+    'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बुध', 'बृहस्पति', 'शुक्र', 'शनि'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+
+    'year' => ':count आंहू', // less reliable
+    'y' => ':count आंहू', // less reliable
+    'a_year' => ':count आंहू', // less reliable
+
+    'month' => ':count सूरज', // less reliable
+    'm' => ':count सूरज', // less reliable
+    'a_month' => ':count सूरज', // less reliable
+
+    'week' => ':count निवाज', // less reliable
+    'w' => ':count निवाज', // less reliable
+    'a_week' => ':count निवाज', // less reliable
+
+    'day' => ':count अेक', // less reliable
+    'd' => ':count अेक', // less reliable
+    'a_day' => ':count अेक', // less reliable
+
+    'hour' => ':count दुनियांण', // less reliable
+    'h' => ':count दुनियांण', // less reliable
+    'a_hour' => ':count दुनियांण', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rm.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rm.php
new file mode 100644
index 0000000..1843f45
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rm.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - tjku
+ * - Max Melentiev
+ * - Juanito Fatas
+ * - Tsutomu Kuroda
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Nicolás Hock Isaza
+ * - sebastian de castelberg
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'Do MMMM YYYY',
+        'LLL' => 'Do MMMM, HH:mm [Uhr]',
+        'LLLL' => 'dddd, Do MMMM YYYY, HH:mm [Uhr]',
+    ],
+    'year' => ':count onn|:count onns',
+    'month' => ':count mais',
+    'week' => ':count emna|:count emnas',
+    'day' => ':count di|:count dis',
+    'hour' => ':count oura|:count ouras',
+    'minute' => ':count minuta|:count minutas',
+    'second' => ':count secunda|:count secundas',
+    'weekdays' => ['dumengia', 'glindesdi', 'mardi', 'mesemna', 'gievgia', 'venderdi', 'sonda'],
+    'weekdays_short' => ['du', 'gli', 'ma', 'me', 'gie', 've', 'so'],
+    'weekdays_min' => ['du', 'gli', 'ma', 'me', 'gie', 've', 'so'],
+    'months' => ['schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', 'fanadur', 'avust', 'settember', 'october', 'november', 'december'],
+    'months_short' => ['schan', 'favr', 'mars', 'avr', 'matg', 'zercl', 'fan', 'avust', 'sett', 'oct', 'nov', 'dec'],
+    'meridiem' => ['avantmezdi', 'suentermezdi'],
+    'list' => [', ', ' e '],
+    'first_day_of_week' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rn.php
new file mode 100644
index 0000000..637d4e5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rn.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Z.MU.', 'Z.MW.'],
+    'weekdays' => ['Ku w’indwi', 'Ku wa mbere', 'Ku wa kabiri', 'Ku wa gatatu', 'Ku wa kane', 'Ku wa gatanu', 'Ku wa gatandatu'],
+    'weekdays_short' => ['cu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'],
+    'weekdays_min' => ['cu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'],
+    'months' => ['Nzero', 'Ruhuhuma', 'Ntwarante', 'Ndamukiza', 'Rusama', 'Ruheshi', 'Mukakaro', 'Nyandagaro', 'Nyakanga', 'Gitugutu', 'Munyonyo', 'Kigarama'],
+    'months_short' => ['Mut.', 'Gas.', 'Wer.', 'Mat.', 'Gic.', 'Kam.', 'Nya.', 'Kan.', 'Nze.', 'Ukw.', 'Ugu.', 'Uku.'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'year' => 'imyaka :count',
+    'y' => 'imyaka :count',
+    'a_year' => 'imyaka :count',
+
+    'month' => 'amezi :count',
+    'm' => 'amezi :count',
+    'a_month' => 'amezi :count',
+
+    'week' => 'indwi :count',
+    'w' => 'indwi :count',
+    'a_week' => 'indwi :count',
+
+    'day' => 'imisi :count',
+    'd' => 'imisi :count',
+    'a_day' => 'imisi :count',
+
+    'hour' => 'amasaha :count',
+    'h' => 'amasaha :count',
+    'a_hour' => 'amasaha :count',
+
+    'minute' => 'iminuta :count',
+    'min' => 'iminuta :count',
+    'a_minute' => 'iminuta :count',
+
+    'second' => 'inguvu :count', // less reliable
+    's' => 'inguvu :count', // less reliable
+    'a_second' => 'inguvu :count', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro.php
new file mode 100644
index 0000000..868a327
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - JD Isaacks
+ * - Cătălin Georgescu
+ * - Valentin Ivaşcu (oriceon)
+ */
+return [
+    'year' => ':count an|:count ani|:count ani',
+    'a_year' => 'un an|:count ani|:count ani',
+    'y' => ':count a.',
+    'month' => ':count lună|:count luni|:count luni',
+    'a_month' => 'o lună|:count luni|:count luni',
+    'm' => ':count l.',
+    'week' => ':count săptămână|:count săptămâni|:count săptămâni',
+    'a_week' => 'o săptămână|:count săptămâni|:count săptămâni',
+    'w' => ':count săp.',
+    'day' => ':count zi|:count zile|:count zile',
+    'a_day' => 'o zi|:count zile|:count zile',
+    'd' => ':count z.',
+    'hour' => ':count oră|:count ore|:count ore',
+    'a_hour' => 'o oră|:count ore|:count ore',
+    'h' => ':count o.',
+    'minute' => ':count minut|:count minute|:count minute',
+    'a_minute' => 'un minut|:count minute|:count minute',
+    'min' => ':count m.',
+    'second' => ':count secundă|:count secunde|:count secunde',
+    'a_second' => 'câteva secunde|:count secunde|:count secunde',
+    's' => ':count sec.',
+    'ago' => ':time în urmă',
+    'from_now' => 'peste :time',
+    'after' => 'peste :time',
+    'before' => 'acum :time',
+    'diff_now' => 'acum',
+    'diff_today' => 'azi',
+    'diff_today_regexp' => 'azi(?:\\s+la)?',
+    'diff_yesterday' => 'ieri',
+    'diff_yesterday_regexp' => 'ieri(?:\\s+la)?',
+    'diff_tomorrow' => 'mâine',
+    'diff_tomorrow_regexp' => 'mâine(?:\\s+la)?',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[azi la] LT',
+        'nextDay' => '[mâine la] LT',
+        'nextWeek' => 'dddd [la] LT',
+        'lastDay' => '[ieri la] LT',
+        'lastWeek' => '[fosta] dddd [la] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'],
+    'months_short' => ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'],
+    'weekdays' => ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă'],
+    'weekdays_short' => ['dum', 'lun', 'mar', 'mie', 'joi', 'vin', 'sâm'],
+    'weekdays_min' => ['du', 'lu', 'ma', 'mi', 'jo', 'vi', 'sâ'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' și '],
+    'meridiem' => ['a.m.', 'p.m.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro_MD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro_MD.php
new file mode 100644
index 0000000..0ba6f68
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro_MD.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ro.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY, HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro_RO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro_RO.php
new file mode 100644
index 0000000..dd7c8f0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ro_RO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ro.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rof.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rof.php
new file mode 100644
index 0000000..80ab454
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rof.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['kang’ama', 'kingoto'],
+    'weekdays' => ['Ijumapili', 'Ijumatatu', 'Ijumanne', 'Ijumatano', 'Alhamisi', 'Ijumaa', 'Ijumamosi'],
+    'weekdays_short' => ['Ijp', 'Ijt', 'Ijn', 'Ijtn', 'Alh', 'Iju', 'Ijm'],
+    'weekdays_min' => ['Ijp', 'Ijt', 'Ijn', 'Ijtn', 'Alh', 'Iju', 'Ijm'],
+    'months' => ['Mweri wa kwanza', 'Mweri wa kaili', 'Mweri wa katatu', 'Mweri wa kaana', 'Mweri wa tanu', 'Mweri wa sita', 'Mweri wa saba', 'Mweri wa nane', 'Mweri wa tisa', 'Mweri wa ikumi', 'Mweri wa ikumi na moja', 'Mweri wa ikumi na mbili'],
+    'months_short' => ['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8', 'M9', 'M10', 'M11', 'M12'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru.php
new file mode 100644
index 0000000..93e0e01
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru.php
@@ -0,0 +1,188 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Bari Badamshin
+ * - Jørn Ølmheim
+ * - François B
+ * - Tim Fish
+ * - Коренберг Марк (imac)
+ * - Serhan Apaydın
+ * - RomeroMsk
+ * - vsn4ik
+ * - JD Isaacks
+ * - Bari Badamshin
+ * - Jørn Ølmheim
+ * - François B
+ * - Коренберг Марк (imac)
+ * - Serhan Apaydın
+ * - RomeroMsk
+ * - vsn4ik
+ * - JD Isaacks
+ * - Fellzo
+ * - andrey-helldar
+ * - Pavel Skripkin (psxx)
+ * - AlexWalkerson
+ * - Vladislav UnsealedOne
+ * - dima-bzz
+ */
+$transformDiff = function ($input) {
+    return strtr($input, [
+        'неделя' => 'неделю',
+        'секунда' => 'секунду',
+        'минута' => 'минуту',
+    ]);
+};
+
+return [
+    'year' => ':count год|:count года|:count лет',
+    'y' => ':count г.|:count г.|:count л.',
+    'a_year' => '{1}год|:count год|:count года|:count лет',
+    'month' => ':count месяц|:count месяца|:count месяцев',
+    'm' => ':count мес.',
+    'a_month' => '{1}месяц|:count месяц|:count месяца|:count месяцев',
+    'week' => ':count неделя|:count недели|:count недель',
+    'w' => ':count нед.',
+    'a_week' => '{1}неделя|:count неделю|:count недели|:count недель',
+    'day' => ':count день|:count дня|:count дней',
+    'd' => ':count д.',
+    'a_day' => '{1}день|:count день|:count дня|:count дней',
+    'hour' => ':count час|:count часа|:count часов',
+    'h' => ':count ч.',
+    'a_hour' => '{1}час|:count час|:count часа|:count часов',
+    'minute' => ':count минута|:count минуты|:count минут',
+    'min' => ':count мин.',
+    'a_minute' => '{1}минута|:count минута|:count минуты|:count минут',
+    'second' => ':count секунда|:count секунды|:count секунд',
+    's' => ':count сек.',
+    'a_second' => '{1}несколько секунд|:count секунду|:count секунды|:count секунд',
+    'ago' => function ($time) use ($transformDiff) {
+        return $transformDiff($time).' назад';
+    },
+    'from_now' => function ($time) use ($transformDiff) {
+        return 'через '.$transformDiff($time);
+    },
+    'after' => function ($time) use ($transformDiff) {
+        return $transformDiff($time).' после';
+    },
+    'before' => function ($time) use ($transformDiff) {
+        return $transformDiff($time).' до';
+    },
+    'diff_now' => 'только что',
+    'diff_today' => 'Сегодня,',
+    'diff_today_regexp' => 'Сегодня,?(?:\\s+в)?',
+    'diff_yesterday' => 'вчера',
+    'diff_yesterday_regexp' => 'Вчера,?(?:\\s+в)?',
+    'diff_tomorrow' => 'завтра',
+    'diff_tomorrow_regexp' => 'Завтра,?(?:\\s+в)?',
+    'diff_before_yesterday' => 'позавчера',
+    'diff_after_tomorrow' => 'послезавтра',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY г.',
+        'LLL' => 'D MMMM YYYY г., H:mm',
+        'LLLL' => 'dddd, D MMMM YYYY г., H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Сегодня, в] LT',
+        'nextDay' => '[Завтра, в] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) {
+            if ($current->week !== $other->week) {
+                switch ($current->dayOfWeek) {
+                    case 0:
+                        return '[В следующее] dddd, [в] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                        return '[В следующий] dddd, [в] LT';
+                    case 3:
+                    case 5:
+                    case 6:
+                        return '[В следующую] dddd, [в] LT';
+                }
+            }
+
+            if ($current->dayOfWeek === 2) {
+                return '[Во] dddd, [в] LT';
+            }
+
+            return '[В] dddd, [в] LT';
+        },
+        'lastDay' => '[Вчера, в] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) {
+            if ($current->week !== $other->week) {
+                switch ($current->dayOfWeek) {
+                    case 0:
+                        return '[В прошлое] dddd, [в] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                        return '[В прошлый] dddd, [в] LT';
+                    case 3:
+                    case 5:
+                    case 6:
+                        return '[В прошлую] dddd, [в] LT';
+                }
+            }
+
+            if ($current->dayOfWeek === 2) {
+                return '[Во] dddd, [в] LT';
+            }
+
+            return '[В] dddd, [в] LT';
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'M':
+            case 'd':
+            case 'DDD':
+                return $number.'-й';
+            case 'D':
+                return $number.'-го';
+            case 'w':
+            case 'W':
+                return $number.'-я';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'ночи';
+        }
+        if ($hour < 12) {
+            return 'утра';
+        }
+        if ($hour < 17) {
+            return 'дня';
+        }
+
+        return 'вечера';
+    },
+    'months' => ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'],
+    'months_standalone' => ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'],
+    'months_short' => ['янв', 'фев', 'мар', 'апр', 'мая', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+    'months_short_standalone' => ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+    'months_regexp' => '/(DD?o?\.?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => ['воскресенье', 'понедельник', 'вторник', 'среду', 'четверг', 'пятницу', 'субботу'],
+    'weekdays_standalone' => ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
+    'weekdays_short' => ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'сбт'],
+    'weekdays_min' => ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
+    'weekdays_regexp' => '/\[\s*(В|в)\s*((?:прошлую|следующую|эту)\s*)?\]\s*dddd/',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' и '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_BY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_BY.php
new file mode 100644
index 0000000..2c8d78f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_BY.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ru.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_KG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_KG.php
new file mode 100644
index 0000000..2c8d78f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_KG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ru.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_KZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_KZ.php
new file mode 100644
index 0000000..2c8d78f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_KZ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ru.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_MD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_MD.php
new file mode 100644
index 0000000..2c8d78f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_MD.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ru.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_RU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_RU.php
new file mode 100644
index 0000000..2c8d78f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_RU.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ru.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_UA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_UA.php
new file mode 100644
index 0000000..db958d6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ru_UA.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - RFC 2319    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ru.php', [
+    'weekdays' => ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
+    'weekdays_short' => ['вск', 'пнд', 'вто', 'срд', 'чтв', 'птн', 'суб'],
+    'weekdays_min' => ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'су'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rw.php
new file mode 100644
index 0000000..bc4a347
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rw.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/rw_RW.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rw_RW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rw_RW.php
new file mode 100644
index 0000000..9b3e068
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rw_RW.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Rwanda Steve Murphy murf@e-tools.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Mutarama', 'Gashyantare', 'Werurwe', 'Mata', 'Gicuransi', 'Kamena', 'Nyakanga', 'Kanama', 'Nzeli', 'Ukwakira', 'Ugushyingo', 'Ukuboza'],
+    'months_short' => ['Mut', 'Gas', 'Wer', 'Mat', 'Gic', 'Kam', 'Nya', 'Kan', 'Nze', 'Ukw', 'Ugu', 'Uku'],
+    'weekdays' => ['Ku cyumweru', 'Kuwa mbere', 'Kuwa kabiri', 'Kuwa gatatu', 'Kuwa kane', 'Kuwa gatanu', 'Kuwa gatandatu'],
+    'weekdays_short' => ['Mwe', 'Mbe', 'Kab', 'Gtu', 'Kan', 'Gnu', 'Gnd'],
+    'weekdays_min' => ['Mwe', 'Mbe', 'Kab', 'Gtu', 'Kan', 'Gnu', 'Gnd'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'second' => ':count vuna', // less reliable
+    's' => ':count vuna', // less reliable
+    'a_second' => ':count vuna', // less reliable
+
+    'year' => 'aka :count',
+    'y' => 'aka :count',
+    'a_year' => 'aka :count',
+
+    'month' => 'ezi :count',
+    'm' => 'ezi :count',
+    'a_month' => 'ezi :count',
+
+    'week' => ':count icyumweru',
+    'w' => ':count icyumweru',
+    'a_week' => ':count icyumweru',
+
+    'day' => ':count nsi',
+    'd' => ':count nsi',
+    'a_day' => ':count nsi',
+
+    'hour' => 'saha :count',
+    'h' => 'saha :count',
+    'a_hour' => 'saha :count',
+
+    'minute' => ':count -nzinya',
+    'min' => ':count -nzinya',
+    'a_minute' => ':count -nzinya',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rwk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rwk.php
new file mode 100644
index 0000000..f8cc72c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/rwk.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['utuko', 'kyiukonyi'],
+    'weekdays' => ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sa.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sa.php
new file mode 100644
index 0000000..1357c03
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sa.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/sa_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sa_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sa_IN.php
new file mode 100644
index 0000000..cfda9a6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sa_IN.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - The Debian project Christian Perrier bubulle@debian.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D-MM-YY',
+    ],
+    'months' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'months_short' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'weekdays' => ['रविवासर:', 'सोमवासर:', 'मंगलवासर:', 'बुधवासर:', 'बृहस्पतिवासरः', 'शुक्रवासर', 'शनिवासर:'],
+    'weekdays_short' => ['रविः', 'सोम:', 'मंगल:', 'बुध:', 'बृहस्पतिः', 'शुक्र', 'शनि:'],
+    'weekdays_min' => ['रविः', 'सोम:', 'मंगल:', 'बुध:', 'बृहस्पतिः', 'शुक्र', 'शनि:'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+
+    'minute' => ':count होरा', // less reliable
+    'min' => ':count होरा', // less reliable
+    'a_minute' => ':count होरा', // less reliable
+
+    'year' => ':count वर्ष',
+    'y' => ':count वर्ष',
+    'a_year' => ':count वर्ष',
+
+    'month' => ':count मास',
+    'm' => ':count मास',
+    'a_month' => ':count मास',
+
+    'week' => ':count सप्ताहः saptahaĥ',
+    'w' => ':count सप्ताहः saptahaĥ',
+    'a_week' => ':count सप्ताहः saptahaĥ',
+
+    'day' => ':count दिन',
+    'd' => ':count दिन',
+    'a_day' => ':count दिन',
+
+    'hour' => ':count घण्टा',
+    'h' => ':count घण्टा',
+    'a_hour' => ':count घण्टा',
+
+    'second' => ':count द्वितीयः',
+    's' => ':count द्वितीयः',
+    'a_second' => ':count द्वितीयः',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sah.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sah.php
new file mode 100644
index 0000000..b828824
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sah.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/sah_RU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sah_RU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sah_RU.php
new file mode 100644
index 0000000..94cc0cb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sah_RU.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Valery Timiriliyev Valery Timiriliyev timiriliyev@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/ru.php', [
+    'formats' => [
+        'L' => 'YYYY.MM.DD',
+    ],
+    'months' => ['тохсунньу', 'олунньу', 'кулун тутар', 'муус устар', 'ыам ыйын', 'бэс ыйын', 'от ыйын', 'атырдьах ыйын', 'балаҕан ыйын', 'алтынньы', 'сэтинньи', 'ахсынньы'],
+    'months_short' => ['тохс', 'олун', 'кул', 'муус', 'ыам', 'бэс', 'от', 'атыр', 'бал', 'алт', 'сэт', 'ахс'],
+    'weekdays' => ['баскыһыанньа', 'бэнидиэнньик', 'оптуорунньук', 'сэрэдэ', 'чэппиэр', 'бээтинсэ', 'субуота'],
+    'weekdays_short' => ['бс', 'бн', 'оп', 'ср', 'чп', 'бт', 'сб'],
+    'weekdays_min' => ['бс', 'бн', 'оп', 'ср', 'чп', 'бт', 'сб'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/saq.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/saq.php
new file mode 100644
index 0000000..eebfac9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/saq.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Tesiran', 'Teipa'],
+    'weekdays' => ['Mderot ee are', 'Mderot ee kuni', 'Mderot ee ong’wan', 'Mderot ee inet', 'Mderot ee ile', 'Mderot ee sapa', 'Mderot ee kwe'],
+    'weekdays_short' => ['Are', 'Kun', 'Ong', 'Ine', 'Ile', 'Sap', 'Kwe'],
+    'weekdays_min' => ['Are', 'Kun', 'Ong', 'Ine', 'Ile', 'Sap', 'Kwe'],
+    'months' => ['Lapa le obo', 'Lapa le waare', 'Lapa le okuni', 'Lapa le ong’wan', 'Lapa le imet', 'Lapa le ile', 'Lapa le sapa', 'Lapa le isiet', 'Lapa le saal', 'Lapa le tomon', 'Lapa le tomon obo', 'Lapa le tomon waare'],
+    'months_short' => ['Obo', 'Waa', 'Oku', 'Ong', 'Ime', 'Ile', 'Sap', 'Isi', 'Saa', 'Tom', 'Tob', 'Tow'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sat.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sat.php
new file mode 100644
index 0000000..c9914c6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sat.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/sat_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sat_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sat_IN.php
new file mode 100644
index 0000000..632b1af
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sat_IN.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat Pune    libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फरवरी', 'मार्च', 'अप्रेल', 'मई', 'जुन', 'जुलाई', 'अगस्त', 'सितम्बर', 'अखथबर', 'नवम्बर', 'दिसम्बर'],
+    'months_short' => ['जनवरी', 'फरवरी', 'मार्च', 'अप्रेल', 'मई', 'जुन', 'जुलाई', 'अगस्त', 'सितम्बर', 'अखथबर', 'नवम्बर', 'दिसम्बर'],
+    'weekdays' => ['सिंगेमाँहाँ', 'ओतेमाँहाँ', 'बालेमाँहाँ', 'सागुनमाँहाँ', 'सारदीमाँहाँ', 'जारुममाँहाँ', 'ञुहुममाँहाँ'],
+    'weekdays_short' => ['सिंगे', 'ओते', 'बाले', 'सागुन', 'सारदी', 'जारुम', 'ञुहुम'],
+    'weekdays_min' => ['सिंगे', 'ओते', 'बाले', 'सागुन', 'सारदी', 'जारुम', 'ञुहुम'],
+    'day_of_first_week_of_year' => 1,
+
+    'month' => ':count ńindạ cando', // less reliable
+    'm' => ':count ńindạ cando', // less reliable
+    'a_month' => ':count ńindạ cando', // less reliable
+
+    'week' => ':count mãhã', // less reliable
+    'w' => ':count mãhã', // less reliable
+    'a_week' => ':count mãhã', // less reliable
+
+    'hour' => ':count ᱥᱳᱱᱚ', // less reliable
+    'h' => ':count ᱥᱳᱱᱚ', // less reliable
+    'a_hour' => ':count ᱥᱳᱱᱚ', // less reliable
+
+    'minute' => ':count ᱯᱤᱞᱪᱩ', // less reliable
+    'min' => ':count ᱯᱤᱞᱪᱩ', // less reliable
+    'a_minute' => ':count ᱯᱤᱞᱪᱩ', // less reliable
+
+    'second' => ':count ar', // less reliable
+    's' => ':count ar', // less reliable
+    'a_second' => ':count ar', // less reliable
+
+    'year' => ':count ne̲s',
+    'y' => ':count ne̲s',
+    'a_year' => ':count ne̲s',
+
+    'day' => ':count ᱫᱤᱱ',
+    'd' => ':count ᱫᱤᱱ',
+    'a_day' => ':count ᱫᱤᱱ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sbp.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sbp.php
new file mode 100644
index 0000000..9b73783
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sbp.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Lwamilawu', 'Pashamihe'],
+    'weekdays' => ['Mulungu', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alahamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['Mul', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'weekdays_min' => ['Mul', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'months' => ['Mupalangulwa', 'Mwitope', 'Mushende', 'Munyi', 'Mushende Magali', 'Mujimbi', 'Mushipepo', 'Mupuguto', 'Munyense', 'Mokhu', 'Musongandembwe', 'Muhaano'],
+    'months_short' => ['Mup', 'Mwi', 'Msh', 'Mun', 'Mag', 'Muj', 'Msp', 'Mpg', 'Mye', 'Mok', 'Mus', 'Muh'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sc.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sc.php
new file mode 100644
index 0000000..7178cf4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sc.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/sc_IT.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sc_IT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sc_IT.php
new file mode 100644
index 0000000..5d1e4ce
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sc_IT.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Sardinian Translators Team Massimeddu Cireddu massimeddu@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD. MM. YY',
+    ],
+    'months' => ['Ghennàrgiu', 'Freàrgiu', 'Martzu', 'Abrile', 'Maju', 'Làmpadas', 'Argiolas//Trìulas', 'Austu', 'Cabudanni', 'Santugaine//Ladàmine', 'Onniasantu//Santandria', 'Nadale//Idas'],
+    'months_short' => ['Ghe', 'Fre', 'Mar', 'Abr', 'Maj', 'Làm', 'Arg', 'Aus', 'Cab', 'Lad', 'Onn', 'Nad'],
+    'weekdays' => ['Domìnigu', 'Lunis', 'Martis', 'Mèrcuris', 'Giòbia', 'Chenàbura', 'Sàbadu'],
+    'weekdays_short' => ['Dom', 'Lun', 'Mar', 'Mèr', 'Giò', 'Che', 'Sàb'],
+    'weekdays_min' => ['Dom', 'Lun', 'Mar', 'Mèr', 'Giò', 'Che', 'Sàb'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'minute' => ':count mementu', // less reliable
+    'min' => ':count mementu', // less reliable
+    'a_minute' => ':count mementu', // less reliable
+
+    'year' => ':count annu',
+    'y' => ':count annu',
+    'a_year' => ':count annu',
+
+    'month' => ':count mese',
+    'm' => ':count mese',
+    'a_month' => ':count mese',
+
+    'week' => ':count chida',
+    'w' => ':count chida',
+    'a_week' => ':count chida',
+
+    'day' => ':count dí',
+    'd' => ':count dí',
+    'a_day' => ':count dí',
+
+    'hour' => ':count ora',
+    'h' => ':count ora',
+    'a_hour' => ':count ora',
+
+    'second' => ':count secundu',
+    's' => ':count secundu',
+    'a_second' => ':count secundu',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd.php
new file mode 100644
index 0000000..ad8c000
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd.php
@@ -0,0 +1,80 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+$months = [
+    'جنوري',
+    'فيبروري',
+    'مارچ',
+    'اپريل',
+    'مئي',
+    'جون',
+    'جولاءِ',
+    'آگسٽ',
+    'سيپٽمبر',
+    'آڪٽوبر',
+    'نومبر',
+    'ڊسمبر',
+];
+
+$weekdays = [
+    'آچر',
+    'سومر',
+    'اڱارو',
+    'اربع',
+    'خميس',
+    'جمع',
+    'ڇنڇر',
+];
+
+/*
+ * Authors:
+ * - Narain Sagar
+ * - Sawood Alam
+ * - Narain Sagar
+ */
+return [
+    'year' => '{1}'.'هڪ سال'.'|:count '.'سال',
+    'month' => '{1}'.'هڪ مهينو'.'|:count '.'مهينا',
+    'week' => '{1}'.'ھڪ ھفتو'.'|:count '.'هفتا',
+    'day' => '{1}'.'هڪ ڏينهن'.'|:count '.'ڏينهن',
+    'hour' => '{1}'.'هڪ ڪلاڪ'.'|:count '.'ڪلاڪ',
+    'minute' => '{1}'.'هڪ منٽ'.'|:count '.'منٽ',
+    'second' => '{1}'.'چند سيڪنڊ'.'|:count '.'سيڪنڊ',
+    'ago' => ':time اڳ',
+    'from_now' => ':time پوء',
+    'diff_yesterday' => 'ڪالهه',
+    'diff_today' => 'اڄ',
+    'diff_tomorrow' => 'سڀاڻي',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd، D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[اڄ] LT',
+        'nextDay' => '[سڀاڻي] LT',
+        'nextWeek' => 'dddd [اڳين هفتي تي] LT',
+        'lastDay' => '[ڪالهه] LT',
+        'lastWeek' => '[گزريل هفتي] dddd [تي] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['صبح', 'شام'],
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => $weekdays,
+    'weekdays_short' => $weekdays,
+    'weekdays_min' => $weekdays,
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => ['، ', ' ۽ '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN.php
new file mode 100644
index 0000000..de1dad0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat, Pune    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/sd.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['جنوري', 'فبروري', 'مارچ', 'اپريل', 'مي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽيمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'],
+    'months_short' => ['جنوري', 'فبروري', 'مارچ', 'اپريل', 'مي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽيمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'],
+    'weekdays' => ['آرتوارُ', 'سومرُ', 'منگلُ', 'ٻُڌرُ', 'وسپت', 'جُمو', 'ڇنڇر'],
+    'weekdays_short' => ['آرتوارُ', 'سومرُ', 'منگلُ', 'ٻُڌرُ', 'وسپت', 'جُمو', 'ڇنڇر'],
+    'weekdays_min' => ['آرتوارُ', 'سومرُ', 'منگلُ', 'ٻُڌرُ', 'وسپت', 'جُمو', 'ڇنڇر'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN@devanagari.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN@devanagari.php
new file mode 100644
index 0000000..061fcc1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN@devanagari.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat, Pune    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/sd.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['जनवरी', 'फबरवरी', 'मार्चि', 'अप्रेल', 'मे', 'जूनि', 'जूलाइ', 'आगस्टु', 'सेप्टेंबरू', 'आक्टूबरू', 'नवंबरू', 'ॾिसंबरू'],
+    'months_short' => ['जनवरी', 'फबरवरी', 'मार्चि', 'अप्रेल', 'मे', 'जूनि', 'जूलाइ', 'आगस्टु', 'सेप्टेंबरू', 'आक्टूबरू', 'नवंबरू', 'ॾिसंबरू'],
+    'weekdays' => ['आर्तवारू', 'सूमरू', 'मंगलू', 'ॿुधरू', 'विस्पति', 'जुमो', 'छंछस'],
+    'weekdays_short' => ['आर्तवारू', 'सूमरू', 'मंगलू', 'ॿुधरू', 'विस्पति', 'जुमो', 'छंछस'],
+    'weekdays_min' => ['आर्तवारू', 'सूमरू', 'मंगलू', 'ॿुधरू', 'विस्पति', 'जुमो', 'छंछस'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['म.पू.', 'म.नं.'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se.php
new file mode 100644
index 0000000..7c4b92a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se.php
@@ -0,0 +1,73 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Karamell
+ */
+return [
+    'year' => '{1}:count jahki|:count jagit',
+    'a_year' => '{1}okta jahki|:count jagit',
+    'y' => ':count j.',
+    'month' => '{1}:count mánnu|:count mánut',
+    'a_month' => '{1}okta mánnu|:count mánut',
+    'm' => ':count mán.',
+    'week' => '{1}:count vahkku|:count vahkku',
+    'a_week' => '{1}okta vahkku|:count vahkku',
+    'w' => ':count v.',
+    'day' => '{1}:count beaivi|:count beaivvit',
+    'a_day' => '{1}okta beaivi|:count beaivvit',
+    'd' => ':count b.',
+    'hour' => '{1}:count diimmu|:count diimmut',
+    'a_hour' => '{1}okta diimmu|:count diimmut',
+    'h' => ':count d.',
+    'minute' => '{1}:count minuhta|:count minuhtat',
+    'a_minute' => '{1}okta minuhta|:count minuhtat',
+    'min' => ':count min.',
+    'second' => '{1}:count sekunddat|:count sekunddat',
+    'a_second' => '{1}moadde sekunddat|:count sekunddat',
+    's' => ':count s.',
+    'ago' => 'maŋit :time',
+    'from_now' => ':time geažes',
+    'diff_yesterday' => 'ikte',
+    'diff_yesterday_regexp' => 'ikte(?:\\s+ti)?',
+    'diff_today' => 'otne',
+    'diff_today_regexp' => 'otne(?:\\s+ti)?',
+    'diff_tomorrow' => 'ihttin',
+    'diff_tomorrow_regexp' => 'ihttin(?:\\s+ti)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'MMMM D. [b.] YYYY',
+        'LLL' => 'MMMM D. [b.] YYYY [ti.] HH:mm',
+        'LLLL' => 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[otne ti] LT',
+        'nextDay' => '[ihttin ti] LT',
+        'nextWeek' => 'dddd [ti] LT',
+        'lastDay' => '[ikte ti] LT',
+        'lastWeek' => '[ovddit] dddd [ti] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'],
+    'months_short' => ['ođđj', 'guov', 'njuk', 'cuo', 'mies', 'geas', 'suoi', 'borg', 'čakč', 'golg', 'skáb', 'juov'],
+    'weekdays' => ['sotnabeaivi', 'vuossárga', 'maŋŋebárga', 'gaskavahkku', 'duorastat', 'bearjadat', 'lávvardat'],
+    'weekdays_short' => ['sotn', 'vuos', 'maŋ', 'gask', 'duor', 'bear', 'láv'],
+    'weekdays_min' => ['s', 'v', 'm', 'g', 'd', 'b', 'L'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' ja '],
+    'meridiem' => ['i.b.', 'e.b.'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_FI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_FI.php
new file mode 100644
index 0000000..b2b967e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_FI.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/se.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'months' => ['ođđajagemánnu', 'guovvamánnu', 'njukčamánnu', 'cuoŋománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'čakčamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'],
+    'months_short' => ['ođđj', 'guov', 'njuk', 'cuoŋ', 'mies', 'geas', 'suoi', 'borg', 'čakč', 'golg', 'skáb', 'juov'],
+    'weekdays' => ['sotnabeaivi', 'mánnodat', 'disdat', 'gaskavahkku', 'duorastat', 'bearjadat', 'lávvordat'],
+    'weekdays_short' => ['so', 'má', 'di', 'ga', 'du', 'be', 'lá'],
+    'weekdays_min' => ['so', 'má', 'di', 'ga', 'du', 'be', 'lá'],
+    'meridiem' => ['i', 'e'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_NO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_NO.php
new file mode 100644
index 0000000..83bbf78
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_NO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/se.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_SE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_SE.php
new file mode 100644
index 0000000..83bbf78
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/se_SE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/se.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/seh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/seh.php
new file mode 100644
index 0000000..3ad889a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/seh.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['Dimingu', 'Chiposi', 'Chipiri', 'Chitatu', 'Chinai', 'Chishanu', 'Sabudu'],
+    'weekdays_short' => ['Dim', 'Pos', 'Pir', 'Tat', 'Nai', 'Sha', 'Sab'],
+    'weekdays_min' => ['Dim', 'Pos', 'Pir', 'Tat', 'Nai', 'Sha', 'Sab'],
+    'months' => ['Janeiro', 'Fevreiro', 'Marco', 'Abril', 'Maio', 'Junho', 'Julho', 'Augusto', 'Setembro', 'Otubro', 'Novembro', 'Decembro'],
+    'months_short' => ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Aug', 'Set', 'Otu', 'Nov', 'Dec'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'd [de] MMM [de] YYYY',
+        'LLL' => 'd [de] MMMM [de] YYYY HH:mm',
+        'LLLL' => 'dddd, d [de] MMMM [de] YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ses.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ses.php
new file mode 100644
index 0000000..9355184
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ses.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Adduha', 'Aluula'],
+    'weekdays' => ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', 'Asibti'],
+    'weekdays_short' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'],
+    'weekdays_min' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'],
+    'months' => ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'Žuweŋ', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'],
+    'months_short' => ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'month' => ':count alaada', // less reliable
+    'm' => ':count alaada', // less reliable
+    'a_month' => ':count alaada', // less reliable
+
+    'hour' => ':count ɲaajin', // less reliable
+    'h' => ':count ɲaajin', // less reliable
+    'a_hour' => ':count ɲaajin', // less reliable
+
+    'minute' => ':count zarbu', // less reliable
+    'min' => ':count zarbu', // less reliable
+    'a_minute' => ':count zarbu', // less reliable
+
+    'year' => ':count jiiri',
+    'y' => ':count jiiri',
+    'a_year' => ':count jiiri',
+
+    'week' => ':count jirbiiyye',
+    'w' => ':count jirbiiyye',
+    'a_week' => ':count jirbiiyye',
+
+    'day' => ':count zaari',
+    'd' => ':count zaari',
+    'a_day' => ':count zaari',
+
+    'second' => ':count ihinkante',
+    's' => ':count ihinkante',
+    'a_second' => ':count ihinkante',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sg.php
new file mode 100644
index 0000000..7f8e9da
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sg.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['ND', 'LK'],
+    'weekdays' => ['Bikua-ôko', 'Bïkua-ûse', 'Bïkua-ptâ', 'Bïkua-usïö', 'Bïkua-okü', 'Lâpôsö', 'Lâyenga'],
+    'weekdays_short' => ['Bk1', 'Bk2', 'Bk3', 'Bk4', 'Bk5', 'Lâp', 'Lây'],
+    'weekdays_min' => ['Bk1', 'Bk2', 'Bk3', 'Bk4', 'Bk5', 'Lâp', 'Lây'],
+    'months' => ['Nyenye', 'Fulundïgi', 'Mbängü', 'Ngubùe', 'Bêläwü', 'Föndo', 'Lengua', 'Kükürü', 'Mvuka', 'Ngberere', 'Nabändüru', 'Kakauka'],
+    'months_short' => ['Nye', 'Ful', 'Mbä', 'Ngu', 'Bêl', 'Fön', 'Len', 'Kük', 'Mvu', 'Ngb', 'Nab', 'Kak'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count dā', // less reliable
+    'y' => ':count dā', // less reliable
+    'a_year' => ':count dā', // less reliable
+
+    'week' => ':count bïkua-okü', // less reliable
+    'w' => ':count bïkua-okü', // less reliable
+    'a_week' => ':count bïkua-okü', // less reliable
+
+    'day' => ':count ziggawâ', // less reliable
+    'd' => ':count ziggawâ', // less reliable
+    'a_day' => ':count ziggawâ', // less reliable
+
+    'hour' => ':count yângâködörö', // less reliable
+    'h' => ':count yângâködörö', // less reliable
+    'a_hour' => ':count yângâködörö', // less reliable
+
+    'second' => ':count bïkua-ôko', // less reliable
+    's' => ':count bïkua-ôko', // less reliable
+    'a_second' => ':count bïkua-ôko', // less reliable
+
+    'month' => ':count Nze tî ngu',
+    'm' => ':count Nze tî ngu',
+    'a_month' => ':count Nze tî ngu',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sgs.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sgs.php
new file mode 100644
index 0000000..864b989
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sgs.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/sgs_LT.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sgs_LT.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sgs_LT.php
new file mode 100644
index 0000000..aa9e942
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sgs_LT.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Arnas Udovičius bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY.MM.DD',
+    ],
+    'months' => ['sausė', 'vasarė', 'kuova', 'balondė', 'gegožės', 'bėrželė', 'lëpas', 'rogpjūtė', 'siejės', 'spalė', 'lapkrėstė', 'grůdė'],
+    'months_short' => ['Sau', 'Vas', 'Kuo', 'Bal', 'Geg', 'Bėr', 'Lëp', 'Rgp', 'Sie', 'Spa', 'Lap', 'Grd'],
+    'weekdays' => ['nedielės dëna', 'panedielis', 'oterninks', 'sereda', 'četvergs', 'petnīčė', 'sobata'],
+    'weekdays_short' => ['Nd', 'Pn', 'Ot', 'Sr', 'Čt', 'Pt', 'Sb'],
+    'weekdays_min' => ['Nd', 'Pn', 'Ot', 'Sr', 'Čt', 'Pt', 'Sb'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'minute' => ':count mažos', // less reliable
+    'min' => ':count mažos', // less reliable
+    'a_minute' => ':count mažos', // less reliable
+
+    'year' => ':count metā',
+    'y' => ':count metā',
+    'a_year' => ':count metā',
+
+    'month' => ':count mienou',
+    'm' => ':count mienou',
+    'a_month' => ':count mienou',
+
+    'week' => ':count nedielė',
+    'w' => ':count nedielė',
+    'a_week' => ':count nedielė',
+
+    'day' => ':count dīna',
+    'd' => ':count dīna',
+    'a_day' => ':count dīna',
+
+    'hour' => ':count adīna',
+    'h' => ':count adīna',
+    'a_hour' => ':count adīna',
+
+    'second' => ':count Sekondė',
+    's' => ':count Sekondė',
+    'a_second' => ':count Sekondė',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sh.php
new file mode 100644
index 0000000..a953df4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sh.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+// @codeCoverageIgnoreStart
+if (class_exists('Symfony\\Component\\Translation\\PluralizationRules')) {
+    \Symfony\Component\Translation\PluralizationRules::set(function ($number) {
+        return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
+    }, 'sh');
+}
+// @codeCoverageIgnoreEnd
+
+/*
+ * Authors:
+ * - Томица Кораћ
+ * - Enrique Vidal
+ * - Christopher Dell
+ * - dmilisic
+ * - danijel
+ * - Miroslav Matkovic (mikki021)
+ */
+return [
+    'diff_now' => 'sada',
+    'diff_yesterday' => 'juče',
+    'diff_tomorrow' => 'sutra',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'MMMM D, YYYY',
+        'LLL' => 'DD MMM HH:mm',
+        'LLLL' => 'MMMM DD, YYYY HH:mm',
+    ],
+    'year' => ':count godina|:count godine|:count godina',
+    'y' => ':count g.',
+    'month' => ':count mesec|:count meseca|:count meseci',
+    'm' => ':count m.',
+    'week' => ':count nedelja|:count nedelje|:count nedelja',
+    'w' => ':count n.',
+    'day' => ':count dan|:count dana|:count dana',
+    'd' => ':count d.',
+    'hour' => ':count sat|:count sata|:count sati',
+    'h' => ':count č.',
+    'minute' => ':count minut|:count minuta|:count minuta',
+    'min' => ':count min.',
+    'second' => ':count sekund|:count sekunde|:count sekundi',
+    's' => ':count s.',
+    'ago' => 'pre :time',
+    'from_now' => 'za :time',
+    'after' => 'nakon :time',
+    'before' => ':time raniјe',
+    'weekdays' => ['Nedelja', 'Ponedeljak', 'Utorak', 'Sreda', 'Četvrtak', 'Petak', 'Subota'],
+    'weekdays_short' => ['Ned', 'Pon', 'Uto', 'Sre', 'Čet', 'Pet', 'Sub'],
+    'weekdays_min' => ['Ned', 'Pon', 'Uto', 'Sre', 'Čet', 'Pet', 'Sub'],
+    'months' => ['Januar', 'Februar', 'Mart', 'April', 'Maj', 'Jun', 'Jul', 'Avgust', 'Septembar', 'Oktobar', 'Novembar', 'Decembar'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec'],
+    'list' => [', ', ' i '],
+    'meridiem' => ['pre podne', 'po podne'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi.php
new file mode 100644
index 0000000..ee5aa0b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['ⵜⵉⴼⴰⵡⵜ', 'ⵜⴰⴷⴳⴳⵯⴰⵜ'],
+    'weekdays' => ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'],
+    'weekdays_short' => ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'],
+    'weekdays_min' => ['ⴰⵙⴰ', 'ⴰⵢⵏ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'],
+    'months' => ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵜⵓⴱⵔ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⴰⵏⴱⵉⵔ'],
+    'months_short' => ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵜⵓ', 'ⵏⵓⵡ', 'ⴷⵓⵊ'],
+    'first_day_of_week' => 6,
+    'weekend' => [5, 6],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'year' => ':count aseggwas',
+    'y' => ':count aseggwas',
+    'a_year' => ':count aseggwas',
+
+    'month' => ':count ayyur',
+    'm' => ':count ayyur',
+    'a_month' => ':count ayyur',
+
+    'week' => ':count imalass',
+    'w' => ':count imalass',
+    'a_week' => ':count imalass',
+
+    'day' => ':count ass',
+    'd' => ':count ass',
+    'a_day' => ':count ass',
+
+    'hour' => ':count urɣ', // less reliable
+    'h' => ':count urɣ', // less reliable
+    'a_hour' => ':count urɣ', // less reliable
+
+    'minute' => ':count ⴰⵎⵥⵉ', // less reliable
+    'min' => ':count ⴰⵎⵥⵉ', // less reliable
+    'a_minute' => ':count ⴰⵎⵥⵉ', // less reliable
+
+    'second' => ':count sin', // less reliable
+    's' => ':count sin', // less reliable
+    'a_second' => ':count sin', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi_Latn.php
new file mode 100644
index 0000000..a5580c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi_Latn.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/shi.php', [
+    'meridiem' => ['tifawt', 'tadggʷat'],
+    'weekdays' => ['asamas', 'aynas', 'asinas', 'akṛas', 'akwas', 'asimwas', 'asiḍyas'],
+    'weekdays_short' => ['asa', 'ayn', 'asi', 'akṛ', 'akw', 'asim', 'asiḍ'],
+    'weekdays_min' => ['asa', 'ayn', 'asi', 'akṛ', 'akw', 'asim', 'asiḍ'],
+    'months' => ['innayr', 'bṛayṛ', 'maṛṣ', 'ibrir', 'mayyu', 'yunyu', 'yulyuz', 'ɣuct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'],
+    'months_short' => ['inn', 'bṛa', 'maṛ', 'ibr', 'may', 'yun', 'yul', 'ɣuc', 'cut', 'ktu', 'nuw', 'duj'],
+    'first_day_of_week' => 6,
+    'weekend' => [5, 6],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+
+    'minute' => ':count agur', // less reliable
+    'min' => ':count agur', // less reliable
+    'a_minute' => ':count agur', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi_Tfng.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi_Tfng.php
new file mode 100644
index 0000000..e51ed13
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shi_Tfng.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/shi.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shn.php
new file mode 100644
index 0000000..fe7b1ea
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shn.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/shn_MM.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shn_MM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shn_MM.php
new file mode 100644
index 0000000..f399acf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shn_MM.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - ubuntu Myanmar LoCo Team https://ubuntu-mm.net Bone Pyae Sone bone.burma@mail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'OY MMM OD dddd',
+    ],
+    'months' => ['လိူၼ်ၵမ်', 'လိူၼ်သၢမ်', 'လိူၼ်သီ', 'လိူၼ်ႁႃႈ', 'လိူၼ်ႁူၵ်း', 'လိူၼ်ၸဵတ်း', 'လိူၼ်ပႅတ်ႇ', 'လိူၼ်ၵဝ်ႈ', 'လိူၼ်သိပ်း', 'လိူၼ်သိပ်းဢိတ်း', 'လိူၼ်သိပ်းဢိတ်းသွင်', 'လိူၼ်ၸဵင်'],
+    'months_short' => ['လိူၼ်ၵမ်', 'လိူၼ်သၢမ်', 'လိူၼ်သီ', 'လိူၼ်ႁႃႈ', 'လိူၼ်ႁူၵ်း', 'လိူၼ်ၸဵတ်း', 'လိူၼ်ပႅတ်ႇ', 'လိူၼ်ၵဝ်ႈ', 'လိူၼ်သိပ်း', 'လိူၼ်သိပ်းဢိတ်း', 'လိူၼ်သိပ်းဢိတ်းသွင်', 'လိူၼ်ၸဵင်'],
+    'weekdays' => ['ဝၼ်းဢႃးတိတ်ႉ', 'ဝၼ်းၸၼ်', 'ဝၼ်း​ဢၢင်း​ၵၢၼ်း', 'ဝၼ်းပူတ်ႉ', 'ဝၼ်းၽတ်း', 'ဝၼ်းသုၵ်း', 'ဝၼ်းသဝ်'],
+    'weekdays_short' => ['တိတ့်', 'ၸၼ်', 'ၵၢၼ်း', 'ပုတ့်', 'ၽတ်း', 'သုၵ်း', 'သဝ်'],
+    'weekdays_min' => ['တိတ့်', 'ၸၼ်', 'ၵၢၼ်း', 'ပုတ့်', 'ၽတ်း', 'သုၵ်း', 'သဝ်'],
+    'alt_numbers' => ['႐႐', '႐႑', '႐႒', '႐႓', '႐႔', '႐႕', '႐႖', '႐႗', '႐႘', '႐႙', '႑႐', '႑႑', '႑႒', '႑႓', '႑႔', '႑႕', '႑႖', '႑႗', '႑႘', '႑႙', '႒႐', '႒႑', '႒႒', '႒႓', '႒႔', '႒႕', '႒႖', '႒႗', '႒႘', '႒႙', '႓႐', '႓႑', '႓႒', '႓႓', '႓႔', '႓႕', '႓႖', '႓႗', '႓႘', '႓႙', '႔႐', '႔႑', '႔႒', '႔႓', '႔႔', '႔႕', '႔႖', '႔႗', '႔႘', '႔႙', '႕႐', '႕႑', '႕႒', '႕႓', '႕႔', '႕႕', '႕႖', '႕႗', '႕႘', '႕႙', '႖႐', '႖႑', '႖႒', '႖႓', '႖႔', '႖႕', '႖႖', '႖႗', '႖႘', '႖႙', '႗႐', '႗႑', '႗႒', '႗႓', '႗႔', '႗႕', '႗႖', '႗႗', '႗႘', '႗႙', '႘႐', '႘႑', '႘႒', '႘႓', '႘႔', '႘႕', '႘႖', '႘႗', '႘႘', '႘႙', '႙႐', '႙႑', '႙႒', '႙႓', '႙႔', '႙႕', '႙႖', '႙႗', '႙႘', '႙႙'],
+    'meridiem' => ['ၵၢင်ၼႂ်', 'တၢမ်းၶမ်ႈ'],
+
+    'month' => ':count လိူၼ်', // less reliable
+    'm' => ':count လိူၼ်', // less reliable
+    'a_month' => ':count လိူၼ်', // less reliable
+
+    'week' => ':count ဝၼ်း', // less reliable
+    'w' => ':count ဝၼ်း', // less reliable
+    'a_week' => ':count ဝၼ်း', // less reliable
+
+    'hour' => ':count ຕີ', // less reliable
+    'h' => ':count ຕີ', // less reliable
+    'a_hour' => ':count ຕີ', // less reliable
+
+    'minute' => ':count ເດັກ', // less reliable
+    'min' => ':count ເດັກ', // less reliable
+    'a_minute' => ':count ເດັກ', // less reliable
+
+    'second' => ':count ဢိုၼ်ႇ', // less reliable
+    's' => ':count ဢိုၼ်ႇ', // less reliable
+    'a_second' => ':count ဢိုၼ်ႇ', // less reliable
+
+    'year' => ':count ပီ',
+    'y' => ':count ပီ',
+    'a_year' => ':count ပီ',
+
+    'day' => ':count ກາງວັນ',
+    'd' => ':count ກາງວັນ',
+    'a_day' => ':count ກາງວັນ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shs.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shs.php
new file mode 100644
index 0000000..8d2e1d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shs.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/shs_CA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shs_CA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shs_CA.php
new file mode 100644
index 0000000..08d385e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/shs_CA.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Neskie Manuel    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Pellkwet̓min', 'Pelctsipwen̓ten', 'Pellsqépts', 'Peslléwten', 'Pell7ell7é7llqten', 'Pelltspéntsk', 'Pelltqwelq̓wél̓t', 'Pellct̓éxel̓cten', 'Pesqelqlélten', 'Pesllwélsten', 'Pellc7ell7é7llcwten̓', 'Pelltetétq̓em'],
+    'months_short' => ['Kwe', 'Tsi', 'Sqe', 'Éwt', 'Ell', 'Tsp', 'Tqw', 'Ct̓é', 'Qel', 'Wél', 'U7l', 'Tet'],
+    'weekdays' => ['Sxetspesq̓t', 'Spetkesq̓t', 'Selesq̓t', 'Skellesq̓t', 'Smesesq̓t', 'Stselkstesq̓t', 'Stqmekstesq̓t'],
+    'weekdays_short' => ['Sxe', 'Spe', 'Sel', 'Ske', 'Sme', 'Sts', 'Stq'],
+    'weekdays_min' => ['Sxe', 'Spe', 'Sel', 'Ske', 'Sme', 'Sts', 'Stq'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count sqlélten', // less reliable
+    'y' => ':count sqlélten', // less reliable
+    'a_year' => ':count sqlélten', // less reliable
+
+    'month' => ':count swewll', // less reliable
+    'm' => ':count swewll', // less reliable
+    'a_month' => ':count swewll', // less reliable
+
+    'hour' => ':count seqwlút', // less reliable
+    'h' => ':count seqwlút', // less reliable
+    'a_hour' => ':count seqwlút', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/si.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/si.php
new file mode 100644
index 0000000..289d4d5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/si.php
@@ -0,0 +1,78 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Serhan Apaydın
+ * - JD Isaacks
+ * - Malinda Weerasinghe (MalindaWMD)
+ */
+return [
+    'year' => '{1}වසර 1|වසර :count',
+    'a_year' => '{1}වසරක්|වසර :count',
+    'month' => '{1}මාස 1|මාස :count',
+    'a_month' => '{1}මාසය|මාස :count',
+    'week' => '{1}සති 1|සති :count',
+    'a_week' => '{1}සතියක්|සති :count',
+    'day' => '{1}දින 1|දින :count',
+    'a_day' => '{1}දිනක්|දින :count',
+    'hour' => '{1}පැය 1|පැය :count',
+    'a_hour' => '{1}පැයක්|පැය :count',
+    'minute' => '{1}මිනිත්තු 1|මිනිත්තු :count',
+    'a_minute' => '{1}මිනිත්තුවක්|මිනිත්තු :count',
+    'second' => '{1}තත්පර 1|තත්පර :count',
+    'a_second' => '{1}තත්පර කිහිපයකට|තත්පර :count',
+    'ago' => ':time කට පෙර',
+    'from_now' => function ($time) {
+        if (preg_match('/දින \d+/', $time)) {
+            return $time.' න්';
+        }
+
+        return $time.' කින්';
+    },
+    'before' => ':time කට පෙර',
+    'after' => function ($time) {
+        if (preg_match('/දින \d+/', $time)) {
+            return $time.' න්';
+        }
+
+        return $time.' කින්';
+    },
+    'diff_now' => 'දැන්',
+    'diff_today' => 'අද',
+    'diff_yesterday' => 'ඊයේ',
+    'diff_tomorrow' => 'හෙට',
+    'formats' => [
+        'LT' => 'a h:mm',
+        'LTS' => 'a h:mm:ss',
+        'L' => 'YYYY/MM/DD',
+        'LL' => 'YYYY MMMM D',
+        'LLL' => 'YYYY MMMM D, a h:mm',
+        'LLLL' => 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',
+    ],
+    'calendar' => [
+        'sameDay' => '[අද] LT[ට]',
+        'nextDay' => '[හෙට] LT[ට]',
+        'nextWeek' => 'dddd LT[ට]',
+        'lastDay' => '[ඊයේ] LT[ට]',
+        'lastWeek' => '[පසුගිය] dddd LT[ට]',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number වැනි',
+    'meridiem' => ['පෙර වරු', 'පස් වරු', 'පෙ.ව.', 'ප.ව.'],
+    'months' => ['ජනවාරි', 'පෙබරවාරි', 'මාර්තු', 'අප්‍රේල්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝස්තු', 'සැප්තැම්බර්', 'ඔක්තෝබර්', 'නොවැම්බර්', 'දෙසැම්බර්'],
+    'months_short' => ['ජන', 'පෙබ', 'මාර්', 'අප්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝ', 'සැප්', 'ඔක්', 'නොවැ', 'දෙසැ'],
+    'weekdays' => ['ඉරිදා', 'සඳුදා', 'අඟහරුවාදා', 'බදාදා', 'බ්‍රහස්පතින්දා', 'සිකුරාදා', 'සෙනසුරාදා'],
+    'weekdays_short' => ['ඉරි', 'සඳු', 'අඟ', 'බදා', 'බ්‍රහ', 'සිකු', 'සෙන'],
+    'weekdays_min' => ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර', 'සි', 'සෙ'],
+    'first_day_of_week' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/si_LK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/si_LK.php
new file mode 100644
index 0000000..6c5be97
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/si_LK.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/si.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sid.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sid.php
new file mode 100644
index 0000000..b1c6521
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sid.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/sid_ET.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sid_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sid_ET.php
new file mode 100644
index 0000000..1296f9b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sid_ET.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+    'weekdays' => ['Sambata', 'Sanyo', 'Maakisanyo', 'Roowe', 'Hamuse', 'Arbe', 'Qidaame'],
+    'weekdays_short' => ['Sam', 'San', 'Mak', 'Row', 'Ham', 'Arb', 'Qid'],
+    'weekdays_min' => ['Sam', 'San', 'Mak', 'Row', 'Ham', 'Arb', 'Qid'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['soodo', 'hawwaro'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sk.php
new file mode 100644
index 0000000..fd0f6b3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sk.php
@@ -0,0 +1,81 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Martin Suja
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Max Melentiev
+ * - Juanito Fatas
+ * - Ivan Stana
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - James McKinney
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Jozef Fulop
+ * - Nicolás Hock Isaza
+ * - Tom Hughes
+ * - Simon Hürlimann (CyT)
+ * - jofi
+ * - Jakub ADAMEC
+ * - Marek Adamický
+ */
+return [
+    'year' => 'rok|:count roky|:count rokov',
+    'y' => ':count r',
+    'month' => 'mesiac|:count mesiace|:count mesiacov',
+    'm' => ':count m',
+    'week' => 'týždeň|:count týždne|:count týždňov',
+    'w' => ':count t',
+    'day' => 'deň|:count dni|:count dní',
+    'd' => ':count d',
+    'hour' => 'hodinu|:count hodiny|:count hodín',
+    'h' => ':count h',
+    'minute' => 'minútu|:count minúty|:count minút',
+    'min' => ':count min',
+    'second' => 'sekundu|:count sekundy|:count sekúnd',
+    's' => ':count s',
+    'ago' => 'pred :time',
+    'from_now' => 'za :time',
+    'after' => 'o :time neskôr',
+    'before' => ':time predtým',
+    'year_ago' => 'rokom|:count rokmi|:count rokmi',
+    'month_ago' => 'mesiacom|:count mesiacmi|:count mesiacmi',
+    'week_ago' => 'týždňom|:count týždňami|:count týždňami',
+    'day_ago' => 'dňom|:count dňami|:count dňami',
+    'hour_ago' => 'hodinou|:count hodinami|:count hodinami',
+    'minute_ago' => 'minútou|:count minútami|:count minútami',
+    'second_ago' => 'sekundou|:count sekundami|:count sekundami',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' a '],
+    'diff_now' => 'teraz',
+    'diff_yesterday' => 'včera',
+    'diff_tomorrow' => 'zajtra',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'DD. MMMM YYYY',
+        'LLL' => 'D. M. HH:mm',
+        'LLLL' => 'dddd D. MMMM YYYY HH:mm',
+    ],
+    'weekdays' => ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok', 'piatok', 'sobota'],
+    'weekdays_short' => ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],
+    'weekdays_min' => ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],
+    'months' => ['január', 'február', 'marec', 'apríl', 'máj', 'jún', 'júl', 'august', 'september', 'október', 'november', 'december'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', 'sep', 'okt', 'nov', 'dec'],
+    'meridiem' => ['dopoludnia', 'popoludní'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sk_SK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sk_SK.php
new file mode 100644
index 0000000..be3d1f2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sk_SK.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sk.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sl.php
new file mode 100644
index 0000000..56d0f1b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sl.php
@@ -0,0 +1,126 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Max Melentiev
+ * - Juanito Fatas
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Nicolás Hock Isaza
+ * - Miha Rebernik
+ * - Gal Jakič (morpheus7CS)
+ * - Glavić
+ * - Anže Časar
+ * - Lovro Tramšek (Lovro1107)
+ * - burut13
+ */
+return [
+    'year' => ':count leto|:count leti|:count leta|:count let',
+    'y' => ':count leto|:count leti|:count leta|:count let',
+    'month' => ':count mesec|:count meseca|:count mesece|:count mesecev',
+    'm' => ':count mes.',
+    'week' => ':count teden|:count tedna|:count tedne|:count tednov',
+    'w' => ':count ted.',
+    'day' => ':count dan|:count dni|:count dni|:count dni',
+    'd' => ':count dan|:count dni|:count dni|:count dni',
+    'hour' => ':count ura|:count uri|:count ure|:count ur',
+    'h' => ':count h',
+    'minute' => ':count minuta|:count minuti|:count minute|:count minut',
+    'min' => ':count min.',
+    'second' => ':count sekunda|:count sekundi|:count sekunde|:count sekund',
+    'a_second' => '{1}nekaj sekund|:count sekunda|:count sekundi|:count sekunde|:count sekund',
+    's' => ':count s',
+
+    'year_ago' => ':count letom|:count leti|:count leti|:count leti',
+    'y_ago' => ':count letom|:count leti|:count leti|:count leti',
+    'month_ago' => ':count mesecem|:count meseci|:count meseci|:count meseci',
+    'week_ago' => ':count tednom|:count tednoma|:count tedni|:count tedni',
+    'day_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi',
+    'd_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi',
+    'hour_ago' => ':count uro|:count urama|:count urami|:count urami',
+    'minute_ago' => ':count minuto|:count minutama|:count minutami|:count minutami',
+    'second_ago' => ':count sekundo|:count sekundama|:count sekundami|:count sekundami',
+
+    'day_from_now' => ':count dan|:count dneva|:count dni|:count dni',
+    'd_from_now' => ':count dan|:count dneva|:count dni|:count dni',
+    'hour_from_now' => ':count uro|:count uri|:count ure|:count ur',
+    'minute_from_now' => ':count minuto|:count minuti|:count minute|:count minut',
+    'second_from_now' => ':count sekundo|:count sekundi|:count sekunde|:count sekund',
+
+    'ago' => 'pred :time',
+    'from_now' => 'čez :time',
+    'after' => ':time kasneje',
+    'before' => ':time prej',
+
+    'diff_now' => 'ravnokar',
+    'diff_today' => 'danes',
+    'diff_today_regexp' => 'danes(?:\\s+ob)?',
+    'diff_yesterday' => 'včeraj',
+    'diff_yesterday_regexp' => 'včeraj(?:\\s+ob)?',
+    'diff_tomorrow' => 'jutri',
+    'diff_tomorrow_regexp' => 'jutri(?:\\s+ob)?',
+    'diff_before_yesterday' => 'predvčerajšnjim',
+    'diff_after_tomorrow' => 'pojutrišnjem',
+
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'period_start_date' => 'od :date',
+    'period_end_date' => 'do :date',
+
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[danes ob] LT',
+        'nextDay' => '[jutri ob] LT',
+        'nextWeek' => 'dddd [ob] LT',
+        'lastDay' => '[včeraj ob] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[preteklo] [nedeljo] [ob] LT';
+                case 1:
+                    return '[pretekli] [ponedeljek] [ob] LT';
+                case 2:
+                    return '[pretekli] [torek] [ob] LT';
+                case 3:
+                    return '[preteklo] [sredo] [ob] LT';
+                case 4:
+                    return '[pretekli] [četrtek] [ob] LT';
+                case 5:
+                    return '[pretekli] [petek] [ob] LT';
+                case 6:
+                    return '[preteklo] [soboto] [ob] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'months' => ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', 'avgust', 'september', 'oktober', 'november', 'december'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'avg', 'sep', 'okt', 'nov', 'dec'],
+    'weekdays' => ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', 'sobota'],
+    'weekdays_short' => ['ned', 'pon', 'tor', 'sre', 'čet', 'pet', 'sob'],
+    'weekdays_min' => ['ne', 'po', 'to', 'sr', 'če', 'pe', 'so'],
+    'list' => [', ', ' in '],
+    'meridiem' => ['dopoldan', 'popoldan'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sl_SI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sl_SI.php
new file mode 100644
index 0000000..da9fef0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sl_SI.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sm.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sm.php
new file mode 100644
index 0000000..e8c118a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sm.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/sm_WS.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sm_WS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sm_WS.php
new file mode 100644
index 0000000..f066068
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sm_WS.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Samsung Electronics Co., Ltd.    akhilesh.k@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Ianuari', 'Fepuari', 'Mati', 'Aperila', 'Me', 'Iuni', 'Iulai', 'Auguso', 'Setema', 'Oketopa', 'Novema', 'Tesema'],
+    'months_short' => ['Ian', 'Fep', 'Mat', 'Ape', 'Me', 'Iun', 'Iul', 'Aug', 'Set', 'Oke', 'Nov', 'Tes'],
+    'weekdays' => ['Aso Sa', 'Aso Gafua', 'Aso Lua', 'Aso Lulu', 'Aso Tofi', 'Aso Farail', 'Aso To\'ana\'i'],
+    'weekdays_short' => ['Aso Sa', 'Aso Gaf', 'Aso Lua', 'Aso Lul', 'Aso Tof', 'Aso Far', 'Aso To\''],
+    'weekdays_min' => ['Aso Sa', 'Aso Gaf', 'Aso Lua', 'Aso Lul', 'Aso Tof', 'Aso Far', 'Aso To\''],
+
+    'hour' => ':count uati', // less reliable
+    'h' => ':count uati', // less reliable
+    'a_hour' => ':count uati', // less reliable
+
+    'minute' => ':count itiiti', // less reliable
+    'min' => ':count itiiti', // less reliable
+    'a_minute' => ':count itiiti', // less reliable
+
+    'second' => ':count lua', // less reliable
+    's' => ':count lua', // less reliable
+    'a_second' => ':count lua', // less reliable
+
+    'year' => ':count tausaga',
+    'y' => ':count tausaga',
+    'a_year' => ':count tausaga',
+
+    'month' => ':count māsina',
+    'm' => ':count māsina',
+    'a_month' => ':count māsina',
+
+    'week' => ':count vaiaso',
+    'w' => ':count vaiaso',
+    'a_week' => ':count vaiaso',
+
+    'day' => ':count aso',
+    'd' => ':count aso',
+    'a_day' => ':count aso',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/smn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/smn.php
new file mode 100644
index 0000000..b252ebb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/smn.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['ip.', 'ep.'],
+    'weekdays' => ['pasepeeivi', 'vuossaargâ', 'majebaargâ', 'koskoho', 'tuorâstuv', 'vástuppeeivi', 'lávurduv'],
+    'weekdays_short' => ['pas', 'vuo', 'maj', 'kos', 'tuo', 'vás', 'láv'],
+    'weekdays_min' => ['pa', 'vu', 'ma', 'ko', 'tu', 'vá', 'lá'],
+    'weekdays_standalone' => ['pasepeivi', 'vuossargâ', 'majebargâ', 'koskokko', 'tuorâstâh', 'vástuppeivi', 'lávurdâh'],
+    'months' => ['uđđâivemáánu', 'kuovâmáánu', 'njuhčâmáánu', 'cuáŋuimáánu', 'vyesimáánu', 'kesimáánu', 'syeinimáánu', 'porgemáánu', 'čohčâmáánu', 'roovvâdmáánu', 'skammâmáánu', 'juovlâmáánu'],
+    'months_short' => ['uđiv', 'kuovâ', 'njuhčâ', 'cuáŋui', 'vyesi', 'kesi', 'syeini', 'porge', 'čohčâ', 'roovvâd', 'skammâ', 'juovlâ'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'H.mm',
+        'LTS' => 'H.mm.ss',
+        'L' => 'D.M.YYYY',
+        'LL' => 'MMM D. YYYY',
+        'LLL' => 'MMMM D. YYYY H.mm',
+        'LLLL' => 'dddd, MMMM D. YYYY H.mm',
+    ],
+
+    'hour' => ':count äigi', // less reliable
+    'h' => ':count äigi', // less reliable
+    'a_hour' => ':count äigi', // less reliable
+
+    'year' => ':count ihe',
+    'y' => ':count ihe',
+    'a_year' => ':count ihe',
+
+    'month' => ':count mánuppaje',
+    'm' => ':count mánuppaje',
+    'a_month' => ':count mánuppaje',
+
+    'week' => ':count okko',
+    'w' => ':count okko',
+    'a_week' => ':count okko',
+
+    'day' => ':count peivi',
+    'd' => ':count peivi',
+    'a_day' => ':count peivi',
+
+    'minute' => ':count miinut',
+    'min' => ':count miinut',
+    'a_minute' => ':count miinut',
+
+    'second' => ':count nubbe',
+    's' => ':count nubbe',
+    'a_second' => ':count nubbe',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sn.php
new file mode 100644
index 0000000..62c82b1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sn.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['a', 'p'],
+    'weekdays' => ['Svondo', 'Muvhuro', 'Chipiri', 'Chitatu', 'China', 'Chishanu', 'Mugovera'],
+    'weekdays_short' => ['Svo', 'Muv', 'Chp', 'Cht', 'Chn', 'Chs', 'Mug'],
+    'weekdays_min' => ['Sv', 'Mu', 'Cp', 'Ct', 'Cn', 'Cs', 'Mg'],
+    'months' => ['Ndira', 'Kukadzi', 'Kurume', 'Kubvumbi', 'Chivabvu', 'Chikumi', 'Chikunguru', 'Nyamavhuvhu', 'Gunyana', 'Gumiguru', 'Mbudzi', 'Zvita'],
+    'months_short' => ['Ndi', 'Kuk', 'Kur', 'Kub', 'Chv', 'Chk', 'Chg', 'Nya', 'Gun', 'Gum', 'Mbu', 'Zvi'],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'YYYY MMMM D, dddd HH:mm',
+    ],
+
+    'year' => 'makore :count',
+    'y' => 'makore :count',
+    'a_year' => 'makore :count',
+
+    'month' => 'mwedzi :count',
+    'm' => 'mwedzi :count',
+    'a_month' => 'mwedzi :count',
+
+    'week' => 'vhiki :count',
+    'w' => 'vhiki :count',
+    'a_week' => 'vhiki :count',
+
+    'day' => 'mazuva :count',
+    'd' => 'mazuva :count',
+    'a_day' => 'mazuva :count',
+
+    'hour' => 'maawa :count',
+    'h' => 'maawa :count',
+    'a_hour' => 'maawa :count',
+
+    'minute' => 'minitsi :count',
+    'min' => 'minitsi :count',
+    'a_minute' => 'minitsi :count',
+
+    'second' => 'sekonzi :count',
+    's' => 'sekonzi :count',
+    'a_second' => 'sekonzi :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so.php
new file mode 100644
index 0000000..5785271
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so.php
@@ -0,0 +1,74 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Author:
+ * - Abdifatah Abdilahi(@abdifatahz)
+ */
+return [
+    'year' => ':count sanad|:count sanadood',
+    'a_year' => 'sanad|:count sanadood',
+    'y' => '{1}:countsn|{0}:countsns|]1,Inf[:countsn',
+    'month' => ':count bil|:count bilood',
+    'a_month' => 'bil|:count bilood',
+    'm' => ':countbil',
+    'week' => ':count isbuuc',
+    'a_week' => 'isbuuc|:count isbuuc',
+    'w' => ':countis',
+    'day' => ':count maalin|:count maalmood',
+    'a_day' => 'maalin|:count maalmood',
+    'd' => ':countml',
+    'hour' => ':count saac',
+    'a_hour' => 'saacad|:count saac',
+    'h' => ':countsc',
+    'minute' => ':count daqiiqo',
+    'a_minute' => 'daqiiqo|:count daqiiqo',
+    'min' => ':countdq',
+    'second' => ':count ilbidhiqsi',
+    'a_second' => 'xooga ilbidhiqsiyo|:count ilbidhiqsi',
+    's' => ':countil',
+    'ago' => ':time kahor',
+    'from_now' => ':time gudahood',
+    'after' => ':time kedib',
+    'before' => ':time kahor',
+    'diff_now' => 'hada',
+    'diff_today' => 'maanta',
+    'diff_today_regexp' => 'maanta(?:\s+markay\s+(?:tahay|ahayd))?',
+    'diff_yesterday' => 'shalayto',
+    'diff_yesterday_regexp' => 'shalayto(?:\s+markay\s+ahayd)?',
+    'diff_tomorrow' => 'beri',
+    'diff_tomorrow_regexp' => 'beri(?:\s+markay\s+tahay)?',
+    'diff_before_yesterday' => 'doraato',
+    'diff_after_tomorrow' => 'saadanbe',
+    'period_recurrences' => 'mar|:count jeer',
+    'period_interval' => ':interval kasta',
+    'period_start_date' => 'laga bilaabo :date',
+    'period_end_date' => 'ilaa :date',
+    'months' => ['Janaayo', 'Febraayo', 'Abriil', 'Maajo', 'Juun', 'Luuliyo', 'Agoosto', 'Sebteembar', 'Oktoobar', 'Nofeembar', 'Diseembar'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Abr', 'Mjo', 'Jun', 'Lyo', 'Agt', 'Seb', 'Okt', 'Nof', 'Dis'],
+    'weekdays' => ['Axad', 'Isniin', 'Talaada', 'Arbaca', 'Khamiis', 'Jimce', 'Sabti'],
+    'weekdays_short' => ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sbt'],
+    'weekdays_min' => ['Ax', 'Is', 'Ta', 'Ar', 'Kh', 'Ji', 'Sa'],
+    'list' => [', ', ' and '],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'calendar' => [
+        'sameDay' => '[Maanta markay tahay] LT',
+        'nextDay' => '[Beri markay tahay] LT',
+        'nextWeek' => 'dddd [markay tahay] LT',
+        'lastDay' => '[Shalay markay ahayd] LT',
+        'lastWeek' => '[Hore] dddd [Markay ahayd] LT',
+        'sameElse' => 'L',
+    ],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_DJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_DJ.php
new file mode 100644
index 0000000..273dda8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_DJ.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/so.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_ET.php
new file mode 100644
index 0000000..7b69971
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_ET.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return require __DIR__.'/so.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_KE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_KE.php
new file mode 100644
index 0000000..7b69971
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_KE.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return require __DIR__.'/so.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_SO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_SO.php
new file mode 100644
index 0000000..7b69971
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/so_SO.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return require __DIR__.'/so.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq.php
new file mode 100644
index 0000000..ffa592e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq.php
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - JD Isaacks
+ * - Fadion Dashi
+ */
+return [
+    'year' => ':count vit|:count vjet',
+    'a_year' => 'një vit|:count vite',
+    'y' => ':count v.',
+    'month' => ':count muaj',
+    'a_month' => 'një muaj|:count muaj',
+    'm' => ':count muaj',
+    'week' => ':count javë',
+    'a_week' => ':count javë|:count javë',
+    'w' => ':count j.',
+    'day' => ':count ditë',
+    'a_day' => 'një ditë|:count ditë',
+    'd' => ':count d.',
+    'hour' => ':count orë',
+    'a_hour' => 'një orë|:count orë',
+    'h' => ':count o.',
+    'minute' => ':count minutë|:count minuta',
+    'a_minute' => 'një minutë|:count minuta',
+    'min' => ':count min.',
+    'second' => ':count sekondë|:count sekonda',
+    'a_second' => 'disa sekonda|:count sekonda',
+    's' => ':count s.',
+    'ago' => ':time më parë',
+    'from_now' => 'në :time',
+    'after' => ':time pas',
+    'before' => ':time para',
+    'diff_now' => 'tani',
+    'diff_today' => 'Sot',
+    'diff_today_regexp' => 'Sot(?:\\s+në)?',
+    'diff_yesterday' => 'dje',
+    'diff_yesterday_regexp' => 'Dje(?:\\s+në)?',
+    'diff_tomorrow' => 'nesër',
+    'diff_tomorrow_regexp' => 'Nesër(?:\\s+në)?',
+    'diff_before_yesterday' => 'pardje',
+    'diff_after_tomorrow' => 'pasnesër',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Sot në] LT',
+        'nextDay' => '[Nesër në] LT',
+        'nextWeek' => 'dddd [në] LT',
+        'lastDay' => '[Dje në] LT',
+        'lastWeek' => 'dddd [e kaluar në] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'meridiem' => ['PD', 'MD'],
+    'months' => ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'],
+    'months_short' => ['jan', 'shk', 'mar', 'pri', 'maj', 'qer', 'kor', 'gus', 'sht', 'tet', 'nën', 'dhj'],
+    'weekdays' => ['e diel', 'e hënë', 'e martë', 'e mërkurë', 'e enjte', 'e premte', 'e shtunë'],
+    'weekdays_short' => ['die', 'hën', 'mar', 'mër', 'enj', 'pre', 'sht'],
+    'weekdays_min' => ['d', 'h', 'ma', 'më', 'e', 'p', 'sh'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' dhe '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_AL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_AL.php
new file mode 100644
index 0000000..0bfbdf3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_AL.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sq.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_MK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_MK.php
new file mode 100644
index 0000000..c844fe0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_MK.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sq.php', [
+    'formats' => [
+        'L' => 'D.M.YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY, HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_XK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_XK.php
new file mode 100644
index 0000000..c844fe0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sq_XK.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sq.php', [
+    'formats' => [
+        'L' => 'D.M.YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY, HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr.php
new file mode 100644
index 0000000..6ecf2d0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr.php
@@ -0,0 +1,109 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - shaishavgandhi05
+ * - Serhan Apaydın
+ * - JD Isaacks
+ * - Glavić
+ * - Milos Sakovic
+ */
+return [
+    'year' => ':count godina|:count godine|:count godina',
+    'y' => ':count g.',
+    'month' => ':count mesec|:count meseca|:count meseci',
+    'm' => ':count mj.',
+    'week' => ':count nedelja|:count nedelje|:count nedelja',
+    'w' => ':count ned.',
+    'day' => ':count dan|:count dana|:count dana',
+    'd' => ':count d.',
+    'hour' => ':count sat|:count sata|:count sati',
+    'h' => ':count č.',
+    'minute' => ':count minut|:count minuta|:count minuta',
+    'min' => ':count min.',
+    'second' => ':count sekundu|:count sekunde|:count sekundi',
+    's' => ':count sek.',
+    'ago' => 'pre :time',
+    'from_now' => 'za :time',
+    'after' => 'nakon :time',
+    'before' => 'pre :time',
+
+    'year_from_now' => ':count godinu|:count godine|:count godina',
+    'year_ago' => ':count godinu|:count godine|:count godina',
+    'week_from_now' => ':count nedelju|:count nedelje|:count nedelja',
+    'week_ago' => ':count nedelju|:count nedelje|:count nedelja',
+
+    'diff_now' => 'upravo sada',
+    'diff_today' => 'danas',
+    'diff_today_regexp' => 'danas(?:\\s+u)?',
+    'diff_yesterday' => 'juče',
+    'diff_yesterday_regexp' => 'juče(?:\\s+u)?',
+    'diff_tomorrow' => 'sutra',
+    'diff_tomorrow_regexp' => 'sutra(?:\\s+u)?',
+    'diff_before_yesterday' => 'prekjuče',
+    'diff_after_tomorrow' => 'preksutra',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[danas u] LT',
+        'nextDay' => '[sutra u] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[u nedelju u] LT';
+                case 3:
+                    return '[u sredu u] LT';
+                case 6:
+                    return '[u subotu u] LT';
+                default:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        'lastDay' => '[juče u] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[prošle nedelje u] LT';
+                case 1:
+                    return '[prošlog ponedeljka u] LT';
+                case 2:
+                    return '[prošlog utorka u] LT';
+                case 3:
+                    return '[prošle srede u] LT';
+                case 4:
+                    return '[prošlog četvrtka u] LT';
+                case 5:
+                    return '[prošlog petka u] LT';
+                default:
+                    return '[prošle subote u] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'],
+    'months_short' => ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'],
+    'weekdays' => ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'],
+    'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sre.', 'čet.', 'pet.', 'sub.'],
+    'weekdays_min' => ['ne', 'po', 'ut', 'sr', 'če', 'pe', 'su'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' i '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl.php
new file mode 100644
index 0000000..8540742
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl.php
@@ -0,0 +1,109 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - shaishavgandhi05
+ * - Serhan Apaydın
+ * - JD Isaacks
+ * - Glavić
+ * - Nikola Zeravcic
+ * - Milos Sakovic
+ */
+return [
+    'year' => '{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година',
+    'y' => ':count г.',
+    'month' => '{1}:count месец|{2,3,4}:count месеца|[0,Inf[:count месеци',
+    'm' => ':count м.',
+    'week' => '{1}:count недеља|{2,3,4}:count недеље|[0,Inf[:count недеља',
+    'w' => ':count нед.',
+    'day' => '{1,21,31}:count дан|[0,Inf[:count дана',
+    'd' => ':count д.',
+    'hour' => '{1,21}:count сат|{2,3,4,22,23,24}:count сата|[0,Inf[:count сати',
+    'h' => ':count ч.',
+    'minute' => '{1,21,31,41,51}:count минут|[0,Inf[:count минута',
+    'min' => ':count мин.',
+    'second' => '{1,21,31,41,51}:count секунд|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count секунде|[0,Inf[:count секунди',
+    's' => ':count сек.',
+    'ago' => 'пре :time',
+    'from_now' => 'за :time',
+    'after' => ':time након',
+    'before' => ':time пре',
+    'year_from_now' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година',
+    'year_ago' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година',
+    'week_from_now' => '{1}:count недељу|{2,3,4}:count недеље|[0,Inf[:count недеља',
+    'week_ago' => '{1}:count недељу|{2,3,4}:count недеље|[0,Inf[:count недеља',
+    'diff_now' => 'управо сада',
+    'diff_today' => 'данас',
+    'diff_today_regexp' => 'данас(?:\\s+у)?',
+    'diff_yesterday' => 'јуче',
+    'diff_yesterday_regexp' => 'јуче(?:\\s+у)?',
+    'diff_tomorrow' => 'сутра',
+    'diff_tomorrow_regexp' => 'сутра(?:\\s+у)?',
+    'diff_before_yesterday' => 'прекјуче',
+    'diff_after_tomorrow' => 'прекосутра',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[данас у] LT',
+        'nextDay' => '[сутра у] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[у недељу у] LT';
+                case 3:
+                    return '[у среду у] LT';
+                case 6:
+                    return '[у суботу у] LT';
+                default:
+                    return '[у] dddd [у] LT';
+            }
+        },
+        'lastDay' => '[јуче у] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[прошле недеље у] LT';
+                case 1:
+                    return '[прошлог понедељка у] LT';
+                case 2:
+                    return '[прошлог уторка у] LT';
+                case 3:
+                    return '[прошле среде у] LT';
+                case 4:
+                    return '[прошлог четвртка у] LT';
+                case 5:
+                    return '[прошлог петка у] LT';
+                default:
+                    return '[прошле суботе у] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'],
+    'months_short' => ['јан.', 'феб.', 'мар.', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'сеп.', 'окт.', 'нов.', 'дец.'],
+    'weekdays' => ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'],
+    'weekdays_short' => ['нед.', 'пон.', 'уто.', 'сре.', 'чет.', 'пет.', 'суб.'],
+    'weekdays_min' => ['не', 'по', 'ут', 'ср', 'че', 'пе', 'су'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' и '],
+    'meridiem' => ['АМ', 'ПМ'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_BA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_BA.php
new file mode 100644
index 0000000..36405d3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_BA.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sr_Cyrl.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D.M.yy.',
+        'LL' => 'DD.MM.YYYY.',
+        'LLL' => 'DD. MMMM YYYY. HH:mm',
+        'LLLL' => 'dddd, DD. MMMM YYYY. HH:mm',
+    ],
+    'weekdays' => ['недјеља', 'понедељак', 'уторак', 'сриједа', 'четвртак', 'петак', 'субота'],
+    'weekdays_short' => ['нед.', 'пон.', 'ут.', 'ср.', 'чет.', 'пет.', 'суб.'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_ME.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_ME.php
new file mode 100644
index 0000000..fb6179e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_ME.php
@@ -0,0 +1,106 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Glavić
+ * - Milos Sakovic
+ */
+return [
+    'year' => '{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година',
+    'y' => ':count г.',
+    'month' => '{1}:count мјесец|{2,3,4}:count мјесеца|[0,Inf[:count мјесеци',
+    'm' => ':count мј.',
+    'week' => '{1}:count недјеља|{2,3,4}:count недјеље|[0,Inf[:count недјеља',
+    'w' => ':count нед.',
+    'day' => '{1,21,31}:count дан|[0,Inf[:count дана',
+    'd' => ':count д.',
+    'hour' => '{1,21}:count сат|{2,3,4,22,23,24}:count сата|[0,Inf[:count сати',
+    'h' => ':count ч.',
+    'minute' => '{1,21,31,41,51}:count минут|[0,Inf[:count минута',
+    'min' => ':count мин.',
+    'second' => '{1,21,31,41,51}:count секунд|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count секунде|[0,Inf[:count секунди',
+    's' => ':count сек.',
+    'ago' => 'прије :time',
+    'from_now' => 'за :time',
+    'after' => ':time након',
+    'before' => ':time прије',
+
+    'year_from_now' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година',
+    'year_ago' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година',
+
+    'week_from_now' => '{1}:count недјељу|{2,3,4}:count недјеље|[0,Inf[:count недјеља',
+    'week_ago' => '{1}:count недјељу|{2,3,4}:count недјеље|[0,Inf[:count недјеља',
+
+    'diff_now' => 'управо сада',
+    'diff_today' => 'данас',
+    'diff_today_regexp' => 'данас(?:\\s+у)?',
+    'diff_yesterday' => 'јуче',
+    'diff_yesterday_regexp' => 'јуче(?:\\s+у)?',
+    'diff_tomorrow' => 'сутра',
+    'diff_tomorrow_regexp' => 'сутра(?:\\s+у)?',
+    'diff_before_yesterday' => 'прекјуче',
+    'diff_after_tomorrow' => 'прекосјутра',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM YYYY',
+        'LLL' => 'D. MMMM YYYY H:mm',
+        'LLLL' => 'dddd, D. MMMM YYYY H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[данас у] LT',
+        'nextDay' => '[сутра у] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[у недељу у] LT';
+                case 3:
+                    return '[у среду у] LT';
+                case 6:
+                    return '[у суботу у] LT';
+                default:
+                    return '[у] dddd [у] LT';
+            }
+        },
+        'lastDay' => '[јуче у] LT',
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[прошле недеље у] LT';
+                case 1:
+                    return '[прошлог понедељка у] LT';
+                case 2:
+                    return '[прошлог уторка у] LT';
+                case 3:
+                    return '[прошле среде у] LT';
+                case 4:
+                    return '[прошлог четвртка у] LT';
+                case 5:
+                    return '[прошлог петка у] LT';
+                default:
+                    return '[прошле суботе у] LT';
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'],
+    'months_short' => ['јан.', 'феб.', 'мар.', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'сеп.', 'окт.', 'нов.', 'дец.'],
+    'weekdays' => ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'],
+    'weekdays_short' => ['нед.', 'пон.', 'уто.', 'сре.', 'чет.', 'пет.', 'суб.'],
+    'weekdays_min' => ['не', 'по', 'ут', 'ср', 'че', 'пе', 'су'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' и '],
+    'meridiem' => ['АМ', 'ПМ'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_XK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_XK.php
new file mode 100644
index 0000000..0643a41
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_XK.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sr_Cyrl_BA.php', [
+    'weekdays' => ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn.php
new file mode 100644
index 0000000..8ae8c41
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_BA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_BA.php
new file mode 100644
index 0000000..c25a507
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_BA.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sr_Latn.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D.M.yy.',
+        'LL' => 'DD.MM.YYYY.',
+        'LLL' => 'DD. MMMM YYYY. HH:mm',
+        'LLLL' => 'dddd, DD. MMMM YYYY. HH:mm',
+    ],
+    'weekdays' => ['nedjelja', 'ponedeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'],
+    'weekdays_short' => ['ned.', 'pon.', 'ut.', 'sr.', 'čet.', 'pet.', 'sub.'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_ME.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_ME.php
new file mode 100644
index 0000000..de20f21
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_ME.php
@@ -0,0 +1,63 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Glavić
+ * - Milos Sakovic
+ */
+return array_replace_recursive(require __DIR__.'/sr.php', [
+    'month' => ':count mjesec|:count mjeseca|:count mjeseci',
+    'week' => ':count nedjelja|:count nedjelje|:count nedjelja',
+    'second' => ':count sekund|:count sekunde|:count sekundi',
+    'ago' => 'prije :time',
+    'from_now' => 'za :time',
+    'after' => ':time nakon',
+    'before' => ':time prije',
+    'week_from_now' => ':count nedjelju|:count nedjelje|:count nedjelja',
+    'week_ago' => ':count nedjelju|:count nedjelje|:count nedjelja',
+    'diff_tomorrow' => 'sjutra',
+    'calendar' => [
+        'nextDay' => '[sjutra u] LT',
+        'nextWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[u nedjelju u] LT';
+                case 3:
+                    return '[u srijedu u] LT';
+                case 6:
+                    return '[u subotu u] LT';
+                default:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        'lastWeek' => function (\Carbon\CarbonInterface $date) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                    return '[prošle nedjelje u] LT';
+                case 1:
+                    return '[prošle nedjelje u] LT';
+                case 2:
+                    return '[prošlog utorka u] LT';
+                case 3:
+                    return '[prošle srijede u] LT';
+                case 4:
+                    return '[prošlog četvrtka u] LT';
+                case 5:
+                    return '[prošlog petka u] LT';
+                default:
+                    return '[prošle subote u] LT';
+            }
+        },
+    ],
+    'weekdays' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'],
+    'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sri.', 'čet.', 'pet.', 'sub.'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_XK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_XK.php
new file mode 100644
index 0000000..ba7cc09
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_XK.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sr_Latn_BA.php', [
+    'weekdays' => ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_ME.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_ME.php
new file mode 100644
index 0000000..b668ee1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_ME.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sr_Latn_ME.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS.php
new file mode 100644
index 0000000..bc5e04b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - sr_YU, sr_CS locale Danilo Segan bug-glibc-locales@gnu.org
+ */
+return require __DIR__.'/sr_Cyrl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS@latin.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS@latin.php
new file mode 100644
index 0000000..8ae8c41
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS@latin.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ss.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ss.php
new file mode 100644
index 0000000..cd4b919
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ss.php
@@ -0,0 +1,78 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Nicolai Davies
+ */
+return [
+    'year' => '{1}umnyaka|:count iminyaka',
+    'month' => '{1}inyanga|:count tinyanga',
+    'week' => '{1}:count liviki|:count emaviki',
+    'day' => '{1}lilanga|:count emalanga',
+    'hour' => '{1}lihora|:count emahora',
+    'minute' => '{1}umzuzu|:count emizuzu',
+    'second' => '{1}emizuzwana lomcane|:count mzuzwana',
+    'ago' => 'wenteka nga :time',
+    'from_now' => 'nga :time',
+    'diff_yesterday' => 'Itolo',
+    'diff_yesterday_regexp' => 'Itolo(?:\\s+nga)?',
+    'diff_today' => 'Namuhla',
+    'diff_today_regexp' => 'Namuhla(?:\\s+nga)?',
+    'diff_tomorrow' => 'Kusasa',
+    'diff_tomorrow_regexp' => 'Kusasa(?:\\s+nga)?',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm A',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm A',
+    ],
+    'calendar' => [
+        'sameDay' => '[Namuhla nga] LT',
+        'nextDay' => '[Kusasa nga] LT',
+        'nextWeek' => 'dddd [nga] LT',
+        'lastDay' => '[Itolo nga] LT',
+        'lastWeek' => 'dddd [leliphelile] [nga] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        $lastDigit = $number % 10;
+
+        return $number.(
+            (~~($number % 100 / 10) === 1) ? 'e' : (
+                ($lastDigit === 1 || $lastDigit === 2) ? 'a' : 'e'
+            )
+        );
+    },
+    'meridiem' => function ($hour) {
+        if ($hour < 11) {
+            return 'ekuseni';
+        }
+        if ($hour < 15) {
+            return 'emini';
+        }
+        if ($hour < 19) {
+            return 'entsambama';
+        }
+
+        return 'ebusuku';
+    },
+    'months' => ['Bhimbidvwane', 'Indlovana', 'Indlov\'lenkhulu', 'Mabasa', 'Inkhwekhweti', 'Inhlaba', 'Kholwane', 'Ingci', 'Inyoni', 'Imphala', 'Lweti', 'Ingongoni'],
+    'months_short' => ['Bhi', 'Ina', 'Inu', 'Mab', 'Ink', 'Inh', 'Kho', 'Igc', 'Iny', 'Imp', 'Lwe', 'Igo'],
+    'weekdays' => ['Lisontfo', 'Umsombuluko', 'Lesibili', 'Lesitsatfu', 'Lesine', 'Lesihlanu', 'Umgcibelo'],
+    'weekdays_short' => ['Lis', 'Umb', 'Lsb', 'Les', 'Lsi', 'Lsh', 'Umg'],
+    'weekdays_min' => ['Li', 'Us', 'Lb', 'Lt', 'Ls', 'Lh', 'Ug'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ss_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ss_ZA.php
new file mode 100644
index 0000000..48d970a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ss_ZA.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/ss.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/st.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/st.php
new file mode 100644
index 0000000..b065445
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/st.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/st_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/st_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/st_ZA.php
new file mode 100644
index 0000000..5bce7f2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/st_ZA.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Pherekgong', 'Hlakola', 'Tlhakubele', 'Mmese', 'Motsheanong', 'Phupjane', 'Phupu', 'Phato', 'Leotse', 'Mphalane', 'Pudungwana', 'Tshitwe'],
+    'months_short' => ['Phe', 'Hla', 'TlH', 'Mme', 'Mot', 'Jan', 'Upu', 'Pha', 'Leo', 'Mph', 'Pud', 'Tsh'],
+    'weekdays' => ['Sontaha', 'Mantaha', 'Labobedi', 'Laboraro', 'Labone', 'Labohlano', 'Moqebelo'],
+    'weekdays_short' => ['Son', 'Mma', 'Bed', 'Rar', 'Ne', 'Hla', 'Moq'],
+    'weekdays_min' => ['Son', 'Mma', 'Bed', 'Rar', 'Ne', 'Hla', 'Moq'],
+    'day_of_first_week_of_year' => 1,
+
+    'week' => ':count Sontaha', // less reliable
+    'w' => ':count Sontaha', // less reliable
+    'a_week' => ':count Sontaha', // less reliable
+
+    'day' => ':count letsatsi', // less reliable
+    'd' => ':count letsatsi', // less reliable
+    'a_day' => ':count letsatsi', // less reliable
+
+    'hour' => ':count sešupanako', // less reliable
+    'h' => ':count sešupanako', // less reliable
+    'a_hour' => ':count sešupanako', // less reliable
+
+    'minute' => ':count menyane', // less reliable
+    'min' => ':count menyane', // less reliable
+    'a_minute' => ':count menyane', // less reliable
+
+    'second' => ':count thusa', // less reliable
+    's' => ':count thusa', // less reliable
+    'a_second' => ':count thusa', // less reliable
+
+    'year' => ':count selemo',
+    'y' => ':count selemo',
+    'a_year' => ':count selemo',
+
+    'month' => ':count kgwedi',
+    'm' => ':count kgwedi',
+    'a_month' => ':count kgwedi',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv.php
new file mode 100644
index 0000000..ca33e1c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv.php
@@ -0,0 +1,87 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Kristoffer Snabb
+ * - JD Isaacks
+ * - Jens Herlevsen
+ * - Nightpine
+ * - Anders Nygren (litemerafrukt)
+ */
+return [
+    'year' => ':count år',
+    'a_year' => 'ett år|:count år',
+    'y' => ':count år',
+    'month' => ':count månad|:count månader',
+    'a_month' => 'en månad|:count månader',
+    'm' => ':count mån',
+    'week' => ':count vecka|:count veckor',
+    'a_week' => 'en vecka|:count veckor',
+    'w' => ':count v',
+    'day' => ':count dag|:count dagar',
+    'a_day' => 'en dag|:count dagar',
+    'd' => ':count dgr',
+    'hour' => ':count timme|:count timmar',
+    'a_hour' => 'en timme|:count timmar',
+    'h' => ':count tim',
+    'minute' => ':count minut|:count minuter',
+    'a_minute' => 'en minut|:count minuter',
+    'min' => ':count min',
+    'second' => ':count sekund|:count sekunder',
+    'a_second' => 'några sekunder|:count sekunder',
+    's' => ':count s',
+    'ago' => 'för :time sedan',
+    'from_now' => 'om :time',
+    'after' => ':time efter',
+    'before' => ':time före',
+    'diff_now' => 'nu',
+    'diff_today' => 'I dag',
+    'diff_yesterday' => 'i går',
+    'diff_yesterday_regexp' => 'I går',
+    'diff_tomorrow' => 'i morgon',
+    'diff_tomorrow_regexp' => 'I morgon',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY [kl.] HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY [kl.] HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[I dag] LT',
+        'nextDay' => '[I morgon] LT',
+        'nextWeek' => '[På] dddd LT',
+        'lastDay' => '[I går] LT',
+        'lastWeek' => '[I] dddd[s] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        $lastDigit = $number % 10;
+
+        return $number.(
+            (~~($number % 100 / 10) === 1) ? 'e' : (
+                ($lastDigit === 1 || $lastDigit === 2) ? 'a' : 'e'
+            )
+        );
+    },
+    'months' => ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december'],
+    'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
+    'weekdays' => ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag'],
+    'weekdays_short' => ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'],
+    'weekdays_min' => ['sö', 'må', 'ti', 'on', 'to', 'fr', 'lö'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' och '],
+    'meridiem' => ['fm', 'em'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_AX.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_AX.php
new file mode 100644
index 0000000..56425b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_AX.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sv.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_FI.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_FI.php
new file mode 100644
index 0000000..1b73ecb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_FI.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sv.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_SE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_SE.php
new file mode 100644
index 0000000..1b73ecb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sv_SE.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/sv.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw.php
new file mode 100644
index 0000000..f8630d5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw.php
@@ -0,0 +1,74 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - leyluj
+ * - Josh Soref
+ * - ryanhart2
+ */
+return [
+    'year' => 'mwaka :count|miaka :count',
+    'a_year' => 'mwaka mmoja|miaka :count',
+    'y' => 'mwaka :count|miaka :count',
+    'month' => 'mwezi :count|miezi :count',
+    'a_month' => 'mwezi mmoja|miezi :count',
+    'm' => 'mwezi :count|miezi :count',
+    'week' => 'wiki :count',
+    'a_week' => 'wiki mmoja|wiki :count',
+    'w' => 'w. :count',
+    'day' => 'siku :count',
+    'a_day' => 'siku moja|masiku :count',
+    'd' => 'si. :count',
+    'hour' => 'saa :count|masaa :count',
+    'a_hour' => 'saa limoja|masaa :count',
+    'h' => 'saa :count|masaa :count',
+    'minute' => 'dakika :count',
+    'a_minute' => 'dakika moja|dakika :count',
+    'min' => 'd. :count',
+    'second' => 'sekunde :count',
+    'a_second' => 'hivi punde|sekunde :count',
+    's' => 'se. :count',
+    'ago' => 'tokea :time',
+    'from_now' => ':time baadaye',
+    'after' => ':time baada',
+    'before' => ':time kabla',
+    'diff_now' => 'sasa hivi',
+    'diff_today' => 'leo',
+    'diff_today_regexp' => 'leo(?:\\s+saa)?',
+    'diff_yesterday' => 'jana',
+    'diff_tomorrow' => 'kesho',
+    'diff_tomorrow_regexp' => 'kesho(?:\\s+saa)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[leo saa] LT',
+        'nextDay' => '[kesho saa] LT',
+        'nextWeek' => '[wiki ijayo] dddd [saat] LT',
+        'lastDay' => '[jana] LT',
+        'lastWeek' => '[wiki iliyopita] dddd [saat] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['Jpl', 'Jtat', 'Jnne', 'Jtan', 'Alh', 'Ijm', 'Jmos'],
+    'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' na '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_CD.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_CD.php
new file mode 100644
index 0000000..f6927f4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_CD.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sw.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_KE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_KE.php
new file mode 100644
index 0000000..2ace0db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_KE.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kamusi Project Martin Benjamin locales@kamusi.org
+ */
+return array_replace_recursive(require __DIR__.'/sw.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'],
+    'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['asubuhi', 'alasiri'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_TZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_TZ.php
new file mode 100644
index 0000000..fab3cd6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_TZ.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kamusi Project Martin Benjamin locales@kamusi.org
+ */
+return array_replace_recursive(require __DIR__.'/sw.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'],
+    'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['asubuhi', 'alasiri'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_UG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_UG.php
new file mode 100644
index 0000000..f6927f4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/sw_UG.php
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/sw.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/szl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/szl.php
new file mode 100644
index 0000000..4429c4f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/szl.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/szl_PL.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/szl_PL.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/szl_PL.php
new file mode 100644
index 0000000..4b0b541
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/szl_PL.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - szl_PL locale Przemyslaw Buczkowski libc-alpha@sourceware.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['styczyń', 'luty', 'merc', 'kwjeciyń', 'moj', 'czyrwjyń', 'lipjyń', 'siyrpjyń', 'wrzesiyń', 'październik', 'listopad', 'grudziyń'],
+    'months_short' => ['sty', 'lut', 'mer', 'kwj', 'moj', 'czy', 'lip', 'siy', 'wrz', 'paź', 'lis', 'gru'],
+    'weekdays' => ['niydziela', 'pyńdziŏek', 'wtŏrek', 'strzŏda', 'sztwortek', 'pjōntek', 'sobŏta'],
+    'weekdays_short' => ['niy', 'pyń', 'wtŏ', 'str', 'szt', 'pjō', 'sob'],
+    'weekdays_min' => ['niy', 'pyń', 'wtŏ', 'str', 'szt', 'pjō', 'sob'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count rok',
+    'y' => ':count rok',
+    'a_year' => ':count rok',
+
+    'month' => ':count mjeśůnc',
+    'm' => ':count mjeśůnc',
+    'a_month' => ':count mjeśůnc',
+
+    'week' => ':count Tydźyń',
+    'w' => ':count Tydźyń',
+    'a_week' => ':count Tydźyń',
+
+    'day' => ':count dźyń',
+    'd' => ':count dźyń',
+    'a_day' => ':count dźyń',
+
+    'hour' => ':count godzina',
+    'h' => ':count godzina',
+    'a_hour' => ':count godzina',
+
+    'minute' => ':count Minuta',
+    'min' => ':count Minuta',
+    'a_minute' => ':count Minuta',
+
+    'second' => ':count Sekůnda',
+    's' => ':count Sekůnda',
+    'a_second' => ':count Sekůnda',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta.php
new file mode 100644
index 0000000..c1d89cb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta.php
@@ -0,0 +1,97 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - François B
+ * - JD Isaacks
+ * - Satheez
+ */
+return [
+    'year' => ':count வருடம்|:count ஆண்டுகள்',
+    'a_year' => 'ஒரு வருடம்|:count ஆண்டுகள்',
+    'y' => ':count வருட.|:count ஆண்.',
+    'month' => ':count மாதம்|:count மாதங்கள்',
+    'a_month' => 'ஒரு மாதம்|:count மாதங்கள்',
+    'm' => ':count மாத.',
+    'week' => ':count வாரம்|:count வாரங்கள்',
+    'a_week' => 'ஒரு வாரம்|:count வாரங்கள்',
+    'w' => ':count வார.',
+    'day' => ':count நாள்|:count நாட்கள்',
+    'a_day' => 'ஒரு நாள்|:count நாட்கள்',
+    'd' => ':count நாள்|:count நாட்.',
+    'hour' => ':count மணி நேரம்|:count மணி நேரம்',
+    'a_hour' => 'ஒரு மணி நேரம்|:count மணி நேரம்',
+    'h' => ':count மணி.',
+    'minute' => ':count நிமிடம்|:count நிமிடங்கள்',
+    'a_minute' => 'ஒரு நிமிடம்|:count நிமிடங்கள்',
+    'min' => ':count நிமி.',
+    'second' => ':count சில விநாடிகள்|:count விநாடிகள்',
+    'a_second' => 'ஒரு சில விநாடிகள்|:count விநாடிகள்',
+    's' => ':count விநா.',
+    'ago' => ':time முன்',
+    'from_now' => ':time இல்',
+    'before' => ':time முன்',
+    'after' => ':time பின்',
+    'diff_now' => 'இப்போது',
+    'diff_today' => 'இன்று',
+    'diff_yesterday' => 'நேற்று',
+    'diff_tomorrow' => 'நாளை',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[இன்று] LT',
+        'nextDay' => '[நாளை] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[நேற்று] LT',
+        'lastWeek' => '[கடந்த வாரம்] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberவது',
+    'meridiem' => function ($hour) {
+        if ($hour < 2) {
+            return ' யாமம்';
+        }
+        if ($hour < 6) {
+            return ' வைகறை';
+        }
+        if ($hour < 10) {
+            return ' காலை';
+        }
+        if ($hour < 14) {
+            return ' நண்பகல்';
+        }
+        if ($hour < 18) {
+            return ' எற்பாடு';
+        }
+        if ($hour < 22) {
+            return ' மாலை';
+        }
+
+        return ' யாமம்';
+    },
+    'months' => ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டெம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'],
+    'months_short' => ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டெம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'],
+    'weekdays' => ['ஞாயிற்றுக்கிழமை', 'திங்கட்கிழமை', 'செவ்வாய்கிழமை', 'புதன்கிழமை', 'வியாழக்கிழமை', 'வெள்ளிக்கிழமை', 'சனிக்கிழமை'],
+    'weekdays_short' => ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'],
+    'weekdays_min' => ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' மற்றும் '],
+    'weekend' => [0, 0],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_IN.php
new file mode 100644
index 0000000..492d4c5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_IN.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ta.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'],
+    'months_short' => ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'],
+    'weekdays' => ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'],
+    'weekdays_short' => ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+    'weekdays_min' => ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['காலை', 'மாலை'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_LK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_LK.php
new file mode 100644
index 0000000..8e2afbf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_LK.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - J.Yogaraj 94-777-315206 yogaraj.ubuntu@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/ta.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'],
+    'months_short' => ['ஜன', 'பிப்', 'மார்', 'ஏப்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக', 'செப்', 'அக்', 'நவ', 'டிச'],
+    'weekdays' => ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'],
+    'weekdays_short' => ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+    'weekdays_min' => ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['காலை', 'மாலை'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_MY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_MY.php
new file mode 100644
index 0000000..291d6c8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_MY.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ta.php', [
+    'formats' => [
+        'LT' => 'a h:mm',
+        'LTS' => 'a h:mm:ss',
+        'L' => 'D/M/yy',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM, YYYY, a h:mm',
+        'LLLL' => 'dddd, D MMMM, YYYY, a h:mm',
+    ],
+    'months' => ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'],
+    'months_short' => ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'],
+    'weekdays' => ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'],
+    'weekdays_short' => ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'],
+    'weekdays_min' => ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+    'first_day_of_week' => 1,
+    'meridiem' => ['மு.ப', 'பி.ப'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_SG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_SG.php
new file mode 100644
index 0000000..fe1cc06
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ta_SG.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ta.php', [
+    'formats' => [
+        'LT' => 'a h:mm',
+        'LTS' => 'a h:mm:ss',
+        'L' => 'D/M/yy',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM, YYYY, a h:mm',
+        'LLLL' => 'dddd, D MMMM, YYYY, a h:mm',
+    ],
+    'months' => ['ஜனவரி', 'பிப்ரவரி', 'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்', 'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்', 'அக்டோபர்', 'நவம்பர்', 'டிசம்பர்'],
+    'months_short' => ['ஜன.', 'பிப்.', 'மார்.', 'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.', 'செப்.', 'அக்.', 'நவ.', 'டிச.'],
+    'weekdays' => ['ஞாயிறு', 'திங்கள்', 'செவ்வாய்', 'புதன்', 'வியாழன்', 'வெள்ளி', 'சனி'],
+    'weekdays_short' => ['ஞாயி.', 'திங்.', 'செவ்.', 'புத.', 'வியா.', 'வெள்.', 'சனி'],
+    'weekdays_min' => ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+    'meridiem' => ['மு.ப', 'பி.ப'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tcy.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tcy.php
new file mode 100644
index 0000000..2eb9905
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tcy.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/tcy_IN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tcy_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tcy_IN.php
new file mode 100644
index 0000000..2ff20e0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tcy_IN.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IndLinux.org, Samsung Electronics Co., Ltd.    alexey.merzlyakov@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['ಜನವರಿ', 'ಫೆಬ್ರುವರಿ', 'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್‌‌', 'ಮೇ', 'ಜೂನ್', 'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸೆಪ್ಟೆಂಬರ್‌', 'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್', 'ಡಿಸೆಂಬರ್'],
+    'months_short' => ['ಜ', 'ಫೆ', 'ಮಾ', 'ಏ', 'ಮೇ', 'ಜೂ', 'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'],
+    'weekdays' => ['ಐಥಾರ', 'ಸೋಮಾರ', 'ಅಂಗರೆ', 'ಬುಧಾರ', 'ಗುರುವಾರ', 'ಶುಕ್ರರ', 'ಶನಿವಾರ'],
+    'weekdays_short' => ['ಐ', 'ಸೋ', 'ಅಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'],
+    'weekdays_min' => ['ಐ', 'ಸೋ', 'ಅಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ಕಾಂಡೆ', 'ಬಯ್ಯ'],
+
+    'year' => ':count ನೀರ್', // less reliable
+    'y' => ':count ನೀರ್', // less reliable
+    'a_year' => ':count ನೀರ್', // less reliable
+
+    'month' => ':count ಮೀನ್', // less reliable
+    'm' => ':count ಮೀನ್', // less reliable
+    'a_month' => ':count ಮೀನ್', // less reliable
+
+    'day' => ':count ಸುಗ್ಗಿ', // less reliable
+    'd' => ':count ಸುಗ್ಗಿ', // less reliable
+    'a_day' => ':count ಸುಗ್ಗಿ', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/te.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/te.php
new file mode 100644
index 0000000..ac38218
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/te.php
@@ -0,0 +1,89 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kunal Marwaha
+ * - Josh Soref
+ * - François B
+ * - kc
+ */
+return [
+    'year' => ':count సంవత్సరం|:count సంవత్సరాలు',
+    'a_year' => 'ఒక సంవత్సరం|:count సంవత్సరాలు',
+    'y' => ':count సం.',
+    'month' => ':count నెల|:count నెలలు',
+    'a_month' => 'ఒక నెల|:count నెలలు',
+    'm' => ':count నెల|:count నెల.',
+    'week' => ':count వారం|:count వారాలు',
+    'a_week' => 'ఒక వారం|:count వారాలు',
+    'w' => ':count వార.|:count వారా.',
+    'day' => ':count రోజు|:count రోజులు',
+    'a_day' => 'ఒక రోజు|:count రోజులు',
+    'd' => ':count రోజు|:count రోజు.',
+    'hour' => ':count గంట|:count గంటలు',
+    'a_hour' => 'ఒక గంట|:count గంటలు',
+    'h' => ':count గం.',
+    'minute' => ':count నిమిషం|:count నిమిషాలు',
+    'a_minute' => 'ఒక నిమిషం|:count నిమిషాలు',
+    'min' => ':count నిమి.',
+    'second' => ':count సెకను|:count సెకన్లు',
+    'a_second' => 'కొన్ని క్షణాలు|:count సెకన్లు',
+    's' => ':count సెక.',
+    'ago' => ':time క్రితం',
+    'from_now' => ':time లో',
+    'diff_now' => 'ప్రస్తుతం',
+    'diff_today' => 'నేడు',
+    'diff_yesterday' => 'నిన్న',
+    'diff_tomorrow' => 'రేపు',
+    'formats' => [
+        'LT' => 'A h:mm',
+        'LTS' => 'A h:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, A h:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, A h:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[నేడు] LT',
+        'nextDay' => '[రేపు] LT',
+        'nextWeek' => 'dddd, LT',
+        'lastDay' => '[నిన్న] LT',
+        'lastWeek' => '[గత] dddd, LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberవ',
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'రాత్రి';
+        }
+        if ($hour < 10) {
+            return 'ఉదయం';
+        }
+        if ($hour < 17) {
+            return 'మధ్యాహ్నం';
+        }
+        if ($hour < 20) {
+            return 'సాయంత్రం';
+        }
+
+        return ' రాత్రి';
+    },
+    'months' => ['జనవరి', 'ఫిబ్రవరి', 'మార్చి', 'ఏప్రిల్', 'మే', 'జూన్', 'జూలై', 'ఆగస్టు', 'సెప్టెంబర్', 'అక్టోబర్', 'నవంబర్', 'డిసెంబర్'],
+    'months_short' => ['జన.', 'ఫిబ్ర.', 'మార్చి', 'ఏప్రి.', 'మే', 'జూన్', 'జూలై', 'ఆగ.', 'సెప్.', 'అక్టో.', 'నవ.', 'డిసె.'],
+    'weekdays' => ['ఆదివారం', 'సోమవారం', 'మంగళవారం', 'బుధవారం', 'గురువారం', 'శుక్రవారం', 'శనివారం'],
+    'weekdays_short' => ['ఆది', 'సోమ', 'మంగళ', 'బుధ', 'గురు', 'శుక్ర', 'శని'],
+    'weekdays_min' => ['ఆ', 'సో', 'మం', 'బు', 'గు', 'శు', 'శ'],
+    'list' => ', ',
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'weekend' => [0, 0],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/te_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/te_IN.php
new file mode 100644
index 0000000..6f81c40
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/te_IN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/te.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/teo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/teo.php
new file mode 100644
index 0000000..950235e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/teo.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ta.php', [
+    'meridiem' => ['Taparachu', 'Ebongi'],
+    'weekdays' => ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', 'Nakaung’on', 'Nakakany', 'Nakasabiti'],
+    'weekdays_short' => ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'],
+    'weekdays_min' => ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'],
+    'months' => ['Orara', 'Omuk', 'Okwamg’', 'Odung’el', 'Omaruk', 'Omodok’king’ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', 'Opoo'],
+    'months_short' => ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', 'Ped', 'Sok', 'Tib', 'Lab', 'Poo'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/teo_KE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/teo_KE.php
new file mode 100644
index 0000000..024d272
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/teo_KE.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/teo.php', [
+    'first_day_of_week' => 0,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tet.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tet.php
new file mode 100644
index 0000000..d0544d4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tet.php
@@ -0,0 +1,64 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Joshua Brooks
+ * - François B
+ */
+return [
+    'year' => 'tinan :count',
+    'a_year' => '{1}tinan ida|tinan :count',
+    'month' => 'fulan :count',
+    'a_month' => '{1}fulan ida|fulan :count',
+    'week' => 'semana :count',
+    'a_week' => '{1}semana ida|semana :count',
+    'day' => 'loron :count',
+    'a_day' => '{1}loron ida|loron :count',
+    'hour' => 'oras :count',
+    'a_hour' => '{1}oras ida|oras :count',
+    'minute' => 'minutu :count',
+    'a_minute' => '{1}minutu ida|minutu :count',
+    'second' => 'segundu :count',
+    'a_second' => '{1}segundu balun|segundu :count',
+    'ago' => ':time liuba',
+    'from_now' => 'iha :time',
+    'diff_yesterday' => 'Horiseik',
+    'diff_yesterday_regexp' => 'Horiseik(?:\\s+iha)?',
+    'diff_today' => 'Ohin',
+    'diff_today_regexp' => 'Ohin(?:\\s+iha)?',
+    'diff_tomorrow' => 'Aban',
+    'diff_tomorrow_regexp' => 'Aban(?:\\s+iha)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Ohin iha] LT',
+        'nextDay' => '[Aban iha] LT',
+        'nextWeek' => 'dddd [iha] LT',
+        'lastDay' => '[Horiseik iha] LT',
+        'lastWeek' => 'dddd [semana kotuk] [iha] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':numberº',
+    'months' => ['Janeiru', 'Fevereiru', 'Marsu', 'Abril', 'Maiu', 'Juñu', 'Jullu', 'Agustu', 'Setembru', 'Outubru', 'Novembru', 'Dezembru'],
+    'months_short' => ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
+    'weekdays' => ['Domingu', 'Segunda', 'Tersa', 'Kuarta', 'Kinta', 'Sesta', 'Sabadu'],
+    'weekdays_short' => ['Dom', 'Seg', 'Ters', 'Kua', 'Kint', 'Sest', 'Sab'],
+    'weekdays_min' => ['Do', 'Seg', 'Te', 'Ku', 'Ki', 'Ses', 'Sa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tg.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tg.php
new file mode 100644
index 0000000..b7df893
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tg.php
@@ -0,0 +1,104 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Orif N. Jr
+ */
+return [
+    'year' => '{1}як сол|:count сол',
+    'month' => '{1}як моҳ|:count моҳ',
+    'week' => '{1}як ҳафта|:count ҳафта',
+    'day' => '{1}як рӯз|:count рӯз',
+    'hour' => '{1}як соат|:count соат',
+    'minute' => '{1}як дақиқа|:count дақиқа',
+    'second' => '{1}якчанд сония|:count сония',
+    'ago' => ':time пеш',
+    'from_now' => 'баъди :time',
+    'diff_today' => 'Имрӯз',
+    'diff_yesterday' => 'Дирӯз',
+    'diff_yesterday_regexp' => 'Дирӯз(?:\\s+соати)?',
+    'diff_tomorrow' => 'Пагоҳ',
+    'diff_tomorrow_regexp' => 'Пагоҳ(?:\\s+соати)?',
+    'diff_today_regexp' => 'Имрӯз(?:\\s+соати)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Имрӯз соати] LT',
+        'nextDay' => '[Пагоҳ соати] LT',
+        'nextWeek' => 'dddd[и] [ҳафтаи оянда соати] LT',
+        'lastDay' => '[Дирӯз соати] LT',
+        'lastWeek' => 'dddd[и] [ҳафтаи гузашта соати] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number) {
+        if ($number === 0) { // special case for zero
+            return "$number-ıncı";
+        }
+
+        static $suffixes = [
+            0 => '-ум',
+            1 => '-ум',
+            2 => '-юм',
+            3 => '-юм',
+            4 => '-ум',
+            5 => '-ум',
+            6 => '-ум',
+            7 => '-ум',
+            8 => '-ум',
+            9 => '-ум',
+            10 => '-ум',
+            12 => '-ум',
+            13 => '-ум',
+            20 => '-ум',
+            30 => '-юм',
+            40 => '-ум',
+            50 => '-ум',
+            60 => '-ум',
+            70 => '-ум',
+            80 => '-ум',
+            90 => '-ум',
+            100 => '-ум',
+        ];
+
+        return $number.($suffixes[$number] ?? $suffixes[$number % 10] ?? $suffixes[$number >= 100 ? 100 : -1] ?? '');
+    },
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'шаб';
+        }
+        if ($hour < 11) {
+            return 'субҳ';
+        }
+        if ($hour < 16) {
+            return 'рӯз';
+        }
+        if ($hour < 19) {
+            return 'бегоҳ';
+        }
+
+        return 'шаб';
+    },
+    'months' => ['январ', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'август', 'сентябр', 'октябр', 'ноябр', 'декабр'],
+    'months_short' => ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+    'weekdays' => ['якшанбе', 'душанбе', 'сешанбе', 'чоршанбе', 'панҷшанбе', 'ҷумъа', 'шанбе'],
+    'weekdays_short' => ['яшб', 'дшб', 'сшб', 'чшб', 'пшб', 'ҷум', 'шнб'],
+    'weekdays_min' => ['яш', 'дш', 'сш', 'чш', 'пш', 'ҷм', 'шб'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' ва '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tg_TJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tg_TJ.php
new file mode 100644
index 0000000..c6591e3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tg_TJ.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/tg.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/th.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/th.php
new file mode 100644
index 0000000..6397f6e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/th.php
@@ -0,0 +1,73 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Nate Whittaker
+ * - John MacAslan
+ * - Chanintorn Asavavichairoj
+ * - JD Isaacks
+ * - ROKAISAKKON
+ * - RO'KAISAKKON
+ * - Andreas Möller
+ * - nithisa
+ */
+return [
+    'year' => ':count ปี',
+    'y' => ':count ปี',
+    'month' => ':count เดือน',
+    'm' => ':count เดือน',
+    'week' => ':count สัปดาห์',
+    'w' => ':count สัปดาห์',
+    'day' => ':count วัน',
+    'd' => ':count วัน',
+    'hour' => ':count ชั่วโมง',
+    'h' => ':count ชั่วโมง',
+    'minute' => ':count นาที',
+    'min' => ':count นาที',
+    'second' => ':count วินาที',
+    'a_second' => '{1}ไม่กี่วินาที|]1,Inf[:count วินาที',
+    's' => ':count วินาที',
+    'ago' => ':timeที่แล้ว',
+    'from_now' => 'อีก :time',
+    'after' => ':timeหลังจากนี้',
+    'before' => ':timeก่อน',
+    'diff_now' => 'ขณะนี้',
+    'diff_today' => 'วันนี้',
+    'diff_today_regexp' => 'วันนี้(?:\\s+เวลา)?',
+    'diff_yesterday' => 'เมื่อวาน',
+    'diff_yesterday_regexp' => 'เมื่อวานนี้(?:\\s+เวลา)?',
+    'diff_tomorrow' => 'พรุ่งนี้',
+    'diff_tomorrow_regexp' => 'พรุ่งนี้(?:\\s+เวลา)?',
+    'formats' => [
+        'LT' => 'H:mm',
+        'LTS' => 'H:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY เวลา H:mm',
+        'LLLL' => 'วันddddที่ D MMMM YYYY เวลา H:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[วันนี้ เวลา] LT',
+        'nextDay' => '[พรุ่งนี้ เวลา] LT',
+        'nextWeek' => 'dddd[หน้า เวลา] LT',
+        'lastDay' => '[เมื่อวานนี้ เวลา] LT',
+        'lastWeek' => '[วัน]dddd[ที่แล้ว เวลา] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ก่อนเที่ยง', 'หลังเที่ยง'],
+    'months' => ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม'],
+    'months_short' => ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],
+    'weekdays' => ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', 'เสาร์'],
+    'weekdays_short' => ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัส', 'ศุกร์', 'เสาร์'],
+    'weekdays_min' => ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],
+    'list' => [', ', ' และ '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/th_TH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/th_TH.php
new file mode 100644
index 0000000..f11dc1b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/th_TH.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/th.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/the.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/the.php
new file mode 100644
index 0000000..85f8333
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/the.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/the_NP.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/the_NP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/the_NP.php
new file mode 100644
index 0000000..34da162
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/the_NP.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Chitwanix OS Development    info@chitwanix.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'dddd DD MMM YYYY',
+    ],
+    'months' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'months_short' => ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रेल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
+    'weekdays' => ['आइतबार', 'सोमबार', 'मंगलबार', 'बुधबार', 'बिहिबार', 'शुक्रबार', 'शनिबार'],
+    'weekdays_short' => ['आइत', 'सोम', 'मंगल', 'बुध', 'बिहि', 'शुक्र', 'शनि'],
+    'weekdays_min' => ['आइत', 'सोम', 'मंगल', 'बुध', 'बिहि', 'शुक्र', 'शनि'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['पूर्वाह्न', 'अपराह्न'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti.php
new file mode 100644
index 0000000..ffd3236
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ti_ER.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti_ER.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti_ER.php
new file mode 100644
index 0000000..310c51c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti_ER.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'],
+    'months_short' => ['ጥሪ ', 'ለካቲ', 'መጋቢ', 'ሚያዝ', 'ግንቦ', 'ሰነ ', 'ሓምለ', 'ነሓሰ', 'መስከ', 'ጥቅም', 'ሕዳር', 'ታሕሳ'],
+    'weekdays' => ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'],
+    'weekdays_short' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'],
+    'weekdays_min' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ንጉሆ ሰዓተ', 'ድሕር ሰዓት'],
+
+    'year' => ':count ዓመት',
+    'y' => ':count ዓመት',
+    'a_year' => ':count ዓመት',
+
+    'month' => 'ወርሒ :count',
+    'm' => 'ወርሒ :count',
+    'a_month' => 'ወርሒ :count',
+
+    'week' => ':count ሰሙን',
+    'w' => ':count ሰሙን',
+    'a_week' => ':count ሰሙን',
+
+    'day' => ':count መዓልቲ',
+    'd' => ':count መዓልቲ',
+    'a_day' => ':count መዓልቲ',
+
+    'hour' => ':count ሰዓት',
+    'h' => ':count ሰዓት',
+    'a_hour' => ':count ሰዓት',
+
+    'minute' => ':count ደቒቕ',
+    'min' => ':count ደቒቕ',
+    'a_minute' => ':count ደቒቕ',
+
+    'second' => ':count ሰከንድ',
+    's' => ':count ሰከንድ',
+    'a_second' => ':count ሰከንድ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti_ET.php
new file mode 100644
index 0000000..024217f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ti_ET.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'],
+    'months_short' => ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ ', 'ጁን ', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', 'ዲሴም'],
+    'weekdays' => ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'],
+    'weekdays_short' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'],
+    'weekdays_min' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳም'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ንጉሆ ሰዓተ', 'ድሕር ሰዓት'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tig.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tig.php
new file mode 100644
index 0000000..186fe71
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tig.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/tig_ER.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tig_ER.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tig_ER.php
new file mode 100644
index 0000000..46887b0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tig_ER.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያዝያ', 'ግንቦት', 'ሰነ', 'ሓምለ', 'ነሓሰ', 'መስከረም', 'ጥቅምቲ', 'ሕዳር', 'ታሕሳስ'],
+    'months_short' => ['ጥሪ ', 'ለካቲ', 'መጋቢ', 'ሚያዝ', 'ግንቦ', 'ሰነ ', 'ሓምለ', 'ነሓሰ', 'መስከ', 'ጥቅም', 'ሕዳር', 'ታሕሳ'],
+    'weekdays' => ['ሰንበት ዓባይ', 'ሰኖ', 'ታላሸኖ', 'ኣረርባዓ', 'ከሚሽ', 'ጅምዓት', 'ሰንበት ንኢሽ'],
+    'weekdays_short' => ['ሰ//ዓ', 'ሰኖ ', 'ታላሸ', 'ኣረር', 'ከሚሽ', 'ጅምዓ', 'ሰ//ን'],
+    'weekdays_min' => ['ሰ//ዓ', 'ሰኖ ', 'ታላሸ', 'ኣረር', 'ከሚሽ', 'ጅምዓ', 'ሰ//ን'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ቀደም ሰር ምዕል', 'ሓቆ ሰር ምዕል'],
+
+    'year' => ':count ማይ', // less reliable
+    'y' => ':count ማይ', // less reliable
+    'a_year' => ':count ማይ', // less reliable
+
+    'month' => ':count ሸምሽ', // less reliable
+    'm' => ':count ሸምሽ', // less reliable
+    'a_month' => ':count ሸምሽ', // less reliable
+
+    'week' => ':count ሰቡዕ', // less reliable
+    'w' => ':count ሰቡዕ', // less reliable
+    'a_week' => ':count ሰቡዕ', // less reliable
+
+    'day' => ':count ዎሮ', // less reliable
+    'd' => ':count ዎሮ', // less reliable
+    'a_day' => ':count ዎሮ', // less reliable
+
+    'hour' => ':count ሰዓት', // less reliable
+    'h' => ':count ሰዓት', // less reliable
+    'a_hour' => ':count ሰዓት', // less reliable
+
+    'minute' => ':count ካልኣይት', // less reliable
+    'min' => ':count ካልኣይት', // less reliable
+    'a_minute' => ':count ካልኣይት', // less reliable
+
+    'second' => ':count ካልኣይ',
+    's' => ':count ካልኣይ',
+    'a_second' => ':count ካልኣይ',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tk.php
new file mode 100644
index 0000000..d8f7d19
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tk.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/tk_TM.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tk_TM.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tk_TM.php
new file mode 100644
index 0000000..f949a43
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tk_TM.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Authors:
+ * - Ghorban M. Tavakoly Pablo Saratxaga & Ghorban M. Tavakoly pablo@walon.org & gmt314@yahoo.com
+ * - SuperManPHP
+ * - Maksat Meredow (isadma)
+ */
+$transformDiff = function ($input) {
+    return strtr($input, [
+        'sekunt' => 'sekunt',
+        'hepde' => 'hepde',
+    ]);
+};
+
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Ýanwar', 'Fewral', 'Mart', 'Aprel', 'Maý', 'Iýun', 'Iýul', 'Awgust', 'Sentýabr', 'Oktýabr', 'Noýabr', 'Dekabr'],
+    'months_short' => ['Ýan', 'Few', 'Mar', 'Apr', 'Maý', 'Iýn', 'Iýl', 'Awg', 'Sen', 'Okt', 'Noý', 'Dek'],
+    'weekdays' => ['Duşenbe', 'Sişenbe', 'Çarşenbe', 'Penşenbe', 'Anna', 'Şenbe', 'Ýekşenbe'],
+    'weekdays_short' => ['Duş', 'Siş', 'Çar', 'Pen', 'Ann', 'Şen', 'Ýek'],
+    'weekdays_min' => ['Du', 'Si', 'Ça', 'Pe', 'An', 'Şe', 'Ýe'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count ýyl',
+    'y' => ':count ýyl',
+    'a_year' => ':count ýyl',
+
+    'month' => ':count aý',
+    'm' => ':count aý',
+    'a_month' => ':count aý',
+
+    'week' => ':count hepde',
+    'w' => ':count hepde',
+    'a_week' => ':count hepde',
+
+    'day' => ':count gün',
+    'd' => ':count gün',
+    'a_day' => ':count gün',
+
+    'hour' => ':count sagat',
+    'h' => ':count sagat',
+    'a_hour' => ':count sagat',
+
+    'minute' => ':count minut',
+    'min' => ':count minut',
+    'a_minute' => ':count minut',
+
+    'second' => ':count sekunt',
+    's' => ':count sekunt',
+    'a_second' => ':count sekunt',
+
+    'ago' => function ($time) use ($transformDiff) {
+        return $transformDiff($time).' ozal';
+    },
+    'from_now' => function ($time) use ($transformDiff) {
+        return $transformDiff($time).' soňra';
+    },
+    'after' => function ($time) use ($transformDiff) {
+        return $transformDiff($time).' soň';
+    },
+    'before' => function ($time) use ($transformDiff) {
+        return $transformDiff($time).' öň';
+    },
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tl.php
new file mode 100644
index 0000000..410a266
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tl.php
@@ -0,0 +1,61 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return [
+    'year' => ':count taon',
+    'a_year' => '{1}isang taon|:count taon',
+    'month' => ':count buwan',
+    'a_month' => '{1}isang buwan|:count buwan',
+    'week' => ':count linggo',
+    'a_week' => '{1}isang linggo|:count linggo',
+    'day' => ':count araw',
+    'a_day' => '{1}isang araw|:count araw',
+    'hour' => ':count oras',
+    'a_hour' => '{1}isang oras|:count oras',
+    'minute' => ':count minuto',
+    'a_minute' => '{1}isang minuto|:count minuto',
+    'min' => ':count min.',
+    'second' => ':count segundo',
+    'a_second' => '{1}ilang segundo|:count segundo',
+    's' => ':count seg.',
+    'ago' => ':time ang nakalipas',
+    'from_now' => 'sa loob ng :time',
+    'diff_now' => 'ngayon',
+    'diff_today' => 'ngayong',
+    'diff_today_regexp' => 'ngayong(?:\\s+araw)?',
+    'diff_yesterday' => 'kahapon',
+    'diff_tomorrow' => 'bukas',
+    'diff_tomorrow_regexp' => 'Bukas(?:\\s+ng)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'MM/D/YYYY',
+        'LL' => 'MMMM D, YYYY',
+        'LLL' => 'MMMM D, YYYY HH:mm',
+        'LLLL' => 'dddd, MMMM DD, YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => 'LT [ngayong araw]',
+        'nextDay' => '[Bukas ng] LT',
+        'nextWeek' => 'LT [sa susunod na] dddd',
+        'lastDay' => 'LT [kahapon]',
+        'lastWeek' => 'LT [noong nakaraang] dddd',
+        'sameElse' => 'L',
+    ],
+    'months' => ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'],
+    'months_short' => ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'],
+    'weekdays' => ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado'],
+    'weekdays_short' => ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'],
+    'weekdays_min' => ['Li', 'Lu', 'Ma', 'Mi', 'Hu', 'Bi', 'Sab'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' at '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tl_PH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tl_PH.php
new file mode 100644
index 0000000..95f508c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tl_PH.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Ian De La Cruz
+ * - JD Isaacks
+ */
+return require __DIR__.'/tl.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tlh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tlh.php
new file mode 100644
index 0000000..fbf9e6f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tlh.php
@@ -0,0 +1,72 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Serhan Apaydın
+ * - Dominika
+ */
+return [
+    'year' => '{1}wa’ DIS|:count DIS',
+    'month' => '{1}wa’ jar|:count jar',
+    'week' => '{1}wa’ hogh|:count hogh',
+    'day' => '{1}wa’ jaj|:count jaj',
+    'hour' => '{1}wa’ rep|:count rep',
+    'minute' => '{1}wa’ tup|:count tup',
+    'second' => '{1}puS lup|:count lup',
+    'ago' => function ($time) {
+        $output = strtr($time, [
+            'jaj' => 'Hu’',
+            'jar' => 'wen',
+            'DIS' => 'ben',
+        ]);
+
+        return $output === $time ? "$time ret" : $output;
+    },
+    'from_now' => function ($time) {
+        $output = strtr($time, [
+            'jaj' => 'leS',
+            'jar' => 'waQ',
+            'DIS' => 'nem',
+        ]);
+
+        return $output === $time ? "$time pIq" : $output;
+    },
+    'diff_yesterday' => 'wa’Hu’',
+    'diff_today' => 'DaHjaj',
+    'diff_tomorrow' => 'wa’leS',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[DaHjaj] LT',
+        'nextDay' => '[wa’leS] LT',
+        'nextWeek' => 'LLL',
+        'lastDay' => '[wa’Hu’] LT',
+        'lastWeek' => 'LLL',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => ':number.',
+    'months' => ['tera’ jar wa’', 'tera’ jar cha’', 'tera’ jar wej', 'tera’ jar loS', 'tera’ jar vagh', 'tera’ jar jav', 'tera’ jar Soch', 'tera’ jar chorgh', 'tera’ jar Hut', 'tera’ jar wa’maH', 'tera’ jar wa’maH wa’', 'tera’ jar wa’maH cha’'],
+    'months_short' => ['jar wa’', 'jar cha’', 'jar wej', 'jar loS', 'jar vagh', 'jar jav', 'jar Soch', 'jar chorgh', 'jar Hut', 'jar wa’maH', 'jar wa’maH wa’', 'jar wa’maH cha’'],
+    'weekdays' => ['lojmItjaj', 'DaSjaj', 'povjaj', 'ghItlhjaj', 'loghjaj', 'buqjaj', 'ghInjaj'],
+    'weekdays_short' => ['lojmItjaj', 'DaSjaj', 'povjaj', 'ghItlhjaj', 'loghjaj', 'buqjaj', 'ghInjaj'],
+    'weekdays_min' => ['lojmItjaj', 'DaSjaj', 'povjaj', 'ghItlhjaj', 'loghjaj', 'buqjaj', 'ghInjaj'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' ’ej '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tn.php
new file mode 100644
index 0000000..f29bdf6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tn.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/tn_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tn_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tn_ZA.php
new file mode 100644
index 0000000..aada7db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tn_ZA.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Ferikgong', 'Tlhakole', 'Mopitlwe', 'Moranang', 'Motsheganong', 'Seetebosigo', 'Phukwi', 'Phatwe', 'Lwetse', 'Diphalane', 'Ngwanatsele', 'Sedimonthole'],
+    'months_short' => ['Fer', 'Tlh', 'Mop', 'Mor', 'Mot', 'See', 'Phu', 'Pha', 'Lwe', 'Dip', 'Ngw', 'Sed'],
+    'weekdays' => ['laTshipi', 'Mosupologo', 'Labobedi', 'Laboraro', 'Labone', 'Labotlhano', 'Lamatlhatso'],
+    'weekdays_short' => ['Tsh', 'Mos', 'Bed', 'Rar', 'Ne', 'Tlh', 'Mat'],
+    'weekdays_min' => ['Tsh', 'Mos', 'Bed', 'Rar', 'Ne', 'Tlh', 'Mat'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => 'dingwaga di le :count',
+    'y' => 'dingwaga di le :count',
+    'a_year' => 'dingwaga di le :count',
+
+    'month' => 'dikgwedi di le :count',
+    'm' => 'dikgwedi di le :count',
+    'a_month' => 'dikgwedi di le :count',
+
+    'week' => 'dibeke di le :count',
+    'w' => 'dibeke di le :count',
+    'a_week' => 'dibeke di le :count',
+
+    'day' => 'malatsi :count',
+    'd' => 'malatsi :count',
+    'a_day' => 'malatsi :count',
+
+    'hour' => 'diura di le :count',
+    'h' => 'diura di le :count',
+    'a_hour' => 'diura di le :count',
+
+    'minute' => 'metsotso e le :count',
+    'min' => 'metsotso e le :count',
+    'a_minute' => 'metsotso e le :count',
+
+    'second' => 'metsotswana e le :count',
+    's' => 'metsotswana e le :count',
+    'a_second' => 'metsotswana e le :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/to.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/to.php
new file mode 100644
index 0000000..20581bb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/to.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/to_TO.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/to_TO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/to_TO.php
new file mode 100644
index 0000000..335c69a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/to_TO.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - International Components for Unicode    akhilesh.k@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'dddd DD MMM YYYY',
+    ],
+    'months' => ['Sānuali', 'Fēpueli', 'Maʻasi', 'ʻEpeleli', 'Mē', 'Sune', 'Siulai', 'ʻAokosi', 'Sepitema', 'ʻOkatopa', 'Nōvema', 'Tīsema'],
+    'months_short' => ['Sān', 'Fēp', 'Maʻa', 'ʻEpe', 'Mē', 'Sun', 'Siu', 'ʻAok', 'Sep', 'ʻOka', 'Nōv', 'Tīs'],
+    'weekdays' => ['Sāpate', 'Mōnite', 'Tūsite', 'Pulelulu', 'Tuʻapulelulu', 'Falaite', 'Tokonaki'],
+    'weekdays_short' => ['Sāp', 'Mōn', 'Tūs', 'Pul', 'Tuʻa', 'Fal', 'Tok'],
+    'weekdays_min' => ['Sāp', 'Mōn', 'Tūs', 'Pul', 'Tuʻa', 'Fal', 'Tok'],
+    'meridiem' => ['hengihengi', 'efiafi'],
+
+    'year' => ':count fitu', // less reliable
+    'y' => ':count fitu', // less reliable
+    'a_year' => ':count fitu', // less reliable
+
+    'month' => ':count mahina', // less reliable
+    'm' => ':count mahina', // less reliable
+    'a_month' => ':count mahina', // less reliable
+
+    'week' => ':count Sapate', // less reliable
+    'w' => ':count Sapate', // less reliable
+    'a_week' => ':count Sapate', // less reliable
+
+    'day' => ':count ʻaho', // less reliable
+    'd' => ':count ʻaho', // less reliable
+    'a_day' => ':count ʻaho', // less reliable
+
+    'hour' => ':count houa',
+    'h' => ':count houa',
+    'a_hour' => ':count houa',
+
+    'minute' => ':count miniti',
+    'min' => ':count miniti',
+    'a_minute' => ':count miniti',
+
+    'second' => ':count sekoni',
+    's' => ':count sekoni',
+    'a_second' => ':count sekoni',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tpi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tpi.php
new file mode 100644
index 0000000..7d38dae
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tpi.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/tpi_PG.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tpi_PG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tpi_PG.php
new file mode 100644
index 0000000..5f58c44
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tpi_PG.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Samsung Electronics Co., Ltd.    akhilesh.k@samsung.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Janueri', 'Februeri', 'Mas', 'Epril', 'Me', 'Jun', 'Julai', 'Ogas', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mas', 'Epr', 'Me', 'Jun', 'Jul', 'Oga', 'Sep', 'Okt', 'Nov', 'Des'],
+    'weekdays' => ['Sande', 'Mande', 'Tunde', 'Trinde', 'Fonde', 'Fraide', 'Sarere'],
+    'weekdays_short' => ['San', 'Man', 'Tun', 'Tri', 'Fon', 'Fra', 'Sar'],
+    'weekdays_min' => ['San', 'Man', 'Tun', 'Tri', 'Fon', 'Fra', 'Sar'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['biknait', 'apinun'],
+
+    'year' => 'yia :count',
+    'y' => 'yia :count',
+    'a_year' => 'yia :count',
+
+    'month' => ':count mun',
+    'm' => ':count mun',
+    'a_month' => ':count mun',
+
+    'week' => ':count wik',
+    'w' => ':count wik',
+    'a_week' => ':count wik',
+
+    'day' => ':count de',
+    'd' => ':count de',
+    'a_day' => ':count de',
+
+    'hour' => ':count aua',
+    'h' => ':count aua',
+    'a_hour' => ':count aua',
+
+    'minute' => ':count minit',
+    'min' => ':count minit',
+    'a_minute' => ':count minit',
+
+    'second' => ':count namba tu',
+    's' => ':count namba tu',
+    'a_second' => ':count namba tu',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr.php
new file mode 100644
index 0000000..f5d9f4c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr.php
@@ -0,0 +1,121 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Alan Agius
+ * - Erhan Gundogan
+ * - François B
+ * - JD Isaacks
+ * - Murat Yüksel
+ * - Baran Şengül
+ * - Selami (selamialtin)
+ * - TeomanBey
+ */
+return [
+    'year' => ':count yıl',
+    'a_year' => '{1}bir yıl|]1,Inf[:count yıl',
+    'y' => ':county',
+    'month' => ':count ay',
+    'a_month' => '{1}bir ay|]1,Inf[:count ay',
+    'm' => ':countay',
+    'week' => ':count hafta',
+    'a_week' => '{1}bir hafta|]1,Inf[:count hafta',
+    'w' => ':counth',
+    'day' => ':count gün',
+    'a_day' => '{1}bir gün|]1,Inf[:count gün',
+    'd' => ':countg',
+    'hour' => ':count saat',
+    'a_hour' => '{1}bir saat|]1,Inf[:count saat',
+    'h' => ':countsa',
+    'minute' => ':count dakika',
+    'a_minute' => '{1}bir dakika|]1,Inf[:count dakika',
+    'min' => ':countdk',
+    'second' => ':count saniye',
+    'a_second' => '{1}birkaç saniye|]1,Inf[:count saniye',
+    's' => ':countsn',
+    'ago' => ':time önce',
+    'from_now' => ':time sonra',
+    'after' => ':time sonra',
+    'before' => ':time önce',
+    'diff_now' => 'şimdi',
+    'diff_today' => 'bugün',
+    'diff_today_regexp' => 'bugün(?:\\s+saat)?',
+    'diff_yesterday' => 'dün',
+    'diff_tomorrow' => 'yarın',
+    'diff_tomorrow_regexp' => 'yarın(?:\\s+saat)?',
+    'diff_before_yesterday' => 'evvelsi gün',
+    'diff_after_tomorrow' => 'öbür gün',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[bugün saat] LT',
+        'nextDay' => '[yarın saat] LT',
+        'nextWeek' => '[gelecek] dddd [saat] LT',
+        'lastDay' => '[dün] LT',
+        'lastWeek' => '[geçen] dddd [saat] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'd':
+            case 'D':
+            case 'Do':
+            case 'DD':
+                return $number;
+            default:
+                if ($number === 0) {  // special case for zero
+                    return "$number'ıncı";
+                }
+
+                static $suffixes = [
+                    1 => '\'inci',
+                    5 => '\'inci',
+                    8 => '\'inci',
+                    70 => '\'inci',
+                    80 => '\'inci',
+                    2 => '\'nci',
+                    7 => '\'nci',
+                    20 => '\'nci',
+                    50 => '\'nci',
+                    3 => '\'üncü',
+                    4 => '\'üncü',
+                    100 => '\'üncü',
+                    6 => '\'ncı',
+                    9 => '\'uncu',
+                    10 => '\'uncu',
+                    30 => '\'uncu',
+                    60 => '\'ıncı',
+                    90 => '\'ıncı',
+                ];
+
+                $lastDigit = $number % 10;
+
+                return $number.($suffixes[$lastDigit] ?? $suffixes[$number % 100 - $lastDigit] ?? $suffixes[$number >= 100 ? 100 : -1] ?? '');
+        }
+    },
+    'meridiem' => ['ÖÖ', 'ÖS', 'öö', 'ös'],
+    'months' => ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
+    'months_short' => ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],
+    'weekdays' => ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
+    'weekdays_short' => ['Paz', 'Pts', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'],
+    'weekdays_min' => ['Pz', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' ve '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr_CY.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr_CY.php
new file mode 100644
index 0000000..1937fec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr_CY.php
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/tr.php', [
+    'weekdays_short' => ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'],
+    'weekdays_min' => ['Pa', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'],
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'D.MM.YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'D MMMM YYYY dddd h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr_TR.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr_TR.php
new file mode 100644
index 0000000..dc8e935
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tr_TR.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/tr.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ts.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ts.php
new file mode 100644
index 0000000..525736b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ts.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ts_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ts_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ts_ZA.php
new file mode 100644
index 0000000..37a24ec
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ts_ZA.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Sunguti', 'Nyenyenyani', 'Nyenyankulu', 'Dzivamisoko', 'Mudyaxihi', 'Khotavuxika', 'Mawuwani', 'Mhawuri', 'Ndzhati', 'Nhlangula', 'Hukuri', 'N\'wendzamhala'],
+    'months_short' => ['Sun', 'Yan', 'Kul', 'Dzi', 'Mud', 'Kho', 'Maw', 'Mha', 'Ndz', 'Nhl', 'Huk', 'N\'w'],
+    'weekdays' => ['Sonto', 'Musumbhunuku', 'Ravumbirhi', 'Ravunharhu', 'Ravumune', 'Ravuntlhanu', 'Mugqivela'],
+    'weekdays_short' => ['Son', 'Mus', 'Bir', 'Har', 'Ne', 'Tlh', 'Mug'],
+    'weekdays_min' => ['Son', 'Mus', 'Bir', 'Har', 'Ne', 'Tlh', 'Mug'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => 'malembe ya :count',
+    'y' => 'malembe ya :count',
+    'a_year' => 'malembe ya :count',
+
+    'month' => 'tin’hweti ta :count',
+    'm' => 'tin’hweti ta :count',
+    'a_month' => 'tin’hweti ta :count',
+
+    'week' => 'mavhiki ya :count',
+    'w' => 'mavhiki ya :count',
+    'a_week' => 'mavhiki ya :count',
+
+    'day' => 'masiku :count',
+    'd' => 'masiku :count',
+    'a_day' => 'masiku :count',
+
+    'hour' => 'tiawara ta :count',
+    'h' => 'tiawara ta :count',
+    'a_hour' => 'tiawara ta :count',
+
+    'minute' => 'timinete ta :count',
+    'min' => 'timinete ta :count',
+    'a_minute' => 'timinete ta :count',
+
+    'second' => 'tisekoni ta :count',
+    's' => 'tisekoni ta :count',
+    'a_second' => 'tisekoni ta :count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt.php
new file mode 100644
index 0000000..d67d896
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/tt_RU.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU.php
new file mode 100644
index 0000000..38e42d0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Rinat Norkin Pablo Saratxaga, Rinat Norkin pablo@mandrakesoft.com, rinat@taif.ru
+ */
+return [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'DD MMM, HH:mm',
+        'LLLL' => 'DD MMMM YYYY, HH:mm',
+    ],
+    'months' => ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'],
+    'months_short' => ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+    'weekdays' => ['якшәмбе', 'дышәмбе', 'сишәмбе', 'чәршәәмбе', 'пәнҗешмбе', 'җомга', 'шимбә'],
+    'weekdays_short' => ['якш', 'дыш', 'сиш', 'чәрш', 'пәнҗ', 'җом', 'шим'],
+    'weekdays_min' => ['якш', 'дыш', 'сиш', 'чәрш', 'пәнҗ', 'җом', 'шим'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'year' => ':count ел',
+    'month' => ':count ай',
+    'week' => ':count атна',
+    'day' => ':count көн',
+    'hour' => ':count сәгать',
+    'minute' => ':count минут',
+    'second' => ':count секунд',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU@iqtelif.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU@iqtelif.php
new file mode 100644
index 0000000..16b8efb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU@iqtelif.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Reshat Sabiq tatar.iqtelif.i18n@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD.MM.YYYY',
+    ],
+    'months' => ['Ğınwar', 'Fiwral\'', 'Mart', 'April', 'May', 'Yün', 'Yül', 'Awgust', 'Sintebír', 'Üktebír', 'Noyebír', 'Dikebír'],
+    'months_short' => ['Ğın', 'Fiw', 'Mar', 'Apr', 'May', 'Yün', 'Yül', 'Awg', 'Sin', 'Ükt', 'Noy', 'Dik'],
+    'weekdays' => ['Yekşembí', 'Düşembí', 'Sişembí', 'Çerşembí', 'Pencíşembí', 'Comğa', 'Şimbe'],
+    'weekdays_short' => ['Yek', 'Düş', 'Siş', 'Çer', 'Pen', 'Com', 'Şim'],
+    'weekdays_min' => ['Yek', 'Düş', 'Siş', 'Çer', 'Pen', 'Com', 'Şim'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ÖA', 'ÖS'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/twq.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/twq.php
new file mode 100644
index 0000000..e8ff278
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/twq.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/ses.php', [
+    'meridiem' => ['Subbaahi', 'Zaarikay b'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzl.php
new file mode 100644
index 0000000..50bf26d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzl.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return [
+    'year' => '[0,1]:count ar|:count ars',
+    'y' => '[0,1]:count ar|:count ars',
+    'month' => '[0,1]:count mes|:count mesen',
+    'm' => '[0,1]:count mes|:count mesen',
+    'week' => '[0,1]:count seifetziua|:count seifetziuas',
+    'w' => '[0,1]:count seifetziua|:count seifetziuas',
+    'day' => '[0,1]:count ziua|:count ziuas',
+    'd' => '[0,1]:count ziua|:count ziuas',
+    'hour' => '[0,1]:count þora|:count þoras',
+    'h' => '[0,1]:count þora|:count þoras',
+    'minute' => '[0,1]:count míut|:count míuts',
+    'min' => '[0,1]:count míut|:count míuts',
+    'second' => ':count secunds',
+    's' => ':count secunds',
+
+    'ago' => 'ja :time',
+    'from_now' => 'osprei :time',
+
+    'diff_yesterday' => 'ieiri',
+    'diff_yesterday_regexp' => 'ieiri(?:\\s+à)?',
+    'diff_today' => 'oxhi',
+    'diff_today_regexp' => 'oxhi(?:\\s+à)?',
+    'diff_tomorrow' => 'demà',
+    'diff_tomorrow_regexp' => 'demà(?:\\s+à)?',
+
+    'formats' => [
+        'LT' => 'HH.mm',
+        'LTS' => 'HH.mm.ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D. MMMM [dallas] YYYY',
+        'LLL' => 'D. MMMM [dallas] YYYY HH.mm',
+        'LLLL' => 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',
+    ],
+
+    'calendar' => [
+        'sameDay' => '[oxhi à] LT',
+        'nextDay' => '[demà à] LT',
+        'nextWeek' => 'dddd [à] LT',
+        'lastDay' => '[ieiri à] LT',
+        'lastWeek' => '[sür el] dddd [lasteu à] LT',
+        'sameElse' => 'L',
+    ],
+
+    'meridiem' => ["D'A", "D'O"],
+    'months' => ['Januar', 'Fevraglh', 'Març', 'Avrïu', 'Mai', 'Gün', 'Julia', 'Guscht', 'Setemvar', 'Listopäts', 'Noemvar', 'Zecemvar'],
+    'months_short' => ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Gün', 'Jul', 'Gus', 'Set', 'Lis', 'Noe', 'Zec'],
+    'weekdays' => ['Súladi', 'Lúneçi', 'Maitzi', 'Márcuri', 'Xhúadi', 'Viénerçi', 'Sáturi'],
+    'weekdays_short' => ['Súl', 'Lún', 'Mai', 'Már', 'Xhú', 'Vié', 'Sát'],
+    'weekdays_min' => ['Sú', 'Lú', 'Ma', 'Má', 'Xh', 'Vi', 'Sá'],
+    'ordinal' => ':number.',
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzm.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzm.php
new file mode 100644
index 0000000..2a1a0f2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzm.php
@@ -0,0 +1,57 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - JD Isaacks
+ */
+return [
+    'year' => '{1}ⴰⵙⴳⴰⵙ|:count ⵉⵙⴳⴰⵙⵏ',
+    'month' => '{1}ⴰⵢoⵓⵔ|:count ⵉⵢⵢⵉⵔⵏ',
+    'week' => ':count ⵉⵎⴰⵍⴰⵙⵙ',
+    'day' => '{1}ⴰⵙⵙ|:count oⵙⵙⴰⵏ',
+    'hour' => '{1}ⵙⴰⵄⴰ|:count ⵜⴰⵙⵙⴰⵄⵉⵏ',
+    'minute' => '{1}ⵎⵉⵏⵓⴺ|:count ⵎⵉⵏⵓⴺ',
+    'second' => '{1}ⵉⵎⵉⴽ|:count ⵉⵎⵉⴽ',
+    'ago' => 'ⵢⴰⵏ :time',
+    'from_now' => 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ :time',
+    'diff_today' => 'ⴰⵙⴷⵅ',
+    'diff_yesterday' => 'ⴰⵚⴰⵏⵜ',
+    'diff_yesterday_regexp' => 'ⴰⵚⴰⵏⵜ(?:\\s+ⴴ)?',
+    'diff_tomorrow' => 'ⴰⵙⴽⴰ',
+    'diff_tomorrow_regexp' => 'ⴰⵙⴽⴰ(?:\\s+ⴴ)?',
+    'diff_today_regexp' => 'ⴰⵙⴷⵅ(?:\\s+ⴴ)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[ⴰⵙⴷⵅ ⴴ] LT',
+        'nextDay' => '[ⴰⵙⴽⴰ ⴴ] LT',
+        'nextWeek' => 'dddd [ⴴ] LT',
+        'lastDay' => '[ⴰⵚⴰⵏⵜ ⴴ] LT',
+        'lastWeek' => 'dddd [ⴴ] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵟⵓⴱⵕ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⵏⴱⵉⵔ'],
+    'months_short' => ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵟⵓⴱⵕ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⵏⴱⵉⵔ'],
+    'weekdays' => ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵔⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'],
+    'weekdays_short' => ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵔⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'],
+    'weekdays_min' => ['ⴰⵙⴰⵎⴰⵙ', 'ⴰⵢⵏⴰⵙ', 'ⴰⵙⵉⵏⴰⵙ', 'ⴰⴽⵔⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+    'weekend' => [5, 6],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzm_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzm_Latn.php
new file mode 100644
index 0000000..5840d20
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/tzm_Latn.php
@@ -0,0 +1,64 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - JD Isaacks
+ */
+return [
+    'year' => '{1}:count asgas|:count isgasn',
+    'a_year' => 'asgas|:count isgasn',
+    'month' => '{1}:count ayowr|:count iyyirn',
+    'a_month' => 'ayowr|:count iyyirn',
+    'week' => ':count imalass',
+    'a_week' => ':imalass',
+    'day' => '{1}:count ass|:count ossan',
+    'a_day' => 'ass|:count ossan',
+    'hour' => '{1}:count saɛa|:count tassaɛin',
+    'a_hour' => '{1}saɛa|:count tassaɛin',
+    'minute' => ':count minuḍ',
+    'a_minute' => '{1}minuḍ|:count minuḍ',
+    'second' => ':count imik',
+    'a_second' => '{1}imik|:count imik',
+    'ago' => 'yan :time',
+    'from_now' => 'dadkh s yan :time',
+    'diff_yesterday' => 'assant',
+    'diff_yesterday_regexp' => 'assant(?:\\s+g)?',
+    'diff_today' => 'asdkh',
+    'diff_today_regexp' => 'asdkh(?:\\s+g)?',
+    'diff_tomorrow' => 'aska',
+    'diff_tomorrow_regexp' => 'aska(?:\\s+g)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[asdkh g] LT',
+        'nextDay' => '[aska g] LT',
+        'nextWeek' => 'dddd [g] LT',
+        'lastDay' => '[assant g] LT',
+        'lastWeek' => 'dddd [g] LT',
+        'sameElse' => 'L',
+    ],
+    'months' => ['innayr', 'brˤayrˤ', 'marˤsˤ', 'ibrir', 'mayyw', 'ywnyw', 'ywlywz', 'ɣwšt', 'šwtanbir', 'ktˤwbrˤ', 'nwwanbir', 'dwjnbir'],
+    'months_short' => ['innayr', 'brˤayrˤ', 'marˤsˤ', 'ibrir', 'mayyw', 'ywnyw', 'ywlywz', 'ɣwšt', 'šwtanbir', 'ktˤwbrˤ', 'nwwanbir', 'dwjnbir'],
+    'weekdays' => ['asamas', 'aynas', 'asinas', 'akras', 'akwas', 'asimwas', 'asiḍyas'],
+    'weekdays_short' => ['asamas', 'aynas', 'asinas', 'akras', 'akwas', 'asimwas', 'asiḍyas'],
+    'weekdays_min' => ['asamas', 'aynas', 'asinas', 'akras', 'akwas', 'asimwas', 'asiḍyas'],
+    'meridiem' => ['Zdat azal', 'Ḍeffir aza'],
+    'first_day_of_week' => 6,
+    'day_of_first_week_of_year' => 1,
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ug.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ug.php
new file mode 100644
index 0000000..259b99a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ug.php
@@ -0,0 +1,90 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Philippe Vaucher
+ * - Tsutomu Kuroda
+ * - yasinn
+ */
+return [
+    'year' => '{1}'.'بىر يىل'.'|:count '.'يىل',
+    'month' => '{1}'.'بىر ئاي'.'|:count '.'ئاي',
+    'week' => '{1}'.'بىر ھەپتە'.'|:count '.'ھەپتە',
+    'day' => '{1}'.'بىر كۈن'.'|:count '.'كۈن',
+    'hour' => '{1}'.'بىر سائەت'.'|:count '.'سائەت',
+    'minute' => '{1}'.'بىر مىنۇت'.'|:count '.'مىنۇت',
+    'second' => '{1}'.'نەچچە سېكونت'.'|:count '.'سېكونت',
+    'ago' => ':time بۇرۇن',
+    'from_now' => ':time كېيىن',
+    'diff_today' => 'بۈگۈن',
+    'diff_yesterday' => 'تۆنۈگۈن',
+    'diff_tomorrow' => 'ئەتە',
+    'diff_tomorrow_regexp' => 'ئەتە(?:\\s+سائەت)?',
+    'diff_today_regexp' => 'بۈگۈن(?:\\s+سائەت)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-DD',
+        'LL' => 'YYYY-يىلىM-ئاينىڭD-كۈنى',
+        'LLL' => 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+        'LLLL' => 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[بۈگۈن سائەت] LT',
+        'nextDay' => '[ئەتە سائەت] LT',
+        'nextWeek' => '[كېلەركى] dddd [سائەت] LT',
+        'lastDay' => '[تۆنۈگۈن] LT',
+        'lastWeek' => '[ئالدىنقى] dddd [سائەت] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return $number.'-كۈنى';
+            case 'w':
+            case 'W':
+                return $number.'-ھەپتە';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => function ($hour, $minute) {
+        $time = $hour * 100 + $minute;
+        if ($time < 600) {
+            return 'يېرىم كېچە';
+        }
+        if ($time < 900) {
+            return 'سەھەر';
+        }
+        if ($time < 1130) {
+            return 'چۈشتىن بۇرۇن';
+        }
+        if ($time < 1230) {
+            return 'چۈش';
+        }
+        if ($time < 1800) {
+            return 'چۈشتىن كېيىن';
+        }
+
+        return 'كەچ';
+    },
+    'months' => ['يانۋار', 'فېۋرال', 'مارت', 'ئاپرېل', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سېنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دېكابىر'],
+    'months_short' => ['يانۋار', 'فېۋرال', 'مارت', 'ئاپرېل', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سېنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دېكابىر'],
+    'weekdays' => ['يەكشەنبە', 'دۈشەنبە', 'سەيشەنبە', 'چارشەنبە', 'پەيشەنبە', 'جۈمە', 'شەنبە'],
+    'weekdays_short' => ['يە', 'دۈ', 'سە', 'چا', 'پە', 'جۈ', 'شە'],
+    'weekdays_min' => ['يە', 'دۈ', 'سە', 'چا', 'پە', 'جۈ', 'شە'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' ۋە '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ug_CN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ug_CN.php
new file mode 100644
index 0000000..deb828c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ug_CN.php
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Kunal Marwaha
+ * - Alim Boyaq
+ */
+return require __DIR__.'/ug.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uk.php
new file mode 100644
index 0000000..ab2d867
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uk.php
@@ -0,0 +1,208 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+$processHoursFunction = function (\Carbon\CarbonInterface $date, string $format) {
+    return $format.'о'.($date->hour === 11 ? 'б' : '').'] LT';
+};
+
+/*
+ * Authors:
+ * - Kunal Marwaha
+ * - Josh Soref
+ * - François B
+ * - Tim Fish
+ * - Serhan Apaydın
+ * - Max Mykhailenko
+ * - JD Isaacks
+ * - Max Kovpak
+ * - AucT
+ * - Philippe Vaucher
+ * - Ilya Shaplyko
+ * - Vadym Ievsieiev
+ * - Denys Kurets
+ * - Igor Kasyanchuk
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Max Melentiev
+ * - Oleh
+ * - epaminond
+ * - Juanito Fatas
+ * - Vitalii Khustochka
+ * - Akira Matsuda
+ * - Christopher Dell
+ * - Enrique Vidal
+ * - Simone Carletti
+ * - Aaron Patterson
+ * - Andriy Tyurnikov
+ * - Nicolás Hock Isaza
+ * - Iwakura Taro
+ * - Andrii Ponomarov
+ * - alecrabbit
+ * - vystepanenko
+ * - AlexWalkerson
+ * - Andre Havryliuk (Andrend)
+ * - Max Datsenko (datsenko-md)
+ */
+return [
+    'year' => ':count рік|:count роки|:count років',
+    'y' => ':countр',
+    'a_year' => '{1}рік|:count рік|:count роки|:count років',
+    'month' => ':count місяць|:count місяці|:count місяців',
+    'm' => ':countм',
+    'a_month' => '{1}місяць|:count місяць|:count місяці|:count місяців',
+    'week' => ':count тиждень|:count тижні|:count тижнів',
+    'w' => ':countт',
+    'a_week' => '{1}тиждень|:count тиждень|:count тижні|:count тижнів',
+    'day' => ':count день|:count дні|:count днів',
+    'd' => ':countд',
+    'a_day' => '{1}день|:count день|:count дні|:count днів',
+    'hour' => ':count година|:count години|:count годин',
+    'h' => ':countг',
+    'a_hour' => '{1}година|:count година|:count години|:count годин',
+    'minute' => ':count хвилина|:count хвилини|:count хвилин',
+    'min' => ':countхв',
+    'a_minute' => '{1}хвилина|:count хвилина|:count хвилини|:count хвилин',
+    'second' => ':count секунда|:count секунди|:count секунд',
+    's' => ':countсек',
+    'a_second' => '{1}декілька секунд|:count секунда|:count секунди|:count секунд',
+
+    'hour_ago' => ':count годину|:count години|:count годин',
+    'a_hour_ago' => '{1}годину|:count годину|:count години|:count годин',
+    'minute_ago' => ':count хвилину|:count хвилини|:count хвилин',
+    'a_minute_ago' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин',
+    'second_ago' => ':count секунду|:count секунди|:count секунд',
+    'a_second_ago' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд',
+
+    'hour_from_now' => ':count годину|:count години|:count годин',
+    'a_hour_from_now' => '{1}годину|:count годину|:count години|:count годин',
+    'minute_from_now' => ':count хвилину|:count хвилини|:count хвилин',
+    'a_minute_from_now' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин',
+    'second_from_now' => ':count секунду|:count секунди|:count секунд',
+    'a_second_from_now' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд',
+
+    'hour_after' => ':count годину|:count години|:count годин',
+    'a_hour_after' => '{1}годину|:count годину|:count години|:count годин',
+    'minute_after' => ':count хвилину|:count хвилини|:count хвилин',
+    'a_minute_after' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин',
+    'second_after' => ':count секунду|:count секунди|:count секунд',
+    'a_second_after' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд',
+
+    'hour_before' => ':count годину|:count години|:count годин',
+    'a_hour_before' => '{1}годину|:count годину|:count години|:count годин',
+    'minute_before' => ':count хвилину|:count хвилини|:count хвилин',
+    'a_minute_before' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин',
+    'second_before' => ':count секунду|:count секунди|:count секунд',
+    'a_second_before' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд',
+
+    'ago' => ':time тому',
+    'from_now' => 'за :time',
+    'after' => ':time після',
+    'before' => ':time до',
+    'diff_now' => 'щойно',
+    'diff_today' => 'Сьогодні',
+    'diff_today_regexp' => 'Сьогодні(?:\\s+о)?',
+    'diff_yesterday' => 'вчора',
+    'diff_yesterday_regexp' => 'Вчора(?:\\s+о)?',
+    'diff_tomorrow' => 'завтра',
+    'diff_tomorrow_regexp' => 'Завтра(?:\\s+о)?',
+    'diff_before_yesterday' => 'позавчора',
+    'diff_after_tomorrow' => 'післязавтра',
+    'period_recurrences' => 'один раз|:count рази|:count разів',
+    'period_interval' => 'кожні :interval',
+    'period_start_date' => 'з :date',
+    'period_end_date' => 'до :date',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY, HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY, HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) {
+            return $processHoursFunction($date, '[Сьогодні ');
+        },
+        'nextDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) {
+            return $processHoursFunction($date, '[Завтра ');
+        },
+        'nextWeek' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) {
+            return $processHoursFunction($date, '[У] dddd [');
+        },
+        'lastDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) {
+            return $processHoursFunction($date, '[Вчора ');
+        },
+        'lastWeek' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) {
+            switch ($date->dayOfWeek) {
+                case 0:
+                case 3:
+                case 5:
+                case 6:
+                    return $processHoursFunction($date, '[Минулої] dddd [');
+                default:
+                    return $processHoursFunction($date, '[Минулого] dddd [');
+            }
+        },
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'M':
+            case 'd':
+            case 'DDD':
+            case 'w':
+            case 'W':
+                return $number.'-й';
+            case 'D':
+                return $number.'-го';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => function ($hour) {
+        if ($hour < 4) {
+            return 'ночі';
+        }
+        if ($hour < 12) {
+            return 'ранку';
+        }
+        if ($hour < 17) {
+            return 'дня';
+        }
+
+        return 'вечора';
+    },
+    'months' => ['січня', 'лютого', 'березня', 'квітня', 'травня', 'червня', 'липня', 'серпня', 'вересня', 'жовтня', 'листопада', 'грудня'],
+    'months_standalone' => ['січень', 'лютий', 'березень', 'квітень', 'травень', 'червень', 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень'],
+    'months_short' => ['січ', 'лют', 'бер', 'кві', 'тра', 'чер', 'лип', 'сер', 'вер', 'жов', 'лис', 'гру'],
+    'months_regexp' => '/(D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/',
+    'weekdays' => function (\Carbon\CarbonInterface $date, $format, $index) {
+        static $words = [
+            'nominative' => ['неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'п’ятниця', 'субота'],
+            'accusative' => ['неділю', 'понеділок', 'вівторок', 'середу', 'четвер', 'п’ятницю', 'суботу'],
+            'genitive' => ['неділі', 'понеділка', 'вівторка', 'середи', 'четверга', 'п’ятниці', 'суботи'],
+        ];
+
+        $nounCase = preg_match('/(\[(В|в|У|у)\])\s+dddd/', $format)
+            ? 'accusative'
+            : (
+                preg_match('/\[?(?:минулої|наступної)?\s*\]\s+dddd/', $format)
+                    ? 'genitive'
+                    : 'nominative'
+            );
+
+        return $words[$nounCase][$index] ?? null;
+    },
+    'weekdays_short' => ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
+    'weekdays_min' => ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' i '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uk_UA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uk_UA.php
new file mode 100644
index 0000000..5fc4317
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uk_UA.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/uk.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/unm.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/unm.php
new file mode 100644
index 0000000..d3f19f0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/unm.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/unm_US.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/unm_US.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/unm_US.php
new file mode 100644
index 0000000..fa5c374
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/unm_US.php
@@ -0,0 +1,57 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['enikwsi', 'chkwali', 'xamokhwite', 'kwetayoxe', 'tainipen', 'kichinipen', 'lainipen', 'winaminke', 'kichitahkok', 'puksit', 'wini', 'muxkotae'],
+    'months_short' => ['eni', 'chk', 'xam', 'kwe', 'tai', 'nip', 'lai', 'win', 'tah', 'puk', 'kun', 'mux'],
+    'weekdays' => ['kentuwei', 'manteke', 'tusteke', 'lelai', 'tasteke', 'pelaiteke', 'sateteke'],
+    'weekdays_short' => ['ken', 'man', 'tus', 'lel', 'tas', 'pel', 'sat'],
+    'weekdays_min' => ['ken', 'man', 'tus', 'lel', 'tas', 'pel', 'sat'],
+    'day_of_first_week_of_year' => 1,
+
+    // Too unreliable
+    /*
+    'year' => ':count kaxtëne',
+    'y' => ':count kaxtëne',
+    'a_year' => ':count kaxtëne',
+
+    'month' => ':count piskewëni kishux', // less reliable
+    'm' => ':count piskewëni kishux', // less reliable
+    'a_month' => ':count piskewëni kishux', // less reliable
+
+    'week' => ':count kishku', // less reliable
+    'w' => ':count kishku', // less reliable
+    'a_week' => ':count kishku', // less reliable
+
+    'day' => ':count kishku',
+    'd' => ':count kishku',
+    'a_day' => ':count kishku',
+
+    'hour' => ':count xkuk', // less reliable
+    'h' => ':count xkuk', // less reliable
+    'a_hour' => ':count xkuk', // less reliable
+
+    'minute' => ':count txituwàk', // less reliable
+    'min' => ':count txituwàk', // less reliable
+    'a_minute' => ':count txituwàk', // less reliable
+
+    'second' => ':count nisha', // less reliable
+    's' => ':count nisha', // less reliable
+    'a_second' => ':count nisha', // less reliable
+    */
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur.php
new file mode 100644
index 0000000..e55aff2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur.php
@@ -0,0 +1,93 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+$months = [
+    'جنوری',
+    'فروری',
+    'مارچ',
+    'اپریل',
+    'مئی',
+    'جون',
+    'جولائی',
+    'اگست',
+    'ستمبر',
+    'اکتوبر',
+    'نومبر',
+    'دسمبر',
+];
+
+$weekdays = [
+    'اتوار',
+    'پیر',
+    'منگل',
+    'بدھ',
+    'جمعرات',
+    'جمعہ',
+    'ہفتہ',
+];
+
+/*
+ * Authors:
+ * - Sawood Alam
+ * - Mehshan
+ * - Philippe Vaucher
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Zaid Akram
+ * - Max Melentiev
+ * - hafezdivandari
+ * - Hossein Jabbari
+ * - nimamo
+ */
+return [
+    'year' => 'ایک سال|:count سال',
+    'month' => 'ایک ماہ|:count ماہ',
+    'week' => ':count ہفتے',
+    'day' => 'ایک دن|:count دن',
+    'hour' => 'ایک گھنٹہ|:count گھنٹے',
+    'minute' => 'ایک منٹ|:count منٹ',
+    'second' => 'چند سیکنڈ|:count سیکنڈ',
+    'ago' => ':time قبل',
+    'from_now' => ':time بعد',
+    'after' => ':time بعد',
+    'before' => ':time پہلے',
+    'diff_now' => 'اب',
+    'diff_today' => 'آج',
+    'diff_today_regexp' => 'آج(?:\\s+بوقت)?',
+    'diff_yesterday' => 'گزشتہ کل',
+    'diff_yesterday_regexp' => 'گذشتہ(?:\\s+روز)?(?:\\s+بوقت)?',
+    'diff_tomorrow' => 'آئندہ کل',
+    'diff_tomorrow_regexp' => 'کل(?:\\s+بوقت)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd، D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[آج بوقت] LT',
+        'nextDay' => '[کل بوقت] LT',
+        'nextWeek' => 'dddd [بوقت] LT',
+        'lastDay' => '[گذشتہ روز بوقت] LT',
+        'lastWeek' => '[گذشتہ] dddd [بوقت] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['صبح', 'شام'],
+    'months' => $months,
+    'months_short' => $months,
+    'weekdays' => $weekdays,
+    'weekdays_short' => $weekdays,
+    'weekdays_min' => $weekdays,
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => ['، ', ' اور '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur_IN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur_IN.php
new file mode 100644
index 0000000..f81c84d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur_IN.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Red Hat, Pune    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ur.php', [
+    'formats' => [
+        'L' => 'D/M/YY',
+    ],
+    'months' => ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'months_short' => ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'weekdays' => ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'سنیچر'],
+    'weekdays_short' => ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'سنیچر'],
+    'weekdays_min' => ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'سنیچر'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur_PK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur_PK.php
new file mode 100644
index 0000000..8cd593d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ur_PK.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/ur.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'months_short' => ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'weekdays' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'هفته'],
+    'weekdays_short' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'هفته'],
+    'weekdays_min' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'هفته'],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ص', 'ش'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz.php
new file mode 100644
index 0000000..61f3b64
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz.php
@@ -0,0 +1,85 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Dmitriy Shabanov
+ * - JD Isaacks
+ * - Inoyatulloh
+ * - Jamshid
+ * - aarkhipov
+ * - Philippe Vaucher
+ * - felixthemagnificent
+ * - Tsutomu Kuroda
+ * - tjku
+ * - Max Melentiev
+ * - Juanito Fatas
+ * - Alisher Ulugbekov
+ * - Ergashev Adizbek
+ */
+return [
+    'year' => ':count йил',
+    'a_year' => '{1}бир йил|:count йил',
+    'y' => ':count й',
+    'month' => ':count ой',
+    'a_month' => '{1}бир ой|:count ой',
+    'm' => ':count о',
+    'week' => ':count ҳафта',
+    'a_week' => '{1}бир ҳафта|:count ҳафта',
+    'w' => ':count ҳ',
+    'day' => ':count кун',
+    'a_day' => '{1}бир кун|:count кун',
+    'd' => ':count к',
+    'hour' => ':count соат',
+    'a_hour' => '{1}бир соат|:count соат',
+    'h' => ':count с',
+    'minute' => ':count дақиқа',
+    'a_minute' => '{1}бир дақиқа|:count дақиқа',
+    'min' => ':count д',
+    'second' => ':count сония',
+    'a_second' => '{1}сония|:count сония',
+    's' => ':count с',
+    'ago' => ':time аввал',
+    'from_now' => 'Якин :time ичида',
+    'after' => ':timeдан кейин',
+    'before' => ':time олдин',
+    'diff_now' => 'ҳозир',
+    'diff_today' => 'Бугун',
+    'diff_today_regexp' => 'Бугун(?:\\s+соат)?',
+    'diff_yesterday' => 'Кеча',
+    'diff_yesterday_regexp' => 'Кеча(?:\\s+соат)?',
+    'diff_tomorrow' => 'Эртага',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'D MMMM YYYY, dddd HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Бугун соат] LT [да]',
+        'nextDay' => '[Эртага] LT [да]',
+        'nextWeek' => 'dddd [куни соат] LT [да]',
+        'lastDay' => '[Кеча соат] LT [да]',
+        'lastWeek' => '[Утган] dddd [куни соат] LT [да]',
+        'sameElse' => 'L',
+    ],
+    'months' => ['январ', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'август', 'сентябр', 'октябр', 'ноябр', 'декабр'],
+    'months_short' => ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+    'weekdays' => ['якшанба', 'душанба', 'сешанба', 'чоршанба', 'пайшанба', 'жума', 'шанба'],
+    'weekdays_short' => ['якш', 'душ', 'сеш', 'чор', 'пай', 'жум', 'шан'],
+    'weekdays_min' => ['як', 'ду', 'се', 'чо', 'па', 'жу', 'ша'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['эрталаб', 'кечаси'],
+    'list' => [', ', ' ва '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Arab.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Arab.php
new file mode 100644
index 0000000..6871911
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Arab.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/fa.php', [
+    'weekdays' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],
+    'weekdays_short' => ['ی.', 'د.', 'س.', 'چ.', 'پ.', 'ج.', 'ش.'],
+    'weekdays_min' => ['ی.', 'د.', 'س.', 'چ.', 'پ.', 'ج.', 'ش.'],
+    'months' => ['جنوری', 'فبروری', 'مارچ', 'اپریل', 'می', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
+    'months_short' => ['جنو', 'فبر', 'مار', 'اپر', 'می', 'جون', 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'],
+    'first_day_of_week' => 6,
+    'weekend' => [4, 5],
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'YYYY MMMM D, dddd HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Cyrl.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Cyrl.php
new file mode 100644
index 0000000..e875469
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Cyrl.php
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/uz.php', [
+    'formats' => [
+        'L' => 'DD/MM/yy',
+        'LL' => 'D MMM, YYYY',
+        'LLL' => 'D MMMM, YYYY HH:mm',
+        'LLLL' => 'dddd, DD MMMM, YYYY HH:mm',
+    ],
+    'meridiem' => ['ТО', 'ТК'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Latn.php
new file mode 100644
index 0000000..ecceeaa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_Latn.php
@@ -0,0 +1,74 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Josh Soref
+ * - Rasulbek
+ * - Ilyosjon Kamoldinov (ilyosjon09)
+ */
+return [
+    'year' => ':count yil',
+    'a_year' => '{1}bir yil|:count yil',
+    'y' => ':count y',
+    'month' => ':count oy',
+    'a_month' => '{1}bir oy|:count oy',
+    'm' => ':count o',
+    'week' => ':count hafta',
+    'a_week' => '{1}bir hafta|:count hafta',
+    'w' => ':count h',
+    'day' => ':count kun',
+    'a_day' => '{1}bir kun|:count kun',
+    'd' => ':count k',
+    'hour' => ':count soat',
+    'a_hour' => '{1}bir soat|:count soat',
+    'h' => ':count soat',
+    'minute' => ':count daqiqa',
+    'a_minute' => '{1}bir daqiqa|:count daqiqa',
+    'min' => ':count d',
+    'second' => ':count soniya',
+    'a_second' => '{1}soniya|:count soniya',
+    's' => ':count son.',
+    'ago' => ':time avval',
+    'from_now' => 'Yaqin :time ichida',
+    'after' => ':timedan keyin',
+    'before' => ':time oldin',
+    'diff_yesterday' => 'Kecha',
+    'diff_yesterday_regexp' => 'Kecha(?:\\s+soat)?',
+    'diff_today' => 'Bugun',
+    'diff_today_regexp' => 'Bugun(?:\\s+soat)?',
+    'diff_tomorrow' => 'Ertaga',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'D MMMM YYYY, dddd HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Bugun soat] LT [da]',
+        'nextDay' => '[Ertaga] LT [da]',
+        'nextWeek' => 'dddd [kuni soat] LT [da]',
+        'lastDay' => '[Kecha soat] LT [da]',
+        'lastWeek' => '[O\'tgan] dddd [kuni soat] LT [da]',
+        'sameElse' => 'L',
+    ],
+    'months' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr'],
+    'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Iyun', 'Iyul', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'],
+    'weekdays' => ['Yakshanba', 'Dushanba', 'Seshanba', 'Chorshanba', 'Payshanba', 'Juma', 'Shanba'],
+    'weekdays_short' => ['Yak', 'Dush', 'Sesh', 'Chor', 'Pay', 'Jum', 'Shan'],
+    'weekdays_min' => ['Ya', 'Du', 'Se', 'Cho', 'Pa', 'Ju', 'Sha'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' va '],
+    'meridiem' => ['TO', 'TK'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ.php
new file mode 100644
index 0000000..d41bfee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Bobir Ismailov Bobir Ismailov, Pablo Saratxaga, Mashrab Kuvatov bobir_is@yahoo.com, pablo@mandrakesoft.com, kmashrab@uni-bremen.de
+ */
+return array_replace_recursive(require __DIR__.'/uz_Latn.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr'],
+    'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Iyn', 'Iyl', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'],
+    'weekdays' => ['Yakshanba', 'Dushanba', 'Seshanba', 'Chorshanba', 'Payshanba', 'Juma', 'Shanba'],
+    'weekdays_short' => ['Yak', 'Du', 'Se', 'Cho', 'Pay', 'Ju', 'Sha'],
+    'weekdays_min' => ['Yak', 'Du', 'Se', 'Cho', 'Pay', 'Ju', 'Sha'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ@cyrillic.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ@cyrillic.php
new file mode 100644
index 0000000..2fa967c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ@cyrillic.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Mashrab Kuvatov Mashrab Kuvatov, Pablo Saratxaga kmashrab@uni-bremen.de, pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/uz.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['Январ', 'Феврал', 'Март', 'Апрел', 'Май', 'Июн', 'Июл', 'Август', 'Сентябр', 'Октябр', 'Ноябр', 'Декабр'],
+    'months_short' => ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
+    'weekdays' => ['Якшанба', 'Душанба', 'Сешанба', 'Чоршанба', 'Пайшанба', 'Жума', 'Шанба'],
+    'weekdays_short' => ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', 'Жум', 'Шан'],
+    'weekdays_min' => ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', 'Жум', 'Шан'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai.php
new file mode 100644
index 0000000..3e6fce2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai.php
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'],
+    'weekdays_short' => ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'],
+    'weekdays_min' => ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ꕚꕞꕚ', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'],
+    'months' => ['ꖨꖕ ꕪꕴ ꔞꔀꕮꕊ', 'ꕒꕡꖝꖕ', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', 'ꖱꘋ', 'ꖱꕞꔤ', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', 'ꔞꘋꕔꕿ ꕸꖃꗏ', 'ꖨꖕ ꕪꕴ ꗏꖺꕮꕊ'],
+    'months_short' => ['ꖨꖕꔞ', 'ꕒꕡ', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', 'ꖱꘋ', 'ꖱꕞ', 'ꗛꔕ', 'ꕢꕌ', 'ꕭꖃ', 'ꔞꘋ', 'ꖨꖕꗏ'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm a',
+    ],
+
+    'year' => ':count ꕀ', // less reliable
+    'y' => ':count ꕀ', // less reliable
+    'a_year' => ':count ꕀ', // less reliable
+
+    'second' => ':count ꗱꕞꕯꕊ', // less reliable
+    's' => ':count ꗱꕞꕯꕊ', // less reliable
+    'a_second' => ':count ꗱꕞꕯꕊ', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai_Latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai_Latn.php
new file mode 100644
index 0000000..b76c4bc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai_Latn.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'weekdays' => ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'],
+    'weekdays_short' => ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'],
+    'weekdays_min' => ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siɓiti'],
+    'months' => ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'],
+    'months_short' => ['luukao kemã', 'ɓandaɓu', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kɔnde', 'saah', 'galo', 'kenpkato ɓololɔ', 'luukao lɔma'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'h:mm a',
+        'LTS' => 'h:mm:ss a',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm a',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm a',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai_Vaii.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai_Vaii.php
new file mode 100644
index 0000000..7b029a8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vai_Vaii.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/vai.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ve.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ve.php
new file mode 100644
index 0000000..7f10aeb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ve.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/ve_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ve_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ve_ZA.php
new file mode 100644
index 0000000..5eb2b91
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/ve_ZA.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Phando', 'Luhuhi', 'Ṱhafamuhwe', 'Lambamai', 'Shundunthule', 'Fulwi', 'Fulwana', 'Ṱhangule', 'Khubvumedzi', 'Tshimedzi', 'Ḽara', 'Nyendavhusiku'],
+    'months_short' => ['Pha', 'Luh', 'Fam', 'Lam', 'Shu', 'Lwi', 'Lwa', 'Ngu', 'Khu', 'Tsh', 'Ḽar', 'Nye'],
+    'weekdays' => ['Swondaha', 'Musumbuluwo', 'Ḽavhuvhili', 'Ḽavhuraru', 'Ḽavhuṋa', 'Ḽavhuṱanu', 'Mugivhela'],
+    'weekdays_short' => ['Swo', 'Mus', 'Vhi', 'Rar', 'ṋa', 'Ṱan', 'Mug'],
+    'weekdays_min' => ['Swo', 'Mus', 'Vhi', 'Rar', 'ṋa', 'Ṱan', 'Mug'],
+    'day_of_first_week_of_year' => 1,
+
+    // Too unreliable
+    /*
+    'day' => ':count vhege', // less reliable
+    'd' => ':count vhege', // less reliable
+    'a_day' => ':count vhege', // less reliable
+
+    'hour' => ':count watshi', // less reliable
+    'h' => ':count watshi', // less reliable
+    'a_hour' => ':count watshi', // less reliable
+
+    'minute' => ':count watshi', // less reliable
+    'min' => ':count watshi', // less reliable
+    'a_minute' => ':count watshi', // less reliable
+
+    'second' => ':count Mu', // less reliable
+    's' => ':count Mu', // less reliable
+    'a_second' => ':count Mu', // less reliable
+
+    'week' => ':count vhege',
+    'w' => ':count vhege',
+    'a_week' => ':count vhege',
+    */
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vi.php
new file mode 100644
index 0000000..73e2852
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vi.php
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Andre Polykanine A.K.A. Menelion Elensúlë
+ * - JD Isaacks
+ */
+return [
+    'year' => ':count năm',
+    'a_year' => '{1}một năm|]1, Inf[:count năm',
+    'y' => ':count năm',
+    'month' => ':count tháng',
+    'a_month' => '{1}một tháng|]1, Inf[:count tháng',
+    'm' => ':count tháng',
+    'week' => ':count tuần',
+    'a_week' => '{1}một tuần|]1, Inf[:count tuần',
+    'w' => ':count tuần',
+    'day' => ':count ngày',
+    'a_day' => '{1}một ngày|]1, Inf[:count ngày',
+    'd' => ':count ngày',
+    'hour' => ':count giờ',
+    'a_hour' => '{1}một giờ|]1, Inf[:count giờ',
+    'h' => ':count giờ',
+    'minute' => ':count phút',
+    'a_minute' => '{1}một phút|]1, Inf[:count phút',
+    'min' => ':count phút',
+    'second' => ':count giây',
+    'a_second' => '{1}vài giây|]1, Inf[:count giây',
+    's' => ':count giây',
+    'ago' => ':time trước',
+    'from_now' => ':time tới',
+    'after' => ':time sau',
+    'before' => ':time trước',
+    'diff_now' => 'bây giờ',
+    'diff_today' => 'Hôm',
+    'diff_today_regexp' => 'Hôm(?:\\s+nay)?(?:\\s+lúc)?',
+    'diff_yesterday' => 'Hôm qua',
+    'diff_yesterday_regexp' => 'Hôm(?:\\s+qua)?(?:\\s+lúc)?',
+    'diff_tomorrow' => 'Ngày mai',
+    'diff_tomorrow_regexp' => 'Ngày(?:\\s+mai)?(?:\\s+lúc)?',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM [năm] YYYY',
+        'LLL' => 'D MMMM [năm] YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM [năm] YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[Hôm nay lúc] LT',
+        'nextDay' => '[Ngày mai lúc] LT',
+        'nextWeek' => 'dddd [tuần tới lúc] LT',
+        'lastDay' => '[Hôm qua lúc] LT',
+        'lastWeek' => 'dddd [tuần trước lúc] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['SA', 'CH'],
+    'months' => ['tháng 1', 'tháng 2', 'tháng 3', 'tháng 4', 'tháng 5', 'tháng 6', 'tháng 7', 'tháng 8', 'tháng 9', 'tháng 10', 'tháng 11', 'tháng 12'],
+    'months_short' => ['Th01', 'Th02', 'Th03', 'Th04', 'Th05', 'Th06', 'Th07', 'Th08', 'Th09', 'Th10', 'Th11', 'Th12'],
+    'weekdays' => ['chủ nhật', 'thứ hai', 'thứ ba', 'thứ tư', 'thứ năm', 'thứ sáu', 'thứ bảy'],
+    'weekdays_short' => ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
+    'weekdays_min' => ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => [', ', ' và '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vi_VN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vi_VN.php
new file mode 100644
index 0000000..77b2dce
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vi_VN.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/vi.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vo.php
new file mode 100644
index 0000000..a956a78
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vo.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'months' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'],
+    'months_short' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY-MM-dd',
+        'LL' => 'YYYY MMM D',
+        'LLL' => 'YYYY MMMM D HH:mm',
+        'LLLL' => 'YYYY MMMM D, dddd HH:mm',
+    ],
+
+    'year' => ':count yel',
+    'y' => ':count yel',
+    'a_year' => ':count yel',
+
+    'month' => ':count mul',
+    'm' => ':count mul',
+    'a_month' => ':count mul',
+
+    'week' => ':count vig',
+    'w' => ':count vig',
+    'a_week' => ':count vig',
+
+    'day' => ':count del',
+    'd' => ':count del',
+    'a_day' => ':count del',
+
+    'hour' => ':count düp',
+    'h' => ':count düp',
+    'a_hour' => ':count düp',
+
+    'minute' => ':count minut',
+    'min' => ':count minut',
+    'a_minute' => ':count minut',
+
+    'second' => ':count sekun',
+    's' => ':count sekun',
+    'a_second' => ':count sekun',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vun.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vun.php
new file mode 100644
index 0000000..f8cc72c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/vun.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['utuko', 'kyiukonyi'],
+    'weekdays' => ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+    'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'],
+    'months' => ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wa.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wa.php
new file mode 100644
index 0000000..f6dc4cc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wa.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/wa_BE.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wa_BE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wa_BE.php
new file mode 100644
index 0000000..a76d80d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wa_BE.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Djan SACRE Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['di djanvî', 'di fevrî', 'di måss', 'd’ avri', 'di may', 'di djun', 'di djulete', 'd’ awousse', 'di setimbe', 'd’ octôbe', 'di nôvimbe', 'di decimbe'],
+    'months_short' => ['dja', 'fev', 'mås', 'avr', 'may', 'djn', 'djl', 'awo', 'set', 'oct', 'nôv', 'dec'],
+    'weekdays' => ['dimegne', 'londi', 'mårdi', 'mierkidi', 'djudi', 'vénrdi', 'semdi'],
+    'weekdays_short' => ['dim', 'lon', 'mår', 'mie', 'dju', 'vén', 'sem'],
+    'weekdays_min' => ['dim', 'lon', 'mår', 'mie', 'dju', 'vén', 'sem'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'year' => ':count anêye',
+    'y' => ':count anêye',
+    'a_year' => ':count anêye',
+
+    'month' => ':count meûs',
+    'm' => ':count meûs',
+    'a_month' => ':count meûs',
+
+    'week' => ':count samwinne',
+    'w' => ':count samwinne',
+    'a_week' => ':count samwinne',
+
+    'day' => ':count djoû',
+    'd' => ':count djoû',
+    'a_day' => ':count djoû',
+
+    'hour' => ':count eure',
+    'h' => ':count eure',
+    'a_hour' => ':count eure',
+
+    'minute' => ':count munute',
+    'min' => ':count munute',
+    'a_minute' => ':count munute',
+
+    'second' => ':count Sigonde',
+    's' => ':count Sigonde',
+    'a_second' => ':count Sigonde',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wae.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wae.php
new file mode 100644
index 0000000..bf57f23
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wae.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/wae_CH.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wae_CH.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wae_CH.php
new file mode 100644
index 0000000..2af50b4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wae_CH.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Walser Translation Team ml@translate-wae.ch
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+    'months' => ['Jenner', 'Hornig', 'Märze', 'Abrille', 'Meije', 'Bráčet', 'Heiwet', 'Öigšte', 'Herbštmánet', 'Wímánet', 'Wintermánet', 'Chrištmánet'],
+    'months_short' => ['Jen', 'Hor', 'Mär', 'Abr', 'Mei', 'Brá', 'Hei', 'Öig', 'Her', 'Wím', 'Win', 'Chr'],
+    'weekdays' => ['Suntag', 'Mäntag', 'Zischtag', 'Mittwuch', 'Frontag', 'Fritag', 'Samschtag'],
+    'weekdays_short' => ['Sun', 'Män', 'Zis', 'Mit', 'Fro', 'Fri', 'Sam'],
+    'weekdays_min' => ['Sun', 'Män', 'Zis', 'Mit', 'Fro', 'Fri', 'Sam'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+
+    'month' => ':count Maano', // less reliable
+    'm' => ':count Maano', // less reliable
+    'a_month' => ':count Maano', // less reliable
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wal.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wal.php
new file mode 100644
index 0000000..e8ec40f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wal.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/wal_ET.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wal_ET.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wal_ET.php
new file mode 100644
index 0000000..a4e619a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wal_ET.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Ge'ez Frontier Foundation    locales@geez.org
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች', 'ኤፕረል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት', 'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር', 'ዲሴምበር'],
+    'months_short' => ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕረ', 'ሜይ ', 'ጁን ', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ', 'ኖቬም', 'ዲሴም'],
+    'weekdays' => ['ወጋ', 'ሳይኖ', 'ማቆሳኛ', 'አሩዋ', 'ሃሙሳ', 'አርባ', 'ቄራ'],
+    'weekdays_short' => ['ወጋ ', 'ሳይኖ', 'ማቆሳ', 'አሩዋ', 'ሃሙሳ', 'አርባ', 'ቄራ '],
+    'weekdays_min' => ['ወጋ ', 'ሳይኖ', 'ማቆሳ', 'አሩዋ', 'ሃሙሳ', 'አርባ', 'ቄራ '],
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['ማለዶ', 'ቃማ'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wo.php
new file mode 100644
index 0000000..74b95df
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wo.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/wo_SN.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wo_SN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wo_SN.php
new file mode 100644
index 0000000..f8a85b3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/wo_SN.php
@@ -0,0 +1,39 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - The Debian Project Christian Perrier bubulle@debian.org
+ */
+return [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD.MM.YYYY',
+        'LL' => 'MMMM DD, YYYY',
+        'LLL' => 'DD MMM HH:mm',
+        'LLLL' => 'MMMM DD, YYYY HH:mm',
+    ],
+    'months' => ['sanwiy\'e', 'feebriy\'e', 'mars', 'awril', 'me', 'suwen', 'sulet', 'uut', 'septaambar', 'oktoobar', 'nowaambar', 'desaambar'],
+    'months_short' => ['san', 'fee', 'mar', 'awr', 'me ', 'suw', 'sul', 'uut', 'sep', 'okt', 'now', 'des'],
+    'weekdays' => ['dib\'eer', 'altine', 'talaata', 'allarba', 'alxames', 'ajjuma', 'gaawu'],
+    'weekdays_short' => ['dib', 'alt', 'tal', 'all', 'alx', 'ajj', 'gaa'],
+    'weekdays_min' => ['dib', 'alt', 'tal', 'all', 'alx', 'ajj', 'gaa'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'year' => ':count at',
+    'month' => ':count wèr',
+    'week' => ':count ayubés',
+    'day' => ':count bés',
+    'hour' => ':count waxtu',
+    'minute' => ':count simili',
+    'second' => ':count saa',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xh.php
new file mode 100644
index 0000000..e88c78d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xh.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/xh_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xh_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xh_ZA.php
new file mode 100644
index 0000000..910f831
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xh_ZA.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['eyoMqungu', 'eyoMdumba', 'eyoKwindla', 'uTshazimpuzi', 'uCanzibe', 'eyeSilimela', 'eyeKhala', 'eyeThupa', 'eyoMsintsi', 'eyeDwarha', 'eyeNkanga', 'eyoMnga'],
+    'months_short' => ['Mqu', 'Mdu', 'Kwi', 'Tsh', 'Can', 'Sil', 'Kha', 'Thu', 'Msi', 'Dwa', 'Nka', 'Mng'],
+    'weekdays' => ['iCawa', 'uMvulo', 'lwesiBini', 'lwesiThathu', 'ulweSine', 'lwesiHlanu', 'uMgqibelo'],
+    'weekdays_short' => ['Caw', 'Mvu', 'Bin', 'Tha', 'Sin', 'Hla', 'Mgq'],
+    'weekdays_min' => ['Caw', 'Mvu', 'Bin', 'Tha', 'Sin', 'Hla', 'Mgq'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count ihlobo', // less reliable
+    'y' => ':count ihlobo', // less reliable
+    'a_year' => ':count ihlobo', // less reliable
+
+    'hour' => ':count iwotshi', // less reliable
+    'h' => ':count iwotshi', // less reliable
+    'a_hour' => ':count iwotshi', // less reliable
+
+    'minute' => ':count ingqalelo', // less reliable
+    'min' => ':count ingqalelo', // less reliable
+    'a_minute' => ':count ingqalelo', // less reliable
+
+    'second' => ':count nceda', // less reliable
+    's' => ':count nceda', // less reliable
+    'a_second' => ':count nceda', // less reliable
+
+    'month' => ':count inyanga',
+    'm' => ':count inyanga',
+    'a_month' => ':count inyanga',
+
+    'week' => ':count veki',
+    'w' => ':count veki',
+    'a_week' => ':count veki',
+
+    'day' => ':count imini',
+    'd' => ':count imini',
+    'a_day' => ':count imini',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xog.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xog.php
new file mode 100644
index 0000000..063977c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/xog.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['Munkyo', 'Eigulo'],
+    'weekdays' => ['Sabiiti', 'Balaza', 'Owokubili', 'Owokusatu', 'Olokuna', 'Olokutaanu', 'Olomukaaga'],
+    'weekdays_short' => ['Sabi', 'Bala', 'Kubi', 'Kusa', 'Kuna', 'Kuta', 'Muka'],
+    'weekdays_min' => ['Sabi', 'Bala', 'Kubi', 'Kusa', 'Kuna', 'Kuta', 'Muka'],
+    'months' => ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'],
+    'months_short' => ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yav.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yav.php
new file mode 100644
index 0000000..e44cde6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yav.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'meridiem' => ['kiɛmɛ́ɛm', 'kisɛ́ndɛ'],
+    'weekdays' => ['sɔ́ndiɛ', 'móndie', 'muányáŋmóndie', 'metúkpíápɛ', 'kúpélimetúkpiapɛ', 'feléte', 'séselé'],
+    'weekdays_short' => ['sd', 'md', 'mw', 'et', 'kl', 'fl', 'ss'],
+    'weekdays_min' => ['sd', 'md', 'mw', 'et', 'kl', 'fl', 'ss'],
+    'months' => ['pikítíkítie, oólí ú kutúan', 'siɛyɛ́, oóli ú kándíɛ', 'ɔnsúmbɔl, oóli ú kátátúɛ', 'mesiŋ, oóli ú kénie', 'ensil, oóli ú kátánuɛ', 'ɔsɔn', 'efute', 'pisuyú', 'imɛŋ i puɔs', 'imɛŋ i putúk,oóli ú kátíɛ', 'makandikɛ', 'pilɔndɔ́'],
+    'months_short' => ['o.1', 'o.2', 'o.3', 'o.4', 'o.5', 'o.6', 'o.7', 'o.8', 'o.9', 'o.10', 'o.11', 'o.12'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'D/M/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yi.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yi.php
new file mode 100644
index 0000000..8f32022
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yi.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/yi_US.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yi_US.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yi_US.php
new file mode 100644
index 0000000..f764d36
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yi_US.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - http://www.uyip.org/ Pablo Saratxaga pablo@mandrakesoft.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['יאַנואַר', 'פֿעברואַר', 'מערץ', 'אַפּריל', 'מיי', 'יוני', 'יולי', 'אויגוסט', 'סעפּטעמבער', 'אקטאבער', 'נאוועמבער', 'דעצעמבער'],
+    'months_short' => ['יאַנ', 'פֿעב', 'מאַר', 'אַפּר', 'מײַ ', 'יונ', 'יול', 'אױג', 'סעפּ', 'אָקט', 'נאָװ', 'דעצ'],
+    'weekdays' => ['זונטיק', 'מאָנטיק', 'דינסטיק', 'מיטװאָך', 'דאָנערשטיק', 'פֿרײַטיק', 'שבת'],
+    'weekdays_short' => ['זונ\'', 'מאָנ\'', 'דינ\'', 'מיט\'', 'דאָנ\'', 'פֿרײַ\'', 'שבת'],
+    'weekdays_min' => ['זונ\'', 'מאָנ\'', 'דינ\'', 'מיט\'', 'דאָנ\'', 'פֿרײַ\'', 'שבת'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => ':count יאר',
+    'y' => ':count יאר',
+    'a_year' => ':count יאר',
+
+    'month' => ':count חודש',
+    'm' => ':count חודש',
+    'a_month' => ':count חודש',
+
+    'week' => ':count וואָך',
+    'w' => ':count וואָך',
+    'a_week' => ':count וואָך',
+
+    'day' => ':count טאָג',
+    'd' => ':count טאָג',
+    'a_day' => ':count טאָג',
+
+    'hour' => ':count שעה',
+    'h' => ':count שעה',
+    'a_hour' => ':count שעה',
+
+    'minute' => ':count מינוט',
+    'min' => ':count מינוט',
+    'a_minute' => ':count מינוט',
+
+    'second' => ':count סעקונדע',
+    's' => ':count סעקונדע',
+    'a_second' => ':count סעקונדע',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo.php
new file mode 100644
index 0000000..0a82981
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - François B
+ * - Atolagbe Abisoye
+ */
+return [
+    'year' => 'ọdún :count',
+    'a_year' => '{1}ọdún kan|ọdún :count',
+    'month' => 'osù :count',
+    'a_month' => '{1}osù kan|osù :count',
+    'week' => 'ọsẹ :count',
+    'a_week' => '{1}ọsẹ kan|ọsẹ :count',
+    'day' => 'ọjọ́ :count',
+    'a_day' => '{1}ọjọ́ kan|ọjọ́ :count',
+    'hour' => 'wákati :count',
+    'a_hour' => '{1}wákati kan|wákati :count',
+    'minute' => 'ìsẹjú :count',
+    'a_minute' => '{1}ìsẹjú kan|ìsẹjú :count',
+    'second' => 'iaayá :count',
+    'a_second' => '{1}ìsẹjú aayá die|aayá :count',
+    'ago' => ':time kọjá',
+    'from_now' => 'ní :time',
+    'diff_yesterday' => 'Àna',
+    'diff_yesterday_regexp' => 'Àna(?:\\s+ni)?',
+    'diff_today' => 'Ònì',
+    'diff_today_regexp' => 'Ònì(?:\\s+ni)?',
+    'diff_tomorrow' => 'Ọ̀la',
+    'diff_tomorrow_regexp' => 'Ọ̀la(?:\\s+ni)?',
+    'formats' => [
+        'LT' => 'h:mm A',
+        'LTS' => 'h:mm:ss A',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY h:mm A',
+        'LLLL' => 'dddd, D MMMM YYYY h:mm A',
+    ],
+    'calendar' => [
+        'sameDay' => '[Ònì ni] LT',
+        'nextDay' => '[Ọ̀la ni] LT',
+        'nextWeek' => 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
+        'lastDay' => '[Àna ni] LT',
+        'lastWeek' => 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => 'ọjọ́ :number',
+    'months' => ['Sẹ́rẹ́', 'Èrèlè', 'Ẹrẹ̀nà', 'Ìgbé', 'Èbibi', 'Òkùdu', 'Agẹmo', 'Ògún', 'Owewe', 'Ọ̀wàrà', 'Bélú', 'Ọ̀pẹ̀̀'],
+    'months_short' => ['Sẹ́r', 'Èrl', 'Ẹrn', 'Ìgb', 'Èbi', 'Òkù', 'Agẹ', 'Ògú', 'Owe', 'Ọ̀wà', 'Bél', 'Ọ̀pẹ̀̀'],
+    'weekdays' => ['Àìkú', 'Ajé', 'Ìsẹ́gun', 'Ọjọ́rú', 'Ọjọ́bọ', 'Ẹtì', 'Àbámẹ́ta'],
+    'weekdays_short' => ['Àìk', 'Ajé', 'Ìsẹ́', 'Ọjr', 'Ọjb', 'Ẹtì', 'Àbá'],
+    'weekdays_min' => ['Àì', 'Aj', 'Ìs', 'Ọr', 'Ọb', 'Ẹt', 'Àb'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'meridiem' => ['Àárọ̀', 'Ọ̀sán'],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo_BJ.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo_BJ.php
new file mode 100644
index 0000000..f06bb99
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo_BJ.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return array_replace_recursive(require __DIR__.'/yo.php', [
+    'meridiem' => ['Àárɔ̀', 'Ɔ̀sán'],
+    'weekdays' => ['Ɔjɔ́ Àìkú', 'Ɔjɔ́ Ajé', 'Ɔjɔ́ Ìsɛ́gun', 'Ɔjɔ́rú', 'Ɔjɔ́bɔ', 'Ɔjɔ́ Ɛtì', 'Ɔjɔ́ Àbámɛ́ta'],
+    'weekdays_short' => ['Àìkú', 'Ajé', 'Ìsɛ́gun', 'Ɔjɔ́rú', 'Ɔjɔ́bɔ', 'Ɛtì', 'Àbámɛ́ta'],
+    'weekdays_min' => ['Àìkú', 'Ajé', 'Ìsɛ́gun', 'Ɔjɔ́rú', 'Ɔjɔ́bɔ', 'Ɛtì', 'Àbámɛ́ta'],
+    'months' => ['Oshù Shɛ́rɛ́', 'Oshù Èrèlè', 'Oshù Ɛrɛ̀nà', 'Oshù Ìgbé', 'Oshù Ɛ̀bibi', 'Oshù Òkúdu', 'Oshù Agɛmɔ', 'Oshù Ògún', 'Oshù Owewe', 'Oshù Ɔ̀wàrà', 'Oshù Bélú', 'Oshù Ɔ̀pɛ̀'],
+    'months_short' => ['Shɛ́rɛ́', 'Èrèlè', 'Ɛrɛ̀nà', 'Ìgbé', 'Ɛ̀bibi', 'Òkúdu', 'Agɛmɔ', 'Ògún', 'Owewe', 'Ɔ̀wàrà', 'Bélú', 'Ɔ̀pɛ̀'],
+    'first_day_of_week' => 1,
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd, D MMMM YYYY HH:mm',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo_NG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo_NG.php
new file mode 100644
index 0000000..92934bc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yo_NG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/yo.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue.php
new file mode 100644
index 0000000..ce233a4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/yue_HK.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_HK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_HK.php
new file mode 100644
index 0000000..4e7d5c3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_HK.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/zh_HK.php', [
+    'formats' => [
+        'L' => 'YYYY年MM月DD日 dddd',
+    ],
+    'months' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+    'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+    'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+    'weekdays_short' => ['日', '一', '二', '三', '四', '五', '六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'first_day_of_week' => 0,
+    'day_of_first_week_of_year' => 1,
+    'meridiem' => ['上午', '下午'],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hans.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hans.php
new file mode 100644
index 0000000..007d071
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hans.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hans.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hant.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hant.php
new file mode 100644
index 0000000..24797f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hant.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hant.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yuw.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yuw.php
new file mode 100644
index 0000000..8efdc93
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yuw.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/yuw_PG.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yuw_PG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yuw_PG.php
new file mode 100644
index 0000000..b99ad2e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/yuw_PG.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Information from native speakers Hannah Sarvasy nungon.localization@gmail.com
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YY',
+    ],
+    'months' => ['jenuari', 'febuari', 'mas', 'epril', 'mei', 'jun', 'julai', 'ögus', 'septemba', 'öktoba', 'nöwemba', 'diksemba'],
+    'months_short' => ['jen', 'feb', 'mas', 'epr', 'mei', 'jun', 'jul', 'ögu', 'sep', 'ökt', 'nöw', 'dis'],
+    'weekdays' => ['sönda', 'mönda', 'sinda', 'mitiwö', 'sogipbono', 'nenggo', 'söndanggie'],
+    'weekdays_short' => ['sön', 'mön', 'sin', 'mit', 'soi', 'nen', 'sab'],
+    'weekdays_min' => ['sön', 'mön', 'sin', 'mit', 'soi', 'nen', 'sab'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zgh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zgh.php
new file mode 100644
index 0000000..4d2c3b3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zgh.php
@@ -0,0 +1,80 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - BAKTETE Miloud
+ */
+return [
+    'year' => ':count ⵓⵙⴳⴳⵯⴰⵙ|:count ⵉⵙⴳⴳⵓⵙⴰ',
+    'a_year' => 'ⵓⵙⴳⴳⵯⴰⵙ|:count ⵉⵙⴳⴳⵓⵙⴰ',
+    'y' => ':count ⵓⵙⴳⴳⵯⴰⵙ|:count ⵉⵙⴳⴳⵓⵙⴰ',
+    'month' => ':count ⵡⴰⵢⵢⵓⵔ|:count ⴰⵢⵢⵓⵔⵏ',
+    'a_month' => 'ⵉⴷⵊ ⵡⴰⵢⵢⵓⵔ|:count ⴰⵢⵢⵓⵔⵏ',
+    'm' => ':count ⴰⵢⵢⵓⵔⵏ',
+    'week' => ':count ⵉⵎⴰⵍⴰⵙⵙ|:count ⵉⵎⴰⵍⴰⵙⵙⵏ',
+    'a_week' => 'ⵉⵛⵜ ⵉⵎⴰⵍⴰⵙⵙ|:count ⵉⵎⴰⵍⴰⵙⵙⵏ',
+    'w' => ':count ⵉⵎⴰⵍⴰⵙⵙ.',
+    'day' => ':count ⵡⴰⵙⵙ|:count ⵓⵙⵙⴰⵏ',
+    'a_day' => 'ⵉⴷⵊ ⵡⴰⵙⵙ|:count ⵓⵙⵙⴰⵏ',
+    'd' => ':count ⵓ',
+    'hour' => ':count ⵜⵙⵔⴰⴳⵜ|:count ⵜⵉⵙⵔⴰⴳⵉⵏ',
+    'a_hour' => 'ⵉⵛⵜ ⵜⵙⵔⴰⴳⵜ|:count ⵜⵉⵙⵔⴰⴳⵉⵏ',
+    'h' => ':count ⵜ',
+    'minute' => ':count ⵜⵓⵙⴷⵉⴷⵜ|:count ⵜⵓⵙⴷⵉⴷⵉⵏ',
+    'a_minute' => 'ⵉⵛⵜ ⵜⵓⵙⴷⵉⴷⵜ|:count ⵜⵓⵙⴷⵉⴷⵉⵏ',
+    'min' => ':count ⵜⵓⵙ',
+    'second' => ':count ⵜⵙⵉⵏⵜ|:count ⵜⵉⵙⵉⵏⴰ',
+    'a_second' => 'ⴽⵔⴰ ⵜⵉⵙⵉⵏⴰ|:count ⵜⵉⵙⵉⵏⴰ',
+    's' => ':count ⵜ',
+    'ago' => 'ⵣⴳ :time',
+    'from_now' => 'ⴷⴳ :time',
+    'after' => ':time ⴰⵡⴰⵔ',
+    'before' => ':time ⴷⴰⵜ',
+    'diff_now' => 'ⴰⴷⵡⴰⵍⵉ',
+    'diff_today' => 'ⴰⵙⵙ',
+    'diff_today_regexp' => 'ⴰⵙⵙ(?:\\s+ⴰ/ⴰⴷ)?(?:\\s+ⴳ)?',
+    'diff_yesterday' => 'ⴰⵙⵙⵏⵏⴰⵟ',
+    'diff_yesterday_regexp' => 'ⴰⵙⵙⵏⵏⴰⵟ(?:\\s+ⴳ)?',
+    'diff_tomorrow' => 'ⴰⵙⴽⴽⴰ',
+    'diff_tomorrow_regexp' => 'ⴰⵙⴽⴽⴰ(?:\\s+ⴳ)?',
+    'diff_before_yesterday' => 'ⴼⵔ ⵉⴹⵏⵏⴰⵟ',
+    'diff_after_tomorrow' => 'ⵏⴰⴼ ⵓⵙⴽⴽⴰ',
+    'period_recurrences' => ':count ⵜⵉⴽⴽⴰⵍ',
+    'period_interval' => 'ⴽⵓ :interval',
+    'period_start_date' => 'ⴳ :date',
+    'period_end_date' => 'ⵉ :date',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'DD/MM/YYYY',
+        'LL' => 'D MMMM YYYY',
+        'LLL' => 'D MMMM YYYY HH:mm',
+        'LLLL' => 'dddd D MMMM YYYY HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[ⴰⵙⵙ ⴰ/ⴰⴷ ⴳ] LT',
+        'nextDay' => '[ⴰⵙⴽⴽⴰ ⴳ] LT',
+        'nextWeek' => 'dddd [ⴳ] LT',
+        'lastDay' => '[ⴰⵙⵙⵏⵏⴰⵟ ⴳ] LT',
+        'lastWeek' => 'dddd [ⴰⵎⴳⴳⴰⵔⵓ ⴳ] LT',
+        'sameElse' => 'L',
+    ],
+    'meridiem' => ['ⵜⵉⴼⴰⵡⵜ', 'ⵜⴰⴷⴳⴳⵯⴰⵜ'],
+    'months' => ['ⵉⵏⵏⴰⵢⵔ', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓⵏⵢⵓ', 'ⵢⵓⵍⵢⵓⵣ', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰⵏⴱⵉⵔ', 'ⴽⵟⵓⴱⵕ', 'ⵏⵓⵡⴰⵏⴱⵉⵔ', 'ⴷⵓⵊⴰⵏⴱⵉⵔ'],
+    'months_short' => ['ⵉⵏⵏ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓⵏ', 'ⵢⵓⵍ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵟⵓ', 'ⵏⵓⵡ', 'ⴷⵓⵊ'],
+    'weekdays' => ['ⵓⵙⴰⵎⴰⵙ', 'ⵡⴰⵢⵏⴰⵙ', 'ⵓⵙⵉⵏⴰⵙ', 'ⵡⴰⴽⵕⴰⵙ', 'ⵓⴽⵡⴰⵙ', 'ⵓⵙⵉⵎⵡⴰⵙ', 'ⵓⵙⵉⴹⵢⴰⵙ'],
+    'weekdays_short' => ['ⵓⵙⴰ', 'ⵡⴰⵢ', 'ⵓⵙⵉ', 'ⵡⴰⴽ', 'ⵓⴽⵡ', 'ⵓⵙⵉⵎ', 'ⵓⵙⵉⴹ'],
+    'weekdays_min' => ['ⵓⵙⴰ', 'ⵡⴰⵢ', 'ⵓⵙⵉ', 'ⵡⴰⴽ', 'ⵓⴽⵡ', 'ⵓⵙⵉⵎ', 'ⵓⵙⵉⴹ'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 1,
+    'list' => [', ', ' ⴷ '],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh.php
new file mode 100644
index 0000000..1187c3d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh.php
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - xuri
+ * - sycuato
+ * - bokideckonja
+ * - Luo Ning
+ * - William Yang (williamyang233)
+ */
+return array_merge(require __DIR__.'/zh_Hans.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY/MM/DD',
+        'LL' => 'YYYY年M月D日',
+        'LLL' => 'YYYY年M月D日 A h点mm分',
+        'LLLL' => 'YYYY年M月D日dddd A h点mm分',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_CN.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_CN.php
new file mode 100644
index 0000000..9c05d5a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_CN.php
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - monkeycon
+ * - François B
+ * - Jason Katz-Brown
+ * - Serhan Apaydın
+ * - Matt Johnson
+ * - JD Isaacks
+ * - Zeno Zeng
+ * - Chris Hemp
+ * - shankesgk2
+ */
+return array_merge(require __DIR__.'/zh.php', [
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY/MM/DD',
+        'LL' => 'YYYY年M月D日',
+        'LLL' => 'YYYY年M月D日Ah点mm分',
+        'LLLL' => 'YYYY年M月D日ddddAh点mm分',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_HK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_HK.php
new file mode 100644
index 0000000..c3ee9fc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_HK.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return require __DIR__.'/zh_Hant_HK.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans.php
new file mode 100644
index 0000000..9b91785
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans.php
@@ -0,0 +1,109 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - monkeycon
+ * - François B
+ * - Jason Katz-Brown
+ * - Konstantin Konev
+ * - Chris Lam
+ * - Serhan Apaydın
+ * - Gary Lo
+ * - JD Isaacks
+ * - Chris Hemp
+ * - shankesgk2
+ * - Daniel Cheung (danvim)
+ */
+return [
+    'year' => ':count:optional-space年',
+    'y' => ':count:optional-space年',
+    'month' => ':count:optional-space个月',
+    'm' => ':count:optional-space个月',
+    'week' => ':count:optional-space周',
+    'w' => ':count:optional-space周',
+    'day' => ':count:optional-space天',
+    'd' => ':count:optional-space天',
+    'hour' => ':count:optional-space小时',
+    'h' => ':count:optional-space小时',
+    'minute' => ':count:optional-space分钟',
+    'min' => ':count:optional-space分钟',
+    'second' => ':count:optional-space秒',
+    'a_second' => '{1}几秒|]1,Inf[:count:optional-space秒',
+    's' => ':count:optional-space秒',
+    'ago' => ':time前',
+    'from_now' => ':time后',
+    'after' => ':time后',
+    'before' => ':time前',
+    'diff_now' => '现在',
+    'diff_today' => '今天',
+    'diff_yesterday' => '昨天',
+    'diff_tomorrow' => '明天',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY/MM/DD',
+        'LL' => 'YYYY年M月D日',
+        'LLL' => 'YYYY年M月D日 HH:mm',
+        'LLLL' => 'YYYY年M月D日dddd HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[今天]LT',
+        'nextDay' => '[明天]LT',
+        'nextWeek' => '[下]ddddLT',
+        'lastDay' => '[昨天]LT',
+        'lastWeek' => '[上]ddddLT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return $number.'日';
+            case 'M':
+                return $number.'月';
+            case 'w':
+            case 'W':
+                return $number.'周';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => function ($hour, $minute) {
+        $time = $hour * 100 + $minute;
+        if ($time < 600) {
+            return '凌晨';
+        }
+        if ($time < 900) {
+            return '早上';
+        }
+        if ($time < 1130) {
+            return '上午';
+        }
+        if ($time < 1230) {
+            return '中午';
+        }
+        if ($time < 1800) {
+            return '下午';
+        }
+
+        return '晚上';
+    },
+    'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+    'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+    'weekdays_short' => ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => '',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_HK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_HK.php
new file mode 100644
index 0000000..007d071
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_HK.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hans.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_MO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_MO.php
new file mode 100644
index 0000000..007d071
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_MO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hans.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_SG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_SG.php
new file mode 100644
index 0000000..007d071
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_SG.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hans.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant.php
new file mode 100644
index 0000000..a27b610
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant.php
@@ -0,0 +1,111 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Adam
+ * - monkeycon
+ * - François B
+ * - Jason Katz-Brown
+ * - Chris Lam
+ * - Serhan Apaydın
+ * - Gary Lo
+ * - JD Isaacks
+ * - Chris Hemp
+ * - Eddie
+ * - KID
+ * - shankesgk2
+ * - Daniel Cheung (danvim)
+ */
+return [
+    'year' => ':count:optional-space年',
+    'y' => ':count:optional-space年',
+    'month' => ':count:optional-space個月',
+    'm' => ':count:optional-space月',
+    'week' => ':count:optional-space週',
+    'w' => ':count:optional-space週',
+    'day' => ':count:optional-space天',
+    'd' => ':count:optional-space天',
+    'hour' => ':count:optional-space小時',
+    'h' => ':count:optional-space小時',
+    'minute' => ':count:optional-space分鐘',
+    'min' => ':count:optional-space分鐘',
+    'second' => ':count:optional-space秒',
+    'a_second' => '{1}幾秒|]1,Inf[:count:optional-space秒',
+    's' => ':count:optional-space秒',
+    'ago' => ':time前',
+    'from_now' => ':time後',
+    'after' => ':time後',
+    'before' => ':time前',
+    'diff_now' => '現在',
+    'diff_today' => '今天',
+    'diff_yesterday' => '昨天',
+    'diff_tomorrow' => '明天',
+    'formats' => [
+        'LT' => 'HH:mm',
+        'LTS' => 'HH:mm:ss',
+        'L' => 'YYYY/MM/DD',
+        'LL' => 'YYYY年M月D日',
+        'LLL' => 'YYYY年M月D日 HH:mm',
+        'LLLL' => 'YYYY年M月D日dddd HH:mm',
+    ],
+    'calendar' => [
+        'sameDay' => '[今天] LT',
+        'nextDay' => '[明天] LT',
+        'nextWeek' => '[下]dddd LT',
+        'lastDay' => '[昨天] LT',
+        'lastWeek' => '[上]dddd LT',
+        'sameElse' => 'L',
+    ],
+    'ordinal' => function ($number, $period) {
+        switch ($period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return $number.'日';
+            case 'M':
+                return $number.'月';
+            case 'w':
+            case 'W':
+                return $number.'周';
+            default:
+                return $number;
+        }
+    },
+    'meridiem' => function ($hour, $minute) {
+        $time = $hour * 100 + $minute;
+        if ($time < 600) {
+            return '凌晨';
+        }
+        if ($time < 900) {
+            return '早上';
+        }
+        if ($time < 1130) {
+            return '上午';
+        }
+        if ($time < 1230) {
+            return '中午';
+        }
+        if ($time < 1800) {
+            return '下午';
+        }
+
+        return '晚上';
+    },
+    'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+    'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+    'weekdays_short' => ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'first_day_of_week' => 1,
+    'day_of_first_week_of_year' => 4,
+    'list' => '',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_HK.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_HK.php
new file mode 100644
index 0000000..24797f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_HK.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hant.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_MO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_MO.php
new file mode 100644
index 0000000..24797f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_MO.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hant.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_TW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_TW.php
new file mode 100644
index 0000000..24797f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_TW.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+return require __DIR__.'/zh_Hant.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_MO.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_MO.php
new file mode 100644
index 0000000..1c86d47
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_MO.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - tarunvelli
+ * - Eddie
+ * - KID
+ * - shankesgk2
+ */
+return array_replace_recursive(require __DIR__.'/zh_Hant.php', [
+    'after' => ':time后',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_SG.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_SG.php
new file mode 100644
index 0000000..c451a56
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_SG.php
@@ -0,0 +1,26 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/zh.php', [
+    'formats' => [
+        'L' => 'YYYY年MM月DD日',
+    ],
+    'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'months_short' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+    'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+    'weekdays_short' => ['日', '一', '二', '三', '四', '五', '六'],
+    'weekdays_min' => ['日', '一', '二', '三', '四', '五', '六'],
+    'day_of_first_week_of_year' => 1,
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_TW.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_TW.php
new file mode 100644
index 0000000..c6789ed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_TW.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return require __DIR__.'/zh_Hant_TW.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_YUE.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_YUE.php
new file mode 100644
index 0000000..b0d9ba8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zh_YUE.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - IBM Globalization Center of Competency, Yamato Software Laboratory    bug-glibc-locales@gnu.org
+ */
+return array_replace_recursive(require __DIR__.'/zh.php', [
+    'formats' => [
+        'L' => 'YYYY-MM-DD',
+    ],
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zu.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zu.php
new file mode 100644
index 0000000..9a6cce0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zu.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Unknown default region, use the first alphabetically.
+ */
+return require __DIR__.'/zu_ZA.php';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zu_ZA.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zu_ZA.php
new file mode 100644
index 0000000..6bfb72f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Lang/zu_ZA.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * Authors:
+ * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za
+ */
+return array_replace_recursive(require __DIR__.'/en.php', [
+    'formats' => [
+        'L' => 'DD/MM/YYYY',
+    ],
+    'months' => ['Januwari', 'Februwari', 'Mashi', 'Ephreli', 'Meyi', 'Juni', 'Julayi', 'Agasti', 'Septhemba', 'Okthoba', 'Novemba', 'Disemba'],
+    'months_short' => ['Jan', 'Feb', 'Mas', 'Eph', 'Mey', 'Jun', 'Jul', 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'],
+    'weekdays' => ['iSonto', 'uMsombuluko', 'uLwesibili', 'uLwesithathu', 'uLwesine', 'uLwesihlanu', 'uMgqibelo'],
+    'weekdays_short' => ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'],
+    'weekdays_min' => ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'],
+    'day_of_first_week_of_year' => 1,
+
+    'year' => 'kweminyaka engu-:count',
+    'y' => 'kweminyaka engu-:count',
+    'a_year' => 'kweminyaka engu-:count',
+
+    'month' => 'izinyanga ezingu-:count',
+    'm' => 'izinyanga ezingu-:count',
+    'a_month' => 'izinyanga ezingu-:count',
+
+    'week' => 'lwamasonto angu-:count',
+    'w' => 'lwamasonto angu-:count',
+    'a_week' => 'lwamasonto angu-:count',
+
+    'day' => 'ezingaba ngu-:count',
+    'd' => 'ezingaba ngu-:count',
+    'a_day' => 'ezingaba ngu-:count',
+
+    'hour' => 'amahora angu-:count',
+    'h' => 'amahora angu-:count',
+    'a_hour' => 'amahora angu-:count',
+
+    'minute' => 'ngemizuzu engu-:count',
+    'min' => 'ngemizuzu engu-:count',
+    'a_minute' => 'ngemizuzu engu-:count',
+
+    'second' => 'imizuzwana engu-:count',
+    's' => 'imizuzwana engu-:count',
+    'a_second' => 'imizuzwana engu-:count',
+]);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Language.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Language.php
new file mode 100644
index 0000000..3790285
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Language.php
@@ -0,0 +1,341 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use JsonSerializable;
+use ReturnTypeWillChange;
+
+class Language implements JsonSerializable
+{
+    /**
+     * @var array
+     */
+    protected static $languagesNames;
+
+    /**
+     * @var array
+     */
+    protected static $regionsNames;
+
+    /**
+     * @var string
+     */
+    protected $id;
+
+    /**
+     * @var string
+     */
+    protected $code;
+
+    /**
+     * @var string|null
+     */
+    protected $variant;
+
+    /**
+     * @var string|null
+     */
+    protected $region;
+
+    /**
+     * @var array
+     */
+    protected $names;
+
+    /**
+     * @var string
+     */
+    protected $isoName;
+
+    /**
+     * @var string
+     */
+    protected $nativeName;
+
+    public function __construct(string $id)
+    {
+        $this->id = str_replace('-', '_', $id);
+        $parts = explode('_', $this->id);
+        $this->code = $parts[0];
+
+        if (isset($parts[1])) {
+            if (!preg_match('/^[A-Z]+$/', $parts[1])) {
+                $this->variant = $parts[1];
+                $parts[1] = $parts[2] ?? null;
+            }
+            if ($parts[1]) {
+                $this->region = $parts[1];
+            }
+        }
+    }
+
+    /**
+     * Get the list of the known languages.
+     *
+     * @return array
+     */
+    public static function all()
+    {
+        if (!static::$languagesNames) {
+            static::$languagesNames = require __DIR__.'/List/languages.php';
+        }
+
+        return static::$languagesNames;
+    }
+
+    /**
+     * Get the list of the known regions.
+     *
+     * @return array
+     */
+    public static function regions()
+    {
+        if (!static::$regionsNames) {
+            static::$regionsNames = require __DIR__.'/List/regions.php';
+        }
+
+        return static::$regionsNames;
+    }
+
+    /**
+     * Get both isoName and nativeName as an array.
+     *
+     * @return array
+     */
+    public function getNames(): array
+    {
+        if (!$this->names) {
+            $this->names = static::all()[$this->code] ?? [
+                'isoName' => $this->code,
+                'nativeName' => $this->code,
+            ];
+        }
+
+        return $this->names;
+    }
+
+    /**
+     * Returns the original locale ID.
+     *
+     * @return string
+     */
+    public function getId(): string
+    {
+        return $this->id;
+    }
+
+    /**
+     * Returns the code of the locale "en"/"fr".
+     *
+     * @return string
+     */
+    public function getCode(): string
+    {
+        return $this->code;
+    }
+
+    /**
+     * Returns the variant code such as cyrl/latn.
+     *
+     * @return string|null
+     */
+    public function getVariant(): ?string
+    {
+        return $this->variant;
+    }
+
+    /**
+     * Returns the variant such as Cyrillic/Latin.
+     *
+     * @return string|null
+     */
+    public function getVariantName(): ?string
+    {
+        if ($this->variant === 'Latn') {
+            return 'Latin';
+        }
+
+        if ($this->variant === 'Cyrl') {
+            return 'Cyrillic';
+        }
+
+        return $this->variant;
+    }
+
+    /**
+     * Returns the region part of the locale.
+     *
+     * @return string|null
+     */
+    public function getRegion(): ?string
+    {
+        return $this->region;
+    }
+
+    /**
+     * Returns the region name for the current language.
+     *
+     * @return string|null
+     */
+    public function getRegionName(): ?string
+    {
+        return $this->region ? (static::regions()[$this->region] ?? $this->region) : null;
+    }
+
+    /**
+     * Returns the long ISO language name.
+     *
+     * @return string
+     */
+    public function getFullIsoName(): string
+    {
+        if (!$this->isoName) {
+            $this->isoName = $this->getNames()['isoName'];
+        }
+
+        return $this->isoName;
+    }
+
+    /**
+     * Set the ISO language name.
+     *
+     * @param string $isoName
+     */
+    public function setIsoName(string $isoName): self
+    {
+        $this->isoName = $isoName;
+
+        return $this;
+    }
+
+    /**
+     * Return the full name of the language in this language.
+     *
+     * @return string
+     */
+    public function getFullNativeName(): string
+    {
+        if (!$this->nativeName) {
+            $this->nativeName = $this->getNames()['nativeName'];
+        }
+
+        return $this->nativeName;
+    }
+
+    /**
+     * Set the name of the language in this language.
+     *
+     * @param string $nativeName
+     */
+    public function setNativeName(string $nativeName): self
+    {
+        $this->nativeName = $nativeName;
+
+        return $this;
+    }
+
+    /**
+     * Returns the short ISO language name.
+     *
+     * @return string
+     */
+    public function getIsoName(): string
+    {
+        $name = $this->getFullIsoName();
+
+        return trim(strstr($name, ',', true) ?: $name);
+    }
+
+    /**
+     * Get the short name of the language in this language.
+     *
+     * @return string
+     */
+    public function getNativeName(): string
+    {
+        $name = $this->getFullNativeName();
+
+        return trim(strstr($name, ',', true) ?: $name);
+    }
+
+    /**
+     * Get a string with short ISO name, region in parentheses if applicable, variant in parentheses if applicable.
+     *
+     * @return string
+     */
+    public function getIsoDescription()
+    {
+        $region = $this->getRegionName();
+        $variant = $this->getVariantName();
+
+        return $this->getIsoName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : '');
+    }
+
+    /**
+     * Get a string with short native name, region in parentheses if applicable, variant in parentheses if applicable.
+     *
+     * @return string
+     */
+    public function getNativeDescription()
+    {
+        $region = $this->getRegionName();
+        $variant = $this->getVariantName();
+
+        return $this->getNativeName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : '');
+    }
+
+    /**
+     * Get a string with long ISO name, region in parentheses if applicable, variant in parentheses if applicable.
+     *
+     * @return string
+     */
+    public function getFullIsoDescription()
+    {
+        $region = $this->getRegionName();
+        $variant = $this->getVariantName();
+
+        return $this->getFullIsoName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : '');
+    }
+
+    /**
+     * Get a string with long native name, region in parentheses if applicable, variant in parentheses if applicable.
+     *
+     * @return string
+     */
+    public function getFullNativeDescription()
+    {
+        $region = $this->getRegionName();
+        $variant = $this->getVariantName();
+
+        return $this->getFullNativeName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : '');
+    }
+
+    /**
+     * Returns the original locale ID.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->getId();
+    }
+
+    /**
+     * Get a string with short ISO name, region in parentheses if applicable, variant in parentheses if applicable.
+     *
+     * @return string
+     */
+    #[ReturnTypeWillChange]
+    public function jsonSerialize()
+    {
+        return $this->getIsoDescription();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php
new file mode 100644
index 0000000..d71c888
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php
@@ -0,0 +1,70 @@
+<?php
+
+namespace Carbon\Laravel;
+
+use Carbon\Carbon;
+use Carbon\CarbonImmutable;
+use Carbon\CarbonInterval;
+use Carbon\CarbonPeriod;
+use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
+use Illuminate\Events\Dispatcher;
+use Illuminate\Events\EventDispatcher;
+use Illuminate\Support\Carbon as IlluminateCarbon;
+use Illuminate\Support\Facades\Date;
+use Throwable;
+
+class ServiceProvider extends \Illuminate\Support\ServiceProvider
+{
+    public function boot()
+    {
+        $this->updateLocale();
+
+        if (!$this->app->bound('events')) {
+            return;
+        }
+
+        $service = $this;
+        $events = $this->app['events'];
+
+        if ($this->isEventDispatcher($events)) {
+            $events->listen(class_exists('Illuminate\Foundation\Events\LocaleUpdated') ? 'Illuminate\Foundation\Events\LocaleUpdated' : 'locale.changed', function () use ($service) {
+                $service->updateLocale();
+            });
+        }
+    }
+
+    public function updateLocale()
+    {
+        $app = $this->app && method_exists($this->app, 'getLocale') ? $this->app : app('translator');
+        $locale = $app->getLocale();
+        Carbon::setLocale($locale);
+        CarbonImmutable::setLocale($locale);
+        CarbonPeriod::setLocale($locale);
+        CarbonInterval::setLocale($locale);
+
+        if (class_exists(IlluminateCarbon::class)) {
+            IlluminateCarbon::setLocale($locale);
+        }
+
+        if (class_exists(Date::class)) {
+            try {
+                $root = Date::getFacadeRoot();
+                $root->setLocale($locale);
+            } catch (Throwable $e) {
+                // Non Carbon class in use in Date facade
+            }
+        }
+    }
+
+    public function register()
+    {
+        // Needed for Laravel < 5.3 compatibility
+    }
+
+    protected function isEventDispatcher($instance)
+    {
+        return $instance instanceof EventDispatcher
+            || $instance instanceof Dispatcher
+            || $instance instanceof DispatcherContract;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/List/languages.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/List/languages.php
new file mode 100644
index 0000000..5b5d9a1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/List/languages.php
@@ -0,0 +1,1239 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+return [
+    /*
+     * ISO 639-2
+     */
+    'ab' => [
+        'isoName' => 'Abkhazian',
+        'nativeName' => 'аҧсуа бызшәа, аҧсшәа',
+    ],
+    'aa' => [
+        'isoName' => 'Afar',
+        'nativeName' => 'Afaraf',
+    ],
+    'af' => [
+        'isoName' => 'Afrikaans',
+        'nativeName' => 'Afrikaans',
+    ],
+    'ak' => [
+        'isoName' => 'Akan',
+        'nativeName' => 'Akan',
+    ],
+    'sq' => [
+        'isoName' => 'Albanian',
+        'nativeName' => 'Shqip',
+    ],
+    'am' => [
+        'isoName' => 'Amharic',
+        'nativeName' => 'አማርኛ',
+    ],
+    'ar' => [
+        'isoName' => 'Arabic',
+        'nativeName' => 'العربية',
+    ],
+    'an' => [
+        'isoName' => 'Aragonese',
+        'nativeName' => 'aragonés',
+    ],
+    'hy' => [
+        'isoName' => 'Armenian',
+        'nativeName' => 'Հայերեն',
+    ],
+    'as' => [
+        'isoName' => 'Assamese',
+        'nativeName' => 'অসমীয়া',
+    ],
+    'av' => [
+        'isoName' => 'Avaric',
+        'nativeName' => 'авар мацӀ, магӀарул мацӀ',
+    ],
+    'ae' => [
+        'isoName' => 'Avestan',
+        'nativeName' => 'avesta',
+    ],
+    'ay' => [
+        'isoName' => 'Aymara',
+        'nativeName' => 'aymar aru',
+    ],
+    'az' => [
+        'isoName' => 'Azerbaijani',
+        'nativeName' => 'azərbaycan dili',
+    ],
+    'bm' => [
+        'isoName' => 'Bambara',
+        'nativeName' => 'bamanankan',
+    ],
+    'ba' => [
+        'isoName' => 'Bashkir',
+        'nativeName' => 'башҡорт теле',
+    ],
+    'eu' => [
+        'isoName' => 'Basque',
+        'nativeName' => 'euskara, euskera',
+    ],
+    'be' => [
+        'isoName' => 'Belarusian',
+        'nativeName' => 'беларуская мова',
+    ],
+    'bn' => [
+        'isoName' => 'Bengali',
+        'nativeName' => 'বাংলা',
+    ],
+    'bh' => [
+        'isoName' => 'Bihari languages',
+        'nativeName' => 'भोजपुरी',
+    ],
+    'bi' => [
+        'isoName' => 'Bislama',
+        'nativeName' => 'Bislama',
+    ],
+    'bs' => [
+        'isoName' => 'Bosnian',
+        'nativeName' => 'bosanski jezik',
+    ],
+    'br' => [
+        'isoName' => 'Breton',
+        'nativeName' => 'brezhoneg',
+    ],
+    'bg' => [
+        'isoName' => 'Bulgarian',
+        'nativeName' => 'български език',
+    ],
+    'my' => [
+        'isoName' => 'Burmese',
+        'nativeName' => 'ဗမာစာ',
+    ],
+    'ca' => [
+        'isoName' => 'Catalan, Valencian',
+        'nativeName' => 'català, valencià',
+    ],
+    'ch' => [
+        'isoName' => 'Chamorro',
+        'nativeName' => 'Chamoru',
+    ],
+    'ce' => [
+        'isoName' => 'Chechen',
+        'nativeName' => 'нохчийн мотт',
+    ],
+    'ny' => [
+        'isoName' => 'Chichewa, Chewa, Nyanja',
+        'nativeName' => 'chiCheŵa, chinyanja',
+    ],
+    'zh' => [
+        'isoName' => 'Chinese',
+        'nativeName' => '中文 (Zhōngwén), 汉语, 漢語',
+    ],
+    'cv' => [
+        'isoName' => 'Chuvash',
+        'nativeName' => 'чӑваш чӗлхи',
+    ],
+    'kw' => [
+        'isoName' => 'Cornish',
+        'nativeName' => 'Kernewek',
+    ],
+    'co' => [
+        'isoName' => 'Corsican',
+        'nativeName' => 'corsu, lingua corsa',
+    ],
+    'cr' => [
+        'isoName' => 'Cree',
+        'nativeName' => 'ᓀᐦᐃᔭᐍᐏᐣ',
+    ],
+    'hr' => [
+        'isoName' => 'Croatian',
+        'nativeName' => 'hrvatski jezik',
+    ],
+    'cs' => [
+        'isoName' => 'Czech',
+        'nativeName' => 'čeština, český jazyk',
+    ],
+    'da' => [
+        'isoName' => 'Danish',
+        'nativeName' => 'dansk',
+    ],
+    'dv' => [
+        'isoName' => 'Divehi, Dhivehi, Maldivian',
+        'nativeName' => 'ދިވެހި',
+    ],
+    'nl' => [
+        'isoName' => 'Dutch, Flemish',
+        'nativeName' => 'Nederlands, Vlaams',
+    ],
+    'dz' => [
+        'isoName' => 'Dzongkha',
+        'nativeName' => 'རྫོང་ཁ',
+    ],
+    'en' => [
+        'isoName' => 'English',
+        'nativeName' => 'English',
+    ],
+    'eo' => [
+        'isoName' => 'Esperanto',
+        'nativeName' => 'Esperanto',
+    ],
+    'et' => [
+        'isoName' => 'Estonian',
+        'nativeName' => 'eesti, eesti keel',
+    ],
+    'ee' => [
+        'isoName' => 'Ewe',
+        'nativeName' => 'Eʋegbe',
+    ],
+    'fo' => [
+        'isoName' => 'Faroese',
+        'nativeName' => 'føroyskt',
+    ],
+    'fj' => [
+        'isoName' => 'Fijian',
+        'nativeName' => 'vosa Vakaviti',
+    ],
+    'fi' => [
+        'isoName' => 'Finnish',
+        'nativeName' => 'suomi, suomen kieli',
+    ],
+    'fr' => [
+        'isoName' => 'French',
+        'nativeName' => 'français',
+    ],
+    'ff' => [
+        'isoName' => 'Fulah',
+        'nativeName' => 'Fulfulde, Pulaar, Pular',
+    ],
+    'gl' => [
+        'isoName' => 'Galician',
+        'nativeName' => 'Galego',
+    ],
+    'ka' => [
+        'isoName' => 'Georgian',
+        'nativeName' => 'ქართული',
+    ],
+    'de' => [
+        'isoName' => 'German',
+        'nativeName' => 'Deutsch',
+    ],
+    'el' => [
+        'isoName' => 'Greek (modern)',
+        'nativeName' => 'ελληνικά',
+    ],
+    'gn' => [
+        'isoName' => 'Guaraní',
+        'nativeName' => 'Avañe\'ẽ',
+    ],
+    'gu' => [
+        'isoName' => 'Gujarati',
+        'nativeName' => 'ગુજરાતી',
+    ],
+    'ht' => [
+        'isoName' => 'Haitian, Haitian Creole',
+        'nativeName' => 'Kreyòl ayisyen',
+    ],
+    'ha' => [
+        'isoName' => 'Hausa',
+        'nativeName' => '(Hausa) هَوُسَ',
+    ],
+    'he' => [
+        'isoName' => 'Hebrew (modern)',
+        'nativeName' => 'עברית',
+    ],
+    'hz' => [
+        'isoName' => 'Herero',
+        'nativeName' => 'Otjiherero',
+    ],
+    'hi' => [
+        'isoName' => 'Hindi',
+        'nativeName' => 'हिन्दी, हिंदी',
+    ],
+    'ho' => [
+        'isoName' => 'Hiri Motu',
+        'nativeName' => 'Hiri Motu',
+    ],
+    'hu' => [
+        'isoName' => 'Hungarian',
+        'nativeName' => 'magyar',
+    ],
+    'ia' => [
+        'isoName' => 'Interlingua',
+        'nativeName' => 'Interlingua',
+    ],
+    'id' => [
+        'isoName' => 'Indonesian',
+        'nativeName' => 'Bahasa Indonesia',
+    ],
+    'ie' => [
+        'isoName' => 'Interlingue',
+        'nativeName' => 'Originally called Occidental; then Interlingue after WWII',
+    ],
+    'ga' => [
+        'isoName' => 'Irish',
+        'nativeName' => 'Gaeilge',
+    ],
+    'ig' => [
+        'isoName' => 'Igbo',
+        'nativeName' => 'Asụsụ Igbo',
+    ],
+    'ik' => [
+        'isoName' => 'Inupiaq',
+        'nativeName' => 'Iñupiaq, Iñupiatun',
+    ],
+    'io' => [
+        'isoName' => 'Ido',
+        'nativeName' => 'Ido',
+    ],
+    'is' => [
+        'isoName' => 'Icelandic',
+        'nativeName' => 'Íslenska',
+    ],
+    'it' => [
+        'isoName' => 'Italian',
+        'nativeName' => 'Italiano',
+    ],
+    'iu' => [
+        'isoName' => 'Inuktitut',
+        'nativeName' => 'ᐃᓄᒃᑎᑐᑦ',
+    ],
+    'ja' => [
+        'isoName' => 'Japanese',
+        'nativeName' => '日本語 (にほんご)',
+    ],
+    'jv' => [
+        'isoName' => 'Javanese',
+        'nativeName' => 'ꦧꦱꦗꦮ, Basa Jawa',
+    ],
+    'kl' => [
+        'isoName' => 'Kalaallisut, Greenlandic',
+        'nativeName' => 'kalaallisut, kalaallit oqaasii',
+    ],
+    'kn' => [
+        'isoName' => 'Kannada',
+        'nativeName' => 'ಕನ್ನಡ',
+    ],
+    'kr' => [
+        'isoName' => 'Kanuri',
+        'nativeName' => 'Kanuri',
+    ],
+    'ks' => [
+        'isoName' => 'Kashmiri',
+        'nativeName' => 'कश्मीरी, كشميري‎',
+    ],
+    'kk' => [
+        'isoName' => 'Kazakh',
+        'nativeName' => 'қазақ тілі',
+    ],
+    'km' => [
+        'isoName' => 'Central Khmer',
+        'nativeName' => 'ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ',
+    ],
+    'ki' => [
+        'isoName' => 'Kikuyu, Gikuyu',
+        'nativeName' => 'Gĩkũyũ',
+    ],
+    'rw' => [
+        'isoName' => 'Kinyarwanda',
+        'nativeName' => 'Ikinyarwanda',
+    ],
+    'ky' => [
+        'isoName' => 'Kirghiz, Kyrgyz',
+        'nativeName' => 'Кыргызча, Кыргыз тили',
+    ],
+    'kv' => [
+        'isoName' => 'Komi',
+        'nativeName' => 'коми кыв',
+    ],
+    'kg' => [
+        'isoName' => 'Kongo',
+        'nativeName' => 'Kikongo',
+    ],
+    'ko' => [
+        'isoName' => 'Korean',
+        'nativeName' => '한국어',
+    ],
+    'ku' => [
+        'isoName' => 'Kurdish',
+        'nativeName' => 'Kurdî, کوردی‎',
+    ],
+    'kj' => [
+        'isoName' => 'Kuanyama, Kwanyama',
+        'nativeName' => 'Kuanyama',
+    ],
+    'la' => [
+        'isoName' => 'Latin',
+        'nativeName' => 'latine, lingua latina',
+    ],
+    'lb' => [
+        'isoName' => 'Luxembourgish, Letzeburgesch',
+        'nativeName' => 'Lëtzebuergesch',
+    ],
+    'lg' => [
+        'isoName' => 'Ganda',
+        'nativeName' => 'Luganda',
+    ],
+    'li' => [
+        'isoName' => 'Limburgan, Limburger, Limburgish',
+        'nativeName' => 'Limburgs',
+    ],
+    'ln' => [
+        'isoName' => 'Lingala',
+        'nativeName' => 'Lingála',
+    ],
+    'lo' => [
+        'isoName' => 'Lao',
+        'nativeName' => 'ພາສາລາວ',
+    ],
+    'lt' => [
+        'isoName' => 'Lithuanian',
+        'nativeName' => 'lietuvių kalba',
+    ],
+    'lu' => [
+        'isoName' => 'Luba-Katanga',
+        'nativeName' => 'Kiluba',
+    ],
+    'lv' => [
+        'isoName' => 'Latvian',
+        'nativeName' => 'latviešu valoda',
+    ],
+    'gv' => [
+        'isoName' => 'Manx',
+        'nativeName' => 'Gaelg, Gailck',
+    ],
+    'mk' => [
+        'isoName' => 'Macedonian',
+        'nativeName' => 'македонски јазик',
+    ],
+    'mg' => [
+        'isoName' => 'Malagasy',
+        'nativeName' => 'fiteny malagasy',
+    ],
+    'ms' => [
+        'isoName' => 'Malay',
+        'nativeName' => 'Bahasa Melayu, بهاس ملايو‎',
+    ],
+    'ml' => [
+        'isoName' => 'Malayalam',
+        'nativeName' => 'മലയാളം',
+    ],
+    'mt' => [
+        'isoName' => 'Maltese',
+        'nativeName' => 'Malti',
+    ],
+    'mi' => [
+        'isoName' => 'Maori',
+        'nativeName' => 'te reo Māori',
+    ],
+    'mr' => [
+        'isoName' => 'Marathi',
+        'nativeName' => 'मराठी',
+    ],
+    'mh' => [
+        'isoName' => 'Marshallese',
+        'nativeName' => 'Kajin M̧ajeļ',
+    ],
+    'mn' => [
+        'isoName' => 'Mongolian',
+        'nativeName' => 'Монгол хэл',
+    ],
+    'na' => [
+        'isoName' => 'Nauru',
+        'nativeName' => 'Dorerin Naoero',
+    ],
+    'nv' => [
+        'isoName' => 'Navajo, Navaho',
+        'nativeName' => 'Diné bizaad',
+    ],
+    'nd' => [
+        'isoName' => 'North Ndebele',
+        'nativeName' => 'isiNdebele',
+    ],
+    'ne' => [
+        'isoName' => 'Nepali',
+        'nativeName' => 'नेपाली',
+    ],
+    'ng' => [
+        'isoName' => 'Ndonga',
+        'nativeName' => 'Owambo',
+    ],
+    'nb' => [
+        'isoName' => 'Norwegian Bokmål',
+        'nativeName' => 'Norsk Bokmål',
+    ],
+    'nn' => [
+        'isoName' => 'Norwegian Nynorsk',
+        'nativeName' => 'Norsk Nynorsk',
+    ],
+    'no' => [
+        'isoName' => 'Norwegian',
+        'nativeName' => 'Norsk',
+    ],
+    'ii' => [
+        'isoName' => 'Sichuan Yi, Nuosu',
+        'nativeName' => 'ꆈꌠ꒿ Nuosuhxop',
+    ],
+    'nr' => [
+        'isoName' => 'South Ndebele',
+        'nativeName' => 'isiNdebele',
+    ],
+    'oc' => [
+        'isoName' => 'Occitan',
+        'nativeName' => 'occitan, lenga d\'òc',
+    ],
+    'oj' => [
+        'isoName' => 'Ojibwa',
+        'nativeName' => 'ᐊᓂᔑᓈᐯᒧᐎᓐ',
+    ],
+    'cu' => [
+        'isoName' => 'Church Slavic, Church Slavonic, Old Church Slavonic, Old Slavonic, Old Bulgarian',
+        'nativeName' => 'ѩзыкъ словѣньскъ',
+    ],
+    'om' => [
+        'isoName' => 'Oromo',
+        'nativeName' => 'Afaan Oromoo',
+    ],
+    'or' => [
+        'isoName' => 'Oriya',
+        'nativeName' => 'ଓଡ଼ିଆ',
+    ],
+    'os' => [
+        'isoName' => 'Ossetian, Ossetic',
+        'nativeName' => 'ирон æвзаг',
+    ],
+    'pa' => [
+        'isoName' => 'Panjabi, Punjabi',
+        'nativeName' => 'ਪੰਜਾਬੀ',
+    ],
+    'pi' => [
+        'isoName' => 'Pali',
+        'nativeName' => 'पाऴि',
+    ],
+    'fa' => [
+        'isoName' => 'Persian',
+        'nativeName' => 'فارسی',
+    ],
+    'pl' => [
+        'isoName' => 'Polish',
+        'nativeName' => 'język polski, polszczyzna',
+    ],
+    'ps' => [
+        'isoName' => 'Pashto, Pushto',
+        'nativeName' => 'پښتو',
+    ],
+    'pt' => [
+        'isoName' => 'Portuguese',
+        'nativeName' => 'Português',
+    ],
+    'qu' => [
+        'isoName' => 'Quechua',
+        'nativeName' => 'Runa Simi, Kichwa',
+    ],
+    'rm' => [
+        'isoName' => 'Romansh',
+        'nativeName' => 'Rumantsch Grischun',
+    ],
+    'rn' => [
+        'isoName' => 'Rundi',
+        'nativeName' => 'Ikirundi',
+    ],
+    'ro' => [
+        'isoName' => 'Romanian, Moldavian, Moldovan',
+        'nativeName' => 'Română',
+    ],
+    'ru' => [
+        'isoName' => 'Russian',
+        'nativeName' => 'русский',
+    ],
+    'sa' => [
+        'isoName' => 'Sanskrit',
+        'nativeName' => 'संस्कृतम्',
+    ],
+    'sc' => [
+        'isoName' => 'Sardinian',
+        'nativeName' => 'sardu',
+    ],
+    'sd' => [
+        'isoName' => 'Sindhi',
+        'nativeName' => 'सिन्धी, سنڌي، سندھی‎',
+    ],
+    'se' => [
+        'isoName' => 'Northern Sami',
+        'nativeName' => 'Davvisámegiella',
+    ],
+    'sm' => [
+        'isoName' => 'Samoan',
+        'nativeName' => 'gagana fa\'a Samoa',
+    ],
+    'sg' => [
+        'isoName' => 'Sango',
+        'nativeName' => 'yângâ tî sängö',
+    ],
+    'sr' => [
+        'isoName' => 'Serbian',
+        'nativeName' => 'српски језик',
+    ],
+    'gd' => [
+        'isoName' => 'Gaelic, Scottish Gaelic',
+        'nativeName' => 'Gàidhlig',
+    ],
+    'sn' => [
+        'isoName' => 'Shona',
+        'nativeName' => 'chiShona',
+    ],
+    'si' => [
+        'isoName' => 'Sinhala, Sinhalese',
+        'nativeName' => 'සිංහල',
+    ],
+    'sk' => [
+        'isoName' => 'Slovak',
+        'nativeName' => 'Slovenčina, Slovenský Jazyk',
+    ],
+    'sl' => [
+        'isoName' => 'Slovene',
+        'nativeName' => 'Slovenski Jezik, Slovenščina',
+    ],
+    'so' => [
+        'isoName' => 'Somali',
+        'nativeName' => 'Soomaaliga, af Soomaali',
+    ],
+    'st' => [
+        'isoName' => 'Southern Sotho',
+        'nativeName' => 'Sesotho',
+    ],
+    'es' => [
+        'isoName' => 'Spanish, Castilian',
+        'nativeName' => 'Español',
+    ],
+    'su' => [
+        'isoName' => 'Sundanese',
+        'nativeName' => 'Basa Sunda',
+    ],
+    'sw' => [
+        'isoName' => 'Swahili',
+        'nativeName' => 'Kiswahili',
+    ],
+    'ss' => [
+        'isoName' => 'Swati',
+        'nativeName' => 'SiSwati',
+    ],
+    'sv' => [
+        'isoName' => 'Swedish',
+        'nativeName' => 'Svenska',
+    ],
+    'ta' => [
+        'isoName' => 'Tamil',
+        'nativeName' => 'தமிழ்',
+    ],
+    'te' => [
+        'isoName' => 'Telugu',
+        'nativeName' => 'తెలుగు',
+    ],
+    'tg' => [
+        'isoName' => 'Tajik',
+        'nativeName' => 'тоҷикӣ, toçikī, تاجیکی‎',
+    ],
+    'th' => [
+        'isoName' => 'Thai',
+        'nativeName' => 'ไทย',
+    ],
+    'ti' => [
+        'isoName' => 'Tigrinya',
+        'nativeName' => 'ትግርኛ',
+    ],
+    'bo' => [
+        'isoName' => 'Tibetan',
+        'nativeName' => 'བོད་ཡིག',
+    ],
+    'tk' => [
+        'isoName' => 'Turkmen',
+        'nativeName' => 'Türkmen, Түркмен',
+    ],
+    'tl' => [
+        'isoName' => 'Tagalog',
+        'nativeName' => 'Wikang Tagalog',
+    ],
+    'tn' => [
+        'isoName' => 'Tswana',
+        'nativeName' => 'Setswana',
+    ],
+    'to' => [
+        'isoName' => 'Tongan (Tonga Islands)',
+        'nativeName' => 'Faka Tonga',
+    ],
+    'tr' => [
+        'isoName' => 'Turkish',
+        'nativeName' => 'Türkçe',
+    ],
+    'ts' => [
+        'isoName' => 'Tsonga',
+        'nativeName' => 'Xitsonga',
+    ],
+    'tt' => [
+        'isoName' => 'Tatar',
+        'nativeName' => 'татар теле, tatar tele',
+    ],
+    'tw' => [
+        'isoName' => 'Twi',
+        'nativeName' => 'Twi',
+    ],
+    'ty' => [
+        'isoName' => 'Tahitian',
+        'nativeName' => 'Reo Tahiti',
+    ],
+    'ug' => [
+        'isoName' => 'Uighur, Uyghur',
+        'nativeName' => 'Uyƣurqə, ‫ئۇيغۇرچ',
+    ],
+    'uk' => [
+        'isoName' => 'Ukrainian',
+        'nativeName' => 'Українська',
+    ],
+    'ur' => [
+        'isoName' => 'Urdu',
+        'nativeName' => 'اردو',
+    ],
+    'uz' => [
+        'isoName' => 'Uzbek',
+        'nativeName' => 'Oʻzbek, Ўзбек, أۇزبېك‎',
+    ],
+    've' => [
+        'isoName' => 'Venda',
+        'nativeName' => 'Tshivenḓa',
+    ],
+    'vi' => [
+        'isoName' => 'Vietnamese',
+        'nativeName' => 'Tiếng Việt',
+    ],
+    'vo' => [
+        'isoName' => 'Volapük',
+        'nativeName' => 'Volapük',
+    ],
+    'wa' => [
+        'isoName' => 'Walloon',
+        'nativeName' => 'Walon',
+    ],
+    'cy' => [
+        'isoName' => 'Welsh',
+        'nativeName' => 'Cymraeg',
+    ],
+    'wo' => [
+        'isoName' => 'Wolof',
+        'nativeName' => 'Wollof',
+    ],
+    'fy' => [
+        'isoName' => 'Western Frisian',
+        'nativeName' => 'Frysk',
+    ],
+    'xh' => [
+        'isoName' => 'Xhosa',
+        'nativeName' => 'isiXhosa',
+    ],
+    'yi' => [
+        'isoName' => 'Yiddish',
+        'nativeName' => 'ייִדיש',
+    ],
+    'yo' => [
+        'isoName' => 'Yoruba',
+        'nativeName' => 'Yorùbá',
+    ],
+    'za' => [
+        'isoName' => 'Zhuang, Chuang',
+        'nativeName' => 'Saɯ cueŋƅ, Saw cuengh',
+    ],
+    'zu' => [
+        'isoName' => 'Zulu',
+        'nativeName' => 'isiZulu',
+    ],
+    /*
+     * Add ISO 639-3 languages available in Carbon
+     */
+    'agq' => [
+        'isoName' => 'Aghem',
+        'nativeName' => 'Aghem',
+    ],
+    'agr' => [
+        'isoName' => 'Aguaruna',
+        'nativeName' => 'Aguaruna',
+    ],
+    'anp' => [
+        'isoName' => 'Angika',
+        'nativeName' => 'Angika',
+    ],
+    'asa' => [
+        'isoName' => 'Asu',
+        'nativeName' => 'Asu',
+    ],
+    'ast' => [
+        'isoName' => 'Asturian',
+        'nativeName' => 'Asturian',
+    ],
+    'ayc' => [
+        'isoName' => 'Southern Aymara',
+        'nativeName' => 'Southern Aymara',
+    ],
+    'bas' => [
+        'isoName' => 'Basaa',
+        'nativeName' => 'Basaa',
+    ],
+    'bem' => [
+        'isoName' => 'Bemba',
+        'nativeName' => 'Bemba',
+    ],
+    'bez' => [
+        'isoName' => 'Bena',
+        'nativeName' => 'Bena',
+    ],
+    'bhb' => [
+        'isoName' => 'Bhili',
+        'nativeName' => 'Bhili',
+    ],
+    'bho' => [
+        'isoName' => 'Bhojpuri',
+        'nativeName' => 'Bhojpuri',
+    ],
+    'brx' => [
+        'isoName' => 'Bodo',
+        'nativeName' => 'Bodo',
+    ],
+    'byn' => [
+        'isoName' => 'Bilin',
+        'nativeName' => 'Bilin',
+    ],
+    'ccp' => [
+        'isoName' => 'Chakma',
+        'nativeName' => 'Chakma',
+    ],
+    'cgg' => [
+        'isoName' => 'Chiga',
+        'nativeName' => 'Chiga',
+    ],
+    'chr' => [
+        'isoName' => 'Cherokee',
+        'nativeName' => 'Cherokee',
+    ],
+    'cmn' => [
+        'isoName' => 'Chinese',
+        'nativeName' => 'Chinese',
+    ],
+    'crh' => [
+        'isoName' => 'Crimean Turkish',
+        'nativeName' => 'Crimean Turkish',
+    ],
+    'csb' => [
+        'isoName' => 'Kashubian',
+        'nativeName' => 'Kashubian',
+    ],
+    'dav' => [
+        'isoName' => 'Taita',
+        'nativeName' => 'Taita',
+    ],
+    'dje' => [
+        'isoName' => 'Zarma',
+        'nativeName' => 'Zarma',
+    ],
+    'doi' => [
+        'isoName' => 'Dogri (macrolanguage)',
+        'nativeName' => 'Dogri (macrolanguage)',
+    ],
+    'dsb' => [
+        'isoName' => 'Lower Sorbian',
+        'nativeName' => 'Lower Sorbian',
+    ],
+    'dua' => [
+        'isoName' => 'Duala',
+        'nativeName' => 'Duala',
+    ],
+    'dyo' => [
+        'isoName' => 'Jola-Fonyi',
+        'nativeName' => 'Jola-Fonyi',
+    ],
+    'ebu' => [
+        'isoName' => 'Embu',
+        'nativeName' => 'Embu',
+    ],
+    'ewo' => [
+        'isoName' => 'Ewondo',
+        'nativeName' => 'Ewondo',
+    ],
+    'fil' => [
+        'isoName' => 'Filipino',
+        'nativeName' => 'Filipino',
+    ],
+    'fur' => [
+        'isoName' => 'Friulian',
+        'nativeName' => 'Friulian',
+    ],
+    'gez' => [
+        'isoName' => 'Geez',
+        'nativeName' => 'Geez',
+    ],
+    'gom' => [
+        'isoName' => 'Konkani, Goan',
+        'nativeName' => 'ಕೊಂಕಣಿ',
+    ],
+    'gsw' => [
+        'isoName' => 'Swiss German',
+        'nativeName' => 'Swiss German',
+    ],
+    'guz' => [
+        'isoName' => 'Gusii',
+        'nativeName' => 'Gusii',
+    ],
+    'hak' => [
+        'isoName' => 'Hakka Chinese',
+        'nativeName' => 'Hakka Chinese',
+    ],
+    'haw' => [
+        'isoName' => 'Hawaiian',
+        'nativeName' => 'Hawaiian',
+    ],
+    'hif' => [
+        'isoName' => 'Fiji Hindi',
+        'nativeName' => 'Fiji Hindi',
+    ],
+    'hne' => [
+        'isoName' => 'Chhattisgarhi',
+        'nativeName' => 'Chhattisgarhi',
+    ],
+    'hsb' => [
+        'isoName' => 'Upper Sorbian',
+        'nativeName' => 'Upper Sorbian',
+    ],
+    'jgo' => [
+        'isoName' => 'Ngomba',
+        'nativeName' => 'Ngomba',
+    ],
+    'jmc' => [
+        'isoName' => 'Machame',
+        'nativeName' => 'Machame',
+    ],
+    'kab' => [
+        'isoName' => 'Kabyle',
+        'nativeName' => 'Kabyle',
+    ],
+    'kam' => [
+        'isoName' => 'Kamba',
+        'nativeName' => 'Kamba',
+    ],
+    'kde' => [
+        'isoName' => 'Makonde',
+        'nativeName' => 'Makonde',
+    ],
+    'kea' => [
+        'isoName' => 'Kabuverdianu',
+        'nativeName' => 'Kabuverdianu',
+    ],
+    'khq' => [
+        'isoName' => 'Koyra Chiini',
+        'nativeName' => 'Koyra Chiini',
+    ],
+    'kkj' => [
+        'isoName' => 'Kako',
+        'nativeName' => 'Kako',
+    ],
+    'kln' => [
+        'isoName' => 'Kalenjin',
+        'nativeName' => 'Kalenjin',
+    ],
+    'kok' => [
+        'isoName' => 'Konkani',
+        'nativeName' => 'Konkani',
+    ],
+    'ksb' => [
+        'isoName' => 'Shambala',
+        'nativeName' => 'Shambala',
+    ],
+    'ksf' => [
+        'isoName' => 'Bafia',
+        'nativeName' => 'Bafia',
+    ],
+    'ksh' => [
+        'isoName' => 'Colognian',
+        'nativeName' => 'Colognian',
+    ],
+    'lag' => [
+        'isoName' => 'Langi',
+        'nativeName' => 'Langi',
+    ],
+    'lij' => [
+        'isoName' => 'Ligurian',
+        'nativeName' => 'Ligurian',
+    ],
+    'lkt' => [
+        'isoName' => 'Lakota',
+        'nativeName' => 'Lakota',
+    ],
+    'lrc' => [
+        'isoName' => 'Northern Luri',
+        'nativeName' => 'Northern Luri',
+    ],
+    'luo' => [
+        'isoName' => 'Luo',
+        'nativeName' => 'Luo',
+    ],
+    'luy' => [
+        'isoName' => 'Luyia',
+        'nativeName' => 'Luyia',
+    ],
+    'lzh' => [
+        'isoName' => 'Literary Chinese',
+        'nativeName' => 'Literary Chinese',
+    ],
+    'mag' => [
+        'isoName' => 'Magahi',
+        'nativeName' => 'Magahi',
+    ],
+    'mai' => [
+        'isoName' => 'Maithili',
+        'nativeName' => 'Maithili',
+    ],
+    'mas' => [
+        'isoName' => 'Masai',
+        'nativeName' => 'Masai',
+    ],
+    'mer' => [
+        'isoName' => 'Meru',
+        'nativeName' => 'Meru',
+    ],
+    'mfe' => [
+        'isoName' => 'Morisyen',
+        'nativeName' => 'Morisyen',
+    ],
+    'mgh' => [
+        'isoName' => 'Makhuwa-Meetto',
+        'nativeName' => 'Makhuwa-Meetto',
+    ],
+    'mgo' => [
+        'isoName' => 'Metaʼ',
+        'nativeName' => 'Metaʼ',
+    ],
+    'mhr' => [
+        'isoName' => 'Eastern Mari',
+        'nativeName' => 'Eastern Mari',
+    ],
+    'miq' => [
+        'isoName' => 'Mískito',
+        'nativeName' => 'Mískito',
+    ],
+    'mjw' => [
+        'isoName' => 'Karbi',
+        'nativeName' => 'Karbi',
+    ],
+    'mni' => [
+        'isoName' => 'Manipuri',
+        'nativeName' => 'Manipuri',
+    ],
+    'mua' => [
+        'isoName' => 'Mundang',
+        'nativeName' => 'Mundang',
+    ],
+    'mzn' => [
+        'isoName' => 'Mazanderani',
+        'nativeName' => 'Mazanderani',
+    ],
+    'nan' => [
+        'isoName' => 'Min Nan Chinese',
+        'nativeName' => 'Min Nan Chinese',
+    ],
+    'naq' => [
+        'isoName' => 'Nama',
+        'nativeName' => 'Nama',
+    ],
+    'nds' => [
+        'isoName' => 'Low German',
+        'nativeName' => 'Low German',
+    ],
+    'nhn' => [
+        'isoName' => 'Central Nahuatl',
+        'nativeName' => 'Central Nahuatl',
+    ],
+    'niu' => [
+        'isoName' => 'Niuean',
+        'nativeName' => 'Niuean',
+    ],
+    'nmg' => [
+        'isoName' => 'Kwasio',
+        'nativeName' => 'Kwasio',
+    ],
+    'nnh' => [
+        'isoName' => 'Ngiemboon',
+        'nativeName' => 'Ngiemboon',
+    ],
+    'nso' => [
+        'isoName' => 'Northern Sotho',
+        'nativeName' => 'Northern Sotho',
+    ],
+    'nus' => [
+        'isoName' => 'Nuer',
+        'nativeName' => 'Nuer',
+    ],
+    'nyn' => [
+        'isoName' => 'Nyankole',
+        'nativeName' => 'Nyankole',
+    ],
+    'pap' => [
+        'isoName' => 'Papiamento',
+        'nativeName' => 'Papiamento',
+    ],
+    'prg' => [
+        'isoName' => 'Prussian',
+        'nativeName' => 'Prussian',
+    ],
+    'quz' => [
+        'isoName' => 'Cusco Quechua',
+        'nativeName' => 'Cusco Quechua',
+    ],
+    'raj' => [
+        'isoName' => 'Rajasthani',
+        'nativeName' => 'Rajasthani',
+    ],
+    'rof' => [
+        'isoName' => 'Rombo',
+        'nativeName' => 'Rombo',
+    ],
+    'rwk' => [
+        'isoName' => 'Rwa',
+        'nativeName' => 'Rwa',
+    ],
+    'sah' => [
+        'isoName' => 'Sakha',
+        'nativeName' => 'Sakha',
+    ],
+    'saq' => [
+        'isoName' => 'Samburu',
+        'nativeName' => 'Samburu',
+    ],
+    'sat' => [
+        'isoName' => 'Santali',
+        'nativeName' => 'Santali',
+    ],
+    'sbp' => [
+        'isoName' => 'Sangu',
+        'nativeName' => 'Sangu',
+    ],
+    'scr' => [
+        'isoName' => 'Serbo Croatian',
+        'nativeName' => 'Serbo Croatian',
+    ],
+    'seh' => [
+        'isoName' => 'Sena',
+        'nativeName' => 'Sena',
+    ],
+    'ses' => [
+        'isoName' => 'Koyraboro Senni',
+        'nativeName' => 'Koyraboro Senni',
+    ],
+    'sgs' => [
+        'isoName' => 'Samogitian',
+        'nativeName' => 'Samogitian',
+    ],
+    'shi' => [
+        'isoName' => 'Tachelhit',
+        'nativeName' => 'Tachelhit',
+    ],
+    'shn' => [
+        'isoName' => 'Shan',
+        'nativeName' => 'Shan',
+    ],
+    'shs' => [
+        'isoName' => 'Shuswap',
+        'nativeName' => 'Shuswap',
+    ],
+    'sid' => [
+        'isoName' => 'Sidamo',
+        'nativeName' => 'Sidamo',
+    ],
+    'smn' => [
+        'isoName' => 'Inari Sami',
+        'nativeName' => 'Inari Sami',
+    ],
+    'szl' => [
+        'isoName' => 'Silesian',
+        'nativeName' => 'Silesian',
+    ],
+    'tcy' => [
+        'isoName' => 'Tulu',
+        'nativeName' => 'Tulu',
+    ],
+    'teo' => [
+        'isoName' => 'Teso',
+        'nativeName' => 'Teso',
+    ],
+    'tet' => [
+        'isoName' => 'Tetum',
+        'nativeName' => 'Tetum',
+    ],
+    'the' => [
+        'isoName' => 'Chitwania Tharu',
+        'nativeName' => 'Chitwania Tharu',
+    ],
+    'tig' => [
+        'isoName' => 'Tigre',
+        'nativeName' => 'Tigre',
+    ],
+    'tlh' => [
+        'isoName' => 'Klingon',
+        'nativeName' => 'tlhIngan Hol',
+    ],
+    'tpi' => [
+        'isoName' => 'Tok Pisin',
+        'nativeName' => 'Tok Pisin',
+    ],
+    'twq' => [
+        'isoName' => 'Tasawaq',
+        'nativeName' => 'Tasawaq',
+    ],
+    'tzl' => [
+        'isoName' => 'Talossan',
+        'nativeName' => 'Talossan',
+    ],
+    'tzm' => [
+        'isoName' => 'Tamazight, Central Atlas',
+        'nativeName' => 'ⵜⵎⴰⵣⵉⵖⵜ',
+    ],
+    'unm' => [
+        'isoName' => 'Unami',
+        'nativeName' => 'Unami',
+    ],
+    'vai' => [
+        'isoName' => 'Vai',
+        'nativeName' => 'Vai',
+    ],
+    'vun' => [
+        'isoName' => 'Vunjo',
+        'nativeName' => 'Vunjo',
+    ],
+    'wae' => [
+        'isoName' => 'Walser',
+        'nativeName' => 'Walser',
+    ],
+    'wal' => [
+        'isoName' => 'Wolaytta',
+        'nativeName' => 'Wolaytta',
+    ],
+    'xog' => [
+        'isoName' => 'Soga',
+        'nativeName' => 'Soga',
+    ],
+    'yav' => [
+        'isoName' => 'Yangben',
+        'nativeName' => 'Yangben',
+    ],
+    'yue' => [
+        'isoName' => 'Cantonese',
+        'nativeName' => 'Cantonese',
+    ],
+    'yuw' => [
+        'isoName' => 'Yau (Morobe Province)',
+        'nativeName' => 'Yau (Morobe Province)',
+    ],
+    'zgh' => [
+        'isoName' => 'Standard Moroccan Tamazight',
+        'nativeName' => 'Standard Moroccan Tamazight',
+    ],
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/List/regions.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/List/regions.php
new file mode 100644
index 0000000..8ab8a9e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/List/regions.php
@@ -0,0 +1,265 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/*
+ * ISO 3166-2
+ */
+return [
+    'AD' => 'Andorra',
+    'AE' => 'United Arab Emirates',
+    'AF' => 'Afghanistan',
+    'AG' => 'Antigua and Barbuda',
+    'AI' => 'Anguilla',
+    'AL' => 'Albania',
+    'AM' => 'Armenia',
+    'AO' => 'Angola',
+    'AQ' => 'Antarctica',
+    'AR' => 'Argentina',
+    'AS' => 'American Samoa',
+    'AT' => 'Austria',
+    'AU' => 'Australia',
+    'AW' => 'Aruba',
+    'AX' => 'Åland Islands',
+    'AZ' => 'Azerbaijan',
+    'BA' => 'Bosnia and Herzegovina',
+    'BB' => 'Barbados',
+    'BD' => 'Bangladesh',
+    'BE' => 'Belgium',
+    'BF' => 'Burkina Faso',
+    'BG' => 'Bulgaria',
+    'BH' => 'Bahrain',
+    'BI' => 'Burundi',
+    'BJ' => 'Benin',
+    'BL' => 'Saint Barthélemy',
+    'BM' => 'Bermuda',
+    'BN' => 'Brunei Darussalam',
+    'BO' => 'Bolivia (Plurinational State of)',
+    'BQ' => 'Bonaire, Sint Eustatius and Saba',
+    'BR' => 'Brazil',
+    'BS' => 'Bahamas',
+    'BT' => 'Bhutan',
+    'BV' => 'Bouvet Island',
+    'BW' => 'Botswana',
+    'BY' => 'Belarus',
+    'BZ' => 'Belize',
+    'CA' => 'Canada',
+    'CC' => 'Cocos (Keeling) Islands',
+    'CD' => 'Congo, Democratic Republic of the',
+    'CF' => 'Central African Republic',
+    'CG' => 'Congo',
+    'CH' => 'Switzerland',
+    'CI' => 'Côte d\'Ivoire',
+    'CK' => 'Cook Islands',
+    'CL' => 'Chile',
+    'CM' => 'Cameroon',
+    'CN' => 'China',
+    'CO' => 'Colombia',
+    'CR' => 'Costa Rica',
+    'CU' => 'Cuba',
+    'CV' => 'Cabo Verde',
+    'CW' => 'Curaçao',
+    'CX' => 'Christmas Island',
+    'CY' => 'Cyprus',
+    'CZ' => 'Czechia',
+    'DE' => 'Germany',
+    'DJ' => 'Djibouti',
+    'DK' => 'Denmark',
+    'DM' => 'Dominica',
+    'DO' => 'Dominican Republic',
+    'DZ' => 'Algeria',
+    'EC' => 'Ecuador',
+    'EE' => 'Estonia',
+    'EG' => 'Egypt',
+    'EH' => 'Western Sahara',
+    'ER' => 'Eritrea',
+    'ES' => 'Spain',
+    'ET' => 'Ethiopia',
+    'FI' => 'Finland',
+    'FJ' => 'Fiji',
+    'FK' => 'Falkland Islands (Malvinas)',
+    'FM' => 'Micronesia (Federated States of)',
+    'FO' => 'Faroe Islands',
+    'FR' => 'France',
+    'GA' => 'Gabon',
+    'GB' => 'United Kingdom of Great Britain and Northern Ireland',
+    'GD' => 'Grenada',
+    'GE' => 'Georgia',
+    'GF' => 'French Guiana',
+    'GG' => 'Guernsey',
+    'GH' => 'Ghana',
+    'GI' => 'Gibraltar',
+    'GL' => 'Greenland',
+    'GM' => 'Gambia',
+    'GN' => 'Guinea',
+    'GP' => 'Guadeloupe',
+    'GQ' => 'Equatorial Guinea',
+    'GR' => 'Greece',
+    'GS' => 'South Georgia and the South Sandwich Islands',
+    'GT' => 'Guatemala',
+    'GU' => 'Guam',
+    'GW' => 'Guinea-Bissau',
+    'GY' => 'Guyana',
+    'HK' => 'Hong Kong',
+    'HM' => 'Heard Island and McDonald Islands',
+    'HN' => 'Honduras',
+    'HR' => 'Croatia',
+    'HT' => 'Haiti',
+    'HU' => 'Hungary',
+    'ID' => 'Indonesia',
+    'IE' => 'Ireland',
+    'IL' => 'Israel',
+    'IM' => 'Isle of Man',
+    'IN' => 'India',
+    'IO' => 'British Indian Ocean Territory',
+    'IQ' => 'Iraq',
+    'IR' => 'Iran (Islamic Republic of)',
+    'IS' => 'Iceland',
+    'IT' => 'Italy',
+    'JE' => 'Jersey',
+    'JM' => 'Jamaica',
+    'JO' => 'Jordan',
+    'JP' => 'Japan',
+    'KE' => 'Kenya',
+    'KG' => 'Kyrgyzstan',
+    'KH' => 'Cambodia',
+    'KI' => 'Kiribati',
+    'KM' => 'Comoros',
+    'KN' => 'Saint Kitts and Nevis',
+    'KP' => 'Korea (Democratic People\'s Republic of)',
+    'KR' => 'Korea, Republic of',
+    'KW' => 'Kuwait',
+    'KY' => 'Cayman Islands',
+    'KZ' => 'Kazakhstan',
+    'LA' => 'Lao People\'s Democratic Republic',
+    'LB' => 'Lebanon',
+    'LC' => 'Saint Lucia',
+    'LI' => 'Liechtenstein',
+    'LK' => 'Sri Lanka',
+    'LR' => 'Liberia',
+    'LS' => 'Lesotho',
+    'LT' => 'Lithuania',
+    'LU' => 'Luxembourg',
+    'LV' => 'Latvia',
+    'LY' => 'Libya',
+    'MA' => 'Morocco',
+    'MC' => 'Monaco',
+    'MD' => 'Moldova, Republic of',
+    'ME' => 'Montenegro',
+    'MF' => 'Saint Martin (French part)',
+    'MG' => 'Madagascar',
+    'MH' => 'Marshall Islands',
+    'MK' => 'Macedonia, the former Yugoslav Republic of',
+    'ML' => 'Mali',
+    'MM' => 'Myanmar',
+    'MN' => 'Mongolia',
+    'MO' => 'Macao',
+    'MP' => 'Northern Mariana Islands',
+    'MQ' => 'Martinique',
+    'MR' => 'Mauritania',
+    'MS' => 'Montserrat',
+    'MT' => 'Malta',
+    'MU' => 'Mauritius',
+    'MV' => 'Maldives',
+    'MW' => 'Malawi',
+    'MX' => 'Mexico',
+    'MY' => 'Malaysia',
+    'MZ' => 'Mozambique',
+    'NA' => 'Namibia',
+    'NC' => 'New Caledonia',
+    'NE' => 'Niger',
+    'NF' => 'Norfolk Island',
+    'NG' => 'Nigeria',
+    'NI' => 'Nicaragua',
+    'NL' => 'Netherlands',
+    'NO' => 'Norway',
+    'NP' => 'Nepal',
+    'NR' => 'Nauru',
+    'NU' => 'Niue',
+    'NZ' => 'New Zealand',
+    'OM' => 'Oman',
+    'PA' => 'Panama',
+    'PE' => 'Peru',
+    'PF' => 'French Polynesia',
+    'PG' => 'Papua New Guinea',
+    'PH' => 'Philippines',
+    'PK' => 'Pakistan',
+    'PL' => 'Poland',
+    'PM' => 'Saint Pierre and Miquelon',
+    'PN' => 'Pitcairn',
+    'PR' => 'Puerto Rico',
+    'PS' => 'Palestine, State of',
+    'PT' => 'Portugal',
+    'PW' => 'Palau',
+    'PY' => 'Paraguay',
+    'QA' => 'Qatar',
+    'RE' => 'Réunion',
+    'RO' => 'Romania',
+    'RS' => 'Serbia',
+    'RU' => 'Russian Federation',
+    'RW' => 'Rwanda',
+    'SA' => 'Saudi Arabia',
+    'SB' => 'Solomon Islands',
+    'SC' => 'Seychelles',
+    'SD' => 'Sudan',
+    'SE' => 'Sweden',
+    'SG' => 'Singapore',
+    'SH' => 'Saint Helena, Ascension and Tristan da Cunha',
+    'SI' => 'Slovenia',
+    'SJ' => 'Svalbard and Jan Mayen',
+    'SK' => 'Slovakia',
+    'SL' => 'Sierra Leone',
+    'SM' => 'San Marino',
+    'SN' => 'Senegal',
+    'SO' => 'Somalia',
+    'SR' => 'Suriname',
+    'SS' => 'South Sudan',
+    'ST' => 'Sao Tome and Principe',
+    'SV' => 'El Salvador',
+    'SX' => 'Sint Maarten (Dutch part)',
+    'SY' => 'Syrian Arab Republic',
+    'SZ' => 'Eswatini',
+    'TC' => 'Turks and Caicos Islands',
+    'TD' => 'Chad',
+    'TF' => 'French Southern Territories',
+    'TG' => 'Togo',
+    'TH' => 'Thailand',
+    'TJ' => 'Tajikistan',
+    'TK' => 'Tokelau',
+    'TL' => 'Timor-Leste',
+    'TM' => 'Turkmenistan',
+    'TN' => 'Tunisia',
+    'TO' => 'Tonga',
+    'TR' => 'Turkey',
+    'TT' => 'Trinidad and Tobago',
+    'TV' => 'Tuvalu',
+    'TW' => 'Taiwan, Province of China',
+    'TZ' => 'Tanzania, United Republic of',
+    'UA' => 'Ukraine',
+    'UG' => 'Uganda',
+    'UM' => 'United States Minor Outlying Islands',
+    'US' => 'United States of America',
+    'UY' => 'Uruguay',
+    'UZ' => 'Uzbekistan',
+    'VA' => 'Holy See',
+    'VC' => 'Saint Vincent and the Grenadines',
+    'VE' => 'Venezuela (Bolivarian Republic of)',
+    'VG' => 'Virgin Islands (British)',
+    'VI' => 'Virgin Islands (U.S.)',
+    'VN' => 'Viet Nam',
+    'VU' => 'Vanuatu',
+    'WF' => 'Wallis and Futuna',
+    'WS' => 'Samoa',
+    'YE' => 'Yemen',
+    'YT' => 'Mayotte',
+    'ZA' => 'South Africa',
+    'ZM' => 'Zambia',
+    'ZW' => 'Zimbabwe',
+];
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/Macro.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/Macro.php
new file mode 100644
index 0000000..7dab190
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/Macro.php
@@ -0,0 +1,233 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Carbon\PHPStan;
+
+use Closure;
+use PHPStan\Reflection\Php\BuiltinMethodReflection;
+use PHPStan\TrinaryLogic;
+use ReflectionClass;
+use ReflectionFunction;
+use ReflectionMethod;
+use ReflectionParameter;
+use ReflectionType;
+use stdClass;
+use Throwable;
+
+final class Macro implements BuiltinMethodReflection
+{
+    /**
+     * The class name.
+     *
+     * @var class-string
+     */
+    private $className;
+
+    /**
+     * The method name.
+     *
+     * @var string
+     */
+    private $methodName;
+
+    /**
+     * The reflection function/method.
+     *
+     * @var ReflectionFunction|ReflectionMethod
+     */
+    private $reflectionFunction;
+
+    /**
+     * The parameters.
+     *
+     * @var ReflectionParameter[]
+     */
+    private $parameters;
+
+    /**
+     * The is static.
+     *
+     * @var bool
+     */
+    private $static = false;
+
+    /**
+     * Macro constructor.
+     *
+     * @param string $className
+     * @phpstan-param class-string $className
+     *
+     * @param string   $methodName
+     * @param callable $macro
+     */
+    public function __construct(string $className, string $methodName, $macro)
+    {
+        $this->className = $className;
+        $this->methodName = $methodName;
+        $this->reflectionFunction = \is_array($macro)
+            ? new ReflectionMethod($macro[0], $macro[1])
+            : new ReflectionFunction($macro);
+        $this->parameters = $this->reflectionFunction->getParameters();
+
+        if ($this->reflectionFunction->isClosure()) {
+            try {
+                /** @var Closure $closure */
+                $closure = $this->reflectionFunction->getClosure();
+                $boundClosure = Closure::bind($closure, new stdClass);
+                $this->static = (!$boundClosure || (new ReflectionFunction($boundClosure))->getClosureThis() === null);
+            } catch (Throwable $e) {
+                $this->static = true;
+            }
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDeclaringClass(): ReflectionClass
+    {
+        return new ReflectionClass($this->className);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isPrivate(): bool
+    {
+        return false;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isPublic(): bool
+    {
+        return true;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isFinal(): bool
+    {
+        return false;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isInternal(): bool
+    {
+        return false;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isAbstract(): bool
+    {
+        return false;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isStatic(): bool
+    {
+        return $this->static;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDocComment(): ?string
+    {
+        return $this->reflectionFunction->getDocComment() ?: null;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getFileName()
+    {
+        return $this->reflectionFunction->getFileName();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getName(): string
+    {
+        return $this->methodName;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getParameters(): array
+    {
+        return $this->parameters;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getReturnType(): ?ReflectionType
+    {
+        return $this->reflectionFunction->getReturnType();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getStartLine()
+    {
+        return $this->reflectionFunction->getStartLine();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getEndLine()
+    {
+        return $this->reflectionFunction->getEndLine();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isDeprecated(): TrinaryLogic
+    {
+        return TrinaryLogic::createFromBoolean(
+            $this->reflectionFunction->isDeprecated() ||
+            preg_match('/@deprecated/i', $this->getDocComment() ?: '')
+        );
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isVariadic(): bool
+    {
+        return $this->reflectionFunction->isVariadic();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getPrototype(): BuiltinMethodReflection
+    {
+        return $this;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getReflection(): ?ReflectionMethod
+    {
+        return $this->reflectionFunction instanceof ReflectionMethod
+            ? $this->reflectionFunction
+            : null;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/MacroExtension.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/MacroExtension.php
new file mode 100644
index 0000000..5a3d694
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/MacroExtension.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace Carbon\PHPStan;
+
+use PHPStan\Reflection\ClassReflection;
+use PHPStan\Reflection\MethodReflection;
+use PHPStan\Reflection\MethodsClassReflectionExtension;
+use PHPStan\Reflection\Php\PhpMethodReflectionFactory;
+use PHPStan\Type\TypehintHelper;
+
+/**
+ * Class MacroExtension.
+ *
+ * @codeCoverageIgnore Pure PHPStan wrapper.
+ */
+final class MacroExtension implements MethodsClassReflectionExtension
+{
+    /**
+     * @var PhpMethodReflectionFactory
+     */
+    protected $methodReflectionFactory;
+
+    /**
+     * @var MacroScanner
+     */
+    protected $scanner;
+
+    /**
+     * Extension constructor.
+     *
+     * @param PhpMethodReflectionFactory $methodReflectionFactory
+     */
+    public function __construct(PhpMethodReflectionFactory $methodReflectionFactory)
+    {
+        $this->scanner = new MacroScanner();
+        $this->methodReflectionFactory = $methodReflectionFactory;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function hasMethod(ClassReflection $classReflection, string $methodName): bool
+    {
+        return $this->scanner->hasMethod($classReflection->getName(), $methodName);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getMethod(ClassReflection $classReflection, string $methodName): MethodReflection
+    {
+        $builtinMacro = $this->scanner->getMethod($classReflection->getName(), $methodName);
+
+        return $this->methodReflectionFactory->create(
+            $classReflection,
+            null,
+            $builtinMacro,
+            $classReflection->getActiveTemplateTypeMap(),
+            [],
+            TypehintHelper::decideTypeFromReflection($builtinMacro->getReturnType()),
+            null,
+            null,
+            $builtinMacro->isDeprecated()->yes(),
+            $builtinMacro->isInternal(),
+            $builtinMacro->isFinal(),
+            $builtinMacro->getDocComment()
+        );
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/MacroScanner.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/MacroScanner.php
new file mode 100644
index 0000000..97cf0b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/PHPStan/MacroScanner.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace Carbon\PHPStan;
+
+use Carbon\CarbonInterface;
+use ReflectionClass;
+use ReflectionException;
+
+final class MacroScanner
+{
+    /**
+     * Return true if the given pair class-method is a Carbon macro.
+     *
+     * @param string $className
+     * @phpstan-param class-string $className
+     *
+     * @param string $methodName
+     *
+     * @return bool
+     */
+    public function hasMethod(string $className, string $methodName): bool
+    {
+        return is_a($className, CarbonInterface::class, true) &&
+            \is_callable([$className, 'hasMacro']) &&
+            $className::hasMacro($methodName);
+    }
+
+    /**
+     * Return the Macro for a given pair class-method.
+     *
+     * @param string $className
+     * @phpstan-param class-string $className
+     *
+     * @param string $methodName
+     *
+     * @throws ReflectionException
+     *
+     * @return Macro
+     */
+    public function getMethod(string $className, string $methodName): Macro
+    {
+        $reflectionClass = new ReflectionClass($className);
+        $property = $reflectionClass->getProperty('globalMacros');
+
+        $property->setAccessible(true);
+        $macro = $property->getValue()[$methodName];
+
+        return new Macro(
+            $className,
+            $methodName,
+            $macro
+        );
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php
new file mode 100644
index 0000000..7fbb1a3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php
@@ -0,0 +1,442 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\Exceptions\UnknownUnitException;
+
+/**
+ * Trait Boundaries.
+ *
+ * startOf, endOf and derived method for each unit.
+ *
+ * Depends on the following properties:
+ *
+ * @property int $year
+ * @property int $month
+ * @property int $daysInMonth
+ * @property int $quarter
+ *
+ * Depends on the following methods:
+ *
+ * @method $this setTime(int $hour, int $minute, int $second = 0, int $microseconds = 0)
+ * @method $this setDate(int $year, int $month, int $day)
+ * @method $this addMonths(int $value = 1)
+ */
+trait Boundaries
+{
+    /**
+     * Resets the time to 00:00:00 start of day
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfDay();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfDay()
+    {
+        return $this->setTime(0, 0, 0, 0);
+    }
+
+    /**
+     * Resets the time to 23:59:59.999999 end of day
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfDay();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfDay()
+    {
+        return $this->setTime(static::HOURS_PER_DAY - 1, static::MINUTES_PER_HOUR - 1, static::SECONDS_PER_MINUTE - 1, static::MICROSECONDS_PER_SECOND - 1);
+    }
+
+    /**
+     * Resets the date to the first day of the month and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMonth();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfMonth()
+    {
+        return $this->setDate($this->year, $this->month, 1)->startOfDay();
+    }
+
+    /**
+     * Resets the date to end of the month and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMonth();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfMonth()
+    {
+        return $this->setDate($this->year, $this->month, $this->daysInMonth)->endOfDay();
+    }
+
+    /**
+     * Resets the date to the first day of the quarter and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfQuarter();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfQuarter()
+    {
+        $month = ($this->quarter - 1) * static::MONTHS_PER_QUARTER + 1;
+
+        return $this->setDate($this->year, $month, 1)->startOfDay();
+    }
+
+    /**
+     * Resets the date to end of the quarter and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfQuarter();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfQuarter()
+    {
+        return $this->startOfQuarter()->addMonths(static::MONTHS_PER_QUARTER - 1)->endOfMonth();
+    }
+
+    /**
+     * Resets the date to the first day of the year and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfYear();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfYear()
+    {
+        return $this->setDate($this->year, 1, 1)->startOfDay();
+    }
+
+    /**
+     * Resets the date to end of the year and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfYear();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfYear()
+    {
+        return $this->setDate($this->year, 12, 31)->endOfDay();
+    }
+
+    /**
+     * Resets the date to the first day of the decade and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfDecade();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfDecade()
+    {
+        $year = $this->year - $this->year % static::YEARS_PER_DECADE;
+
+        return $this->setDate($year, 1, 1)->startOfDay();
+    }
+
+    /**
+     * Resets the date to end of the decade and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfDecade();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfDecade()
+    {
+        $year = $this->year - $this->year % static::YEARS_PER_DECADE + static::YEARS_PER_DECADE - 1;
+
+        return $this->setDate($year, 12, 31)->endOfDay();
+    }
+
+    /**
+     * Resets the date to the first day of the century and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfCentury();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfCentury()
+    {
+        $year = $this->year - ($this->year - 1) % static::YEARS_PER_CENTURY;
+
+        return $this->setDate($year, 1, 1)->startOfDay();
+    }
+
+    /**
+     * Resets the date to end of the century and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfCentury();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfCentury()
+    {
+        $year = $this->year - 1 - ($this->year - 1) % static::YEARS_PER_CENTURY + static::YEARS_PER_CENTURY;
+
+        return $this->setDate($year, 12, 31)->endOfDay();
+    }
+
+    /**
+     * Resets the date to the first day of the millennium and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMillennium();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfMillennium()
+    {
+        $year = $this->year - ($this->year - 1) % static::YEARS_PER_MILLENNIUM;
+
+        return $this->setDate($year, 1, 1)->startOfDay();
+    }
+
+    /**
+     * Resets the date to end of the millennium and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMillennium();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfMillennium()
+    {
+        $year = $this->year - 1 - ($this->year - 1) % static::YEARS_PER_MILLENNIUM + static::YEARS_PER_MILLENNIUM;
+
+        return $this->setDate($year, 12, 31)->endOfDay();
+    }
+
+    /**
+     * Resets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->startOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek(Carbon::SUNDAY) . "\n";
+     * ```
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return static
+     */
+    public function startOfWeek($weekStartsAt = null)
+    {
+        return $this->subDays((7 + $this->dayOfWeek - ($weekStartsAt ?? $this->firstWeekDay)) % 7)->startOfDay();
+    }
+
+    /**
+     * Resets the date to end of week (defined in $weekEndsAt) and time to 23:59:59.999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->endOfWeek() . "\n";
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek(Carbon::SATURDAY) . "\n";
+     * ```
+     *
+     * @param int $weekEndsAt optional start allow you to specify the day of week to use to end the week
+     *
+     * @return static
+     */
+    public function endOfWeek($weekEndsAt = null)
+    {
+        return $this->addDays((7 - $this->dayOfWeek + ($weekEndsAt ?? $this->lastWeekDay)) % 7)->endOfDay();
+    }
+
+    /**
+     * Modify to start of current hour, minutes and seconds become 0
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfHour();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfHour()
+    {
+        return $this->setTime($this->hour, 0, 0, 0);
+    }
+
+    /**
+     * Modify to end of current hour, minutes and seconds become 59
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfHour();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfHour()
+    {
+        return $this->setTime($this->hour, static::MINUTES_PER_HOUR - 1, static::SECONDS_PER_MINUTE - 1, static::MICROSECONDS_PER_SECOND - 1);
+    }
+
+    /**
+     * Modify to start of current minute, seconds become 0
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->startOfMinute();
+     * ```
+     *
+     * @return static
+     */
+    public function startOfMinute()
+    {
+        return $this->setTime($this->hour, $this->minute, 0, 0);
+    }
+
+    /**
+     * Modify to end of current minute, seconds become 59
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16')->endOfMinute();
+     * ```
+     *
+     * @return static
+     */
+    public function endOfMinute()
+    {
+        return $this->setTime($this->hour, $this->minute, static::SECONDS_PER_MINUTE - 1, static::MICROSECONDS_PER_SECOND - 1);
+    }
+
+    /**
+     * Modify to start of current second, microseconds become 0
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->startOfSecond()
+     *   ->format('H:i:s.u');
+     * ```
+     *
+     * @return static
+     */
+    public function startOfSecond()
+    {
+        return $this->setTime($this->hour, $this->minute, $this->second, 0);
+    }
+
+    /**
+     * Modify to end of current second, microseconds become 999999
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->endOfSecond()
+     *   ->format('H:i:s.u');
+     * ```
+     *
+     * @return static
+     */
+    public function endOfSecond()
+    {
+        return $this->setTime($this->hour, $this->minute, $this->second, static::MICROSECONDS_PER_SECOND - 1);
+    }
+
+    /**
+     * Modify to start of current given unit.
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->startOf('month')
+     *   ->endOf('week', Carbon::FRIDAY);
+     * ```
+     *
+     * @param string            $unit
+     * @param array<int, mixed> $params
+     *
+     * @return static
+     */
+    public function startOf($unit, ...$params)
+    {
+        $ucfUnit = ucfirst(static::singularUnit($unit));
+        $method = "startOf$ucfUnit";
+        if (!method_exists($this, $method)) {
+            throw new UnknownUnitException($unit);
+        }
+
+        return $this->$method(...$params);
+    }
+
+    /**
+     * Modify to end of current given unit.
+     *
+     * @example
+     * ```
+     * echo Carbon::parse('2018-07-25 12:45:16.334455')
+     *   ->startOf('month')
+     *   ->endOf('week', Carbon::FRIDAY);
+     * ```
+     *
+     * @param string            $unit
+     * @param array<int, mixed> $params
+     *
+     * @return static
+     */
+    public function endOf($unit, ...$params)
+    {
+        $ucfUnit = ucfirst(static::singularUnit($unit));
+        $method = "endOf$ucfUnit";
+        if (!method_exists($this, $method)) {
+            throw new UnknownUnitException($unit);
+        }
+
+        return $this->$method(...$params);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Cast.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Cast.php
new file mode 100644
index 0000000..44caf0b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Cast.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Carbon\Traits;
+
+use Carbon\Exceptions\InvalidCastException;
+use DateTimeInterface;
+
+/**
+ * Trait Cast.
+ *
+ * Utils to cast into an other class.
+ */
+trait Cast
+{
+    /**
+     * Cast the current instance into the given class.
+     *
+     * @param string $className The $className::instance() method will be called to cast the current object.
+     *
+     * @return DateTimeInterface
+     */
+    public function cast(string $className)
+    {
+        if (!method_exists($className, 'instance')) {
+            if (is_a($className, DateTimeInterface::class, true)) {
+                return new $className($this->rawFormat('Y-m-d H:i:s.u'), $this->getTimezone());
+            }
+
+            throw new InvalidCastException("$className has not the instance() method needed to cast the date.");
+        }
+
+        return $className::instance($this);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php
new file mode 100644
index 0000000..ee00666
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php
@@ -0,0 +1,1069 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use BadMethodCallException;
+use Carbon\CarbonInterface;
+use Carbon\Exceptions\BadComparisonUnitException;
+use InvalidArgumentException;
+
+/**
+ * Trait Comparison.
+ *
+ * Comparison utils and testers. All the following methods return booleans.
+ * nowWithSameTz
+ *
+ * Depends on the following methods:
+ *
+ * @method static        resolveCarbon($date)
+ * @method static        copy()
+ * @method static        nowWithSameTz()
+ * @method static static yesterday($timezone = null)
+ * @method static static tomorrow($timezone = null)
+ */
+trait Comparison
+{
+    /** @var bool */
+    protected $endOfTime = false;
+
+    /** @var bool */
+    protected $startOfTime = false;
+
+    /**
+     * Determines if the instance is equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->eq(Carbon::parse('2018-07-25 12:45:16')); // true
+     * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see equalTo()
+     *
+     * @return bool
+     */
+    public function eq($date): bool
+    {
+        return $this->equalTo($date);
+    }
+
+    /**
+     * Determines if the instance is equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->equalTo(Carbon::parse('2018-07-25 12:45:16')); // true
+     * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function equalTo($date): bool
+    {
+        return $this == $date;
+    }
+
+    /**
+     * Determines if the instance is not equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->ne(Carbon::parse('2018-07-25 12:45:16')); // false
+     * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see notEqualTo()
+     *
+     * @return bool
+     */
+    public function ne($date): bool
+    {
+        return $this->notEqualTo($date);
+    }
+
+    /**
+     * Determines if the instance is not equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo(Carbon::parse('2018-07-25 12:45:16')); // false
+     * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function notEqualTo($date): bool
+    {
+        return !$this->equalTo($date);
+    }
+
+    /**
+     * Determines if the instance is greater (after) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see greaterThan()
+     *
+     * @return bool
+     */
+    public function gt($date): bool
+    {
+        return $this->greaterThan($date);
+    }
+
+    /**
+     * Determines if the instance is greater (after) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function greaterThan($date): bool
+    {
+        return $this > $date;
+    }
+
+    /**
+     * Determines if the instance is greater (after) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see greaterThan()
+     *
+     * @return bool
+     */
+    public function isAfter($date): bool
+    {
+        return $this->greaterThan($date);
+    }
+
+    /**
+     * Determines if the instance is greater (after) than or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see greaterThanOrEqualTo()
+     *
+     * @return bool
+     */
+    public function gte($date): bool
+    {
+        return $this->greaterThanOrEqualTo($date);
+    }
+
+    /**
+     * Determines if the instance is greater (after) than or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:15'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:17'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function greaterThanOrEqualTo($date): bool
+    {
+        return $this >= $date;
+    }
+
+    /**
+     * Determines if the instance is less (before) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see lessThan()
+     *
+     * @return bool
+     */
+    public function lt($date): bool
+    {
+        return $this->lessThan($date);
+    }
+
+    /**
+     * Determines if the instance is less (before) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function lessThan($date): bool
+    {
+        return $this < $date;
+    }
+
+    /**
+     * Determines if the instance is less (before) than another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:16'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see lessThan()
+     *
+     * @return bool
+     */
+    public function isBefore($date): bool
+    {
+        return $this->lessThan($date);
+    }
+
+    /**
+     * Determines if the instance is less (before) or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see lessThanOrEqualTo()
+     *
+     * @return bool
+     */
+    public function lte($date): bool
+    {
+        return $this->lessThanOrEqualTo($date);
+    }
+
+    /**
+     * Determines if the instance is less (before) or equal to another
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:15'); // false
+     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:16'); // true
+     * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:17'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return bool
+     */
+    public function lessThanOrEqualTo($date): bool
+    {
+        return $this <= $date;
+    }
+
+    /**
+     * Determines if the instance is between two others.
+     *
+     * The third argument allow you to specify if bounds are included or not (true by default)
+     * but for when you including/excluding bounds may produce different results in your application,
+     * we recommend to use the explicit methods ->betweenIncluded() or ->betweenExcluded() instead.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->between('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->between('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01', false); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     * @param bool                                    $equal Indicates if an equal to comparison should be done
+     *
+     * @return bool
+     */
+    public function between($date1, $date2, $equal = true): bool
+    {
+        $date1 = $this->resolveCarbon($date1);
+        $date2 = $this->resolveCarbon($date2);
+
+        if ($date1->greaterThan($date2)) {
+            [$date1, $date2] = [$date2, $date1];
+        }
+
+        if ($equal) {
+            return $this->greaterThanOrEqualTo($date1) && $this->lessThanOrEqualTo($date2);
+        }
+
+        return $this->greaterThan($date1) && $this->lessThan($date2);
+    }
+
+    /**
+     * Determines if the instance is between two others, bounds included.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->betweenIncluded('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->betweenIncluded('2018-07-25', '2018-08-01'); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return bool
+     */
+    public function betweenIncluded($date1, $date2): bool
+    {
+        return $this->between($date1, $date2, true);
+    }
+
+    /**
+     * Determines if the instance is between two others, bounds excluded.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->betweenExcluded('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-25', '2018-08-01'); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return bool
+     */
+    public function betweenExcluded($date1, $date2): bool
+    {
+        return $this->between($date1, $date2, false);
+    }
+
+    /**
+     * Determines if the instance is between two others
+     *
+     * @example
+     * ```
+     * Carbon::parse('2018-07-25')->isBetween('2018-07-14', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->isBetween('2018-08-01', '2018-08-20'); // false
+     * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01'); // true
+     * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01', false); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     * @param bool                                    $equal Indicates if an equal to comparison should be done
+     *
+     * @return bool
+     */
+    public function isBetween($date1, $date2, $equal = true): bool
+    {
+        return $this->between($date1, $date2, $equal);
+    }
+
+    /**
+     * Determines if the instance is a weekday.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-07-14')->isWeekday(); // false
+     * Carbon::parse('2019-07-15')->isWeekday(); // true
+     * ```
+     *
+     * @return bool
+     */
+    public function isWeekday()
+    {
+        return !$this->isWeekend();
+    }
+
+    /**
+     * Determines if the instance is a weekend day.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-07-14')->isWeekend(); // true
+     * Carbon::parse('2019-07-15')->isWeekend(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isWeekend()
+    {
+        return \in_array($this->dayOfWeek, static::$weekendDays);
+    }
+
+    /**
+     * Determines if the instance is yesterday.
+     *
+     * @example
+     * ```
+     * Carbon::yesterday()->isYesterday(); // true
+     * Carbon::tomorrow()->isYesterday(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isYesterday()
+    {
+        return $this->toDateString() === static::yesterday($this->getTimezone())->toDateString();
+    }
+
+    /**
+     * Determines if the instance is today.
+     *
+     * @example
+     * ```
+     * Carbon::today()->isToday(); // true
+     * Carbon::tomorrow()->isToday(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isToday()
+    {
+        return $this->toDateString() === $this->nowWithSameTz()->toDateString();
+    }
+
+    /**
+     * Determines if the instance is tomorrow.
+     *
+     * @example
+     * ```
+     * Carbon::tomorrow()->isTomorrow(); // true
+     * Carbon::yesterday()->isTomorrow(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isTomorrow()
+    {
+        return $this->toDateString() === static::tomorrow($this->getTimezone())->toDateString();
+    }
+
+    /**
+     * Determines if the instance is in the future, ie. greater (after) than now.
+     *
+     * @example
+     * ```
+     * Carbon::now()->addHours(5)->isFuture(); // true
+     * Carbon::now()->subHours(5)->isFuture(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isFuture()
+    {
+        return $this->greaterThan($this->nowWithSameTz());
+    }
+
+    /**
+     * Determines if the instance is in the past, ie. less (before) than now.
+     *
+     * @example
+     * ```
+     * Carbon::now()->subHours(5)->isPast(); // true
+     * Carbon::now()->addHours(5)->isPast(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isPast()
+    {
+        return $this->lessThan($this->nowWithSameTz());
+    }
+
+    /**
+     * Determines if the instance is a leap year.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2020-01-01')->isLeapYear(); // true
+     * Carbon::parse('2019-01-01')->isLeapYear(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isLeapYear()
+    {
+        return $this->rawFormat('L') === '1';
+    }
+
+    /**
+     * Determines if the instance is a long year
+     *
+     * @example
+     * ```
+     * Carbon::parse('2015-01-01')->isLongYear(); // true
+     * Carbon::parse('2016-01-01')->isLongYear(); // false
+     * ```
+     *
+     * @see https://en.wikipedia.org/wiki/ISO_8601#Week_dates
+     *
+     * @return bool
+     */
+    public function isLongYear()
+    {
+        return static::create($this->year, 12, 28, 0, 0, 0, $this->tz)->weekOfYear === 53;
+    }
+
+    /**
+     * Compares the formatted values of the two dates.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-12-13')); // true
+     * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-06-14')); // false
+     * ```
+     *
+     * @param string                                        $format date formats to compare.
+     * @param \Carbon\Carbon|\DateTimeInterface|string|null $date   instance to compare with or null to use current day.
+     *
+     * @return bool
+     */
+    public function isSameAs($format, $date = null)
+    {
+        return $this->rawFormat($format) === $this->resolveCarbon($date)->rawFormat($format);
+    }
+
+    /**
+     * Determines if the instance is in the current unit given.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-01-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // true
+     * Carbon::parse('2018-12-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // false
+     * ```
+     *
+     * @param string                                 $unit singular unit string
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date instance to compare with or null to use current day.
+     *
+     * @throws BadComparisonUnitException
+     *
+     * @return bool
+     */
+    public function isSameUnit($unit, $date = null)
+    {
+        $units = [
+            // @call isSameUnit
+            'year' => 'Y',
+            // @call isSameUnit
+            'week' => 'o-W',
+            // @call isSameUnit
+            'day' => 'Y-m-d',
+            // @call isSameUnit
+            'hour' => 'Y-m-d H',
+            // @call isSameUnit
+            'minute' => 'Y-m-d H:i',
+            // @call isSameUnit
+            'second' => 'Y-m-d H:i:s',
+            // @call isSameUnit
+            'micro' => 'Y-m-d H:i:s.u',
+            // @call isSameUnit
+            'microsecond' => 'Y-m-d H:i:s.u',
+        ];
+
+        if (!isset($units[$unit])) {
+            if (isset($this->$unit)) {
+                return $this->resolveCarbon($date)->$unit === $this->$unit;
+            }
+
+            if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) {
+                throw new BadComparisonUnitException($unit);
+            }
+
+            return false;
+        }
+
+        return $this->isSameAs($units[$unit], $date);
+    }
+
+    /**
+     * Determines if the instance is in the current unit given.
+     *
+     * @example
+     * ```
+     * Carbon::now()->isCurrentUnit('hour'); // true
+     * Carbon::now()->subHours(2)->isCurrentUnit('hour'); // false
+     * ```
+     *
+     * @param string $unit The unit to test.
+     *
+     * @throws BadMethodCallException
+     *
+     * @return bool
+     */
+    public function isCurrentUnit($unit)
+    {
+        return $this->{'isSame'.ucfirst($unit)}();
+    }
+
+    /**
+     * Checks if the passed in date is in the same quarter as the instance quarter (and year if needed).
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-03-01')); // true
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-04-01')); // false
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01')); // false
+     * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01'), false); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|string|null $date       The instance to compare with or null to use current day.
+     * @param bool                                          $ofSameYear Check if it is the same month in the same year.
+     *
+     * @return bool
+     */
+    public function isSameQuarter($date = null, $ofSameYear = true)
+    {
+        $date = $this->resolveCarbon($date);
+
+        return $this->quarter === $date->quarter && (!$ofSameYear || $this->isSameYear($date));
+    }
+
+    /**
+     * Checks if the passed in date is in the same month as the instance´s month.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-01-01')); // true
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-02-01')); // false
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01')); // false
+     * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01'), false); // true
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date       The instance to compare with or null to use the current date.
+     * @param bool                                   $ofSameYear Check if it is the same month in the same year.
+     *
+     * @return bool
+     */
+    public function isSameMonth($date = null, $ofSameYear = true)
+    {
+        return $this->isSameAs($ofSameYear ? 'Y-m' : 'm', $date);
+    }
+
+    /**
+     * Checks if this day is a specific day of the week.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::WEDNESDAY); // true
+     * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::FRIDAY); // false
+     * Carbon::parse('2019-07-17')->isDayOfWeek('Wednesday'); // true
+     * Carbon::parse('2019-07-17')->isDayOfWeek('Friday'); // false
+     * ```
+     *
+     * @param int $dayOfWeek
+     *
+     * @return bool
+     */
+    public function isDayOfWeek($dayOfWeek)
+    {
+        if (\is_string($dayOfWeek) && \defined($constant = static::class.'::'.strtoupper($dayOfWeek))) {
+            $dayOfWeek = \constant($constant);
+        }
+
+        return $this->dayOfWeek === $dayOfWeek;
+    }
+
+    /**
+     * Check if its the birthday. Compares the date/month values of the two dates.
+     *
+     * @example
+     * ```
+     * Carbon::now()->subYears(5)->isBirthday(); // true
+     * Carbon::now()->subYears(5)->subDay()->isBirthday(); // false
+     * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-05')); // true
+     * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-06')); // false
+     * ```
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use current day.
+     *
+     * @return bool
+     */
+    public function isBirthday($date = null)
+    {
+        return $this->isSameAs('md', $date);
+    }
+
+    /**
+     * Check if today is the last day of the Month
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28')->isLastOfMonth(); // true
+     * Carbon::parse('2019-03-28')->isLastOfMonth(); // false
+     * Carbon::parse('2019-03-30')->isLastOfMonth(); // false
+     * Carbon::parse('2019-03-31')->isLastOfMonth(); // true
+     * Carbon::parse('2019-04-30')->isLastOfMonth(); // true
+     * ```
+     *
+     * @return bool
+     */
+    public function isLastOfMonth()
+    {
+        return $this->day === $this->daysInMonth;
+    }
+
+    /**
+     * Check if the instance is start of day / midnight.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 00:00:00')->isStartOfDay(); // true
+     * Carbon::parse('2019-02-28 00:00:00.999999')->isStartOfDay(); // true
+     * Carbon::parse('2019-02-28 00:00:01')->isStartOfDay(); // false
+     * Carbon::parse('2019-02-28 00:00:00.000000')->isStartOfDay(true); // true
+     * Carbon::parse('2019-02-28 00:00:00.000012')->isStartOfDay(true); // false
+     * ```
+     *
+     * @param bool $checkMicroseconds check time at microseconds precision
+     *
+     * @return bool
+     */
+    public function isStartOfDay($checkMicroseconds = false)
+    {
+        /* @var CarbonInterface $this */
+        return $checkMicroseconds
+            ? $this->rawFormat('H:i:s.u') === '00:00:00.000000'
+            : $this->rawFormat('H:i:s') === '00:00:00';
+    }
+
+    /**
+     * Check if the instance is end of day.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(); // true
+     * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(); // true
+     * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(); // true
+     * Carbon::parse('2019-02-28 23:59:58.999999')->isEndOfDay(); // false
+     * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(true); // true
+     * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(true); // false
+     * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(true); // false
+     * ```
+     *
+     * @param bool $checkMicroseconds check time at microseconds precision
+     *
+     * @return bool
+     */
+    public function isEndOfDay($checkMicroseconds = false)
+    {
+        /* @var CarbonInterface $this */
+        return $checkMicroseconds
+            ? $this->rawFormat('H:i:s.u') === '23:59:59.999999'
+            : $this->rawFormat('H:i:s') === '23:59:59';
+    }
+
+    /**
+     * Check if the instance is start of day / midnight.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 00:00:00')->isMidnight(); // true
+     * Carbon::parse('2019-02-28 00:00:00.999999')->isMidnight(); // true
+     * Carbon::parse('2019-02-28 00:00:01')->isMidnight(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isMidnight()
+    {
+        return $this->isStartOfDay();
+    }
+
+    /**
+     * Check if the instance is midday.
+     *
+     * @example
+     * ```
+     * Carbon::parse('2019-02-28 11:59:59.999999')->isMidday(); // false
+     * Carbon::parse('2019-02-28 12:00:00')->isMidday(); // true
+     * Carbon::parse('2019-02-28 12:00:00.999999')->isMidday(); // true
+     * Carbon::parse('2019-02-28 12:00:01')->isMidday(); // false
+     * ```
+     *
+     * @return bool
+     */
+    public function isMidday()
+    {
+        /* @var CarbonInterface $this */
+        return $this->rawFormat('G:i:s') === static::$midDayAt.':00:00';
+    }
+
+    /**
+     * Checks if the (date)time string is in a given format.
+     *
+     * @example
+     * ```
+     * Carbon::hasFormat('11:12:45', 'h:i:s'); // true
+     * Carbon::hasFormat('13:12:45', 'h:i:s'); // false
+     * ```
+     *
+     * @param string $date
+     * @param string $format
+     *
+     * @return bool
+     */
+    public static function hasFormat($date, $format)
+    {
+        // createFromFormat() is known to handle edge cases silently.
+        // E.g. "1975-5-1" (Y-n-j) will still be parsed correctly when "Y-m-d" is supplied as the format.
+        // To ensure we're really testing against our desired format, perform an additional regex validation.
+
+        return self::matchFormatPattern((string) $date, preg_quote((string) $format, '/'), static::$regexFormats);
+    }
+
+    /**
+     * Checks if the (date)time string is in a given format.
+     *
+     * @example
+     * ```
+     * Carbon::hasFormatWithModifiers('31/08/2015', 'd#m#Y'); // true
+     * Carbon::hasFormatWithModifiers('31/08/2015', 'm#d#Y'); // false
+     * ```
+     *
+     * @param string $date
+     * @param string $format
+     *
+     * @return bool
+     */
+    public static function hasFormatWithModifiers($date, $format): bool
+    {
+        return self::matchFormatPattern((string) $date, (string) $format, array_merge(static::$regexFormats, static::$regexFormatModifiers));
+    }
+
+    /**
+     * Checks if the (date)time string is in a given format and valid to create a
+     * new instance.
+     *
+     * @example
+     * ```
+     * Carbon::canBeCreatedFromFormat('11:12:45', 'h:i:s'); // true
+     * Carbon::canBeCreatedFromFormat('13:12:45', 'h:i:s'); // false
+     * ```
+     *
+     * @param string $date
+     * @param string $format
+     *
+     * @return bool
+     */
+    public static function canBeCreatedFromFormat($date, $format)
+    {
+        try {
+            // Try to create a DateTime object. Throws an InvalidArgumentException if the provided time string
+            // doesn't match the format in any way.
+            if (!static::rawCreateFromFormat($format, $date)) {
+                return false;
+            }
+        } catch (InvalidArgumentException $e) {
+            return false;
+        }
+
+        return static::hasFormatWithModifiers($date, $format);
+    }
+
+    /**
+     * Returns true if the current date matches the given string.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2018')); // false
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('06-02')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06-02')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('June')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:45')); // true
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:00')); // false
+     * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12h')); // true
+     * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3pm')); // true
+     * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3am')); // false
+     * ```
+     *
+     * @param string $tester day name, month name, hour, date, etc. as string
+     *
+     * @return bool
+     */
+    public function is(string $tester)
+    {
+        $tester = trim($tester);
+
+        if (preg_match('/^\d+$/', $tester)) {
+            return $this->year === (int) $tester;
+        }
+
+        if (preg_match('/^\d{3,}-\d{1,2}$/', $tester)) {
+            return $this->isSameMonth(static::parse($tester));
+        }
+
+        if (preg_match('/^\d{1,2}-\d{1,2}$/', $tester)) {
+            return $this->isSameDay(static::parse($this->year.'-'.$tester));
+        }
+
+        $modifier = preg_replace('/(\d)h$/i', '$1:00', $tester);
+
+        /* @var CarbonInterface $max */
+        $median = static::parse('5555-06-15 12:30:30.555555')->modify($modifier);
+        $current = $this->avoidMutation();
+        /* @var CarbonInterface $other */
+        $other = $this->avoidMutation()->modify($modifier);
+
+        if ($current->eq($other)) {
+            return true;
+        }
+
+        if (preg_match('/\d:\d{1,2}:\d{1,2}$/', $tester)) {
+            return $current->startOfSecond()->eq($other);
+        }
+
+        if (preg_match('/\d:\d{1,2}$/', $tester)) {
+            return $current->startOfMinute()->eq($other);
+        }
+
+        if (preg_match('/\d(h|am|pm)$/', $tester)) {
+            return $current->startOfHour()->eq($other);
+        }
+
+        if (preg_match(
+            '/^(january|february|march|april|may|june|july|august|september|october|november|december)\s+\d+$/i',
+            $tester
+        )) {
+            return $current->startOfMonth()->eq($other->startOfMonth());
+        }
+
+        $units = [
+            'month' => [1, 'year'],
+            'day' => [1, 'month'],
+            'hour' => [0, 'day'],
+            'minute' => [0, 'hour'],
+            'second' => [0, 'minute'],
+            'microsecond' => [0, 'second'],
+        ];
+
+        foreach ($units as $unit => [$minimum, $startUnit]) {
+            if ($minimum === $median->$unit) {
+                $current = $current->startOf($startUnit);
+
+                break;
+            }
+        }
+
+        return $current->eq($other);
+    }
+
+    /**
+     * Checks if the (date)time string is in a given format with
+     * given list of pattern replacements.
+     *
+     * @example
+     * ```
+     * Carbon::hasFormat('11:12:45', 'h:i:s'); // true
+     * Carbon::hasFormat('13:12:45', 'h:i:s'); // false
+     * ```
+     *
+     * @param string $date
+     * @param string $format
+     * @param array  $replacements
+     *
+     * @return bool
+     */
+    private static function matchFormatPattern(string $date, string $format, array $replacements): bool
+    {
+        // Preg quote, but remove escaped backslashes since we'll deal with escaped characters in the format string.
+        $regex = str_replace('\\\\', '\\', $format);
+        // Replace not-escaped letters
+        $regex = preg_replace_callback(
+            '/(?<!\\\\)((?:\\\\{2})*)(['.implode('', array_keys($replacements)).'])/',
+            function ($match) use ($replacements) {
+                return $match[1].strtr($match[2], $replacements);
+            },
+            $regex
+        );
+        // Replace escaped letters by the letter itself
+        $regex = preg_replace('/(?<!\\\\)((?:\\\\{2})*)\\\\(\w)/', '$1$2', $regex);
+        // Escape not escaped slashes
+        $regex = preg_replace('#(?<!\\\\)((?:\\\\{2})*)/#', '$1\\/', $regex);
+
+        return (bool) @preg_match('/^'.$regex.'$/', $date);
+    }
+
+    /**
+     * Returns true if the date was created using CarbonImmutable::startOfTime()
+     *
+     * @return bool
+     */
+    public function isStartOfTime(): bool
+    {
+        return $this->startOfTime ?? false;
+    }
+
+    /**
+     * Returns true if the date was created using CarbonImmutable::endOfTime()
+     *
+     * @return bool
+     */
+    public function isEndOfTime(): bool
+    {
+        return $this->endOfTime ?? false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php
new file mode 100644
index 0000000..7ba6225
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php
@@ -0,0 +1,652 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\Carbon;
+use Carbon\CarbonImmutable;
+use Carbon\CarbonInterface;
+use Carbon\CarbonInterval;
+use Carbon\CarbonPeriod;
+use Carbon\Exceptions\UnitException;
+use Closure;
+use DateTime;
+use DateTimeImmutable;
+use ReturnTypeWillChange;
+
+/**
+ * Trait Converter.
+ *
+ * Change date into different string formats and types and
+ * handle the string cast.
+ *
+ * Depends on the following methods:
+ *
+ * @method static copy()
+ */
+trait Converter
+{
+    /**
+     * Format to use for __toString method when type juggling occurs.
+     *
+     * @var string|Closure|null
+     */
+    protected static $toStringFormat;
+
+    /**
+     * Reset the format used to the default when type juggling a Carbon instance to a string
+     *
+     * @return void
+     */
+    public static function resetToStringFormat()
+    {
+        static::setToStringFormat(null);
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and
+     *             use other method or custom format passed to format() method if you need to dump an other string
+     *             format.
+     *
+     * Set the default format used when type juggling a Carbon instance to a string
+     *
+     * @param string|Closure|null $format
+     *
+     * @return void
+     */
+    public static function setToStringFormat($format)
+    {
+        static::$toStringFormat = $format;
+    }
+
+    /**
+     * Returns the formatted date string on success or FALSE on failure.
+     *
+     * @see https://php.net/manual/en/datetime.format.php
+     *
+     * @param string $format
+     *
+     * @return string
+     */
+    #[ReturnTypeWillChange]
+    public function format($format)
+    {
+        $function = $this->localFormatFunction ?: static::$formatFunction;
+
+        if (!$function) {
+            return $this->rawFormat($format);
+        }
+
+        if (\is_string($function) && method_exists($this, $function)) {
+            $function = [$this, $function];
+        }
+
+        return $function(...\func_get_args());
+    }
+
+    /**
+     * @see https://php.net/manual/en/datetime.format.php
+     *
+     * @param string $format
+     *
+     * @return string
+     */
+    public function rawFormat($format)
+    {
+        return parent::format($format);
+    }
+
+    /**
+     * Format the instance as a string using the set format
+     *
+     * @example
+     * ```
+     * echo Carbon::now(); // Carbon instances can be casted to string
+     * ```
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        $format = $this->localToStringFormat ?? static::$toStringFormat;
+
+        return $format instanceof Closure
+            ? $format($this)
+            : $this->rawFormat($format ?: (
+                \defined('static::DEFAULT_TO_STRING_FORMAT')
+                    ? static::DEFAULT_TO_STRING_FORMAT
+                    : CarbonInterface::DEFAULT_TO_STRING_FORMAT
+            ));
+    }
+
+    /**
+     * Format the instance as date
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDateString();
+     * ```
+     *
+     * @return string
+     */
+    public function toDateString()
+    {
+        return $this->rawFormat('Y-m-d');
+    }
+
+    /**
+     * Format the instance as a readable date
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toFormattedDateString();
+     * ```
+     *
+     * @return string
+     */
+    public function toFormattedDateString()
+    {
+        return $this->rawFormat('M j, Y');
+    }
+
+    /**
+     * Format the instance as time
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toTimeString();
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toTimeString($unitPrecision = 'second')
+    {
+        return $this->rawFormat(static::getTimeFormatByPrecision($unitPrecision));
+    }
+
+    /**
+     * Format the instance as date and time
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDateTimeString();
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toDateTimeString($unitPrecision = 'second')
+    {
+        return $this->rawFormat('Y-m-d '.static::getTimeFormatByPrecision($unitPrecision));
+    }
+
+    /**
+     * Return a format from H:i to H:i:s.u according to given unit precision.
+     *
+     * @param string $unitPrecision "minute", "second", "millisecond" or "microsecond"
+     *
+     * @return string
+     */
+    public static function getTimeFormatByPrecision($unitPrecision)
+    {
+        switch (static::singularUnit($unitPrecision)) {
+            case 'minute':
+                return 'H:i';
+            case 'second':
+                return 'H:i:s';
+            case 'm':
+            case 'millisecond':
+                return 'H:i:s.v';
+            case 'µ':
+            case 'microsecond':
+                return 'H:i:s.u';
+        }
+
+        throw new UnitException('Precision unit expected among: minute, second, millisecond and microsecond.');
+    }
+
+    /**
+     * Format the instance as date and time T-separated with no timezone
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDateTimeLocalString();
+     * echo "\n";
+     * echo Carbon::now()->toDateTimeLocalString('minute'); // You can specify precision among: minute, second, millisecond and microsecond
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toDateTimeLocalString($unitPrecision = 'second')
+    {
+        return $this->rawFormat('Y-m-d\T'.static::getTimeFormatByPrecision($unitPrecision));
+    }
+
+    /**
+     * Format the instance with day, date and time
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toDayDateTimeString();
+     * ```
+     *
+     * @return string
+     */
+    public function toDayDateTimeString()
+    {
+        return $this->rawFormat('D, M j, Y g:i A');
+    }
+
+    /**
+     * Format the instance as ATOM
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toAtomString();
+     * ```
+     *
+     * @return string
+     */
+    public function toAtomString()
+    {
+        return $this->rawFormat(DateTime::ATOM);
+    }
+
+    /**
+     * Format the instance as COOKIE
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toCookieString();
+     * ```
+     *
+     * @return string
+     */
+    public function toCookieString()
+    {
+        return $this->rawFormat(DateTime::COOKIE);
+    }
+
+    /**
+     * Format the instance as ISO8601
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toIso8601String();
+     * ```
+     *
+     * @return string
+     */
+    public function toIso8601String()
+    {
+        return $this->toAtomString();
+    }
+
+    /**
+     * Format the instance as RFC822
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc822String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc822String()
+    {
+        return $this->rawFormat(DateTime::RFC822);
+    }
+
+    /**
+     * Convert the instance to UTC and return as Zulu ISO8601
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toIso8601ZuluString();
+     * ```
+     *
+     * @param string $unitPrecision
+     *
+     * @return string
+     */
+    public function toIso8601ZuluString($unitPrecision = 'second')
+    {
+        return $this->avoidMutation()
+            ->utc()
+            ->rawFormat('Y-m-d\T'.static::getTimeFormatByPrecision($unitPrecision).'\Z');
+    }
+
+    /**
+     * Format the instance as RFC850
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc850String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc850String()
+    {
+        return $this->rawFormat(DateTime::RFC850);
+    }
+
+    /**
+     * Format the instance as RFC1036
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc1036String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc1036String()
+    {
+        return $this->rawFormat(DateTime::RFC1036);
+    }
+
+    /**
+     * Format the instance as RFC1123
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc1123String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc1123String()
+    {
+        return $this->rawFormat(DateTime::RFC1123);
+    }
+
+    /**
+     * Format the instance as RFC2822
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc2822String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc2822String()
+    {
+        return $this->rawFormat(DateTime::RFC2822);
+    }
+
+    /**
+     * Format the instance as RFC3339
+     *
+     * @param bool $extended
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc3339String() . "\n";
+     * echo Carbon::now()->toRfc3339String(true) . "\n";
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc3339String($extended = false)
+    {
+        $format = DateTime::RFC3339;
+        if ($extended) {
+            $format = DateTime::RFC3339_EXTENDED;
+        }
+
+        return $this->rawFormat($format);
+    }
+
+    /**
+     * Format the instance as RSS
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRssString();
+     * ```
+     *
+     * @return string
+     */
+    public function toRssString()
+    {
+        return $this->rawFormat(DateTime::RSS);
+    }
+
+    /**
+     * Format the instance as W3C
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toW3cString();
+     * ```
+     *
+     * @return string
+     */
+    public function toW3cString()
+    {
+        return $this->rawFormat(DateTime::W3C);
+    }
+
+    /**
+     * Format the instance as RFC7231
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toRfc7231String();
+     * ```
+     *
+     * @return string
+     */
+    public function toRfc7231String()
+    {
+        return $this->avoidMutation()
+            ->setTimezone('GMT')
+            ->rawFormat(\defined('static::RFC7231_FORMAT') ? static::RFC7231_FORMAT : CarbonInterface::RFC7231_FORMAT);
+    }
+
+    /**
+     * Get default array representation.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toArray());
+     * ```
+     *
+     * @return array
+     */
+    public function toArray()
+    {
+        return [
+            'year' => $this->year,
+            'month' => $this->month,
+            'day' => $this->day,
+            'dayOfWeek' => $this->dayOfWeek,
+            'dayOfYear' => $this->dayOfYear,
+            'hour' => $this->hour,
+            'minute' => $this->minute,
+            'second' => $this->second,
+            'micro' => $this->micro,
+            'timestamp' => $this->timestamp,
+            'formatted' => $this->rawFormat(\defined('static::DEFAULT_TO_STRING_FORMAT') ? static::DEFAULT_TO_STRING_FORMAT : CarbonInterface::DEFAULT_TO_STRING_FORMAT),
+            'timezone' => $this->timezone,
+        ];
+    }
+
+    /**
+     * Get default object representation.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toObject());
+     * ```
+     *
+     * @return object
+     */
+    public function toObject()
+    {
+        return (object) $this->toArray();
+    }
+
+    /**
+     * Returns english human readable complete date string.
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->toString();
+     * ```
+     *
+     * @return string
+     */
+    public function toString()
+    {
+        return $this->avoidMutation()->locale('en')->isoFormat('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+    }
+
+    /**
+     * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z, if $keepOffset truthy, offset will be kept:
+     * 1977-04-22T01:00:00-05:00).
+     *
+     * @example
+     * ```
+     * echo Carbon::now('America/Toronto')->toISOString() . "\n";
+     * echo Carbon::now('America/Toronto')->toISOString(true) . "\n";
+     * ```
+     *
+     * @param bool $keepOffset Pass true to keep the date offset. Else forced to UTC.
+     *
+     * @return null|string
+     */
+    public function toISOString($keepOffset = false)
+    {
+        if (!$this->isValid()) {
+            return null;
+        }
+
+        $yearFormat = $this->year < 0 || $this->year > 9999 ? 'YYYYYY' : 'YYYY';
+        $tzFormat = $keepOffset ? 'Z' : '[Z]';
+        $date = $keepOffset ? $this : $this->avoidMutation()->utc();
+
+        return $date->isoFormat("$yearFormat-MM-DD[T]HH:mm:ss.SSSSSS$tzFormat");
+    }
+
+    /**
+     * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z) with UTC timezone.
+     *
+     * @example
+     * ```
+     * echo Carbon::now('America/Toronto')->toJSON();
+     * ```
+     *
+     * @return null|string
+     */
+    public function toJSON()
+    {
+        return $this->toISOString();
+    }
+
+    /**
+     * Return native DateTime PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toDateTime());
+     * ```
+     *
+     * @return DateTime
+     */
+    public function toDateTime()
+    {
+        return new DateTime($this->rawFormat('Y-m-d H:i:s.u'), $this->getTimezone());
+    }
+
+    /**
+     * Return native toDateTimeImmutable PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toDateTimeImmutable());
+     * ```
+     *
+     * @return DateTimeImmutable
+     */
+    public function toDateTimeImmutable()
+    {
+        return new DateTimeImmutable($this->rawFormat('Y-m-d H:i:s.u'), $this->getTimezone());
+    }
+
+    /**
+     * @alias toDateTime
+     *
+     * Return native DateTime PHP object matching the current instance.
+     *
+     * @example
+     * ```
+     * var_dump(Carbon::now()->toDate());
+     * ```
+     *
+     * @return DateTime
+     */
+    public function toDate()
+    {
+        return $this->toDateTime();
+    }
+
+    /**
+     * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
+     *
+     * @param \DateTimeInterface|Carbon|CarbonImmutable|int|null $end      period end date or recurrences count if int
+     * @param int|\DateInterval|string|null                      $interval period default interval or number of the given $unit
+     * @param string|null                                        $unit     if specified, $interval must be an integer
+     *
+     * @return CarbonPeriod
+     */
+    public function toPeriod($end = null, $interval = null, $unit = null)
+    {
+        if ($unit) {
+            $interval = CarbonInterval::make("$interval ".static::pluralUnit($unit));
+        }
+
+        $period = (new CarbonPeriod())->setDateClass(static::class)->setStartDate($this);
+
+        if ($interval) {
+            $period->setDateInterval($interval);
+        }
+
+        if (\is_int($end) || \is_string($end) && ctype_digit($end)) {
+            $period->setRecurrences($end);
+        } elseif ($end) {
+            $period->setEndDate($end);
+        }
+
+        return $period;
+    }
+
+    /**
+     * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval).
+     *
+     * @param \DateTimeInterface|Carbon|CarbonImmutable|null $end      period end date
+     * @param int|\DateInterval|string|null                  $interval period default interval or number of the given $unit
+     * @param string|null                                    $unit     if specified, $interval must be an integer
+     *
+     * @return CarbonPeriod
+     */
+    public function range($end = null, $interval = null, $unit = null)
+    {
+        return $this->toPeriod($end, $interval, $unit);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php
new file mode 100644
index 0000000..fa7cfc7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php
@@ -0,0 +1,940 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\Carbon;
+use Carbon\CarbonImmutable;
+use Carbon\CarbonInterface;
+use Carbon\Exceptions\InvalidDateException;
+use Carbon\Exceptions\InvalidFormatException;
+use Carbon\Exceptions\OutOfRangeException;
+use Carbon\Translator;
+use Closure;
+use DateTimeInterface;
+use DateTimeZone;
+use Exception;
+use ReturnTypeWillChange;
+
+/**
+ * Trait Creator.
+ *
+ * Static creators.
+ *
+ * Depends on the following methods:
+ *
+ * @method static Carbon|CarbonImmutable getTestNow()
+ */
+trait Creator
+{
+    use ObjectInitialisation;
+
+    /**
+     * The errors that can occur.
+     *
+     * @var array
+     */
+    protected static $lastErrors;
+
+    /**
+     * Create a new Carbon instance.
+     *
+     * Please see the testing aids section (specifically static::setTestNow())
+     * for more on the possibility of this constructor returning a test instance.
+     *
+     * @param DateTimeInterface|string|null $time
+     * @param DateTimeZone|string|null      $tz
+     *
+     * @throws InvalidFormatException
+     */
+    public function __construct($time = null, $tz = null)
+    {
+        if ($time instanceof DateTimeInterface) {
+            $time = $this->constructTimezoneFromDateTime($time, $tz)->format('Y-m-d H:i:s.u');
+        }
+
+        if (is_numeric($time) && (!\is_string($time) || !preg_match('/^\d{1,14}$/', $time))) {
+            $time = static::createFromTimestampUTC($time)->format('Y-m-d\TH:i:s.uP');
+        }
+
+        // If the class has a test now set and we are trying to create a now()
+        // instance then override as required
+        $isNow = empty($time) || $time === 'now';
+
+        if (method_exists(static::class, 'hasTestNow') &&
+            method_exists(static::class, 'getTestNow') &&
+            static::hasTestNow() &&
+            ($isNow || static::hasRelativeKeywords($time))
+        ) {
+            static::mockConstructorParameters($time, $tz);
+        }
+
+        // Work-around for PHP bug https://bugs.php.net/bug.php?id=67127
+        if (!str_contains((string) .1, '.')) {
+            $locale = setlocale(LC_NUMERIC, '0');
+            setlocale(LC_NUMERIC, 'C');
+        }
+
+        try {
+            parent::__construct($time ?: 'now', static::safeCreateDateTimeZone($tz) ?: null);
+        } catch (Exception $exception) {
+            throw new InvalidFormatException($exception->getMessage(), 0, $exception);
+        }
+
+        $this->constructedObjectId = spl_object_hash($this);
+
+        if (isset($locale)) {
+            setlocale(LC_NUMERIC, $locale);
+        }
+
+        static::setLastErrors(parent::getLastErrors());
+    }
+
+    /**
+     * Get timezone from a datetime instance.
+     *
+     * @param DateTimeInterface        $date
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return DateTimeInterface
+     */
+    private function constructTimezoneFromDateTime(DateTimeInterface $date, &$tz)
+    {
+        if ($tz !== null) {
+            $safeTz = static::safeCreateDateTimeZone($tz);
+
+            if ($safeTz) {
+                return $date->setTimezone($safeTz);
+            }
+
+            return $date;
+        }
+
+        $tz = $date->getTimezone();
+
+        return $date;
+    }
+
+    /**
+     * Update constructedObjectId on cloned.
+     */
+    public function __clone()
+    {
+        $this->constructedObjectId = spl_object_hash($this);
+    }
+
+    /**
+     * Create a Carbon instance from a DateTime one.
+     *
+     * @param DateTimeInterface $date
+     *
+     * @return static
+     */
+    public static function instance($date)
+    {
+        if ($date instanceof static) {
+            return clone $date;
+        }
+
+        static::expectDateTime($date);
+
+        $instance = new static($date->format('Y-m-d H:i:s.u'), $date->getTimezone());
+
+        if ($date instanceof CarbonInterface || $date instanceof Options) {
+            $settings = $date->getSettings();
+
+            if (!$date->hasLocalTranslator()) {
+                unset($settings['locale']);
+            }
+
+            $instance->settings($settings);
+        }
+
+        return $instance;
+    }
+
+    /**
+     * Create a carbon instance from a string.
+     *
+     * This is an alias for the constructor that allows better fluent syntax
+     * as it allows you to do Carbon::parse('Monday next week')->fn() rather
+     * than (new Carbon('Monday next week'))->fn().
+     *
+     * @param string|DateTimeInterface|null $time
+     * @param DateTimeZone|string|null      $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function rawParse($time = null, $tz = null)
+    {
+        if ($time instanceof DateTimeInterface) {
+            return static::instance($time);
+        }
+
+        try {
+            return new static($time, $tz);
+        } catch (Exception $exception) {
+            $date = @static::now($tz)->change($time);
+
+            if (!$date) {
+                throw new InvalidFormatException("Could not parse '$time': ".$exception->getMessage(), 0, $exception);
+            }
+
+            return $date;
+        }
+    }
+
+    /**
+     * Create a carbon instance from a string.
+     *
+     * This is an alias for the constructor that allows better fluent syntax
+     * as it allows you to do Carbon::parse('Monday next week')->fn() rather
+     * than (new Carbon('Monday next week'))->fn().
+     *
+     * @param string|DateTimeInterface|null $time
+     * @param DateTimeZone|string|null      $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function parse($time = null, $tz = null)
+    {
+        $function = static::$parseFunction;
+
+        if (!$function) {
+            return static::rawParse($time, $tz);
+        }
+
+        if (\is_string($function) && method_exists(static::class, $function)) {
+            $function = [static::class, $function];
+        }
+
+        return $function(...\func_get_args());
+    }
+
+    /**
+     * Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.).
+     *
+     * @param string                   $time   date/time string in the given language (may also contain English).
+     * @param string|null              $locale if locale is null or not specified, current global locale will be
+     *                                         used instead.
+     * @param DateTimeZone|string|null $tz     optional timezone for the new instance.
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function parseFromLocale($time, $locale = null, $tz = null)
+    {
+        return static::rawParse(static::translateTimeString($time, $locale, 'en'), $tz);
+    }
+
+    /**
+     * Get a Carbon instance for the current date and time.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function now($tz = null)
+    {
+        return new static(null, $tz);
+    }
+
+    /**
+     * Create a Carbon instance for today.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function today($tz = null)
+    {
+        return static::rawParse('today', $tz);
+    }
+
+    /**
+     * Create a Carbon instance for tomorrow.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function tomorrow($tz = null)
+    {
+        return static::rawParse('tomorrow', $tz);
+    }
+
+    /**
+     * Create a Carbon instance for yesterday.
+     *
+     * @param DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function yesterday($tz = null)
+    {
+        return static::rawParse('yesterday', $tz);
+    }
+
+    /**
+     * Create a Carbon instance for the greatest supported date.
+     *
+     * @return static
+     */
+    public static function maxValue()
+    {
+        if (self::$PHPIntSize === 4) {
+            // 32 bit
+            return static::createFromTimestamp(PHP_INT_MAX); // @codeCoverageIgnore
+        }
+
+        // 64 bit
+        return static::create(9999, 12, 31, 23, 59, 59);
+    }
+
+    /**
+     * Create a Carbon instance for the lowest supported date.
+     *
+     * @return static
+     */
+    public static function minValue()
+    {
+        if (self::$PHPIntSize === 4) {
+            // 32 bit
+            return static::createFromTimestamp(~PHP_INT_MAX); // @codeCoverageIgnore
+        }
+
+        // 64 bit
+        return static::create(1, 1, 1, 0, 0, 0);
+    }
+
+    private static function assertBetween($unit, $value, $min, $max)
+    {
+        if (static::isStrictModeEnabled() && ($value < $min || $value > $max)) {
+            throw new OutOfRangeException($unit, $min, $max, $value);
+        }
+    }
+
+    private static function createNowInstance($tz)
+    {
+        if (!static::hasTestNow()) {
+            return static::now($tz);
+        }
+
+        $now = static::getTestNow();
+
+        if ($now instanceof Closure) {
+            return $now(static::now($tz));
+        }
+
+        return $now;
+    }
+
+    /**
+     * Create a new Carbon instance from a specific date and time.
+     *
+     * If any of $year, $month or $day are set to null their now() values will
+     * be used.
+     *
+     * If $hour is null it will be set to its now() value and the default
+     * values for $minute and $second will be their now() values.
+     *
+     * If $hour is not null then the default values for $minute and $second
+     * will be 0.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null)
+    {
+        if (\is_string($year) && !is_numeric($year)) {
+            return static::parse($year, $tz ?: (\is_string($month) || $month instanceof DateTimeZone ? $month : null));
+        }
+
+        $defaults = null;
+        $getDefault = function ($unit) use ($tz, &$defaults) {
+            if ($defaults === null) {
+                $now = self::createNowInstance($tz);
+
+                $defaults = array_combine([
+                    'year',
+                    'month',
+                    'day',
+                    'hour',
+                    'minute',
+                    'second',
+                ], explode('-', $now->rawFormat('Y-n-j-G-i-s.u')));
+            }
+
+            return $defaults[$unit];
+        };
+
+        $year = $year === null ? $getDefault('year') : $year;
+        $month = $month === null ? $getDefault('month') : $month;
+        $day = $day === null ? $getDefault('day') : $day;
+        $hour = $hour === null ? $getDefault('hour') : $hour;
+        $minute = $minute === null ? $getDefault('minute') : $minute;
+        $second = (float) ($second === null ? $getDefault('second') : $second);
+
+        self::assertBetween('month', $month, 0, 99);
+        self::assertBetween('day', $day, 0, 99);
+        self::assertBetween('hour', $hour, 0, 99);
+        self::assertBetween('minute', $minute, 0, 99);
+        self::assertBetween('second', $second, 0, 99);
+
+        $fixYear = null;
+
+        if ($year < 0) {
+            $fixYear = $year;
+            $year = 0;
+        } elseif ($year > 9999) {
+            $fixYear = $year - 9999;
+            $year = 9999;
+        }
+
+        $second = ($second < 10 ? '0' : '').number_format($second, 6);
+        $instance = static::rawCreateFromFormat('!Y-n-j G:i:s.u', sprintf('%s-%s-%s %s:%02s:%02s', $year, $month, $day, $hour, $minute, $second), $tz);
+
+        if ($fixYear !== null) {
+            $instance = $instance->addYears($fixYear);
+        }
+
+        return $instance;
+    }
+
+    /**
+     * Create a new safe Carbon instance from a specific date and time.
+     *
+     * If any of $year, $month or $day are set to null their now() values will
+     * be used.
+     *
+     * If $hour is null it will be set to its now() value and the default
+     * values for $minute and $second will be their now() values.
+     *
+     * If $hour is not null then the default values for $minute and $second
+     * will be 0.
+     *
+     * If one of the set values is not valid, an InvalidDateException
+     * will be thrown.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidDateException
+     *
+     * @return static|false
+     */
+    public static function createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null)
+    {
+        $fields = static::getRangesByUnit();
+
+        foreach ($fields as $field => $range) {
+            if ($$field !== null && (!\is_int($$field) || $$field < $range[0] || $$field > $range[1])) {
+                if (static::isStrictModeEnabled()) {
+                    throw new InvalidDateException($field, $$field);
+                }
+
+                return false;
+            }
+        }
+
+        $instance = static::create($year, $month, $day, $hour, $minute, $second, $tz);
+
+        foreach (array_reverse($fields) as $field => $range) {
+            if ($$field !== null && (!\is_int($$field) || $$field !== $instance->$field)) {
+                if (static::isStrictModeEnabled()) {
+                    throw new InvalidDateException($field, $$field);
+                }
+
+                return false;
+            }
+        }
+
+        return $instance;
+    }
+
+    /**
+     * Create a new Carbon instance from a specific date and time using strict validation.
+     *
+     * @see create()
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createStrict(?int $year = 0, ?int $month = 1, ?int $day = 1, ?int $hour = 0, ?int $minute = 0, ?int $second = 0, $tz = null): self
+    {
+        $initialStrictMode = static::isStrictModeEnabled();
+        static::useStrictMode(true);
+
+        try {
+            $date = static::create($year, $month, $day, $hour, $minute, $second, $tz);
+        } finally {
+            static::useStrictMode($initialStrictMode);
+        }
+
+        return $date;
+    }
+
+    /**
+     * Create a Carbon instance from just a date. The time portion is set to now.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createFromDate($year = null, $month = null, $day = null, $tz = null)
+    {
+        return static::create($year, $month, $day, null, null, null, $tz);
+    }
+
+    /**
+     * Create a Carbon instance from just a date. The time portion is set to midnight.
+     *
+     * @param int|null                 $year
+     * @param int|null                 $month
+     * @param int|null                 $day
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createMidnightDate($year = null, $month = null, $day = null, $tz = null)
+    {
+        return static::create($year, $month, $day, 0, 0, 0, $tz);
+    }
+
+    /**
+     * Create a Carbon instance from just a time. The date portion is set to today.
+     *
+     * @param int|null                 $hour
+     * @param int|null                 $minute
+     * @param int|null                 $second
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null)
+    {
+        return static::create(null, null, null, $hour, $minute, $second, $tz);
+    }
+
+    /**
+     * Create a Carbon instance from a time string. The date portion is set to today.
+     *
+     * @param string                   $time
+     * @param DateTimeZone|string|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function createFromTimeString($time, $tz = null)
+    {
+        return static::today($tz)->setTimeFromTimeString($time);
+    }
+
+    /**
+     * @param string                         $format     Datetime format
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $originalTz
+     *
+     * @return DateTimeInterface|false
+     */
+    private static function createFromFormatAndTimezone($format, $time, $originalTz)
+    {
+        // Work-around for https://bugs.php.net/bug.php?id=75577
+        // @codeCoverageIgnoreStart
+        if (version_compare(PHP_VERSION, '7.3.0-dev', '<')) {
+            $format = str_replace('.v', '.u', $format);
+        }
+        // @codeCoverageIgnoreEnd
+
+        if ($originalTz === null) {
+            return parent::createFromFormat($format, (string) $time);
+        }
+
+        $tz = \is_int($originalTz)
+            ? @timezone_name_from_abbr('', (int) ($originalTz * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE), 1)
+            : $originalTz;
+
+        $tz = static::safeCreateDateTimeZone($tz, $originalTz);
+
+        if ($tz === false) {
+            return false;
+        }
+
+        return parent::createFromFormat($format, (string) $time, $tz);
+    }
+
+    /**
+     * Create a Carbon instance from a specific format.
+     *
+     * @param string                         $format Datetime format
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function rawCreateFromFormat($format, $time, $tz = null)
+    {
+        // Work-around for https://bugs.php.net/bug.php?id=80141
+        $format = preg_replace('/(?<!\\\\)((?:\\\\{2})*)c/', '$1Y-m-d\TH:i:sP', $format);
+
+        if (preg_match('/(?<!\\\\)(?:\\\\{2})*(a|A)/', $format, $aMatches, PREG_OFFSET_CAPTURE) &&
+            preg_match('/(?<!\\\\)(?:\\\\{2})*(h|g|H|G)/', $format, $hMatches, PREG_OFFSET_CAPTURE) &&
+            $aMatches[1][1] < $hMatches[1][1] &&
+            preg_match('/(am|pm|AM|PM)/', $time)
+        ) {
+            $format = preg_replace('/^(.*)(?<!\\\\)((?:\\\\{2})*)(a|A)(.*)$/U', '$1$2$4 $3', $format);
+            $time = preg_replace('/^(.*)(am|pm|AM|PM)(.*)$/U', '$1$3 $2', $time);
+        }
+
+        // First attempt to create an instance, so that error messages are based on the unmodified format.
+        $date = self::createFromFormatAndTimezone($format, $time, $tz);
+        $lastErrors = parent::getLastErrors();
+        /** @var \Carbon\CarbonImmutable|\Carbon\Carbon|null $mock */
+        $mock = static::getMockedTestNow($tz);
+
+        if ($mock && $date instanceof DateTimeInterface) {
+            // Set timezone from mock if custom timezone was neither given directly nor as a part of format.
+            // First let's skip the part that will be ignored by the parser.
+            $nonEscaped = '(?<!\\\\)(\\\\{2})*';
+
+            $nonIgnored = preg_replace("/^.*{$nonEscaped}!/s", '', $format);
+
+            if ($tz === null && !preg_match("/{$nonEscaped}[eOPT]/", $nonIgnored)) {
+                $tz = clone $mock->getTimezone();
+            }
+
+            // Set microseconds to zero to match behavior of DateTime::createFromFormat()
+            // See https://bugs.php.net/bug.php?id=74332
+            $mock = $mock->copy()->microsecond(0);
+
+            // Prepend mock datetime only if the format does not contain non escaped unix epoch reset flag.
+            if (!preg_match("/{$nonEscaped}[!|]/", $format)) {
+                $format = static::MOCK_DATETIME_FORMAT.' '.$format;
+                $time = ($mock instanceof self ? $mock->rawFormat(static::MOCK_DATETIME_FORMAT) : $mock->format(static::MOCK_DATETIME_FORMAT)).' '.$time;
+            }
+
+            // Regenerate date from the modified format to base result on the mocked instance instead of now.
+            $date = self::createFromFormatAndTimezone($format, $time, $tz);
+        }
+
+        if ($date instanceof DateTimeInterface) {
+            $instance = static::instance($date);
+            $instance::setLastErrors($lastErrors);
+
+            return $instance;
+        }
+
+        if (static::isStrictModeEnabled()) {
+            throw new InvalidFormatException(implode(PHP_EOL, $lastErrors['errors']));
+        }
+
+        return false;
+    }
+
+    /**
+     * Create a Carbon instance from a specific format.
+     *
+     * @param string                         $format Datetime format
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    #[ReturnTypeWillChange]
+    public static function createFromFormat($format, $time, $tz = null)
+    {
+        $function = static::$createFromFormatFunction;
+
+        if (!$function) {
+            return static::rawCreateFromFormat($format, $time, $tz);
+        }
+
+        if (\is_string($function) && method_exists(static::class, $function)) {
+            $function = [static::class, $function];
+        }
+
+        return $function(...\func_get_args());
+    }
+
+    /**
+     * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
+     *
+     * @param string                                             $format     Datetime format
+     * @param string                                             $time
+     * @param DateTimeZone|string|false|null                     $tz         optional timezone
+     * @param string|null                                        $locale     locale to be used for LTS, LT, LL, LLL, etc. macro-formats (en by fault, unneeded if no such macro-format in use)
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator optional custom translator to use for macro-formats
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null)
+    {
+        $format = preg_replace_callback('/(?<!\\\\)(\\\\{2})*(LTS|LT|[Ll]{1,4})/', function ($match) use ($locale, $translator) {
+            [$code] = $match;
+
+            static $formats = null;
+
+            if ($formats === null) {
+                $translator = $translator ?: Translator::get($locale);
+
+                $formats = [
+                    'LT' => static::getTranslationMessageWith($translator, 'formats.LT', $locale, 'h:mm A'),
+                    'LTS' => static::getTranslationMessageWith($translator, 'formats.LTS', $locale, 'h:mm:ss A'),
+                    'L' => static::getTranslationMessageWith($translator, 'formats.L', $locale, 'MM/DD/YYYY'),
+                    'LL' => static::getTranslationMessageWith($translator, 'formats.LL', $locale, 'MMMM D, YYYY'),
+                    'LLL' => static::getTranslationMessageWith($translator, 'formats.LLL', $locale, 'MMMM D, YYYY h:mm A'),
+                    'LLLL' => static::getTranslationMessageWith($translator, 'formats.LLLL', $locale, 'dddd, MMMM D, YYYY h:mm A'),
+                ];
+            }
+
+            return $formats[$code] ?? preg_replace_callback(
+                '/MMMM|MM|DD|dddd/',
+                function ($code) {
+                    return mb_substr($code[0], 1);
+                },
+                $formats[strtoupper($code)] ?? ''
+            );
+        }, $format);
+
+        $format = preg_replace_callback('/(?<!\\\\)(\\\\{2})*('.CarbonInterface::ISO_FORMAT_REGEXP.'|[A-Za-z])/', function ($match) {
+            [$code] = $match;
+
+            static $replacements = null;
+
+            if ($replacements === null) {
+                $replacements = [
+                    'OD' => 'd',
+                    'OM' => 'M',
+                    'OY' => 'Y',
+                    'OH' => 'G',
+                    'Oh' => 'g',
+                    'Om' => 'i',
+                    'Os' => 's',
+                    'D' => 'd',
+                    'DD' => 'd',
+                    'Do' => 'd',
+                    'd' => '!',
+                    'dd' => '!',
+                    'ddd' => 'D',
+                    'dddd' => 'D',
+                    'DDD' => 'z',
+                    'DDDD' => 'z',
+                    'DDDo' => 'z',
+                    'e' => '!',
+                    'E' => '!',
+                    'H' => 'G',
+                    'HH' => 'H',
+                    'h' => 'g',
+                    'hh' => 'h',
+                    'k' => 'G',
+                    'kk' => 'G',
+                    'hmm' => 'gi',
+                    'hmmss' => 'gis',
+                    'Hmm' => 'Gi',
+                    'Hmmss' => 'Gis',
+                    'm' => 'i',
+                    'mm' => 'i',
+                    'a' => 'a',
+                    'A' => 'a',
+                    's' => 's',
+                    'ss' => 's',
+                    'S' => '*',
+                    'SS' => '*',
+                    'SSS' => '*',
+                    'SSSS' => '*',
+                    'SSSSS' => '*',
+                    'SSSSSS' => 'u',
+                    'SSSSSSS' => 'u*',
+                    'SSSSSSSS' => 'u*',
+                    'SSSSSSSSS' => 'u*',
+                    'M' => 'm',
+                    'MM' => 'm',
+                    'MMM' => 'M',
+                    'MMMM' => 'M',
+                    'Mo' => 'm',
+                    'Q' => '!',
+                    'Qo' => '!',
+                    'G' => '!',
+                    'GG' => '!',
+                    'GGG' => '!',
+                    'GGGG' => '!',
+                    'GGGGG' => '!',
+                    'g' => '!',
+                    'gg' => '!',
+                    'ggg' => '!',
+                    'gggg' => '!',
+                    'ggggg' => '!',
+                    'W' => '!',
+                    'WW' => '!',
+                    'Wo' => '!',
+                    'w' => '!',
+                    'ww' => '!',
+                    'wo' => '!',
+                    'x' => 'U???',
+                    'X' => 'U',
+                    'Y' => 'Y',
+                    'YY' => 'y',
+                    'YYYY' => 'Y',
+                    'YYYYY' => 'Y',
+                    'YYYYYY' => 'Y',
+                    'z' => 'e',
+                    'zz' => 'e',
+                    'Z' => 'e',
+                    'ZZ' => 'e',
+                ];
+            }
+
+            $format = $replacements[$code] ?? '?';
+
+            if ($format === '!') {
+                throw new InvalidFormatException("Format $code not supported for creation.");
+            }
+
+            return $format;
+        }, $format);
+
+        return static::rawCreateFromFormat($format, $time, $tz);
+    }
+
+    /**
+     * Create a Carbon instance from a specific format and a string in a given language.
+     *
+     * @param string                         $format Datetime format
+     * @param string                         $locale
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function createFromLocaleFormat($format, $locale, $time, $tz = null)
+    {
+        return static::rawCreateFromFormat($format, static::translateTimeString($time, $locale, 'en'), $tz);
+    }
+
+    /**
+     * Create a Carbon instance from a specific ISO format and a string in a given language.
+     *
+     * @param string                         $format Datetime ISO format
+     * @param string                         $locale
+     * @param string                         $time
+     * @param DateTimeZone|string|false|null $tz
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|false
+     */
+    public static function createFromLocaleIsoFormat($format, $locale, $time, $tz = null)
+    {
+        $time = static::translateTimeString($time, $locale, 'en', CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS | CarbonInterface::TRANSLATE_MERIDIEM);
+
+        return static::createFromIsoFormat($format, $time, $tz, $locale);
+    }
+
+    /**
+     * Make a Carbon instance from given variable if possible.
+     *
+     * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals
+     * and recurrences). Throw an exception for invalid format, but otherwise return null.
+     *
+     * @param mixed $var
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static|null
+     */
+    public static function make($var)
+    {
+        if ($var instanceof DateTimeInterface) {
+            return static::instance($var);
+        }
+
+        $date = null;
+
+        if (\is_string($var)) {
+            $var = trim($var);
+
+            if (!preg_match('/^P[0-9T]/', $var) &&
+                !preg_match('/^R[0-9]/', $var) &&
+                preg_match('/[a-z0-9]/i', $var)
+            ) {
+                $date = static::parse($var);
+            }
+        }
+
+        return $date;
+    }
+
+    /**
+     * Set last errors.
+     *
+     * @param array $lastErrors
+     *
+     * @return void
+     */
+    private static function setLastErrors(array $lastErrors)
+    {
+        static::$lastErrors = $lastErrors;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    #[ReturnTypeWillChange]
+    public static function getLastErrors()
+    {
+        return static::$lastErrors;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Date.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Date.php
new file mode 100644
index 0000000..07ac0dd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Date.php
@@ -0,0 +1,2662 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use BadMethodCallException;
+use Carbon\Carbon;
+use Carbon\CarbonInterface;
+use Carbon\CarbonPeriod;
+use Carbon\CarbonTimeZone;
+use Carbon\Exceptions\BadComparisonUnitException;
+use Carbon\Exceptions\ImmutableException;
+use Carbon\Exceptions\InvalidTimeZoneException;
+use Carbon\Exceptions\InvalidTypeException;
+use Carbon\Exceptions\UnknownGetterException;
+use Carbon\Exceptions\UnknownMethodException;
+use Carbon\Exceptions\UnknownSetterException;
+use Carbon\Exceptions\UnknownUnitException;
+use Closure;
+use DateInterval;
+use DatePeriod;
+use DateTime;
+use DateTimeImmutable;
+use DateTimeInterface;
+use DateTimeZone;
+use InvalidArgumentException;
+use ReflectionException;
+use ReturnTypeWillChange;
+use Throwable;
+
+/**
+ * A simple API extension for DateTime.
+ *
+ * <autodoc generated by `composer phpdoc`>
+ *
+ * @property      int              $year
+ * @property      int              $yearIso
+ * @property      int              $month
+ * @property      int              $day
+ * @property      int              $hour
+ * @property      int              $minute
+ * @property      int              $second
+ * @property      int              $micro
+ * @property      int              $microsecond
+ * @property      int|float|string $timestamp                                                                         seconds since the Unix Epoch
+ * @property      string           $englishDayOfWeek                                                                  the day of week in English
+ * @property      string           $shortEnglishDayOfWeek                                                             the abbreviated day of week in English
+ * @property      string           $englishMonth                                                                      the month in English
+ * @property      string           $shortEnglishMonth                                                                 the abbreviated month in English
+ * @property      string           $localeDayOfWeek                                                                   the day of week in current locale LC_TIME
+ * @property      string           $shortLocaleDayOfWeek                                                              the abbreviated day of week in current locale LC_TIME
+ * @property      string           $localeMonth                                                                       the month in current locale LC_TIME
+ * @property      string           $shortLocaleMonth                                                                  the abbreviated month in current locale LC_TIME
+ * @property      int              $milliseconds
+ * @property      int              $millisecond
+ * @property      int              $milli
+ * @property      int              $week                                                                              1 through 53
+ * @property      int              $isoWeek                                                                           1 through 53
+ * @property      int              $weekYear                                                                          year according to week format
+ * @property      int              $isoWeekYear                                                                       year according to ISO week format
+ * @property      int              $dayOfYear                                                                         1 through 366
+ * @property      int              $age                                                                               does a diffInYears() with default parameters
+ * @property      int              $offset                                                                            the timezone offset in seconds from UTC
+ * @property      int              $offsetMinutes                                                                     the timezone offset in minutes from UTC
+ * @property      int              $offsetHours                                                                       the timezone offset in hours from UTC
+ * @property      CarbonTimeZone   $timezone                                                                          the current timezone
+ * @property      CarbonTimeZone   $tz                                                                                alias of $timezone
+ * @property-read int              $dayOfWeek                                                                         0 (for Sunday) through 6 (for Saturday)
+ * @property-read int              $dayOfWeekIso                                                                      1 (for Monday) through 7 (for Sunday)
+ * @property-read int              $weekOfYear                                                                        ISO-8601 week number of year, weeks starting on Monday
+ * @property-read int              $daysInMonth                                                                       number of days in the given month
+ * @property-read string           $latinMeridiem                                                                     "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark)
+ * @property-read string           $latinUpperMeridiem                                                                "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark)
+ * @property-read string           $timezoneAbbreviatedName                                                           the current timezone abbreviated name
+ * @property-read string           $tzAbbrName                                                                        alias of $timezoneAbbreviatedName
+ * @property-read string           $dayName                                                                           long name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $shortDayName                                                                      short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $minDayName                                                                        very short name of weekday translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $monthName                                                                         long name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $shortMonthName                                                                    short name of month translated according to Carbon locale, in english if no translation available for current language
+ * @property-read string           $meridiem                                                                          lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read string           $upperMeridiem                                                                     uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+ * @property-read int              $noZeroHour                                                                        current hour from 1 to 24
+ * @property-read int              $weeksInYear                                                                       51 through 53
+ * @property-read int              $isoWeeksInYear                                                                    51 through 53
+ * @property-read int              $weekOfMonth                                                                       1 through 5
+ * @property-read int              $weekNumberInMonth                                                                 1 through 5
+ * @property-read int              $firstWeekDay                                                                      0 through 6
+ * @property-read int              $lastWeekDay                                                                       0 through 6
+ * @property-read int              $daysInYear                                                                        365 or 366
+ * @property-read int              $quarter                                                                           the quarter of this instance, 1 - 4
+ * @property-read int              $decade                                                                            the decade of this instance
+ * @property-read int              $century                                                                           the century of this instance
+ * @property-read int              $millennium                                                                        the millennium of this instance
+ * @property-read bool             $dst                                                                               daylight savings time indicator, true if DST, false otherwise
+ * @property-read bool             $local                                                                             checks if the timezone is local, true if local, false otherwise
+ * @property-read bool             $utc                                                                               checks if the timezone is UTC, true if UTC, false otherwise
+ * @property-read string           $timezoneName                                                                      the current timezone name
+ * @property-read string           $tzName                                                                            alias of $timezoneName
+ * @property-read string           $locale                                                                            locale of the current instance
+ *
+ * @method        bool             isUtc()                                                                            Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.)
+ * @method        bool             isLocal()                                                                          Check if the current instance has non-UTC timezone.
+ * @method        bool             isValid()                                                                          Check if the current instance is a valid date.
+ * @method        bool             isDST()                                                                            Check if the current instance is in a daylight saving time.
+ * @method        bool             isSunday()                                                                         Checks if the instance day is sunday.
+ * @method        bool             isMonday()                                                                         Checks if the instance day is monday.
+ * @method        bool             isTuesday()                                                                        Checks if the instance day is tuesday.
+ * @method        bool             isWednesday()                                                                      Checks if the instance day is wednesday.
+ * @method        bool             isThursday()                                                                       Checks if the instance day is thursday.
+ * @method        bool             isFriday()                                                                         Checks if the instance day is friday.
+ * @method        bool             isSaturday()                                                                       Checks if the instance day is saturday.
+ * @method        bool             isSameYear(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentYear()                                                                    Checks if the instance is in the same year as the current moment.
+ * @method        bool             isNextYear()                                                                       Checks if the instance is in the same year as the current moment next year.
+ * @method        bool             isLastYear()                                                                       Checks if the instance is in the same year as the current moment last year.
+ * @method        bool             isSameWeek(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentWeek()                                                                    Checks if the instance is in the same week as the current moment.
+ * @method        bool             isNextWeek()                                                                       Checks if the instance is in the same week as the current moment next week.
+ * @method        bool             isLastWeek()                                                                       Checks if the instance is in the same week as the current moment last week.
+ * @method        bool             isSameDay(Carbon|DateTimeInterface|string|null $date = null)                       Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentDay()                                                                     Checks if the instance is in the same day as the current moment.
+ * @method        bool             isNextDay()                                                                        Checks if the instance is in the same day as the current moment next day.
+ * @method        bool             isLastDay()                                                                        Checks if the instance is in the same day as the current moment last day.
+ * @method        bool             isSameHour(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentHour()                                                                    Checks if the instance is in the same hour as the current moment.
+ * @method        bool             isNextHour()                                                                       Checks if the instance is in the same hour as the current moment next hour.
+ * @method        bool             isLastHour()                                                                       Checks if the instance is in the same hour as the current moment last hour.
+ * @method        bool             isSameMinute(Carbon|DateTimeInterface|string|null $date = null)                    Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMinute()                                                                  Checks if the instance is in the same minute as the current moment.
+ * @method        bool             isNextMinute()                                                                     Checks if the instance is in the same minute as the current moment next minute.
+ * @method        bool             isLastMinute()                                                                     Checks if the instance is in the same minute as the current moment last minute.
+ * @method        bool             isSameSecond(Carbon|DateTimeInterface|string|null $date = null)                    Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentSecond()                                                                  Checks if the instance is in the same second as the current moment.
+ * @method        bool             isNextSecond()                                                                     Checks if the instance is in the same second as the current moment next second.
+ * @method        bool             isLastSecond()                                                                     Checks if the instance is in the same second as the current moment last second.
+ * @method        bool             isSameMicro(Carbon|DateTimeInterface|string|null $date = null)                     Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMicro()                                                                   Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool             isNextMicro()                                                                      Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool             isLastMicro()                                                                      Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool             isSameMicrosecond(Carbon|DateTimeInterface|string|null $date = null)               Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMicrosecond()                                                             Checks if the instance is in the same microsecond as the current moment.
+ * @method        bool             isNextMicrosecond()                                                                Checks if the instance is in the same microsecond as the current moment next microsecond.
+ * @method        bool             isLastMicrosecond()                                                                Checks if the instance is in the same microsecond as the current moment last microsecond.
+ * @method        bool             isCurrentMonth()                                                                   Checks if the instance is in the same month as the current moment.
+ * @method        bool             isNextMonth()                                                                      Checks if the instance is in the same month as the current moment next month.
+ * @method        bool             isLastMonth()                                                                      Checks if the instance is in the same month as the current moment last month.
+ * @method        bool             isCurrentQuarter()                                                                 Checks if the instance is in the same quarter as the current moment.
+ * @method        bool             isNextQuarter()                                                                    Checks if the instance is in the same quarter as the current moment next quarter.
+ * @method        bool             isLastQuarter()                                                                    Checks if the instance is in the same quarter as the current moment last quarter.
+ * @method        bool             isSameDecade(Carbon|DateTimeInterface|string|null $date = null)                    Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentDecade()                                                                  Checks if the instance is in the same decade as the current moment.
+ * @method        bool             isNextDecade()                                                                     Checks if the instance is in the same decade as the current moment next decade.
+ * @method        bool             isLastDecade()                                                                     Checks if the instance is in the same decade as the current moment last decade.
+ * @method        bool             isSameCentury(Carbon|DateTimeInterface|string|null $date = null)                   Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentCentury()                                                                 Checks if the instance is in the same century as the current moment.
+ * @method        bool             isNextCentury()                                                                    Checks if the instance is in the same century as the current moment next century.
+ * @method        bool             isLastCentury()                                                                    Checks if the instance is in the same century as the current moment last century.
+ * @method        bool             isSameMillennium(Carbon|DateTimeInterface|string|null $date = null)                Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone).
+ * @method        bool             isCurrentMillennium()                                                              Checks if the instance is in the same millennium as the current moment.
+ * @method        bool             isNextMillennium()                                                                 Checks if the instance is in the same millennium as the current moment next millennium.
+ * @method        bool             isLastMillennium()                                                                 Checks if the instance is in the same millennium as the current moment last millennium.
+ * @method        CarbonInterface  years(int $value)                                                                  Set current instance year to the given value.
+ * @method        CarbonInterface  year(int $value)                                                                   Set current instance year to the given value.
+ * @method        CarbonInterface  setYears(int $value)                                                               Set current instance year to the given value.
+ * @method        CarbonInterface  setYear(int $value)                                                                Set current instance year to the given value.
+ * @method        CarbonInterface  months(int $value)                                                                 Set current instance month to the given value.
+ * @method        CarbonInterface  month(int $value)                                                                  Set current instance month to the given value.
+ * @method        CarbonInterface  setMonths(int $value)                                                              Set current instance month to the given value.
+ * @method        CarbonInterface  setMonth(int $value)                                                               Set current instance month to the given value.
+ * @method        CarbonInterface  days(int $value)                                                                   Set current instance day to the given value.
+ * @method        CarbonInterface  day(int $value)                                                                    Set current instance day to the given value.
+ * @method        CarbonInterface  setDays(int $value)                                                                Set current instance day to the given value.
+ * @method        CarbonInterface  setDay(int $value)                                                                 Set current instance day to the given value.
+ * @method        CarbonInterface  hours(int $value)                                                                  Set current instance hour to the given value.
+ * @method        CarbonInterface  hour(int $value)                                                                   Set current instance hour to the given value.
+ * @method        CarbonInterface  setHours(int $value)                                                               Set current instance hour to the given value.
+ * @method        CarbonInterface  setHour(int $value)                                                                Set current instance hour to the given value.
+ * @method        CarbonInterface  minutes(int $value)                                                                Set current instance minute to the given value.
+ * @method        CarbonInterface  minute(int $value)                                                                 Set current instance minute to the given value.
+ * @method        CarbonInterface  setMinutes(int $value)                                                             Set current instance minute to the given value.
+ * @method        CarbonInterface  setMinute(int $value)                                                              Set current instance minute to the given value.
+ * @method        CarbonInterface  seconds(int $value)                                                                Set current instance second to the given value.
+ * @method        CarbonInterface  second(int $value)                                                                 Set current instance second to the given value.
+ * @method        CarbonInterface  setSeconds(int $value)                                                             Set current instance second to the given value.
+ * @method        CarbonInterface  setSecond(int $value)                                                              Set current instance second to the given value.
+ * @method        CarbonInterface  millis(int $value)                                                                 Set current instance millisecond to the given value.
+ * @method        CarbonInterface  milli(int $value)                                                                  Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMillis(int $value)                                                              Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMilli(int $value)                                                               Set current instance millisecond to the given value.
+ * @method        CarbonInterface  milliseconds(int $value)                                                           Set current instance millisecond to the given value.
+ * @method        CarbonInterface  millisecond(int $value)                                                            Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMilliseconds(int $value)                                                        Set current instance millisecond to the given value.
+ * @method        CarbonInterface  setMillisecond(int $value)                                                         Set current instance millisecond to the given value.
+ * @method        CarbonInterface  micros(int $value)                                                                 Set current instance microsecond to the given value.
+ * @method        CarbonInterface  micro(int $value)                                                                  Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicros(int $value)                                                              Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicro(int $value)                                                               Set current instance microsecond to the given value.
+ * @method        CarbonInterface  microseconds(int $value)                                                           Set current instance microsecond to the given value.
+ * @method        CarbonInterface  microsecond(int $value)                                                            Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicroseconds(int $value)                                                        Set current instance microsecond to the given value.
+ * @method        CarbonInterface  setMicrosecond(int $value)                                                         Set current instance microsecond to the given value.
+ * @method        CarbonInterface  addYears(int $value = 1)                                                           Add years (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addYear()                                                                          Add one year to the instance (using date interval).
+ * @method        CarbonInterface  subYears(int $value = 1)                                                           Sub years (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subYear()                                                                          Sub one year to the instance (using date interval).
+ * @method        CarbonInterface  addYearsWithOverflow(int $value = 1)                                               Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addYearWithOverflow()                                                              Add one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subYearsWithOverflow(int $value = 1)                                               Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subYearWithOverflow()                                                              Sub one year to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addYearsWithoutOverflow(int $value = 1)                                            Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearWithoutOverflow()                                                           Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearsWithoutOverflow(int $value = 1)                                            Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearWithoutOverflow()                                                           Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearsWithNoOverflow(int $value = 1)                                             Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearWithNoOverflow()                                                            Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearsWithNoOverflow(int $value = 1)                                             Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearWithNoOverflow()                                                            Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearsNoOverflow(int $value = 1)                                                 Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addYearNoOverflow()                                                                Add one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearsNoOverflow(int $value = 1)                                                 Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subYearNoOverflow()                                                                Sub one year to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonths(int $value = 1)                                                          Add months (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMonth()                                                                         Add one month to the instance (using date interval).
+ * @method        CarbonInterface  subMonths(int $value = 1)                                                          Sub months (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMonth()                                                                         Sub one month to the instance (using date interval).
+ * @method        CarbonInterface  addMonthsWithOverflow(int $value = 1)                                              Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMonthWithOverflow()                                                             Add one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMonthsWithOverflow(int $value = 1)                                              Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMonthWithOverflow()                                                             Sub one month to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMonthsWithoutOverflow(int $value = 1)                                           Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthWithoutOverflow()                                                          Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthsWithoutOverflow(int $value = 1)                                           Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthWithoutOverflow()                                                          Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthsWithNoOverflow(int $value = 1)                                            Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthWithNoOverflow()                                                           Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthsWithNoOverflow(int $value = 1)                                            Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthWithNoOverflow()                                                           Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthsNoOverflow(int $value = 1)                                                Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMonthNoOverflow()                                                               Add one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthsNoOverflow(int $value = 1)                                                Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMonthNoOverflow()                                                               Sub one month to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDays(int $value = 1)                                                            Add days (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addDay()                                                                           Add one day to the instance (using date interval).
+ * @method        CarbonInterface  subDays(int $value = 1)                                                            Sub days (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subDay()                                                                           Sub one day to the instance (using date interval).
+ * @method        CarbonInterface  addHours(int $value = 1)                                                           Add hours (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addHour()                                                                          Add one hour to the instance (using date interval).
+ * @method        CarbonInterface  subHours(int $value = 1)                                                           Sub hours (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subHour()                                                                          Sub one hour to the instance (using date interval).
+ * @method        CarbonInterface  addMinutes(int $value = 1)                                                         Add minutes (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMinute()                                                                        Add one minute to the instance (using date interval).
+ * @method        CarbonInterface  subMinutes(int $value = 1)                                                         Sub minutes (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMinute()                                                                        Sub one minute to the instance (using date interval).
+ * @method        CarbonInterface  addSeconds(int $value = 1)                                                         Add seconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addSecond()                                                                        Add one second to the instance (using date interval).
+ * @method        CarbonInterface  subSeconds(int $value = 1)                                                         Sub seconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subSecond()                                                                        Sub one second to the instance (using date interval).
+ * @method        CarbonInterface  addMillis(int $value = 1)                                                          Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMilli()                                                                         Add one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  subMillis(int $value = 1)                                                          Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMilli()                                                                         Sub one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  addMilliseconds(int $value = 1)                                                    Add milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMillisecond()                                                                   Add one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  subMilliseconds(int $value = 1)                                                    Sub milliseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMillisecond()                                                                   Sub one millisecond to the instance (using date interval).
+ * @method        CarbonInterface  addMicros(int $value = 1)                                                          Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMicro()                                                                         Add one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  subMicros(int $value = 1)                                                          Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMicro()                                                                         Sub one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  addMicroseconds(int $value = 1)                                                    Add microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMicrosecond()                                                                   Add one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  subMicroseconds(int $value = 1)                                                    Sub microseconds (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMicrosecond()                                                                   Sub one microsecond to the instance (using date interval).
+ * @method        CarbonInterface  addMillennia(int $value = 1)                                                       Add millennia (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addMillennium()                                                                    Add one millennium to the instance (using date interval).
+ * @method        CarbonInterface  subMillennia(int $value = 1)                                                       Sub millennia (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subMillennium()                                                                    Sub one millennium to the instance (using date interval).
+ * @method        CarbonInterface  addMillenniaWithOverflow(int $value = 1)                                           Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMillenniumWithOverflow()                                                        Add one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMillenniaWithOverflow(int $value = 1)                                           Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subMillenniumWithOverflow()                                                        Sub one millennium to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addMillenniaWithoutOverflow(int $value = 1)                                        Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniumWithoutOverflow()                                                     Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniaWithoutOverflow(int $value = 1)                                        Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniumWithoutOverflow()                                                     Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniaWithNoOverflow(int $value = 1)                                         Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniumWithNoOverflow()                                                      Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniaWithNoOverflow(int $value = 1)                                         Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniumWithNoOverflow()                                                      Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniaNoOverflow(int $value = 1)                                             Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addMillenniumNoOverflow()                                                          Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniaNoOverflow(int $value = 1)                                             Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subMillenniumNoOverflow()                                                          Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturies(int $value = 1)                                                       Add centuries (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addCentury()                                                                       Add one century to the instance (using date interval).
+ * @method        CarbonInterface  subCenturies(int $value = 1)                                                       Sub centuries (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subCentury()                                                                       Sub one century to the instance (using date interval).
+ * @method        CarbonInterface  addCenturiesWithOverflow(int $value = 1)                                           Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addCenturyWithOverflow()                                                           Add one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subCenturiesWithOverflow(int $value = 1)                                           Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subCenturyWithOverflow()                                                           Sub one century to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addCenturiesWithoutOverflow(int $value = 1)                                        Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturyWithoutOverflow()                                                        Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturiesWithoutOverflow(int $value = 1)                                        Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturyWithoutOverflow()                                                        Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturiesWithNoOverflow(int $value = 1)                                         Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturyWithNoOverflow()                                                         Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturiesWithNoOverflow(int $value = 1)                                         Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturyWithNoOverflow()                                                         Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturiesNoOverflow(int $value = 1)                                             Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addCenturyNoOverflow()                                                             Add one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturiesNoOverflow(int $value = 1)                                             Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subCenturyNoOverflow()                                                             Sub one century to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecades(int $value = 1)                                                         Add decades (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addDecade()                                                                        Add one decade to the instance (using date interval).
+ * @method        CarbonInterface  subDecades(int $value = 1)                                                         Sub decades (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subDecade()                                                                        Sub one decade to the instance (using date interval).
+ * @method        CarbonInterface  addDecadesWithOverflow(int $value = 1)                                             Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addDecadeWithOverflow()                                                            Add one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subDecadesWithOverflow(int $value = 1)                                             Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subDecadeWithOverflow()                                                            Sub one decade to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addDecadesWithoutOverflow(int $value = 1)                                          Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadeWithoutOverflow()                                                         Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadesWithoutOverflow(int $value = 1)                                          Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadeWithoutOverflow()                                                         Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadesWithNoOverflow(int $value = 1)                                           Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadeWithNoOverflow()                                                          Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadesWithNoOverflow(int $value = 1)                                           Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadeWithNoOverflow()                                                          Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadesNoOverflow(int $value = 1)                                               Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addDecadeNoOverflow()                                                              Add one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadesNoOverflow(int $value = 1)                                               Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subDecadeNoOverflow()                                                              Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarters(int $value = 1)                                                        Add quarters (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addQuarter()                                                                       Add one quarter to the instance (using date interval).
+ * @method        CarbonInterface  subQuarters(int $value = 1)                                                        Sub quarters (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subQuarter()                                                                       Sub one quarter to the instance (using date interval).
+ * @method        CarbonInterface  addQuartersWithOverflow(int $value = 1)                                            Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addQuarterWithOverflow()                                                           Add one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subQuartersWithOverflow(int $value = 1)                                            Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  subQuarterWithOverflow()                                                           Sub one quarter to the instance (using date interval) with overflow explicitly allowed.
+ * @method        CarbonInterface  addQuartersWithoutOverflow(int $value = 1)                                         Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarterWithoutOverflow()                                                        Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuartersWithoutOverflow(int $value = 1)                                         Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuarterWithoutOverflow()                                                        Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuartersWithNoOverflow(int $value = 1)                                          Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarterWithNoOverflow()                                                         Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuartersWithNoOverflow(int $value = 1)                                          Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuarterWithNoOverflow()                                                         Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuartersNoOverflow(int $value = 1)                                              Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addQuarterNoOverflow()                                                             Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuartersNoOverflow(int $value = 1)                                              Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  subQuarterNoOverflow()                                                             Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
+ * @method        CarbonInterface  addWeeks(int $value = 1)                                                           Add weeks (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addWeek()                                                                          Add one week to the instance (using date interval).
+ * @method        CarbonInterface  subWeeks(int $value = 1)                                                           Sub weeks (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subWeek()                                                                          Sub one week to the instance (using date interval).
+ * @method        CarbonInterface  addWeekdays(int $value = 1)                                                        Add weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  addWeekday()                                                                       Add one weekday to the instance (using date interval).
+ * @method        CarbonInterface  subWeekdays(int $value = 1)                                                        Sub weekdays (the $value count passed in) to the instance (using date interval).
+ * @method        CarbonInterface  subWeekday()                                                                       Sub one weekday to the instance (using date interval).
+ * @method        CarbonInterface  addRealMicros(int $value = 1)                                                      Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMicro()                                                                     Add one microsecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicros(int $value = 1)                                                      Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicro()                                                                     Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod     microsUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        CarbonInterface  addRealMicroseconds(int $value = 1)                                                Add microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMicrosecond()                                                               Add one microsecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicroseconds(int $value = 1)                                                Sub microseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMicrosecond()                                                               Sub one microsecond to the instance (using timestamp).
+ * @method        CarbonPeriod     microsecondsUntil($endDate = null, int $factor = 1)                                Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
+ * @method        CarbonInterface  addRealMillis(int $value = 1)                                                      Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMilli()                                                                     Add one millisecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillis(int $value = 1)                                                      Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMilli()                                                                     Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod     millisUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        CarbonInterface  addRealMilliseconds(int $value = 1)                                                Add milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMillisecond()                                                               Add one millisecond to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMilliseconds(int $value = 1)                                                Sub milliseconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillisecond()                                                               Sub one millisecond to the instance (using timestamp).
+ * @method        CarbonPeriod     millisecondsUntil($endDate = null, int $factor = 1)                                Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
+ * @method        CarbonInterface  addRealSeconds(int $value = 1)                                                     Add seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealSecond()                                                                    Add one second to the instance (using timestamp).
+ * @method        CarbonInterface  subRealSeconds(int $value = 1)                                                     Sub seconds (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealSecond()                                                                    Sub one second to the instance (using timestamp).
+ * @method        CarbonPeriod     secondsUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given.
+ * @method        CarbonInterface  addRealMinutes(int $value = 1)                                                     Add minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMinute()                                                                    Add one minute to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMinutes(int $value = 1)                                                     Sub minutes (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMinute()                                                                    Sub one minute to the instance (using timestamp).
+ * @method        CarbonPeriod     minutesUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given.
+ * @method        CarbonInterface  addRealHours(int $value = 1)                                                       Add hours (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealHour()                                                                      Add one hour to the instance (using timestamp).
+ * @method        CarbonInterface  subRealHours(int $value = 1)                                                       Sub hours (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealHour()                                                                      Sub one hour to the instance (using timestamp).
+ * @method        CarbonPeriod     hoursUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given.
+ * @method        CarbonInterface  addRealDays(int $value = 1)                                                        Add days (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealDay()                                                                       Add one day to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDays(int $value = 1)                                                        Sub days (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDay()                                                                       Sub one day to the instance (using timestamp).
+ * @method        CarbonPeriod     daysUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given.
+ * @method        CarbonInterface  addRealWeeks(int $value = 1)                                                       Add weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealWeek()                                                                      Add one week to the instance (using timestamp).
+ * @method        CarbonInterface  subRealWeeks(int $value = 1)                                                       Sub weeks (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealWeek()                                                                      Sub one week to the instance (using timestamp).
+ * @method        CarbonPeriod     weeksUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given.
+ * @method        CarbonInterface  addRealMonths(int $value = 1)                                                      Add months (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMonth()                                                                     Add one month to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMonths(int $value = 1)                                                      Sub months (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMonth()                                                                     Sub one month to the instance (using timestamp).
+ * @method        CarbonPeriod     monthsUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given.
+ * @method        CarbonInterface  addRealQuarters(int $value = 1)                                                    Add quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealQuarter()                                                                   Add one quarter to the instance (using timestamp).
+ * @method        CarbonInterface  subRealQuarters(int $value = 1)                                                    Sub quarters (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealQuarter()                                                                   Sub one quarter to the instance (using timestamp).
+ * @method        CarbonPeriod     quartersUntil($endDate = null, int $factor = 1)                                    Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given.
+ * @method        CarbonInterface  addRealYears(int $value = 1)                                                       Add years (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealYear()                                                                      Add one year to the instance (using timestamp).
+ * @method        CarbonInterface  subRealYears(int $value = 1)                                                       Sub years (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealYear()                                                                      Sub one year to the instance (using timestamp).
+ * @method        CarbonPeriod     yearsUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given.
+ * @method        CarbonInterface  addRealDecades(int $value = 1)                                                     Add decades (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealDecade()                                                                    Add one decade to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDecades(int $value = 1)                                                     Sub decades (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealDecade()                                                                    Sub one decade to the instance (using timestamp).
+ * @method        CarbonPeriod     decadesUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given.
+ * @method        CarbonInterface  addRealCenturies(int $value = 1)                                                   Add centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealCentury()                                                                   Add one century to the instance (using timestamp).
+ * @method        CarbonInterface  subRealCenturies(int $value = 1)                                                   Sub centuries (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealCentury()                                                                   Sub one century to the instance (using timestamp).
+ * @method        CarbonPeriod     centuriesUntil($endDate = null, int $factor = 1)                                   Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given.
+ * @method        CarbonInterface  addRealMillennia(int $value = 1)                                                   Add millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  addRealMillennium()                                                                Add one millennium to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillennia(int $value = 1)                                                   Sub millennia (the $value count passed in) to the instance (using timestamp).
+ * @method        CarbonInterface  subRealMillennium()                                                                Sub one millennium to the instance (using timestamp).
+ * @method        CarbonPeriod     millenniaUntil($endDate = null, int $factor = 1)                                   Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given.
+ * @method        CarbonInterface  roundYear(float $precision = 1, string $function = "round")                        Round the current instance year with given precision using the given function.
+ * @method        CarbonInterface  roundYears(float $precision = 1, string $function = "round")                       Round the current instance year with given precision using the given function.
+ * @method        CarbonInterface  floorYear(float $precision = 1)                                                    Truncate the current instance year with given precision.
+ * @method        CarbonInterface  floorYears(float $precision = 1)                                                   Truncate the current instance year with given precision.
+ * @method        CarbonInterface  ceilYear(float $precision = 1)                                                     Ceil the current instance year with given precision.
+ * @method        CarbonInterface  ceilYears(float $precision = 1)                                                    Ceil the current instance year with given precision.
+ * @method        CarbonInterface  roundMonth(float $precision = 1, string $function = "round")                       Round the current instance month with given precision using the given function.
+ * @method        CarbonInterface  roundMonths(float $precision = 1, string $function = "round")                      Round the current instance month with given precision using the given function.
+ * @method        CarbonInterface  floorMonth(float $precision = 1)                                                   Truncate the current instance month with given precision.
+ * @method        CarbonInterface  floorMonths(float $precision = 1)                                                  Truncate the current instance month with given precision.
+ * @method        CarbonInterface  ceilMonth(float $precision = 1)                                                    Ceil the current instance month with given precision.
+ * @method        CarbonInterface  ceilMonths(float $precision = 1)                                                   Ceil the current instance month with given precision.
+ * @method        CarbonInterface  roundDay(float $precision = 1, string $function = "round")                         Round the current instance day with given precision using the given function.
+ * @method        CarbonInterface  roundDays(float $precision = 1, string $function = "round")                        Round the current instance day with given precision using the given function.
+ * @method        CarbonInterface  floorDay(float $precision = 1)                                                     Truncate the current instance day with given precision.
+ * @method        CarbonInterface  floorDays(float $precision = 1)                                                    Truncate the current instance day with given precision.
+ * @method        CarbonInterface  ceilDay(float $precision = 1)                                                      Ceil the current instance day with given precision.
+ * @method        CarbonInterface  ceilDays(float $precision = 1)                                                     Ceil the current instance day with given precision.
+ * @method        CarbonInterface  roundHour(float $precision = 1, string $function = "round")                        Round the current instance hour with given precision using the given function.
+ * @method        CarbonInterface  roundHours(float $precision = 1, string $function = "round")                       Round the current instance hour with given precision using the given function.
+ * @method        CarbonInterface  floorHour(float $precision = 1)                                                    Truncate the current instance hour with given precision.
+ * @method        CarbonInterface  floorHours(float $precision = 1)                                                   Truncate the current instance hour with given precision.
+ * @method        CarbonInterface  ceilHour(float $precision = 1)                                                     Ceil the current instance hour with given precision.
+ * @method        CarbonInterface  ceilHours(float $precision = 1)                                                    Ceil the current instance hour with given precision.
+ * @method        CarbonInterface  roundMinute(float $precision = 1, string $function = "round")                      Round the current instance minute with given precision using the given function.
+ * @method        CarbonInterface  roundMinutes(float $precision = 1, string $function = "round")                     Round the current instance minute with given precision using the given function.
+ * @method        CarbonInterface  floorMinute(float $precision = 1)                                                  Truncate the current instance minute with given precision.
+ * @method        CarbonInterface  floorMinutes(float $precision = 1)                                                 Truncate the current instance minute with given precision.
+ * @method        CarbonInterface  ceilMinute(float $precision = 1)                                                   Ceil the current instance minute with given precision.
+ * @method        CarbonInterface  ceilMinutes(float $precision = 1)                                                  Ceil the current instance minute with given precision.
+ * @method        CarbonInterface  roundSecond(float $precision = 1, string $function = "round")                      Round the current instance second with given precision using the given function.
+ * @method        CarbonInterface  roundSeconds(float $precision = 1, string $function = "round")                     Round the current instance second with given precision using the given function.
+ * @method        CarbonInterface  floorSecond(float $precision = 1)                                                  Truncate the current instance second with given precision.
+ * @method        CarbonInterface  floorSeconds(float $precision = 1)                                                 Truncate the current instance second with given precision.
+ * @method        CarbonInterface  ceilSecond(float $precision = 1)                                                   Ceil the current instance second with given precision.
+ * @method        CarbonInterface  ceilSeconds(float $precision = 1)                                                  Ceil the current instance second with given precision.
+ * @method        CarbonInterface  roundMillennium(float $precision = 1, string $function = "round")                  Round the current instance millennium with given precision using the given function.
+ * @method        CarbonInterface  roundMillennia(float $precision = 1, string $function = "round")                   Round the current instance millennium with given precision using the given function.
+ * @method        CarbonInterface  floorMillennium(float $precision = 1)                                              Truncate the current instance millennium with given precision.
+ * @method        CarbonInterface  floorMillennia(float $precision = 1)                                               Truncate the current instance millennium with given precision.
+ * @method        CarbonInterface  ceilMillennium(float $precision = 1)                                               Ceil the current instance millennium with given precision.
+ * @method        CarbonInterface  ceilMillennia(float $precision = 1)                                                Ceil the current instance millennium with given precision.
+ * @method        CarbonInterface  roundCentury(float $precision = 1, string $function = "round")                     Round the current instance century with given precision using the given function.
+ * @method        CarbonInterface  roundCenturies(float $precision = 1, string $function = "round")                   Round the current instance century with given precision using the given function.
+ * @method        CarbonInterface  floorCentury(float $precision = 1)                                                 Truncate the current instance century with given precision.
+ * @method        CarbonInterface  floorCenturies(float $precision = 1)                                               Truncate the current instance century with given precision.
+ * @method        CarbonInterface  ceilCentury(float $precision = 1)                                                  Ceil the current instance century with given precision.
+ * @method        CarbonInterface  ceilCenturies(float $precision = 1)                                                Ceil the current instance century with given precision.
+ * @method        CarbonInterface  roundDecade(float $precision = 1, string $function = "round")                      Round the current instance decade with given precision using the given function.
+ * @method        CarbonInterface  roundDecades(float $precision = 1, string $function = "round")                     Round the current instance decade with given precision using the given function.
+ * @method        CarbonInterface  floorDecade(float $precision = 1)                                                  Truncate the current instance decade with given precision.
+ * @method        CarbonInterface  floorDecades(float $precision = 1)                                                 Truncate the current instance decade with given precision.
+ * @method        CarbonInterface  ceilDecade(float $precision = 1)                                                   Ceil the current instance decade with given precision.
+ * @method        CarbonInterface  ceilDecades(float $precision = 1)                                                  Ceil the current instance decade with given precision.
+ * @method        CarbonInterface  roundQuarter(float $precision = 1, string $function = "round")                     Round the current instance quarter with given precision using the given function.
+ * @method        CarbonInterface  roundQuarters(float $precision = 1, string $function = "round")                    Round the current instance quarter with given precision using the given function.
+ * @method        CarbonInterface  floorQuarter(float $precision = 1)                                                 Truncate the current instance quarter with given precision.
+ * @method        CarbonInterface  floorQuarters(float $precision = 1)                                                Truncate the current instance quarter with given precision.
+ * @method        CarbonInterface  ceilQuarter(float $precision = 1)                                                  Ceil the current instance quarter with given precision.
+ * @method        CarbonInterface  ceilQuarters(float $precision = 1)                                                 Ceil the current instance quarter with given precision.
+ * @method        CarbonInterface  roundMillisecond(float $precision = 1, string $function = "round")                 Round the current instance millisecond with given precision using the given function.
+ * @method        CarbonInterface  roundMilliseconds(float $precision = 1, string $function = "round")                Round the current instance millisecond with given precision using the given function.
+ * @method        CarbonInterface  floorMillisecond(float $precision = 1)                                             Truncate the current instance millisecond with given precision.
+ * @method        CarbonInterface  floorMilliseconds(float $precision = 1)                                            Truncate the current instance millisecond with given precision.
+ * @method        CarbonInterface  ceilMillisecond(float $precision = 1)                                              Ceil the current instance millisecond with given precision.
+ * @method        CarbonInterface  ceilMilliseconds(float $precision = 1)                                             Ceil the current instance millisecond with given precision.
+ * @method        CarbonInterface  roundMicrosecond(float $precision = 1, string $function = "round")                 Round the current instance microsecond with given precision using the given function.
+ * @method        CarbonInterface  roundMicroseconds(float $precision = 1, string $function = "round")                Round the current instance microsecond with given precision using the given function.
+ * @method        CarbonInterface  floorMicrosecond(float $precision = 1)                                             Truncate the current instance microsecond with given precision.
+ * @method        CarbonInterface  floorMicroseconds(float $precision = 1)                                            Truncate the current instance microsecond with given precision.
+ * @method        CarbonInterface  ceilMicrosecond(float $precision = 1)                                              Ceil the current instance microsecond with given precision.
+ * @method        CarbonInterface  ceilMicroseconds(float $precision = 1)                                             Ceil the current instance microsecond with given precision.
+ * @method        string           shortAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)        Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)         Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           shortRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)        Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)         Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           shortRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)   Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)    Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           shortRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ * @method        string           longRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)  Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
+ *
+ * </autodoc>
+ */
+trait Date
+{
+    use Boundaries;
+    use Comparison;
+    use Converter;
+    use Creator;
+    use Difference;
+    use Macro;
+    use Modifiers;
+    use Mutability;
+    use ObjectInitialisation;
+    use Options;
+    use Rounding;
+    use Serialization;
+    use Test;
+    use Timestamp;
+    use Units;
+    use Week;
+
+    /**
+     * Names of days of the week.
+     *
+     * @var array
+     */
+    protected static $days = [
+        // @call isDayOfWeek
+        CarbonInterface::SUNDAY => 'Sunday',
+        // @call isDayOfWeek
+        CarbonInterface::MONDAY => 'Monday',
+        // @call isDayOfWeek
+        CarbonInterface::TUESDAY => 'Tuesday',
+        // @call isDayOfWeek
+        CarbonInterface::WEDNESDAY => 'Wednesday',
+        // @call isDayOfWeek
+        CarbonInterface::THURSDAY => 'Thursday',
+        // @call isDayOfWeek
+        CarbonInterface::FRIDAY => 'Friday',
+        // @call isDayOfWeek
+        CarbonInterface::SATURDAY => 'Saturday',
+    ];
+
+    /**
+     * Will UTF8 encoding be used to print localized date/time ?
+     *
+     * @var bool
+     */
+    protected static $utf8 = false;
+
+    /**
+     * List of unit and magic methods associated as doc-comments.
+     *
+     * @var array
+     */
+    protected static $units = [
+        // @call setUnit
+        // @call addUnit
+        'year',
+        // @call setUnit
+        // @call addUnit
+        'month',
+        // @call setUnit
+        // @call addUnit
+        'day',
+        // @call setUnit
+        // @call addUnit
+        'hour',
+        // @call setUnit
+        // @call addUnit
+        'minute',
+        // @call setUnit
+        // @call addUnit
+        'second',
+        // @call setUnit
+        // @call addUnit
+        'milli',
+        // @call setUnit
+        // @call addUnit
+        'millisecond',
+        // @call setUnit
+        // @call addUnit
+        'micro',
+        // @call setUnit
+        // @call addUnit
+        'microsecond',
+    ];
+
+    /**
+     * Creates a DateTimeZone from a string, DateTimeZone or integer offset.
+     *
+     * @param DateTimeZone|string|int|null $object     original value to get CarbonTimeZone from it.
+     * @param DateTimeZone|string|int|null $objectDump dump of the object for error messages.
+     *
+     * @throws InvalidTimeZoneException
+     *
+     * @return CarbonTimeZone|false
+     */
+    protected static function safeCreateDateTimeZone($object, $objectDump = null)
+    {
+        return CarbonTimeZone::instance($object, $objectDump);
+    }
+
+    /**
+     * Get the TimeZone associated with the Carbon instance (as CarbonTimeZone).
+     *
+     * @return CarbonTimeZone
+     *
+     * @link https://php.net/manual/en/datetime.gettimezone.php
+     */
+    #[ReturnTypeWillChange]
+    public function getTimezone()
+    {
+        return CarbonTimeZone::instance(parent::getTimezone());
+    }
+
+    /**
+     * List of minimum and maximums for each unit.
+     *
+     * @return array
+     */
+    protected static function getRangesByUnit()
+    {
+        return [
+            // @call roundUnit
+            'year' => [1, 9999],
+            // @call roundUnit
+            'month' => [1, static::MONTHS_PER_YEAR],
+            // @call roundUnit
+            'day' => [1, 31],
+            // @call roundUnit
+            'hour' => [0, static::HOURS_PER_DAY - 1],
+            // @call roundUnit
+            'minute' => [0, static::MINUTES_PER_HOUR - 1],
+            // @call roundUnit
+            'second' => [0, static::SECONDS_PER_MINUTE - 1],
+        ];
+    }
+
+    /**
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function copy()
+    {
+        return clone $this;
+    }
+
+    /**
+     * @alias copy
+     *
+     * Get a copy of the instance.
+     *
+     * @return static
+     */
+    public function clone()
+    {
+        return clone $this;
+    }
+
+    /**
+     * Clone the current instance if it's mutable.
+     *
+     * This method is convenient to ensure you don't mutate the initial object
+     * but avoid to make a useless copy of it if it's already immutable.
+     *
+     * @return static
+     */
+    public function avoidMutation(): self
+    {
+        if ($this instanceof DateTimeImmutable) {
+            return $this;
+        }
+
+        return clone $this;
+    }
+
+    /**
+     * Returns a present instance in the same timezone.
+     *
+     * @return static
+     */
+    public function nowWithSameTz()
+    {
+        return static::now($this->getTimezone());
+    }
+
+    /**
+     * Throws an exception if the given object is not a DateTime and does not implement DateTimeInterface.
+     *
+     * @param mixed        $date
+     * @param string|array $other
+     *
+     * @throws InvalidTypeException
+     */
+    protected static function expectDateTime($date, $other = [])
+    {
+        $message = 'Expected ';
+        foreach ((array) $other as $expect) {
+            $message .= "$expect, ";
+        }
+
+        if (!$date instanceof DateTime && !$date instanceof DateTimeInterface) {
+            throw new InvalidTypeException(
+                $message.'DateTime or DateTimeInterface, '.
+                (\is_object($date) ? \get_class($date) : \gettype($date)).' given'
+            );
+        }
+    }
+
+    /**
+     * Return the Carbon instance passed through, a now instance in the same timezone
+     * if null given or parse the input if string given.
+     *
+     * @param Carbon|DateTimeInterface|string|null $date
+     *
+     * @return static
+     */
+    protected function resolveCarbon($date = null)
+    {
+        if (!$date) {
+            return $this->nowWithSameTz();
+        }
+
+        if (\is_string($date)) {
+            return static::parse($date, $this->getTimezone());
+        }
+
+        static::expectDateTime($date, ['null', 'string']);
+
+        return $date instanceof self ? $date : static::instance($date);
+    }
+
+    /**
+     * Return the Carbon instance passed through, a now instance in UTC
+     * if null given or parse the input if string given (using current timezone
+     * then switching to UTC).
+     *
+     * @param Carbon|DateTimeInterface|string|null $date
+     *
+     * @return static
+     */
+    protected function resolveUTC($date = null): self
+    {
+        if (!$date) {
+            return static::now('UTC');
+        }
+
+        if (\is_string($date)) {
+            return static::parse($date, $this->getTimezone())->utc();
+        }
+
+        static::expectDateTime($date, ['null', 'string']);
+
+        return $date instanceof self ? $date : static::instance($date)->utc();
+    }
+
+    /**
+     * Return the Carbon instance passed through, a now instance in the same timezone
+     * if null given or parse the input if string given.
+     *
+     * @param Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|DateTimeInterface|string|null $date
+     *
+     * @return static
+     */
+    public function carbonize($date = null)
+    {
+        if ($date instanceof DateInterval) {
+            return $this->avoidMutation()->add($date);
+        }
+
+        if ($date instanceof DatePeriod || $date instanceof CarbonPeriod) {
+            $date = $date->getStartDate();
+        }
+
+        return $this->resolveCarbon($date);
+    }
+
+    ///////////////////////////////////////////////////////////////////
+    ///////////////////////// GETTERS AND SETTERS /////////////////////
+    ///////////////////////////////////////////////////////////////////
+
+    /**
+     * Get a part of the Carbon object
+     *
+     * @param string $name
+     *
+     * @throws UnknownGetterException
+     *
+     * @return string|int|bool|DateTimeZone|null
+     */
+    public function __get($name)
+    {
+        return $this->get($name);
+    }
+
+    /**
+     * Get a part of the Carbon object
+     *
+     * @param string $name
+     *
+     * @throws UnknownGetterException
+     *
+     * @return string|int|bool|DateTimeZone|null
+     */
+    public function get($name)
+    {
+        static $formats = [
+            // @property int
+            'year' => 'Y',
+            // @property int
+            'yearIso' => 'o',
+            // @property int
+            // @call isSameUnit
+            'month' => 'n',
+            // @property int
+            'day' => 'j',
+            // @property int
+            'hour' => 'G',
+            // @property int
+            'minute' => 'i',
+            // @property int
+            'second' => 's',
+            // @property int
+            'micro' => 'u',
+            // @property int
+            'microsecond' => 'u',
+            // @property-read int 0 (for Sunday) through 6 (for Saturday)
+            'dayOfWeek' => 'w',
+            // @property-read int 1 (for Monday) through 7 (for Sunday)
+            'dayOfWeekIso' => 'N',
+            // @property-read int ISO-8601 week number of year, weeks starting on Monday
+            'weekOfYear' => 'W',
+            // @property-read int number of days in the given month
+            'daysInMonth' => 't',
+            // @property int|float|string seconds since the Unix Epoch
+            'timestamp' => 'U',
+            // @property-read string "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark)
+            'latinMeridiem' => 'a',
+            // @property-read string "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark)
+            'latinUpperMeridiem' => 'A',
+            // @property string the day of week in English
+            'englishDayOfWeek' => 'l',
+            // @property string the abbreviated day of week in English
+            'shortEnglishDayOfWeek' => 'D',
+            // @property string the month in English
+            'englishMonth' => 'F',
+            // @property string the abbreviated month in English
+            'shortEnglishMonth' => 'M',
+            // @property string the day of week in current locale LC_TIME
+            'localeDayOfWeek' => '%A',
+            // @property string the abbreviated day of week in current locale LC_TIME
+            'shortLocaleDayOfWeek' => '%a',
+            // @property string the month in current locale LC_TIME
+            'localeMonth' => '%B',
+            // @property string the abbreviated month in current locale LC_TIME
+            'shortLocaleMonth' => '%b',
+            // @property-read string $timezoneAbbreviatedName the current timezone abbreviated name
+            'timezoneAbbreviatedName' => 'T',
+            // @property-read string $tzAbbrName alias of $timezoneAbbreviatedName
+            'tzAbbrName' => 'T',
+        ];
+
+        switch (true) {
+            case isset($formats[$name]):
+                $format = $formats[$name];
+                $method = str_starts_with($format, '%') ? 'formatLocalized' : 'rawFormat';
+                $value = $this->$method($format);
+
+                return is_numeric($value) ? (int) $value : $value;
+
+            // @property-read string long name of weekday translated according to Carbon locale, in english if no translation available for current language
+            case $name === 'dayName':
+                return $this->getTranslatedDayName();
+            // @property-read string short name of weekday translated according to Carbon locale, in english if no translation available for current language
+            case $name === 'shortDayName':
+                return $this->getTranslatedShortDayName();
+            // @property-read string very short name of weekday translated according to Carbon locale, in english if no translation available for current language
+            case $name === 'minDayName':
+                return $this->getTranslatedMinDayName();
+            // @property-read string long name of month translated according to Carbon locale, in english if no translation available for current language
+            case $name === 'monthName':
+                return $this->getTranslatedMonthName();
+            // @property-read string short name of month translated according to Carbon locale, in english if no translation available for current language
+            case $name === 'shortMonthName':
+                return $this->getTranslatedShortMonthName();
+            // @property-read string lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+            case $name === 'meridiem':
+                return $this->meridiem(true);
+            // @property-read string uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
+            case $name === 'upperMeridiem':
+                return $this->meridiem();
+            // @property-read int current hour from 1 to 24
+            case $name === 'noZeroHour':
+                return $this->hour ?: 24;
+            // @property int
+            case $name === 'milliseconds':
+                // @property int
+            case $name === 'millisecond':
+            // @property int
+            case $name === 'milli':
+                return (int) floor($this->rawFormat('u') / 1000);
+
+            // @property int 1 through 53
+            case $name === 'week':
+                return (int) $this->week();
+
+            // @property int 1 through 53
+            case $name === 'isoWeek':
+                return (int) $this->isoWeek();
+
+            // @property int year according to week format
+            case $name === 'weekYear':
+                return (int) $this->weekYear();
+
+            // @property int year according to ISO week format
+            case $name === 'isoWeekYear':
+                return (int) $this->isoWeekYear();
+
+            // @property-read int 51 through 53
+            case $name === 'weeksInYear':
+                return $this->weeksInYear();
+
+            // @property-read int 51 through 53
+            case $name === 'isoWeeksInYear':
+                return $this->isoWeeksInYear();
+
+            // @property-read int 1 through 5
+            case $name === 'weekOfMonth':
+                return (int) ceil($this->day / static::DAYS_PER_WEEK);
+
+            // @property-read int 1 through 5
+            case $name === 'weekNumberInMonth':
+                return (int) ceil(($this->day + $this->avoidMutation()->startOfMonth()->dayOfWeekIso - 1) / static::DAYS_PER_WEEK);
+
+            // @property-read int 0 through 6
+            case $name === 'firstWeekDay':
+                return $this->localTranslator ? ($this->getTranslationMessage('first_day_of_week') ?? 0) : static::getWeekStartsAt();
+
+            // @property-read int 0 through 6
+            case $name === 'lastWeekDay':
+                return $this->localTranslator ? (($this->getTranslationMessage('first_day_of_week') ?? 0) + static::DAYS_PER_WEEK - 1) % static::DAYS_PER_WEEK : static::getWeekEndsAt();
+
+            // @property int 1 through 366
+            case $name === 'dayOfYear':
+                return 1 + (int) ($this->rawFormat('z'));
+
+            // @property-read int 365 or 366
+            case $name === 'daysInYear':
+                return $this->isLeapYear() ? 366 : 365;
+
+            // @property int does a diffInYears() with default parameters
+            case $name === 'age':
+                return $this->diffInYears();
+
+            // @property-read int the quarter of this instance, 1 - 4
+            // @call isSameUnit
+            case $name === 'quarter':
+                return (int) ceil($this->month / static::MONTHS_PER_QUARTER);
+
+            // @property-read int the decade of this instance
+            // @call isSameUnit
+            case $name === 'decade':
+                return (int) ceil($this->year / static::YEARS_PER_DECADE);
+
+            // @property-read int the century of this instance
+            // @call isSameUnit
+            case $name === 'century':
+                $factor = 1;
+                $year = $this->year;
+                if ($year < 0) {
+                    $year = -$year;
+                    $factor = -1;
+                }
+
+                return (int) ($factor * ceil($year / static::YEARS_PER_CENTURY));
+
+            // @property-read int the millennium of this instance
+            // @call isSameUnit
+            case $name === 'millennium':
+                $factor = 1;
+                $year = $this->year;
+                if ($year < 0) {
+                    $year = -$year;
+                    $factor = -1;
+                }
+
+                return (int) ($factor * ceil($year / static::YEARS_PER_MILLENNIUM));
+
+            // @property int the timezone offset in seconds from UTC
+            case $name === 'offset':
+                return $this->getOffset();
+
+            // @property int the timezone offset in minutes from UTC
+            case $name === 'offsetMinutes':
+                return $this->getOffset() / static::SECONDS_PER_MINUTE;
+
+            // @property int the timezone offset in hours from UTC
+            case $name === 'offsetHours':
+                return $this->getOffset() / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR;
+
+            // @property-read bool daylight savings time indicator, true if DST, false otherwise
+            case $name === 'dst':
+                return $this->rawFormat('I') === '1';
+
+            // @property-read bool checks if the timezone is local, true if local, false otherwise
+            case $name === 'local':
+                return $this->getOffset() === $this->avoidMutation()->setTimezone(date_default_timezone_get())->getOffset();
+
+            // @property-read bool checks if the timezone is UTC, true if UTC, false otherwise
+            case $name === 'utc':
+                return $this->getOffset() === 0;
+
+            // @property CarbonTimeZone $timezone the current timezone
+            // @property CarbonTimeZone $tz alias of $timezone
+            case $name === 'timezone' || $name === 'tz':
+                return CarbonTimeZone::instance($this->getTimezone());
+
+            // @property-read string $timezoneName the current timezone name
+            // @property-read string $tzName alias of $timezoneName
+            case $name === 'timezoneName' || $name === 'tzName':
+                return $this->getTimezone()->getName();
+
+            // @property-read string locale of the current instance
+            case $name === 'locale':
+                return $this->getTranslatorLocale();
+
+            default:
+                $macro = $this->getLocalMacro('get'.ucfirst($name));
+
+                if ($macro) {
+                    return $this->executeCallableWithContext($macro);
+                }
+
+                throw new UnknownGetterException($name);
+        }
+    }
+
+    /**
+     * Check if an attribute exists on the object
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public function __isset($name)
+    {
+        try {
+            $this->__get($name);
+        } catch (UnknownGetterException | ReflectionException $e) {
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * Set a part of the Carbon object
+     *
+     * @param string                  $name
+     * @param string|int|DateTimeZone $value
+     *
+     * @throws UnknownSetterException|ReflectionException
+     *
+     * @return void
+     */
+    public function __set($name, $value)
+    {
+        if ($this->constructedObjectId === spl_object_hash($this)) {
+            $this->set($name, $value);
+
+            return;
+        }
+
+        $this->$name = $value;
+    }
+
+    /**
+     * Set a part of the Carbon object
+     *
+     * @param string|array            $name
+     * @param string|int|DateTimeZone $value
+     *
+     * @throws ImmutableException|UnknownSetterException
+     *
+     * @return $this
+     */
+    public function set($name, $value = null)
+    {
+        if ($this->isImmutable()) {
+            throw new ImmutableException(sprintf('%s class', static::class));
+        }
+
+        if (\is_array($name)) {
+            foreach ($name as $key => $value) {
+                $this->set($key, $value);
+            }
+
+            return $this;
+        }
+
+        switch ($name) {
+            case 'milliseconds':
+            case 'millisecond':
+            case 'milli':
+            case 'microseconds':
+            case 'microsecond':
+            case 'micro':
+                if (str_starts_with($name, 'milli')) {
+                    $value *= 1000;
+                }
+
+                while ($value < 0) {
+                    $this->subSecond();
+                    $value += static::MICROSECONDS_PER_SECOND;
+                }
+
+                while ($value >= static::MICROSECONDS_PER_SECOND) {
+                    $this->addSecond();
+                    $value -= static::MICROSECONDS_PER_SECOND;
+                }
+
+                $this->modify($this->rawFormat('H:i:s.').str_pad((string) round($value), 6, '0', STR_PAD_LEFT));
+
+                break;
+
+            case 'year':
+            case 'month':
+            case 'day':
+            case 'hour':
+            case 'minute':
+            case 'second':
+                [$year, $month, $day, $hour, $minute, $second] = array_map('intval', explode('-', $this->rawFormat('Y-n-j-G-i-s')));
+                $$name = $value;
+                $this->setDateTime($year, $month, $day, $hour, $minute, $second);
+
+                break;
+
+            case 'week':
+                $this->week($value);
+
+                break;
+
+            case 'isoWeek':
+                $this->isoWeek($value);
+
+                break;
+
+            case 'weekYear':
+                $this->weekYear($value);
+
+                break;
+
+            case 'isoWeekYear':
+                $this->isoWeekYear($value);
+
+                break;
+
+            case 'dayOfYear':
+                $this->addDays($value - $this->dayOfYear);
+
+                break;
+
+            case 'timestamp':
+                $this->setTimestamp($value);
+
+                break;
+
+            case 'offset':
+                $this->setTimezone(static::safeCreateDateTimeZone($value / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR));
+
+                break;
+
+            case 'offsetMinutes':
+                $this->setTimezone(static::safeCreateDateTimeZone($value / static::MINUTES_PER_HOUR));
+
+                break;
+
+            case 'offsetHours':
+                $this->setTimezone(static::safeCreateDateTimeZone($value));
+
+                break;
+
+            case 'timezone':
+            case 'tz':
+                $this->setTimezone($value);
+
+                break;
+
+            default:
+                $macro = $this->getLocalMacro('set'.ucfirst($name));
+
+                if ($macro) {
+                    $this->executeCallableWithContext($macro, $value);
+
+                    break;
+                }
+
+                if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) {
+                    throw new UnknownSetterException($name);
+                }
+
+                $this->$name = $value;
+        }
+
+        return $this;
+    }
+
+    protected function getTranslatedFormByRegExp($baseKey, $keySuffix, $context, $subKey, $defaultValue)
+    {
+        $key = $baseKey.$keySuffix;
+        $standaloneKey = "${key}_standalone";
+        $baseTranslation = $this->getTranslationMessage($key);
+
+        if ($baseTranslation instanceof Closure) {
+            return $baseTranslation($this, $context, $subKey) ?: $defaultValue;
+        }
+
+        if (
+            $this->getTranslationMessage("$standaloneKey.$subKey") &&
+            (!$context || ($regExp = $this->getTranslationMessage("${baseKey}_regexp")) && !preg_match($regExp, $context))
+        ) {
+            $key = $standaloneKey;
+        }
+
+        return $this->getTranslationMessage("$key.$subKey", null, $defaultValue);
+    }
+
+    /**
+     * Get the translation of the current week day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context      whole format string
+     * @param string      $keySuffix    "", "_short" or "_min"
+     * @param string|null $defaultValue default value if translation missing
+     *
+     * @return string
+     */
+    public function getTranslatedDayName($context = null, $keySuffix = '', $defaultValue = null)
+    {
+        return $this->getTranslatedFormByRegExp('weekdays', $keySuffix, $context, $this->dayOfWeek, $defaultValue ?: $this->englishDayOfWeek);
+    }
+
+    /**
+     * Get the translation of the current short week day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context whole format string
+     *
+     * @return string
+     */
+    public function getTranslatedShortDayName($context = null)
+    {
+        return $this->getTranslatedDayName($context, '_short', $this->shortEnglishDayOfWeek);
+    }
+
+    /**
+     * Get the translation of the current abbreviated week day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context whole format string
+     *
+     * @return string
+     */
+    public function getTranslatedMinDayName($context = null)
+    {
+        return $this->getTranslatedDayName($context, '_min', $this->shortEnglishDayOfWeek);
+    }
+
+    /**
+     * Get the translation of the current month day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context      whole format string
+     * @param string      $keySuffix    "" or "_short"
+     * @param string|null $defaultValue default value if translation missing
+     *
+     * @return string
+     */
+    public function getTranslatedMonthName($context = null, $keySuffix = '', $defaultValue = null)
+    {
+        return $this->getTranslatedFormByRegExp('months', $keySuffix, $context, $this->month - 1, $defaultValue ?: $this->englishMonth);
+    }
+
+    /**
+     * Get the translation of the current short month day name (with context for languages with multiple forms).
+     *
+     * @param string|null $context whole format string
+     *
+     * @return string
+     */
+    public function getTranslatedShortMonthName($context = null)
+    {
+        return $this->getTranslatedMonthName($context, '_short', $this->shortEnglishMonth);
+    }
+
+    /**
+     * Get/set the day of year.
+     *
+     * @param int|null $value new value for day of year if using as setter.
+     *
+     * @return static|int
+     */
+    public function dayOfYear($value = null)
+    {
+        $dayOfYear = $this->dayOfYear;
+
+        return $value === null ? $dayOfYear : $this->addDays($value - $dayOfYear);
+    }
+
+    /**
+     * Get/set the weekday from 0 (Sunday) to 6 (Saturday).
+     *
+     * @param int|null $value new value for weekday if using as setter.
+     *
+     * @return static|int
+     */
+    public function weekday($value = null)
+    {
+        $dayOfWeek = ($this->dayOfWeek + 7 - (int) ($this->getTranslationMessage('first_day_of_week') ?? 0)) % 7;
+
+        return $value === null ? $dayOfWeek : $this->addDays($value - $dayOfWeek);
+    }
+
+    /**
+     * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday).
+     *
+     * @param int|null $value new value for weekday if using as setter.
+     *
+     * @return static|int
+     */
+    public function isoWeekday($value = null)
+    {
+        $dayOfWeekIso = $this->dayOfWeekIso;
+
+        return $value === null ? $dayOfWeekIso : $this->addDays($value - $dayOfWeekIso);
+    }
+
+    /**
+     * Set any unit to a new value without overflowing current other unit given.
+     *
+     * @param string $valueUnit    unit name to modify
+     * @param int    $value        new value for the input unit
+     * @param string $overflowUnit unit name to not overflow
+     *
+     * @return static
+     */
+    public function setUnitNoOverflow($valueUnit, $value, $overflowUnit)
+    {
+        try {
+            $original = $this->avoidMutation();
+            /** @var static $date */
+            $date = $this->$valueUnit($value);
+            $end = $original->avoidMutation()->endOf($overflowUnit);
+            $start = $original->avoidMutation()->startOf($overflowUnit);
+            if ($date < $start) {
+                $date = $date->setDateTimeFrom($start);
+            } elseif ($date > $end) {
+                $date = $date->setDateTimeFrom($end);
+            }
+
+            return $date;
+        } catch (BadMethodCallException | ReflectionException $exception) {
+            throw new UnknownUnitException($valueUnit, 0, $exception);
+        }
+    }
+
+    /**
+     * Add any unit to a new value without overflowing current other unit given.
+     *
+     * @param string $valueUnit    unit name to modify
+     * @param int    $value        amount to add to the input unit
+     * @param string $overflowUnit unit name to not overflow
+     *
+     * @return static
+     */
+    public function addUnitNoOverflow($valueUnit, $value, $overflowUnit)
+    {
+        return $this->setUnitNoOverflow($valueUnit, $this->$valueUnit + $value, $overflowUnit);
+    }
+
+    /**
+     * Subtract any unit to a new value without overflowing current other unit given.
+     *
+     * @param string $valueUnit    unit name to modify
+     * @param int    $value        amount to subtract to the input unit
+     * @param string $overflowUnit unit name to not overflow
+     *
+     * @return static
+     */
+    public function subUnitNoOverflow($valueUnit, $value, $overflowUnit)
+    {
+        return $this->setUnitNoOverflow($valueUnit, $this->$valueUnit - $value, $overflowUnit);
+    }
+
+    /**
+     * Returns the minutes offset to UTC if no arguments passed, else set the timezone with given minutes shift passed.
+     *
+     * @param int|null $minuteOffset
+     *
+     * @return int|static
+     */
+    public function utcOffset(int $minuteOffset = null)
+    {
+        if (\func_num_args() < 1) {
+            return $this->offsetMinutes;
+        }
+
+        return $this->setTimezone(CarbonTimeZone::createFromMinuteOffset($minuteOffset));
+    }
+
+    /**
+     * Set the date with gregorian year, month and day numbers.
+     *
+     * @see https://php.net/manual/en/datetime.setdate.php
+     *
+     * @param int $year
+     * @param int $month
+     * @param int $day
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setDate($year, $month, $day)
+    {
+        return parent::setDate((int) $year, (int) $month, (int) $day);
+    }
+
+    /**
+     * Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
+     *
+     * @see https://php.net/manual/en/datetime.setisodate.php
+     *
+     * @param int $year
+     * @param int $week
+     * @param int $day
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setISODate($year, $week, $day = 1)
+    {
+        return parent::setISODate((int) $year, (int) $week, (int) $day);
+    }
+
+    /**
+     * Set the date and time all together.
+     *
+     * @param int $year
+     * @param int $month
+     * @param int $day
+     * @param int $hour
+     * @param int $minute
+     * @param int $second
+     * @param int $microseconds
+     *
+     * @return static
+     */
+    public function setDateTime($year, $month, $day, $hour, $minute, $second = 0, $microseconds = 0)
+    {
+        return $this->setDate($year, $month, $day)->setTime((int) $hour, (int) $minute, (int) $second, (int) $microseconds);
+    }
+
+    /**
+     * Resets the current time of the DateTime object to a different time.
+     *
+     * @see https://php.net/manual/en/datetime.settime.php
+     *
+     * @param int $hour
+     * @param int $minute
+     * @param int $second
+     * @param int $microseconds
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setTime($hour, $minute, $second = 0, $microseconds = 0)
+    {
+        return parent::setTime((int) $hour, (int) $minute, (int) $second, (int) $microseconds);
+    }
+
+    /**
+     * Set the instance's timestamp.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $unixTimestamp
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setTimestamp($unixTimestamp)
+    {
+        [$timestamp, $microseconds] = self::getIntegerAndDecimalParts($unixTimestamp);
+
+        return parent::setTimestamp((int) $timestamp)->setMicroseconds((int) $microseconds);
+    }
+
+    /**
+     * Set the time by time string.
+     *
+     * @param string $time
+     *
+     * @return static
+     */
+    public function setTimeFromTimeString($time)
+    {
+        if (!str_contains($time, ':')) {
+            $time .= ':0';
+        }
+
+        return $this->modify($time);
+    }
+
+    /**
+     * @alias setTimezone
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static
+     */
+    public function timezone($value)
+    {
+        return $this->setTimezone($value);
+    }
+
+    /**
+     * Set the timezone or returns the timezone name if no arguments passed.
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static|string
+     */
+    public function tz($value = null)
+    {
+        if (\func_num_args() < 1) {
+            return $this->tzName;
+        }
+
+        return $this->setTimezone($value);
+    }
+
+    /**
+     * Set the instance's timezone from a string or object.
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function setTimezone($value)
+    {
+        return parent::setTimezone(static::safeCreateDateTimeZone($value));
+    }
+
+    /**
+     * Set the instance's timezone from a string or object and add/subtract the offset difference.
+     *
+     * @param DateTimeZone|string $value
+     *
+     * @return static
+     */
+    public function shiftTimezone($value)
+    {
+        $offset = $this->offset;
+        $date = $this->setTimezone($value);
+
+        return $date->addRealMicroseconds(($offset - $date->offset) * static::MICROSECONDS_PER_SECOND);
+    }
+
+    /**
+     * Set the instance's timezone to UTC.
+     *
+     * @return static
+     */
+    public function utc()
+    {
+        return $this->setTimezone('UTC');
+    }
+
+    /**
+     * Set the year, month, and date for this instance to that of the passed instance.
+     *
+     * @param Carbon|DateTimeInterface $date now if null
+     *
+     * @return static
+     */
+    public function setDateFrom($date = null)
+    {
+        $date = $this->resolveCarbon($date);
+
+        return $this->setDate($date->year, $date->month, $date->day);
+    }
+
+    /**
+     * Set the hour, minute, second and microseconds for this instance to that of the passed instance.
+     *
+     * @param Carbon|DateTimeInterface $date now if null
+     *
+     * @return static
+     */
+    public function setTimeFrom($date = null)
+    {
+        $date = $this->resolveCarbon($date);
+
+        return $this->setTime($date->hour, $date->minute, $date->second, $date->microsecond);
+    }
+
+    /**
+     * Set the date and time for this instance to that of the passed instance.
+     *
+     * @param Carbon|DateTimeInterface $date
+     *
+     * @return static
+     */
+    public function setDateTimeFrom($date = null)
+    {
+        $date = $this->resolveCarbon($date);
+
+        return $this->modify($date->rawFormat('Y-m-d H:i:s.u'));
+    }
+
+    /**
+     * Get the days of the week
+     *
+     * @return array
+     */
+    public static function getDays()
+    {
+        return static::$days;
+    }
+
+    ///////////////////////////////////////////////////////////////////
+    /////////////////////// WEEK SPECIAL DAYS /////////////////////////
+    ///////////////////////////////////////////////////////////////////
+
+    private static function getFirstDayOfWeek(): int
+    {
+        return (int) static::getTranslationMessageWith(
+            static::getTranslator(),
+            'first_day_of_week'
+        );
+    }
+
+    /**
+     * Get the first day of week
+     *
+     * @return int
+     */
+    public static function getWeekStartsAt()
+    {
+        if (static::$weekStartsAt === static::WEEK_DAY_AUTO) {
+            return static::getFirstDayOfWeek();
+        }
+
+        return static::$weekStartsAt;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the
+     *             'first_day_of_week' locale setting to change the start of week according to current locale
+     *             selected and implicitly the end of week.
+     *
+     * Set the first day of week
+     *
+     * @param int|string $day week start day (or 'auto' to get the first day of week from Carbon::getLocale() culture).
+     *
+     * @return void
+     */
+    public static function setWeekStartsAt($day)
+    {
+        static::$weekStartsAt = $day === static::WEEK_DAY_AUTO ? $day : max(0, (7 + $day) % 7);
+    }
+
+    /**
+     * Get the last day of week
+     *
+     * @return int
+     */
+    public static function getWeekEndsAt()
+    {
+        if (static::$weekStartsAt === static::WEEK_DAY_AUTO) {
+            return (int) (static::DAYS_PER_WEEK - 1 + static::getFirstDayOfWeek()) % static::DAYS_PER_WEEK;
+        }
+
+        return static::$weekEndsAt;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek
+     *             or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the
+     *             start of week according to current locale selected and implicitly the end of week.
+     *
+     * Set the last day of week
+     *
+     * @param int|string $day week end day (or 'auto' to get the day before the first day of week
+     *                        from Carbon::getLocale() culture).
+     *
+     * @return void
+     */
+    public static function setWeekEndsAt($day)
+    {
+        static::$weekEndsAt = $day === static::WEEK_DAY_AUTO ? $day : max(0, (7 + $day) % 7);
+    }
+
+    /**
+     * Get weekend days
+     *
+     * @return array
+     */
+    public static function getWeekendDays()
+    {
+        return static::$weekendDays;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather consider week-end is always saturday and sunday, and if you have some custom
+     *             week-end days to handle, give to those days an other name and create a macro for them:
+     *
+     *             ```
+     *             Carbon::macro('isDayOff', function ($date) {
+     *                 return $date->isSunday() || $date->isMonday();
+     *             });
+     *             Carbon::macro('isNotDayOff', function ($date) {
+     *                 return !$date->isDayOff();
+     *             });
+     *             if ($someDate->isDayOff()) ...
+     *             if ($someDate->isNotDayOff()) ...
+     *             // Add 5 not-off days
+     *             $count = 5;
+     *             while ($someDate->isDayOff() || ($count-- > 0)) {
+     *                 $someDate->addDay();
+     *             }
+     *             ```
+     *
+     * Set weekend days
+     *
+     * @param array $days
+     *
+     * @return void
+     */
+    public static function setWeekendDays($days)
+    {
+        static::$weekendDays = $days;
+    }
+
+    /**
+     * Determine if a time string will produce a relative date.
+     *
+     * @param string $time
+     *
+     * @return bool true if time match a relative date, false if absolute or invalid time string
+     */
+    public static function hasRelativeKeywords($time)
+    {
+        if (!$time || strtotime($time) === false) {
+            return false;
+        }
+
+        $date1 = new DateTime('2000-01-01T00:00:00Z');
+        $date1->modify($time);
+        $date2 = new DateTime('2001-12-25T00:00:00Z');
+        $date2->modify($time);
+
+        return $date1 != $date2;
+    }
+
+    ///////////////////////////////////////////////////////////////////
+    /////////////////////// STRING FORMATTING /////////////////////////
+    ///////////////////////////////////////////////////////////////////
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use UTF-8 language packages on every machine.
+     *
+     * Set if UTF8 will be used for localized date/time.
+     *
+     * @param bool $utf8
+     */
+    public static function setUtf8($utf8)
+    {
+        static::$utf8 = $utf8;
+    }
+
+    /**
+     * Format the instance with the current locale.  You can set the current
+     * locale using setlocale() https://php.net/setlocale.
+     *
+     * @param string $format
+     *
+     * @return string
+     */
+    public function formatLocalized($format)
+    {
+        // Check for Windows to find and replace the %e modifier correctly.
+        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
+            $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format); // @codeCoverageIgnore
+        }
+
+        $formatted = strftime($format, strtotime($this->toDateTimeString()));
+
+        return static::$utf8 ? utf8_encode($formatted) : $formatted;
+    }
+
+    /**
+     * Returns list of locale formats for ISO formatting.
+     *
+     * @param string|null $locale current locale used if null
+     *
+     * @return array
+     */
+    public function getIsoFormats($locale = null)
+    {
+        return [
+            'LT' => $this->getTranslationMessage('formats.LT', $locale, 'h:mm A'),
+            'LTS' => $this->getTranslationMessage('formats.LTS', $locale, 'h:mm:ss A'),
+            'L' => $this->getTranslationMessage('formats.L', $locale, 'MM/DD/YYYY'),
+            'LL' => $this->getTranslationMessage('formats.LL', $locale, 'MMMM D, YYYY'),
+            'LLL' => $this->getTranslationMessage('formats.LLL', $locale, 'MMMM D, YYYY h:mm A'),
+            'LLLL' => $this->getTranslationMessage('formats.LLLL', $locale, 'dddd, MMMM D, YYYY h:mm A'),
+        ];
+    }
+
+    /**
+     * Returns list of calendar formats for ISO formatting.
+     *
+     * @param string|null $locale current locale used if null
+     *
+     * @return array
+     */
+    public function getCalendarFormats($locale = null)
+    {
+        return [
+            'sameDay' => $this->getTranslationMessage('calendar.sameDay', $locale, '[Today at] LT'),
+            'nextDay' => $this->getTranslationMessage('calendar.nextDay', $locale, '[Tomorrow at] LT'),
+            'nextWeek' => $this->getTranslationMessage('calendar.nextWeek', $locale, 'dddd [at] LT'),
+            'lastDay' => $this->getTranslationMessage('calendar.lastDay', $locale, '[Yesterday at] LT'),
+            'lastWeek' => $this->getTranslationMessage('calendar.lastWeek', $locale, '[Last] dddd [at] LT'),
+            'sameElse' => $this->getTranslationMessage('calendar.sameElse', $locale, 'L'),
+        ];
+    }
+
+    /**
+     * Returns list of locale units for ISO formatting.
+     *
+     * @return array
+     */
+    public static function getIsoUnits()
+    {
+        static $units = null;
+
+        if ($units === null) {
+            $units = [
+                'OD' => ['getAltNumber', ['day']],
+                'OM' => ['getAltNumber', ['month']],
+                'OY' => ['getAltNumber', ['year']],
+                'OH' => ['getAltNumber', ['hour']],
+                'Oh' => ['getAltNumber', ['h']],
+                'Om' => ['getAltNumber', ['minute']],
+                'Os' => ['getAltNumber', ['second']],
+                'D' => 'day',
+                'DD' => ['rawFormat', ['d']],
+                'Do' => ['ordinal', ['day', 'D']],
+                'd' => 'dayOfWeek',
+                'dd' => function (CarbonInterface $date, $originalFormat = null) {
+                    return $date->getTranslatedMinDayName($originalFormat);
+                },
+                'ddd' => function (CarbonInterface $date, $originalFormat = null) {
+                    return $date->getTranslatedShortDayName($originalFormat);
+                },
+                'dddd' => function (CarbonInterface $date, $originalFormat = null) {
+                    return $date->getTranslatedDayName($originalFormat);
+                },
+                'DDD' => 'dayOfYear',
+                'DDDD' => ['getPaddedUnit', ['dayOfYear', 3]],
+                'DDDo' => ['ordinal', ['dayOfYear', 'DDD']],
+                'e' => ['weekday', []],
+                'E' => 'dayOfWeekIso',
+                'H' => ['rawFormat', ['G']],
+                'HH' => ['rawFormat', ['H']],
+                'h' => ['rawFormat', ['g']],
+                'hh' => ['rawFormat', ['h']],
+                'k' => 'noZeroHour',
+                'kk' => ['getPaddedUnit', ['noZeroHour']],
+                'hmm' => ['rawFormat', ['gi']],
+                'hmmss' => ['rawFormat', ['gis']],
+                'Hmm' => ['rawFormat', ['Gi']],
+                'Hmmss' => ['rawFormat', ['Gis']],
+                'm' => 'minute',
+                'mm' => ['rawFormat', ['i']],
+                'a' => 'meridiem',
+                'A' => 'upperMeridiem',
+                's' => 'second',
+                'ss' => ['getPaddedUnit', ['second']],
+                'S' => function (CarbonInterface $date) {
+                    return (string) floor($date->micro / 100000);
+                },
+                'SS' => function (CarbonInterface $date) {
+                    return str_pad((string) floor($date->micro / 10000), 2, '0', STR_PAD_LEFT);
+                },
+                'SSS' => function (CarbonInterface $date) {
+                    return str_pad((string) floor($date->micro / 1000), 3, '0', STR_PAD_LEFT);
+                },
+                'SSSS' => function (CarbonInterface $date) {
+                    return str_pad((string) floor($date->micro / 100), 4, '0', STR_PAD_LEFT);
+                },
+                'SSSSS' => function (CarbonInterface $date) {
+                    return str_pad((string) floor($date->micro / 10), 5, '0', STR_PAD_LEFT);
+                },
+                'SSSSSS' => ['getPaddedUnit', ['micro', 6]],
+                'SSSSSSS' => function (CarbonInterface $date) {
+                    return str_pad((string) floor($date->micro * 10), 7, '0', STR_PAD_LEFT);
+                },
+                'SSSSSSSS' => function (CarbonInterface $date) {
+                    return str_pad((string) floor($date->micro * 100), 8, '0', STR_PAD_LEFT);
+                },
+                'SSSSSSSSS' => function (CarbonInterface $date) {
+                    return str_pad((string) floor($date->micro * 1000), 9, '0', STR_PAD_LEFT);
+                },
+                'M' => 'month',
+                'MM' => ['rawFormat', ['m']],
+                'MMM' => function (CarbonInterface $date, $originalFormat = null) {
+                    $month = $date->getTranslatedShortMonthName($originalFormat);
+                    $suffix = $date->getTranslationMessage('mmm_suffix');
+                    if ($suffix && $month !== $date->monthName) {
+                        $month .= $suffix;
+                    }
+
+                    return $month;
+                },
+                'MMMM' => function (CarbonInterface $date, $originalFormat = null) {
+                    return $date->getTranslatedMonthName($originalFormat);
+                },
+                'Mo' => ['ordinal', ['month', 'M']],
+                'Q' => 'quarter',
+                'Qo' => ['ordinal', ['quarter', 'M']],
+                'G' => 'isoWeekYear',
+                'GG' => ['getPaddedUnit', ['isoWeekYear']],
+                'GGG' => ['getPaddedUnit', ['isoWeekYear', 3]],
+                'GGGG' => ['getPaddedUnit', ['isoWeekYear', 4]],
+                'GGGGG' => ['getPaddedUnit', ['isoWeekYear', 5]],
+                'g' => 'weekYear',
+                'gg' => ['getPaddedUnit', ['weekYear']],
+                'ggg' => ['getPaddedUnit', ['weekYear', 3]],
+                'gggg' => ['getPaddedUnit', ['weekYear', 4]],
+                'ggggg' => ['getPaddedUnit', ['weekYear', 5]],
+                'W' => 'isoWeek',
+                'WW' => ['getPaddedUnit', ['isoWeek']],
+                'Wo' => ['ordinal', ['isoWeek', 'W']],
+                'w' => 'week',
+                'ww' => ['getPaddedUnit', ['week']],
+                'wo' => ['ordinal', ['week', 'w']],
+                'x' => ['valueOf', []],
+                'X' => 'timestamp',
+                'Y' => 'year',
+                'YY' => ['rawFormat', ['y']],
+                'YYYY' => ['getPaddedUnit', ['year', 4]],
+                'YYYYY' => ['getPaddedUnit', ['year', 5]],
+                'YYYYYY' => function (CarbonInterface $date) {
+                    return ($date->year < 0 ? '' : '+').$date->getPaddedUnit('year', 6);
+                },
+                'z' => ['rawFormat', ['T']],
+                'zz' => 'tzName',
+                'Z' => ['getOffsetString', []],
+                'ZZ' => ['getOffsetString', ['']],
+            ];
+        }
+
+        return $units;
+    }
+
+    /**
+     * Returns a unit of the instance padded with 0 by default or any other string if specified.
+     *
+     * @param string $unit      Carbon unit name
+     * @param int    $length    Length of the output (2 by default)
+     * @param string $padString String to use for padding ("0" by default)
+     * @param int    $padType   Side(s) to pad (STR_PAD_LEFT by default)
+     *
+     * @return string
+     */
+    public function getPaddedUnit($unit, $length = 2, $padString = '0', $padType = STR_PAD_LEFT)
+    {
+        return ($this->$unit < 0 ? '-' : '').str_pad((string) abs($this->$unit), $length, $padString, $padType);
+    }
+
+    /**
+     * Return a property with its ordinal.
+     *
+     * @param string      $key
+     * @param string|null $period
+     *
+     * @return string
+     */
+    public function ordinal(string $key, ?string $period = null): string
+    {
+        $number = $this->$key;
+        $result = $this->translate('ordinal', [
+            ':number' => $number,
+            ':period' => (string) $period,
+        ]);
+
+        return (string) ($result === 'ordinal' ? $number : $result);
+    }
+
+    /**
+     * Return the meridiem of the current time in the current locale.
+     *
+     * @param bool $isLower if true, returns lowercase variant if available in the current locale.
+     *
+     * @return string
+     */
+    public function meridiem(bool $isLower = false): string
+    {
+        $hour = $this->hour;
+        $index = $hour < 12 ? 0 : 1;
+
+        if ($isLower) {
+            $key = 'meridiem.'.($index + 2);
+            $result = $this->translate($key);
+
+            if ($result !== $key) {
+                return $result;
+            }
+        }
+
+        $key = "meridiem.$index";
+        $result = $this->translate($key);
+        if ($result === $key) {
+            $result = $this->translate('meridiem', [
+                ':hour' => $this->hour,
+                ':minute' => $this->minute,
+                ':isLower' => $isLower,
+            ]);
+
+            if ($result === 'meridiem') {
+                return $isLower ? $this->latinMeridiem : $this->latinUpperMeridiem;
+            }
+        } elseif ($isLower) {
+            $result = mb_strtolower($result);
+        }
+
+        return $result;
+    }
+
+    /**
+     * Returns the alternative number for a given date property if available in the current locale.
+     *
+     * @param string $key date property
+     *
+     * @return string
+     */
+    public function getAltNumber(string $key): string
+    {
+        return $this->translateNumber(\strlen($key) > 1 ? $this->$key : $this->rawFormat('h'));
+    }
+
+    /**
+     * Format in the current language using ISO replacement patterns.
+     *
+     * @param string      $format
+     * @param string|null $originalFormat provide context if a chunk has been passed alone
+     *
+     * @return string
+     */
+    public function isoFormat(string $format, ?string $originalFormat = null): string
+    {
+        $result = '';
+        $length = mb_strlen($format);
+        $originalFormat = $originalFormat ?: $format;
+        $inEscaped = false;
+        $formats = null;
+        $units = null;
+
+        for ($i = 0; $i < $length; $i++) {
+            $char = mb_substr($format, $i, 1);
+
+            if ($char === '\\') {
+                $result .= mb_substr($format, ++$i, 1);
+
+                continue;
+            }
+
+            if ($char === '[' && !$inEscaped) {
+                $inEscaped = true;
+
+                continue;
+            }
+
+            if ($char === ']' && $inEscaped) {
+                $inEscaped = false;
+
+                continue;
+            }
+
+            if ($inEscaped) {
+                $result .= $char;
+
+                continue;
+            }
+
+            $input = mb_substr($format, $i);
+
+            if (preg_match('/^(LTS|LT|[Ll]{1,4})/', $input, $match)) {
+                if ($formats === null) {
+                    $formats = $this->getIsoFormats();
+                }
+
+                $code = $match[0];
+                $sequence = $formats[$code] ?? preg_replace_callback(
+                    '/MMMM|MM|DD|dddd/',
+                    function ($code) {
+                        return mb_substr($code[0], 1);
+                    },
+                    $formats[strtoupper($code)] ?? ''
+                );
+                $rest = mb_substr($format, $i + mb_strlen($code));
+                $format = mb_substr($format, 0, $i).$sequence.$rest;
+                $length = mb_strlen($format);
+                $input = $sequence.$rest;
+            }
+
+            if (preg_match('/^'.CarbonInterface::ISO_FORMAT_REGEXP.'/', $input, $match)) {
+                $code = $match[0];
+
+                if ($units === null) {
+                    $units = static::getIsoUnits();
+                }
+
+                $sequence = $units[$code] ?? '';
+
+                if ($sequence instanceof Closure) {
+                    $sequence = $sequence($this, $originalFormat);
+                } elseif (\is_array($sequence)) {
+                    try {
+                        $sequence = $this->{$sequence[0]}(...$sequence[1]);
+                    } catch (ReflectionException | InvalidArgumentException | BadMethodCallException $e) {
+                        $sequence = '';
+                    }
+                } elseif (\is_string($sequence)) {
+                    $sequence = $this->$sequence ?? $code;
+                }
+
+                $format = mb_substr($format, 0, $i).$sequence.mb_substr($format, $i + mb_strlen($code));
+                $i += mb_strlen((string) $sequence) - 1;
+                $length = mb_strlen($format);
+                $char = $sequence;
+            }
+
+            $result .= $char;
+        }
+
+        return $result;
+    }
+
+    /**
+     * List of replacements from date() format to isoFormat().
+     *
+     * @return array
+     */
+    public static function getFormatsToIsoReplacements()
+    {
+        static $replacements = null;
+
+        if ($replacements === null) {
+            $replacements = [
+                'd' => true,
+                'D' => 'ddd',
+                'j' => true,
+                'l' => 'dddd',
+                'N' => true,
+                'S' => function ($date) {
+                    $day = $date->rawFormat('j');
+
+                    return str_replace((string) $day, '', $date->isoFormat('Do'));
+                },
+                'w' => true,
+                'z' => true,
+                'W' => true,
+                'F' => 'MMMM',
+                'm' => true,
+                'M' => 'MMM',
+                'n' => true,
+                't' => true,
+                'L' => true,
+                'o' => true,
+                'Y' => true,
+                'y' => true,
+                'a' => 'a',
+                'A' => 'A',
+                'B' => true,
+                'g' => true,
+                'G' => true,
+                'h' => true,
+                'H' => true,
+                'i' => true,
+                's' => true,
+                'u' => true,
+                'v' => true,
+                'E' => true,
+                'I' => true,
+                'O' => true,
+                'P' => true,
+                'Z' => true,
+                'c' => true,
+                'r' => true,
+                'U' => true,
+            ];
+        }
+
+        return $replacements;
+    }
+
+    /**
+     * Format as ->format() do (using date replacements patterns from https://php.net/manual/en/function.date.php)
+     * but translate words whenever possible (months, day names, etc.) using the current locale.
+     *
+     * @param string $format
+     *
+     * @return string
+     */
+    public function translatedFormat(string $format): string
+    {
+        $replacements = static::getFormatsToIsoReplacements();
+        $context = '';
+        $isoFormat = '';
+        $length = mb_strlen($format);
+
+        for ($i = 0; $i < $length; $i++) {
+            $char = mb_substr($format, $i, 1);
+
+            if ($char === '\\') {
+                $replacement = mb_substr($format, $i, 2);
+                $isoFormat .= $replacement;
+                $i++;
+
+                continue;
+            }
+
+            if (!isset($replacements[$char])) {
+                $replacement = preg_match('/^[A-Za-z]$/', $char) ? "\\$char" : $char;
+                $isoFormat .= $replacement;
+                $context .= $replacement;
+
+                continue;
+            }
+
+            $replacement = $replacements[$char];
+
+            if ($replacement === true) {
+                static $contextReplacements = null;
+
+                if ($contextReplacements === null) {
+                    $contextReplacements = [
+                        'm' => 'MM',
+                        'd' => 'DD',
+                        't' => 'D',
+                        'j' => 'D',
+                        'N' => 'e',
+                        'w' => 'e',
+                        'n' => 'M',
+                        'o' => 'YYYY',
+                        'Y' => 'YYYY',
+                        'y' => 'YY',
+                        'g' => 'h',
+                        'G' => 'H',
+                        'h' => 'hh',
+                        'H' => 'HH',
+                        'i' => 'mm',
+                        's' => 'ss',
+                    ];
+                }
+
+                $isoFormat .= '['.$this->rawFormat($char).']';
+                $context .= $contextReplacements[$char] ?? ' ';
+
+                continue;
+            }
+
+            if ($replacement instanceof Closure) {
+                $replacement = '['.$replacement($this).']';
+                $isoFormat .= $replacement;
+                $context .= $replacement;
+
+                continue;
+            }
+
+            $isoFormat .= $replacement;
+            $context .= $replacement;
+        }
+
+        return $this->isoFormat($isoFormat, $context);
+    }
+
+    /**
+     * Returns the offset hour and minute formatted with +/- and a given separator (":" by default).
+     * For example, if the time zone is 9 hours 30 minutes, you'll get "+09:30", with "@@" as first
+     * argument, "+09@@30", with "" as first argument, "+0930". Negative offset will return something
+     * like "-12:00".
+     *
+     * @param string $separator string to place between hours and minutes (":" by default)
+     *
+     * @return string
+     */
+    public function getOffsetString($separator = ':')
+    {
+        $second = $this->getOffset();
+        $symbol = $second < 0 ? '-' : '+';
+        $minute = abs($second) / static::SECONDS_PER_MINUTE;
+        $hour = str_pad((string) floor($minute / static::MINUTES_PER_HOUR), 2, '0', STR_PAD_LEFT);
+        $minute = str_pad((string) ($minute % static::MINUTES_PER_HOUR), 2, '0', STR_PAD_LEFT);
+
+        return "$symbol$hour$separator$minute";
+    }
+
+    protected static function executeStaticCallable($macro, ...$parameters)
+    {
+        return static::bindMacroContext(null, function () use (&$macro, &$parameters) {
+            if ($macro instanceof Closure) {
+                $boundMacro = @Closure::bind($macro, null, static::class);
+
+                return ($boundMacro ?: $macro)(...$parameters);
+            }
+
+            return $macro(...$parameters);
+        });
+    }
+
+    /**
+     * Dynamically handle calls to the class.
+     *
+     * @param string $method     magic method name called
+     * @param array  $parameters parameters list
+     *
+     * @throws BadMethodCallException
+     *
+     * @return mixed
+     */
+    public static function __callStatic($method, $parameters)
+    {
+        if (!static::hasMacro($method)) {
+            foreach (static::getGenericMacros() as $callback) {
+                try {
+                    return static::executeStaticCallable($callback, $method, ...$parameters);
+                } catch (BadMethodCallException $exception) {
+                    continue;
+                }
+            }
+            if (static::isStrictModeEnabled()) {
+                throw new UnknownMethodException(sprintf('%s::%s', static::class, $method));
+            }
+
+            return null;
+        }
+
+        return static::executeStaticCallable(static::$globalMacros[$method], ...$parameters);
+    }
+
+    /**
+     * Set specified unit to new given value.
+     *
+     * @param string $unit  year, month, day, hour, minute, second or microsecond
+     * @param int    $value new value for given unit
+     *
+     * @return static
+     */
+    public function setUnit($unit, $value = null)
+    {
+        $unit = static::singularUnit($unit);
+        $dateUnits = ['year', 'month', 'day'];
+        if (\in_array($unit, $dateUnits)) {
+            return $this->setDate(...array_map(function ($name) use ($unit, $value) {
+                return (int) ($name === $unit ? $value : $this->$name);
+            }, $dateUnits));
+        }
+
+        $units = ['hour', 'minute', 'second', 'micro'];
+        if ($unit === 'millisecond' || $unit === 'milli') {
+            $value *= 1000;
+            $unit = 'micro';
+        } elseif ($unit === 'microsecond') {
+            $unit = 'micro';
+        }
+
+        return $this->setTime(...array_map(function ($name) use ($unit, $value) {
+            return (int) ($name === $unit ? $value : $this->$name);
+        }, $units));
+    }
+
+    /**
+     * Returns standardized singular of a given singular/plural unit name (in English).
+     *
+     * @param string $unit
+     *
+     * @return string
+     */
+    public static function singularUnit(string $unit): string
+    {
+        $unit = rtrim(mb_strtolower($unit), 's');
+
+        if ($unit === 'centurie') {
+            return 'century';
+        }
+
+        if ($unit === 'millennia') {
+            return 'millennium';
+        }
+
+        return $unit;
+    }
+
+    /**
+     * Returns standardized plural of a given singular/plural unit name (in English).
+     *
+     * @param string $unit
+     *
+     * @return string
+     */
+    public static function pluralUnit(string $unit): string
+    {
+        $unit = rtrim(strtolower($unit), 's');
+
+        if ($unit === 'century') {
+            return 'centuries';
+        }
+
+        if ($unit === 'millennium' || $unit === 'millennia') {
+            return 'millennia';
+        }
+
+        return "${unit}s";
+    }
+
+    protected function executeCallable($macro, ...$parameters)
+    {
+        if ($macro instanceof Closure) {
+            $boundMacro = @$macro->bindTo($this, static::class) ?: @$macro->bindTo(null, static::class);
+
+            return ($boundMacro ?: $macro)(...$parameters);
+        }
+
+        return $macro(...$parameters);
+    }
+
+    protected function executeCallableWithContext($macro, ...$parameters)
+    {
+        return static::bindMacroContext($this, function () use (&$macro, &$parameters) {
+            return $this->executeCallable($macro, ...$parameters);
+        });
+    }
+
+    protected static function getGenericMacros()
+    {
+        foreach (static::$globalGenericMacros as $list) {
+            foreach ($list as $macro) {
+                yield $macro;
+            }
+        }
+    }
+
+    /**
+     * Dynamically handle calls to the class.
+     *
+     * @param string $method     magic method name called
+     * @param array  $parameters parameters list
+     *
+     * @throws UnknownMethodException|BadMethodCallException|ReflectionException|Throwable
+     *
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        $diffSizes = [
+            // @mode diffForHumans
+            'short' => true,
+            // @mode diffForHumans
+            'long' => false,
+        ];
+        $diffSyntaxModes = [
+            // @call diffForHumans
+            'Absolute' => CarbonInterface::DIFF_ABSOLUTE,
+            // @call diffForHumans
+            'Relative' => CarbonInterface::DIFF_RELATIVE_AUTO,
+            // @call diffForHumans
+            'RelativeToNow' => CarbonInterface::DIFF_RELATIVE_TO_NOW,
+            // @call diffForHumans
+            'RelativeToOther' => CarbonInterface::DIFF_RELATIVE_TO_OTHER,
+        ];
+        $sizePattern = implode('|', array_keys($diffSizes));
+        $syntaxPattern = implode('|', array_keys($diffSyntaxModes));
+
+        if (preg_match("/^(?<size>$sizePattern)(?<syntax>$syntaxPattern)DiffForHumans$/", $method, $match)) {
+            $dates = array_filter($parameters, function ($parameter) {
+                return $parameter instanceof DateTimeInterface;
+            });
+            $other = null;
+
+            if (\count($dates)) {
+                $key = key($dates);
+                $other = current($dates);
+                array_splice($parameters, $key, 1);
+            }
+
+            return $this->diffForHumans($other, $diffSyntaxModes[$match['syntax']], $diffSizes[$match['size']], ...$parameters);
+        }
+
+        $roundedValue = $this->callRoundMethod($method, $parameters);
+
+        if ($roundedValue !== null) {
+            return $roundedValue;
+        }
+
+        $unit = rtrim($method, 's');
+
+        if (str_starts_with($unit, 'is')) {
+            $word = substr($unit, 2);
+
+            if (\in_array($word, static::$days)) {
+                return $this->isDayOfWeek($word);
+            }
+
+            switch ($word) {
+                // @call is Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.)
+                case 'Utc':
+                case 'UTC':
+                    return $this->utc;
+                // @call is Check if the current instance has non-UTC timezone.
+                case 'Local':
+                    return $this->local;
+                // @call is Check if the current instance is a valid date.
+                case 'Valid':
+                    return $this->year !== 0;
+                // @call is Check if the current instance is in a daylight saving time.
+                case 'DST':
+                    return $this->dst;
+            }
+        }
+
+        $action = substr($unit, 0, 3);
+        $overflow = null;
+
+        if ($action === 'set') {
+            $unit = strtolower(substr($unit, 3));
+        }
+
+        if (\in_array($unit, static::$units)) {
+            return $this->setUnit($unit, ...$parameters);
+        }
+
+        if ($action === 'add' || $action === 'sub') {
+            $unit = substr($unit, 3);
+
+            if (str_starts_with($unit, 'Real')) {
+                $unit = static::singularUnit(substr($unit, 4));
+
+                return $this->{"${action}RealUnit"}($unit, ...$parameters);
+            }
+
+            if (preg_match('/^(Month|Quarter|Year|Decade|Century|Centurie|Millennium|Millennia)s?(No|With|Without|WithNo)Overflow$/', $unit, $match)) {
+                $unit = $match[1];
+                $overflow = $match[2] === 'With';
+            }
+
+            $unit = static::singularUnit($unit);
+        }
+
+        if (static::isModifiableUnit($unit)) {
+            return $this->{"${action}Unit"}($unit, $parameters[0] ?? 1, $overflow);
+        }
+
+        $sixFirstLetters = substr($unit, 0, 6);
+        $factor = -1;
+
+        if ($sixFirstLetters === 'isLast') {
+            $sixFirstLetters = 'isNext';
+            $factor = 1;
+        }
+
+        if ($sixFirstLetters === 'isNext') {
+            $lowerUnit = strtolower(substr($unit, 6));
+
+            if (static::isModifiableUnit($lowerUnit)) {
+                return $this->copy()->addUnit($lowerUnit, $factor, false)->isSameUnit($lowerUnit, ...$parameters);
+            }
+        }
+
+        if ($sixFirstLetters === 'isSame') {
+            try {
+                return $this->isSameUnit(strtolower(substr($unit, 6)), ...$parameters);
+            } catch (BadComparisonUnitException $exception) {
+                // Try next
+            }
+        }
+
+        if (str_starts_with($unit, 'isCurrent')) {
+            try {
+                return $this->isCurrentUnit(strtolower(substr($unit, 9)));
+            } catch (BadComparisonUnitException | BadMethodCallException $exception) {
+                // Try next
+            }
+        }
+
+        if (str_ends_with($method, 'Until')) {
+            try {
+                $unit = static::singularUnit(substr($method, 0, -5));
+
+                return $this->range($parameters[0] ?? $this, $parameters[1] ?? 1, $unit);
+            } catch (InvalidArgumentException $exception) {
+                // Try macros
+            }
+        }
+
+        return static::bindMacroContext($this, function () use (&$method, &$parameters) {
+            $macro = $this->getLocalMacro($method);
+
+            if (!$macro) {
+                foreach ([$this->localGenericMacros ?: [], static::getGenericMacros()] as $list) {
+                    foreach ($list as $callback) {
+                        try {
+                            return $this->executeCallable($callback, $method, ...$parameters);
+                        } catch (BadMethodCallException $exception) {
+                            continue;
+                        }
+                    }
+                }
+
+                if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) {
+                    throw new UnknownMethodException($method);
+                }
+
+                return null;
+            }
+
+            return $this->executeCallable($macro, ...$parameters);
+        });
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php
new file mode 100644
index 0000000..b1cdd6e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php
@@ -0,0 +1,1141 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\Carbon;
+use Carbon\CarbonImmutable;
+use Carbon\CarbonInterface;
+use Carbon\CarbonInterval;
+use Carbon\CarbonPeriod;
+use Carbon\Translator;
+use Closure;
+use DateInterval;
+use DateTimeInterface;
+use ReturnTypeWillChange;
+
+/**
+ * Trait Difference.
+ *
+ * Depends on the following methods:
+ *
+ * @method bool lessThan($date)
+ * @method static copy()
+ * @method static resolveCarbon($date = null)
+ * @method static Translator translator()
+ */
+trait Difference
+{
+    /**
+     * @codeCoverageIgnore
+     *
+     * @param CarbonInterval $diff
+     */
+    protected static function fixNegativeMicroseconds(CarbonInterval $diff)
+    {
+        if ($diff->s !== 0 || $diff->i !== 0 || $diff->h !== 0 || $diff->d !== 0 || $diff->m !== 0 || $diff->y !== 0) {
+            $diff->f = (round($diff->f * 1000000) + 1000000) / 1000000;
+            $diff->s--;
+
+            if ($diff->s < 0) {
+                $diff->s += 60;
+                $diff->i--;
+
+                if ($diff->i < 0) {
+                    $diff->i += 60;
+                    $diff->h--;
+
+                    if ($diff->h < 0) {
+                        $diff->h += 24;
+                        $diff->d--;
+
+                        if ($diff->d < 0) {
+                            $diff->d += 30;
+                            $diff->m--;
+
+                            if ($diff->m < 0) {
+                                $diff->m += 12;
+                                $diff->y--;
+                            }
+                        }
+                    }
+                }
+            }
+
+            return;
+        }
+
+        $diff->f *= -1;
+        $diff->invert();
+    }
+
+    /**
+     * @param DateInterval $diff
+     * @param bool         $absolute
+     *
+     * @return CarbonInterval
+     */
+    protected static function fixDiffInterval(DateInterval $diff, $absolute)
+    {
+        $diff = CarbonInterval::instance($diff);
+
+        // Work-around for https://bugs.php.net/bug.php?id=77145
+        // @codeCoverageIgnoreStart
+        if ($diff->f > 0 && $diff->y === -1 && $diff->m === 11 && $diff->d >= 27 && $diff->h === 23 && $diff->i === 59 && $diff->s === 59) {
+            $diff->y = 0;
+            $diff->m = 0;
+            $diff->d = 0;
+            $diff->h = 0;
+            $diff->i = 0;
+            $diff->s = 0;
+            $diff->f = (1000000 - round($diff->f * 1000000)) / 1000000;
+            $diff->invert();
+        } elseif ($diff->f < 0) {
+            static::fixNegativeMicroseconds($diff);
+        }
+        // @codeCoverageIgnoreEnd
+
+        if ($absolute && $diff->invert) {
+            $diff->invert();
+        }
+
+        return $diff;
+    }
+
+    /**
+     * Get the difference as a DateInterval instance.
+     * Return relative interval (negative if
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return DateInterval
+     */
+    #[ReturnTypeWillChange]
+    public function diff($date = null, $absolute = false)
+    {
+        $other = $this->resolveCarbon($date);
+
+        // Can be removed if https://github.com/derickr/timelib/pull/110
+        // is merged
+        // @codeCoverageIgnoreStart
+        if (version_compare(PHP_VERSION, '8.1.0-dev', '>=') && $other->tz !== $this->tz) {
+            $other = $other->avoidMutation()->tz($this->tz);
+        }
+        // @codeCoverageIgnoreEnd
+
+        return parent::diff($other, (bool) $absolute);
+    }
+
+    /**
+     * Get the difference as a CarbonInterval instance.
+     * Return absolute interval (always positive) unless you pass false to the second argument.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return CarbonInterval
+     */
+    public function diffAsCarbonInterval($date = null, $absolute = true)
+    {
+        return static::fixDiffInterval($this->diff($this->resolveCarbon($date), $absolute), $absolute);
+    }
+
+    /**
+     * Get the difference in years
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInYears($date = null, $absolute = true)
+    {
+        return (int) $this->diff($this->resolveCarbon($date), $absolute)->format('%r%y');
+    }
+
+    /**
+     * Get the difference in quarters rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInQuarters($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInMonths($date, $absolute) / static::MONTHS_PER_QUARTER);
+    }
+
+    /**
+     * Get the difference in months rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMonths($date = null, $absolute = true)
+    {
+        $date = $this->resolveCarbon($date);
+
+        return $this->diffInYears($date, $absolute) * static::MONTHS_PER_YEAR + (int) $this->diff($date, $absolute)->format('%r%m');
+    }
+
+    /**
+     * Get the difference in weeks rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInWeeks($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInDays($date, $absolute) / static::DAYS_PER_WEEK);
+    }
+
+    /**
+     * Get the difference in days rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInDays($date = null, $absolute = true)
+    {
+        return (int) $this->diff($this->resolveCarbon($date), $absolute)->format('%r%a');
+    }
+
+    /**
+     * Get the difference in days using a filter closure rounded down.
+     *
+     * @param Closure                                                $callback
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInDaysFiltered(Closure $callback, $date = null, $absolute = true)
+    {
+        return $this->diffFiltered(CarbonInterval::day(), $callback, $date, $absolute);
+    }
+
+    /**
+     * Get the difference in hours using a filter closure rounded down.
+     *
+     * @param Closure                                                $callback
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInHoursFiltered(Closure $callback, $date = null, $absolute = true)
+    {
+        return $this->diffFiltered(CarbonInterval::hour(), $callback, $date, $absolute);
+    }
+
+    /**
+     * Get the difference by the given interval using a filter closure.
+     *
+     * @param CarbonInterval                                         $ci       An interval to traverse by
+     * @param Closure                                                $callback
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffFiltered(CarbonInterval $ci, Closure $callback, $date = null, $absolute = true)
+    {
+        $start = $this;
+        $end = $this->resolveCarbon($date);
+        $inverse = false;
+
+        if ($end < $start) {
+            $start = $end;
+            $end = $this;
+            $inverse = true;
+        }
+
+        $options = CarbonPeriod::EXCLUDE_END_DATE | ($this->isMutable() ? 0 : CarbonPeriod::IMMUTABLE);
+        $diff = $ci->toPeriod($start, $end, $options)->filter($callback)->count();
+
+        return $inverse && !$absolute ? -$diff : $diff;
+    }
+
+    /**
+     * Get the difference in weekdays rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInWeekdays($date = null, $absolute = true)
+    {
+        return $this->diffInDaysFiltered(function (CarbonInterface $date) {
+            return $date->isWeekday();
+        }, $date, $absolute);
+    }
+
+    /**
+     * Get the difference in weekend days using a filter rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInWeekendDays($date = null, $absolute = true)
+    {
+        return $this->diffInDaysFiltered(function (CarbonInterface $date) {
+            return $date->isWeekend();
+        }, $date, $absolute);
+    }
+
+    /**
+     * Get the difference in hours rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInHours($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInSeconds($date, $absolute) / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR);
+    }
+
+    /**
+     * Get the difference in hours rounded down using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealHours($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInRealSeconds($date, $absolute) / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR);
+    }
+
+    /**
+     * Get the difference in minutes rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMinutes($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInSeconds($date, $absolute) / static::SECONDS_PER_MINUTE);
+    }
+
+    /**
+     * Get the difference in minutes rounded down using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealMinutes($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInRealSeconds($date, $absolute) / static::SECONDS_PER_MINUTE);
+    }
+
+    /**
+     * Get the difference in seconds rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInSeconds($date = null, $absolute = true)
+    {
+        $diff = $this->diff($date);
+
+        if ($diff->days === 0) {
+            $diff = static::fixDiffInterval($diff, $absolute);
+        }
+
+        $value = (((($diff->m || $diff->y ? $diff->days : $diff->d) * static::HOURS_PER_DAY) +
+            $diff->h) * static::MINUTES_PER_HOUR +
+            $diff->i) * static::SECONDS_PER_MINUTE +
+            $diff->s;
+
+        return $absolute || !$diff->invert ? $value : -$value;
+    }
+
+    /**
+     * Get the difference in microseconds.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMicroseconds($date = null, $absolute = true)
+    {
+        $diff = $this->diff($date);
+        $value = (int) round(((((($diff->m || $diff->y ? $diff->days : $diff->d) * static::HOURS_PER_DAY) +
+            $diff->h) * static::MINUTES_PER_HOUR +
+            $diff->i) * static::SECONDS_PER_MINUTE +
+            ($diff->f + $diff->s)) * static::MICROSECONDS_PER_SECOND);
+
+        return $absolute || !$diff->invert ? $value : -$value;
+    }
+
+    /**
+     * Get the difference in milliseconds rounded down.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInMilliseconds($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInMicroseconds($date, $absolute) / static::MICROSECONDS_PER_MILLISECOND);
+    }
+
+    /**
+     * Get the difference in seconds using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealSeconds($date = null, $absolute = true)
+    {
+        /** @var CarbonInterface $date */
+        $date = $this->resolveCarbon($date);
+        $value = $date->getTimestamp() - $this->getTimestamp();
+
+        return $absolute ? abs($value) : $value;
+    }
+
+    /**
+     * Get the difference in microseconds using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealMicroseconds($date = null, $absolute = true)
+    {
+        /** @var CarbonInterface $date */
+        $date = $this->resolveCarbon($date);
+        $value = ($date->timestamp - $this->timestamp) * static::MICROSECONDS_PER_SECOND +
+            $date->micro - $this->micro;
+
+        return $absolute ? abs($value) : $value;
+    }
+
+    /**
+     * Get the difference in milliseconds rounded down using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return int
+     */
+    public function diffInRealMilliseconds($date = null, $absolute = true)
+    {
+        return (int) ($this->diffInRealMicroseconds($date, $absolute) / static::MICROSECONDS_PER_MILLISECOND);
+    }
+
+    /**
+     * Get the difference in seconds as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInSeconds($date = null, $absolute = true)
+    {
+        return $this->diffInMicroseconds($date, $absolute) / static::MICROSECONDS_PER_SECOND;
+    }
+
+    /**
+     * Get the difference in minutes as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInMinutes($date = null, $absolute = true)
+    {
+        return $this->floatDiffInSeconds($date, $absolute) / static::SECONDS_PER_MINUTE;
+    }
+
+    /**
+     * Get the difference in hours as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInHours($date = null, $absolute = true)
+    {
+        return $this->floatDiffInMinutes($date, $absolute) / static::MINUTES_PER_HOUR;
+    }
+
+    /**
+     * Get the difference in days as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInDays($date = null, $absolute = true)
+    {
+        $hoursDiff = $this->floatDiffInHours($date, $absolute);
+        $interval = $this->diff($date, $absolute);
+
+        if ($interval->y === 0 && $interval->m === 0 && $interval->d === 0) {
+            return $hoursDiff / static::HOURS_PER_DAY;
+        }
+
+        $daysDiff = (int) $interval->format('%r%a');
+
+        return $daysDiff + fmod($hoursDiff, static::HOURS_PER_DAY) / static::HOURS_PER_DAY;
+    }
+
+    /**
+     * Get the difference in weeks as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInWeeks($date = null, $absolute = true)
+    {
+        return $this->floatDiffInDays($date, $absolute) / static::DAYS_PER_WEEK;
+    }
+
+    /**
+     * Get the difference in months as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInMonths($date = null, $absolute = true)
+    {
+        $start = $this;
+        $end = $this->resolveCarbon($date);
+        $ascending = ($start <= $end);
+        $sign = $absolute || $ascending ? 1 : -1;
+        if (!$ascending) {
+            [$start, $end] = [$end, $start];
+        }
+        $monthsDiff = $start->diffInMonths($end);
+        /** @var Carbon|CarbonImmutable $floorEnd */
+        $floorEnd = $start->avoidMutation()->addMonths($monthsDiff);
+
+        if ($floorEnd >= $end) {
+            return $sign * $monthsDiff;
+        }
+
+        /** @var Carbon|CarbonImmutable $startOfMonthAfterFloorEnd */
+        $startOfMonthAfterFloorEnd = $floorEnd->avoidMutation()->addMonth()->startOfMonth();
+
+        if ($startOfMonthAfterFloorEnd > $end) {
+            return $sign * ($monthsDiff + $floorEnd->floatDiffInDays($end) / $floorEnd->daysInMonth);
+        }
+
+        return $sign * ($monthsDiff + $floorEnd->floatDiffInDays($startOfMonthAfterFloorEnd) / $floorEnd->daysInMonth + $startOfMonthAfterFloorEnd->floatDiffInDays($end) / $end->daysInMonth);
+    }
+
+    /**
+     * Get the difference in year as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInYears($date = null, $absolute = true)
+    {
+        $start = $this;
+        $end = $this->resolveCarbon($date);
+        $ascending = ($start <= $end);
+        $sign = $absolute || $ascending ? 1 : -1;
+        if (!$ascending) {
+            [$start, $end] = [$end, $start];
+        }
+        $yearsDiff = $start->diffInYears($end);
+        /** @var Carbon|CarbonImmutable $floorEnd */
+        $floorEnd = $start->avoidMutation()->addYears($yearsDiff);
+
+        if ($floorEnd >= $end) {
+            return $sign * $yearsDiff;
+        }
+
+        /** @var Carbon|CarbonImmutable $startOfYearAfterFloorEnd */
+        $startOfYearAfterFloorEnd = $floorEnd->avoidMutation()->addYear()->startOfYear();
+
+        if ($startOfYearAfterFloorEnd > $end) {
+            return $sign * ($yearsDiff + $floorEnd->floatDiffInDays($end) / $floorEnd->daysInYear);
+        }
+
+        return $sign * ($yearsDiff + $floorEnd->floatDiffInDays($startOfYearAfterFloorEnd) / $floorEnd->daysInYear + $startOfYearAfterFloorEnd->floatDiffInDays($end) / $end->daysInYear);
+    }
+
+    /**
+     * Get the difference in seconds as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealSeconds($date = null, $absolute = true)
+    {
+        return $this->diffInRealMicroseconds($date, $absolute) / static::MICROSECONDS_PER_SECOND;
+    }
+
+    /**
+     * Get the difference in minutes as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealMinutes($date = null, $absolute = true)
+    {
+        return $this->floatDiffInRealSeconds($date, $absolute) / static::SECONDS_PER_MINUTE;
+    }
+
+    /**
+     * Get the difference in hours as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealHours($date = null, $absolute = true)
+    {
+        return $this->floatDiffInRealMinutes($date, $absolute) / static::MINUTES_PER_HOUR;
+    }
+
+    /**
+     * Get the difference in days as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealDays($date = null, $absolute = true)
+    {
+        $date = $this->resolveUTC($date);
+        $utc = $this->avoidMutation()->utc();
+        $hoursDiff = $utc->floatDiffInRealHours($date, $absolute);
+
+        return ($hoursDiff < 0 ? -1 : 1) * $utc->diffInDays($date) + fmod($hoursDiff, static::HOURS_PER_DAY) / static::HOURS_PER_DAY;
+    }
+
+    /**
+     * Get the difference in weeks as float (microsecond-precision).
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealWeeks($date = null, $absolute = true)
+    {
+        return $this->floatDiffInRealDays($date, $absolute) / static::DAYS_PER_WEEK;
+    }
+
+    /**
+     * Get the difference in months as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealMonths($date = null, $absolute = true)
+    {
+        $start = $this;
+        $end = $this->resolveCarbon($date);
+        $ascending = ($start <= $end);
+        $sign = $absolute || $ascending ? 1 : -1;
+        if (!$ascending) {
+            [$start, $end] = [$end, $start];
+        }
+        $monthsDiff = $start->diffInMonths($end);
+        /** @var Carbon|CarbonImmutable $floorEnd */
+        $floorEnd = $start->avoidMutation()->addMonths($monthsDiff);
+
+        if ($floorEnd >= $end) {
+            return $sign * $monthsDiff;
+        }
+
+        /** @var Carbon|CarbonImmutable $startOfMonthAfterFloorEnd */
+        $startOfMonthAfterFloorEnd = $floorEnd->avoidMutation()->addMonth()->startOfMonth();
+
+        if ($startOfMonthAfterFloorEnd > $end) {
+            return $sign * ($monthsDiff + $floorEnd->floatDiffInRealDays($end) / $floorEnd->daysInMonth);
+        }
+
+        return $sign * ($monthsDiff + $floorEnd->floatDiffInRealDays($startOfMonthAfterFloorEnd) / $floorEnd->daysInMonth + $startOfMonthAfterFloorEnd->floatDiffInRealDays($end) / $end->daysInMonth);
+    }
+
+    /**
+     * Get the difference in year as float (microsecond-precision) using timestamps.
+     *
+     * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date
+     * @param bool                                                   $absolute Get the absolute of the difference
+     *
+     * @return float
+     */
+    public function floatDiffInRealYears($date = null, $absolute = true)
+    {
+        $start = $this;
+        $end = $this->resolveCarbon($date);
+        $ascending = ($start <= $end);
+        $sign = $absolute || $ascending ? 1 : -1;
+        if (!$ascending) {
+            [$start, $end] = [$end, $start];
+        }
+        $yearsDiff = $start->diffInYears($end);
+        /** @var Carbon|CarbonImmutable $floorEnd */
+        $floorEnd = $start->avoidMutation()->addYears($yearsDiff);
+
+        if ($floorEnd >= $end) {
+            return $sign * $yearsDiff;
+        }
+
+        /** @var Carbon|CarbonImmutable $startOfYearAfterFloorEnd */
+        $startOfYearAfterFloorEnd = $floorEnd->avoidMutation()->addYear()->startOfYear();
+
+        if ($startOfYearAfterFloorEnd > $end) {
+            return $sign * ($yearsDiff + $floorEnd->floatDiffInRealDays($end) / $floorEnd->daysInYear);
+        }
+
+        return $sign * ($yearsDiff + $floorEnd->floatDiffInRealDays($startOfYearAfterFloorEnd) / $floorEnd->daysInYear + $startOfYearAfterFloorEnd->floatDiffInRealDays($end) / $end->daysInYear);
+    }
+
+    /**
+     * The number of seconds since midnight.
+     *
+     * @return int
+     */
+    public function secondsSinceMidnight()
+    {
+        return $this->diffInSeconds($this->avoidMutation()->startOfDay());
+    }
+
+    /**
+     * The number of seconds until 23:59:59.
+     *
+     * @return int
+     */
+    public function secondsUntilEndOfDay()
+    {
+        return $this->diffInSeconds($this->avoidMutation()->endOfDay());
+    }
+
+    /**
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     *
+     * @example
+     * ```
+     * echo Carbon::tomorrow()->diffForHumans() . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(['parts' => 2]) . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(['parts' => 3, 'join' => true]) . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday()) . "\n";
+     * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday(), ['short' => true]) . "\n";
+     * ```
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function diffForHumans($other = null, $syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        /* @var CarbonInterface $this */
+        if (\is_array($other)) {
+            $other['syntax'] = \array_key_exists('syntax', $other) ? $other['syntax'] : $syntax;
+            $syntax = $other;
+            $other = $syntax['other'] ?? null;
+        }
+
+        $intSyntax = &$syntax;
+        if (\is_array($syntax)) {
+            $syntax['syntax'] = $syntax['syntax'] ?? null;
+            $intSyntax = &$syntax['syntax'];
+        }
+        $intSyntax = (int) ($intSyntax === null ? static::DIFF_RELATIVE_AUTO : $intSyntax);
+        $intSyntax = $intSyntax === static::DIFF_RELATIVE_AUTO && $other === null ? static::DIFF_RELATIVE_TO_NOW : $intSyntax;
+
+        $parts = min(7, max(1, (int) $parts));
+
+        return $this->diffAsCarbonInterval($other, false)
+            ->setLocalTranslator($this->getLocalTranslator())
+            ->forHumans($syntax, (bool) $short, $parts, $options ?? $this->localHumanDiffOptions ?? static::getHumanDiffOptions());
+    }
+
+    /**
+     * @alias diffForHumans
+     *
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function from($other = null, $syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        return $this->diffForHumans($other, $syntax, $short, $parts, $options);
+    }
+
+    /**
+     * @alias diffForHumans
+     *
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     */
+    public function since($other = null, $syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        return $this->diffForHumans($other, $syntax, $short, $parts, $options);
+    }
+
+    /**
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given (or now if null given) to current instance.
+     *
+     * When comparing a value in the past to default now:
+     * 1 hour from now
+     * 5 months from now
+     *
+     * When comparing a value in the future to default now:
+     * 1 hour ago
+     * 5 months ago
+     *
+     * When comparing a value in the past to another value:
+     * 1 hour after
+     * 5 months after
+     *
+     * When comparing a value in the future to another value:
+     * 1 hour before
+     * 5 months before
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function to($other = null, $syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        if (!$syntax && !$other) {
+            $syntax = CarbonInterface::DIFF_RELATIVE_TO_NOW;
+        }
+
+        return $this->resolveCarbon($other)->diffForHumans($this, $syntax, $short, $parts, $options);
+    }
+
+    /**
+     * @alias to
+     *
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given (or now if null given) to current instance.
+     *
+     * @param Carbon|\DateTimeInterface|string|array|null $other   if array passed, will be used as parameters array, see $syntax below;
+     *                                                             if null passed, now will be used as comparison reference;
+     *                                                             if any other type, it will be converted to date and used as reference.
+     * @param int|array                                   $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                                                             - 'syntax' entry (see below)
+     *                                                             - 'short' entry (see below)
+     *                                                             - 'parts' entry (see below)
+     *                                                             - 'options' entry (see below)
+     *                                                             - 'join' entry determines how to join multiple parts of the string
+     *                                                             `  - if $join is a string, it's used as a joiner glue
+     *                                                             `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                                                             `  - if $join is an array, the first item will be the default glue, and the second item
+     *                                                             `    will be used instead of the glue for the last item
+     *                                                             `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                                                             `  - if $join is missing, a space will be used as glue
+     *                                                             - 'other' entry (see above)
+     *                                                             if int passed, it add modifiers:
+     *                                                             Possible values:
+     *                                                             - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                                                             - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                                                             Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool                                        $short   displays short format of time units
+     * @param int                                         $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int                                         $options human diff options
+     *
+     * @return string
+     */
+    public function until($other = null, $syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        return $this->to($other, $syntax, $short, $parts, $options);
+    }
+
+    /**
+     * Get the difference in a human readable format in the current locale from current
+     * instance to now.
+     *
+     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                           - 'syntax' entry (see below)
+     *                           - 'short' entry (see below)
+     *                           - 'parts' entry (see below)
+     *                           - 'options' entry (see below)
+     *                           - 'join' entry determines how to join multiple parts of the string
+     *                           `  - if $join is a string, it's used as a joiner glue
+     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                           `  - if $join is an array, the first item will be the default glue, and the second item
+     *                           `    will be used instead of the glue for the last item
+     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                           `  - if $join is missing, a space will be used as glue
+     *                           if int passed, it add modifiers:
+     *                           Possible values:
+     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool      $short   displays short format of time units
+     * @param int       $parts   maximum number of parts to display (default value: 1: single unit)
+     * @param int       $options human diff options
+     *
+     * @return string
+     */
+    public function fromNow($syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        $other = null;
+
+        if ($syntax instanceof DateTimeInterface) {
+            [$other, $syntax, $short, $parts, $options] = array_pad(\func_get_args(), 5, null);
+        }
+
+        return $this->from($other, $syntax, $short, $parts, $options);
+    }
+
+    /**
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given to now
+     *
+     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                           - 'syntax' entry (see below)
+     *                           - 'short' entry (see below)
+     *                           - 'parts' entry (see below)
+     *                           - 'options' entry (see below)
+     *                           - 'join' entry determines how to join multiple parts of the string
+     *                           `  - if $join is a string, it's used as a joiner glue
+     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                           `  - if $join is an array, the first item will be the default glue, and the second item
+     *                           `    will be used instead of the glue for the last item
+     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                           `  - if $join is missing, a space will be used as glue
+     *                           if int passed, it add modifiers:
+     *                           Possible values:
+     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool      $short   displays short format of time units
+     * @param int       $parts   maximum number of parts to display (default value: 1: single part)
+     * @param int       $options human diff options
+     *
+     * @return string
+     */
+    public function toNow($syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        return $this->to(null, $syntax, $short, $parts, $options);
+    }
+
+    /**
+     * Get the difference in a human readable format in the current locale from an other
+     * instance given to now
+     *
+     * @param int|array $syntax  if array passed, parameters will be extracted from it, the array may contains:
+     *                           - 'syntax' entry (see below)
+     *                           - 'short' entry (see below)
+     *                           - 'parts' entry (see below)
+     *                           - 'options' entry (see below)
+     *                           - 'join' entry determines how to join multiple parts of the string
+     *                           `  - if $join is a string, it's used as a joiner glue
+     *                           `  - if $join is a callable/closure, it get the list of string and should return a string
+     *                           `  - if $join is an array, the first item will be the default glue, and the second item
+     *                           `    will be used instead of the glue for the last item
+     *                           `  - if $join is true, it will be guessed from the locale ('list' translation file entry)
+     *                           `  - if $join is missing, a space will be used as glue
+     *                           if int passed, it add modifiers:
+     *                           Possible values:
+     *                           - CarbonInterface::DIFF_ABSOLUTE          no modifiers
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_NOW   add ago/from now modifier
+     *                           - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier
+     *                           Default value: CarbonInterface::DIFF_ABSOLUTE
+     * @param bool      $short   displays short format of time units
+     * @param int       $parts   maximum number of parts to display (default value: 1: single part)
+     * @param int       $options human diff options
+     *
+     * @return string
+     */
+    public function ago($syntax = null, $short = false, $parts = 1, $options = null)
+    {
+        $other = null;
+
+        if ($syntax instanceof DateTimeInterface) {
+            [$other, $syntax, $short, $parts, $options] = array_pad(\func_get_args(), 5, null);
+        }
+
+        return $this->from($other, $syntax, $short, $parts, $options);
+    }
+
+    /**
+     * Get the difference in a human readable format in the current locale from current instance to an other
+     * instance given (or now if null given).
+     *
+     * @return string
+     */
+    public function timespan($other = null, $timezone = null)
+    {
+        if (!$other instanceof DateTimeInterface) {
+            $other = static::parse($other, $timezone);
+        }
+
+        return $this->diffForHumans($other, [
+            'join' => ', ',
+            'syntax' => CarbonInterface::DIFF_ABSOLUTE,
+            'options' => CarbonInterface::NO_ZERO_DIFF,
+            'parts' => -1,
+        ]);
+    }
+
+    /**
+     * Returns either day of week + time (e.g. "Last Friday at 3:30 PM") if reference time is within 7 days,
+     * or a calendar date (e.g. "10/29/2017") otherwise.
+     *
+     * Language, date and time formats will change according to the current locale.
+     *
+     * @param Carbon|\DateTimeInterface|string|null $referenceTime
+     * @param array                                 $formats
+     *
+     * @return string
+     */
+    public function calendar($referenceTime = null, array $formats = [])
+    {
+        /** @var CarbonInterface $current */
+        $current = $this->avoidMutation()->startOfDay();
+        /** @var CarbonInterface $other */
+        $other = $this->resolveCarbon($referenceTime)->avoidMutation()->setTimezone($this->getTimezone())->startOfDay();
+        $diff = $other->diffInDays($current, false);
+        $format = $diff < -6 ? 'sameElse' : (
+            $diff < -1 ? 'lastWeek' : (
+                $diff < 0 ? 'lastDay' : (
+                    $diff < 1 ? 'sameDay' : (
+                        $diff < 2 ? 'nextDay' : (
+                            $diff < 7 ? 'nextWeek' : 'sameElse'
+                        )
+                    )
+                )
+            )
+        );
+        $format = array_merge($this->getCalendarFormats(), $formats)[$format];
+        if ($format instanceof Closure) {
+            $format = $format($current, $other) ?? '';
+        }
+
+        return $this->isoFormat((string) $format);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/IntervalRounding.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/IntervalRounding.php
new file mode 100644
index 0000000..6f6c9d1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/IntervalRounding.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\CarbonInterval;
+use Carbon\Exceptions\InvalidIntervalException;
+use DateInterval;
+
+/**
+ * Trait to call rounding methods to interval or the interval of a period.
+ */
+trait IntervalRounding
+{
+    protected function callRoundMethod(string $method, array $parameters)
+    {
+        $action = substr($method, 0, 4);
+
+        if ($action !== 'ceil') {
+            $action = substr($method, 0, 5);
+        }
+
+        if (\in_array($action, ['round', 'floor', 'ceil'])) {
+            return $this->{$action.'Unit'}(substr($method, \strlen($action)), ...$parameters);
+        }
+
+        return null;
+    }
+
+    protected function roundWith($precision, $function)
+    {
+        $unit = 'second';
+
+        if ($precision instanceof DateInterval) {
+            $precision = (string) CarbonInterval::instance($precision);
+        }
+
+        if (\is_string($precision) && preg_match('/^\s*(?<precision>\d+)?\s*(?<unit>\w+)(?<other>\W.*)?$/', $precision, $match)) {
+            if (trim($match['other'] ?? '') !== '') {
+                throw new InvalidIntervalException('Rounding is only possible with single unit intervals.');
+            }
+
+            $precision = (int) ($match['precision'] ?: 1);
+            $unit = $match['unit'];
+        }
+
+        return $this->roundUnit($unit, $precision, $function);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/IntervalStep.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/IntervalStep.php
new file mode 100644
index 0000000..4882eef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/IntervalStep.php
@@ -0,0 +1,92 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\Carbon;
+use Carbon\CarbonImmutable;
+use Carbon\CarbonInterface;
+use Closure;
+use DateTimeImmutable;
+use DateTimeInterface;
+
+trait IntervalStep
+{
+    /**
+     * Step to apply instead of a fixed interval to get the new date.
+     *
+     * @var Closure|null
+     */
+    protected $step;
+
+    /**
+     * Get the dynamic step in use.
+     *
+     * @return Closure
+     */
+    public function getStep(): ?Closure
+    {
+        return $this->step;
+    }
+
+    /**
+     * Set a step to apply instead of a fixed interval to get the new date.
+     *
+     * Or pass null to switch to fixed interval.
+     *
+     * @param Closure|null $step
+     */
+    public function setStep(?Closure $step): void
+    {
+        $this->step = $step;
+    }
+
+    /**
+     * Take a date and apply either the step if set, or the current interval else.
+     *
+     * The interval/step is applied negatively (typically subtraction instead of addition) if $negated is true.
+     *
+     * @param DateTimeInterface $dateTime
+     * @param bool              $negated
+     *
+     * @return CarbonInterface
+     */
+    public function convertDate(DateTimeInterface $dateTime, bool $negated = false): CarbonInterface
+    {
+        /** @var CarbonInterface $carbonDate */
+        $carbonDate = $dateTime instanceof CarbonInterface ? $dateTime : $this->resolveCarbon($dateTime);
+
+        if ($this->step) {
+            return $carbonDate->setDateTimeFrom(($this->step)($carbonDate->avoidMutation(), $negated));
+        }
+
+        if ($negated) {
+            return $carbonDate->rawSub($this);
+        }
+
+        return $carbonDate->rawAdd($this);
+    }
+
+    /**
+     * Convert DateTimeImmutable instance to CarbonImmutable instance and DateTime instance to Carbon instance.
+     *
+     * @param DateTimeInterface $dateTime
+     *
+     * @return Carbon|CarbonImmutable
+     */
+    private function resolveCarbon(DateTimeInterface $dateTime)
+    {
+        if ($dateTime instanceof DateTimeImmutable) {
+            return CarbonImmutable::instance($dateTime);
+        }
+
+        return Carbon::instance($dateTime);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php
new file mode 100644
index 0000000..9162dc9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php
@@ -0,0 +1,808 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\CarbonInterface;
+use Carbon\Exceptions\InvalidTypeException;
+use Carbon\Exceptions\NotLocaleAwareException;
+use Carbon\Language;
+use Carbon\Translator;
+use Closure;
+use Symfony\Component\Translation\TranslatorBagInterface;
+use Symfony\Component\Translation\TranslatorInterface;
+use Symfony\Contracts\Translation\LocaleAwareInterface;
+use Symfony\Contracts\Translation\TranslatorInterface as ContractsTranslatorInterface;
+
+if (!interface_exists('Symfony\\Component\\Translation\\TranslatorInterface')) {
+    class_alias(
+        'Symfony\\Contracts\\Translation\\TranslatorInterface',
+        'Symfony\\Component\\Translation\\TranslatorInterface'
+    );
+}
+
+/**
+ * Trait Localization.
+ *
+ * Embed default and locale translators and translation base methods.
+ */
+trait Localization
+{
+    /**
+     * Default translator.
+     *
+     * @var \Symfony\Component\Translation\TranslatorInterface
+     */
+    protected static $translator;
+
+    /**
+     * Specific translator of the current instance.
+     *
+     * @var \Symfony\Component\Translation\TranslatorInterface
+     */
+    protected $localTranslator;
+
+    /**
+     * Options for diffForHumans().
+     *
+     * @var int
+     */
+    protected static $humanDiffOptions = CarbonInterface::NO_ZERO_DIFF;
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * @param int $humanDiffOptions
+     */
+    public static function setHumanDiffOptions($humanDiffOptions)
+    {
+        static::$humanDiffOptions = $humanDiffOptions;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * @param int $humanDiffOption
+     */
+    public static function enableHumanDiffOption($humanDiffOption)
+    {
+        static::$humanDiffOptions = static::getHumanDiffOptions() | $humanDiffOption;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * @param int $humanDiffOption
+     */
+    public static function disableHumanDiffOption($humanDiffOption)
+    {
+        static::$humanDiffOptions = static::getHumanDiffOptions() & ~$humanDiffOption;
+    }
+
+    /**
+     * Return default humanDiff() options (merged flags as integer).
+     *
+     * @return int
+     */
+    public static function getHumanDiffOptions()
+    {
+        return static::$humanDiffOptions;
+    }
+
+    /**
+     * Get the default translator instance in use.
+     *
+     * @return \Symfony\Component\Translation\TranslatorInterface
+     */
+    public static function getTranslator()
+    {
+        return static::translator();
+    }
+
+    /**
+     * Set the default translator instance to use.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     *
+     * @return void
+     */
+    public static function setTranslator(TranslatorInterface $translator)
+    {
+        static::$translator = $translator;
+    }
+
+    /**
+     * Return true if the current instance has its own translator.
+     *
+     * @return bool
+     */
+    public function hasLocalTranslator()
+    {
+        return isset($this->localTranslator);
+    }
+
+    /**
+     * Get the translator of the current instance or the default if none set.
+     *
+     * @return \Symfony\Component\Translation\TranslatorInterface
+     */
+    public function getLocalTranslator()
+    {
+        return $this->localTranslator ?: static::translator();
+    }
+
+    /**
+     * Set the translator for the current instance.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     *
+     * @return $this
+     */
+    public function setLocalTranslator(TranslatorInterface $translator)
+    {
+        $this->localTranslator = $translator;
+
+        return $this;
+    }
+
+    /**
+     * Returns raw translation message for a given key.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator the translator to use
+     * @param string                                             $key        key to find
+     * @param string|null                                        $locale     current locale used if null
+     * @param string|null                                        $default    default value if translation returns the key
+     *
+     * @return string
+     */
+    public static function getTranslationMessageWith($translator, string $key, ?string $locale = null, ?string $default = null)
+    {
+        if (!($translator instanceof TranslatorBagInterface && $translator instanceof TranslatorInterface)) {
+            throw new InvalidTypeException(
+                'Translator does not implement '.TranslatorInterface::class.' and '.TranslatorBagInterface::class.'. '.
+                (\is_object($translator) ? \get_class($translator) : \gettype($translator)).' has been given.'
+            );
+        }
+
+        if (!$locale && $translator instanceof LocaleAwareInterface) {
+            $locale = $translator->getLocale();
+        }
+
+        $result = $translator->getCatalogue($locale)->get($key);
+
+        return $result === $key ? $default : $result;
+    }
+
+    /**
+     * Returns raw translation message for a given key.
+     *
+     * @param string                                             $key        key to find
+     * @param string|null                                        $locale     current locale used if null
+     * @param string|null                                        $default    default value if translation returns the key
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator an optional translator to use
+     *
+     * @return string
+     */
+    public function getTranslationMessage(string $key, ?string $locale = null, ?string $default = null, $translator = null)
+    {
+        return static::getTranslationMessageWith($translator ?: $this->getLocalTranslator(), $key, $locale, $default);
+    }
+
+    /**
+     * Translate using translation string or callback available.
+     *
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     * @param string                                             $key
+     * @param array                                              $parameters
+     * @param null                                               $number
+     *
+     * @return string
+     */
+    public static function translateWith(TranslatorInterface $translator, string $key, array $parameters = [], $number = null): string
+    {
+        $message = static::getTranslationMessageWith($translator, $key, null, $key);
+        if ($message instanceof Closure) {
+            return (string) $message(...array_values($parameters));
+        }
+
+        if ($number !== null) {
+            $parameters['%count%'] = $number;
+        }
+        if (isset($parameters['%count%'])) {
+            $parameters[':count'] = $parameters['%count%'];
+        }
+
+        // @codeCoverageIgnoreStart
+        $choice = $translator instanceof ContractsTranslatorInterface
+            ? $translator->trans($key, $parameters)
+            : $translator->transChoice($key, $number, $parameters);
+        // @codeCoverageIgnoreEnd
+
+        return (string) $choice;
+    }
+
+    /**
+     * Translate using translation string or callback available.
+     *
+     * @param string                                             $key
+     * @param array                                              $parameters
+     * @param string|int|float|null                              $number
+     * @param \Symfony\Component\Translation\TranslatorInterface $translator
+     *
+     * @return string
+     */
+    public function translate(string $key, array $parameters = [], $number = null, ?TranslatorInterface $translator = null, bool $altNumbers = false): string
+    {
+        $translation = static::translateWith($translator ?: $this->getLocalTranslator(), $key, $parameters, $number);
+
+        if ($number !== null && $altNumbers) {
+            return str_replace($number, $this->translateNumber($number), $translation);
+        }
+
+        return $translation;
+    }
+
+    /**
+     * Returns the alternative number for a given integer if available in the current locale.
+     *
+     * @param int $number
+     *
+     * @return string
+     */
+    public function translateNumber(int $number): string
+    {
+        $translateKey = "alt_numbers.$number";
+        $symbol = $this->translate($translateKey);
+
+        if ($symbol !== $translateKey) {
+            return $symbol;
+        }
+
+        if ($number > 99 && $this->translate('alt_numbers.99') !== 'alt_numbers.99') {
+            $start = '';
+            foreach ([10000, 1000, 100] as $exp) {
+                $key = "alt_numbers_pow.$exp";
+                if ($number >= $exp && $number < $exp * 10 && ($pow = $this->translate($key)) !== $key) {
+                    $unit = floor($number / $exp);
+                    $number -= $unit * $exp;
+                    $start .= ($unit > 1 ? $this->translate("alt_numbers.$unit") : '').$pow;
+                }
+            }
+            $result = '';
+            while ($number) {
+                $chunk = $number % 100;
+                $result = $this->translate("alt_numbers.$chunk").$result;
+                $number = floor($number / 100);
+            }
+
+            return "$start$result";
+        }
+
+        if ($number > 9 && $this->translate('alt_numbers.9') !== 'alt_numbers.9') {
+            $result = '';
+            while ($number) {
+                $chunk = $number % 10;
+                $result = $this->translate("alt_numbers.$chunk").$result;
+                $number = floor($number / 10);
+            }
+
+            return $result;
+        }
+
+        return (string) $number;
+    }
+
+    /**
+     * Translate a time string from a locale to an other.
+     *
+     * @param string      $timeString date/time/duration string to translate (may also contain English)
+     * @param string|null $from       input locale of the $timeString parameter (`Carbon::getLocale()` by default)
+     * @param string|null $to         output locale of the result returned (`"en"` by default)
+     * @param int         $mode       specify what to translate with options:
+     *                                - CarbonInterface::TRANSLATE_ALL (default)
+     *                                - CarbonInterface::TRANSLATE_MONTHS
+     *                                - CarbonInterface::TRANSLATE_DAYS
+     *                                - CarbonInterface::TRANSLATE_UNITS
+     *                                - CarbonInterface::TRANSLATE_MERIDIEM
+     *                                You can use pipe to group: CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS
+     *
+     * @return string
+     */
+    public static function translateTimeString($timeString, $from = null, $to = null, $mode = CarbonInterface::TRANSLATE_ALL)
+    {
+        // Fallback source and destination locales
+        $from = $from ?: static::getLocale();
+        $to = $to ?: 'en';
+
+        if ($from === $to) {
+            return $timeString;
+        }
+
+        // Standardize apostrophe
+        $timeString = strtr($timeString, ['’' => "'"]);
+
+        $fromTranslations = [];
+        $toTranslations = [];
+
+        foreach (['from', 'to'] as $key) {
+            $language = $$key;
+            $translator = Translator::get($language);
+            $translations = $translator->getMessages();
+
+            if (!isset($translations[$language])) {
+                return $timeString;
+            }
+
+            $translationKey = $key.'Translations';
+            $messages = $translations[$language];
+            $months = $messages['months'] ?? [];
+            $weekdays = $messages['weekdays'] ?? [];
+            $meridiem = $messages['meridiem'] ?? ['AM', 'PM'];
+
+            if ($key === 'from') {
+                foreach (['months', 'weekdays'] as $variable) {
+                    $list = $messages[$variable.'_standalone'] ?? null;
+
+                    if ($list) {
+                        foreach ($$variable as $index => &$name) {
+                            $name .= '|'.$messages[$variable.'_standalone'][$index];
+                        }
+                    }
+                }
+            }
+
+            $$translationKey = array_merge(
+                $mode & CarbonInterface::TRANSLATE_MONTHS ? static::getTranslationArray($months, 12, $timeString) : [],
+                $mode & CarbonInterface::TRANSLATE_MONTHS ? static::getTranslationArray($messages['months_short'] ?? [], 12, $timeString) : [],
+                $mode & CarbonInterface::TRANSLATE_DAYS ? static::getTranslationArray($weekdays, 7, $timeString) : [],
+                $mode & CarbonInterface::TRANSLATE_DAYS ? static::getTranslationArray($messages['weekdays_short'] ?? [], 7, $timeString) : [],
+                $mode & CarbonInterface::TRANSLATE_DIFF ? static::translateWordsByKeys([
+                    'diff_now',
+                    'diff_today',
+                    'diff_yesterday',
+                    'diff_tomorrow',
+                    'diff_before_yesterday',
+                    'diff_after_tomorrow',
+                ], $messages, $key) : [],
+                $mode & CarbonInterface::TRANSLATE_UNITS ? static::translateWordsByKeys([
+                    'year',
+                    'month',
+                    'week',
+                    'day',
+                    'hour',
+                    'minute',
+                    'second',
+                ], $messages, $key) : [],
+                $mode & CarbonInterface::TRANSLATE_MERIDIEM ? array_map(function ($hour) use ($meridiem) {
+                    if (\is_array($meridiem)) {
+                        return $meridiem[$hour < 12 ? 0 : 1];
+                    }
+
+                    return $meridiem($hour, 0, false);
+                }, range(0, 23)) : []
+            );
+        }
+
+        return substr(preg_replace_callback('/(?<=[\d\s+.\/,_-])('.implode('|', $fromTranslations).')(?=[\d\s+.\/,_-])/iu', function ($match) use ($fromTranslations, $toTranslations) {
+            [$chunk] = $match;
+
+            foreach ($fromTranslations as $index => $word) {
+                if (preg_match("/^$word\$/iu", $chunk)) {
+                    return $toTranslations[$index] ?? '';
+                }
+            }
+
+            return $chunk; // @codeCoverageIgnore
+        }, " $timeString "), 1, -1);
+    }
+
+    /**
+     * Translate a time string from the current locale (`$date->locale()`) to an other.
+     *
+     * @param string      $timeString time string to translate
+     * @param string|null $to         output locale of the result returned ("en" by default)
+     *
+     * @return string
+     */
+    public function translateTimeStringTo($timeString, $to = null)
+    {
+        return static::translateTimeString($timeString, $this->getTranslatorLocale(), $to);
+    }
+
+    /**
+     * Get/set the locale for the current instance.
+     *
+     * @param string|null $locale
+     * @param string      ...$fallbackLocales
+     *
+     * @return $this|string
+     */
+    public function locale(string $locale = null, ...$fallbackLocales)
+    {
+        if ($locale === null) {
+            return $this->getTranslatorLocale();
+        }
+
+        if (!$this->localTranslator || $this->getTranslatorLocale($this->localTranslator) !== $locale) {
+            $translator = Translator::get($locale);
+
+            if (!empty($fallbackLocales)) {
+                $translator->setFallbackLocales($fallbackLocales);
+
+                foreach ($fallbackLocales as $fallbackLocale) {
+                    $messages = Translator::get($fallbackLocale)->getMessages();
+
+                    if (isset($messages[$fallbackLocale])) {
+                        $translator->setMessages($fallbackLocale, $messages[$fallbackLocale]);
+                    }
+                }
+            }
+
+            $this->setLocalTranslator($translator);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Get the current translator locale.
+     *
+     * @return string
+     */
+    public static function getLocale()
+    {
+        return static::getLocaleAwareTranslator()->getLocale();
+    }
+
+    /**
+     * Set the current translator locale and indicate if the source locale file exists.
+     * Pass 'auto' as locale to use closest language from the current LC_TIME locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function setLocale($locale)
+    {
+        return static::getLocaleAwareTranslator()->setLocale($locale) !== false;
+    }
+
+    /**
+     * Set the fallback locale.
+     *
+     * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
+     *
+     * @param string $locale
+     */
+    public static function setFallbackLocale($locale)
+    {
+        $translator = static::getTranslator();
+
+        if (method_exists($translator, 'setFallbackLocales')) {
+            $translator->setFallbackLocales([$locale]);
+
+            if ($translator instanceof Translator) {
+                $preferredLocale = $translator->getLocale();
+                $translator->setMessages($preferredLocale, array_replace_recursive(
+                    $translator->getMessages()[$locale] ?? [],
+                    Translator::get($locale)->getMessages()[$locale] ?? [],
+                    $translator->getMessages($preferredLocale)
+                ));
+            }
+        }
+    }
+
+    /**
+     * Get the fallback locale.
+     *
+     * @see https://symfony.com/doc/current/components/translation.html#fallback-locales
+     *
+     * @return string|null
+     */
+    public static function getFallbackLocale()
+    {
+        $translator = static::getTranslator();
+
+        if (method_exists($translator, 'getFallbackLocales')) {
+            return $translator->getFallbackLocales()[0] ?? null;
+        }
+
+        return null;
+    }
+
+    /**
+     * Set the current locale to the given, execute the passed function, reset the locale to previous one,
+     * then return the result of the closure (or null if the closure was void).
+     *
+     * @param string   $locale locale ex. en
+     * @param callable $func
+     *
+     * @return mixed
+     */
+    public static function executeWithLocale($locale, $func)
+    {
+        $currentLocale = static::getLocale();
+        $result = $func(static::setLocale($locale) ? static::getLocale() : false, static::translator());
+        static::setLocale($currentLocale);
+
+        return $result;
+    }
+
+    /**
+     * Returns true if the given locale is internally supported and has short-units support.
+     * Support is considered enabled if either year, day or hour has a short variant translated.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasShortUnits($locale)
+    {
+        return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) {
+            return $newLocale &&
+                (
+                    ($y = static::translateWith($translator, 'y')) !== 'y' &&
+                    $y !== static::translateWith($translator, 'year')
+                ) || (
+                    ($y = static::translateWith($translator, 'd')) !== 'd' &&
+                    $y !== static::translateWith($translator, 'day')
+                ) || (
+                    ($y = static::translateWith($translator, 'h')) !== 'h' &&
+                    $y !== static::translateWith($translator, 'hour')
+                );
+        });
+    }
+
+    /**
+     * Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after).
+     * Support is considered enabled if the 4 sentences are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasDiffSyntax($locale)
+    {
+        return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) {
+            if (!$newLocale) {
+                return false;
+            }
+
+            foreach (['ago', 'from_now', 'before', 'after'] as $key) {
+                if ($translator instanceof TranslatorBagInterface && $translator->getCatalogue($newLocale)->get($key) instanceof Closure) {
+                    continue;
+                }
+
+                if ($translator->trans($key) === $key) {
+                    return false;
+                }
+            }
+
+            return true;
+        });
+    }
+
+    /**
+     * Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow).
+     * Support is considered enabled if the 3 words are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasDiffOneDayWords($locale)
+    {
+        return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) {
+            return $newLocale &&
+                $translator->trans('diff_now') !== 'diff_now' &&
+                $translator->trans('diff_yesterday') !== 'diff_yesterday' &&
+                $translator->trans('diff_tomorrow') !== 'diff_tomorrow';
+        });
+    }
+
+    /**
+     * Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow).
+     * Support is considered enabled if the 2 words are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasDiffTwoDayWords($locale)
+    {
+        return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) {
+            return $newLocale &&
+                $translator->trans('diff_before_yesterday') !== 'diff_before_yesterday' &&
+                $translator->trans('diff_after_tomorrow') !== 'diff_after_tomorrow';
+        });
+    }
+
+    /**
+     * Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X).
+     * Support is considered enabled if the 4 sentences are translated in the given locale.
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public static function localeHasPeriodSyntax($locale)
+    {
+        return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) {
+            return $newLocale &&
+                $translator->trans('period_recurrences') !== 'period_recurrences' &&
+                $translator->trans('period_interval') !== 'period_interval' &&
+                $translator->trans('period_start_date') !== 'period_start_date' &&
+                $translator->trans('period_end_date') !== 'period_end_date';
+        });
+    }
+
+    /**
+     * Returns the list of internally available locales and already loaded custom locales.
+     * (It will ignore custom translator dynamic loading.)
+     *
+     * @return array
+     */
+    public static function getAvailableLocales()
+    {
+        $translator = static::getLocaleAwareTranslator();
+
+        return $translator instanceof Translator
+            ? $translator->getAvailableLocales()
+            : [$translator->getLocale()];
+    }
+
+    /**
+     * Returns list of Language object for each available locale. This object allow you to get the ISO name, native
+     * name, region and variant of the locale.
+     *
+     * @return Language[]
+     */
+    public static function getAvailableLocalesInfo()
+    {
+        $languages = [];
+        foreach (static::getAvailableLocales() as $id) {
+            $languages[$id] = new Language($id);
+        }
+
+        return $languages;
+    }
+
+    /**
+     * Initialize the default translator instance if necessary.
+     *
+     * @return \Symfony\Component\Translation\TranslatorInterface
+     */
+    protected static function translator()
+    {
+        if (static::$translator === null) {
+            static::$translator = Translator::get();
+        }
+
+        return static::$translator;
+    }
+
+    /**
+     * Get the locale of a given translator.
+     *
+     * If null or omitted, current local translator is used.
+     * If no local translator is in use, current global translator is used.
+     *
+     * @param null $translator
+     *
+     * @return string|null
+     */
+    protected function getTranslatorLocale($translator = null): ?string
+    {
+        if (\func_num_args() === 0) {
+            $translator = $this->getLocalTranslator();
+        }
+
+        $translator = static::getLocaleAwareTranslator($translator);
+
+        return $translator ? $translator->getLocale() : null;
+    }
+
+    /**
+     * Throw an error if passed object is not LocaleAwareInterface.
+     *
+     * @param LocaleAwareInterface|null $translator
+     *
+     * @return LocaleAwareInterface|null
+     */
+    protected static function getLocaleAwareTranslator($translator = null)
+    {
+        if (\func_num_args() === 0) {
+            $translator = static::translator();
+        }
+
+        if ($translator && !($translator instanceof LocaleAwareInterface || method_exists($translator, 'getLocale'))) {
+            throw new NotLocaleAwareException($translator);
+        }
+
+        return $translator;
+    }
+
+    /**
+     * Return the word cleaned from its translation codes.
+     *
+     * @param string $word
+     *
+     * @return string
+     */
+    private static function cleanWordFromTranslationString($word)
+    {
+        $word = str_replace([':count', '%count', ':time'], '', $word);
+        $word = strtr($word, ['’' => "'"]);
+        $word = preg_replace('/({\d+(,(\d+|Inf))?}|[\[\]]\d+(,(\d+|Inf))?[\[\]])/', '', $word);
+
+        return trim($word);
+    }
+
+    /**
+     * Translate a list of words.
+     *
+     * @param string[] $keys     keys to translate.
+     * @param string[] $messages messages bag handling translations.
+     * @param string   $key      'to' (to get the translation) or 'from' (to get the detection RegExp pattern).
+     *
+     * @return string[]
+     */
+    private static function translateWordsByKeys($keys, $messages, $key): array
+    {
+        return array_map(function ($wordKey) use ($messages, $key) {
+            $message = $key === 'from' && isset($messages[$wordKey.'_regexp'])
+                ? $messages[$wordKey.'_regexp']
+                : ($messages[$wordKey] ?? null);
+
+            if (!$message) {
+                return '>>DO NOT REPLACE<<';
+            }
+
+            $parts = explode('|', $message);
+
+            return $key === 'to'
+                ? static::cleanWordFromTranslationString(end($parts))
+                : '(?:'.implode('|', array_map([static::class, 'cleanWordFromTranslationString'], $parts)).')';
+        }, $keys);
+    }
+
+    /**
+     * Get an array of translations based on the current date.
+     *
+     * @param callable $translation
+     * @param int      $length
+     * @param string   $timeString
+     *
+     * @return string[]
+     */
+    private static function getTranslationArray($translation, $length, $timeString): array
+    {
+        $filler = '>>DO NOT REPLACE<<';
+
+        if (\is_array($translation)) {
+            return array_pad($translation, $length, $filler);
+        }
+
+        $list = [];
+        $date = static::now();
+
+        for ($i = 0; $i < $length; $i++) {
+            $list[] = $translation($date, $timeString, $i) ?? $filler;
+        }
+
+        return $list;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php
new file mode 100644
index 0000000..d413526
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php
@@ -0,0 +1,135 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+/**
+ * Trait Macros.
+ *
+ * Allows users to register macros within the Carbon class.
+ */
+trait Macro
+{
+    use Mixin;
+
+    /**
+     * The registered macros.
+     *
+     * @var array
+     */
+    protected static $globalMacros = [];
+
+    /**
+     * The registered generic macros.
+     *
+     * @var array
+     */
+    protected static $globalGenericMacros = [];
+
+    /**
+     * Register a custom macro.
+     *
+     * @example
+     * ```
+     * $userSettings = [
+     *   'locale' => 'pt',
+     *   'timezone' => 'America/Sao_Paulo',
+     * ];
+     * Carbon::macro('userFormat', function () use ($userSettings) {
+     *   return $this->copy()->locale($userSettings['locale'])->tz($userSettings['timezone'])->calendar();
+     * });
+     * echo Carbon::yesterday()->hours(11)->userFormat();
+     * ```
+     *
+     * @param string          $name
+     * @param object|callable $macro
+     *
+     * @return void
+     */
+    public static function macro($name, $macro)
+    {
+        static::$globalMacros[$name] = $macro;
+    }
+
+    /**
+     * Remove all macros and generic macros.
+     */
+    public static function resetMacros()
+    {
+        static::$globalMacros = [];
+        static::$globalGenericMacros = [];
+    }
+
+    /**
+     * Register a custom macro.
+     *
+     * @param object|callable $macro
+     * @param int             $priority marco with higher priority is tried first
+     *
+     * @return void
+     */
+    public static function genericMacro($macro, $priority = 0)
+    {
+        if (!isset(static::$globalGenericMacros[$priority])) {
+            static::$globalGenericMacros[$priority] = [];
+            krsort(static::$globalGenericMacros, SORT_NUMERIC);
+        }
+
+        static::$globalGenericMacros[$priority][] = $macro;
+    }
+
+    /**
+     * Checks if macro is registered globally.
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public static function hasMacro($name)
+    {
+        return isset(static::$globalMacros[$name]);
+    }
+
+    /**
+     * Get the raw callable macro registered globally for a given name.
+     *
+     * @param string $name
+     *
+     * @return callable|null
+     */
+    public static function getMacro($name)
+    {
+        return static::$globalMacros[$name] ?? null;
+    }
+
+    /**
+     * Checks if macro is registered globally or locally.
+     *
+     * @param string $name
+     *
+     * @return bool
+     */
+    public function hasLocalMacro($name)
+    {
+        return ($this->localMacros && isset($this->localMacros[$name])) || static::hasMacro($name);
+    }
+
+    /**
+     * Get the raw callable macro registered globally or locally for a given name.
+     *
+     * @param string $name
+     *
+     * @return callable|null
+     */
+    public function getLocalMacro($name)
+    {
+        return ($this->localMacros ?? [])[$name] ?? static::getMacro($name);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php
new file mode 100644
index 0000000..b9c868d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php
@@ -0,0 +1,190 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Closure;
+use Generator;
+use ReflectionClass;
+use ReflectionException;
+use ReflectionMethod;
+use Throwable;
+
+/**
+ * Trait Mixin.
+ *
+ * Allows mixing in entire classes with multiple macros.
+ */
+trait Mixin
+{
+    /**
+     * Stack of macro instance contexts.
+     *
+     * @var array
+     */
+    protected static $macroContextStack = [];
+
+    /**
+     * Mix another object into the class.
+     *
+     * @example
+     * ```
+     * Carbon::mixin(new class {
+     *   public function addMoon() {
+     *     return function () {
+     *       return $this->addDays(30);
+     *     };
+     *   }
+     *   public function subMoon() {
+     *     return function () {
+     *       return $this->subDays(30);
+     *     };
+     *   }
+     * });
+     * $fullMoon = Carbon::create('2018-12-22');
+     * $nextFullMoon = $fullMoon->addMoon();
+     * $blackMoon = Carbon::create('2019-01-06');
+     * $previousBlackMoon = $blackMoon->subMoon();
+     * echo "$nextFullMoon\n";
+     * echo "$previousBlackMoon\n";
+     * ```
+     *
+     * @param object|string $mixin
+     *
+     * @throws ReflectionException
+     *
+     * @return void
+     */
+    public static function mixin($mixin)
+    {
+        \is_string($mixin) && trait_exists($mixin)
+            ? static::loadMixinTrait($mixin)
+            : static::loadMixinClass($mixin);
+    }
+
+    /**
+     * @param object|string $mixin
+     *
+     * @throws ReflectionException
+     */
+    private static function loadMixinClass($mixin)
+    {
+        $methods = (new ReflectionClass($mixin))->getMethods(
+            ReflectionMethod::IS_PUBLIC | ReflectionMethod::IS_PROTECTED
+        );
+
+        foreach ($methods as $method) {
+            if ($method->isConstructor() || $method->isDestructor()) {
+                continue;
+            }
+
+            $method->setAccessible(true);
+
+            static::macro($method->name, $method->invoke($mixin));
+        }
+    }
+
+    /**
+     * @param string $trait
+     */
+    private static function loadMixinTrait($trait)
+    {
+        $context = eval(self::getAnonymousClassCodeForTrait($trait));
+        $className = \get_class($context);
+
+        foreach (self::getMixableMethods($context) as $name) {
+            $closureBase = Closure::fromCallable([$context, $name]);
+
+            static::macro($name, function () use ($closureBase, $className) {
+                /** @phpstan-ignore-next-line */
+                $context = isset($this) ? $this->cast($className) : new $className();
+
+                try {
+                    // @ is required to handle error if not converted into exceptions
+                    $closure = @$closureBase->bindTo($context);
+                } catch (Throwable $throwable) { // @codeCoverageIgnore
+                    $closure = $closureBase; // @codeCoverageIgnore
+                }
+
+                // in case of errors not converted into exceptions
+                $closure = $closure ?? $closureBase;
+
+                return $closure(...\func_get_args());
+            });
+        }
+    }
+
+    private static function getAnonymousClassCodeForTrait(string $trait)
+    {
+        return 'return new class() extends '.static::class.' {use '.$trait.';};';
+    }
+
+    private static function getMixableMethods(self $context): Generator
+    {
+        foreach (get_class_methods($context) as $name) {
+            if (method_exists(static::class, $name)) {
+                continue;
+            }
+
+            yield $name;
+        }
+    }
+
+    /**
+     * Stack a Carbon context from inside calls of self::this() and execute a given action.
+     *
+     * @param static|null $context
+     * @param callable    $callable
+     *
+     * @throws Throwable
+     *
+     * @return mixed
+     */
+    protected static function bindMacroContext($context, callable $callable)
+    {
+        static::$macroContextStack[] = $context;
+        $exception = null;
+        $result = null;
+
+        try {
+            $result = $callable();
+        } catch (Throwable $throwable) {
+            $exception = $throwable;
+        }
+
+        array_pop(static::$macroContextStack);
+
+        if ($exception) {
+            throw $exception;
+        }
+
+        return $result;
+    }
+
+    /**
+     * Return the current context from inside a macro callee or a null if static.
+     *
+     * @return static|null
+     */
+    protected static function context()
+    {
+        return end(static::$macroContextStack) ?: null;
+    }
+
+    /**
+     * Return the current context from inside a macro callee or a new one if static.
+     *
+     * @return static
+     */
+    protected static function this()
+    {
+        return end(static::$macroContextStack) ?: new static();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php
new file mode 100644
index 0000000..2fd6426
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php
@@ -0,0 +1,469 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\CarbonInterface;
+use ReturnTypeWillChange;
+
+/**
+ * Trait Modifiers.
+ *
+ * Returns dates relative to current date using modifier short-hand.
+ */
+trait Modifiers
+{
+    /**
+     * Midday/noon hour.
+     *
+     * @var int
+     */
+    protected static $midDayAt = 12;
+
+    /**
+     * get midday/noon hour
+     *
+     * @return int
+     */
+    public static function getMidDayAt()
+    {
+        return static::$midDayAt;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather consider mid-day is always 12pm, then if you need to test if it's an other
+     *             hour, test it explicitly:
+     *                 $date->format('G') == 13
+     *             or to set explicitly to a given hour:
+     *                 $date->setTime(13, 0, 0, 0)
+     *
+     * Set midday/noon hour
+     *
+     * @param int $hour midday hour
+     *
+     * @return void
+     */
+    public static function setMidDayAt($hour)
+    {
+        static::$midDayAt = $hour;
+    }
+
+    /**
+     * Modify to midday, default to self::$midDayAt
+     *
+     * @return static
+     */
+    public function midDay()
+    {
+        return $this->setTime(static::$midDayAt, 0, 0, 0);
+    }
+
+    /**
+     * Modify to the next occurrence of a given modifier such as a day of
+     * the week. If no modifier is provided, modify to the next occurrence
+     * of the current day of the week. Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param string|int|null $modifier
+     *
+     * @return static
+     */
+    public function next($modifier = null)
+    {
+        if ($modifier === null) {
+            $modifier = $this->dayOfWeek;
+        }
+
+        return $this->change(
+            'next '.(\is_string($modifier) ? $modifier : static::$days[$modifier])
+        );
+    }
+
+    /**
+     * Go forward or backward to the next week- or weekend-day.
+     *
+     * @param bool $weekday
+     * @param bool $forward
+     *
+     * @return static
+     */
+    private function nextOrPreviousDay($weekday = true, $forward = true)
+    {
+        /** @var CarbonInterface $date */
+        $date = $this;
+        $step = $forward ? 1 : -1;
+
+        do {
+            $date = $date->addDays($step);
+        } while ($weekday ? $date->isWeekend() : $date->isWeekday());
+
+        return $date;
+    }
+
+    /**
+     * Go forward to the next weekday.
+     *
+     * @return static
+     */
+    public function nextWeekday()
+    {
+        return $this->nextOrPreviousDay();
+    }
+
+    /**
+     * Go backward to the previous weekday.
+     *
+     * @return static
+     */
+    public function previousWeekday()
+    {
+        return $this->nextOrPreviousDay(true, false);
+    }
+
+    /**
+     * Go forward to the next weekend day.
+     *
+     * @return static
+     */
+    public function nextWeekendDay()
+    {
+        return $this->nextOrPreviousDay(false);
+    }
+
+    /**
+     * Go backward to the previous weekend day.
+     *
+     * @return static
+     */
+    public function previousWeekendDay()
+    {
+        return $this->nextOrPreviousDay(false, false);
+    }
+
+    /**
+     * Modify to the previous occurrence of a given modifier such as a day of
+     * the week. If no dayOfWeek is provided, modify to the previous occurrence
+     * of the current day of the week. Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param string|int|null $modifier
+     *
+     * @return static
+     */
+    public function previous($modifier = null)
+    {
+        if ($modifier === null) {
+            $modifier = $this->dayOfWeek;
+        }
+
+        return $this->change(
+            'last '.(\is_string($modifier) ? $modifier : static::$days[$modifier])
+        );
+    }
+
+    /**
+     * Modify to the first occurrence of a given day of the week
+     * in the current month. If no dayOfWeek is provided, modify to the
+     * first day of the current month.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek
+     *
+     * @return static
+     */
+    public function firstOfMonth($dayOfWeek = null)
+    {
+        $date = $this->startOfDay();
+
+        if ($dayOfWeek === null) {
+            return $date->day(1);
+        }
+
+        return $date->modify('first '.static::$days[$dayOfWeek].' of '.$date->rawFormat('F').' '.$date->year);
+    }
+
+    /**
+     * Modify to the last occurrence of a given day of the week
+     * in the current month. If no dayOfWeek is provided, modify to the
+     * last day of the current month.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek
+     *
+     * @return static
+     */
+    public function lastOfMonth($dayOfWeek = null)
+    {
+        $date = $this->startOfDay();
+
+        if ($dayOfWeek === null) {
+            return $date->day($date->daysInMonth);
+        }
+
+        return $date->modify('last '.static::$days[$dayOfWeek].' of '.$date->rawFormat('F').' '.$date->year);
+    }
+
+    /**
+     * Modify to the given occurrence of a given day of the week
+     * in the current month. If the calculated occurrence is outside the scope
+     * of the current month, then return false and no modifications are made.
+     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int $nth
+     * @param int $dayOfWeek
+     *
+     * @return mixed
+     */
+    public function nthOfMonth($nth, $dayOfWeek)
+    {
+        $date = $this->avoidMutation()->firstOfMonth();
+        $check = $date->rawFormat('Y-m');
+        $date = $date->modify('+'.$nth.' '.static::$days[$dayOfWeek]);
+
+        return $date->rawFormat('Y-m') === $check ? $this->modify((string) $date) : false;
+    }
+
+    /**
+     * Modify to the first occurrence of a given day of the week
+     * in the current quarter. If no dayOfWeek is provided, modify to the
+     * first day of the current quarter.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function firstOfQuarter($dayOfWeek = null)
+    {
+        return $this->setDate($this->year, $this->quarter * static::MONTHS_PER_QUARTER - 2, 1)->firstOfMonth($dayOfWeek);
+    }
+
+    /**
+     * Modify to the last occurrence of a given day of the week
+     * in the current quarter. If no dayOfWeek is provided, modify to the
+     * last day of the current quarter.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function lastOfQuarter($dayOfWeek = null)
+    {
+        return $this->setDate($this->year, $this->quarter * static::MONTHS_PER_QUARTER, 1)->lastOfMonth($dayOfWeek);
+    }
+
+    /**
+     * Modify to the given occurrence of a given day of the week
+     * in the current quarter. If the calculated occurrence is outside the scope
+     * of the current quarter, then return false and no modifications are made.
+     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int $nth
+     * @param int $dayOfWeek
+     *
+     * @return mixed
+     */
+    public function nthOfQuarter($nth, $dayOfWeek)
+    {
+        $date = $this->avoidMutation()->day(1)->month($this->quarter * static::MONTHS_PER_QUARTER);
+        $lastMonth = $date->month;
+        $year = $date->year;
+        $date = $date->firstOfQuarter()->modify('+'.$nth.' '.static::$days[$dayOfWeek]);
+
+        return ($lastMonth < $date->month || $year !== $date->year) ? false : $this->modify((string) $date);
+    }
+
+    /**
+     * Modify to the first occurrence of a given day of the week
+     * in the current year. If no dayOfWeek is provided, modify to the
+     * first day of the current year.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function firstOfYear($dayOfWeek = null)
+    {
+        return $this->month(1)->firstOfMonth($dayOfWeek);
+    }
+
+    /**
+     * Modify to the last occurrence of a given day of the week
+     * in the current year. If no dayOfWeek is provided, modify to the
+     * last day of the current year.  Use the supplied constants
+     * to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int|null $dayOfWeek day of the week default null
+     *
+     * @return static
+     */
+    public function lastOfYear($dayOfWeek = null)
+    {
+        return $this->month(static::MONTHS_PER_YEAR)->lastOfMonth($dayOfWeek);
+    }
+
+    /**
+     * Modify to the given occurrence of a given day of the week
+     * in the current year. If the calculated occurrence is outside the scope
+     * of the current year, then return false and no modifications are made.
+     * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY.
+     *
+     * @param int $nth
+     * @param int $dayOfWeek
+     *
+     * @return mixed
+     */
+    public function nthOfYear($nth, $dayOfWeek)
+    {
+        $date = $this->avoidMutation()->firstOfYear()->modify('+'.$nth.' '.static::$days[$dayOfWeek]);
+
+        return $this->year === $date->year ? $this->modify((string) $date) : false;
+    }
+
+    /**
+     * Modify the current instance to the average of a given instance (default now) and the current instance
+     * (second-precision).
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|null $date
+     *
+     * @return static
+     */
+    public function average($date = null)
+    {
+        return $this->addRealMicroseconds((int) ($this->diffInRealMicroseconds($this->resolveCarbon($date), false) / 2));
+    }
+
+    /**
+     * Get the closest date from the instance (second-precision).
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return static
+     */
+    public function closest($date1, $date2)
+    {
+        return $this->diffInRealMicroseconds($date1) < $this->diffInRealMicroseconds($date2) ? $date1 : $date2;
+    }
+
+    /**
+     * Get the farthest date from the instance (second-precision).
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2
+     *
+     * @return static
+     */
+    public function farthest($date1, $date2)
+    {
+        return $this->diffInRealMicroseconds($date1) > $this->diffInRealMicroseconds($date2) ? $date1 : $date2;
+    }
+
+    /**
+     * Get the minimum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return static
+     */
+    public function min($date = null)
+    {
+        $date = $this->resolveCarbon($date);
+
+        return $this->lt($date) ? $this : $date;
+    }
+
+    /**
+     * Get the minimum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see min()
+     *
+     * @return static
+     */
+    public function minimum($date = null)
+    {
+        return $this->min($date);
+    }
+
+    /**
+     * Get the maximum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @return static
+     */
+    public function max($date = null)
+    {
+        $date = $this->resolveCarbon($date);
+
+        return $this->gt($date) ? $this : $date;
+    }
+
+    /**
+     * Get the maximum instance between a given instance (default now) and the current instance.
+     *
+     * @param \Carbon\Carbon|\DateTimeInterface|mixed $date
+     *
+     * @see max()
+     *
+     * @return static
+     */
+    public function maximum($date = null)
+    {
+        return $this->max($date);
+    }
+
+    /**
+     * Calls \DateTime::modify if mutable or \DateTimeImmutable::modify else.
+     *
+     * @see https://php.net/manual/en/datetime.modify.php
+     */
+    #[ReturnTypeWillChange]
+    public function modify($modify)
+    {
+        return parent::modify((string) $modify);
+    }
+
+    /**
+     * Similar to native modify() method of DateTime but can handle more grammars.
+     *
+     * @example
+     * ```
+     * echo Carbon::now()->change('next 2pm');
+     * ```
+     *
+     * @link https://php.net/manual/en/datetime.modify.php
+     *
+     * @param string $modifier
+     *
+     * @return static
+     */
+    public function change($modifier)
+    {
+        return $this->modify(preg_replace_callback('/^(next|previous|last)\s+(\d{1,2}(h|am|pm|:\d{1,2}(:\d{1,2})?))$/i', function ($match) {
+            $match[2] = str_replace('h', ':00', $match[2]);
+            $test = $this->avoidMutation()->modify($match[2]);
+            $method = $match[1] === 'next' ? 'lt' : 'gt';
+            $match[1] = $test->$method($this) ? $match[1].' day' : 'today';
+
+            return $match[1].' '.$match[2];
+        }, strtr(trim($modifier), [
+            ' at ' => ' ',
+            'just now' => 'now',
+            'after tomorrow' => 'tomorrow +1 day',
+            'before yesterday' => 'yesterday -1 day',
+        ])));
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php
new file mode 100644
index 0000000..66eaa12
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php
@@ -0,0 +1,70 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\Carbon;
+use Carbon\CarbonImmutable;
+
+/**
+ * Trait Mutability.
+ *
+ * Utils to know if the current object is mutable or immutable and convert it.
+ */
+trait Mutability
+{
+    use Cast;
+
+    /**
+     * Returns true if the current class/instance is mutable.
+     *
+     * @return bool
+     */
+    public static function isMutable()
+    {
+        return false;
+    }
+
+    /**
+     * Returns true if the current class/instance is immutable.
+     *
+     * @return bool
+     */
+    public static function isImmutable()
+    {
+        return !static::isMutable();
+    }
+
+    /**
+     * Return a mutable copy of the instance.
+     *
+     * @return Carbon
+     */
+    public function toMutable()
+    {
+        /** @var Carbon $date */
+        $date = $this->cast(Carbon::class);
+
+        return $date;
+    }
+
+    /**
+     * Return a immutable copy of the instance.
+     *
+     * @return CarbonImmutable
+     */
+    public function toImmutable()
+    {
+        /** @var CarbonImmutable $date */
+        $date = $this->cast(CarbonImmutable::class);
+
+        return $date;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/ObjectInitialisation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/ObjectInitialisation.php
new file mode 100644
index 0000000..252df3a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/ObjectInitialisation.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+trait ObjectInitialisation
+{
+    /**
+     * True when parent::__construct has been called.
+     *
+     * @var string
+     */
+    protected $constructedObjectId;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Options.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Options.php
new file mode 100644
index 0000000..0a49372
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Options.php
@@ -0,0 +1,466 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\CarbonInterface;
+use DateTimeInterface;
+use Throwable;
+
+/**
+ * Trait Options.
+ *
+ * Embed base methods to change settings of Carbon classes.
+ *
+ * Depends on the following methods:
+ *
+ * @method \Carbon\Carbon|\Carbon\CarbonImmutable shiftTimezone($timezone) Set the timezone
+ */
+trait Options
+{
+    use Localization;
+
+    /**
+     * Customizable PHP_INT_SIZE override.
+     *
+     * @var int
+     */
+    public static $PHPIntSize = PHP_INT_SIZE;
+
+    /**
+     * First day of week.
+     *
+     * @var int|string
+     */
+    protected static $weekStartsAt = CarbonInterface::MONDAY;
+
+    /**
+     * Last day of week.
+     *
+     * @var int|string
+     */
+    protected static $weekEndsAt = CarbonInterface::SUNDAY;
+
+    /**
+     * Days of weekend.
+     *
+     * @var array
+     */
+    protected static $weekendDays = [
+        CarbonInterface::SATURDAY,
+        CarbonInterface::SUNDAY,
+    ];
+
+    /**
+     * Format regex patterns.
+     *
+     * @var array<string, string>
+     */
+    protected static $regexFormats = [
+        'd' => '(3[01]|[12][0-9]|0[1-9])',
+        'D' => '(Sun|Mon|Tue|Wed|Thu|Fri|Sat)',
+        'j' => '([123][0-9]|[1-9])',
+        'l' => '([a-zA-Z]{2,})',
+        'N' => '([1-7])',
+        'S' => '(st|nd|rd|th)',
+        'w' => '([0-6])',
+        'z' => '(36[0-5]|3[0-5][0-9]|[12][0-9]{2}|[1-9]?[0-9])',
+        'W' => '(5[012]|[1-4][0-9]|0?[1-9])',
+        'F' => '([a-zA-Z]{2,})',
+        'm' => '(1[012]|0[1-9])',
+        'M' => '([a-zA-Z]{3})',
+        'n' => '(1[012]|[1-9])',
+        't' => '(2[89]|3[01])',
+        'L' => '(0|1)',
+        'o' => '([1-9][0-9]{0,4})',
+        'Y' => '([1-9]?[0-9]{4})',
+        'y' => '([0-9]{2})',
+        'a' => '(am|pm)',
+        'A' => '(AM|PM)',
+        'B' => '([0-9]{3})',
+        'g' => '(1[012]|[1-9])',
+        'G' => '(2[0-3]|1?[0-9])',
+        'h' => '(1[012]|0[1-9])',
+        'H' => '(2[0-3]|[01][0-9])',
+        'i' => '([0-5][0-9])',
+        's' => '([0-5][0-9])',
+        'u' => '([0-9]{1,6})',
+        'v' => '([0-9]{1,3})',
+        'e' => '([a-zA-Z]{1,5})|([a-zA-Z]*\\/[a-zA-Z]*)',
+        'I' => '(0|1)',
+        'O' => '([+-](1[012]|0[0-9])[0134][05])',
+        'P' => '([+-](1[012]|0[0-9]):[0134][05])',
+        'p' => '(Z|[+-](1[012]|0[0-9]):[0134][05])',
+        'T' => '([a-zA-Z]{1,5})',
+        'Z' => '(-?[1-5]?[0-9]{1,4})',
+        'U' => '([0-9]*)',
+
+        // The formats below are combinations of the above formats.
+        'c' => '(([1-9]?[0-9]{4})-(1[012]|0[1-9])-(3[01]|[12][0-9]|0[1-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])[+-](1[012]|0[0-9]):([0134][05]))', // Y-m-dTH:i:sP
+        'r' => '(([a-zA-Z]{3}), ([123][0-9]|0[1-9]) ([a-zA-Z]{3}) ([1-9]?[0-9]{4}) (2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]) [+-](1[012]|0[0-9])([0134][05]))', // D, d M Y H:i:s O
+    ];
+
+    /**
+     * Format modifiers (such as available in createFromFormat) regex patterns.
+     *
+     * @var array
+     */
+    protected static $regexFormatModifiers = [
+        '*' => '.+',
+        ' ' => '[   ]',
+        '#' => '[;:\\/.,()-]',
+        '?' => '([^a]|[a])',
+        '!' => '',
+        '|' => '',
+        '+' => '',
+    ];
+
+    /**
+     * Indicates if months should be calculated with overflow.
+     * Global setting.
+     *
+     * @var bool
+     */
+    protected static $monthsOverflow = true;
+
+    /**
+     * Indicates if years should be calculated with overflow.
+     * Global setting.
+     *
+     * @var bool
+     */
+    protected static $yearsOverflow = true;
+
+    /**
+     * Indicates if the strict mode is in use.
+     * Global setting.
+     *
+     * @var bool
+     */
+    protected static $strictModeEnabled = true;
+
+    /**
+     * Function to call instead of format.
+     *
+     * @var string|callable|null
+     */
+    protected static $formatFunction;
+
+    /**
+     * Function to call instead of createFromFormat.
+     *
+     * @var string|callable|null
+     */
+    protected static $createFromFormatFunction;
+
+    /**
+     * Function to call instead of parse.
+     *
+     * @var string|callable|null
+     */
+    protected static $parseFunction;
+
+    /**
+     * Indicates if months should be calculated with overflow.
+     * Specific setting.
+     *
+     * @var bool|null
+     */
+    protected $localMonthsOverflow;
+
+    /**
+     * Indicates if years should be calculated with overflow.
+     * Specific setting.
+     *
+     * @var bool|null
+     */
+    protected $localYearsOverflow;
+
+    /**
+     * Indicates if the strict mode is in use.
+     * Specific setting.
+     *
+     * @var bool|null
+     */
+    protected $localStrictModeEnabled;
+
+    /**
+     * Options for diffForHumans and forHumans methods.
+     *
+     * @var bool|null
+     */
+    protected $localHumanDiffOptions;
+
+    /**
+     * Format to use on string cast.
+     *
+     * @var string|null
+     */
+    protected $localToStringFormat;
+
+    /**
+     * Format to use on JSON serialization.
+     *
+     * @var string|null
+     */
+    protected $localSerializer;
+
+    /**
+     * Instance-specific macros.
+     *
+     * @var array|null
+     */
+    protected $localMacros;
+
+    /**
+     * Instance-specific generic macros.
+     *
+     * @var array|null
+     */
+    protected $localGenericMacros;
+
+    /**
+     * Function to call instead of format.
+     *
+     * @var string|callable|null
+     */
+    protected $localFormatFunction;
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     * @see settings
+     *
+     * Enable the strict mode (or disable with passing false).
+     *
+     * @param bool $strictModeEnabled
+     */
+    public static function useStrictMode($strictModeEnabled = true)
+    {
+        static::$strictModeEnabled = $strictModeEnabled;
+    }
+
+    /**
+     * Returns true if the strict mode is globally in use, false else.
+     * (It can be overridden in specific instances.)
+     *
+     * @return bool
+     */
+    public static function isStrictModeEnabled()
+    {
+        return static::$strictModeEnabled;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Indicates if months should be calculated with overflow.
+     *
+     * @param bool $monthsOverflow
+     *
+     * @return void
+     */
+    public static function useMonthsOverflow($monthsOverflow = true)
+    {
+        static::$monthsOverflow = $monthsOverflow;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Reset the month overflow behavior.
+     *
+     * @return void
+     */
+    public static function resetMonthsOverflow()
+    {
+        static::$monthsOverflow = true;
+    }
+
+    /**
+     * Get the month overflow global behavior (can be overridden in specific instances).
+     *
+     * @return bool
+     */
+    public static function shouldOverflowMonths()
+    {
+        return static::$monthsOverflow;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Indicates if years should be calculated with overflow.
+     *
+     * @param bool $yearsOverflow
+     *
+     * @return void
+     */
+    public static function useYearsOverflow($yearsOverflow = true)
+    {
+        static::$yearsOverflow = $yearsOverflow;
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather use the ->settings() method.
+     *             Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants
+     *             are available for quarters, years, decade, centuries, millennia (singular and plural forms).
+     * @see settings
+     *
+     * Reset the month overflow behavior.
+     *
+     * @return void
+     */
+    public static function resetYearsOverflow()
+    {
+        static::$yearsOverflow = true;
+    }
+
+    /**
+     * Get the month overflow global behavior (can be overridden in specific instances).
+     *
+     * @return bool
+     */
+    public static function shouldOverflowYears()
+    {
+        return static::$yearsOverflow;
+    }
+
+    /**
+     * Set specific options.
+     *  - strictMode: true|false|null
+     *  - monthOverflow: true|false|null
+     *  - yearOverflow: true|false|null
+     *  - humanDiffOptions: int|null
+     *  - toStringFormat: string|Closure|null
+     *  - toJsonFormat: string|Closure|null
+     *  - locale: string|null
+     *  - timezone: \DateTimeZone|string|int|null
+     *  - macros: array|null
+     *  - genericMacros: array|null
+     *
+     * @param array $settings
+     *
+     * @return $this|static
+     */
+    public function settings(array $settings)
+    {
+        $this->localStrictModeEnabled = $settings['strictMode'] ?? null;
+        $this->localMonthsOverflow = $settings['monthOverflow'] ?? null;
+        $this->localYearsOverflow = $settings['yearOverflow'] ?? null;
+        $this->localHumanDiffOptions = $settings['humanDiffOptions'] ?? null;
+        $this->localToStringFormat = $settings['toStringFormat'] ?? null;
+        $this->localSerializer = $settings['toJsonFormat'] ?? null;
+        $this->localMacros = $settings['macros'] ?? null;
+        $this->localGenericMacros = $settings['genericMacros'] ?? null;
+        $this->localFormatFunction = $settings['formatFunction'] ?? null;
+
+        if (isset($settings['locale'])) {
+            $locales = $settings['locale'];
+
+            if (!\is_array($locales)) {
+                $locales = [$locales];
+            }
+
+            $this->locale(...$locales);
+        }
+
+        if (isset($settings['timezone'])) {
+            return $this->shiftTimezone($settings['timezone']);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Returns current local settings.
+     *
+     * @return array
+     */
+    public function getSettings()
+    {
+        $settings = [];
+        $map = [
+            'localStrictModeEnabled' => 'strictMode',
+            'localMonthsOverflow' => 'monthOverflow',
+            'localYearsOverflow' => 'yearOverflow',
+            'localHumanDiffOptions' => 'humanDiffOptions',
+            'localToStringFormat' => 'toStringFormat',
+            'localSerializer' => 'toJsonFormat',
+            'localMacros' => 'macros',
+            'localGenericMacros' => 'genericMacros',
+            'locale' => 'locale',
+            'tzName' => 'timezone',
+            'localFormatFunction' => 'formatFunction',
+        ];
+
+        foreach ($map as $property => $key) {
+            $value = $this->$property ?? null;
+
+            if ($value !== null) {
+                $settings[$key] = $value;
+            }
+        }
+
+        return $settings;
+    }
+
+    /**
+     * Show truthy properties on var_dump().
+     *
+     * @return array
+     */
+    public function __debugInfo()
+    {
+        $infos = array_filter(get_object_vars($this), function ($var) {
+            return $var;
+        });
+
+        foreach (['dumpProperties', 'constructedObjectId'] as $property) {
+            if (isset($infos[$property])) {
+                unset($infos[$property]);
+            }
+        }
+
+        $this->addExtraDebugInfos($infos);
+
+        return $infos;
+    }
+
+    protected function addExtraDebugInfos(&$infos): void
+    {
+        if ($this instanceof DateTimeInterface) {
+            try {
+                if (!isset($infos['date'])) {
+                    $infos['date'] = $this->format(CarbonInterface::MOCK_DATETIME_FORMAT);
+                }
+
+                if (!isset($infos['timezone'])) {
+                    $infos['timezone'] = $this->tzName;
+                }
+            } catch (Throwable $exception) {
+                // noop
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php
new file mode 100644
index 0000000..03d3fe6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php
@@ -0,0 +1,238 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\CarbonInterface;
+use Carbon\Exceptions\UnknownUnitException;
+
+/**
+ * Trait Rounding.
+ *
+ * Round, ceil, floor units.
+ *
+ * Depends on the following methods:
+ *
+ * @method static copy()
+ * @method static startOfWeek(int $weekStartsAt = null)
+ */
+trait Rounding
+{
+    use IntervalRounding;
+
+    /**
+     * Round the current instance at the given unit with given precision if specified and the given function.
+     *
+     * @param string    $unit
+     * @param float|int $precision
+     * @param string    $function
+     *
+     * @return CarbonInterface
+     */
+    public function roundUnit($unit, $precision = 1, $function = 'round')
+    {
+        $metaUnits = [
+            // @call roundUnit
+            'millennium' => [static::YEARS_PER_MILLENNIUM, 'year'],
+            // @call roundUnit
+            'century' => [static::YEARS_PER_CENTURY, 'year'],
+            // @call roundUnit
+            'decade' => [static::YEARS_PER_DECADE, 'year'],
+            // @call roundUnit
+            'quarter' => [static::MONTHS_PER_QUARTER, 'month'],
+            // @call roundUnit
+            'millisecond' => [1000, 'microsecond'],
+        ];
+        $normalizedUnit = static::singularUnit($unit);
+        $ranges = array_merge(static::getRangesByUnit(), [
+            // @call roundUnit
+            'microsecond' => [0, 999999],
+        ]);
+        $factor = 1;
+        $initialMonth = $this->month;
+
+        if ($normalizedUnit === 'week') {
+            $normalizedUnit = 'day';
+            $precision *= static::DAYS_PER_WEEK;
+        }
+
+        if (isset($metaUnits[$normalizedUnit])) {
+            [$factor, $normalizedUnit] = $metaUnits[$normalizedUnit];
+        }
+
+        $precision *= $factor;
+
+        if (!isset($ranges[$normalizedUnit])) {
+            throw new UnknownUnitException($unit);
+        }
+
+        $found = false;
+        $fraction = 0;
+        $arguments = null;
+        $factor = $this->year < 0 ? -1 : 1;
+        $changes = [];
+
+        foreach ($ranges as $unit => [$minimum, $maximum]) {
+            if ($normalizedUnit === $unit) {
+                $arguments = [$this->$unit, $minimum];
+                $fraction = $precision - floor($precision);
+                $found = true;
+
+                continue;
+            }
+
+            if ($found) {
+                $delta = $maximum + 1 - $minimum;
+                $factor /= $delta;
+                $fraction *= $delta;
+                $arguments[0] += $this->$unit * $factor;
+                $changes[$unit] = round(
+                    $minimum + ($fraction ? $fraction * $function(($this->$unit - $minimum) / $fraction) : 0)
+                );
+
+                // Cannot use modulo as it lose double precision
+                while ($changes[$unit] >= $delta) {
+                    $changes[$unit] -= $delta;
+                }
+
+                $fraction -= floor($fraction);
+            }
+        }
+
+        [$value, $minimum] = $arguments;
+        $normalizedValue = floor($function(($value - $minimum) / $precision) * $precision + $minimum);
+
+        /** @var CarbonInterface $result */
+        $result = $this->$normalizedUnit($normalizedValue);
+
+        foreach ($changes as $unit => $value) {
+            $result = $result->$unit($value);
+        }
+
+        return $normalizedUnit === 'month' && $precision <= 1 && abs($result->month - $initialMonth) === 2
+            // Re-run the change in case an overflow occurred
+            ? $result->$normalizedUnit($normalizedValue)
+            : $result;
+    }
+
+    /**
+     * Truncate the current instance at the given unit with given precision if specified.
+     *
+     * @param string    $unit
+     * @param float|int $precision
+     *
+     * @return CarbonInterface
+     */
+    public function floorUnit($unit, $precision = 1)
+    {
+        return $this->roundUnit($unit, $precision, 'floor');
+    }
+
+    /**
+     * Ceil the current instance at the given unit with given precision if specified.
+     *
+     * @param string    $unit
+     * @param float|int $precision
+     *
+     * @return CarbonInterface
+     */
+    public function ceilUnit($unit, $precision = 1)
+    {
+        return $this->roundUnit($unit, $precision, 'ceil');
+    }
+
+    /**
+     * Round the current instance second with given precision if specified.
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     * @param string                              $function
+     *
+     * @return CarbonInterface
+     */
+    public function round($precision = 1, $function = 'round')
+    {
+        return $this->roundWith($precision, $function);
+    }
+
+    /**
+     * Round the current instance second with given precision if specified.
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return CarbonInterface
+     */
+    public function floor($precision = 1)
+    {
+        return $this->round($precision, 'floor');
+    }
+
+    /**
+     * Ceil the current instance second with given precision if specified.
+     *
+     * @param float|int|string|\DateInterval|null $precision
+     *
+     * @return CarbonInterface
+     */
+    public function ceil($precision = 1)
+    {
+        return $this->round($precision, 'ceil');
+    }
+
+    /**
+     * Round the current instance week.
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return CarbonInterface
+     */
+    public function roundWeek($weekStartsAt = null)
+    {
+        return $this->closest(
+            $this->avoidMutation()->floorWeek($weekStartsAt),
+            $this->avoidMutation()->ceilWeek($weekStartsAt)
+        );
+    }
+
+    /**
+     * Truncate the current instance week.
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return CarbonInterface
+     */
+    public function floorWeek($weekStartsAt = null)
+    {
+        return $this->startOfWeek($weekStartsAt);
+    }
+
+    /**
+     * Ceil the current instance week.
+     *
+     * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week
+     *
+     * @return CarbonInterface
+     */
+    public function ceilWeek($weekStartsAt = null)
+    {
+        if ($this->isMutable()) {
+            $startOfWeek = $this->avoidMutation()->startOfWeek($weekStartsAt);
+
+            return $startOfWeek != $this ?
+                $this->startOfWeek($weekStartsAt)->addWeek() :
+                $this;
+        }
+
+        $startOfWeek = $this->startOfWeek($weekStartsAt);
+
+        return $startOfWeek != $this ?
+            $startOfWeek->addWeek() :
+            $this->avoidMutation();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php
new file mode 100644
index 0000000..a27e4e3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php
@@ -0,0 +1,237 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\Exceptions\InvalidFormatException;
+use ReturnTypeWillChange;
+use Throwable;
+
+/**
+ * Trait Serialization.
+ *
+ * Serialization and JSON stuff.
+ *
+ * Depends on the following properties:
+ *
+ * @property int $year
+ * @property int $month
+ * @property int $daysInMonth
+ * @property int $quarter
+ *
+ * Depends on the following methods:
+ *
+ * @method string|static locale(string $locale = null, string ...$fallbackLocales)
+ * @method string        toJSON()
+ */
+trait Serialization
+{
+    use ObjectInitialisation;
+
+    /**
+     * The custom Carbon JSON serializer.
+     *
+     * @var callable|null
+     */
+    protected static $serializer;
+
+    /**
+     * List of key to use for dump/serialization.
+     *
+     * @var string[]
+     */
+    protected $dumpProperties = ['date', 'timezone_type', 'timezone'];
+
+    /**
+     * Locale to dump comes here before serialization.
+     *
+     * @var string|null
+     */
+    protected $dumpLocale;
+
+    /**
+     * Embed date properties to dump in a dedicated variables so it won't overlap native
+     * DateTime ones.
+     *
+     * @var array|null
+     */
+    protected $dumpDateProperties;
+
+    /**
+     * Return a serialized string of the instance.
+     *
+     * @return string
+     */
+    public function serialize()
+    {
+        return serialize($this);
+    }
+
+    /**
+     * Create an instance from a serialized string.
+     *
+     * @param string $value
+     *
+     * @throws InvalidFormatException
+     *
+     * @return static
+     */
+    public static function fromSerialized($value)
+    {
+        $instance = @unserialize((string) $value);
+
+        if (!$instance instanceof static) {
+            throw new InvalidFormatException("Invalid serialized value: $value");
+        }
+
+        return $instance;
+    }
+
+    /**
+     * The __set_state handler.
+     *
+     * @param string|array $dump
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public static function __set_state($dump)
+    {
+        if (\is_string($dump)) {
+            return static::parse($dump);
+        }
+
+        /** @var \DateTimeInterface $date */
+        $date = get_parent_class(static::class) && method_exists(parent::class, '__set_state')
+            ? parent::__set_state((array) $dump)
+            : (object) $dump;
+
+        return static::instance($date);
+    }
+
+    /**
+     * Returns the list of properties to dump on serialize() called on.
+     *
+     * @return array
+     */
+    public function __sleep()
+    {
+        $properties = $this->getSleepProperties();
+
+        if ($this->localTranslator ?? null) {
+            $properties[] = 'dumpLocale';
+            $this->dumpLocale = $this->locale ?? null;
+        }
+
+        return $properties;
+    }
+
+    /**
+     * Set locale if specified on unserialize() called.
+     */
+    #[ReturnTypeWillChange]
+    public function __wakeup()
+    {
+        if (get_parent_class() && method_exists(parent::class, '__wakeup')) {
+            // @codeCoverageIgnoreStart
+            try {
+                parent::__wakeup();
+            } catch (Throwable $exception) {
+                // FatalError occurs when calling msgpack_unpack() in PHP 7.4 or later.
+                ['date' => $date, 'timezone' => $timezone] = $this->dumpDateProperties;
+                parent::__construct($date, unserialize($timezone));
+            }
+            // @codeCoverageIgnoreEnd
+        }
+
+        $this->constructedObjectId = spl_object_hash($this);
+
+        if (isset($this->dumpLocale)) {
+            $this->locale($this->dumpLocale);
+            $this->dumpLocale = null;
+        }
+
+        $this->cleanupDumpProperties();
+    }
+
+    /**
+     * Prepare the object for JSON serialization.
+     *
+     * @return array|string
+     */
+    #[ReturnTypeWillChange]
+    public function jsonSerialize()
+    {
+        $serializer = $this->localSerializer ?? static::$serializer;
+
+        if ($serializer) {
+            return \is_string($serializer)
+                ? $this->rawFormat($serializer)
+                : $serializer($this);
+        }
+
+        return $this->toJSON();
+    }
+
+    /**
+     * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
+     *             You should rather transform Carbon object before the serialization.
+     *
+     * JSON serialize all Carbon instances using the given callback.
+     *
+     * @param callable $callback
+     *
+     * @return void
+     */
+    public static function serializeUsing($callback)
+    {
+        static::$serializer = $callback;
+    }
+
+    /**
+     * Cleanup properties attached to the public scope of DateTime when a dump of the date is requested.
+     * foreach ($date as $_) {}
+     * serializer($date)
+     * var_export($date)
+     * get_object_vars($date)
+     */
+    public function cleanupDumpProperties()
+    {
+        foreach ($this->dumpProperties as $property) {
+            if (isset($this->$property)) {
+                unset($this->$property);
+            }
+        }
+
+        return $this;
+    }
+
+    private function getSleepProperties(): array
+    {
+        $properties = $this->dumpProperties;
+
+        // @codeCoverageIgnoreStart
+        if (!\extension_loaded('msgpack')) {
+            return $properties;
+        }
+
+        if (isset($this->constructedObjectId)) {
+            $this->dumpDateProperties = [
+                'date' => $this->format('Y-m-d H:i:s.u'),
+                'timezone' => serialize($this->timezone ?? null),
+            ];
+
+            $properties[] = 'dumpDateProperties';
+        }
+
+        return $properties;
+        // @codeCoverageIgnoreEnd
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Test.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Test.php
new file mode 100644
index 0000000..d998974
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Test.php
@@ -0,0 +1,157 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Closure;
+use DateTimeImmutable;
+
+trait Test
+{
+    ///////////////////////////////////////////////////////////////////
+    ///////////////////////// TESTING AIDS ////////////////////////////
+    ///////////////////////////////////////////////////////////////////
+
+    /**
+     * A test Carbon instance to be returned when now instances are created.
+     *
+     * @var static
+     */
+    protected static $testNow;
+
+    /**
+     * Set a Carbon instance (real or mock) to be returned when a "now"
+     * instance is created.  The provided instance will be returned
+     * specifically under the following conditions:
+     *   - A call to the static now() method, ex. Carbon::now()
+     *   - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null)
+     *   - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now')
+     *   - When a string containing the desired time is passed to Carbon::parse().
+     *
+     * Note the timezone parameter was left out of the examples above and
+     * has no affect as the mock value will be returned regardless of its value.
+     *
+     * To clear the test instance call this method using the default
+     * parameter of null.
+     *
+     * /!\ Use this method for unit tests only.
+     *
+     * @param Closure|static|string|false|null $testNow real or mock Carbon instance
+     */
+    public static function setTestNow($testNow = null)
+    {
+        if ($testNow === false) {
+            $testNow = null;
+        }
+
+        static::$testNow = \is_string($testNow) ? static::parse($testNow) : $testNow;
+    }
+
+    /**
+     * Temporarily sets a static date to be used within the callback.
+     * Using setTestNow to set the date, executing the callback, then
+     * clearing the test instance.
+     *
+     * /!\ Use this method for unit tests only.
+     *
+     * @param Closure|static|string|false|null $testNow real or mock Carbon instance
+     * @param Closure|null $callback
+     *
+     * @return mixed
+     */
+    public static function withTestNow($testNow = null, $callback = null)
+    {
+        static::setTestNow($testNow);
+        $result = $callback();
+        static::setTestNow();
+
+        return $result;
+    }
+
+    /**
+     * Get the Carbon instance (real or mock) to be returned when a "now"
+     * instance is created.
+     *
+     * @return Closure|static the current instance used for testing
+     */
+    public static function getTestNow()
+    {
+        return static::$testNow;
+    }
+
+    /**
+     * Determine if there is a valid test instance set. A valid test instance
+     * is anything that is not null.
+     *
+     * @return bool true if there is a test instance, otherwise false
+     */
+    public static function hasTestNow()
+    {
+        return static::getTestNow() !== null;
+    }
+
+    /**
+     * Return the given timezone and set it to the test instance if not null.
+     * If null, get the timezone from the test instance and return it.
+     *
+     * @param string|\DateTimeZone    $tz
+     * @param \Carbon\CarbonInterface $testInstance
+     *
+     * @return string|\DateTimeZone
+     */
+    protected static function handleMockTimezone($tz, &$testInstance)
+    {
+        //shift the time according to the given time zone
+        if ($tz !== null && $tz !== static::getMockedTestNow($tz)->getTimezone()) {
+            $testInstance = $testInstance->setTimezone($tz);
+
+            return $tz;
+        }
+
+        return $testInstance->getTimezone();
+    }
+
+    /**
+     * Get the mocked date passed in setTestNow() and if it's a Closure, execute it.
+     *
+     * @param string|\DateTimeZone $tz
+     *
+     * @return \Carbon\CarbonImmutable|\Carbon\Carbon|null
+     */
+    protected static function getMockedTestNow($tz)
+    {
+        $testNow = static::getTestNow();
+
+        if ($testNow instanceof Closure) {
+            $realNow = new DateTimeImmutable('now');
+            $testNow = $testNow(static::parse(
+                $realNow->format('Y-m-d H:i:s.u'),
+                $tz ?: $realNow->getTimezone()
+            ));
+        }
+        /* @var \Carbon\CarbonImmutable|\Carbon\Carbon|null $testNow */
+
+        return $testNow;
+    }
+
+    protected static function mockConstructorParameters(&$time, &$tz)
+    {
+        /** @var \Carbon\CarbonImmutable|\Carbon\Carbon $testInstance */
+        $testInstance = clone static::getMockedTestNow($tz);
+
+        $tz = static::handleMockTimezone($tz, $testInstance);
+
+        if (static::hasRelativeKeywords($time)) {
+            $testInstance = $testInstance->modify($time);
+        }
+
+        $time = $testInstance instanceof self ? $testInstance->rawFormat(static::MOCK_DATETIME_FORMAT) : $testInstance->format(static::MOCK_DATETIME_FORMAT);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php
new file mode 100644
index 0000000..35d45aa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php
@@ -0,0 +1,197 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+/**
+ * Trait Timestamp.
+ */
+trait Timestamp
+{
+    /**
+     * Create a Carbon instance from a timestamp and set the timezone (use default one if not specified).
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string          $timestamp
+     * @param \DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function createFromTimestamp($timestamp, $tz = null)
+    {
+        return static::createFromTimestampUTC($timestamp)->setTimezone($tz);
+    }
+
+    /**
+     * Create a Carbon instance from an timestamp keeping the timezone to UTC.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $timestamp
+     *
+     * @return static
+     */
+    public static function createFromTimestampUTC($timestamp)
+    {
+        [$integer, $decimal] = self::getIntegerAndDecimalParts($timestamp);
+        $delta = floor($decimal / static::MICROSECONDS_PER_SECOND);
+        $integer += $delta;
+        $decimal -= $delta * static::MICROSECONDS_PER_SECOND;
+        $decimal = str_pad((string) $decimal, 6, '0', STR_PAD_LEFT);
+
+        return static::rawCreateFromFormat('U u', "$integer $decimal");
+    }
+
+    /**
+     * Create a Carbon instance from a timestamp in milliseconds.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $timestamp
+     *
+     * @return static
+     */
+    public static function createFromTimestampMsUTC($timestamp)
+    {
+        [$milliseconds, $microseconds] = self::getIntegerAndDecimalParts($timestamp, 3);
+        $sign = $milliseconds < 0 || $milliseconds === 0.0 && $microseconds < 0 ? -1 : 1;
+        $milliseconds = abs($milliseconds);
+        $microseconds = $sign * abs($microseconds) + static::MICROSECONDS_PER_MILLISECOND * ($milliseconds % static::MILLISECONDS_PER_SECOND);
+        $seconds = $sign * floor($milliseconds / static::MILLISECONDS_PER_SECOND);
+        $delta = floor($microseconds / static::MICROSECONDS_PER_SECOND);
+        $seconds += $delta;
+        $microseconds -= $delta * static::MICROSECONDS_PER_SECOND;
+        $microseconds = str_pad($microseconds, 6, '0', STR_PAD_LEFT);
+
+        return static::rawCreateFromFormat('U u', "$seconds $microseconds");
+    }
+
+    /**
+     * Create a Carbon instance from a timestamp in milliseconds.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string          $timestamp
+     * @param \DateTimeZone|string|null $tz
+     *
+     * @return static
+     */
+    public static function createFromTimestampMs($timestamp, $tz = null)
+    {
+        return static::createFromTimestampMsUTC($timestamp)
+            ->setTimezone($tz);
+    }
+
+    /**
+     * Set the instance's timestamp.
+     *
+     * Timestamp input can be given as int, float or a string containing one or more numbers.
+     *
+     * @param float|int|string $unixTimestamp
+     *
+     * @return static
+     */
+    public function timestamp($unixTimestamp)
+    {
+        return $this->setTimestamp($unixTimestamp);
+    }
+
+    /**
+     * Returns a timestamp rounded with the given precision (6 by default).
+     *
+     * @example getPreciseTimestamp()   1532087464437474 (microsecond maximum precision)
+     * @example getPreciseTimestamp(6)  1532087464437474
+     * @example getPreciseTimestamp(5)  153208746443747  (1/100000 second precision)
+     * @example getPreciseTimestamp(4)  15320874644375   (1/10000 second precision)
+     * @example getPreciseTimestamp(3)  1532087464437    (millisecond precision)
+     * @example getPreciseTimestamp(2)  153208746444     (1/100 second precision)
+     * @example getPreciseTimestamp(1)  15320874644      (1/10 second precision)
+     * @example getPreciseTimestamp(0)  1532087464       (second precision)
+     * @example getPreciseTimestamp(-1) 153208746        (10 second precision)
+     * @example getPreciseTimestamp(-2) 15320875         (100 second precision)
+     *
+     * @param int $precision
+     *
+     * @return float
+     */
+    public function getPreciseTimestamp($precision = 6)
+    {
+        return round($this->rawFormat('Uu') / pow(10, 6 - $precision));
+    }
+
+    /**
+     * Returns the milliseconds timestamps used amongst other by Date javascript objects.
+     *
+     * @return float
+     */
+    public function valueOf()
+    {
+        return $this->getPreciseTimestamp(3);
+    }
+
+    /**
+     * Returns the timestamp with millisecond precision.
+     *
+     * @return int
+     */
+    public function getTimestampMs()
+    {
+        return (int) $this->getPreciseTimestamp(3);
+    }
+
+    /**
+     * @alias getTimestamp
+     *
+     * Returns the UNIX timestamp for the current date.
+     *
+     * @return int
+     */
+    public function unix()
+    {
+        return $this->getTimestamp();
+    }
+
+    /**
+     * Return an array with integer part digits and decimals digits split from one or more positive numbers
+     * (such as timestamps) as string with the given number of decimals (6 by default).
+     *
+     * By splitting integer and decimal, this method obtain a better precision than
+     * number_format when the input is a string.
+     *
+     * @param float|int|string $numbers  one or more numbers
+     * @param int              $decimals number of decimals precision (6 by default)
+     *
+     * @return array 0-index is integer part, 1-index is decimal part digits
+     */
+    private static function getIntegerAndDecimalParts($numbers, $decimals = 6)
+    {
+        if (\is_int($numbers) || \is_float($numbers)) {
+            $numbers = number_format($numbers, $decimals, '.', '');
+        }
+
+        $sign = str_starts_with($numbers, '-') ? -1 : 1;
+        $integer = 0;
+        $decimal = 0;
+
+        foreach (preg_split('`[^0-9.]+`', $numbers) as $chunk) {
+            [$integerPart, $decimalPart] = explode('.', "$chunk.");
+
+            $integer += (int) $integerPart;
+            $decimal += (float) ("0.$decimalPart");
+        }
+
+        $overflow = floor($decimal);
+        $integer += $overflow;
+        $decimal -= $overflow;
+
+        return [$sign * $integer, $decimal === 0.0 ? 0.0 : $sign * round($decimal * pow(10, $decimals))];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Units.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Units.php
new file mode 100644
index 0000000..aec85ab
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Units.php
@@ -0,0 +1,417 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+use Carbon\CarbonConverterInterface;
+use Carbon\CarbonInterface;
+use Carbon\CarbonInterval;
+use Carbon\Exceptions\UnitException;
+use Closure;
+use DateInterval;
+use ReturnTypeWillChange;
+
+/**
+ * Trait Units.
+ *
+ * Add, subtract and set units.
+ */
+trait Units
+{
+    /**
+     * Add seconds to the instance using timestamp. Positive $value travels
+     * forward while negative $value travels into the past.
+     *
+     * @param string $unit
+     * @param int    $value
+     *
+     * @return static
+     */
+    public function addRealUnit($unit, $value = 1)
+    {
+        switch ($unit) {
+            // @call addRealUnit
+            case 'micro':
+
+            // @call addRealUnit
+            case 'microsecond':
+                /* @var CarbonInterface $this */
+                $diff = $this->microsecond + $value;
+                $time = $this->getTimestamp();
+                $seconds = (int) floor($diff / static::MICROSECONDS_PER_SECOND);
+                $time += $seconds;
+                $diff -= $seconds * static::MICROSECONDS_PER_SECOND;
+                $microtime = str_pad((string) $diff, 6, '0', STR_PAD_LEFT);
+                $tz = $this->tz;
+
+                return $this->tz('UTC')->modify("@$time.$microtime")->tz($tz);
+
+            // @call addRealUnit
+            case 'milli':
+            // @call addRealUnit
+            case 'millisecond':
+                return $this->addRealUnit('microsecond', $value * static::MICROSECONDS_PER_MILLISECOND);
+
+                break;
+
+            // @call addRealUnit
+            case 'second':
+                break;
+
+            // @call addRealUnit
+            case 'minute':
+                $value *= static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'hour':
+                $value *= static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'day':
+                $value *= static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'week':
+                $value *= static::DAYS_PER_WEEK * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'month':
+                $value *= 30 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'quarter':
+                $value *= static::MONTHS_PER_QUARTER * 30 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'year':
+                $value *= 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'decade':
+                $value *= static::YEARS_PER_DECADE * 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'century':
+                $value *= static::YEARS_PER_CENTURY * 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            // @call addRealUnit
+            case 'millennium':
+                $value *= static::YEARS_PER_MILLENNIUM * 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE;
+
+                break;
+
+            default:
+                if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) {
+                    throw new UnitException("Invalid unit for real timestamp add/sub: '$unit'");
+                }
+
+                return $this;
+        }
+
+        /* @var CarbonInterface $this */
+        return $this->setTimestamp((int) ($this->getTimestamp() + $value));
+    }
+
+    public function subRealUnit($unit, $value = 1)
+    {
+        return $this->addRealUnit($unit, -$value);
+    }
+
+    /**
+     * Returns true if a property can be changed via setter.
+     *
+     * @param string $unit
+     *
+     * @return bool
+     */
+    public static function isModifiableUnit($unit)
+    {
+        static $modifiableUnits = [
+            // @call addUnit
+            'millennium',
+            // @call addUnit
+            'century',
+            // @call addUnit
+            'decade',
+            // @call addUnit
+            'quarter',
+            // @call addUnit
+            'week',
+            // @call addUnit
+            'weekday',
+        ];
+
+        return \in_array($unit, $modifiableUnits) || \in_array($unit, static::$units);
+    }
+
+    /**
+     * Call native PHP DateTime/DateTimeImmutable add() method.
+     *
+     * @param DateInterval $interval
+     *
+     * @return static
+     */
+    public function rawAdd(DateInterval $interval)
+    {
+        return parent::add($interval);
+    }
+
+    /**
+     * Add given units or interval to the current instance.
+     *
+     * @example $date->add('hour', 3)
+     * @example $date->add(15, 'days')
+     * @example $date->add(CarbonInterval::days(4))
+     *
+     * @param string|DateInterval|Closure|CarbonConverterInterface $unit
+     * @param int                                                  $value
+     * @param bool|null                                            $overflow
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function add($unit, $value = 1, $overflow = null)
+    {
+        if (\is_string($unit) && \func_num_args() === 1) {
+            $unit = CarbonInterval::make($unit);
+        }
+
+        // Can be removed if https://bugs.php.net/bug.php?id=81106
+        // is fixed
+        // @codeCoverageIgnoreStart
+        if (
+            $unit instanceof DateInterval &&
+            version_compare(PHP_VERSION, '8.1.0-dev', '>=') &&
+            ($unit->f < 0 || $unit->f >= 1)
+        ) {
+            $unit = clone $unit;
+            $seconds = floor($unit->f);
+            $unit->f -= $seconds;
+            $unit->s += (int) $seconds;
+        }
+        // @codeCoverageIgnoreEnd
+
+        if ($unit instanceof CarbonConverterInterface) {
+            return $this->resolveCarbon($unit->convertDate($this, false));
+        }
+
+        if ($unit instanceof Closure) {
+            return $this->resolveCarbon($unit($this, false));
+        }
+
+        if ($unit instanceof DateInterval) {
+            return parent::add($unit);
+        }
+
+        if (is_numeric($unit)) {
+            [$value, $unit] = [$unit, $value];
+        }
+
+        return $this->addUnit($unit, $value, $overflow);
+    }
+
+    /**
+     * Add given units to the current instance.
+     *
+     * @param string    $unit
+     * @param int       $value
+     * @param bool|null $overflow
+     *
+     * @return static
+     */
+    public function addUnit($unit, $value = 1, $overflow = null)
+    {
+        $date = $this;
+
+        if (!is_numeric($value) || !(float) $value) {
+            return $date->isMutable() ? $date : $date->avoidMutation();
+        }
+
+        $metaUnits = [
+            'millennium' => [static::YEARS_PER_MILLENNIUM, 'year'],
+            'century' => [static::YEARS_PER_CENTURY, 'year'],
+            'decade' => [static::YEARS_PER_DECADE, 'year'],
+            'quarter' => [static::MONTHS_PER_QUARTER, 'month'],
+        ];
+
+        if (isset($metaUnits[$unit])) {
+            [$factor, $unit] = $metaUnits[$unit];
+            $value *= $factor;
+        }
+
+        if ($unit === 'weekday') {
+            $weekendDays = static::getWeekendDays();
+
+            if ($weekendDays !== [static::SATURDAY, static::SUNDAY]) {
+                $absoluteValue = abs($value);
+                $sign = $value / max(1, $absoluteValue);
+                $weekDaysCount = 7 - min(6, \count(array_unique($weekendDays)));
+                $weeks = floor($absoluteValue / $weekDaysCount);
+
+                for ($diff = $absoluteValue % $weekDaysCount; $diff; $diff--) {
+                    /** @var static $date */
+                    $date = $date->addDays($sign);
+
+                    while (\in_array($date->dayOfWeek, $weekendDays)) {
+                        $date = $date->addDays($sign);
+                    }
+                }
+
+                $value = $weeks * $sign;
+                $unit = 'week';
+            }
+
+            $timeString = $date->toTimeString();
+        } elseif ($canOverflow = \in_array($unit, [
+                'month',
+                'year',
+            ]) && ($overflow === false || (
+                $overflow === null &&
+                ($ucUnit = ucfirst($unit).'s') &&
+                !($this->{'local'.$ucUnit.'Overflow'} ?? static::{'shouldOverflow'.$ucUnit}())
+            ))) {
+            $day = $date->day;
+        }
+
+        $value = (int) $value;
+
+        if ($unit === 'milli' || $unit === 'millisecond') {
+            $unit = 'microsecond';
+            $value *= static::MICROSECONDS_PER_MILLISECOND;
+        }
+
+        // Work-around for bug https://bugs.php.net/bug.php?id=75642
+        if ($unit === 'micro' || $unit === 'microsecond') {
+            $microseconds = $this->micro + $value;
+            $second = (int) floor($microseconds / static::MICROSECONDS_PER_SECOND);
+            $microseconds %= static::MICROSECONDS_PER_SECOND;
+            if ($microseconds < 0) {
+                $microseconds += static::MICROSECONDS_PER_SECOND;
+            }
+            $date = $date->microseconds($microseconds);
+            $unit = 'second';
+            $value = $second;
+        }
+        $date = $date->modify("$value $unit");
+
+        if (isset($timeString)) {
+            return $date->setTimeFromTimeString($timeString);
+        }
+
+        if (isset($canOverflow, $day) && $canOverflow && $day !== $date->day) {
+            $date = $date->modify('last day of previous month');
+        }
+
+        return $date;
+    }
+
+    /**
+     * Subtract given units to the current instance.
+     *
+     * @param string    $unit
+     * @param int       $value
+     * @param bool|null $overflow
+     *
+     * @return static
+     */
+    public function subUnit($unit, $value = 1, $overflow = null)
+    {
+        return $this->addUnit($unit, -$value, $overflow);
+    }
+
+    /**
+     * Call native PHP DateTime/DateTimeImmutable sub() method.
+     *
+     * @param DateInterval $interval
+     *
+     * @return static
+     */
+    public function rawSub(DateInterval $interval)
+    {
+        return parent::sub($interval);
+    }
+
+    /**
+     * Subtract given units or interval to the current instance.
+     *
+     * @example $date->sub('hour', 3)
+     * @example $date->sub(15, 'days')
+     * @example $date->sub(CarbonInterval::days(4))
+     *
+     * @param string|DateInterval|Closure|CarbonConverterInterface $unit
+     * @param int                                                  $value
+     * @param bool|null                                            $overflow
+     *
+     * @return static
+     */
+    #[ReturnTypeWillChange]
+    public function sub($unit, $value = 1, $overflow = null)
+    {
+        if (\is_string($unit) && \func_num_args() === 1) {
+            $unit = CarbonInterval::make($unit);
+        }
+
+        if ($unit instanceof CarbonConverterInterface) {
+            return $this->resolveCarbon($unit->convertDate($this, true));
+        }
+
+        if ($unit instanceof Closure) {
+            return $this->resolveCarbon($unit($this, true));
+        }
+
+        if ($unit instanceof DateInterval) {
+            return parent::sub($unit);
+        }
+
+        if (is_numeric($unit)) {
+            [$value, $unit] = [$unit, $value];
+        }
+
+        return $this->addUnit($unit, -(float) $value, $overflow);
+    }
+
+    /**
+     * Subtract given units or interval to the current instance.
+     *
+     * @see sub()
+     *
+     * @param string|DateInterval $unit
+     * @param int                 $value
+     * @param bool|null           $overflow
+     *
+     * @return static
+     */
+    public function subtract($unit, $value = 1, $overflow = null)
+    {
+        if (\is_string($unit) && \func_num_args() === 1) {
+            $unit = CarbonInterval::make($unit);
+        }
+
+        return $this->sub($unit, $value, $overflow);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Week.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Week.php
new file mode 100644
index 0000000..64cece7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Traits/Week.php
@@ -0,0 +1,218 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon\Traits;
+
+/**
+ * Trait Week.
+ *
+ * week and ISO week number, year and count in year.
+ *
+ * Depends on the following properties:
+ *
+ * @property int $daysInYear
+ * @property int $dayOfWeek
+ * @property int $dayOfYear
+ * @property int $year
+ *
+ * Depends on the following methods:
+ *
+ * @method static addWeeks(int $weeks = 1)
+ * @method static copy()
+ * @method static dayOfYear(int $dayOfYear)
+ * @method string getTranslationMessage(string $key, ?string $locale = null, ?string $default = null, $translator = null)
+ * @method static next(int|string $day = null)
+ * @method static startOfWeek(int $day = 1)
+ * @method static subWeeks(int $weeks = 1)
+ * @method static year(int $year = null)
+ */
+trait Week
+{
+    /**
+     * Set/get the week number of year using given first day of week and first
+     * day of year included in the first week. Or use ISO format if no settings
+     * given.
+     *
+     * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int|static
+     */
+    public function isoWeekYear($year = null, $dayOfWeek = null, $dayOfYear = null)
+    {
+        return $this->weekYear(
+            $year,
+            $dayOfWeek ?? 1,
+            $dayOfYear ?? 4
+        );
+    }
+
+    /**
+     * Set/get the week number of year using given first day of week and first
+     * day of year included in the first week. Or use US format if no settings
+     * given (Sunday / Jan 6).
+     *
+     * @param int|null $year      if null, act as a getter, if not null, set the year and return current instance.
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int|static
+     */
+    public function weekYear($year = null, $dayOfWeek = null, $dayOfYear = null)
+    {
+        $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0;
+        $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1;
+
+        if ($year !== null) {
+            $year = (int) round($year);
+
+            if ($this->weekYear(null, $dayOfWeek, $dayOfYear) === $year) {
+                return $this->avoidMutation();
+            }
+
+            $week = $this->week(null, $dayOfWeek, $dayOfYear);
+            $day = $this->dayOfWeek;
+            $date = $this->year($year);
+            switch ($date->weekYear(null, $dayOfWeek, $dayOfYear) - $year) {
+                case 1:
+                    $date = $date->subWeeks(26);
+
+                    break;
+                case -1:
+                    $date = $date->addWeeks(26);
+
+                    break;
+            }
+
+            $date = $date->addWeeks($week - $date->week(null, $dayOfWeek, $dayOfYear))->startOfWeek($dayOfWeek);
+
+            if ($date->dayOfWeek === $day) {
+                return $date;
+            }
+
+            return $date->next($day);
+        }
+
+        $year = $this->year;
+        $day = $this->dayOfYear;
+        $date = $this->avoidMutation()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
+
+        if ($date->year === $year && $day < $date->dayOfYear) {
+            return $year - 1;
+        }
+
+        $date = $this->avoidMutation()->addYear()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
+
+        if ($date->year === $year && $day >= $date->dayOfYear) {
+            return $year + 1;
+        }
+
+        return $year;
+    }
+
+    /**
+     * Get the number of weeks of the current week-year using given first day of week and first
+     * day of year included in the first week. Or use ISO format if no settings
+     * given.
+     *
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int
+     */
+    public function isoWeeksInYear($dayOfWeek = null, $dayOfYear = null)
+    {
+        return $this->weeksInYear(
+            $dayOfWeek ?? 1,
+            $dayOfYear ?? 4
+        );
+    }
+
+    /**
+     * Get the number of weeks of the current week-year using given first day of week and first
+     * day of year included in the first week. Or use US format if no settings
+     * given (Sunday / Jan 6).
+     *
+     * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday)
+     * @param int|null $dayOfYear first day of year included in the week #1
+     *
+     * @return int
+     */
+    public function weeksInYear($dayOfWeek = null, $dayOfYear = null)
+    {
+        $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0;
+        $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1;
+        $year = $this->year;
+        $start = $this->avoidMutation()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
+        $startDay = $start->dayOfYear;
+        if ($start->year !== $year) {
+            $startDay -= $start->daysInYear;
+        }
+        $end = $this->avoidMutation()->addYear()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
+        $endDay = $end->dayOfYear;
+        if ($end->year !== $year) {
+            $endDay += $this->daysInYear;
+        }
+
+        return (int) round(($endDay - $startDay) / 7);
+    }
+
+    /**
+     * Get/set the week number using given first day of week and first
+     * day of year included in the first week. Or use US format if no settings
+     * given (Sunday / Jan 6).
+     *
+     * @param int|null $week
+     * @param int|null $dayOfWeek
+     * @param int|null $dayOfYear
+     *
+     * @return int|static
+     */
+    public function week($week = null, $dayOfWeek = null, $dayOfYear = null)
+    {
+        $date = $this;
+        $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0;
+        $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1;
+
+        if ($week !== null) {
+            return $date->addWeeks(round($week) - $this->week(null, $dayOfWeek, $dayOfYear));
+        }
+
+        $start = $date->avoidMutation()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
+        $end = $date->avoidMutation()->startOfWeek($dayOfWeek);
+        if ($start > $end) {
+            $start = $start->subWeeks(26)->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek);
+        }
+        $week = (int) ($start->diffInDays($end) / 7 + 1);
+
+        return $week > $end->weeksInYear($dayOfWeek, $dayOfYear) ? 1 : $week;
+    }
+
+    /**
+     * Get/set the week number using given first day of week and first
+     * day of year included in the first week. Or use ISO format if no settings
+     * given.
+     *
+     * @param int|null $week
+     * @param int|null $dayOfWeek
+     * @param int|null $dayOfYear
+     *
+     * @return int|static
+     */
+    public function isoWeek($week = null, $dayOfWeek = null, $dayOfYear = null)
+    {
+        return $this->week(
+            $week,
+            $dayOfWeek ?? 1,
+            $dayOfYear ?? 4
+        );
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Translator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Translator.php
new file mode 100644
index 0000000..9af48eb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/nesbot/carbon/src/Carbon/Translator.php
@@ -0,0 +1,403 @@
+<?php
+
+/**
+ * This file is part of the Carbon package.
+ *
+ * (c) Brian Nesbitt <brian@nesbot.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace Carbon;
+
+use Closure;
+use ReflectionException;
+use ReflectionFunction;
+use Symfony\Component\Translation;
+
+class Translator extends Translation\Translator
+{
+    /**
+     * Translator singletons for each language.
+     *
+     * @var array
+     */
+    protected static $singletons = [];
+
+    /**
+     * List of custom localized messages.
+     *
+     * @var array
+     */
+    protected $messages = [];
+
+    /**
+     * List of custom directories that contain translation files.
+     *
+     * @var string[]
+     */
+    protected $directories = [];
+
+    /**
+     * Set to true while constructing.
+     *
+     * @var bool
+     */
+    protected $initializing = false;
+
+    /**
+     * List of locales aliases.
+     *
+     * @var string[]
+     */
+    protected $aliases = [
+        'me' => 'sr_Latn_ME',
+        'scr' => 'sh',
+    ];
+
+    /**
+     * Return a singleton instance of Translator.
+     *
+     * @param string|null $locale optional initial locale ("en" - english by default)
+     *
+     * @return static
+     */
+    public static function get($locale = null)
+    {
+        $locale = $locale ?: 'en';
+
+        if (!isset(static::$singletons[$locale])) {
+            static::$singletons[$locale] = new static($locale ?: 'en');
+        }
+
+        return static::$singletons[$locale];
+    }
+
+    public function __construct($locale, Translation\Formatter\MessageFormatterInterface $formatter = null, $cacheDir = null, $debug = false)
+    {
+        $this->initializing = true;
+        $this->directories = [__DIR__.'/Lang'];
+        $this->addLoader('array', new Translation\Loader\ArrayLoader());
+        parent::__construct($locale, $formatter, $cacheDir, $debug);
+        $this->initializing = false;
+    }
+
+    /**
+     * Returns the list of directories translation files are searched in.
+     *
+     * @return array
+     */
+    public function getDirectories(): array
+    {
+        return $this->directories;
+    }
+
+    /**
+     * Set list of directories translation files are searched in.
+     *
+     * @param array $directories new directories list
+     *
+     * @return $this
+     */
+    public function setDirectories(array $directories)
+    {
+        $this->directories = $directories;
+
+        return $this;
+    }
+
+    /**
+     * Add a directory to the list translation files are searched in.
+     *
+     * @param string $directory new directory
+     *
+     * @return $this
+     */
+    public function addDirectory(string $directory)
+    {
+        $this->directories[] = $directory;
+
+        return $this;
+    }
+
+    /**
+     * Remove a directory from the list translation files are searched in.
+     *
+     * @param string $directory directory path
+     *
+     * @return $this
+     */
+    public function removeDirectory(string $directory)
+    {
+        $search = rtrim(strtr($directory, '\\', '/'), '/');
+
+        return $this->setDirectories(array_filter($this->getDirectories(), function ($item) use ($search) {
+            return rtrim(strtr($item, '\\', '/'), '/') !== $search;
+        }));
+    }
+
+    /**
+     * Returns the translation.
+     *
+     * @param string $id
+     * @param array  $parameters
+     * @param string $domain
+     * @param string $locale
+     *
+     * @return string
+     */
+    public function trans($id, array $parameters = [], $domain = null, $locale = null)
+    {
+        if ($domain === null) {
+            $domain = 'messages';
+        }
+
+        $format = $this->getCatalogue($locale)->get((string) $id, $domain);
+
+        if ($format instanceof Closure) {
+            // @codeCoverageIgnoreStart
+            try {
+                $count = (new ReflectionFunction($format))->getNumberOfRequiredParameters();
+            } catch (ReflectionException $exception) {
+                $count = 0;
+            }
+            // @codeCoverageIgnoreEnd
+
+            return $format(
+                ...array_values($parameters),
+                ...array_fill(0, max(0, $count - \count($parameters)), null)
+            );
+        }
+
+        return parent::trans($id, $parameters, $domain, $locale);
+    }
+
+    /**
+     * Reset messages of a locale (all locale if no locale passed).
+     * Remove custom messages and reload initial messages from matching
+     * file in Lang directory.
+     *
+     * @param string|null $locale
+     *
+     * @return bool
+     */
+    public function resetMessages($locale = null)
+    {
+        if ($locale === null) {
+            $this->messages = [];
+
+            return true;
+        }
+
+        foreach ($this->getDirectories() as $directory) {
+            $data = @include sprintf('%s/%s.php', rtrim($directory, '\\/'), $locale);
+
+            if ($data !== false) {
+                $this->messages[$locale] = $data;
+                $this->addResource('array', $this->messages[$locale], $locale);
+
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Returns the list of files matching a given locale prefix (or all if empty).
+     *
+     * @param string $prefix prefix required to filter result
+     *
+     * @return array
+     */
+    public function getLocalesFiles($prefix = '')
+    {
+        $files = [];
+
+        foreach ($this->getDirectories() as $directory) {
+            $directory = rtrim($directory, '\\/');
+
+            foreach (glob("$directory/$prefix*.php") as $file) {
+                $files[] = $file;
+            }
+        }
+
+        return array_unique($files);
+    }
+
+    /**
+     * Returns the list of internally available locales and already loaded custom locales.
+     * (It will ignore custom translator dynamic loading.)
+     *
+     * @param string $prefix prefix required to filter result
+     *
+     * @return array
+     */
+    public function getAvailableLocales($prefix = '')
+    {
+        $locales = [];
+        foreach ($this->getLocalesFiles($prefix) as $file) {
+            $locales[] = substr($file, strrpos($file, '/') + 1, -4);
+        }
+
+        return array_unique(array_merge($locales, array_keys($this->messages)));
+    }
+
+    /**
+     * Init messages language from matching file in Lang directory.
+     *
+     * @param string $locale
+     *
+     * @return bool
+     */
+    protected function loadMessagesFromFile($locale)
+    {
+        if (isset($this->messages[$locale])) {
+            return true;
+        }
+
+        return $this->resetMessages($locale);
+    }
+
+    /**
+     * Set messages of a locale and take file first if present.
+     *
+     * @param string $locale
+     * @param array  $messages
+     *
+     * @return $this
+     */
+    public function setMessages($locale, $messages)
+    {
+        $this->loadMessagesFromFile($locale);
+        $this->addResource('array', $messages, $locale);
+        $this->messages[$locale] = array_merge(
+            isset($this->messages[$locale]) ? $this->messages[$locale] : [],
+            $messages
+        );
+
+        return $this;
+    }
+
+    /**
+     * Set messages of the current locale and take file first if present.
+     *
+     * @param array $messages
+     *
+     * @return $this
+     */
+    public function setTranslations($messages)
+    {
+        return $this->setMessages($this->getLocale(), $messages);
+    }
+
+    /**
+     * Get messages of a locale, if none given, return all the
+     * languages.
+     *
+     * @param string|null $locale
+     *
+     * @return array
+     */
+    public function getMessages($locale = null)
+    {
+        return $locale === null ? $this->messages : $this->messages[$locale];
+    }
+
+    /**
+     * Set the current translator locale and indicate if the source locale file exists
+     *
+     * @param string $locale locale ex. en
+     *
+     * @return bool
+     */
+    public function setLocale($locale)
+    {
+        $locale = preg_replace_callback('/[-_]([a-z]{2,}|[0-9]{2,})/', function ($matches) {
+            // _2-letters or YUE is a region, _3+-letters is a variant
+            $upper = strtoupper($matches[1]);
+
+            if ($upper === 'YUE' || $upper === 'ISO' || \strlen($upper) < 3) {
+                return "_$upper";
+            }
+
+            return '_'.ucfirst($matches[1]);
+        }, strtolower($locale));
+
+        $previousLocale = $this->getLocale();
+
+        if ($previousLocale === $locale && isset($this->messages[$locale])) {
+            return true;
+        }
+
+        unset(static::$singletons[$previousLocale]);
+
+        if ($locale === 'auto') {
+            $completeLocale = setlocale(LC_TIME, '0');
+            $locale = preg_replace('/^([^_.-]+).*$/', '$1', $completeLocale);
+            $locales = $this->getAvailableLocales($locale);
+
+            $completeLocaleChunks = preg_split('/[_.-]+/', $completeLocale);
+
+            $getScore = function ($language) use ($completeLocaleChunks) {
+                return static::compareChunkLists($completeLocaleChunks, preg_split('/[_.-]+/', $language));
+            };
+
+            usort($locales, function ($first, $second) use ($getScore) {
+                return $getScore($second) <=> $getScore($first);
+            });
+
+            $locale = $locales[0];
+        }
+
+        if (isset($this->aliases[$locale])) {
+            $locale = $this->aliases[$locale];
+        }
+
+        // If subtag (ex: en_CA) first load the macro (ex: en) to have a fallback
+        if (str_contains($locale, '_') &&
+            $this->loadMessagesFromFile($macroLocale = preg_replace('/^([^_]+).*$/', '$1', $locale))
+        ) {
+            parent::setLocale($macroLocale);
+        }
+
+        if ($this->loadMessagesFromFile($locale) || $this->initializing) {
+            parent::setLocale($locale);
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Show locale on var_dump().
+     *
+     * @return array
+     */
+    public function __debugInfo()
+    {
+        return [
+            'locale' => $this->getLocale(),
+        ];
+    }
+
+    private static function compareChunkLists($referenceChunks, $chunks)
+    {
+        $score = 0;
+
+        foreach ($referenceChunks as $index => $chunk) {
+            if (!isset($chunks[$index])) {
+                $score++;
+
+                continue;
+            }
+
+            if (strtolower($chunks[$index]) === strtolower($chunk)) {
+                $score += 10;
+            }
+        }
+
+        return $score;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/.github/workflows/main.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/.github/workflows/main.yml
new file mode 100644
index 0000000..34c8210
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/.github/workflows/main.yml
@@ -0,0 +1,60 @@
+name: CI
+
+on: [push]
+
+jobs:
+
+  tests:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        php: [7.2, 7.3, 7.4, 8.0]
+        dependency-version: [prefer-lowest, prefer-stable]
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v1
+
+      - name: Setup PHP
+        uses: shivammathur/setup-php@v2
+        with:
+          php-version: ${{ matrix.php }}
+          extensions: mailparse
+          coverage: none
+
+      - name: Install dependencies
+        run: composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-suggest --no-progress
+
+      - name: Execute tests
+        run: vendor/bin/phpunit
+
+  php-cs:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v1
+
+      - name: Install dependencies
+        run: composer update --no-progress --ignore-platform-reqs
+
+      - name: Execute phpcs
+        run: vendor/bin/phpcs src tests --standard=psr2
+
+  coverage:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v1
+
+      - name: Setup PHP
+        uses: shivammathur/setup-php@v2
+        with:
+          php-version: 7.4
+          extensions: mailparse
+
+      - name: Install dependencies
+        run: composer update --prefer-dist --no-interaction --no-suggest --no-progress
+
+      - name: Execute code coverage
+        run: |
+          vendor/bin/phpunit --coverage-clover=coverage.xml --whitelist src
+          bash <(curl -s https://codecov.io/bash) -t ${{ secrets.COVERALLS_REPO_TOKEN }}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/README.md
index 68f997a..24a6e0e 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/README.md
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/README.md
@@ -1,6 +1,6 @@
 # php-mime-mail-parser
 
-A fully tested email parser for PHP 7.1+ (mailparse extension wrapper).
+A fully tested email parser for PHP 7.2+ (mailparse extension wrapper).
 
 It's the most effective php email parser around in terms of performance, foreign character encoding, attachment handling, and ease of use.
 Internet Message Format RFC [822](https://tools.ietf.org/html/rfc822), [2822](https://tools.ietf.org/html/rfc2822), [5322](https://tools.ietf.org/html/rfc5322).
@@ -23,7 +23,7 @@
 
 We use GitHub Actions, Codecov, Codacy to help ensure code quality. You can see real-time statistics below:
 
-[![Actions Status](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/badge/php-mime-mail-parser/php-mime-mail-parser?style=flat-square)](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/results/php-mime-mail-parser/php-mime-mail-parser)
+[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fphp-mime-mail-parser%2Fphp-mime-mail-parser%2Fbadge%3Fref%3Dmaster&style=flat-square)](https://actions-badge.atrox.dev/php-mime-mail-parser/php-mime-mail-parser/goto?ref=master)
 [![Coverage](https://img.shields.io/codecov/c/gh/php-mime-mail-parser/php-mime-mail-parser?style=flat-square)](https://codecov.io/gh/php-mime-mail-parser/php-mime-mail-parser)
 [![Code Quality](https://img.shields.io/codacy/grade/4e0e44fee21147ddbdd18ff976251875?style=flat-square)](https://app.codacy.com/app/php-mime-mail-parser/php-mime-mail-parser)
 
@@ -40,19 +40,20 @@
 
 The following versions of PHP are supported:
 
-* PHP 7.1
 * PHP 7.2
 * PHP 7.3
+* PHP 7.4
 
 Previous Versions:
 
 | PHP Compatibility  | Version |
 | ------------- | ------------- |
-| HHVM  | php-mime-mail-parser 2.11.1  |
-| PHP 5.4  | php-mime-mail-parser 2.11.1  |
-| PHP 5.5  | php-mime-mail-parser 2.11.1  |
+| HHVM  | php-mime-mail-parser 2.11.1    |
+| PHP 5.4  | php-mime-mail-parser 2.11.1 |
+| PHP 5.5  | php-mime-mail-parser 2.11.1 |
 | PHP 5.6  | php-mime-mail-parser 3.0.4  |
 | PHP 7.0  | php-mime-mail-parser 3.0.4  |
+| PHP 7.1  | php-mime-mail-parser 5.0.5  |
 
 Make sure you have the mailparse extension (http://php.net/manual/en/book.mailparse.php) properly installed. The command line `php -m | grep mailparse` need to return "mailparse".
 
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/composer.json
index a797183..e9861a2 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/composer.json
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/php-mime-mail-parser/php-mime-mail-parser/composer.json
@@ -1,7 +1,7 @@
 {
     "name": "php-mime-mail-parser/php-mime-mail-parser",
     "type": "library",
-    "description": "A fully tested email parser for PHP 7.1+ (mailparse extension wrapper).",
+    "description": "A fully tested email parser for PHP 7.2+ (mailparse extension wrapper).",
     "keywords": ["mime", "mail", "mailparse", "MimeMailParser", "parser", "php"],
     "homepage": "https://github.com/php-mime-mail-parser/php-mime-mail-parser",
     "license": "MIT",
@@ -42,14 +42,13 @@
         "url":"https://github.com/php-mime-mail-parser/php-mime-mail-parser.git"
     },
     "require": {
-        "php":           "^7.1",
+        "php":           "^7.2|^8.0",
         "ext-mailparse": "*"
     },
     "require-dev": {
-        "phpunit/phpunit":              "^7.0",
-        "phpunit/php-token-stream":     "^3.0",
-        "php-coveralls/php-coveralls":  "^2.1",
-        "squizlabs/php_codesniffer":    "^3.4"
+        "phpunit/phpunit":              "^8.0",
+        "php-coveralls/php-coveralls":  "^2.2",
+        "squizlabs/php_codesniffer":    "^3.5"
     },
     "replace": {
         "exorus/php-mime-mail-parser":   "*",
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/README.md
index d9cbbaa..fa27d2f 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/README.md
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/README.md
@@ -1,46 +1,45 @@
 ![PHPMailer](https://raw.github.com/PHPMailer/PHPMailer/master/examples/images/phpmailer.png)
 
-# PHPMailer - A full-featured email creation and transfer class for PHP
+# PHPMailer – A full-featured email creation and transfer class for PHP
 
-Build status: [![Build Status](https://travis-ci.org/PHPMailer/PHPMailer.svg)](https://travis-ci.org/PHPMailer/PHPMailer)
-[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/PHPMailer/PHPMailer/badges/quality-score.png?s=3758e21d279becdf847a557a56a3ed16dfec9d5d)](https://scrutinizer-ci.com/g/PHPMailer/PHPMailer/)
-[![Code Coverage](https://scrutinizer-ci.com/g/PHPMailer/PHPMailer/badges/coverage.png?s=3fe6ca5fe8cd2cdf96285756e42932f7ca256962)](https://scrutinizer-ci.com/g/PHPMailer/PHPMailer/)
+[![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions) [![Latest Stable Version](https://poser.pugx.org/phpmailer/phpmailer/v/stable.svg)](https://packagist.org/packages/phpmailer/phpmailer) [![Total Downloads](https://poser.pugx.org/phpmailer/phpmailer/downloads)](https://packagist.org/packages/phpmailer/phpmailer) [![License](https://poser.pugx.org/phpmailer/phpmailer/license.svg)](https://packagist.org/packages/phpmailer/phpmailer) [![API Docs](https://github.com/phpmailer/phpmailer/workflows/Docs/badge.svg)](https://phpmailer.github.io/PHPMailer/)
 
-[![Latest Stable Version](https://poser.pugx.org/phpmailer/phpmailer/v/stable.svg)](https://packagist.org/packages/phpmailer/phpmailer) [![Total Downloads](https://poser.pugx.org/phpmailer/phpmailer/downloads)](https://packagist.org/packages/phpmailer/phpmailer) [![Latest Unstable Version](https://poser.pugx.org/phpmailer/phpmailer/v/unstable.svg)](https://packagist.org/packages/phpmailer/phpmailer) [![License](https://poser.pugx.org/phpmailer/phpmailer/license.svg)](https://packagist.org/packages/phpmailer/phpmailer) [![API Docs](https://github.com/phpmailer/phpmailer/workflows/Docs/badge.svg)](http://phpmailer.github.io/PHPMailer/)
-
-## Class Features
+## Features
 - Probably the world's most popular code for sending email from PHP!
 - Used by many open-source projects: WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla! and many more
-- Integrated SMTP support - send without a local mail server
+- Integrated SMTP support – send without a local mail server
 - Send emails with multiple To, CC, BCC and Reply-to addresses
 - Multipart/alternative emails for mail clients that do not read HTML email
 - Add attachments, including inline
 - Support for UTF-8 content and 8bit, base64, binary, and quoted-printable encodings
-- SMTP authentication with LOGIN, PLAIN, CRAM-MD5, and XOAUTH2 mechanisms over SSL and SMTP+STARTTLS transports
+- SMTP authentication with LOGIN, PLAIN, CRAM-MD5, and XOAUTH2 mechanisms over SMTPS and SMTP+STARTTLS transports
 - Validates email addresses automatically
-- Protect against header injection attacks
+- Protects against header injection attacks
 - Error messages in over 50 languages!
 - DKIM and S/MIME signing support
-- Compatible with PHP 5.5 and later
+- Compatible with PHP 5.5 and later, including PHP 8.0
 - Namespaced to prevent name clashes
 - Much more!
 
 ## Why you might need it
-Many PHP developers need to send email from their code. The only PHP function that supports this is [`mail()`](https://www.php.net/manual/en/function.mail.php). However, it does not provide any assistance for making use of popular features such as encryption, authentication, HTML messages, and attachments.
+Many PHP developers need to send email from their code. The only PHP function that supports this directly is [`mail()`](https://www.php.net/manual/en/function.mail.php). However, it does not provide any assistance for making use of popular features such as encryption, authentication, HTML messages, and attachments.
 
-Formatting email correctly is surprisingly difficult. There are myriad overlapping RFCs, requiring tight adherence to horribly complicated formatting and encoding rules – the vast majority of code that you'll find online that uses the `mail()` function directly is just plain wrong!
-*Please* don't be tempted to do it yourself – if you don't use PHPMailer, there are many other excellent libraries that you should look at before rolling your own. Try [SwiftMailer](https://swiftmailer.symfony.com/), [Zend/Mail](https://zendframework.github.io/zend-mail/), [ZetaComponents](https://github.com/zetacomponents/Mail) etc.
+Formatting email correctly is surprisingly difficult. There are myriad overlapping (and conflicting) standards, requiring tight adherence to horribly complicated formatting and encoding rules – the vast majority of code that you'll find online that uses the `mail()` function directly is just plain wrong, if not unsafe!
 
-The PHP `mail()` function usually sends via a local mail server, typically fronted by a `sendmail` binary on Linux, BSD, and macOS platforms, however, Windows usually doesn't include a local mail server; PHPMailer's integrated SMTP implementation allows email sending on Windows platforms without a local mail server.
+The PHP `mail()` function usually sends via a local mail server, typically fronted by a `sendmail` binary on Linux, BSD, and macOS platforms, however, Windows usually doesn't include a local mail server; PHPMailer's integrated SMTP client allows email sending on all platforms without needing a local mail server. Be aware though, that the `mail()` function should be avoided when possible; it's both faster and [safer](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html) to use SMTP to localhost.
+
+*Please* don't be tempted to do it yourself – if you don't use PHPMailer, there are many other excellent libraries that
+you should look at before rolling your own. Try [SwiftMailer](https://swiftmailer.symfony.com/)
+, [Laminas/Mail](https://docs.laminas.dev/laminas-mail/), [ZetaComponents](https://github.com/zetacomponents/Mail) etc.
 
 ## License
-This software is distributed under the [LGPL 2.1](http://www.gnu.org/licenses/lgpl-2.1.html) license, along with the [GPL Cooperation Commitment](https://gplcc.github.io/gplcc/). Please read LICENSE for information on the software availability and distribution.
+This software is distributed under the [LGPL 2.1](http://www.gnu.org/licenses/lgpl-2.1.html) license, along with the [GPL Cooperation Commitment](https://gplcc.github.io/gplcc/). Please read [LICENSE](https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE) for information on the software availability and distribution.
 
 ## Installation & loading
 PHPMailer is available on [Packagist](https://packagist.org/packages/phpmailer/phpmailer) (using semantic versioning), and installation via [Composer](https://getcomposer.org) is the recommended way to install PHPMailer. Just add this line to your `composer.json` file:
 
 ```json
-"phpmailer/phpmailer": "~6.1"
+"phpmailer/phpmailer": "^6.2"
 ```
 
 or run
@@ -53,7 +52,8 @@
 
 If you want to use the Gmail XOAUTH2 authentication class, you will also need to add a dependency on the `league/oauth2-client` package in your `composer.json`.
 
-Alternatively, if you're not using Composer, copy the contents of the PHPMailer folder into one of the `include_path` directories specified in your PHP configuration and load each class file manually:
+Alternatively, if you're not using Composer, you
+can [download PHPMailer as a zip file](https://github.com/PHPMailer/PHPMailer/archive/master.zip), (note that docs and examples are not included in the zip file), then copy the contents of the PHPMailer folder into one of the `include_path` directories specified in your PHP configuration and load each class file manually:
 
 ```php
 <?php
@@ -65,60 +65,58 @@
 require 'path/to/PHPMailer/src/SMTP.php';
 ```
 
-If you're not using the `SMTP` class explicitly (you're probably not), you don't need a `use` line for the SMTP class.
-
-If you don't speak git or just want a tarball, click the 'zip' button on the right of the project page in GitHub, though note that docs and examples are not included in the tarball.
+If you're not using the `SMTP` class explicitly (you're probably not), you don't need a `use` line for the SMTP class. Even if you're not using exceptions, you do still need to load the `Exception` class as it is used internally.
 
 ## Legacy versions
-PHPMailer 5.2 (which is compatible with PHP 5.0 - 7.0) is no longer being supported, even for security updates. You will find the latest version of 5.2 in the [5.2-stable branch](https://github.com/PHPMailer/PHPMailer/tree/5.2-stable). If you're using PHP 5.5 or later (which you should be), switch to the 6.x releases.
+PHPMailer 5.2 (which is compatible with PHP 5.0 — 7.0) is no longer supported, even for security updates. You will find the latest version of 5.2 in the [5.2-stable branch](https://github.com/PHPMailer/PHPMailer/tree/5.2-stable). If you're using PHP 5.5 or later (which you should be), switch to the 6.x releases.
 
 ### Upgrading from 5.2
 The biggest changes are that source files are now in the `src/` folder, and PHPMailer now declares the namespace `PHPMailer\PHPMailer`. This has several important effects – [read the upgrade guide](https://github.com/PHPMailer/PHPMailer/tree/master/UPGRADING.md) for more details.
 
 ### Minimal installation
-While installing the entire package manually or with Composer is simple, convenient, and reliable, you may want to include only vital files in your project. At the very least you will need [src/PHPMailer.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/PHPMailer.php). If you're using SMTP, you'll need [src/SMTP.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/SMTP.php), and if you're using POP-before SMTP, you'll need [src/POP3.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/POP3.php). You can skip the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder if you're not showing errors to users and can make do with English-only errors. If you're using XOAUTH2 you will need [src/OAuth.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/OAuth.php) as well as the Composer dependencies for the services you wish to authenticate with. Really, it's much easier to use Composer!
+While installing the entire package manually or with Composer is simple, convenient, and reliable, you may want to include only vital files in your project. At the very least you will need [src/PHPMailer.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/PHPMailer.php). If you're using SMTP, you'll need [src/SMTP.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/SMTP.php), and if you're using POP-before SMTP (*very* unlikely!), you'll need [src/POP3.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/POP3.php). You can skip the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder if you're not showing errors to users and can make do with English-only errors. If you're using XOAUTH2 you will need [src/OAuth.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/OAuth.php) as well as the Composer dependencies for the services you wish to authenticate with. Really, it's much easier to use Composer!
 
 ## A Simple Example
 
 ```php
 <?php
-// Import PHPMailer classes into the global namespace
-// These must be at the top of your script, not inside a function
+//Import PHPMailer classes into the global namespace
+//These must be at the top of your script, not inside a function
 use PHPMailer\PHPMailer\PHPMailer;
 use PHPMailer\PHPMailer\SMTP;
 use PHPMailer\PHPMailer\Exception;
 
-// Load Composer's autoloader
+//Load Composer's autoloader
 require 'vendor/autoload.php';
 
-// Instantiation and passing `true` enables exceptions
+//Instantiation and passing `true` enables exceptions
 $mail = new PHPMailer(true);
 
 try {
     //Server settings
-    $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      // Enable verbose debug output
-    $mail->isSMTP();                                            // Send using SMTP
-    $mail->Host       = 'smtp1.example.com';                    // Set the SMTP server to send through
-    $mail->SMTPAuth   = true;                                   // Enable SMTP authentication
-    $mail->Username   = 'user@example.com';                     // SMTP username
-    $mail->Password   = 'secret';                               // SMTP password
-    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;         // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
-    $mail->Port       = 587;                                    // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
+    $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
+    $mail->isSMTP();                                            //Send using SMTP
+    $mail->Host       = 'smtp.example.com';                     //Set the SMTP server to send through
+    $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
+    $mail->Username   = 'user@example.com';                     //SMTP username
+    $mail->Password   = 'secret';                               //SMTP password
+    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;         //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
+    $mail->Port       = 587;                                    //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
 
     //Recipients
     $mail->setFrom('from@example.com', 'Mailer');
-    $mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
-    $mail->addAddress('ellen@example.com');               // Name is optional
+    $mail->addAddress('joe@example.net', 'Joe User');     //Add a recipient
+    $mail->addAddress('ellen@example.com');               //Name is optional
     $mail->addReplyTo('info@example.com', 'Information');
     $mail->addCC('cc@example.com');
     $mail->addBCC('bcc@example.com');
 
-    // Attachments
-    $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
-    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
+    //Attachments
+    $mail->addAttachment('/var/tmp/file.tar.gz');         //Add attachments
+    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    //Optional name
 
-    // Content
-    $mail->isHTML(true);                                  // Set email format to HTML
+    //Content
+    $mail->isHTML(true);                                  //Set email format to HTML
     $mail->Subject = 'Here is the subject';
     $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
     $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
@@ -130,7 +128,7 @@
 }
 ```
 
-You'll find plenty more to play with in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder.
+You'll find plenty to play with in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder, which covers many common scenarios including sending through gmail, building contact forms, sending to mailing lists, and more.
 
 If you are re-using the instance (e.g. when sending to a mailing list), you may need to clear the recipient list to avoid sending duplicate messages. See [the mailing list example](https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps) for further guidance.
 
@@ -140,43 +138,43 @@
 PHPMailer defaults to English, but in the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder you'll find many translations for PHPMailer error messages that you may encounter. Their filenames contain [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the translations, for example `fr` for French. To specify a language, you need to tell PHPMailer which one to use, like this:
 
 ```php
-// To load the French version
+//To load the French version
 $mail->setLanguage('fr', '/optional/path/to/language/directory/');
 ```
 
-We welcome corrections and new languages - if you're looking for corrections to do, run the [PHPMailerLangTest.php](https://github.com/PHPMailer/PHPMailer/tree/master/test/PHPMailerLangTest.php) script in the tests folder and it will show any missing translations.
+We welcome corrections and new languages – if you're looking for corrections, run the [PHPMailerLangTest.php](https://github.com/PHPMailer/PHPMailer/tree/master/test/PHPMailerLangTest.php) script in the tests folder and it will show any missing translations.
 
 ## Documentation
-Start reading at the [GitHub wiki](https://github.com/PHPMailer/PHPMailer/wiki). If you're having trouble, this should be the first place you look as it's the most frequently updated.
+Start reading at the [GitHub wiki](https://github.com/PHPMailer/PHPMailer/wiki). If you're having trouble, head for [the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting) as it's frequently updated.
 
 Examples of how to use PHPMailer for common scenarios can be found in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder. If you're looking for a good starting point, we recommend you start with [the Gmail example](https://github.com/PHPMailer/PHPMailer/tree/master/examples/gmail.phps).
 
-Note that in order to reduce PHPMailer's deployed code footprint, the examples are no longer included if you load PHPMailer via Composer or via [GitHub's zip file download](https://github.com/PHPMailer/PHPMailer/archive/master.zip), so you'll need to either clone the git repository or use the above links to get to the examples directly.
+To reduce PHPMailer's deployed code footprint, examples are not included if you load PHPMailer via Composer or via [GitHub's zip file download](https://github.com/PHPMailer/PHPMailer/archive/master.zip), so you'll need to either clone the git repository or use the above links to get to the examples directly.
 
-Complete generated API documentation is [available online](http://phpmailer.github.io/PHPMailer/).
+Complete generated API documentation is [available online](https://phpmailer.github.io/PHPMailer/).
 
-You can generate complete API-level documentation by running `phpdoc` in the top-level folder, and documentation will appear in the `docs` folder, though you'll need to have [PHPDocumentor](http://www.phpdoc.org) installed. You may find [the unit tests](https://github.com/PHPMailer/PHPMailer/blob/master/test/PHPMailerTest.php) a good source of how to do various operations such as encryption.
+You can generate complete API-level documentation by running `phpdoc` in the top-level folder, and documentation will appear in the `docs` folder, though you'll need to have [PHPDocumentor](http://www.phpdoc.org) installed. You may find [the unit tests](https://github.com/PHPMailer/PHPMailer/blob/master/test/PHPMailerTest.php) a good reference for how to do various operations such as encryption.
 
 If the documentation doesn't cover what you need, search the [many questions on Stack Overflow](http://stackoverflow.com/questions/tagged/phpmailer), and before you ask a question about "SMTP Error: Could not connect to SMTP host.", [read the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting).
 
 ## Tests
-There is a PHPUnit test script in the [test](https://github.com/PHPMailer/PHPMailer/tree/master/test/) folder. PHPMailer uses PHPUnit 4.8 - we would use 5.x but we need to run on PHP 5.5.
+[PHPMailer tests](https://github.com/PHPMailer/PHPMailer/tree/master/test/) use PHPUnit 9, with [a polyfill](https://github.com/Yoast/PHPUnit-Polyfills) to let 9-style tests run on older PHPUnit and PHP versions.
 
-Build status: [![Build Status](https://travis-ci.org/PHPMailer/PHPMailer.svg)](https://travis-ci.org/PHPMailer/PHPMailer)
+[![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions)
 
 If this isn't passing, is there something you can do to help?
 
 ## Security
 Please disclose any vulnerabilities found responsibly – report security issues to the maintainers privately.
 
-See [SECURITY](https://github.com/PHPMailer/PHPMailer/tree/master/SECURITY.md) for details on security issues.
+See [SECURITY](https://github.com/PHPMailer/PHPMailer/tree/master/SECURITY.md) and [PHPMailer's security advisories on GitHub](https://github.com/PHPMailer/PHPMailer/security). 
 
 ## Contributing
 Please submit bug reports, suggestions and pull requests to the [GitHub issue tracker](https://github.com/PHPMailer/PHPMailer/issues).
 
 We're particularly interested in fixing edge-cases, expanding test coverage and updating translations.
 
-If you found a mistake in the docs, or want to add something, go ahead and amend the wiki - anyone can edit it.
+If you found a mistake in the docs, or want to add something, go ahead and amend the wiki – anyone can edit it.
 
 If you have git clones from prior to the move to the PHPMailer GitHub organisation, you'll need to update any remote URLs referencing the old GitHub location with a command like this from within your clone:
 
@@ -187,27 +185,36 @@
 Please *don't* use the SourceForge or Google Code projects any more; they are obsolete and no longer maintained.
 
 ## Sponsorship
-Development time and resources for PHPMailer are provided by [Smartmessages.net](https://info.smartmessages.net/), a powerful email marketing system.
+Development time and resources for PHPMailer are provided by [Smartmessages.net](https://info.smartmessages.net/), the world's only privacy-first email marketing system.
 
-<a href="https://info.smartmessages.net/"><img src="https://www.smartmessages.net/img/smartmessages-logo.svg" width="250" height="28" alt="Smartmessages email marketing"></a>
+<a href="https://info.smartmessages.net/"><img src="https://www.smartmessages.net/img/smartmessages-logo.svg" width="550" alt="Smartmessages.net privacy-first email marketing logo"></a>
 
-Other contributions are gladly received, whether in beer 🍺, T-shirts 👕, Amazon wishlist raids, or cold, hard cash 💰. If you'd like to donate to say "thank you" to maintainers or contributors, please contact them through individual profile pages via [the contributors page](https://github.com/PHPMailer/PHPMailer/graphs/contributors).
+Donations are very welcome, whether in beer 🍺, T-shirts 👕, or cold, hard cash 💰. Sponsorship through GitHub is a simple and convenient way to say "thank you" to PHPMailer's maintainers and contributors – just click the "Sponsor" button [on the project page](https://github.com/PHPMailer/PHPMailer). If your company uses PHPMailer, consider taking part in Tidelift's enterprise support programme.
+
+## PHPMailer For Enterprise
+
+Available as part of the Tidelift Subscription.
+
+The maintainers of PHPMailer and thousands of other packages are working with Tidelift to deliver commercial
+support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and
+improve code health, while paying the maintainers of the exact packages you
+use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-phpmailer-phpmailer?utm_source=packagist-phpmailer-phpmailer&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
 
 ## Changelog
 See [changelog](changelog.md).
 
 ## History
 - PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](http://sourceforge.net/projects/phpmailer/).
-- Marcus Bointon (coolbru on SF) and Andy Prevost (codeworxtech) took over the project in 2004.
+- [Marcus Bointon](https://github.com/Synchro) (`coolbru` on SF) and Andy Prevost (`codeworxtech`) took over the project in 2004.
 - Became an Apache incubator project on Google Code in 2010, managed by Jim Jagielski.
-- Marcus created his fork on [GitHub](https://github.com/Synchro/PHPMailer) in 2008.
+- Marcus created [his fork on GitHub](https://github.com/Synchro/PHPMailer) in 2008.
 - Jim and Marcus decide to join forces and use GitHub as the canonical and official repo for PHPMailer in 2013.
-- PHPMailer moves to the [PHPMailer organisation](https://github.com/PHPMailer) on GitHub in 2013.
+- PHPMailer moves to [the PHPMailer organisation](https://github.com/PHPMailer) on GitHub in 2013.
 
 ### What's changed since moving from SourceForge?
 - Official successor to the SourceForge and Google Code projects.
 - Test suite.
-- Continuous integration with Travis-CI.
+- Continuous integration with Github Actions.
 - Composer support.
 - Public development.
 - Additional languages and language strings.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/SECURITY.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/SECURITY.md
index fc3e61c..035a87f 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/SECURITY.md
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/SECURITY.md
@@ -1,6 +1,13 @@
 # Security notices relating to PHPMailer
 
-Please disclose any vulnerabilities found responsibly - report any security problems found to the maintainers privately.
+Please disclose any security issues or vulnerabilities found through [Tidelift's coordinated disclosure system](https://tidelift.com/security) or to the maintainers privately.
+
+PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host project's scope by other means). If the `$patternselect` parameter to `validateAddress()` is set to `'php'` (the default, defined by `PHPMailer::$validator`), and the global namespace contains a function called `php`, it will be called in preference to the built-in validator of the same name. Mitigated in PHPMailer 6.5.0 by denying the use of simple strings as validator function names. Recorded as [CVE-2021-3603](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-3603). Reported by [Vikrant Singh Chauhan](mailto:vi@hackberry.xyz) via [huntr.dev](https://www.huntr.dev/).
+
+PHPMailer versions 6.4.1 and earlier contain a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to persuade the server to load a file from that UNC path, a script file under their control may be executed. This vulnerability only applies to systems that resolve UNC paths, typically only Microsoft Windows.
+PHPMailer 6.5.0 mitigates this by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release. Recorded as [CVE-2021-34551](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-34551). Reported by [Jilin Diting Information Technology Co., Ltd](https://listensec.com) via Tidelift.
+
+PHPMailer versions between 6.1.8 and 6.4.0 contain a regression of the earlier CVE-2018-19296 object injection vulnerability as a result of [a fix for Windows UNC paths in 6.1.8](https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Recorded as [CVE-2020-36326](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36326). Reported by Fariskhi Vidyan via Tidelift. 6.4.1 fixes this issue, and also enforces stricter checks for URL schemes in local path contexts.
 
 PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs in `Content-Type` and `Content-Disposition` when filenames passed into `addAttachment` and other methods that accept attachment names contain double quote characters, in contravention of RFC822 3.4.1. No specific vulnerability has been found relating to this, but it could allow file attachments to bypass attachment filters that are based on matching filename extensions. Recorded as [CVE-2020-13625](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-13625). Reported by Elar Lang of Clarified Security.
 
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/VERSION b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/VERSION
index 4ac4fde..4be2c72 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/VERSION
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/VERSION
@@ -1 +1 @@
-6.2.0
\ No newline at end of file
+6.5.0
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/composer.json
index 7388bd9..58393b2 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/composer.json
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/composer.json
@@ -40,7 +40,7 @@
         "yoast/phpunit-polyfills": "^0.2.0"
     },
     "suggest": {
-        "ext-mbstring": "Needed to send email in multibyte encoding charset",
+        "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
         "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
         "league/oauth2-google": "Needed for Google XOAUTH2 authentication",
         "psr/log": "For optional PSR-3 debug logging",
@@ -57,5 +57,9 @@
             "PHPMailer\\Test\\": "test/"
         }
     },
-    "license": "LGPL-2.1-only"
+    "license": "LGPL-2.1-only",
+    "scripts": {
+        "check": "./vendor/bin/phpcs",
+        "test": "./vendor/bin/phpunit"
+    }
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/get_oauth_token.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/get_oauth_token.php
index 560d364..befdc34 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/get_oauth_token.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/get_oauth_token.php
@@ -38,20 +38,20 @@
  * Plenty to choose from here:
  * @see http://oauth2-client.thephpleague.com/providers/thirdparty/
  */
-// @see https://github.com/thephpleague/oauth2-google
+//@see https://github.com/thephpleague/oauth2-google
 use League\OAuth2\Client\Provider\Google;
-// @see https://packagist.org/packages/hayageek/oauth2-yahoo
+//@see https://packagist.org/packages/hayageek/oauth2-yahoo
 use Hayageek\OAuth2\Client\Provider\Yahoo;
-// @see https://github.com/stevenmaguire/oauth2-microsoft
+//@see https://github.com/stevenmaguire/oauth2-microsoft
 use Stevenmaguire\OAuth2\Client\Provider\Microsoft;
 
 if (!isset($_GET['code']) && !isset($_GET['provider'])) {
     ?>
 <html>
-<body>Select Provider:<br/>
-<a href='?provider=Google'>Google</a><br/>
-<a href='?provider=Yahoo'>Yahoo</a><br/>
-<a href='?provider=Microsoft'>Microsoft/Outlook/Hotmail/Live/Office365</a><br/>
+<body>Select Provider:<br>
+<a href='?provider=Google'>Google</a><br>
+<a href='?provider=Yahoo'>Yahoo</a><br>
+<a href='?provider=Microsoft'>Microsoft/Outlook/Hotmail/Live/Office365</a><br>
 </body>
 </html>
     <?php
@@ -121,26 +121,26 @@
 }
 
 if (!isset($_GET['code'])) {
-    // If we don't have an authorization code then get one
+    //If we don't have an authorization code then get one
     $authUrl = $provider->getAuthorizationUrl($options);
     $_SESSION['oauth2state'] = $provider->getState();
     header('Location: ' . $authUrl);
     exit;
-// Check given state against previously stored one to mitigate CSRF attack
+    //Check given state against previously stored one to mitigate CSRF attack
 } elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {
     unset($_SESSION['oauth2state']);
     unset($_SESSION['provider']);
     exit('Invalid state');
 } else {
     unset($_SESSION['provider']);
-    // Try to get an access token (using the authorization code grant)
+    //Try to get an access token (using the authorization code grant)
     $token = $provider->getAccessToken(
         'authorization_code',
         [
             'code' => $_GET['code']
         ]
     );
-    // Use this to interact with an API on the users behalf
-    // Use this to get a new access token if the old one expires
+    //Use this to interact with an API on the users behalf
+    //Use this to get a new access token if the old one expires
     echo 'Refresh Token: ', $token->getRefreshToken();
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php
index 8ab485c..f795580 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php
@@ -19,8 +19,7 @@
 $PHPMAILER_LANG['invalid_address']      = 'الإرسال غير ممكن لأن عنوان البريد الإلكتروني غير صالح: ';
 $PHPMAILER_LANG['mailer_not_supported'] = ' برنامج الإرسال غير مدعوم.';
 $PHPMAILER_LANG['provide_address']      = 'يجب توفير عنوان البريد الإلكتروني لمستلم واحد على الأقل.';
-$PHPMAILER_LANG['recipients_failed']    = 'خطأ SMTP: الأخطاء التالية ' .
-                                          'فشل في الارسال لكل من : ';
+$PHPMAILER_LANG['recipients_failed']    = 'خطأ SMTP: الأخطاء التالية فشل في الارسال لكل من : ';
 $PHPMAILER_LANG['signing']              = 'خطأ في التوقيع: ';
 $PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP Connect() غير ممكن.';
 $PHPMAILER_LANG['smtp_error']           = 'خطأ على مستوى الخادم SMTP: ';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php
index 55bdd9c..e770a1a 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php
@@ -16,6 +16,8 @@
 $PHPMAILER_LANG['from_failed']          = 'Následující adresa odesílatele je nesprávná: ';
 $PHPMAILER_LANG['instantiate']          = 'Nelze vytvořit instanci emailové funkce.';
 $PHPMAILER_LANG['invalid_address']      = 'Neplatná adresa: ';
+$PHPMAILER_LANG['invalid_hostentry']    = 'Záznam hostitele je nesprávný: ';
+$PHPMAILER_LANG['invalid_host']         = 'Hostitel je nesprávný: ';
 $PHPMAILER_LANG['mailer_not_supported'] = ' mailer není podporován.';
 $PHPMAILER_LANG['provide_address']      = 'Musíte zadat alespoň jednu emailovou adresu příjemce.';
 $PHPMAILER_LANG['recipients_failed']    = 'Chyba SMTP: Následující adresy příjemců nejsou správně: ';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php
index a1cfb28..028f5bc 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php
@@ -18,6 +18,8 @@
 $PHPMAILER_LANG['from_failed']          = 'Následujúca adresa From je nesprávna: ';
 $PHPMAILER_LANG['instantiate']          = 'Nedá sa vytvoriť inštancia emailovej funkcie.';
 $PHPMAILER_LANG['invalid_address']      = 'Neodoslané, emailová adresa je nesprávna: ';
+$PHPMAILER_LANG['invalid_hostentry']    = 'Záznam hostiteľa je nesprávny: ';
+$PHPMAILER_LANG['invalid_host']         = 'Hostiteľ je nesprávny: ';
 $PHPMAILER_LANG['mailer_not_supported'] = ' emailový klient nieje podporovaný.';
 $PHPMAILER_LANG['provide_address']      = 'Musíte zadať aspoň jednu emailovú adresu príjemcu.';
 $PHPMAILER_LANG['recipients_failed']    = 'SMTP Error: Adresy príjemcov niesu správne ';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php
new file mode 100644
index 0000000..6213832
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php
@@ -0,0 +1,28 @@
+<?php
+
+/**
+ * Serbian PHPMailer language file: refer to English translation for definitive list
+ * @package PHPMailer
+ * @author Александар Јевремовић <ajevremovic@gmail.com>
+ * @author Miloš Milanović <mmilanovic016@gmail.com>
+ */
+
+$PHPMAILER_LANG['authenticate']         = 'SMTP greška: autentifikacija nije uspela.';
+$PHPMAILER_LANG['connect_host']         = 'SMTP greška: povezivanje sa SMTP serverom nije uspelo.';
+$PHPMAILER_LANG['data_not_accepted']    = 'SMTP greška: podaci nisu prihvaćeni.';
+$PHPMAILER_LANG['empty_message']        = 'Sadržaj poruke je prazan.';
+$PHPMAILER_LANG['encoding']             = 'Nepoznato kodiranje: ';
+$PHPMAILER_LANG['execute']              = 'Nije moguće izvršiti naredbu: ';
+$PHPMAILER_LANG['file_access']          = 'Nije moguće pristupiti datoteci: ';
+$PHPMAILER_LANG['file_open']            = 'Nije moguće otvoriti datoteku: ';
+$PHPMAILER_LANG['from_failed']          = 'SMTP greška: slanje sa sledećih adresa nije uspelo: ';
+$PHPMAILER_LANG['recipients_failed']    = 'SMTP greška: slanje na sledeće adrese nije uspelo: ';
+$PHPMAILER_LANG['instantiate']          = 'Nije moguće pokrenuti mail funkciju.';
+$PHPMAILER_LANG['invalid_address']      = 'Poruka nije poslata. Neispravna adresa: ';
+$PHPMAILER_LANG['mailer_not_supported'] = ' majler nije podržan.';
+$PHPMAILER_LANG['provide_address']      = 'Definišite bar jednu adresu primaoca.';
+$PHPMAILER_LANG['signing']              = 'Greška prilikom prijave: ';
+$PHPMAILER_LANG['smtp_connect_failed']  = 'Povezivanje sa SMTP serverom nije uspelo.';
+$PHPMAILER_LANG['smtp_error']           = 'Greška SMTP servera: ';
+$PHPMAILER_LANG['variable_set']         = 'Nije moguće zadati niti resetovati promenljivu: ';
+$PHPMAILER_LANG['extension_missing']    = 'Nedostaje proširenje: ';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php
index 9fa60cf..3dea055 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php
@@ -16,11 +16,11 @@
 $PHPMAILER_LANG['file_open']            = 'Помилка файлової системи: не вдається відкрити файл: ';
 $PHPMAILER_LANG['from_failed']          = 'Невірна адреса відправника: ';
 $PHPMAILER_LANG['instantiate']          = 'Неможливо запустити функцію mail().';
-$PHPMAILER_LANG['provide_address']      = 'Будь-ласка, введіть хоча б одну email-адресу отримувача.';
+$PHPMAILER_LANG['provide_address']      = 'Будь ласка, введіть хоча б одну email-адресу отримувача.';
 $PHPMAILER_LANG['mailer_not_supported'] = ' - поштовий сервер не підтримується.';
 $PHPMAILER_LANG['recipients_failed']    = 'Помилка SMTP: не вдалося відправлення для таких отримувачів: ';
 $PHPMAILER_LANG['empty_message']        = 'Пусте повідомлення';
-$PHPMAILER_LANG['invalid_address']      = 'Не відправлено через невірний формат email-адреси: ';
+$PHPMAILER_LANG['invalid_address']      = 'Не відправлено через неправильний формат email-адреси: ';
 $PHPMAILER_LANG['signing']              = 'Помилка підпису: ';
 $PHPMAILER_LANG['smtp_connect_failed']  = 'Помилка з\'єднання з SMTP-сервером';
 $PHPMAILER_LANG['smtp_error']           = 'Помилка SMTP-сервера: ';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/phpunit.xml.dist b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/phpunit.xml.dist
new file mode 100644
index 0000000..c68df96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/phpunit.xml.dist
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/8.5/phpunit.xsd"
+         backupGlobals="true"
+         bootstrap="vendor/autoload.php"
+         verbose="true"
+         colors="true"
+         forceCoversAnnotation="false"
+    >
+    <testsuites>
+        <testsuite name="PHPMailerTests">
+            <directory>./test/</directory>
+        </testsuite>
+    </testsuites>
+    <listeners>
+        <listener class="PHPMailer\Test\DebugLogTestListener" />
+    </listeners>
+    <groups>
+        <exclude>
+            <group>languages</group>
+            <group>pop3</group>
+        </exclude>
+    </groups>
+    <filter>
+        <whitelist addUncoveredFilesFromWhitelist="true">
+            <directory suffix=".php">./src</directory>
+        </whitelist>
+    </filter>
+    <logging>
+        <log type="coverage-text" target="php://stdout" showUncoveredFiles="true"/>
+        <log type="coverage-clover" target="build/logs/clover.xml"/>
+        <log type="junit" target="build/logs/junit.xml"/>
+    </logging>
+</phpunit>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/OAuth.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/OAuth.php
index 07fde4c..c93d0be 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/OAuth.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/OAuth.php
@@ -123,7 +123,7 @@
      */
     public function getOauth64()
     {
-        // Get a new token if it's not available or has expired
+        //Get a new token if it's not available or has expired
         if (null === $this->oauthToken || $this->oauthToken->hasExpired()) {
             $this->oauthToken = $this->getToken();
         }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/PHPMailer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/PHPMailer.php
index c8fc1a8..eb4b742 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/PHPMailer.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/PHPMailer.php
@@ -428,9 +428,11 @@
     public $Debugoutput = 'echo';
 
     /**
-     * Whether to keep SMTP connection open after each message.
-     * If this is set to true then to close the connection
-     * requires an explicit call to smtpClose().
+     * Whether to keep the SMTP connection open after each message.
+     * If this is set to true then the connection will remain open after a send,
+     * and closing the connection will require an explicit call to smtpClose().
+     * It's a good idea to use this if you are sending multiple messages as it reduces overhead.
+     * See the mailing list example for how to use it.
      *
      * @var bool
      */
@@ -748,7 +750,7 @@
      *
      * @var string
      */
-    const VERSION = '6.2.0';
+    const VERSION = '6.5.0';
 
     /**
      * Error severity: message only, continue processing.
@@ -862,18 +864,25 @@
             $subject = $this->encodeHeader($this->secureHeader($subject));
         }
         //Calling mail() with null params breaks
+        $this->edebug('Sending with mail()');
+        $this->edebug('Sendmail path: ' . ini_get('sendmail_path'));
+        $this->edebug("Envelope sender: {$this->Sender}");
+        $this->edebug("To: {$to}");
+        $this->edebug("Subject: {$subject}");
+        $this->edebug("Headers: {$header}");
         if (!$this->UseSendmailOptions || null === $params) {
             $result = @mail($to, $subject, $body, $header);
         } else {
+            $this->edebug("Additional params: {$params}");
             $result = @mail($to, $subject, $body, $header, $params);
         }
-
+        $this->edebug('Result: ' . ($result ? 'true' : 'false'));
         return $result;
     }
 
     /**
-     * Output debugging info via user-defined method.
-     * Only generates output if SMTP debug output is enabled (@see SMTP::$do_debug).
+     * Output debugging info via a user-defined method.
+     * Only generates output if debug output is enabled.
      *
      * @see PHPMailer::$Debugoutput
      * @see PHPMailer::$SMTPDebug
@@ -1070,7 +1079,7 @@
         $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
         $pos = strrpos($address, '@');
         if (false === $pos) {
-            // At-sign is missing.
+            //At-sign is missing.
             $error_message = sprintf(
                 '%s (%s): %s',
                 $this->lang('invalid_address'),
@@ -1086,7 +1095,7 @@
             return false;
         }
         $params = [$kind, $address, $name];
-        // Enqueue addresses with IDN until we know the PHPMailer::$CharSet.
+        //Enqueue addresses with IDN until we know the PHPMailer::$CharSet.
         if (static::idnSupported() && $this->has8bitChars(substr($address, ++$pos))) {
             if ('Reply-To' !== $kind) {
                 if (!array_key_exists($address, $this->RecipientsQueue)) {
@@ -1103,7 +1112,7 @@
             return false;
         }
 
-        // Immediately add standard addresses without IDN.
+        //Immediately add standard addresses without IDN.
         return call_user_func_array([$this, 'addAnAddress'], $params);
     }
 
@@ -1191,6 +1200,15 @@
                         $address->mailbox . '@' . $address->host
                     )
                 ) {
+                    //Decode the name part if it's present and encoded
+                    if (
+                        property_exists($address, 'personal') &&
+                        extension_loaded('mbstring') &&
+                        preg_match('/^=\?.*\?=$/', $address->personal)
+                    ) {
+                        $address->personal = mb_decode_mimeheader($address->personal);
+                    }
+
                     $addresses[] = [
                         'name' => (property_exists($address, 'personal') ? $address->personal : ''),
                         'address' => $address->mailbox . '@' . $address->host,
@@ -1214,9 +1232,15 @@
                 } else {
                     list($name, $email) = explode('<', $address);
                     $email = trim(str_replace('>', '', $email));
+                    $name = trim($name);
                     if (static::validateAddress($email)) {
+                        //If this name is encoded, decode it
+                        if (preg_match('/^=\?.*\?=$/', $name)) {
+                            $name = mb_decode_mimeheader($name);
+                        }
                         $addresses[] = [
-                            'name' => trim(str_replace(['"', "'"], '', $name)),
+                            //Remove any surrounding quotes and spaces from the name
+                            'name' => trim($name, '\'" '),
                             'address' => $email,
                         ];
                     }
@@ -1242,7 +1266,7 @@
     {
         $address = trim($address);
         $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
-        // Don't validate now addresses with IDN. Will be done in send().
+        //Don't validate now addresses with IDN. Will be done in send().
         $pos = strrpos($address, '@');
         if (
             (false === $pos)
@@ -1313,7 +1337,8 @@
         if (null === $patternselect) {
             $patternselect = static::$validator;
         }
-        if (is_callable($patternselect)) {
+        //Don't allow strings as callables, see SECURITY.md and CVE-2021-3603
+        if (is_callable($patternselect) && !is_string($patternselect)) {
             return call_user_func($patternselect, $address);
         }
         //Reject line breaks in addresses; it's valid RFC5322, but not RFC5321
@@ -1395,7 +1420,7 @@
      */
     public function punyencodeAddress($address)
     {
-        // Verify we have required functions, CharSet, and at-sign.
+        //Verify we have required functions, CharSet, and at-sign.
         $pos = strrpos($address, '@');
         if (
             !empty($this->CharSet) &&
@@ -1403,16 +1428,20 @@
             static::idnSupported()
         ) {
             $domain = substr($address, ++$pos);
-            // Verify CharSet string is a valid one, and domain properly encoded in this CharSet.
+            //Verify CharSet string is a valid one, and domain properly encoded in this CharSet.
             if ($this->has8bitChars($domain) && @mb_check_encoding($domain, $this->CharSet)) {
-                $domain = mb_convert_encoding($domain, 'UTF-8', $this->CharSet);
+                //Convert the domain from whatever charset it's in to UTF-8
+                $domain = mb_convert_encoding($domain, self::CHARSET_UTF8, $this->CharSet);
                 //Ignore IDE complaints about this line - method signature changed in PHP 5.4
                 $errorcode = 0;
                 if (defined('INTL_IDNA_VARIANT_UTS46')) {
-                    $punycode = idn_to_ascii($domain, $errorcode, INTL_IDNA_VARIANT_UTS46);
+                    //Use the current punycode standard (appeared in PHP 7.2)
+                    $punycode = idn_to_ascii($domain, $errorcode, \INTL_IDNA_VARIANT_UTS46);
                 } elseif (defined('INTL_IDNA_VARIANT_2003')) {
-                    $punycode = idn_to_ascii($domain, $errorcode, INTL_IDNA_VARIANT_2003);
+                    //Fall back to this old, deprecated/removed encoding
+                    $punycode = idn_to_ascii($domain, $errorcode, \INTL_IDNA_VARIANT_2003);
                 } else {
+                    //Fall back to a default we don't know about
                     $punycode = idn_to_ascii($domain, $errorcode);
                 }
                 if (false !== $punycode) {
@@ -1462,7 +1491,7 @@
     {
         if (
             'smtp' === $this->Mailer
-            || ('mail' === $this->Mailer && (PHP_VERSION_ID >= 80000 || stripos(PHP_OS, 'WIN') === 0))
+            || ('mail' === $this->Mailer && (\PHP_VERSION_ID >= 80000 || stripos(PHP_OS, 'WIN') === 0))
         ) {
             //SMTP mandates RFC-compliant line endings
             //and it's also used with mail() on Windows
@@ -1474,8 +1503,8 @@
         //Check for buggy PHP versions that add a header with an incorrect line break
         if (
             'mail' === $this->Mailer
-            && ((PHP_VERSION_ID >= 70000 && PHP_VERSION_ID < 70017)
-                || (PHP_VERSION_ID >= 70100 && PHP_VERSION_ID < 70103))
+            && ((\PHP_VERSION_ID >= 70000 && \PHP_VERSION_ID < 70017)
+                || (\PHP_VERSION_ID >= 70100 && \PHP_VERSION_ID < 70103))
             && ini_get('mail.add_x_header') === '1'
             && stripos(PHP_OS, 'WIN') === 0
         ) {
@@ -1488,10 +1517,10 @@
         }
 
         try {
-            $this->error_count = 0; // Reset errors
+            $this->error_count = 0; //Reset errors
             $this->mailHeader = '';
 
-            // Dequeue recipient and Reply-To addresses with IDN
+            //Dequeue recipient and Reply-To addresses with IDN
             foreach (array_merge($this->RecipientsQueue, $this->ReplyToQueue) as $params) {
                 $params[1] = $this->punyencodeAddress($params[1]);
                 call_user_func_array([$this, 'addAnAddress'], $params);
@@ -1500,7 +1529,7 @@
                 throw new Exception($this->lang('provide_address'), self::STOP_CRITICAL);
             }
 
-            // Validate From, Sender, and ConfirmReadingTo addresses
+            //Validate From, Sender, and ConfirmReadingTo addresses
             foreach (['From', 'Sender', 'ConfirmReadingTo'] as $address_kind) {
                 $this->$address_kind = trim($this->$address_kind);
                 if (empty($this->$address_kind)) {
@@ -1524,29 +1553,29 @@
                 }
             }
 
-            // Set whether the message is multipart/alternative
+            //Set whether the message is multipart/alternative
             if ($this->alternativeExists()) {
                 $this->ContentType = static::CONTENT_TYPE_MULTIPART_ALTERNATIVE;
             }
 
             $this->setMessageType();
-            // Refuse to send an empty message unless we are specifically allowing it
+            //Refuse to send an empty message unless we are specifically allowing it
             if (!$this->AllowEmpty && empty($this->Body)) {
                 throw new Exception($this->lang('empty_message'), self::STOP_CRITICAL);
             }
 
             //Trim subject consistently
             $this->Subject = trim($this->Subject);
-            // Create body before headers in case body makes changes to headers (e.g. altering transfer encoding)
+            //Create body before headers in case body makes changes to headers (e.g. altering transfer encoding)
             $this->MIMEHeader = '';
             $this->MIMEBody = $this->createBody();
-            // createBody may have added some headers, so retain them
+            //createBody may have added some headers, so retain them
             $tempheaders = $this->MIMEHeader;
             $this->MIMEHeader = $this->createHeader();
             $this->MIMEHeader .= $tempheaders;
 
-            // To capture the complete message when using mail(), create
-            // an extra header list which createHeader() doesn't fold in
+            //To capture the complete message when using mail(), create
+            //an extra header list which createHeader() doesn't fold in
             if ('mail' === $this->Mailer) {
                 if (count($this->to) > 0) {
                     $this->mailHeader .= $this->addrAppend('To', $this->to);
@@ -1559,7 +1588,7 @@
                 );
             }
 
-            // Sign with DKIM if enabled
+            //Sign with DKIM if enabled
             if (
                 !empty($this->DKIM_domain)
                 && !empty($this->DKIM_selector)
@@ -1600,7 +1629,7 @@
     public function postSend()
     {
         try {
-            // Choose the mailer and send through it
+            //Choose the mailer and send through it
             switch ($this->Mailer) {
                 case 'sendmail':
                 case 'qmail':
@@ -1645,22 +1674,44 @@
      */
     protected function sendmailSend($header, $body)
     {
+        if ($this->Mailer === 'qmail') {
+            $this->edebug('Sending with qmail');
+        } else {
+            $this->edebug('Sending with sendmail');
+        }
         $header = static::stripTrailingWSP($header) . static::$LE . static::$LE;
-
-        // CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
-        if (!empty($this->Sender) && self::isShellSafe($this->Sender)) {
-            if ('qmail' === $this->Mailer) {
+        //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver
+        //A space after `-f` is optional, but there is a long history of its presence
+        //causing problems, so we don't use one
+        //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html
+        //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html
+        //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html
+        //Example problem: https://www.drupal.org/node/1057954
+        if (empty($this->Sender) && !empty(ini_get('sendmail_from'))) {
+            //PHP config has a sender address we can use
+            $this->Sender = ini_get('sendmail_from');
+        }
+        //CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
+        if (!empty($this->Sender) && static::validateAddress($this->Sender) && self::isShellSafe($this->Sender)) {
+            if ($this->Mailer === 'qmail') {
                 $sendmailFmt = '%s -f%s';
             } else {
                 $sendmailFmt = '%s -oi -f%s -t';
             }
-        } elseif ('qmail' === $this->Mailer) {
-            $sendmailFmt = '%s';
         } else {
+            //allow sendmail to choose a default envelope sender. It may
+            //seem preferable to force it to use the From header as with
+            //SMTP, but that introduces new problems (see
+            //<https://github.com/PHPMailer/PHPMailer/issues/2298>), and
+            //it has historically worked this way.
             $sendmailFmt = '%s -oi -t';
         }
 
         $sendmail = sprintf($sendmailFmt, escapeshellcmd($this->Sendmail), $this->Sender);
+        $this->edebug('Sendmail path: ' . $this->Sendmail);
+        $this->edebug('Sendmail command: ' . $sendmail);
+        $this->edebug('Envelope sender: ' . $this->Sender);
+        $this->edebug("Headers: {$header}");
 
         if ($this->SingleTo) {
             foreach ($this->SingleToArray as $toAddr) {
@@ -1668,13 +1719,15 @@
                 if (!$mail) {
                     throw new Exception($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
                 }
+                $this->edebug("To: {$toAddr}");
                 fwrite($mail, 'To: ' . $toAddr . "\n");
                 fwrite($mail, $header);
                 fwrite($mail, $body);
                 $result = pclose($mail);
+                $addrinfo = static::parseAddresses($toAddr);
                 $this->doCallback(
                     ($result === 0),
-                    [$toAddr],
+                    [[$addrinfo['address'], $addrinfo['name']]],
                     $this->cc,
                     $this->bcc,
                     $this->Subject,
@@ -1682,6 +1735,7 @@
                     $this->From,
                     []
                 );
+                $this->edebug("Result: " . ($result === 0 ? 'true' : 'false'));
                 if (0 !== $result) {
                     throw new Exception($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
                 }
@@ -1704,6 +1758,7 @@
                 $this->From,
                 []
             );
+            $this->edebug("Result: " . ($result === 0 ? 'true' : 'false'));
             if (0 !== $result) {
                 throw new Exception($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
             }
@@ -1724,7 +1779,7 @@
      */
     protected static function isShellSafe($string)
     {
-        // Future-proof
+        //Future-proof
         if (
             escapeshellcmd($string) !== $string
             || !in_array(escapeshellarg($string), ["'$string'", "\"$string\""])
@@ -1737,9 +1792,9 @@
         for ($i = 0; $i < $length; ++$i) {
             $c = $string[$i];
 
-            // All other characters have a special meaning in at least one common shell, including = and +.
-            // Full stop (.) has a special meaning in cmd.exe, but its impact should be negligible here.
-            // Note that this does permit non-Latin alphanumeric characters based on the current locale.
+            //All other characters have a special meaning in at least one common shell, including = and +.
+            //Full stop (.) has a special meaning in cmd.exe, but its impact should be negligible here.
+            //Note that this does permit non-Latin alphanumeric characters based on the current locale.
             if (!ctype_alnum($c) && strpos('@_-.', $c) === false) {
                 return false;
             }
@@ -1759,7 +1814,8 @@
      */
     protected static function isPermittedPath($path)
     {
-        return !preg_match('#^[a-z]+://#i', $path);
+        //Matches scheme definition from https://tools.ietf.org/html/rfc3986#section-3.1
+        return !preg_match('#^[a-z][a-z\d+.-]*://#i', $path);
     }
 
     /**
@@ -1771,12 +1827,15 @@
      */
     protected static function fileIsAccessible($path)
     {
+        if (!static::isPermittedPath($path)) {
+            return false;
+        }
         $readable = file_exists($path);
         //If not a UNC path (expected to start with \\), check read permission, see #2069
         if (strpos($path, '\\\\') !== 0) {
             $readable = $readable && is_readable($path);
         }
-        return static::isPermittedPath($path) && $readable;
+        return  $readable;
     }
 
     /**
@@ -1809,11 +1868,15 @@
         //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html
         //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html
         //Example problem: https://www.drupal.org/node/1057954
-        // CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
-        if (!empty($this->Sender) && static::validateAddress($this->Sender) && self::isShellSafe($this->Sender)) {
-            $params = sprintf('-f%s', $this->Sender);
+        //CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
+        if (empty($this->Sender) && !empty(ini_get('sendmail_from'))) {
+            //PHP config has a sender address we can use
+            $this->Sender = ini_get('sendmail_from');
         }
         if (!empty($this->Sender) && static::validateAddress($this->Sender)) {
+            if (self::isShellSafe($this->Sender)) {
+                $params = sprintf('-f%s', $this->Sender);
+            }
             $old_from = ini_get('sendmail_from');
             ini_set('sendmail_from', $this->Sender);
         }
@@ -1821,7 +1884,17 @@
         if ($this->SingleTo && count($toArr) > 1) {
             foreach ($toArr as $toAddr) {
                 $result = $this->mailPassthru($toAddr, $this->Subject, $body, $header, $params);
-                $this->doCallback($result, [$toAddr], $this->cc, $this->bcc, $this->Subject, $body, $this->From, []);
+                $addrinfo = static::parseAddresses($toAddr);
+                $this->doCallback(
+                    $result,
+                    [[$addrinfo['address'], $addrinfo['name']]],
+                    $this->cc,
+                    $this->bcc,
+                    $this->Subject,
+                    $body,
+                    $this->From,
+                    []
+                );
             }
         } else {
             $result = $this->mailPassthru($to, $this->Subject, $body, $header, $params);
@@ -1899,7 +1972,7 @@
         }
 
         $callbacks = [];
-        // Attempt to send to all recipients
+        //Attempt to send to all recipients
         foreach ([$this->to, $this->cc, $this->bcc] as $togroup) {
             foreach ($togroup as $to) {
                 if (!$this->smtp->recipient($to[0], $this->dsn)) {
@@ -1910,11 +1983,11 @@
                     $isSent = true;
                 }
 
-                $callbacks[] = ['issent' => $isSent, 'to' => $to[0]];
+                $callbacks[] = ['issent' => $isSent, 'to' => $to[0], 'name' => $to[1]];
             }
         }
 
-        // Only send the DATA command if we have viable recipients
+        //Only send the DATA command if we have viable recipients
         if ((count($this->all_recipients) > count($bad_rcpt)) && !$this->smtp->data($header . $body)) {
             throw new Exception($this->lang('data_not_accepted'), self::STOP_CRITICAL);
         }
@@ -1931,7 +2004,7 @@
         foreach ($callbacks as $cb) {
             $this->doCallback(
                 $cb['issent'],
-                [$cb['to']],
+                [[$cb['to'], $cb['name']]],
                 [],
                 [],
                 $this->Subject,
@@ -1976,7 +2049,7 @@
             $options = $this->SMTPOptions;
         }
 
-        // Already connected?
+        //Already connected?
         if ($this->smtp->connected()) {
             return true;
         }
@@ -1998,14 +2071,14 @@
                 )
             ) {
                 $this->edebug($this->lang('invalid_hostentry') . ' ' . trim($hostentry));
-                // Not a valid host entry
+                //Not a valid host entry
                 continue;
             }
-            // $hostinfo[1]: optional ssl or tls prefix
-            // $hostinfo[2]: the hostname
-            // $hostinfo[3]: optional port number
-            // The host string prefix can temporarily override the current setting for SMTPSecure
-            // If it's not specified, the default value is used
+            //$hostinfo[1]: optional ssl or tls prefix
+            //$hostinfo[2]: the hostname
+            //$hostinfo[3]: optional port number
+            //The host string prefix can temporarily override the current setting for SMTPSecure
+            //If it's not specified, the default value is used
 
             //Check the host name is a valid name or IP address before trying to use it
             if (!static::isValidHost($hostinfo[2])) {
@@ -2017,11 +2090,11 @@
             $tls = (static::ENCRYPTION_STARTTLS === $this->SMTPSecure);
             if ('ssl' === $hostinfo[1] || ('' === $hostinfo[1] && static::ENCRYPTION_SMTPS === $this->SMTPSecure)) {
                 $prefix = 'ssl://';
-                $tls = false; // Can't have SSL and TLS at the same time
+                $tls = false; //Can't have SSL and TLS at the same time
                 $secure = static::ENCRYPTION_SMTPS;
             } elseif ('tls' === $hostinfo[1]) {
                 $tls = true;
-                // tls doesn't use a prefix
+                //TLS doesn't use a prefix
                 $secure = static::ENCRYPTION_STARTTLS;
             }
             //Do we need the OpenSSL extension?
@@ -2051,10 +2124,10 @@
                     }
                     $this->smtp->hello($hello);
                     //Automatically enable TLS encryption if:
-                    // * it's not disabled
-                    // * we have openssl extension
-                    // * we are not already using SSL
-                    // * the server offers STARTTLS
+                    //* it's not disabled
+                    //* we have openssl extension
+                    //* we are not already using SSL
+                    //* the server offers STARTTLS
                     if ($this->SMTPAutoTLS && $sslext && 'ssl' !== $secure && $this->smtp->getServerExt('STARTTLS')) {
                         $tls = true;
                     }
@@ -2062,7 +2135,7 @@
                         if (!$this->smtp->startTLS()) {
                             throw new Exception($this->lang('connect_host'));
                         }
-                        // We must resend EHLO after TLS negotiation
+                        //We must resend EHLO after TLS negotiation
                         $this->smtp->hello($hello);
                     }
                     if (
@@ -2080,14 +2153,14 @@
                 } catch (Exception $exc) {
                     $lastexception = $exc;
                     $this->edebug($exc->getMessage());
-                    // We must have connected, but then failed TLS or Auth, so close connection nicely
+                    //We must have connected, but then failed TLS or Auth, so close connection nicely
                     $this->smtp->quit();
                 }
             }
         }
-        // If we get here, all connection attempts have failed, so close connection hard
+        //If we get here, all connection attempts have failed, so close connection hard
         $this->smtp->close();
-        // As we've caught all exceptions, just report whatever the last one was
+        //As we've caught all exceptions, just report whatever the last one was
         if ($this->exceptions && null !== $lastexception) {
             throw $lastexception;
         }
@@ -2112,13 +2185,14 @@
      * The default language is English.
      *
      * @param string $langcode  ISO 639-1 2-character language code (e.g. French is "fr")
-     * @param string $lang_path Path to the language file directory, with trailing separator (slash)
+     * @param string $lang_path Path to the language file directory, with trailing separator (slash).D
+     *                          Do not set this from user input!
      *
      * @return bool
      */
     public function setLanguage($langcode = 'en', $lang_path = '')
     {
-        // Backwards compatibility for renamed language codes
+        //Backwards compatibility for renamed language codes
         $renamed_langcodes = [
             'br' => 'pt_br',
             'cz' => 'cs',
@@ -2134,7 +2208,7 @@
             $langcode = $renamed_langcodes[$langcode];
         }
 
-        // Define full set of translatable strings in English
+        //Define full set of translatable strings in English
         $PHPMAILER_LANG = [
             'authenticate' => 'SMTP Error: Could not authenticate.',
             'connect_host' => 'SMTP Error: Could not connect to SMTP host.',
@@ -2159,7 +2233,7 @@
             'extension_missing' => 'Extension missing: ',
         ];
         if (empty($lang_path)) {
-            // Calculate an absolute path so it can work if CWD is not here
+            //Calculate an absolute path so it can work if CWD is not here
             $lang_path = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'language' . DIRECTORY_SEPARATOR;
         }
         //Validate $langcode
@@ -2168,20 +2242,38 @@
         }
         $foundlang = true;
         $lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php';
-        // There is no English translation file
+        //There is no English translation file
         if ('en' !== $langcode) {
-            // Make sure language file path is readable
+            //Make sure language file path is readable
             if (!static::fileIsAccessible($lang_file)) {
                 $foundlang = false;
             } else {
-                // Overwrite language-specific strings.
-                // This way we'll never have missing translation keys.
-                $foundlang = include $lang_file;
+                //$foundlang = include $lang_file;
+                $lines = file($lang_file);
+                foreach ($lines as $line) {
+                    //Translation file lines look like this:
+                    //$PHPMAILER_LANG['authenticate'] = 'SMTP-Fehler: Authentifizierung fehlgeschlagen.';
+                    //These files are parsed as text and not PHP so as to avoid the possibility of code injection
+                    //See https://blog.stevenlevithan.com/archives/match-quoted-string
+                    $matches = [];
+                    if (
+                        preg_match(
+                            '/^\$PHPMAILER_LANG\[\'([a-z\d_]+)\'\]\s*=\s*(["\'])(.+)*?\2;/',
+                            $line,
+                            $matches
+                        ) &&
+                        //Ignore unknown translation keys
+                        array_key_exists($matches[1], $PHPMAILER_LANG)
+                    ) {
+                        //Overwrite language-specific strings so we'll never have missing translation keys.
+                        $PHPMAILER_LANG[$matches[1]] = (string)$matches[3];
+                    }
+                }
             }
         }
         $this->language = $PHPMAILER_LANG;
 
-        return (bool) $foundlang; // Returns false if language not found
+        return $foundlang; //Returns false if language not found
     }
 
     /**
@@ -2225,7 +2317,7 @@
      */
     public function addrFormat($addr)
     {
-        if (empty($addr[1])) { // No name provided
+        if (empty($addr[1])) { //No name provided
             return $this->secureHeader($addr[0]);
         }
 
@@ -2252,8 +2344,8 @@
         } else {
             $soft_break = static::$LE;
         }
-        // If utf-8 encoding is used, we will need to make sure we don't
-        // split multibyte characters when we wrap
+        //If utf-8 encoding is used, we will need to make sure we don't
+        //split multibyte characters when we wrap
         $is_utf8 = static::CHARSET_UTF8 === strtolower($this->CharSet);
         $lelen = strlen(static::$LE);
         $crlflen = strlen(static::$LE);
@@ -2353,29 +2445,29 @@
             $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack);
             $encodedCharPos = strpos($lastChunk, '=');
             if (false !== $encodedCharPos) {
-                // Found start of encoded character byte within $lookBack block.
-                // Check the encoded byte value (the 2 chars after the '=')
+                //Found start of encoded character byte within $lookBack block.
+                //Check the encoded byte value (the 2 chars after the '=')
                 $hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2);
                 $dec = hexdec($hex);
                 if ($dec < 128) {
-                    // Single byte character.
-                    // If the encoded char was found at pos 0, it will fit
-                    // otherwise reduce maxLength to start of the encoded char
+                    //Single byte character.
+                    //If the encoded char was found at pos 0, it will fit
+                    //otherwise reduce maxLength to start of the encoded char
                     if ($encodedCharPos > 0) {
                         $maxLength -= $lookBack - $encodedCharPos;
                     }
                     $foundSplitPos = true;
                 } elseif ($dec >= 192) {
-                    // First byte of a multi byte character
-                    // Reduce maxLength to split at start of character
+                    //First byte of a multi byte character
+                    //Reduce maxLength to split at start of character
                     $maxLength -= $lookBack - $encodedCharPos;
                     $foundSplitPos = true;
                 } elseif ($dec < 192) {
-                    // Middle byte of a multi byte character, look further back
+                    //Middle byte of a multi byte character, look further back
                     $lookBack += 3;
                 }
             } else {
-                // No encoded character found
+                //No encoded character found
                 $foundSplitPos = true;
             }
         }
@@ -2419,7 +2511,7 @@
 
         $result .= $this->headerLine('Date', '' === $this->MessageDate ? self::rfcDate() : $this->MessageDate);
 
-        // The To header is created automatically by mail(), so needs to be omitted here
+        //The To header is created automatically by mail(), so needs to be omitted here
         if ('mail' !== $this->Mailer) {
             if ($this->SingleTo) {
                 foreach ($this->to as $toaddr) {
@@ -2433,12 +2525,12 @@
         }
         $result .= $this->addrAppend('From', [[trim($this->From), $this->FromName]]);
 
-        // sendmail and mail() extract Cc from the header before sending
+        //sendmail and mail() extract Cc from the header before sending
         if (count($this->cc) > 0) {
             $result .= $this->addrAppend('Cc', $this->cc);
         }
 
-        // sendmail and mail() extract Bcc from the header before sending
+        //sendmail and mail() extract Bcc from the header before sending
         if (
             (
                 'sendmail' === $this->Mailer || 'qmail' === $this->Mailer || 'mail' === $this->Mailer
@@ -2452,13 +2544,13 @@
             $result .= $this->addrAppend('Reply-To', $this->ReplyTo);
         }
 
-        // mail() sets the subject itself
+        //mail() sets the subject itself
         if ('mail' !== $this->Mailer) {
             $result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject)));
         }
 
-        // Only allow a custom message ID if it conforms to RFC 5322 section 3.6.4
-        // https://tools.ietf.org/html/rfc5322#section-3.6.4
+        //Only allow a custom message ID if it conforms to RFC 5322 section 3.6.4
+        //https://tools.ietf.org/html/rfc5322#section-3.6.4
         if ('' !== $this->MessageID && preg_match('/^<.*@.*>$/', $this->MessageID)) {
             $this->lastMessageID = $this->MessageID;
         } else {
@@ -2484,7 +2576,7 @@
             $result .= $this->headerLine('Disposition-Notification-To', '<' . $this->ConfirmReadingTo . '>');
         }
 
-        // Add custom headers
+        //Add custom headers
         foreach ($this->CustomHeader as $header) {
             $result .= $this->headerLine(
                 trim($header[0]),
@@ -2526,28 +2618,24 @@
                 $result .= $this->textLine(' boundary="' . $this->boundary[1] . '"');
                 break;
             default:
-                // Catches case 'plain': and case '':
+                //Catches case 'plain': and case '':
                 $result .= $this->textLine('Content-Type: ' . $this->ContentType . '; charset=' . $this->CharSet);
                 $ismultipart = false;
                 break;
         }
-        // RFC1341 part 5 says 7bit is assumed if not specified
+        //RFC1341 part 5 says 7bit is assumed if not specified
         if (static::ENCODING_7BIT !== $this->Encoding) {
-            // RFC 2045 section 6.4 says multipart MIME parts may only use 7bit, 8bit or binary CTE
+            //RFC 2045 section 6.4 says multipart MIME parts may only use 7bit, 8bit or binary CTE
             if ($ismultipart) {
                 if (static::ENCODING_8BIT === $this->Encoding) {
                     $result .= $this->headerLine('Content-Transfer-Encoding', static::ENCODING_8BIT);
                 }
-                // The only remaining alternatives are quoted-printable and base64, which are both 7bit compatible
+                //The only remaining alternatives are quoted-printable and base64, which are both 7bit compatible
             } else {
                 $result .= $this->headerLine('Content-Transfer-Encoding', $this->Encoding);
             }
         }
 
-        if ('mail' !== $this->Mailer) {
-//            $result .= static::$LE;
-        }
-
         return $result;
     }
 
@@ -2816,7 +2904,7 @@
                 $body .= $this->attachAll('attachment', $this->boundary[1]);
                 break;
             default:
-                // Catch case 'plain' and case '', applies to simple `text/plain` and `text/html` body content types
+                //Catch case 'plain' and case '', applies to simple `text/plain` and `text/html` body content types
                 //Reset the `Encoding` property in case we changed it for line length reasons
                 $this->Encoding = $bodyEncoding;
                 $body .= $this->encodeString($this->Body, $this->Encoding);
@@ -2907,7 +2995,7 @@
         $result .= $this->textLine('--' . $boundary);
         $result .= sprintf('Content-Type: %s; charset=%s', $contentType, $charSet);
         $result .= static::$LE;
-        // RFC1341 part 5 says 7bit is assumed if not specified
+        //RFC1341 part 5 says 7bit is assumed if not specified
         if (static::ENCODING_7BIT !== $encoding) {
             $result .= $this->headerLine('Content-Transfer-Encoding', $encoding);
         }
@@ -3005,7 +3093,7 @@
                 throw new Exception($this->lang('file_access') . $path, self::STOP_CONTINUE);
             }
 
-            // If a MIME type is not specified, try to work it out from the file name
+            //If a MIME type is not specified, try to work it out from the file name
             if ('' === $type) {
                 $type = static::filenameToType($path);
             }
@@ -3024,7 +3112,7 @@
                 2 => $name,
                 3 => $encoding,
                 4 => $type,
-                5 => false, // isStringAttachment
+                5 => false, //isStringAttachment
                 6 => $disposition,
                 7 => $name,
             ];
@@ -3064,16 +3152,16 @@
      */
     protected function attachAll($disposition_type, $boundary)
     {
-        // Return text of body
+        //Return text of body
         $mime = [];
         $cidUniq = [];
         $incl = [];
 
-        // Add all attachments
+        //Add all attachments
         foreach ($this->attachment as $attachment) {
-            // Check if it is a valid disposition_filter
+            //Check if it is a valid disposition_filter
             if ($attachment[6] === $disposition_type) {
-                // Check for string attachment
+                //Check for string attachment
                 $string = '';
                 $path = '';
                 $bString = $attachment[5];
@@ -3114,7 +3202,7 @@
                         static::$LE
                     );
                 }
-                // RFC1341 part 5 says 7bit is assumed if not specified
+                //RFC1341 part 5 says 7bit is assumed if not specified
                 if (static::ENCODING_7BIT !== $encoding) {
                     $mime[] = sprintf('Content-Transfer-Encoding: %s%s', $encoding, static::$LE);
                 }
@@ -3124,7 +3212,7 @@
                     $mime[] = 'Content-ID: <' . $this->encodeHeader($this->secureHeader($cid)) . '>' . static::$LE;
                 }
 
-                // Allow for bypassing the Content-Disposition header
+                //Allow for bypassing the Content-Disposition header
                 if (!empty($disposition)) {
                     $encoded_name = $this->encodeHeader($this->secureHeader($name));
                     if (!empty($encoded_name)) {
@@ -3145,7 +3233,7 @@
                     $mime[] = static::$LE;
                 }
 
-                // Encode as string attachment
+                //Encode as string attachment
                 if ($bString) {
                     $mime[] = $this->encodeString($string, $encoding);
                 } else {
@@ -3221,7 +3309,7 @@
             case static::ENCODING_7BIT:
             case static::ENCODING_8BIT:
                 $encoded = static::normalizeBreaks($str);
-                // Make sure it ends with a line break
+                //Make sure it ends with a line break
                 if (substr($encoded, -(strlen(static::$LE))) !== static::$LE) {
                     $encoded .= static::$LE;
                 }
@@ -3259,7 +3347,7 @@
         switch (strtolower($position)) {
             case 'phrase':
                 if (!preg_match('/[\200-\377]/', $str)) {
-                    // Can't use addslashes as we don't know the value of magic_quotes_sybase
+                    //Can't use addslashes as we don't know the value of magic_quotes_sybase
                     $encoded = addcslashes($str, "\0..\37\177\\\"");
                     if (($str === $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) {
                         return $encoded;
@@ -3285,7 +3373,7 @@
             $charset = static::CHARSET_ASCII;
         }
 
-        // Q/B encoding adds 8 chars and the charset ("` =?<charset>?[QB]?<content>?=`").
+        //Q/B encoding adds 8 chars and the charset ("` =?<charset>?[QB]?<content>?=`").
         $overhead = 8 + strlen($charset);
 
         if ('mail' === $this->Mailer) {
@@ -3294,26 +3382,26 @@
             $maxlen = static::MAX_LINE_LENGTH - $overhead;
         }
 
-        // Select the encoding that produces the shortest output and/or prevents corruption.
+        //Select the encoding that produces the shortest output and/or prevents corruption.
         if ($matchcount > strlen($str) / 3) {
-            // More than 1/3 of the content needs encoding, use B-encode.
+            //More than 1/3 of the content needs encoding, use B-encode.
             $encoding = 'B';
         } elseif ($matchcount > 0) {
-            // Less than 1/3 of the content needs encoding, use Q-encode.
+            //Less than 1/3 of the content needs encoding, use Q-encode.
             $encoding = 'Q';
         } elseif (strlen($str) > $maxlen) {
-            // No encoding needed, but value exceeds max line length, use Q-encode to prevent corruption.
+            //No encoding needed, but value exceeds max line length, use Q-encode to prevent corruption.
             $encoding = 'Q';
         } else {
-            // No reformatting needed
+            //No reformatting needed
             $encoding = false;
         }
 
         switch ($encoding) {
             case 'B':
                 if ($this->hasMultiBytes($str)) {
-                    // Use a custom function which correctly encodes and wraps long
-                    // multibyte strings without breaking lines within a character
+                    //Use a custom function which correctly encodes and wraps long
+                    //multibyte strings without breaking lines within a character
                     $encoded = $this->base64EncodeWrapMB($str, "\n");
                 } else {
                     $encoded = base64_encode($str);
@@ -3348,7 +3436,7 @@
             return strlen($str) > mb_strlen($str, $this->CharSet);
         }
 
-        // Assume no multibytes (we can't handle without mbstring functions anyway)
+        //Assume no multibytes (we can't handle without mbstring functions anyway)
         return false;
     }
 
@@ -3386,11 +3474,11 @@
         }
 
         $mb_length = mb_strlen($str, $this->CharSet);
-        // Each line must have length <= 75, including $start and $end
+        //Each line must have length <= 75, including $start and $end
         $length = 75 - strlen($start) - strlen($end);
-        // Average multi-byte ratio
+        //Average multi-byte ratio
         $ratio = $mb_length / strlen($str);
-        // Base64 has a 4:3 ratio
+        //Base64 has a 4:3 ratio
         $avgLength = floor($length * $ratio * .75);
 
         $offset = 0;
@@ -3405,7 +3493,7 @@
             $encoded .= $chunk . $linebreak;
         }
 
-        // Chomp the last linefeed
+        //Chomp the last linefeed
         return substr($encoded, 0, -strlen($linebreak));
     }
 
@@ -3434,12 +3522,12 @@
      */
     public function encodeQ($str, $position = 'text')
     {
-        // There should not be any EOL in the string
+        //There should not be any EOL in the string
         $pattern = '';
         $encoded = str_replace(["\r", "\n"], '', $str);
         switch (strtolower($position)) {
             case 'phrase':
-                // RFC 2047 section 5.3
+                //RFC 2047 section 5.3
                 $pattern = '^A-Za-z0-9!*+\/ -';
                 break;
             /*
@@ -3452,15 +3540,15 @@
             /* Intentional fall through */
             case 'text':
             default:
-                // RFC 2047 section 5.1
-                // Replace every high ascii, control, =, ? and _ characters
+                //RFC 2047 section 5.1
+                //Replace every high ascii, control, =, ? and _ characters
                 $pattern = '\000-\011\013\014\016-\037\075\077\137\177-\377' . $pattern;
                 break;
         }
         $matches = [];
         if (preg_match_all("/[{$pattern}]/", $encoded, $matches)) {
-            // If the string contains an '=', make sure it's the first thing we replace
-            // so as to avoid double-encoding
+            //If the string contains an '=', make sure it's the first thing we replace
+            //so as to avoid double-encoding
             $eqkey = array_search('=', $matches[0], true);
             if (false !== $eqkey) {
                 unset($matches[0][$eqkey]);
@@ -3470,8 +3558,8 @@
                 $encoded = str_replace($char, '=' . sprintf('%02X', ord($char)), $encoded);
             }
         }
-        // Replace spaces with _ (more readable than =20)
-        // RFC 2047 section 4.2(2)
+        //Replace spaces with _ (more readable than =20)
+        //RFC 2047 section 4.2(2)
         return str_replace(' ', '_', $encoded);
     }
 
@@ -3498,7 +3586,7 @@
         $disposition = 'attachment'
     ) {
         try {
-            // If a MIME type is not specified, try to work it out from the file name
+            //If a MIME type is not specified, try to work it out from the file name
             if ('' === $type) {
                 $type = static::filenameToType($filename);
             }
@@ -3507,14 +3595,14 @@
                 throw new Exception($this->lang('encoding') . $encoding);
             }
 
-            // Append to $attachment array
+            //Append to $attachment array
             $this->attachment[] = [
                 0 => $string,
                 1 => $filename,
                 2 => static::mb_pathinfo($filename, PATHINFO_BASENAME),
                 3 => $encoding,
                 4 => $type,
-                5 => true, // isStringAttachment
+                5 => true, //isStringAttachment
                 6 => $disposition,
                 7 => 0,
             ];
@@ -3565,7 +3653,7 @@
                 throw new Exception($this->lang('file_access') . $path, self::STOP_CONTINUE);
             }
 
-            // If a MIME type is not specified, try to work it out from the file name
+            //If a MIME type is not specified, try to work it out from the file name
             if ('' === $type) {
                 $type = static::filenameToType($path);
             }
@@ -3579,14 +3667,14 @@
                 $name = $filename;
             }
 
-            // Append to $attachment array
+            //Append to $attachment array
             $this->attachment[] = [
                 0 => $path,
                 1 => $filename,
                 2 => $name,
                 3 => $encoding,
                 4 => $type,
-                5 => false, // isStringAttachment
+                5 => false, //isStringAttachment
                 6 => $disposition,
                 7 => $cid,
             ];
@@ -3631,7 +3719,7 @@
         $disposition = 'inline'
     ) {
         try {
-            // If a MIME type is not specified, try to work it out from the name
+            //If a MIME type is not specified, try to work it out from the name
             if ('' === $type && !empty($name)) {
                 $type = static::filenameToType($name);
             }
@@ -3640,14 +3728,14 @@
                 throw new Exception($this->lang('encoding') . $encoding);
             }
 
-            // Append to $attachment array
+            //Append to $attachment array
             $this->attachment[] = [
                 0 => $string,
                 1 => $name,
                 2 => $name,
                 3 => $encoding,
                 4 => $type,
-                5 => true, // isStringAttachment
+                5 => true, //isStringAttachment
                 6 => $disposition,
                 7 => $cid,
             ];
@@ -3867,8 +3955,8 @@
      */
     public static function rfcDate()
     {
-        // Set the time zone to whatever the default is to avoid 500 errors
-        // Will default to UTC if it's not set properly in php.ini
+        //Set the time zone to whatever the default is to avoid 500 errors
+        //Will default to UTC if it's not set properly in php.ini
         date_default_timezone_set(@date_default_timezone_get());
 
         return date('D, j M Y H:i:s O');
@@ -3946,13 +4034,13 @@
     protected function lang($key)
     {
         if (count($this->language) < 1) {
-            $this->setLanguage(); // set the default language
+            $this->setLanguage(); //Set the default language
         }
 
         if (array_key_exists($key, $this->language)) {
             if ('smtp_connect_failed' === $key) {
-                //Include a link to troubleshooting docs on SMTP connection failure
-                //this is by far the biggest cause of support questions
+                //Include a link to troubleshooting docs on SMTP connection failure.
+                //This is by far the biggest cause of support questions
                 //but it's usually not PHPMailer's fault.
                 return $this->language[$key] . ' https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting';
             }
@@ -3987,7 +4075,7 @@
     public function addCustomHeader($name, $value = null)
     {
         if (null === $value && strpos($name, ':') !== false) {
-            // Value passed in as name:value
+            //Value passed in as name:value
             list($name, $value) = explode(':', $name, 2);
         }
         $name = trim($name);
@@ -4041,11 +4129,11 @@
         preg_match_all('/(?<!-)(src|background)=["\'](.*)["\']/Ui', $message, $images);
         if (array_key_exists(2, $images)) {
             if (strlen($basedir) > 1 && '/' !== substr($basedir, -1)) {
-                // Ensure $basedir has a trailing /
+                //Ensure $basedir has a trailing /
                 $basedir .= '/';
             }
             foreach ($images[2] as $imgindex => $url) {
-                // Convert data URIs into embedded images
+                //Convert data URIs into embedded images
                 //e.g. "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
                 $match = [];
                 if (preg_match('#^data:(image/(?:jpe?g|gif|png));?(base64)?,(.+)#', $url, $match)) {
@@ -4059,7 +4147,7 @@
                     }
                     //Hash the decoded data, not the URL, so that the same data-URI image used in multiple places
                     //will only be embedded once, even if it used a different encoding
-                    $cid = substr(hash('sha256', $data), 0, 32) . '@phpmailer.0'; // RFC2392 S 2
+                    $cid = substr(hash('sha256', $data), 0, 32) . '@phpmailer.0'; //RFC2392 S 2
 
                     if (!$this->cidExists($cid)) {
                         $this->addStringEmbeddedImage(
@@ -4078,13 +4166,13 @@
                     continue;
                 }
                 if (
-                    // Only process relative URLs if a basedir is provided (i.e. no absolute local paths)
+                    //Only process relative URLs if a basedir is provided (i.e. no absolute local paths)
                     !empty($basedir)
-                    // Ignore URLs containing parent dir traversal (..)
+                    //Ignore URLs containing parent dir traversal (..)
                     && (strpos($url, '..') === false)
-                    // Do not change urls that are already inline images
+                    //Do not change urls that are already inline images
                     && 0 !== strpos($url, 'cid:')
-                    // Do not change absolute URLs, including anonymous protocol
+                    //Do not change absolute URLs, including anonymous protocol
                     && !preg_match('#^[a-z][a-z0-9+.-]*:?//#i', $url)
                 ) {
                     $filename = static::mb_pathinfo($url, PATHINFO_BASENAME);
@@ -4092,7 +4180,7 @@
                     if ('.' === $directory) {
                         $directory = '';
                     }
-                    // RFC2392 S 2
+                    //RFC2392 S 2
                     $cid = substr(hash('sha256', $url), 0, 32) . '@phpmailer.0';
                     if (strlen($basedir) > 1 && '/' !== substr($basedir, -1)) {
                         $basedir .= '/';
@@ -4119,7 +4207,7 @@
             }
         }
         $this->isHTML();
-        // Convert all message body line breaks to LE, makes quoted-printable encoding work much better
+        //Convert all message body line breaks to LE, makes quoted-printable encoding work much better
         $this->Body = static::normalizeBreaks($message);
         $this->AltBody = static::normalizeBreaks($this->html2text($message, $advanced));
         if (!$this->alternativeExists()) {
@@ -4138,9 +4226,9 @@
      * Example usage:
      *
      * ```php
-     * // Use default conversion
+     * //Use default conversion
      * $plain = $mail->html2text($html);
-     * // Use your own custom converter
+     * //Use your own custom converter
      * $plain = $mail->html2text($html, function($html) {
      *     $converter = new MyHtml2text($html);
      *     return $converter->get_text();
@@ -4307,7 +4395,7 @@
      */
     public static function filenameToType($filename)
     {
-        // In case the path is a URL, strip any query string before getting extension
+        //In case the path is a URL, strip any query string before getting extension
         $qpos = strpos($filename, '?');
         if (false !== $qpos) {
             $filename = substr($filename, 0, $qpos);
@@ -4418,9 +4506,9 @@
         if (null === $breaktype) {
             $breaktype = static::$LE;
         }
-        // Normalise to \n
+        //Normalise to \n
         $text = str_replace([self::CRLF, "\r"], "\n", $text);
-        // Now convert LE as needed
+        //Now convert LE as needed
         if ("\n" !== $breaktype) {
             $text = str_replace("\n", $breaktype, $text);
         }
@@ -4526,13 +4614,13 @@
             $privKey = openssl_pkey_get_private($privKeyStr);
         }
         if (openssl_sign($signHeader, $signature, $privKey, 'sha256WithRSAEncryption')) {
-            if (PHP_MAJOR_VERSION < 8) {
+            if (\PHP_MAJOR_VERSION < 8) {
                 openssl_pkey_free($privKey);
             }
 
             return base64_encode($signature);
         }
-        if (PHP_MAJOR_VERSION < 8) {
+        if (\PHP_MAJOR_VERSION < 8) {
             openssl_pkey_free($privKey);
         }
 
@@ -4599,7 +4687,7 @@
         if (empty($body)) {
             return self::CRLF;
         }
-        // Normalize line endings to CRLF
+        //Normalize line endings to CRLF
         $body = static::normalizeBreaks($body, self::CRLF);
 
         //Reduce multiple trailing line breaks to a single one
@@ -4619,9 +4707,9 @@
      */
     public function DKIM_Add($headers_line, $subject, $body)
     {
-        $DKIMsignatureType = 'rsa-sha256'; // Signature & hash algorithms
-        $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization methods of header & body
-        $DKIMquery = 'dns/txt'; // Query method
+        $DKIMsignatureType = 'rsa-sha256'; //Signature & hash algorithms
+        $DKIMcanonicalization = 'relaxed/simple'; //Canonicalization methods of header & body
+        $DKIMquery = 'dns/txt'; //Query method
         $DKIMtime = time();
         //Always sign these headers without being asked
         //Recommended list from https://tools.ietf.org/html/rfc6376#section-5.4.1
@@ -4722,7 +4810,8 @@
         $headerKeys = ' h=' . implode(':', $headersToSignKeys) . ';' . static::$LE;
         $headerValues = implode(static::$LE, $headersToSign);
         $body = $this->DKIM_BodyC($body);
-        $DKIMb64 = base64_encode(pack('H*', hash('sha256', $body))); // Base64 of packed binary SHA-256 hash of body
+        //Base64 of packed binary SHA-256 hash of body
+        $DKIMb64 = base64_encode(pack('H*', hash('sha256', $body)));
         $ident = '';
         if ('' !== $this->DKIM_identity) {
             $ident = ' i=' . $this->DKIM_identity . ';' . static::$LE;
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/POP3.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/POP3.php
index 235e637..b38964b 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/POP3.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/POP3.php
@@ -46,7 +46,7 @@
      *
      * @var string
      */
-    const VERSION = '6.2.0';
+    const VERSION = '6.5.0';
 
     /**
      * Default POP3 port number.
@@ -199,13 +199,13 @@
     public function authorise($host, $port = false, $timeout = false, $username = '', $password = '', $debug_level = 0)
     {
         $this->host = $host;
-        // If no port value provided, use default
+        //If no port value provided, use default
         if (false === $port) {
             $this->port = static::DEFAULT_PORT;
         } else {
             $this->port = (int) $port;
         }
-        // If no timeout value provided, use default
+        //If no timeout value provided, use default
         if (false === $timeout) {
             $this->tval = static::DEFAULT_TIMEOUT;
         } else {
@@ -214,9 +214,9 @@
         $this->do_debug = $debug_level;
         $this->username = $username;
         $this->password = $password;
-        //  Reset the error log
+        //Reset the error log
         $this->errors = [];
-        //  connect
+        //Connect
         $result = $this->connect($this->host, $this->port, $this->tval);
         if ($result) {
             $login_result = $this->login($this->username, $this->password);
@@ -226,7 +226,7 @@
                 return true;
             }
         }
-        // We need to disconnect regardless of whether the login succeeded
+        //We need to disconnect regardless of whether the login succeeded
         $this->disconnect();
 
         return false;
@@ -243,7 +243,7 @@
      */
     public function connect($host, $port = false, $tval = 30)
     {
-        //  Are we already connected?
+        //Are we already connected?
         if ($this->connected) {
             return true;
         }
@@ -256,22 +256,22 @@
             $port = static::DEFAULT_PORT;
         }
 
-        //  connect to the POP3 server
+        //Connect to the POP3 server
         $errno = 0;
         $errstr = '';
         $this->pop_conn = fsockopen(
-            $host, //  POP3 Host
-            $port, //  Port #
-            $errno, //  Error Number
-            $errstr, //  Error Message
+            $host, //POP3 Host
+            $port, //Port #
+            $errno, //Error Number
+            $errstr, //Error Message
             $tval
-        ); //  Timeout (seconds)
-        //  Restore the error handler
+        ); //Timeout (seconds)
+        //Restore the error handler
         restore_error_handler();
 
-        //  Did we connect?
+        //Did we connect?
         if (false === $this->pop_conn) {
-            //  It would appear not...
+            //It would appear not...
             $this->setError(
                 "Failed to connect to server $host on port $port. errno: $errno; errstr: $errstr"
             );
@@ -279,14 +279,14 @@
             return false;
         }
 
-        //  Increase the stream time-out
+        //Increase the stream time-out
         stream_set_timeout($this->pop_conn, $tval, 0);
 
-        //  Get the POP3 server response
+        //Get the POP3 server response
         $pop3_response = $this->getResponse();
-        //  Check for the +OK
+        //Check for the +OK
         if ($this->checkResponse($pop3_response)) {
-            //  The connection is established and the POP3 server is talking
+            //The connection is established and the POP3 server is talking
             $this->connected = true;
 
             return true;
@@ -316,11 +316,11 @@
             $password = $this->password;
         }
 
-        // Send the Username
+        //Send the Username
         $this->sendString("USER $username" . static::LE);
         $pop3_response = $this->getResponse();
         if ($this->checkResponse($pop3_response)) {
-            // Send the Password
+            //Send the Password
             $this->sendString("PASS $password" . static::LE);
             $pop3_response = $this->getResponse();
             if ($this->checkResponse($pop3_response)) {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/SMTP.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/SMTP.php
index ab7f46e..a4a91ed 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/SMTP.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/phpmailer/phpmailer/src/SMTP.php
@@ -35,7 +35,7 @@
      *
      * @var string
      */
-    const VERSION = '6.2.0';
+    const VERSION = '6.5.0';
 
     /**
      * SMTP line break constant.
@@ -186,6 +186,7 @@
         'Amazon_SES' => '/[\d]{3} Ok (.*)/',
         'SendGrid' => '/[\d]{3} Ok: queued as (.*)/',
         'CampaignMonitor' => '/[\d]{3} 2.0.0 OK:([a-zA-Z\d]{48})/',
+        'Haraka' => '/[\d]{3} Message Queued \((.*)\)/',
     ];
 
     /**
@@ -312,11 +313,11 @@
      */
     public function connect($host, $port = null, $timeout = 30, $options = [])
     {
-        // Clear errors to avoid confusion
+        //Clear errors to avoid confusion
         $this->setError('');
-        // Make sure we are __not__ connected
+        //Make sure we are __not__ connected
         if ($this->connected()) {
-            // Already connected, generate error
+            //Already connected, generate error
             $this->setError('Already connected to a server');
 
             return false;
@@ -324,7 +325,7 @@
         if (empty($port)) {
             $port = self::DEFAULT_PORT;
         }
-        // Connect to the SMTP server
+        //Connect to the SMTP server
         $this->edebug(
             "Connection: opening to $host:$port, timeout=$timeout, options=" .
             (count($options) > 0 ? var_export($options, true) : 'array()'),
@@ -340,11 +341,23 @@
 
         $this->edebug('Connection: opened', self::DEBUG_CONNECTION);
 
-        // Get any announcement
+        //Get any announcement
         $this->last_reply = $this->get_lines();
         $this->edebug('SERVER -> CLIENT: ' . $this->last_reply, self::DEBUG_SERVER);
-
-        return true;
+        $responseCode = (int)substr($this->last_reply, 0, 3);
+        if ($responseCode === 220) {
+            return true;
+        }
+        //Anything other than a 220 response means something went wrong
+        //RFC 5321 says the server will wait for us to send a QUIT in response to a 554 error
+        //https://tools.ietf.org/html/rfc5321#section-3.1
+        if ($responseCode === 554) {
+            $this->quit();
+        }
+        //This will handle 421 responses which may not wait for a QUIT (e.g. if the server is being shut down)
+        $this->edebug('Connection: closing due to error', self::DEBUG_CONNECTION);
+        $this->close();
+        return false;
     }
 
     /**
@@ -397,7 +410,7 @@
             restore_error_handler();
         }
 
-        // Verify we connected properly
+        //Verify we connected properly
         if (!is_resource($connection)) {
             $this->setError(
                 'Failed to connect to server',
@@ -414,11 +427,11 @@
             return false;
         }
 
-        // SMTP server can take longer to respond, give longer timeout for first read
-        // Windows does not have support for this timeout function
+        //SMTP server can take longer to respond, give longer timeout for first read
+        //Windows does not have support for this timeout function
         if (strpos(PHP_OS, 'WIN') !== 0) {
             $max = (int)ini_get('max_execution_time');
-            // Don't bother if unlimited, or if set_time_limit is disabled
+            //Don't bother if unlimited, or if set_time_limit is disabled
             if (0 !== $max && $timeout > $max && strpos(ini_get('disable_functions'), 'set_time_limit') === false) {
                 @set_time_limit($timeout);
             }
@@ -449,7 +462,7 @@
             $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT;
         }
 
-        // Begin encrypted connection
+        //Begin encrypted connection
         set_error_handler([$this, 'errorHandler']);
         $crypto_ok = stream_socket_enable_crypto(
             $this->smtp_conn,
@@ -487,11 +500,11 @@
         }
 
         if (array_key_exists('EHLO', $this->server_caps)) {
-            // SMTP extensions are available; try to find a proper authentication method
+            //SMTP extensions are available; try to find a proper authentication method
             if (!array_key_exists('AUTH', $this->server_caps)) {
                 $this->setError('Authentication is not allowed at this stage');
-                // 'at this stage' means that auth may be allowed after the stage changes
-                // e.g. after STARTTLS
+                //'at this stage' means that auth may be allowed after the stage changes
+                //e.g. after STARTTLS
 
                 return false;
             }
@@ -535,12 +548,14 @@
         }
         switch ($authtype) {
             case 'PLAIN':
-                // Start authentication
+                //Start authentication
                 if (!$this->sendCommand('AUTH', 'AUTH PLAIN', 334)) {
                     return false;
                 }
-                // Send encoded username and password
+                //Send encoded username and password
                 if (
+                    //Format from https://tools.ietf.org/html/rfc4616#section-2
+                    //We skip the first field (it's forgery), so the string starts with a null byte
                     !$this->sendCommand(
                         'User & Password',
                         base64_encode("\0" . $username . "\0" . $password),
@@ -551,7 +566,7 @@
                 }
                 break;
             case 'LOGIN':
-                // Start authentication
+                //Start authentication
                 if (!$this->sendCommand('AUTH', 'AUTH LOGIN', 334)) {
                     return false;
                 }
@@ -563,17 +578,17 @@
                 }
                 break;
             case 'CRAM-MD5':
-                // Start authentication
+                //Start authentication
                 if (!$this->sendCommand('AUTH CRAM-MD5', 'AUTH CRAM-MD5', 334)) {
                     return false;
                 }
-                // Get the challenge
+                //Get the challenge
                 $challenge = base64_decode(substr($this->last_reply, 4));
 
-                // Build the response
+                //Build the response
                 $response = $username . ' ' . $this->hmac($challenge, $password);
 
-                // send encoded credentials
+                //send encoded credentials
                 return $this->sendCommand('Username', base64_encode($response), 235);
             case 'XOAUTH2':
                 //The OAuth instance must be set up prior to requesting auth.
@@ -582,7 +597,7 @@
                 }
                 $oauth = $OAuth->getOauth64();
 
-                // Start authentication
+                //Start authentication
                 if (!$this->sendCommand('AUTH', 'AUTH XOAUTH2 ' . $oauth, 235)) {
                     return false;
                 }
@@ -612,15 +627,15 @@
             return hash_hmac('md5', $data, $key);
         }
 
-        // The following borrowed from
-        // http://php.net/manual/en/function.mhash.php#27225
+        //The following borrowed from
+        //http://php.net/manual/en/function.mhash.php#27225
 
-        // RFC 2104 HMAC implementation for php.
-        // Creates an md5 HMAC.
-        // Eliminates the need to install mhash to compute a HMAC
-        // by Lance Rushing
+        //RFC 2104 HMAC implementation for php.
+        //Creates an md5 HMAC.
+        //Eliminates the need to install mhash to compute a HMAC
+        //by Lance Rushing
 
-        $bytelen = 64; // byte length for md5
+        $bytelen = 64; //byte length for md5
         if (strlen($key) > $bytelen) {
             $key = pack('H*', md5($key));
         }
@@ -643,7 +658,7 @@
         if (is_resource($this->smtp_conn)) {
             $sock_status = stream_get_meta_data($this->smtp_conn);
             if ($sock_status['eof']) {
-                // The socket is valid but we are not connected
+                //The socket is valid but we are not connected
                 $this->edebug(
                     'SMTP NOTICE: EOF caught while checking if connected',
                     self::DEBUG_CLIENT
@@ -653,7 +668,7 @@
                 return false;
             }
 
-            return true; // everything looks good
+            return true; //everything looks good
         }
 
         return false;
@@ -671,7 +686,7 @@
         $this->server_caps = null;
         $this->helo_rply = null;
         if (is_resource($this->smtp_conn)) {
-            // close the connection and cleanup
+            //Close the connection and cleanup
             fclose($this->smtp_conn);
             $this->smtp_conn = null; //Makes for cleaner serialization
             $this->edebug('Connection: closed', self::DEBUG_CONNECTION);
@@ -706,7 +721,7 @@
          * NOTE: this does not count towards line-length limit.
          */
 
-        // Normalize line breaks before exploding
+        //Normalize line breaks before exploding
         $lines = explode("\n", str_replace(["\r\n", "\r"], "\n", $msg_data));
 
         /* To distinguish between a complete RFC822 message and a plain message body, we check if the first field
@@ -752,7 +767,8 @@
 
             //Send the lines to the server
             foreach ($lines_out as $line_out) {
-                //RFC2821 section 4.5.2
+                //Dot-stuffing as per RFC5321 section 4.5.2
+                //https://tools.ietf.org/html/rfc5321#section-4.5.2
                 if (!empty($line_out) && $line_out[0] === '.') {
                     $line_out = '.' . $line_out;
                 }
@@ -786,7 +802,16 @@
     public function hello($host = '')
     {
         //Try extended hello first (RFC 2821)
-        return $this->sendHello('EHLO', $host) or $this->sendHello('HELO', $host);
+        if ($this->sendHello('EHLO', $host)) {
+            return true;
+        }
+
+        //Some servers shut down the SMTP service here (RFC 5321)
+        if (substr($this->helo_rply, 0, 3) == '421') {
+            return false;
+        }
+
+        return $this->sendHello('HELO', $host);
     }
 
     /**
@@ -976,12 +1001,12 @@
         $this->client_send($commandstring . static::LE, $command);
 
         $this->last_reply = $this->get_lines();
-        // Fetch SMTP code and possible error code explanation
+        //Fetch SMTP code and possible error code explanation
         $matches = [];
         if (preg_match('/^([\d]{3})[ -](?:([\d]\\.[\d]\\.[\d]{1,2}) )?/', $this->last_reply, $matches)) {
             $code = (int) $matches[1];
             $code_ex = (count($matches) > 2 ? $matches[2] : null);
-            // Cut off error code from each response line
+            //Cut off error code from each response line
             $detail = preg_replace(
                 "/{$code}[ -]" .
                 ($code_ex ? str_replace('.', '\\.', $code_ex) . ' ' : '') . '/m',
@@ -989,7 +1014,7 @@
                 $this->last_reply
             );
         } else {
-            // Fall back to simple parsing if regex fails
+            //Fall back to simple parsing if regex fails
             $code = (int) substr($this->last_reply, 0, 3);
             $code_ex = null;
             $detail = substr($this->last_reply, 4);
@@ -1184,7 +1209,7 @@
      */
     protected function get_lines()
     {
-        // If the connection is bad, give up straight away
+        //If the connection is bad, give up straight away
         if (!is_resource($this->smtp_conn)) {
             return '';
         }
@@ -1237,13 +1262,13 @@
             $str = @fgets($this->smtp_conn, self::MAX_REPLY_LENGTH);
             $this->edebug('SMTP INBOUND: "' . trim($str) . '"', self::DEBUG_LOWLEVEL);
             $data .= $str;
-            // If response is only 3 chars (not valid, but RFC5321 S4.2 says it must be handled),
-            // or 4th character is a space or a line break char, we are done reading, break the loop.
-            // String array access is a significant micro-optimisation over strlen
+            //If response is only 3 chars (not valid, but RFC5321 S4.2 says it must be handled),
+            //or 4th character is a space or a line break char, we are done reading, break the loop.
+            //String array access is a significant micro-optimisation over strlen
             if (!isset($str[3]) || $str[3] === ' ' || $str[3] === "\r" || $str[3] === "\n") {
                 break;
             }
-            // Timed-out? Log and break
+            //Timed-out? Log and break
             $info = stream_get_meta_data($this->smtp_conn);
             if ($info['timed_out']) {
                 $this->edebug(
@@ -1252,7 +1277,7 @@
                 );
                 break;
             }
-            // Now check if reads took too long
+            //Now check if reads took too long
             if ($endtime && time() > $endtime) {
                 $this->edebug(
                     'SMTP -> get_lines(): timelimit reached (' .
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/.gitignore b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/.gitignore
new file mode 100644
index 0000000..b2395aa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/.gitignore
@@ -0,0 +1,3 @@
+composer.lock
+composer.phar
+/vendor/
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/LICENSE
new file mode 100644
index 0000000..2877a48
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2013-2016 container-interop
+Copyright (c) 2016 PHP Framework Interoperability Group
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/README.md
new file mode 100644
index 0000000..1b9d9e5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/README.md
@@ -0,0 +1,13 @@
+Container interface
+==============
+
+This repository holds all interfaces related to [PSR-11 (Container Interface)][psr-url].
+
+Note that this is not a Container implementation of its own. It is merely abstractions that describe the components of a Dependency Injection Container.
+
+The installable [package][package-url] and [implementations][implementation-url] are listed on Packagist.
+
+[psr-url]: https://www.php-fig.org/psr/psr-11/
+[package-url]: https://packagist.org/packages/psr/container
+[implementation-url]: https://packagist.org/providers/psr/container-implementation
+
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/composer.json
new file mode 100644
index 0000000..3797a25
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/composer.json
@@ -0,0 +1,22 @@
+{
+    "name": "psr/container",
+    "type": "library",
+    "description": "Common Container Interface (PHP FIG PSR-11)",
+    "keywords": ["psr", "psr-11", "container", "container-interop", "container-interface"],
+    "homepage": "https://github.com/php-fig/container",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "PHP-FIG",
+            "homepage": "https://www.php-fig.org/"
+        }
+    ],
+    "require": {
+        "php": ">=7.2.0"
+    },
+    "autoload": {
+        "psr-4": {
+            "Psr\\Container\\": "src/"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/ContainerExceptionInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/ContainerExceptionInterface.php
new file mode 100644
index 0000000..cf10b8b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/ContainerExceptionInterface.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Psr\Container;
+
+/**
+ * Base interface representing a generic exception in a container.
+ */
+interface ContainerExceptionInterface
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/ContainerInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/ContainerInterface.php
new file mode 100644
index 0000000..cf8e7fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/ContainerInterface.php
@@ -0,0 +1,36 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Psr\Container;
+
+/**
+ * Describes the interface of a container that exposes methods to read its entries.
+ */
+interface ContainerInterface
+{
+    /**
+     * Finds an entry of the container by its identifier and returns it.
+     *
+     * @param string $id Identifier of the entry to look for.
+     *
+     * @throws NotFoundExceptionInterface  No entry was found for **this** identifier.
+     * @throws ContainerExceptionInterface Error while retrieving the entry.
+     *
+     * @return mixed Entry.
+     */
+    public function get(string $id);
+
+    /**
+     * Returns true if the container can return an entry for the given identifier.
+     * Returns false otherwise.
+     *
+     * `has($id)` returning true does not mean that `get($id)` will not throw an exception.
+     * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`.
+     *
+     * @param string $id Identifier of the entry to look for.
+     *
+     * @return bool
+     */
+    public function has(string $id);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/NotFoundExceptionInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/NotFoundExceptionInterface.php
new file mode 100644
index 0000000..650bf46
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/container/src/NotFoundExceptionInterface.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Psr\Container;
+
+/**
+ * No entry was found in the container.
+ */
+interface NotFoundExceptionInterface extends ContainerExceptionInterface
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/LICENSE
new file mode 100644
index 0000000..474c952
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2012 PHP Framework Interoperability Group
+
+Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is 
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in 
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/AbstractLogger.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/AbstractLogger.php
new file mode 100644
index 0000000..e02f9da
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/AbstractLogger.php
@@ -0,0 +1,128 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * This is a simple Logger implementation that other Loggers can inherit from.
+ *
+ * It simply delegates all log-level-specific methods to the `log` method to
+ * reduce boilerplate code that a simple Logger that does the same thing with
+ * messages regardless of the error level has to implement.
+ */
+abstract class AbstractLogger implements LoggerInterface
+{
+    /**
+     * System is unusable.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function emergency($message, array $context = array())
+    {
+        $this->log(LogLevel::EMERGENCY, $message, $context);
+    }
+
+    /**
+     * Action must be taken immediately.
+     *
+     * Example: Entire website down, database unavailable, etc. This should
+     * trigger the SMS alerts and wake you up.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function alert($message, array $context = array())
+    {
+        $this->log(LogLevel::ALERT, $message, $context);
+    }
+
+    /**
+     * Critical conditions.
+     *
+     * Example: Application component unavailable, unexpected exception.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function critical($message, array $context = array())
+    {
+        $this->log(LogLevel::CRITICAL, $message, $context);
+    }
+
+    /**
+     * Runtime errors that do not require immediate action but should typically
+     * be logged and monitored.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function error($message, array $context = array())
+    {
+        $this->log(LogLevel::ERROR, $message, $context);
+    }
+
+    /**
+     * Exceptional occurrences that are not errors.
+     *
+     * Example: Use of deprecated APIs, poor use of an API, undesirable things
+     * that are not necessarily wrong.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function warning($message, array $context = array())
+    {
+        $this->log(LogLevel::WARNING, $message, $context);
+    }
+
+    /**
+     * Normal but significant events.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function notice($message, array $context = array())
+    {
+        $this->log(LogLevel::NOTICE, $message, $context);
+    }
+
+    /**
+     * Interesting events.
+     *
+     * Example: User logs in, SQL logs.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function info($message, array $context = array())
+    {
+        $this->log(LogLevel::INFO, $message, $context);
+    }
+
+    /**
+     * Detailed debug information.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function debug($message, array $context = array())
+    {
+        $this->log(LogLevel::DEBUG, $message, $context);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/InvalidArgumentException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/InvalidArgumentException.php
new file mode 100644
index 0000000..67f852d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/InvalidArgumentException.php
@@ -0,0 +1,7 @@
+<?php
+
+namespace Psr\Log;
+
+class InvalidArgumentException extends \InvalidArgumentException
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LogLevel.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LogLevel.php
new file mode 100644
index 0000000..9cebcac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LogLevel.php
@@ -0,0 +1,18 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * Describes log levels.
+ */
+class LogLevel
+{
+    const EMERGENCY = 'emergency';
+    const ALERT     = 'alert';
+    const CRITICAL  = 'critical';
+    const ERROR     = 'error';
+    const WARNING   = 'warning';
+    const NOTICE    = 'notice';
+    const INFO      = 'info';
+    const DEBUG     = 'debug';
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerAwareInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
new file mode 100644
index 0000000..4d64f47
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
@@ -0,0 +1,18 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * Describes a logger-aware instance.
+ */
+interface LoggerAwareInterface
+{
+    /**
+     * Sets a logger instance on the object.
+     *
+     * @param LoggerInterface $logger
+     *
+     * @return void
+     */
+    public function setLogger(LoggerInterface $logger);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerAwareTrait.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
new file mode 100644
index 0000000..82bf45c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * Basic Implementation of LoggerAwareInterface.
+ */
+trait LoggerAwareTrait
+{
+    /**
+     * The logger instance.
+     *
+     * @var LoggerInterface|null
+     */
+    protected $logger;
+
+    /**
+     * Sets a logger.
+     *
+     * @param LoggerInterface $logger
+     */
+    public function setLogger(LoggerInterface $logger)
+    {
+        $this->logger = $logger;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerInterface.php
new file mode 100644
index 0000000..2206cfd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerInterface.php
@@ -0,0 +1,125 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * Describes a logger instance.
+ *
+ * The message MUST be a string or object implementing __toString().
+ *
+ * The message MAY contain placeholders in the form: {foo} where foo
+ * will be replaced by the context data in key "foo".
+ *
+ * The context array can contain arbitrary data. The only assumption that
+ * can be made by implementors is that if an Exception instance is given
+ * to produce a stack trace, it MUST be in a key named "exception".
+ *
+ * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md
+ * for the full interface specification.
+ */
+interface LoggerInterface
+{
+    /**
+     * System is unusable.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function emergency($message, array $context = array());
+
+    /**
+     * Action must be taken immediately.
+     *
+     * Example: Entire website down, database unavailable, etc. This should
+     * trigger the SMS alerts and wake you up.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function alert($message, array $context = array());
+
+    /**
+     * Critical conditions.
+     *
+     * Example: Application component unavailable, unexpected exception.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function critical($message, array $context = array());
+
+    /**
+     * Runtime errors that do not require immediate action but should typically
+     * be logged and monitored.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function error($message, array $context = array());
+
+    /**
+     * Exceptional occurrences that are not errors.
+     *
+     * Example: Use of deprecated APIs, poor use of an API, undesirable things
+     * that are not necessarily wrong.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function warning($message, array $context = array());
+
+    /**
+     * Normal but significant events.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function notice($message, array $context = array());
+
+    /**
+     * Interesting events.
+     *
+     * Example: User logs in, SQL logs.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function info($message, array $context = array());
+
+    /**
+     * Detailed debug information.
+     *
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     */
+    public function debug($message, array $context = array());
+
+    /**
+     * Logs with an arbitrary level.
+     *
+     * @param mixed   $level
+     * @param string  $message
+     * @param mixed[] $context
+     *
+     * @return void
+     *
+     * @throws \Psr\Log\InvalidArgumentException
+     */
+    public function log($level, $message, array $context = array());
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerTrait.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerTrait.php
new file mode 100644
index 0000000..e392fef
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/LoggerTrait.php
@@ -0,0 +1,142 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * This is a simple Logger trait that classes unable to extend AbstractLogger
+ * (because they extend another class, etc) can include.
+ *
+ * It simply delegates all log-level-specific methods to the `log` method to
+ * reduce boilerplate code that a simple Logger that does the same thing with
+ * messages regardless of the error level has to implement.
+ */
+trait LoggerTrait
+{
+    /**
+     * System is unusable.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function emergency($message, array $context = array())
+    {
+        $this->log(LogLevel::EMERGENCY, $message, $context);
+    }
+
+    /**
+     * Action must be taken immediately.
+     *
+     * Example: Entire website down, database unavailable, etc. This should
+     * trigger the SMS alerts and wake you up.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function alert($message, array $context = array())
+    {
+        $this->log(LogLevel::ALERT, $message, $context);
+    }
+
+    /**
+     * Critical conditions.
+     *
+     * Example: Application component unavailable, unexpected exception.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function critical($message, array $context = array())
+    {
+        $this->log(LogLevel::CRITICAL, $message, $context);
+    }
+
+    /**
+     * Runtime errors that do not require immediate action but should typically
+     * be logged and monitored.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function error($message, array $context = array())
+    {
+        $this->log(LogLevel::ERROR, $message, $context);
+    }
+
+    /**
+     * Exceptional occurrences that are not errors.
+     *
+     * Example: Use of deprecated APIs, poor use of an API, undesirable things
+     * that are not necessarily wrong.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function warning($message, array $context = array())
+    {
+        $this->log(LogLevel::WARNING, $message, $context);
+    }
+
+    /**
+     * Normal but significant events.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function notice($message, array $context = array())
+    {
+        $this->log(LogLevel::NOTICE, $message, $context);
+    }
+
+    /**
+     * Interesting events.
+     *
+     * Example: User logs in, SQL logs.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function info($message, array $context = array())
+    {
+        $this->log(LogLevel::INFO, $message, $context);
+    }
+
+    /**
+     * Detailed debug information.
+     *
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     */
+    public function debug($message, array $context = array())
+    {
+        $this->log(LogLevel::DEBUG, $message, $context);
+    }
+
+    /**
+     * Logs with an arbitrary level.
+     *
+     * @param mixed  $level
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     *
+     * @throws \Psr\Log\InvalidArgumentException
+     */
+    abstract public function log($level, $message, array $context = array());
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/NullLogger.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/NullLogger.php
new file mode 100644
index 0000000..c8f7293
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/NullLogger.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Psr\Log;
+
+/**
+ * This Logger can be used to avoid conditional log calls.
+ *
+ * Logging should always be optional, and if no logger is provided to your
+ * library creating a NullLogger instance to have something to throw logs at
+ * is a good way to avoid littering your code with `if ($this->logger) { }`
+ * blocks.
+ */
+class NullLogger extends AbstractLogger
+{
+    /**
+     * Logs with an arbitrary level.
+     *
+     * @param mixed  $level
+     * @param string $message
+     * @param array  $context
+     *
+     * @return void
+     *
+     * @throws \Psr\Log\InvalidArgumentException
+     */
+    public function log($level, $message, array $context = array())
+    {
+        // noop
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/DummyTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/DummyTest.php
new file mode 100644
index 0000000..9638c11
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/DummyTest.php
@@ -0,0 +1,18 @@
+<?php
+
+namespace Psr\Log\Test;
+
+/**
+ * This class is internal and does not follow the BC promise.
+ *
+ * Do NOT use this class in any way.
+ *
+ * @internal
+ */
+class DummyTest
+{
+    public function __toString()
+    {
+        return 'DummyTest';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
new file mode 100644
index 0000000..e1e5354
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
@@ -0,0 +1,138 @@
+<?php
+
+namespace Psr\Log\Test;
+
+use Psr\Log\LoggerInterface;
+use Psr\Log\LogLevel;
+use PHPUnit\Framework\TestCase;
+
+/**
+ * Provides a base test class for ensuring compliance with the LoggerInterface.
+ *
+ * Implementors can extend the class and implement abstract methods to run this
+ * as part of their test suite.
+ */
+abstract class LoggerInterfaceTest extends TestCase
+{
+    /**
+     * @return LoggerInterface
+     */
+    abstract public function getLogger();
+
+    /**
+     * This must return the log messages in order.
+     *
+     * The simple formatting of the messages is: "<LOG LEVEL> <MESSAGE>".
+     *
+     * Example ->error('Foo') would yield "error Foo".
+     *
+     * @return string[]
+     */
+    abstract public function getLogs();
+
+    public function testImplements()
+    {
+        $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger());
+    }
+
+    /**
+     * @dataProvider provideLevelsAndMessages
+     */
+    public function testLogsAtAllLevels($level, $message)
+    {
+        $logger = $this->getLogger();
+        $logger->{$level}($message, array('user' => 'Bob'));
+        $logger->log($level, $message, array('user' => 'Bob'));
+
+        $expected = array(
+            $level.' message of level '.$level.' with context: Bob',
+            $level.' message of level '.$level.' with context: Bob',
+        );
+        $this->assertEquals($expected, $this->getLogs());
+    }
+
+    public function provideLevelsAndMessages()
+    {
+        return array(
+            LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'),
+            LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'),
+            LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'),
+            LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'),
+            LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'),
+            LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'),
+            LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'),
+            LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'),
+        );
+    }
+
+    /**
+     * @expectedException \Psr\Log\InvalidArgumentException
+     */
+    public function testThrowsOnInvalidLevel()
+    {
+        $logger = $this->getLogger();
+        $logger->log('invalid level', 'Foo');
+    }
+
+    public function testContextReplacement()
+    {
+        $logger = $this->getLogger();
+        $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar'));
+
+        $expected = array('info {Message {nothing} Bob Bar a}');
+        $this->assertEquals($expected, $this->getLogs());
+    }
+
+    public function testObjectCastToString()
+    {
+        if (method_exists($this, 'createPartialMock')) {
+            $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString'));
+        } else {
+            $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString'));
+        }
+        $dummy->expects($this->once())
+            ->method('__toString')
+            ->will($this->returnValue('DUMMY'));
+
+        $this->getLogger()->warning($dummy);
+
+        $expected = array('warning DUMMY');
+        $this->assertEquals($expected, $this->getLogs());
+    }
+
+    public function testContextCanContainAnything()
+    {
+        $closed = fopen('php://memory', 'r');
+        fclose($closed);
+
+        $context = array(
+            'bool' => true,
+            'null' => null,
+            'string' => 'Foo',
+            'int' => 0,
+            'float' => 0.5,
+            'nested' => array('with object' => new DummyTest),
+            'object' => new \DateTime,
+            'resource' => fopen('php://memory', 'r'),
+            'closed' => $closed,
+        );
+
+        $this->getLogger()->warning('Crazy context data', $context);
+
+        $expected = array('warning Crazy context data');
+        $this->assertEquals($expected, $this->getLogs());
+    }
+
+    public function testContextExceptionKeyCanBeExceptionOrOtherValues()
+    {
+        $logger = $this->getLogger();
+        $logger->warning('Random message', array('exception' => 'oops'));
+        $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail')));
+
+        $expected = array(
+            'warning Random message',
+            'critical Uncaught Exception!'
+        );
+        $this->assertEquals($expected, $this->getLogs());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/TestLogger.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/TestLogger.php
new file mode 100644
index 0000000..1be3230
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/Psr/Log/Test/TestLogger.php
@@ -0,0 +1,147 @@
+<?php
+
+namespace Psr\Log\Test;
+
+use Psr\Log\AbstractLogger;
+
+/**
+ * Used for testing purposes.
+ *
+ * It records all records and gives you access to them for verification.
+ *
+ * @method bool hasEmergency($record)
+ * @method bool hasAlert($record)
+ * @method bool hasCritical($record)
+ * @method bool hasError($record)
+ * @method bool hasWarning($record)
+ * @method bool hasNotice($record)
+ * @method bool hasInfo($record)
+ * @method bool hasDebug($record)
+ *
+ * @method bool hasEmergencyRecords()
+ * @method bool hasAlertRecords()
+ * @method bool hasCriticalRecords()
+ * @method bool hasErrorRecords()
+ * @method bool hasWarningRecords()
+ * @method bool hasNoticeRecords()
+ * @method bool hasInfoRecords()
+ * @method bool hasDebugRecords()
+ *
+ * @method bool hasEmergencyThatContains($message)
+ * @method bool hasAlertThatContains($message)
+ * @method bool hasCriticalThatContains($message)
+ * @method bool hasErrorThatContains($message)
+ * @method bool hasWarningThatContains($message)
+ * @method bool hasNoticeThatContains($message)
+ * @method bool hasInfoThatContains($message)
+ * @method bool hasDebugThatContains($message)
+ *
+ * @method bool hasEmergencyThatMatches($message)
+ * @method bool hasAlertThatMatches($message)
+ * @method bool hasCriticalThatMatches($message)
+ * @method bool hasErrorThatMatches($message)
+ * @method bool hasWarningThatMatches($message)
+ * @method bool hasNoticeThatMatches($message)
+ * @method bool hasInfoThatMatches($message)
+ * @method bool hasDebugThatMatches($message)
+ *
+ * @method bool hasEmergencyThatPasses($message)
+ * @method bool hasAlertThatPasses($message)
+ * @method bool hasCriticalThatPasses($message)
+ * @method bool hasErrorThatPasses($message)
+ * @method bool hasWarningThatPasses($message)
+ * @method bool hasNoticeThatPasses($message)
+ * @method bool hasInfoThatPasses($message)
+ * @method bool hasDebugThatPasses($message)
+ */
+class TestLogger extends AbstractLogger
+{
+    /**
+     * @var array
+     */
+    public $records = [];
+
+    public $recordsByLevel = [];
+
+    /**
+     * @inheritdoc
+     */
+    public function log($level, $message, array $context = [])
+    {
+        $record = [
+            'level' => $level,
+            'message' => $message,
+            'context' => $context,
+        ];
+
+        $this->recordsByLevel[$record['level']][] = $record;
+        $this->records[] = $record;
+    }
+
+    public function hasRecords($level)
+    {
+        return isset($this->recordsByLevel[$level]);
+    }
+
+    public function hasRecord($record, $level)
+    {
+        if (is_string($record)) {
+            $record = ['message' => $record];
+        }
+        return $this->hasRecordThatPasses(function ($rec) use ($record) {
+            if ($rec['message'] !== $record['message']) {
+                return false;
+            }
+            if (isset($record['context']) && $rec['context'] !== $record['context']) {
+                return false;
+            }
+            return true;
+        }, $level);
+    }
+
+    public function hasRecordThatContains($message, $level)
+    {
+        return $this->hasRecordThatPasses(function ($rec) use ($message) {
+            return strpos($rec['message'], $message) !== false;
+        }, $level);
+    }
+
+    public function hasRecordThatMatches($regex, $level)
+    {
+        return $this->hasRecordThatPasses(function ($rec) use ($regex) {
+            return preg_match($regex, $rec['message']) > 0;
+        }, $level);
+    }
+
+    public function hasRecordThatPasses(callable $predicate, $level)
+    {
+        if (!isset($this->recordsByLevel[$level])) {
+            return false;
+        }
+        foreach ($this->recordsByLevel[$level] as $i => $rec) {
+            if (call_user_func($predicate, $rec, $i)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public function __call($method, $args)
+    {
+        if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
+            $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
+            $level = strtolower($matches[2]);
+            if (method_exists($this, $genericMethod)) {
+                $args[] = $level;
+                return call_user_func_array([$this, $genericMethod], $args);
+            }
+        }
+        throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()');
+    }
+
+    public function reset()
+    {
+        $this->records = [];
+        $this->recordsByLevel = [];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/README.md
new file mode 100644
index 0000000..a9f20c4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/README.md
@@ -0,0 +1,58 @@
+PSR Log
+=======
+
+This repository holds all interfaces/classes/traits related to
+[PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md).
+
+Note that this is not a logger of its own. It is merely an interface that
+describes a logger. See the specification for more details.
+
+Installation
+------------
+
+```bash
+composer require psr/log
+```
+
+Usage
+-----
+
+If you need a logger, you can use the interface like this:
+
+```php
+<?php
+
+use Psr\Log\LoggerInterface;
+
+class Foo
+{
+    private $logger;
+
+    public function __construct(LoggerInterface $logger = null)
+    {
+        $this->logger = $logger;
+    }
+
+    public function doSomething()
+    {
+        if ($this->logger) {
+            $this->logger->info('Doing work');
+        }
+           
+        try {
+            $this->doSomethingElse();
+        } catch (Exception $exception) {
+            $this->logger->error('Oh no!', array('exception' => $exception));
+        }
+
+        // do something useful
+    }
+}
+```
+
+You can then pick one of the implementations of the interface to get a logger.
+
+If you want to implement the interface, you can require this package and
+implement `Psr\Log\LoggerInterface` in your code. Please read the
+[specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
+for details.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/composer.json
new file mode 100644
index 0000000..ca05695
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/log/composer.json
@@ -0,0 +1,26 @@
+{
+    "name": "psr/log",
+    "description": "Common interface for logging libraries",
+    "keywords": ["psr", "psr-3", "log"],
+    "homepage": "https://github.com/php-fig/log",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "PHP-FIG",
+            "homepage": "https://www.php-fig.org/"
+        }
+    ],
+    "require": {
+        "php": ">=5.3.0"
+    },
+    "autoload": {
+        "psr-4": {
+            "Psr\\Log\\": "Psr/Log/"
+        }
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.1.x-dev"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/.editorconfig b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/.editorconfig
new file mode 100644
index 0000000..48542cb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/.editorconfig
@@ -0,0 +1,12 @@
+; This file is for unifying the coding style for different editors and IDEs.
+; More information at http://editorconfig.org
+
+root = true
+
+[*]
+charset = utf-8
+indent_size = 4
+indent_style = space
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/LICENSE.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/LICENSE.md
new file mode 100644
index 0000000..e49a7c8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/LICENSE.md
@@ -0,0 +1,21 @@
+# The MIT License (MIT)
+
+Copyright (c) 2016 PHP Framework Interoperability Group
+
+> Permission is hereby granted, free of charge, to any person obtaining a copy
+> of this software and associated documentation files (the "Software"), to deal
+> in the Software without restriction, including without limitation the rights
+> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+> copies of the Software, and to permit persons to whom the Software is
+> furnished to do so, subject to the following conditions:
+>
+> The above copyright notice and this permission notice shall be included in
+> all copies or substantial portions of the Software.
+>
+> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+> THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/README.md
new file mode 100644
index 0000000..43641d1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/README.md
@@ -0,0 +1,8 @@
+PHP FIG Simple Cache PSR
+========================
+
+This repository holds all interfaces related to PSR-16.
+
+Note that this is not a cache implementation of its own. It is merely an interface that describes a cache implementation. See [the specification](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-16-simple-cache.md) for more details.
+
+You can find implementations of the specification by looking for packages providing the [psr/simple-cache-implementation](https://packagist.org/providers/psr/simple-cache-implementation) virtual package.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/composer.json
new file mode 100644
index 0000000..2978fa5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/composer.json
@@ -0,0 +1,25 @@
+{
+    "name": "psr/simple-cache",
+    "description": "Common interfaces for simple caching",
+    "keywords": ["psr", "psr-16", "cache", "simple-cache", "caching"],
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "PHP-FIG",
+            "homepage": "http://www.php-fig.org/"
+        }
+    ],
+    "require": {
+        "php": ">=5.3.0"
+    },
+    "autoload": {
+        "psr-4": {
+            "Psr\\SimpleCache\\": "src/"
+        }
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.0.x-dev"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/CacheException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/CacheException.php
new file mode 100644
index 0000000..eba5381
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/CacheException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Psr\SimpleCache;
+
+/**
+ * Interface used for all types of exceptions thrown by the implementing library.
+ */
+interface CacheException
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/CacheInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/CacheInterface.php
new file mode 100644
index 0000000..99e8d95
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/CacheInterface.php
@@ -0,0 +1,114 @@
+<?php
+
+namespace Psr\SimpleCache;
+
+interface CacheInterface
+{
+    /**
+     * Fetches a value from the cache.
+     *
+     * @param string $key     The unique key of this item in the cache.
+     * @param mixed  $default Default value to return if the key does not exist.
+     *
+     * @return mixed The value of the item from the cache, or $default in case of cache miss.
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *   MUST be thrown if the $key string is not a legal value.
+     */
+    public function get($key, $default = null);
+
+    /**
+     * Persists data in the cache, uniquely referenced by a key with an optional expiration TTL time.
+     *
+     * @param string                 $key   The key of the item to store.
+     * @param mixed                  $value The value of the item to store, must be serializable.
+     * @param null|int|\DateInterval $ttl   Optional. The TTL value of this item. If no value is sent and
+     *                                      the driver supports TTL then the library may set a default value
+     *                                      for it or let the driver take care of that.
+     *
+     * @return bool True on success and false on failure.
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *   MUST be thrown if the $key string is not a legal value.
+     */
+    public function set($key, $value, $ttl = null);
+
+    /**
+     * Delete an item from the cache by its unique key.
+     *
+     * @param string $key The unique cache key of the item to delete.
+     *
+     * @return bool True if the item was successfully removed. False if there was an error.
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *   MUST be thrown if the $key string is not a legal value.
+     */
+    public function delete($key);
+
+    /**
+     * Wipes clean the entire cache's keys.
+     *
+     * @return bool True on success and false on failure.
+     */
+    public function clear();
+
+    /**
+     * Obtains multiple cache items by their unique keys.
+     *
+     * @param iterable $keys    A list of keys that can obtained in a single operation.
+     * @param mixed    $default Default value to return for keys that do not exist.
+     *
+     * @return iterable A list of key => value pairs. Cache keys that do not exist or are stale will have $default as value.
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *   MUST be thrown if $keys is neither an array nor a Traversable,
+     *   or if any of the $keys are not a legal value.
+     */
+    public function getMultiple($keys, $default = null);
+
+    /**
+     * Persists a set of key => value pairs in the cache, with an optional TTL.
+     *
+     * @param iterable               $values A list of key => value pairs for a multiple-set operation.
+     * @param null|int|\DateInterval $ttl    Optional. The TTL value of this item. If no value is sent and
+     *                                       the driver supports TTL then the library may set a default value
+     *                                       for it or let the driver take care of that.
+     *
+     * @return bool True on success and false on failure.
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *   MUST be thrown if $values is neither an array nor a Traversable,
+     *   or if any of the $values are not a legal value.
+     */
+    public function setMultiple($values, $ttl = null);
+
+    /**
+     * Deletes multiple cache items in a single operation.
+     *
+     * @param iterable $keys A list of string-based keys to be deleted.
+     *
+     * @return bool True if the items were successfully removed. False if there was an error.
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *   MUST be thrown if $keys is neither an array nor a Traversable,
+     *   or if any of the $keys are not a legal value.
+     */
+    public function deleteMultiple($keys);
+
+    /**
+     * Determines whether an item is present in the cache.
+     *
+     * NOTE: It is recommended that has() is only to be used for cache warming type purposes
+     * and not to be used within your live applications operations for get/set, as this method
+     * is subject to a race condition where your has() will return true and immediately after,
+     * another script can remove it making the state of your app out of date.
+     *
+     * @param string $key The cache item key.
+     *
+     * @return bool
+     *
+     * @throws \Psr\SimpleCache\InvalidArgumentException
+     *   MUST be thrown if the $key string is not a legal value.
+     */
+    public function has($key);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/InvalidArgumentException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/InvalidArgumentException.php
new file mode 100644
index 0000000..6a9524a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/psr/simple-cache/src/InvalidArgumentException.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Psr\SimpleCache;
+
+/**
+ * Exception interface for invalid cache arguments.
+ *
+ * When an invalid argument is passed it must throw an exception which implements
+ * this interface
+ */
+interface InvalidArgumentException extends CacheException
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.github/FUNDING.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.github/FUNDING.yml
new file mode 100644
index 0000000..b2d7224
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.github/FUNDING.yml
@@ -0,0 +1,4 @@
+# These are supported funding model platforms
+
+github: [RobThree]
+custom: ["https://paypal.me/robiii"]
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.github/workflows/test.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.github/workflows/test.yml
new file mode 100644
index 0000000..8b31e23
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.github/workflows/test.yml
@@ -0,0 +1,27 @@
+name: Test
+
+on:
+  push:
+  pull_request:
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    strategy:
+      matrix:
+        php-version: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0']
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - uses: shivammathur/setup-php@v2
+      with:
+        php-version: ${{ matrix.php-version }}
+        tools: composer
+        coverage: xdebug
+
+    - uses: ramsey/composer-install@v1
+
+    - run: composer lint
+    - run: composer test
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.gitignore b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.gitignore
index 8a25841..5c1c961 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.gitignore
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.gitignore
@@ -125,7 +125,7 @@
 # Publish Web Output
 *.[Pp]ublish.xml
 *.azurePubxml
-# TODO: Comment the next line if you want to checkin your web deploy settings 
+# TODO: Comment the next line if you want to checkin your web deploy settings
 # but database connection strings (with potential passwords) will be unencrypted
 *.pubxml
 *.publishproj
@@ -184,6 +184,9 @@
 
 # Composer
 /vendor
+composer.lock
 
 # .vs
-.vs/
\ No newline at end of file
+.vs/
+
+.phpunit.result.cache
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.travis.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.travis.yml
deleted file mode 100644
index fdc6ff5..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/.travis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-language: php
-
-php:
-  - 5.6
-  - 7.0
-  - 7.1
-  - 7.2
-  - 7.3
-  - 7.4
-
-before_script:
-  - composer install
-
-script:
-  - vendor/bin/phpunit --coverage-text tests
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/README.md
index 3574ae9..b8fcc75 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/README.md
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/README.md
@@ -1,6 +1,6 @@
 # ![Logo](https://raw.githubusercontent.com/RobThree/TwoFactorAuth/master/logo.png) PHP library for Two Factor Authentication
 
-[![Build status](https://img.shields.io/travis/RobThree/TwoFactorAuth.svg?style=flat-square)](https://travis-ci.org/RobThree/TwoFactorAuth/) [![Latest Stable Version](https://img.shields.io/packagist/v/robthree/twofactorauth.svg?style=flat-square)](https://packagist.org/packages/robthree/twofactorauth) [![License](https://img.shields.io/packagist/l/robthree/twofactorauth.svg?style=flat-square)](LICENSE) [![Downloads](https://img.shields.io/packagist/dt/robthree/twofactorauth.svg?style=flat-square)](https://packagist.org/packages/robthree/twofactorauth) [![Code Climate](https://img.shields.io/codeclimate/github/RobThree/TwoFactorAuth.svg?style=flat-square)](https://codeclimate.com/github/RobThree/TwoFactorAuth) [![PayPal donate button](http://img.shields.io/badge/paypal-donate-orange.svg?style=flat-square)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6MB5M2SQLP636 "Keep me off the streets")
+[![Build status](https://img.shields.io/github/workflow/status/RobThree/TwoFactorAuth/Test/master?style=flat-square)](https://github.com/RobThree/TwoFactorAuth/actions?query=branch%3Amaster) [![Latest Stable Version](https://img.shields.io/packagist/v/robthree/twofactorauth.svg?style=flat-square)](https://packagist.org/packages/robthree/twofactorauth) [![License](https://img.shields.io/packagist/l/robthree/twofactorauth.svg?style=flat-square)](LICENSE) [![Downloads](https://img.shields.io/packagist/dt/robthree/twofactorauth.svg?style=flat-square)](https://packagist.org/packages/robthree/twofactorauth) [![Code Climate](https://img.shields.io/codeclimate/github/RobThree/TwoFactorAuth.svg?style=flat-square)](https://codeclimate.com/github/RobThree/TwoFactorAuth) [![PayPal donate button](http://img.shields.io/badge/paypal-donate-orange.svg?style=flat-square)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6MB5M2SQLP636 "Keep me off the streets")
 
 PHP library for [two-factor (or multi-factor) authentication](http://en.wikipedia.org/wiki/Multi-factor_authentication) using [TOTP](http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) and [QR-codes](http://en.wikipedia.org/wiki/QR_code). Inspired by, based on but most importantly an *improvement* on '[PHPGangsta/GoogleAuthenticator](https://github.com/PHPGangsta/GoogleAuthenticator)'. There's a [.Net implementation](https://github.com/RobThree/TwoFactorAuth.Net) of this library as well.
 
@@ -10,10 +10,15 @@
 
 ## Requirements
 
-* Tested on PHP 5.6 up to 7.4
-* [cURL](http://php.net/manual/en/book.curl.php) when using the provided `ImageChartsQRCodeProvider` (default), `QRServerProvider` or `QRicketProvider` but you can also provide your own QR-code provider.
+* Tested on PHP 5.6 up to 8.0
+* [cURL](http://php.net/manual/en/book.curl.php) when using the provided `QRServerProvider` (default), `ImageChartsQRCodeProvider` or `QRicketProvider` but you can also provide your own QR-code provider.
 * [random_bytes()](http://php.net/manual/en/function.random-bytes.php), [MCrypt](http://php.net/manual/en/book.mcrypt.php), [OpenSSL](http://php.net/manual/en/book.openssl.php) or [Hash](http://php.net/manual/en/book.hash.php) depending on which built-in RNG you use (TwoFactorAuth will try to 'autodetect' and use the best available); however: feel free to provide your own (CS)RNG.
 
+Optionally, you may need:
+
+* [endroid/qr-code](https://github.com/endroid/qr-code) if using `EndroidQrCodeProvider` or `EndroidQrCodeWithLogoProvider`.
+* [bacon/bacon-qr-code](https://github.com/Bacon/BaconQrCode) if using `BaconQrCodeProvider`.
+
 ## Installation
 
 Run the following command:
@@ -35,17 +40,17 @@
 
 The TwoFactorAuth class constructor accepts 7 arguments (all optional):
 
-Argument          | Default value | Use 
+Argument          | Default value | Use
 ------------------|---------------|--------------------------------------------------
 `$issuer`         | `null`        | Will be displayed in the app as issuer name
 `$digits`         | `6`           | The number of digits the resulting codes will be
 `$period`         | `30`          | The number of seconds a code will be valid
-`$algorithm`      | `sha1`        | The algorithm used
+`$algorithm`      | `sha1`        | The algorithm used (one of `sha1`, `sha256`, `sha512`, `md5`)
 `$qrcodeprovider` | `null`        | QR-code provider (more on this later)
 `$rngprovider`    | `null`        | Random Number Generator provider (more on this later)
 `$timeprovider`   | `null`        | Time provider (more on this later)
 
-These arguments are all '`write once`'; the class will, for it's lifetime, use these values when generating / calculating codes. The number of digits, the period and algorithm are all set to values Google's Authticator app uses (and supports). You may specify `8` digits, a period of `45` seconds and the `sha256` algorithm but the authenticator app (be it Google's implementation, Authy or any other app) may or may not support these values. Your mileage may vary; keep it on the safe side if you don't control which app your audience uses.
+These arguments are all '`write once`'; the class will, for it's lifetime, use these values when generating / calculating codes. The number of digits, the period and algorithm are all set to values Google's Authenticator app uses (and supports). You may specify `8` digits, a period of `45` seconds and the `sha256` algorithm but the authenticator app (be it Google's implementation, Authy or any other app) may or may not support these values. Your mileage may vary; keep it on the safe side if you don't control which app your audience uses.
 
 ### Step 1: Set up secret shared key
 
@@ -64,9 +69,12 @@
 
 Another, more user-friendly, way to get the shared secret into the app is to generate a [QR-code](http://en.wikipedia.org/wiki/QR_code) which can be scanned by the app. To generate these QR codes you can use any one of the built-in `QRProvider` classes:
 
-1. `ImageChartsQRCodeProvider` (default)
-2. `QRServerProvider`
+1. `QRServerProvider` (default)
+2. `ImageChartsQRCodeProvider`
 3. `QRicketProvider`
+4. `EndroidQrCodeProvider` (requires `endroid/qr-code` to be installed)
+5. `EndroidQrCodeWithLogoProvider` (same, but supporting embedded images)
+6. `BaconQrCodeProvider` (requires `bacon/bacon-qr-code` to be installed)
 
 ...or implement your own provider. To implement your own provider all you need to do is implement the `IQRCodeProvider` interface. You can use the built-in providers mentioned before to serve as an example or read the next chapter in this file. The built-in classes all use a 3rd (e.g. external) party (Image-charts, QRServer and QRicket) for the hard work of generating QR-codes (note: each of these services might at some point not be available or impose limitations to the number of codes generated per day, hour etc.). You could, however, easily use a project like [PHP QR Code](http://phpqrcode.sourceforge.net/) (or one of the [many others](https://packagist.org/search/?q=qr)) to generate your QR-codes without depending on external sources. Later on we'll [demonstrate](#qr-code-providers) how to do this.
 
@@ -89,7 +97,9 @@
 $result = $tfa->verifyCode($_SESSION['secret'], $_POST['verification']);
 ````
 
-`verifyCode()` will return either `true` (the code was valid) or `false` (the code was invalid; no points for you!). You may need to store `$secret` in a `$_SESSION` or other persistent storage between requests. The `verifyCode()` accepts, aside from `$secret` and `$code`, three more arguments. The first being `$discrepancy`. Since TOTP codes are based on time("slices") it is very important that the server (but also client) have a correct date/time. But because the two *may* differ a bit we usually allow a certain amount of leeway. Because generated codes are valid for a specific period (remember the `$period` argument in the `TwoFactorAuth`'s constructor?) we usually check the period directly before and the period directly after the current time when validating codes. So when the current time is `14:34:21`, which results in a 'current timeslice' of `14:34:00` to `14:34:30` we also calculate/verify the codes for `14:33:30` to `14:34:00` and for `14:34:30` to `14:35:00`. This gives us a 'window' of `14:33:30` to `14:35:00`. The `$discrepancy` argument specifies how many periods (or: timeslices) we check in either direction of the current time. The default `$discrepancy` of `1` results in (max.) 3 period checks: -1, current and +1 period. A `$discrepancy` of `4` would result in a larger window (or: bigger time difference between client and server) of -4, -3, -2, -1, current, +1, +2, +3 and +4 periods.
+If you do extra validations with your `$_POST` values, just make sure the code is still submitted as string - even if that's a numeric code, casting it to integer is unreliable. Also, you may need to store `$secret` in a `$_SESSION` or other persistent storage between requests. `verifyCode()` will return either `true` (the code was valid) or `false` (the code was invalid; no points for you!).
+
+ The `verifyCode()` accepts, aside from `$secret` and `$code`, three more arguments, with the first being `$discrepancy`. Since TOTP codes are based on time("slices") it is very important that the server (but also client) have a correct date/time. But because the two *may* differ a bit we usually allow a certain amount of leeway. Because generated codes are valid for a specific period (remember the `$period` argument in the `TwoFactorAuth`'s constructor?) we usually check the period directly before and the period directly after the current time when validating codes. So when the current time is `14:34:21`, which results in a 'current timeslice' of `14:34:00` to `14:34:30` we also calculate/verify the codes for `14:33:30` to `14:34:00` and for `14:34:30` to `14:35:00`. This gives us a 'window' of `14:33:30` to `14:35:00`. The `$discrepancy` argument specifies how many periods (or: timeslices) we check in either direction of the current time. The default `$discrepancy` of `1` results in (max.) 3 period checks: -1, current and +1 period. A `$discrepancy` of `4` would result in a larger window (or: bigger time difference between client and server) of -4, -3, -2, -1, current, +1, +2, +3 and +4 periods.
 
 The second, `$time`, allows you to check a code for a specific point in time. This argument has no real practical use but can be handy for unittesting etc. The default value, `null`, means: use the current time.
 
@@ -105,10 +115,10 @@
 
 ````php
 public function __construct(
-    $issuer = null, 
+    $issuer = null,
     $digits = 6,
-    $period = 30, 
-    $algorithm = 'sha1', 
+    $period = 30,
+    $algorithm = 'sha1',
     RobThree\Auth\Providers\Qr\IQRCodeProvider $qrcodeprovider = null,
     RobThree\Auth\Providers\Rng\IRNGProvider $rngprovider = null
 );
@@ -119,9 +129,9 @@
 
 ### QR-code providers
 
-As mentioned before, this library comes with three 'built-in' QR-code providers. This chapter will touch the subject a bit but most of it should be self-explanatory. The `TwoFactorAuth`-class accepts a `$qrcodeprovider` argument which lets you specify a built-in or custom QR-code provider. All three built-in providers do a simple HTTP request to retrieve an image using cURL and implement the [`IQRCodeProvider`](lib/Providers/Qr/IQRCodeProvider.php) interface which is all you need to implement to write your own QR-code provider.
+As mentioned before, this library comes with five 'built-in' QR-code providers. This chapter will touch the subject a bit but most of it should be self-explanatory. The `TwoFactorAuth`-class accepts a `$qrcodeprovider` argument which lets you specify a built-in or custom QR-code provider. All five built-in providers do a simple HTTP request to retrieve an image using cURL and implement the [`IQRCodeProvider`](lib/Providers/Qr/IQRCodeProvider.php) interface which is all you need to implement to write your own QR-code provider.
 
-The default provider is the [`ImageChartsQRCodeProvider`](lib/Providers/Qr/ImageChartsQRCodeProvider.php) which uses the [image-charts.com replacement for Google Image Charts](https://image-charts.com) to render QR-codes. Then we have the [`QRServerProvider`](lib/Providers/Qr/QRServerProvider.php) which uses the [goqr.me API](http://goqr.me/api/doc/create-qr-code/) and finally we have the [`QRicketProvider`](lib/Providers/Qr/QRicketProvider.php) which uses the [QRickit API](http://qrickit.com/qrickit_apps/qrickit_api.php). All three inherit from a common (abstract) baseclass named [`BaseHTTPQRCodeProvider`](lib/Providers/Qr/BaseHTTPQRCodeProvider.php) because all three share the same functionality: retrieve an image from a 3rd party over HTTP. All three classes have constructors that allow you to tweak some settings and most, if not all, arguments should speak for themselves. If you're not sure which values are supported, click the links in this paragraph for documentation on the API's that are utilized by these classes.
+The default provider is the [`QRServerProvider`](lib/Providers/Qr/QRServerProvider.php) which uses the [goqr.me API](http://goqr.me/api/doc/create-qr-code/) to render QR-codes. Then we have the [`ImageChartsQRCodeProvider`](lib/Providers/Qr/ImageChartsQRCodeProvider.php) which uses the [image-charts.com replacement for Google Image Charts](https://image-charts.com) to render QR-codes and the [`QRicketProvider`](lib/Providers/Qr/QRicketProvider.php) which uses the [QRickit API](http://qrickit.com/qrickit_apps/qrickit_api.php). These three providers all inherit from a common (abstract) baseclass named [`BaseHTTPQRCodeProvider`](lib/Providers/Qr/BaseHTTPQRCodeProvider.php) because all three share the same functionality: retrieve an image from a 3rd party over HTTP. Finally, we have [`EndroidQrCodeProvider`](lib/Providers/Qr/EndroidQrCodeProvider.php), [`EndroidQrCodeWithLogoProvider`](lib/Providers/Qr/EndroidQrCodeWithLogoProvider.php) and [`BaconQrCodeProvider`](lib/Providers/Qr/BaconQrCodeProvider.php) which require an optional dependency to be installed to use (see Requirements section above), but will generate the QR codes locally. All five classes have constructors that allow you to tweak some settings and most, if not all, arguments should speak for themselves. If you're not sure which values are supported, click the links in this paragraph for documentation on the API's that are utilized by these classes.
 
 If you don't like any of the built-in classes because you don't want to rely on external resources for example or because you're paranoid about sending the TOTP secret to these 3rd parties (which is useless to them since they miss *at least one* other factor in the [MFA process](http://en.wikipedia.org/wiki/Multi-factor_authentication)), feel tree to implement your own. The `IQRCodeProvider` interface couldn't be any simpler. All you need to do is implement 2 methods:
 
@@ -148,7 +158,7 @@
   public function getMimeType() {
     return 'image/png';                             // This provider only returns PNG's
   }
-  
+
   public function getQRCodeImage($qrtext, $size) {
     ob_start();                                     // 'Catch' QRCode's output
     QRCode::png($qrtext, null, QR_ECLEVEL_L, 3, 4); // We ignore $size and set it to 3
@@ -190,7 +200,7 @@
 
 ## Integrations
 
-- [CakePHP 3](https://github.com/andrej-griniuk/cakephp-two-factor-auth) 
+- [CakePHP 3](https://github.com/andrej-griniuk/cakephp-two-factor-auth)
 
 ## License
 
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/composer.json
index 50f8b86..847b2f8 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/composer.json
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/composer.json
@@ -1,7 +1,7 @@
 {
     "name": "robthree/twofactorauth",
     "description": "Two Factor Authentication",
-    "version": "1.7.0",
+    "version": "1.8.0",
     "type": "library",
     "keywords": [ "Authentication", "Two Factor Authentication", "Multi Factor Authentication", "TFA", "MFA", "PHP", "Authenticator", "Authy" ],
     "homepage": "https://github.com/RobThree/TwoFactorAuth",
@@ -21,7 +21,12 @@
         "php": ">=5.6.0"
     },
     "require-dev": {
-        "phpunit/phpunit": "@stable"
+        "phpunit/phpunit": "@stable",
+        "php-parallel-lint/php-parallel-lint": "^1.2"
+    },
+    "suggest": {
+        "bacon/bacon-qr-code": "Needed for BaconQrCodeProvider provider",
+        "endroid/qr-code": "Needed for EndroidQrCodeProvider"
     },
     "autoload": {
         "psr-4": {
@@ -30,7 +35,15 @@
     },
     "autoload-dev": {
         "psr-4": {
-            "RobThree\\Auth\\Test\\": "tests"
+            "Tests\\": "tests/"
         }
+    },
+    "scripts": {
+        "lint": [
+            "parallel-lint --exclude vendor ."
+        ],
+        "test": [
+            "XDEBUG_MODE=coverage phpunit"
+        ]
     }
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/composer.lock b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/composer.lock
deleted file mode 100644
index 63df937..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/composer.lock
+++ /dev/null
@@ -1,980 +0,0 @@
-{
-    "_readme": [
-        "This file locks the dependencies of your project to a known state",
-        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
-        "This file is @generated automatically"
-    ],
-    "content-hash": "9647de85f54ba6db237f5ff42ff85a1f",
-    "packages": [],
-    "packages-dev": [
-        {
-            "name": "doctrine/instantiator",
-            "version": "1.0.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/instantiator.git",
-                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
-                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3,<8.0-DEV"
-            },
-            "require-dev": {
-                "athletic/athletic": "~0.1.8",
-                "ext-pdo": "*",
-                "ext-phar": "*",
-                "phpunit/phpunit": "~4.0",
-                "squizlabs/php_codesniffer": "~2.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Marco Pivetta",
-                    "email": "ocramius@gmail.com",
-                    "homepage": "http://ocramius.github.com/"
-                }
-            ],
-            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-            "homepage": "https://github.com/doctrine/instantiator",
-            "keywords": [
-                "constructor",
-                "instantiate"
-            ],
-            "time": "2015-06-14T21:17:01+00:00"
-        },
-        {
-            "name": "phpdocumentor/reflection-docblock",
-            "version": "2.0.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
-                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "suggest": {
-                "dflydev/markdown": "~1.0",
-                "erusev/parsedown": "~1.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "phpDocumentor": [
-                        "src/"
-                    ]
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Mike van Riel",
-                    "email": "mike.vanriel@naenius.com"
-                }
-            ],
-            "time": "2015-02-03T12:10:50+00:00"
-        },
-        {
-            "name": "phpspec/prophecy",
-            "version": "v1.6.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpspec/prophecy.git",
-                "reference": "6c52c2722f8460122f96f86346600e1077ce22cb"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/6c52c2722f8460122f96f86346600e1077ce22cb",
-                "reference": "6c52c2722f8460122f96f86346600e1077ce22cb",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "php": "^5.3|^7.0",
-                "phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
-                "sebastian/comparator": "^1.1",
-                "sebastian/recursion-context": "^1.0|^2.0"
-            },
-            "require-dev": {
-                "phpspec/phpspec": "^2.0",
-                "phpunit/phpunit": "^4.8 || ^5.6.5"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.6.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Prophecy\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                },
-                {
-                    "name": "Marcello Duarte",
-                    "email": "marcello.duarte@gmail.com"
-                }
-            ],
-            "description": "Highly opinionated mocking framework for PHP 5.3+",
-            "homepage": "https://github.com/phpspec/prophecy",
-            "keywords": [
-                "Double",
-                "Dummy",
-                "fake",
-                "mock",
-                "spy",
-                "stub"
-            ],
-            "time": "2016-11-21T14:58:47+00:00"
-        },
-        {
-            "name": "phpunit/php-code-coverage",
-            "version": "2.2.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
-                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "phpunit/php-file-iterator": "~1.3",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-token-stream": "~1.3",
-                "sebastian/environment": "^1.3.2",
-                "sebastian/version": "~1.0"
-            },
-            "require-dev": {
-                "ext-xdebug": ">=2.1.4",
-                "phpunit/phpunit": "~4"
-            },
-            "suggest": {
-                "ext-dom": "*",
-                "ext-xdebug": ">=2.2.1",
-                "ext-xmlwriter": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-            "keywords": [
-                "coverage",
-                "testing",
-                "xunit"
-            ],
-            "time": "2015-10-06T15:47:00+00:00"
-        },
-        {
-            "name": "phpunit/php-file-iterator",
-            "version": "1.4.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
-                "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-            "keywords": [
-                "filesystem",
-                "iterator"
-            ],
-            "time": "2016-10-03T07:40:28+00:00"
-        },
-        {
-            "name": "phpunit/php-text-template",
-            "version": "1.2.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Simple template engine.",
-            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-            "keywords": [
-                "template"
-            ],
-            "time": "2015-06-21T13:50:34+00:00"
-        },
-        {
-            "name": "phpunit/php-timer",
-            "version": "1.0.8",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
-                "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4|~5"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Utility class for timing",
-            "homepage": "https://github.com/sebastianbergmann/php-timer/",
-            "keywords": [
-                "timer"
-            ],
-            "time": "2016-05-12T18:03:57+00:00"
-        },
-        {
-            "name": "phpunit/php-token-stream",
-            "version": "1.4.9",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-                "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3b402f65a4cc90abf6e1104e388b896ce209631b",
-                "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b",
-                "shasum": ""
-            },
-            "require": {
-                "ext-tokenizer": "*",
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Wrapper around PHP's tokenizer extension.",
-            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-            "keywords": [
-                "tokenizer"
-            ],
-            "time": "2016-11-15T14:06:22+00:00"
-        },
-        {
-            "name": "phpunit/phpunit",
-            "version": "4.8.35",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87",
-                "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-json": "*",
-                "ext-pcre": "*",
-                "ext-reflection": "*",
-                "ext-spl": "*",
-                "php": ">=5.3.3",
-                "phpspec/prophecy": "^1.3.1",
-                "phpunit/php-code-coverage": "~2.1",
-                "phpunit/php-file-iterator": "~1.4",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-timer": "^1.0.6",
-                "phpunit/phpunit-mock-objects": "~2.3",
-                "sebastian/comparator": "~1.2.2",
-                "sebastian/diff": "~1.2",
-                "sebastian/environment": "~1.3",
-                "sebastian/exporter": "~1.2",
-                "sebastian/global-state": "~1.0",
-                "sebastian/version": "~1.0",
-                "symfony/yaml": "~2.1|~3.0"
-            },
-            "suggest": {
-                "phpunit/php-invoker": "~1.1"
-            },
-            "bin": [
-                "phpunit"
-            ],
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "4.8.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "The PHP Unit Testing framework.",
-            "homepage": "https://phpunit.de/",
-            "keywords": [
-                "phpunit",
-                "testing",
-                "xunit"
-            ],
-            "time": "2017-02-06T05:18:07+00:00"
-        },
-        {
-            "name": "phpunit/phpunit-mock-objects",
-            "version": "2.3.8",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
-                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "php": ">=5.3.3",
-                "phpunit/php-text-template": "~1.2",
-                "sebastian/exporter": "~1.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "suggest": {
-                "ext-soap": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Mock Object library for PHPUnit",
-            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-            "keywords": [
-                "mock",
-                "xunit"
-            ],
-            "time": "2015-10-02T06:51:40+00:00"
-        },
-        {
-            "name": "sebastian/comparator",
-            "version": "1.2.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
-                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/diff": "~1.2",
-                "sebastian/exporter": "~1.2 || ~2.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides the functionality to compare PHP values for equality",
-            "homepage": "http://www.github.com/sebastianbergmann/comparator",
-            "keywords": [
-                "comparator",
-                "compare",
-                "equality"
-            ],
-            "time": "2017-01-29T09:50:25+00:00"
-        },
-        {
-            "name": "sebastian/diff",
-            "version": "1.4.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
-                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.8"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Kore Nordmann",
-                    "email": "mail@kore-nordmann.de"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Diff implementation",
-            "homepage": "https://github.com/sebastianbergmann/diff",
-            "keywords": [
-                "diff"
-            ],
-            "time": "2015-12-08T07:14:41+00:00"
-        },
-        {
-            "name": "sebastian/environment",
-            "version": "1.3.8",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
-                "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^5.3.3 || ^7.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^4.8 || ^5.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides functionality to handle HHVM/PHP environments",
-            "homepage": "http://www.github.com/sebastianbergmann/environment",
-            "keywords": [
-                "Xdebug",
-                "environment",
-                "hhvm"
-            ],
-            "time": "2016-08-18T05:49:44+00:00"
-        },
-        {
-            "name": "sebastian/exporter",
-            "version": "1.2.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
-                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/recursion-context": "~1.0"
-            },
-            "require-dev": {
-                "ext-mbstring": "*",
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides the functionality to export PHP variables for visualization",
-            "homepage": "http://www.github.com/sebastianbergmann/exporter",
-            "keywords": [
-                "export",
-                "exporter"
-            ],
-            "time": "2016-06-17T09:04:28+00:00"
-        },
-        {
-            "name": "sebastian/global-state",
-            "version": "1.1.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
-                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "suggest": {
-                "ext-uopz": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Snapshotting of global state",
-            "homepage": "http://www.github.com/sebastianbergmann/global-state",
-            "keywords": [
-                "global state"
-            ],
-            "time": "2015-10-12T03:26:01+00:00"
-        },
-        {
-            "name": "sebastian/recursion-context",
-            "version": "1.0.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/recursion-context.git",
-                "reference": "913401df809e99e4f47b27cdd781f4a258d58791"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
-                "reference": "913401df809e99e4f47b27cdd781f4a258d58791",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides functionality to recursively process PHP variables",
-            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
-            "time": "2015-11-11T19:50:13+00:00"
-        },
-        {
-            "name": "sebastian/version",
-            "version": "1.0.6",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "shasum": ""
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-            "homepage": "https://github.com/sebastianbergmann/version",
-            "time": "2015-06-21T13:59:46+00:00"
-        },
-        {
-            "name": "symfony/yaml",
-            "version": "v2.8.17",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/yaml.git",
-                "reference": "322a8c2dfbca15ad6b1b27e182899f98ec0e0153"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/yaml/zipball/322a8c2dfbca15ad6b1b27e182899f98ec0e0153",
-                "reference": "322a8c2dfbca15ad6b1b27e182899f98ec0e0153",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.8-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Yaml\\": ""
-                },
-                "exclude-from-classmap": [
-                    "/Tests/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Yaml Component",
-            "homepage": "https://symfony.com",
-            "time": "2017-01-21T16:40:50+00:00"
-        }
-    ],
-    "aliases": [],
-    "minimum-stability": "stable",
-    "stability-flags": {
-        "phpunit/phpunit": 0
-    },
-    "prefer-stable": false,
-    "prefer-lowest": false,
-    "platform": {
-        "php": ">=5.3.0"
-    },
-    "platform-dev": []
-}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/BaconQrCodeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/BaconQrCodeProvider.php
new file mode 100644
index 0000000..4d5cf01
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/BaconQrCodeProvider.php
@@ -0,0 +1,152 @@
+<?php
+
+namespace RobThree\Auth\Providers\Qr;
+
+use BaconQrCode\Writer;
+use BaconQrCode\Renderer\ImageRenderer;
+use BaconQrCode\Renderer\RendererStyle\RendererStyle;
+use BaconQrCode\Renderer\RendererStyle\Fill;
+use BaconQrCode\Renderer\Color\Rgb;
+use BaconQrCode\Renderer\RendererStyle\EyeFill;
+
+use BaconQrCode\Renderer\Image\EpsImageBackEnd;
+use BaconQrCode\Renderer\Image\ImageBackEndInterface;
+use BaconQrCode\Renderer\Image\ImagickImageBackEnd;
+use BaconQrCode\Renderer\Image\SvgImageBackEnd;
+
+class BaconQrCodeProvider implements IQRCodeProvider
+{
+    private $borderWidth = 4; // default from Bacon QR Code
+    private $backgroundColour;
+    private $foregroundColour;
+    private $format;
+
+    /**
+     * Ensure we using the latest Bacon QR Code and specify default options
+     *
+     * @param int $borderWidth space around the QR code, 4 is the default from Bacon QR Code
+     * @param string $backgroundColour hex reference for the background colour
+     * @param string $foregroundColour hex reference for the foreground colour
+     * @param string $format the desired output, png or svg
+     */
+    public function __construct($borderWidth = 4, $backgroundColour = '#ffffff', $foregroundColour = '#000000', $format = 'png')
+    {
+        if (! class_exists(ImagickImageBackEnd::class)) {
+            throw new \RuntimeException('Make sure you are using version 2 of Bacon QR Code');
+        }
+
+        $this->borderWidth = $borderWidth;
+        $this->backgroundColour = $this->handleColour($backgroundColour);
+        $this->foregroundColour = $this->handleColour($foregroundColour);
+        $this->format = strtolower($format);
+    }
+
+    /**
+     * Standard functions from IQRCodeProvider
+     */
+
+    public function getMimeType()
+    {
+        switch ($this->format) {
+            case 'png':
+                return 'image/png';
+            case 'gif':
+                return 'image/gif';
+            case 'jpg':
+            case 'jpeg':
+                return 'image/jpeg';
+            case 'svg':
+                return 'image/svg+xml';
+            case 'eps':
+                return 'application/postscript';
+        }
+
+        throw new \RuntimeException(sprintf('Unknown MIME-type: %s', $this->format));
+    }
+
+    public function getQRCodeImage($qrText, $size)
+    {
+        switch ($this->format) {
+            case 'svg':
+                $backend = new SvgImageBackEnd;
+                break;
+            case 'eps':
+                $backend = new EpsImageBackEnd;
+                break;
+            default:
+                $backend = new ImagickImageBackEnd($this->format);
+        }
+
+        $output = $this->getQRCodeByBackend($qrText, $size, $backend);
+
+        if ($this->format == 'svg') {
+            $svg = explode("\n", $output);
+            return $svg[1];
+        }
+
+        return $output;
+    }
+
+    /**
+     * Abstract QR code generation function
+     * providing colour changing support
+     */
+    private function getQRCodeByBackend($qrText, $size, ImageBackEndInterface $backend)
+    {
+        $rendererStyleArgs = array($size, $this->borderWidth);
+
+        if (is_array($this->foregroundColour) && is_array($this->backgroundColour)) {
+            $rendererStyleArgs = array_merge($rendererStyleArgs, array(
+                null,
+                null,
+                Fill::withForegroundColor(
+                    new Rgb(...$this->backgroundColour),
+                    new Rgb(...$this->foregroundColour),
+                    new EyeFill(null, null),
+                    new EyeFill(null, null),
+                    new EyeFill(null, null)
+                )
+            ));
+        }
+
+        $writer = new Writer(new ImageRenderer(
+            new RendererStyle(...$rendererStyleArgs),
+            $backend
+        ));
+
+        return $writer->writeString($qrText);
+    }
+
+    /**
+     * Ensure colour is an array of three values but also
+     * accept a string and assume its a 3 or 6 character hex
+     */
+    private function handleColour($colour)
+    {
+        if (is_string($colour) && $colour[0] == '#') {
+            $hexToRGB = function ($input) {
+                // split the array into three chunks
+                $split = str_split(trim($input, '#'), strlen($input) / 3);
+
+                // cope with three character hex reference
+                // three characters plus a # = 4
+                if (strlen($input) == 4) {
+                    array_walk($split, function (&$character) {
+                        $character = str_repeat($character, 2);
+                    });
+                }
+
+                // convert hex to rgb
+                return array_map('hexdec', $split);
+            };
+
+            return $hexToRGB($colour);
+        }
+
+        if (is_array($colour) && count($colour) == 3) {
+            return $colour;
+        }
+
+        throw new \RuntimeException('Invalid colour value');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php
index 5cb3add..bcc8d56 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php
@@ -4,12 +4,18 @@
 
 abstract class BaseHTTPQRCodeProvider implements IQRCodeProvider
 {
+    /** @var bool */
     protected $verifyssl;
 
+    /**
+     * @param string $url
+     *
+     * @return string|bool
+     */
     protected function getContent($url)
     {
         $curlhandle = curl_init();
-        
+
         curl_setopt_array($curlhandle, array(
             CURLOPT_URL => $url,
             CURLOPT_RETURNTRANSFER => true,
@@ -20,8 +26,8 @@
             CURLOPT_USERAGENT => 'TwoFactorAuth'
         ));
         $data = curl_exec($curlhandle);
-        
+
         curl_close($curlhandle);
         return $data;
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeProvider.php
new file mode 100755
index 0000000..810aa9b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeProvider.php
@@ -0,0 +1,70 @@
+<?php
+namespace RobThree\Auth\Providers\Qr;
+
+use Endroid\QrCode\ErrorCorrectionLevel;
+use Endroid\QrCode\QrCode;
+
+class EndroidQrCodeProvider implements IQRCodeProvider
+{
+    public $bgcolor;
+    public $color;
+    public $margin;
+    public $errorcorrectionlevel;
+
+    public function __construct($bgcolor = 'ffffff', $color = '000000', $margin = 0, $errorcorrectionlevel = 'H')
+    {
+        $this->bgcolor = $this->handleColor($bgcolor);
+        $this->color = $this->handleColor($color);
+        $this->margin = $margin;
+        $this->errorcorrectionlevel = $this->handleErrorCorrectionLevel($errorcorrectionlevel);
+    }
+
+    public function getMimeType()
+    {
+        return 'image/png';
+    }
+
+    public function getQRCodeImage($qrtext, $size)
+    {
+        return $this->qrCodeInstance($qrtext, $size)->writeString();
+    }
+
+    protected function qrCodeInstance($qrtext, $size)
+    {
+        $qrCode = new QrCode($qrtext);
+        $qrCode->setSize($size);
+
+        $qrCode->setErrorCorrectionLevel($this->errorcorrectionlevel);
+        $qrCode->setMargin($this->margin);
+        $qrCode->setBackgroundColor($this->bgcolor);
+        $qrCode->setForegroundColor($this->color);
+
+        return $qrCode;
+    }
+
+    private function handleColor($color)
+    {
+        $split = str_split($color, 2);
+        $r = hexdec($split[0]);
+        $g = hexdec($split[1]);
+        $b = hexdec($split[2]);
+
+        return ['r' => $r, 'g' => $g, 'b' => $b, 'a' => 0];
+    }
+
+    private function handleErrorCorrectionLevel($level)
+    {
+        switch ($level) {
+            case 'L':
+                return ErrorCorrectionLevel::LOW();
+            case 'M':
+                return ErrorCorrectionLevel::MEDIUM();
+            case 'Q':
+                return ErrorCorrectionLevel::QUARTILE();
+            case 'H':
+                return ErrorCorrectionLevel::HIGH();
+            default:
+                return ErrorCorrectionLevel::HIGH();
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeWithLogoProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeWithLogoProvider.php
new file mode 100755
index 0000000..ed8cc98
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/EndroidQrCodeWithLogoProvider.php
@@ -0,0 +1,35 @@
+<?php
+namespace RobThree\Auth\Providers\Qr;
+
+use Endroid\QrCode\ErrorCorrectionLevel;
+use Endroid\QrCode\QrCode;
+
+class EndroidQrCodeWithLogoProvider extends EndroidQrCodeProvider
+{
+    protected $logoPath;
+    protected $logoSize;
+
+    /**
+     * Adds an image to the middle of the QR Code.
+     * @param string $path Path to an image file
+     * @param array|int $size Just the width, or [width, height]
+     */
+    public function setLogo($path, $size = null)
+    {
+        $this->logoPath = $path;
+        $this->logoSize = (array)$size;
+    }
+
+    protected function qrCodeInstance($qrtext, $size) {
+        $qrCode = parent::qrCodeInstance($qrtext, $size);
+
+        if ($this->logoPath) {
+            $qrCode->setLogoPath($this->logoPath);
+            if ($this->logoSize) {
+                $qrCode->setLogoSize($this->logoSize[0], $this->logoSize[1]);
+            }
+        }
+
+        return $qrCode;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php
index 83ed67b..e53a5ad 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php
@@ -4,6 +4,21 @@
 
 interface IQRCodeProvider
 {
+    /**
+     * Generate and return the QR code to embed in a web page
+     *
+     * @param string $qrtext the value to encode in the QR code
+     * @param int $size the desired size of the QR code
+     *
+     * @return string file contents of the QR code
+     */
     public function getQRCodeImage($qrtext, $size);
+
+    /**
+     * Returns the appropriate mime type for the QR code
+     * that will be generated
+     *
+     * @return string
+     */
     public function getMimeType();
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/ImageChartsQRCodeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/ImageChartsQRCodeProvider.php
index cc094c3..ea46ed4 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/ImageChartsQRCodeProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/ImageChartsQRCodeProvider.php
@@ -3,37 +3,58 @@
 namespace RobThree\Auth\Providers\Qr;
 
 // https://image-charts.com
-class ImageChartsQRCodeProvider extends BaseHTTPQRCodeProvider 
+class ImageChartsQRCodeProvider extends BaseHTTPQRCodeProvider
 {
+    /** @var string */
     public $errorcorrectionlevel;
+
+    /** @var int */
     public $margin;
 
-    function __construct($verifyssl = false, $errorcorrectionlevel = 'L', $margin = 1) 
+    /**
+     * @param bool $verifyssl
+     * @param string $errorcorrectionlevel
+     * @param int $margin
+     */
+    public function __construct($verifyssl = false, $errorcorrectionlevel = 'L', $margin = 1)
     {
-        if (!is_bool($verifyssl))
-            throw new \QRException('VerifySSL must be bool');
+        if (!is_bool($verifyssl)) {
+            throw new QRException('VerifySSL must be bool');
+        }
 
         $this->verifyssl = $verifyssl;
-        
+
         $this->errorcorrectionlevel = $errorcorrectionlevel;
         $this->margin = $margin;
     }
-    
-    public function getMimeType() 
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getMimeType()
     {
         return 'image/png';
     }
-    
-    public function getQRCodeImage($qrtext, $size) 
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getQRCodeImage($qrtext, $size)
     {
         return $this->getContent($this->getUrl($qrtext, $size));
     }
-    
-    public function getUrl($qrtext, $size) 
+
+    /**
+     * @param string $qrtext the value to encode in the QR code
+     * @param int $size the desired size of the QR code
+     *
+     * @return string file contents of the QR code
+     */
+    public function getUrl($qrtext, $size)
     {
         return 'https://image-charts.com/chart?cht=qr'
-            . '&chs=' . ceil($size/2) . 'x' . ceil($size/2)
+            . '&chs=' . ceil($size / 2) . 'x' . ceil($size / 2)
             . '&chld=' . $this->errorcorrectionlevel . '|' . $this->margin
             . '&chl=' . rawurlencode($qrtext);
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRException.php
index c28e829..4e75f77 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRException.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRException.php
@@ -1,5 +1,7 @@
 <?php
 
+namespace RobThree\Auth\Providers\Qr;
+
 use RobThree\Auth\TwoFactorAuthException;
 
-class QRException extends TwoFactorAuthException {}
\ No newline at end of file
+class QRException extends TwoFactorAuthException {}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRServerProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRServerProvider.php
index 928b87b..2252dfc 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRServerProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRServerProvider.php
@@ -3,22 +3,43 @@
 namespace RobThree\Auth\Providers\Qr;
 
 // http://goqr.me/api/doc/create-qr-code/
-class QRServerProvider extends BaseHTTPQRCodeProvider 
+class QRServerProvider extends BaseHTTPQRCodeProvider
 {
+    /** @var string */
     public $errorcorrectionlevel;
+
+    /** @var int */
     public $margin;
+
+    /** @var int */
     public $qzone;
+
+    /** @var string */
     public $bgcolor;
+
+    /** @var string */
     public $color;
+
+    /** @var string */
     public $format;
 
-    function __construct($verifyssl = false, $errorcorrectionlevel = 'L', $margin = 4, $qzone = 1, $bgcolor = 'ffffff', $color = '000000', $format = 'png') 
+    /**
+     * @param bool $verifyssl
+     * @param string $errorcorrectionlevel
+     * @param int $margin
+     * @param int $qzone
+     * @param string $bgcolor
+     * @param string $color
+     * @param string $format
+     */
+    public function __construct($verifyssl = false, $errorcorrectionlevel = 'L', $margin = 4, $qzone = 1, $bgcolor = 'ffffff', $color = '000000', $format = 'png')
     {
-        if (!is_bool($verifyssl))
+        if (!is_bool($verifyssl)) {
             throw new QRException('VerifySSL must be bool');
+        }
 
         $this->verifyssl = $verifyssl;
-        
+
         $this->errorcorrectionlevel = $errorcorrectionlevel;
         $this->margin = $margin;
         $this->qzone = $qzone;
@@ -26,37 +47,53 @@
         $this->color = $color;
         $this->format = $format;
     }
-    
-    public function getMimeType() 
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getMimeType()
     {
-        switch (strtolower($this->format))
-        {
-        	case 'png':
+        switch (strtolower($this->format)) {
+            case 'png':
                 return 'image/png';
-        	case 'gif':
+            case 'gif':
                 return 'image/gif';
-        	case 'jpg':
-        	case 'jpeg':
+            case 'jpg':
+            case 'jpeg':
                 return 'image/jpeg';
-        	case 'svg':
+            case 'svg':
                 return 'image/svg+xml';
-        	case 'eps':
+            case 'eps':
                 return 'application/postscript';
         }
-        throw new \QRException(sprintf('Unknown MIME-type: %s', $this->format));
+        throw new QRException(sprintf('Unknown MIME-type: %s', $this->format));
     }
-    
-    public function getQRCodeImage($qrtext, $size) 
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getQRCodeImage($qrtext, $size)
     {
         return $this->getContent($this->getUrl($qrtext, $size));
     }
-    
-    private function decodeColor($value) 
+
+    /**
+     * @param string $value
+     *
+     * @return string
+     */
+    private function decodeColor($value)
     {
         return vsprintf('%d-%d-%d', sscanf($value, "%02x%02x%02x"));
     }
-    
-    public function getUrl($qrtext, $size) 
+
+    /**
+     * @param string $qrtext the value to encode in the QR code
+     * @param int|string $size the desired size of the QR code
+     *
+     * @return string file contents of the QR code
+     */
+    public function getUrl($qrtext, $size)
     {
         return 'https://api.qrserver.com/v1/create-qr-code/'
             . '?size=' . $size . 'x' . $size
@@ -68,4 +105,4 @@
             . '&format=' . strtolower($this->format)
             . '&data=' . rawurlencode($qrtext);
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php
index 59e27cc..166a8a9 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php
@@ -3,45 +3,67 @@
 namespace RobThree\Auth\Providers\Qr;
 
 // http://qrickit.com/qrickit_apps/qrickit_api.php
-class QRicketProvider extends BaseHTTPQRCodeProvider 
+class QRicketProvider extends BaseHTTPQRCodeProvider
 {
+    /** @var string */
     public $errorcorrectionlevel;
-    public $margin;
-    public $qzone;
+
+    /** @var string */
     public $bgcolor;
+
+    /** @var string */
     public $color;
+
+    /** @var string */
     public $format;
 
-    function __construct($errorcorrectionlevel = 'L', $bgcolor = 'ffffff', $color = '000000', $format = 'p') 
+    /**
+     * @param string $errorcorrectionlevel
+     * @param string $bgcolor
+     * @param string $color
+     * @param string $format
+     */
+    public function __construct($errorcorrectionlevel = 'L', $bgcolor = 'ffffff', $color = '000000', $format = 'p')
     {
         $this->verifyssl = false;
-        
+
         $this->errorcorrectionlevel = $errorcorrectionlevel;
         $this->bgcolor = $bgcolor;
         $this->color = $color;
         $this->format = $format;
     }
-    
-    public function getMimeType() 
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getMimeType()
     {
-        switch (strtolower($this->format))
-        {
-        	case 'p':
+        switch (strtolower($this->format)) {
+            case 'p':
                 return 'image/png';
-        	case 'g':
+            case 'g':
                 return 'image/gif';
-        	case 'j':
+            case 'j':
                 return 'image/jpeg';
         }
-        throw new \QRException(sprintf('Unknown MIME-type: %s', $this->format));
+        throw new QRException(sprintf('Unknown MIME-type: %s', $this->format));
     }
-    
-    public function getQRCodeImage($qrtext, $size) 
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getQRCodeImage($qrtext, $size)
     {
         return $this->getContent($this->getUrl($qrtext, $size));
     }
-    
-    public function getUrl($qrtext, $size) 
+
+    /**
+     * @param string $qrtext the value to encode in the QR code
+     * @param int|string $size the desired size of the QR code
+     *
+     * @return string file contents of the QR code
+     */
+    public function getUrl($qrtext, $size)
     {
         return 'http://qrickit.com/api/qr'
             . '?qrsize=' . $size
@@ -51,4 +73,4 @@
             . '&t=' . strtolower($this->format)
             . '&d=' . rawurlencode($qrtext);
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php
index 8dba7fc..088edab 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php
@@ -4,11 +4,19 @@
 
 class CSRNGProvider implements IRNGProvider
 {
-    public function getRandomBytes($bytecount) {
+    /**
+     * {@inheritdoc}
+     */
+    public function getRandomBytes($bytecount)
+    {
         return random_bytes($bytecount);    // PHP7+
     }
-    
-    public function isCryptographicallySecure() {
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isCryptographicallySecure()
+    {
         return true;
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/HashRNGProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/HashRNGProvider.php
index eb42577..d17a5f8 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/HashRNGProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/HashRNGProvider.php
@@ -1,28 +1,43 @@
 <?php
+
 namespace RobThree\Auth\Providers\Rng;
 
 class HashRNGProvider implements IRNGProvider
 {
+    /** @var string */
     private $algorithm;
-    
-    function __construct($algorithm = 'sha256' ) {
+
+    /**
+     * @param string $algorithm
+     */
+    public function __construct($algorithm = 'sha256')
+    {
         $algos = array_values(hash_algos());
-        if (!in_array($algorithm, $algos, true))
-            throw new \RNGException('Unsupported algorithm specified');
+        if (!in_array($algorithm, $algos, true)) {
+            throw new RNGException('Unsupported algorithm specified');
+        }
         $this->algorithm = $algorithm;
     }
-    
-    public function getRandomBytes($bytecount) {
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getRandomBytes($bytecount)
+    {
         $result = '';
         $hash = mt_rand();
         for ($i = 0; $i < $bytecount; $i++) {
-            $hash = hash($this->algorithm, $hash.mt_rand(), true);
-            $result .= $hash[mt_rand(0, strlen($hash)-1)];
+            $hash = hash($this->algorithm, $hash . mt_rand(), true);
+            $result .= $hash[mt_rand(0, strlen($hash) - 1)];
         }
         return $result;
     }
-    
-    public function isCryptographicallySecure() {
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isCryptographicallySecure()
+    {
         return false;
     }
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php
index 6be2800..e4e71c2 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php
@@ -4,6 +4,15 @@
 
 interface IRNGProvider
 {
+    /**
+     * @param int $bytecount the number of bytes of randomness to return
+     *
+     * @return string the random bytes
+     */
     public function getRandomBytes($bytecount);
+
+    /**
+     * @return bool whether this provider is cryptographically secure
+     */
     public function isCryptographicallySecure();
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/MCryptRNGProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/MCryptRNGProvider.php
index 0eeab2c..d1b6430 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/MCryptRNGProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/MCryptRNGProvider.php
@@ -4,20 +4,34 @@
 
 class MCryptRNGProvider implements IRNGProvider
 {
+    /** @var int */
     private $source;
-    
-    function __construct($source = MCRYPT_DEV_URANDOM) {
+
+    /**
+     * @param int $source
+     */
+    public function __construct($source = MCRYPT_DEV_URANDOM)
+    {
         $this->source = $source;
     }
-    
-    public function getRandomBytes($bytecount) {
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getRandomBytes($bytecount)
+    {
         $result = @mcrypt_create_iv($bytecount, $this->source);
-        if ($result === false)
-            throw new \RNGException('mcrypt_create_iv returned an invalid value');
+        if ($result === false) {
+            throw new RNGException('mcrypt_create_iv returned an invalid value');
+        }
         return $result;
     }
-    
-    public function isCryptographicallySecure() {
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isCryptographicallySecure()
+    {
         return true;
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php
index dc66c64..eb82b3b 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php
@@ -4,22 +4,37 @@
 
 class OpenSSLRNGProvider implements IRNGProvider
 {
+    /** @var bool */
     private $requirestrong;
-    
-    function __construct($requirestrong = true) {
+
+    /**
+     * @param bool $requirestrong
+     */
+    public function __construct($requirestrong = true)
+    {
         $this->requirestrong = $requirestrong;
     }
-    
-    public function getRandomBytes($bytecount) {
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getRandomBytes($bytecount)
+    {
         $result = openssl_random_pseudo_bytes($bytecount, $crypto_strong);
-        if ($this->requirestrong && ($crypto_strong === false))
-            throw new \RNGException('openssl_random_pseudo_bytes returned non-cryptographically strong value');
-        if ($result === false)
-            throw new \RNGException('openssl_random_pseudo_bytes returned an invalid value');
+        if ($this->requirestrong && ($crypto_strong === false)) {
+            throw new RNGException('openssl_random_pseudo_bytes returned non-cryptographically strong value');
+        }
+        if ($result === false) {
+            throw new RNGException('openssl_random_pseudo_bytes returned an invalid value');
+        }
         return $result;
     }
-    
-    public function isCryptographicallySecure() {
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isCryptographicallySecure()
+    {
         return $this->requirestrong;
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php
index eb5e913..f9a11ac 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php
@@ -1,5 +1,7 @@
 <?php
 
+namespace RobThree\Auth\Providers\Rng;
+
 use RobThree\Auth\TwoFactorAuthException;
 
-class RNGException extends TwoFactorAuthException {}
\ No newline at end of file
+class RNGException extends TwoFactorAuthException {}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php
index 8e7806e..c346e5a 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php
@@ -2,22 +2,33 @@
 
 namespace RobThree\Auth\Providers\Time;
 
+use DateTime;
+
 /**
  * Takes the time from any webserver by doing a HEAD request on the specified URL and extracting the 'Date:' header
  */
 class HttpTimeProvider implements ITimeProvider
 {
+    /** @var string */
     public $url;
-    public $options;
+
+    /** @var string */
     public $expectedtimeformat;
 
-    function __construct($url = 'https://google.com', $expectedtimeformat = 'D, d M Y H:i:s O+', array $options = null)
+    /** @var array */
+    public $options;
+
+    /**
+     * @param string $url
+     * @param string $expectedtimeformat
+     * @param array $options
+     */
+    public function __construct($url = 'https://google.com', $expectedtimeformat = 'D, d M Y H:i:s O+', array $options = null)
     {
         $this->url = $url;
         $this->expectedtimeformat = $expectedtimeformat;
-        $this->options = $options;
-        if ($this->options === null) {
-            $this->options = array(
+        if ($options === null) {
+            $options = array(
                 'http' => array(
                     'method' => 'HEAD',
                     'follow_location' => false,
@@ -32,9 +43,14 @@
                 )
             );
         }
+        $this->options = $options;
     }
 
-    public function getTime() {
+    /**
+     * {@inheritdoc}
+     */
+    public function getTime()
+    {
         try {
             $context  = stream_context_create($this->options);
             $fd = fopen($this->url, 'rb', false, $context);
@@ -42,13 +58,14 @@
             fclose($fd);
 
             foreach ($headers['wrapper_data'] as $h) {
-                if (strcasecmp(substr($h, 0, 5), 'Date:') === 0)
-                    return \DateTime::createFromFormat($this->expectedtimeformat, trim(substr($h,5)))->getTimestamp();
+                if (strcasecmp(substr($h, 0, 5), 'Date:') === 0) {
+                    return DateTime::createFromFormat($this->expectedtimeformat, trim(substr($h, 5)))->getTimestamp();
+                }
             }
-            throw new \TimeException(sprintf('Unable to retrieve time from %s (Invalid or no "Date:" header found)', $this->url));
+            throw new \Exception('Invalid or no "Date:" header found');
+        } catch (\Exception $ex) {
+            throw new TimeException(sprintf('Unable to retrieve time from %s (%s)', $this->url, $ex->getMessage()));
         }
-        catch (Exception $ex) {
-            throw new \TimeException(sprintf('Unable to retrieve time from %s (%s)', $this->url, $ex->getMessage()));
-        }
+
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php
index a3b87a2..4799f17 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php
@@ -4,5 +4,8 @@
 
 interface ITimeProvider
 {
+    /**
+     * @return int the current timestamp according to this provider
+     */
     public function getTime();
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/LocalMachineTimeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/LocalMachineTimeProvider.php
index 572cedc..2fe6846 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/LocalMachineTimeProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/LocalMachineTimeProvider.php
@@ -2,8 +2,10 @@
 
 namespace RobThree\Auth\Providers\Time;
 
-class LocalMachineTimeProvider implements ITimeProvider {
-    public function getTime() {
+class LocalMachineTimeProvider implements ITimeProvider
+{
+    public function getTime()
+    {
         return time();
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/NTPTimeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/NTPTimeProvider.php
index d69a3a6..a701850 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/NTPTimeProvider.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/NTPTimeProvider.php
@@ -7,24 +7,40 @@
  */
 class NTPTimeProvider implements ITimeProvider
 {
+    /** @var string */
     public $host;
+
+    /** @var int */
     public $port;
+
+    /** @var int */
     public $timeout;
 
-    function __construct($host = 'time.google.com', $port = 123, $timeout = 1)
+    /**
+     * @param string $host
+     * @param int $port
+     * @param int $timeout
+     */
+    public function __construct($host = 'time.google.com', $port = 123, $timeout = 1)
     {
         $this->host = $host;
 
-        if (!is_int($port) || $port <= 0 || $port > 65535)
-            throw new \TimeException('Port must be 0 < port < 65535');
+        if (!is_int($port) || $port <= 0 || $port > 65535) {
+            throw new TimeException('Port must be 0 < port < 65535');
+        }
         $this->port = $port;
 
-        if (!is_int($timeout) || $timeout < 0)
-            throw new \TimeException('Timeout must be >= 0');
+        if (!is_int($timeout) || $timeout < 0) {
+            throw new TimeException('Timeout must be >= 0');
+        }
         $this->timeout = $timeout;
     }
 
-    public function getTime() {
+    /**
+     * {@inheritdoc}
+     */
+    public function getTime()
+    {
         try {
             /* Create a socket and connect to NTP server */
             $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
@@ -36,19 +52,19 @@
             socket_send($sock, $msg, strlen($msg), 0);
 
             /* Receive response and close socket */
-            if (socket_recv($sock, $recv, 48, MSG_WAITALL) === false)
+            if (socket_recv($sock, $recv, 48, MSG_WAITALL) === false) {
                 throw new \Exception(socket_strerror(socket_last_error($sock)));
+            }
             socket_close($sock);
 
             /* Interpret response */
             $data = unpack('N12', $recv);
-            $timestamp = sprintf('%u', $data[9]);
+            $timestamp = (int) sprintf('%u', $data[9]);
 
             /* NTP is number of seconds since 0000 UT on 1 January 1900 Unix time is seconds since 0000 UT on 1 January 1970 */
             return $timestamp - 2208988800;
-        }
-        catch (Exception $ex) {
-            throw new \TimeException(sprintf('Unable to retrieve time from %s (%s)', $this->host, $ex->getMessage()));
+        } catch (\Exception $ex) {
+            throw new TimeException(sprintf('Unable to retrieve time from %s (%s)', $this->host, $ex->getMessage()));
         }
     }
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/TimeException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/TimeException.php
index 8de544d..c5a06e2 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/TimeException.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/Providers/Time/TimeException.php
@@ -1,5 +1,7 @@
 <?php
 
+namespace RobThree\Auth\Providers\Time;
+
 use RobThree\Auth\TwoFactorAuthException;
 
-class TimeException extends TwoFactorAuthException {}
\ No newline at end of file
+class TimeException extends TwoFactorAuthException {}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuth.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuth.php
index 7bc067d..c46ac17 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuth.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuth.php
@@ -1,40 +1,82 @@
 <?php
+
 namespace RobThree\Auth;
 
 use RobThree\Auth\Providers\Qr\IQRCodeProvider;
+use RobThree\Auth\Providers\Qr\QRServerProvider;
+use RobThree\Auth\Providers\Rng\CSRNGProvider;
+use RobThree\Auth\Providers\Rng\HashRNGProvider;
 use RobThree\Auth\Providers\Rng\IRNGProvider;
+use RobThree\Auth\Providers\Rng\MCryptRNGProvider;
+use RobThree\Auth\Providers\Rng\OpenSSLRNGProvider;
+use RobThree\Auth\Providers\Time\HttpTimeProvider;
 use RobThree\Auth\Providers\Time\ITimeProvider;
+use RobThree\Auth\Providers\Time\LocalMachineTimeProvider;
+use RobThree\Auth\Providers\Time\NTPTimeProvider;
 
 // Based on / inspired by: https://github.com/PHPGangsta/GoogleAuthenticator
 // Algorithms, digits, period etc. explained: https://github.com/google/google-authenticator/wiki/Key-Uri-Format
 class TwoFactorAuth
 {
+    /** @var string */
     private $algorithm;
+
+    /** @var int */
     private $period;
+
+    /** @var int */
     private $digits;
+
+    /** @var string */
     private $issuer;
+
+    /** @var ?IQRCodeProvider */
     private $qrcodeprovider = null;
+
+    /** @var ?IRNGProvider */
     private $rngprovider = null;
+
+    /** @var ?ITimeProvider */
     private $timeprovider = null;
+
+    /** @var string */
     private static $_base32dict = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=';
+
+    /** @var array */
     private static $_base32;
+
+    /** @var array */
     private static $_base32lookup = array();
+
+    /** @var array */
     private static $_supportedalgos = array('sha1', 'sha256', 'sha512', 'md5');
 
-    function __construct($issuer = null, $digits = 6, $period = 30, $algorithm = 'sha1', IQRCodeProvider $qrcodeprovider = null, IRNGProvider $rngprovider = null, ITimeProvider $timeprovider = null)
+    /**
+     * @param ?string $issuer
+     * @param int $digits
+     * @param int $period
+     * @param string $algorithm
+     * @param ?IQRCodeProvider $qrcodeprovider
+     * @param ?IRNGProvider $rngprovider
+     * @param ?ITimeProvider $timeprovider
+     */
+    public function __construct($issuer = null, $digits = 6, $period = 30, $algorithm = 'sha1', IQRCodeProvider $qrcodeprovider = null, IRNGProvider $rngprovider = null, ITimeProvider $timeprovider = null)
     {
         $this->issuer = $issuer;
-        if (!is_int($digits) || $digits <= 0)
+        if (!is_int($digits) || $digits <= 0) {
             throw new TwoFactorAuthException('Digits must be int > 0');
+        }
         $this->digits = $digits;
 
-        if (!is_int($period) || $period <= 0)
+        if (!is_int($period) || $period <= 0) {
             throw new TwoFactorAuthException('Period must be int > 0');
+        }
         $this->period = $period;
 
         $algorithm = strtolower(trim($algorithm));
-        if (!in_array($algorithm, self::$_supportedalgos))
+        if (!in_array($algorithm, self::$_supportedalgos)) {
             throw new TwoFactorAuthException('Unsupported algorithm: ' . $algorithm);
+        }
         $this->algorithm = $algorithm;
         $this->qrcodeprovider = $qrcodeprovider;
         $this->rngprovider = $rngprovider;
@@ -46,22 +88,34 @@
 
     /**
      * Create a new secret
+     *
+     * @param int $bits
+     * @param bool $requirecryptosecure
+     *
+     * @return string
      */
     public function createSecret($bits = 80, $requirecryptosecure = true)
     {
         $secret = '';
-        $bytes = ceil($bits / 5);   //We use 5 bits of each byte (since we have a 32-character 'alphabet' / BASE32)
-        $rngprovider = $this->getRngprovider();
-        if ($requirecryptosecure && !$rngprovider->isCryptographicallySecure())
+        $bytes = (int) ceil($bits / 5);   //We use 5 bits of each byte (since we have a 32-character 'alphabet' / BASE32)
+        $rngprovider = $this->getRngProvider();
+        if ($requirecryptosecure && !$rngprovider->isCryptographicallySecure()) {
             throw new TwoFactorAuthException('RNG provider is not cryptographically secure');
+        }
         $rnd = $rngprovider->getRandomBytes($bytes);
-        for ($i = 0; $i < $bytes; $i++)
+        for ($i = 0; $i < $bytes; $i++) {
             $secret .= self::$_base32[ord($rnd[$i]) & 31];  //Mask out left 3 bits for 0-31 values
+        }
         return $secret;
     }
 
     /**
      * Calculate the code with given secret and point in time
+     *
+     * @param string $secret
+     * @param ?int $time
+     *
+     * @return string
      */
     public function getCode($secret, $time = null)
     {
@@ -73,15 +127,23 @@
         $value = unpack('N', $hashpart);                                                   // Unpack binary value
         $value = $value[1] & 0x7FFFFFFF;                                                   // Drop MSB, keep only 31 bits
 
-        return str_pad($value % pow(10, $this->digits), $this->digits, '0', STR_PAD_LEFT);
+        return str_pad((string) ($value % pow(10, $this->digits)), $this->digits, '0', STR_PAD_LEFT);
     }
 
     /**
      * Check if the code is correct. This will accept codes starting from ($discrepancy * $period) sec ago to ($discrepancy * period) sec from now
+     *
+     * @param string $secret
+     * @param string $code
+     * @param int $discrepancy
+     * @param ?int $time
+     * @param int $timeslice
+     *
+     * @return bool
      */
     public function verifyCode($secret, $code, $discrepancy = 1, $time = null, &$timeslice = 0)
     {
-        $timetamp = $this->getTime($time);
+        $timestamp = $this->getTime($time);
 
         $timeslice = 0;
 
@@ -90,7 +152,7 @@
         // of the match. Each iteration we either set the timeslice variable to the timeslice of the match
         // or set the value to itself.  This is an effort to maintain constant execution time for the code.
         for ($i = -$discrepancy; $i <= $discrepancy; $i++) {
-            $ts = $timetamp + ($i * $this->period);
+            $ts = $timestamp + ($i * $this->period);
             $slice = $this->getTimeSlice($ts);
             $timeslice = $this->codeEquals($this->getCode($secret, $ts), $code) ? $slice : $timeslice;
         }
@@ -100,17 +162,24 @@
 
     /**
      * Timing-attack safe comparison of 2 codes (see http://blog.ircmaxell.com/2014/11/its-all-about-time.html)
+     *
+     * @param string $safe
+     * @param string $user
+     *
+     * @return bool
      */
-    private function codeEquals($safe, $user) {
+    private function codeEquals($safe, $user)
+    {
         if (function_exists('hash_equals')) {
             return hash_equals($safe, $user);
         }
         // In general, it's not possible to prevent length leaks. So it's OK to leak the length. The important part is that
         // we don't leak information about the difference of the two strings.
-        if (strlen($safe)===strlen($user)) {
+        if (strlen($safe) === strlen($user)) {
             $result = 0;
-            for ($i = 0; $i < strlen($safe); $i++)
+            for ($i = 0; $i < strlen($safe); $i++) {
                 $result |= (ord($safe[$i]) ^ ord($user[$i]));
+            }
             return $result === 0;
         }
         return false;
@@ -118,11 +187,18 @@
 
     /**
      * Get data-uri of QRCode
+     *
+     * @param string $label
+     * @param string $secret
+     * @param mixed $size
+     *
+     * @return string
      */
     public function getQRCodeImageAsDataUri($label, $secret, $size = 200)
     {
-        if (!is_int($size) || $size <= 0)
+        if (!is_int($size) || $size <= 0) {
             throw new TwoFactorAuthException('Size must be int > 0');
+        }
 
         $qrcodeprovider = $this->getQrCodeProvider();
         return 'data:'
@@ -133,37 +209,52 @@
 
     /**
      * Compare default timeprovider with specified timeproviders and ensure the time is within the specified number of seconds (leniency)
+     * @param ?array $timeproviders
+     * @param int $leniency
+     *
+     * @return void
      */
     public function ensureCorrectTime(array $timeproviders = null, $leniency = 5)
     {
-        if ($timeproviders != null && !is_array($timeproviders))
-            throw new TwoFactorAuthException('No timeproviders specified');
-
-        if ($timeproviders == null)
+        if ($timeproviders === null) {
             $timeproviders = array(
-                new Providers\Time\NTPTimeProvider(),
-                new Providers\Time\HttpTimeProvider()
+                new NTPTimeProvider(),
+                new HttpTimeProvider()
             );
+        }
 
         // Get default time provider
         $timeprovider = $this->getTimeProvider();
 
         // Iterate specified time providers
         foreach ($timeproviders as $t) {
-            if (!($t instanceof ITimeProvider))
+            if (!($t instanceof ITimeProvider)) {
                 throw new TwoFactorAuthException('Object does not implement ITimeProvider');
+            }
 
             // Get time from default time provider and compare to specific time provider and throw if time difference is more than specified number of seconds leniency
-            if (abs($timeprovider->getTime() - $t->getTime()) > $leniency)
+            if (abs($timeprovider->getTime() - $t->getTime()) > $leniency) {
                 throw new TwoFactorAuthException(sprintf('Time for timeprovider is off by more than %d seconds when compared to %s', $leniency, get_class($t)));
+            }
         }
     }
 
-    private function getTime($time)
+    /**
+     * @param ?int $time
+     *
+     * @return int
+     */
+    private function getTime($time = null)
     {
         return ($time === null) ? $this->getTimeProvider()->getTime() : $time;
     }
 
+    /**
+     * @param int $time
+     * @param int $offset
+     *
+     * @return int
+     */
     private function getTimeSlice($time = null, $offset = 0)
     {
         return (int)floor($time / $this->period) + ($offset * $this->period);
@@ -171,6 +262,11 @@
 
     /**
      * Builds a string to be encoded in a QR code
+     *
+     * @param string $label
+     * @param string $secret
+     *
+     * @return string
      */
     public function getQRText($label, $secret)
     {
@@ -182,25 +278,33 @@
             . '&digits=' . intval($this->digits);
     }
 
+    /**
+     * @param string $value
+     * @return string
+     */
     private function base32Decode($value)
     {
-        if (strlen($value)==0) return '';
+        if (strlen($value) == 0) {
+            return '';
+        }
 
-        if (preg_match('/[^'.preg_quote(self::$_base32dict).']/', $value) !== 0)
+        if (preg_match('/[^' . preg_quote(self::$_base32dict) . ']/', $value) !== 0) {
             throw new TwoFactorAuthException('Invalid base32 string');
+        }
 
         $buffer = '';
-        foreach (str_split($value) as $char)
-        {
-            if ($char !== '=')
-                $buffer .= str_pad(decbin(self::$_base32lookup[$char]), 5, 0, STR_PAD_LEFT);
+        foreach (str_split($value) as $char) {
+            if ($char !== '=') {
+                $buffer .= str_pad(decbin(self::$_base32lookup[$char]), 5, '0', STR_PAD_LEFT);
+            }
         }
         $length = strlen($buffer);
         $blocks = trim(chunk_split(substr($buffer, 0, $length - ($length % 8)), 8, ' '));
 
         $output = '';
-        foreach (explode(' ', $blocks) as $block)
-            $output .= chr(bindec(str_pad($block, 8, 0, STR_PAD_RIGHT)));
+        foreach (explode(' ', $blocks) as $block) {
+            $output .= chr(bindec(str_pad($block, 8, '0', STR_PAD_RIGHT)));
+        }
         return $output;
     }
 
@@ -212,7 +316,7 @@
     {
         // Set default QR Code provider if none was specified
         if (null === $this->qrcodeprovider) {
-            return $this->qrcodeprovider = new Providers\Qr\QRServerProvider();
+            return $this->qrcodeprovider = new QRServerProvider();
         }
         return $this->qrcodeprovider;
     }
@@ -221,22 +325,22 @@
      * @return IRNGProvider
      * @throws TwoFactorAuthException
      */
-    public function getRngprovider()
+    public function getRngProvider()
     {
         if (null !== $this->rngprovider) {
             return $this->rngprovider;
         }
         if (function_exists('random_bytes')) {
-            return $this->rngprovider = new Providers\Rng\CSRNGProvider();
+            return $this->rngprovider = new CSRNGProvider();
         }
         if (function_exists('mcrypt_create_iv')) {
-            return $this->rngprovider = new Providers\Rng\MCryptRNGProvider();
+            return $this->rngprovider = new MCryptRNGProvider();
         }
         if (function_exists('openssl_random_pseudo_bytes')) {
-            return $this->rngprovider = new Providers\Rng\OpenSSLRNGProvider();
+            return $this->rngprovider = new OpenSSLRNGProvider();
         }
         if (function_exists('hash')) {
-            return $this->rngprovider = new Providers\Rng\HashRNGProvider();
+            return $this->rngprovider = new HashRNGProvider();
         }
         throw new TwoFactorAuthException('Unable to find a suited RNGProvider');
     }
@@ -249,8 +353,8 @@
     {
         // Set default time provider if none was specified
         if (null === $this->timeprovider) {
-            return $this->timeprovider = new Providers\Time\LocalMachineTimeProvider();
+            return $this->timeprovider = new LocalMachineTimeProvider();
         }
         return $this->timeprovider;
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php
index af51b74..bce8370 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php
@@ -4,4 +4,4 @@
 
 use Exception;
 
-class TwoFactorAuthException extends \Exception {}
\ No newline at end of file
+class TwoFactorAuthException extends Exception {}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml
index 92c3a27..b2ff004 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/phpunit.xml
@@ -1,4 +1,4 @@
-﻿<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <phpunit backupGlobals="false"
          backupStaticAttributes="false"
          colors="true"
@@ -6,15 +6,21 @@
          convertNoticesToExceptions="true"
          convertWarningsToExceptions="true"
          processIsolation="false"
+         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          stopOnFailure="false">
   <testsuites>
     <testsuite name="Unit">
       <directory suffix="Test.php">./tests</directory>
     </testsuite>
   </testsuites>
-  <filter>
-    <whitelist processUncoveredFilesFromWhitelist="true">
+  <coverage processUncoveredFiles="true">
+    <include>
       <directory suffix=".php">./lib</directory>
-    </whitelist>
-  </filter>
-</phpunit>
\ No newline at end of file
+    </include>
+    <report>
+      <html outputDirectory="build/coverage"/>
+      <text outputFile="php://stdout"/>
+    </report>
+  </coverage>
+</phpunit>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/MightNotMakeAssertions.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/MightNotMakeAssertions.php
new file mode 100644
index 0000000..a7fbded
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/MightNotMakeAssertions.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Tests;
+
+trait MightNotMakeAssertions
+{
+    /**
+     * This is a shim to support PHPUnit for php 5.6 and 7.0.
+     *
+     * It has to be named something that doesn't collide with existing
+     * TestCase methods as we can't support PHP return types right now
+     *
+     * @return void
+     */
+    public function noAssertionsMade()
+    {
+        foreach (class_parents($this) as $parent) {
+            if (method_exists($parent, 'expectNotToPerformAssertions')) {
+                parent::expectNotToPerformAssertions();
+                return;
+            }
+        }
+
+        $this->assertTrue(true);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Qr/IQRCodeProviderTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Qr/IQRCodeProviderTest.php
new file mode 100644
index 0000000..86dd431
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Qr/IQRCodeProviderTest.php
@@ -0,0 +1,56 @@
+<?php
+
+namespace Tests\Providers\Qr;
+
+use PHPUnit\Framework\TestCase;
+use RobThree\Auth\TwoFactorAuth;
+use RobThree\Auth\TwoFactorAuthException;
+
+class IQRCodeProviderTest extends TestCase
+{
+    /**
+     * @param string $datauri
+     *
+     * @return null|array
+     */
+    private function DecodeDataUri($datauri)
+    {
+        if (preg_match('/data:(?P<mimetype>[\w\.\-\/]+);(?P<encoding>\w+),(?P<data>.*)/', $datauri, $m) === 1) {
+            return array(
+                'mimetype' => $m['mimetype'],
+                'encoding' => $m['encoding'],
+                'data' => base64_decode($m['data'])
+            );
+        }
+
+        return null;
+    }
+
+    /**
+     * @return void
+     */
+    public function testTotpUriIsCorrect()
+    {
+        $qr = new TestQrProvider();
+
+        $tfa = new TwoFactorAuth('Test&Issuer', 6, 30, 'sha1', $qr);
+        $data = $this->DecodeDataUri($tfa->getQRCodeImageAsDataUri('Test&Label', 'VMR466AB62ZBOKHE'));
+        $this->assertEquals('test/test', $data['mimetype']);
+        $this->assertEquals('base64', $data['encoding']);
+        $this->assertEquals('otpauth://totp/Test%26Label?secret=VMR466AB62ZBOKHE&issuer=Test%26Issuer&period=30&algorithm=SHA1&digits=6@200', $data['data']);
+    }
+
+    /**
+     * @return void
+     */
+    public function testGetQRCodeImageAsDataUriThrowsOnInvalidSize()
+    {
+        $qr = new TestQrProvider();
+
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', $qr);
+
+        $this->expectException(TwoFactorAuthException::class);
+
+        $tfa->getQRCodeImageAsDataUri('Test', 'VMR466AB62ZBOKHE', 0);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Qr/TestQrProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Qr/TestQrProvider.php
new file mode 100644
index 0000000..93242c2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Qr/TestQrProvider.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Tests\Providers\Qr;
+
+use RobThree\Auth\Providers\Qr\IQRCodeProvider;
+
+class TestQrProvider implements IQRCodeProvider
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function getQRCodeImage($qrtext, $size)
+    {
+        return $qrtext . '@' . $size;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getMimeType()
+    {
+        return 'test/test';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/CSRNGProviderTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/CSRNGProviderTest.php
new file mode 100644
index 0000000..e42ccfd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/CSRNGProviderTest.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Tests\Providers\Rng;
+
+use PHPUnit\Framework\TestCase;
+use Tests\MightNotMakeAssertions;
+use RobThree\Auth\Providers\Rng\CSRNGProvider;
+
+class CSRNGProviderTest extends TestCase
+{
+    use NeedsRngLengths, MightNotMakeAssertions;
+
+    /**
+     * @requires function random_bytes
+     *
+     * @return void
+     */
+    public function testCSRNGProvidersReturnExpectedNumberOfBytes()
+    {
+        if (function_exists('random_bytes')) {
+            $rng = new CSRNGProvider();
+            foreach ($this->rngTestLengths as $l) {
+                $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
+            }
+            $this->assertTrue($rng->isCryptographicallySecure());
+        } else {
+            $this->noAssertionsMade();
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/HashRNGProviderTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/HashRNGProviderTest.php
new file mode 100644
index 0000000..c99879d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/HashRNGProviderTest.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Tests\Providers\Rng;
+
+use PHPUnit\Framework\TestCase;
+use RobThree\Auth\Providers\Rng\HashRNGProvider;
+
+class HashRNGProviderTest extends TestCase
+{
+    use NeedsRngLengths;
+
+    /**
+     * @return void
+     */
+    public function testHashRNGProvidersReturnExpectedNumberOfBytes()
+    {
+        $rng = new HashRNGProvider();
+        foreach ($this->rngTestLengths as $l) {
+            $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
+        }
+
+        $this->assertFalse($rng->isCryptographicallySecure());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/IRNGProviderTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/IRNGProviderTest.php
new file mode 100644
index 0000000..8897673
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/IRNGProviderTest.php
@@ -0,0 +1,61 @@
+<?php
+
+namespace Tests\Providers\Rng;
+
+use PHPUnit\Framework\TestCase;
+use RobThree\Auth\TwoFactorAuth;
+use RobThree\Auth\TwoFactorAuthException;
+
+class IRNGProviderTest extends TestCase
+{
+    /**
+     * @return void
+     */
+    public function testCreateSecretThrowsOnInsecureRNGProvider()
+    {
+        $rng = new TestRNGProvider();
+
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
+
+        $this->expectException(TwoFactorAuthException::class);
+        $tfa->createSecret();
+    }
+
+    /**
+     * @return void
+     */
+    public function testCreateSecretOverrideSecureDoesNotThrowOnInsecureRNG()
+    {
+        $rng = new TestRNGProvider();
+
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
+        $this->assertEquals('ABCDEFGHIJKLMNOP', $tfa->createSecret(80, false));
+    }
+
+    /**
+     * @return void
+     */
+    public function testCreateSecretDoesNotThrowOnSecureRNGProvider()
+    {
+        $rng = new TestRNGProvider(true);
+
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
+        $this->assertEquals('ABCDEFGHIJKLMNOP', $tfa->createSecret());
+    }
+
+    /**
+     * @return void
+     */
+    public function testCreateSecretGeneratesDesiredAmountOfEntropy()
+    {
+        $rng = new TestRNGProvider(true);
+
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
+        $this->assertEquals('A', $tfa->createSecret(5));
+        $this->assertEquals('AB', $tfa->createSecret(6));
+        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ', $tfa->createSecret(128));
+        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567', $tfa->createSecret(160));
+        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKLMNOPQRSTUVWXYZ234567', $tfa->createSecret(320));
+        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKLMNOPQRSTUVWXYZ234567A', $tfa->createSecret(321));
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/MCryptRNGProviderTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/MCryptRNGProviderTest.php
new file mode 100644
index 0000000..f6dd91e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/MCryptRNGProviderTest.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace Tests\Providers\Rng;
+
+use PHPUnit\Framework\TestCase;
+use Tests\MightNotMakeAssertions;
+use RobThree\Auth\Providers\Rng\MCryptRNGProvider;
+
+class MCryptRNGProviderTest extends TestCase
+{
+    use NeedsRngLengths, MightNotMakeAssertions;
+
+    /**
+     * @requires function mcrypt_create_iv
+     *
+     * @return void
+     */
+    public function testMCryptRNGProvidersReturnExpectedNumberOfBytes()
+    {
+        if (function_exists('mcrypt_create_iv')) {
+            $rng = new MCryptRNGProvider();
+
+            foreach ($this->rngTestLengths as $l) {
+                $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
+            }
+
+            $this->assertTrue($rng->isCryptographicallySecure());
+        } else {
+            $this->noAssertionsMade();
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/NeedsRngLengths.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/NeedsRngLengths.php
new file mode 100644
index 0000000..7bbfed9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/NeedsRngLengths.php
@@ -0,0 +1,9 @@
+<?php
+
+namespace Tests\Providers\Rng;
+
+trait NeedsRngLengths
+{
+    /** @var array */
+    protected $rngTestLengths = array(1, 16, 32, 256);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/OpenSSLRNGProviderTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/OpenSSLRNGProviderTest.php
new file mode 100644
index 0000000..c941fcc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/OpenSSLRNGProviderTest.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Tests\Providers\Rng;
+
+use PHPUnit\Framework\TestCase;
+use RobThree\Auth\Providers\Rng\OpenSSLRNGProvider;
+
+class OpenSSLRNGProviderTest extends TestCase
+{
+    use NeedsRngLengths;
+
+    /**
+     * @return void
+     */
+    public function testStrongOpenSSLRNGProvidersReturnExpectedNumberOfBytes()
+    {
+        $rng = new OpenSSLRNGProvider(true);
+        foreach ($this->rngTestLengths as $l) {
+            $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
+        }
+
+        $this->assertTrue($rng->isCryptographicallySecure());
+    }
+
+    /**
+     * @return void
+     */
+    public function testNonStrongOpenSSLRNGProvidersReturnExpectedNumberOfBytes()
+    {
+        $rng = new OpenSSLRNGProvider(false);
+        foreach ($this->rngTestLengths as $l) {
+            $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
+        }
+
+        $this->assertFalse($rng->isCryptographicallySecure());
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/TestRNGProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/TestRNGProvider.php
new file mode 100644
index 0000000..7179521
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Rng/TestRNGProvider.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace Tests\Providers\Rng;
+
+use RobThree\Auth\Providers\Rng\IRNGProvider;
+
+class TestRNGProvider implements IRNGProvider
+{
+    /** @var bool */
+    private $isSecure;
+
+    /**
+     * @param bool $isSecure whether this provider is cryptographically secure
+     */
+    function __construct($isSecure = false)
+    {
+        $this->isSecure = $isSecure;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getRandomBytes($bytecount)
+    {
+        $result = '';
+
+        for ($i = 0; $i < $bytecount; $i++) {
+            $result .= chr($i);
+        }
+
+        return $result;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isCryptographicallySecure()
+    {
+        return $this->isSecure;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Time/ITimeProviderTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Time/ITimeProviderTest.php
new file mode 100644
index 0000000..159e0c8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Time/ITimeProviderTest.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace Tests\Providers\Time;
+
+use PHPUnit\Framework\TestCase;
+use Tests\MightNotMakeAssertions;
+use RobThree\Auth\TwoFactorAuthException;
+use RobThree\Auth\TwoFactorAuth;
+
+class ITimeProviderTest extends TestCase
+{
+    use MightNotMakeAssertions;
+
+    /**
+     * @return void
+     */
+    public function testEnsureCorrectTimeDoesNotThrowForCorrectTime()
+    {
+        $tpr1 = new TestTimeProvider(123);
+        $tpr2 = new TestTimeProvider(128);
+
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, null, $tpr1);
+        $tfa->ensureCorrectTime(array($tpr2));   // 128 - 123 = 5 => within default leniency
+
+        $this->noAssertionsMade();
+    }
+
+    /**
+     * @return void
+     */
+    public function testEnsureCorrectTimeThrowsOnIncorrectTime()
+    {
+        $tpr1 = new TestTimeProvider(123);
+        $tpr2 = new TestTimeProvider(124);
+
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, null, $tpr1);
+
+        $this->expectException(TwoFactorAuthException::class);
+
+        $tfa->ensureCorrectTime(array($tpr2), 0);    // We force a leniency of 0, 124-123 = 1 so this should throw
+    }
+
+    /**
+     * @return void
+     */
+    public function testEnsureDefaultTimeProviderReturnsCorrectTime()
+    {
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1');
+        $tfa->ensureCorrectTime(array(new TestTimeProvider(time())), 1);    // Use a leniency of 1, should the time change between both time() calls
+
+        $this->noAssertionsMade();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Time/TestTimeProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Time/TestTimeProvider.php
new file mode 100644
index 0000000..0fc2d12
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/Providers/Time/TestTimeProvider.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Tests\Providers\Time;
+
+use RobThree\Auth\Providers\Time\ITimeProvider;
+
+class TestTimeProvider implements ITimeProvider
+{
+    /** @var int */
+    private $time;
+
+    /**
+     * @param int $time
+     */
+    function __construct($time)
+    {
+        $this->time = $time;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTime()
+    {
+        return $this->time;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/TwoFactorAuthTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/TwoFactorAuthTest.php
index a0f2f67..ca00df9 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/TwoFactorAuthTest.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/robthree/twofactorauth/tests/TwoFactorAuthTest.php
@@ -1,218 +1,151 @@
 <?php
-require_once 'lib/TwoFactorAuth.php';
-require_once 'lib/TwoFactorAuthException.php';
 
-require_once 'lib/Providers/Qr/IQRCodeProvider.php';
-require_once 'lib/Providers/Qr/BaseHTTPQRCodeProvider.php';
-require_once 'lib/Providers/Qr/ImageChartsQRCodeProvider.php';
-require_once 'lib/Providers/Qr/QRException.php';
+namespace Tests;
 
-require_once 'lib/Providers/Rng/IRNGProvider.php';
-require_once 'lib/Providers/Rng/RNGException.php';
-require_once 'lib/Providers/Rng/CSRNGProvider.php';
-require_once 'lib/Providers/Rng/MCryptRNGProvider.php';
-require_once 'lib/Providers/Rng/OpenSSLRNGProvider.php';
-require_once 'lib/Providers/Rng/HashRNGProvider.php';
-require_once 'lib/Providers/Rng/RNGException.php';
-
-require_once 'lib/Providers/Time/ITimeProvider.php';
-require_once 'lib/Providers/Time/LocalMachineTimeProvider.php';
-require_once 'lib/Providers/Time/HttpTimeProvider.php';
-require_once 'lib/Providers/Time/NTPTimeProvider.php';
-require_once 'lib/Providers/Time/TimeException.php';
-
+use PHPUnit\Framework\TestCase;
+use RobThree\Auth\TwoFactorAuthException;
 use RobThree\Auth\TwoFactorAuth;
-use RobThree\Auth\Providers\Qr\IQRCodeProvider;
-use RobThree\Auth\Providers\Rng\IRNGProvider;
-use RobThree\Auth\Providers\Time\ITimeProvider;
 
-
-class TwoFactorAuthTest extends PHPUnit_Framework_TestCase
+class TwoFactorAuthTest extends TestCase
 {
+    use MightNotMakeAssertions;
+
     /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
+     * @return void
      */
-    public function testConstructorThrowsOnInvalidDigits() {
+    public function testConstructorThrowsOnInvalidDigits()
+    {
+        $this->expectException(TwoFactorAuthException::class);
 
         new TwoFactorAuth('Test', 0);
     }
 
     /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
+     * @return void
      */
-    public function testConstructorThrowsOnInvalidPeriod() {
+    public function testConstructorThrowsOnInvalidPeriod()
+    {
+        $this->expectException(TwoFactorAuthException::class);
 
         new TwoFactorAuth('Test', 6, 0);
     }
 
     /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
+     * @return void
      */
-    public function testConstructorThrowsOnInvalidAlgorithm() {
+    public function testConstructorThrowsOnInvalidAlgorithm()
+    {
+        $this->expectException(TwoFactorAuthException::class);
 
         new TwoFactorAuth('Test', 6, 30, 'xxx');
     }
 
-    public function testGetCodeReturnsCorrectResults() {
-
+    /**
+     * @return void
+     */
+    public function testGetCodeReturnsCorrectResults()
+    {
         $tfa = new TwoFactorAuth('Test');
         $this->assertEquals('543160', $tfa->getCode('VMR466AB62ZBOKHE', 1426847216));
         $this->assertEquals('538532', $tfa->getCode('VMR466AB62ZBOKHE', 0));
     }
 
     /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
+     * @return void
      */
-    public function testCreateSecretThrowsOnInsecureRNGProvider() {
-        $rng = new TestRNGProvider();
-
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
-        $tfa->createSecret();
-    }
-
-    public function testCreateSecretOverrideSecureDoesNotThrowOnInsecureRNG() {
-        $rng = new TestRNGProvider();
-
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
-        $this->assertEquals('ABCDEFGHIJKLMNOP', $tfa->createSecret(80, false));
-    }
-
-    public function testCreateSecretDoesNotThrowOnSecureRNGProvider() {
-        $rng = new TestRNGProvider(true);
-
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
-        $this->assertEquals('ABCDEFGHIJKLMNOP', $tfa->createSecret());
-    }
-
-    public function testCreateSecretGeneratesDesiredAmountOfEntropy() {
-        $rng = new TestRNGProvider(true);
-
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, $rng);
-        $this->assertEquals('A', $tfa->createSecret(5));
-        $this->assertEquals('AB', $tfa->createSecret(6));
-        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ', $tfa->createSecret(128));
-        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567', $tfa->createSecret(160));
-        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKLMNOPQRSTUVWXYZ234567', $tfa->createSecret(320));
-        $this->assertEquals('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKLMNOPQRSTUVWXYZ234567A', $tfa->createSecret(321));
-    }
-
-    public function testEnsureCorrectTimeDoesNotThrowForCorrectTime() {
-        $tpr1 = new TestTimeProvider(123);
-        $tpr2 = new TestTimeProvider(128);
-
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, null, $tpr1);
-        $tfa->ensureCorrectTime(array($tpr2));   // 128 - 123 = 5 => within default leniency
+    public function testEnsureAllTimeProvidersReturnCorrectTime()
+    {
+        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1');
+        $tfa->ensureCorrectTime(array(
+            new \RobThree\Auth\Providers\Time\NTPTimeProvider(),                         // Uses pool.ntp.org by default
+            //new \RobThree\Auth\Providers\Time\NTPTimeProvider('time.google.com'),      // Somehow time.google.com and time.windows.com make travis timeout??
+            new \RobThree\Auth\Providers\Time\HttpTimeProvider(),                        // Uses google.com by default
+            new \RobThree\Auth\Providers\Time\HttpTimeProvider('https://github.com'),
+            new \RobThree\Auth\Providers\Time\HttpTimeProvider('https://yahoo.com'),
+        ));
+        $this->noAssertionsMade();
     }
 
     /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
+     * @return void
      */
-    public function testEnsureCorrectTimeThrowsOnIncorrectTime() {
-        $tpr1 = new TestTimeProvider(123);
-        $tpr2 = new TestTimeProvider(124);
-
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', null, null, $tpr1);
-        $tfa->ensureCorrectTime(array($tpr2), 0);    // We force a leniency of 0, 124-123 = 1 so this should throw
-    }
-
-
-    public function testEnsureDefaultTimeProviderReturnsCorrectTime() {
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1');
-        $tfa->ensureCorrectTime(array(new TestTimeProvider(time())), 1);    // Use a leniency of 1, should the time change between both time() calls
-    }
-
-    public function testEnsureAllTimeProvidersReturnCorrectTime() {
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1');
-        $tfa->ensureCorrectTime(array(
-            new RobThree\Auth\Providers\Time\NTPTimeProvider(),                         // Uses pool.ntp.org by default
-            //new RobThree\Auth\Providers\Time\NTPTimeProvider('time.google.com'),      // Somehow time.google.com and time.windows.com make travis timeout??
-            new RobThree\Auth\Providers\Time\HttpTimeProvider(),                        // Uses google.com by default
-            new RobThree\Auth\Providers\Time\HttpTimeProvider('https://github.com'),
-            new RobThree\Auth\Providers\Time\HttpTimeProvider('https://yahoo.com'),
-        ));
-    }
-
-    public function testVerifyCodeWorksCorrectly() {
-
+    public function testVerifyCodeWorksCorrectly()
+    {
         $tfa = new TwoFactorAuth('Test', 6, 30);
-        $this->assertEquals(true , $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847190));
-        $this->assertEquals(true , $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 0, 1426847190 + 29));	//Test discrepancy
-        $this->assertEquals(false, $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 0, 1426847190 + 30));	//Test discrepancy
-        $this->assertEquals(false, $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 0, 1426847190 - 1));	//Test discrepancy
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847190));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 0, 1426847190 + 29));	//Test discrepancy
+        $this->assertFalse($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 0, 1426847190 + 30));	//Test discrepancy
+        $this->assertFalse($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 0, 1426847190 - 1));	//Test discrepancy
 
-        $this->assertEquals(true , $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 + 0));	//Test discrepancy
-        $this->assertEquals(true , $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 + 35));	//Test discrepancy
-        $this->assertEquals(true , $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 - 35));	//Test discrepancy
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 + 0));	//Test discrepancy
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 + 35));	//Test discrepancy
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 - 35));	//Test discrepancy
 
-        $this->assertEquals(false, $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 + 65));	//Test discrepancy
-        $this->assertEquals(false, $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 - 65));	//Test discrepancy
+        $this->assertFalse($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 + 65));	//Test discrepancy
+        $this->assertFalse($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 1, 1426847205 - 65));	//Test discrepancy
 
-        $this->assertEquals(true , $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 2, 1426847205 + 65));	//Test discrepancy
-        $this->assertEquals(true , $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 2, 1426847205 - 65));	//Test discrepancy
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 2, 1426847205 + 65));	//Test discrepancy
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 2, 1426847205 - 65));	//Test discrepancy
     }
 
-    public function testVerifyCorrectTimeSliceIsReturned() {
+    /**
+     * @return void
+     */
+    public function testVerifyCorrectTimeSliceIsReturned()
+    {
         $tfa = new TwoFactorAuth('Test', 6, 30);
 
         // We test with discrepancy 3 (so total of 7 codes: c-3, c-2, c-1, c, c+1, c+2, c+3
         // Ensure each corresponding timeslice is returned correctly
-        $this->assertEquals(true, $tfa->verifyCode('VMR466AB62ZBOKHE', '534113', 3, 1426847190, $timeslice1));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '534113', 3, 1426847190, $timeslice1));
         $this->assertEquals(47561570, $timeslice1);
-        $this->assertEquals(true, $tfa->verifyCode('VMR466AB62ZBOKHE', '819652', 3, 1426847190, $timeslice2));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '819652', 3, 1426847190, $timeslice2));
         $this->assertEquals(47561571, $timeslice2);
-        $this->assertEquals(true, $tfa->verifyCode('VMR466AB62ZBOKHE', '915954', 3, 1426847190, $timeslice3));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '915954', 3, 1426847190, $timeslice3));
         $this->assertEquals(47561572, $timeslice3);
-        $this->assertEquals(true, $tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 3, 1426847190, $timeslice4));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '543160', 3, 1426847190, $timeslice4));
         $this->assertEquals(47561573, $timeslice4);
-        $this->assertEquals(true, $tfa->verifyCode('VMR466AB62ZBOKHE', '348401', 3, 1426847190, $timeslice5));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '348401', 3, 1426847190, $timeslice5));
         $this->assertEquals(47561574, $timeslice5);
-        $this->assertEquals(true, $tfa->verifyCode('VMR466AB62ZBOKHE', '648525', 3, 1426847190, $timeslice6));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '648525', 3, 1426847190, $timeslice6));
         $this->assertEquals(47561575, $timeslice6);
-        $this->assertEquals(true, $tfa->verifyCode('VMR466AB62ZBOKHE', '170645', 3, 1426847190, $timeslice7));
+        $this->assertTrue($tfa->verifyCode('VMR466AB62ZBOKHE', '170645', 3, 1426847190, $timeslice7));
         $this->assertEquals(47561576, $timeslice7);
 
         // Incorrect code should return false and a 0 timeslice
-        $this->assertEquals(false, $tfa->verifyCode('VMR466AB62ZBOKHE', '111111', 3, 1426847190, $timeslice8));
+        $this->assertFalse($tfa->verifyCode('VMR466AB62ZBOKHE', '111111', 3, 1426847190, $timeslice8));
         $this->assertEquals(0, $timeslice8);
     }
 
-    public function testTotpUriIsCorrect() {
-        $qr = new TestQrProvider();
-
-        $tfa = new TwoFactorAuth('Test&Issuer', 6, 30, 'sha1', $qr);
-        $data = $this->DecodeDataUri($tfa->getQRCodeImageAsDataUri('Test&Label', 'VMR466AB62ZBOKHE'));
-        $this->assertEquals('test/test', $data['mimetype']);
-        $this->assertEquals('base64', $data['encoding']);
-        $this->assertEquals('otpauth://totp/Test%26Label?secret=VMR466AB62ZBOKHE&issuer=Test%26Issuer&period=30&algorithm=SHA1&digits=6@200', $data['data']);
-    }
-
     /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
+     * @return void
      */
-    public function testGetQRCodeImageAsDataUriThrowsOnInvalidSize() {
-        $qr = new TestQrProvider();
-
-        $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', $qr);
-        $tfa->getQRCodeImageAsDataUri('Test', 'VMR466AB62ZBOKHE', 0);
-    }
-
-    /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
-     */
-    public function testGetCodeThrowsOnInvalidBase32String1() {
+    public function testGetCodeThrowsOnInvalidBase32String1()
+    {
         $tfa = new TwoFactorAuth('Test');
+
+        $this->expectException(TwoFactorAuthException::class);
+
         $tfa->getCode('FOO1BAR8BAZ9');    //1, 8 & 9 are invalid chars
     }
 
     /**
-     * @expectedException \RobThree\Auth\TwoFactorAuthException
+     * @return void
      */
-    public function testGetCodeThrowsOnInvalidBase32String2() {
+    public function testGetCodeThrowsOnInvalidBase32String2()
+    {
         $tfa = new TwoFactorAuth('Test');
+
+        $this->expectException(TwoFactorAuthException::class);
+
         $tfa->getCode('mzxw6===');        //Lowercase
     }
 
-    public function testKnownBase32DecodeTestVectors() {
+    /**
+     * @return void
+     */
+    public function testKnownBase32DecodeTestVectors()
+    {
         // We usually don't test internals (e.g. privates) but since we rely heavily on base32 decoding and don't want
         // to expose this method nor do we want to give people the possibility of implementing / providing their own base32
         // decoding/decoder (as we do with Rng/QR providers for example) we simply test the private base32Decode() method
@@ -226,7 +159,7 @@
         //                                                           Dave Thomas and Andy Hunt -- "Pragmatic Unit Testing
         $tfa = new TwoFactorAuth('Test');
 
-        $method = new ReflectionMethod('RobThree\Auth\TwoFactorAuth', 'base32Decode');
+        $method = new \ReflectionMethod(TwoFactorAuth::class, 'base32Decode');
         $method->setAccessible(true);
 
         // Test vectors from: https://tools.ietf.org/html/rfc4648#page-12
@@ -239,14 +172,18 @@
         $this->assertEquals('foobar', $method->invoke($tfa, 'MZXW6YTBOI======'));
     }
 
-    public function testKnownBase32DecodeUnpaddedTestVectors() {
+    /**
+     * @return void
+     */
+    public function testKnownBase32DecodeUnpaddedTestVectors()
+    {
         // See testKnownBase32DecodeTestVectors() for the rationale behind testing the private base32Decode() method.
         // This test ensures that strings without the padding-char ('=') are also decoded correctly.
         // https://tools.ietf.org/html/rfc4648#page-4:
         //   "In some circumstances, the use of padding ("=") in base-encoded data is not required or used."
         $tfa = new TwoFactorAuth('Test');
 
-        $method = new ReflectionMethod('RobThree\Auth\TwoFactorAuth', 'base32Decode');
+        $method = new \ReflectionMethod(TwoFactorAuth::class, 'base32Decode');
         $method->setAccessible(true);
 
         // Test vectors from: https://tools.ietf.org/html/rfc4648#page-12
@@ -259,8 +196,11 @@
         $this->assertEquals('foobar', $method->invoke($tfa, 'MZXW6YTBOI'));
     }
 
-
-    public function testKnownTestVectors_sha1() {
+    /**
+     * @return void
+     */
+    public function testKnownTestVectors_sha1()
+    {
         //Known test vectors for SHA1: https://tools.ietf.org/html/rfc6238#page-15
         $secret = 'GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ';   //== base32encode('12345678901234567890')
         $tfa = new TwoFactorAuth('Test', 8, 30, 'sha1');
@@ -272,7 +212,11 @@
         $this->assertEquals('65353130', $tfa->getCode($secret, 20000000000));
     }
 
-    public function testKnownTestVectors_sha256() {
+    /**
+     * @return void
+     */
+    public function testKnownTestVectors_sha256()
+    {
         //Known test vectors for SHA256: https://tools.ietf.org/html/rfc6238#page-15
         $secret = 'GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQGEZA';   //== base32encode('12345678901234567890123456789012')
         $tfa = new TwoFactorAuth('Test', 8, 30, 'sha256');
@@ -284,7 +228,11 @@
         $this->assertEquals('77737706', $tfa->getCode($secret, 20000000000));
     }
 
-    public function testKnownTestVectors_sha512() {
+    /**
+     * @return void
+     */
+    public function testKnownTestVectors_sha512()
+    {
         //Known test vectors for SHA512: https://tools.ietf.org/html/rfc6238#page-15
         $secret = 'GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQGEZDGNA';   //== base32encode('1234567890123456789012345678901234567890123456789012345678901234')
         $tfa = new TwoFactorAuth('Test', 8, 30, 'sha512');
@@ -295,115 +243,4 @@
         $this->assertEquals('38618901', $tfa->getCode($secret, 2000000000));
         $this->assertEquals('47863826', $tfa->getCode($secret, 20000000000));
     }
-
-    /**
-     * @requires function random_bytes
-     */
-    public function testCSRNGProvidersReturnExpectedNumberOfBytes() {
-        $rng = new \RobThree\Auth\Providers\Rng\CSRNGProvider();
-        foreach ($this->getRngTestLengths() as $l)
-            $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
-        $this->assertEquals(true, $rng->isCryptographicallySecure());
-    }
-
-    /**
-     * @requires function hash_algos
-     * @requires function hash
-     */
-    public function testHashRNGProvidersReturnExpectedNumberOfBytes() {
-        $rng = new \RobThree\Auth\Providers\Rng\HashRNGProvider();
-        foreach ($this->getRngTestLengths() as $l)
-            $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
-        $this->assertEquals(false, $rng->isCryptographicallySecure());
-    }
-
-    /**
-     * @requires function mcrypt_create_iv
-     */
-    public function testMCryptRNGProvidersReturnExpectedNumberOfBytes() {
-        if (function_exists('mcrypt_create_iv')) {
-            $rng = new \RobThree\Auth\Providers\Rng\MCryptRNGProvider();
-            foreach ($this->getRngTestLengths() as $l)
-                $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
-            $this->assertEquals(true, $rng->isCryptographicallySecure());
-        }
-    }
-
-    /**
-     * @requires function openssl_random_pseudo_bytes
-     */
-    public function testStrongOpenSSLRNGProvidersReturnExpectedNumberOfBytes() {
-        $rng = new \RobThree\Auth\Providers\Rng\OpenSSLRNGProvider(true);
-        foreach ($this->getRngTestLengths() as $l)
-            $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
-        $this->assertEquals(true, $rng->isCryptographicallySecure());
-    }
-
-    /**
-     * @requires function openssl_random_pseudo_bytes
-     */
-    public function testNonStrongOpenSSLRNGProvidersReturnExpectedNumberOfBytes() {
-        $rng = new \RobThree\Auth\Providers\Rng\OpenSSLRNGProvider(false);
-        foreach ($this->getRngTestLengths() as $l)
-            $this->assertEquals($l, strlen($rng->getRandomBytes($l)));
-        $this->assertEquals(false, $rng->isCryptographicallySecure());
-    }
-
-
-    private function getRngTestLengths() {
-        return array(1, 16, 32, 256);
-    }
-
-    private function DecodeDataUri($datauri) {
-        if (preg_match('/data:(?P<mimetype>[\w\.\-\/]+);(?P<encoding>\w+),(?P<data>.*)/', $datauri, $m) === 1) {
-            return array(
-                'mimetype' => $m['mimetype'],
-                'encoding' => $m['encoding'],
-                'data' => base64_decode($m['data'])
-            );
-        }
-        return null;
-    }
 }
-
-class TestRNGProvider implements IRNGProvider {
-    private $isSecure;
-
-    function __construct($isSecure = false) {
-        $this->isSecure = $isSecure;
-    }
-
-    public function getRandomBytes($bytecount) {
-        $result = '';
-        for ($i=0; $i<$bytecount; $i++)
-            $result.=chr($i);
-        return $result;
-
-    }
-
-    public function isCryptographicallySecure() {
-        return $this->isSecure;
-    }
-}
-
-class TestQrProvider implements IQRCodeProvider {
-    public function getQRCodeImage($qrtext, $size) {
-        return $qrtext . '@' . $size;
-    }
-
-    public function getMimeType() {
-        return 'test/test';
-    }
-}
-
-class TestTimeProvider implements ITimeProvider {
-    private $time;
-
-    function __construct($time) {
-        $this->time = $time;
-    }
-
-    public function getTime() {
-        return $this->time;
-    }
-}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/.gitignore b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/.gitignore
new file mode 100644
index 0000000..c49a5d8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/.gitignore
@@ -0,0 +1,3 @@
+vendor/
+composer.lock
+phpunit.xml
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/CHANGELOG.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/CHANGELOG.md
new file mode 100644
index 0000000..7932e26
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/CHANGELOG.md
@@ -0,0 +1,5 @@
+CHANGELOG
+=========
+
+The changelog is maintained for all Symfony contracts at the following URL:
+https://github.com/symfony/contracts/blob/main/CHANGELOG.md
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/LICENSE
new file mode 100644
index 0000000..ad85e17
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2020-2021 Fabien Potencier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/README.md
new file mode 100644
index 0000000..4957933
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/README.md
@@ -0,0 +1,26 @@
+Symfony Deprecation Contracts
+=============================
+
+A generic function and convention to trigger deprecation notices.
+
+This package provides a single global function named `trigger_deprecation()` that triggers silenced deprecation notices.
+
+By using a custom PHP error handler such as the one provided by the Symfony ErrorHandler component,
+the triggered deprecations can be caught and logged for later discovery, both on dev and prod environments.
+
+The function requires at least 3 arguments:
+ - the name of the Composer package that is triggering the deprecation
+ - the version of the package that introduced the deprecation
+ - the message of the deprecation
+ - more arguments can be provided: they will be inserted in the message using `printf()` formatting
+
+Example:
+```php
+trigger_deprecation('symfony/blockchain', '8.9', 'Using "%s" is deprecated, use "%s" instead.', 'bitcoin', 'fabcoin');
+```
+
+This will generate the following message:
+`Since symfony/blockchain 8.9: Using "bitcoin" is deprecated, use "fabcoin" instead.`
+
+While not necessarily recommended, the deprecation notices can be completely ignored by declaring an empty
+`function trigger_deprecation() {}` in your application.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/composer.json
new file mode 100644
index 0000000..3884889
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/composer.json
@@ -0,0 +1,35 @@
+{
+    "name": "symfony/deprecation-contracts",
+    "type": "library",
+    "description": "A generic function and convention to trigger deprecation notices",
+    "homepage": "https://symfony.com",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Nicolas Grekas",
+            "email": "p@tchwork.com"
+        },
+        {
+            "name": "Symfony Community",
+            "homepage": "https://symfony.com/contributors"
+        }
+    ],
+    "require": {
+        "php": ">=7.1"
+    },
+    "autoload": {
+        "files": [
+            "function.php"
+        ]
+    },
+    "minimum-stability": "dev",
+    "extra": {
+        "branch-alias": {
+            "dev-main": "2.4-dev"
+        },
+        "thanks": {
+            "name": "symfony/contracts",
+            "url": "https://github.com/symfony/contracts"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/function.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/function.php
new file mode 100644
index 0000000..d437150
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/deprecation-contracts/function.php
@@ -0,0 +1,27 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+if (!function_exists('trigger_deprecation')) {
+    /**
+     * Triggers a silenced deprecation notice.
+     *
+     * @param string $package The name of the Composer package that is triggering the deprecation
+     * @param string $version The version of the package that introduced the deprecation
+     * @param string $message The message of the deprecation
+     * @param mixed  ...$args Values to insert in the message using printf() formatting
+     *
+     * @author Nicolas Grekas <p@tchwork.com>
+     */
+    function trigger_deprecation(string $package, string $version, string $message, ...$args): void
+    {
+        @trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/LICENSE
new file mode 100644
index 0000000..4cd8bdd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2015-2019 Fabien Potencier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Mbstring.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Mbstring.php
new file mode 100644
index 0000000..b599095
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Mbstring.php
@@ -0,0 +1,870 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Mbstring;
+
+/**
+ * Partial mbstring implementation in PHP, iconv based, UTF-8 centric.
+ *
+ * Implemented:
+ * - mb_chr                  - Returns a specific character from its Unicode code point
+ * - mb_convert_encoding     - Convert character encoding
+ * - mb_convert_variables    - Convert character code in variable(s)
+ * - mb_decode_mimeheader    - Decode string in MIME header field
+ * - mb_encode_mimeheader    - Encode string for MIME header XXX NATIVE IMPLEMENTATION IS REALLY BUGGED
+ * - mb_decode_numericentity - Decode HTML numeric string reference to character
+ * - mb_encode_numericentity - Encode character to HTML numeric string reference
+ * - mb_convert_case         - Perform case folding on a string
+ * - mb_detect_encoding      - Detect character encoding
+ * - mb_get_info             - Get internal settings of mbstring
+ * - mb_http_input           - Detect HTTP input character encoding
+ * - mb_http_output          - Set/Get HTTP output character encoding
+ * - mb_internal_encoding    - Set/Get internal character encoding
+ * - mb_list_encodings       - Returns an array of all supported encodings
+ * - mb_ord                  - Returns the Unicode code point of a character
+ * - mb_output_handler       - Callback function converts character encoding in output buffer
+ * - mb_scrub                - Replaces ill-formed byte sequences with substitute characters
+ * - mb_strlen               - Get string length
+ * - mb_strpos               - Find position of first occurrence of string in a string
+ * - mb_strrpos              - Find position of last occurrence of a string in a string
+ * - mb_str_split            - Convert a string to an array
+ * - mb_strtolower           - Make a string lowercase
+ * - mb_strtoupper           - Make a string uppercase
+ * - mb_substitute_character - Set/Get substitution character
+ * - mb_substr               - Get part of string
+ * - mb_stripos              - Finds position of first occurrence of a string within another, case insensitive
+ * - mb_stristr              - Finds first occurrence of a string within another, case insensitive
+ * - mb_strrchr              - Finds the last occurrence of a character in a string within another
+ * - mb_strrichr             - Finds the last occurrence of a character in a string within another, case insensitive
+ * - mb_strripos             - Finds position of last occurrence of a string within another, case insensitive
+ * - mb_strstr               - Finds first occurrence of a string within another
+ * - mb_strwidth             - Return width of string
+ * - mb_substr_count         - Count the number of substring occurrences
+ *
+ * Not implemented:
+ * - mb_convert_kana         - Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
+ * - mb_ereg_*               - Regular expression with multibyte support
+ * - mb_parse_str            - Parse GET/POST/COOKIE data and set global variable
+ * - mb_preferred_mime_name  - Get MIME charset string
+ * - mb_regex_encoding       - Returns current encoding for multibyte regex as string
+ * - mb_regex_set_options    - Set/Get the default options for mbregex functions
+ * - mb_send_mail            - Send encoded mail
+ * - mb_split                - Split multibyte string using regular expression
+ * - mb_strcut               - Get part of string
+ * - mb_strimwidth           - Get truncated string with specified width
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @internal
+ */
+final class Mbstring
+{
+    public const MB_CASE_FOLD = \PHP_INT_MAX;
+
+    private const CASE_FOLD = [
+        ['µ', 'ſ', "\xCD\x85", 'ς', "\xCF\x90", "\xCF\x91", "\xCF\x95", "\xCF\x96", "\xCF\xB0", "\xCF\xB1", "\xCF\xB5", "\xE1\xBA\x9B", "\xE1\xBE\xBE"],
+        ['μ', 's', 'ι',        'σ', 'β',        'θ',        'φ',        'π',        'κ',        'ρ',        'ε',        "\xE1\xB9\xA1", 'ι'],
+    ];
+
+    private static $encodingList = ['ASCII', 'UTF-8'];
+    private static $language = 'neutral';
+    private static $internalEncoding = 'UTF-8';
+
+    public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null)
+    {
+        if (\is_array($fromEncoding) || false !== strpos($fromEncoding, ',')) {
+            $fromEncoding = self::mb_detect_encoding($s, $fromEncoding);
+        } else {
+            $fromEncoding = self::getEncoding($fromEncoding);
+        }
+
+        $toEncoding = self::getEncoding($toEncoding);
+
+        if ('BASE64' === $fromEncoding) {
+            $s = base64_decode($s);
+            $fromEncoding = $toEncoding;
+        }
+
+        if ('BASE64' === $toEncoding) {
+            return base64_encode($s);
+        }
+
+        if ('HTML-ENTITIES' === $toEncoding || 'HTML' === $toEncoding) {
+            if ('HTML-ENTITIES' === $fromEncoding || 'HTML' === $fromEncoding) {
+                $fromEncoding = 'Windows-1252';
+            }
+            if ('UTF-8' !== $fromEncoding) {
+                $s = \iconv($fromEncoding, 'UTF-8//IGNORE', $s);
+            }
+
+            return preg_replace_callback('/[\x80-\xFF]+/', [__CLASS__, 'html_encoding_callback'], $s);
+        }
+
+        if ('HTML-ENTITIES' === $fromEncoding) {
+            $s = html_entity_decode($s, \ENT_COMPAT, 'UTF-8');
+            $fromEncoding = 'UTF-8';
+        }
+
+        return \iconv($fromEncoding, $toEncoding.'//IGNORE', $s);
+    }
+
+    public static function mb_convert_variables($toEncoding, $fromEncoding, &...$vars)
+    {
+        $ok = true;
+        array_walk_recursive($vars, function (&$v) use (&$ok, $toEncoding, $fromEncoding) {
+            if (false === $v = self::mb_convert_encoding($v, $toEncoding, $fromEncoding)) {
+                $ok = false;
+            }
+        });
+
+        return $ok ? $fromEncoding : false;
+    }
+
+    public static function mb_decode_mimeheader($s)
+    {
+        return \iconv_mime_decode($s, 2, self::$internalEncoding);
+    }
+
+    public static function mb_encode_mimeheader($s, $charset = null, $transferEncoding = null, $linefeed = null, $indent = null)
+    {
+        trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', \E_USER_WARNING);
+    }
+
+    public static function mb_decode_numericentity($s, $convmap, $encoding = null)
+    {
+        if (null !== $s && !is_scalar($s) && !(\is_object($s) && method_exists($s, '__toString'))) {
+            trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', \E_USER_WARNING);
+
+            return null;
+        }
+
+        if (!\is_array($convmap) || (80000 > \PHP_VERSION_ID && !$convmap)) {
+            return false;
+        }
+
+        if (null !== $encoding && !is_scalar($encoding)) {
+            trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', \E_USER_WARNING);
+
+            return '';  // Instead of null (cf. mb_encode_numericentity).
+        }
+
+        $s = (string) $s;
+        if ('' === $s) {
+            return '';
+        }
+
+        $encoding = self::getEncoding($encoding);
+
+        if ('UTF-8' === $encoding) {
+            $encoding = null;
+            if (!preg_match('//u', $s)) {
+                $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s);
+            }
+        } else {
+            $s = \iconv($encoding, 'UTF-8//IGNORE', $s);
+        }
+
+        $cnt = floor(\count($convmap) / 4) * 4;
+
+        for ($i = 0; $i < $cnt; $i += 4) {
+            // collector_decode_htmlnumericentity ignores $convmap[$i + 3]
+            $convmap[$i] += $convmap[$i + 2];
+            $convmap[$i + 1] += $convmap[$i + 2];
+        }
+
+        $s = preg_replace_callback('/&#(?:0*([0-9]+)|x0*([0-9a-fA-F]+))(?!&);?/', function (array $m) use ($cnt, $convmap) {
+            $c = isset($m[2]) ? (int) hexdec($m[2]) : $m[1];
+            for ($i = 0; $i < $cnt; $i += 4) {
+                if ($c >= $convmap[$i] && $c <= $convmap[$i + 1]) {
+                    return self::mb_chr($c - $convmap[$i + 2]);
+                }
+            }
+
+            return $m[0];
+        }, $s);
+
+        if (null === $encoding) {
+            return $s;
+        }
+
+        return \iconv('UTF-8', $encoding.'//IGNORE', $s);
+    }
+
+    public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false)
+    {
+        if (null !== $s && !is_scalar($s) && !(\is_object($s) && method_exists($s, '__toString'))) {
+            trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', \E_USER_WARNING);
+
+            return null;
+        }
+
+        if (!\is_array($convmap) || (80000 > \PHP_VERSION_ID && !$convmap)) {
+            return false;
+        }
+
+        if (null !== $encoding && !is_scalar($encoding)) {
+            trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', \E_USER_WARNING);
+
+            return null;  // Instead of '' (cf. mb_decode_numericentity).
+        }
+
+        if (null !== $is_hex && !is_scalar($is_hex)) {
+            trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.\gettype($s).' given', \E_USER_WARNING);
+
+            return null;
+        }
+
+        $s = (string) $s;
+        if ('' === $s) {
+            return '';
+        }
+
+        $encoding = self::getEncoding($encoding);
+
+        if ('UTF-8' === $encoding) {
+            $encoding = null;
+            if (!preg_match('//u', $s)) {
+                $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s);
+            }
+        } else {
+            $s = \iconv($encoding, 'UTF-8//IGNORE', $s);
+        }
+
+        static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4];
+
+        $cnt = floor(\count($convmap) / 4) * 4;
+        $i = 0;
+        $len = \strlen($s);
+        $result = '';
+
+        while ($i < $len) {
+            $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"];
+            $uchr = substr($s, $i, $ulen);
+            $i += $ulen;
+            $c = self::mb_ord($uchr);
+
+            for ($j = 0; $j < $cnt; $j += 4) {
+                if ($c >= $convmap[$j] && $c <= $convmap[$j + 1]) {
+                    $cOffset = ($c + $convmap[$j + 2]) & $convmap[$j + 3];
+                    $result .= $is_hex ? sprintf('&#x%X;', $cOffset) : '&#'.$cOffset.';';
+                    continue 2;
+                }
+            }
+            $result .= $uchr;
+        }
+
+        if (null === $encoding) {
+            return $result;
+        }
+
+        return \iconv('UTF-8', $encoding.'//IGNORE', $result);
+    }
+
+    public static function mb_convert_case($s, $mode, $encoding = null)
+    {
+        $s = (string) $s;
+        if ('' === $s) {
+            return '';
+        }
+
+        $encoding = self::getEncoding($encoding);
+
+        if ('UTF-8' === $encoding) {
+            $encoding = null;
+            if (!preg_match('//u', $s)) {
+                $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s);
+            }
+        } else {
+            $s = \iconv($encoding, 'UTF-8//IGNORE', $s);
+        }
+
+        if (\MB_CASE_TITLE == $mode) {
+            static $titleRegexp = null;
+            if (null === $titleRegexp) {
+                $titleRegexp = self::getData('titleCaseRegexp');
+            }
+            $s = preg_replace_callback($titleRegexp, [__CLASS__, 'title_case'], $s);
+        } else {
+            if (\MB_CASE_UPPER == $mode) {
+                static $upper = null;
+                if (null === $upper) {
+                    $upper = self::getData('upperCase');
+                }
+                $map = $upper;
+            } else {
+                if (self::MB_CASE_FOLD === $mode) {
+                    $s = str_replace(self::CASE_FOLD[0], self::CASE_FOLD[1], $s);
+                }
+
+                static $lower = null;
+                if (null === $lower) {
+                    $lower = self::getData('lowerCase');
+                }
+                $map = $lower;
+            }
+
+            static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4];
+
+            $i = 0;
+            $len = \strlen($s);
+
+            while ($i < $len) {
+                $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"];
+                $uchr = substr($s, $i, $ulen);
+                $i += $ulen;
+
+                if (isset($map[$uchr])) {
+                    $uchr = $map[$uchr];
+                    $nlen = \strlen($uchr);
+
+                    if ($nlen == $ulen) {
+                        $nlen = $i;
+                        do {
+                            $s[--$nlen] = $uchr[--$ulen];
+                        } while ($ulen);
+                    } else {
+                        $s = substr_replace($s, $uchr, $i - $ulen, $ulen);
+                        $len += $nlen - $ulen;
+                        $i += $nlen - $ulen;
+                    }
+                }
+            }
+        }
+
+        if (null === $encoding) {
+            return $s;
+        }
+
+        return \iconv('UTF-8', $encoding.'//IGNORE', $s);
+    }
+
+    public static function mb_internal_encoding($encoding = null)
+    {
+        if (null === $encoding) {
+            return self::$internalEncoding;
+        }
+
+        $normalizedEncoding = self::getEncoding($encoding);
+
+        if ('UTF-8' === $normalizedEncoding || false !== @\iconv($normalizedEncoding, $normalizedEncoding, ' ')) {
+            self::$internalEncoding = $normalizedEncoding;
+
+            return true;
+        }
+
+        if (80000 > \PHP_VERSION_ID) {
+            return false;
+        }
+
+        throw new \ValueError(sprintf('Argument #1 ($encoding) must be a valid encoding, "%s" given', $encoding));
+    }
+
+    public static function mb_language($lang = null)
+    {
+        if (null === $lang) {
+            return self::$language;
+        }
+
+        switch ($normalizedLang = strtolower($lang)) {
+            case 'uni':
+            case 'neutral':
+                self::$language = $normalizedLang;
+
+                return true;
+        }
+
+        if (80000 > \PHP_VERSION_ID) {
+            return false;
+        }
+
+        throw new \ValueError(sprintf('Argument #1 ($language) must be a valid language, "%s" given', $lang));
+    }
+
+    public static function mb_list_encodings()
+    {
+        return ['UTF-8'];
+    }
+
+    public static function mb_encoding_aliases($encoding)
+    {
+        switch (strtoupper($encoding)) {
+            case 'UTF8':
+            case 'UTF-8':
+                return ['utf8'];
+        }
+
+        return false;
+    }
+
+    public static function mb_check_encoding($var = null, $encoding = null)
+    {
+        if (null === $encoding) {
+            if (null === $var) {
+                return false;
+            }
+            $encoding = self::$internalEncoding;
+        }
+
+        return self::mb_detect_encoding($var, [$encoding]) || false !== @\iconv($encoding, $encoding, $var);
+    }
+
+    public static function mb_detect_encoding($str, $encodingList = null, $strict = false)
+    {
+        if (null === $encodingList) {
+            $encodingList = self::$encodingList;
+        } else {
+            if (!\is_array($encodingList)) {
+                $encodingList = array_map('trim', explode(',', $encodingList));
+            }
+            $encodingList = array_map('strtoupper', $encodingList);
+        }
+
+        foreach ($encodingList as $enc) {
+            switch ($enc) {
+                case 'ASCII':
+                    if (!preg_match('/[\x80-\xFF]/', $str)) {
+                        return $enc;
+                    }
+                    break;
+
+                case 'UTF8':
+                case 'UTF-8':
+                    if (preg_match('//u', $str)) {
+                        return 'UTF-8';
+                    }
+                    break;
+
+                default:
+                    if (0 === strncmp($enc, 'ISO-8859-', 9)) {
+                        return $enc;
+                    }
+            }
+        }
+
+        return false;
+    }
+
+    public static function mb_detect_order($encodingList = null)
+    {
+        if (null === $encodingList) {
+            return self::$encodingList;
+        }
+
+        if (!\is_array($encodingList)) {
+            $encodingList = array_map('trim', explode(',', $encodingList));
+        }
+        $encodingList = array_map('strtoupper', $encodingList);
+
+        foreach ($encodingList as $enc) {
+            switch ($enc) {
+                default:
+                    if (strncmp($enc, 'ISO-8859-', 9)) {
+                        return false;
+                    }
+                    // no break
+                case 'ASCII':
+                case 'UTF8':
+                case 'UTF-8':
+            }
+        }
+
+        self::$encodingList = $encodingList;
+
+        return true;
+    }
+
+    public static function mb_strlen($s, $encoding = null)
+    {
+        $encoding = self::getEncoding($encoding);
+        if ('CP850' === $encoding || 'ASCII' === $encoding) {
+            return \strlen($s);
+        }
+
+        return @\iconv_strlen($s, $encoding);
+    }
+
+    public static function mb_strpos($haystack, $needle, $offset = 0, $encoding = null)
+    {
+        $encoding = self::getEncoding($encoding);
+        if ('CP850' === $encoding || 'ASCII' === $encoding) {
+            return strpos($haystack, $needle, $offset);
+        }
+
+        $needle = (string) $needle;
+        if ('' === $needle) {
+            if (80000 > \PHP_VERSION_ID) {
+                trigger_error(__METHOD__.': Empty delimiter', \E_USER_WARNING);
+
+                return false;
+            }
+
+            return 0;
+        }
+
+        return \iconv_strpos($haystack, $needle, $offset, $encoding);
+    }
+
+    public static function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null)
+    {
+        $encoding = self::getEncoding($encoding);
+        if ('CP850' === $encoding || 'ASCII' === $encoding) {
+            return strrpos($haystack, $needle, $offset);
+        }
+
+        if ($offset != (int) $offset) {
+            $offset = 0;
+        } elseif ($offset = (int) $offset) {
+            if ($offset < 0) {
+                if (0 > $offset += self::mb_strlen($needle)) {
+                    $haystack = self::mb_substr($haystack, 0, $offset, $encoding);
+                }
+                $offset = 0;
+            } else {
+                $haystack = self::mb_substr($haystack, $offset, 2147483647, $encoding);
+            }
+        }
+
+        $pos = '' !== $needle || 80000 > \PHP_VERSION_ID
+            ? \iconv_strrpos($haystack, $needle, $encoding)
+            : self::mb_strlen($haystack, $encoding);
+
+        return false !== $pos ? $offset + $pos : false;
+    }
+
+    public static function mb_str_split($string, $split_length = 1, $encoding = null)
+    {
+        if (null !== $string && !is_scalar($string) && !(\is_object($string) && method_exists($string, '__toString'))) {
+            trigger_error('mb_str_split() expects parameter 1 to be string, '.\gettype($string).' given', \E_USER_WARNING);
+
+            return null;
+        }
+
+        if (1 > $split_length = (int) $split_length) {
+            if (80000 > \PHP_VERSION_ID) {
+                trigger_error('The length of each segment must be greater than zero', \E_USER_WARNING);
+                return false;
+            }
+
+            throw new \ValueError('Argument #2 ($length) must be greater than 0');
+        }
+
+        if (null === $encoding) {
+            $encoding = mb_internal_encoding();
+        }
+
+        if ('UTF-8' === $encoding = self::getEncoding($encoding)) {
+            $rx = '/(';
+            while (65535 < $split_length) {
+                $rx .= '.{65535}';
+                $split_length -= 65535;
+            }
+            $rx .= '.{'.$split_length.'})/us';
+
+            return preg_split($rx, $string, null, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY);
+        }
+
+        $result = [];
+        $length = mb_strlen($string, $encoding);
+
+        for ($i = 0; $i < $length; $i += $split_length) {
+            $result[] = mb_substr($string, $i, $split_length, $encoding);
+        }
+
+        return $result;
+    }
+
+    public static function mb_strtolower($s, $encoding = null)
+    {
+        return self::mb_convert_case($s, \MB_CASE_LOWER, $encoding);
+    }
+
+    public static function mb_strtoupper($s, $encoding = null)
+    {
+        return self::mb_convert_case($s, \MB_CASE_UPPER, $encoding);
+    }
+
+    public static function mb_substitute_character($c = null)
+    {
+        if (null === $c) {
+            return 'none';
+        }
+        if (0 === strcasecmp($c, 'none')) {
+            return true;
+        }
+        if (80000 > \PHP_VERSION_ID) {
+            return false;
+        }
+
+        throw new \ValueError('Argument #1 ($substitute_character) must be "none", "long", "entity" or a valid codepoint');
+    }
+
+    public static function mb_substr($s, $start, $length = null, $encoding = null)
+    {
+        $encoding = self::getEncoding($encoding);
+        if ('CP850' === $encoding || 'ASCII' === $encoding) {
+            return (string) substr($s, $start, null === $length ? 2147483647 : $length);
+        }
+
+        if ($start < 0) {
+            $start = \iconv_strlen($s, $encoding) + $start;
+            if ($start < 0) {
+                $start = 0;
+            }
+        }
+
+        if (null === $length) {
+            $length = 2147483647;
+        } elseif ($length < 0) {
+            $length = \iconv_strlen($s, $encoding) + $length - $start;
+            if ($length < 0) {
+                return '';
+            }
+        }
+
+        return (string) \iconv_substr($s, $start, $length, $encoding);
+    }
+
+    public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null)
+    {
+        $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding);
+        $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding);
+
+        return self::mb_strpos($haystack, $needle, $offset, $encoding);
+    }
+
+    public static function mb_stristr($haystack, $needle, $part = false, $encoding = null)
+    {
+        $pos = self::mb_stripos($haystack, $needle, 0, $encoding);
+
+        return self::getSubpart($pos, $part, $haystack, $encoding);
+    }
+
+    public static function mb_strrchr($haystack, $needle, $part = false, $encoding = null)
+    {
+        $encoding = self::getEncoding($encoding);
+        if ('CP850' === $encoding || 'ASCII' === $encoding) {
+            $pos = strrpos($haystack, $needle);
+        } else {
+            $needle = self::mb_substr($needle, 0, 1, $encoding);
+            $pos = \iconv_strrpos($haystack, $needle, $encoding);
+        }
+
+        return self::getSubpart($pos, $part, $haystack, $encoding);
+    }
+
+    public static function mb_strrichr($haystack, $needle, $part = false, $encoding = null)
+    {
+        $needle = self::mb_substr($needle, 0, 1, $encoding);
+        $pos = self::mb_strripos($haystack, $needle, $encoding);
+
+        return self::getSubpart($pos, $part, $haystack, $encoding);
+    }
+
+    public static function mb_strripos($haystack, $needle, $offset = 0, $encoding = null)
+    {
+        $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding);
+        $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding);
+
+        return self::mb_strrpos($haystack, $needle, $offset, $encoding);
+    }
+
+    public static function mb_strstr($haystack, $needle, $part = false, $encoding = null)
+    {
+        $pos = strpos($haystack, $needle);
+        if (false === $pos) {
+            return false;
+        }
+        if ($part) {
+            return substr($haystack, 0, $pos);
+        }
+
+        return substr($haystack, $pos);
+    }
+
+    public static function mb_get_info($type = 'all')
+    {
+        $info = [
+            'internal_encoding' => self::$internalEncoding,
+            'http_output' => 'pass',
+            'http_output_conv_mimetypes' => '^(text/|application/xhtml\+xml)',
+            'func_overload' => 0,
+            'func_overload_list' => 'no overload',
+            'mail_charset' => 'UTF-8',
+            'mail_header_encoding' => 'BASE64',
+            'mail_body_encoding' => 'BASE64',
+            'illegal_chars' => 0,
+            'encoding_translation' => 'Off',
+            'language' => self::$language,
+            'detect_order' => self::$encodingList,
+            'substitute_character' => 'none',
+            'strict_detection' => 'Off',
+        ];
+
+        if ('all' === $type) {
+            return $info;
+        }
+        if (isset($info[$type])) {
+            return $info[$type];
+        }
+
+        return false;
+    }
+
+    public static function mb_http_input($type = '')
+    {
+        return false;
+    }
+
+    public static function mb_http_output($encoding = null)
+    {
+        return null !== $encoding ? 'pass' === $encoding : 'pass';
+    }
+
+    public static function mb_strwidth($s, $encoding = null)
+    {
+        $encoding = self::getEncoding($encoding);
+
+        if ('UTF-8' !== $encoding) {
+            $s = \iconv($encoding, 'UTF-8//IGNORE', $s);
+        }
+
+        $s = preg_replace('/[\x{1100}-\x{115F}\x{2329}\x{232A}\x{2E80}-\x{303E}\x{3040}-\x{A4CF}\x{AC00}-\x{D7A3}\x{F900}-\x{FAFF}\x{FE10}-\x{FE19}\x{FE30}-\x{FE6F}\x{FF00}-\x{FF60}\x{FFE0}-\x{FFE6}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}]/u', '', $s, -1, $wide);
+
+        return ($wide << 1) + \iconv_strlen($s, 'UTF-8');
+    }
+
+    public static function mb_substr_count($haystack, $needle, $encoding = null)
+    {
+        return substr_count($haystack, $needle);
+    }
+
+    public static function mb_output_handler($contents, $status)
+    {
+        return $contents;
+    }
+
+    public static function mb_chr($code, $encoding = null)
+    {
+        if (0x80 > $code %= 0x200000) {
+            $s = \chr($code);
+        } elseif (0x800 > $code) {
+            $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F);
+        } elseif (0x10000 > $code) {
+            $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
+        } else {
+            $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
+        }
+
+        if ('UTF-8' !== $encoding = self::getEncoding($encoding)) {
+            $s = mb_convert_encoding($s, $encoding, 'UTF-8');
+        }
+
+        return $s;
+    }
+
+    public static function mb_ord($s, $encoding = null)
+    {
+        if ('UTF-8' !== $encoding = self::getEncoding($encoding)) {
+            $s = mb_convert_encoding($s, 'UTF-8', $encoding);
+        }
+
+        if (1 === \strlen($s)) {
+            return \ord($s);
+        }
+
+        $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0;
+        if (0xF0 <= $code) {
+            return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80;
+        }
+        if (0xE0 <= $code) {
+            return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80;
+        }
+        if (0xC0 <= $code) {
+            return (($code - 0xC0) << 6) + $s[2] - 0x80;
+        }
+
+        return $code;
+    }
+
+    private static function getSubpart($pos, $part, $haystack, $encoding)
+    {
+        if (false === $pos) {
+            return false;
+        }
+        if ($part) {
+            return self::mb_substr($haystack, 0, $pos, $encoding);
+        }
+
+        return self::mb_substr($haystack, $pos, null, $encoding);
+    }
+
+    private static function html_encoding_callback(array $m)
+    {
+        $i = 1;
+        $entities = '';
+        $m = unpack('C*', htmlentities($m[0], \ENT_COMPAT, 'UTF-8'));
+
+        while (isset($m[$i])) {
+            if (0x80 > $m[$i]) {
+                $entities .= \chr($m[$i++]);
+                continue;
+            }
+            if (0xF0 <= $m[$i]) {
+                $c = (($m[$i++] - 0xF0) << 18) + (($m[$i++] - 0x80) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80;
+            } elseif (0xE0 <= $m[$i]) {
+                $c = (($m[$i++] - 0xE0) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80;
+            } else {
+                $c = (($m[$i++] - 0xC0) << 6) + $m[$i++] - 0x80;
+            }
+
+            $entities .= '&#'.$c.';';
+        }
+
+        return $entities;
+    }
+
+    private static function title_case(array $s)
+    {
+        return self::mb_convert_case($s[1], \MB_CASE_UPPER, 'UTF-8').self::mb_convert_case($s[2], \MB_CASE_LOWER, 'UTF-8');
+    }
+
+    private static function getData($file)
+    {
+        if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) {
+            return require $file;
+        }
+
+        return false;
+    }
+
+    private static function getEncoding($encoding)
+    {
+        if (null === $encoding) {
+            return self::$internalEncoding;
+        }
+
+        if ('UTF-8' === $encoding) {
+            return 'UTF-8';
+        }
+
+        $encoding = strtoupper($encoding);
+
+        if ('8BIT' === $encoding || 'BINARY' === $encoding) {
+            return 'CP850';
+        }
+
+        if ('UTF8' === $encoding) {
+            return 'UTF-8';
+        }
+
+        return $encoding;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/README.md
new file mode 100644
index 0000000..4efb599
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/README.md
@@ -0,0 +1,13 @@
+Symfony Polyfill / Mbstring
+===========================
+
+This component provides a partial, native PHP implementation for the
+[Mbstring](https://php.net/mbstring) extension.
+
+More information can be found in the
+[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
+
+License
+=======
+
+This library is released under the [MIT license](LICENSE).
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php
new file mode 100644
index 0000000..fac60b0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php
@@ -0,0 +1,1397 @@
+<?php
+
+return array (
+  'A' => 'a',
+  'B' => 'b',
+  'C' => 'c',
+  'D' => 'd',
+  'E' => 'e',
+  'F' => 'f',
+  'G' => 'g',
+  'H' => 'h',
+  'I' => 'i',
+  'J' => 'j',
+  'K' => 'k',
+  'L' => 'l',
+  'M' => 'm',
+  'N' => 'n',
+  'O' => 'o',
+  'P' => 'p',
+  'Q' => 'q',
+  'R' => 'r',
+  'S' => 's',
+  'T' => 't',
+  'U' => 'u',
+  'V' => 'v',
+  'W' => 'w',
+  'X' => 'x',
+  'Y' => 'y',
+  'Z' => 'z',
+  'À' => 'à',
+  'Á' => 'á',
+  'Â' => 'â',
+  'Ã' => 'ã',
+  'Ä' => 'ä',
+  'Å' => 'å',
+  'Æ' => 'æ',
+  'Ç' => 'ç',
+  'È' => 'è',
+  'É' => 'é',
+  'Ê' => 'ê',
+  'Ë' => 'ë',
+  'Ì' => 'ì',
+  'Í' => 'í',
+  'Î' => 'î',
+  'Ï' => 'ï',
+  'Ð' => 'ð',
+  'Ñ' => 'ñ',
+  'Ò' => 'ò',
+  'Ó' => 'ó',
+  'Ô' => 'ô',
+  'Õ' => 'õ',
+  'Ö' => 'ö',
+  'Ø' => 'ø',
+  'Ù' => 'ù',
+  'Ú' => 'ú',
+  'Û' => 'û',
+  'Ü' => 'ü',
+  'Ý' => 'ý',
+  'Þ' => 'þ',
+  'Ā' => 'ā',
+  'Ă' => 'ă',
+  'Ą' => 'ą',
+  'Ć' => 'ć',
+  'Ĉ' => 'ĉ',
+  'Ċ' => 'ċ',
+  'Č' => 'č',
+  'Ď' => 'ď',
+  'Đ' => 'đ',
+  'Ē' => 'ē',
+  'Ĕ' => 'ĕ',
+  'Ė' => 'ė',
+  'Ę' => 'ę',
+  'Ě' => 'ě',
+  'Ĝ' => 'ĝ',
+  'Ğ' => 'ğ',
+  'Ġ' => 'ġ',
+  'Ģ' => 'ģ',
+  'Ĥ' => 'ĥ',
+  'Ħ' => 'ħ',
+  'Ĩ' => 'ĩ',
+  'Ī' => 'ī',
+  'Ĭ' => 'ĭ',
+  'Į' => 'į',
+  'İ' => 'i̇',
+  'Ĳ' => 'ĳ',
+  'Ĵ' => 'ĵ',
+  'Ķ' => 'ķ',
+  'Ĺ' => 'ĺ',
+  'Ļ' => 'ļ',
+  'Ľ' => 'ľ',
+  'Ŀ' => 'ŀ',
+  'Ł' => 'ł',
+  'Ń' => 'ń',
+  'Ņ' => 'ņ',
+  'Ň' => 'ň',
+  'Ŋ' => 'ŋ',
+  'Ō' => 'ō',
+  'Ŏ' => 'ŏ',
+  'Ő' => 'ő',
+  'Œ' => 'œ',
+  'Ŕ' => 'ŕ',
+  'Ŗ' => 'ŗ',
+  'Ř' => 'ř',
+  'Ś' => 'ś',
+  'Ŝ' => 'ŝ',
+  'Ş' => 'ş',
+  'Š' => 'š',
+  'Ţ' => 'ţ',
+  'Ť' => 'ť',
+  'Ŧ' => 'ŧ',
+  'Ũ' => 'ũ',
+  'Ū' => 'ū',
+  'Ŭ' => 'ŭ',
+  'Ů' => 'ů',
+  'Ű' => 'ű',
+  'Ų' => 'ų',
+  'Ŵ' => 'ŵ',
+  'Ŷ' => 'ŷ',
+  'Ÿ' => 'ÿ',
+  'Ź' => 'ź',
+  'Ż' => 'ż',
+  'Ž' => 'ž',
+  'Ɓ' => 'ɓ',
+  'Ƃ' => 'ƃ',
+  'Ƅ' => 'ƅ',
+  'Ɔ' => 'ɔ',
+  'Ƈ' => 'ƈ',
+  'Ɖ' => 'ɖ',
+  'Ɗ' => 'ɗ',
+  'Ƌ' => 'ƌ',
+  'Ǝ' => 'ǝ',
+  'Ə' => 'ə',
+  'Ɛ' => 'ɛ',
+  'Ƒ' => 'ƒ',
+  'Ɠ' => 'ɠ',
+  'Ɣ' => 'ɣ',
+  'Ɩ' => 'ɩ',
+  'Ɨ' => 'ɨ',
+  'Ƙ' => 'ƙ',
+  'Ɯ' => 'ɯ',
+  'Ɲ' => 'ɲ',
+  'Ɵ' => 'ɵ',
+  'Ơ' => 'ơ',
+  'Ƣ' => 'ƣ',
+  'Ƥ' => 'ƥ',
+  'Ʀ' => 'ʀ',
+  'Ƨ' => 'ƨ',
+  'Ʃ' => 'ʃ',
+  'Ƭ' => 'ƭ',
+  'Ʈ' => 'ʈ',
+  'Ư' => 'ư',
+  'Ʊ' => 'ʊ',
+  'Ʋ' => 'ʋ',
+  'Ƴ' => 'ƴ',
+  'Ƶ' => 'ƶ',
+  'Ʒ' => 'ʒ',
+  'Ƹ' => 'ƹ',
+  'Ƽ' => 'ƽ',
+  'Ǆ' => 'ǆ',
+  'ǅ' => 'ǆ',
+  'Ǉ' => 'ǉ',
+  'ǈ' => 'ǉ',
+  'Ǌ' => 'ǌ',
+  'ǋ' => 'ǌ',
+  'Ǎ' => 'ǎ',
+  'Ǐ' => 'ǐ',
+  'Ǒ' => 'ǒ',
+  'Ǔ' => 'ǔ',
+  'Ǖ' => 'ǖ',
+  'Ǘ' => 'ǘ',
+  'Ǚ' => 'ǚ',
+  'Ǜ' => 'ǜ',
+  'Ǟ' => 'ǟ',
+  'Ǡ' => 'ǡ',
+  'Ǣ' => 'ǣ',
+  'Ǥ' => 'ǥ',
+  'Ǧ' => 'ǧ',
+  'Ǩ' => 'ǩ',
+  'Ǫ' => 'ǫ',
+  'Ǭ' => 'ǭ',
+  'Ǯ' => 'ǯ',
+  'Ǳ' => 'ǳ',
+  'ǲ' => 'ǳ',
+  'Ǵ' => 'ǵ',
+  'Ƕ' => 'ƕ',
+  'Ƿ' => 'ƿ',
+  'Ǹ' => 'ǹ',
+  'Ǻ' => 'ǻ',
+  'Ǽ' => 'ǽ',
+  'Ǿ' => 'ǿ',
+  'Ȁ' => 'ȁ',
+  'Ȃ' => 'ȃ',
+  'Ȅ' => 'ȅ',
+  'Ȇ' => 'ȇ',
+  'Ȉ' => 'ȉ',
+  'Ȋ' => 'ȋ',
+  'Ȍ' => 'ȍ',
+  'Ȏ' => 'ȏ',
+  'Ȑ' => 'ȑ',
+  'Ȓ' => 'ȓ',
+  'Ȕ' => 'ȕ',
+  'Ȗ' => 'ȗ',
+  'Ș' => 'ș',
+  'Ț' => 'ț',
+  'Ȝ' => 'ȝ',
+  'Ȟ' => 'ȟ',
+  'Ƞ' => 'ƞ',
+  'Ȣ' => 'ȣ',
+  'Ȥ' => 'ȥ',
+  'Ȧ' => 'ȧ',
+  'Ȩ' => 'ȩ',
+  'Ȫ' => 'ȫ',
+  'Ȭ' => 'ȭ',
+  'Ȯ' => 'ȯ',
+  'Ȱ' => 'ȱ',
+  'Ȳ' => 'ȳ',
+  'Ⱥ' => 'ⱥ',
+  'Ȼ' => 'ȼ',
+  'Ƚ' => 'ƚ',
+  'Ⱦ' => 'ⱦ',
+  'Ɂ' => 'ɂ',
+  'Ƀ' => 'ƀ',
+  'Ʉ' => 'ʉ',
+  'Ʌ' => 'ʌ',
+  'Ɇ' => 'ɇ',
+  'Ɉ' => 'ɉ',
+  'Ɋ' => 'ɋ',
+  'Ɍ' => 'ɍ',
+  'Ɏ' => 'ɏ',
+  'Ͱ' => 'ͱ',
+  'Ͳ' => 'ͳ',
+  'Ͷ' => 'ͷ',
+  'Ϳ' => 'ϳ',
+  'Ά' => 'ά',
+  'Έ' => 'έ',
+  'Ή' => 'ή',
+  'Ί' => 'ί',
+  'Ό' => 'ό',
+  'Ύ' => 'ύ',
+  'Ώ' => 'ώ',
+  'Α' => 'α',
+  'Β' => 'β',
+  'Γ' => 'γ',
+  'Δ' => 'δ',
+  'Ε' => 'ε',
+  'Ζ' => 'ζ',
+  'Η' => 'η',
+  'Θ' => 'θ',
+  'Ι' => 'ι',
+  'Κ' => 'κ',
+  'Λ' => 'λ',
+  'Μ' => 'μ',
+  'Ν' => 'ν',
+  'Ξ' => 'ξ',
+  'Ο' => 'ο',
+  'Π' => 'π',
+  'Ρ' => 'ρ',
+  'Σ' => 'σ',
+  'Τ' => 'τ',
+  'Υ' => 'υ',
+  'Φ' => 'φ',
+  'Χ' => 'χ',
+  'Ψ' => 'ψ',
+  'Ω' => 'ω',
+  'Ϊ' => 'ϊ',
+  'Ϋ' => 'ϋ',
+  'Ϗ' => 'ϗ',
+  'Ϙ' => 'ϙ',
+  'Ϛ' => 'ϛ',
+  'Ϝ' => 'ϝ',
+  'Ϟ' => 'ϟ',
+  'Ϡ' => 'ϡ',
+  'Ϣ' => 'ϣ',
+  'Ϥ' => 'ϥ',
+  'Ϧ' => 'ϧ',
+  'Ϩ' => 'ϩ',
+  'Ϫ' => 'ϫ',
+  'Ϭ' => 'ϭ',
+  'Ϯ' => 'ϯ',
+  'ϴ' => 'θ',
+  'Ϸ' => 'ϸ',
+  'Ϲ' => 'ϲ',
+  'Ϻ' => 'ϻ',
+  'Ͻ' => 'ͻ',
+  'Ͼ' => 'ͼ',
+  'Ͽ' => 'ͽ',
+  'Ѐ' => 'ѐ',
+  'Ё' => 'ё',
+  'Ђ' => 'ђ',
+  'Ѓ' => 'ѓ',
+  'Є' => 'є',
+  'Ѕ' => 'ѕ',
+  'І' => 'і',
+  'Ї' => 'ї',
+  'Ј' => 'ј',
+  'Љ' => 'љ',
+  'Њ' => 'њ',
+  'Ћ' => 'ћ',
+  'Ќ' => 'ќ',
+  'Ѝ' => 'ѝ',
+  'Ў' => 'ў',
+  'Џ' => 'џ',
+  'А' => 'а',
+  'Б' => 'б',
+  'В' => 'в',
+  'Г' => 'г',
+  'Д' => 'д',
+  'Е' => 'е',
+  'Ж' => 'ж',
+  'З' => 'з',
+  'И' => 'и',
+  'Й' => 'й',
+  'К' => 'к',
+  'Л' => 'л',
+  'М' => 'м',
+  'Н' => 'н',
+  'О' => 'о',
+  'П' => 'п',
+  'Р' => 'р',
+  'С' => 'с',
+  'Т' => 'т',
+  'У' => 'у',
+  'Ф' => 'ф',
+  'Х' => 'х',
+  'Ц' => 'ц',
+  'Ч' => 'ч',
+  'Ш' => 'ш',
+  'Щ' => 'щ',
+  'Ъ' => 'ъ',
+  'Ы' => 'ы',
+  'Ь' => 'ь',
+  'Э' => 'э',
+  'Ю' => 'ю',
+  'Я' => 'я',
+  'Ѡ' => 'ѡ',
+  'Ѣ' => 'ѣ',
+  'Ѥ' => 'ѥ',
+  'Ѧ' => 'ѧ',
+  'Ѩ' => 'ѩ',
+  'Ѫ' => 'ѫ',
+  'Ѭ' => 'ѭ',
+  'Ѯ' => 'ѯ',
+  'Ѱ' => 'ѱ',
+  'Ѳ' => 'ѳ',
+  'Ѵ' => 'ѵ',
+  'Ѷ' => 'ѷ',
+  'Ѹ' => 'ѹ',
+  'Ѻ' => 'ѻ',
+  'Ѽ' => 'ѽ',
+  'Ѿ' => 'ѿ',
+  'Ҁ' => 'ҁ',
+  'Ҋ' => 'ҋ',
+  'Ҍ' => 'ҍ',
+  'Ҏ' => 'ҏ',
+  'Ґ' => 'ґ',
+  'Ғ' => 'ғ',
+  'Ҕ' => 'ҕ',
+  'Җ' => 'җ',
+  'Ҙ' => 'ҙ',
+  'Қ' => 'қ',
+  'Ҝ' => 'ҝ',
+  'Ҟ' => 'ҟ',
+  'Ҡ' => 'ҡ',
+  'Ң' => 'ң',
+  'Ҥ' => 'ҥ',
+  'Ҧ' => 'ҧ',
+  'Ҩ' => 'ҩ',
+  'Ҫ' => 'ҫ',
+  'Ҭ' => 'ҭ',
+  'Ү' => 'ү',
+  'Ұ' => 'ұ',
+  'Ҳ' => 'ҳ',
+  'Ҵ' => 'ҵ',
+  'Ҷ' => 'ҷ',
+  'Ҹ' => 'ҹ',
+  'Һ' => 'һ',
+  'Ҽ' => 'ҽ',
+  'Ҿ' => 'ҿ',
+  'Ӏ' => 'ӏ',
+  'Ӂ' => 'ӂ',
+  'Ӄ' => 'ӄ',
+  'Ӆ' => 'ӆ',
+  'Ӈ' => 'ӈ',
+  'Ӊ' => 'ӊ',
+  'Ӌ' => 'ӌ',
+  'Ӎ' => 'ӎ',
+  'Ӑ' => 'ӑ',
+  'Ӓ' => 'ӓ',
+  'Ӕ' => 'ӕ',
+  'Ӗ' => 'ӗ',
+  'Ә' => 'ә',
+  'Ӛ' => 'ӛ',
+  'Ӝ' => 'ӝ',
+  'Ӟ' => 'ӟ',
+  'Ӡ' => 'ӡ',
+  'Ӣ' => 'ӣ',
+  'Ӥ' => 'ӥ',
+  'Ӧ' => 'ӧ',
+  'Ө' => 'ө',
+  'Ӫ' => 'ӫ',
+  'Ӭ' => 'ӭ',
+  'Ӯ' => 'ӯ',
+  'Ӱ' => 'ӱ',
+  'Ӳ' => 'ӳ',
+  'Ӵ' => 'ӵ',
+  'Ӷ' => 'ӷ',
+  'Ӹ' => 'ӹ',
+  'Ӻ' => 'ӻ',
+  'Ӽ' => 'ӽ',
+  'Ӿ' => 'ӿ',
+  'Ԁ' => 'ԁ',
+  'Ԃ' => 'ԃ',
+  'Ԅ' => 'ԅ',
+  'Ԇ' => 'ԇ',
+  'Ԉ' => 'ԉ',
+  'Ԋ' => 'ԋ',
+  'Ԍ' => 'ԍ',
+  'Ԏ' => 'ԏ',
+  'Ԑ' => 'ԑ',
+  'Ԓ' => 'ԓ',
+  'Ԕ' => 'ԕ',
+  'Ԗ' => 'ԗ',
+  'Ԙ' => 'ԙ',
+  'Ԛ' => 'ԛ',
+  'Ԝ' => 'ԝ',
+  'Ԟ' => 'ԟ',
+  'Ԡ' => 'ԡ',
+  'Ԣ' => 'ԣ',
+  'Ԥ' => 'ԥ',
+  'Ԧ' => 'ԧ',
+  'Ԩ' => 'ԩ',
+  'Ԫ' => 'ԫ',
+  'Ԭ' => 'ԭ',
+  'Ԯ' => 'ԯ',
+  'Ա' => 'ա',
+  'Բ' => 'բ',
+  'Գ' => 'գ',
+  'Դ' => 'դ',
+  'Ե' => 'ե',
+  'Զ' => 'զ',
+  'Է' => 'է',
+  'Ը' => 'ը',
+  'Թ' => 'թ',
+  'Ժ' => 'ժ',
+  'Ի' => 'ի',
+  'Լ' => 'լ',
+  'Խ' => 'խ',
+  'Ծ' => 'ծ',
+  'Կ' => 'կ',
+  'Հ' => 'հ',
+  'Ձ' => 'ձ',
+  'Ղ' => 'ղ',
+  'Ճ' => 'ճ',
+  'Մ' => 'մ',
+  'Յ' => 'յ',
+  'Ն' => 'ն',
+  'Շ' => 'շ',
+  'Ո' => 'ո',
+  'Չ' => 'չ',
+  'Պ' => 'պ',
+  'Ջ' => 'ջ',
+  'Ռ' => 'ռ',
+  'Ս' => 'ս',
+  'Վ' => 'վ',
+  'Տ' => 'տ',
+  'Ր' => 'ր',
+  'Ց' => 'ց',
+  'Ւ' => 'ւ',
+  'Փ' => 'փ',
+  'Ք' => 'ք',
+  'Օ' => 'օ',
+  'Ֆ' => 'ֆ',
+  'Ⴀ' => 'ⴀ',
+  'Ⴁ' => 'ⴁ',
+  'Ⴂ' => 'ⴂ',
+  'Ⴃ' => 'ⴃ',
+  'Ⴄ' => 'ⴄ',
+  'Ⴅ' => 'ⴅ',
+  'Ⴆ' => 'ⴆ',
+  'Ⴇ' => 'ⴇ',
+  'Ⴈ' => 'ⴈ',
+  'Ⴉ' => 'ⴉ',
+  'Ⴊ' => 'ⴊ',
+  'Ⴋ' => 'ⴋ',
+  'Ⴌ' => 'ⴌ',
+  'Ⴍ' => 'ⴍ',
+  'Ⴎ' => 'ⴎ',
+  'Ⴏ' => 'ⴏ',
+  'Ⴐ' => 'ⴐ',
+  'Ⴑ' => 'ⴑ',
+  'Ⴒ' => 'ⴒ',
+  'Ⴓ' => 'ⴓ',
+  'Ⴔ' => 'ⴔ',
+  'Ⴕ' => 'ⴕ',
+  'Ⴖ' => 'ⴖ',
+  'Ⴗ' => 'ⴗ',
+  'Ⴘ' => 'ⴘ',
+  'Ⴙ' => 'ⴙ',
+  'Ⴚ' => 'ⴚ',
+  'Ⴛ' => 'ⴛ',
+  'Ⴜ' => 'ⴜ',
+  'Ⴝ' => 'ⴝ',
+  'Ⴞ' => 'ⴞ',
+  'Ⴟ' => 'ⴟ',
+  'Ⴠ' => 'ⴠ',
+  'Ⴡ' => 'ⴡ',
+  'Ⴢ' => 'ⴢ',
+  'Ⴣ' => 'ⴣ',
+  'Ⴤ' => 'ⴤ',
+  'Ⴥ' => 'ⴥ',
+  'Ⴧ' => 'ⴧ',
+  'Ⴭ' => 'ⴭ',
+  'Ꭰ' => 'ꭰ',
+  'Ꭱ' => 'ꭱ',
+  'Ꭲ' => 'ꭲ',
+  'Ꭳ' => 'ꭳ',
+  'Ꭴ' => 'ꭴ',
+  'Ꭵ' => 'ꭵ',
+  'Ꭶ' => 'ꭶ',
+  'Ꭷ' => 'ꭷ',
+  'Ꭸ' => 'ꭸ',
+  'Ꭹ' => 'ꭹ',
+  'Ꭺ' => 'ꭺ',
+  'Ꭻ' => 'ꭻ',
+  'Ꭼ' => 'ꭼ',
+  'Ꭽ' => 'ꭽ',
+  'Ꭾ' => 'ꭾ',
+  'Ꭿ' => 'ꭿ',
+  'Ꮀ' => 'ꮀ',
+  'Ꮁ' => 'ꮁ',
+  'Ꮂ' => 'ꮂ',
+  'Ꮃ' => 'ꮃ',
+  'Ꮄ' => 'ꮄ',
+  'Ꮅ' => 'ꮅ',
+  'Ꮆ' => 'ꮆ',
+  'Ꮇ' => 'ꮇ',
+  'Ꮈ' => 'ꮈ',
+  'Ꮉ' => 'ꮉ',
+  'Ꮊ' => 'ꮊ',
+  'Ꮋ' => 'ꮋ',
+  'Ꮌ' => 'ꮌ',
+  'Ꮍ' => 'ꮍ',
+  'Ꮎ' => 'ꮎ',
+  'Ꮏ' => 'ꮏ',
+  'Ꮐ' => 'ꮐ',
+  'Ꮑ' => 'ꮑ',
+  'Ꮒ' => 'ꮒ',
+  'Ꮓ' => 'ꮓ',
+  'Ꮔ' => 'ꮔ',
+  'Ꮕ' => 'ꮕ',
+  'Ꮖ' => 'ꮖ',
+  'Ꮗ' => 'ꮗ',
+  'Ꮘ' => 'ꮘ',
+  'Ꮙ' => 'ꮙ',
+  'Ꮚ' => 'ꮚ',
+  'Ꮛ' => 'ꮛ',
+  'Ꮜ' => 'ꮜ',
+  'Ꮝ' => 'ꮝ',
+  'Ꮞ' => 'ꮞ',
+  'Ꮟ' => 'ꮟ',
+  'Ꮠ' => 'ꮠ',
+  'Ꮡ' => 'ꮡ',
+  'Ꮢ' => 'ꮢ',
+  'Ꮣ' => 'ꮣ',
+  'Ꮤ' => 'ꮤ',
+  'Ꮥ' => 'ꮥ',
+  'Ꮦ' => 'ꮦ',
+  'Ꮧ' => 'ꮧ',
+  'Ꮨ' => 'ꮨ',
+  'Ꮩ' => 'ꮩ',
+  'Ꮪ' => 'ꮪ',
+  'Ꮫ' => 'ꮫ',
+  'Ꮬ' => 'ꮬ',
+  'Ꮭ' => 'ꮭ',
+  'Ꮮ' => 'ꮮ',
+  'Ꮯ' => 'ꮯ',
+  'Ꮰ' => 'ꮰ',
+  'Ꮱ' => 'ꮱ',
+  'Ꮲ' => 'ꮲ',
+  'Ꮳ' => 'ꮳ',
+  'Ꮴ' => 'ꮴ',
+  'Ꮵ' => 'ꮵ',
+  'Ꮶ' => 'ꮶ',
+  'Ꮷ' => 'ꮷ',
+  'Ꮸ' => 'ꮸ',
+  'Ꮹ' => 'ꮹ',
+  'Ꮺ' => 'ꮺ',
+  'Ꮻ' => 'ꮻ',
+  'Ꮼ' => 'ꮼ',
+  'Ꮽ' => 'ꮽ',
+  'Ꮾ' => 'ꮾ',
+  'Ꮿ' => 'ꮿ',
+  'Ᏸ' => 'ᏸ',
+  'Ᏹ' => 'ᏹ',
+  'Ᏺ' => 'ᏺ',
+  'Ᏻ' => 'ᏻ',
+  'Ᏼ' => 'ᏼ',
+  'Ᏽ' => 'ᏽ',
+  'Ა' => 'ა',
+  'Ბ' => 'ბ',
+  'Გ' => 'გ',
+  'Დ' => 'დ',
+  'Ე' => 'ე',
+  'Ვ' => 'ვ',
+  'Ზ' => 'ზ',
+  'Თ' => 'თ',
+  'Ი' => 'ი',
+  'Კ' => 'კ',
+  'Ლ' => 'ლ',
+  'Მ' => 'მ',
+  'Ნ' => 'ნ',
+  'Ო' => 'ო',
+  'Პ' => 'პ',
+  'Ჟ' => 'ჟ',
+  'Რ' => 'რ',
+  'Ს' => 'ს',
+  'Ტ' => 'ტ',
+  'Უ' => 'უ',
+  'Ფ' => 'ფ',
+  'Ქ' => 'ქ',
+  'Ღ' => 'ღ',
+  'Ყ' => 'ყ',
+  'Შ' => 'შ',
+  'Ჩ' => 'ჩ',
+  'Ც' => 'ც',
+  'Ძ' => 'ძ',
+  'Წ' => 'წ',
+  'Ჭ' => 'ჭ',
+  'Ხ' => 'ხ',
+  'Ჯ' => 'ჯ',
+  'Ჰ' => 'ჰ',
+  'Ჱ' => 'ჱ',
+  'Ჲ' => 'ჲ',
+  'Ჳ' => 'ჳ',
+  'Ჴ' => 'ჴ',
+  'Ჵ' => 'ჵ',
+  'Ჶ' => 'ჶ',
+  'Ჷ' => 'ჷ',
+  'Ჸ' => 'ჸ',
+  'Ჹ' => 'ჹ',
+  'Ჺ' => 'ჺ',
+  'Ჽ' => 'ჽ',
+  'Ჾ' => 'ჾ',
+  'Ჿ' => 'ჿ',
+  'Ḁ' => 'ḁ',
+  'Ḃ' => 'ḃ',
+  'Ḅ' => 'ḅ',
+  'Ḇ' => 'ḇ',
+  'Ḉ' => 'ḉ',
+  'Ḋ' => 'ḋ',
+  'Ḍ' => 'ḍ',
+  'Ḏ' => 'ḏ',
+  'Ḑ' => 'ḑ',
+  'Ḓ' => 'ḓ',
+  'Ḕ' => 'ḕ',
+  'Ḗ' => 'ḗ',
+  'Ḙ' => 'ḙ',
+  'Ḛ' => 'ḛ',
+  'Ḝ' => 'ḝ',
+  'Ḟ' => 'ḟ',
+  'Ḡ' => 'ḡ',
+  'Ḣ' => 'ḣ',
+  'Ḥ' => 'ḥ',
+  'Ḧ' => 'ḧ',
+  'Ḩ' => 'ḩ',
+  'Ḫ' => 'ḫ',
+  'Ḭ' => 'ḭ',
+  'Ḯ' => 'ḯ',
+  'Ḱ' => 'ḱ',
+  'Ḳ' => 'ḳ',
+  'Ḵ' => 'ḵ',
+  'Ḷ' => 'ḷ',
+  'Ḹ' => 'ḹ',
+  'Ḻ' => 'ḻ',
+  'Ḽ' => 'ḽ',
+  'Ḿ' => 'ḿ',
+  'Ṁ' => 'ṁ',
+  'Ṃ' => 'ṃ',
+  'Ṅ' => 'ṅ',
+  'Ṇ' => 'ṇ',
+  'Ṉ' => 'ṉ',
+  'Ṋ' => 'ṋ',
+  'Ṍ' => 'ṍ',
+  'Ṏ' => 'ṏ',
+  'Ṑ' => 'ṑ',
+  'Ṓ' => 'ṓ',
+  'Ṕ' => 'ṕ',
+  'Ṗ' => 'ṗ',
+  'Ṙ' => 'ṙ',
+  'Ṛ' => 'ṛ',
+  'Ṝ' => 'ṝ',
+  'Ṟ' => 'ṟ',
+  'Ṡ' => 'ṡ',
+  'Ṣ' => 'ṣ',
+  'Ṥ' => 'ṥ',
+  'Ṧ' => 'ṧ',
+  'Ṩ' => 'ṩ',
+  'Ṫ' => 'ṫ',
+  'Ṭ' => 'ṭ',
+  'Ṯ' => 'ṯ',
+  'Ṱ' => 'ṱ',
+  'Ṳ' => 'ṳ',
+  'Ṵ' => 'ṵ',
+  'Ṷ' => 'ṷ',
+  'Ṹ' => 'ṹ',
+  'Ṻ' => 'ṻ',
+  'Ṽ' => 'ṽ',
+  'Ṿ' => 'ṿ',
+  'Ẁ' => 'ẁ',
+  'Ẃ' => 'ẃ',
+  'Ẅ' => 'ẅ',
+  'Ẇ' => 'ẇ',
+  'Ẉ' => 'ẉ',
+  'Ẋ' => 'ẋ',
+  'Ẍ' => 'ẍ',
+  'Ẏ' => 'ẏ',
+  'Ẑ' => 'ẑ',
+  'Ẓ' => 'ẓ',
+  'Ẕ' => 'ẕ',
+  'ẞ' => 'ß',
+  'Ạ' => 'ạ',
+  'Ả' => 'ả',
+  'Ấ' => 'ấ',
+  'Ầ' => 'ầ',
+  'Ẩ' => 'ẩ',
+  'Ẫ' => 'ẫ',
+  'Ậ' => 'ậ',
+  'Ắ' => 'ắ',
+  'Ằ' => 'ằ',
+  'Ẳ' => 'ẳ',
+  'Ẵ' => 'ẵ',
+  'Ặ' => 'ặ',
+  'Ẹ' => 'ẹ',
+  'Ẻ' => 'ẻ',
+  'Ẽ' => 'ẽ',
+  'Ế' => 'ế',
+  'Ề' => 'ề',
+  'Ể' => 'ể',
+  'Ễ' => 'ễ',
+  'Ệ' => 'ệ',
+  'Ỉ' => 'ỉ',
+  'Ị' => 'ị',
+  'Ọ' => 'ọ',
+  'Ỏ' => 'ỏ',
+  'Ố' => 'ố',
+  'Ồ' => 'ồ',
+  'Ổ' => 'ổ',
+  'Ỗ' => 'ỗ',
+  'Ộ' => 'ộ',
+  'Ớ' => 'ớ',
+  'Ờ' => 'ờ',
+  'Ở' => 'ở',
+  'Ỡ' => 'ỡ',
+  'Ợ' => 'ợ',
+  'Ụ' => 'ụ',
+  'Ủ' => 'ủ',
+  'Ứ' => 'ứ',
+  'Ừ' => 'ừ',
+  'Ử' => 'ử',
+  'Ữ' => 'ữ',
+  'Ự' => 'ự',
+  'Ỳ' => 'ỳ',
+  'Ỵ' => 'ỵ',
+  'Ỷ' => 'ỷ',
+  'Ỹ' => 'ỹ',
+  'Ỻ' => 'ỻ',
+  'Ỽ' => 'ỽ',
+  'Ỿ' => 'ỿ',
+  'Ἀ' => 'ἀ',
+  'Ἁ' => 'ἁ',
+  'Ἂ' => 'ἂ',
+  'Ἃ' => 'ἃ',
+  'Ἄ' => 'ἄ',
+  'Ἅ' => 'ἅ',
+  'Ἆ' => 'ἆ',
+  'Ἇ' => 'ἇ',
+  'Ἐ' => 'ἐ',
+  'Ἑ' => 'ἑ',
+  'Ἒ' => 'ἒ',
+  'Ἓ' => 'ἓ',
+  'Ἔ' => 'ἔ',
+  'Ἕ' => 'ἕ',
+  'Ἠ' => 'ἠ',
+  'Ἡ' => 'ἡ',
+  'Ἢ' => 'ἢ',
+  'Ἣ' => 'ἣ',
+  'Ἤ' => 'ἤ',
+  'Ἥ' => 'ἥ',
+  'Ἦ' => 'ἦ',
+  'Ἧ' => 'ἧ',
+  'Ἰ' => 'ἰ',
+  'Ἱ' => 'ἱ',
+  'Ἲ' => 'ἲ',
+  'Ἳ' => 'ἳ',
+  'Ἴ' => 'ἴ',
+  'Ἵ' => 'ἵ',
+  'Ἶ' => 'ἶ',
+  'Ἷ' => 'ἷ',
+  'Ὀ' => 'ὀ',
+  'Ὁ' => 'ὁ',
+  'Ὂ' => 'ὂ',
+  'Ὃ' => 'ὃ',
+  'Ὄ' => 'ὄ',
+  'Ὅ' => 'ὅ',
+  'Ὑ' => 'ὑ',
+  'Ὓ' => 'ὓ',
+  'Ὕ' => 'ὕ',
+  'Ὗ' => 'ὗ',
+  'Ὠ' => 'ὠ',
+  'Ὡ' => 'ὡ',
+  'Ὢ' => 'ὢ',
+  'Ὣ' => 'ὣ',
+  'Ὤ' => 'ὤ',
+  'Ὥ' => 'ὥ',
+  'Ὦ' => 'ὦ',
+  'Ὧ' => 'ὧ',
+  'ᾈ' => 'ᾀ',
+  'ᾉ' => 'ᾁ',
+  'ᾊ' => 'ᾂ',
+  'ᾋ' => 'ᾃ',
+  'ᾌ' => 'ᾄ',
+  'ᾍ' => 'ᾅ',
+  'ᾎ' => 'ᾆ',
+  'ᾏ' => 'ᾇ',
+  'ᾘ' => 'ᾐ',
+  'ᾙ' => 'ᾑ',
+  'ᾚ' => 'ᾒ',
+  'ᾛ' => 'ᾓ',
+  'ᾜ' => 'ᾔ',
+  'ᾝ' => 'ᾕ',
+  'ᾞ' => 'ᾖ',
+  'ᾟ' => 'ᾗ',
+  'ᾨ' => 'ᾠ',
+  'ᾩ' => 'ᾡ',
+  'ᾪ' => 'ᾢ',
+  'ᾫ' => 'ᾣ',
+  'ᾬ' => 'ᾤ',
+  'ᾭ' => 'ᾥ',
+  'ᾮ' => 'ᾦ',
+  'ᾯ' => 'ᾧ',
+  'Ᾰ' => 'ᾰ',
+  'Ᾱ' => 'ᾱ',
+  'Ὰ' => 'ὰ',
+  'Ά' => 'ά',
+  'ᾼ' => 'ᾳ',
+  'Ὲ' => 'ὲ',
+  'Έ' => 'έ',
+  'Ὴ' => 'ὴ',
+  'Ή' => 'ή',
+  'ῌ' => 'ῃ',
+  'Ῐ' => 'ῐ',
+  'Ῑ' => 'ῑ',
+  'Ὶ' => 'ὶ',
+  'Ί' => 'ί',
+  'Ῠ' => 'ῠ',
+  'Ῡ' => 'ῡ',
+  'Ὺ' => 'ὺ',
+  'Ύ' => 'ύ',
+  'Ῥ' => 'ῥ',
+  'Ὸ' => 'ὸ',
+  'Ό' => 'ό',
+  'Ὼ' => 'ὼ',
+  'Ώ' => 'ώ',
+  'ῼ' => 'ῳ',
+  'Ω' => 'ω',
+  'K' => 'k',
+  'Å' => 'å',
+  'Ⅎ' => 'ⅎ',
+  'Ⅰ' => 'ⅰ',
+  'Ⅱ' => 'ⅱ',
+  'Ⅲ' => 'ⅲ',
+  'Ⅳ' => 'ⅳ',
+  'Ⅴ' => 'ⅴ',
+  'Ⅵ' => 'ⅵ',
+  'Ⅶ' => 'ⅶ',
+  'Ⅷ' => 'ⅷ',
+  'Ⅸ' => 'ⅸ',
+  'Ⅹ' => 'ⅹ',
+  'Ⅺ' => 'ⅺ',
+  'Ⅻ' => 'ⅻ',
+  'Ⅼ' => 'ⅼ',
+  'Ⅽ' => 'ⅽ',
+  'Ⅾ' => 'ⅾ',
+  'Ⅿ' => 'ⅿ',
+  'Ↄ' => 'ↄ',
+  'Ⓐ' => 'ⓐ',
+  'Ⓑ' => 'ⓑ',
+  'Ⓒ' => 'ⓒ',
+  'Ⓓ' => 'ⓓ',
+  'Ⓔ' => 'ⓔ',
+  'Ⓕ' => 'ⓕ',
+  'Ⓖ' => 'ⓖ',
+  'Ⓗ' => 'ⓗ',
+  'Ⓘ' => 'ⓘ',
+  'Ⓙ' => 'ⓙ',
+  'Ⓚ' => 'ⓚ',
+  'Ⓛ' => 'ⓛ',
+  'Ⓜ' => 'ⓜ',
+  'Ⓝ' => 'ⓝ',
+  'Ⓞ' => 'ⓞ',
+  'Ⓟ' => 'ⓟ',
+  'Ⓠ' => 'ⓠ',
+  'Ⓡ' => 'ⓡ',
+  'Ⓢ' => 'ⓢ',
+  'Ⓣ' => 'ⓣ',
+  'Ⓤ' => 'ⓤ',
+  'Ⓥ' => 'ⓥ',
+  'Ⓦ' => 'ⓦ',
+  'Ⓧ' => 'ⓧ',
+  'Ⓨ' => 'ⓨ',
+  'Ⓩ' => 'ⓩ',
+  'Ⰰ' => 'ⰰ',
+  'Ⰱ' => 'ⰱ',
+  'Ⰲ' => 'ⰲ',
+  'Ⰳ' => 'ⰳ',
+  'Ⰴ' => 'ⰴ',
+  'Ⰵ' => 'ⰵ',
+  'Ⰶ' => 'ⰶ',
+  'Ⰷ' => 'ⰷ',
+  'Ⰸ' => 'ⰸ',
+  'Ⰹ' => 'ⰹ',
+  'Ⰺ' => 'ⰺ',
+  'Ⰻ' => 'ⰻ',
+  'Ⰼ' => 'ⰼ',
+  'Ⰽ' => 'ⰽ',
+  'Ⰾ' => 'ⰾ',
+  'Ⰿ' => 'ⰿ',
+  'Ⱀ' => 'ⱀ',
+  'Ⱁ' => 'ⱁ',
+  'Ⱂ' => 'ⱂ',
+  'Ⱃ' => 'ⱃ',
+  'Ⱄ' => 'ⱄ',
+  'Ⱅ' => 'ⱅ',
+  'Ⱆ' => 'ⱆ',
+  'Ⱇ' => 'ⱇ',
+  'Ⱈ' => 'ⱈ',
+  'Ⱉ' => 'ⱉ',
+  'Ⱊ' => 'ⱊ',
+  'Ⱋ' => 'ⱋ',
+  'Ⱌ' => 'ⱌ',
+  'Ⱍ' => 'ⱍ',
+  'Ⱎ' => 'ⱎ',
+  'Ⱏ' => 'ⱏ',
+  'Ⱐ' => 'ⱐ',
+  'Ⱑ' => 'ⱑ',
+  'Ⱒ' => 'ⱒ',
+  'Ⱓ' => 'ⱓ',
+  'Ⱔ' => 'ⱔ',
+  'Ⱕ' => 'ⱕ',
+  'Ⱖ' => 'ⱖ',
+  'Ⱗ' => 'ⱗ',
+  'Ⱘ' => 'ⱘ',
+  'Ⱙ' => 'ⱙ',
+  'Ⱚ' => 'ⱚ',
+  'Ⱛ' => 'ⱛ',
+  'Ⱜ' => 'ⱜ',
+  'Ⱝ' => 'ⱝ',
+  'Ⱞ' => 'ⱞ',
+  'Ⱡ' => 'ⱡ',
+  'Ɫ' => 'ɫ',
+  'Ᵽ' => 'ᵽ',
+  'Ɽ' => 'ɽ',
+  'Ⱨ' => 'ⱨ',
+  'Ⱪ' => 'ⱪ',
+  'Ⱬ' => 'ⱬ',
+  'Ɑ' => 'ɑ',
+  'Ɱ' => 'ɱ',
+  'Ɐ' => 'ɐ',
+  'Ɒ' => 'ɒ',
+  'Ⱳ' => 'ⱳ',
+  'Ⱶ' => 'ⱶ',
+  'Ȿ' => 'ȿ',
+  'Ɀ' => 'ɀ',
+  'Ⲁ' => 'ⲁ',
+  'Ⲃ' => 'ⲃ',
+  'Ⲅ' => 'ⲅ',
+  'Ⲇ' => 'ⲇ',
+  'Ⲉ' => 'ⲉ',
+  'Ⲋ' => 'ⲋ',
+  'Ⲍ' => 'ⲍ',
+  'Ⲏ' => 'ⲏ',
+  'Ⲑ' => 'ⲑ',
+  'Ⲓ' => 'ⲓ',
+  'Ⲕ' => 'ⲕ',
+  'Ⲗ' => 'ⲗ',
+  'Ⲙ' => 'ⲙ',
+  'Ⲛ' => 'ⲛ',
+  'Ⲝ' => 'ⲝ',
+  'Ⲟ' => 'ⲟ',
+  'Ⲡ' => 'ⲡ',
+  'Ⲣ' => 'ⲣ',
+  'Ⲥ' => 'ⲥ',
+  'Ⲧ' => 'ⲧ',
+  'Ⲩ' => 'ⲩ',
+  'Ⲫ' => 'ⲫ',
+  'Ⲭ' => 'ⲭ',
+  'Ⲯ' => 'ⲯ',
+  'Ⲱ' => 'ⲱ',
+  'Ⲳ' => 'ⲳ',
+  'Ⲵ' => 'ⲵ',
+  'Ⲷ' => 'ⲷ',
+  'Ⲹ' => 'ⲹ',
+  'Ⲻ' => 'ⲻ',
+  'Ⲽ' => 'ⲽ',
+  'Ⲿ' => 'ⲿ',
+  'Ⳁ' => 'ⳁ',
+  'Ⳃ' => 'ⳃ',
+  'Ⳅ' => 'ⳅ',
+  'Ⳇ' => 'ⳇ',
+  'Ⳉ' => 'ⳉ',
+  'Ⳋ' => 'ⳋ',
+  'Ⳍ' => 'ⳍ',
+  'Ⳏ' => 'ⳏ',
+  'Ⳑ' => 'ⳑ',
+  'Ⳓ' => 'ⳓ',
+  'Ⳕ' => 'ⳕ',
+  'Ⳗ' => 'ⳗ',
+  'Ⳙ' => 'ⳙ',
+  'Ⳛ' => 'ⳛ',
+  'Ⳝ' => 'ⳝ',
+  'Ⳟ' => 'ⳟ',
+  'Ⳡ' => 'ⳡ',
+  'Ⳣ' => 'ⳣ',
+  'Ⳬ' => 'ⳬ',
+  'Ⳮ' => 'ⳮ',
+  'Ⳳ' => 'ⳳ',
+  'Ꙁ' => 'ꙁ',
+  'Ꙃ' => 'ꙃ',
+  'Ꙅ' => 'ꙅ',
+  'Ꙇ' => 'ꙇ',
+  'Ꙉ' => 'ꙉ',
+  'Ꙋ' => 'ꙋ',
+  'Ꙍ' => 'ꙍ',
+  'Ꙏ' => 'ꙏ',
+  'Ꙑ' => 'ꙑ',
+  'Ꙓ' => 'ꙓ',
+  'Ꙕ' => 'ꙕ',
+  'Ꙗ' => 'ꙗ',
+  'Ꙙ' => 'ꙙ',
+  'Ꙛ' => 'ꙛ',
+  'Ꙝ' => 'ꙝ',
+  'Ꙟ' => 'ꙟ',
+  'Ꙡ' => 'ꙡ',
+  'Ꙣ' => 'ꙣ',
+  'Ꙥ' => 'ꙥ',
+  'Ꙧ' => 'ꙧ',
+  'Ꙩ' => 'ꙩ',
+  'Ꙫ' => 'ꙫ',
+  'Ꙭ' => 'ꙭ',
+  'Ꚁ' => 'ꚁ',
+  'Ꚃ' => 'ꚃ',
+  'Ꚅ' => 'ꚅ',
+  'Ꚇ' => 'ꚇ',
+  'Ꚉ' => 'ꚉ',
+  'Ꚋ' => 'ꚋ',
+  'Ꚍ' => 'ꚍ',
+  'Ꚏ' => 'ꚏ',
+  'Ꚑ' => 'ꚑ',
+  'Ꚓ' => 'ꚓ',
+  'Ꚕ' => 'ꚕ',
+  'Ꚗ' => 'ꚗ',
+  'Ꚙ' => 'ꚙ',
+  'Ꚛ' => 'ꚛ',
+  'Ꜣ' => 'ꜣ',
+  'Ꜥ' => 'ꜥ',
+  'Ꜧ' => 'ꜧ',
+  'Ꜩ' => 'ꜩ',
+  'Ꜫ' => 'ꜫ',
+  'Ꜭ' => 'ꜭ',
+  'Ꜯ' => 'ꜯ',
+  'Ꜳ' => 'ꜳ',
+  'Ꜵ' => 'ꜵ',
+  'Ꜷ' => 'ꜷ',
+  'Ꜹ' => 'ꜹ',
+  'Ꜻ' => 'ꜻ',
+  'Ꜽ' => 'ꜽ',
+  'Ꜿ' => 'ꜿ',
+  'Ꝁ' => 'ꝁ',
+  'Ꝃ' => 'ꝃ',
+  'Ꝅ' => 'ꝅ',
+  'Ꝇ' => 'ꝇ',
+  'Ꝉ' => 'ꝉ',
+  'Ꝋ' => 'ꝋ',
+  'Ꝍ' => 'ꝍ',
+  'Ꝏ' => 'ꝏ',
+  'Ꝑ' => 'ꝑ',
+  'Ꝓ' => 'ꝓ',
+  'Ꝕ' => 'ꝕ',
+  'Ꝗ' => 'ꝗ',
+  'Ꝙ' => 'ꝙ',
+  'Ꝛ' => 'ꝛ',
+  'Ꝝ' => 'ꝝ',
+  'Ꝟ' => 'ꝟ',
+  'Ꝡ' => 'ꝡ',
+  'Ꝣ' => 'ꝣ',
+  'Ꝥ' => 'ꝥ',
+  'Ꝧ' => 'ꝧ',
+  'Ꝩ' => 'ꝩ',
+  'Ꝫ' => 'ꝫ',
+  'Ꝭ' => 'ꝭ',
+  'Ꝯ' => 'ꝯ',
+  'Ꝺ' => 'ꝺ',
+  'Ꝼ' => 'ꝼ',
+  'Ᵹ' => 'ᵹ',
+  'Ꝿ' => 'ꝿ',
+  'Ꞁ' => 'ꞁ',
+  'Ꞃ' => 'ꞃ',
+  'Ꞅ' => 'ꞅ',
+  'Ꞇ' => 'ꞇ',
+  'Ꞌ' => 'ꞌ',
+  'Ɥ' => 'ɥ',
+  'Ꞑ' => 'ꞑ',
+  'Ꞓ' => 'ꞓ',
+  'Ꞗ' => 'ꞗ',
+  'Ꞙ' => 'ꞙ',
+  'Ꞛ' => 'ꞛ',
+  'Ꞝ' => 'ꞝ',
+  'Ꞟ' => 'ꞟ',
+  'Ꞡ' => 'ꞡ',
+  'Ꞣ' => 'ꞣ',
+  'Ꞥ' => 'ꞥ',
+  'Ꞧ' => 'ꞧ',
+  'Ꞩ' => 'ꞩ',
+  'Ɦ' => 'ɦ',
+  'Ɜ' => 'ɜ',
+  'Ɡ' => 'ɡ',
+  'Ɬ' => 'ɬ',
+  'Ɪ' => 'ɪ',
+  'Ʞ' => 'ʞ',
+  'Ʇ' => 'ʇ',
+  'Ʝ' => 'ʝ',
+  'Ꭓ' => 'ꭓ',
+  'Ꞵ' => 'ꞵ',
+  'Ꞷ' => 'ꞷ',
+  'Ꞹ' => 'ꞹ',
+  'Ꞻ' => 'ꞻ',
+  'Ꞽ' => 'ꞽ',
+  'Ꞿ' => 'ꞿ',
+  'Ꟃ' => 'ꟃ',
+  'Ꞔ' => 'ꞔ',
+  'Ʂ' => 'ʂ',
+  'Ᶎ' => 'ᶎ',
+  'Ꟈ' => 'ꟈ',
+  'Ꟊ' => 'ꟊ',
+  'Ꟶ' => 'ꟶ',
+  'Ａ' => 'ａ',
+  'Ｂ' => 'ｂ',
+  'Ｃ' => 'ｃ',
+  'Ｄ' => 'ｄ',
+  'Ｅ' => 'ｅ',
+  'Ｆ' => 'ｆ',
+  'Ｇ' => 'ｇ',
+  'Ｈ' => 'ｈ',
+  'Ｉ' => 'ｉ',
+  'Ｊ' => 'ｊ',
+  'Ｋ' => 'ｋ',
+  'Ｌ' => 'ｌ',
+  'Ｍ' => 'ｍ',
+  'Ｎ' => 'ｎ',
+  'Ｏ' => 'ｏ',
+  'Ｐ' => 'ｐ',
+  'Ｑ' => 'ｑ',
+  'Ｒ' => 'ｒ',
+  'Ｓ' => 'ｓ',
+  'Ｔ' => 'ｔ',
+  'Ｕ' => 'ｕ',
+  'Ｖ' => 'ｖ',
+  'Ｗ' => 'ｗ',
+  'Ｘ' => 'ｘ',
+  'Ｙ' => 'ｙ',
+  'Ｚ' => 'ｚ',
+  '𐐀' => '𐐨',
+  '𐐁' => '𐐩',
+  '𐐂' => '𐐪',
+  '𐐃' => '𐐫',
+  '𐐄' => '𐐬',
+  '𐐅' => '𐐭',
+  '𐐆' => '𐐮',
+  '𐐇' => '𐐯',
+  '𐐈' => '𐐰',
+  '𐐉' => '𐐱',
+  '𐐊' => '𐐲',
+  '𐐋' => '𐐳',
+  '𐐌' => '𐐴',
+  '𐐍' => '𐐵',
+  '𐐎' => '𐐶',
+  '𐐏' => '𐐷',
+  '𐐐' => '𐐸',
+  '𐐑' => '𐐹',
+  '𐐒' => '𐐺',
+  '𐐓' => '𐐻',
+  '𐐔' => '𐐼',
+  '𐐕' => '𐐽',
+  '𐐖' => '𐐾',
+  '𐐗' => '𐐿',
+  '𐐘' => '𐑀',
+  '𐐙' => '𐑁',
+  '𐐚' => '𐑂',
+  '𐐛' => '𐑃',
+  '𐐜' => '𐑄',
+  '𐐝' => '𐑅',
+  '𐐞' => '𐑆',
+  '𐐟' => '𐑇',
+  '𐐠' => '𐑈',
+  '𐐡' => '𐑉',
+  '𐐢' => '𐑊',
+  '𐐣' => '𐑋',
+  '𐐤' => '𐑌',
+  '𐐥' => '𐑍',
+  '𐐦' => '𐑎',
+  '𐐧' => '𐑏',
+  '𐒰' => '𐓘',
+  '𐒱' => '𐓙',
+  '𐒲' => '𐓚',
+  '𐒳' => '𐓛',
+  '𐒴' => '𐓜',
+  '𐒵' => '𐓝',
+  '𐒶' => '𐓞',
+  '𐒷' => '𐓟',
+  '𐒸' => '𐓠',
+  '𐒹' => '𐓡',
+  '𐒺' => '𐓢',
+  '𐒻' => '𐓣',
+  '𐒼' => '𐓤',
+  '𐒽' => '𐓥',
+  '𐒾' => '𐓦',
+  '𐒿' => '𐓧',
+  '𐓀' => '𐓨',
+  '𐓁' => '𐓩',
+  '𐓂' => '𐓪',
+  '𐓃' => '𐓫',
+  '𐓄' => '𐓬',
+  '𐓅' => '𐓭',
+  '𐓆' => '𐓮',
+  '𐓇' => '𐓯',
+  '𐓈' => '𐓰',
+  '𐓉' => '𐓱',
+  '𐓊' => '𐓲',
+  '𐓋' => '𐓳',
+  '𐓌' => '𐓴',
+  '𐓍' => '𐓵',
+  '𐓎' => '𐓶',
+  '𐓏' => '𐓷',
+  '𐓐' => '𐓸',
+  '𐓑' => '𐓹',
+  '𐓒' => '𐓺',
+  '𐓓' => '𐓻',
+  '𐲀' => '𐳀',
+  '𐲁' => '𐳁',
+  '𐲂' => '𐳂',
+  '𐲃' => '𐳃',
+  '𐲄' => '𐳄',
+  '𐲅' => '𐳅',
+  '𐲆' => '𐳆',
+  '𐲇' => '𐳇',
+  '𐲈' => '𐳈',
+  '𐲉' => '𐳉',
+  '𐲊' => '𐳊',
+  '𐲋' => '𐳋',
+  '𐲌' => '𐳌',
+  '𐲍' => '𐳍',
+  '𐲎' => '𐳎',
+  '𐲏' => '𐳏',
+  '𐲐' => '𐳐',
+  '𐲑' => '𐳑',
+  '𐲒' => '𐳒',
+  '𐲓' => '𐳓',
+  '𐲔' => '𐳔',
+  '𐲕' => '𐳕',
+  '𐲖' => '𐳖',
+  '𐲗' => '𐳗',
+  '𐲘' => '𐳘',
+  '𐲙' => '𐳙',
+  '𐲚' => '𐳚',
+  '𐲛' => '𐳛',
+  '𐲜' => '𐳜',
+  '𐲝' => '𐳝',
+  '𐲞' => '𐳞',
+  '𐲟' => '𐳟',
+  '𐲠' => '𐳠',
+  '𐲡' => '𐳡',
+  '𐲢' => '𐳢',
+  '𐲣' => '𐳣',
+  '𐲤' => '𐳤',
+  '𐲥' => '𐳥',
+  '𐲦' => '𐳦',
+  '𐲧' => '𐳧',
+  '𐲨' => '𐳨',
+  '𐲩' => '𐳩',
+  '𐲪' => '𐳪',
+  '𐲫' => '𐳫',
+  '𐲬' => '𐳬',
+  '𐲭' => '𐳭',
+  '𐲮' => '𐳮',
+  '𐲯' => '𐳯',
+  '𐲰' => '𐳰',
+  '𐲱' => '𐳱',
+  '𐲲' => '𐳲',
+  '𑢠' => '𑣀',
+  '𑢡' => '𑣁',
+  '𑢢' => '𑣂',
+  '𑢣' => '𑣃',
+  '𑢤' => '𑣄',
+  '𑢥' => '𑣅',
+  '𑢦' => '𑣆',
+  '𑢧' => '𑣇',
+  '𑢨' => '𑣈',
+  '𑢩' => '𑣉',
+  '𑢪' => '𑣊',
+  '𑢫' => '𑣋',
+  '𑢬' => '𑣌',
+  '𑢭' => '𑣍',
+  '𑢮' => '𑣎',
+  '𑢯' => '𑣏',
+  '𑢰' => '𑣐',
+  '𑢱' => '𑣑',
+  '𑢲' => '𑣒',
+  '𑢳' => '𑣓',
+  '𑢴' => '𑣔',
+  '𑢵' => '𑣕',
+  '𑢶' => '𑣖',
+  '𑢷' => '𑣗',
+  '𑢸' => '𑣘',
+  '𑢹' => '𑣙',
+  '𑢺' => '𑣚',
+  '𑢻' => '𑣛',
+  '𑢼' => '𑣜',
+  '𑢽' => '𑣝',
+  '𑢾' => '𑣞',
+  '𑢿' => '𑣟',
+  '𖹀' => '𖹠',
+  '𖹁' => '𖹡',
+  '𖹂' => '𖹢',
+  '𖹃' => '𖹣',
+  '𖹄' => '𖹤',
+  '𖹅' => '𖹥',
+  '𖹆' => '𖹦',
+  '𖹇' => '𖹧',
+  '𖹈' => '𖹨',
+  '𖹉' => '𖹩',
+  '𖹊' => '𖹪',
+  '𖹋' => '𖹫',
+  '𖹌' => '𖹬',
+  '𖹍' => '𖹭',
+  '𖹎' => '𖹮',
+  '𖹏' => '𖹯',
+  '𖹐' => '𖹰',
+  '𖹑' => '𖹱',
+  '𖹒' => '𖹲',
+  '𖹓' => '𖹳',
+  '𖹔' => '𖹴',
+  '𖹕' => '𖹵',
+  '𖹖' => '𖹶',
+  '𖹗' => '𖹷',
+  '𖹘' => '𖹸',
+  '𖹙' => '𖹹',
+  '𖹚' => '𖹺',
+  '𖹛' => '𖹻',
+  '𖹜' => '𖹼',
+  '𖹝' => '𖹽',
+  '𖹞' => '𖹾',
+  '𖹟' => '𖹿',
+  '𞤀' => '𞤢',
+  '𞤁' => '𞤣',
+  '𞤂' => '𞤤',
+  '𞤃' => '𞤥',
+  '𞤄' => '𞤦',
+  '𞤅' => '𞤧',
+  '𞤆' => '𞤨',
+  '𞤇' => '𞤩',
+  '𞤈' => '𞤪',
+  '𞤉' => '𞤫',
+  '𞤊' => '𞤬',
+  '𞤋' => '𞤭',
+  '𞤌' => '𞤮',
+  '𞤍' => '𞤯',
+  '𞤎' => '𞤰',
+  '𞤏' => '𞤱',
+  '𞤐' => '𞤲',
+  '𞤑' => '𞤳',
+  '𞤒' => '𞤴',
+  '𞤓' => '𞤵',
+  '𞤔' => '𞤶',
+  '𞤕' => '𞤷',
+  '𞤖' => '𞤸',
+  '𞤗' => '𞤹',
+  '𞤘' => '𞤺',
+  '𞤙' => '𞤻',
+  '𞤚' => '𞤼',
+  '𞤛' => '𞤽',
+  '𞤜' => '𞤾',
+  '𞤝' => '𞤿',
+  '𞤞' => '𞥀',
+  '𞤟' => '𞥁',
+  '𞤠' => '𞥂',
+  '𞤡' => '𞥃',
+);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php
new file mode 100644
index 0000000..2a8f6e7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php
@@ -0,0 +1,5 @@
+<?php
+
+// from Case_Ignorable in https://unicode.org/Public/UNIDATA/DerivedCoreProperties.txt
+
+return '/(?<![\x{0027}\x{002E}\x{003A}\x{005E}\x{0060}\x{00A8}\x{00AD}\x{00AF}\x{00B4}\x{00B7}\x{00B8}\x{02B0}-\x{02C1}\x{02C2}-\x{02C5}\x{02C6}-\x{02D1}\x{02D2}-\x{02DF}\x{02E0}-\x{02E4}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EE}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037A}\x{0384}-\x{0385}\x{0387}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0559}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{05F4}\x{0600}-\x{0605}\x{0610}-\x{061A}\x{061C}\x{0640}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DD}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{070F}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07FA}\x{07FD}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0971}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CBF}\x{0CC6}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E46}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EB9}\x{0EBB}-\x{0EBC}\x{0EC6}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{10FC}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17D7}\x{17DD}\x{180B}-\x{180D}\x{180E}\x{1843}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AA7}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1C78}-\x{1C7D}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1D2C}-\x{1D6A}\x{1D78}\x{1D9B}-\x{1DBF}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{200B}-\x{200F}\x{2018}\x{2019}\x{2024}\x{2027}\x{202A}-\x{202E}\x{2060}-\x{2064}\x{2066}-\x{206F}\x{2071}\x{207F}\x{2090}-\x{209C}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2C7C}-\x{2C7D}\x{2CEF}-\x{2CF1}\x{2D6F}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E2F}\x{3005}\x{302A}-\x{302D}\x{3031}-\x{3035}\x{303B}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{309D}-\x{309E}\x{30FC}-\x{30FE}\x{A015}\x{A4F8}-\x{A4FD}\x{A60C}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A67F}\x{A69C}-\x{A69D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A770}\x{A788}\x{A789}-\x{A78A}\x{A7F8}-\x{A7F9}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}\x{A9CF}\x{A9E5}\x{A9E6}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA70}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AADD}\x{AAEC}-\x{AAED}\x{AAF3}-\x{AAF4}\x{AAF6}\x{AB5B}\x{AB5C}-\x{AB5F}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FBB2}-\x{FBC1}\x{FE00}-\x{FE0F}\x{FE13}\x{FE20}-\x{FE2F}\x{FE52}\x{FE55}\x{FEFF}\x{FF07}\x{FF0E}\x{FF1A}\x{FF3E}\x{FF40}\x{FF70}\x{FF9E}-\x{FF9F}\x{FFE3}\x{FFF9}-\x{FFFB}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{110BD}\x{110CD}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16B40}-\x{16B43}\x{16F8F}-\x{16F92}\x{16F93}-\x{16F9F}\x{16FE0}-\x{16FE1}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{1F3FB}-\x{1F3FF}\x{E0001}\x{E0020}-\x{E007F}\x{E0100}-\x{E01EF}])(\pL)(\pL*+)/u';
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php
new file mode 100644
index 0000000..56b9cb8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php
@@ -0,0 +1,1489 @@
+<?php
+
+return array (
+  'a' => 'A',
+  'b' => 'B',
+  'c' => 'C',
+  'd' => 'D',
+  'e' => 'E',
+  'f' => 'F',
+  'g' => 'G',
+  'h' => 'H',
+  'i' => 'I',
+  'j' => 'J',
+  'k' => 'K',
+  'l' => 'L',
+  'm' => 'M',
+  'n' => 'N',
+  'o' => 'O',
+  'p' => 'P',
+  'q' => 'Q',
+  'r' => 'R',
+  's' => 'S',
+  't' => 'T',
+  'u' => 'U',
+  'v' => 'V',
+  'w' => 'W',
+  'x' => 'X',
+  'y' => 'Y',
+  'z' => 'Z',
+  'µ' => 'Μ',
+  'à' => 'À',
+  'á' => 'Á',
+  'â' => 'Â',
+  'ã' => 'Ã',
+  'ä' => 'Ä',
+  'å' => 'Å',
+  'æ' => 'Æ',
+  'ç' => 'Ç',
+  'è' => 'È',
+  'é' => 'É',
+  'ê' => 'Ê',
+  'ë' => 'Ë',
+  'ì' => 'Ì',
+  'í' => 'Í',
+  'î' => 'Î',
+  'ï' => 'Ï',
+  'ð' => 'Ð',
+  'ñ' => 'Ñ',
+  'ò' => 'Ò',
+  'ó' => 'Ó',
+  'ô' => 'Ô',
+  'õ' => 'Õ',
+  'ö' => 'Ö',
+  'ø' => 'Ø',
+  'ù' => 'Ù',
+  'ú' => 'Ú',
+  'û' => 'Û',
+  'ü' => 'Ü',
+  'ý' => 'Ý',
+  'þ' => 'Þ',
+  'ÿ' => 'Ÿ',
+  'ā' => 'Ā',
+  'ă' => 'Ă',
+  'ą' => 'Ą',
+  'ć' => 'Ć',
+  'ĉ' => 'Ĉ',
+  'ċ' => 'Ċ',
+  'č' => 'Č',
+  'ď' => 'Ď',
+  'đ' => 'Đ',
+  'ē' => 'Ē',
+  'ĕ' => 'Ĕ',
+  'ė' => 'Ė',
+  'ę' => 'Ę',
+  'ě' => 'Ě',
+  'ĝ' => 'Ĝ',
+  'ğ' => 'Ğ',
+  'ġ' => 'Ġ',
+  'ģ' => 'Ģ',
+  'ĥ' => 'Ĥ',
+  'ħ' => 'Ħ',
+  'ĩ' => 'Ĩ',
+  'ī' => 'Ī',
+  'ĭ' => 'Ĭ',
+  'į' => 'Į',
+  'ı' => 'I',
+  'ĳ' => 'Ĳ',
+  'ĵ' => 'Ĵ',
+  'ķ' => 'Ķ',
+  'ĺ' => 'Ĺ',
+  'ļ' => 'Ļ',
+  'ľ' => 'Ľ',
+  'ŀ' => 'Ŀ',
+  'ł' => 'Ł',
+  'ń' => 'Ń',
+  'ņ' => 'Ņ',
+  'ň' => 'Ň',
+  'ŋ' => 'Ŋ',
+  'ō' => 'Ō',
+  'ŏ' => 'Ŏ',
+  'ő' => 'Ő',
+  'œ' => 'Œ',
+  'ŕ' => 'Ŕ',
+  'ŗ' => 'Ŗ',
+  'ř' => 'Ř',
+  'ś' => 'Ś',
+  'ŝ' => 'Ŝ',
+  'ş' => 'Ş',
+  'š' => 'Š',
+  'ţ' => 'Ţ',
+  'ť' => 'Ť',
+  'ŧ' => 'Ŧ',
+  'ũ' => 'Ũ',
+  'ū' => 'Ū',
+  'ŭ' => 'Ŭ',
+  'ů' => 'Ů',
+  'ű' => 'Ű',
+  'ų' => 'Ų',
+  'ŵ' => 'Ŵ',
+  'ŷ' => 'Ŷ',
+  'ź' => 'Ź',
+  'ż' => 'Ż',
+  'ž' => 'Ž',
+  'ſ' => 'S',
+  'ƀ' => 'Ƀ',
+  'ƃ' => 'Ƃ',
+  'ƅ' => 'Ƅ',
+  'ƈ' => 'Ƈ',
+  'ƌ' => 'Ƌ',
+  'ƒ' => 'Ƒ',
+  'ƕ' => 'Ƕ',
+  'ƙ' => 'Ƙ',
+  'ƚ' => 'Ƚ',
+  'ƞ' => 'Ƞ',
+  'ơ' => 'Ơ',
+  'ƣ' => 'Ƣ',
+  'ƥ' => 'Ƥ',
+  'ƨ' => 'Ƨ',
+  'ƭ' => 'Ƭ',
+  'ư' => 'Ư',
+  'ƴ' => 'Ƴ',
+  'ƶ' => 'Ƶ',
+  'ƹ' => 'Ƹ',
+  'ƽ' => 'Ƽ',
+  'ƿ' => 'Ƿ',
+  'ǅ' => 'Ǆ',
+  'ǆ' => 'Ǆ',
+  'ǈ' => 'Ǉ',
+  'ǉ' => 'Ǉ',
+  'ǋ' => 'Ǌ',
+  'ǌ' => 'Ǌ',
+  'ǎ' => 'Ǎ',
+  'ǐ' => 'Ǐ',
+  'ǒ' => 'Ǒ',
+  'ǔ' => 'Ǔ',
+  'ǖ' => 'Ǖ',
+  'ǘ' => 'Ǘ',
+  'ǚ' => 'Ǚ',
+  'ǜ' => 'Ǜ',
+  'ǝ' => 'Ǝ',
+  'ǟ' => 'Ǟ',
+  'ǡ' => 'Ǡ',
+  'ǣ' => 'Ǣ',
+  'ǥ' => 'Ǥ',
+  'ǧ' => 'Ǧ',
+  'ǩ' => 'Ǩ',
+  'ǫ' => 'Ǫ',
+  'ǭ' => 'Ǭ',
+  'ǯ' => 'Ǯ',
+  'ǲ' => 'Ǳ',
+  'ǳ' => 'Ǳ',
+  'ǵ' => 'Ǵ',
+  'ǹ' => 'Ǹ',
+  'ǻ' => 'Ǻ',
+  'ǽ' => 'Ǽ',
+  'ǿ' => 'Ǿ',
+  'ȁ' => 'Ȁ',
+  'ȃ' => 'Ȃ',
+  'ȅ' => 'Ȅ',
+  'ȇ' => 'Ȇ',
+  'ȉ' => 'Ȉ',
+  'ȋ' => 'Ȋ',
+  'ȍ' => 'Ȍ',
+  'ȏ' => 'Ȏ',
+  'ȑ' => 'Ȑ',
+  'ȓ' => 'Ȓ',
+  'ȕ' => 'Ȕ',
+  'ȗ' => 'Ȗ',
+  'ș' => 'Ș',
+  'ț' => 'Ț',
+  'ȝ' => 'Ȝ',
+  'ȟ' => 'Ȟ',
+  'ȣ' => 'Ȣ',
+  'ȥ' => 'Ȥ',
+  'ȧ' => 'Ȧ',
+  'ȩ' => 'Ȩ',
+  'ȫ' => 'Ȫ',
+  'ȭ' => 'Ȭ',
+  'ȯ' => 'Ȯ',
+  'ȱ' => 'Ȱ',
+  'ȳ' => 'Ȳ',
+  'ȼ' => 'Ȼ',
+  'ȿ' => 'Ȿ',
+  'ɀ' => 'Ɀ',
+  'ɂ' => 'Ɂ',
+  'ɇ' => 'Ɇ',
+  'ɉ' => 'Ɉ',
+  'ɋ' => 'Ɋ',
+  'ɍ' => 'Ɍ',
+  'ɏ' => 'Ɏ',
+  'ɐ' => 'Ɐ',
+  'ɑ' => 'Ɑ',
+  'ɒ' => 'Ɒ',
+  'ɓ' => 'Ɓ',
+  'ɔ' => 'Ɔ',
+  'ɖ' => 'Ɖ',
+  'ɗ' => 'Ɗ',
+  'ə' => 'Ə',
+  'ɛ' => 'Ɛ',
+  'ɜ' => 'Ɜ',
+  'ɠ' => 'Ɠ',
+  'ɡ' => 'Ɡ',
+  'ɣ' => 'Ɣ',
+  'ɥ' => 'Ɥ',
+  'ɦ' => 'Ɦ',
+  'ɨ' => 'Ɨ',
+  'ɩ' => 'Ɩ',
+  'ɪ' => 'Ɪ',
+  'ɫ' => 'Ɫ',
+  'ɬ' => 'Ɬ',
+  'ɯ' => 'Ɯ',
+  'ɱ' => 'Ɱ',
+  'ɲ' => 'Ɲ',
+  'ɵ' => 'Ɵ',
+  'ɽ' => 'Ɽ',
+  'ʀ' => 'Ʀ',
+  'ʂ' => 'Ʂ',
+  'ʃ' => 'Ʃ',
+  'ʇ' => 'Ʇ',
+  'ʈ' => 'Ʈ',
+  'ʉ' => 'Ʉ',
+  'ʊ' => 'Ʊ',
+  'ʋ' => 'Ʋ',
+  'ʌ' => 'Ʌ',
+  'ʒ' => 'Ʒ',
+  'ʝ' => 'Ʝ',
+  'ʞ' => 'Ʞ',
+  'ͅ' => 'Ι',
+  'ͱ' => 'Ͱ',
+  'ͳ' => 'Ͳ',
+  'ͷ' => 'Ͷ',
+  'ͻ' => 'Ͻ',
+  'ͼ' => 'Ͼ',
+  'ͽ' => 'Ͽ',
+  'ά' => 'Ά',
+  'έ' => 'Έ',
+  'ή' => 'Ή',
+  'ί' => 'Ί',
+  'α' => 'Α',
+  'β' => 'Β',
+  'γ' => 'Γ',
+  'δ' => 'Δ',
+  'ε' => 'Ε',
+  'ζ' => 'Ζ',
+  'η' => 'Η',
+  'θ' => 'Θ',
+  'ι' => 'Ι',
+  'κ' => 'Κ',
+  'λ' => 'Λ',
+  'μ' => 'Μ',
+  'ν' => 'Ν',
+  'ξ' => 'Ξ',
+  'ο' => 'Ο',
+  'π' => 'Π',
+  'ρ' => 'Ρ',
+  'ς' => 'Σ',
+  'σ' => 'Σ',
+  'τ' => 'Τ',
+  'υ' => 'Υ',
+  'φ' => 'Φ',
+  'χ' => 'Χ',
+  'ψ' => 'Ψ',
+  'ω' => 'Ω',
+  'ϊ' => 'Ϊ',
+  'ϋ' => 'Ϋ',
+  'ό' => 'Ό',
+  'ύ' => 'Ύ',
+  'ώ' => 'Ώ',
+  'ϐ' => 'Β',
+  'ϑ' => 'Θ',
+  'ϕ' => 'Φ',
+  'ϖ' => 'Π',
+  'ϗ' => 'Ϗ',
+  'ϙ' => 'Ϙ',
+  'ϛ' => 'Ϛ',
+  'ϝ' => 'Ϝ',
+  'ϟ' => 'Ϟ',
+  'ϡ' => 'Ϡ',
+  'ϣ' => 'Ϣ',
+  'ϥ' => 'Ϥ',
+  'ϧ' => 'Ϧ',
+  'ϩ' => 'Ϩ',
+  'ϫ' => 'Ϫ',
+  'ϭ' => 'Ϭ',
+  'ϯ' => 'Ϯ',
+  'ϰ' => 'Κ',
+  'ϱ' => 'Ρ',
+  'ϲ' => 'Ϲ',
+  'ϳ' => 'Ϳ',
+  'ϵ' => 'Ε',
+  'ϸ' => 'Ϸ',
+  'ϻ' => 'Ϻ',
+  'а' => 'А',
+  'б' => 'Б',
+  'в' => 'В',
+  'г' => 'Г',
+  'д' => 'Д',
+  'е' => 'Е',
+  'ж' => 'Ж',
+  'з' => 'З',
+  'и' => 'И',
+  'й' => 'Й',
+  'к' => 'К',
+  'л' => 'Л',
+  'м' => 'М',
+  'н' => 'Н',
+  'о' => 'О',
+  'п' => 'П',
+  'р' => 'Р',
+  'с' => 'С',
+  'т' => 'Т',
+  'у' => 'У',
+  'ф' => 'Ф',
+  'х' => 'Х',
+  'ц' => 'Ц',
+  'ч' => 'Ч',
+  'ш' => 'Ш',
+  'щ' => 'Щ',
+  'ъ' => 'Ъ',
+  'ы' => 'Ы',
+  'ь' => 'Ь',
+  'э' => 'Э',
+  'ю' => 'Ю',
+  'я' => 'Я',
+  'ѐ' => 'Ѐ',
+  'ё' => 'Ё',
+  'ђ' => 'Ђ',
+  'ѓ' => 'Ѓ',
+  'є' => 'Є',
+  'ѕ' => 'Ѕ',
+  'і' => 'І',
+  'ї' => 'Ї',
+  'ј' => 'Ј',
+  'љ' => 'Љ',
+  'њ' => 'Њ',
+  'ћ' => 'Ћ',
+  'ќ' => 'Ќ',
+  'ѝ' => 'Ѝ',
+  'ў' => 'Ў',
+  'џ' => 'Џ',
+  'ѡ' => 'Ѡ',
+  'ѣ' => 'Ѣ',
+  'ѥ' => 'Ѥ',
+  'ѧ' => 'Ѧ',
+  'ѩ' => 'Ѩ',
+  'ѫ' => 'Ѫ',
+  'ѭ' => 'Ѭ',
+  'ѯ' => 'Ѯ',
+  'ѱ' => 'Ѱ',
+  'ѳ' => 'Ѳ',
+  'ѵ' => 'Ѵ',
+  'ѷ' => 'Ѷ',
+  'ѹ' => 'Ѹ',
+  'ѻ' => 'Ѻ',
+  'ѽ' => 'Ѽ',
+  'ѿ' => 'Ѿ',
+  'ҁ' => 'Ҁ',
+  'ҋ' => 'Ҋ',
+  'ҍ' => 'Ҍ',
+  'ҏ' => 'Ҏ',
+  'ґ' => 'Ґ',
+  'ғ' => 'Ғ',
+  'ҕ' => 'Ҕ',
+  'җ' => 'Җ',
+  'ҙ' => 'Ҙ',
+  'қ' => 'Қ',
+  'ҝ' => 'Ҝ',
+  'ҟ' => 'Ҟ',
+  'ҡ' => 'Ҡ',
+  'ң' => 'Ң',
+  'ҥ' => 'Ҥ',
+  'ҧ' => 'Ҧ',
+  'ҩ' => 'Ҩ',
+  'ҫ' => 'Ҫ',
+  'ҭ' => 'Ҭ',
+  'ү' => 'Ү',
+  'ұ' => 'Ұ',
+  'ҳ' => 'Ҳ',
+  'ҵ' => 'Ҵ',
+  'ҷ' => 'Ҷ',
+  'ҹ' => 'Ҹ',
+  'һ' => 'Һ',
+  'ҽ' => 'Ҽ',
+  'ҿ' => 'Ҿ',
+  'ӂ' => 'Ӂ',
+  'ӄ' => 'Ӄ',
+  'ӆ' => 'Ӆ',
+  'ӈ' => 'Ӈ',
+  'ӊ' => 'Ӊ',
+  'ӌ' => 'Ӌ',
+  'ӎ' => 'Ӎ',
+  'ӏ' => 'Ӏ',
+  'ӑ' => 'Ӑ',
+  'ӓ' => 'Ӓ',
+  'ӕ' => 'Ӕ',
+  'ӗ' => 'Ӗ',
+  'ә' => 'Ә',
+  'ӛ' => 'Ӛ',
+  'ӝ' => 'Ӝ',
+  'ӟ' => 'Ӟ',
+  'ӡ' => 'Ӡ',
+  'ӣ' => 'Ӣ',
+  'ӥ' => 'Ӥ',
+  'ӧ' => 'Ӧ',
+  'ө' => 'Ө',
+  'ӫ' => 'Ӫ',
+  'ӭ' => 'Ӭ',
+  'ӯ' => 'Ӯ',
+  'ӱ' => 'Ӱ',
+  'ӳ' => 'Ӳ',
+  'ӵ' => 'Ӵ',
+  'ӷ' => 'Ӷ',
+  'ӹ' => 'Ӹ',
+  'ӻ' => 'Ӻ',
+  'ӽ' => 'Ӽ',
+  'ӿ' => 'Ӿ',
+  'ԁ' => 'Ԁ',
+  'ԃ' => 'Ԃ',
+  'ԅ' => 'Ԅ',
+  'ԇ' => 'Ԇ',
+  'ԉ' => 'Ԉ',
+  'ԋ' => 'Ԋ',
+  'ԍ' => 'Ԍ',
+  'ԏ' => 'Ԏ',
+  'ԑ' => 'Ԑ',
+  'ԓ' => 'Ԓ',
+  'ԕ' => 'Ԕ',
+  'ԗ' => 'Ԗ',
+  'ԙ' => 'Ԙ',
+  'ԛ' => 'Ԛ',
+  'ԝ' => 'Ԝ',
+  'ԟ' => 'Ԟ',
+  'ԡ' => 'Ԡ',
+  'ԣ' => 'Ԣ',
+  'ԥ' => 'Ԥ',
+  'ԧ' => 'Ԧ',
+  'ԩ' => 'Ԩ',
+  'ԫ' => 'Ԫ',
+  'ԭ' => 'Ԭ',
+  'ԯ' => 'Ԯ',
+  'ա' => 'Ա',
+  'բ' => 'Բ',
+  'գ' => 'Գ',
+  'դ' => 'Դ',
+  'ե' => 'Ե',
+  'զ' => 'Զ',
+  'է' => 'Է',
+  'ը' => 'Ը',
+  'թ' => 'Թ',
+  'ժ' => 'Ժ',
+  'ի' => 'Ի',
+  'լ' => 'Լ',
+  'խ' => 'Խ',
+  'ծ' => 'Ծ',
+  'կ' => 'Կ',
+  'հ' => 'Հ',
+  'ձ' => 'Ձ',
+  'ղ' => 'Ղ',
+  'ճ' => 'Ճ',
+  'մ' => 'Մ',
+  'յ' => 'Յ',
+  'ն' => 'Ն',
+  'շ' => 'Շ',
+  'ո' => 'Ո',
+  'չ' => 'Չ',
+  'պ' => 'Պ',
+  'ջ' => 'Ջ',
+  'ռ' => 'Ռ',
+  'ս' => 'Ս',
+  'վ' => 'Վ',
+  'տ' => 'Տ',
+  'ր' => 'Ր',
+  'ց' => 'Ց',
+  'ւ' => 'Ւ',
+  'փ' => 'Փ',
+  'ք' => 'Ք',
+  'օ' => 'Օ',
+  'ֆ' => 'Ֆ',
+  'ა' => 'Ა',
+  'ბ' => 'Ბ',
+  'გ' => 'Გ',
+  'დ' => 'Დ',
+  'ე' => 'Ე',
+  'ვ' => 'Ვ',
+  'ზ' => 'Ზ',
+  'თ' => 'Თ',
+  'ი' => 'Ი',
+  'კ' => 'Კ',
+  'ლ' => 'Ლ',
+  'მ' => 'Მ',
+  'ნ' => 'Ნ',
+  'ო' => 'Ო',
+  'პ' => 'Პ',
+  'ჟ' => 'Ჟ',
+  'რ' => 'Რ',
+  'ს' => 'Ს',
+  'ტ' => 'Ტ',
+  'უ' => 'Უ',
+  'ფ' => 'Ფ',
+  'ქ' => 'Ქ',
+  'ღ' => 'Ღ',
+  'ყ' => 'Ყ',
+  'შ' => 'Შ',
+  'ჩ' => 'Ჩ',
+  'ც' => 'Ც',
+  'ძ' => 'Ძ',
+  'წ' => 'Წ',
+  'ჭ' => 'Ჭ',
+  'ხ' => 'Ხ',
+  'ჯ' => 'Ჯ',
+  'ჰ' => 'Ჰ',
+  'ჱ' => 'Ჱ',
+  'ჲ' => 'Ჲ',
+  'ჳ' => 'Ჳ',
+  'ჴ' => 'Ჴ',
+  'ჵ' => 'Ჵ',
+  'ჶ' => 'Ჶ',
+  'ჷ' => 'Ჷ',
+  'ჸ' => 'Ჸ',
+  'ჹ' => 'Ჹ',
+  'ჺ' => 'Ჺ',
+  'ჽ' => 'Ჽ',
+  'ჾ' => 'Ჾ',
+  'ჿ' => 'Ჿ',
+  'ᏸ' => 'Ᏸ',
+  'ᏹ' => 'Ᏹ',
+  'ᏺ' => 'Ᏺ',
+  'ᏻ' => 'Ᏻ',
+  'ᏼ' => 'Ᏼ',
+  'ᏽ' => 'Ᏽ',
+  'ᲀ' => 'В',
+  'ᲁ' => 'Д',
+  'ᲂ' => 'О',
+  'ᲃ' => 'С',
+  'ᲄ' => 'Т',
+  'ᲅ' => 'Т',
+  'ᲆ' => 'Ъ',
+  'ᲇ' => 'Ѣ',
+  'ᲈ' => 'Ꙋ',
+  'ᵹ' => 'Ᵹ',
+  'ᵽ' => 'Ᵽ',
+  'ᶎ' => 'Ᶎ',
+  'ḁ' => 'Ḁ',
+  'ḃ' => 'Ḃ',
+  'ḅ' => 'Ḅ',
+  'ḇ' => 'Ḇ',
+  'ḉ' => 'Ḉ',
+  'ḋ' => 'Ḋ',
+  'ḍ' => 'Ḍ',
+  'ḏ' => 'Ḏ',
+  'ḑ' => 'Ḑ',
+  'ḓ' => 'Ḓ',
+  'ḕ' => 'Ḕ',
+  'ḗ' => 'Ḗ',
+  'ḙ' => 'Ḙ',
+  'ḛ' => 'Ḛ',
+  'ḝ' => 'Ḝ',
+  'ḟ' => 'Ḟ',
+  'ḡ' => 'Ḡ',
+  'ḣ' => 'Ḣ',
+  'ḥ' => 'Ḥ',
+  'ḧ' => 'Ḧ',
+  'ḩ' => 'Ḩ',
+  'ḫ' => 'Ḫ',
+  'ḭ' => 'Ḭ',
+  'ḯ' => 'Ḯ',
+  'ḱ' => 'Ḱ',
+  'ḳ' => 'Ḳ',
+  'ḵ' => 'Ḵ',
+  'ḷ' => 'Ḷ',
+  'ḹ' => 'Ḹ',
+  'ḻ' => 'Ḻ',
+  'ḽ' => 'Ḽ',
+  'ḿ' => 'Ḿ',
+  'ṁ' => 'Ṁ',
+  'ṃ' => 'Ṃ',
+  'ṅ' => 'Ṅ',
+  'ṇ' => 'Ṇ',
+  'ṉ' => 'Ṉ',
+  'ṋ' => 'Ṋ',
+  'ṍ' => 'Ṍ',
+  'ṏ' => 'Ṏ',
+  'ṑ' => 'Ṑ',
+  'ṓ' => 'Ṓ',
+  'ṕ' => 'Ṕ',
+  'ṗ' => 'Ṗ',
+  'ṙ' => 'Ṙ',
+  'ṛ' => 'Ṛ',
+  'ṝ' => 'Ṝ',
+  'ṟ' => 'Ṟ',
+  'ṡ' => 'Ṡ',
+  'ṣ' => 'Ṣ',
+  'ṥ' => 'Ṥ',
+  'ṧ' => 'Ṧ',
+  'ṩ' => 'Ṩ',
+  'ṫ' => 'Ṫ',
+  'ṭ' => 'Ṭ',
+  'ṯ' => 'Ṯ',
+  'ṱ' => 'Ṱ',
+  'ṳ' => 'Ṳ',
+  'ṵ' => 'Ṵ',
+  'ṷ' => 'Ṷ',
+  'ṹ' => 'Ṹ',
+  'ṻ' => 'Ṻ',
+  'ṽ' => 'Ṽ',
+  'ṿ' => 'Ṿ',
+  'ẁ' => 'Ẁ',
+  'ẃ' => 'Ẃ',
+  'ẅ' => 'Ẅ',
+  'ẇ' => 'Ẇ',
+  'ẉ' => 'Ẉ',
+  'ẋ' => 'Ẋ',
+  'ẍ' => 'Ẍ',
+  'ẏ' => 'Ẏ',
+  'ẑ' => 'Ẑ',
+  'ẓ' => 'Ẓ',
+  'ẕ' => 'Ẕ',
+  'ẛ' => 'Ṡ',
+  'ạ' => 'Ạ',
+  'ả' => 'Ả',
+  'ấ' => 'Ấ',
+  'ầ' => 'Ầ',
+  'ẩ' => 'Ẩ',
+  'ẫ' => 'Ẫ',
+  'ậ' => 'Ậ',
+  'ắ' => 'Ắ',
+  'ằ' => 'Ằ',
+  'ẳ' => 'Ẳ',
+  'ẵ' => 'Ẵ',
+  'ặ' => 'Ặ',
+  'ẹ' => 'Ẹ',
+  'ẻ' => 'Ẻ',
+  'ẽ' => 'Ẽ',
+  'ế' => 'Ế',
+  'ề' => 'Ề',
+  'ể' => 'Ể',
+  'ễ' => 'Ễ',
+  'ệ' => 'Ệ',
+  'ỉ' => 'Ỉ',
+  'ị' => 'Ị',
+  'ọ' => 'Ọ',
+  'ỏ' => 'Ỏ',
+  'ố' => 'Ố',
+  'ồ' => 'Ồ',
+  'ổ' => 'Ổ',
+  'ỗ' => 'Ỗ',
+  'ộ' => 'Ộ',
+  'ớ' => 'Ớ',
+  'ờ' => 'Ờ',
+  'ở' => 'Ở',
+  'ỡ' => 'Ỡ',
+  'ợ' => 'Ợ',
+  'ụ' => 'Ụ',
+  'ủ' => 'Ủ',
+  'ứ' => 'Ứ',
+  'ừ' => 'Ừ',
+  'ử' => 'Ử',
+  'ữ' => 'Ữ',
+  'ự' => 'Ự',
+  'ỳ' => 'Ỳ',
+  'ỵ' => 'Ỵ',
+  'ỷ' => 'Ỷ',
+  'ỹ' => 'Ỹ',
+  'ỻ' => 'Ỻ',
+  'ỽ' => 'Ỽ',
+  'ỿ' => 'Ỿ',
+  'ἀ' => 'Ἀ',
+  'ἁ' => 'Ἁ',
+  'ἂ' => 'Ἂ',
+  'ἃ' => 'Ἃ',
+  'ἄ' => 'Ἄ',
+  'ἅ' => 'Ἅ',
+  'ἆ' => 'Ἆ',
+  'ἇ' => 'Ἇ',
+  'ἐ' => 'Ἐ',
+  'ἑ' => 'Ἑ',
+  'ἒ' => 'Ἒ',
+  'ἓ' => 'Ἓ',
+  'ἔ' => 'Ἔ',
+  'ἕ' => 'Ἕ',
+  'ἠ' => 'Ἠ',
+  'ἡ' => 'Ἡ',
+  'ἢ' => 'Ἢ',
+  'ἣ' => 'Ἣ',
+  'ἤ' => 'Ἤ',
+  'ἥ' => 'Ἥ',
+  'ἦ' => 'Ἦ',
+  'ἧ' => 'Ἧ',
+  'ἰ' => 'Ἰ',
+  'ἱ' => 'Ἱ',
+  'ἲ' => 'Ἲ',
+  'ἳ' => 'Ἳ',
+  'ἴ' => 'Ἴ',
+  'ἵ' => 'Ἵ',
+  'ἶ' => 'Ἶ',
+  'ἷ' => 'Ἷ',
+  'ὀ' => 'Ὀ',
+  'ὁ' => 'Ὁ',
+  'ὂ' => 'Ὂ',
+  'ὃ' => 'Ὃ',
+  'ὄ' => 'Ὄ',
+  'ὅ' => 'Ὅ',
+  'ὑ' => 'Ὑ',
+  'ὓ' => 'Ὓ',
+  'ὕ' => 'Ὕ',
+  'ὗ' => 'Ὗ',
+  'ὠ' => 'Ὠ',
+  'ὡ' => 'Ὡ',
+  'ὢ' => 'Ὢ',
+  'ὣ' => 'Ὣ',
+  'ὤ' => 'Ὤ',
+  'ὥ' => 'Ὥ',
+  'ὦ' => 'Ὦ',
+  'ὧ' => 'Ὧ',
+  'ὰ' => 'Ὰ',
+  'ά' => 'Ά',
+  'ὲ' => 'Ὲ',
+  'έ' => 'Έ',
+  'ὴ' => 'Ὴ',
+  'ή' => 'Ή',
+  'ὶ' => 'Ὶ',
+  'ί' => 'Ί',
+  'ὸ' => 'Ὸ',
+  'ό' => 'Ό',
+  'ὺ' => 'Ὺ',
+  'ύ' => 'Ύ',
+  'ὼ' => 'Ὼ',
+  'ώ' => 'Ώ',
+  'ᾀ' => 'ἈΙ',
+  'ᾁ' => 'ἉΙ',
+  'ᾂ' => 'ἊΙ',
+  'ᾃ' => 'ἋΙ',
+  'ᾄ' => 'ἌΙ',
+  'ᾅ' => 'ἍΙ',
+  'ᾆ' => 'ἎΙ',
+  'ᾇ' => 'ἏΙ',
+  'ᾐ' => 'ἨΙ',
+  'ᾑ' => 'ἩΙ',
+  'ᾒ' => 'ἪΙ',
+  'ᾓ' => 'ἫΙ',
+  'ᾔ' => 'ἬΙ',
+  'ᾕ' => 'ἭΙ',
+  'ᾖ' => 'ἮΙ',
+  'ᾗ' => 'ἯΙ',
+  'ᾠ' => 'ὨΙ',
+  'ᾡ' => 'ὩΙ',
+  'ᾢ' => 'ὪΙ',
+  'ᾣ' => 'ὫΙ',
+  'ᾤ' => 'ὬΙ',
+  'ᾥ' => 'ὭΙ',
+  'ᾦ' => 'ὮΙ',
+  'ᾧ' => 'ὯΙ',
+  'ᾰ' => 'Ᾰ',
+  'ᾱ' => 'Ᾱ',
+  'ᾳ' => 'ΑΙ',
+  'ι' => 'Ι',
+  'ῃ' => 'ΗΙ',
+  'ῐ' => 'Ῐ',
+  'ῑ' => 'Ῑ',
+  'ῠ' => 'Ῠ',
+  'ῡ' => 'Ῡ',
+  'ῥ' => 'Ῥ',
+  'ῳ' => 'ΩΙ',
+  'ⅎ' => 'Ⅎ',
+  'ⅰ' => 'Ⅰ',
+  'ⅱ' => 'Ⅱ',
+  'ⅲ' => 'Ⅲ',
+  'ⅳ' => 'Ⅳ',
+  'ⅴ' => 'Ⅴ',
+  'ⅵ' => 'Ⅵ',
+  'ⅶ' => 'Ⅶ',
+  'ⅷ' => 'Ⅷ',
+  'ⅸ' => 'Ⅸ',
+  'ⅹ' => 'Ⅹ',
+  'ⅺ' => 'Ⅺ',
+  'ⅻ' => 'Ⅻ',
+  'ⅼ' => 'Ⅼ',
+  'ⅽ' => 'Ⅽ',
+  'ⅾ' => 'Ⅾ',
+  'ⅿ' => 'Ⅿ',
+  'ↄ' => 'Ↄ',
+  'ⓐ' => 'Ⓐ',
+  'ⓑ' => 'Ⓑ',
+  'ⓒ' => 'Ⓒ',
+  'ⓓ' => 'Ⓓ',
+  'ⓔ' => 'Ⓔ',
+  'ⓕ' => 'Ⓕ',
+  'ⓖ' => 'Ⓖ',
+  'ⓗ' => 'Ⓗ',
+  'ⓘ' => 'Ⓘ',
+  'ⓙ' => 'Ⓙ',
+  'ⓚ' => 'Ⓚ',
+  'ⓛ' => 'Ⓛ',
+  'ⓜ' => 'Ⓜ',
+  'ⓝ' => 'Ⓝ',
+  'ⓞ' => 'Ⓞ',
+  'ⓟ' => 'Ⓟ',
+  'ⓠ' => 'Ⓠ',
+  'ⓡ' => 'Ⓡ',
+  'ⓢ' => 'Ⓢ',
+  'ⓣ' => 'Ⓣ',
+  'ⓤ' => 'Ⓤ',
+  'ⓥ' => 'Ⓥ',
+  'ⓦ' => 'Ⓦ',
+  'ⓧ' => 'Ⓧ',
+  'ⓨ' => 'Ⓨ',
+  'ⓩ' => 'Ⓩ',
+  'ⰰ' => 'Ⰰ',
+  'ⰱ' => 'Ⰱ',
+  'ⰲ' => 'Ⰲ',
+  'ⰳ' => 'Ⰳ',
+  'ⰴ' => 'Ⰴ',
+  'ⰵ' => 'Ⰵ',
+  'ⰶ' => 'Ⰶ',
+  'ⰷ' => 'Ⰷ',
+  'ⰸ' => 'Ⰸ',
+  'ⰹ' => 'Ⰹ',
+  'ⰺ' => 'Ⰺ',
+  'ⰻ' => 'Ⰻ',
+  'ⰼ' => 'Ⰼ',
+  'ⰽ' => 'Ⰽ',
+  'ⰾ' => 'Ⰾ',
+  'ⰿ' => 'Ⰿ',
+  'ⱀ' => 'Ⱀ',
+  'ⱁ' => 'Ⱁ',
+  'ⱂ' => 'Ⱂ',
+  'ⱃ' => 'Ⱃ',
+  'ⱄ' => 'Ⱄ',
+  'ⱅ' => 'Ⱅ',
+  'ⱆ' => 'Ⱆ',
+  'ⱇ' => 'Ⱇ',
+  'ⱈ' => 'Ⱈ',
+  'ⱉ' => 'Ⱉ',
+  'ⱊ' => 'Ⱊ',
+  'ⱋ' => 'Ⱋ',
+  'ⱌ' => 'Ⱌ',
+  'ⱍ' => 'Ⱍ',
+  'ⱎ' => 'Ⱎ',
+  'ⱏ' => 'Ⱏ',
+  'ⱐ' => 'Ⱐ',
+  'ⱑ' => 'Ⱑ',
+  'ⱒ' => 'Ⱒ',
+  'ⱓ' => 'Ⱓ',
+  'ⱔ' => 'Ⱔ',
+  'ⱕ' => 'Ⱕ',
+  'ⱖ' => 'Ⱖ',
+  'ⱗ' => 'Ⱗ',
+  'ⱘ' => 'Ⱘ',
+  'ⱙ' => 'Ⱙ',
+  'ⱚ' => 'Ⱚ',
+  'ⱛ' => 'Ⱛ',
+  'ⱜ' => 'Ⱜ',
+  'ⱝ' => 'Ⱝ',
+  'ⱞ' => 'Ⱞ',
+  'ⱡ' => 'Ⱡ',
+  'ⱥ' => 'Ⱥ',
+  'ⱦ' => 'Ⱦ',
+  'ⱨ' => 'Ⱨ',
+  'ⱪ' => 'Ⱪ',
+  'ⱬ' => 'Ⱬ',
+  'ⱳ' => 'Ⱳ',
+  'ⱶ' => 'Ⱶ',
+  'ⲁ' => 'Ⲁ',
+  'ⲃ' => 'Ⲃ',
+  'ⲅ' => 'Ⲅ',
+  'ⲇ' => 'Ⲇ',
+  'ⲉ' => 'Ⲉ',
+  'ⲋ' => 'Ⲋ',
+  'ⲍ' => 'Ⲍ',
+  'ⲏ' => 'Ⲏ',
+  'ⲑ' => 'Ⲑ',
+  'ⲓ' => 'Ⲓ',
+  'ⲕ' => 'Ⲕ',
+  'ⲗ' => 'Ⲗ',
+  'ⲙ' => 'Ⲙ',
+  'ⲛ' => 'Ⲛ',
+  'ⲝ' => 'Ⲝ',
+  'ⲟ' => 'Ⲟ',
+  'ⲡ' => 'Ⲡ',
+  'ⲣ' => 'Ⲣ',
+  'ⲥ' => 'Ⲥ',
+  'ⲧ' => 'Ⲧ',
+  'ⲩ' => 'Ⲩ',
+  'ⲫ' => 'Ⲫ',
+  'ⲭ' => 'Ⲭ',
+  'ⲯ' => 'Ⲯ',
+  'ⲱ' => 'Ⲱ',
+  'ⲳ' => 'Ⲳ',
+  'ⲵ' => 'Ⲵ',
+  'ⲷ' => 'Ⲷ',
+  'ⲹ' => 'Ⲹ',
+  'ⲻ' => 'Ⲻ',
+  'ⲽ' => 'Ⲽ',
+  'ⲿ' => 'Ⲿ',
+  'ⳁ' => 'Ⳁ',
+  'ⳃ' => 'Ⳃ',
+  'ⳅ' => 'Ⳅ',
+  'ⳇ' => 'Ⳇ',
+  'ⳉ' => 'Ⳉ',
+  'ⳋ' => 'Ⳋ',
+  'ⳍ' => 'Ⳍ',
+  'ⳏ' => 'Ⳏ',
+  'ⳑ' => 'Ⳑ',
+  'ⳓ' => 'Ⳓ',
+  'ⳕ' => 'Ⳕ',
+  'ⳗ' => 'Ⳗ',
+  'ⳙ' => 'Ⳙ',
+  'ⳛ' => 'Ⳛ',
+  'ⳝ' => 'Ⳝ',
+  'ⳟ' => 'Ⳟ',
+  'ⳡ' => 'Ⳡ',
+  'ⳣ' => 'Ⳣ',
+  'ⳬ' => 'Ⳬ',
+  'ⳮ' => 'Ⳮ',
+  'ⳳ' => 'Ⳳ',
+  'ⴀ' => 'Ⴀ',
+  'ⴁ' => 'Ⴁ',
+  'ⴂ' => 'Ⴂ',
+  'ⴃ' => 'Ⴃ',
+  'ⴄ' => 'Ⴄ',
+  'ⴅ' => 'Ⴅ',
+  'ⴆ' => 'Ⴆ',
+  'ⴇ' => 'Ⴇ',
+  'ⴈ' => 'Ⴈ',
+  'ⴉ' => 'Ⴉ',
+  'ⴊ' => 'Ⴊ',
+  'ⴋ' => 'Ⴋ',
+  'ⴌ' => 'Ⴌ',
+  'ⴍ' => 'Ⴍ',
+  'ⴎ' => 'Ⴎ',
+  'ⴏ' => 'Ⴏ',
+  'ⴐ' => 'Ⴐ',
+  'ⴑ' => 'Ⴑ',
+  'ⴒ' => 'Ⴒ',
+  'ⴓ' => 'Ⴓ',
+  'ⴔ' => 'Ⴔ',
+  'ⴕ' => 'Ⴕ',
+  'ⴖ' => 'Ⴖ',
+  'ⴗ' => 'Ⴗ',
+  'ⴘ' => 'Ⴘ',
+  'ⴙ' => 'Ⴙ',
+  'ⴚ' => 'Ⴚ',
+  'ⴛ' => 'Ⴛ',
+  'ⴜ' => 'Ⴜ',
+  'ⴝ' => 'Ⴝ',
+  'ⴞ' => 'Ⴞ',
+  'ⴟ' => 'Ⴟ',
+  'ⴠ' => 'Ⴠ',
+  'ⴡ' => 'Ⴡ',
+  'ⴢ' => 'Ⴢ',
+  'ⴣ' => 'Ⴣ',
+  'ⴤ' => 'Ⴤ',
+  'ⴥ' => 'Ⴥ',
+  'ⴧ' => 'Ⴧ',
+  'ⴭ' => 'Ⴭ',
+  'ꙁ' => 'Ꙁ',
+  'ꙃ' => 'Ꙃ',
+  'ꙅ' => 'Ꙅ',
+  'ꙇ' => 'Ꙇ',
+  'ꙉ' => 'Ꙉ',
+  'ꙋ' => 'Ꙋ',
+  'ꙍ' => 'Ꙍ',
+  'ꙏ' => 'Ꙏ',
+  'ꙑ' => 'Ꙑ',
+  'ꙓ' => 'Ꙓ',
+  'ꙕ' => 'Ꙕ',
+  'ꙗ' => 'Ꙗ',
+  'ꙙ' => 'Ꙙ',
+  'ꙛ' => 'Ꙛ',
+  'ꙝ' => 'Ꙝ',
+  'ꙟ' => 'Ꙟ',
+  'ꙡ' => 'Ꙡ',
+  'ꙣ' => 'Ꙣ',
+  'ꙥ' => 'Ꙥ',
+  'ꙧ' => 'Ꙧ',
+  'ꙩ' => 'Ꙩ',
+  'ꙫ' => 'Ꙫ',
+  'ꙭ' => 'Ꙭ',
+  'ꚁ' => 'Ꚁ',
+  'ꚃ' => 'Ꚃ',
+  'ꚅ' => 'Ꚅ',
+  'ꚇ' => 'Ꚇ',
+  'ꚉ' => 'Ꚉ',
+  'ꚋ' => 'Ꚋ',
+  'ꚍ' => 'Ꚍ',
+  'ꚏ' => 'Ꚏ',
+  'ꚑ' => 'Ꚑ',
+  'ꚓ' => 'Ꚓ',
+  'ꚕ' => 'Ꚕ',
+  'ꚗ' => 'Ꚗ',
+  'ꚙ' => 'Ꚙ',
+  'ꚛ' => 'Ꚛ',
+  'ꜣ' => 'Ꜣ',
+  'ꜥ' => 'Ꜥ',
+  'ꜧ' => 'Ꜧ',
+  'ꜩ' => 'Ꜩ',
+  'ꜫ' => 'Ꜫ',
+  'ꜭ' => 'Ꜭ',
+  'ꜯ' => 'Ꜯ',
+  'ꜳ' => 'Ꜳ',
+  'ꜵ' => 'Ꜵ',
+  'ꜷ' => 'Ꜷ',
+  'ꜹ' => 'Ꜹ',
+  'ꜻ' => 'Ꜻ',
+  'ꜽ' => 'Ꜽ',
+  'ꜿ' => 'Ꜿ',
+  'ꝁ' => 'Ꝁ',
+  'ꝃ' => 'Ꝃ',
+  'ꝅ' => 'Ꝅ',
+  'ꝇ' => 'Ꝇ',
+  'ꝉ' => 'Ꝉ',
+  'ꝋ' => 'Ꝋ',
+  'ꝍ' => 'Ꝍ',
+  'ꝏ' => 'Ꝏ',
+  'ꝑ' => 'Ꝑ',
+  'ꝓ' => 'Ꝓ',
+  'ꝕ' => 'Ꝕ',
+  'ꝗ' => 'Ꝗ',
+  'ꝙ' => 'Ꝙ',
+  'ꝛ' => 'Ꝛ',
+  'ꝝ' => 'Ꝝ',
+  'ꝟ' => 'Ꝟ',
+  'ꝡ' => 'Ꝡ',
+  'ꝣ' => 'Ꝣ',
+  'ꝥ' => 'Ꝥ',
+  'ꝧ' => 'Ꝧ',
+  'ꝩ' => 'Ꝩ',
+  'ꝫ' => 'Ꝫ',
+  'ꝭ' => 'Ꝭ',
+  'ꝯ' => 'Ꝯ',
+  'ꝺ' => 'Ꝺ',
+  'ꝼ' => 'Ꝼ',
+  'ꝿ' => 'Ꝿ',
+  'ꞁ' => 'Ꞁ',
+  'ꞃ' => 'Ꞃ',
+  'ꞅ' => 'Ꞅ',
+  'ꞇ' => 'Ꞇ',
+  'ꞌ' => 'Ꞌ',
+  'ꞑ' => 'Ꞑ',
+  'ꞓ' => 'Ꞓ',
+  'ꞔ' => 'Ꞔ',
+  'ꞗ' => 'Ꞗ',
+  'ꞙ' => 'Ꞙ',
+  'ꞛ' => 'Ꞛ',
+  'ꞝ' => 'Ꞝ',
+  'ꞟ' => 'Ꞟ',
+  'ꞡ' => 'Ꞡ',
+  'ꞣ' => 'Ꞣ',
+  'ꞥ' => 'Ꞥ',
+  'ꞧ' => 'Ꞧ',
+  'ꞩ' => 'Ꞩ',
+  'ꞵ' => 'Ꞵ',
+  'ꞷ' => 'Ꞷ',
+  'ꞹ' => 'Ꞹ',
+  'ꞻ' => 'Ꞻ',
+  'ꞽ' => 'Ꞽ',
+  'ꞿ' => 'Ꞿ',
+  'ꟃ' => 'Ꟃ',
+  'ꟈ' => 'Ꟈ',
+  'ꟊ' => 'Ꟊ',
+  'ꟶ' => 'Ꟶ',
+  'ꭓ' => 'Ꭓ',
+  'ꭰ' => 'Ꭰ',
+  'ꭱ' => 'Ꭱ',
+  'ꭲ' => 'Ꭲ',
+  'ꭳ' => 'Ꭳ',
+  'ꭴ' => 'Ꭴ',
+  'ꭵ' => 'Ꭵ',
+  'ꭶ' => 'Ꭶ',
+  'ꭷ' => 'Ꭷ',
+  'ꭸ' => 'Ꭸ',
+  'ꭹ' => 'Ꭹ',
+  'ꭺ' => 'Ꭺ',
+  'ꭻ' => 'Ꭻ',
+  'ꭼ' => 'Ꭼ',
+  'ꭽ' => 'Ꭽ',
+  'ꭾ' => 'Ꭾ',
+  'ꭿ' => 'Ꭿ',
+  'ꮀ' => 'Ꮀ',
+  'ꮁ' => 'Ꮁ',
+  'ꮂ' => 'Ꮂ',
+  'ꮃ' => 'Ꮃ',
+  'ꮄ' => 'Ꮄ',
+  'ꮅ' => 'Ꮅ',
+  'ꮆ' => 'Ꮆ',
+  'ꮇ' => 'Ꮇ',
+  'ꮈ' => 'Ꮈ',
+  'ꮉ' => 'Ꮉ',
+  'ꮊ' => 'Ꮊ',
+  'ꮋ' => 'Ꮋ',
+  'ꮌ' => 'Ꮌ',
+  'ꮍ' => 'Ꮍ',
+  'ꮎ' => 'Ꮎ',
+  'ꮏ' => 'Ꮏ',
+  'ꮐ' => 'Ꮐ',
+  'ꮑ' => 'Ꮑ',
+  'ꮒ' => 'Ꮒ',
+  'ꮓ' => 'Ꮓ',
+  'ꮔ' => 'Ꮔ',
+  'ꮕ' => 'Ꮕ',
+  'ꮖ' => 'Ꮖ',
+  'ꮗ' => 'Ꮗ',
+  'ꮘ' => 'Ꮘ',
+  'ꮙ' => 'Ꮙ',
+  'ꮚ' => 'Ꮚ',
+  'ꮛ' => 'Ꮛ',
+  'ꮜ' => 'Ꮜ',
+  'ꮝ' => 'Ꮝ',
+  'ꮞ' => 'Ꮞ',
+  'ꮟ' => 'Ꮟ',
+  'ꮠ' => 'Ꮠ',
+  'ꮡ' => 'Ꮡ',
+  'ꮢ' => 'Ꮢ',
+  'ꮣ' => 'Ꮣ',
+  'ꮤ' => 'Ꮤ',
+  'ꮥ' => 'Ꮥ',
+  'ꮦ' => 'Ꮦ',
+  'ꮧ' => 'Ꮧ',
+  'ꮨ' => 'Ꮨ',
+  'ꮩ' => 'Ꮩ',
+  'ꮪ' => 'Ꮪ',
+  'ꮫ' => 'Ꮫ',
+  'ꮬ' => 'Ꮬ',
+  'ꮭ' => 'Ꮭ',
+  'ꮮ' => 'Ꮮ',
+  'ꮯ' => 'Ꮯ',
+  'ꮰ' => 'Ꮰ',
+  'ꮱ' => 'Ꮱ',
+  'ꮲ' => 'Ꮲ',
+  'ꮳ' => 'Ꮳ',
+  'ꮴ' => 'Ꮴ',
+  'ꮵ' => 'Ꮵ',
+  'ꮶ' => 'Ꮶ',
+  'ꮷ' => 'Ꮷ',
+  'ꮸ' => 'Ꮸ',
+  'ꮹ' => 'Ꮹ',
+  'ꮺ' => 'Ꮺ',
+  'ꮻ' => 'Ꮻ',
+  'ꮼ' => 'Ꮼ',
+  'ꮽ' => 'Ꮽ',
+  'ꮾ' => 'Ꮾ',
+  'ꮿ' => 'Ꮿ',
+  'ａ' => 'Ａ',
+  'ｂ' => 'Ｂ',
+  'ｃ' => 'Ｃ',
+  'ｄ' => 'Ｄ',
+  'ｅ' => 'Ｅ',
+  'ｆ' => 'Ｆ',
+  'ｇ' => 'Ｇ',
+  'ｈ' => 'Ｈ',
+  'ｉ' => 'Ｉ',
+  'ｊ' => 'Ｊ',
+  'ｋ' => 'Ｋ',
+  'ｌ' => 'Ｌ',
+  'ｍ' => 'Ｍ',
+  'ｎ' => 'Ｎ',
+  'ｏ' => 'Ｏ',
+  'ｐ' => 'Ｐ',
+  'ｑ' => 'Ｑ',
+  'ｒ' => 'Ｒ',
+  'ｓ' => 'Ｓ',
+  'ｔ' => 'Ｔ',
+  'ｕ' => 'Ｕ',
+  'ｖ' => 'Ｖ',
+  'ｗ' => 'Ｗ',
+  'ｘ' => 'Ｘ',
+  'ｙ' => 'Ｙ',
+  'ｚ' => 'Ｚ',
+  '𐐨' => '𐐀',
+  '𐐩' => '𐐁',
+  '𐐪' => '𐐂',
+  '𐐫' => '𐐃',
+  '𐐬' => '𐐄',
+  '𐐭' => '𐐅',
+  '𐐮' => '𐐆',
+  '𐐯' => '𐐇',
+  '𐐰' => '𐐈',
+  '𐐱' => '𐐉',
+  '𐐲' => '𐐊',
+  '𐐳' => '𐐋',
+  '𐐴' => '𐐌',
+  '𐐵' => '𐐍',
+  '𐐶' => '𐐎',
+  '𐐷' => '𐐏',
+  '𐐸' => '𐐐',
+  '𐐹' => '𐐑',
+  '𐐺' => '𐐒',
+  '𐐻' => '𐐓',
+  '𐐼' => '𐐔',
+  '𐐽' => '𐐕',
+  '𐐾' => '𐐖',
+  '𐐿' => '𐐗',
+  '𐑀' => '𐐘',
+  '𐑁' => '𐐙',
+  '𐑂' => '𐐚',
+  '𐑃' => '𐐛',
+  '𐑄' => '𐐜',
+  '𐑅' => '𐐝',
+  '𐑆' => '𐐞',
+  '𐑇' => '𐐟',
+  '𐑈' => '𐐠',
+  '𐑉' => '𐐡',
+  '𐑊' => '𐐢',
+  '𐑋' => '𐐣',
+  '𐑌' => '𐐤',
+  '𐑍' => '𐐥',
+  '𐑎' => '𐐦',
+  '𐑏' => '𐐧',
+  '𐓘' => '𐒰',
+  '𐓙' => '𐒱',
+  '𐓚' => '𐒲',
+  '𐓛' => '𐒳',
+  '𐓜' => '𐒴',
+  '𐓝' => '𐒵',
+  '𐓞' => '𐒶',
+  '𐓟' => '𐒷',
+  '𐓠' => '𐒸',
+  '𐓡' => '𐒹',
+  '𐓢' => '𐒺',
+  '𐓣' => '𐒻',
+  '𐓤' => '𐒼',
+  '𐓥' => '𐒽',
+  '𐓦' => '𐒾',
+  '𐓧' => '𐒿',
+  '𐓨' => '𐓀',
+  '𐓩' => '𐓁',
+  '𐓪' => '𐓂',
+  '𐓫' => '𐓃',
+  '𐓬' => '𐓄',
+  '𐓭' => '𐓅',
+  '𐓮' => '𐓆',
+  '𐓯' => '𐓇',
+  '𐓰' => '𐓈',
+  '𐓱' => '𐓉',
+  '𐓲' => '𐓊',
+  '𐓳' => '𐓋',
+  '𐓴' => '𐓌',
+  '𐓵' => '𐓍',
+  '𐓶' => '𐓎',
+  '𐓷' => '𐓏',
+  '𐓸' => '𐓐',
+  '𐓹' => '𐓑',
+  '𐓺' => '𐓒',
+  '𐓻' => '𐓓',
+  '𐳀' => '𐲀',
+  '𐳁' => '𐲁',
+  '𐳂' => '𐲂',
+  '𐳃' => '𐲃',
+  '𐳄' => '𐲄',
+  '𐳅' => '𐲅',
+  '𐳆' => '𐲆',
+  '𐳇' => '𐲇',
+  '𐳈' => '𐲈',
+  '𐳉' => '𐲉',
+  '𐳊' => '𐲊',
+  '𐳋' => '𐲋',
+  '𐳌' => '𐲌',
+  '𐳍' => '𐲍',
+  '𐳎' => '𐲎',
+  '𐳏' => '𐲏',
+  '𐳐' => '𐲐',
+  '𐳑' => '𐲑',
+  '𐳒' => '𐲒',
+  '𐳓' => '𐲓',
+  '𐳔' => '𐲔',
+  '𐳕' => '𐲕',
+  '𐳖' => '𐲖',
+  '𐳗' => '𐲗',
+  '𐳘' => '𐲘',
+  '𐳙' => '𐲙',
+  '𐳚' => '𐲚',
+  '𐳛' => '𐲛',
+  '𐳜' => '𐲜',
+  '𐳝' => '𐲝',
+  '𐳞' => '𐲞',
+  '𐳟' => '𐲟',
+  '𐳠' => '𐲠',
+  '𐳡' => '𐲡',
+  '𐳢' => '𐲢',
+  '𐳣' => '𐲣',
+  '𐳤' => '𐲤',
+  '𐳥' => '𐲥',
+  '𐳦' => '𐲦',
+  '𐳧' => '𐲧',
+  '𐳨' => '𐲨',
+  '𐳩' => '𐲩',
+  '𐳪' => '𐲪',
+  '𐳫' => '𐲫',
+  '𐳬' => '𐲬',
+  '𐳭' => '𐲭',
+  '𐳮' => '𐲮',
+  '𐳯' => '𐲯',
+  '𐳰' => '𐲰',
+  '𐳱' => '𐲱',
+  '𐳲' => '𐲲',
+  '𑣀' => '𑢠',
+  '𑣁' => '𑢡',
+  '𑣂' => '𑢢',
+  '𑣃' => '𑢣',
+  '𑣄' => '𑢤',
+  '𑣅' => '𑢥',
+  '𑣆' => '𑢦',
+  '𑣇' => '𑢧',
+  '𑣈' => '𑢨',
+  '𑣉' => '𑢩',
+  '𑣊' => '𑢪',
+  '𑣋' => '𑢫',
+  '𑣌' => '𑢬',
+  '𑣍' => '𑢭',
+  '𑣎' => '𑢮',
+  '𑣏' => '𑢯',
+  '𑣐' => '𑢰',
+  '𑣑' => '𑢱',
+  '𑣒' => '𑢲',
+  '𑣓' => '𑢳',
+  '𑣔' => '𑢴',
+  '𑣕' => '𑢵',
+  '𑣖' => '𑢶',
+  '𑣗' => '𑢷',
+  '𑣘' => '𑢸',
+  '𑣙' => '𑢹',
+  '𑣚' => '𑢺',
+  '𑣛' => '𑢻',
+  '𑣜' => '𑢼',
+  '𑣝' => '𑢽',
+  '𑣞' => '𑢾',
+  '𑣟' => '𑢿',
+  '𖹠' => '𖹀',
+  '𖹡' => '𖹁',
+  '𖹢' => '𖹂',
+  '𖹣' => '𖹃',
+  '𖹤' => '𖹄',
+  '𖹥' => '𖹅',
+  '𖹦' => '𖹆',
+  '𖹧' => '𖹇',
+  '𖹨' => '𖹈',
+  '𖹩' => '𖹉',
+  '𖹪' => '𖹊',
+  '𖹫' => '𖹋',
+  '𖹬' => '𖹌',
+  '𖹭' => '𖹍',
+  '𖹮' => '𖹎',
+  '𖹯' => '𖹏',
+  '𖹰' => '𖹐',
+  '𖹱' => '𖹑',
+  '𖹲' => '𖹒',
+  '𖹳' => '𖹓',
+  '𖹴' => '𖹔',
+  '𖹵' => '𖹕',
+  '𖹶' => '𖹖',
+  '𖹷' => '𖹗',
+  '𖹸' => '𖹘',
+  '𖹹' => '𖹙',
+  '𖹺' => '𖹚',
+  '𖹻' => '𖹛',
+  '𖹼' => '𖹜',
+  '𖹽' => '𖹝',
+  '𖹾' => '𖹞',
+  '𖹿' => '𖹟',
+  '𞤢' => '𞤀',
+  '𞤣' => '𞤁',
+  '𞤤' => '𞤂',
+  '𞤥' => '𞤃',
+  '𞤦' => '𞤄',
+  '𞤧' => '𞤅',
+  '𞤨' => '𞤆',
+  '𞤩' => '𞤇',
+  '𞤪' => '𞤈',
+  '𞤫' => '𞤉',
+  '𞤬' => '𞤊',
+  '𞤭' => '𞤋',
+  '𞤮' => '𞤌',
+  '𞤯' => '𞤍',
+  '𞤰' => '𞤎',
+  '𞤱' => '𞤏',
+  '𞤲' => '𞤐',
+  '𞤳' => '𞤑',
+  '𞤴' => '𞤒',
+  '𞤵' => '𞤓',
+  '𞤶' => '𞤔',
+  '𞤷' => '𞤕',
+  '𞤸' => '𞤖',
+  '𞤹' => '𞤗',
+  '𞤺' => '𞤘',
+  '𞤻' => '𞤙',
+  '𞤼' => '𞤚',
+  '𞤽' => '𞤛',
+  '𞤾' => '𞤜',
+  '𞤿' => '𞤝',
+  '𞥀' => '𞤞',
+  '𞥁' => '𞤟',
+  '𞥂' => '𞤠',
+  '𞥃' => '𞤡',
+  'ß' => 'SS',
+  'ﬀ' => 'FF',
+  'ﬁ' => 'FI',
+  'ﬂ' => 'FL',
+  'ﬃ' => 'FFI',
+  'ﬄ' => 'FFL',
+  'ﬅ' => 'ST',
+  'ﬆ' => 'ST',
+  'և' => 'ԵՒ',
+  'ﬓ' => 'ՄՆ',
+  'ﬔ' => 'ՄԵ',
+  'ﬕ' => 'ՄԻ',
+  'ﬖ' => 'ՎՆ',
+  'ﬗ' => 'ՄԽ',
+  'ŉ' => 'ʼN',
+  'ΐ' => 'Ϊ́',
+  'ΰ' => 'Ϋ́',
+  'ǰ' => 'J̌',
+  'ẖ' => 'H̱',
+  'ẗ' => 'T̈',
+  'ẘ' => 'W̊',
+  'ẙ' => 'Y̊',
+  'ẚ' => 'Aʾ',
+  'ὐ' => 'Υ̓',
+  'ὒ' => 'Υ̓̀',
+  'ὔ' => 'Υ̓́',
+  'ὖ' => 'Υ̓͂',
+  'ᾶ' => 'Α͂',
+  'ῆ' => 'Η͂',
+  'ῒ' => 'Ϊ̀',
+  'ΐ' => 'Ϊ́',
+  'ῖ' => 'Ι͂',
+  'ῗ' => 'Ϊ͂',
+  'ῢ' => 'Ϋ̀',
+  'ΰ' => 'Ϋ́',
+  'ῤ' => 'Ρ̓',
+  'ῦ' => 'Υ͂',
+  'ῧ' => 'Ϋ͂',
+  'ῶ' => 'Ω͂',
+  'ᾈ' => 'ἈΙ',
+  'ᾉ' => 'ἉΙ',
+  'ᾊ' => 'ἊΙ',
+  'ᾋ' => 'ἋΙ',
+  'ᾌ' => 'ἌΙ',
+  'ᾍ' => 'ἍΙ',
+  'ᾎ' => 'ἎΙ',
+  'ᾏ' => 'ἏΙ',
+  'ᾘ' => 'ἨΙ',
+  'ᾙ' => 'ἩΙ',
+  'ᾚ' => 'ἪΙ',
+  'ᾛ' => 'ἫΙ',
+  'ᾜ' => 'ἬΙ',
+  'ᾝ' => 'ἭΙ',
+  'ᾞ' => 'ἮΙ',
+  'ᾟ' => 'ἯΙ',
+  'ᾨ' => 'ὨΙ',
+  'ᾩ' => 'ὩΙ',
+  'ᾪ' => 'ὪΙ',
+  'ᾫ' => 'ὫΙ',
+  'ᾬ' => 'ὬΙ',
+  'ᾭ' => 'ὭΙ',
+  'ᾮ' => 'ὮΙ',
+  'ᾯ' => 'ὯΙ',
+  'ᾼ' => 'ΑΙ',
+  'ῌ' => 'ΗΙ',
+  'ῼ' => 'ΩΙ',
+  'ᾲ' => 'ᾺΙ',
+  'ᾴ' => 'ΆΙ',
+  'ῂ' => 'ῊΙ',
+  'ῄ' => 'ΉΙ',
+  'ῲ' => 'ῺΙ',
+  'ῴ' => 'ΏΙ',
+  'ᾷ' => 'Α͂Ι',
+  'ῇ' => 'Η͂Ι',
+  'ῷ' => 'Ω͂Ι',
+);
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/bootstrap.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/bootstrap.php
new file mode 100644
index 0000000..1fedd1f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/bootstrap.php
@@ -0,0 +1,147 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use Symfony\Polyfill\Mbstring as p;
+
+if (\PHP_VERSION_ID >= 80000) {
+    return require __DIR__.'/bootstrap80.php';
+}
+
+if (!function_exists('mb_convert_encoding')) {
+    function mb_convert_encoding($string, $to_encoding, $from_encoding = null) { return p\Mbstring::mb_convert_encoding($string, $to_encoding, $from_encoding); }
+}
+if (!function_exists('mb_decode_mimeheader')) {
+    function mb_decode_mimeheader($string) { return p\Mbstring::mb_decode_mimeheader($string); }
+}
+if (!function_exists('mb_encode_mimeheader')) {
+    function mb_encode_mimeheader($string, $charset = null, $transfer_encoding = null, $newline = "\r\n", $indent = 0) { return p\Mbstring::mb_encode_mimeheader($string, $charset, $transfer_encoding, $newline, $indent); }
+}
+if (!function_exists('mb_decode_numericentity')) {
+    function mb_decode_numericentity($string, $map, $encoding = null) { return p\Mbstring::mb_decode_numericentity($string, $map, $encoding); }
+}
+if (!function_exists('mb_encode_numericentity')) {
+    function mb_encode_numericentity($string, $map, $encoding = null, $hex = false) { return p\Mbstring::mb_encode_numericentity($string, $map, $encoding, $hex); }
+}
+if (!function_exists('mb_convert_case')) {
+    function mb_convert_case($string, $mode, $encoding = null) { return p\Mbstring::mb_convert_case($string, $mode, $encoding); }
+}
+if (!function_exists('mb_internal_encoding')) {
+    function mb_internal_encoding($encoding = null) { return p\Mbstring::mb_internal_encoding($encoding); }
+}
+if (!function_exists('mb_language')) {
+    function mb_language($language = null) { return p\Mbstring::mb_language($language); }
+}
+if (!function_exists('mb_list_encodings')) {
+    function mb_list_encodings() { return p\Mbstring::mb_list_encodings(); }
+}
+if (!function_exists('mb_encoding_aliases')) {
+    function mb_encoding_aliases($encoding) { return p\Mbstring::mb_encoding_aliases($encoding); }
+}
+if (!function_exists('mb_check_encoding')) {
+    function mb_check_encoding($value = null, $encoding = null) { return p\Mbstring::mb_check_encoding($value, $encoding); }
+}
+if (!function_exists('mb_detect_encoding')) {
+    function mb_detect_encoding($string, $encodings = null, $strict = false) { return p\Mbstring::mb_detect_encoding($string, $encodings, $strict); }
+}
+if (!function_exists('mb_detect_order')) {
+    function mb_detect_order($encoding = null) { return p\Mbstring::mb_detect_order($encoding); }
+}
+if (!function_exists('mb_parse_str')) {
+    function mb_parse_str($string, &$result = []) { parse_str($string, $result); return (bool) $result; }
+}
+if (!function_exists('mb_strlen')) {
+    function mb_strlen($string, $encoding = null) { return p\Mbstring::mb_strlen($string, $encoding); }
+}
+if (!function_exists('mb_strpos')) {
+    function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strpos($haystack, $needle, $offset, $encoding); }
+}
+if (!function_exists('mb_strtolower')) {
+    function mb_strtolower($string, $encoding = null) { return p\Mbstring::mb_strtolower($string, $encoding); }
+}
+if (!function_exists('mb_strtoupper')) {
+    function mb_strtoupper($string, $encoding = null) { return p\Mbstring::mb_strtoupper($string, $encoding); }
+}
+if (!function_exists('mb_substitute_character')) {
+    function mb_substitute_character($substitute_character = null) { return p\Mbstring::mb_substitute_character($substitute_character); }
+}
+if (!function_exists('mb_substr')) {
+    function mb_substr($string, $start, $length = 2147483647, $encoding = null) { return p\Mbstring::mb_substr($string, $start, $length, $encoding); }
+}
+if (!function_exists('mb_stripos')) {
+    function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_stripos($haystack, $needle, $offset, $encoding); }
+}
+if (!function_exists('mb_stristr')) {
+    function mb_stristr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_stristr($haystack, $needle, $before_needle, $encoding); }
+}
+if (!function_exists('mb_strrchr')) {
+    function mb_strrchr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrchr($haystack, $needle, $before_needle, $encoding); }
+}
+if (!function_exists('mb_strrichr')) {
+    function mb_strrichr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrichr($haystack, $needle, $before_needle, $encoding); }
+}
+if (!function_exists('mb_strripos')) {
+    function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strripos($haystack, $needle, $offset, $encoding); }
+}
+if (!function_exists('mb_strrpos')) {
+    function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strrpos($haystack, $needle, $offset, $encoding); }
+}
+if (!function_exists('mb_strstr')) {
+    function mb_strstr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strstr($haystack, $needle, $before_needle, $encoding); }
+}
+if (!function_exists('mb_get_info')) {
+    function mb_get_info($type = 'all') { return p\Mbstring::mb_get_info($type); }
+}
+if (!function_exists('mb_http_output')) {
+    function mb_http_output($encoding = null) { return p\Mbstring::mb_http_output($encoding); }
+}
+if (!function_exists('mb_strwidth')) {
+    function mb_strwidth($string, $encoding = null) { return p\Mbstring::mb_strwidth($string, $encoding); }
+}
+if (!function_exists('mb_substr_count')) {
+    function mb_substr_count($haystack, $needle, $encoding = null) { return p\Mbstring::mb_substr_count($haystack, $needle, $encoding); }
+}
+if (!function_exists('mb_output_handler')) {
+    function mb_output_handler($string, $status) { return p\Mbstring::mb_output_handler($string, $status); }
+}
+if (!function_exists('mb_http_input')) {
+    function mb_http_input($type = null) { return p\Mbstring::mb_http_input($type); }
+}
+
+if (!function_exists('mb_convert_variables')) {
+    function mb_convert_variables($to_encoding, $from_encoding, &...$vars) { return p\Mbstring::mb_convert_variables($to_encoding, $from_encoding, ...$vars); }
+}
+
+if (!function_exists('mb_ord')) {
+    function mb_ord($string, $encoding = null) { return p\Mbstring::mb_ord($string, $encoding); }
+}
+if (!function_exists('mb_chr')) {
+    function mb_chr($codepoint, $encoding = null) { return p\Mbstring::mb_chr($codepoint, $encoding); }
+}
+if (!function_exists('mb_scrub')) {
+    function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); }
+}
+if (!function_exists('mb_str_split')) {
+    function mb_str_split($string, $length = 1, $encoding = null) { return p\Mbstring::mb_str_split($string, $length, $encoding); }
+}
+
+if (extension_loaded('mbstring')) {
+    return;
+}
+
+if (!defined('MB_CASE_UPPER')) {
+    define('MB_CASE_UPPER', 0);
+}
+if (!defined('MB_CASE_LOWER')) {
+    define('MB_CASE_LOWER', 1);
+}
+if (!defined('MB_CASE_TITLE')) {
+    define('MB_CASE_TITLE', 2);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/bootstrap80.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/bootstrap80.php
new file mode 100644
index 0000000..82f5ac4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/bootstrap80.php
@@ -0,0 +1,143 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use Symfony\Polyfill\Mbstring as p;
+
+if (!function_exists('mb_convert_encoding')) {
+    function mb_convert_encoding(array|string|null $string, ?string $to_encoding, array|string|null $from_encoding = null): array|string|false { return p\Mbstring::mb_convert_encoding($string ?? '', (string) $to_encoding, $from_encoding); }
+}
+if (!function_exists('mb_decode_mimeheader')) {
+    function mb_decode_mimeheader(?string $string): string { return p\Mbstring::mb_decode_mimeheader((string) $string); }
+}
+if (!function_exists('mb_encode_mimeheader')) {
+    function mb_encode_mimeheader(?string $string, ?string $charset = null, ?string $transfer_encoding = null, ?string $newline = "\r\n", ?int $indent = 0): string { return p\Mbstring::mb_encode_mimeheader((string) $string, $charset, $transfer_encoding, (string) $newline, (int) $indent); }
+}
+if (!function_exists('mb_decode_numericentity')) {
+    function mb_decode_numericentity(?string $string, array $map, ?string $encoding = null): string { return p\Mbstring::mb_decode_numericentity((string) $string, $map, $encoding); }
+}
+if (!function_exists('mb_encode_numericentity')) {
+    function mb_encode_numericentity(?string $string, array $map, ?string $encoding = null, ?bool $hex = false): string { return p\Mbstring::mb_encode_numericentity((string) $string, $map, $encoding, (bool) $hex); }
+}
+if (!function_exists('mb_convert_case')) {
+    function mb_convert_case(?string $string, ?int $mode, ?string $encoding = null): string { return p\Mbstring::mb_convert_case((string) $string, (int) $mode, $encoding); }
+}
+if (!function_exists('mb_internal_encoding')) {
+    function mb_internal_encoding(?string $encoding = null): string|bool { return p\Mbstring::mb_internal_encoding($encoding); }
+}
+if (!function_exists('mb_language')) {
+    function mb_language(?string $language = null): string|bool { return p\Mbstring::mb_language($language); }
+}
+if (!function_exists('mb_list_encodings')) {
+    function mb_list_encodings(): array { return p\Mbstring::mb_list_encodings(); }
+}
+if (!function_exists('mb_encoding_aliases')) {
+    function mb_encoding_aliases(?string $encoding): array { return p\Mbstring::mb_encoding_aliases((string) $encoding); }
+}
+if (!function_exists('mb_check_encoding')) {
+    function mb_check_encoding(array|string|null $value = null, ?string $encoding = null): bool { return p\Mbstring::mb_check_encoding($value, $encoding); }
+}
+if (!function_exists('mb_detect_encoding')) {
+    function mb_detect_encoding(?string $string, array|string|null $encodings = null, ?bool $strict = false): string|false { return p\Mbstring::mb_detect_encoding((string) $string, $encodings, (bool) $strict); }
+}
+if (!function_exists('mb_detect_order')) {
+    function mb_detect_order(array|string|null $encoding = null): array|bool { return p\Mbstring::mb_detect_order($encoding); }
+}
+if (!function_exists('mb_parse_str')) {
+    function mb_parse_str(?string $string, &$result = []): bool { parse_str((string) $string, $result); return (bool) $result; }
+}
+if (!function_exists('mb_strlen')) {
+    function mb_strlen(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strlen((string) $string, $encoding); }
+}
+if (!function_exists('mb_strpos')) {
+    function mb_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
+}
+if (!function_exists('mb_strtolower')) {
+    function mb_strtolower(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtolower((string) $string, $encoding); }
+}
+if (!function_exists('mb_strtoupper')) {
+    function mb_strtoupper(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtoupper((string) $string, $encoding); }
+}
+if (!function_exists('mb_substitute_character')) {
+    function mb_substitute_character(string|int|null $substitute_character = null): string|int|bool { return p\Mbstring::mb_substitute_character($substitute_character); }
+}
+if (!function_exists('mb_substr')) {
+    function mb_substr(?string $string, ?int $start, ?int $length = null, ?string $encoding = null): string { return p\Mbstring::mb_substr((string) $string, (int) $start, $length, $encoding); }
+}
+if (!function_exists('mb_stripos')) {
+    function mb_stripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_stripos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
+}
+if (!function_exists('mb_stristr')) {
+    function mb_stristr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_stristr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
+}
+if (!function_exists('mb_strrchr')) {
+    function mb_strrchr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrchr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
+}
+if (!function_exists('mb_strrichr')) {
+    function mb_strrichr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrichr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
+}
+if (!function_exists('mb_strripos')) {
+    function mb_strripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strripos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
+}
+if (!function_exists('mb_strrpos')) {
+    function mb_strrpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strrpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
+}
+if (!function_exists('mb_strstr')) {
+    function mb_strstr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
+}
+if (!function_exists('mb_get_info')) {
+    function mb_get_info(?string $type = 'all'): array|string|int|false { return p\Mbstring::mb_get_info((string) $type); }
+}
+if (!function_exists('mb_http_output')) {
+    function mb_http_output(?string $encoding = null): string|bool { return p\Mbstring::mb_http_output($encoding); }
+}
+if (!function_exists('mb_strwidth')) {
+    function mb_strwidth(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strwidth((string) $string, $encoding); }
+}
+if (!function_exists('mb_substr_count')) {
+    function mb_substr_count(?string $haystack, ?string $needle, ?string $encoding = null): int { return p\Mbstring::mb_substr_count((string) $haystack, (string) $needle, $encoding); }
+}
+if (!function_exists('mb_output_handler')) {
+    function mb_output_handler(?string $string, ?int $status): string { return p\Mbstring::mb_output_handler((string) $string, (int) $status); }
+}
+if (!function_exists('mb_http_input')) {
+    function mb_http_input(?string $type = null): array|string|false { return p\Mbstring::mb_http_input($type); }
+}
+
+if (!function_exists('mb_convert_variables')) {
+    function mb_convert_variables(?string $to_encoding, array|string|null $from_encoding, mixed &$var, mixed &...$vars): string|false { return p\Mbstring::mb_convert_variables((string) $to_encoding, $from_encoding ?? '', $var, ...$vars); }
+}
+
+if (!function_exists('mb_ord')) {
+    function mb_ord(?string $string, ?string $encoding = null): int|false { return p\Mbstring::mb_ord((string) $string, $encoding); }
+}
+if (!function_exists('mb_chr')) {
+    function mb_chr(?int $codepoint, ?string $encoding = null): string|false { return p\Mbstring::mb_chr((int) $codepoint, $encoding); }
+}
+if (!function_exists('mb_scrub')) {
+    function mb_scrub(?string $string, ?string $encoding = null): string { $encoding ??= mb_internal_encoding(); return mb_convert_encoding((string) $string, $encoding, $encoding); }
+}
+if (!function_exists('mb_str_split')) {
+    function mb_str_split(?string $string, ?int $length = 1, ?string $encoding = null): array { return p\Mbstring::mb_str_split((string) $string, (int) $length, $encoding); }
+}
+
+if (extension_loaded('mbstring')) {
+    return;
+}
+
+if (!defined('MB_CASE_UPPER')) {
+    define('MB_CASE_UPPER', 0);
+}
+if (!defined('MB_CASE_LOWER')) {
+    define('MB_CASE_LOWER', 1);
+}
+if (!defined('MB_CASE_TITLE')) {
+    define('MB_CASE_TITLE', 2);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/composer.json
new file mode 100644
index 0000000..2ed7a74
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-mbstring/composer.json
@@ -0,0 +1,38 @@
+{
+    "name": "symfony/polyfill-mbstring",
+    "type": "library",
+    "description": "Symfony polyfill for the Mbstring extension",
+    "keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"],
+    "homepage": "https://symfony.com",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Nicolas Grekas",
+            "email": "p@tchwork.com"
+        },
+        {
+            "name": "Symfony Community",
+            "homepage": "https://symfony.com/contributors"
+        }
+    ],
+    "require": {
+        "php": ">=7.1"
+    },
+    "autoload": {
+        "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" },
+        "files": [ "bootstrap.php" ]
+    },
+    "suggest": {
+        "ext-mbstring": "For best performance"
+    },
+    "minimum-stability": "dev",
+    "extra": {
+        "branch-alias": {
+            "dev-main": "1.23-dev"
+        },
+        "thanks": {
+            "name": "symfony/polyfill",
+            "url": "https://github.com/symfony/polyfill"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/LICENSE
new file mode 100644
index 0000000..5593b1d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2020 Fabien Potencier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Php80.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Php80.php
new file mode 100644
index 0000000..5fef511
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Php80.php
@@ -0,0 +1,105 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Polyfill\Php80;
+
+/**
+ * @author Ion Bazan <ion.bazan@gmail.com>
+ * @author Nico Oelgart <nicoswd@gmail.com>
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @internal
+ */
+final class Php80
+{
+    public static function fdiv(float $dividend, float $divisor): float
+    {
+        return @($dividend / $divisor);
+    }
+
+    public static function get_debug_type($value): string
+    {
+        switch (true) {
+            case null === $value: return 'null';
+            case \is_bool($value): return 'bool';
+            case \is_string($value): return 'string';
+            case \is_array($value): return 'array';
+            case \is_int($value): return 'int';
+            case \is_float($value): return 'float';
+            case \is_object($value): break;
+            case $value instanceof \__PHP_Incomplete_Class: return '__PHP_Incomplete_Class';
+            default:
+                if (null === $type = @get_resource_type($value)) {
+                    return 'unknown';
+                }
+
+                if ('Unknown' === $type) {
+                    $type = 'closed';
+                }
+
+                return "resource ($type)";
+        }
+
+        $class = \get_class($value);
+
+        if (false === strpos($class, '@')) {
+            return $class;
+        }
+
+        return (get_parent_class($class) ?: key(class_implements($class)) ?: 'class').'@anonymous';
+    }
+
+    public static function get_resource_id($res): int
+    {
+        if (!\is_resource($res) && null === @get_resource_type($res)) {
+            throw new \TypeError(sprintf('Argument 1 passed to get_resource_id() must be of the type resource, %s given', get_debug_type($res)));
+        }
+
+        return (int) $res;
+    }
+
+    public static function preg_last_error_msg(): string
+    {
+        switch (preg_last_error()) {
+            case \PREG_INTERNAL_ERROR:
+                return 'Internal error';
+            case \PREG_BAD_UTF8_ERROR:
+                return 'Malformed UTF-8 characters, possibly incorrectly encoded';
+            case \PREG_BAD_UTF8_OFFSET_ERROR:
+                return 'The offset did not correspond to the beginning of a valid UTF-8 code point';
+            case \PREG_BACKTRACK_LIMIT_ERROR:
+                return 'Backtrack limit exhausted';
+            case \PREG_RECURSION_LIMIT_ERROR:
+                return 'Recursion limit exhausted';
+            case \PREG_JIT_STACKLIMIT_ERROR:
+                return 'JIT stack limit exhausted';
+            case \PREG_NO_ERROR:
+                return 'No error';
+            default:
+                return 'Unknown error';
+        }
+    }
+
+    public static function str_contains(string $haystack, string $needle): bool
+    {
+        return '' === $needle || false !== strpos($haystack, $needle);
+    }
+
+    public static function str_starts_with(string $haystack, string $needle): bool
+    {
+        return 0 === strncmp($haystack, $needle, \strlen($needle));
+    }
+
+    public static function str_ends_with(string $haystack, string $needle): bool
+    {
+        return '' === $needle || ('' !== $haystack && 0 === substr_compare($haystack, $needle, -\strlen($needle)));
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/README.md
new file mode 100644
index 0000000..10b8ee4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/README.md
@@ -0,0 +1,24 @@
+Symfony Polyfill / Php80
+========================
+
+This component provides features added to PHP 8.0 core:
+
+- `Stringable` interface
+- [`fdiv`](https://php.net/fdiv)
+- `ValueError` class
+- `UnhandledMatchError` class
+- `FILTER_VALIDATE_BOOL` constant
+- [`get_debug_type`](https://php.net/get_debug_type)
+- [`preg_last_error_msg`](https://php.net/preg_last_error_msg)
+- [`str_contains`](https://php.net/str_contains)
+- [`str_starts_with`](https://php.net/str_starts_with)
+- [`str_ends_with`](https://php.net/str_ends_with)
+- [`get_resource_id`](https://php.net/get_resource_id)
+
+More information can be found in the
+[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
+
+License
+=======
+
+This library is released under the [MIT license](LICENSE).
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php
new file mode 100644
index 0000000..7ea6d27
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php
@@ -0,0 +1,22 @@
+<?php
+
+#[Attribute(Attribute::TARGET_CLASS)]
+final class Attribute
+{
+    public const TARGET_CLASS = 1;
+    public const TARGET_FUNCTION = 2;
+    public const TARGET_METHOD = 4;
+    public const TARGET_PROPERTY = 8;
+    public const TARGET_CLASS_CONSTANT = 16;
+    public const TARGET_PARAMETER = 32;
+    public const TARGET_ALL = 63;
+    public const IS_REPEATABLE = 64;
+
+    /** @var int */
+    public $flags;
+
+    public function __construct(int $flags = self::TARGET_ALL)
+    {
+        $this->flags = $flags;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php
new file mode 100644
index 0000000..77e037c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php
@@ -0,0 +1,11 @@
+<?php
+
+if (\PHP_VERSION_ID < 80000) {
+    interface Stringable
+    {
+        /**
+         * @return string
+         */
+        public function __toString();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php
new file mode 100644
index 0000000..7fb2000
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php
@@ -0,0 +1,5 @@
+<?php
+
+class UnhandledMatchError extends Error
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php
new file mode 100644
index 0000000..99843ca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php
@@ -0,0 +1,5 @@
+<?php
+
+class ValueError extends Error
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/bootstrap.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/bootstrap.php
new file mode 100644
index 0000000..e5f7dbc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/bootstrap.php
@@ -0,0 +1,42 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use Symfony\Polyfill\Php80 as p;
+
+if (\PHP_VERSION_ID >= 80000) {
+    return;
+}
+
+if (!defined('FILTER_VALIDATE_BOOL') && defined('FILTER_VALIDATE_BOOLEAN')) {
+    define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN);
+}
+
+if (!function_exists('fdiv')) {
+    function fdiv(float $num1, float $num2): float { return p\Php80::fdiv($num1, $num2); }
+}
+if (!function_exists('preg_last_error_msg')) {
+    function preg_last_error_msg(): string { return p\Php80::preg_last_error_msg(); }
+}
+if (!function_exists('str_contains')) {
+    function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); }
+}
+if (!function_exists('str_starts_with')) {
+    function str_starts_with(?string $haystack, ?string $needle): bool { return p\Php80::str_starts_with($haystack ?? '', $needle ?? ''); }
+}
+if (!function_exists('str_ends_with')) {
+    function str_ends_with(?string $haystack, ?string $needle): bool { return p\Php80::str_ends_with($haystack ?? '', $needle ?? ''); }
+}
+if (!function_exists('get_debug_type')) {
+    function get_debug_type($value): string { return p\Php80::get_debug_type($value); }
+}
+if (!function_exists('get_resource_id')) {
+    function get_resource_id($resource): int { return p\Php80::get_resource_id($resource); }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/composer.json
new file mode 100644
index 0000000..5fe679d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/polyfill-php80/composer.json
@@ -0,0 +1,40 @@
+{
+    "name": "symfony/polyfill-php80",
+    "type": "library",
+    "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+    "keywords": ["polyfill", "shim", "compatibility", "portable"],
+    "homepage": "https://symfony.com",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Ion Bazan",
+            "email": "ion.bazan@gmail.com"
+        },
+        {
+            "name": "Nicolas Grekas",
+            "email": "p@tchwork.com"
+        },
+        {
+            "name": "Symfony Community",
+            "homepage": "https://symfony.com/contributors"
+        }
+    ],
+    "require": {
+        "php": ">=7.1"
+    },
+    "autoload": {
+        "psr-4": { "Symfony\\Polyfill\\Php80\\": "" },
+        "files": [ "bootstrap.php" ],
+        "classmap": [ "Resources/stubs" ]
+    },
+    "minimum-stability": "dev",
+    "extra": {
+        "branch-alias": {
+            "dev-main": "1.23-dev"
+        },
+        "thanks": {
+            "name": "symfony/polyfill",
+            "url": "https://github.com/symfony/polyfill"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/.gitignore b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/.gitignore
new file mode 100644
index 0000000..c49a5d8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/.gitignore
@@ -0,0 +1,3 @@
+vendor/
+composer.lock
+phpunit.xml
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/CHANGELOG.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/CHANGELOG.md
new file mode 100644
index 0000000..7932e26
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/CHANGELOG.md
@@ -0,0 +1,5 @@
+CHANGELOG
+=========
+
+The changelog is maintained for all Symfony contracts at the following URL:
+https://github.com/symfony/contracts/blob/main/CHANGELOG.md
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/LICENSE
new file mode 100644
index 0000000..2358414
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2018-2021 Fabien Potencier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/LocaleAwareInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/LocaleAwareInterface.php
new file mode 100644
index 0000000..922ec1d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/LocaleAwareInterface.php
@@ -0,0 +1,31 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Contracts\Translation;
+
+interface LocaleAwareInterface
+{
+    /**
+     * Sets the current locale.
+     *
+     * @param string $locale The locale
+     *
+     * @throws \InvalidArgumentException If the locale contains invalid characters
+     */
+    public function setLocale(string $locale);
+
+    /**
+     * Returns the current locale.
+     *
+     * @return string The locale
+     */
+    public function getLocale();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/README.md
new file mode 100644
index 0000000..42e5c51
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/README.md
@@ -0,0 +1,9 @@
+Symfony Translation Contracts
+=============================
+
+A set of abstractions extracted out of the Symfony components.
+
+Can be used to build on semantics that the Symfony components proved useful - and
+that already have battle tested implementations.
+
+See https://github.com/symfony/contracts/blob/main/README.md for more information.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/Test/TranslatorTest.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/Test/TranslatorTest.php
new file mode 100644
index 0000000..aac9d68
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/Test/TranslatorTest.php
@@ -0,0 +1,367 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Contracts\Translation\Test;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Contracts\Translation\TranslatorInterface;
+use Symfony\Contracts\Translation\TranslatorTrait;
+
+/**
+ * Test should cover all languages mentioned on http://translate.sourceforge.net/wiki/l10n/pluralforms
+ * and Plural forms mentioned on http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms.
+ *
+ * See also https://developer.mozilla.org/en/Localization_and_Plurals which mentions 15 rules having a maximum of 6 forms.
+ * The mozilla code is also interesting to check for.
+ *
+ * As mentioned by chx http://drupal.org/node/1273968 we can cover all by testing number from 0 to 199
+ *
+ * The goal to cover all languages is to far fetched so this test case is smaller.
+ *
+ * @author Clemens Tolboom clemens@build2be.nl
+ */
+class TranslatorTest extends TestCase
+{
+    public function getTranslator()
+    {
+        return new class() implements TranslatorInterface {
+            use TranslatorTrait;
+        };
+    }
+
+    /**
+     * @dataProvider getTransTests
+     */
+    public function testTrans($expected, $id, $parameters)
+    {
+        $translator = $this->getTranslator();
+
+        $this->assertEquals($expected, $translator->trans($id, $parameters));
+    }
+
+    /**
+     * @dataProvider getTransChoiceTests
+     */
+    public function testTransChoiceWithExplicitLocale($expected, $id, $number)
+    {
+        $translator = $this->getTranslator();
+        $translator->setLocale('en');
+
+        $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number]));
+    }
+
+    /**
+     * @requires extension intl
+     *
+     * @dataProvider getTransChoiceTests
+     */
+    public function testTransChoiceWithDefaultLocale($expected, $id, $number)
+    {
+        \Locale::setDefault('en');
+
+        $translator = $this->getTranslator();
+
+        $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number]));
+    }
+
+    public function testGetSetLocale()
+    {
+        $translator = $this->getTranslator();
+        $translator->setLocale('en');
+
+        $this->assertEquals('en', $translator->getLocale());
+    }
+
+    /**
+     * @requires extension intl
+     */
+    public function testGetLocaleReturnsDefaultLocaleIfNotSet()
+    {
+        $translator = $this->getTranslator();
+
+        \Locale::setDefault('pt_BR');
+        $this->assertEquals('pt_BR', $translator->getLocale());
+
+        \Locale::setDefault('en');
+        $this->assertEquals('en', $translator->getLocale());
+    }
+
+    public function getTransTests()
+    {
+        return [
+            ['Symfony is great!', 'Symfony is great!', []],
+            ['Symfony is awesome!', 'Symfony is %what%!', ['%what%' => 'awesome']],
+        ];
+    }
+
+    public function getTransChoiceTests()
+    {
+        return [
+            ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0],
+            ['There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1],
+            ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10],
+            ['There are 0 apples', 'There is 1 apple|There are %count% apples', 0],
+            ['There is 1 apple', 'There is 1 apple|There are %count% apples', 1],
+            ['There are 10 apples', 'There is 1 apple|There are %count% apples', 10],
+            // custom validation messages may be coded with a fixed value
+            ['There are 2 apples', 'There are 2 apples', 2],
+        ];
+    }
+
+    /**
+     * @dataProvider getInternal
+     */
+    public function testInterval($expected, $number, $interval)
+    {
+        $translator = $this->getTranslator();
+
+        $this->assertEquals($expected, $translator->trans($interval.' foo|[1,Inf[ bar', ['%count%' => $number]));
+    }
+
+    public function getInternal()
+    {
+        return [
+            ['foo', 3, '{1,2, 3 ,4}'],
+            ['bar', 10, '{1,2, 3 ,4}'],
+            ['bar', 3, '[1,2]'],
+            ['foo', 1, '[1,2]'],
+            ['foo', 2, '[1,2]'],
+            ['bar', 1, ']1,2['],
+            ['bar', 2, ']1,2['],
+            ['foo', log(0), '[-Inf,2['],
+            ['foo', -log(0), '[-2,+Inf]'],
+        ];
+    }
+
+    /**
+     * @dataProvider getChooseTests
+     */
+    public function testChoose($expected, $id, $number, $locale = null)
+    {
+        $translator = $this->getTranslator();
+
+        $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number], null, $locale));
+    }
+
+    public function testReturnMessageIfExactlyOneStandardRuleIsGiven()
+    {
+        $translator = $this->getTranslator();
+
+        $this->assertEquals('There are two apples', $translator->trans('There are two apples', ['%count%' => 2]));
+    }
+
+    /**
+     * @dataProvider getNonMatchingMessages
+     */
+    public function testThrowExceptionIfMatchingMessageCannotBeFound($id, $number)
+    {
+        $this->expectException(\InvalidArgumentException::class);
+        $translator = $this->getTranslator();
+
+        $translator->trans($id, ['%count%' => $number]);
+    }
+
+    public function getNonMatchingMessages()
+    {
+        return [
+            ['{0} There are no apples|{1} There is one apple', 2],
+            ['{1} There is one apple|]1,Inf] There are %count% apples', 0],
+            ['{1} There is one apple|]2,Inf] There are %count% apples', 2],
+            ['{0} There are no apples|There is one apple', 2],
+        ];
+    }
+
+    public function getChooseTests()
+    {
+        return [
+            ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0],
+            ['There are no apples', '{0}     There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0],
+            ['There are no apples', '{0}There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0],
+
+            ['There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1],
+
+            ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10],
+            ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf]There are %count% apples', 10],
+            ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf]     There are %count% apples', 10],
+
+            ['There are 0 apples', 'There is one apple|There are %count% apples', 0],
+            ['There is one apple', 'There is one apple|There are %count% apples', 1],
+            ['There are 10 apples', 'There is one apple|There are %count% apples', 10],
+
+            ['There are 0 apples', 'one: There is one apple|more: There are %count% apples', 0],
+            ['There is one apple', 'one: There is one apple|more: There are %count% apples', 1],
+            ['There are 10 apples', 'one: There is one apple|more: There are %count% apples', 10],
+
+            ['There are no apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 0],
+            ['There is one apple', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 1],
+            ['There are 10 apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 10],
+
+            ['', '{0}|{1} There is one apple|]1,Inf] There are %count% apples', 0],
+            ['', '{0} There are no apples|{1}|]1,Inf] There are %count% apples', 1],
+
+            // Indexed only tests which are Gettext PoFile* compatible strings.
+            ['There are 0 apples', 'There is one apple|There are %count% apples', 0],
+            ['There is one apple', 'There is one apple|There are %count% apples', 1],
+            ['There are 2 apples', 'There is one apple|There are %count% apples', 2],
+
+            // Tests for float numbers
+            ['There is almost one apple', '{0} There are no apples|]0,1[ There is almost one apple|{1} There is one apple|[1,Inf] There is more than one apple', 0.7],
+            ['There is one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1],
+            ['There is more than one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1.7],
+            ['There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0],
+            ['There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0.0],
+            ['There are no apples', '{0.0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0],
+
+            // Test texts with new-lines
+            // with double-quotes and \n in id & double-quotes and actual newlines in text
+            ["This is a text with a\n            new-line in it. Selector = 0.", '{0}This is a text with a
+            new-line in it. Selector = 0.|{1}This is a text with a
+            new-line in it. Selector = 1.|[1,Inf]This is a text with a
+            new-line in it. Selector > 1.', 0],
+            // with double-quotes and \n in id and single-quotes and actual newlines in text
+            ["This is a text with a\n            new-line in it. Selector = 1.", '{0}This is a text with a
+            new-line in it. Selector = 0.|{1}This is a text with a
+            new-line in it. Selector = 1.|[1,Inf]This is a text with a
+            new-line in it. Selector > 1.', 1],
+            ["This is a text with a\n            new-line in it. Selector > 1.", '{0}This is a text with a
+            new-line in it. Selector = 0.|{1}This is a text with a
+            new-line in it. Selector = 1.|[1,Inf]This is a text with a
+            new-line in it. Selector > 1.', 5],
+            // with double-quotes and id split accros lines
+            ['This is a text with a
+            new-line in it. Selector = 1.', '{0}This is a text with a
+            new-line in it. Selector = 0.|{1}This is a text with a
+            new-line in it. Selector = 1.|[1,Inf]This is a text with a
+            new-line in it. Selector > 1.', 1],
+            // with single-quotes and id split accros lines
+            ['This is a text with a
+            new-line in it. Selector > 1.', '{0}This is a text with a
+            new-line in it. Selector = 0.|{1}This is a text with a
+            new-line in it. Selector = 1.|[1,Inf]This is a text with a
+            new-line in it. Selector > 1.', 5],
+            // with single-quotes and \n in text
+            ['This is a text with a\nnew-line in it. Selector = 0.', '{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.', 0],
+            // with double-quotes and id split accros lines
+            ["This is a text with a\nnew-line in it. Selector = 1.", "{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.", 1],
+            // esacape pipe
+            ['This is a text with | in it. Selector = 0.', '{0}This is a text with || in it. Selector = 0.|{1}This is a text with || in it. Selector = 1.', 0],
+            // Empty plural set (2 plural forms) from a .PO file
+            ['', '|', 1],
+            // Empty plural set (3 plural forms) from a .PO file
+            ['', '||', 1],
+
+            // Floating values
+            ['1.5 liters', '%count% liter|%count% liters', 1.5],
+            ['1.5 litre', '%count% litre|%count% litres', 1.5, 'fr'],
+
+            // Negative values
+            ['-1 degree', '%count% degree|%count% degrees', -1],
+            ['-1 degré', '%count% degré|%count% degrés', -1],
+            ['-1.5 degrees', '%count% degree|%count% degrees', -1.5],
+            ['-1.5 degré', '%count% degré|%count% degrés', -1.5, 'fr'],
+            ['-2 degrees', '%count% degree|%count% degrees', -2],
+            ['-2 degrés', '%count% degré|%count% degrés', -2],
+        ];
+    }
+
+    /**
+     * @dataProvider failingLangcodes
+     */
+    public function testFailedLangcodes($nplural, $langCodes)
+    {
+        $matrix = $this->generateTestData($langCodes);
+        $this->validateMatrix($nplural, $matrix, false);
+    }
+
+    /**
+     * @dataProvider successLangcodes
+     */
+    public function testLangcodes($nplural, $langCodes)
+    {
+        $matrix = $this->generateTestData($langCodes);
+        $this->validateMatrix($nplural, $matrix);
+    }
+
+    /**
+     * This array should contain all currently known langcodes.
+     *
+     * As it is impossible to have this ever complete we should try as hard as possible to have it almost complete.
+     *
+     * @return array
+     */
+    public function successLangcodes()
+    {
+        return [
+            ['1', ['ay', 'bo', 'cgg', 'dz', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky']],
+            ['2', ['nl', 'fr', 'en', 'de', 'de_GE', 'hy', 'hy_AM']],
+            ['3', ['be', 'bs', 'cs', 'hr']],
+            ['4', ['cy', 'mt', 'sl']],
+            ['6', ['ar']],
+        ];
+    }
+
+    /**
+     * This array should be at least empty within the near future.
+     *
+     * This both depends on a complete list trying to add above as understanding
+     * the plural rules of the current failing languages.
+     *
+     * @return array with nplural together with langcodes
+     */
+    public function failingLangcodes()
+    {
+        return [
+            ['1', ['fa']],
+            ['2', ['jbo']],
+            ['3', ['cbs']],
+            ['4', ['gd', 'kw']],
+            ['5', ['ga']],
+        ];
+    }
+
+    /**
+     * We validate only on the plural coverage. Thus the real rules is not tested.
+     *
+     * @param string $nplural       Plural expected
+     * @param array  $matrix        Containing langcodes and their plural index values
+     * @param bool   $expectSuccess
+     */
+    protected function validateMatrix($nplural, $matrix, $expectSuccess = true)
+    {
+        foreach ($matrix as $langCode => $data) {
+            $indexes = array_flip($data);
+            if ($expectSuccess) {
+                $this->assertEquals($nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms.");
+            } else {
+                $this->assertNotEquals((int) $nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms.");
+            }
+        }
+    }
+
+    protected function generateTestData($langCodes)
+    {
+        $translator = new class() {
+            use TranslatorTrait {
+                getPluralizationRule as public;
+            }
+        };
+
+        $matrix = [];
+        foreach ($langCodes as $langCode) {
+            for ($count = 0; $count < 200; ++$count) {
+                $plural = $translator->getPluralizationRule($count, $langCode);
+                $matrix[$langCode][$count] = $plural;
+            }
+        }
+
+        return $matrix;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatableInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatableInterface.php
new file mode 100644
index 0000000..47fd6fa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatableInterface.php
@@ -0,0 +1,20 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Contracts\Translation;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+interface TranslatableInterface
+{
+    public function trans(TranslatorInterface $translator, string $locale = null): string;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatorInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatorInterface.php
new file mode 100644
index 0000000..dc9bf7f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatorInterface.php
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Contracts\Translation;
+
+/**
+ * @author Fabien Potencier <fabien@symfony.com>
+ *
+ * @method string getLocale() Returns the default locale
+ */
+interface TranslatorInterface
+{
+    /**
+     * Translates the given message.
+     *
+     * When a number is provided as a parameter named "%count%", the message is parsed for plural
+     * forms and a translation is chosen according to this number using the following rules:
+     *
+     * Given a message with different plural translations separated by a
+     * pipe (|), this method returns the correct portion of the message based
+     * on the given number, locale and the pluralization rules in the message
+     * itself.
+     *
+     * The message supports two different types of pluralization rules:
+     *
+     * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples
+     * indexed:  There is one apple|There are %count% apples
+     *
+     * The indexed solution can also contain labels (e.g. one: There is one apple).
+     * This is purely for making the translations more clear - it does not
+     * affect the functionality.
+     *
+     * The two methods can also be mixed:
+     *     {0} There are no apples|one: There is one apple|more: There are %count% apples
+     *
+     * An interval can represent a finite set of numbers:
+     *  {1,2,3,4}
+     *
+     * An interval can represent numbers between two numbers:
+     *  [1, +Inf]
+     *  ]-1,2[
+     *
+     * The left delimiter can be [ (inclusive) or ] (exclusive).
+     * The right delimiter can be [ (exclusive) or ] (inclusive).
+     * Beside numbers, you can use -Inf and +Inf for the infinite.
+     *
+     * @see https://en.wikipedia.org/wiki/ISO_31-11
+     *
+     * @param string      $id         The message id (may also be an object that can be cast to string)
+     * @param array       $parameters An array of parameters for the message
+     * @param string|null $domain     The domain for the message or null to use the default
+     * @param string|null $locale     The locale or null to use the default
+     *
+     * @return string The translated string
+     *
+     * @throws \InvalidArgumentException If the locale contains invalid characters
+     */
+    public function trans(string $id, array $parameters = [], string $domain = null, string $locale = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatorTrait.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatorTrait.php
new file mode 100644
index 0000000..789693d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/TranslatorTrait.php
@@ -0,0 +1,261 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Contracts\Translation;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+
+/**
+ * A trait to help implement TranslatorInterface and LocaleAwareInterface.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+trait TranslatorTrait
+{
+    private $locale;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setLocale(string $locale)
+    {
+        $this->locale = $locale;
+    }
+
+    /**
+     * {@inheritdoc}
+     *
+     * @return string
+     */
+    public function getLocale()
+    {
+        return $this->locale ?: (class_exists(\Locale::class) ? \Locale::getDefault() : 'en');
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function trans(?string $id, array $parameters = [], string $domain = null, string $locale = null): string
+    {
+        if (null === $id || '' === $id) {
+            return '';
+        }
+
+        if (!isset($parameters['%count%']) || !is_numeric($parameters['%count%'])) {
+            return strtr($id, $parameters);
+        }
+
+        $number = (float) $parameters['%count%'];
+        $locale = $locale ?: $this->getLocale();
+
+        $parts = [];
+        if (preg_match('/^\|++$/', $id)) {
+            $parts = explode('|', $id);
+        } elseif (preg_match_all('/(?:\|\||[^\|])++/', $id, $matches)) {
+            $parts = $matches[0];
+        }
+
+        $intervalRegexp = <<<'EOF'
+/^(?P<interval>
+    ({\s*
+        (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*)
+    \s*})
+
+        |
+
+    (?P<left_delimiter>[\[\]])
+        \s*
+        (?P<left>-Inf|\-?\d+(\.\d+)?)
+        \s*,\s*
+        (?P<right>\+?Inf|\-?\d+(\.\d+)?)
+        \s*
+    (?P<right_delimiter>[\[\]])
+)\s*(?P<message>.*?)$/xs
+EOF;
+
+        $standardRules = [];
+        foreach ($parts as $part) {
+            $part = trim(str_replace('||', '|', $part));
+
+            // try to match an explicit rule, then fallback to the standard ones
+            if (preg_match($intervalRegexp, $part, $matches)) {
+                if ($matches[2]) {
+                    foreach (explode(',', $matches[3]) as $n) {
+                        if ($number == $n) {
+                            return strtr($matches['message'], $parameters);
+                        }
+                    }
+                } else {
+                    $leftNumber = '-Inf' === $matches['left'] ? -\INF : (float) $matches['left'];
+                    $rightNumber = is_numeric($matches['right']) ? (float) $matches['right'] : \INF;
+
+                    if (('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber)
+                        && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber)
+                    ) {
+                        return strtr($matches['message'], $parameters);
+                    }
+                }
+            } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) {
+                $standardRules[] = $matches[1];
+            } else {
+                $standardRules[] = $part;
+            }
+        }
+
+        $position = $this->getPluralizationRule($number, $locale);
+
+        if (!isset($standardRules[$position])) {
+            // when there's exactly one rule given, and that rule is a standard
+            // rule, use this rule
+            if (1 === \count($parts) && isset($standardRules[0])) {
+                return strtr($standardRules[0], $parameters);
+            }
+
+            $message = sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $id, $locale, $number);
+
+            if (class_exists(InvalidArgumentException::class)) {
+                throw new InvalidArgumentException($message);
+            }
+
+            throw new \InvalidArgumentException($message);
+        }
+
+        return strtr($standardRules[$position], $parameters);
+    }
+
+    /**
+     * Returns the plural position to use for the given locale and number.
+     *
+     * The plural rules are derived from code of the Zend Framework (2010-09-25),
+     * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd).
+     * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+     */
+    private function getPluralizationRule(float $number, string $locale): int
+    {
+        $number = abs($number);
+
+        switch ('pt_BR' !== $locale && \strlen($locale) > 3 ? substr($locale, 0, strrpos($locale, '_')) : $locale) {
+            case 'af':
+            case 'bn':
+            case 'bg':
+            case 'ca':
+            case 'da':
+            case 'de':
+            case 'el':
+            case 'en':
+            case 'eo':
+            case 'es':
+            case 'et':
+            case 'eu':
+            case 'fa':
+            case 'fi':
+            case 'fo':
+            case 'fur':
+            case 'fy':
+            case 'gl':
+            case 'gu':
+            case 'ha':
+            case 'he':
+            case 'hu':
+            case 'is':
+            case 'it':
+            case 'ku':
+            case 'lb':
+            case 'ml':
+            case 'mn':
+            case 'mr':
+            case 'nah':
+            case 'nb':
+            case 'ne':
+            case 'nl':
+            case 'nn':
+            case 'no':
+            case 'oc':
+            case 'om':
+            case 'or':
+            case 'pa':
+            case 'pap':
+            case 'ps':
+            case 'pt':
+            case 'so':
+            case 'sq':
+            case 'sv':
+            case 'sw':
+            case 'ta':
+            case 'te':
+            case 'tk':
+            case 'ur':
+            case 'zu':
+                return (1 == $number) ? 0 : 1;
+
+            case 'am':
+            case 'bh':
+            case 'fil':
+            case 'fr':
+            case 'gun':
+            case 'hi':
+            case 'hy':
+            case 'ln':
+            case 'mg':
+            case 'nso':
+            case 'pt_BR':
+            case 'ti':
+            case 'wa':
+                return ($number < 2) ? 0 : 1;
+
+            case 'be':
+            case 'bs':
+            case 'hr':
+            case 'ru':
+            case 'sh':
+            case 'sr':
+            case 'uk':
+                return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
+
+            case 'cs':
+            case 'sk':
+                return (1 == $number) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2);
+
+            case 'ga':
+                return (1 == $number) ? 0 : ((2 == $number) ? 1 : 2);
+
+            case 'lt':
+                return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
+
+            case 'sl':
+                return (1 == $number % 100) ? 0 : ((2 == $number % 100) ? 1 : (((3 == $number % 100) || (4 == $number % 100)) ? 2 : 3));
+
+            case 'mk':
+                return (1 == $number % 10) ? 0 : 1;
+
+            case 'mt':
+                return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3));
+
+            case 'lv':
+                return (0 == $number) ? 0 : (((1 == $number % 10) && (11 != $number % 100)) ? 1 : 2);
+
+            case 'pl':
+                return (1 == $number) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2);
+
+            case 'cy':
+                return (1 == $number) ? 0 : ((2 == $number) ? 1 : (((8 == $number) || (11 == $number)) ? 2 : 3));
+
+            case 'ro':
+                return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2);
+
+            case 'ar':
+                return (0 == $number) ? 0 : ((1 == $number) ? 1 : ((2 == $number) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5))));
+
+            default:
+                return 0;
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/composer.json
new file mode 100644
index 0000000..00e27f8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation-contracts/composer.json
@@ -0,0 +1,37 @@
+{
+    "name": "symfony/translation-contracts",
+    "type": "library",
+    "description": "Generic abstractions related to translation",
+    "keywords": ["abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards"],
+    "homepage": "https://symfony.com",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Nicolas Grekas",
+            "email": "p@tchwork.com"
+        },
+        {
+            "name": "Symfony Community",
+            "homepage": "https://symfony.com/contributors"
+        }
+    ],
+    "require": {
+        "php": ">=7.2.5"
+    },
+    "suggest": {
+        "symfony/translation-implementation": ""
+    },
+    "autoload": {
+        "psr-4": { "Symfony\\Contracts\\Translation\\": "" }
+    },
+    "minimum-stability": "dev",
+    "extra": {
+        "branch-alias": {
+            "dev-main": "2.4-dev"
+        },
+        "thanks": {
+            "name": "symfony/contracts",
+            "url": "https://github.com/symfony/contracts"
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/CHANGELOG.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/CHANGELOG.md
new file mode 100644
index 0000000..3341328
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/CHANGELOG.md
@@ -0,0 +1,169 @@
+CHANGELOG
+=========
+
+5.3
+---
+
+ * Add `translation:pull` and `translation:push` commands to manage translations with third-party providers
+ * Add `TranslatorBagInterface::getCatalogues` method
+ * Add support to load XLIFF string in `XliffFileLoader`
+
+5.2.0
+-----
+
+ * added support for calling `trans` with ICU formatted messages
+ * added `PseudoLocalizationTranslator`
+ * added `TranslatableMessage` objects that represent a message that can be translated
+ * added the `t()` function to easily create `TranslatableMessage` objects
+ * Added support for extracting messages from `TranslatableMessage` objects
+
+5.1.0
+-----
+
+ * added support for `name` attribute on `unit` element from xliff2 to be used as a translation key instead of always the `source` element
+
+5.0.0
+-----
+
+ * removed support for using `null` as the locale in `Translator`
+ * removed `TranslatorInterface`
+ * removed `MessageSelector`
+ * removed `ChoiceMessageFormatterInterface`
+ * removed `PluralizationRule`
+ * removed `Interval`
+ * removed `transChoice()` methods, use the trans() method instead with a %count% parameter
+ * removed `FileDumper::setBackup()` and `TranslationWriter::disableBackup()`
+ * removed `MessageFormatter::choiceFormat()`
+ * added argument `$filename` to `PhpExtractor::parseTokens()`
+ * removed support for implicit STDIN usage in the `lint:xliff` command, use `lint:xliff -` (append a dash) instead to make it explicit.
+
+4.4.0
+-----
+
+ * deprecated support for using `null` as the locale in `Translator`
+ * deprecated accepting STDIN implicitly when using the `lint:xliff` command, use `lint:xliff -` (append a dash) instead to make it explicit.
+ * Marked the `TranslationDataCollector` class as `@final`.
+
+4.3.0
+-----
+
+ * Improved Xliff 1.2 loader to load the original file's metadata
+ * Added `TranslatorPathsPass`
+
+4.2.0
+-----
+
+ * Started using ICU parent locales as fallback locales.
+ * allow using the ICU message format using domains with the "+intl-icu" suffix
+ * deprecated `Translator::transChoice()` in favor of using `Translator::trans()` with a `%count%` parameter
+ * deprecated `TranslatorInterface` in favor of `Symfony\Contracts\Translation\TranslatorInterface`
+ * deprecated `MessageSelector`, `Interval` and `PluralizationRules`; use `IdentityTranslator` instead
+ * Added `IntlFormatter` and `IntlFormatterInterface`
+ * added support for multiple files and directories in `XliffLintCommand`
+ * Marked `Translator::getFallbackLocales()` and `TranslationDataCollector::getFallbackLocales()` as internal
+
+4.1.0
+-----
+
+ * The `FileDumper::setBackup()` method is deprecated.
+ * The `TranslationWriter::disableBackup()` method is deprecated.
+ * The `XliffFileDumper` will write "name" on the "unit" node when dumping XLIFF 2.0.
+
+4.0.0
+-----
+
+ * removed the backup feature of the `FileDumper` class
+ * removed `TranslationWriter::writeTranslations()` method
+ * removed support for passing `MessageSelector` instances to the constructor of the `Translator` class
+
+3.4.0
+-----
+
+ * Added `TranslationDumperPass`
+ * Added `TranslationExtractorPass`
+ * Added `TranslatorPass`
+ * Added `TranslationReader` and `TranslationReaderInterface`
+ * Added `<notes>` section to the Xliff 2.0 dumper.
+ * Improved Xliff 2.0 loader to load `<notes>` section.
+ * Added `TranslationWriterInterface`
+ * Deprecated `TranslationWriter::writeTranslations` in favor of `TranslationWriter::write`
+ * added support for adding custom message formatter and decoupling the default one.
+ * Added `PhpExtractor`
+ * Added `PhpStringTokenParser`
+
+3.2.0
+-----
+
+ * Added support for escaping `|` in plural translations with double pipe.
+
+3.1.0
+-----
+
+ * Deprecated the backup feature of the file dumper classes.
+
+3.0.0
+-----
+
+ * removed `FileDumper::format()` method.
+ * Changed the visibility of the locale property in `Translator` from protected to private.
+
+2.8.0
+-----
+
+ * deprecated FileDumper::format(), overwrite FileDumper::formatCatalogue() instead.
+ * deprecated Translator::getMessages(), rely on TranslatorBagInterface::getCatalogue() instead.
+ * added `FileDumper::formatCatalogue` which allows format the catalogue without dumping it into file.
+ * added option `json_encoding` to JsonFileDumper
+ * added options `as_tree`, `inline` to YamlFileDumper
+ * added support for XLIFF 2.0.
+ * added support for XLIFF target and tool attributes.
+ * added message parameters to DataCollectorTranslator.
+ * [DEPRECATION] The `DiffOperation` class has been deprecated and
+   will be removed in Symfony 3.0, since its operation has nothing to do with 'diff',
+   so the class name is misleading. The `TargetOperation` class should be used for
+   this use-case instead.
+
+2.7.0
+-----
+
+ * added DataCollectorTranslator for collecting the translated messages.
+
+2.6.0
+-----
+
+ * added possibility to cache catalogues
+ * added TranslatorBagInterface
+ * added LoggingTranslator
+ * added Translator::getMessages() for retrieving the message catalogue as an array
+
+2.5.0
+-----
+
+ * added relative file path template to the file dumpers
+ * added optional backup to the file dumpers
+ * changed IcuResFileDumper to extend FileDumper
+
+2.3.0
+-----
+
+ * added classes to make operations on catalogues (like making a diff or a merge on 2 catalogues)
+ * added Translator::getFallbackLocales()
+ * deprecated Translator::setFallbackLocale() in favor of the new Translator::setFallbackLocales() method
+
+2.2.0
+-----
+
+ * QtTranslationsLoader class renamed to QtFileLoader. QtTranslationsLoader is deprecated and will be removed in 2.3.
+ * [BC BREAK] uniformized the exception thrown by the load() method when an error occurs. The load() method now
+   throws Symfony\Component\Translation\Exception\NotFoundResourceException when a resource cannot be found
+   and Symfony\Component\Translation\Exception\InvalidResourceException when a resource is invalid.
+ * changed the exception class thrown by some load() methods from \RuntimeException to \InvalidArgumentException
+   (IcuDatFileLoader, IcuResFileLoader and QtFileLoader)
+
+2.1.0
+-----
+
+ * added support for more than one fallback locale
+ * added support for extracting translation messages from templates (Twig and PHP)
+ * added dumpers for translation catalogs
+ * added support for QT, gettext, and ResourceBundles
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/AbstractOperation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/AbstractOperation.php
new file mode 100644
index 0000000..9869fbb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/AbstractOperation.php
@@ -0,0 +1,192 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Catalogue;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Exception\LogicException;
+use Symfony\Component\Translation\MessageCatalogue;
+use Symfony\Component\Translation\MessageCatalogueInterface;
+
+/**
+ * Base catalogues binary operation class.
+ *
+ * A catalogue binary operation performs operation on
+ * source (the left argument) and target (the right argument) catalogues.
+ *
+ * @author Jean-François Simon <contact@jfsimon.fr>
+ */
+abstract class AbstractOperation implements OperationInterface
+{
+    public const OBSOLETE_BATCH = 'obsolete';
+    public const NEW_BATCH = 'new';
+    public const ALL_BATCH = 'all';
+
+    protected $source;
+    protected $target;
+    protected $result;
+
+    /**
+     * @var array|null The domains affected by this operation
+     */
+    private $domains;
+
+    /**
+     * This array stores 'all', 'new' and 'obsolete' messages for all valid domains.
+     *
+     * The data structure of this array is as follows:
+     *
+     *     [
+     *         'domain 1' => [
+     *             'all' => [...],
+     *             'new' => [...],
+     *             'obsolete' => [...]
+     *         ],
+     *         'domain 2' => [
+     *             'all' => [...],
+     *             'new' => [...],
+     *             'obsolete' => [...]
+     *         ],
+     *         ...
+     *     ]
+     *
+     * @var array The array that stores 'all', 'new' and 'obsolete' messages
+     */
+    protected $messages;
+
+    /**
+     * @throws LogicException
+     */
+    public function __construct(MessageCatalogueInterface $source, MessageCatalogueInterface $target)
+    {
+        if ($source->getLocale() !== $target->getLocale()) {
+            throw new LogicException('Operated catalogues must belong to the same locale.');
+        }
+
+        $this->source = $source;
+        $this->target = $target;
+        $this->result = new MessageCatalogue($source->getLocale());
+        $this->messages = [];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDomains()
+    {
+        if (null === $this->domains) {
+            $this->domains = array_values(array_unique(array_merge($this->source->getDomains(), $this->target->getDomains())));
+        }
+
+        return $this->domains;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getMessages(string $domain)
+    {
+        if (!\in_array($domain, $this->getDomains())) {
+            throw new InvalidArgumentException(sprintf('Invalid domain: "%s".', $domain));
+        }
+
+        if (!isset($this->messages[$domain][self::ALL_BATCH])) {
+            $this->processDomain($domain);
+        }
+
+        return $this->messages[$domain][self::ALL_BATCH];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getNewMessages(string $domain)
+    {
+        if (!\in_array($domain, $this->getDomains())) {
+            throw new InvalidArgumentException(sprintf('Invalid domain: "%s".', $domain));
+        }
+
+        if (!isset($this->messages[$domain][self::NEW_BATCH])) {
+            $this->processDomain($domain);
+        }
+
+        return $this->messages[$domain][self::NEW_BATCH];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getObsoleteMessages(string $domain)
+    {
+        if (!\in_array($domain, $this->getDomains())) {
+            throw new InvalidArgumentException(sprintf('Invalid domain: "%s".', $domain));
+        }
+
+        if (!isset($this->messages[$domain][self::OBSOLETE_BATCH])) {
+            $this->processDomain($domain);
+        }
+
+        return $this->messages[$domain][self::OBSOLETE_BATCH];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getResult()
+    {
+        foreach ($this->getDomains() as $domain) {
+            if (!isset($this->messages[$domain])) {
+                $this->processDomain($domain);
+            }
+        }
+
+        return $this->result;
+    }
+
+    /**
+     * @param self::*_BATCH $batch
+     */
+    public function moveMessagesToIntlDomainsIfPossible(string $batch = self::ALL_BATCH): void
+    {
+        // If MessageFormatter class does not exists, intl domains are not supported.
+        if (!class_exists(\MessageFormatter::class)) {
+            return;
+        }
+
+        foreach ($this->getDomains() as $domain) {
+            $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX;
+            switch ($batch) {
+                case self::OBSOLETE_BATCH: $messages = $this->getObsoleteMessages($domain); break;
+                case self::NEW_BATCH: $messages = $this->getNewMessages($domain); break;
+                case self::ALL_BATCH: $messages = $this->getMessages($domain); break;
+                default: throw new \InvalidArgumentException(sprintf('$batch argument must be one of ["%s", "%s", "%s"].', self::ALL_BATCH, self::NEW_BATCH, self::OBSOLETE_BATCH));
+            }
+
+            if (!$messages || (!$this->source->all($intlDomain) && $this->source->all($domain))) {
+                continue;
+            }
+
+            $result = $this->getResult();
+            $allIntlMessages = $result->all($intlDomain);
+            $currentMessages = array_diff_key($messages, $result->all($domain));
+            $result->replace($currentMessages, $domain);
+            $result->replace($allIntlMessages + $messages, $intlDomain);
+        }
+    }
+
+    /**
+     * Performs operation on source and target catalogues for the given domain and
+     * stores the results.
+     *
+     * @param string $domain The domain which the operation will be performed for
+     */
+    abstract protected function processDomain(string $domain);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/MergeOperation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/MergeOperation.php
new file mode 100644
index 0000000..87db2fb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/MergeOperation.php
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Catalogue;
+
+use Symfony\Component\Translation\MessageCatalogueInterface;
+
+/**
+ * Merge operation between two catalogues as follows:
+ * all = source ∪ target = {x: x ∈ source ∨ x ∈ target}
+ * new = all ∖ source = {x: x ∈ target ∧ x ∉ source}
+ * obsolete = source ∖ all = {x: x ∈ source ∧ x ∉ source ∧ x ∉ target} = ∅
+ * Basically, the result contains messages from both catalogues.
+ *
+ * @author Jean-François Simon <contact@jfsimon.fr>
+ */
+class MergeOperation extends AbstractOperation
+{
+    /**
+     * {@inheritdoc}
+     */
+    protected function processDomain(string $domain)
+    {
+        $this->messages[$domain] = [
+            'all' => [],
+            'new' => [],
+            'obsolete' => [],
+        ];
+        $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX;
+
+        foreach ($this->source->all($domain) as $id => $message) {
+            $this->messages[$domain]['all'][$id] = $message;
+            $d = $this->source->defines($id, $intlDomain) ? $intlDomain : $domain;
+            $this->result->add([$id => $message], $d);
+            if (null !== $keyMetadata = $this->source->getMetadata($id, $d)) {
+                $this->result->setMetadata($id, $keyMetadata, $d);
+            }
+        }
+
+        foreach ($this->target->all($domain) as $id => $message) {
+            if (!$this->source->has($id, $domain)) {
+                $this->messages[$domain]['all'][$id] = $message;
+                $this->messages[$domain]['new'][$id] = $message;
+                $d = $this->target->defines($id, $intlDomain) ? $intlDomain : $domain;
+                $this->result->add([$id => $message], $d);
+                if (null !== $keyMetadata = $this->target->getMetadata($id, $d)) {
+                    $this->result->setMetadata($id, $keyMetadata, $d);
+                }
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/OperationInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/OperationInterface.php
new file mode 100644
index 0000000..9ffac88
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/OperationInterface.php
@@ -0,0 +1,71 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Catalogue;
+
+use Symfony\Component\Translation\MessageCatalogueInterface;
+
+/**
+ * Represents an operation on catalogue(s).
+ *
+ * An instance of this interface performs an operation on one or more catalogues and
+ * stores intermediate and final results of the operation.
+ *
+ * The first catalogue in its argument(s) is called the 'source catalogue' or 'source' and
+ * the following results are stored:
+ *
+ * Messages: also called 'all', are valid messages for the given domain after the operation is performed.
+ *
+ * New Messages: also called 'new' (new = all ∖ source = {x: x ∈ all ∧ x ∉ source}).
+ *
+ * Obsolete Messages: also called 'obsolete' (obsolete = source ∖ all = {x: x ∈ source ∧ x ∉ all}).
+ *
+ * Result: also called 'result', is the resulting catalogue for the given domain that holds the same messages as 'all'.
+ *
+ * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
+ */
+interface OperationInterface
+{
+    /**
+     * Returns domains affected by operation.
+     *
+     * @return array
+     */
+    public function getDomains();
+
+    /**
+     * Returns all valid messages ('all') after operation.
+     *
+     * @return array
+     */
+    public function getMessages(string $domain);
+
+    /**
+     * Returns new messages ('new') after operation.
+     *
+     * @return array
+     */
+    public function getNewMessages(string $domain);
+
+    /**
+     * Returns obsolete messages ('obsolete') after operation.
+     *
+     * @return array
+     */
+    public function getObsoleteMessages(string $domain);
+
+    /**
+     * Returns resulting catalogue ('result').
+     *
+     * @return MessageCatalogueInterface
+     */
+    public function getResult();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/TargetOperation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/TargetOperation.php
new file mode 100644
index 0000000..399d917
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Catalogue/TargetOperation.php
@@ -0,0 +1,74 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Catalogue;
+
+use Symfony\Component\Translation\MessageCatalogueInterface;
+
+/**
+ * Target operation between two catalogues:
+ * intersection = source ∩ target = {x: x ∈ source ∧ x ∈ target}
+ * all = intersection ∪ (target ∖ intersection) = target
+ * new = all ∖ source = {x: x ∈ target ∧ x ∉ source}
+ * obsolete = source ∖ all = source ∖ target = {x: x ∈ source ∧ x ∉ target}
+ * Basically, the result contains messages from the target catalogue.
+ *
+ * @author Michael Lee <michael.lee@zerustech.com>
+ */
+class TargetOperation extends AbstractOperation
+{
+    /**
+     * {@inheritdoc}
+     */
+    protected function processDomain(string $domain)
+    {
+        $this->messages[$domain] = [
+            'all' => [],
+            'new' => [],
+            'obsolete' => [],
+        ];
+        $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX;
+
+        // For 'all' messages, the code can't be simplified as ``$this->messages[$domain]['all'] = $target->all($domain);``,
+        // because doing so will drop messages like {x: x ∈ source ∧ x ∉ target.all ∧ x ∈ target.fallback}
+        //
+        // For 'new' messages, the code can't be simplified as ``array_diff_assoc($this->target->all($domain), $this->source->all($domain));``
+        // because doing so will not exclude messages like {x: x ∈ target ∧ x ∉ source.all ∧ x ∈ source.fallback}
+        //
+        // For 'obsolete' messages, the code can't be simplified as ``array_diff_assoc($this->source->all($domain), $this->target->all($domain))``
+        // because doing so will not exclude messages like {x: x ∈ source ∧ x ∉ target.all ∧ x ∈ target.fallback}
+
+        foreach ($this->source->all($domain) as $id => $message) {
+            if ($this->target->has($id, $domain)) {
+                $this->messages[$domain]['all'][$id] = $message;
+                $d = $this->target->defines($id, $intlDomain) ? $intlDomain : $domain;
+                $this->result->add([$id => $message], $d);
+                if (null !== $keyMetadata = $this->source->getMetadata($id, $d)) {
+                    $this->result->setMetadata($id, $keyMetadata, $d);
+                }
+            } else {
+                $this->messages[$domain]['obsolete'][$id] = $message;
+            }
+        }
+
+        foreach ($this->target->all($domain) as $id => $message) {
+            if (!$this->source->has($id, $domain)) {
+                $this->messages[$domain]['all'][$id] = $message;
+                $this->messages[$domain]['new'][$id] = $message;
+                $d = $this->target->defines($id, $intlDomain) ? $intlDomain : $domain;
+                $this->result->add([$id => $message], $d);
+                if (null !== $keyMetadata = $this->target->getMetadata($id, $d)) {
+                    $this->result->setMetadata($id, $keyMetadata, $d);
+                }
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationPullCommand.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationPullCommand.php
new file mode 100644
index 0000000..0ec02ca
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationPullCommand.php
@@ -0,0 +1,157 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Command;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Style\SymfonyStyle;
+use Symfony\Component\Translation\Catalogue\TargetOperation;
+use Symfony\Component\Translation\MessageCatalogue;
+use Symfony\Component\Translation\Provider\TranslationProviderCollection;
+use Symfony\Component\Translation\Reader\TranslationReaderInterface;
+use Symfony\Component\Translation\Writer\TranslationWriterInterface;
+
+/**
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @experimental in 5.3
+ */
+final class TranslationPullCommand extends Command
+{
+    use TranslationTrait;
+
+    protected static $defaultName = 'translation:pull';
+    protected static $defaultDescription = 'Pull translations from a given provider.';
+
+    private $providerCollection;
+    private $writer;
+    private $reader;
+    private $defaultLocale;
+    private $transPaths;
+    private $enabledLocales;
+
+    public function __construct(TranslationProviderCollection $providerCollection, TranslationWriterInterface $writer, TranslationReaderInterface $reader, string $defaultLocale, array $transPaths = [], array $enabledLocales = [])
+    {
+        $this->providerCollection = $providerCollection;
+        $this->writer = $writer;
+        $this->reader = $reader;
+        $this->defaultLocale = $defaultLocale;
+        $this->transPaths = $transPaths;
+        $this->enabledLocales = $enabledLocales;
+
+        parent::__construct();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function configure()
+    {
+        $keys = $this->providerCollection->keys();
+        $defaultProvider = 1 === \count($keys) ? $keys[0] : null;
+
+        $this
+            ->setDefinition([
+                new InputArgument('provider', null !== $defaultProvider ? InputArgument::OPTIONAL : InputArgument::REQUIRED, 'The provider to pull translations from.', $defaultProvider),
+                new InputOption('force', null, InputOption::VALUE_NONE, 'Override existing translations with provider ones (it will delete not synchronized messages).'),
+                new InputOption('intl-icu', null, InputOption::VALUE_NONE, 'Associated to --force option, it will write messages in "%domain%+intl-icu.%locale%.xlf" files.'),
+                new InputOption('domains', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Specify the domains to pull.'),
+                new InputOption('locales', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Specify the locales to pull.'),
+                new InputOption('format', null, InputOption::VALUE_OPTIONAL, 'Override the default output format.', 'xlf12'),
+            ])
+            ->setHelp(<<<'EOF'
+The <info>%command.name%</> command pulls translations from the given provider. Only
+new translations are pulled, existing ones are not overwritten.
+
+You can overwrite existing translations (and remove the missing ones on local side) by using the <comment>--force</> flag:
+
+  <info>php %command.full_name% --force provider</>
+
+Full example:
+
+  <info>php %command.full_name% provider --force --domains=messages,validators --locales=en</>
+
+This command pulls all translations associated with the <comment>messages</> and <comment>validators</> domains for the <comment>en</> locale.
+Local translations for the specified domains and locale are deleted if they're not present on the provider and overwritten if it's the case.
+Local translations for others domains and locales are ignored.
+EOF
+            )
+        ;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function execute(InputInterface $input, OutputInterface $output): int
+    {
+        $io = new SymfonyStyle($input, $output);
+
+        $provider = $this->providerCollection->get($input->getArgument('provider'));
+        $force = $input->getOption('force');
+        $intlIcu = $input->getOption('intl-icu');
+        $locales = $input->getOption('locales') ?: $this->enabledLocales;
+        $domains = $input->getOption('domains');
+        $format = $input->getOption('format');
+        $xliffVersion = '1.2';
+
+        if ($intlIcu && !$force) {
+            $io->note('--intl-icu option only has an effect when used with --force. Here, it will be ignored.');
+        }
+
+        switch ($format) {
+            case 'xlf20': $xliffVersion = '2.0';
+            // no break
+            case 'xlf12': $format = 'xlf';
+        }
+
+        $writeOptions = [
+            'path' => end($this->transPaths),
+            'xliff_version' => $xliffVersion,
+        ];
+
+        if (!$domains) {
+            $domains = $provider->getDomains();
+        }
+
+        $providerTranslations = $provider->read($domains, $locales);
+
+        if ($force) {
+            foreach ($providerTranslations->getCatalogues() as $catalogue) {
+                $operation = new TargetOperation((new MessageCatalogue($catalogue->getLocale())), $catalogue);
+                if ($intlIcu) {
+                    $operation->moveMessagesToIntlDomainsIfPossible();
+                }
+                $this->writer->write($operation->getResult(), $format, $writeOptions);
+            }
+
+            $io->success(sprintf('Local translations has been updated from "%s" (for "%s" locale(s), and "%s" domain(s)).', parse_url($provider, \PHP_URL_SCHEME), implode(', ', $locales), implode(', ', $domains)));
+
+            return 0;
+        }
+
+        $localTranslations = $this->readLocalTranslations($locales, $domains, $this->transPaths);
+
+        // Append pulled translations to local ones.
+        $localTranslations->addBag($providerTranslations->diff($localTranslations));
+
+        foreach ($localTranslations->getCatalogues() as $catalogue) {
+            $this->writer->write($catalogue, $format, $writeOptions);
+        }
+
+        $io->success(sprintf('New translations from "%s" has been written locally (for "%s" locale(s), and "%s" domain(s)).', parse_url($provider, \PHP_URL_SCHEME), implode(', ', $locales), implode(', ', $domains)));
+
+        return 0;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationPushCommand.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationPushCommand.php
new file mode 100644
index 0000000..b28d3e1
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationPushCommand.php
@@ -0,0 +1,158 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Command;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Exception\InvalidArgumentException;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Style\SymfonyStyle;
+use Symfony\Component\Translation\Provider\TranslationProviderCollection;
+use Symfony\Component\Translation\Reader\TranslationReaderInterface;
+use Symfony\Component\Translation\TranslatorBag;
+
+/**
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @experimental in 5.3
+ */
+final class TranslationPushCommand extends Command
+{
+    use TranslationTrait;
+
+    protected static $defaultName = 'translation:push';
+    protected static $defaultDescription = 'Push translations to a given provider.';
+
+    private $providers;
+    private $reader;
+    private $transPaths;
+    private $enabledLocales;
+
+    public function __construct(TranslationProviderCollection $providers, TranslationReaderInterface $reader, array $transPaths = [], array $enabledLocales = [])
+    {
+        $this->providers = $providers;
+        $this->reader = $reader;
+        $this->transPaths = $transPaths;
+        $this->enabledLocales = $enabledLocales;
+
+        parent::__construct();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function configure()
+    {
+        $keys = $this->providers->keys();
+        $defaultProvider = 1 === \count($keys) ? $keys[0] : null;
+
+        $this
+            ->setDefinition([
+                new InputArgument('provider', null !== $defaultProvider ? InputArgument::OPTIONAL : InputArgument::REQUIRED, 'The provider to push translations to.', $defaultProvider),
+                new InputOption('force', null, InputOption::VALUE_NONE, 'Override existing translations with local ones (it will delete not synchronized messages).'),
+                new InputOption('delete-missing', null, InputOption::VALUE_NONE, 'Delete translations available on provider but not locally.'),
+                new InputOption('domains', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Specify the domains to push.'),
+                new InputOption('locales', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Specify the locales to push.', $this->enabledLocales),
+            ])
+            ->setHelp(<<<'EOF'
+The <info>%command.name%</> command pushes translations to the given provider. Only new
+translations are pushed, existing ones are not overwritten.
+
+You can overwrite existing translations by using the <comment>--force</> flag:
+
+  <info>php %command.full_name% --force provider</>
+
+You can delete provider translations which are not present locally by using the <comment>--delete-missing</> flag:
+
+  <info>php %command.full_name% --delete-missing provider</>
+
+Full example:
+
+  <info>php %command.full_name% provider --force --delete-missing --domains=messages,validators --locales=en</>
+
+This command pushes all translations associated with the <comment>messages</> and <comment>validators</> domains for the <comment>en</> locale.
+Provider translations for the specified domains and locale are deleted if they're not present locally and overwritten if it's the case.
+Provider translations for others domains and locales are ignored.
+EOF
+            )
+        ;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function execute(InputInterface $input, OutputInterface $output): int
+    {
+        $provider = $this->providers->get($input->getArgument('provider'));
+
+        if (!$this->enabledLocales) {
+            throw new InvalidArgumentException(sprintf('You must define "framework.translator.enabled_locales" or "framework.translator.providers.%s.locales" config key in order to work with translation providers.', parse_url($provider, \PHP_URL_SCHEME)));
+        }
+
+        $io = new SymfonyStyle($input, $output);
+        $domains = $input->getOption('domains');
+        $locales = $input->getOption('locales');
+        $force = $input->getOption('force');
+        $deleteMissing = $input->getOption('delete-missing');
+
+        $localTranslations = $this->readLocalTranslations($locales, $domains, $this->transPaths);
+
+        if (!$domains) {
+            $domains = $this->getDomainsFromTranslatorBag($localTranslations);
+        }
+
+        if (!$deleteMissing && $force) {
+            $provider->write($localTranslations);
+
+            $io->success(sprintf('All local translations has been sent to "%s" (for "%s" locale(s), and "%s" domain(s)).', parse_url($provider, \PHP_URL_SCHEME), implode(', ', $locales), implode(', ', $domains)));
+
+            return 0;
+        }
+
+        $providerTranslations = $provider->read($domains, $locales);
+
+        if ($deleteMissing) {
+            $provider->delete($providerTranslations->diff($localTranslations));
+
+            $io->success(sprintf('Missing translations on "%s" has been deleted (for "%s" locale(s), and "%s" domain(s)).', parse_url($provider, \PHP_URL_SCHEME), implode(', ', $locales), implode(', ', $domains)));
+
+            // Read provider translations again, after missing translations deletion,
+            // to avoid push freshly deleted translations.
+            $providerTranslations = $provider->read($domains, $locales);
+        }
+
+        $translationsToWrite = $localTranslations->diff($providerTranslations);
+
+        if ($force) {
+            $translationsToWrite->addBag($localTranslations->intersect($providerTranslations));
+        }
+
+        $provider->write($translationsToWrite);
+
+        $io->success(sprintf('%s local translations has been sent to "%s" (for "%s" locale(s), and "%s" domain(s)).', $force ? 'All' : 'New', parse_url($provider, \PHP_URL_SCHEME), implode(', ', $locales), implode(', ', $domains)));
+
+        return 0;
+    }
+
+    private function getDomainsFromTranslatorBag(TranslatorBag $translatorBag): array
+    {
+        $domains = [];
+
+        foreach ($translatorBag->getCatalogues() as $catalogue) {
+            $domains += $catalogue->getDomains();
+        }
+
+        return array_unique($domains);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationTrait.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationTrait.php
new file mode 100644
index 0000000..6a2b1ba
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/TranslationTrait.php
@@ -0,0 +1,78 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Command;
+
+use Symfony\Component\Translation\MessageCatalogue;
+use Symfony\Component\Translation\MessageCatalogueInterface;
+use Symfony\Component\Translation\TranslatorBag;
+
+/**
+ * @internal
+ */
+trait TranslationTrait
+{
+    private function readLocalTranslations(array $locales, array $domains, array $transPaths): TranslatorBag
+    {
+        $bag = new TranslatorBag();
+
+        foreach ($locales as $locale) {
+            $catalogue = new MessageCatalogue($locale);
+            foreach ($transPaths as $path) {
+                $this->reader->read($path, $catalogue);
+            }
+
+            if ($domains) {
+                foreach ($domains as $domain) {
+                    $catalogue = $this->filterCatalogue($catalogue, $domain);
+                    $bag->addCatalogue($catalogue);
+                }
+            } else {
+                $bag->addCatalogue($catalogue);
+            }
+        }
+
+        return $bag;
+    }
+
+    private function filterCatalogue(MessageCatalogue $catalogue, string $domain): MessageCatalogue
+    {
+        $filteredCatalogue = new MessageCatalogue($catalogue->getLocale());
+
+        // extract intl-icu messages only
+        $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX;
+        if ($intlMessages = $catalogue->all($intlDomain)) {
+            $filteredCatalogue->add($intlMessages, $intlDomain);
+        }
+
+        // extract all messages and subtract intl-icu messages
+        if ($messages = array_diff($catalogue->all($domain), $intlMessages)) {
+            $filteredCatalogue->add($messages, $domain);
+        }
+        foreach ($catalogue->getResources() as $resource) {
+            $filteredCatalogue->addResource($resource);
+        }
+
+        if ($metadata = $catalogue->getMetadata('', $intlDomain)) {
+            foreach ($metadata as $k => $v) {
+                $filteredCatalogue->setMetadata($k, $v, $intlDomain);
+            }
+        }
+
+        if ($metadata = $catalogue->getMetadata('', $domain)) {
+            foreach ($metadata as $k => $v) {
+                $filteredCatalogue->setMetadata($k, $v, $domain);
+            }
+        }
+
+        return $filteredCatalogue;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/XliffLintCommand.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/XliffLintCommand.php
new file mode 100644
index 0000000..4117d87
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Command/XliffLintCommand.php
@@ -0,0 +1,267 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Command;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Exception\RuntimeException;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Style\SymfonyStyle;
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Util\XliffUtils;
+
+/**
+ * Validates XLIFF files syntax and outputs encountered errors.
+ *
+ * @author Grégoire Pineau <lyrixx@lyrixx.info>
+ * @author Robin Chalas <robin.chalas@gmail.com>
+ * @author Javier Eguiluz <javier.eguiluz@gmail.com>
+ */
+class XliffLintCommand extends Command
+{
+    protected static $defaultName = 'lint:xliff';
+    protected static $defaultDescription = 'Lint an XLIFF file and outputs encountered errors';
+
+    private $format;
+    private $displayCorrectFiles;
+    private $directoryIteratorProvider;
+    private $isReadableProvider;
+    private $requireStrictFileNames;
+
+    public function __construct(string $name = null, callable $directoryIteratorProvider = null, callable $isReadableProvider = null, bool $requireStrictFileNames = true)
+    {
+        parent::__construct($name);
+
+        $this->directoryIteratorProvider = $directoryIteratorProvider;
+        $this->isReadableProvider = $isReadableProvider;
+        $this->requireStrictFileNames = $requireStrictFileNames;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function configure()
+    {
+        $this
+            ->setDescription(self::$defaultDescription)
+            ->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
+            ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt')
+            ->setHelp(<<<EOF
+The <info>%command.name%</info> command lints an XLIFF file and outputs to STDOUT
+the first encountered syntax error.
+
+You can validates XLIFF contents passed from STDIN:
+
+  <info>cat filename | php %command.full_name% -</info>
+
+You can also validate the syntax of a file:
+
+  <info>php %command.full_name% filename</info>
+
+Or of a whole directory:
+
+  <info>php %command.full_name% dirname</info>
+  <info>php %command.full_name% dirname --format=json</info>
+
+EOF
+            )
+        ;
+    }
+
+    protected function execute(InputInterface $input, OutputInterface $output)
+    {
+        $io = new SymfonyStyle($input, $output);
+        $filenames = (array) $input->getArgument('filename');
+        $this->format = $input->getOption('format');
+        $this->displayCorrectFiles = $output->isVerbose();
+
+        if (['-'] === $filenames) {
+            return $this->display($io, [$this->validate(file_get_contents('php://stdin'))]);
+        }
+
+        if (!$filenames) {
+            throw new RuntimeException('Please provide a filename or pipe file content to STDIN.');
+        }
+
+        $filesInfo = [];
+        foreach ($filenames as $filename) {
+            if (!$this->isReadable($filename)) {
+                throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename));
+            }
+
+            foreach ($this->getFiles($filename) as $file) {
+                $filesInfo[] = $this->validate(file_get_contents($file), $file);
+            }
+        }
+
+        return $this->display($io, $filesInfo);
+    }
+
+    private function validate(string $content, string $file = null): array
+    {
+        $errors = [];
+
+        // Avoid: Warning DOMDocument::loadXML(): Empty string supplied as input
+        if ('' === trim($content)) {
+            return ['file' => $file, 'valid' => true];
+        }
+
+        $internal = libxml_use_internal_errors(true);
+
+        $document = new \DOMDocument();
+        $document->loadXML($content);
+
+        if (null !== $targetLanguage = $this->getTargetLanguageFromFile($document)) {
+            $normalizedLocalePattern = sprintf('(%s|%s)', preg_quote($targetLanguage, '/'), preg_quote(str_replace('-', '_', $targetLanguage), '/'));
+            // strict file names require translation files to be named '____.locale.xlf'
+            // otherwise, both '____.locale.xlf' and 'locale.____.xlf' are allowed
+            // also, the regexp matching must be case-insensitive, as defined for 'target-language' values
+            // http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#target-language
+            $expectedFilenamePattern = $this->requireStrictFileNames ? sprintf('/^.*\.(?i:%s)\.(?:xlf|xliff)/', $normalizedLocalePattern) : sprintf('/^(?:.*\.(?i:%s)|(?i:%s)\..*)\.(?:xlf|xliff)/', $normalizedLocalePattern, $normalizedLocalePattern);
+
+            if (0 === preg_match($expectedFilenamePattern, basename($file))) {
+                $errors[] = [
+                    'line' => -1,
+                    'column' => -1,
+                    'message' => sprintf('There is a mismatch between the language included in the file name ("%s") and the "%s" value used in the "target-language" attribute of the file.', basename($file), $targetLanguage),
+                ];
+            }
+        }
+
+        foreach (XliffUtils::validateSchema($document) as $xmlError) {
+            $errors[] = [
+                'line' => $xmlError['line'],
+                'column' => $xmlError['column'],
+                'message' => $xmlError['message'],
+            ];
+        }
+
+        libxml_clear_errors();
+        libxml_use_internal_errors($internal);
+
+        return ['file' => $file, 'valid' => 0 === \count($errors), 'messages' => $errors];
+    }
+
+    private function display(SymfonyStyle $io, array $files)
+    {
+        switch ($this->format) {
+            case 'txt':
+                return $this->displayTxt($io, $files);
+            case 'json':
+                return $this->displayJson($io, $files);
+            default:
+                throw new InvalidArgumentException(sprintf('The format "%s" is not supported.', $this->format));
+        }
+    }
+
+    private function displayTxt(SymfonyStyle $io, array $filesInfo)
+    {
+        $countFiles = \count($filesInfo);
+        $erroredFiles = 0;
+
+        foreach ($filesInfo as $info) {
+            if ($info['valid'] && $this->displayCorrectFiles) {
+                $io->comment('<info>OK</info>'.($info['file'] ? sprintf(' in %s', $info['file']) : ''));
+            } elseif (!$info['valid']) {
+                ++$erroredFiles;
+                $io->text('<error> ERROR </error>'.($info['file'] ? sprintf(' in %s', $info['file']) : ''));
+                $io->listing(array_map(function ($error) {
+                    // general document errors have a '-1' line number
+                    return -1 === $error['line'] ? $error['message'] : sprintf('Line %d, Column %d: %s', $error['line'], $error['column'], $error['message']);
+                }, $info['messages']));
+            }
+        }
+
+        if (0 === $erroredFiles) {
+            $io->success(sprintf('All %d XLIFF files contain valid syntax.', $countFiles));
+        } else {
+            $io->warning(sprintf('%d XLIFF files have valid syntax and %d contain errors.', $countFiles - $erroredFiles, $erroredFiles));
+        }
+
+        return min($erroredFiles, 1);
+    }
+
+    private function displayJson(SymfonyStyle $io, array $filesInfo)
+    {
+        $errors = 0;
+
+        array_walk($filesInfo, function (&$v) use (&$errors) {
+            $v['file'] = (string) $v['file'];
+            if (!$v['valid']) {
+                ++$errors;
+            }
+        });
+
+        $io->writeln(json_encode($filesInfo, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));
+
+        return min($errors, 1);
+    }
+
+    private function getFiles(string $fileOrDirectory)
+    {
+        if (is_file($fileOrDirectory)) {
+            yield new \SplFileInfo($fileOrDirectory);
+
+            return;
+        }
+
+        foreach ($this->getDirectoryIterator($fileOrDirectory) as $file) {
+            if (!\in_array($file->getExtension(), ['xlf', 'xliff'])) {
+                continue;
+            }
+
+            yield $file;
+        }
+    }
+
+    private function getDirectoryIterator(string $directory)
+    {
+        $default = function ($directory) {
+            return new \RecursiveIteratorIterator(
+                new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS),
+                \RecursiveIteratorIterator::LEAVES_ONLY
+            );
+        };
+
+        if (null !== $this->directoryIteratorProvider) {
+            return ($this->directoryIteratorProvider)($directory, $default);
+        }
+
+        return $default($directory);
+    }
+
+    private function isReadable(string $fileOrDirectory)
+    {
+        $default = function ($fileOrDirectory) {
+            return is_readable($fileOrDirectory);
+        };
+
+        if (null !== $this->isReadableProvider) {
+            return ($this->isReadableProvider)($fileOrDirectory, $default);
+        }
+
+        return $default($fileOrDirectory);
+    }
+
+    private function getTargetLanguageFromFile(\DOMDocument $xliffContents): ?string
+    {
+        foreach ($xliffContents->getElementsByTagName('file')[0]->attributes ?? [] as $attribute) {
+            if ('target-language' === $attribute->nodeName) {
+                return $attribute->nodeValue;
+            }
+        }
+
+        return null;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DataCollector/TranslationDataCollector.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DataCollector/TranslationDataCollector.php
new file mode 100644
index 0000000..f8480ad
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DataCollector/TranslationDataCollector.php
@@ -0,0 +1,172 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\DataCollector;
+
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpKernel\DataCollector\DataCollector;
+use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface;
+use Symfony\Component\Translation\DataCollectorTranslator;
+use Symfony\Component\VarDumper\Cloner\Data;
+
+/**
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ *
+ * @final
+ */
+class TranslationDataCollector extends DataCollector implements LateDataCollectorInterface
+{
+    private $translator;
+
+    public function __construct(DataCollectorTranslator $translator)
+    {
+        $this->translator = $translator;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function lateCollect()
+    {
+        $messages = $this->sanitizeCollectedMessages($this->translator->getCollectedMessages());
+
+        $this->data += $this->computeCount($messages);
+        $this->data['messages'] = $messages;
+
+        $this->data = $this->cloneVar($this->data);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function collect(Request $request, Response $response, \Throwable $exception = null)
+    {
+        $this->data['locale'] = $this->translator->getLocale();
+        $this->data['fallback_locales'] = $this->translator->getFallbackLocales();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function reset()
+    {
+        $this->data = [];
+    }
+
+    /**
+     * @return array|Data
+     */
+    public function getMessages()
+    {
+        return $this->data['messages'] ?? [];
+    }
+
+    /**
+     * @return int
+     */
+    public function getCountMissings()
+    {
+        return $this->data[DataCollectorTranslator::MESSAGE_MISSING] ?? 0;
+    }
+
+    /**
+     * @return int
+     */
+    public function getCountFallbacks()
+    {
+        return $this->data[DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK] ?? 0;
+    }
+
+    /**
+     * @return int
+     */
+    public function getCountDefines()
+    {
+        return $this->data[DataCollectorTranslator::MESSAGE_DEFINED] ?? 0;
+    }
+
+    public function getLocale()
+    {
+        return !empty($this->data['locale']) ? $this->data['locale'] : null;
+    }
+
+    /**
+     * @internal
+     */
+    public function getFallbackLocales()
+    {
+        return (isset($this->data['fallback_locales']) && \count($this->data['fallback_locales']) > 0) ? $this->data['fallback_locales'] : [];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getName()
+    {
+        return 'translation';
+    }
+
+    private function sanitizeCollectedMessages(array $messages)
+    {
+        $result = [];
+        foreach ($messages as $key => $message) {
+            $messageId = $message['locale'].$message['domain'].$message['id'];
+
+            if (!isset($result[$messageId])) {
+                $message['count'] = 1;
+                $message['parameters'] = !empty($message['parameters']) ? [$message['parameters']] : [];
+                $messages[$key]['translation'] = $this->sanitizeString($message['translation']);
+                $result[$messageId] = $message;
+            } else {
+                if (!empty($message['parameters'])) {
+                    $result[$messageId]['parameters'][] = $message['parameters'];
+                }
+
+                ++$result[$messageId]['count'];
+            }
+
+            unset($messages[$key]);
+        }
+
+        return $result;
+    }
+
+    private function computeCount(array $messages)
+    {
+        $count = [
+            DataCollectorTranslator::MESSAGE_DEFINED => 0,
+            DataCollectorTranslator::MESSAGE_MISSING => 0,
+            DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK => 0,
+        ];
+
+        foreach ($messages as $message) {
+            ++$count[$message['state']];
+        }
+
+        return $count;
+    }
+
+    private function sanitizeString(string $string, int $length = 80)
+    {
+        $string = trim(preg_replace('/\s+/', ' ', $string));
+
+        if (false !== $encoding = mb_detect_encoding($string, null, true)) {
+            if (mb_strlen($string, $encoding) > $length) {
+                return mb_substr($string, 0, $length - 3, $encoding).'...';
+            }
+        } elseif (\strlen($string) > $length) {
+            return substr($string, 0, $length - 3).'...';
+        }
+
+        return $string;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DataCollectorTranslator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DataCollectorTranslator.php
new file mode 100644
index 0000000..c7d3597
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DataCollectorTranslator.php
@@ -0,0 +1,171 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface;
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Contracts\Translation\LocaleAwareInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
+
+/**
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInterface, LocaleAwareInterface, WarmableInterface
+{
+    public const MESSAGE_DEFINED = 0;
+    public const MESSAGE_MISSING = 1;
+    public const MESSAGE_EQUALS_FALLBACK = 2;
+
+    /**
+     * @var TranslatorInterface|TranslatorBagInterface
+     */
+    private $translator;
+
+    private $messages = [];
+
+    /**
+     * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface
+     */
+    public function __construct(TranslatorInterface $translator)
+    {
+        if (!$translator instanceof TranslatorBagInterface || !$translator instanceof LocaleAwareInterface) {
+            throw new InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface, TranslatorBagInterface and LocaleAwareInterface.', get_debug_type($translator)));
+        }
+
+        $this->translator = $translator;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function trans(?string $id, array $parameters = [], string $domain = null, string $locale = null)
+    {
+        $trans = $this->translator->trans($id = (string) $id, $parameters, $domain, $locale);
+        $this->collectMessage($locale, $domain, $id, $trans, $parameters);
+
+        return $trans;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setLocale(string $locale)
+    {
+        $this->translator->setLocale($locale);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getLocale()
+    {
+        return $this->translator->getLocale();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogue(string $locale = null)
+    {
+        return $this->translator->getCatalogue($locale);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogues(): array
+    {
+        return $this->translator->getCatalogues();
+    }
+
+    /**
+     * {@inheritdoc}
+     *
+     * @return string[]
+     */
+    public function warmUp(string $cacheDir)
+    {
+        if ($this->translator instanceof WarmableInterface) {
+            return (array) $this->translator->warmUp($cacheDir);
+        }
+
+        return [];
+    }
+
+    /**
+     * Gets the fallback locales.
+     *
+     * @return array The fallback locales
+     */
+    public function getFallbackLocales()
+    {
+        if ($this->translator instanceof Translator || method_exists($this->translator, 'getFallbackLocales')) {
+            return $this->translator->getFallbackLocales();
+        }
+
+        return [];
+    }
+
+    /**
+     * Passes through all unknown calls onto the translator object.
+     */
+    public function __call(string $method, array $args)
+    {
+        return $this->translator->{$method}(...$args);
+    }
+
+    /**
+     * @return array
+     */
+    public function getCollectedMessages()
+    {
+        return $this->messages;
+    }
+
+    private function collectMessage(?string $locale, ?string $domain, string $id, string $translation, ?array $parameters = [])
+    {
+        if (null === $domain) {
+            $domain = 'messages';
+        }
+
+        $catalogue = $this->translator->getCatalogue($locale);
+        $locale = $catalogue->getLocale();
+        $fallbackLocale = null;
+        if ($catalogue->defines($id, $domain)) {
+            $state = self::MESSAGE_DEFINED;
+        } elseif ($catalogue->has($id, $domain)) {
+            $state = self::MESSAGE_EQUALS_FALLBACK;
+
+            $fallbackCatalogue = $catalogue->getFallbackCatalogue();
+            while ($fallbackCatalogue) {
+                if ($fallbackCatalogue->defines($id, $domain)) {
+                    $fallbackLocale = $fallbackCatalogue->getLocale();
+                    break;
+                }
+                $fallbackCatalogue = $fallbackCatalogue->getFallbackCatalogue();
+            }
+        } else {
+            $state = self::MESSAGE_MISSING;
+        }
+
+        $this->messages[] = [
+            'locale' => $locale,
+            'fallbackLocale' => $fallbackLocale,
+            'domain' => $domain,
+            'id' => $id,
+            'translation' => $translation,
+            'parameters' => $parameters,
+            'state' => $state,
+            'transChoiceNumber' => isset($parameters['%count%']) && is_numeric($parameters['%count%']) ? $parameters['%count%'] : null,
+        ];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslationDumperPass.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslationDumperPass.php
new file mode 100644
index 0000000..6d78342
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslationDumperPass.php
@@ -0,0 +1,48 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\DependencyInjection;
+
+use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Reference;
+
+/**
+ * Adds tagged translation.formatter services to translation writer.
+ */
+class TranslationDumperPass implements CompilerPassInterface
+{
+    private $writerServiceId;
+    private $dumperTag;
+
+    public function __construct(string $writerServiceId = 'translation.writer', string $dumperTag = 'translation.dumper')
+    {
+        if (1 < \func_num_args()) {
+            trigger_deprecation('symfony/translation', '5.3', 'Configuring "%s" is deprecated.', __CLASS__);
+        }
+
+        $this->writerServiceId = $writerServiceId;
+        $this->dumperTag = $dumperTag;
+    }
+
+    public function process(ContainerBuilder $container)
+    {
+        if (!$container->hasDefinition($this->writerServiceId)) {
+            return;
+        }
+
+        $definition = $container->getDefinition($this->writerServiceId);
+
+        foreach ($container->findTaggedServiceIds($this->dumperTag, true) as $id => $attributes) {
+            $definition->addMethodCall('addDumper', [$attributes[0]['alias'], new Reference($id)]);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslationExtractorPass.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslationExtractorPass.php
new file mode 100644
index 0000000..fab6b20
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslationExtractorPass.php
@@ -0,0 +1,53 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\DependencyInjection;
+
+use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Exception\RuntimeException;
+use Symfony\Component\DependencyInjection\Reference;
+
+/**
+ * Adds tagged translation.extractor services to translation extractor.
+ */
+class TranslationExtractorPass implements CompilerPassInterface
+{
+    private $extractorServiceId;
+    private $extractorTag;
+
+    public function __construct(string $extractorServiceId = 'translation.extractor', string $extractorTag = 'translation.extractor')
+    {
+        if (0 < \func_num_args()) {
+            trigger_deprecation('symfony/translation', '5.3', 'Configuring "%s" is deprecated.', __CLASS__);
+        }
+
+        $this->extractorServiceId = $extractorServiceId;
+        $this->extractorTag = $extractorTag;
+    }
+
+    public function process(ContainerBuilder $container)
+    {
+        if (!$container->hasDefinition($this->extractorServiceId)) {
+            return;
+        }
+
+        $definition = $container->getDefinition($this->extractorServiceId);
+
+        foreach ($container->findTaggedServiceIds($this->extractorTag, true) as $id => $attributes) {
+            if (!isset($attributes[0]['alias'])) {
+                throw new RuntimeException(sprintf('The alias for the tag "translation.extractor" of service "%s" must be set.', $id));
+            }
+
+            $definition->addMethodCall('addExtractor', [$attributes[0]['alias'], new Reference($id)]);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslatorPass.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslatorPass.php
new file mode 100644
index 0000000..c6a1306
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslatorPass.php
@@ -0,0 +1,93 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\DependencyInjection;
+
+use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
+use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Reference;
+
+class TranslatorPass implements CompilerPassInterface
+{
+    private $translatorServiceId;
+    private $readerServiceId;
+    private $loaderTag;
+    private $debugCommandServiceId;
+    private $updateCommandServiceId;
+
+    public function __construct(string $translatorServiceId = 'translator.default', string $readerServiceId = 'translation.reader', string $loaderTag = 'translation.loader', string $debugCommandServiceId = 'console.command.translation_debug', string $updateCommandServiceId = 'console.command.translation_update')
+    {
+        if (0 < \func_num_args()) {
+            trigger_deprecation('symfony/translation', '5.3', 'Configuring "%s" is deprecated.', __CLASS__);
+        }
+
+        $this->translatorServiceId = $translatorServiceId;
+        $this->readerServiceId = $readerServiceId;
+        $this->loaderTag = $loaderTag;
+        $this->debugCommandServiceId = $debugCommandServiceId;
+        $this->updateCommandServiceId = $updateCommandServiceId;
+    }
+
+    public function process(ContainerBuilder $container)
+    {
+        if (!$container->hasDefinition($this->translatorServiceId)) {
+            return;
+        }
+
+        $loaders = [];
+        $loaderRefs = [];
+        foreach ($container->findTaggedServiceIds($this->loaderTag, true) as $id => $attributes) {
+            $loaderRefs[$id] = new Reference($id);
+            $loaders[$id][] = $attributes[0]['alias'];
+            if (isset($attributes[0]['legacy-alias'])) {
+                $loaders[$id][] = $attributes[0]['legacy-alias'];
+            }
+        }
+
+        if ($container->hasDefinition($this->readerServiceId)) {
+            $definition = $container->getDefinition($this->readerServiceId);
+            foreach ($loaders as $id => $formats) {
+                foreach ($formats as $format) {
+                    $definition->addMethodCall('addLoader', [$format, $loaderRefs[$id]]);
+                }
+            }
+        }
+
+        $container
+            ->findDefinition($this->translatorServiceId)
+            ->replaceArgument(0, ServiceLocatorTagPass::register($container, $loaderRefs))
+            ->replaceArgument(3, $loaders)
+        ;
+
+        if (!$container->hasParameter('twig.default_path')) {
+            return;
+        }
+
+        $paths = array_keys($container->getDefinition('twig.template_iterator')->getArgument(1));
+        if ($container->hasDefinition($this->debugCommandServiceId)) {
+            $definition = $container->getDefinition($this->debugCommandServiceId);
+            $definition->replaceArgument(4, $container->getParameter('twig.default_path'));
+
+            if (\count($definition->getArguments()) > 6) {
+                $definition->replaceArgument(6, $paths);
+            }
+        }
+        if ($container->hasDefinition($this->updateCommandServiceId)) {
+            $definition = $container->getDefinition($this->updateCommandServiceId);
+            $definition->replaceArgument(5, $container->getParameter('twig.default_path'));
+
+            if (\count($definition->getArguments()) > 7) {
+                $definition->replaceArgument(7, $paths);
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php
new file mode 100644
index 0000000..85b0fa4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php
@@ -0,0 +1,151 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\DependencyInjection;
+
+use Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\Definition;
+use Symfony\Component\DependencyInjection\Reference;
+use Symfony\Component\DependencyInjection\ServiceLocator;
+
+/**
+ * @author Yonel Ceruto <yonelceruto@gmail.com>
+ */
+class TranslatorPathsPass extends AbstractRecursivePass
+{
+    private $translatorServiceId;
+    private $debugCommandServiceId;
+    private $updateCommandServiceId;
+    private $resolverServiceId;
+    private $level = 0;
+    private $paths = [];
+    private $definitions = [];
+    private $controllers = [];
+
+    public function __construct(string $translatorServiceId = 'translator', string $debugCommandServiceId = 'console.command.translation_debug', string $updateCommandServiceId = 'console.command.translation_update', string $resolverServiceId = 'argument_resolver.service')
+    {
+        if (0 < \func_num_args()) {
+            trigger_deprecation('symfony/translation', '5.3', 'Configuring "%s" is deprecated.', __CLASS__);
+        }
+
+        $this->translatorServiceId = $translatorServiceId;
+        $this->debugCommandServiceId = $debugCommandServiceId;
+        $this->updateCommandServiceId = $updateCommandServiceId;
+        $this->resolverServiceId = $resolverServiceId;
+    }
+
+    public function process(ContainerBuilder $container)
+    {
+        if (!$container->hasDefinition($this->translatorServiceId)) {
+            return;
+        }
+
+        foreach ($this->findControllerArguments($container) as $controller => $argument) {
+            $id = substr($controller, 0, strpos($controller, ':') ?: \strlen($controller));
+            if ($container->hasDefinition($id)) {
+                [$locatorRef] = $argument->getValues();
+                $this->controllers[(string) $locatorRef][$container->getDefinition($id)->getClass()] = true;
+            }
+        }
+
+        try {
+            parent::process($container);
+
+            $paths = [];
+            foreach ($this->paths as $class => $_) {
+                if (($r = $container->getReflectionClass($class)) && !$r->isInterface()) {
+                    $paths[] = $r->getFileName();
+                    foreach ($r->getTraits() as $trait) {
+                        $paths[] = $trait->getFileName();
+                    }
+                }
+            }
+            if ($paths) {
+                if ($container->hasDefinition($this->debugCommandServiceId)) {
+                    $definition = $container->getDefinition($this->debugCommandServiceId);
+                    $definition->replaceArgument(6, array_merge($definition->getArgument(6), $paths));
+                }
+                if ($container->hasDefinition($this->updateCommandServiceId)) {
+                    $definition = $container->getDefinition($this->updateCommandServiceId);
+                    $definition->replaceArgument(7, array_merge($definition->getArgument(7), $paths));
+                }
+            }
+        } finally {
+            $this->level = 0;
+            $this->paths = [];
+            $this->definitions = [];
+        }
+    }
+
+    protected function processValue($value, bool $isRoot = false)
+    {
+        if ($value instanceof Reference) {
+            if ((string) $value === $this->translatorServiceId) {
+                for ($i = $this->level - 1; $i >= 0; --$i) {
+                    $class = $this->definitions[$i]->getClass();
+
+                    if (ServiceLocator::class === $class) {
+                        if (!isset($this->controllers[$this->currentId])) {
+                            continue;
+                        }
+                        foreach ($this->controllers[$this->currentId] as $class => $_) {
+                            $this->paths[$class] = true;
+                        }
+                    } else {
+                        $this->paths[$class] = true;
+                    }
+
+                    break;
+                }
+            }
+
+            return $value;
+        }
+
+        if ($value instanceof Definition) {
+            $this->definitions[$this->level++] = $value;
+            $value = parent::processValue($value, $isRoot);
+            unset($this->definitions[--$this->level]);
+
+            return $value;
+        }
+
+        return parent::processValue($value, $isRoot);
+    }
+
+    private function findControllerArguments(ContainerBuilder $container): array
+    {
+        if ($container->hasDefinition($this->resolverServiceId)) {
+            $argument = $container->getDefinition($this->resolverServiceId)->getArgument(0);
+            if ($argument instanceof Reference) {
+                $argument = $container->getDefinition($argument);
+            }
+
+            return $argument->getArgument(0);
+        }
+
+        if ($container->hasDefinition('debug.'.$this->resolverServiceId)) {
+            $argument = $container->getDefinition('debug.'.$this->resolverServiceId)->getArgument(0);
+            if ($argument instanceof Reference) {
+                $argument = $container->getDefinition($argument);
+            }
+            $argument = $argument->getArgument(0);
+            if ($argument instanceof Reference) {
+                $argument = $container->getDefinition($argument);
+            }
+
+            return $argument->getArgument(0);
+        }
+
+        return [];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/CsvFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/CsvFileDumper.php
new file mode 100644
index 0000000..0c8589a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/CsvFileDumper.php
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * CsvFileDumper generates a csv formatted string representation of a message catalogue.
+ *
+ * @author Stealth35
+ */
+class CsvFileDumper extends FileDumper
+{
+    private $delimiter = ';';
+    private $enclosure = '"';
+
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $handle = fopen('php://memory', 'r+');
+
+        foreach ($messages->all($domain) as $source => $target) {
+            fputcsv($handle, [$source, $target], $this->delimiter, $this->enclosure);
+        }
+
+        rewind($handle);
+        $output = stream_get_contents($handle);
+        fclose($handle);
+
+        return $output;
+    }
+
+    /**
+     * Sets the delimiter and escape character for CSV.
+     */
+    public function setCsvControl(string $delimiter = ';', string $enclosure = '"')
+    {
+        $this->delimiter = $delimiter;
+        $this->enclosure = $enclosure;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'csv';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/DumperInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/DumperInterface.php
new file mode 100644
index 0000000..7cdaef5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/DumperInterface.php
@@ -0,0 +1,30 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * DumperInterface is the interface implemented by all translation dumpers.
+ * There is no common option.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+interface DumperInterface
+{
+    /**
+     * Dumps the message catalogue.
+     *
+     * @param array $options Options that are used by the dumper
+     */
+    public function dump(MessageCatalogue $messages, array $options = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/FileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/FileDumper.php
new file mode 100644
index 0000000..e257e72
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/FileDumper.php
@@ -0,0 +1,112 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Exception\RuntimeException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * FileDumper is an implementation of DumperInterface that dump a message catalogue to file(s).
+ *
+ * Options:
+ * - path (mandatory): the directory where the files should be saved
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+abstract class FileDumper implements DumperInterface
+{
+    /**
+     * A template for the relative paths to files.
+     *
+     * @var string
+     */
+    protected $relativePathTemplate = '%domain%.%locale%.%extension%';
+
+    /**
+     * Sets the template for the relative paths to files.
+     *
+     * @param string $relativePathTemplate A template for the relative paths to files
+     */
+    public function setRelativePathTemplate(string $relativePathTemplate)
+    {
+        $this->relativePathTemplate = $relativePathTemplate;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dump(MessageCatalogue $messages, array $options = [])
+    {
+        if (!\array_key_exists('path', $options)) {
+            throw new InvalidArgumentException('The file dumper needs a path option.');
+        }
+
+        // save a file for each domain
+        foreach ($messages->getDomains() as $domain) {
+            $fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale());
+            if (!file_exists($fullpath)) {
+                $directory = \dirname($fullpath);
+                if (!file_exists($directory) && !@mkdir($directory, 0777, true)) {
+                    throw new RuntimeException(sprintf('Unable to create directory "%s".', $directory));
+                }
+            }
+
+            $intlDomain = $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX;
+            $intlMessages = $messages->all($intlDomain);
+
+            if ($intlMessages) {
+                $intlPath = $options['path'].'/'.$this->getRelativePath($intlDomain, $messages->getLocale());
+                file_put_contents($intlPath, $this->formatCatalogue($messages, $intlDomain, $options));
+
+                $messages->replace([], $intlDomain);
+
+                try {
+                    if ($messages->all($domain)) {
+                        file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options));
+                    }
+                    continue;
+                } finally {
+                    $messages->replace($intlMessages, $intlDomain);
+                }
+            }
+
+            file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options));
+        }
+    }
+
+    /**
+     * Transforms a domain of a message catalogue to its string representation.
+     *
+     * @return string representation
+     */
+    abstract public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = []);
+
+    /**
+     * Gets the file extension of the dumper.
+     *
+     * @return string file extension
+     */
+    abstract protected function getExtension();
+
+    /**
+     * Gets the relative file path using the template.
+     */
+    private function getRelativePath(string $domain, string $locale): string
+    {
+        return strtr($this->relativePathTemplate, [
+            '%domain%' => $domain,
+            '%locale%' => $locale,
+            '%extension%' => $this->getExtension(),
+        ]);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/IcuResFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/IcuResFileDumper.php
new file mode 100644
index 0000000..cdc5991
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/IcuResFileDumper.php
@@ -0,0 +1,104 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * IcuResDumper generates an ICU ResourceBundle formatted string representation of a message catalogue.
+ *
+ * @author Stealth35
+ */
+class IcuResFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    protected $relativePathTemplate = '%domain%/%locale%.%extension%';
+
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $data = $indexes = $resources = '';
+
+        foreach ($messages->all($domain) as $source => $target) {
+            $indexes .= pack('v', \strlen($data) + 28);
+            $data .= $source."\0";
+        }
+
+        $data .= $this->writePadding($data);
+
+        $keyTop = $this->getPosition($data);
+
+        foreach ($messages->all($domain) as $source => $target) {
+            $resources .= pack('V', $this->getPosition($data));
+
+            $data .= pack('V', \strlen($target))
+                .mb_convert_encoding($target."\0", 'UTF-16LE', 'UTF-8')
+                .$this->writePadding($data)
+                  ;
+        }
+
+        $resOffset = $this->getPosition($data);
+
+        $data .= pack('v', \count($messages->all($domain)))
+            .$indexes
+            .$this->writePadding($data)
+            .$resources
+              ;
+
+        $bundleTop = $this->getPosition($data);
+
+        $root = pack('V7',
+            $resOffset + (2 << 28), // Resource Offset + Resource Type
+            6,                      // Index length
+            $keyTop,                        // Index keys top
+            $bundleTop,                     // Index resources top
+            $bundleTop,                     // Index bundle top
+            \count($messages->all($domain)), // Index max table length
+            0                               // Index attributes
+        );
+
+        $header = pack('vC2v4C12@32',
+            32,                     // Header size
+            0xDA, 0x27,             // Magic number 1 and 2
+            20, 0, 0, 2,            // Rest of the header, ..., Size of a char
+            0x52, 0x65, 0x73, 0x42, // Data format identifier
+            1, 2, 0, 0,             // Data version
+            1, 4, 0, 0              // Unicode version
+        );
+
+        return $header.$root.$data;
+    }
+
+    private function writePadding(string $data): ?string
+    {
+        $padding = \strlen($data) % 4;
+
+        return $padding ? str_repeat("\xAA", 4 - $padding) : null;
+    }
+
+    private function getPosition(string $data)
+    {
+        return (\strlen($data) + 28) / 4;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'res';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/IniFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/IniFileDumper.php
new file mode 100644
index 0000000..93c900a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/IniFileDumper.php
@@ -0,0 +1,45 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * IniFileDumper generates an ini formatted string representation of a message catalogue.
+ *
+ * @author Stealth35
+ */
+class IniFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $output = '';
+
+        foreach ($messages->all($domain) as $source => $target) {
+            $escapeTarget = str_replace('"', '\"', $target);
+            $output .= $source.'="'.$escapeTarget."\"\n";
+        }
+
+        return $output;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'ini';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/JsonFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/JsonFileDumper.php
new file mode 100644
index 0000000..34c0b56
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/JsonFileDumper.php
@@ -0,0 +1,40 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * JsonFileDumper generates an json formatted string representation of a message catalogue.
+ *
+ * @author singles
+ */
+class JsonFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $flags = $options['json_encoding'] ?? \JSON_PRETTY_PRINT;
+
+        return json_encode($messages->all($domain), $flags);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'json';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/MoFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/MoFileDumper.php
new file mode 100644
index 0000000..54d0da8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/MoFileDumper.php
@@ -0,0 +1,82 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\Loader\MoFileLoader;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * MoFileDumper generates a gettext formatted string representation of a message catalogue.
+ *
+ * @author Stealth35
+ */
+class MoFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $sources = $targets = $sourceOffsets = $targetOffsets = '';
+        $offsets = [];
+        $size = 0;
+
+        foreach ($messages->all($domain) as $source => $target) {
+            $offsets[] = array_map('strlen', [$sources, $source, $targets, $target]);
+            $sources .= "\0".$source;
+            $targets .= "\0".$target;
+            ++$size;
+        }
+
+        $header = [
+            'magicNumber' => MoFileLoader::MO_LITTLE_ENDIAN_MAGIC,
+            'formatRevision' => 0,
+            'count' => $size,
+            'offsetId' => MoFileLoader::MO_HEADER_SIZE,
+            'offsetTranslated' => MoFileLoader::MO_HEADER_SIZE + (8 * $size),
+            'sizeHashes' => 0,
+            'offsetHashes' => MoFileLoader::MO_HEADER_SIZE + (16 * $size),
+        ];
+
+        $sourcesSize = \strlen($sources);
+        $sourcesStart = $header['offsetHashes'] + 1;
+
+        foreach ($offsets as $offset) {
+            $sourceOffsets .= $this->writeLong($offset[1])
+                          .$this->writeLong($offset[0] + $sourcesStart);
+            $targetOffsets .= $this->writeLong($offset[3])
+                          .$this->writeLong($offset[2] + $sourcesStart + $sourcesSize);
+        }
+
+        $output = implode('', array_map([$this, 'writeLong'], $header))
+               .$sourceOffsets
+               .$targetOffsets
+               .$sources
+               .$targets
+                ;
+
+        return $output;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'mo';
+    }
+
+    private function writeLong($str): string
+    {
+        return pack('V*', $str);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/PhpFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/PhpFileDumper.php
new file mode 100644
index 0000000..6163b52
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/PhpFileDumper.php
@@ -0,0 +1,38 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * PhpFileDumper generates PHP files from a message catalogue.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+class PhpFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        return "<?php\n\nreturn ".var_export($messages->all($domain), true).";\n";
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'php';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/PoFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/PoFileDumper.php
new file mode 100644
index 0000000..0d82281
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/PoFileDumper.php
@@ -0,0 +1,137 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * PoFileDumper generates a gettext formatted string representation of a message catalogue.
+ *
+ * @author Stealth35
+ */
+class PoFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $output = 'msgid ""'."\n";
+        $output .= 'msgstr ""'."\n";
+        $output .= '"Content-Type: text/plain; charset=UTF-8\n"'."\n";
+        $output .= '"Content-Transfer-Encoding: 8bit\n"'."\n";
+        $output .= '"Language: '.$messages->getLocale().'\n"'."\n";
+        $output .= "\n";
+
+        $newLine = false;
+        foreach ($messages->all($domain) as $source => $target) {
+            if ($newLine) {
+                $output .= "\n";
+            } else {
+                $newLine = true;
+            }
+            $metadata = $messages->getMetadata($source, $domain);
+
+            if (isset($metadata['comments'])) {
+                $output .= $this->formatComments($metadata['comments']);
+            }
+            if (isset($metadata['flags'])) {
+                $output .= $this->formatComments(implode(',', (array) $metadata['flags']), ',');
+            }
+            if (isset($metadata['sources'])) {
+                $output .= $this->formatComments(implode(' ', (array) $metadata['sources']), ':');
+            }
+
+            $sourceRules = $this->getStandardRules($source);
+            $targetRules = $this->getStandardRules($target);
+            if (2 == \count($sourceRules) && [] !== $targetRules) {
+                $output .= sprintf('msgid "%s"'."\n", $this->escape($sourceRules[0]));
+                $output .= sprintf('msgid_plural "%s"'."\n", $this->escape($sourceRules[1]));
+                foreach ($targetRules as $i => $targetRule) {
+                    $output .= sprintf('msgstr[%d] "%s"'."\n", $i, $this->escape($targetRule));
+                }
+            } else {
+                $output .= sprintf('msgid "%s"'."\n", $this->escape($source));
+                $output .= sprintf('msgstr "%s"'."\n", $this->escape($target));
+            }
+        }
+
+        return $output;
+    }
+
+    private function getStandardRules(string $id)
+    {
+        // Partly copied from TranslatorTrait::trans.
+        $parts = [];
+        if (preg_match('/^\|++$/', $id)) {
+            $parts = explode('|', $id);
+        } elseif (preg_match_all('/(?:\|\||[^\|])++/', $id, $matches)) {
+            $parts = $matches[0];
+        }
+
+        $intervalRegexp = <<<'EOF'
+/^(?P<interval>
+    ({\s*
+        (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*)
+    \s*})
+
+        |
+
+    (?P<left_delimiter>[\[\]])
+        \s*
+        (?P<left>-Inf|\-?\d+(\.\d+)?)
+        \s*,\s*
+        (?P<right>\+?Inf|\-?\d+(\.\d+)?)
+        \s*
+    (?P<right_delimiter>[\[\]])
+)\s*(?P<message>.*?)$/xs
+EOF;
+
+        $standardRules = [];
+        foreach ($parts as $part) {
+            $part = trim(str_replace('||', '|', $part));
+
+            if (preg_match($intervalRegexp, $part)) {
+                // Explicit rule is not a standard rule.
+                return [];
+            } else {
+                $standardRules[] = $part;
+            }
+        }
+
+        return $standardRules;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'po';
+    }
+
+    private function escape(string $str): string
+    {
+        return addcslashes($str, "\0..\37\42\134");
+    }
+
+    private function formatComments($comments, string $prefix = ''): ?string
+    {
+        $output = null;
+
+        foreach ((array) $comments as $comment) {
+            $output .= sprintf('#%s %s'."\n", $prefix, $comment);
+        }
+
+        return $output;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/QtFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/QtFileDumper.php
new file mode 100644
index 0000000..406e9f0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/QtFileDumper.php
@@ -0,0 +1,61 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * QtFileDumper generates ts files from a message catalogue.
+ *
+ * @author Benjamin Eberlei <kontakt@beberlei.de>
+ */
+class QtFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $dom = new \DOMDocument('1.0', 'utf-8');
+        $dom->formatOutput = true;
+        $ts = $dom->appendChild($dom->createElement('TS'));
+        $context = $ts->appendChild($dom->createElement('context'));
+        $context->appendChild($dom->createElement('name', $domain));
+
+        foreach ($messages->all($domain) as $source => $target) {
+            $message = $context->appendChild($dom->createElement('message'));
+            $metadata = $messages->getMetadata($source, $domain);
+            if (isset($metadata['sources'])) {
+                foreach ((array) $metadata['sources'] as $location) {
+                    $loc = explode(':', $location, 2);
+                    $location = $message->appendChild($dom->createElement('location'));
+                    $location->setAttribute('filename', $loc[0]);
+                    if (isset($loc[1])) {
+                        $location->setAttribute('line', $loc[1]);
+                    }
+                }
+            }
+            $message->appendChild($dom->createElement('source', $source));
+            $message->appendChild($dom->createElement('translation', $target));
+        }
+
+        return $dom->saveXML();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'ts';
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/XliffFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/XliffFileDumper.php
new file mode 100644
index 0000000..f7dbdcd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/XliffFileDumper.php
@@ -0,0 +1,203 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * XliffFileDumper generates xliff files from a message catalogue.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+class XliffFileDumper extends FileDumper
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        $xliffVersion = '1.2';
+        if (\array_key_exists('xliff_version', $options)) {
+            $xliffVersion = $options['xliff_version'];
+        }
+
+        if (\array_key_exists('default_locale', $options)) {
+            $defaultLocale = $options['default_locale'];
+        } else {
+            $defaultLocale = \Locale::getDefault();
+        }
+
+        if ('1.2' === $xliffVersion) {
+            return $this->dumpXliff1($defaultLocale, $messages, $domain, $options);
+        }
+        if ('2.0' === $xliffVersion) {
+            return $this->dumpXliff2($defaultLocale, $messages, $domain);
+        }
+
+        throw new InvalidArgumentException(sprintf('No support implemented for dumping XLIFF version "%s".', $xliffVersion));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return 'xlf';
+    }
+
+    private function dumpXliff1(string $defaultLocale, MessageCatalogue $messages, ?string $domain, array $options = [])
+    {
+        $toolInfo = ['tool-id' => 'symfony', 'tool-name' => 'Symfony'];
+        if (\array_key_exists('tool_info', $options)) {
+            $toolInfo = array_merge($toolInfo, $options['tool_info']);
+        }
+
+        $dom = new \DOMDocument('1.0', 'utf-8');
+        $dom->formatOutput = true;
+
+        $xliff = $dom->appendChild($dom->createElement('xliff'));
+        $xliff->setAttribute('version', '1.2');
+        $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:1.2');
+
+        $xliffFile = $xliff->appendChild($dom->createElement('file'));
+        $xliffFile->setAttribute('source-language', str_replace('_', '-', $defaultLocale));
+        $xliffFile->setAttribute('target-language', str_replace('_', '-', $messages->getLocale()));
+        $xliffFile->setAttribute('datatype', 'plaintext');
+        $xliffFile->setAttribute('original', 'file.ext');
+
+        $xliffHead = $xliffFile->appendChild($dom->createElement('header'));
+        $xliffTool = $xliffHead->appendChild($dom->createElement('tool'));
+        foreach ($toolInfo as $id => $value) {
+            $xliffTool->setAttribute($id, $value);
+        }
+
+        $xliffBody = $xliffFile->appendChild($dom->createElement('body'));
+        foreach ($messages->all($domain) as $source => $target) {
+            $translation = $dom->createElement('trans-unit');
+
+            $translation->setAttribute('id', strtr(substr(base64_encode(hash('sha256', $source, true)), 0, 7), '/+', '._'));
+            $translation->setAttribute('resname', $source);
+
+            $s = $translation->appendChild($dom->createElement('source'));
+            $s->appendChild($dom->createTextNode($source));
+
+            // Does the target contain characters requiring a CDATA section?
+            $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target);
+
+            $targetElement = $dom->createElement('target');
+            $metadata = $messages->getMetadata($source, $domain);
+            if ($this->hasMetadataArrayInfo('target-attributes', $metadata)) {
+                foreach ($metadata['target-attributes'] as $name => $value) {
+                    $targetElement->setAttribute($name, $value);
+                }
+            }
+            $t = $translation->appendChild($targetElement);
+            $t->appendChild($text);
+
+            if ($this->hasMetadataArrayInfo('notes', $metadata)) {
+                foreach ($metadata['notes'] as $note) {
+                    if (!isset($note['content'])) {
+                        continue;
+                    }
+
+                    $n = $translation->appendChild($dom->createElement('note'));
+                    $n->appendChild($dom->createTextNode($note['content']));
+
+                    if (isset($note['priority'])) {
+                        $n->setAttribute('priority', $note['priority']);
+                    }
+
+                    if (isset($note['from'])) {
+                        $n->setAttribute('from', $note['from']);
+                    }
+                }
+            }
+
+            $xliffBody->appendChild($translation);
+        }
+
+        return $dom->saveXML();
+    }
+
+    private function dumpXliff2(string $defaultLocale, MessageCatalogue $messages, ?string $domain)
+    {
+        $dom = new \DOMDocument('1.0', 'utf-8');
+        $dom->formatOutput = true;
+
+        $xliff = $dom->appendChild($dom->createElement('xliff'));
+        $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:2.0');
+        $xliff->setAttribute('version', '2.0');
+        $xliff->setAttribute('srcLang', str_replace('_', '-', $defaultLocale));
+        $xliff->setAttribute('trgLang', str_replace('_', '-', $messages->getLocale()));
+
+        $xliffFile = $xliff->appendChild($dom->createElement('file'));
+        if (str_ends_with($domain, MessageCatalogue::INTL_DOMAIN_SUFFIX)) {
+            $xliffFile->setAttribute('id', substr($domain, 0, -\strlen(MessageCatalogue::INTL_DOMAIN_SUFFIX)).'.'.$messages->getLocale());
+        } else {
+            $xliffFile->setAttribute('id', $domain.'.'.$messages->getLocale());
+        }
+
+        foreach ($messages->all($domain) as $source => $target) {
+            $translation = $dom->createElement('unit');
+            $translation->setAttribute('id', strtr(substr(base64_encode(hash('sha256', $source, true)), 0, 7), '/+', '._'));
+
+            if (\strlen($source) <= 80) {
+                $translation->setAttribute('name', $source);
+            }
+
+            $metadata = $messages->getMetadata($source, $domain);
+
+            // Add notes section
+            if ($this->hasMetadataArrayInfo('notes', $metadata)) {
+                $notesElement = $dom->createElement('notes');
+                foreach ($metadata['notes'] as $note) {
+                    $n = $dom->createElement('note');
+                    $n->appendChild($dom->createTextNode($note['content'] ?? ''));
+                    unset($note['content']);
+
+                    foreach ($note as $name => $value) {
+                        $n->setAttribute($name, $value);
+                    }
+                    $notesElement->appendChild($n);
+                }
+                $translation->appendChild($notesElement);
+            }
+
+            $segment = $translation->appendChild($dom->createElement('segment'));
+
+            $s = $segment->appendChild($dom->createElement('source'));
+            $s->appendChild($dom->createTextNode($source));
+
+            // Does the target contain characters requiring a CDATA section?
+            $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target);
+
+            $targetElement = $dom->createElement('target');
+            if ($this->hasMetadataArrayInfo('target-attributes', $metadata)) {
+                foreach ($metadata['target-attributes'] as $name => $value) {
+                    $targetElement->setAttribute($name, $value);
+                }
+            }
+            $t = $segment->appendChild($targetElement);
+            $t->appendChild($text);
+
+            $xliffFile->appendChild($translation);
+        }
+
+        return $dom->saveXML();
+    }
+
+    private function hasMetadataArrayInfo(string $key, array $metadata = null): bool
+    {
+        return is_iterable($metadata[$key] ?? null);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/YamlFileDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/YamlFileDumper.php
new file mode 100644
index 0000000..0b21e8c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Dumper/YamlFileDumper.php
@@ -0,0 +1,62 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Dumper;
+
+use Symfony\Component\Translation\Exception\LogicException;
+use Symfony\Component\Translation\MessageCatalogue;
+use Symfony\Component\Translation\Util\ArrayConverter;
+use Symfony\Component\Yaml\Yaml;
+
+/**
+ * YamlFileDumper generates yaml files from a message catalogue.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+class YamlFileDumper extends FileDumper
+{
+    private $extension;
+
+    public function __construct(string $extension = 'yml')
+    {
+        $this->extension = $extension;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function formatCatalogue(MessageCatalogue $messages, string $domain, array $options = [])
+    {
+        if (!class_exists(Yaml::class)) {
+            throw new LogicException('Dumping translations in the YAML format requires the Symfony Yaml component.');
+        }
+
+        $data = $messages->all($domain);
+
+        if (isset($options['as_tree']) && $options['as_tree']) {
+            $data = ArrayConverter::expandToTree($data);
+        }
+
+        if (isset($options['inline']) && ($inline = (int) $options['inline']) > 0) {
+            return Yaml::dump($data, $inline);
+        }
+
+        return Yaml::dump($data);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getExtension()
+    {
+        return $this->extension;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ExceptionInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ExceptionInterface.php
new file mode 100644
index 0000000..8f9c54e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ExceptionInterface.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * Exception interface for all exceptions thrown by the component.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+interface ExceptionInterface extends \Throwable
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/IncompleteDsnException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/IncompleteDsnException.php
new file mode 100644
index 0000000..cb0ce02
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/IncompleteDsnException.php
@@ -0,0 +1,24 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+class IncompleteDsnException extends InvalidArgumentException
+{
+    public function __construct(string $message, string $dsn = null, \Throwable $previous = null)
+    {
+        if ($dsn) {
+            $message = sprintf('Invalid "%s" provider DSN: ', $dsn).$message;
+        }
+
+        parent::__construct($message, 0, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/InvalidArgumentException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/InvalidArgumentException.php
new file mode 100644
index 0000000..90d0669
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/InvalidArgumentException.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * Base InvalidArgumentException for the Translation component.
+ *
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/InvalidResourceException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/InvalidResourceException.php
new file mode 100644
index 0000000..cf07943
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/InvalidResourceException.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * Thrown when a resource cannot be loaded.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class InvalidResourceException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/LogicException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/LogicException.php
new file mode 100644
index 0000000..9019c7e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/LogicException.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * Base LogicException for Translation component.
+ *
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+class LogicException extends \LogicException implements ExceptionInterface
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/MissingRequiredOptionException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/MissingRequiredOptionException.php
new file mode 100644
index 0000000..2b5f808
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/MissingRequiredOptionException.php
@@ -0,0 +1,25 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * @author Oskar Stark <oskarstark@googlemail.com>
+ */
+class MissingRequiredOptionException extends IncompleteDsnException
+{
+    public function __construct(string $option, string $dsn = null, \Throwable $previous = null)
+    {
+        $message = sprintf('The option "%s" is required but missing.', $option);
+
+        parent::__construct($message, $dsn, $previous);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/NotFoundResourceException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/NotFoundResourceException.php
new file mode 100644
index 0000000..cff73ae
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/NotFoundResourceException.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * Thrown when a resource does not exist.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class NotFoundResourceException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ProviderException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ProviderException.php
new file mode 100644
index 0000000..659c6d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ProviderException.php
@@ -0,0 +1,43 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+use Symfony\Contracts\HttpClient\ResponseInterface;
+
+/**
+ * @author Fabien Potencier <fabien@symfony.com>
+ *
+ * @experimental in 5.3
+ */
+class ProviderException extends RuntimeException implements ProviderExceptionInterface
+{
+    private $response;
+    private $debug;
+
+    public function __construct(string $message, ResponseInterface $response, int $code = 0, \Exception $previous = null)
+    {
+        $this->response = $response;
+        $this->debug .= $response->getInfo('debug') ?? '';
+
+        parent::__construct($message, $code, $previous);
+    }
+
+    public function getResponse(): ResponseInterface
+    {
+        return $this->response;
+    }
+
+    public function getDebug(): string
+    {
+        return $this->debug;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ProviderExceptionInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ProviderExceptionInterface.php
new file mode 100644
index 0000000..8cf1c51
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/ProviderExceptionInterface.php
@@ -0,0 +1,25 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * @author Fabien Potencier <fabien@symfony.com>
+ *
+ * @experimental in 5.3
+ */
+interface ProviderExceptionInterface extends ExceptionInterface
+{
+    /*
+     * Returns debug info coming from the Symfony\Contracts\HttpClient\ResponseInterface
+     */
+    public function getDebug(): string;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/RuntimeException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/RuntimeException.php
new file mode 100644
index 0000000..dcd7940
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/RuntimeException.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+/**
+ * Base RuntimeException for the Translation component.
+ *
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+class RuntimeException extends \RuntimeException implements ExceptionInterface
+{
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/UnsupportedSchemeException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/UnsupportedSchemeException.php
new file mode 100644
index 0000000..7fbaa8f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Exception/UnsupportedSchemeException.php
@@ -0,0 +1,54 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Exception;
+
+use Symfony\Component\Translation\Bridge;
+use Symfony\Component\Translation\Provider\Dsn;
+
+class UnsupportedSchemeException extends LogicException
+{
+    private const SCHEME_TO_PACKAGE_MAP = [
+        'crowdin' => [
+            'class' => Bridge\Crowdin\CrowdinProviderFactory::class,
+            'package' => 'symfony/crowdin-translation-provider',
+        ],
+        'loco' => [
+            'class' => Bridge\Loco\LocoProviderFactory::class,
+            'package' => 'symfony/loco-translation-provider',
+        ],
+        'lokalise' => [
+            'class' => Bridge\Lokalise\LokaliseProviderFactory::class,
+            'package' => 'symfony/lokalise-translation-provider',
+        ],
+    ];
+
+    public function __construct(Dsn $dsn, string $name = null, array $supported = [])
+    {
+        $provider = $dsn->getScheme();
+        if (false !== $pos = strpos($provider, '+')) {
+            $provider = substr($provider, 0, $pos);
+        }
+        $package = self::SCHEME_TO_PACKAGE_MAP[$provider] ?? null;
+        if ($package && !class_exists($package['class'])) {
+            parent::__construct(sprintf('Unable to synchronize translations via "%s" as the provider is not installed; try running "composer require %s".', $provider, $package['package']));
+
+            return;
+        }
+
+        $message = sprintf('The "%s" scheme is not supported', $dsn->getScheme());
+        if ($name && $supported) {
+            $message .= sprintf('; supported schemes for translation provider "%s" are: "%s"', $name, implode('", "', $supported));
+        }
+
+        parent::__construct($message.'.');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/AbstractFileExtractor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/AbstractFileExtractor.php
new file mode 100644
index 0000000..729dd17
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/AbstractFileExtractor.php
@@ -0,0 +1,76 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Extractor;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+
+/**
+ * Base class used by classes that extract translation messages from files.
+ *
+ * @author Marcos D. Sánchez <marcosdsanchez@gmail.com>
+ */
+abstract class AbstractFileExtractor
+{
+    /**
+     * @param string|iterable $resource Files, a file or a directory
+     *
+     * @return iterable
+     */
+    protected function extractFiles($resource)
+    {
+        if (is_iterable($resource)) {
+            $files = [];
+            foreach ($resource as $file) {
+                if ($this->canBeExtracted($file)) {
+                    $files[] = $this->toSplFileInfo($file);
+                }
+            }
+        } elseif (is_file($resource)) {
+            $files = $this->canBeExtracted($resource) ? [$this->toSplFileInfo($resource)] : [];
+        } else {
+            $files = $this->extractFromDirectory($resource);
+        }
+
+        return $files;
+    }
+
+    private function toSplFileInfo(string $file): \SplFileInfo
+    {
+        return new \SplFileInfo($file);
+    }
+
+    /**
+     * @return bool
+     *
+     * @throws InvalidArgumentException
+     */
+    protected function isFile(string $file)
+    {
+        if (!is_file($file)) {
+            throw new InvalidArgumentException(sprintf('The "%s" file does not exist.', $file));
+        }
+
+        return true;
+    }
+
+    /**
+     * @return bool
+     */
+    abstract protected function canBeExtracted(string $file);
+
+    /**
+     * @param string|array $resource Files, a file or a directory
+     *
+     * @return iterable files to be extracted
+     */
+    abstract protected function extractFromDirectory($resource);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/ChainExtractor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/ChainExtractor.php
new file mode 100644
index 0000000..95dcf15
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/ChainExtractor.php
@@ -0,0 +1,57 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Extractor;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * ChainExtractor extracts translation messages from template files.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+class ChainExtractor implements ExtractorInterface
+{
+    /**
+     * The extractors.
+     *
+     * @var ExtractorInterface[]
+     */
+    private $extractors = [];
+
+    /**
+     * Adds a loader to the translation extractor.
+     */
+    public function addExtractor(string $format, ExtractorInterface $extractor)
+    {
+        $this->extractors[$format] = $extractor;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setPrefix(string $prefix)
+    {
+        foreach ($this->extractors as $extractor) {
+            $extractor->setPrefix($prefix);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function extract($directory, MessageCatalogue $catalogue)
+    {
+        foreach ($this->extractors as $extractor) {
+            $extractor->extract($directory, $catalogue);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/ExtractorInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/ExtractorInterface.php
new file mode 100644
index 0000000..e1db8a9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/ExtractorInterface.php
@@ -0,0 +1,35 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Extractor;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * Extracts translation messages from a directory or files to the catalogue.
+ * New found messages are injected to the catalogue using the prefix.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+interface ExtractorInterface
+{
+    /**
+     * Extracts translation messages from files, a file or a directory to the catalogue.
+     *
+     * @param string|iterable<string> $resource Files, a file or a directory
+     */
+    public function extract($resource, MessageCatalogue $catalogue);
+
+    /**
+     * Sets the prefix that should be used for new found messages.
+     */
+    public function setPrefix(string $prefix);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/PhpExtractor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/PhpExtractor.php
new file mode 100644
index 0000000..c5efb5f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/PhpExtractor.php
@@ -0,0 +1,336 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Extractor;
+
+use Symfony\Component\Finder\Finder;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * PhpExtractor extracts translation messages from a PHP template.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+class PhpExtractor extends AbstractFileExtractor implements ExtractorInterface
+{
+    public const MESSAGE_TOKEN = 300;
+    public const METHOD_ARGUMENTS_TOKEN = 1000;
+    public const DOMAIN_TOKEN = 1001;
+
+    /**
+     * Prefix for new found message.
+     *
+     * @var string
+     */
+    private $prefix = '';
+
+    /**
+     * The sequence that captures translation messages.
+     *
+     * @var array
+     */
+    protected $sequences = [
+        [
+            '->',
+            'trans',
+            '(',
+            self::MESSAGE_TOKEN,
+            ',',
+            self::METHOD_ARGUMENTS_TOKEN,
+            ',',
+            self::DOMAIN_TOKEN,
+        ],
+        [
+            '->',
+            'trans',
+            '(',
+            self::MESSAGE_TOKEN,
+        ],
+        [
+            'new',
+            'TranslatableMessage',
+            '(',
+            self::MESSAGE_TOKEN,
+            ',',
+            self::METHOD_ARGUMENTS_TOKEN,
+            ',',
+            self::DOMAIN_TOKEN,
+        ],
+        [
+            'new',
+            'TranslatableMessage',
+            '(',
+            self::MESSAGE_TOKEN,
+        ],
+        [
+            'new',
+            '\\',
+            'Symfony',
+            '\\',
+            'Component',
+            '\\',
+            'Translation',
+            '\\',
+            'TranslatableMessage',
+            '(',
+            self::MESSAGE_TOKEN,
+            ',',
+            self::METHOD_ARGUMENTS_TOKEN,
+            ',',
+            self::DOMAIN_TOKEN,
+        ],
+        [
+            'new',
+            '\Symfony\Component\Translation\TranslatableMessage',
+            '(',
+            self::MESSAGE_TOKEN,
+            ',',
+            self::METHOD_ARGUMENTS_TOKEN,
+            ',',
+            self::DOMAIN_TOKEN,
+        ],
+        [
+            'new',
+            '\\',
+            'Symfony',
+            '\\',
+            'Component',
+            '\\',
+            'Translation',
+            '\\',
+            'TranslatableMessage',
+            '(',
+            self::MESSAGE_TOKEN,
+        ],
+        [
+            'new',
+            '\Symfony\Component\Translation\TranslatableMessage',
+            '(',
+            self::MESSAGE_TOKEN,
+        ],
+        [
+            't',
+            '(',
+            self::MESSAGE_TOKEN,
+            ',',
+            self::METHOD_ARGUMENTS_TOKEN,
+            ',',
+            self::DOMAIN_TOKEN,
+        ],
+        [
+            't',
+            '(',
+            self::MESSAGE_TOKEN,
+        ],
+    ];
+
+    /**
+     * {@inheritdoc}
+     */
+    public function extract($resource, MessageCatalogue $catalog)
+    {
+        $files = $this->extractFiles($resource);
+        foreach ($files as $file) {
+            $this->parseTokens(token_get_all(file_get_contents($file)), $catalog, $file);
+
+            gc_mem_caches();
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setPrefix(string $prefix)
+    {
+        $this->prefix = $prefix;
+    }
+
+    /**
+     * Normalizes a token.
+     *
+     * @param mixed $token
+     *
+     * @return string|null
+     */
+    protected function normalizeToken($token)
+    {
+        if (isset($token[1]) && 'b"' !== $token) {
+            return $token[1];
+        }
+
+        return $token;
+    }
+
+    /**
+     * Seeks to a non-whitespace token.
+     */
+    private function seekToNextRelevantToken(\Iterator $tokenIterator)
+    {
+        for (; $tokenIterator->valid(); $tokenIterator->next()) {
+            $t = $tokenIterator->current();
+            if (\T_WHITESPACE !== $t[0]) {
+                break;
+            }
+        }
+    }
+
+    private function skipMethodArgument(\Iterator $tokenIterator)
+    {
+        $openBraces = 0;
+
+        for (; $tokenIterator->valid(); $tokenIterator->next()) {
+            $t = $tokenIterator->current();
+
+            if ('[' === $t[0] || '(' === $t[0]) {
+                ++$openBraces;
+            }
+
+            if (']' === $t[0] || ')' === $t[0]) {
+                --$openBraces;
+            }
+
+            if ((0 === $openBraces && ',' === $t[0]) || (-1 === $openBraces && ')' === $t[0])) {
+                break;
+            }
+        }
+    }
+
+    /**
+     * Extracts the message from the iterator while the tokens
+     * match allowed message tokens.
+     */
+    private function getValue(\Iterator $tokenIterator)
+    {
+        $message = '';
+        $docToken = '';
+        $docPart = '';
+
+        for (; $tokenIterator->valid(); $tokenIterator->next()) {
+            $t = $tokenIterator->current();
+            if ('.' === $t) {
+                // Concatenate with next token
+                continue;
+            }
+            if (!isset($t[1])) {
+                break;
+            }
+
+            switch ($t[0]) {
+                case \T_START_HEREDOC:
+                    $docToken = $t[1];
+                    break;
+                case \T_ENCAPSED_AND_WHITESPACE:
+                case \T_CONSTANT_ENCAPSED_STRING:
+                    if ('' === $docToken) {
+                        $message .= PhpStringTokenParser::parse($t[1]);
+                    } else {
+                        $docPart = $t[1];
+                    }
+                    break;
+                case \T_END_HEREDOC:
+                    if ($indentation = strspn($t[1], ' ')) {
+                        $docPartWithLineBreaks = $docPart;
+                        $docPart = '';
+
+                        foreach (preg_split('~(\r\n|\n|\r)~', $docPartWithLineBreaks, -1, \PREG_SPLIT_DELIM_CAPTURE) as $str) {
+                            if (\in_array($str, ["\r\n", "\n", "\r"], true)) {
+                                $docPart .= $str;
+                            } else {
+                                $docPart .= substr($str, $indentation);
+                            }
+                        }
+                    }
+
+                    $message .= PhpStringTokenParser::parseDocString($docToken, $docPart);
+                    $docToken = '';
+                    $docPart = '';
+                    break;
+                case \T_WHITESPACE:
+                    break;
+                default:
+                    break 2;
+            }
+        }
+
+        return $message;
+    }
+
+    /**
+     * Extracts trans message from PHP tokens.
+     */
+    protected function parseTokens(array $tokens, MessageCatalogue $catalog, string $filename)
+    {
+        $tokenIterator = new \ArrayIterator($tokens);
+
+        for ($key = 0; $key < $tokenIterator->count(); ++$key) {
+            foreach ($this->sequences as $sequence) {
+                $message = '';
+                $domain = 'messages';
+                $tokenIterator->seek($key);
+
+                foreach ($sequence as $sequenceKey => $item) {
+                    $this->seekToNextRelevantToken($tokenIterator);
+
+                    if ($this->normalizeToken($tokenIterator->current()) === $item) {
+                        $tokenIterator->next();
+                        continue;
+                    } elseif (self::MESSAGE_TOKEN === $item) {
+                        $message = $this->getValue($tokenIterator);
+
+                        if (\count($sequence) === ($sequenceKey + 1)) {
+                            break;
+                        }
+                    } elseif (self::METHOD_ARGUMENTS_TOKEN === $item) {
+                        $this->skipMethodArgument($tokenIterator);
+                    } elseif (self::DOMAIN_TOKEN === $item) {
+                        $domainToken = $this->getValue($tokenIterator);
+                        if ('' !== $domainToken) {
+                            $domain = $domainToken;
+                        }
+
+                        break;
+                    } else {
+                        break;
+                    }
+                }
+
+                if ($message) {
+                    $catalog->set($message, $this->prefix.$message, $domain);
+                    $metadata = $catalog->getMetadata($message, $domain) ?? [];
+                    $normalizedFilename = preg_replace('{[\\\\/]+}', '/', $filename);
+                    $metadata['sources'][] = $normalizedFilename.':'.$tokens[$key][2];
+                    $catalog->setMetadata($message, $metadata, $domain);
+                    break;
+                }
+            }
+        }
+    }
+
+    /**
+     * @return bool
+     *
+     * @throws \InvalidArgumentException
+     */
+    protected function canBeExtracted(string $file)
+    {
+        return $this->isFile($file) && 'php' === pathinfo($file, \PATHINFO_EXTENSION);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function extractFromDirectory($directory)
+    {
+        $finder = new Finder();
+
+        return $finder->files()->name('*.php')->in($directory);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/PhpStringTokenParser.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/PhpStringTokenParser.php
new file mode 100644
index 0000000..1d82caf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Extractor/PhpStringTokenParser.php
@@ -0,0 +1,142 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Extractor;
+
+/*
+ * The following is derived from code at http://github.com/nikic/PHP-Parser
+ *
+ * Copyright (c) 2011 by Nikita Popov
+ *
+ * Some rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     * The names of the contributors may not be used to endorse or
+ *       promote products derived from this software without specific
+ *       prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+class PhpStringTokenParser
+{
+    protected static $replacements = [
+        '\\' => '\\',
+        '$' => '$',
+        'n' => "\n",
+        'r' => "\r",
+        't' => "\t",
+        'f' => "\f",
+        'v' => "\v",
+        'e' => "\x1B",
+    ];
+
+    /**
+     * Parses a string token.
+     *
+     * @param string $str String token content
+     *
+     * @return string The parsed string
+     */
+    public static function parse(string $str)
+    {
+        $bLength = 0;
+        if ('b' === $str[0]) {
+            $bLength = 1;
+        }
+
+        if ('\'' === $str[$bLength]) {
+            return str_replace(
+                ['\\\\', '\\\''],
+                ['\\', '\''],
+                substr($str, $bLength + 1, -1)
+            );
+        } else {
+            return self::parseEscapeSequences(substr($str, $bLength + 1, -1), '"');
+        }
+    }
+
+    /**
+     * Parses escape sequences in strings (all string types apart from single quoted).
+     *
+     * @param string      $str   String without quotes
+     * @param string|null $quote Quote type
+     *
+     * @return string String with escape sequences parsed
+     */
+    public static function parseEscapeSequences(string $str, string $quote = null)
+    {
+        if (null !== $quote) {
+            $str = str_replace('\\'.$quote, $quote, $str);
+        }
+
+        return preg_replace_callback(
+            '~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3})~',
+            [__CLASS__, 'parseCallback'],
+            $str
+        );
+    }
+
+    private static function parseCallback(array $matches): string
+    {
+        $str = $matches[1];
+
+        if (isset(self::$replacements[$str])) {
+            return self::$replacements[$str];
+        } elseif ('x' === $str[0] || 'X' === $str[0]) {
+            return \chr(hexdec($str));
+        } else {
+            return \chr(octdec($str));
+        }
+    }
+
+    /**
+     * Parses a constant doc string.
+     *
+     * @param string $startToken Doc string start token content (<<<SMTHG)
+     * @param string $str        String token content
+     *
+     * @return string Parsed string
+     */
+    public static function parseDocString(string $startToken, string $str)
+    {
+        // strip last newline (thanks tokenizer for sticking it into the string!)
+        $str = preg_replace('~(\r\n|\n|\r)$~', '', $str);
+
+        // nowdoc string
+        if (str_contains($startToken, '\'')) {
+            return $str;
+        }
+
+        return self::parseEscapeSequences($str, null);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/IntlFormatter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/IntlFormatter.php
new file mode 100644
index 0000000..f7f1c36
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/IntlFormatter.php
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Formatter;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Exception\LogicException;
+
+/**
+ * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+class IntlFormatter implements IntlFormatterInterface
+{
+    private $hasMessageFormatter;
+    private $cache = [];
+
+    /**
+     * {@inheritdoc}
+     */
+    public function formatIntl(string $message, string $locale, array $parameters = []): string
+    {
+        // MessageFormatter constructor throws an exception if the message is empty
+        if ('' === $message) {
+            return '';
+        }
+
+        if (!$formatter = $this->cache[$locale][$message] ?? null) {
+            if (!($this->hasMessageFormatter ?? $this->hasMessageFormatter = class_exists(\MessageFormatter::class))) {
+                throw new LogicException('Cannot parse message translation: please install the "intl" PHP extension or the "symfony/polyfill-intl-messageformatter" package.');
+            }
+            try {
+                $this->cache[$locale][$message] = $formatter = new \MessageFormatter($locale, $message);
+            } catch (\IntlException $e) {
+                throw new InvalidArgumentException(sprintf('Invalid message format (error #%d): ', intl_get_error_code()).intl_get_error_message(), 0, $e);
+            }
+        }
+
+        foreach ($parameters as $key => $value) {
+            if (\in_array($key[0] ?? null, ['%', '{'], true)) {
+                unset($parameters[$key]);
+                $parameters[trim($key, '%{ }')] = $value;
+            }
+        }
+
+        if (false === $message = $formatter->format($parameters)) {
+            throw new InvalidArgumentException(sprintf('Unable to format message (error #%s): ', $formatter->getErrorCode()).$formatter->getErrorMessage());
+        }
+
+        return $message;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/IntlFormatterInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/IntlFormatterInterface.php
new file mode 100644
index 0000000..02fc6ac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/IntlFormatterInterface.php
@@ -0,0 +1,27 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Formatter;
+
+/**
+ * Formats ICU message patterns.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+interface IntlFormatterInterface
+{
+    /**
+     * Formats a localized message using rules defined by ICU MessageFormat.
+     *
+     * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html#details
+     */
+    public function formatIntl(string $message, string $locale, array $parameters = []): string;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/MessageFormatter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/MessageFormatter.php
new file mode 100644
index 0000000..0407964
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/MessageFormatter.php
@@ -0,0 +1,56 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Formatter;
+
+use Symfony\Component\Translation\IdentityTranslator;
+use Symfony\Contracts\Translation\TranslatorInterface;
+
+// Help opcache.preload discover always-needed symbols
+class_exists(IntlFormatter::class);
+
+/**
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+class MessageFormatter implements MessageFormatterInterface, IntlFormatterInterface
+{
+    private $translator;
+    private $intlFormatter;
+
+    /**
+     * @param TranslatorInterface|null $translator An identity translator to use as selector for pluralization
+     */
+    public function __construct(TranslatorInterface $translator = null, IntlFormatterInterface $intlFormatter = null)
+    {
+        $this->translator = $translator ?? new IdentityTranslator();
+        $this->intlFormatter = $intlFormatter ?? new IntlFormatter();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function format(string $message, string $locale, array $parameters = [])
+    {
+        if ($this->translator instanceof TranslatorInterface) {
+            return $this->translator->trans($message, $parameters, null, $locale);
+        }
+
+        return strtr($message, $parameters);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function formatIntl(string $message, string $locale, array $parameters = []): string
+    {
+        return $this->intlFormatter->formatIntl($message, $locale, $parameters);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/MessageFormatterInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/MessageFormatterInterface.php
new file mode 100644
index 0000000..b85dbfd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Formatter/MessageFormatterInterface.php
@@ -0,0 +1,30 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Formatter;
+
+/**
+ * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+interface MessageFormatterInterface
+{
+    /**
+     * Formats a localized message pattern with given arguments.
+     *
+     * @param string $message    The message (may also be an object that can be cast to string)
+     * @param string $locale     The message locale
+     * @param array  $parameters An array of parameters for the message
+     *
+     * @return string
+     */
+    public function format(string $message, string $locale, array $parameters = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/IdentityTranslator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/IdentityTranslator.php
new file mode 100644
index 0000000..46875ed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/IdentityTranslator.php
@@ -0,0 +1,26 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Contracts\Translation\LocaleAwareInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
+use Symfony\Contracts\Translation\TranslatorTrait;
+
+/**
+ * IdentityTranslator does not translate anything.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class IdentityTranslator implements TranslatorInterface, LocaleAwareInterface
+{
+    use TranslatorTrait;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/LICENSE
new file mode 100644
index 0000000..9ff2d0d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2004-2021 Fabien Potencier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/ArrayLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/ArrayLoader.php
new file mode 100644
index 0000000..0758da8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/ArrayLoader.php
@@ -0,0 +1,58 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * ArrayLoader loads translations from a PHP array.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class ArrayLoader implements LoaderInterface
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function load($resource, string $locale, string $domain = 'messages')
+    {
+        $resource = $this->flatten($resource);
+        $catalogue = new MessageCatalogue($locale);
+        $catalogue->add($resource, $domain);
+
+        return $catalogue;
+    }
+
+    /**
+     * Flattens an nested array of translations.
+     *
+     * The scheme used is:
+     *   'key' => ['key2' => ['key3' => 'value']]
+     * Becomes:
+     *   'key.key2.key3' => 'value'
+     */
+    private function flatten(array $messages): array
+    {
+        $result = [];
+        foreach ($messages as $key => $value) {
+            if (\is_array($value)) {
+                foreach ($this->flatten($value) as $k => $v) {
+                    $result[$key.'.'.$k] = $v;
+                }
+            } else {
+                $result[$key] = $value;
+            }
+        }
+
+        return $result;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/CsvFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/CsvFileLoader.php
new file mode 100644
index 0000000..8d5d4db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/CsvFileLoader.php
@@ -0,0 +1,65 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+
+/**
+ * CsvFileLoader loads translations from CSV files.
+ *
+ * @author Saša Stamenković <umpirsky@gmail.com>
+ */
+class CsvFileLoader extends FileLoader
+{
+    private $delimiter = ';';
+    private $enclosure = '"';
+    private $escape = '\\';
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function loadResource(string $resource)
+    {
+        $messages = [];
+
+        try {
+            $file = new \SplFileObject($resource, 'rb');
+        } catch (\RuntimeException $e) {
+            throw new NotFoundResourceException(sprintf('Error opening file "%s".', $resource), 0, $e);
+        }
+
+        $file->setFlags(\SplFileObject::READ_CSV | \SplFileObject::SKIP_EMPTY);
+        $file->setCsvControl($this->delimiter, $this->enclosure, $this->escape);
+
+        foreach ($file as $data) {
+            if (false === $data) {
+                continue;
+            }
+
+            if ('#' !== substr($data[0], 0, 1) && isset($data[1]) && 2 === \count($data)) {
+                $messages[$data[0]] = $data[1];
+            }
+        }
+
+        return $messages;
+    }
+
+    /**
+     * Sets the delimiter, enclosure, and escape character for CSV.
+     */
+    public function setCsvControl(string $delimiter = ';', string $enclosure = '"', string $escape = '\\')
+    {
+        $this->delimiter = $delimiter;
+        $this->enclosure = $enclosure;
+        $this->escape = $escape;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/FileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/FileLoader.php
new file mode 100644
index 0000000..4725ea6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/FileLoader.php
@@ -0,0 +1,63 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Config\Resource\FileResource;
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+
+/**
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+abstract class FileLoader extends ArrayLoader
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function load($resource, string $locale, string $domain = 'messages')
+    {
+        if (!stream_is_local($resource)) {
+            throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
+        }
+
+        if (!file_exists($resource)) {
+            throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
+        }
+
+        $messages = $this->loadResource($resource);
+
+        // empty resource
+        if (null === $messages) {
+            $messages = [];
+        }
+
+        // not an array
+        if (!\is_array($messages)) {
+            throw new InvalidResourceException(sprintf('Unable to load file "%s".', $resource));
+        }
+
+        $catalogue = parent::load($messages, $locale, $domain);
+
+        if (class_exists(FileResource::class)) {
+            $catalogue->addResource(new FileResource($resource));
+        }
+
+        return $catalogue;
+    }
+
+    /**
+     * @return array
+     *
+     * @throws InvalidResourceException if stream content has an invalid format
+     */
+    abstract protected function loadResource(string $resource);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IcuDatFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IcuDatFileLoader.php
new file mode 100644
index 0000000..2a1aecc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IcuDatFileLoader.php
@@ -0,0 +1,61 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Config\Resource\FileResource;
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * IcuResFileLoader loads translations from a resource bundle.
+ *
+ * @author stealth35
+ */
+class IcuDatFileLoader extends IcuResFileLoader
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function load($resource, string $locale, string $domain = 'messages')
+    {
+        if (!stream_is_local($resource.'.dat')) {
+            throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
+        }
+
+        if (!file_exists($resource.'.dat')) {
+            throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
+        }
+
+        try {
+            $rb = new \ResourceBundle($locale, $resource);
+        } catch (\Exception $e) {
+            $rb = null;
+        }
+
+        if (!$rb) {
+            throw new InvalidResourceException(sprintf('Cannot load resource "%s".', $resource));
+        } elseif (intl_is_failure($rb->getErrorCode())) {
+            throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode());
+        }
+
+        $messages = $this->flatten($rb);
+        $catalogue = new MessageCatalogue($locale);
+        $catalogue->add($messages, $domain);
+
+        if (class_exists(FileResource::class)) {
+            $catalogue->addResource(new FileResource($resource.'.dat'));
+        }
+
+        return $catalogue;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IcuResFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IcuResFileLoader.php
new file mode 100644
index 0000000..64bbd3e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IcuResFileLoader.php
@@ -0,0 +1,91 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Config\Resource\DirectoryResource;
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * IcuResFileLoader loads translations from a resource bundle.
+ *
+ * @author stealth35
+ */
+class IcuResFileLoader implements LoaderInterface
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function load($resource, string $locale, string $domain = 'messages')
+    {
+        if (!stream_is_local($resource)) {
+            throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
+        }
+
+        if (!is_dir($resource)) {
+            throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
+        }
+
+        try {
+            $rb = new \ResourceBundle($locale, $resource);
+        } catch (\Exception $e) {
+            $rb = null;
+        }
+
+        if (!$rb) {
+            throw new InvalidResourceException(sprintf('Cannot load resource "%s".', $resource));
+        } elseif (intl_is_failure($rb->getErrorCode())) {
+            throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode());
+        }
+
+        $messages = $this->flatten($rb);
+        $catalogue = new MessageCatalogue($locale);
+        $catalogue->add($messages, $domain);
+
+        if (class_exists(DirectoryResource::class)) {
+            $catalogue->addResource(new DirectoryResource($resource));
+        }
+
+        return $catalogue;
+    }
+
+    /**
+     * Flattens an ResourceBundle.
+     *
+     * The scheme used is:
+     *   key { key2 { key3 { "value" } } }
+     * Becomes:
+     *   'key.key2.key3' => 'value'
+     *
+     * This function takes an array by reference and will modify it
+     *
+     * @param \ResourceBundle $rb       The ResourceBundle that will be flattened
+     * @param array           $messages Used internally for recursive calls
+     * @param string          $path     Current path being parsed, used internally for recursive calls
+     *
+     * @return array the flattened ResourceBundle
+     */
+    protected function flatten(\ResourceBundle $rb, array &$messages = [], string $path = null)
+    {
+        foreach ($rb as $key => $value) {
+            $nodePath = $path ? $path.'.'.$key : $key;
+            if ($value instanceof \ResourceBundle) {
+                $this->flatten($value, $messages, $nodePath);
+            } else {
+                $messages[$nodePath] = $value;
+            }
+        }
+
+        return $messages;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IniFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IniFileLoader.php
new file mode 100644
index 0000000..7398f77
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/IniFileLoader.php
@@ -0,0 +1,28 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+/**
+ * IniFileLoader loads translations from an ini file.
+ *
+ * @author stealth35
+ */
+class IniFileLoader extends FileLoader
+{
+    /**
+     * {@inheritdoc}
+     */
+    protected function loadResource(string $resource)
+    {
+        return parse_ini_file($resource, true);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/JsonFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/JsonFileLoader.php
new file mode 100644
index 0000000..5aefba0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/JsonFileLoader.php
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+
+/**
+ * JsonFileLoader loads translations from an json file.
+ *
+ * @author singles
+ */
+class JsonFileLoader extends FileLoader
+{
+    /**
+     * {@inheritdoc}
+     */
+    protected function loadResource(string $resource)
+    {
+        $messages = [];
+        if ($data = file_get_contents($resource)) {
+            $messages = json_decode($data, true);
+
+            if (0 < $errorCode = json_last_error()) {
+                throw new InvalidResourceException('Error parsing JSON: '.$this->getJSONErrorMessage($errorCode));
+            }
+        }
+
+        return $messages;
+    }
+
+    /**
+     * Translates JSON_ERROR_* constant into meaningful message.
+     */
+    private function getJSONErrorMessage(int $errorCode): string
+    {
+        switch ($errorCode) {
+            case \JSON_ERROR_DEPTH:
+                return 'Maximum stack depth exceeded';
+            case \JSON_ERROR_STATE_MISMATCH:
+                return 'Underflow or the modes mismatch';
+            case \JSON_ERROR_CTRL_CHAR:
+                return 'Unexpected control character found';
+            case \JSON_ERROR_SYNTAX:
+                return 'Syntax error, malformed JSON';
+            case \JSON_ERROR_UTF8:
+                return 'Malformed UTF-8 characters, possibly incorrectly encoded';
+            default:
+                return 'Unknown error';
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/LoaderInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/LoaderInterface.php
new file mode 100644
index 0000000..2073f2b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/LoaderInterface.php
@@ -0,0 +1,38 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * LoaderInterface is the interface implemented by all translation loaders.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+interface LoaderInterface
+{
+    /**
+     * Loads a locale.
+     *
+     * @param mixed  $resource A resource
+     * @param string $locale   A locale
+     * @param string $domain   The domain
+     *
+     * @return MessageCatalogue A MessageCatalogue instance
+     *
+     * @throws NotFoundResourceException when the resource cannot be found
+     * @throws InvalidResourceException  when the resource cannot be loaded
+     */
+    public function load($resource, string $locale, string $domain = 'messages');
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/MoFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/MoFileLoader.php
new file mode 100644
index 0000000..0ff6549
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/MoFileLoader.php
@@ -0,0 +1,140 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+
+/**
+ * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/)
+ */
+class MoFileLoader extends FileLoader
+{
+    /**
+     * Magic used for validating the format of an MO file as well as
+     * detecting if the machine used to create that file was little endian.
+     */
+    public const MO_LITTLE_ENDIAN_MAGIC = 0x950412de;
+
+    /**
+     * Magic used for validating the format of an MO file as well as
+     * detecting if the machine used to create that file was big endian.
+     */
+    public const MO_BIG_ENDIAN_MAGIC = 0xde120495;
+
+    /**
+     * The size of the header of an MO file in bytes.
+     */
+    public const MO_HEADER_SIZE = 28;
+
+    /**
+     * Parses machine object (MO) format, independent of the machine's endian it
+     * was created on. Both 32bit and 64bit systems are supported.
+     *
+     * {@inheritdoc}
+     */
+    protected function loadResource(string $resource)
+    {
+        $stream = fopen($resource, 'r');
+
+        $stat = fstat($stream);
+
+        if ($stat['size'] < self::MO_HEADER_SIZE) {
+            throw new InvalidResourceException('MO stream content has an invalid format.');
+        }
+        $magic = unpack('V1', fread($stream, 4));
+        $magic = hexdec(substr(dechex(current($magic)), -8));
+
+        if (self::MO_LITTLE_ENDIAN_MAGIC == $magic) {
+            $isBigEndian = false;
+        } elseif (self::MO_BIG_ENDIAN_MAGIC == $magic) {
+            $isBigEndian = true;
+        } else {
+            throw new InvalidResourceException('MO stream content has an invalid format.');
+        }
+
+        // formatRevision
+        $this->readLong($stream, $isBigEndian);
+        $count = $this->readLong($stream, $isBigEndian);
+        $offsetId = $this->readLong($stream, $isBigEndian);
+        $offsetTranslated = $this->readLong($stream, $isBigEndian);
+        // sizeHashes
+        $this->readLong($stream, $isBigEndian);
+        // offsetHashes
+        $this->readLong($stream, $isBigEndian);
+
+        $messages = [];
+
+        for ($i = 0; $i < $count; ++$i) {
+            $pluralId = null;
+            $translated = null;
+
+            fseek($stream, $offsetId + $i * 8);
+
+            $length = $this->readLong($stream, $isBigEndian);
+            $offset = $this->readLong($stream, $isBigEndian);
+
+            if ($length < 1) {
+                continue;
+            }
+
+            fseek($stream, $offset);
+            $singularId = fread($stream, $length);
+
+            if (str_contains($singularId, "\000")) {
+                [$singularId, $pluralId] = explode("\000", $singularId);
+            }
+
+            fseek($stream, $offsetTranslated + $i * 8);
+            $length = $this->readLong($stream, $isBigEndian);
+            $offset = $this->readLong($stream, $isBigEndian);
+
+            if ($length < 1) {
+                continue;
+            }
+
+            fseek($stream, $offset);
+            $translated = fread($stream, $length);
+
+            if (str_contains($translated, "\000")) {
+                $translated = explode("\000", $translated);
+            }
+
+            $ids = ['singular' => $singularId, 'plural' => $pluralId];
+            $item = compact('ids', 'translated');
+
+            if (!empty($item['ids']['singular'])) {
+                $id = $item['ids']['singular'];
+                if (isset($item['ids']['plural'])) {
+                    $id .= '|'.$item['ids']['plural'];
+                }
+                $messages[$id] = stripcslashes(implode('|', (array) $item['translated']));
+            }
+        }
+
+        fclose($stream);
+
+        return array_filter($messages);
+    }
+
+    /**
+     * Reads an unsigned long from stream respecting endianness.
+     *
+     * @param resource $stream
+     */
+    private function readLong($stream, bool $isBigEndian): int
+    {
+        $result = unpack($isBigEndian ? 'N1' : 'V1', fread($stream, 4));
+        $result = current($result);
+
+        return (int) substr($result, -8);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/PhpFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/PhpFileLoader.php
new file mode 100644
index 0000000..85f1090
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/PhpFileLoader.php
@@ -0,0 +1,42 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+/**
+ * PhpFileLoader loads translations from PHP files returning an array of translations.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class PhpFileLoader extends FileLoader
+{
+    private static $cache = [];
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function loadResource(string $resource)
+    {
+        if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
+            self::$cache = null;
+        }
+
+        if (null === self::$cache) {
+            return require $resource;
+        }
+
+        if (isset(self::$cache[$resource])) {
+            return self::$cache[$resource];
+        }
+
+        return self::$cache[$resource] = require $resource;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/PoFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/PoFileLoader.php
new file mode 100644
index 0000000..ee143e2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/PoFileLoader.php
@@ -0,0 +1,149 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+/**
+ * @copyright Copyright (c) 2010, Union of RAD https://github.com/UnionOfRAD/lithium
+ * @copyright Copyright (c) 2012, Clemens Tolboom
+ */
+class PoFileLoader extends FileLoader
+{
+    /**
+     * Parses portable object (PO) format.
+     *
+     * From https://www.gnu.org/software/gettext/manual/gettext.html#PO-Files
+     * we should be able to parse files having:
+     *
+     * white-space
+     * #  translator-comments
+     * #. extracted-comments
+     * #: reference...
+     * #, flag...
+     * #| msgid previous-untranslated-string
+     * msgid untranslated-string
+     * msgstr translated-string
+     *
+     * extra or different lines are:
+     *
+     * #| msgctxt previous-context
+     * #| msgid previous-untranslated-string
+     * msgctxt context
+     *
+     * #| msgid previous-untranslated-string-singular
+     * #| msgid_plural previous-untranslated-string-plural
+     * msgid untranslated-string-singular
+     * msgid_plural untranslated-string-plural
+     * msgstr[0] translated-string-case-0
+     * ...
+     * msgstr[N] translated-string-case-n
+     *
+     * The definition states:
+     * - white-space and comments are optional.
+     * - msgid "" that an empty singleline defines a header.
+     *
+     * This parser sacrifices some features of the reference implementation the
+     * differences to that implementation are as follows.
+     * - No support for comments spanning multiple lines.
+     * - Translator and extracted comments are treated as being the same type.
+     * - Message IDs are allowed to have other encodings as just US-ASCII.
+     *
+     * Items with an empty id are ignored.
+     *
+     * {@inheritdoc}
+     */
+    protected function loadResource(string $resource)
+    {
+        $stream = fopen($resource, 'r');
+
+        $defaults = [
+            'ids' => [],
+            'translated' => null,
+        ];
+
+        $messages = [];
+        $item = $defaults;
+        $flags = [];
+
+        while ($line = fgets($stream)) {
+            $line = trim($line);
+
+            if ('' === $line) {
+                // Whitespace indicated current item is done
+                if (!\in_array('fuzzy', $flags)) {
+                    $this->addMessage($messages, $item);
+                }
+                $item = $defaults;
+                $flags = [];
+            } elseif ('#,' === substr($line, 0, 2)) {
+                $flags = array_map('trim', explode(',', substr($line, 2)));
+            } elseif ('msgid "' === substr($line, 0, 7)) {
+                // We start a new msg so save previous
+                // TODO: this fails when comments or contexts are added
+                $this->addMessage($messages, $item);
+                $item = $defaults;
+                $item['ids']['singular'] = substr($line, 7, -1);
+            } elseif ('msgstr "' === substr($line, 0, 8)) {
+                $item['translated'] = substr($line, 8, -1);
+            } elseif ('"' === $line[0]) {
+                $continues = isset($item['translated']) ? 'translated' : 'ids';
+
+                if (\is_array($item[$continues])) {
+                    end($item[$continues]);
+                    $item[$continues][key($item[$continues])] .= substr($line, 1, -1);
+                } else {
+                    $item[$continues] .= substr($line, 1, -1);
+                }
+            } elseif ('msgid_plural "' === substr($line, 0, 14)) {
+                $item['ids']['plural'] = substr($line, 14, -1);
+            } elseif ('msgstr[' === substr($line, 0, 7)) {
+                $size = strpos($line, ']');
+                $item['translated'][(int) substr($line, 7, 1)] = substr($line, $size + 3, -1);
+            }
+        }
+        // save last item
+        if (!\in_array('fuzzy', $flags)) {
+            $this->addMessage($messages, $item);
+        }
+        fclose($stream);
+
+        return $messages;
+    }
+
+    /**
+     * Save a translation item to the messages.
+     *
+     * A .po file could contain by error missing plural indexes. We need to
+     * fix these before saving them.
+     */
+    private function addMessage(array &$messages, array $item)
+    {
+        if (!empty($item['ids']['singular'])) {
+            $id = stripcslashes($item['ids']['singular']);
+            if (isset($item['ids']['plural'])) {
+                $id .= '|'.stripcslashes($item['ids']['plural']);
+            }
+
+            $translated = (array) $item['translated'];
+            // PO are by definition indexed so sort by index.
+            ksort($translated);
+            // Make sure every index is filled.
+            end($translated);
+            $count = key($translated);
+            // Fill missing spots with '-'.
+            $empties = array_fill(0, $count + 1, '-');
+            $translated += $empties;
+            ksort($translated);
+
+            $messages[$id] = stripcslashes(implode('|', $translated));
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/QtFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/QtFileLoader.php
new file mode 100644
index 0000000..9cf2fe9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/QtFileLoader.php
@@ -0,0 +1,82 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Config\Resource\FileResource;
+use Symfony\Component\Config\Util\XmlUtils;
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+use Symfony\Component\Translation\Exception\RuntimeException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * QtFileLoader loads translations from QT Translations XML files.
+ *
+ * @author Benjamin Eberlei <kontakt@beberlei.de>
+ */
+class QtFileLoader implements LoaderInterface
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function load($resource, string $locale, string $domain = 'messages')
+    {
+        if (!class_exists(XmlUtils::class)) {
+            throw new RuntimeException('Loading translations from the QT format requires the Symfony Config component.');
+        }
+
+        if (!stream_is_local($resource)) {
+            throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
+        }
+
+        if (!file_exists($resource)) {
+            throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
+        }
+
+        try {
+            $dom = XmlUtils::loadFile($resource);
+        } catch (\InvalidArgumentException $e) {
+            throw new InvalidResourceException(sprintf('Unable to load "%s".', $resource), $e->getCode(), $e);
+        }
+
+        $internalErrors = libxml_use_internal_errors(true);
+        libxml_clear_errors();
+
+        $xpath = new \DOMXPath($dom);
+        $nodes = $xpath->evaluate('//TS/context/name[text()="'.$domain.'"]');
+
+        $catalogue = new MessageCatalogue($locale);
+        if (1 == $nodes->length) {
+            $translations = $nodes->item(0)->nextSibling->parentNode->parentNode->getElementsByTagName('message');
+            foreach ($translations as $translation) {
+                $translationValue = (string) $translation->getElementsByTagName('translation')->item(0)->nodeValue;
+
+                if (!empty($translationValue)) {
+                    $catalogue->set(
+                        (string) $translation->getElementsByTagName('source')->item(0)->nodeValue,
+                        $translationValue,
+                        $domain
+                    );
+                }
+                $translation = $translation->nextSibling;
+            }
+
+            if (class_exists(FileResource::class)) {
+                $catalogue->addResource(new FileResource($resource));
+            }
+        }
+
+        libxml_use_internal_errors($internalErrors);
+
+        return $catalogue;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/XliffFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/XliffFileLoader.php
new file mode 100644
index 0000000..35ad33e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/XliffFileLoader.php
@@ -0,0 +1,232 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Config\Resource\FileResource;
+use Symfony\Component\Config\Util\Exception\InvalidXmlException;
+use Symfony\Component\Config\Util\Exception\XmlParsingException;
+use Symfony\Component\Config\Util\XmlUtils;
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+use Symfony\Component\Translation\Exception\RuntimeException;
+use Symfony\Component\Translation\MessageCatalogue;
+use Symfony\Component\Translation\Util\XliffUtils;
+
+/**
+ * XliffFileLoader loads translations from XLIFF files.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class XliffFileLoader implements LoaderInterface
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function load($resource, string $locale, string $domain = 'messages')
+    {
+        if (!class_exists(XmlUtils::class)) {
+            throw new RuntimeException('Loading translations from the Xliff format requires the Symfony Config component.');
+        }
+
+        if (!$this->isXmlString($resource)) {
+            if (!stream_is_local($resource)) {
+                throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource));
+            }
+
+            if (!file_exists($resource)) {
+                throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource));
+            }
+
+            if (!is_file($resource)) {
+                throw new InvalidResourceException(sprintf('This is neither a file nor an XLIFF string "%s".', $resource));
+            }
+        }
+
+        try {
+            if ($this->isXmlString($resource)) {
+                $dom = XmlUtils::parse($resource);
+            } else {
+                $dom = XmlUtils::loadFile($resource);
+            }
+        } catch (\InvalidArgumentException | XmlParsingException | InvalidXmlException $e) {
+            throw new InvalidResourceException(sprintf('Unable to load "%s": ', $resource).$e->getMessage(), $e->getCode(), $e);
+        }
+
+        if ($errors = XliffUtils::validateSchema($dom)) {
+            throw new InvalidResourceException(sprintf('Invalid resource provided: "%s"; Errors: ', $resource).XliffUtils::getErrorsAsString($errors));
+        }
+
+        $catalogue = new MessageCatalogue($locale);
+        $this->extract($dom, $catalogue, $domain);
+
+        if (is_file($resource) && class_exists(FileResource::class)) {
+            $catalogue->addResource(new FileResource($resource));
+        }
+
+        return $catalogue;
+    }
+
+    private function extract(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain)
+    {
+        $xliffVersion = XliffUtils::getVersionNumber($dom);
+
+        if ('1.2' === $xliffVersion) {
+            $this->extractXliff1($dom, $catalogue, $domain);
+        }
+
+        if ('2.0' === $xliffVersion) {
+            $this->extractXliff2($dom, $catalogue, $domain);
+        }
+    }
+
+    /**
+     * Extract messages and metadata from DOMDocument into a MessageCatalogue.
+     */
+    private function extractXliff1(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain)
+    {
+        $xml = simplexml_import_dom($dom);
+        $encoding = $dom->encoding ? strtoupper($dom->encoding) : null;
+
+        $namespace = 'urn:oasis:names:tc:xliff:document:1.2';
+        $xml->registerXPathNamespace('xliff', $namespace);
+
+        foreach ($xml->xpath('//xliff:file') as $file) {
+            $fileAttributes = $file->attributes();
+
+            $file->registerXPathNamespace('xliff', $namespace);
+
+            foreach ($file->xpath('.//xliff:trans-unit') as $translation) {
+                $attributes = $translation->attributes();
+
+                if (!(isset($attributes['resname']) || isset($translation->source))) {
+                    continue;
+                }
+
+                $source = isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source;
+                // If the xlf file has another encoding specified, try to convert it because
+                // simple_xml will always return utf-8 encoded values
+                $target = $this->utf8ToCharset((string) ($translation->target ?? $translation->source), $encoding);
+
+                $catalogue->set((string) $source, $target, $domain);
+
+                $metadata = [
+                    'source' => (string) $translation->source,
+                    'file' => [
+                        'original' => (string) $fileAttributes['original'],
+                    ],
+                ];
+                if ($notes = $this->parseNotesMetadata($translation->note, $encoding)) {
+                    $metadata['notes'] = $notes;
+                }
+
+                if (isset($translation->target) && $translation->target->attributes()) {
+                    $metadata['target-attributes'] = [];
+                    foreach ($translation->target->attributes() as $key => $value) {
+                        $metadata['target-attributes'][$key] = (string) $value;
+                    }
+                }
+
+                if (isset($attributes['id'])) {
+                    $metadata['id'] = (string) $attributes['id'];
+                }
+
+                $catalogue->setMetadata((string) $source, $metadata, $domain);
+            }
+        }
+    }
+
+    private function extractXliff2(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain)
+    {
+        $xml = simplexml_import_dom($dom);
+        $encoding = $dom->encoding ? strtoupper($dom->encoding) : null;
+
+        $xml->registerXPathNamespace('xliff', 'urn:oasis:names:tc:xliff:document:2.0');
+
+        foreach ($xml->xpath('//xliff:unit') as $unit) {
+            foreach ($unit->segment as $segment) {
+                $attributes = $unit->attributes();
+                $source = $attributes['name'] ?? $segment->source;
+
+                // If the xlf file has another encoding specified, try to convert it because
+                // simple_xml will always return utf-8 encoded values
+                $target = $this->utf8ToCharset((string) ($segment->target ?? $segment->source), $encoding);
+
+                $catalogue->set((string) $source, $target, $domain);
+
+                $metadata = [];
+                if (isset($segment->target) && $segment->target->attributes()) {
+                    $metadata['target-attributes'] = [];
+                    foreach ($segment->target->attributes() as $key => $value) {
+                        $metadata['target-attributes'][$key] = (string) $value;
+                    }
+                }
+
+                if (isset($unit->notes)) {
+                    $metadata['notes'] = [];
+                    foreach ($unit->notes->note as $noteNode) {
+                        $note = [];
+                        foreach ($noteNode->attributes() as $key => $value) {
+                            $note[$key] = (string) $value;
+                        }
+                        $note['content'] = (string) $noteNode;
+                        $metadata['notes'][] = $note;
+                    }
+                }
+
+                $catalogue->setMetadata((string) $source, $metadata, $domain);
+            }
+        }
+    }
+
+    /**
+     * Convert a UTF8 string to the specified encoding.
+     */
+    private function utf8ToCharset(string $content, string $encoding = null): string
+    {
+        if ('UTF-8' !== $encoding && !empty($encoding)) {
+            return mb_convert_encoding($content, $encoding, 'UTF-8');
+        }
+
+        return $content;
+    }
+
+    private function parseNotesMetadata(\SimpleXMLElement $noteElement = null, string $encoding = null): array
+    {
+        $notes = [];
+
+        if (null === $noteElement) {
+            return $notes;
+        }
+
+        /** @var \SimpleXMLElement $xmlNote */
+        foreach ($noteElement as $xmlNote) {
+            $noteAttributes = $xmlNote->attributes();
+            $note = ['content' => $this->utf8ToCharset((string) $xmlNote, $encoding)];
+            if (isset($noteAttributes['priority'])) {
+                $note['priority'] = (int) $noteAttributes['priority'];
+            }
+
+            if (isset($noteAttributes['from'])) {
+                $note['from'] = (string) $noteAttributes['from'];
+            }
+
+            $notes[] = $note;
+        }
+
+        return $notes;
+    }
+
+    private function isXmlString(string $resource): bool
+    {
+        return 0 === strpos($resource, '<?xml');
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/YamlFileLoader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/YamlFileLoader.php
new file mode 100644
index 0000000..8588e18
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Loader/YamlFileLoader.php
@@ -0,0 +1,54 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Loader;
+
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+use Symfony\Component\Translation\Exception\LogicException;
+use Symfony\Component\Yaml\Exception\ParseException;
+use Symfony\Component\Yaml\Parser as YamlParser;
+use Symfony\Component\Yaml\Yaml;
+
+/**
+ * YamlFileLoader loads translations from Yaml files.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class YamlFileLoader extends FileLoader
+{
+    private $yamlParser;
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function loadResource(string $resource)
+    {
+        if (null === $this->yamlParser) {
+            if (!class_exists(\Symfony\Component\Yaml\Parser::class)) {
+                throw new LogicException('Loading translations from the YAML format requires the Symfony Yaml component.');
+            }
+
+            $this->yamlParser = new YamlParser();
+        }
+
+        try {
+            $messages = $this->yamlParser->parseFile($resource, Yaml::PARSE_CONSTANT);
+        } catch (ParseException $e) {
+            throw new InvalidResourceException(sprintf('The file "%s" does not contain valid YAML: ', $resource).$e->getMessage(), 0, $e);
+        }
+
+        if (null !== $messages && !\is_array($messages)) {
+            throw new InvalidResourceException(sprintf('Unable to load file "%s".', $resource));
+        }
+
+        return $messages ?: [];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/LoggingTranslator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/LoggingTranslator.php
new file mode 100644
index 0000000..bb93435
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/LoggingTranslator.php
@@ -0,0 +1,135 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Psr\Log\LoggerInterface;
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Contracts\Translation\LocaleAwareInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
+
+/**
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface, LocaleAwareInterface
+{
+    /**
+     * @var TranslatorInterface|TranslatorBagInterface
+     */
+    private $translator;
+
+    private $logger;
+
+    /**
+     * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface
+     */
+    public function __construct(TranslatorInterface $translator, LoggerInterface $logger)
+    {
+        if (!$translator instanceof TranslatorBagInterface || !$translator instanceof LocaleAwareInterface) {
+            throw new InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface, TranslatorBagInterface and LocaleAwareInterface.', get_debug_type($translator)));
+        }
+
+        $this->translator = $translator;
+        $this->logger = $logger;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function trans(?string $id, array $parameters = [], string $domain = null, string $locale = null)
+    {
+        $trans = $this->translator->trans($id = (string) $id, $parameters, $domain, $locale);
+        $this->log($id, $domain, $locale);
+
+        return $trans;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setLocale(string $locale)
+    {
+        $prev = $this->translator->getLocale();
+        $this->translator->setLocale($locale);
+        if ($prev === $locale) {
+            return;
+        }
+
+        $this->logger->debug(sprintf('The locale of the translator has changed from "%s" to "%s".', $prev, $locale));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getLocale()
+    {
+        return $this->translator->getLocale();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogue(string $locale = null)
+    {
+        return $this->translator->getCatalogue($locale);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogues(): array
+    {
+        return $this->translator->getCatalogues();
+    }
+
+    /**
+     * Gets the fallback locales.
+     *
+     * @return array The fallback locales
+     */
+    public function getFallbackLocales()
+    {
+        if ($this->translator instanceof Translator || method_exists($this->translator, 'getFallbackLocales')) {
+            return $this->translator->getFallbackLocales();
+        }
+
+        return [];
+    }
+
+    /**
+     * Passes through all unknown calls onto the translator object.
+     */
+    public function __call(string $method, array $args)
+    {
+        return $this->translator->{$method}(...$args);
+    }
+
+    /**
+     * Logs for missing translations.
+     */
+    private function log(string $id, ?string $domain, ?string $locale)
+    {
+        if (null === $domain) {
+            $domain = 'messages';
+        }
+
+        $catalogue = $this->translator->getCatalogue($locale);
+        if ($catalogue->defines($id, $domain)) {
+            return;
+        }
+
+        if ($catalogue->has($id, $domain)) {
+            $this->logger->debug('Translation use fallback catalogue.', ['id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale()]);
+        } else {
+            $this->logger->warning('Translation not found.', ['id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale()]);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MessageCatalogue.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MessageCatalogue.php
new file mode 100644
index 0000000..ff49b5a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MessageCatalogue.php
@@ -0,0 +1,314 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Component\Config\Resource\ResourceInterface;
+use Symfony\Component\Translation\Exception\LogicException;
+
+/**
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterface
+{
+    private $messages = [];
+    private $metadata = [];
+    private $resources = [];
+    private $locale;
+    private $fallbackCatalogue;
+    private $parent;
+
+    /**
+     * @param array $messages An array of messages classified by domain
+     */
+    public function __construct(string $locale, array $messages = [])
+    {
+        $this->locale = $locale;
+        $this->messages = $messages;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getLocale()
+    {
+        return $this->locale;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getDomains()
+    {
+        $domains = [];
+
+        foreach ($this->messages as $domain => $messages) {
+            if (str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) {
+                $domain = substr($domain, 0, -\strlen(self::INTL_DOMAIN_SUFFIX));
+            }
+            $domains[$domain] = $domain;
+        }
+
+        return array_values($domains);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function all(string $domain = null)
+    {
+        if (null !== $domain) {
+            // skip messages merge if intl-icu requested explicitly
+            if (str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) {
+                return $this->messages[$domain] ?? [];
+            }
+
+            return ($this->messages[$domain.self::INTL_DOMAIN_SUFFIX] ?? []) + ($this->messages[$domain] ?? []);
+        }
+
+        $allMessages = [];
+
+        foreach ($this->messages as $domain => $messages) {
+            if (str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) {
+                $domain = substr($domain, 0, -\strlen(self::INTL_DOMAIN_SUFFIX));
+                $allMessages[$domain] = $messages + ($allMessages[$domain] ?? []);
+            } else {
+                $allMessages[$domain] = ($allMessages[$domain] ?? []) + $messages;
+            }
+        }
+
+        return $allMessages;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function set(string $id, string $translation, string $domain = 'messages')
+    {
+        $this->add([$id => $translation], $domain);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function has(string $id, string $domain = 'messages')
+    {
+        if (isset($this->messages[$domain][$id]) || isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id])) {
+            return true;
+        }
+
+        if (null !== $this->fallbackCatalogue) {
+            return $this->fallbackCatalogue->has($id, $domain);
+        }
+
+        return false;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function defines(string $id, string $domain = 'messages')
+    {
+        return isset($this->messages[$domain][$id]) || isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id]);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function get(string $id, string $domain = 'messages')
+    {
+        if (isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id])) {
+            return $this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id];
+        }
+
+        if (isset($this->messages[$domain][$id])) {
+            return $this->messages[$domain][$id];
+        }
+
+        if (null !== $this->fallbackCatalogue) {
+            return $this->fallbackCatalogue->get($id, $domain);
+        }
+
+        return $id;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function replace(array $messages, string $domain = 'messages')
+    {
+        unset($this->messages[$domain], $this->messages[$domain.self::INTL_DOMAIN_SUFFIX]);
+
+        $this->add($messages, $domain);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function add(array $messages, string $domain = 'messages')
+    {
+        if (!isset($this->messages[$domain])) {
+            $this->messages[$domain] = [];
+        }
+        $intlDomain = $domain;
+        if (!str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) {
+            $intlDomain .= self::INTL_DOMAIN_SUFFIX;
+        }
+        foreach ($messages as $id => $message) {
+            if (isset($this->messages[$intlDomain]) && \array_key_exists($id, $this->messages[$intlDomain])) {
+                $this->messages[$intlDomain][$id] = $message;
+            } else {
+                $this->messages[$domain][$id] = $message;
+            }
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function addCatalogue(MessageCatalogueInterface $catalogue)
+    {
+        if ($catalogue->getLocale() !== $this->locale) {
+            throw new LogicException(sprintf('Cannot add a catalogue for locale "%s" as the current locale for this catalogue is "%s".', $catalogue->getLocale(), $this->locale));
+        }
+
+        foreach ($catalogue->all() as $domain => $messages) {
+            if ($intlMessages = $catalogue->all($domain.self::INTL_DOMAIN_SUFFIX)) {
+                $this->add($intlMessages, $domain.self::INTL_DOMAIN_SUFFIX);
+                $messages = array_diff_key($messages, $intlMessages);
+            }
+            $this->add($messages, $domain);
+        }
+
+        foreach ($catalogue->getResources() as $resource) {
+            $this->addResource($resource);
+        }
+
+        if ($catalogue instanceof MetadataAwareInterface) {
+            $metadata = $catalogue->getMetadata('', '');
+            $this->addMetadata($metadata);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function addFallbackCatalogue(MessageCatalogueInterface $catalogue)
+    {
+        // detect circular references
+        $c = $catalogue;
+        while ($c = $c->getFallbackCatalogue()) {
+            if ($c->getLocale() === $this->getLocale()) {
+                throw new LogicException(sprintf('Circular reference detected when adding a fallback catalogue for locale "%s".', $catalogue->getLocale()));
+            }
+        }
+
+        $c = $this;
+        do {
+            if ($c->getLocale() === $catalogue->getLocale()) {
+                throw new LogicException(sprintf('Circular reference detected when adding a fallback catalogue for locale "%s".', $catalogue->getLocale()));
+            }
+
+            foreach ($catalogue->getResources() as $resource) {
+                $c->addResource($resource);
+            }
+        } while ($c = $c->parent);
+
+        $catalogue->parent = $this;
+        $this->fallbackCatalogue = $catalogue;
+
+        foreach ($catalogue->getResources() as $resource) {
+            $this->addResource($resource);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getFallbackCatalogue()
+    {
+        return $this->fallbackCatalogue;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getResources()
+    {
+        return array_values($this->resources);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function addResource(ResourceInterface $resource)
+    {
+        $this->resources[$resource->__toString()] = $resource;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getMetadata(string $key = '', string $domain = 'messages')
+    {
+        if ('' == $domain) {
+            return $this->metadata;
+        }
+
+        if (isset($this->metadata[$domain])) {
+            if ('' == $key) {
+                return $this->metadata[$domain];
+            }
+
+            if (isset($this->metadata[$domain][$key])) {
+                return $this->metadata[$domain][$key];
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setMetadata(string $key, $value, string $domain = 'messages')
+    {
+        $this->metadata[$domain][$key] = $value;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function deleteMetadata(string $key = '', string $domain = 'messages')
+    {
+        if ('' == $domain) {
+            $this->metadata = [];
+        } elseif ('' == $key) {
+            unset($this->metadata[$domain]);
+        } else {
+            unset($this->metadata[$domain][$key]);
+        }
+    }
+
+    /**
+     * Adds current values with the new values.
+     *
+     * @param array $values Values to add
+     */
+    private function addMetadata(array $values)
+    {
+        foreach ($values as $domain => $keys) {
+            foreach ($keys as $key => $value) {
+                $this->setMetadata($key, $value, $domain);
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MessageCatalogueInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MessageCatalogueInterface.php
new file mode 100644
index 0000000..5d83bd8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MessageCatalogueInterface.php
@@ -0,0 +1,138 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Component\Config\Resource\ResourceInterface;
+
+/**
+ * MessageCatalogueInterface.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+interface MessageCatalogueInterface
+{
+    public const INTL_DOMAIN_SUFFIX = '+intl-icu';
+
+    /**
+     * Gets the catalogue locale.
+     *
+     * @return string The locale
+     */
+    public function getLocale();
+
+    /**
+     * Gets the domains.
+     *
+     * @return array An array of domains
+     */
+    public function getDomains();
+
+    /**
+     * Gets the messages within a given domain.
+     *
+     * If $domain is null, it returns all messages.
+     *
+     * @param string $domain The domain name
+     *
+     * @return array An array of messages
+     */
+    public function all(string $domain = null);
+
+    /**
+     * Sets a message translation.
+     *
+     * @param string $id          The message id
+     * @param string $translation The messages translation
+     * @param string $domain      The domain name
+     */
+    public function set(string $id, string $translation, string $domain = 'messages');
+
+    /**
+     * Checks if a message has a translation.
+     *
+     * @param string $id     The message id
+     * @param string $domain The domain name
+     *
+     * @return bool true if the message has a translation, false otherwise
+     */
+    public function has(string $id, string $domain = 'messages');
+
+    /**
+     * Checks if a message has a translation (it does not take into account the fallback mechanism).
+     *
+     * @param string $id     The message id
+     * @param string $domain The domain name
+     *
+     * @return bool true if the message has a translation, false otherwise
+     */
+    public function defines(string $id, string $domain = 'messages');
+
+    /**
+     * Gets a message translation.
+     *
+     * @param string $id     The message id
+     * @param string $domain The domain name
+     *
+     * @return string The message translation
+     */
+    public function get(string $id, string $domain = 'messages');
+
+    /**
+     * Sets translations for a given domain.
+     *
+     * @param array  $messages An array of translations
+     * @param string $domain   The domain name
+     */
+    public function replace(array $messages, string $domain = 'messages');
+
+    /**
+     * Adds translations for a given domain.
+     *
+     * @param array  $messages An array of translations
+     * @param string $domain   The domain name
+     */
+    public function add(array $messages, string $domain = 'messages');
+
+    /**
+     * Merges translations from the given Catalogue into the current one.
+     *
+     * The two catalogues must have the same locale.
+     */
+    public function addCatalogue(self $catalogue);
+
+    /**
+     * Merges translations from the given Catalogue into the current one
+     * only when the translation does not exist.
+     *
+     * This is used to provide default translations when they do not exist for the current locale.
+     */
+    public function addFallbackCatalogue(self $catalogue);
+
+    /**
+     * Gets the fallback catalogue.
+     *
+     * @return self|null A MessageCatalogueInterface instance or null when no fallback has been set
+     */
+    public function getFallbackCatalogue();
+
+    /**
+     * Returns an array of resources loaded to build this collection.
+     *
+     * @return ResourceInterface[] An array of resources
+     */
+    public function getResources();
+
+    /**
+     * Adds a resource for this collection.
+     */
+    public function addResource(ResourceInterface $resource);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MetadataAwareInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MetadataAwareInterface.php
new file mode 100644
index 0000000..2216eed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/MetadataAwareInterface.php
@@ -0,0 +1,46 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+/**
+ * MetadataAwareInterface.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+interface MetadataAwareInterface
+{
+    /**
+     * Gets metadata for the given domain and key.
+     *
+     * Passing an empty domain will return an array with all metadata indexed by
+     * domain and then by key. Passing an empty key will return an array with all
+     * metadata for the given domain.
+     *
+     * @return mixed The value that was set or an array with the domains/keys or null
+     */
+    public function getMetadata(string $key = '', string $domain = 'messages');
+
+    /**
+     * Adds metadata to a message domain.
+     *
+     * @param mixed $value
+     */
+    public function setMetadata(string $key, $value, string $domain = 'messages');
+
+    /**
+     * Deletes metadata for the given key and domain.
+     *
+     * Passing an empty domain will delete all metadata. Passing an empty key will
+     * delete all metadata for the given domain.
+     */
+    public function deleteMetadata(string $key = '', string $domain = 'messages');
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/AbstractProviderFactory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/AbstractProviderFactory.php
new file mode 100644
index 0000000..17442fd
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/AbstractProviderFactory.php
@@ -0,0 +1,45 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\Exception\IncompleteDsnException;
+
+abstract class AbstractProviderFactory implements ProviderFactoryInterface
+{
+    public function supports(Dsn $dsn): bool
+    {
+        return \in_array($dsn->getScheme(), $this->getSupportedSchemes(), true);
+    }
+
+    /**
+     * @return string[]
+     */
+    abstract protected function getSupportedSchemes(): array;
+
+    protected function getUser(Dsn $dsn): string
+    {
+        if (null === $user = $dsn->getUser()) {
+            throw new IncompleteDsnException('User is not set.', $dsn->getOriginalDsn());
+        }
+
+        return $user;
+    }
+
+    protected function getPassword(Dsn $dsn): string
+    {
+        if (null === $password = $dsn->getPassword()) {
+            throw new IncompleteDsnException('Password is not set.', $dsn->getOriginalDsn());
+        }
+
+        return $password;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/Dsn.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/Dsn.php
new file mode 100644
index 0000000..820cabf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/Dsn.php
@@ -0,0 +1,110 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Exception\MissingRequiredOptionException;
+
+/**
+ * @author Fabien Potencier <fabien@symfony.com>
+ * @author Oskar Stark <oskarstark@googlemail.com>
+ */
+final class Dsn
+{
+    private $scheme;
+    private $host;
+    private $user;
+    private $password;
+    private $port;
+    private $path;
+    private $options;
+    private $originalDsn;
+
+    public function __construct(string $dsn)
+    {
+        $this->originalDsn = $dsn;
+
+        if (false === $parsedDsn = parse_url($dsn)) {
+            throw new InvalidArgumentException(sprintf('The "%s" translation provider DSN is invalid.', $dsn));
+        }
+
+        if (!isset($parsedDsn['scheme'])) {
+            throw new InvalidArgumentException(sprintf('The "%s" translation provider DSN must contain a scheme.', $dsn));
+        }
+        $this->scheme = $parsedDsn['scheme'];
+
+        if (!isset($parsedDsn['host'])) {
+            throw new InvalidArgumentException(sprintf('The "%s" translation provider DSN must contain a host (use "default" by default).', $dsn));
+        }
+        $this->host = $parsedDsn['host'];
+
+        $this->user = '' !== ($parsedDsn['user'] ?? '') ? urldecode($parsedDsn['user']) : null;
+        $this->password = '' !== ($parsedDsn['pass'] ?? '') ? urldecode($parsedDsn['pass']) : null;
+        $this->port = $parsedDsn['port'] ?? null;
+        $this->path = $parsedDsn['path'] ?? null;
+        parse_str($parsedDsn['query'] ?? '', $this->options);
+    }
+
+    public function getScheme(): string
+    {
+        return $this->scheme;
+    }
+
+    public function getHost(): string
+    {
+        return $this->host;
+    }
+
+    public function getUser(): ?string
+    {
+        return $this->user;
+    }
+
+    public function getPassword(): ?string
+    {
+        return $this->password;
+    }
+
+    public function getPort(int $default = null): ?int
+    {
+        return $this->port ?? $default;
+    }
+
+    public function getOption(string $key, $default = null)
+    {
+        return $this->options[$key] ?? $default;
+    }
+
+    public function getRequiredOption(string $key)
+    {
+        if (!\array_key_exists($key, $this->options) || '' === trim($this->options[$key])) {
+            throw new MissingRequiredOptionException($key);
+        }
+
+        return $this->options[$key];
+    }
+
+    public function getOptions(): array
+    {
+        return $this->options;
+    }
+
+    public function getPath(): ?string
+    {
+        return $this->path;
+    }
+
+    public function getOriginalDsn(): string
+    {
+        return $this->originalDsn;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/FilteringProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/FilteringProvider.php
new file mode 100644
index 0000000..0307cda
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/FilteringProvider.php
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\TranslatorBag;
+use Symfony\Component\Translation\TranslatorBagInterface;
+
+/**
+ * Filters domains and locales between the Translator config values and those specific to each provider.
+ *
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @experimental in 5.3
+ */
+class FilteringProvider implements ProviderInterface
+{
+    private $provider;
+    private $locales;
+    private $domains;
+
+    public function __construct(ProviderInterface $provider, array $locales, array $domains = [])
+    {
+        $this->provider = $provider;
+        $this->locales = $locales;
+        $this->domains = $domains;
+    }
+
+    public function __toString(): string
+    {
+        return (string) $this->provider;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function write(TranslatorBagInterface $translatorBag): void
+    {
+        $this->provider->write($translatorBag);
+    }
+
+    public function read(array $domains, array $locales): TranslatorBag
+    {
+        $domains = !$this->domains ? $domains : array_intersect($this->domains, $domains);
+        $locales = array_intersect($this->locales, $locales);
+
+        return $this->provider->read($domains, $locales);
+    }
+
+    public function delete(TranslatorBagInterface $translatorBag): void
+    {
+        $this->provider->delete($translatorBag);
+    }
+
+    public function getDomains(): array
+    {
+        return $this->domains;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/NullProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/NullProvider.php
new file mode 100644
index 0000000..785fcaa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/NullProvider.php
@@ -0,0 +1,41 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\TranslatorBag;
+use Symfony\Component\Translation\TranslatorBagInterface;
+
+/**
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @experimental in 5.3
+ */
+class NullProvider implements ProviderInterface
+{
+    public function __toString(): string
+    {
+        return 'null';
+    }
+
+    public function write(TranslatorBagInterface $translatorBag, bool $override = false): void
+    {
+    }
+
+    public function read(array $domains, array $locales): TranslatorBag
+    {
+        return new TranslatorBag();
+    }
+
+    public function delete(TranslatorBagInterface $translatorBag): void
+    {
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/NullProviderFactory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/NullProviderFactory.php
new file mode 100644
index 0000000..6ddbd85
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/NullProviderFactory.php
@@ -0,0 +1,36 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\Exception\UnsupportedSchemeException;
+
+/**
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @experimental in 5.3
+ */
+final class NullProviderFactory extends AbstractProviderFactory
+{
+    public function create(Dsn $dsn): ProviderInterface
+    {
+        if ('null' === $dsn->getScheme()) {
+            return new NullProvider();
+        }
+
+        throw new UnsupportedSchemeException($dsn, 'null', $this->getSupportedSchemes());
+    }
+
+    protected function getSupportedSchemes(): array
+    {
+        return ['null'];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/ProviderFactoryInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/ProviderFactoryInterface.php
new file mode 100644
index 0000000..3fd4494
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/ProviderFactoryInterface.php
@@ -0,0 +1,26 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\Exception\IncompleteDsnException;
+use Symfony\Component\Translation\Exception\UnsupportedSchemeException;
+
+interface ProviderFactoryInterface
+{
+    /**
+     * @throws UnsupportedSchemeException
+     * @throws IncompleteDsnException
+     */
+    public function create(Dsn $dsn): ProviderInterface;
+
+    public function supports(Dsn $dsn): bool;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/ProviderInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/ProviderInterface.php
new file mode 100644
index 0000000..a32193f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/ProviderInterface.php
@@ -0,0 +1,32 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\TranslatorBag;
+use Symfony\Component\Translation\TranslatorBagInterface;
+
+interface ProviderInterface
+{
+    public function __toString(): string;
+
+    /**
+     * Translations available in the TranslatorBag only must be created.
+     * Translations available in both the TranslatorBag and on the provider
+     * must be overwritten.
+     * Translations available on the provider only must be kept.
+     */
+    public function write(TranslatorBagInterface $translatorBag): void;
+
+    public function read(array $domains, array $locales): TranslatorBag;
+
+    public function delete(TranslatorBagInterface $translatorBag): void;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/TranslationProviderCollection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/TranslationProviderCollection.php
new file mode 100644
index 0000000..9963cb9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/TranslationProviderCollection.php
@@ -0,0 +1,59 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+
+/**
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @experimental in 5.3
+ */
+final class TranslationProviderCollection
+{
+    private $providers;
+
+    /**
+     * @param array<string, ProviderInterface> $providers
+     */
+    public function __construct(iterable $providers)
+    {
+        $this->providers = [];
+        foreach ($providers as $name => $provider) {
+            $this->providers[$name] = $provider;
+        }
+    }
+
+    public function __toString(): string
+    {
+        return '['.implode(',', array_keys($this->providers)).']';
+    }
+
+    public function has(string $name): bool
+    {
+        return isset($this->providers[$name]);
+    }
+
+    public function get(string $name): ProviderInterface
+    {
+        if (!$this->has($name)) {
+            throw new InvalidArgumentException(sprintf('Provider "%s" not found. Available: "%s".', $name, (string) $this));
+        }
+
+        return $this->providers[$name];
+    }
+
+    public function keys(): array
+    {
+        return array_keys($this->providers);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/TranslationProviderCollectionFactory.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/TranslationProviderCollectionFactory.php
new file mode 100644
index 0000000..43f4a34
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Provider/TranslationProviderCollectionFactory.php
@@ -0,0 +1,59 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Provider;
+
+use Symfony\Component\Translation\Exception\UnsupportedSchemeException;
+
+/**
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @experimental in 5.3
+ */
+class TranslationProviderCollectionFactory
+{
+    private $factories;
+    private $enabledLocales;
+
+    /**
+     * @param ProviderFactoryInterface[] $factories
+     */
+    public function __construct(iterable $factories, array $enabledLocales)
+    {
+        $this->factories = $factories;
+        $this->enabledLocales = $enabledLocales;
+    }
+
+    public function fromConfig(array $config): TranslationProviderCollection
+    {
+        $providers = [];
+        foreach ($config as $name => $currentConfig) {
+            $providers[$name] = $this->fromDsnObject(
+                new Dsn($currentConfig['dsn']),
+                !$currentConfig['locales'] ? $this->enabledLocales : $currentConfig['locales'],
+                !$currentConfig['domains'] ? [] : $currentConfig['domains']
+            );
+        }
+
+        return new TranslationProviderCollection($providers);
+    }
+
+    public function fromDsnObject(Dsn $dsn, array $locales, array $domains = []): ProviderInterface
+    {
+        foreach ($this->factories as $factory) {
+            if ($factory->supports($dsn)) {
+                return new FilteringProvider($factory->create($dsn), $locales, $domains);
+            }
+        }
+
+        throw new UnsupportedSchemeException($dsn);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/PseudoLocalizationTranslator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/PseudoLocalizationTranslator.php
new file mode 100644
index 0000000..49f122e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/PseudoLocalizationTranslator.php
@@ -0,0 +1,364 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Contracts\Translation\TranslatorInterface;
+
+/**
+ * This translator should only be used in a development environment.
+ */
+final class PseudoLocalizationTranslator implements TranslatorInterface
+{
+    private const EXPANSION_CHARACTER = '~';
+
+    private $translator;
+    private $accents;
+    private $expansionFactor;
+    private $brackets;
+    private $parseHTML;
+    private $localizableHTMLAttributes;
+
+    /**
+     * Available options:
+     *  * accents:
+     *      type: boolean
+     *      default: true
+     *      description: replace ASCII characters of the translated string with accented versions or similar characters
+     *      example: if true, "foo" => "ƒöö".
+     *
+     *  * expansion_factor:
+     *      type: float
+     *      default: 1
+     *      validation: it must be greater than or equal to 1
+     *      description: expand the translated string by the given factor with spaces and tildes
+     *      example: if 2, "foo" => "~foo ~"
+     *
+     *  * brackets:
+     *      type: boolean
+     *      default: true
+     *      description: wrap the translated string with brackets
+     *      example: if true, "foo" => "[foo]"
+     *
+     *  * parse_html:
+     *      type: boolean
+     *      default: false
+     *      description: parse the translated string as HTML - looking for HTML tags has a performance impact but allows to preserve them from alterations - it also allows to compute the visible translated string length which is useful to correctly expand ot when it contains HTML
+     *      warning: unclosed tags are unsupported, they will be fixed (closed) by the parser - eg, "foo <div>bar" => "foo <div>bar</div>"
+     *
+     *  * localizable_html_attributes:
+     *      type: string[]
+     *      default: []
+     *      description: the list of HTML attributes whose values can be altered - it is only useful when the "parse_html" option is set to true
+     *      example: if ["title"], and with the "accents" option set to true, "<a href="#" title="Go to your profile">Profile</a>" => "<a href="#" title="Ĝö ţö ýöûŕ þŕöƒîļé">Þŕöƒîļé</a>" - if "title" was not in the "localizable_html_attributes" list, the title attribute data would be left unchanged.
+     */
+    public function __construct(TranslatorInterface $translator, array $options = [])
+    {
+        $this->translator = $translator;
+        $this->accents = $options['accents'] ?? true;
+
+        if (1.0 > ($this->expansionFactor = $options['expansion_factor'] ?? 1.0)) {
+            throw new \InvalidArgumentException('The expansion factor must be greater than or equal to 1.');
+        }
+
+        $this->brackets = $options['brackets'] ?? true;
+
+        $this->parseHTML = $options['parse_html'] ?? false;
+        if ($this->parseHTML && !$this->accents && 1.0 === $this->expansionFactor) {
+            $this->parseHTML = false;
+        }
+
+        $this->localizableHTMLAttributes = $options['localizable_html_attributes'] ?? [];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function trans(string $id, array $parameters = [], string $domain = null, string $locale = null)
+    {
+        $trans = '';
+        $visibleText = '';
+
+        foreach ($this->getParts($this->translator->trans($id, $parameters, $domain, $locale)) as [$visible, $localizable, $text]) {
+            if ($visible) {
+                $visibleText .= $text;
+            }
+
+            if (!$localizable) {
+                $trans .= $text;
+
+                continue;
+            }
+
+            $this->addAccents($trans, $text);
+        }
+
+        $this->expand($trans, $visibleText);
+
+        $this->addBrackets($trans);
+
+        return $trans;
+    }
+
+    public function getLocale(): string
+    {
+        return $this->translator->getLocale();
+    }
+
+    private function getParts(string $originalTrans): array
+    {
+        if (!$this->parseHTML) {
+            return [[true, true, $originalTrans]];
+        }
+
+        $html = mb_convert_encoding($originalTrans, 'HTML-ENTITIES', mb_detect_encoding($originalTrans, null, true) ?: 'UTF-8');
+
+        $useInternalErrors = libxml_use_internal_errors(true);
+
+        $dom = new \DOMDocument();
+        $dom->loadHTML('<trans>'.$html.'</trans>');
+
+        libxml_clear_errors();
+        libxml_use_internal_errors($useInternalErrors);
+
+        return $this->parseNode($dom->childNodes->item(1)->childNodes->item(0)->childNodes->item(0));
+    }
+
+    private function parseNode(\DOMNode $node): array
+    {
+        $parts = [];
+
+        foreach ($node->childNodes as $childNode) {
+            if (!$childNode instanceof \DOMElement) {
+                $parts[] = [true, true, $childNode->nodeValue];
+
+                continue;
+            }
+
+            $parts[] = [false, false, '<'.$childNode->tagName];
+
+            /** @var \DOMAttr $attribute */
+            foreach ($childNode->attributes as $attribute) {
+                $parts[] = [false, false, ' '.$attribute->nodeName.'="'];
+
+                $localizableAttribute = \in_array($attribute->nodeName, $this->localizableHTMLAttributes, true);
+                foreach (preg_split('/(&(?:amp|quot|#039|lt|gt);+)/', htmlspecialchars($attribute->nodeValue, \ENT_QUOTES, 'UTF-8'), -1, \PREG_SPLIT_DELIM_CAPTURE) as $i => $match) {
+                    if ('' === $match) {
+                        continue;
+                    }
+
+                    $parts[] = [false, $localizableAttribute && 0 === $i % 2, $match];
+                }
+
+                $parts[] = [false, false, '"'];
+            }
+
+            $parts[] = [false, false, '>'];
+
+            $parts = array_merge($parts, $this->parseNode($childNode, $parts));
+
+            $parts[] = [false, false, '</'.$childNode->tagName.'>'];
+        }
+
+        return $parts;
+    }
+
+    private function addAccents(string &$trans, string $text): void
+    {
+        $trans .= $this->accents ? strtr($text, [
+            ' ' => ' ',
+            '!' => '¡',
+            '"' => '″',
+            '#' => '♯',
+            '$' => '€',
+            '%' => '‰',
+            '&' => '⅋',
+            '\'' => '´',
+            '(' => '{',
+            ')' => '}',
+            '*' => '⁎',
+            '+' => '⁺',
+            ',' => '،',
+            '-' => '‐',
+            '.' => '·',
+            '/' => '⁄',
+            '0' => '⓪',
+            '1' => '①',
+            '2' => '②',
+            '3' => '③',
+            '4' => '④',
+            '5' => '⑤',
+            '6' => '⑥',
+            '7' => '⑦',
+            '8' => '⑧',
+            '9' => '⑨',
+            ':' => '∶',
+            ';' => '⁏',
+            '<' => '≤',
+            '=' => '≂',
+            '>' => '≥',
+            '?' => '¿',
+            '@' => '՞',
+            'A' => 'Å',
+            'B' => 'Ɓ',
+            'C' => 'Ç',
+            'D' => 'Ð',
+            'E' => 'É',
+            'F' => 'Ƒ',
+            'G' => 'Ĝ',
+            'H' => 'Ĥ',
+            'I' => 'Î',
+            'J' => 'Ĵ',
+            'K' => 'Ķ',
+            'L' => 'Ļ',
+            'M' => 'Ṁ',
+            'N' => 'Ñ',
+            'O' => 'Ö',
+            'P' => 'Þ',
+            'Q' => 'Ǫ',
+            'R' => 'Ŕ',
+            'S' => 'Š',
+            'T' => 'Ţ',
+            'U' => 'Û',
+            'V' => 'Ṽ',
+            'W' => 'Ŵ',
+            'X' => 'Ẋ',
+            'Y' => 'Ý',
+            'Z' => 'Ž',
+            '[' => '⁅',
+            '\\' => '∖',
+            ']' => '⁆',
+            '^' => '˄',
+            '_' => '‿',
+            '`' => '‵',
+            'a' => 'å',
+            'b' => 'ƀ',
+            'c' => 'ç',
+            'd' => 'ð',
+            'e' => 'é',
+            'f' => 'ƒ',
+            'g' => 'ĝ',
+            'h' => 'ĥ',
+            'i' => 'î',
+            'j' => 'ĵ',
+            'k' => 'ķ',
+            'l' => 'ļ',
+            'm' => 'ɱ',
+            'n' => 'ñ',
+            'o' => 'ö',
+            'p' => 'þ',
+            'q' => 'ǫ',
+            'r' => 'ŕ',
+            's' => 'š',
+            't' => 'ţ',
+            'u' => 'û',
+            'v' => 'ṽ',
+            'w' => 'ŵ',
+            'x' => 'ẋ',
+            'y' => 'ý',
+            'z' => 'ž',
+            '{' => '(',
+            '|' => '¦',
+            '}' => ')',
+            '~' => '˞',
+        ]) : $text;
+    }
+
+    private function expand(string &$trans, string $visibleText): void
+    {
+        if (1.0 >= $this->expansionFactor) {
+            return;
+        }
+
+        $visibleLength = $this->strlen($visibleText);
+        $missingLength = (int) (ceil($visibleLength * $this->expansionFactor)) - $visibleLength;
+        if ($this->brackets) {
+            $missingLength -= 2;
+        }
+
+        if (0 >= $missingLength) {
+            return;
+        }
+
+        $words = [];
+        $wordsCount = 0;
+        foreach (preg_split('/ +/', $visibleText, -1, \PREG_SPLIT_NO_EMPTY) as $word) {
+            $wordLength = $this->strlen($word);
+
+            if ($wordLength >= $missingLength) {
+                continue;
+            }
+
+            if (!isset($words[$wordLength])) {
+                $words[$wordLength] = 0;
+            }
+
+            ++$words[$wordLength];
+            ++$wordsCount;
+        }
+
+        if (!$words) {
+            $trans .= 1 === $missingLength ? self::EXPANSION_CHARACTER : ' '.str_repeat(self::EXPANSION_CHARACTER, $missingLength - 1);
+
+            return;
+        }
+
+        arsort($words, \SORT_NUMERIC);
+
+        $longestWordLength = max(array_keys($words));
+
+        while (true) {
+            $r = mt_rand(1, $wordsCount);
+
+            foreach ($words as $length => $count) {
+                $r -= $count;
+                if ($r <= 0) {
+                    break;
+                }
+            }
+
+            $trans .= ' '.str_repeat(self::EXPANSION_CHARACTER, $length);
+
+            $missingLength -= $length + 1;
+
+            if (0 === $missingLength) {
+                return;
+            }
+
+            while ($longestWordLength >= $missingLength) {
+                $wordsCount -= $words[$longestWordLength];
+                unset($words[$longestWordLength]);
+
+                if (!$words) {
+                    $trans .= 1 === $missingLength ? self::EXPANSION_CHARACTER : ' '.str_repeat(self::EXPANSION_CHARACTER, $missingLength - 1);
+
+                    return;
+                }
+
+                $longestWordLength = max(array_keys($words));
+            }
+        }
+    }
+
+    private function addBrackets(string &$trans): void
+    {
+        if (!$this->brackets) {
+            return;
+        }
+
+        $trans = '['.$trans.']';
+    }
+
+    private function strlen(string $s): int
+    {
+        return false === ($encoding = mb_detect_encoding($s, null, true)) ? \strlen($s) : mb_strlen($s, $encoding);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/README.md
new file mode 100644
index 0000000..720bee3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/README.md
@@ -0,0 +1,33 @@
+Translation Component
+=====================
+
+The Translation component provides tools to internationalize your application.
+
+Getting Started
+---------------
+
+```
+$ composer require symfony/translation
+```
+
+```php
+use Symfony\Component\Translation\Translator;
+use Symfony\Component\Translation\Loader\ArrayLoader;
+
+$translator = new Translator('fr_FR');
+$translator->addLoader('array', new ArrayLoader());
+$translator->addResource('array', [
+    'Hello World!' => 'Bonjour !',
+], 'fr_FR');
+
+echo $translator->trans('Hello World!'); // outputs « Bonjour ! »
+```
+
+Resources
+---------
+
+ * [Documentation](https://symfony.com/doc/current/translation.html)
+ * [Contributing](https://symfony.com/doc/current/contributing/index.html)
+ * [Report issues](https://github.com/symfony/symfony/issues) and
+   [send Pull Requests](https://github.com/symfony/symfony/pulls)
+   in the [main Symfony repository](https://github.com/symfony/symfony)
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Reader/TranslationReader.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Reader/TranslationReader.php
new file mode 100644
index 0000000..9e51b15
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Reader/TranslationReader.php
@@ -0,0 +1,62 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Reader;
+
+use Symfony\Component\Finder\Finder;
+use Symfony\Component\Translation\Loader\LoaderInterface;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * TranslationReader reads translation messages from translation files.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+class TranslationReader implements TranslationReaderInterface
+{
+    /**
+     * Loaders used for import.
+     *
+     * @var array
+     */
+    private $loaders = [];
+
+    /**
+     * Adds a loader to the translation extractor.
+     *
+     * @param string $format The format of the loader
+     */
+    public function addLoader(string $format, LoaderInterface $loader)
+    {
+        $this->loaders[$format] = $loader;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function read(string $directory, MessageCatalogue $catalogue)
+    {
+        if (!is_dir($directory)) {
+            return;
+        }
+
+        foreach ($this->loaders as $format => $loader) {
+            // load any existing translation files
+            $finder = new Finder();
+            $extension = $catalogue->getLocale().'.'.$format;
+            $files = $finder->files()->name('*.'.$extension)->in($directory);
+            foreach ($files as $file) {
+                $domain = substr($file->getFilename(), 0, -1 * \strlen($extension) - 1);
+                $catalogue->addCatalogue($loader->load($file->getPathname(), $catalogue->getLocale(), $domain));
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Reader/TranslationReaderInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Reader/TranslationReaderInterface.php
new file mode 100644
index 0000000..bc37204
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Reader/TranslationReaderInterface.php
@@ -0,0 +1,27 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Reader;
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * TranslationReader reads translation messages from translation files.
+ *
+ * @author Tobias Nyholm <tobias.nyholm@gmail.com>
+ */
+interface TranslationReaderInterface
+{
+    /**
+     * Reads translation messages from a directory to the catalogue.
+     */
+    public function read(string $directory, MessageCatalogue $catalogue);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/bin/translation-status.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/bin/translation-status.php
new file mode 100644
index 0000000..4e0723b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/bin/translation-status.php
@@ -0,0 +1,207 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+$usageInstructions = <<<END
+
+  Usage instructions
+  -------------------------------------------------------------------------------
+
+  $ cd symfony-code-root-directory/
+
+  # show the translation status of all locales
+  $ php translation-status.php
+
+  # show the translation status of all locales and all their missing translations
+  $ php translation-status.php -v
+
+  # show the status of a single locale
+  $ php translation-status.php fr
+
+  # show the status of a single locale and all its missing translations
+  $ php translation-status.php fr -v
+
+END;
+
+$config = [
+    // if TRUE, the full list of missing translations is displayed
+    'verbose_output' => false,
+    // NULL = analyze all locales
+    'locale_to_analyze' => null,
+    // the reference files all the other translations are compared to
+    'original_files' => [
+        'src/Symfony/Component/Form/Resources/translations/validators.en.xlf',
+        'src/Symfony/Component/Security/Core/Resources/translations/security.en.xlf',
+        'src/Symfony/Component/Validator/Resources/translations/validators.en.xlf',
+    ],
+];
+
+$argc = $_SERVER['argc'];
+$argv = $_SERVER['argv'];
+
+if ($argc > 3) {
+    echo str_replace('translation-status.php', $argv[0], $usageInstructions);
+    exit(1);
+}
+
+foreach (array_slice($argv, 1) as $argumentOrOption) {
+    if (str_starts_with($argumentOrOption, '-')) {
+        $config['verbose_output'] = true;
+    } else {
+        $config['locale_to_analyze'] = $argumentOrOption;
+    }
+}
+
+foreach ($config['original_files'] as $originalFilePath) {
+    if (!file_exists($originalFilePath)) {
+        echo sprintf('The following file does not exist. Make sure that you execute this command at the root dir of the Symfony code repository.%s  %s', \PHP_EOL, $originalFilePath);
+        exit(1);
+    }
+}
+
+$totalMissingTranslations = 0;
+
+foreach ($config['original_files'] as $originalFilePath) {
+    $translationFilePaths = findTranslationFiles($originalFilePath, $config['locale_to_analyze']);
+    $translationStatus = calculateTranslationStatus($originalFilePath, $translationFilePaths);
+
+    $totalMissingTranslations += array_sum(array_map(function ($translation) {
+        return count($translation['missingKeys']);
+    }, array_values($translationStatus)));
+
+    printTranslationStatus($originalFilePath, $translationStatus, $config['verbose_output']);
+}
+
+exit($totalMissingTranslations > 0 ? 1 : 0);
+
+function findTranslationFiles($originalFilePath, $localeToAnalyze)
+{
+    $translations = [];
+
+    $translationsDir = dirname($originalFilePath);
+    $originalFileName = basename($originalFilePath);
+    $translationFileNamePattern = str_replace('.en.', '.*.', $originalFileName);
+
+    $translationFiles = glob($translationsDir.'/'.$translationFileNamePattern, \GLOB_NOSORT);
+    sort($translationFiles);
+    foreach ($translationFiles as $filePath) {
+        $locale = extractLocaleFromFilePath($filePath);
+
+        if (null !== $localeToAnalyze && $locale !== $localeToAnalyze) {
+            continue;
+        }
+
+        $translations[$locale] = $filePath;
+    }
+
+    return $translations;
+}
+
+function calculateTranslationStatus($originalFilePath, $translationFilePaths)
+{
+    $translationStatus = [];
+    $allTranslationKeys = extractTranslationKeys($originalFilePath);
+
+    foreach ($translationFilePaths as $locale => $translationPath) {
+        $translatedKeys = extractTranslationKeys($translationPath);
+        $missingKeys = array_diff_key($allTranslationKeys, $translatedKeys);
+
+        $translationStatus[$locale] = [
+            'total' => count($allTranslationKeys),
+            'translated' => count($translatedKeys),
+            'missingKeys' => $missingKeys,
+        ];
+    }
+
+    return $translationStatus;
+}
+
+function printTranslationStatus($originalFilePath, $translationStatus, $verboseOutput)
+{
+    printTitle($originalFilePath);
+    printTable($translationStatus, $verboseOutput);
+    echo \PHP_EOL.\PHP_EOL;
+}
+
+function extractLocaleFromFilePath($filePath)
+{
+    $parts = explode('.', $filePath);
+
+    return $parts[count($parts) - 2];
+}
+
+function extractTranslationKeys($filePath)
+{
+    $translationKeys = [];
+    $contents = new \SimpleXMLElement(file_get_contents($filePath));
+
+    foreach ($contents->file->body->{'trans-unit'} as $translationKey) {
+        $translationId = (string) $translationKey['id'];
+        $translationKey = (string) $translationKey->source;
+
+        $translationKeys[$translationId] = $translationKey;
+    }
+
+    return $translationKeys;
+}
+
+function printTitle($title)
+{
+    echo $title.\PHP_EOL;
+    echo str_repeat('=', strlen($title)).\PHP_EOL.\PHP_EOL;
+}
+
+function printTable($translations, $verboseOutput)
+{
+    if (0 === count($translations)) {
+        echo 'No translations found';
+
+        return;
+    }
+    $longestLocaleNameLength = max(array_map('strlen', array_keys($translations)));
+
+    foreach ($translations as $locale => $translation) {
+        if ($translation['translated'] > $translation['total']) {
+            textColorRed();
+        } elseif ($translation['translated'] === $translation['total']) {
+            textColorGreen();
+        }
+
+        echo sprintf('| Locale: %-'.$longestLocaleNameLength.'s | Translated: %d/%d', $locale, $translation['translated'], $translation['total']).\PHP_EOL;
+
+        textColorNormal();
+
+        if (true === $verboseOutput && count($translation['missingKeys']) > 0) {
+            echo str_repeat('-', 80).\PHP_EOL;
+            echo '| Missing Translations:'.\PHP_EOL;
+
+            foreach ($translation['missingKeys'] as $id => $content) {
+                echo sprintf('|   (id=%s) %s', $id, $content).\PHP_EOL;
+            }
+
+            echo str_repeat('-', 80).\PHP_EOL;
+        }
+    }
+}
+
+function textColorGreen()
+{
+    echo "\033[32m";
+}
+
+function textColorRed()
+{
+    echo "\033[31m";
+}
+
+function textColorNormal()
+{
+    echo "\033[0m";
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/data/parents.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/data/parents.json
new file mode 100644
index 0000000..a67458a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/data/parents.json
@@ -0,0 +1,140 @@
+{
+    "az_Cyrl": "root",
+    "bs_Cyrl": "root",
+    "en_150": "en_001",
+    "en_AG": "en_001",
+    "en_AI": "en_001",
+    "en_AT": "en_150",
+    "en_AU": "en_001",
+    "en_BB": "en_001",
+    "en_BE": "en_150",
+    "en_BM": "en_001",
+    "en_BS": "en_001",
+    "en_BW": "en_001",
+    "en_BZ": "en_001",
+    "en_CA": "en_001",
+    "en_CC": "en_001",
+    "en_CH": "en_150",
+    "en_CK": "en_001",
+    "en_CM": "en_001",
+    "en_CX": "en_001",
+    "en_CY": "en_001",
+    "en_DE": "en_150",
+    "en_DG": "en_001",
+    "en_DK": "en_150",
+    "en_DM": "en_001",
+    "en_ER": "en_001",
+    "en_FI": "en_150",
+    "en_FJ": "en_001",
+    "en_FK": "en_001",
+    "en_FM": "en_001",
+    "en_GB": "en_001",
+    "en_GD": "en_001",
+    "en_GG": "en_001",
+    "en_GH": "en_001",
+    "en_GI": "en_001",
+    "en_GM": "en_001",
+    "en_GY": "en_001",
+    "en_HK": "en_001",
+    "en_IE": "en_001",
+    "en_IL": "en_001",
+    "en_IM": "en_001",
+    "en_IN": "en_001",
+    "en_IO": "en_001",
+    "en_JE": "en_001",
+    "en_JM": "en_001",
+    "en_KE": "en_001",
+    "en_KI": "en_001",
+    "en_KN": "en_001",
+    "en_KY": "en_001",
+    "en_LC": "en_001",
+    "en_LR": "en_001",
+    "en_LS": "en_001",
+    "en_MG": "en_001",
+    "en_MO": "en_001",
+    "en_MS": "en_001",
+    "en_MT": "en_001",
+    "en_MU": "en_001",
+    "en_MW": "en_001",
+    "en_MY": "en_001",
+    "en_NA": "en_001",
+    "en_NF": "en_001",
+    "en_NG": "en_001",
+    "en_NL": "en_150",
+    "en_NR": "en_001",
+    "en_NU": "en_001",
+    "en_NZ": "en_001",
+    "en_PG": "en_001",
+    "en_PH": "en_001",
+    "en_PK": "en_001",
+    "en_PN": "en_001",
+    "en_PW": "en_001",
+    "en_RW": "en_001",
+    "en_SB": "en_001",
+    "en_SC": "en_001",
+    "en_SD": "en_001",
+    "en_SE": "en_150",
+    "en_SG": "en_001",
+    "en_SH": "en_001",
+    "en_SI": "en_150",
+    "en_SL": "en_001",
+    "en_SS": "en_001",
+    "en_SX": "en_001",
+    "en_SZ": "en_001",
+    "en_TC": "en_001",
+    "en_TK": "en_001",
+    "en_TO": "en_001",
+    "en_TT": "en_001",
+    "en_TV": "en_001",
+    "en_TZ": "en_001",
+    "en_UG": "en_001",
+    "en_VC": "en_001",
+    "en_VG": "en_001",
+    "en_VU": "en_001",
+    "en_WS": "en_001",
+    "en_ZA": "en_001",
+    "en_ZM": "en_001",
+    "en_ZW": "en_001",
+    "es_AR": "es_419",
+    "es_BO": "es_419",
+    "es_BR": "es_419",
+    "es_BZ": "es_419",
+    "es_CL": "es_419",
+    "es_CO": "es_419",
+    "es_CR": "es_419",
+    "es_CU": "es_419",
+    "es_DO": "es_419",
+    "es_EC": "es_419",
+    "es_GT": "es_419",
+    "es_HN": "es_419",
+    "es_MX": "es_419",
+    "es_NI": "es_419",
+    "es_PA": "es_419",
+    "es_PE": "es_419",
+    "es_PR": "es_419",
+    "es_PY": "es_419",
+    "es_SV": "es_419",
+    "es_US": "es_419",
+    "es_UY": "es_419",
+    "es_VE": "es_419",
+    "ff_Adlm": "root",
+    "nb": "no",
+    "nn": "no",
+    "pa_Arab": "root",
+    "pt_AO": "pt_PT",
+    "pt_CH": "pt_PT",
+    "pt_CV": "pt_PT",
+    "pt_GQ": "pt_PT",
+    "pt_GW": "pt_PT",
+    "pt_LU": "pt_PT",
+    "pt_MO": "pt_PT",
+    "pt_MZ": "pt_PT",
+    "pt_ST": "pt_PT",
+    "pt_TL": "pt_PT",
+    "sd_Deva": "root",
+    "sr_Latn": "root",
+    "uz_Arab": "root",
+    "uz_Cyrl": "root",
+    "zh_Hant": "root",
+    "zh_Hant_MO": "zh_Hant_HK"
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/functions.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/functions.php
new file mode 100644
index 0000000..901d2f8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/functions.php
@@ -0,0 +1,22 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+if (!\function_exists(t::class)) {
+    /**
+     * @author Nate Wiebe <nate@northern.co>
+     */
+    function t(string $message, array $parameters = [], string $domain = null): TranslatableMessage
+    {
+        return new TranslatableMessage($message, $parameters, $domain);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd
new file mode 100644
index 0000000..dface62
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd
@@ -0,0 +1,2223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+May-19-2004:
+- Changed the <choice> for ElemType_header, moving minOccurs="0" maxOccurs="unbounded" from its elements
+to <choice> itself.
+- Added <choice> for ElemType_trans-unit to allow "any order" for <context-group>, <count-group>, <prop-group>, <note>, and
+<alt-trans>.
+
+Oct-2005
+- updated version info to 1.2
+- equiv-trans attribute to <trans-unit> element
+- merged-trans attribute for <group> element
+- Add the <seg-source> element as optional in the <trans-unit> and <alt-trans> content models, at the same level as <source>
+- Create a new value "seg" for the mtype attribute of the <mrk> element
+- Add mid as an optional attribute for the <alt-trans> element
+
+Nov-14-2005
+- Changed name attribute for <context-group> from required to optional
+- Added extension point at <xliff>
+
+Jan-9-2006
+- Added alttranstype type attribute to <alt-trans>, and values
+
+Jan-10-2006
+- Corrected error with overwritten purposeValueList
+- Corrected name="AttrType_Version",  attribute should have been "name"
+
+-->
+<xsd:schema xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:xliff:document:1.2" xml:lang="en">
+  <!-- Import for xml:lang and xml:space -->
+  <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+  <!-- Attributes Lists -->
+  <xsd:simpleType name="XTend">
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="x-[^\s]+"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="context-typeValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'context-type'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="database">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a database content.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="element">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the content of an element within an XML document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="elementtitle">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the name of an element within an XML document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="linenumber">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the line number from the sourcefile (see context-type="sourcefile") where the &lt;source&gt; is found.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="numparams">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a the number of parameters contained within the &lt;source&gt;.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="paramnotes">
+        <xsd:annotation>
+          <xsd:documentation>Indicates notes pertaining to the parameters in the &lt;source&gt;.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="record">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the content of a record within a database.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="recordtitle">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the name of a record within a database.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="sourcefile">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the original source file in the case that multiple files are merged to form the original file from which the XLIFF file is created. This differs from the original &lt;file&gt; attribute in that this sourcefile is one of many that make up that file.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="count-typeValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'count-type'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="num-usages">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the count units are items that are used X times in a certain context; example: this is a reusable text unit which is used 42 times in other texts.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="repetition">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the count units are translation units existing already in the same document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="total">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a total count.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="InlineDelimitersValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'ctype' when used other elements than &lt;ph&gt; or &lt;x&gt;.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="bold">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a run of bolded text.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="italic">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a run of text in italics.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="underlined">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a run of underlined text.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="link">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a run of hyper-text.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="InlinePlaceholdersValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'ctype' when used with &lt;ph&gt; or &lt;x&gt;.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="image">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a inline image.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="pb">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a page break.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="lb">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a line break.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="mime-typeValueList">
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="(text|multipart|message|application|image|audio|video|model)(/.+)*"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="datatypeValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'datatype'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="asp">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Active Server Page data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="c">
+        <xsd:annotation>
+          <xsd:documentation>Indicates C source file data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="cdf">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Channel Definition Format (CDF) data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="cfm">
+        <xsd:annotation>
+          <xsd:documentation>Indicates ColdFusion data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="cpp">
+        <xsd:annotation>
+          <xsd:documentation>Indicates C++ source file data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="csharp">
+        <xsd:annotation>
+          <xsd:documentation>Indicates C-Sharp data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="cstring">
+        <xsd:annotation>
+          <xsd:documentation>Indicates strings from C, ASM, and driver files data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="csv">
+        <xsd:annotation>
+          <xsd:documentation>Indicates comma-separated values data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="database">
+        <xsd:annotation>
+          <xsd:documentation>Indicates database data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="documentfooter">
+        <xsd:annotation>
+          <xsd:documentation>Indicates portions of document that follows data and contains metadata.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="documentheader">
+        <xsd:annotation>
+          <xsd:documentation>Indicates portions of document that precedes data and contains metadata.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="filedialog">
+        <xsd:annotation>
+          <xsd:documentation>Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="form">
+        <xsd:annotation>
+          <xsd:documentation>Indicates standard user input screen data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="html">
+        <xsd:annotation>
+          <xsd:documentation>Indicates HyperText Markup Language (HTML) data - document instance.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="htmlbody">
+        <xsd:annotation>
+          <xsd:documentation>Indicates content within an HTML document’s &lt;body&gt; element.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="ini">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Windows INI file data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="interleaf">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Interleaf data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="javaclass">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Java source file data (extension '.java').</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="javapropertyresourcebundle">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Java property resource bundle data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="javalistresourcebundle">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Java list resource bundle data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="javascript">
+        <xsd:annotation>
+          <xsd:documentation>Indicates JavaScript source file data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="jscript">
+        <xsd:annotation>
+          <xsd:documentation>Indicates JScript source file data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="layout">
+        <xsd:annotation>
+          <xsd:documentation>Indicates information relating to formatting.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="lisp">
+        <xsd:annotation>
+          <xsd:documentation>Indicates LISP source file data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="margin">
+        <xsd:annotation>
+          <xsd:documentation>Indicates information relating to margin formats.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="menufile">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a file containing menu.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="messagefile">
+        <xsd:annotation>
+          <xsd:documentation>Indicates numerically identified string table.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="mif">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Maker Interchange Format (MIF) data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="mimetype">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="mo">
+        <xsd:annotation>
+          <xsd:documentation>Indicates GNU Machine Object data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="msglib">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Message Librarian strings created by Novell's Message Librarian Tool.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="pagefooter">
+        <xsd:annotation>
+          <xsd:documentation>Indicates information to be displayed at the bottom of each page of a document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="pageheader">
+        <xsd:annotation>
+          <xsd:documentation>Indicates information to be displayed at the top of each page of a document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="parameters">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a list of property values (e.g., settings within INI files or preferences dialog).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="pascal">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Pascal source file data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="php">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Hypertext Preprocessor data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="plaintext">
+        <xsd:annotation>
+          <xsd:documentation>Indicates plain text file (no formatting other than, possibly, wrapping).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="po">
+        <xsd:annotation>
+          <xsd:documentation>Indicates GNU Portable Object file.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="report">
+        <xsd:annotation>
+          <xsd:documentation>Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="resources">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Windows .NET binary resources.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="resx">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Windows .NET Resources.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rtf">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Rich Text Format (RTF) data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="sgml">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - document instance.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="sgmldtd">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="svg">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Scalable Vector Graphic (SVG) data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="vbscript">
+        <xsd:annotation>
+          <xsd:documentation>Indicates VisualBasic Script source file.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="warning">
+        <xsd:annotation>
+          <xsd:documentation>Indicates warning message.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="winres">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="xhtml">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Extensible HyperText Markup Language (XHTML) data - document instance.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="xml">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Extensible Markup Language (XML) data - document instance.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="xmldtd">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="xsl">
+        <xsd:annotation>
+          <xsd:documentation>Indicates Extensible Stylesheet Language (XSL) data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="xul">
+        <xsd:annotation>
+          <xsd:documentation>Indicates XUL elements.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="mtypeValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'mtype'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="abbrev">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the marked text is an abbreviation.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="abbreviated-form">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="abbreviation">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.8.1: An abbreviated form of a simple term resulting from the omission of some of its letters (e.g. 'adj.' for 'adjective').</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="acronym">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.8.4: An abbreviated form of a term made up of letters from the full form of a multiword term strung together into a sequence pronounced only syllabically (e.g. 'radar' for 'radio detecting and ranging').</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="appellation">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620: A proper-name term, such as the name of an agency or other proper entity.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="collocation">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.18.1: A recurrent word combination characterized by cohesion in that the components of the collocation must co-occur within an utterance or series of utterances, even though they do not necessarily have to maintain immediate proximity to one another.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="common-name">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="datetime">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the marked text is a date and/or time.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="equation">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.15: An expression used to represent a concept based on a statement that two mathematical expressions are, for instance, equal as identified by the equal sign (=), or assigned to one another by a similar sign.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="expanded-form">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="formula">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="head-term">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="initialism">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.8.3: An abbreviated form of a term consisting of some of the initial letters of the words making up a multiword term or the term elements making up a compound term when these letters are pronounced individually (e.g. 'BSE' for 'bovine spongiform encephalopathy').</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="international-scientific-term">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="internationalism">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="logical-expression">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.16: An expression used to represent a concept based on mathematical or logical relations, such as statements of inequality, set relationships, Boolean operations, and the like.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="materials-management-unit">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.17: A unit to track object.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="name">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the marked text is a name.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="near-synonym">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.3: A term that represents the same or a very similar concept as another term in the same language, but for which interchangeability is limited to some contexts and inapplicable in others.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="part-number">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="phrase">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the marked text is a phrase.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="phraseological-unit">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.18: Any group of two or more words that form a unit, the meaning of which frequently cannot be deduced based on the combined sense of the words making up the phrase.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="protected">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the marked text should not be translated.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="romanized-form">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.12: A form of a term resulting from an operation whereby non-Latin writing systems are converted to the Latin alphabet.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="seg">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the marked text represents a segment.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="set-phrase">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.18.2: A fixed, lexicalized phrase.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="short-form">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.8.2: A variant of a multiword term that includes fewer words than the full form of the term (e.g. 'Group of Twenty-four' for 'Intergovernmental Group of Twenty-four on International Monetary Affairs').</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="sku">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.17.1: Stock keeping unit, an inventory item identified by a unique alphanumeric designation assigned to an object in an inventory control system.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="standard-text">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.19: A fixed chunk of recurring text.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="symbol">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="synonym">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.2: Any term that represents the same or a very similar concept as the main entry term in a term entry.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="synonymous-phrase">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="term">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the marked text is a term.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="transcribed-form">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.11: A form of a term resulting from an operation whereby the characters of one writing system are represented by characters from another writing system, taking into account the pronunciation of the characters converted.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="transliterated-form">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.10: A form of a term resulting from an operation whereby the characters of an alphabetic writing system are represented by characters from another alphabetic writing system.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="truncated-term">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.8.5: An abbreviated form of a term resulting from the omission of one or more term elements or syllables (e.g. 'flu' for 'influenza').</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="variant">
+        <xsd:annotation>
+          <xsd:documentation>ISO-12620 2.1.9: One of the alternate forms of a term.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="restypeValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'restype'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="auto3state">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC AUTO3STATE control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="autocheckbox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC AUTOCHECKBOX control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="autoradiobutton">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC AUTORADIOBUTTON control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="bedit">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC BEDIT control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="bitmap">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a bitmap, for example a BITMAP resource in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="button">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a button object, for example a BUTTON control Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="caption">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a caption, such as the caption of a dialog box.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="cell">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the cell in a table, for example the content of the &lt;td&gt; element in HTML.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="checkbox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates check box object, for example a CHECKBOX control in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="checkboxmenuitem">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a menu item with an associated checkbox.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="checkedlistbox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a list box, but with a check-box for each item.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="colorchooser">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a color selection dialog.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="combobox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="comboboxexitem">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="comboboxitem">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="component">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a UI base class element that cannot be represented by any other element.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="contextmenu">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a context menu.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="ctext">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC CTEXT control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="cursor">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a cursor, for example a CURSOR resource in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="datetimepicker">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a date/time picker.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="defpushbutton">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC DEFPUSHBUTTON control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="dialog">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a dialog box.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="dlginit">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC DLGINIT resource block.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="edit">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an edit box object, for example an EDIT control in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="file">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a filename.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="filechooser">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a file dialog.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="fn">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a footnote.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="font">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a font name.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="footer">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a footer.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="frame">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a frame object.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="grid">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a XUL grid element.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="groupbox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a groupbox object, for example a GROUPBOX control in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="header">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a header item.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="heading">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a heading, such has the content of &lt;h1&gt;, &lt;h2&gt;, etc. in HTML.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="hedit">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC HEDIT control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="hscrollbar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a horizontal scrollbar.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="icon">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an icon, for example an ICON resource in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="iedit">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC IEDIT control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="keywords">
+        <xsd:annotation>
+          <xsd:documentation>Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="label">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a label object.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="linklabel">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a label that is also a HTML link (not necessarily a URL).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="list">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a list (a group of list-items, for example an &lt;ol&gt; or &lt;ul&gt; element in HTML).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="listbox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a listbox object, for example an LISTBOX control in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="listitem">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an list item (an entry in a list).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="ltext">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC LTEXT control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="menu">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a menu (a group of menu-items).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="menubar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a toolbar containing one or more tope level menus.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="menuitem">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a menu item (an entry in a menu).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="menuseparator">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a XUL menuseparator element.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="message">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a message, for example an entry in a MESSAGETABLE resource in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="monthcalendar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a calendar control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="numericupdown">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an edit box beside a spin control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="panel">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a catch all for rectangular areas.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="popupmenu">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a standalone menu not necessarily associated with a menubar.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="pushbox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a pushbox object, for example a PUSHBOX control in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="pushbutton">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC PUSHBUTTON control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="radio">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a radio button object.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="radiobuttonmenuitem">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a menuitem with associated radio button.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rcdata">
+        <xsd:annotation>
+          <xsd:documentation>Indicates raw data resources for an application.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="row">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a row in a table.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rtext">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC RTEXT control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="scrollpane">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a user navigable container used to show a portion of a document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="separator">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a generic divider object (e.g. menu group separator).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="shortcut">
+        <xsd:annotation>
+          <xsd:documentation>Windows accelerators, shortcuts in resource or property files.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="spinner">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a UI control to indicate process activity but not progress.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="splitter">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a splitter bar.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="state3">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC STATE3 control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="statusbar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a window for providing feedback to the users, like 'read-only', etc.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="string">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a string, for example an entry in a STRINGTABLE resource in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="tabcontrol">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a layers of controls with a tab to select layers.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="table">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a display and edits regular two-dimensional tables of cells.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="textbox">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a XUL textbox element.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="togglebutton">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a UI button that can be toggled to on or off state.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="toolbar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an array of controls, usually buttons.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="tooltip">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a pop up tool tip text.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="trackbar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a bar with a pointer indicating a position within a certain range.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="tree">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a control that displays a set of hierarchical data.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="uri">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a URI (URN or URL).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="userbutton">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a Windows RC USERBUTTON control.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="usercontrol">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a user-defined control like CONTROL control in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="var">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the text of a variable.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="versioninfo">
+        <xsd:annotation>
+          <xsd:documentation>Indicates version information about a resource like VERSIONINFO in Windows.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="vscrollbar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a vertical scrollbar.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="window">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a graphical window.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="size-unitValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'size-unit'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="byte">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in 8-bit bytes.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="char">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in Unicode characters.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="col">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in columns. Used for HTML text area.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="cm">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in centimeters.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="dlgunit">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in dialog units, as defined in Windows resources.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="em">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in 'font-size' units (as defined in CSS).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="ex">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in 'x-height' units (as defined in CSS).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="glyph">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in glyphs. A glyph is considered to be one or more combined Unicode characters that represent a single displayable text character. Sometimes referred to as a 'grapheme cluster'</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="in">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in inches.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="mm">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in millimeters.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="percent">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in percentage.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="pixel">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in pixels.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="point">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in point.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="row">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a size in rows. Used for HTML text area.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="stateValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'state'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="final">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the terminating state.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="needs-adaptation">
+        <xsd:annotation>
+          <xsd:documentation>Indicates only non-textual information needs adaptation.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="needs-l10n">
+        <xsd:annotation>
+          <xsd:documentation>Indicates both text and non-textual information needs adaptation.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="needs-review-adaptation">
+        <xsd:annotation>
+          <xsd:documentation>Indicates only non-textual information needs review.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="needs-review-l10n">
+        <xsd:annotation>
+          <xsd:documentation>Indicates both text and non-textual information needs review.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="needs-review-translation">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that only the text of the item needs to be reviewed.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="needs-translation">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the item needs to be translated.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="new">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the item is new. For example, translation units that were not in a previous version of the document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="signed-off">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that changes are reviewed and approved.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="translated">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the item has been translated.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="state-qualifierValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'state-qualifier'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="exact-match">
+        <xsd:annotation>
+          <xsd:documentation>Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="fuzzy-match">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discripancy, etc.).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="id-match">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a match based on matching IDs (in addition to matching text).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="leveraged-glossary">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a translation derived from a glossary.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="leveraged-inherited">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a translation derived from existing translation.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="leveraged-mt">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a translation derived from machine translation.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="leveraged-repository">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a translation derived from a translation repository.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="leveraged-tm">
+        <xsd:annotation>
+          <xsd:documentation>Indicates a translation derived from a translation memory.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="mt-suggestion">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the translation is suggested by machine translation.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rejected-grammar">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the item has been rejected because of incorrect grammar.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rejected-inaccurate">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the item has been rejected because it is incorrect.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rejected-length">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the item has been rejected because it is too long or too short.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rejected-spelling">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the item has been rejected because of incorrect spelling.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="tm-suggestion">
+        <xsd:annotation>
+          <xsd:documentation>Indicates the translation is suggested by translation memory.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="unitValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'unit'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="word">
+        <xsd:annotation>
+          <xsd:documentation>Refers to words.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="page">
+        <xsd:annotation>
+          <xsd:documentation>Refers to pages.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="trans-unit">
+        <xsd:annotation>
+          <xsd:documentation>Refers to &lt;trans-unit&gt; elements.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="bin-unit">
+        <xsd:annotation>
+          <xsd:documentation>Refers to &lt;bin-unit&gt; elements.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="glyph">
+        <xsd:annotation>
+          <xsd:documentation>Refers to glyphs.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="item">
+        <xsd:annotation>
+          <xsd:documentation>Refers to &lt;trans-unit&gt; and/or &lt;bin-unit&gt; elements.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="instance">
+        <xsd:annotation>
+          <xsd:documentation>Refers to the occurrences of instances defined by the count-type value.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="character">
+        <xsd:annotation>
+          <xsd:documentation>Refers to characters.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="line">
+        <xsd:annotation>
+          <xsd:documentation>Refers to lines.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="sentence">
+        <xsd:annotation>
+          <xsd:documentation>Refers to sentences.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="paragraph">
+        <xsd:annotation>
+          <xsd:documentation>Refers to paragraphs.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="segment">
+        <xsd:annotation>
+          <xsd:documentation>Refers to segments.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="placeable">
+        <xsd:annotation>
+          <xsd:documentation>Refers to placeables (inline elements).</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="priorityValueList">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'priority'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:positiveInteger">
+      <xsd:enumeration value="1">
+        <xsd:annotation>
+          <xsd:documentation>Highest priority.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="2">
+        <xsd:annotation>
+          <xsd:documentation>High priority.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="3">
+        <xsd:annotation>
+          <xsd:documentation>High priority, but not as important as 2.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="4">
+        <xsd:annotation>
+          <xsd:documentation>High priority, but not as important as 3.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="5">
+        <xsd:annotation>
+          <xsd:documentation>Medium priority, but more important than 6.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="6">
+        <xsd:annotation>
+          <xsd:documentation>Medium priority, but less important than 5.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="7">
+        <xsd:annotation>
+          <xsd:documentation>Low priority, but more important than 8.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="8">
+        <xsd:annotation>
+          <xsd:documentation>Low priority, but more important than 9.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="9">
+        <xsd:annotation>
+          <xsd:documentation>Low priority.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="10">
+        <xsd:annotation>
+          <xsd:documentation>Lowest priority.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="reformatValueYesNo">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="yes">
+        <xsd:annotation>
+          <xsd:documentation>This value indicates that all properties can be reformatted. This value must be used alone.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="no">
+        <xsd:annotation>
+          <xsd:documentation>This value indicates that no properties should be reformatted. This value must be used alone.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="reformatValueList">
+    <xsd:list>
+      <xsd:simpleType>
+        <xsd:union memberTypes="xlf:XTend">
+          <xsd:simpleType>
+            <xsd:restriction base="xsd:string">
+              <xsd:enumeration value="coord">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that all information in the coord attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="coord-x">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the x information in the coord attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="coord-y">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the y information in the coord attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="coord-cx">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the cx information in the coord attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="coord-cy">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the cy information in the coord attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="font">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that all the information in the font attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="font-name">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the name information in the font attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="font-size">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the size information in the font attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="font-weight">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the weight information in the font attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="css-style">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the information in the css-style attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="style">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the information in the style attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+              <xsd:enumeration value="ex-style">
+                <xsd:annotation>
+                  <xsd:documentation>This value indicates that the information in the exstyle attribute can be modified.</xsd:documentation>
+                </xsd:annotation>
+              </xsd:enumeration>
+            </xsd:restriction>
+          </xsd:simpleType>
+        </xsd:union>
+      </xsd:simpleType>
+    </xsd:list>
+  </xsd:simpleType>
+  <xsd:simpleType name="purposeValueList">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="information">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the context is informational in nature, specifying for example, how a term should be translated. Thus, should be displayed to anyone editing the XLIFF document.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="location">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="match">
+        <xsd:annotation>
+          <xsd:documentation>Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="alttranstypeValueList">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="proposal">
+        <xsd:annotation>
+          <xsd:documentation>Represents a translation proposal from a translation memory or other resource.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="previous-version">
+        <xsd:annotation>
+          <xsd:documentation>Represents a previous version of the target element.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="rejected">
+        <xsd:annotation>
+          <xsd:documentation>Represents a rejected version of the target element.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="reference">
+        <xsd:annotation>
+          <xsd:documentation>Represents a translation to be used for reference purposes only, for example from a related product or a different language.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+      <xsd:enumeration value="accepted">
+        <xsd:annotation>
+          <xsd:documentation>Represents a proposed translation that was used for the translation of the trans-unit, possibly modified.</xsd:documentation>
+        </xsd:annotation>
+      </xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <!-- Other Types -->
+  <xsd:complexType name="ElemType_ExternalReference">
+    <xsd:choice>
+      <xsd:element ref="xlf:internal-file"/>
+      <xsd:element ref="xlf:external-file"/>
+    </xsd:choice>
+  </xsd:complexType>
+  <xsd:simpleType name="AttrType_purpose">
+    <xsd:list>
+      <xsd:simpleType>
+        <xsd:union memberTypes="xlf:purposeValueList xlf:XTend"/>
+      </xsd:simpleType>
+    </xsd:list>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_datatype">
+    <xsd:union memberTypes="xlf:datatypeValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_restype">
+    <xsd:union memberTypes="xlf:restypeValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_alttranstype">
+    <xsd:union memberTypes="xlf:alttranstypeValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_context-type">
+    <xsd:union memberTypes="xlf:context-typeValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_state">
+    <xsd:union memberTypes="xlf:stateValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_state-qualifier">
+    <xsd:union memberTypes="xlf:state-qualifierValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_count-type">
+    <xsd:union memberTypes="xlf:restypeValueList xlf:count-typeValueList xlf:datatypeValueList xlf:stateValueList xlf:state-qualifierValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_InlineDelimiters">
+    <xsd:union memberTypes="xlf:InlineDelimitersValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_InlinePlaceholders">
+    <xsd:union memberTypes="xlf:InlinePlaceholdersValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_size-unit">
+    <xsd:union memberTypes="xlf:size-unitValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_mtype">
+    <xsd:union memberTypes="xlf:mtypeValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_unit">
+    <xsd:union memberTypes="xlf:unitValueList xlf:XTend"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_priority">
+    <xsd:union memberTypes="xlf:priorityValueList"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_reformat">
+    <xsd:union memberTypes="xlf:reformatValueYesNo xlf:reformatValueList"/>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_YesNo">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="yes"/>
+      <xsd:enumeration value="no"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_Position">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="open"/>
+      <xsd:enumeration value="close"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_assoc">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="preceding"/>
+      <xsd:enumeration value="following"/>
+      <xsd:enumeration value="both"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_annotates">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="source"/>
+      <xsd:enumeration value="target"/>
+      <xsd:enumeration value="general"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_Coordinates">
+    <xsd:annotation>
+      <xsd:documentation>Values for the attribute 'coord'.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="(-?\d+|#);(-?\d+|#);(-?\d+|#);(-?\d+|#)"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <xsd:simpleType name="AttrType_Version">
+    <xsd:annotation>
+      <xsd:documentation>Version values: 1.0 and 1.1 are allowed for backward compatibility.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="1.2"/>
+      <xsd:enumeration value="1.1"/>
+      <xsd:enumeration value="1.0"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+  <!-- Groups -->
+  <xsd:group name="ElemGroup_TextContent">
+    <xsd:choice>
+      <xsd:element ref="xlf:g"/>
+      <xsd:element ref="xlf:bpt"/>
+      <xsd:element ref="xlf:ept"/>
+      <xsd:element ref="xlf:ph"/>
+      <xsd:element ref="xlf:it"/>
+      <xsd:element ref="xlf:mrk"/>
+      <xsd:element ref="xlf:x"/>
+      <xsd:element ref="xlf:bx"/>
+      <xsd:element ref="xlf:ex"/>
+    </xsd:choice>
+  </xsd:group>
+  <xsd:attributeGroup name="AttrGroup_TextContent">
+    <xsd:attribute name="id" type="xsd:string" use="required"/>
+    <xsd:attribute name="xid" type="xsd:string" use="optional"/>
+    <xsd:attribute name="equiv-text" type="xsd:string" use="optional"/>
+    <xsd:anyAttribute namespace="##other" processContents="strict"/>
+  </xsd:attributeGroup>
+  <!-- XLIFF Structure -->
+  <xsd:element name="xliff">
+    <xsd:complexType>
+      <xsd:sequence maxOccurs="unbounded">
+        <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
+        <xsd:element ref="xlf:file"/>
+      </xsd:sequence>
+      <xsd:attribute name="version" type="xlf:AttrType_Version" use="required"/>
+      <xsd:attribute ref="xml:lang" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="file">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element minOccurs="0" ref="xlf:header"/>
+        <xsd:element ref="xlf:body"/>
+      </xsd:sequence>
+      <xsd:attribute name="original" type="xsd:string" use="required"/>
+      <xsd:attribute name="source-language" type="xsd:language" use="required"/>
+      <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="required"/>
+      <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
+      <xsd:attribute name="date" type="xsd:dateTime" use="optional"/>
+      <xsd:attribute ref="xml:space" use="optional"/>
+      <xsd:attribute name="category" type="xsd:string" use="optional"/>
+      <xsd:attribute name="target-language" type="xsd:language" use="optional"/>
+      <xsd:attribute name="product-name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="product-version" type="xsd:string" use="optional"/>
+      <xsd:attribute name="build-num" type="xsd:string" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+    <xsd:unique name="U_group_id">
+      <xsd:selector xpath=".//xlf:group"/>
+      <xsd:field xpath="@id"/>
+    </xsd:unique>
+    <xsd:key name="K_unit_id">
+      <xsd:selector xpath=".//xlf:trans-unit|.//xlf:bin-unit"/>
+      <xsd:field xpath="@id"/>
+    </xsd:key>
+    <xsd:keyref name="KR_unit_id" refer="xlf:K_unit_id">
+      <xsd:selector xpath=".//bpt|.//ept|.//it|.//ph|.//g|.//x|.//bx|.//ex|.//sub"/>
+      <xsd:field xpath="@xid"/>
+    </xsd:keyref>
+    <xsd:key name="K_tool-id">
+      <xsd:selector xpath="xlf:header/xlf:tool"/>
+      <xsd:field xpath="@tool-id"/>
+    </xsd:key>
+    <xsd:keyref name="KR_file_tool-id" refer="xlf:K_tool-id">
+      <xsd:selector xpath="."/>
+      <xsd:field xpath="@tool-id"/>
+    </xsd:keyref>
+    <xsd:keyref name="KR_phase_tool-id" refer="xlf:K_tool-id">
+      <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/>
+      <xsd:field xpath="@tool-id"/>
+    </xsd:keyref>
+    <xsd:keyref name="KR_alt-trans_tool-id" refer="xlf:K_tool-id">
+      <xsd:selector xpath=".//xlf:trans-unit/xlf:alt-trans"/>
+      <xsd:field xpath="@tool-id"/>
+    </xsd:keyref>
+    <xsd:key name="K_count-group_name">
+      <xsd:selector xpath=".//xlf:count-group"/>
+      <xsd:field xpath="@name"/>
+    </xsd:key>
+    <xsd:unique name="U_context-group_name">
+      <xsd:selector xpath=".//xlf:context-group"/>
+      <xsd:field xpath="@name"/>
+    </xsd:unique>
+    <xsd:key name="K_phase-name">
+      <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/>
+      <xsd:field xpath="@phase-name"/>
+    </xsd:key>
+    <xsd:keyref name="KR_phase-name" refer="xlf:K_phase-name">
+      <xsd:selector xpath=".//xlf:count|.//xlf:trans-unit|.//xlf:target|.//bin-unit|.//bin-target"/>
+      <xsd:field xpath="@phase-name"/>
+    </xsd:keyref>
+    <xsd:unique name="U_uid">
+      <xsd:selector xpath=".//xlf:external-file"/>
+      <xsd:field xpath="@uid"/>
+    </xsd:unique>
+  </xsd:element>
+  <xsd:element name="header">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element minOccurs="0" name="skl" type="xlf:ElemType_ExternalReference"/>
+        <xsd:element minOccurs="0" ref="xlf:phase-group"/>
+        <xsd:choice maxOccurs="unbounded" minOccurs="0">
+          <xsd:element name="glossary" type="xlf:ElemType_ExternalReference"/>
+          <xsd:element name="reference" type="xlf:ElemType_ExternalReference"/>
+          <xsd:element ref="xlf:count-group"/>
+          <xsd:element ref="xlf:note"/>
+          <xsd:element ref="xlf:tool"/>
+        </xsd:choice>
+        <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
+      </xsd:sequence>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="internal-file">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="xsd:string">
+          <xsd:attribute name="form" type="xsd:string"/>
+          <xsd:attribute name="crc" type="xsd:NMTOKEN"/>
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="external-file">
+    <xsd:complexType>
+      <xsd:attribute name="href" type="xsd:string" use="required"/>
+      <xsd:attribute name="crc" type="xsd:NMTOKEN"/>
+      <xsd:attribute name="uid" type="xsd:NMTOKEN"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="note">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="xsd:string">
+          <xsd:attribute ref="xml:lang" use="optional"/>
+          <xsd:attribute default="1" name="priority" type="xlf:AttrType_priority" use="optional"/>
+          <xsd:attribute name="from" type="xsd:string" use="optional"/>
+          <xsd:attribute default="general" name="annotates" type="xlf:AttrType_annotates" use="optional"/>
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="phase-group">
+    <xsd:complexType>
+      <xsd:sequence maxOccurs="unbounded">
+        <xsd:element ref="xlf:phase"/>
+      </xsd:sequence>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="phase">
+    <xsd:complexType>
+      <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+        <xsd:element ref="xlf:note"/>
+      </xsd:sequence>
+      <xsd:attribute name="phase-name" type="xsd:string" use="required"/>
+      <xsd:attribute name="process-name" type="xsd:string" use="required"/>
+      <xsd:attribute name="company-name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
+      <xsd:attribute name="date" type="xsd:dateTime" use="optional"/>
+      <xsd:attribute name="job-id" type="xsd:string" use="optional"/>
+      <xsd:attribute name="contact-name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="contact-email" type="xsd:string" use="optional"/>
+      <xsd:attribute name="contact-phone" type="xsd:string" use="optional"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="count-group">
+    <xsd:complexType>
+      <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+        <xsd:element ref="xlf:count"/>
+      </xsd:sequence>
+      <xsd:attribute name="name" type="xsd:string" use="required"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="count">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="xsd:string">
+          <xsd:attribute name="count-type" type="xlf:AttrType_count-type" use="optional"/>
+          <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
+          <xsd:attribute default="word" name="unit" type="xlf:AttrType_unit" use="optional"/>
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="context-group">
+    <xsd:complexType>
+      <xsd:sequence maxOccurs="unbounded">
+        <xsd:element ref="xlf:context"/>
+      </xsd:sequence>
+      <xsd:attribute name="name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="purpose" type="xlf:AttrType_purpose" use="optional"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="context">
+    <xsd:complexType>
+      <xsd:simpleContent>
+        <xsd:extension base="xsd:string">
+          <xsd:attribute name="context-type" type="xlf:AttrType_context-type" use="required"/>
+          <xsd:attribute default="no" name="match-mandatory" type="xlf:AttrType_YesNo" use="optional"/>
+          <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
+        </xsd:extension>
+      </xsd:simpleContent>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="tool">
+    <xsd:complexType mixed="true">
+      <xsd:sequence>
+        <xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="tool-id" type="xsd:string" use="required"/>
+      <xsd:attribute name="tool-name" type="xsd:string" use="required"/>
+      <xsd:attribute name="tool-version" type="xsd:string" use="optional"/>
+      <xsd:attribute name="tool-company" type="xsd:string" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="body">
+    <xsd:complexType>
+      <xsd:choice maxOccurs="unbounded" minOccurs="0">
+        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/>
+        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
+        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/>
+      </xsd:choice>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="group">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:sequence>
+          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/>
+          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:count-group"/>
+          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/>
+          <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
+        </xsd:sequence>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/>
+          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/>
+          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/>
+        </xsd:choice>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:string" use="optional"/>
+      <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
+      <xsd:attribute default="default" ref="xml:space" use="optional"/>
+      <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
+      <xsd:attribute name="resname" type="xsd:string" use="optional"/>
+      <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
+      <xsd:attribute name="extype" type="xsd:string" use="optional"/>
+      <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="menu" type="xsd:string" use="optional"/>
+      <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
+      <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
+      <xsd:attribute name="font" type="xsd:string" use="optional"/>
+      <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
+      <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
+      <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/>
+      <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="charclass" type="xsd:string" use="optional"/>
+      <xsd:attribute default="no" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="trans-unit">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element ref="xlf:source"/>
+        <xsd:element minOccurs="0" ref="xlf:seg-source"/>
+        <xsd:element minOccurs="0" ref="xlf:target"/>
+        <xsd:choice maxOccurs="unbounded" minOccurs="0">
+          <xsd:element ref="xlf:context-group"/>
+          <xsd:element ref="xlf:count-group"/>
+          <xsd:element ref="xlf:note"/>
+          <xsd:element ref="xlf:alt-trans"/>
+        </xsd:choice>
+        <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:string" use="required"/>
+      <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
+      <xsd:attribute default="default" ref="xml:space" use="optional"/>
+      <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
+      <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
+      <xsd:attribute name="resname" type="xsd:string" use="optional"/>
+      <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
+      <xsd:attribute name="extype" type="xsd:string" use="optional"/>
+      <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="menu" type="xsd:string" use="optional"/>
+      <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
+      <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
+      <xsd:attribute name="font" type="xsd:string" use="optional"/>
+      <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
+      <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/>
+      <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="charclass" type="xsd:string" use="optional"/>
+      <xsd:attribute default="yes" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+    <xsd:unique name="U_tu_segsrc_mid">
+      <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/>
+      <xsd:field xpath="@mid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_tu_segsrc_mid" refer="xlf:U_tu_segsrc_mid">
+      <xsd:selector xpath="./xlf:target/xlf:mrk|./xlf:alt-trans"/>
+      <xsd:field xpath="@mid"/>
+    </xsd:keyref>
+  </xsd:element>
+  <xsd:element name="source">
+    <xsd:complexType mixed="true">
+      <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
+      <xsd:attribute ref="xml:lang" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+    <xsd:unique name="U_source_bpt_rid">
+      <xsd:selector xpath=".//xlf:bpt"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_source_ept_rid" refer="xlf:U_source_bpt_rid">
+      <xsd:selector xpath=".//xlf:ept"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:keyref>
+    <xsd:unique name="U_source_bx_rid">
+      <xsd:selector xpath=".//xlf:bx"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_source_ex_rid" refer="xlf:U_source_bx_rid">
+      <xsd:selector xpath=".//xlf:ex"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:keyref>
+  </xsd:element>
+  <xsd:element name="seg-source">
+    <xsd:complexType mixed="true">
+      <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
+      <xsd:attribute ref="xml:lang" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+    <xsd:unique name="U_segsrc_bpt_rid">
+      <xsd:selector xpath=".//xlf:bpt"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_segsrc_ept_rid" refer="xlf:U_segsrc_bpt_rid">
+      <xsd:selector xpath=".//xlf:ept"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:keyref>
+    <xsd:unique name="U_segsrc_bx_rid">
+      <xsd:selector xpath=".//xlf:bx"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_segsrc_ex_rid" refer="xlf:U_segsrc_bx_rid">
+      <xsd:selector xpath=".//xlf:ex"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:keyref>
+  </xsd:element>
+  <xsd:element name="target">
+    <xsd:complexType mixed="true">
+      <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
+      <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/>
+      <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/>
+      <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute ref="xml:lang" use="optional"/>
+      <xsd:attribute name="resname" type="xsd:string" use="optional"/>
+      <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
+      <xsd:attribute name="font" type="xsd:string" use="optional"/>
+      <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
+      <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute default="yes" name="equiv-trans" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+    <xsd:unique name="U_target_bpt_rid">
+      <xsd:selector xpath=".//xlf:bpt"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_target_ept_rid" refer="xlf:U_target_bpt_rid">
+      <xsd:selector xpath=".//xlf:ept"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:keyref>
+    <xsd:unique name="U_target_bx_rid">
+      <xsd:selector xpath=".//xlf:bx"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_target_ex_rid" refer="xlf:U_target_bx_rid">
+      <xsd:selector xpath=".//xlf:ex"/>
+      <xsd:field xpath="@rid"/>
+    </xsd:keyref>
+  </xsd:element>
+  <xsd:element name="alt-trans">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element minOccurs="0" ref="xlf:source"/>
+        <xsd:element minOccurs="0" ref="xlf:seg-source"/>
+        <xsd:element maxOccurs="1" ref="xlf:target"/>
+        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/>
+        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/>
+        <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
+      </xsd:sequence>
+      <xsd:attribute name="match-quality" type="xsd:string" use="optional"/>
+      <xsd:attribute name="tool-id" type="xsd:string" use="optional"/>
+      <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute ref="xml:lang" use="optional"/>
+      <xsd:attribute name="origin" type="xsd:string" use="optional"/>
+      <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
+      <xsd:attribute default="default" ref="xml:space" use="optional"/>
+      <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
+      <xsd:attribute name="resname" type="xsd:string" use="optional"/>
+      <xsd:attribute name="extradata" type="xsd:string" use="optional"/>
+      <xsd:attribute name="extype" type="xsd:string" use="optional"/>
+      <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="menu" type="xsd:string" use="optional"/>
+      <xsd:attribute name="menu-option" type="xsd:string" use="optional"/>
+      <xsd:attribute name="menu-name" type="xsd:string" use="optional"/>
+      <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/>
+      <xsd:attribute name="font" type="xsd:string" use="optional"/>
+      <xsd:attribute name="css-style" type="xsd:string" use="optional"/>
+      <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute default="proposal" name="alttranstype" type="xlf:AttrType_alttranstype" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+    <xsd:unique name="U_at_segsrc_mid">
+      <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/>
+      <xsd:field xpath="@mid"/>
+    </xsd:unique>
+    <xsd:keyref name="KR_at_segsrc_mid" refer="xlf:U_at_segsrc_mid">
+      <xsd:selector xpath="./xlf:target/xlf:mrk"/>
+      <xsd:field xpath="@mid"/>
+    </xsd:keyref>
+  </xsd:element>
+  <xsd:element name="bin-unit">
+    <xsd:complexType>
+      <xsd:sequence>
+        <xsd:element ref="xlf:bin-source"/>
+        <xsd:element minOccurs="0" ref="xlf:bin-target"/>
+        <xsd:choice maxOccurs="unbounded" minOccurs="0">
+          <xsd:element ref="xlf:context-group"/>
+          <xsd:element ref="xlf:count-group"/>
+          <xsd:element ref="xlf:note"/>
+          <xsd:element ref="xlf:trans-unit"/>
+        </xsd:choice>
+        <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:string" use="required"/>
+      <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="required"/>
+      <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/>
+      <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
+      <xsd:attribute name="resname" type="xsd:string" use="optional"/>
+      <xsd:attribute name="phase-name" type="xsd:string" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="bin-source">
+    <xsd:complexType>
+      <xsd:choice>
+        <xsd:element ref="xlf:internal-file"/>
+        <xsd:element ref="xlf:external-file"/>
+      </xsd:choice>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="bin-target">
+    <xsd:complexType>
+      <xsd:choice>
+        <xsd:element ref="xlf:internal-file"/>
+        <xsd:element ref="xlf:external-file"/>
+      </xsd:choice>
+      <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="optional"/>
+      <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/>
+      <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/>
+      <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/>
+      <xsd:attribute name="resname" type="xsd:string" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+  </xsd:element>
+  <!-- Element for inline codes -->
+  <xsd:element name="g">
+    <xsd:complexType mixed="true">
+      <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
+      <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
+      <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="x">
+    <xsd:complexType>
+      <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/>
+      <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="bx">
+    <xsd:complexType>
+      <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
+      <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="ex">
+    <xsd:complexType>
+      <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="ph">
+    <xsd:complexType mixed="true">
+      <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+        <xsd:element ref="xlf:sub"/>
+      </xsd:sequence>
+      <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/>
+      <xsd:attribute name="crc" type="xsd:string" use="optional"/>
+      <xsd:attribute name="assoc" type="xlf:AttrType_assoc" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="bpt">
+    <xsd:complexType mixed="true">
+      <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+        <xsd:element ref="xlf:sub"/>
+      </xsd:sequence>
+      <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
+      <xsd:attribute name="crc" type="xsd:string" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="ept">
+    <xsd:complexType mixed="true">
+      <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+        <xsd:element ref="xlf:sub"/>
+      </xsd:sequence>
+      <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="crc" type="xsd:string" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="it">
+    <xsd:complexType mixed="true">
+      <xsd:sequence maxOccurs="unbounded" minOccurs="0">
+        <xsd:element ref="xlf:sub"/>
+      </xsd:sequence>
+      <xsd:attribute name="pos" type="xlf:AttrType_Position" use="required"/>
+      <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
+      <xsd:attribute name="crc" type="xsd:string" use="optional"/>
+      <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="sub">
+    <xsd:complexType mixed="true">
+      <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
+      <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/>
+      <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/>
+      <xsd:attribute name="xid" type="xsd:string" use="optional"/>
+    </xsd:complexType>
+  </xsd:element>
+  <xsd:element name="mrk">
+    <xsd:complexType mixed="true">
+      <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>
+      <xsd:attribute name="mtype" type="xlf:AttrType_mtype" use="required"/>
+      <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/>
+      <xsd:attribute name="comment" type="xsd:string" use="optional"/>
+      <xsd:anyAttribute namespace="##other" processContents="strict"/>
+    </xsd:complexType>
+  </xsd:element>
+</xsd:schema>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd
new file mode 100644
index 0000000..963232f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd
@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    XLIFF Version 2.0
+    OASIS Standard
+    05 August 2014
+    Copyright (c) OASIS Open 2014. All rights reserved.
+    Source: http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/schemas/
+     -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified"
+    xmlns:xlf="urn:oasis:names:tc:xliff:document:2.0"
+    targetNamespace="urn:oasis:names:tc:xliff:document:2.0">
+
+  <!-- Import -->
+
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
+      schemaLocation="informativeCopiesOf3rdPartySchemas/w3c/xml.xsd"/>
+
+  <!-- Element Group -->
+
+  <xs:group name="inline">
+    <xs:choice>
+      <xs:element ref="xlf:cp"/>
+      <xs:element ref="xlf:ph"/>
+      <xs:element ref="xlf:pc"/>
+      <xs:element ref="xlf:sc"/>
+      <xs:element ref="xlf:ec"/>
+      <xs:element ref="xlf:mrk"/>
+      <xs:element ref="xlf:sm"/>
+      <xs:element ref="xlf:em"/>
+    </xs:choice>
+  </xs:group>
+
+  <!-- Attribute Types -->
+
+  <xs:simpleType name="yesNo">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="yes"/>
+      <xs:enumeration value="no"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="yesNoFirstNo">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="yes"/>
+      <xs:enumeration value="firstNo"/>
+      <xs:enumeration value="no"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="dirValue">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="ltr"/>
+      <xs:enumeration value="rtl"/>
+      <xs:enumeration value="auto"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="appliesTo">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="source"/>
+      <xs:enumeration value="target"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="userDefinedValue">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[^\s:]+:[^\s:]+"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="attrType_type">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="fmt"/>
+      <xs:enumeration value="ui"/>
+      <xs:enumeration value="quote"/>
+      <xs:enumeration value="link"/>
+      <xs:enumeration value="image"/>
+      <xs:enumeration value="other"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="typeForMrkValues">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="generic"/>
+      <xs:enumeration value="comment"/>
+      <xs:enumeration value="term"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="attrType_typeForMrk">
+    <xs:union memberTypes="xlf:typeForMrkValues xlf:userDefinedValue"/>
+  </xs:simpleType>
+
+  <xs:simpleType name="priorityValue">
+    <xs:restriction base="xs:positiveInteger">
+      <xs:minInclusive value="1"/>
+      <xs:maxInclusive value="10"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="stateType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="initial"/>
+      <xs:enumeration value="translated"/>
+      <xs:enumeration value="reviewed"/>
+      <xs:enumeration value="final"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <!-- Structural Elements -->
+
+  <xs:element name="xliff">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:file"/>
+      </xs:sequence>
+      <xs:attribute name="version" use="required"/>
+      <xs:attribute name="srcLang" use="required"/>
+      <xs:attribute name="trgLang" use="optional"/>
+      <xs:attribute ref="xml:space" use="optional" default="default"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="file">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="1" ref="xlf:skeleton"/>
+        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
+            processContents="lax"/>
+        <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/>
+        <xs:choice minOccurs="1" maxOccurs="unbounded">
+          <xs:element ref="xlf:unit"/>
+          <xs:element ref="xlf:group"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="canResegment" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="original" use="optional"/>
+      <xs:attribute name="translate" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="srcDir" use="optional" type="xlf:dirValue" default="auto"/>
+      <xs:attribute name="trgDir" use="optional" type="xlf:dirValue" default="auto"/>
+      <xs:attribute ref="xml:space" use="optional"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="skeleton">
+    <xs:complexType mixed="true">
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
+            processContents="lax"/>
+      </xs:sequence>
+      <xs:attribute name="href" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="group">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
+            processContents="lax"/>
+        <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="xlf:unit"/>
+          <xs:element ref="xlf:group"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="name" use="optional"/>
+      <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="srcDir" use="optional" type="xlf:dirValue"/>
+      <xs:attribute name="trgDir" use="optional" type="xlf:dirValue"/>
+      <xs:attribute name="type" use="optional" type="xlf:userDefinedValue"/>
+      <xs:attribute ref="xml:space" use="optional"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="unit">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
+            processContents="lax"/>
+        <xs:element minOccurs="0" maxOccurs="1" ref="xlf:notes"/>
+        <xs:element minOccurs="0" maxOccurs="1" ref="xlf:originalData"/>
+        <xs:choice minOccurs="1" maxOccurs="unbounded">
+          <xs:element ref="xlf:segment"/>
+          <xs:element ref="xlf:ignorable"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="name" use="optional"/>
+      <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="srcDir" use="optional" type="xlf:dirValue"/>
+      <xs:attribute name="trgDir" use="optional" type="xlf:dirValue"/>
+      <xs:attribute ref="xml:space" use="optional"/>
+      <xs:attribute name="type" use="optional" type="xlf:userDefinedValue"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="segment">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:element minOccurs="1" maxOccurs="1" ref="xlf:source"/>
+        <xs:element minOccurs="0" maxOccurs="1" ref="xlf:target"/>
+      </xs:sequence>
+      <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="canResegment" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="state" use="optional" type="xlf:stateType" default="initial"/>
+      <xs:attribute name="subState" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="ignorable">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:element minOccurs="1" maxOccurs="1" ref="xlf:source"/>
+        <xs:element minOccurs="0" maxOccurs="1" ref="xlf:target"/>
+      </xs:sequence>
+      <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="notes">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:note"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="note">
+    <xs:complexType mixed="true">
+      <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="appliesTo" use="optional" type="xlf:appliesTo"/>
+      <xs:attribute name="category" use="optional"/>
+      <xs:attribute name="priority" use="optional" type="xlf:priorityValue" default="1"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="originalData">
+    <xs:complexType mixed="false">
+      <xs:sequence>
+        <xs:element minOccurs="1" maxOccurs="unbounded" ref="xlf:data"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="data">
+    <xs:complexType mixed="true">
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="xlf:cp"/>
+      </xs:sequence>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="dir" use="optional" type="xlf:dirValue" default="auto"/>
+      <xs:attribute ref="xml:space" use="optional" fixed="preserve"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="source">
+    <xs:complexType mixed="true">
+      <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:attribute ref="xml:lang" use="optional"/>
+      <xs:attribute ref="xml:space" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="target">
+    <xs:complexType mixed="true">
+      <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:attribute ref="xml:lang" use="optional"/>
+      <xs:attribute ref="xml:space" use="optional"/>
+      <xs:attribute name="order" use="optional" type="xs:positiveInteger"/>
+    </xs:complexType>
+  </xs:element>
+
+  <!-- Inline Elements -->
+
+  <xs:element name="cp">
+    <!-- Code Point -->
+    <xs:complexType mixed="false">
+      <xs:attribute name="hex" use="required" type="xs:hexBinary"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="ph">
+    <!-- Placeholder -->
+    <xs:complexType mixed="false">
+      <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
+      <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="disp" use="optional"/>
+      <xs:attribute name="equiv" use="optional"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/>
+      <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
+      <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="pc">
+    <!-- Paired Code -->
+    <xs:complexType mixed="true">
+      <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
+      <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="dispEnd" use="optional"/>
+      <xs:attribute name="dispStart" use="optional"/>
+      <xs:attribute name="equivEnd" use="optional"/>
+      <xs:attribute name="equivStart" use="optional"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="dataRefEnd" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="dataRefStart" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="subFlowsEnd" use="optional" type="xs:NMTOKENS"/>
+      <xs:attribute name="subFlowsStart" use="optional" type="xs:NMTOKENS"/>
+      <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
+      <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
+      <xs:attribute name="dir" use="optional" type="xlf:dirValue"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="sc">
+    <!-- Start Code -->
+    <xs:complexType mixed="false">
+      <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
+      <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="dir" use="optional" type="xlf:dirValue"/>
+      <xs:attribute name="disp" use="optional"/>
+      <xs:attribute name="equiv" use="optional"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="isolated" use="optional" type="xlf:yesNo" default="no"/>
+      <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/>
+      <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
+      <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="ec">
+    <!-- End Code -->
+    <xs:complexType mixed="false">
+      <xs:attribute name="canCopy" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canDelete" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canOverlap" use="optional" type="xlf:yesNo" default="yes"/>
+      <xs:attribute name="canReorder" use="optional" type="xlf:yesNoFirstNo" default="yes"/>
+      <xs:attribute name="copyOf" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="dataRef" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="dir" use="optional" type="xlf:dirValue"/>
+      <xs:attribute name="disp" use="optional"/>
+      <xs:attribute name="equiv" use="optional"/>
+      <xs:attribute name="id" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="isolated" use="optional" type="xlf:yesNo" default="no"/>
+      <xs:attribute name="startRef" use="optional" type="xs:NMTOKEN"/>
+      <xs:attribute name="subFlows" use="optional" type="xs:NMTOKENS"/>
+      <xs:attribute name="subType" use="optional" type="xlf:userDefinedValue"/>
+      <xs:attribute name="type" use="optional" type="xlf:attrType_type"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="mrk">
+    <!-- Annotation Marker -->
+    <xs:complexType mixed="true">
+      <xs:group ref="xlf:inline" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="type" use="optional" type="xlf:attrType_typeForMrk"/>
+      <xs:attribute name="ref" use="optional" type="xs:anyURI"/>
+      <xs:attribute name="value" use="optional"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="sm">
+    <!-- Start Annotation Marker -->
+    <xs:complexType mixed="false">
+      <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+      <xs:attribute name="translate" use="optional" type="xlf:yesNo"/>
+      <xs:attribute name="type" use="optional" type="xlf:attrType_typeForMrk"/>
+      <xs:attribute name="ref" use="optional" type="xs:anyURI"/>
+      <xs:attribute name="value" use="optional"/>
+      <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="em">
+    <!-- End Annotation Marker -->
+    <xs:complexType mixed="false">
+      <xs:attribute name="startRef" use="required" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+
+</xs:schema>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xml.xsd b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xml.xsd
new file mode 100644
index 0000000..a46162a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Resources/schemas/xml.xsd
@@ -0,0 +1,309 @@
+<?xml version='1.0'?>
+<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?>
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns ="http://www.w3.org/1999/xhtml"
+  xml:lang="en">
+
+ <xs:annotation>
+  <xs:documentation>
+   <div>
+    <h1>About the XML namespace</h1>
+
+    <div class="bodytext">
+     <p>
+
+      This schema document describes the XML namespace, in a form
+      suitable for import by other schema documents.
+     </p>
+     <p>
+      See <a href="http://www.w3.org/XML/1998/namespace.html">
+      http://www.w3.org/XML/1998/namespace.html</a> and
+      <a href="http://www.w3.org/TR/REC-xml">
+      http://www.w3.org/TR/REC-xml</a> for information 
+      about this namespace.
+     </p>
+
+     <p>
+      Note that local names in this namespace are intended to be
+      defined only by the World Wide Web Consortium or its subgroups.
+      The names currently defined in this namespace are listed below.
+      They should not be used with conflicting semantics by any Working
+      Group, specification, or document instance.
+     </p>
+     <p>   
+      See further below in this document for more information about <a
+      href="#usage">how to refer to this schema document from your own
+      XSD schema documents</a> and about <a href="#nsversioning">the
+      namespace-versioning policy governing this schema document</a>.
+     </p>
+    </div>
+   </div>
+
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="lang">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>lang (as an attribute name)</h3>
+      <p>
+
+       denotes an attribute whose value
+       is a language code for the natural language of the content of
+       any element; its value is inherited.  This name is reserved
+       by virtue of its definition in the XML specification.</p>
+     
+    </div>
+    <div>
+     <h4>Notes</h4>
+     <p>
+      Attempting to install the relevant ISO 2- and 3-letter
+      codes as the enumerated possible values is probably never
+      going to be a realistic possibility.  
+     </p>
+     <p>
+
+      See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
+       http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
+      and the IANA language subtag registry at
+      <a href="http://www.iana.org/assignments/language-subtag-registry">
+       http://www.iana.org/assignments/language-subtag-registry</a>
+      for further information.
+     </p>
+     <p>
+
+      The union allows for the 'un-declaration' of xml:lang with
+      the empty string.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+  <xs:simpleType>
+   <xs:union memberTypes="xs:language">
+    <xs:simpleType>    
+     <xs:restriction base="xs:string">
+      <xs:enumeration value=""/>
+
+     </xs:restriction>
+    </xs:simpleType>
+   </xs:union>
+  </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="space">
+  <xs:annotation>
+   <xs:documentation>
+
+    <div>
+     
+      <h3>space (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose
+       value is a keyword indicating what whitespace processing
+       discipline is intended for the content of the element; its
+       value is inherited.  This name is reserved by virtue of its
+       definition in the XML specification.</p>
+     
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+  <xs:simpleType>
+
+   <xs:restriction base="xs:NCName">
+    <xs:enumeration value="default"/>
+    <xs:enumeration value="preserve"/>
+   </xs:restriction>
+  </xs:simpleType>
+ </xs:attribute>
+ 
+ <xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
+   <xs:documentation>
+
+    <div>
+     
+      <h3>base (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose value
+       provides a URI to be used as the base for interpreting any
+       relative URIs in the scope of the element on which it
+       appears; its value is inherited.  This name is reserved
+       by virtue of its definition in the XML Base specification.</p>
+     
+     <p>
+      See <a
+      href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
+      for information about this attribute.
+     </p>
+
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+ 
+ <xs:attribute name="id" type="xs:ID">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>id (as an attribute name)</h3> 
+      <p>
+
+       denotes an attribute whose value
+       should be interpreted as if declared to be of type ID.
+       This name is reserved by virtue of its definition in the
+       xml:id specification.</p>
+     
+     <p>
+      See <a
+      href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
+      for information about this attribute.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+  <xs:attribute ref="xml:base"/>
+  <xs:attribute ref="xml:lang"/>
+  <xs:attribute ref="xml:space"/>
+  <xs:attribute ref="xml:id"/>
+ </xs:attributeGroup>
+
+ <xs:annotation>
+
+  <xs:documentation>
+   <div>
+   
+    <h3>Father (in any context at all)</h3> 
+
+    <div class="bodytext">
+     <p>
+      denotes Jon Bosak, the chair of 
+      the original XML Working Group.  This name is reserved by 
+      the following decision of the W3C XML Plenary and 
+      XML Coordination groups:
+     </p>
+     <blockquote>
+       <p>
+
+	In appreciation for his vision, leadership and
+	dedication the W3C XML Plenary on this 10th day of
+	February, 2000, reserves for Jon Bosak in perpetuity
+	the XML name "xml:Father".
+       </p>
+     </blockquote>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>
+
+   <div xml:id="usage" id="usage">
+    <h2><a name="usage">About this schema document</a></h2>
+
+    <div class="bodytext">
+     <p>
+      This schema defines attributes and an attribute group suitable
+      for use by schemas wishing to allow <code>xml:base</code>,
+      <code>xml:lang</code>, <code>xml:space</code> or
+      <code>xml:id</code> attributes on elements they define.
+     </p>
+
+     <p>
+      To enable this, such a schema must import this schema for
+      the XML namespace, e.g. as follows:
+     </p>
+     <pre>
+          &lt;schema.. .>
+          .. .
+           &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     </pre>
+     <p>
+      or
+     </p>
+     <pre>
+
+           &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     </pre>
+     <p>
+      Subsequently, qualified reference to any of the attributes or the
+      group defined below will have the desired effect, e.g.
+     </p>
+     <pre>
+          &lt;type.. .>
+          .. .
+           &lt;attributeGroup ref="xml:specialAttrs"/>
+     </pre>
+     <p>
+      will define a type which will schema-validate an instance element
+      with any of those attributes.
+     </p>
+
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>
+   <div id="nsversioning" xml:id="nsversioning">
+    <h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
+
+    <div class="bodytext">
+     <p>
+      In keeping with the XML Schema WG's standard versioning
+      policy, this schema document will persist at
+      <a href="http://www.w3.org/2009/01/xml.xsd">
+       http://www.w3.org/2009/01/xml.xsd</a>.
+     </p>
+     <p>
+      At the date of issue it can also be found at
+      <a href="http://www.w3.org/2001/xml.xsd">
+       http://www.w3.org/2001/xml.xsd</a>.
+     </p>
+
+     <p>
+      The schema document at that URI may however change in the future,
+      in order to remain compatible with the latest version of XML
+      Schema itself, or with the XML namespace itself.  In other words,
+      if the XML Schema or XML namespaces change, the version of this
+      document at <a href="http://www.w3.org/2001/xml.xsd">
+       http://www.w3.org/2001/xml.xsd 
+      </a> 
+      will change accordingly; the version at 
+      <a href="http://www.w3.org/2009/01/xml.xsd">
+       http://www.w3.org/2009/01/xml.xsd 
+      </a> 
+      will not change.
+     </p>
+     <p>
+
+      Previous dated (and unchanging) versions of this schema 
+      document are at:
+     </p>
+     <ul>
+      <li><a href="http://www.w3.org/2009/01/xml.xsd">
+	http://www.w3.org/2009/01/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2007/08/xml.xsd">
+	http://www.w3.org/2007/08/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2004/10/xml.xsd">
+
+	http://www.w3.org/2004/10/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2001/03/xml.xsd">
+	http://www.w3.org/2001/03/xml.xsd</a></li>
+     </ul>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+</xs:schema>
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Test/ProviderFactoryTestCase.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Test/ProviderFactoryTestCase.php
new file mode 100644
index 0000000..6d5f4b7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Test/ProviderFactoryTestCase.php
@@ -0,0 +1,147 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Test;
+
+use PHPUnit\Framework\TestCase;
+use Psr\Log\LoggerInterface;
+use Symfony\Component\HttpClient\MockHttpClient;
+use Symfony\Component\Translation\Dumper\XliffFileDumper;
+use Symfony\Component\Translation\Exception\IncompleteDsnException;
+use Symfony\Component\Translation\Exception\UnsupportedSchemeException;
+use Symfony\Component\Translation\Loader\LoaderInterface;
+use Symfony\Component\Translation\Provider\Dsn;
+use Symfony\Component\Translation\Provider\ProviderFactoryInterface;
+use Symfony\Contracts\HttpClient\HttpClientInterface;
+
+/**
+ * A test case to ease testing a translation provider factory.
+ *
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @internal
+ */
+abstract class ProviderFactoryTestCase extends TestCase
+{
+    protected $client;
+    protected $logger;
+    protected $defaultLocale;
+    protected $loader;
+    protected $xliffFileDumper;
+
+    abstract public function createFactory(): ProviderFactoryInterface;
+
+    /**
+     * @return iterable<array{0: bool, 1: string}>
+     */
+    abstract public function supportsProvider(): iterable;
+
+    /**
+     * @return iterable<array{0: string, 1: string, 2: TransportInterface}>
+     */
+    abstract public function createProvider(): iterable;
+
+    /**
+     * @return iterable<array{0: string, 1: string|null}>
+     */
+    public function unsupportedSchemeProvider(): iterable
+    {
+        return [];
+    }
+
+    /**
+     * @return iterable<array{0: string, 1: string|null}>
+     */
+    public function incompleteDsnProvider(): iterable
+    {
+        return [];
+    }
+
+    /**
+     * @dataProvider supportsProvider
+     */
+    public function testSupports(bool $expected, string $dsn)
+    {
+        $factory = $this->createFactory();
+
+        $this->assertSame($expected, $factory->supports(new Dsn($dsn)));
+    }
+
+    /**
+     * @dataProvider createProvider
+     */
+    public function testCreate(string $expected, string $dsn)
+    {
+        $factory = $this->createFactory();
+        $provider = $factory->create(new Dsn($dsn));
+
+        $this->assertSame($expected, (string) $provider);
+    }
+
+    /**
+     * @dataProvider unsupportedSchemeProvider
+     */
+    public function testUnsupportedSchemeException(string $dsn, string $message = null)
+    {
+        $factory = $this->createFactory();
+
+        $dsn = new Dsn($dsn);
+
+        $this->expectException(UnsupportedSchemeException::class);
+        if (null !== $message) {
+            $this->expectExceptionMessage($message);
+        }
+
+        $factory->create($dsn);
+    }
+
+    /**
+     * @dataProvider incompleteDsnProvider
+     */
+    public function testIncompleteDsnException(string $dsn, string $message = null)
+    {
+        $factory = $this->createFactory();
+
+        $dsn = new Dsn($dsn);
+
+        $this->expectException(IncompleteDsnException::class);
+        if (null !== $message) {
+            $this->expectExceptionMessage($message);
+        }
+
+        $factory->create($dsn);
+    }
+
+    protected function getClient(): HttpClientInterface
+    {
+        return $this->client ?? $this->client = new MockHttpClient();
+    }
+
+    protected function getLogger(): LoggerInterface
+    {
+        return $this->logger ?? $this->logger = $this->createMock(LoggerInterface::class);
+    }
+
+    protected function getDefaultLocale(): string
+    {
+        return $this->defaultLocale ?? $this->defaultLocale = 'en';
+    }
+
+    protected function getLoader(): LoaderInterface
+    {
+        return $this->loader ?? $this->loader = $this->createMock(LoaderInterface::class);
+    }
+
+    protected function getXliffFileDumper(): XliffFileDumper
+    {
+        return $this->xliffFileDumper ?? $this->xliffFileDumper = $this->createMock(XliffFileDumper::class);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Test/ProviderTestCase.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Test/ProviderTestCase.php
new file mode 100644
index 0000000..238fd96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Test/ProviderTestCase.php
@@ -0,0 +1,86 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Test;
+
+use PHPUnit\Framework\MockObject\MockObject;
+use PHPUnit\Framework\TestCase;
+use Psr\Log\LoggerInterface;
+use Symfony\Component\HttpClient\MockHttpClient;
+use Symfony\Component\Translation\Dumper\XliffFileDumper;
+use Symfony\Component\Translation\Loader\LoaderInterface;
+use Symfony\Component\Translation\Provider\ProviderInterface;
+use Symfony\Contracts\HttpClient\HttpClientInterface;
+
+/**
+ * A test case to ease testing a translation provider.
+ *
+ * @author Mathieu Santostefano <msantostefano@protonmail.com>
+ *
+ * @internal
+ */
+abstract class ProviderTestCase extends TestCase
+{
+    protected $client;
+    protected $logger;
+    protected $defaultLocale;
+    protected $loader;
+    protected $xliffFileDumper;
+
+    abstract public function createProvider(HttpClientInterface $client, LoaderInterface $loader, LoggerInterface $logger, string $defaultLocale, string $endpoint): ProviderInterface;
+
+    /**
+     * @return iterable<array{0: string, 1: ProviderInterface}>
+     */
+    abstract public function toStringProvider(): iterable;
+
+    /**
+     * @dataProvider toStringProvider
+     */
+    public function testToString(ProviderInterface $provider, string $expected)
+    {
+        $this->assertSame($expected, (string) $provider);
+    }
+
+    protected function getClient(): MockHttpClient
+    {
+        return $this->client ?? $this->client = new MockHttpClient();
+    }
+
+    /**
+     * @return LoaderInterface&MockObject
+     */
+    protected function getLoader(): LoaderInterface
+    {
+        return $this->loader ?? $this->loader = $this->createMock(LoaderInterface::class);
+    }
+
+    /**
+     * @return LoaderInterface&MockObject
+     */
+    protected function getLogger(): LoggerInterface
+    {
+        return $this->logger ?? $this->logger = $this->createMock(LoggerInterface::class);
+    }
+
+    protected function getDefaultLocale(): string
+    {
+        return $this->defaultLocale ?? $this->defaultLocale = 'en';
+    }
+
+    /**
+     * @return LoaderInterface&MockObject
+     */
+    protected function getXliffFileDumper(): XliffFileDumper
+    {
+        return $this->xliffFileDumper ?? $this->xliffFileDumper = $this->createMock(XliffFileDumper::class);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatableMessage.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatableMessage.php
new file mode 100644
index 0000000..82ae6d7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatableMessage.php
@@ -0,0 +1,57 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Contracts\Translation\TranslatableInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
+
+/**
+ * @author Nate Wiebe <nate@northern.co>
+ */
+class TranslatableMessage implements TranslatableInterface
+{
+    private $message;
+    private $parameters;
+    private $domain;
+
+    public function __construct(string $message, array $parameters = [], string $domain = null)
+    {
+        $this->message = $message;
+        $this->parameters = $parameters;
+        $this->domain = $domain;
+    }
+
+    public function __toString(): string
+    {
+        return $this->getMessage();
+    }
+
+    public function getMessage(): string
+    {
+        return $this->message;
+    }
+
+    public function getParameters(): array
+    {
+        return $this->parameters;
+    }
+
+    public function getDomain(): ?string
+    {
+        return $this->domain;
+    }
+
+    public function trans(TranslatorInterface $translator, string $locale = null): string
+    {
+        return $translator->trans($this->getMessage(), $this->getParameters(), $this->getDomain(), $locale);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Translator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Translator.php
new file mode 100644
index 0000000..9a63956
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Translator.php
@@ -0,0 +1,490 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Component\Config\ConfigCacheFactory;
+use Symfony\Component\Config\ConfigCacheFactoryInterface;
+use Symfony\Component\Config\ConfigCacheInterface;
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Exception\NotFoundResourceException;
+use Symfony\Component\Translation\Exception\RuntimeException;
+use Symfony\Component\Translation\Formatter\IntlFormatterInterface;
+use Symfony\Component\Translation\Formatter\MessageFormatter;
+use Symfony\Component\Translation\Formatter\MessageFormatterInterface;
+use Symfony\Component\Translation\Loader\LoaderInterface;
+use Symfony\Contracts\Translation\LocaleAwareInterface;
+use Symfony\Contracts\Translation\TranslatorInterface;
+
+// Help opcache.preload discover always-needed symbols
+class_exists(MessageCatalogue::class);
+
+/**
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class Translator implements TranslatorInterface, TranslatorBagInterface, LocaleAwareInterface
+{
+    /**
+     * @var MessageCatalogueInterface[]
+     */
+    protected $catalogues = [];
+
+    /**
+     * @var string
+     */
+    private $locale;
+
+    /**
+     * @var array
+     */
+    private $fallbackLocales = [];
+
+    /**
+     * @var LoaderInterface[]
+     */
+    private $loaders = [];
+
+    /**
+     * @var array
+     */
+    private $resources = [];
+
+    /**
+     * @var MessageFormatterInterface
+     */
+    private $formatter;
+
+    /**
+     * @var string
+     */
+    private $cacheDir;
+
+    /**
+     * @var bool
+     */
+    private $debug;
+
+    private $cacheVary;
+
+    /**
+     * @var ConfigCacheFactoryInterface|null
+     */
+    private $configCacheFactory;
+
+    /**
+     * @var array|null
+     */
+    private $parentLocales;
+
+    private $hasIntlFormatter;
+
+    /**
+     * @throws InvalidArgumentException If a locale contains invalid characters
+     */
+    public function __construct(string $locale, MessageFormatterInterface $formatter = null, string $cacheDir = null, bool $debug = false, array $cacheVary = [])
+    {
+        $this->setLocale($locale);
+
+        if (null === $formatter) {
+            $formatter = new MessageFormatter();
+        }
+
+        $this->formatter = $formatter;
+        $this->cacheDir = $cacheDir;
+        $this->debug = $debug;
+        $this->cacheVary = $cacheVary;
+        $this->hasIntlFormatter = $formatter instanceof IntlFormatterInterface;
+    }
+
+    public function setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory)
+    {
+        $this->configCacheFactory = $configCacheFactory;
+    }
+
+    /**
+     * Adds a Loader.
+     *
+     * @param string $format The name of the loader (@see addResource())
+     */
+    public function addLoader(string $format, LoaderInterface $loader)
+    {
+        $this->loaders[$format] = $loader;
+    }
+
+    /**
+     * Adds a Resource.
+     *
+     * @param string $format   The name of the loader (@see addLoader())
+     * @param mixed  $resource The resource name
+     *
+     * @throws InvalidArgumentException If the locale contains invalid characters
+     */
+    public function addResource(string $format, $resource, string $locale, string $domain = null)
+    {
+        if (null === $domain) {
+            $domain = 'messages';
+        }
+
+        $this->assertValidLocale($locale);
+        $locale ?: $locale = class_exists(\Locale::class) ? \Locale::getDefault() : 'en';
+
+        $this->resources[$locale][] = [$format, $resource, $domain];
+
+        if (\in_array($locale, $this->fallbackLocales)) {
+            $this->catalogues = [];
+        } else {
+            unset($this->catalogues[$locale]);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setLocale(string $locale)
+    {
+        $this->assertValidLocale($locale);
+        $this->locale = $locale;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getLocale()
+    {
+        return $this->locale ?: (class_exists(\Locale::class) ? \Locale::getDefault() : 'en');
+    }
+
+    /**
+     * Sets the fallback locales.
+     *
+     * @throws InvalidArgumentException If a locale contains invalid characters
+     */
+    public function setFallbackLocales(array $locales)
+    {
+        // needed as the fallback locales are linked to the already loaded catalogues
+        $this->catalogues = [];
+
+        foreach ($locales as $locale) {
+            $this->assertValidLocale($locale);
+        }
+
+        $this->fallbackLocales = $this->cacheVary['fallback_locales'] = $locales;
+    }
+
+    /**
+     * Gets the fallback locales.
+     *
+     * @internal
+     */
+    public function getFallbackLocales(): array
+    {
+        return $this->fallbackLocales;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function trans(?string $id, array $parameters = [], string $domain = null, string $locale = null)
+    {
+        if (null === $id || '' === $id) {
+            return '';
+        }
+
+        if (null === $domain) {
+            $domain = 'messages';
+        }
+
+        $catalogue = $this->getCatalogue($locale);
+        $locale = $catalogue->getLocale();
+        while (!$catalogue->defines($id, $domain)) {
+            if ($cat = $catalogue->getFallbackCatalogue()) {
+                $catalogue = $cat;
+                $locale = $catalogue->getLocale();
+            } else {
+                break;
+            }
+        }
+
+        $len = \strlen(MessageCatalogue::INTL_DOMAIN_SUFFIX);
+        if ($this->hasIntlFormatter
+            && ($catalogue->defines($id, $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)
+            || (\strlen($domain) > $len && 0 === substr_compare($domain, MessageCatalogue::INTL_DOMAIN_SUFFIX, -$len, $len)))
+        ) {
+            return $this->formatter->formatIntl($catalogue->get($id, $domain), $locale, $parameters);
+        }
+
+        return $this->formatter->format($catalogue->get($id, $domain), $locale, $parameters);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogue(string $locale = null)
+    {
+        if (!$locale) {
+            $locale = $this->getLocale();
+        } else {
+            $this->assertValidLocale($locale);
+        }
+
+        if (!isset($this->catalogues[$locale])) {
+            $this->loadCatalogue($locale);
+        }
+
+        return $this->catalogues[$locale];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogues(): array
+    {
+        return array_values($this->catalogues);
+    }
+
+    /**
+     * Gets the loaders.
+     *
+     * @return array LoaderInterface[]
+     */
+    protected function getLoaders()
+    {
+        return $this->loaders;
+    }
+
+    protected function loadCatalogue(string $locale)
+    {
+        if (null === $this->cacheDir) {
+            $this->initializeCatalogue($locale);
+        } else {
+            $this->initializeCacheCatalogue($locale);
+        }
+    }
+
+    protected function initializeCatalogue(string $locale)
+    {
+        $this->assertValidLocale($locale);
+
+        try {
+            $this->doLoadCatalogue($locale);
+        } catch (NotFoundResourceException $e) {
+            if (!$this->computeFallbackLocales($locale)) {
+                throw $e;
+            }
+        }
+        $this->loadFallbackCatalogues($locale);
+    }
+
+    private function initializeCacheCatalogue(string $locale): void
+    {
+        if (isset($this->catalogues[$locale])) {
+            /* Catalogue already initialized. */
+            return;
+        }
+
+        $this->assertValidLocale($locale);
+        $cache = $this->getConfigCacheFactory()->cache($this->getCatalogueCachePath($locale),
+            function (ConfigCacheInterface $cache) use ($locale) {
+                $this->dumpCatalogue($locale, $cache);
+            }
+        );
+
+        if (isset($this->catalogues[$locale])) {
+            /* Catalogue has been initialized as it was written out to cache. */
+            return;
+        }
+
+        /* Read catalogue from cache. */
+        $this->catalogues[$locale] = include $cache->getPath();
+    }
+
+    private function dumpCatalogue(string $locale, ConfigCacheInterface $cache): void
+    {
+        $this->initializeCatalogue($locale);
+        $fallbackContent = $this->getFallbackContent($this->catalogues[$locale]);
+
+        $content = sprintf(<<<EOF
+<?php
+
+use Symfony\Component\Translation\MessageCatalogue;
+
+\$catalogue = new MessageCatalogue('%s', %s);
+
+%s
+return \$catalogue;
+
+EOF
+            ,
+            $locale,
+            var_export($this->getAllMessages($this->catalogues[$locale]), true),
+            $fallbackContent
+        );
+
+        $cache->write($content, $this->catalogues[$locale]->getResources());
+    }
+
+    private function getFallbackContent(MessageCatalogue $catalogue): string
+    {
+        $fallbackContent = '';
+        $current = '';
+        $replacementPattern = '/[^a-z0-9_]/i';
+        $fallbackCatalogue = $catalogue->getFallbackCatalogue();
+        while ($fallbackCatalogue) {
+            $fallback = $fallbackCatalogue->getLocale();
+            $fallbackSuffix = ucfirst(preg_replace($replacementPattern, '_', $fallback));
+            $currentSuffix = ucfirst(preg_replace($replacementPattern, '_', $current));
+
+            $fallbackContent .= sprintf(<<<'EOF'
+$catalogue%s = new MessageCatalogue('%s', %s);
+$catalogue%s->addFallbackCatalogue($catalogue%s);
+
+EOF
+                ,
+                $fallbackSuffix,
+                $fallback,
+                var_export($this->getAllMessages($fallbackCatalogue), true),
+                $currentSuffix,
+                $fallbackSuffix
+            );
+            $current = $fallbackCatalogue->getLocale();
+            $fallbackCatalogue = $fallbackCatalogue->getFallbackCatalogue();
+        }
+
+        return $fallbackContent;
+    }
+
+    private function getCatalogueCachePath(string $locale): string
+    {
+        return $this->cacheDir.'/catalogue.'.$locale.'.'.strtr(substr(base64_encode(hash('sha256', serialize($this->cacheVary), true)), 0, 7), '/', '_').'.php';
+    }
+
+    /**
+     * @internal
+     */
+    protected function doLoadCatalogue(string $locale): void
+    {
+        $this->catalogues[$locale] = new MessageCatalogue($locale);
+
+        if (isset($this->resources[$locale])) {
+            foreach ($this->resources[$locale] as $resource) {
+                if (!isset($this->loaders[$resource[0]])) {
+                    if (\is_string($resource[1])) {
+                        throw new RuntimeException(sprintf('No loader is registered for the "%s" format when loading the "%s" resource.', $resource[0], $resource[1]));
+                    }
+
+                    throw new RuntimeException(sprintf('No loader is registered for the "%s" format.', $resource[0]));
+                }
+                $this->catalogues[$locale]->addCatalogue($this->loaders[$resource[0]]->load($resource[1], $locale, $resource[2]));
+            }
+        }
+    }
+
+    private function loadFallbackCatalogues(string $locale): void
+    {
+        $current = $this->catalogues[$locale];
+
+        foreach ($this->computeFallbackLocales($locale) as $fallback) {
+            if (!isset($this->catalogues[$fallback])) {
+                $this->initializeCatalogue($fallback);
+            }
+
+            $fallbackCatalogue = new MessageCatalogue($fallback, $this->getAllMessages($this->catalogues[$fallback]));
+            foreach ($this->catalogues[$fallback]->getResources() as $resource) {
+                $fallbackCatalogue->addResource($resource);
+            }
+            $current->addFallbackCatalogue($fallbackCatalogue);
+            $current = $fallbackCatalogue;
+        }
+    }
+
+    protected function computeFallbackLocales(string $locale)
+    {
+        if (null === $this->parentLocales) {
+            $this->parentLocales = json_decode(file_get_contents(__DIR__.'/Resources/data/parents.json'), true);
+        }
+
+        $locales = [];
+        foreach ($this->fallbackLocales as $fallback) {
+            if ($fallback === $locale) {
+                continue;
+            }
+
+            $locales[] = $fallback;
+        }
+
+        while ($locale) {
+            $parent = $this->parentLocales[$locale] ?? null;
+
+            if ($parent) {
+                $locale = 'root' !== $parent ? $parent : null;
+            } elseif (\function_exists('locale_parse')) {
+                $localeSubTags = locale_parse($locale);
+                $locale = null;
+                if (1 < \count($localeSubTags)) {
+                    array_pop($localeSubTags);
+                    $locale = locale_compose($localeSubTags) ?: null;
+                }
+            } elseif ($i = strrpos($locale, '_') ?: strrpos($locale, '-')) {
+                $locale = substr($locale, 0, $i);
+            } else {
+                $locale = null;
+            }
+
+            if (null !== $locale) {
+                array_unshift($locales, $locale);
+            }
+        }
+
+        return array_unique($locales);
+    }
+
+    /**
+     * Asserts that the locale is valid, throws an Exception if not.
+     *
+     * @throws InvalidArgumentException If the locale contains invalid characters
+     */
+    protected function assertValidLocale(string $locale)
+    {
+        if (!preg_match('/^[a-z0-9@_\\.\\-]*$/i', (string) $locale)) {
+            throw new InvalidArgumentException(sprintf('Invalid "%s" locale.', $locale));
+        }
+    }
+
+    /**
+     * Provides the ConfigCache factory implementation, falling back to a
+     * default implementation if necessary.
+     */
+    private function getConfigCacheFactory(): ConfigCacheFactoryInterface
+    {
+        if (!$this->configCacheFactory) {
+            $this->configCacheFactory = new ConfigCacheFactory($this->debug);
+        }
+
+        return $this->configCacheFactory;
+    }
+
+    private function getAllMessages(MessageCatalogueInterface $catalogue): array
+    {
+        $allMessages = [];
+
+        foreach ($catalogue->all() as $domain => $messages) {
+            if ($intlMessages = $catalogue->all($domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) {
+                $allMessages[$domain.MessageCatalogue::INTL_DOMAIN_SUFFIX] = $intlMessages;
+                $messages = array_diff_key($messages, $intlMessages);
+            }
+            if ($messages) {
+                $allMessages[$domain] = $messages;
+            }
+        }
+
+        return $allMessages;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatorBag.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatorBag.php
new file mode 100644
index 0000000..c655578
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatorBag.php
@@ -0,0 +1,105 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Component\Translation\Catalogue\AbstractOperation;
+use Symfony\Component\Translation\Catalogue\TargetOperation;
+
+final class TranslatorBag implements TranslatorBagInterface
+{
+    /** @var MessageCatalogue[] */
+    private $catalogues = [];
+
+    public function addCatalogue(MessageCatalogue $catalogue): void
+    {
+        if (null !== $existingCatalogue = $this->getCatalogue($catalogue->getLocale())) {
+            $catalogue->addCatalogue($existingCatalogue);
+        }
+
+        $this->catalogues[$catalogue->getLocale()] = $catalogue;
+    }
+
+    public function addBag(TranslatorBagInterface $bag): void
+    {
+        foreach ($bag->getCatalogues() as $catalogue) {
+            $this->addCatalogue($catalogue);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogue(string $locale = null)
+    {
+        if (null === $locale || !isset($this->catalogues[$locale])) {
+            $this->catalogues[$locale] = new MessageCatalogue($locale);
+        }
+
+        return $this->catalogues[$locale];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCatalogues(): array
+    {
+        return array_values($this->catalogues);
+    }
+
+    public function diff(TranslatorBagInterface $diffBag): self
+    {
+        $diff = new self();
+
+        foreach ($this->catalogues as $locale => $catalogue) {
+            if (null === $diffCatalogue = $diffBag->getCatalogue($locale)) {
+                $diff->addCatalogue($catalogue);
+
+                continue;
+            }
+
+            $operation = new TargetOperation($diffCatalogue, $catalogue);
+            $operation->moveMessagesToIntlDomainsIfPossible(AbstractOperation::NEW_BATCH);
+            $newCatalogue = new MessageCatalogue($locale);
+
+            foreach ($operation->getDomains() as $domain) {
+                $newCatalogue->add($operation->getNewMessages($domain), $domain);
+            }
+
+            $diff->addCatalogue($newCatalogue);
+        }
+
+        return $diff;
+    }
+
+    public function intersect(TranslatorBagInterface $intersectBag): self
+    {
+        $diff = new self();
+
+        foreach ($this->catalogues as $locale => $catalogue) {
+            if (null === $intersectCatalogue = $intersectBag->getCatalogue($locale)) {
+                continue;
+            }
+
+            $operation = new TargetOperation($catalogue, $intersectCatalogue);
+            $operation->moveMessagesToIntlDomainsIfPossible(AbstractOperation::OBSOLETE_BATCH);
+            $obsoleteCatalogue = new MessageCatalogue($locale);
+
+            foreach ($operation->getDomains() as $domain) {
+                $obsoleteCatalogue->add($operation->getObsoleteMessages($domain), $domain);
+            }
+
+            $diff->addCatalogue($obsoleteCatalogue);
+        }
+
+        return $diff;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatorBagInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatorBagInterface.php
new file mode 100644
index 0000000..4228977
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/TranslatorBagInterface.php
@@ -0,0 +1,35 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+
+/**
+ * TranslatorBagInterface.
+ *
+ * @method MessageCatalogueInterface[] getCatalogues() Returns all catalogues of the instance
+ *
+ * @author Abdellatif Ait boudad <a.aitboudad@gmail.com>
+ */
+interface TranslatorBagInterface
+{
+    /**
+     * Gets the catalogue by locale.
+     *
+     * @param string|null $locale The locale or null to use the default
+     *
+     * @return MessageCatalogueInterface
+     *
+     * @throws InvalidArgumentException If the locale contains invalid characters
+     */
+    public function getCatalogue(string $locale = null);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Util/ArrayConverter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Util/ArrayConverter.php
new file mode 100644
index 0000000..acfbfc3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Util/ArrayConverter.php
@@ -0,0 +1,99 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Util;
+
+/**
+ * ArrayConverter generates tree like structure from a message catalogue.
+ * e.g. this
+ *   'foo.bar1' => 'test1',
+ *   'foo.bar2' => 'test2'
+ * converts to follows:
+ *   foo:
+ *     bar1: test1
+ *     bar2: test2.
+ *
+ * @author Gennady Telegin <gtelegin@gmail.com>
+ */
+class ArrayConverter
+{
+    /**
+     * Converts linear messages array to tree-like array.
+     * For example this array('foo.bar' => 'value') will be converted to ['foo' => ['bar' => 'value']].
+     *
+     * @param array $messages Linear messages array
+     *
+     * @return array Tree-like messages array
+     */
+    public static function expandToTree(array $messages)
+    {
+        $tree = [];
+
+        foreach ($messages as $id => $value) {
+            $referenceToElement = &self::getElementByPath($tree, explode('.', $id));
+
+            $referenceToElement = $value;
+
+            unset($referenceToElement);
+        }
+
+        return $tree;
+    }
+
+    private static function &getElementByPath(array &$tree, array $parts)
+    {
+        $elem = &$tree;
+        $parentOfElem = null;
+
+        foreach ($parts as $i => $part) {
+            if (isset($elem[$part]) && \is_string($elem[$part])) {
+                /* Process next case:
+                 *    'foo': 'test1',
+                 *    'foo.bar': 'test2'
+                 *
+                 * $tree['foo'] was string before we found array {bar: test2}.
+                 *  Treat new element as string too, e.g. add $tree['foo.bar'] = 'test2';
+                 */
+                $elem = &$elem[implode('.', \array_slice($parts, $i))];
+                break;
+            }
+            $parentOfElem = &$elem;
+            $elem = &$elem[$part];
+        }
+
+        if ($elem && \is_array($elem) && $parentOfElem) {
+            /* Process next case:
+             *    'foo.bar': 'test1'
+             *    'foo': 'test2'
+             *
+             * $tree['foo'] was array = {bar: 'test1'} before we found string constant `foo`.
+             * Cancel treating $tree['foo'] as array and cancel back it expansion,
+             *  e.g. make it $tree['foo.bar'] = 'test1' again.
+             */
+            self::cancelExpand($parentOfElem, $part, $elem);
+        }
+
+        return $elem;
+    }
+
+    private static function cancelExpand(array &$tree, string $prefix, array $node)
+    {
+        $prefix .= '.';
+
+        foreach ($node as $id => $value) {
+            if (\is_string($value)) {
+                $tree[$prefix.$id] = $value;
+            } else {
+                self::cancelExpand($tree, $prefix.$id, $value);
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Util/XliffUtils.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Util/XliffUtils.php
new file mode 100644
index 0000000..e4373a7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Util/XliffUtils.php
@@ -0,0 +1,196 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Util;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Exception\InvalidResourceException;
+
+/**
+ * Provides some utility methods for XLIFF translation files, such as validating
+ * their contents according to the XSD schema.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class XliffUtils
+{
+    /**
+     * Gets xliff file version based on the root "version" attribute.
+     *
+     * Defaults to 1.2 for backwards compatibility.
+     *
+     * @throws InvalidArgumentException
+     */
+    public static function getVersionNumber(\DOMDocument $dom): string
+    {
+        /** @var \DOMNode $xliff */
+        foreach ($dom->getElementsByTagName('xliff') as $xliff) {
+            $version = $xliff->attributes->getNamedItem('version');
+            if ($version) {
+                return $version->nodeValue;
+            }
+
+            $namespace = $xliff->attributes->getNamedItem('xmlns');
+            if ($namespace) {
+                if (0 !== substr_compare('urn:oasis:names:tc:xliff:document:', $namespace->nodeValue, 0, 34)) {
+                    throw new InvalidArgumentException(sprintf('Not a valid XLIFF namespace "%s".', $namespace));
+                }
+
+                return substr($namespace, 34);
+            }
+        }
+
+        // Falls back to v1.2
+        return '1.2';
+    }
+
+    /**
+     * Validates and parses the given file into a DOMDocument.
+     *
+     * @throws InvalidResourceException
+     */
+    public static function validateSchema(\DOMDocument $dom): array
+    {
+        $xliffVersion = static::getVersionNumber($dom);
+        $internalErrors = libxml_use_internal_errors(true);
+        if ($shouldEnable = self::shouldEnableEntityLoader()) {
+            $disableEntities = libxml_disable_entity_loader(false);
+        }
+        try {
+            $isValid = @$dom->schemaValidateSource(self::getSchema($xliffVersion));
+            if (!$isValid) {
+                return self::getXmlErrors($internalErrors);
+            }
+        } finally {
+            if ($shouldEnable) {
+                libxml_disable_entity_loader($disableEntities);
+            }
+        }
+
+        $dom->normalizeDocument();
+
+        libxml_clear_errors();
+        libxml_use_internal_errors($internalErrors);
+
+        return [];
+    }
+
+    private static function shouldEnableEntityLoader(): bool
+    {
+        // Version prior to 8.0 can be enabled without deprecation
+        if (\PHP_VERSION_ID < 80000) {
+            return true;
+        }
+
+        static $dom, $schema;
+        if (null === $dom) {
+            $dom = new \DOMDocument();
+            $dom->loadXML('<?xml version="1.0"?><test/>');
+
+            $tmpfile = tempnam(sys_get_temp_dir(), 'symfony');
+            register_shutdown_function(static function () use ($tmpfile) {
+                @unlink($tmpfile);
+            });
+            $schema = '<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:include schemaLocation="file:///'.str_replace('\\', '/', $tmpfile).'" />
+</xsd:schema>';
+            file_put_contents($tmpfile, '<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:element name="test" type="testType" />
+  <xsd:complexType name="testType"/>
+</xsd:schema>');
+        }
+
+        return !@$dom->schemaValidateSource($schema);
+    }
+
+    public static function getErrorsAsString(array $xmlErrors): string
+    {
+        $errorsAsString = '';
+
+        foreach ($xmlErrors as $error) {
+            $errorsAsString .= sprintf("[%s %s] %s (in %s - line %d, column %d)\n",
+                \LIBXML_ERR_WARNING === $error['level'] ? 'WARNING' : 'ERROR',
+                $error['code'],
+                $error['message'],
+                $error['file'],
+                $error['line'],
+                $error['column']
+            );
+        }
+
+        return $errorsAsString;
+    }
+
+    private static function getSchema(string $xliffVersion): string
+    {
+        if ('1.2' === $xliffVersion) {
+            $schemaSource = file_get_contents(__DIR__.'/../Resources/schemas/xliff-core-1.2-strict.xsd');
+            $xmlUri = 'http://www.w3.org/2001/xml.xsd';
+        } elseif ('2.0' === $xliffVersion) {
+            $schemaSource = file_get_contents(__DIR__.'/../Resources/schemas/xliff-core-2.0.xsd');
+            $xmlUri = 'informativeCopiesOf3rdPartySchemas/w3c/xml.xsd';
+        } else {
+            throw new InvalidArgumentException(sprintf('No support implemented for loading XLIFF version "%s".', $xliffVersion));
+        }
+
+        return self::fixXmlLocation($schemaSource, $xmlUri);
+    }
+
+    /**
+     * Internally changes the URI of a dependent xsd to be loaded locally.
+     */
+    private static function fixXmlLocation(string $schemaSource, string $xmlUri): string
+    {
+        $newPath = str_replace('\\', '/', __DIR__).'/../Resources/schemas/xml.xsd';
+        $parts = explode('/', $newPath);
+        $locationstart = 'file:///';
+        if (0 === stripos($newPath, 'phar://')) {
+            $tmpfile = tempnam(sys_get_temp_dir(), 'symfony');
+            if ($tmpfile) {
+                copy($newPath, $tmpfile);
+                $parts = explode('/', str_replace('\\', '/', $tmpfile));
+            } else {
+                array_shift($parts);
+                $locationstart = 'phar:///';
+            }
+        }
+
+        $drive = '\\' === \DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
+        $newPath = $locationstart.$drive.implode('/', array_map('rawurlencode', $parts));
+
+        return str_replace($xmlUri, $newPath, $schemaSource);
+    }
+
+    /**
+     * Returns the XML errors of the internal XML parser.
+     */
+    private static function getXmlErrors(bool $internalErrors): array
+    {
+        $errors = [];
+        foreach (libxml_get_errors() as $error) {
+            $errors[] = [
+                'level' => \LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR',
+                'code' => $error->code,
+                'message' => trim($error->message),
+                'file' => $error->file ?: 'n/a',
+                'line' => $error->line,
+                'column' => $error->column,
+            ];
+        }
+
+        libxml_clear_errors();
+        libxml_use_internal_errors($internalErrors);
+
+        return $errors;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Writer/TranslationWriter.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Writer/TranslationWriter.php
new file mode 100644
index 0000000..0a349b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Writer/TranslationWriter.php
@@ -0,0 +1,70 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Writer;
+
+use Symfony\Component\Translation\Dumper\DumperInterface;
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\Exception\RuntimeException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * TranslationWriter writes translation messages.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+class TranslationWriter implements TranslationWriterInterface
+{
+    private $dumpers = [];
+
+    /**
+     * Adds a dumper to the writer.
+     */
+    public function addDumper(string $format, DumperInterface $dumper)
+    {
+        $this->dumpers[$format] = $dumper;
+    }
+
+    /**
+     * Obtains the list of supported formats.
+     *
+     * @return array
+     */
+    public function getFormats()
+    {
+        return array_keys($this->dumpers);
+    }
+
+    /**
+     * Writes translation from the catalogue according to the selected format.
+     *
+     * @param string $format  The format to use to dump the messages
+     * @param array  $options Options that are passed to the dumper
+     *
+     * @throws InvalidArgumentException
+     */
+    public function write(MessageCatalogue $catalogue, string $format, array $options = [])
+    {
+        if (!isset($this->dumpers[$format])) {
+            throw new InvalidArgumentException(sprintf('There is no dumper associated with format "%s".', $format));
+        }
+
+        // get the right dumper
+        $dumper = $this->dumpers[$format];
+
+        if (isset($options['path']) && !is_dir($options['path']) && !@mkdir($options['path'], 0777, true) && !is_dir($options['path'])) {
+            throw new RuntimeException(sprintf('Translation Writer was not able to create directory "%s".', $options['path']));
+        }
+
+        // save
+        $dumper->dump($catalogue, $options);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Writer/TranslationWriterInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Writer/TranslationWriterInterface.php
new file mode 100644
index 0000000..4321309
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/Writer/TranslationWriterInterface.php
@@ -0,0 +1,33 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Translation\Writer;
+
+use Symfony\Component\Translation\Exception\InvalidArgumentException;
+use Symfony\Component\Translation\MessageCatalogue;
+
+/**
+ * TranslationWriter writes translation messages.
+ *
+ * @author Michel Salib <michelsalib@hotmail.com>
+ */
+interface TranslationWriterInterface
+{
+    /**
+     * Writes translation from the catalogue according to the selected format.
+     *
+     * @param string $format  The format to use to dump the messages
+     * @param array  $options Options that are passed to the dumper
+     *
+     * @throws InvalidArgumentException
+     */
+    public function write(MessageCatalogue $catalogue, string $format, array $options = []);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/composer.json
new file mode 100644
index 0000000..de84e16
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/translation/composer.json
@@ -0,0 +1,60 @@
+{
+    "name": "symfony/translation",
+    "type": "library",
+    "description": "Provides tools to internationalize your application",
+    "keywords": [],
+    "homepage": "https://symfony.com",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Fabien Potencier",
+            "email": "fabien@symfony.com"
+        },
+        {
+            "name": "Symfony Community",
+            "homepage": "https://symfony.com/contributors"
+        }
+    ],
+    "require": {
+        "php": ">=7.2.5",
+        "symfony/deprecation-contracts": "^2.1",
+        "symfony/polyfill-mbstring": "~1.0",
+        "symfony/polyfill-php80": "^1.16",
+        "symfony/translation-contracts": "^2.3"
+    },
+    "require-dev": {
+        "symfony/config": "^4.4|^5.0",
+        "symfony/console": "^4.4|^5.0",
+        "symfony/dependency-injection": "^5.0",
+        "symfony/http-kernel": "^5.0",
+        "symfony/intl": "^4.4|^5.0",
+        "symfony/polyfill-intl-icu": "^1.21",
+        "symfony/service-contracts": "^1.1.2|^2",
+        "symfony/yaml": "^4.4|^5.0",
+        "symfony/finder": "^4.4|^5.0",
+        "psr/log": "^1|^2|^3"
+    },
+    "conflict": {
+        "symfony/config": "<4.4",
+        "symfony/dependency-injection": "<5.0",
+        "symfony/http-kernel": "<5.0",
+        "symfony/twig-bundle": "<5.0",
+        "symfony/yaml": "<4.4"
+    },
+    "provide": {
+        "symfony/translation-implementation": "2.3"
+    },
+    "suggest": {
+        "symfony/config": "",
+        "symfony/yaml": "",
+        "psr/log-implementation": "To use logging capability in translator"
+    },
+    "autoload": {
+        "files": [ "Resources/functions.php" ],
+        "psr-4": { "Symfony\\Component\\Translation\\": "" },
+        "exclude-from-classmap": [
+            "/Tests/"
+        ]
+    },
+    "minimum-stability": "dev"
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/CHANGELOG.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/CHANGELOG.md
new file mode 100644
index 0000000..f3956e6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/CHANGELOG.md
@@ -0,0 +1,65 @@
+CHANGELOG
+=========
+
+5.2.0
+-----
+
+ * added support for PHPUnit `--colors` option
+ * added `VAR_DUMPER_FORMAT=server` env var value support
+ * prevent replacing the handler when the `VAR_DUMPER_FORMAT` env var is set
+
+5.1.0
+-----
+
+ * added `RdKafka` support
+
+4.4.0
+-----
+
+ * added `VarDumperTestTrait::setUpVarDumper()` and `VarDumperTestTrait::tearDownVarDumper()`
+   to configure casters & flags to use in tests
+ * added `ImagineCaster` and infrastructure to dump images
+ * added the stamps of a message after it is dispatched in `TraceableMessageBus` and `MessengerDataCollector` collected data
+ * added `UuidCaster`
+ * made all casters final
+ * added support for the `NO_COLOR` env var (https://no-color.org/)
+
+4.3.0
+-----
+
+ * added `DsCaster` to support dumping the contents of data structures from the Ds extension
+
+4.2.0
+-----
+
+ * support selecting the format to use by setting the environment variable `VAR_DUMPER_FORMAT` to `html` or `cli`
+
+4.1.0
+-----
+
+ * added a `ServerDumper` to send serialized Data clones to a server
+ * added a `ServerDumpCommand` and `DumpServer` to run a server collecting
+   and displaying dumps on a single place with multiple formats support
+ * added `CliDescriptor` and `HtmlDescriptor` descriptors for `server:dump` CLI and HTML formats support
+
+4.0.0
+-----
+
+ * support for passing `\ReflectionClass` instances to the `Caster::castObject()`
+   method has been dropped, pass class names as strings instead
+ * the `Data::getRawData()` method has been removed
+ * the `VarDumperTestTrait::assertDumpEquals()` method expects a 3rd `$filter = 0`
+   argument and moves `$message = ''` argument at 4th position.
+ * the `VarDumperTestTrait::assertDumpMatchesFormat()` method expects a 3rd `$filter = 0`
+   argument and moves `$message = ''` argument at 4th position.
+
+3.4.0
+-----
+
+ * added `AbstractCloner::setMinDepth()` function to ensure minimum tree depth
+ * deprecated `MongoCaster`
+
+2.7.0
+-----
+
+ * deprecated `Cloner\Data::getLimitedClone()`. Use `withMaxDepth`, `withMaxItemsPerDepth` or `withRefHandles` instead.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/AmqpCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/AmqpCaster.php
new file mode 100644
index 0000000..dc3b621
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/AmqpCaster.php
@@ -0,0 +1,212 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts Amqp related classes to array representation.
+ *
+ * @author Grégoire Pineau <lyrixx@lyrixx.info>
+ *
+ * @final
+ */
+class AmqpCaster
+{
+    private const FLAGS = [
+        \AMQP_DURABLE => 'AMQP_DURABLE',
+        \AMQP_PASSIVE => 'AMQP_PASSIVE',
+        \AMQP_EXCLUSIVE => 'AMQP_EXCLUSIVE',
+        \AMQP_AUTODELETE => 'AMQP_AUTODELETE',
+        \AMQP_INTERNAL => 'AMQP_INTERNAL',
+        \AMQP_NOLOCAL => 'AMQP_NOLOCAL',
+        \AMQP_AUTOACK => 'AMQP_AUTOACK',
+        \AMQP_IFEMPTY => 'AMQP_IFEMPTY',
+        \AMQP_IFUNUSED => 'AMQP_IFUNUSED',
+        \AMQP_MANDATORY => 'AMQP_MANDATORY',
+        \AMQP_IMMEDIATE => 'AMQP_IMMEDIATE',
+        \AMQP_MULTIPLE => 'AMQP_MULTIPLE',
+        \AMQP_NOWAIT => 'AMQP_NOWAIT',
+        \AMQP_REQUEUE => 'AMQP_REQUEUE',
+    ];
+
+    private const EXCHANGE_TYPES = [
+        \AMQP_EX_TYPE_DIRECT => 'AMQP_EX_TYPE_DIRECT',
+        \AMQP_EX_TYPE_FANOUT => 'AMQP_EX_TYPE_FANOUT',
+        \AMQP_EX_TYPE_TOPIC => 'AMQP_EX_TYPE_TOPIC',
+        \AMQP_EX_TYPE_HEADERS => 'AMQP_EX_TYPE_HEADERS',
+    ];
+
+    public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'is_connected' => $c->isConnected(),
+        ];
+
+        // Recent version of the extension already expose private properties
+        if (isset($a["\x00AMQPConnection\x00login"])) {
+            return $a;
+        }
+
+        // BC layer in the amqp lib
+        if (method_exists($c, 'getReadTimeout')) {
+            $timeout = $c->getReadTimeout();
+        } else {
+            $timeout = $c->getTimeout();
+        }
+
+        $a += [
+            $prefix.'is_connected' => $c->isConnected(),
+            $prefix.'login' => $c->getLogin(),
+            $prefix.'password' => $c->getPassword(),
+            $prefix.'host' => $c->getHost(),
+            $prefix.'vhost' => $c->getVhost(),
+            $prefix.'port' => $c->getPort(),
+            $prefix.'read_timeout' => $timeout,
+        ];
+
+        return $a;
+    }
+
+    public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'is_connected' => $c->isConnected(),
+            $prefix.'channel_id' => $c->getChannelId(),
+        ];
+
+        // Recent version of the extension already expose private properties
+        if (isset($a["\x00AMQPChannel\x00connection"])) {
+            return $a;
+        }
+
+        $a += [
+            $prefix.'connection' => $c->getConnection(),
+            $prefix.'prefetch_size' => $c->getPrefetchSize(),
+            $prefix.'prefetch_count' => $c->getPrefetchCount(),
+        ];
+
+        return $a;
+    }
+
+    public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'flags' => self::extractFlags($c->getFlags()),
+        ];
+
+        // Recent version of the extension already expose private properties
+        if (isset($a["\x00AMQPQueue\x00name"])) {
+            return $a;
+        }
+
+        $a += [
+            $prefix.'connection' => $c->getConnection(),
+            $prefix.'channel' => $c->getChannel(),
+            $prefix.'name' => $c->getName(),
+            $prefix.'arguments' => $c->getArguments(),
+        ];
+
+        return $a;
+    }
+
+    public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'flags' => self::extractFlags($c->getFlags()),
+        ];
+
+        $type = isset(self::EXCHANGE_TYPES[$c->getType()]) ? new ConstStub(self::EXCHANGE_TYPES[$c->getType()], $c->getType()) : $c->getType();
+
+        // Recent version of the extension already expose private properties
+        if (isset($a["\x00AMQPExchange\x00name"])) {
+            $a["\x00AMQPExchange\x00type"] = $type;
+
+            return $a;
+        }
+
+        $a += [
+            $prefix.'connection' => $c->getConnection(),
+            $prefix.'channel' => $c->getChannel(),
+            $prefix.'name' => $c->getName(),
+            $prefix.'type' => $type,
+            $prefix.'arguments' => $c->getArguments(),
+        ];
+
+        return $a;
+    }
+
+    public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $deliveryMode = new ConstStub($c->getDeliveryMode().(2 === $c->getDeliveryMode() ? ' (persistent)' : ' (non-persistent)'), $c->getDeliveryMode());
+
+        // Recent version of the extension already expose private properties
+        if (isset($a["\x00AMQPEnvelope\x00body"])) {
+            $a["\0AMQPEnvelope\0delivery_mode"] = $deliveryMode;
+
+            return $a;
+        }
+
+        if (!($filter & Caster::EXCLUDE_VERBOSE)) {
+            $a += [$prefix.'body' => $c->getBody()];
+        }
+
+        $a += [
+            $prefix.'delivery_tag' => $c->getDeliveryTag(),
+            $prefix.'is_redelivery' => $c->isRedelivery(),
+            $prefix.'exchange_name' => $c->getExchangeName(),
+            $prefix.'routing_key' => $c->getRoutingKey(),
+            $prefix.'content_type' => $c->getContentType(),
+            $prefix.'content_encoding' => $c->getContentEncoding(),
+            $prefix.'headers' => $c->getHeaders(),
+            $prefix.'delivery_mode' => $deliveryMode,
+            $prefix.'priority' => $c->getPriority(),
+            $prefix.'correlation_id' => $c->getCorrelationId(),
+            $prefix.'reply_to' => $c->getReplyTo(),
+            $prefix.'expiration' => $c->getExpiration(),
+            $prefix.'message_id' => $c->getMessageId(),
+            $prefix.'timestamp' => $c->getTimeStamp(),
+            $prefix.'type' => $c->getType(),
+            $prefix.'user_id' => $c->getUserId(),
+            $prefix.'app_id' => $c->getAppId(),
+        ];
+
+        return $a;
+    }
+
+    private static function extractFlags(int $flags): ConstStub
+    {
+        $flagsArray = [];
+
+        foreach (self::FLAGS as $value => $name) {
+            if ($flags & $value) {
+                $flagsArray[] = $name;
+            }
+        }
+
+        if (!$flagsArray) {
+            $flagsArray = ['AMQP_NOPARAM'];
+        }
+
+        return new ConstStub(implode('|', $flagsArray), $flags);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ArgsStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ArgsStub.php
new file mode 100644
index 0000000..f8b485b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ArgsStub.php
@@ -0,0 +1,80 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Represents a list of function arguments.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class ArgsStub extends EnumStub
+{
+    private static $parameters = [];
+
+    public function __construct(array $args, string $function, ?string $class)
+    {
+        [$variadic, $params] = self::getParameters($function, $class);
+
+        $values = [];
+        foreach ($args as $k => $v) {
+            $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v;
+        }
+        if (null === $params) {
+            parent::__construct($values, false);
+
+            return;
+        }
+        if (\count($values) < \count($params)) {
+            $params = \array_slice($params, 0, \count($values));
+        } elseif (\count($values) > \count($params)) {
+            $values[] = new EnumStub(array_splice($values, \count($params)), false);
+            $params[] = $variadic;
+        }
+        if (['...'] === $params) {
+            $this->dumpKeys = false;
+            $this->value = $values[0]->value;
+        } else {
+            $this->value = array_combine($params, $values);
+        }
+    }
+
+    private static function getParameters(string $function, ?string $class): array
+    {
+        if (isset(self::$parameters[$k = $class.'::'.$function])) {
+            return self::$parameters[$k];
+        }
+
+        try {
+            $r = null !== $class ? new \ReflectionMethod($class, $function) : new \ReflectionFunction($function);
+        } catch (\ReflectionException $e) {
+            return [null, null];
+        }
+
+        $variadic = '...';
+        $params = [];
+        foreach ($r->getParameters() as $v) {
+            $k = '$'.$v->name;
+            if ($v->isPassedByReference()) {
+                $k = '&'.$k;
+            }
+            if ($v->isVariadic()) {
+                $variadic .= $k;
+            } else {
+                $params[] = $k;
+            }
+        }
+
+        return self::$parameters[$k] = [$variadic, $params];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/Caster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/Caster.php
new file mode 100644
index 0000000..612b21f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/Caster.php
@@ -0,0 +1,174 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Helper for filtering out properties in casters.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class Caster
+{
+    public const EXCLUDE_VERBOSE = 1;
+    public const EXCLUDE_VIRTUAL = 2;
+    public const EXCLUDE_DYNAMIC = 4;
+    public const EXCLUDE_PUBLIC = 8;
+    public const EXCLUDE_PROTECTED = 16;
+    public const EXCLUDE_PRIVATE = 32;
+    public const EXCLUDE_NULL = 64;
+    public const EXCLUDE_EMPTY = 128;
+    public const EXCLUDE_NOT_IMPORTANT = 256;
+    public const EXCLUDE_STRICT = 512;
+
+    public const PREFIX_VIRTUAL = "\0~\0";
+    public const PREFIX_DYNAMIC = "\0+\0";
+    public const PREFIX_PROTECTED = "\0*\0";
+
+    /**
+     * Casts objects to arrays and adds the dynamic property prefix.
+     *
+     * @param bool $hasDebugInfo Whether the __debugInfo method exists on $obj or not
+     *
+     * @return array The array-cast of the object, with prefixed dynamic properties
+     */
+    public static function castObject(object $obj, string $class, bool $hasDebugInfo = false, string $debugClass = null): array
+    {
+        if ($hasDebugInfo) {
+            try {
+                $debugInfo = $obj->__debugInfo();
+            } catch (\Exception $e) {
+                // ignore failing __debugInfo()
+                $hasDebugInfo = false;
+            }
+        }
+
+        $a = $obj instanceof \Closure ? [] : (array) $obj;
+
+        if ($obj instanceof \__PHP_Incomplete_Class) {
+            return $a;
+        }
+
+        if ($a) {
+            static $publicProperties = [];
+            $debugClass = $debugClass ?? get_debug_type($obj);
+
+            $i = 0;
+            $prefixedKeys = [];
+            foreach ($a as $k => $v) {
+                if ("\0" !== ($k[0] ?? '')) {
+                    if (!isset($publicProperties[$class])) {
+                        foreach ((new \ReflectionClass($class))->getProperties(\ReflectionProperty::IS_PUBLIC) as $prop) {
+                            $publicProperties[$class][$prop->name] = true;
+                        }
+                    }
+                    if (!isset($publicProperties[$class][$k])) {
+                        $prefixedKeys[$i] = self::PREFIX_DYNAMIC.$k;
+                    }
+                } elseif ($debugClass !== $class && 1 === strpos($k, $class)) {
+                    $prefixedKeys[$i] = "\0".$debugClass.strrchr($k, "\0");
+                }
+                ++$i;
+            }
+            if ($prefixedKeys) {
+                $keys = array_keys($a);
+                foreach ($prefixedKeys as $i => $k) {
+                    $keys[$i] = $k;
+                }
+                $a = array_combine($keys, $a);
+            }
+        }
+
+        if ($hasDebugInfo && \is_array($debugInfo)) {
+            foreach ($debugInfo as $k => $v) {
+                if (!isset($k[0]) || "\0" !== $k[0]) {
+                    if (\array_key_exists(self::PREFIX_DYNAMIC.$k, $a)) {
+                        continue;
+                    }
+                    $k = self::PREFIX_VIRTUAL.$k;
+                }
+
+                unset($a[$k]);
+                $a[$k] = $v;
+            }
+        }
+
+        return $a;
+    }
+
+    /**
+     * Filters out the specified properties.
+     *
+     * By default, a single match in the $filter bit field filters properties out, following an "or" logic.
+     * When EXCLUDE_STRICT is set, an "and" logic is applied: all bits must match for a property to be removed.
+     *
+     * @param array    $a                The array containing the properties to filter
+     * @param int      $filter           A bit field of Caster::EXCLUDE_* constants specifying which properties to filter out
+     * @param string[] $listedProperties List of properties to exclude when Caster::EXCLUDE_VERBOSE is set, and to preserve when Caster::EXCLUDE_NOT_IMPORTANT is set
+     * @param int      &$count           Set to the number of removed properties
+     *
+     * @return array The filtered array
+     */
+    public static function filter(array $a, int $filter, array $listedProperties = [], ?int &$count = 0): array
+    {
+        $count = 0;
+
+        foreach ($a as $k => $v) {
+            $type = self::EXCLUDE_STRICT & $filter;
+
+            if (null === $v) {
+                $type |= self::EXCLUDE_NULL & $filter;
+                $type |= self::EXCLUDE_EMPTY & $filter;
+            } elseif (false === $v || '' === $v || '0' === $v || 0 === $v || 0.0 === $v || [] === $v) {
+                $type |= self::EXCLUDE_EMPTY & $filter;
+            }
+            if ((self::EXCLUDE_NOT_IMPORTANT & $filter) && !\in_array($k, $listedProperties, true)) {
+                $type |= self::EXCLUDE_NOT_IMPORTANT;
+            }
+            if ((self::EXCLUDE_VERBOSE & $filter) && \in_array($k, $listedProperties, true)) {
+                $type |= self::EXCLUDE_VERBOSE;
+            }
+
+            if (!isset($k[1]) || "\0" !== $k[0]) {
+                $type |= self::EXCLUDE_PUBLIC & $filter;
+            } elseif ('~' === $k[1]) {
+                $type |= self::EXCLUDE_VIRTUAL & $filter;
+            } elseif ('+' === $k[1]) {
+                $type |= self::EXCLUDE_DYNAMIC & $filter;
+            } elseif ('*' === $k[1]) {
+                $type |= self::EXCLUDE_PROTECTED & $filter;
+            } else {
+                $type |= self::EXCLUDE_PRIVATE & $filter;
+            }
+
+            if ((self::EXCLUDE_STRICT & $filter) ? $type === $filter : $type) {
+                unset($a[$k]);
+                ++$count;
+            }
+        }
+
+        return $a;
+    }
+
+    public static function castPhpIncompleteClass(\__PHP_Incomplete_Class $c, array $a, Stub $stub, bool $isNested): array
+    {
+        if (isset($a['__PHP_Incomplete_Class_Name'])) {
+            $stub->class .= '('.$a['__PHP_Incomplete_Class_Name'].')';
+            unset($a['__PHP_Incomplete_Class_Name']);
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ClassStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ClassStub.php
new file mode 100644
index 0000000..48f8483
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ClassStub.php
@@ -0,0 +1,106 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Represents a PHP class identifier.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class ClassStub extends ConstStub
+{
+    /**
+     * @param string   $identifier A PHP identifier, e.g. a class, method, interface, etc. name
+     * @param callable $callable   The callable targeted by the identifier when it is ambiguous or not a real PHP identifier
+     */
+    public function __construct(string $identifier, $callable = null)
+    {
+        $this->value = $identifier;
+
+        try {
+            if (null !== $callable) {
+                if ($callable instanceof \Closure) {
+                    $r = new \ReflectionFunction($callable);
+                } elseif (\is_object($callable)) {
+                    $r = [$callable, '__invoke'];
+                } elseif (\is_array($callable)) {
+                    $r = $callable;
+                } elseif (false !== $i = strpos($callable, '::')) {
+                    $r = [substr($callable, 0, $i), substr($callable, 2 + $i)];
+                } else {
+                    $r = new \ReflectionFunction($callable);
+                }
+            } elseif (0 < $i = strpos($identifier, '::') ?: strpos($identifier, '->')) {
+                $r = [substr($identifier, 0, $i), substr($identifier, 2 + $i)];
+            } else {
+                $r = new \ReflectionClass($identifier);
+            }
+
+            if (\is_array($r)) {
+                try {
+                    $r = new \ReflectionMethod($r[0], $r[1]);
+                } catch (\ReflectionException $e) {
+                    $r = new \ReflectionClass($r[0]);
+                }
+            }
+
+            if (str_contains($identifier, "@anonymous\0")) {
+                $this->value = $identifier = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) {
+                    return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0];
+                }, $identifier);
+            }
+
+            if (null !== $callable && $r instanceof \ReflectionFunctionAbstract) {
+                $s = ReflectionCaster::castFunctionAbstract($r, [], new Stub(), true, Caster::EXCLUDE_VERBOSE);
+                $s = ReflectionCaster::getSignature($s);
+
+                if (str_ends_with($identifier, '()')) {
+                    $this->value = substr_replace($identifier, $s, -2);
+                } else {
+                    $this->value .= $s;
+                }
+            }
+        } catch (\ReflectionException $e) {
+            return;
+        } finally {
+            if (0 < $i = strrpos($this->value, '\\')) {
+                $this->attr['ellipsis'] = \strlen($this->value) - $i;
+                $this->attr['ellipsis-type'] = 'class';
+                $this->attr['ellipsis-tail'] = 1;
+            }
+        }
+
+        if ($f = $r->getFileName()) {
+            $this->attr['file'] = $f;
+            $this->attr['line'] = $r->getStartLine();
+        }
+    }
+
+    public static function wrapCallable($callable)
+    {
+        if (\is_object($callable) || !\is_callable($callable)) {
+            return $callable;
+        }
+
+        if (!\is_array($callable)) {
+            $callable = new static($callable, $callable);
+        } elseif (\is_string($callable[0])) {
+            $callable[0] = new static($callable[0], $callable);
+        } else {
+            $callable[1] = new static($callable[1], $callable);
+        }
+
+        return $callable;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ConstStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ConstStub.php
new file mode 100644
index 0000000..8b01797
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ConstStub.php
@@ -0,0 +1,36 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Represents a PHP constant and its value.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class ConstStub extends Stub
+{
+    public function __construct(string $name, $value = null)
+    {
+        $this->class = $name;
+        $this->value = 1 < \func_num_args() ? $value : $name;
+    }
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        return (string) $this->value;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/CutArrayStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/CutArrayStub.php
new file mode 100644
index 0000000..0e4fb36
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/CutArrayStub.php
@@ -0,0 +1,30 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+/**
+ * Represents a cut array.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class CutArrayStub extends CutStub
+{
+    public $preservedSubset;
+
+    public function __construct(array $value, array $preservedKeys)
+    {
+        parent::__construct($value);
+
+        $this->preservedSubset = array_intersect_key($value, array_flip($preservedKeys));
+        $this->cut -= \count($this->preservedSubset);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/CutStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/CutStub.php
new file mode 100644
index 0000000..464c6db
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/CutStub.php
@@ -0,0 +1,64 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Represents the main properties of a PHP variable, pre-casted by a caster.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class CutStub extends Stub
+{
+    public function __construct($value)
+    {
+        $this->value = $value;
+
+        switch (\gettype($value)) {
+            case 'object':
+                $this->type = self::TYPE_OBJECT;
+                $this->class = \get_class($value);
+
+                if ($value instanceof \Closure) {
+                    ReflectionCaster::castClosure($value, [], $this, true, Caster::EXCLUDE_VERBOSE);
+                }
+
+                $this->cut = -1;
+                break;
+
+            case 'array':
+                $this->type = self::TYPE_ARRAY;
+                $this->class = self::ARRAY_ASSOC;
+                $this->cut = $this->value = \count($value);
+                break;
+
+            case 'resource':
+            case 'unknown type':
+            case 'resource (closed)':
+                $this->type = self::TYPE_RESOURCE;
+                $this->handle = (int) $value;
+                if ('Unknown' === $this->class = @get_resource_type($value)) {
+                    $this->class = 'Closed';
+                }
+                $this->cut = -1;
+                break;
+
+            case 'string':
+                $this->type = self::TYPE_STRING;
+                $this->class = preg_match('//u', $value) ? self::STRING_UTF8 : self::STRING_BINARY;
+                $this->cut = self::STRING_BINARY === $this->class ? \strlen($value) : mb_strlen($value, 'UTF-8');
+                $this->value = '';
+                break;
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DOMCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DOMCaster.php
new file mode 100644
index 0000000..4dd16e0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DOMCaster.php
@@ -0,0 +1,304 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts DOM related classes to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class DOMCaster
+{
+    private const ERROR_CODES = [
+        \DOM_PHP_ERR => 'DOM_PHP_ERR',
+        \DOM_INDEX_SIZE_ERR => 'DOM_INDEX_SIZE_ERR',
+        \DOMSTRING_SIZE_ERR => 'DOMSTRING_SIZE_ERR',
+        \DOM_HIERARCHY_REQUEST_ERR => 'DOM_HIERARCHY_REQUEST_ERR',
+        \DOM_WRONG_DOCUMENT_ERR => 'DOM_WRONG_DOCUMENT_ERR',
+        \DOM_INVALID_CHARACTER_ERR => 'DOM_INVALID_CHARACTER_ERR',
+        \DOM_NO_DATA_ALLOWED_ERR => 'DOM_NO_DATA_ALLOWED_ERR',
+        \DOM_NO_MODIFICATION_ALLOWED_ERR => 'DOM_NO_MODIFICATION_ALLOWED_ERR',
+        \DOM_NOT_FOUND_ERR => 'DOM_NOT_FOUND_ERR',
+        \DOM_NOT_SUPPORTED_ERR => 'DOM_NOT_SUPPORTED_ERR',
+        \DOM_INUSE_ATTRIBUTE_ERR => 'DOM_INUSE_ATTRIBUTE_ERR',
+        \DOM_INVALID_STATE_ERR => 'DOM_INVALID_STATE_ERR',
+        \DOM_SYNTAX_ERR => 'DOM_SYNTAX_ERR',
+        \DOM_INVALID_MODIFICATION_ERR => 'DOM_INVALID_MODIFICATION_ERR',
+        \DOM_NAMESPACE_ERR => 'DOM_NAMESPACE_ERR',
+        \DOM_INVALID_ACCESS_ERR => 'DOM_INVALID_ACCESS_ERR',
+        \DOM_VALIDATION_ERR => 'DOM_VALIDATION_ERR',
+    ];
+
+    private const NODE_TYPES = [
+        \XML_ELEMENT_NODE => 'XML_ELEMENT_NODE',
+        \XML_ATTRIBUTE_NODE => 'XML_ATTRIBUTE_NODE',
+        \XML_TEXT_NODE => 'XML_TEXT_NODE',
+        \XML_CDATA_SECTION_NODE => 'XML_CDATA_SECTION_NODE',
+        \XML_ENTITY_REF_NODE => 'XML_ENTITY_REF_NODE',
+        \XML_ENTITY_NODE => 'XML_ENTITY_NODE',
+        \XML_PI_NODE => 'XML_PI_NODE',
+        \XML_COMMENT_NODE => 'XML_COMMENT_NODE',
+        \XML_DOCUMENT_NODE => 'XML_DOCUMENT_NODE',
+        \XML_DOCUMENT_TYPE_NODE => 'XML_DOCUMENT_TYPE_NODE',
+        \XML_DOCUMENT_FRAG_NODE => 'XML_DOCUMENT_FRAG_NODE',
+        \XML_NOTATION_NODE => 'XML_NOTATION_NODE',
+        \XML_HTML_DOCUMENT_NODE => 'XML_HTML_DOCUMENT_NODE',
+        \XML_DTD_NODE => 'XML_DTD_NODE',
+        \XML_ELEMENT_DECL_NODE => 'XML_ELEMENT_DECL_NODE',
+        \XML_ATTRIBUTE_DECL_NODE => 'XML_ATTRIBUTE_DECL_NODE',
+        \XML_ENTITY_DECL_NODE => 'XML_ENTITY_DECL_NODE',
+        \XML_NAMESPACE_DECL_NODE => 'XML_NAMESPACE_DECL_NODE',
+    ];
+
+    public static function castException(\DOMException $e, array $a, Stub $stub, bool $isNested)
+    {
+        $k = Caster::PREFIX_PROTECTED.'code';
+        if (isset($a[$k], self::ERROR_CODES[$a[$k]])) {
+            $a[$k] = new ConstStub(self::ERROR_CODES[$a[$k]], $a[$k]);
+        }
+
+        return $a;
+    }
+
+    public static function castLength($dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'length' => $dom->length,
+        ];
+
+        return $a;
+    }
+
+    public static function castImplementation(\DOMImplementation $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'Core' => '1.0',
+            Caster::PREFIX_VIRTUAL.'XML' => '2.0',
+        ];
+
+        return $a;
+    }
+
+    public static function castNode(\DOMNode $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'nodeName' => $dom->nodeName,
+            'nodeValue' => new CutStub($dom->nodeValue),
+            'nodeType' => new ConstStub(self::NODE_TYPES[$dom->nodeType], $dom->nodeType),
+            'parentNode' => new CutStub($dom->parentNode),
+            'childNodes' => $dom->childNodes,
+            'firstChild' => new CutStub($dom->firstChild),
+            'lastChild' => new CutStub($dom->lastChild),
+            'previousSibling' => new CutStub($dom->previousSibling),
+            'nextSibling' => new CutStub($dom->nextSibling),
+            'attributes' => $dom->attributes,
+            'ownerDocument' => new CutStub($dom->ownerDocument),
+            'namespaceURI' => $dom->namespaceURI,
+            'prefix' => $dom->prefix,
+            'localName' => $dom->localName,
+            'baseURI' => $dom->baseURI ? new LinkStub($dom->baseURI) : $dom->baseURI,
+            'textContent' => new CutStub($dom->textContent),
+        ];
+
+        return $a;
+    }
+
+    public static function castNameSpaceNode(\DOMNameSpaceNode $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'nodeName' => $dom->nodeName,
+            'nodeValue' => new CutStub($dom->nodeValue),
+            'nodeType' => new ConstStub(self::NODE_TYPES[$dom->nodeType], $dom->nodeType),
+            'prefix' => $dom->prefix,
+            'localName' => $dom->localName,
+            'namespaceURI' => $dom->namespaceURI,
+            'ownerDocument' => new CutStub($dom->ownerDocument),
+            'parentNode' => new CutStub($dom->parentNode),
+        ];
+
+        return $a;
+    }
+
+    public static function castDocument(\DOMDocument $dom, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $a += [
+            'doctype' => $dom->doctype,
+            'implementation' => $dom->implementation,
+            'documentElement' => new CutStub($dom->documentElement),
+            'actualEncoding' => $dom->actualEncoding,
+            'encoding' => $dom->encoding,
+            'xmlEncoding' => $dom->xmlEncoding,
+            'standalone' => $dom->standalone,
+            'xmlStandalone' => $dom->xmlStandalone,
+            'version' => $dom->version,
+            'xmlVersion' => $dom->xmlVersion,
+            'strictErrorChecking' => $dom->strictErrorChecking,
+            'documentURI' => $dom->documentURI ? new LinkStub($dom->documentURI) : $dom->documentURI,
+            'config' => $dom->config,
+            'formatOutput' => $dom->formatOutput,
+            'validateOnParse' => $dom->validateOnParse,
+            'resolveExternals' => $dom->resolveExternals,
+            'preserveWhiteSpace' => $dom->preserveWhiteSpace,
+            'recover' => $dom->recover,
+            'substituteEntities' => $dom->substituteEntities,
+        ];
+
+        if (!($filter & Caster::EXCLUDE_VERBOSE)) {
+            $formatOutput = $dom->formatOutput;
+            $dom->formatOutput = true;
+            $a += [Caster::PREFIX_VIRTUAL.'xml' => $dom->saveXML()];
+            $dom->formatOutput = $formatOutput;
+        }
+
+        return $a;
+    }
+
+    public static function castCharacterData(\DOMCharacterData $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'data' => $dom->data,
+            'length' => $dom->length,
+        ];
+
+        return $a;
+    }
+
+    public static function castAttr(\DOMAttr $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'name' => $dom->name,
+            'specified' => $dom->specified,
+            'value' => $dom->value,
+            'ownerElement' => $dom->ownerElement,
+            'schemaTypeInfo' => $dom->schemaTypeInfo,
+        ];
+
+        return $a;
+    }
+
+    public static function castElement(\DOMElement $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'tagName' => $dom->tagName,
+            'schemaTypeInfo' => $dom->schemaTypeInfo,
+        ];
+
+        return $a;
+    }
+
+    public static function castText(\DOMText $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'wholeText' => $dom->wholeText,
+        ];
+
+        return $a;
+    }
+
+    public static function castTypeinfo(\DOMTypeinfo $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'typeName' => $dom->typeName,
+            'typeNamespace' => $dom->typeNamespace,
+        ];
+
+        return $a;
+    }
+
+    public static function castDomError(\DOMDomError $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'severity' => $dom->severity,
+            'message' => $dom->message,
+            'type' => $dom->type,
+            'relatedException' => $dom->relatedException,
+            'related_data' => $dom->related_data,
+            'location' => $dom->location,
+        ];
+
+        return $a;
+    }
+
+    public static function castLocator(\DOMLocator $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'lineNumber' => $dom->lineNumber,
+            'columnNumber' => $dom->columnNumber,
+            'offset' => $dom->offset,
+            'relatedNode' => $dom->relatedNode,
+            'uri' => $dom->uri ? new LinkStub($dom->uri, $dom->lineNumber) : $dom->uri,
+        ];
+
+        return $a;
+    }
+
+    public static function castDocumentType(\DOMDocumentType $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'name' => $dom->name,
+            'entities' => $dom->entities,
+            'notations' => $dom->notations,
+            'publicId' => $dom->publicId,
+            'systemId' => $dom->systemId,
+            'internalSubset' => $dom->internalSubset,
+        ];
+
+        return $a;
+    }
+
+    public static function castNotation(\DOMNotation $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'publicId' => $dom->publicId,
+            'systemId' => $dom->systemId,
+        ];
+
+        return $a;
+    }
+
+    public static function castEntity(\DOMEntity $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'publicId' => $dom->publicId,
+            'systemId' => $dom->systemId,
+            'notationName' => $dom->notationName,
+            'actualEncoding' => $dom->actualEncoding,
+            'encoding' => $dom->encoding,
+            'version' => $dom->version,
+        ];
+
+        return $a;
+    }
+
+    public static function castProcessingInstruction(\DOMProcessingInstruction $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'target' => $dom->target,
+            'data' => $dom->data,
+        ];
+
+        return $a;
+    }
+
+    public static function castXPath(\DOMXPath $dom, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            'document' => $dom->document,
+        ];
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DateCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DateCaster.php
new file mode 100644
index 0000000..1f61c32
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DateCaster.php
@@ -0,0 +1,126 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts DateTimeInterface related classes to array representation.
+ *
+ * @author Dany Maillard <danymaillard93b@gmail.com>
+ *
+ * @final
+ */
+class DateCaster
+{
+    private const PERIOD_LIMIT = 3;
+
+    public static function castDateTime(\DateTimeInterface $d, array $a, Stub $stub, bool $isNested, int $filter)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $location = $d->getTimezone()->getLocation();
+        $fromNow = (new \DateTime())->diff($d);
+
+        $title = $d->format('l, F j, Y')
+            ."\n".self::formatInterval($fromNow).' from now'
+            .($location ? ($d->format('I') ? "\nDST On" : "\nDST Off") : '')
+        ;
+
+        unset(
+            $a[Caster::PREFIX_DYNAMIC.'date'],
+            $a[Caster::PREFIX_DYNAMIC.'timezone'],
+            $a[Caster::PREFIX_DYNAMIC.'timezone_type']
+        );
+        $a[$prefix.'date'] = new ConstStub(self::formatDateTime($d, $location ? ' e (P)' : ' P'), $title);
+
+        $stub->class .= $d->format(' @U');
+
+        return $a;
+    }
+
+    public static function castInterval(\DateInterval $interval, array $a, Stub $stub, bool $isNested, int $filter)
+    {
+        $now = new \DateTimeImmutable();
+        $numberOfSeconds = $now->add($interval)->getTimestamp() - $now->getTimestamp();
+        $title = number_format($numberOfSeconds, 0, '.', ' ').'s';
+
+        $i = [Caster::PREFIX_VIRTUAL.'interval' => new ConstStub(self::formatInterval($interval), $title)];
+
+        return $filter & Caster::EXCLUDE_VERBOSE ? $i : $i + $a;
+    }
+
+    private static function formatInterval(\DateInterval $i): string
+    {
+        $format = '%R ';
+
+        if (0 === $i->y && 0 === $i->m && ($i->h >= 24 || $i->i >= 60 || $i->s >= 60)) {
+            $i = date_diff($d = new \DateTime(), date_add(clone $d, $i)); // recalculate carry over points
+            $format .= 0 < $i->days ? '%ad ' : '';
+        } else {
+            $format .= ($i->y ? '%yy ' : '').($i->m ? '%mm ' : '').($i->d ? '%dd ' : '');
+        }
+
+        $format .= $i->h || $i->i || $i->s || $i->f ? '%H:%I:'.self::formatSeconds($i->s, substr($i->f, 2)) : '';
+        $format = '%R ' === $format ? '0s' : $format;
+
+        return $i->format(rtrim($format));
+    }
+
+    public static function castTimeZone(\DateTimeZone $timeZone, array $a, Stub $stub, bool $isNested, int $filter)
+    {
+        $location = $timeZone->getLocation();
+        $formatted = (new \DateTime('now', $timeZone))->format($location ? 'e (P)' : 'P');
+        $title = $location && \extension_loaded('intl') ? \Locale::getDisplayRegion('-'.$location['country_code']) : '';
+
+        $z = [Caster::PREFIX_VIRTUAL.'timezone' => new ConstStub($formatted, $title)];
+
+        return $filter & Caster::EXCLUDE_VERBOSE ? $z : $z + $a;
+    }
+
+    public static function castPeriod(\DatePeriod $p, array $a, Stub $stub, bool $isNested, int $filter)
+    {
+        $dates = [];
+        foreach (clone $p as $i => $d) {
+            if (self::PERIOD_LIMIT === $i) {
+                $now = new \DateTimeImmutable('now', new \DateTimeZone('UTC'));
+                $dates[] = sprintf('%s more', ($end = $p->getEndDate())
+                    ? ceil(($end->format('U.u') - $d->format('U.u')) / ((int) $now->add($p->getDateInterval())->format('U.u') - (int) $now->format('U.u')))
+                    : $p->recurrences - $i
+                );
+                break;
+            }
+            $dates[] = sprintf('%s) %s', $i + 1, self::formatDateTime($d));
+        }
+
+        $period = sprintf(
+            'every %s, from %s (%s) %s',
+            self::formatInterval($p->getDateInterval()),
+            self::formatDateTime($p->getStartDate()),
+            $p->include_start_date ? 'included' : 'excluded',
+            ($end = $p->getEndDate()) ? 'to '.self::formatDateTime($end) : 'recurring '.$p->recurrences.' time/s'
+        );
+
+        $p = [Caster::PREFIX_VIRTUAL.'period' => new ConstStub($period, implode("\n", $dates))];
+
+        return $filter & Caster::EXCLUDE_VERBOSE ? $p : $p + $a;
+    }
+
+    private static function formatDateTime(\DateTimeInterface $d, string $extra = ''): string
+    {
+        return $d->format('Y-m-d H:i:'.self::formatSeconds($d->format('s'), $d->format('u')).$extra);
+    }
+
+    private static function formatSeconds(string $s, string $us): string
+    {
+        return sprintf('%02d.%s', $s, 0 === ($len = \strlen($t = rtrim($us, '0'))) ? '0' : ($len <= 3 ? str_pad($t, 3, '0') : $us));
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DoctrineCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DoctrineCaster.php
new file mode 100644
index 0000000..129b2cb
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DoctrineCaster.php
@@ -0,0 +1,62 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Doctrine\Common\Proxy\Proxy as CommonProxy;
+use Doctrine\ORM\PersistentCollection;
+use Doctrine\ORM\Proxy\Proxy as OrmProxy;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts Doctrine related classes to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class DoctrineCaster
+{
+    public static function castCommonProxy(CommonProxy $proxy, array $a, Stub $stub, bool $isNested)
+    {
+        foreach (['__cloner__', '__initializer__'] as $k) {
+            if (\array_key_exists($k, $a)) {
+                unset($a[$k]);
+                ++$stub->cut;
+            }
+        }
+
+        return $a;
+    }
+
+    public static function castOrmProxy(OrmProxy $proxy, array $a, Stub $stub, bool $isNested)
+    {
+        foreach (['_entityPersister', '_identifier'] as $k) {
+            if (\array_key_exists($k = "\0Doctrine\\ORM\\Proxy\\Proxy\0".$k, $a)) {
+                unset($a[$k]);
+                ++$stub->cut;
+            }
+        }
+
+        return $a;
+    }
+
+    public static function castPersistentCollection(PersistentCollection $coll, array $a, Stub $stub, bool $isNested)
+    {
+        foreach (['snapshot', 'association', 'typeClass'] as $k) {
+            if (\array_key_exists($k = "\0Doctrine\\ORM\\PersistentCollection\0".$k, $a)) {
+                $a[$k] = new CutStub($a[$k]);
+            }
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DsCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DsCaster.php
new file mode 100644
index 0000000..b34b670
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DsCaster.php
@@ -0,0 +1,70 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Ds\Collection;
+use Ds\Map;
+use Ds\Pair;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts Ds extension classes to array representation.
+ *
+ * @author Jáchym Toušek <enumag@gmail.com>
+ *
+ * @final
+ */
+class DsCaster
+{
+    public static function castCollection(Collection $c, array $a, Stub $stub, bool $isNested): array
+    {
+        $a[Caster::PREFIX_VIRTUAL.'count'] = $c->count();
+        $a[Caster::PREFIX_VIRTUAL.'capacity'] = $c->capacity();
+
+        if (!$c instanceof Map) {
+            $a += $c->toArray();
+        }
+
+        return $a;
+    }
+
+    public static function castMap(Map $c, array $a, Stub $stub, bool $isNested): array
+    {
+        foreach ($c as $k => $v) {
+            $a[] = new DsPairStub($k, $v);
+        }
+
+        return $a;
+    }
+
+    public static function castPair(Pair $c, array $a, Stub $stub, bool $isNested): array
+    {
+        foreach ($c->toArray() as $k => $v) {
+            $a[Caster::PREFIX_VIRTUAL.$k] = $v;
+        }
+
+        return $a;
+    }
+
+    public static function castPairStub(DsPairStub $c, array $a, Stub $stub, bool $isNested): array
+    {
+        if ($isNested) {
+            $stub->class = Pair::class;
+            $stub->value = null;
+            $stub->handle = 0;
+
+            $a = $c->value;
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DsPairStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DsPairStub.php
new file mode 100644
index 0000000..a1dcc15
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/DsPairStub.php
@@ -0,0 +1,28 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class DsPairStub extends Stub
+{
+    public function __construct($key, $value)
+    {
+        $this->value = [
+            Caster::PREFIX_VIRTUAL.'key' => $key,
+            Caster::PREFIX_VIRTUAL.'value' => $value,
+        ];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/EnumStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/EnumStub.php
new file mode 100644
index 0000000..7a4e98a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/EnumStub.php
@@ -0,0 +1,30 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Represents an enumeration of values.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class EnumStub extends Stub
+{
+    public $dumpKeys = true;
+
+    public function __construct(array $values, bool $dumpKeys = true)
+    {
+        $this->value = $values;
+        $this->dumpKeys = $dumpKeys;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ExceptionCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ExceptionCaster.php
new file mode 100644
index 0000000..baa7a18
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ExceptionCaster.php
@@ -0,0 +1,382 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\ErrorHandler\Exception\SilencedErrorContext;
+use Symfony\Component\VarDumper\Cloner\Stub;
+use Symfony\Component\VarDumper\Exception\ThrowingCasterException;
+
+/**
+ * Casts common Exception classes to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class ExceptionCaster
+{
+    public static $srcContext = 1;
+    public static $traceArgs = true;
+    public static $errorTypes = [
+        \E_DEPRECATED => 'E_DEPRECATED',
+        \E_USER_DEPRECATED => 'E_USER_DEPRECATED',
+        \E_RECOVERABLE_ERROR => 'E_RECOVERABLE_ERROR',
+        \E_ERROR => 'E_ERROR',
+        \E_WARNING => 'E_WARNING',
+        \E_PARSE => 'E_PARSE',
+        \E_NOTICE => 'E_NOTICE',
+        \E_CORE_ERROR => 'E_CORE_ERROR',
+        \E_CORE_WARNING => 'E_CORE_WARNING',
+        \E_COMPILE_ERROR => 'E_COMPILE_ERROR',
+        \E_COMPILE_WARNING => 'E_COMPILE_WARNING',
+        \E_USER_ERROR => 'E_USER_ERROR',
+        \E_USER_WARNING => 'E_USER_WARNING',
+        \E_USER_NOTICE => 'E_USER_NOTICE',
+        \E_STRICT => 'E_STRICT',
+    ];
+
+    private static $framesCache = [];
+
+    public static function castError(\Error $e, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        return self::filterExceptionArray($stub->class, $a, "\0Error\0", $filter);
+    }
+
+    public static function castException(\Exception $e, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        return self::filterExceptionArray($stub->class, $a, "\0Exception\0", $filter);
+    }
+
+    public static function castErrorException(\ErrorException $e, array $a, Stub $stub, bool $isNested)
+    {
+        if (isset($a[$s = Caster::PREFIX_PROTECTED.'severity'], self::$errorTypes[$a[$s]])) {
+            $a[$s] = new ConstStub(self::$errorTypes[$a[$s]], $a[$s]);
+        }
+
+        return $a;
+    }
+
+    public static function castThrowingCasterException(ThrowingCasterException $e, array $a, Stub $stub, bool $isNested)
+    {
+        $trace = Caster::PREFIX_VIRTUAL.'trace';
+        $prefix = Caster::PREFIX_PROTECTED;
+        $xPrefix = "\0Exception\0";
+
+        if (isset($a[$xPrefix.'previous'], $a[$trace]) && $a[$xPrefix.'previous'] instanceof \Exception) {
+            $b = (array) $a[$xPrefix.'previous'];
+            $class = get_debug_type($a[$xPrefix.'previous']);
+            self::traceUnshift($b[$xPrefix.'trace'], $class, $b[$prefix.'file'], $b[$prefix.'line']);
+            $a[$trace] = new TraceStub($b[$xPrefix.'trace'], false, 0, -\count($a[$trace]->value));
+        }
+
+        unset($a[$xPrefix.'previous'], $a[$prefix.'code'], $a[$prefix.'file'], $a[$prefix.'line']);
+
+        return $a;
+    }
+
+    public static function castSilencedErrorContext(SilencedErrorContext $e, array $a, Stub $stub, bool $isNested)
+    {
+        $sPrefix = "\0".SilencedErrorContext::class."\0";
+
+        if (!isset($a[$s = $sPrefix.'severity'])) {
+            return $a;
+        }
+
+        if (isset(self::$errorTypes[$a[$s]])) {
+            $a[$s] = new ConstStub(self::$errorTypes[$a[$s]], $a[$s]);
+        }
+
+        $trace = [[
+            'file' => $a[$sPrefix.'file'],
+            'line' => $a[$sPrefix.'line'],
+        ]];
+
+        if (isset($a[$sPrefix.'trace'])) {
+            $trace = array_merge($trace, $a[$sPrefix.'trace']);
+        }
+
+        unset($a[$sPrefix.'file'], $a[$sPrefix.'line'], $a[$sPrefix.'trace']);
+        $a[Caster::PREFIX_VIRTUAL.'trace'] = new TraceStub($trace, self::$traceArgs);
+
+        return $a;
+    }
+
+    public static function castTraceStub(TraceStub $trace, array $a, Stub $stub, bool $isNested)
+    {
+        if (!$isNested) {
+            return $a;
+        }
+        $stub->class = '';
+        $stub->handle = 0;
+        $frames = $trace->value;
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a = [];
+        $j = \count($frames);
+        if (0 > $i = $trace->sliceOffset) {
+            $i = max(0, $j + $i);
+        }
+        if (!isset($trace->value[$i])) {
+            return [];
+        }
+        $lastCall = isset($frames[$i]['function']) ? (isset($frames[$i]['class']) ? $frames[0]['class'].$frames[$i]['type'] : '').$frames[$i]['function'].'()' : '';
+        $frames[] = ['function' => ''];
+        $collapse = false;
+
+        for ($j += $trace->numberingOffset - $i++; isset($frames[$i]); ++$i, --$j) {
+            $f = $frames[$i];
+            $call = isset($f['function']) ? (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'] : '???';
+
+            $frame = new FrameStub(
+                [
+                    'object' => $f['object'] ?? null,
+                    'class' => $f['class'] ?? null,
+                    'type' => $f['type'] ?? null,
+                    'function' => $f['function'] ?? null,
+                ] + $frames[$i - 1],
+                false,
+                true
+            );
+            $f = self::castFrameStub($frame, [], $frame, true);
+            if (isset($f[$prefix.'src'])) {
+                foreach ($f[$prefix.'src']->value as $label => $frame) {
+                    if (str_starts_with($label, "\0~collapse=0")) {
+                        if ($collapse) {
+                            $label = substr_replace($label, '1', 11, 1);
+                        } else {
+                            $collapse = true;
+                        }
+                    }
+                    $label = substr_replace($label, "title=Stack level $j.&", 2, 0);
+                }
+                $f = $frames[$i - 1];
+                if ($trace->keepArgs && !empty($f['args']) && $frame instanceof EnumStub) {
+                    $frame->value['arguments'] = new ArgsStub($f['args'], $f['function'] ?? null, $f['class'] ?? null);
+                }
+            } elseif ('???' !== $lastCall) {
+                $label = new ClassStub($lastCall);
+                if (isset($label->attr['ellipsis'])) {
+                    $label->attr['ellipsis'] += 2;
+                    $label = substr_replace($prefix, "ellipsis-type=class&ellipsis={$label->attr['ellipsis']}&ellipsis-tail=1&title=Stack level $j.", 2, 0).$label->value.'()';
+                } else {
+                    $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$label->value.'()';
+                }
+            } else {
+                $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$lastCall;
+            }
+            $a[substr_replace($label, sprintf('separator=%s&', $frame instanceof EnumStub ? ' ' : ':'), 2, 0)] = $frame;
+
+            $lastCall = $call;
+        }
+        if (null !== $trace->sliceLength) {
+            $a = \array_slice($a, 0, $trace->sliceLength, true);
+        }
+
+        return $a;
+    }
+
+    public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, bool $isNested)
+    {
+        if (!$isNested) {
+            return $a;
+        }
+        $f = $frame->value;
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        if (isset($f['file'], $f['line'])) {
+            $cacheKey = $f;
+            unset($cacheKey['object'], $cacheKey['args']);
+            $cacheKey[] = self::$srcContext;
+            $cacheKey = implode('-', $cacheKey);
+
+            if (isset(self::$framesCache[$cacheKey])) {
+                $a[$prefix.'src'] = self::$framesCache[$cacheKey];
+            } else {
+                if (preg_match('/\((\d+)\)(?:\([\da-f]{32}\))? : (?:eval\(\)\'d code|runtime-created function)$/', $f['file'], $match)) {
+                    $f['file'] = substr($f['file'], 0, -\strlen($match[0]));
+                    $f['line'] = (int) $match[1];
+                }
+                $src = $f['line'];
+                $srcKey = $f['file'];
+                $ellipsis = new LinkStub($srcKey, 0);
+                $srcAttr = 'collapse='.(int) $ellipsis->inVendor;
+                $ellipsisTail = $ellipsis->attr['ellipsis-tail'] ?? 0;
+                $ellipsis = $ellipsis->attr['ellipsis'] ?? 0;
+
+                if (is_file($f['file']) && 0 <= self::$srcContext) {
+                    if (!empty($f['class']) && (is_subclass_of($f['class'], 'Twig\Template') || is_subclass_of($f['class'], 'Twig_Template')) && method_exists($f['class'], 'getDebugInfo')) {
+                        $template = $f['object'] ?? unserialize(sprintf('O:%d:"%s":0:{}', \strlen($f['class']), $f['class']));
+
+                        $ellipsis = 0;
+                        $templateSrc = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getCode() : (method_exists($template, 'getSource') ? $template->getSource() : '');
+                        $templateInfo = $template->getDebugInfo();
+                        if (isset($templateInfo[$f['line']])) {
+                            if (!method_exists($template, 'getSourceContext') || !is_file($templatePath = $template->getSourceContext()->getPath())) {
+                                $templatePath = null;
+                            }
+                            if ($templateSrc) {
+                                $src = self::extractSource($templateSrc, $templateInfo[$f['line']], self::$srcContext, 'twig', $templatePath, $f);
+                                $srcKey = ($templatePath ?: $template->getTemplateName()).':'.$templateInfo[$f['line']];
+                            }
+                        }
+                    }
+                    if ($srcKey == $f['file']) {
+                        $src = self::extractSource(file_get_contents($f['file']), $f['line'], self::$srcContext, 'php', $f['file'], $f);
+                        $srcKey .= ':'.$f['line'];
+                        if ($ellipsis) {
+                            $ellipsis += 1 + \strlen($f['line']);
+                        }
+                    }
+                    $srcAttr .= sprintf('&separator= &file=%s&line=%d', rawurlencode($f['file']), $f['line']);
+                } else {
+                    $srcAttr .= '&separator=:';
+                }
+                $srcAttr .= $ellipsis ? '&ellipsis-type=path&ellipsis='.$ellipsis.'&ellipsis-tail='.$ellipsisTail : '';
+                self::$framesCache[$cacheKey] = $a[$prefix.'src'] = new EnumStub(["\0~$srcAttr\0$srcKey" => $src]);
+            }
+        }
+
+        unset($a[$prefix.'args'], $a[$prefix.'line'], $a[$prefix.'file']);
+        if ($frame->inTraceStub) {
+            unset($a[$prefix.'class'], $a[$prefix.'type'], $a[$prefix.'function']);
+        }
+        foreach ($a as $k => $v) {
+            if (!$v) {
+                unset($a[$k]);
+            }
+        }
+        if ($frame->keepArgs && !empty($f['args'])) {
+            $a[$prefix.'arguments'] = new ArgsStub($f['args'], $f['function'], $f['class']);
+        }
+
+        return $a;
+    }
+
+    private static function filterExceptionArray(string $xClass, array $a, string $xPrefix, int $filter): array
+    {
+        if (isset($a[$xPrefix.'trace'])) {
+            $trace = $a[$xPrefix.'trace'];
+            unset($a[$xPrefix.'trace']); // Ensures the trace is always last
+        } else {
+            $trace = [];
+        }
+
+        if (!($filter & Caster::EXCLUDE_VERBOSE) && $trace) {
+            if (isset($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line'])) {
+                self::traceUnshift($trace, $xClass, $a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line']);
+            }
+            $a[Caster::PREFIX_VIRTUAL.'trace'] = new TraceStub($trace, self::$traceArgs);
+        }
+        if (empty($a[$xPrefix.'previous'])) {
+            unset($a[$xPrefix.'previous']);
+        }
+        unset($a[$xPrefix.'string'], $a[Caster::PREFIX_DYNAMIC.'xdebug_message'], $a[Caster::PREFIX_DYNAMIC.'__destructorException']);
+
+        if (isset($a[Caster::PREFIX_PROTECTED.'message']) && str_contains($a[Caster::PREFIX_PROTECTED.'message'], "@anonymous\0")) {
+            $a[Caster::PREFIX_PROTECTED.'message'] = preg_replace_callback('/[a-zA-Z_\x7f-\xff][\\\\a-zA-Z0-9_\x7f-\xff]*+@anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/', function ($m) {
+                return class_exists($m[0], false) ? (get_parent_class($m[0]) ?: key(class_implements($m[0])) ?: 'class').'@anonymous' : $m[0];
+            }, $a[Caster::PREFIX_PROTECTED.'message']);
+        }
+
+        if (isset($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line'])) {
+            $a[Caster::PREFIX_PROTECTED.'file'] = new LinkStub($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line']);
+        }
+
+        return $a;
+    }
+
+    private static function traceUnshift(array &$trace, ?string $class, string $file, int $line): void
+    {
+        if (isset($trace[0]['file'], $trace[0]['line']) && $trace[0]['file'] === $file && $trace[0]['line'] === $line) {
+            return;
+        }
+        array_unshift($trace, [
+            'function' => $class ? 'new '.$class : null,
+            'file' => $file,
+            'line' => $line,
+        ]);
+    }
+
+    private static function extractSource(string $srcLines, int $line, int $srcContext, string $lang, ?string $file, array $frame): EnumStub
+    {
+        $srcLines = explode("\n", $srcLines);
+        $src = [];
+
+        for ($i = $line - 1 - $srcContext; $i <= $line - 1 + $srcContext; ++$i) {
+            $src[] = ($srcLines[$i] ?? '')."\n";
+        }
+
+        if ($frame['function'] ?? false) {
+            $stub = new CutStub(new \stdClass());
+            $stub->class = (isset($frame['class']) ? $frame['class'].$frame['type'] : '').$frame['function'];
+            $stub->type = Stub::TYPE_OBJECT;
+            $stub->attr['cut_hash'] = true;
+            $stub->attr['file'] = $frame['file'];
+            $stub->attr['line'] = $frame['line'];
+
+            try {
+                $caller = isset($frame['class']) ? new \ReflectionMethod($frame['class'], $frame['function']) : new \ReflectionFunction($frame['function']);
+                $stub->class .= ReflectionCaster::getSignature(ReflectionCaster::castFunctionAbstract($caller, [], $stub, true, Caster::EXCLUDE_VERBOSE));
+
+                if ($f = $caller->getFileName()) {
+                    $stub->attr['file'] = $f;
+                    $stub->attr['line'] = $caller->getStartLine();
+                }
+            } catch (\ReflectionException $e) {
+                // ignore fake class/function
+            }
+
+            $srcLines = ["\0~separator=\0" => $stub];
+        } else {
+            $stub = null;
+            $srcLines = [];
+        }
+
+        $ltrim = 0;
+        do {
+            $pad = null;
+            for ($i = $srcContext << 1; $i >= 0; --$i) {
+                if (isset($src[$i][$ltrim]) && "\r" !== ($c = $src[$i][$ltrim]) && "\n" !== $c) {
+                    if (null === $pad) {
+                        $pad = $c;
+                    }
+                    if ((' ' !== $c && "\t" !== $c) || $pad !== $c) {
+                        break;
+                    }
+                }
+            }
+            ++$ltrim;
+        } while (0 > $i && null !== $pad);
+
+        --$ltrim;
+
+        foreach ($src as $i => $c) {
+            if ($ltrim) {
+                $c = isset($c[$ltrim]) && "\r" !== $c[$ltrim] ? substr($c, $ltrim) : ltrim($c, " \t");
+            }
+            $c = substr($c, 0, -1);
+            if ($i !== $srcContext) {
+                $c = new ConstStub('default', $c);
+            } else {
+                $c = new ConstStub($c, $stub ? 'in '.$stub->class : '');
+                if (null !== $file) {
+                    $c->attr['file'] = $file;
+                    $c->attr['line'] = $line;
+                }
+            }
+            $c->attr['lang'] = $lang;
+            $srcLines[sprintf("\0~separator=› &%d\0", $i + $line - $srcContext)] = $c;
+        }
+
+        return new EnumStub($srcLines);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/FrameStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/FrameStub.php
new file mode 100644
index 0000000..8786755
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/FrameStub.php
@@ -0,0 +1,30 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+/**
+ * Represents a single backtrace frame as returned by debug_backtrace() or Exception->getTrace().
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class FrameStub extends EnumStub
+{
+    public $keepArgs;
+    public $inTraceStub;
+
+    public function __construct(array $frame, bool $keepArgs = true, bool $inTraceStub = false)
+    {
+        $this->value = $frame;
+        $this->keepArgs = $keepArgs;
+        $this->inTraceStub = $inTraceStub;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/GmpCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/GmpCaster.php
new file mode 100644
index 0000000..b018cc7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/GmpCaster.php
@@ -0,0 +1,32 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts GMP objects to array representation.
+ *
+ * @author Hamza Amrouche <hamza.simperfit@gmail.com>
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class GmpCaster
+{
+    public static function castGmp(\GMP $gmp, array $a, Stub $stub, bool $isNested, int $filter): array
+    {
+        $a[Caster::PREFIX_VIRTUAL.'value'] = new ConstStub(gmp_strval($gmp), gmp_strval($gmp));
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ImagineCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ImagineCaster.php
new file mode 100644
index 0000000..d1289da
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ImagineCaster.php
@@ -0,0 +1,37 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Imagine\Image\ImageInterface;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * @author Grégoire Pineau <lyrixx@lyrixx.info>
+ */
+final class ImagineCaster
+{
+    public static function castImage(ImageInterface $c, array $a, Stub $stub, bool $isNested): array
+    {
+        $imgData = $c->get('png');
+        if (\strlen($imgData) > 1 * 1000 * 1000) {
+            $a += [
+                Caster::PREFIX_VIRTUAL.'image' => new ConstStub($c->getSize()),
+            ];
+        } else {
+            $a += [
+                Caster::PREFIX_VIRTUAL.'image' => new ImgStub($imgData, 'image/png', $c->getSize()),
+            ];
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ImgStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ImgStub.php
new file mode 100644
index 0000000..a16681f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ImgStub.php
@@ -0,0 +1,26 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+/**
+ * @author Grégoire Pineau <lyrixx@lyrixx.info>
+ */
+class ImgStub extends ConstStub
+{
+    public function __construct(string $data, string $contentType, string $size = '')
+    {
+        $this->value = '';
+        $this->attr['img-data'] = $data;
+        $this->attr['img-size'] = $size;
+        $this->attr['content-type'] = $contentType;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/IntlCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/IntlCaster.php
new file mode 100644
index 0000000..23b9d5d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/IntlCaster.php
@@ -0,0 +1,172 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ * @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
+ *
+ * @final
+ */
+class IntlCaster
+{
+    public static function castMessageFormatter(\MessageFormatter $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(),
+            Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(),
+        ];
+
+        return self::castError($c, $a);
+    }
+
+    public static function castNumberFormatter(\NumberFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(),
+            Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(),
+        ];
+
+        if ($filter & Caster::EXCLUDE_VERBOSE) {
+            $stub->cut += 3;
+
+            return self::castError($c, $a);
+        }
+
+        $a += [
+            Caster::PREFIX_VIRTUAL.'attributes' => new EnumStub(
+                [
+                    'PARSE_INT_ONLY' => $c->getAttribute(\NumberFormatter::PARSE_INT_ONLY),
+                    'GROUPING_USED' => $c->getAttribute(\NumberFormatter::GROUPING_USED),
+                    'DECIMAL_ALWAYS_SHOWN' => $c->getAttribute(\NumberFormatter::DECIMAL_ALWAYS_SHOWN),
+                    'MAX_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_INTEGER_DIGITS),
+                    'MIN_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_INTEGER_DIGITS),
+                    'INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::INTEGER_DIGITS),
+                    'MAX_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_FRACTION_DIGITS),
+                    'MIN_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_FRACTION_DIGITS),
+                    'FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::FRACTION_DIGITS),
+                    'MULTIPLIER' => $c->getAttribute(\NumberFormatter::MULTIPLIER),
+                    'GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::GROUPING_SIZE),
+                    'ROUNDING_MODE' => $c->getAttribute(\NumberFormatter::ROUNDING_MODE),
+                    'ROUNDING_INCREMENT' => $c->getAttribute(\NumberFormatter::ROUNDING_INCREMENT),
+                    'FORMAT_WIDTH' => $c->getAttribute(\NumberFormatter::FORMAT_WIDTH),
+                    'PADDING_POSITION' => $c->getAttribute(\NumberFormatter::PADDING_POSITION),
+                    'SECONDARY_GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::SECONDARY_GROUPING_SIZE),
+                    'SIGNIFICANT_DIGITS_USED' => $c->getAttribute(\NumberFormatter::SIGNIFICANT_DIGITS_USED),
+                    'MIN_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_SIGNIFICANT_DIGITS),
+                    'MAX_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_SIGNIFICANT_DIGITS),
+                    'LENIENT_PARSE' => $c->getAttribute(\NumberFormatter::LENIENT_PARSE),
+                ]
+            ),
+            Caster::PREFIX_VIRTUAL.'text_attributes' => new EnumStub(
+                [
+                    'POSITIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX),
+                    'POSITIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_SUFFIX),
+                    'NEGATIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_PREFIX),
+                    'NEGATIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_SUFFIX),
+                    'PADDING_CHARACTER' => $c->getTextAttribute(\NumberFormatter::PADDING_CHARACTER),
+                    'CURRENCY_CODE' => $c->getTextAttribute(\NumberFormatter::CURRENCY_CODE),
+                    'DEFAULT_RULESET' => $c->getTextAttribute(\NumberFormatter::DEFAULT_RULESET),
+                    'PUBLIC_RULESETS' => $c->getTextAttribute(\NumberFormatter::PUBLIC_RULESETS),
+                ]
+            ),
+            Caster::PREFIX_VIRTUAL.'symbols' => new EnumStub(
+                [
+                    'DECIMAL_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL),
+                    'GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL),
+                    'PATTERN_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::PATTERN_SEPARATOR_SYMBOL),
+                    'PERCENT_SYMBOL' => $c->getSymbol(\NumberFormatter::PERCENT_SYMBOL),
+                    'ZERO_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::ZERO_DIGIT_SYMBOL),
+                    'DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::DIGIT_SYMBOL),
+                    'MINUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::MINUS_SIGN_SYMBOL),
+                    'PLUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::PLUS_SIGN_SYMBOL),
+                    'CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::CURRENCY_SYMBOL),
+                    'INTL_CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::INTL_CURRENCY_SYMBOL),
+                    'MONETARY_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_SEPARATOR_SYMBOL),
+                    'EXPONENTIAL_SYMBOL' => $c->getSymbol(\NumberFormatter::EXPONENTIAL_SYMBOL),
+                    'PERMILL_SYMBOL' => $c->getSymbol(\NumberFormatter::PERMILL_SYMBOL),
+                    'PAD_ESCAPE_SYMBOL' => $c->getSymbol(\NumberFormatter::PAD_ESCAPE_SYMBOL),
+                    'INFINITY_SYMBOL' => $c->getSymbol(\NumberFormatter::INFINITY_SYMBOL),
+                    'NAN_SYMBOL' => $c->getSymbol(\NumberFormatter::NAN_SYMBOL),
+                    'SIGNIFICANT_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL),
+                    'MONETARY_GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL),
+                ]
+             ),
+        ];
+
+        return self::castError($c, $a);
+    }
+
+    public static function castIntlTimeZone(\IntlTimeZone $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'display_name' => $c->getDisplayName(),
+            Caster::PREFIX_VIRTUAL.'id' => $c->getID(),
+            Caster::PREFIX_VIRTUAL.'raw_offset' => $c->getRawOffset(),
+        ];
+
+        if ($c->useDaylightTime()) {
+            $a += [
+                Caster::PREFIX_VIRTUAL.'dst_savings' => $c->getDSTSavings(),
+            ];
+        }
+
+        return self::castError($c, $a);
+    }
+
+    public static function castIntlCalendar(\IntlCalendar $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'type' => $c->getType(),
+            Caster::PREFIX_VIRTUAL.'first_day_of_week' => $c->getFirstDayOfWeek(),
+            Caster::PREFIX_VIRTUAL.'minimal_days_in_first_week' => $c->getMinimalDaysInFirstWeek(),
+            Caster::PREFIX_VIRTUAL.'repeated_wall_time_option' => $c->getRepeatedWallTimeOption(),
+            Caster::PREFIX_VIRTUAL.'skipped_wall_time_option' => $c->getSkippedWallTimeOption(),
+            Caster::PREFIX_VIRTUAL.'time' => $c->getTime(),
+            Caster::PREFIX_VIRTUAL.'in_daylight_time' => $c->inDaylightTime(),
+            Caster::PREFIX_VIRTUAL.'is_lenient' => $c->isLenient(),
+            Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(),
+        ];
+
+        return self::castError($c, $a);
+    }
+
+    public static function castIntlDateFormatter(\IntlDateFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(),
+            Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(),
+            Caster::PREFIX_VIRTUAL.'calendar' => $c->getCalendar(),
+            Caster::PREFIX_VIRTUAL.'time_zone_id' => $c->getTimeZoneId(),
+            Caster::PREFIX_VIRTUAL.'time_type' => $c->getTimeType(),
+            Caster::PREFIX_VIRTUAL.'date_type' => $c->getDateType(),
+            Caster::PREFIX_VIRTUAL.'calendar_object' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getCalendarObject()) : $c->getCalendarObject(),
+            Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(),
+        ];
+
+        return self::castError($c, $a);
+    }
+
+    private static function castError(object $c, array $a): array
+    {
+        if ($errorCode = $c->getErrorCode()) {
+            $a += [
+                Caster::PREFIX_VIRTUAL.'error_code' => $errorCode,
+                Caster::PREFIX_VIRTUAL.'error_message' => $c->getErrorMessage(),
+            ];
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/LinkStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/LinkStub.php
new file mode 100644
index 0000000..7e07803
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/LinkStub.php
@@ -0,0 +1,108 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+/**
+ * Represents a file or a URL.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class LinkStub extends ConstStub
+{
+    public $inVendor = false;
+
+    private static $vendorRoots;
+    private static $composerRoots;
+
+    public function __construct(string $label, int $line = 0, string $href = null)
+    {
+        $this->value = $label;
+
+        if (null === $href) {
+            $href = $label;
+        }
+        if (!\is_string($href)) {
+            return;
+        }
+        if (str_starts_with($href, 'file://')) {
+            if ($href === $label) {
+                $label = substr($label, 7);
+            }
+            $href = substr($href, 7);
+        } elseif (str_contains($href, '://')) {
+            $this->attr['href'] = $href;
+
+            return;
+        }
+        if (!is_file($href)) {
+            return;
+        }
+        if ($line) {
+            $this->attr['line'] = $line;
+        }
+        if ($label !== $this->attr['file'] = realpath($href) ?: $href) {
+            return;
+        }
+        if ($composerRoot = $this->getComposerRoot($href, $this->inVendor)) {
+            $this->attr['ellipsis'] = \strlen($href) - \strlen($composerRoot) + 1;
+            $this->attr['ellipsis-type'] = 'path';
+            $this->attr['ellipsis-tail'] = 1 + ($this->inVendor ? 2 + \strlen(implode('', \array_slice(explode(\DIRECTORY_SEPARATOR, substr($href, 1 - $this->attr['ellipsis'])), 0, 2))) : 0);
+        } elseif (3 < \count($ellipsis = explode(\DIRECTORY_SEPARATOR, $href))) {
+            $this->attr['ellipsis'] = 2 + \strlen(implode('', \array_slice($ellipsis, -2)));
+            $this->attr['ellipsis-type'] = 'path';
+            $this->attr['ellipsis-tail'] = 1;
+        }
+    }
+
+    private function getComposerRoot(string $file, bool &$inVendor)
+    {
+        if (null === self::$vendorRoots) {
+            self::$vendorRoots = [];
+
+            foreach (get_declared_classes() as $class) {
+                if ('C' === $class[0] && str_starts_with($class, 'ComposerAutoloaderInit')) {
+                    $r = new \ReflectionClass($class);
+                    $v = \dirname($r->getFileName(), 2);
+                    if (is_file($v.'/composer/installed.json')) {
+                        self::$vendorRoots[] = $v.\DIRECTORY_SEPARATOR;
+                    }
+                }
+            }
+        }
+        $inVendor = false;
+
+        if (isset(self::$composerRoots[$dir = \dirname($file)])) {
+            return self::$composerRoots[$dir];
+        }
+
+        foreach (self::$vendorRoots as $root) {
+            if ($inVendor = str_starts_with($file, $root)) {
+                return $root;
+            }
+        }
+
+        $parent = $dir;
+        while (!@is_file($parent.'/composer.json')) {
+            if (!@file_exists($parent)) {
+                // open_basedir restriction in effect
+                break;
+            }
+            if ($parent === \dirname($parent)) {
+                return self::$composerRoots[$dir] = false;
+            }
+
+            $parent = \dirname($parent);
+        }
+
+        return self::$composerRoots[$dir] = $parent.\DIRECTORY_SEPARATOR;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/MemcachedCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/MemcachedCaster.php
new file mode 100644
index 0000000..cfef19a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/MemcachedCaster.php
@@ -0,0 +1,81 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
+ *
+ * @final
+ */
+class MemcachedCaster
+{
+    private static $optionConstants;
+    private static $defaultOptions;
+
+    public static function castMemcached(\Memcached $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'servers' => $c->getServerList(),
+            Caster::PREFIX_VIRTUAL.'options' => new EnumStub(
+                self::getNonDefaultOptions($c)
+            ),
+        ];
+
+        return $a;
+    }
+
+    private static function getNonDefaultOptions(\Memcached $c): array
+    {
+        self::$defaultOptions = self::$defaultOptions ?? self::discoverDefaultOptions();
+        self::$optionConstants = self::$optionConstants ?? self::getOptionConstants();
+
+        $nonDefaultOptions = [];
+        foreach (self::$optionConstants as $constantKey => $value) {
+            if (self::$defaultOptions[$constantKey] !== $option = $c->getOption($value)) {
+                $nonDefaultOptions[$constantKey] = $option;
+            }
+        }
+
+        return $nonDefaultOptions;
+    }
+
+    private static function discoverDefaultOptions(): array
+    {
+        $defaultMemcached = new \Memcached();
+        $defaultMemcached->addServer('127.0.0.1', 11211);
+
+        $defaultOptions = [];
+        self::$optionConstants = self::$optionConstants ?? self::getOptionConstants();
+
+        foreach (self::$optionConstants as $constantKey => $value) {
+            $defaultOptions[$constantKey] = $defaultMemcached->getOption($value);
+        }
+
+        return $defaultOptions;
+    }
+
+    private static function getOptionConstants(): array
+    {
+        $reflectedMemcached = new \ReflectionClass(\Memcached::class);
+
+        $optionConstants = [];
+        foreach ($reflectedMemcached->getConstants() as $constantKey => $value) {
+            if (str_starts_with($constantKey, 'OPT_')) {
+                $optionConstants[$constantKey] = $value;
+            }
+        }
+
+        return $optionConstants;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/PdoCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/PdoCaster.php
new file mode 100644
index 0000000..140473b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/PdoCaster.php
@@ -0,0 +1,122 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts PDO related classes to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class PdoCaster
+{
+    private const PDO_ATTRIBUTES = [
+        'CASE' => [
+            \PDO::CASE_LOWER => 'LOWER',
+            \PDO::CASE_NATURAL => 'NATURAL',
+            \PDO::CASE_UPPER => 'UPPER',
+        ],
+        'ERRMODE' => [
+            \PDO::ERRMODE_SILENT => 'SILENT',
+            \PDO::ERRMODE_WARNING => 'WARNING',
+            \PDO::ERRMODE_EXCEPTION => 'EXCEPTION',
+        ],
+        'TIMEOUT',
+        'PREFETCH',
+        'AUTOCOMMIT',
+        'PERSISTENT',
+        'DRIVER_NAME',
+        'SERVER_INFO',
+        'ORACLE_NULLS' => [
+            \PDO::NULL_NATURAL => 'NATURAL',
+            \PDO::NULL_EMPTY_STRING => 'EMPTY_STRING',
+            \PDO::NULL_TO_STRING => 'TO_STRING',
+        ],
+        'CLIENT_VERSION',
+        'SERVER_VERSION',
+        'STATEMENT_CLASS',
+        'EMULATE_PREPARES',
+        'CONNECTION_STATUS',
+        'STRINGIFY_FETCHES',
+        'DEFAULT_FETCH_MODE' => [
+            \PDO::FETCH_ASSOC => 'ASSOC',
+            \PDO::FETCH_BOTH => 'BOTH',
+            \PDO::FETCH_LAZY => 'LAZY',
+            \PDO::FETCH_NUM => 'NUM',
+            \PDO::FETCH_OBJ => 'OBJ',
+        ],
+    ];
+
+    public static function castPdo(\PDO $c, array $a, Stub $stub, bool $isNested)
+    {
+        $attr = [];
+        $errmode = $c->getAttribute(\PDO::ATTR_ERRMODE);
+        $c->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
+
+        foreach (self::PDO_ATTRIBUTES as $k => $v) {
+            if (!isset($k[0])) {
+                $k = $v;
+                $v = [];
+            }
+
+            try {
+                $attr[$k] = 'ERRMODE' === $k ? $errmode : $c->getAttribute(\constant('PDO::ATTR_'.$k));
+                if ($v && isset($v[$attr[$k]])) {
+                    $attr[$k] = new ConstStub($v[$attr[$k]], $attr[$k]);
+                }
+            } catch (\Exception $e) {
+            }
+        }
+        if (isset($attr[$k = 'STATEMENT_CLASS'][1])) {
+            if ($attr[$k][1]) {
+                $attr[$k][1] = new ArgsStub($attr[$k][1], '__construct', $attr[$k][0]);
+            }
+            $attr[$k][0] = new ClassStub($attr[$k][0]);
+        }
+
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $a += [
+            $prefix.'inTransaction' => method_exists($c, 'inTransaction'),
+            $prefix.'errorInfo' => $c->errorInfo(),
+            $prefix.'attributes' => new EnumStub($attr),
+        ];
+
+        if ($a[$prefix.'inTransaction']) {
+            $a[$prefix.'inTransaction'] = $c->inTransaction();
+        } else {
+            unset($a[$prefix.'inTransaction']);
+        }
+
+        if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) {
+            unset($a[$prefix.'errorInfo']);
+        }
+
+        $c->setAttribute(\PDO::ATTR_ERRMODE, $errmode);
+
+        return $a;
+    }
+
+    public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $a[$prefix.'errorInfo'] = $c->errorInfo();
+
+        if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) {
+            unset($a[$prefix.'errorInfo']);
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/PgSqlCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/PgSqlCaster.php
new file mode 100644
index 0000000..d8e5b52
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/PgSqlCaster.php
@@ -0,0 +1,156 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts pqsql resources to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class PgSqlCaster
+{
+    private const PARAM_CODES = [
+        'server_encoding',
+        'client_encoding',
+        'is_superuser',
+        'session_authorization',
+        'DateStyle',
+        'TimeZone',
+        'IntervalStyle',
+        'integer_datetimes',
+        'application_name',
+        'standard_conforming_strings',
+    ];
+
+    private const TRANSACTION_STATUS = [
+        \PGSQL_TRANSACTION_IDLE => 'PGSQL_TRANSACTION_IDLE',
+        \PGSQL_TRANSACTION_ACTIVE => 'PGSQL_TRANSACTION_ACTIVE',
+        \PGSQL_TRANSACTION_INTRANS => 'PGSQL_TRANSACTION_INTRANS',
+        \PGSQL_TRANSACTION_INERROR => 'PGSQL_TRANSACTION_INERROR',
+        \PGSQL_TRANSACTION_UNKNOWN => 'PGSQL_TRANSACTION_UNKNOWN',
+    ];
+
+    private const RESULT_STATUS = [
+        \PGSQL_EMPTY_QUERY => 'PGSQL_EMPTY_QUERY',
+        \PGSQL_COMMAND_OK => 'PGSQL_COMMAND_OK',
+        \PGSQL_TUPLES_OK => 'PGSQL_TUPLES_OK',
+        \PGSQL_COPY_OUT => 'PGSQL_COPY_OUT',
+        \PGSQL_COPY_IN => 'PGSQL_COPY_IN',
+        \PGSQL_BAD_RESPONSE => 'PGSQL_BAD_RESPONSE',
+        \PGSQL_NONFATAL_ERROR => 'PGSQL_NONFATAL_ERROR',
+        \PGSQL_FATAL_ERROR => 'PGSQL_FATAL_ERROR',
+    ];
+
+    private const DIAG_CODES = [
+        'severity' => \PGSQL_DIAG_SEVERITY,
+        'sqlstate' => \PGSQL_DIAG_SQLSTATE,
+        'message' => \PGSQL_DIAG_MESSAGE_PRIMARY,
+        'detail' => \PGSQL_DIAG_MESSAGE_DETAIL,
+        'hint' => \PGSQL_DIAG_MESSAGE_HINT,
+        'statement position' => \PGSQL_DIAG_STATEMENT_POSITION,
+        'internal position' => \PGSQL_DIAG_INTERNAL_POSITION,
+        'internal query' => \PGSQL_DIAG_INTERNAL_QUERY,
+        'context' => \PGSQL_DIAG_CONTEXT,
+        'file' => \PGSQL_DIAG_SOURCE_FILE,
+        'line' => \PGSQL_DIAG_SOURCE_LINE,
+        'function' => \PGSQL_DIAG_SOURCE_FUNCTION,
+    ];
+
+    public static function castLargeObject($lo, array $a, Stub $stub, bool $isNested)
+    {
+        $a['seek position'] = pg_lo_tell($lo);
+
+        return $a;
+    }
+
+    public static function castLink($link, array $a, Stub $stub, bool $isNested)
+    {
+        $a['status'] = pg_connection_status($link);
+        $a['status'] = new ConstStub(\PGSQL_CONNECTION_OK === $a['status'] ? 'PGSQL_CONNECTION_OK' : 'PGSQL_CONNECTION_BAD', $a['status']);
+        $a['busy'] = pg_connection_busy($link);
+
+        $a['transaction'] = pg_transaction_status($link);
+        if (isset(self::TRANSACTION_STATUS[$a['transaction']])) {
+            $a['transaction'] = new ConstStub(self::TRANSACTION_STATUS[$a['transaction']], $a['transaction']);
+        }
+
+        $a['pid'] = pg_get_pid($link);
+        $a['last error'] = pg_last_error($link);
+        $a['last notice'] = pg_last_notice($link);
+        $a['host'] = pg_host($link);
+        $a['port'] = pg_port($link);
+        $a['dbname'] = pg_dbname($link);
+        $a['options'] = pg_options($link);
+        $a['version'] = pg_version($link);
+
+        foreach (self::PARAM_CODES as $v) {
+            if (false !== $s = pg_parameter_status($link, $v)) {
+                $a['param'][$v] = $s;
+            }
+        }
+
+        $a['param']['client_encoding'] = pg_client_encoding($link);
+        $a['param'] = new EnumStub($a['param']);
+
+        return $a;
+    }
+
+    public static function castResult($result, array $a, Stub $stub, bool $isNested)
+    {
+        $a['num rows'] = pg_num_rows($result);
+        $a['status'] = pg_result_status($result);
+        if (isset(self::RESULT_STATUS[$a['status']])) {
+            $a['status'] = new ConstStub(self::RESULT_STATUS[$a['status']], $a['status']);
+        }
+        $a['command-completion tag'] = pg_result_status($result, \PGSQL_STATUS_STRING);
+
+        if (-1 === $a['num rows']) {
+            foreach (self::DIAG_CODES as $k => $v) {
+                $a['error'][$k] = pg_result_error_field($result, $v);
+            }
+        }
+
+        $a['affected rows'] = pg_affected_rows($result);
+        $a['last OID'] = pg_last_oid($result);
+
+        $fields = pg_num_fields($result);
+
+        for ($i = 0; $i < $fields; ++$i) {
+            $field = [
+                'name' => pg_field_name($result, $i),
+                'table' => sprintf('%s (OID: %s)', pg_field_table($result, $i), pg_field_table($result, $i, true)),
+                'type' => sprintf('%s (OID: %s)', pg_field_type($result, $i), pg_field_type_oid($result, $i)),
+                'nullable' => (bool) pg_field_is_null($result, $i),
+                'storage' => pg_field_size($result, $i).' bytes',
+                'display' => pg_field_prtlen($result, $i).' chars',
+            ];
+            if (' (OID: )' === $field['table']) {
+                $field['table'] = null;
+            }
+            if ('-1 bytes' === $field['storage']) {
+                $field['storage'] = 'variable size';
+            } elseif ('1 bytes' === $field['storage']) {
+                $field['storage'] = '1 byte';
+            }
+            if ('1 chars' === $field['display']) {
+                $field['display'] = '1 char';
+            }
+            $a['fields'][] = new EnumStub($field);
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php
new file mode 100644
index 0000000..e712019
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php
@@ -0,0 +1,33 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use ProxyManager\Proxy\ProxyInterface;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class ProxyManagerCaster
+{
+    public static function castProxy(ProxyInterface $c, array $a, Stub $stub, bool $isNested)
+    {
+        if ($parent = get_parent_class($c)) {
+            $stub->class .= ' - '.$parent;
+        }
+        $stub->class .= '@proxy';
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php
new file mode 100644
index 0000000..db4bba8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php
@@ -0,0 +1,186 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use RdKafka\Conf;
+use RdKafka\Exception as RdKafkaException;
+use RdKafka\KafkaConsumer;
+use RdKafka\Message;
+use RdKafka\Metadata\Broker as BrokerMetadata;
+use RdKafka\Metadata\Collection as CollectionMetadata;
+use RdKafka\Metadata\Partition as PartitionMetadata;
+use RdKafka\Metadata\Topic as TopicMetadata;
+use RdKafka\Topic;
+use RdKafka\TopicConf;
+use RdKafka\TopicPartition;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts RdKafka related classes to array representation.
+ *
+ * @author Romain Neutron <imprec@gmail.com>
+ */
+class RdKafkaCaster
+{
+    public static function castKafkaConsumer(KafkaConsumer $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        try {
+            $assignment = $c->getAssignment();
+        } catch (RdKafkaException $e) {
+            $assignment = [];
+        }
+
+        $a += [
+            $prefix.'subscription' => $c->getSubscription(),
+            $prefix.'assignment' => $assignment,
+        ];
+
+        $a += self::extractMetadata($c);
+
+        return $a;
+    }
+
+    public static function castTopic(Topic $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'name' => $c->getName(),
+        ];
+
+        return $a;
+    }
+
+    public static function castTopicPartition(TopicPartition $c, array $a)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'offset' => $c->getOffset(),
+            $prefix.'partition' => $c->getPartition(),
+            $prefix.'topic' => $c->getTopic(),
+        ];
+
+        return $a;
+    }
+
+    public static function castMessage(Message $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'errstr' => $c->errstr(),
+        ];
+
+        return $a;
+    }
+
+    public static function castConf(Conf $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        foreach ($c->dump() as $key => $value) {
+            $a[$prefix.$key] = $value;
+        }
+
+        return $a;
+    }
+
+    public static function castTopicConf(TopicConf $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        foreach ($c->dump() as $key => $value) {
+            $a[$prefix.$key] = $value;
+        }
+
+        return $a;
+    }
+
+    public static function castRdKafka(\RdKafka $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'out_q_len' => $c->getOutQLen(),
+        ];
+
+        $a += self::extractMetadata($c);
+
+        return $a;
+    }
+
+    public static function castCollectionMetadata(CollectionMetadata $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a += iterator_to_array($c);
+
+        return $a;
+    }
+
+    public static function castTopicMetadata(TopicMetadata $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'name' => $c->getTopic(),
+            $prefix.'partitions' => $c->getPartitions(),
+        ];
+
+        return $a;
+    }
+
+    public static function castPartitionMetadata(PartitionMetadata $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'id' => $c->getId(),
+            $prefix.'err' => $c->getErr(),
+            $prefix.'leader' => $c->getLeader(),
+        ];
+
+        return $a;
+    }
+
+    public static function castBrokerMetadata(BrokerMetadata $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        $a += [
+            $prefix.'id' => $c->getId(),
+            $prefix.'host' => $c->getHost(),
+            $prefix.'port' => $c->getPort(),
+        ];
+
+        return $a;
+    }
+
+    private static function extractMetadata($c)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        try {
+            $m = $c->getMetadata(true, null, 500);
+        } catch (RdKafkaException $e) {
+            return [];
+        }
+
+        return [
+            $prefix.'orig_broker_id' => $m->getOrigBrokerId(),
+            $prefix.'orig_broker_name' => $m->getOrigBrokerName(),
+            $prefix.'brokers' => $m->getBrokers(),
+            $prefix.'topics' => $m->getTopics(),
+        ];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/RedisCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/RedisCaster.php
new file mode 100644
index 0000000..8f97eaa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/RedisCaster.php
@@ -0,0 +1,152 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts Redis class from ext-redis to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class RedisCaster
+{
+    private const SERIALIZERS = [
+        \Redis::SERIALIZER_NONE => 'NONE',
+        \Redis::SERIALIZER_PHP => 'PHP',
+        2 => 'IGBINARY', // Optional Redis::SERIALIZER_IGBINARY
+    ];
+
+    private const MODES = [
+        \Redis::ATOMIC => 'ATOMIC',
+        \Redis::MULTI => 'MULTI',
+        \Redis::PIPELINE => 'PIPELINE',
+    ];
+
+    private const COMPRESSION_MODES = [
+        0 => 'NONE', // Redis::COMPRESSION_NONE
+        1 => 'LZF',  // Redis::COMPRESSION_LZF
+    ];
+
+    private const FAILOVER_OPTIONS = [
+        \RedisCluster::FAILOVER_NONE => 'NONE',
+        \RedisCluster::FAILOVER_ERROR => 'ERROR',
+        \RedisCluster::FAILOVER_DISTRIBUTE => 'DISTRIBUTE',
+        \RedisCluster::FAILOVER_DISTRIBUTE_SLAVES => 'DISTRIBUTE_SLAVES',
+    ];
+
+    public static function castRedis(\Redis $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        if (!$connected = $c->isConnected()) {
+            return $a + [
+                $prefix.'isConnected' => $connected,
+            ];
+        }
+
+        $mode = $c->getMode();
+
+        return $a + [
+            $prefix.'isConnected' => $connected,
+            $prefix.'host' => $c->getHost(),
+            $prefix.'port' => $c->getPort(),
+            $prefix.'auth' => $c->getAuth(),
+            $prefix.'mode' => isset(self::MODES[$mode]) ? new ConstStub(self::MODES[$mode], $mode) : $mode,
+            $prefix.'dbNum' => $c->getDbNum(),
+            $prefix.'timeout' => $c->getTimeout(),
+            $prefix.'lastError' => $c->getLastError(),
+            $prefix.'persistentId' => $c->getPersistentID(),
+            $prefix.'options' => self::getRedisOptions($c),
+        ];
+    }
+
+    public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        return $a + [
+            $prefix.'hosts' => $c->_hosts(),
+            $prefix.'function' => ClassStub::wrapCallable($c->_function()),
+            $prefix.'lastError' => $c->getLastError(),
+            $prefix.'options' => self::getRedisOptions($c),
+        ];
+    }
+
+    public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $failover = $c->getOption(\RedisCluster::OPT_SLAVE_FAILOVER);
+
+        $a += [
+            $prefix.'_masters' => $c->_masters(),
+            $prefix.'_redir' => $c->_redir(),
+            $prefix.'mode' => new ConstStub($c->getMode() ? 'MULTI' : 'ATOMIC', $c->getMode()),
+            $prefix.'lastError' => $c->getLastError(),
+            $prefix.'options' => self::getRedisOptions($c, [
+                'SLAVE_FAILOVER' => isset(self::FAILOVER_OPTIONS[$failover]) ? new ConstStub(self::FAILOVER_OPTIONS[$failover], $failover) : $failover,
+            ]),
+        ];
+
+        return $a;
+    }
+
+    /**
+     * @param \Redis|\RedisArray|\RedisCluster $redis
+     */
+    private static function getRedisOptions($redis, array $options = []): EnumStub
+    {
+        $serializer = $redis->getOption(\Redis::OPT_SERIALIZER);
+        if (\is_array($serializer)) {
+            foreach ($serializer as &$v) {
+                if (isset(self::SERIALIZERS[$v])) {
+                    $v = new ConstStub(self::SERIALIZERS[$v], $v);
+                }
+            }
+        } elseif (isset(self::SERIALIZERS[$serializer])) {
+            $serializer = new ConstStub(self::SERIALIZERS[$serializer], $serializer);
+        }
+
+        $compression = \defined('Redis::OPT_COMPRESSION') ? $redis->getOption(\Redis::OPT_COMPRESSION) : 0;
+        if (\is_array($compression)) {
+            foreach ($compression as &$v) {
+                if (isset(self::COMPRESSION_MODES[$v])) {
+                    $v = new ConstStub(self::COMPRESSION_MODES[$v], $v);
+                }
+            }
+        } elseif (isset(self::COMPRESSION_MODES[$compression])) {
+            $compression = new ConstStub(self::COMPRESSION_MODES[$compression], $compression);
+        }
+
+        $retry = \defined('Redis::OPT_SCAN') ? $redis->getOption(\Redis::OPT_SCAN) : 0;
+        if (\is_array($retry)) {
+            foreach ($retry as &$v) {
+                $v = new ConstStub($v ? 'RETRY' : 'NORETRY', $v);
+            }
+        } else {
+            $retry = new ConstStub($retry ? 'RETRY' : 'NORETRY', $retry);
+        }
+
+        $options += [
+            'TCP_KEEPALIVE' => \defined('Redis::OPT_TCP_KEEPALIVE') ? $redis->getOption(\Redis::OPT_TCP_KEEPALIVE) : 0,
+            'READ_TIMEOUT' => $redis->getOption(\Redis::OPT_READ_TIMEOUT),
+            'COMPRESSION' => $compression,
+            'SERIALIZER' => $serializer,
+            'PREFIX' => $redis->getOption(\Redis::OPT_PREFIX),
+            'SCAN' => $retry,
+        ];
+
+        return new EnumStub($options);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ReflectionCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ReflectionCaster.php
new file mode 100644
index 0000000..1781f46
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ReflectionCaster.php
@@ -0,0 +1,438 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts Reflector related classes to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class ReflectionCaster
+{
+    public const UNSET_CLOSURE_FILE_INFO = ['Closure' => __CLASS__.'::unsetClosureFileInfo'];
+
+    private const EXTRA_MAP = [
+        'docComment' => 'getDocComment',
+        'extension' => 'getExtensionName',
+        'isDisabled' => 'isDisabled',
+        'isDeprecated' => 'isDeprecated',
+        'isInternal' => 'isInternal',
+        'isUserDefined' => 'isUserDefined',
+        'isGenerator' => 'isGenerator',
+        'isVariadic' => 'isVariadic',
+    ];
+
+    public static function castClosure(\Closure $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $c = new \ReflectionFunction($c);
+
+        $a = static::castFunctionAbstract($c, $a, $stub, $isNested, $filter);
+
+        if (!str_contains($c->name, '{closure}')) {
+            $stub->class = isset($a[$prefix.'class']) ? $a[$prefix.'class']->value.'::'.$c->name : $c->name;
+            unset($a[$prefix.'class']);
+        }
+        unset($a[$prefix.'extra']);
+
+        $stub->class .= self::getSignature($a);
+
+        if ($f = $c->getFileName()) {
+            $stub->attr['file'] = $f;
+            $stub->attr['line'] = $c->getStartLine();
+        }
+
+        unset($a[$prefix.'parameters']);
+
+        if ($filter & Caster::EXCLUDE_VERBOSE) {
+            $stub->cut += ($c->getFileName() ? 2 : 0) + \count($a);
+
+            return [];
+        }
+
+        if ($f) {
+            $a[$prefix.'file'] = new LinkStub($f, $c->getStartLine());
+            $a[$prefix.'line'] = $c->getStartLine().' to '.$c->getEndLine();
+        }
+
+        return $a;
+    }
+
+    public static function unsetClosureFileInfo(\Closure $c, array $a)
+    {
+        unset($a[Caster::PREFIX_VIRTUAL.'file'], $a[Caster::PREFIX_VIRTUAL.'line']);
+
+        return $a;
+    }
+
+    public static function castGenerator(\Generator $c, array $a, Stub $stub, bool $isNested)
+    {
+        // Cannot create ReflectionGenerator based on a terminated Generator
+        try {
+            $reflectionGenerator = new \ReflectionGenerator($c);
+        } catch (\Exception $e) {
+            $a[Caster::PREFIX_VIRTUAL.'closed'] = true;
+
+            return $a;
+        }
+
+        return self::castReflectionGenerator($reflectionGenerator, $a, $stub, $isNested);
+    }
+
+    public static function castType(\ReflectionType $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        if ($c instanceof \ReflectionNamedType || \PHP_VERSION_ID < 80000) {
+            $a += [
+                $prefix.'name' => $c instanceof \ReflectionNamedType ? $c->getName() : (string) $c,
+                $prefix.'allowsNull' => $c->allowsNull(),
+                $prefix.'isBuiltin' => $c->isBuiltin(),
+            ];
+        } elseif ($c instanceof \ReflectionUnionType || $c instanceof \ReflectionIntersectionType) {
+            $a[$prefix.'allowsNull'] = $c->allowsNull();
+            self::addMap($a, $c, [
+                'types' => 'getTypes',
+            ]);
+        } else {
+            $a[$prefix.'allowsNull'] = $c->allowsNull();
+        }
+
+        return $a;
+    }
+
+    public static function castAttribute(\ReflectionAttribute $c, array $a, Stub $stub, bool $isNested)
+    {
+        self::addMap($a, $c, [
+            'name' => 'getName',
+            'arguments' => 'getArguments',
+        ]);
+
+        return $a;
+    }
+
+    public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        if ($c->getThis()) {
+            $a[$prefix.'this'] = new CutStub($c->getThis());
+        }
+        $function = $c->getFunction();
+        $frame = [
+            'class' => $function->class ?? null,
+            'type' => isset($function->class) ? ($function->isStatic() ? '::' : '->') : null,
+            'function' => $function->name,
+            'file' => $c->getExecutingFile(),
+            'line' => $c->getExecutingLine(),
+        ];
+        if ($trace = $c->getTrace(\DEBUG_BACKTRACE_IGNORE_ARGS)) {
+            $function = new \ReflectionGenerator($c->getExecutingGenerator());
+            array_unshift($trace, [
+                'function' => 'yield',
+                'file' => $function->getExecutingFile(),
+                'line' => $function->getExecutingLine() - 1,
+            ]);
+            $trace[] = $frame;
+            $a[$prefix.'trace'] = new TraceStub($trace, false, 0, -1, -1);
+        } else {
+            $function = new FrameStub($frame, false, true);
+            $function = ExceptionCaster::castFrameStub($function, [], $function, true);
+            $a[$prefix.'executing'] = $function[$prefix.'src'];
+        }
+
+        $a[Caster::PREFIX_VIRTUAL.'closed'] = false;
+
+        return $a;
+    }
+
+    public static function castClass(\ReflectionClass $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        if ($n = \Reflection::getModifierNames($c->getModifiers())) {
+            $a[$prefix.'modifiers'] = implode(' ', $n);
+        }
+
+        self::addMap($a, $c, [
+            'extends' => 'getParentClass',
+            'implements' => 'getInterfaceNames',
+            'constants' => 'getReflectionConstants',
+        ]);
+
+        foreach ($c->getProperties() as $n) {
+            $a[$prefix.'properties'][$n->name] = $n;
+        }
+
+        foreach ($c->getMethods() as $n) {
+            $a[$prefix.'methods'][$n->name] = $n;
+        }
+
+        self::addAttributes($a, $c, $prefix);
+
+        if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) {
+            self::addExtra($a, $c);
+        }
+
+        return $a;
+    }
+
+    public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, bool $isNested, int $filter = 0)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        self::addMap($a, $c, [
+            'returnsReference' => 'returnsReference',
+            'returnType' => 'getReturnType',
+            'class' => 'getClosureScopeClass',
+            'this' => 'getClosureThis',
+        ]);
+
+        if (isset($a[$prefix.'returnType'])) {
+            $v = $a[$prefix.'returnType'];
+            $v = $v instanceof \ReflectionNamedType ? $v->getName() : (string) $v;
+            $a[$prefix.'returnType'] = new ClassStub($a[$prefix.'returnType'] instanceof \ReflectionNamedType && $a[$prefix.'returnType']->allowsNull() && 'mixed' !== $v ? '?'.$v : $v, [class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '']);
+        }
+        if (isset($a[$prefix.'class'])) {
+            $a[$prefix.'class'] = new ClassStub($a[$prefix.'class']);
+        }
+        if (isset($a[$prefix.'this'])) {
+            $a[$prefix.'this'] = new CutStub($a[$prefix.'this']);
+        }
+
+        foreach ($c->getParameters() as $v) {
+            $k = '$'.$v->name;
+            if ($v->isVariadic()) {
+                $k = '...'.$k;
+            }
+            if ($v->isPassedByReference()) {
+                $k = '&'.$k;
+            }
+            $a[$prefix.'parameters'][$k] = $v;
+        }
+        if (isset($a[$prefix.'parameters'])) {
+            $a[$prefix.'parameters'] = new EnumStub($a[$prefix.'parameters']);
+        }
+
+        self::addAttributes($a, $c, $prefix);
+
+        if (!($filter & Caster::EXCLUDE_VERBOSE) && $v = $c->getStaticVariables()) {
+            foreach ($v as $k => &$v) {
+                if (\is_object($v)) {
+                    $a[$prefix.'use']['$'.$k] = new CutStub($v);
+                } else {
+                    $a[$prefix.'use']['$'.$k] = &$v;
+                }
+            }
+            unset($v);
+            $a[$prefix.'use'] = new EnumStub($a[$prefix.'use']);
+        }
+
+        if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) {
+            self::addExtra($a, $c);
+        }
+
+        return $a;
+    }
+
+    public static function castClassConstant(\ReflectionClassConstant $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers()));
+        $a[Caster::PREFIX_VIRTUAL.'value'] = $c->getValue();
+
+        self::addAttributes($a, $c);
+
+        return $a;
+    }
+
+    public static function castMethod(\ReflectionMethod $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers()));
+
+        return $a;
+    }
+
+    public static function castParameter(\ReflectionParameter $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        self::addMap($a, $c, [
+            'position' => 'getPosition',
+            'isVariadic' => 'isVariadic',
+            'byReference' => 'isPassedByReference',
+            'allowsNull' => 'allowsNull',
+        ]);
+
+        self::addAttributes($a, $c, $prefix);
+
+        if ($v = $c->getType()) {
+            $a[$prefix.'typeHint'] = $v instanceof \ReflectionNamedType ? $v->getName() : (string) $v;
+        }
+
+        if (isset($a[$prefix.'typeHint'])) {
+            $v = $a[$prefix.'typeHint'];
+            $a[$prefix.'typeHint'] = new ClassStub($v, [class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '']);
+        } else {
+            unset($a[$prefix.'allowsNull']);
+        }
+
+        try {
+            $a[$prefix.'default'] = $v = $c->getDefaultValue();
+            if ($c->isDefaultValueConstant()) {
+                $a[$prefix.'default'] = new ConstStub($c->getDefaultValueConstantName(), $v);
+            }
+            if (null === $v) {
+                unset($a[$prefix.'allowsNull']);
+            }
+        } catch (\ReflectionException $e) {
+        }
+
+        return $a;
+    }
+
+    public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers()));
+
+        self::addAttributes($a, $c);
+        self::addExtra($a, $c);
+
+        return $a;
+    }
+
+    public static function castReference(\ReflectionReference $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a[Caster::PREFIX_VIRTUAL.'id'] = $c->getId();
+
+        return $a;
+    }
+
+    public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, bool $isNested)
+    {
+        self::addMap($a, $c, [
+            'version' => 'getVersion',
+            'dependencies' => 'getDependencies',
+            'iniEntries' => 'getIniEntries',
+            'isPersistent' => 'isPersistent',
+            'isTemporary' => 'isTemporary',
+            'constants' => 'getConstants',
+            'functions' => 'getFunctions',
+            'classes' => 'getClasses',
+        ]);
+
+        return $a;
+    }
+
+    public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, bool $isNested)
+    {
+        self::addMap($a, $c, [
+            'version' => 'getVersion',
+            'author' => 'getAuthor',
+            'copyright' => 'getCopyright',
+            'url' => 'getURL',
+        ]);
+
+        return $a;
+    }
+
+    public static function getSignature(array $a)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $signature = '';
+
+        if (isset($a[$prefix.'parameters'])) {
+            foreach ($a[$prefix.'parameters']->value as $k => $param) {
+                $signature .= ', ';
+                if ($type = $param->getType()) {
+                    if (!$type instanceof \ReflectionNamedType) {
+                        $signature .= $type.' ';
+                    } else {
+                        if (!$param->isOptional() && $param->allowsNull() && 'mixed' !== $type->getName()) {
+                            $signature .= '?';
+                        }
+                        $signature .= substr(strrchr('\\'.$type->getName(), '\\'), 1).' ';
+                    }
+                }
+                $signature .= $k;
+
+                if (!$param->isDefaultValueAvailable()) {
+                    continue;
+                }
+                $v = $param->getDefaultValue();
+                $signature .= ' = ';
+
+                if ($param->isDefaultValueConstant()) {
+                    $signature .= substr(strrchr('\\'.$param->getDefaultValueConstantName(), '\\'), 1);
+                } elseif (null === $v) {
+                    $signature .= 'null';
+                } elseif (\is_array($v)) {
+                    $signature .= $v ? '[…'.\count($v).']' : '[]';
+                } elseif (\is_string($v)) {
+                    $signature .= 10 > \strlen($v) && !str_contains($v, '\\') ? "'{$v}'" : "'…".\strlen($v)."'";
+                } elseif (\is_bool($v)) {
+                    $signature .= $v ? 'true' : 'false';
+                } else {
+                    $signature .= $v;
+                }
+            }
+        }
+        $signature = (empty($a[$prefix.'returnsReference']) ? '' : '&').'('.substr($signature, 2).')';
+
+        if (isset($a[$prefix.'returnType'])) {
+            $signature .= ': '.substr(strrchr('\\'.$a[$prefix.'returnType'], '\\'), 1);
+        }
+
+        return $signature;
+    }
+
+    private static function addExtra(array &$a, \Reflector $c)
+    {
+        $x = isset($a[Caster::PREFIX_VIRTUAL.'extra']) ? $a[Caster::PREFIX_VIRTUAL.'extra']->value : [];
+
+        if (method_exists($c, 'getFileName') && $m = $c->getFileName()) {
+            $x['file'] = new LinkStub($m, $c->getStartLine());
+            $x['line'] = $c->getStartLine().' to '.$c->getEndLine();
+        }
+
+        self::addMap($x, $c, self::EXTRA_MAP, '');
+
+        if ($x) {
+            $a[Caster::PREFIX_VIRTUAL.'extra'] = new EnumStub($x);
+        }
+    }
+
+    private static function addMap(array &$a, object $c, array $map, string $prefix = Caster::PREFIX_VIRTUAL)
+    {
+        foreach ($map as $k => $m) {
+            if (\PHP_VERSION_ID >= 80000 && 'isDisabled' === $k) {
+                continue;
+            }
+
+            if (method_exists($c, $m) && false !== ($m = $c->$m()) && null !== $m) {
+                $a[$prefix.$k] = $m instanceof \Reflector ? $m->name : $m;
+            }
+        }
+    }
+
+    private static function addAttributes(array &$a, \Reflector $c, string $prefix = Caster::PREFIX_VIRTUAL): void
+    {
+        if (\PHP_VERSION_ID >= 80000) {
+            foreach ($c->getAttributes() as $n) {
+                $a[$prefix.'attributes'][] = $n;
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ResourceCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ResourceCaster.php
new file mode 100644
index 0000000..6ae9085
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/ResourceCaster.php
@@ -0,0 +1,105 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts common resource types to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class ResourceCaster
+{
+    /**
+     * @param \CurlHandle|resource $h
+     *
+     * @return array
+     */
+    public static function castCurl($h, array $a, Stub $stub, bool $isNested)
+    {
+        return curl_getinfo($h);
+    }
+
+    public static function castDba($dba, array $a, Stub $stub, bool $isNested)
+    {
+        $list = dba_list();
+        $a['file'] = $list[(int) $dba];
+
+        return $a;
+    }
+
+    public static function castProcess($process, array $a, Stub $stub, bool $isNested)
+    {
+        return proc_get_status($process);
+    }
+
+    public static function castStream($stream, array $a, Stub $stub, bool $isNested)
+    {
+        $a = stream_get_meta_data($stream) + static::castStreamContext($stream, $a, $stub, $isNested);
+        if ($a['uri'] ?? false) {
+            $a['uri'] = new LinkStub($a['uri']);
+        }
+
+        return $a;
+    }
+
+    public static function castStreamContext($stream, array $a, Stub $stub, bool $isNested)
+    {
+        return @stream_context_get_params($stream) ?: $a;
+    }
+
+    public static function castGd($gd, array $a, Stub $stub, bool $isNested)
+    {
+        $a['size'] = imagesx($gd).'x'.imagesy($gd);
+        $a['trueColor'] = imageistruecolor($gd);
+
+        return $a;
+    }
+
+    public static function castMysqlLink($h, array $a, Stub $stub, bool $isNested)
+    {
+        $a['host'] = mysql_get_host_info($h);
+        $a['protocol'] = mysql_get_proto_info($h);
+        $a['server'] = mysql_get_server_info($h);
+
+        return $a;
+    }
+
+    public static function castOpensslX509($h, array $a, Stub $stub, bool $isNested)
+    {
+        $stub->cut = -1;
+        $info = openssl_x509_parse($h, false);
+
+        $pin = openssl_pkey_get_public($h);
+        $pin = openssl_pkey_get_details($pin)['key'];
+        $pin = \array_slice(explode("\n", $pin), 1, -2);
+        $pin = base64_decode(implode('', $pin));
+        $pin = base64_encode(hash('sha256', $pin, true));
+
+        $a += [
+            'subject' => new EnumStub(array_intersect_key($info['subject'], ['organizationName' => true, 'commonName' => true])),
+            'issuer' => new EnumStub(array_intersect_key($info['issuer'], ['organizationName' => true, 'commonName' => true])),
+            'expiry' => new ConstStub(date(\DateTime::ISO8601, $info['validTo_time_t']), $info['validTo_time_t']),
+            'fingerprint' => new EnumStub([
+                'md5' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'md5')), 2, ':', true)),
+                'sha1' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha1')), 2, ':', true)),
+                'sha256' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha256')), 2, ':', true)),
+                'pin-sha256' => new ConstStub($pin),
+            ]),
+        ];
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/SplCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/SplCaster.php
new file mode 100644
index 0000000..07f4451
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/SplCaster.php
@@ -0,0 +1,245 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts SPL related classes to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class SplCaster
+{
+    private const SPL_FILE_OBJECT_FLAGS = [
+        \SplFileObject::DROP_NEW_LINE => 'DROP_NEW_LINE',
+        \SplFileObject::READ_AHEAD => 'READ_AHEAD',
+        \SplFileObject::SKIP_EMPTY => 'SKIP_EMPTY',
+        \SplFileObject::READ_CSV => 'READ_CSV',
+    ];
+
+    public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, bool $isNested)
+    {
+        return self::castSplArray($c, $a, $stub, $isNested);
+    }
+
+    public static function castArrayIterator(\ArrayIterator $c, array $a, Stub $stub, bool $isNested)
+    {
+        return self::castSplArray($c, $a, $stub, $isNested);
+    }
+
+    public static function castHeap(\Iterator $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'heap' => iterator_to_array(clone $c),
+        ];
+
+        return $a;
+    }
+
+    public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, bool $isNested)
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $mode = $c->getIteratorMode();
+        $c->setIteratorMode(\SplDoublyLinkedList::IT_MODE_KEEP | $mode & ~\SplDoublyLinkedList::IT_MODE_DELETE);
+
+        $a += [
+            $prefix.'mode' => new ConstStub((($mode & \SplDoublyLinkedList::IT_MODE_LIFO) ? 'IT_MODE_LIFO' : 'IT_MODE_FIFO').' | '.(($mode & \SplDoublyLinkedList::IT_MODE_DELETE) ? 'IT_MODE_DELETE' : 'IT_MODE_KEEP'), $mode),
+            $prefix.'dllist' => iterator_to_array($c),
+        ];
+        $c->setIteratorMode($mode);
+
+        return $a;
+    }
+
+    public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, bool $isNested)
+    {
+        static $map = [
+            'path' => 'getPath',
+            'filename' => 'getFilename',
+            'basename' => 'getBasename',
+            'pathname' => 'getPathname',
+            'extension' => 'getExtension',
+            'realPath' => 'getRealPath',
+            'aTime' => 'getATime',
+            'mTime' => 'getMTime',
+            'cTime' => 'getCTime',
+            'inode' => 'getInode',
+            'size' => 'getSize',
+            'perms' => 'getPerms',
+            'owner' => 'getOwner',
+            'group' => 'getGroup',
+            'type' => 'getType',
+            'writable' => 'isWritable',
+            'readable' => 'isReadable',
+            'executable' => 'isExecutable',
+            'file' => 'isFile',
+            'dir' => 'isDir',
+            'link' => 'isLink',
+            'linkTarget' => 'getLinkTarget',
+        ];
+
+        $prefix = Caster::PREFIX_VIRTUAL;
+        unset($a["\0SplFileInfo\0fileName"]);
+        unset($a["\0SplFileInfo\0pathName"]);
+
+        if (\PHP_VERSION_ID < 80000) {
+            if (false === $c->getPathname()) {
+                $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
+
+                return $a;
+            }
+        } else {
+            try {
+                $c->isReadable();
+            } catch (\RuntimeException $e) {
+                if ('Object not initialized' !== $e->getMessage()) {
+                    throw $e;
+                }
+
+                $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
+
+                return $a;
+            } catch (\Error $e) {
+                if ('Object not initialized' !== $e->getMessage()) {
+                    throw $e;
+                }
+
+                $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state';
+
+                return $a;
+            }
+        }
+
+        foreach ($map as $key => $accessor) {
+            try {
+                $a[$prefix.$key] = $c->$accessor();
+            } catch (\Exception $e) {
+            }
+        }
+
+        if ($a[$prefix.'realPath'] ?? false) {
+            $a[$prefix.'realPath'] = new LinkStub($a[$prefix.'realPath']);
+        }
+
+        if (isset($a[$prefix.'perms'])) {
+            $a[$prefix.'perms'] = new ConstStub(sprintf('0%o', $a[$prefix.'perms']), $a[$prefix.'perms']);
+        }
+
+        static $mapDate = ['aTime', 'mTime', 'cTime'];
+        foreach ($mapDate as $key) {
+            if (isset($a[$prefix.$key])) {
+                $a[$prefix.$key] = new ConstStub(date('Y-m-d H:i:s', $a[$prefix.$key]), $a[$prefix.$key]);
+            }
+        }
+
+        return $a;
+    }
+
+    public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, bool $isNested)
+    {
+        static $map = [
+            'csvControl' => 'getCsvControl',
+            'flags' => 'getFlags',
+            'maxLineLen' => 'getMaxLineLen',
+            'fstat' => 'fstat',
+            'eof' => 'eof',
+            'key' => 'key',
+        ];
+
+        $prefix = Caster::PREFIX_VIRTUAL;
+
+        foreach ($map as $key => $accessor) {
+            try {
+                $a[$prefix.$key] = $c->$accessor();
+            } catch (\Exception $e) {
+            }
+        }
+
+        if (isset($a[$prefix.'flags'])) {
+            $flagsArray = [];
+            foreach (self::SPL_FILE_OBJECT_FLAGS as $value => $name) {
+                if ($a[$prefix.'flags'] & $value) {
+                    $flagsArray[] = $name;
+                }
+            }
+            $a[$prefix.'flags'] = new ConstStub(implode('|', $flagsArray), $a[$prefix.'flags']);
+        }
+
+        if (isset($a[$prefix.'fstat'])) {
+            $a[$prefix.'fstat'] = new CutArrayStub($a[$prefix.'fstat'], ['dev', 'ino', 'nlink', 'rdev', 'blksize', 'blocks']);
+        }
+
+        return $a;
+    }
+
+    public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, bool $isNested)
+    {
+        $storage = [];
+        unset($a[Caster::PREFIX_DYNAMIC."\0gcdata"]); // Don't hit https://bugs.php.net/65967
+        unset($a["\0SplObjectStorage\0storage"]);
+
+        $clone = clone $c;
+        foreach ($clone as $obj) {
+            $storage[] = [
+                'object' => $obj,
+                'info' => $clone->getInfo(),
+             ];
+        }
+
+        $a += [
+            Caster::PREFIX_VIRTUAL.'storage' => $storage,
+        ];
+
+        return $a;
+    }
+
+    public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a[Caster::PREFIX_VIRTUAL.'innerIterator'] = $c->getInnerIterator();
+
+        return $a;
+    }
+
+    public static function castWeakReference(\WeakReference $c, array $a, Stub $stub, bool $isNested)
+    {
+        $a[Caster::PREFIX_VIRTUAL.'object'] = $c->get();
+
+        return $a;
+    }
+
+    private static function castSplArray($c, array $a, Stub $stub, bool $isNested): array
+    {
+        $prefix = Caster::PREFIX_VIRTUAL;
+        $flags = $c->getFlags();
+
+        if (!($flags & \ArrayObject::STD_PROP_LIST)) {
+            $c->setFlags(\ArrayObject::STD_PROP_LIST);
+            $a = Caster::castObject($c, \get_class($c), method_exists($c, '__debugInfo'), $stub->class);
+            $c->setFlags($flags);
+        }
+        if (\PHP_VERSION_ID < 70400) {
+            $a[$prefix.'storage'] = $c->getArrayCopy();
+        }
+        $a += [
+            $prefix.'flag::STD_PROP_LIST' => (bool) ($flags & \ArrayObject::STD_PROP_LIST),
+            $prefix.'flag::ARRAY_AS_PROPS' => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS),
+        ];
+        if ($c instanceof \ArrayObject) {
+            $a[$prefix.'iteratorClass'] = new ClassStub($c->getIteratorClass());
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/StubCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/StubCaster.php
new file mode 100644
index 0000000..32ead7c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/StubCaster.php
@@ -0,0 +1,84 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts a caster's Stub.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class StubCaster
+{
+    public static function castStub(Stub $c, array $a, Stub $stub, bool $isNested)
+    {
+        if ($isNested) {
+            $stub->type = $c->type;
+            $stub->class = $c->class;
+            $stub->value = $c->value;
+            $stub->handle = $c->handle;
+            $stub->cut = $c->cut;
+            $stub->attr = $c->attr;
+
+            if (Stub::TYPE_REF === $c->type && !$c->class && \is_string($c->value) && !preg_match('//u', $c->value)) {
+                $stub->type = Stub::TYPE_STRING;
+                $stub->class = Stub::STRING_BINARY;
+            }
+
+            $a = [];
+        }
+
+        return $a;
+    }
+
+    public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, bool $isNested)
+    {
+        return $isNested ? $c->preservedSubset : $a;
+    }
+
+    public static function cutInternals($obj, array $a, Stub $stub, bool $isNested)
+    {
+        if ($isNested) {
+            $stub->cut += \count($a);
+
+            return [];
+        }
+
+        return $a;
+    }
+
+    public static function castEnum(EnumStub $c, array $a, Stub $stub, bool $isNested)
+    {
+        if ($isNested) {
+            $stub->class = $c->dumpKeys ? '' : null;
+            $stub->handle = 0;
+            $stub->value = null;
+            $stub->cut = $c->cut;
+            $stub->attr = $c->attr;
+
+            $a = [];
+
+            if ($c->value) {
+                foreach (array_keys($c->value) as $k) {
+                    $keys[] = !isset($k[0]) || "\0" !== $k[0] ? Caster::PREFIX_VIRTUAL.$k : $k;
+                }
+                // Preserve references with array_combine()
+                $a = array_combine($keys, $c->value);
+            }
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/SymfonyCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/SymfonyCaster.php
new file mode 100644
index 0000000..b7e1dd4
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/SymfonyCaster.php
@@ -0,0 +1,69 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * @final
+ */
+class SymfonyCaster
+{
+    private const REQUEST_GETTERS = [
+        'pathInfo' => 'getPathInfo',
+        'requestUri' => 'getRequestUri',
+        'baseUrl' => 'getBaseUrl',
+        'basePath' => 'getBasePath',
+        'method' => 'getMethod',
+        'format' => 'getRequestFormat',
+    ];
+
+    public static function castRequest(Request $request, array $a, Stub $stub, bool $isNested)
+    {
+        $clone = null;
+
+        foreach (self::REQUEST_GETTERS as $prop => $getter) {
+            $key = Caster::PREFIX_PROTECTED.$prop;
+            if (\array_key_exists($key, $a) && null === $a[$key]) {
+                if (null === $clone) {
+                    $clone = clone $request;
+                }
+                $a[Caster::PREFIX_VIRTUAL.$prop] = $clone->{$getter}();
+            }
+        }
+
+        return $a;
+    }
+
+    public static function castHttpClient($client, array $a, Stub $stub, bool $isNested)
+    {
+        $multiKey = sprintf("\0%s\0multi", \get_class($client));
+        if (isset($a[$multiKey])) {
+            $a[$multiKey] = new CutStub($a[$multiKey]);
+        }
+
+        return $a;
+    }
+
+    public static function castHttpClientResponse($response, array $a, Stub $stub, bool $isNested)
+    {
+        $stub->cut += \count($a);
+        $a = [];
+
+        foreach ($response->getInfo() as $k => $v) {
+            $a[Caster::PREFIX_VIRTUAL.$k] = $v;
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/TraceStub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/TraceStub.php
new file mode 100644
index 0000000..5eea1c8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/TraceStub.php
@@ -0,0 +1,36 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Represents a backtrace as returned by debug_backtrace() or Exception->getTrace().
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class TraceStub extends Stub
+{
+    public $keepArgs;
+    public $sliceOffset;
+    public $sliceLength;
+    public $numberingOffset;
+
+    public function __construct(array $trace, bool $keepArgs = true, int $sliceOffset = 0, int $sliceLength = null, int $numberingOffset = 0)
+    {
+        $this->value = $trace;
+        $this->keepArgs = $keepArgs;
+        $this->sliceOffset = $sliceOffset;
+        $this->sliceLength = $sliceLength;
+        $this->numberingOffset = $numberingOffset;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/UuidCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/UuidCaster.php
new file mode 100644
index 0000000..b102774
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/UuidCaster.php
@@ -0,0 +1,30 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Ramsey\Uuid\UuidInterface;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * @author Grégoire Pineau <lyrixx@lyrixx.info>
+ */
+final class UuidCaster
+{
+    public static function castRamseyUuid(UuidInterface $c, array $a, Stub $stub, bool $isNested): array
+    {
+        $a += [
+            Caster::PREFIX_VIRTUAL.'uuid' => (string) $c,
+        ];
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php
new file mode 100644
index 0000000..fa0b55d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php
@@ -0,0 +1,79 @@
+<?php
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts XmlReader class to array representation.
+ *
+ * @author Baptiste Clavié <clavie.b@gmail.com>
+ *
+ * @final
+ */
+class XmlReaderCaster
+{
+    private const NODE_TYPES = [
+        \XMLReader::NONE => 'NONE',
+        \XMLReader::ELEMENT => 'ELEMENT',
+        \XMLReader::ATTRIBUTE => 'ATTRIBUTE',
+        \XMLReader::TEXT => 'TEXT',
+        \XMLReader::CDATA => 'CDATA',
+        \XMLReader::ENTITY_REF => 'ENTITY_REF',
+        \XMLReader::ENTITY => 'ENTITY',
+        \XMLReader::PI => 'PI (Processing Instruction)',
+        \XMLReader::COMMENT => 'COMMENT',
+        \XMLReader::DOC => 'DOC',
+        \XMLReader::DOC_TYPE => 'DOC_TYPE',
+        \XMLReader::DOC_FRAGMENT => 'DOC_FRAGMENT',
+        \XMLReader::NOTATION => 'NOTATION',
+        \XMLReader::WHITESPACE => 'WHITESPACE',
+        \XMLReader::SIGNIFICANT_WHITESPACE => 'SIGNIFICANT_WHITESPACE',
+        \XMLReader::END_ELEMENT => 'END_ELEMENT',
+        \XMLReader::END_ENTITY => 'END_ENTITY',
+        \XMLReader::XML_DECLARATION => 'XML_DECLARATION',
+    ];
+
+    public static function castXmlReader(\XMLReader $reader, array $a, Stub $stub, bool $isNested)
+    {
+        $props = Caster::PREFIX_VIRTUAL.'parserProperties';
+        $info = [
+            'localName' => $reader->localName,
+            'prefix' => $reader->prefix,
+            'nodeType' => new ConstStub(self::NODE_TYPES[$reader->nodeType], $reader->nodeType),
+            'depth' => $reader->depth,
+            'isDefault' => $reader->isDefault,
+            'isEmptyElement' => \XMLReader::NONE === $reader->nodeType ? null : $reader->isEmptyElement,
+            'xmlLang' => $reader->xmlLang,
+            'attributeCount' => $reader->attributeCount,
+            'value' => $reader->value,
+            'namespaceURI' => $reader->namespaceURI,
+            'baseURI' => $reader->baseURI ? new LinkStub($reader->baseURI) : $reader->baseURI,
+            $props => [
+                'LOADDTD' => $reader->getParserProperty(\XMLReader::LOADDTD),
+                'DEFAULTATTRS' => $reader->getParserProperty(\XMLReader::DEFAULTATTRS),
+                'VALIDATE' => $reader->getParserProperty(\XMLReader::VALIDATE),
+                'SUBST_ENTITIES' => $reader->getParserProperty(\XMLReader::SUBST_ENTITIES),
+            ],
+        ];
+
+        if ($info[$props] = Caster::filter($info[$props], Caster::EXCLUDE_EMPTY, [], $count)) {
+            $info[$props] = new EnumStub($info[$props]);
+            $info[$props]->cut = $count;
+        }
+
+        $info = Caster::filter($info, Caster::EXCLUDE_EMPTY, [], $count);
+        // +2 because hasValue and hasAttributes are always filtered
+        $stub->cut += $count + 2;
+
+        return $a + $info;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php
new file mode 100644
index 0000000..ba55fce
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php
@@ -0,0 +1,63 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Caster;
+
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * Casts XML resources to array representation.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ *
+ * @final
+ */
+class XmlResourceCaster
+{
+    private const XML_ERRORS = [
+        \XML_ERROR_NONE => 'XML_ERROR_NONE',
+        \XML_ERROR_NO_MEMORY => 'XML_ERROR_NO_MEMORY',
+        \XML_ERROR_SYNTAX => 'XML_ERROR_SYNTAX',
+        \XML_ERROR_NO_ELEMENTS => 'XML_ERROR_NO_ELEMENTS',
+        \XML_ERROR_INVALID_TOKEN => 'XML_ERROR_INVALID_TOKEN',
+        \XML_ERROR_UNCLOSED_TOKEN => 'XML_ERROR_UNCLOSED_TOKEN',
+        \XML_ERROR_PARTIAL_CHAR => 'XML_ERROR_PARTIAL_CHAR',
+        \XML_ERROR_TAG_MISMATCH => 'XML_ERROR_TAG_MISMATCH',
+        \XML_ERROR_DUPLICATE_ATTRIBUTE => 'XML_ERROR_DUPLICATE_ATTRIBUTE',
+        \XML_ERROR_JUNK_AFTER_DOC_ELEMENT => 'XML_ERROR_JUNK_AFTER_DOC_ELEMENT',
+        \XML_ERROR_PARAM_ENTITY_REF => 'XML_ERROR_PARAM_ENTITY_REF',
+        \XML_ERROR_UNDEFINED_ENTITY => 'XML_ERROR_UNDEFINED_ENTITY',
+        \XML_ERROR_RECURSIVE_ENTITY_REF => 'XML_ERROR_RECURSIVE_ENTITY_REF',
+        \XML_ERROR_ASYNC_ENTITY => 'XML_ERROR_ASYNC_ENTITY',
+        \XML_ERROR_BAD_CHAR_REF => 'XML_ERROR_BAD_CHAR_REF',
+        \XML_ERROR_BINARY_ENTITY_REF => 'XML_ERROR_BINARY_ENTITY_REF',
+        \XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF => 'XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF',
+        \XML_ERROR_MISPLACED_XML_PI => 'XML_ERROR_MISPLACED_XML_PI',
+        \XML_ERROR_UNKNOWN_ENCODING => 'XML_ERROR_UNKNOWN_ENCODING',
+        \XML_ERROR_INCORRECT_ENCODING => 'XML_ERROR_INCORRECT_ENCODING',
+        \XML_ERROR_UNCLOSED_CDATA_SECTION => 'XML_ERROR_UNCLOSED_CDATA_SECTION',
+        \XML_ERROR_EXTERNAL_ENTITY_HANDLING => 'XML_ERROR_EXTERNAL_ENTITY_HANDLING',
+    ];
+
+    public static function castXml($h, array $a, Stub $stub, bool $isNested)
+    {
+        $a['current_byte_index'] = xml_get_current_byte_index($h);
+        $a['current_column_number'] = xml_get_current_column_number($h);
+        $a['current_line_number'] = xml_get_current_line_number($h);
+        $a['error_code'] = xml_get_error_code($h);
+
+        if (isset(self::XML_ERRORS[$a['error_code']])) {
+            $a['error_code'] = new ConstStub(self::XML_ERRORS[$a['error_code']], $a['error_code']);
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/AbstractCloner.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/AbstractCloner.php
new file mode 100644
index 0000000..ac55da5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/AbstractCloner.php
@@ -0,0 +1,384 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Cloner;
+
+use Symfony\Component\VarDumper\Caster\Caster;
+use Symfony\Component\VarDumper\Exception\ThrowingCasterException;
+
+/**
+ * AbstractCloner implements a generic caster mechanism for objects and resources.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+abstract class AbstractCloner implements ClonerInterface
+{
+    public static $defaultCasters = [
+        '__PHP_Incomplete_Class' => ['Symfony\Component\VarDumper\Caster\Caster', 'castPhpIncompleteClass'],
+
+        'Symfony\Component\VarDumper\Caster\CutStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castStub'],
+        'Symfony\Component\VarDumper\Caster\CutArrayStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castCutArray'],
+        'Symfony\Component\VarDumper\Caster\ConstStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castStub'],
+        'Symfony\Component\VarDumper\Caster\EnumStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castEnum'],
+
+        'Closure' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castClosure'],
+        'Generator' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castGenerator'],
+        'ReflectionType' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castType'],
+        'ReflectionAttribute' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castAttribute'],
+        'ReflectionGenerator' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castReflectionGenerator'],
+        'ReflectionClass' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castClass'],
+        'ReflectionClassConstant' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castClassConstant'],
+        'ReflectionFunctionAbstract' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castFunctionAbstract'],
+        'ReflectionMethod' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castMethod'],
+        'ReflectionParameter' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castParameter'],
+        'ReflectionProperty' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castProperty'],
+        'ReflectionReference' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castReference'],
+        'ReflectionExtension' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castExtension'],
+        'ReflectionZendExtension' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castZendExtension'],
+
+        'Doctrine\Common\Persistence\ObjectManager' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'Doctrine\Common\Proxy\Proxy' => ['Symfony\Component\VarDumper\Caster\DoctrineCaster', 'castCommonProxy'],
+        'Doctrine\ORM\Proxy\Proxy' => ['Symfony\Component\VarDumper\Caster\DoctrineCaster', 'castOrmProxy'],
+        'Doctrine\ORM\PersistentCollection' => ['Symfony\Component\VarDumper\Caster\DoctrineCaster', 'castPersistentCollection'],
+        'Doctrine\Persistence\ObjectManager' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+
+        'DOMException' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castException'],
+        'DOMStringList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'],
+        'DOMNameList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'],
+        'DOMImplementation' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castImplementation'],
+        'DOMImplementationList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'],
+        'DOMNode' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castNode'],
+        'DOMNameSpaceNode' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castNameSpaceNode'],
+        'DOMDocument' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castDocument'],
+        'DOMNodeList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'],
+        'DOMNamedNodeMap' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'],
+        'DOMCharacterData' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castCharacterData'],
+        'DOMAttr' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castAttr'],
+        'DOMElement' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castElement'],
+        'DOMText' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castText'],
+        'DOMTypeinfo' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castTypeinfo'],
+        'DOMDomError' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castDomError'],
+        'DOMLocator' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLocator'],
+        'DOMDocumentType' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castDocumentType'],
+        'DOMNotation' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castNotation'],
+        'DOMEntity' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castEntity'],
+        'DOMProcessingInstruction' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castProcessingInstruction'],
+        'DOMXPath' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castXPath'],
+
+        'XMLReader' => ['Symfony\Component\VarDumper\Caster\XmlReaderCaster', 'castXmlReader'],
+
+        'ErrorException' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castErrorException'],
+        'Exception' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castException'],
+        'Error' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castError'],
+        'Symfony\Bridge\Monolog\Logger' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'Symfony\Component\DependencyInjection\ContainerInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'Symfony\Component\EventDispatcher\EventDispatcherInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'Symfony\Component\HttpClient\CurlHttpClient' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClient'],
+        'Symfony\Component\HttpClient\NativeHttpClient' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClient'],
+        'Symfony\Component\HttpClient\Response\CurlResponse' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClientResponse'],
+        'Symfony\Component\HttpClient\Response\NativeResponse' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClientResponse'],
+        'Symfony\Component\HttpFoundation\Request' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castRequest'],
+        'Symfony\Component\VarDumper\Exception\ThrowingCasterException' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castThrowingCasterException'],
+        'Symfony\Component\VarDumper\Caster\TraceStub' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castTraceStub'],
+        'Symfony\Component\VarDumper\Caster\FrameStub' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castFrameStub'],
+        'Symfony\Component\VarDumper\Cloner\AbstractCloner' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'Symfony\Component\ErrorHandler\Exception\SilencedErrorContext' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castSilencedErrorContext'],
+
+        'Imagine\Image\ImageInterface' => ['Symfony\Component\VarDumper\Caster\ImagineCaster', 'castImage'],
+
+        'Ramsey\Uuid\UuidInterface' => ['Symfony\Component\VarDumper\Caster\UuidCaster', 'castRamseyUuid'],
+
+        'ProxyManager\Proxy\ProxyInterface' => ['Symfony\Component\VarDumper\Caster\ProxyManagerCaster', 'castProxy'],
+        'PHPUnit_Framework_MockObject_MockObject' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'PHPUnit\Framework\MockObject\MockObject' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'PHPUnit\Framework\MockObject\Stub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'Prophecy\Prophecy\ProphecySubjectInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+        'Mockery\MockInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'],
+
+        'PDO' => ['Symfony\Component\VarDumper\Caster\PdoCaster', 'castPdo'],
+        'PDOStatement' => ['Symfony\Component\VarDumper\Caster\PdoCaster', 'castPdoStatement'],
+
+        'AMQPConnection' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castConnection'],
+        'AMQPChannel' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castChannel'],
+        'AMQPQueue' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castQueue'],
+        'AMQPExchange' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castExchange'],
+        'AMQPEnvelope' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castEnvelope'],
+
+        'ArrayObject' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castArrayObject'],
+        'ArrayIterator' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castArrayIterator'],
+        'SplDoublyLinkedList' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castDoublyLinkedList'],
+        'SplFileInfo' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castFileInfo'],
+        'SplFileObject' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castFileObject'],
+        'SplHeap' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castHeap'],
+        'SplObjectStorage' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castObjectStorage'],
+        'SplPriorityQueue' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castHeap'],
+        'OuterIterator' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castOuterIterator'],
+        'WeakReference' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castWeakReference'],
+
+        'Redis' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedis'],
+        'RedisArray' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedisArray'],
+        'RedisCluster' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedisCluster'],
+
+        'DateTimeInterface' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castDateTime'],
+        'DateInterval' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castInterval'],
+        'DateTimeZone' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castTimeZone'],
+        'DatePeriod' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castPeriod'],
+
+        'GMP' => ['Symfony\Component\VarDumper\Caster\GmpCaster', 'castGmp'],
+
+        'MessageFormatter' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castMessageFormatter'],
+        'NumberFormatter' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castNumberFormatter'],
+        'IntlTimeZone' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlTimeZone'],
+        'IntlCalendar' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlCalendar'],
+        'IntlDateFormatter' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlDateFormatter'],
+
+        'Memcached' => ['Symfony\Component\VarDumper\Caster\MemcachedCaster', 'castMemcached'],
+
+        'Ds\Collection' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castCollection'],
+        'Ds\Map' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castMap'],
+        'Ds\Pair' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castPair'],
+        'Symfony\Component\VarDumper\Caster\DsPairStub' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castPairStub'],
+
+        'CurlHandle' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castCurl'],
+        ':curl' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castCurl'],
+
+        ':dba' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castDba'],
+        ':dba persistent' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castDba'],
+
+        'GdImage' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castGd'],
+        ':gd' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castGd'],
+
+        ':mysql link' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castMysqlLink'],
+        ':pgsql large object' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castLargeObject'],
+        ':pgsql link' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castLink'],
+        ':pgsql link persistent' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castLink'],
+        ':pgsql result' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castResult'],
+        ':process' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castProcess'],
+        ':stream' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castStream'],
+
+        'OpenSSLCertificate' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castOpensslX509'],
+        ':OpenSSL X.509' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castOpensslX509'],
+
+        ':persistent stream' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castStream'],
+        ':stream-context' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castStreamContext'],
+
+        'XmlParser' => ['Symfony\Component\VarDumper\Caster\XmlResourceCaster', 'castXml'],
+        ':xml' => ['Symfony\Component\VarDumper\Caster\XmlResourceCaster', 'castXml'],
+
+        'RdKafka' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castRdKafka'],
+        'RdKafka\Conf' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castConf'],
+        'RdKafka\KafkaConsumer' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castKafkaConsumer'],
+        'RdKafka\Metadata\Broker' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castBrokerMetadata'],
+        'RdKafka\Metadata\Collection' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castCollectionMetadata'],
+        'RdKafka\Metadata\Partition' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castPartitionMetadata'],
+        'RdKafka\Metadata\Topic' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castTopicMetadata'],
+        'RdKafka\Message' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castMessage'],
+        'RdKafka\Topic' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castTopic'],
+        'RdKafka\TopicPartition' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castTopicPartition'],
+        'RdKafka\TopicConf' => ['Symfony\Component\VarDumper\Caster\RdKafkaCaster', 'castTopicConf'],
+    ];
+
+    protected $maxItems = 2500;
+    protected $maxString = -1;
+    protected $minDepth = 1;
+
+    private $casters = [];
+    private $prevErrorHandler;
+    private $classInfo = [];
+    private $filter = 0;
+
+    /**
+     * @param callable[]|null $casters A map of casters
+     *
+     * @see addCasters
+     */
+    public function __construct(array $casters = null)
+    {
+        if (null === $casters) {
+            $casters = static::$defaultCasters;
+        }
+        $this->addCasters($casters);
+    }
+
+    /**
+     * Adds casters for resources and objects.
+     *
+     * Maps resources or objects types to a callback.
+     * Types are in the key, with a callable caster for value.
+     * Resource types are to be prefixed with a `:`,
+     * see e.g. static::$defaultCasters.
+     *
+     * @param callable[] $casters A map of casters
+     */
+    public function addCasters(array $casters)
+    {
+        foreach ($casters as $type => $callback) {
+            $this->casters[$type][] = $callback;
+        }
+    }
+
+    /**
+     * Sets the maximum number of items to clone past the minimum depth in nested structures.
+     */
+    public function setMaxItems(int $maxItems)
+    {
+        $this->maxItems = $maxItems;
+    }
+
+    /**
+     * Sets the maximum cloned length for strings.
+     */
+    public function setMaxString(int $maxString)
+    {
+        $this->maxString = $maxString;
+    }
+
+    /**
+     * Sets the minimum tree depth where we are guaranteed to clone all the items.  After this
+     * depth is reached, only setMaxItems items will be cloned.
+     */
+    public function setMinDepth(int $minDepth)
+    {
+        $this->minDepth = $minDepth;
+    }
+
+    /**
+     * Clones a PHP variable.
+     *
+     * @param mixed $var    Any PHP variable
+     * @param int   $filter A bit field of Caster::EXCLUDE_* constants
+     *
+     * @return Data The cloned variable represented by a Data object
+     */
+    public function cloneVar($var, int $filter = 0)
+    {
+        $this->prevErrorHandler = set_error_handler(function ($type, $msg, $file, $line, $context = []) {
+            if (\E_RECOVERABLE_ERROR === $type || \E_USER_ERROR === $type) {
+                // Cloner never dies
+                throw new \ErrorException($msg, 0, $type, $file, $line);
+            }
+
+            if ($this->prevErrorHandler) {
+                return ($this->prevErrorHandler)($type, $msg, $file, $line, $context);
+            }
+
+            return false;
+        });
+        $this->filter = $filter;
+
+        if ($gc = gc_enabled()) {
+            gc_disable();
+        }
+        try {
+            return new Data($this->doClone($var));
+        } finally {
+            if ($gc) {
+                gc_enable();
+            }
+            restore_error_handler();
+            $this->prevErrorHandler = null;
+        }
+    }
+
+    /**
+     * Effectively clones the PHP variable.
+     *
+     * @param mixed $var Any PHP variable
+     *
+     * @return array The cloned variable represented in an array
+     */
+    abstract protected function doClone($var);
+
+    /**
+     * Casts an object to an array representation.
+     *
+     * @param bool $isNested True if the object is nested in the dumped structure
+     *
+     * @return array The object casted as array
+     */
+    protected function castObject(Stub $stub, bool $isNested)
+    {
+        $obj = $stub->value;
+        $class = $stub->class;
+
+        if (\PHP_VERSION_ID < 80000 ? "\0" === ($class[15] ?? null) : str_contains($class, "@anonymous\0")) {
+            $stub->class = get_debug_type($obj);
+        }
+        if (isset($this->classInfo[$class])) {
+            [$i, $parents, $hasDebugInfo, $fileInfo] = $this->classInfo[$class];
+        } else {
+            $i = 2;
+            $parents = [$class];
+            $hasDebugInfo = method_exists($class, '__debugInfo');
+
+            foreach (class_parents($class) as $p) {
+                $parents[] = $p;
+                ++$i;
+            }
+            foreach (class_implements($class) as $p) {
+                $parents[] = $p;
+                ++$i;
+            }
+            $parents[] = '*';
+
+            $r = new \ReflectionClass($class);
+            $fileInfo = $r->isInternal() || $r->isSubclassOf(Stub::class) ? [] : [
+                'file' => $r->getFileName(),
+                'line' => $r->getStartLine(),
+            ];
+
+            $this->classInfo[$class] = [$i, $parents, $hasDebugInfo, $fileInfo];
+        }
+
+        $stub->attr += $fileInfo;
+        $a = Caster::castObject($obj, $class, $hasDebugInfo, $stub->class);
+
+        try {
+            while ($i--) {
+                if (!empty($this->casters[$p = $parents[$i]])) {
+                    foreach ($this->casters[$p] as $callback) {
+                        $a = $callback($obj, $a, $stub, $isNested, $this->filter);
+                    }
+                }
+            }
+        } catch (\Exception $e) {
+            $a = [(Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠' => new ThrowingCasterException($e)] + $a;
+        }
+
+        return $a;
+    }
+
+    /**
+     * Casts a resource to an array representation.
+     *
+     * @param bool $isNested True if the object is nested in the dumped structure
+     *
+     * @return array The resource casted as array
+     */
+    protected function castResource(Stub $stub, bool $isNested)
+    {
+        $a = [];
+        $res = $stub->value;
+        $type = $stub->class;
+
+        try {
+            if (!empty($this->casters[':'.$type])) {
+                foreach ($this->casters[':'.$type] as $callback) {
+                    $a = $callback($res, $a, $stub, $isNested, $this->filter);
+                }
+            }
+        } catch (\Exception $e) {
+            $a = [(Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠' => new ThrowingCasterException($e)] + $a;
+        }
+
+        return $a;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/ClonerInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/ClonerInterface.php
new file mode 100644
index 0000000..7ed287a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/ClonerInterface.php
@@ -0,0 +1,27 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Cloner;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+interface ClonerInterface
+{
+    /**
+     * Clones a PHP variable.
+     *
+     * @param mixed $var Any PHP variable
+     *
+     * @return Data The cloned variable represented by a Data object
+     */
+    public function cloneVar($var);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Cursor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Cursor.php
new file mode 100644
index 0000000..1fd796d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Cursor.php
@@ -0,0 +1,43 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Cloner;
+
+/**
+ * Represents the current state of a dumper while dumping.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class Cursor
+{
+    public const HASH_INDEXED = Stub::ARRAY_INDEXED;
+    public const HASH_ASSOC = Stub::ARRAY_ASSOC;
+    public const HASH_OBJECT = Stub::TYPE_OBJECT;
+    public const HASH_RESOURCE = Stub::TYPE_RESOURCE;
+
+    public $depth = 0;
+    public $refIndex = 0;
+    public $softRefTo = 0;
+    public $softRefCount = 0;
+    public $softRefHandle = 0;
+    public $hardRefTo = 0;
+    public $hardRefCount = 0;
+    public $hardRefHandle = 0;
+    public $hashType;
+    public $hashKey;
+    public $hashKeyIsBinary;
+    public $hashIndex = 0;
+    public $hashLength = 0;
+    public $hashCut = 0;
+    public $stop = false;
+    public $attr = [];
+    public $skipChildren = false;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Data.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Data.php
new file mode 100644
index 0000000..c868862
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Data.php
@@ -0,0 +1,460 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Cloner;
+
+use Symfony\Component\VarDumper\Caster\Caster;
+use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class Data implements \ArrayAccess, \Countable, \IteratorAggregate
+{
+    private $data;
+    private $position = 0;
+    private $key = 0;
+    private $maxDepth = 20;
+    private $maxItemsPerDepth = -1;
+    private $useRefHandles = -1;
+    private $context = [];
+
+    /**
+     * @param array $data An array as returned by ClonerInterface::cloneVar()
+     */
+    public function __construct(array $data)
+    {
+        $this->data = $data;
+    }
+
+    /**
+     * @return string|null The type of the value
+     */
+    public function getType()
+    {
+        $item = $this->data[$this->position][$this->key];
+
+        if ($item instanceof Stub && Stub::TYPE_REF === $item->type && !$item->position) {
+            $item = $item->value;
+        }
+        if (!$item instanceof Stub) {
+            return \gettype($item);
+        }
+        if (Stub::TYPE_STRING === $item->type) {
+            return 'string';
+        }
+        if (Stub::TYPE_ARRAY === $item->type) {
+            return 'array';
+        }
+        if (Stub::TYPE_OBJECT === $item->type) {
+            return $item->class;
+        }
+        if (Stub::TYPE_RESOURCE === $item->type) {
+            return $item->class.' resource';
+        }
+
+        return null;
+    }
+
+    /**
+     * @param array|bool $recursive Whether values should be resolved recursively or not
+     *
+     * @return string|int|float|bool|array|Data[]|null A native representation of the original value
+     */
+    public function getValue($recursive = false)
+    {
+        $item = $this->data[$this->position][$this->key];
+
+        if ($item instanceof Stub && Stub::TYPE_REF === $item->type && !$item->position) {
+            $item = $item->value;
+        }
+        if (!($item = $this->getStub($item)) instanceof Stub) {
+            return $item;
+        }
+        if (Stub::TYPE_STRING === $item->type) {
+            return $item->value;
+        }
+
+        $children = $item->position ? $this->data[$item->position] : [];
+
+        foreach ($children as $k => $v) {
+            if ($recursive && !($v = $this->getStub($v)) instanceof Stub) {
+                continue;
+            }
+            $children[$k] = clone $this;
+            $children[$k]->key = $k;
+            $children[$k]->position = $item->position;
+
+            if ($recursive) {
+                if (Stub::TYPE_REF === $v->type && ($v = $this->getStub($v->value)) instanceof Stub) {
+                    $recursive = (array) $recursive;
+                    if (isset($recursive[$v->position])) {
+                        continue;
+                    }
+                    $recursive[$v->position] = true;
+                }
+                $children[$k] = $children[$k]->getValue($recursive);
+            }
+        }
+
+        return $children;
+    }
+
+    /**
+     * @return int
+     */
+    public function count()
+    {
+        return \count($this->getValue());
+    }
+
+    /**
+     * @return \Traversable
+     */
+    public function getIterator()
+    {
+        if (!\is_array($value = $this->getValue())) {
+            throw new \LogicException(sprintf('"%s" object holds non-iterable type "%s".', self::class, get_debug_type($value)));
+        }
+
+        yield from $value;
+    }
+
+    public function __get(string $key)
+    {
+        if (null !== $data = $this->seek($key)) {
+            $item = $this->getStub($data->data[$data->position][$data->key]);
+
+            return $item instanceof Stub || [] === $item ? $data : $item;
+        }
+
+        return null;
+    }
+
+    /**
+     * @return bool
+     */
+    public function __isset(string $key)
+    {
+        return null !== $this->seek($key);
+    }
+
+    /**
+     * @return bool
+     */
+    public function offsetExists($key)
+    {
+        return $this->__isset($key);
+    }
+
+    /**
+     * @return mixed
+     */
+    public function offsetGet($key)
+    {
+        return $this->__get($key);
+    }
+
+    /**
+     * @return void
+     */
+    public function offsetSet($key, $value)
+    {
+        throw new \BadMethodCallException(self::class.' objects are immutable.');
+    }
+
+    /**
+     * @return void
+     */
+    public function offsetUnset($key)
+    {
+        throw new \BadMethodCallException(self::class.' objects are immutable.');
+    }
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        $value = $this->getValue();
+
+        if (!\is_array($value)) {
+            return (string) $value;
+        }
+
+        return sprintf('%s (count=%d)', $this->getType(), \count($value));
+    }
+
+    /**
+     * Returns a depth limited clone of $this.
+     *
+     * @return static
+     */
+    public function withMaxDepth(int $maxDepth)
+    {
+        $data = clone $this;
+        $data->maxDepth = (int) $maxDepth;
+
+        return $data;
+    }
+
+    /**
+     * Limits the number of elements per depth level.
+     *
+     * @return static
+     */
+    public function withMaxItemsPerDepth(int $maxItemsPerDepth)
+    {
+        $data = clone $this;
+        $data->maxItemsPerDepth = (int) $maxItemsPerDepth;
+
+        return $data;
+    }
+
+    /**
+     * Enables/disables objects' identifiers tracking.
+     *
+     * @param bool $useRefHandles False to hide global ref. handles
+     *
+     * @return static
+     */
+    public function withRefHandles(bool $useRefHandles)
+    {
+        $data = clone $this;
+        $data->useRefHandles = $useRefHandles ? -1 : 0;
+
+        return $data;
+    }
+
+    /**
+     * @return static
+     */
+    public function withContext(array $context)
+    {
+        $data = clone $this;
+        $data->context = $context;
+
+        return $data;
+    }
+
+    /**
+     * Seeks to a specific key in nested data structures.
+     *
+     * @param string|int $key The key to seek to
+     *
+     * @return static|null Null if the key is not set
+     */
+    public function seek($key)
+    {
+        $item = $this->data[$this->position][$this->key];
+
+        if ($item instanceof Stub && Stub::TYPE_REF === $item->type && !$item->position) {
+            $item = $item->value;
+        }
+        if (!($item = $this->getStub($item)) instanceof Stub || !$item->position) {
+            return null;
+        }
+        $keys = [$key];
+
+        switch ($item->type) {
+            case Stub::TYPE_OBJECT:
+                $keys[] = Caster::PREFIX_DYNAMIC.$key;
+                $keys[] = Caster::PREFIX_PROTECTED.$key;
+                $keys[] = Caster::PREFIX_VIRTUAL.$key;
+                $keys[] = "\0$item->class\0$key";
+                // no break
+            case Stub::TYPE_ARRAY:
+            case Stub::TYPE_RESOURCE:
+                break;
+            default:
+                return null;
+        }
+
+        $data = null;
+        $children = $this->data[$item->position];
+
+        foreach ($keys as $key) {
+            if (isset($children[$key]) || \array_key_exists($key, $children)) {
+                $data = clone $this;
+                $data->key = $key;
+                $data->position = $item->position;
+                break;
+            }
+        }
+
+        return $data;
+    }
+
+    /**
+     * Dumps data with a DumperInterface dumper.
+     */
+    public function dump(DumperInterface $dumper)
+    {
+        $refs = [0];
+        $cursor = new Cursor();
+
+        if ($cursor->attr = $this->context[SourceContextProvider::class] ?? []) {
+            $cursor->attr['if_links'] = true;
+            $cursor->hashType = -1;
+            $dumper->dumpScalar($cursor, 'default', '^');
+            $cursor->attr = ['if_links' => true];
+            $dumper->dumpScalar($cursor, 'default', ' ');
+            $cursor->hashType = 0;
+        }
+
+        $this->dumpItem($dumper, $cursor, $refs, $this->data[$this->position][$this->key]);
+    }
+
+    /**
+     * Depth-first dumping of items.
+     *
+     * @param mixed $item A Stub object or the original value being dumped
+     */
+    private function dumpItem(DumperInterface $dumper, Cursor $cursor, array &$refs, $item)
+    {
+        $cursor->refIndex = 0;
+        $cursor->softRefTo = $cursor->softRefHandle = $cursor->softRefCount = 0;
+        $cursor->hardRefTo = $cursor->hardRefHandle = $cursor->hardRefCount = 0;
+        $firstSeen = true;
+
+        if (!$item instanceof Stub) {
+            $cursor->attr = [];
+            $type = \gettype($item);
+            if ($item && 'array' === $type) {
+                $item = $this->getStub($item);
+            }
+        } elseif (Stub::TYPE_REF === $item->type) {
+            if ($item->handle) {
+                if (!isset($refs[$r = $item->handle - (\PHP_INT_MAX >> 1)])) {
+                    $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0];
+                } else {
+                    $firstSeen = false;
+                }
+                $cursor->hardRefTo = $refs[$r];
+                $cursor->hardRefHandle = $this->useRefHandles & $item->handle;
+                $cursor->hardRefCount = 0 < $item->handle ? $item->refCount : 0;
+            }
+            $cursor->attr = $item->attr;
+            $type = $item->class ?: \gettype($item->value);
+            $item = $this->getStub($item->value);
+        }
+        if ($item instanceof Stub) {
+            if ($item->refCount) {
+                if (!isset($refs[$r = $item->handle])) {
+                    $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0];
+                } else {
+                    $firstSeen = false;
+                }
+                $cursor->softRefTo = $refs[$r];
+            }
+            $cursor->softRefHandle = $this->useRefHandles & $item->handle;
+            $cursor->softRefCount = $item->refCount;
+            $cursor->attr = $item->attr;
+            $cut = $item->cut;
+
+            if ($item->position && $firstSeen) {
+                $children = $this->data[$item->position];
+
+                if ($cursor->stop) {
+                    if ($cut >= 0) {
+                        $cut += \count($children);
+                    }
+                    $children = [];
+                }
+            } else {
+                $children = [];
+            }
+            switch ($item->type) {
+                case Stub::TYPE_STRING:
+                    $dumper->dumpString($cursor, $item->value, Stub::STRING_BINARY === $item->class, $cut);
+                    break;
+
+                case Stub::TYPE_ARRAY:
+                    $item = clone $item;
+                    $item->type = $item->class;
+                    $item->class = $item->value;
+                    // no break
+                case Stub::TYPE_OBJECT:
+                case Stub::TYPE_RESOURCE:
+                    $withChildren = $children && $cursor->depth !== $this->maxDepth && $this->maxItemsPerDepth;
+                    $dumper->enterHash($cursor, $item->type, $item->class, $withChildren);
+                    if ($withChildren) {
+                        if ($cursor->skipChildren) {
+                            $withChildren = false;
+                            $cut = -1;
+                        } else {
+                            $cut = $this->dumpChildren($dumper, $cursor, $refs, $children, $cut, $item->type, null !== $item->class);
+                        }
+                    } elseif ($children && 0 <= $cut) {
+                        $cut += \count($children);
+                    }
+                    $cursor->skipChildren = false;
+                    $dumper->leaveHash($cursor, $item->type, $item->class, $withChildren, $cut);
+                    break;
+
+                default:
+                    throw new \RuntimeException(sprintf('Unexpected Stub type: "%s".', $item->type));
+            }
+        } elseif ('array' === $type) {
+            $dumper->enterHash($cursor, Cursor::HASH_INDEXED, 0, false);
+            $dumper->leaveHash($cursor, Cursor::HASH_INDEXED, 0, false, 0);
+        } elseif ('string' === $type) {
+            $dumper->dumpString($cursor, $item, false, 0);
+        } else {
+            $dumper->dumpScalar($cursor, $type, $item);
+        }
+    }
+
+    /**
+     * Dumps children of hash structures.
+     *
+     * @return int The final number of removed items
+     */
+    private function dumpChildren(DumperInterface $dumper, Cursor $parentCursor, array &$refs, array $children, int $hashCut, int $hashType, bool $dumpKeys): int
+    {
+        $cursor = clone $parentCursor;
+        ++$cursor->depth;
+        $cursor->hashType = $hashType;
+        $cursor->hashIndex = 0;
+        $cursor->hashLength = \count($children);
+        $cursor->hashCut = $hashCut;
+        foreach ($children as $key => $child) {
+            $cursor->hashKeyIsBinary = isset($key[0]) && !preg_match('//u', $key);
+            $cursor->hashKey = $dumpKeys ? $key : null;
+            $this->dumpItem($dumper, $cursor, $refs, $child);
+            if (++$cursor->hashIndex === $this->maxItemsPerDepth || $cursor->stop) {
+                $parentCursor->stop = true;
+
+                return $hashCut >= 0 ? $hashCut + $cursor->hashLength - $cursor->hashIndex : $hashCut;
+            }
+        }
+
+        return $hashCut;
+    }
+
+    private function getStub($item)
+    {
+        if (!$item || !\is_array($item)) {
+            return $item;
+        }
+
+        $stub = new Stub();
+        $stub->type = Stub::TYPE_ARRAY;
+        foreach ($item as $stub->class => $stub->position) {
+        }
+        if (isset($item[0])) {
+            $stub->cut = $item[0];
+        }
+        $stub->value = $stub->cut + ($stub->position ? \count($this->data[$stub->position]) : 0);
+
+        return $stub;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/DumperInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/DumperInterface.php
new file mode 100644
index 0000000..6d60b72
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/DumperInterface.php
@@ -0,0 +1,56 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Cloner;
+
+/**
+ * DumperInterface used by Data objects.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+interface DumperInterface
+{
+    /**
+     * Dumps a scalar value.
+     *
+     * @param string                $type  The PHP type of the value being dumped
+     * @param string|int|float|bool $value The scalar value being dumped
+     */
+    public function dumpScalar(Cursor $cursor, string $type, $value);
+
+    /**
+     * Dumps a string.
+     *
+     * @param string $str The string being dumped
+     * @param bool   $bin Whether $str is UTF-8 or binary encoded
+     * @param int    $cut The number of characters $str has been cut by
+     */
+    public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut);
+
+    /**
+     * Dumps while entering an hash.
+     *
+     * @param int        $type     A Cursor::HASH_* const for the type of hash
+     * @param string|int $class    The object class, resource type or array count
+     * @param bool       $hasChild When the dump of the hash has child item
+     */
+    public function enterHash(Cursor $cursor, int $type, $class, bool $hasChild);
+
+    /**
+     * Dumps while leaving an hash.
+     *
+     * @param int        $type     A Cursor::HASH_* const for the type of hash
+     * @param string|int $class    The object class, resource type or array count
+     * @param bool       $hasChild When the dump of the hash has child item
+     * @param int        $cut      The number of items the hash has been cut by
+     */
+    public function leaveHash(Cursor $cursor, int $type, $class, bool $hasChild, int $cut);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Stub.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Stub.php
new file mode 100644
index 0000000..073c56e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/Stub.php
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Cloner;
+
+/**
+ * Represents the main properties of a PHP variable.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class Stub
+{
+    public const TYPE_REF = 1;
+    public const TYPE_STRING = 2;
+    public const TYPE_ARRAY = 3;
+    public const TYPE_OBJECT = 4;
+    public const TYPE_RESOURCE = 5;
+
+    public const STRING_BINARY = 1;
+    public const STRING_UTF8 = 2;
+
+    public const ARRAY_ASSOC = 1;
+    public const ARRAY_INDEXED = 2;
+
+    public $type = self::TYPE_REF;
+    public $class = '';
+    public $value;
+    public $cut = 0;
+    public $handle = 0;
+    public $refCount = 0;
+    public $position = 0;
+    public $attr = [];
+
+    private static $defaultProperties = [];
+
+    /**
+     * @internal
+     */
+    public function __sleep(): array
+    {
+        $properties = [];
+
+        if (!isset(self::$defaultProperties[$c = static::class])) {
+            self::$defaultProperties[$c] = get_class_vars($c);
+
+            foreach ((new \ReflectionClass($c))->getStaticProperties() as $k => $v) {
+                unset(self::$defaultProperties[$c][$k]);
+            }
+        }
+
+        foreach (self::$defaultProperties[$c] as $k => $v) {
+            if ($this->$k !== $v) {
+                $properties[] = $k;
+            }
+        }
+
+        return $properties;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/VarCloner.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/VarCloner.php
new file mode 100644
index 0000000..90d5ac9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Cloner/VarCloner.php
@@ -0,0 +1,288 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Cloner;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class VarCloner extends AbstractCloner
+{
+    private static $gid;
+    private static $arrayCache = [];
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function doClone($var)
+    {
+        $len = 1;                       // Length of $queue
+        $pos = 0;                       // Number of cloned items past the minimum depth
+        $refsCounter = 0;               // Hard references counter
+        $queue = [[$var]];    // This breadth-first queue is the return value
+        $hardRefs = [];            // Map of original zval ids to stub objects
+        $objRefs = [];             // Map of original object handles to their stub object counterpart
+        $objects = [];             // Keep a ref to objects to ensure their handle cannot be reused while cloning
+        $resRefs = [];             // Map of original resource handles to their stub object counterpart
+        $values = [];              // Map of stub objects' ids to original values
+        $maxItems = $this->maxItems;
+        $maxString = $this->maxString;
+        $minDepth = $this->minDepth;
+        $currentDepth = 0;              // Current tree depth
+        $currentDepthFinalIndex = 0;    // Final $queue index for current tree depth
+        $minimumDepthReached = 0 === $minDepth; // Becomes true when minimum tree depth has been reached
+        $cookie = (object) [];          // Unique object used to detect hard references
+        $a = null;                      // Array cast for nested structures
+        $stub = null;                   // Stub capturing the main properties of an original item value
+                                        // or null if the original value is used directly
+
+        if (!$gid = self::$gid) {
+            $gid = self::$gid = md5(random_bytes(6)); // Unique string used to detect the special $GLOBALS variable
+        }
+        $arrayStub = new Stub();
+        $arrayStub->type = Stub::TYPE_ARRAY;
+        $fromObjCast = false;
+
+        for ($i = 0; $i < $len; ++$i) {
+            // Detect when we move on to the next tree depth
+            if ($i > $currentDepthFinalIndex) {
+                ++$currentDepth;
+                $currentDepthFinalIndex = $len - 1;
+                if ($currentDepth >= $minDepth) {
+                    $minimumDepthReached = true;
+                }
+            }
+
+            $refs = $vals = $queue[$i];
+            foreach ($vals as $k => $v) {
+                // $v is the original value or a stub object in case of hard references
+
+                if (\PHP_VERSION_ID >= 70400) {
+                    $zvalIsRef = null !== \ReflectionReference::fromArrayElement($vals, $k);
+                } else {
+                    $refs[$k] = $cookie;
+                    $zvalIsRef = $vals[$k] === $cookie;
+                }
+
+                if ($zvalIsRef) {
+                    $vals[$k] = &$stub;         // Break hard references to make $queue completely
+                    unset($stub);               // independent from the original structure
+                    if ($v instanceof Stub && isset($hardRefs[spl_object_id($v)])) {
+                        $vals[$k] = $refs[$k] = $v;
+                        if ($v->value instanceof Stub && (Stub::TYPE_OBJECT === $v->value->type || Stub::TYPE_RESOURCE === $v->value->type)) {
+                            ++$v->value->refCount;
+                        }
+                        ++$v->refCount;
+                        continue;
+                    }
+                    $refs[$k] = $vals[$k] = new Stub();
+                    $refs[$k]->value = $v;
+                    $h = spl_object_id($refs[$k]);
+                    $hardRefs[$h] = &$refs[$k];
+                    $values[$h] = $v;
+                    $vals[$k]->handle = ++$refsCounter;
+                }
+                // Create $stub when the original value $v can not be used directly
+                // If $v is a nested structure, put that structure in array $a
+                switch (true) {
+                    case null === $v:
+                    case \is_bool($v):
+                    case \is_int($v):
+                    case \is_float($v):
+                        continue 2;
+                    case \is_string($v):
+                        if ('' === $v) {
+                            continue 2;
+                        }
+                        if (!preg_match('//u', $v)) {
+                            $stub = new Stub();
+                            $stub->type = Stub::TYPE_STRING;
+                            $stub->class = Stub::STRING_BINARY;
+                            if (0 <= $maxString && 0 < $cut = \strlen($v) - $maxString) {
+                                $stub->cut = $cut;
+                                $stub->value = substr($v, 0, -$cut);
+                            } else {
+                                $stub->value = $v;
+                            }
+                        } elseif (0 <= $maxString && isset($v[1 + ($maxString >> 2)]) && 0 < $cut = mb_strlen($v, 'UTF-8') - $maxString) {
+                            $stub = new Stub();
+                            $stub->type = Stub::TYPE_STRING;
+                            $stub->class = Stub::STRING_UTF8;
+                            $stub->cut = $cut;
+                            $stub->value = mb_substr($v, 0, $maxString, 'UTF-8');
+                        } else {
+                            continue 2;
+                        }
+                        $a = null;
+                        break;
+
+                    case \is_array($v):
+                        if (!$v) {
+                            continue 2;
+                        }
+                        $stub = $arrayStub;
+                        $stub->class = Stub::ARRAY_INDEXED;
+
+                        $j = -1;
+                        foreach ($v as $gk => $gv) {
+                            if ($gk !== ++$j) {
+                                $stub->class = Stub::ARRAY_ASSOC;
+                                break;
+                            }
+                        }
+                        $a = $v;
+
+                        if (Stub::ARRAY_ASSOC === $stub->class) {
+                            // Copies of $GLOBALS have very strange behavior,
+                            // let's detect them with some black magic
+                            if (\PHP_VERSION_ID < 80100 && ($a[$gid] = true) && isset($v[$gid])) {
+                                unset($v[$gid]);
+                                $a = [];
+                                foreach ($v as $gk => &$gv) {
+                                    if ($v === $gv) {
+                                        unset($v);
+                                        $v = new Stub();
+                                        $v->value = [$v->cut = \count($gv), Stub::TYPE_ARRAY => 0];
+                                        $v->handle = -1;
+                                        $gv = &$hardRefs[spl_object_id($v)];
+                                        $gv = $v;
+                                    }
+
+                                    $a[$gk] = &$gv;
+                                }
+                                unset($gv);
+                            } else {
+                                $a = $v;
+                            }
+                        }
+                        break;
+
+                    case \is_object($v):
+                        if (empty($objRefs[$h = spl_object_id($v)])) {
+                            $stub = new Stub();
+                            $stub->type = Stub::TYPE_OBJECT;
+                            $stub->class = \get_class($v);
+                            $stub->value = $v;
+                            $stub->handle = $h;
+                            $a = $this->castObject($stub, 0 < $i);
+                            if ($v !== $stub->value) {
+                                if (Stub::TYPE_OBJECT !== $stub->type || null === $stub->value) {
+                                    break;
+                                }
+                                $stub->handle = $h = spl_object_id($stub->value);
+                            }
+                            $stub->value = null;
+                            if (0 <= $maxItems && $maxItems <= $pos && $minimumDepthReached) {
+                                $stub->cut = \count($a);
+                                $a = null;
+                            }
+                        }
+                        if (empty($objRefs[$h])) {
+                            $objRefs[$h] = $stub;
+                            $objects[] = $v;
+                        } else {
+                            $stub = $objRefs[$h];
+                            ++$stub->refCount;
+                            $a = null;
+                        }
+                        break;
+
+                    default: // resource
+                        if (empty($resRefs[$h = (int) $v])) {
+                            $stub = new Stub();
+                            $stub->type = Stub::TYPE_RESOURCE;
+                            if ('Unknown' === $stub->class = @get_resource_type($v)) {
+                                $stub->class = 'Closed';
+                            }
+                            $stub->value = $v;
+                            $stub->handle = $h;
+                            $a = $this->castResource($stub, 0 < $i);
+                            $stub->value = null;
+                            if (0 <= $maxItems && $maxItems <= $pos && $minimumDepthReached) {
+                                $stub->cut = \count($a);
+                                $a = null;
+                            }
+                        }
+                        if (empty($resRefs[$h])) {
+                            $resRefs[$h] = $stub;
+                        } else {
+                            $stub = $resRefs[$h];
+                            ++$stub->refCount;
+                            $a = null;
+                        }
+                        break;
+                }
+
+                if ($a) {
+                    if (!$minimumDepthReached || 0 > $maxItems) {
+                        $queue[$len] = $a;
+                        $stub->position = $len++;
+                    } elseif ($pos < $maxItems) {
+                        if ($maxItems < $pos += \count($a)) {
+                            $a = \array_slice($a, 0, $maxItems - $pos, true);
+                            if ($stub->cut >= 0) {
+                                $stub->cut += $pos - $maxItems;
+                            }
+                        }
+                        $queue[$len] = $a;
+                        $stub->position = $len++;
+                    } elseif ($stub->cut >= 0) {
+                        $stub->cut += \count($a);
+                        $stub->position = 0;
+                    }
+                }
+
+                if ($arrayStub === $stub) {
+                    if ($arrayStub->cut) {
+                        $stub = [$arrayStub->cut, $arrayStub->class => $arrayStub->position];
+                        $arrayStub->cut = 0;
+                    } elseif (isset(self::$arrayCache[$arrayStub->class][$arrayStub->position])) {
+                        $stub = self::$arrayCache[$arrayStub->class][$arrayStub->position];
+                    } else {
+                        self::$arrayCache[$arrayStub->class][$arrayStub->position] = $stub = [$arrayStub->class => $arrayStub->position];
+                    }
+                }
+
+                if ($zvalIsRef) {
+                    $refs[$k]->value = $stub;
+                } else {
+                    $vals[$k] = $stub;
+                }
+            }
+
+            if ($fromObjCast) {
+                $fromObjCast = false;
+                $refs = $vals;
+                $vals = [];
+                $j = -1;
+                foreach ($queue[$i] as $k => $v) {
+                    foreach ([$k => true] as $gk => $gv) {
+                    }
+                    if ($gk !== $k) {
+                        $vals = (object) $vals;
+                        $vals->{$k} = $refs[++$j];
+                        $vals = (array) $vals;
+                    } else {
+                        $vals[$k] = $refs[++$j];
+                    }
+                }
+            }
+
+            $queue[$i] = $vals;
+        }
+
+        foreach ($values as $h => $v) {
+            $hardRefs[$h] = $v;
+        }
+
+        return $queue;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php
new file mode 100644
index 0000000..7d9ec0e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php
@@ -0,0 +1,88 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Command\Descriptor;
+
+use Symfony\Component\Console\Formatter\OutputFormatterStyle;
+use Symfony\Component\Console\Input\ArrayInput;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Style\SymfonyStyle;
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Dumper\CliDumper;
+
+/**
+ * Describe collected data clones for cli output.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ *
+ * @final
+ */
+class CliDescriptor implements DumpDescriptorInterface
+{
+    private $dumper;
+    private $lastIdentifier;
+    private $supportsHref;
+
+    public function __construct(CliDumper $dumper)
+    {
+        $this->dumper = $dumper;
+        $this->supportsHref = method_exists(OutputFormatterStyle::class, 'setHref');
+    }
+
+    public function describe(OutputInterface $output, Data $data, array $context, int $clientId): void
+    {
+        $io = $output instanceof SymfonyStyle ? $output : new SymfonyStyle(new ArrayInput([]), $output);
+        $this->dumper->setColors($output->isDecorated());
+
+        $rows = [['date', date('r', (int) $context['timestamp'])]];
+        $lastIdentifier = $this->lastIdentifier;
+        $this->lastIdentifier = $clientId;
+
+        $section = "Received from client #$clientId";
+        if (isset($context['request'])) {
+            $request = $context['request'];
+            $this->lastIdentifier = $request['identifier'];
+            $section = sprintf('%s %s', $request['method'], $request['uri']);
+            if ($controller = $request['controller']) {
+                $rows[] = ['controller', rtrim($this->dumper->dump($controller, true), "\n")];
+            }
+        } elseif (isset($context['cli'])) {
+            $this->lastIdentifier = $context['cli']['identifier'];
+            $section = '$ '.$context['cli']['command_line'];
+        }
+
+        if ($this->lastIdentifier !== $lastIdentifier) {
+            $io->section($section);
+        }
+
+        if (isset($context['source'])) {
+            $source = $context['source'];
+            $sourceInfo = sprintf('%s on line %d', $source['name'], $source['line']);
+            $fileLink = $source['file_link'] ?? null;
+            if ($this->supportsHref && $fileLink) {
+                $sourceInfo = sprintf('<href=%s>%s</>', $fileLink, $sourceInfo);
+            }
+            $rows[] = ['source', $sourceInfo];
+            $file = $source['file_relative'] ?? $source['file'];
+            $rows[] = ['file', $file];
+        }
+
+        $io->table([], $rows);
+
+        if (!$this->supportsHref && isset($fileLink)) {
+            $io->writeln(['<info>Open source in your IDE/browser:</info>', $fileLink]);
+            $io->newLine();
+        }
+
+        $this->dumper->dump($data);
+        $io->newLine();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php
new file mode 100644
index 0000000..267d27b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php
@@ -0,0 +1,23 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Command\Descriptor;
+
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\VarDumper\Cloner\Data;
+
+/**
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+interface DumpDescriptorInterface
+{
+    public function describe(OutputInterface $output, Data $data, array $context, int $clientId): void;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php
new file mode 100644
index 0000000..636b618
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php
@@ -0,0 +1,119 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Command\Descriptor;
+
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Dumper\HtmlDumper;
+
+/**
+ * Describe collected data clones for html output.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ *
+ * @final
+ */
+class HtmlDescriptor implements DumpDescriptorInterface
+{
+    private $dumper;
+    private $initialized = false;
+
+    public function __construct(HtmlDumper $dumper)
+    {
+        $this->dumper = $dumper;
+    }
+
+    public function describe(OutputInterface $output, Data $data, array $context, int $clientId): void
+    {
+        if (!$this->initialized) {
+            $styles = file_get_contents(__DIR__.'/../../Resources/css/htmlDescriptor.css');
+            $scripts = file_get_contents(__DIR__.'/../../Resources/js/htmlDescriptor.js');
+            $output->writeln("<style>$styles</style><script>$scripts</script>");
+            $this->initialized = true;
+        }
+
+        $title = '-';
+        if (isset($context['request'])) {
+            $request = $context['request'];
+            $controller = "<span class='dumped-tag'>{$this->dumper->dump($request['controller'], true, ['maxDepth' => 0])}</span>";
+            $title = sprintf('<code>%s</code> <a href="%s">%s</a>', $request['method'], $uri = $request['uri'], $uri);
+            $dedupIdentifier = $request['identifier'];
+        } elseif (isset($context['cli'])) {
+            $title = '<code>$ </code>'.$context['cli']['command_line'];
+            $dedupIdentifier = $context['cli']['identifier'];
+        } else {
+            $dedupIdentifier = uniqid('', true);
+        }
+
+        $sourceDescription = '';
+        if (isset($context['source'])) {
+            $source = $context['source'];
+            $projectDir = $source['project_dir'] ?? null;
+            $sourceDescription = sprintf('%s on line %d', $source['name'], $source['line']);
+            if (isset($source['file_link'])) {
+                $sourceDescription = sprintf('<a href="%s">%s</a>', $source['file_link'], $sourceDescription);
+            }
+        }
+
+        $isoDate = $this->extractDate($context, 'c');
+        $tags = array_filter([
+            'controller' => $controller ?? null,
+            'project dir' => $projectDir ?? null,
+        ]);
+
+        $output->writeln(<<<HTML
+<article data-dedup-id="$dedupIdentifier">
+    <header>
+        <div class="row">
+            <h2 class="col">$title</h2>
+            <time class="col text-small" title="$isoDate" datetime="$isoDate">
+                {$this->extractDate($context)}
+            </time>
+        </div>
+        {$this->renderTags($tags)}
+    </header>
+    <section class="body">
+        <p class="text-small">
+            $sourceDescription
+        </p>
+        {$this->dumper->dump($data, true)}
+    </section>
+</article>
+HTML
+        );
+    }
+
+    private function extractDate(array $context, string $format = 'r'): string
+    {
+        return date($format, (int) $context['timestamp']);
+    }
+
+    private function renderTags(array $tags): string
+    {
+        if (!$tags) {
+            return '';
+        }
+
+        $renderedTags = '';
+        foreach ($tags as $key => $value) {
+            $renderedTags .= sprintf('<li><span class="badge">%s</span>%s</li>', $key, $value);
+        }
+
+        return <<<HTML
+<div class="row">
+    <ul class="tags">
+        $renderedTags
+    </ul>
+</div>
+HTML;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/ServerDumpCommand.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/ServerDumpCommand.php
new file mode 100644
index 0000000..ead9d5b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Command/ServerDumpCommand.php
@@ -0,0 +1,102 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Command;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Exception\InvalidArgumentException;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Style\SymfonyStyle;
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Command\Descriptor\CliDescriptor;
+use Symfony\Component\VarDumper\Command\Descriptor\DumpDescriptorInterface;
+use Symfony\Component\VarDumper\Command\Descriptor\HtmlDescriptor;
+use Symfony\Component\VarDumper\Dumper\CliDumper;
+use Symfony\Component\VarDumper\Dumper\HtmlDumper;
+use Symfony\Component\VarDumper\Server\DumpServer;
+
+/**
+ * Starts a dump server to collect and output dumps on a single place with multiple formats support.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ *
+ * @final
+ */
+class ServerDumpCommand extends Command
+{
+    protected static $defaultName = 'server:dump';
+    protected static $defaultDescription = 'Start a dump server that collects and displays dumps in a single place';
+
+    private $server;
+
+    /** @var DumpDescriptorInterface[] */
+    private $descriptors;
+
+    public function __construct(DumpServer $server, array $descriptors = [])
+    {
+        $this->server = $server;
+        $this->descriptors = $descriptors + [
+            'cli' => new CliDescriptor(new CliDumper()),
+            'html' => new HtmlDescriptor(new HtmlDumper()),
+        ];
+
+        parent::__construct();
+    }
+
+    protected function configure()
+    {
+        $availableFormats = implode(', ', array_keys($this->descriptors));
+
+        $this
+            ->addOption('format', null, InputOption::VALUE_REQUIRED, sprintf('The output format (%s)', $availableFormats), 'cli')
+            ->setDescription(self::$defaultDescription)
+            ->setHelp(<<<'EOF'
+<info>%command.name%</info> starts a dump server that collects and displays
+dumps in a single place for debugging you application:
+
+  <info>php %command.full_name%</info>
+
+You can consult dumped data in HTML format in your browser by providing the <comment>--format=html</comment> option
+and redirecting the output to a file:
+
+  <info>php %command.full_name% --format="html" > dump.html</info>
+
+EOF
+            )
+        ;
+    }
+
+    protected function execute(InputInterface $input, OutputInterface $output): int
+    {
+        $io = new SymfonyStyle($input, $output);
+        $format = $input->getOption('format');
+
+        if (!$descriptor = $this->descriptors[$format] ?? null) {
+            throw new InvalidArgumentException(sprintf('Unsupported format "%s".', $format));
+        }
+
+        $errorIo = $io->getErrorStyle();
+        $errorIo->title('Symfony Var Dumper Server');
+
+        $this->server->start();
+
+        $errorIo->success(sprintf('Server listening on %s', $this->server->getHost()));
+        $errorIo->comment('Quit the server with CONTROL-C.');
+
+        $this->server->listen(function (Data $data, array $context, int $clientId) use ($descriptor, $io) {
+            $descriptor->describe($io, $data, $context, $clientId);
+        });
+
+        return 0;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/AbstractDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/AbstractDumper.php
new file mode 100644
index 0000000..6064ea9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/AbstractDumper.php
@@ -0,0 +1,204 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper;
+
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Cloner\DumperInterface;
+
+/**
+ * Abstract mechanism for dumping a Data object.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+abstract class AbstractDumper implements DataDumperInterface, DumperInterface
+{
+    public const DUMP_LIGHT_ARRAY = 1;
+    public const DUMP_STRING_LENGTH = 2;
+    public const DUMP_COMMA_SEPARATOR = 4;
+    public const DUMP_TRAILING_COMMA = 8;
+
+    public static $defaultOutput = 'php://output';
+
+    protected $line = '';
+    protected $lineDumper;
+    protected $outputStream;
+    protected $decimalPoint; // This is locale dependent
+    protected $indentPad = '  ';
+    protected $flags;
+
+    private $charset = '';
+
+    /**
+     * @param callable|resource|string|null $output  A line dumper callable, an opened stream or an output path, defaults to static::$defaultOutput
+     * @param string|null                   $charset The default character encoding to use for non-UTF8 strings
+     * @param int                           $flags   A bit field of static::DUMP_* constants to fine tune dumps representation
+     */
+    public function __construct($output = null, string $charset = null, int $flags = 0)
+    {
+        $this->flags = $flags;
+        $this->setCharset($charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8');
+        $this->decimalPoint = localeconv();
+        $this->decimalPoint = $this->decimalPoint['decimal_point'];
+        $this->setOutput($output ?: static::$defaultOutput);
+        if (!$output && \is_string(static::$defaultOutput)) {
+            static::$defaultOutput = $this->outputStream;
+        }
+    }
+
+    /**
+     * Sets the output destination of the dumps.
+     *
+     * @param callable|resource|string $output A line dumper callable, an opened stream or an output path
+     *
+     * @return callable|resource|string The previous output destination
+     */
+    public function setOutput($output)
+    {
+        $prev = $this->outputStream ?? $this->lineDumper;
+
+        if (\is_callable($output)) {
+            $this->outputStream = null;
+            $this->lineDumper = $output;
+        } else {
+            if (\is_string($output)) {
+                $output = fopen($output, 'w');
+            }
+            $this->outputStream = $output;
+            $this->lineDumper = [$this, 'echoLine'];
+        }
+
+        return $prev;
+    }
+
+    /**
+     * Sets the default character encoding to use for non-UTF8 strings.
+     *
+     * @return string The previous charset
+     */
+    public function setCharset(string $charset)
+    {
+        $prev = $this->charset;
+
+        $charset = strtoupper($charset);
+        $charset = null === $charset || 'UTF-8' === $charset || 'UTF8' === $charset ? 'CP1252' : $charset;
+
+        $this->charset = $charset;
+
+        return $prev;
+    }
+
+    /**
+     * Sets the indentation pad string.
+     *
+     * @param string $pad A string that will be prepended to dumped lines, repeated by nesting level
+     *
+     * @return string The previous indent pad
+     */
+    public function setIndentPad(string $pad)
+    {
+        $prev = $this->indentPad;
+        $this->indentPad = $pad;
+
+        return $prev;
+    }
+
+    /**
+     * Dumps a Data object.
+     *
+     * @param callable|resource|string|true|null $output A line dumper callable, an opened stream, an output path or true to return the dump
+     *
+     * @return string|null The dump as string when $output is true
+     */
+    public function dump(Data $data, $output = null)
+    {
+        $this->decimalPoint = localeconv();
+        $this->decimalPoint = $this->decimalPoint['decimal_point'];
+
+        if ($locale = $this->flags & (self::DUMP_COMMA_SEPARATOR | self::DUMP_TRAILING_COMMA) ? setlocale(\LC_NUMERIC, 0) : null) {
+            setlocale(\LC_NUMERIC, 'C');
+        }
+
+        if ($returnDump = true === $output) {
+            $output = fopen('php://memory', 'r+');
+        }
+        if ($output) {
+            $prevOutput = $this->setOutput($output);
+        }
+        try {
+            $data->dump($this);
+            $this->dumpLine(-1);
+
+            if ($returnDump) {
+                $result = stream_get_contents($output, -1, 0);
+                fclose($output);
+
+                return $result;
+            }
+        } finally {
+            if ($output) {
+                $this->setOutput($prevOutput);
+            }
+            if ($locale) {
+                setlocale(\LC_NUMERIC, $locale);
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * Dumps the current line.
+     *
+     * @param int $depth The recursive depth in the dumped structure for the line being dumped,
+     *                   or -1 to signal the end-of-dump to the line dumper callable
+     */
+    protected function dumpLine(int $depth)
+    {
+        ($this->lineDumper)($this->line, $depth, $this->indentPad);
+        $this->line = '';
+    }
+
+    /**
+     * Generic line dumper callback.
+     */
+    protected function echoLine(string $line, int $depth, string $indentPad)
+    {
+        if (-1 !== $depth) {
+            fwrite($this->outputStream, str_repeat($indentPad, $depth).$line."\n");
+        }
+    }
+
+    /**
+     * Converts a non-UTF-8 string to UTF-8.
+     *
+     * @return string|null The string converted to UTF-8
+     */
+    protected function utf8Encode(?string $s)
+    {
+        if (null === $s || preg_match('//u', $s)) {
+            return $s;
+        }
+
+        if (!\function_exists('iconv')) {
+            throw new \RuntimeException('Unable to convert a non-UTF-8 string to UTF-8: required function iconv() does not exist. You should install ext-iconv or symfony/polyfill-iconv.');
+        }
+
+        if (false !== $c = @iconv($this->charset, 'UTF-8', $s)) {
+            return $c;
+        }
+        if ('CP1252' !== $this->charset && false !== $c = @iconv('CP1252', 'UTF-8', $s)) {
+            return $c;
+        }
+
+        return iconv('CP850', 'UTF-8', $s);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/CliDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/CliDumper.php
new file mode 100644
index 0000000..c1539ee
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/CliDumper.php
@@ -0,0 +1,643 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper;
+
+use Symfony\Component\VarDumper\Cloner\Cursor;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * CliDumper dumps variables for command line output.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class CliDumper extends AbstractDumper
+{
+    public static $defaultColors;
+    public static $defaultOutput = 'php://stdout';
+
+    protected $colors;
+    protected $maxStringWidth = 0;
+    protected $styles = [
+        // See http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
+        'default' => '0;38;5;208',
+        'num' => '1;38;5;38',
+        'const' => '1;38;5;208',
+        'str' => '1;38;5;113',
+        'note' => '38;5;38',
+        'ref' => '38;5;247',
+        'public' => '',
+        'protected' => '',
+        'private' => '',
+        'meta' => '38;5;170',
+        'key' => '38;5;113',
+        'index' => '38;5;38',
+    ];
+
+    protected static $controlCharsRx = '/[\x00-\x1F\x7F]+/';
+    protected static $controlCharsMap = [
+        "\t" => '\t',
+        "\n" => '\n',
+        "\v" => '\v',
+        "\f" => '\f',
+        "\r" => '\r',
+        "\033" => '\e',
+    ];
+
+    protected $collapseNextHash = false;
+    protected $expandNextHash = false;
+
+    private $displayOptions = [
+        'fileLinkFormat' => null,
+    ];
+
+    private $handlesHrefGracefully;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __construct($output = null, string $charset = null, int $flags = 0)
+    {
+        parent::__construct($output, $charset, $flags);
+
+        if ('\\' === \DIRECTORY_SEPARATOR && !$this->isWindowsTrueColor()) {
+            // Use only the base 16 xterm colors when using ANSICON or standard Windows 10 CLI
+            $this->setStyles([
+                'default' => '31',
+                'num' => '1;34',
+                'const' => '1;31',
+                'str' => '1;32',
+                'note' => '34',
+                'ref' => '1;30',
+                'meta' => '35',
+                'key' => '32',
+                'index' => '34',
+            ]);
+        }
+
+        $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format') ?: 'file://%f#L%l';
+    }
+
+    /**
+     * Enables/disables colored output.
+     */
+    public function setColors(bool $colors)
+    {
+        $this->colors = $colors;
+    }
+
+    /**
+     * Sets the maximum number of characters per line for dumped strings.
+     */
+    public function setMaxStringWidth(int $maxStringWidth)
+    {
+        $this->maxStringWidth = $maxStringWidth;
+    }
+
+    /**
+     * Configures styles.
+     *
+     * @param array $styles A map of style names to style definitions
+     */
+    public function setStyles(array $styles)
+    {
+        $this->styles = $styles + $this->styles;
+    }
+
+    /**
+     * Configures display options.
+     *
+     * @param array $displayOptions A map of display options to customize the behavior
+     */
+    public function setDisplayOptions(array $displayOptions)
+    {
+        $this->displayOptions = $displayOptions + $this->displayOptions;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dumpScalar(Cursor $cursor, string $type, $value)
+    {
+        $this->dumpKey($cursor);
+
+        $style = 'const';
+        $attr = $cursor->attr;
+
+        switch ($type) {
+            case 'default':
+                $style = 'default';
+                break;
+
+            case 'integer':
+                $style = 'num';
+                break;
+
+            case 'double':
+                $style = 'num';
+
+                switch (true) {
+                    case \INF === $value:  $value = 'INF'; break;
+                    case -\INF === $value: $value = '-INF'; break;
+                    case is_nan($value):  $value = 'NAN'; break;
+                    default:
+                        $value = (string) $value;
+                        if (!str_contains($value, $this->decimalPoint)) {
+                            $value .= $this->decimalPoint.'0';
+                        }
+                        break;
+                }
+                break;
+
+            case 'NULL':
+                $value = 'null';
+                break;
+
+            case 'boolean':
+                $value = $value ? 'true' : 'false';
+                break;
+
+            default:
+                $attr += ['value' => $this->utf8Encode($value)];
+                $value = $this->utf8Encode($type);
+                break;
+        }
+
+        $this->line .= $this->style($style, $value, $attr);
+
+        $this->endValue($cursor);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut)
+    {
+        $this->dumpKey($cursor);
+        $attr = $cursor->attr;
+
+        if ($bin) {
+            $str = $this->utf8Encode($str);
+        }
+        if ('' === $str) {
+            $this->line .= '""';
+            $this->endValue($cursor);
+        } else {
+            $attr += [
+                'length' => 0 <= $cut ? mb_strlen($str, 'UTF-8') + $cut : 0,
+                'binary' => $bin,
+            ];
+            $str = $bin && false !== strpos($str, "\0") ? [$str] : explode("\n", $str);
+            if (isset($str[1]) && !isset($str[2]) && !isset($str[1][0])) {
+                unset($str[1]);
+                $str[0] .= "\n";
+            }
+            $m = \count($str) - 1;
+            $i = $lineCut = 0;
+
+            if (self::DUMP_STRING_LENGTH & $this->flags) {
+                $this->line .= '('.$attr['length'].') ';
+            }
+            if ($bin) {
+                $this->line .= 'b';
+            }
+
+            if ($m) {
+                $this->line .= '"""';
+                $this->dumpLine($cursor->depth);
+            } else {
+                $this->line .= '"';
+            }
+
+            foreach ($str as $str) {
+                if ($i < $m) {
+                    $str .= "\n";
+                }
+                if (0 < $this->maxStringWidth && $this->maxStringWidth < $len = mb_strlen($str, 'UTF-8')) {
+                    $str = mb_substr($str, 0, $this->maxStringWidth, 'UTF-8');
+                    $lineCut = $len - $this->maxStringWidth;
+                }
+                if ($m && 0 < $cursor->depth) {
+                    $this->line .= $this->indentPad;
+                }
+                if ('' !== $str) {
+                    $this->line .= $this->style('str', $str, $attr);
+                }
+                if ($i++ == $m) {
+                    if ($m) {
+                        if ('' !== $str) {
+                            $this->dumpLine($cursor->depth);
+                            if (0 < $cursor->depth) {
+                                $this->line .= $this->indentPad;
+                            }
+                        }
+                        $this->line .= '"""';
+                    } else {
+                        $this->line .= '"';
+                    }
+                    if ($cut < 0) {
+                        $this->line .= '…';
+                        $lineCut = 0;
+                    } elseif ($cut) {
+                        $lineCut += $cut;
+                    }
+                }
+                if ($lineCut) {
+                    $this->line .= '…'.$lineCut;
+                    $lineCut = 0;
+                }
+
+                if ($i > $m) {
+                    $this->endValue($cursor);
+                } else {
+                    $this->dumpLine($cursor->depth);
+                }
+            }
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function enterHash(Cursor $cursor, int $type, $class, bool $hasChild)
+    {
+        if (null === $this->colors) {
+            $this->colors = $this->supportsColors();
+        }
+
+        $this->dumpKey($cursor);
+        $attr = $cursor->attr;
+
+        if ($this->collapseNextHash) {
+            $cursor->skipChildren = true;
+            $this->collapseNextHash = $hasChild = false;
+        }
+
+        $class = $this->utf8Encode($class);
+        if (Cursor::HASH_OBJECT === $type) {
+            $prefix = $class && 'stdClass' !== $class ? $this->style('note', $class, $attr).(empty($attr['cut_hash']) ? ' {' : '') : '{';
+        } elseif (Cursor::HASH_RESOURCE === $type) {
+            $prefix = $this->style('note', $class.' resource', $attr).($hasChild ? ' {' : ' ');
+        } else {
+            $prefix = $class && !(self::DUMP_LIGHT_ARRAY & $this->flags) ? $this->style('note', 'array:'.$class).' [' : '[';
+        }
+
+        if (($cursor->softRefCount || 0 < $cursor->softRefHandle) && empty($attr['cut_hash'])) {
+            $prefix .= $this->style('ref', (Cursor::HASH_RESOURCE === $type ? '@' : '#').(0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->softRefTo), ['count' => $cursor->softRefCount]);
+        } elseif ($cursor->hardRefTo && !$cursor->refIndex && $class) {
+            $prefix .= $this->style('ref', '&'.$cursor->hardRefTo, ['count' => $cursor->hardRefCount]);
+        } elseif (!$hasChild && Cursor::HASH_RESOURCE === $type) {
+            $prefix = substr($prefix, 0, -1);
+        }
+
+        $this->line .= $prefix;
+
+        if ($hasChild) {
+            $this->dumpLine($cursor->depth);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function leaveHash(Cursor $cursor, int $type, $class, bool $hasChild, int $cut)
+    {
+        if (empty($cursor->attr['cut_hash'])) {
+            $this->dumpEllipsis($cursor, $hasChild, $cut);
+            $this->line .= Cursor::HASH_OBJECT === $type ? '}' : (Cursor::HASH_RESOURCE !== $type ? ']' : ($hasChild ? '}' : ''));
+        }
+
+        $this->endValue($cursor);
+    }
+
+    /**
+     * Dumps an ellipsis for cut children.
+     *
+     * @param bool $hasChild When the dump of the hash has child item
+     * @param int  $cut      The number of items the hash has been cut by
+     */
+    protected function dumpEllipsis(Cursor $cursor, bool $hasChild, int $cut)
+    {
+        if ($cut) {
+            $this->line .= ' …';
+            if (0 < $cut) {
+                $this->line .= $cut;
+            }
+            if ($hasChild) {
+                $this->dumpLine($cursor->depth + 1);
+            }
+        }
+    }
+
+    /**
+     * Dumps a key in a hash structure.
+     */
+    protected function dumpKey(Cursor $cursor)
+    {
+        if (null !== $key = $cursor->hashKey) {
+            if ($cursor->hashKeyIsBinary) {
+                $key = $this->utf8Encode($key);
+            }
+            $attr = ['binary' => $cursor->hashKeyIsBinary];
+            $bin = $cursor->hashKeyIsBinary ? 'b' : '';
+            $style = 'key';
+            switch ($cursor->hashType) {
+                default:
+                case Cursor::HASH_INDEXED:
+                    if (self::DUMP_LIGHT_ARRAY & $this->flags) {
+                        break;
+                    }
+                    $style = 'index';
+                    // no break
+                case Cursor::HASH_ASSOC:
+                    if (\is_int($key)) {
+                        $this->line .= $this->style($style, $key).' => ';
+                    } else {
+                        $this->line .= $bin.'"'.$this->style($style, $key).'" => ';
+                    }
+                    break;
+
+                case Cursor::HASH_RESOURCE:
+                    $key = "\0~\0".$key;
+                    // no break
+                case Cursor::HASH_OBJECT:
+                    if (!isset($key[0]) || "\0" !== $key[0]) {
+                        $this->line .= '+'.$bin.$this->style('public', $key).': ';
+                    } elseif (0 < strpos($key, "\0", 1)) {
+                        $key = explode("\0", substr($key, 1), 2);
+
+                        switch ($key[0][0]) {
+                            case '+': // User inserted keys
+                                $attr['dynamic'] = true;
+                                $this->line .= '+'.$bin.'"'.$this->style('public', $key[1], $attr).'": ';
+                                break 2;
+                            case '~':
+                                $style = 'meta';
+                                if (isset($key[0][1])) {
+                                    parse_str(substr($key[0], 1), $attr);
+                                    $attr += ['binary' => $cursor->hashKeyIsBinary];
+                                }
+                                break;
+                            case '*':
+                                $style = 'protected';
+                                $bin = '#'.$bin;
+                                break;
+                            default:
+                                $attr['class'] = $key[0];
+                                $style = 'private';
+                                $bin = '-'.$bin;
+                                break;
+                        }
+
+                        if (isset($attr['collapse'])) {
+                            if ($attr['collapse']) {
+                                $this->collapseNextHash = true;
+                            } else {
+                                $this->expandNextHash = true;
+                            }
+                        }
+
+                        $this->line .= $bin.$this->style($style, $key[1], $attr).($attr['separator'] ?? ': ');
+                    } else {
+                        // This case should not happen
+                        $this->line .= '-'.$bin.'"'.$this->style('private', $key, ['class' => '']).'": ';
+                    }
+                    break;
+            }
+
+            if ($cursor->hardRefTo) {
+                $this->line .= $this->style('ref', '&'.($cursor->hardRefCount ? $cursor->hardRefTo : ''), ['count' => $cursor->hardRefCount]).' ';
+            }
+        }
+    }
+
+    /**
+     * Decorates a value with some style.
+     *
+     * @param string $style The type of style being applied
+     * @param string $value The value being styled
+     * @param array  $attr  Optional context information
+     *
+     * @return string The value with style decoration
+     */
+    protected function style(string $style, string $value, array $attr = [])
+    {
+        if (null === $this->colors) {
+            $this->colors = $this->supportsColors();
+        }
+
+        if (null === $this->handlesHrefGracefully) {
+            $this->handlesHrefGracefully = 'JetBrains-JediTerm' !== getenv('TERMINAL_EMULATOR')
+                && (!getenv('KONSOLE_VERSION') || (int) getenv('KONSOLE_VERSION') > 201100);
+        }
+
+        if (isset($attr['ellipsis'], $attr['ellipsis-type'])) {
+            $prefix = substr($value, 0, -$attr['ellipsis']);
+            if ('cli' === \PHP_SAPI && 'path' === $attr['ellipsis-type'] && isset($_SERVER[$pwd = '\\' === \DIRECTORY_SEPARATOR ? 'CD' : 'PWD']) && str_starts_with($prefix, $_SERVER[$pwd])) {
+                $prefix = '.'.substr($prefix, \strlen($_SERVER[$pwd]));
+            }
+            if (!empty($attr['ellipsis-tail'])) {
+                $prefix .= substr($value, -$attr['ellipsis'], $attr['ellipsis-tail']);
+                $value = substr($value, -$attr['ellipsis'] + $attr['ellipsis-tail']);
+            } else {
+                $value = substr($value, -$attr['ellipsis']);
+            }
+
+            $value = $this->style('default', $prefix).$this->style($style, $value);
+
+            goto href;
+        }
+
+        $map = static::$controlCharsMap;
+        $startCchr = $this->colors ? "\033[m\033[{$this->styles['default']}m" : '';
+        $endCchr = $this->colors ? "\033[m\033[{$this->styles[$style]}m" : '';
+        $value = preg_replace_callback(static::$controlCharsRx, function ($c) use ($map, $startCchr, $endCchr) {
+            $s = $startCchr;
+            $c = $c[$i = 0];
+            do {
+                $s .= $map[$c[$i]] ?? sprintf('\x%02X', \ord($c[$i]));
+            } while (isset($c[++$i]));
+
+            return $s.$endCchr;
+        }, $value, -1, $cchrCount);
+
+        if ($this->colors) {
+            if ($cchrCount && "\033" === $value[0]) {
+                $value = substr($value, \strlen($startCchr));
+            } else {
+                $value = "\033[{$this->styles[$style]}m".$value;
+            }
+            if ($cchrCount && str_ends_with($value, $endCchr)) {
+                $value = substr($value, 0, -\strlen($endCchr));
+            } else {
+                $value .= "\033[{$this->styles['default']}m";
+            }
+        }
+
+        href:
+        if ($this->colors && $this->handlesHrefGracefully) {
+            if (isset($attr['file']) && $href = $this->getSourceLink($attr['file'], $attr['line'] ?? 0)) {
+                if ('note' === $style) {
+                    $value .= "\033]8;;{$href}\033\\^\033]8;;\033\\";
+                } else {
+                    $attr['href'] = $href;
+                }
+            }
+            if (isset($attr['href'])) {
+                $value = "\033]8;;{$attr['href']}\033\\{$value}\033]8;;\033\\";
+            }
+        } elseif ($attr['if_links'] ?? false) {
+            return '';
+        }
+
+        return $value;
+    }
+
+    /**
+     * @return bool Tells if the current output stream supports ANSI colors or not
+     */
+    protected function supportsColors()
+    {
+        if ($this->outputStream !== static::$defaultOutput) {
+            return $this->hasColorSupport($this->outputStream);
+        }
+        if (null !== static::$defaultColors) {
+            return static::$defaultColors;
+        }
+        if (isset($_SERVER['argv'][1])) {
+            $colors = $_SERVER['argv'];
+            $i = \count($colors);
+            while (--$i > 0) {
+                if (isset($colors[$i][5])) {
+                    switch ($colors[$i]) {
+                        case '--ansi':
+                        case '--color':
+                        case '--color=yes':
+                        case '--color=force':
+                        case '--color=always':
+                        case '--colors=always':
+                            return static::$defaultColors = true;
+
+                        case '--no-ansi':
+                        case '--color=no':
+                        case '--color=none':
+                        case '--color=never':
+                        case '--colors=never':
+                            return static::$defaultColors = false;
+                    }
+                }
+            }
+        }
+
+        $h = stream_get_meta_data($this->outputStream) + ['wrapper_type' => null];
+        $h = 'Output' === $h['stream_type'] && 'PHP' === $h['wrapper_type'] ? fopen('php://stdout', 'w') : $this->outputStream;
+
+        return static::$defaultColors = $this->hasColorSupport($h);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function dumpLine(int $depth, bool $endOfValue = false)
+    {
+        if ($this->colors) {
+            $this->line = sprintf("\033[%sm%s\033[m", $this->styles['default'], $this->line);
+        }
+        parent::dumpLine($depth);
+    }
+
+    protected function endValue(Cursor $cursor)
+    {
+        if (-1 === $cursor->hashType) {
+            return;
+        }
+
+        if (Stub::ARRAY_INDEXED === $cursor->hashType || Stub::ARRAY_ASSOC === $cursor->hashType) {
+            if (self::DUMP_TRAILING_COMMA & $this->flags && 0 < $cursor->depth) {
+                $this->line .= ',';
+            } elseif (self::DUMP_COMMA_SEPARATOR & $this->flags && 1 < $cursor->hashLength - $cursor->hashIndex) {
+                $this->line .= ',';
+            }
+        }
+
+        $this->dumpLine($cursor->depth, true);
+    }
+
+    /**
+     * Returns true if the stream supports colorization.
+     *
+     * Reference: Composer\XdebugHandler\Process::supportsColor
+     * https://github.com/composer/xdebug-handler
+     *
+     * @param mixed $stream A CLI output stream
+     */
+    private function hasColorSupport($stream): bool
+    {
+        if (!\is_resource($stream) || 'stream' !== get_resource_type($stream)) {
+            return false;
+        }
+
+        // Follow https://no-color.org/
+        if (isset($_SERVER['NO_COLOR']) || false !== getenv('NO_COLOR')) {
+            return false;
+        }
+
+        if ('Hyper' === getenv('TERM_PROGRAM')) {
+            return true;
+        }
+
+        if (\DIRECTORY_SEPARATOR === '\\') {
+            return (\function_exists('sapi_windows_vt100_support')
+                && @sapi_windows_vt100_support($stream))
+                || false !== getenv('ANSICON')
+                || 'ON' === getenv('ConEmuANSI')
+                || 'xterm' === getenv('TERM');
+        }
+
+        return stream_isatty($stream);
+    }
+
+    /**
+     * Returns true if the Windows terminal supports true color.
+     *
+     * Note that this does not check an output stream, but relies on environment
+     * variables from known implementations, or a PHP and Windows version that
+     * supports true color.
+     */
+    private function isWindowsTrueColor(): bool
+    {
+        $result = 183 <= getenv('ANSICON_VER')
+            || 'ON' === getenv('ConEmuANSI')
+            || 'xterm' === getenv('TERM')
+            || 'Hyper' === getenv('TERM_PROGRAM');
+
+        if (!$result) {
+            $version = sprintf(
+                '%s.%s.%s',
+                PHP_WINDOWS_VERSION_MAJOR,
+                PHP_WINDOWS_VERSION_MINOR,
+                PHP_WINDOWS_VERSION_BUILD
+            );
+            $result = $version >= '10.0.15063';
+        }
+
+        return $result;
+    }
+
+    private function getSourceLink(string $file, int $line)
+    {
+        if ($fmt = $this->displayOptions['fileLinkFormat']) {
+            return \is_string($fmt) ? strtr($fmt, ['%f' => $file, '%l' => $line]) : ($fmt->format($file, $line) ?: 'file://'.$file.'#L'.$line);
+        }
+
+        return false;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php
new file mode 100644
index 0000000..38f8789
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php
@@ -0,0 +1,32 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper\ContextProvider;
+
+/**
+ * Tries to provide context on CLI.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+final class CliContextProvider implements ContextProviderInterface
+{
+    public function getContext(): ?array
+    {
+        if ('cli' !== \PHP_SAPI) {
+            return null;
+        }
+
+        return [
+            'command_line' => $commandLine = implode(' ', $_SERVER['argv'] ?? []),
+            'identifier' => hash('crc32b', $commandLine.$_SERVER['REQUEST_TIME_FLOAT']),
+        ];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php
new file mode 100644
index 0000000..38ef3b0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php
@@ -0,0 +1,25 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper\ContextProvider;
+
+/**
+ * Interface to provide contextual data about dump data clones sent to a server.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+interface ContextProviderInterface
+{
+    /**
+     * @return array|null Context data or null if unable to provide any context
+     */
+    public function getContext(): ?array;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php
new file mode 100644
index 0000000..3684a47
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php
@@ -0,0 +1,51 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper\ContextProvider;
+
+use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\Component\VarDumper\Caster\ReflectionCaster;
+use Symfony\Component\VarDumper\Cloner\VarCloner;
+
+/**
+ * Tries to provide context from a request.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+final class RequestContextProvider implements ContextProviderInterface
+{
+    private $requestStack;
+    private $cloner;
+
+    public function __construct(RequestStack $requestStack)
+    {
+        $this->requestStack = $requestStack;
+        $this->cloner = new VarCloner();
+        $this->cloner->setMaxItems(0);
+        $this->cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO);
+    }
+
+    public function getContext(): ?array
+    {
+        if (null === $request = $this->requestStack->getCurrentRequest()) {
+            return null;
+        }
+
+        $controller = $request->attributes->get('_controller');
+
+        return [
+            'uri' => $request->getUri(),
+            'method' => $request->getMethod(),
+            'controller' => $controller ? $this->cloner->cloneVar($controller) : $controller,
+            'identifier' => spl_object_hash($request),
+        ];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php
new file mode 100644
index 0000000..2e2c818
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php
@@ -0,0 +1,126 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper\ContextProvider;
+
+use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
+use Symfony\Component\VarDumper\Cloner\VarCloner;
+use Symfony\Component\VarDumper\Dumper\HtmlDumper;
+use Symfony\Component\VarDumper\VarDumper;
+use Twig\Template;
+
+/**
+ * Tries to provide context from sources (class name, file, line, code excerpt, ...).
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+final class SourceContextProvider implements ContextProviderInterface
+{
+    private $limit;
+    private $charset;
+    private $projectDir;
+    private $fileLinkFormatter;
+
+    public function __construct(string $charset = null, string $projectDir = null, FileLinkFormatter $fileLinkFormatter = null, int $limit = 9)
+    {
+        $this->charset = $charset;
+        $this->projectDir = $projectDir;
+        $this->fileLinkFormatter = $fileLinkFormatter;
+        $this->limit = $limit;
+    }
+
+    public function getContext(): ?array
+    {
+        $trace = debug_backtrace(\DEBUG_BACKTRACE_PROVIDE_OBJECT | \DEBUG_BACKTRACE_IGNORE_ARGS, $this->limit);
+
+        $file = $trace[1]['file'];
+        $line = $trace[1]['line'];
+        $name = false;
+        $fileExcerpt = false;
+
+        for ($i = 2; $i < $this->limit; ++$i) {
+            if (isset($trace[$i]['class'], $trace[$i]['function'])
+                && 'dump' === $trace[$i]['function']
+                && VarDumper::class === $trace[$i]['class']
+            ) {
+                $file = $trace[$i]['file'] ?? $file;
+                $line = $trace[$i]['line'] ?? $line;
+
+                while (++$i < $this->limit) {
+                    if (isset($trace[$i]['function'], $trace[$i]['file']) && empty($trace[$i]['class']) && !str_starts_with($trace[$i]['function'], 'call_user_func')) {
+                        $file = $trace[$i]['file'];
+                        $line = $trace[$i]['line'];
+
+                        break;
+                    } elseif (isset($trace[$i]['object']) && $trace[$i]['object'] instanceof Template) {
+                        $template = $trace[$i]['object'];
+                        $name = $template->getTemplateName();
+                        $src = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getCode() : (method_exists($template, 'getSource') ? $template->getSource() : false);
+                        $info = $template->getDebugInfo();
+                        if (isset($info[$trace[$i - 1]['line']])) {
+                            $line = $info[$trace[$i - 1]['line']];
+                            $file = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getPath() : null;
+
+                            if ($src) {
+                                $src = explode("\n", $src);
+                                $fileExcerpt = [];
+
+                                for ($i = max($line - 3, 1), $max = min($line + 3, \count($src)); $i <= $max; ++$i) {
+                                    $fileExcerpt[] = '<li'.($i === $line ? ' class="selected"' : '').'><code>'.$this->htmlEncode($src[$i - 1]).'</code></li>';
+                                }
+
+                                $fileExcerpt = '<ol start="'.max($line - 3, 1).'">'.implode("\n", $fileExcerpt).'</ol>';
+                            }
+                        }
+                        break;
+                    }
+                }
+                break;
+            }
+        }
+
+        if (false === $name) {
+            $name = str_replace('\\', '/', $file);
+            $name = substr($name, strrpos($name, '/') + 1);
+        }
+
+        $context = ['name' => $name, 'file' => $file, 'line' => $line];
+        $context['file_excerpt'] = $fileExcerpt;
+
+        if (null !== $this->projectDir) {
+            $context['project_dir'] = $this->projectDir;
+            if (str_starts_with($file, $this->projectDir)) {
+                $context['file_relative'] = ltrim(substr($file, \strlen($this->projectDir)), \DIRECTORY_SEPARATOR);
+            }
+        }
+
+        if ($this->fileLinkFormatter && $fileLink = $this->fileLinkFormatter->format($context['file'], $context['line'])) {
+            $context['file_link'] = $fileLink;
+        }
+
+        return $context;
+    }
+
+    private function htmlEncode(string $s): string
+    {
+        $html = '';
+
+        $dumper = new HtmlDumper(function ($line) use (&$html) { $html .= $line; }, $this->charset);
+        $dumper->setDumpHeader('');
+        $dumper->setDumpBoundaries('', '');
+
+        $cloner = new VarCloner();
+        $dumper->dump($cloner->cloneVar($s));
+
+        return substr(strip_tags($html), 1, -1);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php
new file mode 100644
index 0000000..7638417
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php
@@ -0,0 +1,43 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper;
+
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface;
+
+/**
+ * @author Kévin Thérage <therage.kevin@gmail.com>
+ */
+class ContextualizedDumper implements DataDumperInterface
+{
+    private $wrappedDumper;
+    private $contextProviders;
+
+    /**
+     * @param ContextProviderInterface[] $contextProviders
+     */
+    public function __construct(DataDumperInterface $wrappedDumper, array $contextProviders)
+    {
+        $this->wrappedDumper = $wrappedDumper;
+        $this->contextProviders = $contextProviders;
+    }
+
+    public function dump(Data $data)
+    {
+        $context = [];
+        foreach ($this->contextProviders as $contextProvider) {
+            $context[\get_class($contextProvider)] = $contextProvider->getContext();
+        }
+
+        $this->wrappedDumper->dump($data->withContext($context));
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php
new file mode 100644
index 0000000..b173bcc
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php
@@ -0,0 +1,24 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper;
+
+use Symfony\Component\VarDumper\Cloner\Data;
+
+/**
+ * DataDumperInterface for dumping Data objects.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+interface DataDumperInterface
+{
+    public function dump(Data $data);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/HtmlDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/HtmlDumper.php
new file mode 100644
index 0000000..6c3abaa
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/HtmlDumper.php
@@ -0,0 +1,986 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper;
+
+use Symfony\Component\VarDumper\Cloner\Cursor;
+use Symfony\Component\VarDumper\Cloner\Data;
+
+/**
+ * HtmlDumper dumps variables as HTML.
+ *
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class HtmlDumper extends CliDumper
+{
+    public static $defaultOutput = 'php://output';
+
+    protected static $themes = [
+        'dark' => [
+            'default' => 'background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all',
+            'num' => 'font-weight:bold; color:#1299DA',
+            'const' => 'font-weight:bold',
+            'str' => 'font-weight:bold; color:#56DB3A',
+            'note' => 'color:#1299DA',
+            'ref' => 'color:#A0A0A0',
+            'public' => 'color:#FFFFFF',
+            'protected' => 'color:#FFFFFF',
+            'private' => 'color:#FFFFFF',
+            'meta' => 'color:#B729D9',
+            'key' => 'color:#56DB3A',
+            'index' => 'color:#1299DA',
+            'ellipsis' => 'color:#FF8400',
+            'ns' => 'user-select:none;',
+        ],
+        'light' => [
+            'default' => 'background:none; color:#CC7832; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all',
+            'num' => 'font-weight:bold; color:#1299DA',
+            'const' => 'font-weight:bold',
+            'str' => 'font-weight:bold; color:#629755;',
+            'note' => 'color:#6897BB',
+            'ref' => 'color:#6E6E6E',
+            'public' => 'color:#262626',
+            'protected' => 'color:#262626',
+            'private' => 'color:#262626',
+            'meta' => 'color:#B729D9',
+            'key' => 'color:#789339',
+            'index' => 'color:#1299DA',
+            'ellipsis' => 'color:#CC7832',
+            'ns' => 'user-select:none;',
+        ],
+    ];
+
+    protected $dumpHeader;
+    protected $dumpPrefix = '<pre class=sf-dump id=%s data-indent-pad="%s">';
+    protected $dumpSuffix = '</pre><script>Sfdump(%s)</script>';
+    protected $dumpId = 'sf-dump';
+    protected $colors = true;
+    protected $headerIsDumped = false;
+    protected $lastDepth = -1;
+    protected $styles;
+
+    private $displayOptions = [
+        'maxDepth' => 1,
+        'maxStringLength' => 160,
+        'fileLinkFormat' => null,
+    ];
+    private $extraDisplayOptions = [];
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __construct($output = null, string $charset = null, int $flags = 0)
+    {
+        AbstractDumper::__construct($output, $charset, $flags);
+        $this->dumpId = 'sf-dump-'.mt_rand();
+        $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
+        $this->styles = static::$themes['dark'] ?? self::$themes['dark'];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setStyles(array $styles)
+    {
+        $this->headerIsDumped = false;
+        $this->styles = $styles + $this->styles;
+    }
+
+    public function setTheme(string $themeName)
+    {
+        if (!isset(static::$themes[$themeName])) {
+            throw new \InvalidArgumentException(sprintf('Theme "%s" does not exist in class "%s".', $themeName, static::class));
+        }
+
+        $this->setStyles(static::$themes[$themeName]);
+    }
+
+    /**
+     * Configures display options.
+     *
+     * @param array $displayOptions A map of display options to customize the behavior
+     */
+    public function setDisplayOptions(array $displayOptions)
+    {
+        $this->headerIsDumped = false;
+        $this->displayOptions = $displayOptions + $this->displayOptions;
+    }
+
+    /**
+     * Sets an HTML header that will be dumped once in the output stream.
+     */
+    public function setDumpHeader(?string $header)
+    {
+        $this->dumpHeader = $header;
+    }
+
+    /**
+     * Sets an HTML prefix and suffix that will encapse every single dump.
+     */
+    public function setDumpBoundaries(string $prefix, string $suffix)
+    {
+        $this->dumpPrefix = $prefix;
+        $this->dumpSuffix = $suffix;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dump(Data $data, $output = null, array $extraDisplayOptions = [])
+    {
+        $this->extraDisplayOptions = $extraDisplayOptions;
+        $result = parent::dump($data, $output);
+        $this->dumpId = 'sf-dump-'.mt_rand();
+
+        return $result;
+    }
+
+    /**
+     * Dumps the HTML header.
+     */
+    protected function getDumpHeader()
+    {
+        $this->headerIsDumped = $this->outputStream ?? $this->lineDumper;
+
+        if (null !== $this->dumpHeader) {
+            return $this->dumpHeader;
+        }
+
+        $line = str_replace('{$options}', json_encode($this->displayOptions, \JSON_FORCE_OBJECT), <<<'EOHTML'
+<script>
+Sfdump = window.Sfdump || (function (doc) {
+
+var refStyle = doc.createElement('style'),
+    rxEsc = /([.*+?^${}()|\[\]\/\\])/g,
+    idRx = /\bsf-dump-\d+-ref[012]\w+\b/,
+    keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl',
+    addEventListener = function (e, n, cb) {
+        e.addEventListener(n, cb, false);
+    };
+
+refStyle.innerHTML = 'pre.sf-dump .sf-dump-compact, .sf-dump-str-collapse .sf-dump-str-collapse, .sf-dump-str-expand .sf-dump-str-expand { display: none; }';
+(doc.documentElement.firstElementChild || doc.documentElement.children[0]).appendChild(refStyle);
+refStyle = doc.createElement('style');
+(doc.documentElement.firstElementChild || doc.documentElement.children[0]).appendChild(refStyle);
+
+if (!doc.addEventListener) {
+    addEventListener = function (element, eventName, callback) {
+        element.attachEvent('on' + eventName, function (e) {
+            e.preventDefault = function () {e.returnValue = false;};
+            e.target = e.srcElement;
+            callback(e);
+        });
+    };
+}
+
+function toggle(a, recursive) {
+    var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass;
+
+    if (/\bsf-dump-compact\b/.test(oldClass)) {
+        arrow = '▼';
+        newClass = 'sf-dump-expanded';
+    } else if (/\bsf-dump-expanded\b/.test(oldClass)) {
+        arrow = '▶';
+        newClass = 'sf-dump-compact';
+    } else {
+        return false;
+    }
+
+    if (doc.createEvent && s.dispatchEvent) {
+        var event = doc.createEvent('Event');
+        event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false);
+
+        s.dispatchEvent(event);
+    }
+
+    a.lastChild.innerHTML = arrow;
+    s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass);
+
+    if (recursive) {
+        try {
+            a = s.querySelectorAll('.'+oldClass);
+            for (s = 0; s < a.length; ++s) {
+                if (-1 == a[s].className.indexOf(newClass)) {
+                    a[s].className = newClass;
+                    a[s].previousSibling.lastChild.innerHTML = arrow;
+                }
+            }
+        } catch (e) {
+        }
+    }
+
+    return true;
+};
+
+function collapse(a, recursive) {
+    var s = a.nextSibling || {}, oldClass = s.className;
+
+    if (/\bsf-dump-expanded\b/.test(oldClass)) {
+        toggle(a, recursive);
+
+        return true;
+    }
+
+    return false;
+};
+
+function expand(a, recursive) {
+    var s = a.nextSibling || {}, oldClass = s.className;
+
+    if (/\bsf-dump-compact\b/.test(oldClass)) {
+        toggle(a, recursive);
+
+        return true;
+    }
+
+    return false;
+};
+
+function collapseAll(root) {
+    var a = root.querySelector('a.sf-dump-toggle');
+    if (a) {
+        collapse(a, true);
+        expand(a);
+
+        return true;
+    }
+
+    return false;
+}
+
+function reveal(node) {
+    var previous, parents = [];
+
+    while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) {
+        parents.push(previous);
+    }
+
+    if (0 !== parents.length) {
+        parents.forEach(function (parent) {
+            expand(parent);
+        });
+
+        return true;
+    }
+
+    return false;
+}
+
+function highlight(root, activeNode, nodes) {
+    resetHighlightedNodes(root);
+
+    Array.from(nodes||[]).forEach(function (node) {
+        if (!/\bsf-dump-highlight\b/.test(node.className)) {
+            node.className = node.className + ' sf-dump-highlight';
+        }
+    });
+
+    if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) {
+        activeNode.className = activeNode.className + ' sf-dump-highlight-active';
+    }
+}
+
+function resetHighlightedNodes(root) {
+    Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) {
+        strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, '');
+        strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, '');
+    });
+}
+
+return function (root, x) {
+    root = doc.getElementById(root);
+
+    var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || '  ').replace(rxEsc, '\\$1')+')+', 'm'),
+        options = {$options},
+        elt = root.getElementsByTagName('A'),
+        len = elt.length,
+        i = 0, s, h,
+        t = [];
+
+    while (i < len) t.push(elt[i++]);
+
+    for (i in x) {
+        options[i] = x[i];
+    }
+
+    function a(e, f) {
+        addEventListener(root, e, function (e, n) {
+            if ('A' == e.target.tagName) {
+                f(e.target, e);
+            } else if ('A' == e.target.parentNode.tagName) {
+                f(e.target.parentNode, e);
+            } else {
+                n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target;
+
+                if ((n = n.nextElementSibling) && 'A' == n.tagName) {
+                    if (!/\bsf-dump-toggle\b/.test(n.className)) {
+                        n = n.nextElementSibling || n;
+                    }
+
+                    f(n, e, true);
+                }
+            }
+        });
+    };
+    function isCtrlKey(e) {
+        return e.ctrlKey || e.metaKey;
+    }
+    function xpathString(str) {
+        var parts = str.match(/[^'"]+|['"]/g).map(function (part) {
+            if ("'" == part)  {
+                return '"\'"';
+            }
+            if ('"' == part) {
+                return "'\"'";
+            }
+
+            return "'" + part + "'";
+        });
+
+        return "concat(" + parts.join(",") + ", '')";
+    }
+    function xpathHasClass(className) {
+        return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')";
+    }
+    addEventListener(root, 'mouseover', function (e) {
+        if ('' != refStyle.innerHTML) {
+            refStyle.innerHTML = '';
+        }
+    });
+    a('mouseover', function (a, e, c) {
+        if (c) {
+            e.target.style.cursor = "pointer";
+        } else if (a = idRx.exec(a.className)) {
+            try {
+                refStyle.innerHTML = 'pre.sf-dump .'+a[0]+'{background-color: #B729D9; color: #FFF !important; border-radius: 2px}';
+            } catch (e) {
+            }
+        }
+    });
+    a('click', function (a, e, c) {
+        if (/\bsf-dump-toggle\b/.test(a.className)) {
+            e.preventDefault();
+            if (!toggle(a, isCtrlKey(e))) {
+                var r = doc.getElementById(a.getAttribute('href').substr(1)),
+                    s = r.previousSibling,
+                    f = r.parentNode,
+                    t = a.parentNode;
+                t.replaceChild(r, a);
+                f.replaceChild(a, s);
+                t.insertBefore(s, r);
+                f = f.firstChild.nodeValue.match(indentRx);
+                t = t.firstChild.nodeValue.match(indentRx);
+                if (f && t && f[0] !== t[0]) {
+                    r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]);
+                }
+                if (/\bsf-dump-compact\b/.test(r.className)) {
+                    toggle(s, isCtrlKey(e));
+                }
+            }
+
+            if (c) {
+            } else if (doc.getSelection) {
+                try {
+                    doc.getSelection().removeAllRanges();
+                } catch (e) {
+                    doc.getSelection().empty();
+                }
+            } else {
+                doc.selection.empty();
+            }
+        } else if (/\bsf-dump-str-toggle\b/.test(a.className)) {
+            e.preventDefault();
+            e = a.parentNode.parentNode;
+            e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className);
+        }
+    });
+
+    elt = root.getElementsByTagName('SAMP');
+    len = elt.length;
+    i = 0;
+
+    while (i < len) t.push(elt[i++]);
+    len = t.length;
+
+    for (i = 0; i < len; ++i) {
+        elt = t[i];
+        if ('SAMP' == elt.tagName) {
+            a = elt.previousSibling || {};
+            if ('A' != a.tagName) {
+                a = doc.createElement('A');
+                a.className = 'sf-dump-ref';
+                elt.parentNode.insertBefore(a, elt);
+            } else {
+                a.innerHTML += ' ';
+            }
+            a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children';
+            a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>';
+            a.className += ' sf-dump-toggle';
+
+            x = 1;
+            if ('sf-dump' != elt.parentNode.className) {
+                x += elt.parentNode.getAttribute('data-depth')/1;
+            }
+        } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) {
+            a = a.substr(1);
+            elt.className += ' '+a;
+
+            if (/[\[{]$/.test(elt.previousSibling.nodeValue)) {
+                a = a != elt.nextSibling.id && doc.getElementById(a);
+                try {
+                    s = a.nextSibling;
+                    elt.appendChild(a);
+                    s.parentNode.insertBefore(a, s);
+                    if (/^[@#]/.test(elt.innerHTML)) {
+                        elt.innerHTML += ' <span>▶</span>';
+                    } else {
+                        elt.innerHTML = '<span>▶</span>';
+                        elt.className = 'sf-dump-ref';
+                    }
+                    elt.className += ' sf-dump-toggle';
+                } catch (e) {
+                    if ('&' == elt.innerHTML.charAt(0)) {
+                        elt.innerHTML = '…';
+                        elt.className = 'sf-dump-ref';
+                    }
+                }
+            }
+        }
+    }
+
+    if (doc.evaluate && Array.from && root.children.length > 1) {
+        root.setAttribute('tabindex', 0);
+
+        SearchState = function () {
+            this.nodes = [];
+            this.idx = 0;
+        };
+        SearchState.prototype = {
+            next: function () {
+                if (this.isEmpty()) {
+                    return this.current();
+                }
+                this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0;
+
+                return this.current();
+            },
+            previous: function () {
+                if (this.isEmpty()) {
+                    return this.current();
+                }
+                this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1);
+
+                return this.current();
+            },
+            isEmpty: function () {
+                return 0 === this.count();
+            },
+            current: function () {
+                if (this.isEmpty()) {
+                    return null;
+                }
+                return this.nodes[this.idx];
+            },
+            reset: function () {
+                this.nodes = [];
+                this.idx = 0;
+            },
+            count: function () {
+                return this.nodes.length;
+            },
+        };
+
+        function showCurrent(state)
+        {
+            var currentNode = state.current(), currentRect, searchRect;
+            if (currentNode) {
+                reveal(currentNode);
+                highlight(root, currentNode, state.nodes);
+                if ('scrollIntoView' in currentNode) {
+                    currentNode.scrollIntoView(true);
+                    currentRect = currentNode.getBoundingClientRect();
+                    searchRect = search.getBoundingClientRect();
+                    if (currentRect.top < (searchRect.top + searchRect.height)) {
+                        window.scrollBy(0, -(searchRect.top + searchRect.height + 5));
+                    }
+                }
+            }
+            counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count();
+        }
+
+        var search = doc.createElement('div');
+        search.className = 'sf-dump-search-wrapper sf-dump-search-hidden';
+        search.innerHTML = '
+            <input type="text" class="sf-dump-search-input">
+            <span class="sf-dump-search-count">0 of 0<\/span>
+            <button type="button" class="sf-dump-search-input-previous" tabindex="-1">
+                <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg>
+            <\/button>
+            <button type="button" class="sf-dump-search-input-next" tabindex="-1">
+                <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg>
+            <\/button>
+        ';
+        root.insertBefore(search, root.firstChild);
+
+        var state = new SearchState();
+        var searchInput = search.querySelector('.sf-dump-search-input');
+        var counter = search.querySelector('.sf-dump-search-count');
+        var searchInputTimer = 0;
+        var previousSearchQuery = '';
+
+        addEventListener(searchInput, 'keyup', function (e) {
+            var searchQuery = e.target.value;
+            /* Don't perform anything if the pressed key didn't change the query */
+            if (searchQuery === previousSearchQuery) {
+                return;
+            }
+            previousSearchQuery = searchQuery;
+            clearTimeout(searchInputTimer);
+            searchInputTimer = setTimeout(function () {
+                state.reset();
+                collapseAll(root);
+                resetHighlightedNodes(root);
+                if ('' === searchQuery) {
+                    counter.textContent = '0 of 0';
+
+                    return;
+                }
+
+                var classMatches = [
+                    "sf-dump-str",
+                    "sf-dump-key",
+                    "sf-dump-public",
+                    "sf-dump-protected",
+                    "sf-dump-private",
+                ].map(xpathHasClass).join(' or ');
+
+                var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
+
+                while (node = xpathResult.iterateNext()) state.nodes.push(node);
+
+                showCurrent(state);
+            }, 400);
+        });
+
+        Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) {
+            addEventListener(btn, 'click', function (e) {
+                e.preventDefault();
+                -1 !== e.target.className.indexOf('next') ? state.next() : state.previous();
+                searchInput.focus();
+                collapseAll(root);
+                showCurrent(state);
+            })
+        });
+
+        addEventListener(root, 'keydown', function (e) {
+            var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className);
+            if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) {
+                /* F3 or CMD/CTRL + F */
+                if (70 === e.keyCode && document.activeElement === searchInput) {
+                   /*
+                    * If CMD/CTRL + F is hit while having focus on search input,
+                    * the user probably meant to trigger browser search instead.
+                    * Let the browser execute its behavior:
+                    */
+                    return;
+                }
+
+                e.preventDefault();
+                search.className = search.className.replace(/\bsf-dump-search-hidden\b/, '');
+                searchInput.focus();
+            } else if (isSearchActive) {
+                if (27 === e.keyCode) {
+                    /* ESC key */
+                    search.className += ' sf-dump-search-hidden';
+                    e.preventDefault();
+                    resetHighlightedNodes(root);
+                    searchInput.value = '';
+                } else if (
+                    (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */
+                    || 13 === e.keyCode /* Enter */
+                    || 114 === e.keyCode /* F3 */
+                ) {
+                    e.preventDefault();
+                    e.shiftKey ? state.previous() : state.next();
+                    collapseAll(root);
+                    showCurrent(state);
+                }
+            }
+        });
+    }
+
+    if (0 >= options.maxStringLength) {
+        return;
+    }
+    try {
+        elt = root.querySelectorAll('.sf-dump-str');
+        len = elt.length;
+        i = 0;
+        t = [];
+
+        while (i < len) t.push(elt[i++]);
+        len = t.length;
+
+        for (i = 0; i < len; ++i) {
+            elt = t[i];
+            s = elt.innerText || elt.textContent;
+            x = s.length - options.maxStringLength;
+            if (0 < x) {
+                h = elt.innerHTML;
+                elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength);
+                elt.className += ' sf-dump-str-collapse';
+                elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+
+                    '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>';
+            }
+        }
+    } catch (e) {
+    }
+};
+
+})(document);
+</script><style>
+pre.sf-dump {
+    display: block;
+    white-space: pre;
+    padding: 5px;
+    overflow: initial !important;
+}
+pre.sf-dump:after {
+   content: "";
+   visibility: hidden;
+   display: block;
+   height: 0;
+   clear: both;
+}
+pre.sf-dump span {
+    display: inline;
+}
+pre.sf-dump a {
+    text-decoration: none;
+    cursor: pointer;
+    border: 0;
+    outline: none;
+    color: inherit;
+}
+pre.sf-dump img {
+    max-width: 50em;
+    max-height: 50em;
+    margin: .5em 0 0 0;
+    padding: 0;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3;
+}
+pre.sf-dump .sf-dump-ellipsis {
+    display: inline-block;
+    overflow: visible;
+    text-overflow: ellipsis;
+    max-width: 5em;
+    white-space: nowrap;
+    overflow: hidden;
+    vertical-align: top;
+}
+pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis {
+    max-width: none;
+}
+pre.sf-dump code {
+    display:inline;
+    padding:0;
+    background:none;
+}
+.sf-dump-public.sf-dump-highlight,
+.sf-dump-protected.sf-dump-highlight,
+.sf-dump-private.sf-dump-highlight,
+.sf-dump-str.sf-dump-highlight,
+.sf-dump-key.sf-dump-highlight {
+    background: rgba(111, 172, 204, 0.3);
+    border: 1px solid #7DA0B1;
+    border-radius: 3px;
+}
+.sf-dump-public.sf-dump-highlight-active,
+.sf-dump-protected.sf-dump-highlight-active,
+.sf-dump-private.sf-dump-highlight-active,
+.sf-dump-str.sf-dump-highlight-active,
+.sf-dump-key.sf-dump-highlight-active {
+    background: rgba(253, 175, 0, 0.4);
+    border: 1px solid #ffa500;
+    border-radius: 3px;
+}
+pre.sf-dump .sf-dump-search-hidden {
+    display: none !important;
+}
+pre.sf-dump .sf-dump-search-wrapper {
+    font-size: 0;
+    white-space: nowrap;
+    margin-bottom: 5px;
+    display: flex;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 5px;
+}
+pre.sf-dump .sf-dump-search-wrapper > * {
+    vertical-align: top;
+    box-sizing: border-box;
+    height: 21px;
+    font-weight: normal;
+    border-radius: 0;
+    background: #FFF;
+    color: #757575;
+    border: 1px solid #BBB;
+}
+pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input {
+    padding: 3px;
+    height: 21px;
+    font-size: 12px;
+    border-right: none;
+    border-top-left-radius: 3px;
+    border-bottom-left-radius: 3px;
+    color: #000;
+    min-width: 15px;
+    width: 100%;
+}
+pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next,
+pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous {
+    background: #F2F2F2;
+    outline: none;
+    border-left: none;
+    font-size: 0;
+    line-height: 0;
+}
+pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next {
+    border-top-right-radius: 3px;
+    border-bottom-right-radius: 3px;
+}
+pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg,
+pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg {
+    pointer-events: none;
+    width: 12px;
+    height: 12px;
+}
+pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count {
+    display: inline-block;
+    padding: 0 5px;
+    margin: 0;
+    border-left: none;
+    line-height: 21px;
+    font-size: 12px;
+}
+EOHTML
+        );
+
+        foreach ($this->styles as $class => $style) {
+            $line .= 'pre.sf-dump'.('default' === $class ? ', pre.sf-dump' : '').' .sf-dump-'.$class.'{'.$style.'}';
+        }
+        $line .= 'pre.sf-dump .sf-dump-ellipsis-note{'.$this->styles['note'].'}';
+
+        return $this->dumpHeader = preg_replace('/\s+/', ' ', $line).'</style>'.$this->dumpHeader;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut)
+    {
+        if ('' === $str && isset($cursor->attr['img-data'], $cursor->attr['content-type'])) {
+            $this->dumpKey($cursor);
+            $this->line .= $this->style('default', $cursor->attr['img-size'] ?? '', []);
+            $this->line .= $cursor->depth >= $this->displayOptions['maxDepth'] ? ' <samp class=sf-dump-compact>' : ' <samp class=sf-dump-expanded>';
+            $this->endValue($cursor);
+            $this->line .= $this->indentPad;
+            $this->line .= sprintf('<img src="data:%s;base64,%s" /></samp>', $cursor->attr['content-type'], base64_encode($cursor->attr['img-data']));
+            $this->endValue($cursor);
+        } else {
+            parent::dumpString($cursor, $str, $bin, $cut);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function enterHash(Cursor $cursor, int $type, $class, bool $hasChild)
+    {
+        if (Cursor::HASH_OBJECT === $type) {
+            $cursor->attr['depth'] = $cursor->depth;
+        }
+        parent::enterHash($cursor, $type, $class, false);
+
+        if ($cursor->skipChildren || $cursor->depth >= $this->displayOptions['maxDepth']) {
+            $cursor->skipChildren = false;
+            $eol = ' class=sf-dump-compact>';
+        } else {
+            $this->expandNextHash = false;
+            $eol = ' class=sf-dump-expanded>';
+        }
+
+        if ($hasChild) {
+            $this->line .= '<samp data-depth='.($cursor->depth + 1);
+            if ($cursor->refIndex) {
+                $r = Cursor::HASH_OBJECT !== $type ? 1 - (Cursor::HASH_RESOURCE !== $type) : 2;
+                $r .= $r && 0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->refIndex;
+
+                $this->line .= sprintf(' id=%s-ref%s', $this->dumpId, $r);
+            }
+            $this->line .= $eol;
+            $this->dumpLine($cursor->depth);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function leaveHash(Cursor $cursor, int $type, $class, bool $hasChild, int $cut)
+    {
+        $this->dumpEllipsis($cursor, $hasChild, $cut);
+        if ($hasChild) {
+            $this->line .= '</samp>';
+        }
+        parent::leaveHash($cursor, $type, $class, $hasChild, 0);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function style(string $style, string $value, array $attr = [])
+    {
+        if ('' === $value) {
+            return '';
+        }
+
+        $v = esc($value);
+
+        if ('ref' === $style) {
+            if (empty($attr['count'])) {
+                return sprintf('<a class=sf-dump-ref>%s</a>', $v);
+            }
+            $r = ('#' !== $v[0] ? 1 - ('@' !== $v[0]) : 2).substr($value, 1);
+
+            return sprintf('<a class=sf-dump-ref href=#%s-ref%s title="%d occurrences">%s</a>', $this->dumpId, $r, 1 + $attr['count'], $v);
+        }
+
+        if ('const' === $style && isset($attr['value'])) {
+            $style .= sprintf(' title="%s"', esc(is_scalar($attr['value']) ? $attr['value'] : json_encode($attr['value'])));
+        } elseif ('public' === $style) {
+            $style .= sprintf(' title="%s"', empty($attr['dynamic']) ? 'Public property' : 'Runtime added dynamic property');
+        } elseif ('str' === $style && 1 < $attr['length']) {
+            $style .= sprintf(' title="%d%s characters"', $attr['length'], $attr['binary'] ? ' binary or non-UTF-8' : '');
+        } elseif ('note' === $style && 0 < ($attr['depth'] ?? 0) && false !== $c = strrpos($value, '\\')) {
+            $style .= ' title=""';
+            $attr += [
+                'ellipsis' => \strlen($value) - $c,
+                'ellipsis-type' => 'note',
+                'ellipsis-tail' => 1,
+            ];
+        } elseif ('protected' === $style) {
+            $style .= ' title="Protected property"';
+        } elseif ('meta' === $style && isset($attr['title'])) {
+            $style .= sprintf(' title="%s"', esc($this->utf8Encode($attr['title'])));
+        } elseif ('private' === $style) {
+            $style .= sprintf(' title="Private property defined in class:&#10;`%s`"', esc($this->utf8Encode($attr['class'])));
+        }
+        $map = static::$controlCharsMap;
+
+        if (isset($attr['ellipsis'])) {
+            $class = 'sf-dump-ellipsis';
+            if (isset($attr['ellipsis-type'])) {
+                $class = sprintf('"%s sf-dump-ellipsis-%s"', $class, $attr['ellipsis-type']);
+            }
+            $label = esc(substr($value, -$attr['ellipsis']));
+            $style = str_replace(' title="', " title=\"$v\n", $style);
+            $v = sprintf('<span class=%s>%s</span>', $class, substr($v, 0, -\strlen($label)));
+
+            if (!empty($attr['ellipsis-tail'])) {
+                $tail = \strlen(esc(substr($value, -$attr['ellipsis'], $attr['ellipsis-tail'])));
+                $v .= sprintf('<span class=%s>%s</span>%s', $class, substr($label, 0, $tail), substr($label, $tail));
+            } else {
+                $v .= $label;
+            }
+        }
+
+        $v = "<span class=sf-dump-{$style}>".preg_replace_callback(static::$controlCharsRx, function ($c) use ($map) {
+            $s = $b = '<span class="sf-dump-default';
+            $c = $c[$i = 0];
+            if ($ns = "\r" === $c[$i] || "\n" === $c[$i]) {
+                $s .= ' sf-dump-ns';
+            }
+            $s .= '">';
+            do {
+                if (("\r" === $c[$i] || "\n" === $c[$i]) !== $ns) {
+                    $s .= '</span>'.$b;
+                    if ($ns = !$ns) {
+                        $s .= ' sf-dump-ns';
+                    }
+                    $s .= '">';
+                }
+
+                $s .= $map[$c[$i]] ?? sprintf('\x%02X', \ord($c[$i]));
+            } while (isset($c[++$i]));
+
+            return $s.'</span>';
+        }, $v).'</span>';
+
+        if (isset($attr['file']) && $href = $this->getSourceLink($attr['file'], $attr['line'] ?? 0)) {
+            $attr['href'] = $href;
+        }
+        if (isset($attr['href'])) {
+            $target = isset($attr['file']) ? '' : ' target="_blank"';
+            $v = sprintf('<a href="%s"%s rel="noopener noreferrer">%s</a>', esc($this->utf8Encode($attr['href'])), $target, $v);
+        }
+        if (isset($attr['lang'])) {
+            $v = sprintf('<code class="%s">%s</code>', esc($attr['lang']), $v);
+        }
+
+        return $v;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function dumpLine(int $depth, bool $endOfValue = false)
+    {
+        if (-1 === $this->lastDepth) {
+            $this->line = sprintf($this->dumpPrefix, $this->dumpId, $this->indentPad).$this->line;
+        }
+        if ($this->headerIsDumped !== ($this->outputStream ?? $this->lineDumper)) {
+            $this->line = $this->getDumpHeader().$this->line;
+        }
+
+        if (-1 === $depth) {
+            $args = ['"'.$this->dumpId.'"'];
+            if ($this->extraDisplayOptions) {
+                $args[] = json_encode($this->extraDisplayOptions, \JSON_FORCE_OBJECT);
+            }
+            // Replace is for BC
+            $this->line .= sprintf(str_replace('"%s"', '%s', $this->dumpSuffix), implode(', ', $args));
+        }
+        $this->lastDepth = $depth;
+
+        $this->line = mb_convert_encoding($this->line, 'HTML-ENTITIES', 'UTF-8');
+
+        if (-1 === $depth) {
+            AbstractDumper::dumpLine(0);
+        }
+        AbstractDumper::dumpLine($depth);
+    }
+
+    private function getSourceLink(string $file, int $line)
+    {
+        $options = $this->extraDisplayOptions + $this->displayOptions;
+
+        if ($fmt = $options['fileLinkFormat']) {
+            return \is_string($fmt) ? strtr($fmt, ['%f' => $file, '%l' => $line]) : $fmt->format($file, $line);
+        }
+
+        return false;
+    }
+}
+
+function esc(string $str)
+{
+    return htmlspecialchars($str, \ENT_QUOTES, 'UTF-8');
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ServerDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ServerDumper.php
new file mode 100644
index 0000000..94795bf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Dumper/ServerDumper.php
@@ -0,0 +1,53 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Dumper;
+
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface;
+use Symfony\Component\VarDumper\Server\Connection;
+
+/**
+ * ServerDumper forwards serialized Data clones to a server.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+class ServerDumper implements DataDumperInterface
+{
+    private $connection;
+    private $wrappedDumper;
+
+    /**
+     * @param string                     $host             The server host
+     * @param DataDumperInterface|null   $wrappedDumper    A wrapped instance used whenever we failed contacting the server
+     * @param ContextProviderInterface[] $contextProviders Context providers indexed by context name
+     */
+    public function __construct(string $host, DataDumperInterface $wrappedDumper = null, array $contextProviders = [])
+    {
+        $this->connection = new Connection($host, $contextProviders);
+        $this->wrappedDumper = $wrappedDumper;
+    }
+
+    public function getContextProviders(): array
+    {
+        return $this->connection->getContextProviders();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dump(Data $data)
+    {
+        if (!$this->connection->write($data) && $this->wrappedDumper) {
+            $this->wrappedDumper->dump($data);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php
new file mode 100644
index 0000000..122f0d3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php
@@ -0,0 +1,26 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Exception;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class ThrowingCasterException extends \Exception
+{
+    /**
+     * @param \Throwable $prev The exception thrown from the caster
+     */
+    public function __construct(\Throwable $prev)
+    {
+        parent::__construct('Unexpected '.\get_class($prev).' thrown from a caster: '.$prev->getMessage(), 0, $prev);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/LICENSE b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/LICENSE
new file mode 100644
index 0000000..c1f0aac
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2014-2021 Fabien Potencier
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/README.md b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/README.md
new file mode 100644
index 0000000..bdac244
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/README.md
@@ -0,0 +1,15 @@
+VarDumper Component
+===================
+
+The VarDumper component provides mechanisms for walking through any arbitrary
+PHP variable. It provides a better `dump()` function that you can use instead
+of `var_dump`.
+
+Resources
+---------
+
+ * [Documentation](https://symfony.com/doc/current/components/var_dumper/introduction.html)
+ * [Contributing](https://symfony.com/doc/current/contributing/index.html)
+ * [Report issues](https://github.com/symfony/symfony/issues) and
+   [send Pull Requests](https://github.com/symfony/symfony/pulls)
+   in the [main Symfony repository](https://github.com/symfony/symfony)
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/bin/var-dump-server b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/bin/var-dump-server
new file mode 100755
index 0000000..98c813a
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/bin/var-dump-server
@@ -0,0 +1,63 @@
+#!/usr/bin/env php
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Starts a dump server to collect and output dumps on a single place with multiple formats support.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+
+use Psr\Log\LoggerInterface;
+use Symfony\Component\Console\Application;
+use Symfony\Component\Console\Input\ArgvInput;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Logger\ConsoleLogger;
+use Symfony\Component\Console\Output\ConsoleOutput;
+use Symfony\Component\VarDumper\Command\ServerDumpCommand;
+use Symfony\Component\VarDumper\Server\DumpServer;
+
+function includeIfExists(string $file): bool
+{
+    return file_exists($file) && include $file;
+}
+
+if (
+    !includeIfExists(__DIR__ . '/../../../../autoload.php') &&
+    !includeIfExists(__DIR__ . '/../../vendor/autoload.php') &&
+    !includeIfExists(__DIR__ . '/../../../../../../vendor/autoload.php')
+) {
+    fwrite(STDERR, 'Install dependencies using Composer.'.PHP_EOL);
+    exit(1);
+}
+
+if (!class_exists(Application::class)) {
+    fwrite(STDERR, 'You need the "symfony/console" component in order to run the VarDumper server.'.PHP_EOL);
+    exit(1);
+}
+
+$input = new ArgvInput();
+$output = new ConsoleOutput();
+$defaultHost = '127.0.0.1:9912';
+$host = $input->getParameterOption(['--host'], $_SERVER['VAR_DUMPER_SERVER'] ?? $defaultHost, true);
+$logger = interface_exists(LoggerInterface::class) ? new ConsoleLogger($output->getErrorOutput()) : null;
+
+$app = new Application();
+
+$app->getDefinition()->addOption(
+    new InputOption('--host', null, InputOption::VALUE_REQUIRED, 'The address the server should listen to', $defaultHost)
+);
+
+$app->add($command = new ServerDumpCommand(new DumpServer($host, $logger)))
+    ->getApplication()
+    ->setDefaultCommand($command->getName(), true)
+    ->run($input, $output)
+;
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css
new file mode 100644
index 0000000..8f706d6
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css
@@ -0,0 +1,130 @@
+body {
+    display: flex;
+    flex-direction: column-reverse;
+    justify-content: flex-end;
+    max-width: 1140px;
+    margin: auto;
+    padding: 15px;
+    word-wrap: break-word;
+    background-color: #F9F9F9;
+    color: #222;
+    font-family: Helvetica, Arial, sans-serif;
+    font-size: 14px;
+    line-height: 1.4;
+}
+p {
+    margin: 0;
+}
+a {
+    color: #218BC3;
+    text-decoration: none;
+}
+a:hover {
+    text-decoration: underline;
+}
+.text-small {
+    font-size: 12px !important;
+}
+article {
+    margin: 5px;
+    margin-bottom: 10px;
+}
+article > header > .row {
+    display: flex;
+    flex-direction: row;
+    align-items: baseline;
+    margin-bottom: 10px;
+}
+article > header > .row > .col {
+    flex: 1;
+    display: flex;
+    align-items: baseline;
+}
+article > header > .row > h2 {
+    font-size: 14px;
+    color: #222;
+    font-weight: normal;
+    font-family: "Lucida Console", monospace, sans-serif;
+    word-break: break-all;
+    margin: 20px 5px 0 0;
+    user-select: all;
+}
+article > header > .row > h2 > code {
+    white-space: nowrap;
+    user-select: none;
+    color: #cc2255;
+    background-color: #f7f7f9;
+    border: 1px solid #e1e1e8;
+    border-radius: 3px;
+    margin-right: 5px;
+    padding: 0 3px;
+}
+article > header > .row > time.col {
+    flex: 0;
+    text-align: right;
+    white-space: nowrap;
+    color: #999;
+    font-style: italic;
+}
+article > header ul.tags {
+    list-style: none;
+    padding: 0;
+    margin: 0;
+    font-size: 12px;
+}
+article > header ul.tags > li {
+    user-select: all;
+    margin-bottom: 2px;
+}
+article > header ul.tags > li > span.badge {
+    display: inline-block;
+    padding: .25em .4em;
+    margin-right: 5px;
+    border-radius: 4px;
+    background-color: #6c757d3b;
+    color: #524d4d;
+    font-size: 12px;
+    text-align: center;
+    font-weight: 700;
+    line-height: 1;
+    white-space: nowrap;
+    vertical-align: baseline;
+    user-select: none;
+}
+article > section.body {
+    border: 1px solid #d8d8d8;
+    background: #FFF;
+    padding: 10px;
+    border-radius: 3px;
+}
+pre.sf-dump {
+    border-radius: 3px;
+    margin-bottom: 0;
+}
+.hidden {
+    display: none !important;
+}
+.dumped-tag > .sf-dump {
+    display: inline-block;
+    margin: 0;
+    padding: 1px 5px;
+    line-height: 1.4;
+    vertical-align: top;
+    background-color: transparent;
+    user-select: auto;
+}
+.dumped-tag > pre.sf-dump,
+.dumped-tag > .sf-dump-default {
+    color: #CC7832;
+    background: none;
+}
+.dumped-tag > .sf-dump .sf-dump-str { color: #629755; }
+.dumped-tag > .sf-dump .sf-dump-private,
+.dumped-tag > .sf-dump .sf-dump-protected,
+.dumped-tag > .sf-dump .sf-dump-public { color: #262626; }
+.dumped-tag > .sf-dump .sf-dump-note { color: #6897BB; }
+.dumped-tag > .sf-dump .sf-dump-key { color: #789339; }
+.dumped-tag > .sf-dump .sf-dump-ref { color: #6E6E6E; }
+.dumped-tag > .sf-dump .sf-dump-ellipsis { color: #CC7832; max-width: 100em; }
+.dumped-tag > .sf-dump .sf-dump-ellipsis-path { max-width: 5em; }
+.dumped-tag > .sf-dump .sf-dump-ns { user-select: none; }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/functions/dump.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/functions/dump.php
new file mode 100644
index 0000000..a485d57
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/functions/dump.php
@@ -0,0 +1,43 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use Symfony\Component\VarDumper\VarDumper;
+
+if (!function_exists('dump')) {
+    /**
+     * @author Nicolas Grekas <p@tchwork.com>
+     */
+    function dump($var, ...$moreVars)
+    {
+        VarDumper::dump($var);
+
+        foreach ($moreVars as $v) {
+            VarDumper::dump($v);
+        }
+
+        if (1 < func_num_args()) {
+            return func_get_args();
+        }
+
+        return $var;
+    }
+}
+
+if (!function_exists('dd')) {
+    function dd(...$vars)
+    {
+        foreach ($vars as $v) {
+            VarDumper::dump($v);
+        }
+
+        exit(1);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/js/htmlDescriptor.js b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/js/htmlDescriptor.js
new file mode 100644
index 0000000..63101e5
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Resources/js/htmlDescriptor.js
@@ -0,0 +1,10 @@
+document.addEventListener('DOMContentLoaded', function() {
+  let prev = null;
+  Array.from(document.getElementsByTagName('article')).reverse().forEach(function (article) {
+    const dedupId = article.dataset.dedupId;
+    if (dedupId === prev) {
+      article.getElementsByTagName('header')[0].classList.add('hidden');
+    }
+    prev = dedupId;
+  });
+});
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Server/Connection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Server/Connection.php
new file mode 100644
index 0000000..55d9214
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Server/Connection.php
@@ -0,0 +1,95 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Server;
+
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface;
+
+/**
+ * Forwards serialized Data clones to a server.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ */
+class Connection
+{
+    private $host;
+    private $contextProviders;
+    private $socket;
+
+    /**
+     * @param string                     $host             The server host
+     * @param ContextProviderInterface[] $contextProviders Context providers indexed by context name
+     */
+    public function __construct(string $host, array $contextProviders = [])
+    {
+        if (!str_contains($host, '://')) {
+            $host = 'tcp://'.$host;
+        }
+
+        $this->host = $host;
+        $this->contextProviders = $contextProviders;
+    }
+
+    public function getContextProviders(): array
+    {
+        return $this->contextProviders;
+    }
+
+    public function write(Data $data): bool
+    {
+        $socketIsFresh = !$this->socket;
+        if (!$this->socket = $this->socket ?: $this->createSocket()) {
+            return false;
+        }
+
+        $context = ['timestamp' => microtime(true)];
+        foreach ($this->contextProviders as $name => $provider) {
+            $context[$name] = $provider->getContext();
+        }
+        $context = array_filter($context);
+        $encodedPayload = base64_encode(serialize([$data, $context]))."\n";
+
+        set_error_handler([self::class, 'nullErrorHandler']);
+        try {
+            if (-1 !== stream_socket_sendto($this->socket, $encodedPayload)) {
+                return true;
+            }
+            if (!$socketIsFresh) {
+                stream_socket_shutdown($this->socket, \STREAM_SHUT_RDWR);
+                fclose($this->socket);
+                $this->socket = $this->createSocket();
+            }
+            if (-1 !== stream_socket_sendto($this->socket, $encodedPayload)) {
+                return true;
+            }
+        } finally {
+            restore_error_handler();
+        }
+
+        return false;
+    }
+
+    private static function nullErrorHandler(int $t, string $m)
+    {
+        // no-op
+    }
+
+    private function createSocket()
+    {
+        set_error_handler([self::class, 'nullErrorHandler']);
+        try {
+            return stream_socket_client($this->host, $errno, $errstr, 3, \STREAM_CLIENT_CONNECT | \STREAM_CLIENT_ASYNC_CONNECT);
+        } finally {
+            restore_error_handler();
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Server/DumpServer.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Server/DumpServer.php
new file mode 100644
index 0000000..7cb5bf0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Server/DumpServer.php
@@ -0,0 +1,111 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Server;
+
+use Psr\Log\LoggerInterface;
+use Symfony\Component\VarDumper\Cloner\Data;
+use Symfony\Component\VarDumper\Cloner\Stub;
+
+/**
+ * A server collecting Data clones sent by a ServerDumper.
+ *
+ * @author Maxime Steinhausser <maxime.steinhausser@gmail.com>
+ *
+ * @final
+ */
+class DumpServer
+{
+    private $host;
+    private $socket;
+    private $logger;
+
+    public function __construct(string $host, LoggerInterface $logger = null)
+    {
+        if (!str_contains($host, '://')) {
+            $host = 'tcp://'.$host;
+        }
+
+        $this->host = $host;
+        $this->logger = $logger;
+    }
+
+    public function start(): void
+    {
+        if (!$this->socket = stream_socket_server($this->host, $errno, $errstr)) {
+            throw new \RuntimeException(sprintf('Server start failed on "%s": ', $this->host).$errstr.' '.$errno);
+        }
+    }
+
+    public function listen(callable $callback): void
+    {
+        if (null === $this->socket) {
+            $this->start();
+        }
+
+        foreach ($this->getMessages() as $clientId => $message) {
+            if ($this->logger) {
+                $this->logger->info('Received a payload from client {clientId}', ['clientId' => $clientId]);
+            }
+
+            $payload = @unserialize(base64_decode($message), ['allowed_classes' => [Data::class, Stub::class]]);
+
+            // Impossible to decode the message, give up.
+            if (false === $payload) {
+                if ($this->logger) {
+                    $this->logger->warning('Unable to decode a message from {clientId} client.', ['clientId' => $clientId]);
+                }
+
+                continue;
+            }
+
+            if (!\is_array($payload) || \count($payload) < 2 || !$payload[0] instanceof Data || !\is_array($payload[1])) {
+                if ($this->logger) {
+                    $this->logger->warning('Invalid payload from {clientId} client. Expected an array of two elements (Data $data, array $context)', ['clientId' => $clientId]);
+                }
+
+                continue;
+            }
+
+            [$data, $context] = $payload;
+
+            $callback($data, $context, $clientId);
+        }
+    }
+
+    public function getHost(): string
+    {
+        return $this->host;
+    }
+
+    private function getMessages(): iterable
+    {
+        $sockets = [(int) $this->socket => $this->socket];
+        $write = [];
+
+        while (true) {
+            $read = $sockets;
+            stream_select($read, $write, $write, null);
+
+            foreach ($read as $stream) {
+                if ($this->socket === $stream) {
+                    $stream = stream_socket_accept($this->socket);
+                    $sockets[(int) $stream] = $stream;
+                } elseif (feof($stream)) {
+                    unset($sockets[(int) $stream]);
+                    fclose($stream);
+                } else {
+                    yield (int) $stream => fgets($stream);
+                }
+            }
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php
new file mode 100644
index 0000000..33d60c0
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php
@@ -0,0 +1,84 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Test;
+
+use Symfony\Component\VarDumper\Cloner\VarCloner;
+use Symfony\Component\VarDumper\Dumper\CliDumper;
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+trait VarDumperTestTrait
+{
+    /**
+     * @internal
+     */
+    private $varDumperConfig = [
+        'casters' => [],
+        'flags' => null,
+    ];
+
+    protected function setUpVarDumper(array $casters, int $flags = null): void
+    {
+        $this->varDumperConfig['casters'] = $casters;
+        $this->varDumperConfig['flags'] = $flags;
+    }
+
+    /**
+     * @after
+     */
+    protected function tearDownVarDumper(): void
+    {
+        $this->varDumperConfig['casters'] = [];
+        $this->varDumperConfig['flags'] = null;
+    }
+
+    public function assertDumpEquals($expected, $data, int $filter = 0, string $message = '')
+    {
+        $this->assertSame($this->prepareExpectation($expected, $filter), $this->getDump($data, null, $filter), $message);
+    }
+
+    public function assertDumpMatchesFormat($expected, $data, int $filter = 0, string $message = '')
+    {
+        $this->assertStringMatchesFormat($this->prepareExpectation($expected, $filter), $this->getDump($data, null, $filter), $message);
+    }
+
+    protected function getDump($data, $key = null, int $filter = 0): ?string
+    {
+        if (null === $flags = $this->varDumperConfig['flags']) {
+            $flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0;
+            $flags |= getenv('DUMP_STRING_LENGTH') ? CliDumper::DUMP_STRING_LENGTH : 0;
+            $flags |= getenv('DUMP_COMMA_SEPARATOR') ? CliDumper::DUMP_COMMA_SEPARATOR : 0;
+        }
+
+        $cloner = new VarCloner();
+        $cloner->addCasters($this->varDumperConfig['casters']);
+        $cloner->setMaxItems(-1);
+        $dumper = new CliDumper(null, null, $flags);
+        $dumper->setColors(false);
+        $data = $cloner->cloneVar($data, $filter)->withRefHandles(false);
+        if (null !== $key && null === $data = $data->seek($key)) {
+            return null;
+        }
+
+        return rtrim($dumper->dump($data, true));
+    }
+
+    private function prepareExpectation($expected, int $filter): string
+    {
+        if (!\is_string($expected)) {
+            $expected = $this->getDump($expected, null, $filter);
+        }
+
+        return rtrim($expected);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/VarDumper.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/VarDumper.php
new file mode 100644
index 0000000..b223e06
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/VarDumper.php
@@ -0,0 +1,109 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper;
+
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
+use Symfony\Component\VarDumper\Caster\ReflectionCaster;
+use Symfony\Component\VarDumper\Cloner\VarCloner;
+use Symfony\Component\VarDumper\Dumper\CliDumper;
+use Symfony\Component\VarDumper\Dumper\ContextProvider\CliContextProvider;
+use Symfony\Component\VarDumper\Dumper\ContextProvider\RequestContextProvider;
+use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider;
+use Symfony\Component\VarDumper\Dumper\ContextualizedDumper;
+use Symfony\Component\VarDumper\Dumper\HtmlDumper;
+use Symfony\Component\VarDumper\Dumper\ServerDumper;
+
+// Load the global dump() function
+require_once __DIR__.'/Resources/functions/dump.php';
+
+/**
+ * @author Nicolas Grekas <p@tchwork.com>
+ */
+class VarDumper
+{
+    private static $handler;
+
+    public static function dump($var)
+    {
+        if (null === self::$handler) {
+            self::register();
+        }
+
+        return (self::$handler)($var);
+    }
+
+    public static function setHandler(callable $callable = null)
+    {
+        $prevHandler = self::$handler;
+
+        // Prevent replacing the handler with expected format as soon as the env var was set:
+        if (isset($_SERVER['VAR_DUMPER_FORMAT'])) {
+            return $prevHandler;
+        }
+
+        self::$handler = $callable;
+
+        return $prevHandler;
+    }
+
+    private static function register(): void
+    {
+        $cloner = new VarCloner();
+        $cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO);
+
+        $format = $_SERVER['VAR_DUMPER_FORMAT'] ?? null;
+        switch (true) {
+            case 'html' === $format:
+                $dumper = new HtmlDumper();
+                break;
+            case 'cli' === $format:
+                $dumper = new CliDumper();
+                break;
+            case 'server' === $format:
+            case $format && 'tcp' === parse_url($format, \PHP_URL_SCHEME):
+                $host = 'server' === $format ? $_SERVER['VAR_DUMPER_SERVER'] ?? '127.0.0.1:9912' : $format;
+                $dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) ? new CliDumper() : new HtmlDumper();
+                $dumper = new ServerDumper($host, $dumper, self::getDefaultContextProviders());
+                break;
+            default:
+                $dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) ? new CliDumper() : new HtmlDumper();
+        }
+
+        if (!$dumper instanceof ServerDumper) {
+            $dumper = new ContextualizedDumper($dumper, [new SourceContextProvider()]);
+        }
+
+        self::$handler = function ($var) use ($cloner, $dumper) {
+            $dumper->dump($cloner->cloneVar($var));
+        };
+    }
+
+    private static function getDefaultContextProviders(): array
+    {
+        $contextProviders = [];
+
+        if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && (class_exists(Request::class))) {
+            $requestStack = new RequestStack();
+            $requestStack->push(Request::createFromGlobals());
+            $contextProviders['request'] = new RequestContextProvider($requestStack);
+        }
+
+        $fileLinkFormatter = class_exists(FileLinkFormatter::class) ? new FileLinkFormatter(null, $requestStack ?? null) : null;
+
+        return $contextProviders + [
+            'cli' => new CliContextProvider(),
+            'source' => new SourceContextProvider(null, null, $fileLinkFormatter),
+        ];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/composer.json
new file mode 100644
index 0000000..2d4889d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/symfony/var-dumper/composer.json
@@ -0,0 +1,49 @@
+{
+    "name": "symfony/var-dumper",
+    "type": "library",
+    "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+    "keywords": ["dump", "debug"],
+    "homepage": "https://symfony.com",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Nicolas Grekas",
+            "email": "p@tchwork.com"
+        },
+        {
+            "name": "Symfony Community",
+            "homepage": "https://symfony.com/contributors"
+        }
+    ],
+    "require": {
+        "php": ">=7.2.5",
+        "symfony/polyfill-mbstring": "~1.0",
+        "symfony/polyfill-php80": "^1.16"
+    },
+    "require-dev": {
+        "ext-iconv": "*",
+        "symfony/console": "^4.4|^5.0",
+        "symfony/process": "^4.4|^5.0",
+        "twig/twig": "^2.13|^3.0.4"
+    },
+    "conflict": {
+        "phpunit/phpunit": "<5.4.3",
+        "symfony/console": "<4.4"
+    },
+    "suggest": {
+        "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
+        "ext-intl": "To show region name in time zone dump",
+        "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
+    },
+    "autoload": {
+        "files": [ "Resources/functions/dump.php" ],
+        "psr-4": { "Symfony\\Component\\VarDumper\\": "" },
+        "exclude-from-classmap": [
+            "/Tests/"
+        ]
+    },
+    "bin": [
+        "Resources/bin/var-dump-server"
+    ],
+    "minimum-stability": "dev"
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/.github/workflows/run-tests.yml b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/.github/workflows/run-tests.yml
new file mode 100644
index 0000000..c4f275b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/.github/workflows/run-tests.yml
@@ -0,0 +1,38 @@
+name: Run tests
+
+on: [push, pull_request]
+
+jobs:
+  tests:
+    strategy:
+      matrix:
+        os: [Ubuntu, macOS]
+        php: [7.2, 7.3, 7.4, 8.0]
+
+        include:
+          - os: Ubuntu
+            os-version: ubuntu-latest
+
+          - os: macOS
+            os-version: macos-latest
+
+    name: ${{ matrix.os }} - PHP ${{ matrix.php }}
+
+    runs-on: ${{ matrix.os-version }}
+
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v1
+
+      - name: Setup PHP
+        uses: shivammathur/setup-php@v2
+        with:
+          php-version: ${{ matrix.php }}
+          extensions: posix, dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
+          coverage: none
+
+      - name: Install dependencies
+        run: composer update --prefer-stable --prefer-dist --no-interaction
+
+      - name: Run tests
+        run: bash upgrade.sh
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/composer.json b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/composer.json
new file mode 100644
index 0000000..58e5f6c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/composer.json
@@ -0,0 +1,47 @@
+{
+    "name": "tightenco/collect",
+    "description": "Collect - Illuminate Collections as a separate package.",
+    "keywords": ["laravel", "collection"],
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylorotwell@gmail.com"
+        }
+    ],
+    "require": {
+        "php": "^7.2|^8.0",
+        "symfony/var-dumper": "^3.4 || ^4.0 || ^5.0"
+    },
+    "require-dev": {
+        "mockery/mockery": "^1.0",
+        "phpunit/phpunit": "^8.3",
+        "nesbot/carbon": "^2.23.0"
+    },
+    "autoload": {
+        "files": [
+            "src/Collect/Support/helpers.php",
+            "src/Collect/Support/alias.php"
+        ],
+        "psr-4": {
+            "Tightenco\\Collect\\": "src/Collect"
+        }
+    },
+    "autoload-dev": {
+        "files": [
+            "tests/files/Support/Carbon.php",
+            "tests/files/Support/HtmlString.php",
+            "tests/files/Support/HigherOrderTapProxy.php",
+            "tests/files/Support/Str.php",
+            "tests/files/Support/Stringable.php"
+        ]
+    },
+    "scripts": {
+        "test": [
+            "@composer install",
+            "phpunit"
+        ]
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Arrayable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Arrayable.php
new file mode 100755
index 0000000..a205804
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Arrayable.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Tightenco\Collect\Contracts\Support;
+
+interface Arrayable
+{
+    /**
+     * Get the instance as an array.
+     *
+     * @return array
+     */
+    public function toArray();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Htmlable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Htmlable.php
new file mode 100644
index 0000000..aa20e96
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Htmlable.php
@@ -0,0 +1,13 @@
+<?php
+
+namespace Tightenco\Collect\Contracts\Support;
+
+interface Htmlable
+{
+    /**
+     * Get content as a string of HTML.
+     *
+     * @return string
+     */
+    public function toHtml();
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Jsonable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Jsonable.php
new file mode 100755
index 0000000..6b73730
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Contracts/Support/Jsonable.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Tightenco\Collect\Contracts\Support;
+
+interface Jsonable
+{
+    /**
+     * Convert the object to its JSON representation.
+     *
+     * @param  int  $options
+     * @return string
+     */
+    public function toJson($options = 0);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Arr.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Arr.php
new file mode 100644
index 0000000..b99db01
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Arr.php
@@ -0,0 +1,681 @@
+<?php
+
+namespace Tightenco\Collect\Support;
+
+use ArrayAccess;
+use Tightenco\Collect\Support\Traits\Macroable;
+use InvalidArgumentException;
+
+class Arr
+{
+    use Macroable;
+
+    /**
+     * Determine whether the given value is array accessible.
+     *
+     * @param  mixed  $value
+     * @return bool
+     */
+    public static function accessible($value)
+    {
+        return is_array($value) || $value instanceof ArrayAccess;
+    }
+
+    /**
+     * Add an element to an array using "dot" notation if it doesn't exist.
+     *
+     * @param  array  $array
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return array
+     */
+    public static function add($array, $key, $value)
+    {
+        if (is_null(static::get($array, $key))) {
+            static::set($array, $key, $value);
+        }
+
+        return $array;
+    }
+
+    /**
+     * Collapse an array of arrays into a single array.
+     *
+     * @param  iterable  $array
+     * @return array
+     */
+    public static function collapse($array)
+    {
+        $results = [];
+
+        foreach ($array as $values) {
+            if ($values instanceof Collection) {
+                $values = $values->all();
+            } elseif (! is_array($values)) {
+                continue;
+            }
+
+            $results[] = $values;
+        }
+
+        return array_merge([], ...$results);
+    }
+
+    /**
+     * Cross join the given arrays, returning all possible permutations.
+     *
+     * @param  iterable  ...$arrays
+     * @return array
+     */
+    public static function crossJoin(...$arrays)
+    {
+        $results = [[]];
+
+        foreach ($arrays as $index => $array) {
+            $append = [];
+
+            foreach ($results as $product) {
+                foreach ($array as $item) {
+                    $product[$index] = $item;
+
+                    $append[] = $product;
+                }
+            }
+
+            $results = $append;
+        }
+
+        return $results;
+    }
+
+    /**
+     * Divide an array into two arrays. One with keys and the other with values.
+     *
+     * @param  array  $array
+     * @return array
+     */
+    public static function divide($array)
+    {
+        return [array_keys($array), array_values($array)];
+    }
+
+    /**
+     * Flatten a multi-dimensional associative array with dots.
+     *
+     * @param  iterable  $array
+     * @param  string  $prepend
+     * @return array
+     */
+    public static function dot($array, $prepend = '')
+    {
+        $results = [];
+
+        foreach ($array as $key => $value) {
+            if (is_array($value) && ! empty($value)) {
+                $results = array_merge($results, static::dot($value, $prepend.$key.'.'));
+            } else {
+                $results[$prepend.$key] = $value;
+            }
+        }
+
+        return $results;
+    }
+
+    /**
+     * Get all of the given array except for a specified array of keys.
+     *
+     * @param  array  $array
+     * @param  array|string  $keys
+     * @return array
+     */
+    public static function except($array, $keys)
+    {
+        static::forget($array, $keys);
+
+        return $array;
+    }
+
+    /**
+     * Determine if the given key exists in the provided array.
+     *
+     * @param  \ArrayAccess|array  $array
+     * @param  string|int  $key
+     * @return bool
+     */
+    public static function exists($array, $key)
+    {
+        if ($array instanceof Enumerable) {
+            return $array->has($key);
+        }
+
+        if ($array instanceof ArrayAccess) {
+            return $array->offsetExists($key);
+        }
+
+        return array_key_exists($key, $array);
+    }
+
+    /**
+     * Return the first element in an array passing a given truth test.
+     *
+     * @param  iterable  $array
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public static function first($array, callable $callback = null, $default = null)
+    {
+        if (is_null($callback)) {
+            if (empty($array)) {
+                return value($default);
+            }
+
+            foreach ($array as $item) {
+                return $item;
+            }
+        }
+
+        foreach ($array as $key => $value) {
+            if ($callback($value, $key)) {
+                return $value;
+            }
+        }
+
+        return value($default);
+    }
+
+    /**
+     * Return the last element in an array passing a given truth test.
+     *
+     * @param  array  $array
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public static function last($array, callable $callback = null, $default = null)
+    {
+        if (is_null($callback)) {
+            return empty($array) ? value($default) : end($array);
+        }
+
+        return static::first(array_reverse($array, true), $callback, $default);
+    }
+
+    /**
+     * Flatten a multi-dimensional array into a single level.
+     *
+     * @param  iterable  $array
+     * @param  int  $depth
+     * @return array
+     */
+    public static function flatten($array, $depth = INF)
+    {
+        $result = [];
+
+        foreach ($array as $item) {
+            $item = $item instanceof Collection ? $item->all() : $item;
+
+            if (! is_array($item)) {
+                $result[] = $item;
+            } else {
+                $values = $depth === 1
+                    ? array_values($item)
+                    : static::flatten($item, $depth - 1);
+
+                foreach ($values as $value) {
+                    $result[] = $value;
+                }
+            }
+        }
+
+        return $result;
+    }
+
+    /**
+     * Remove one or many array items from a given array using "dot" notation.
+     *
+     * @param  array  $array
+     * @param  array|string  $keys
+     * @return void
+     */
+    public static function forget(&$array, $keys)
+    {
+        $original = &$array;
+
+        $keys = (array) $keys;
+
+        if (count($keys) === 0) {
+            return;
+        }
+
+        foreach ($keys as $key) {
+            // if the exact key exists in the top-level, remove it
+            if (static::exists($array, $key)) {
+                unset($array[$key]);
+
+                continue;
+            }
+
+            $parts = explode('.', $key);
+
+            // clean up before each pass
+            $array = &$original;
+
+            while (count($parts) > 1) {
+                $part = array_shift($parts);
+
+                if (isset($array[$part]) && is_array($array[$part])) {
+                    $array = &$array[$part];
+                } else {
+                    continue 2;
+                }
+            }
+
+            unset($array[array_shift($parts)]);
+        }
+    }
+
+    /**
+     * Get an item from an array using "dot" notation.
+     *
+     * @param  \ArrayAccess|array  $array
+     * @param  string|int|null  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public static function get($array, $key, $default = null)
+    {
+        if (! static::accessible($array)) {
+            return value($default);
+        }
+
+        if (is_null($key)) {
+            return $array;
+        }
+
+        if (static::exists($array, $key)) {
+            return $array[$key];
+        }
+
+        if (strpos($key, '.') === false) {
+            return $array[$key] ?? value($default);
+        }
+
+        foreach (explode('.', $key) as $segment) {
+            if (static::accessible($array) && static::exists($array, $segment)) {
+                $array = $array[$segment];
+            } else {
+                return value($default);
+            }
+        }
+
+        return $array;
+    }
+
+    /**
+     * Check if an item or items exist in an array using "dot" notation.
+     *
+     * @param  \ArrayAccess|array  $array
+     * @param  string|array  $keys
+     * @return bool
+     */
+    public static function has($array, $keys)
+    {
+        $keys = (array) $keys;
+
+        if (! $array || $keys === []) {
+            return false;
+        }
+
+        foreach ($keys as $key) {
+            $subKeyArray = $array;
+
+            if (static::exists($array, $key)) {
+                continue;
+            }
+
+            foreach (explode('.', $key) as $segment) {
+                if (static::accessible($subKeyArray) && static::exists($subKeyArray, $segment)) {
+                    $subKeyArray = $subKeyArray[$segment];
+                } else {
+                    return false;
+                }
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Determine if any of the keys exist in an array using "dot" notation.
+     *
+     * @param  \ArrayAccess|array  $array
+     * @param  string|array  $keys
+     * @return bool
+     */
+    public static function hasAny($array, $keys)
+    {
+        if (is_null($keys)) {
+            return false;
+        }
+
+        $keys = (array) $keys;
+
+        if (! $array) {
+            return false;
+        }
+
+        if ($keys === []) {
+            return false;
+        }
+
+        foreach ($keys as $key) {
+            if (static::has($array, $key)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Determines if an array is associative.
+     *
+     * An array is "associative" if it doesn't have sequential numerical keys beginning with zero.
+     *
+     * @param  array  $array
+     * @return bool
+     */
+    public static function isAssoc(array $array)
+    {
+        $keys = array_keys($array);
+
+        return array_keys($keys) !== $keys;
+    }
+
+    /**
+     * Get a subset of the items from the given array.
+     *
+     * @param  array  $array
+     * @param  array|string  $keys
+     * @return array
+     */
+    public static function only($array, $keys)
+    {
+        return array_intersect_key($array, array_flip((array) $keys));
+    }
+
+    /**
+     * Pluck an array of values from an array.
+     *
+     * @param  iterable  $array
+     * @param  string|array|int|null  $value
+     * @param  string|array|null  $key
+     * @return array
+     */
+    public static function pluck($array, $value, $key = null)
+    {
+        $results = [];
+
+        [$value, $key] = static::explodePluckParameters($value, $key);
+
+        foreach ($array as $item) {
+            $itemValue = data_get($item, $value);
+
+            // If the key is "null", we will just append the value to the array and keep
+            // looping. Otherwise we will key the array using the value of the key we
+            // received from the developer. Then we'll return the final array form.
+            if (is_null($key)) {
+                $results[] = $itemValue;
+            } else {
+                $itemKey = data_get($item, $key);
+
+                if (is_object($itemKey) && method_exists($itemKey, '__toString')) {
+                    $itemKey = (string) $itemKey;
+                }
+
+                $results[$itemKey] = $itemValue;
+            }
+        }
+
+        return $results;
+    }
+
+    /**
+     * Explode the "value" and "key" arguments passed to "pluck".
+     *
+     * @param  string|array  $value
+     * @param  string|array|null  $key
+     * @return array
+     */
+    protected static function explodePluckParameters($value, $key)
+    {
+        $value = is_string($value) ? explode('.', $value) : $value;
+
+        $key = is_null($key) || is_array($key) ? $key : explode('.', $key);
+
+        return [$value, $key];
+    }
+
+    /**
+     * Push an item onto the beginning of an array.
+     *
+     * @param  array  $array
+     * @param  mixed  $value
+     * @param  mixed  $key
+     * @return array
+     */
+    public static function prepend($array, $value, $key = null)
+    {
+        if (func_num_args() == 2) {
+            array_unshift($array, $value);
+        } else {
+            $array = [$key => $value] + $array;
+        }
+
+        return $array;
+    }
+
+    /**
+     * Get a value from the array, and remove it.
+     *
+     * @param  array  $array
+     * @param  string  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public static function pull(&$array, $key, $default = null)
+    {
+        $value = static::get($array, $key, $default);
+
+        static::forget($array, $key);
+
+        return $value;
+    }
+
+    /**
+     * Get one or a specified number of random values from an array.
+     *
+     * @param  array  $array
+     * @param  int|null  $number
+     * @param  bool|false  $preserveKeys
+     * @return mixed
+     *
+     * @throws \InvalidArgumentException
+     */
+    public static function random($array, $number = null, $preserveKeys = false)
+    {
+        $requested = is_null($number) ? 1 : $number;
+
+        $count = count($array);
+
+        if ($requested > $count) {
+            throw new InvalidArgumentException(
+                "You requested {$requested} items, but there are only {$count} items available."
+            );
+        }
+
+        if (is_null($number)) {
+            return $array[array_rand($array)];
+        }
+
+        if ((int) $number === 0) {
+            return [];
+        }
+
+        $keys = array_rand($array, $number);
+
+        $results = [];
+
+        if ($preserveKeys) {
+            foreach ((array) $keys as $key) {
+                $results[$key] = $array[$key];
+            }
+        } else {
+            foreach ((array) $keys as $key) {
+                $results[] = $array[$key];
+            }
+        }
+
+        return $results;
+    }
+
+    /**
+     * Set an array item to a given value using "dot" notation.
+     *
+     * If no key is given to the method, the entire array will be replaced.
+     *
+     * @param  array  $array
+     * @param  string|null  $key
+     * @param  mixed  $value
+     * @return array
+     */
+    public static function set(&$array, $key, $value)
+    {
+        if (is_null($key)) {
+            return $array = $value;
+        }
+
+        $keys = explode('.', $key);
+
+        foreach ($keys as $i => $key) {
+            if (count($keys) === 1) {
+                break;
+            }
+
+            unset($keys[$i]);
+
+            // If the key doesn't exist at this depth, we will just create an empty array
+            // to hold the next value, allowing us to create the arrays to hold final
+            // values at the correct depth. Then we'll keep digging into the array.
+            if (! isset($array[$key]) || ! is_array($array[$key])) {
+                $array[$key] = [];
+            }
+
+            $array = &$array[$key];
+        }
+
+        $array[array_shift($keys)] = $value;
+
+        return $array;
+    }
+
+    /**
+     * Shuffle the given array and return the result.
+     *
+     * @param  array  $array
+     * @param  int|null  $seed
+     * @return array
+     */
+    public static function shuffle($array, $seed = null)
+    {
+        if (is_null($seed)) {
+            shuffle($array);
+        } else {
+            mt_srand($seed);
+            shuffle($array);
+            mt_srand();
+        }
+
+        return $array;
+    }
+
+    /**
+     * Sort the array using the given callback or "dot" notation.
+     *
+     * @param  array  $array
+     * @param  callable|array|string|null  $callback
+     * @return array
+     */
+    public static function sort($array, $callback = null)
+    {
+        return Collection::make($array)->sortBy($callback)->all();
+    }
+
+    /**
+     * Recursively sort an array by keys and values.
+     *
+     * @param  array  $array
+     * @param  int  $options
+     * @param  bool  $descending
+     * @return array
+     */
+    public static function sortRecursive($array, $options = SORT_REGULAR, $descending = false)
+    {
+        foreach ($array as &$value) {
+            if (is_array($value)) {
+                $value = static::sortRecursive($value, $options, $descending);
+            }
+        }
+
+        if (static::isAssoc($array)) {
+            $descending
+                    ? krsort($array, $options)
+                    : ksort($array, $options);
+        } else {
+            $descending
+                    ? rsort($array, $options)
+                    : sort($array, $options);
+        }
+
+        return $array;
+    }
+
+    /**
+     * Convert the array into a query string.
+     *
+     * @param  array  $array
+     * @return string
+     */
+    public static function query($array)
+    {
+        return http_build_query($array, '', '&', PHP_QUERY_RFC3986);
+    }
+
+    /**
+     * Filter the array using the given callback.
+     *
+     * @param  array  $array
+     * @param  callable  $callback
+     * @return array
+     */
+    public static function where($array, callable $callback)
+    {
+        return array_filter($array, $callback, ARRAY_FILTER_USE_BOTH);
+    }
+
+    /**
+     * If the given value is not an array and not null, wrap it in one.
+     *
+     * @param  mixed  $value
+     * @return array
+     */
+    public static function wrap($value)
+    {
+        if (is_null($value)) {
+            return [];
+        }
+
+        return is_array($value) ? $value : [$value];
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Collection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Collection.php
new file mode 100644
index 0000000..3a0bfbf
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Collection.php
@@ -0,0 +1,1453 @@
+<?php
+
+namespace Tightenco\Collect\Support;
+
+use ArrayAccess;
+use ArrayIterator;
+use Tightenco\Collect\Support\Traits\EnumeratesValues;
+use Tightenco\Collect\Support\Traits\Macroable;
+use stdClass;
+
+class Collection implements ArrayAccess, Enumerable
+{
+    use EnumeratesValues, Macroable;
+
+    /**
+     * The items contained in the collection.
+     *
+     * @var array
+     */
+    protected $items = [];
+
+    /**
+     * Create a new collection.
+     *
+     * @param  mixed  $items
+     * @return void
+     */
+    public function __construct($items = [])
+    {
+        $this->items = $this->getArrayableItems($items);
+    }
+
+    /**
+     * Create a collection with the given range.
+     *
+     * @param  int  $from
+     * @param  int  $to
+     * @return static
+     */
+    public static function range($from, $to)
+    {
+        return new static(range($from, $to));
+    }
+
+    /**
+     * Get all of the items in the collection.
+     *
+     * @return array
+     */
+    public function all()
+    {
+        return $this->items;
+    }
+
+    /**
+     * Get a lazy collection for the items in this collection.
+     *
+     * @return \Tightenco\Collect\Support\LazyCollection
+     */
+    public function lazy()
+    {
+        return new LazyCollection($this->items);
+    }
+
+    /**
+     * Get the average value of a given key.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function avg($callback = null)
+    {
+        $callback = $this->valueRetriever($callback);
+
+        $items = $this->map(function ($value) use ($callback) {
+            return $callback($value);
+        })->filter(function ($value) {
+            return ! is_null($value);
+        });
+
+        if ($count = $items->count()) {
+            return $items->sum() / $count;
+        }
+    }
+
+    /**
+     * Get the median of a given key.
+     *
+     * @param  string|array|null  $key
+     * @return mixed
+     */
+    public function median($key = null)
+    {
+        $values = (isset($key) ? $this->pluck($key) : $this)
+            ->filter(function ($item) {
+                return ! is_null($item);
+            })->sort()->values();
+
+        $count = $values->count();
+
+        if ($count === 0) {
+            return;
+        }
+
+        $middle = (int) ($count / 2);
+
+        if ($count % 2) {
+            return $values->get($middle);
+        }
+
+        return (new static([
+            $values->get($middle - 1), $values->get($middle),
+        ]))->average();
+    }
+
+    /**
+     * Get the mode of a given key.
+     *
+     * @param  string|array|null  $key
+     * @return array|null
+     */
+    public function mode($key = null)
+    {
+        if ($this->count() === 0) {
+            return;
+        }
+
+        $collection = isset($key) ? $this->pluck($key) : $this;
+
+        $counts = new static;
+
+        $collection->each(function ($value) use ($counts) {
+            $counts[$value] = isset($counts[$value]) ? $counts[$value] + 1 : 1;
+        });
+
+        $sorted = $counts->sort();
+
+        $highestValue = $sorted->last();
+
+        return $sorted->filter(function ($value) use ($highestValue) {
+            return $value == $highestValue;
+        })->sort()->keys()->all();
+    }
+
+    /**
+     * Collapse the collection of items into a single array.
+     *
+     * @return static
+     */
+    public function collapse()
+    {
+        return new static(Arr::collapse($this->items));
+    }
+
+    /**
+     * Determine if an item exists in the collection.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function contains($key, $operator = null, $value = null)
+    {
+        if (func_num_args() === 1) {
+            if ($this->useAsCallable($key)) {
+                $placeholder = new stdClass;
+
+                return $this->first($key, $placeholder) !== $placeholder;
+            }
+
+            return in_array($key, $this->items);
+        }
+
+        return $this->contains($this->operatorForWhere(...func_get_args()));
+    }
+
+    /**
+     * Cross join with the given lists, returning all possible permutations.
+     *
+     * @param  mixed  ...$lists
+     * @return static
+     */
+    public function crossJoin(...$lists)
+    {
+        return new static(Arr::crossJoin(
+            $this->items, ...array_map([$this, 'getArrayableItems'], $lists)
+        ));
+    }
+
+    /**
+     * Get the items in the collection that are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diff($items)
+    {
+        return new static(array_diff($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Get the items in the collection that are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffUsing($items, callable $callback)
+    {
+        return new static(array_udiff($this->items, $this->getArrayableItems($items), $callback));
+    }
+
+    /**
+     * Get the items in the collection whose keys and values are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diffAssoc($items)
+    {
+        return new static(array_diff_assoc($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Get the items in the collection whose keys and values are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffAssocUsing($items, callable $callback)
+    {
+        return new static(array_diff_uassoc($this->items, $this->getArrayableItems($items), $callback));
+    }
+
+    /**
+     * Get the items in the collection whose keys are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diffKeys($items)
+    {
+        return new static(array_diff_key($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Get the items in the collection whose keys are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffKeysUsing($items, callable $callback)
+    {
+        return new static(array_diff_ukey($this->items, $this->getArrayableItems($items), $callback));
+    }
+
+    /**
+     * Retrieve duplicate items from the collection.
+     *
+     * @param  callable|null  $callback
+     * @param  bool  $strict
+     * @return static
+     */
+    public function duplicates($callback = null, $strict = false)
+    {
+        $items = $this->map($this->valueRetriever($callback));
+
+        $uniqueItems = $items->unique(null, $strict);
+
+        $compare = $this->duplicateComparator($strict);
+
+        $duplicates = new static;
+
+        foreach ($items as $key => $value) {
+            if ($uniqueItems->isNotEmpty() && $compare($value, $uniqueItems->first())) {
+                $uniqueItems->shift();
+            } else {
+                $duplicates[$key] = $value;
+            }
+        }
+
+        return $duplicates;
+    }
+
+    /**
+     * Retrieve duplicate items from the collection using strict comparison.
+     *
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public function duplicatesStrict($callback = null)
+    {
+        return $this->duplicates($callback, true);
+    }
+
+    /**
+     * Get the comparison function to detect duplicates.
+     *
+     * @param  bool  $strict
+     * @return \Closure
+     */
+    protected function duplicateComparator($strict)
+    {
+        if ($strict) {
+            return function ($a, $b) {
+                return $a === $b;
+            };
+        }
+
+        return function ($a, $b) {
+            return $a == $b;
+        };
+    }
+
+    /**
+     * Get all items except for those with the specified keys.
+     *
+     * @param  \Tightenco\Collect\Support\Collection|mixed  $keys
+     * @return static
+     */
+    public function except($keys)
+    {
+        if ($keys instanceof Enumerable) {
+            $keys = $keys->all();
+        } elseif (! is_array($keys)) {
+            $keys = func_get_args();
+        }
+
+        return new static(Arr::except($this->items, $keys));
+    }
+
+    /**
+     * Run a filter over each of the items.
+     *
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public function filter(callable $callback = null)
+    {
+        if ($callback) {
+            return new static(Arr::where($this->items, $callback));
+        }
+
+        return new static(array_filter($this->items));
+    }
+
+    /**
+     * Get the first item from the collection passing the given truth test.
+     *
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function first(callable $callback = null, $default = null)
+    {
+        return Arr::first($this->items, $callback, $default);
+    }
+
+    /**
+     * Get a flattened array of the items in the collection.
+     *
+     * @param  int  $depth
+     * @return static
+     */
+    public function flatten($depth = INF)
+    {
+        return new static(Arr::flatten($this->items, $depth));
+    }
+
+    /**
+     * Flip the items in the collection.
+     *
+     * @return static
+     */
+    public function flip()
+    {
+        return new static(array_flip($this->items));
+    }
+
+    /**
+     * Remove an item from the collection by key.
+     *
+     * @param  string|array  $keys
+     * @return $this
+     */
+    public function forget($keys)
+    {
+        foreach ((array) $keys as $key) {
+            $this->offsetUnset($key);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Get an item from the collection by key.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function get($key, $default = null)
+    {
+        if (array_key_exists($key, $this->items)) {
+            return $this->items[$key];
+        }
+
+        return value($default);
+    }
+
+    /**
+     * Group an associative array by a field or using a callback.
+     *
+     * @param  array|callable|string  $groupBy
+     * @param  bool  $preserveKeys
+     * @return static
+     */
+    public function groupBy($groupBy, $preserveKeys = false)
+    {
+        if (! $this->useAsCallable($groupBy) && is_array($groupBy)) {
+            $nextGroups = $groupBy;
+
+            $groupBy = array_shift($nextGroups);
+        }
+
+        $groupBy = $this->valueRetriever($groupBy);
+
+        $results = [];
+
+        foreach ($this->items as $key => $value) {
+            $groupKeys = $groupBy($value, $key);
+
+            if (! is_array($groupKeys)) {
+                $groupKeys = [$groupKeys];
+            }
+
+            foreach ($groupKeys as $groupKey) {
+                $groupKey = is_bool($groupKey) ? (int) $groupKey : $groupKey;
+
+                if (! array_key_exists($groupKey, $results)) {
+                    $results[$groupKey] = new static;
+                }
+
+                $results[$groupKey]->offsetSet($preserveKeys ? $key : null, $value);
+            }
+        }
+
+        $result = new static($results);
+
+        if (! empty($nextGroups)) {
+            return $result->map->groupBy($nextGroups, $preserveKeys);
+        }
+
+        return $result;
+    }
+
+    /**
+     * Key an associative array by a field or using a callback.
+     *
+     * @param  callable|string  $keyBy
+     * @return static
+     */
+    public function keyBy($keyBy)
+    {
+        $keyBy = $this->valueRetriever($keyBy);
+
+        $results = [];
+
+        foreach ($this->items as $key => $item) {
+            $resolvedKey = $keyBy($item, $key);
+
+            if (is_object($resolvedKey)) {
+                $resolvedKey = (string) $resolvedKey;
+            }
+
+            $results[$resolvedKey] = $item;
+        }
+
+        return new static($results);
+    }
+
+    /**
+     * Determine if an item exists in the collection by key.
+     *
+     * @param  mixed  $key
+     * @return bool
+     */
+    public function has($key)
+    {
+        $keys = is_array($key) ? $key : func_get_args();
+
+        foreach ($keys as $value) {
+            if (! array_key_exists($value, $this->items)) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Concatenate values of a given key as a string.
+     *
+     * @param  string  $value
+     * @param  string|null  $glue
+     * @return string
+     */
+    public function implode($value, $glue = null)
+    {
+        $first = $this->first();
+
+        if (is_array($first) || (is_object($first) && ! $first instanceof \Illuminate\Support\Stringable)) {
+            return implode($glue, $this->pluck($value)->all());
+        }
+
+        return implode($value, $this->items);
+    }
+
+    /**
+     * Intersect the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function intersect($items)
+    {
+        return new static(array_intersect($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Intersect the collection with the given items by key.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function intersectByKeys($items)
+    {
+        return new static(array_intersect_key(
+            $this->items, $this->getArrayableItems($items)
+        ));
+    }
+
+    /**
+     * Determine if the collection is empty or not.
+     *
+     * @return bool
+     */
+    public function isEmpty()
+    {
+        return empty($this->items);
+    }
+
+    /**
+     * Determine if the collection contains a single item.
+     *
+     * @return bool
+     */
+    public function containsOneItem()
+    {
+        return $this->count() === 1;
+    }
+
+    /**
+     * Join all items from the collection using a string. The final items can use a separate glue string.
+     *
+     * @param  string  $glue
+     * @param  string  $finalGlue
+     * @return string
+     */
+    public function join($glue, $finalGlue = '')
+    {
+        if ($finalGlue === '') {
+            return $this->implode($glue);
+        }
+
+        $count = $this->count();
+
+        if ($count === 0) {
+            return '';
+        }
+
+        if ($count === 1) {
+            return $this->last();
+        }
+
+        $collection = new static($this->items);
+
+        $finalItem = $collection->pop();
+
+        return $collection->implode($glue).$finalGlue.$finalItem;
+    }
+
+    /**
+     * Get the keys of the collection items.
+     *
+     * @return static
+     */
+    public function keys()
+    {
+        return new static(array_keys($this->items));
+    }
+
+    /**
+     * Get the last item from the collection.
+     *
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function last(callable $callback = null, $default = null)
+    {
+        return Arr::last($this->items, $callback, $default);
+    }
+
+    /**
+     * Get the values of a given key.
+     *
+     * @param  string|array|int|null  $value
+     * @param  string|null  $key
+     * @return static
+     */
+    public function pluck($value, $key = null)
+    {
+        return new static(Arr::pluck($this->items, $value, $key));
+    }
+
+    /**
+     * Run a map over each of the items.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function map(callable $callback)
+    {
+        $keys = array_keys($this->items);
+
+        $items = array_map($callback, $this->items, $keys);
+
+        return new static(array_combine($keys, $items));
+    }
+
+    /**
+     * Run a dictionary map over the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapToDictionary(callable $callback)
+    {
+        $dictionary = [];
+
+        foreach ($this->items as $key => $item) {
+            $pair = $callback($item, $key);
+
+            $key = key($pair);
+
+            $value = reset($pair);
+
+            if (! isset($dictionary[$key])) {
+                $dictionary[$key] = [];
+            }
+
+            $dictionary[$key][] = $value;
+        }
+
+        return new static($dictionary);
+    }
+
+    /**
+     * Run an associative map over each of the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapWithKeys(callable $callback)
+    {
+        $result = [];
+
+        foreach ($this->items as $key => $value) {
+            $assoc = $callback($value, $key);
+
+            foreach ($assoc as $mapKey => $mapValue) {
+                $result[$mapKey] = $mapValue;
+            }
+        }
+
+        return new static($result);
+    }
+
+    /**
+     * Merge the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function merge($items)
+    {
+        return new static(array_merge($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Recursively merge the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function mergeRecursive($items)
+    {
+        return new static(array_merge_recursive($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Create a collection by using this collection for keys and another for its values.
+     *
+     * @param  mixed  $values
+     * @return static
+     */
+    public function combine($values)
+    {
+        return new static(array_combine($this->all(), $this->getArrayableItems($values)));
+    }
+
+    /**
+     * Union the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function union($items)
+    {
+        return new static($this->items + $this->getArrayableItems($items));
+    }
+
+    /**
+     * Create a new collection consisting of every n-th element.
+     *
+     * @param  int  $step
+     * @param  int  $offset
+     * @return static
+     */
+    public function nth($step, $offset = 0)
+    {
+        $new = [];
+
+        $position = 0;
+
+        foreach ($this->items as $item) {
+            if ($position % $step === $offset) {
+                $new[] = $item;
+            }
+
+            $position++;
+        }
+
+        return new static($new);
+    }
+
+    /**
+     * Get the items with the specified keys.
+     *
+     * @param  mixed  $keys
+     * @return static
+     */
+    public function only($keys)
+    {
+        if (is_null($keys)) {
+            return new static($this->items);
+        }
+
+        if ($keys instanceof Enumerable) {
+            $keys = $keys->all();
+        }
+
+        $keys = is_array($keys) ? $keys : func_get_args();
+
+        return new static(Arr::only($this->items, $keys));
+    }
+
+    /**
+     * Get and remove the last item from the collection.
+     *
+     * @return mixed
+     */
+    public function pop()
+    {
+        return array_pop($this->items);
+    }
+
+    /**
+     * Push an item onto the beginning of the collection.
+     *
+     * @param  mixed  $value
+     * @param  mixed  $key
+     * @return $this
+     */
+    public function prepend($value, $key = null)
+    {
+        $this->items = Arr::prepend($this->items, ...func_get_args());
+
+        return $this;
+    }
+
+    /**
+     * Push one or more items onto the end of the collection.
+     *
+     * @param  mixed  $values [optional]
+     * @return $this
+     */
+    public function push(...$values)
+    {
+        foreach ($values as $value) {
+            $this->items[] = $value;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Push all of the given items onto the collection.
+     *
+     * @param  iterable  $source
+     * @return static
+     */
+    public function concat($source)
+    {
+        $result = new static($this);
+
+        foreach ($source as $item) {
+            $result->push($item);
+        }
+
+        return $result;
+    }
+
+    /**
+     * Get and remove an item from the collection.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function pull($key, $default = null)
+    {
+        return Arr::pull($this->items, $key, $default);
+    }
+
+    /**
+     * Put an item in the collection by key.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $value
+     * @return $this
+     */
+    public function put($key, $value)
+    {
+        $this->offsetSet($key, $value);
+
+        return $this;
+    }
+
+    /**
+     * Get one or a specified number of items randomly from the collection.
+     *
+     * @param  int|null  $number
+     * @return static|mixed
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function random($number = null)
+    {
+        if (is_null($number)) {
+            return Arr::random($this->items);
+        }
+
+        return new static(Arr::random($this->items, $number));
+    }
+
+    /**
+     * Replace the collection items with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function replace($items)
+    {
+        return new static(array_replace($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Recursively replace the collection items with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function replaceRecursive($items)
+    {
+        return new static(array_replace_recursive($this->items, $this->getArrayableItems($items)));
+    }
+
+    /**
+     * Reverse items order.
+     *
+     * @return static
+     */
+    public function reverse()
+    {
+        return new static(array_reverse($this->items, true));
+    }
+
+    /**
+     * Search the collection for a given value and return the corresponding key if successful.
+     *
+     * @param  mixed  $value
+     * @param  bool  $strict
+     * @return mixed
+     */
+    public function search($value, $strict = false)
+    {
+        if (! $this->useAsCallable($value)) {
+            return array_search($value, $this->items, $strict);
+        }
+
+        foreach ($this->items as $key => $item) {
+            if ($value($item, $key)) {
+                return $key;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Get and remove the first item from the collection.
+     *
+     * @return mixed
+     */
+    public function shift()
+    {
+        return array_shift($this->items);
+    }
+
+    /**
+     * Shuffle the items in the collection.
+     *
+     * @param  int|null  $seed
+     * @return static
+     */
+    public function shuffle($seed = null)
+    {
+        return new static(Arr::shuffle($this->items, $seed));
+    }
+
+    /**
+     * Skip the first {$count} items.
+     *
+     * @param  int  $count
+     * @return static
+     */
+    public function skip($count)
+    {
+        return $this->slice($count);
+    }
+
+    /**
+     * Skip items in the collection until the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function skipUntil($value)
+    {
+        return new static($this->lazy()->skipUntil($value)->all());
+    }
+
+    /**
+     * Skip items in the collection while the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function skipWhile($value)
+    {
+        return new static($this->lazy()->skipWhile($value)->all());
+    }
+
+    /**
+     * Slice the underlying collection array.
+     *
+     * @param  int  $offset
+     * @param  int|null  $length
+     * @return static
+     */
+    public function slice($offset, $length = null)
+    {
+        return new static(array_slice($this->items, $offset, $length, true));
+    }
+
+    /**
+     * Split a collection into a certain number of groups.
+     *
+     * @param  int  $numberOfGroups
+     * @return static
+     */
+    public function split($numberOfGroups)
+    {
+        if ($this->isEmpty()) {
+            return new static;
+        }
+
+        $groups = new static;
+
+        $groupSize = floor($this->count() / $numberOfGroups);
+
+        $remain = $this->count() % $numberOfGroups;
+
+        $start = 0;
+
+        for ($i = 0; $i < $numberOfGroups; $i++) {
+            $size = $groupSize;
+
+            if ($i < $remain) {
+                $size++;
+            }
+
+            if ($size) {
+                $groups->push(new static(array_slice($this->items, $start, $size)));
+
+                $start += $size;
+            }
+        }
+
+        return $groups;
+    }
+
+    /**
+     * Split a collection into a certain number of groups, and fill the first groups completely.
+     *
+     * @param  int  $numberOfGroups
+     * @return static
+     */
+    public function splitIn($numberOfGroups)
+    {
+        return $this->chunk(ceil($this->count() / $numberOfGroups));
+    }
+
+    /**
+     * Chunk the collection into chunks of the given size.
+     *
+     * @param  int  $size
+     * @return static
+     */
+    public function chunk($size)
+    {
+        if ($size <= 0) {
+            return new static;
+        }
+
+        $chunks = [];
+
+        foreach (array_chunk($this->items, $size, true) as $chunk) {
+            $chunks[] = new static($chunk);
+        }
+
+        return new static($chunks);
+    }
+
+    /**
+     * Chunk the collection into chunks with a callback.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function chunkWhile(callable $callback)
+    {
+        return new static(
+            $this->lazy()->chunkWhile($callback)->mapInto(static::class)
+        );
+    }
+
+    /**
+     * Sort through each item with a callback.
+     *
+     * @param  callable|int|null  $callback
+     * @return static
+     */
+    public function sort($callback = null)
+    {
+        $items = $this->items;
+
+        $callback && is_callable($callback)
+            ? uasort($items, $callback)
+            : asort($items, $callback ?? SORT_REGULAR);
+
+        return new static($items);
+    }
+
+    /**
+     * Sort items in descending order.
+     *
+     * @param  int  $options
+     * @return static
+     */
+    public function sortDesc($options = SORT_REGULAR)
+    {
+        $items = $this->items;
+
+        arsort($items, $options);
+
+        return new static($items);
+    }
+
+    /**
+     * Sort the collection using the given callback.
+     *
+     * @param  callable|array|string  $callback
+     * @param  int  $options
+     * @param  bool  $descending
+     * @return static
+     */
+    public function sortBy($callback, $options = SORT_REGULAR, $descending = false)
+    {
+        if (is_array($callback) && ! is_callable($callback)) {
+            return $this->sortByMany($callback);
+        }
+
+        $results = [];
+
+        $callback = $this->valueRetriever($callback);
+
+        // First we will loop through the items and get the comparator from a callback
+        // function which we were given. Then, we will sort the returned values and
+        // and grab the corresponding values for the sorted keys from this array.
+        foreach ($this->items as $key => $value) {
+            $results[$key] = $callback($value, $key);
+        }
+
+        $descending ? arsort($results, $options)
+            : asort($results, $options);
+
+        // Once we have sorted all of the keys in the array, we will loop through them
+        // and grab the corresponding model so we can set the underlying items list
+        // to the sorted version. Then we'll just return the collection instance.
+        foreach (array_keys($results) as $key) {
+            $results[$key] = $this->items[$key];
+        }
+
+        return new static($results);
+    }
+
+    /**
+     * Sort the collection using multiple comparisons.
+     *
+     * @param  array  $comparisons
+     * @return static
+     */
+    protected function sortByMany(array $comparisons = [])
+    {
+        $items = $this->items;
+
+        usort($items, function ($a, $b) use ($comparisons) {
+            foreach ($comparisons as $comparison) {
+                $comparison = Arr::wrap($comparison);
+
+                $prop = $comparison[0];
+
+                $ascending = Arr::get($comparison, 1, true) === true ||
+                             Arr::get($comparison, 1, true) === 'asc';
+
+                $result = 0;
+
+                if (is_callable($prop)) {
+                    $result = $prop($a, $b);
+                } else {
+                    $values = [data_get($a, $prop), data_get($b, $prop)];
+
+                    if (! $ascending) {
+                        $values = array_reverse($values);
+                    }
+
+                    $result = $values[0] <=> $values[1];
+                }
+
+                if ($result === 0) {
+                    continue;
+                }
+
+                return $result;
+            }
+        });
+
+        return new static($items);
+    }
+
+    /**
+     * Sort the collection in descending order using the given callback.
+     *
+     * @param  callable|string  $callback
+     * @param  int  $options
+     * @return static
+     */
+    public function sortByDesc($callback, $options = SORT_REGULAR)
+    {
+        return $this->sortBy($callback, $options, true);
+    }
+
+    /**
+     * Sort the collection keys.
+     *
+     * @param  int  $options
+     * @param  bool  $descending
+     * @return static
+     */
+    public function sortKeys($options = SORT_REGULAR, $descending = false)
+    {
+        $items = $this->items;
+
+        $descending ? krsort($items, $options) : ksort($items, $options);
+
+        return new static($items);
+    }
+
+    /**
+     * Sort the collection keys in descending order.
+     *
+     * @param  int  $options
+     * @return static
+     */
+    public function sortKeysDesc($options = SORT_REGULAR)
+    {
+        return $this->sortKeys($options, true);
+    }
+
+    /**
+     * Splice a portion of the underlying collection array.
+     *
+     * @param  int  $offset
+     * @param  int|null  $length
+     * @param  mixed  $replacement
+     * @return static
+     */
+    public function splice($offset, $length = null, $replacement = [])
+    {
+        if (func_num_args() === 1) {
+            return new static(array_splice($this->items, $offset));
+        }
+
+        return new static(array_splice($this->items, $offset, $length, $replacement));
+    }
+
+    /**
+     * Take the first or last {$limit} items.
+     *
+     * @param  int  $limit
+     * @return static
+     */
+    public function take($limit)
+    {
+        if ($limit < 0) {
+            return $this->slice($limit, abs($limit));
+        }
+
+        return $this->slice(0, $limit);
+    }
+
+    /**
+     * Take items in the collection until the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function takeUntil($value)
+    {
+        return new static($this->lazy()->takeUntil($value)->all());
+    }
+
+    /**
+     * Take items in the collection while the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function takeWhile($value)
+    {
+        return new static($this->lazy()->takeWhile($value)->all());
+    }
+
+    /**
+     * Transform each item in the collection using a callback.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function transform(callable $callback)
+    {
+        $this->items = $this->map($callback)->all();
+
+        return $this;
+    }
+
+    /**
+     * Reset the keys on the underlying array.
+     *
+     * @return static
+     */
+    public function values()
+    {
+        return new static(array_values($this->items));
+    }
+
+    /**
+     * Zip the collection together with one or more arrays.
+     *
+     * e.g. new Collection([1, 2, 3])->zip([4, 5, 6]);
+     *      => [[1, 4], [2, 5], [3, 6]]
+     *
+     * @param  mixed  ...$items
+     * @return static
+     */
+    public function zip($items)
+    {
+        $arrayableItems = array_map(function ($items) {
+            return $this->getArrayableItems($items);
+        }, func_get_args());
+
+        $params = array_merge([function () {
+            return new static(func_get_args());
+        }, $this->items], $arrayableItems);
+
+        return new static(array_map(...$params));
+    }
+
+    /**
+     * Pad collection to the specified length with a value.
+     *
+     * @param  int  $size
+     * @param  mixed  $value
+     * @return static
+     */
+    public function pad($size, $value)
+    {
+        return new static(array_pad($this->items, $size, $value));
+    }
+
+    /**
+     * Get an iterator for the items.
+     *
+     * @return \ArrayIterator
+     */
+    public function getIterator()
+    {
+        return new ArrayIterator($this->items);
+    }
+
+    /**
+     * Count the number of items in the collection.
+     *
+     * @return int
+     */
+    public function count()
+    {
+        return count($this->items);
+    }
+
+    /**
+     * Count the number of items in the collection by a field or using a callback.
+     *
+     * @param  callable|string  $countBy
+     * @return static
+     */
+    public function countBy($countBy = null)
+    {
+        return new static($this->lazy()->countBy($countBy)->all());
+    }
+
+    /**
+     * Add an item to the collection.
+     *
+     * @param  mixed  $item
+     * @return $this
+     */
+    public function add($item)
+    {
+        $this->items[] = $item;
+
+        return $this;
+    }
+
+    /**
+     * Get a base Support collection instance from this collection.
+     *
+     * @return \Tightenco\Collect\Support\Collection
+     */
+    public function toBase()
+    {
+        return new self($this);
+    }
+
+    /**
+     * Determine if an item exists at an offset.
+     *
+     * @param  mixed  $key
+     * @return bool
+     */
+    public function offsetExists($key)
+    {
+        return isset($this->items[$key]);
+    }
+
+    /**
+     * Get an item at a given offset.
+     *
+     * @param  mixed  $key
+     * @return mixed
+     */
+    public function offsetGet($key)
+    {
+        return $this->items[$key];
+    }
+
+    /**
+     * Set the item at a given offset.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $value
+     * @return void
+     */
+    public function offsetSet($key, $value)
+    {
+        if (is_null($key)) {
+            $this->items[] = $value;
+        } else {
+            $this->items[$key] = $value;
+        }
+    }
+
+    /**
+     * Unset the item at a given offset.
+     *
+     * @param  string  $key
+     * @return void
+     */
+    public function offsetUnset($key)
+    {
+        unset($this->items[$key]);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Enumerable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Enumerable.php
new file mode 100644
index 0000000..f189c45
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Enumerable.php
@@ -0,0 +1,1027 @@
+<?php
+
+namespace Tightenco\Collect\Support;
+
+use Countable;
+use Tightenco\Collect\Contracts\Support\Arrayable;
+use Tightenco\Collect\Contracts\Support\Jsonable;
+use IteratorAggregate;
+use JsonSerializable;
+
+interface Enumerable extends Arrayable, Countable, IteratorAggregate, Jsonable, JsonSerializable
+{
+    /**
+     * Create a new collection instance if the value isn't one already.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public static function make($items = []);
+
+    /**
+     * Create a new instance by invoking the callback a given amount of times.
+     *
+     * @param  int  $number
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public static function times($number, callable $callback = null);
+
+    /**
+     * Create a collection with the given range.
+     *
+     * @param  int  $from
+     * @param  int  $to
+     * @return static
+     */
+    public static function range($from, $to);
+
+    /**
+     * Wrap the given value in a collection if applicable.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public static function wrap($value);
+
+    /**
+     * Get the underlying items from the given collection if applicable.
+     *
+     * @param  array|static  $value
+     * @return array
+     */
+    public static function unwrap($value);
+
+    /**
+     * Create a new instance with no items.
+     *
+     * @return static
+     */
+    public static function empty();
+
+    /**
+     * Get all items in the enumerable.
+     *
+     * @return array
+     */
+    public function all();
+
+    /**
+     * Alias for the "avg" method.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function average($callback = null);
+
+    /**
+     * Get the median of a given key.
+     *
+     * @param  string|array|null  $key
+     * @return mixed
+     */
+    public function median($key = null);
+
+    /**
+     * Get the mode of a given key.
+     *
+     * @param  string|array|null  $key
+     * @return array|null
+     */
+    public function mode($key = null);
+
+    /**
+     * Collapse the items into a single enumerable.
+     *
+     * @return static
+     */
+    public function collapse();
+
+    /**
+     * Alias for the "contains" method.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function some($key, $operator = null, $value = null);
+
+    /**
+     * Determine if an item exists, using strict comparison.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function containsStrict($key, $value = null);
+
+    /**
+     * Get the average value of a given key.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function avg($callback = null);
+
+    /**
+     * Determine if an item exists in the enumerable.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function contains($key, $operator = null, $value = null);
+
+    /**
+     * Cross join with the given lists, returning all possible permutations.
+     *
+     * @param  mixed  ...$lists
+     * @return static
+     */
+    public function crossJoin(...$lists);
+
+    /**
+     * Dump the collection and end the script.
+     *
+     * @param  mixed  ...$args
+     * @return void
+     */
+    public function dd(...$args);
+
+    /**
+     * Dump the collection.
+     *
+     * @return $this
+     */
+    public function dump();
+
+    /**
+     * Get the items that are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diff($items);
+
+    /**
+     * Get the items that are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffUsing($items, callable $callback);
+
+    /**
+     * Get the items whose keys and values are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diffAssoc($items);
+
+    /**
+     * Get the items whose keys and values are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffAssocUsing($items, callable $callback);
+
+    /**
+     * Get the items whose keys are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diffKeys($items);
+
+    /**
+     * Get the items whose keys are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffKeysUsing($items, callable $callback);
+
+    /**
+     * Retrieve duplicate items.
+     *
+     * @param  callable|null  $callback
+     * @param  bool  $strict
+     * @return static
+     */
+    public function duplicates($callback = null, $strict = false);
+
+    /**
+     * Retrieve duplicate items using strict comparison.
+     *
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public function duplicatesStrict($callback = null);
+
+    /**
+     * Execute a callback over each item.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function each(callable $callback);
+
+    /**
+     * Execute a callback over each nested chunk of items.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function eachSpread(callable $callback);
+
+    /**
+     * Determine if all items pass the given truth test.
+     *
+     * @param  string|callable  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function every($key, $operator = null, $value = null);
+
+    /**
+     * Get all items except for those with the specified keys.
+     *
+     * @param  mixed  $keys
+     * @return static
+     */
+    public function except($keys);
+
+    /**
+     * Run a filter over each of the items.
+     *
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public function filter(callable $callback = null);
+
+    /**
+     * Apply the callback if the value is truthy.
+     *
+     * @param  bool  $value
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function when($value, callable $callback, callable $default = null);
+
+    /**
+     * Apply the callback if the collection is empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function whenEmpty(callable $callback, callable $default = null);
+
+    /**
+     * Apply the callback if the collection is not empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function whenNotEmpty(callable $callback, callable $default = null);
+
+    /**
+     * Apply the callback if the value is falsy.
+     *
+     * @param  bool  $value
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function unless($value, callable $callback, callable $default = null);
+
+    /**
+     * Apply the callback unless the collection is empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function unlessEmpty(callable $callback, callable $default = null);
+
+    /**
+     * Apply the callback unless the collection is not empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function unlessNotEmpty(callable $callback, callable $default = null);
+
+    /**
+     * Filter items by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return static
+     */
+    public function where($key, $operator = null, $value = null);
+
+    /**
+     * Filter items where the value for the given key is null.
+     *
+     * @param  string|null  $key
+     * @return static
+     */
+    public function whereNull($key = null);
+
+    /**
+     * Filter items where the value for the given key is not null.
+     *
+     * @param  string|null  $key
+     * @return static
+     */
+    public function whereNotNull($key = null);
+
+    /**
+     * Filter items by the given key value pair using strict comparison.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return static
+     */
+    public function whereStrict($key, $value);
+
+    /**
+     * Filter items by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @param  bool  $strict
+     * @return static
+     */
+    public function whereIn($key, $values, $strict = false);
+
+    /**
+     * Filter items by the given key value pair using strict comparison.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @return static
+     */
+    public function whereInStrict($key, $values);
+
+    /**
+     * Filter items such that the value of the given key is between the given values.
+     *
+     * @param  string  $key
+     * @param  array  $values
+     * @return static
+     */
+    public function whereBetween($key, $values);
+
+    /**
+     * Filter items such that the value of the given key is not between the given values.
+     *
+     * @param  string  $key
+     * @param  array  $values
+     * @return static
+     */
+    public function whereNotBetween($key, $values);
+
+    /**
+     * Filter items by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @param  bool  $strict
+     * @return static
+     */
+    public function whereNotIn($key, $values, $strict = false);
+
+    /**
+     * Filter items by the given key value pair using strict comparison.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @return static
+     */
+    public function whereNotInStrict($key, $values);
+
+    /**
+     * Filter the items, removing any items that don't match the given type(s).
+     *
+     * @param  string|string[]  $type
+     * @return static
+     */
+    public function whereInstanceOf($type);
+
+    /**
+     * Get the first item from the enumerable passing the given truth test.
+     *
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function first(callable $callback = null, $default = null);
+
+    /**
+     * Get the first item by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return mixed
+     */
+    public function firstWhere($key, $operator = null, $value = null);
+
+    /**
+     * Get a flattened array of the items in the collection.
+     *
+     * @param  int  $depth
+     * @return static
+     */
+    public function flatten($depth = INF);
+
+    /**
+     * Flip the values with their keys.
+     *
+     * @return static
+     */
+    public function flip();
+
+    /**
+     * Get an item from the collection by key.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function get($key, $default = null);
+
+    /**
+     * Group an associative array by a field or using a callback.
+     *
+     * @param  array|callable|string  $groupBy
+     * @param  bool  $preserveKeys
+     * @return static
+     */
+    public function groupBy($groupBy, $preserveKeys = false);
+
+    /**
+     * Key an associative array by a field or using a callback.
+     *
+     * @param  callable|string  $keyBy
+     * @return static
+     */
+    public function keyBy($keyBy);
+
+    /**
+     * Determine if an item exists in the collection by key.
+     *
+     * @param  mixed  $key
+     * @return bool
+     */
+    public function has($key);
+
+    /**
+     * Concatenate values of a given key as a string.
+     *
+     * @param  string  $value
+     * @param  string|null  $glue
+     * @return string
+     */
+    public function implode($value, $glue = null);
+
+    /**
+     * Intersect the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function intersect($items);
+
+    /**
+     * Intersect the collection with the given items by key.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function intersectByKeys($items);
+
+    /**
+     * Determine if the collection is empty or not.
+     *
+     * @return bool
+     */
+    public function isEmpty();
+
+    /**
+     * Determine if the collection is not empty.
+     *
+     * @return bool
+     */
+    public function isNotEmpty();
+
+    /**
+     * Join all items from the collection using a string. The final items can use a separate glue string.
+     *
+     * @param  string  $glue
+     * @param  string  $finalGlue
+     * @return string
+     */
+    public function join($glue, $finalGlue = '');
+
+    /**
+     * Get the keys of the collection items.
+     *
+     * @return static
+     */
+    public function keys();
+
+    /**
+     * Get the last item from the collection.
+     *
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function last(callable $callback = null, $default = null);
+
+    /**
+     * Run a map over each of the items.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function map(callable $callback);
+
+    /**
+     * Run a map over each nested chunk of items.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapSpread(callable $callback);
+
+    /**
+     * Run a dictionary map over the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapToDictionary(callable $callback);
+
+    /**
+     * Run a grouping map over the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapToGroups(callable $callback);
+
+    /**
+     * Run an associative map over each of the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapWithKeys(callable $callback);
+
+    /**
+     * Map a collection and flatten the result by a single level.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function flatMap(callable $callback);
+
+    /**
+     * Map the values into a new class.
+     *
+     * @param  string  $class
+     * @return static
+     */
+    public function mapInto($class);
+
+    /**
+     * Merge the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function merge($items);
+
+    /**
+     * Recursively merge the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function mergeRecursive($items);
+
+    /**
+     * Create a collection by using this collection for keys and another for its values.
+     *
+     * @param  mixed  $values
+     * @return static
+     */
+    public function combine($values);
+
+    /**
+     * Union the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function union($items);
+
+    /**
+     * Get the min value of a given key.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function min($callback = null);
+
+    /**
+     * Get the max value of a given key.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function max($callback = null);
+
+    /**
+     * Create a new collection consisting of every n-th element.
+     *
+     * @param  int  $step
+     * @param  int  $offset
+     * @return static
+     */
+    public function nth($step, $offset = 0);
+
+    /**
+     * Get the items with the specified keys.
+     *
+     * @param  mixed  $keys
+     * @return static
+     */
+    public function only($keys);
+
+    /**
+     * "Paginate" the collection by slicing it into a smaller collection.
+     *
+     * @param  int  $page
+     * @param  int  $perPage
+     * @return static
+     */
+    public function forPage($page, $perPage);
+
+    /**
+     * Partition the collection into two arrays using the given callback or key.
+     *
+     * @param  callable|string  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return static
+     */
+    public function partition($key, $operator = null, $value = null);
+
+    /**
+     * Push all of the given items onto the collection.
+     *
+     * @param  iterable  $source
+     * @return static
+     */
+    public function concat($source);
+
+    /**
+     * Get one or a specified number of items randomly from the collection.
+     *
+     * @param  int|null  $number
+     * @return static|mixed
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function random($number = null);
+
+    /**
+     * Reduce the collection to a single value.
+     *
+     * @param  callable  $callback
+     * @param  mixed  $initial
+     * @return mixed
+     */
+    public function reduce(callable $callback, $initial = null);
+
+    /**
+     * Replace the collection items with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function replace($items);
+
+    /**
+     * Recursively replace the collection items with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function replaceRecursive($items);
+
+    /**
+     * Reverse items order.
+     *
+     * @return static
+     */
+    public function reverse();
+
+    /**
+     * Search the collection for a given value and return the corresponding key if successful.
+     *
+     * @param  mixed  $value
+     * @param  bool  $strict
+     * @return mixed
+     */
+    public function search($value, $strict = false);
+
+    /**
+     * Shuffle the items in the collection.
+     *
+     * @param  int|null  $seed
+     * @return static
+     */
+    public function shuffle($seed = null);
+
+    /**
+     * Skip the first {$count} items.
+     *
+     * @param  int  $count
+     * @return static
+     */
+    public function skip($count);
+
+    /**
+     * Skip items in the collection until the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function skipUntil($value);
+
+    /**
+     * Skip items in the collection while the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function skipWhile($value);
+
+    /**
+     * Get a slice of items from the enumerable.
+     *
+     * @param  int  $offset
+     * @param  int|null  $length
+     * @return static
+     */
+    public function slice($offset, $length = null);
+
+    /**
+     * Split a collection into a certain number of groups.
+     *
+     * @param  int  $numberOfGroups
+     * @return static
+     */
+    public function split($numberOfGroups);
+
+    /**
+     * Chunk the collection into chunks of the given size.
+     *
+     * @param  int  $size
+     * @return static
+     */
+    public function chunk($size);
+
+    /**
+     * Chunk the collection into chunks with a callback.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function chunkWhile(callable $callback);
+
+    /**
+     * Sort through each item with a callback.
+     *
+     * @param  callable|null|int  $callback
+     * @return static
+     */
+    public function sort($callback = null);
+
+    /**
+     * Sort items in descending order.
+     *
+     * @param  int  $options
+     * @return static
+     */
+    public function sortDesc($options = SORT_REGULAR);
+
+    /**
+     * Sort the collection using the given callback.
+     *
+     * @param  callable|string  $callback
+     * @param  int  $options
+     * @param  bool  $descending
+     * @return static
+     */
+    public function sortBy($callback, $options = SORT_REGULAR, $descending = false);
+
+    /**
+     * Sort the collection in descending order using the given callback.
+     *
+     * @param  callable|string  $callback
+     * @param  int  $options
+     * @return static
+     */
+    public function sortByDesc($callback, $options = SORT_REGULAR);
+
+    /**
+     * Sort the collection keys.
+     *
+     * @param  int  $options
+     * @param  bool  $descending
+     * @return static
+     */
+    public function sortKeys($options = SORT_REGULAR, $descending = false);
+
+    /**
+     * Sort the collection keys in descending order.
+     *
+     * @param  int  $options
+     * @return static
+     */
+    public function sortKeysDesc($options = SORT_REGULAR);
+
+    /**
+     * Get the sum of the given values.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function sum($callback = null);
+
+    /**
+     * Take the first or last {$limit} items.
+     *
+     * @param  int  $limit
+     * @return static
+     */
+    public function take($limit);
+
+    /**
+     * Take items in the collection until the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function takeUntil($value);
+
+    /**
+     * Take items in the collection while the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function takeWhile($value);
+
+    /**
+     * Pass the collection to the given callback and then return it.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function tap(callable $callback);
+
+    /**
+     * Pass the enumerable to the given callback and return the result.
+     *
+     * @param  callable  $callback
+     * @return mixed
+     */
+    public function pipe(callable $callback);
+
+    /**
+     * Get the values of a given key.
+     *
+     * @param  string|array  $value
+     * @param  string|null  $key
+     * @return static
+     */
+    public function pluck($value, $key = null);
+
+    /**
+     * Create a collection of all elements that do not pass a given truth test.
+     *
+     * @param  callable|mixed  $callback
+     * @return static
+     */
+    public function reject($callback = true);
+
+    /**
+     * Return only unique items from the collection array.
+     *
+     * @param  string|callable|null  $key
+     * @param  bool  $strict
+     * @return static
+     */
+    public function unique($key = null, $strict = false);
+
+    /**
+     * Return only unique items from the collection array using strict comparison.
+     *
+     * @param  string|callable|null  $key
+     * @return static
+     */
+    public function uniqueStrict($key = null);
+
+    /**
+     * Reset the keys on the underlying array.
+     *
+     * @return static
+     */
+    public function values();
+
+    /**
+     * Pad collection to the specified length with a value.
+     *
+     * @param  int  $size
+     * @param  mixed  $value
+     * @return static
+     */
+    public function pad($size, $value);
+
+    /**
+     * Count the number of items in the collection using a given truth test.
+     *
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public function countBy($callback = null);
+
+    /**
+     * Zip the collection together with one or more arrays.
+     *
+     * e.g. new Collection([1, 2, 3])->zip([4, 5, 6]);
+     *      => [[1, 4], [2, 5], [3, 6]]
+     *
+     * @param  mixed  ...$items
+     * @return static
+     */
+    public function zip($items);
+
+    /**
+     * Collect the values into a collection.
+     *
+     * @return \Tightenco\Collect\Support\Collection
+     */
+    public function collect();
+
+    /**
+     * Convert the collection to its string representation.
+     *
+     * @return string
+     */
+    public function __toString();
+
+    /**
+     * Add a method to the list of proxied methods.
+     *
+     * @param  string  $method
+     * @return void
+     */
+    public static function proxy($method);
+
+    /**
+     * Dynamically access collection proxies.
+     *
+     * @param  string  $key
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    public function __get($key);
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/HigherOrderCollectionProxy.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/HigherOrderCollectionProxy.php
new file mode 100644
index 0000000..01ac43f
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/HigherOrderCollectionProxy.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace Tightenco\Collect\Support;
+
+/**
+ * @mixin \Tightenco\Collect\Support\Enumerable
+ */
+class HigherOrderCollectionProxy
+{
+    /**
+     * The collection being operated on.
+     *
+     * @var \Tightenco\Collect\Support\Enumerable
+     */
+    protected $collection;
+
+    /**
+     * The method being proxied.
+     *
+     * @var string
+     */
+    protected $method;
+
+    /**
+     * Create a new proxy instance.
+     *
+     * @param  \Tightenco\Collect\Support\Enumerable  $collection
+     * @param  string  $method
+     * @return void
+     */
+    public function __construct(Enumerable $collection, $method)
+    {
+        $this->method = $method;
+        $this->collection = $collection;
+    }
+
+    /**
+     * Proxy accessing an attribute onto the collection items.
+     *
+     * @param  string  $key
+     * @return mixed
+     */
+    public function __get($key)
+    {
+        return $this->collection->{$this->method}(function ($value) use ($key) {
+            return is_array($value) ? $value[$key] : $value->{$key};
+        });
+    }
+
+    /**
+     * Proxy a method call onto the collection items.
+     *
+     * @param  string  $method
+     * @param  array  $parameters
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        return $this->collection->{$this->method}(function ($value) use ($method, $parameters) {
+            return $value->{$method}(...$parameters);
+        });
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/HigherOrderWhenProxy.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/HigherOrderWhenProxy.php
new file mode 100644
index 0000000..ea48c7c
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/HigherOrderWhenProxy.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace Tightenco\Collect\Support;
+
+/**
+ * @mixin \Tightenco\Collect\Support\Enumerable
+ */
+class HigherOrderWhenProxy
+{
+    /**
+     * The collection being operated on.
+     *
+     * @var \Tightenco\Collect\Support\Enumerable
+     */
+    protected $collection;
+
+    /**
+     * The condition for proxying.
+     *
+     * @var bool
+     */
+    protected $condition;
+
+    /**
+     * Create a new proxy instance.
+     *
+     * @param  \Tightenco\Collect\Support\Enumerable  $collection
+     * @param  bool  $condition
+     * @return void
+     */
+    public function __construct(Enumerable $collection, $condition)
+    {
+        $this->condition = $condition;
+        $this->collection = $collection;
+    }
+
+    /**
+     * Proxy accessing an attribute onto the collection.
+     *
+     * @param  string  $key
+     * @return mixed
+     */
+    public function __get($key)
+    {
+        return $this->condition
+            ? $this->collection->{$key}
+            : $this->collection;
+    }
+
+    /**
+     * Proxy a method call onto the collection.
+     *
+     * @param  string  $method
+     * @param  array  $parameters
+     * @return mixed
+     */
+    public function __call($method, $parameters)
+    {
+        return $this->condition
+            ? $this->collection->{$method}(...$parameters)
+            : $this->collection;
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php
new file mode 100644
index 0000000..da73cb2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/LazyCollection.php
@@ -0,0 +1,1417 @@
+<?php
+
+namespace Tightenco\Collect\Support;
+
+use ArrayIterator;
+use Closure;
+use DateTimeInterface;
+use Tightenco\Collect\Support\Traits\EnumeratesValues;
+use Tightenco\Collect\Support\Traits\Macroable;
+use IteratorAggregate;
+use stdClass;
+
+class LazyCollection implements Enumerable
+{
+    use EnumeratesValues, Macroable;
+
+    /**
+     * The source from which to generate items.
+     *
+     * @var callable|static
+     */
+    public $source;
+
+    /**
+     * Create a new lazy collection instance.
+     *
+     * @param  mixed  $source
+     * @return void
+     */
+    public function __construct($source = null)
+    {
+        if ($source instanceof Closure || $source instanceof self) {
+            $this->source = $source;
+        } elseif (is_null($source)) {
+            $this->source = static::empty();
+        } else {
+            $this->source = $this->getArrayableItems($source);
+        }
+    }
+
+    /**
+     * Create a collection with the given range.
+     *
+     * @param  int  $from
+     * @param  int  $to
+     * @return static
+     */
+    public static function range($from, $to)
+    {
+        return new static(function () use ($from, $to) {
+            if ($from <= $to) {
+                for (; $from <= $to; $from++) {
+                    yield $from;
+                }
+            } else {
+                for (; $from >= $to; $from--) {
+                    yield $from;
+                }
+            }
+        });
+    }
+
+    /**
+     * Get all items in the enumerable.
+     *
+     * @return array
+     */
+    public function all()
+    {
+        if (is_array($this->source)) {
+            return $this->source;
+        }
+
+        return iterator_to_array($this->getIterator());
+    }
+
+    /**
+     * Eager load all items into a new lazy collection backed by an array.
+     *
+     * @return static
+     */
+    public function eager()
+    {
+        return new static($this->all());
+    }
+
+    /**
+     * Cache values as they're enumerated.
+     *
+     * @return static
+     */
+    public function remember()
+    {
+        $iterator = $this->getIterator();
+
+        $iteratorIndex = 0;
+
+        $cache = [];
+
+        return new static(function () use ($iterator, &$iteratorIndex, &$cache) {
+            for ($index = 0; true; $index++) {
+                if (array_key_exists($index, $cache)) {
+                    yield $cache[$index][0] => $cache[$index][1];
+
+                    continue;
+                }
+
+                if ($iteratorIndex < $index) {
+                    $iterator->next();
+
+                    $iteratorIndex++;
+                }
+
+                if (! $iterator->valid()) {
+                    break;
+                }
+
+                $cache[$index] = [$iterator->key(), $iterator->current()];
+
+                yield $cache[$index][0] => $cache[$index][1];
+            }
+        });
+    }
+
+    /**
+     * Get the average value of a given key.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function avg($callback = null)
+    {
+        return $this->collect()->avg($callback);
+    }
+
+    /**
+     * Get the median of a given key.
+     *
+     * @param  string|array|null  $key
+     * @return mixed
+     */
+    public function median($key = null)
+    {
+        return $this->collect()->median($key);
+    }
+
+    /**
+     * Get the mode of a given key.
+     *
+     * @param  string|array|null  $key
+     * @return array|null
+     */
+    public function mode($key = null)
+    {
+        return $this->collect()->mode($key);
+    }
+
+    /**
+     * Collapse the collection of items into a single array.
+     *
+     * @return static
+     */
+    public function collapse()
+    {
+        return new static(function () {
+            foreach ($this as $values) {
+                if (is_array($values) || $values instanceof Enumerable) {
+                    foreach ($values as $value) {
+                        yield $value;
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * Determine if an item exists in the enumerable.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function contains($key, $operator = null, $value = null)
+    {
+        if (func_num_args() === 1 && $this->useAsCallable($key)) {
+            $placeholder = new stdClass;
+
+            return $this->first($key, $placeholder) !== $placeholder;
+        }
+
+        if (func_num_args() === 1) {
+            $needle = $key;
+
+            foreach ($this as $value) {
+                if ($value == $needle) {
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
+        return $this->contains($this->operatorForWhere(...func_get_args()));
+    }
+
+    /**
+     * Cross join the given iterables, returning all possible permutations.
+     *
+     * @param  array  ...$arrays
+     * @return static
+     */
+    public function crossJoin(...$arrays)
+    {
+        return $this->passthru('crossJoin', func_get_args());
+    }
+
+    /**
+     * Count the number of items in the collection by a field or using a callback.
+     *
+     * @param  callable|string  $countBy
+     * @return static
+     */
+    public function countBy($countBy = null)
+    {
+        $countBy = is_null($countBy)
+            ? $this->identity()
+            : $this->valueRetriever($countBy);
+
+        return new static(function () use ($countBy) {
+            $counts = [];
+
+            foreach ($this as $key => $value) {
+                $group = $countBy($value, $key);
+
+                if (empty($counts[$group])) {
+                    $counts[$group] = 0;
+                }
+
+                $counts[$group]++;
+            }
+
+            yield from $counts;
+        });
+    }
+
+    /**
+     * Get the items that are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diff($items)
+    {
+        return $this->passthru('diff', func_get_args());
+    }
+
+    /**
+     * Get the items that are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffUsing($items, callable $callback)
+    {
+        return $this->passthru('diffUsing', func_get_args());
+    }
+
+    /**
+     * Get the items whose keys and values are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diffAssoc($items)
+    {
+        return $this->passthru('diffAssoc', func_get_args());
+    }
+
+    /**
+     * Get the items whose keys and values are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffAssocUsing($items, callable $callback)
+    {
+        return $this->passthru('diffAssocUsing', func_get_args());
+    }
+
+    /**
+     * Get the items whose keys are not present in the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function diffKeys($items)
+    {
+        return $this->passthru('diffKeys', func_get_args());
+    }
+
+    /**
+     * Get the items whose keys are not present in the given items, using the callback.
+     *
+     * @param  mixed  $items
+     * @param  callable  $callback
+     * @return static
+     */
+    public function diffKeysUsing($items, callable $callback)
+    {
+        return $this->passthru('diffKeysUsing', func_get_args());
+    }
+
+    /**
+     * Retrieve duplicate items.
+     *
+     * @param  callable|null  $callback
+     * @param  bool  $strict
+     * @return static
+     */
+    public function duplicates($callback = null, $strict = false)
+    {
+        return $this->passthru('duplicates', func_get_args());
+    }
+
+    /**
+     * Retrieve duplicate items using strict comparison.
+     *
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public function duplicatesStrict($callback = null)
+    {
+        return $this->passthru('duplicatesStrict', func_get_args());
+    }
+
+    /**
+     * Get all items except for those with the specified keys.
+     *
+     * @param  mixed  $keys
+     * @return static
+     */
+    public function except($keys)
+    {
+        return $this->passthru('except', func_get_args());
+    }
+
+    /**
+     * Run a filter over each of the items.
+     *
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public function filter(callable $callback = null)
+    {
+        if (is_null($callback)) {
+            $callback = function ($value) {
+                return (bool) $value;
+            };
+        }
+
+        return new static(function () use ($callback) {
+            foreach ($this as $key => $value) {
+                if ($callback($value, $key)) {
+                    yield $key => $value;
+                }
+            }
+        });
+    }
+
+    /**
+     * Get the first item from the enumerable passing the given truth test.
+     *
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function first(callable $callback = null, $default = null)
+    {
+        $iterator = $this->getIterator();
+
+        if (is_null($callback)) {
+            if (! $iterator->valid()) {
+                return value($default);
+            }
+
+            return $iterator->current();
+        }
+
+        foreach ($iterator as $key => $value) {
+            if ($callback($value, $key)) {
+                return $value;
+            }
+        }
+
+        return value($default);
+    }
+
+    /**
+     * Get a flattened list of the items in the collection.
+     *
+     * @param  int  $depth
+     * @return static
+     */
+    public function flatten($depth = INF)
+    {
+        $instance = new static(function () use ($depth) {
+            foreach ($this as $item) {
+                if (! is_array($item) && ! $item instanceof Enumerable) {
+                    yield $item;
+                } elseif ($depth === 1) {
+                    yield from $item;
+                } else {
+                    yield from (new static($item))->flatten($depth - 1);
+                }
+            }
+        });
+
+        return $instance->values();
+    }
+
+    /**
+     * Flip the items in the collection.
+     *
+     * @return static
+     */
+    public function flip()
+    {
+        return new static(function () {
+            foreach ($this as $key => $value) {
+                yield $value => $key;
+            }
+        });
+    }
+
+    /**
+     * Get an item by key.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function get($key, $default = null)
+    {
+        if (is_null($key)) {
+            return;
+        }
+
+        foreach ($this as $outerKey => $outerValue) {
+            if ($outerKey == $key) {
+                return $outerValue;
+            }
+        }
+
+        return value($default);
+    }
+
+    /**
+     * Group an associative array by a field or using a callback.
+     *
+     * @param  array|callable|string  $groupBy
+     * @param  bool  $preserveKeys
+     * @return static
+     */
+    public function groupBy($groupBy, $preserveKeys = false)
+    {
+        return $this->passthru('groupBy', func_get_args());
+    }
+
+    /**
+     * Key an associative array by a field or using a callback.
+     *
+     * @param  callable|string  $keyBy
+     * @return static
+     */
+    public function keyBy($keyBy)
+    {
+        return new static(function () use ($keyBy) {
+            $keyBy = $this->valueRetriever($keyBy);
+
+            foreach ($this as $key => $item) {
+                $resolvedKey = $keyBy($item, $key);
+
+                if (is_object($resolvedKey)) {
+                    $resolvedKey = (string) $resolvedKey;
+                }
+
+                yield $resolvedKey => $item;
+            }
+        });
+    }
+
+    /**
+     * Determine if an item exists in the collection by key.
+     *
+     * @param  mixed  $key
+     * @return bool
+     */
+    public function has($key)
+    {
+        $keys = array_flip(is_array($key) ? $key : func_get_args());
+        $count = count($keys);
+
+        foreach ($this as $key => $value) {
+            if (array_key_exists($key, $keys) && --$count == 0) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Concatenate values of a given key as a string.
+     *
+     * @param  string  $value
+     * @param  string|null  $glue
+     * @return string
+     */
+    public function implode($value, $glue = null)
+    {
+        return $this->collect()->implode(...func_get_args());
+    }
+
+    /**
+     * Intersect the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function intersect($items)
+    {
+        return $this->passthru('intersect', func_get_args());
+    }
+
+    /**
+     * Intersect the collection with the given items by key.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function intersectByKeys($items)
+    {
+        return $this->passthru('intersectByKeys', func_get_args());
+    }
+
+    /**
+     * Determine if the items are empty or not.
+     *
+     * @return bool
+     */
+    public function isEmpty()
+    {
+        return ! $this->getIterator()->valid();
+    }
+
+    /**
+     * Determine if the collection contains a single item.
+     *
+     * @return bool
+     */
+    public function containsOneItem()
+    {
+        return $this->take(2)->count() === 1;
+    }
+
+    /**
+     * Join all items from the collection using a string. The final items can use a separate glue string.
+     *
+     * @param  string  $glue
+     * @param  string  $finalGlue
+     * @return string
+     */
+    public function join($glue, $finalGlue = '')
+    {
+        return $this->collect()->join(...func_get_args());
+    }
+
+    /**
+     * Get the keys of the collection items.
+     *
+     * @return static
+     */
+    public function keys()
+    {
+        return new static(function () {
+            foreach ($this as $key => $value) {
+                yield $key;
+            }
+        });
+    }
+
+    /**
+     * Get the last item from the collection.
+     *
+     * @param  callable|null  $callback
+     * @param  mixed  $default
+     * @return mixed
+     */
+    public function last(callable $callback = null, $default = null)
+    {
+        $needle = $placeholder = new stdClass;
+
+        foreach ($this as $key => $value) {
+            if (is_null($callback) || $callback($value, $key)) {
+                $needle = $value;
+            }
+        }
+
+        return $needle === $placeholder ? value($default) : $needle;
+    }
+
+    /**
+     * Get the values of a given key.
+     *
+     * @param  string|array  $value
+     * @param  string|null  $key
+     * @return static
+     */
+    public function pluck($value, $key = null)
+    {
+        return new static(function () use ($value, $key) {
+            [$value, $key] = $this->explodePluckParameters($value, $key);
+
+            foreach ($this as $item) {
+                $itemValue = data_get($item, $value);
+
+                if (is_null($key)) {
+                    yield $itemValue;
+                } else {
+                    $itemKey = data_get($item, $key);
+
+                    if (is_object($itemKey) && method_exists($itemKey, '__toString')) {
+                        $itemKey = (string) $itemKey;
+                    }
+
+                    yield $itemKey => $itemValue;
+                }
+            }
+        });
+    }
+
+    /**
+     * Run a map over each of the items.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function map(callable $callback)
+    {
+        return new static(function () use ($callback) {
+            foreach ($this as $key => $value) {
+                yield $key => $callback($value, $key);
+            }
+        });
+    }
+
+    /**
+     * Run a dictionary map over the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapToDictionary(callable $callback)
+    {
+        return $this->passthru('mapToDictionary', func_get_args());
+    }
+
+    /**
+     * Run an associative map over each of the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapWithKeys(callable $callback)
+    {
+        return new static(function () use ($callback) {
+            foreach ($this as $key => $value) {
+                yield from $callback($value, $key);
+            }
+        });
+    }
+
+    /**
+     * Merge the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function merge($items)
+    {
+        return $this->passthru('merge', func_get_args());
+    }
+
+    /**
+     * Recursively merge the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function mergeRecursive($items)
+    {
+        return $this->passthru('mergeRecursive', func_get_args());
+    }
+
+    /**
+     * Create a collection by using this collection for keys and another for its values.
+     *
+     * @param  mixed  $values
+     * @return static
+     */
+    public function combine($values)
+    {
+        return new static(function () use ($values) {
+            $values = $this->makeIterator($values);
+
+            $errorMessage = 'Both parameters should have an equal number of elements';
+
+            foreach ($this as $key) {
+                if (! $values->valid()) {
+                    trigger_error($errorMessage, E_USER_WARNING);
+
+                    break;
+                }
+
+                yield $key => $values->current();
+
+                $values->next();
+            }
+
+            if ($values->valid()) {
+                trigger_error($errorMessage, E_USER_WARNING);
+            }
+        });
+    }
+
+    /**
+     * Union the collection with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function union($items)
+    {
+        return $this->passthru('union', func_get_args());
+    }
+
+    /**
+     * Create a new collection consisting of every n-th element.
+     *
+     * @param  int  $step
+     * @param  int  $offset
+     * @return static
+     */
+    public function nth($step, $offset = 0)
+    {
+        return new static(function () use ($step, $offset) {
+            $position = 0;
+
+            foreach ($this as $item) {
+                if ($position % $step === $offset) {
+                    yield $item;
+                }
+
+                $position++;
+            }
+        });
+    }
+
+    /**
+     * Get the items with the specified keys.
+     *
+     * @param  mixed  $keys
+     * @return static
+     */
+    public function only($keys)
+    {
+        if ($keys instanceof Enumerable) {
+            $keys = $keys->all();
+        } elseif (! is_null($keys)) {
+            $keys = is_array($keys) ? $keys : func_get_args();
+        }
+
+        return new static(function () use ($keys) {
+            if (is_null($keys)) {
+                yield from $this;
+            } else {
+                $keys = array_flip($keys);
+
+                foreach ($this as $key => $value) {
+                    if (array_key_exists($key, $keys)) {
+                        yield $key => $value;
+
+                        unset($keys[$key]);
+
+                        if (empty($keys)) {
+                            break;
+                        }
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * Push all of the given items onto the collection.
+     *
+     * @param  iterable  $source
+     * @return static
+     */
+    public function concat($source)
+    {
+        return (new static(function () use ($source) {
+            yield from $this;
+            yield from $source;
+        }))->values();
+    }
+
+    /**
+     * Get one or a specified number of items randomly from the collection.
+     *
+     * @param  int|null  $number
+     * @return static|mixed
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function random($number = null)
+    {
+        $result = $this->collect()->random(...func_get_args());
+
+        return is_null($number) ? $result : new static($result);
+    }
+
+    /**
+     * Replace the collection items with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function replace($items)
+    {
+        return new static(function () use ($items) {
+            $items = $this->getArrayableItems($items);
+
+            foreach ($this as $key => $value) {
+                if (array_key_exists($key, $items)) {
+                    yield $key => $items[$key];
+
+                    unset($items[$key]);
+                } else {
+                    yield $key => $value;
+                }
+            }
+
+            foreach ($items as $key => $value) {
+                yield $key => $value;
+            }
+        });
+    }
+
+    /**
+     * Recursively replace the collection items with the given items.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public function replaceRecursive($items)
+    {
+        return $this->passthru('replaceRecursive', func_get_args());
+    }
+
+    /**
+     * Reverse items order.
+     *
+     * @return static
+     */
+    public function reverse()
+    {
+        return $this->passthru('reverse', func_get_args());
+    }
+
+    /**
+     * Search the collection for a given value and return the corresponding key if successful.
+     *
+     * @param  mixed  $value
+     * @param  bool  $strict
+     * @return mixed
+     */
+    public function search($value, $strict = false)
+    {
+        $predicate = $this->useAsCallable($value)
+            ? $value
+            : function ($item) use ($value, $strict) {
+                return $strict ? $item === $value : $item == $value;
+            };
+
+        foreach ($this as $key => $item) {
+            if ($predicate($item, $key)) {
+                return $key;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Shuffle the items in the collection.
+     *
+     * @param  int|null  $seed
+     * @return static
+     */
+    public function shuffle($seed = null)
+    {
+        return $this->passthru('shuffle', func_get_args());
+    }
+
+    /**
+     * Skip the first {$count} items.
+     *
+     * @param  int  $count
+     * @return static
+     */
+    public function skip($count)
+    {
+        return new static(function () use ($count) {
+            $iterator = $this->getIterator();
+
+            while ($iterator->valid() && $count--) {
+                $iterator->next();
+            }
+
+            while ($iterator->valid()) {
+                yield $iterator->key() => $iterator->current();
+
+                $iterator->next();
+            }
+        });
+    }
+
+    /**
+     * Skip items in the collection until the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function skipUntil($value)
+    {
+        $callback = $this->useAsCallable($value) ? $value : $this->equality($value);
+
+        return $this->skipWhile($this->negate($callback));
+    }
+
+    /**
+     * Skip items in the collection while the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function skipWhile($value)
+    {
+        $callback = $this->useAsCallable($value) ? $value : $this->equality($value);
+
+        return new static(function () use ($callback) {
+            $iterator = $this->getIterator();
+
+            while ($iterator->valid() && $callback($iterator->current(), $iterator->key())) {
+                $iterator->next();
+            }
+
+            while ($iterator->valid()) {
+                yield $iterator->key() => $iterator->current();
+
+                $iterator->next();
+            }
+        });
+    }
+
+    /**
+     * Get a slice of items from the enumerable.
+     *
+     * @param  int  $offset
+     * @param  int|null  $length
+     * @return static
+     */
+    public function slice($offset, $length = null)
+    {
+        if ($offset < 0 || $length < 0) {
+            return $this->passthru('slice', func_get_args());
+        }
+
+        $instance = $this->skip($offset);
+
+        return is_null($length) ? $instance : $instance->take($length);
+    }
+
+    /**
+     * Split a collection into a certain number of groups.
+     *
+     * @param  int  $numberOfGroups
+     * @return static
+     */
+    public function split($numberOfGroups)
+    {
+        return $this->passthru('split', func_get_args());
+    }
+
+    /**
+     * Chunk the collection into chunks of the given size.
+     *
+     * @param  int  $size
+     * @return static
+     */
+    public function chunk($size)
+    {
+        if ($size <= 0) {
+            return static::empty();
+        }
+
+        return new static(function () use ($size) {
+            $iterator = $this->getIterator();
+
+            while ($iterator->valid()) {
+                $chunk = [];
+
+                while (true) {
+                    $chunk[$iterator->key()] = $iterator->current();
+
+                    if (count($chunk) < $size) {
+                        $iterator->next();
+
+                        if (! $iterator->valid()) {
+                            break;
+                        }
+                    } else {
+                        break;
+                    }
+                }
+
+                yield new static($chunk);
+
+                $iterator->next();
+            }
+        });
+    }
+
+    /**
+     * Split a collection into a certain number of groups, and fill the first groups completely.
+     *
+     * @param  int  $numberOfGroups
+     * @return static
+     */
+    public function splitIn($numberOfGroups)
+    {
+        return $this->chunk(ceil($this->count() / $numberOfGroups));
+    }
+
+    /**
+     * Chunk the collection into chunks with a callback.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function chunkWhile(callable $callback)
+    {
+        return new static(function () use ($callback) {
+            $iterator = $this->getIterator();
+
+            $chunk = new Collection;
+
+            if ($iterator->valid()) {
+                $chunk[$iterator->key()] = $iterator->current();
+
+                $iterator->next();
+            }
+
+            while ($iterator->valid()) {
+                if (! $callback($iterator->current(), $iterator->key(), $chunk)) {
+                    yield new static($chunk);
+
+                    $chunk = new Collection;
+                }
+
+                $chunk[$iterator->key()] = $iterator->current();
+
+                $iterator->next();
+            }
+
+            if ($chunk->isNotEmpty()) {
+                yield new static($chunk);
+            }
+        });
+    }
+
+    /**
+     * Sort through each item with a callback.
+     *
+     * @param  callable|null|int  $callback
+     * @return static
+     */
+    public function sort($callback = null)
+    {
+        return $this->passthru('sort', func_get_args());
+    }
+
+    /**
+     * Sort items in descending order.
+     *
+     * @param  int  $options
+     * @return static
+     */
+    public function sortDesc($options = SORT_REGULAR)
+    {
+        return $this->passthru('sortDesc', func_get_args());
+    }
+
+    /**
+     * Sort the collection using the given callback.
+     *
+     * @param  callable|string  $callback
+     * @param  int  $options
+     * @param  bool  $descending
+     * @return static
+     */
+    public function sortBy($callback, $options = SORT_REGULAR, $descending = false)
+    {
+        return $this->passthru('sortBy', func_get_args());
+    }
+
+    /**
+     * Sort the collection in descending order using the given callback.
+     *
+     * @param  callable|string  $callback
+     * @param  int  $options
+     * @return static
+     */
+    public function sortByDesc($callback, $options = SORT_REGULAR)
+    {
+        return $this->passthru('sortByDesc', func_get_args());
+    }
+
+    /**
+     * Sort the collection keys.
+     *
+     * @param  int  $options
+     * @param  bool  $descending
+     * @return static
+     */
+    public function sortKeys($options = SORT_REGULAR, $descending = false)
+    {
+        return $this->passthru('sortKeys', func_get_args());
+    }
+
+    /**
+     * Sort the collection keys in descending order.
+     *
+     * @param  int  $options
+     * @return static
+     */
+    public function sortKeysDesc($options = SORT_REGULAR)
+    {
+        return $this->passthru('sortKeysDesc', func_get_args());
+    }
+
+    /**
+     * Take the first or last {$limit} items.
+     *
+     * @param  int  $limit
+     * @return static
+     */
+    public function take($limit)
+    {
+        if ($limit < 0) {
+            return $this->passthru('take', func_get_args());
+        }
+
+        return new static(function () use ($limit) {
+            $iterator = $this->getIterator();
+
+            while ($limit--) {
+                if (! $iterator->valid()) {
+                    break;
+                }
+
+                yield $iterator->key() => $iterator->current();
+
+                if ($limit) {
+                    $iterator->next();
+                }
+            }
+        });
+    }
+
+    /**
+     * Take items in the collection until the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function takeUntil($value)
+    {
+        $callback = $this->useAsCallable($value) ? $value : $this->equality($value);
+
+        return new static(function () use ($callback) {
+            foreach ($this as $key => $item) {
+                if ($callback($item, $key)) {
+                    break;
+                }
+
+                yield $key => $item;
+            }
+        });
+    }
+
+    /**
+     * Take items in the collection until a given point in time.
+     *
+     * @param  \DateTimeInterface  $timeout
+     * @return static
+     */
+    public function takeUntilTimeout(DateTimeInterface $timeout)
+    {
+        $timeout = $timeout->getTimestamp();
+
+        return $this->takeWhile(function () use ($timeout) {
+            return $this->now() < $timeout;
+        });
+    }
+
+    /**
+     * Take items in the collection while the given condition is met.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public function takeWhile($value)
+    {
+        $callback = $this->useAsCallable($value) ? $value : $this->equality($value);
+
+        return $this->takeUntil(function ($item, $key) use ($callback) {
+            return ! $callback($item, $key);
+        });
+    }
+
+    /**
+     * Pass each item in the collection to the given callback, lazily.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function tapEach(callable $callback)
+    {
+        return new static(function () use ($callback) {
+            foreach ($this as $key => $value) {
+                $callback($value, $key);
+
+                yield $key => $value;
+            }
+        });
+    }
+
+    /**
+     * Reset the keys on the underlying array.
+     *
+     * @return static
+     */
+    public function values()
+    {
+        return new static(function () {
+            foreach ($this as $item) {
+                yield $item;
+            }
+        });
+    }
+
+    /**
+     * Zip the collection together with one or more arrays.
+     *
+     * e.g. new LazyCollection([1, 2, 3])->zip([4, 5, 6]);
+     *      => [[1, 4], [2, 5], [3, 6]]
+     *
+     * @param  mixed  ...$items
+     * @return static
+     */
+    public function zip($items)
+    {
+        $iterables = func_get_args();
+
+        return new static(function () use ($iterables) {
+            $iterators = Collection::make($iterables)->map(function ($iterable) {
+                return $this->makeIterator($iterable);
+            })->prepend($this->getIterator());
+
+            while ($iterators->contains->valid()) {
+                yield new static($iterators->map->current());
+
+                $iterators->each->next();
+            }
+        });
+    }
+
+    /**
+     * Pad collection to the specified length with a value.
+     *
+     * @param  int  $size
+     * @param  mixed  $value
+     * @return static
+     */
+    public function pad($size, $value)
+    {
+        if ($size < 0) {
+            return $this->passthru('pad', func_get_args());
+        }
+
+        return new static(function () use ($size, $value) {
+            $yielded = 0;
+
+            foreach ($this as $index => $item) {
+                yield $index => $item;
+
+                $yielded++;
+            }
+
+            while ($yielded++ < $size) {
+                yield $value;
+            }
+        });
+    }
+
+    /**
+     * Get the values iterator.
+     *
+     * @return \Traversable
+     */
+    public function getIterator()
+    {
+        return $this->makeIterator($this->source);
+    }
+
+    /**
+     * Count the number of items in the collection.
+     *
+     * @return int
+     */
+    public function count()
+    {
+        if (is_array($this->source)) {
+            return count($this->source);
+        }
+
+        return iterator_count($this->getIterator());
+    }
+
+    /**
+     * Make an iterator from the given source.
+     *
+     * @param  mixed  $source
+     * @return \Traversable
+     */
+    protected function makeIterator($source)
+    {
+        if ($source instanceof IteratorAggregate) {
+            return $source->getIterator();
+        }
+
+        if (is_array($source)) {
+            return new ArrayIterator($source);
+        }
+
+        return $source();
+    }
+
+    /**
+     * Explode the "value" and "key" arguments passed to "pluck".
+     *
+     * @param  string|array  $value
+     * @param  string|array|null  $key
+     * @return array
+     */
+    protected function explodePluckParameters($value, $key)
+    {
+        $value = is_string($value) ? explode('.', $value) : $value;
+
+        $key = is_null($key) || is_array($key) ? $key : explode('.', $key);
+
+        return [$value, $key];
+    }
+
+    /**
+     * Pass this lazy collection through a method on the collection class.
+     *
+     * @param  string  $method
+     * @param  array  $params
+     * @return static
+     */
+    protected function passthru($method, array $params)
+    {
+        return new static(function () use ($method, $params) {
+            yield from $this->collect()->$method(...$params);
+        });
+    }
+
+    /**
+     * Get the current time.
+     *
+     * @return int
+     */
+    protected function now()
+    {
+        return time();
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php
new file mode 100644
index 0000000..2ff7d36
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php
@@ -0,0 +1,1056 @@
+<?php
+
+namespace Tightenco\Collect\Support\Traits;
+
+use CachingIterator;
+use Closure;
+use Exception;
+use Tightenco\Collect\Contracts\Support\Arrayable;
+use Tightenco\Collect\Contracts\Support\Jsonable;
+use Tightenco\Collect\Support\Arr;
+use Tightenco\Collect\Support\Collection;
+use Tightenco\Collect\Support\Enumerable;
+use Tightenco\Collect\Support\HigherOrderCollectionProxy;
+use Tightenco\Collect\Support\HigherOrderWhenProxy;
+use JsonSerializable;
+use Symfony\Component\VarDumper\VarDumper;
+use Traversable;
+
+/**
+ * @property-read HigherOrderCollectionProxy $average
+ * @property-read HigherOrderCollectionProxy $avg
+ * @property-read HigherOrderCollectionProxy $contains
+ * @property-read HigherOrderCollectionProxy $each
+ * @property-read HigherOrderCollectionProxy $every
+ * @property-read HigherOrderCollectionProxy $filter
+ * @property-read HigherOrderCollectionProxy $first
+ * @property-read HigherOrderCollectionProxy $flatMap
+ * @property-read HigherOrderCollectionProxy $groupBy
+ * @property-read HigherOrderCollectionProxy $keyBy
+ * @property-read HigherOrderCollectionProxy $map
+ * @property-read HigherOrderCollectionProxy $max
+ * @property-read HigherOrderCollectionProxy $min
+ * @property-read HigherOrderCollectionProxy $partition
+ * @property-read HigherOrderCollectionProxy $reject
+ * @property-read HigherOrderCollectionProxy $some
+ * @property-read HigherOrderCollectionProxy $sortBy
+ * @property-read HigherOrderCollectionProxy $sortByDesc
+ * @property-read HigherOrderCollectionProxy $skipUntil
+ * @property-read HigherOrderCollectionProxy $skipWhile
+ * @property-read HigherOrderCollectionProxy $sum
+ * @property-read HigherOrderCollectionProxy $takeUntil
+ * @property-read HigherOrderCollectionProxy $takeWhile
+ * @property-read HigherOrderCollectionProxy $unique
+ * @property-read HigherOrderCollectionProxy $until
+ */
+trait EnumeratesValues
+{
+    /**
+     * The methods that can be proxied.
+     *
+     * @var string[]
+     */
+    protected static $proxies = [
+        'average',
+        'avg',
+        'contains',
+        'each',
+        'every',
+        'filter',
+        'first',
+        'flatMap',
+        'groupBy',
+        'keyBy',
+        'map',
+        'max',
+        'min',
+        'partition',
+        'reject',
+        'skipUntil',
+        'skipWhile',
+        'some',
+        'sortBy',
+        'sortByDesc',
+        'sum',
+        'takeUntil',
+        'takeWhile',
+        'unique',
+        'until',
+    ];
+
+    /**
+     * Create a new collection instance if the value isn't one already.
+     *
+     * @param  mixed  $items
+     * @return static
+     */
+    public static function make($items = [])
+    {
+        return new static($items);
+    }
+
+    /**
+     * Wrap the given value in a collection if applicable.
+     *
+     * @param  mixed  $value
+     * @return static
+     */
+    public static function wrap($value)
+    {
+        return $value instanceof Enumerable
+            ? new static($value)
+            : new static(Arr::wrap($value));
+    }
+
+    /**
+     * Get the underlying items from the given collection if applicable.
+     *
+     * @param  array|static  $value
+     * @return array
+     */
+    public static function unwrap($value)
+    {
+        return $value instanceof Enumerable ? $value->all() : $value;
+    }
+
+    /**
+     * Create a new instance with no items.
+     *
+     * @return static
+     */
+    public static function empty()
+    {
+        return new static([]);
+    }
+
+    /**
+     * Create a new collection by invoking the callback a given amount of times.
+     *
+     * @param  int  $number
+     * @param  callable|null  $callback
+     * @return static
+     */
+    public static function times($number, callable $callback = null)
+    {
+        if ($number < 1) {
+            return new static;
+        }
+
+        return static::range(1, $number)
+            ->when($callback)
+            ->map($callback);
+    }
+
+    /**
+     * Alias for the "avg" method.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function average($callback = null)
+    {
+        return $this->avg($callback);
+    }
+
+    /**
+     * Alias for the "contains" method.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function some($key, $operator = null, $value = null)
+    {
+        return $this->contains(...func_get_args());
+    }
+
+    /**
+     * Determine if an item exists, using strict comparison.
+     *
+     * @param  mixed  $key
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function containsStrict($key, $value = null)
+    {
+        if (func_num_args() === 2) {
+            return $this->contains(function ($item) use ($key, $value) {
+                return data_get($item, $key) === $value;
+            });
+        }
+
+        if ($this->useAsCallable($key)) {
+            return ! is_null($this->first($key));
+        }
+
+        foreach ($this as $item) {
+            if ($item === $key) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Dump the items and end the script.
+     *
+     * @param  mixed  ...$args
+     * @return void
+     */
+    public function dd(...$args)
+    {
+        $this->dump(...$args);
+
+        exit(1);
+    }
+
+    /**
+     * Dump the items.
+     *
+     * @return $this
+     */
+    public function dump()
+    {
+        (new Collection(func_get_args()))
+            ->push($this->all())
+            ->each(function ($item) {
+                VarDumper::dump($item);
+            });
+
+        return $this;
+    }
+
+    /**
+     * Execute a callback over each item.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function each(callable $callback)
+    {
+        foreach ($this as $key => $item) {
+            if ($callback($item, $key) === false) {
+                break;
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Execute a callback over each nested chunk of items.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function eachSpread(callable $callback)
+    {
+        return $this->each(function ($chunk, $key) use ($callback) {
+            $chunk[] = $key;
+
+            return $callback(...$chunk);
+        });
+    }
+
+    /**
+     * Determine if all items pass the given truth test.
+     *
+     * @param  string|callable  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return bool
+     */
+    public function every($key, $operator = null, $value = null)
+    {
+        if (func_num_args() === 1) {
+            $callback = $this->valueRetriever($key);
+
+            foreach ($this as $k => $v) {
+                if (! $callback($v, $k)) {
+                    return false;
+                }
+            }
+
+            return true;
+        }
+
+        return $this->every($this->operatorForWhere(...func_get_args()));
+    }
+
+    /**
+     * Get the first item by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return mixed
+     */
+    public function firstWhere($key, $operator = null, $value = null)
+    {
+        return $this->first($this->operatorForWhere(...func_get_args()));
+    }
+
+    /**
+     * Determine if the collection is not empty.
+     *
+     * @return bool
+     */
+    public function isNotEmpty()
+    {
+        return ! $this->isEmpty();
+    }
+
+    /**
+     * Run a map over each nested chunk of items.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapSpread(callable $callback)
+    {
+        return $this->map(function ($chunk, $key) use ($callback) {
+            $chunk[] = $key;
+
+            return $callback(...$chunk);
+        });
+    }
+
+    /**
+     * Run a grouping map over the items.
+     *
+     * The callback should return an associative array with a single key/value pair.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function mapToGroups(callable $callback)
+    {
+        $groups = $this->mapToDictionary($callback);
+
+        return $groups->map([$this, 'make']);
+    }
+
+    /**
+     * Map a collection and flatten the result by a single level.
+     *
+     * @param  callable  $callback
+     * @return static
+     */
+    public function flatMap(callable $callback)
+    {
+        return $this->map($callback)->collapse();
+    }
+
+    /**
+     * Map the values into a new class.
+     *
+     * @param  string  $class
+     * @return static
+     */
+    public function mapInto($class)
+    {
+        return $this->map(function ($value, $key) use ($class) {
+            return new $class($value, $key);
+        });
+    }
+
+    /**
+     * Get the min value of a given key.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function min($callback = null)
+    {
+        $callback = $this->valueRetriever($callback);
+
+        return $this->map(function ($value) use ($callback) {
+            return $callback($value);
+        })->filter(function ($value) {
+            return ! is_null($value);
+        })->reduce(function ($result, $value) {
+            return is_null($result) || $value < $result ? $value : $result;
+        });
+    }
+
+    /**
+     * Get the max value of a given key.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function max($callback = null)
+    {
+        $callback = $this->valueRetriever($callback);
+
+        return $this->filter(function ($value) {
+            return ! is_null($value);
+        })->reduce(function ($result, $item) use ($callback) {
+            $value = $callback($item);
+
+            return is_null($result) || $value > $result ? $value : $result;
+        });
+    }
+
+    /**
+     * "Paginate" the collection by slicing it into a smaller collection.
+     *
+     * @param  int  $page
+     * @param  int  $perPage
+     * @return static
+     */
+    public function forPage($page, $perPage)
+    {
+        $offset = max(0, ($page - 1) * $perPage);
+
+        return $this->slice($offset, $perPage);
+    }
+
+    /**
+     * Partition the collection into two arrays using the given callback or key.
+     *
+     * @param  callable|string  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return static
+     */
+    public function partition($key, $operator = null, $value = null)
+    {
+        $passed = [];
+        $failed = [];
+
+        $callback = func_num_args() === 1
+                ? $this->valueRetriever($key)
+                : $this->operatorForWhere(...func_get_args());
+
+        foreach ($this as $key => $item) {
+            if ($callback($item, $key)) {
+                $passed[$key] = $item;
+            } else {
+                $failed[$key] = $item;
+            }
+        }
+
+        return new static([new static($passed), new static($failed)]);
+    }
+
+    /**
+     * Get the sum of the given values.
+     *
+     * @param  callable|string|null  $callback
+     * @return mixed
+     */
+    public function sum($callback = null)
+    {
+        $callback = is_null($callback)
+            ? $this->identity()
+            : $this->valueRetriever($callback);
+
+        return $this->reduce(function ($result, $item) use ($callback) {
+            return $result + $callback($item);
+        }, 0);
+    }
+
+    /**
+     * Apply the callback if the value is truthy.
+     *
+     * @param  bool|mixed  $value
+     * @param  callable|null  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function when($value, callable $callback = null, callable $default = null)
+    {
+        if (! $callback) {
+            return new HigherOrderWhenProxy($this, $value);
+        }
+
+        if ($value) {
+            return $callback($this, $value);
+        } elseif ($default) {
+            return $default($this, $value);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Apply the callback if the collection is empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function whenEmpty(callable $callback, callable $default = null)
+    {
+        return $this->when($this->isEmpty(), $callback, $default);
+    }
+
+    /**
+     * Apply the callback if the collection is not empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function whenNotEmpty(callable $callback, callable $default = null)
+    {
+        return $this->when($this->isNotEmpty(), $callback, $default);
+    }
+
+    /**
+     * Apply the callback if the value is falsy.
+     *
+     * @param  bool  $value
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function unless($value, callable $callback, callable $default = null)
+    {
+        return $this->when(! $value, $callback, $default);
+    }
+
+    /**
+     * Apply the callback unless the collection is empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function unlessEmpty(callable $callback, callable $default = null)
+    {
+        return $this->whenNotEmpty($callback, $default);
+    }
+
+    /**
+     * Apply the callback unless the collection is not empty.
+     *
+     * @param  callable  $callback
+     * @param  callable|null  $default
+     * @return static|mixed
+     */
+    public function unlessNotEmpty(callable $callback, callable $default = null)
+    {
+        return $this->whenEmpty($callback, $default);
+    }
+
+    /**
+     * Filter items by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $operator
+     * @param  mixed  $value
+     * @return static
+     */
+    public function where($key, $operator = null, $value = null)
+    {
+        return $this->filter($this->operatorForWhere(...func_get_args()));
+    }
+
+    /**
+     * Filter items where the value for the given key is null.
+     *
+     * @param  string|null  $key
+     * @return static
+     */
+    public function whereNull($key = null)
+    {
+        return $this->whereStrict($key, null);
+    }
+
+    /**
+     * Filter items where the value for the given key is not null.
+     *
+     * @param  string|null  $key
+     * @return static
+     */
+    public function whereNotNull($key = null)
+    {
+        return $this->where($key, '!==', null);
+    }
+
+    /**
+     * Filter items by the given key value pair using strict comparison.
+     *
+     * @param  string  $key
+     * @param  mixed  $value
+     * @return static
+     */
+    public function whereStrict($key, $value)
+    {
+        return $this->where($key, '===', $value);
+    }
+
+    /**
+     * Filter items by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @param  bool  $strict
+     * @return static
+     */
+    public function whereIn($key, $values, $strict = false)
+    {
+        $values = $this->getArrayableItems($values);
+
+        return $this->filter(function ($item) use ($key, $values, $strict) {
+            return in_array(data_get($item, $key), $values, $strict);
+        });
+    }
+
+    /**
+     * Filter items by the given key value pair using strict comparison.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @return static
+     */
+    public function whereInStrict($key, $values)
+    {
+        return $this->whereIn($key, $values, true);
+    }
+
+    /**
+     * Filter items such that the value of the given key is between the given values.
+     *
+     * @param  string  $key
+     * @param  array  $values
+     * @return static
+     */
+    public function whereBetween($key, $values)
+    {
+        return $this->where($key, '>=', reset($values))->where($key, '<=', end($values));
+    }
+
+    /**
+     * Filter items such that the value of the given key is not between the given values.
+     *
+     * @param  string  $key
+     * @param  array  $values
+     * @return static
+     */
+    public function whereNotBetween($key, $values)
+    {
+        return $this->filter(function ($item) use ($key, $values) {
+            return data_get($item, $key) < reset($values) || data_get($item, $key) > end($values);
+        });
+    }
+
+    /**
+     * Filter items by the given key value pair.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @param  bool  $strict
+     * @return static
+     */
+    public function whereNotIn($key, $values, $strict = false)
+    {
+        $values = $this->getArrayableItems($values);
+
+        return $this->reject(function ($item) use ($key, $values, $strict) {
+            return in_array(data_get($item, $key), $values, $strict);
+        });
+    }
+
+    /**
+     * Filter items by the given key value pair using strict comparison.
+     *
+     * @param  string  $key
+     * @param  mixed  $values
+     * @return static
+     */
+    public function whereNotInStrict($key, $values)
+    {
+        return $this->whereNotIn($key, $values, true);
+    }
+
+    /**
+     * Filter the items, removing any items that don't match the given type(s).
+     *
+     * @param  string|string[]  $type
+     * @return static
+     */
+    public function whereInstanceOf($type)
+    {
+        return $this->filter(function ($value) use ($type) {
+            if (is_array($type)) {
+                foreach ($type as $classType) {
+                    if ($value instanceof $classType) {
+                        return true;
+                    }
+                }
+
+                return false;
+            }
+
+            return $value instanceof $type;
+        });
+    }
+
+    /**
+     * Pass the collection to the given callback and return the result.
+     *
+     * @param  callable  $callback
+     * @return mixed
+     */
+    public function pipe(callable $callback)
+    {
+        return $callback($this);
+    }
+
+    /**
+     * Pass the collection into a new class.
+     *
+     * @param  string  $class
+     * @return mixed
+     */
+    public function pipeInto($class)
+    {
+        return new $class($this);
+    }
+
+    /**
+     * Pass the collection to the given callback and then return it.
+     *
+     * @param  callable  $callback
+     * @return $this
+     */
+    public function tap(callable $callback)
+    {
+        $callback(clone $this);
+
+        return $this;
+    }
+
+    /**
+     * Reduce the collection to a single value.
+     *
+     * @param  callable  $callback
+     * @param  mixed $initial
+     * @return mixed
+     */
+    public function reduce(callable $callback, $initial = null)
+    {
+        $result = $initial;
+
+        foreach ($this as $key => $value) {
+            $result = $callback($result, $value, $key);
+        }
+
+        return $result;
+    }
+
+    /**
+     * Reduce an associative collection to a single value.
+     *
+     * @param  callable  $callback
+     * @param  mixed $initial
+     * @return mixed
+     */
+    public function reduceWithKeys(callable $callback, $initial = null)
+    {
+        $result = $initial;
+
+        foreach ($this as $key => $value) {
+            $result = $callback($result, $value, $key);
+        }
+
+        return $result;
+    }
+
+    /**
+     * Create a collection of all elements that do not pass a given truth test.
+     *
+     * @param  callable|mixed  $callback
+     * @return static
+     */
+    public function reject($callback = true)
+    {
+        $useAsCallable = $this->useAsCallable($callback);
+
+        return $this->filter(function ($value, $key) use ($callback, $useAsCallable) {
+            return $useAsCallable
+                ? ! $callback($value, $key)
+                : $value != $callback;
+        });
+    }
+
+    /**
+     * Return only unique items from the collection array.
+     *
+     * @param  string|callable|null  $key
+     * @param  bool  $strict
+     * @return static
+     */
+    public function unique($key = null, $strict = false)
+    {
+        $callback = $this->valueRetriever($key);
+
+        $exists = [];
+
+        return $this->reject(function ($item, $key) use ($callback, $strict, &$exists) {
+            if (in_array($id = $callback($item, $key), $exists, $strict)) {
+                return true;
+            }
+
+            $exists[] = $id;
+        });
+    }
+
+    /**
+     * Return only unique items from the collection array using strict comparison.
+     *
+     * @param  string|callable|null  $key
+     * @return static
+     */
+    public function uniqueStrict($key = null)
+    {
+        return $this->unique($key, true);
+    }
+
+    /**
+     * Collect the values into a collection.
+     *
+     * @return \Tightenco\Collect\Support\Collection
+     */
+    public function collect()
+    {
+        return new Collection($this->all());
+    }
+
+    /**
+     * Get the collection of items as a plain array.
+     *
+     * @return array
+     */
+    public function toArray()
+    {
+        return $this->map(function ($value) {
+            return $value instanceof Arrayable ? $value->toArray() : $value;
+        })->all();
+    }
+
+    /**
+     * Convert the object into something JSON serializable.
+     *
+     * @return array
+     */
+    public function jsonSerialize()
+    {
+        return array_map(function ($value) {
+            if ($value instanceof JsonSerializable) {
+                return $value->jsonSerialize();
+            } elseif ($value instanceof Jsonable) {
+                return json_decode($value->toJson(), true);
+            } elseif ($value instanceof Arrayable) {
+                return $value->toArray();
+            }
+
+            return $value;
+        }, $this->all());
+    }
+
+    /**
+     * Get the collection of items as JSON.
+     *
+     * @param  int  $options
+     * @return string
+     */
+    public function toJson($options = 0)
+    {
+        return json_encode($this->jsonSerialize(), $options);
+    }
+
+    /**
+     * Get a CachingIterator instance.
+     *
+     * @param  int  $flags
+     * @return \CachingIterator
+     */
+    public function getCachingIterator($flags = CachingIterator::CALL_TOSTRING)
+    {
+        return new CachingIterator($this->getIterator(), $flags);
+    }
+
+    /**
+     * Convert the collection to its string representation.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->toJson();
+    }
+
+    /**
+     * Add a method to the list of proxied methods.
+     *
+     * @param  string  $method
+     * @return void
+     */
+    public static function proxy($method)
+    {
+        static::$proxies[] = $method;
+    }
+
+    /**
+     * Dynamically access collection proxies.
+     *
+     * @param  string  $key
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    public function __get($key)
+    {
+        if (! in_array($key, static::$proxies)) {
+            throw new Exception("Property [{$key}] does not exist on this collection instance.");
+        }
+
+        return new HigherOrderCollectionProxy($this, $key);
+    }
+
+    /**
+     * Results array of items from Collection or Arrayable.
+     *
+     * @param  mixed  $items
+     * @return array
+     */
+    protected function getArrayableItems($items)
+    {
+        if (is_array($items)) {
+            return $items;
+        } elseif ($items instanceof Enumerable) {
+            return $items->all();
+        } elseif ($items instanceof Arrayable) {
+            return $items->toArray();
+        } elseif ($items instanceof Jsonable) {
+            return json_decode($items->toJson(), true);
+        } elseif ($items instanceof JsonSerializable) {
+            return (array) $items->jsonSerialize();
+        } elseif ($items instanceof Traversable) {
+            return iterator_to_array($items);
+        }
+
+        return (array) $items;
+    }
+
+    /**
+     * Get an operator checker callback.
+     *
+     * @param  string  $key
+     * @param  string|null  $operator
+     * @param  mixed  $value
+     * @return \Closure
+     */
+    protected function operatorForWhere($key, $operator = null, $value = null)
+    {
+        if (func_num_args() === 1) {
+            $value = true;
+
+            $operator = '=';
+        }
+
+        if (func_num_args() === 2) {
+            $value = $operator;
+
+            $operator = '=';
+        }
+
+        return function ($item) use ($key, $operator, $value) {
+            $retrieved = data_get($item, $key);
+
+            $strings = array_filter([$retrieved, $value], function ($value) {
+                return is_string($value) || (is_object($value) && method_exists($value, '__toString'));
+            });
+
+            if (count($strings) < 2 && count(array_filter([$retrieved, $value], 'is_object')) == 1) {
+                return in_array($operator, ['!=', '<>', '!==']);
+            }
+
+            switch ($operator) {
+                default:
+                case '=':
+                case '==':  return $retrieved == $value;
+                case '!=':
+                case '<>':  return $retrieved != $value;
+                case '<':   return $retrieved < $value;
+                case '>':   return $retrieved > $value;
+                case '<=':  return $retrieved <= $value;
+                case '>=':  return $retrieved >= $value;
+                case '===': return $retrieved === $value;
+                case '!==': return $retrieved !== $value;
+            }
+        };
+    }
+
+    /**
+     * Determine if the given value is callable, but not a string.
+     *
+     * @param  mixed  $value
+     * @return bool
+     */
+    protected function useAsCallable($value)
+    {
+        return ! is_string($value) && is_callable($value);
+    }
+
+    /**
+     * Get a value retrieving callback.
+     *
+     * @param  callable|string|null  $value
+     * @return callable
+     */
+    protected function valueRetriever($value)
+    {
+        if ($this->useAsCallable($value)) {
+            return $value;
+        }
+
+        return function ($item) use ($value) {
+            return data_get($item, $value);
+        };
+    }
+
+    /**
+     * Make a function to check an item's equality.
+     *
+     * @param  mixed  $value
+     * @return \Closure
+     */
+    protected function equality($value)
+    {
+        return function ($item) use ($value) {
+            return $item === $value;
+        };
+    }
+
+    /**
+     * Make a function using another function, by negating its result.
+     *
+     * @param  \Closure  $callback
+     * @return \Closure
+     */
+    protected function negate(Closure $callback)
+    {
+        return function (...$params) use ($callback) {
+            return ! $callback(...$params);
+        };
+    }
+
+    /**
+     * Make a function that returns what's passed to it.
+     *
+     * @return \Closure
+     */
+    protected function identity()
+    {
+        return function ($value) {
+            return $value;
+        };
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/Macroable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/Macroable.php
new file mode 100644
index 0000000..d9b5fe7
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/Macroable.php
@@ -0,0 +1,116 @@
+<?php
+
+namespace Tightenco\Collect\Support\Traits;
+
+use BadMethodCallException;
+use Closure;
+use ReflectionClass;
+use ReflectionMethod;
+
+trait Macroable
+{
+    /**
+     * The registered string macros.
+     *
+     * @var array
+     */
+    protected static $macros = [];
+
+    /**
+     * Register a custom macro.
+     *
+     * @param  string  $name
+     * @param  object|callable  $macro
+     * @return void
+     */
+    public static function macro($name, $macro)
+    {
+        static::$macros[$name] = $macro;
+    }
+
+    /**
+     * Mix another object into the class.
+     *
+     * @param  object  $mixin
+     * @param  bool  $replace
+     * @return void
+     *
+     * @throws \ReflectionException
+     */
+    public static function mixin($mixin, $replace = true)
+    {
+        $methods = (new ReflectionClass($mixin))->getMethods(
+            ReflectionMethod::IS_PUBLIC | ReflectionMethod::IS_PROTECTED
+        );
+
+        foreach ($methods as $method) {
+            if ($replace || ! static::hasMacro($method->name)) {
+                $method->setAccessible(true);
+                static::macro($method->name, $method->invoke($mixin));
+            }
+        }
+    }
+
+    /**
+     * Checks if macro is registered.
+     *
+     * @param  string  $name
+     * @return bool
+     */
+    public static function hasMacro($name)
+    {
+        return isset(static::$macros[$name]);
+    }
+
+    /**
+     * Dynamically handle calls to the class.
+     *
+     * @param  string  $method
+     * @param  array  $parameters
+     * @return mixed
+     *
+     * @throws \BadMethodCallException
+     */
+    public static function __callStatic($method, $parameters)
+    {
+        if (! static::hasMacro($method)) {
+            throw new BadMethodCallException(sprintf(
+                'Method %s::%s does not exist.', static::class, $method
+            ));
+        }
+
+        $macro = static::$macros[$method];
+
+        if ($macro instanceof Closure) {
+            $macro = $macro->bindTo(null, static::class);
+        }
+
+        return $macro(...$parameters);
+    }
+
+    /**
+     * Dynamically handle calls to the class.
+     *
+     * @param  string  $method
+     * @param  array  $parameters
+     * @return mixed
+     *
+     * @throws \BadMethodCallException
+     */
+    public function __call($method, $parameters)
+    {
+        if (! static::hasMacro($method)) {
+            throw new BadMethodCallException(sprintf(
+                'Method %s::%s does not exist.', static::class, $method
+            ));
+        }
+
+        $macro = static::$macros[$method];
+
+        if ($macro instanceof Closure) {
+            $macro = $macro->bindTo($this, static::class);
+        }
+
+        return $macro(...$parameters);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/Tappable.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/Tappable.php
new file mode 100644
index 0000000..17e6b9e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/Traits/Tappable.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace Tightenco\Collect\Support\Traits;
+
+trait Tappable
+{
+    /**
+     * Call the given Closure with this instance then return the instance.
+     *
+     * @param  callable|null  $callback
+     * @return mixed
+     */
+    public function tap($callback = null)
+    {
+        return tap($this, $callback);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/alias.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/alias.php
new file mode 100644
index 0000000..1ecffd3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/alias.php
@@ -0,0 +1,20 @@
+<?php
+
+$aliases = [
+    Tightenco\Collect\Contracts\Support\Arrayable::class => Illuminate\Contracts\Support\Arrayable::class,
+    Tightenco\Collect\Contracts\Support\Jsonable::class => Illuminate\Contracts\Support\Jsonable::class,
+    Tightenco\Collect\Contracts\Support\Htmlable::class => Illuminate\Contracts\Support\Htmlable::class,
+    Tightenco\Collect\Support\Arr::class => Illuminate\Support\Arr::class,
+    Tightenco\Collect\Support\Collection::class => Illuminate\Support\Collection::class,
+    Tightenco\Collect\Support\Enumerable::class => Illuminate\Support\Enumerable::class,
+    Tightenco\Collect\Support\HigherOrderCollectionProxy::class => Illuminate\Support\HigherOrderCollectionProxy::class,
+    Tightenco\Collect\Support\HigherOrderWhenProxy::class => Illuminate\Support\HigherOrderWhenProxy::class,
+    Tightenco\Collect\Support\LazyCollection::class => Illuminate\Support\LazyCollection::class,
+    Tightenco\Collect\Support\Traits\EnumeratesValues::class => Illuminate\Support\Traits\EnumeratesValues::class,
+];
+
+foreach ($aliases as $tighten => $illuminate) {
+    if (! class_exists($illuminate) && ! interface_exists($illuminate) && ! trait_exists($illuminate)) {
+        class_alias($tighten, $illuminate);
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/helpers.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/helpers.php
new file mode 100644
index 0000000..d7f9e0e
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/tightenco/collect/src/Collect/Support/helpers.php
@@ -0,0 +1,139 @@
+<?php
+
+use Tightenco\Collect\Support\Arr;
+use Tightenco\Collect\Support\Collection;
+use Tightenco\Collect\Support\HigherOrderTapProxy;
+use Symfony\Component\VarDumper\VarDumper;
+
+if (! class_exists(Illuminate\Support\Collection::class)) {
+    if (! function_exists('array_wrap')) {
+        /**
+         * If the given value is not an array, wrap it in one.
+         *
+         * @param  mixed  $value
+         * @return array
+         */
+        function array_wrap($value)
+        {
+            return ! is_array($value) ? [$value] : $value;
+        }
+    }
+
+    if (! function_exists('collect')) {
+        /**
+         * Create a collection from the given value.
+         *
+         * @param  mixed  $value
+         * @return \Tightenco\Collect\Support\Collection
+         */
+        function collect($value = null)
+        {
+            return new Collection($value);
+        }
+    }
+
+    if (! function_exists('value')) {
+        /**
+         * Return the default value of the given value.
+         *
+         * @param  mixed  $value
+         * @return mixed
+         */
+        function value($value)
+        {
+            return $value instanceof Closure ? $value() : $value;
+        }
+    }
+
+    if (! function_exists('data_get')) {
+        /**
+         * Get an item from an array or object using "dot" notation.
+         *
+         * @param  mixed   $target
+         * @param  string|array  $key
+         * @param  mixed   $default
+         * @return mixed
+         */
+        function data_get($target, $key, $default = null)
+        {
+            if (is_null($key)) {
+                return $target;
+            }
+
+            $key = is_array($key) ? $key : explode('.', $key);
+
+            while (($segment = array_shift($key)) !== null) {
+                if ($segment === '*') {
+                    if ($target instanceof Collection) {
+                        $target = $target->all();
+                    } elseif (! is_array($target)) {
+                        return value($default);
+                    }
+
+                    $result = Arr::pluck($target, $key);
+
+                    return in_array('*', $key) ? Arr::collapse($result) : $result;
+                }
+
+                if (Arr::accessible($target) && Arr::exists($target, $segment)) {
+                    $target = $target[$segment];
+                } elseif (is_object($target) && isset($target->{$segment})) {
+                    $target = $target->{$segment};
+                } else {
+                    return value($default);
+                }
+            }
+
+            return $target;
+        }
+    }
+
+    if (! function_exists('tap')) {
+        /**
+         * Call the given Closure with the given value then return the value.
+         *
+         * @param  mixed  $value
+         * @param  callable|null  $callback
+         * @return mixed
+         */
+        function tap($value, $callback = null)
+        {
+            if (is_null($callback)) {
+                return new HigherOrderTapProxy($value);
+            }
+
+            $callback($value);
+
+            return $value;
+        }
+    }
+
+    if (! function_exists('with')) {
+        /**
+         * Return the given object. Useful for chaining.
+         *
+         * @param  mixed  $object
+         * @return mixed
+         */
+        function with($object)
+        {
+            return $object;
+        }
+    }
+
+    if (! function_exists('dd')) {
+        /**
+         * Dump the passed variables and end the script.
+         *
+         * @param  mixed
+         * @return void
+         */
+        function dd(...$args)
+        {
+            foreach ($args as $x) {
+               VarDumper::dump($x);
+            }
+            die(1);
+        }
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/prerequisites.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/prerequisites.inc.php
index 220c87c..0cbd05a 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/prerequisites.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/prerequisites.inc.php
@@ -67,6 +67,8 @@
 $WebAuthn->addRootCertificates($_SERVER['DOCUMENT_ROOT'] . '/inc/lib/WebAuthn/rootCertificates/googleHardware.pem');
 $WebAuthn->addRootCertificates($_SERVER['DOCUMENT_ROOT'] . '/inc/lib/WebAuthn/rootCertificates/microsoftTpmCollection.pem');
 $WebAuthn->addRootCertificates($_SERVER['DOCUMENT_ROOT'] . '/inc/lib/WebAuthn/rootCertificates/huawei.pem');
+$WebAuthn->addRootCertificates($_SERVER['DOCUMENT_ROOT'] . '/inc/lib/WebAuthn/rootCertificates/trustkey.pem');
+$WebAuthn->addRootCertificates($_SERVER['DOCUMENT_ROOT'] . '/inc/lib/WebAuthn/rootCertificates/bsi.pem');
 
 // Redis
 $redis = new Redis();
@@ -170,29 +172,12 @@
 set_exception_handler('exception_handler');
 
 // TODO: Move function
-function get_remote_ip($anonymize = null) {
-  global $ANONYMIZE_IPS;
-  if ($anonymize === null) {
-    $anonymize = $ANONYMIZE_IPS;
-  }
-  elseif ($anonymize !== true && $anonymize !== false)  {
-    $anonymize = true;
-  }
+function get_remote_ip() {
   $remote = $_SERVER['REMOTE_ADDR'];
   if (filter_var($remote, FILTER_VALIDATE_IP) === false) {
     return '0.0.0.0';
   }
-  if ($anonymize) {
-    if (strlen(inet_pton($remote)) == 4) {
-      return inet_ntop(inet_pton($remote) & inet_pton("255.255.255.0"));
-    }
-    elseif (strlen(inet_pton($remote)) == 16) {
-      return inet_ntop(inet_pton($remote) & inet_pton('ffff:ffff:ffff:ffff:0000:0000:0000:0000'));
-    }
-  }
-  else {
-    return $remote;
-  }
+  return $remote;
 }
 
 // Load core functions first
@@ -207,7 +192,7 @@
 if (!isset($_SESSION['mailcow_locale']) && !isset($_COOKIE['mailcow_locale'])) {
   if ($DETECT_LANGUAGE && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
     $header_lang = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
-    if (in_array($header_lang, $AVAILABLE_LANGUAGES)) {
+    if (array_key_exists($header_lang, $AVAILABLE_LANGUAGES)) {
       $_SESSION['mailcow_locale'] = $header_lang;
     }
   }
@@ -218,7 +203,7 @@
 if (isset($_COOKIE['mailcow_locale'])) {
   (preg_match('/^[a-z]{2}$/', $_COOKIE['mailcow_locale'])) ? $_SESSION['mailcow_locale'] = $_COOKIE['mailcow_locale'] : setcookie("mailcow_locale", "", time() - 300);
 }
-if (isset($_GET['lang']) && in_array($_GET['lang'], $AVAILABLE_LANGUAGES)) {
+if (isset($_GET['lang']) && array_key_exists($_GET['lang'], $AVAILABLE_LANGUAGES)) {
   $_SESSION['mailcow_locale'] = $_GET['lang'];
   setcookie("mailcow_locale", $_GET['lang'], time()+30758400); // one year
 }
@@ -234,27 +219,27 @@
 }
 
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.acl.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.app_passwd.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.mailbox.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.customize.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.address_rewriting.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.domain_admin.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.admin.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.quarantine.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.quota_notification.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.policy.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.app_passwd.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.customize.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.dkim.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.docker.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.domain_admin.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.fail2ban.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.fwdhost.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.mailbox.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.mailq.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.oauth2.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.policy.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.presets.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.pushover.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.quarantine.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.quota_notification.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.ratelimit.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.transports.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.rspamd.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.tls_policy_maps.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.fail2ban.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.docker.inc.php';
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.presets.inc.php';
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.transports.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/init_db.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/triggers.inc.php';
 init_db_schema();
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/presets/rspamd/preset_1.yml b/mailcow/src/mailcow-dockerized/data/web/inc/presets/rspamd/preset_1.yml
index acbe352..41833cf 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/presets/rspamd/preset_1.yml
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/presets/rspamd/preset_1.yml
@@ -3,5 +3,5 @@
   priority = 10;
   authenticated = yes;
   apply "default" {
-    symbols_enabled = ["DKIM_SIGNED", "RATELIMITED", "RATELIMIT_UPDATE", "RATELIMIT_CHECK", "DYN_RL_CHECK", "HISTORY_SAVE", "MILTER_HEADERS", "ARC_SIGNED"];
+    symbols_enabled = ["BCC", "DKIM_SIGNED", "RATELIMITED", "RATELIMIT_UPDATE", "RATELIMIT_CHECK", "DYN_RL_CHECK", "HISTORY_SAVE", "MILTER_HEADERS", "ARC_SIGNED"];
   }
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/presets/rspamd/preset_4.yml b/mailcow/src/mailcow-dockerized/data/web/inc/presets/rspamd/preset_4.yml
new file mode 100644
index 0000000..c63071b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/presets/rspamd/preset_4.yml
@@ -0,0 +1,11 @@
+headline: lang.rsettings_preset_4
+content: |
+  priority = 10;
+  rcpt = "/.*@develcow.de$/";
+  from = "/.*/";
+  apply "default" {
+    MAILCOW_WHITE = -9999.0;
+  }
+  symbols [
+    "MAILCOW_WHITE"
+  ]
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/spf.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/spf.inc.php
index 199f572..55e164b 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/spf.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/spf.inc.php
@@ -1,8 +1,6 @@
 <?php
 error_reporting(0);
-
-function get_spf_allowed_hosts($check_domain)
-{
+function get_spf_allowed_hosts($check_domain, $expand_ipv6 = false) {
 	$hosts = array();
 	
 	$records = dns_get_record($check_domain, DNS_TXT);
@@ -26,7 +24,7 @@
 				$mod = explode('=', $mech);
 				if ($mod[0] == 'redirect') // handle a redirect
 				{
-					$hosts = get_spf_allowed_hosts($mod[1]);
+					$hosts = get_spf_allowed_hosts($mod[1],true);
 					return $hosts;
 				}
 			}
@@ -81,7 +79,13 @@
 	}
 	foreach ($hosts as &$host) {
 		if (filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
-			$host = $host;
+			if ($expand_ipv6 === true) {
+				$hex = unpack("H*hex", inet_pton($host));
+				$host = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex['hex']), 0, -1);
+			}
+			else {
+				$host = $host;
+			}
 		}
 	}
 	return $hosts;
@@ -119,9 +123,8 @@
 		$hosts[] = $a_record['ip'];
 	}
 	$a_records = dns_get_record($domain, DNS_AAAA);
-	foreach ($a_records as $a_record)
-	{
-		$hosts[] = $a_record['ipv6'];
+	foreach ($a_records as $a_record) {
+    $hosts[] = $a_record['ipv6'];
 	}
 	
 	return $hosts;
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/triggers.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/triggers.inc.php
index 8785759..a2342df 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/triggers.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/triggers.inc.php
@@ -24,19 +24,16 @@
 	if ($as == "admin") {
 		$_SESSION['mailcow_cc_username'] = $login_user;
 		$_SESSION['mailcow_cc_role'] = "admin";
-    $_SESSION['mailcow_cc_last_login'] = last_login($login_user);
 		header("Location: /admin");
 	}
 	elseif ($as == "domainadmin") {
 		$_SESSION['mailcow_cc_username'] = $login_user;
 		$_SESSION['mailcow_cc_role'] = "domainadmin";
-    $_SESSION['mailcow_cc_last_login'] = last_login($login_user);
 		header("Location: /mailbox");
 	}
 	elseif ($as == "user") {
 		$_SESSION['mailcow_cc_username'] = $login_user;
 		$_SESSION['mailcow_cc_role'] = "user";
-    $_SESSION['mailcow_cc_last_login'] = last_login($login_user);
     $http_parameters = explode('&', $_SESSION['index_query_string']);
     unset($_SESSION['index_query_string']);
     if (in_array('mobileconfig', $http_parameters)) {
@@ -58,7 +55,7 @@
 	}
 }
 
-if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['acl']['login_as'] == "1") {
+if (isset($_SESSION['mailcow_cc_role']) && (isset($_SESSION['acl']['login_as']) && $_SESSION['acl']['login_as'] == "1")) {
 	if (isset($_GET["duallogin"])) {
     $duallogin = html_entity_decode(rawurldecode($_GET["duallogin"]));
     if (filter_var($duallogin, FILTER_VALIDATE_EMAIL)) {
@@ -82,7 +79,7 @@
   }
 }
 
-if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "admin" || $_SESSION['mailcow_cc_role'] == "domainadmin")) {
+if (isset($_SESSION['mailcow_cc_role'])) {
 	if (isset($_POST["set_tfa"])) {
 		set_tfa($_POST);
 	}
@@ -93,7 +90,7 @@
 		fido2(array("action" => "unset_fido2_key", "post_data" => $_POST));
 	}
 }
-if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == "admin") {
+if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == "admin" && !isset($_SESSION['mailcow_cc_api'])) {
   // TODO: Move file upload to API?
 	if (isset($_POST["submit_main_logo"])) {
     if ($_FILES['main_logo']['error'] == 0) {
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/vars.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/vars.inc.php
index f497ffb..91d2145 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/vars.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/vars.inc.php
@@ -45,21 +45,21 @@
   // The autoconfig service will additionally announce the STARTTLS-enabled ports, specified in the "tlsport" variable.
   'imap' => array(
     'server' => $mailcow_hostname,
-    'port' => end(explode(':', getenv('IMAPS_PORT'))),
-    'tlsport' => end(explode(':', getenv('IMAP_PORT'))),
+    'port' => (int)filter_var(substr(getenv('IMAPS_PORT'), strrpos(getenv('IMAPS_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT),
+    'tlsport' => (int)filter_var(substr(getenv('IMAP_PORT'), strrpos(getenv('IMAP_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT)
   ),
   'pop3' => array(
     'server' => $mailcow_hostname,
-    'port' => end(explode(':', getenv('POPS_PORT'))),
-    'tlsport' => end(explode(':', getenv('POP_PORT'))),
+    'port' => (int)filter_var(substr(getenv('POPS_PORT'), strrpos(getenv('POPS_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT),
+    'tlsport' => (int)filter_var(substr(getenv('POP_PORT'), strrpos(getenv('POP_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT)
   ),
   'smtp' => array(
     'server' => $mailcow_hostname,
-    'port' => end(explode(':', getenv('SMTPS_PORT'))),
-    'tlsport' => end(explode(':', getenv('SUBMISSION_PORT'))),
+    'port' => (int)filter_var(substr(getenv('SMTPS_PORT'), strrpos(getenv('SMTPS_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT),
+    'tlsport' => (int)filter_var(substr(getenv('SUBMISSION_PORT'), strrpos(getenv('SUBMISSION_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT)
   ),
   'activesync' => array(
-    'url' => 'https://'.$mailcow_hostname.($https_port == 443 ? '' : ':'.$https_port).'/Microsoft-Server-ActiveSync',
+    'url' => 'https://' . $mailcow_hostname . ($https_port == 443 ? '' : ':' . $https_port) . '/Microsoft-Server-ActiveSync',
   ),
   'caldav' => array(
     'server' => $mailcow_hostname,
@@ -79,7 +79,29 @@
 $DEFAULT_LANG = 'en';
 
 // Available languages
-$AVAILABLE_LANGUAGES = array('ca', 'cs', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ko', 'lv', 'nl', 'pl', 'pt', 'ro', 'ru', 'sk', 'sv', 'zh');
+// https://www.iso.org/obp/ui/#search
+// https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
+$AVAILABLE_LANGUAGES = array(
+  'cs' => 'Čeština (Czech)',
+  'da' => 'Danish (Dansk)',
+  'de' => 'Deutsch (German)',
+  'en' => 'English',
+  'es' => 'Español (Spanish)',
+  'fi' => 'Suomi (Finish)',
+  'fr' => 'Français (French)',
+  'hu' => 'Magyar (Hungarian)',
+  'it' => 'Italiano (Italian)',
+  'ko' => '한국어 (Korean)',
+  'lv' => 'latviešu (Latvian)',
+  'nl' => 'Nederlands (Dutch)',
+  'pl' => 'Język Polski (Polish)',
+  'pt' => 'Português (Portuguese)',
+  'ro' => 'Română (Romanian)',
+  'ru' => 'Pусский (Russian)',
+  'sk' => 'Slovenčina (Slovak)',
+  'sv' => 'Svenska (Swedish)',
+  'zh' => '中文 (Chinese)'
+);
 
 // Change theme (default: lumen)
 // Needs to be one of those: cerulean, cosmo, cyborg, darkly, flatly, journal, lumen, paper, readable, sandstone,
@@ -88,14 +110,6 @@
 // WARNING: Only lumen is loaded locally. Enabling any other theme, will download external sources.
 $DEFAULT_THEME = 'lumen';
 
-// Password complexity as regular expression
-// Min. 6 characters
-$PASSWD_REGEP = '.{6,}';
-// Min. 6 characters, which must include at least one uppercase letter, one lowercase letter and one number
-// $PASSWD_REGEP = '^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{6,}$';
-// Min. 6 characters, which must include at least one letter and one number
-// $PASSWD_REGEP = '^(?=.*[0-9])(?=.*[A-Za-z]).{6,}$';
-
 // Show DKIM private keys - false by default
 $SHOW_DKIM_PRIV_KEYS = false;
 
@@ -122,15 +136,9 @@
 // Label for OTP devices
 $OTP_LABEL = "mailcow UI";
 
-// Default "to" address in relay test tool
-$RELAY_TO = "null@hosted.mailcow.de";
-
 // How long to wait (in s) for cURL Docker requests
 $DOCKER_TIMEOUT = 60;
 
-// Anonymize IPs logged via UI
-$ANONYMIZE_IPS = true;
-
 // Split DKIM key notation (bind format)
 $SPLIT_DKIM_255 = false;
 
@@ -203,6 +211,7 @@
     'Bad Words DE (only fired in combination with fishy TLDs)' => 'bad_words_de.map',
     'Bad Languages' => 'bad_languages.map',
     'Bulk Mail Headers' => 'bulk_header.map',
+    'Bad (Junk) Mail Headers' => 'bad_header.map',
     'Monitoring Hosts' => 'monitoring_nolog.map'
   )
 );
diff --git a/mailcow/src/mailcow-dockerized/data/web/index.php b/mailcow/src/mailcow-dockerized/data/web/index.php
index 571f189..93e72a7 100644
--- a/mailcow/src/mailcow-dockerized/data/web/index.php
+++ b/mailcow/src/mailcow-dockerized/data/web/index.php
@@ -28,12 +28,12 @@
 <div class="container">
   <div class="row">
     <div class="col-md-offset-3 col-md-6">
-      <div class="panel panel-default">
-        <div class="panel-heading"><span class="glyphicon glyphicon-user" aria-hidden="true"></span> <?= $lang['login']['login']; ?></div>
+      <div class="panel panel-default panel-login">
+        <div class="panel-heading"><i class="bi bi-person-fill"></i> <?= $lang['login']['login']; ?></div>
         <div class="panel-body">
           <div class="text-center mailcow-logo"><img src="<?=($main_logo = customize('get', 'main_logo')) ? $main_logo : '/img/cow_mailcow.svg';?>" alt="mailcow"></div>
           <?php if (!empty($UI_TEXTS['ui_announcement_text']) && in_array($UI_TEXTS['ui_announcement_type'], array('info', 'warning', 'danger')) && $UI_TEXTS['ui_announcement_active'] == 1) { ?>
-          <div class="alert alert-<?=$UI_TEXTS['ui_announcement_type'];?> rot-enc"><?=str_rot13($UI_TEXTS['ui_announcement_text']);?></div>
+          <div class="alert alert-<?=$UI_TEXTS['ui_announcement_type'];?> rot-enc ui-announcement-alert"><?=str_rot13($UI_TEXTS['ui_announcement_text']);?></div>
           <?php } ?>
           <legend><?= isset($_SESSION['oauth2_request']) ? $lang['oauth2']['authorize_app'] : $UI_TEXTS['main_name'];?></legend>
             <?php
@@ -47,42 +47,42 @@
             <div class="form-group">
               <label class="sr-only" for="login_user"><?= $lang['login']['username']; ?></label>
               <div class="input-group">
-                <div class="input-group-addon"><i class="glyphicon glyphicon-user"></i></div>
-                <input name="login_user" autocorrect="off" autocapitalize="none" type="<?=(strpos($_SESSION['index_query_string'], 'mobileconfig') !== false) ? 'email' : 'text';?>" id="login_user" class="form-control" placeholder="<?= $lang['login']['username']; ?>" required="" autofocus="">
+                <div class="input-group-addon"><i class="bi bi-person-fill"></i></div>
+                <input name="login_user" autocorrect="off" autocapitalize="none" type="<?=(strpos($_SESSION['index_query_string'], 'mobileconfig') !== false) ? 'email' : 'text';?>" id="login_user" class="form-control" placeholder="<?= $lang['login']['username']; ?>" required="" autofocus="" autocomplete="username">
               </div>
             </div>
             <div class="form-group">
               <label class="sr-only" for="pass_user"><?= $lang['login']['password']; ?></label>
               <div class="input-group">
-                <div class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></div>
-                <input name="pass_user" type="password" id="pass_user" class="form-control" placeholder="<?= $lang['login']['password']; ?>" required="">
+                <div class="input-group-addon"><i class="bi bi-lock-fill"></i></div>
+                <input name="pass_user" type="password" id="pass_user" class="form-control" placeholder="<?= $lang['login']['password']; ?>" required="" autocomplete="current-password">
               </div>
             </div>
-            <div class="form-group">
+            <div class="form-group" style="position: relative">
               <div class="btn-group">
-                <button type="submit" class="btn btn-success" value="Login"><?= $lang['login']['login']; ?></button>
                 <div class="btn-group">
-                  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
-                  <?= $lang['login']['other_logins']; ?> <span class="caret"></span></button>
-                  <ul class="dropdown-menu" role="menu">
-                    <li><a href="#" id="fido2-login"><?= $lang['login']['fido2_webauthn']; ?></a></li>
+                  <button type="submit" class="btn btn-xs-lg btn-success" value="Login"><?= $lang['login']['login']; ?></button>
+                  <button type="button" class="btn btn-xs-lg btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                    <span class="caret"></span>
+                  </button>
+                  <ul class="dropdown-menu">
+                    <li><a href="#" id="fido2-login" style="line-height:1.4;"><i class="bi bi-shield-fill-check"></i> <?= $lang['login']['fido2_webauthn']; ?></a></li>
                   </ul>
                 </div>
               </div>
               <?php if(!isset($_SESSION['oauth2_request'])) { ?>
-              <div class="btn-group pull-right">
-                <button type="button" <?=(isset($_SESSION['mailcow_locale']) && count($AVAILABLE_LANGUAGES) === 1) ? 'disabled="true"' : '' ?> class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                  <span class="lang-sm lang-lbl" lang="<?= $_SESSION['mailcow_locale']; ?>"></span> <span class="caret"></span>
+                <button type="button" <?=(isset($_SESSION['mailcow_locale']) && count($AVAILABLE_LANGUAGES) === 1) ? 'disabled="true"' : '' ?> class="btn btn-xs-lg btn-default pull-right dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                  <span class="flag-icon flag-icon-<?= $_SESSION['mailcow_locale']; ?>"></span> <span class="caret"></span>
                 </button>
-                <ul class="dropdown-menu">
+                <ul class="dropdown-menu pull-right login">
                   <?php
-                  foreach ($AVAILABLE_LANGUAGES as $language) {
+                  foreach ($AVAILABLE_LANGUAGES as $c => $v) {
                   ?>
-                  <li<?= ($_SESSION['mailcow_locale'] == $language) ? ' class="active"' : ''; ?>><a href="?<?= http_build_query(array_merge($_GET, array('lang' => $language))) ?>"><span class="lang-xs lang-lbl-full" lang="<?= $language; ?>"></span></a></li>
+                  <li<?= ($_SESSION['mailcow_locale'] == $c) ? ' class="active"' : ''; ?>><a href="?<?= http_build_query(array_merge($_GET, array('lang' => $c))) ?>"><span class="flag-icon flag-icon-<?=$c;?>"></span> <?=$v;?></a></li>
                   <?php } ?>
                 </ul>
-              </div>
               <?php } ?>
+              <div class="clearfix"></div>
             </div>
             </form>
             <?php
@@ -92,13 +92,16 @@
             <?php } ?>
             <div id="fido2-alerts"></div>
           <?php if(!isset($_SESSION['oauth2_request'])) { ?>
-            <legend><span class="glyphicon glyphicon-link" aria-hidden="true"></span> <?=$UI_TEXTS['apps_name'];?></legend>
+            <legend><i class="bi bi-link-45deg"></i> <?=$UI_TEXTS['apps_name'];?></legend>
+            <div class="apps">
             <?php
             if (!empty($MAILCOW_APPS)) {
               foreach ($MAILCOW_APPS as $app) {
                 if (getenv('SKIP_SOGO') == "y" && preg_match('/^\/SOGo/i', $app['link'])) { continue; }
               ?>
-                <a href="<?= htmlspecialchars($app['link']); ?>" role="button" style="margin-bottom:3pt" title="<?= htmlspecialchars($app['description']); ?>" class="btn btn-primary"><?= htmlspecialchars($app['name']); ?></a>&nbsp;
+              <div class="media-clearfix">
+                <a href="<?=(isset($app['link'])) ? htmlspecialchars($app['link']) : '';?>" role="button" title="<?=(isset($app['description'])) ? htmlspecialchars($app['description']) : '';?>" class="btn btn-primary btn-lg btn-block"><?= htmlspecialchars($app['name']); ?></a>
+              </div>
               <?php
               }
             }
@@ -107,12 +110,15 @@
               foreach ($app_links as $row) {
                 foreach ($row as $key => $val) {
               ?>
-                <a href="<?= htmlspecialchars($val); ?>" role="button" style="margin-bottom:3pt" class="btn btn-primary"><?= htmlspecialchars($key); ?></a>&nbsp;
+                <div class="media-clearfix">
+                  <a href="<?= htmlspecialchars($val); ?>" role="button" class="btn btn-primary btn-lg btn-block"><?= htmlspecialchars($key); ?></a>
+                </div>
               <?php
                 }
               }
-            }
-          }
+            } ?>
+            </div>
+          <?php }
           ?>
         </div>
       </div>
@@ -121,7 +127,7 @@
     <div class="col-md-offset-3 col-md-6">
       <div class="panel panel-default">
         <div class="panel-heading">
-          <a data-toggle="collapse" href="#collapse1"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> <?= $lang['start']['help']; ?></a>
+          <a data-toggle="collapse" href="#collapse1"><i class="bi bi-patch-question-fill"></i> <?= $lang['start']['help']; ?></a>
         </div>
         <div id="collapse1" class="panel-collapse collapse">
           <div class="panel-body">
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/build/002-bootstrap-switch.min.js b/mailcow/src/mailcow-dockerized/data/web/js/build/002-bootstrap-switch.min.js
deleted file mode 100644
index effcb6c..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/js/build/002-bootstrap-switch.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.
-  *
-  * @version v3.3.3
-  * @homepage http://www.bootstrap-switch.org
-  * @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)
-  * @license Apache-2.0
-  */
-
-'use strict';var _createClass=function(){function a(b,c){for(var e,d=0;d<c.length;d++)e=c[d],e.enumerable=e.enumerable||!1,e.configurable=!0,'value'in e&&(e.writable=!0),Object.defineProperty(b,e.key,e)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')}(function(a,b){var c=function(){function d(e){var g=this,f=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,d),this.$element=a(e),this.options=a.extend({},a.fn.bootstrapSwitch.defaults,this._getElementOptions(),f),this.prevOptions={},this.$wrapper=a('<div>',{class:function _class(){var h=[];return h.push(g.options.state?'on':'off'),g.options.size&&h.push(g.options.size),g.options.disabled&&h.push('disabled'),g.options.readonly&&h.push('readonly'),g.options.indeterminate&&h.push('indeterminate'),g.options.inverse&&h.push('inverse'),g.$element.attr('id')&&h.push('id-'+g.$element.attr('id')),h.map(g._getClass.bind(g)).concat([g.options.baseClass],g._getClasses(g.options.wrapperClass)).join(' ')}}),this.$container=a('<div>',{class:this._getClass('container')}),this.$on=a('<span>',{html:this.options.onText,class:this._getClass('handle-on')+' '+this._getClass(this.options.onColor)}),this.$off=a('<span>',{html:this.options.offText,class:this._getClass('handle-off')+' '+this._getClass(this.options.offColor)}),this.$label=a('<span>',{html:this.options.labelText,class:this._getClass('label')}),this.$element.on('init.bootstrapSwitch',this.options.onInit.bind(this,e)),this.$element.on('switchChange.bootstrapSwitch',function(){for(var j=arguments.length,h=Array(j),k=0;k<j;k++)h[k]=arguments[k];!1===g.options.onSwitchChange.apply(e,h)&&(g.$element.is(':radio')?a('[name="'+g.$element.attr('name')+'"]').trigger('previousState.bootstrapSwitch',!0):g.$element.trigger('previousState.bootstrapSwitch',!0))}),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop('indeterminate',!0),this._init(),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger('init.bootstrapSwitch',this.options.state)}return _createClass(d,[{key:'setPrevOptions',value:function setPrevOptions(){this.prevOptions=Object.assign({},this.options)}},{key:'state',value:function state(e,f){return'undefined'==typeof e?this.options.state:this.options.disabled||this.options.readonly||this.options.state&&!this.options.radioAllOff&&this.$element.is(':radio')?this.$element:(this.$element.is(':radio')?a('[name="'+this.$element.attr('name')+'"]').trigger('setPreviousOptions.bootstrapSwitch'):this.$element.trigger('setPreviousOptions.bootstrapSwitch'),this.options.indeterminate&&this.indeterminate(!1),this.$element.prop('checked',!!e).trigger('change.bootstrapSwitch',f),this.$element)}},{key:'toggleState',value:function toggleState(e){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop('checked',!this.options.state).trigger('change.bootstrapSwitch',e)}},{key:'size',value:function size(e){return'undefined'==typeof e?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(this._getClass(this.options.size)),e&&this.$wrapper.addClass(this._getClass(e)),this._width(),this._containerPosition(),this.options.size=e,this.$element)}},{key:'animate',value:function animate(e){return'undefined'==typeof e?this.options.animate:this.options.animate===!!e?this.$element:this.toggleAnimate()}},{key:'toggleAnimate',value:function toggleAnimate(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(this._getClass('animate')),this.$element}},{key:'disabled',value:function disabled(e){return'undefined'==typeof e?this.options.disabled:this.options.disabled===!!e?this.$element:this.toggleDisabled()}},{key:'toggleDisabled',value:function toggleDisabled(){return this.options.disabled=!this.options.disabled,this.$element.prop('disabled',this.options.disabled),this.$wrapper.toggleClass(this._getClass('disabled')),this.$element}},{key:'readonly',value:function readonly(e){return'undefined'==typeof e?this.options.readonly:this.options.readonly===!!e?this.$element:this.toggleReadonly()}},{key:'toggleReadonly',value:function toggleReadonly(){return this.options.readonly=!this.options.readonly,this.$element.prop('readonly',this.options.readonly),this.$wrapper.toggleClass(this._getClass('readonly')),this.$element}},{key:'indeterminate',value:function indeterminate(e){return'undefined'==typeof e?this.options.indeterminate:this.options.indeterminate===!!e?this.$element:this.toggleIndeterminate()}},{key:'toggleIndeterminate',value:function toggleIndeterminate(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop('indeterminate',this.options.indeterminate),this.$wrapper.toggleClass(this._getClass('indeterminate')),this._containerPosition(),this.$element}},{key:'inverse',value:function inverse(e){return'undefined'==typeof e?this.options.inverse:this.options.inverse===!!e?this.$element:this.toggleInverse()}},{key:'toggleInverse',value:function toggleInverse(){this.$wrapper.toggleClass(this._getClass('inverse'));var e=this.$on.clone(!0),f=this.$off.clone(!0);return this.$on.replaceWith(f),this.$off.replaceWith(e),this.$on=f,this.$off=e,this.options.inverse=!this.options.inverse,this.$element}},{key:'onColor',value:function onColor(e){return'undefined'==typeof e?this.options.onColor:(this.options.onColor&&this.$on.removeClass(this._getClass(this.options.onColor)),this.$on.addClass(this._getClass(e)),this.options.onColor=e,this.$element)}},{key:'offColor',value:function offColor(e){return'undefined'==typeof e?this.options.offColor:(this.options.offColor&&this.$off.removeClass(this._getClass(this.options.offColor)),this.$off.addClass(this._getClass(e)),this.options.offColor=e,this.$element)}},{key:'onText',value:function onText(e){return'undefined'==typeof e?this.options.onText:(this.$on.html(e),this._width(),this._containerPosition(),this.options.onText=e,this.$element)}},{key:'offText',value:function offText(e){return'undefined'==typeof e?this.options.offText:(this.$off.html(e),this._width(),this._containerPosition(),this.options.offText=e,this.$element)}},{key:'labelText',value:function labelText(e){return'undefined'==typeof e?this.options.labelText:(this.$label.html(e),this._width(),this.options.labelText=e,this.$element)}},{key:'handleWidth',value:function handleWidth(e){return'undefined'==typeof e?this.options.handleWidth:(this.options.handleWidth=e,this._width(),this._containerPosition(),this.$element)}},{key:'labelWidth',value:function labelWidth(e){return'undefined'==typeof e?this.options.labelWidth:(this.options.labelWidth=e,this._width(),this._containerPosition(),this.$element)}},{key:'baseClass',value:function baseClass(){return this.options.baseClass}},{key:'wrapperClass',value:function wrapperClass(e){return'undefined'==typeof e?this.options.wrapperClass:(e||(e=a.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(' ')),this.$wrapper.addClass(this._getClasses(e).join(' ')),this.options.wrapperClass=e,this.$element)}},{key:'radioAllOff',value:function radioAllOff(e){if('undefined'==typeof e)return this.options.radioAllOff;var f=!!e;return this.options.radioAllOff===f?this.$element:(this.options.radioAllOff=f,this.$element)}},{key:'onInit',value:function onInit(e){return'undefined'==typeof e?this.options.onInit:(e||(e=a.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=e,this.$element)}},{key:'onSwitchChange',value:function onSwitchChange(e){return'undefined'==typeof e?this.options.onSwitchChange:(e||(e=a.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=e,this.$element)}},{key:'destroy',value:function destroy(){var e=this.$element.closest('form');return e.length&&e.off('reset.bootstrapSwitch').removeData('bootstrap-switch'),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off('.bootstrapSwitch').removeData('bootstrap-switch'),this.$element}},{key:'_getElementOptions',value:function _getElementOptions(){return{state:this.$element.is(':checked'),size:this.$element.data('size'),animate:this.$element.data('animate'),disabled:this.$element.is(':disabled'),readonly:this.$element.is('[readonly]'),indeterminate:this.$element.data('indeterminate'),inverse:this.$element.data('inverse'),radioAllOff:this.$element.data('radio-all-off'),onColor:this.$element.data('on-color'),offColor:this.$element.data('off-color'),onText:this.$element.data('on-text'),offText:this.$element.data('off-text'),labelText:this.$element.data('label-text'),handleWidth:this.$element.data('handle-width'),labelWidth:this.$element.data('label-width'),baseClass:this.$element.data('base-class'),wrapperClass:this.$element.data('wrapper-class')}}},{key:'_width',value:function _width(){var g=this,e=this.$on.add(this.$off).add(this.$label).css('width',''),f=void 0;return f='auto'===this.options.handleWidth?Math.round(Math.max(this.$on.width(),this.$off.width())):this.options.handleWidth,e.width(f),this.$label.width(function(h,j){return'auto'===g.options.labelWidth?j<f?f:j:g.options.labelWidth}),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)}},{key:'_containerPosition',value:function _containerPosition(){var g=this,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.options.state,f=arguments[1];this.$container.css('margin-left',function(){var h=[0,'-'+g._handleWidth+'px'];return g.options.indeterminate?'-'+g._handleWidth/2+'px':e?g.options.inverse?h[1]:h[0]:g.options.inverse?h[0]:h[1]})}},{key:'_init',value:function _init(){var f=this,e=function(){f.setPrevOptions(),f._width(),f._containerPosition(),setTimeout(function(){if(f.options.animate)return f.$wrapper.addClass(f._getClass('animate'))},50)};if(this.$wrapper.is(':visible'))return void e();var g=b.setInterval(function(){if(f.$wrapper.is(':visible'))return e(),b.clearInterval(g)},50)}},{key:'_elementHandlers',value:function _elementHandlers(){var e=this;return this.$element.on({'setPreviousOptions.bootstrapSwitch':this.setPrevOptions.bind(this),'previousState.bootstrapSwitch':function previousStateBootstrapSwitch(){e.options=e.prevOptions,e.options.indeterminate&&e.$wrapper.addClass(e._getClass('indeterminate')),e.$element.prop('checked',e.options.state).trigger('change.bootstrapSwitch',!0)},'change.bootstrapSwitch':function changeBootstrapSwitch(f,g){f.preventDefault(),f.stopImmediatePropagation();var h=e.$element.is(':checked');e._containerPosition(h),h===e.options.state||(e.options.state=h,e.$wrapper.toggleClass(e._getClass('off')).toggleClass(e._getClass('on')),!g&&(e.$element.is(':radio')&&a('[name="'+e.$element.attr('name')+'"]').not(e.$element).prop('checked',!1).trigger('change.bootstrapSwitch',!0),e.$element.trigger('switchChange.bootstrapSwitch',[h])))},'focus.bootstrapSwitch':function focusBootstrapSwitch(f){f.preventDefault(),e.$wrapper.addClass(e._getClass('focused'))},'blur.bootstrapSwitch':function blurBootstrapSwitch(f){f.preventDefault(),e.$wrapper.removeClass(e._getClass('focused'))},'keydown.bootstrapSwitch':function keydownBootstrapSwitch(f){!f.which||e.options.disabled||e.options.readonly||(37===f.which||39===f.which)&&(f.preventDefault(),f.stopImmediatePropagation(),e.state(39===f.which))}})}},{key:'_handleHandlers',value:function _handleHandlers(){var e=this;return this.$on.on('click.bootstrapSwitch',function(f){return f.preventDefault(),f.stopPropagation(),e.state(!1),e.$element.trigger('focus.bootstrapSwitch')}),this.$off.on('click.bootstrapSwitch',function(f){return f.preventDefault(),f.stopPropagation(),e.state(!0),e.$element.trigger('focus.bootstrapSwitch')})}},{key:'_labelHandlers',value:function _labelHandlers(){var f=this;this.$label.on({click:function click(g){g.stopPropagation()},'mousedown.bootstrapSwitch touchstart.bootstrapSwitch':function mousedownBootstrapSwitchTouchstartBootstrapSwitch(g){f._dragStart||f.options.disabled||f.options.readonly||(g.preventDefault(),g.stopPropagation(),f._dragStart=(g.pageX||g.originalEvent.touches[0].pageX)-parseInt(f.$container.css('margin-left'),10),f.options.animate&&f.$wrapper.removeClass(f._getClass('animate')),f.$element.trigger('focus.bootstrapSwitch'))},'mousemove.bootstrapSwitch touchmove.bootstrapSwitch':function mousemoveBootstrapSwitchTouchmoveBootstrapSwitch(g){if(null!=f._dragStart){var h=(g.pageX||g.originalEvent.touches[0].pageX)-f._dragStart;g.preventDefault(),h<-f._handleWidth||0<h||(f._dragEnd=h,f.$container.css('margin-left',f._dragEnd+'px'))}},'mouseup.bootstrapSwitch touchend.bootstrapSwitch':function mouseupBootstrapSwitchTouchendBootstrapSwitch(g){if(f._dragStart){if(g.preventDefault(),f.options.animate&&f.$wrapper.addClass(f._getClass('animate')),f._dragEnd){var h=f._dragEnd>-(f._handleWidth/2);f._dragEnd=!1,f.state(f.options.inverse?!h:h)}else f.state(!f.options.state);f._dragStart=!1}},'mouseleave.bootstrapSwitch':function mouseleaveBootstrapSwitch(){f.$label.trigger('mouseup.bootstrapSwitch')}})}},{key:'_externalLabelHandler',value:function _externalLabelHandler(){var f=this,e=this.$element.closest('label');e.on('click',function(g){g.preventDefault(),g.stopImmediatePropagation(),g.target===e[0]&&f.toggleState()})}},{key:'_formHandler',value:function _formHandler(){var e=this.$element.closest('form');e.data('bootstrap-switch')||e.on('reset.bootstrapSwitch',function(){b.setTimeout(function(){e.find('input').filter(function(){return a(this).data('bootstrap-switch')}).each(function(){return a(this).bootstrapSwitch('state',this.checked)})},1)}).data('bootstrap-switch',!0)}},{key:'_getClass',value:function _getClass(e){return this.options.baseClass+'-'+e}},{key:'_getClasses',value:function _getClasses(e){return a.isArray(e)?e.map(this._getClass.bind(this)):[this._getClass(e)]}}]),d}();a.fn.bootstrapSwitch=function(d){for(var f=arguments.length,e=Array(1<f?f-1:0),g=1;g<f;g++)e[g-1]=arguments[g];var h=this;return this.each(function(){var j=a(this),k=j.data('bootstrap-switch');k||(k=new c(this,d),j.data('bootstrap-switch',k)),'string'==typeof d&&(h=k[d].apply(k,e))}),h},a.fn.bootstrapSwitch.Constructor=c,a.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:'primary',offColor:'default',onText:'ON',offText:'OFF',labelText:'&nbsp',handleWidth:'auto',labelWidth:'auto',baseClass:'bootstrap-switch',wrapperClass:'wrapper',onInit:function onInit(){},onSwitchChange:function onSwitchChange(){}}})(window.jQuery,window);
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/build/003-bootstrap-slider.min.js b/mailcow/src/mailcow-dockerized/data/web/js/build/003-bootstrap-slider.min.js
deleted file mode 100644
index 633988c..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/js/build/003-bootstrap-slider.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! =======================================================
-                      VERSION  10.6.1              
-========================================================= */
-"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},windowIsDefined="object"===("undefined"==typeof window?"undefined":_typeof(window));!function(a){if("function"==typeof define&&define.amd)define(["jquery"],a);else if("object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports){var b;try{b=require("jquery")}catch(c){b=null}module.exports=a(b)}else window&&(window.Slider=a(window.jQuery))}(function(a){var b="slider",c="bootstrapSlider";windowIsDefined&&!window.console&&(window.console={}),windowIsDefined&&!window.console.log&&(window.console.log=function(){}),windowIsDefined&&!window.console.warn&&(window.console.warn=function(){});var d;return function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l&&l!==k)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}var m=this.map(function(){var d=a.data(this,b);return d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d)),a(this)});return!m||m.length>1?m:m[0]}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;c(a)}(a),function(a){function e(b,c){function d(a,b){var c="data-slider-"+b.replace(/_/g,"-"),d=a.getAttribute(c);try{return JSON.parse(d)}catch(e){return d}}this._state={value:null,enabled:null,offset:null,size:null,percentage:null,inDrag:!1,over:!1,tickIndex:null},this.ticksCallbackMap={},this.handleCallbackMap={},"string"==typeof b?this.element=document.querySelector(b):b instanceof HTMLElement&&(this.element=b),c=c?c:{};for(var e=Object.keys(this.defaultOptions),f=c.hasOwnProperty("min"),g=c.hasOwnProperty("max"),i=0;i<e.length;i++){var j=e[i],k=c[j];k="undefined"!=typeof k?k:d(this.element,j),k=null!==k?k:this.defaultOptions[j],this.options||(this.options={}),this.options[j]=k}if(this.ticksAreValid=Array.isArray(this.options.ticks)&&this.options.ticks.length>0,this.ticksAreValid||(this.options.lock_to_ticks=!1),"auto"===this.options.rtl){var l=window.getComputedStyle(this.element);null!=l?this.options.rtl="rtl"===l.direction:this.options.rtl="rtl"===this.element.style.direction}"vertical"!==this.options.orientation||"top"!==this.options.tooltip_position&&"bottom"!==this.options.tooltip_position?"horizontal"!==this.options.orientation||"left"!==this.options.tooltip_position&&"right"!==this.options.tooltip_position||(this.options.tooltip_position="top"):this.options.rtl?this.options.tooltip_position="left":this.options.tooltip_position="right";var m,n,o,p,q,r=this.element.style.width,s=!1,t=this.element.parentNode;if(this.sliderElem)s=!0;else{this.sliderElem=document.createElement("div"),this.sliderElem.className="slider";var u=document.createElement("div");u.className="slider-track",n=document.createElement("div"),n.className="slider-track-low",m=document.createElement("div"),m.className="slider-selection",o=document.createElement("div"),o.className="slider-track-high",p=document.createElement("div"),p.className="slider-handle min-slider-handle",p.setAttribute("role","slider"),p.setAttribute("aria-valuemin",this.options.min),p.setAttribute("aria-valuemax",this.options.max),q=document.createElement("div"),q.className="slider-handle max-slider-handle",q.setAttribute("role","slider"),q.setAttribute("aria-valuemin",this.options.min),q.setAttribute("aria-valuemax",this.options.max),u.appendChild(n),u.appendChild(m),u.appendChild(o),this.rangeHighlightElements=[];var v=this.options.rangeHighlights;if(Array.isArray(v)&&v.length>0)for(var w=0;w<v.length;w++){var x=document.createElement("div"),y=v[w]["class"]||"";x.className="slider-rangeHighlight slider-selection "+y,this.rangeHighlightElements.push(x),u.appendChild(x)}var z=Array.isArray(this.options.labelledby);if(z&&this.options.labelledby[0]&&p.setAttribute("aria-labelledby",this.options.labelledby[0]),z&&this.options.labelledby[1]&&q.setAttribute("aria-labelledby",this.options.labelledby[1]),!z&&this.options.labelledby&&(p.setAttribute("aria-labelledby",this.options.labelledby),q.setAttribute("aria-labelledby",this.options.labelledby)),this.ticks=[],Array.isArray(this.options.ticks)&&this.options.ticks.length>0){for(this.ticksContainer=document.createElement("div"),this.ticksContainer.className="slider-tick-container",i=0;i<this.options.ticks.length;i++){var A=document.createElement("div");if(A.className="slider-tick",this.options.ticks_tooltip){var B=this._addTickListener(),C=B.addMouseEnter(this,A,i),D=B.addMouseLeave(this,A);this.ticksCallbackMap[i]={mouseEnter:C,mouseLeave:D}}this.ticks.push(A),this.ticksContainer.appendChild(A)}m.className+=" tick-slider-selection"}if(this.tickLabels=[],Array.isArray(this.options.ticks_labels)&&this.options.ticks_labels.length>0)for(this.tickLabelContainer=document.createElement("div"),this.tickLabelContainer.className="slider-tick-label-container",i=0;i<this.options.ticks_labels.length;i++){var E=document.createElement("div"),F=0===this.options.ticks_positions.length,G=this.options.reversed&&F?this.options.ticks_labels.length-(i+1):i;E.className="slider-tick-label",E.innerHTML=this.options.ticks_labels[G],this.tickLabels.push(E),this.tickLabelContainer.appendChild(E)}var H=function(a){var b=document.createElement("div");b.className="tooltip-arrow";var c=document.createElement("div");c.className="tooltip-inner",a.appendChild(b),a.appendChild(c)},I=document.createElement("div");I.className="tooltip tooltip-main",I.setAttribute("role","presentation"),H(I);var J=document.createElement("div");J.className="tooltip tooltip-min",J.setAttribute("role","presentation"),H(J);var K=document.createElement("div");K.className="tooltip tooltip-max",K.setAttribute("role","presentation"),H(K),this.sliderElem.appendChild(u),this.sliderElem.appendChild(I),this.sliderElem.appendChild(J),this.sliderElem.appendChild(K),this.tickLabelContainer&&this.sliderElem.appendChild(this.tickLabelContainer),this.ticksContainer&&this.sliderElem.appendChild(this.ticksContainer),this.sliderElem.appendChild(p),this.sliderElem.appendChild(q),t.insertBefore(this.sliderElem,this.element),this.element.style.display="none"}if(a&&(this.$element=a(this.element),this.$sliderElem=a(this.sliderElem)),this.eventToCallbackMap={},this.sliderElem.id=this.options.id,this.touchCapable="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,this.touchX=0,this.touchY=0,this.tooltip=this.sliderElem.querySelector(".tooltip-main"),this.tooltipInner=this.tooltip.querySelector(".tooltip-inner"),this.tooltip_min=this.sliderElem.querySelector(".tooltip-min"),this.tooltipInner_min=this.tooltip_min.querySelector(".tooltip-inner"),this.tooltip_max=this.sliderElem.querySelector(".tooltip-max"),this.tooltipInner_max=this.tooltip_max.querySelector(".tooltip-inner"),h[this.options.scale]&&(this.options.scale=h[this.options.scale]),s===!0&&(this._removeClass(this.sliderElem,"slider-horizontal"),this._removeClass(this.sliderElem,"slider-vertical"),this._removeClass(this.sliderElem,"slider-rtl"),this._removeClass(this.tooltip,"hide"),this._removeClass(this.tooltip_min,"hide"),this._removeClass(this.tooltip_max,"hide"),["left","right","top","width","height"].forEach(function(a){this._removeProperty(this.trackLow,a),this._removeProperty(this.trackSelection,a),this._removeProperty(this.trackHigh,a)},this),[this.handle1,this.handle2].forEach(function(a){this._removeProperty(a,"left"),this._removeProperty(a,"right"),this._removeProperty(a,"top")},this),[this.tooltip,this.tooltip_min,this.tooltip_max].forEach(function(a){this._removeProperty(a,"left"),this._removeProperty(a,"right"),this._removeProperty(a,"top"),this._removeClass(a,"right"),this._removeClass(a,"left"),this._removeClass(a,"top")},this)),"vertical"===this.options.orientation?(this._addClass(this.sliderElem,"slider-vertical"),this.stylePos="top",this.mousePos="pageY",this.sizePos="offsetHeight"):(this._addClass(this.sliderElem,"slider-horizontal"),this.sliderElem.style.width=r,this.options.orientation="horizontal",this.options.rtl?this.stylePos="right":this.stylePos="left",this.mousePos="clientX",this.sizePos="offsetWidth"),this.options.rtl&&this._addClass(this.sliderElem,"slider-rtl"),this._setTooltipPosition(),Array.isArray(this.options.ticks)&&this.options.ticks.length>0&&(g||(this.options.max=Math.max.apply(Math,this.options.ticks)),f||(this.options.min=Math.min.apply(Math,this.options.ticks))),Array.isArray(this.options.value)?(this.options.range=!0,this._state.value=this.options.value):this.options.range?this._state.value=[this.options.value,this.options.max]:this._state.value=this.options.value,this.trackLow=n||this.trackLow,this.trackSelection=m||this.trackSelection,this.trackHigh=o||this.trackHigh,"none"===this.options.selection?(this._addClass(this.trackLow,"hide"),this._addClass(this.trackSelection,"hide"),this._addClass(this.trackHigh,"hide")):("after"===this.options.selection||"before"===this.options.selection)&&(this._removeClass(this.trackLow,"hide"),this._removeClass(this.trackSelection,"hide"),this._removeClass(this.trackHigh,"hide")),this.handle1=p||this.handle1,this.handle2=q||this.handle2,s===!0)for(this._removeClass(this.handle1,"round triangle"),this._removeClass(this.handle2,"round triangle hide"),i=0;i<this.ticks.length;i++)this._removeClass(this.ticks[i],"round triangle hide");var L=["round","triangle","custom"],M=-1!==L.indexOf(this.options.handle);if(M)for(this._addClass(this.handle1,this.options.handle),this._addClass(this.handle2,this.options.handle),i=0;i<this.ticks.length;i++)this._addClass(this.ticks[i],this.options.handle);if(this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],this.setValue(this._state.value),this.handle1Keydown=this._keydown.bind(this,0),this.handle1.addEventListener("keydown",this.handle1Keydown,!1),this.handle2Keydown=this._keydown.bind(this,1),this.handle2.addEventListener("keydown",this.handle2Keydown,!1),this.mousedown=this._mousedown.bind(this),this.touchstart=this._touchstart.bind(this),this.touchmove=this._touchmove.bind(this),this.touchCapable&&(this.sliderElem.addEventListener("touchstart",this.touchstart,!1),this.sliderElem.addEventListener("touchmove",this.touchmove,!1)),this.sliderElem.addEventListener("mousedown",this.mousedown,!1),this.resize=this._resize.bind(this),window.addEventListener("resize",this.resize,!1),"hide"===this.options.tooltip)this._addClass(this.tooltip,"hide"),this._addClass(this.tooltip_min,"hide"),this._addClass(this.tooltip_max,"hide");else if("always"===this.options.tooltip)this._showTooltip(),this._alwaysShowTooltip=!0;else{if(this.showTooltip=this._showTooltip.bind(this),this.hideTooltip=this._hideTooltip.bind(this),this.options.ticks_tooltip){var N=this._addTickListener(),O=N.addMouseEnter(this,this.handle1),P=N.addMouseLeave(this,this.handle1);this.handleCallbackMap.handle1={mouseEnter:O,mouseLeave:P},O=N.addMouseEnter(this,this.handle2),P=N.addMouseLeave(this,this.handle2),this.handleCallbackMap.handle2={mouseEnter:O,mouseLeave:P}}else this.sliderElem.addEventListener("mouseenter",this.showTooltip,!1),this.sliderElem.addEventListener("mouseleave",this.hideTooltip,!1),this.touchCapable&&(this.sliderElem.addEventListener("touchstart",this.showTooltip,!1),this.sliderElem.addEventListener("touchmove",this.showTooltip,!1),this.sliderElem.addEventListener("touchend",this.hideTooltip,!1));this.handle1.addEventListener("focus",this.showTooltip,!1),this.handle1.addEventListener("blur",this.hideTooltip,!1),this.handle2.addEventListener("focus",this.showTooltip,!1),this.handle2.addEventListener("blur",this.hideTooltip,!1),this.touchCapable&&(this.handle1.addEventListener("touchstart",this.showTooltip,!1),this.handle1.addEventListener("touchmove",this.showTooltip,!1),this.handle1.addEventListener("touchend",this.hideTooltip,!1),this.handle2.addEventListener("touchstart",this.showTooltip,!1),this.handle2.addEventListener("touchmove",this.showTooltip,!1),this.handle2.addEventListener("touchend",this.hideTooltip,!1))}this.options.enabled?this.enable():this.disable()}var f=void 0,g={formatInvalidInputErrorMsg:function(a){return"Invalid input value '"+a+"' passed in"},callingContextNotSliderInstance:"Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"},h={linear:{getValue:function(a,b){return a<b.min?b.min:a>b.max?b.max:a},toValue:function(a){var b=a/100*(this.options.max-this.options.min),c=!0;if(this.options.ticks_positions.length>0){for(var d,e,f,g=0,i=1;i<this.options.ticks_positions.length;i++)if(a<=this.options.ticks_positions[i]){d=this.options.ticks[i-1],f=this.options.ticks_positions[i-1],e=this.options.ticks[i],g=this.options.ticks_positions[i];break}var j=(a-f)/(g-f);b=d+j*(e-d),c=!1}var k=c?this.options.min:0,l=k+Math.round(b/this.options.step)*this.options.step;return h.linear.getValue(l,this.options)},toPercentage:function(a){if(this.options.max===this.options.min)return 0;if(this.options.ticks_positions.length>0){for(var b,c,d,e=0,f=0;f<this.options.ticks.length;f++)if(a<=this.options.ticks[f]){b=f>0?this.options.ticks[f-1]:0,d=f>0?this.options.ticks_positions[f-1]:0,c=this.options.ticks[f],e=this.options.ticks_positions[f];break}if(f>0){var g=(a-b)/(c-b);return d+g*(e-d)}}return 100*(a-this.options.min)/(this.options.max-this.options.min)}},logarithmic:{toValue:function(a){var b=1-this.options.min,c=Math.log(this.options.min+b),d=Math.log(this.options.max+b),e=Math.exp(c+(d-c)*a/100)-b;return Math.round(e)===d?d:(e=this.options.min+Math.round((e-this.options.min)/this.options.step)*this.options.step,h.linear.getValue(e,this.options))},toPercentage:function(a){if(this.options.max===this.options.min)return 0;var b=1-this.options.min,c=Math.log(this.options.max+b),d=Math.log(this.options.min+b),e=Math.log(a+b);return 100*(e-d)/(c-d)}}};d=function(a,b){return e.call(this,a,b),this},d.prototype={_init:function(){},constructor:d,defaultOptions:{id:"",min:0,max:10,step:1,precision:0,orientation:"horizontal",value:5,range:!1,selection:"before",tooltip:"show",tooltip_split:!1,lock_to_ticks:!1,handle:"round",reversed:!1,rtl:"auto",enabled:!0,formatter:function(a){return Array.isArray(a)?a[0]+" : "+a[1]:a},natural_arrow_keys:!1,ticks:[],ticks_positions:[],ticks_labels:[],ticks_snap_bounds:0,ticks_tooltip:!1,scale:"linear",focus:!1,tooltip_position:null,labelledby:null,rangeHighlights:[]},getElement:function(){return this.sliderElem},getValue:function(){return this.options.range?this._state.value:this._state.value[0]},setValue:function(a,b,c){a||(a=0);var d=this.getValue();this._state.value=this._validateInputValue(a);var e=this._applyPrecision.bind(this);this.options.range?(this._state.value[0]=e(this._state.value[0]),this._state.value[1]=e(this._state.value[1]),this.ticksAreValid&&this.options.lock_to_ticks&&(this._state.value[0]=this.options.ticks[this._getClosestTickIndex(this._state.value[0])],this._state.value[1]=this.options.ticks[this._getClosestTickIndex(this._state.value[1])]),this._state.value[0]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[0])),this._state.value[1]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[1]))):(this._state.value=e(this._state.value),this.ticksAreValid&&this.options.lock_to_ticks&&(this._state.value=this.options.ticks[this._getClosestTickIndex(this._state.value)]),this._state.value=[Math.max(this.options.min,Math.min(this.options.max,this._state.value))],this._addClass(this.handle2,"hide"),"after"===this.options.selection?this._state.value[1]=this.options.max:this._state.value[1]=this.options.min),this._setTickIndex(),this.options.max>this.options.min?this._state.percentage=[this._toPercentage(this._state.value[0]),this._toPercentage(this._state.value[1]),100*this.options.step/(this.options.max-this.options.min)]:this._state.percentage=[0,0,100],this._layout();var f=this.options.range?this._state.value:this._state.value[0];this._setDataVal(f),b===!0&&this._trigger("slide",f);var g=!1;return g=Array.isArray(f)?d[0]!==f[0]||d[1]!==f[1]:d!==f,g&&c===!0&&this._trigger("change",{oldValue:d,newValue:f}),this},destroy:function(){this._removeSliderEventHandlers(),this.sliderElem.parentNode.removeChild(this.sliderElem),this.element.style.display="",this._cleanUpEventCallbacksMap(),this.element.removeAttribute("data"),a&&(this._unbindJQueryEventHandlers(),f===b&&this.$element.removeData(f),this.$element.removeData(c))},disable:function(){return this._state.enabled=!1,this.handle1.removeAttribute("tabindex"),this.handle2.removeAttribute("tabindex"),this._addClass(this.sliderElem,"slider-disabled"),this._trigger("slideDisabled"),this},enable:function(){return this._state.enabled=!0,this.handle1.setAttribute("tabindex",0),this.handle2.setAttribute("tabindex",0),this._removeClass(this.sliderElem,"slider-disabled"),this._trigger("slideEnabled"),this},toggle:function(){return this._state.enabled?this.disable():this.enable(),this},isEnabled:function(){return this._state.enabled},on:function(a,b){return this._bindNonQueryEventHandler(a,b),this},off:function(b,c){a?(this.$element.off(b,c),this.$sliderElem.off(b,c)):this._unbindNonQueryEventHandler(b,c)},getAttribute:function(a){return a?this.options[a]:this.options},setAttribute:function(a,b){return this.options[a]=b,this},refresh:function(d){var g=this.getValue();return this._removeSliderEventHandlers(),e.call(this,this.element,this.options),d&&d.useCurrentValue===!0&&this.setValue(g),a&&(f===b?(a.data(this.element,b,this),a.data(this.element,c,this)):a.data(this.element,c,this)),this},relayout:function(){return this._resize(),this},_removeTooltipListener:function(a,b){this.handle1.removeEventListener(a,b,!1),this.handle2.removeEventListener(a,b,!1)},_removeSliderEventHandlers:function(){if(this.handle1.removeEventListener("keydown",this.handle1Keydown,!1),this.handle2.removeEventListener("keydown",this.handle2Keydown,!1),this.options.ticks_tooltip){for(var a=this.ticksContainer.getElementsByClassName("slider-tick"),b=0;b<a.length;b++)a[b].removeEventListener("mouseenter",this.ticksCallbackMap[b].mouseEnter,!1),a[b].removeEventListener("mouseleave",this.ticksCallbackMap[b].mouseLeave,!1);this.handleCallbackMap.handle1&&this.handleCallbackMap.handle2&&(this.handle1.removeEventListener("mouseenter",this.handleCallbackMap.handle1.mouseEnter,!1),this.handle2.removeEventListener("mouseenter",this.handleCallbackMap.handle2.mouseEnter,!1),this.handle1.removeEventListener("mouseleave",this.handleCallbackMap.handle1.mouseLeave,!1),this.handle2.removeEventListener("mouseleave",this.handleCallbackMap.handle2.mouseLeave,!1))}this.handleCallbackMap=null,this.ticksCallbackMap=null,this.showTooltip&&this._removeTooltipListener("focus",this.showTooltip),this.hideTooltip&&this._removeTooltipListener("blur",this.hideTooltip),this.showTooltip&&this.sliderElem.removeEventListener("mouseenter",this.showTooltip,!1),this.hideTooltip&&this.sliderElem.removeEventListener("mouseleave",this.hideTooltip,!1),this.sliderElem.removeEventListener("mousedown",this.mousedown,!1),this.touchCapable&&(this.showTooltip&&(this.handle1.removeEventListener("touchstart",this.showTooltip,!1),this.handle1.removeEventListener("touchmove",this.showTooltip,!1),this.handle2.removeEventListener("touchstart",this.showTooltip,!1),this.handle2.removeEventListener("touchmove",this.showTooltip,!1)),this.hideTooltip&&(this.handle1.removeEventListener("touchend",this.hideTooltip,!1),this.handle2.removeEventListener("touchend",this.hideTooltip,!1)),this.showTooltip&&(this.sliderElem.removeEventListener("touchstart",this.showTooltip,!1),this.sliderElem.removeEventListener("touchmove",this.showTooltip,!1)),this.hideTooltip&&this.sliderElem.removeEventListener("touchend",this.hideTooltip,!1),this.sliderElem.removeEventListener("touchstart",this.touchstart,!1),this.sliderElem.removeEventListener("touchmove",this.touchmove,!1)),window.removeEventListener("resize",this.resize,!1)},_bindNonQueryEventHandler:function(a,b){void 0===this.eventToCallbackMap[a]&&(this.eventToCallbackMap[a]=[]),this.eventToCallbackMap[a].push(b)},_unbindNonQueryEventHandler:function(a,b){var c=this.eventToCallbackMap[a];if(void 0!==c)for(var d=0;d<c.length;d++)if(c[d]===b){c.splice(d,1);break}},_cleanUpEventCallbacksMap:function(){for(var a=Object.keys(this.eventToCallbackMap),b=0;b<a.length;b++){var c=a[b];delete this.eventToCallbackMap[c]}},_showTooltip:function(){this.options.tooltip_split===!1?(this._addClass(this.tooltip,"in"),this.tooltip_min.style.display="none",this.tooltip_max.style.display="none"):(this._addClass(this.tooltip_min,"in"),this._addClass(this.tooltip_max,"in"),this.tooltip.style.display="none"),this._state.over=!0},_hideTooltip:function(){this._state.inDrag===!1&&this._alwaysShowTooltip!==!0&&(this._removeClass(this.tooltip,"in"),this._removeClass(this.tooltip_min,"in"),this._removeClass(this.tooltip_max,"in")),this._state.over=!1},_setToolTipOnMouseOver:function(a){function b(a,b){return b?[100-a.percentage[0],c.options.range?100-a.percentage[1]:a.percentage[1]]:[a.percentage[0],a.percentage[1]]}var c=this,d=this.options.formatter(a?a.value[0]:this._state.value[0]),e=a?b(a,this.options.reversed):b(this._state,this.options.reversed);this._setText(this.tooltipInner,d),this.tooltip.style[this.stylePos]=e[0]+"%"},_copyState:function(){return{value:[this._state.value[0],this._state.value[1]],enabled:this._state.enabled,offset:this._state.offset,size:this._state.size,percentage:[this._state.percentage[0],this._state.percentage[1],this._state.percentage[2]],inDrag:this._state.inDrag,over:this._state.over,dragged:this._state.dragged,keyCtrl:this._state.keyCtrl}},_addTickListener:function(){return{addMouseEnter:function(a,b,c){var d=function(){var d=a._copyState(),e=b===a.handle1?d.value[0]:d.value[1],f=void 0;void 0!==c?(e=a.options.ticks[c],f=a.options.ticks_positions.length>0&&a.options.ticks_positions[c]||a._toPercentage(a.options.ticks[c])):f=a._toPercentage(e),d.value[0]=e,d.percentage[0]=f,a._setToolTipOnMouseOver(d),a._showTooltip()};return b.addEventListener("mouseenter",d,!1),d},addMouseLeave:function(a,b){var c=function(){a._hideTooltip()};return b.addEventListener("mouseleave",c,!1),c}}},_layout:function(){var a,b;if(a=this.options.reversed?[100-this._state.percentage[0],this.options.range?100-this._state.percentage[1]:this._state.percentage[1]]:[this._state.percentage[0],this._state.percentage[1]],this.handle1.style[this.stylePos]=a[0]+"%",this.handle1.setAttribute("aria-valuenow",this._state.value[0]),b=this.options.formatter(this._state.value[0]),isNaN(b)?this.handle1.setAttribute("aria-valuetext",b):this.handle1.removeAttribute("aria-valuetext"),this.handle2.style[this.stylePos]=a[1]+"%",this.handle2.setAttribute("aria-valuenow",this._state.value[1]),b=this.options.formatter(this._state.value[1]),isNaN(b)?this.handle2.setAttribute("aria-valuetext",b):this.handle2.removeAttribute("aria-valuetext"),this.rangeHighlightElements.length>0&&Array.isArray(this.options.rangeHighlights)&&this.options.rangeHighlights.length>0)for(var c=0;c<this.options.rangeHighlights.length;c++){var d=this._toPercentage(this.options.rangeHighlights[c].start),e=this._toPercentage(this.options.rangeHighlights[c].end);if(this.options.reversed){var f=100-e;e=100-d,d=f}var g=this._createHighlightRange(d,e);g?"vertical"===this.options.orientation?(this.rangeHighlightElements[c].style.top=g.start+"%",this.rangeHighlightElements[c].style.height=g.size+"%"):(this.options.rtl?this.rangeHighlightElements[c].style.right=g.start+"%":this.rangeHighlightElements[c].style.left=g.start+"%",this.rangeHighlightElements[c].style.width=g.size+"%"):this.rangeHighlightElements[c].style.display="none"}if(Array.isArray(this.options.ticks)&&this.options.ticks.length>0){var h,i="vertical"===this.options.orientation?"height":"width";h="vertical"===this.options.orientation?"marginTop":this.options.rtl?"marginRight":"marginLeft";var j=this._state.size/(this.options.ticks.length-1);if(this.tickLabelContainer){var k=0;if(0===this.options.ticks_positions.length)"vertical"!==this.options.orientation&&(this.tickLabelContainer.style[h]=-j/2+"px"),k=this.tickLabelContainer.offsetHeight;else for(l=0;l<this.tickLabelContainer.childNodes.length;l++)this.tickLabelContainer.childNodes[l].offsetHeight>k&&(k=this.tickLabelContainer.childNodes[l].offsetHeight);"horizontal"===this.options.orientation&&(this.sliderElem.style.marginBottom=k+"px")}for(var l=0;l<this.options.ticks.length;l++){var m=this.options.ticks_positions[l]||this._toPercentage(this.options.ticks[l]);this.options.reversed&&(m=100-m),this.ticks[l].style[this.stylePos]=m+"%",this._removeClass(this.ticks[l],"in-selection"),this.options.range?m>=a[0]&&m<=a[1]&&this._addClass(this.ticks[l],"in-selection"):"after"===this.options.selection&&m>=a[0]?this._addClass(this.ticks[l],"in-selection"):"before"===this.options.selection&&m<=a[0]&&this._addClass(this.ticks[l],"in-selection"),this.tickLabels[l]&&(this.tickLabels[l].style[i]=j+"px","vertical"!==this.options.orientation&&void 0!==this.options.ticks_positions[l]?(this.tickLabels[l].style.position="absolute",this.tickLabels[l].style[this.stylePos]=m+"%",this.tickLabels[l].style[h]=-j/2+"px"):"vertical"===this.options.orientation&&(this.options.rtl?this.tickLabels[l].style.marginRight=this.sliderElem.offsetWidth+"px":this.tickLabels[l].style.marginLeft=this.sliderElem.offsetWidth+"px",this.tickLabelContainer.style[h]=this.sliderElem.offsetWidth/2*-1+"px"),this._removeClass(this.tickLabels[l],"label-in-selection label-is-selection"),this.options.range?m>=a[0]&&m<=a[1]&&(this._addClass(this.tickLabels[l],"label-in-selection"),(m===a[0]||a[1])&&this._addClass(this.tickLabels[l],"label-is-selection")):("after"===this.options.selection&&m>=a[0]?this._addClass(this.tickLabels[l],"label-in-selection"):"before"===this.options.selection&&m<=a[0]&&this._addClass(this.tickLabels[l],"label-in-selection"),m===a[0]&&this._addClass(this.tickLabels[l],"label-is-selection")))}}var n;if(this.options.range){n=this.options.formatter(this._state.value),this._setText(this.tooltipInner,n),this.tooltip.style[this.stylePos]=(a[1]+a[0])/2+"%";var o=this.options.formatter(this._state.value[0]);this._setText(this.tooltipInner_min,o);var p=this.options.formatter(this._state.value[1]);this._setText(this.tooltipInner_max,p),this.tooltip_min.style[this.stylePos]=a[0]+"%",this.tooltip_max.style[this.stylePos]=a[1]+"%"}else n=this.options.formatter(this._state.value[0]),this._setText(this.tooltipInner,n),this.tooltip.style[this.stylePos]=a[0]+"%";if("vertical"===this.options.orientation)this.trackLow.style.top="0",this.trackLow.style.height=Math.min(a[0],a[1])+"%",this.trackSelection.style.top=Math.min(a[0],a[1])+"%",this.trackSelection.style.height=Math.abs(a[0]-a[1])+"%",this.trackHigh.style.bottom="0",this.trackHigh.style.height=100-Math.min(a[0],a[1])-Math.abs(a[0]-a[1])+"%";else{"right"===this.stylePos?this.trackLow.style.right="0":this.trackLow.style.left="0",this.trackLow.style.width=Math.min(a[0],a[1])+"%","right"===this.stylePos?this.trackSelection.style.right=Math.min(a[0],a[1])+"%":this.trackSelection.style.left=Math.min(a[0],a[1])+"%",this.trackSelection.style.width=Math.abs(a[0]-a[1])+"%","right"===this.stylePos?this.trackHigh.style.left="0":this.trackHigh.style.right="0",this.trackHigh.style.width=100-Math.min(a[0],a[1])-Math.abs(a[0]-a[1])+"%";var q=this.tooltip_min.getBoundingClientRect(),r=this.tooltip_max.getBoundingClientRect();"bottom"===this.options.tooltip_position?q.right>r.left?(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top="",this.tooltip_max.style.bottom="22px"):(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top=this.tooltip_min.style.top,this.tooltip_max.style.bottom=""):q.right>r.left?(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top="18px"):(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top=this.tooltip_min.style.top)}},_createHighlightRange:function(a,b){return this._isHighlightRange(a,b)?a>b?{start:b,size:a-b}:{start:a,size:b-a}:null},_isHighlightRange:function(a,b){return a>=0&&100>=a&&b>=0&&100>=b?!0:!1},_resize:function(a){this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],this._layout()},_removeProperty:function(a,b){a.style.removeProperty?a.style.removeProperty(b):a.style.removeAttribute(b)},_mousedown:function(a){if(!this._state.enabled)return!1;a.preventDefault&&a.preventDefault(),this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos];var b=this._getPercentage(a);if(this.options.range){var c=Math.abs(this._state.percentage[0]-b),d=Math.abs(this._state.percentage[1]-b);this._state.dragged=d>c?0:1,this._adjustPercentageForRangeSliders(b)}else this._state.dragged=0;this._state.percentage[this._state.dragged]=b,this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),this.mousemove&&document.removeEventListener("mousemove",this.mousemove,!1),this.mouseup&&document.removeEventListener("mouseup",this.mouseup,!1),this.mousemove=this._mousemove.bind(this),this.mouseup=this._mouseup.bind(this),this.touchCapable&&(document.addEventListener("touchmove",this.mousemove,!1),document.addEventListener("touchend",this.mouseup,!1)),document.addEventListener("mousemove",this.mousemove,!1),document.addEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!0;var e=this._calculateValue();return this._trigger("slideStart",e),this.setValue(e,!1,!0),a.returnValue=!1,this.options.focus&&this._triggerFocusOnHandle(this._state.dragged),!0},_touchstart:function(a){this._mousedown(a)},_triggerFocusOnHandle:function(a){0===a&&this.handle1.focus(),1===a&&this.handle2.focus()},_keydown:function(a,b){if(!this._state.enabled)return!1;var c;switch(b.keyCode){case 37:case 40:c=-1;break;case 39:case 38:c=1}if(c){if(this.options.natural_arrow_keys){var d="horizontal"===this.options.orientation,e="vertical"===this.options.orientation,f=this.options.rtl,g=this.options.reversed;d?f?g||(c=-c):g&&(c=-c):e&&(g||(c=-c))}var h;if(this.ticksAreValid&&this.options.lock_to_ticks){var i=void 0;i=this.options.ticks.indexOf(this._state.value[a]),-1===i&&(i=0,window.console.warn("(lock_to_ticks) _keydown: index should not be -1")),i+=c,i=Math.max(0,Math.min(this.options.ticks.length-1,i)),h=this.options.ticks[i]}else h=this._state.value[a]+c*this.options.step;var j=this._toPercentage(h);if(this._state.keyCtrl=a,this.options.range){this._adjustPercentageForRangeSliders(j);var k=this._state.keyCtrl?this._state.value[0]:h,l=this._state.keyCtrl?h:this._state.value[1];h=[Math.max(this.options.min,Math.min(this.options.max,k)),Math.max(this.options.min,Math.min(this.options.max,l))]}else h=Math.max(this.options.min,Math.min(this.options.max,h));return this._trigger("slideStart",h),this.setValue(h,!0,!0),this._trigger("slideStop",h),this._pauseEvent(b),delete this._state.keyCtrl,!1}},_pauseEvent:function(a){a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.cancelBubble=!0,a.returnValue=!1},_mousemove:function(a){if(!this._state.enabled)return!1;
-var b=this._getPercentage(a);this._adjustPercentageForRangeSliders(b),this._state.percentage[this._state.dragged]=b;var c=this._calculateValue(!0);return this.setValue(c,!0,!0),!1},_touchmove:function(a){void 0!==a.changedTouches&&a.preventDefault&&a.preventDefault()},_adjustPercentageForRangeSliders:function(a){if(this.options.range){var b=this._getNumDigitsAfterDecimalPlace(a);b=b?b-1:0;var c=this._applyToFixedAndParseFloat(a,b);0===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[1],b)<c?(this._state.percentage[0]=this._state.percentage[1],this._state.dragged=1):1===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[0],b)>c?(this._state.percentage[1]=this._state.percentage[0],this._state.dragged=0):0===this._state.keyCtrl&&this._toPercentage(this._state.value[1])<a?(this._state.percentage[0]=this._state.percentage[1],this._state.keyCtrl=1,this.handle2.focus()):1===this._state.keyCtrl&&this._toPercentage(this._state.value[0])>a&&(this._state.percentage[1]=this._state.percentage[0],this._state.keyCtrl=0,this.handle1.focus())}},_mouseup:function(a){if(!this._state.enabled)return!1;var b=this._getPercentage(a);this._adjustPercentageForRangeSliders(b),this._state.percentage[this._state.dragged]=b,this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),document.removeEventListener("mousemove",this.mousemove,!1),document.removeEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!1,this._state.over===!1&&this._hideTooltip();var c=this._calculateValue(!0);return this.setValue(c,!1,!0),this._trigger("slideStop",c),this._state.dragged=null,!1},_setValues:function(a,b){var c=0===a?0:100;this._state.percentage[a]!==c&&(b.data[a]=this._toValue(this._state.percentage[a]),b.data[a]=this._applyPrecision(b.data[a]))},_calculateValue:function(a){var b={};return this.options.range?(b.data=[this.options.min,this.options.max],this._setValues(0,b),this._setValues(1,b),a&&(b.data[0]=this._snapToClosestTick(b.data[0]),b.data[1]=this._snapToClosestTick(b.data[1]))):(b.data=this._toValue(this._state.percentage[0]),b.data=parseFloat(b.data),b.data=this._applyPrecision(b.data),a&&(b.data=this._snapToClosestTick(b.data))),b.data},_snapToClosestTick:function(a){for(var b=[a,1/0],c=0;c<this.options.ticks.length;c++){var d=Math.abs(this.options.ticks[c]-a);d<=b[1]&&(b=[this.options.ticks[c],d])}return b[1]<=this.options.ticks_snap_bounds?b[0]:a},_applyPrecision:function(a){var b=this.options.precision||this._getNumDigitsAfterDecimalPlace(this.options.step);return this._applyToFixedAndParseFloat(a,b)},_getNumDigitsAfterDecimalPlace:function(a){var b=(""+a).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return b?Math.max(0,(b[1]?b[1].length:0)-(b[2]?+b[2]:0)):0},_applyToFixedAndParseFloat:function(a,b){var c=a.toFixed(b);return parseFloat(c)},_getPercentage:function(a){!this.touchCapable||"touchstart"!==a.type&&"touchmove"!==a.type&&"touchend"!==a.type||(a=a.changedTouches[0]);var b=a[this.mousePos],c=this._state.offset[this.stylePos],d=b-c;"right"===this.stylePos&&(d=-d);var e=d/this._state.size*100;return e=Math.round(e/this._state.percentage[2])*this._state.percentage[2],this.options.reversed&&(e=100-e),Math.max(0,Math.min(100,e))},_validateInputValue:function(a){if(isNaN(+a)){if(Array.isArray(a))return this._validateArray(a),a;throw new Error(g.formatInvalidInputErrorMsg(a))}return+a},_validateArray:function(a){for(var b=0;b<a.length;b++){var c=a[b];if("number"!=typeof c)throw new Error(g.formatInvalidInputErrorMsg(c))}},_setDataVal:function(a){this.element.setAttribute("data-value",a),this.element.setAttribute("value",a),this.element.value=a},_trigger:function(b,c){c=c||0===c?c:void 0;var d=this.eventToCallbackMap[b];if(d&&d.length)for(var e=0;e<d.length;e++){var f=d[e];f(c)}a&&this._triggerJQueryEvent(b,c)},_triggerJQueryEvent:function(a,b){var c={type:a,value:b};this.$element.trigger(c),this.$sliderElem.trigger(c)},_unbindJQueryEventHandlers:function(){this.$element.off(),this.$sliderElem.off()},_setText:function(a,b){"undefined"!=typeof a.textContent?a.textContent=b:"undefined"!=typeof a.innerText&&(a.innerText=b)},_removeClass:function(a,b){for(var c=b.split(" "),d=a.className,e=0;e<c.length;e++){var f=c[e],g=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)");d=d.replace(g," ")}a.className=d.trim()},_addClass:function(a,b){for(var c=b.split(" "),d=a.className,e=0;e<c.length;e++){var f=c[e],g=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)"),h=g.test(d);h||(d+=" "+f)}a.className=d.trim()},_offsetLeft:function(a){return a.getBoundingClientRect().left},_offsetRight:function(a){return a.getBoundingClientRect().right},_offsetTop:function(a){for(var b=a.offsetTop;(a=a.offsetParent)&&!isNaN(a.offsetTop);)b+=a.offsetTop,"BODY"!==a.tagName&&(b-=a.scrollTop);return b},_offset:function(a){return{left:this._offsetLeft(a),right:this._offsetRight(a),top:this._offsetTop(a)}},_css:function(b,c,d){if(a)a.style(b,c,d);else{var e=c.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,b){return b.toUpperCase()});b.style[e]=d}},_toValue:function(a){return this.options.scale.toValue.apply(this,[a])},_toPercentage:function(a){return this.options.scale.toPercentage.apply(this,[a])},_setTooltipPosition:function(){var a=[this.tooltip,this.tooltip_min,this.tooltip_max];if("vertical"===this.options.orientation){var b;b=this.options.tooltip_position?this.options.tooltip_position:this.options.rtl?"left":"right";var c="left"===b?"right":"left";a.forEach(function(a){this._addClass(a,b),a.style[c]="100%"}.bind(this))}else"bottom"===this.options.tooltip_position?a.forEach(function(a){this._addClass(a,"bottom"),a.style.top="22px"}.bind(this)):a.forEach(function(a){this._addClass(a,"top"),a.style.top=-this.tooltip.outerHeight-14+"px"}.bind(this))},_getClosestTickIndex:function(a){for(var b=Math.abs(a-this.options.ticks[0]),c=0,d=0;d<this.options.ticks.length;++d){var e=Math.abs(a-this.options.ticks[d]);b>e&&(b=e,c=d)}return c},_setTickIndex:function(){this.ticksAreValid&&(this._state.tickIndex=[this.options.ticks.indexOf(this._state.value[0]),this.options.ticks.indexOf(this._state.value[1])])}},a&&a.fn&&(a.fn.slider?(windowIsDefined&&window.console.warn("bootstrap-slider.js - WARNING: $.fn.slider namespace is already bound. Use the $.fn.bootstrapSlider namespace instead."),f=c):(a.bridget(b,d),f=b),a.bridget(c,d),a(function(){a("input[data-provide=slider]")[f]()}))}(a),d});
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/build/003-slider.min.js b/mailcow/src/mailcow-dockerized/data/web/js/build/003-slider.min.js
new file mode 100644
index 0000000..f04ef59
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/js/build/003-slider.min.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).noUiSlider={})}(this,function(st){"use strict";var t,e;function n(t){return"object"==typeof t&&"function"==typeof t.to&&"function"==typeof t.from}function at(t){t.parentElement.removeChild(t)}function lt(t){return null!=t}function ut(t){t.preventDefault()}function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function ct(t,e,r){0<r&&(dt(t,e),setTimeout(function(){ht(t,e)},r))}function pt(t){return Math.max(Math.min(t,100),0)}function ft(t){return Array.isArray(t)?t:[t]}function r(t){var e=(t=String(t)).split(".");return 1<e.length?e[1].length:0}function dt(t,e){t.classList&&!/\s/.test(e)?t.classList.add(e):t.className+=" "+e}function ht(t,e){t.classList&&!/\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")}function mt(t){var e=void 0!==window.pageXOffset,r="CSS1Compat"===(t.compatMode||"");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function c(t,e){return 100/(e-t)}function p(t,e,r){return 100*e/(t[r+1]-t[r])}function f(t,e){for(var r=1;t>=e[r];)r+=1;return r}function i(t,e,r){if(r>=t.slice(-1)[0])return 100;var n,i,o=f(r,t),s=t[o-1],a=t[o],l=e[o-1],u=e[o];return l+(i=r,p(n=[s,a],n[0]<0?i+Math.abs(n[0]):i-n[0],0)/c(l,u))}function s(t,e,r,n){if(100===n)return n;var i,o,s=f(n,t),a=t[s-1],l=t[s];return r?(l-a)/2<n-a?l:a:e[s-1]?t[s-1]+(i=n-t[s-1],o=e[s-1],Math.round(i/o)*o):n}st.PipsMode=void 0,(t=st.PipsMode||(st.PipsMode={})).Range="range",t.Steps="steps",t.Positions="positions",t.Count="count",t.Values="values",st.PipsType=void 0,(e=st.PipsType||(st.PipsType={}))[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue";var a=function(){function t(e,t,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.snap=t;var i=[];for(Object.keys(e).forEach(function(t){i.push([ft(e[t]),t])}),i.sort(function(t,e){return t[0][0]-e[0][0]}),n=0;n<i.length;n++)this.handleEntryPoint(i[n][1],i[n][0]);for(this.xNumSteps=this.xSteps.slice(0),n=0;n<this.xNumSteps.length;n++)this.handleStepPoint(n,this.xNumSteps[n])}return t.prototype.getDistance=function(t){var e,r=[];for(e=0;e<this.xNumSteps.length-1;e++){var n=this.xNumSteps[e];if(n&&t/n%1!=0)throw new Error("noUiSlider: 'limit', 'margin' and 'padding' of "+this.xPct[e]+"% range must be divisible by step.");r[e]=p(this.xVal,t,e)}return r},t.prototype.getAbsoluteDistance=function(t,e,r){var n,i=0;if(t<this.xPct[this.xPct.length-1])for(;t>this.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++,null===e&&(e=[]);var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);0<s;)a=this.xPct[i+1+c]-this.xPct[i+c],100<e[i+c]*o+100-100*n?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,1<=this.xPct.length+c&&c--):(u+=l,1<=this.xPct.length-c&&c++),s=e[i+c]*o;return t+u},t.prototype.toStepping=function(t){return t=i(this.xVal,this.xPct,t)},t.prototype.fromStepping=function(t){return function(t,e,r){if(100<=r)return t.slice(-1)[0];var n,i=f(r,e),o=t[i-1],s=t[i],a=e[i-1],l=e[i];return n=[o,s],(r-a)*c(a,l)*(n[1]-n[0])/100+n[0]}(this.xVal,this.xPct,t)},t.prototype.getStep=function(t){return t=s(this.xPct,this.xSteps,this.snap,t)},t.prototype.getDefaultStep=function(t,e,r){var n=f(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},t.prototype.getNearbySteps=function(t){var e=f(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},t.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(r);return Math.max.apply(null,t)},t.prototype.convert=function(t){return this.getStep(this.toStepping(t))},t.prototype.handleEntryPoint=function(t,e){var r;if(!o(r="min"===t?0:"max"===t?100:parseFloat(t))||!o(e[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(r),this.xVal.push(e[0]);var n=Number(e[1]);r?this.xSteps.push(!isNaN(n)&&n):isNaN(n)||(this.xSteps[0]=n),this.xHighestCompleteStep.push(0)},t.prototype.handleStepPoint=function(t,e){if(e)if(this.xVal[t]!==this.xVal[t+1]){this.xSteps[t]=p([this.xVal[t],this.xVal[t+1]],e,0)/c(this.xPct[t],this.xPct[t+1]);var r=(this.xVal[t+1]-this.xVal[t])/this.xNumSteps[t],n=Math.ceil(Number(r.toFixed(3))-1),i=this.xVal[t]+this.xNumSteps[t]*n;this.xHighestCompleteStep[t]=i}else this.xSteps[t]=this.xHighestCompleteStep[t]=this.xVal[t]},t}(),l={to:function(t){return void 0===t?"":t.toFixed(2)},from:Number},u={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},gt={tooltips:".__tooltips",aria:".__aria"};function d(t){if(n(t))return!0;throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.")}function h(t,e){if(!o(e))throw new Error("noUiSlider: 'step' is not numeric.");t.singleStep=e}function m(t,e){if(!o(e))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");t.keyboardPageMultiplier=e}function g(t,e){if(!o(e))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");t.keyboardDefaultStep=e}function v(t,e){if("object"!=typeof e||Array.isArray(e))throw new Error("noUiSlider: 'range' is not an object.");if(void 0===e.min||void 0===e.max)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");if(e.min===e.max)throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal.");t.spectrum=new a(e,t.snap||!1,t.singleStep)}function b(t,e){if(e=ft(e),!Array.isArray(e)||!e.length)throw new Error("noUiSlider: 'start' option is incorrect.");t.handles=e.length,t.start=e}function S(t,e){if("boolean"!=typeof e)throw new Error("noUiSlider: 'snap' option must be a boolean.");t.snap=e}function x(t,e){if("boolean"!=typeof e)throw new Error("noUiSlider: 'animate' option must be a boolean.");t.animate=e}function y(t,e){if("number"!=typeof e)throw new Error("noUiSlider: 'animationDuration' option must be a number.");t.animationDuration=e}function w(t,e){var r,n=[!1];if("lower"===e?e=[!0,!1]:"upper"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r<t.handles;r++)n.push(e);n.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");n=e}t.connect=n}function E(t,e){switch(e){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function P(t,e){if(!o(e))throw new Error("noUiSlider: 'margin' option must be numeric.");0!==e&&(t.margin=t.spectrum.getDistance(e))}function C(t,e){if(!o(e))throw new Error("noUiSlider: 'limit' option must be numeric.");if(t.limit=t.spectrum.getDistance(e),!t.limit||t.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function N(t,e){var r;if(!o(e)&&!Array.isArray(e))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(e)&&2!==e.length&&!o(e[0])&&!o(e[1]))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(0!==e){for(Array.isArray(e)||(e=[e,e]),t.padding=[t.spectrum.getDistance(e[0]),t.spectrum.getDistance(e[1])],r=0;r<t.spectrum.xNumSteps.length-1;r++)if(t.padding[0][r]<0||t.padding[1][r]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var n=e[0]+e[1],i=t.spectrum.xVal[0];if(1<n/(t.spectrum.xVal[t.spectrum.xVal.length-1]-i))throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function V(t,e){switch(e){case"ltr":t.dir=0;break;case"rtl":t.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function k(t,e){if("string"!=typeof e)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var r=0<=e.indexOf("tap"),n=0<=e.indexOf("drag"),i=0<=e.indexOf("fixed"),o=0<=e.indexOf("snap"),s=0<=e.indexOf("hover"),a=0<=e.indexOf("unconstrained");if(i){if(2!==t.handles)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");P(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");t.events={tap:r||o,drag:n,fixed:i,snap:o,hover:s,unconstrained:a}}function U(t,e){if(!1!==e)if(!0===e||n(e)){t.tooltips=[];for(var r=0;r<t.handles;r++)t.tooltips.push(e)}else{if((e=ft(e)).length!==t.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");e.forEach(function(t){if("boolean"!=typeof t&&("object"!=typeof t||"function"!=typeof t.to))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),t.tooltips=e}}function M(t,e){d(e),t.ariaFormat=e}function A(t,e){d(e),t.format=e}function D(t,e){if("boolean"!=typeof e)throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");t.keyboardSupport=e}function L(t,e){t.documentElement=e}function T(t,e){if("string"!=typeof e&&!1!==e)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");t.cssPrefix=e}function O(e,r){if("object"!=typeof r)throw new Error("noUiSlider: 'cssClasses' must be an object.");"string"==typeof e.cssPrefix?(e.cssClasses={},Object.keys(r).forEach(function(t){e.cssClasses[t]=e.cssPrefix+r[t]})):e.cssClasses=r}function vt(e){var r={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:l,format:l},n={step:{r:!1,t:h},keyboardPageMultiplier:{r:!1,t:m},keyboardDefaultStep:{r:!1,t:g},start:{r:!0,t:b},connect:{r:!0,t:w},direction:{r:!0,t:V},snap:{r:!1,t:S},animate:{r:!1,t:x},animationDuration:{r:!1,t:y},range:{r:!0,t:v},orientation:{r:!1,t:E},margin:{r:!1,t:P},limit:{r:!1,t:C},padding:{r:!1,t:N},behaviour:{r:!0,t:k},ariaFormat:{r:!1,t:M},format:{r:!1,t:A},tooltips:{r:!1,t:U},keyboardSupport:{r:!0,t:D},documentElement:{r:!1,t:L},cssPrefix:{r:!0,t:T},cssClasses:{r:!0,t:O}},i={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:u,keyboardPageMultiplier:5,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(n).forEach(function(t){if(lt(e[t])||void 0!==i[t])n[t].t(r,lt(e[t])?e[t]:i[t]);else if(n[t].r)throw new Error("noUiSlider: '"+t+"' is required.")}),r.pips=e.pips;var t=document.createElement("div"),o=void 0!==t.style.msTransform,s=void 0!==t.style.transform;r.transformRule=s?"transform":o?"msTransform":"webkitTransform";return r.style=[["left","top"],["right","bottom"]][r.dir][r.ort],r}function j(t,b,o){var l,u,s,i,a,e,c,p=window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},f=window.CSS&&CSS.supports&&CSS.supports("touch-action","none")&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(t){}return t}(),d=t,y=b.spectrum,S=[],x=[],h=[],m=0,g={},v=t.ownerDocument,w=b.documentElement||v.documentElement,E=v.body,P="rtl"===v.dir||1===b.ort?0:100;function C(t,e){var r=v.createElement("div");return e&&dt(r,e),t.appendChild(r),r}function N(t,e){var r=C(t,b.cssClasses.origin),n=C(r,b.cssClasses.handle);return C(n,b.cssClasses.touchArea),n.setAttribute("data-handle",String(e)),b.keyboardSupport&&(n.setAttribute("tabindex","0"),n.addEventListener("keydown",function(t){return function(t,e){if(k()||U(e))return!1;var r=["Left","Right"],n=["Down","Up"],i=["PageDown","PageUp"],o=["Home","End"];b.dir&&!b.ort?r.reverse():b.ort&&!b.dir&&(n.reverse(),i.reverse());var s,a=t.key.replace("Arrow",""),l=a===i[0],u=a===i[1],c=a===n[0]||a===r[0]||l,p=a===n[1]||a===r[1]||u,f=a===o[0],d=a===o[1];if(!(c||p||f||d))return!0;if(t.preventDefault(),p||c){var h=b.keyboardPageMultiplier,m=c?0:1,g=it(e),v=g[m];if(null===v)return!1;!1===v&&(v=y.getDefaultStep(x[e],c,b.keyboardDefaultStep)),(u||l)&&(v*=h),v=Math.max(v,1e-7),v*=c?-1:1,s=S[e]+v}else s=d?b.spectrum.xVal[b.spectrum.xVal.length-1]:b.spectrum.xVal[0];return Z(e,y.toStepping(s),!0,!0),W("slide",e),W("update",e),W("change",e),W("set",e),!1}(t,e)})),n.setAttribute("role","slider"),n.setAttribute("aria-orientation",b.ort?"vertical":"horizontal"),0===e?dt(n,b.cssClasses.handleLower):e===b.handles-1&&dt(n,b.cssClasses.handleUpper),r}function V(t,e){return!!e&&C(t,b.cssClasses.connect)}function r(t,e){return!(!b.tooltips||!b.tooltips[e])&&C(t.firstChild,b.cssClasses.tooltip)}function k(){return d.hasAttribute("disabled")}function U(t){return u[t].hasAttribute("disabled")}function M(){a&&(I("update"+gt.tooltips),a.forEach(function(t){t&&at(t)}),a=null)}function A(){M(),a=u.map(r),Y("update"+gt.tooltips,function(t,e,r){if(a&&b.tooltips&&!1!==a[e]){var n=t[e];!0!==b.tooltips[e]&&(n=b.tooltips[e].to(r[e])),a[e].innerHTML=n}})}function D(t,e){return t.map(function(t){return y.fromStepping(e?y.getStep(t):t)})}function L(m){var g=function(t){if(t.mode===st.PipsMode.Range||t.mode===st.PipsMode.Steps)return y.xVal;if(t.mode!==st.PipsMode.Count)return t.mode===st.PipsMode.Positions?D(t.values,t.stepped):t.mode===st.PipsMode.Values?t.stepped?t.values.map(function(t){return y.fromStepping(y.getStep(y.toStepping(t)))}):t.values:[];if(t.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var e=t.values-1,r=100/e,n=[];e--;)n[e]=e*r;return n.push(100),D(n,t.stepped)}(m),v={},t=y.xVal[0],e=y.xVal[y.xVal.length-1],b=!1,S=!1,x=0;return(g=g.slice().sort(function(t,e){return t-e}).filter(function(t){return!this[t]&&(this[t]=!0)},{}))[0]!==t&&(g.unshift(t),b=!0),g[g.length-1]!==e&&(g.push(e),S=!0),g.forEach(function(t,e){var r,n,i,o,s,a,l,u,c,p,f=t,d=g[e+1],h=m.mode===st.PipsMode.Steps;for(h&&(r=y.xNumSteps[e]),r||(r=d-f),void 0===d&&(d=f),r=Math.max(r,1e-7),n=f;n<=d;n=Number((n+r).toFixed(7))){for(u=(s=(o=y.toStepping(n))-x)/(m.density||1),p=s/(c=Math.round(u)),i=1;i<=c;i+=1)v[(a=x+i*p).toFixed(5)]=[y.fromStepping(a),0];l=-1<g.indexOf(n)?st.PipsType.LargeValue:h?st.PipsType.SmallValue:st.PipsType.NoValue,!e&&b&&n!==d&&(l=0),n===d&&S||(v[o.toFixed(5)]=[n,l]),x=o}}),v}function T(e,i,o){var t,r,s=v.createElement("div"),a=((t={})[st.PipsType.None]="",t[st.PipsType.NoValue]=b.cssClasses.valueNormal,t[st.PipsType.LargeValue]=b.cssClasses.valueLarge,t[st.PipsType.SmallValue]=b.cssClasses.valueSub,t),l=((r={})[st.PipsType.None]="",r[st.PipsType.NoValue]=b.cssClasses.markerNormal,r[st.PipsType.LargeValue]=b.cssClasses.markerLarge,r[st.PipsType.SmallValue]=b.cssClasses.markerSub,r),u=[b.cssClasses.valueHorizontal,b.cssClasses.valueVertical],c=[b.cssClasses.markerHorizontal,b.cssClasses.markerVertical];function p(t,e){var r=e===b.cssClasses.value,n=r?a:l;return e+" "+(r?u:c)[b.ort]+" "+n[t]}return dt(s,b.cssClasses.pips),dt(s,0===b.ort?b.cssClasses.pipsHorizontal:b.cssClasses.pipsVertical),Object.keys(e).forEach(function(t){!function(t,e,r){if((r=i?i(e,r):r)!==st.PipsType.None){var n=C(s,!1);n.className=p(r,b.cssClasses.marker),n.style[b.style]=t+"%",r>st.PipsType.NoValue&&((n=C(s,!1)).className=p(r,b.cssClasses.value),n.setAttribute("data-value",String(e)),n.style[b.style]=t+"%",n.innerHTML=String(o.to(e)))}}(t,e[t][0],e[t][1])}),s}function O(){i&&(at(i),i=null)}function j(t){O();var e=L(t),r=t.filter,n=t.format||{to:function(t){return String(Math.round(t))},from:Number};return i=d.appendChild(T(e,r,n))}function z(){var t=l.getBoundingClientRect(),e="offset"+["Width","Height"][b.ort];return 0===b.ort?t.width||l[e]:t.height||l[e]}function H(i,o,s,a){var e=function(t){var e,r,n=function(r,t,n){var e=0===r.type.indexOf("touch"),i=0===r.type.indexOf("mouse"),o=0===r.type.indexOf("pointer"),s=0,a=0;0===r.type.indexOf("MSPointer")&&(o=!0);if("mousedown"===r.type&&!r.buttons&&!r.touches)return!1;if(e){var l=function(t){var e=t.target;return e===n||n.contains(e)||r.composed&&r.composedPath().shift()===n};if("touchstart"===r.type){var u=Array.prototype.filter.call(r.touches,l);if(1<u.length)return!1;s=u[0].pageX,a=u[0].pageY}else{var c=Array.prototype.find.call(r.changedTouches,l);if(!c)return!1;s=c.pageX,a=c.pageY}}t=t||mt(v),(i||o)&&(s=r.clientX+t.x,a=r.clientY+t.y);return r.pageOffset=t,r.points=[s,a],r.cursor=i||o,r}(t,a.pageOffset,a.target||o);return!!n&&(!(k()&&!a.doNotReject)&&(e=d,r=b.cssClasses.tap,!((e.classList?e.classList.contains(r):new RegExp("\\b"+r+"\\b").test(e.className))&&!a.doNotReject)&&(!(i===p.start&&void 0!==n.buttons&&1<n.buttons)&&((!a.hover||!n.buttons)&&(f||n.preventDefault(),n.calcPoint=n.points[b.ort],void s(n,a))))))},r=[];return i.split(" ").forEach(function(t){o.addEventListener(t,e,!!f&&{passive:!0}),r.push([t,e])}),r}function F(t){var e,r,n,i,o,s,a=100*(t-(e=l,r=b.ort,n=e.getBoundingClientRect(),i=e.ownerDocument,o=i.documentElement,s=mt(i),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(s.x=0),r?n.top+s.y-o.clientTop:n.left+s.x-o.clientLeft))/z();return a=pt(a),b.dir?100-a:a}function R(t,e){"mouseout"===t.type&&"HTML"===t.target.nodeName&&null===t.relatedTarget&&B(t,e)}function _(t,e){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===t.buttons&&0!==e.buttonsProperty)return B(t,e);var r=(b.dir?-1:1)*(t.calcPoint-e.startCalcPoint);J(0<r,100*r/e.baseSize,e.locations,e.handleNumbers,e.connect)}function B(t,e){e.handle&&(ht(e.handle,b.cssClasses.active),m-=1),e.listeners.forEach(function(t){w.removeEventListener(t[0],t[1])}),0===m&&(ht(d,b.cssClasses.drag),Q(),t.cursor&&(E.style.cursor="",E.removeEventListener("selectstart",ut))),e.handleNumbers.forEach(function(t){W("change",t),W("set",t),W("end",t)})}function q(t,e){if(!e.handleNumbers.some(U)){var r;if(1===e.handleNumbers.length)r=u[e.handleNumbers[0]].children[0],m+=1,dt(r,b.cssClasses.active);t.stopPropagation();var n=[],i=H(p.move,w,_,{target:t.target,handle:r,connect:e.connect,listeners:n,startCalcPoint:t.calcPoint,baseSize:z(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:x.slice()}),o=H(p.end,w,B,{target:t.target,handle:r,listeners:n,doNotReject:!0,handleNumbers:e.handleNumbers}),s=H("mouseout",w,R,{target:t.target,handle:r,listeners:n,doNotReject:!0,handleNumbers:e.handleNumbers});n.push.apply(n,i.concat(o,s)),t.cursor&&(E.style.cursor=getComputedStyle(t.target).cursor,1<u.length&&dt(d,b.cssClasses.drag),E.addEventListener("selectstart",ut,!1)),e.handleNumbers.forEach(function(t){W("start",t)})}}function n(t){t.stopPropagation();var i,o,s,e=F(t.calcPoint),r=(i=e,s=!(o=100),u.forEach(function(t,e){if(!U(e)){var r=x[e],n=Math.abs(r-i);(n<o||n<=o&&r<i||100===n&&100===o)&&(s=e,o=n)}}),s);!1!==r&&(b.events.snap||ct(d,b.cssClasses.tap,b.animationDuration),Z(r,e,!0,!0),Q(),W("slide",r,!0),W("update",r,!0),W("change",r,!0),W("set",r,!0),b.events.snap&&q(t,{handleNumbers:[r]}))}function X(t){var e=F(t.calcPoint),r=y.getStep(e),n=y.fromStepping(r);Object.keys(g).forEach(function(t){"hover"===t.split(".")[0]&&g[t].forEach(function(t){t.call(ot,n)})})}function Y(t,e){g[t]=g[t]||[],g[t].push(e),"update"===t.split(".")[0]&&u.forEach(function(t,e){W("update",e)})}function I(t){var i=t&&t.split(".")[0],o=i?t.substring(i.length):t;Object.keys(g).forEach(function(t){var e,r=t.split(".")[0],n=t.substring(r.length);i&&i!==r||o&&o!==n||((e=n)!==gt.aria&&e!==gt.tooltips||o===n)&&delete g[t]})}function W(r,n,i){Object.keys(g).forEach(function(t){var e=t.split(".")[0];r===e&&g[t].forEach(function(t){t.call(ot,S.map(b.format.to),n,S.slice(),i||!1,x.slice(),ot)})})}function $(t,e,r,n,i,o){var s;return 1<u.length&&!b.events.unconstrained&&(n&&0<e&&(s=y.getAbsoluteDistance(t[e-1],b.margin,!1),r=Math.max(r,s)),i&&e<u.length-1&&(s=y.getAbsoluteDistance(t[e+1],b.margin,!0),r=Math.min(r,s))),1<u.length&&b.limit&&(n&&0<e&&(s=y.getAbsoluteDistance(t[e-1],b.limit,!1),r=Math.min(r,s)),i&&e<u.length-1&&(s=y.getAbsoluteDistance(t[e+1],b.limit,!0),r=Math.max(r,s))),b.padding&&(0===e&&(s=y.getAbsoluteDistance(0,b.padding[0],!1),r=Math.max(r,s)),e===u.length-1&&(s=y.getAbsoluteDistance(100,b.padding[1],!0),r=Math.min(r,s))),!((r=pt(r=y.getStep(r)))===t[e]&&!o)&&r}function G(t,e){var r=b.ort;return(r?e:t)+", "+(r?t:e)}function J(t,n,r,e,i){var o=r.slice(),s=e[0],a=[!t,t],l=[t,!t];e=e.slice(),t&&e.reverse(),1<e.length?e.forEach(function(t,e){var r=$(o,t,o[t]+n,a[e],l[e],!1);!1===r?n=0:(n=r-o[t],o[t]=r)}):a=l=[!0];var u=!1;e.forEach(function(t,e){u=Z(t,r[t]+n,a[e],l[e])||u}),u&&(e.forEach(function(t){W("update",t),W("slide",t)}),null!=i&&W("drag",s))}function K(t,e){return b.dir?100-t-e:t}function Q(){h.forEach(function(t){var e=50<x[t]?-1:1,r=3+(u.length+e*t);u[t].style.zIndex=String(r)})}function Z(t,e,r,n,i){return i||(e=$(x,t,e,r,n,!1)),!1!==e&&(function(t,e){x[t]=e,S[t]=y.fromStepping(e);var r="translate("+G(10*(K(e,0)-P)+"%","0")+")";u[t].style[b.transformRule]=r,tt(t),tt(t+1)}(t,e),!0)}function tt(t){if(s[t]){var e=0,r=100;0!==t&&(e=x[t-1]),t!==s.length-1&&(r=x[t]);var n=r-e,i="translate("+G(K(e,n)+"%","0")+")",o="scale("+G(n/100,"1")+")";s[t].style[b.transformRule]=i+" "+o}}function et(t,e){return null===t||!1===t||void 0===t?x[e]:("number"==typeof t&&(t=String(t)),!1!==(t=b.format.from(t))&&(t=y.toStepping(t)),!1===t||isNaN(t)?x[e]:t)}function rt(t,e,r){var n=ft(t),i=void 0===x[0];e=void 0===e||e,b.animate&&!i&&ct(d,b.cssClasses.tap,b.animationDuration),h.forEach(function(t){Z(t,et(n[t],t),!0,!1,r)});for(var o=1===h.length?0:1;o<h.length;++o)h.forEach(function(t){Z(t,x[t],!0,!0,r)});Q(),h.forEach(function(t){W("update",t),null!==n[t]&&e&&W("set",t)})}function nt(){var t=S.map(b.format.to);return 1===t.length?t[0]:t}function it(t){var e=x[t],r=y.getNearbySteps(e),n=S[t],i=r.thisStep.step,o=null;if(b.snap)return[n-r.stepBefore.startValue||null,r.stepAfter.startValue-n||null];!1!==i&&n+i>r.stepAfter.startValue&&(i=r.stepAfter.startValue-n),o=n>r.thisStep.startValue?r.thisStep.step:!1!==r.stepBefore.step&&n-r.stepBefore.highestStep,100===e?i=null:0===e&&(o=null);var s=y.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,i]}dt(e=d,b.cssClasses.target),0===b.dir?dt(e,b.cssClasses.ltr):dt(e,b.cssClasses.rtl),0===b.ort?dt(e,b.cssClasses.horizontal):dt(e,b.cssClasses.vertical),dt(e,"rtl"===getComputedStyle(e).direction?b.cssClasses.textDirectionRtl:b.cssClasses.textDirectionLtr),l=C(e,b.cssClasses.base),function(t,e){var r=C(e,b.cssClasses.connects);u=[],(s=[]).push(V(r,t[0]));for(var n=0;n<b.handles;n++)u.push(N(e,n)),h[n]=n,s.push(V(r,t[n+1]))}(b.connect,l),(c=b.events).fixed||u.forEach(function(t,e){H(p.start,t.children[0],q,{handleNumbers:[e]})}),c.tap&&H(p.start,l,n,{}),c.hover&&H(p.move,l,X,{hover:!0}),c.drag&&s.forEach(function(e,r){if(!1!==e&&0!==r&&r!==s.length-1){var n=u[r-1],i=u[r],t=[e];dt(e,b.cssClasses.draggable),c.fixed&&(t.push(n.children[0]),t.push(i.children[0])),t.forEach(function(t){H(p.start,t,q,{handles:[n,i],handleNumbers:[r-1,r],connect:e})})}}),rt(b.start),b.pips&&j(b.pips),b.tooltips&&A(),I("update"+gt.aria),Y("update"+gt.aria,function(t,e,s,r,a){h.forEach(function(t){var e=u[t],r=$(x,t,0,!0,!0,!0),n=$(x,t,100,!0,!0,!0),i=a[t],o=String(b.ariaFormat.to(s[t]));r=y.fromStepping(r).toFixed(1),n=y.fromStepping(n).toFixed(1),i=y.fromStepping(i).toFixed(1),e.children[0].setAttribute("aria-valuemin",r),e.children[0].setAttribute("aria-valuemax",n),e.children[0].setAttribute("aria-valuenow",i),e.children[0].setAttribute("aria-valuetext",o)})});var ot={destroy:function(){for(I(gt.aria),I(gt.tooltips),Object.keys(b.cssClasses).forEach(function(t){ht(d,b.cssClasses[t])});d.firstChild;)d.removeChild(d.firstChild);delete d.noUiSlider},steps:function(){return h.map(it)},on:Y,off:I,get:nt,set:rt,setHandle:function(t,e,r,n){if(!(0<=(t=Number(t))&&t<h.length))throw new Error("noUiSlider: invalid handle number, got: "+t);Z(t,et(e,t),!0,!0,n),W("update",t),r&&W("set",t)},reset:function(t){rt(b.start,t)},__moveHandles:function(t,e,r){J(t,e,x,r)},options:o,updateOptions:function(e,t){var r=nt(),n=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];n.forEach(function(t){void 0!==e[t]&&(o[t]=e[t])});var i=vt(o);n.forEach(function(t){void 0!==e[t]&&(b[t]=i[t])}),y=i.spectrum,b.margin=i.margin,b.limit=i.limit,b.padding=i.padding,b.pips?j(b.pips):O(),b.tooltips?A():M(),x=[],rt(lt(e.start)?e.start:r,t)},target:d,removePips:O,removeTooltips:M,getTooltips:function(){return a},getOrigins:function(){return u},pips:j};return ot}function z(t,e){if(!t||!t.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+t);if(t.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var r=j(t,vt(e),e);return t.noUiSlider=r}var H={__spectrum:a,cssClasses:u,create:z};st.create=z,st.cssClasses=u,st.default=H,Object.defineProperty(st,"__esModule",{value:!0})});
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/build/004-bootstrap-select.min.js b/mailcow/src/mailcow-dockerized/data/web/js/build/004-bootstrap-select.min.js
index 1457222..9af7c9f 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/build/004-bootstrap-select.min.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/build/004-bootstrap-select.min.js
@@ -4,5 +4,5 @@
  * Copyright 2013-2017 bootstrap-select
  * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
  */
-!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b?b.replace(this.re,this.ch):""}),b}function c(b){var c=arguments,d=b;[].shift.apply(c);var e,f=this.each(function(){var b=a(this);if(b.is("select")){var f=b.data("selectpicker"),g="object"==typeof d&&d;if(f){if(g)for(var h in g)g.hasOwnProperty(h)&&(f.options[h]=g[h])}else{var i=a.extend({},k.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),g);i.template=a.extend({},k.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,g.template),b.data("selectpicker",f=new k(this,i))}"string"==typeof d&&(e=f[d]instanceof Function?f[d].apply(f,c):f.options[d])}});return"undefined"!=typeof e?e:f}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(a){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return!(g+j>e)&&c.call(d,f,i)!=-1};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(a){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j<f;)if(c.charCodeAt(i+j)!=e.charCodeAt(j))return!1;return!0};a?a(String.prototype,"startsWith",{value:c,configurable:!0,writable:!0}):String.prototype.startsWith=c}(),Object.keys||(Object.keys=function(a,b,c){c=[];for(b in a)c.hasOwnProperty.call(a,b)&&c.push(b);return c});var d={useDefault:!1,_set:a.valHooks.select.set};a.valHooks.select.set=function(b,c){return c&&!d.useDefault&&a(b).data("selected",!0),d._set.apply(this,arguments)};var e=null;a.fn.triggerNative=function(a){var b,c=this[0];c.dispatchEvent?("function"==typeof Event?b=new Event(a,{bubbles:!0}):(b=document.createEvent("Event"),b.initEvent(a,!0,!1)),c.dispatchEvent(b)):c.fireEvent?(b=document.createEventObject(),b.eventType=a,c.fireEvent("on"+a,b)):this.trigger(a)},a.expr.pseudos.icontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.ibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())},a.expr.pseudos.aicontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.aibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())};var f={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},g={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x60;":"`"},h=function(a){var b=function(b){return a[b]},c="(?:"+Object.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}},i=h(f),j=h(g),k=function(b,c){d.useDefault||(a.valHooks.select.set=d._set,d.useDefault=!0),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title"));var e=this.options.windowPadding;"number"==typeof e&&(this.options.windowPadding=[e,e,e,e]),this.val=k.prototype.val,this.render=k.prototype.render,this.refresh=k.prototype.refresh,this.setStyle=k.prototype.setStyle,this.selectAll=k.prototype.selectAll,this.deselectAll=k.prototype.deselectAll,this.destroy=k.prototype.destroy,this.remove=k.prototype.remove,this.show=k.prototype.show,this.hide=k.prototype.hide,this.init()};k.VERSION="1.12.2",k.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",showTick:!1,template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,windowPadding:0},k.prototype={constructor:k,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight===!0&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!1),b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!0),b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",d=this.autofocus?" autofocus":"",e=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>'+this.options.header+"</div>":"",f=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+i(this.options.liveSearchPlaceholder)+'"')+' role="textbox" aria-label="Search"></div>':"",g=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">'+this.options.deselectAllText+"</button></div></div>":"",h=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">'+this.options.doneButtonText+"</button></div></div>":"",j='<div class="btn-group bootstrap-select'+b+c+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+d+' role="button"><span class="filter-option pull-left"></span>&nbsp;<span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open" role="combobox">'+e+f+g+'<ul class="dropdown-menu inner" role="listbox" aria-expanded="false"></ul>'+h+"</div></div>";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){var a=this.createLi();this.$menuInner[0].innerHTML=a},createLi:function(){var c=this,d=[],e=0,f=document.createElement("option"),g=-1,h=function(a,b,c,d){return"<li"+("undefined"!=typeof c&""!==c?' class="'+c+'"':"")+("undefined"!=typeof b&null!==b?' data-original-index="'+b+'"':"")+("undefined"!=typeof d&null!==d?'data-optgroup="'+d+'"':"")+">"+a+"</li>"},j=function(d,e,f,g){return'<a tabindex="0"'+("undefined"!=typeof e?' class="'+e+'"':"")+(f?' style="'+f+'"':"")+(c.options.liveSearchNormalize?' data-normalized-text="'+b(i(a(d).html()))+'"':"")+("undefined"!=typeof g||null!==g?' data-tokens="'+g+'"':"")+' role="option">'+d+'<span class="'+c.options.iconBase+" "+c.options.tickIcon+' check-mark"></span></a>'};if(this.options.title&&!this.multiple&&(g--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];f.className="bs-title-option",f.innerHTML=this.options.title,f.value="",k.insertBefore(f,k.firstChild);var l=a(k.options[k.selectedIndex]);void 0===l.attr("selected")&&void 0===this.$element.data("selected")&&(f.selected=!0)}return this.$element.find("option").each(function(b){var f=a(this);if(g++,!f.hasClass("bs-title-option")){var k=this.className||"",l=this.style.cssText,m=f.data("content")?f.data("content"):f.html(),n=f.data("tokens")?f.data("tokens"):null,o="undefined"!=typeof f.data("subtext")?'<small class="text-muted">'+f.data("subtext")+"</small>":"",p="undefined"!=typeof f.data("icon")?'<span class="'+c.options.iconBase+" "+f.data("icon")+'"></span> ':"",q=f.parent(),r="OPTGROUP"===q[0].tagName,s=r&&q[0].disabled,t=this.disabled||s;if(""!==p&&t&&(p="<span>"+p+"</span>"),c.options.hideDisabled&&(t&&!r||s))return void g--;if(f.data("content")||(m=p+'<span class="text">'+m+o+"</span>"),r&&f.data("divider")!==!0){if(c.options.hideDisabled&&t){if(void 0===q.data("allOptionsDisabled")){var u=q.children();q.data("allOptionsDisabled",u.filter(":disabled").length===u.length)}if(q.data("allOptionsDisabled"))return void g--}var v=" "+q[0].className||"";if(0===f.index()){e+=1;var w=q[0].label,x="undefined"!=typeof q.data("subtext")?'<small class="text-muted">'+q.data("subtext")+"</small>":"",y=q.data("icon")?'<span class="'+c.options.iconBase+" "+q.data("icon")+'"></span> ':"";w=y+'<span class="text">'+i(w)+x+"</span>",0!==b&&d.length>0&&(g++,d.push(h("",null,"divider",e+"div"))),g++,d.push(h(w,null,"dropdown-header"+v,e))}if(c.options.hideDisabled&&t)return void g--;d.push(h(j(m,"opt "+k+v,l,n),b,"",e))}else if(f.data("divider")===!0)d.push(h("",b,"divider"));else if(f.data("hidden")===!0)d.push(h(j(m,k,l,n),b,"hidden is-hidden"));else{var z=this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName;if(!z&&c.options.hideDisabled)for(var A=a(this).prevAll(),B=0;B<A.length;B++)if("OPTGROUP"===A[B].tagName){for(var C=0,D=0;D<B;D++){var E=A[D];(E.disabled||a(E).data("hidden")===!0)&&C++}C===B&&(z=!0);break}z&&(g++,d.push(h("",null,"divider",e+"div"))),d.push(h(j(m,k,l,n),b))}c.liObj[b]=g}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),d.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.togglePlaceholder(),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?'<i class="'+d.options.iconBase+" "+c.data("icon")+'"></i> ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' <small class="text-muted">'+c.data("subtext")+"</small>":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content").toString():e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",j(a.trim(f.replace(/<[^>]*>?/g,"")))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("input");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle&&getComputedStyle(d),v=u?null:a(d),w={vert:parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),horiz:parseInt(u?u.paddingLeft:v.css("paddingLeft"))+parseInt(u?u.paddingRight:v.css("paddingRight"))+parseInt(u?u.borderLeftWidth:v.css("borderLeftWidth"))+parseInt(u?u.borderRightWidth:v.css("borderRightWidth"))},x={vert:w.vert+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2,horiz:w.horiz+parseInt(u?u.marginLeft:v.css("marginLeft"))+parseInt(u?u.marginRight:v.css("marginRight"))+2};document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f,g,h,i,j=this,k=this.$menu,l=this.$menuInner,m=a(window),n=this.$newElement[0].offsetHeight,o=this.$newElement[0].offsetWidth,p=this.sizeInfo.liHeight,q=this.sizeInfo.headerHeight,r=this.sizeInfo.searchHeight,s=this.sizeInfo.actionsHeight,t=this.sizeInfo.doneButtonHeight,u=this.sizeInfo.dividerHeight,v=this.sizeInfo.menuPadding,w=this.sizeInfo.menuExtras,x=this.options.hideDisabled?".disabled":"",y=function(){var b,c=j.$newElement.offset(),d=a(j.options.container);j.options.container&&!d.is("body")?(b=d.offset(),b.top+=parseInt(d.css("borderTopWidth")),b.left+=parseInt(d.css("borderLeftWidth"))):b={top:0,left:0};var e=j.options.windowPadding;f=c.top-b.top-m.scrollTop(),g=m.height()-f-n-b.top-e[2],h=c.left-b.left-m.scrollLeft(),i=m.width()-h-o-b.left-e[1],f-=e[0],h-=e[3]};if(y(),"auto"===this.options.size){var z=function(){var m,n=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},u=j.$menuInner[0].getElementsByTagName("li"),x=Array.prototype.filter?Array.prototype.filter.call(u,n("hidden",!1)):j.$lis.not(".hidden"),z=Array.prototype.filter?Array.prototype.filter.call(x,n("dropdown-header",!0)):x.filter(".dropdown-header");y(),b=g-w.vert,c=i-w.horiz,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height"),k.data("width")||k.data("width",k.width()),e=k.data("width")):(d=k.height(),e=k.width()),j.options.dropupAuto&&j.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),j.$newElement.hasClass("dropup")&&(b=f-w.vert),"auto"===j.options.dropdownAlignRight&&k.toggleClass("dropdown-menu-right",h>i&&c-w.horiz<e-o),m=x.length+z.length>3?3*p+w.vert-2:0,k.css({"max-height":b+"px",overflow:"hidden","min-height":m+q+r+s+t+"px"}),l.css({"max-height":b-q-r-s-t-v.vert+"px","overflow-y":"auto","min-height":Math.max(m-v.vert,0)+"px"})};z(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",z),m.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",z)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(x).length>this.options.size){var A=this.$lis.not(".divider").not(x).children().slice(0,this.options.size).last().parent().index(),B=this.$lis.slice(0,A+1).filter(".divider").length;b=p*this.options.size+B*u+v.vert,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height")):d=k.height(),j.options.dropupAuto&&this.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),k.css({"max-height":b+q+r+s+t+"px",overflow:"hidden","min-height":""}),l.css({"max-height":b-v.vert+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){this.$bsContainer=a('<div class="bs-container" />');var b,c,d,e=this,f=a(this.options.container),g=function(a){e.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),f.is("body")?c={top:0,left:0}:(c=f.offset(),c.top+=parseInt(f.css("borderTopWidth"))-f.scrollTop(),c.left+=parseInt(f.css("borderLeftWidth"))-f.scrollLeft()),d=a.hasClass("dropup")?0:a[0].offsetHeight,e.$bsContainer.css({top:b.top-c.top+d,left:b.left-c.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);e.isDisabled()||(g(e.$newElement),e.$bsContainer.appendTo(e.options.container).toggleClass("open",!b.hasClass("open")).append(e.$menu))}),a(window).on("resize scroll",function(){g(e.$newElement)}),this.$element.on("hide.bs.select",function(){e.$menu.data("height",e.$menu.height()),e.$bsContainer.detach()})},setSelected:function(a,b,c){c||(this.togglePlaceholder(),c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b).find("a").attr("aria-selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1).attr("aria-disabled",!0):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0).attr("aria-disabled",!1)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1).attr("aria-disabled",!0)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled").attr("aria-disabled",!1)),this.$button.attr("tabindex")!=-1||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},togglePlaceholder:function(){var a=this.$element.val();this.$button.toggleClass("bs-placeholder",null===a||""===a||a.constructor===Array&&0===a.length)},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&this.$element.attr("tabindex")!==-98&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),f=d.parent().data("originalIndex"),g=b.$element.val(),h=b.$element.prop("selectedIndex"),i=!0;if(b.multiple&&1!==b.options.maxOptions&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var j=b.$element.find("option"),k=j.eq(f),l=k.prop("selected"),m=k.parent("optgroup"),n=b.options.maxOptions,o=m.data("maxOptions")||!1;if(b.multiple){if(k.prop("selected",!l),b.setSelected(f,!l),d.blur(),n!==!1||o!==!1){var p=n<j.filter(":selected").length,q=o<m.find("option:selected").length;if(n&&p||o&&q)if(n&&1==n)j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(f,!0);else if(o&&1==o){m.find("option:selected").prop("selected",!1),k.prop("selected",!0);var r=d.parent().data("optgroup");b.$menuInner.find('[data-optgroup="'+r+'"]').removeClass("selected"),b.setSelected(f,!0)}else{var s="string"==typeof b.options.maxOptionsText?[b.options.maxOptionsText,b.options.maxOptionsText]:b.options.maxOptionsText,t="function"==typeof s?s(n,o):s,u=t[0].replace("{n}",n),v=t[1].replace("{n}",o),w=a('<div class="notify"></div>');t[2]&&(u=u.replace("{var}",t[2][n>1?0:1]),v=v.replace("{var}",t[2][o>1?0:1])),k.prop("selected",!1),b.$menu.append(w),n&&p&&(w.append(a("<div>"+u+"</div>")),i=!1,b.$element.trigger("maxReached.bs.select")),o&&q&&(w.append(a("<div>"+v+"</div>")),i=!1,b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(f,!1)},10),w.delay(750).fadeOut(300,function(){a(this).remove()})}}}else j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected").find("a").attr("aria-selected",!1),b.setSelected(f,!0);!b.multiple||b.multiple&&1===b.options.maxOptions?b.$button.focus():b.options.liveSearch&&b.$searchbox.focus(),i&&(g!=b.$element.val()&&b.multiple||h!=b.$element.prop("selectedIndex")&&!b.multiple)&&(e=[f,k.prop("selected"),l],b.$element.triggerNative("change"))}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1),b.$element.trigger("changed.bs.select",e),e=null})},liveSearchListener:function(){var c=this,d=a('<li class="no-results"></li>');this.$button.on("click.dropdown.data-api",function(){c.$menuInner.find(".active").removeClass("active"),c.$searchbox.val()&&(c.$searchbox.val(""),c.$lis.not(".is-hidden").removeClass("hidden"),d.parent().length&&d.remove()),c.multiple||c.$menuInner.find(".selected").addClass("active"),setTimeout(function(){c.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(c.$lis.not(".is-hidden").removeClass("hidden"),c.$lis.filter(".active").removeClass("active"),d.remove(),c.$searchbox.val()){var e,f=c.$lis.not(".is-hidden, .divider, .dropdown-header");if(e=c.options.liveSearchNormalize?f.find("a").not(":a"+c._searchStyle()+'("'+b(c.$searchbox.val())+'")'):f.find("a").not(":"+c._searchStyle()+'("'+c.$searchbox.val()+'")'),e.length===f.length)d.html(c.options.noneResultsText.replace("{0}",'"'+i(c.$searchbox.val())+'"')),c.$menuInner.append(d),c.$lis.addClass("hidden");else{e.parent().addClass("hidden");var g,h=c.$lis.not(".hidden");h.each(function(b){var c=a(this);c.hasClass("divider")?void 0===g?c.addClass("hidden"):(g&&g.addClass("hidden"),g=c):c.hasClass("dropdown-header")&&h.eq(b+1).data("optgroup")!==c.data("optgroup")?c.addClass("hidden"):g=null}),g&&g.addClass("hidden"),f.not(".hidden").first().addClass("active")}}})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){if(this.multiple){"undefined"==typeof b&&(b=!0),this.findLis();var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden"),e=d.length,f=[];if(b){if(d.filter(".selected").length===d.length)return}else if(0===d.filter(".selected").length)return;d.toggleClass("selected",b);for(var g=0;g<e;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.togglePlaceholder(),this.$element.triggerNative("change")}},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a('[role="listbox"] li',n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90))return o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),void o.$searchbox.focus();if(o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(c.preventDefault(),c.stopPropagation(),o.$menuInner.click(),o.$button.focus()),d=a('[role="listbox"] li'+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),e<g&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,e==-1&&(e=0),e!=j&&e<f&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),
+!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b?b.replace(this.re,this.ch):""}),b}function c(b){var c=arguments,d=b;[].shift.apply(c);var e,f=this.each(function(){var b=a(this);if(b.is("select")){var f=b.data("selectpicker"),g="object"==typeof d&&d;if(f){if(g)for(var h in g)g.hasOwnProperty(h)&&(f.options[h]=g[h])}else{var i=a.extend({},k.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),g);i.template=a.extend({},k.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,g.template),b.data("selectpicker",f=new k(this,i))}"string"==typeof d&&(e=f[d]instanceof Function?f[d].apply(f,c):f.options[d])}});return"undefined"!=typeof e?e:f}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(a){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return!(g+j>e)&&c.call(d,f,i)!=-1};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(a){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j<f;)if(c.charCodeAt(i+j)!=e.charCodeAt(j))return!1;return!0};a?a(String.prototype,"startsWith",{value:c,configurable:!0,writable:!0}):String.prototype.startsWith=c}(),Object.keys||(Object.keys=function(a,b,c){c=[];for(b in a)c.hasOwnProperty.call(a,b)&&c.push(b);return c});var d={useDefault:!1,_set:a.valHooks.select.set};a.valHooks.select.set=function(b,c){return c&&!d.useDefault&&a(b).data("selected",!0),d._set.apply(this,arguments)};var e=null;a.fn.triggerNative=function(a){var b,c=this[0];c.dispatchEvent?("function"==typeof Event?b=new Event(a,{bubbles:!0}):(b=document.createEvent("Event"),b.initEvent(a,!0,!1)),c.dispatchEvent(b)):c.fireEvent?(b=document.createEventObject(),b.eventType=a,c.fireEvent("on"+a,b)):this.trigger(a)},a.expr.pseudos.icontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.ibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())},a.expr.pseudos.aicontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.aibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())};var f={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},g={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x60;":"`"},h=function(a){var b=function(b){return a[b]},c="(?:"+Object.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}},i=h(f),j=h(g),k=function(b,c){d.useDefault||(a.valHooks.select.set=d._set,d.useDefault=!0),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title"));var e=this.options.windowPadding;"number"==typeof e&&(this.options.windowPadding=[e,e,e,e]),this.val=k.prototype.val,this.render=k.prototype.render,this.refresh=k.prototype.refresh,this.setStyle=k.prototype.setStyle,this.selectAll=k.prototype.selectAll,this.deselectAll=k.prototype.deselectAll,this.destroy=k.prototype.destroy,this.remove=k.prototype.remove,this.show=k.prototype.show,this.hide=k.prototype.hide,this.init()};k.VERSION="1.12.2",k.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:"bi",tickIcon:"bi-check-lg",showTick:!1,template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,windowPadding:0},k.prototype={constructor:k,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight===!0&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!1),b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!0),b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",d=this.autofocus?" autofocus":"",e=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>'+this.options.header+"</div>":"",f=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+i(this.options.liveSearchPlaceholder)+'"')+' role="textbox" aria-label="Search"></div>':"",g=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">'+this.options.deselectAllText+"</button></div></div>":"",h=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">'+this.options.doneButtonText+"</button></div></div>":"",j='<div class="btn-group bootstrap-select'+b+c+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+d+' role="button"><span class="filter-option pull-left"></span>&nbsp;<span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open" role="combobox">'+e+f+g+'<ul class="dropdown-menu inner" role="listbox" aria-expanded="false"></ul>'+h+"</div></div>";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){var a=this.createLi();this.$menuInner[0].innerHTML=a},createLi:function(){var c=this,d=[],e=0,f=document.createElement("option"),g=-1,h=function(a,b,c,d){return"<li"+("undefined"!=typeof c&""!==c?' class="'+c+'"':"")+("undefined"!=typeof b&null!==b?' data-original-index="'+b+'"':"")+("undefined"!=typeof d&null!==d?'data-optgroup="'+d+'"':"")+">"+a+"</li>"},j=function(d,e,f,g){return'<a tabindex="0"'+("undefined"!=typeof e?' class="'+e+'"':"")+(f?' style="'+f+'"':"")+(c.options.liveSearchNormalize?' data-normalized-text="'+b(i(a(d).html()))+'"':"")+("undefined"!=typeof g||null!==g?' data-tokens="'+g+'"':"")+' role="option">'+d+'<span class="'+c.options.iconBase+" "+c.options.tickIcon+' check-mark"></span></a>'};if(this.options.title&&!this.multiple&&(g--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];f.className="bs-title-option",f.innerHTML=this.options.title,f.value="",k.insertBefore(f,k.firstChild);var l=a(k.options[k.selectedIndex]);void 0===l.attr("selected")&&void 0===this.$element.data("selected")&&(f.selected=!0)}return this.$element.find("option").each(function(b){var f=a(this);if(g++,!f.hasClass("bs-title-option")){var k=this.className||"",l=this.style.cssText,m=f.data("content")?f.data("content"):f.html(),n=f.data("tokens")?f.data("tokens"):null,o="undefined"!=typeof f.data("subtext")?'<small class="text-muted">'+f.data("subtext")+"</small>":"",p="undefined"!=typeof f.data("icon")?'<span class="'+c.options.iconBase+" "+f.data("icon")+'"></span> ':"",q=f.parent(),r="OPTGROUP"===q[0].tagName,s=r&&q[0].disabled,t=this.disabled||s;if(""!==p&&t&&(p="<span>"+p+"</span>"),c.options.hideDisabled&&(t&&!r||s))return void g--;if(f.data("content")||(m=p+'<span class="text">'+m+o+"</span>"),r&&f.data("divider")!==!0){if(c.options.hideDisabled&&t){if(void 0===q.data("allOptionsDisabled")){var u=q.children();q.data("allOptionsDisabled",u.filter(":disabled").length===u.length)}if(q.data("allOptionsDisabled"))return void g--}var v=" "+q[0].className||"";if(0===f.index()){e+=1;var w=q[0].label,x="undefined"!=typeof q.data("subtext")?'<small class="text-muted">'+q.data("subtext")+"</small>":"",y=q.data("icon")?'<span class="'+c.options.iconBase+" "+q.data("icon")+'"></span> ':"";w=y+'<span class="text">'+i(w)+x+"</span>",0!==b&&d.length>0&&(g++,d.push(h("",null,"divider",e+"div"))),g++,d.push(h(w,null,"dropdown-header"+v,e))}if(c.options.hideDisabled&&t)return void g--;d.push(h(j(m,"opt "+k+v,l,n),b,"",e))}else if(f.data("divider")===!0)d.push(h("",b,"divider"));else if(f.data("hidden")===!0)d.push(h(j(m,k,l,n),b,"hidden is-hidden"));else{var z=this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName;if(!z&&c.options.hideDisabled)for(var A=a(this).prevAll(),B=0;B<A.length;B++)if("OPTGROUP"===A[B].tagName){for(var C=0,D=0;D<B;D++){var E=A[D];(E.disabled||a(E).data("hidden")===!0)&&C++}C===B&&(z=!0);break}z&&(g++,d.push(h("",null,"divider",e+"div"))),d.push(h(j(m,k,l,n),b))}c.liObj[b]=g}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),d.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.togglePlaceholder(),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?'<i class="'+d.options.iconBase+" "+c.data("icon")+'"></i> ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' <small class="text-muted">'+c.data("subtext")+"</small>":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content").toString():e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",j(a.trim(f.replace(/<[^>]*>?/g,"")))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("input");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle&&getComputedStyle(d),v=u?null:a(d),w={vert:parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),horiz:parseInt(u?u.paddingLeft:v.css("paddingLeft"))+parseInt(u?u.paddingRight:v.css("paddingRight"))+parseInt(u?u.borderLeftWidth:v.css("borderLeftWidth"))+parseInt(u?u.borderRightWidth:v.css("borderRightWidth"))},x={vert:w.vert+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2,horiz:w.horiz+parseInt(u?u.marginLeft:v.css("marginLeft"))+parseInt(u?u.marginRight:v.css("marginRight"))+2};document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f,g,h,i,j=this,k=this.$menu,l=this.$menuInner,m=a(window),n=this.$newElement[0].offsetHeight,o=this.$newElement[0].offsetWidth,p=this.sizeInfo.liHeight,q=this.sizeInfo.headerHeight,r=this.sizeInfo.searchHeight,s=this.sizeInfo.actionsHeight,t=this.sizeInfo.doneButtonHeight,u=this.sizeInfo.dividerHeight,v=this.sizeInfo.menuPadding,w=this.sizeInfo.menuExtras,x=this.options.hideDisabled?".disabled":"",y=function(){var b,c=j.$newElement.offset(),d=a(j.options.container);j.options.container&&!d.is("body")?(b=d.offset(),b.top+=parseInt(d.css("borderTopWidth")),b.left+=parseInt(d.css("borderLeftWidth"))):b={top:0,left:0};var e=j.options.windowPadding;f=c.top-b.top-m.scrollTop(),g=m.height()-f-n-b.top-e[2],h=c.left-b.left-m.scrollLeft(),i=m.width()-h-o-b.left-e[1],f-=e[0],h-=e[3]};if(y(),"auto"===this.options.size){var z=function(){var m,n=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},u=j.$menuInner[0].getElementsByTagName("li"),x=Array.prototype.filter?Array.prototype.filter.call(u,n("hidden",!1)):j.$lis.not(".hidden"),z=Array.prototype.filter?Array.prototype.filter.call(x,n("dropdown-header",!0)):x.filter(".dropdown-header");y(),b=g-w.vert,c=i-w.horiz,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height"),k.data("width")||k.data("width",k.width()),e=k.data("width")):(d=k.height(),e=k.width()),j.options.dropupAuto&&j.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),j.$newElement.hasClass("dropup")&&(b=f-w.vert),"auto"===j.options.dropdownAlignRight&&k.toggleClass("dropdown-menu-right",h>i&&c-w.horiz<e-o),m=x.length+z.length>3?3*p+w.vert-2:0,k.css({"max-height":b+"px",overflow:"hidden","min-height":m+q+r+s+t+"px"}),l.css({"max-height":b-q-r-s-t-v.vert+"px","overflow-y":"auto","min-height":Math.max(m-v.vert,0)+"px"})};z(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",z),m.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",z)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(x).length>this.options.size){var A=this.$lis.not(".divider").not(x).children().slice(0,this.options.size).last().parent().index(),B=this.$lis.slice(0,A+1).filter(".divider").length;b=p*this.options.size+B*u+v.vert,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height")):d=k.height(),j.options.dropupAuto&&this.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),k.css({"max-height":b+q+r+s+t+"px",overflow:"hidden","min-height":""}),l.css({"max-height":b-v.vert+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){this.$bsContainer=a('<div class="bs-container" />');var b,c,d,e=this,f=a(this.options.container),g=function(a){e.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),f.is("body")?c={top:0,left:0}:(c=f.offset(),c.top+=parseInt(f.css("borderTopWidth"))-f.scrollTop(),c.left+=parseInt(f.css("borderLeftWidth"))-f.scrollLeft()),d=a.hasClass("dropup")?0:a[0].offsetHeight,e.$bsContainer.css({top:b.top-c.top+d,left:b.left-c.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);e.isDisabled()||(g(e.$newElement),e.$bsContainer.appendTo(e.options.container).toggleClass("open",!b.hasClass("open")).append(e.$menu))}),a(window).on("resize scroll",function(){g(e.$newElement)}),this.$element.on("hide.bs.select",function(){e.$menu.data("height",e.$menu.height()),e.$bsContainer.detach()})},setSelected:function(a,b,c){c||(this.togglePlaceholder(),c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b).find("a").attr("aria-selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1).attr("aria-disabled",!0):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0).attr("aria-disabled",!1)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1).attr("aria-disabled",!0)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled").attr("aria-disabled",!1)),this.$button.attr("tabindex")!=-1||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},togglePlaceholder:function(){var a=this.$element.val();this.$button.toggleClass("bs-placeholder",null===a||""===a||a.constructor===Array&&0===a.length)},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&this.$element.attr("tabindex")!==-98&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),f=d.parent().data("originalIndex"),g=b.$element.val(),h=b.$element.prop("selectedIndex"),i=!0;if(b.multiple&&1!==b.options.maxOptions&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var j=b.$element.find("option"),k=j.eq(f),l=k.prop("selected"),m=k.parent("optgroup"),n=b.options.maxOptions,o=m.data("maxOptions")||!1;if(b.multiple){if(k.prop("selected",!l),b.setSelected(f,!l),d.blur(),n!==!1||o!==!1){var p=n<j.filter(":selected").length,q=o<m.find("option:selected").length;if(n&&p||o&&q)if(n&&1==n)j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(f,!0);else if(o&&1==o){m.find("option:selected").prop("selected",!1),k.prop("selected",!0);var r=d.parent().data("optgroup");b.$menuInner.find('[data-optgroup="'+r+'"]').removeClass("selected"),b.setSelected(f,!0)}else{var s="string"==typeof b.options.maxOptionsText?[b.options.maxOptionsText,b.options.maxOptionsText]:b.options.maxOptionsText,t="function"==typeof s?s(n,o):s,u=t[0].replace("{n}",n),v=t[1].replace("{n}",o),w=a('<div class="notify"></div>');t[2]&&(u=u.replace("{var}",t[2][n>1?0:1]),v=v.replace("{var}",t[2][o>1?0:1])),k.prop("selected",!1),b.$menu.append(w),n&&p&&(w.append(a("<div>"+u+"</div>")),i=!1,b.$element.trigger("maxReached.bs.select")),o&&q&&(w.append(a("<div>"+v+"</div>")),i=!1,b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(f,!1)},10),w.delay(750).fadeOut(300,function(){a(this).remove()})}}}else j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected").find("a").attr("aria-selected",!1),b.setSelected(f,!0);!b.multiple||b.multiple&&1===b.options.maxOptions?b.$button.focus():b.options.liveSearch&&b.$searchbox.focus(),i&&(g!=b.$element.val()&&b.multiple||h!=b.$element.prop("selectedIndex")&&!b.multiple)&&(e=[f,k.prop("selected"),l],b.$element.triggerNative("change"))}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1),b.$element.trigger("changed.bs.select",e),e=null})},liveSearchListener:function(){var c=this,d=a('<li class="no-results"></li>');this.$button.on("click.dropdown.data-api",function(){c.$menuInner.find(".active").removeClass("active"),c.$searchbox.val()&&(c.$searchbox.val(""),c.$lis.not(".is-hidden").removeClass("hidden"),d.parent().length&&d.remove()),c.multiple||c.$menuInner.find(".selected").addClass("active"),setTimeout(function(){c.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(c.$lis.not(".is-hidden").removeClass("hidden"),c.$lis.filter(".active").removeClass("active"),d.remove(),c.$searchbox.val()){var e,f=c.$lis.not(".is-hidden, .divider, .dropdown-header");if(e=c.options.liveSearchNormalize?f.find("a").not(":a"+c._searchStyle()+'("'+b(c.$searchbox.val())+'")'):f.find("a").not(":"+c._searchStyle()+'("'+c.$searchbox.val()+'")'),e.length===f.length)d.html(c.options.noneResultsText.replace("{0}",'"'+i(c.$searchbox.val())+'"')),c.$menuInner.append(d),c.$lis.addClass("hidden");else{e.parent().addClass("hidden");var g,h=c.$lis.not(".hidden");h.each(function(b){var c=a(this);c.hasClass("divider")?void 0===g?c.addClass("hidden"):(g&&g.addClass("hidden"),g=c):c.hasClass("dropdown-header")&&h.eq(b+1).data("optgroup")!==c.data("optgroup")?c.addClass("hidden"):g=null}),g&&g.addClass("hidden"),f.not(".hidden").first().addClass("active")}}})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){if(this.multiple){"undefined"==typeof b&&(b=!0),this.findLis();var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden"),e=d.length,f=[];if(b){if(d.filter(".selected").length===d.length)return}else if(0===d.filter(".selected").length)return;d.toggleClass("selected",b);for(var g=0;g<e;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.togglePlaceholder(),this.$element.triggerNative("change")}},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a('[role="listbox"] li',n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90))return o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),void o.$searchbox.focus();if(o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(c.preventDefault(),c.stopPropagation(),o.$menuInner.click(),o.$button.focus()),d=a('[role="listbox"] li'+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),e<g&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,e==-1&&(e=0),e!=j&&e<f&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),
 m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")}};var l=a.fn.selectpicker;a.fn.selectpicker=c,a.fn.selectpicker.Constructor=k,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=l,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',k.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);c.call(b,b.data())})})}(a)});
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/build/005-bootstrap-filestyle.min.js b/mailcow/src/mailcow-dockerized/data/web/js/build/005-bootstrap-filestyle.min.js
deleted file mode 100644
index 9aa702c..0000000
--- a/mailcow/src/mailcow-dockerized/data/web/js/build/005-bootstrap-filestyle.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * bootstrap-filestyle
- * doc: http://markusslima.github.io/bootstrap-filestyle/
- * github: https://github.com/markusslima/bootstrap-filestyle
- *
- * Copyright (c) 2017 Markus Vinicius da Silva Lima
- * Version 1.2.3
- * Licensed under the MIT license.
- */
-!function(t){"use strict";var e=0,i=function(e,i){this.options=i,this.$elementFilestyle=[],this.$element=t(e)};i.prototype={clear:function(){this.$element.val(""),this.$elementFilestyle.find(":text").val(""),this.$elementFilestyle.find(".badge").remove()},destroy:function(){this.$element.removeAttr("style").removeData("filestyle"),this.$elementFilestyle.remove()},disabled:function(t){if(!0===t)this.options.disabled||(this.$element.attr("disabled","true"),this.$elementFilestyle.find("label").attr("disabled","true"),this.options.disabled=!0);else{if(!1!==t)return this.options.disabled;this.options.disabled&&(this.$element.removeAttr("disabled"),this.$elementFilestyle.find("label").removeAttr("disabled"),this.options.disabled=!1)}},buttonBefore:function(t){if(!0===t)this.options.buttonBefore||(this.options.buttonBefore=!0,this.options.input&&(this.$elementFilestyle.remove(),this.constructor(),this.pushNameFiles()));else{if(!1!==t)return this.options.buttonBefore;this.options.buttonBefore&&(this.options.buttonBefore=!1,this.options.input&&(this.$elementFilestyle.remove(),this.constructor(),this.pushNameFiles()))}},icon:function(t){if(!0===t)this.options.icon||(this.options.icon=!0,this.$elementFilestyle.find("label").prepend(this.htmlIcon()));else{if(!1!==t)return this.options.icon;this.options.icon&&(this.options.icon=!1,this.$elementFilestyle.find(".icon-span-filestyle").remove())}},input:function(t){if(!0===t)this.options.input||(this.options.input=!0,this.options.buttonBefore?this.$elementFilestyle.append(this.htmlInput()):this.$elementFilestyle.prepend(this.htmlInput()),this.$elementFilestyle.find(".badge").remove(),this.pushNameFiles(),this.$elementFilestyle.find(".group-span-filestyle").addClass("input-group-btn"));else{if(!1!==t)return this.options.input;if(this.options.input){this.options.input=!1,this.$elementFilestyle.find(":text").remove();var e=this.pushNameFiles();e.length>0&&this.options.badge&&this.$elementFilestyle.find("label").append(' <span class="badge">'+e.length+"</span>"),this.$elementFilestyle.find(".group-span-filestyle").removeClass("input-group-btn")}}},size:function(t){if(void 0===t)return this.options.size;var e=this.$elementFilestyle.find("label"),i=this.$elementFilestyle.find("input");e.removeClass("btn-lg btn-sm"),i.removeClass("input-lg input-sm"),"nr"!=t&&(e.addClass("btn-"+t),i.addClass("input-"+t))},placeholder:function(t){if(void 0===t)return this.options.placeholder;this.options.placeholder=t,this.$elementFilestyle.find("input").attr("placeholder",t)},buttonText:function(t){if(void 0===t)return this.options.buttonText;this.options.buttonText=t,this.$elementFilestyle.find("label .buttonText").html(this.options.buttonText)},buttonName:function(t){if(void 0===t)return this.options.buttonName;this.options.buttonName=t,this.$elementFilestyle.find("label").attr({class:"btn "+this.options.buttonName})},iconName:function(t){if(void 0===t)return this.options.iconName;this.$elementFilestyle.find(".icon-span-filestyle").attr({class:"icon-span-filestyle "+this.options.iconName})},htmlIcon:function(){return this.options.icon?'<span style="margin-right: 3px;" class="icon-span-filestyle '+this.options.iconName+'"></span> ':""},htmlInput:function(){return this.options.input?'<input type="text" class="form-control '+("nr"==this.options.size?"":"input-"+this.options.size)+'" placeholder="'+this.options.placeholder+'" disabled> ':""},pushNameFiles:function(){var t="",e=[];void 0===this.$element[0].files?e[0]={name:this.$element[0]&&this.$element[0].value}:e=this.$element[0].files;for(var i=0;i<e.length;i++)t+=e[i].name.split("\\").pop()+", ";return""!==t?this.$elementFilestyle.find(":text").val(t.replace(/\, $/g,"")):this.$elementFilestyle.find(":text").val(""),e},constructor:function(){var i=this,n="",s=i.$element.attr("id"),l="";""!==s&&s||(s="filestyle-"+e,i.$element.attr({id:s}),e++),l='<span class="group-span-filestyle '+(i.options.input?"input-group-btn":"")+'"><label for="'+s+'" class="btn '+i.options.buttonName+" "+("nr"==i.options.size?"":"btn-"+i.options.size)+'" '+(i.options.disabled||i.$element.attr("disabled")?'disabled="true"':"")+">"+i.htmlIcon()+'<span class="buttonText">'+i.options.buttonText+"</span></label></span>",n=i.options.buttonBefore?l+i.htmlInput():i.htmlInput()+l,i.$elementFilestyle=t('<div class="bootstrap-filestyle input-group">'+n+"</div>"),i.$elementFilestyle.find(".group-span-filestyle").attr("tabindex","0").keypress(function(t){if(13===t.keyCode||32===t.charCode)return i.$elementFilestyle.find("label").click(),!1}),i.$element.css({position:"absolute",clip:"rect(0px 0px 0px 0px)"}).attr("tabindex","-1").after(i.$elementFilestyle),(i.options.disabled||i.$element.attr("disabled"))&&i.$element.attr("disabled","true"),i.$element.change(function(){var t=i.pushNameFiles();0==i.options.input&&i.options.badge?0==i.$elementFilestyle.find(".badge").length?i.$elementFilestyle.find("label").append(' <span class="badge">'+t.length+"</span>"):0==t.length?i.$elementFilestyle.find(".badge").remove():i.$elementFilestyle.find(".badge").html(t.length):i.$elementFilestyle.find(".badge").remove()}),window.navigator.userAgent.search(/firefox/i)>-1&&i.$elementFilestyle.find("label").click(function(){return i.$element.click(),!1})}};var n=t.fn.filestyle;t.fn.filestyle=function(e,n){var s="",l=this.each(function(){if("file"===t(this).attr("type")){var l=t(this),o=l.data("filestyle"),a=t.extend({},t.fn.filestyle.defaults,e,"object"==typeof e&&e);o||(l.data("filestyle",o=new i(this,a)),o.constructor()),"string"==typeof e&&(s=o[e](n))}});return void 0!==typeof s?s:l},t.fn.filestyle.defaults={buttonText:"Choose file",iconName:"glyphicon glyphicon-folder-open",buttonName:"btn-default",size:"nr",input:!0,badge:!0,icon:!0,buttonBefore:!1,disabled:!1,placeholder:""},t.fn.filestyle.noConflict=function(){return t.fn.filestyle=n,this},t(function(){t(".filestyle").each(function(){var e=t(this),i={input:"false"!==e.attr("data-input"),icon:"false"!==e.attr("data-icon"),buttonBefore:"true"===e.attr("data-buttonBefore"),disabled:"true"===e.attr("data-disabled"),size:e.attr("data-size"),buttonText:e.attr("data-buttonText"),buttonName:e.attr("data-buttonName"),iconName:e.attr("data-iconName"),badge:"false"!==e.attr("data-badge"),placeholder:e.attr("data-placeholder")};e.filestyle(i)})})}(window.jQuery);
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/build/013-bootstrap-tabcollapse.js b/mailcow/src/mailcow-dockerized/data/web/js/build/013-bootstrap-tabcollapse.js
new file mode 100644
index 0000000..6a5f9b8
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/js/build/013-bootstrap-tabcollapse.js
@@ -0,0 +1,239 @@
+!function ($) {
+
+    "use strict";
+
+    // TABCOLLAPSE CLASS DEFINITION
+    // ======================
+
+    var TabCollapse = function (el, options) {
+        this.options   = options;
+        this.$tabs  = $(el);
+
+        this._accordionVisible = false; //content is attached to tabs at first
+        this._initAccordion();
+        this._checkStateOnResize();
+
+
+        // checkState() has gone to setTimeout for making it possible to attach listeners to
+        // shown-accordion.bs.tabcollapse event on page load.
+        // See https://github.com/flatlogic/bootstrap-tabcollapse/issues/23
+        var that = this;
+        setTimeout(function() {
+          that.checkState();
+        }, 0);
+    };
+
+    TabCollapse.DEFAULTS = {
+        accordionClass: 'visible-xs',
+        tabsClass: 'hidden-xs',
+        accordionTemplate: function(heading, groupId, parentId, active) {
+            return  '<div class="panel panel-default">' +
+                    '   <div class="panel-heading">' +
+                    '      <h4 class="panel-title">' +
+                    '      </h4>' +
+                    '   </div>' +
+                    '   <div id="' + groupId + '" class="panel-collapse collapse ' + (active ? 'in' : '') + '">' +
+                    '       <div class="panel-body js-tabcollapse-panel-body">' +
+                    '       </div>' +
+                    '   </div>' +
+                    '</div>'
+
+        }
+    };
+
+    TabCollapse.prototype.checkState = function(){
+        if (this.$tabs.is(':visible') && this._accordionVisible){
+            this.showTabs();
+            this._accordionVisible = false;
+        } else if (this.$accordion.is(':visible') && !this._accordionVisible){
+            this.showAccordion();
+            this._accordionVisible = true;
+        }
+    };
+
+    TabCollapse.prototype.showTabs = function(){
+        var view = this;
+        this.$tabs.trigger($.Event('show-tabs.bs.tabcollapse'));
+
+        var $panelHeadings = this.$accordion.find('.js-tabcollapse-panel-heading').detach();
+
+        $panelHeadings.each(function() {
+            var $panelHeading = $(this),
+            $parentLi = $panelHeading.data('bs.tabcollapse.parentLi');
+
+            var $oldHeading = view._panelHeadingToTabHeading($panelHeading);
+
+            $parentLi.removeClass('active');
+            if ($parentLi.parent().hasClass('dropdown-menu') && !$parentLi.siblings('li').hasClass('active')) {
+                $parentLi.parent().parent().removeClass('active');
+            }
+
+            if (!$oldHeading.hasClass('collapsed')) {
+                $parentLi.addClass('active');
+                $('.tab-pane').removeClass('active');
+                $($panelHeading.attr('href')).addClass('active');
+                if ($parentLi.parent().hasClass('dropdown-menu')) {
+                    $parentLi.parent().parent().addClass('active');
+                }
+            } else {
+                $oldHeading.removeClass('collapsed');
+            }
+
+            $parentLi.append($panelHeading);
+        });
+
+        if (!$('li').hasClass('active')) {
+            $('li').first().addClass('active')
+        }
+
+        var $panelBodies = this.$accordion.find('.js-tabcollapse-panel-body');
+        $panelBodies.each(function(){
+            var $panelBody = $(this),
+                $tabPane = $panelBody.data('bs.tabcollapse.tabpane');
+            $tabPane.append($panelBody.contents().detach());
+        });
+        this.$accordion.html('');
+
+        if(this.options.updateLinks) {
+            var $tabContents = this.getTabContentElement();
+            $tabContents.find('[data-toggle-was="tab"], [data-toggle-was="pill"]').each(function() {
+                var $el = $(this);
+                var href = $el.attr('href').replace(/-collapse$/g, '');
+                $el.attr({
+                    'data-toggle': $el.attr('data-toggle-was'),
+                    'data-toggle-was': '',
+                    'data-parent': '',
+                    href: href
+                });
+            });
+        }
+
+        this.$tabs.trigger($.Event('shown-tabs.bs.tabcollapse'));
+    };
+
+    TabCollapse.prototype.getTabContentElement = function(){
+        var $tabContents = $(this.options.tabContentSelector);
+        if($tabContents.length === 0) {
+            $tabContents = this.$tabs.siblings('.tab-content');
+        }
+        return $tabContents;
+    };
+
+    TabCollapse.prototype.showAccordion = function(){
+        this.$tabs.trigger($.Event('show-accordion.bs.tabcollapse'));
+
+        var $headings = this.$tabs.find('li:not(.dropdown) [data-toggle="tab"], li:not(.dropdown) [data-toggle="pill"]'),
+            view = this;
+        $headings.each(function(){
+            var $heading = $(this),
+                $parentLi = $heading.parent();
+            $heading.data('bs.tabcollapse.parentLi', $parentLi);
+            view.$accordion.append(view._createAccordionGroup(view.$accordion.attr('id'), $heading.detach()));
+        });
+
+        if(this.options.updateLinks) {
+            var parentId = this.$accordion.attr('id');
+            var $selector = this.$accordion.find('.js-tabcollapse-panel-body');
+            $selector.find('[data-toggle="tab"], [data-toggle="pill"]').each(function() {
+                var $el = $(this);
+                var href = $el.attr('href') + '-collapse';
+                $el.attr({
+                    'data-toggle-was': $el.attr('data-toggle'),
+                    'data-toggle': 'collapse',
+                    'data-parent': '#' + parentId,
+                    href: href
+                });
+            });
+        }
+
+        this.$tabs.trigger($.Event('shown-accordion.bs.tabcollapse'));
+    };
+
+    TabCollapse.prototype._panelHeadingToTabHeading = function($heading) {
+        var href = $heading.attr('href').replace(/-collapse$/g, '');
+        $heading.attr({
+            'data-toggle': 'tab',
+            'href': href,
+            'data-parent': ''
+        });
+        return $heading;
+    };
+
+    TabCollapse.prototype._tabHeadingToPanelHeading = function($heading, groupId, parentId, active) {
+        $heading.addClass('js-tabcollapse-panel-heading ' + (active ? '' : 'collapsed'));
+        $heading.attr({
+            'data-toggle': 'collapse',
+            'data-parent': '#' + parentId,
+            'href': '#' + groupId
+        });
+        return $heading;
+    };
+
+    TabCollapse.prototype._checkStateOnResize = function(){
+        var view = this;
+        $(window).resize(function(){
+            clearTimeout(view._resizeTimeout);
+            view._resizeTimeout = setTimeout(function(){
+                view.checkState();
+            }, 100);
+        });
+    };
+
+
+    TabCollapse.prototype._initAccordion = function(){
+        var randomString = function() {
+            var result = "",
+                possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+            for( var i=0; i < 5; i++ ) {
+                result += possible.charAt(Math.floor(Math.random() * possible.length));
+            }
+            return result;
+        };
+
+        var srcId = this.$tabs.attr('id'),
+            accordionId = (srcId ? srcId : randomString()) + '-accordion';
+
+        this.$accordion = $('<div class="panel-group ' + this.options.accordionClass + '" id="' + accordionId +'"></div>');
+        this.$tabs.after(this.$accordion);
+        this.$tabs.addClass(this.options.tabsClass);
+        this.getTabContentElement().addClass(this.options.tabsClass);
+    };
+
+    TabCollapse.prototype._createAccordionGroup = function(parentId, $heading){
+        var tabSelector = $heading.attr('data-target'),
+            active = $heading.data('bs.tabcollapse.parentLi').is('.active');
+
+        if (!tabSelector) {
+            tabSelector = $heading.attr('href');
+            tabSelector = tabSelector && tabSelector.replace(/.*(?=#[^\s]*$)/, ''); //strip for ie7
+        }
+
+        var $tabPane = $(tabSelector),
+            groupId = $tabPane.attr('id') + '-collapse',
+            $panel = $(this.options.accordionTemplate($heading, groupId, parentId, active));
+        $panel.find('.panel-heading > .panel-title').append(this._tabHeadingToPanelHeading($heading, groupId, parentId, active));
+        $panel.find('.panel-body').append($tabPane.contents().detach())
+            .data('bs.tabcollapse.tabpane', $tabPane);
+
+        return $panel;
+    };
+
+
+
+    // TABCOLLAPSE PLUGIN DEFINITION
+    // =======================
+
+    $.fn.tabCollapse = function (option) {
+        return this.each(function () {
+            var $this   = $(this);
+            var data    = $this.data('bs.tabcollapse');
+            var options = $.extend({}, TabCollapse.DEFAULTS, $this.data(), typeof option === 'object' && option);
+
+            if (!data) $this.data('bs.tabcollapse', new TabCollapse(this, options));
+        });
+    };
+
+    $.fn.tabCollapse.Constructor = TabCollapse;
+
+
+}(window.jQuery);
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/build/014-mailcow.js b/mailcow/src/mailcow-dockerized/data/web/js/build/014-mailcow.js
index 7f78c7f..90d8350 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/build/014-mailcow.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/build/014-mailcow.js
@@ -93,10 +93,20 @@
   }).remove();
 
   // selectpicker
-  $('select').selectpicker();
+  $('select').selectpicker({
+    'styleBase': 'btn btn-xs-lg',
+    'noneSelectedText': lang_footer.nothing_selected
+  });
 
-  // haveibeenpwned?
-  $('[data-hibp]').after('<p class="small haveibeenpwned">↪ Check against haveibeenpwned.com</p><span class="hibp-out"></span>');
+  // haveibeenpwned and passwd policy
+  $.ajax({
+    url: '/api/v1/get/passwordpolicy/html',
+    type: 'GET',
+    success: function(res) {
+      $(".hibp-out").after(res);
+    }
+  });
+  $('[data-hibp]').after('<p class="small haveibeenpwned"><i class="bi bi-shield-fill-exclamation"></i> ' + lang_footer.hibp_check + '</p><span class="hibp-out"></span>');
   $('[data-hibp]').on('input', function() {
     out_field = $(this).next('.haveibeenpwned').next('.hibp-out').text('').attr('class', 'hibp-out');
   });
@@ -188,7 +198,9 @@
     } else if ($(this).hasClass('btn')) {
       $(this).attr("disabled", true);
     } else if ($(this).attr('data-provide') == 'slider') {
-      $(this).slider("disable");
+      $(this).attr('disabled', true);
+    } else if ($(this).is(':checkbox')) {
+      $(this).attr("disabled", true);
     }
     $(this).data("toggle", "tooltip");
     $(this).attr("title", lang_acl.prohibited);
@@ -214,7 +226,7 @@
     $('#containerName').text(container);
     $('#triggerRestartContainer').click(function(){
       $(this).prop("disabled",true);
-      $(this).html('<span class="glyphicon glyphicon-refresh glyphicon-spin"></span> ');
+      $(this).html('<i class="bi bi-arrow-repeat icon-spin"></i> ');
       $('#statusTriggerRestartContainer').html(lang_footer.restarting_container);
       $.ajax({
         method: 'get',
@@ -229,15 +241,36 @@
         $('#statusTriggerRestartContainer').append(data);
         var htmlResponse = $.parseHTML(data)
         if ($(htmlResponse).find('span').hasClass('text-success')) {
-          $('#triggerRestartContainer').html('<span class="glyphicon glyphicon-ok"></span> ');
+          $('#triggerRestartContainer').html('<i class="bi bi-check-lg"></i> ');
           setTimeout(function(){
-            $('#RestartContainer').modal('toggle'); 
+            $('#RestartContainer').modal('toggle');
             window.location = window.location.href.split("#")[0];
           }, 1200);
         } else {
-          $('#triggerRestartContainer').html('<span class="glyphicon glyphicon-remove"></span> ');
+          $('#triggerRestartContainer').html('<i class="bi bi-slash-lg"></i> ');
         }
       })
     });
   })
+
+  // responsive tabs
+  $('.responsive-tabs').tabCollapse({
+    tabsClass: 'hidden-xs',
+    accordionClass: 'js-tabcollapse-panel-group visible-xs'
+  });
+  $(document).on("shown.bs.collapse shown.bs.tab", function (e) {
+	  var target = $(e.target);
+	  if($(window).width() <= 767) {
+		  var offset = target.offset().top - 112;
+		  $("html, body").stop().animate({
+		    scrollTop: offset
+		  }, 100);
+	  }
+	  if(target.hasClass('panel-collapse')){
+	    var id = e.target.id.replace(/-collapse$/g, '');
+	    if(id){
+          localStorage.setItem('lastTag', '#'+id);
+        }
+      }
+  });
 });
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/admin.js b/mailcow/src/mailcow-dockerized/data/web/js/site/admin.js
index bdb2eaa..eac7b21 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/admin.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/admin.js
@@ -76,8 +76,8 @@
         {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"username","title":lang.username,"style":{"width":"250px"}},
         {"name":"selected_domains","title":lang.admin_domains,"breakpoints":"xs sm"},
-        {"name":"tfa_active","title":"TFA", "filterable": false,"style":{"maxWidth":"80px","width":"80px"},"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
+        {"name":"tfa_active","title":"TFA", "filterable": false,"style":{"maxWidth":"80px","width":"80px"},"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
         {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "rows": $.ajax({
@@ -131,8 +131,8 @@
       "columns": [
         {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"usr","title":lang.username,"style":{"width":"250px"}},
-        {"name":"tfa_active","title":"TFA", "filterable": false,"style":{"maxWidth":"80px","width":"80px"},"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
+        {"name":"tfa_active","title":"TFA", "filterable": false,"style":{"maxWidth":"80px","width":"80px"},"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
         {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "rows": $.ajax({
@@ -160,7 +160,7 @@
         {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"name":"host","type":"text","title":lang.host,"style":{"width":"250px"}},
         {"name":"source","title":lang.source,"breakpoints":"xs sm"},
-        {"name":"keep_spam","title":lang.spamfilter, "type": "text","style":{"maxWidth":"80px","width":"80px"},"formatter": function(value){return 'yes'==value?'&#10005;':'no'==value&&'&#10003;';}},
+        {"name":"keep_spam","title":lang.spamfilter, "type": "text","style":{"maxWidth":"80px","width":"80px"},"formatter": function(value){return 'yes'==value?'<i class="bi bi-x-lg"></i>':'no'==value&&'<i class="bi bi-check-lg"></i>';}},
         {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "rows": $.ajax({
@@ -187,9 +187,9 @@
         {"name":"id","type":"text","title":"ID","style":{"width":"50px"}},
         {"name":"hostname","type":"text","title":lang.host,"style":{"width":"250px"}},
         {"name":"username","title":lang.username,"breakpoints":"xs sm"},
-        {"name":"used_by_domains","title":lang.in_use_by,"style":{"width":"110px"}, "type": "text","breakpoints":"xs sm"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"220px","width":"220px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
+        {"name":"in_use_by","title":lang.in_use_by,"style":{"min-width":"200px","width":"200px"}, "type": "text","breakpoints":"xs sm"},
+        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
       ],
       "rows": $.ajax({
         dataType: 'json',
@@ -209,15 +209,15 @@
     });
   }
   function draw_transport_maps() {
-    ft_relayhoststable = FooTable.init('#transportstable', {
+    ft_transportstable = FooTable.init('#transportstable', {
       "columns": [
         {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"name":"id","type":"text","title":"ID","style":{"width":"50px"}},
-        {"name":"destination","type":"text","title":lang.destination,"style":{"width":"250px"}},
-        {"name":"nexthop","type":"text","title":lang.nexthop,"style":{"width":"250px"}},
+        {"name":"destination","type":"text","title":lang.destination,"style":{"min-width":"300px","width":"300px"}},
+        {"name":"nexthop","type":"text","title":lang.nexthop,"style":{"min-width":"200px","width":"200px"}},
         {"name":"username","title":lang.username,"breakpoints":"xs sm"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"220px","width":"220px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
+        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
       ],
       "rows": $.ajax({
         dataType: 'json',
@@ -233,7 +233,12 @@
       "empty": lang.empty,
       "paging": {"enabled": true,"limit": 5,"size": log_pagination_size},
       "sorting": {"enabled": true},
-      "toggleSelector": "table tbody span.footable-toggle"
+      "toggleSelector": "table tbody span.footable-toggle",
+      "on": {
+        "ready.ft.table": function(e, ft){
+          $('.mx-info').tooltip();
+        }
+      }
     });
   }
   function draw_queue() {
@@ -276,22 +281,28 @@
   function process_table_data(data, table) {
     if (table == 'relayhoststable') {
       $.each(data, function (i, item) {
-        item.action = '<div class="btn-group">' +
-          '<a href="#" data-toggle="modal" data-target="#testTransportModal" data-transport-id="' + encodeURI(item.id) + '" data-transport-type="sender-dependent" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-triangle-right"></span> Test</a>' +
-          '<a href="/edit/relayhost/' + encodeURI(item.id) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-          '<a href="#" data-action="delete_selected" data-id="single-rlyhost" data-api-url="delete/relayhost" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+        item.action = '<div class="btn-group footable-actions">' +
+          '<a href="#" data-toggle="modal" data-target="#testTransportModal" data-transport-id="' + encodeURI(item.id) + '" data-transport-type="sender-dependent" class="btn btn-xs btn-xs-third btn-default"><i class="bi bi-caret-right-fill"></i> Test</a>' +
+          '<a href="/edit/relayhost/' + encodeURI(item.id) + '" class="btn btn-xs btn-xs-third btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+          '<a href="#" data-action="delete_selected" data-id="single-rlyhost" data-api-url="delete/relayhost" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-xs-third btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
           '</div>';
+        if (item.used_by_mailboxes == '') { item.in_use_by = item.used_by_domains; }
+        else if (item.used_by_domains == '') { item.in_use_by = item.used_by_mailboxes; }
+        else { item.in_use_by = item.used_by_mailboxes + '<hr style="margin:5px 0px 5px 0px;">' + item.used_by_domains; }
         item.chkbox = '<input type="checkbox" data-id="rlyhosts" name="multi_select" value="' + item.id + '" />';
       });
     } else if (table == 'transportstable') {
       $.each(data, function (i, item) {
-        if (item.username) {
-          item.username = '<span style="border-left:3px solid #' + intToRGB(hashCode(item.nexthop)) + ';padding-left:5px;">' + item.username + '</span>';
+        if (item.is_mx_based) {
+          item.destination = '<i class="bi bi-info-circle-fill text-info mx-info" data-toggle="tooltip" title="' + lang.is_mx_based + '"></i> <code>' + item.destination + '</code>';
         }
-        item.action = '<div class="btn-group">' +
-          '<a href="#" data-toggle="modal" data-target="#testTransportModal" data-transport-id="' + encodeURI(item.id) + '" data-transport-type="transport-map" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-triangle-right"></span> Test</a>' +
-          '<a href="/edit/transport/' + encodeURI(item.id) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-          '<a href="#" data-action="delete_selected" data-id="single-transport" data-api-url="delete/transport" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+        if (item.username) {
+          item.username = '<i style="color:#' + intToRGB(hashCode(item.nexthop)) + ';" class="bi bi-square-fill"></i> ' + item.username;
+        }
+        item.action = '<div class="btn-group footable-actions">' +
+          '<a href="#" data-toggle="modal" data-target="#testTransportModal" data-transport-id="' + encodeURI(item.id) + '" data-transport-type="transport-map" class="btn btn-xs btn-xs-third btn-default"><i class="bi bi-caret-right-fill"></i> Test</a>' +
+          '<a href="/edit/transport/' + encodeURI(item.id) + '" class="btn btn-xs btn-xs-third btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+          '<a href="#" data-action="delete_selected" data-id="single-transport" data-api-url="delete/transport" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-xs-third btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
           '</div>';
         item.chkbox = '<input type="checkbox" data-id="transports" name="multi_select" value="' + item.id + '" />';
       });
@@ -302,22 +313,22 @@
           return escapeHtml(i);
         });
         item.recipients = rcpts.join('<hr style="margin:1px!important">');
-        item.action = '<div class="btn-group">' +
+        item.action = '<div class="btn-group footable-actions">' +
           '<a href="#" data-toggle="modal" data-target="#showQueuedMsg" data-queue-id="' + encodeURI(item.queue_id) + '" class="btn btn-xs btn-default">' + lang.queue_show_message + '</a>' +
           '</div>';
       });
     } else if (table == 'forwardinghoststable') {
       $.each(data, function (i, item) {
-        item.action = '<div class="btn-group">' +
-          '<a href="#" data-action="delete_selected" data-id="single-fwdhost" data-api-url="delete/fwdhost" data-item="' + encodeURI(item.host) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+        item.action = '<div class="btn-group footable-actions">' +
+          '<a href="#" data-action="delete_selected" data-id="single-fwdhost" data-api-url="delete/fwdhost" data-item="' + encodeURI(item.host) + '" class="btn btn-xs btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
           '</div>';
         item.chkbox = '<input type="checkbox" data-id="fwdhosts" name="multi_select" value="' + item.host + '" />';
       });
     } else if (table == 'oauth2clientstable') {
       $.each(data, function (i, item) {
-        item.action = '<div class="btn-group">' +
-          '<a href="/edit.php?oauth2client=' + encodeURI(item.id) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-          '<a href="#" data-action="delete_selected" data-id="single-oauth2-client" data-api-url="delete/oauth2-client" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+        item.action = '<div class="btn-group footable-actions">' +
+          '<a href="/edit.php?oauth2client=' + encodeURI(item.id) + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+          '<a href="#" data-action="delete_selected" data-id="single-oauth2-client" data-api-url="delete/oauth2-client" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
           '</div>';
         item.scope = "profile";
         item.grant_types = 'refresh_token password authorization_code';
@@ -328,23 +339,23 @@
         item.selected_domains = escapeHtml(item.selected_domains);
         item.selected_domains = item.selected_domains.toString().replace(/,/g, "<br>");
         item.chkbox = '<input type="checkbox" data-id="domain_admins" name="multi_select" value="' + item.username + '" />';
-        item.action = '<div class="btn-group">' +
-          '<a href="/edit/domainadmin/' + encodeURI(item.username) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-          '<a href="#" data-action="delete_selected" data-id="single-domain-admin" data-api-url="delete/domain-admin" data-item="' + encodeURI(item.username) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
-          '<a href="/index.php?duallogin=' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-success"><span class="glyphicon glyphicon-user"></span> Login</a>' +
+        item.action = '<div class="btn-group footable-actions">' +
+          '<a href="/edit/domainadmin/' + encodeURI(item.username) + '" class="btn btn-xs btn-xs-third btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+          '<a href="#" data-action="delete_selected" data-id="single-domain-admin" data-api-url="delete/domain-admin" data-item="' + encodeURI(item.username) + '" class="btn btn-xs btn-xs-third btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
+          '<a href="/index.php?duallogin=' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-xs-third btn-success"><i class="bi bi-person-fill"></i> Login</a>' +
           '</div>';
       });
     } else if (table == 'adminstable') {
       $.each(data, function (i, item) {
         if (admin_username.toLowerCase() == item.username.toLowerCase()) {
-          item.usr = '→ ' + item.username;
+          item.usr = '<i class="bi bi-person-check"></i> ' + item.username;
         } else {
           item.usr = item.username;
         }
         item.chkbox = '<input type="checkbox" data-id="admins" name="multi_select" value="' + item.username + '" />';
-        item.action = '<div class="btn-group">' +
-          '<a href="/edit/admin/' + encodeURI(item.username) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-          '<a href="#" data-action="delete_selected" data-id="single-admin" data-api-url="delete/admin" data-item="' + encodeURI(item.username) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+        item.action = '<div class="btn-group footable-actions">' +
+          '<a href="/edit/admin/' + encodeURI(item.username) + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+          '<a href="#" data-action="delete_selected" data-id="single-admin" data-api-url="delete/admin" data-item="' + encodeURI(item.username) + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
           '</div>';
       });
     }
@@ -358,6 +369,11 @@
   draw_oauth2_clients();
   draw_transport_maps();
   draw_queue();
+
+  $('body').on('click', 'span.footable-toggle', function () {
+    event.stopPropagation();
+  })
+
   // API IP check toggle
   $("#skip_ip_check_ro").click(function( event ) {
    $("#skip_ip_check_ro").not(this).prop('checked', false);
@@ -389,7 +405,7 @@
     e.preventDefault();
     prev = $('#test_relayhost').text();
     $(this).prop("disabled",true);
-    $(this).html('<span class="glyphicon glyphicon-refresh glyphicon-spin"></span> ');
+    $(this).html('<i class="bi bi-arrow-repeat icon-spin"></i> ');
     $.ajax({
         type: 'GET',
         url: 'inc/ajax/relay_check.php',
@@ -431,7 +447,7 @@
     e.preventDefault();
     prev = $('#test_transport').text();
     $(this).prop("disabled",true);
-    $(this).html('<span class="glyphicon glyphicon-refresh glyphicon-spin"></span> ');
+    $(this).html('<i class="bi bi-arrow-repeat icon-spin"></i> ');
     $.ajax({
         type: 'GET',
         url: 'inc/ajax/transport_check.php',
@@ -465,13 +481,13 @@
   function add_table_row(table_id, type) {
     var row = $('<tr />');
     if (type == "app_link") {
-    cols = '<td><input class="input-sm form-control" data-id="app_links" type="text" name="app" required></td>';
-    cols += '<td><input class="input-sm form-control" data-id="app_links" type="text" name="href" required></td>';
-    cols += '<td><a href="#" role="button" class="btn btn-xs btn-default" type="button">' + lang.remove_row + '</a></td>';
+    cols = '<td><input class="input-sm input-xs-lg form-control" data-id="app_links" type="text" name="app" required></td>';
+    cols += '<td><input class="input-sm input-xs-lg form-control" data-id="app_links" type="text" name="href" required></td>';
+    cols += '<td><a href="#" role="button" class="btn btn-sm btn-xs-lg btn-default" type="button">' + lang.remove_row + '</a></td>';
     } else if (type == "f2b_regex") {
-    cols = '<td><input style="text-align:center" class="input-sm form-control" data-id="f2b_regex" type="text" value="+" disabled></td>';
-    cols += '<td><input class="input-sm form-control regex-input" data-id="f2b_regex" type="text" name="regex" required></td>';
-    cols += '<td><a href="#" role="button" class="btn btn-xs btn-default" type="button">' + lang.remove_row + '</a></td>';
+    cols = '<td><input style="text-align:center" class="input-sm input-xs-lg form-control" data-id="f2b_regex" type="text" value="+" disabled></td>';
+    cols += '<td><input class="input-sm input-xs-lg form-control regex-input" data-id="f2b_regex" type="text" name="regex" required></td>';
+    cols += '<td><a href="#" role="button" class="btn btn-sm btn-xs-lg btn-default" type="button">' + lang.remove_row + '</a></td>';
     }
     row.append(cols);
     table_id.append(row);
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/debug.js b/mailcow/src/mailcow-dockerized/data/web/js/site/debug.js
index 9266f95..6b08113 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/debug.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/debug.js
@@ -1,3 +1,42 @@
+$(document).ready(function() {
+  // Parse seconds ago to date
+  // Get "now" timestamp
+  var ts_now = Math.round((new Date()).getTime() / 1000);
+  $('.parse_s_ago').each(function(i, parse_s_ago) {
+    var started_s_ago = parseInt($(this).text(), 10);
+    if (typeof started_s_ago != 'NaN') {
+      var started_date = new Date((ts_now - started_s_ago) * 1000);
+      if (started_date instanceof Date && !isNaN(started_date)) {
+        var started_local_date = started_date.toLocaleDateString(undefined, {
+          year: "numeric",
+          month: "2-digit",
+          day: "2-digit",
+          hour: "2-digit",
+          minute: "2-digit",
+          second: "2-digit"
+        });
+        $(this).text(started_local_date);
+      } else {
+        $(this).text('-');
+      }
+    }
+  });
+  // Parse general dates
+  $('.parse_date').each(function(i, parse_date) {
+    var started_date = new Date(Date.parse($(this).text()));
+    if (typeof started_date != 'NaN') {
+      var started_local_date = started_date.toLocaleDateString(undefined, {
+        year: "numeric",
+        month: "2-digit",
+        day: "2-digit",
+        hour: "2-digit",
+        minute: "2-digit",
+        second: "2-digit"
+      });
+      $(this).text(started_local_date);
+    }
+  });
+});
 jQuery(function($){
   if (localStorage.getItem("current_page") === null) {
     var current_page = {};
@@ -232,7 +271,7 @@
         {"name":"role","title":"Role"},
         {"name":"remote","title":"IP"},
         {"name":"msg","title":lang.message,"style":{"word-break":"break-all"}},
-        {"name":"call","title":"Call","breakpoints": "all"},
+        {"name":"call","title":"Call","breakpoints": "all"}
       ],
       "rows": $.ajax({
         dataType: 'json',
@@ -262,6 +301,42 @@
       }
     });
   }
+  function draw_sasl_logs() {
+    ft_api_logs = FooTable.init('#sasl_logs', {
+      "columns": [
+        {"name":"username","title":lang.username},
+        {"name":"service","title":lang.service},
+        {"name":"real_rip","title":"IP"},
+        {"sorted": true,"sortValue": function(value){res = new Date(value);return res.getTime();},"direction":"DESC","name":"datetime","formatter":function date_format(datetime) { var date = new Date(datetime.replace(/-/g, "/")); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.login_time,"style":{"width":"170px"}},
+      ],
+      "rows": $.ajax({
+        dataType: 'json',
+        url: '/api/v1/get/logs/sasl',
+        jsonp: false,
+        error: function () {
+          console.log('Cannot draw sasl log table');
+        },
+        success: function (data) {
+          return process_table_data(data, 'sasl_log_table');
+        }
+      }),
+      "empty": lang.empty,
+      "paging": {"enabled": true,"limit": 5,"size": log_pagination_size},
+      "filtering": {"enabled": true,"delay": 1200,"position": "left","connectors": false,"placeholder": lang.filter_table,"connectors": false},
+      "sorting": {"enabled": true},
+      "on": {
+        "destroy.ft.table": function(e, ft){
+          $('.refresh_table').attr('disabled', 'true');
+        },
+        "ready.ft.table": function(e, ft){
+          table_log_ready(ft, 'sasl_logs');
+        },
+        "after.ft.paging": function(e, ft){
+          table_log_paging(ft, 'sasl_logs');
+        }
+      }
+    });
+  }
   function draw_acme_logs() {
     ft_acme_logs = FooTable.init('#acme_log', {
       "columns": [
@@ -605,13 +680,13 @@
         if (item.message == null) {
           item.message = 'Health level: ' + item.lvl + '% (' + item.hpnow + '/' + item.hptotal + ')';
           if (item.hpdiff < 0) {
-            item.trend = '<span class="label label-danger"><span class="glyphicon glyphicon-arrow-down"></span> ' + item.hpdiff + '</span>';
+            item.trend = '<span class="label label-danger"><i class="bi bi-caret-down-fill"></i> ' + item.hpdiff + '</span>';
           }
           else if (item.hpdiff == 0) {
-            item.trend = '<span class="label label-info"><span class="glyphicon glyphicon-arrow-right"></span> ' + item.hpdiff + '</span>';
+            item.trend = '<span class="label label-info"><i class="bi bi-caret-right-fill"></i> ' + item.hpdiff + '</span>';
           }
           else {
-            item.trend = '<span class="label label-success"><span class="glyphicon glyphicon-arrow-up"></span> ' + item.hpdiff + '</span>';
+            item.trend = '<span class="label label-success"><i class="bi bi-caret-up-fill"></i> ' + item.hpdiff + '</span>';
           }
         }
         else {
@@ -627,11 +702,23 @@
         item.task = '<code>' + item.task + '</code>';
         item.type = '<span class="label label-' + item.type + '">' + item.type + '</span>';
       });
+    } else if (table == 'sasl_log_table') {
+      $.each(data, function (i, item) {
+        if (item === null) { return true; }
+        item.username = escapeHtml(item.username);
+        if (item.service == "smtp") { item.service = '<div class="label label-default">' + item.service.toUpperCase() + '<i class="bi bi-chevron-compact-right"></i></div>'; }
+        else if (item.service == "imap") { item.service = '<div class="label label-default"><i class="bi bi-chevron-compact-left"></i> ' + item.service.toUpperCase() + '</div>'; }
+        else { item.service = '<div class="label label-default">' + item.service.toUpperCase() + '</div>'; }
+    });
     } else if (table == 'general_syslog') {
       $.each(data, function (i, item) {
         if (item === null) { return true; }
         if (item.message.match("^base64,")) {
-          item.message = atob(item.message.slice(7)).replace(/\\n/g, "<br />");
+          try {
+            item.message = atob(item.message.slice(7)).replace(/\\n/g, "<br />");
+          } catch(e) {
+            item.message = item.message.slice(7);
+          }
         } else {
           item.message = escapeHtml(item.message);
         }
@@ -667,7 +754,7 @@
         }
         item.indicator = '<span style="border-right:6px solid #' + intToRGB(hashCode(item.rl_hash)) + ';padding-left:5px;">&nbsp;</span>';
         if (item.rl_hash != 'err') {
-          item.action = '<a href="#" data-action="delete_selected" data-id="single-hash" data-api-url="delete/rlhash" data-item="' + encodeURI(item.rl_hash) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.reset_limit + '</a>';
+          item.action = '<a href="#" data-action="delete_selected" data-id="single-hash" data-api-url="delete/rlhash" data-item="' + encodeURI(item.rl_hash) + '" class="btn btn-xs btn-danger"><i class="bi bi-trash"></i> ' + lang.reset_limit + '</a>';
         }
       });
     }
@@ -707,6 +794,7 @@
   draw_api_logs();
   draw_rl_logs();
   draw_ui_logs();
+  draw_sasl_logs();
   draw_netfilter_logs();
   draw_rspamd_history();
   $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/edit.js b/mailcow/src/mailcow-dockerized/data/web/js/site/edit.js
index 1626d4b..786a599 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/edit.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/edit.js
@@ -28,34 +28,37 @@
     $('#mailbox-passwd-hidden-info').addClass('hidden');
     $('#mailbox-passwd-form-groups').removeClass('hidden');
   });
-});
-if ($("#editSelectMultipleBookings").val() == "custom") {
-  $("#multiple_bookings_custom_div").show();
-  $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
-}
-$("#editSelectMultipleBookings").change(function() {
-  $('input[name=multiple_bookings]').val($("#editSelectMultipleBookings").val());
-  if ($('input[name=multiple_bookings]').val() == "custom") {
-    $("#multiple_bookings_custom_div").show();
-  }
-  else {
-    $("#multiple_bookings_custom_div").hide();
-  }
-});
-if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
-  $("#sender_acl_disabled").show();
-}
-$('#editSelectSenderACL').change(function() {
+  // Sender ACL
   if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
     $("#sender_acl_disabled").show();
   }
-  else {
-    $("#sender_acl_disabled").hide();
+  $('#editSelectSenderACL').change(function() {
+    if ($("#editSelectSenderACL option[value='\*']:selected").length > 0){
+      $("#sender_acl_disabled").show();
+    }
+    else {
+      $("#sender_acl_disabled").hide();
+    }
+  });
+  // Resources
+  if ($("#editSelectMultipleBookings").val() == "custom") {
+    $("#multiple_bookings_custom_div").show();
+    $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
   }
+  $("#editSelectMultipleBookings").change(function() {
+    $('input[name=multiple_bookings]').val($("#editSelectMultipleBookings").val());
+    if ($('input[name=multiple_bookings]').val() == "custom") {
+      $("#multiple_bookings_custom_div").show();
+    }
+    else {
+      $("#multiple_bookings_custom_div").hide();
+    }
+  });
+  $("#multiple_bookings_custom").bind("change keypress keyup blur", function() {
+    $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
+  });
 });
-$("#multiple_bookings_custom").bind("change keypress keyup blur", function() {
-  $('input[name=multiple_bookings]').val($("#multiple_bookings_custom").val());
-});
+
 jQuery(function($){
   // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
   function validateEmail(email) {
@@ -138,4 +141,4 @@
   }
   draw_wl_policy_domain_table();
   draw_bl_policy_domain_table();
-});
\ No newline at end of file
+});
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/mailbox.js b/mailcow/src/mailcow-dockerized/data/web/js/site/mailbox.js
index cbf0193..5cac48d 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/mailbox.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/mailbox.js
@@ -3,7 +3,7 @@
   FooTable.domainFilter = FooTable.Filtering.extend({
     construct: function(instance){
       this._super(instance);
-      this.def = 'All Domains';
+      this.def = lang.all_domains;
       this.$domain = null;
     },
     $create: function(){
@@ -24,7 +24,12 @@
         .appendTo($form_grp);
 
       $.each(domains, function(i, domain){
-        self.$domain.append($('<option/>').text(domain));
+        domainname = $($.parseHTML(domain)).data('domainname')
+        if (domainname !== undefined) {
+          self.$domain.append($('<option/>').text(domainname));
+        } else {
+          self.$domain.append($('<option/>').text(domain));
+        }
       });
     },
     _onDomainDropdownChanged: function(e){
@@ -89,9 +94,9 @@
       }
     });
   }
-	$('#addSelectDomain').on('change', function() {
+  $('#addSelectDomain').on('change', function() {
     auto_fill_quota($('#addSelectDomain').val());
-	});
+  });
   auto_fill_quota($('#addSelectDomain').val());
   $(".goto_checkbox").click(function( event ) {
    $("form[data-id='add_alias'] .goto_checkbox").not(this).prop('checked', false);
@@ -125,22 +130,10 @@
       }
     });
   });
-  // Add Mailbox Modal
-  var addMailboxModalShown = false;
-  $('#addMailboxModal').on('show.bs.modal', function(e) {
-    if (addMailboxModalShown) {
-      return;
-    }
-    addMailboxModalShown = true;
-    var $domainSelect = $("#mailbox_table select");
-    if ($domainSelect[0].selectedIndex > 0) { // not "All Domains"
-      $("#addSelectDomain").val($domainSelect.val()).change().selectpicker("render");
-    }
-  });
   // Log modal
   $('#dnsInfoModal').on('show.bs.modal', function(e) {
     var domain = $(e.relatedTarget).data('domain');
-    $('.dns-modal-body').html('<center><span style="font-size:18pt;margin:50px" class="glyphicon glyphicon-refresh glyphicon-spin"></span></center>');
+    $('.dns-modal-body').html('<center><i class="bi bi-arrow-repeat icon-spin"></i></center>');
     $.ajax({
       url: '/inc/ajax/dns_diagnostics.php',
       data: { domain: domain },
@@ -159,10 +152,10 @@
     $(e.currentTarget).find('#sieveDataText').html('<pre style="font-size:14px;line-height:1.1">' + sieveScript + '</pre>');
   });
   // Disable submit button on script change
-	$('.textarea-code').on('keyup', function() {
+  $('.textarea-code').on('keyup', function() {
     // Disable all "save" buttons, could be a "related button only" function, todo
     $('.add_sieve_script').attr({"disabled": true});
-	});
+  });
   // Validate script data
   $(".validate_sieve").click(function( event ) {
     event.preventDefault();
@@ -216,7 +209,7 @@
   function escapeHtml(n){return String(n).replace(/[&<>"'`=\/]/g,function(n){return entityMap[n]})}
   // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
   function humanFileSize(i){if(Math.abs(i)<1024)return i+" B";var B=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],e=-1;do{i/=1024,++e}while(Math.abs(i)>=1024&&e<B.length-1);return i.toFixed(1)+" "+B[e]}
-  function unix_time_format(i){return""==i?'&#10005;':new Date(i?1e3*i:0).toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}
+  function unix_time_format(i){return""==i?'<i class="bi bi-x-lg"></i>':new Date(i?1e3*i:0).toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}
   $(".refresh_table").on('click', function(e) {
     e.preventDefault();
     var table_name = $(this).data('table');
@@ -247,7 +240,7 @@
   function draw_domain_table() {
     ft_domain_table = FooTable.init('#domain_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"domain_name","title":lang.domain,"style":{"width":"250px"}},
         {"name":"aliases","title":lang.aliases,"breakpoints":"xs sm"},
         {"name":"mailboxes","title":lang.mailboxes},
@@ -261,15 +254,15 @@
         }},
         {"name":"stats","sortable": false,"style":{"whiteSpace":"nowrap"},"title":lang.stats,"formatter": function(value){
           res = value.split("/");
-          return '<span class="glyphicon glyphicon-file" aria-hidden="true"></span> ' + res[0] + ' / ' + humanFileSize(res[1]);
+          return '<i class="bi bi-files"></i> ' + res[0] + ' / ' + humanFileSize(res[1]);
         }},
         {"name":"def_quota_for_mbox","title":lang.mailbox_defquota,"breakpoints":"xs sm md","style":{"width":"125px"}},
         {"name":"max_quota_for_mbox","title":lang.mailbox_quota,"breakpoints":"xs sm","style":{"width":"125px"}},
-        {"name":"rl","title":"RL","breakpoints":"xs sm md lg","style":{"maxWidth":"100px","width":"100px"}},
-        {"name":"backupmx","filterable": false,"style":{"maxWidth":"120px","width":"120px"},"title":lang.backup_mx,"breakpoints":"xs sm md lg","formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
+        {"name":"rl","title":"RL","breakpoints":"xs sm md lg","style":{"min-width":"100px","width":"100px"}},
+        {"name":"backupmx","filterable": false,"style":{"min-width":"120px","width":"120px"},"title":lang.backup_mx,"breakpoints":"xs sm md lg","formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
         {"name":"domain_admins","title":lang.domain_admins,"style":{"word-break":"break-all","min-width":"200px"},"breakpoints":"xs sm md lg","filterable":(role == "admin"),"visible":(role == "admin")},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"240px","width":"240px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"240px","width":"240px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
       ],
       "rows": $.ajax({
         dataType: 'json',
@@ -294,15 +287,17 @@
             item.def_quota_for_mbox = humanFileSize(item.def_quota_for_mbox);
             item.max_quota_for_mbox = humanFileSize(item.max_quota_for_mbox);
             item.chkbox = '<input type="checkbox" data-id="domain" name="multi_select" value="' + encodeURIComponent(item.domain_name) + '" />';
-            item.action = '<div class="btn-group">';
+            item.action = '<div class="btn-group footable-actions">';
             if (role == "admin") {
-              item.action += '<a href="/edit/domain/' + encodeURIComponent(item.domain_name) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-                '<a href="#" data-action="delete_selected" data-id="single-domain" data-api-url="delete/domain" data-item="' + encodeURIComponent(item.domain_name) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>';
+              item.action += '<a href="/edit/domain/' + encodeURIComponent(item.domain_name) + '" class="btn btn-xs btn-xs-third btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+                '<a href="#" data-action="delete_selected" data-id="single-domain" data-api-url="delete/domain" data-item="' + encodeURIComponent(item.domain_name) + '" class="btn btn-xs btn-xs-third btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
+                 '<a href="#dnsInfoModal" class="btn btn-xs btn-xs-third btn-info" data-toggle="modal" data-domain="' + encodeURIComponent(item.domain_name) + '"><i class="bi bi-globe2"></i> DNS</a></div>';
             }
             else {
-              item.action += '<a href="/edit/domain/' + encodeURIComponent(item.domain_name) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>';
+              item.action += '<a href="/edit/domain/' + encodeURIComponent(item.domain_name) + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#dnsInfoModal" class="btn btn-xs btn-xs-half btn-info" data-toggle="modal" data-domain="' + encodeURIComponent(item.domain_name) + '"><i class="bi bi-globe2"></i> DNS</a></div>';
             }
-            item.action += '<a href="#dnsInfoModal" class="btn btn-xs btn-info" data-toggle="modal" data-domain="' + encodeURIComponent(item.domain_name) + '"><span class="glyphicon glyphicon-question-sign"></span> DNS</a></div>';
+
             if (item.backupmx == 1) {
               if (item.relay_unknown_only == 1) {
                 item.domain_name = '<div class="label label-info">Relay Non-Local</div> ' + item.domain_name;
@@ -351,7 +346,7 @@
   function draw_mailbox_table() {
     ft_mailbox_table = FooTable.init('#mailbox_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"username","style":{"word-break":"break-all","min-width":"120px"},"title":lang.username},
         {"name":"name","title":lang.fname,"style":{"word-break":"break-all","min-width":"120px"},"breakpoints":"xs sm md lg"},
         {"name":"domain","title":lang.domain,"breakpoints":"xs sm md lg"},
@@ -365,7 +360,7 @@
           return Number(res[0]);
         },
         },
-        {"name":"spam_aliases","filterable": false,"title":lang.spam_aliases,"breakpoints":"all"},
+        /* {"name":"spam_aliases","filterable": false,"title":lang.spam_aliases,"breakpoints":"all"}, */
         {"name":"tls_enforce_in","filterable": false,"title":lang.tls_enforce_in,"breakpoints":"all"},
         {"name":"tls_enforce_out","filterable": false,"title":lang.tls_enforce_out,"breakpoints":"all"},
         {"name":"smtp_access","filterable": false,"title":"SMTP","breakpoints":"all"},
@@ -379,9 +374,10 @@
         "formatter": function(value){
           res = value.split("/");
           return '<div class="label label-last-login">IMAP @ ' + unix_time_format(Number(res[0])) + '</div><br>' +
-            '<div class="label label-last-login">POP3 @ ' + unix_time_format(Number(res[1])) + '</div><br>' + 
+            '<div class="label label-last-login">POP3 @ ' + unix_time_format(Number(res[1])) + '</div><br>' +
             '<div class="label label-last-login">SMTP @ ' + unix_time_format(Number(res[2])) + '</div>';
         }},
+        {"name":"last_pw_change","filterable": false,"title":lang.last_pw_change,"breakpoints":"all"},
         {"name":"quarantine_notification","filterable": false,"title":lang.quarantine_notification,"breakpoints":"all"},
         {"name":"quarantine_category","filterable": false,"title":lang.quarantine_category,"breakpoints":"all"},
         {"name":"in_use","filterable": false,"type":"html","title":lang.in_use,"sortValue": function(value){
@@ -389,14 +385,14 @@
         },
         },
         {"name":"messages","filterable": false,"title":lang.msg_num,"breakpoints":"xs sm md"},
-        {"name":"rl","title":"RL","breakpoints":"all","style":{"width":"125px"}},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':(0==value?'&#10005;':2==value&&'&#8212;');}},
+        /* {"name":"rl","title":"RL","breakpoints":"all","style":{"width":"125px"}}, */
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':(0==value?'<i class="bi bi-x-lg"></i>':2==value&&'&#8212;');}},
         {"name":"action","filterable": false,"sortable": false,"style":{"min-width":"290px","text-align":"right"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
         dataType: 'json',
-        url: '/api/v1/get/mailbox/all',
+        url: '/api/v1/get/mailbox/reduced',
         jsonp: false,
         error: function () {
           console.log('Cannot draw mailbox table');
@@ -406,6 +402,7 @@
             item.quota = item.quota_used + "/" + item.quota;
             item.max_quota_for_mbox = humanFileSize(item.max_quota_for_mbox);
             item.last_mail_login = item.last_imap_login + '/' + item.last_pop3_login + '/' + item.last_smtp_login;
+            /*
             if (!item.rl) {
               item.rl = '∞';
             } else {
@@ -413,15 +410,22 @@
                 return e;
               }).join('/1');
               if (item.rl_scope === 'domain') {
-                item.rl = '↪ ' + item.rl + ' (via ' + item.domain + ')';
+                item.rl = '<i class="bi bi-arrow-return-right"></i> ' + item.rl + ' (via ' + item.domain + ')';
               }
             }
+            */
             item.chkbox = '<input type="checkbox" data-id="mailbox" name="multi_select" value="' + encodeURIComponent(item.username) + '" />';
-            item.tls_enforce_in = '<span class="text-' + (item.attributes.tls_enforce_in == 1 ? 'success' : 'danger') + ' glyphicon glyphicon-lock"></span>';
-            item.tls_enforce_out = '<span class="text-' + (item.attributes.tls_enforce_out == 1 ? 'success' : 'danger') + ' glyphicon glyphicon-lock"></span>';
-            item.pop3_access = '<span class="text-' + (item.attributes.pop3_access == 1 ? 'success' : 'danger') + ' glyphicon glyphicon-' + (item.attributes.pop3_access == 1 ? 'ok' : 'remove') + '"></span>';
-            item.imap_access = '<span class="text-' + (item.attributes.imap_access == 1 ? 'success' : 'danger') + ' glyphicon glyphicon-' + (item.attributes.imap_access == 1 ? 'ok' : 'remove') + '"></span>';
-            item.smtp_access = '<span class="text-' + (item.attributes.smtp_access == 1 ? 'success' : 'danger') + ' glyphicon glyphicon-' + (item.attributes.smtp_access == 1 ? 'ok' : 'remove') + '"></span>';
+            if (item.attributes.passwd_update != '0') {
+              var last_pw_change = new Date(item.attributes.passwd_update.replace(/-/g, "/"));
+              item.last_pw_change = last_pw_change.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});
+            } else {
+              item.last_pw_change = '-';
+            }
+            item.tls_enforce_in = '<i class="text-' + (item.attributes.tls_enforce_in == 1 ? 'success bi bi-lock-fill' : 'danger bi bi-unlock-fill') + '"></i>';
+            item.tls_enforce_out = '<i class="text-' + (item.attributes.tls_enforce_out == 1 ? 'success bi bi-lock-fill' : 'danger bi bi-unlock-fill') + '"></i>';
+            item.pop3_access = '<i class="text-' + (item.attributes.pop3_access == 1 ? 'success' : 'danger') + ' bi bi-' + (item.attributes.pop3_access == 1 ? 'check-lg' : 'x-lg') + '"></i>';
+            item.imap_access = '<i class="text-' + (item.attributes.imap_access == 1 ? 'success' : 'danger') + ' bi bi-' + (item.attributes.imap_access == 1 ? 'check-lg' : 'x-lg') + '"></i>';
+            item.smtp_access = '<i class="text-' + (item.attributes.smtp_access == 1 ? 'success' : 'danger') + ' bi bi-' + (item.attributes.smtp_access == 1 ? 'check-lg' : 'x-lg') + '"></i>';
             if (item.attributes.quarantine_notification === 'never') {
               item.quarantine_notification = lang.never;
             } else if (item.attributes.quarantine_notification === 'hourly') {
@@ -439,19 +443,22 @@
               item.quarantine_category = lang.q_all;
             }
             if (acl_data.login_as === 1) {
-            item.action = '<div class="btn-group">' +
-              '<a href="/edit/mailbox/' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-mailbox" data-api-url="delete/mailbox" data-item="' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
-              '<a href="/index.php?duallogin=' + encodeURIComponent(item.username) + '" class="login_as btn btn-xs btn-success"><span class="glyphicon glyphicon-user"></span> Login</a>';
+              var btnSize = 'btn-xs-third';
+              if (ALLOW_ADMIN_EMAIL_LOGIN) btnSize = 'btn-xs-quart';
+
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="/edit/mailbox/' + encodeURIComponent(item.username) + '" class="btn btn-xs ' + btnSize + ' btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-mailbox" data-api-url="delete/mailbox" data-item="' + encodeURIComponent(item.username) + '" class="btn btn-xs ' + btnSize + ' btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
+              '<a href="/index.php?duallogin=' + encodeURIComponent(item.username) + '" class="login_as btn btn-xs ' + btnSize + ' btn-success"><i class="bi bi-person-fill"></i> Login</a>';
               if (ALLOW_ADMIN_EMAIL_LOGIN) {
-                item.action += '<a href="/sogo-auth.php?login=' + encodeURIComponent(item.username) + '" class="login_as btn btn-xs btn-primary" target="_blank"><span class="glyphicon glyphicon-envelope"></span> SOGo</a>';
+                item.action += '<a href="/sogo-auth.php?login=' + encodeURIComponent(item.username) + '" class="login_as btn btn-xs ' + btnSize + ' btn-primary" target="_blank"><i class="bi bi-envelope-fill"></i> SOGo</a>';
               }
               item.action += '</div>';
             }
             else {
             item.action = '<div class="btn-group">' +
-              '<a href="/edit/mailbox/' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-mailbox" data-api-url="delete/mailbox" data-item="' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+              '<a href="/edit/mailbox/' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-mailbox" data-api-url="delete/mailbox" data-item="' + encodeURIComponent(item.username) + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
               '</div>';
             }
             item.in_use = '<div class="progress">' +
@@ -500,14 +507,14 @@
   function draw_resource_table() {
     ft_resource_table = FooTable.init('#resource_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"description","title":lang.description,"style":{"width":"250px"}},
         {"name":"name","title":lang.alias},
         {"name":"kind","title":lang.kind},
         {"name":"domain","title":lang.domain,"breakpoints":"xs sm"},
-        {"name":"multiple_bookings","filterable": false,"style":{"maxWidth":"150px","width":"140px"},"title":lang.multiple_bookings,"breakpoints":"xs sm"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
+        {"name":"multiple_bookings","filterable": false,"style":{"min-width":"150px","width":"140px"},"title":lang.multiple_bookings,"breakpoints":"xs sm"},
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -526,9 +533,9 @@
             } else {
               item.multiple_bookings = '<span id="active-script" class="label label-danger">' + lang.booking_custom_short + ' (' + item.multiple_bookings + ')</span>';
             }
-            item.action = '<div class="btn-group">' +
-              '<a href="/edit/resource/' + encodeURIComponent(item.name) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-resource" data-api-url="delete/resource" data-item="' + item.name + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="/edit/resource/' + encodeURIComponent(item.name) + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-resource" data-api-url="delete/resource" data-item="' + item.name + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
               '</div>';
             item.chkbox = '<input type="checkbox" data-id="resource" name="multi_select" value="' + encodeURIComponent(item.name) + '" />';
             item.name = escapeHtml(item.name);
@@ -573,14 +580,14 @@
   function draw_bcc_table() {
     ft_bcc_table = FooTable.init('#bcc_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
-        {"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"sorted": true,"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
         {"name":"type","title":lang.bcc_type},
         {"name":"local_dest","title":lang.bcc_local_dest},
         {"name":"bcc_dest","title":lang.bcc_destinations},
         {"name":"domain","title":lang.domain,"breakpoints":"xs sm"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -592,17 +599,17 @@
         },
         success: function (data) {
           $.each(data, function (i, item) {
-            item.action = '<div class="btn-group">' +
-              '<a href="/edit/bcc/' + item.id + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-bcc" data-api-url="delete/bcc" data-item="' + item.id + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="/edit/bcc/' + item.id + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-bcc" data-api-url="delete/bcc" data-item="' + item.id + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
               '</div>';
             item.chkbox = '<input type="checkbox" data-id="bcc" name="multi_select" value="' + item.id + '" />';
             item.local_dest = escapeHtml(item.local_dest);
             item.bcc_dest = escapeHtml(item.bcc_dest);
             if (item.type == 'sender') {
-              item.type = '<span id="active-script" class="label label-success">Sender</span>';
+              item.type = '<span id="active-script" class="label label-success">' + lang.bcc_sender_map + '</span>';
             } else {
-              item.type = '<span id="inactive-script" class="label label-warning">Recipient</span>';
+              item.type = '<span id="inactive-script" class="label label-warning">' + lang.bcc_rcpt_map + '</span>';
             }
           });
         }
@@ -642,12 +649,12 @@
   function draw_recipient_map_table() {
     ft_recipient_map_table = FooTable.init('#recipient_map_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
-        {"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"sorted": true,"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
         {"name":"recipient_map_old","title":lang.recipient_map_old},
         {"name":"recipient_map_new","title":lang.recipient_map_new},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -662,9 +669,9 @@
             $.each(data, function (i, item) {
               item.recipient_map_old = escapeHtml(item.recipient_map_old);
               item.recipient_map_new = escapeHtml(item.recipient_map_new);
-              item.action = '<div class="btn-group">' +
-                '<a href="/edit/recipient_map/' + item.id + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-                '<a href="#" data-action="delete_selected" data-id="single-recipient_map" data-api-url="delete/recipient_map" data-item="' + item.id + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+              item.action = '<div class="btn-group footable-actions">' +
+                '<a href="/edit/recipient_map/' + item.id + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+                '<a href="#" data-action="delete_selected" data-id="single-recipient_map" data-api-url="delete/recipient_map" data-item="' + item.id + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
                 '</div>';
               item.chkbox = '<input type="checkbox" data-id="recipient_map" name="multi_select" value="' + item.id + '" />';
             });
@@ -706,13 +713,13 @@
   function draw_tls_policy_table() {
     ft_tls_policy_table = FooTable.init('#tls_policy_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
-        {"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"sorted": true,"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
         {"name":"dest","title":lang.tls_map_dest},
         {"name":"policy","title":lang.tls_map_policy},
         {"name":"parameters","title":lang.tls_map_parameters},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":(role == "admin" ? lang.action : ""),"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -732,9 +739,9 @@
               } else {
                 item.parameters = '<code>' + escapeHtml(item.parameters) + '</code>';
               }
-              item.action = '<div class="btn-group">' +
-                '<a href="/edit/tls_policy_map/' + item.id + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-                '<a href="#" data-action="delete_selected" data-id="single-tls-policy-map" data-api-url="delete/tls-policy-map" data-item="' + item.id + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+              item.action = '<div class="btn-group footable-actions">' +
+                '<a href="/edit/tls_policy_map/' + item.id + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+                '<a href="#" data-action="delete_selected" data-id="single-tls-policy-map" data-api-url="delete/tls-policy-map" data-item="' + item.id + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
                 '</div>';
               item.chkbox = '<input type="checkbox" data-id="tls-policy-map" name="multi_select" value="' + item.id + '" />';
             });
@@ -776,16 +783,16 @@
   function draw_alias_table() {
     ft_alias_table = FooTable.init('#alias_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
-        {"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
         {"sorted": true,"name":"address","title":lang.alias,"style":{"width":"250px"}},
         {"name":"goto","title":lang.target_address},
         {"name":"domain","title":lang.domain,"breakpoints":"xs sm"},
         {"name":"public_comment","title":lang.public_comment,"breakpoints":"all"},
         {"name":"private_comment","title":lang.private_comment,"breakpoints":"all"},
-        {"name":"sogo_visible","title":lang.sogo_visible,"breakpoints":"all"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
+        {"name":"sogo_visible","title":lang.sogo_visible,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';},"breakpoints":"all"},
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -797,9 +804,9 @@
         },
         success: function (data) {
           $.each(data, function (i, item) {
-            item.action = '<div class="btn-group">' +
-              '<a href="/edit/alias/' + encodeURIComponent(item.id) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-alias" data-api-url="delete/alias" data-item="' + encodeURIComponent(item.id) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="/edit/alias/' + encodeURIComponent(item.id) + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-alias" data-api-url="delete/alias" data-item="' + encodeURIComponent(item.id) + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
               '</div>';
             item.chkbox = '<input type="checkbox" data-id="alias" name="multi_select" value="' + encodeURIComponent(item.id) + '" />';
             item.goto = escapeHtml(item.goto.replace(/,/g, " "));
@@ -816,22 +823,22 @@
               item.private_comment = '-';
             }
             if (item.is_catch_all == 1) {
-              item.address = '<div class="label label-default">Catch-All</div> ' + escapeHtml(item.address);
+              item.address = '<div class="label label-default">' + lang.catch_all + '</div> ' + escapeHtml(item.address);
             }
             else {
               item.address = escapeHtml(item.address);
             }
             if (item.goto == "null@localhost") {
-              item.goto = '⤷ <span style="font-size:12px" class="glyphicon glyphicon-trash" aria-hidden="true"></span>';
+              item.goto = '⤷ <i class="bi bi-trash" style="font-size:12px"></i>';
             }
             else if (item.goto == "spam@localhost") {
-              item.goto = '<span class="label label-danger">Learn as spam</span>';
+              item.goto = '<span class="label label-danger">' + lang.goto_spam + '</span>';
             }
             else if (item.goto == "ham@localhost") {
-              item.goto = '<span class="label label-success">Learn as ham</span>';
+              item.goto = '<span class="label label-success">' + lang.goto_ham + '</span>';
             }
             if (item.in_primary_domain !== "") {
-              item.domain = "↳ " + item.domain + " (" + item.in_primary_domain + ")";
+              item.domain = '<i data-domainname="' + item.domain + '" class="bi bi-info-circle-fill alias-domain-info text-info" data-toggle="tooltip" title="' + lang.target_domain + ': ' + item.in_primary_domain + '"></i> ' + item.domain;
             }
           });
         }
@@ -863,6 +870,7 @@
         },
         "ready.ft.table": function(e, ft){
           table_mailbox_ready(ft, 'alias_table');
+          $('.alias-domain-info').tooltip();
         },
         "after.ft.filtering": function(e, ft){
           table_mailbox_ready(ft, 'alias_table');
@@ -875,11 +883,11 @@
   function draw_aliasdomain_table() {
     ft_aliasdomain_table = FooTable.init('#aliasdomain_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"alias_domain","title":lang.alias,"style":{"width":"250px"}},
         {"name":"target_domain","title":lang.target_domain,"type":"html"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
+        {"name":"active","filterable": false,"style":{"min-width":"80px","width":"80px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"250px","width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -891,10 +899,10 @@
         },
         success: function (data) {
           $.each(data, function (i, item) {
-            item.action = '<div class="btn-group">' +
-              '<a href="/edit/aliasdomain/' + encodeURIComponent(item.alias_domain) + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-alias-domain" data-api-url="delete/alias-domain" data-item="' + encodeURIComponent(item.alias_domain) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
-              '<a href="#dnsInfoModal" class="btn btn-xs btn-info" data-toggle="modal" data-domain="' + encodeURIComponent(item.alias_domain) + '"><span class="glyphicon glyphicon-question-sign"></span> DNS</a></div>' +
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="/edit/aliasdomain/' + encodeURIComponent(item.alias_domain) + '" class="btn btn-xs btn-xs-third btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-alias-domain" data-api-url="delete/alias-domain" data-item="' + encodeURIComponent(item.alias_domain) + '" class="btn btn-xs btn-xs-third btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
+              '<a href="#dnsInfoModal" class="btn btn-xs btn-xs-third btn-info" data-toggle="modal" data-domain="' + encodeURIComponent(item.alias_domain) + '"><i class="bi bi-globe2"></i> DNS</a></div>' +
               '</div>';
             item.chkbox = '<input type="checkbox" data-id="alias-domain" name="multi_select" value="' + encodeURIComponent(item.alias_domain) + '" />';
             if(item.parent_is_backupmx == '1') {
@@ -941,17 +949,17 @@
   function draw_sync_job_table() {
     ft_syncjob_table = FooTable.init('#sync_job_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
-        {"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
+        {"sorted": true,"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
         {"name":"user2","title":lang.owner},
         {"name":"server_w_port","title":"Server","breakpoints":"xs sm md","style":{"word-break":"break-all"}},
         {"name":"exclude","title":lang.excludes,"breakpoints":"all"},
         {"name":"mins_interval","title":lang.mins_interval,"breakpoints":"all"},
         {"name":"last_run","title":lang.last_run,"breakpoints":"xs sm md"},
         {"name":"log","title":"Log"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
-        {"name":"is_running","filterable": false,"style":{"maxWidth":"120px","width":"100px"},"title":lang.status},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
+        {"name":"active","filterable": false,"style":{"min-width":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
+        {"name":"is_running","filterable": false,"style":{"min-width":"120px","width":"100px"},"title":lang.status},
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -963,7 +971,7 @@
         },
         success: function (data) {
           $.each(data, function (i, item) {
-            item.log = '<a href="#syncjobLogModal" data-toggle="modal" data-syncjob-id="' + encodeURIComponent(item.id) + '">Open logs</a>'
+            item.log = '<a href="#syncjobLogModal" data-toggle="modal" data-syncjob-id="' + encodeURIComponent(item.id) + '">' + lang.open_logs + '</a>'
             item.user2 = escapeHtml(item.user2);
             if (!item.exclude > 0) {
               item.exclude = '-';
@@ -971,9 +979,9 @@
               item.exclude  = '<code>' + item.exclude + '</code>';
             }
             item.server_w_port = escapeHtml(item.user1) + '@' + item.host1 + ':' + item.port1;
-            item.action = '<div class="btn-group">' +
-              '<a href="/edit/syncjob/' + item.id + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-syncjob" data-api-url="delete/syncjob" data-item="' + item.id + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="/edit/syncjob/' + item.id + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-syncjob" data-api-url="delete/syncjob" data-item="' + item.id + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
               '</div>';
             item.chkbox = '<input type="checkbox" data-id="syncjob" name="multi_select" value="' + item.id + '" />';
             if (item.is_running == 1) {
@@ -1023,14 +1031,14 @@
   function draw_filter_table() {
     ft_filter_table = FooTable.init('#filter_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
-        {"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
-        {"name":"active","style":{"maxWidth":"80px","width":"80px"},"title":lang.active},
-        {"name":"filter_type","style":{"maxWidth":"80px","width":"80px"},"title":"Type"},
-        {"sorted": true,"name":"username","title":lang.owner,"style":{"maxWidth":"550px","width":"350px"}},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"id","title":"ID","style":{"min-width":"60px","width":"60px","text-align":"center"}},
+        {"name":"active","style":{"min-width":"80px","width":"80px"},"title":lang.active},
+        {"name":"filter_type","style":{"min-width":"80px","width":"80px"},"title":"Type"},
+        {"sorted": true,"name":"username","title":lang.owner,"style":{"min-width":"550px","width":"350px"}},
         {"name":"script_desc","title":lang.description,"breakpoints":"xs"},
         {"name":"script_data","title":"Script","breakpoints":"all"},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -1049,9 +1057,9 @@
             }
             item.script_data = '<pre style="margin:0px">' + escapeHtml(item.script_data) + '</pre>'
             item.filter_type = '<div class="label label-default">' + item.filter_type.charAt(0).toUpperCase() + item.filter_type.slice(1).toLowerCase() + '</div>'
-            item.action = '<div class="btn-group">' +
-              '<a href="/edit/filter/' + item.id + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="single-filter" data-api-url="delete/filter" data-item="' + encodeURIComponent(item.id) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="/edit/filter/' + item.id + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="single-filter" data-api-url="delete/filter" data-item="' + encodeURIComponent(item.id) + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
               '</div>';
             item.chkbox = '<input type="checkbox" data-id="filter_item" name="multi_select" value="' + item.id + '" />'
           });
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/pwgen.js b/mailcow/src/mailcow-dockerized/data/web/js/site/pwgen.js
index 00afb47..9b204e2 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/pwgen.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/pwgen.js
@@ -12,748 +12,819 @@
    THVV 11/27/09 ported to Javascript
    */
 
+
+function shuffle(a) {
+  var j, x, i;
+  for (i = a.length - 1; i > 0; i--) {
+    j = Math.floor(Math.random() * (i + 1));
+    x = a[i];
+    a[i] = a[j];
+    a[j] = x;
+  }
+  return a;
+}
+
 var GPW = {
+  pronounceable: function(pwl) {
+    var output = "";
+    var c1, c2, c3;
+    var sum = 0;
+    var nchar;
+    var ranno;
+    var pwnum;
+    var pik;
 
-/**
- * var pw = GPW.pronounceable(10);
- */
+    var _alphabet = 'abcdefghijklmnopqrstuvwxyz';
+    var _specialchars = '%&;:=_-}{?#';
+    var _trigram = [
+      [
+        [2, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0],
+        [37, 25, 2, 5, 38, 0, 0, 2, 46, 1, 0, 304, 0, 2, 49, 0, 0, 24, 24, 0, 19, 0, 0, 0, 14, 0],
+        [26, 1, 64, 2, 107, 0, 1, 94, 67, 0, 173, 13, 5, 1, 35, 1, 13, 32, 3, 114, 23, 0, 0, 0, 45, 0],
+        [35, 7, 3, 43, 116, 6, 3, 8, 75, 14, 1, 16, 25, 3, 44, 3, 1, 35, 20, 1, 10, 25, 9, 0, 18, 0],
+        [2, 0, 2, 1, 0, 1, 3, 0, 0, 0, 0, 10, 0, 2, 3, 0, 0, 12, 6, 0, 2, 0, 0, 0, 0, 0],
+        [5, 0, 0, 0, 14, 50, 2, 0, 3, 0, 2, 5, 0, 2, 7, 0, 0, 5, 1, 39, 1, 0, 0, 0, 1, 0],
+        [30, 1, 0, 1, 182, 0, 42, 5, 30, 0, 0, 7, 9, 42, 51, 3, 0, 24, 3, 0, 21, 0, 3, 0, 3, 0],
+        [12, 0, 0, 0, 20, 0, 0, 0, 3, 0, 0, 5, 4, 2, 13, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0],
+        [2, 0, 10, 26, 2, 1, 10, 0, 2, 1, 2, 87, 13, 144, 0, 2, 0, 93, 30, 23, 0, 3, 1, 0, 0, 0],
+        [4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [11, 0, 1, 1, 98, 1, 0, 1, 15, 0, 0, 3, 0, 0, 5, 1, 0, 3, 0, 1, 2, 0, 3, 0, 8, 0],
+        [78, 20, 34, 45, 124, 21, 24, 5, 109, 0, 28, 237, 31, 3, 53, 23, 0, 7, 16, 69, 29, 26, 5, 0, 26, 2],
+        [70, 57, 1, 1, 98, 3, 0, 1, 68, 0, 0, 3, 38, 2, 43, 69, 0, 3, 14, 3, 12, 0, 2, 0, 14, 0],
+        [114, 6, 156, 359, 103, 8, 146, 12, 141, 2, 57, 4, 0, 89, 61, 1, 4, 1, 124, 443, 29, 6, 1, 3, 28, 9],
+        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 3, 2, 2, 2, 0, 0, 0, 0, 0],
+        [29, 3, 0, 1, 59, 1, 0, 86, 25, 0, 1, 14, 1, 1, 37, 94, 0, 9, 22, 30, 8, 0, 0, 0, 9, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0],
+        [124, 64, 101, 233, 115, 12, 47, 5, 188, 3, 61, 55, 68, 34, 46, 25, 6, 94, 48, 189, 5, 22, 5, 1, 172, 2],
+        [19, 3, 32, 0, 71, 0, 1, 81, 49, 0, 22, 3, 19, 2, 19, 34, 4, 0, 152, 211, 12, 0, 1, 0, 17, 1],
+        [50, 3, 41, 2, 863, 4, 0, 144, 352, 0, 5, 14, 6, 3, 144, 0, 0, 60, 13, 106, 57, 1, 5, 0, 8, 5],
+        [0, 5, 23, 35, 5, 5, 38, 1, 0, 1, 3, 33, 4, 23, 0, 4, 1, 35, 52, 56, 0, 1, 0, 7, 0, 1],
+        [35, 0, 0, 1, 108, 0, 0, 0, 49, 0, 0, 1, 0, 0, 19, 0, 0, 0, 0, 0, 3, 1, 0, 0, 6, 0],
+        [30, 10, 0, 4, 3, 6, 2, 2, 2, 0, 10, 13, 4, 15, 3, 0, 0, 6, 3, 5, 0, 0, 0, 0, 2, 0],
+        [3, 0, 0, 0, 4, 0, 0, 0, 22, 0, 0, 1, 0, 0, 7, 2, 0, 0, 1, 1, 0, 0, 3, 0, 3, 0],
+        [11, 8, 1, 5, 16, 5, 1, 2, 2, 0, 0, 10, 7, 4, 13, 1, 0, 3, 5, 7, 3, 0, 5, 0, 0, 0],
+        [10, 0, 0, 1, 22, 0, 0, 0, 10, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 2, 2, 0, 0, 0, 4, 11]
+      ],
+      [
+        [0, 17, 74, 11, 1, 2, 19, 4, 8, 0, 10, 68, 7, 73, 1, 7, 0, 110, 54, 55, 9, 1, 3, 1, 12, 1],
+        [7, 0, 0, 0, 16, 0, 0, 0, 10, 0, 0, 24, 0, 0, 9, 0, 0, 2, 3, 0, 2, 0, 0, 0, 14, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0],
+        [51, 1, 14, 34, 18, 11, 16, 7, 9, 0, 1, 85, 5, 48, 2, 2, 2, 199, 36, 41, 0, 4, 5, 1, 6, 2],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [34, 8, 22, 21, 8, 3, 9, 1, 0, 3, 1, 50, 7, 45, 16, 4, 2, 29, 22, 59, 4, 4, 0, 0, 0, 3],
+        [0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [57, 0, 0, 0, 519, 0, 0, 0, 35, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 32, 1, 0, 0, 3, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
+        [1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [62, 7, 4, 21, 3, 2, 9, 3, 8, 1, 1, 46, 8, 63, 58, 2, 0, 55, 15, 20, 46, 6, 17, 10, 19, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [110, 0, 0, 0, 77, 0, 0, 0, 100, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 28, 0, 0, 0, 10, 0],
+        [0, 0, 6, 0, 16, 0, 0, 0, 7, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 27, 2, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 3, 21, 16, 3, 5, 14, 0, 12, 1, 2, 52, 7, 20, 2, 0, 1, 104, 44, 54, 0, 0, 0, 3, 1, 5],
+        [0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 3, 0, 1, 2, 0, 0, 0, 4, 0, 0, 0, 3, 0, 6, 8, 3, 0, 0, 2, 0, 0, 2],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [1, 47, 17, 33, 1, 3, 4, 5, 7, 1, 3, 120, 40, 120, 1, 59, 1, 171, 60, 150, 19, 20, 1, 0, 5, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0],
+        [23, 0, 0, 0, 22, 0, 0, 5, 13, 0, 0, 13, 0, 0, 26, 0, 0, 7, 0, 0, 27, 0, 0, 0, 0, 0],
+        [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [23, 6, 4, 17, 6, 6, 1, 2, 13, 0, 0, 50, 12, 109, 7, 43, 0, 76, 63, 22, 1, 0, 4, 0, 2, 1],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 4, 1, 0, 1, 0, 0, 0, 0, 0],
+        [165, 10, 2, 3, 176, 4, 3, 1, 141, 0, 0, 26, 20, 16, 102, 1, 0, 63, 8, 10, 44, 0, 13, 0, 20, 0],
+        [76, 15, 8, 33, 24, 16, 3, 0, 0, 0, 0, 38, 5, 45, 50, 28, 0, 29, 38, 71, 6, 8, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [17, 16, 2, 3, 90, 4, 1, 7, 20, 1, 1, 45, 8, 8, 12, 9, 0, 3, 32, 6, 6, 0, 13, 0, 22, 0],
+        [95, 0, 0, 0, 84, 0, 0, 0, 50, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 0, 0, 3, 0],
+        [1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [33, 16, 40, 22, 14, 10, 11, 12, 9, 1, 1, 101, 218, 421, 24, 56, 2, 129, 37, 40, 86, 22, 25, 4, 4, 2],
+        [1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0],
+        [101, 0, 0, 0, 112, 0, 0, 0, 75, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 1, 41, 0, 0, 0, 25, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0],
+        [44, 0, 0, 0, 12, 2, 0, 0, 113, 0, 0, 0, 2, 0, 94, 0, 0, 46, 0, 0, 42, 0, 1, 0, 3, 0],
+        [3, 12, 2, 6, 6, 6, 0, 0, 8, 0, 0, 102, 42, 10, 9, 15, 0, 72, 51, 41, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 1, 20, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 2, 2, 4, 0, 3, 2, 9, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 7, 16, 7, 1, 2, 13, 6, 18, 0, 3, 54, 23, 59, 0, 10, 0, 31, 6, 40, 8, 13, 3, 0, 32, 3],
+        [9, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 2, 0, 0, 8, 0, 0, 1, 0, 0, 8, 0, 0, 0, 2, 0],
+        [5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0],
+        [8, 0, 0, 0, 30, 0, 0, 3, 19, 0, 0, 38, 0, 0, 4, 0, 0, 4, 0, 0, 1, 0, 0, 0, 16, 0],
+        [34, 37, 82, 14, 17, 41, 11, 4, 5, 2, 0, 88, 62, 170, 14, 40, 4, 183, 99, 39, 6, 20, 16, 6, 1, 2],
+        [6, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 2, 0, 0, 5, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0],
+        [4, 0, 0, 0, 73, 0, 0, 0, 2, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0, 3, 0],
+        [8, 0, 0, 0, 9, 0, 0, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [100, 10, 104, 12, 33, 26, 31, 1, 1, 0, 1, 22, 22, 65, 57, 15, 0, 20, 138, 53, 20, 31, 1, 6, 0, 1],
+        [4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [9, 0, 0, 0, 79, 0, 0, 0, 12, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0],
+        [13, 0, 0, 0, 3, 0, 0, 0, 21, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [7, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0],
+        [1, 5, 21, 10, 6, 3, 20, 1, 3, 0, 0, 30, 38, 54, 17, 7, 0, 39, 11, 10, 30, 5, 54, 5, 1, 3],
+        [6, 0, 0, 0, 1, 0, 0, 1, 3, 0, 0, 1, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
+        [74, 0, 0, 0, 47, 0, 0, 0, 53, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 22, 0, 0, 0, 8, 0],
+        [1, 0, 3, 0, 10, 0, 0, 9, 5, 0, 1, 3, 10, 0, 16, 8, 0, 0, 0, 31, 1, 0, 2, 0, 0, 0],
+        [3, 0, 0, 0, 1, 0, 0, 6, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [10, 7, 52, 2, 5, 3, 4, 0, 2, 0, 1, 33, 14, 15, 5, 11, 1, 19, 15, 8, 1, 0, 0, 0, 0, 1],
+        [3, 0, 0, 0, 13, 0, 0, 0, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [19, 0, 0, 0, 10, 0, 0, 0, 19, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [4, 2, 1, 2, 3, 1, 2, 0, 1, 0, 1, 4, 4, 12, 0, 0, 0, 0, 8, 1, 0, 0, 1, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 39, 34, 110, 0, 12, 13, 3, 0, 0, 50, 68, 38, 71, 0, 13, 1, 117, 80, 112, 28, 19, 7, 0, 0, 1],
+        [32, 5, 0, 0, 31, 0, 0, 0, 8, 0, 0, 6, 0, 0, 28, 0, 0, 32, 2, 3, 29, 0, 0, 0, 4, 0],
+        [33, 0, 9, 2, 51, 0, 0, 39, 49, 0, 47, 26, 0, 0, 59, 0, 0, 35, 2, 206, 42, 0, 0, 0, 2, 0],
+        [29, 7, 1, 16, 45, 5, 22, 3, 88, 0, 0, 8, 9, 4, 24, 2, 0, 27, 8, 4, 27, 0, 7, 0, 13, 0],
+        [2, 4, 13, 63, 1, 6, 1, 4, 10, 0, 19, 23, 13, 66, 1, 42, 0, 43, 9, 34, 1, 4, 6, 0, 0, 8],
+        [14, 0, 1, 2, 36, 33, 0, 0, 22, 0, 0, 15, 0, 0, 24, 0, 0, 14, 1, 13, 35, 0, 0, 0, 5, 0],
+        [48, 1, 0, 0, 36, 1, 15, 2, 38, 0, 0, 7, 4, 4, 26, 0, 0, 38, 0, 0, 19, 0, 0, 0, 4, 0],
+        [14, 0, 0, 0, 24, 0, 0, 0, 6, 0, 0, 0, 1, 0, 18, 0, 0, 4, 0, 0, 4, 0, 0, 0, 3, 0],
+        [8, 0, 5, 13, 2, 1, 42, 0, 1, 1, 2, 13, 7, 59, 1, 1, 0, 10, 25, 22, 0, 7, 0, 0, 0, 2],
+        [4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
+        [2, 1, 0, 1, 6, 0, 0, 0, 4, 0, 0, 0, 0, 1, 1, 0, 0, 0, 2, 3, 0, 0, 0, 0, 1, 0],
+        [76, 7, 6, 57, 131, 19, 7, 3, 125, 0, 4, 238, 22, 1, 48, 15, 0, 4, 27, 26, 17, 19, 2, 0, 7, 0],
+        [87, 53, 1, 0, 84, 0, 0, 0, 102, 0, 0, 3, 8, 8, 56, 64, 0, 0, 4, 0, 19, 0, 1, 0, 8, 0],
+        [78, 17, 68, 159, 128, 8, 35, 14, 96, 2, 2, 4, 5, 54, 57, 3, 2, 9, 127, 624, 33, 10, 8, 0, 11, 16],
+        [0, 0, 8, 10, 0, 6, 7, 1, 2, 0, 0, 23, 10, 38, 0, 16, 0, 14, 6, 4, 41, 3, 2, 2, 0, 1],
+        [26, 1, 1, 0, 27, 0, 0, 32, 45, 0, 0, 21, 1, 0, 35, 9, 0, 35, 10, 65, 13, 0, 2, 0, 3, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0],
+        [217, 57, 66, 22, 190, 41, 70, 13, 200, 3, 14, 40, 134, 117, 113, 42, 2, 123, 167, 135, 23, 58, 22, 1, 123, 1],
+        [17, 7, 74, 6, 58, 1, 3, 25, 82, 0, 3, 6, 17, 5, 34, 52, 7, 0, 222, 278, 18, 2, 1, 0, 6, 0],
+        [78, 3, 19, 0, 129, 4, 0, 93, 105, 0, 1, 3, 2, 2, 50, 1, 0, 73, 5, 113, 17, 0, 4, 0, 32, 4],
+        [0, 4, 7, 6, 1, 0, 4, 0, 0, 0, 2, 3, 17, 4, 0, 15, 0, 46, 20, 18, 0, 2, 1, 0, 0, 0],
+        [29, 0, 0, 0, 121, 0, 0, 0, 56, 0, 0, 0, 0, 0, 26, 0, 0, 2, 1, 0, 2, 2, 0, 0, 3, 1],
+        [33, 4, 3, 4, 16, 2, 0, 5, 24, 0, 0, 3, 3, 3, 23, 2, 0, 3, 15, 4, 0, 0, 1, 0, 2, 0],
+        [29, 0, 43, 0, 20, 0, 0, 14, 21, 0, 0, 0, 0, 0, 15, 78, 1, 0, 0, 72, 12, 0, 0, 1, 2, 0],
+        [7, 3, 1, 4, 25, 2, 0, 2, 0, 0, 1, 4, 6, 4, 4, 1, 0, 2, 3, 0, 0, 1, 4, 0, 0, 0],
+        [1, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 0, 1, 1, 0, 0, 2, 3]
+      ],
+      [
+        [1, 10, 39, 5, 2, 1, 1, 3, 18, 0, 2, 35, 10, 27, 0, 0, 0, 36, 13, 18, 10, 0, 2, 3, 4, 1],
+        [2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [18, 5, 24, 6, 12, 0, 2, 0, 6, 0, 1, 25, 6, 18, 2, 0, 0, 114, 17, 15, 4, 2, 2, 0, 1, 0],
+        [10, 2, 0, 0, 51, 0, 0, 2, 45, 0, 0, 21, 4, 0, 13, 0, 0, 9, 7, 0, 7, 0, 0, 0, 8, 0],
+        [1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [9, 9, 58, 18, 42, 7, 11, 0, 0, 0, 0, 29, 2, 53, 0, 0, 0, 40, 41, 18, 0, 2, 0, 10, 0, 3],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [64, 0, 0, 0, 50, 0, 0, 0, 21, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 42, 0, 0, 0, 15, 0],
+        [6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 1, 8, 2, 1, 0, 7, 0, 6, 0, 0, 34, 1, 8, 32, 2, 0, 165, 5, 0, 25, 1, 2, 7, 1, 0],
+        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [64, 0, 0, 0, 66, 0, 0, 0, 35, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 3, 0],
+        [1, 0, 0, 0, 2, 0, 0, 2, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0],
+        [1, 1, 1, 0, 19, 0, 0, 3, 1, 0, 0, 0, 1, 0, 3, 0, 0, 1, 9, 0, 0, 0, 4, 0, 8, 0],
+        [0, 0, 4, 2, 1, 0, 9, 0, 0, 2, 0, 119, 7, 24, 0, 0, 0, 28, 31, 6, 0, 0, 0, 0, 0, 2],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 20, 5, 11, 3, 2, 11, 3, 13, 0, 0, 68, 24, 60, 1, 5, 0, 63, 23, 68, 15, 8, 5, 0, 2, 5],
+        [4, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [23, 3, 2, 4, 12, 1, 1, 3, 4, 0, 0, 32, 8, 141, 39, 4, 0, 96, 29, 33, 1, 1, 4, 0, 5, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0],
+        [8, 0, 0, 0, 20, 0, 0, 1, 60, 0, 0, 24, 0, 0, 3, 1, 0, 6, 4, 0, 0, 0, 0, 0, 12, 0],
+        [18, 4, 1, 1, 12, 2, 1, 1, 2, 0, 1, 4, 0, 3, 12, 1, 0, 1, 3, 153, 2, 0, 3, 0, 1, 0],
+        [23, 21, 16, 6, 7, 2, 9, 0, 0, 0, 0, 24, 7, 103, 17, 1, 0, 10, 26, 19, 3, 10, 0, 0, 0, 1],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [49, 0, 0, 0, 73, 0, 0, 0, 25, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 13, 0, 0, 0, 17, 0],
+        [23, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0],
+        [26, 1, 0, 0, 28, 0, 0, 0, 20, 0, 0, 0, 0, 0, 26, 2, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0],
+        [6, 4, 3, 16, 6, 1, 10, 1, 5, 0, 0, 22, 1, 49, 20, 3, 0, 34, 12, 23, 16, 7, 5, 0, 1, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [216, 0, 0, 0, 97, 0, 0, 0, 43, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 14, 0, 0, 0, 3, 0],
+        [2, 2, 0, 0, 0, 0, 0, 2, 2, 0, 1, 1, 0, 0, 2, 1, 0, 0, 0, 18, 0, 0, 1, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 8, 3, 0, 0, 0, 0, 0, 17, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [28, 1, 1, 0, 49, 1, 1, 0, 41, 0, 0, 26, 15, 24, 2, 0, 0, 14, 22, 6, 0, 0, 0, 0, 3, 1],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, 0, 6, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [2, 26, 15, 20, 6, 8, 22, 3, 31, 0, 11, 90, 66, 171, 3, 25, 0, 142, 30, 49, 20, 11, 20, 0, 13, 8],
+        [4, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 2, 0, 0, 12, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 0],
+        [1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0],
+        [123, 5, 22, 33, 37, 5, 3, 0, 27, 0, 0, 87, 65, 86, 17, 7, 1, 311, 57, 42, 11, 11, 14, 8, 11, 2],
+        [2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [22, 22, 56, 15, 23, 6, 19, 0, 0, 1, 1, 73, 20, 79, 17, 41, 0, 36, 53, 39, 3, 11, 0, 0, 0, 6],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 0, 0, 0, 11, 0, 0, 0, 8, 0, 0, 0, 0, 0, 22, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0],
+        [21, 0, 0, 0, 15, 0, 0, 0, 6, 0, 0, 0, 1, 0, 7, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 1, 3, 0, 0, 0, 4, 0, 2, 0, 0, 0, 0, 0],
+        [13, 18, 13, 25, 17, 5, 13, 0, 7, 1, 4, 101, 62, 62, 44, 29, 0, 130, 45, 33, 81, 8, 28, 0, 6, 2],
+        [3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [20, 0, 0, 0, 23, 0, 0, 0, 40, 0, 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 13, 0, 0, 0, 3, 0],
+        [3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0],
+        [3, 0, 2, 1, 21, 9, 1, 7, 5, 0, 0, 1, 4, 3, 4, 1, 0, 2, 7, 1, 1, 0, 3, 0, 6, 0],
+        [3, 13, 7, 6, 3, 5, 12, 1, 0, 0, 0, 7, 37, 26, 0, 3, 0, 37, 24, 15, 0, 0, 0, 2, 2, 1],
+        [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [17, 0, 0, 0, 5, 0, 0, 2, 5, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 1, 1, 39, 1, 0, 3, 0, 1, 0, 0, 13, 9, 0, 0, 25, 0, 9, 29, 9, 0, 0, 0, 1, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 33, 20, 8, 1, 0, 17, 5, 1, 0, 2, 169, 20, 230, 0, 3, 0, 30, 13, 91, 0, 1, 1, 2, 0, 1],
+        [11, 19, 0, 0, 38, 0, 0, 0, 22, 0, 0, 131, 1, 2, 10, 0, 0, 20, 1, 0, 23, 0, 0, 0, 2, 0],
+        [161, 0, 3, 0, 113, 0, 0, 62, 113, 0, 142, 15, 0, 4, 46, 0, 0, 12, 5, 53, 42, 0, 0, 0, 7, 0],
+        [51, 2, 0, 31, 232, 0, 30, 0, 46, 1, 0, 5, 1, 8, 10, 1, 0, 1, 10, 5, 11, 0, 7, 0, 9, 0],
+        [0, 1, 17, 6, 1, 16, 11, 1, 0, 0, 1, 52, 4, 70, 0, 1, 0, 66, 18, 50, 7, 17, 6, 0, 0, 2],
+        [7, 0, 0, 0, 31, 45, 0, 0, 27, 0, 0, 9, 0, 1, 10, 0, 0, 2, 0, 24, 10, 0, 0, 0, 71, 0],
+        [48, 0, 0, 0, 41, 0, 30, 147, 30, 0, 0, 4, 15, 57, 20, 1, 0, 23, 3, 1, 15, 0, 1, 0, 2, 2],
+        [1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [6, 0, 0, 0, 17, 0, 0, 0, 3, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0],
+        [60, 10, 6, 36, 106, 6, 5, 7, 90, 0, 13, 253, 14, 0, 24, 1, 0, 1, 10, 31, 6, 6, 5, 0, 10, 0],
+        [76, 26, 0, 0, 94, 1, 0, 1, 53, 0, 0, 1, 38, 1, 30, 133, 0, 1, 8, 0, 17, 0, 0, 0, 2, 0],
+        [212, 12, 143, 168, 396, 83, 435, 26, 94, 8, 43, 9, 6, 44, 70, 3, 10, 2, 139, 205, 35, 46, 4, 4, 15, 1],
+        [2, 2, 20, 10, 1, 0, 9, 0, 0, 0, 0, 28, 12, 604, 0, 8, 0, 25, 13, 24, 139, 3, 2, 3, 0, 1],
+        [20, 5, 0, 0, 26, 2, 0, 16, 16, 1, 0, 33, 6, 0, 13, 39, 0, 5, 19, 28, 5, 0, 1, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0],
+        [41, 2, 39, 24, 106, 7, 9, 0, 19, 0, 11, 20, 24, 1, 24, 8, 0, 39, 11, 31, 3, 5, 8, 0, 10, 0],
+        [35, 5, 71, 4, 110, 4, 2, 189, 56, 1, 13, 12, 93, 5, 55, 33, 3, 6, 85, 271, 4, 1, 1, 0, 8, 0],
+        [136, 1, 34, 1, 184, 5, 0, 77, 158, 0, 1, 4, 6, 5, 70, 1, 0, 31, 2, 105, 72, 0, 1, 0, 142, 19],
+        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 121, 1, 0, 0, 0, 1, 19, 0, 0, 0, 0, 0, 0, 0],
+        [57, 0, 0, 0, 292, 0, 0, 0, 37, 0, 0, 0, 0, 0, 12, 0, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0],
+        [3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 2, 1, 1, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 9, 1, 0, 0, 0, 1, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 16]
+      ],
+      [
+        [0, 2, 32, 1, 1, 0, 3, 3, 2, 0, 3, 1, 8, 17, 0, 2, 0, 5, 2, 0, 2, 3, 2, 1, 1, 2],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [4, 0, 24, 1, 1, 3, 0, 1, 0, 2, 0, 2, 0, 6, 2, 0, 0, 11, 9, 5, 0, 0, 6, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 1, 0, 0, 0, 1, 4, 0, 0, 0, 0, 2, 4, 3, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [4, 2, 6, 0, 3, 0, 3, 12, 10, 0, 1, 6, 0, 5, 0, 0, 0, 10, 10, 1, 13, 4, 2, 0, 7, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [3, 3, 0, 19, 0, 0, 8, 0, 2, 2, 2, 8, 5, 24, 0, 1, 0, 15, 9, 5, 0, 1, 0, 2, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 3, 0, 6, 1, 2, 8, 2, 1, 1, 1, 9, 4, 13, 2, 3, 0, 18, 4, 17, 2, 1, 2, 1, 5, 2],
+        [3, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [4, 3, 0, 7, 28, 3, 3, 2, 1, 0, 0, 20, 5, 55, 3, 3, 0, 59, 18, 56, 2, 1, 4, 0, 27, 0],
+        [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [9, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],
+        [5, 2, 3, 9, 15, 1, 1, 0, 0, 0, 1, 10, 10, 87, 2, 4, 0, 11, 15, 13, 0, 2, 2, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [15, 0, 0, 0, 46, 0, 0, 0, 13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0],
+        [13, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0],
+        [1, 1, 2, 3, 2, 4, 0, 2, 1, 0, 1, 3, 1, 7, 1, 2, 0, 6, 2, 1, 7, 4, 5, 2, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 4, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [10, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0, 2, 0],
+        [2, 2, 1, 0, 1, 0, 1, 9, 5, 0, 1, 0, 4, 0, 8, 3, 0, 0, 0, 11, 4, 0, 1, 0, 1, 0],
+        [3, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 5, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 5, 1, 1, 0, 8, 0, 2, 1, 1, 0, 0, 1, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [9, 0, 0, 0, 4, 0, 0, 1, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 4, 0, 0, 2, 0, 0, 2, 1, 0, 1, 0, 3, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [1, 46, 84, 43, 3, 2, 46, 9, 52, 0, 10, 3, 64, 242, 4, 23, 1, 157, 92, 210, 45, 21, 23, 9, 42, 11],
+        [12, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 2, 0, 0, 13, 0, 0, 4, 0, 0, 4, 0, 0, 0, 2, 0],
+        [9, 0, 0, 0, 6, 0, 0, 12, 4, 0, 0, 1, 1, 0, 19, 0, 0, 2, 0, 1, 7, 0, 0, 0, 2, 0],
+        [2, 3, 2, 0, 41, 4, 0, 1, 16, 0, 0, 1, 2, 3, 13, 1, 0, 8, 9, 2, 3, 0, 5, 0, 3, 0],
+        [94, 25, 75, 44, 36, 13, 55, 9, 26, 1, 1, 9, 55, 121, 22, 22, 0, 77, 84, 115, 12, 29, 14, 30, 75, 1],
+        [9, 1, 0, 0, 4, 1, 1, 1, 12, 0, 0, 1, 0, 0, 7, 0, 0, 8, 1, 2, 8, 0, 1, 0, 0, 0],
+        [16, 0, 0, 0, 12, 0, 0, 0, 10, 0, 0, 0, 0, 0, 6, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0],
+        [7, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [82, 33, 140, 26, 43, 37, 73, 0, 0, 1, 6, 11, 46, 238, 50, 40, 13, 5, 90, 127, 12, 36, 0, 3, 0, 7],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [7, 0, 0, 0, 4, 0, 0, 3, 9, 0, 0, 2, 0, 1, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 8, 0],
+        [128, 12, 2, 4, 169, 7, 2, 4, 152, 1, 0, 0, 7, 0, 100, 2, 0, 1, 10, 2, 41, 0, 7, 0, 53, 0],
+        [27, 0, 0, 2, 11, 0, 0, 2, 9, 0, 0, 0, 1, 0, 13, 0, 0, 0, 4, 0, 3, 0, 0, 0, 3, 0],
+        [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
+        [23, 23, 65, 15, 7, 4, 132, 3, 32, 0, 2, 7, 29, 69, 50, 36, 11, 74, 33, 53, 66, 16, 80, 1, 12, 1],
+        [11, 0, 0, 0, 3, 1, 0, 21, 5, 0, 0, 0, 1, 0, 6, 0, 0, 3, 1, 4, 0, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0],
+        [7, 1, 0, 0, 16, 0, 0, 8, 23, 0, 1, 0, 1, 0, 20, 3, 0, 0, 1, 23, 0, 0, 1, 0, 2, 0],
+        [22, 1, 0, 0, 23, 0, 0, 14, 34, 0, 0, 0, 2, 0, 23, 0, 0, 9, 3, 0, 8, 1, 1, 0, 18, 5],
+        [5, 17, 26, 18, 31, 5, 13, 0, 5, 2, 4, 8, 68, 31, 15, 5, 0, 21, 68, 56, 0, 4, 0, 13, 0, 1],
+        [19, 0, 0, 1, 46, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [8, 0, 0, 0, 2, 0, 0, 1, 2, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 4, 12, 2, 2, 2, 3, 7, 2, 0, 1, 3, 13, 11, 2, 11, 0, 2, 31, 15, 1, 0, 4, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 10, 59, 34, 3, 0, 57, 7, 31, 3, 25, 104, 6, 326, 2, 4, 0, 144, 49, 192, 10, 2, 3, 11, 14, 7],
+        [31, 1, 0, 1, 44, 0, 0, 0, 32, 0, 0, 31, 0, 1, 27, 1, 0, 32, 1, 0, 21, 0, 0, 0, 0, 0],
+        [3, 1, 17, 6, 2, 2, 9, 3, 5, 0, 9, 3, 3, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [30, 6, 8, 45, 3, 2, 14, 1, 4, 0, 1, 51, 19, 283, 10, 4, 0, 125, 39, 128, 0, 2, 9, 3, 4, 1],
+        [0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [19, 0, 93, 54, 8, 2, 19, 0, 0, 1, 2, 76, 9, 194, 4, 0, 1, 21, 96, 109, 10, 0, 0, 5, 0, 1],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 3, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [40, 0, 0, 0, 46, 0, 0, 0, 33, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 17, 0, 0, 0, 12, 0],
+        [12, 0, 0, 0, 4, 0, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0],
+        [4, 10, 13, 28, 4, 1, 14, 3, 11, 0, 6, 47, 10, 168, 16, 3, 0, 107, 40, 45, 56, 8, 1, 1, 1, 2],
+        [52, 3, 0, 0, 71, 1, 1, 26, 18, 0, 4, 71, 0, 0, 50, 0, 0, 41, 9, 43, 19, 0, 0, 0, 7, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
+        [0, 1, 2, 1, 5, 1, 0, 2, 3, 0, 1, 0, 2, 0, 8, 2, 0, 0, 1, 10, 1, 0, 0, 0, 2, 0],
+        [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 7, 11, 6, 3, 6, 0, 2, 0, 2, 55, 11, 29, 2, 1, 0, 18, 53, 30, 0, 0, 0, 0, 0, 3],
+        [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 11, 0, 5, 0, 1, 0, 0, 0, 0, 1, 0, 2, 7, 0, 0, 7, 7, 4, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [2, 24, 33, 23, 6, 3, 30, 6, 20, 0, 9, 115, 29, 59, 2, 31, 0, 94, 28, 159, 19, 10, 5, 0, 1, 5],
+        [5, 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 4, 0, 0, 7, 0, 0, 4, 1, 0, 10, 0, 0, 0, 0, 0],
+        [25, 0, 0, 0, 190, 0, 0, 87, 51, 0, 1, 18, 0, 0, 62, 0, 0, 16, 0, 36, 21, 0, 0, 0, 8, 0],
+        [75, 11, 4, 1, 162, 6, 3, 7, 102, 1, 1, 22, 10, 2, 57, 9, 2, 46, 30, 4, 37, 0, 11, 0, 20, 0],
+        [34, 12, 36, 12, 29, 17, 16, 4, 14, 0, 0, 45, 16, 20, 25, 8, 6, 88, 80, 84, 32, 12, 37, 18, 45, 3],
+        [15, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 23, 0, 0, 26, 0, 0, 10, 0, 0, 19, 0, 0, 0, 0, 0],
+        [22, 8, 0, 3, 114, 6, 0, 15, 18, 0, 3, 51, 5, 0, 20, 2, 0, 24, 24, 28, 38, 0, 2, 0, 9, 0],
+        [18, 0, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0],
+        [90, 9, 148, 14, 33, 27, 35, 4, 1, 0, 5, 12, 25, 44, 26, 21, 7, 4, 87, 94, 29, 11, 0, 4, 0, 4],
+        [2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0],
+        [6, 0, 1, 0, 22, 4, 1, 1, 10, 0, 0, 12, 2, 0, 1, 1, 0, 2, 2, 3, 0, 0, 0, 0, 9, 0],
+        [9, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
+        [8, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [39, 0, 0, 0, 74, 0, 0, 0, 52, 0, 1, 0, 0, 0, 23, 0, 0, 0, 1, 0, 14, 0, 1, 0, 25, 0],
+        [4, 18, 21, 10, 4, 4, 15, 0, 11, 0, 0, 30, 60, 34, 11, 11, 0, 80, 32, 47, 52, 18, 24, 7, 2, 2],
+        [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4, 0, 0, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0],
+        [3, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 6, 0],
+        [26, 4, 23, 2, 73, 17, 3, 12, 96, 0, 5, 8, 13, 0, 60, 25, 0, 1, 3, 79, 39, 4, 4, 0, 5, 0],
+        [143, 1, 1, 1, 175, 2, 2, 64, 209, 0, 0, 13, 3, 1, 65, 1, 0, 114, 3, 0, 32, 0, 2, 0, 21, 1],
+        [12, 6, 16, 6, 11, 3, 6, 0, 5, 0, 1, 15, 35, 9, 6, 3, 0, 9, 25, 31, 1, 0, 0, 0, 0, 1],
+        [15, 0, 0, 0, 43, 0, 0, 0, 20, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0],
+        [12, 0, 0, 0, 3, 0, 0, 2, 4, 0, 0, 0, 0, 0, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
+        [5, 3, 1, 1, 0, 0, 0, 1, 0, 0, 0, 7, 14, 0, 4, 1, 1, 1, 3, 1, 1, 1, 2, 1, 0, 0],
+        [10, 0, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0]
+      ],
+      [
+        [1, 0, 20, 30, 0, 2, 5, 2, 0, 0, 9, 9, 8, 18, 0, 4, 1, 51, 13, 44, 1, 1, 0, 2, 0, 0],
+        [17, 24, 2, 2, 28, 2, 0, 1, 32, 4, 0, 19, 0, 1, 16, 0, 0, 5, 26, 3, 8, 3, 1, 0, 2, 0],
+        [50, 0, 28, 0, 38, 0, 0, 47, 26, 0, 129, 14, 0, 0, 33, 0, 0, 25, 0, 34, 20, 0, 0, 0, 8, 0],
+        [17, 3, 3, 15, 59, 3, 13, 4, 47, 0, 1, 13, 2, 1, 22, 3, 0, 8, 11, 0, 21, 0, 8, 0, 35, 0],
+        [0, 6, 1, 7, 0, 3, 0, 1, 6, 0, 1, 10, 3, 13, 1, 0, 1, 10, 15, 6, 2, 7, 0, 3, 1, 0],
+        [7, 0, 0, 0, 4, 63, 0, 0, 10, 0, 0, 4, 1, 0, 6, 0, 0, 1, 0, 15, 4, 0, 0, 0, 1, 0],
+        [34, 2, 0, 1, 44, 1, 22, 3, 15, 1, 0, 11, 3, 11, 7, 0, 0, 80, 1, 2, 18, 0, 1, 0, 83, 0],
+        [10, 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 1, 5, 9, 5, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0],
+        [3, 1, 12, 53, 1, 1, 2, 0, 0, 0, 1, 27, 0, 51, 0, 0, 0, 11, 39, 8, 0, 0, 0, 1, 0, 0],
+        [1, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 2, 1, 0, 48, 0, 0, 1, 7, 0, 1, 4, 0, 0, 3, 1, 0, 0, 5, 0, 3, 0, 1, 0, 6, 0],
+        [71, 4, 6, 83, 111, 8, 5, 3, 121, 0, 14, 124, 16, 1, 132, 6, 0, 1, 18, 24, 43, 16, 2, 0, 46, 1],
+        [89, 50, 1, 0, 174, 5, 0, 1, 76, 0, 0, 2, 64, 7, 56, 125, 1, 1, 4, 0, 4, 0, 2, 0, 22, 0],
+        [129, 3, 64, 82, 181, 52, 86, 3, 124, 10, 11, 7, 3, 46, 75, 1, 6, 10, 107, 149, 8, 38, 9, 1, 54, 5],
+        [0, 2, 4, 92, 0, 22, 4, 1, 0, 0, 68, 42, 42, 44, 0, 19, 0, 21, 21, 68, 0, 3, 0, 0, 0, 2],
+        [28, 1, 2, 0, 71, 0, 2, 82, 32, 1, 3, 16, 1, 1, 45, 29, 0, 17, 14, 21, 10, 0, 2, 0, 19, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0],
+        [122, 26, 31, 96, 138, 7, 34, 2, 143, 0, 61, 8, 85, 76, 61, 59, 1, 58, 46, 211, 11, 4, 9, 0, 116, 1],
+        [31, 4, 24, 0, 107, 0, 3, 18, 102, 0, 2, 7, 9, 1, 18, 42, 2, 0, 63, 127, 5, 1, 2, 0, 8, 0],
+        [45, 7, 11, 0, 64, 2, 1, 88, 63, 0, 0, 10, 3, 1, 42, 4, 0, 17, 7, 63, 9, 0, 3, 0, 11, 0],
+        [3, 11, 17, 13, 3, 3, 62, 1, 6, 0, 0, 32, 1, 137, 0, 11, 1, 86, 445, 103, 0, 7, 0, 1, 0, 2],
+        [26, 0, 0, 0, 109, 0, 0, 0, 27, 0, 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0],
+        [18, 14, 2, 13, 48, 6, 0, 8, 8, 0, 1, 28, 7, 83, 1, 8, 0, 5, 13, 2, 2, 0, 1, 0, 4, 1],
+        [2, 1, 3, 0, 5, 1, 1, 3, 26, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 14, 0],
+        [15, 1, 4, 6, 3, 1, 0, 0, 1, 0, 0, 3, 0, 1, 4, 1, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1]
+      ],
+      [
+        [0, 8, 38, 11, 1, 0, 18, 0, 17, 0, 2, 50, 5, 73, 1, 23, 1, 176, 50, 101, 18, 5, 7, 1, 10, 2],
+        [3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 6, 0, 0, 2, 1, 0, 3, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0],
+        [51, 1, 62, 34, 19, 4, 8, 0, 3, 1, 2, 47, 2, 108, 4, 10, 0, 292, 22, 50, 3, 1, 8, 2, 2, 4],
+        [0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0],
+        [56, 0, 0, 2, 88, 0, 0, 0, 76, 0, 0, 3, 0, 1, 97, 0, 0, 13, 1, 3, 5, 0, 0, 0, 79, 0],
+        [21, 0, 74, 25, 33, 1, 19, 0, 0, 0, 6, 27, 3, 74, 12, 11, 2, 37, 27, 57, 3, 2, 0, 2, 0, 2],
+        [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [150, 0, 0, 0, 121, 0, 0, 0, 59, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 29, 0, 0, 0, 11, 0],
+        [6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 1, 19, 10, 12, 2, 7, 0, 31, 0, 12, 111, 14, 55, 23, 17, 0, 97, 126, 52, 20, 3, 13, 3, 2, 0],
+        [16, 0, 0, 0, 48, 0, 0, 1, 20, 0, 0, 32, 1, 0, 25, 0, 0, 32, 3, 0, 1, 0, 0, 0, 16, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [39, 0, 0, 0, 166, 0, 0, 0, 104, 0, 0, 0, 0, 0, 273, 0, 0, 0, 0, 0, 12, 0, 0, 0, 1, 0],
+        [4, 1, 3, 0, 17, 0, 0, 5, 22, 0, 1, 1, 2, 0, 13, 0, 0, 0, 0, 14, 6, 0, 1, 0, 35, 0],
+        [16, 0, 1, 0, 9, 0, 0, 3, 107, 0, 0, 0, 0, 0, 33, 0, 0, 3, 0, 0, 19, 0, 0, 0, 4, 0],
+        [1, 8, 4, 8, 3, 6, 4, 0, 1, 0, 1, 41, 8, 22, 0, 9, 0, 39, 18, 28, 0, 0, 0, 0, 0, 1],
+        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 2, 0, 0, 0, 0, 3, 0, 1, 0, 1, 3, 0, 0, 1, 0, 0, 20, 0, 3, 0, 0, 1, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [110, 0, 0, 0, 100, 0, 0, 0, 128, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 72, 130, 95, 8, 35, 73, 14, 85, 3, 10, 121, 95, 313, 2, 119, 1, 26, 66, 277, 19, 45, 28, 2, 28, 13],
+        [32, 0, 0, 0, 26, 0, 0, 0, 35, 0, 0, 4, 0, 0, 44, 0, 0, 3, 1, 0, 9, 0, 0, 0, 5, 0],
+        [18, 0, 2, 0, 47, 0, 0, 86, 25, 0, 3, 11, 0, 0, 13, 0, 0, 1, 2, 7, 38, 0, 0, 0, 4, 0],
+        [22, 5, 1, 0, 26, 1, 0, 4, 42, 0, 0, 4, 0, 2, 17, 1, 0, 5, 9, 4, 3, 0, 4, 0, 7, 0],
+        [166, 26, 106, 99, 114, 52, 55, 20, 25, 4, 4, 60, 69, 143, 20, 72, 8, 11, 257, 119, 14, 56, 34, 7, 23, 2],
+        [11, 0, 0, 0, 15, 1, 0, 0, 9, 0, 0, 7, 0, 0, 8, 0, 0, 4, 0, 0, 12, 0, 0, 0, 0, 0],
+        [26, 0, 0, 0, 63, 0, 0, 5, 25, 0, 0, 11, 1, 0, 18, 0, 0, 2, 2, 0, 13, 0, 0, 0, 11, 0],
+        [11, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0],
+        [182, 54, 210, 87, 79, 38, 65, 1, 0, 1, 6, 49, 65, 166, 82, 61, 1, 0, 151, 141, 29, 44, 1, 6, 1, 10],
+        [0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0],
+        [4, 2, 0, 1, 19, 0, 0, 3, 9, 0, 0, 6, 3, 2, 5, 3, 0, 1, 10, 2, 0, 0, 1, 0, 6, 0],
+        [24, 2, 0, 4, 28, 0, 0, 0, 36, 0, 0, 0, 0, 0, 14, 1, 0, 0, 2, 1, 2, 0, 1, 0, 8, 0],
+        [97, 1, 2, 0, 29, 2, 0, 3, 65, 0, 0, 2, 0, 0, 39, 1, 0, 0, 1, 1, 10, 0, 1, 0, 5, 0],
+        [53, 5, 0, 0, 50, 4, 0, 3, 29, 0, 1, 0, 6, 0, 16, 1, 0, 0, 9, 5, 7, 0, 2, 0, 4, 0],
+        [46, 40, 79, 40, 18, 22, 56, 4, 32, 5, 10, 76, 90, 167, 84, 127, 2, 14, 127, 74, 127, 42, 63, 17, 15, 3],
+        [10, 0, 0, 0, 21, 0, 0, 33, 10, 0, 0, 5, 1, 0, 25, 0, 0, 12, 8, 8, 5, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0],
+        [53, 0, 0, 0, 92, 0, 0, 5, 85, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 14, 0, 0, 0, 60, 0],
+        [26, 2, 2, 2, 84, 1, 0, 16, 44, 0, 4, 2, 3, 1, 43, 12, 1, 0, 0, 32, 14, 1, 2, 0, 2, 0],
+        [39, 2, 2, 0, 61, 5, 3, 101, 99, 0, 0, 11, 7, 3, 32, 0, 0, 17, 12, 1, 27, 0, 2, 0, 24, 7],
+        [5, 21, 30, 31, 15, 6, 12, 0, 18, 0, 0, 10, 46, 41, 1, 28, 0, 3, 83, 22, 0, 1, 1, 1, 0, 1],
+        [31, 0, 0, 0, 37, 0, 0, 0, 28, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0],
+        [15, 0, 0, 0, 6, 0, 0, 0, 12, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 3, 3, 5, 3, 0, 1, 0, 0, 0, 0, 10, 11, 4, 12, 16, 0, 0, 9, 4, 0, 0, 2, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [2, 44, 23, 16, 1, 10, 21, 4, 16, 1, 7, 80, 17, 89, 1, 10, 0, 36, 10, 43, 22, 10, 13, 5, 7, 0],
+        [9, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 6, 0, 0, 2, 0, 0, 18, 0, 0, 0, 3, 0],
+        [81, 0, 0, 0, 65, 0, 1, 78, 37, 0, 0, 5, 1, 0, 88, 0, 0, 92, 0, 0, 40, 0, 0, 0, 3, 0],
+        [11, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0],
+        [38, 14, 47, 18, 33, 7, 8, 3, 11, 0, 1, 63, 39, 101, 5, 28, 14, 83, 28, 41, 12, 19, 15, 15, 19, 1],
+        [3, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 5, 1, 0, 2, 0, 0, 0, 0, 0],
+        [97, 9, 1, 0, 79, 3, 0, 0, 75, 0, 1, 4, 16, 3, 81, 2, 0, 27, 0, 1, 20, 1, 6, 0, 17, 0],
+        [55, 56, 44, 80, 28, 15, 38, 0, 0, 0, 2, 50, 40, 78, 148, 7, 1, 7, 99, 89, 9, 76, 0, 8, 0, 3],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [9, 0, 0, 0, 24, 0, 0, 0, 35, 0, 0, 0, 2, 0, 3, 0, 0, 1, 0, 0, 5, 0, 0, 0, 23, 0],
+        [42, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 1, 0, 0, 29, 0, 0, 0, 0, 0, 13, 0, 0, 0, 2, 0],
+        [57, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 14, 0, 0, 0, 2, 0],
+        [21, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 4, 6, 0, 0, 0, 2, 0],
+        [6, 4, 26, 12, 6, 10, 4, 1, 8, 1, 0, 67, 65, 190, 8, 21, 0, 71, 0, 11, 34, 6, 3, 0, 3, 1],
+        [63, 1, 0, 0, 116, 0, 0, 41, 82, 0, 0, 24, 0, 0, 69, 0, 0, 34, 1, 0, 16, 0, 0, 0, 3, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0],
+        [4, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0],
+        [50, 3, 2, 0, 77, 3, 0, 4, 151, 0, 0, 5, 11, 1, 42, 2, 0, 4, 0, 4, 17, 0, 13, 0, 19, 0],
+        [258, 6, 4, 1, 291, 9, 1, 11, 240, 1, 0, 25, 12, 2, 205, 6, 0, 255, 3, 0, 58, 2, 7, 0, 36, 0],
+        [14, 38, 17, 6, 7, 11, 6, 0, 11, 0, 0, 39, 35, 37, 1, 42, 0, 71, 30, 4, 0, 0, 0, 0, 0, 4],
+        [0, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [37, 0, 0, 0, 31, 0, 0, 0, 28, 0, 0, 0, 0, 0, 21, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 2, 32, 1, 1, 0, 1, 0, 0, 0, 1, 18, 19, 30, 0, 2, 0, 9, 5, 1, 0, 0, 0, 0, 0, 1],
+        [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 74, 44, 8, 3, 9, 45, 8, 68, 0, 15, 130, 36, 181, 1, 23, 0, 128, 22, 185, 13, 11, 9, 13, 4, 0],
+        [7, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 6, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0],
+        [5, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 2, 0, 0, 5, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
+        [52, 9, 29, 37, 66, 9, 17, 6, 16, 0, 2, 65, 49, 185, 18, 20, 0, 588, 61, 23, 9, 9, 9, 16, 1, 0],
+        [6, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 1, 0, 0, 6, 0, 0, 1, 0, 0, 24, 0, 0, 0, 0, 0],
+        [4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0],
+        [68, 6, 1, 5, 274, 8, 1, 2, 62, 0, 1, 9, 13, 3, 90, 4, 1, 61, 8, 2, 31, 0, 16, 0, 49, 0],
+        [99, 35, 342, 16, 35, 45, 34, 0, 0, 0, 3, 67, 75, 183, 419, 28, 9, 18, 75, 88, 9, 128, 0, 0, 0, 2],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
+        [18, 0, 0, 0, 102, 0, 0, 0, 5, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0],
+        [25, 0, 0, 0, 8, 0, 0, 0, 3, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 9, 0, 0, 0, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0],
+        [5, 6, 34, 11, 8, 7, 26, 0, 14, 0, 9, 38, 65, 238, 26, 56, 0, 319, 19, 16, 36, 3, 36, 7, 3, 2],
+        [2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2, 0, 0, 3, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [315, 0, 0, 0, 98, 0, 0, 0, 246, 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, 0, 68, 0, 1, 0, 64, 0],
+        [2, 2, 2, 1, 10, 2, 0, 3, 4, 0, 1, 0, 13, 0, 9, 3, 0, 0, 0, 8, 5, 2, 5, 0, 3, 0],
+        [44, 0, 0, 0, 154, 1, 1, 2, 53, 0, 1, 45, 0, 0, 33, 0, 0, 10, 8, 0, 4, 1, 0, 0, 25, 0],
+        [41, 14, 9, 41, 8, 5, 4, 0, 10, 0, 0, 19, 30, 29, 13, 10, 0, 159, 35, 22, 0, 0, 0, 1, 1, 0],
+        [3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [14, 0, 0, 0, 12, 0, 0, 1, 23, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 1, 2, 0, 0, 0, 1, 0, 1, 0, 0, 14, 2, 0, 0, 34, 0, 14, 3, 0, 0, 0, 2, 1, 0, 0],
+        [1, 0, 0, 0, 5, 0, 1, 0, 2, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 4, 7, 21, 0, 1, 5, 1, 4, 0, 5, 51, 2, 26, 0, 1, 0, 48, 9, 37, 0, 2, 4, 0, 3, 0],
+        [8, 18, 0, 1, 20, 0, 0, 2, 18, 2, 0, 23, 5, 0, 2, 1, 0, 10, 15, 8, 7, 2, 0, 0, 1, 0],
+        [10, 0, 14, 0, 23, 0, 0, 31, 29, 0, 55, 16, 0, 0, 7, 0, 0, 9, 1, 47, 5, 0, 0, 0, 2, 0],
+        [17, 1, 0, 24, 67, 0, 18, 0, 39, 0, 0, 4, 0, 0, 8, 0, 0, 1, 10, 0, 2, 0, 2, 0, 7, 1],
+        [6, 9, 0, 1, 5, 5, 4, 1, 0, 1, 0, 21, 1, 33, 1, 1, 0, 19, 22, 15, 2, 0, 0, 0, 3, 6],
+        [1, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0],
+        [19, 1, 0, 0, 21, 0, 34, 80, 3, 0, 0, 4, 2, 2, 6, 0, 0, 1, 1, 0, 11, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [3, 2, 14, 14, 6, 0, 1, 0, 0, 0, 0, 32, 0, 31, 1, 8, 0, 19, 44, 64, 1, 4, 0, 2, 0, 3],
+        [1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
+        [1, 0, 0, 1, 12, 0, 0, 0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0],
+        [136, 4, 11, 11, 46, 14, 7, 0, 35, 0, 10, 67, 5, 2, 23, 16, 0, 1, 24, 73, 16, 3, 1, 0, 5, 1],
+        [22, 52, 3, 1, 51, 5, 0, 1, 32, 0, 0, 2, 28, 11, 8, 48, 1, 0, 8, 1, 6, 2, 0, 0, 0, 0],
+        [21, 6, 73, 131, 25, 5, 46, 2, 55, 0, 33, 4, 2, 13, 4, 2, 0, 2, 15, 82, 1, 0, 2, 0, 5, 0],
+        [0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 2, 0, 3, 0, 2, 0, 16, 3, 5, 29, 0, 0, 0, 2, 0],
+        [4, 4, 1, 2, 31, 1, 1, 14, 10, 0, 1, 13, 1, 0, 8, 24, 0, 13, 13, 24, 2, 0, 2, 0, 2, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0],
+        [75, 27, 21, 17, 149, 8, 60, 1, 66, 2, 11, 17, 11, 55, 28, 15, 1, 51, 43, 43, 9, 15, 3, 0, 28, 1],
+        [31, 5, 29, 2, 105, 0, 1, 53, 64, 0, 17, 3, 0, 1, 8, 12, 1, 0, 34, 115, 6, 0, 0, 0, 4, 0],
+        [45, 1, 14, 1, 69, 0, 1, 55, 77, 0, 0, 8, 3, 3, 49, 0, 0, 13, 7, 51, 11, 0, 2, 0, 6, 2],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0],
+        [2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 12]
+      ],
+      [
+        [0, 9, 20, 8, 1, 0, 14, 2, 8, 1, 3, 69, 2, 57, 0, 1, 0, 31, 18, 36, 5, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [6, 2, 5, 4, 4, 3, 6, 4, 5, 0, 1, 47, 4, 120, 3, 1, 0, 271, 46, 24, 0, 0, 1, 5, 10, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [37, 4, 33, 23, 21, 2, 8, 0, 2, 0, 3, 43, 0, 47, 18, 0, 0, 16, 65, 30, 5, 16, 0, 2, 0, 1],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 23, 0, 0, 0, 3, 0, 9, 0, 5, 48, 2, 6, 1, 0, 0, 10, 4, 9, 10, 1, 3, 0, 6, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [1, 4, 7, 8, 0, 3, 12, 3, 18, 0, 8, 53, 5, 20, 0, 4, 0, 100, 27, 55, 1, 9, 1, 4, 71, 1],
+        [6, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 4, 0, 0, 3, 0, 0, 1, 0, 0, 0, 3, 0],
+        [30, 5, 1, 9, 33, 0, 2, 1, 19, 0, 0, 51, 0, 11, 0, 2, 0, 36, 21, 7, 0, 2, 0, 0, 2, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [18, 0, 0, 0, 47, 0, 0, 0, 52, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0],
+        [0, 0, 14, 18, 5, 5, 15, 0, 0, 0, 0, 40, 2, 83, 0, 2, 0, 8, 38, 47, 0, 4, 0, 1, 0, 2],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0],
+        [3, 0, 0, 0, 9, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 3, 0],
+        [8, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 1, 1, 1, 6, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 2, 0, 1, 10, 4, 1, 0, 2, 0, 3, 0],
+        [0, 1, 0, 0, 3, 1, 0, 0, 0, 0, 3, 10, 17, 8, 54, 1, 0, 121, 1, 1, 3, 2, 1, 0, 0, 0],
+        [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [7, 0, 0, 0, 12, 0, 0, 0, 25, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0],
+        [0, 1, 1, 0, 2, 0, 0, 1, 1, 0, 1, 2, 2, 0, 5, 3, 0, 1, 1, 4, 1, 0, 2, 0, 1, 0],
+        [1, 0, 0, 0, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 1, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
+      ],
+      [
+        [0, 0, 5, 1, 0, 1, 3, 0, 0, 0, 0, 4, 6, 6, 0, 0, 0, 0, 3, 6, 0, 1, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [3, 0, 0, 0, 11, 0, 0, 3, 7, 0, 0, 7, 0, 0, 3, 0, 0, 5, 0, 0, 7, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 7, 1, 0, 0, 2, 0, 1, 0, 0, 2, 6, 9, 0, 0, 0, 6, 1, 1, 0, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [7, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0],
+        [8, 2, 12, 8, 4, 2, 2, 0, 0, 0, 0, 2, 11, 4, 8, 0, 0, 0, 9, 2, 0, 1, 1, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 1, 1, 10, 0, 1, 0, 6, 1, 5, 0, 0, 0, 0, 0, 0],
+        [8, 0, 0, 0, 27, 0, 0, 0, 5, 0, 0, 18, 0, 0, 12, 0, 0, 7, 0, 0, 3, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [6, 1, 0, 0, 22, 0, 0, 1, 7, 0, 0, 0, 0, 0, 7, 0, 0, 31, 0, 0, 9, 0, 0, 0, 1, 0],
+        [4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+      ],
+      [
+        [0, 0, 5, 5, 0, 0, 1, 1, 0, 0, 2, 11, 3, 29, 1, 4, 1, 20, 1, 3, 0, 0, 3, 0, 0, 0],
+        [4, 0, 0, 4, 7, 0, 0, 0, 2, 0, 0, 0, 0, 0, 9, 0, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0],
+        [4, 0, 0, 0, 18, 0, 0, 31, 4, 0, 0, 19, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [4, 1, 0, 0, 12, 0, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0],
+        [11, 3, 0, 1, 1, 1, 1, 0, 1, 0, 0, 13, 1, 6, 2, 1, 0, 19, 7, 6, 0, 1, 1, 0, 0, 0],
+        [1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0],
+        [0, 0, 0, 1, 2, 0, 0, 0, 2, 0, 0, 1, 3, 1, 8, 0, 0, 3, 0, 0, 1, 0, 0, 0, 2, 0],
+        [0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
+        [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [15, 0, 0, 0, 22, 0, 0, 0, 13, 0, 1, 19, 0, 0, 11, 1, 0, 0, 2, 0, 3, 6, 0, 0, 0, 0],
+        [18, 4, 1, 0, 20, 0, 0, 0, 5, 0, 0, 0, 3, 7, 11, 20, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0],
+        [14, 0, 11, 3, 12, 0, 3, 1, 2, 0, 0, 0, 0, 3, 11, 0, 0, 0, 0, 6, 0, 0, 0, 2, 1, 0],
+        [0, 0, 2, 2, 0, 4, 6, 0, 0, 0, 5, 2, 1, 18, 0, 4, 0, 8, 4, 5, 17, 1, 1, 0, 0, 1],
+        [2, 0, 0, 0, 24, 0, 0, 17, 5, 0, 0, 2, 0, 2, 21, 0, 0, 5, 7, 16, 3, 0, 0, 0, 1, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
+        [15, 0, 0, 2, 6, 1, 0, 0, 21, 0, 0, 0, 0, 2, 29, 0, 0, 2, 0, 1, 4, 0, 0, 0, 1, 0],
+        [3, 1, 3, 0, 12, 0, 0, 1, 38, 0, 0, 1, 2, 0, 4, 3, 0, 0, 6, 39, 2, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 16, 0, 0, 16, 10, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0],
+        [0, 0, 3, 0, 0, 0, 3, 1, 0, 0, 2, 1, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [10, 0, 1, 0, 3, 0, 0, 2, 4, 0, 0, 0, 0, 0, 5, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
+      ],
+      [
+        [1, 3, 2, 0, 0, 0, 5, 1, 1, 0, 1, 4, 1, 11, 0, 1, 0, 19, 0, 0, 0, 1, 0, 0, 0, 1],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [5, 1, 2, 1, 1, 0, 0, 0, 1, 0, 1, 7, 0, 12, 0, 0, 0, 13, 3, 3, 1, 0, 1, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 1, 2, 0, 7, 0, 5, 0, 0, 0, 0, 5, 4, 6, 1, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [3, 0, 0, 2, 2, 0, 1, 0, 7, 0, 0, 0, 3, 10, 5, 2, 0, 5, 0, 0, 1, 1, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+        [7, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 17, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0]
+      ]
+    ];
+    pik = Math.random();
+    ranno = pik * 125729.0;
+    sum = 0;
+    for (c1 = 0; c1 < 26; c1++) {
+      for (c2 = 0; c2 < 26; c2++) {
+        for (c3 = 0; c3 < 26; c3++) {
+          sum += _trigram[c1][c2][c3];
+          if (sum > ranno) {
+            output += _alphabet.charAt(c1);
+            output += _alphabet.charAt(c2);
+            output += _alphabet.charAt(c3);
+            c1 = 26;
+            c2 = 26;
+            c3 = 26;
+          }
+        }
+      }
+    }
+    nchar = 3;
+    while (nchar < pwl) {
+      c1 = _alphabet.indexOf(output.charAt(nchar - 2));
+      c2 = _alphabet.indexOf(output.charAt(nchar - 1));
+      sum = 0;
+      for (c3 = 0; c3 < 26; c3++)
+        sum += _trigram[c1][c2][c3];
+      if (sum == 0) {
+        break;
+      }
+      pik = Math.random();
+      ranno = pik * sum;
+      sum = 0;
+      for (c3 = 0; c3 < 26; c3++) {
+        sum += _trigram[c1][c2][c3];
+        if (sum > ranno) {
+          output += _alphabet.charAt(c3);
+          c3 = 26;
+        }
+      }
+      nchar++;
+    }
 
-pronounceable : function (pwl) {
-	var output = "";
-	var c1, c2, c3;
-	var sum = 0;
-	var nchar;
-	var ranno;
-	var pwnum;
-	var pik;
+    var _alphabet_store = '';
+    var _alphabet_temp = '';
+    for (var i = 0, len = output.length; i < len; i++) {
+      if ((Math.floor(Math.random() * 2) + 1) === 1) {
+        _alphabet_temp = output[i].toUpperCase();
+      } else {
+        _alphabet_temp = output[i];
+      }
+      _alphabet_store = _alphabet_store + _alphabet_temp;
+    }
 
-	var _alphabet = "abcdefghijklmnopqrstuvwxyz";
+    var password_combination = [
+      _alphabet_store,
+      _specialchars.substr(Math.floor(_specialchars.length * Math.random()), 1),
+      Math.floor(Math.random() * 90 + 10)
+    ];
 
-// letter frequencies
-var _trigram = [[ /* [26][26][26] */
-/* A A */ [2,0,3,0,0,0,1,0,0,0,0,1,1,1,0,0,0,3,2,0,0,0,0,0,0,0],
-/* A B */ [37,25,2,5,38,0,0,2,46,1,0,304,0,2,49,0,0,24,24,0,19,0,0,0,14,0],
-/* A C */ [26,1,64,2,107,0,1,94,67,0,173,13,5,1,35,1,13,32,3,114,23,0,0,0,45,0],
-/* A D */ [35,7,3,43,116,6,3,8,75,14,1,16,25,3,44,3,1,35,20,1,10,25,9,0,18,0],
-/* A E */ [2,0,2,1,0,1,3,0,0,0,0,10,0,2,3,0,0,12,6,0,2,0,0,0,0,0],
-/* A F */ [5,0,0,0,14,50,2,0,3,0,2,5,0,2,7,0,0,5,1,39,1,0,0,0,1,0],
-/* A G */ [30,1,0,1,182,0,42,5,30,0,0,7,9,42,51,3,0,24,3,0,21,0,3,0,3,0],
-/* A H */ [12,0,0,0,20,0,0,0,3,0,0,5,4,2,13,0,0,2,0,0,1,0,0,0,0,0],
-/* A I */ [2,0,10,26,2,1,10,0,2,1,2,87,13,144,0,2,0,93,30,23,0,3,1,0,0,0],
-/* A J */ [4,0,0,0,3,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0],
-/* A K */ [11,0,1,1,98,1,0,1,15,0,0,3,0,0,5,1,0,3,0,1,2,0,3,0,8,0],
-/* A L */ [78,20,34,45,124,21,24,5,109,0,28,237,31,3,53,23,0,7,16,69,29,26,5,0,26,2],
-/* A M */ [70,57,1,1,98,3,0,1,68,0,0,3,38,2,43,69,0,3,14,3,12,0,2,0,14,0],
-/* A N */ [114,6,156,359,103,8,146,12,141,2,57,4,0,89,61,1,4,1,124,443,29,6,1,3,28,9],
-/* A O */ [0,0,1,0,0,0,0,0,0,0,0,3,1,0,0,0,0,3,2,2,2,0,0,0,0,0],
-/* A P */ [29,3,0,1,59,1,0,86,25,0,1,14,1,1,37,94,0,9,22,30,8,0,0,0,9,0],
-/* A Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0],
-/* A R */ [124,64,101,233,115,12,47,5,188,3,61,55,68,34,46,25,6,94,48,189,5,22,5,1,172,2],
-/* A S */ [19,3,32,0,71,0,1,81,49,0,22,3,19,2,19,34,4,0,152,211,12,0,1,0,17,1],
-/* A T */ [50,3,41,2,863,4,0,144,352,0,5,14,6,3,144,0,0,60,13,106,57,1,5,0,8,5],
-/* A U */ [0,5,23,35,5,5,38,1,0,1,3,33,4,23,0,4,1,35,52,56,0,1,0,7,0,1],
-/* A V */ [35,0,0,1,108,0,0,0,49,0,0,1,0,0,19,0,0,0,0,0,3,1,0,0,6,0],
-/* A W */ [30,10,0,4,3,6,2,2,2,0,10,13,4,15,3,0,0,6,3,5,0,0,0,0,2,0],
-/* A X */ [3,0,0,0,4,0,0,0,22,0,0,1,0,0,7,2,0,0,1,1,0,0,3,0,3,0],
-/* A Y */ [11,8,1,5,16,5,1,2,2,0,0,10,7,4,13,1,0,3,5,7,3,0,5,0,0,0],
-/* A Z */ [10,0,0,1,22,0,0,0,10,0,0,0,0,0,7,0,0,0,0,2,2,0,0,0,4,11]],
-/* B A */ [[0,17,74,11,1,2,19,4,8,0,10,68,7,73,1,7,0,110,54,55,9,1,3,1,12,1],
-/* B B */ [7,0,0,0,16,0,0,0,10,0,0,24,0,0,9,0,0,2,3,0,2,0,0,0,14,0],
-/* B C */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* B D */ [2,0,0,0,2,0,0,0,2,0,0,0,0,0,3,0,0,1,0,0,3,0,0,0,0,0],
-/* B E */ [51,1,14,34,18,11,16,7,9,0,1,85,5,48,2,2,2,199,36,41,0,4,5,1,6,2],
-/* B F */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0],
-/* B G */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* B H */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,0,0,0,0,0],
-/* B I */ [34,8,22,21,8,3,9,1,0,3,1,50,7,45,16,4,2,29,22,59,4,4,0,0,0,3],
-/* B J */ [0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* B K */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* B L */ [57,0,0,0,519,0,0,0,35,0,0,0,0,0,47,0,0,0,0,0,32,1,0,0,3,0],
-/* B M */ [0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0],
-/* B N */ [1,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* B O */ [62,7,4,21,3,2,9,3,8,1,1,46,8,63,58,2,0,55,15,20,46,6,17,10,19,0],
-/* B P */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0],
-/* B Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* B R */ [110,0,0,0,77,0,0,0,100,0,0,0,0,0,78,0,0,0,0,0,28,0,0,0,10,0],
-/* B S */ [0,0,6,0,16,0,0,0,7,0,0,0,0,0,12,0,0,0,0,27,2,0,0,0,0,0],
-/* B T */ [1,0,0,0,3,1,0,0,0,0,0,4,0,0,1,0,0,3,0,0,0,0,0,0,0,0],
-/* B U */ [0,3,21,16,3,5,14,0,12,1,2,52,7,20,2,0,1,104,44,54,0,0,0,3,1,5],
-/* B V */ [0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* B W */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* B X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* B Y */ [1,0,0,0,3,0,1,2,0,0,0,4,0,0,0,3,0,6,8,3,0,0,2,0,0,2],
-/* B Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* C A */ [[1,47,17,33,1,3,4,5,7,1,3,120,40,120,1,59,1,171,60,150,19,20,1,0,5,0],
-/* C B */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],
-/* C C */ [23,0,0,0,22,0,0,5,13,0,0,13,0,0,26,0,0,7,0,0,27,0,0,0,0,0],
-/* C D */ [1,0,1,0,1,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],
-/* C E */ [23,6,4,17,6,6,1,2,13,0,0,50,12,109,7,43,0,76,63,22,1,0,4,0,2,1],
-/* C F */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* C G */ [0,0,0,0,1,0,0,0,2,0,0,0,0,0,2,0,0,4,1,0,1,0,0,0,0,0],
-/* C H */ [165,10,2,3,176,4,3,1,141,0,0,26,20,16,102,1,0,63,8,10,44,0,13,0,20,0],
-/* C I */ [76,15,8,33,24,16,3,0,0,0,0,38,5,45,50,28,0,29,38,71,6,8,0,0,0,0],
-/* C J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* C K */ [17,16,2,3,90,4,1,7,20,1,1,45,8,8,12,9,0,3,32,6,6,0,13,0,22,0],
-/* C L */ [95,0,0,0,84,0,0,0,50,0,0,0,0,0,54,0,0,0,0,0,34,0,0,0,3,0],
-/* C M */ [1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* C N */ [2,0,0,0,1,0,0,0,4,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0],
-/* C O */ [33,16,40,22,14,10,11,12,9,1,1,101,218,421,24,56,2,129,37,40,86,22,25,4,4,2],
-/* C P */ [1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* C Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0],
-/* C R */ [101,0,0,0,112,0,0,0,75,0,0,0,0,0,88,0,0,0,0,1,41,0,0,0,25,0],
-/* C S */ [0,0,0,0,0,0,0,0,3,0,0,0,0,1,2,0,0,0,1,2,0,0,0,0,0,0],
-/* C T */ [44,0,0,0,12,2,0,0,113,0,0,0,2,0,94,0,0,46,0,0,42,0,1,0,3,0],
-/* C U */ [3,12,2,6,6,6,0,0,8,0,0,102,42,10,9,15,0,72,51,41,1,0,0,0,0,0],
-/* C V */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* C W */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* C X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* C Y */ [5,1,20,0,0,0,1,0,0,0,0,3,0,2,2,4,0,3,2,9,0,0,0,0,0,0],
-/* C Z */ [2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* D A */ [[0,7,16,7,1,2,13,6,18,0,3,54,23,59,0,10,0,31,6,40,8,13,3,0,32,3],
-/* D B */ [9,0,0,0,7,0,0,0,3,0,0,2,0,0,8,0,0,1,0,0,8,0,0,0,2,0],
-/* D C */ [5,0,0,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,0,2,0,0,0,0,0],
-/* D D */ [8,0,0,0,30,0,0,3,19,0,0,38,0,0,4,0,0,4,0,0,1,0,0,0,16,0],
-/* D E */ [34,37,82,14,17,41,11,4,5,2,0,88,62,170,14,40,4,183,99,39,6,20,16,6,1,2],
-/* D F */ [6,0,0,0,0,0,0,0,6,0,0,2,0,0,5,0,0,2,0,0,4,0,0,0,0,0],
-/* D G */ [4,0,0,0,73,0,0,0,2,0,1,1,1,0,0,0,0,1,0,0,2,0,1,0,3,0],
-/* D H */ [8,0,0,0,9,0,0,0,4,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0],
-/* D I */ [100,10,104,12,33,26,31,1,1,0,1,22,22,65,57,15,0,20,138,53,20,31,1,6,0,1],
-/* D J */ [4,0,0,0,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,7,0,0,0,0,0],
-/* D K */ [0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* D L */ [9,0,0,0,79,0,0,0,12,0,0,0,0,0,7,0,0,0,0,0,1,0,0,0,3,0],
-/* D M */ [13,0,0,0,3,0,0,0,21,0,0,0,0,0,11,0,0,0,0,0,1,0,0,0,0,0],
-/* D N */ [7,0,0,0,9,0,0,0,3,0,0,0,0,0,1,0,0,0,0,6,0,0,0,0,0,0],
-/* D O */ [1,5,21,10,6,3,20,1,3,0,0,30,38,54,17,7,0,39,11,10,30,5,54,5,1,3],
-/* D P */ [6,0,0,0,1,0,0,1,3,0,0,1,0,0,7,0,0,1,0,0,0,0,0,0,0,0],
-/* D Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0],
-/* D R */ [74,0,0,0,47,0,0,0,53,0,0,0,0,0,80,0,0,0,0,0,22,0,0,0,8,0],
-/* D S */ [1,0,3,0,10,0,0,9,5,0,1,3,10,0,16,8,0,0,0,31,1,0,2,0,0,0],
-/* D T */ [3,0,0,0,1,0,0,6,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* D U */ [10,7,52,2,5,3,4,0,2,0,1,33,14,15,5,11,1,19,15,8,1,0,0,0,0,1],
-/* D V */ [3,0,0,0,13,0,0,0,7,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* D W */ [19,0,0,0,10,0,0,0,19,0,0,0,0,0,8,0,0,2,0,0,0,0,0,0,2,0],
-/* D X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* D Y */ [4,2,1,2,3,1,2,0,1,0,1,4,4,12,0,0,0,0,8,1,0,0,1,0,0,0],
-/* D Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0]],
-/* E A */ [[0,39,34,110,0,12,13,3,0,0,50,68,38,71,0,13,1,117,80,112,28,19,7,0,0,1],
-/* E B */ [32,5,0,0,31,0,0,0,8,0,0,6,0,0,28,0,0,32,2,3,29,0,0,0,4,0],
-/* E C */ [33,0,9,2,51,0,0,39,49,0,47,26,0,0,59,0,0,35,2,206,42,0,0,0,2,0],
-/* E D */ [29,7,1,16,45,5,22,3,88,0,0,8,9,4,24,2,0,27,8,4,27,0,7,0,13,0],
-/* E E */ [2,4,13,63,1,6,1,4,10,0,19,23,13,66,1,42,0,43,9,34,1,4,6,0,0,8],
-/* E F */ [14,0,1,2,36,33,0,0,22,0,0,15,0,0,24,0,0,14,1,13,35,0,0,0,5,0],
-/* E G */ [48,1,0,0,36,1,15,2,38,0,0,7,4,4,26,0,0,38,0,0,19,0,0,0,4,0],
-/* E H */ [14,0,0,0,24,0,0,0,6,0,0,0,1,0,18,0,0,4,0,0,4,0,0,0,3,0],
-/* E I */ [8,0,5,13,2,1,42,0,1,1,2,13,7,59,1,1,0,10,25,22,0,7,0,0,0,2],
-/* E J */ [4,0,0,0,4,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0],
-/* E K */ [2,1,0,1,6,0,0,0,4,0,0,0,0,1,1,0,0,0,2,3,0,0,0,0,1,0],
-/* E L */ [76,7,6,57,131,19,7,3,125,0,4,238,22,1,48,15,0,4,27,26,17,19,2,0,7,0],
-/* E M */ [87,53,1,0,84,0,0,0,102,0,0,3,8,8,56,64,0,0,4,0,19,0,1,0,8,0],
-/* E N */ [78,17,68,159,128,8,35,14,96,2,2,4,5,54,57,3,2,9,127,624,33,10,8,0,11,16],
-/* E O */ [0,0,8,10,0,6,7,1,2,0,0,23,10,38,0,16,0,14,6,4,41,3,2,2,0,1],
-/* E P */ [26,1,1,0,27,0,0,32,45,0,0,21,1,0,35,9,0,35,10,65,13,0,2,0,3,0],
-/* E Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0],
-/* E R */ [217,57,66,22,190,41,70,13,200,3,14,40,134,117,113,42,2,123,167,135,23,58,22,1,123,1],
-/* E S */ [17,7,74,6,58,1,3,25,82,0,3,6,17,5,34,52,7,0,222,278,18,2,1,0,6,0],
-/* E T */ [78,3,19,0,129,4,0,93,105,0,1,3,2,2,50,1,0,73,5,113,17,0,4,0,32,4],
-/* E U */ [0,4,7,6,1,0,4,0,0,0,2,3,17,4,0,15,0,46,20,18,0,2,1,0,0,0],
-/* E V */ [29,0,0,0,121,0,0,0,56,0,0,0,0,0,26,0,0,2,1,0,2,2,0,0,3,1],
-/* E W */ [33,4,3,4,16,2,0,5,24,0,0,3,3,3,23,2,0,3,15,4,0,0,1,0,2,0],
-/* E X */ [29,0,43,0,20,0,0,14,21,0,0,0,0,0,15,78,1,0,0,72,12,0,0,1,2,0],
-/* E Y */ [7,3,1,4,25,2,0,2,0,0,1,4,6,4,4,1,0,2,3,0,0,1,4,0,0,0],
-/* E Z */ [1,0,0,0,9,0,0,0,1,0,0,0,0,0,4,0,0,1,0,0,1,1,0,0,2,3]],
-/* F A */ [[1,10,39,5,2,1,1,3,18,0,2,35,10,27,0,0,0,36,13,18,10,0,2,3,4,1],
-/* F B */ [2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F C */ [1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F D */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* F E */ [18,5,24,6,12,0,2,0,6,0,1,25,6,18,2,0,0,114,17,15,4,2,2,0,1,0],
-/* F F */ [10,2,0,0,51,0,0,2,45,0,0,21,4,0,13,0,0,9,7,0,7,0,0,0,8,0],
-/* F G */ [1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F H */ [2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F I */ [9,9,58,18,42,7,11,0,0,0,0,29,2,53,0,0,0,40,41,18,0,2,0,10,0,3],
-/* F J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* F K */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F L */ [64,0,0,0,50,0,0,0,21,0,0,0,0,0,60,0,0,0,0,0,42,0,0,0,15,0],
-/* F M */ [6,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F N */ [0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F O */ [5,1,8,2,1,0,7,0,6,0,0,34,1,8,32,2,0,165,5,0,25,1,2,7,1,0],
-/* F P */ [0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F R */ [64,0,0,0,66,0,0,0,35,0,0,0,0,0,35,0,0,0,0,0,11,0,0,0,3,0],
-/* F S */ [1,0,0,0,2,0,0,2,0,0,1,0,0,0,1,1,0,0,0,2,0,0,0,0,0,0],
-/* F T */ [1,1,1,0,19,0,0,3,1,0,0,0,1,0,3,0,0,1,9,0,0,0,4,0,8,0],
-/* F U */ [0,0,4,2,1,0,9,0,0,2,0,119,7,24,0,0,0,28,31,6,0,0,0,0,0,2],
-/* F V */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F W */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F Y */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* F Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* G A */ [[0,20,5,11,3,2,11,3,13,0,0,68,24,60,1,5,0,63,23,68,15,8,5,0,2,5],
-/* G B */ [4,0,0,0,1,0,0,0,3,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0],
-/* G C */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* G D */ [2,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0],
-/* G E */ [23,3,2,4,12,1,1,3,4,0,0,32,8,141,39,4,0,96,29,33,1,1,4,0,5,0],
-/* G F */ [0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0],
-/* G G */ [8,0,0,0,20,0,0,1,60,0,0,24,0,0,3,1,0,6,4,0,0,0,0,0,12,0],
-/* G H */ [18,4,1,1,12,2,1,1,2,0,1,4,0,3,12,1,0,1,3,153,2,0,3,0,1,0],
-/* G I */ [23,21,16,6,7,2,9,0,0,0,0,24,7,103,17,1,0,10,26,19,3,10,0,0,0,1],
-/* G J */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* G K */ [0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* G L */ [49,0,0,0,73,0,0,0,25,0,0,0,0,0,38,0,0,0,0,0,13,0,0,0,17,0],
-/* G M */ [23,0,0,0,12,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,1,0],
-/* G N */ [26,1,0,0,28,0,0,0,20,0,0,0,0,0,26,2,0,0,0,1,7,0,0,0,0,0],
-/* G O */ [6,4,3,16,6,1,10,1,5,0,0,22,1,49,20,3,0,34,12,23,16,7,5,0,1,0],
-/* G P */ [0,0,0,0,1,0,0,0,3,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* G Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* G R */ [216,0,0,0,97,0,0,0,43,0,0,0,0,0,50,0,0,0,0,0,14,0,0,0,3,0],
-/* G S */ [2,2,0,0,0,0,0,2,2,0,1,1,0,0,2,1,0,0,0,18,0,0,1,0,0,0],
-/* G T */ [2,0,0,0,0,0,0,8,3,0,0,0,0,0,17,0,0,1,0,0,0,0,0,0,0,0],
-/* G U */ [28,1,1,0,49,1,1,0,41,0,0,26,15,24,2,0,0,14,22,6,0,0,0,0,3,1],
-/* G V */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* G W */ [5,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0],
-/* G X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* G Y */ [1,0,0,0,0,0,0,0,0,0,0,0,7,3,0,6,0,5,0,0,0,0,0,0,0,0],
-/* G Z */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* H A */ [[2,26,15,20,6,8,22,3,31,0,11,90,66,171,3,25,0,142,30,49,20,11,20,0,13,8],
-/* H B */ [4,0,0,0,3,0,0,0,1,0,0,2,0,0,12,0,0,2,0,0,4,0,0,0,1,0],
-/* H C */ [1,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0],
-/* H D */ [2,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,4,0,0,0,0,0,0,0,0],
-/* H E */ [123,5,22,33,37,5,3,0,27,0,0,87,65,86,17,7,1,311,57,42,11,11,14,8,11,2],
-/* H F */ [2,0,0,0,0,0,0,0,3,0,0,0,0,0,2,0,0,0,0,0,10,0,0,0,0,0],
-/* H G */ [1,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0],
-/* H H */ [1,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* H I */ [22,22,56,15,23,6,19,0,0,1,1,73,20,79,17,41,0,36,53,39,3,11,0,0,0,6],
-/* H J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* H K */ [0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* H L */ [5,0,0,0,11,0,0,0,8,0,0,0,0,0,22,0,0,1,0,0,1,0,0,0,1,0],
-/* H M */ [21,0,0,0,15,0,0,0,6,0,0,0,1,0,7,0,0,0,2,0,1,0,0,0,0,0],
-/* H N */ [3,0,0,0,8,0,0,0,9,0,0,0,0,1,3,0,0,0,4,0,2,0,0,0,0,0],
-/* H O */ [13,18,13,25,17,5,13,0,7,1,4,101,62,62,44,29,0,130,45,33,81,8,28,0,6,2],
-/* H P */ [3,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0],
-/* H Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* H R */ [20,0,0,0,23,0,0,0,40,0,0,1,0,0,72,0,0,0,0,0,13,0,0,0,3,0],
-/* H S */ [3,0,1,0,0,0,0,2,1,0,0,0,0,0,3,0,0,0,0,5,0,0,0,0,0,0],
-/* H T */ [3,0,2,1,21,9,1,7,5,0,0,1,4,3,4,1,0,2,7,1,1,0,3,0,6,0],
-/* H U */ [3,13,7,6,3,5,12,1,0,0,0,7,37,26,0,3,0,37,24,15,0,0,0,2,2,1],
-/* H V */ [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* H W */ [17,0,0,0,5,0,0,2,5,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0],
-/* H X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* H Y */ [5,1,1,39,1,0,3,0,1,0,0,13,9,0,0,25,0,9,29,9,0,0,0,1,0,0],
-/* H Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* I A */ [[0,33,20,8,1,0,17,5,1,0,2,169,20,230,0,3,0,30,13,91,0,1,1,2,0,1],
-/* I B */ [11,19,0,0,38,0,0,0,22,0,0,131,1,2,10,0,0,20,1,0,23,0,0,0,2,0],
-/* I C */ [161,0,3,0,113,0,0,62,113,0,142,15,0,4,46,0,0,12,5,53,42,0,0,0,7,0],
-/* I D */ [51,2,0,31,232,0,30,0,46,1,0,5,1,8,10,1,0,1,10,5,11,0,7,0,9,0],
-/* I E */ [0,1,17,6,1,16,11,1,0,0,1,52,4,70,0,1,0,66,18,50,7,17,6,0,0,2],
-/* I F */ [7,0,0,0,31,45,0,0,27,0,0,9,0,1,10,0,0,2,0,24,10,0,0,0,71,0],
-/* I G */ [48,0,0,0,41,0,30,147,30,0,0,4,15,57,20,1,0,23,3,1,15,0,1,0,2,2],
-/* I H */ [1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* I I */ [1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* I J */ [3,0,0,0,2,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0],
-/* I K */ [6,0,0,0,17,0,0,0,3,0,1,0,0,0,3,0,0,0,0,1,2,0,0,0,1,0],
-/* I L */ [60,10,6,36,106,6,5,7,90,0,13,253,14,0,24,1,0,1,10,31,6,6,5,0,10,0],
-/* I M */ [76,26,0,0,94,1,0,1,53,0,0,1,38,1,30,133,0,1,8,0,17,0,0,0,2,0],
-/* I N */ [212,12,143,168,396,83,435,26,94,8,43,9,6,44,70,3,10,2,139,205,35,46,4,4,15,1],
-/* I O */ [2,2,20,10,1,0,9,0,0,0,0,28,12,604,0,8,0,25,13,24,139,3,2,3,0,1],
-/* I P */ [20,5,0,0,26,2,0,16,16,1,0,33,6,0,13,39,0,5,19,28,5,0,1,0,1,0],
-/* I Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0],
-/* I R */ [41,2,39,24,106,7,9,0,19,0,11,20,24,1,24,8,0,39,11,31,3,5,8,0,10,0],
-/* I S */ [35,5,71,4,110,4,2,189,56,1,13,12,93,5,55,33,3,6,85,271,4,1,1,0,8,0],
-/* I T */ [136,1,34,1,184,5,0,77,158,0,1,4,6,5,70,1,0,31,2,105,72,0,1,0,142,19],
-/* I U */ [0,0,1,0,0,0,0,0,0,0,0,1,121,1,0,0,0,1,19,0,0,0,0,0,0,0],
-/* I V */ [57,0,0,0,292,0,0,0,37,0,0,0,0,0,12,0,0,1,0,0,3,0,0,0,2,0],
-/* I W */ [3,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* I X */ [1,0,0,0,2,1,1,0,3,0,0,0,0,0,4,0,0,0,0,9,1,0,0,0,1,0],
-/* I Y */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* I Z */ [9,0,0,0,13,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,1,1,0,0,0,16]],
-/* J A */ [[0,2,32,1,1,0,3,3,2,0,3,1,8,17,0,2,0,5,2,0,2,3,2,1,1,2],
-/* J B */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J C */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J D */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J E */ [4,0,24,1,1,3,0,1,0,2,0,2,0,6,2,0,0,11,9,5,0,0,6,0,0,0],
-/* J F */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J G */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J H */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J I */ [0,1,0,0,0,1,4,0,0,0,0,2,4,3,0,0,0,0,0,4,0,1,0,0,0,0],
-/* J J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J K */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J L */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J M */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J N */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J O */ [4,2,6,0,3,0,3,12,10,0,1,6,0,5,0,0,0,10,10,1,13,4,2,0,7,0],
-/* J P */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J R */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J S */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J T */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J U */ [3,3,0,19,0,0,8,0,2,2,2,8,5,24,0,1,0,15,9,5,0,1,0,2,0,0],
-/* J V */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J W */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J Y */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* J Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* K A */ [[0,3,0,6,1,2,8,2,1,1,1,9,4,13,2,3,0,18,4,17,2,1,2,1,5,2],
-/* K B */ [3,0,0,0,3,0,0,0,2,0,0,0,0,0,11,0,0,1,0,0,1,0,0,0,0,0],
-/* K C */ [2,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],
-/* K D */ [3,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0],
-/* K E */ [4,3,0,7,28,3,3,2,1,0,0,20,5,55,3,3,0,59,18,56,2,1,4,0,27,0],
-/* K F */ [1,0,0,0,1,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0],
-/* K G */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0],
-/* K H */ [9,0,0,0,2,0,0,0,0,0,0,0,1,0,8,0,0,1,0,1,0,0,0,0,0,0],
-/* K I */ [5,2,3,9,15,1,1,0,0,0,1,10,10,87,2,4,0,11,15,13,0,2,2,0,0,0],
-/* K J */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* K K */ [1,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0],
-/* K L */ [15,0,0,0,46,0,0,0,13,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,2,0],
-/* K M */ [13,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* K N */ [5,0,0,0,11,0,0,0,10,0,0,0,0,0,24,0,0,0,0,0,8,0,0,0,0,0],
-/* K O */ [1,1,2,3,2,4,0,2,1,0,1,3,1,7,1,2,0,6,2,1,7,4,5,2,0,0],
-/* K P */ [2,0,0,0,0,0,0,0,4,0,0,4,0,0,5,0,0,0,0,0,0,0,0,0,0,0],
-/* K Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* K R */ [10,0,0,0,3,0,0,0,3,0,0,0,0,0,6,0,0,0,0,0,5,0,0,0,2,0],
-/* K S */ [2,2,1,0,1,0,1,9,5,0,1,0,4,0,8,3,0,0,0,11,4,0,1,0,1,0],
-/* K T */ [3,0,0,0,0,0,0,2,3,0,0,0,0,0,5,0,0,2,0,0,0,0,0,0,0,0],
-/* K U */ [0,0,0,2,0,0,0,1,0,0,0,5,1,1,0,8,0,2,1,1,0,0,1,0,1,0],
-/* K V */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* K W */ [9,0,0,0,4,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0],
-/* K X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* K Y */ [2,0,0,0,1,0,0,1,0,1,0,4,0,0,2,0,0,2,1,0,1,0,3,0,0,0],
-/* K Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* L A */ [[1,46,84,43,3,2,46,9,52,0,10,3,64,242,4,23,1,157,92,210,45,21,23,9,42,11],
-/* L B */ [12,0,0,0,17,0,0,0,3,0,0,2,0,0,13,0,0,4,0,0,4,0,0,0,2,0],
-/* L C */ [9,0,0,0,6,0,0,12,4,0,0,1,1,0,19,0,0,2,0,1,7,0,0,0,2,0],
-/* L D */ [2,3,2,0,41,4,0,1,16,0,0,1,2,3,13,1,0,8,9,2,3,0,5,0,3,0],
-/* L E */ [94,25,75,44,36,13,55,9,26,1,1,9,55,121,22,22,0,77,84,115,12,29,14,30,75,1],
-/* L F */ [9,1,0,0,4,1,1,1,12,0,0,1,0,0,7,0,0,8,1,2,8,0,1,0,0,0],
-/* L G */ [16,0,0,0,12,0,0,0,10,0,0,0,0,0,6,0,0,6,0,0,0,0,0,0,0,0],
-/* L H */ [7,0,0,0,6,0,0,0,2,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0],
-/* L I */ [82,33,140,26,43,37,73,0,0,1,6,11,46,238,50,40,13,5,90,127,12,36,0,3,0,7],
-/* L J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* L K */ [7,0,0,0,4,0,0,3,9,0,0,2,0,1,2,0,0,0,3,0,0,0,3,0,8,0],
-/* L L */ [128,12,2,4,169,7,2,4,152,1,0,0,7,0,100,2,0,1,10,2,41,0,7,0,53,0],
-/* L M */ [27,0,0,2,11,0,0,2,9,0,0,0,1,0,13,0,0,0,4,0,3,0,0,0,3,0],
-/* L N */ [0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0],
-/* L O */ [23,23,65,15,7,4,132,3,32,0,2,7,29,69,50,36,11,74,33,53,66,16,80,1,12,1],
-/* L P */ [11,0,0,0,3,1,0,21,5,0,0,0,1,0,6,0,0,3,1,4,0,0,0,0,1,0],
-/* L Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* L R */ [2,0,0,0,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,2,0,0,0,6,0],
-/* L S */ [7,1,0,0,16,0,0,8,23,0,1,0,1,0,20,3,0,0,1,23,0,0,1,0,2,0],
-/* L T */ [22,1,0,0,23,0,0,14,34,0,0,0,2,0,23,0,0,9,3,0,8,1,1,0,18,5],
-/* L U */ [5,17,26,18,31,5,13,0,5,2,4,8,68,31,15,5,0,21,68,56,0,4,0,13,0,1],
-/* L V */ [19,0,0,1,46,0,0,0,9,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0],
-/* L W */ [8,0,0,0,2,0,0,1,2,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,1,0],
-/* L X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* L Y */ [2,4,12,2,2,2,3,7,2,0,1,3,13,11,2,11,0,2,31,15,1,0,4,0,0,0],
-/* L Z */ [2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* M A */ [[0,10,59,34,3,0,57,7,31,3,25,104,6,326,2,4,0,144,49,192,10,2,3,11,14,7],
-/* M B */ [31,1,0,1,44,0,0,0,32,0,0,31,0,1,27,1,0,32,1,0,21,0,0,0,0,0],
-/* M C */ [3,1,17,6,2,2,9,3,5,0,9,3,3,4,2,1,0,0,0,0,0,0,0,0,0,0],
-/* M D */ [0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0],
-/* M E */ [30,6,8,45,3,2,14,1,4,0,1,51,19,283,10,4,0,125,39,128,0,2,9,3,4,1],
-/* M F */ [0,0,0,0,3,0,0,0,3,0,0,2,0,0,4,0,0,0,0,0,4,0,0,0,0,0],
-/* M G */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* M H */ [0,0,0,0,3,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,1,0,0,0,0,0],
-/* M I */ [19,0,93,54,8,2,19,0,0,1,2,76,9,194,4,0,1,21,96,109,10,0,0,5,0,1],
-/* M J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* M K */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* M L */ [1,0,0,0,3,0,0,0,6,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0],
-/* M M */ [40,0,0,0,46,0,0,0,33,0,0,0,0,0,32,0,0,0,0,0,17,0,0,0,12,0],
-/* M N */ [12,0,0,0,4,0,0,0,10,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,1,0],
-/* M O */ [4,10,13,28,4,1,14,3,11,0,6,47,10,168,16,3,0,107,40,45,56,8,1,1,1,2],
-/* M P */ [52,3,0,0,71,1,1,26,18,0,4,71,0,0,50,0,0,41,9,43,19,0,0,0,7,0],
-/* M Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0],
-/* M R */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0],
-/* M S */ [0,1,2,1,5,1,0,2,3,0,1,0,2,0,8,2,0,0,1,10,1,0,0,0,2,0],
-/* M T */ [0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0],
-/* M U */ [0,0,7,11,6,3,6,0,2,0,2,55,11,29,2,1,0,18,53,30,0,0,0,0,0,3],
-/* M V */ [0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* M W */ [2,0,0,0,2,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* M X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* M Y */ [0,0,11,0,5,0,1,0,0,0,0,1,0,2,7,0,0,7,7,4,0,0,0,0,0,0],
-/* M Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* N A */ [[2,24,33,23,6,3,30,6,20,0,9,115,29,59,2,31,0,94,28,159,19,10,5,0,1,5],
-/* N B */ [5,0,1,0,20,0,0,0,1,0,0,4,0,0,7,0,0,4,1,0,10,0,0,0,0,0],
-/* N C */ [25,0,0,0,190,0,0,87,51,0,1,18,0,0,62,0,0,16,0,36,21,0,0,0,8,0],
-/* N D */ [75,11,4,1,162,6,3,7,102,1,1,22,10,2,57,9,2,46,30,4,37,0,11,0,20,0],
-/* N E */ [34,12,36,12,29,17,16,4,14,0,0,45,16,20,25,8,6,88,80,84,32,12,37,18,45,3],
-/* N F */ [15,0,0,0,30,0,0,0,38,0,0,23,0,0,26,0,0,10,0,0,19,0,0,0,0,0],
-/* N G */ [22,8,0,3,114,6,0,15,18,0,3,51,5,0,20,2,0,24,24,28,38,0,2,0,9,0],
-/* N H */ [18,0,0,0,16,0,0,0,6,0,0,0,0,0,15,0,0,0,0,0,2,0,0,0,3,0],
-/* N I */ [90,9,148,14,33,27,35,4,1,0,5,12,25,44,26,21,7,4,87,94,29,11,0,4,0,4],
-/* N J */ [2,0,0,0,3,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,13,0,0,0,0,0],
-/* N K */ [6,0,1,0,22,4,1,1,10,0,0,12,2,0,1,1,0,2,2,3,0,0,0,0,9,0],
-/* N L */ [9,0,0,0,8,0,0,0,5,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,1,0],
-/* N M */ [8,0,0,0,5,0,0,0,2,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0],
-/* N N */ [39,0,0,0,74,0,0,0,52,0,1,0,0,0,23,0,0,0,1,0,14,0,1,0,25,0],
-/* N O */ [4,18,21,10,4,4,15,0,11,0,0,30,60,34,11,11,0,80,32,47,52,18,24,7,2,2],
-/* N P */ [0,0,0,0,1,0,0,0,1,0,0,4,0,0,6,0,0,0,0,0,2,0,0,0,0,0],
-/* N Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0],
-/* N R */ [3,0,1,0,1,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,3,0,0,0,6,0],
-/* N S */ [26,4,23,2,73,17,3,12,96,0,5,8,13,0,60,25,0,1,3,79,39,4,4,0,5,0],
-/* N T */ [143,1,1,1,175,2,2,64,209,0,0,13,3,1,65,1,0,114,3,0,32,0,2,0,21,1],
-/* N U */ [12,6,16,6,11,3,6,0,5,0,1,15,35,9,6,3,0,9,25,31,1,0,0,0,0,1],
-/* N V */ [15,0,0,0,43,0,0,0,20,0,0,0,0,0,17,0,0,0,0,0,4,0,0,0,1,0],
-/* N W */ [12,0,0,0,3,0,0,2,4,0,0,0,0,0,6,0,0,1,0,0,0,0,0,0,0,0],
-/* N X */ [0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0],
-/* N Y */ [5,3,1,1,0,0,0,1,0,0,0,7,14,0,4,1,1,1,3,1,1,1,2,1,0,0],
-/* N Z */ [10,0,0,0,5,0,0,0,5,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,5,0]],
-/* O A */ [[1,0,20,30,0,2,5,2,0,0,9,9,8,18,0,4,1,51,13,44,1,1,0,2,0,0],
-/* O B */ [17,24,2,2,28,2,0,1,32,4,0,19,0,1,16,0,0,5,26,3,8,3,1,0,2,0],
-/* O C */ [50,0,28,0,38,0,0,47,26,0,129,14,0,0,33,0,0,25,0,34,20,0,0,0,8,0],
-/* O D */ [17,3,3,15,59,3,13,4,47,0,1,13,2,1,22,3,0,8,11,0,21,0,8,0,35,0],
-/* O E */ [0,6,1,7,0,3,0,1,6,0,1,10,3,13,1,0,1,10,15,6,2,7,0,3,1,0],
-/* O F */ [7,0,0,0,4,63,0,0,10,0,0,4,1,0,6,0,0,1,0,15,4,0,0,0,1,0],
-/* O G */ [34,2,0,1,44,1,22,3,15,1,0,11,3,11,7,0,0,80,1,2,18,0,1,0,83,0],
-/* O H */ [10,0,0,0,8,0,0,0,6,0,0,1,5,9,5,0,0,2,0,0,0,0,0,0,1,0],
-/* O I */ [3,1,12,53,1,1,2,0,0,0,1,27,0,51,0,0,0,11,39,8,0,0,0,1,0,0],
-/* O J */ [1,0,0,0,5,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* O K */ [5,2,1,0,48,0,0,1,7,0,1,4,0,0,3,1,0,0,5,0,3,0,1,0,6,0],
-/* O L */ [71,4,6,83,111,8,5,3,121,0,14,124,16,1,132,6,0,1,18,24,43,16,2,0,46,1],
-/* O M */ [89,50,1,0,174,5,0,1,76,0,0,2,64,7,56,125,1,1,4,0,4,0,2,0,22,0],
-/* O N */ [129,3,64,82,181,52,86,3,124,10,11,7,3,46,75,1,6,10,107,149,8,38,9,1,54,5],
-/* O O */ [0,2,4,92,0,22,4,1,0,0,68,42,42,44,0,19,0,21,21,68,0,3,0,0,0,2],
-/* O P */ [28,1,2,0,71,0,2,82,32,1,3,16,1,1,45,29,0,17,14,21,10,0,2,0,19,0],
-/* O Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0],
-/* O R */ [122,26,31,96,138,7,34,2,143,0,61,8,85,76,61,59,1,58,46,211,11,4,9,0,116,1],
-/* O S */ [31,4,24,0,107,0,3,18,102,0,2,7,9,1,18,42,2,0,63,127,5,1,2,0,8,0],
-/* O T */ [45,7,11,0,64,2,1,88,63,0,0,10,3,1,42,4,0,17,7,63,9,0,3,0,11,0],
-/* O U */ [3,11,17,13,3,3,62,1,6,0,0,32,1,137,0,11,1,86,445,103,0,7,0,1,0,2],
-/* O V */ [26,0,0,0,109,0,0,0,27,0,1,0,0,0,7,0,0,0,0,0,0,0,0,0,2,0],
-/* O W */ [18,14,2,13,48,6,0,8,8,0,1,28,7,83,1,8,0,5,13,2,2,0,1,0,4,1],
-/* O X */ [2,1,3,0,5,1,1,3,26,0,0,0,0,1,1,0,0,0,0,1,0,1,1,0,14,0],
-/* O Y */ [15,1,4,6,3,1,0,0,1,0,0,3,0,1,4,1,0,1,2,1,0,0,0,0,0,0],
-/* O Z */ [2,0,0,0,9,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,3,1]],
-/* P A */ [[0,8,38,11,1,0,18,0,17,0,2,50,5,73,1,23,1,176,50,101,18,5,7,1,10,2],
-/* P B */ [3,0,0,0,3,0,0,0,0,0,0,1,0,0,6,0,0,2,1,0,3,0,0,0,0,0],
-/* P C */ [0,0,0,0,0,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0],
-/* P D */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0],
-/* P E */ [51,1,62,34,19,4,8,0,3,1,2,47,2,108,4,10,0,292,22,50,3,1,8,2,2,4],
-/* P F */ [0,0,0,0,1,0,0,0,2,0,0,1,0,0,0,0,0,1,0,0,3,0,0,0,0,0],
-/* P G */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0],
-/* P H */ [56,0,0,2,88,0,0,0,76,0,0,3,0,1,97,0,0,13,1,3,5,0,0,0,79,0],
-/* P I */ [21,0,74,25,33,1,19,0,0,0,6,27,3,74,12,11,2,37,27,57,3,2,0,2,0,2],
-/* P J */ [1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* P K */ [0,0,0,0,2,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* P L */ [150,0,0,0,121,0,0,0,59,0,0,0,0,0,33,0,0,0,0,0,29,0,0,0,11,0],
-/* P M */ [6,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0],
-/* P N */ [0,0,0,0,4,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0],
-/* P O */ [2,1,19,10,12,2,7,0,31,0,12,111,14,55,23,17,0,97,126,52,20,3,13,3,2,0],
-/* P P */ [16,0,0,0,48,0,0,1,20,0,0,32,1,0,25,0,0,32,3,0,1,0,0,0,16,0],
-/* P Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* P R */ [39,0,0,0,166,0,0,0,104,0,0,0,0,0,273,0,0,0,0,0,12,0,0,0,1,0],
-/* P S */ [4,1,3,0,17,0,0,5,22,0,1,1,2,0,13,0,0,0,0,14,6,0,1,0,35,0],
-/* P T */ [16,0,1,0,9,0,0,3,107,0,0,0,0,0,33,0,0,3,0,0,19,0,0,0,4,0],
-/* P U */ [1,8,4,8,3,6,4,0,1,0,1,41,8,22,0,9,0,39,18,28,0,0,0,0,0,1],
-/* P V */ [0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* P W */ [3,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0],
-/* P X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* P Y */ [1,2,0,0,0,0,3,0,1,0,1,3,0,0,1,0,0,20,0,3,0,0,1,0,0,0],
-/* P Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* Q A */ [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0],
-/* Q B */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q C */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q D */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q E */ [0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q F */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q G */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q H */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q I */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q K */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q L */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q M */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q N */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q O */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q P */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q R */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q S */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q T */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q U */ [110,0,0,0,100,0,0,0,128,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,3,0],
-/* Q V */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q W */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q Y */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Q Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* R A */ [[0,72,130,95,8,35,73,14,85,3,10,121,95,313,2,119,1,26,66,277,19,45,28,2,28,13],
-/* R B */ [32,0,0,0,26,0,0,0,35,0,0,4,0,0,44,0,0,3,1,0,9,0,0,0,5,0],
-/* R C */ [18,0,2,0,47,0,0,86,25,0,3,11,0,0,13,0,0,1,2,7,38,0,0,0,4,0],
-/* R D */ [22,5,1,0,26,1,0,4,42,0,0,4,0,2,17,1,0,5,9,4,3,0,4,0,7,0],
-/* R E */ [166,26,106,99,114,52,55,20,25,4,4,60,69,143,20,72,8,11,257,119,14,56,34,7,23,2],
-/* R F */ [11,0,0,0,15,1,0,0,9,0,0,7,0,0,8,0,0,4,0,0,12,0,0,0,0,0],
-/* R G */ [26,0,0,0,63,0,0,5,25,0,0,11,1,0,18,0,0,2,2,0,13,0,0,0,11,0],
-/* R H */ [11,0,0,0,19,0,0,0,5,0,0,0,0,0,18,0,0,0,0,0,2,0,0,0,3,0],
-/* R I */ [182,54,210,87,79,38,65,1,0,1,6,49,65,166,82,61,1,0,151,141,29,44,1,6,1,10],
-/* R J */ [0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,2,0,0,0,0,0],
-/* R K */ [4,2,0,1,19,0,0,3,9,0,0,6,3,2,5,3,0,1,10,2,0,0,1,0,6,0],
-/* R L */ [24,2,0,4,28,0,0,0,36,0,0,0,0,0,14,1,0,0,2,1,2,0,1,0,8,0],
-/* R M */ [97,1,2,0,29,2,0,3,65,0,0,2,0,0,39,1,0,0,1,1,10,0,1,0,5,0],
-/* R N */ [53,5,0,0,50,4,0,3,29,0,1,0,6,0,16,1,0,0,9,5,7,0,2,0,4,0],
-/* R O */ [46,40,79,40,18,22,56,4,32,5,10,76,90,167,84,127,2,14,127,74,127,42,63,17,15,3],
-/* R P */ [10,0,0,0,21,0,0,33,10,0,0,5,1,0,25,0,0,12,8,8,5,0,0,0,1,0],
-/* R Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0],
-/* R R */ [53,0,0,0,92,0,0,5,85,0,0,0,0,0,47,0,0,0,0,0,14,0,0,0,60,0],
-/* R S */ [26,2,2,2,84,1,0,16,44,0,4,2,3,1,43,12,1,0,0,32,14,1,2,0,2,0],
-/* R T */ [39,2,2,0,61,5,3,101,99,0,0,11,7,3,32,0,0,17,12,1,27,0,2,0,24,7],
-/* R U */ [5,21,30,31,15,6,12,0,18,0,0,10,46,41,1,28,0,3,83,22,0,1,1,1,0,1],
-/* R V */ [31,0,0,0,37,0,0,0,28,0,0,0,0,0,5,0,0,0,0,0,1,0,0,0,2,0],
-/* R W */ [15,0,0,0,6,0,0,0,12,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0],
-/* R X */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* R Y */ [5,3,3,5,3,0,1,0,0,0,0,10,11,4,12,16,0,0,9,4,0,0,2,0,0,0],
-/* R Z */ [2,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0]],
-/* S A */ [[2,44,23,16,1,10,21,4,16,1,7,80,17,89,1,10,0,36,10,43,22,10,13,5,7,0],
-/* S B */ [9,0,0,0,4,0,0,0,2,0,0,0,0,0,6,0,0,2,0,0,18,0,0,0,3,0],
-/* S C */ [81,0,0,0,65,0,1,78,37,0,0,5,1,0,88,0,0,92,0,0,40,0,0,0,3,0],
-/* S D */ [11,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,2,0,0,2,0,0,0,0,0],
-/* S E */ [38,14,47,18,33,7,8,3,11,0,1,63,39,101,5,28,14,83,28,41,12,19,15,15,19,1],
-/* S F */ [3,0,0,0,7,0,0,0,5,0,0,0,0,0,7,0,0,0,0,0,6,0,0,0,1,0],
-/* S G */ [0,0,0,0,2,0,0,0,2,0,0,0,0,0,2,0,0,5,1,0,2,0,0,0,0,0],
-/* S H */ [97,9,1,0,79,3,0,0,75,0,1,4,16,3,81,2,0,27,0,1,20,1,6,0,17,0],
-/* S I */ [55,56,44,80,28,15,38,0,0,0,2,50,40,78,148,7,1,7,99,89,9,76,0,8,0,3],
-/* S J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* S K */ [9,0,0,0,24,0,0,0,35,0,0,0,2,0,3,0,0,1,0,0,5,0,0,0,23,0],
-/* S L */ [42,0,0,0,35,0,0,0,29,0,0,1,0,0,29,0,0,0,0,0,13,0,0,0,2,0],
-/* S M */ [57,0,0,0,30,0,0,0,31,0,0,0,0,0,25,0,0,0,0,0,14,0,0,0,2,0],
-/* S N */ [21,0,0,0,12,0,0,0,12,0,0,0,0,0,19,0,0,0,0,4,6,0,0,0,2,0],
-/* S O */ [6,4,26,12,6,10,4,1,8,1,0,67,65,190,8,21,0,71,0,11,34,6,3,0,3,1],
-/* S P */ [63,1,0,0,116,0,0,41,82,0,0,24,0,0,69,0,0,34,1,0,16,0,0,0,3,0],
-/* S Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0],
-/* S R */ [4,0,0,0,1,0,0,0,1,0,0,0,0,0,2,0,0,0,1,0,3,0,0,0,0,0],
-/* S S */ [50,3,2,0,77,3,0,4,151,0,0,5,11,1,42,2,0,4,0,4,17,0,13,0,19,0],
-/* S T */ [258,6,4,1,291,9,1,11,240,1,0,25,12,2,205,6,0,255,3,0,58,2,7,0,36,0],
-/* S U */ [14,38,17,6,7,11,6,0,11,0,0,39,35,37,1,42,0,71,30,4,0,0,0,0,0,4],
-/* S V */ [0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],
-/* S W */ [37,0,0,0,31,0,0,0,28,0,0,0,0,0,21,0,0,2,0,0,2,0,0,0,0,0],
-/* S X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* S Y */ [0,2,32,1,1,0,1,0,0,0,1,18,19,30,0,2,0,9,5,1,0,0,0,0,0,1],
-/* S Z */ [0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* T A */ [[0,74,44,8,3,9,45,8,68,0,15,130,36,181,1,23,0,128,22,185,13,11,9,13,4,0],
-/* T B */ [7,0,0,0,4,0,0,0,4,0,0,0,0,0,6,0,0,3,0,0,3,0,0,0,0,0],
-/* T C */ [5,0,0,0,0,0,0,112,0,0,0,2,0,0,5,0,0,1,0,0,1,0,0,0,1,0],
-/* T D */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0],
-/* T E */ [52,9,29,37,66,9,17,6,16,0,2,65,49,185,18,20,0,588,61,23,9,9,9,16,1,0],
-/* T F */ [6,0,0,0,1,0,0,0,5,0,0,1,0,0,6,0,0,1,0,0,24,0,0,0,0,0],
-/* T G */ [4,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,0,0],
-/* T H */ [68,6,1,5,274,8,1,2,62,0,1,9,13,3,90,4,1,61,8,2,31,0,16,0,49,0],
-/* T I */ [99,35,342,16,35,45,34,0,0,0,3,67,75,183,419,28,9,18,75,88,9,128,0,0,0,2],
-/* T J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* T K */ [2,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0],
-/* T L */ [18,0,0,0,102,0,0,0,5,0,0,2,0,0,3,0,0,0,0,0,2,0,0,0,3,0],
-/* T M */ [25,0,0,0,8,0,0,0,3,0,0,0,0,0,11,0,0,0,0,0,3,0,0,0,0,0],
-/* T N */ [3,0,0,0,9,0,0,0,5,0,0,0,0,0,2,0,0,0,0,4,1,0,0,0,0,0],
-/* T O */ [5,6,34,11,8,7,26,0,14,0,9,38,65,238,26,56,0,319,19,16,36,3,36,7,3,2],
-/* T P */ [2,0,0,0,1,0,0,0,1,0,0,2,0,0,3,0,0,5,0,0,0,0,0,0,0,0],
-/* T Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* T R */ [315,0,0,0,98,0,0,0,246,0,0,0,0,0,201,0,0,0,0,0,68,0,1,0,64,0],
-/* T S */ [2,2,2,1,10,2,0,3,4,0,1,0,13,0,9,3,0,0,0,8,5,2,5,0,3,0],
-/* T T */ [44,0,0,0,154,1,1,2,53,0,1,45,0,0,33,0,0,10,8,0,4,1,0,0,25,0],
-/* T U */ [41,14,9,41,8,5,4,0,10,0,0,19,30,29,13,10,0,159,35,22,0,0,0,1,1,0],
-/* T V */ [3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* T W */ [14,0,0,0,12,0,0,1,23,0,0,0,0,0,15,0,0,0,0,0,2,0,0,1,0,0],
-/* T X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* T Y */ [2,1,2,0,0,0,1,0,1,0,0,14,2,0,0,34,0,14,3,0,0,0,2,1,0,0],
-/* T Z */ [1,0,0,0,5,0,1,0,2,0,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0]],
-/* U A */ [[0,4,7,21,0,1,5,1,4,0,5,51,2,26,0,1,0,48,9,37,0,2,4,0,3,0],
-/* U B */ [8,18,0,1,20,0,0,2,18,2,0,23,5,0,2,1,0,10,15,8,7,2,0,0,1,0],
-/* U C */ [10,0,14,0,23,0,0,31,29,0,55,16,0,0,7,0,0,9,1,47,5,0,0,0,2,0],
-/* U D */ [17,1,0,24,67,0,18,0,39,0,0,4,0,0,8,0,0,1,10,0,2,0,2,0,7,1],
-/* U E */ [6,9,0,1,5,5,4,1,0,1,0,21,1,33,1,1,0,19,22,15,2,0,0,0,3,6],
-/* U F */ [1,0,0,0,0,58,0,0,0,0,0,1,1,0,1,0,0,0,0,3,1,0,0,0,0,0],
-/* U G */ [19,1,0,0,21,0,34,80,3,0,0,4,2,2,6,0,0,1,1,0,11,0,0,0,0,0],
-/* U H */ [3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],
-/* U I */ [3,2,14,14,6,0,1,0,0,0,0,32,0,31,1,8,0,19,44,64,1,4,0,2,0,3],
-/* U J */ [1,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0],
-/* U K */ [1,0,0,1,12,0,0,0,3,0,1,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0],
-/* U L */ [136,4,11,11,46,14,7,0,35,0,10,67,5,2,23,16,0,1,24,73,16,3,1,0,5,1],
-/* U M */ [22,52,3,1,51,5,0,1,32,0,0,2,28,11,8,48,1,0,8,1,6,2,0,0,0,0],
-/* U N */ [21,6,73,131,25,5,46,2,55,0,33,4,2,13,4,2,0,2,15,82,1,0,2,0,5,0],
-/* U O */ [0,0,0,1,0,0,0,0,3,0,0,2,0,3,0,2,0,16,3,5,29,0,0,0,2,0],
-/* U P */ [4,4,1,2,31,1,1,14,10,0,1,13,1,0,8,24,0,13,13,24,2,0,2,0,2,0],
-/* U Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0],
-/* U R */ [75,27,21,17,149,8,60,1,66,2,11,17,11,55,28,15,1,51,43,43,9,15,3,0,28,1],
-/* U S */ [31,5,29,2,105,0,1,53,64,0,17,3,0,1,8,12,1,0,34,115,6,0,0,0,4,0],
-/* U T */ [45,1,14,1,69,0,1,55,77,0,0,8,3,3,49,0,0,13,7,51,11,0,2,0,6,2],
-/* U U */ [0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* U V */ [0,0,0,0,8,0,0,0,5,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0],
-/* U W */ [2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* U X */ [0,0,0,0,4,0,0,0,2,0,0,1,0,0,1,0,0,0,0,5,4,0,0,0,0,0],
-/* U Y */ [1,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0],
-/* U Z */ [2,0,0,0,4,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,12]],
-/* V A */ [[0,9,20,8,1,0,14,2,8,1,3,69,2,57,0,1,0,31,18,36,5,0,0,0,0,0],
-/* V B */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V C */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V D */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V E */ [6,2,5,4,4,3,6,4,5,0,1,47,4,120,3,1,0,271,46,24,0,0,1,5,10,0],
-/* V F */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V G */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V H */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V I */ [37,4,33,23,21,2,8,0,2,0,3,43,0,47,18,0,0,16,65,30,5,16,0,2,0,1],
-/* V J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V K */ [0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V L */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* V M */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V N */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V O */ [0,0,23,0,0,0,3,0,9,0,5,48,2,6,1,0,0,10,4,9,10,1,3,0,6,0],
-/* V P */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V R */ [0,0,0,0,5,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* V S */ [0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V T */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V U */ [0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,2,2,0,0,0,0,0,0,0],
-/* V V */ [0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0],
-/* V W */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* V Y */ [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0],
-/* V Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0]],
-/* W A */ [[1,4,7,8,0,3,12,3,18,0,8,53,5,20,0,4,0,100,27,55,1,9,1,4,71,1],
-/* W B */ [6,0,0,0,7,0,0,0,1,0,0,0,0,0,10,0,0,3,0,0,1,0,0,0,0,0],
-/* W C */ [3,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0],
-/* W D */ [0,0,0,0,5,0,0,0,1,0,0,0,0,0,4,0,0,3,0,0,1,0,0,0,3,0],
-/* W E */ [30,5,1,9,33,0,2,1,19,0,0,51,0,11,0,2,0,36,21,7,0,2,0,0,2,0],
-/* W F */ [1,0,0,0,0,0,0,0,3,0,0,3,0,0,4,0,0,0,0,0,3,0,0,0,0,0],
-/* W G */ [0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* W H */ [18,0,0,0,47,0,0,0,52,0,0,0,0,0,19,0,0,0,0,0,1,0,0,0,1,0],
-/* W I */ [0,0,14,18,5,5,15,0,0,0,0,40,2,83,0,2,0,8,38,47,0,4,0,1,0,2],
-/* W J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* W K */ [0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0],
-/* W L */ [3,0,0,0,9,0,0,0,5,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,3,0],
-/* W M */ [8,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* W N */ [0,1,1,1,6,1,1,2,3,0,0,0,0,0,0,2,0,1,10,4,1,0,2,0,3,0],
-/* W O */ [0,1,0,0,3,1,0,0,0,0,3,10,17,8,54,1,0,121,1,1,3,2,1,0,0,0],
-/* W P */ [1,0,0,0,1,0,0,0,1,0,0,1,0,0,5,0,0,0,0,0,1,0,0,0,0,0],
-/* W Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* W R */ [7,0,0,0,12,0,0,0,25,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,6,0],
-/* W S */ [0,1,1,0,2,0,0,1,1,0,1,2,2,0,5,3,0,1,1,4,1,0,2,0,1,0],
-/* W T */ [1,0,0,0,1,0,0,3,1,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0],
-/* W U */ [0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,1,0,2,0,0,0,0,0,0,0,0],
-/* W V */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* W W */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* W X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* W Y */ [2,0,0,0,5,0,0,0,0,0,0,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0],
-/* W Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0]],
-/* X A */ [[0,0,5,1,0,1,3,0,0,0,0,4,6,6,0,0,0,0,3,6,0,1,0,0,0,0],
-/* X B */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* X C */ [3,0,0,0,11,0,0,3,7,0,0,7,0,0,3,0,0,5,0,0,7,0,0,0,0,0],
-/* X D */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X E */ [0,0,7,1,0,0,2,0,1,0,0,2,6,9,0,0,0,6,1,1,0,0,0,0,1,0],
-/* X F */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* X G */ [0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* X H */ [7,0,0,0,0,0,0,0,4,0,0,0,0,0,4,0,0,0,0,0,2,0,0,0,0,0],
-/* X I */ [8,2,12,8,4,2,2,0,0,0,0,2,11,4,8,0,0,0,9,2,0,1,1,0,0,0],
-/* X J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X K */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X L */ [0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X M */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X N */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X O */ [0,0,0,1,0,0,3,0,0,0,0,1,1,10,0,1,0,6,1,5,0,0,0,0,0,0],
-/* X P */ [8,0,0,0,27,0,0,0,5,0,0,18,0,0,12,0,0,7,0,0,3,0,0,0,0,0],
-/* X Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* X R */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X S */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X T */ [6,1,0,0,22,0,0,1,7,0,0,0,0,0,7,0,0,31,0,0,9,0,0,0,1,0],
-/* X U */ [4,1,0,2,0,0,0,0,0,0,0,3,0,0,0,1,0,6,0,0,0,0,0,0,0,0],
-/* X V */ [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* X W */ [0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
-/* X X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* X Y */ [0,0,0,0,0,0,2,0,0,0,0,6,0,0,0,0,0,2,0,0,0,0,0,0,0,0],
-/* X Z */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],
-/* Y A */ [[0,0,5,5,0,0,1,1,0,0,2,11,3,29,1,4,1,20,1,3,0,0,3,0,0,0],
-/* Y B */ [4,0,0,4,7,0,0,0,2,0,0,0,0,0,9,0,0,3,0,0,3,0,0,0,0,0],
-/* Y C */ [4,0,0,0,18,0,0,31,4,0,0,19,0,0,12,0,0,0,0,0,0,0,0,0,0,0],
-/* Y D */ [4,1,0,0,12,0,0,0,2,0,0,0,0,2,1,0,0,37,0,0,0,0,0,0,0,0],
-/* Y E */ [11,3,0,1,1,1,1,0,1,0,0,13,1,6,2,1,0,19,7,6,0,1,1,0,0,0],
-/* Y F */ [1,0,0,0,1,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,4,0,0,0,0,0],
-/* Y G */ [0,0,0,1,2,0,0,0,2,0,0,1,3,1,8,0,0,3,0,0,1,0,0,0,2,0],
-/* Y H */ [0,0,0,0,4,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,1,0],
-/* Y I */ [0,0,0,1,1,0,0,0,0,0,0,0,0,9,0,2,0,0,2,0,0,0,0,0,0,0],
-/* Y J */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Y K */ [0,0,0,0,3,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Y L */ [15,0,0,0,22,0,0,0,13,0,1,19,0,0,11,1,0,0,2,0,3,6,0,0,0,0],
-/* Y M */ [18,4,1,0,20,0,0,0,5,0,0,0,3,7,11,20,0,0,0,0,2,0,0,0,1,0],
-/* Y N */ [14,0,11,3,12,0,3,1,2,0,0,0,0,3,11,0,0,0,0,6,0,0,0,2,1,0],
-/* Y O */ [0,0,2,2,0,4,6,0,0,0,5,2,1,18,0,4,0,8,4,5,17,1,1,0,0,1],
-/* Y P */ [2,0,0,0,24,0,0,17,5,0,0,2,0,2,21,0,0,5,7,16,3,0,0,0,1,0],
-/* Y Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0],
-/* Y R */ [15,0,0,2,6,1,0,0,21,0,0,0,0,2,29,0,0,2,0,1,4,0,0,0,1,0],
-/* Y S */ [3,1,3,0,12,0,0,1,38,0,0,1,2,0,4,3,0,0,6,39,2,0,0,0,0,0],
-/* Y T */ [2,0,0,0,16,0,0,16,10,0,0,0,0,0,12,0,0,0,0,2,0,0,0,0,1,0],
-/* Y U */ [0,0,3,0,0,0,3,1,0,0,2,1,0,1,0,1,0,0,2,0,0,0,0,0,0,0],
-/* Y V */ [1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Y W */ [10,0,1,0,3,0,0,2,4,0,0,0,0,0,5,0,0,3,0,0,0,0,0,0,0,0],
-/* Y X */ [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Y Y */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Y Z */ [2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0]],
-/* Z A */ [[1,3,2,0,0,0,5,1,1,0,1,4,1,11,0,1,0,19,0,0,0,1,0,0,0,1],
-/* Z B */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z C */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z D */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z E */ [5,1,2,1,1,0,0,0,1,0,1,7,0,12,0,0,0,13,3,3,1,0,1,0,0,0],
-/* Z F */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z G */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z H */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z I */ [1,1,2,0,7,0,5,0,0,0,0,5,4,6,1,1,0,2,1,1,1,0,0,0,0,0],
-/* Z J */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z K */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z L */ [0,0,0,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0],
-/* Z M */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z N */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z O */ [3,0,0,2,2,0,1,0,7,0,0,0,3,10,5,2,0,5,0,0,1,1,0,0,0,0],
-/* Z P */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z Q */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z R */ [1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* Z S */ [0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z T */ [0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z U */ [0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],
-/* Z V */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* Z W */ [0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],
-/* Z X */ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z Y */ [0,1,0,0,0,0,4,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0],
-/* Z Z */ [7,0,0,0,1,0,0,0,7,0,0,17,0,0,2,0,0,0,0,0,0,0,1,0,5,0]]];
+    return shuffle(password_combination)
+  }
 
-	// Pick a random starting point.
-	pik = Math.random(); // random number [0,1]
-	ranno = pik * 125729.0;
-	sum = 0;
-	for (c1=0; c1 < 26; c1++) {
-	    for (c2=0; c2 < 26; c2++) {
-		for (c3=0; c3 < 26; c3++) {
-		    sum += _trigram[c1][c2][c3];
-		    if (sum > ranno) {
-			output += _alphabet.charAt(c1);
-			output += _alphabet.charAt(c2);
-			output += _alphabet.charAt(c3);
-			c1 = 26; // Found start. Break all 3 loops.
-			c2 = 26;
-			c3 = 26;
-		    } // if sum
-		} // for c3
-	    } // for c2
-	} // for c1
-	// Now do a random walk.
-	nchar = 3;
-	while (nchar < pwl) {
-	    c1 = _alphabet.indexOf(output.charAt(nchar-2));
-	    c2 = _alphabet.indexOf(output.charAt(nchar-1));
-	    sum = 0;
-	    for (c3=0; c3 < 26; c3++)
-		sum += _trigram[c1][c2][c3];
-	    if (sum == 0) {
-		//alert("sum was 0, outut="+output);
-		break;	// exit while loop
-	    }
-	    //pik = ran.nextDouble();
-	    pik = Math.random();
-	    ranno = pik * sum;
-	    sum = 0;
-	    for (c3=0; c3 < 26; c3++) {
-		sum += _trigram[c1][c2][c3];
-		if (sum > ranno) {
-		    output += _alphabet.charAt(c3);
-		    c3 = 26; // break for loop
-		} // if sum
-	    } // for c3
-	    nchar ++;
-	} // while nchar
-	
-	return output + Math.floor(Math.random() * 90 + 10)
-    } // pronounceable
-
-} // GPW
+}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/quarantine.js b/mailcow/src/mailcow-dockerized/data/web/js/site/quarantine.js
index 0c35dea..57bd4cc 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/quarantine.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/quarantine.js
@@ -53,12 +53,12 @@
         {"name":"sender","title":lang.sender},
         {"name":"subject","title":lang.subj, "type": "text"},
         {"name":"rspamdaction","title":lang.rspamd_result, "type": "html"},
-        {"name":"rcpt","title":lang.rcpt, "breakpoints":"xs sm md", "type": "text"},
+        {"name":"rcpt","title":lang.rcpt, "type": "text"},
         {"name":"virus","title":lang.danger, "type": "text"},
         {"name":"score","title": lang.spam_score, "type": "text"},
         {"name":"notified","title":lang.notified, "type": "text"},
         {"name":"created","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.received,"style":{"width":"170px"}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right"},"style":{"min-width":"200px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right"},"style":{"min-width":"250px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
       ],
       "rows": $.ajax({
         dataType: 'json',
@@ -95,14 +95,14 @@
               item.notified = '&#10006;';
             }
             if (acl_data.login_as === 1) {
-            item.action = '<div class="btn-group">' +
-              '<a href="#" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-info show_qid_info"><span class="glyphicon glyphicon-modal-window"></span> ' + lang.show_item + '</a>' +
-              '<a href="#" data-action="delete_selected" data-id="del-single-qitem" data-api-url="delete/qitem" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+            item.action = '<div class="btn-group footable-actions">' +
+              '<a href="#" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-xs-half btn-info show_qid_info"><i class="bi bi-box-arrow-up-right"></i> ' + lang.show_item + '</a>' +
+              '<a href="#" data-action="delete_selected" data-id="del-single-qitem" data-api-url="delete/qitem" data-item="' + encodeURI(item.id) + '" class="btn btn-xs  btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
               '</div>';
             }
             else {
             item.action = '<div class="btn-group">' +
-              '<a href="#" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-info show_qid_info"><span class="glyphicon glyphicon-modal-window"></span> ' + lang.show_item + '</a>' +
+              '<a href="#" data-item="' + encodeURI(item.id) + '" class="btn btn-xs btn-info show_qid_info"><i class="bi bi-file-earmark-text"></i> ' + lang.show_item + '</a>' +
               '</div>';
             }
             item.chkbox = '<input type="checkbox" data-id="qitems" name="multi_select" value="' + item.id + '" />';
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/user.js b/mailcow/src/mailcow-dockerized/data/web/js/site/user.js
index 0fdec8f..83aedba 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/user.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/user.js
@@ -1,4 +1,35 @@
+// Base64 functions
+var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(r){var t,e,o,a,h,n,c,d="",C=0;for(r=Base64._utf8_encode(r);C<r.length;)a=(t=r.charCodeAt(C++))>>2,h=(3&t)<<4|(e=r.charCodeAt(C++))>>4,n=(15&e)<<2|(o=r.charCodeAt(C++))>>6,c=63&o,isNaN(e)?n=c=64:isNaN(o)&&(c=64),d=d+this._keyStr.charAt(a)+this._keyStr.charAt(h)+this._keyStr.charAt(n)+this._keyStr.charAt(c);return d},decode:function(r){var t,e,o,a,h,n,c="",d=0;for(r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");d<r.length;)t=this._keyStr.indexOf(r.charAt(d++))<<2|(a=this._keyStr.indexOf(r.charAt(d++)))>>4,e=(15&a)<<4|(h=this._keyStr.indexOf(r.charAt(d++)))>>2,o=(3&h)<<6|(n=this._keyStr.indexOf(r.charAt(d++))),c+=String.fromCharCode(t),64!=h&&(c+=String.fromCharCode(e)),64!=n&&(c+=String.fromCharCode(o));return c=Base64._utf8_decode(c)},_utf8_encode:function(r){r=r.replace(/\r\n/g,"\n");for(var t="",e=0;e<r.length;e++){var o=r.charCodeAt(e);o<128?t+=String.fromCharCode(o):o>127&&o<2048?(t+=String.fromCharCode(o>>6|192),t+=String.fromCharCode(63&o|128)):(t+=String.fromCharCode(o>>12|224),t+=String.fromCharCode(o>>6&63|128),t+=String.fromCharCode(63&o|128))}return t},_utf8_decode:function(r){for(var t="",e=0,o=c1=c2=0;e<r.length;)(o=r.charCodeAt(e))<128?(t+=String.fromCharCode(o),e++):o>191&&o<224?(c2=r.charCodeAt(e+1),t+=String.fromCharCode((31&o)<<6|63&c2),e+=2):(c2=r.charCodeAt(e+1),c3=r.charCodeAt(e+2),t+=String.fromCharCode((15&o)<<12|(63&c2)<<6|63&c3),e+=3);return t}};
 $(document).ready(function() {
+  // Spam score slider
+  var spam_slider = $('#spam_score')[0];
+  if (typeof spam_slider !== 'undefined') {
+    noUiSlider.create(spam_slider, {
+      start: user_spam_score,
+      connect: [true, true, true],
+      range: {
+        'min': [0], //stepsize is 50.000
+        '50%': [10],
+        '70%': [20, 5],
+        '80%': [50, 10],
+        '90%': [100, 100],
+        '95%': [1000, 1000],
+        'max': [5000]
+      },
+    });
+    var connect = spam_slider.querySelectorAll('.noUi-connect');
+    var classes = ['c-1-color', 'c-2-color', 'c-3-color'];
+    for (var i = 0; i < connect.length; i++) {
+      connect[i].classList.add(classes[i]);
+    }
+    spam_slider.noUiSlider.on('update', function (values, handle) {
+      $('.spam-ham-score').text('< ' + Math.round(values[0] * 10) / 10);
+      $('.spam-spam-score').text(Math.round(values[0] * 10) / 10 + ' - ' + Math.round(values[1] * 10) / 10);
+      $('.spam-reject-score').text('> ' + Math.round(values[1] * 10) / 10);
+      $('#spam_score_value').val((Math.round(values[0] * 10) / 10) + ',' + (Math.round(values[1] * 10) / 10));
+    });
+  }
+  // syncjobLogModal
   $('#syncjobLogModal').on('show.bs.modal', function(e) {
     var syncjob_id = $(e.relatedTarget).data('syncjob-id');
     $.ajax({
@@ -15,6 +46,7 @@
   });
   $(".arrow-toggle").on('click', function(e) { e.preventDefault(); $(this).find('.arrow').toggleClass("animation"); });
   $("#pushover_delete").click(function() { return confirm(lang.delete_ays); });
+
 });
 jQuery(function($){
   // http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery
@@ -43,15 +75,64 @@
     return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});
   }
   acl_data = JSON.parse(acl);
-  var last_login = $('.last_login_date').data('time');
-  $('.last_login_date').text(unix_time_format(last_login));
+
+  $('.clear-last-logins').on('click', function () {if (confirm(lang.delete_ays)) {last_logins('reset');}})
+  $(".login-history").on('click', function(e) {e.preventDefault(); last_logins('get', $(this).data('days'));$(this).addClass('active').siblings().removeClass('active');});
+
+  function last_logins(action, days = 1) {
+    if (action == 'get') {
+      $('.last-login').html('<i class="bi bi-hourglass"></i>' +  lang.waiting);
+      $.ajax({
+        dataType: 'json',
+        url: '/api/v1/get/last-login/' + encodeURIComponent(mailcow_cc_username) + '/' + days,
+        jsonp: false,
+        error: function () {
+          console.log('error reading last logins');
+        },
+        success: function (data) {
+          $('.last-login').html();
+          if (data.ui.time) {
+            $('.last-login').html('<i class="bi bi-person-fill"></i> ' + lang.last_ui_login + ': ' + unix_time_format(data.ui.time));
+          } else {
+            $('.last-login').text(lang.no_last_login);
+          }
+          if (data.sasl) {
+            $('.last-login').append('<ul class="list-group">');
+            $.each(data.sasl, function (i, item) {
+              var datetime = new Date(item.datetime.replace(/-/g, "/"));
+              var local_datetime = datetime.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});
+              item.app_password ? app_password = ' <a href="/edit/app-passwd/' + item.app_password + '">(App)</a>' : app_password = "", item.location ? ip_location = ' <span class="flag-icon flag-icon-' + item.location.toLowerCase() + '"></span>' : ip_location = "";
+              "smtp" == item.service ? service = '<div class="label label-default">' + item.service.toUpperCase() + '<i class="bi bi-chevron-compact-right"></i></div>' : "imap" == item.service ? service = '<div class="label label-default"><i class="bi bi-chevron-compact-left"></i> ' + item.service.toUpperCase() + "</div>" : service = '<div class="label label-default">' + item.service.toUpperCase() + "</div>";
+              item.real_rip.startsWith("Web") ? real_rip = item.real_rip : real_rip = '<a href="https://bgp.he.net/ip/' + item.real_rip + '" target="_blank">' + item.real_rip + "</a>";
+              ip_data = real_rip + ip_location + app_password;
+              $(".last-login").append('<li class="list-group-item">' + local_datetime + " " + service + " " + lang.from + " " + ip_data + "</li>");
+            })
+            $('.last-login').append('</ul>');
+          }
+        }
+      })
+    } else if (action == 'reset') {
+      $.ajax({
+        dataType: 'json',
+        url: '/api/v1/get/reset-last-login/' + encodeURIComponent(mailcow_cc_username),
+        jsonp: false,
+        error: function () {
+          console.log('cannot reset last logins');
+        },
+        success: function (data) {
+          last_logins('get');
+        }
+      })
+    }
+  }
 
   function draw_tla_table() {
     ft_tla_table = FooTable.init('#tla_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"40px","width":"40px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
-        {"sorted": true,"name":"address","title":lang.alias},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"address","title":lang.alias},
         {"name":"validity","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.alias_valid_until,"style":{"width":"170px"}},
+        {"sorted": true,"sortValue": function(value){res = new Date(value);return res.getTime();},"direction":"DESC","name":"created","formatter":function date_format(datetime) { var date = new Date(datetime.replace(/-/g, "/")); return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"});},"title":lang.created_on,"style":{"width":"170px"}},
         {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
@@ -65,8 +146,8 @@
         success: function (data) {
           $.each(data, function (i, item) {
             if (acl_data.spam_alias === 1) {
-              item.action = '<div class="btn-group">' +
-                '<a href="#" data-action="delete_selected" data-id="single-tla" data-api-url="delete/time_limited_alias" data-item="' + encodeURIComponent(item.address) + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+              item.action = '<div class="btn-group footable-actions">' +
+                '<a href="#" data-action="delete_selected" data-id="single-tla" data-api-url="delete/time_limited_alias" data-item="' + encodeURIComponent(item.address) + '" class="btn btn-xs btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
                 '</div>';
               item.chkbox = '<input type="checkbox" data-id="tla" name="multi_select" value="' + encodeURIComponent(item.address) + '" />';
               item.address = escapeHtml(item.address);
@@ -93,18 +174,18 @@
   function draw_sync_job_table() {
     ft_syncjob_table = FooTable.init('#sync_job_table', {
       "columns": [
-        {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
+        {"name":"chkbox","title":"","style":{"min-width":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
         {"name":"server_w_port","title":"Server"},
-        {"name":"enc1","title":lang.encryption,"breakpoints":"xs sm"},
+        {"name":"enc1","title":lang.encryption,"breakpoints":"all"},
         {"name":"user1","title":lang.username},
         {"name":"exclude","title":lang.excludes,"breakpoints":"all"},
         {"name":"mins_interval","title":lang.interval + " (min)","breakpoints":"all"},
         {"name":"last_run","title":lang.last_run,"breakpoints":"all"},
         {"name":"log","title":"Log"},
-        {"name":"active","filterable": false,"style":{"maxWidth":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
+        {"name":"active","filterable": false,"style":{"maxWidth":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
         {"name":"is_running","filterable": false,"style":{"maxWidth":"120px","width":"100px"},"title":lang.status},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","min-width":"260px","width":"260px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
       "rows": $.ajax({
@@ -117,7 +198,7 @@
         success: function (data) {
           $.each(data, function (i, item) {
             item.user1 = escapeHtml(item.user1);
-            item.log = '<a href="#syncjobLogModal" data-toggle="modal" data-syncjob-id="' + item.id + '">Open logs</a>'
+            item.log = '<a href="#syncjobLogModal" data-toggle="modal" data-syncjob-id="' + item.id + '">' + lang.open_logs + '</a>'
             if (!item.exclude > 0) {
               item.exclude = '-';
             } else {
@@ -125,9 +206,9 @@
             }
             item.server_w_port = escapeHtml(item.user1 + '@' + item.host1 + ':' + item.port1);
             if (acl_data.syncjobs === 1) {
-              item.action = '<div class="btn-group">' +
-                '<a href="/edit/syncjob/' + item.id + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-                '<a href="#" data-action="delete_selected" data-id="single-syncjob" data-api-url="delete/syncjob" data-item="' + item.id + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+              item.action = '<div class="btn-group footable-actions">' +
+                '<a href="/edit/syncjob/' + item.id + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+                '<a href="#" data-action="delete_selected" data-id="single-syncjob" data-api-url="delete/syncjob" data-item="' + item.id + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
                 '</div>';
               item.chkbox = '<input type="checkbox" data-id="syncjob" name="multi_select" value="' + item.id + '" />';
             }
@@ -164,7 +245,7 @@
         {"name":"chkbox","title":"","style":{"maxWidth":"60px","width":"60px","text-align":"center"},"filterable": false,"sortable": false,"type":"html"},
         {"sorted": true,"name":"id","title":"ID","style":{"maxWidth":"60px","width":"60px","text-align":"center"}},
         {"name":"name","title":lang.app_name},
-        {"name":"active","filterable": false,"style":{"maxWidth":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'&#10003;':0==value&&'&#10005;';}},
+        {"name":"active","filterable": false,"style":{"maxWidth":"70px","width":"70px"},"title":lang.active,"formatter": function(value){return 1==value?'<i class="bi bi-check-lg"></i>':0==value&&'<i class="bi bi-x-lg"></i>';}},
         {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"}
       ],
       "empty": lang.empty,
@@ -177,10 +258,11 @@
         },
         success: function (data) {
           $.each(data, function (i, item) {
+            item.name = escapeHtml(item.name);
             if (acl_data.app_passwds === 1) {
-              item.action = '<div class="btn-group">' +
-                '<a href="/edit/app-passwd/' + item.id + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' +
-                '<a href="#" data-action="delete_selected" data-id="single-apppasswd" data-api-url="delete/app-passwd" data-item="' + item.id + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' +
+              item.action = '<div class="btn-group footable-actions">' +
+                '<a href="/edit/app-passwd/' + item.id + '" class="btn btn-xs btn-xs-half btn-default"><i class="bi bi-pencil-fill"></i> ' + lang.edit + '</a>' +
+                '<a href="#" data-action="delete_selected" data-id="single-apppasswd" data-api-url="delete/app-passwd" data-item="' + item.id + '" class="btn btn-xs btn-xs-half btn-danger"><i class="bi bi-trash"></i> ' + lang.remove + '</a>' +
                 '</div>';
               item.chkbox = '<input type="checkbox" data-id="apppasswd" name="multi_select" value="' + item.id + '" />';
             }
@@ -295,6 +377,7 @@
   draw_tla_table();
   draw_wl_policy_mailbox_table();
   draw_bl_policy_mailbox_table();
+  last_logins('get');
 
   // FIDO2 friendly name modal
   $('#fido2ChangeFn').on('show.bs.modal', function (e) {
@@ -327,4 +410,4 @@
   $('#userFilterModal').on('hidden.bs.modal', function () {
     $('#user_sieve_filter').text(lang.loading);
   });
-});
\ No newline at end of file
+});
diff --git a/mailcow/src/mailcow-dockerized/data/web/json_api.php b/mailcow/src/mailcow-dockerized/data/web/json_api.php
index 46d6e35..cdefb83 100644
--- a/mailcow/src/mailcow-dockerized/data/web/json_api.php
+++ b/mailcow/src/mailcow-dockerized/data/web/json_api.php
@@ -141,7 +141,7 @@
         // fido2-registration via POST
         case "fido2-registration":
           header('Content-Type: application/json');
-          if (isset($_SESSION["mailcow_cc_role"]) && ($_SESSION["mailcow_cc_role"] == "admin" || $_SESSION["mailcow_cc_role"] == "domainadmin")) {
+          if (isset($_SESSION["mailcow_cc_role"])) {
             $post = trim(file_get_contents('php://input'));
             if ($post) {
               $post = json_decode($post);
@@ -302,11 +302,23 @@
           if ($obj_props['superadmin'] === 1) {
             $_SESSION["mailcow_cc_role"] = "admin";
           }
-          else {
+          elseif ($obj_props['superadmin'] === 0) {
             $_SESSION["mailcow_cc_role"] = "domainadmin";
           }
+          else {
+            $stmt = $pdo->prepare("SELECT `username` FROM `mailbox` WHERE `username` = :username");
+            $stmt->execute(array(':username' => $process_fido2['username']));
+            $row = $stmt->fetch(PDO::FETCH_ASSOC);
+            if ($row['username'] == $process_fido2['username']) {
+              $_SESSION["mailcow_cc_role"] = "user";
+            }
+          }
+          if (empty($_SESSION["mailcow_cc_role"])) {
+            session_unset();
+            session_destroy();
+            exit;
+          }
           $_SESSION["mailcow_cc_username"] = $process_fido2['username'];
-          $_SESSION['mailcow_cc_last_login'] = last_login($process_fido2['username']);
           $_SESSION["fido2_cid"] = $process_fido2['cid'];
           unset($_SESSION["challenge"]);
           $_SESSION['return'][] =  array(
@@ -319,8 +331,14 @@
       }
     break;
     case "get":
-      function process_get_return($data) {
-        echo (!isset($data) || empty($data)) ? '{}' : json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
+      function process_get_return($data, $object = true) {
+        if ($object === true) {
+          $ret_str = '{}';
+        }
+        else {
+          $ret_str = '[]';
+        }
+        echo (!isset($data) || empty($data)) ? $ret_str : json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
       }
       // only allow GET requests to GET API endpoints
       if ($_SERVER['REQUEST_METHOD'] != 'GET') {
@@ -334,17 +352,15 @@
       switch ($category) {
         case "u2f-registration":
           header('Content-Type: application/javascript');
-          if (isset($_SESSION["mailcow_cc_role"]) &&
-            ($_SESSION["mailcow_cc_role"] == "admin" || $_SESSION["mailcow_cc_role"] == "domainadmin") &&
-            $_SESSION["mailcow_cc_username"] == $object) {
-              list($req, $sigs) = $u2f->getRegisterData(get_u2f_registrations($object));
-              $_SESSION['regReq'] = json_encode($req);
-              $_SESSION['regSigs'] = json_encode($sigs);
-              echo 'var req = ' . json_encode($req) . ';';
-              echo 'var registeredKeys = ' . json_encode($sigs) . ';';
-              echo 'var appId = req.appId;';
-              echo 'var registerRequests = [{version: req.version, challenge: req.challenge}];';
-              return;
+          if (isset($_SESSION["mailcow_cc_role"]) && $_SESSION["mailcow_cc_username"] == $object) {
+            list($req, $sigs) = $u2f->getRegisterData(get_u2f_registrations($object));
+            $_SESSION['regReq'] = json_encode($req);
+            $_SESSION['regSigs'] = json_encode($sigs);
+            echo 'var req = ' . json_encode($req) . ';';
+            echo 'var registeredKeys = ' . json_encode($sigs) . ';';
+            echo 'var appId = req.appId;';
+            echo 'var registerRequests = [{version: req.version, challenge: req.challenge}];';
+            return;
           }
           else {
             return;
@@ -353,9 +369,7 @@
         // fido2-registration via GET
         case "fido2-registration":
           header('Content-Type: application/json');
-          if (isset($_SESSION["mailcow_cc_role"]) &&
-            ($_SESSION["mailcow_cc_role"] == "admin" || $_SESSION["mailcow_cc_role"] == "domainadmin") &&
-            $_SESSION["mailcow_cc_username"] == $object) {
+          if (isset($_SESSION["mailcow_cc_role"])) {
               // Exclude existing CredentialIds, if any
               $excludeCredentialIds = fido2(array("action" => "get_user_cids"));
               $createArgs = $WebAuthn->getCreateArgs($_SESSION["mailcow_cc_username"], $_SESSION["mailcow_cc_username"], $_SESSION["mailcow_cc_username"], 30, true, $GLOBALS['FIDO2_UV_FLAG_REGISTER'], $excludeCredentialIds);
@@ -446,6 +460,20 @@
             }
           break;
 
+          case "passwordpolicy":
+            switch ($object) {
+              case "html":
+                $password_complexity_rules = password_complexity('html');
+                if ($password_complexity_rules !== false) {
+                  process_get_return($password_complexity_rules);
+                }
+                else {
+                  echo '{}';
+                }
+              break;
+            }
+          break;
+
           case "app-passwd":
             switch ($object) {
               case "all":
@@ -620,6 +648,27 @@
             }
           break;
 
+          case "last-login":
+            if ($object) {
+              // extra == days
+              if (isset($extra) && intval($extra) >= 1) {
+                $data = last_login('get', $object, intval($extra));
+              }
+              else {
+                $data = last_login('get', $object);
+              }
+              process_get_return($data);
+            }
+          break;
+
+          // Todo: move to delete
+          case "reset-last-login":
+            if ($object) {
+              $data = last_login('reset', $object);
+              process_get_return($data);
+            }
+          break;
+
           case "transport":
             switch ($object) {
               case "all":
@@ -780,6 +829,17 @@
                 }
                 echo (isset($logs) && !empty($logs)) ? json_encode($logs, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) : '{}';
               break;
+              case "sasl":
+                // 0 is first record, so empty is fine
+                if (isset($extra)) {
+                  $extra = preg_replace('/[^\d\-]/i', '', $extra);
+                  $logs = get_logs('sasl', $extra);
+                }
+                else {
+                  $logs = get_logs('sasl');
+                }
+                echo (isset($logs) && !empty($logs)) ? json_encode($logs, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) : '{}';
+              break;
               case "watchdog":
                 // 0 is first record, so empty is fine
                 if (isset($extra)) {
@@ -841,18 +901,19 @@
           case "mailbox":
             switch ($object) {
               case "all":
+              case "reduced":
                 if (empty($extra)) {
                   $domains = mailbox('get', 'domains');
                 }
                 else {
-                  $domains = array($extra);
+                  $domains = explode(',', $extra);
                 }
                 if (!empty($domains)) {
                   foreach ($domains as $domain) {
                     $mailboxes = mailbox('get', 'mailboxes', $domain);
                     if (!empty($mailboxes)) {
                       foreach ($mailboxes as $mailbox) {
-                        if ($details = mailbox('get', 'mailbox_details', $mailbox)) {
+                        if ($details = mailbox('get', 'mailbox_details', $mailbox, $object)) {
                           $data[] = $details;
                         }
                         else {
@@ -1154,10 +1215,10 @@
             // "all" will not print details
             switch ($object) {
               case "all":
-                process_get_return(quarantine('get'));
+                process_get_return(quarantine('get'), false);
               break;
               default:
-                process_get_return(quarantine('details', $object));
+                process_get_return(quarantine('details', $object), false);
               break;
             }
           break;
@@ -1189,7 +1250,7 @@
                   $domains = array_merge(mailbox('get', 'domains'), mailbox('get', 'alias_domains'));
                 }
                 else {
-                  $domains = array($extra);
+                  $domains = explode(',', $extra);
                 }
                 if (!empty($domains)) {
                   foreach ($domains as $domain) {
@@ -1437,7 +1498,6 @@
           process_delete_return(dkim('delete', array('domains' => $items)));
         break;
         case "domain":
-          file_put_contents('/tmp/dssaa', $items);
           process_delete_return(mailbox('delete', 'domain', array('domain' => $items)));
         break;
         case "alias-domain":
@@ -1560,6 +1620,9 @@
         case "app_links":
           process_edit_return(customize('edit', 'app_links', $attr));
         break;
+        case "passwordpolicy":
+          process_edit_return(password_complexity('edit', $attr));
+        break;
         case "relayhost":
           process_edit_return(relayhost('edit', array_merge(array('id' => $items), $attr)));
         break;
@@ -1590,6 +1653,9 @@
         case "quota_notification":
           process_edit_return(quota_notification('edit', $attr));
         break;
+        case "quota_notification_bcc":
+          process_edit_return(quota_notification_bcc('edit', $attr));
+        break;
         case "mailq":
           process_edit_return(mailq('edit', array_merge(array('qid' => $items), $attr)));
         break;
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.cs.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.cs.json
index dccdc22..5299f10 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.cs.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.cs.json
@@ -4,17 +4,23 @@
         "app_passwds": "Hesla aplikací",
         "bcc_maps": "BCC mapy",
         "delimiter_action": "Zacházení s označkovanou poštou",
+        "domain_desc": "Změnit popis domény",
+        "domain_relayhost": "Změnit předávající server pro doménu",
         "eas_reset": "Resetování EAS zařízení",
         "extend_sender_acl": "Rozšiřování ACL odesílatele o externí adresy",
         "filters": "Filtry",
         "login_as": "Přihlásit se jako uživatel",
+        "mailbox_relayhost": "Změnit předávající server pro schránku",
         "prohibited": "Zakázáno z důvodu ACL",
+        "protocol_access": "Upravit povolené protokoly",
         "pushover": "Pushover",
         "quarantine": "Karanténa",
         "quarantine_attachments": "Přílohy v karanténě",
+        "quarantine_category": "Změnit kategorii oznámení karantény",
         "quarantine_notification": "Upozornění z karantény",
         "ratelimit": "Omezení provozu",
         "recipient_maps": "Mapy příjemců",
+        "smtp_ip_access": "Spravovat povolené hostitele pro SMTP",
         "sogo_access": "Správa přístupu do SOGo",
         "sogo_profile_reset": "Resetování profilu SOGo",
         "spam_alias": "Dočasné aliasy",
@@ -38,12 +44,13 @@
         "app_password": "Přidat heslo aplikace",
         "automap": "Pokusit se automaticky mapovat složky (\"Sent items\", \"Sent\" => \"Sent\" atd.)",
         "backup_mx_options": "Možnosti záložního MX",
+        "bcc_dest_format": "Cíl kopie musí být jedna platná email adresa. Pokud potřebujete posílat kopie na více adres, vytvořte Alias a použijte jej zde.",
         "comment_info": "Soukromý komentář se nezobrazí uživateli; veřejný komentář se zobrazí jako nápověda při zastavení se kurzorem v přehledu uživatelů",
         "custom_params": "Vlastní parametry",
         "custom_params_hint": "Správně: --param=xy, špatně: --param xy",
-        "delete1": "Odstranit ze zdroje po dokončení",
-        "delete2": "Smazat zprávy v cíli, které nejsou ve zdroji",
-        "delete2duplicates": "Odstranit duplicity v cílovém místě",
+        "delete1": "Odstranit ze zdrojové schránky, po dokončení přenosu",
+        "delete2": "Odstranit zprávy v cílové schránce, pokud nejsou ve zdrojové",
+        "delete2duplicates": "Odstranit duplicity v cílové schránce",
         "description": "Popis",
         "destination": "Cíl",
         "disable_login": "Zakázat přihlášení (ale stále přijímat poštu)",
@@ -88,14 +95,14 @@
         "sieve_desc": "Krátký popis",
         "sieve_type": "Typ filtru",
         "skipcrossduplicates": "Přeskočit duplicitní zprávy (\"první přijde, první mele\")",
-        "subscribeall": "Odebírat všechny složky",
+        "subscribeall": "Synchronizovat všechny složky",
         "syncjob": "Přidat synchronizační úlohu",
         "syncjob_hint": "Upozornění: Heslo bude uloženo jako prostý text!",
         "target_address": "Cílové adresy",
         "target_address_info": "<small>Kompletní email adresa/y (oddělené čárkami).</small>",
         "target_domain": "Cílová doména",
-        "timeout1": "Časový limit pro připojení ke vzdálenému hostiteli",
-        "timeout2": "Časový limit pro připojení k lokálnímu hostiteli",
+        "timeout1": "Časový limit pro připojení ke vzdálenému serveru",
+        "timeout2": "Časový limit pro připojení k lokálnímu serveru",
         "username": "Uživatelské jméno",
         "validate": "Ověřit",
         "validation_success": "Úspěšně ověřeno"
@@ -110,7 +117,7 @@
         "add": "Přidat",
         "add_admin": "Přidat správce",
         "add_domain_admin": "Přidat správce domény",
-        "add_forwarding_host": "Přidat předávajícího hostitele",
+        "add_forwarding_host": "Přidat předávající server",
         "add_relayhost": "Přidat transport podle odesílatele",
         "add_relayhost_hint": "Pozor: přihlašovací údaje se ukládají jako prostý text.",
         "add_row": "Přidat řádek",
@@ -121,20 +128,25 @@
         "admin": "Správce",
         "admin_details": "Upravit správce",
         "admin_domains": "Přidělené domény",
+        "admins": "Administrátoři",
+        "admins_ldap": "LDAP Administrátoři",
         "advanced_settings": "Pokročilá nastavení",
         "api_allow_from": "Povolit přístup k API z těchto IP adres (oddělte čárkou nebo řádkem)",
-        "api_info": "API je stále ve vývoji.",
+        "api_info": "Dokumentaci naleznete na <a href=\"/api\">/api</a>",
         "api_key": "API klíč",
+        "api_read_only": "Přístup pouze pro čtení",
+        "api_read_write": "Přístup i se zápisem",
         "api_skip_ip_check": "Vynechat ověření IP adresy pro API",
         "app_links": "Odkazy na aplikace",
         "app_name": "Název aplikace",
-        "apps_name": "Hlavička aplikací (\"mailcow Apps\")",
+        "apps_name": "\"mailcow Apps\" název",
         "arrival_time": "Čas zařazení do fronty (čas na serveru)",
         "authed_user": "Přihlášený uživatel",
         "ays": "Opravdu chcete pokračovat?",
         "ban_list_info": "Seznam blokovaných IP adres je zobrazen níže: <b>síť (zbývající čas blokování) - [akce]</b>.<br />IP adresy zařazené pro odblokování budou z aktivního seznamu odebrány během několika sekund.<br />Červeně označené položky jsou pernamentní bloky z blacklistu.",
         "change_logo": "Změnit logo",
         "configuration": "Nastavení",
+        "convert_html_to_text": "Převést HTML do prostého textu",
         "credentials_transport_warning": "<b>Upozornění</b>: Přidání položky do transportní mapy aktualizuje také přihlašovací údaje všech záznamů s odpovídajícím skokem.",
         "customer_id": "ID zákazníka",
         "customize": "Přizpůsobení",
@@ -150,10 +162,12 @@
         "dkim_key_unused": "Klíč nepoužitý",
         "dkim_key_valid": "Klíč je platný",
         "dkim_keys": "ARC/DKIM klíče",
+        "dkim_overwrite_key": "Přepsat existující DKIM klíč",
         "dkim_private_key": "Soukromý klíč",
-        "dkim_to": "Komu",
-        "dkim_to_title": "Cílová doména/y - bude přepsáno",
+        "dkim_to": "Do",
+        "dkim_to_title": "Cílová doména/y - údaje budou přepsány",
         "domain": "Doména",
+        "domain_admin": "Administrátor domény",
         "domain_admins": "Správci domén",
         "domain_s": "Doména/y",
         "duplicate": "Duplikovat",
@@ -163,18 +177,20 @@
         "excludes": "Vyloučit tyto příjemce",
         "f2b_ban_time": "Doba blokování (s)",
         "f2b_blacklist": "Sítě/hostitelé na blacklistu",
+        "f2b_filter": "Regex filtre",
         "f2b_list_info": "Síť nebo hostitelé na blacklistu mají vždy větší váhu než položky na whitelistu. Blacklist se sestavuje vždy při startu kontejneru.",
         "f2b_max_attempts": "Max. pokusů",
         "f2b_netban_ipv4": "Rozsah IPv4 podsítě k zablokování (8-32)",
         "f2b_netban_ipv6": "Rozsah IPv6 podsítě k zablokování (8-128)",
-        "f2b_parameters": "Nastavení Fail2ban",
+        "f2b_parameters": "Parametry automatického firewallu",
+        "f2b_regex_info": "Záznamy které se berou v úvahu: SOGo, Postfix, Dovecot, PHP-FPM.",
         "f2b_retry_window": "Časový horizont pro maximum pokusů (s)",
         "f2b_whitelist": "Sítě/hostitelé na whitelistu",
         "filter_table": "Tabulka filtrů",
         "flush_queue": "Vyprázdnit frontu (opětovně doručit)",
-        "forwarding_hosts": "Předávající hostitelé",
-        "forwarding_hosts_add_hint": "Lze zadat IPv4/IPv6 adresy, sítě ve formátu CIDR, názvy hostitelů (budou převedeny na IP adresy) nebo názvy domén (budou převedeny na IP pomocí SPF záznamů, příp. MX záznamů).",
-        "forwarding_hosts_hint": "Příchozí zprávy od zde uvedených hostitelů jsou bezpodmínečně přijaty. U těchto hostitelů se nekontroluje DNSBL a nepoužije greylisting. Spam od těchto hostitelů se nikdy neodmítá, ale občas může skončit ve složce se spamem. Nejčastěji se zde uvádějí poštovní servery, jež předávají příchozí e-maily na tento poštovní server.",
+        "forwarding_hosts": "Předávající servery",
+        "forwarding_hosts_add_hint": "Lze zadat IPv4/IPv6 adresy, sítě ve formátu CIDR, názvy serverů (budou převedeny na IP adresy) nebo názvy domén (budou převedeny na IP pomocí SPF záznamů, příp. MX záznamů).",
+        "forwarding_hosts_hint": "Příchozí zprávy od zde uvedených serverů jsou bezpodmínečně přijaty. U těchto serverů se nekontroluje DNSBL a nepoužije greylisting. Spam od těchto serverů se nikdy neodmítá, ale občas může skončit ve složce se spamem. Nejčastěji se zde uvádějí poštovní servery, jež předávají příchozí e-maily na tento poštovní server.",
         "from": "Od",
         "generate": "generovat",
         "guid": "GUID - unikátní ID licence",
@@ -182,6 +198,7 @@
         "hash_remove_info": "Odebrání hashe omezení provozu (pokud stále existuje) zcela vyresetuje jeho počítadlo.<br>\r\n  Každý hash je označen jinou barvou.",
         "help_text": "Přepsat text nápovědy pod přihlašovacím formulářem (HTML povoleno)",
         "host": "Hostitel",
+        "html": "HTML",
         "import": "Importovat",
         "import_private_key": "Importovat soukromý klíč",
         "in_use_by": "Používáno",
@@ -189,10 +206,12 @@
         "include_exclude": "Zahrnout/Vyloučit",
         "include_exclude_info": "Ve výchozím nastavení (bez výběru), jsou adresovány <b>všechny poštovní schránky</b>",
         "includes": "Zahrnout tyto přijemce",
+        "is_mx_based": "Na základě MX",
         "last_applied": "Naposledy použité",
         "license_info": "Licence není povinná, pomůžete však dalšímu vývoji.<br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"SAL order\">Registrujte si své GUID</a>, nebo si <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Support order\">zaplaťte podporu pro svou instalaci mailcow.</a>",
         "link": "Odkaz",
         "loading": "Prosím čekejte...",
+        "login_time": "Čas přihlášení",
         "logo_info": "Obrázek bude zmenšen na výšku 40 pixelů pro horní navigační lištu a na max. šířku 250 pixelů pro úvodní stránku.",
         "lookup_mx": "Ověřit cíl proti MX záznamu (.outlook.com bude směrovat všechnu poštu pro MX *.outlook.com přes tento uzel)",
         "main_name": "Název webu (\"mailcow UI\")",
@@ -204,13 +223,23 @@
         "no_active_bans": "Žádná aktivní blokování",
         "no_new_rows": "Žádné další řádky nejsou k dispozici",
         "no_record": "Žádný záznam",
+        "oauth2_add_client": "Přidat OAuth2 klienta",
+        "oauth2_apps": "OAuth2 Aplikace",
         "oauth2_client_id": "ID klienta",
         "oauth2_client_secret": "Tajný klíč klienta",
         "oauth2_info": "Implementace OAuth2 podporuje přidělení typu \"Authorization Code\" a vydává tokeny k obnovení.<br>\r\nServer vydává tokeny k obnovení automaticky, jakmile byl předchozí token použit.<br><br>\r\n→ Výchozím rozsahem je <i>profil</i>. Ověření přes OAuth2 mohou využít jen uživatelé poštovních schránek. Je-li rozsah vynechán, použije se <i>profil</i>.<br>\r\n→ Klient je povinen uvést parametr <i>state</i> spolu s požadavkem na ověření.<br><br>\r\nCesty API pro požadavky na ověření OAuth2: <br>\r\n<ul>\r\n  <li>Koncový bod pro ověření: <code>/oauth/authorize</code></li>\r\n  <li>Koncový bod pro token: <code>/oauth/token</code></li>\r\n  <li>Stránka zdroje:  <code>/oauth/profile</code></li>\r\n</ul>\r\nDojde-li ke znovuvytvoření tajného klíče klienta, nedojde ke zneplatnění stávajícíh ověřovacích kódů, nebude však už možné obnovit jejich token.<br><br>\r\nOdvoláním klientského tokenů okamžitě ukončíte všechny aktivní relace a klienti se budou muset znovu přihlásit.",
         "oauth2_redirect_uri": "URI přesměrování",
         "oauth2_renew_secret": "Vytvořit nový tajný klíč",
         "oauth2_revoke_tokens": "Odvolat všechny klientské tokeny",
+        "optional": "volitelné",
         "password": "Heslo",
+        "password_length": "Délka hesla",
+        "password_policy": "Politika hesel",
+        "password_policy_chars": "Musí obsahovat nejméně jedno písmeno",
+        "password_policy_length": "Minimální délka hesla je %d",
+        "password_policy_lowerupper": "Musí obsahovat malé a velké písmeno",
+        "password_policy_numbers": "Musí obsahovat nejméně jedno číslo",
+        "password_policy_special_chars": "Musí obsahovat speciální znak",
         "password_repeat": "Potvrzení nového hesla (opakujte)",
         "priority": "Priorita",
         "private_key": "Soukromý klíč",
@@ -218,6 +247,7 @@
         "quarantine_bcc": "Odeslat kopii (BCC) všech upozornění tomuto adresátu:<br><small>Jinak nechtte nevyplněno. <b>Nepodepsáno, nekontrolováno - volte raději jen místní adresáty.</b></small>",
         "quarantine_exclude_domains": "Vyloučené domény a doménové aliasy",
         "quarantine_max_age": "Maximální stáří ve dnech<br><small>Hodnota musí být rovna nebo větší než 1 den.</small>",
+        "quarantine_max_score": "Neposílat notifikace pokud je spam skóre větší než hodnota:<br><small>Výchozí je 9999.0</small>",
         "quarantine_max_size": "Maximální velikost v MiB (větší prvky budou smazány)<br />0 <b>neznamená</b> neomezeno.",
         "quarantine_notification_html": "Šablona upozornění:<br><small>Ponechte prázdné, aby se obnovila výchozí šablona.</small>",
         "quarantine_notification_sender": "Odesílatel upozornění",
@@ -231,9 +261,9 @@
         "queue_deliver_mail": "Doručit",
         "queue_hold_mail": "Zadržet",
         "queue_manager": "Správce fronty",
+        "queue_show_message": "Zobrazit zprávu",
         "queue_unban": "odblokovat",
         "queue_unhold_mail": "Propustit",
-        "queue_show_message": "Zobrazit zprávu",
         "quota_notification_html": "Šablona upozornění:<br><small>Ponechte prázdné, aby se obnovila výchozí šablona.</small>",
         "quota_notification_sender": "Odesílatel upozornění",
         "quota_notification_subject": "Předmět upozornění",
@@ -249,6 +279,7 @@
         "regen_api_key": "Generovat API klíč",
         "regex_maps": "Mapy regulárních výrazů",
         "relay_from": "Adresa \"Od:\"",
+        "relay_rcpt": "\"Komu:\" adresa",
         "relay_run": "Provést test",
         "relayhosts": "Transporty podle odesílatele",
         "relayhosts_hint": "Zde definujte transporty podle odesílatele, jež pak můžete použít v nastavení domény.<br>\r\nProtokol transportu je vždy \"smtp:\". Bere se v potaz uživatelské nastavení odchozího TLS.",
@@ -266,6 +297,7 @@
         "rsettings_preset_1": "Pro přihlášené uživatele vypnout vše kromě DKIM a omezení provozu",
         "rsettings_preset_2": "Postmasteři chtějí dostávat spam",
         "rsettings_preset_3": "Povolit jen určité odesílatele pro schránku (např. jen interní schránka)",
+        "rsettings_preset_4": "Deaktivujte Rspamd pro doménu",
         "rspamd-com_settings": "<a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd dokumentace</a>\r\n  - Název nastavení bude automaticky vygenerován, viz níže uvedené předvolby.",
         "rspamd_global_filters": "Mapa globálních filtrů",
         "rspamd_global_filters_agree": "Budu opatrný!",
@@ -277,10 +309,12 @@
         "search_domain_da": "Hledat domény",
         "send": "Odeslat",
         "sender": "Odesílatel",
+        "service": "Služba",
         "service_id": "ID podpory",
         "source": "Zdroj",
         "spamfilter": "Filtr spamu",
         "subject": "Předmět",
+        "success": "Úspěch",
         "sys_mails": "Systémové zprávy",
         "text": "Text",
         "time": "Čas",
@@ -289,6 +323,7 @@
         "to_top": "Zpět na začátek",
         "transport_dest_format": "Formát: example.org, .example.org, *, box@example.org (vícero položek lze oddělit čárkou)",
         "transport_maps": "Transportní mapy",
+        "transport_test_rcpt_info": "&#8226; Na otestování odchozí pošty je možné použít null@hosted.mailcow.de jako adresáta",
         "transports_hint": "→ Položka transportní mapy <b>přebíjí</b> transportní mapu podle odesílatele</b>.<br>\r\n→ Uživatelské nastavení odchozího TLS se ignoruje a lze je výhradně vynutit mapováním TLS pravidel.<br>\r\n→ Protokol transportu je vždy \"smtp:\".<br>\r\n→ Adresy, jež odpovídají výrazu \"/localhost$/\", se vždy předají přes \"local:\", takže nejsou zahrnuty do definice cíle \"*\".<br>\r\n→ Pro stanovení přihlašovacích údajů dalšího skoku, např. \"[host]:25\", bude Postfix <b>vždy</b> hledat nejdříve \"host\" a teprve pak \"[host]:25\". Kvůli tomu nelze použít současně \"host\" a \"[host]:25\"",
         "ui_footer": "Pata stránka (HTML povoleno)",
         "ui_header_announcement": "Oznámení",
@@ -297,9 +332,9 @@
         "ui_header_announcement_help": "Oznámení se zobrazuje všem přihlášeným uživatelům a také na přihlašovací obrazovce.",
         "ui_header_announcement_select": "Druh oznámení",
         "ui_header_announcement_type": "Druh",
+        "ui_header_announcement_type_danger": "Velmi důležité",
         "ui_header_announcement_type_info": "Informace",
         "ui_header_announcement_type_warning": "Důležité",
-        "ui_header_announcement_type_danger": "Velmi důležité",
         "ui_texts": "Hlavička a texty UI",
         "unban_pending": "čeká na odblokování",
         "unchanged_if_empty": "Pokud se nemění, ponechte prázdné",
@@ -319,12 +354,13 @@
         "aliases_in_use": "Max. počet aliasů musí být větší nebo roven %d",
         "app_name_empty": "Název aplikace nemůže být prázdný",
         "app_passwd_id_invalid": "Neplatné heslo aplikace ID %s",
-        "bcc_empty": "BCC cíl nesmí být prázdný",
-        "bcc_exists": "BCC mapování %s již existuje pro typ %s",
-        "bcc_must_be_email": "BCC mapování %s není správná email adresa",
+        "bcc_empty": "Cíl kopie nesmí být prázdný",
+        "bcc_exists": "Skrytá kopie %s již existuje pro typ %s",
+        "bcc_must_be_email": "Cíl kopie %s není správná email adresa",
         "comment_too_long": "Moc dlouhý komentář, max. 160 znaků",
         "defquota_empty": "Výchozí kvóta schránky nesmí být 0.",
         "description_invalid": "Popis zdroje %s je neplatný",
+        "dkim_domain_or_sel_exists": "DKIM klíč pro \"%s\" existuje a nebude přepsán",
         "dkim_domain_or_sel_invalid": "DKIM nebo selektor doménu je neplatný: %s",
         "domain_cannot_match_hostname": "Doména a hostname nesmí být stejné",
         "domain_exists": "Doména %s již existuje",
@@ -334,6 +370,7 @@
         "domain_quota_m_in_use": "Kvóta domény musí být větší nebo rovna %s MiB",
         "extra_acl_invalid": "Externí adresa odesílatele \"%s\" je neplatná",
         "extra_acl_invalid_domain": "Externí adresa odesílatele \"%s\" má neplatnou doménu",
+        "fido2_verification_failed": "FIDO2 ověření selhalo: %s",
         "file_open_error": "Soubor nelze otevřít k zápisu",
         "filter_type": "Špatný typ filtru",
         "from_invalid": "Odesílatel nesmí být prázdný",
@@ -377,6 +414,7 @@
         "network_host_invalid": "Neplatná síť nebo hostitel: %s",
         "next_hop_interferes": "%s koliduje se skokem %s",
         "next_hop_interferes_any": "Existující skok koliduje s %s",
+        "nginx_reload_failed": "Nginx reload selhal: %s",
         "no_user_defined": "Žádný uživatel není definován",
         "object_exists": "Objekt %s již existuje",
         "object_is_not_numeric": "Hodnota %s není číslo",
@@ -394,6 +432,7 @@
         "redis_error": "Chyba Redis: %s",
         "relayhost_invalid": "Položky %s je neplatná",
         "release_send_failed": "Zprávu nelze propustit: %s",
+        "reset_f2b_regex": "Regex filtr se nepodařilo resetovat, zkuste to znovu nebo počkejte pár sekund a obnovte stránku.",
         "resource_invalid": "Název zdroje %s je neplatný",
         "rl_timeframe": "Nesprávný časový rámec omezení provozu",
         "rspamd_ui_pw_length": "Heslo pro Rspamd UI musí mít alespoň 6 znaků",
@@ -409,6 +448,7 @@
         "targetd_relay_domain": "Cílová doména %s je předávaná",
         "temp_error": "Dočasná chyba",
         "text_empty": "Text nesmí být prázdný",
+        "tfa_token_invalid": "Neplatný TFA token",
         "tls_policy_map_dest_invalid": "Cíl mapy pravidel je neplatný",
         "tls_policy_map_entry_exists": "Položka mapy TLS pravidel \"%s\" již existuje",
         "tls_policy_map_parameter_invalid": "Parametr pravidel TLS je neplatný",
@@ -427,29 +467,35 @@
         "chart_this_server": "Graf (tento server)",
         "containers_info": "Informace o kontejnerech",
         "disk_usage": "Využití disku",
+        "docs": "Dokumentace",
         "external_logs": "Externí logy",
         "history_all_servers": "Záznam (všechny servery)",
         "in_memory_logs": "Logy v paměti",
         "jvm_memory_solr": "Spotřeba paměti JVM",
+        "last_modified": "Naposledy změněn",
         "log_info": "<p><b>Logy v paměti</b> jsou shromažďovány v Redis seznamech a jsou oříznuty na LOG_LINES (%d) každou minutu, aby se nepřetěžoval server.\r\n  <br>Logy v paměti nemají být trvalé. Všechny aplikace, které logují do paměti, zároveň logují i do Docker služby podle nastavení logging driveru.\r\n  <br>Logy v paměti lze použít pro ladění drobných problémů s kontejnery.</p>\r\n  <p><b>Externí logy</b> jsou shromažďovány pomocí API dané aplikace.</p>\r\n  <p><b>Statické logy</b> jsou většinou logy činností, které nejsou zaznamenávány do Docker služby, ale přesto je dobré je schraňovat (výjimkou jsou logy API).</p>",
+        "login_time": "Čas",
         "logs": "Logy",
+        "online_users": "Uživatelů online",
         "restart_container": "Restartovat",
+        "service": "Služba",
+        "size": "Velikost",
         "solr_dead": "Solr se spouští, je vypnutý nebo spadl.",
-        "solr_docs": "Dokumentace",
-        "solr_last_modified": "Naposledy změněn",
-        "solr_size": "Velikost",
-        "solr_started_at": "Spuštěn",
         "solr_status": "Stav Solr",
-        "solr_uptime": "Doba běhu",
+        "started_at": "Spuštěn",
         "started_on": "Spuštěno",
         "static_logs": "Statické logy",
-        "system_containers": "Systém a kontejnery"
+        "success": "Úspěch",
+        "system_containers": "Systém a kontejnery",
+        "uptime": "Doba běhu",
+        "username": "Uživatelské meno"
     },
     "diagnostics": {
         "cname_from_a": "Hodnota odvozena z A/AAAA záznamu. Lze použít, pokud záznam ukazuje na správný zdroj.",
         "dns_records": "DNS záznamy",
         "dns_records_24hours": "Upozornění: Změnám v systému DNS může trvat až 24 hodin, než se zde správně zobrazí jejich aktuální stav. Můžete zde snadno zjistit, jak nastavit DNS záznamy a zda jsou všechny záznamy správně uloženy.",
         "dns_records_data": "Správný záznam",
+        "dns_records_docs": "Přečtěte si prosím <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentaci</a>.",
         "dns_records_name": "Název",
         "dns_records_status": "Současný stav",
         "dns_records_type": "Typ",
@@ -457,19 +503,23 @@
     },
     "edit": {
         "active": "Aktivní",
+        "admin": "Upravit administrátora",
         "advanced_settings": "Pokročilá nastavení",
         "alias": "Upravit alias",
+        "allow_from_smtp": "Umožnit pouze těmto IP adresám používat <b>SMTP</b>",
+        "allow_from_smtp_info": "Nechte prázdné pro povolení všech odesílatelů.<br>IPv4/IPv6 adresy a sítě.",
+        "allowed_protocols": "Povolené protokoly",
         "app_name": "Název aplikace",
         "app_passwd": "Heslo aplikace",
         "automap": "Pokusit se automaticky mapovat složky (\"Sent items\", \"Sent\" => \"Sent\" atd.)",
         "backup_mx_options": "Možnosti záložního MX",
-        "bcc_dest_format": "BCC cíl musí být jedna platná email adresa.",
+        "bcc_dest_format": "Cíl kopie musí být jedna platná email adresa. Pokud potřebujete posílat kopie na více adres, vytvořte Alias a použijte jej zde.",
         "client_id": "ID klienta",
         "client_secret": "Tajný klíč klienta",
         "comment_info": "Soukromý komentář se nezobrazí uživateli; veřejný komentář se zobrazí jako nápověda při zastavení se kurzorem v přehledu uživatelů",
-        "delete1": "Odstranit ze zdroje po dokončení",
-        "delete2": "Smazat zprávy v cíli, které nejsou ve zdroji",
-        "delete2duplicates": "Odstranit duplicity v cílovém místě",
+        "delete1": "Odstranit ze zdrojové schránky, po dokončení přenosu",
+        "delete2": "Odstranit zprávy v cílové schránce, pokud nejsou ve zdrojové",
+        "delete2duplicates": "Odstranit duplicity v cílové schránce",
         "delete_ays": "Potvrďte odstranění.",
         "description": "Popis",
         "disable_login": "Zakázat přihlášení (ale stále přijímat poštu)",
@@ -493,8 +543,10 @@
         "hostname": "Jméno hostitele",
         "inactive": "Neaktivní",
         "kind": "Druh",
+        "lookup_mx": "Cíl je regulární výraz který se shoduje s MX záznamem (<code>.*google\\.com</code> směřuje veškerou poštu na MX které jsou cílem pro google.com přes tento skok)",
         "mailbox": "Úprava poštovní schránky",
         "mailbox_quota_def": "Výchozí kvóta schránky",
+        "mailbox_relayhost_info": "Aplikované jen na uživatelskou schránku a přímé aliasy, přepisuje předávající server domény.",
         "max_aliases": "Max. počet aliasů",
         "max_mailboxes": "Max. počet poštovních schránek",
         "max_quota": "Max. kvóta poštovní schránky (MiB)",
@@ -504,6 +556,7 @@
         "mins_interval": "Interval (min)",
         "multiple_bookings": "Vícenásobné rezervace",
         "nexthop": "Další skok",
+        "none_inherit": "Žádné / Podědit",
         "password": "Heslo",
         "password_repeat": "Potvrzení nového hesla (opakujte)",
         "previous": "Předchozí stránka",
@@ -519,6 +572,9 @@
         "pushover_vars": "Bez filtru odesílatelů se zpracují všechny příchozí zprávy.<br>Regulární výrazy i výslovné adresy lze zadat současně a budou zpracovány postupně, nezávisí na sobě.<br>Lze použít proměnné pro text a předmět upozornění (pozor na ochranu osobních údajů apod.)",
         "pushover_verify": "Ověřit přihlašovací údaje",
         "quota_mb": "Kvóta (MiB)",
+        "quota_warning_bcc": "Upozornění na kvótu BCC",
+        "quota_warning_bcc_info": "Upozornění budou poslány jako samostatné kopie následujícím příjemcům. Předmět bude doplněn o uživatelské jméno v závorkách, příklad: <code>Upozornění na kvótu (user@example.com)</code>.",
+        "ratelimit": "Omezení přenosu",
         "redirect_uri": "URL přesměrování/odvolání",
         "relay_all": "Předávání všech příjemců",
         "relay_all_info": "<small>Pokud se rozhodnete <b>nepředávat</b> všechny příjemce, musíte přidat prázdnou poštovní schránku pro každého příjemce, který se má předávat.</small>",
@@ -531,7 +587,7 @@
         "save": "Uložit změny",
         "scope": "Rozsah",
         "sender_acl": "Povolit odesílání jako",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Kontrola odesílatele vypnuta</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Kontrola odesílatele vypnuta</span>",
         "sender_acl_info": "Má-li uživatel schránky A dovoleno odesílat jako uživatel schránky B, nezobrazuje se adresa odesílatele B v seznamu \"Od\" v SOGo automaticky.<br>\r\n  Uživatel schránky A musí nejdříve v SOGo vytvořit pověření, jež umožní uživateli B vybrat svou adresu jako odesílatele. Tento mechanismus neplatí pro aliasy.",
         "sieve_desc": "Krátký popis",
         "sieve_type": "Typ filtru",
@@ -541,27 +597,44 @@
         "sogo_visible": "Alias dostupný v SOGo",
         "sogo_visible_info": "Tato volba určuje objekty, jež lze zobrazit v SOGo (sdílené nebo nesdílené aliasy, jež ukazuje alespoň na jednu schránku).",
         "spam_alias": "Vytvořit nebo změnit dočasné aliasy",
+        "spam_filter": "Spam filtr",
         "spam_policy": "Přidat nebo odebrat položky whitelistu/blacklistu",
         "spam_score": "Nastavte vlastní skóre spamu",
         "subfolder2": "Synchronizace do podsložky v cílovém umístění<br><small>(prázdné = nepoužívat podsložku)</small>",
         "syncjob": "Upravit synchronizační úlohu",
         "target_address": "Cílová adresa/y<br /> <small>(oddělte čárkou)</small>",
         "target_domain": "Cílová doména",
-        "timeout1": "Časový limit pro připojení ke vzdálenému hostiteli",
-        "timeout2": "Časový limit pro připojení k lokálnímu hostiteli",
+        "timeout1": "Časový limit pro připojení ke vzdálenému serveru",
+        "timeout2": "Časový limit pro připojení k lokálnímu serveru",
         "title": "Úprava objektu",
         "unchanged_if_empty": "Pokud se nemění, ponechte prázdné",
         "username": "Uživatelské jméno",
         "validate_save": "Ověřit a uložit"
     },
+    "fido2": {
+        "confirm": "Potvrdit",
+        "fido2_auth": "Přihlásit se přes FIDO2",
+        "fido2_success": "Zařízení úspěšně zaregistrované",
+        "fido2_validation_failed": "Ověření selhalo",
+        "fn": "Uživatelsky přívětivý název",
+        "known_ids": "Známe ID",
+        "none": "Vypnuto",
+        "register_status": "Stav registrace",
+        "rename": "Přejmenovat",
+        "set_fido2": "Registrovat FIDO2 zařízení",
+        "set_fn": "Nastavi uživatelsky přívětivý název",
+        "start_fido2_validation": "Spustit FIDO2 ověření"
+    },
     "footer": {
         "cancel": "Zrušit",
         "confirm_delete": "Potvdit smazání",
         "delete_now": "Smazat",
         "delete_these_items": "Prosím potvrďte změny objektu id:",
+        "hibp_check": "Ověřit heslo v databázi hacknutých hesel haveibeenpwned.com",
         "hibp_nok": "Nalezeno! Toto je potenciálně nebezpečné heslo!",
         "hibp_ok": "Nebyla nalezena žádná shoda.",
         "loading": "Prosím čekejte...",
+        "nothing_selected": "Není nic vybráno",
         "restart_container": "Restartovat kontejner",
         "restart_container_info": "<b>Důležité:</b> Šetrný restart může chvíli trvat, prosím čekejte...",
         "restart_now": "Restartovat nyní",
@@ -585,8 +658,10 @@
     },
     "login": {
         "delayed": "Přihlášení zpožděno o %s sekund.",
+        "fido2_webauthn": "FIDO2/WebAuthn",
         "login": "Přihlásit",
         "mobileconfig_info": "Ke stažení profilového souboru se přihlaste jako uživatel schránky.",
+        "other_logins": "Přihlášení klíčem",
         "password": "Heslo",
         "username": "Uživatelské jméno"
     },
@@ -596,7 +671,8 @@
         "active": "Aktivní",
         "add": "Přidat",
         "add_alias": "Přidat alias",
-        "add_bcc_entry": "Přidat BCC mapu",
+        "add_alias_expand": "Rozšířit alias o alias domény",
+        "add_bcc_entry": "Přidat skrytou kopii",
         "add_domain": "Přidat doménu",
         "add_domain_alias": "Přidat doménový alias",
         "add_domain_record_first": "Prosím nejdříve vytvořte doménu",
@@ -610,26 +686,31 @@
         "alias_domain_alias_hint": "Aliasy <b>neplatí</b> automaticky pro doménové aliasy. Alias <code>muj-alias@domena</code> <b>neplatí</b> pro <code>muj-alias@domena2</code> (kde \"domena2\" je imaginární doménový alias pro \"domena\").<br>K přesměrování pošty na externí schránku použijte SIEVE filtr (viz záložka \"Filtry\" nebo SOGo -> Forwarder).",
         "alias_domain_backupmx": "Doménový alias není aktivní pro předávanou doménu",
         "aliases": "Aliasy",
+        "all_domains": "Všechny domény",
+        "allow_from_smtp": "Umožnit pouze těmto IP adresám používat <b>SMTP</b>",
+        "allow_from_smtp_info": "Nechte prázdné pro povolení všech odesílatelů.<br>IPv4/IPv6 adresy a sítě.",
+        "allowed_protocols": "Povolené protokoly",
         "backup_mx": "Záložní MX",
         "bcc": "BCC",
-        "bcc_destination": "BCC cíl",
-        "bcc_destinations": "BCC cíl",
-        "bcc_info": "Mapa BCC se používá pro tiché předávání kopií všech zpráv na jinou adresu. Mapa příjemců se použije, pokud je místní cíl příjemcem zprávy.<br/>\r\n  Mapa odesílatelů podléhá obdobnému principu. Místní cíl nebude informován o neúspěšném doručení.",
-        "bcc_local_dest": "Místní cíl",
-        "bcc_map": "BCC mapování",
-        "bcc_map_type": "Typ BCC",
-        "bcc_maps": "BCC mapy",
-        "bcc_rcpt_map": "Mapa příjemců",
-        "bcc_sender_map": "Mapa odesílatelů",
-        "bcc_to_rcpt": "Přepnout na mapu příjemců",
-        "bcc_to_sender": "Přepnout na mapu odesílatelů",
-        "bcc_type": "Typ BCC",
+        "bcc_destination": "Cíl kopie",
+        "bcc_destinations": "Cíl kopií",
+        "bcc_info": "Skryté kopie (Mapa BCC) se používá pro tiché předávání kopií všech zpráv na jinou adresu. Při použití skryté kopie typu <i>Přijatý e-mail</i> budou přeposlány všechny maily směřující na dotyčnou adresu nebo doménu.\nU typu <i>Odeslaný e-mail</i> budou přeposlány všechny maily odeslané z dotyčné adresy nebo domény.\nPokud selže přeposlání na cílovou adresu, tak odesílatel o tom nebude informován.",
+        "bcc_local_dest": "Týká se",
+        "bcc_map": "Skrytá kopie",
+        "bcc_map_type": "Typ skryté kopie",
+        "bcc_maps": "Skryté kopie",
+        "bcc_rcpt_map": "Přijatý e-mail",
+        "bcc_sender_map": "Odeslaný e-mail",
+        "bcc_to_rcpt": "Přepnout typ na Přijatý e-mail",
+        "bcc_to_sender": "Přepnout typ na Odeslaný e-mail",
+        "bcc_type": "Typ skryté kopie",
         "booking_0": "Vždy volno",
         "booking_0_short": "Vždy volno",
         "booking_custom": "Omezeno na pevný počet rezervací",
         "booking_custom_short": "Pevný limit",
         "booking_lt0": "Neomezeno, ale po rezervaci se ukazuje jako obsazené",
         "booking_lt0_short": "Volný limit",
+        "catch_all": "Doménový koš",
         "daily": "Každý den",
         "deactivate": "Vypnout",
         "description": "Popis",
@@ -644,18 +725,23 @@
         "empty": "Žádné výsledky",
         "enable_x": "Zapnout",
         "excludes": "Vyloučené",
-        "filter_table": "Tabulka filtrů",
+        "filter_table": "Filtrovat tabulku",
         "filters": "Filtry",
         "fname": "Celé jméno",
+        "goto_ham": "Učit se jako <b>ham</b>",
+        "goto_spam": "Učit se jako <b>spam</b>",
         "hourly": "Každou hodinu",
         "in_use": "Obsazeno (%)",
         "inactive": "Neaktivní",
         "insert_preset": "Vložit ukázkovou položku \"%s\"",
         "kind": "Druh",
         "last_mail_login": "Poslední přihlášení",
+        "last_pw_change": "Naposledy změněno heslo",
         "last_run": "Naposledy spuštěno",
-        "last_run_reset": "Plánovat další",
+        "last_run_reset": "Znovu naplánovat",
         "mailbox": "Poštovní schránka",
+        "mailbox_defaults": "Výchozí nastavení",
+        "mailbox_defaults_info": "Definuje výchozí nastavení pro nové schránky",
         "mailbox_defquota": "Výchozí velikost schránky",
         "mailbox_quota": "Max. velikost schránky",
         "mailboxes": "Poštovní schránky",
@@ -666,11 +752,17 @@
         "no": "&#10005;",
         "no_record": "Žádný záznam pro objekt %s",
         "no_record_single": "Žádný záznam",
+        "open_logs": "Otevřít záznam",
         "owner": "Vlastník",
         "private_comment": "Soukromý komentář",
         "public_comment": "Veřejný komentář",
+        "q_add_header": "Složka nevyžádaná pošta",
+        "q_all": "Všechny kategorie",
+        "q_reject": "Odmítnuta",
+        "quarantine_category": "Kategorie oznámení karantény",
         "quarantine_notification": "Upozornění z karantény",
         "quick_actions": "Akce",
+        "recipient": "Přijatý e-mail",
         "recipient_map": "Mapa příjemce",
         "recipient_map_info": "Mapy příjemců slouží k nahrazení cílové adresy zprávy před doručením.",
         "recipient_map_new": "Nový přijemce",
@@ -681,6 +773,7 @@
         "remove": "Smazat",
         "resources": "Zdroje",
         "running": "Běží",
+        "sender": "Odeslaný e-mail",
         "set_postfilter": "Označit jako post-filtr)",
         "set_prefilter": "Označit jako pre-filtr",
         "sieve_info": "Můžete uložit více filtrů pro každého uživatele, ale současně může být aktivní pouze jeden prefilter a jeden postfilter.<br>\r\nKaždý filtr bude proveden v daném pořadí. Ani chyba při vykonávání skriptu nebo snaha o pozdržení nezastaví vykonání dalších skriptů.<br><br>Global sieve prefilter → Prefilter → Uživatelské skripty → Postfilter → Global sieve postfilter",
@@ -693,7 +786,6 @@
         "sieve_preset_7": "Přesměrovat a ponechat/zahodit",
         "sieve_preset_8": "Zahodit zprávu poslanou na alias, do něhož patří i odesílatel",
         "sieve_preset_header": "Vizte následující ukázková pravidla. Více informací na <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedii</a>.",
-        "sogo_allow_admin_hint": "Přihlásit se do SOGo jako správce může jen uživatel s existujícím profilem SOGo. Uživatel se musí do SOGo alespoň jednou přihlásit.",
         "sogo_visible": "Alias dostupný v SOGo",
         "sogo_visible_n": "Skrýt alias v SOGo",
         "sogo_visible_y": "Zobrazit alias v SOGo",
@@ -713,8 +805,8 @@
         "tls_map_parameters_info": "Prázdné nebo parametry, například: protocols=!SSLv2 ciphers=medium exclude=3DES",
         "tls_map_policy": "Pravidlo",
         "tls_policy_maps": "Mapy TLS pravidel",
-        "tls_policy_maps_info": "Tato mapa přepisuje pravidla odchozích TLS nezávisle na TLS nastavení uživatele.<br>\r\n  Pro více informací prosím prostudujte <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">dokumentaci k \"smtp_tls_policy_maps\"</a>.",
         "tls_policy_maps_enforced_tls": "Tato pravidla také přepisují chování pro schránky, jež mají nastaveno vynucené odchozí TLS spojení. Pokud zde nejsou žádná pravidla, tyto schránky použijí výchozí hodnoty nastavené v <code>smtp_tls_mandatory_protocols</code> a <code>smtp_tls_mandatory_ciphers</code>.",
+        "tls_policy_maps_info": "Tato mapa přepisuje pravidla odchozích TLS nezávisle na TLS nastavení uživatele.<br>\r\n  Pro více informací prosím prostudujte <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">dokumentaci k \"smtp_tls_policy_maps\"</a>.",
         "tls_policy_maps_long": "Přepisování pravidel odchozího TLS",
         "toggle_all": "Označit vše",
         "username": "Uživatelské jméno",
@@ -735,12 +827,16 @@
         "action": "Akce",
         "atts": "Přílohy",
         "check_hash": "Hledat hash na serveru VT",
+        "confirm": "Potvrdit",
         "confirm_delete": "Potvrdit smazání prvku.",
         "danger": "Nebezpečí",
+        "deliver_inbox": "Doručit do schránky",
         "disabled_by_config": "Funkce karanténa je momentálně vypnuta v nastavení systému.",
         "download_eml": "Stáhnout (.eml)",
         "empty": "Žádné výsledky",
         "high_danger": "Vysoké nebezpečí",
+        "info": "Informace",
+        "junk_folder": "Složka nevyžádaná pošta",
         "learn_spam_delete": "Naučit jako spam a smazat",
         "low_danger": "Malé nebezpečí",
         "medium_danger": "Střední nebezpečí",
@@ -748,30 +844,44 @@
         "notified": "Oznámeno",
         "qhandler_success": "Požadavek úspěšně přijat. Můžete nyní zavřít okno.",
         "qid": "Rspamd QID",
+        "qinfo": "Karanténní systém uloží odmítnutou poštu do databáze (odesílatel se <em>nedozví</em>, že pošta byla doručena) jakož i pošta, která bude jako kopie doručena do složky Nevyžádaná pošta. \r\n<br>\"Naučit jako spam a smazat\" naučí zprávu jako spam přes Bayesian theorem a současně vypočítá fuzzy hashes pro odmítnutí podobných zpráv v budoucnosti. \r\n<br> Prosím, berte na vědomí, že naučení více zpráv může být - záleží na vašem systému - časově náročné . <br> Položky na černé listině jsou z karantény vyloučeny.",
         "qitem": "Položka v karanténě",
         "quarantine": "Karanténa",
         "quick_actions": "Akce",
+        "quick_delete_link": "Odkaz na rychlé odstranění",
+        "quick_info_link": "Otevřít link pro info",
+        "quick_release_link": "Odkaz na rychlé propuštění",
         "rcpt": "Příjemce",
         "received": "Přijato",
         "recipients": "Příjemci",
         "refresh": "Obnovit",
+        "rejected": "odmítnuto",
         "release": "Propustit",
         "release_body": "Zpráva připojena jako příloha EML k této zprávě.",
         "release_subject": "Potenciálně škodlivá položka v karanténě %s",
         "remove": "Smazat",
+        "rewrite_subject": "Přepsat předmět",
         "rspamd_result": "Skóre Rspamd",
         "sender": "Odesílatel (SMTP)",
         "sender_header": "Odesílatel (hlavička \"From\")",
-        "quick_release_link": "Odkaz na rychlé propuštění",
-        "quick_delete_link": "Odkaz na rychlé odstranění",
+        "settings_info": "Maximální množství položek které se umístí do karantény: %s<br>Maximální velikost emailu: %s MiB",
         "show_item": "Zobrazit položku",
+        "spam": "Spam",
         "spam_score": "Skóre",
         "subj": "Předmět",
         "table_size": "Velikost tabulky",
         "table_size_show_n": "Zobrazit %s položek",
         "text_from_html_content": "Obsah (konvertované html)",
         "text_plain_content": "Obsah (text/plain)",
-        "toggle_all": "Označit vše"
+        "toggle_all": "Označit vše",
+        "type": "Typ"
+    },
+    "ratelimit": {
+	    "disabled": "Vypnuto",
+	    "second": "zpráv za sekundu",
+	    "minute": "zpráv za minutu",
+	    "hour": "zpráv za hodinu",
+	    "day": "zpráv za den"
     },
     "start": {
         "help": "Zobrazit/skrýt panel nápovědy",
@@ -813,7 +923,7 @@
         "domain_removed": "Doména %s odebrána",
         "dovecot_restart_success": "Dovecot byl úspěšně restartován",
         "eas_reset": "ActiveSync zařízení uživatele %s vyresetováno",
-        "f2b_modified": "Změny parametrů Fail2ban uloženy",
+        "f2b_modified": "Změny v parametrech automatického firewallu uloženy",
         "forwarding_host_added": "Předávající hostitel %s přidán",
         "forwarding_host_removed": "Předávající hostitel %s odebrán",
         "global_filter_written": "Filtr byl úspěšně zapsán",
@@ -828,7 +938,9 @@
         "mailbox_added": "Poštovní schránka %s přidána",
         "mailbox_modified": "Změny poštovní schránky %s uloženy",
         "mailbox_removed": "Poštovní schránka %s  odebrána",
+        "nginx_reloaded": "Nginx reload byl úspěšný",
         "object_modified": "Změny objektu %s uloženy",
+        "password_policy_saved": "Politika hesel byla úspěšně uložena",
         "pushover_settings_edited": "Nastavení Pushover uloženo, ověřte přihlašovací údaje.",
         "qlearn_spam": "Zpráva ID %s naučena jako spam a smazána",
         "queue_command_success": "Příkaz pro frontu úspěšně dokončen",
@@ -850,6 +962,7 @@
         "tls_policy_map_entry_saved": "Položka mapy TLS pravidel \"%s\" uložena",
         "ui_texts": "Změny UI textů uloženy",
         "upload_success": "Soubor úspěšně nahrán",
+        "verified_fido2_login": "Ověřené FIDO2 přihlášení",
         "verified_totp_login": "TOTP přihlášení ověřeno",
         "verified_u2f_login": "U2F přihlášení ověřeno",
         "verified_yotp_login": "Yubico OTP přihlášení ověřeno"
@@ -871,7 +984,8 @@
         "select": "Prosím vyberte...",
         "set_tfa": "Nastavení způsobu dvoufaktorového ověření",
         "start_u2f_validation": "Zahájit inicializaci",
-        "tfa": "Dvoufaktorové ověření",
+        "tfa": "Dvoufaktorové ověření (TFA)",
+        "tfa_token_invalid": "Neplatný TFA token",
         "totp": "Časově založené OTP (Google Authenticator, Authy apod.)",
         "u2f": "U2F ověření",
         "waiting_usb_auth": "<i>Čeká se na USB zařízení...</i><br><br>Prosím stiskněte tlačítko na svém U2F USB zařízení.",
@@ -900,9 +1014,11 @@
         "apple_connection_profile_complete": "Tento profil obsahuje parametry připojení k IMAP, SMTP, CalDAV (kalendáře) a CardDAV (kontakty) pro zařízení Apple.",
         "apple_connection_profile_mailonly": "Tento profil obsahuje parametry připojení k IMAP a SMTP pro zařízení Apple.",
         "change_password": "Změnit heslo",
+        "clear_recent_successful_connections": "Vymazat nedávné úspěšné přihlášení",
         "client_configuration": "Zobrazit průvodce nastavením e-mailových klientů a smartphonů",
         "create_app_passwd": "Vytvořit heslo aplikace",
         "create_syncjob": "Vytvořit novou synchronizační úlohu",
+        "created_on": "Vytvoreno",
         "daily": "Každý den",
         "day": "den",
         "delete_ays": "Potvrďte odstranění.",
@@ -914,22 +1030,33 @@
         "edit": "Upravit",
         "email": "Pošta",
         "email_and_dav": "Pošta, kalendáře a kontakty",
+        "empty": "Nejsou k dispozici žádné záznamy",
         "encryption": "Šifrování",
         "excludes": "Vyloučené",
         "expire_in": "Vyprší za",
+        "fido2_webauthn": "FIDO2/WebAuthn",
         "force_pw_update": "Pro přístup k groupware funkcím <b>musíte změnit heslo</b>.",
+        "from": "od",
         "generate": "vytvořit",
         "hour": "hodinu",
         "hourly": "Každou hodinu",
         "hours": "hodin",
         "in_use": "Obsazeno",
         "interval": "Interval",
-        "is_catch_all": "Catch-all pro doménu/y",
+        "is_catch_all": "Doménový koš",
         "last_mail_login": "Poslední přihlášení",
+        "last_pw_change": "Naposledy změněno heslo",
         "last_run": "Naposledy spuštěno",
+        "last_ui_login": "Poslední přihlášení do web rozhraní",
         "loading": "Načítá se...",
+        "login_history": "Historie přihlášení",
+        "mailbox": "Poštová schránka",
         "mailbox_details": "Podrobnosti poštovní schránky",
+        "mailbox_general": "Obecné",
+        "mailbox_settings": "Nastavení",
         "messages": "zpráv",
+        "month": "měsíc",
+        "months": "měsíce",
         "never": "Nikdy",
         "new_password": "Nové heslo",
         "new_password_description": "Požadavek: min. délka 6 znaků, písmena a čísla.",
@@ -937,6 +1064,8 @@
         "no_active_filter": "Není k dispozici žádný aktivní filtr",
         "no_last_login": "Žádný záznam o přihlášení",
         "no_record": "Žádný záznam",
+        "open_logs": "Otevřít záznam",
+        "open_webmail_sso": "Přihlaste se do webmailu",
         "password": "Heslo",
         "password_now": "Současné heslo (pro potvrzení změny)",
         "password_repeat": "Heslo (znovu)",
@@ -949,8 +1078,14 @@
         "pushover_title": "Předmět upozornění",
         "pushover_vars": "Bez filtru odesílatelů se zpracují všechny příchozí zprávy.<br>Regulární výrazy i výslovné adresy lze zadat současně a budou zpracovány postupně, nezávisí na sobě.<br>Lze použít proměnné pro text a předmět upozornění (pozor na ochranu osobních údajů apod.)",
         "pushover_verify": "Ověřit přihlašovací údaje",
+        "q_add_header": "Složka nevyžádaná pošta",
+        "q_all": "Všechny kategorie",
+        "q_reject": "Odmítnuta",
+        "quarantine_category": "Kategorie oznámení karantény",
+        "quarantine_category_info": "Kategorie oznámení \"Odmítnuta\" zahrnuje poštu která byla odmítnuta, a \"Nevyžádaná pošta\" zahrnuje oznámení o poště uložené do složky Nevyžádaná pošta.",
         "quarantine_notification": "Upozornění z karantény",
         "quarantine_notification_info": "Jakmile se upozornění odešle, budou příslušné položky vyznačeny jako \"upozorněné\" a nebude pro ně odesláno žádné další upozornění.",
+        "recent_successful_connections": "Nedávné úspěšné přihlášení",
         "remove": "Smazat",
         "running": "Běží",
         "save": "Uložit změny",
@@ -967,7 +1102,7 @@
         "spamfilter": "Filtr spamu",
         "spamfilter_behavior": "Hodnocení",
         "spamfilter_bl": "Seznam zakázaných adres (blacklist)",
-        "spamfilter_bl_desc": "Zakázané emailové adresy <b>budou vždy klasifikovány jako spam a odmítnuty</b>. Lze použít zástupné znaky (*). Filtr se použije pouze na přímé aliasy (s jednou cílovou poštovní schránkou), s výjimkou aliasů typu catch-all a samotné poštovní schránky.",
+        "spamfilter_bl_desc": "Zakázané emailové adresy <b>budou vždy klasifikovány jako spam a odmítnuty</b>. Lze použít zástupné znaky (*). Filtr se použije pouze na přímé aliasy (s jednou cílovou poštovní schránkou), s výjimkou doménových košů a samotné poštovní schránky.",
         "spamfilter_default_score": "Výchozí hodnoty:",
         "spamfilter_green": "Zelená: tato zpráva není spam",
         "spamfilter_hint": "První hodnota představuje \"nízké spam skóre\" a druhá \"vysoké spam skóre\".",
@@ -979,7 +1114,7 @@
         "spamfilter_table_remove": "smazat",
         "spamfilter_table_rule": "Pravidlo",
         "spamfilter_wl": "Seznam povolených adres (whitelist)",
-        "spamfilter_wl_desc": "Povolené emailové adresy <b>nebudou nikdy klasifikovány jako spam</b>. Lze použít zástupné znaky (*). Filtr se použije pouze na přímé aliasy (s jednou cílovou poštovní schránkou), s výjimkou aliasů typu catch-all a samotné poštovní schránky.",
+        "spamfilter_wl_desc": "Povolené emailové adresy <b>nebudou nikdy klasifikovány jako spam</b>. Lze použít zástupné znaky (*). Filtr se použije pouze na přímé aliasy (s jednou cílovou poštovní schránkou), s výjimkou doménových košů a samotné poštovní schránky.",
         "spamfilter_yellow": "Žlutá: tato zpráva může být spam, bude označena jako spam a přesunuta do složky nevyžádané pošty",
         "status": "Stav",
         "sync_jobs": "Synchronizační úlohy",
@@ -1001,7 +1136,9 @@
         "waiting": "Čekání",
         "week": "týden",
         "weekly": "Každý týden",
-        "weeks": "týdny"
+        "weeks": "týdny",
+        "year": "rok",
+        "years": "let"
     },
     "warning": {
         "cannot_delete_self": "Nelze smazat právě přihlášeného uživatele",
@@ -1010,6 +1147,7 @@
         "fuzzy_learn_error": "Chyba při učení Fuzzy hash: %s",
         "hash_not_found": "Hash nenalezen",
         "ip_invalid": "Přeskočena neplatná IP: %s",
+        "is_not_primary_alias": "Přeskočit ne-primární alias %s",
         "no_active_admin": "Nelze deaktivovat posledního aktivního správce",
         "quota_exceeded_scope": "Kvóta domény překročena: v této doméně lze vytvořit jen neomezené schránky.",
         "session_token": "Token formuláře není platný: Token mismatch",
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.da.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.da.json
new file mode 100644
index 0000000..3b467a3
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.da.json
@@ -0,0 +1,1080 @@
+{
+    "acl": {
+        "alias_domains": "Tilføj kældenavn domæner",
+        "app_passwds": "Administrer app-adgangskoder",
+        "bcc_maps": "BCC kort",
+        "delimiter_action": "Afgrænsning handling",
+        "eas_reset": "Nulstil EAS endheder",
+        "extend_sender_acl": "Tillad at udvide afsenderens ACL med eksterne adresser",
+        "filters": "Filtre",
+        "login_as": "Login som mailboks bruger",
+        "prohibited": "Forbudt af ACL",
+        "protocol_access": "Ændre protokol adgang",
+        "pushover": "Pushover",
+        "quarantine": "Karantæneaktioner",
+        "quarantine_attachments": "Karantæne vedhæftede filer",
+        "quarantine_notification": "Skift karantænemeddelelser",
+        "ratelimit": "Satsgrænse",
+        "recipient_maps": "Modtagerkort",
+        "smtp_ip_access": "Skift tilladte værter til SMTP",
+        "sogo_access": "Tillad styring af SOGo-adgang",
+        "sogo_profile_reset": "Nulstil SOGo-profil",
+        "spam_alias": "Midlertidige aliasser",
+        "spam_policy": "Sortliste / hvidliste",
+        "spam_score": "Spam-score",
+        "syncjobs": "Synkroniser job",
+        "tls_policy": "TLS politik",
+        "unlimited_quota": "Ubegrænset quote for mailbokse",
+        "domain_desc": "Skift domæne beskrivelse",
+        "xmpp_admin": "Promover XMPP-bruger til administrator",
+        "xmpp_domain_access": "Konfigurer XMPP-domæneadgang",
+        "xmpp_mailbox_access": "Konfigurer XMPP-brugeradgang",
+        "xmpp_prefix": "Skift XMPP-underdomæne (præfiks)"
+    },
+    "add": {
+        "activate_filter_warn": "Alle andre filtre deaktiveres, når aktiv er markeret.",
+        "active": "Aktiv",
+        "add": "Tilføj",
+        "add_domain_only": "Tilføj kun domæne",
+        "add_domain_restart": "Tilføj domæne og genstart SOGo",
+        "alias_address": "Alias adresse (r)",
+        "alias_address_info": "<small>Fuld e-mail-adresse eller @ eksempel.com for at fange alle beskeder til et domæne (kommasepareret). <b> kun mailcow-domæner</b>.</small>",
+        "alias_domain": "Alias-domæne",
+        "alias_domain_info": "<small>Kun gyldige domænenavne (kommasepareret).</small>",
+        "app_name": "App navn",
+        "app_password": "Tilføj app-adgangskode",
+        "automap": "Prøv at automatisere mapper (\"Sendte emner\", \"Sendt\" => \"Sendt\" etc.)",
+        "backup_mx_options": "Relæindstillinger",
+        "comment_info": "En privat kommentar er ikke synlig for brugeren, mens en offentlig kommentar vises som et værktøjstip, når den svæver i brugeroversigten",
+        "custom_params": "Brugerdefinerede parametre",
+        "custom_params_hint": "Rigtigt: --param=xy, forkert: --param xy",
+        "delete1": "Slet fra kilden, når den er afsluttet",
+        "delete2": "Slet meddelelser på destinationen, der ikke er fra kilden",
+        "delete2duplicates": "Slet duplikater på destinationen",
+        "description": "Beskrivelse",
+        "destination": "Bestemmelsessted",
+        "disable_login": "Tillad ikke login (indgående mail accepteres stadig)",
+        "domain": "Domæne",
+        "domain_matches_hostname": "Domæne %s matcher værtsnavn",
+        "domain_quota_m": "Samlet domænekvote (Mb)",
+        "enc_method": "Krypteringsmetode",
+        "exclude": "Ekskluder objekter (regex)",
+        "full_name": "Fulde navn",
+        "gal": "Global adresseliste",
+        "gal_info": "GAL indeholder alle objekter i et domæne og kan ikke redigeres af nogen bruger. Information om ledig / optaget i SOGo mangler, hvis deaktiveret! <b> Genstart SOGo for at anvende ændringer. </b>",
+        "generate": "generere",
+        "goto_ham": "Lær som <span class=\"text-success\"><b>ham</b></span>",
+        "goto_null": "Kassér e-mail i stilhed",
+        "goto_spam": "Lær som <span class=\"text-danger\"><b>spam</b></span>",
+        "hostname": "Vært",
+        "inactive": "Inaktiv",
+        "kind": "slags",
+        "mailbox_quota_def": "Standardpostkassekvote",
+        "mailbox_quota_m": "Maks. kvote pr. postkasse (Mb)",
+        "mailbox_username": "Brugernavn (venstre del af en e-mail-adressen)",
+        "max_aliases": "Maks. mulige aliasser",
+        "max_mailboxes": "Maks. mulige postkasser",
+        "mins_interval": "Afstemningsinterval (minuter)",
+        "multiple_bookings": "Flere bookinger",
+        "nexthop": "Næste hop",
+        "password": "Kodeord",
+        "password_repeat": "Bekræft adgangskode (gentag)",
+        "port": "Port",
+        "post_domain_add": "SOGo-containeren, \"sogo-mailcow\", skal genstartes efter tilføjelse af et nyt domæne! <br> <br> Derudover skal domænernes DNS-konfiguration gennemgås. Når DNS-konfigurationen er godkendt, skal du genstarte \"acme-mailcow\" for automatisk at generere certifikater til dit nye domæne (autoconfig.&lt;domain&gt;, autodiscover.&lt;domain&gt;).<br>Dette trin er valgfrit og vil blive prøvet igen hver 24. time.",
+        "private_comment": "Privat kommentar",
+        "public_comment": "Offentlig kommentar",
+        "quota_mb": "Kvota (Mb)",
+        "relay_all": "Send alle modtagere videre",
+        "relay_all_info": "↪ Hvis du vælger <b> ikke </b> at videresende alle modtagere, skal du tilføje et (\"blind\") postkasse til hver enkelt modtager, der skal videresendes.",
+        "relay_domain": "Send dette domæne videre",
+        "relay_transport_info": "<div class=\"label label-info\">Info</div> Du kan definere transportkort til en tilpasset destination for dette domæne. Hvis ikke indstillet, foretages der et MX-opslag.",
+        "relay_unknown_only": "Videresend kun ikke-eksisterende postkasser. Eksisterende postkasser leveres lokalt.",
+        "relayhost_wrapped_tls_info": "Vær sød <b>ikke</b> at bruge TLS-indpakkede porte (bruges mest på port 465) .<br>\r\nBrug en ikke-pakket port, og udgiv STARTTLS. En TLS-politik til at håndhæve TLS kan oprettes i \"TLS policy maps\".",
+        "select": "Vælg venligst...",
+        "select_domain": "Vælg først et domæne",
+        "sieve_desc": "Kort beskrivelse",
+        "sieve_type": "Filtertype",
+        "skipcrossduplicates": "Spring duplikatbeskeder over mapper (først til mølle)",
+        "subscribeall": "Abonner på alle mapper",
+        "syncjob": "Tilføj synkroniseringsjob",
+        "syncjob_hint": "Vær opmærksom på, at adgangskoder skal gemmes som almindelig tekst!",
+        "target_address": "Gå til adresser",
+        "target_address_info": "<small>Fuld e-mail-adresser (komma-adskilt).</small>",
+        "target_domain": "Måldomæne",
+        "timeout1": "Timeout for forbindelse til ekstern vært",
+        "timeout2": "Timeout for forbindelse til lokal vært",
+        "username": "Brugernavn",
+        "validate": "Bekræft",
+        "validation_success": "Valideret med succes"
+    },
+    "admin": {
+        "access": "Adgang",
+        "action": "Handling",
+        "activate_api": "Aktivér API",
+        "activate_send": "Aktivér send knap",
+        "active": "Aktiv",
+        "active_rspamd_settings_map": "Kort over aktive indstillinger",
+        "add": "Tilføj",
+        "add_admin": "tilføj administrator",
+        "add_domain_admin": "tilføj domæne administrator",
+        "add_forwarding_host": "Tilføj videresendelsesvært",
+        "add_relayhost": "Tilføj afsenderafhængig transport",
+        "add_relayhost_hint": "Vær opmærksom på, at godkendelsesdata, hvis nogen, gemmes som almindelig tekst.",
+        "add_row": "Tilføj række",
+        "add_settings_rule": "Tilføj indstillingsregel",
+        "add_transport": "Tilføj transport",
+        "add_transports_hint": "Vær opmærksom på, at hvis nogen godkendelsesdata lagres gemmes det som almindelig tekst.",
+        "additional_rows": " yderligere rækker blev tilføjet",
+        "admin": "Administrator",
+        "admin_details": "Rediger administratoroplysninger",
+        "admin_domains": "Domænetildelinger",
+        "advanced_settings": "Advanceret indstillinger",
+        "api_allow_from": "Tillad API adgang fra disse IP'er/CIDR netværksnotationer",
+        "api_info": "API'en er et igangværende arbejde. Dokumentationen kan findes på <a href=\"/api\">/api</a>",
+        "api_key": "API nøgle",
+        "api_skip_ip_check": "Spring IP tjek over for API",
+        "app_links": "App links",
+        "app_name": "App navn",
+        "apps_name": "\"mailcow Apps\" navn",
+        "arrival_time": "Ankomst tid (server tid)",
+        "authed_user": "Auth. bruger",
+        "ays": "Er du sikker på, at du vil fortsætte?",
+        "ban_list_info": "Se en liste over forbudte IP'er nedenfor: <b>netværk (resterende forbudstid) - [handlinger]</b>.<br />IPs, der står i kø for at blive ikke-spærret, vil blive fjernet fra listen over aktive forbud inden for få sekunder.<br />Red etiketter angiver aktive permanente forbud ved sortlistning. Er du sikker på, at du vil fortsætte",
+        "change_logo": "Skift logo",
+        "configuration": "Konfiguration",
+        "credentials_transport_warning": "<b>Advarsel</b>: Tilføjelse af en ny transportkortpost opdaterer legitimationsoplysningerne for alle poster med en matchende nexthop-kolonne.",
+        "customer_id": "Kunde ID",
+        "customize": "Tilpas",
+        "delete_queue": "Slet alt",
+        "destination": "Bestemmelsessted",
+        "dkim_add_key": "Tilføj ARC/DKIM nøgle",
+        "dkim_domains_selector": "Vælger",
+        "dkim_domains_wo_keys": "Vælg domæner med manglende nøgler",
+        "dkim_from": "Fra",
+        "dkim_from_title": "Kildedomæne at kopiere data fra",
+        "dkim_key_length": "DKIM nøgle længde (bits)",
+        "dkim_key_missing": "Nøgle mangler",
+        "dkim_key_unused": "Nøgle ubrugt",
+        "dkim_key_valid": "Nøglen er gyldig",
+        "dkim_keys": "ARC/DKIM nøgler",
+        "dkim_overwrite_key": "Overskriv nuværende DKIM nøgle",
+        "dkim_private_key": "Privat nøgle",
+        "dkim_to": "Til",
+        "dkim_to_title": "Måldomæne (r) - vil blive overskrevet",
+        "domain": "Domæne",
+        "domain_admin": "Domæne administrator",
+        "domain_admins": "Domæne administrators",
+        "domain_s": "Domæne/r",
+        "duplicate": "Duplikere",
+        "duplicate_dkim": "Duplikere DKIM optegnelse",
+        "edit": "Redigere",
+        "empty": "Ingen resultater",
+        "excludes": "Ekskluderer disse modtagere",
+        "f2b_ban_time": "Udelukkelses tid (s)",
+        "f2b_blacklist": "Sortlistede netværk/værter",
+        "f2b_filter": "Regex filtre",
+        "f2b_list_info": "En sortlistet vært eller et netværk opvejer altid en hvidlisted eksistens. <b> Listeopdateringer tager nogle få sekunder at blive anvendt. </b> ",
+        "f2b_max_attempts": "Max. forsøg",
+        "f2b_netban_ipv4": "IPv4 subnet størrelse at anvende forbud mod (8-32)",
+        "f2b_netban_ipv6": "IPv6 subnet størrelse at anvende forbud mod (8-128)",
+        "f2b_parameters": "Fail2ban parametre",
+        "f2b_regex_info": "Logfiler taget i betragtning: SOGo, Postfix, Dovecot, PHP-FPM.",
+        "f2b_retry_window": "Genindlæs vindue om (s) for max. forsøg",
+        "f2b_whitelist": "Hvidlisted netværk/vært",
+        "filter_table": "Filtertabel",
+        "flush_queue": "Tøm kø",
+        "forwarding_hosts": "Videresendelse af værter",
+        "forwarding_hosts_add_hint": "Du kan enten angive IPv4 / IPv6-adresser, netværk i CIDR-notation, værtsnavne (som løses til IP-adresser) eller domænenavne (som løses til IP-adresser ved at spørge SPF-poster eller i mangel af MX-poster).",
+        "forwarding_hosts_hint": "Indgående beskeder accepteres ubetinget fra værter, der er anført her. Disse værter kontrolleres derefter ikke mod DNSBL'er eller udsættes for gråt notering. Spam modtaget fra dem afvises aldrig, men det kan eventuelt arkiveres i Junk-mappen. Den mest almindelige anvendelse til dette er at specificere mailservere, hvor du har oprettet en regel, der videresender indgående e-mails til din mailcow-server. ",
+        "from": "Fra",
+        "generate": "generere",
+        "guid": "GUID - entydigt forekomst-id",
+        "guid_and_license": "GUID & License",
+        "hash_remove_info": "Hvis du fjerner en ratelimit-hash (hvis den stadig findes), nulstilles tælleren fuldstændigt. <br>\r\n  Hver hash angives med en individuel farve.",
+        "help_text": "Tilsidesæt hjælp-teksten under loginmaske (HTML tilladt)",
+        "host": "Vært",
+        "html": "HTML(Hypertekstmarkeringssprog)",
+        "import": "Importere",
+        "import_private_key": "Importere privat nøgle",
+        "in_use_by": "I brug af",
+        "inactive": "Inaktiv",
+        "include_exclude": "Medtag/udeluk",
+        "include_exclude_info": "Som standard - uden markering er - <b>alle postkasser</b> adresseret",
+        "includes": "Medtag disse modtagere",
+        "last_applied": "Sidst anvendt",
+        "license_info": "En licens er ikke påkrævet, men hjælper videreudvikling. <br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"SAL order\">Registrer dit GUID her</a> or <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Support order\">køb støtte til din mailcow installation.</a>",
+        "link": "Link",
+        "loading": "Vent venligst...",
+        "logo_info": "Dit billede skaleres til en højde på 40px for den øverste navigationslinje og en max. bredde på 250px for startsiden. Skalerbar grafik anbefales på det kraftigste.",
+        "lookup_mx": "Match destination mod MX (.outlook.com at dirigere alle e-mails, der er målrettet mod en MX *.outlook.com over dette hop)",
+        "main_name": "\"mailcow UI\" navn",
+        "merged_vars_hint": "Nedtonede rækker blev flettet fra <code>vars.(local.)inc.php</code> og kan ikke ændres.",
+        "message": "Besked",
+        "message_size": "Meddelelsesstørrelse",
+        "nexthop": "Næste hop",
+        "no": "&#10005;",
+        "no_active_bans": "Ingen aktive Udelukkelser",
+        "no_new_rows": "Ingen yderligere rækker tilgængelige",
+        "no_record": "Ingen post",
+        "oauth2_client_id": "Klient ID",
+        "oauth2_client_secret": "Klient hemmelighed",
+        "oauth2_info": "OAuth2-implementeringen understøtter tilskudstypen \"Authorization Code\" og udsteder tids-bestemte opdateringstoken.<br>\r\nServeren udsteder også automatisk nye opdateringstokens, når der er brugt et opdateringstoken.<br><br>\r\n→ Standardområdet er <i>profile</i>. Det er kun brugere af postkasser, der kan godkendes mod OAuth2. Hvis områdeparameteren udelades, falder den tilbage til <i>profile</i>.<br>\r\n→ Den <i>status</i> skal sendes af klienten som en del af godkendelsesanmodningen.<br><br>\r\nStier til anmodninger til OAuth2 API: <br>\r\n<ul>\r\n  <li>Godkendelsesslutpunkt: <code>/oauth/authorize</code></li>\r\n  <li>Token slutpunkt: <code>/oauth/token</code></li>\r\n  <li>Ressource side:  <code>/oauth/profile</code></li>\r\n</ul>\r\nRegenerering af klienthemmeligheden udløber ikke eksisterende autorisationskoder, men de fornyer ikke deres token.<br><br>\r\nTilbagekaldelse af klient-tokens vil medføre øjeblikkelig afslutning af alle aktive sessioner. Alle klienter skal godkende igen.",
+        "oauth2_redirect_uri": "Omdiriger URI",
+        "oauth2_renew_secret": "Generer ny klienthemmelighed",
+        "oauth2_revoke_tokens": "Tilbagekald alle klient-tokens",
+        "optional": "valgfri",
+        "password": "Kodeord",
+        "password_repeat": "Bekræftelsesadgangskode (gentag)",
+        "priority": "Prioritet",
+        "private_key": "Privat nøgle",
+        "quarantine": "Karantæne",
+        "quarantine_bcc": "Send en kopi af alle meddelelser (BCC) til denne modtager:<br><small>Lad være tom for at deaktivere. <b>Usigneret, ikke-markeret mail. Bør kun leveres internt.</b></small>",
+        "quarantine_exclude_domains": "Ekskluder domæner og alias-domæner",
+        "quarantine_max_age": "Maximum alder i dage<br><small>Værdien skal være lig med eller større end 1 dag.</small>",
+        "quarantine_max_size": "Maksimal størrelse i MiB (større elementer kasseres):<br><small>0 indikere <b>ikke</b> ubegrænset.</small>",
+        "quarantine_max_score": "Kassér besked, hvis spam-score for en mail er højere end denne værdi:<br><small>Standardindstillingen er 9999.0</small>",
+        "quarantine_notification_html": "Notifikations-e-mail-skabelon:<br><small>Lad det være tomt for at gendanne standardskabelonen.</small>",
+        "quarantine_notification_sender": "Notification email sender",
+        "quarantine_notification_subject": "Notification email subject",
+        "quarantine_redirect": "<b>Redirect all notifications</b> to this recipient:<br><small>Leave empty to disable. <b>Unsigned, unchecked mail. Should be delivered internally only.</b></small>",
+        "quarantine_release_format": "Format på frigivne genstande",
+        "quarantine_release_format_att": "Som vedhæftet fil",
+        "quarantine_release_format_raw": "Umodificeret original",
+        "quarantine_retention_size": "Tilbageholdelse pr. Postkasse:<br><small>0 angiver <b>inaktiv</b>.</small>",
+        "queue_ays": "Bekræft venligst, at du vil slette alle emner fra den aktuelle kø.",
+        "queue_deliver_mail": "Aflevere",
+        "queue_hold_mail": "Hold",
+        "queue_manager": "Køadministrator",
+        "queue_unban": "kø ikke udeluk",
+        "queue_unhold_mail": "Unhold",
+        "queue_show_message": "Vis besked",
+        "quota_notification_html": "Notifikations-e-mail-skabelon:<br><small>Lad det være tomt for at gendanne standardskabelonen.</small>",
+        "quota_notification_sender": "Afsender af underretnings-e-mail",
+        "quota_notification_subject": "Underretningens e-mail-emne",
+        "quota_notifications": "Kvotemeddelelser",
+        "quota_notifications_info": "Kvotemeddelelser sendes til brugerne en gang, når de krydser 80%, og en gang, når de krydser 95% forbrug.",
+        "quota_notifications_vars": "{{percent}} svarer til brugerens nuværende kvote<br>{{username}} er postkassens navn",
+        "r_active": "Aktive begrænsninger",
+        "r_inactive": "Inaktive begrænsninger",
+        "r_info": "Nedtonede / deaktiverede elementer på listen over aktive begrænsninger er ikke kendt som gyldige begrænsninger for mailcow og kan ikke flyttes. Ukendte begrænsninger indstilles alligevel i rækkefølge efter udseende. <br>Du kan tilføje nye elementer i <code>inc/vars.local.inc.php</code> for at kunne skifte dem.",
+        "rate_name": "Bedøm navn",
+        "recipients": "Modtagere",
+        "refresh": "Opdater",
+        "regen_api_key": "Genopret API-nøgle",
+        "regex_maps": "Regex kort",
+        "relay_from": "\"Fra:\" adresse",
+        "relay_run": "Kør test",
+        "relayhosts": "Afsenderafhængige transporter",
+        "relayhosts_hint": "Definer afsenderafhængige transporter, så de kan vælge dem i en konfigurationsdialog for domæner.<br>\r\n  Transporttjenesten er altid \"smtp:\" og vil derfor prøve TLS, når de tilbydes. Indpakket TLS (SMTPS) understøttes ikke. En brugeres individuelle indstilling for TLS-politik tages i betragtning.<br>\r\n  Påvirker udvalgte domæner inklusive aliasdomæner.",
+        "remove": "Fjern",
+        "remove_row": "Fjern række",
+        "reset_default": "Nulstil til standard",
+        "reset_limit": "Fjern hash",
+        "routing": "Routing",
+        "rsetting_add_rule": "Tilføj regel",
+        "rsetting_content": "Regelindhold",
+        "rsetting_desc": "Kort beskrivelse",
+        "rsetting_no_selection": "Vælg en regel",
+        "rsetting_none": "Ingen tilgængelige regler",
+        "rsettings_insert_preset": "Indsæt eksempel forudindstilling \"%s\"",
+        "rsettings_preset_1": "Deaktiver alt undtagen DKIM og satsgrænse for godkendte brugere",
+        "rsettings_preset_2": "Postmestere ønsker spam",
+        "rsettings_preset_3": "Tillad kun specifikke afsendere til en postkasse (dvs. kun brug som intern postkasse)",
+        "rspamd-com_settings": "Et indstillingsnavn genereres automatisk, se eksemplet på forudindstillinger nedenfor. For flere detaljer se <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd docs</a>",
+        "rspamd_global_filters": "Globale filterkort",
+        "rspamd_global_filters_agree": "Jeg vil være forsigtig!",
+        "rspamd_global_filters_info": "Global filter maps contain different kind of global black and whitelists.",
+        "rspamd_global_filters_regex": "Deres navne forklarer deres formål. Alt indhold skal indeholde gyldigt regulært udtryk i formatet \"/pattern/options\" (e.g. <code>/.+@domain\\.tld/i</code>).<br>\r\n  Selvom der udføres rudimentære kontroller på hver linje med regex, kan Rspamds-funktionaliteten brydes, hvis den ikke læser syntaksen korrekt.<br>\r\n  Rspamd forsøger at læse kortindholdet, når det ændres. Hvis du oplever problemer, <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\"  data-target=\"#RestartContainer\">genstart Rspamd</a> for at håndhæve et kortindlæsning.<br>Sortlisteelementer er udelukket fra karantæne.",
+        "rspamd_settings_map": "Rspamd indstillinger kort",
+        "sal_level": "Moo niveau",
+        "save": "Gem ændringer",
+        "search_domain_da": "Søg i domæner",
+        "send": "Send",
+        "sender": "Afsender",
+        "service_id": "Service ID",
+        "source": "Kilde",
+        "spamfilter": "Spam filter",
+        "subject": "Emne",
+        "sys_mails": "System e-mails",
+        "text": "Tekst",
+        "time": "Tid",
+        "title": "Titel",
+        "title_name": "\"mailcow UI\" hjemmeside titel",
+        "to_top": "Tilbage til toppen",
+        "transport_dest_format": "Syntaks: example.org, .example.org, *, box@example.org (flere værdier kan adskilles med komma)",
+        "transport_maps": "Transport Maps",
+        "transports_hint": "→ En transportkortpost <b>tilsidesætter</b> et afsenderafhængigt transportkort</b>.<br>\r\n→ Indstillinger for udgående TLS-politik pr. Bruger ignoreres og kan kun håndhæves af TLS-politikortposter.<br>\r\n→ Transportservicen for definerede transporter er altid \"smtp:\" og vil derfor prøve TLS, når de tilbydes. Indpakket TLS (SMTPS) understøttes ikke.<br>\r\n→ Adresser, der matcher \"/localhost$/\" vil altid blive transporteret via \"local:\", derfor en \"*\" destination gælder ikke for disse adresser.<br>\r\n→ At bestemme legitimationsoplysninger for et eksemplarisk næste hop \"[host]:25\", Postfix <b>altid</b> forespørgsler til \"host\" inden du søger efter \"[host]:25\". Denne adfærd gør det umuligt at bruge \"host\" og \"[host]:25\" på samme tid.",
+        "ui_footer": "Sidefod (HTML tilladt)",
+        "ui_header_announcement": "Meddelelser",
+        "ui_header_announcement_active": "Indstil meddelelse aktiv",
+        "ui_header_announcement_content": "Tekst (HTML tilladt)",
+        "ui_header_announcement_help": "Meddelelsen er synlig for alle indloggede brugere og på loginskærmen i brugergrænsefladen.",
+        "ui_header_announcement_select": "Vælg meddelelsestype",
+        "ui_header_announcement_type": "Type",
+        "ui_header_announcement_type_info": "Info",
+        "ui_header_announcement_type_warning": "Vigtig",
+        "ui_header_announcement_type_danger": "Meget vigtigt",
+        "ui_texts": "UI-etiketter og tekster",
+        "unban_pending": "unban ventende",
+        "unchanged_if_empty": "Lad være tomt, hvis uændret",
+        "upload": "Upload",
+        "username": "Brugernavn",
+        "validate_license_now": "Valider GUID mod licensserver",
+        "verify": "Verificere",
+        "yes": "&#10003;"
+    },
+    "danger": {
+        "access_denied": "Adgang nægtet eller ugyldig formular data",
+        "alias_domain_invalid": "Aliasdomænet% s er ugyldigt",
+        "alias_empty": "Aliasadressen må ikke være tom",
+        "alias_goto_identical": "Alias og goto-adresseæ må ikke være identiske",
+        "alias_invalid": "Aliasadresse %s er ugyldig",
+        "aliasd_targetd_identical": "Aliasdomænet må ikke være lig med måldomænet: %s",
+        "aliases_in_use": "Maks. aliaser skal være større eller lig med %d",
+        "app_name_empty": "Appens navn kan ikke være tomt",
+        "app_passwd_id_invalid": "App-adgangskode-id %s ugyldig",
+        "bcc_empty": "BCC-destination kan ikke være tom",
+        "bcc_exists": "Et BCC-kort %s findes for type %s",
+        "bcc_must_be_email": "BCC-destination %s er ikke en gyldig e-mail-adresse",
+        "comment_too_long": "Kommentar for lang, maks. 160 tegn tilladt",
+        "defquota_empty": "Standardkvoten pr. Postkasse må ikke være 0.",
+        "description_invalid": "Ressource beskrivelse for %s er ugyldig",
+        "dkim_domain_or_sel_exists": "En DKIM-nøgle til \"%s\" findes og vil ikke blive overskrevet",
+        "dkim_domain_or_sel_invalid": "DKIM-domæne eller vælger er ugyldigt: %s",
+        "domain_cannot_match_hostname": "Domæne kan ikke matche værtsnavn",
+        "domain_exists": "Domæne %s eksisterer allerede",
+        "domain_invalid": "Domænenavnet er tomt eller ugyldigt",
+        "domain_not_empty": "Kan ikke fjerne ikke-tomt domæne %s",
+        "domain_not_found": "Domæne %s ikke fundet",
+        "domain_quota_m_in_use": "Domænekvote skal være større eller lig med %s MiB",
+        "extra_acl_invalid": "Ekstern afsenderadresse \"%s\" er ugyldig",
+        "file_open_error": "Filen kan ikke åbnes til skrivning",
+        "filter_type": "Forkert filtertype",
+        "from_invalid": "Afsenderen må ikke være tom",
+        "global_filter_write_error": "Kunne ikke skrive filterfil: %s",
+        "global_map_invalid": "Globalt kort-ID %s ugyldig",
+        "global_map_write_error": "Kunne ikke skrive globalt kort-id %s: %s",
+        "goto_empty": "En alias-adresse skal indeholde mindst en gyldig goto-adresse",
+        "goto_invalid": "Gå til adresse %s er ugyldig",
+        "ham_learn_error": "HAM lærer fejl: %s",
+        "imagick_exception": "Fejl: Se undtagelsen, mens du læser billedet",
+        "img_invalid": "Kan ikke validere billedfilen",
+        "img_tmp_missing": "Kan ikke validere billedfil: Midlertidig fil blev ikke fundet",
+        "invalid_bcc_map_type": "Ugyldig BCC-korttype",
+        "invalid_destination": "Destinationsformat \"%s\" er ugyldig",
+        "invalid_filter_type": "Ugyldig filtertype",
+        "invalid_host": "Ugyldig vært angivet: %s",
+        "invalid_mime_type": "Ugyldig mime-type",
+        "invalid_nexthop": "Næste hop-format er ugyldigt",
+        "invalid_nexthop_authenticated": "Næste hop findes med forskellige legitimationsoplysninger. Opdater de eksisterende legitimationsoplysninger til dette næste hop først.",
+        "invalid_recipient_map_new": "Ugyldig ny modtager er angivet: %s",
+        "invalid_recipient_map_old": "Ugyldig original modtager er angivet: %s",
+        "ip_list_empty": "Listen over tilladte IP&#39;er kan ikke være tomme",
+        "is_alias": "%s er allerede kendt som en alias-adresse",
+        "is_alias_or_mailbox": "%s er allerede kendt som et alias, en postkasse eller en aliasadresse udvidet fra et aliasdomæne.",
+        "is_spam_alias": "%s er allerede kendt som en midlertidig alias-adresse (spam alias-adresse)",
+        "last_key": "Sidste nøgle kan ikke slettes. Deaktiver venligst TFA i stedet.",
+        "login_failed": "Login mislykkedes",
+        "mailbox_defquota_exceeds_mailbox_maxquota": "Standardkvoten overstiger den maksimale kvotegrænse",
+        "mailbox_invalid": "Postkassens navn er ugyldigt",
+        "mailbox_quota_exceeded": "Kvoten overstiger domænegrænsen(max. %d MiB)",
+        "mailbox_quota_exceeds_domain_quota": "Maks. kvote overstiger domænekvotegrænsen",
+        "mailbox_quota_left_exceeded": "Der er ikke nok plads tilbage (plads tilbage: %d MiB)",
+        "mailboxes_in_use": "Maks. postkasser skal være større eller lig med %d",
+        "malformed_username": "Misformet brugernavn",
+        "map_content_empty": "Kortindholdet må ikke være tomt",
+        "max_alias_exceeded": "Maks. aliaser overskredet",
+        "max_mailbox_exceeded": "Maks. postkasser overskredet (%d af %d)",
+        "max_quota_in_use": "Postkassekvoten skal være større eller lig med %d MiB",
+        "maxquota_empty": "Maks. kvote pr. postkasse må ikke være 0.",
+        "mysql_error": "MySQL fejl: %s",
+        "network_host_invalid": "Ugyldigt netværk eller vært: %s",
+        "next_hop_interferes": "%s interfererer med nexthop %s",
+        "next_hop_interferes_any": "En eksisterende næste hop interfererer med %s",
+        "no_user_defined": "Ingen brugerdefineret",
+        "object_exists": "Objekt %s eksisterer allerede",
+        "object_is_not_numeric": "Værdi %s er ikke numerisk",
+        "password_complexity": "Adgangskoden opfylder ikke politikken",
+        "password_empty": "Adgangskoden må ikke være tom",
+        "password_mismatch": "Bekræftelsesadgangskoden stemmer ikke overens",
+        "policy_list_from_exists": "Der findes en post med fornavn",
+        "policy_list_from_invalid": "Posten har ugyldigt format",
+        "private_key_error": "Privat nøglefejl: %s",
+        "pushover_credentials_missing": "Pushover-token og / eller nøgle mangler",
+        "pushover_key": "Pushover-nøglen har et forkert format",
+        "pushover_token": "Pushover-token har et forkert format",
+        "quota_not_0_not_numeric": "Kvoten skal være numerisk og >= 0",
+        "recipient_map_entry_exists": "En modtagerkortpost \"%s\" eksisterer",
+        "redis_error": "Redis fejl: %s",
+        "relayhost_invalid": "Kortindtastning %s er ugyldig",
+        "release_send_failed": "Beskeden kunne ikke frigives: %s",
+        "reset_f2b_regex": "Regex filter kunne ikke nulstilles i tide, prøv igen eller vent et par sekunder mere, og genindlæs webstedet.",
+        "resource_invalid": "Ressource navn %s er ugyldig",
+        "rl_timeframe": "Tidsramme for satsbegrænsning er forkert",
+        "rspamd_ui_pw_length": "Rspamd UI adgangskoden skal være mindst 6 tegn lang",
+        "script_empty": "Scriptet kan ikke være tomt",
+        "sender_acl_invalid": "Afsender ACL-værdi %s er ugyldig",
+        "set_acl_failed": "Kunne ikke indstille ACL",
+        "settings_map_invalid": "Indstillinger kort-id %s ugyldig",
+        "sieve_error": "Fejl i sile-parser: %s",
+        "spam_learn_error": "Spam lære fejl: %s",
+        "subject_empty": "Emnet må ikke være tomt",
+        "target_domain_invalid": "Måldomæne %s er ugyldig",
+        "targetd_not_found": "Måldomæne %s ikke fundet",
+        "targetd_relay_domain": "Måldomæne %s er et relædomæne",
+        "temp_error": "Midlertidig fejl",
+        "text_empty": "Teksten må ikke være tom",
+        "tfa_token_invalid": "TFA-token ugyldig",
+        "tls_policy_map_dest_invalid": "Politikens destination er ugyldig",
+        "tls_policy_map_entry_exists": "En post i TLS-politikkort \"%s\" eksisterer",
+        "tls_policy_map_parameter_invalid": "Politikparameter er ugyldig",
+        "totp_verification_failed": "Bekræftelse af TOTP mislykkedes",
+        "transport_dest_exists": "Transport destination \"%s\" eksisterer",
+        "u2f_verification_failed": "U2F-bekræftelse mislykkedes: %s",
+        "fido2_verification_failed": "Bekræftelse af FIDO2 mislykkedes: %s",
+        "unknown": "Der opstod en ukendt fejl",
+        "unknown_tfa_method": "Ukendt TFA-metode",
+        "unlimited_quota_acl": "Ubegrænset kvote forbudt af ACL",
+        "username_invalid": "Brugernavn %s kan ikke bruges",
+        "validity_missing": "Tildel venligst en gyldighedsperiode",
+        "value_missing": "Angiv alle værdier",
+        "yotp_verification_failed": "Yubico OTP verifikationen mislykkedes: %s"
+    },
+    "debug": {
+        "chart_this_server": "Diagram (denne server)",
+        "containers_info": "Oplysninger om containere",
+        "disk_usage": "Diskbrug",
+        "external_logs": "Eksterne logfiler",
+        "history_all_servers": "Historie (alle servere)",
+        "in_memory_logs": "In-memory logs",
+        "jvm_memory_solr": "Brug af JVM-hukommelse",
+        "log_info": "<p>mailcow <b>in-memory logs</b> er samlet i Redis-lister og trimmet til LOG_LINES (%d) hvert minut for at reducere hamring.\r\n  <br>Logbøger i hukommelsen er ikke beregnet til at være vedholdende. Alle applikationer, der logger ind i hukommelsen, logger også på Docker-dæmonen og derfor til standardlogdriveren.\r\n  <br>Logtypen i hukommelsen skal bruges til fejlfinding af mindre problemer med containere.</p>\r\n  <p><b>Eksterne logfiler</b> indsamles via API for den givne applikation.</p>\r\n  <p><b>Statiske logfiler</b> er for det meste aktivitetslogfiler, der ikke er logget på Dockerd, men stadig skal være vedholdende (undtagen API-logfiler).</p>",
+        "logs": "Logs",
+        "restart_container": "Genstart",
+        "solr_dead": "Solr starter, deaktiveres eller døde.",
+        "solr_docs": "Dokumenter",
+        "solr_last_modified": "Sidst ændret",
+        "solr_size": "Størrelse",
+        "solr_started_at": "Startede kl",
+        "solr_status": "Solr-status",
+        "solr_uptime": "Oppetid",
+        "started_on": "Startede den",
+        "static_logs": "Statiske logfiler",
+        "system_containers": "System og Beholdere"
+    },
+    "diagnostics": {
+        "cname_from_a": "Værdi afledt af A / AAAA-post. Dette understøttes, så længe posten peger på den korrekte ressource.",
+        "dns_records": "DNS-poster",
+        "dns_records_24hours": "Bemærk, at ændringer, der foretages i DNS, kan tage op til 24 timer for at få deres aktuelle status korrekt reflekteret på denne side. Det er beregnet som en måde for dig let at se, hvordan du konfigurerer dine DNS-poster og kontrollere, om alle dine poster er korrekt gemt i DNS.",
+        "dns_records_docs": "Se også <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentationen</a>.",
+        "dns_records_data": "Korrekte data",
+        "dns_records_name": "Navn",
+        "dns_records_status": "Nuværende tilstand",
+        "dns_records_type": "Type",
+        "optional": "Denne post er valgfri."
+    },
+    "edit": {
+        "active": "Active",
+        "advanced_settings": "Avancerede indstillinger",
+        "alias": "rediger mere",
+        "allow_from_smtp": "Tillad kun, at disse IP&#39;er bruges <b>SMTP</b>",
+        "allow_from_smtp_info": "Lad det være tomt for at tillade alle afsendere.<br>IPv4/IPv6 adresser og netværk.",
+        "allowed_protocols": "Tilladte protokoller",
+        "app_name": "Appens navn",
+        "app_passwd": "App-adgangskode",
+        "automap": "Prøv at automatisere mapper (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
+        "backup_mx_options": "Relæindstillinger",
+        "bcc_dest_format": "BCC-destination skal være en enkelt gyldig e-mail-adresse.",
+        "client_id": "Klient-id",
+        "client_secret": "Klienthemmelighed",
+        "comment_info": "En privat kommentar er ikke synlig for brugeren, mens en offentlig kommentar vises som værktøjstip, når den svæver i en brugeroversigt",
+        "delete1": "Slet fra kilden, når den er afsluttet",
+        "delete2": "Slet meddelelser på destinationen, der ikke er fra kilden",
+        "delete2duplicates": "Slet duplikater på destinationen",
+        "delete_ays": "Bekræft sletningsprocessen.",
+        "description": "Beskrivelse",
+        "disable_login": "Tillad ikke login (indgående mail accepteres stadig)",
+        "domain": "Rediger domæne",
+        "domain_admin": "Rediger domæneadministrator",
+        "domain_quota": "Domæne kvote",
+        "domains": "Domæner",
+        "dont_check_sender_acl": "Deaktiver afsenderkontrol for domæne %s (+ alias-domæner)",
+        "edit_alias_domain": "Rediger Alias-domæne",
+        "encryption": "Kryptering",
+        "exclude": "Ekskluder objekter (regex)",
+        "extended_sender_acl": "Eksterne afsenderadresser",
+        "extended_sender_acl_info": "En DKIM-domænenøgle skal importeres, hvis den er tilgængelig.<br>\r\n  Husk at tilføje denne server til den tilsvarende SPF TXT-post.<br>\r\n  Når et domæne eller aliasdomæne føjes til denne server, der overlapper en ekstern adresse, fjernes den eksterne adresse.<br>\r\n  Brug @domain.tld til at tillade at sende som *@domæne.tld.",
+        "force_pw_update": "Tving adgangskodeopdatering til næste login",
+        "force_pw_update_info": "Denne bruger kan kun logge ind på %s.",
+        "full_name": "Fulde navn",
+        "gal": "Global adresseliste",
+        "gal_info": "GAL indeholder alle objekter i et domæne og kan ikke redigeres af nogen bruger. Information om ledig / optaget i SOGo mangler, hvis deaktiveret! <b>Genstart SOGo for at anvende ændringer.</b>",
+        "generate": "frembringe",
+        "grant_types": "Tilskudstyper",
+        "hostname": "Værtsnavn",
+        "inactive": "Inaktiv",
+        "kind": "Kind",
+        "mailbox": "Rediger postkasse",
+        "mailbox_quota_def": "Standardpostkassekvote",
+        "max_aliases": "Maks. aliaser",
+        "max_mailboxes": "Maks. mulige postkasser",
+        "max_quota": "Maks. kvote pr. postkasse (MiB)",
+        "maxage": "Maksimumalder for beskeder i dage, der vil blive pollet fra fjernbetjeningen<br><small>(0 = ignorere alder)</small>",
+        "maxbytespersecond": "Maks. bytes pr. sekund <br><small>(0 = ubegrænset)</small>",
+        "mbox_rl_info": "Denne satsgrænse anvendes på SASL-loginnavnet, den matcher ethvert \"from\" adresse, der bruges af den indloggede bruger. En grænse for sats for postkasse tilsidesætter en satsgrænse for hele domænet.",
+        "mins_interval": "Interval (min)",
+        "multiple_bookings": "Flere bookinger",
+        "nexthop": "Næste hop",
+        "password": "Adgangskode",
+        "password_repeat": "Bekræftelsesadgangskode (gentag)",
+        "previous": "Forrige side",
+        "private_comment": "Privat kommentar",
+        "public_comment": "Offentlig hvordan",
+        "pushover_evaluate_x_prio": "Eskaler e-mail med høj prioritet [<code>X-Priority: 1</code>]",
+        "pushover_info": "Indstillinger for push-meddelelser gælder for al ren (ikke-spam) post, der leveres til <b>%s</b> inklusive aliaser (delt, ikke-delt, tagget).",
+        "pushover_only_x_prio": "Overvej kun post med høj prioritet [<code>X-Priority: 1</code>]",
+        "pushover_sender_array": "Overvej kun følgende afsender-e-mail-adresser <small>(comma-separated)</small>",
+        "pushover_sender_regex": "Overvej følgende afsender regex",
+        "pushover_text": "Meddelelsestekst",
+        "pushover_title": "Meddelelsestitel",
+        "pushover_vars": "Når der ikke er defineret et afsenderfilter, overvejes alle mails.<br>Regex såvel som nøjagtige afsenderkontrol kan defineres individuelt og vil blive betragtet i rækkefølge. De er ikke afhængige af hinanden.<br>Brugbare variabler til tekst og titel (vær opmærksom på databeskyttelsespolitikker)",
+        "pushover_verify": "Bekræft legitimationsoplysninger",
+        "quota_mb": "Kvote (MiB)",
+        "redirect_uri": "Omdirigering/tilbagekald URL",
+        "relay_all": "Send alle modtagere videre",
+        "relay_all_info": "↪ Hvis du vælger <b>ikke</b> for at videresende alle modtagere skal du tilføje en (\"blind\") postkasse til hver enkelt modtager, der skal videresendes.",
+        "relay_domain": "Send dette domæne videre",
+        "relay_transport_info": "<div class=\"label label-info\">Info</div> Du kan definere transportkort til en tilpasset destination for dette domæne. Hvis den ikke er indstillet, foretages der et MX-opslag.",
+        "relay_unknown_only": "Videresend kun ikke-eksisterende postkasser. Eksisterende postkasser leveres lokalt.",
+        "relayhost": "Afsenderafhængige transporter",
+        "remove": "Fjerne",
+        "resource": "Ressource",
+        "save": "Gem ændringer",
+        "scope": "Anvendelsesområde",
+        "sender_acl": "Tillad at sende som",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Afsenderkontrol er deaktiveret</span>",
+        "sender_acl_info": "Hvis postkassebruger A har tilladelse til at sende som postkassebruger B, vises afsenderadressen ikke automatisk som valgbar \"from\" felt i SOGo.<br>\r\n  Postkassebruger B skal oprette en delegation i SOGo for at tillade postkassebruger A at vælge deres adresse som afsender. For at delegere en postkasse i SOGo skal du bruge menuen (tre prikker) til højre for dit postkassens navn øverst til venstre, mens du er i postvisningen. Denne adfærd gælder ikke for aliasadresser.",
+        "sieve_desc": "Kort beskrivelse",
+        "sieve_type": "Filtertype",
+        "skipcrossduplicates": "Spring duplikatbeskeder over mapper (først til mølle)",
+        "sogo_access": "Giv adgang til SOGo",
+        "sogo_access_info": "Giv eller tillad adgang til SOGo. Denne indstilling påvirker hverken adgang til alle andre tjenester eller sletter eller ændrer en eksisterende SOGo-profil for brugere.",
+        "sogo_visible": "Alias er synligt i SOGo",
+        "sogo_visible_info": "Denne indstilling påvirker kun objekter, der kan vises i SOGo (delte eller ikke-delte aliasadresser, der peger på mindst en lokal postkasse). Hvis skjult, vises et alias ikke som valgbar afsender i SOGo.",
+        "spam_alias": "Opret eller skift tidsbegrænsede aliasadresser",
+        "spam_policy": "Tilføj eller fjern genstande til hvid- / sortliste",
+        "spam_score": "Indstil en brugerdefineret spam-score",
+        "subfolder2": "Synkroniser til undermappe på destinationen<br><small>(tom = brug ikke undermappe)</small>",
+        "syncjob": "Rediger synkroniseringsjob",
+        "target_address": "Gå til adresse (r) <small>(komma separeret)</small>",
+        "target_domain": "Måldomæne",
+        "timeout1": "Timeout for forbindelse til ekstern vært",
+        "timeout2": "Timeout for forbindelse til lokal vært",
+        "title": "Rediger objekt",
+        "unchanged_if_empty": "Lad være tomt, hvis uændret",
+        "username": "Brugernavn",
+        "validate_save": "Valider og gem"
+    },
+    "footer": {
+        "cancel": "Afbestille",
+        "confirm_delete": "Bekræft sletning",
+        "delete_now": "Slet nu",
+        "delete_these_items": "Bekræft dine ændringer til følgende objekt-id",
+        "hibp_nok": "Matchet! Dette er en potentielt farlig adgangskode!",
+        "hibp_ok": "Ingen match fundet.",
+        "loading": "Vent venligst...",
+        "restart_container": "Genstart beholderen",
+        "restart_container_info": "<b>Vigtig:</b> Det kan tage et stykke tid at gennemføre en yndefuld genstart. Vent til den er færdig.",
+        "restart_now": "Genstart nu",
+        "restarting_container": "Genstart af beholder, det kan tage et stykke tid"
+    },
+    "header": {
+        "administration": "Konfiguration og detailer",
+        "apps": "Apps",
+        "debug": "Systemoplysninger",
+        "mailboxes": "Mailopsætning",
+        "mailcow_settings": "Konfiguration",
+        "quarantine": "Karantæne",
+        "restart_netfilter": "Genstart netfilter",
+        "restart_sogo": "Genstart SOGo",
+        "user_settings": "Brugerindstillinger"
+    },
+    "info": {
+        "awaiting_tfa_confirmation": "Venter på TFA-bekræftelse",
+        "no_action": "Ingen handling gældende",
+        "session_expires": "Din session udløber om cirka 15 sekunder"
+    },
+    "login": {
+        "delayed": "Login blev forsinket med% s sekunder.",
+        "fido2_webauthn": "FIDO2/WebAuthn",
+        "login": "Login",
+        "mobileconfig_info": "Log ind som postkassebruger for at downloade den anmodede Apple-forbindelsesprofil.",
+        "other_logins": "Nøgle login",
+        "password": "Adgangskode",
+        "username": "Brugernavn"
+    },
+    "mailbox": {
+        "action": "Handling",
+        "activate": "Aktivér",
+        "active": "Aktiv",
+        "add": "Tilføje",
+        "add_alias": "Tilføj alias",
+        "add_bcc_entry": "Tilføj BCC-kort",
+        "add_domain": "Tilføj domæne",
+        "add_domain_alias": "Tilføj domænealias",
+        "add_domain_record_first": "Tilføj først et domæne",
+        "add_filter": "Tilføj filter",
+        "add_mailbox": "Tilføj postkasse",
+        "add_recipient_map_entry": "Tilføj modtagerkort",
+        "add_resource": "Tilføj ressource",
+        "add_tls_policy_map": "Tilføj TLS-politikkort",
+        "address_rewriting": "Omskrivning af adresse",
+        "alias": "Alias",
+        "alias_domain_alias_hint": "Aliaser er <b>not</b> anvendes automatisk på domænealiaser. En alias-adresse <code>mit-alias@domain</code> <b>gør ikke</b> dække adressen <code>my-alias@alias-domain</code> (hvor \"alias-domain\" er et imaginært aliasdomæne for \"domain\").<br>Brug et sigfilter til at omdirigere mail til en ekstern postkasse (se fanen \"Filters\" eller brug SOGo -> fremsender).",
+        "alias_domain_backupmx": "Alias-domæne inaktivt for relædomæne",
+        "aliases": "Aliaser",
+        "allow_from_smtp": "Tillad kun, at disse IPer bruges <b>SMTP</b>",
+        "allow_from_smtp_info": "Lad det være tomt for at tillade alle afsendere.<br>IPv4/IPv6adresser og netværk.",
+        "allowed_protocols": "Tilladte protokoller",
+        "backup_mx": "Relædomæne",
+        "bcc": "BCC",
+        "bcc_destination": "BCC bestemmelsessted",
+        "bcc_destinations": "BCC bestemmelsessted",
+        "bcc_info": "BCC-kort bruges til lydsvagt at videresende kopier af alle meddelelser til en anden adresse. En modtagerkorttypepost bruges, når den lokale destination fungerer som modtager af en mail. Afsenderkort overholder det samme princip.<br/>\r\n  Den lokale destination vil ikke blive informeret om en mislykket levering.",
+        "bcc_local_dest": "Lokal destination",
+        "bcc_map": "BCC kort",
+        "bcc_map_type": "BCC type",
+        "bcc_maps": "BCC maps",
+        "bcc_rcpt_map": "Modtagerkort",
+        "bcc_sender_map": "Afsender kort",
+        "bcc_to_rcpt": "Skift til modtagerens korttype",
+        "bcc_to_sender": "Skift til afsenderkorttype",
+        "bcc_type": "BCC-type",
+        "booking_0": "Vis altid som gratis",
+        "booking_0_short": "Altid gratis",
+        "booking_custom": "Hard-limit til et brugerdefineret antal bookinger",
+        "booking_custom_short": "Hård grænse",
+        "booking_lt0": "Ubegrænset, men vis som optaget, når booket",
+        "booking_lt0_short": "Blød grænse",
+        "daily": "Daglige",
+        "deactivate": "Deaktiver",
+        "description": "Beskrivelse",
+        "disable_login": "Tillad ikke login (indgående mail accepteres stadig)",
+        "disable_x": "Deaktiver",
+        "domain": "Domæne",
+        "domain_admins": "Domæneadministratorer",
+        "domain_aliases": "Domænealiaser",
+        "domain_quota": "Kvote",
+        "domains": "Domains",
+        "edit": "Edit",
+        "empty": "Ingen resultater",
+        "enable_x": "Aktiver",
+        "excludes": "Ekskluderer",
+        "filter_table": "Filtertabel",
+        "filters": "Filtre",
+        "fname": "Fulde navn",
+        "hourly": "Hver time",
+        "in_use": "I brug (%)",
+        "inactive": "Inaktiv",
+        "insert_preset": "Indsæt eksempel forudindstilling \"%s\"",
+        "kind": "Kind",
+        "last_mail_login": "Last mail login",
+        "last_run": "Sidste løb",
+        "last_run_reset": "Planlæg næste",
+        "mailbox": "Postkasse",
+        "mailbox_defquota": "Standardstørrelse på postkasse",
+        "mailbox_quota": "Maks. størrelsen på en postkasse",
+        "mailboxes": "Postkasser",
+        "mailbox_defaults": "Standardindstillinger",
+        "mailbox_defaults_info": "Definer standardindstillinger for nye postkasser.",
+        "mins_interval": "Interval (min)",
+        "msg_num": "Besked #",
+        "multiple_bookings": "Flere bookinger",
+        "never": "Aldrig",
+        "no": "&#10005;",
+        "no_record": "Ingen registrering for objekt %s",
+        "no_record_single": "Jeg kan ikke huske det",
+        "owner": "Ejer",
+        "private_comment": "Privat kommentar",
+        "public_comment": "Offentlig hvordan",
+        "q_add_header": "Uønsket mappe",
+        "q_all": "Alle kategorier",
+        "q_reject": "Afvist",
+        "quarantine_notification": "Karantænemeddelelser",
+        "quarantine_category": "Karantænemeddelelseskategori",
+        "quick_actions": "Handlinger",
+        "recipient_map": "Modtagerkort",
+        "recipient_map_info": "Modtagerkort bruges til at erstatte destinationsadressen i en meddelelse, før den leveres.",
+        "recipient_map_new": "Ny modtager",
+        "recipient_map_new_info": "Modtagerkortdestination skal være en gyldig e-mail-adresse.",
+        "recipient_map_old": "Original modtager",
+        "recipient_map_old_info": "En modtager kortlægger den originale destination, skal være gyldige e-mail-adresser eller et domænenavn.",
+        "recipient_maps": "Modtagerkort",
+        "remove": "Fjerne",
+        "resources": "Ressourcer",
+        "running": "Løb",
+        "set_postfilter": "Marker som postfilter",
+        "set_prefilter": "Marker som forfilter",
+        "sieve_info": "Du kan gemme flere filtre pr. Bruger, men kun et forfilter og et efterfilter kan være aktive på samme tid.<br>\r\nHvert filter behandles i den beskrevne rækkefølge. Hverken et mislykket script eller et udstedt \"keep;\" stopper behandlingen af yderligere scripts. Ændringer i globale sigtscript vil udløse en genstart af Dovecot.<br><br>Globalt sigteforfilter → Forfilter → Bruger scripts → Efterfilter → Globalt sigte efterfilter",
+        "sieve_preset_1": "Kassér e-mail med sandsynlige farlige filtyper",
+        "sieve_preset_2": "Marker altid e-mailen til en bestemt afsender som set",
+        "sieve_preset_3": "Kassér lydløst, stop al yderligere sigtebehandling",
+        "sieve_preset_4": "Fil til INBOX, spring videre behandling ved hjælp af sigtefiltre",
+        "sieve_preset_5": "Autosvar (ferie)",
+        "sieve_preset_6": "Afvis mail med svar",
+        "sieve_preset_7": "Omdiriger og hold/slip",
+        "sieve_preset_8": "Kassér besked sendt til en aliasadresse, som afsenderen er en del af",
+        "sieve_preset_header": "Se eksemplet på forudindstillinger nedenfor. For flere detaljer se <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
+        "sogo_visible": "Alias er synligt i SOGo",
+        "sogo_visible_n": "Skjul alias i SOGo",
+        "sogo_visible_y": "Vis alias i SOGo",
+        "spam_aliases": "Temp. alias",
+        "stats": "Statistikker",
+        "status": "Status",
+        "sync_jobs": "Synkroniser job",
+        "table_size": "Bordstørrelse",
+        "table_size_show_n": "Vis %s genstande",
+        "target_address": "Gå til adresse",
+        "target_domain": "Måldomæne",
+        "tls_enforce_in": "Håndhæv TLS indgående",
+        "tls_enforce_out": "Håndhæve TLS udgående",
+        "tls_map_dest": "Bestemmelsessted",
+        "tls_map_dest_info": "Eksempler: eksempel.org, .eksempel.org, [mail.eksempel.org]:25",
+        "tls_map_parameters": "Parametre",
+        "tls_map_parameters_info": "Tom eller for eksempel parametre: protocols=!SSLv2 ciphers=medium exclude=3DES",
+        "tls_map_policy": "Politik",
+        "tls_policy_maps": "TLS-politikkort",
+        "tls_policy_maps_info": "Dette politikkort tilsidesætter udgående TLS-transportregler uafhængigt af brugernes TLS-politikindstillinger.<br>\r\n Kontroller venligst <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">the \"smtp_tls_policy_maps\" docs</a>for mere information.",
+        "tls_policy_maps_enforced_tls": "Disse politikker tilsidesætter også adfærd for postkassebrugere, der håndhæver udgående TLS-forbindelser. Hvis der ikke findes nogen politik nedenfor, anvender disse brugere standardværdierne angivet som <code>smtp_tls_mandatory_protocols</code> og <code>smtp_tls_mandatory_ciphers</code>.",
+        "tls_policy_maps_long": "Udgående TLS-politikkort tilsidesætter",
+        "toggle_all": "Skift alt",
+        "username": "Brugernavn",
+        "waiting": "Venter",
+        "weekly": "Ugentlig",
+        "yes": "&#10003;"
+    },
+    "oauth2": {
+        "access_denied": "Log ind som mailboks ejer for at give adgang via OAuth2.",
+        "authorize_app": "Godkend ansøgning",
+        "deny": "Nægte",
+        "permit": "Godkend ansøgning",
+        "profile": "Profil",
+        "profile_desc": "Se personlige oplysninger: brugernavn, fuldt navn, oprettet, ændret, aktiv",
+        "scope_ask_permission": "En applikation anmodede om følgende tilladelser"
+    },
+    "quarantine": {
+        "action": "Handling",
+        "atts": "Vedhæftede filer",
+        "check_hash": "Søgefil hash @ VT",
+        "confirm": "Bekræfte",
+        "confirm_delete": "Bekræft sletningen af dette element.",
+        "danger": "Fare",
+        "deliver_inbox": "Lever til indbakke",
+        "disabled_by_config": "Den aktuelle systemkonfiguration deaktiverer karantænefunktionaliteten. Indstil venligst \"tilbageholdelse pr. postkasse\" og en \"maksimal størrelse\" til karantæneelementer.",
+        "download_eml": "Hent (.eml)",
+        "empty": "Ingen resultater",
+        "high_danger": "Høj",
+        "info": "Information",
+        "junk_folder": "Uønsket mappe",
+        "learn_spam_delete": "Lær som spam og slet",
+        "low_danger": "Lav",
+        "medium_danger": "Medium",
+        "neutral_danger": "Neutral",
+        "notified": "Meddelt",
+        "qhandler_success": "Anmodning blev sendt til systemet. Du kan nu lukke vinduet.",
+        "qid": "Rspamd QID",
+        "qinfo": "Karantænesystemet gemmer afvist mail i databasen (afsenderen vil <em>ikke</em> få indtryk af en leveret post) såvel som mail, der leveres som kopi i skraldemappen i en postkasse.\r\n  <br>\"Lær som spam og slet\" vil lære en besked som spam via Bayesiansk sætning og også beregne fuzzy hashes for at nægte lignende meddelelser i fremtiden.\r\n  <br>Vær opmærksom på, at indlæring af flere meddelelser kan - afhængigt af dit system - være tidskrævende.<br> Sortlistede elementer er udelukket fra karantæne.",
+        "qitem": "Karantæneartikel",
+        "quarantine": "Karantæne",
+        "quick_actions": "Handlinger",
+        "rcpt": "Modtager",
+        "received": "Modtaget",
+        "recipients": "Modtagere",
+        "refresh": "Opdater",
+        "rejected": "Afvist",
+        "release": "Frigøre",
+        "release_body": "Vi har vedhæftet din besked som eml-fil til denne besked.",
+        "release_subject": "Potentielt skadelig karantæneartikel %s",
+        "remove": "Fjerne",
+        "rewrite_subject": "Omskriv emne",
+        "rspamd_result": "Rspamd resultat",
+        "sender": "Sender (SMTP)",
+        "sender_header": "Sender (\"Fra\" header)",
+        "type": "Type",
+        "quick_release_link": "Åbn link til hurtig frigivelse",
+        "quick_delete_link": "Åbn linket til hurtig sletning",
+        "quick_info_link": "Åbn info link",
+        "show_item": "Vis element",
+        "spam": "Spam",
+        "spam_score": "Score",
+        "subj": "Emne",
+        "table_size": "Bordstørrelse",
+        "table_size_show_n": "Vis %s genstande",
+        "text_from_html_content": "Indhold (konverterede html)",
+        "text_plain_content": "Indhold (text/plain)",
+        "toggle_all": "Skift alt"
+    },
+    "start": {
+        "help": "Vis / skjul hjælpepanel",
+        "imap_smtp_server_auth_info": "Brug din fulde e-mail-adresse og PLAIN-godkendelsesmekanismen.<br>\r\nDine login-data bliver krypteret af den obligatoriske kryptering på serversiden.",
+        "mailcow_apps_detail": "Brug en mailcow-app til at få adgang til dine mails, kalender, kontakter og mere.",
+        "mailcow_panel_detail": "<b>Domæneadministratorer</b> oprette, ændre eller slette postkasser og aliasser, ændre domæner og læse yderligere information om deres tildelte domæner.<br>\r\n<b>Mailbox-brugere</b>er i stand til at oprette tidsbegrænsede aliaser (spamaliaser), ændre deres adgangskode og spamfilterindstillinger."
+    },
+    "success": {
+        "acl_saved": "ACL til objekt %s gemt",
+        "admin_added": "Administrator %s er tilføjet",
+        "admin_api_modified": "Ændringer i API er gemt",
+        "admin_modified": "Ændringer til administrator er gemt",
+        "admin_removed": "Administrator %s er blevet fjernet",
+        "alias_added": "Alias-adresse %s (%d) er tilføjet",
+        "alias_domain_removed": "Domænealias %s er blevet fjernet",
+        "alias_modified": "Ændringer i alias-adresse %s er blevet gemt",
+        "alias_removed": "Alias %s er blevet fjernet",
+        "aliasd_added": "Tilføjetdomænealias %s",
+        "aliasd_modified": "Ændringer i alias-domæne %s er blevet gemt",
+        "app_links": "Gemte ændringer til applinks",
+        "app_passwd_added": "Tilføjet ny app-adgangskode",
+        "app_passwd_removed": "Fjernet app-adgangskode-id %s",
+        "bcc_deleted": "BCC-kortindgange slettet: %s",
+        "bcc_edited": "BCC-kortindgang %s redigeret",
+        "bcc_saved": "BCC-kortindgang gemt",
+        "db_init_complete": "Initialisering af database afsluttet",
+        "delete_filter": "Slettet filter-ID %s",
+        "delete_filters": "Slettede filtre: %s",
+        "deleted_syncjob": "Slettet syncjob-id %s",
+        "deleted_syncjobs": "Slettede syncjobs: %s",
+        "dkim_added": "DKIM-nøgle %s er blevet gemt",
+        "dkim_duplicated": "DKIM-nøgle til domæne %s er blevet kopieret til %s",
+        "dkim_removed": "DKIM-nøgle %s er blevet fjernet",
+        "domain_added": "Tilføjet domæne %s",
+        "domain_admin_added": "Domæne administrator %s er tilføjet",
+        "domain_admin_modified": "Ændringer til domæneadministrator %s er blevet gemt",
+        "domain_admin_removed": "Domæne administrator %s er blevet fjernet",
+        "domain_modified": "Ændringer i domæne %s er blevet gemt",
+        "domain_removed": "Domæne %s er blevet fjernet",
+        "dovecot_restart_success": "Dovecot blev genstartet",
+        "eas_reset": "ActiveSync-enheder til bruger %s blev nulstillet",
+        "f2b_modified": "Changes to Fail2ban parameters have been saved",
+        "forwarding_host_added": "Videresendende vært %s er tilføjet",
+        "forwarding_host_removed": "Videresendende vært %s er blevet fjernet",
+        "global_filter_written": "Filtret blev skrevet til filen",
+        "hash_deleted": "Hash slettet",
+        "item_deleted": "Item %s successfully deleted",
+        "item_released": "Item %s released",
+        "items_deleted": "Element %s slettet",
+        "items_released": "Selected items were released",
+        "learned_ham": "Successfully learned ID %s as ham",
+        "license_modified": "Ændringer i licens er gemt",
+        "logged_in_as": "logget ind som %s",
+        "mailbox_added": "Postkasse %s er tilføjet",
+        "mailbox_modified": "Ændringer i postkassen %s er blevet gemt",
+        "mailbox_removed": "Mailbox %s has been removed",
+        "object_modified": "Ændringer af objektet %s er blevet gemt",
+        "pushover_settings_edited": "Pushover-indstillinger er vellykket indstillet. Bekræft legitimationsoplysninger.",
+        "qlearn_spam": "Besked-id %s blev lært som spam og slettet",
+        "queue_command_success": "Køkommandoen blev fuldført",
+        "recipient_map_entry_deleted": "Modtagerkort-id %s er blevet slettet",
+        "recipient_map_entry_saved": "Modtagerkortindtastning \"%s\" er blevet gemt",
+        "relayhost_added": "Kortindtastning %s er tilføjet",
+        "relayhost_removed": "Kortindtastning %s er blevet fjernet",
+        "reset_main_logo": "Nulstil til standardlogo",
+        "resource_added": "Resource %s has been added",
+        "resource_modified": "Ændringer i postkassen %s er blevet gemt",
+        "resource_removed": "Ressource %s er blevet fjernet",
+        "rl_saved": "Satsgrænse for objekt %s gemt",
+        "rspamd_ui_pw_set": "Rspamd UI-adgangskode er indstillet",
+        "saved_settings": "Gemte indstillinger",
+        "settings_map_added": "Tilføjede indstillinger kortindtastning",
+        "settings_map_removed": "Fjernet indstillingskort-id %s",
+        "sogo_profile_reset": "SOGo-profil til bruger %s blev nulstillet",
+        "tls_policy_map_entry_deleted": "TLS-politik kort-id %s er blevet slettet",
+        "tls_policy_map_entry_saved": "TLS politik kort post \"%s\" er blevet gemt",
+        "ui_texts": "Gemte ændringer til UI-tekster",
+        "upload_success": "Filen blev uploadet",
+        "verified_totp_login": "Bekræftet TOTP-login",
+        "verified_u2f_login": "Bekræftet U2F-login",
+        "verified_fido2_login": "Bekræftet FIDO2-login",
+        "verified_yotp_login": "Bekræftet Yubico OTP-login"
+    },
+    "tfa": {
+        "api_register": "%s bruger Yubico Cloud API. Få en API-nøgle til din nøgle <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">here</a>",
+        "confirm": "Bekræft",
+        "confirm_totp_token": "Bekræft dine ændringer ved at indtaste det genererede token",
+        "delete_tfa": "Deaktiver TFA",
+        "disable_tfa": "Deaktiver TFA indtil næste vellykkede login",
+        "enter_qr_code": "Din TOTP kode hvis din enhed ikke kan scanne QR-koder",
+        "error_code": "Fejl kode",
+        "init_u2f": "Initialiserer, vent venligst...",
+        "key_id": "En identifikator til din YubiKey",
+        "key_id_totp": "En identifikator for din nøgle",
+        "none": "Deaktivere",
+        "reload_retry": "- (genindlæs browseren, hvis fejlen fortsætter)",
+        "scan_qr_code": "Scan venligst følgende kode med din godkendelsesapp, eller indtast koden manuelt.",
+        "select": "Vælg venligst",
+        "set_tfa": "Set 2-faktor godkendelses metoden",
+        "start_u2f_validation": "Start validering",
+        "tfa": "2-faktor godkendelse",
+        "tfa_token_invalid": "TFA nøgle ugyldig",
+        "totp": "Tids-baseret OTP (Google Authenticator, Authy, etc.)",
+        "u2f": "U2F godkendelse",
+        "waiting_usb_auth": "<i>Venter på USB-enhed...</i><br><br>Tryk let på knappen på din USB-enhed nu.",
+        "waiting_usb_register": "<i>Venter på USB-enhed...</i><br><br>Indtast din adgangskode ovenfor, og bekræft din registrering ved at trykke på knappen på din USB-enhed.",
+        "yubi_otp": "Yubico OTP godkendelse"
+    },
+    "fido2": {
+        "set_fn": "Set venneligt navn",
+        "fn": "Venneligt navn",
+        "rename": "omdøb",
+        "confirm": "Bekræft",
+        "register_status": "Registreringsstatus",
+        "known_ids": "Kendte ID'er",
+        "none": "Deaktiveret",
+        "set_fido2": "Registrer FIDO2 endhed",
+        "start_fido2_validation": "Start FIDO2 validering",
+        "fido2_auth": "Login med FIDO2",
+        "fido2_success": "Enheden blev registreret",
+        "fido2_validation_failed": "Validering mislykkedes"
+    },
+    "user": {
+        "action": "Handling",
+        "active": "Aktiv",
+        "active_sieve": "Aktive filtre",
+        "advanced_settings": "Avancerede indstillinger",
+        "alias": "Alias",
+        "alias_create_random": "Generer tilfældigt alias",
+        "alias_extend_all": "Forlæng aliaserne med 1 time",
+        "alias_full_date": "d.m.Y, H:i:s T",
+        "alias_remove_all": "Fjern alle aliaser",
+        "alias_select_validity": "Gyldighedsperiode",
+        "alias_time_left": "Tid tilbage",
+        "alias_valid_until": "Gyldig indtil",
+        "aliases_also_send_as": "Også tilladt at sende som bruger",
+        "aliases_send_as_all": "Do not check sender access for the following domain(s) and its alias domains",
+        "app_hint": "App adgangskoder er alternative adgangskoder til din <b>IMAP og SMTP</b> login. Brugernavnet forbliver uændret.<br>SOGo (inklusive AktivSync) er ikke tilgængelig via app-adgangskoder.",
+        "app_name": "App navn",
+        "app_passwds": "App kodeord",
+        "apple_connection_profile": "Apple forbindelses profil",
+        "apple_connection_profile_complete": "Denne forbindelses profil inkludere IMAP og SMTP parametre også CalDAV (kalendre) og CardDAV (kontakter) veje for en Apple endhed.",
+        "apple_connection_profile_mailonly": "Denne forbindelses profil inkludere IMAP og SMTP konfigurations parametere for en Apple endhed.",
+        "change_password": "Skift kodeord",
+        "client_configuration": "Vis konfigurationsvejledning for email klinter og mobiltelefoner",
+        "create_app_passwd": "Opret app kodeord",
+        "create_syncjob": "Opret nyt sync job",
+        "daily": "Dagligt",
+        "day": "dag",
+        "delete_ays": "Bekræft venligst ønsket om sletning.",
+        "direct_aliases": "Direkte alias addresser",
+        "direct_aliases_desc": "Direkte alias-adresser påvirkes af spamfilter og TLS-politiske indstillinger.",
+        "eas_reset": "Nulstil AktivSync endhed cache",
+        "eas_reset_help": "I mange tilfælde hjælper en nulstilling af enhedens cache med at gendanne en ødelagt ActiveSync-profil.<br><b>Advarsel:</b> Alle elementer downloades igen!",
+        "eas_reset_now": "Nultil nu",
+        "edit": "redigere",
+        "email": "Email",
+        "email_and_dav": "Email, kalender and kontakter",
+        "encryption": "kryptering",
+        "excludes": "Ekskluderer",
+        "expire_in": "Udløber om",
+        "force_pw_update": "Du <b>SKAL</b> indstille en ny adgangskode for at få adgang til groupware-relaterede tjenester.",
+        "generate": "generere",
+        "hour": "tid",
+        "hourly": "Timelig",
+        "hours": "timer",
+        "in_use": "I brug",
+        "interval": "Interval",
+        "is_catch_all": "Fang-alle for domæne/r",
+        "last_mail_login": "Sidste mail login",
+        "last_run": "Sidste kørsel",
+        "loading": "Indlæser...",
+        "mailbox_details": "Postkassedetaljer",
+        "messages": "beskeder",
+        "never": "Aldrig",
+        "new_password": "Nyt kodeord",
+        "new_password_description": "Krav: 6 tegn lange, bogstaver og tal.",
+        "new_password_repeat": "Bekræftelsesadgangskode (gentag)",
+        "no_active_filter": "Intet aktivt filter tilgængeligt",
+        "no_last_login": "Ingen sidste UI-loginoplysninger",
+        "no_record": "Ingen optegnelser",
+        "password": "Kodeord",
+        "password_now": "Nuværende kodeord (bekræft ændring)",
+        "password_repeat": "Kodeord (gentag)",
+        "pushover_evaluate_x_prio": "Eskaler e-mail med høj prioritet [<code>X-Prioritet: 1</code>]",
+        "pushover_info": "Indstillinger for push-meddelelser gælder for al ren (ikke-spam) post, der leveres til <b>%s</b> inklusive aliaser (delt, ikke-delt, tagget).",
+        "pushover_only_x_prio": "Only consider high priority mail [<code>X-Priority: 1</code>]",
+        "pushover_sender_array": "Overvej følgende afsender-e-mail-adresser <small>(comma-separated)</small>",
+        "pushover_sender_regex": "Match afsendere efter følgende regex",
+        "pushover_text": "Notifikations tekst",
+        "pushover_title": "Notifikations titel",
+        "pushover_vars": "Når der ikke er defineret et afsenderfilter, overvejes alle mails.<br>Regex såvel filtre som nøjagtige afsenderkontrol kan defineres individuelt og vil blive betragtet i rækkefølge. De er ikke afhængige af hinanden.<br>Brugbare variabler til tekst og titel (vær opmærksom på databeskyttelsespolitikker)",
+        "pushover_verify": "Bekræft legitimationsoplysninger",
+        "q_add_header": "Uønsket Mappe",
+        "q_all": "Alle Kategorier",
+        "q_reject": "Afvist",
+        "quarantine_notification": "Karantænemeddelelser",
+        "quarantine_category": "Karantænemeddelelseskategori",
+        "quarantine_notification_info": "Når en meddelelse er sendt, markeres elementrne som \"notified\" og der sendes ingen yderligere meddelelser om denne særlige element.",
+        "quarantine_category_info": "Meddelelseskategorien \"Rejected\" inkluderer mail, der blev afvist, mens \"Junk folder\" vil underrette en bruger om mails, der blev sat i junk-mappen.",
+        "remove": "Slet",
+        "running": "Kører",
+        "save": "Gem ændring",
+        "save_changes": "Gem ændringer",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Afsender tjek er slået fra</span>",
+        "shared_aliases": "Delte aliasadresser",
+        "shared_aliases_desc": "Delt alias påvirkes ikke af brugerspecifikke indstillinger såsom spamfilter eller krypteringspolitik. Tilselementnde spamfiltre kan kun foretages af en administrator som en politik, der dækker hele domænet.",
+        "show_sieve_filters": "Vis det aktive brugerfilter",
+        "sogo_profile_reset": "Nulstil SOGo profil",
+        "sogo_profile_reset_help": "Dette vil ødelægge en bruger SOGo-profil og <b>slette alle kontakt- og kalenderdata, der ikke kan hentes</b>.",
+        "sogo_profile_reset_now": "Nulstil profil nu",
+        "spam_aliases": "Midlertidige e-mail kaldenavne",
+        "spam_score_reset": "Nulstil til server Standardværdi",
+        "spamfilter": "Spam filter",
+        "spamfilter_behavior": "Bedømmelse",
+        "spamfilter_bl": "Sortliste",
+        "spamfilter_bl_desc": "Sortlistede e-mail-adresser til <b>altid</b> at klassificeres som spam og afvise. Afvist mail vil <b>ikke</b> kopieres til karantæne. Jokertegn kan bruges. Et filter anvendes kun til direkte aliaser (aliaser med en enkelt målpostkasse) eksklusive fang-aliaser og selve en postkasse.",
+        "spamfilter_default_score": "Standardværdi",
+        "spamfilter_green": "Grøn: denne besked er ikke uønsket",
+        "spamfilter_hint": "Den første værdi beskriver \"low spam score\", det andet repræsenterer \"high spam score\".",
+        "spamfilter_red": "Rød: Denne besked er uønsket og bliver afvist af serveren",
+        "spamfilter_table_action": "Handling",
+        "spamfilter_table_add": "Tilføj element",
+        "spamfilter_table_domain_policy": "n/a (domæne politik)",
+        "spamfilter_table_empty": "Intet data at vise",
+        "spamfilter_table_remove": "slet",
+        "spamfilter_table_rule": "Regl",
+        "spamfilter_wl": "Hvisliste",
+        "spamfilter_wl_desc": "Hvidlistede e-mail-adresser til <b>aldrig</b> at klassificeres som spam. Wildcards kan bruges. Et filter anvendes kun på direkte aliaser (aliaser med en enkelt målpostkasse) eksklusive catch-aliaser og selve en postkasse.",
+        "spamfilter_yellow": "Gul: denne besked kan være spam, vil blive tagget som spam og flyttes til din junk-mappe",
+        "status": "Status",
+        "sync_jobs": "Sync jobs",
+        "tag_handling": "Set handling for taggede mails",
+        "tag_help_example": "Eksempel på en tagget e-mail-adresse : me<b>+Tacaly</b>@example.org",
+        "tag_help_explain": "I undermappe: En ny undermappe opkaldt efter tagget oprettes under INBOX  (\"INBOX/Tacaly\").<br>\r\nI emne: navnene på tags bliver præpenderet til mailsemnet, eksempel:  \"[Tacaly] Mine Nyhedder\".",
+        "tag_in_none": "Gør intet",
+        "tag_in_subfolder": "I undermappe",
+        "tag_in_subject": "I emne",
+        "text": "Tekst",
+        "title": "Titel",
+        "tls_enforce_in": "Tving TLS indgående",
+        "tls_enforce_out": "Tving TLS udgående",
+        "tls_policy": "krypterings politik",
+        "tls_policy_warning": "<strong>Warning:</strong> If you decide to enforce encrypted mail transfer, you may lose emails.<br>Messages to not satisfy the policy will be bounced with a hard fail by the mail system.<br>This option applies to your primary email address (login name), all addresses derived from alias domains as well as alias addresses <b>with only this single mailbox</b> as target.",
+        "user_settings": "Bruger indstillinger",
+        "username": "Brugernavn",
+        "verify": "Bekræft",
+        "waiting": "Venter",
+        "week": "uge",
+        "weekly": "Ugeligt",
+        "weeks": "uger"
+    },
+    "warning": {
+        "cannot_delete_self": "Kan ikke slette en bruger som er logget ind.",
+        "domain_added_sogo_failed": "Domæne er tilføjet men kan ikke genstarte SOGo, tjek venligst dine server logs.",
+        "dovecot_restart_failed": "Dovecot kunne ikke genstarte, tjek venligst dine logs",
+        "fuzzy_learn_error": "Fuzzy hash lærings fejl: %s",
+        "hash_not_found": "Hash blev ikke fundet eller allerede slettet",
+        "ip_invalid": "Sprang over ugyldige IP: %s",
+        "no_active_admin": "Kan ikke deaktivere den sidste administrator",
+        "quota_exceeded_scope": "Domænekvote overskredet: Kun ubegrænsede postkasser kan oprettes i dette domæneomfang.",
+        "session_token": "Form nøgle ugyldig: Nøgle passer ikke",
+        "session_ua": "Form nøgle ugyldig: Bruger-Agent gyldighedskontrols fejl"
+    }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.de.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.de.json
index 4ab9331..4d2f27a 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.de.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.de.json
@@ -2,19 +2,22 @@
     "acl": {
         "alias_domains": "Alias-Domains hinzufügen",
         "app_passwds": "App-Passwörter verwalten",
-        "bcc_maps": "BCC Maps",
-        "delimiter_action": "Delimiter Aktionen (tags)",
+        "bcc_maps": "BCC-Maps",
+        "delimiter_action": "Delimiter-Aktionen (tags)",
+        "domain_desc": "Domainbeschreibung ändern",
+        "domain_relayhost": "Relayhost für eine Domain setzen",
         "eas_reset": "EAS-Cache zurücksetzen",
         "extend_sender_acl": "Eingabe externer Absenderadressen erlauben",
         "filters": "Filter",
         "login_as": "Einloggen als Mailbox-Benutzer",
+        "mailbox_relayhost": "Relayhost für eine Mailbox setzen",
         "prohibited": "Untersagt durch Richtlinie",
         "protocol_access": "Ändern der erlaubten Protokolle",
         "pushover": "Pushover",
         "quarantine": "Quarantäne-Aktionen",
         "quarantine_attachments": "Anhänge aus Quarantäne",
-        "quarantine_notification": "Ändern der Quarantäne-Benachrichtigung",
         "quarantine_category": "Ändern der Quarantäne-Benachrichtigungskategorie",
+        "quarantine_notification": "Ändern der Quarantäne-Benachrichtigung",
         "ratelimit": "Rate limit",
         "recipient_maps": "Empfängerumschreibungen",
         "smtp_ip_access": "Verwalten der erlaubten Hosts für SMTP",
@@ -26,10 +29,13 @@
         "syncjobs": "Sync Jobs",
         "tls_policy": "Verschlüsselungsrichtlinie",
         "unlimited_quota": "Unendliche Quota für Mailboxen",
-        "domain_desc": "Domainbeschreibung ändern"
+        "xmpp_admin": "Benutzer zum XMPP-Administrator ernennen",
+        "xmpp_domain_access": "XMPP-Zugang einer Domain konfigurieren",
+        "xmpp_mailbox_access": "XMPP-Zugang eines Benutzers einstellen",
+        "xmpp_prefix": "XMPP-Subdomain/Präfix ändern"
     },
     "add": {
-        "activate_filter_warn": "Alle anderen Filter diesen Typs werden deaktiviert, falls dieses Script aktiv markiert wird.",
+        "activate_filter_warn": "Alle anderen Filter dieses Typs werden deaktiviert, falls dieses Script aktiv markiert wird.",
         "active": "Aktiv",
         "add": "Hinzufügen",
         "add_domain_only": "Nur Domain hinzufügen",
@@ -41,7 +47,7 @@
         "app_name": "App-Name",
         "app_password": "App-Passwort hinzufügen",
         "automap": "Ordner automatisch mappen (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
-        "backup_mx_options": "Relay Optionen",
+        "backup_mx_options": "Relay-Optionen",
         "comment_info": "Ein privater Kommentar ist für den Benutzer nicht einsehbar. Ein öffentlicher Kommentar wird als Tooltip im Interface des Benutzers angezeigt.",
         "custom_params": "Eigene Parameter",
         "custom_params_hint": "Richtig: --param=xy, falsch: --param xy",
@@ -53,7 +59,7 @@
         "disable_login": "Login verbieten (Mails werden weiterhin angenommen)",
         "domain": "Domain",
         "domain_matches_hostname": "Domain %s darf nicht dem Hostnamen entsprechen",
-        "domain_quota_m": "Domain Speicherplatz gesamt (MiB)",
+        "domain_quota_m": "Domain-Speicherplatz gesamt (MiB)",
         "enc_method": "Verschlüsselung",
         "exclude": "Elemente ausschließen (Regex)",
         "full_name": "Vor- und Nachname",
@@ -84,7 +90,7 @@
         "relay_all": "Alle Empfänger-Adressen relayen",
         "relay_all_info": "↪ Wenn <b>nicht</b> alle Empfänger-Adressen relayt werden sollen, müssen \"blinde\" Mailboxen für jede Adresse, die relayt werden soll, erstellen werden.",
         "relay_domain": "Diese Domain relayen",
-        "relay_transport_info": "<div class=\"label label-info\">Info</div> Transport Maps können erstellt werden, um  individuelle Ziele für eine Relay-Domain zu definieren.",
+        "relay_transport_info": "<div class=\"label label-info\">Info</div> Transport-Maps können erstellt werden, um  individuelle Ziele für eine Relay-Domain zu definieren.",
         "relay_unknown_only": "Nur nicht-lokale Mailboxen relayen. Existente Mailboxen werden weiterhin lokal zugestellt.",
         "relayhost_wrapped_tls_info": "Bitte <b>keine</b> \"TLS-wrapped Ports\" verwenden (etwa SMTPS via Port 465/tcp).<br>\r\nDer Transport wird stattdessen STARTTLS anfordern, um TLS zu verwenden. TLS kann unter \"TLS Policy Maps\" erzwungen werden.",
         "select": "Bitte auswählen",
@@ -102,7 +108,15 @@
         "timeout2": "Timeout für Verbindung zum lokalen Host",
         "username": "Benutzername",
         "validate": "Validieren",
-        "validation_success": "Erfolgreich validiert"
+        "validation_success": "Erfolgreich validiert",
+        "xmpp": "XMPP für diese Domain aktivieren",
+        "xmpp_access": "XMPP-Zugang",
+        "xmpp_access_info": "XMPP muss für diese Domain aktiviert sein.",
+        "xmpp_admin": "XMPP-Administrator",
+        "xmpp_admin_info": "<b>Vorsicht:</b> Ernennt den Benutzer zum Administrator der jeweiligen XMPP-Domain.",
+        "xmpp_info": "Diese Funktion stellt eine Chat-Funktionalität für die Domain bereit.",
+        "xmpp_prefix": "XMPP-Präfix für Domain (\"im\" für <b>im</b>.example.org)",
+        "xmpp_prefix_info": "Für die Bereitstellung eines Zertifikates sollte vorab ein DNS-Eintrag, etwa in Form eines CNAMEs, für <b>im</b>.example.org sowie <b>*.im</b>.example.org auf <b>%s</b> zeigend angelegt werden. Im Anschluss an die Aktivierung sollte der DNS-Check für diese Domain ausgeführt werden."
     },
     "admin": {
         "access": "Zugang",
@@ -118,13 +132,15 @@
         "add_relayhost": "Senderabhängigen Transport hinzufügen",
         "add_relayhost_hint": "Bitte beachten Sie, dass Anmeldedaten unverschlüsselt gespeichert werden.<br>\r\n  Angelegte Transporte dieser Art sind <b>senderabhängig</b> und müssen erst einer Domain zugewiesen werden, bevor sie als Transport verwendet werden.<br>\r\n  Diese Einstellungen entsprechen demnach <i>nicht</i> dem \"relayhost\" Parameter in Postfix.",
         "add_row": "Reihe hinzufügen",
-        "add_settings_rule": "Rspamd Regel hinzufügen",
+        "add_settings_rule": "Rspamd-Regel hinzufügen",
         "add_transport": "Transport hinzufügen",
         "add_transports_hint": "Bitte beachten Sie, dass Anmeldedaten unverschlüsselt gespeichert werden.",
         "additional_rows": " zusätzliche Zeilen geladen",
         "admin": "Administrator",
         "admin_details": "Administrator bearbeiten",
         "admin_domains": "Domain-Zuweisungen",
+        "admins": "Administratoren",
+        "admins_ldap": "LDAP-Administratoren",
         "advanced_settings": "Erweiterte Einstellungen",
         "api_allow_from": "IP-Adressen oder Netzwerke (CIDR Notation) für Zugriff auf API",
         "api_info": "Die API befindet sich noch in Entwicklung, die Dokumentation kann unter <a href=\"/api\">/api</a> abgerufen werden.",
@@ -136,10 +152,11 @@
         "arrival_time": "Ankunftszeit (Serverzeit)",
         "authed_user": "Auth. Benutzer",
         "ays": "Soll der Vorgang wirklich ausgeführt werden?",
-        "ban_list_info": "Übersicht ausgesperrter Netzwerke: <b>Netzwerk (verbleibende Banzeit) - [Aktionen]</b>.<br />IPs, die zum Entsperren eingereiht werden, verlassen die Liste aktiver Bans nach wenigen Sekunden.<br />Rote Labels sind Indikatoren für aktive Blacklisteinträge.",
+        "ban_list_info": "Übersicht ausgesperrter Netzwerke: <b>Netzwerk (verbleibende Bannzeit) - [Aktionen]</b>.<br />IPs, die zum Entsperren eingereiht werden, verlassen die Liste aktiver Banns nach wenigen Sekunden.<br />Rote Labels sind Indikatoren für aktive Blacklist-Einträge.",
         "change_logo": "Logo ändern",
         "configuration": "Konfiguration",
-        "credentials_transport_warning": "<b>Warnung</b>: Das Hinzufügen einer neuen Regel bewirkt die Aktualisierung der Authentifizierungsdaten aller vorhandenen Einträge mit identischem Host.",
+        "convert_html_to_text": "Konvertiere HTML zu reinem Text",
+        "credentials_transport_warning": "<b>Warnung</b>: Das Hinzufügen einer neuen Regel bewirkt die Aktualisierung der Authentifizierungsdaten aller vorhandenen Einträge mit identischem Next Hop.",
         "customer_id": "Kunde",
         "customize": "UI-Anpassung",
         "delete_queue": "Alle löschen",
@@ -169,11 +186,11 @@
         "excludes": "Diese Empfänger ausschließen",
         "f2b_ban_time": "Bannzeit in Sekunden",
         "f2b_blacklist": "Blacklist für Netzwerke und Hosts",
-        "f2b_filter": "Regex Filter",
+        "f2b_filter": "Regex-Filter",
         "f2b_list_info": "Ein Host oder Netzwerk auf der Blacklist wird immer eine Whitelist-Einheit überwiegen. <b>Die Aktualisierung der Liste dauert einige Sekunden.</b>",
         "f2b_max_attempts": "Max. Versuche",
-        "f2b_netban_ipv4": "Netzbereich für IPv4-Bans (8-32)",
-        "f2b_netban_ipv6": "Netzbereich für IPv6-Bans (8-128)",
+        "f2b_netban_ipv4": "Netzbereich für IPv4-Banns (8-32)",
+        "f2b_netban_ipv6": "Netzbereich für IPv6-Banns (8-128)",
         "f2b_parameters": "Fail2ban-Parameter",
         "f2b_regex_info": "Berücksichtigte Logs: SOGo, Postfix, Dovecot, PHP-FPM.",
         "f2b_retry_window": "Wiederholungen im Zeitraum von (s)",
@@ -187,9 +204,10 @@
         "generate": "generieren",
         "guid": "GUID - Eindeutige Instanz-ID",
         "guid_and_license": "GUID & Lizenz",
-        "hash_remove_info": "Das Entfernen eines Ratelimit Hashes - sofern noch existent - bewirkt den Reset gezählter Nachrichten dieses Elements.<br>\r\n  Jeder Hash wird durch eine eindeutige Farbe gekennzeichnet.",
+        "hash_remove_info": "Das Entfernen eines Ratelimit-Hashes - sofern noch existent - bewirkt den Reset gezählter Nachrichten dieses Elements.<br>\r\n  Jeder Hash wird durch eine eindeutige Farbe gekennzeichnet.",
         "help_text": "Hilfstext unter Login-Maske (HTML ist zulässig)",
         "host": "Host",
+        "html": "HTML",
         "import": "Importieren",
         "import_private_key": "Private Key importieren",
         "in_use_by": "Verwendet von",
@@ -197,28 +215,38 @@
         "include_exclude": "Ein- und Ausschlüsse",
         "include_exclude_info": "Ohne Auswahl werden <b>alle Mailboxen</b> adressiert.",
         "includes": "Diese Empfänger einschließen",
+        "is_mx_based": "MX-basiert",
         "last_applied": "Zuletzt angewendet",
         "license_info": "Eine Lizenz ist nicht erforderlich, hilft jedoch der Entwicklung mailcows.<br><a href=\"https://www.servercow.de/mailcow#sal\" target=\"_blank\" alt=\"SAL Bestellung\">Hier kann die mailcow-GUID registriert werden.</a> Alternativ ist <a href=\"https://www.servercow.de/mailcow#support\" target=\"_blank\" alt=\"SAL Bestellung\">die Bestellung von Support-Paketen möglich</a>.",
         "link": "Link",
         "loading": "Bitte warten...",
+        "login_time": "Zeit",
         "logo_info": "Die hochgeladene Grafik wird für die Navigationsleiste auf eine Höhe von 40px skaliert. Für die Darstellung auf der Login-Maske beträgt die skalierte Breite maximal 250px. Eine frei skalierbare Grafik (etwa SVG) wird empfohlen.",
-        "lookup_mx": "Ziel gegen MX prüfen (etwa .outlook.com, um alle Ziele mit MX *.outlook.com zu routen)",
+        "lookup_mx": "Ziel mit MX vergleichen (Regex, etwa <code>.*google\\.com</code>, um alle Ziele mit MX *google.com zu routen)",
         "main_name": "\"mailcow UI\" Name",
         "merged_vars_hint": "Ausgegraute Reihen wurden aus der Datei <code>vars.(local.)inc.php</code> gelesen und können hier nicht verändert werden.",
         "message": "Nachricht",
         "message_size": "Nachrichtengröße",
         "nexthop": "Next Hop",
         "no": "&#10005;",
-        "no_active_bans": "Keine aktiven Bans",
+        "no_active_bans": "Keine aktiven Banns",
         "no_new_rows": "Keine weiteren Zeilen vorhanden",
         "no_record": "Kein Eintrag",
         "oauth2_client_id": "Client ID",
         "oauth2_client_secret": "Client Secret",
-        "oauth2_info": "Die OAuth2 Implementierung unterstützt den Grant Type \"Authorization Code\" mit Refresh Tokens.<br>\r\nDer Server wird automatisch einen neuen Refresh Token ausstellen, sobald ein vorheriger Token gegen einen Access Token eingetauscht wurde.<br><br>\r\n→ Der Standard Scope lautet <i>profile</i>. Nur Mailbox-Benutzer können sich gegen OAuth2 authentifizieren. Wird kein Scope angegeben, verwendet das System per Standard <i>profile</i>.<br>\r\n→ Der <i>state</i> Parameter wird im Zuge des Autorisierungsprozesses benötigt.<br><br>\r\nDie Pfade für die OAuth2 API lauten wie folgt: <br>\r\n<ul>\r\n  <li>Authorization Endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token Endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource Page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nDie Regenerierung des Client Secrets wird vorhandene Authorization Codes nicht invalidieren, dennoch wird der Renew des Access Tokens durch einen Refresh Token nicht mehr gelingen.<br><br>\r\nDas Entfernen aller Client Tokens verursacht die umgehende Terminierung aller aktiven OAuth2 Sessions. Clients müssen sich erneut gegen die OAuth2 Anwendung authentifizieren.",
-        "oauth2_redirect_uri": "Redirect URI",
+        "oauth2_info": "Die OAuth2 Implementierung unterstützt den Grant Type \"Authorization Code\" mit Refresh Tokens.<br>\r\nDer Server wird automatisch einen neuen Refresh Token ausstellen, sobald ein vorheriger Token gegen einen Access Token eingetauscht wurde.<br><br>\r\n&#8226; Der Standard Scope lautet <i>profile</i>. Nur Mailbox-Benutzer können sich gegen OAuth2 authentifizieren. Wird kein Scope angegeben, verwendet das System per Standard <i>profile</i>.<br>\r\n&#8226; Der <i>state</i> Parameter wird im Zuge des Autorisierungsprozesses benötigt.<br><br>\r\nDie Pfade für die OAuth2 API lauten wie folgt: <br>\r\n<ul>\r\n  <li>Authorization Endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token Endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource Page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nDie Regenerierung des Client Secrets wird vorhandene Authorization Codes nicht invalidieren, dennoch wird der Renew des Access Tokens durch einen Refresh Token nicht mehr gelingen.<br><br>\r\nDas Entfernen aller Client Tokens verursacht die umgehende Terminierung aller aktiven OAuth2 Sessions. Clients müssen sich erneut gegen die OAuth2 Anwendung authentifizieren.",
+        "oauth2_redirect_uri": "Redirect-URI",
         "oauth2_renew_secret": "Neues Client Secret generieren",
         "oauth2_revoke_tokens": "Alle Client Tokens entfernen",
+        "optional": "Optional",
         "password": "Passwort",
+        "password_length": "Passwortlänge",
+        "password_policy": "Passwortrichtlinie",
+        "password_policy_chars": "Muss ein alphabetisches Zeichen enthalten",
+        "password_policy_length": "Mindestlänge des Passwortes ist %d Zeichen",
+        "password_policy_lowerupper": "Muss Großbuchstaben und Kleinbuchstaben enthalten",
+        "password_policy_numbers": "Muss eine Ziffer enthalten",
+        "password_policy_special_chars": "Muss Sonderzeichen enthalten",
         "password_repeat": "Passwort wiederholen",
         "priority": "Gewichtung",
         "private_key": "Private Key",
@@ -226,8 +254,8 @@
         "quarantine_bcc": "Eine Kopie aller Benachrichtigungen (BCC) an folgendes Postfach senden:<br><small>Leer bedeutet deaktiviert. <b>Unsignierte, ungeprüfte E-Mail. Sollte nur intern zugestellt werden.</b></small>",
         "quarantine_exclude_domains": "Domains und Alias-Domains ausschließen",
         "quarantine_max_age": "Maximales Alter in Tagen<br><small>Wert muss größer oder gleich 1 Tag sein.</small>",
-        "quarantine_max_size": "Maximale Größe in MiB (größere Elemente werden verworfen):<br><small>0 bedeutet <b>nicht</b> unlimitiert.</small>",
         "quarantine_max_score": "Nicht benachrichtigen, wenn der Spam-Score höher ist als der folgende Wert:<br><small>Standardwert 9999.0</small>",
+        "quarantine_max_size": "Maximale Größe in MiB (größere Elemente werden verworfen):<br><small>0 bedeutet <b>nicht</b> unlimitiert.</small>",
         "quarantine_notification_html": "Benachrichtigungs-E-Mail Inhalt:<br><small>Leer lassen, um Standard-Template wiederherzustellen.</small>",
         "quarantine_notification_sender": "Benachrichtigungs-E-Mail Absender",
         "quarantine_notification_subject": "Benachrichtigungs-E-Mail Betreff",
@@ -240,9 +268,9 @@
         "queue_deliver_mail": "Ausliefern",
         "queue_hold_mail": "Zurückhalten",
         "queue_manager": "Queue Manager",
+        "queue_show_message": "Nachricht anzeigen",
         "queue_unban": "Entsperren einreihen",
         "queue_unhold_mail": "Freigeben",
-        "queue_show_message": "Nachricht anzeigen",
         "quota_notification_html": "Benachrichtigungs-E-Mail Inhalt:<br><small>Leer lassen, um Standard-Template wiederherzustellen.</small>",
         "quota_notification_sender": "Benachrichtigungs-E-Mail Absender",
         "quota_notification_subject": "Benachrichtigungs-E-Mail Betreff",
@@ -256,8 +284,9 @@
         "recipients": "Empfänger",
         "refresh": "Neu laden",
         "regen_api_key": "API-Key regenerieren",
-        "regex_maps": "Regex Maps",
+        "regex_maps": "Regex-Maps",
         "relay_from": "Absenderadresse",
+        "relay_rcpt": "Empfängeradresse",
         "relay_run": "Test durchführen",
         "relayhosts": "Senderabhängige Transport Maps",
         "relayhosts_hint": "Erstellen Sie senderabhängige Transporte, um diese im Einstellungsdialog einer Domain auszuwählen.<br>\r\n  Der Transporttyp lautet immer \"smtp:\", verwendet TLS wenn angeboten und unterstützt kein wrapped TLS (SMTPS). Benutzereinstellungen bezüglich Verschlüsselungsrichtlinie werden beim Transport berücksichtigt.<br>\r\n  Gilt neben ausgewählter Domain auch für untergeordnete Alias-Domains.",
@@ -273,32 +302,36 @@
         "rsetting_none": "Keine Regel hinterlegt",
         "rsettings_insert_preset": "Beispiel \"%s\" laden",
         "rsettings_preset_1": "Alles außer DKIM und Ratelimits für authentifizierte Benutzer deaktivieren",
-        "rsettings_preset_2": "Spam an Postmaster-Addressen nicht blockieren",
+        "rsettings_preset_2": "Spam an Postmaster-Adressen nicht blockieren",
         "rsettings_preset_3": "Nur einem oder vielen Absendern erlauben, eine Mailbox anzuschreiben (etwa interne Mailboxen)",
+        "rsettings_preset_4": "Rspamd für eine Domain deaktivieren",
         "rspamd-com_settings": "Ein Name wird automatisch generiert. Beispielinhalte zur Einsicht stehen nachstehend bereit. Siehe auch <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd docs</a>",
         "rspamd_global_filters": "Globale Filter-Maps",
         "rspamd_global_filters_agree": "Ich werde vorsichtig sein!",
         "rspamd_global_filters_info": "Globale Filter-Maps steuern globales White- und Blacklisting dieses Servers.",
         "rspamd_global_filters_regex": "Die akzeptierte Form für Einträge sind <b>ausschließlich</b> Regular Expressions.\r\n  Trotz rudimentärer Überprüfung der Map, kann es zu fehlerhaften Einträgen kommen, die Rspamd im schlechtesten Fall mit unvorhersehbarer Funktionalität bestraft.<br>\r\n  Das korrekte Format lautet \"/pattern/options\" (Beispiel: <code>/.+@domain\\.tld/i</code>).<br>\r\n  Der Name der Map beschreibt die jeweilige Funktion.<br>\r\n  Rspamd versucht die Maps umgehend aufzulösen. Bei Problemen sollte <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\" data-target=\"#RestartContainer\">Rspamd manuell neugestartet werden</a><br>Elemente auf Blacklists sind von der Quarantäne ausgeschlossen.",
-        "rspamd_settings_map": "Rspamd Settings Map",
+        "rspamd_settings_map": "Rspamd-Settings-Map",
         "sal_level": "Moo-Level",
         "save": "Änderungen speichern",
         "search_domain_da": "Suche Domains",
         "send": "Senden",
         "sender": "Sender",
+        "service": "Dienst",
         "service_id": "Service",
         "source": "Quelle",
         "spamfilter": "Spamfilter",
         "subject": "Betreff",
+        "success": "Erfolg",
         "sys_mails": "System-E-Mails",
         "text": "Text",
         "time": "Zeit",
         "title": "Title",
         "title_name": "\"mailcow UI\" Webseiten Titel",
         "to_top": "Nach oben",
-        "transport_dest_format": "Syntax: example.org, .example.org, *, box@example.org (mehrere Werte getrennt durch Komma einzugeben)",
-        "transport_maps": "Transport Maps",
-        "transports_hint": "→ Transport Maps <b>überwiegen</b> senderabhängige Transport Maps.<br>\r\n→ Transport Maps ignorieren Mailbox-Einstellungen für ausgehende Verschlüsselung. Eine serverweite TLS-Richtlinie wird jedoch angewendet.<br>\r\n→ Der Transport erfolgt immer via \"smtp:\", verwendet TLS wenn angeboten und unterstützt kein wrapped TLS (SMTPS).<br>\r\n→ Adressen, die mit \"/localhost$/\" übereinstimmen, werden immer via \"local:\" transportiert, daher sind sie von einer Zieldefinition \"*\" ausgeschlossen.<br>\r\n→ Die Authentifizierung wird anhand des \"Next hop\" Parameters ermittelt. Hierbei würde bei einem beispielhaften Wert \"[host]:25\" immer zuerst \"host\" abfragt und <b>erst im Anschluss</b> \"[host]:25\". Dieses Verhalten schließt die <b>gleichzeitige Verwendung</b> von Einträgen der Art \"host\" sowie \"[host]:25\" aus.",
+        "transport_dest_format": "Regex oder Syntax: example.org, .example.org, *, box@example.org (getrennt durch Komma einzugeben)",
+        "transport_maps": "Transport-Maps",
+        "transport_test_rcpt_info": "&#8226; Die Verwendung von null@hosted.mailcow.de testet das Relay gegen ein fremdes Ziel.",
+        "transports_hint": "&#8226; Transport-Maps <b>überwiegen</b> senderabhängige Transport Maps.<br>\r\n&#8226; MX-basierte Transporte werden bevorzugt.<br>\r\n&#8226; Transport-Maps ignorieren Mailbox-Einstellungen für ausgehende Verschlüsselung. Eine serverweite TLS-Richtlinie wird jedoch angewendet.<br>\r\n&#8226; Der Transport erfolgt immer via \"smtp:\", verwendet TLS wenn angeboten und unterstützt kein wrapped TLS (SMTPS).<br>\r\n&#8226; Adressen, die mit \"/localhost$/\" übereinstimmen, werden immer via \"local:\" transportiert, daher sind sie von einer Zieldefinition \"*\" ausgeschlossen.<br>\r\n&#8226; Die Authentifizierung wird anhand des \"Next hop\" Parameters ermittelt. Hierbei würde bei einem beispielhaften Wert \"[host]:25\" immer zuerst \"host\" abfragt und <b>erst im Anschluss</b> \"[host]:25\". Dieses Verhalten schließt die <b>gleichzeitige Verwendung</b> von Einträgen der Art \"host\" sowie \"[host]:25\" aus.",
         "ui_footer": "Footer (HTML zulässig)",
         "ui_header_announcement": "Ankündigungen",
         "ui_header_announcement_active": "Ankündigung aktivieren",
@@ -306,9 +339,9 @@
         "ui_header_announcement_help": "Die Ankündigungsbox erzeugt einen deutlichen Hinweis für alle Benutzer und auf der Login-Seite der UI.",
         "ui_header_announcement_select": "Ankündigungstyp auswählen",
         "ui_header_announcement_type": "Typ",
+        "ui_header_announcement_type_danger": "Sehr wichtig",
         "ui_header_announcement_type_info": "Info",
         "ui_header_announcement_type_warning": "Wichtig",
-        "ui_header_announcement_type_danger": "Sehr wichtig",
         "ui_texts": "UI-Label und Texte",
         "unban_pending": "ausstehend",
         "unchanged_if_empty": "Unverändert, wenn leer",
@@ -344,13 +377,14 @@
         "domain_quota_m_in_use": "Domain-Speicherplatzlimit muss größer oder gleich %d MiB sein",
         "extra_acl_invalid": "Externe Absenderadresse \"%s\" ist ungültig",
         "extra_acl_invalid_domain": "Externe Absenderadresse \"%s\" verwendet eine ungültige Domain",
+        "fido2_verification_failed": "FIDO2-Verifizierung fehlgeschlagen: %s",
         "file_open_error": "Datei kann nicht zum Schreiben geöffnet werden",
         "filter_type": "Falscher Filtertyp",
         "from_invalid": "Die Absenderadresse muss eine gültige E-Mail-Adresse sein",
         "global_filter_write_error": "Kann Filterdatei nicht schreiben: %s",
-        "global_map_invalid": "Rspamd Map %s ist ungültig",
+        "global_map_invalid": "Rspamd-Map %s ist ungültig",
         "global_map_write_error": "Kann globale Map ID %s nicht schreiben: %s",
-        "goto_empty": "Eine Alias-Adresse muss auf mindestens eine gütlige Ziel-Adresse zeigen",
+        "goto_empty": "Eine Alias-Adresse muss auf mindestens eine gültige Ziel-Adresse zeigen",
         "goto_invalid": "Ziel-Adresse %s ist ungültig",
         "ham_learn_error": "Ham Lernfehler: %s",
         "imagick_exception": "Fataler Bildverarbeitungsfehler",
@@ -387,6 +421,7 @@
         "network_host_invalid": "Netzwerk oder Host ungültig: %s",
         "next_hop_interferes": "%s verhindert das Hinzufügen von Next Hop %s",
         "next_hop_interferes_any": "Ein vorhandener Eintrag verhindert das Hinzufügen von Next Hop %s",
+        "nginx_reload_failed": "Nginx Reload ist fehlgeschlagen: %s",
         "no_user_defined": "Kein Benutzer definiert",
         "object_exists": "Objekt %s existiert bereits",
         "object_is_not_numeric": "Wert %s ist nicht numerisch",
@@ -402,7 +437,7 @@
         "quota_not_0_not_numeric": "Speicherplatz muss numerisch und >= 0 sein",
         "recipient_map_entry_exists": "Eine Empfängerumschreibung für Objekt \"%s\" existiert bereits",
         "redis_error": "Redis Fehler: %s",
-        "relayhost_invalid": "Mapeintrag %s ist ungültig",
+        "relayhost_invalid": "Map-Eintrag %s ist ungültig",
         "release_send_failed": "Die Nachricht konnte nicht versendet werden: %s",
         "reset_f2b_regex": "Regex Filter konnten nicht in vorgegebener Zeit zurückgesetzt werden, bitte erneut versuchen oder die Webseite neu laden.",
         "resource_invalid": "Ressourcenname %s ist ungültig",
@@ -425,51 +460,63 @@
         "tls_policy_map_entry_exists": "Eine TLS-Richtlinie \"%s\" existiert bereits",
         "tls_policy_map_parameter_invalid": "Parameter ist ungültig",
         "totp_verification_failed": "TOTP-Verifizierung fehlgeschlagen",
-        "transport_dest_exists": "Transport Maps Ziel \"%s\" existiert bereits",
+        "transport_dest_exists": "Transport-Maps-Ziel \"%s\" existiert bereits",
         "u2f_verification_failed": "U2F-Verifizierung fehlgeschlagen: %s",
-        "fido2_verification_failed": "FIDO2-Verifizierung fehlgeschlagen: %s",
         "unknown": "Ein unbekannter Fehler trat auf",
-        "unknown_tfa_method": "Unbekannte TFA Methode",
+        "unknown_tfa_method": "Unbekannte TFA-Methode",
         "unlimited_quota_acl": "Unendliche Quota untersagt durch ACL",
         "username_invalid": "Benutzername %s kann nicht verwendet werden",
         "validity_missing": "Bitte geben Sie eine Gültigkeitsdauer an",
         "value_missing": "Bitte alle Felder ausfüllen",
+        "xmpp_map_write_error": "Kann XMPP-Map nicht schreiben: %s",
+        "xmpp_reload_failed": "XMPP konnte nicht neu geladen werden",
+        "xmpp_restart_failed": "XMPP konnte nicht neu gestartet werden",
         "yotp_verification_failed": "Yubico OTP-Verifizierung fehlgeschlagen: %s"
     },
     "debug": {
         "chart_this_server": "Chart (dieser Server)",
         "containers_info": "Container-Information",
         "disk_usage": "Festplattennutzung",
+        "docs": "Dokumente",
         "external_logs": "Externe Logs",
         "history_all_servers": "History (alle Server)",
         "in_memory_logs": "In-memory Logs",
         "jvm_memory_solr": "JVM-Speicherauslastung",
+        "last_modified": "Zuletzt geändert",
         "log_info": "<p>mailcow <b>in-memory Logs</b> werden in Redis Listen gespeichert, die maximale Anzahl der Einträge pro Anwendung richtet sich nach LOG_LINES (%d).\r\n  <br>In-memory Logs sind vergänglich und nicht zur ständigen Aufbewahrung bestimmt. Alle Anwendungen, die in-memory protokollieren, schreiben ebenso in den Docker Daemon.\r\n  <br>Das in-memory Protokoll versteht sich als schnelle Übersicht zum Debugging eines Containers, für komplexere Protokolle sollte der Docker Daemon konsultiert werden.</p>\r\n  <p><b>Externe Logs</b> werden via API externer Applikationen bezogen.</p>\r\n  <p><b>Statische Logs</b> sind weitestgehend Aktivitätsprotokolle, die nicht in den Docker Daemon geschrieben werden, jedoch permanent verfügbar sein müssen (ausgeschlossen API Logs).</p>",
+        "login_time": "Zeit",
         "logs": "Protokolle",
+        "online_users": "Benutzer online",
         "restart_container": "Neustart",
+        "service": "Dienst",
+        "size": "Größe",
         "solr_dead": "Solr startet, ist deaktiviert oder temporär nicht erreichbar.",
-        "solr_docs": "Dokumente",
-        "solr_last_modified": "Zuletzt geändert",
-        "solr_size": "Größe",
-        "solr_started_at": "Gestartet am",
         "solr_status": "Solr Status",
-        "solr_uptime": "Uptime",
+        "started_at": "Gestartet am",
         "started_on": "Gestartet am",
         "static_logs": "Statische Logs",
-        "system_containers": "System & Container"
+        "success": "Erfolg",
+        "system_containers": "System & Container",
+        "uptime": "Uptime",
+        "username": "Benutzername",
+        "xmpp_dead": "XMPP startet, ist deaktiviert oder temporär nicht erreichbar.",
+        "xmpp_status": "XMPP Status"
     },
     "diagnostics": {
         "cname_from_a": "Wert abgeleitet von A/AAAA-Eintrag. Wird unterstützt, sofern der Eintrag auf die korrekte Ressource zeigt.",
         "dns_records": "DNS-Einträge",
         "dns_records_24hours": "Bitte beachten Sie, dass es bis zu 24 Stunden dauern kann, bis Änderungen an Ihren DNS-Einträgen als aktueller Status auf dieser Seite dargestellt werden. Diese Seite ist nur als Hilfsmittel gedacht, um die korrekten Werte für DNS-Einträge anzuzeigen und zu überprüfen, ob die Daten im DNS hinterlegt sind.",
         "dns_records_data": "Korrekte Daten",
+        "dns_records_docs": "Die <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">Online-Dokumentation</a> enthält weitere Informationen zur DNS-Konfiguration.",
         "dns_records_name": "Name",
         "dns_records_status": "Aktueller Status",
         "dns_records_type": "Typ",
         "optional": "Dieser Eintrag ist optional."
     },
     "edit": {
+        "acl": "ACL (Berechtigungen)",
         "active": "Aktiv",
+        "admin": "Administrator bearbeiten",
         "advanced_settings": "Erweiterte Einstellungen",
         "alias": "Alias bearbeiten",
         "allow_from_smtp": "Nur folgende IPs für <b>SMTP</b> erlauben",
@@ -478,10 +525,10 @@
         "app_name": "App-Name",
         "app_passwd": "App-Passwörter",
         "automap": "Ordner automatisch mappen (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
-        "backup_mx_options": "Relay Optionen",
+        "backup_mx_options": "Relay-Optionen",
         "bcc_dest_format": "BCC-Ziel muss eine gültige E-Mail-Adresse sein.",
-        "client_id": "Client ID",
-        "client_secret": "Client Secret",
+        "client_id": "Client-ID",
+        "client_secret": "Client-Secret",
         "comment_info": "Ein privater Kommentar ist für den Benutzer nicht einsehbar. Ein öffentlicher Kommentar wird als Tooltip im Interface des Benutzers angezeigt.",
         "delete1": "Lösche Nachricht nach Übertragung vom Quell-Server",
         "delete2": "Lösche Nachrichten von Ziel-Server, die nicht auf Quell-Server vorhanden sind",
@@ -498,19 +545,21 @@
         "encryption": "Verschlüsselung",
         "exclude": "Elemente ausschließen (Regex)",
         "extended_sender_acl": "Externe Absenderadressen",
-        "extended_sender_acl_info": "Der DKIM Domainkey der externen Absenderdomain sollte in diesen Server importiert werden, falls vorhanden.<br>\r\n  Wird SPF verwendet, muss diesem Server der Versand gestattet werden.<br>\r\n  Wird eine Domain oder Alias-Domain zu diesem Server hinzugefügt, die sich mit der externen Absenderadresse überschneidet, wird der externe Absender hier entfernt.<br>\r\n  Ein Eintrag @domain.tld erlaubt den Versand als *@domain.tld",
+        "extended_sender_acl_info": "Der DKIM-Domainkey der externen Absenderdomain sollte in diesen Server importiert werden, falls vorhanden.<br>\r\n  Wird SPF verwendet, muss diesem Server der Versand gestattet werden.<br>\r\n  Wird eine Domain oder Alias-Domain zu diesem Server hinzugefügt, die sich mit der externen Absenderadresse überschneidet, wird der externe Absender hier entfernt.<br>\r\n  Ein Eintrag @domain.tld erlaubt den Versand als *@domain.tld",
         "force_pw_update": "Erzwinge Passwortänderung bei nächstem Login",
         "force_pw_update_info": "Dem Benutzer wird lediglich der Zugang zur %s ermöglicht.",
         "full_name": "Voller Name",
         "gal": "Globales Adressbuch",
         "gal_info": "Das globale Adressbuch enthält alle Objekte einer Domain und kann durch keinen Benutzer geändert werden. Die Verfügbarkeitsinformation in SOGo ist nur bei eingeschaltetem globalen Adressbuch ersichtlich <b>Zum Anwenden einer Änderung muss SOGo neugestartet werden.</b>",
         "generate": "generieren",
-        "grant_types": "Grant types",
+        "grant_types": "Grant-types",
         "hostname": "Servername",
         "inactive": "Inaktiv",
         "kind": "Art",
+        "lookup_mx": "Ziel mit MX vergleichen (Regex, etwa <code>.*google\\.com</code>, um alle Ziele mit MX *google.com zu routen)",
         "mailbox": "Mailbox bearbeiten",
         "mailbox_quota_def": "Standard-Quota einer Mailbox",
+        "mailbox_relayhost_info": "Wird auf eine Mailbox und direkte Alias-Adressen angewendet. Überschreibt die Einstellung einer Domain.",
         "max_aliases": "Max. Aliasse",
         "max_mailboxes": "Max. Mailboxanzahl",
         "max_quota": "Max. Größe per Mailbox (MiB)",
@@ -520,13 +569,15 @@
         "mins_interval": "Intervall (min)",
         "multiple_bookings": "Mehrfaches Buchen",
         "nexthop": "Next Hop",
+        "none_inherit": "Keine Auswahl / Erben",
         "password": "Passwort",
         "password_repeat": "Passwort wiederholen",
         "previous": "Vorherige Seite",
         "private_comment": "Privater Kommentar",
         "public_comment": "Öffentlicher Kommentar",
+        "pushover": "Pushover",
         "pushover_evaluate_x_prio": "Hohe Priorität eskalieren [<code>X-Priority: 1</code>]",
-        "pushover_info": "Push-Benachrichtungen werden angewendet auf alle nicht-Spam Nachrichten zugestellt an <b>%s</b>, einschließlich Alias-Adressen (shared, non-shared, tagged).",
+        "pushover_info": "Push-Benachrichtigungen werden angewendet auf alle nicht-Spam Nachrichten zugestellt an <b>%s</b>, einschließlich Alias-Adressen (shared, non-shared, tagged).",
         "pushover_only_x_prio": "Nur Mail mit hoher Priorität berücksichtigen [<code>X-Priority: 1</code>]",
         "pushover_sender_array": "Folgende Sender E-Mail-Adressen berücksichtigen <small>(getrennt durch Komma)</small>",
         "pushover_sender_regex": "Sender mit folgendem regulären Ausdruck auswählen",
@@ -535,6 +586,9 @@
         "pushover_vars": "Wenn kein Sender-Filter definiert ist, werden alle E-Mails berücksichtigt.<br>Die direkte Absenderprüfung und reguläre Ausdrücke werden unabhängig voneinander geprüft, sie <b>hängen nicht voneinander ab</b> und werden der Reihe nach ausgeführt. <br>Verwendbare Variablen für Titel und Text (Datenschutzrichtlinien beachten)",
         "pushover_verify": "Verbindung verifizieren",
         "quota_mb": "Speicherplatz (MiB)",
+        "quota_warning_bcc": "Quota-Warnung BCC",
+        "quota_warning_bcc_info": "Die Warnungen werden als separate Kopie an die nachstehenden Empfänger versendet. Dem Betreff wird der jeweilige Benutzername in Klammern (etwa <code>Quota-Warnung (user@example.com)</code>) angehangen.",
+        "ratelimit": "Rate Limit",
         "redirect_uri": "Redirect/Callback-URL",
         "relay_all": "Alle Empfänger-Adressen relayen",
         "relay_all_info": "↪ Wenn <b>nicht</b> alle Empfänger-Adressen relayt werden sollen, müssen \"blinde\" Mailboxen für jede Adresse, die relayt werden soll, erstellen werden.",
@@ -547,7 +601,7 @@
         "save": "Änderungen speichern",
         "scope": "Scope",
         "sender_acl": "Darf Nachrichten versenden als",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Absenderprüfung deaktiviert</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Absenderprüfung deaktiviert</span>",
         "sender_acl_info": "Wird einem Mailbox-Benutzer A der Versand als Mailbox-Benutzer B gestattet, so erscheint der Absender <b>nicht</b> automatisch in SOGo zur Auswahl.<br>\r\n  In SOGo muss zusätzlich eine Delegation eingerichtet werden. Dieses Verhalten trifft nicht auf Alias-Adressen zu.",
         "sieve_desc": "Kurze Beschreibung",
         "sieve_type": "Filtertyp",
@@ -557,18 +611,42 @@
         "sogo_visible": "Alias in SOGo sichtbar",
         "sogo_visible_info": "Diese Option hat lediglich Einfluss auf Objekte, die in SOGo darstellbar sind (geteilte oder nicht-geteilte Alias-Adressen mit dem Ziel mindestens einer lokalen Mailbox).",
         "spam_alias": "Anpassen temporärer Alias-Adressen",
+        "spam_filter": "Spamfilter",
         "spam_policy": "Hinzufügen und Entfernen von Einträgen in White- und Blacklists",
         "spam_score": "Einen benutzerdefiniterten Spam-Score festlegen",
         "subfolder2": "Ziel-Ordner<br><small>(leer = kein Unterordner)</small>",
         "syncjob": "Sync-Job bearbeiten",
-        "target_address": "Ziel-Adresse(n) <small>(getrennt durch Komma)</small>",
+        "target_address": "Ziel-Adresse(n)",
         "target_domain": "Ziel-Domain",
         "timeout1": "Timeout für Verbindung zum Remote-Host",
         "timeout2": "Timeout für Verbindung zum lokalen Host",
         "title": "Objekt bearbeiten",
         "unchanged_if_empty": "Unverändert, wenn leer",
         "username": "Benutzername",
-        "validate_save": "Validieren und speichern"
+        "validate_save": "Validieren und speichern",
+        "xmpp": "XMPP für diese Domain aktivieren",
+        "xmpp_access": "XMPP-Zugang",
+        "xmpp_access_info": "XMPP muss für diese Domain aktiviert sein.",
+        "xmpp_admin": "XMPP-Administrator",
+        "xmpp_admin_info": "<b>Vorsicht:</b> Ernennt den Benutzer zum Administrator der jeweiligen XMPP Domain.",
+        "xmpp_example_jid": "<b>Beispiel JID</b> (Passwort entspricht Mailbox-Passwort)",
+        "xmpp_info": "Diese Funktion stellt eine Chat-Funktionalität für die Domain bereit.",
+        "xmpp_prefix": "XMPP-Präfix für Domain (\"im\" für <b>im</b>.example.org)",
+        "xmpp_prefix_info": "Für die Bereitstellung eines Zertifikates sollte vorab ein DNS-Eintrag, etwa in Form eines CNAMEs, für <b>im</b>.example.org sowie <b>*.im</b>.example.org auf <b>%s</b> zeigend angelegt werden. Im Anschluss an die Aktivierung sollte der DNS-Check für diese Domain ausgeführt werden."
+    },
+    "fido2": {
+        "confirm": "Bestätigen",
+        "fido2_auth": "Anmeldung über FIDO2",
+        "fido2_success": "Das Gerät wurde erfolgreich registriert",
+        "fido2_validation_failed": "Validierung fehlgeschlagen",
+        "fn": "Benutzerfreundlicher Name",
+        "known_ids": "Bekannte IDs",
+        "none": "Deaktiviert",
+        "register_status": "Registrierungsstatus",
+        "rename": "Umbenennen",
+        "set_fido2": "Registriere FIDO2-Gerät",
+        "set_fn": "Benutzerfreundlichen Namen konfigurieren",
+        "start_fido2_validation": "Starte FIDO2-Validierung"
     },
     "footer": {
         "cancel": "Abbrechen",
@@ -578,6 +656,7 @@
         "hibp_nok": "Übereinstimmung gefunden! Dieses Passwort ist potenziell gefährlich!",
         "hibp_ok": "Keine Übereinstimmung gefunden.",
         "loading": "Einen Moment bitte...",
+        "nothing_selected": "Nichts ausgewählt",
         "restart_container": "Container neustarten",
         "restart_container_info": "<b>Wichtig:</b> Der Neustart eines Containers kann eine Weile in Anspruch nehmen.",
         "restart_now": "Jetzt neustarten",
@@ -614,6 +693,7 @@
         "active": "Aktiv",
         "add": "Hinzufügen",
         "add_alias": "Alias hinzufügen",
+        "add_alias_expand": "Alias über Alias-Domains expandieren",
         "add_bcc_entry": "BCC-Eintrag hinzufügen",
         "add_domain": "Domain hinzufügen",
         "add_domain_alias": "Domain-Alias hinzufügen",
@@ -625,7 +705,7 @@
         "add_tls_policy_map": "TLS-Richtlinieneintrag hinzufügen",
         "address_rewriting": "Adressumschreibung",
         "alias": "Alias",
-        "alias_domain_alias_hint": "Alias-Adressen werden <b>nicht</b> automatisch auch auf Domain-Alias Adressen angewendet. Eine Alias-Adresse <code>mein-alias@domain</code> bildet demnach <b>nicht</b> die Adresse <code>mein-alias@alias-domain</code> ab.<br>E-Mail-Weiterleitungen an externe Postfächer sollten über Sieve (SOGo Weiterleitung oder im Reiter \"Filter\") angelegt werden.",
+        "alias_domain_alias_hint": "Alias-Adressen werden <b>nicht</b> automatisch auch auf Domain-Alias Adressen angewendet. Eine Alias-Adresse <code>mein-alias@domain</code> bildet demnach <b>nicht</b> die Adresse <code>mein-alias@alias-domain</code> ab.<br>E-Mail-Weiterleitungen an externe Postfächer sollten über Sieve (SOGo Weiterleitung oder im Reiter \"Filter\") angelegt werden. Der Button \"Alias über Alias-Domains expandieren\" erstellt fehlende Alias-Adressen in Alias-Domains.",
         "alias_domain_backupmx": "Alias-Domain für Relay-Domain inaktiv",
         "aliases": "Aliasse",
         "allow_from_smtp": "Nur folgende IPs für <b>SMTP</b> erlauben",
@@ -674,14 +754,15 @@
         "insert_preset": "Beispiel \"%s\" laden",
         "kind": "Art",
         "last_mail_login": "Letzter Mail-Login",
+        "last_pw_change": "Letzte Passwortänderung",
         "last_run": "Letzte Ausführung",
         "last_run_reset": "Als nächstes ausführen",
         "mailbox": "Mailbox",
+        "mailbox_defaults": "Standardeinstellungen",
+        "mailbox_defaults_info": "Steuert die Standardeinstellungen für neue Mailboxen.",
         "mailbox_defquota": "Standard-Quota",
         "mailbox_quota": "Max. Größe einer Mailbox",
         "mailboxes": "Mailboxen",
-        "mailbox_defaults": "Standardeinstellungen",
-        "mailbox_defaults_info": "Steuert die Standardeinstellungen für neue Mailboxen.",
         "mins_interval": "Intervall (min)",
         "msg_num": "Anzahl Nachrichten",
         "multiple_bookings": "Mehrfachbuchen",
@@ -692,17 +773,17 @@
         "owner": "Besitzer",
         "private_comment": "Privater Kommentar",
         "public_comment": "Öffentlicher Kommentar",
-        "q_add_header": "Junk-Ordner",
-        "q_all": "Alle Kategorien",
-        "q_reject": "Abgelehnt",
-        "quarantine_notification": "Quarantäne-Benachrichtigung",
+        "q_add_header": "bei Mail in Junk-Ordner",
+        "q_all": "bei Reject und Mail in Junk-Ordner",
+        "q_reject": "bei Reject",
         "quarantine_category": "Quarantäne-Benachrichtigungskategorie",
+        "quarantine_notification": "Quarantäne-Benachrichtigung",
         "quick_actions": "Aktionen",
         "recipient_map": "Empfängerumschreibung",
         "recipient_map_info": "Empfängerumschreibung ersetzen den Empfänger einer E-Mail vor dem Versand.",
         "recipient_map_new": "Neuer Empfänger",
         "recipient_map_new_info": "Der neue Empfänger muss eine E-Mail-Adresse sein.",
-        "recipient_map_old": "Original Empfänger",
+        "recipient_map_old": "Original-Empfänger",
         "recipient_map_old_info": "Der originale Empfänger muss eine E-Mail-Adresse oder ein Domainname sein.",
         "recipient_maps": "Empfängerumschreibungen",
         "remove": "Entfernen",
@@ -710,7 +791,7 @@
         "running": "In Ausführung",
         "set_postfilter": "Als Postfilter markieren",
         "set_prefilter": "Als Prefilter markieren",
-        "sieve_info": "Es können mehrere Filter pro Benutzer existieren, aber nur ein Filter eines Typs (Pre-/Postfilter) kann gleichzeitig aktiv sein.<br>\r\nDie Ausführung erfolgt in nachstehender Reihenfolge. Ein fehlgeschlagenes Script sowie der Befehl \"keep;\" stoppen die weitere Verarbeitung <b>nicht</b>. Änderungen an globalen Sieve-Filtern bewirken einen Neustart von Dovecot.<br><br>Global sieve prefilter → Prefilter → User scripts → Postfilter → Global sieve postfilter",
+        "sieve_info": "Es können mehrere Filter pro Benutzer existieren, aber nur ein Filter eines Typs (Pre-/Postfilter) kann gleichzeitig aktiv sein.<br>\r\nDie Ausführung erfolgt in nachstehender Reihenfolge. Ein fehlgeschlagenes Script sowie der Befehl \"keep;\" stoppen die weitere Verarbeitung <b>nicht</b>. Änderungen an globalen Sieve-Filtern bewirken einen Neustart von Dovecot.<br><br>Global sieve prefilter &#8226; Prefilter &#8226; User scripts &#8226; Postfilter &#8226; Global sieve postfilter",
         "sieve_preset_1": "E-Mails mit potenziell gefährlichen Dateitypen abweisen",
         "sieve_preset_2": "E-Mail eines bestimmten Absenders immer als gelesen markieren",
         "sieve_preset_3": "Lautlos löschen, weitere Ausführung von Filtern verhindern",
@@ -720,7 +801,6 @@
         "sieve_preset_7": "Weiterleiten und behalten oder verwerfen",
         "sieve_preset_8": "Nachricht verwerfen, wenn Absender und Alias-Ziel identisch sind.",
         "sieve_preset_header": "Beispielinhalte zur Einsicht stehen nachstehend bereit. Siehe auch <a href=\"https://de.wikipedia.org/wiki/Sieve\" target=\"_blank\">Wikipedia</a>.",
-        "sogo_allow_admin_hint": "Administrative SOGo-Logins sind nur für Mailboxen verfügbar, die bereits ein SOGo-Profil besitzen. Ein Benutzer muss zumindest einmal in SOGo eingeloggt gewesen sein, um ein Profil zu besitzen.",
         "sogo_visible": "Alias Sichtbarkeit in SOGo",
         "sogo_visible_n": "Alias in SOGo verbergen",
         "sogo_visible_y": "Alias in SOGo anzeigen",
@@ -740,8 +820,8 @@
         "tls_map_parameters_info": "Leer oder Parameter, Beispiele: protocols=!SSLv2 ciphers=medium exclude=3DES",
         "tls_map_policy": "Richtlinie",
         "tls_policy_maps": "TLS-Richtlinien",
-        "tls_policy_maps_info": "Nachstehende Richtlinien erzwingen TLS-Transportregeln unabhängig von TLS-Richtlinieneinstellungen eines Benutzers.<br>\r\n  Für weitere Informationen zur Syntax sollte <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">die \"smtp_tls_policy_maps\" Dokumentation</a> konsultiert werden.",
         "tls_policy_maps_enforced_tls": "Die Richtlinien überschreiben auch das Verhalten für Mailbox-Benutzer, die für ausgehende Verbindungen TLS erzwingen. Ist keine Policy nachstehend konfiguriert, richtet sich der Standard für diese Benutzer sich nach den Werten <code>smtp_tls_mandatory_protocols</code> und <code>smtp_tls_mandatory_ciphers</code>.",
+        "tls_policy_maps_info": "Nachstehende Richtlinien erzwingen TLS-Transportregeln unabhängig von TLS-Richtlinieneinstellungen eines Benutzers.<br>\r\n  Für weitere Informationen zur Syntax sollte <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">die \"smtp_tls_policy_maps\" Dokumentation</a> konsultiert werden.",
         "tls_policy_maps_long": "Ausgehende TLS-Richtlinien",
         "toggle_all": "Alle",
         "username": "Benutzername",
@@ -783,6 +863,9 @@
         "qitem": "Quarantäneeintrag",
         "quarantine": "Quarantäne",
         "quick_actions": "Aktionen",
+        "quick_delete_link": "Quick-Delete Link öffnen",
+        "quick_info_link": "Element-Info Link öffnen",
+        "quick_release_link": "Quick-Release Link öffnen",
         "rcpt": "Empfänger",
         "received": "Empfangen",
         "recipients": "Empfänger",
@@ -793,27 +876,25 @@
         "release_subject": "Potentiell schädliche Nachricht aus Quarantäne: %s",
         "remove": "Entfernen",
         "rewrite_subject": "Betreff geändert",
-        "rspamd_result": "Rspamd Ergebnis",
-        "quick_release_link": "Quick-Release Link öffnen",
-        "quick_delete_link": "Quick-Delete Link öffnen",
-        "quick_info_link": "Element-Info Link öffnen",
+        "rspamd_result": "Rspamd-Ergebnis",
         "sender": "Sender (SMTP)",
         "sender_header": "Sender (\"From\"-Header)",
+        "settings_info": "Maximale Anzahl der zurückgehaltenen E-Mails: %s<br>Maximale Größe einer zu speichernden E-Mail: %s MiB",
         "show_item": "Details",
         "spam": "Spam",
         "spam_score": "Bewertung",
         "subj": "Betreff",
-        "type": "Typ",
         "table_size": "Tabellengröße",
         "table_size_show_n": "Zeige %s Einträge",
         "text_from_html_content": "Inhalt (html, konvertiert)",
         "text_plain_content": "Inhalt (text/plain)",
-        "toggle_all": "Alle auswählen"
+        "toggle_all": "Alle auswählen",
+        "type": "Typ"
     },
     "start": {
         "help": "Hilfe ein-/ausblenden",
         "imap_smtp_server_auth_info": "Bitte verwenden Sie Ihre vollständige E-Mail-Adresse sowie das PLAIN-Authentifizierungsverfahren.<br>\r\nIhre Anmeldedaten werden durch die obligatorische Verschlüsselung entgegen des Begriffes \"PLAIN\" nicht unverschlüsselt übertragen.",
-        "mailcow_apps_detail": "Verwenden Sie mailcow Apps, um E-Mails abzurufen, Kalender und Kontakte zu verwalten und vieles mehr.",
+        "mailcow_apps_detail": "Verwenden Sie mailcow-Apps, um E-Mails abzurufen, Kalender und Kontakte zu verwalten und vieles mehr.",
         "mailcow_panel_detail": "<b>Domain-Administratoren</b> erstellen, verändern oder löschen Mailboxen, verwalten die Domäne und sehen sonstige Einstellungen ein.<br>\r\n\tAls <b>Mailbox-Benutzer</b> erstellen Sie hier zeitlich limitierte Aliasse, ändern das Verhalten des Spamfilters, setzen ein neues Passwort und vieles mehr."
     },
     "success": {
@@ -830,14 +911,14 @@
         "aliasd_modified": "Änderungen an Alias-Domain %s wurden gespeichert",
         "app_links": "Änderungen an App-Links wurden gespeichert",
         "app_passwd_added": "App-Passwort wurde gespeichert",
-        "app_passwd_removed": "App-Passwort ID %s wurde entfernt",
-        "bcc_deleted": "BCC Map-Einträge gelöscht: %s",
-        "bcc_edited": "BCC Map-Eintrag %s wurde geändert",
-        "bcc_saved": "BCC Map-Eintrag wurde gespeichert",
+        "app_passwd_removed": "App-Passwort-ID %s wurde entfernt",
+        "bcc_deleted": "BCC-Map-Einträge gelöscht: %s",
+        "bcc_edited": "BCC-Map-Eintrag %s wurde geändert",
+        "bcc_saved": "BCC- Map-Eintrag wurde gespeichert",
         "db_init_complete": "Datenbankinitialisierung abgeschlossen",
-        "delete_filter": "Filter ID %s wurde gelöscht",
+        "delete_filter": "Filter-ID %s wurde gelöscht",
         "delete_filters": "Filter gelöscht: %s",
-        "deleted_syncjob": "Sync-Jobs ID %s gelöscht",
+        "deleted_syncjob": "Sync-Jobs-ID %s gelöscht",
         "deleted_syncjobs": "Sync-Jobs gelöscht: %s",
         "dkim_added": "DKIM-Key %s wurde hinzugefügt",
         "dkim_duplicated": "DKIM-Key der Domain %s wurde auf Domain %s kopiert",
@@ -853,47 +934,52 @@
         "f2b_modified": "Änderungen an Fail2ban-Parametern wurden gespeichert",
         "forwarding_host_added": "Weiterleitungs-Host %s wurde hinzugefügt",
         "forwarding_host_removed": "Weiterleitungs-Host %s wurde entfernt",
-        "global_filter_written": "Filterdatei wurde erfolreich geschrieben",
+        "global_filter_written": "Filterdatei wurde erfolgreich geschrieben",
         "hash_deleted": "Hash wurde gelöscht",
         "item_deleted": "Objekt %s wurde entfernt",
         "item_released": "Objekt %s freigegeben",
         "items_deleted": "Objekt(e) %s wurde(n) erfolgreich entfernt",
         "items_released": "Ausgewählte Objekte wurden an Mailbox versendet",
-        "learned_ham": "ID %s wurde erfolreich als Ham gelernt",
+        "learned_ham": "ID %s wurde erfolgreich als Ham gelernt",
         "license_modified": "Änderungen an Lizenz wurden gespeichert",
         "logged_in_as": "Eingeloggt als %s",
         "mailbox_added": "Mailbox %s wurde angelegt",
         "mailbox_modified": "Änderungen an Mailbox %s wurden gespeichert",
         "mailbox_removed": "Mailbox %s wurde entfernt",
+        "nginx_reloaded": "Nginx wurde neu geladen",
         "object_modified": "Änderungen an Objekt %s wurden gespeichert",
-        "pushover_settings_edited": "Pushover Konfiguration gespeichert, bitte den Zugang im Anschluss verifizieren.",
-        "qlearn_spam": "Nachricht ID %s wurde als Spam gelernt und gelöscht",
+        "password_policy_saved": "Passwortrichtlinie wurde erfolgreich gespeichert",
+        "pushover_settings_edited": "Pushover-Konfiguration gespeichert, bitte den Zugang im Anschluss verifizieren.",
+        "qlearn_spam": "Nachricht-ID %s wurde als Spam gelernt und gelöscht",
         "queue_command_success": "Queue-Aufgabe erfolgreich ausgeführt",
         "recipient_map_entry_deleted": "Empfängerumschreibung mit der ID %s wurde gelöscht",
         "recipient_map_entry_saved": "Empfängerumschreibung für Objekt \"%s\" wurde gespeichert",
-        "relayhost_added": "Mapeintrag %s wurde hinzugefügt",
-        "relayhost_removed": "Mapeintrag %s wurde entfernt",
+        "relayhost_added": "Map-Eintrag %s wurde hinzugefügt",
+        "relayhost_removed": "Map-Eintrag %s wurde entfernt",
         "reset_main_logo": "Standardgrafik wurde wiederhergestellt",
         "resource_added": "Ressource %s wurde angelegt",
         "resource_modified": "Änderungen an Ressource %s wurden gespeichert",
         "resource_removed": "Ressource %s wurde entfernt",
         "rl_saved": "Ratelimit für Objekt %s wurde gesetzt",
-        "rspamd_ui_pw_set": "Rspamd UI-Passwort wurde gesetzt",
+        "rspamd_ui_pw_set": "Rspamd-UI-Passwort wurde gesetzt",
         "saved_settings": "Regel wurde gespeichert",
         "settings_map_added": "Regel wurde gespeichert",
         "settings_map_removed": "Regeln wurden entfernt: %s",
-        "sogo_profile_reset": "ActiveSync Gerät des Benutzers %s wurde zurückgesetzt",
+        "sogo_profile_reset": "ActiveSync-Gerät des Benutzers %s wurde zurückgesetzt",
         "tls_policy_map_entry_deleted": "TLS-Richtlinie mit der ID %s wurde gelöscht",
         "tls_policy_map_entry_saved": "TLS-Richtlinieneintrag \"%s\" wurde gespeichert",
         "ui_texts": "Änderungen an UI-Texten",
         "upload_success": "Datei wurde erfolgreich hochgeladen",
+        "verified_fido2_login": "FIDO2-Anmeldung verifiziert",
         "verified_totp_login": "TOTP-Anmeldung verifiziert",
         "verified_u2f_login": "U2F-Anmeldung verifiziert",
-        "verified_fido2_login": "FIDO2-Anmeldung verifiziert",
-        "verified_yotp_login": "Yubico OTP-Anmeldung verifiziert"
+        "verified_yotp_login": "Yubico-OTP-Anmeldung verifiziert",
+        "xmpp_maps_updated": "XMPP-Maps wurden aktualisiert",
+        "xmpp_reloaded": "XMPP-Dienst wurde neu geladen",
+        "xmpp_restarted": "XMPP-Dienst wurde neu gestartet"
     },
     "tfa": {
-        "api_register": "%s verwendet die Yubico Cloud API. Ein API-Key für den Yubico Stick kann <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">hier</a> bezogen werden.",
+        "api_register": "%s verwendet die Yubico-Cloud-API. Ein API-Key für den Yubico-Stick kann <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">hier</a> bezogen werden.",
         "confirm": "Bestätigen",
         "confirm_totp_token": "Bitte bestätigen Sie die Änderung durch Eingabe eines generierten Tokens",
         "delete_tfa": "Deaktiviere 2FA",
@@ -904,32 +990,19 @@
         "key_id": "Ein Namen für diesen YubiKey",
         "key_id_totp": "Ein eindeutiger Name",
         "none": "Deaktiviert",
-        "reload_retry": "- (bei persistierendem Fehler, bitte Browserfenster neuladen)",
+        "reload_retry": "- (bei persistierendem Fehler, bitte Browserfenster neu laden)",
         "scan_qr_code": "Bitte scannen Sie jetzt den angezeigten QR-Code:",
         "select": "Bitte auswählen",
         "set_tfa": "Konfiguriere Zwei-Faktor-Authentifizierungsmethode",
         "start_u2f_validation": "Starte Validierung",
         "tfa": "Zwei-Faktor-Authentifizierung",
-        "totp": "Time-based OTP (Google Authenticator etc.)",
+        "tfa_token_invalid": "TFA-Token ungültig!",
+        "totp": "Time-based-OTP (Google Authenticator etc.)",
         "u2f": "U2F-Authentifizierung",
         "waiting_usb_auth": "<i>Warte auf USB-Gerät...</i><br><br>Bitte jetzt den vorgesehenen Taster des USB-Gerätes berühren.",
         "waiting_usb_register": "<i>Warte auf USB-Gerät...</i><br><br>Bitte zuerst das obere Passwortfeld ausfüllen und erst dann den vorgesehenen Taster des USB-Gerätes berühren.",
         "yubi_otp": "Yubico OTP-Authentifizierung"
     },
-    "fido2": {
-        "set_fn": "Benutzerfreundlichen Namen konfigurieren",
-        "fn": "Benutzerfreundlicher Name",
-        "rename": "umbenennen",
-        "confirm": "Bestätigen",
-        "register_status": "Registrierungsstatus",
-        "known_ids": "Bekannte IDs",
-        "none": "Deaktiviert",
-        "set_fido2": "Registriere FIDO2 Gerät",
-        "start_fido2_validation": "Starte FIDO2 Validierung",
-        "fido2_auth": "Anmeldung über FIDO2",
-        "fido2_success": "Das Gerät wurde erfolgreich registriert",
-        "fido2_validation_failed": "Validierung fehlgeschlagen"
-    },
     "user": {
         "action": "Aktion",
         "active": "Aktiv",
@@ -949,27 +1022,32 @@
         "app_name": "App-Name",
         "app_passwds": "App-Passwörter",
         "apple_connection_profile": "Apple-Verbindungsprofil",
-        "apple_connection_profile_complete": "Dieses Verbindungsprofil beinhaltet neben IMAP- und SMTP-Konfigurationen auch Pfade für die Konfiguration von CalDAV (Kalender) und CardDAV (Adressbücher) für ein Apple Gerät.",
+        "apple_connection_profile_complete": "Dieses Verbindungsprofil beinhaltet neben IMAP- und SMTP-Konfigurationen auch Pfade für die Konfiguration von CalDAV (Kalender) und CardDAV (Adressbücher) für ein Apple-Gerät.",
         "apple_connection_profile_mailonly": "Dieses Verbindungsprofil beinhaltet IMAP- und SMTP-Konfigurationen für ein Apple-Gerät.",
         "change_password": "Passwort ändern",
+        "clear_recent_successful_connections": "Alle erfolgreichen Verbindungen bereinigen",
         "client_configuration": "Konfigurationsanleitungen für E-Mail-Programme und Smartphones anzeigen",
         "create_app_passwd": "Erstelle App-Passwort",
         "create_syncjob": "Neuen Sync-Job erstellen",
+        "created_on": "Erstellt am",
         "daily": "Täglich",
         "day": "Tag",
         "delete_ays": "Soll der Löschvorgang wirklich ausgeführt werden?",
         "direct_aliases": "Direkte Alias-Adressen",
         "direct_aliases_desc": "Nur direkte Alias-Adressen werden für benutzerdefinierte Einstellungen berücksichtigt.",
-        "eas_reset": "ActiveSync Geräte-Cache zurücksetzen",
-        "eas_reset_help": "In vielen Fällen kann ein ActiveSync Profil durch das Zurücksetzen des Caches repariert werden.<br><b>Vorsicht:</b> Alle Elemente werden erneut heruntergeladen!",
+        "eas_reset": "ActiveSync-Geräte-Cache zurücksetzen",
+        "eas_reset_help": "In vielen Fällen kann ein ActiveSync-Profil durch das Zurücksetzen des Caches repariert werden.<br><b>Vorsicht:</b> Alle Elemente werden erneut heruntergeladen!",
         "eas_reset_now": "Jetzt zurücksetzen",
         "edit": "Bearbeiten",
         "email": "E-Mail",
         "email_and_dav": "E-Mail, Kalender und Adressbücher",
+        "empty": "Keine Einträge vorhanden",
         "encryption": "Verschlüsselung",
         "excludes": "Ausschlüsse",
         "expire_in": "Ungültig in",
-        "force_pw_update": "Das Passwort für diesen Benutzer <b>muss</b> geändert werden, damit die Zugriffssperre auf die Groupwarekomponenten wieder freigeschaltet wird.",
+        "fido2_webauthn": "FIDO2/WebAuthn",
+        "force_pw_update": "Das Passwort für diesen Benutzer <b>muss</b> geändert werden, damit die Zugriffssperre auf die Groupware-Komponenten wieder freigeschaltet wird.",
+        "from": "von",
         "generate": "generieren",
         "hour": "Stunde",
         "hourly": "Stündlich",
@@ -978,17 +1056,25 @@
         "interval": "Intervall",
         "is_catch_all": "Ist Catch-All-Adresse für Domain(s)",
         "last_mail_login": "Letzter Mail-Login",
+        "last_pw_change": "Letzte Passwortänderung",
         "last_run": "Letzte Ausführung",
+        "last_ui_login": "Letzte UI Anmeldung",
         "loading": "Lade...",
-        "mailbox_details": "Mailbox-Details",
+        "login_history": "Login-Historie",
+        "mailbox": "Mailbox",
+        "mailbox_details": "Details",
+        "mailbox_general": "Allgemein",
+        "mailbox_settings": "Einstellungen",
         "messages": "Nachrichten",
+        "month": "Monat",
+        "months": "Monate",
         "never": "Niemals",
         "new_password": "Neues Passwort",
-        "new_password_description": "Mindestanforderung: 6 Zeichen lang, Buchstaben und Zahlen.",
         "new_password_repeat": "Neues Passwort (Wiederholung)",
         "no_active_filter": "Kein aktiver Filter vorhanden",
         "no_last_login": "Keine letzte UI-Anmeldung gespeichert",
         "no_record": "Kein Eintrag",
+        "open_webmail_sso": "In Webmail einloggen",
         "password": "Passwort",
         "password_now": "Aktuelles Passwort (Änderungen bestätigen)",
         "password_repeat": "Passwort (Wiederholung)",
@@ -1004,10 +1090,11 @@
         "q_add_header": "Junk-Ordner",
         "q_all": "Alle Kategorien",
         "q_reject": "Abgelehnt",
-        "quarantine_notification": "Quarantäne-Benachrichtigung",
         "quarantine_category": "Quarantäne-Benachrichtigungskategorie",
-        "quarantine_notification_info": "Wurde über eine E-Mail in Quarantäne informiert, wird sie als \"benachrichtigt\" markiert und keine weitere Benachrichtigung zu dieser E-Mail versendet.",
         "quarantine_category_info": "Die Kategorie \"Abgelehnt\" informiert über abgelehnte E-Mails, während \"Junk-Ordner\" über E-Mails berichtet, die im Junk-Ordner des jeweiligen Benutzers abgelegt wurden.",
+        "quarantine_notification": "Quarantäne-Benachrichtigung",
+        "quarantine_notification_info": "Wurde über eine E-Mail in Quarantäne informiert, wird sie als \"benachrichtigt\" markiert und keine weitere Benachrichtigung zu dieser E-Mail versendet.",
+        "recent_successful_connections": "Kürzlich erfolgreiche Verbindungen",
         "remove": "Entfernen",
         "running": "Wird ausgeführt",
         "save": "Änderungen speichern",
@@ -1016,10 +1103,10 @@
         "shared_aliases": "Geteilte Alias-Adressen",
         "shared_aliases_desc": "Geteilte Alias-Adressen werden nicht bei benutzerdefinierten Einstellungen, wie die des Spam-Filters oder der Verschlüsselungsrichtlinie, berücksichtigt. Entsprechende Spam-Filter können lediglich von einem Administrator vorgenommen werden.",
         "show_sieve_filters": "Zeige aktiven Filter des Benutzers",
-        "sogo_profile_reset": "SOGo Profil zurücksetzen",
+        "sogo_profile_reset": "SOGo-Profil zurücksetzen",
         "sogo_profile_reset_help": "Das Profil wird inklusive <b>aller</b> Kalender- und Kontaktdaten <b>unwiederbringlich gelöscht</b>.",
         "sogo_profile_reset_now": "Profil jetzt zurücksetzen",
-        "spam_aliases": "Temporäre E-Mail Aliasse",
+        "spam_aliases": "Temporäre E-Mail-Aliasse",
         "spam_score_reset": "Auf Server-Standard zurücksetzen",
         "spamfilter": "Spamfilter",
         "spamfilter_behavior": "Bewertung",
@@ -1058,17 +1145,20 @@
         "waiting": "Warte auf Ausführung",
         "week": "Woche",
         "weekly": "Wöchentlich",
-        "weeks": "Wochen"
+        "weeks": "Wochen",
+        "year": "Jahr",
+        "years": "Jahren"
     },
     "warning": {
         "cannot_delete_self": "Kann derzeit eingeloggten Benutzer nicht entfernen",
         "domain_added_sogo_failed": "Domain wurde hinzugefügt, aber SOGo konnte nicht neugestartet werden",
         "dovecot_restart_failed": "Dovecot wurde nicht erfolgreich neu gestartet, bitte prüfen Sie die Logs.",
-        "fuzzy_learn_error": "Fuzzy Lernfehler: %s",
+        "fuzzy_learn_error": "Fuzzy-Lernfehler: %s",
         "hash_not_found": "Hash nicht gefunden. Möglicherweise wurde dieser bereits gelöscht.",
         "ip_invalid": "Ungültige IP übersprungen: %s",
+        "is_not_primary_alias": "Überspringe nicht-primären Alias %s",
         "no_active_admin": "Kann letzten aktiven Administrator nicht deaktivieren",
-        "quota_exceeded_scope": "Domain-Quota erschöpft: Es können nur noch unlimiterte Mailboxen in dieser Domain erstellt werden.",
+        "quota_exceeded_scope": "Domain-Quota erschöpft: Es können nur noch unlimitierte Mailboxen in dieser Domain erstellt werden.",
         "session_token": "Formular-Token ungültig: Token stimmt nicht überein",
         "session_ua": "Formular-Token ungültig: User-Agent-Validierungsfehler"
     }
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.en.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.en.json
index ceee60e..d5494e5 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.en.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.en.json
@@ -4,17 +4,20 @@
         "app_passwds": "Manage app passwords",
         "bcc_maps": "BCC maps",
         "delimiter_action": "Delimiter action",
+        "domain_desc": "Change domain description",
+        "domain_relayhost": "Change relayhost for a domain",
         "eas_reset": "Reset EAS devices",
         "extend_sender_acl": "Allow to extend sender ACL by external addresses",
         "filters": "Filters",
         "login_as": "Login as mailbox user",
+        "mailbox_relayhost": "Change relayhost for a mailbox",
         "prohibited": "Prohibited by ACL",
         "protocol_access": "Change protocol access",
         "pushover": "Pushover",
         "quarantine": "Quarantine actions",
         "quarantine_attachments": "Quarantine attachments",
-        "quarantine_notification": "Change quarantine notifications",
         "quarantine_category": "Change quarantine notification category",
+        "quarantine_notification": "Change quarantine notifications",
         "ratelimit": "Rate limit",
         "recipient_maps": "Recipient maps",
         "smtp_ip_access": "Change allowed hosts for SMTP",
@@ -26,7 +29,10 @@
         "syncjobs": "Sync jobs",
         "tls_policy": "TLS policy",
         "unlimited_quota": "Unlimited quota for mailboxes",
-        "domain_desc": "Change domain description"
+        "xmpp_admin": "Promote XMPP user to administrator",
+        "xmpp_domain_access": "Configure XMPP domain access",
+        "xmpp_mailbox_access": "Configure XMPP user access",
+        "xmpp_prefix": "Change XMPP subdomain (prefix)"
     },
     "add": {
         "activate_filter_warn": "All other filters will be deactivated, when active is checked.",
@@ -42,7 +48,8 @@
         "app_password": "Add app password",
         "automap": "Try to automap folders (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
         "backup_mx_options": "Relay options",
-        "comment_info": "A private comment is not visible to the user, while a public comment is shown as tooltip when hovering it in a users overview",
+        "bcc_dest_format": "BCC destination must be a single valid email address.<br> If you need to send a copy to multiple addresses, create an Alias and use it here.",
+        "comment_info": "A private comment is not visible to the user, while a public comment is shown as tooltip when hovering it in a user's overview",
         "custom_params": "Custom parameters",
         "custom_params_hint": "Right: --param=xy, wrong: --param xy",
         "delete1": "Delete from source when completed",
@@ -102,7 +109,13 @@
         "timeout2": "Timeout for connection to local host",
         "username": "Username",
         "validate": "Validate",
-        "validation_success": "Validated successfully"
+        "validation_success": "Validated successfully",
+        "xmpp": "Activate XMPP for this domain",
+        "xmpp_access": "XMPP access",
+        "xmpp_access_info": "XMPP must be enabled for this domain.",
+        "xmpp_admin": "XMPP administrator",
+        "xmpp_admin_info": "<b>Danger:</b> Promotes a user to an XMPP administrator of this domain.",
+        "xmpp_info": "This function will enable chat functionality for this domain."
     },
     "admin": {
         "access": "Access",
@@ -125,10 +138,14 @@
         "admin": "Administrator",
         "admin_details": "Edit administrator details",
         "admin_domains": "Domain assignments",
+        "admins": "Administrators",
+        "admins_ldap": "LDAP Administrators",
         "advanced_settings": "Advanced settings",
         "api_allow_from": "Allow API access from these IPs/CIDR network notations",
         "api_info": "The API is a work in progress. The documentation can be found at <a href=\"/api\">/api</a>",
         "api_key": "API key",
+        "api_read_only": "Read-Only Access",
+        "api_read_write": "Read-Write Access",
         "api_skip_ip_check": "Skip IP check for API",
         "app_links": "App links",
         "app_name": "App name",
@@ -140,7 +157,7 @@
         "change_logo": "Change logo",
         "configuration": "Configuration",
         "convert_html_to_text": "Convert HTML to plain text",
-        "credentials_transport_warning": "<b>Warning</b>: Adding a new transport map entry will update the credentials for all entries with a matching nexthop column.",
+        "credentials_transport_warning": "<b>Warning</b>: Adding a new transport map entry will update the credentials for all entries with a matching next hop column.",
         "customer_id": "Customer ID",
         "customize": "Customize",
         "delete_queue": "Delete all",
@@ -199,12 +216,14 @@
         "include_exclude": "Include/Exclude",
         "include_exclude_info": "By default - with no selection - <b>all mailboxes</b> are addressed",
         "includes": "Include these recipients",
+        "is_mx_based": "MX based",
         "last_applied": "Last applied",
         "license_info": "A license is not required but helps further development.<br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"SAL order\">Register your GUID here</a> or <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Support order\">buy support for your mailcow installation.</a>",
         "link": "Link",
         "loading": "Please wait...",
+        "login_time": "Login time",
         "logo_info": "Your image will be scaled to a height of 40px for the top navigation bar and a max. width of 250px for the start page. A scalable graphic is highly recommended.",
-        "lookup_mx": "Match destination against MX (.outlook.com to route all mail targeted to a MX *.outlook.com over this hop)",
+        "lookup_mx": "Destination is a regular expression to match against MX name (<code>.*google\\.com</code> to route all mail targeted to a MX ending in google.com over this hop)",
         "main_name": "\"mailcow UI\" name",
         "merged_vars_hint": "Greyed out rows were merged from <code>vars.(local.)inc.php</code> and cannot be modified.",
         "message": "Message",
@@ -214,14 +233,23 @@
         "no_active_bans": "No active bans",
         "no_new_rows": "No further rows available",
         "no_record": "No record",
+        "oauth2_apps": "OAuth2 Apps",
+        "oauth2_add_client": "Add OAuth2 client",
         "oauth2_client_id": "Client ID",
         "oauth2_client_secret": "Client secret",
-        "oauth2_info": "The OAuth2 implementation supports the grant type \"Authorization Code\" and issues refresh tokens.<br>\r\nThe server also automatically issues new refresh tokens, after a refresh token has been used.<br><br>\r\n→ The default scope is <i>profile</i>. Only mailbox users can be authenticated against OAuth2. If the scope parameter is omitted, it falls back to <i>profile</i>.<br>\r\n→ The <i>state</i> parameter is required to be sent by the client as part of the authorize request.<br><br>\r\nPaths for requests to the OAuth2 API: <br>\r\n<ul>\r\n  <li>Authorization endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nRegenerating the client secret will not expire existing authorization codes, but they will fail to renew their token.<br><br>\r\nRevoking client tokens will cause immediate termination of all active sessions. All clients need to re-authenticate.",
+        "oauth2_info": "The OAuth2 implementation supports the grant type \"Authorization Code\" and issues refresh tokens.<br>\r\nThe server also automatically issues new refresh tokens, after a refresh token has been used.<br><br>\r\n&#8226; The default scope is <i>profile</i>. Only mailbox users can be authenticated against OAuth2. If the scope parameter is omitted, it falls back to <i>profile</i>.<br>\r\n&#8226; The <i>state</i> parameter is required to be sent by the client as part of the authorize request.<br><br>\r\nPaths for requests to the OAuth2 API: <br>\r\n<ul>\r\n  <li>Authorization endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nRegenerating the client secret will not expire existing authorization codes, but they will fail to renew their token.<br><br>\r\nRevoking client tokens will cause immediate termination of all active sessions. All clients need to re-authenticate.",
         "oauth2_redirect_uri": "Redirect URI",
         "oauth2_renew_secret": "Generate new client secret",
         "oauth2_revoke_tokens": "Revoke all client tokens",
         "optional": "optional",
         "password": "Password",
+        "password_length": "Password length",
+        "password_policy": "Password policy",
+        "password_policy_chars": "Must contain at least one alphabetic character",
+        "password_policy_length": "Minimum password length is %d",
+        "password_policy_lowerupper": "Must contain lowercase and uppercase characters",
+        "password_policy_numbers": "Must contain at least one number",
+        "password_policy_special_chars": "Must contain special characters",
         "password_repeat": "Confirmation password (repeat)",
         "priority": "Priority",
         "private_key": "Private key",
@@ -229,8 +257,8 @@
         "quarantine_bcc": "Send a copy of all notifications (BCC) to this recipient:<br><small>Leave empty to disable. <b>Unsigned, unchecked mail. Should be delivered internally only.</b></small>",
         "quarantine_exclude_domains": "Exclude domains and alias-domains",
         "quarantine_max_age": "Maximum age in days<br><small>Value must be equal to or greater than 1 day.</small>",
-        "quarantine_max_size": "Maximum size in MiB (larger elements are discarded):<br><small>0 does <b>not</b> indicate unlimited.</small>",
         "quarantine_max_score": "Discard notification if spam score of a mail is higher than this value:<br><small>Defaults to 9999.0</small>",
+        "quarantine_max_size": "Maximum size in MiB (larger elements are discarded):<br><small>0 does <b>not</b> indicate unlimited.</small>",
         "quarantine_notification_html": "Notification email template:<br><small>Leave empty to restore default template.</small>",
         "quarantine_notification_sender": "Notification email sender",
         "quarantine_notification_subject": "Notification email subject",
@@ -243,14 +271,14 @@
         "queue_deliver_mail": "Deliver",
         "queue_hold_mail": "Hold",
         "queue_manager": "Queue manager",
+        "queue_show_message": "Show message",
         "queue_unban": "queue unban",
         "queue_unhold_mail": "Unhold",
-        "queue_show_message": "Show message",
         "quota_notification_html": "Notification email template:<br><small>Leave empty to restore default template.</small>",
         "quota_notification_sender": "Notification email sender",
         "quota_notification_subject": "Notification email subject",
         "quota_notifications": "Quota notifications",
-        "quota_notifications_info": "Quota notications are sent to users once when crossing 80% and once when crossing 95% usage.",
+        "quota_notifications_info": "Quota notifications are sent to users once when crossing 80% and once when crossing 95% usage.",
         "quota_notifications_vars": "{{percent}} equals the current quota of the user<br>{{username}} is the mailbox name",
         "r_active": "Active restrictions",
         "r_inactive": "Inactive restrictions",
@@ -261,6 +289,7 @@
         "regen_api_key": "Regenerate API key",
         "regex_maps": "Regex maps",
         "relay_from": "\"From:\" address",
+        "relay_rcpt": "\"To:\" address",
         "relay_run": "Run test",
         "relayhosts": "Sender-dependent transports",
         "relayhosts_hint": "Define sender-dependent transports to be able to select them in a domains configuration dialog.<br>\r\n  The transport service is always \"smtp:\" and will therefore try TLS when offered. Wrapped TLS (SMTPS) is not supported. A users individual outbound TLS policy setting is taken into account.<br>\r\n  Affects selected domains including alias domains.",
@@ -278,6 +307,7 @@
         "rsettings_preset_1": "Disable all but DKIM and rate limit for authenticated users",
         "rsettings_preset_2": "Postmasters want spam",
         "rsettings_preset_3": "Only allow specific senders for a mailbox (i.e. usage as internal mailbox only)",
+        "rsettings_preset_4": "Disable Rspamd for a domain",
         "rspamd-com_settings": "A setting name will be auto-generated, please see the example presets below. For more details see <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd docs</a>",
         "rspamd_global_filters": "Global filter maps",
         "rspamd_global_filters_agree": "I will be careful!",
@@ -289,19 +319,22 @@
         "search_domain_da": "Search domains",
         "send": "Send",
         "sender": "Sender",
+        "service": "Service",
         "service_id": "Service ID",
         "source": "Source",
         "spamfilter": "Spam filter",
         "subject": "Subject",
+        "success": "Success",
         "sys_mails": "System mails",
         "text": "Text",
         "time": "Time",
         "title": "Title",
         "title_name": "\"mailcow UI\" website title",
         "to_top": "Back to top",
-        "transport_dest_format": "Syntax: example.org, .example.org, *, box@example.org (multiple values can be comma-separated)",
+        "transport_dest_format": "Regex or syntax: example.org, .example.org, *, box@example.org (multiple values can be comma-separated)",
         "transport_maps": "Transport Maps",
-        "transports_hint": "→ A transport map entry <b>overrules</b> a sender-dependent transport map</b>.<br>\r\n→ Outbound TLS policy settings per-user are ignored and can only be enforced by TLS policy map entries.<br>\r\n→ The transport service for defined transports is always \"smtp:\" and will therefore try TLS when offered. Wrapped TLS (SMTPS) is not supported.<br>\r\n→ Addresses matching \"/localhost$/\" will always be transported via \"local:\", therefore a \"*\" destination will not apply to those addresses.<br>\r\n→ To determine credentials for an exemplary next hop \"[host]:25\", Postfix <b>always</b> queries for \"host\" before searching for \"[host]:25\". This behavior makes it impossible to use \"host\" and \"[host]:25\" at the same time.",
+        "transport_test_rcpt_info": "&#8226; Use null@hosted.mailcow.de to test relaying to a foreign destination.",
+        "transports_hint": "&#8226; A transport map entry <b>overrules</b> a sender-dependent transport map</b>.<br>\r\n&#8226; MX-based transports are preferably used.<br>\r\n&#8226; Outbound TLS policy settings per-user are ignored and can only be enforced by TLS policy map entries.<br>\r\n&#8226; The transport service for defined transports is always \"smtp:\" and will therefore try TLS when offered. Wrapped TLS (SMTPS) is not supported.<br>\r\n&#8226; Addresses matching \"/localhost$/\" will always be transported via \"local:\", therefore a \"*\" destination will not apply to those addresses.<br>\r\n&#8226; To determine credentials for an exemplary next hop \"[host]:25\", Postfix <b>always</b> queries for \"host\" before searching for \"[host]:25\". This behavior makes it impossible to use \"host\" and \"[host]:25\" at the same time.",
         "ui_footer": "Footer (HTML allowed)",
         "ui_header_announcement": "Announcements",
         "ui_header_announcement_active": "Set announcement active",
@@ -309,9 +342,9 @@
         "ui_header_announcement_help": "The announcement is visible for all logged in users and on the login screen of the UI.",
         "ui_header_announcement_select": "Select announcement type",
         "ui_header_announcement_type": "Type",
+        "ui_header_announcement_type_danger": "Very important",
         "ui_header_announcement_type_info": "Info",
         "ui_header_announcement_type_warning": "Important",
-        "ui_header_announcement_type_danger": "Very important",
         "ui_texts": "UI labels and texts",
         "unban_pending": "unban pending",
         "unchanged_if_empty": "If unchanged leave blank",
@@ -347,6 +380,7 @@
         "domain_quota_m_in_use": "Domain quota must be greater or equal to %s MiB",
         "extra_acl_invalid": "External sender address \"%s\" is invalid",
         "extra_acl_invalid_domain": "External sender \"%s\" uses an invalid domain",
+        "fido2_verification_failed": "FIDO2 verification failed: %s",
         "file_open_error": "File cannot be opened for writing",
         "filter_type": "Wrong filter type",
         "from_invalid": "Sender must not be empty",
@@ -390,6 +424,7 @@
         "network_host_invalid": "Invalid network or host: %s",
         "next_hop_interferes": "%s interferes with nexthop %s",
         "next_hop_interferes_any": "An existing next hop interferes with %s",
+        "nginx_reload_failed": "Nginx reload failed: %s",
         "no_user_defined": "No user defined",
         "object_exists": "Object %s already exists",
         "object_is_not_numeric": "Value %s is not numeric",
@@ -430,49 +465,61 @@
         "totp_verification_failed": "TOTP verification failed",
         "transport_dest_exists": "Transport destination \"%s\" exists",
         "u2f_verification_failed": "U2F verification failed: %s",
-        "fido2_verification_failed": "FIDO2 verification failed: %s",
         "unknown": "An unknown error occurred",
         "unknown_tfa_method": "Unknown TFA method",
         "unlimited_quota_acl": "Unlimited quota prohibited by ACL",
         "username_invalid": "Username %s cannot be used",
         "validity_missing": "Please assign a period of validity",
         "value_missing": "Please provide all values",
+        "xmpp_map_write_error": "Could not write XMPP map: %s",
+        "xmpp_reload_failed": "XMPP could not be reloaded",
+        "xmpp_restart_failed": "XMPP could not be restarted",
         "yotp_verification_failed": "Yubico OTP verification failed: %s"
     },
     "debug": {
         "chart_this_server": "Chart (this server)",
         "containers_info": "Container information",
         "disk_usage": "Disk usage",
+        "docs": "Docs",
         "external_logs": "External logs",
         "history_all_servers": "History (all servers)",
         "in_memory_logs": "In-memory logs",
         "jvm_memory_solr": "JVM memory usage",
+        "last_modified": "Last modified",
         "log_info": "<p>mailcow <b>in-memory logs</b> are collected in Redis lists and trimmed to LOG_LINES (%d) every minute to reduce hammering.\r\n  <br>In-memory logs are not meant to be persistent. All applications that log in-memory, also log to the Docker daemon and therefore to the default logging driver.\r\n  <br>The in-memory log type should be used for debugging minor issues with containers.</p>\r\n  <p><b>External logs</b> are collected via API of the given application.</p>\r\n  <p><b>Static logs</b> are mostly activity logs, that are not logged to the Dockerd but still need to be persistent (except for API logs).</p>",
+        "login_time": "Time",
         "logs": "Logs",
+        "online_users": "Users online",
         "restart_container": "Restart",
+        "service": "Service",
+        "size": "Size",
         "solr_dead": "Solr is starting, disabled or died.",
-        "solr_docs": "Docs",
-        "solr_last_modified": "Last modified",
-        "solr_size": "Size",
-        "solr_started_at": "Started at",
         "solr_status": "Solr status",
-        "solr_uptime": "Uptime",
+        "started_at": "Started at",
         "started_on": "Started on",
         "static_logs": "Static logs",
-        "system_containers": "System & Containers"
+        "success": "Success",
+        "system_containers": "System & Containers",
+        "uptime": "Uptime",
+        "username": "Username",
+        "xmpp_dead": "XMPP is starting, disabled or died.",
+        "xmpp_status": "XMPP status"
     },
     "diagnostics": {
         "cname_from_a": "Value derived from A/AAAA record. This is supported as long as the record points to the correct resource.",
         "dns_records": "DNS Records",
         "dns_records_24hours": "Please note that changes made to DNS may take up to 24 hours to correctly have their current state reflected on this page. It is intended as a way for you to easily see how to configure your DNS records and to check whether all your records are correctly stored in DNS.",
         "dns_records_data": "Correct Data",
+        "dns_records_docs": "Please also consult <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">the documentation</a>.",
         "dns_records_name": "Name",
         "dns_records_status": "Current State",
         "dns_records_type": "Type",
         "optional": "This record is optional."
     },
     "edit": {
+        "acl": "ACL (Permission)",
         "active": "Active",
+        "admin": "Edit administrator",
         "advanced_settings": "Advanced settings",
         "alias": "Edit alias",
         "allow_from_smtp": "Only allow these IPs to use <b>SMTP</b>",
@@ -482,10 +529,10 @@
         "app_passwd": "App password",
         "automap": "Try to automap folders (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
         "backup_mx_options": "Relay options",
-        "bcc_dest_format": "BCC destination must be a single valid email address.",
+        "bcc_dest_format": "BCC destination must be a single valid email address.<br> If you need to send a copy to multiple addresses, create an Alias and use it here.",
         "client_id": "Client ID",
         "client_secret": "Client secret",
-        "comment_info": "A private comment is not visible to the user, while a public comment is shown as tooltip when hovering it in a users overview",
+        "comment_info": "A private comment is not visible to the user, while a public comment is shown as tooltip when hovering it in a user's overview",
         "delete1": "Delete from source when completed",
         "delete2": "Delete messages on destination that are not on source",
         "delete2duplicates": "Delete duplicates on destination",
@@ -512,8 +559,10 @@
         "hostname": "Hostname",
         "inactive": "Inactive",
         "kind": "Kind",
+        "lookup_mx": "Destination is a regular expression to match against MX name (<code>.*google\\.com</code> to route all mail targeted to a MX ending in google.com over this hop)",
         "mailbox": "Edit mailbox",
         "mailbox_quota_def": "Default mailbox quota",
+        "mailbox_relayhost_info": "Applied to the mailbox and direct aliases only, does override a domain relayhost.",
         "max_aliases": "Max. aliases",
         "max_mailboxes": "Max. possible mailboxes",
         "max_quota": "Max. quota per mailbox (MiB)",
@@ -522,12 +571,14 @@
         "mbox_rl_info": "This rate limit is applied on the SASL login name, it matches any \"from\" address used by the logged-in user. A mailbox rate limit overrides a domain-wide rate limit.",
         "mins_interval": "Interval (min)",
         "multiple_bookings": "Multiple bookings",
+        "none_inherit": "None / Inherit",
         "nexthop": "Next hop",
         "password": "Password",
         "password_repeat": "Confirmation password (repeat)",
         "previous": "Previous page",
         "private_comment": "Private comment",
         "public_comment": "Public comment",
+        "pushover": "Pushover",
         "pushover_evaluate_x_prio": "Escalate high priority mail [<code>X-Priority: 1</code>]",
         "pushover_info": "Push notification settings will apply to all clean (non-spam) mail delivered to <b>%s</b> including aliases (shared, non-shared, tagged).",
         "pushover_only_x_prio": "Only consider high priority mail [<code>X-Priority: 1</code>]",
@@ -538,6 +589,9 @@
         "pushover_vars": "When no sender filter is defined, all mails will be considered.<br>Regex filters as well as exact sender checks can be defined individually and will be considered sequentially. They do not depend on each other.<br>Useable variables for text and title (please take note of data protection policies)",
         "pushover_verify": "Verify credentials",
         "quota_mb": "Quota (MiB)",
+        "quota_warning_bcc": "Quota warning BCC",
+        "quota_warning_bcc_info": "Warnings will be sent as separate copies to the following recipients. The subject will be suffixed by the corresponding username in brackets, for example: <code>Quota warning (user@example.com)</code>.",
+        "ratelimit": "Rate limit",
         "redirect_uri": "Redirect/Callback URL",
         "relay_all": "Relay all recipients",
         "relay_all_info": "↪ If you choose <b>not</b> to relay all recipients, you will need to add a (\"blind\") mailbox for every single recipient that should be relayed.",
@@ -550,16 +604,17 @@
         "save": "Save changes",
         "scope": "Scope",
         "sender_acl": "Allow to send as",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Sender check is disabled</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Sender check is disabled</span>",
         "sender_acl_info": "If mailbox user A is allowed to send as mailbox user B, the sender address is not automatically displayed as selectable \"from\" field in SOGo.<br>\r\n  Mailbox user B needs to create a delegation in SOGo to allow mailbox user A to select their address as sender. To delegate a mailbox in SOGo, use the menu (three dots) to the right of your mailbox name in the upper left while in mail view. This behaviour does not apply to alias addresses.",
         "sieve_desc": "Short description",
         "sieve_type": "Filter type",
         "skipcrossduplicates": "Skip duplicate messages across folders (first come, first serve)",
         "sogo_access": "Grant access to SOGo",
-        "sogo_access_info": "Grant or permit access to SOGo. This setting does neither affect access to all other services nor does it delete or change a users existing SOGo profile.",
+        "sogo_access_info": "Grant or permit access to SOGo. This setting does neither affect access to all other services nor does it delete or change a user's existing SOGo profile.",
         "sogo_visible": "Alias is visible in SOGo",
         "sogo_visible_info": "This option only affects objects, that can be displayed in SOGo (shared or non-shared alias addresses pointing to at least one local mailbox). If hidden, an alias will not appear as selectable sender in SOGo.",
         "spam_alias": "Create or change time limited alias addresses",
+        "spam_filter": "Spam filter",
         "spam_policy": "Add or remove items to white-/blacklist",
         "spam_score": "Set a custom spam score",
         "subfolder2": "Sync into subfolder on destination<br><small>(empty = do not use subfolder)</small>",
@@ -571,16 +626,41 @@
         "title": "Edit object",
         "unchanged_if_empty": "If unchanged leave blank",
         "username": "Username",
-        "validate_save": "Validate and save"
+        "validate_save": "Validate and save",
+        "xmpp": "Activate XMPP for this domain",
+        "xmpp_access": "XMPP access",
+        "xmpp_access_info": "XMPP must be enabled for this domain.",
+        "xmpp_admin": "XMPP administrator",
+        "xmpp_admin_info": "<b>Danger:</b> Promotes a user to an XMPP administrator of this domain.",
+        "xmpp_example_jid": "<b>Example JID</b> (login with mailbox password)",
+        "xmpp_info": "This function will enable chat functionality for this domain.",
+        "xmpp_prefix": "XMPP prefix for domain (\"im\" to use <b>im</b>.example.org)",
+        "xmpp_prefix_info": "To request certificates for XMPP, two CNAME DNS records should point from <b>im</b>.example.org as well as <b>*.im</b>.example.org to <b>%s</b>. Please also run the DNS check for this domain after enabling XMPP."
+    },
+    "fido2": {
+        "confirm": "Confirm",
+        "fido2_auth": "Login with FIDO2",
+        "fido2_success": "Device successfully registered",
+        "fido2_validation_failed": "Validation failed",
+        "fn": "Friendly name",
+        "known_ids": "Known IDs",
+        "none": "Disabled",
+        "register_status": "Registration status",
+        "rename": "Rename",
+        "set_fido2": "Register FIDO2 device",
+        "set_fn": "Set friendly name",
+        "start_fido2_validation": "Start FIDO2 validation"
     },
     "footer": {
         "cancel": "Cancel",
         "confirm_delete": "Confirm deletion",
         "delete_now": "Delete now",
         "delete_these_items": "Please confirm your changes to the following object id",
+        "hibp_check": "Check against haveibeenpwned.com",
         "hibp_nok": "Matched! This is a potentially dangerous password!",
         "hibp_ok": "No match found.",
         "loading": "Please wait...",
+        "nothing_selected": "Nothing selected",
         "restart_container": "Restart container",
         "restart_container_info": "<b>Important:</b> A graceful restart may take a while to complete, please wait for it to finish.",
         "restart_now": "Restart now",
@@ -617,6 +697,7 @@
         "active": "Active",
         "add": "Add",
         "add_alias": "Add alias",
+        "add_alias_expand": "Expand alias over alias domains",
         "add_bcc_entry": "Add BCC map",
         "add_domain": "Add domain",
         "add_domain_alias": "Add domain alias",
@@ -628,9 +709,10 @@
         "add_tls_policy_map": "Add TLS policy map",
         "address_rewriting": "Address rewriting",
         "alias": "Alias",
-        "alias_domain_alias_hint": "Aliases are <b>not</b> applied on domain aliases automatically. An alias address <code>my-alias@domain</code> <b>does not</b> cover the address <code>my-alias@alias-domain</code> (where \"alias-domain\" is an imaginary alias domain for \"domain\").<br>Please use a sieve filter to redirect mail to an external mailbox (see tab \"Filters\" or use  SOGo -> Forwarder).",
+        "alias_domain_alias_hint": "Aliases are <b>not</b> applied on domain aliases automatically. An alias address <code>my-alias@domain</code> <b>does not</b> cover the address <code>my-alias@alias-domain</code> (where \"alias-domain\" is an imaginary alias domain for \"domain\").<br>Please use a sieve filter to redirect mail to an external mailbox (see tab \"Filters\" or use  SOGo -> Forwarder). Use \"Expand alias over alias domains\" to automatically add missing aliases.",
         "alias_domain_backupmx": "Alias domain inactive for relay domain",
         "aliases": "Aliases",
+        "all_domains": "All Domains",
         "allow_from_smtp": "Only allow these IPs to use <b>SMTP</b>",
         "allow_from_smtp_info": "Leave empty to allow all senders.<br>IPv4/IPv6 addresses and networks.",
         "allowed_protocols": "Allowed protocols",
@@ -654,6 +736,7 @@
         "booking_custom_short": "Hard limit",
         "booking_lt0": "Unlimited, but show as busy when booked",
         "booking_lt0_short": "Soft limit",
+        "catch_all": "Catch-All",
         "daily": "Daily",
         "deactivate": "Deactivate",
         "description": "Description",
@@ -671,20 +754,23 @@
         "filter_table": "Filter table",
         "filters": "Filters",
         "fname": "Full name",
+        "goto_ham": "Learn as <b>ham</b>",
+        "goto_spam": "Learn as <b>spam</b>",
         "hourly": "Hourly",
         "in_use": "In use (%)",
         "inactive": "Inactive",
         "insert_preset": "Insert example preset \"%s\"",
         "kind": "Kind",
         "last_mail_login": "Last mail login",
+        "last_pw_change": "Last password change",
         "last_run": "Last run",
         "last_run_reset": "Schedule next",
         "mailbox": "Mailbox",
+        "mailbox_defaults": "Default settings",
+        "mailbox_defaults_info": "Define default settings for new mailboxes.",
         "mailbox_defquota": "Default mailbox size",
         "mailbox_quota": "Max. size of a mailbox",
         "mailboxes": "Mailboxes",
-        "mailbox_defaults": "Default settings",
-        "mailbox_defaults_info": "Define default settings for new mailboxes.",
         "mins_interval": "Interval (min)",
         "msg_num": "Message #",
         "multiple_bookings": "Multiple bookings",
@@ -692,15 +778,17 @@
         "no": "&#10005;",
         "no_record": "No record for object %s",
         "no_record_single": "No record",
+        "open_logs": "Open logs",
         "owner": "Owner",
         "private_comment": "Private comment",
         "public_comment": "Public comment",
-        "q_add_header": "Junk folder",
-        "q_all": "All categories",
-        "q_reject": "Rejected",
-        "quarantine_notification": "Quarantine notifications",
+        "q_add_header": "when moved to Junk folder",
+        "q_all": " when moved to Junk folder and on reject",
+        "q_reject": "on reject",
         "quarantine_category": "Quarantine notification category",
+        "quarantine_notification": "Quarantine notifications",
         "quick_actions": "Actions",
+        "recipient": "Recipient",
         "recipient_map": "Recipient map",
         "recipient_map_info": "Recipient maps are used to replace the destination address on a message before it is delivered.",
         "recipient_map_new": "New recipient",
@@ -711,9 +799,10 @@
         "remove": "Remove",
         "resources": "Resources",
         "running": "Running",
+        "sender": "Sender",
         "set_postfilter": "Mark as postfilter",
         "set_prefilter": "Mark as prefilter",
-        "sieve_info": "You can store multiple filters per user, but only one prefilter and one postfilter can be active at the same time.<br>\r\nEach filter will be processed in the described order. Neither a failed script nor an issued \"keep;\" will stop processing of further scripts. Changes to global sieve scripts will trigger a restart of Dovecot.<br><br>Global sieve prefilter → Prefilter → User scripts → Postfilter → Global sieve postfilter",
+        "sieve_info": "You can store multiple filters per user, but only one prefilter and one postfilter can be active at the same time.<br>\r\nEach filter will be processed in the described order. Neither a failed script nor an issued \"keep;\" will stop processing of further scripts. Changes to global sieve scripts will trigger a restart of Dovecot.<br><br>Global sieve prefilter &#8226; Prefilter &#8226; User scripts &#8226; Postfilter &#8226; Global sieve postfilter",
         "sieve_preset_1": "Discard mail with probable dangerous file types",
         "sieve_preset_2": "Always mark the e-mail of a specific sender as seen",
         "sieve_preset_3": "Discard silently, stop all further sieve processing",
@@ -723,7 +812,6 @@
         "sieve_preset_7": "Redirect and keep/drop",
         "sieve_preset_8": "Discard message sent to an alias address the sender is part of",
         "sieve_preset_header": "Please see the example presets below. For more details see <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
-        "sogo_allow_admin_hint": "Administrative SOGo logins are only available for mailboxes with an existing SOGo profile. A user must have been logged in to SOGo at least once.",
         "sogo_visible": "Alias is visible in SOGo",
         "sogo_visible_n": "Hide alias in SOGo",
         "sogo_visible_y": "Show alias in SOGo",
@@ -743,8 +831,8 @@
         "tls_map_parameters_info": "Empty or parameters, for example: protocols=!SSLv2 ciphers=medium exclude=3DES",
         "tls_map_policy": "Policy",
         "tls_policy_maps": "TLS policy maps",
-        "tls_policy_maps_info": "This policy map overrides outgoing TLS transport rules independently of a users TLS policy settings.<br>\r\n  Please check <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">the \"smtp_tls_policy_maps\" docs</a> for further information.",
         "tls_policy_maps_enforced_tls": "These policies will also override the behaviour for mailbox users that enforce outgoing TLS connections. If no policy exists below, these users will apply the default values specified as <code>smtp_tls_mandatory_protocols</code> and <code>smtp_tls_mandatory_ciphers</code>.",
+        "tls_policy_maps_info": "This policy map overrides outgoing TLS transport rules independently of a user's TLS policy settings.<br>\r\n  Please check <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">the \"smtp_tls_policy_maps\" docs</a> for further information.",
         "tls_policy_maps_long": "Outgoing TLS policy map overrides",
         "toggle_all": "Toggle all",
         "username": "Username",
@@ -786,6 +874,9 @@
         "qitem": "Quarantine item",
         "quarantine": "Quarantine",
         "quick_actions": "Actions",
+        "quick_delete_link": "Open quick delete link",
+        "quick_info_link": "Open info link",
+        "quick_release_link": "Open quick release link",
         "rcpt": "Recipient",
         "received": "Received",
         "recipients": "Recipients",
@@ -799,10 +890,7 @@
         "rspamd_result": "Rspamd result",
         "sender": "Sender (SMTP)",
         "sender_header": "Sender (\"From\" header)",
-        "type": "Type",
-        "quick_release_link": "Open quick release link",
-        "quick_delete_link": "Open quick delete link",
-        "quick_info_link": "Open info link",
+        "settings_info": "Maximum amount of elements to be quarantined: %s<br>Maximum email size: %s MiB",
         "show_item": "Show item",
         "spam": "Spam",
         "spam_score": "Score",
@@ -811,7 +899,15 @@
         "table_size_show_n": "Show %s items",
         "text_from_html_content": "Content (converted html)",
         "text_plain_content": "Content (text/plain)",
-        "toggle_all": "Toggle all"
+        "toggle_all": "Toggle all",
+        "type": "Type"
+    },
+    "ratelimit": {
+      "disabled": "Disabled",
+      "second": "msgs / second",
+      "minute": "msgs / minute",
+      "hour": "msgs / hour",
+      "day": "msgs / day"
     },
     "start": {
         "help": "Show/Hide help panel",
@@ -868,7 +964,9 @@
         "mailbox_added": "Mailbox %s has been added",
         "mailbox_modified": "Changes to mailbox %s have been saved",
         "mailbox_removed": "Mailbox %s has been removed",
+        "nginx_reloaded": "Nginx was reloaded",
         "object_modified": "Changes to object %s have been saved",
+        "password_policy_saved": "Password policy was saved successfully",
         "pushover_settings_edited": "Pushover settings successfully set, please verify credentials.",
         "qlearn_spam": "Message ID %s was learned as spam and deleted",
         "queue_command_success": "Queue command completed successfully",
@@ -890,10 +988,13 @@
         "tls_policy_map_entry_saved": "TLS policy map entry \"%s\" has been saved",
         "ui_texts": "Saved changes to UI texts",
         "upload_success": "File uploaded successfully",
+        "verified_fido2_login": "Verified FIDO2 login",
         "verified_totp_login": "Verified TOTP login",
         "verified_u2f_login": "Verified U2F login",
-        "verified_fido2_login": "Verified FIDO2 login",
-        "verified_yotp_login": "Verified Yubico OTP login"
+        "verified_yotp_login": "Verified Yubico OTP login",
+        "xmpp_maps_updated": "XMPP maps were updated",
+        "xmpp_reloaded": "XMPP service was reloaded",
+        "xmpp_restarted": "XMPP service was restarted"
     },
     "tfa": {
         "api_register": "%s uses the Yubico Cloud API. Please get an API key for your key <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">here</a>",
@@ -920,20 +1021,6 @@
         "waiting_usb_register": "<i>Waiting for USB device...</i><br><br>Please enter your password above and confirm your registration by tapping the button on your USB device.",
         "yubi_otp": "Yubico OTP authentication"
     },
-    "fido2": {
-        "set_fn": "Set friendly name",
-        "fn": "Friendly name",
-        "rename": "rename",
-        "confirm": "Confirm",
-        "register_status": "Registration status",
-        "known_ids": "Known IDs",
-        "none": "Disabled",
-        "set_fido2": "Register FIDO2 device",
-        "start_fido2_validation": "Start FIDO2 validation",
-        "fido2_auth": "Login with FIDO2",
-        "fido2_success": "Device successfully registered",
-        "fido2_validation_failed": "Validation failed"
-    },
     "user": {
         "action": "Action",
         "active": "Active",
@@ -956,9 +1043,11 @@
         "apple_connection_profile_complete": "This connection profile includes IMAP and SMTP parameters as well as CalDAV (calendars) and CardDAV (contacts) paths for an Apple device.",
         "apple_connection_profile_mailonly": "This connection profile includes IMAP and SMTP configuration parameters for an Apple device.",
         "change_password": "Change password",
+        "clear_recent_successful_connections": "Clear seen successful connections",
         "client_configuration": "Show configuration guides for email clients and smartphones",
         "create_app_passwd": "Create app password",
         "create_syncjob": "Create new sync job",
+        "created_on": "Created on",
         "daily": "Daily",
         "day": "day",
         "delete_ays": "Please confirm the deletion process.",
@@ -970,10 +1059,13 @@
         "edit": "Edit",
         "email": "Email",
         "email_and_dav": "Email, calendars and contacts",
+        "empty": "No results",
         "encryption": "Encryption",
         "excludes": "Excludes",
         "expire_in": "Expire in",
+        "fido2_webauthn": "FIDO2/WebAuthn",
         "force_pw_update": "You <b>must</b> set a new password to be able to access groupware related services.",
+        "from": "from",
         "generate": "generate",
         "hour": "hour",
         "hourly": "Hourly",
@@ -982,17 +1074,26 @@
         "interval": "Interval",
         "is_catch_all": "Catch-all for domain/s",
         "last_mail_login": "Last mail login",
+        "last_pw_change": "Last password change",
         "last_run": "Last run",
+        "last_ui_login": "Last UI login",
         "loading": "Loading...",
-        "mailbox_details": "Mailbox details",
+        "login_history": "Login history",
+        "mailbox": "Mailbox",
+        "mailbox_details": "Details",
+        "mailbox_general": "General",
+        "mailbox_settings": "Settings",
         "messages": "messages",
+        "month": "month",
+        "months": "months",
         "never": "Never",
         "new_password": "New password",
-        "new_password_description": "Requirement: 6 characters long, letters and numbers.",
         "new_password_repeat": "Confirmation password (repeat)",
         "no_active_filter": "No active filter available",
         "no_last_login": "No last UI login information",
         "no_record": "No record",
+        "open_logs": "Open logs",
+        "open_webmail_sso": "Login to webmail",
         "password": "Password",
         "password_now": "Current password (confirm changes)",
         "password_repeat": "Password (repeat)",
@@ -1008,10 +1109,11 @@
         "q_add_header": "Junk folder",
         "q_all": "All categories",
         "q_reject": "Rejected",
-        "quarantine_notification": "Quarantine notifications",
         "quarantine_category": "Quarantine notification category",
-        "quarantine_notification_info": "Once a notification has been sent, items will be marked as \"notified\" and no further notifications will be sent for this particular item.",
         "quarantine_category_info": "The notification category \"Rejected\" includes mail that was rejected, while \"Junk folder\" will notify a user about mails that were put into the junk folder.",
+        "quarantine_notification": "Quarantine notifications",
+        "quarantine_notification_info": "Once a notification has been sent, items will be marked as \"notified\" and no further notifications will be sent for this particular item.",
+        "recent_successful_connections": "Seen successful connections",
         "remove": "Remove",
         "running": "Running",
         "save": "Save changes",
@@ -1021,7 +1123,7 @@
         "shared_aliases_desc": "Shared aliases are not affected by user specific settings such as the spam filter or encryption policy. Corresponding spam filters can only be made by an administrator as a domain-wide policy.",
         "show_sieve_filters": "Show active user sieve filter",
         "sogo_profile_reset": "Reset SOGo profile",
-        "sogo_profile_reset_help": "This will destroy a users SOGo profile and <b>delete all contact and calendar data irretrievable</b>.",
+        "sogo_profile_reset_help": "This will destroy a user's SOGo profile and <b>delete all contact and calendar data irretrievable</b>.",
         "sogo_profile_reset_now": "Reset profile now",
         "spam_aliases": "Temporary email aliases",
         "spam_score_reset": "Reset to server default",
@@ -1062,7 +1164,9 @@
         "waiting": "Waiting",
         "week": "week",
         "weekly": "Weekly",
-        "weeks": "weeks"
+        "weeks": "weeks",
+        "year": "year",
+        "years": "years"
     },
     "warning": {
         "cannot_delete_self": "Cannot delete logged in user",
@@ -1071,6 +1175,7 @@
         "fuzzy_learn_error": "Fuzzy hash learn error: %s",
         "hash_not_found": "Hash not found or already deleted",
         "ip_invalid": "Skipped invalid IP: %s",
+        "is_not_primary_alias": "Skipped non-primary alias %s",
         "no_active_admin": "Cannot deactivate last active admin",
         "quota_exceeded_scope": "Domain quota exceeded: Only unlimited mailboxes can be created in this domain scope.",
         "session_token": "Form token invalid: Token mismatch",
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.es.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.es.json
index 4e78b6f..eac99a5 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.es.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.es.json
@@ -344,12 +344,12 @@
         "logs": "Logs",
         "restart_container": "Reiniciar",
         "solr_dead": "Solr está empezando, deshabilitado o caído.",
-        "solr_docs": "Docs",
-        "solr_last_modified": "Última modificación",
-        "solr_size": "Tamaño",
-        "solr_started_at": "Iniciado el",
+        "docs": "Docs",
+        "last_modified": "Última modificación",
+        "size": "Tamaño",
+        "started_at": "Iniciado el",
         "solr_status": "Solr status",
-        "solr_uptime": "Uptime",
+        "uptime": "Uptime",
         "static_logs": "Logs estáticos",
         "system_containers": "Sistema y Contenedores"
     },
@@ -772,4 +772,4 @@
         "fuzzy_learn_error": "Error aprendiendo hash: %s",
         "ip_invalid": "IP inválida omitida: %s"
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.fi.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.fi.json
index f762401..3410ccc 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.fi.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.fi.json
@@ -389,12 +389,12 @@
         "logs": "Logit tausta palveluista",
         "restart_container": "Uudelleen käynnistä",
         "solr_dead": "Solr käynnistyy, on poissa käytöstä tai kuoli.",
-        "solr_docs": "Docs",
-        "solr_last_modified": "Viimeksi muokattu",
-        "solr_size": "Koko",
-        "solr_started_at": "Käynnistetty",
+        "docs": "Docs",
+        "last_modified": "Viimeksi muokattu",
+        "size": "Koko",
+        "started_at": "Käynnistetty",
         "solr_status": "Solr-tila",
-        "solr_uptime": "Päällä",
+        "uptime": "Päällä",
         "started_on": "Aloitettiin",
         "static_logs": "Staattiset lokit",
         "system_containers": "Systeemi & Säiliöt"
@@ -468,7 +468,7 @@
         "save": "Tallenna muutokset",
         "scope": "Laajuus",
         "sender_acl": "Salli lähettää nimellä",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Lähettäjän tarkistus on poistettu käytöstä</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Lähettäjän tarkistus on poistettu käytöstä</span>",
         "sender_acl_info": "Jos postilaatikon käyttäjän A sallitaan lähettävän postilaatikon käyttäjäksi B, lähettäjän osoitetta ei näytetä automaattisesti valittavana \"alkaen\" -kentässä SOGossa.<br>\r\nSähkö postilaatikon käyttäjän A on luotava valtuutus SOGoon, jotta sähkö postilaatikon käyttäjä b voi valita osoitteen lähettäjäksi. Tämä käyttäytyminen ei koske alias-osoitteita",
         "sieve_desc": "Lyhyt kuvaus",
         "sieve_type": "Suodattimen tyyppi",
@@ -889,4 +889,4 @@
         "session_token": "Lomakkeen tunnus sanoma ei kelpaa: tunnus sanoman risti riita",
         "session_ua": "Lomakkeen tunnus sanoma ei kelpaa: käyttäjä agentin tarkistus virhe"
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.fr.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.fr.json
index 94f8657..07cd326 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.fr.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.fr.json
@@ -9,10 +9,12 @@
 		"filters": "Filtres",
 		"login_as": "S'identifier en tant qu'utilisateur",
 		"prohibited": "Interdit par les ACL",
+		"protocol_access": "Modifier le protocol d'acces",
 		"pushover": "Pushover",
 		"quarantine": "Actions de quarantaine",
 		"quarantine_attachments": "Pièces jointes en quarantaine",
 		"quarantine_notification": "Modifier la notification de quarantaine",
+		"quarantine_category": "Modifier la catégorie de la notification de quarantaine",
 		"ratelimit": "Limite d'envoi",
 		"recipient_maps": "Cartes destinataire",
 		"smtp_ip_access": "Changer les hôtes autorisés pour SMTP",
@@ -23,7 +25,12 @@
 		"spam_score": "Score SPAM",
 		"syncjobs": "Tâches de synchronisation",
 		"tls_policy": "Police TLS",
-		"unlimited_quota": "Quota illimité pour les boites de courriel"
+		"unlimited_quota": "Quota illimité pour les boites de courriel",
+		"domain_desc": "Modifier la description du domaine",
+		"xmpp_admin": "Promouvoir l'utilisateur XMPP en administrateur",
+		"xmpp_domain_access": "Configurer l'accès au domaine XMPP",
+		"xmpp_mailbox_access": "Configurer l'accès à l'utilisateur XMPP",
+		"xmpp_prefix": "Changer le sous-domaine XMPP (préfixe)"
 	},
 	"add": {
 		"activate_filter_warn": "Tous les autres filtres seront désactivés, quand activé est coché.",
@@ -31,7 +38,7 @@
 		"add": "Ajouter",
 		"add_domain_only": "Ajouter uniquement le domaine",
 		"add_domain_restart": "Ajouter le domaine et redémarrer SOGo",
-		"alias_address": "Alias d'adresse/s",
+		"alias_address": "Alias d'adresse(s)",
 		"alias_address_info": "<small>Adresse(s) courriel complète(s) ou @example.com, pour capturer tous les messages d'un domaine (séparées par des virgules). <b>Seulement des domaines Mailcow</b>.</small>",
 		"alias_domain": "Alias de domaine",
 		"alias_domain_info": "<small>Seulement des noms de domaines valides (séparés par des virgules).</small>",
@@ -56,6 +63,12 @@
 		"full_name": "Nom complet",
 		"gal": "Carnet d'Adresses Global (GAL)",
 		"gal_info": "La liste d'adresse globale (GAL) contient tous les objets d'un domaine et ne peut être modifié par aucun utilisateur. Si elles sont désactivées,les informations libres/occupées dans SOGo sont cachées, ! <b>Redémarrez SOGo pour appliquer les changements.</b>",
+		"xmpp": "Activer XMPP pour ce domaine",
+		"xmpp_info": "Cette fonction activera la fonctionnalité de chat pour ce domaine.",
+		"xmpp_access": "Accès XMPP",
+		"xmpp_access_info": "XMPP doit être activé pour ce domaine.",
+		"xmpp_admin": "Administrateur XMPP",
+		"xmpp_admin_info": "<b>Attention</b>: promeut un utilisateur au rang d'administrateur XMPP pour ce domaine.",
 		"generate": "Générer",
 		"goto_ham": "Apprendre en tant que <span class=\"text-success\"><b>Courrier légitime (ham)</b></span>",
 		"goto_null": "Ignorer silencieusement le courriel",
@@ -136,6 +149,7 @@
 		"ban_list_info": "Consultez la liste des adresses IP interdites ci-dessous: <b>réseau (durée d'interdiction restante) - [actions]</b>.<br />Les adresses IP mises en file d'attente pour être interdites seront supprimées de la liste d'interdiction active dans quelques secondes.<br />Les étiquettes rouges indiquent des interdictions permanentes actives par liste noire.",
 		"change_logo": "Changer de logo",
 		"configuration": "Configuration",
+		"convert_html_to_text": "Convertir le code HTML en texte brut",
 		"credentials_transport_warning": "<b>Attention</b>: L’ajout d’une nouvelle entrée de carte de transport mettra à jour les informations d’identification pour toutes les entrées avec une colonne nexthop correspondante.",
 		"customer_id": "ID client",
 		"customize": "Personnaliser",
@@ -156,20 +170,23 @@
 		"dkim_to": "Vers",
 		"dkim_to_title": "Les domaines ciblés seront réécrits",
 		"domain": "Domaine",
+		"domain_admin": "Administrateur de domaine",
 		"domain_admins": "Administrateurs de domaine",
-		"domain_s": "Domaine/s",
+		"domain_s": "Domaine(s)",
 		"duplicate": "Dupliquer",
 		"duplicate_dkim": "Dupliquer l'enregistrement DKIM",
 		"edit": "Editer",
 		"empty": "Aucun résultat",
 		"excludes": "Exclure ces destinataires",
-		"f2b_ban_time": "Durée du bannissement (s)",
+		"f2b_ban_time": "Durée du bannissement(s)",
 		"f2b_blacklist": "Réseaux/Domaines sur Liste Noire",
+		"f2b_filter": "Filtre(s) Regex",
 		"f2b_list_info": "Un hôte ou un réseau sur liste noire l'emportera toujours sur une entité de liste blanche. <b>L'application des mises à jour de liste prendra quelques secondes.</b>",
 		"f2b_max_attempts": "Nb max. de tentatives",
 		"f2b_netban_ipv4": "Taille du sous-réseau IPv4 pour l'application du bannissement (8-32)",
 		"f2b_netban_ipv6": "Taille du sous-réseau IPv6 pour l'application du bannissement (8-128)",
 		"f2b_parameters": "Paramètres Fail2ban",
+		"f2b_regex_info": "Logs pris en compte: SOGo, Postfix, Dovecot, PHP-FPM.",
 		"f2b_retry_window": "Fenêtre de nouvel essai pour le nb max. de tentatives",
 		"f2b_whitelist": "Réseaux/hôtes en liste blanche",
 		"filter_table": "Table de filtrage",
@@ -184,6 +201,7 @@
 		"hash_remove_info": "La suppression d'un hachage ratelimit (s'il existe toujours) réinitialisera complètement son compteur.<br>\r\n  Chaque hachage est indiqué par une couleur individuelle.",
 		"help_text": "Remplacer le texte d'aide sous le masque de connexion (HTML autorisé)",
 		"host": "Hôte",
+		"html": "HTML",
 		"import": "Importer",
 		"import_private_key": "Importer la clè privée",
 		"in_use_by": "Utilisé par",
@@ -212,6 +230,7 @@
 		"oauth2_redirect_uri": "URI de redirection",
 		"oauth2_renew_secret": "Générer un nouveau secret client",
 		"oauth2_revoke_tokens": "Révoquer tous les jetons",
+		"optional": "Optionnel",
 		"password": "Mot de passe",
 		"password_repeat": "Confirmation du mot de passe (répéter)",
 		"priority": "Priorité",
@@ -221,6 +240,7 @@
 		"quarantine_exclude_domains": "Exclure les domaines et les alias de domaine",
 		"quarantine_max_age": "Âge maximun en jour(s)<br><small>La valeur doit être égale ou supérieure à 1 jour.</small>",
 		"quarantine_max_size": "Taille maximum en Mo (les éléments plus grands sont mis au rebut):<br><small>0 ne signifie <b>pas</b> illimité.</small>",
+		"quarantine_max_score": "Ignorer la notification si le score de spam est au dessus de cette valeur:<br><small>Par défaut: 9999.0</small>",
 		"quarantine_notification_html": "Modèle de courriel de notification:<br><small>Laisser vide pour restaurer le modèle par défaut.</small>",
 		"quarantine_notification_sender": "Notification par e-mail de l’expéditeur",
 		"quarantine_notification_subject": "Objet du courriel de notification",
@@ -343,6 +363,7 @@
 		"global_filter_write_error": "Impossible d’écrire le fichier de filtre: %s",
 		"global_map_invalid": "ID de carte globale %s non valide",
 		"global_map_write_error": "Impossible d’écrire l’ID de la carte globale %s: %s",
+		"xmpp_map_write_error": "Impossible d'écrire la carte XMPP: %s",
 		"goto_empty": "Une adresse alias doit contenir au moins une adresse 'goto'valide",
 		"goto_invalid": "Adresse Goto %s non valide",
 		"ham_learn_error": "Erreur d'apprentissage Ham: %s",
@@ -377,6 +398,7 @@
 		"max_quota_in_use": "Le quota de la boîte doit être supérieur ou égal à %d Mo",
 		"maxquota_empty": "Le quota maximum par boîte ne doit pas être de 0.",
 		"mysql_error": "Erreur MySQL: %s",
+		"nginx_reload_failed": "Le rechargement de Nginx a échoué: %s",
 		"network_host_invalid": "Réseau ou host non valide: %s",
 		"next_hop_interferes": "%s interfère avec le nexthop %s",
 		"next_hop_interferes_any": "Un saut suivant existant interfère avec %s",
@@ -397,6 +419,7 @@
 		"redis_error": "Erreur Redis: %s",
 		"relayhost_invalid": "La saisie de la carte %s est invalide",
 		"release_send_failed": "Le message n’a pas pu être diffusé: %s",
+		"reset_f2b_regex": "Le filtre regex n'a pas pu être réinitialisé à temps, veuillez réessayer ou attendre quelques secondes de plus et recharger le site web.",
 		"resource_invalid": "Le nom de la resource %s n'est pas valide",
 		"rl_timeframe": "Le délai limite du taux est incorrect",
 		"rspamd_ui_pw_length": "Le mot de passe de l'interface Rspamd doit être de 6 caratères au minimum",
@@ -412,19 +435,23 @@
 		"targetd_relay_domain": "Le domaine cible %s est un domaine de relais",
 		"temp_error": "Erreur temporaire",
 		"text_empty": "La zone texte ne peut pas être vide",
+		"tfa_token_invalid": "Le token TFA est invalide",
 		"tls_policy_map_dest_invalid": "La politique de destination n'est pas valide",
 		"tls_policy_map_entry_exists": "Une entrée de carte de politique \"%s\" existe",
 		"tls_policy_map_parameter_invalid": "Le paramètre Policy est invalide",
 		"totp_verification_failed": "Echec de la vérification TOTP",
 		"transport_dest_exists": "La destination de transport \"%s\" existe",
 		"u2f_verification_failed": "Echec de la vérification U2F: %s",
+		"fido2_verification_failed": "La vérification FIDO2 a échoué: %s",
 		"unknown": "Une erreur inconnue est survenue",
 		"unknown_tfa_method": "Methode TFA inconnue",
 		"unlimited_quota_acl": "Quota illimité interdit par les ACL",
 		"username_invalid": "Le nom d'utilisateur %s ne peut pas être utilisé",
 		"validity_missing": "Veuillez attribuer une période de validité",
 		"value_missing": "Veuillez fournir toutes les valeurs",
-		"yotp_verification_failed": "La vérification Yubico OTP en échec: %s"
+		"yotp_verification_failed": "La vérification Yubico OTP a échoué: %s",
+		"xmpp_restart_failed": "XMPP n'a pas pu être redémarré",
+		"xmpp_reload_failed": "XMPP n'a pas pu être rechargé"
 	},
 	"debug": {
 		"chart_this_server": "Graphique (ce serveur)",
@@ -438,20 +465,24 @@
 		"logs": "Logs",
 		"restart_container": "Redémarrer",
 		"solr_dead": "Solr est en cours de démarrage, désactivé ou mort.",
-		"solr_docs": "Docs",
-		"solr_last_modified": "Dernière modification",
-		"solr_size": "Taille",
-		"solr_started_at": "Démarré à",
+		"xmpp_dead": "XMPP est en cours de démarrage, désactivé ou mort.",
+		"docs": "Docs",
+		"last_modified": "Dernière modification",
+		"online_users": "Utilisateurs en ligne",
+		"size": "Taille",
+		"started_at": "Démarré à",
 		"solr_status": "Etat Solr",
-		"solr_uptime": "Disponibilité",
+		"uptime": "Disponibilité",
 		"started_on": "Démarré à",
 		"static_logs": "Logs statiques",
-		"system_containers": "Système & Conteneurs"
+		"system_containers": "Système & Conteneurs",
+		"xmpp_status": "Status de XMPP"
 	},
 	"diagnostics": {
 		"cname_from_a": "Valeur dérivée de l’enregistrement A/AAAA. Ceci est supporté tant que l’enregistrement indique la bonne ressource.",
 		"dns_records": "Enregistrements DNS",
 		"dns_records_24hours": "Veuillez noter que les modifications apportées au DNS peuvent prendre jusqu’à 24 heures pour que leurs états actuels soient correctement reflétés sur cette page. Il est conçu comme un moyen pour vous de voir facilement comment configurer vos enregistrements DNS et de vérifier si tous vos enregistrements sont correctement stockés dans les DNS.",
+		"dns_records_docs": "Veuillez également consulter <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">la documentation</a>.",
 		"dns_records_data": "Données correcte",
 		"dns_records_name": "Nom",
 		"dns_records_status": "Etat courant",
@@ -464,6 +495,7 @@
 		"alias": "Editer les alias",
 		"allow_from_smtp": "Restreindre l'utilisation de <b>SMTP</b> à ces adresses IP",
 		"allow_from_smtp_info": "Laissez vide pour autoriser tous les expéditeurs.<br>Adresses IPv4/IPv6 et réseaux.",
+		"allowed_protocols": "Protocoles autorisés",
 		"app_name": "Nom de l'application",
 		"app_passwd": "Mot de passe de l'application",
 		"automap": "Essayer d’automatiser les dossiers (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
@@ -493,6 +525,15 @@
 		"full_name": "Nom complet",
 		"gal": "Liste d'adresses globale (GAL)",
 		"gal_info": "La liste d'adresses globale (GAL) contient tous les objets d’un domaine et ne peut pas être édité par un utilisateur. Les informations libres/occupées dans SOGo sont manquantes si elles sont désactivées! <b>Redémarrer SOGo pour appliquer les modifications.</b>",
+		"xmpp": "Activer XMPP pour ce domaine",
+		"xmpp_prefix": "Préfixe XMPP pour le domaine (\"im\" pour utiliser <b>im</b>.exemple.org)",
+		"xmpp_prefix_info": "Pour demander des certificats XMPP, deux enregistrements DNS CNAME doivent pointer de <b> im </b> .exemple.org ainsi que de <b> * .im </b> .exemple.org vers <b>% s </ b>. Veuillez également exécuter la vérification DNS pour ce domaine après avoir activé XMPP.",
+		"xmpp_info": "Cette fonction activera la fonctionnalité de chat pour ce domaine.",
+		"xmpp_access": "Accès XMPP",
+		"xmpp_access_info": "XMPP doit être activé pour ce domaine.",
+		"xmpp_admin": "Administrateur XMPP",
+		"xmpp_admin_info": "<b>Attention:</b> Promeut un utilisateur au rang d'administrateur XMPP de ce domaine.",
+		"xmpp_example_jid": "<b>Exemple JID</b> (se connecter avec le mot de passe de la boîte aux lettres)",		
 		"generate": "générer",
 		"grant_types": "Types 'autorisation",
 		"hostname": "Nom d'hôte",
@@ -524,6 +565,7 @@
 		"pushover_vars": "Lorsque aucun filtre d’expéditeur n’est défini, tous les messages seront considérés.<br>Les filtres Regex ainsi que les vérifications exactes de l’expéditeur peuvent être définis individuellement et seront considérés de façon séquentielle. Ils ne dépendent pas les uns des autres.<br>Variables utilisables pour le texte et le titre (veuillez prendre note des politiques de protection des données)",
 		"pushover_verify": "Vérifier les justificatifs",
 		"quota_mb": "Quota (Mo)",
+		"ratelimit": "Limite de taux",
 		"redirect_uri": "Redirection/rappel URL",
 		"relay_all": "Relayer tous les destinataires",
 		"relay_all_info": "↪ Si vous <b>ne choissisez pas</b> de relayer tous les destinataires, vous devrez ajouter une boîte (\"aveugle\") pour chaque destinataire qui devrait être relayé.",
@@ -536,7 +578,7 @@
 		"save": "Enregistrer les modifications",
 		"scope": "Portée",
 		"sender_acl": "Permettre d’envoyer comme",
-		"sender_acl_disabled": "↳ <span class=\"label label-danger\">Le contrôle de l’expéditeur est désactivé</span>",
+		"sender_acl_disabled": "<span class=\"label label-danger\">Le contrôle de l’expéditeur est désactivé</span>",
 		"sender_acl_info": "Si l’utilisateur de la boîte A est autorisé à envoyer en tant qu’utilisateur de la boîte B, l’adresse de l’expéditeur n’est pas automatiquement affichée comme sélectionnable du champ \"from\" dans SOGo.<br>\r\n  L’utilisateur B de la boîte doit créer une délégation dans Sogo pour permettre à l’utilisateur A de la boîte de sélectionner son adresse comme expéditeur. Pour déléguer une boîte dans Sogo, utilisez le menu (trois points) à droite du nom de votre boîte dans le coin supérieur gauche dans la vue de courrier. Ce comportement ne s’applique pas aux adresses alias.",
 		"sieve_desc": "Description courte",
 		"sieve_type": "Type de filtre",
@@ -546,11 +588,12 @@
 		"sogo_visible": "Alias visible dans SOGo",
 		"sogo_visible_info": "Cette option affecte uniquement les objets qui peuvent être affichés dans SOGo (adresses alias partagées ou non partagées pointant vers au moins une boîte mail locale). Si caché, un alias n’apparaîtra pas comme expéditeur sélectionnable dans SOGo.",
 		"spam_alias": "Créer ou modifier des adresses alias limitées dans le temps",
+		"spam_filter": "Filtre spam",
 		"spam_policy": "Ajouter ou supprimer des éléments à la liste blanche/noire",
 		"spam_score": "Définir un score spam personnalisé",
 		"subfolder2": "Synchronisation dans le sous-dossier sur la destination<br><small>(vide = ne pas utiliser de sous-dossier)</small>",
 		"syncjob": "Modifier la tâche de synchronisation",
-		"target_address": "Adresse/s Goto<small>(séparé/s par des virgules)</small>",
+		"target_address": "Adresse(s) Goto<small>(séparé(s) par des virgules)</small>",
 		"target_domain": "Domaine cible",
 		"timeout1": "Délai de connexion à l’hôte distant",
 		"timeout2": "Délai de connexion à l’hôte local",
@@ -590,8 +633,10 @@
 	},
 	"login": {
 		"delayed": "La connexion a été retardée de %s secondes.",
+		"fido2_webauthn": "FIDO2/WebAuthn",
 		"login": "Connexion",
 		"mobileconfig_info": "Veuillez vous connecter en tant qu’utilisateur de la boîte pour télécharger le profil de connexion Apple demandé.",
+		"other_logins": "Clé d'authentification",
 		"password": "Mot de passe",
 		"username": "Nom d'utilisateur"
 	},
@@ -617,6 +662,7 @@
 		"aliases": "Aliases",
 		"allow_from_smtp": "Restreindre l'utilisation de <b>SMTP</b> à ces adresses IP",
 		"allow_from_smtp_info": "Laissez vide pour autoriser tous les expéditeurs.<br>Adresses IPv4/IPv6 et réseaux.",
+		"allowed_protocols": "Protocoles autorisés",
 		"backup_mx": "Sauvegarde MX",
 		"bcc": "BCC",
 		"bcc_destination": "Destination BCC",
@@ -666,6 +712,8 @@
 		"mailbox_defquota": "Taille de boîte par défaut",
 		"mailbox_quota": "Taille max. d’une boîte",
 		"mailboxes": "Boîtes mail",
+		"mailbox_defaults": "Paramètres par défaut",
+		"mailbox_defaults_info": "Définir les paramètres par défaut pour les nouvelles boîtes aux lettres.",
 		"mins_interval": "Intervalle (min)",
 		"msg_num": "Message #",
 		"multiple_bookings": "Réservations multiples",
@@ -676,7 +724,11 @@
 		"owner": "Propriétaire",
 		"private_comment": "Commentaire privé",
 		"public_comment": "Commentaire public",
+		"q_add_header": "Courriers indésirables",
+		"q_all": "Toutes les catégories",
+		"q_reject": "Rejecté",
 		"quarantine_notification": "Avis de quarantaine",
+		"quarantine_category": "Catégorie de la notification de quarantaine",
 		"quick_actions": "Actions",
 		"recipient_map": "Carte du destinataire",
 		"recipient_map_info": "Les cartes des destinataires sont utilisées pour remplacer l’adresse de destination d’un message avant sa livraison.",
@@ -700,7 +752,6 @@
 		"sieve_preset_7": "Rediriger et garder/déposer",
 		"sieve_preset_8": "Supprimer le message envoyé à une adresse alias dont fait partie l’expéditeur",
 		"sieve_preset_header": "Voir les exemples de préréglages ci-dessous. Pour plus de détails voir <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
-		"sogo_allow_admin_hint": "Les connexions administratives Sogo ne sont disponibles que pour les boîtes mail avec un profil SOGo existant. Un utilisateur doit avoir été connecté à Sogo au moins une fois.",
 		"sogo_visible": "Alias visible dans SOGo",
 		"sogo_visible_n": "Masquer alias dans SOGo",
 		"sogo_visible_y": "Afficher alias dans SOGo",
@@ -711,7 +762,7 @@
 		"table_size": "Taille de la table",
 		"table_size_show_n": "Montrer %s articles",
 		"target_address": "Goto adresse",
-		"target_domain": "Domain cible",
+		"target_domain": "Domaine cible",
 		"tls_enforce_in": "Appliquer le TLS entrant",
 		"tls_enforce_out": "Appliquer le TLS sortant",
 		"tls_map_dest": "Destination",
@@ -742,12 +793,17 @@
 		"action": "Action",
 		"atts": "Pièces jointes",
 		"check_hash": "Hachage du fichier de recherche @ VT",
+		"confirm": "Confirmer",
 		"confirm_delete": "Confirmer la suppression de cet élément.",
 		"danger": "Danger",
+		"deliver_inbox": "Envoyer dans la boîte de reception",
 		"disabled_by_config": "La configuration actuelle du système désactive la fonctionnalité de quarantaine. Veuillez définir \"retentions par boîte\" et une \"taille maximum\" pour les éléments en quarantaine.",
+		"settings_info": "Quantité maximum d'éléments à mettre en quarantaine: %s<br>Taille maximale des e-mails: %s MiB",
 		"download_eml": "Télécharger (.eml)",
 		"empty": "Pas de résultat",
 		"high_danger": "Haut",
+		"info": "Information",
+		"junk_folder": "Courriers indésirables",
 		"learn_spam_delete": "Apprendre comme spam et supprimer",
 		"low_danger": "Danger faible",
 		"medium_danger": "Danger moyen",
@@ -755,6 +811,7 @@
 		"notified": "Notifié",
 		"qhandler_success": "Demande envoyée avec succès au système. Vous pouvez maintenant fermer la fenêtre.",
 		"qid": "Rspamd QID",
+		"qinfo": "Le système de quarantaine enregistrera le courrier rejeté dans la base de données (l'expéditeur n'aura <em> pas </em> l'impression d'un courrier remis) ainsi que le courrier, qui est remis sous forme de copie dans le dossier indésirable d'une boîte aux lettres.\r\n  <br>\"Apprendre comme spam et supprimer\" apprendra un message comme spam via le théorème Bayesianet calculera également des hachages flous pour refuser des messages similaires à l'avenir.\r\n  <br>Veuillez noter que l'apprentissage de plusieurs messages peut prendre du temps, selon votre système. <br> Les éléments figurant sur la liste noire sont exclus de la quarantaine.",
 		"qitem": "Élément de quarantaine",
 		"quarantine": "Quarantaine",
 		"quick_actions": "Actions",
@@ -762,16 +819,21 @@
 		"received": "Reçu",
 		"recipients": "Destinataires",
 		"refresh": "Rafraîchir",
+		"rejected": "Rejeté",
 		"release": "Libérer",
 		"release_body": "Nous avons joint votre message comme fichier eml à ce message.",
 		"release_subject": "Article de quarantaine potentiellement dommageable %s",
 		"remove": "Enlever",
+		"rewrite_subject": "Réécrire le sujet",
 		"rspamd_result": "Résultat Rspamd",
 		"sender": "Expéditeur (SMTP)",
 		"sender_header": "Expéditeur (\"From\" header)",
+		"type": "Type",
 		"quick_release_link": "Ouvrir le lien de dégagement rapide",
 		"quick_delete_link": "Ouvrir le lien de suppression rapide",
+		"quick_info_link": "Ouvrir le lien d'informations",
 		"show_item": "Montrer l'article",
+		"spam": "Spam",
 		"spam_score": "Score",
 		"subj": "Sujet",
 		"table_size": "Dimension de la table",
@@ -835,6 +897,7 @@
 		"mailbox_added": "La boîte mail %s a été ajoutée",
 		"mailbox_modified": "Les modifications de la boîte %s ont été sauvées",
 		"mailbox_removed": "La boîte %s a été supprimée",
+		"nginx_reloaded": "Nginx a été rechargé",
 		"object_modified": "Les changements de %s ont été sauvés",
 		"pushover_settings_edited": "Paramètres Pushover réglés avec succès, veuillez vérifier les informations d’identification.",
 		"qlearn_spam": "Le message ID %s a été appris comme spam et supprimé",
@@ -859,7 +922,11 @@
 		"upload_success": "Fichier téléchargé avec succès",
 		"verified_totp_login": "Authentification TOTP vérifiée",
 		"verified_u2f_login": "Authentification U2F vérifiée",
-		"verified_yotp_login": "Authentification Yubico OTP vérifiée"
+		"verified_fido2_login": "Authentification FIDO2 vérifiée",
+		"verified_yotp_login": "Authentification Yubico OTP vérifiée",
+		"xmpp_restarted": "Le service XMPP a été redémarré",
+		"xmpp_reloaded": "Le service XMPP a été rechargé",
+		"xmpp_maps_updated": "Les cartes XMPP ont été mises à jour"
 	},
 	"tfa": {
 		"api_register": "%s utilise l'API Yubico Cloud. Veuillez obtenir une clé API pour votre clé <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">here</a>",
@@ -879,15 +946,30 @@
 		"set_tfa": "Définir une méthode d’authentification à deux facteurs",
 		"start_u2f_validation": "Début de la validation",
 		"tfa": "Authentification à deux facteurs",
+		"tfa_token_invalid": "Token TFA invalide",
 		"totp": "OTP (One Time Password = Mot de passe à usage unique : Google Authenticator, Authy, etc.)",
 		"u2f": "Authentification U2F",
 		"waiting_usb_auth": "<i>En attente d’un périphérique USB...</i><br><br>S’il vous plaît appuyez maintenant sur le bouton de votre périphérique USB U2F.",
 		"waiting_usb_register": "<i>En attente d’un périphérique USB...</i><br><br>Veuillez entrer votre mot de passe ci-dessus et confirmer votre inscription U2F en appuyant sur le bouton de votre périphérique USB U2F.",
 		"yubi_otp": "Authentification OTP Yubico"
 	},
+	"fido2": {
+		"set_fn": "Définir un nom",
+		"fn": "Nom",
+		"rename": "renommer",
+		"confirm": "Confirmer",
+		"register_status": "Etat de l'enregistrement",
+		"known_ids": "Identifiant(s) connu(s)",
+		"none": "Désactivé",
+		"set_fido2": "Enregistrer un nouvel appareil FIDO2",
+		"start_fido2_validation": "Tester la validation FIDO2",
+		"fido2_auth": "Se connecter avec FIDO2",
+		"fido2_success": "L'appareil est enregistré avec succès",
+		"fido2_validation_failed": "La validation a échoué"
+	},
 	"user": {
 		"action": "Action",
-		"active": "Active",
+		"active": "Actif",
 		"active_sieve": "Filtre actif",
 		"advanced_settings": "Paramètres avancés",
 		"alias": "Alias",
@@ -904,8 +986,8 @@
 		"app_name": "Nom d'application",
 		"app_passwds": "Mots de passe de l'application",
 		"apple_connection_profile": "Profil de connexion Apple",
-		"apple_connection_profile_complete": "Ce profil de connexion inclut les paramètres IMAP et SMTP ainsi que les chemins Caldav (calendriers) et Carddav (contacts) pour un appareil Apple." ,
-		"apple_connection_profile_mailonly" : "Ce profil de connexion inclut les paramètres de configuration IMAP et SMTP pour un périphérique Apple.",
+		"apple_connection_profile_complete": "Ce profil de connexion inclut les paramètres IMAP et SMTP ainsi que les chemins Caldav (calendriers) et Carddav (contacts) pour un appareil Apple.",
+		"apple_connection_profile_mailonly": "Ce profil de connexion inclut les paramètres de configuration IMAP et SMTP pour un périphérique Apple.",
 		"change_password": "Changer le mot de passe",
 		"client_configuration": "Afficher les guides de configuration pour les clients de messagerie et les smartphones",
 		"create_app_passwd": "Créer un mot de passe application",
@@ -931,7 +1013,7 @@
 		"hours": "heures",
 		"in_use": "Utilisé",
 		"interval": "Intervalle",
-		"is_catch_all": "Attrape-tout pour le domaine/s",
+		"is_catch_all": "Attrape-tout pour le domaine(s)",
 		"last_mail_login": "Dernière connexion mail",
 		"last_run": "Dernière exécution",
 		"loading": "Chargement...",
@@ -956,8 +1038,13 @@
 		"pushover_title": "Titre de la notification",
 		"pushover_vars": "Lorsqu’aucun filtre d’expéditeur n’est défini, tous les messages seront considérés.<br>Les filtres Regex ainsi que les vérifications exactes de l’expéditeur peuvent être définis individuellement et seront considérés de façon séquentielle. Ils ne dépendent pas les uns des autres.<br>Variables utilisables pour le texte et le titre (veuillez prendre note des politiques de protection des données)",
 		"pushover_verify": "Vérifier les justificatifs",
+		"q_add_header": "Courrier indésirable",
+		"q_all": "Toutes les catégories",
+		"q_reject": "Rejeté",
 		"quarantine_notification": "Avis de quarantaine",
+		"quarantine_category": "Catégorie de la notification de quarantaine",
 		"quarantine_notification_info": "Une fois qu’un avis a été envoyé, les articles seront marqués comme \"notified\" et aucune autre notification ne sera envoyée pour ce point particulier.",
+		"quarantine_category_info": "La catégorie de notification \"Rejeté\" inclut le courrier qui a été rejeté, tandis que \"Dossier indésirable\" informera un utilisateur des e-mails qui ont été placés dans le dossier indésirable.",
 		"remove": "Enlever",
 		"running": "En fonction",
 		"save": "Sauvegarder les changements",
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.it.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.it.json
index b3ad092..c02057f 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.it.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.it.json
@@ -1,203 +1,682 @@
 {
     "acl": {
-        "syncjobs": "Processi di sync"
+        "alias_domains": "Aggiungi alias di dominio",
+        "app_passwds": "Gestisci le password delle app",
+        "bcc_maps": "BCC maps",
+        "delimiter_action": "Delimiter action",
+        "domain_desc": "Modifica la descrizione del dominio",
+        "domain_relayhost": "Modifica relayhost per un dominio",
+        "eas_reset": "Ripristina i dispositivi EAS",
+        "extend_sender_acl": "Allow to extend sender ACL by external addresses",
+        "filters": "Filtri",
+        "login_as": "Accedi come utente della casella di posta",
+        "mailbox_relayhost": "Modifica relayhost per una casella di posta",
+        "prohibited": "Vietato dall'ACL",
+        "protocol_access": "Modifica l'accesso al protocollo",
+        "pushover": "Pushover",
+        "quarantine": "Azioni di quarantena",
+        "quarantine_attachments": "Allegati in quarantena",
+        "quarantine_category": "Modifica la categoria delle notifiche di quarantena",
+        "quarantine_notification": "Modifica notifiche quarantena",
+        "ratelimit": "Rate limit",
+        "recipient_maps": "Recipient maps",
+        "smtp_ip_access": "Modifica gli host consentiti per SMTP",
+        "sogo_access": "Consenti la gestione dell'accesso SOGo",
+        "sogo_profile_reset": "Ripristina profilo SOGo",
+        "spam_alias": "Alias temporanei",
+        "spam_policy": "Blacklist/Whitelist",
+        "spam_score": "Punteggio SPAM",
+        "syncjobs": "Processi di sync",
+        "tls_policy": "TLS policy",
+        "unlimited_quota": "Spazio illimitato per le caselle di posta",
+        "xmpp_admin": "Promuovi l'utente XMPP ad amministratore",
+        "xmpp_domain_access": "Configura l'accesso al dominio XMPP",
+        "xmpp_mailbox_access": "Configura l'accesso utente XMPP",
+        "xmpp_prefix": "Cambia sottodominio XMPP (prefisso)"
     },
     "add": {
+        "activate_filter_warn": "Tutti gli altri filtri saranno disattivati, quando è attivo.",
         "active": "Attiva",
         "add": "Aggiungi",
-        "alias_address": "Indirizzo alias/es:",
-        "alias_address_info": "<small>Indirizzo e-mail completo/es @example.com, per catturare tutti i messaggi di un dominio (separati da virgola). <b>solo domini mailcow</b>.</small>",
+        "add_domain_only": "Aggiungi solamente il dominio",
+        "add_domain_restart": "Aggiungi il dominio e riavvia SOGo",
+        "alias_address": "Indirizzo alias",
+        "alias_address_info": "<small>Indirizzo e-mail completo/i @example.com, per catturare tutti i messaggi di un dominio (separati da virgola). <b>Solo domini mailcow</b>.</small>",
         "alias_domain": "Dominio alias",
-        "alias_domain_info": "<small>Solo nomi di dominio validi (cseparati da virgola).</small>",
-        "backup_mx_options": "Backup MX options:",
-        "delete1": "Elimina dalla sorgente al termine",
+        "alias_domain_info": "<small>Solo nomi di dominio validi (separati da virgola).</small>",
+        "app_name": "Nome app",
+        "app_password": "Aggiungi la password dell'app",
+        "automap": "Prova a mappare automaticamente le cartelle (\"Sent items\", \"Sent\" => \"Posta inviata\" ecc.)",
+        "backup_mx_options": "Relay options",
+        "comment_info": "Un commento privato non è visibile all'utente, mentre un commento pubblico viene mostrato come suggerimento quando si passa con il mouse nella panoramica di un utente",
+        "custom_params": "Parametri personalizzati",
+        "custom_params_hint": "Corretto: --param=xy, errato: --param xy",
+		"delete1": "Elimina dalla sorgente al termine",
+		"delete2": "Elimina i messaggi nella casella di destinazione che non sono presenti nell'origine",
         "delete2duplicates": "Elimina duplicati nella destinazione",
-        "description": "Descrizione:",
+        "description": "Descrizione",
+        "destination": "Destinazione",
+        "disable_login": "Disabilita l'accesso (la posta in arrivo viene correttamente recapitata)",
         "domain": "Dominio",
-        "domain_quota_m": "Spazio totale dominio (MiB):",
-        "enc_method": "Metodo di criptazione",
+        "domain_matches_hostname": "Il dominio %s corrisponde al'hostname",		
+        "domain_quota_m": "Spazio totale dominio (MiB)",
+        "enc_method": "Metodo di crittografia",
         "exclude": "Escludi oggetti (regex)",
-        "full_name": "Nome completo:",
+        "full_name": "Nome completo",
+        "gal": "Global Address List",
+        "gal_info": "La GAL contiene tutti gli indirizzi del dominio e non può essere modificata da nessun utente. Le infomazioni sulla disponibilità di ogni utente non sono presenti in SOGo, se sono state disabilitate! <b>Riavvia SOGo per applicare le modifiche.</b>",
+        "generate": "crea",
+        "goto_ham": "Etichetta come <span class=\"text-success\"><b>ham</b></span>",
+        "goto_null": "Elimina silenziosamente il messaggio",
+        "goto_spam": "Etichetta come <span class=\"text-danger\"><b>spam</b></span>",   
         "hostname": "Hostname",
+        "inactive": "Inattivo",
         "kind": "Genere",
-        "mailbox_quota_m": "Spazio massimo per casella di posta (MiB):",
-        "mailbox_username": "Username (parte a sinistra della @):",
-        "max_aliases": "Numero massimo alias:",
-        "max_mailboxes": "Numero massimo caselle di posta:",
-        "mins_interval": "intervallo di Pooling (minuti)",
+        "mailbox_quota_def": "Spazio predefinito della casella di posta",
+        "mailbox_quota_m": "Spazio massimo per casella di posta (MiB)",
+        "mailbox_username": "Username (parte a sinistra della @)",
+        "max_aliases": "Numero massimo alias",
+        "max_mailboxes": "Numero massimo caselle di posta",
+        "mins_interval": "intervallo (minuti)",
         "multiple_bookings": "Prenotazioni multiple",
-        "password": "Password:",
-        "password_repeat": "Conferma password (riscrivi):",
+        "nexthop": "Hop successivo",
+        "password": "Password",
+        "password_repeat": "Conferma password (riscrivi)",
         "port": "Porta",
-        "post_domain_add": "Dovrai riavviare il servizio SOGo dopo aver aggiunto un nuovo dominio!",
+        "post_domain_add": "Il container di SOGo, \"sogo-mailcow\", deve essere riavviato dopo aver aggiunto un nuovo dominio!<br><br>Inoltre la configurazione dei DNS del dominio verrà riesaminata. Quando la configurazione dei DNS sarà attiva, riavvia \"acme-mailcow\" per generare automaticamente i certificati per il nuovo dominio (autoconfig.&lt;domain&gt;, autodiscover.&lt;domain&gt;).<br>Quest'ultimo passaggio è facoltativo, in quanto il sistema si aggiorna ogni 24 ore.",
+        "private_comment": "Commento privato",
+        "public_comment": "Commento pubblico",
         "quota_mb": "Spazio (MiB):",
         "relay_all": "Trasmettere a tutti i destinatari",
-        "relay_all_info": "<small>Se si sceglie di <b>non</b> inviare tutti i destinatari, è necessario aggiungere una cassetta postale (\"blind\") per ogni singolo destinatario a cui deve essere inoltrato.</small>",
+        "relay_all_info": "<small>Se si sceglie di <b>non</b> inviare a tutti i destinatari, è necessario aggiungere una casella di posta (\"blind\") per ogni singolo destinatario a cui deve essere inoltrato.</small>",
         "relay_domain": "Trasmetti questo dominio",
-        "select": "Perfavore seleziona...",
-        "select_domain": "Perfavore seleziona il dominio prima",
+        "relay_transport_info": "<div class=\"label label-info\">Info</div> Puoi definire mappe di trasporto verso una destinazione a tua scelta per questo dominio. Se non viene impostata, si guarderà il record MX.",
+        "relay_unknown_only": "Inoltra solo caselle di posta inesistenti. I messaggi per gli indirizzi esistenti verranno consegnati localmente.",
+        "relayhost_wrapped_tls_info": "Please do <b>not</b> use TLS-wrapped ports (mostly used on port 465).<br>\r\nUse any non-wrapped port and issue STARTTLS. A TLS policy to enforce TLS can be created in \"TLS policy maps\".",
+        "select": "Si prega di selezionare...",
+        "select_domain": "Seleziona prima un dominio",
+        "sieve_desc": "Descrizione breve",
+        "sieve_type": "Tipologia di filtro",
+        "skipcrossduplicates": "Salta i messaggi duplicati tra le cartelle (precedenza al primo arrivato)",
+        "subscribeall": "Iscriviti a tutte le cartelle",
         "syncjob": "Aggiungi sincronizzazione",
         "syncjob_hint": "Ricordati che le password vanno salvate in testo semplice!",
-        "target_address": "Inoltra all'indirizzo:",
-        "target_address_info": "<small>Indirizzo e-mail completo/es (separati da virgole).</small>",
-        "target_domain": "Target dominio:",
-        "username": "Username"
+        "target_address": "Inoltra all'indirizzo",
+        "target_address_info": "<small>Indirizzo e-mail completo/i (separati da virgole).</small>",
+        "target_domain": "Dominio di destinazione",
+        "timeout1": "Timeout per la connessione all'host remoto",
+        "timeout2": "Timeout per la connessione all'host locale",
+        "username": "Username",
+        "validate": "Convalida",
+        "validation_success": "Convalidato con successo",
+        "xmpp": "Attiva XMPP per questo dominio",
+        "xmpp_access": "Accesso XMPP",
+        "xmpp_access_info": "XMPP deve essere abilitato per questo dominio.",
+        "xmpp_admin": "Amministratore XMPP",
+        "xmpp_admin_info": "<b>Attenzione:</b> Promuove un utente ad amministratore XMPP di questo dominio.",
+        "xmpp_info": "Questa funzione abiliterà la funzionalità di chat per questo dominio."																			
     },
     "admin": {
         "access": "Accedi",
         "action": "Azione",
+        "activate_api": "Attiva API",
+        "activate_send": "Attiva bottone di invio",
         "active": "Attiva",
+        "active_rspamd_settings_map": "Active settings map",
         "add": "Aggiungi",
+        "add_admin": "Aggiungi amministratore",
         "add_domain_admin": "Aggiungi amministratore di dominio",
         "add_forwarding_host": "Aggiungi host inoltro",
+        "add_relayhost": "Add sender-dependent transport",
+        "add_relayhost_hint": "Tieni presente che i dati di autenticazione, se presenti, verranno archiviati come testo semplice.",
+        "add_row": "Aggiungi riga",
+        "add_settings_rule": "Add settings rule",
+        "add_transport": "Aggiungi transport",
+        "add_transports_hint": "Tieni presente che i dati di autenticazione, se presenti, verranno archiviati come testo semplice.",
+        "additional_rows": " righe aggiuntive inserite",
         "admin": "Amministratore",
         "admin_details": "Modifica impostazioni amministratore",
         "admin_domains": "Assengazioni di dominio",
+        "admins": "Amministratori",
+        "admins_ldap": "Amministratori LDAP",
+        "advanced_settings": "Impostazioni avanzate",
+        "api_allow_from": "Allow API access from these IPs/CIDR network notations",
+        "api_info": "The API is a work in progress. The documentation can be found at <a href=\"/api\">/api</a>",
+        "api_key": "API key",
+        "api_skip_ip_check": "Skip IP check for API",
+        "app_links": "App links",
+        "app_name": "App name",
+        "apps_name": "\"mailcow Apps\" name",
+        "arrival_time": "Arrival time (server time)",
+        "authed_user": "Auth. user",
+        "ays": "Sei sicuro di voler procedere?",
+        "ban_list_info": "See a list of banned IPs below: <b>network (remaining ban time) - [actions]</b>.<br />IPs queued to be unbanned will be removed from the active ban list within a few seconds.<br />Red labels indicate active permanent bans by blacklisting.",
+        "change_logo": "Cambia logo",
         "configuration": "Configurazione",
+        "convert_html_to_text": "Convert HTML to plain text",
+        "credentials_transport_warning": "<b>Warning</b>: Adding a new transport map entry will update the credentials for all entries with a matching next hop column.",
+        "customer_id": "ID cliente",
+        "customize": "Personalizzare",
+        "delete_queue": "Elimina tutto",
+        "destination": "Destinazione",				 
         "dkim_add_key": "Aggiungi chiave ARC/DKIM",
-        "dkim_key_length": "DKIM key length (bits)",
-        "dkim_key_missing": "Key mancante",
-        "dkim_key_unused": "Key non usata",
-        "dkim_key_valid": "Key valida",
-        "dkim_keys": "chiave ARC/DKIM",
+        "dkim_domains_selector": "Selettore",
+        "dkim_domains_wo_keys": "Seleziona i domini senza chiavi",
+        "dkim_from": "Da",
+        "dkim_from_title": "Source domain to copy data from",
+        "dkim_key_length": "Lunghezza chiave DKIM (bits)",
+        "dkim_key_missing": "Chiave mancante",
+        "dkim_key_unused": "Chiave non usata",
+        "dkim_key_valid": "Chiave valida",
+        "dkim_keys": "Chiavi ARC/DKIM",
+        "dkim_overwrite_key": "Sovrascrivi la chiave DKIM esistente",
+        "dkim_private_key": "Chiave privata",
+        "dkim_to": "A",
+        "dkim_to_title": "Dominio/i di destinazione - verranno sovrascritti",
         "domain": "Dominio",
+        "domain_admin": "Amministratore di dominio",
         "domain_admins": "Amministratori di dominio",
+        "domain_s": "Dominio/i",
+        "duplicate": "Duplica",
+        "duplicate_dkim": "Duplica record DKIM",
         "edit": "Modifica",
         "empty": "Nessun risultato",
+        "excludes": "Esclude questi destinatari",
+        "f2b_ban_time": "Tempo di blocco (s)",
+        "f2b_blacklist": "Host/reti in blacklist",
+        "f2b_filter": "Filtri Regex",
+        "f2b_list_info": "Un host oppure una rete in blacklist, avrà sempre un peso maggiore rispetto ad una in whitelist. <b>L'aggiornamento della lista richiede alcuni secondi per la sua entrata in azione.</b>",
+        "f2b_max_attempts": "Tentativi massimi",
+        "f2b_netban_ipv4": "IPv4 subnet size to apply ban on (8-32)",
+        "f2b_netban_ipv6": "IPv6 subnet size to apply ban on (8-128)",
+        "f2b_parameters": "Parametri Fail2ban",
+        "f2b_regex_info": "Log presi in considerazione: SOGo, Postfix, Dovecot, PHP-FPM.",
+        "f2b_retry_window": "Retry window (s) for max. attempts",
+        "f2b_whitelist": "Host/reti in whitelist",
         "filter_table": "Tabella filtro",
+        "flush_queue": "Svuota la coda",
         "forwarding_hosts": "Inoltro degli host",
         "forwarding_hosts_add_hint": "È possibile specificare indirizzi IPv4 / IPv6, reti nella notazione CIDR, nomi host (che verranno risolti in indirizzi IP) o nomi di dominio (che verranno risolti agli indirizzi IP richiamando i record SPF o, in assenza, i record MX) .",
-        "forwarding_hosts_hint": "I messaggi in entrata sono accettati in maniera incondizionata da tutti gli host elencati qui. Questi host sono quindi non controllati contro DNSBL o sottoposti a greylisting. Spam ricevuti da loro non viene mai rifiutata e sempre archiviata nella cartella Junk. L'utilizzo più comune per questo è quello di specificare i server di posta elettronica su cui è stata impostata una regola che inoltra le email in arrivo al server mailcow.",
-        "host": "Hostname",
-        "loading": "Attendere...",
+        "forwarding_hosts_hint": "I messaggi in entrata sono accettati in maniera incondizionata da tutti gli host qui elencati. Questi host sono quindi non controllati tramite DNSBL o sottoposti a greylisting. Lo spam ricevuto da questi host non viene mai rifiutato, ma potrebbe essere archiviato nella cartella Posta indesiderata. L'utilizzo più comune è quello di specificare i server di posta elettronica su cui è stata impostata una regola che inoltra le email in arrivo al server mailcow.",
+        "from": "Da",
+        "generate": "generate",
+        "guid": "GUID - ID istanza univoco",
+        "guid_and_license": "GUID & Licenza",
+        "hash_remove_info": "Removing a ratelimit hash (if still existing) will reset its counter completely.<br>\r\n  Each hash is indicated by an individual color.",
+        "help_text": "Sovrascrivi il testo d'aiuto nella maschera di login (HTML consentito)",
+		"host": "Hostname",
+        "html": "HTML",
+        "import": "Importa",
+        "import_private_key": "Importa chiave privata",
+        "in_use_by": "In uso da",
+        "inactive": "Inattivo",
+        "include_exclude": "Includi/Escludi",
+        "include_exclude_info": "Di default - se nessuna voce viene selezionata - <b>tutte le caselle di posta</b> risultano attivate",
+        "includes": "Includi questi destinatari",
+        "is_mx_based": "Basato sul record MX",
+        "last_applied": "Last applied",
+        "license_info": "Non è necessario essere in possesso di una licenza ma aiuta gli sviluppatori a far crescere il prodotto.<br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"SAL order\">Registra qui il tuo GUID </a> oppure <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Support order\">acquista il supporto per la tua installazione di mailcow.</a>",
+        "link": "Link",
+        "loading": "Caricamento in corso...",
+        "login_time": "Ora di accesso",
+        "logo_info": "La tua immagine verrà ridimensionata a 40px di altezza, quando verrà usata nella barra di navigazione in alto, ed ad una larghezza massima di 250px nella schermata iniziale. È altamente consigliato l'utilizzo di un'immagine modulabile.",
+        "lookup_mx": "Destination is a regular expression to match against MX name (<code>.*google\\.com</code> to route all mail targeted to a MX ending in google.com over this hop)",
+        "main_name": "Nome \"mailcow UI\"",
+        "merged_vars_hint": "Greyed out rows were merged from <code>vars.(local.)inc.php</code> and cannot be modified.",
+        "message": "Messaggio",
+        "message_size": "Dimensione mesaggio",
+        "nexthop": "Next hop",
+        "no": "&#10005;",
+        "no_active_bans": "Nessun ban attivo",
+        "no_new_rows": "Nessuna ulteriore riga disponibile",										   
         "no_record": "Nessun risultato",
+        "oauth2_client_id": "ID cliente",
+        "oauth2_client_secret": "Client secret",
+        "oauth2_info": "The OAuth2 implementation supports the grant type \"Authorization Code\" and issues refresh tokens.<br>\r\nThe server also automatically issues new refresh tokens, after a refresh token has been used.<br><br>\r\n&#8226; The default scope is <i>profile</i>. Only mailbox users can be authenticated against OAuth2. If the scope parameter is omitted, it falls back to <i>profile</i>.<br>\r\n&#8226; The <i>state</i> parameter is required to be sent by the client as part of the authorize request.<br><br>\r\nPaths for requests to the OAuth2 API: <br>\r\n<ul>\r\n  <li>Authorization endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nRegenerating the client secret will not expire existing authorization codes, but they will fail to renew their token.<br><br>\r\nRevoking client tokens will cause immediate termination of all active sessions. All clients need to re-authenticate.",
+        "oauth2_redirect_uri": "URI di reindirizzamento",
+        "oauth2_renew_secret": "Generate new client secret",
+        "oauth2_revoke_tokens": "Revoca tutti i token del client",
+        "optional": "facoltativo",
         "password": "Password",
-        "password_repeat": "Conferma password(ripeti)",
+        "password_length": "Lunghezza password",
+        "password_policy": "Password policy",
+        "password_policy_chars": "Deve contenere almeno un carattere alfabetico",
+        "password_policy_length": "La lunghezza minima della password è %d caratteri",
+        "password_policy_lowerupper": "Deve contenere caratteri minuscoli e maiuscoli",
+        "password_policy_numbers": "Deve contenere almeno un numero",
+        "password_policy_special_chars": "Deve contenere almeno un carattere speciale",
+        "password_repeat": "Conferma password (riscrivi)",
+        "priority": "Priorità",
+        "private_key": "Chiave privata",
+        "quarantine": "Quarantena",
+        "quarantine_bcc": "Invia una copia di tutte le notifiche (CCN) a questo destinatario:<br><small>Lascia vuoto per disabilitare la funzione. <b>Messaggi non firmati e non controllati. Dovrebbero essere consegnati solo localmente.</b></small>",
+        "quarantine_exclude_domains": "Escludi domini e alias di dominio",
+        "quarantine_max_age": "Età massima in giorni<br><small>Il valore deve essere maggiore o uguale ad 1 giorno.</small>",
+        "quarantine_max_score": "Ignora la notifica se il punteggio spam di una mail è superiore a questo valore:<br><small>Di default è 9999.0</small>",
+        "quarantine_max_size": "Dimensione massima in MiB (gli elementi più grandi vengono scartati):<br><small>0 <b>non</b> significa illimitato.</small>",
+        "quarantine_notification_html": "Modello e-mail di notifica:<br><small>Lascia vuoto per utilizzare il modello predefinito.</small>",
+        "quarantine_notification_sender": "Mittente e-mail di notifica",
+        "quarantine_notification_subject": "Oggetto e-mail di notifica",
+        "quarantine_redirect": "<b>Reindirizza tutte le notifiche</b> a questo destinatario:<br><small>Lascia vuoto per disabilitare la funzione. <b>Messaggi non firmati e non controllati. Dovrebbero essere consegnati solo localmente.</b></small>",
+        "quarantine_release_format": "Format of released items",
+        "quarantine_release_format_att": "Come allegato",
+        "quarantine_release_format_raw": "Originale non modificato",
+        "quarantine_retention_size": "Retention per casella di posta:<br><small>0 indica <b>inattivo</b>.</small>",
+        "queue_ays": "Conferma di voler eliminare tutti gli elementi dalla coda corrente.",
+        "queue_deliver_mail": "Consegna",
+        "queue_hold_mail": "Trattieni",
+        "queue_manager": "Gestore code",
+        "queue_show_message": "Visualizza messaggio",
+        "queue_unban": "queue unban",
+        "queue_unhold_mail": "Rilascia",
+        "quota_notification_html": "Modello e-mail di notifica:<br><small>Lascia vuoto per utilizzare il modello predefinito.</small>",
+        "quota_notification_sender": "Mittente e-mail di notifica",
+        "quota_notification_subject": "Oggetto e-mail di notifica",
+        "quota_notifications": "Notifiche sulle quote",
+        "quota_notifications_info": "Le notifiche di spazio vengono inviate agli utenti la cui capienza della casella di posta supera l'80% oppure il 95%.",
+        "quota_notifications_vars": "{{percent}} è lo spazio attualmente utilizzato dell'utente<br>{{username}} è il nome della casella di posta",
         "r_active": "Restrizioni attive",
         "r_inactive": "Restrizioni inattive",
-        "r_info": "Gli elementi disabilitati nell'elenco delle restrizioni attive non sono conosciute come restrizioni valide per la posta e non possono essere spostate. Le restrizioni sconosciute verranno comunque impostate in ordine di aspetto. <br />Puoi aggiungere nuovi elementi in <code>inc/vars.local.inc.php</code> per poterli attivare.",
+        "r_info": "Gli elementi disabilitati nell'elenco delle restrizioni attive non sono conosciute come restrizioni valide per la posta e non possono essere spostate. Le restrizioni sconosciute verranno comunque impostate in ordine di aspetto.<br />Puoi aggiungere nuovi elementi in <code>inc/vars.local.inc.php</code> per poterli attivare.",
+        "rate_name": "Rate name",
+        "recipients": "Destinatari",
+        "refresh": "Aggiorna",
+        "regen_api_key": "Rinnova la chiave delle API",
+        "regex_maps": "Regex maps",
+        "relay_from": "\"Da:\" indirizzi",
+        "relay_rcpt": "\"A:\" indirizzi",
+        "relay_run": "Esegui test",
+        "relayhosts": "Sender-dependent transports",
+        "relayhosts_hint": "Define sender-dependent transports to be able to select them in a domains configuration dialog.<br>\r\n  The transport service is always \"smtp:\" and will therefore try TLS when offered. Wrapped TLS (SMTPS) is not supported. A users individual outbound TLS policy setting is taken into account.<br>\r\n  Affects selected domains including alias domains.",
         "remove": "Rimuovi",
+        "remove_row": "Elimina riga",
+        "reset_default": "Riporta alle condizioni di default",
+        "reset_limit": "Remove hash",
+        "routing": "Routing",
+        "rsetting_add_rule": "Aggiungi regola",
+        "rsetting_content": "Contenuto della regola",
+        "rsetting_desc": "Descrizione breve",
+        "rsetting_no_selection": "Seleziona una regola",
+        "rsetting_none": "Nessuna regola presente",
+        "rsettings_insert_preset": "Insert example preset \"%s\"",
+        "rsettings_preset_1": "Disable all but DKIM and rate limit for authenticated users",
+        "rsettings_preset_2": "I postmaster vogliono lo spam",
+        "rsettings_preset_3": "Consenti solo mittenti specifici per una casella di posta (ad esempio: utilizzo solo come casella di posta interna)",
+        "rspamd-com_settings": "A setting name will be auto-generated, please see the example presets below. For more details see <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd docs</a>",
+        "rspamd_global_filters": "Global filter maps",
+        "rspamd_global_filters_agree": "Starò attento!",
+        "rspamd_global_filters_info": "Global filter maps contain different kind of global black and whitelists.",
+        "rspamd_global_filters_regex": "Their names explain their purpose. All content must contain valid regular expression in the format of \"/pattern/options\" (e.g. <code>/.+@domain\\.tld/i</code>).<br>\r\n  Although rudimentary checks are being executed on each line of regex, Rspamds functionality can be broken, if it fails to read the syntax correctly.<br>\r\n  Rspamd will try to read the map content when changed. If you experience problems, <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\" data-target=\"#RestartContainer\">restart Rspamd</a> to enforce a map reload.<br>Blacklisted elements are excluded from quarantine.",
+        "rspamd_settings_map": "Rspamd settings map",
+        "sal_level": "Moo level",
         "save": "Salva modifiche",
         "search_domain_da": "Ricerca domini",
+        "send": "Invia",
+        "sender": "Mittente",
+        "service": "Servizio",
+        "service_id": "ID del servizio",
+        "source": "Source",
         "spamfilter": "Filtri spam",
+        "subject": "Oggetto",
+        "success": "Successo",
+        "sys_mails": "System mails",
+        "text": "Testo",
+        "time": "Orario",
+        "title": "Titolo",
+        "title_name": "Titolo del sito \"mailcow UI\"",
+        "to_top": "Torna in cima",
+        "transport_dest_format": "Regex or syntax: example.org, .example.org, *, box@example.org (multiple values can be comma-separated)",
+        "transport_maps": "Transport Maps",
+        "transport_test_rcpt_info": "&#8226; Use null@hosted.mailcow.de to test relaying to a foreign destination.",
+        "transports_hint": "&#8226; A transport map entry <b>overrules</b> a sender-dependent transport map</b>.<br>\r\n&#8226; MX-based transports are preferably used.<br>\r\n&#8226; Outbound TLS policy settings per-user are ignored and can only be enforced by TLS policy map entries.<br>\r\n&#8226; The transport service for defined transports is always \"smtp:\" and will therefore try TLS when offered. Wrapped TLS (SMTPS) is not supported.<br>\r\n&#8226; Addresses matching \"/localhost$/\" will always be transported via \"local:\", therefore a \"*\" destination will not apply to those addresses.<br>\r\n&#8226; To determine credentials for an exemplary next hop \"[host]:25\", Postfix <b>always</b> queries for \"host\" before searching for \"[host]:25\". This behavior makes it impossible to use \"host\" and \"[host]:25\" at the same time.",
+        "ui_footer": "Footer (HTML consentito)",
+        "ui_header_announcement": "Annunci",
+        "ui_header_announcement_active": "Attiva annuncio",
+        "ui_header_announcement_content": "Testo (HTML consentito)",
+        "ui_header_announcement_help": "L'annuncio è visibile per tutti gli utenti che hanno effettuato l'accesso e nella schermata di accesso dell'interfaccia utente.",
+        "ui_header_announcement_select": "Seleziona il tipo di annuncio",
+        "ui_header_announcement_type": "Tipo",
+        "ui_header_announcement_type_danger": "Molto importante",
+        "ui_header_announcement_type_info": "Info",
+        "ui_header_announcement_type_warning": "Importante",
+        "ui_texts": "UI labels and texts",
+        "unban_pending": "unban pending",
         "unchanged_if_empty": "Se immutato lasciare vuoto",
-        "username": "Username"
+        "upload": "Upload",				   
+        "username": "Username",
+        "validate_license_now": "Validate GUID against license server",
+        "verify": "Verifica",
+        "yes": "&#10003;"
     },
     "danger": {
         "access_denied": "Accesso negato o form di login non corretto",
-        "alias_domain_invalid": "Alias domain non è valido",
-        "alias_empty": "L'indirizzo di alias non può restare vuoto",
-        "alias_goto_identical": "Alias and goto address must not be identical",
-        "alias_invalid": "L'indirizzo alias non è valido",
-        "aliasd_targetd_identical": "Alias domain must not be equal to target domain",
-        "aliases_in_use": "Il numero massimo di alias must deve essere maggiore o uguale a %d",
+        "alias_domain_invalid": "L'alias di dominio %s non è valido",
+        "alias_empty": "L'indirizzo di alias non può essere vuoto",
+        "alias_goto_identical": "L'alias e l'indirizzo di destinazione non possono essere identici",
+        "alias_invalid": "L'indirizzo alias %s non è valido",
+        "aliasd_targetd_identical": "L'alias di dominio non può essere identico al dominio di destinazione",
+        "aliases_in_use": "Il numero massimo di alias deve essere maggiore o uguale a %d",
+        "app_name_empty": "Il nome dell'app non può essere vuoto",
+        "app_passwd_id_invalid": "App password ID %s invalid",
+        "bcc_empty": "BCC destination cannot be empty",
+        "bcc_exists": "A BCC map %s exists for type %s",
+        "bcc_must_be_email": "BCC destination %s is not a valid email address",
+        "comment_too_long": "Commento troppo lungo, 160 caratteri massimi consentiti",
+        "defquota_empty": "Lo spazio predefinito di una casella di posta non può essere 0.",
         "description_invalid": "La descrizione della risorsa non è valido",
-        "dkim_domain_or_sel_invalid": "DKIM domain or selector invalid",
-        "domain_exists": "Domain %s esiste già",
+        "dkim_domain_or_sel_exists": "Esiste già una chiave DKIM per \"%s\" e non verrà quindi sovrascritta",
+        "dkim_domain_or_sel_invalid": "Dominio DKIM o selettore errato: %s",
+        "domain_cannot_match_hostname": "Il dominio non può corrispondere all'hostname",
+        "domain_exists": "Dominio %s esiste già",
         "domain_invalid": "Il nome di dominio non è valido",
         "domain_not_empty": "Non posso rimuovere domini in non vuoti",
         "domain_not_found": "Dominio non trovato.",
-        "domain_quota_m_in_use": "La quota di dominio deve essere maggiore o uguale a %s MiB",
-        "goto_empty": "L'indirizzo di destinazione non può restare vuoto",
-        "goto_invalid": "Goto address non è valido",
+        "domain_quota_m_in_use": "Lo spazio del dominio deve essere maggiore o uguale a %s MiB",
+        "extra_acl_invalid": "External sender address \"%s\" is invalid",
+        "extra_acl_invalid_domain": "External sender \"%s\" uses an invalid domain",
+        "fido2_verification_failed": "FIDO2 verification failed: %s",
+        "file_open_error": "File cannot be opened for writing",
+        "filter_type": "Wrong filter type",
+        "from_invalid": "Il mittente non può essere vuoto",
+        "global_filter_write_error": "Could not write filter file: %s",
+        "global_map_invalid": "Global map ID %s invalid",
+        "global_map_write_error": "Could not write global map ID %s: %s",
+		"goto_empty": "L'indirizzo di destinazione non può essere vuoto",
+        "goto_invalid": "L'indirizzo di destinazione %s non è valido",
+        "ham_learn_error": "Ham learn error: %s",
+        "imagick_exception": "Error: Imagick exception while reading image",
+        "img_invalid": "Cannot validate image file",
+        "img_tmp_missing": "Cannot validate image file: Temporary file not found",
+        "invalid_bcc_map_type": "Invalid BCC map type",
+        "invalid_destination": "Destination format \"%s\" is invalid",
+        "invalid_filter_type": "Invalid filter type",
+        "invalid_host": "Invalid host specified: %s",
+        "invalid_mime_type": "Invalid mime type",
+        "invalid_nexthop": "Next hop format is invalid",
+        "invalid_nexthop_authenticated": "Next hop exists with different credentials, please update the existing credentials for this next hop first.",
+        "invalid_recipient_map_new": "Invalid new recipient specified: %s",
+        "invalid_recipient_map_old": "Invalid original recipient specified: %s",
+        "ip_list_empty": "L'elenco degli IP consentiti non può essere vuoto",
         "is_alias": "%s è già presente come alias",
-        "is_alias_or_mailbox": "%s è già presente come alias o casella",
+        "is_alias_or_mailbox": "%s è già presente come alias, casella di posta oppure come alias di dominio",
         "is_spam_alias": "%s è già presente come indirizzo spam alias",
         "last_key": "L'ultima chiave non può essere rimossa",
         "login_failed": "Login fallito",
+        "mailbox_defquota_exceeds_mailbox_maxquota": "Default quota exceeds max quota limit",
         "mailbox_invalid": "Il nome della casella non è valido",
-        "mailbox_quota_exceeded": "La quota ha oltrepassato il limite di dominio (max. %d MiB)",
-        "mailbox_quota_exceeds_domain_quota": "La quota massima eccede la quota di dominio",
+        "mailbox_quota_exceeded": "Lo spazio assegnato oltrepassa il limite del dominio (max. %d MiB)",
+        "mailbox_quota_exceeds_domain_quota": "Lo spazio massimo supera la spazio del dominio",
         "mailbox_quota_left_exceeded": "Non c'è abbastanza spazio libero (space left: %d MiB)",
-        "mailboxes_in_use": "La quota della casella massima deve essere maggiore o uguale a %d",
+        "mailboxes_in_use": "Lo spazio massimo della casella deve essere maggiore o uguale a %d",
+        "malformed_username": "Malformed username",
+        "map_content_empty": "Map content cannot be empty",
         "max_alias_exceeded": "Numero massimo di alias superato",
         "max_mailbox_exceeded": "Numero massimo di caselle superato (%d of %d)",
-        "max_quota_in_use": "La quota della casella deve essere maggiore o uguale a %d MiB",
-        "maxquota_empty": "Max. quota per mailbox must not be 0.",
-        "object_exists": "Object %s esiste già",
+        "max_quota_in_use": "Lo spazio della casella deve essere maggiore o uguale a %d MiB",
+        "maxquota_empty": "Lo spazio massimo della casella di posta non può essere 0.",
+        "mysql_error": "Errore MySQL: %s",
+        "network_host_invalid": "Rete o host non valido: %s",
+        "next_hop_interferes": "%s interferes with nexthop %s",
+        "next_hop_interferes_any": "An existing next hop interferes with %s",
+        "nginx_reload_failed": "Nginx reload failed: %s",
+        "no_user_defined": "No user defined",
+        "object_exists": "L'oggetto %s esiste già",
         "object_is_not_numeric": "Il valore %s non è numerico",
         "password_complexity": "La password non soddisfa le regole di sicurezza",
         "password_empty": "Il campo password non può essere vuoto",
         "password_mismatch": "La password di conferma non corrisponde",
         "policy_list_from_exists": "Un elemento con lo stesso nome è già presente",
         "policy_list_from_invalid": "L'elemento ha un formato non valido",
-        "quota_not_0_not_numeric": "La quota deve essere numerica e >= 0",
+        "private_key_error": "Private key error: %s",
+        "pushover_credentials_missing": "Pushover token and or key missing",
+        "pushover_key": "Pushover key has a wrong format",
+        "pushover_token": "Pushover token has a wrong format",
+        "quota_not_0_not_numeric": "Lo spazio deve essere numerico e >= 0",
+        "recipient_map_entry_exists": "A Recipient map entry \"%s\" exists",
+        "redis_error": "Redis error: %s",
+        "relayhost_invalid": "Map entry %s is invalid",
+        "release_send_failed": "Message could not be released: %s",
+        "reset_f2b_regex": "Regex filter could not be reset in time, please try again or wait a few more seconds and reload the website.",
         "resource_invalid": "Il nome della risorsa non è valido",
+        "rl_timeframe": "Rate limit time frame is incorrect",
+        "rspamd_ui_pw_length": "Rspamd UI password should be at least 6 chars long",
+        "script_empty": "Script cannot be empty",
         "sender_acl_invalid": "Il valore di Sender ACL non è valido",
+        "set_acl_failed": "Failed to set ACL",
+        "settings_map_invalid": "Settings map ID %s invalid",
+        "sieve_error": "Sieve parser error: %s",
+        "spam_learn_error": "Spam learn error: %s",
+        "subject_empty": "Subject must not be empty",
         "target_domain_invalid": "Goto domain non è valido",
         "targetd_not_found": "Il target del dominio non è stato trovato",
-        "username_invalid": "Username non può essere utilizzato",
-        "validity_missing": "Assegnare un periodo di validità"
+        "targetd_relay_domain": "Target domain %s is a relay domain",
+        "temp_error": "Temporary error",
+        "text_empty": "Text must not be empty",
+        "tfa_token_invalid": "TFA token invalid",
+        "tls_policy_map_dest_invalid": "Policy destination is invalid",
+        "tls_policy_map_entry_exists": "A TLS policy map entry \"%s\" exists",
+        "tls_policy_map_parameter_invalid": "Policy parameter is invalid",
+        "totp_verification_failed": "TOTP verification failed",
+        "transport_dest_exists": "Transport destination \"%s\" exists",
+        "u2f_verification_failed": "U2F verification failed: %s",
+        "unknown": "An unknown error occurred",
+        "unknown_tfa_method": "Unknown TFA method",
+        "unlimited_quota_acl": "Unlimited quota prohibited by ACL",
+        "username_invalid": "Username %s non può essere utilizzato",
+        "validity_missing": "Assegnare un periodo di validità",
+        "value_missing": "Please provide all values",
+        "xmpp_map_write_error": "Could not write XMPP map: %s",
+        "xmpp_reload_failed": "XMPP could not be reloaded",
+        "xmpp_restart_failed": "XMPP could not be restarted",
+        "yotp_verification_failed": "Yubico OTP verification failed: %s"
+    },
+    "debug": {
+        "chart_this_server": "Grafico (questo server)",
+        "containers_info": "Container information",
+        "disk_usage": "Uso del disco",
+        "docs": "Docs",
+        "external_logs": "External logs",
+        "history_all_servers": "History (all servers)",
+        "in_memory_logs": "In-memory logs",
+        "jvm_memory_solr": "JVM memory usage",
+        "last_modified": "Ultima modifica",
+        "log_info": "<p>mailcow <b>in-memory logs</b> are collected in Redis lists and trimmed to LOG_LINES (%d) every minute to reduce hammering.\r\n  <br>In-memory logs are not meant to be persistent. All applications that log in-memory, also log to the Docker daemon and therefore to the default logging driver.\r\n  <br>The in-memory log type should be used for debugging minor issues with containers.</p>\r\n  <p><b>External logs</b> are collected via API of the given application.</p>\r\n  <p><b>Static logs</b> are mostly activity logs, that are not logged to the Dockerd but still need to be persistent (except for API logs).</p>",
+        "login_time": "Time",
+        "logs": "Logs",
+        "online_users": "Users online",
+        "restart_container": "Riavvio",
+        "service": "Servizio",
+        "size": "Size",
+        "solr_dead": "Solr is starting, disabled or died.",
+        "solr_status": "Stato Solr",
+        "started_at": "Started at",
+        "started_on": "Started on",
+        "static_logs": "Static logs",
+        "success": "Successo",
+        "system_containers": "System & Containers",
+        "uptime": "Tempo di attività",
+        "username": "Username",
+        "xmpp_dead": "XMPP is starting, disabled or died.",
+        "xmpp_status": "Stato XMPP"
+    },
+    "diagnostics": {
+        "cname_from_a": "Valore letto dal record A/AAAA. Questo è supportato finché il record punta alla risorsa corretta.",
+        "dns_records": "Record DNS",
+        "dns_records_24hours": "Tieni presente che le modifiche apportate ai record DNS potrebbero richiedere fino a 24 ore per poter essere visualizzate correttamente in questa pagina. Tutto ciò è da intendersi come un modo per voi di vedere come configurare i record DNS e per controllare se tutti i record DNS sono stati inseriti correttamente.",
+        "dns_records_data": "Dati corretti",
+        "dns_records_docs": "Si prega di consultare anche <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">la documentazione</a>.",
+        "dns_records_name": "Nome",
+        "dns_records_status": "Stato attuale",
+        "dns_records_type": "Tipo",
+        "optional": "Questo record è facoltativo."
     },
     "edit": {
         "active": "Attivo",
+        "admin": "Modifica amministratore",
+        "advanced_settings": "Impostazioni avanzate",
         "alias": "Modifica alias",
+        "allow_from_smtp": "Consenti solo a questi IP di utilizzare <b>SMTP</b>",
+        "allow_from_smtp_info": "Leave empty to allow all senders.<br>IPv4/IPv6 addresses and networks.",
+        "allowed_protocols": "Protocolli consentiti",
+        "app_name": "App name",
+        "app_passwd": "App password",
+        "automap": "Try to automap folders (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
         "backup_mx_options": "Backup MX options",
+        "bcc_dest_format": "BCC destination must be a single valid email address.",
+        "client_id": "Client ID",
+        "client_secret": "Client secret",
+        "comment_info": "A private comment is not visible to the user, while a public comment is shown as tooltip when hovering it in a user's overview",
         "delete1": "Elimina dalla sorgente al termine",
+        "delete2": "Delete messages on destination that are not on source",
         "delete2duplicates": "Elimina duplicati nella destinazione",
+        "delete_ays": "Please confirm the deletion process.",
         "description": "Descrizione",
+        "disable_login": "Disabilita l'accesso (la posta in arrivo viene correttamente recapitata)",
         "domain": "Modifica dominio",
         "domain_admin": "Modifica amministratore dominio",
-        "domain_quota": "Spazio Dominio",
+        "domain_quota": "Spazio del dominio",
         "domains": "Dominio",
-        "dont_check_sender_acl": "Disattiva il controllo del mittente per il dominio %s + alias domains",
-        "edit_alias_domain": "Modifica Alias dominio",
-        "encryption": "Criptazione",
+        "dont_check_sender_acl": "Disattiva il controllo del mittente per il dominio %s + alias di dominio",
+        "edit_alias_domain": "Modifica alias di dominio",
+        "encryption": "Crittografia",
         "exclude": "Escludi oggetti (regex)",
+        "extended_sender_acl": "External sender addresses",
+        "extended_sender_acl_info": "A DKIM domain key should be imported, if available.<br>\r\n  Remember to add this server to the corresponding SPF TXT record.<br>\r\n  Whenever a domain or alias domain is added to this server, that overlaps with an external address, the external address is removed.<br>\r\n  Use @domain.tld to allow to send as *@domain.tld.",
+        "force_pw_update": "Force password update at next login",
+        "force_pw_update_info": "Questo utente potrà accedere solo a %s.",
         "full_name": "Nome completo",
-        "host": "Host",
+        "gal": "Global Address List",
+        "gal_info": "The GAL contains all objects of a domain and cannot be edited by any user. Free/busy information in SOGo is missing, if disabled! <b>Restart SOGo to apply changes.</b>",
+        "generate": "generate",
+        "grant_types": "Grant types",
         "hostname": "Hostname",
+        "inactive": "Inattivo",
         "kind": "Genere",
+        "lookup_mx": "Destination is a regular expression to match against MX name (<code>.*google\\.com</code> to route all mail targeted to a MX ending in google.com over this hop)",
         "mailbox": "Modifica casella di posta",
+        "mailbox_quota_def": "Default mailbox quota",
+        "mailbox_relayhost_info": "Applied to the mailbox and direct aliases only, does override a domain relayhost.",
         "max_aliases": "Numero massimo alias",
         "max_mailboxes": "Caselle di posta massime",
         "max_quota": "Massimo spazio per casella (MiB)",
-        "maxage": "Massima età dei messaggi che verranno scaricati dal server remoto<br /><small>(0 = ignorà età)</small>",
+        "maxage": "Massima età dei messaggi che verranno scaricati dal server remoto<br /><small>(0 = ignora età)</small>",
+        "maxbytespersecond": "Max. bytes per second <br><small>(0 = unlimited)</small>",
+        "mbox_rl_info": "This rate limit is applied on the SASL login name, it matches any \"from\" address used by the logged-in user. A mailbox rate limit overrides a domain-wide rate limit.",
         "mins_interval": "Intervallo (min)",
         "multiple_bookings": "Prenotazioni multiple",
+        "nexthop": "Next hop",
         "password": "Password",
-        "password_repeat": "Conferma password (riscrivila)",
+        "password_repeat": "Conferma password (riscrivi)",
         "previous": "Pagina precedente",
+        "private_comment": "Commento privato",
+        "public_comment": "Commento pubblico",
+        "pushover_evaluate_x_prio": "Escalate high priority mail [<code>X-Priority: 1</code>]",
+        "pushover_info": "Push notification settings will apply to all clean (non-spam) mail delivered to <b>%s</b> including aliases (shared, non-shared, tagged).",
+        "pushover_only_x_prio": "Only consider high priority mail [<code>X-Priority: 1</code>]",
+        "pushover_sender_array": "Only consider the following sender email addresses <small>(comma-separated)</small>",
+        "pushover_sender_regex": "Consider the following sender regex",
+        "pushover_text": "Notification text",
+        "pushover_title": "Notification title",
+        "pushover_vars": "When no sender filter is defined, all mails will be considered.<br>Regex filters as well as exact sender checks can be defined individually and will be considered sequentially. They do not depend on each other.<br>Useable variables for text and title (please take note of data protection policies)",
+        "pushover_verify": "Verify credentials",
         "quota_mb": "Spazio (MiB)",
+        "quota_warning_bcc": "Quota warning BCC",
+        "quota_warning_bcc_info": "Warnings will be sent as separate copies to the following recipients. The subject will be suffixed by the corresponding username in brackets, for example: <code>Quota warning (user@example.com)</code>.",
+        "ratelimit": "Rate limit",
+        "redirect_uri": "Redirect/Callback URL",								
         "relay_all": "Relay tutti i destinatari",
-        "relay_all_info": "<small>Se si sceglie di <b>non</b> inviare tutti i destinatari, è necessario aggiungere una cassetta postale (\"blind\") per ogni singolo destinatario a cui deve essere inoltrato.</small>",
+        "relay_all_info": "<small>Se si sceglie di <b>non</b> inviare a tutti i destinatari, è necessario aggiungere una casella di posta (\"blind\") per ogni singolo destinatario a cui deve essere inoltrato.</small>",
         "relay_domain": "Relay dominio",
+        "relay_transport_info": "<div class=\"label label-info\">Info</div> You can define transport maps for a custom destination for this domain. If not set, a MX lookup will be made.",
+        "relay_unknown_only": "Relay non-existing mailboxes only. Existing mailboxes will be delivered locally.",
+        "relayhost": "Sender-dependent transports",
         "remove": "Rimuovi",
         "resource": "Risorsa",
         "save": "Salva modifiche",
+        "scope": "Scope",
         "sender_acl": "Consenti di inviare come",
-        "source": "Sorgente",
-        "subfolder2": "Sincronizza in una sottocartella<br /><small>(vuoto = non sincronizzare in sottocartella)</small>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Sender check is disabled</span>",
+        "sender_acl_info": "If mailbox user A is allowed to send as mailbox user B, the sender address is not automatically displayed as selectable \"from\" field in SOGo.<br>\r\n  Mailbox user B needs to create a delegation in SOGo to allow mailbox user A to select their address as sender. To delegate a mailbox in SOGo, use the menu (three dots) to the right of your mailbox name in the upper left while in mail view. This behaviour does not apply to alias addresses.",
+        "sieve_desc": "Short description",
+        "sieve_type": "Filter type",
+        "skipcrossduplicates": "Skip duplicate messages across folders (first come, first serve)",
+        "sogo_access": "Grant access to SOGo",
+        "sogo_access_info": "Grant or permit access to SOGo. This setting does neither affect access to all other services nor does it delete or change a user's existing SOGo profile.",
+        "sogo_visible": "Alias is visible in SOGo",
+        "sogo_visible_info": "This option only affects objects, that can be displayed in SOGo (shared or non-shared alias addresses pointing to at least one local mailbox). If hidden, an alias will not appear as selectable sender in SOGo.",
+        "spam_alias": "Create or change time limited alias addresses",
+        "spam_filter": "Spam filter",
+        "spam_policy": "Add or remove items to white-/blacklist",
+        "spam_score": "Set a custom spam score",
+        "subfolder2": "Sincronizza in una sottocartella<br /><small>(vuoto = non sincronizzare in sottocartella)</small>",		
         "syncjob": "Modifica sincronizzazione",
-        "target_address": "Vai all'indirizzo/es <small>(comma-separated)</small>",
+        "target_address": "Vai all'indirizzo/i <small>(separato da virgola)</small>",
         "target_domain": "Target dominio",
+        "timeout1": "Timeout for connection to remote host",
+        "timeout2": "Timeout for connection to local host",
         "title": "Modifica oggetto",
         "unchanged_if_empty": "Se immutato lasciare vuoto",
-        "username": "Username"
+        "username": "Username",
+        "validate_save": "Convalida e salva",
+        "xmpp": "Activate XMPP for this domain",
+        "xmpp_access": "XMPP access",
+        "xmpp_access_info": "XMPP must be enabled for this domain.",
+        "xmpp_admin": "XMPP administrator",
+        "xmpp_admin_info": "<b>Danger:</b> Promotes a user to an XMPP administrator of this domain.",
+        "xmpp_example_jid": "<b>Example JID</b> (login with mailbox password)",
+        "xmpp_info": "This function will enable chat functionality for this domain.",
+        "xmpp_prefix": "XMPP prefix for domain (\"im\" to use <b>im</b>.example.org)",
+        "xmpp_prefix_info": "To request certificates for XMPP, two CNAME DNS records should point from <b>im</b>.example.org as well as <b>*.im</b>.example.org to <b>%s</b>. Please also run the DNS check for this domain after enabling XMPP."
+    },
+    "fido2": {
+        "confirm": "Confirm",
+        "fido2_auth": "Login with FIDO2",
+        "fido2_success": "Device successfully registered",
+        "fido2_validation_failed": "Validation failed",
+        "fn": "Friendly name",
+        "known_ids": "Known IDs",
+        "none": "Disabled",
+        "register_status": "Registration status",
+        "rename": "Rename",
+        "set_fido2": "Register FIDO2 device",
+        "set_fn": "Set friendly name",
+        "start_fido2_validation": "Start FIDO2 validation"
     },
     "footer": {
         "cancel": "Annulla",
         "confirm_delete": "Conferma eliminazione",
         "delete_now": "Elimina ora",
         "delete_these_items": "Sicuro di voler eliminare gli oggetti selezionati?",
-        "loading": "Attendere...",
+        "hibp_nok": "Matched! This is a potentially dangerous password!",
+        "hibp_ok": "Nessuna corrispondenza trovata.",
+        "loading": "Caricamento in corso...",
+        "restart_container": "Riavvia il container",
+        "restart_container_info": "<b>Importante:</b> Il completamento di un normale riavvio potrebbe richiedere diversi minuti, ti consigliamo di attendere.",
         "restart_now": "Riavvia adesso",
-        "restart_sogo": "Riavvia SOGo",
-        "restart_sogo_info": "Some tasks, e.g. adding a domain, require you to restart SOGo to catch changes made in the mailcow UI.<br /><br /><b>Important:</b> A graceful restart may take a while to complete, please wait for it to finish."
+        "restarting_container": "Riavvia il container, potrebbe richiedere diversi minuti"
     },
     "header": {
         "administration": "Amministrazione",
+        "apps": "App",
+        "debug": "Informazioni di sistema",
         "mailboxes": "Caselle",
         "mailcow_settings": "Configurazione",
+        "quarantine": "Quarantena",
+        "restart_netfilter": "Riavvia netfilter",
         "restart_sogo": "Riavvia SOGo",
         "user_settings": "Impostazioni utente"
     },
     "info": {
-        "no_action": "Azione non applicabile"
+        "awaiting_tfa_confirmation": "In attesa di conferma TFA",
+        "no_action": "Azione non applicabile",
+        "session_expires": "La tua sessione scadrà tra 15 secondi"
     },
     "login": {
         "delayed": "L'accesso è stato ritardato di %s secondi.",
+        "fido2_webauthn": "FIDO2/WebAuthn",
         "login": "Login",
+        "mobileconfig_info": "Please login as mailbox user to download the requested Apple connection profile.",
+        "other_logins": "Key login",
         "password": "Password",
         "username": "Username"
     },
@@ -207,111 +686,321 @@
         "active": "Attiva",
         "add": "Aggiungi",
         "add_alias": "Aggiungi alias",
-        "add_domain": "Aggiungi Dominio",
-        "add_domain_alias": "Aggiungi alias Dominio",
-        "add_domain_record_first": "Perfavore aggiungi il dominio prima",
+        "add_alias_expand": "Expand alias over alias domains",
+        "add_bcc_entry": "Add BCC map",
+        "add_domain": "Aggiungi Ddminio",
+        "add_domain_alias": "Aggiungi alias di dominio",
+        "add_domain_record_first": "Per favore aggiungi il dominio prima",
+        "add_filter": "Aggiungi filtro",
         "add_mailbox": "Aggiungi casella mail",
+        "add_recipient_map_entry": "Add recipient map",
         "add_resource": "Aggiungi risorsa",
+        "add_tls_policy_map": "Add TLS policy map",
+        "address_rewriting": "Address rewriting",
         "alias": "Alias",
-        "aliases": "Aliases",
+        "alias_domain_alias_hint": "Aliases are <b>not</b> applied on domain aliases automatically. An alias address <code>my-alias@domain</code> <b>does not</b> cover the address <code>my-alias@alias-domain</code> (where \"alias-domain\" is an imaginary alias domain for \"domain\").<br>Please use a sieve filter to redirect mail to an external mailbox (see tab \"Filters\" or use  SOGo -> Forwarder). Use \"Expand alias over alias domains\" to automatically add missing aliases.",
+        "alias_domain_backupmx": "Alias domain inactive for relay domain",
+        "aliases": "Alias",
+        "allow_from_smtp": "Consenti solo l'uso di questi IP per l'<b>SMTP</b>",
+        "allow_from_smtp_info": "Leave empty to allow all senders.<br>IPv4/IPv6 addresses and networks.",
+        "allowed_protocols": "Protocolli consentiti",
         "backup_mx": "Backup MX",
+        "bcc": "CCN",
+        "bcc_destination": "Destinatario CCN",
+        "bcc_destinations": "Destinatari CCN",
+        "bcc_info": "BCC maps are used to silently forward copies of all messages to another address. A recipient map type entry is used, when the local destination acts as recipient of a mail. Sender maps conform to the same principle.<br/>\r\n  The local destination will not be informed about a failed delivery.",
+        "bcc_local_dest": "Local destination",
+        "bcc_map": "BCC map",
+        "bcc_map_type": "BCC type",
+        "bcc_maps": "BCC maps",
+        "bcc_rcpt_map": "Recipient map",
+        "bcc_sender_map": "Sender map",
+        "bcc_to_rcpt": "Switch to recipient map type",
+        "bcc_to_sender": "Switch to sender map type",
+        "bcc_type": "BCC type",
+        "booking_0": "Always show as free",
+        "booking_0_short": "Always free",
+        "booking_custom": "Hard-limit to a custom amount of bookings",
+        "booking_custom_short": "Hard limit",
+        "booking_lt0": "Unlimited, but show as busy when booked",
+        "booking_lt0_short": "Soft limit",
+        "daily": "Giornaliero",
         "deactivate": "Disattiva",
         "description": "Descrizione",
+        "disable_login": "Disabilita l'accesso (la posta in arrivo viene correttamente recapitata)",
+        "disable_x": "Disabilita",
         "domain": "Dominio",
         "domain_admins": "Amministratori di dominio",
         "domain_aliases": "Alias di domini",
-        "domain_quota": "Quota",
+        "domain_quota": "Spazio",
         "domains": "Domini",
         "edit": "Modifica",
         "empty": "Nessun risultato",
+        "enable_x": "Abilita",
         "excludes": "Esclude",
-        "filter_table": "Filra tabella",
+        "filter_table": "Filtra tabella",
+        "filters": "Filtri",
         "fname": "Nome completo",
+        "hourly": "Orario",
         "in_use": "In uso (%)",
+        "inactive": "Inattivo",
+        "insert_preset": "Insert example preset \"%s\"",
         "kind": "Tipo",
+        "last_mail_login": "Last mail login",
+        "last_pw_change": "Ultima modifica della password",
         "last_run": "Ultima esecuzione",
+        "last_run_reset": "Schedule next",
+        "mailbox": "Casella di posta",
+        "mailbox_defaults": "Impostazioni predefinite",
+        "mailbox_defaults_info": "Definire le impostazioni predefinite per le nuove caselle di posta.",
+        "mailbox_defquota": "Dimensione predefinita della casella di posta",
         "mailbox_quota": "Massima dimensione della casella",
         "mailboxes": "Caselle",
         "mins_interval": "Intervallo (min)",
         "msg_num": "Messaggio #",
-        "multiple_bookings": "Multiple bookings",
-        "no_record": "Nessun record per l' oggetto %s",
+        "multiple_bookings": "Prenotazioni multiple",
+        "never": "Mai",
+        "no": "&#10005;",
+        "no_record": "Nessun record per l'oggetto %s",
         "no_record_single": "Nessun record",
+        "owner": "Proprietario",
+        "private_comment": "Commento privato",
+        "public_comment": "Commento pubblico",
+        "q_add_header": "quando spostato nella cartella Posta indesiderata",
+        "q_all": " when moved to Junk folder and on reject",
+        "q_reject": "on reject",
+        "quarantine_category": "Quarantine notification category",
+        "quarantine_notification": "Notifiche di quarantena",
         "quick_actions": "Azione veloce",
+        "recipient_map": "Recipient map",
+        "recipient_map_info": "Recipient maps are used to replace the destination address on a message before it is delivered.",
+        "recipient_map_new": "New recipient",
+        "recipient_map_new_info": "Recipient map destination must be a valid email address.",
+        "recipient_map_old": "Original recipient",
+        "recipient_map_old_info": "A recipient maps original destination must be valid email addresses or a domain name.",
+        "recipient_maps": "Recipient maps",
         "remove": "Rimuovi",
         "resources": "Risorse",
+        "running": "In esecuzione",
+        "set_postfilter": "Mark as postfilter",
+        "set_prefilter": "Mark as prefilter",
+        "sieve_info": "You can store multiple filters per user, but only one prefilter and one postfilter can be active at the same time.<br>\r\nEach filter will be processed in the described order. Neither a failed script nor an issued \"keep;\" will stop processing of further scripts. Changes to global sieve scripts will trigger a restart of Dovecot.<br><br>Global sieve prefilter &#8226; Prefilter &#8226; User scripts &#8226; Postfilter &#8226; Global sieve postfilter",
+        "sieve_preset_1": "Elimina messaggi con allegati probabilmente pericolosi",
+        "sieve_preset_2": "Contrassegna sempre i messaggi di un mittente specifico come già letti",
+        "sieve_preset_3": "Scarta senza avvisi, interrompendo l'elaborazione di altri filtri",
+        "sieve_preset_4": "File into INBOX, skip further processing by sieve filters",
+        "sieve_preset_5": "Risponditore automatico (vacanze)",
+        "sieve_preset_6": "Rifiuta posta con risposta",
+        "sieve_preset_7": "Inoltra e mantieni/elimina",
+        "sieve_preset_8": "Rifiuta il messaggio inviato ad un indirizzo alias di cui fa parte il mittente",
+        "sieve_preset_header": "Si prega di guardare i settaggi di esempio riportati qui sotto. Per maggiori dettagli, visita <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
+        "sogo_visible": "Alias visibile in SOGo",
+        "sogo_visible_n": "Nascondi alias in SOGo",
+        "sogo_visible_y": "Mostra alias in SOGo",
         "spam_aliases": "Alias temporanei",
+        "stats": "Statistiche",
+        "status": "Stato",
         "sync_jobs": "Processi di sync",
-        "target_address": "Vai ad indirizzo",
-        "target_domain": "Target domain",
+        "table_size": "Dimensioni della tabella",
+        "table_size_show_n": "Mostra %s elementi",
+        "target_address": "Vai agli indirizzi",
+        "target_domain": "Dominio di destinazione",
         "tls_enforce_in": "Imponi TLS in ingresso",
         "tls_enforce_out": "Imponi TLS in uscita",
+        "tls_map_dest": "Destinazione",
+        "tls_map_dest_info": "Esempi: example.org, .example.org, [mail.example.org]:25",
+        "tls_map_parameters": "Parametri",
+        "tls_map_parameters_info": "Vuoto o parametri, ad esempio: protocols=!SSLv2 ciphers=medium exclude=3DES",
+        "tls_map_policy": "Policy",
+        "tls_policy_maps": "Mappa dei criteri TLS",
+        "tls_policy_maps_enforced_tls": "These policies will also override the behaviour for mailbox users that enforce outgoing TLS connections. If no policy exists below, these users will apply the default values specified as <code>smtp_tls_mandatory_protocols</code> and <code>smtp_tls_mandatory_ciphers</code>.",
+        "tls_policy_maps_info": "This policy map overrides outgoing TLS transport rules independently of a user's TLS policy settings.<br>\r\n  Please check <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">the \"smtp_tls_policy_maps\" docs</a> for further information.",
+        "tls_policy_maps_long": "Sovrascritture della mappa dei criteri TLS",
         "toggle_all": "Inverti tutti",
-        "username": "Nome utente"
+        "username": "Nome utente",
+        "waiting": "In attesa",
+        "weekly": "Settimanale",
+        "yes": "&#10003;"
+    },
+    "oauth2": {
+        "access_denied": "Effettua il login alla casella di posta per garantire l'accesso tramite OAuth2.",
+        "authorize_app": "Autorizza applicazione",
+        "deny": "Nega",
+        "permit": "Autorizza applicazione",
+        "profile": "Profilo",
+        "profile_desc": "Visualizza le informazioni personali: nome utente, nome e cognome, creazione, modifica, stato attivazione",
+        "scope_ask_permission": "Un'applicazione ha richiesto le seguenti autorizzazioni"
     },
     "quarantine": {
         "action": "Azione",
+        "atts": "Allegati",
+        "check_hash": "Search file hash @ VT",
+        "confirm": "Conferma",
+        "confirm_delete": "Conferma l'eliminazione di questo elemento.",
+        "danger": "Pericolo",
+        "deliver_inbox": "Consegna nella posta in arrivo",
+        "disabled_by_config": "The current system configuration disables the quarantine functionality. Please set \"retentions per mailbox\" and a \"maximum size\" for quarantine elements.",
+        "download_eml": "Download (.eml)",
         "empty": "Nessun risultato",
+        "high_danger": "Alto",
+        "info": "Informazione",
+        "junk_folder": "Cartella SPAM",
+        "learn_spam_delete": "Segnala come spam ed elimina",
+        "low_danger": "Basso",
+        "medium_danger": "Medio",
+        "neutral_danger": "Neutrale",
+        "notified": "Notificato",
+        "qhandler_success": "Richiesta inviata con successo al sistema. Ora puoi chiudere questa finestra.",
+        "qid": "Rspamd QID",
+        "qinfo": "The quarantine system will save rejected mail to the database (the sender will <em>not</em> be given the impression of a delivered mail) as well as mail, that is delivered as copy into the Junk folder of a mailbox.\r\n  <br>\"Learn as spam and delete\" will learn a message as spam via Bayesian theorem and also calculate fuzzy hashes to deny similar messages in the future.\r\n  <br>Please be aware that learning multiple messages can be - depending on your system - time consuming.<br>Blacklisted elements are excluded from the quarantine.",
+        "qitem": "Elemento in quarantena",
+        "quarantine": "Quarantena",
         "quick_actions": "Azione veloce",
+        "quick_delete_link": "Open quick delete link",
+        "quick_info_link": "Open info link",
+        "quick_release_link": "Open quick release link",
+        "rcpt": "Destinatario",
+        "received": "Ricevuto",
+        "recipients": "Destinatari",
+        "refresh": "Aggiorna",
+        "rejected": "Respinto",
+        "release": "Release",
+        "release_body": "Abbiamo allegato il tuo messaggio come file eml a questo messaggio.",
+        "release_subject": "Potentially damaging quarantine item %s",
         "remove": "Elimina",
-        "toggle_all": "Inverti tutti"
+        "rewrite_subject": "Riscrivi oggetto",
+        "rspamd_result": "Risultato Rspamd",
+        "sender": "Mittente (SMTP)",
+        "sender_header": "Mittente (\"From\" header)",
+        "settings_info": "Maximum amount of elements to be quarantined: %s<br>Maximum email size: %s MiB",
+        "show_item": "Mostra elemento",
+        "spam": "Spam",
+        "spam_score": "Punteggio",
+        "subj": "Oggetto",
+        "table_size": "Dimensioni della tabella",
+        "table_size_show_n": "Mostra %s elementi",
+        "text_from_html_content": "Contenuto (convertito in HTML)",
+        "text_plain_content": "Contenuto (text/plain)",
+        "toggle_all": "Inverti tutti",
+        "type": "Tipologia"
     },
     "start": {
         "help": "Mostra/Nascondi pannello di aiuto",
         "imap_smtp_server_auth_info": "Please use your full email address and the PLAIN authentication mechanism.<br />\r\nYour login data will be encrypted by the server-side mandatory encryption.",
         "mailcow_apps_detail": "Usa l'app mailcow per accedere alla posta, calendari, contatti ed altro.",
-        "mailcow_panel_detail": "<b>Amministratori di dominio</b> crea, modifica o cancella caselle e alias, cambia i domini e informazioni relative ai domini associati.<br />\r\n\t<b>Utenti di caselle</b> possono creare degli alias temporanei (spam aliases), cambiare la loro password e le impostazioni relative ai filtri spam."
+        "mailcow_panel_detail": "<b>Amministratori di dominio</b> crea, modifica od elimina caselle ed alias, cambia i domini e informazioni relative ai domini associati.<br />\r\n\t<b>Utenti di caselle</b> possono creare degli alias temporanei (spam aliases), cambiare la loro password e le impostazioni relative ai filtri spam."
     },
     "success": {
-        "admin_modified": "I cambiamenti a administrator è stato salvato",
-        "alias_added": "Alias address/es has/have been added",
+        "acl_saved": "ACL for object %s saved",
+        "admin_added": "L'amministratore %s è stato aggiunto",
+        "admin_api_modified": "Le modifiche alle API sono state salvate",
+        "admin_modified": "I cambiamenti all'amministratore sono stati salvati",
+        "admin_removed": "L'amministratore %s è stato rimosso",
+        "alias_added": "Uno o più alias sono stati correttamente aggiunti",
         "alias_domain_removed": "L'alias di dominio %s è stato rimosso",
-        "alias_modified": "I cambiamenti all'alias/es %s è stato salvato",
+        "alias_modified": "I cambiamenti all'alias %s sono stati salvati",
         "alias_removed": "L'alias %s è stato rimosso",
         "aliasd_added": "Aggiunto l'alias per il dominio %s",
-        "aliasd_modified": "I cambiamenti a alias domain %s è stato salvato",
+        "aliasd_modified": "I cambiamenti all'alias di dominio %s sono stati salvati",
+        "app_links": "Saved changes to app links",
+        "app_passwd_added": "Aggiunta nuova password per l'app",
+        "app_passwd_removed": "Password dell'app con ID %s rimossa",
+        "bcc_deleted": "BCC map entries deleted: %s",
+        "bcc_edited": "BCC map entry %s edited",
+        "bcc_saved": "BCC map entry saved",
+        "db_init_complete": "Inizializzazione del database completata",
+        "delete_filter": "Filtri eliminati - ID %s",
+        "delete_filters": "Filtri eliminati: %s",
+        "deleted_syncjob": "Eliminato syncjob - ID %s",
+        "deleted_syncjobs": "Eliminati syncjobs: %s",
         "dkim_added": "La chiave DKIM è stata salvata",
+        "dkim_duplicated": "La chiave DKIM per il dominio %s è stata copiata in %s",
         "dkim_removed": "La chiave DKIM è stata rimossa",
         "domain_added": "Aggiunto dominio %s",
         "domain_admin_added": "L'amministratore di dominio %s è stato aggiunto",
-        "domain_admin_modified": "I cambiamenti a domain administrator %s è stato salvato",
+        "domain_admin_modified": "I cambiamenti all'amministratore di dominio %s sono stati salvati",
         "domain_admin_removed": "L'amministratore di dominio %s è stato rimosso",
-        "domain_modified": "I cambiamenti a domain %s è stato salvato",
+        "domain_modified": "I cambiamenti al dominio %s sono stati salvati",
         "domain_removed": "Il dominio %s è stato aggiunto",
-        "eas_reset": "Dispositivi ActiveSync dell'utente %s resettati",
+        "dovecot_restart_success": "Dovecot è stato riavviato con successo",
+        "eas_reset": "I dispositivi ActiveSync dell'utente %s sono stati resettati",
+        "f2b_modified": "Le modifiche ai parametri Fail2ban sono state salvate",
         "forwarding_host_added": "Inoltro dell' host %s è stato aggiunto",
         "forwarding_host_removed": "Inoltro dell' host %s è stato rimosso",
+        "global_filter_written": "Il filtro è stato scritto con successo nel file",
+        "hash_deleted": "Hash eliminato",
+        "item_deleted": "Item %s successfully deleted",
+        "item_released": "Item %s released",
+        "items_deleted": "Item %s successfully deleted",
+        "items_released": "Selected items were released",
+        "learned_ham": "Successfully learned ID %s as ham",
+        "license_modified": "Le modifiche alla licenza sono state salvate",
+        "logged_in_as": "Collegato come %s",
         "mailbox_added": "La casella %s è stata aggiunta",
-        "mailbox_modified": "I cambiamenti alla mailbox %s è stato salvato",
+        "mailbox_modified": "Le modifiche alla casella di posta %s sono state salvate",
         "mailbox_removed": "La casella %s è stata rimossa",
-        "object_modified": "I cambiamenti all'oggetto %s è stato salvato",
+        "nginx_reloaded": "Nginx è stato ricaricato",
+        "object_modified": "Le modifiche all'oggetto %s sono state salvate",
+        "password_policy_saved": "Password policy was saved successfully",
+        "pushover_settings_edited": "Pushover settings successfully set, please verify credentials.",
+        "qlearn_spam": "Message ID %s was learned as spam and deleted",
+        "queue_command_success": "Queue command completed successfully",
+        "recipient_map_entry_deleted": "Recipient map ID %s has been deleted",
+        "recipient_map_entry_saved": "Recipient map entry \"%s\" has been saved",
+        "relayhost_added": "Map entry %s has been added",
+        "relayhost_removed": "Map entry %s has been removed",
+        "reset_main_logo": "Ripristina il logo predefinito",
         "resource_added": "La risorsa %s è stata aggiunta",
-        "resource_modified": "I cambiamenti alla mailbox %s è stato salvato",
-        "resource_removed": "La risorsa %s è stata rimossa"
+        "resource_modified": "Le modifiche alla casella di posta %s sono state salvate",
+        "resource_removed": "La risorsa %s è stata rimossa",
+        "rl_saved": "Rate limit for object %s saved",
+        "rspamd_ui_pw_set": "Password dell'interfaccia utente di Rspamd UI impostata con successo",
+        "saved_settings": "Impostazioni salvate",
+        "settings_map_added": "Added settings map entry",
+        "settings_map_removed": "Removed settings map ID %s",
+        "sogo_profile_reset": "Il profilo SOGo dell'utente %s è stato resettato",
+        "tls_policy_map_entry_deleted": "TLS policy map ID %s has been deleted",
+        "tls_policy_map_entry_saved": "TLS policy map entry \"%s\" has been saved",
+        "ui_texts": "Saved changes to UI texts",
+        "upload_success": "File caricato con successo",
+        "verified_fido2_login": "Verified FIDO2 login",
+        "verified_totp_login": "Verified TOTP login",
+        "verified_u2f_login": "Verified U2F login",
+        "verified_yotp_login": "Verified Yubico OTP login",
+        "xmpp_maps_updated": "XMPP maps were updated",
+        "xmpp_reloaded": "Il servizio XMPP è stato ricaricato",
+        "xmpp_restarted": "Il servizio XMPP è stato riavviato"
     },
     "tfa": {
-        "api_register": "%s usa le Api Yubico Cloud. Richiedi una Chiave API <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">qui</a>",
+        "api_register": "%s usa le API Yubico Cloud. Richiedi una chiave API <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">qui</a>",
         "confirm": "Conferma",
         "confirm_totp_token": "Conferma le modifiche inserendo il token generato",
         "delete_tfa": "Disabilita TFA",
         "disable_tfa": "Disabilita TFA fino al prossimo accesso",
         "enter_qr_code": "Il codice TOTP se il tuo dispositivo non è in grado di acquisire i codici QR",
+        "error_code": "Codice di errore",
+        "init_u2f": "Inizializzazione, attendere prego...",
         "key_id": "Identificatore per il tuo YubiKey",
         "key_id_totp": "Identificatore per la tua chiave",
-        "none": "Disattiva",
+        "none": "Disattivato",
+        "reload_retry": "- (ricaricare la pagina se l'errore persiste)",
         "scan_qr_code": "Esegui la scansione del seguente codice con l'applicazione di autenticazione o inserisci manualmente il codice.",
         "select": "Seleziona",
         "set_tfa": "Imposta il metodo di autenticazione a due fattori",
+        "start_u2f_validation": "Avvia convalida",
+        "set_tfa": "Imposta il metodo di autenticazione a due fattori",
         "tfa": "Autenticazione a due fattori",
         "totp": "Time-based OTP (Google Authenticator etc.)",
         "u2f": "Autenticazione U2F",
-        "waiting_usb_auth": "<i>Attendo il device USB...</i><br /><br />Tocca ora il pulsante sul dispositivo U2F USB.",
-        "waiting_usb_register": "<i>Attendo il device USB...</i><br /><br />Inserisci la tua password sopra e conferma la tua registrazione U2F toccando il pulsante del dispositivo U2F USB.",
+        "waiting_usb_auth": "<i>In attesa del device USB...</i><br /><br />Tocca ora il pulsante sul dispositivo U2F USB.",
+        "waiting_usb_register": "<i>In attesa del device USB...</i><br /><br />Inserisci la tua password qui sopra e conferma la tua registrazione U2F toccando il pulsante del dispositivo U2F USB.",
         "yubi_otp": "Autenticazione Yubico OTP"
     },
     "user": {
         "action": "Azione",
         "active": "Attiva",
+        "active_sieve": "Filtro attivo",
+        "advanced_settings": "Impostazioni avanzate",
         "alias": "Alias",
         "alias_create_random": "Genera un alias generico",
         "alias_extend_all": "Estendi la durata di 1 ora agli alias",
@@ -322,36 +1011,101 @@
         "alias_valid_until": "Valido fino a",
         "aliases_also_send_as": "Può inviare come utente",
         "aliases_send_as_all": "Do not check sender access for the following domain(s) and its alias domains",
+        "app_hint": "App passwords are alternative passwords for your <b>IMAP and SMTP</b> login. The username remains unchanged.<br>SOGo (including ActiveSync) is not available through app passwords.",
+        "app_name": "App name",
+        "app_passwds": "App passwords",
+        "apple_connection_profile": "Profilo di connessione Apple",
+        "apple_connection_profile_complete": "This connection profile includes IMAP and SMTP parameters as well as CalDAV (calendars) and CardDAV (contacts) paths for an Apple device.",
+        "apple_connection_profile_mailonly": "This connection profile includes IMAP and SMTP configuration parameters for an Apple device.",
         "change_password": "Cambia password",
+        "clear_recent_successful_connections": "Clear seen successful connections",
+        "client_configuration": "Show configuration guides for email clients and smartphones",
+        "create_app_passwd": "Create app password",
         "create_syncjob": "Crea un azione di sync",
-        "day": "Giorno",
+        "created_on": "Creato il",
+        "daily": "Giornaliero",
+        "day": "giorno",
+        "delete_ays": "Please confirm the deletion process.",
+        "direct_aliases": "Direct alias addresses",
+        "direct_aliases_desc": "Direct alias addresses are affected by spam filter and TLS policy settings.",
         "eas_reset": "Ripristina la cache dei dispositivi ActiveSync",
         "eas_reset_help": "In molti casi un ripristino risolve i problemi di sincronizzazione dei dispositivi.<br /><b>Attenzione:</b> Tutti gli elementi verranno scaricati nuovamente!",
         "eas_reset_now": "Ripristina ora",
         "edit": "Modifica",
+        "email": "E-mail",
+        "email_and_dav": "E-mail, calendari e contatti",
+        "empty": "Nessun risultato",
         "encryption": "Crittografia",
         "excludes": "Esclude",
-        "hour": "Ora",
-        "hours": "Ore",
+        "expire_in": "Scade in",
+        "fido2_webauthn": "FIDO2/WebAuthn",
+        "force_pw_update": "<b>Devi</b> impostare una nuova password per poter accedere ai servizi relativi al groupware.",
+        "from": "Da",
+        "generate": "generato",
+        "hour": "ora",
+        "hourly": "orario",
+        "hours": "ore",
         "in_use": "Utilizzati",
         "interval": "Intervallo",
         "is_catch_all": "Catch-all per il dominio/i",
-        "last_run": "Ultima esecuzione",
+        "last_mail_login": "Ultimo accesso alla casella di posta",
+        "last_pw_change": "Ultima modifica della password",
+		"last_run": "Ultima esecuzione",
+        "last_ui_login": "Ultimo login all'interfaccia utente",
+        "loading": "Caricamento in corso...",
+        "login_history": "Cronologia accessi",
+        "mailbox": "Casella di posta",
         "mailbox_details": "Dettagli casella",
+        "mailbox_general": "Generale",
+        "mailbox_settings": "Impostazioni",
         "messages": "messaggi",
+        "month": "mese",
+        "months": "mesi",
+        "never": "Mai",
         "new_password": "Nuova password",
-        "new_password_description": "Requisiti: Lunghezza di 6 caratteri, lettere e numeri.",
-        "new_password_repeat": "Conferma password (ripeti)",
+        "new_password_repeat": "Conferma password (riscrivi)",
+        "no_active_filter": "No active filter available",
+        "no_last_login": "No last UI login information",
         "no_record": "Nessun elemento",
+        "open_webmail_sso": "Accedi alla webmail",
+        "password": "Password",
         "password_now": "Password attuale (conferma modifiche)",
+        "password_repeat": "Conferma password (riscrivi)",
+        "pushover_evaluate_x_prio": "Escalate high priority mail [<code>X-Priority: 1</code>]",
+        "pushover_info": "Push notification settings will apply to all clean (non-spam) mail delivered to <b>%s</b> including aliases (shared, non-shared, tagged).",
+        "pushover_only_x_prio": "Considera solo la posta ad alta priorità [<code>X-Priority: 1</code>]",
+        "pushover_sender_array": "Consider the following sender email addresses <small>(comma-separated)</small>",
+        "pushover_sender_regex": "Match senders by the following regex",
+        "pushover_text": "Testo di notifica",
+        "pushover_title": "Titolo della notifica",
+        "pushover_vars": "When no sender filter is defined, all mails will be considered.<br>Regex filters as well as exact sender checks can be defined individually and will be considered sequentially. They do not depend on each other.<br>Useable variables for text and title (please take note of data protection policies)",
+        "pushover_verify": "Verifica le credenziali",
+        "q_add_header": "Cartella SPAM",
+        "q_all": "Tutte le categorie",
+        "q_reject": "Respinto",
+        "quarantine_category": "Quarantine notification category",
+        "quarantine_category_info": "La categoria di notifica \"Rifiutata\" include la posta che è stata rifiutata, mentre \"Posta indesiderata\" avviserà l'utente dei messaggi che sono stati spostati nella cartella omonima.",
+        "quarantine_notification": "Notifiche di quarantena",
+        "quarantine_notification_info": "Una volta inviata la notifica, gli elementi saranno contrassegnati come \"notificati\" e non verranno inviate ulteriori notifiche per questo particolare elemento.",
+        "recent_successful_connections": "Seen successful connections",
         "remove": "Elimina",
+        "running": "In esecuzione",
+        "save": "Salva modifiche",
         "save_changes": "Salva modifiche",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Sender check is disabled</span>",
+        "shared_aliases": "Indirizzi alias condivisi",
+        "shared_aliases_desc": "Shared aliases are not affected by user specific settings such as the spam filter or encryption policy. Corresponding spam filters can only be made by an administrator as a domain-wide policy.",
+        "show_sieve_filters": "Show active user sieve filter",
+        "sogo_profile_reset": "Ripristina il profilo SOGo",
+        "sogo_profile_reset_help": "Questo distruggerà il profilo SOGo dell'utente ed <b>eliminerà tutti i contatti e i dati del calendario definitivamente</b>.",
+        "sogo_profile_reset_now": "Ripristina il profilo ora",
         "spam_aliases": "Indirizzi mail temporanei",
+        "spam_score_reset": "Reset to server default",
         "spamfilter": "Filtri spam",
         "spamfilter_behavior": "Punteggio",
         "spamfilter_bl": "Blacklist",
         "spamfilter_bl_desc": "Email inserita nella blacklisted per <b>essere sempre</b> riconosciuta come spam e rifiutata. Si possono usare le wildcards.",
-        "spamfilter_default_score": "Valori di default:",
+        "spamfilter_default_score": "Valori di default",
         "spamfilter_green": "Verde: Questo messaggio non è spam",
         "spamfilter_hint": "Il primo valore rappresenta un \"basso punteggio di spam\", il secondo rappresenta un \"alto punteggio di spam\".",
         "spamfilter_red": "Rosso: uesto messaggio è spam e verrà rifiutato dal server",
@@ -362,22 +1116,43 @@
         "spamfilter_table_remove": "rimuovi",
         "spamfilter_table_rule": "Regola",
         "spamfilter_wl": "Whitelist",
-        "spamfilter_wl_desc": "Email inserita nella whitelist per <b>non essere mai</b> riconosciuta come spam. Si possono usare le wildcards.",
+        "spamfilter_wl_desc": "Email inserita nella whitelist per <b>non essere mai</b> riconosciuta come spam. Si possono usare le wildcards. Un filtro viene applicato solo agli alias diretti (alias con una singola casella postale di destinazione) esclusi gli alias catch-all e la casella postale stessa.",
         "spamfilter_yellow": "Giallo: Questo messaggio può essere spam, verrà segnalato come spam e spostato nella cartella spazzatura",
+        "status": "Stato",
         "sync_jobs": "Processi di sync",
         "tag_handling": "Imposta le gestione della mail evidenziate",
         "tag_help_example": "Esempio di mail con tag: ich<b>+Facebook</b>@example.org",
-        "tag_help_explain": "In sotto cartelle: Una nuova cartella dal nome del tag verrà creata sotto INBOX (\"INBOX/Facebook\").<br />\r\nNell'oggetto: Il nome del tag verrà aggiunto all'inizio dell'oggetto mail, esempio: \"[Facebook] Meine Neuigkeiten\".",
+        "tag_help_explain": "In sottocartelle: Una nuova cartella con il nome del tag verrà creata sotto INBOX (\"INBOX/Facebook\").<br />\r\nNell'oggetto: Il nome del tag verrà aggiunto all'inizio dell'oggetto della mail, esempio: \"[Facebook] Le mie notizie\".",
         "tag_in_none": "Fare niente",
-        "tag_in_subfolder": "Nella sotto cartella",
+        "tag_in_subfolder": "Nella sottocartella",
         "tag_in_subject": "Nell'oggetto",
+        "text": "Testo",
+        "title": "Titolo",
         "tls_enforce_in": "Imponi TLS in ingresso",
         "tls_enforce_out": "Imponi TLS in uscita",
         "tls_policy": "Politica di crittografia",
         "tls_policy_warning": "<strong>Attenzione:</strong> If you decide to enforce encrypted mail transfer, you may lose emails.<br />Messages to not satisfy the policy will be bounced with a hard fail by the mail system.<br />This option applies to your primary email address (login name), all addresses derived from alias domains as well as alias addresses <b>with only this single mailbox</b> as target.",
         "user_settings": "Impostazioni utente",
         "username": "Nome utente",
-        "week": "Settimana",
-        "weeks": "Settimane"
+        "verify": "Verifica",
+        "waiting": "In attesa",
+        "week": "settimana",
+        "weekly": "Settimanale",
+        "weeks": "settimane",
+        "year": "anno",
+        "years": "anni"
+    },
+    "warning": {
+        "cannot_delete_self": "Cannot delete logged in user",
+        "domain_added_sogo_failed": "Il dominio è stato aggiunto ma non è stato possibile riavviare SOGo, controlla i log del tuo server.",
+        "dovecot_restart_failed": "Non è stato possibile riavviare Dovecot, controlla i log del tuo server.",
+        "fuzzy_learn_error": "Fuzzy hash learn error: %s",
+        "hash_not_found": "Hash not found or already deleted",
+        "ip_invalid": "Skipped invalid IP: %s",
+        "is_not_primary_alias": "Skipped non-primary alias %s",
+        "no_active_admin": "Cannot deactivate last active admin",
+        "quota_exceeded_scope": "Domain quota exceeded: Only unlimited mailboxes can be created in this domain scope.",
+        "session_token": "Form token invalid: Token mismatch",
+        "session_ua": "Form token invalid: User-Agent validation error"
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.ko.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.ko.json
index 59be683..cdd34b1 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.ko.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.ko.json
@@ -438,12 +438,12 @@
         "logs": "Logs",
         "restart_container": "Restart",
         "solr_dead": "Solr is starting, disabled or died.",
-        "solr_docs": "Docs",
-        "solr_last_modified": "Last modified",
-        "solr_size": "Size",
-        "solr_started_at": "Started at",
+        "docs": "Docs",
+        "last_modified": "Last modified",
+        "size": "Size",
+        "started_at": "Started at",
         "solr_status": "Solr status",
-        "solr_uptime": "Uptime",
+        "uptime": "Uptime",
         "started_on": "Started on",
         "static_logs": "Static logs",
         "system_containers": "System & Containers"
@@ -534,7 +534,7 @@
         "save": "Save changes",
         "scope": "Scope",
         "sender_acl": "Allow to send as",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Sender check is disabled</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Sender check is disabled</span>",
         "sender_acl_info": "If mailbox user A is allowed to send as mailbox user B, the sender address is not automatically displayed as selectable \"from\" field in SOGo.<br>\r\n  Mailbox user B needs to create a delegation in SOGo to allow mailbox user A to select their address as sender. To delegate a mailbox in SOGo, use the menu (three dots) to the right of your mailbox name in the upper left while in mail view. This behaviour does not apply to alias addresses.",
         "sieve_desc": "Short description",
         "sieve_type": "Filter type",
@@ -696,7 +696,6 @@
         "sieve_preset_7": "Redirect and keep/drop",
         "sieve_preset_8": "Discard message sent to an alias address the sender is part of",
         "sieve_preset_header": "Please see the example presets below. For more details see <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
-        "sogo_allow_admin_hint": "Administrative SOGo logins are only available for mailboxes with an existing SOGo profile. A user must have been logged in to SOGo at least once.",
         "sogo_visible": "Alias is visible in SOGo",
         "sogo_visible_n": "Hide alias in SOGo",
         "sogo_visible_y": "Show alias in SOGo",
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.lv.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.lv.json
index 57b6951..c73a185 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.lv.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.lv.json
@@ -542,4 +542,4 @@
         "week": "Nedēļa",
         "weeks": "Nedēļas"
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.nl.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.nl.json
index 053e109..03c55e9 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.nl.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.nl.json
@@ -26,7 +26,11 @@
         "syncjobs": "Sync jobs",
         "tls_policy": "Versleutelingsbeleid",
         "unlimited_quota": "Onbeperkte quota voor mailboxen",
-        "domain_desc": "Wijzig domeinbeschrijving"
+        "domain_desc": "Wijzig domeinbeschrijving",
+        "xmpp_admin": "Promoveer XMPP-gebruiker tot administrator",
+        "xmpp_domain_access": "Configureer XMPP-domeintoegang",
+        "xmpp_mailbox_access": "Configureer XMPP-gebruikerstoegang",
+        "xmpp_prefix": "Wijzig XMPP subdomein (prefix)"
     },
     "add": {
         "activate_filter_warn": "Alle andere filters worden gedeactiveerd zolang deze geactiveerd is.",
@@ -59,6 +63,12 @@
         "full_name": "Volledige naam",
         "gal": "Globale adreslijst",
         "gal_info": "De globale adreslijst bevat alle objecten van een domein. Deze kunnen door geen enkele gebruiker worden bewerkt. <b>Herstart SOGo om wijzigingen door te voeren.</b>",
+        "xmpp": "Activeer XMPP voor dit domein",
+        "xmpp_info": "Deze optie activeert de chatfunctionaliteit voor dit domein.",
+        "xmpp_access": "XMPP-toegang",
+        "xmpp_access_info": "XMPP dient ingeschakeld te zijn voor dit domein.",
+        "xmpp_admin": "XMPP-administrator",
+        "xmpp_admin_info": "<b>Waarschuwing:</b> Promoveert een gebruiker tot XMPP-administrator van dit domein.",
         "generate": "genereer",
         "goto_ham": "Train als <span class=\"text-success\"><b>ham</b></span>",
         "goto_null": "Verwijder mail onmiddelijk",
@@ -351,6 +361,7 @@
         "global_filter_write_error": "Filter kon niet opgeslagen worden: %s",
         "global_map_invalid": "Globaal filter %s is ongeldig",
         "global_map_write_error": "Globaal filter %s kon niet opgeslagen worden: %s",
+        "xmpp_map_write_error": "XMPP-map kon niet opgeslagen worden: %s",
         "goto_empty": "Een aliasadres dient ten minste één doeladres te hebben",
         "goto_invalid": "Doeladres %s is ongeldig",
         "ham_learn_error": "Ham training-error: %s",
@@ -385,6 +396,7 @@
         "max_quota_in_use": "Mailboxquota dient gelijk te zijn aan, of groter te zijn dan %d MiB",
         "maxquota_empty": "Maximale mailboxquota dient groter dan 0 te zijn.",
         "mysql_error": "MySQL-error: %s",
+        "nginx_reload_failed": "Nginx reload mislukt: %s",
         "network_host_invalid": "Ongeldig netwerk of host: %s",
         "next_hop_interferes": "%s interfereert met nexthop %s",
         "next_hop_interferes_any": "Een bestaande nexthop interfereert met %s",
@@ -435,7 +447,9 @@
         "username_invalid": "Gebruikersnaam %s kan niet worden gebruikt",
         "validity_missing": "Wijs een geldigheidstermijn toe",
         "value_missing": "Niet alle waarden zijn ingevuld",
-        "yotp_verification_failed": "Yubico OTP-verificatie mislukt: %s"
+        "yotp_verification_failed": "Yubico OTP-verificatie mislukt: %s",
+        "xmpp_restart_failed": "XMPP herstart mislukt",
+        "xmpp_reload_failed": "XMPP reload mislukt"
     },
     "debug": {
         "chart_this_server": "Grafiek (deze server)",
@@ -449,20 +463,24 @@
         "logs": "Logs",
         "restart_container": "Herstart",
         "solr_dead": "Solr is uitgeschakeld, uitgevallen of nog bezig met opstarten.",
-        "solr_docs": "Documenten",
-        "solr_last_modified": "Voor het laatst bijgewerkt op",
-        "solr_size": "Grootte",
-        "solr_started_at": "Opgestart op",
-        "solr_status": "Status van Solr",
-        "solr_uptime": "Uptime",
+        "xmpp_dead": "XMPP is uitgeschakeld, uitgevallen of nog bezig met opstarten.",
+        "docs": "Documenten",
+        "last_modified": "Voor het laatst bijgewerkt op",
+        "online_users": "Gebruikers online",
+        "size": "Grootte",
+        "started_at": "Opgestart op",
+        "solr_status": "Solr-status",
+        "uptime": "Uptime",
         "started_on": "Gestart op",
         "static_logs": "Statische logs",
-        "system_containers": "Systeem & containers"
+        "system_containers": "Systeem & containers",
+        "xmpp_status": "XMPP-status"
     },
     "diagnostics": {
         "cname_from_a": "Waarde afgeleid van een A- of AAAA-vermelding.",
         "dns_records": "DNS-configuratie",
         "dns_records_24hours": "Houd er rekening mee dat wijzigingen aan DNS tot wel 24 uur in beslag kunnen nemen voordat ze op deze pagina worden weergegeven. Deze informatie is bedoeld om gemakkelijk te bekijken of de DNS-configuratie aan de eisen voldoet.",
+        "dns_records_docs": "Raadpleeg ook <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">de documentatie</a>.",
         "dns_records_data": "Correcte gegevens",
         "dns_records_name": "Naam",
         "dns_records_status": "Huidige staat",
@@ -505,6 +523,17 @@
         "full_name": "Volledige naam",
         "gal": "Globale adreslijst",
         "gal_info": "De globale adreslijst bevat alle objecten van een domein. Deze kunnen door geen enkele gebruiker worden bewerkt. <b>Herstart SOGo om wijzigingen door te voeren.</b>",
+
+        "xmpp": "Activeer XMPP voor dit domein",
+        "xmpp_prefix": "XMPP-prefix (\"im\" om <b>im</b>.example.org te gebruiken)",
+        "xmpp_prefix_info": "Om certificaten voor XMPP aan te vragen, dienen twee CNAME records te verwijzen van <b>im</b>.example.org en <b>*.im</b>.example.org naar <b>%s</b>. Controleer na het inschakelen van XMPP de DNS-configuratie in het Domeinen-overzicht.",
+        "xmpp_info": "Deze optie activeert de chatfunctionaliteit voor dit domein.",
+        "xmpp_access": "XMPP-toegang",
+        "xmpp_access_info": "XMPP dient ingeschakeld te zijn voor dit domein.",
+        "xmpp_admin": "XMPP-administrator",
+        "xmpp_admin_info": "<b>Waarschuwing:</b> Promoveert een gebruiker tot XMPP-administrator van dit domein.",
+        "xmpp_example_jid": "<b>Voorbeeld JID</b> (log in met mailboxwachtwoord)",
+
         "generate": "genereer",
         "grant_types": "Grant types",
         "hostname": "Hostname",
@@ -536,6 +565,7 @@
         "pushover_vars": "Wanneer er geen afzenders zijn uitgesloten zullen alle mails doorkomen.<br>Regex-filters en afzendercontroles kunnen individueel worden ingesteld en zullen in volgorde worden verwerkt. Ze zijn niet afhankelijk van elkaar.<br>Bruikbare variabelen voor tekst en titel (neem het gegevensbeschermingsbeleid in acht)",
         "pushover_verify": "Verifieer aanmeldingsgegevens",
         "quota_mb": "Quota (MiB)",
+        "ratelimit": "Ratelimit",
         "redirect_uri": "Redirect/Callback URL",
         "relay_all": "Forward alle ontvangers",
         "relay_all_info": "↪ Wanneer er wordt gekozen om <b>niet</b> alle ontvangers te forwarden, dient er per ontvanger een lege mailbox aangemaakt te worden.",
@@ -548,7 +578,7 @@
         "save": "Wijzigingen opslaan",
         "scope": "Scope",
         "sender_acl": "Sta toe om te verzenden als",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Verzendcontrole is uitgeschakeld</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Verzendcontrole is uitgeschakeld</span>",
         "sender_acl_info": "Wanneer mailboxgebruiker A toegestaan is te verzenden namens mailboxgebruiker B, zal het verzendadres niet automatisch worden weergegeven in het \"van\"-veld in SOGo. Mailboxgebruiker A dient hiervoor een aparte vermelding te maken in SOGo. Om een mailbox te delegeren in SOGo kan het menu (drie punten) aan de rechterkant van de naam van het mailbox linksboven worden gebruikt in de mailweergave. Dit is niet van toepassing op aliasadressen.",
         "sieve_desc": "Korte beschrijving",
         "sieve_type": "Filtertype",
@@ -558,6 +588,7 @@
         "sogo_visible": "Alias tonen in SOGo",
         "sogo_visible_info": "Wanneer verborgen zal een alias niet worden weergegeven als een selecteerbaar verzendadres. Deze optie beïnvloedt uitsluitend objecten die kunnen worden weergegeven in SOGo (gedeelde of niet-gedeelde aliasadressen die naar minstens één mailbox verwijzen).",
         "spam_alias": "Maak een nieuw tijdelijk alias aan, of pas deze aan",
+        "spam_filter": "Spamfilter",
         "spam_policy": "Voeg items toe of verwijder items van de white- of blacklist",
         "spam_score": "Stel een aangepaste spamscore in",
         "subfolder2": "Synchroniseer in submap op bestemming<br><small>(leeg = gebruik geen submappen)</small>",
@@ -720,7 +751,6 @@
         "sieve_preset_7": "Forward en behoud/verwijder",
         "sieve_preset_8": "Verwijder mail verstuurd naar een aliasadres van de afzender",
         "sieve_preset_header": "Zie de onderstaande voorbeelden. Raadpleeg <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a> voor meer informatie.",
-        "sogo_allow_admin_hint": "Administratieve SOGo-logins zijn uitsluitend beschikbaar voor mailboxen met een bestaand SOGo-profiel. Een gebruiker moet zich ten minste één keer aanmelden bij SOGo.",
         "sogo_visible": "Alias tonen in SOGo",
         "sogo_visible_n": "Verberg alias in SOGo",
         "sogo_visible_y": "Toon alias in SOGo",
@@ -766,6 +796,7 @@
         "danger": "Risico",
         "deliver_inbox": "Vrijgeven naar inbox",
         "disabled_by_config": "De huidige systeemconfiguratie deactiveert de quarantainefunctionaliteit. Het instellen van \"Maximale retenties per mailbox\" en \"Maximale grootte\" is vereist om deze functie te activeren.",
+        "settings_info": "Maximaal aantal items in quarantaine: %s<br>Maximale mailgrootte: %s MiB",
         "download_eml": "Download (.eml)",
         "empty": "Geen resultaten",
         "high_danger": "Hoog",
@@ -864,6 +895,7 @@
         "mailbox_added": "Mailbox %s is toegevoegd",
         "mailbox_modified": "Wijzigingen aan mailbox %s zijn opgeslagen",
         "mailbox_removed": "Mailbox %s is verwijderd",
+        "nginx_reloaded": "Nginx is herladen",
         "object_modified": "Wijzigingen aan object %s zijn opgeslagen",
         "pushover_settings_edited": "Pushover-instellingen zijn opgeslagen, verifieer nu de aanmeldingsgegevens.",
         "qlearn_spam": "Bericht %s is als spam gemarkeerd en verwijderd",
@@ -889,7 +921,10 @@
         "verified_totp_login": "TOTP succesvol geverifieerd",
         "verified_u2f_login": "U2F succesvol geverifieerd",
         "verified_fido2_login": "FIDO2 succesvol geverifieerd",
-        "verified_yotp_login": "Yubico OTP succesvol geverifieerd"
+        "verified_yotp_login": "Yubico OTP succesvol geverifieerd",
+        "xmpp_restarted": "XMPP-service is hestart",
+        "xmpp_reloaded": "XMPP-service is herladen",
+        "xmpp_maps_updated": "XMPP-maps zijn bijgewerkt"
     },
     "tfa": {
         "api_register": "%s maakt gebruik van de Yubico Cloud API. Om dit te benutten is er een API-key van Yubico vereist, deze kan <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">hier</a> opgevraagd worden",
@@ -1012,7 +1047,7 @@
         "running": "Wordt uitgevoerd",
         "save": "Sla wijzigingen op",
         "save_changes": "Wijzigingen opslaan",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Verzendcontrole is uitgeschakeld</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Verzendcontrole is uitgeschakeld</span>",
         "shared_aliases": "Gedeelde aliasadressen",
         "shared_aliases_desc": "Een gedeeld aliasadres wordt niet beïnvloed door gebruikersspecifieke instellingen. Een aangepast spamfilter kan eventueel worden ingesteld door een administrator.",
         "show_sieve_filters": "Toon actieve filters",
@@ -1063,7 +1098,7 @@
     "warning": {
         "cannot_delete_self": "Gebruikers kunnen niet worden verwijderd wanneer deze zijn aangemeld",
         "domain_added_sogo_failed": "Domein is toegevoegd, maar de hestart van SOGo mislukte. Controleer de logs.",
-        "dovecot_restart_failed": "De herstart van Dovecot mislukte. Controleer de logs.",
+        "dovecot_restart_failed": "Herstart van Dovecot mislukte. Controleer de logs.",
         "fuzzy_learn_error": "Fuzzy-hash training-error: %s",
         "hash_not_found": "Hash niet gevonden of reeds verwijderd",
         "ip_invalid": "Ongeldig IP-adres overgeslagen: %s",
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.pl.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.pl.json
index 1af3d98..6c897a8 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.pl.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.pl.json
@@ -106,13 +106,13 @@
         "alias_empty": "Alias nie może być pusty",
         "alias_goto_identical": "Alias i Idź do nie mogą być identyczne",
         "alias_invalid": "Alias nieprawidłowy",
-        "aliasd_targetd_identical": "Alias domeny nie może być identyczny z domenš docelową",
+        "aliasd_targetd_identical": "Alias domeny nie może być identyczny z domeną docelową",
         "aliases_in_use": "Maks. liczba aliasów musi być większa od lub równa %d",
         "description_invalid": "Nieprawidłowy opis źródła",
         "dkim_domain_or_sel_invalid": "Nieprawidłowa domena lub selektor DKIM",
         "domain_exists": "Domena %s już istnieje",
         "domain_invalid": "Błędna nazwa domeny",
-        "domain_not_empty": "Nie można usunšć niepustej domeny",
+        "domain_not_empty": "Nie można usunąć niepustej domeny",
         "domain_not_found": "Nie znaleziono domeny %s",
         "domain_quota_m_in_use": "Limit domeny %s MiB",
         "goto_empty": "Adres Idź do nie może być pusty",
@@ -120,15 +120,15 @@
         "is_alias": "%s został już podany jako alias",
         "is_alias_or_mailbox": "%s podano wcześniej jako alias lub skrzynkę",
         "is_spam_alias": "%s podano wcześniej jako alias dla spam",
-        "last_key": "Nie można usunšć ostatniego klucza",
+        "last_key": "Nie można usunąć ostatniego klucza",
         "login_failed": "Niepowodzenie logowania",
         "mailbox_invalid": "Nieprawidłowa nazwa skrzynki",
         "mailbox_quota_exceeded": "Wielkość przekracza limit domeny (maks. %d MiB)",
         "mailbox_quota_exceeds_domain_quota": "Maksymalna wielkość przekracza limit domeny",
         "mailbox_quota_left_exceeded": "Za mało dostępnego miejsca (zostało: %d MiB)",
         "mailboxes_in_use": "Maks. liczba skrzynek musi być większa od lub równa %d",
-        "max_alias_exceeded": "Przekroczono maksymalnš liczbę aliasów",
-        "max_mailbox_exceeded": "Przekroczono maksymalnš liczbę skrzynek (%d z %d)",
+        "max_alias_exceeded": "Przekroczono maksymalną liczbę aliasów",
+        "max_mailbox_exceeded": "Przekroczono maksymalną liczbę skrzynek (%d z %d)",
         "max_quota_in_use": "Limit skrzynki musi być większy od lub równy %d MiB",
         "maxquota_empty": "Maks wielkość. dla skrzynki nie może wynosić 0.",
         "object_exists": "Obiekt %s już istnieje",
@@ -302,7 +302,7 @@
         "domain_admin_removed": "Usunięto administratora domeny %s",
         "domain_modified": "Zapisano zmiany w domenie %s",
         "domain_removed": "Usunięto domenę %s",
-        "eas_reset": "Zresetowano urzšdzenia ActiveSync dla użytkownika %s",
+        "eas_reset": "Zresetowano urządzenia ActiveSync dla użytkownika %s",
         "f2b_modified": "Zmiany w Fail2ban zostały zapisane",
         "forwarding_host_added": "Dodano hosta przekazującego %s",
         "forwarding_host_removed": "Usunięto hosta przekazującego %s",
@@ -424,4 +424,4 @@
         "weekly": "Co tydzień",
         "weeks": "Tygodnie"
     }
-}
\ No newline at end of file
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.ro.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.ro.json
index 21af291..80a776c 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.ro.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.ro.json
@@ -4,10 +4,13 @@
         "app_passwds": "Gestionați parolele aplicației",
         "bcc_maps": "Hărți BCC",
         "delimiter_action": "Acțiune de delimitare",
+        "domain_desc": "Schimbați descrierea domeniului",
+        "domain_relayhost": "Schimbați gazda de transmitere pentru un domeniu",
         "eas_reset": "Resetează dispozitivele EAS",
         "extend_sender_acl": "Permiteți extinderea ACL-ului expeditorului prin adrese externe",
         "filters": "Filtre",
         "login_as": "Conectează-te ca utilizator al cutiei poștale",
+        "mailbox_relayhost": "Schimbați gazda de transmitere pentru un utilizator",
         "prohibited": "Interzis de ACL",
         "protocol_access": "Schimbați protocolul de acces",
         "pushover": "Pushover",
@@ -26,7 +29,10 @@
         "syncjobs": "Lucrări de sincronizare",
         "tls_policy": "Politică TLS",
         "unlimited_quota": "Cota nelimitată pentru cutiile poștale",
-        "domain_desc": "Schimbați descrierea domeniului"
+        "xmpp_admin": "Promovează utilizatorul XMPP ca administrator",
+        "xmpp_domain_access": "Configurează accesul domeniului la XMPP",
+        "xmpp_mailbox_access": "Configurează accesul utilizatorului la XMPP",
+        "xmpp_prefix": "Schimbă subdomeniul (prefixul) pentru XMPP"
     },
     "add": {
         "activate_filter_warn": "Toate celelalte filtre vor fi dezactivate, când este bifată opțiunea activă.",
@@ -59,6 +65,12 @@
         "full_name": "Nume complet",
         "gal": "Lista adreselor globale",
         "gal_info": "GAL conține toate obiectele unui domeniu și nu poate fi editat de niciun utilizator. Informația liber/ocupat din SOGo lipsește dacă este dezactivat! <b>Reporniți SOGo pentru a aplica modificările.</b>",
+        "xmpp": "Activează XMPP pentru acest domeniu",
+        "xmpp_info": "Această funcție va activa mesageria pentru acest domeniu.",
+        "xmpp_access": "Acces XMPP",
+        "xmpp_access_info": "XMPP trebuie să fie activ pentru acest domeniu.",
+        "xmpp_admin": "Administrator XMPP",
+        "xmpp_admin_info": "<b>Atenție:</b> Promovează un utilizator ca administrator XMPP pentru acest domeniu.",
         "generate": "generează",
         "goto_ham": "Învață ca <span class=\"text-success\"><b>ham</b></span>",
         "goto_null": "Aruncă emailul în mod silențios",
@@ -125,6 +137,8 @@
         "admin": "Administrator",
         "admin_details": "Modifică detaliile administratorului",
         "admin_domains": "Sarcini de domenii",
+        "admins": "Administratori",
+        "admins_ldap": "Administratori LDAP",
         "advanced_settings": "Setări avansate",
         "api_allow_from": "Permite accesul API de la aceste adrese IP/CIDR",
         "api_info": "API-ul este în dezvoltare. Documentația se găsește la adresa: <a href=\"/api\">/api</a>",
@@ -199,10 +213,12 @@
         "include_exclude": "Include/Exclude",
         "include_exclude_info": "În mod implicit - fără nici o selecție - <b>toate cutiile poștale</b> sunt adresate",
         "includes": "Include acești destinatari",
+        "is_mx_based": "bazat pe MX",
         "last_applied": "Ultima aplicare",
         "license_info": "O licență nu este necesară, dar ajută la dezvoltarea ulterioară.<br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"Comandă SAL\">Înregistrează GUID aici</a> sau <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Comandă suport\">cumpără asistență pentru instalarea platformei.</a>",
         "link": "Link",
         "loading": "Se încarcă...",
+        "login_time": "Moment autentificare",
         "logo_info": "Imaginea ta va fi scalată la o înălțime de 40px pentru bara de navigare de sus și o lățime maximă de 250px pentru pagina de pornire. O grafică scalabilă este foarte recomandată.",
         "lookup_mx": "Potriviți destinația cu MX (.outlook.com pentru a direcționa toate mesajele țintite către un MX * .outlook.com peste acest salt)",
         "main_name": "Nume \"mailcow UI\"",
@@ -222,6 +238,13 @@
         "oauth2_revoke_tokens": "Revocă toate jetoanele clientului",
         "optional": "optional",
         "password": "Parolă",
+        "password_length": "Lungime parolă",
+        "password_policy": "Politica pentru parole",
+        "password_policy_chars": "Trebuie să conțină cel puțin un caracter alfabetic",
+        "password_policy_length": "Lungimea minimă a parolei este %d",
+        "password_policy_numbers": "Trebuie să conțină cel puțin o cifră",
+        "password_policy_lowerupper": "Trebuie să conțină și litere mari și litere mici",
+        "password_policy_special_chars": "Trebuie să conțină caractere speciale",
         "password_repeat": "Parola de confirmare (repetă)",
         "priority": "Prioritate",
         "private_key": "Cheie privată",
@@ -261,6 +284,7 @@
         "regen_api_key": "Regenerează cheia API",
         "regex_maps": "Hărți regex",
         "relay_from": "Adresă \"De la:\"",
+        "relay_rcpt": "Adresă \"Către:\"",
         "relay_run": "Execută test",
         "relayhosts": "Transport dependent de expeditor",
         "relayhosts_hint": "Definește transporturile dependente de expeditor pentru a le putea selecta într-un dialog de configurare a domeniilor.<br>\n  Serviciul de transport este întotdeauna \"smtp:\". Este luată în considerare o setare individuală a politicii TLS de ieșire a utilizatorilor.",
@@ -278,6 +302,7 @@
         "rsettings_preset_1": "Dezactivați tot în afară de DKIM și limita de rată pentru utilizatorii autentificați",
         "rsettings_preset_2": "Postmasterii doresc spam",
         "rsettings_preset_3": "Permiteți numai expeditori specifici pentru o căsuță poștală (ex: utilizare numai ca adresa de email internă)",
+        "rsettings_preset_4": "Dezactivați Rspamd pentru domeniu",
         "rspamd-com_settings": "<a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Documente Rspamd</a>\n  - Un nume de setare va fi generat automat, te rog să consulți presetările exemplu de mai jos.",
         "rspamd_global_filters": "Hărți cu filtru global",
         "rspamd_global_filters_agree": "Voi fi atent!",
@@ -289,10 +314,12 @@
         "search_domain_da": "Caută domenii",
         "send": "Trimite",
         "sender": "Expeditor",
+        "service": "Serviciu",
         "service_id": "ID serviciu",
         "source": "Sursă",
         "spamfilter": "Filtru de spam",
         "subject": "Subiect",
+        "success": "Succes",
         "sys_mails": "Mailuri sistem",
         "text": "Text",
         "time": "Timp",
@@ -302,6 +329,7 @@
         "transport_dest_format": "Sintaxa: exemplu.org, .example.org, *, box@example.org (mai multe valori pot fi separate prin virgulă)",
         "transport_maps": "Hărți de transport",
         "transports_hint": "→ O intrare a hărții de transport <b>suprascrie</b> o hartă de transport dependentă de expeditor</b>.<br>\n→ Setările pentru politica TLS de ieșire per-utilizator sunt ignorate și pot fi impuse numai prin intrările hărții politicii TLS.<br>\n→ Serviciul de transport pentru transporturi definite este întotdeauna \"smtp:\".<br>\n→ Adresele care se potrivesc cu \"/localhost$/\" vor fi întotdeauna transportate prin \"local:\", prin urmare, o destinație \"*\" nu se va aplica acelor adrese.<br>\n→ Pentru a determina datele de identificare pentru un hop următor \"[host]:25\", Postfix <b>întotdeauna</b> interoghează pentru \"host\" înainte de a căuta \"[host]:25\". Acest comportament face imposibilă folosirea în același timp a \"host\" și \"[host]:25\".",
+        "transport_test_rcpt_info": "→ Utilizează null@hosted.mailcow.de pentru a testa retransmisia către o destinație străină.",
         "ui_footer": "Subsol (HTML permis)",
         "ui_header_announcement": "Anunțuri",
         "ui_header_announcement_active": "Setează activ anunțul",
@@ -353,6 +381,7 @@
         "global_filter_write_error": "Nu se poate scrie fișier filtru: %s",
         "global_map_invalid": "ID hartă globală %s invalid",
         "global_map_write_error": "Nu se poate scrie ID hartă globală %s: %s",
+        "xmpp_map_write_error": "Harta XMPP nu poate fi scrisă: %s",
         "goto_empty": "Adresa goto nu trebuie să fie goală",
         "goto_invalid": "Adresa goto %s este invalidă",
         "ham_learn_error": "Eroare de învățare Ham: %s",
@@ -387,6 +416,7 @@
         "max_quota_in_use": "Cota cutiilor poștale trebuie să fie mai mare sau egală cu %d MiB",
         "maxquota_empty": "Cota maximă pentru cutia poștală nu trebuie să fie 0.",
         "mysql_error": "Eroare MySQL: %s",
+        "nginx_reload_failed": "Reîncărcarea Nginx eșuată: %s",
         "network_host_invalid": "Rețea sau gazdă invalidă: %s",
         "next_hop_interferes": "%s interferează cu următorul hop %s",
         "next_hop_interferes_any": "Un hop următor existent interferează cu %s",
@@ -437,34 +467,44 @@
         "username_invalid": "Numele de utilizator %s nu poate fi utilizat",
         "validity_missing": "Atribuie o perioadă de valabilitate",
         "value_missing": "Furnizează toate valorile",
-        "yotp_verification_failed": "Verificarea Yubico OTP a eșuat: %s"
+        "yotp_verification_failed": "Verificarea Yubico OTP a eșuat: %s",
+        "xmpp_restart_failed": "XMPP nu a putut fi repornit",
+        "xmpp_reload_failed": "XMPP nu a putut fi reîncărcat"
     },
     "debug": {
         "chart_this_server": "Grafic (acest server)",
         "containers_info": "Informaţii container",
         "disk_usage": "Utilizare disc",
+        "docs": "Documente",
         "external_logs": "Jurnale externe",
         "history_all_servers": "Istoric (toate serverele)",
         "in_memory_logs": "Jurnale din memorie",
         "jvm_memory_solr": "Memorie utilizată de JVM",
+        "last_modified": "Ultima modificare",
         "log_info": "<p><b>jurnalele din memorie</b> pentru mailcow sunt colectate în listele Redis și trimise la LOG_LINES (%d) în fiecare minut pentru a reduce ciocnirea.\n  <br>Jurnalele din memorie nu sunt menite a fi persistente. Toate aplicațiile care înregistrează jurnale în memorie, înregistrează de asemenea jurnale în daemonul Docker și, prin urmare, în driverul de jurnale implicit.\n  <br>Tipul de jurnal din memorie trebuie utilizat pentru depanarea problemelor minore cu containerele.</p>\n  <p><b>Jurnalele externe</b> sunt colectate prin API-ul aplicației respective.</p>\n  <p><b>Jurnalele statice</b> sunt, în majoritate, jurnale de activitate care nu sunt înregistrate în Docker, dar trebuie să fie persistente (cu excepția jurnalelor API).</p>",
+        "login_time": "Moment",
         "logs": "Jurnale",
+        "online_users": "Utilizatori online",
         "restart_container": "Repornire",
+        "service": "Serviciu",
+        "size": "Mărime",
         "solr_dead": "Solr începe, este invalid sau s-a oprit.",
-        "solr_docs": "Documente",
-        "solr_last_modified": "Ultima modificare",
-        "solr_size": "Mărime",
-        "solr_started_at": "Pornit la",
         "solr_status": "Stare Solr",
-        "solr_uptime": "Timp de funcționare",
+        "started_at": "Pornit la",
         "started_on": "Început pe",
         "static_logs": "Jurnale statice",
-        "system_containers": "Sistem și Containere"
+        "success": "Succes",
+        "system_containers": "Sistem și Containere",
+        "uptime": "Timp de funcționare",
+        "username": "Utilizator",
+        "xmpp_dead": "XMPP pornește, este dezactivat sau nefuncțional.",
+        "xmpp_status": "Stare XMPP"
     },
     "diagnostics": {
         "cname_from_a": "Valoare derivată din înregistrarea A/AAAA. Acest lucru este acceptat atâta timp cât înregistrarea indică resursele corecte.",
         "dns_records": "Înregistrări DNS",
         "dns_records_24hours": "Rețineți că modificările aduse DNS-ului pot dura până la 24 de ore pentru a reflecta corect starea lor curentă pe această pagină. Acest mecanism este conceput ca o modalitate să vezi ușor cum să îți configurezi înregistrările DNS și să verifici dacă toate înregistrările sunt stocate corect în DNS.",
+        "dns_records_docs": "Vă rugăm să consultați și <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">documentația</a>.",
         "dns_records_data": "Date corecte",
         "dns_records_name": "Nume",
         "dns_records_status": "Stare curentă",
@@ -473,6 +513,7 @@
     },
     "edit": {
         "active": "Activ",
+        "admin": "Editează administrator",
         "advanced_settings": "Setări avansate",
         "alias": "Editează alias",
         "allow_from_smtp": "Permiteți acestor adrese IP să utilizeze numai <b>SMTP</b>",
@@ -507,13 +548,24 @@
         "full_name": "Nume complet",
         "gal": "Listă globală de adrese",
         "gal_info": "GAL-ul conține toate obiectele dintr-un domeniu și nu poate fi editată de nici un utilizator. <b>Repornește SOGo pentru a aplica modificările.</b>",
+        "xmpp": "Activează XMPP pentru acest domeniu",
+        "xmpp_prefix": "Prefixul XMPP pentru domeniu (\"im\" pentru <b>im</b>.example.org)",
+        "xmpp_prefix_info": "Pentru a solicita certificate pentru XMPP, două înregistrări DNS CNAME ar trebui să trimită de la <b>im</b>.example.org precum și <b>*.im</b>.example.org la <b>%s</b>. De asemenea, rulați verificarea DNS pentru acest domeniu după activarea XMPP.",
+        "xmpp_info": "Această funcție va activa mesageria pentru acest domeniu.",
+        "xmpp_access": "Acces XMPP",
+        "xmpp_access_info": "XMPP trebuie să fie activ pentru acest domeniu.",
+        "xmpp_admin": "Administrator XMPP",
+        "xmpp_admin_info": "<b>Atenție:</b> Promovează un utilizator ca administrator XMPP pentru acest domeniu.",
+        "xmpp_example_jid": "<b>Exemplu JID</b> (autentificare cu parolă email)",
         "generate": "Generează",
         "grant_types": "Tipuri de subvenții",
         "hostname": "Nume gazdă",
         "inactive": "Inactiv",
         "kind": "Fel",
+        "lookup_mx": "Destinația este o expresie regulată care potrivită cu numele MX (<code>.*google\\.com</code> pentru a direcționa toate e-mailurile vizate către un MX care se termină în google.com peste acest hop)",
         "mailbox": "Editează căsuța poștală",
         "mailbox_quota_def": "Cota implicită a căsuței poștale",
+        "mailbox_relayhost_info": "Aplicat numai căsuței poștale și aliasurilor directe, suprascrie un transport dependent de domeniu.",
         "max_aliases": "Număr maxim de aliasuri",
         "max_mailboxes": "Număr maxim de cutii poștale",
         "max_quota": "Cotă maximă pentru cutia poștală (MiB)",
@@ -538,6 +590,9 @@
         "pushover_vars": "Când nu este definit niciun filtru pentru expeditor, toate mailurile vor fi luate în considerare. <br> Filtrele regex, precum și verificările exacte ale expeditorului pot fi definite individual și vor fi luate în considerare secvențial. Ele nu depind unul de celălalt. <br> Variabile utilizabile pentru text și titlu (vă rugăm să luați nota de politicile de protecție a datelor)",
         "pushover_verify": "Verifică credențialele",
         "quota_mb": "Cotă (MiB)",
+        "quota_warning_bcc": "Avertizare cotă BCC",
+        "quota_warning_bcc_info": "Avertismentele vor fi trimise sub formă de copii separate către următorii destinatari. Subiectul va fi completat de numele de utilizator corespunzător între paranteze, de exemplu: <code>Avertisment privind cota (utilizator@example.com)</code>.",
+        "ratelimit": "Limită pentru rata de trimitere",
         "redirect_uri": "Adresă URL de redirecționare/inversare",
         "relay_all": "Retransmite toți destinatarii",
         "relay_all_info": "↪ Dacă alegi să <b>nu</b> retransmiți toți destinatarii, va trebui să adaugi o cutie poștală (\"oarbă\") pentru fiecare destinatar care trebuie retransmis.",
@@ -550,7 +605,7 @@
         "save": "Salvează modificările",
         "scope": "Scop",
         "sender_acl": "Permite trimiterea ca",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Verificarea expeditorului este dezactivată</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Verificarea expeditorului este dezactivată</span>",
         "sender_acl_info": "Dacă utilizatorului A de căsuță poștală îi este permis să trimită ca utilizatorul B, adresa expeditorului nu este afișată automat ca fiind câmp selectabil \"de la\" în SOGo.<br>\r\n  Utilizatorul căsuței poștale B trebuie să creeze o delegație în SOGo pentru a permite utilizatorul cutiei poștale A să selecteze adresa ca expeditor. Pentru a delega o cutie poștală în SOGo, utilizați meniul (trei puncte) din dreapta numelui căsuței poștale în stânga sus, în timp ce vă aflați în vizualizarea e-mailului. Acest comportament nu se aplică adreselor alias.",
         "sieve_desc": "Descriere scurtă",
         "sieve_type": "Tip filtru",
@@ -560,6 +615,7 @@
         "sogo_visible": "Aliasul este vizibil în SOGo",
         "sogo_visible_info": "Această opțiune afectează doar obiecte, care pot fi afișate în SOGo (adrese alias partajate sau ne-partajate cu cel puțin o căsuță poștală locală). Dacă este ascuns, un alias nu va apărea ca expeditor selectabil în SOGo.",
         "spam_alias": "Crează sau modifică adrese alias limitate în funcție de timp",
+        "spam_filter": "Filtru spam",
         "spam_policy": "Adaugă sau elimină elemente în lista albă/neagră",
         "spam_score": "Stabilește un scor de spam personalizat",
         "subfolder2": "Sincronizează în subfolderul destinației<br><small>(gol = nu se utilizează subfolderul)</small>",
@@ -578,9 +634,11 @@
         "confirm_delete": "Confirmă ștergerea",
         "delete_now": "Șterge acum",
         "delete_these_items": "Confirmă modificările aduse următorului id de obiect:",
+        "hibp_check": "Verificare prin haveibeenpwned.com",
         "hibp_nok": "Potrivire! Aceasta este o parolă potențial periculoasă!",
         "hibp_ok": "Nu s-a găsit niciun rezultat.",
         "loading": "Te rog așteaptă...",
+        "nothing_selected": "Nicio selecție",
         "restart_container": "Repornire container",
         "restart_container_info": "<b>Important:</b> O repornire elegantă poate dura ceva timp până la finalizare, așteaptă să termine.",
         "restart_now": "Repornire acum",
@@ -617,6 +675,7 @@
         "active": "Activ",
         "add": "Adaugă",
         "add_alias": "Adaugă alias",
+        "add_alias_expand": "Extinde aliasul ca domeniu alias",
         "add_bcc_entry": "Adaugă hartă BCC",
         "add_domain": "Adaugă domeniu",
         "add_domain_alias": "Adaugă un domeniu alias",
@@ -677,6 +736,7 @@
         "insert_preset": "Inserați un exemplu presetat \"%s\"",
         "kind": "Fel",
         "last_mail_login": "Ultima autentificare pe mail",
+        "last_pw_change": "Ultima modificare a parolei",
         "last_run": "Ultima rulare",
         "last_run_reset": "Programează următorul",
         "mailbox": "Cutie poștală",
@@ -692,6 +752,7 @@
         "no": "&#10005;",
         "no_record": "Nu există înregistrări pentru obiectul %s",
         "no_record_single": "Nici o înregistrare",
+        "open_logs": "Deschide jurnalele",
         "owner": "Proprietar",
         "private_comment": "Comentariu privat",
         "public_comment": "Comentariu public",
@@ -723,7 +784,6 @@
         "sieve_preset_7": "Redirecționează și păstrează/aruncă",
         "sieve_preset_8": "Renunțați la mesajul trimis la o adresă alias din care face parte expeditorul",
         "sieve_preset_header": "Vedeți exemplul de presetări de mai jos. Pentru mai multe detalii accesați <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
-        "sogo_allow_admin_hint": "Conectările SOGo administrative sunt disponibile numai pentru căsuțele poștale cu un profil SOGo existent. Un utilizator trebuie să se fi fost conectat la SOGo cel puțin o dată.",
         "sogo_visible": "Aliasul este vizibil în SOGo",
         "sogo_visible_n": "Ascunde alias în SOGo",
         "sogo_visible_y": "Afișază alias în SOGo",
@@ -770,6 +830,7 @@
         "danger": "Pericol",
         "deliver_inbox": "Livrați în căsuța de e-mail",
         "disabled_by_config": "Configurația actuală a sistemului dezactivează funcția de carantină.",
+        "settings_info": "Numărul maxim de elemente în carantină: %s<br>Mărime maximă email: %s MiB",
         "download_eml": "Descarcă (.eml)",
         "empty": "Nici un rezultat",
         "high_danger": "Ridicat",
@@ -868,10 +929,12 @@
         "mailbox_added": "Cutia poștală %s a fost adăugată",
         "mailbox_modified": "Modificările cutiei poștale %s au fost salvate",
         "mailbox_removed": "Cutia poștală %s a fost eliminată",
+        "nginx_reloaded": "Nginx a fost reîncărcat",
         "object_modified": "Modificările obiectului %s au fost salvate",
         "pushover_settings_edited": "Setările pushover au fost setate cu succes, vă rugăm să verificați credențialele.",
         "qlearn_spam": "ID-ul mesajului %s a fost învățat ca spam și a fost șters",
         "queue_command_success": "Șirul de comenzi a fost terminat cu succes",
+        "password_policy_saved": "Politica pentru parole a fost salvată cu success",
         "recipient_map_entry_deleted": "ID-ul hărții destinatarului %s a fost șters",
         "recipient_map_entry_saved": "Intrarea hărții destinatarului \"%s\" a fost salvată",
         "relayhost_added": "Înregistrarea pentru hartă %s a fost adăugată",
@@ -893,7 +956,10 @@
         "verified_totp_login": "Autentificarea TOTP verificată",
         "verified_u2f_login": "Autentificarea U2F verificată",
         "verified_fido2_login": "Conectare FIDO2 verificată",
-        "verified_yotp_login": "Autentificarea Yubico OTP verificată"
+        "verified_yotp_login": "Autentificarea Yubico OTP verificată",
+        "xmpp_restarted": "Serviciul XMPP a fost repornit",
+        "xmpp_reloaded": "Serviciul XMPP a fost reîncărcat",
+        "xmpp_maps_updated": "Hărțile serviciului XMPP au fost actualizate"
     },
     "tfa": {
         "api_register": "%s utilizează API-ul Yubico Cloud. Obțineți o cheie API pentru cheia dvs. de <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">aici</a>",
@@ -956,9 +1022,11 @@
         "apple_connection_profile_complete": "Acest profil de conexiune include parametrii IMAP și SMTP, precum și calDAV (calendar) și carduri CardDAV (contacte) pentru dispozitivele Apple.",
         "apple_connection_profile_mailonly": "Acest profil de conexiune include parametrii de configurare IMAP și SMTP pentru dispozitivele Apple.",
         "change_password": "Schimbă parola",
+        "clear_recent_successful_connections": "Ștergeți conexiunile reușite văzute",
         "client_configuration": "Afișează ghidurile de configurare pentru clienții de email și smartphone-uri",
         "create_app_passwd": "Crează parola aplicației",
         "create_syncjob": "Crează o nouă lucrare de sincronizare",
+        "created_on": "Creat în",
         "daily": "Zilnic",
         "day": "zi",
         "delete_ays": "Vă rugăm să confirmați stergerea.",
@@ -970,10 +1038,13 @@
         "edit": "Editează",
         "email": "Email",
         "email_and_dav": "Email, calendar și contacte",
+        "empty": "Niciun rezultat",
         "encryption": "Criptare",
         "excludes": "Exclude",
         "expire_in": "Expiră în",
+        "fido2_webauthn": "FIDO2/AutWeb",
         "force_pw_update": "<b>Trebuie</b> să setezi o nouă parolă pentru a putea accesa serviciile legate de grupuri.",
+        "from": "de la",
         "generate": "generează",
         "hour": "oră",
         "hourly": "Din oră în oră",
@@ -982,17 +1053,26 @@
         "interval": "Interval",
         "is_catch_all": "Catch-all pentru domeniu/i",
         "last_mail_login": "Ultima autentificare pe mail",
+        "last_pw_change": "Ultima modificare a parolei",
         "last_run": "Ultima rulare",
+        "last_ui_login": "Ultima autentificare UI",
         "loading": "Se încarcă...",
+        "login_history": "Istoric autentificare",
+        "mailbox": "Mailbox",
         "mailbox_details": "Informații cutie poștală",
+        "mailbox_general": "Generale",
+        "mailbox_settings": "Setări",
         "messages": "mesaje",
+        "month": "lună",
+        "months": "luni",
         "never": "Niciodată",
         "new_password": "Parolă nouă",
-        "new_password_description": "Cerință: 6 caractere lungime, litere și numere.",
         "new_password_repeat": "Parola de confirmare (repetă)",
         "no_active_filter": "Nu este disponibil niciun filtru activ",
         "no_last_login": "Nu există informații despre ultima autentificare în interfață",
         "no_record": "Nici o înregistrare",
+        "open_logs": "Deschide jurnalele",
+        "open_webmail_sso": "Autentificare în webmail",
         "password": "Parolă",
         "password_now": "Parola curentă (confirmă modificările)",
         "password_repeat": "Parolă (repetă)",
@@ -1012,6 +1092,7 @@
         "quarantine_category": "Schimbați categoria notificărilor despre carantină",
         "quarantine_notification_info": "Odată ce o notificare a fost trimisă, elementele vor fi marcate ca fiind \"notificate\" și nu vor fi trimise alte notificări pentru acest articol.",
         "quarantine_category_info": "Categoria de notificări \"Respins\" include e-mailurile care au fost respinse, în timp ce \"Dosarul nedorit\" va notifica un utilizator despre mesajele care au fost introduse în dosarul nedorit.",
+        "recent_successful_connections": "Conexiuni reușite văzute",
         "remove": "Șterge",
         "running": "Funcţionare",
         "save": "Salvează modificările",
@@ -1062,7 +1143,9 @@
         "waiting": "Aşteptare",
         "week": "săptămână",
         "weekly": "Săptămânal",
-        "weeks": "săptămâni"
+        "weeks": "săptămâni",
+        "year": "an",
+        "years": "ani"
     },
     "warning": {
         "cannot_delete_self": "Nu se poate șterge utilizatorul conectat",
@@ -1071,6 +1154,7 @@
         "fuzzy_learn_error": "Eroare de învățare fuzzy hash: %s",
         "hash_not_found": "Hash-ul nu a fost găsit",
         "ip_invalid": "S-a ignorat adresa IP invalidă: %s",
+        "is_not_primary_alias": "Alias non-primary omis %s",
         "no_active_admin": "Nu se poate dezactiva ultimul administrator activ",
         "quota_exceeded_scope": "Cota de spațiu a domeniului depășită: Numai căsuțe poștale nelimitate pot fi create pe acest domeniu.",
         "session_token": "Token formular invalid: Nepotrivire token",
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.ru.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.ru.json
index 3eba344..f24ae35 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.ru.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.ru.json
@@ -26,7 +26,11 @@
         "syncjobs": "Задания синхронизации",
         "tls_policy": "Политика шифрования",
         "unlimited_quota": "Неограниченная квота для почтовых ящиков",
-        "domain_desc": "Изменение описания домена"
+        "domain_desc": "Изменение описания домена",
+        "xmpp_admin": "Повышение пользователя XMPP до администратора",
+        "xmpp_domain_access": "Настройка доступа XMPP для домена",
+        "xmpp_mailbox_access": "Настройка доступа XMPP для пользователей",
+        "xmpp_prefix": "Измение субдомена (префикса) XMPP"
     },
     "add": {
         "activate_filter_warn": "Активация этого фильтра отключит все остальные фильтры этого типа.",
@@ -35,14 +39,14 @@
         "add_domain_only": "Только добавить домен",
         "add_domain_restart": "Добавить домен и перезапустить SOGo",
         "alias_address": "Псевдоним/ы",
-        "alias_address_info": "<small>Укажите почтовые адреса разделенные запятыми или, если хотите пересылать все сообщения для домена владельцам псевонима то: <code>@example.com</code>. <b>Только домены mailcow разрешены</b>.</small>",
+        "alias_address_info": "<small>Укажите почтовые адреса разделенные запятыми или, если хотите пересылать все сообщения для домена владельцам псевдонима то: <code>@example.com</code>. <b>Только домены mailcow разрешены</b>.</small>",
         "alias_domain": "Псевдоним домена",
-        "alias_domain_info": "<small>Действительные имена доменов, разделенные запятыми.</small>",
+        "alias_domain_info": "<small>Действительные имена доменов, раздёленные запятыми.</small>",
         "app_name": "Название приложения",
         "app_password": "Добавить пароль приложения",
         "automap": "Автоматическое слияние папок (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
         "backup_mx_options": "Параметры резервного MX",
-        "comment_info": "Приватный комментарий не виден пользователям, а публичный - отображается рядом с певдонимом в личном кабинете пользователя.",
+        "comment_info": "Приватный комментарий не виден пользователям, а публичный - отображается рядом с псевдонимом в личном кабинете пользователя.",
         "custom_params": "Пользовательские параметры",
         "custom_params_hint": "Верно: --param=xy, не верно: --param xy",
         "delete1": "Удаление из источника после завершения",
@@ -50,7 +54,7 @@
         "delete2duplicates": "Удаление дубликатов по назначению",
         "description": "Описание",
         "destination": "Назначение",
-        "disable_login": "Вход в систему запрещен",
+        "disable_login": "Вход в систему запрещён",
         "domain": "Домен",
         "domain_matches_hostname": "Домен %s соответствует имени хоста",
         "domain_quota_m": "Квота домена (MiB)",
@@ -59,9 +63,15 @@
         "full_name": "Полное имя",
         "gal": "GAL - Глобальная адресная книга",
         "gal_info": "GAL содержит все объекты домена и не подлежит редактированию. Информация о занятости в SOGo будет отсутствовать для домена, если эта функция не будет включена! <b>Требуется перезапустить SOGo, чтобы изменения применились.</b>",
+        "xmpp": "Активировать XMPP для этого домена",
+        "xmpp_info": "Эта опция добавит функциональность чата для этого домена.",
+        "xmpp_access": "Пользователь XMPP",
+        "xmpp_access_info": "XMPP должен быть включен для этого домена.",
+        "xmpp_admin": "Администратор XMPP",
+        "xmpp_admin_info": "Повысить пользователя XMPP до <span class=\"text-danger\">администратора домена</span>.",
         "generate": "сгенерировать",
-        "goto_ham": "Запомнить как <span class=\"text-success\"><b>хам</b></span>",
-        "goto_null": "Отключить входящюю почту",
+        "goto_ham": "Запомнить как <span class=\"text-success\"><b>&laquo;ham&raquo;</b></span>",
+        "goto_null": "Отключить входящую почту",
         "goto_spam": "Запомнить как <span class=\"text-danger\"><b>спам</b></span>",
         "hostname": "Имя хоста",
         "inactive": "Неактивный",
@@ -94,7 +104,7 @@
         "skipcrossduplicates": "Пропускать повторяющиеся сообщения в папках",
         "subscribeall": "Подписаться на все папки и подпапки",
         "syncjob": "Добавить задание синхронизации",
-        "syncjob_hint": "К сведению: пароли к вашему аккаунту бытут сохранены на сервере в виде простого текста!",
+        "syncjob_hint": "К сведению: пароли к вашему аккаунту будут сохранены на сервере в виде простого текста!",
         "target_address": "Владельцы псевдонима",
         "target_address_info": "<small>Адреса почтовых ящиков, разделенные запятыми.</small>",
         "target_domain": "Целевой домен",
@@ -123,6 +133,8 @@
         "add_transports_hint": "Пожалуйста имейте в виду, что данные для аутентификации будут храниться в виде обычного текста.",
         "additional_rows": " добавлены дополнительные строки",
         "admin": "Администратор",
+        "admins": "Администраторы",
+        "admins_ldap": "LDAP Администраторы",
         "admin_details": "Изменить данные администратора",
         "admin_domains": "Домен назначения",
         "advanced_settings": "Расширенные настройки",
@@ -136,7 +148,7 @@
         "arrival_time": "Время получения (час.пояс сервера)",
         "authed_user": "Автор. польз.",
         "ays": "Вы уверены что хотите продолжить?",
-        "ban_list_info": "Список забаненных IP адресов: <b>подсеть (оставшееся время бана) - [действие]</b>.<br />IP-адреса, находящиеся в очереди на разблокирование, будут удалены из списка активных банов в течение нескольких секунд.<br />Красная метка обозначает что подсеть/хост находится в черном списоке.",
+        "ban_list_info": "Список забаненных IP адресов: <b>подсеть (оставшееся время бана) - [действие]</b>.<br />IP-адреса, находящиеся в очереди на разблокирование, будут удалены из списка активных банов в течение нескольких секунд.<br />Красная метка обозначает что подсеть/хост находится в черном списке.",
         "change_logo": "Изменить логотип",
         "configuration": "Глобальные настройки",
         "convert_html_to_text": "Сконвертировать HTML в обычный текст",
@@ -147,7 +159,7 @@
         "destination": "Назначение",
         "dkim_add_key": "Добавить ARC/DKIM ключ",
         "dkim_domains_selector": "Selector",
-        "dkim_domains_wo_keys": "Выберать домены с отсутствующими DKIM ключами",
+        "dkim_domains_wo_keys": "Выбрать домены с отсутствующими DKIM ключами",
         "dkim_from": "из",
         "dkim_from_title": "Исходный домен для копирования ключа",
         "dkim_key_length": "Длина DKIM ключа (bits)",
@@ -158,7 +170,7 @@
         "dkim_overwrite_key": "Перезаписать существующий ключ DKIM",
         "dkim_private_key": "Закрытый ключ",
         "dkim_to": "в",
-        "dkim_to_title": "Целевой домен/ы, учитите что DKIM будет перезаписан",
+        "dkim_to_title": "Целевой домен/ы (учтите, что DKIM будет перезаписан)",
         "domain": "Домен",
         "domain_admin": "Администратор домена",
         "domain_admins": "Администраторы домена",
@@ -183,12 +195,12 @@
         "flush_queue": "Отправить все сообщения",
         "forwarding_hosts": "Переадресация хостов",
         "forwarding_hosts_add_hint": "Можно указывать: IPv4/IPv6 подсети в нотации CIDR, имена хостов (которые будут разрешаться в IP-адреса) или доменные имена (которые будут решаться с IP-адресами путем запроса SPF записей или, в случае их отсутствия - запросом MX записей).",
-        "forwarding_hosts_hint": "Входящие сообщения безоговорочно принимаются от любых хостов, перечисленных здесь. Эти хосты не проходят проверку DNSBL и graylisting. Спам, полученный от них, никогда не отклоняется, но при желании можно включить фильтр спама и письма с плохим рейтингом будут попадать в Junk. Наиболее распространенное использование - указать почтовые серверы, на которых вы установили правило, которое перенаправляет входящие электронные письма на ваш почтовый сервер.",
+        "forwarding_hosts_hint": "Входящие сообщения безоговорочно принимаются от любых хостов, перечисленных здесь. Эти хосты не проходят проверку DNSBL и graylisting. Спам, полученный от них, никогда не отклоняется, но при желании можно включить спам фильтр и письма с плохим рейтингом будут попадать в Junk. Наиболее распространенное использование - указать почтовые серверы, на которых вы установили правило, которое перенаправляет входящие электронные письма на ваш почтовый сервер.",
         "from": "От",
         "generate": "сгенерировать",
         "guid": "GUID - уникальный ID",
         "guid_and_license": "Лицензия и GUID",
-        "hash_remove_info": "Удаление хеша лимитов отправки (если оно правило настроено) полностью сбрасывает счетчики лимитов.<br>\r\n  Каждый хэш обозначен отдельным цветом.",
+        "hash_remove_info": "Удаление хеша лимитов отправки (если правило настроено) полностью сбрасывает счётчики лимитов.<br>\r\n  Каждый хэш обозначен своим цветом.",
         "help_text": "Заменить текст справки на странице логина (использование HTML разрешено)",
         "host": "Хост",
         "html": "HTML",
@@ -200,7 +212,7 @@
         "include_exclude_info": "По умолчанию - без выбора - <b>все почтовые ящики</b> адресованы",
         "includes": "Включить этих получателей",
         "last_applied": "Посл. применение",
-        "license_info": "Лицензия не обезательна, но ее приобритение помогает дальнейшему развитию mailcow.<br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"SAL order\">Зарегистрируйте свой GUID здесь</a> или <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Заказать поддержку\">приобретите поддержку для вашей установки mailcow.</a>",
+        "license_info": "Лицензия не обязательна, но её приобретение помогает дальнейшему развитию mailcow.<br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"SAL order\">Зарегистрируйте свой GUID здесь</a> или <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Заказать поддержку\">приобретите поддержку для вашей установки mailcow.</a>",
         "link": "Ссылка",
         "loading": "Пожалуйста, подождите...",
         "logo_info": "Ваше изображение будет масштабироваться до высоты 40px для верхней панели навигации и до 250px ширины для стартовой страницы. <br>Рекомендуется использовать векторную графику, на пример: .svg.",
@@ -211,17 +223,24 @@
         "message_size": "Размер сообщения",
         "nexthop": "Следующий хост",
         "no": "&#10005;",
-        "no_active_bans": "В данный момент нет забаненых подсетей/хостов",
+        "no_active_bans": "В данный момент нет забаненных подсетей/хостов",
         "no_new_rows": "Нет доступных строк",
         "no_record": "Нет записей",
         "oauth2_client_id": "ID клиента",
         "oauth2_client_secret": "Секретный ключ пользователя",
-        "oauth2_info": "Реализация OAuth2 поддерживает предоставления кодов авторизации и выдает токены продленния сесии.<br>\r\nСервер также автоматически выдает новый токен продления сессии, после того, как предыдущий был использован.<br><br>\r\n→ Scope по умолчанию: <i>profile</i>. Только пользователи почтовых аккаунтов могут проходить аутентификацию через OAuth2. Если параметр области не указан, он возвращается к <i>profile</i>.<br>\r\n→ Параметр <i>state</i> должен быть отправлен клиентом как часть запроса для авторизации.<br><br>\r\nПути для запросов OAuth2 API: <br>\r\n<ul>\r\n  <li>Authorization endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nГенерирование нового клиентского секрета не приводит к истечению существующих кодов авторизации, но они не смогут обновить свой токен.<br><br>\r\nОтзыв клиентских токенов приведет к немедленному прекращению всех активных сеансов. Все клиенты должны будут пройти повторную аутентификацию.",
+        "oauth2_info": "Реализация OAuth2 поддерживает предоставления кодов авторизации и выдает токены продления сессии.<br>\r\nСервер также автоматически выдает новый токен продления сессии, после того, как предыдущий был использован.<br><br>\r\n→ Scope по умолчанию: <i>profile</i>. Только пользователи почтовых аккаунтов могут проходить аутентификацию через OAuth2. Если параметр области не указан, он возвращается к <i>profile</i>.<br>\r\n→ Параметр <i>state</i> должен быть отправлен клиентом как часть запроса для авторизации.<br><br>\r\nПути для запросов OAuth2 API: <br>\r\n<ul>\r\n  <li>Authorization endpoint: <code>/oauth/authorize</code></li>\r\n  <li>Token endpoint: <code>/oauth/token</code></li>\r\n  <li>Resource page:  <code>/oauth/profile</code></li>\r\n</ul>\r\nГенерирование нового клиентского секрета не приводит к истечению существующих кодов авторизации, но они не смогут обновить свой токен.<br><br>\r\nОтзыв клиентских токенов приведет к немедленному прекращению всех активных сеансов. Все клиенты должны будут пройти повторную аутентификацию.",
         "oauth2_redirect_uri": "Переадресация URI",
         "oauth2_renew_secret": "Сгенерировать новый ключ клиента",
         "oauth2_revoke_tokens": "Отозвать все клиентские токены",
-        "optional": "опцыонально",
+        "optional": "опционально",
         "password": "Пароль",
+        "password_length": "Минимальная длина пароля",
+        "password_policy": "Политика паролей",
+        "password_policy_chars": "Должен содержать алфавитный символ",
+        "password_policy_length": "Минимальная длина пароля %d символов",
+        "password_policy_numbers": "Должен содержать цифру",
+        "password_policy_lowerupper": "Должны содержать символы верхнего и нижнего регистров",
+        "password_policy_special_chars": "Должны содержать специальный символ",
         "password_repeat": "Подтверждение пароля (повтор)",
         "priority": "Приоритет",
         "private_key": "Закрытый ключ",
@@ -229,8 +248,8 @@
         "quarantine_bcc": "Отправка копии всех уведомлений (BCC) к получателю:<br><small><b>Получатель должен быть внутренним, так как почта не подписана и не проверена. </b></br>Отключено, если получатель не указан.</small>",
         "quarantine_exclude_domains": "Исключить домены и псевдонимы доменов",
         "quarantine_max_age": "Максимальный период хранения в днях<br><small>Значение должно быть равно или больше 1 дня.</small>",
-        "quarantine_max_size": "Максимальный размер в MiB (письма большего размера не будет сохранены):<br><small>0 <b>не означает</b> неограниченый размер.</small>",
-        "quarantine_max_score": "Не уведомлять о спаме если оценка письма выче чем:<br><small>По умолчанию 9999.0</small>",
+        "quarantine_max_size": "Максимальный размер в MiB (письма большего размера не будет сохранены):<br><small>0 означает, что карантин <b>отключён</b>.</small>",
+        "quarantine_max_score": "Не уведомлять о спаме, если оценка письма выше, чем:<br><small>По умолчанию 9999.0</small>",
         "quarantine_notification_html": "Шаблон уведомления:<br><small>Оставьте пустым, чтобы восстановить шаблон по умолчанию.</small>",
         "quarantine_notification_sender": "Email-адрес для отправки уведомления",
         "quarantine_notification_subject": "Тема письма",
@@ -238,7 +257,7 @@
         "quarantine_release_format": "Формат доставки писем после восстановления",
         "quarantine_release_format_att": "Как вложение",
         "quarantine_release_format_raw": "Оригинальное письмо",
-        "quarantine_retention_size": "Количество писем сохраненных в карантине на аккаунт:<br><small>0 значит что лимита <b>нет</b>.</small>",
+        "quarantine_retention_size": "Количество писем, сохраняемых в карантине на аккаунт:<br><small>0 означает, что карантин <b>отключён</b>.</small>",
         "queue_ays": "Пожалуйста, подтвердите, что вы хотите удалить все элементы из очереди.",
         "queue_deliver_mail": "Доставить",
         "queue_hold_mail": "Поставить на удержание",
@@ -254,13 +273,14 @@
         "quota_notifications_vars": "{{percent}} равно текущей квоте пользователя<br>{{username}} - имя почтового аккаунта",
         "r_active": "Включенные ограничения",
         "r_inactive": "Отключенные ограничения",
-        "r_info": "Не активные (серые) елементы списка ограничений - это не валидные ограничения, и они не могут быть перемещены. <br>Вы можете добавить новые элементы в <code>inc/vars.local.inc.php</code> чтобы иметь возможность настраивать их.",
+        "r_info": "Не активные (серые) элементы списка ограничений - это не валидные ограничения, и они не могут быть перемещены. <br>Вы можете добавить новые элементы в <code>inc/vars.local.inc.php</code> чтобы иметь возможность настраивать их.",
         "rate_name": "Название очереди",
         "recipients": "Получатели",
         "refresh": "Обновить",
         "regen_api_key": "Сгенерировать новый ключ для API",
         "regex_maps": "Фильтрация с помощью регулярных выражений",
-        "relay_from": "\"От:\" адрес",
+        "relay_from": "\"От:\"",
+        "relay_rcpt": "\"Кому:\"",
         "relay_run": "Запустить тест",
         "relayhosts": "Транспортировка в зависимости от отправителя",
         "relayhosts_hint": "Определите промежуточные узлы здесь, чтобы иметь возможность выбрать их в диалоговом окне конфигурации доменов.",
@@ -275,14 +295,14 @@
         "rsetting_no_selection": "Пожалуйста, выберите правило",
         "rsetting_none": "Нет доступных правил",
         "rsettings_insert_preset": "Вставить пример \"%s\"",
-        "rsettings_preset_1": "Disable all but DKIM and rate limit for authenticated users",
+        "rsettings_preset_1": "Отключить все, кроме DKIM и ограничения скорости для аутентифицированных пользователей ",
         "rsettings_preset_2": "Postmasters want spam",
-        "rsettings_preset_3": "Only allow specific senders for a mailbox (i.e. usage as internal mailbox only)",
-        "rspamd-com_settings": "Имена правил будут сгенерированы на основе их ID.<br> Инструкция доступна на сайте <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">документация Rspamd user settings</a>, заготовленые шаблоны:",
+        "rsettings_preset_3": "Разрешить только определённых отправителей для почтового ящика (использование только в качестве внутреннего почтового ящика) ",
+        "rspamd-com_settings": "Имена правил будут сгенерированы на основе их ID.<br> Инструкция доступна на сайте <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">документация Rspamd user settings</a>, заготовленные шаблоны:",
         "rspamd_global_filters": "Глобальные правила фильтрации",
-        "rspamd_global_filters_agree": "Я понимаю что я делаю, и буду осторожен!",
+        "rspamd_global_filters_agree": "Я понимаю, что я делаю, и буду осторожен!",
         "rspamd_global_filters_info": "Глобальные правила фильтрации содержат различные виды глобальных черных и белых списков.",
-        "rspamd_global_filters_regex": "Названия фильтров отражают их предназначение. Все правила должены состоять из регулярных выражений в формате \"/pattern/options\" (на пример: <code>/.+@domain\\.tld/i</code>).<br>\r\nНе смотря на то что перед сохранением правил выполняются проверка регулярных выражения, функциональность Rspamds может быть нарушена, если будет использован<br>\r\n некорректный синтаксис. Бульте вниматильны при написании правил.<br>Электронные письма от адресов электронной почты проходящие по регулярным выражениям черных списков будут отклонены без сохранения в карантин.<br>\r\n Rspamd попытается прочитать содержимое правил при их изменении. Но, если что, вы можете <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\" data-target=\"#RestartContainer\">перезапустить Rspamd</a>, что бы приминить последние изменения принудительно.",
+        "rspamd_global_filters_regex": "Названия фильтров отражают их предназначение. Все правила должены состоять из регулярных выражений в формате \"/pattern/options\" (на пример: <code>/.+@domain\\.tld/i</code>).<br>\r\nНесмотря на то, что перед сохранением правил выполняется проверка регулярных выражений, функциональность Rspamds может быть нарушена, если будет использован<br>\r\n некорректный синтаксис. Будьте внимательны при написании правил.<br>Электронные письма от адресов электронной почты, проходящие по регулярным выражениям черных списков, будут отклонены без сохранения в карантин.<br>\r\n Rspamd попытается прочитать содержимое правил при их изменении. Но, если что, вы можете <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\" data-target=\"#RestartContainer\">перезапустить Rspamd</a>, чтобы принять последние изменения принудительно.",
         "rspamd_settings_map": "Правила Rspamd",
         "sal_level": "Уровень Муу",
         "save": "Сохранить изменения",
@@ -291,17 +311,18 @@
         "sender": "Отправитель",
         "service_id": "ID сервиса",
         "source": "Источник",
-        "spamfilter": "Фильтр спама",
+        "spamfilter": "Спам фильтр",
         "subject": "Тема письма",
         "sys_mails": "Системные сообщения",
         "text": "Обычный текст",
         "time": "Время",
-        "title": "Заголовок",
-        "title_name": "Заглавие сайта \"mailcow UI\"",
+        "title": "Название \"mailcow UI\" для страницы входа:",
+        "title_name": "Заголовок <b>title</b> \"mailcow UI\":",
         "to_top": "Вернуться к началу",
         "transport_dest_format": "example.org, .example.org, *, box@example.org (несколько значений могут быть разделены запятыми)",
         "transport_maps": "Глобальные правила отправки",
-        "transports_hint": "→ Записи в transport map <b>отменяют</b> sender-dependent transport map</b>.<br>\r\n→ Пользовательские политики TLS для исодящей почты будут проигнорированы и будут использовать политику TLS для записей используемых сдесь.<br>\r\n→ Протокол для доставки всегда \"smtp:\".<br>\r\n→ Адреса соответствующие \"/localhost$/\" всегда будут доставлены \"local:\", следовательно политика \"*\" не распостраняется на них.<br>\r\n→ Чтобы определить учетные данные для следующего узла \"[host]:25\", Postfix <b>всегда</b> ищет данные для \"host\" перед тем как искать \"[host]:25\". Такое поведение делает невозможным использование \"host\" and \"[host]:25\" одновременно.",
+        "transports_hint": "→ Записи в transport map <b>отменяют</b> sender-dependent transport map</b>.<br>\r\n→ Пользовательские политики TLS для исходящей почты будут проигнорированы и будут использовать политику TLS для записей используемых здесь.<br>\r\n→ Протокол для доставки всегда \"smtp:\".<br>\r\n→ Адреса соответствующие \"/localhost$/\" всегда будут доставлены \"local:\", следовательно политика \"*\" не распространяется на них.<br>\r\n→ Чтобы определить учётные данные для следующего узла \"[host]:25\", Postfix <b>всегда</b> ищет данные для \"host\" перед тем как искать \"[host]:25\". Такое поведение делает невозможным использование \"host\" and \"[host]:25\" одновременно.",
+        "transport_test_rcpt_info": "→ Используйте null@hosted.mailcow.de для тестирования пересылки на внешний пункт назначения.",
         "ui_footer": "Добавить нижний колонтитул (использование HTML разрешено)",
         "ui_header_announcement": "Объявления",
         "ui_header_announcement_active": "Активировать объявление",
@@ -312,9 +333,9 @@
         "ui_header_announcement_type_danger": "Очень важное",
         "ui_header_announcement_type_info": "Инфо",
         "ui_header_announcement_type_warning": "Важное",
-        "ui_texts": "UI найменования и описания",
+        "ui_texts": "UI наименования и описания",
         "unban_pending": "ожидает разблокировки",
-        "unchanged_if_empty": "Если без изменений оставьте пустым",
+        "unchanged_if_empty": "Если без изменений, оставьте пустым",
         "upload": "Загрузить",
         "username": "Имя пользователя",
         "validate_license_now": "Получить лицензию на основе GUID с сервера лицензий",
@@ -322,7 +343,7 @@
         "yes": "&#10003;"
     },
     "danger": {
-        "access_denied": "Доступ запрещен или указаны неверные данные",
+        "access_denied": "Доступ запрещён, или указаны неверные данные",
         "alias_domain_invalid": "Недопустимый псевдоним домена",
         "alias_empty": "Псевдоним не может быть пустым",
         "alias_goto_identical": "Псевдоним и основной адрес не могут быть идентичными",
@@ -333,8 +354,8 @@
         "app_passwd_id_invalid": "Пароль приложения ID %s неверный",
         "bcc_empty": "Назначение BCC не может быть пустым",
         "bcc_exists": "Для типов %s уже существует карта BCC %s",
-        "bcc_must_be_email": "Назначение BCC %s является не валдиным адресом электронной почты",
-        "comment_too_long": "Комментарий слишком длинный, макс. 160 символов разрешено использовать.",
+        "bcc_must_be_email": "Назначение BCC %s не является правильным адресом электронной почты",
+        "comment_too_long": "Комментарий слишком длинный. Разрешено использовать максимум 160 символов.",
         "defquota_empty": "Квота по умолчанию не может быть 0.",
         "description_invalid": "Недопустимое описание ресурса %s",
         "dkim_domain_or_sel_exists": "Ключ DKIM для \"%s\" уже существует",
@@ -348,24 +369,25 @@
         "extra_acl_invalid": "Адрес внешнего отправителя \"%s\" не валидный.",
         "extra_acl_invalid_domain": "Адрес внешнего отправителя \"%s\" не валидный домен.",
         "file_open_error": "Файл не может быть открыт на запись",
-        "filter_type": "Не верный тип фильтра",
+        "filter_type": "Неверный тип фильтра",
         "from_invalid": "Отправитель не может быть пустым",
         "global_filter_write_error": "Ошибка записи фильтра в файл: %s",
         "global_map_invalid": "Идентификатор глобального правила %s не валидный",
         "global_map_write_error": "Не удалось создать глобальное правило ID %s: %s",
+        "xmpp_map_write_error": "Ошибка записи настроек XMPP: %s",
         "goto_empty": "Псевдоним должен содержать по крайней мере один валидный адрес владельца",
         "goto_invalid": "Недопустимый основной адрес %s",
-        "ham_learn_error": "Ошибка при обучении хам фильтра: %s",
+        "ham_learn_error": "Ошибка при обучении &laquo;ham&raquo; фильтра: %s",
         "imagick_exception": "Ошибка в Imagick при чтении изображения",
         "img_invalid": "Невозможно проверить файл изображения",
         "img_tmp_missing": "Невозможно проверить файл изображения: временный файл не найден",
-        "invalid_bcc_map_type": "Не верный тип правила BBC",
-        "invalid_destination": "Назначение \"%s\" указано не верно",
-        "invalid_filter_type": "Не верный тип фильтра",
-        "invalid_host": "Хост %s указан не верно",
-        "invalid_mime_type": "Не верный mime type",
-        "invalid_nexthop": "Формат следующего хоста не верен",
-        "invalid_nexthop_authenticated": "Cледующий хост существует с разными данными авторизации, пожалуйста, обновите существующие данные авторизации сначала для этого хоста.",
+        "invalid_bcc_map_type": "Неверный тип правила BBC",
+        "invalid_destination": "Назначение \"%s\" указано неверно",
+        "invalid_filter_type": "Неверный тип фильтра",
+        "invalid_host": "Хост %s указан неверно",
+        "invalid_mime_type": "Неверный mime type",
+        "invalid_nexthop": "Формат следующего хоста неверен",
+        "invalid_nexthop_authenticated": "Следующий хост существует с разными данными авторизации, пожалуйста, обновите существующие данные авторизации сначала для этого хоста.",
         "invalid_recipient_map_new": "Новый получатель: %s не валидный",
         "invalid_recipient_map_old": "Первоначальный получатель: %s не валидный",
         "ip_list_empty": "Список разрешенных IP адресов не может быть пустым",
@@ -384,9 +406,10 @@
         "map_content_empty": "Содержание правила не может быть пустым",
         "max_alias_exceeded": "Превышено максимальное количество псевдонимов",
         "max_mailbox_exceeded": "Превышено максимальное количество почтовых ящиков (%d из %d)",
-        "max_quota_in_use": "Квота почтового аккаунта должна быть больше или равена %d MiB",
+        "max_quota_in_use": "Квота почтового аккаунта должна быть больше или равна %d MiB",
         "maxquota_empty": "Максимальная квота почтового аккаунта не должна быть 0.",
         "mysql_error": "Ошибка в MySQL: %s",
+        "nginx_reload_failed": "Обновление конфигурации Nginx не удалось: %s",
         "network_host_invalid": "Сеть или хост: %s не валидный",
         "next_hop_interferes": "%s пересекается с %s",
         "next_hop_interferes_any": "Существующий хост пересекается с %s",
@@ -407,7 +430,7 @@
         "redis_error": "Ошибка в Redis: %s",
         "relayhost_invalid": "Правило %s не валидное",
         "release_send_failed": "Сообщение не может быть восстановлено: %s",
-        "reset_f2b_regex": "Сброс фильтров не был выполнен за отведеный промежуток времени, пожалуйста, повторите попытку или подождите еще несколько секунд и перезагрузите веб страницу.",
+        "reset_f2b_regex": "Сброс фильтров не был выполнен за отведённый промежуток времени, пожалуйста, повторите попытку или подождите еще несколько секунд и перезагрузите веб страницу.",
         "resource_invalid": "Недопустимое имя ресурса",
         "rl_timeframe": "Не верный временной интервал для лимита отправки",
         "rspamd_ui_pw_length": "Длина пароля должна составлять не менее 6 символов для Rspamd UI",
@@ -433,11 +456,13 @@
         "fido2_verification_failed": "Ошибка валидации FIDO2: %s",
         "unknown": "Произошла неизвестная ошибка",
         "unknown_tfa_method": "Неизвестный метод TFA",
-        "unlimited_quota_acl": "Неограниченная квота запрещена политкой доступа",
+        "unlimited_quota_acl": "Неограниченная квота запрещена политикой доступа",
         "username_invalid": "Имя пользователя %s нельзя использовать",
         "validity_missing": "Пожалуйста, назначьте срок действия",
         "value_missing": "Пожалуйста заполните все поля",
-        "yotp_verification_failed": "Ошибка валидации Yubico OTP: %s"
+        "yotp_verification_failed": "Ошибка валидации Yubico OTP: %s",
+        "xmpp_restart_failed": "Перезагрузка XMPP не удалась",
+        "xmpp_reload_failed": "Обновление конфигурации Dovecot не удалось"
     },
     "debug": {
         "chart_this_server": "Диаграмма (текущий сервер)",
@@ -447,49 +472,54 @@
         "history_all_servers": "История (все серверы)",
         "in_memory_logs": "Журналы контейнеров",
         "jvm_memory_solr": "Использовано оперативной памяти JVM",
-        "log_info": "<p><b>Журналы контейнеров</b> mailcow сохраняются в Redis, и раз в минуту строки журнала за приделами <code>LOG_LINES (%d)</code> удаляются, чтобы уменьшить нагрузку на сервер.\r\n  <br> Сами журналы контейнеров не сохраняются после перезагрузка контейнера. Все контейнеры дополнительно пишут логи в службу Docker и следовательно используют драйвер логирования по умолчанию. Журналы контейнеров предусмотрены только для отладки мелких проблем. Для других задач, пожалуйста, настройте драйвер логирования Docker под свои задачи.</p>\r\n  <p><b>Внешние журналы</b> собираются через API приложений.</p>\r\n  <p><b>Статические журналы</b> - это в основном журналы активности, которые не записываются в Dockerd, но все равно должны быть постоянными (за исключением журналов API).</p>",
+        "log_info": "<p><b>Журналы контейнеров</b> mailcow сохраняются в Redis, и раз в минуту строки журнала за пределами <code>LOG_LINES (%d)</code> удаляются, чтобы уменьшить нагрузку на сервер.\r\n  <br>Сами журналы контейнеров не сохраняются после перезагрузки контейнера. Все контейнеры дополнительно пишут логи в службу Docker, и, следовательно, используют драйвер логирования по умолчанию. Журналы контейнеров предусмотрены только для отладки мелких проблем. Для других задач, пожалуйста, настройте драйвер логирования Docker самостоятельно.</p>\r\n  <p><b>Внешние журналы</b> собираются через API приложений.</p>\r\n  <p><b>Статические журналы</b> &ndash; это, в основном, журналы активности, которые не записываются в Dockerd, но все равно должны быть постоянными (за исключением журналов API).</p>",
         "logs": "Журналы",
         "restart_container": "Перезапустить",
-        "solr_dead": "Solr не запущен. Если вы включили Solf в файле настроек <code>mailcow.conf</code> и это сообщение отображает более получаса, скорее всего Solr сломан.",
-        "solr_docs": "Проиндексировано обьектов",
-        "solr_last_modified": "Последние изменения",
-        "solr_size": "Индексы занимают",
-        "solr_started_at": "Запущен",
+        "solr_dead": "Solr не запущен. Если вы включили Solf в файле настроек <code>mailcow.conf</code> и это сообщение отображается более получаса, скорее всего Solr сломан.",
+        "xmpp_dead": "XMPP не запущен. Если вы включили XMPP в настройках домена и это сообщение отображается более получаса, скорее всего XMPP сломан.",
+        "docs": "Проиндексировано объектов",
+        "last_modified": "Последние изменения",
+        "online_users": "Подключено пользователей",
+        "size": "Индексы занимают",
+        "started_at": "Запущен",
         "solr_status": "Состояние Solr",
-        "solr_uptime": "Время работы",
+        "uptime": "Время работы",
         "started_on": "Запущен в",
         "static_logs": "Статические журналы",
-        "system_containers": "Система и контейнеры"
+        "system_containers": "Система и контейнеры",
+        "xmpp_status": "Статус XMPP"
     },
     "diagnostics": {
         "cname_from_a": "Значение, полученное из записи A/AAAA. Это поддерживается до тех пор, пока запись указывает на правильный ресурс.",
         "dns_records": "Записи DNS",
         "dns_records_24hours": "Обратите внимание, что для внесения изменений в DNS может потребоваться до 24 часов, чтобы правильно отобразить их текущее состояние на этой странице. Эта страница предназначен для того, чтобы вы могли легко увидеть, как настроить записи DNS и проверить, все ли записи правильно занесены в DNS.",
+        "dns_records_docs": "Пожалуйста, ознакомьтесь с <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">документацией</a>.",
         "dns_records_data": "Значение",
         "dns_records_name": "Название",
         "dns_records_status": "Статус",
         "dns_records_type": "Тип",
-        "optional": "Эта запись не обезательна."
+        "optional": "Эта запись не обязательна."
     },
     "edit": {
         "active": "Активный",
+        "admin": "Изменение администратора",
         "advanced_settings": "Расширенные настройки",
         "alias": "Изменить псевдоним",
         "allow_from_smtp": "Разрешить использование <b>SMTP</b> только для этих IP",
-        "allow_from_smtp_info": "Укажите IPv4/IPv6 адреса и/или подсети.<br>Оставьте поле пустым, чтобы разрешить отправитвку с любых адресов.",
-        "allowed_protocols": "Разрешенные протоколы",
+        "allow_from_smtp_info": "Укажите IPv4/IPv6 адреса и/или подсети.<br>Оставьте поле пустым, чтобы разрешить отправку с любых адресов.",
+        "allowed_protocols": "Разрешённые протоколы",
         "app_name": "Название приложения",
         "app_passwd": "Пароль приложения",
         "automap": "Автоматическое слияние папок (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
         "backup_mx_options": "Параметры резервного копирования MX",
-        "bcc_dest_format": "Назначением для правила BBC долженен быть единственным действительный адресом электронной почты.",
+        "bcc_dest_format": "Назначением для правила BBC должен быть единственный действительный адрес электронной почты.",
         "client_id": "ID клиента",
         "client_secret": "Секретный ключ пользователя",
-        "comment_info": "Приватный комментарий не виден пользователям, а публичный - отображается рядом с певдонимом в личном кабинете пользователя",
+        "comment_info": "Приватный комментарий не виден пользователям, а публичный - отображается рядом с псевдонимом в личном кабинете пользователя",
         "delete1": "Удаление из источника после завершения",
         "delete2": "Удаление писем по месту назначения, которые не находятся на исходном",
         "delete2duplicates": "Удаление дубликатов по назначению",
-        "delete_ays": "Пожалуйста, подтвердите удалитение",
+        "delete_ays": "Пожалуйста, подтвердите удаление",
         "description": "Описание",
         "disable_login": "Вход в систему запрещен",
         "domain": "Изменение домена",
@@ -501,12 +531,21 @@
         "encryption": "Шифрование",
         "exclude": "Исключить объекты (regex)",
         "extended_sender_acl": "Внешние адреса почты",
-        "extended_sender_acl_info": "Для внешних доменов должен быть импортирован или сгенерирован доменный ключ DKIM с соответствующей записью TXT в домене если внешний домен использует DMARC.<br>\r\n  Не забудьте добавить этот сервер к соответствующей записи SPF TXT внешнего домена.<br>\r\n  Добавление домена из списка внешних адресов в mailcow автоматически удалит соответствующие записи из внешних адресов пользователей.<br>\r\n  Что бы разрешить пользователю отправку от имени *@domain.tld, укажите @domain.tld.",
+        "extended_sender_acl_info": "Для внешних доменов должен быть импортирован или сгенерирован доменный ключ DKIM с соответствующей записью TXT в домене, если внешний домен использует DMARC.<br>\r\n  Не забудьте добавить этот сервер к соответствующей записи SPF TXT внешнего домена.<br>\r\n  Добавление домена из списка внешних адресов в mailcow автоматически удалит соответствующие записи из внешних адресов пользователей.<br>\r\n  Чтобы разрешить пользователю отправку от имени *@domain.tld, укажите @domain.tld.",
         "force_pw_update": "Требовать смены пароля при следующем входе в систему",
         "force_pw_update_info": "Пользователь должен будет войти в %s и сменить свой пароль. mailcow OAuth2, SOGo, EAS, IMAP/POP3 и SMTP будут не доступны до смены пароля.",
         "full_name": "Полное имя",
         "gal": "GAL - Глобальная адресная книга",
-        "gal_info": "GAL содержит все объекты домена и не подлежит редактированию. Информация о занятости в SOGo будет отсутствовать для домена, если эта функция не будет включена! <b>Требуется перезапустить SOGo, чтобы изменения применились.</b>",
+        "gal_info": "GAL содержит все объекты домена и не подлежит редактированию. Информация о занятости в SOGo будет отсутствовать для домена, если данная функция будет отключена! <b>Требуется перезапустить SOGo, чтобы применить изменения.</b>",
+        "xmpp": "Включить поддержку XMPP для этого домена",
+        "xmpp_prefix": "Префикс домена XMPP",
+        "xmpp_prefix_info": "Для получения SSL сертификатов для XMPP сервера необходимо настроить дополнительные CNAME DNS записи <b>im</b>.example.org и <b>*.im</b>.example.org, указывающие на <b>%s</b>. Пожалуйста, посетите страницу проверки DNS записей домена после включения XMPP сервера в mailcow UI.",
+        "xmpp_info": "Эта опция добавит функциональность чата для этого домена.",
+        "xmpp_access": "Пользователь XMPP",
+        "xmpp_access_info": "XMPP должен быть включен для этого домена.",
+        "xmpp_admin": "Администратор XMPP",
+        "xmpp_admin_info": "Повысить пользователя XMPP до <span class=\"text-danger\">администратора домена</span>.",
+        "xmpp_example_jid": "<b>Пример JID</b> (используя пароль почтового аккаунта)",
         "generate": "сгенерировать",
         "grant_types": "Разрешено типы",
         "hostname": "Имя хоста",
@@ -532,12 +571,13 @@
         "pushover_info": "Настройки Push-уведомления будут применяться ко всей почте <b>%s</b> (за исключением спама) включая псевдонимы (личные, общие и тегированные).",
         "pushover_only_x_prio": "Получать уведомления только об письмах с высоким приоритетом [<code>X-Priority: 1</code>]",
         "pushover_sender_array": "Получать уведомления от списка адресов электронной почты <small>(envelop-from разделенные запятыми)</small>:",
-        "pushover_sender_regex": "Получать уведомления от отправителей удовлетворяющих regex-выражение:",
+        "pushover_sender_regex": "Получать уведомления от отправителей, удовлетворяющих regex-выражению:",
         "pushover_text": "Текст уведомления",
         "pushover_title": "Заголовок уведомления",
-        "pushover_vars": "Когда фильтрация по отправителю не определена, уведомения будут доставлятся от всех отправителей.<br>Можно использовать обычный фильтр по отправителю и разширенный regex-фильтр, а так же оба сразу.<br>Пожалуйста, ознакомьтесь с <a href=\"https://pushover.net/privacy\">Pushover Privacy Policy</a> перед использованием шаблонов для текста и заголовка",
+        "pushover_vars": "Когда фильтрация по отправителю не определена, уведомления будут доставлятся от всех отправителей.<br>Можно использовать обычный фильтр по отправителю и расширенный regex-фильтр, а также оба сразу.<br>Пожалуйста, ознакомьтесь с <a href=\"https://pushover.net/privacy\">Pushover Privacy Policy</a> перед использованием шаблонов для текста и заголовка",
         "pushover_verify": "Проверить доступ",
         "quota_mb": "Квота (MiB)",
+        "ratelimit": "Лимит отправки",
         "redirect_uri": "URL-адрес переадресация/обратный вызов",
         "relay_all": "Ретрансляция всех получателей",
         "relay_all_info": "↪<small>Если вы решите <b>не</b> ретранслировать всех получателей, вам нужно будет добавить (\"слепой\") почтовый аккаунт для каждого получателя, которого следует ретранслировать.</small>",
@@ -551,20 +591,21 @@
         "scope": "Область",
         "sender_acl": "Разрешить отправлять письма от имени",
         "sender_acl_disabled": "<span class=\"label label-danger\">Проверка отправителя отключена</span>",
-        "sender_acl_info": "Учтите, что если пользователю почтового аккаунта A разрешено отправлять от имени пользователя B, адрес пользователя B автоматически не отобразится в списке \"Отправитель\" при написании писем в SOGo.<br>\r\n  Пользователь почтового аккаунта B должен создать делегирование в SOGo, чтобы пользователь почтового аккаунта A мог выбрать его адрес в качестве отправителя. Делегирование находится в меню (троеточие) справа от имени почтового аккаунта в окне почты SOGo. Это поведение не относится к псевдонимам.",
+        "sender_acl_info": "Учтите, что если пользователю почтового аккаунта A разрешено отправлять от имени пользователя B, то адрес пользователя B не отобразится автоматически в списке \"Отправитель\" при написании писем в SOGo.<br>\r\n  Пользователь почтового аккаунта B должен создать делегирование в SOGo, чтобы пользователь почтового аккаунта A мог выбрать его адрес в качестве отправителя. Делегирование находится в меню (троеточие) справа от имени почтового аккаунта в окне почты SOGo. Это поведение не относится к псевдонимам.",
         "sieve_desc": "Краткое описание",
         "sieve_type": "Тип фильтра",
         "skipcrossduplicates": "Пропускать повторяющиеся сообщения в папках",
         "sogo_access": "Предоставить доступ к SOGo",
         "sogo_access_info": "Этот параметр не влияет на доступ ко всем другим службам, в том числе на право удаления или изменение существующего профиля пользователя SOGo.",
         "sogo_visible": "Отображать псевдоним в SOGo",
-        "sogo_visible_info": "Влияет только на объекты, которые могут отображаться в SOGo (персональные или общие псевдонимы, указывающие как минимум на один локальный почтовый аккаунт). Учтите что если функция отключена, у пользователей не будет возможности выбрать адрес псевдонима в качестве отправителя в SOGo.",
+        "sogo_visible_info": "Влияет только на объекты, которые могут отображаться в SOGo (персональные или общие псевдонимы, указывающие как минимум на один локальный почтовый аккаунт). Учтите, что если функция отключена, у пользователей не будет возможности выбрать адрес псевдонима в качестве отправителя в SOGo.",
         "spam_alias": "Создать или изменить временные (спам) псевдонимы",
         "spam_policy": "Добавление или удаление элементов в белом/черном списке",
+        "spam_filter": "Спам фильтр",
         "spam_score": "Задать индивидуальное определение спама",
         "subfolder2": "Синхронизировать в подпапку<br><small>(пусто = в корень)</small>",
         "syncjob": "Изменить задание синхронизации",
-        "target_address": "Владельцы псевдонима <small>(разделенные запятыми)</small>",
+        "target_address": "Владельцы псевдонима, <small>(разделённые запятыми)</small>",
         "target_domain": "Целевой домен",
         "timeout1": "Тайм-аут для подключения к удаленному хосту",
         "timeout2": "Тайм-аут для подключения к локальному хосту",
@@ -578,15 +619,13 @@
         "confirm_delete": "Подтвердите удаление",
         "delete_now": "Удалить сейчас",
         "delete_these_items": "Пожалуйста, подтвердите свои изменения в следующих объектах:",
-        "hibp_nok": "Совпадание найдено! Это потенциально опасный пароль!",
+        "hibp_nok": "Найдено совпадение! Это потенциально опасный пароль!",
         "hibp_ok": "Совпадений не найдено.",
         "loading": "Пожалуйста, подождите...",
         "restart_container": "Перезапустить контейнер",
-        "restart_container_info": "<b>Важно:</b> полный перезапуск может занять некоторое время, пожалуйста, дождитесь его завершения - не обновляйте и не закрывайте страницу.",
+        "restart_container_info": "<b>Важно:</b> полный перезапуск может занять некоторое время, пожалуйста, дождитесь его завершения &ndash; не обновляйте и не закрывайте страницу.",
         "restart_now": "Перезапустить сейчас",
-        "restart_sogo": "Перезапустить SOGo",
-        "restart_sogo_info": "Некоторые операции, например при добавлении домена, требуют перезапустить SOGo, для вступления в силу внесенных изменений.<br><br><b>Важно:</b> Перезагрузка может занять некоторое время, дождитесь ее окончания.",
-        "restarting_container": "Перезапуск контейнера, это может занять какое то время..."
+        "restarting_container": "Перезапуск контейнера, это может занять какое-то время..."
     },
     "header": {
         "administration": "Настройка сервера",
@@ -619,6 +658,7 @@
         "active": "Активный",
         "add": "Добавить",
         "add_alias": "Добавить псевдоним",
+        "add_alias_expand": "Скопировать псевдонимы на псевдонимы домена",
         "add_bcc_entry": "Добавить правило BBC",
         "add_domain": "Добавить домен",
         "add_domain_alias": "Добавить псевдоним домена",
@@ -630,11 +670,11 @@
         "add_tls_policy_map": "Добавить политику TLS",
         "address_rewriting": "Перезапись адресов",
         "alias": "Псевдоним",
-        "alias_domain_alias_hint": "Псевдонимы <b>не</b> применяются к псевдонимам домена автоматически. Адрес псевдонима <code>my-alias@domain</code> <b>не</b> охватывает адрес <code>my-alias@alias-domain</code> (где \"alias-domain\" - воображаемый псевдоним домена для \"domain\").",
+        "alias_domain_alias_hint": "Псевдонимы <b>не</b> применяются к псевдонимам домена автоматически. Адрес псевдонима <code>my-alias@domain</code> <b>не</b> охватывает адрес <code>my-alias@alias-domain</code> (где \"alias-domain\" &ndash; воображаемый псевдоним домена для \"domain\").<br>Используйте кнопку <b>\"Скопировать псевдонимы на псевдонимы домена\"</b> чтобы добавить выбранные псевдонимы на все псевдонимы доменов.<br>Пожалуйста, используйте Sieve фильтры для перенаправления почты на внешние почтовые аккаунты (см. вкладку \"Фильтры\" или используйте SOGo -> Настройки -> Почта -> Пересылка).",
         "alias_domain_backupmx": "Псевдонимы домена не могут быть использованы для домена ретрансляции",
         "aliases": "Псевдонимы",
         "allow_from_smtp": "Разрешить использование <b>SMTP</b> только для этих IP",
-        "allow_from_smtp_info": "Укажите IPv4/IPv6 адреса и/или подсети.<br>Оставьте поле пустым, чтобы разрешить отправитвку с любых адресов.",
+        "allow_from_smtp_info": "Укажите IPv4/IPv6 адреса и/или подсети.<br>Оставьте поле пустым, чтобы разрешить отправку с любых адресов.",
         "allowed_protocols": "Разрешенные протоколы",
         "backup_mx": "Резервный MX",
         "bcc": "Правила BBC",
@@ -714,18 +754,17 @@
         "resources": "Ресурсы",
         "running": "В процессе выполнения",
         "set_postfilter": "Использовать как постфильтр",
-        "set_prefilter": "Использовать как предв. фильтр",
-        "sieve_info": "Вы можете сохранить несколько фильтров для каждого пользователя, но только один предварительный фильтр и один постфильтр могут быть активными одновременно.<br>\r\n Каждый фильтр будет обработан в описанном порядке. Не сломаный скрипт, не <code>keep;</code> не остановит обработку дальнейших скриптов.<br><br>Global sieve prefilter → Prefilter → User scripts → Postfilter → Global sieve postfilter",
+        "set_prefilter": "Использовать как предварительный фильтр",
+        "sieve_info": "Вы можете сохранить несколько фильтров для каждого пользователя, но только один предварительный фильтр и один постфильтр могут быть активными одновременно.<br>\r\n Каждый фильтр будет обработан в описанном порядке. Не сломанный скрипт, не <code>keep;</code> не остановит обработку дальнейших скриптов.<br><br>Global sieve prefilter → Prefilter → User scripts → Postfilter → Global sieve postfilter",
         "sieve_preset_1": "Discard mail with probable dangerous file types",
         "sieve_preset_2": "Always mark the e-mail of a specific sender as seen",
         "sieve_preset_3": "Discard silently, stop all further sieve processing",
         "sieve_preset_4": "File into INBOX, skip further processing by sieve filters",
         "sieve_preset_5": "Auto responder (vacation)",
-        "sieve_preset_6": "Reject mail with reponse",
+        "sieve_preset_6": "Reject mail with response",
         "sieve_preset_7": "Redirect and keep/drop",
         "sieve_preset_8": "Discard message sent to an alias address the sender is part of",
         "sieve_preset_header": "Пожалуйста, ознакомьтесь с примерами ниже. Для более подробной информации прочитайте <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Sieve Wikipedia</a>.",
-        "sogo_allow_admin_hint": "Административные логины SOGo доступны только для почтовых ящиков с существующим профилем SOGo. Пользователь должен был войти в SOGo хотя бы один раз.",
         "sogo_visible": "Отображать псевдоним в SOGo",
         "sogo_visible_n": "Не отображать псевдоним в SOGo",
         "sogo_visible_y": "Отображать псевдоним в SOGo",
@@ -737,17 +776,17 @@
         "table_size_show_n": "Отображать %s полей",
         "target_address": "Владельцы псевдонима",
         "target_domain": "Целевой домен",
-        "tls_enforce_in": "Принудительный TLS - входящие",
-        "tls_enforce_out": "Принудительный TLS - исходящие",
+        "tls_enforce_in": "Принудительный TLS (входящие)",
+        "tls_enforce_out": "Принудительный TLS (исходящие)",
         "tls_map_dest": "Назначение",
         "tls_map_dest_info": "пример: example.org, .example.org, [mail.example.org]:25",
         "tls_map_parameters": "Параметры",
         "tls_map_parameters_info": "Оставьте поле пустым или укажите параметры, на пример: protocols=!SSLv2 ciphers=medium exclude=3DES",
         "tls_map_policy": "Политика",
         "tls_policy_maps": "Правила TLS",
-        "tls_policy_maps_enforced_tls": "Для исходящих сообщений от пользователей с включенной принудительной политикой шифрования исходящих соеденений не описаные глобальной политикой,<br>\r\n будут применены значения по умолчанию, указанные в <code>smtp_tls_mandatory_protocols</code> и <code>smtp_tls_mandatory_ciphers</code>.",
-        "tls_policy_maps_info": "Глобальные политики переопределяют политики исходящих соеденений TLS, независимо от настроек принудительных политик TLS у пользователей.<br>\r\n  Пожалуйста, ознакомьтесь с <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">документацией \"smtp_tls_policy_maps\"</a> для дополнительной информации.",
-        "tls_policy_maps_long": "Переопределение правил для политик исходящих соеденений TLS",
+        "tls_policy_maps_enforced_tls": "Для исходящих сообщений от пользователей с включенной принудительной политикой шифрования исходящих соединений не описанные глобальной политикой,<br>\r\n будут применены значения по умолчанию, указанные в <code>smtp_tls_mandatory_protocols</code> и <code>smtp_tls_mandatory_ciphers</code>.",
+        "tls_policy_maps_info": "Глобальные политики переопределяют политики исходящих соединений TLS, независимо от настроек принудительных политик TLS у пользователей.<br>\r\n  Пожалуйста, ознакомьтесь с <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">документацией \"smtp_tls_policy_maps\"</a> для дополнительной информации.",
+        "tls_policy_maps_long": "Переопределение правил для политик исходящих соединений TLS",
         "toggle_all": "Выбрать все",
         "username": "Имя пользователя",
         "waiting": "Ожидание",
@@ -771,7 +810,8 @@
         "confirm_delete": "Подтвердите удаление этого элемента.",
         "danger": "Опасность",
         "deliver_inbox": "Освободить из карантина",
-        "disabled_by_config": "В текущей конфигурации системы функцию карантина отключена.",
+        "disabled_by_config": "В текущей конфигурации системы функция карантина отключена.",
+        "settings_info": "Максимальное количество элементов, которые будут помещены в карантин: %s<br>Максимальный размер электронного письма: %s MiB",
         "download_eml": "Скачать (.eml)",
         "empty": "Пусто",
         "high_danger": "Высокая",
@@ -784,7 +824,7 @@
         "notified": "Увед.",
         "qhandler_success": "Запрос успешно отправлен в систему. Теперь вы можете закрыть окно.",
         "qid": "Rspamd QID",
-        "qinfo": "Карантин сохраняет входящие сообщения класифицированные как нежелательные в базу данных.\r\n  <br>Отправители писем которые помечены как отвергнутые будут уверены что их письма <b>не</b> были доставлены Вам.\r\n  <br>\"Освободить из карантина\" изучит сообщение как хам по теореме Байеса и доставит его вам в Inbox.\r\n  <br>\"Запомнить как спам и удалить\" изучит сообщение как спам по теореме Байеса, а также вычислит нечеткие хэши, чтобы лучше блокировать подобные сообщения в дальнейшем.\r\n  <br>Учтите, что в зависимости от технических характеристик вашей системы, изучение большого количества сообщений может занять много времени.",
+        "qinfo": "Карантин сохраняет входящие сообщения, классифицированные как нежелательные, в базу данных.\r\n  <br>Отправители писем, которые помечены как отвергнутые, будут уверены что их письма <b>не</b> были доставлены вам.\r\n  <br>\"Освободить из карантина\" изучит сообщение как &laquo;ham&raquo; по теореме Байеса и доставит его вам в Inbox.\r\n  <br>\"Запомнить как спам и удалить\" изучит сообщение как спам по теореме Байеса, а также вычислит нечёткие хэши, чтобы лучше блокировать подобные сообщения в дальнейшем.\r\n  <br>Учтите, что в зависимости от технических характеристик вашей системы, изучение большого количества сообщений может занять много времени.",
         "qitem": "Обьект карантина",
         "quarantine": "Карантин",
         "quick_actions": "Действия",
@@ -802,7 +842,7 @@
         "sender": "Отправитель (SMTP)",
         "sender_header": "Отправитель (заголовок \"From\")",
         "type": "Тип",
-        "quick_release_link": "Ссылка для востановления",
+        "quick_release_link": "Ссылка для восстановления",
         "quick_delete_link": "Ссылка для удаления",
         "quick_info_link": "Ссылка на доп. информацию",
         "show_item": "Показать",
@@ -817,71 +857,73 @@
     },
     "start": {
         "help": "Справка",
-        "imap_smtp_server_auth_info": "Пожалуйста, используйте свой полный адрес электронной почты в формате <code>user@example.com</code> и PLAIN механизм авторизации.<br>\r\nВаши данные авторизации будут зашифрованы на уровне шифрования канала подключения к серверу, по этому убедитесь что вы используете надежное TLS подключение.",
-        "mailcow_apps_detail": "Используйте приложения для доступа к вашей почте, календарю, контактам и многое другое.",
-        "mailcow_panel_detail": "<b>Администраторы домена</b> могут создавать, изменять или удалять почтовые ящики и псевдонимы, измененять домены и смотреть информацию о своих назначенных доменов. <br><b>Пользователи почтовых ящиков</b> имеют возможность создавать временные псевдонимы (спам псевдонимы), менять свой пароль и настройки фильтра спама."
+        "imap_smtp_server_auth_info": "Пожалуйста, используйте свой полный адрес электронной почты в формате <code>user@example.com</code> и PLAIN механизм авторизации.<br>\r\nВаши данные авторизации будут зашифрованы на уровне шифрования канала подключения к серверу, поэтому убедитесь, что вы используете надежное TLS подключение.",
+        "mailcow_apps_detail": "Используйте приложения для доступа к вашей почте, календарю, контактам, и прочим функциям.",
+        "mailcow_panel_detail": "<b>Администраторы домена</b> могут создавать, изменять или удалять почтовые ящики и псевдонимы, измененять домены и смотреть информацию о своих назначенных доменах. <br><b>Пользователи почтовых ящиков</b> имеют возможность создавать временные псевдонимы (спам псевдонимы), менять свой пароль и настройки фильтра спама."
     },
     "success": {
         "acl_saved": "ACL для %s сохранено",
         "admin_added": "Администратор %s добавлен",
         "admin_api_modified": "Изменения в API сохранены",
         "admin_modified": "Изменения администратора сохранены",
-        "admin_removed": "Администратор %s удален",
+        "admin_removed": "Администратор %s удалён",
         "alias_added": "Псевдоним %s (%d) добавлен",
-        "alias_domain_removed": "Псевдоним домена %s удален",
+        "alias_domain_removed": "Псевдоним домена %s удалён",
         "alias_modified": "Изменения псевдонима %s сохранены",
-        "alias_removed": "Псевдоним %s удален",
+        "alias_removed": "Псевдоним %s удалён",
         "aliasd_added": "Добавлен псевдоним домена %s",
         "aliasd_modified": "Сохранить изменения псевдонима домена %s",
         "app_links": "Изменения ссылок на приложения сохранены",
         "app_passwd_added": "Добавлен новый пароль приложения",
-        "app_passwd_removed": "Пароль приложения ID %s удален",
+        "app_passwd_removed": "Пароль приложения ID %s удалён",
         "bcc_deleted": "Правила BCC удалены: %s",
         "bcc_edited": "Правило BCC %s отредактировано",
         "bcc_saved": "Правило BCC сохранено",
         "db_init_complete": "Инициализация базы данных завершена",
-        "delete_filter": "Фильтр ID %s удален",
+        "delete_filter": "Фильтр ID %s удалён",
         "delete_filters": "Фильтры удалены: %s",
         "deleted_syncjob": "Задание синхронизации ID %s удалено",
         "deleted_syncjobs": "Задания синхронизации удалены: %s",
-        "dkim_added": "DKIM ключ сохранен",
+        "dkim_added": "DKIM ключ сохранён",
         "dkim_duplicated": "DKIM ключи для домена %s были скопированы в %s",
-        "dkim_removed": "DKIM ключ %s удален",
+        "dkim_removed": "DKIM ключ %s удалён",
         "domain_added": "Добавлен домен %s",
         "domain_admin_added": "Администратор домена %s добавлен",
         "domain_admin_modified": "Сохранить изменения администратора домена %s",
-        "domain_admin_removed": "Администратор домена %s удален",
+        "domain_admin_removed": "Администратор домена %s удалён",
         "domain_modified": "Сохранить изменения домена %s",
-        "domain_removed": "Домен %s удален",
-        "dovecot_restart_success": "Dovecot перезапусщен успешно",
+        "domain_removed": "Домен %s удалён",
+        "dovecot_restart_success": "Dovecot перезапущен успешно",
         "eas_reset": "Кеш ActiveSync для пользователя %s был сброшен",
         "f2b_modified": "Изменения параметров Fail2ban сохранены",
         "forwarding_host_added": "Перенаправление узла %s добавлено",
         "forwarding_host_removed": "Перенаправление узла %s удалено",
         "global_filter_written": "Фильтр успешно записан в файл",
-        "hash_deleted": "Хеш удален",
-        "item_deleted": "Обьект %s удален",
+        "hash_deleted": "Хеш удалён",
+        "item_deleted": "Обьект %s удалён",
         "item_released": "Письмо %s восстановлено из карантина",
         "items_deleted": "Обьекты %s удалены",
         "items_released": "Выбраные письма восстановлены из карантина",
-        "learned_ham": "Письмо ID %s было изучено как хам",
-        "license_modified": "Изменения в лицензии были сохранены",
+        "learned_ham": "Письмо ID %s было изучено как &laquo;ham&raquo;",
+        "license_modified": "Изменения в лицензии сохранены",
         "logged_in_as": "Вы вошли как %s",
         "mailbox_added": "Почтовый аккаунт %s добавлен",
         "mailbox_modified": "Изменения почтового аккаунта %s сохранены",
-        "mailbox_removed": "Почтовый аккаунт %s удален",
+        "mailbox_removed": "Почтовый аккаунт %s удалён",
+        "nginx_reloaded": "Обновление конфигурация Nginx закончено",
         "object_modified": "Изменения объекта %s сохранены",
         "pushover_settings_edited": "Настройки сохранены, пожалуйста, выполните проверку доступа",
         "qlearn_spam": "Письмо ID %s было изучено как спам и удалено",
         "queue_command_success": "Команда выполнена успешно",
+        "password_policy_saved": "Политика паролей сохранена",
         "recipient_map_entry_deleted": "Правило перезаписи получателя ID %s было удалено",
         "recipient_map_entry_saved": "Правило перезаписи получателя \"%s\" было сохранено",
         "relayhost_added": "Промежуточный узел %s добавлен",
-        "relayhost_removed": "Промежуточный узел %s удален",
+        "relayhost_removed": "Промежуточный узел %s удалён",
         "reset_main_logo": "Восстановить логотип по умолчанию",
         "resource_added": "Ресурс %s добавлен",
         "resource_modified": "Изменения почтового аккаунта %s сохранены",
-        "resource_removed": "Ресурс %s удален",
+        "resource_removed": "Ресурс %s удалён",
         "rl_saved": "Лимиты для %s сохранены",
         "rspamd_ui_pw_set": "Пароль для Rspamd успешно установлен",
         "saved_settings": "Настройки сохранены",
@@ -895,7 +937,10 @@
         "verified_totp_login": "Авторизация TOTP пройдена",
         "verified_u2f_login": "Авторизация U2F пройдена",
         "verified_fido2_login": "Авторизация FIDO2 пройдена",
-        "verified_yotp_login": "Авторизация Yubico OTP пройдена"
+        "verified_yotp_login": "Авторизация Yubico OTP пройдена",
+        "xmpp_restarted": "Сервис XMPP перезагружен",
+        "xmpp_reloaded": "Обновление конфигурация XMPP закончено",
+        "xmpp_maps_updated": "Настройки XMPP обновлены"
     },
     "tfa": {
         "api_register": "%s использует Yubico Cloud API. Пожалуйста, получите ключ API для вашего ключа <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">здесь</a>",
@@ -925,7 +970,7 @@
     "fido2": {
         "set_fn": "Укажите понятное название",
         "fn": "Название",
-        "rename": "перейменовать",
+        "rename": "Переименовать",
         "confirm": "Подтвердить",
         "register_status": "Статус регистрации",
         "known_ids": "Известные ID",
@@ -963,11 +1008,11 @@
         "create_syncjob": "Создание нового задания синхронизации",
         "daily": "Раз в день",
         "day": "день",
-        "delete_ays": "Пожалуйста, подтвердите удалитение",
+        "delete_ays": "Пожалуйста, подтвердите удаление",
         "direct_aliases": "Личные псевдонимы",
-        "direct_aliases_desc": "На адреса с прямым псевдонимом распостраняются фильтры нежелательной почты и параметры политики TLS.",
+        "direct_aliases_desc": "На адреса с прямым псевдонимом распространяются фильтры нежелательной почты и параметры политики TLS.",
         "eas_reset": "Сбросить кеш ActiveSync устройств",
-        "eas_reset_help": "Во многих случаях сброс кеша устройств помогает восстановить поврежденный профиль ActiveSync.<br><b>Внимание:</b> все письма, календари и контакты будут загружены заново на все Ваши устройства!",
+        "eas_reset_help": "Во многих случаях сброс кеша устройств помогает восстановить повреждённый профиль ActiveSync.<br><b>Внимание:</b> все письма, календари и контакты будут загружены заново на все ваши устройства!",
         "eas_reset_now": "Сбросить кеш сейчас",
         "edit": "Изменить",
         "email": "Почта",
@@ -990,50 +1035,49 @@
         "messages": "письма",
         "never": "Никогда",
         "new_password": "Новый пароль",
-        "new_password_description": "Минимальные требование: 6 символов, включая буквы и цифры. Администратор мог изменить данную политику.",
         "new_password_repeat": "Подтверждение пароля (повтор)",
-        "no_active_filter": "Активированые фильтры отсутствуют",
+        "no_active_filter": "Активированные фильтры отсутствуют",
         "no_last_login": "Информация о последнем входе в пользовательский интерфейс отсутствует",
         "no_record": "Записи отсутствуют",
         "password": "Пароль",
         "password_now": "Текущий пароль (подтверждение изменения)",
         "password_repeat": "Подтверждение пароля (повтор)",
         "pushover_evaluate_x_prio": "Установить высокий приоритет уведомлений для писем с высоким приоритетом [<code>X-Priority: 1</code>]",
-        "pushover_info": "Настройки Push-уведомления будут применяться ко всей почте <b>%s</b> (за исключением спама) включая псевдонимы (личные, общие и тегированные).",
-        "pushover_only_x_prio": "Получать уведомления только об письмах с высоким приоритетом [<code>X-Priority: 1</code>]",
-        "pushover_sender_array": "Получать уведомления от списка адресов электронной почты <small>(envelop-from разделенные запятыми)</small>:",
-        "pushover_sender_regex": "Получать уведомления от отправителей удовлетворяющих regex-выражение:",
+        "pushover_info": "Настройки Push-уведомления будут применяться ко всей почте <b>%s</b> (за исключением спама), включая псевдонимы (личные, общие и тегированные).",
+        "pushover_only_x_prio": "Получать уведомления только о письмах с высоким приоритетом [<code>X-Priority: 1</code>]",
+        "pushover_sender_array": "Получать уведомления от списка адресов электронной почты <small>(envelop-from, разделённые запятыми)</small>:",
+        "pushover_sender_regex": "Получать уведомления от отправителей, удовлетворяющих regex-выражению:",
         "pushover_text": "Текст уведомления",
         "pushover_title": "Заголовок уведомления",
-        "pushover_vars": "Когда фильтрация по отправителю не определена, уведомения будут доставлятся от всех отправителей.<br>Можно использовать обычный фильтр по отправителю и разширенный regex-фильтр, а так же оба сразу.<br>Пожалуйста, ознакомьтесь с <a href=\"https://pushover.net/privacy\">Pushover Privacy Policy</a> перед использованием шаблонов для текста и заголовка",
+        "pushover_vars": "Когда фильтрация по отправителю не определена, уведомения будут доставлятся от всех отправителей.<br>Можно использовать обычный фильтр по отправителю и расширенный regex-фильтр, а также оба сразу.<br>Пожалуйста, ознакомьтесь с <a href=\"https://pushover.net/privacy\">Pushover Privacy Policy</a> перед использованием шаблонов для текста и заголовка",
         "pushover_verify": "Проверить доступ",
         "q_add_header": "Нежелательная почта",
         "q_all": "Все категории",
         "q_reject": "Отклонённая почта",
         "quarantine_notification": "Уведомления о спаме",
         "quarantine_category": "Категория уведомлений о спаме",
-        "quarantine_notification_info": "После того, как уведомление будет отправлено, элементы будут помечены как \"уведомленные\", и дальнейшие уведомления для этого сообщения отправляться не будут.",
-        "quarantine_category_info": "Категория \"Отклонённая почта\" включает в себя почту, которая была <code>отклонена</code>, тогда как \"Нежелательная почта\" будет уведомлять пользователя только о письмах, которые были помещены в папку <code>Junk</code>. Для того что бы получать уведомления об всех категориях спама выберите опцию \"Все категории\".",
+        "quarantine_notification_info": "После того, как уведомление будет отправлено, элементы будут помечены как \"уведомлённые\", и дальнейшие уведомления для этого сообщения отправляться не будут.",
+        "quarantine_category_info": "Категория \"Отклонённая почта\" включает в себя почту, которая была <code>отклонена</code>, тогда как \"Нежелательная почта\" содержит письма, которые были помещены в папку <code>Junk</code>. Для того, чтобы получать уведомления обо всех категориях спама, выберите опцию \"Все категории\".",
         "remove": "Удалить",
         "running": "В процессе выполнения",
         "save": "Сохранить изменения",
         "save_changes": "Сохранить изменения",
         "sender_acl_disabled": "<span class=\"label label-danger\">Проверка отправителя отключена</span>",
         "shared_aliases": "Общие псевдонимы",
-        "shared_aliases_desc": "На общие псевдонимы не влияют пользовательские настройки, такие как фильтр нежелательной почты или политика шифрования. Соответствующие фильтры нежелательной почты могут быть созданы только администратором в рамках политики домена.",
+        "shared_aliases_desc": "На общие псевдонимы не влияют пользовательские настройки, такие как фильтр нежелательной почты, или политика шифрования. Соответствующие фильтры нежелательной почты могут быть созданы только администратором в рамках политики домена.",
         "show_sieve_filters": "Показать включенные фильтры sieve",
         "sogo_profile_reset": "Сбросить профиль SOGo",
-        "sogo_profile_reset_help": "<b>Внимание:</b> это удалит настройки профиля SOGo вместе с <b>всеми контакты, календарями и фильтрами безвозвратно</b>.",
+        "sogo_profile_reset_help": "<b>Внимание:</b> это удалит настройки профиля SOGo вместе с <b>всеми контактами, календарями и фильтрами безвозвратно</b>.",
         "sogo_profile_reset_now": "Сбросить профиль сейчас",
         "spam_aliases": "Временные псевдонимы электронной почты",
         "spam_score_reset": "Сброс на настройки по умолчанию",
-        "spamfilter": "Фильтр спама",
+        "spamfilter": "Спам фильтр",
         "spamfilter_behavior": "Фильтрация спама",
-        "spamfilter_bl": "Черный список",
-        "spamfilter_bl_desc": "<b>Все</b> письма полученые от адресов электронной почты добавленных в черный список будут отклонены и <b>не</b> будут скопированы в карантин. Использование <code>*</code> разрешено. Фильтр применяется только к личным псевдонимам (с одним получателем), исключая catch-all псевдонимы и сам почтовый аккаунт.",
+        "spamfilter_bl": "Чёрный список",
+        "spamfilter_bl_desc": "<b>Все</b> письма, полученные от адресов электронной почты, добавленных в чёрный список, будут отклонены и <b>не</b> будут скопированы в карантин. Использование <code>*</code> разрешено. Фильтр применяется только к личным псевдонимам (с одним получателем), исключая catch-all псевдонимы и сам почтовый аккаунт.",
         "spamfilter_default_score": "Значения по умолчанию",
-        "spamfilter_green": "Зеленый: эти письма не являются спамом",
-        "spamfilter_hint": "Первое значение отображает низкую оценку спама, второе - высокую. <br />Заметка: пользователи POP3 должны использовать настройку 15:15 по умолчанию, что бы отключить попадание потенциального спама в \"Спам\" так как POP3 скачивает только содержимое папки \"Входящие\"",
+        "spamfilter_green": "Зелёный: эти письма не являются спамом",
+        "spamfilter_hint": "Первое значение отображает низкую оценку спама, второе &ndash; высокую. <br />Заметка: пользователи POP3 должны использовать настройку 15:15 по умолчанию, чтобы отключить попадание потенциального спама в \"Спам\", так как POP3 скачивает только содержимое папки \"Входящие\"",
         "spamfilter_red": "Красный: эти письма являются спамом и будут помещены в карантин, отправитель будет уведомлен об отказе доставки его письма, потому что оно не прошло спам-фильтр",
         "spamfilter_table_action": "Действия",
         "spamfilter_table_add": "Добавить элемент",
@@ -1042,8 +1086,8 @@
         "spamfilter_table_remove": "удалить",
         "spamfilter_table_rule": "Правило",
         "spamfilter_wl": "Белый список",
-        "spamfilter_wl_desc": "Белый список адресов электронной почты, позволяет <b>никогда</b> не классифицировать все полученные письма с указанных адресов как спам. Можно добавлять маски адресов. Фильтр применяется только к личным псевдонимам (с одним получателем), исключая catch-all псевдонимы и сам почтовый аккаунт.",
-        "spamfilter_yellow": "Желтый: это письма могут быть спамом, будут помечены как потенциальный спам и перемещены в папку \"Спам\"",
+        "spamfilter_wl_desc": "Белый список адресов электронной почты позволяет <b>никогда</b> не классифицировать все полученные письма с указанных адресов как спам. Можно добавлять маски адресов. Фильтр применяется только к личным псевдонимам (с одним получателем), исключая catch-all псевдонимы и сам почтовый аккаунт.",
+        "spamfilter_yellow": "Жёлтый: это письма могут быть спамом, будут помечены как потенциальный спам и перемещены в папку \"Спам\"",
         "status": "Статус",
         "sync_jobs": "Задания синхронизации",
         "tag_handling": "Обработка тегированной почты",
@@ -1054,10 +1098,10 @@
         "tag_in_subject": "Добавить к теме письма",
         "text": "Текст",
         "title": "Заголовок",
-        "tls_enforce_in": "Принудительный TLS - входящие",
-        "tls_enforce_out": "Принудительный TLS - исходящие",
+        "tls_enforce_in": "Принудительный TLS (входящие)",
+        "tls_enforce_out": "Принудительный TLS (исходящие)",
         "tls_policy": "Политика шифрования",
-        "tls_policy_warning": "<strong>Предупреждение:</strong> Если Вы включите принудетельное шифрованние почты, вы можете столкнутся с потерей писем.<br>Сообщения, которые не соответствуют политике, будут отбрасыватся с сообщением о серьезном сбое почтовым сервером.<br>Этот параметр применяется к вашему основному адресу электронной почты (логину), всем личным псевдонимам и псевдонимам доменов. Подразумеваются только псевдонимы <b>с одним почтовым ящиком</b> как получатель.",
+        "tls_policy_warning": "<strong>Предупреждение:</strong> Если вы включите принудительное шифрованние почты, вы можете столкнуться с потерей писем.<br>Сообщения, которые не соответствуют политике, будут отбрасываться с сообщением почтовым сервером о серьёзном сбое.<br>Этот параметр применяется к вашему основному адресу электронной почты (логину), всем личным псевдонимам и псевдонимам доменов. Подразумеваются только псевдонимы <b>с одним почтовым ящиком</b>, как получатель.",
         "user_settings": "Настройки пользователя",
         "username": "Имя пользователя",
         "verify": "Проверить",
@@ -1067,14 +1111,15 @@
         "weeks": "недели"
     },
     "warning": {
-        "cannot_delete_self": "Невозможно удалить пользователя, Вы сейчас его используете",
+        "cannot_delete_self": "Вы не можете удалить сами себя",
         "domain_added_sogo_failed": "Домен был добавлен, но перезагрузить SOGo не удалось, пожалуйста, проверьте журналы сервера.",
         "dovecot_restart_failed": "Перезагрузка Dovecot не удалась, пожалуйста, проверьте журналы сервера.",
-        "fuzzy_learn_error": "Ошибка сохранения нечеткого хэша: %s",
-        "hash_not_found": "Хеш не найден или уже удален",
-        "ip_invalid": "Пропущен не верный IP: %s",
+        "fuzzy_learn_error": "Ошибка сохранения нечёткого хэша: %s",
+        "hash_not_found": "Хеш не найден или уже удалён",
+        "ip_invalid": "Пропущен неверный IP: %s",
+        "is_not_primary_alias": "Пропущен неосновной псевдоним %s",
         "no_active_admin": "Невозможно деактивировать последнего активного администратора",
-        "quota_exceeded_scope": "Квота домена превышена: только почтовые ящики без лимита могут быть созданы.",
+        "quota_exceeded_scope": "Квота домена превышена: могут быть созданы только почтовые ящики без лимита.",
         "session_token": "Неверный токен формы: несоответствие токена",
         "session_ua": "Неверный токен формы: ошибка проверки User-Agent"
     }
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.sk.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.sk.json
index e51f148..40ed5c6 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.sk.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.sk.json
@@ -4,20 +4,23 @@
         "app_passwds": "Spravovať heslá",
         "bcc_maps": "BCC mapy",
         "delimiter_action": "Oddeliť",
+        "domain_desc": "Zmeniť popis domény",
+        "domain_relayhost": "Zmeniť predávajúci server domény",
         "eas_reset": "Reset EAS zariadení",
         "extend_sender_acl": "Povoliť rozšírenie ACL odosielateľa externými adresami",
         "filters": "Filtre",
         "login_as": "Prihlásiť sa ako poštový používateľ",
+        "mailbox_relayhost": "Zmeniť predávajúci server schránky",
         "prohibited": "Zakázané cez ACL",
-        "protocol_access": "Meniť prístup k protokolom",
+        "protocol_access": "Upraviť povolené protokoly",
         "pushover": "Pushover",
         "quarantine": "Karanténa",
         "quarantine_attachments": "Umiestniť prílohy do karantény",
-        "quarantine_notification": "Zmeniť notifikácie karantény",
         "quarantine_category": "Zmeniť kategóriu karanténnych notifikácií",
-        "ratelimit": "Limit prenosu",
+        "quarantine_notification": "Zmeniť notifikácie karantény",
+        "ratelimit": "Obmedzenie prenosu",
         "recipient_maps": "Mapy príjemcu",
-        "smtp_ip_access": "Meniť prístup hostiteľov k SMTP",
+        "smtp_ip_access": "Spravovať povolených hostiteľov pre SMTP",
         "sogo_access": "Povoliť spravovanie prístupu do SOGo",
         "sogo_profile_reset": "Znovu nastaviť SOGo profil",
         "spam_alias": "Dočasné aliasy",
@@ -26,7 +29,10 @@
         "syncjobs": "Synchronizačné úlohy",
         "tls_policy": "TLS pravidlá",
         "unlimited_quota": "Neobmedzená kvóta pre poštové schránky",
-        "domain_desc": "Meniť popis domény"
+        "xmpp_admin": "Povýšiť XMPP používateľa na správcu",
+        "xmpp_domain_access": "Nakonfigurovať prístup k XMPP doméne.",
+        "xmpp_mailbox_access": "Nakonfigurovať používateľovi XMPP prístup.",
+        "xmpp_prefix": "Zmeniť XMPP subdoménu (prefix)"
     },
     "add": {
         "activate_filter_warn": "Všetky ostatné filtre budú deaktivované, ak bude zaškrtnuté pole \"Aktívny\".",
@@ -42,12 +48,13 @@
         "app_password": "Pridať heslo aplikácie",
         "automap": "Skúsiť automaticky mapovať priečinky (\"Sent items\", \"Sent\" => \"Sent\" atd.)",
         "backup_mx_options": "Možnosti preposielania",
+        "bcc_dest_format": "Cieľ kópie musí byť jedna platná emailová adresa. Pokiaľ potrebujete posielať kópie na viac adries, vytvorte Alias a použite ho tu.",
         "comment_info": "Súkromný komentár nie je viditeľný používateľovi, na rozdiel od verejného komentára, ktorý je prezentovaný ako popis v prehľade používateľov",
         "custom_params": "Voliteľné parametre",
         "custom_params_hint": "Správne: --param=xy, nesprávne: --param xy",
-        "delete1": "Vymazať zo zdroja, po dokončení",
-        "delete2": "Vymazať správy na cieli, ktoré nie sú na zdroji",
-        "delete2duplicates": "Vymazať duplikáty v cieľovom umiestnení",
+        "delete1": "Vymazať zo zdrojovej schránky, po dokončení prenosu",
+        "delete2": "Vymazať správy v cieľovej schránke, ak nie sú v zdrojovej",
+        "delete2duplicates": "Vymazať duplikáty v cieľovej schránke",
         "description": "Popis",
         "destination": "Cieľ",
         "disable_login": "Zablokovať prihlásenie (nevzťahuje sa na prichádzajúcu poštu)",
@@ -82,7 +89,7 @@
         "public_comment": "Verejný komentár",
         "quota_mb": "Kvóta (MiB)",
         "relay_all": "Preposielať všetkým príjemcom",
-        "relay_all_info": "↪ Ak sa rozhodnete <b>neposielať ďalej</b> všetkých príjemcov, budete musieť pridať (\"tzv. slepú\") poštovú schránku pre každého príjemcu.",
+        "relay_all_info": "↪ Ak sa rozhodnete <b>nepreposielať ďalej</b> všetkých príjemcov, budete musieť pridať (\"tzv. slepú\") poštovú schránku pre každého príjemcu.",
         "relay_domain": "Preposielať túto doménu",
         "relay_transport_info": "<div class=\"label label-info\">Info</div> Môžete definovať transportné mapy pre vlastné určenie cieľa pre túto doménu. Ak nie sú nastavené, použije sa MX záznam.",
         "relay_unknown_only": "Preposielať len neexistujúce poštové schránky. Existujúce budú doručené lokálne.",
@@ -92,17 +99,23 @@
         "sieve_desc": "Krátky popis",
         "sieve_type": "Typ filtru",
         "skipcrossduplicates": "Preskočiť duplikované správy naprieč priečinkami (akceptuje sa prvý nález)",
-        "subscribeall": "Odoberať všetky priečinky",
+        "subscribeall": "Synchronizovať všetky priečinky",
         "syncjob": "Pridať novú synchronizačnú úlohu",
         "syncjob_hint": "Upozornenie, heslá budú uložené v obyčajnom texte!",
         "target_address": "Cieľové adresy",
         "target_address_info": "<small>Celá emailová adresa/y (oddelené čiarkou).</small>",
         "target_domain": "Cieľová doména",
-        "timeout1": "Časový limit pre spojenie s diaľkovým hostiteľom",
-        "timeout2": "Časový limit pre spojenie s lokálnym hostiteľom",
+        "timeout1": "Časový limit pre spojenie so vzdialeným serverom",
+        "timeout2": "Časový limit pre spojenie s lokálnym serverom",
         "username": "Používateľské meno",
         "validate": "Overiť",
-        "validation_success": "Úspešne overené"
+        "validation_success": "Úspešne overené",
+        "xmpp": "Aktivovať XMPP pre túto doménu",
+        "xmpp_access": "XMPP prístup",
+        "xmpp_access_info": "XMPP musí byť aktivované pre túto doménu.",
+        "xmpp_admin": "XMPP administrátor",
+        "xmpp_admin_info": "<b>Upozornenie:</b> Povýši užívateľa na XMPP administrátora pre túto doménu.",
+        "xmpp_info": "Aktivovanie tejto funkcie umožní četovanie v tejto doméne."
     },
     "admin": {
         "access": "Prístup",
@@ -114,28 +127,33 @@
         "add": "Pridať",
         "add_admin": "Pridať administrátora",
         "add_domain_admin": "Pridať administrátora domény",
-        "add_forwarding_host": "Pridať doručovacieho hostiteľa",
-        "add_relayhost": "Pridať transportný záznam",
-        "add_relayhost_hint": "Prosím berte do úvahy, že autentifikačné dáta, ak existujú, budú uložené ako jednoduchý text.",
+        "add_forwarding_host": "Pridať preposielací server",
+        "add_relayhost": "Pridať transport",
+        "add_relayhost_hint": "Prosím berte do úvahy, že údaje overenia budú uložené ako nešifrovaný reťazec.",
         "add_row": "Pridať riadok",
         "add_settings_rule": "Pridať pravidlo nastavenia",
         "add_transport": "Pridať transport",
-        "add_transports_hint": "Prosím berte do úvahy, že overovacie dáta, ak existujú, budú uložené ako jednoduchý text.",
-        "additional_rows": " ďalšie riadky boli pridané",
+        "add_transports_hint": "Prosím berte do úvahy, že údaje overenia budú uložené ako nešifrovaný reťazec.",
+        "additional_rows": " boli pridané ďalšie riadky",
         "admin": "Administrátor",
         "admin_details": "Upraviť detaily administrátora",
         "admin_domains": "Pridelené domény",
+        "admins": "Administrátori",
+        "admins_ldap": "LDAP Administrátori",
+        "advanced_settings": "Pokročilé nastavenia",
         "api_allow_from": "Povoliť API prístup z týchto adries alebo rozsahov - IP/CIDR",
-        "api_info": "API momentálne pracuje. Dokumentáciu nájdete na <a href=\"/api\">/api</a>",
+        "api_info": "Dokumentáciu nájdete na <a href=\"/api\">/api</a>",
         "api_key": "API kľúč",
-        "api_skip_ip_check": "Preskočiť kontrolu IP pre API",
+        "api_read_only": "Prístup iba na čítanie",
+        "api_read_write": "Prístup aj so zápisom",
+        "api_skip_ip_check": "Vypnúť kontrolu IP",
         "app_links": "Odkazy na aplikácie",
         "app_name": "Meno aplikácie",
-        "apps_name": "\"mailcow Apps\" meno",
+        "apps_name": "\"mailcow Apps\" názov",
         "arrival_time": "Čas príchodu (čas servera)",
         "authed_user": "Overený používateľ",
         "ays": "Naozaj chcete pokračovať?",
-        "ban_list_info": "Ukázať zoznam zakázaných IP nižšie: <b>sieť (zostávajúci čas zákazu) - [akcia]</b>.<br />IP adresy čakajúce na unban budú odstránené z aktívneho zoznamu v priebehu niekoľkých sekúnd.<br />Červené značky indikujú aktívny permanentný zákaz.",
+        "ban_list_info": "Zoznam zakázaných IP je zobrazený nižšie: <b>sieť (zostávajúci čas zákazu) - [akcia]</b>.<br />IP adresy zaradené na unban budú odstránené z aktívneho zoznamu v priebehu niekoľkých sekúnd.<br />Červené položky zobrazujú permanentné blokovanie.",
         "change_logo": "Zmeniť logo",
         "configuration": "Konfigurácia",
         "convert_html_to_text": "Konvertovať HTML do obyčajného textu",
@@ -148,16 +166,16 @@
         "dkim_domains_selector": "Selektor",
         "dkim_domains_wo_keys": "Vybrať domény s chýbajúcimi kľúčmi",
         "dkim_from": "Od",
-        "dkim_from_title": "Zdrojová doména kopíruje dáta od",
+        "dkim_from_title": "Zdrojová doména, z ktorej sa majú kopírovať údaje",
         "dkim_key_length": "Dĺžka DKIM kľúča (bity)",
         "dkim_key_missing": "Chýbajúci kľúč",
-        "dkim_key_unused": "Kľúč je nepoužívaný",
-        "dkim_key_valid": "Kľúč je platný",
+        "dkim_key_unused": "Nepoužívaný kľúč",
+        "dkim_key_valid": "Platný kľúč",
         "dkim_keys": "ARC/DKIM kľúče",
         "dkim_overwrite_key": "Prepísať existujúci DKIM kľúč",
         "dkim_private_key": "Súkromný kľúč",
-        "dkim_to": "Komu",
-        "dkim_to_title": "Cieľová doména/y – bude prepísaná",
+        "dkim_to": "Do",
+        "dkim_to_title": "Cieľová doména/y – údaje budú prepísané",
         "domain": "Doména",
         "domain_admin": "Administrátor domény",
         "domain_admins": "Administrátori domény",
@@ -174,21 +192,21 @@
         "f2b_max_attempts": "Max. počet pokusov",
         "f2b_netban_ipv4": "Veľkosť IPv4 subnetu na ktorý sa aplikuje zákaz (8-32)",
         "f2b_netban_ipv6": "Veľkosť IPv6 subnetu na ktorý sa aplikuje zákaz (8-128)",
-        "f2b_parameters": "Fail2ban parametre",
-        "f2b_regex_info": "Logy ktoré sa berú do úvahy: SOGo, Postfix, Dovecot, PHP-FPM.",
+        "f2b_parameters": "Parametre automatického firewallu",
+        "f2b_regex_info": "Záznamy ktoré sa berú do úvahy: SOGo, Postfix, Dovecot, PHP-FPM.",
         "f2b_retry_window": "Čas v ktorom je treba uplatniť max. počet pokusov (s)",
         "f2b_whitelist": "Whitelist sietí/hostiteľov",
         "filter_table": "Tabuľka filtrov",
         "flush_queue": "Vyprázdniť frontu",
-        "forwarding_hosts": "Doručovací hostitelia",
-        "forwarding_hosts_add_hint": "Môžete buď špecifikovať IPv4/IPv6 adresy, siete v CIDR notácii, hostiteľské mená (ktoré budú preložené na IP adresy), alebo doménové mená (ktoré budú ako IP získané z SPF záznamov, alebo v prípade ich neprítomnosti, pomocou MX záznamov).",
-        "forwarding_hosts_hint": "Prichádzajúce správy sú bezpodmienečne prijaté z uvedených hostiteľov. Nekontroluje sa ich prítomnosť v DNSBL a neaplikuje sa u nich greylisting. Spam z uvedených hostiteľov sa neodmieta, ale občas môže skončiť nevyžiadanej pošte. Najčastejšie sa tu definujú hostitelia ktorý doručujú alebo majú presmerovanú poštu na tento server.",
+        "forwarding_hosts": "Preposielacie servery",
+        "forwarding_hosts_add_hint": "Môžete buď špecifikovať IPv4/IPv6 adresy, siete v CIDR notácii, názvy serverov (ktoré budú preložené na IP adresy), alebo doménové mená (ktoré budú ako IP získané z SPF záznamov, alebo v prípade ich neprítomnosti, pomocou MX záznamov).",
+        "forwarding_hosts_hint": "Prichádzajúce správy sú bezpodmienečne prijaté z uvedených serverov. Nekontroluje sa ich prítomnosť v DNSBL a neaplikuje sa u nich greylisting. Spam z uvedených serverov sa neodmieta, ale občas môže skončiť nevyžiadanej pošte. Najčastejšie sa tu definujú servery ktoré doručujú alebo majú presmerovanú poštu na tento server.",
         "from": "Od",
         "generate": "generovať",
         "guid": "GUID – unikátne ID",
         "guid_and_license": "GUID & Licencia",
-        "hash_remove_info": "Odstránením hashu pre limit prenosu (ak stále existuje), sa kompletne resetuje počítadlo.<br>\r\n Každý hash je označený individuálnou farbou.",
-        "help_text": "Pomocný text pod prihlasovacou maskou (HTML povolené)",
+        "hash_remove_info": "Odstránením hashu pre obmedzenie prenosu (ak stále existuje), sa kompletne resetuje počítadlo.<br>\r\n Každý hash je označený individuálnou farbou.",
+        "help_text": "Prepísať text nápovede pod prihlasovacou obrazovkou (HTML povolené)",
         "host": "Hostiteľ",
         "html": "HTML",
         "import": "Importovať",
@@ -196,15 +214,17 @@
         "in_use_by": "Používané",
         "inactive": "Neaktívny",
         "include_exclude": "Zahrnúť/Vylúčiť",
-        "include_exclude_info": "Podľa predvolených nastavení – so žiadnym výberom- <b>všetky schránky</b> sú adresované",
+        "include_exclude_info": "Ak nič nevyberiete tak bude adresované <b>všetkým schránkam</b>",
         "includes": "Zahrnúť týchto príjemcov",
+        "is_mx_based": "Na základe MX",
         "last_applied": "Naposledy aplikované",
         "license_info": "Licencia nie je potrebná, ale napomáha ďalšiemu vývoju.<br><a href=\"https://www.servercow.de/mailcow?lang=en#sal\" target=\"_blank\" alt=\"SAL order\">Registrujte váš GUID tu</a> alebo <a href=\"https://www.servercow.de/mailcow?lang=en#support\" target=\"_blank\" alt=\"Objednávka podpory\">zakúpte si podporu pre vašu mailcow inštaláciu.</a>",
         "link": "Odkaz",
         "loading": "Čakajte prosím ...",
+        "login_time": "Čas prihlásenia",
         "logo_info": "Váš obrázok bude upravený na výšku 40px pre vrchný navigačný riadok a na maximálnu šírku 250px pre úvodnú stránku. Odporúča sa škálovateľná grafika.",
-        "lookup_mx": "Overiť cieľ voči MX záznamu (doručenie pre .outlook.com bude smerované cez MX *.outlook.com na konkrétny server)",
-        "main_name": "\"mailcow UI\" meno",
+        "lookup_mx": "Cieľ je regulárny výraz ktorý sa zhoduje s MX záznamom (<code>.*google\\.com</code> smeruje všetku poštu na MX ktoré sú cieľom pre google.com cez tento skok)",
+        "main_name": "\"mailcow UI\" názov",
         "merged_vars_hint": "Sivé riadky boli načítané z <code>vars.(local.)inc.php</code> a nemôžu byť modifikované cez UI.",
         "message": "Správa",
         "message_size": "Veľkosť správy",
@@ -213,43 +233,52 @@
         "no_active_bans": "Žiadne aktívne zákazy",
         "no_new_rows": "Žiadne ďalšie riadky nie sú k dispozícii",
         "no_record": "Žiaden záznam",
+        "oauth2_apps": "OAuth2 Aplikácie",
+        "oauth2_add_client": "Pridať OAuth2 klienta",
         "oauth2_client_id": "ID klienta",
         "oauth2_client_secret": "Tajný kľuč",
-        "oauth2_info": "OAuth2 implementácia podporuje typ prideľovania \"Authorization Code\" a vydáva tokeny k obnoveniu.<br>\r\nServer taktiež automaticky vydáva nové tokeny k obnoveniu, akonáhle bol predchádzajúci token použitý.<br><br>\r\n→ Predvolený rozsah je <i>profile</i>. Iba používatelia poštovej schránky môžu byť autentifikovaný cez OAuth2. Ak je rozsahový pramater vynechaný, spadá naspäť do <i>profile</i>.<br>\r\n→ <i>Stavový</i> parameter je potrebný poslať klientom ako súčasť autorizačnej požiadavky.<br><br>\r\nCesty pre požiadavky ku OAuth2 API: <br>\r\n<ul>\r\n  <li>Koncový bod autorizácie: <code>/oauth/authorize</code></li>\r\n  <li>Koncový bod tokenu: <code>/oauth/token</code></li>\r\n  <li>Zdrojová stránka:  <code>/oauth/profile</code></li>\r\n</ul>\r\nAk príde k obnoveniu <i>tajného kľúča</i>, nezruší sa platnosť existujúcich autorizačných kódov, ale nebude možné obnoviť ich token.<br><br>\r\nOdobratím <i>tajného kľúča</i> bude mať za následok zrušenie všetkých aktívnych relácií. Všetci klienti musia podstúpiť re-autentifikačný proces.",
+        "oauth2_info": "OAuth2 implementácia podporuje typ prideľovania \"Authorization Code\" a vydáva tokeny k obnoveniu.<br>\r\nServer automaticky vydáva nové tokeny k obnoveniu, akonáhle bol predchádzajúci token použitý.<br><br>\r\n&#8226; Predvolený rozsah je <i>profile</i>. Iba používatelia poštovej schránky môžu byť autentifikovaný cez OAuth2. Ak je rozsahový pramater vynechaný, spadá naspäť do <i>profile</i>.<br>\r\n&#8226; <i>Stavový</i> parameter je potrebný poslať klientom ako súčasť autorizačnej požiadavky.<br><br>\r\nCesty pre požiadavky ku OAuth2 API: <br>\r\n<ul>\r\n <li>Koncový bod autorizácie: <code>/oauth/authorize</code></li>\r\n <li>Koncový bod tokenu: <code>/oauth/token</code></li>\r\n <li>Zdrojová stránka: <code>/oauth/profile</code></li>\r\n</ul>\r\nAk príde k obnoveniu <i>tajného kľúča</i>, nezruší sa platnosť existujúcich autorizačných kódov, ale nebude možné obnoviť ich token.<br><br>\r\nOdobratím <i>tajného kľúča</i> bude mať za následok zrušenie všetkých aktívnych relácií. Všetci klienti musia podstúpiť re-autentifikačný proces.",
         "oauth2_redirect_uri": "Presmerovať URI",
         "oauth2_renew_secret": "Vygenerovať nový tajný kľuč",
         "oauth2_revoke_tokens": "Odobrať všetky tokeny klienta",
         "optional": "voliteľné",
         "password": "Heslo",
+        "password_length": "Dĺžka hesla",
+        "password_policy": "Politika hesiel",
+        "password_policy_chars": "Musí obsahovať najmenej jedno písmeno",
+        "password_policy_length": "Minimálna dĺžka hesla je %d",
+        "password_policy_lowerupper": "Musí obsahovať malé a veľké písmeno",
+        "password_policy_numbers": "Musí obsahovať najmenej jedno číslo",
+        "password_policy_special_chars": "Musí obsahovať špeciálny znak",
         "password_repeat": "Potvrdzujúce heslo (opakovať)",
         "priority": "Priorita",
         "private_key": "Súkromný kľúč",
         "quarantine": "Karanténa",
-        "quarantine_bcc": "Poslať kópiu všetkých upozornení (BCC) tomuto príjemcovi:<br><small>Nechať prázdne pre vypnutie. <b>Nepodpísaná, neskontrolovaná pošta, by mala byť doručená interne.</b></small>",
-        "quarantine_exclude_domains": "Vymedziť domény a doménové aliasy",
-        "quarantine_max_age": "Maximálne obdobie v dňoch<br><small>Hodnota sa musí rovnať alebo byť väčšia ako 1 deň.</small>",
-        "quarantine_max_size": "Maximálna veľkosť v MiB (väčšie prvky sú vyradené):<br><small>0 neznamená <b>neobmedzené</b>.</small>",
+        "quarantine_bcc": "Poslať kópiu všetkých upozornení (BCC) tomuto príjemcovi:<br><small>Pre deaktiváciu nechajte nevyplnené. <b>Nepodpísaná, neskontrolovaná pošta, mala by byť doručovaná iba interne.</b></small>",
+        "quarantine_exclude_domains": "Vylúčiť domény a doménové aliasy",
+        "quarantine_max_age": "Maximálne obdobie v dňoch<br><small>Hodnota musí byť 1 alebo viac dní.</small>",
         "quarantine_max_score": "Neposielať notifikácie ak je spam skóre väčšie ako hodnota:<br><small>Predvolená je 9999.0</small>",
-        "quarantine_notification_html": "Predloha notifikácie:<br><small>Nechať prázdne pre obnovenie originálnej predlohy.</small>",
+        "quarantine_max_size": "Maximálna veľkosť v MiB (väčšie správy sú vyradené):<br><small>0 <b>neznamená</b> neobmedzené.</small>",
+        "quarantine_notification_html": "Šablóna notifikácie:<br><small>Nechajte prázdne pre použitie originálnej šablóny.</small>",
         "quarantine_notification_sender": "Odosielateľ notifikácie",
         "quarantine_notification_subject": "Predmet notifikácie",
-        "quarantine_redirect": "<b>Presmerovať notifikácie</b> na túto adresu:<br><small>Pre vypnutie nechajte nevyplnené. <b>Nepodpísaná, neskontrolovaná pošta, by mala byť doručená interne.</b></small>",
-        "quarantine_release_format": "Uvoľniť položky z karantény ako",
-        "quarantine_release_format_att": "Ako príloha",
+        "quarantine_redirect": "<b>Presmerovať všetky notifikácie</b> na túto adresu:<br><small>Pre deaktiváciu nechajte nevyplnené. <b>Nepodpísaná, neskontrolovaná pošta, mala by byť doručovaná iba interne.</b></small>",
+        "quarantine_release_format": "Uvoľňovať položky z karantény ako",
+        "quarantine_release_format_att": "Prílohu",
         "quarantine_release_format_raw": "Nemodifikovaný originál",
         "quarantine_retention_size": "Počet zadržaných správ pre jednotlivé poštové schránky<br><small>0 znamená <b>neaktívne</b>.</small>",
         "queue_ays": "Prosím potvrďte vymazanie všetkých položiek z aktuálnej fronty.",
         "queue_deliver_mail": "Doručiť",
         "queue_hold_mail": "Pozdržať",
         "queue_manager": "Správca fronty",
-        "queue_unban": "Povoliť",
-        "queue_unhold_mail": "Povoliť",
         "queue_show_message": "Zobraziť správu",
+        "queue_unban": "Odblokovať",
+        "queue_unhold_mail": "Uvoľniť",
         "quota_notification_html": "Notifikácia email predloha:<br><small>Nechať prázdne pre obnovenie originálnej predlohy.</small>",
-        "quota_notification_sender": "Notifikácia email odosielateľ",
-        "quota_notification_subject": "Notifikácia email predmet",
+        "quota_notification_sender": "Odosielateľ notifikácií",
+        "quota_notification_subject": "Predmet notifikácií",
         "quota_notifications": "Notifikácie o kvótach",
-        "quota_notifications_info": "Upozornenie na kvótu sú odoslané používateľom, keď prekročia 80% a 95% objemu schránky.",
+        "quota_notifications_info": "Notifikácie o kvóte sú odosielané používateľom, keď prekročia 80% a 95% objemu schránky.",
         "quota_notifications_vars": "{{percent}} sa rovná aktuálnej kvóte používateľa <br>{{užívateľské meno}} je poštová schránka",
         "r_active": "Aktívne obmedzenia",
         "r_inactive": "Neaktívne obmedzenia",
@@ -258,8 +287,9 @@
         "recipients": "Príjemcovia",
         "refresh": "Aktualizovať",
         "regen_api_key": "Obnoviť API kľúč",
-        "regex_maps": "Mapy regulérnych výrazov",
-        "relay_from": "\"From:\" adresa",
+        "regex_maps": "Mapy regulárnych výrazov",
+        "relay_from": "\"Od:\" adresa",
+        "relay_rcpt": "\"Komu:\" adresa",
         "relay_run": "Spustiť test",
         "relayhosts": "Transportné mapy pre odosielanie",
         "relayhosts_hint": "Definuje transportné mapy tak, aby ich bolo možné použiť pri konfigurácii domény.<br>\r\n  Transportná služba je vždy \"smtp:\" a použije TLS ak to bude umožnené. Wrapped TLS (SMTPS) nie je podporované. Zohľadňujú sa TLS pravidlá jednotlivých používateľov pri odosielaní.<br>\r\n  Ovplyvňuje vybrané domény vrátane doménových aliasov.",
@@ -274,10 +304,11 @@
         "rsetting_no_selection": "Prosím vyberte pravidlo",
         "rsetting_none": "Žiadne dostupné pravidlá",
         "rsettings_insert_preset": "Vložiť príklad \"%s\"",
-        "rsettings_preset_1": "Vypnúť všetky obmedzenia pre overených používateľov okrem DKIM a prenosového obmedzenia ",
+        "rsettings_preset_1": "Vypnúť všetky obmedzenia pre overených používateľov okrem DKIM a obmedzenia prenosu (rate limiting)",
         "rsettings_preset_2": "Prijať každý spam",
         "rsettings_preset_3": "Povoliť len špecifických odosielateľov (využitie ako interná schránka pre lokálne doručovanie)",
-        "rspamd-com_settings": "Názov nastavenia bude automaticky generovaný, prosím pozrite sa na príklad uvedeny nižšie. Pre viac informácií navštívte <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd docs</a>",
+        "rsettings_preset_4": "Deaktivujte Rspamd pre doménu",
+        "rspamd-com_settings": "Názov nastavenia bude automaticky vygenerovaný, pozrite sa prosím na ukážky uvedené nižšie. Pre viac informácií navštívte <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd dokumentáciu</a>",
         "rspamd_global_filters": "Mapy globálnych filtrov",
         "rspamd_global_filters_agree": "Budem opatrný!",
         "rspamd_global_filters_info": "Mapy globálnych filtrov obsahujú rozličné druhy globálnych blacklistov a whitelistov.",
@@ -288,18 +319,22 @@
         "search_domain_da": "Vyhľadať domény",
         "send": "Odoslať",
         "sender": "Odosielateľ",
+        "service": "Služba",
         "service_id": "ID služba",
         "source": "Zdroj",
         "spamfilter": "Spam filter",
         "subject": "Predmet",
+        "success": "Úspech",
         "sys_mails": "Systémové správy",
         "text": "Text",
         "time": "Čas",
-        "title_name": "\"mailcow UI\" názov webstránky",
+        "title": "Názov",
+        "title_name": "\"mailcow UI\" titulka",
         "to_top": "Naspať navrch",
-        "transport_dest_format": "Syntax: example.org, .example.org, *, box@example.org (viacero hodnôt môžu byť oddelené čiarkou)",
+        "transport_dest_format": "Regulárny výraz alebo syntax: example.org, .example.org, *, box@example.org (viacero hodnôt môžu byť oddelené čiarkou)",
         "transport_maps": "Transportné Mapy",
-        "transports_hint": "→ Záznam v transportnej mape <b>prevažuje</b> nad transportnou mapou pre odosielanie</b>.<br>\r\n→ Nastavenie TLS pre používateľa je ignorované a môže byť vynútené TLS mapovaním.<br>\r\n→ Transportná služba je definovaná vždy \"smtp:\" a použije TLS ak to bude umožnené. Wrapped TLS (SMTPS) nie je podporované.<br>\r\n→ Adresy ktoré sa rovnajú hodnote \"/localhost$/\" budú vždy transportované cez \"local:\" a nebudú použité pre cieľový záznam \"*\".<br>\r\n→ Po zadaní prihlasovacích údajov pre ďalší skok \"[host]:25\", Postfix <b>vždy</b> hľadá \"host\" a následne \"[host]:25\". Táto vlastnosť znemožňuje používať \"host\" a \"[host]:25\" naraz.",
+        "transport_test_rcpt_info": "&#8226; Na otestovanie odchádzajúcej pošty je možné použiť null@hosted.mailcow.de ako adresáta",
+        "transports_hint": "&#8226; Záznam v transportnej mape <b>prevažuje</b> nad transportnou mapou pre odosielanie</b>.<br>\r\n&#8226; Prenos na základe MX je preferovaná voľba.<br>\r\n&#8226; Nastavenie TLS pre používateľa je ignorované a môže byť vynútené TLS mapovaním.<br>\r\n&#8226; Transportná služba je definovaná vždy \"smtp:\" a použije TLS ak to bude umožnené. Wrapped TLS (SMTPS) nie je podporované.<br>\r\n&#8226; Adresy ktoré sa rovnajú hodnote \"/localhost$/\" budú vždy transportované cez \"local:\" a nebudú použité pre cieľový záznam \"*\".<br>\r\n&#8226; Po zadaní prihlasovacích údajov pre ďalší skok \"[host]:25\", Postfix <b>vždy</b> hľadá \"host\" a následne \"[host]:25\". Táto vlastnosť znemožňuje používať \"host\" a \"[host]:25\" naraz.",
         "ui_footer": "Pätička (HTML povolené)",
         "ui_header_announcement": "Oznámenie",
         "ui_header_announcement_active": "Aktivovať oznámenie",
@@ -307,15 +342,16 @@
         "ui_header_announcement_help": "Oznámenie je viditeľné pre všetkých prihlásených používateľov a na prihlasovacej obrazovke používateľského rozhrania.",
         "ui_header_announcement_select": "Zvoľte typ oznámenia",
         "ui_header_announcement_type": "Typ",
+        "ui_header_announcement_type_danger": "Veľmi dôležité",
         "ui_header_announcement_type_info": "Info",
         "ui_header_announcement_type_warning": "Dôležité",
-        "ui_header_announcement_type_danger": "Veľmi dôležité",
         "ui_texts": "UI značky a texty",
         "unban_pending": "čakajúci na unban",
         "unchanged_if_empty": "Nechajte prázdne, ak sa nemení",
         "upload": "Nahrať",
         "username": "Prihlasovacie meno",
         "validate_license_now": "Validovať GUID cez licenčný server",
+        "verify": "Kontrola",
         "yes": "&#10003;"
     },
     "danger": {
@@ -328,9 +364,9 @@
         "aliases_in_use": "Max. počet aliasov musí byť väčší alebo rovnajúci sa %d",
         "app_name_empty": "Meno aplikácie nemôže byť prázdne",
         "app_passwd_id_invalid": "Heslo aplikácie ID %s neplatné",
-        "bcc_empty": "BCC cieľ nemôže byť prázdny",
-        "bcc_exists": "BCC mapa %s existuje pre typ %s",
-        "bcc_must_be_email": "BCC cieľ %s nie je platná emailová adresa",
+        "bcc_empty": "Cieľ kópie nemôže byť prázdny",
+        "bcc_exists": "Skrytá kópia %s už existuje pre typ %s",
+        "bcc_must_be_email": "Cieľ kópie %s nie je platná emailová adresa",
         "comment_too_long": "Komentár je príliš dlhý, povolených je max. 160 znakov",
         "defquota_empty": "Predvolená kvóta pre poštovú schránku nemôže byť 0.",
         "description_invalid": "Popis zdroja pre %s je neplatný",
@@ -344,6 +380,7 @@
         "domain_quota_m_in_use": "Doménová kvóta musí byť väčšia alebo rovnajúca sa %s MiB",
         "extra_acl_invalid": "Externá adresa odosielateľa \"%s\" je neplatná",
         "extra_acl_invalid_domain": "Externý odosielateľ \"%s\" používa neplatnú doménu",
+        "fido2_verification_failed": "FIDO2 overenie zlyhalo: %s",
         "file_open_error": "Nemožno otvoriť súbor pre zápis",
         "filter_type": "Nesprávny typ filtra",
         "from_invalid": "Odosielateľ nemôže byť prázdny",
@@ -367,7 +404,7 @@
         "invalid_recipient_map_old": "Neplatná pôvodná mapa príjemcu: %s",
         "ip_list_empty": "Zoznam povolených IP nemôže byť prázdny",
         "is_alias": "%s je už používané ako alias adresa",
-        "is_alias_or_mailbox": "%s je už používaná ako adresa aliasu, poštovej schránky nebo aliasu odvodeného z aliasu domény",
+        "is_alias_or_mailbox": "%s je už používaná ako adresa aliasu, poštovej schránky alebo aliasu odvodeného z aliasu domény",
         "is_spam_alias": "%s je už používaná ako adresa dočasného aliasu (spam alias adresa)",
         "last_key": "Posledný kľúč nemôže byť vymazaný, deaktivujte najprv TFA",
         "login_failed": "Prihlásenie zlyhalo",
@@ -387,6 +424,7 @@
         "network_host_invalid": "Neplatná sieť alebo hostiteľ: %s",
         "next_hop_interferes": "%s narúša ďalší skok %s",
         "next_hop_interferes_any": "Existujúci ďalší skok narúša %s",
+        "nginx_reload_failed": "Nginx reload zlyhal: %s",
         "no_user_defined": "Nie je definovaný žiadny používateľ",
         "object_exists": "Objekt %s už existuje",
         "object_is_not_numeric": "Hodnota %s nie je numerická",
@@ -404,7 +442,7 @@
         "redis_error": "Redis chyba: %s",
         "relayhost_invalid": "Položka %s je neplatná",
         "release_send_failed": "Správa nemohla byť uvoľnená: %s",
-        "reset_f2b_regex": "Regex filter sa nepodarilo resetovať, skúste to znovu alebo počkajte pár sekúnd a reloadnite stránku.",
+        "reset_f2b_regex": "Regex filter sa nepodarilo resetovať, skúste to znovu alebo počkajte pár sekúnd a obnovte stránku.",
         "resource_invalid": "Zdrojové meno %s je neplatné",
         "rl_timeframe": "Obmedzenie časového rámca je nesprávny",
         "rspamd_ui_pw_length": "Heslo pre Rspamd rozhranie by malo mať minimálne 6 znakov",
@@ -427,42 +465,52 @@
         "totp_verification_failed": "TOTP overenie zlyhalo",
         "transport_dest_exists": "Transportný cieľ \"%s\" už existuje",
         "u2f_verification_failed": "U2F overenie zlyhalo: %s",
-        "fido2_verification_failed": "FIDO2 overenie zlyhalo: %s",
         "unknown": "Nastala neznáma chyba",
         "unknown_tfa_method": "Neznáma TFA metóda",
         "unlimited_quota_acl": "Neobmedzené kvóta je zakázaná cez ACL",
-        "username_invalid": "Užívateľské meno %s nemôže byť použité",
+        "username_invalid": "Používateľské meno %s nemôže byť použité",
         "validity_missing": "Zadajte periódu platnosti",
         "value_missing": "Prosím poskytnite všetky hodnoty",
+        "xmpp_map_write_error": "Nemožno zapísať XMPP mapu: %s",
+        "xmpp_reload_failed": "Reloadnutie XMPP zlyhalo",
+        "xmpp_restart_failed": "Reštartovanie XMPP zlyhalo",
         "yotp_verification_failed": "Yubico OTP overenie zlyhalo: %s"
     },
     "debug": {
         "chart_this_server": "Graf (tento server)",
         "containers_info": "Informácie o kontajneroch",
         "disk_usage": "Použitie disku",
-        "external_logs": "Externé správy",
+        "docs": "Dokumenty",
+        "external_logs": "Externé logy",
         "history_all_servers": "História (všetky servery)",
-        "in_memory_logs": "Správy uložené v pamäti",
+        "in_memory_logs": "Logy uložené v pamäti",
         "jvm_memory_solr": "JVM spotreba pamäte",
-        "log_info": "<b>Logy v pamäti</b> sú zbierané do Redis listu s max. limitom (%d) riadkov každú minútu, čo bráni nadmernej záťaži servera.\r\n  <br>Logy v pamäti nemajú trvalý charakter. Všetky aplikácie ktoré vedú logy v pamäti, taktiež logujú do Docker démona a súčasne do nastaveného logging drivera.\r\n  <br>Logy v pamäti sa môžu použiť na ladenie menších problémov s kontajnermi.</p>\r\n  <p><b>Externé logy</b> sú zbierané cez API danej aplikácie.</p>\r\n  <p><b>Statické logy</b> sú väčšinou aktivity, ktoré nie sú logované do Docker démona, ale musia byť trvalo zaznamenané (s výnimkou API záznamov).</p>",
-        "logs": "Správy",
+        "last_modified": "Naposledy upravené",
+        "log_info": "<b>Logy v pamäti</b> sú zbierané do Redis listu s max. limitom LOG_LINES (%d) riadkov každú minútu, čo bráni nadmernej záťaži servera.\r\n  <br>Logy v pamäti nemajú trvalý charakter. Všetky aplikácie ktoré vedú logy v pamäti, tiež logujú do Docker démona a súčasne do nastaveného logging drivera.\r\n  <br>Logy v pamäti sa môžu použiť na ladenie menších problémov s kontajnermi.</p>\r\n  <p><b>Externé logy</b> sú zbierané cez API danej aplikácie.</p>\r\n  <p><b>Statické logy</b> sú väčšinou aktivity, ktoré nie sú logované do Docker démona, ale musia byť trvalo zaznamenané (s výnimkou API záznamov).</p>",
+        "login_time": "Čas",
+        "logs": "Logy",
+        "online_users": "Používateľov online",
         "restart_container": "Reštartovať",
-        "solr_dead": "Solr štartuje, bol vypnutý alebo zlyhal.",
-        "solr_docs": "Dokumenty",
-        "solr_last_modified": "Naposledy upravené",
-        "solr_size": "Veľkosť",
-        "solr_started_at": "Spustený",
+        "service": "Služba",
+        "size": "Veľkosť",
+        "solr_dead": "Solr štartuje, je vypnutý alebo nebeží.",
         "solr_status": "Solr status",
-        "solr_uptime": "Doba behu",
+        "started_at": "Spustený",
         "started_on": "Spustený",
-        "static_logs": "Statické správy",
-        "system_containers": "Systém & Kontajnery"
+        "static_logs": "Statické logy",
+        "success": "Úspech",
+        "system_containers": "Systém & Kontajnery",
+        "uptime": "Doba behu",
+        "username": "Používateľské meno",
+        "xmpp_dead": "XMPP štartuje, je vypnutý alebo nebeží.",
+        "xmpp_status": "XMPP status"
     },
     "diagnostics": {
         "cname_from_a": "Hodnota odvodená od A/AAAA záznamu. Toto je podporené len v prípade ak záznam poukazuje na správny zdroj.",
         "dns_records": "DNS záznamy",
         "dns_records_24hours": "Berte prosím do úvahy, že zmeny v DNS môžu trvať až 24 hodín, aby sa zmeny prejavili na tejto stránke. Pre jednoduchosť DNS konfigurácie môžete použiť údaje uvedené nižšie, prípadne skontrolovať tak správnosť záznamov v DNS.",
         "dns_records_data": "Správne dáta",
+        "dns_records_docs": "Pozrite si prosím <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentáciu</a>.",
         "dns_records_name": "Meno",
         "dns_records_status": "Súčasný stav",
         "dns_records_type": "Typ",
@@ -470,21 +518,23 @@
     },
     "edit": {
         "active": "Aktívny",
+        "admin": "Upraviť administrátora",
+        "advanced_settings": "Pokročilé nastavenia",
         "alias": "Upraviť alias",
         "allow_from_smtp": "Umožniť iba týmto IP adresám používať <b>SMTP</b>",
-        "allow_from_smtp_info": "Nechať prázdne pre povolenie všetkých odosielateľov.<br>IPv4/IPv6 adresy a siete.",
+        "allow_from_smtp_info": "Nechajte prázdne pre povolenie všetkých odosielateľov.<br>IPv4/IPv6 adresy a siete.",
         "allowed_protocols": "Povolené protokoly",
         "app_name": "Meno aplikácie",
         "app_passwd": "Heslo aplikácie",
         "automap": "Skúsiť automapovať priečinky (\"Sent items\", \"Sent\" => \"Sent\" atd.)",
         "backup_mx_options": "Možnosti preposielania",
-        "bcc_dest_format": "BCC cieľ musí byť jedna platná emailová adresa.",
+        "bcc_dest_format": "Cieľ kópie musí byť jedna platná emailová adresa. Pokiaľ potrebujete posielať kópie na viac adries, vytvorte Alias a použite ho tu.",
         "client_id": "ID klienta",
         "client_secret": "Klientský tajný kľúč",
         "comment_info": " Súkromný komentár nie je viditeľný používateľovi, na rozdiel od verejného komentára, ktorý je prezentovaný ako popis v prehľade používateľov",
-        "delete1": "Vymazať zo zdroja, po dokončení",
-        "delete2": "Vymazať správy na cieli, ktoré nie sú na zdroji",
-        "delete2duplicates": "Vymazať duplikáty na cieli",
+        "delete1": "Vymazať zo zdrojovej schránky, po dokončení prenosu",
+        "delete2": "Vymazať správy v cieľovej schránke, ak nie sú v zdrojovej",
+        "delete2duplicates": "Vymazať duplikáty v cieľovej schránke",
         "delete_ays": "Potvrďte zmazanie.",
         "description": "Popis",
         "disable_login": "Zablokovať prihlásenie (nevzťahuje sa na prichádzajúcu poštu)",
@@ -493,13 +543,13 @@
         "domain_quota": "Kvóta domény",
         "domains": "Domény",
         "dont_check_sender_acl": "Vypnúť kontrolu odosielateľa pre doménu %s (+ alias domény)",
-        "edit_alias_domain": "Upraviť Alias domény",
+        "edit_alias_domain": "Upraviť alias domény",
         "encryption": "Zašifrovanie",
         "exclude": "Vyradiť objekty (regex)",
         "extended_sender_acl": "Externé adresy odosielateľa",
         "extended_sender_acl_info": "DKIM doménový kľúč by mal byť importovaný, ak je dostupný.<br>\r\n Nezabudnite pridať tento server prislúchajúcemu SPF TXT záznamu.<br>\r\n  Kedykoľvek je doména alebo alias doména pridaná na server, ktorá sa zhoduje s externou adresou, táto externá adresa je odstránená.<br>\r\n  Použite @domain.tld pre schopnosť poslať ako *@domain.tld.",
-        "force_pw_update": "Prinútiť aktualizáciu hesla pri ďalšom prihlásení",
-        "force_pw_update_info": "Tento používateľ bude schopný prihlásiť sa len do %s.",
+        "force_pw_update": "Vynútiť zmenu hesla pri ďalšom prihlásení",
+        "force_pw_update_info": "Používateľ sa bude môcť prihlásiť len do administrácie.",
         "full_name": "Celé meno",
         "gal": "Globálny zoznam adries",
         "gal_info": "Globálny zoznam adries obsahuje všetky objekty v doméne a nemôže byť upravená žiadnym používateľom. Informácie o Free/Busy stave budú chýbať ak bude vypnutý! <b>Reštartujte SOGo na aplikáciu zmien.</b>",
@@ -508,17 +558,20 @@
         "hostname": "Hostiteľ",
         "inactive": "Neaktívny",
         "kind": "Druh",
+        "lookup_mx": "Cieľ je regulárny výraz ktorý sa zhoduje s MX záznamom (<code>.*google\\.com</code> smeruje všetku poštu na MX ktoré sú cieľom pre google.com cez tento skok)",
         "mailbox": "Upraviť poštovú schránku",
         "mailbox_quota_def": "Predvolená veľkosť poštovej schránky",
+        "mailbox_relayhost_info": "Aplikované len na používateľské schránky a priame aliasy, prepisuje doménového preposielateľa.",
         "max_aliases": "Max. počet aliasov",
         "max_mailboxes": "Max. počet schránok",
         "max_quota": "Max. kvóta pre poštovú schránku (MiB)",
         "maxage": "Maximálne obdobie správ v dňoch, ktoré sa budú vzdialene dotazovať<br><small>(0 = ignorovať obdobie age)</small>",
         "maxbytespersecond": "Max. bajtov za sekundu <br><small>(0 = bez limitu)</small>",
-        "mbox_rl_info": "Tento limit je aplikovaný na SASL prihlasovacom meno, je zhodný s \"from\" adresou používanou prihláseným používateľom. Prenosový limit u poštovej adresy má prednosť pred domain-wide prenosovým limitom.",
+        "mbox_rl_info": "Tento limit je aplikovaný na báze prihlasovacieho mena SASL, je zhodný s \"from\" adresou používanou prihláseným používateľom. Prenosový limit u poštovej adresy má prednosť pred domain-wide prenosovým limitom.",
         "mins_interval": "Interval (min)",
         "multiple_bookings": "Viaceré rezervácie",
         "nexthop": "Ďalší skok",
+        "none_inherit": "Žiadne / Zdediť",
         "password": "Heslo",
         "password_repeat": "Potvrdzovacie heslo (opakovať)",
         "previous": "Predchádzajúca strana",
@@ -528,12 +581,15 @@
         "pushover_info": "Push notifikácie budú aplikované na všetky správy (s výnimkou spamu) doručené pre <b>%s</b> vrátane aliasov (zdieľané, nezdieľané, označené).",
         "pushover_only_x_prio": "Vyberať len správy s vysokou prioritou [<code>X-Priority: 1</code>]",
         "pushover_sender_array": "Zohľadňujú sa nasledujúce adresy odosielateľa <small>(oddelené čiarkou)</small>",
-        "pushover_sender_regex": "Užívateľ vybraný regulérnym výrazom",
+        "pushover_sender_regex": "Používateľ vybraný regulárnym výrazom",
         "pushover_text": "Text notifikácie",
         "pushover_title": "Názov notifikácie",
         "pushover_vars": "Ak nie je definovaný žiadny filter odosielateľa, zohľadnia sa všetky správy.<br>Priama kontrola odosielateľa a regulárne výrazy sa kontrolujú nezávisle od seba, <b>nezávisia od seba navzájom</b> a vykonávajú sa postupne.<br>Použiteľné premenné pre názov a text (dodržujte pokyny na ochranu osobných údajov)",
         "pushover_verify": "Overiť prístupové údaje",
         "quota_mb": "Kvóta (MiB)",
+        "quota_warning_bcc": "Upozornenie na kvótu BCC",
+        "quota_warning_bcc_info": "Upozornenia budú poslané ako samostatné kópie nasledujúcim prijímateľom. Predmet bude doplnený o použivateľské meno v zátvorkách, príklad: <code>Upozornenie na kvótu (user@example.com)</code>.",
+        "ratelimit": "Obmedzenie prenosu",
         "redirect_uri": "Presmerovať URL",
         "relay_all": "Preposielať všetkých prijemcov",
         "relay_all_info": "↪ Ak sa rozhodnete <b>nepreposielať</b> všetkých príjemcov, budete musieť pridať (\"tzv. slepú\") poštovú schránku pre každého príjemcu.",
@@ -546,7 +602,7 @@
         "save": "Uložiť zmeny",
         "scope": "Rozsah",
         "sender_acl": "Povoliť odosielanie ako",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Kontrola odosielateľa vypnutá</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Kontrola odosielateľa vypnutá</span>",
         "sender_acl_info": "Ak poštový používateľ A má povolenie poslať ako poštový používateľ B, adresa odosielateľa nieje automaticky viditeľná ako voliteľné \"from\" pole v SOGo.<br>\r\n Poštový používateľ B potrebuje vytvoriť delegáciu v SOGo, aby bol schopný poštový používateľ A vybrať svoju adresu ako odosielateľ. Na delegovanie poštovej adresy v SOGo, použite menu (tri bodky) napravo vášho poštového mena v hornom ľavom rohu, v prehľade správ. Toto neplatí pre alias adresy.",
         "sieve_desc": "Krátky popis",
         "sieve_type": "Typ filtru",
@@ -556,27 +612,53 @@
         "sogo_visible": "Alias je viditeľný v SOGo",
         "sogo_visible_info": "Táto voľba ovplyvňuje len objekty, ktoré dokážu byť zobrazené v SOGo (zdieľané alebo nezdieľané alias adresy ukazujúc na minimálne jednu lokálnu poštovú schránku). Ak je skrytý, alias nebude prezentovaný ako voliteľný odosielateľ v SOGo.",
         "spam_alias": "Vytvoriť alebo zmeniť časovo limitované alias adresy",
+        "spam_filter": "Spam filter",
         "spam_policy": "Pridať alebo odstrániť položky do bielej/čiernej listiny",
         "spam_score": "Stanoviť vlastnú spam hodnotu",
         "subfolder2": "Synchronizovať do podadresára na cieli<br><small>(prázdne = nevytvárať podpriečinok)</small>",
         "syncjob": "Upraviť synchronizačnú úlohu",
         "target_address": "Cieľová adresa/y <small>(oddelené čiarkou)</small>",
         "target_domain": "Cieľová doména",
-        "timeout1": "Timeout pre spojenie s diaľkovým hostiteľom",
-        "timeout2": "Timeout pre spojenie s lokálnym hostiteľom",
+        "timeout1": "Timeout pre spojenie s vzdialeným serverom",
+        "timeout2": "Timeout pre spojenie s lokálnym serverom",
         "title": "Upraviť objekt",
         "unchanged_if_empty": "Ak nemeníte, nechajte prázdne",
         "username": "Používateľské meno",
-        "validate_save": "Validovať a uložiť"
+        "validate_save": "Validovať a uložiť",
+        "xmpp": "Aktivovať XMPP pre túto doménu",
+        "xmpp_access": "XMPP prístup",
+        "xmpp_access_info": "XMPP musí byť aktivované pre túto doménu.",
+        "xmpp_admin": "XMPP administrátor",
+        "xmpp_admin_info": "<b>Upozornenie:</b> Povýši užívateľa na XMPP administrátora pre túto doménu.",
+        "xmpp_example_jid": "<b>Príklad JID</b> (prihlásenie s mail heslom)",
+        "xmpp_info": "Aktivovanie tejto funkcie umožní četovanie v tejto doméne.",
+        "xmpp_prefix": "XMPP prefix pre doménu (\"im\" bude použitý ako <b>im</b>.example.org)",
+        "xmpp_prefix_info": "Pre vyžiadanie certifikátov pre XMPP by mali smerovať dva CNAME DNS záznamy z <b>im</b>.example.org ako aj <b>*.im</b>.example.org na <b>%s</b>. Prosím spustie DNS kontrolu po zapnutí XMPP."
+    },
+    "fido2": {
+        "confirm": "Potvrdiť",
+        "fido2_auth": "Prihlásiť sa cez FIDO2",
+        "fido2_success": "Zariadenie úspešne zaregistrované",
+        "fido2_validation_failed": "Overenie zlyhalo",
+        "fn": "Užívateľsky prívetivý názov",
+        "known_ids": "Známe ID",
+        "none": "Vypnuté",
+        "register_status": "Stav registrácie",
+        "rename": "Premenovať",
+        "set_fido2": "Registrovať FIDO2 zariadenie",
+        "set_fn": "Nastaviť zjednodušené meno",
+        "start_fido2_validation": "Spustiť FIDO2 overenie"
     },
     "footer": {
         "cancel": "Zrušiť",
         "confirm_delete": "Potvrďte vymazanie",
         "delete_now": "Vymazať teraz",
         "delete_these_items": "Prosím potvrďte svoje vykonané zmeny nasledujúcemu objektovému id",
+        "hibp_check": "Overiť heslo v databáze hacknutých hesiel haveibeenpwned.com",
         "hibp_nok": "Zhoda! Toto je potenciálne nebezpečné heslo!",
         "hibp_ok": "Nenašla sa zhoda.",
         "loading": "Prosím čakajte...",
+        "nothing_selected": "Nie je nič vybrané",
         "restart_container": "Reštartovať kontajner",
         "restart_container_info": "<b>Dôležité:</b> Reštartovanie môže trvať dlhšie, čakajte prosím ...",
         "restart_now": "Reštartuj teraz",
@@ -591,7 +673,7 @@
         "quarantine": "Karanténa",
         "restart_netfilter": "Reštartovať netfilter",
         "restart_sogo": "Reštart SOGo",
-        "user_settings": "Užívateľské nastavenia"
+        "user_settings": "Používateľské nastavenia"
     },
     "info": {
         "awaiting_tfa_confirmation": "Očakávanie TFA potvrdenia",
@@ -613,43 +695,46 @@
         "active": "Aktívny",
         "add": "Pridať",
         "add_alias": "Pridať alias",
-        "add_bcc_entry": "Pridať BCC mapu",
+        "add_alias_expand": "Rozšíriť alias o alias domény",
+        "add_bcc_entry": "Pridať skrytú kópiu",
         "add_domain": "Pridať doménu",
-        "add_domain_alias": "Pridať alias domény",
+        "add_domain_alias": "Pridať alias doménu",
         "add_domain_record_first": "Prosím pridajte najprv doménu",
         "add_filter": "Pridať filter",
         "add_mailbox": "Pridať poštovú schránku",
         "add_recipient_map_entry": "Pridať mapu príjemcu",
         "add_resource": "Pridať zdroj",
         "add_tls_policy_map": "Pridať TLS mapu pravidiel",
-        "address_rewriting": "Prepisovanie adresy",
+        "address_rewriting": "Prepisovanie adries",
         "alias": "Alias",
-        "alias_domain_alias_hint": "Aliasy <b>nie sú</b> aplikované na aliasy domén automaticky. Alias adresa <code>my-alias@domain</code> <b>nezahŕňa adresu</b> <code>my-alias@alias-domain</code> (kde \"alias-doména\" je imaginárna alias doména pre \"doména\").<br>Prosím použite sieve filter na presmerovanie pošty na externú poštovú schránku (pozri sekciu \"Filtre\" alebo použite SOGo -> Forwarder).",
+        "alias_domain_alias_hint": "Aliasy <b>nie sú</b> aplikované na aliasy domén automaticky. Alias adresa <code>my-alias@domain</code> <b>nezahŕňa adresu</b> <code>my-alias@alias-domain</code> (kde \"alias-doména\" je imaginárna alias doména pre \"doména\").<br>Prosím použite sieve filter na presmerovanie pošty na externú poštovú schránku (pozri sekciu \"Filtre\" alebo použite SOGo -> Forwarder). Použite \"Rozšíriť alias o aliasové domény\" na automatické doplnenie chýbajúcich aliasov.",
         "alias_domain_backupmx": "Doménový alias je neaktívny pre preposielaciu doménu",
         "aliases": "Aliasy",
+        "all_domains": "Všetky Domény",
         "allow_from_smtp": "Umožniť iba týmto IP adresám používať <b>SMTP</b>",
-        "allow_from_smtp_info": "Nechať prázdne pre povolenie všetkých odosielateľov.<br>IPv4/IPv6 adresy a siete.",
+        "allow_from_smtp_info": "Nechajte prázdne pre povolenie všetkých odosielateľov.<br>IPv4/IPv6 adresy a siete.",
         "allowed_protocols": "Povolené protokoly",
         "backup_mx": "Preposielať doménu",
         "bcc": "BCC",
-        "bcc_destination": "BCC cieľ",
-        "bcc_destinations": "BCC ciele",
-        "bcc_info": "BCC mapy sú používané na preposlanie kópií všetkých správ na ďalšiu adresu. Mapa príjemcov je použitá, keď lokálny cieľ je príjemcom správy. Mapy odosielateľov podliehajú tomu istému princípu.<br/>\r\n Lokálny cieľ nebude informovaný o zlyhanom doručení.",
-        "bcc_local_dest": "Lokálny cieľ",
-        "bcc_map": "BCC mapa",
-        "bcc_map_type": "BCC typ mapy",
-        "bcc_maps": "BCC mapy",
-        "bcc_rcpt_map": "Mapa príjemcu",
-        "bcc_sender_map": "Mapa odosielateľa",
-        "bcc_to_rcpt": "Prepnúť na mapu príjemcu",
-        "bcc_to_sender": "Prepnúť na mapu odosielateľa",
-        "bcc_type": "BCC typ",
-        "booking_0": "Vždy ukázať ako voľný",
-        "booking_0_short": "Neustále voľno",
-        "booking_custom": "Tvrdý limit nastaviteľné množstvo rezervácií",
+        "bcc_destination": "Cieľ kópie",
+        "bcc_destinations": "Ciele kópií",
+        "bcc_info": "Skyté kópie (BCC mapy) sú používané na preposlanie skrytých kópií všetkých správ na ďalšiu adresu. Pri použití skrytej kópie typu <i>Prijatý e-mail</i> budú preposlané všetky maily smerujúce na dotyčnú adresu alebo doménu.\nPri type <i>Odoslaný e-mail</i> budú preposlané všetky maily odoslané z dotyčnej adresy alebo domény.\nPokiaľ zlyhá preposlanie na cieľovú adresu, tak odosielateľ o tom nebude informovaný.",
+        "bcc_local_dest": "Týka sa",
+        "bcc_map": "Skrytá kópia",
+        "bcc_map_type": "Typ skrytej kópie",
+        "bcc_maps": "Skryté kópie",
+        "bcc_rcpt_map": "Prijatý e-mail",
+        "bcc_sender_map": "Odoslaný e-mail",
+        "bcc_to_rcpt": "Prepnúť typ na Prijatý e-mail",
+        "bcc_to_sender": "Prepnúť typ na Odoslaný e-mail",
+        "bcc_type": "Typ skrytej kópie",
+        "booking_0": "Vždy zobraziť ako voľný",
+        "booking_0_short": "Neustále voľný",
+        "booking_custom": "Limitované na pevný počet rezervácií",
         "booking_custom_short": "Tvrdý limit",
         "booking_lt0": "Bez limitu, ale zobraziť obsadené po rezervácii",
-        "booking_lt0_short": "Mäkký limit",
+        "booking_lt0_short": "Voľný limit",
+        "catch_all": "Doménový kôš",
         "daily": "Denný",
         "deactivate": "Deaktivovať",
         "description": "Popis",
@@ -657,30 +742,33 @@
         "disable_x": "Pozastaviť",
         "domain": "Doména",
         "domain_admins": "Administrátori domény",
-        "domain_aliases": "Aliasy domény",
+        "domain_aliases": "Alias domény",
         "domain_quota": "Kvóta",
         "domains": "Domény",
         "edit": "Upraviť",
         "empty": "Žiadne výsledky",
         "enable_x": "Povolené",
         "excludes": "Vyraďuje",
-        "filter_table": "Tabuľka filtrov",
+        "filter_table": "Filtrovať tabuľku",
         "filters": "Filtre",
         "fname": "Celé meno",
+        "goto_ham": "Považovať za <b>ham</b>",
+        "goto_spam": "Považovať za <b>spam</b>",
         "hourly": "Hodinový",
         "in_use": "Obsadenosť (%)",
         "inactive": "Neaktívny",
         "insert_preset": "Vložiť vzor nastavenia \"%s\"",
         "kind": "Druh",
         "last_mail_login": "Posledné prihlásenie",
+        "last_pw_change": "Naposledy zmenené heslo",
         "last_run": "Posledné spustenie",
-        "last_run_reset": "Naplánovať ďalší",
+        "last_run_reset": "Znovu naplánovať",
         "mailbox": "Poštová schránka",
+        "mailbox_defaults": "Predvolené nastavenia",
+        "mailbox_defaults_info": "Definuje predvolené nastavenia pre nové schránky",
         "mailbox_defquota": "Predvolená veľkosť schránky",
         "mailbox_quota": "Max. veľkosť schránky",
         "mailboxes": "Poštové schránky",
-        "mailbox_defaults": "Predvolené nastavenia",
-        "mailbox_defaults_info": "Definuje predvolené nastavenia pre nové schránky",
         "mins_interval": "Interval (min)",
         "msg_num": "Počet správ",
         "multiple_bookings": "Viaceré rezervácie",
@@ -688,15 +776,17 @@
         "no": "&#10005;",
         "no_record": "Žiaden záznam pre objekt %s",
         "no_record_single": "Žiaden záznam",
+        "open_logs": "Otvoriť záznam",
         "owner": "Majiteľ",
         "private_comment": "Súkromný komentár",
         "public_comment": "Verejný komentár",
         "q_add_header": "Priečinok nevyžiadaná pošta",
         "q_all": "Všetky kategórie",
         "q_reject": "Odmietnutá",
-        "quarantine_notification": "Karanténne notifikácie",
         "quarantine_category": "Kategória karanténnych notifikácií",
+        "quarantine_notification": "Karanténne notifikácie",
         "quick_actions": "Akcia",
+        "recipient": "Prijatý e-mail",
         "recipient_map": "Mapa príjemcu",
         "recipient_map_info": "Mapy príjemcov sú používané ako náhrada cieľovej adresy u správy pred doručením.",
         "recipient_map_new": "Nový príjemca",
@@ -707,9 +797,10 @@
         "remove": "Odstrániť",
         "resources": "Zdroje",
         "running": "Bežiaci",
+        "sender": "Odoslaný e-mail",
         "set_postfilter": "Označiť ako postfilter",
         "set_prefilter": "Označiť ako prefilter",
-        "sieve_info": "Môžete uchovávať viacero filtrov pre používateľa, ale iba jeden prefilter a jeden postfilter môže byť aktívny v daný okamih.<br>\r\n Každý filter bude spracovaný v nastavenom poradí. Ani zlyhanie skriptu alebo zadržanie nezastaví spracovanie ďalších skriptov. Po úprave sieve filtrov bude nasledovať reštart dovecotu.<br><br>Globálny sieve prefilter → Prefilter → Skripty používateľa → Postfilter → Globálny sieve postfilter",
+        "sieve_info": "Môžete uchovávať viacero filtrov pre používateľa, ale iba jeden prefilter a jeden postfilter môže byť aktívny v daný okamih.<br>\r\n Každý filter bude spracovaný v nastavenom poradí. Ani zlyhanie skriptu alebo zadržanie nezastaví spracovanie ďalších skriptov. Po úprave sieve filtrov bude nasledovať reštart dovecotu.<br><br>Globálny sieve prefilter &#8226; Prefilter &#8226; Skripty používateľa &#8226; Postfilter &#8226; Globálny sieve postfilter",
         "sieve_preset_1": "Vyradiť poštu s pravdepodobnými typmi nebezpečných súborov",
         "sieve_preset_2": "Neustále označovať poštu špecifického odosielateľa ako videnú",
         "sieve_preset_3": "Potichu zahodiť a zastaviť všetky nasledovné spracovanie sieve filtrami",
@@ -719,10 +810,9 @@
         "sieve_preset_7": "Presmerovať a uchovať/zahodiť",
         "sieve_preset_8": "Zahodiť správu odoslanú na alias adresu, ktorej je odosielateľ súčasťou",
         "sieve_preset_header": "Prosím pozrite sa na ukážku nižšie. Pre viac informácií pozrite <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
-        "sogo_allow_admin_hint": "Administratívne SOGo prihlásenia sú dostupné pre poštové schránky s existujúcim SOGo profilom. Požívateľ musí byť prihlásený do SOGo najmenej raz.",
         "sogo_visible": "Alias je viditeľný v SOGo",
         "sogo_visible_n": "Skryť alias v SOGo",
-        "sogo_visible_y": "Ukázať alias v SOGo",
+        "sogo_visible_y": "Zobraziť alias v SOGo",
         "spam_aliases": "Dočasný alias",
         "stats": "Štatistika",
         "status": "Status",
@@ -739,11 +829,11 @@
         "tls_map_parameters_info": "Prázdny alebo parametre, napríklad: protocols=!SSLv2 ciphers=medium exclude=3DES",
         "tls_map_policy": "Podmienky",
         "tls_policy_maps": "Mapy TLS pravidiel",
-        "tls_policy_maps_info": "Táto mapa prevažuje nad TLS pravidlami nezávisle od TLS pravidiel jednotlivých používateľov.<br>\r\n  Viac informácií navštívte <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\"> info k \"smtp_tls_policy_maps\" </a>",
         "tls_policy_maps_enforced_tls": "Tieto politiky prepisujú používateľské nastavenia pre poštové schránky ktore majú vynútene odchodzie TLS pripojenie. Ak nižšie nie sú uvedené žiadne pravidlá, budú použité ako východzie pravidlá <code>smtp_tls_mandatory_protocols</code> a <code>smtp_tls_mandatory_ciphers</code>.",
+        "tls_policy_maps_info": "Táto mapa prevažuje nad TLS pravidlami nezávisle od TLS pravidiel jednotlivých používateľov.<br>\r\n  Viac informácií navštívte <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\"> info k \"smtp_tls_policy_maps\" </a>",
         "tls_policy_maps_long": "Prepisovanie TLS pravidiel pre odosielanie",
         "toggle_all": "Označiť všetky",
-        "username": "Užívateľské meno",
+        "username": "Používateľské meno",
         "waiting": "Čakanie",
         "weekly": "Týždenný",
         "yes": "&#10003;"
@@ -782,6 +872,9 @@
         "qitem": "Karanténna položka",
         "quarantine": "Karanténa",
         "quick_actions": "Akcia",
+        "quick_delete_link": "Otvoriť link pre zmazanie",
+        "quick_info_link": "Otvoriť link pre info",
+        "quick_release_link": "Otvoriť link pre uvoľnenie",
         "rcpt": "Príjemca",
         "received": "Prijaté",
         "recipients": "Príjemcovia",
@@ -795,11 +888,8 @@
         "rspamd_result": "Rspamd výsledok",
         "sender": "Odosielateľ (SMTP)",
         "sender_header": "Odosielateľ (\"From\" hlavička)",
-        "type": "Typ",
-        "quick_release_link": "Otvoriť link pre uvoľnenie",
-        "quick_delete_link": "Otvoriť link pre zmazanie",
-        "quick_info_link": "Otvoriť link pre info",
-        "show_item": "Ukázať súbor",
+        "settings_info": "Maximálne množstvo položiek ktoré sa umiestnia do karantény: %s<br>Maximálna veľkosť emailu: %s MiB",
+        "show_item": "Zobraziť súbor",
         "spam": "Spam",
         "spam_score": "Výsledok",
         "subj": "Predmet",
@@ -807,7 +897,15 @@
         "table_size_show_n": "Zobraziť %s položiek",
         "text_from_html_content": "Obsah (konvertovaný html)",
         "text_plain_content": "Obsah (text/jednoduchý)",
-        "toggle_all": "Označiť všetky"
+        "toggle_all": "Označiť všetky",
+        "type": "Typ"
+    },
+    "ratelimit": {
+	    "disabled": "Vypnuté",
+	    "second": "správ za sekundu",
+	    "minute": "správ za minútu",
+	    "hour": "správ za hodinu",
+	    "day": "správ za deň"
     },
     "start": {
         "help": "Zobraziť/Skryť panel nápoveď",
@@ -847,9 +945,9 @@
         "domain_admin_removed": "Administrátorská doména %s odstránená",
         "domain_modified": "Zmeny v doméne %s uložené",
         "domain_removed": "Doména %s odstránená",
-        "dovecot_restart_success": "Dovecot sa úspešne reštartoval",        
+        "dovecot_restart_success": "Dovecot sa úspešne reštartoval",
         "eas_reset": "ActiveSync zariadenia pre používateľa %s resetovaný",
-        "f2b_modified": "Zmeny v Fail2ban parametroch uložené",
+        "f2b_modified": "Zmeny v parametroch automatického firewallu uložené",
         "forwarding_host_added": "Doručovací hostiteľ %s pridaný",
         "forwarding_host_removed": "Doručovací hostiteľ %s vymazaný",
         "global_filter_written": "Filter bol úspešne zapísaný do súboru",
@@ -864,7 +962,9 @@
         "mailbox_added": "Poštová schránka %s pridaná",
         "mailbox_modified": "Zmeny v poštovej schránke %s uložené",
         "mailbox_removed": "Mailbox %s odstránený ",
+        "nginx_reloaded": "Nginx sa reloadol",
         "object_modified": "Zmeny v objekte %s uložené",
+        "password_policy_saved": "Politika hesiel bola úspešne uložená",
         "pushover_settings_edited": "Pushover úspešne nastavený, skontrolujte si prístupové údaje.",
         "qlearn_spam": "Správa s ID %s považovaná za spam a vymazaná",
         "queue_command_success": "Príkaz pre poštovú frontu úspešne dokončený",
@@ -876,7 +976,7 @@
         "resource_added": "Zdroj %s pridaný",
         "resource_modified": "Zmeny v poštovej schránke %s uložené",
         "resource_removed": "Zdroj %s odstránený",
-        "rl_saved": "Limit prenosu pre objekt %s uložený",
+        "rl_saved": "Obmedzenie prenosu pre objekt %s uložený",
         "rspamd_ui_pw_set": "Heslo pre Rspamd rozhranie úspešne nastavené",
         "saved_settings": "Uložené nastavenia",
         "settings_map_added": "Pridaná mapa nastavení",
@@ -886,10 +986,13 @@
         "tls_policy_map_entry_saved": "Položka mapy TLS pravidiel \"%s\" uložená",
         "ui_texts": "Zmeny v UI textoch uložené",
         "upload_success": "Súbor úspešne nahratý",
+        "verified_fido2_login": "Overené FIDO2 prihlásenie",
         "verified_totp_login": "Overené TOTP prihlásenie",
         "verified_u2f_login": "Overené U2F prihlásenie",
-        "verified_fido2_login": "Overené FIDO2 prihlásenie",
-        "verified_yotp_login": "Overené Yubico OTP prihlásenie"
+        "verified_yotp_login": "Overené Yubico OTP prihlásenie",
+        "xmpp_maps_updated": "XMPP mapy boli aktualizované",
+        "xmpp_reloaded": "XMPP služba sa reloadla",
+        "xmpp_restarted": "XMPP služba sa reštartovala"
     },
     "tfa": {
         "api_register": "%s využíva Yubico Cloud API. Prosím, zaobstarajte si API kľúč pre váš kľúč <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">tu</a>",
@@ -908,7 +1011,7 @@
         "select": "Prosím vyberte",
         "set_tfa": "Nastaviť dvojúrovňovú autentifikačnú metódu",
         "start_u2f_validation": "Spustiť validáciu",
-        "tfa": "Dvojúrovňová autentifikácia",
+        "tfa": "Dvojúrovňová autentifikácia (TFA)",
         "tfa_token_invalid": "Neplatný TFA token",
         "totp": "Časovo-založený OTP (Google Authenticator, Authy, atď.)",
         "u2f": "U2F autentifikácia",
@@ -916,34 +1019,20 @@
         "waiting_usb_register": "<i>Čakanie na USB zariadenie...</i><br><br>Prosím zadajte vaše heslo a potvrďte registráciu stlačením tlačidla na vašom USB zariadení.",
         "yubi_otp": "Yubico OTP autentifikácia"
     },
-    "fido2": {
-        "set_fn": "Nastaviť zjednodušené meno",
-        "fn": "Zjednodušené meno",
-        "rename": "premenovať",
-        "confirm": "Potvrdiť",
-        "register_status": "Stav registrácie",
-        "known_ids": "Známe ID",
-        "none": "Vypnuté",
-        "set_fido2": "Registrovať FIDO2 zariadenie",
-        "start_fido2_validation": "Spustiť FIDO2 overenie",
-        "fido2_auth": "Prihlásiť sa cez FIDO2",
-        "fido2_success": "Zariadenie úspešne zaregistrované",
-        "fido2_validation_failed": "Overenie zlyhalo"
-    },
     "user": {
         "action": "Akcia",
         "active": "Aktívny",
         "active_sieve": "Aktívny filter",
         "advanced_settings": "Pokročilé nastavenia",
         "alias": "Alias",
-        "alias_create_random": "Generovať náhodný alias.",
+        "alias_create_random": "Generovať náhodný alias",
         "alias_extend_all": "Predĺžiť aliasy o ďalšiu hodinu",
         "alias_full_date": "d.m.R, H:i:s T",
         "alias_remove_all": "Odstrániť všetky aliasy",
         "alias_select_validity": "Lehota platnosti",
         "alias_time_left": "Zostávajúci čas",
         "alias_valid_until": "Platné do",
-        "aliases_also_send_as": "Taktiež povolené poslať ako používateľ",
+        "aliases_also_send_as": "Môže odosielať ako používateľ",
         "aliases_send_as_all": "Nekontrolovať prístup odosielateľa pre nasledujúcu doménu/y a jej alias domény",
         "app_hint": "Heslá aplikácií sú alternatívne heslá pre vaše <b>IMAP a SMTP</b> prihlásenie. Používateľské meno zostáva nezmenené.<br>SOGo (zahŕňajúc ActiveSync) nie je momentálne podporovaný.",
         "app_name": "Meno aplikácie",
@@ -952,43 +1041,57 @@
         "apple_connection_profile_complete": "Tento profil zahŕňa IMAP a SMTP parametre, ako aj CalDAV (kalendáre) a CardDAV (kontakty) pre zariadenia Apple.",
         "apple_connection_profile_mailonly": "Tento profil zahŕňa IMAP a SMTP konfiguračné parametre pre zariadenia Apple.",
         "change_password": "Zmeniť heslo",
-        "client_configuration": "Ukázať konfiguračné pokyny pre emailových klientov a smartfóny",
+        "clear_recent_successful_connections": "Vymazať nedávne úspešné prihlásenia",
+        "client_configuration": "Zobraziť konfiguračné pokyny pre emailových klientov a smartfóny",
         "create_app_passwd": "Vytvoriť heslo aplikácie",
         "create_syncjob": "Vytvoriť novú synchronizačnú úlohu",
+        "created_on": "Vytvorené",
         "daily": "Denne",
         "day": "deň",
         "delete_ays": "Potvrďte zmazanie.",
         "direct_aliases": "Priame alias adresy",
-        "direct_aliases_desc": "Priame alias adresy sú ovplyvnené spam filtrom a nastaveniami TLS pravidiel.",
+        "direct_aliases_desc": "Priame aliasy sú ovplyvnené spam filtrom a nastavením TLS pravidiel.",
         "eas_reset": "Resetovať medzipamäť u ActiveSync zariadení",
-        "eas_reset_help": "Vo väčšine prípadov, reset medzipamäte ActiveSync môže opravit nefunkčný profil.<br><b>Pozor:</b> Všetky potrebné dáta budú opäť stiahnuté!",
-        "eas_reset_now": "Resetovať medzipamäť teraz",
+        "eas_reset_help": "Vo väčšine prípadov, reset medzipamäte ActiveSync pomôže opravit nefunkčný profil.<br><b>Pozor:</b> Všetky potrebné dáta budú opäť stiahnuté!",
+        "eas_reset_now": "Reset ActiveSync",
         "edit": "Upraviť",
         "email": "Email",
         "email_and_dav": "Email, kalendáre a kontakty",
+        "empty": "Nie sú k dispozícii žiadne záznamy",
         "encryption": "Zašifrovanie",
         "excludes": "Nezahŕňa",
         "expire_in": "Vyprší za",
+        "fido2_webauthn": "FIDO2/WebAuthn",
         "force_pw_update": "<b>Musíte</b> nastaviť nové heslo, aby ste mohli získať opätovný prístup ku groupware a súvisiacim službám.",
+        "from": "od",
         "generate": "generuj",
         "hour": "hodinu",
         "hourly": "Každú hodinu",
         "hours": "hodiny",
         "in_use": "Použité",
         "interval": "Interval",
-        "is_catch_all": "Catch-all pre doménu/y",
+        "is_catch_all": "Doménový kôš",
         "last_mail_login": "Posledné poštové prihlásenie",
+        "last_pw_change": "Naposledy zmenené heslo",
         "last_run": "Posledné spustenie",
+        "last_ui_login": "Posledné prihlásenie do web rozhrania",
         "loading": "Načítavanie...",
-        "mailbox_details": "Nastavenie schránky",
+        "login_history": "História prihlásenia",
+        "mailbox": "Poštová schránka",
+        "mailbox_details": "Detail",
+        "mailbox_general": "Všeobecné",
+        "mailbox_settings": "Nastavenia",
         "messages": "správy",
+        "month": "mesiac",
+        "months": "mesiace",
         "never": "Nikdy",
         "new_password": "Nové heslo",
-        "new_password_description": "Požiadavka: Minimálne 6 znakov, písmená a číslice.",
         "new_password_repeat": "Potvrdiť heslo (opakovať)",
         "no_active_filter": "Nie je dostupný žiadny aktívny filter.",
         "no_last_login": "Žiadne informácie o UI prihlásení.",
         "no_record": "Žiaden záznam",
+        "open_logs": "Otvoriť záznam",
+        "open_webmail_sso": "Prihláste sa do webmailu",
         "password": "Heslo",
         "password_now": "Aktuálne heslo (potvrdiť zmeny)",
         "password_repeat": "Heslo (opakovať)",
@@ -996,7 +1099,7 @@
         "pushover_info": "Push notifikácie budú aplikované na všetky správy (s výnimkou spamu) doručené pre <b>%s</b> vrátane aliasov (zdieľané, nezdieľané, označené).",
         "pushover_only_x_prio": "Vyberať len správy s vysokou prioritou [<code>X-Priority: 1</code>]",
         "pushover_sender_array": "Zohľadňujú sa nasledujúce adresy odosielateľa <small>(oddelené čiarkou)</small>",
-        "pushover_sender_regex": "Užívateľ vybraný regulérnym výrazom",
+        "pushover_sender_regex": "Odosielateľ vybraný regulárnym výrazom",
         "pushover_text": "Text notifikácie",
         "pushover_title": "Názov notifikácie",
         "pushover_vars": "Ak nie je definovaný žiadny filter odosielateľa, zohľadnia sa všetky správy.<br>Priama kontrola odosielateľa a regulárne výrazy sa kontrolujú nezávisle od seba, <b>nezávisia od seba navzájom</b> a vykonávajú sa postupne.<br>Použiteľné premenné pre názov a text (dodržujte pokyny na ochranu osobných údajov)",
@@ -1004,26 +1107,28 @@
         "q_add_header": "Priečinok nevyžiadná pošta",
         "q_all": "Všetky kategórie",
         "q_reject": "Odmietnutá",
-        "quarantine_notification": "Karanténne notifikácie",
         "quarantine_category": "Kategória karanténnych notifikácií",
-        "quarantine_notification_info": "Akonáhle sa odošle notifikáica, položky budú označené ako \"notifikované\" a žiadne ďalšie notifikácie nebudú poslané pre túto špecifickú položku.",
-        "quarantine_category_info": "Kategória notifikácií \"Odmietnutá\" zahŕňa poštu ktorá bola odmietnutá, kde \"Nevyžiadná pošta\" bude notifikovať používateľa o pošte vloženej do priečinka Nevyžiadná pošta.",
+        "quarantine_category_info": "Kategória notifikácií \"Odmietnutá\" zahŕňa poštu ktorá bola odmietnutá, a \"Nevyžiadná pošta\" zahŕňa notifikácie o pošte uloženej do priečinka Nevyžiadná pošta.",
+        "quarantine_notification": "Karanténne notifikácie",
+        "quarantine_notification_info": "Akonáhle sa odošle notifikácia, položky budú označené ako \"notifikované\" a žiadne ďalšie notifikácie nebudú zasielané pre túto položku.",
+        "recent_successful_connections": "Nedávne úspešné prihlásenia",
         "remove": "Odstrániť",
         "running": "Beží",
+        "save": "Uložiť zmeny",
         "save_changes": "Uložiť zmeny",
         "sender_acl_disabled": "<span class=\"label label-danger\">Kontrola odosielateľa je pozastavená</span>",
         "shared_aliases": "Zdieľané alias adresy",
-        "shared_aliases_desc": "Zdieľané aliasy nie sú ovplyvnené používateľskými špecifickými nastaveniami, ako spam filter alebo šifrovacie podmienky. Zodpovedajúce spam filtre môžu byť vytvorené len administrátorom podľa podmienok domén.",
-        "show_sieve_filters": "Ukázať sieve filter aktívneho používateľa",
+        "shared_aliases_desc": "Zdieľané aliasy nie sú ovplyvnené používateľskými nastaveniami, ako spam filter alebo šifrovacie pravidlá. Zodpovedajúce spam filtre môžu byť vytvorené len administrátorom podľa podmienok domén.",
+        "show_sieve_filters": "Zobraziť sieve filter aktívneho používateľa",
         "sogo_profile_reset": "Resetnúť SOGo profil",
-        "sogo_profile_reset_help": "Táto činnosť odstraní SOGo profil používateľa a <b>nenávratne vymaže všetky kontakty a kalendárové dáta</b>.",
-        "sogo_profile_reset_now": "Resetnúť profil teraz",
+        "sogo_profile_reset_help": "Táto činnosť odstraní SOGo profil používateľa a <b>nenávratne vymaže všetky kontakty a kalendár</b>.",
+        "sogo_profile_reset_now": "Resetnúť profil",
         "spam_aliases": "Dočasný poštový alias",
         "spam_score_reset": "Obnoviť pôvodné spam nastavenia",
         "spamfilter": "Spam filter",
         "spamfilter_behavior": "Hodnotenie",
         "spamfilter_bl": "Čierna listina - blacklist",
-        "spamfilter_bl_desc": "Adresy na tomto zozname budú <b>vždy</b> klasifikované ako spam a budú odmietnuté. Odmietnutá pošta <b>nebude</b> zaradená do karantény. Môže byť použitý widlcard záznam (*). Filter je aplikovaný len na priame aliasy (aliasy s jedným cieľovým mailboxom) s výnimkou catch-all aliasov a samotnou schránkou.",
+        "spamfilter_bl_desc": "Adresy na tomto zozname budú <b>vždy</b> klasifikované ako spam a budú odmietnuté. Odmietnutá pošta <b>nebude</b> zaradená do karantény. Môže byť použitý widlcard záznam (*). Filter je aplikovaný len na priame aliasy (aliasy s jedným cieľovým mailboxom) s výnimkou doménových košov a samotnou schránkou.",
         "spamfilter_default_score": "Implicitné nastavenia",
         "spamfilter_green": "Zelená: Táto správa nie je spam",
         "spamfilter_hint": "Prvá hodnota opisuje \"nízku spam hodnotu\" a druhá opisuje \"vysokú spam hodnotu\".",
@@ -1035,11 +1140,11 @@
         "spamfilter_table_remove": "odstrániť",
         "spamfilter_table_rule": "Podmienka",
         "spamfilter_wl": "Biela listina - whitelist",
-        "spamfilter_wl_desc": "Adresy na tomto zozname nebudú <b>nikdy klasifikované ako spam</b>. Môže byť použitý wildcard záznam (*). Filter je aplikovaný len na priame aliasy (aliasy s jednou cieľovou schránkou) s výnimkou catch-all aliasov a samotnou schránkou.",
+        "spamfilter_wl_desc": "Adresy na tomto zozname nebudú <b>nikdy klasifikované ako spam</b>. Môže byť použitý wildcard záznam (*). Filter je aplikovaný len na priame aliasy (aliasy s jednou cieľovou schránkou) s výnimkou doménových košov a samotnou schránkou.",
         "spamfilter_yellow": "Žltá: Táto správa môže byť spam, bude označená ako spam a presunutá do priečinku nevyžiadanej pošty",
         "status": "Status",
         "sync_jobs": "Synchronizačné úlohy",
-        "tag_handling": "Nastaviť chovanie pre označenú poštu",
+        "tag_handling": "Zaobchádzanie s označenou poštou",
         "tag_help_example": "Príklad tagu e-mailovej adresy: me<b>+Facebook</b>@example.org",
         "tag_help_explain": "V podadresári: nový podadresár s menom tag-u bude vytvorený nižšie INBOX (\"INBOX/Facebook\").<br>\r\nIn subject: meno štítka bude pridané pred predmet pošty, napríklad: \"[Facebook] My News\".",
         "tag_in_none": "Žiadne kroky",
@@ -1048,16 +1153,18 @@
         "text": "Text",
         "title": "Názov",
         "tls_enforce_in": "Vynútiť TLS pre prichádzajúcu poštu",
-        "tls_enforce_out": "Vynútiť TLS odchádzajúcu poštu",
+        "tls_enforce_out": "Vynútiť TLS pre odchádzajúcu poštu",
         "tls_policy": "TLS pravidlá",
-        "tls_policy_warning": "<strong>Upozornenie:</strong> Ak sa rozhodnete vynútiť zašifrovaný poštový prenos, môže príjsť k strate e-mailov.<br>Správy nespĺňajúce túto podmienku budú trvalo odmietané serverom.<br>Táto možnosť platí pre vašu primárnu emailovú adresu (prihlasovacie meno), všetky odvodené adresy ako aj alias <b>cieľovej poštovej schránky</b>.",
-        "user_settings": "Užívateľské nastavenia",
+        "tls_policy_warning": "<strong>Upozornenie:</strong> Ak sa rozhodnete vynútiť šifrovaný prenos, môže prísť k strate e-mailov.<br>Správy nespĺňajúce túto podmienku budú trvalo odmietané serverom.<br>Táto možnosť platí pre vašu primárnu emailovú adresu (prihlasovacie meno), všetky odvodené adresy ako aj alias <b>cieľovej poštovej schránky</b>.",
+        "user_settings": "Používateľské nastavenia",
         "username": "Prihlasovacie meno",
         "verify": "Overiť",
         "waiting": "Čakanie",
         "week": "týždeň",
         "weekly": "Týždenne",
-        "weeks": "týždne"
+        "weeks": "týždne",
+        "year": "rok",
+        "years": "rokov"
     },
     "warning": {
         "cannot_delete_self": "Nemožno vymazať prihláseného používateľa",
@@ -1066,6 +1173,7 @@
         "fuzzy_learn_error": "Chyba počas učenia Fuzzy hash: %s",
         "hash_not_found": "Chýbajúci hash",
         "ip_invalid": "Preskočená neplatná IP adresa: %s",
+        "is_not_primary_alias": "Preskočiť ne-primárny alias %s",
         "no_active_admin": "Nemožno deaktivovať posledného aktívneho admina",
         "quota_exceeded_scope": "Prekročená kvóta domény, pre túto doménu je možné vytvárať iba neobmedzené poštové schránky.",
         "session_token": "Formulárový token neplatný: Tokenová nezhoda",
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.sv.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.sv.json
index 39aa588..d4e1daf 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.sv.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.sv.json
@@ -26,7 +26,11 @@
         "syncjobs": "synkroniseringsjobb",
         "tls_policy": "Krypteringspolicy",
         "unlimited_quota": "Obegränsad kvot för postlådor",
-        "domain_desc": "Ändra domänbeskrivningen"
+        "domain_desc": "Ändra domänbeskrivningen",
+        "xmpp_admin": "Ändra XMPP administratörs-status på en användare",
+        "xmpp_domain_access": "Ändra XMPP-åtkomsten på en domän",
+        "xmpp_mailbox_access": "Ändra XMPP-åtkomsten på en användare",
+        "xmpp_prefix": "Ändra XMPP-subdomän/prefix"
     },
     "add": {
         "activate_filter_warn": "Alla andra filter av den här typen kommer inaktiveras om det här skriptet markeras som aktivt.",
@@ -35,9 +39,9 @@
         "add_domain_only": "Lägg bara till domänen",
         "add_domain_restart": "Lägg till domänen, och starta om SOGo",
         "alias_address": "Alias-adress/adresser",
-        "alias_address_info": "<small>Fulständig e-postadress/adresser, eller @example.com för att fånga alla meddelanden för en domän (kommaseparerade). <b>endast mailcow domäner</b>.</small>",
+        "alias_address_info": "<small>Fulständig e-postadress/adresser, eller @example.com för att fånga alla meddelanden på en domän (separerade med komma). <b>endast mailcow domäner</b>.</small>",
         "alias_domain": "Aliasdomän",
-        "alias_domain_info": "<small>Endast giltiga domännamn (kommaseparerade).</small>",
+        "alias_domain_info": "<small>Endast giltiga domännamn (separerade med komma).</small>",
         "app_name": "Applikationsnamn",
         "app_password": "Lägg till applikationslösenord",
         "automap": "Koppla automatiskt de vanliga e-post katalogerna (\"Skickade meddelanden\", \"Skickat\" => \"Skickat\" mm)",
@@ -59,6 +63,14 @@
         "full_name": "Fullständiga namn",
         "gal": "Global adressbok",
         "gal_info": "Den global adressboken innehåller alla objekt i en domän och kan inte redigeras av någon användare. Informationen om tillgänglighet i SOGo är endast synlig när den globala adressboken är påslagen.  <b>Starta om SOGo för att tillämpa ändringar.</b>",
+        "xmpp": "Aktivera XMPP funktion på denna domän",
+        "xmpp_prefix": "XMPP-prefix för domänen (Exempelvis \"im\" för <b>im</b>.example.org)",
+        "xmpp_prefix_info": "För att tillhandahålla ett säkerhetscertifikat måste vissa DNS-uppslag skapas, exempelvis två CNAME uppslag, ett för <b>im</b>.example.org och ett för <b>*.im</b>.example.org, som pekar mot <b>%s</b>. Efter att denna funktion har aktiverats, utför en DNS-kontroll för att testa att uppslagen är korrekt uppsatta.",
+        "xmpp_info": "Denna funktion aktiverar chatt-funktionalitet på denna domän.",
+        "xmpp_access": "XMPP-åtkomst",
+        "xmpp_access_info": "XMPP måste aktiveras på den här domänen.",
+        "xmpp_admin": "XMPP Administratör",
+        "xmpp_admin_info": "<b>Varning:</b> Befodrar en användare till XMPP-administratör på den här domänen.",
         "generate": "generera",
         "goto_ham": "Markera detta som en <span class=\"text-success\"><b>felaktig spam-registrering</b>, detta kommer förhindra liknande fel i framtiden</span>",
         "goto_null": "Kasta e-postmeddelanande omedelbart",
@@ -84,7 +96,7 @@
         "relay_all": "Vidarebefordra alla mottagaradresser",
         "relay_all_info": "↪ Om <b>inte</b> alla mottagare ska vidarebefordras måste (\"blinda\") postlådor skapas för varje adress som ska vidarebefordras.",
         "relay_domain": "Vidarebefordra denna domän",
-        "relay_transport_info": "<div class=\"label label-info\">Info</div> Transportkartor kan skapas för att definiera enskilda destinationer för en relädomän.",
+        "relay_transport_info": "<div class=\"label label-info\">Info</div> Transportkartor kan skapas för att definiera enskilda destinationer på en relädomän.",
         "relay_unknown_only": "Vidarebefodra endast om det saknas en lokal postlåda. Existerar det en postlåda kommer det levereras lokalt.",
         "relayhost_wrapped_tls_info": "Använd <b>inte</b> TLS-bundna portar (exempelvis SMTPS via port 465).<br>\r\nTrafiken kommer istället transporteras med TLS genom att använda STARTTLS. En sådan TLS-policy kan skapas under \"TLS-policyföreskrifter\".",
         "select": "Välj ...",
@@ -96,7 +108,7 @@
         "syncjob": "Lägg till synkroniseringsjobb",
         "syncjob_hint": "Observera att lösenord lagras i klartext!",
         "target_address": "Destinationsadresser",
-        "target_address_info": "<small>Fullständig e-postadress/adresser (kommaseparerade).</small>",
+        "target_address_info": "<small>Fullständig e-postadress/adresser (separerade med komma).</small>",
         "target_domain": "Måldomän",
         "timeout1": "Timeout för anslutning till fjärrservern",
         "timeout2": "Timeout för anslutning till lokalserver",
@@ -123,6 +135,8 @@
         "add_transports_hint": "Tänk på att autentiseringsdata lagras okrypterat.",
         "additional_rows": "ytterliggare rader har lagts till",
         "admin": "Administratör",
+        "admins": "Administratörer",
+        "admins_ldap": "LDAP-Administratörer",
         "admin_details": "Hantera administratörer",
         "admin_domains": "Tilldelad domän",
         "advanced_settings": "Avancerade inställningar",
@@ -139,6 +153,7 @@
         "ban_list_info": "Se en lista över banlysta IP-adresser nedan: <b>nätverk (återstående banlysningstid) - [åtgärd]</b>.<br />IP-adresser som står i kö för att tas bort från den aktiva banlysningslistan tas bort inom några sekunder.<br />Röd markering indikerar en aktiv permanent banlysning pga. en svartlistning.",
         "change_logo": "Byt logotyp",
         "configuration": "Konfiguration",
+        "convert_html_to_text": "Konventera HTML till oformaterad text",
         "credentials_transport_warning": "<b>Varning</b>: När en ny reläserver läggs till uppdateras uppgifterna för alla reläservrar som hör till samma värd.",
         "customer_id": "Kundnummer",
         "customize": "Anpassa gränssnittet",
@@ -190,6 +205,7 @@
         "hash_remove_info": "Ta bort kontrollsumman för hastighetsbegränsningen. Det kommer att återställa räknaren helt och hållet.<br>\r\n Varje kontrollsumma är unikt med en induviduell färg.",
         "help_text": "Hjälptext på inloggningssidan (HTML är tillåtet)",
         "host": "Värd",
+        "html": "HTML",
         "import": "Importera",
         "import_private_key": "Importera en privatnyckel",
         "in_use_by": "Används av",
@@ -218,7 +234,15 @@
         "oauth2_redirect_uri": "omdirigerings URI",
         "oauth2_renew_secret": "Generera ny klienthemlighet",
         "oauth2_revoke_tokens": "Återkalla alla klientnycklar",
+        "optional": "Valfri",
         "password": "Lösenord",
+        "password_length": "Lösenordslängd",
+        "password_policy": "Lösenordspolicy",
+        "password_policy_chars": "Måste innehålla minst ett alfabetiskt tecken",
+        "password_policy_length": "Minsta lösenordslängden är %d tecken",
+        "password_policy_numbers": "Måste innehålla minst en siffra",
+        "password_policy_lowerupper": "Måste innehålla både versaler och gemener",
+        "password_policy_special_chars": "Måste innehålla specialtecken",
         "password_repeat": "Lösenord (igen)",
         "priority": "Prioritet",
         "private_key": "Privatnyckel",
@@ -258,6 +282,7 @@
         "regen_api_key": "Generera ny API-nyckel",
         "regex_maps": "Regex-filter",
         "relay_from": "Avsändaradress",
+        "relay_rcpt": "Mottagaradress",
         "relay_run": "Testa reläservern",
         "relayhosts": "Generell reläserver för vidare posttransport",
         "relayhosts_hint": "Ange vilka reläservrar som ska finnas tillgängliga för posttransport, för att kunna välja dessa vid domänkonfigureringen.<br>\r\nTransportprotokollet kommer alltid att vara \"smtp:\", TLS användas om det är tillgängligt och tunnlad TLS (SMTPS) stöds inte. Nuvarande TLS-policyföreskrift för utgående trafik kommer att gälla för transporten.<br>\r\nDetta kommer att påverka den valda domänen, aliasdomäner inkluderat.",
@@ -299,6 +324,7 @@
         "transport_dest_format": "Syntax: example.org, .example.org, *, box@example.org (fler värdar kan anges med kommatecken)",
         "transport_maps": "Destinationsspecifik reläserver för vidare posttransport",
         "transports_hint": "→ En destinationsspecifik reläserver kommer att <b>ignorerar</b> en generell reläserver</b>.<br>\r\n→ Utgående TLS-policy för användarens postlåda kommer ignoreras, men den generella TLS-policyn för servern kommer att tillämpas.<br>\r\n→ Transportprotokollet kommer alltid att vara \"smtp:\", TLS användas om det är tillgängligt och tunnlad TLS (SMTPS) stöds inte.<br>\r\n→ Adresser som matchar \"/localhost$/\" transporteras alltid via \"local:\", därför kommer en \"*\" destination inte vara möjlig för dessa adresser.<br>\r\n→ När uppgifterna för reläservern ska hämtas ex. \"[host]:25\" kommer Postfix <b>först</b> att söka efter \"host\", och sedan söka på \"[host]:25\". Detta görs för att förhindra en situation där både \"host\" och \"[host]:25\" används samtidigt.",
+        "transport_test_rcpt_info": "→ Använd adressen null@hosted.mailcow.de för att testa vidarebefodring till en extern destination.",
         "ui_footer": "Sidfot (HTML-taggar tillåtna)",
         "ui_header_announcement": "Meddelanden",
         "ui_header_announcement_active": "Aktivera meddelandet nu",
@@ -349,7 +375,8 @@
         "from_invalid": "Avsändarens adress måste vara en giltig e-postadress",
         "global_filter_write_error": "Kan inte skriva till filterfilen: %s",
         "global_map_invalid": "Rspamd kartan med ID %s är felaktig",
-        "global_map_write_error": "Kunde inte skriva globalkartan med ID %s: %s",
+        "global_map_write_error": "Kunde inte skapa en global-koppling med ID %s: %s",
+        "xmpp_map_write_error": "Kunde inte skapa en XMPP-koppling: %s",
         "goto_empty": "En aliasadress måste peka mot minst en giltig destinationsadress",
         "goto_invalid": "Destinationsadressen %s är ogiltig",
         "ham_learn_error": "Felaktigt-Spam inlärningsfel: %s",
@@ -362,7 +389,7 @@
         "invalid_host": "Angiven värd är inte giltig: %s",
         "invalid_mime_type": "Grafiken kunde inte valideras: Ogiltig MIME-typ",
         "invalid_nexthop": "Formatet för reläservern är felaktigt",
-        "invalid_nexthop_authenticated": "En reläserver existerar redan, men med andra uppgifter. Uppdatera först uppgifterna för den existerande reläservern.",
+        "invalid_nexthop_authenticated": "En reläserver existerar redan, men med andra uppgifter. Uppdatera först uppgifterna på den existerande reläservern.",
         "invalid_recipient_map_new": "Den nya mottagaren: %s är ogiltid",
         "invalid_recipient_map_old": "Den ursprungliga mottagaren: %s är ogiltig",
         "ip_list_empty": "Listan över tillåtna IP adresser kan inte vara tom",
@@ -384,7 +411,8 @@
         "max_quota_in_use": "Postlådans kvotgräns måste vara större än, eller lika med %d MiB",
         "maxquota_empty": "Max kvoten per mejlåda kan inte vara 0.",
         "mysql_error": "MySQL-fel: %s",
-        "network_host_invalid": "Ntverk, eller värden %s är ogiltig",
+        "nginx_reload_failed": "Misslyckades att ladda om Nginx: %s",
+        "network_host_invalid": "Nätverk, eller värden %s är ogiltig",
         "next_hop_interferes": "%s förhindras av reläservern %s",
         "next_hop_interferes_any": "En befintlig reläserver hindrar skapandet av %s",
         "no_user_defined": "Ingen användare har definierats",
@@ -434,7 +462,9 @@
         "username_invalid": "Användarnamnet %s kan inte användas",
         "validity_missing": "Ange en giltighetsperiod",
         "value_missing": "Ange alla värden",
-        "yotp_verification_failed": "Yubico OTP-verifiering misslyckades: %s"
+        "yotp_verification_failed": "Yubico OTP-verifiering misslyckades: %s",
+        "xmpp_restart_failed": "Misslyckades att starta om XMPP",
+        "xmpp_reload_failed": "Misslyckades att ladda om XMPP"
     },
     "debug": {
         "chart_this_server": "Tabell (denna server)",
@@ -444,24 +474,28 @@
         "history_all_servers": "Historik (alla servrar)",
         "in_memory_logs": "Loggar sparade i minnet",
         "jvm_memory_solr": "JVM minnesanvändning",
-        "log_info": "<p>mailcow <b>loggar sparade i minnet</b> samlas in i Redis-listor och trimmas till LOG_LINES (%d) varje minut för att minska lasten.\r\n  <br>Loggar sparade i minnet är inte tänkta att vara beständiga. Alla applikationer som loggar i minnet loggar också till Docker-demonen och därefter till standardrutinen för loggning.\r\n  <br>Loggar sparade i minnet bör användas för felsökning av mindre problem med olika behållare.</p>\r\n  <p><b>Externa loggar</b> samlas in via ett API för den givna applikationen.</p>\r\n  <p><b>Statiska loggar</b> är mestadels aktivitetsloggar som inte är loggas i Docker, men som fortfarande måste vara beständiga (utom API-loggar).</p>",
+        "log_info": "<p>mailcow <b>loggar sparade i minnet</b> samlas in i Redis-listor och trimmas till LOG_LINES (%d) varje minut för att minska lasten.\r\n  <br>Loggar sparade i minnet är inte tänkta att vara beständiga. Alla applikationer som loggar i minnet loggar också till Docker-demonen och därefter till standardrutinen för loggning.\r\n  <br>Loggar sparade i minnet bör användas för felsökning av mindre problem med olika behållare.</p>\r\n  <p><b>Externa loggar</b> samlas in via ett API på den givna applikationen.</p>\r\n  <p><b>Statiska loggar</b> är mestadels aktivitetsloggar som inte är loggas i Docker, men som fortfarande måste vara beständiga (utom API-loggar).</p>",
         "logs": "Loggar",
         "restart_container": "Omstart",
         "solr_dead": "Solr är i uppstart, har inaktiveras eller är tillfälligt avstängd.",
-        "solr_docs": "Dokumentation",
-        "solr_last_modified": "Senast ändrad",
-        "solr_size": "Storlek",
-        "solr_started_at": "Startades kl.",
+        "xmpp_dead": "XMPP startet, ist deaktiviert oder temporär nicht erreichbar.",
+        "online_users": "Användare online",
+        "docs": "Dokumentation",
+        "last_modified": "Senast ändrad",
+        "size": "Storlek",
+        "started_at": "Startades kl.",
         "solr_status": "Solr status",
-        "solr_uptime": "Upptid",
+        "uptime": "Upptid",
         "started_on": "Startades",
         "static_logs": "Statiska loggar",
-        "system_containers": "System & behållare"
+        "system_containers": "System & behållare",
+        "xmpp_status": "XMPP Status"
     },
     "diagnostics": {
         "cname_from_a": "Värde härstammar från A/AAAA-uppslaget. Detta stöds så länge som uppslaget pekar mot rätt resurs.",
         "dns_records": "DNS-uppslag",
         "dns_records_24hours": "Observera att ändringar gjorda i DNS kan ta upp till 24 timmar innan det visas korrekt på denna sida. Syftet med sidan är att enkelt se hur DNS-uppslagen är konfigurerade. Det är lätt att kontrollera att DNS-uppslagen är korrekt uppsatta.",
+        "dns_records_docs": "Se även <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentationen</a>.",
         "dns_records_data": "Korrektdata",
         "dns_records_name": "Namn",
         "dns_records_status": "Nuvarande status",
@@ -470,6 +504,7 @@
     },
     "edit": {
         "active": "Aktiv",
+        "admin": "Ändra administratör",
         "advanced_settings": "Avancerade inställningar",
         "alias": "Ändra alias",
         "allow_from_smtp": "Tillåt endast följande IP-adresser att använda <b>SMTP</b>",
@@ -498,12 +533,21 @@
         "encryption": "Kryptering",
         "exclude": "Exkludera objekt (regex-filter)",
         "extended_sender_acl": "Externa avsändaradresser",
-        "extended_sender_acl_info": "En DKIM-domännyckel bör importeras, om det är möjligt.<br>\r\n  Kom ihåg att även lägga till motsvarande SPF TXT-uppslag för den här servern.<br>\r\n  När en domän eller aliasdomän läggs till på den här servern som överlappar en extern adress, tas den externa adressen bort.<br>\r\n  Använd @domain.tld för att kunna  skicka som *@domain.tld.",
+        "extended_sender_acl_info": "En DKIM-domännyckel bör importeras, om det är möjligt.<br>\r\n  Kom ihåg att även lägga till motsvarande SPF TXT-uppslag på den här servern.<br>\r\n  När en domän eller aliasdomän läggs till på den här servern som överlappar en extern adress, tas den externa adressen bort.<br>\r\n  Använd @domain.tld för att kunna  skicka som *@domain.tld.",
         "force_pw_update": "Kräv uppdatering av lösenordet vid nästa inloggning",
         "force_pw_update_info": "Den här användaren kan bara logga in på %s.",
         "full_name": "Fullständigt namn",
         "gal": "Global adressbok",
         "gal_info": "Den global adressboken innehåller alla objekt i en domän och kan inte redigeras av någon användare. Informationen om tillgänglighet i SOGo är endast synlig när den globala adressboken är påslagen.  <b>Starta om SOGo för att tillämpa ändringar.</b>",
+        "xmpp": "Aktivera XMPP funktion på denna domän",
+        "xmpp_prefix": "XMPP-prefix för domänen (Exempelvis \"im\" för <b>im</b>.example.org)",
+        "xmpp_prefix_info": "För att tillhandahålla ett säkerhetscertifikat måste vissa DNS-uppslag skapas, exempelvis två CNAME uppslag, ett för <b>im</b>.example.org och ett för <b>*.im</b>.example.org, som pekar mot <b>%s</b>. Efter att denna funktion har aktiverats, utför en DNS-kontroll för att testa att uppslagen är korrekt uppsatta.",
+        "xmpp_info": "Denna funktion aktiverar chatt-funktionalitet på denna domän.",
+        "xmpp_access": "XMPP-åtkomst",
+        "xmpp_access_info": "XMPP måste aktiveras på den här domänen.",
+        "xmpp_admin": "XMPP Administratör",
+        "xmpp_admin_info": "<b>Varning:</b> Befodrar en användare till XMPP-administratör på den här domänen.",
+        "xmpp_example_jid": "<b>Exempel JID</b> (Använd samma lösenord som på postlådan)",
         "generate": "generera",
         "grant_types": "Grant-typer",
         "hostname": "Värdnamn",
@@ -516,7 +560,7 @@
         "max_quota": "Max. kvot per postlåda (MiB)",
         "maxage": "Hur många antal dagar bakåt som meddelanden ska hämtas <br><small>(0 = ignorera ålder)</small>",
         "maxbytespersecond": "Max antal bitar per sekund <br><small>(0 = obegränsat)</small>",
-        "mbox_rl_info": "Hastighetsgränsen tillämpas på SASL-inloggningsnamnet och påverkar därför alla avsändaradresser som den inloggade användaren använder. Gränsvärde för en enskild postlåda åsidosätter gränsvärdet för domänen.",
+        "mbox_rl_info": "Hastighetsgränsen tillämpas på SASL-inloggningsnamnet och påverkar därför alla avsändaradresser som den inloggade användaren använder. Gränsvärde på en enskild postlåda åsidosätter gränsvärdet för domänen.",
         "mins_interval": "Intervall (min)",
         "multiple_bookings": "Flera bokningar",
         "nexthop": "Reläserver",
@@ -535,11 +579,14 @@
         "pushover_vars": "Om inget avsändarfilter är definerat, kommer alla e-postmeddelanden att behandlas.<br>Direkt avsändarkontroll och Regex-filter kontrolleras induviduellt, de är <b>inte beroende av varandra</b> och bearbetas i följd.<br>Variabler som kan användas för text och titel. (Notera gällande dataskyddsförordning)",
         "pushover_verify": "Verifiera anslutningen",
         "quota_mb": "Kvot (MiB)",
+        "quota_warning_bcc": "Kvotvarning dålda-kopior",
+        "quota_warning_bcc_info": "Varningarna skickas som separat kopia till följande mottagare. Ämnesraden kommer att innehålla användarens användarnamn i parenteser (ex. <code>Kvot-Warning (användare@exempel.se)</code>).",
+        "ratelimit": "Hastighetsgräns",
         "redirect_uri": "Omdirigering/Callback-URL",
         "relay_all": "Vidarebefordra alla mottagare",
         "relay_all_info": "↪ Om <b>inte</b> alla mottagare ska vidarebefordras måste (\"blinda\") postlådor skapas för varje adress som ska vidarebefordras.",
         "relay_domain": "Relädomän",
-        "relay_transport_info": "<div class=\"label label-info\">Info</div> Transportkartor kan skapas för att definiera enskilda destinationer för en relädomän.",
+        "relay_transport_info": "<div class=\"label label-info\">Info</div> Transportkartor kan skapas för att definiera enskilda destinationer på en relädomän.",
         "relay_unknown_only": "Vidarebefodra endast om det saknas en lokal postlåda. Existerar det en postlåda kommer det levereras lokalt.",
         "relayhost": "Reläserver",
         "remove": "Ta bort",
@@ -547,7 +594,7 @@
         "save": "Spara ändringar",
         "scope": "Omfattning",
         "sender_acl": "Tillåt att skicka som",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">Avsändarkontroll är avaktiverad</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">Avsändarkontroll är avaktiverad</span>",
         "sender_acl_info": "Om användaren A tillåts skicka som användaren B visas inte avsändaradressen automatiskt i \"från\" fältet i SOGo.<br>\r\n  Användaren B måste skapa en delegation i SOGo för att låta användaren A välja Användaren B's adress som avsändare. För att delegera en postlåda i SOGo, gå till menyn (tre punkter) till höger om ditt namn uppe till vänster i postvyn. Detta gäller inte för aliasadresser.",
         "sieve_desc": "Kort beskrivning",
         "sieve_type": "Filtertyp",
@@ -557,11 +604,12 @@
         "sogo_visible": "Alias visas i SOGo",
         "sogo_visible_info": "Det här alternativet påverkar endast objekt som kan visas i SOGo (delade eller icke-delade aliasadresser med destination för minst en lokal postlåda).",
         "spam_alias": "Skapa eller ändra tillfälliga e-postalias",
+        "spam_filter": "Spamfilter",
         "spam_policy": "Lägg till eller ta bort objekt på vit- eller svartlista",
         "spam_score": "Ange ett anpassad skräppostvärde",
         "subfolder2": "Synkronisera till en undermapp <br><small>(lämna tomt = använd inte undermapp)</small>",
         "syncjob": "Ändra synkroniseringsjobb",
-        "target_address": "Vidarbefodringsadresser <small>(separerade med komma)</small>",
+        "target_address": "Vidarbefodringsadresser",
         "target_domain": "Måldomän",
         "timeout1": "Timeout för anslutning till fjärrservern",
         "timeout2": "Timeout för anslutning till lokalserver",
@@ -614,6 +662,7 @@
         "active": "Aktiv",
         "add": "Lägg till",
         "add_alias": "Lägg till alias",
+        "add_alias_expand": "Överför aliasadresser till aliasdomäner",
         "add_bcc_entry": "Lägg till ny koppling",
         "add_domain": "Lägg till domän",
         "add_domain_alias": "Lägg till domänalias",
@@ -625,7 +674,7 @@
         "add_tls_policy_map": "Lägg till TLS-policyföreskrift",
         "address_rewriting": "Adress omskrivning",
         "alias": "Alias",
-        "alias_domain_alias_hint": "Aliasadresser kopplas <b>inte</b> automatiskt med domänalias-adresser. En aliasadress <code>alias@domän</code> täcker <b>inte</b> adressen <code>alias@alias-domän</code> (ett exempel där \"alias-domän\" är en aliasdomän för \"domän\").<br>Använd istället ett sieve filter för att dirigera om e-post till en extern postlåda (Gå till \"Postfilter\" eller använd SOGo -> Forwarder).",
+        "alias_domain_alias_hint": "Aliasadresser och domänalias-adresser uppdateras inte automatiskt. Exempel: En alias <code>info@domän.se</code > kommer inte automatiskt också att skapa <code>info@alias-till-domän.se</code> (alias-till-domän.se är ett alias till domän.se).<br>Använd ett <b>Sieve-filter</b> för att dirigera om e-post till en extern postlåda (Gå till \"Postfilter\" eller använd SOGo -> Forwarder). \"Överför aliasadresser till aliasdomäner\" Överför befintliga aliasadresser till att även fungera för domänalias-adresser.",
         "alias_domain_backupmx": "Aliasdomänen för relädomänen är inaktiv",
         "aliases": "Alias",
         "allow_from_smtp": "Tillåt endast följande IP-adresser att använda <b>SMTP</b>",
@@ -635,7 +684,7 @@
         "bcc": "Dåld kopia",
         "bcc_destination": "Destination för dåld kopia",
         "bcc_destinations": "Destinationer för dålda kopior",
-        "bcc_info": "En dåld kopia koppling kan användas för att vidarebefodra kopior av skickade meddelanden till en annan adress som dåld kopia. Det kan kopplas till en e-postadress eller för en domän.<br/>\r\n Den lokala destinationen kommer inte att informeras om leveransen skulle misslyckas.",
+        "bcc_info": "En dåld kopia koppling kan användas för att vidarebefodra kopior av skickade meddelanden till en annan adress som dåld kopia. Det kan kopplas till en e-postadress eller på en domän.<br/>\r\n Den lokala destinationen kommer inte att informeras om leveransen skulle misslyckas.",
         "bcc_local_dest": "Lokal destination",
         "bcc_map": "Dåld kopia koppling",
         "bcc_map_type": "Vilken typ av koppling",
@@ -692,9 +741,9 @@
         "owner": "Ägare",
         "private_comment": "Privat kommentar",
         "public_comment": "Offentlig kommentar",
-        "q_add_header": "Skräppost",
-        "q_all": "Alla kategorier",
-        "q_reject": "Avvisad",
+        "q_add_header": "via Skräppost",
+        "q_all": "via avvisade och skräppost",
+        "q_reject": "via avvisade",
         "quarantine_notification": "Ändra meddelandet som skickas vid karantän",
         "quarantine_category": "Kategori för karantänsnotifiering",
         "quick_actions": "Åtgärder",
@@ -720,7 +769,6 @@
         "sieve_preset_7": "Vidarebefodra och behåll, eller kasta meddelandet.",
         "sieve_preset_8": "Kasta meddelanden som skickas till en alias-adress som avsändaren redan tillhör.",
         "sieve_preset_header": "Exempel på postfilter finns nedan. För mer information se <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a>.",
-        "sogo_allow_admin_hint": "Administrativ SOGo-inloggning är endast tillgängliga för postlådor med en befintlig SOGo-profil. Användaren måste ha varit inloggad på SOGo minst en gång innan.",
         "sogo_visible": "Visa detta alias i SOGo",
         "sogo_visible_n": "Dölj alias i SOGo",
         "sogo_visible_y": "Visa alias i SOGo",
@@ -767,6 +815,7 @@
         "danger": "Fara",
         "deliver_inbox": "Leverera till inboxen",
         "disabled_by_config": "Med nuvarande konfigurationen är karantänfunktionen inaktiverad. För att aktivera funktionen behöver inställningen för antal meddelanden att förvara i karantän, och storleksgräns per meddelanden i karantän anges.",
+        "settings_info": "Maximalt antal e-postmeddelanden som placeras i karantän: %s<br>Maximal storlek på e-postmeddelanden som sparas: %s MiB",
         "download_eml": "Ladda ner (.eml)",
         "empty": "Inga resultat",
         "high_danger": "Hög",
@@ -865,9 +914,11 @@
         "mailbox_added": "Postlådan %s har lagts till",
         "mailbox_modified": "Ändringarna på postlådan %s har sparats",
         "mailbox_removed": "Postlådan %s har tagits bort",
+        "nginx_reloaded": "Nginx laddades om",
         "object_modified": "Ändringarna på objektet %s har sparats",
         "pushover_settings_edited": "Konfigurationen för Pushover är sparad, kontrollera att det finns korrekt åtkomst.",
         "qlearn_spam": "Medelandet med ID %s har markerats som spam och har tagits bort",
+        "password_policy_saved": "Lösenordspolicyn har sparats",
         "queue_command_success": "Köuppgiften har slutförts",
         "recipient_map_entry_deleted": "Mottagaröverföringen med ID %s har tagits bort",
         "recipient_map_entry_saved": "Mottagaröverföring \"%s\" har sparats",
@@ -890,7 +941,10 @@
         "verified_totp_login": "Verifierad TOTP inloggning",
         "verified_u2f_login": "Verifierad U2F inloggning",
         "verified_fido2_login": "Verifierad FIDO2 inloggning",
-        "verified_yotp_login": "Verifierad Yubico OTP inloggning"
+        "verified_yotp_login": "Verifierad Yubico OTP inloggning",
+        "xmpp_restarted": "XMPP-tjänsten har startat om",
+        "xmpp_reloaded": "XMPP-tjänsten har laddats om",
+        "xmpp_maps_updated": "XMPP-kopplingen har aktiverats"
     },
     "tfa": {
         "api_register": "%s använder Yubico Moln-API. Vänligen skaffa en API-nyckel för din nyckel <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">här</a>",
@@ -910,6 +964,7 @@
         "set_tfa": "Metod för tvåfaktorsautentisering",
         "start_u2f_validation": "Startar validering",
         "tfa": "Tvåfaktorsautentisering",
+        "tfa_token_invalid": "TFA nyckeln är ogiltig!",
         "totp": "Tidsbaserad OTP (Google Authenticator, Authy, mm)",
         "u2f": "U2F-autentisering",
         "waiting_usb_auth": "<i>Väntar på USB-enhet...</i><br><br>Tryck på knappen på USB-enheten nu.",
@@ -949,12 +1004,13 @@
         "app_name": "Applikationsnamn",
         "app_passwds": "Applikationslösenord",
         "apple_connection_profile": "Apple-anslutningsprofil",
-        "apple_connection_profile_complete": "Denna anslutningsprofil inkluderar både konfigurationsparametrar till IMAP, SMTP, CalDAV (för kalendrar) och CardDAV (för kontakter) för en Apple-enhet.",
-        "apple_connection_profile_mailonly": "Denna anslutningsprofil inkluderar både konfigurationsparametrar till IMAP och SMTP för en Apple-enhet.",
+        "apple_connection_profile_complete": "Denna anslutningsprofil inkluderar både konfigurationsparametrar till IMAP, SMTP, CalDAV (för kalendrar) och CardDAV (för kontakter) på en Apple-enhet.",
+        "apple_connection_profile_mailonly": "Denna anslutningsprofil inkluderar både konfigurationsparametrar till IMAP och SMTP på en Apple-enhet.",
         "change_password": "Ändra lösenordet",
         "client_configuration": "Visa konfigurationsguider för e-postklienter och smartatelefoner",
         "create_app_passwd": "Skapa applikationslösenord",
         "create_syncjob": "Skapa ett nytt synkroniseringsjobb",
+        "created_on": "Skapad vid",
         "daily": "Dagligen",
         "day": "dag",
         "delete_ays": "Är du säker att du vill ta bort det här objektet?",
@@ -982,9 +1038,10 @@
         "loading": "Vänta...",
         "mailbox_details": "Påstlådans detaljer",
         "messages": "meddelanden",
+        "month": "Månad",
+        "months": "Månader",
         "never": "Aldrig",
         "new_password": "Nytt lösenord",
-        "new_password_description": "Krav: 6 tecken, bokstäver och nummer.",
         "new_password_repeat": "Lösenord (igen)",
         "no_active_filter": "Finns inga aktiva filter",
         "no_last_login": "Senaste inloggningen till gränssnittet saknas",
@@ -1058,7 +1115,9 @@
         "waiting": "Väntar",
         "week": "vecka",
         "weekly": "Varje vecka",
-        "weeks": "veckor"
+        "weeks": "veckor",
+        "year": "år",
+        "years": "år"
     },
     "warning": {
         "cannot_delete_self": "Inloggade användare kan inte tas bort",
@@ -1066,9 +1125,10 @@
         "dovecot_restart_failed": "Dovecot kunde inte startas om, kontrollera Dovecot loggen.",
         "fuzzy_learn_error": "En oklar kontrollsumma resulterade i ett inlärningsfel: %s",
         "hash_not_found": "Kontrollsumman hittas inte. Den kan redan vara borttagen",
-        "ip_invalid": "Skippar en ogiltig IP-adress: %s",
+        "ip_invalid": "Hoppade över en ogiltig IP-adress: %s",
+        "is_not_primary_alias": "Hoppade över en ej-primär alias: %s",
         "no_active_admin": "Den senaste kända administratören kan inte inaktiveras",
-        "quota_exceeded_scope": "Domänkvoten fylld: Endast postlådor med obegränsade kvoter kan skapas för den här domänen.",
+        "quota_exceeded_scope": "Domänkvoten fylld: Endast postlådor med obegränsade kvoter kan skapas på den här domänen.",
         "session_token": "Formulär-nyckeln är ogiltig: Nyckeln matchar inte",
         "session_ua": "Formulär-nyckeln är ogiltig: User-Agenten kunde inte valideras"
     }
diff --git a/mailcow/src/mailcow-dockerized/data/web/lang/lang.zh.json b/mailcow/src/mailcow-dockerized/data/web/lang/lang.zh.json
index 9dea0af..8993cb9 100644
--- a/mailcow/src/mailcow-dockerized/data/web/lang/lang.zh.json
+++ b/mailcow/src/mailcow-dockerized/data/web/lang/lang.zh.json
@@ -437,20 +437,20 @@
         "chart_this_server": "图表 (此服务器)",
         "containers_info": "容器信息",
         "disk_usage": "磁盘使用",
-        "external_logs": "外部日至",
+        "external_logs": "外部日志",
         "history_all_servers": "历史 (所有服务器)",
-        "in_memory_logs": "内存日至",
+        "in_memory_logs": "内存日志",
         "jvm_memory_solr": "JVM内存使用",
-        "log_info": "<p>mailcow <b>内存日志</b> 收集于Redis列表中并且每分钟地修整到 LOG_LINES (%d) 以减少错误(Rowhammer)。\r\n  <br>内存日志不是为了持久化，所有使用内存日志的应用同时也会写入日志到Docker守护程序的默认日志驱动中。\r\n  <br>内存日志应该用于debug容器中的不明显问题。</p>\r\n  <p><b>外部日志</b> 通过相应应用提供的API收集。</p>\r\n  <p><b>静态日志</b> 大多为不写入日志到Dockerd但仍然需要被持久化的活动日志(API日志外的)。</p>",
+        "log_info": "<p>mailcow <b>内存日志</b> 收集于Redis列表中并且每分钟自动缩减到 LOG_LINES (%d) 以减少错误(Rowhammer)。\r\n  <br>内存日志不是为了持久化，所有使用内存日志的应用同时也会写入日志到Docker守护程序的默认日志驱动中。\r\n  <br>内存日志应该用于debug容器中的不明显问题。</p>\r\n  <p><b>外部日志</b> 通过相应应用提供的API收集。</p>\r\n  <p><b>静态日志</b> 大多为不写入日志到Dockerd但仍然需要被持久化的活动日志(API日志外的)。</p>",
         "logs": "日志",
         "restart_container": "重启",
         "solr_dead": "Solr在启动中、已关闭或已停止运行",
-        "solr_docs": "文档",
-        "solr_last_modified": "最后修改",
-        "solr_size": "大小",
-        "solr_started_at": "开始于",
+        "docs": "文档",
+        "last_modified": "最后修改",
+        "size": "大小",
+        "started_at": "开始于",
         "solr_status": "Solr状态",
-        "solr_uptime": "运行时间",
+        "uptime": "运行时间",
         "started_on": "启动于",
         "static_logs": "静态日志",
         "system_containers": "系统和容器"
@@ -544,7 +544,7 @@
         "save": "保存更改",
         "scope": "范围",
         "sender_acl": "允许发送为",
-        "sender_acl_disabled": "↳ <span class=\"label label-danger\">发件人检查已关闭</span>",
+        "sender_acl_disabled": "<span class=\"label label-danger\">发件人检查已关闭</span>",
         "sender_acl_info": "如果允许邮箱用户A作为邮箱用户B发送邮件，发件人的地址不会在SOGo中\"来自\"区域自动地作为下拉可选项显示。<br>\r\n 邮箱用户B需要添加授权以允许邮箱用户A选择B的地址作为发件人；授权方法为，在SOGo中点击左上方邮箱地址右边的菜单按钮(三个点)并授权。",
         "sieve_desc": "简短描述",
         "sieve_type": "过滤器类型",
@@ -711,7 +711,6 @@
         "sieve_preset_7": "重定向邮件并保留/删除",
         "sieve_preset_8": "删除发件人发送给自己别名地址的邮件",
         "sieve_preset_header": "请看下方的示例预设。 查看 <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a> 以了解更多细节。",
-        "sogo_allow_admin_hint": "只允许存在个人资料的邮箱帐号以SOGo管理员登录，即用户需要在先前至少登录过一次。",
         "sogo_visible": "SOGo别名显示",
         "sogo_visible_n": "在SOGo中隐藏别名",
         "sogo_visible_y": "在SOGo中显示别名",
@@ -1033,7 +1032,7 @@
     "warning": {
         "cannot_delete_self": "不能删除已登录用户",
         "domain_added_sogo_failed": "域名已添加但是重启Dovecot失败，请检查日志。",
-        "dovecot_restart_failed": "Dovecot重启失败，请检查日至",
+        "dovecot_restart_failed": "Dovecot重启失败，请检查日志",
         "fuzzy_learn_error": "模糊特征学习失败: %s",
         "hash_not_found": "找不到特征或已被删除",
         "ip_invalid": "跳过的非法IP: %s",
diff --git a/mailcow/src/mailcow-dockerized/data/web/mailbox.php b/mailcow/src/mailcow-dockerized/data/web/mailbox.php
index 679f489..6dfe3af 100644
--- a/mailcow/src/mailcow-dockerized/data/web/mailbox.php
+++ b/mailcow/src/mailcow-dockerized/data/web/mailbox.php
@@ -7,7 +7,7 @@
 ?>
 <div class="container">
 
-  <ul class="nav nav-tabs" role="tablist">
+  <ul class="nav nav-tabs responsive-tabs" role="tablist">
     <li role="presentation" class="active"><a href="#tab-domains" aria-controls="tab-domains" role="tab" data-toggle="tab"><?=$lang['mailbox']['domains'];?></a></li>
     <li role="presentation"><a href="#tab-mailboxes" aria-controls="tab-mailboxes" role="tab" data-toggle="tab"><?=$lang['mailbox']['mailboxes'];?></a></li>
     <?php /* <li class="dropdown">
@@ -33,17 +33,17 @@
     <li role="presentation"<?=($_SESSION['mailcow_cc_role'] == "admin") ?: ' class="hidden"';?>><a href="#tab-tls-policy" aria-controls="tab-tls-policy" role="tab" data-toggle="tab"><?=$lang['mailbox']['tls_policy_maps'];?></a></li>
   </ul>
 
-	<div class="row">
-		<div class="col-md-12">
+  <div class="row">
+    <div class="col-md-12">
       <div class="tab-content" style="padding-top:20px">
         <div role="tabpanel" class="tab-pane active" id="tab-domains">
           <div class="panel panel-default">
             <div class="panel-heading">
               <?=$lang['mailbox']['domains'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <? if($_SESSION['mailcow_cc_role'] == "admin"): ?><button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addDomainModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_domain'];?></button><? endif; ?>
+                <? if($_SESSION['mailcow_cc_role'] == "admin"): ?><button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addDomainModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_domain'];?></button><? endif; ?>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_domain_table" data-table="domain_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="domain_table" role="menu">
@@ -62,8 +62,8 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="domain" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="domain" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <? if($_SESSION['mailcow_cc_role'] == "admin"): ?>
                     <li><a data-action="edit_selected" data-id="domain" data-api-url='edit/domain' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
@@ -72,8 +72,9 @@
                     <li><a data-action="delete_selected" data-id="domain" data-api-url='delete/domain' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                   <? endif; ?>
                 </ul>
+                <div class="clearfix visible-xs"></div>
                 <? if($_SESSION['mailcow_cc_role'] == "admin"): ?>
-                  <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addDomainModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_domain'];?></a>
+                  <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addDomainModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_domain'];?></a>
                 <? endif; ?>
               </div>
             </div>
@@ -96,9 +97,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['mailboxes'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addMailboxModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_mailbox'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addMailboxModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_mailbox'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_mailbox_table" data-table="mailbox_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="mailbox_table" role="menu">
@@ -111,19 +112,14 @@
                 </ul>
               </div>
             </div>
-            <?php if (getenv('ALLOW_ADMIN_EMAIL_LOGIN') == "y" && getenv('SKIP_SOGO') != "y") { ?>
-            <div class="panel-body help-block">
-            <?=$lang['mailbox']['sogo_allow_admin_hint'];?>
-            </div>
-            <?php } ?>
-            <div class="mass-actions-mailbox" data-actions-header="true"></div>
+            <div class="mass-actions-mailbox hidden-xs" data-actions-header="true"></div>
             <div class="table-responsive">
               <table id="mailbox_table" class="table table-striped"></table>
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group hidden-md hidden-lg hidden-xl">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="mailbox" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="mailbox" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li class="dropdown-header"><?=$lang['mailbox']['mailbox'];?></li>
                   <li><a data-action="edit_selected" data-id="mailbox" data-api-url='edit/mailbox' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
@@ -161,10 +157,11 @@
                   <li><a data-action="edit_selected" data-id="mailbox" data-api-url='edit/mailbox' data-api-attr='{"smtp_access":1}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="mailbox" data-api-url='edit/mailbox' data-api-attr='{"smtp_access":0}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addMailboxModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_mailbox'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addMailboxModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_mailbox'];?></a>
               </div>
               <div class="btn-group hidden-xs hidden-sm">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="mailbox" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="mailbox" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
                 <div class="btn-group">
                   <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['mailbox'];?> <span class="caret"></span></a>
                   <ul class="dropdown-menu">
@@ -216,7 +213,7 @@
                     <li><a data-action="edit_selected" data-id="mailbox" data-api-url='edit/quarantine_category' data-api-attr='{"quarantine_category":"all"}' href="#"><?=$lang['user']['q_all'];?></a></li>
                   </ul>
                 </div>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addMailboxModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_mailbox'];?></a>
+                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addMailboxModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_mailbox'];?></a>
               </div>
             </div>
           </div>
@@ -227,9 +224,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['resources'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addResourceModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_resource'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addResourceModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_resource'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_resource_table" data-table="resource_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="resource_table" role="menu">
@@ -253,15 +250,16 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="resource" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="resource" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li><a data-action="edit_selected" data-id="resource" data-api-url='edit/resource' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="resource" data-api-url='edit/resource' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
                   <li role="separator" class="divider"></li>
                   <li><a data-action="delete_selected" data-id="resource" data-api-url='delete/resource' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addResourceModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_resource'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addResourceModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_resource'];?></a>
               </div>
             </div>
           </div>
@@ -272,9 +270,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['domain_aliases'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-acl="<?=$_SESSION['acl']['alias_domains'];?>" data-toggle="modal" data-target="#addAliasDomainModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_domain_alias'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-acl="<?=$_SESSION['acl']['alias_domains'];?>" data-toggle="modal" data-target="#addAliasDomainModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_domain_alias'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_aliasdomain_table" data-table="aliasdomain_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="aliasdomain_table" role="menu">
@@ -293,15 +291,16 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="alias-domain" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="alias-domain" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li><a data-action="edit_selected" data-id="alias-domain" data-api-url='edit/alias-domain' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="alias-domain" data-api-url='edit/alias-domain' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
                   <li role="separator" class="divider"></li>
                   <li><a data-action="delete_selected" data-id="alias-domain" data-api-url='delete/alias-domain' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-acl="<?=$_SESSION['acl']['alias_domains'];?>" data-toggle="modal" data-target="#addAliasDomainModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_domain_alias'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-acl="<?=$_SESSION['acl']['alias_domains'];?>" data-toggle="modal" data-target="#addAliasDomainModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_domain_alias'];?></a>
               </div>
             </div>
           </div>
@@ -312,9 +311,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['aliases'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addAliasModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_alias'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addAliasModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_alias'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_alias_table" data-table="alias_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="alias_table" role="menu">
@@ -328,7 +327,7 @@
               </div>
             </div>
             <div class="panel-body help-block">
-            <?=$lang['mailbox']['alias_domain_alias_hint'];?>
+              <?=$lang['mailbox']['alias_domain_alias_hint'];?>
             </div>
             <!-- <div class="mass-actions-mailbox" data-actions-header="true"></div> -->
             <div class="table-responsive">
@@ -336,9 +335,9 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="alias" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-                <ul class="dropdown-menu">
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="alias" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <ul class="dropdown-menu top33">
                   <li><a data-action="edit_selected" data-id="alias" data-api-url='edit/alias' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="alias" data-api-url='edit/alias' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
                   <li role="separator" class="divider"></li>
@@ -349,7 +348,9 @@
                   <li><a data-action="edit_selected" data-id="alias" data-api-url='edit/alias' data-api-attr='{"sogo_visible":"0"}' href="#"><?=$lang['mailbox']['sogo_visible_n'];?></a></li>
                   <?php } ?>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addAliasModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_alias'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="alias" data-api-url='edit/alias' data-api-attr='{"expand_alias":true}' ><i class="bi bi-arrows-angle-expand"></i> <?=$lang['mailbox']['add_alias_expand'];?></a>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addAliasModal"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_alias'];?></a>
               </div>
             </div>
           </div>
@@ -360,9 +361,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['sync_jobs'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button data-acl="<?=$_SESSION['acl']['syncjobs'];?>" class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addSyncJobModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['user']['create_syncjob'];?></button>
+                <button data-acl="<?=$_SESSION['acl']['syncjobs'];?>" class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addSyncJobModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['user']['create_syncjob'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_sync_job_table" data-table="sync_job_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="sync_job_table" role="menu">
@@ -381,8 +382,8 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group" data-acl="<?=$_SESSION['acl']['syncjobs'];?>">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="syncjob" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="syncjob" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li><a data-action="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"last_run":""}' href="#"><?=$lang['mailbox']['last_run_reset'];?></a></li>
                   <li role="separator" class="divider"></li>
@@ -391,7 +392,8 @@
                   <li role="separator" class="divider"></li>
                   <li><a data-action="delete_selected" data-id="syncjob" data-api-url='delete/syncjob' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addSyncJobModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['user']['create_syncjob'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addSyncJobModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['user']['create_syncjob'];?></a>
               </div>
             </div>
           </div>
@@ -402,9 +404,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['filters'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-acl="<?=$_SESSION['acl']['filters'];?>" data-toggle="modal" data-target="#addFilterModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_filter'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-acl="<?=$_SESSION['acl']['filters'];?>" data-toggle="modal" data-target="#addFilterModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_filter'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_filter_table" data-table="filter_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="filter_table" role="menu">
@@ -426,8 +428,8 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group" data-acl="<?=$_SESSION['acl']['filters'];?>">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="filter_item" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="filter_item" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li><a data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
@@ -437,7 +439,8 @@
                   <li role="separator" class="divider"></li>
                   <li><a data-action="delete_selected" data-text="<?=$lang['user']['eas_reset'];?>?" data-id="filter_item" data-api-url='delete/filter' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addFilterModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_filter'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addFilterModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_filter'];?></a>
               </div>
             </div>
             <div class="panel-body <?=($_SESSION['mailcow_cc_role'] == "admin") ?: 'hidden';?>">
@@ -456,8 +459,9 @@
                   <div class="form-group">
                     <div class="col-sm-10 add_filter_btns">
                       <div class="btn-group">
-                        <button class="btn btn-sm btn-default validate_sieve" href="#"><?=$lang['add']['validate'];?></button>
-                        <button class="btn btn-sm btn-success add_sieve_script" data-action="add_item" data-id="add_prefilter" data-api-url='add/global-filter' data-api-attr='{"filter_type":"prefilter"}' href="#" disabled><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
+                        <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default validate_sieve" href="#"><?=$lang['add']['validate'];?></button>
+                        <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success add_sieve_script" data-action="add_item" data-id="add_prefilter" data-api-url='add/global-filter' data-api-attr='{"filter_type":"prefilter"}' href="#" disabled><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+                        <div class="clearfix visible-xs"></div>
                       </div>
                     </div>
                   </div>
@@ -474,8 +478,9 @@
                   <div class="form-group">
                     <div class="col-sm-10 add_filter_btns">
                       <div class="btn-group">
-                        <button class="btn btn-sm btn-default validate_sieve" href="#"><?=$lang['add']['validate'];?></button>
-                        <button class="btn btn-sm btn-success add_sieve_script" data-action="add_item" data-id="add_postfilter" data-api-url='add/global-filter' data-api-attr='{"filter_type":"postfilter"}' href="#" disabled><span class="glyphicon glyphicon-check"></span> <?=$lang['admin']['save'];?></button>
+                        <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default validate_sieve" href="#"><?=$lang['add']['validate'];?></button>
+                        <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success add_sieve_script" data-action="add_item" data-id="add_postfilter" data-api-url='add/global-filter' data-api-attr='{"filter_type":"postfilter"}' href="#" disabled><i class="bi bi-check-lg"></i> <?=$lang['admin']['save'];?></button>
+                        <div class="clearfix visible-xs"></div>
                       </div>
                     </div>
                   </div>
@@ -491,9 +496,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['bcc_maps'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-acl="<?=$_SESSION['acl']['bcc_maps'];?>" data-toggle="modal" data-target="#addBCCModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_bcc_entry'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-acl="<?=$_SESSION['acl']['bcc_maps'];?>" data-toggle="modal" data-target="#addBCCModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_bcc_entry'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_bcc_table" data-table="bcc_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="bcc_table" role="menu">
@@ -513,8 +518,8 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group" data-acl="<?=$_SESSION['acl']['bcc_maps'];?>">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="bcc" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="bcc" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li><a data-action="edit_selected" data-id="bcc" data-api-url='edit/bcc' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="bcc" data-api-url='edit/bcc' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
@@ -524,7 +529,8 @@
                   <li role="separator" class="divider"></li>
                   <li><a data-action="delete_selected" data-id="bcc" data-api-url='delete/bcc' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addBCCModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_bcc_entry'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addBCCModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_bcc_entry'];?></a>
               </div>
             </div>
           </div>
@@ -532,9 +538,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['recipient_maps'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addRecipientMapModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_recipient_map_entry'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addRecipientMapModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_recipient_map_entry'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_recipient_map_table" data-table="recipient_map_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="recipient_map_table" role="menu">
@@ -554,15 +560,16 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="recipient_map" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="recipient_map" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li><a data-action="edit_selected" data-id="recipient_map" data-api-url='edit/recipient_map' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="recipient_map" data-api-url='edit/recipient_map' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
                   <li role="separator" class="divider"></li>
                   <li><a data-action="delete_selected" data-id="recipient_map" data-api-url='delete/recipient_map' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addRecipientMapModalAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_recipient_map_entry'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addRecipientMapModalAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_recipient_map_entry'];?></a>
               </div>
             </div>
           </div>
@@ -573,9 +580,9 @@
             <div class="panel-heading">
               <?=$lang['mailbox']['tls_policy_maps_long'];?> <span class="badge badge-info table-lines"></span>
               <div class="btn-group pull-right hidden-xs">
-                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addTLSPolicyMapAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_tls_policy_map'];?></button>
+                <button class="btn btn-xs btn-success" href="#" data-toggle="modal" data-target="#addTLSPolicyMapAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_tls_policy_map'];?></button>
                 <button class="btn btn-xs btn-default refresh_table" data-draw="draw_tls_policy_table" data-table="tls_policy_table"><?=$lang['admin']['refresh'];?></button>
-                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?> 
+                <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['mailbox']['table_size'];?>
                   <span class="caret"></span>
                 </button>
                 <ul class="dropdown-menu" data-table-id="tls_policy_table" role="menu">
@@ -595,15 +602,16 @@
             </div>
             <div class="mass-actions-mailbox">
               <div class="btn-group">
-                <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="tls-policy-map" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-                <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="tls-policy-map" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+                <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
                 <ul class="dropdown-menu">
                   <li><a data-action="edit_selected" data-id="tls-policy-map" data-api-url='edit/tls-policy-map' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
                   <li><a data-action="edit_selected" data-id="tls-policy-map" data-api-url='edit/tls-policy-map' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
                   <li role="separator" class="divider"></li>
                   <li><a data-action="delete_selected" data-id="tls-policy-map" data-api-url='delete/tls-policy-map' href="#"><?=$lang['mailbox']['remove'];?></a></li>
                 </ul>
-                <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addTLSPolicyMapAdmin"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_tls_policy_map'];?></a>
+                <div class="clearfix visible-xs"></div>
+                <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addTLSPolicyMapAdmin"><i class="bi bi-plus-lg"></i> <?=$lang['mailbox']['add_tls_policy_map'];?></a>
               </div>
             </div>
           </div>
@@ -627,7 +635,7 @@
 echo "var is_dual = " . $is_dual . ";\n";
 echo "var pagination_size = '". $PAGINATION_SIZE . "';\n";
 $ALLOW_ADMIN_EMAIL_LOGIN = (preg_match(
-	"/^([yY][eE][sS]|[yY])+$/",
+  "/^([yY][eE][sS]|[yY])+$/",
     $_ENV["ALLOW_ADMIN_EMAIL_LOGIN"]
 )) ? "true" : "false";
 echo "var ALLOW_ADMIN_EMAIL_LOGIN = " . $ALLOW_ADMIN_EMAIL_LOGIN . ";\n";
@@ -640,7 +648,7 @@
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';
 }
 else {
-	header('Location: /');
-	exit();
+  header('Location: /');
+  exit();
 }
 ?>
diff --git a/mailcow/src/mailcow-dockerized/data/web/modals/admin.php b/mailcow/src/mailcow-dockerized/data/web/modals/admin.php
index e796d2e..22bb412 100644
--- a/mailcow/src/mailcow-dockerized/data/web/modals/admin.php
+++ b/mailcow/src/mailcow-dockerized/data/web/modals/admin.php
@@ -23,7 +23,7 @@
           <div class="form-group">
             <label class="control-label col-sm-2" for="content"><?=$lang['admin']['rsetting_content'];?>:</label>
             <div class="col-sm-10">
-              <textarea class="form-control" id="adminRspamdSettingsContent" name="content" rows="10"><?=$rsetting_details['content'];?></textarea>
+              <textarea class="form-control" id="adminRspamdSettingsContent" name="content" rows="10"><?=(isset($rsetting_details['content'])) ? $rsetting_details['content'] : '';?></textarea>
             </div>
           </div>
           <div class="form-group">
@@ -35,7 +35,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="rsetting" data-api-url='add/rsetting' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="rsetting" data-api-url='add/rsetting' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -59,8 +59,8 @@
             <div class="form-group">
               <label class="control-label col-sm-2" for="username"><?=$lang['admin']['username'];?>:</label>
               <div class="col-sm-10">
-                <input type="text" class="form-control" name="username" required>
-                &rdsh; <kbd>a-z A-Z - _ .</kbd>
+                <input type="text" class="form-control" name="username" onkeyup="this.value = this.value.toLowerCase();" required>
+                &rdsh; <kbd>a-z - _ .</kbd>
               </div>
             </div>
             <div class="form-group">
@@ -96,7 +96,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-default" data-action="add_item" data-id="add_domain_admin" data-api-url='add/domain-admin' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <?=$lang['admin']['add'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_domain_admin" data-api-url='add/domain-admin' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
               </div>
             </div>
           </form>
@@ -124,7 +124,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-4 col-sm-8">
-              <button class="btn btn-default" data-action="edit_selected" data-id="fido2ChangeFn" data-item="null" data-api-url='edit/fido2-fn' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="fido2ChangeFn" data-item="null" data-api-url='edit/fido2-fn' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
             </div>
           </div>
         </form>
@@ -150,7 +150,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-default" data-action="add_item" data-id="add_oauth2_client" data-api-url='add/oauth2-client' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <?=$lang['admin']['add'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_oauth2_client" data-api-url='add/oauth2-client' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
               </div>
             </div>
           </form>
@@ -171,8 +171,8 @@
             <div class="form-group">
               <label class="control-label col-sm-2" for="username"><?=$lang['admin']['username'];?>:</label>
               <div class="col-sm-10">
-                <input type="text" class="form-control" name="username" required>
-                &rdsh; <kbd>a-z A-Z - _ .</kbd>
+                <input type="text" class="form-control" name="username" onkeyup="this.value = this.value.toLowerCase();" required>
+                &rdsh; <kbd>a-z - _ .</kbd>
               </div>
             </div>
             <div class="form-group">
@@ -196,7 +196,7 @@
             </div>
             <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-default" data-action="add_item" data-id="add_admin" data-api-url='add/admin' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <?=$lang['admin']['add'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_admin" data-api-url='add/admin' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['admin']['add'];?></button>
               </div>
             </div>
           </form>
@@ -210,7 +210,7 @@
     <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
-        <h3 class="modal-title"><span class="glyphicon glyphicon-stats"></span> Transport</h3>
+        <h3 class="modal-title"><i class="bi bi-info-circle-fill"></i> Transport</h3>
       </div>
       <div class="modal-body">
           <form class="form-horizontal" data-cached-form="true" id="test_transport_form" role="form" method="post">
@@ -223,8 +223,15 @@
               </div>
             </div>
             <div class="form-group">
+              <label class="control-label col-sm-2" for="mail_rcpt"><?=$lang['admin']['relay_rcpt'];?></label>
+              <div class="col-sm-10">
+                <input type="text" class="form-control" name="mail_rcpt" placeholder="null@hosted.mailcow.de" value="null@hosted.mailcow.de">
+                <p class="help-block"><?=$lang['admin']['transport_test_rcpt_info'];?></p>
+              </div>
+            </div>
+            <div class="form-group">
               <div class="col-sm-offset-2 col-sm-10">
-                <button class="btn btn-default" id="test_transport" href="#"><?=$lang['admin']['relay_run'];?></button>
+                <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="test_transport" href="#"><?=$lang['admin']['relay_run'];?></button>
               </div>
             </div>
           </form>
@@ -240,7 +247,7 @@
     <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
-        <h3 class="modal-title"><span class="glyphicon glyphicon-hourglass" style="font-size:18px"></span> ID <span id="queue_id"></span></h3>
+        <h3 class="modal-title"><i class="bi bi-card-checklist" style="font-size:18px"></i> ID <span id="queue_id"></span></h3>
       </div>
       <div class="modal-body">
         <textarea class="form-control" id="queue_msg_content" name="content" rows="40"></textarea>
@@ -254,7 +261,7 @@
     <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
-        <h3 class="modal-title"><span class="glyphicon glyphicon-lock"></span> Private key</h3>
+        <h3 class="modal-title"><i class="bi bi-key-fill"></i> Private key</h3>
       </div>
       <div class="modal-body">
       <pre id="priv_key_pre"></pre>
diff --git a/mailcow/src/mailcow-dockerized/data/web/modals/footer.php b/mailcow/src/mailcow-dockerized/data/web/modals/footer.php
index 42d1278..7f73262 100644
--- a/mailcow/src/mailcow-dockerized/data/web/modals/footer.php
+++ b/mailcow/src/mailcow-dockerized/data/web/modals/footer.php
@@ -1,10 +1,13 @@
 <?php
-if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "admin" || $_SESSION['mailcow_cc_role'] == "domainadmin")):
+if (isset($_SESSION['mailcow_cc_role'])) {
 ?>
 <div class="modal fade" id="YubiOTPModal" tabindex="-1" role="dialog" aria-labelledby="YubiOTPModalLabel">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
-      <div class="modal-header"><b><?=$lang['tfa']['yubi_otp'];?></b></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+	    <h3 class="modal-title"><?=$lang['tfa']['yubi_otp'];?></h3>
+	  </div>
       <div class="modal-body">
       <form role="form" method="post">
         <div class="form-group">
@@ -29,7 +32,7 @@
             <input type="hidden" name="tfa_method" value="yubi_otp">
           </div>
         </div>
-        <button class="btn btn-sm btn-default" type="submit" name="set_tfa"><?=$lang['user']['save_changes'];?></button>
+        <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" type="submit" name="set_tfa"><?=$lang['user']['save_changes'];?></button>
       </form>
       </div>
     </div>
@@ -39,7 +42,10 @@
 <div class="modal fade" id="U2FModal" tabindex="-1" role="dialog" aria-labelledby="U2FModalLabel">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
-      <div class="modal-header"><b><?=$lang['tfa']['u2f'];?></b></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+	    <h3 class="modal-title"><?=$lang['tfa']['u2f'];?></h3>
+	  </div>
       <div class="modal-body">
         <form role="form" method="post" id="u2f_reg_form">
           <div class="form-group">
@@ -72,7 +78,10 @@
 <div class="modal fade" id="TOTPModal" tabindex="-1" role="dialog" aria-labelledby="TOTPModalLabel">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
-      <div class="modal-header"><b><?=$lang['tfa']['totp'];?></b></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+	    <h3 class="modal-title"><?=$lang['tfa']['totp'];?></h3>
+	  </div>
       <div class="modal-body">
         <form role="form" method="post">
           <div class="form-group">
@@ -98,7 +107,7 @@
             <li>
               <p><?=$lang['tfa']['confirm_totp_token'];?>:</p>
               <p><input type="number" style="width:33%" class="form-control" name="totp_confirm_token" autocomplete="off" required></p>
-              <p><button class="btn btn-default" type="submit" name="set_tfa"><?=$lang['tfa']['confirm'];?></button></p>
+              <p><button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" type="submit" name="set_tfa"><?=$lang['tfa']['confirm'];?></button></p>
             </li>
           </ol>
         </form>
@@ -110,14 +119,17 @@
 <div class="modal fade" id="DisableTFAModal" tabindex="-1" role="dialog" aria-labelledby="DisableTFAModalLabel">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
-      <div class="modal-header"><b><?=$lang['tfa']['delete_tfa'];?></b></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+	    <h3 class="modal-title"><?=$lang['tfa']['delete_tfa'];?></h3>
+	  </div>
       <div class="modal-body">
         <form role="form" method="post">
           <div class="input-group">
-            <input type="password" class="form-control" name="confirm_password" placeholder="<?=$lang['user']['password_now'];?>" autocomplete="off" required>
+            <input type="password" class="form-control input-xs-lg" name="confirm_password" placeholder="<?=$lang['user']['password_now'];?>" autocomplete="off" required>
             <span class="input-group-btn">
               <input type="hidden" name="tfa_method" value="none">
-              <button class="btn btn-danger" type="submit" name="set_tfa"><?=$lang['tfa']['delete_tfa'];?></button>
+              <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger" type="submit" name="set_tfa"><?=str_replace(' ', '&nbsp;', $lang['tfa']['delete_tfa']);?></button>
             </span>
           </div>
         </form>
@@ -127,14 +139,17 @@
 </div>
 
 <?php
-endif;
+}
 if (isset($_SESSION['pending_tfa_method'])):
   $tfa_method = $_SESSION['pending_tfa_method'];
 ?>
 <div class="modal fade" id="ConfirmTFAModal" tabindex="-1" role="dialog" aria-labelledby="ConfirmTFAModalLabel">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
-      <div class="modal-header"><button type="button" class="close" data-dismiss="modal">&times;</button><b><?=$lang['tfa'][$tfa_method];?></b></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+	    <h3 class="modal-title"><?=$lang['tfa'][$tfa_method];?></h3>
+	  </div>
       <div class="modal-body">
       <?php
       switch ($tfa_method) {
@@ -148,7 +163,7 @@
               <input type="hidden" name="tfa_method" value="yubi_otp">
             </div>
           </div>
-          <button class="btn btn-sm btn-default" type="submit" name="verify_tfa_login"><?=$lang['login']['login'];?></button>
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-sm btn-default" type="submit" name="verify_tfa_login"><?=$lang['login']['login'];?></button>
         </form>
       <?php
         break;
@@ -177,12 +192,12 @@
         <form role="form" method="post">
           <div class="form-group">
             <div class="input-group">
-              <span class="input-group-addon" id="tfa-addon"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span></span>
+              <span class="input-group-addon" id="tfa-addon"><i class="bi bi-shield-lock-fill"></i></span>
               <input type="number" min="000000" max="999999" name="token" class="form-control" placeholder="123456" autocomplete="one-time-code" aria-describedby="tfa-addon">
               <input type="hidden" name="tfa_method" value="totp">
             </div>
           </div>
-          <button class="btn btn-sm btn-default" type="submit" name="verify_tfa_login"><?=$lang['login']['login'];?></button>
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" type="submit" name="verify_tfa_login"><?=$lang['login']['login'];?></button>
         </form>
         <?php
         break;
@@ -205,13 +220,13 @@
   <div class="modal-dialog">
     <div class="modal-content">
     <div class="modal-header">
-      <button type="button" class="close" data-dismiss="modal">&times;</button>
+      <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
       <h4 class="modal-title"><?= $lang['footer']['restart_container']; ?> (<code id="containerName"></code>)</h4>
     </div>
     <div class="modal-body">
       <p><?= $lang['footer']['restart_container_info']; ?></p>
       <hr>
-      <button class="btn btn-md btn-primary" id="triggerRestartContainer"><?= $lang['footer']['restart_now']; ?></button>
+      <button class="btn btn-md visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-primary" id="triggerRestartContainer"><?= $lang['footer']['restart_now']; ?></button>
       <br><br>
       <div id="statusTriggerRestartContainer"></div>
     </div>
@@ -225,15 +240,16 @@
   <div class="modal-dialog">
     <div class="modal-content">
     <div class="modal-header">
-      <button type="button" class="close" data-dismiss="modal">&times;</button>
-      <h4 class="modal-title"><?= $lang['footer']['confirm_delete']; ?></h4>
+      <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+      <h3 class="modal-title"><?= $lang['footer']['confirm_delete']; ?></h3>
     </div>
     <div class="modal-body">
       <p id="DeleteText"><?= $lang['footer']['delete_these_items']; ?></p>
       <ul id="ItemsToDelete"></ul>
       <hr>
-      <button class="btn btn-sm btn-danger" id="IsConfirmed"><?= $lang['footer']['delete_now']; ?></button>
-      <button class="btn btn-sm btn-default" id="isCanceled"><?= $lang['footer']['cancel']; ?></button>
+      <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger" id="IsConfirmed"><?= $lang['footer']['delete_now']; ?></button>
+      <button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="isCanceled"><?= $lang['footer']['cancel']; ?></button>
+      <div class="clearfix visible-xs"></div>
     </div>
     </div>
   </div>
diff --git a/mailcow/src/mailcow-dockerized/data/web/modals/mailbox.php b/mailcow/src/mailcow-dockerized/data/web/modals/mailbox.php
index c1362c4..77533ea 100644
--- a/mailcow/src/mailcow-dockerized/data/web/modals/mailbox.php
+++ b/mailcow/src/mailcow-dockerized/data/web/modals/mailbox.php
@@ -72,7 +72,7 @@
           <hr>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="add_mailbox" data-api-url='add/mailbox' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_mailbox" data-api-url='add/mailbox' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -153,14 +153,14 @@
           <div class="form-group">
             <label class="control-label col-sm-2" for="rl_frame"><?=$lang['acl']['ratelimit'];?></label>
             <div class="col-sm-7">
-            <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="disabled">
+            <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="<?=$lang['ratelimit']['disabled']?>">
             </div>
             <div class="col-sm-3">
             <select name="rl_frame" class="form-control">
-              <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>>msgs / second</option>
-              <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>>msgs / minute</option>
-              <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>>msgs / hour</option>
-              <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>>msgs / day</option>
+              <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>><?=$lang['ratelimit']['second']?></option>
+              <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>><?=$lang['ratelimit']['minute']?></option>
+              <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>><?=$lang['ratelimit']['hour']?></option>
+              <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>><?=$lang['ratelimit']['day']?></option>
             </select>
             </div>
           </div>
@@ -182,18 +182,19 @@
           </div>
           <hr>
           <div class="form-group">
-            <div class="col-sm-offset-2 col-sm-10">
+            <div class="col-sm-offset-2 col-sm-10 btn-group">
               <?php if (getenv('SKIP_SOGO') != "y") { ?>
-              <button class="btn btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{}' href="#"><?=$lang['add']['add_domain_only'];?></button>
-              <button class="btn btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{"restart_sogo":"1"}' href="#"><?=$lang['add']['add_domain_restart'];?></button>
+              <button class="btn btn-xs-lg btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{}' href="#"><?=$lang['add']['add_domain_only'];?></button>
+              <button class="btn btn-xs-lg btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{"restart_sogo":"1"}' href="#"><?=$lang['add']['add_domain_restart'];?></button>
+              <div class="clearfix visible-xs"></div>
               <?php } else { ?>
-              <button class="btn btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{}' href="#"><?=$lang['add']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{}' href="#"><?=$lang['add']['add'];?></button>
               <?php } ?>
             </div>
           </div>
           <?php // TODO: Separate SOGo-related text
           if (getenv('SKIP_SOGO') != "y") { ?>
-          <p><span class="glyphicon glyphicon-exclamation-sign text-danger"></span> <?=$lang['add']['post_domain_add'];?></p>
+          <p><i class="bi bi-shield-fill-exclamation text-danger"></i> <?=$lang['add']['post_domain_add'];?></p>
           <?php } ?>
         </form>
       </div>
@@ -262,7 +263,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="add_resource" data-api-url='add/resource' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_resource" data-api-url='add/resource' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -320,7 +321,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="add_alias" data-api-url='add/alias' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_alias" data-api-url='add/alias' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -369,20 +370,20 @@
           <div class="form-group">
             <label class="control-label col-sm-2" for="rl_frame"><?=$lang['acl']['ratelimit'];?></label>
             <div class="col-sm-7">
-            <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="disabled">
+            <input name="rl_value" type="number" value="<?=(!empty($rl['value'])) ? $rl['value'] : null;?>" class="form-control" placeholder="<?=$lang['ratelimit']['disabled']?>">
             </div>
             <div class="col-sm-3">
             <select name="rl_frame" class="form-control">
-              <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>>msgs / second</option>
-              <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>>msgs / minute</option>
-              <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>>msgs / hour</option>
-              <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>>msgs / day</option>
+              <option value="s" <?=(isset($rl['frame']) && $rl['frame'] == 's') ? 'selected' : null;?>><?=$lang['ratelimit']['second']?></option>
+              <option value="m" <?=(isset($rl['frame']) && $rl['frame'] == 'm') ? 'selected' : null;?>><?=$lang['ratelimit']['minute']?></option>
+              <option value="h" <?=(isset($rl['frame']) && $rl['frame'] == 'h') ? 'selected' : null;?>><?=$lang['ratelimit']['hour']?></option>
+              <option value="d" <?=(isset($rl['frame']) && $rl['frame'] == 'd') ? 'selected' : null;?>><?=$lang['ratelimit']['day']?></option>
             </select>
             </div>
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="add_alias_domain" data-api-url='add/alias-domain' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_alias_domain" data-api-url='add/alias-domain' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -559,7 +560,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="add_syncjob" data-api-url='add/syncjob' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_syncjob" data-api-url='add/syncjob' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -625,9 +626,10 @@
             </div>
           </div>
           <div class="form-group">
-            <div class="col-sm-offset-2 col-sm-10 add_filter_btns">
-              <button class="btn btn-default validate_sieve" href="#"><?=$lang['add']['validate'];?></button>
-              <button class="btn btn-success add_sieve_script" data-action="add_item" data-id="add_filter" data-api-url='add/filter' data-api-attr='{}' href="#" disabled><?=$lang['admin']['add'];?></button>
+            <div class="col-sm-offset-2 col-sm-10 add_filter_btns btn-group">
+              <button class="btn btn-xs-lg btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default validate_sieve" href="#"><?=$lang['add']['validate'];?></button>
+              <button class="btn btn-xs-lg btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success add_sieve_script" data-action="add_item" data-id="add_filter" data-api-url='add/filter' data-api-attr='{}' href="#" disabled><?=$lang['admin']['add'];?></button>
+              <div class="clearfix visible-xs"></div>
             </div>
           </div>
         </form>
@@ -650,25 +652,38 @@
           <div class="form-group">
             <label class="control-label col-sm-2" for="local_dest"><?=$lang['mailbox']['bcc_local_dest'];?></label>
             <div class="col-sm-10">
-              <select data-live-search="true" name="local_dest" required>
+              <select data-live-search="true" data-size="20" name="local_dest" required>
               <?php
               $domains = mailbox('get', 'domains');
               $alias_domains = mailbox('get', 'alias_domains');
               if (!empty($domains)) {
+                echo '<optgroup label="',$lang['mailbox']['domains'],'">';
                 foreach ($domains as $domain) {
                   echo "<option>".htmlspecialchars($domain)."</option>";
                 }
+                echo "</optgroup>";
               }
               if (!empty($alias_domains)) {
+                echo '<optgroup label="',$lang['mailbox']['domain_aliases'],'">';
                 foreach ($alias_domains as $alias_domain) {
                   echo "<option>".htmlspecialchars($alias_domain)."</option>";
                 }
+                echo "</optgroup>";
               }
               if (!empty($domains)) {
                 foreach ($domains as $domain) {
                   $mailboxes = mailbox('get', 'mailboxes', $domain);
                   foreach ($mailboxes as $mailbox) {
-                    echo "<option>".htmlspecialchars($mailbox)."</option>";
+                    echo "<optgroup label=\"" . htmlspecialchars($mailbox) . "\">";
+                    echo "<option> " . htmlspecialchars($mailbox) . "</option>";
+                    $user_alias_details = user_get_alias_details($mailbox);
+                    foreach ($user_alias_details['direct_aliases'] as $k => $v) {
+                      echo "<option>" . htmlspecialchars($k) . "</option>";
+                    }
+                    foreach ($user_alias_details['shared_aliases'] as $k => $v) {
+                      echo "<option>" . htmlspecialchars($k) . "</option>";
+                    }
+                    echo "</optgroup>";
                   }
                 }
               }
@@ -689,6 +704,7 @@
             <label class="control-label col-sm-2" for="bcc_dest"><?=$lang['mailbox']['bcc_destination'];?></label>
             <div class="col-sm-10">
               <input type="text" class="form-control" name="bcc_dest">
+              <small><?=$lang['add']['bcc_dest_format'];?></small>
             </div>
           </div>
           <div class="form-group">
@@ -700,7 +716,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-success" data-action="add_item" data-id="add_bcc" data-api-url='add/bcc' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_bcc" data-api-url='add/bcc' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -741,7 +757,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-success" data-action="add_item" data-id="add_recipient_map" data-api-url='add/recipient_map' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_recipient_map" data-api-url='add/recipient_map' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -797,7 +813,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-success" data-action="add_item" data-id="add_tls_policy_map" data-api-url='add/tls-policy-map' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_tls_policy_map" data-api-url='add/tls-policy-map' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
             </div>
           </div>
         </form>
@@ -809,7 +825,10 @@
 <div class="modal fade" id="syncjobLogModal" tabindex="-1" role="dialog" aria-labelledby="syncjobLogModalLabel">
   <div class="modal-dialog modal-lg" role="document">
     <div class="modal-content">
-      <div class="modal-header"><h4 class="modal-title">Log</h4></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+	    <h3 class="modal-title">Log</h3>
+	  </div>
       <div class="modal-body">
         <textarea class="form-control" rows="20" id="logText" spellcheck="false"></textarea>
       </div>
@@ -820,10 +839,14 @@
 <div class="modal fade" id="dnsInfoModal" tabindex="-1" role="dialog" aria-labelledby="dnsInfoModalLabel">
   <div class="modal-dialog modal-lg" role="document">
     <div class="modal-content">
-      <div class="modal-header"><h4 class="modal-title"><?=$lang['diagnostics']['dns_records'];?></h4></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+	    <h3 class="modal-title"><?=$lang['diagnostics']['dns_records'];?></h3>
+	  </div>
       <div class="modal-body">
         <p><?=$lang['diagnostics']['dns_records_24hours'];?></p>
         <div class="dns-modal-body"></div>
+        <p><?=$lang['diagnostics']['dns_records_docs'];?></p>
       </div>
     </div>
   </div>
diff --git a/mailcow/src/mailcow-dockerized/data/web/modals/quarantine.php b/mailcow/src/mailcow-dockerized/data/web/modals/quarantine.php
index 3650012..3cb5330 100644
--- a/mailcow/src/mailcow-dockerized/data/web/modals/quarantine.php
+++ b/mailcow/src/mailcow-dockerized/data/web/modals/quarantine.php
@@ -9,7 +9,7 @@
     <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
-        <h3 class="modal-title"><span class="glyphicon glyphicon-info"></span> <?=$lang['quarantine']['qitem'];?></h3>
+        <h3 class="modal-title"><i class="bi bi-info-circle-fill"></i> <?=$lang['quarantine']['qitem'];?></h3>
       </div>
       <div class="modal-body">
         <div id="qid_error" style="display:none" class="alert alert-danger"></div>
diff --git a/mailcow/src/mailcow-dockerized/data/web/modals/user.php b/mailcow/src/mailcow-dockerized/data/web/modals/user.php
index 4d15556..e5d5aa8 100644
--- a/mailcow/src/mailcow-dockerized/data/web/modals/user.php
+++ b/mailcow/src/mailcow-dockerized/data/web/modals/user.php
@@ -24,7 +24,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-4 col-sm-8">
-              <button class="btn btn-default" data-action="edit_selected" data-id="fido2ChangeFn" data-item="null" data-api-url='edit/fido2-fn' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="fido2ChangeFn" data-item="null" data-api-url='edit/fido2-fn' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
             </div>
           </div>
         </form>
@@ -182,7 +182,7 @@
 					</div>
 					<div class="form-group">
 						<div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="add_syncjob" data-api-url='add/syncjob' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_syncjob" data-api-url='add/syncjob' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
 						</div>
 					</div>
 				</form>
@@ -228,7 +228,7 @@
 					</div>
 					<div class="form-group">
 						<div class="col-sm-offset-2 col-sm-10">
-              <button class="btn btn-default" data-action="add_item" data-id="add_apppasswd" data-api-url='add/app-passwd' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_apppasswd" data-api-url='add/app-passwd' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
 						</div>
 					</div>
 				</form>
@@ -240,7 +240,10 @@
 <div class="modal fade" id="syncjobLogModal" tabindex="-1" role="dialog" aria-labelledby="syncjobLogModalLabel">
   <div class="modal-dialog modal-lg" role="document">
     <div class="modal-content">
-      <div class="modal-header"><h4 class="modal-title">Log</h4></div>
+      <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+        <h3 class="modal-title">Log</h3>
+      </div>
       <div class="modal-body">
         <textarea class="form-control textarea-code" rows="20" id="logText" spellcheck="false"></textarea>
       </div>
@@ -251,6 +254,46 @@
 <div class="modal fade" id="pwChangeModal" tabindex="-1" role="dialog" aria-labelledby="pwChangeModalLabel">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
+	    <div class="modal-header">
+	    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
+        <h3 class="modal-title"><?=$lang['user']['change_password'];?></h3>
+      </div>
+      <div class="modal-body">
+        <form class="form-horizontal" data-cached-form="false" data-id="pwchange" role="form" method="post" autocomplete="off">
+          <div class="form-group">
+            <label class="control-label col-sm-3" for="user_new_pass"><?=$lang['user']['new_password'];?> (<a href="#" class="generate_password"><?=$lang['user']['generate'];?></a>)</label>
+            <div class="col-sm-5">
+            <input type="password" data-pwgen-field="true" data-hibp="true" class="form-control" name="user_new_pass" autocomplete="new-password" required>
+            </div>
+          </div>
+          <div class="form-group">
+            <label class="control-label col-sm-3" for="user_new_pass2"><?=$lang['user']['new_password_repeat'];?></label>
+            <div class="col-sm-5">
+            <input type="password" data-pwgen-field="true" class="form-control" name="user_new_pass2" autocomplete="new-password" required>
+            <p class="help-block"><?=$lang['user']['new_password_description'];?></p>
+            </div>
+          </div>
+          <hr>
+          <div class="form-group">
+            <label class="control-label col-sm-3" for="user_old_pass"><?=$lang['user']['password_now'];?></label>
+            <div class="col-sm-5">
+            <input type="password" class="form-control" name="user_old_pass" autocomplete="off" required>
+            </div>
+          </div>
+          <div class="form-group">
+            <div class="col-sm-offset-3 col-sm-9">
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="pwchange" data-item="null" data-api-url='edit/self' data-api-attr='{}' href="#"><?=$lang['user']['change_password'];?></button>
+            </div>
+          </div>
+        </form>
+      </div>
+    </div>
+  </div>
+</div><!-- pw change modal -->
+<!-- pw change modal -->
+<div class="modal fade" id="tempAliasModal" tabindex="-1" role="dialog" aria-labelledby="tempAliasModalLabel">
+  <div class="modal-dialog" role="document">
+    <div class="modal-content">
       <div class="modal-body">
         <form class="form-horizontal" data-cached-form="false" data-id="pwchange" role="form" method="post" autocomplete="off">
           <div class="form-group">
@@ -275,7 +318,7 @@
           </div>
           <div class="form-group">
             <div class="col-sm-offset-3 col-sm-9">
-              <button class="btn btn-default" data-action="edit_selected" data-id="pwchange" data-item="null" data-api-url='edit/self' data-api-attr='{}' href="#"><?=$lang['user']['change_password'];?></button>
+              <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="pwchange" data-item="null" data-api-url='edit/self' data-api-attr='{}' href="#"><?=$lang['user']['change_password'];?></button>
             </div>
           </div>
         </form>
diff --git a/mailcow/src/mailcow-dockerized/data/web/qhandler.php b/mailcow/src/mailcow-dockerized/data/web/qhandler.php
index f4ce9f0..756c695 100644
--- a/mailcow/src/mailcow-dockerized/data/web/qhandler.php
+++ b/mailcow/src/mailcow-dockerized/data/web/qhandler.php
@@ -12,7 +12,7 @@
   <div class="row">
     <div class="col-md-offset-2 col-md-8">
       <div class="panel panel-default">
-        <div class="panel-heading"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?= $lang['header']['quarantine']; ?></div>
+        <div class="panel-heading"><i class="bi bi-patch-exclamation-fill"></i> <?= $lang['header']['quarantine']; ?></div>
         <div class="panel-body">
           <legend><?=(isset($_POST['quick_release'])) ? $lang['quarantine']['release'] : $lang['quarantine']['remove'];?></legend>
             <p><?=$lang['quarantine']['qhandler_success'];?></p>
@@ -30,7 +30,7 @@
   <div class="row">
     <div class="col-md-offset-2 col-md-8">
       <div class="panel panel-default">
-        <div class="panel-heading"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?= $lang['header']['quarantine']; ?></div>
+        <div class="panel-heading"><i class="bi bi-patch-exclamation-fill"></i> <?= $lang['header']['quarantine']; ?></div>
         <div class="panel-body">
 <?php
 if ($_GET['action'] == "release") {
diff --git a/mailcow/src/mailcow-dockerized/data/web/quarantine.php b/mailcow/src/mailcow-dockerized/data/web/quarantine.php
index d5c71a0..6343db4 100644
--- a/mailcow/src/mailcow-dockerized/data/web/quarantine.php
+++ b/mailcow/src/mailcow-dockerized/data/web/quarantine.php
@@ -4,17 +4,17 @@
 if (isset($_SESSION['mailcow_cc_role'])) {
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
 $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
-
+$quarantine_settings = quarantine('settings');
 ?>
 <div class="container">
 	<div class="row">
 		<div class="col-md-12">
-      <div class="panel panel-default">
+      <div class="panel panel-default panel-xs-lg">
         <div class="panel-heading">
           <?=$lang['quarantine']['quarantine'];?> <span class="badge badge-info table-lines"></span>
           <div class="btn-group pull-right">
-            <button class="btn btn-xs btn-default refresh_table" data-draw="draw_quarantine_table" data-table="quarantinetable"><?=$lang['quarantine']['refresh'];?></button>
-            <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['quarantine']['table_size'];?> 
+            <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_quarantine_table" data-table="quarantinetable"><?=$lang['quarantine']['refresh'];?></button>
+            <button type="button" class="btn btn-xs btn-xs-lg btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['quarantine']['table_size'];?>
               <span class="caret"></span>
             </button>
             <ul class="dropdown-menu" data-table-id="quarantinetable" role="menu">
@@ -30,11 +30,16 @@
         <p style="margin:10px" class="help-block"><?=$lang['quarantine']['qinfo'];?></p>
         <p style="margin:10px">
         <?php
-        if (empty(quarantine('settings')['retention_size']) || empty(quarantine('settings')['max_size'])):
+        if (empty($quarantine_settings['retention_size'] || $quarantine_settings['max_size'])) {
         ?>
         <div class="panel-body"><div class="alert alert-info"><?=$lang['quarantine']['disabled_by_config'];?></div></div>
         <?php
-        endif;
+        }
+        else {
+        ?>
+        <p style="margin:10px" class="help-block"><?=sprintf($lang['quarantine']['settings_info'], $quarantine_settings['retention_size'], $quarantine_settings['max_size']);?></p>
+        <?php
+        }
         ?>
         </p>
         <div class="table-responsive">
@@ -42,8 +47,8 @@
         </div>
         <div class="mass-actions-quarantine">
           <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine'];?>">
-            <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="qitems" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['quarantine']['toggle_all'];?></a>
-            <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['quarantine']['quick_actions'];?> <span class="caret"></span></a>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="qitems" href="#"><i class="bi bi-check-all"></i> <?=$lang['quarantine']['toggle_all'];?></a>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['quarantine']['quick_actions'];?> <span class="caret"></span></a>
             <ul class="dropdown-menu">
               <li><a data-action="edit_selected" data-id="qitems" data-api-url='edit/qitem' data-api-attr='{"action":"release"}' href="#"><?=$lang['quarantine']['deliver_inbox'];?></a></li>
               <li role="separator" class="divider"></li>
@@ -51,6 +56,7 @@
               <li role="separator" class="divider"></li>
               <li><a data-action="delete_selected" data-id="qitems" data-api-url='delete/qitem' href="#"><?=$lang['quarantine']['remove'];?></a></li>
             </ul>
+            <div class="clearfix visible-xs"></div>
           </div>
         </div>
       </div>
diff --git a/mailcow/src/mailcow-dockerized/data/web/sogo-auth.php b/mailcow/src/mailcow-dockerized/data/web/sogo-auth.php
index 08fb1b0..3bd19c6 100644
--- a/mailcow/src/mailcow-dockerized/data/web/sogo-auth.php
+++ b/mailcow/src/mailcow-dockerized/data/web/sogo-auth.php
@@ -8,14 +8,8 @@
 $session_var_user_allowed = 'sogo-sso-user-allowed';
 $session_var_pass = 'sogo-sso-pass';
 
-// prevent if feature is disabled
-if (!$ALLOW_ADMIN_EMAIL_LOGIN) {
-  header('HTTP/1.0 403 Forbidden');
-  echo "this feature is disabled";
-  exit;
-}
 // validate credentials for basic auth requests
-elseif (isset($_SERVER['PHP_AUTH_USER'])) {
+if (isset($_SERVER['PHP_AUTH_USER'])) {
   // load prerequisites only when required
   require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
   $username = $_SERVER['PHP_AUTH_USER'];
@@ -36,11 +30,19 @@
 elseif (isset($_GET['login'])) {
   // load prerequisites only when required
   require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
-  // check permissions
-  if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['acl']['login_as'] == "1") {
-    $login = html_entity_decode(rawurldecode($_GET["login"]));
+  // check if dual_login is active
+  $is_dual = (!empty($_SESSION["dual-login"]["username"])) ? true : false;
+  // check permissions (if dual_login is active, deny sso when acl is not given)
+  $login = html_entity_decode(rawurldecode($_GET["login"]));
+  if ($ALLOW_ADMIN_EMAIL_LOGIN === 0 && $is_dual === true) {
+    header('HTTP/1.0 403 Forbidden');
+    echo "Admin login is forbidden";
+    exit;
+  }
+  if (isset($_SESSION['mailcow_cc_role']) &&
+    ($_SESSION['acl']['login_as'] == "1" || ($is_dual === false && $login == $_SESSION['mailcow_cc_username']))) {
     if (filter_var($login, FILTER_VALIDATE_EMAIL)) {
-      if (!empty(mailbox('get', 'mailbox_details', $login))) {
+      if (user_get_alias_details($login) !== false) {
         // load master password
         $sogo_sso_pass = file_get_contents("/etc/sogo-sso/sogo-sso.pass");
         // register username and password in session
@@ -53,6 +55,7 @@
     }
   }
   header('HTTP/1.0 403 Forbidden');
+  echo "Access is forbidden";
   exit;
 }
 // only check for admin-login on sogo GUI requests
diff --git a/mailcow/src/mailcow-dockerized/data/web/user.php b/mailcow/src/mailcow-dockerized/data/web/user.php
index 57b2803..62e29f6 100644
--- a/mailcow/src/mailcow-dockerized/data/web/user.php
+++ b/mailcow/src/mailcow-dockerized/data/web/user.php
@@ -1,697 +1,809 @@
-<?php
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
-if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'domainadmin') {
-
-  /*
-  / DOMAIN ADMIN
-  */
-
-	require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
-	$_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
-  $tfa_data = get_tfa();
-  $fido2_data = fido2(array("action" => "get_friendly_names"));
-	$username = $_SESSION['mailcow_cc_username'];
-
-?>
-<div class="container">
-
-  <h3><?=$lang['user']['user_settings'];?></h3>
-  <div class="panel panel-default">
-  <div class="panel-heading"><?=$lang['user']['user_settings'];?></div>
-  <div class="panel-body">
-    <div class="row">
-      <div class="col-sm-offset-3 col-sm-9">
-        <p><a href="#pwChangeModal" data-toggle="modal">[<?=$lang['user']['change_password'];?>]</a></p>
-        <p><small>
-        <?php
-        if ($_SESSION['mailcow_cc_last_login']['remote']):
-        ?>
-        <span style="margin-right:10px" class="glyphicon glyphicon-log-in"></span> <span data-time="<?=$_SESSION['mailcow_cc_last_login']['time'];?>" class="last_login_date"></span> (<?=$_SESSION['mailcow_cc_last_login']['remote'];?>)
-        <?php
-        else: echo $lang['user']['no_last_login']; endif;
-        ?>
-        </small></p>
-        <p>
-      </div>
-    </div>
-    <hr>
-    
-    <? // TFA ?>
-    <div class="row">
-      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['tfa']['tfa'];?></div>
-        <div class="col-sm-9 col-xs-7">
-          <p id="tfa_pretty"><?=$tfa_data['pretty'];?></p>
-            <table id="tfa_keys">
-              <?php if (!empty($tfa_data['additional'])):
-              foreach ($tfa_data['additional'] as $key_info): ?>
-                <form style="display:inline;" method="post">
-                <input type="hidden" name="unset_tfa_key" value="<?=$key_info['id'];?>" />
-                <div class="label label-default">🔑 <?=$key_info['key_id'];?> <a href="#" style="font-weight:bold;color:white" onClick="$(this).closest('form').submit()">[<?=strtolower($lang['admin']['remove']);?>]</a></div>
-              </form>
-              <?php endforeach;
-              endif;?>
-            </table>
-            <br />
-        </div>
-    </div>
-    <div class="row">
-      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['tfa']['set_tfa'];?></div>
-      <div class="col-sm-9 col-xs-7">
-        <select id="selectTFA" class="selectpicker" title="<?=$lang['tfa']['select'];?>">
-          <option value="yubi_otp"><?=$lang['tfa']['yubi_otp'];?></option>
-          <option value="u2f"><?=$lang['tfa']['u2f'];?></option>
-          <option value="totp"><?=$lang['tfa']['totp'];?></option>
-          <option value="none"><?=$lang['tfa']['none'];?></option>
-        </select>
-      </div>
-    </div>
-
-    <? // FIDO2 ?>
-    <legend style="margin-top:20px">
-    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="margin-bottom: -5px;">
-      <path d="M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3c-1.98 0-3.86.47-5.57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 9.86 2 12.01 2c2.13 0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28zM3.5 9.72c-.1 0-.2-.03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9.98 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7-.23.16-.54.11-.7-.12-.9-1.26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.96-.08.14-.23.21-.39.21zm6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39-2.57 0-4.66 1.97-4.66 4.39 0 1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 0 .71-.11.1-.24.15-.37.15zm7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39 0-.28.22-.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-1.21.12zM14.91 22c-.04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.17-3.24-2.17-5.22 0-1.62 1.38-2.94 3.08-2.94 1.7 0 3.08 1.32 3.08 2.94 0 1.07.93 1.94 2.08 1.94s2.08-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6.61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-.55-.04-.64-.29-.49-1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.55 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38z"/>
-    </svg>
-    <?=$lang['fido2']['fido2_auth'];?></legend>
-    <div class="row">
-      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['fido2']['known_ids'];?>:</div>
-      <div class="col-sm-9 col-xs-7">
-          <div class="table-responsive">
-          <table class="table table-striped table-hover table-condensed" id="fido2_keys">
-            <tr>
-              <th>ID</th>
-              <th style="min-width:240px;text-align: right"><?=$lang['admin']['action'];?></th>
-            </tr>
-            <?php
-            if (!empty($fido2_data)) {
-              foreach ($fido2_data as $key_info) {
-            ?>
-            <tr>
-              <td>
-                <?=($_SESSION['fido2_cid'] == $key_info['cid']) ? '→ ' : NULL; ?><?=(!empty($key_info['fn']))?$key_info['fn']:$key_info['subject'];?>
-              </td>
-              <td style="min-width:240px;text-align: right">
-                <form style="display:inline;" method="post">
-                <input type="hidden" name="unset_fido2_key" value="<?=$key_info['cid'];?>" />
-                <div class="btn-group">
-                <a href="#" class="btn btn-xs btn-default" data-cid="<?=$key_info['cid'];?>" data-subject="<?=base64_encode($key_info['subject']);?>" data-toggle="modal" data-target="#fido2ChangeFn"><span class="glyphicon glyphicon-pencil"></span> <?=strtolower($lang['fido2']['rename']);?></a>
-                <a href="#" onClick='return confirm("<?=$lang['admin']['ays'];?>")?$(this).closest("form").submit():"";' class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> <?=strtolower($lang['admin']['remove']);?></a>
-                </form>
-                </div>
-              </td>
-            </tr>
-            <?php
-              }
-            }
-            ?>
-          </table>
-          </div>
-          <br>
-      </div>
-    </div>
-    <div class="row">
-      <div class="col-sm-offset-3 col-sm-9">
-        <button class="btn btn-sm btn-primary" id="register-fido2"><?=$lang['fido2']['set_fido2'];?></button>
-      </div>
-    </div>
-    <br>
-    <div class="row" id="status-fido2">
-      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['fido2']['register_status'];?>:</div>
-      <div class="col-sm-9 col-xs-7">
-        <div id="fido2-alerts">-</div>
-      </div>
-      <br>
-    </div>
-
-  </div>
-  </div>
-</div>
-<?php
-}
-elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'user') {
-
-  /*
-  / USER
-  */
-
-  require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
-  $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
-  $username = $_SESSION['mailcow_cc_username'];
-  $mailboxdata = mailbox('get', 'mailbox_details', $username);
-  $pushover_data = pushover('get', $username);
-
-  $clientconfigstr = "host=" . urlencode($mailcow_hostname) . "&email=" . urlencode($username) . "&name=" . urlencode($mailboxdata['name']) . "&ui=" . urlencode(strtok($_SERVER['HTTP_HOST'], ':')) . "&port=" . urlencode($autodiscover_config['caldav']['port']);
-  if ($autodiscover_config['useEASforOutlook'] == 'yes')
-  $clientconfigstr .= "&outlookEAS=1";
-  if (file_exists('thunderbird-plugins/version.csv')) {
-    $fh = fopen('thunderbird-plugins/version.csv', 'r');
-    if ($fh) {
-      while (($row = fgetcsv($fh, 1000, ';')) !== FALSE) {
-        if ($row[0] == 'sogo-connector@inverse.ca') {
-          $clientconfigstr .= "&connector=" . urlencode($row[1]);
-        }
-      }
-      fclose($fh);
-    }
-  }
-?>
-<div class="container">
-
-  <!-- Nav tabs -->
-  <ul class="nav nav-tabs" role="tablist">
-    <li role="presentation" class="active"><a href="#userSettings" aria-controls="userSettings" role="tab" data-toggle="tab"><?=$lang['user']['mailbox_details'];?></a></li>
-    <li role="presentation"><a href="#SpamAliases" aria-controls="SpamAliases" role="tab" data-toggle="tab"><?=$lang['user']['spam_aliases'];?></a></li>
-    <li role="presentation"><a href="#Spamfilter" aria-controls="Spamfilter" role="tab" data-toggle="tab"><?=$lang['user']['spamfilter'];?></a></li>
-    <li role="presentation"><a href="#Syncjobs" aria-controls="Syncjobs" role="tab" data-toggle="tab"><?=$lang['user']['sync_jobs'];?></a></li>
-    <li role="presentation"><a href="#AppPasswds" aria-controls="AppPasswds" role="tab" data-toggle="tab"><?=$lang['user']['app_passwds'];?></a></li>
-    <li role="presentation"><a href="#Pushover" aria-controls="Pushover" role="tab" data-toggle="tab">Pushover API</a></li>
-  </ul>
-  <hr>
-
-  <div class="tab-content">
-
-  <div role="tabpanel" class="tab-pane active" id="userSettings">
-    <div class="panel panel-default">
-      <div class="panel-heading"><?=$lang['user']['mailbox_details'];?></div>
-      <div class="panel-body">
-        <div class="row">
-          <div class="col-sm-offset-3 col-sm-9">
-            <?php if ($mailboxdata['attributes']['force_pw_update'] == "1"): ?>
-            <div class="alert alert-danger"><?=$lang['user']['force_pw_update'];?></div>
-            <?php endif; ?>
-            <p><a href="#pwChangeModal" data-toggle="modal">[<?=$lang['user']['change_password'];?>]</a></p>
-            <p><a target="_blank" href="https://mailcow.github.io/mailcow-dockerized-docs/client/#<?=$clientconfigstr;?>">[<?=$lang['user']['client_configuration'];?>]</a></p>
-            <p><a href="#userFilterModal" data-toggle="modal">[<?=$lang['user']['show_sieve_filters'];?>]</a></p>
-            <p><small>
-            <?php
-            if ($_SESSION['mailcow_cc_last_login']['remote']):
-            ?>
-            <span style="margin-right:10px" class="glyphicon glyphicon-log-in"></span> <span data-time="<?=$_SESSION['mailcow_cc_last_login']['time'];?>" class="last_login_date"></span> (<?=$_SESSION['mailcow_cc_last_login']['remote'];?>)
-            <?php
-            else: echo $lang['user']['no_last_login']; endif;
-            ?>
-            </small></p>
-          </div>
-        </div>
-        <hr>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['apple_connection_profile'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-            <p><span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span> <a href="/mobileconfig.php?only_email"><?=$lang['user']['email'];?></a> <small>IMAP, SMTP</small></p>
-            <p class="help-block"><?=$lang['user']['apple_connection_profile_mailonly'];?></p>
-            <?php if (getenv('SKIP_SOGO') != "y") { ?>
-            <p><span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span> <a href="/mobileconfig.php"><?=$lang['user']['email_and_dav'];?></a> <small>IMAP, SMTP, Cal/CardDAV</small></p>
-            <p class="help-block"><?=$lang['user']['apple_connection_profile_complete'];?></p>
-            <?php } ?>
-          </div>
-        </div>
-        <hr>
-        <?php // Get user information about aliases
-        $user_get_alias_details = user_get_alias_details($username);
-        ?>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['direct_aliases'];?>:
-            <p class="small"><?=$lang['user']['direct_aliases_desc'];?></p>
-          </div>
-          <div class="col-md-9 col-xs-7">
-          <?php
-          if ($user_get_alias_details['direct_aliases'] === false) {
-            echo '&#10008;';
-          }
-          else {
-            foreach (array_filter($user_get_alias_details['direct_aliases']) as $direct_alias => $direct_alias_meta) {
-              (!empty($direct_alias_meta['public_comment'])) ?
-                printf('%s &mdash; <span class="bg-info">%s</span><br>', $direct_alias, $direct_alias_meta['public_comment']) :
-                printf('%s<br>', $direct_alias);
-            }
-          }
-          ?>
-          </div>
-        </div>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['shared_aliases'];?>:
-            <p class="small"><?=$lang['user']['shared_aliases_desc'];?></p>
-          </div>
-          <div class="col-md-9 col-xs-7">
-          <?php
-          if ($user_get_alias_details['shared_aliases'] === false) {
-            echo '&#10008;';
-          }
-          else {
-            foreach (array_filter($user_get_alias_details['shared_aliases']) as $shared_alias => $shared_alias_meta) {
-              (!empty($shared_alias_meta['public_comment'])) ?
-                printf('%s &mdash; <span class="bg-info">%s</span><br>', $shared_alias, $shared_alias_meta['public_comment']) :
-
-                printf('%s<br>', $shared_alias);
-            }
-          }
-          ?>
-          </div>
-        </div>
-        <hr>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['aliases_also_send_as'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <p><?=($user_get_alias_details['aliases_also_send_as'] == '*') ? $lang['user']['sender_acl_disabled'] : $user_get_alias_details['aliases_also_send_as'];?></p>
-          </div>
-        </div>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['aliases_send_as_all'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <p><?=$user_get_alias_details['aliases_send_as_all'];?></p>
-          </div>
-        </div>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['is_catch_all'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <p><?=$user_get_alias_details['is_catch_all'];?></p>
-          </div>
-        </div>
-        <hr>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['in_use'];?>:</div>
-          <div class="col-md-5 col-xs-7">
-            <div class="progress">
-              <div class="progress-bar progress-bar-<?=$mailboxdata['percent_class'];?>" role="progressbar" aria-valuenow="<?=$mailboxdata['percent_in_use'];?>" aria-valuemin="0" aria-valuemax="100" style="min-width:2em;width: <?=$mailboxdata['percent_in_use'];?>%;">
-                <?=$mailboxdata['percent_in_use'];?>%
-              </div>
-            </div>
-            <p><?=formatBytes($mailboxdata['quota_used'], 2);?> / <?=($mailboxdata['quota'] == 0) ? '∞' : formatBytes($mailboxdata['quota'], 2);?><br><?=$mailboxdata['messages'];?> <?=$lang['user']['messages'];?></p>
-          </div>
-        </div>
-        <hr>
-        <?php
-        // Show tagging options
-        $get_tagging_options = mailbox('get', 'delimiter_action', $username);
-        ?>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['tag_handling'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <div class="btn-group" data-acl="<?=$_SESSION['acl']['delimiter_action'];?>">
-            <button type="button" class="btn btn-sm btn-default <?=($get_tagging_options == "subfolder") ? 'active' : null; ?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="delimiter_action"
-              data-api-url='edit/delimiter_action'
-              data-api-attr='{"tagged_mail_handler":"subfolder"}'><?=$lang['user']['tag_in_subfolder'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($get_tagging_options == "subject") ? 'active' : null; ?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="delimiter_action"
-              data-api-url='edit/delimiter_action'
-              data-api-attr='{"tagged_mail_handler":"subject"}'><?=$lang['user']['tag_in_subject'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($get_tagging_options == "none") ? 'active' : null; ?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="delimiter_action"
-              data-api-url='edit/delimiter_action'
-              data-api-attr='{"tagged_mail_handler":"none"}'><?=$lang['user']['tag_in_none'];?></button>
-          </div>
-          <p class="help-block"><?=$lang['user']['tag_help_explain'];?></p>
-          <p class="help-block"><?=$lang['user']['tag_help_example'];?></p>
-          </div>
-        </div>
-        <?php
-        // Show TLS policy options
-        $get_tls_policy = mailbox('get', 'tls_policy', $username);
-        ?>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['tls_policy'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <div class="btn-group" data-acl="<?=$_SESSION['acl']['tls_policy'];?>">
-            <button type="button" class="btn btn-sm btn-default <?=($get_tls_policy['tls_enforce_in'] == "1") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="tls_policy"
-              data-api-url='edit/tls_policy'
-              data-api-attr='{"tls_enforce_in":<?=($get_tls_policy['tls_enforce_in'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_in'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($get_tls_policy['tls_enforce_out'] == "1") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="tls_policy"
-              data-api-url='edit/tls_policy'
-              data-api-attr='{"tls_enforce_out":<?=($get_tls_policy['tls_enforce_out'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_out'];?></button>
-          </div>
-          <p class="help-block"><?=$lang['user']['tls_policy_warning'];?></p>
-          </div>
-        </div>
-        <?php
-        // Show quarantine_notification options
-        $quarantine_notification = mailbox('get', 'quarantine_notification', $username);
-        $quarantine_category = mailbox('get', 'quarantine_category', $username);
-        ?>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['quarantine_notification'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_notification'];?>">
-            <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "never") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="quarantine_notification"
-              data-api-url='edit/quarantine_notification'
-              data-api-attr='{"quarantine_notification":"never"}'><?=$lang['user']['never'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "hourly") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="quarantine_notification"
-              data-api-url='edit/quarantine_notification'
-              data-api-attr='{"quarantine_notification":"hourly"}'><?=$lang['user']['hourly'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "daily") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="quarantine_notification"
-              data-api-url='edit/quarantine_notification'
-              data-api-attr='{"quarantine_notification":"daily"}'><?=$lang['user']['daily'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($quarantine_notification == "weekly") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="quarantine_notification"
-              data-api-url='edit/quarantine_notification'
-              data-api-attr='{"quarantine_notification":"weekly"}'><?=$lang['user']['weekly'];?></button>
-          </div>
-          <p class="help-block"><?=$lang['user']['quarantine_notification_info'];?></p>
-          </div>
-        </div>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['quarantine_category'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_category'];?>">
-            <button type="button" class="btn btn-sm btn-default <?=($quarantine_category == "reject") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="quarantine_category"
-              data-api-url='edit/quarantine_category'
-              data-api-attr='{"quarantine_category":"reject"}'><?=$lang['user']['q_reject'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($quarantine_category == "add_header") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="quarantine_category"
-              data-api-url='edit/quarantine_category'
-              data-api-attr='{"quarantine_category":"add_header"}'><?=$lang['user']['q_add_header'];?></button>
-            <button type="button" class="btn btn-sm btn-default <?=($quarantine_category == "all") ? "active" : null;?>"
-              data-action="edit_selected"
-              data-item="<?= htmlentities($username); ?>"
-              data-id="quarantine_category"
-              data-api-url='edit/quarantine_category'
-              data-api-attr='{"quarantine_category":"all"}'><?=$lang['user']['q_all'];?></button>
-          </div>
-          <p class="help-block"><?=$lang['user']['quarantine_category_info'];?></p>
-          </div>
-        </div>
-        <?php if (getenv('SKIP_SOGO') != "y") { ?>
-        <hr>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['eas_reset'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <button class="btn btn-xs btn-default" data-acl="<?=$_SESSION['acl']['eas_reset'];?>" data-action="delete_selected" data-text="<?=$lang['user']['eas_reset'];?>?" data-item="<?= htmlentities($username); ?>" data-id="eas_cache" data-api-url='delete/eas_cache' href="#"><?=$lang['user']['eas_reset_now'];?></button>
-          <p class="help-block"><?=$lang['user']['eas_reset_help'];?></p>
-          </div>
-        </div>
-        <div class="row">
-          <div class="col-md-3 col-xs-5 text-right"><?=$lang['user']['sogo_profile_reset'];?>:</div>
-          <div class="col-md-9 col-xs-7">
-          <button class="btn btn-xs btn-default" data-acl="<?=$_SESSION['acl']['sogo_profile_reset'];?>" data-action="delete_selected" data-text="<?=$lang['user']['sogo_profile_reset'];?>?" data-item="<?= htmlentities($username); ?>" data-id="sogo_profile" data-api-url='delete/sogo_profile' href="#"><?=$lang['user']['sogo_profile_reset_now'];?></button>
-          <p class="help-block"><?=$lang['user']['sogo_profile_reset_help'];?></p>
-          </div>
-        </div>
-        <?php } ?>
-      </div>
-    </div>
-  </div>
-
-	<div role="tabpanel" class="tab-pane" id="SpamAliases">
-    <div class="row">
-      <div class="col-md-12 col-sm-12 col-xs-12">
-        <div class="table-responsive">
-          <table class="table table-striped" id="tla_table"></table>
-        </div>
-      </div>
-		</div>
-    <div class="mass-actions-user">
-      <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_alias'];?>">
-        <div class="btn-group">
-          <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="tla" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-          <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-          <ul class="dropdown-menu">
-            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"1"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['hour'];?></a></li>
-            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"6"}' href="#"><?=$lang['user']['expire_in'];?> 6 <?=$lang['user']['hours'];?></a></li>
-            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"24"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['day'];?></a></li>
-            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"168"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['week'];?></a></li>
-            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"672"}' href="#"><?=$lang['user']['expire_in'];?> 4 <?=$lang['user']['weeks'];?></a></li>
-            <li role="separator" class="divider"></li>
-            <li><a data-action="delete_selected" data-id="tla" data-api-url='delete/time_limited_alias' href="#"><?=$lang['mailbox']['remove'];?></a></li>
-          </ul>
-        </div>
-        <div class="btn-group">
-          <a class="btn btn-sm btn-success dropdown-toggle" data-toggle="dropdown" href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['user']['alias_create_random'];?> <span class="caret"></span></a>
-          <ul class="dropdown-menu">
-            <li><a data-action="add_item" data-api-url='add/time_limited_alias' data-api-attr='{"validity":"1"}' href="#">1 <?=$lang['user']['hour'];?></a></li>
-            <li><a data-action="add_item" data-api-url='add/time_limited_alias' data-api-attr='{"validity":"6"}' href="#">6 <?=$lang['user']['hours'];?></a></li>
-            <li><a data-action="add_item" data-api-url='add/time_limited_alias' data-api-attr='{"validity":"24"}' href="#">1 <?=$lang['user']['day'];?></a></li>
-            <li><a data-action="add_item" data-api-url='add/time_limited_alias' data-api-attr='{"validity":"168"}' href="#">1 <?=$lang['user']['week'];?></a></li>
-            <li><a data-action="add_item" data-api-url='add/time_limited_alias' data-api-attr='{"validity":"672"}' href="#">4 <?=$lang['user']['weeks'];?></a></li>
-          </ul>
-        </div>
-      </div>
-    </div>
-	</div>
-
-	<div role="tabpanel" class="tab-pane" id="Spamfilter">
-		<h4><?=$lang['user']['spamfilter_behavior'];?></h4>
-		<form class="form-horizontal" role="form" data-id="spam_score" method="post">
-			<div class="form-group">
-				<div class="col-lg-6 col-sm-12">
-					<input data-acl="<?=$_SESSION['acl']['spam_score'];?>" name="spam_score" id="spam_score" type="text" style="width: 100%;"
-						data-provide="slider"
-						data-slider-min="1"
-						data-slider-max="2000"
-            data-slider-scale='logarithmic'
-						data-slider-step="0.5"
-						data-slider-range="true"
-						data-slider-tooltip='always'
-						data-slider-id="slider1"
-						data-slider-value="[<?=mailbox('get', 'spam_score', $username);?>]"
-						data-slider-step="1" />
-					<br /><br />
-					<ul>
-						<li><?=$lang['user']['spamfilter_green'];?></li>
-						<li><?=$lang['user']['spamfilter_yellow'];?></li>
-						<li><?=$lang['user']['spamfilter_red'];?></li>
-					</ul>
-					<p><?=$lang['user']['spamfilter_hint'];?></p>
-				</div>
-			</div>
-      <div class="form-group">
-				<div class="col-sm-10">
-				</div>
-        <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-          <a type="button" class="btn btn-sm btn-success" data-action="edit_selected"
-            data-item="<?= htmlentities($username); ?>"
-            data-id="spam_score"
-            data-api-url='edit/spam-score'
-            data-api-attr='{}'><?=$lang['user']['save_changes'];?></a>
-          <a type="button" class="btn btn-sm btn-default" data-action="edit_selected"
-            data-item="<?= htmlentities($username); ?>"
-            data-id="spam_score_reset"
-            data-api-url='edit/spam-score'
-            data-api-attr='{"spam_score":"default"}'><?=$lang['user']['spam_score_reset'];?></a>
-        </div>
-			</div>
-		</form>
-		<hr>
-		<div class="row">
-			<div class="col-sm-6">
-				<h4><?=$lang['user']['spamfilter_wl'];?></h4>
-        <p><?=$lang['user']['spamfilter_wl_desc'];?></p>
-        <div class="table-responsive">
-          <table class="table table-striped table-condensed" id="wl_policy_mailbox_table"></table>
-        </div>
-
-        <div class="mass-actions-user">
-          <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-            <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="policy_wl_mailbox" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-            <a class="btn btn-sm btn-danger" data-action="delete_selected" data-id="policy_wl_mailbox" data-api-url='delete/mailbox-policy' href="#"><?=$lang['mailbox']['remove'];?></a></li>
-          </div>
-        </div>
-        <form class="form-inline" data-id="add_wl_policy_mailbox">
-          <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-            <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
-            <span class="input-group-btn">
-              <button class="btn btn-default" data-action="add_item" data-id="add_wl_policy_mailbox" data-api-url='add/mailbox-policy' data-api-attr='{"username":<?= json_encode($username); ?>,"object_list":"wl"}' href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['user']['spamfilter_table_add'];?></button>
-            </span>
-          </div>
-        </form>
-      </div>
-			<div class="col-sm-6">
-				<h4><?=$lang['user']['spamfilter_bl'];?></h4>
-        <p><?=$lang['user']['spamfilter_bl_desc'];?></p>
-        <div class="table-responsive">
-          <table class="table table-striped table-condensed" id="bl_policy_mailbox_table"></table>
-        </div>
-
-        <div class="mass-actions-user">
-          <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-            <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="policy_bl_mailbox" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-            <a class="btn btn-sm btn-danger" data-action="delete_selected" data-id="policy_bl_mailbox" data-api-url='delete/mailbox-policy' href="#"><?=$lang['mailbox']['remove'];?></a></li>
-          </div>
-        </div>
-        <form class="form-inline" data-id="add_bl_policy_mailbox">
-          <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
-            <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
-            <span class="input-group-btn">
-              <button class="btn btn-default" data-action="add_item" data-id="add_bl_policy_mailbox" data-api-url='add/mailbox-policy' data-api-attr='{"username":<?= json_encode($username); ?>,"object_list":"bl"}' href="#"><span class="glyphicon glyphicon-plus"></span> <?=$lang['user']['spamfilter_table_add'];?></button>
-            </span>
-          </div>
-        </form>
-
-      </div>
-    </div>
-  </div>
-
-	<div role="tabpanel" class="tab-pane" id="Syncjobs">
-		<div class="table-responsive">
-      <table class="table table-striped" id="sync_job_table"></table>
-		</div>
-    <div class="mass-actions-user">
-      <div class="btn-group" data-acl="<?=$_SESSION['acl']['syncjobs'];?>">
-        <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="syncjob" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-        <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-        <ul class="dropdown-menu">
-          <li><a data-action="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
-          <li><a data-action="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
-          <li role="separator" class="divider"></li>
-          <li><a data-action="delete_selected" data-id="syncjob" data-api-url='delete/syncjob' href="#"><?=$lang['mailbox']['remove'];?></a></li>
-        </ul>
-        <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addSyncJobModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['user']['create_syncjob'];?></a>
-      </div>
-    </div>
-  </div>
-
-	<div role="tabpanel" class="tab-pane" id="Pushover">
-    <form data-id="pushover" class="form well" method="post">
-      <input type="hidden" value="0" name="evaluate_x_prio">
-      <input type="hidden" value="0" name="only_x_prio">
-      <input type="hidden" value="0" name="active">
-      <div class="row">
-        <div class="col-sm-1">
-          <p class="help-block"><a href="https://pushover.net" target="_blank"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAACglBMVEUAAAAAAAEAAAAilecFGigAAAAAAAAAAAAAAAANj+c3n+Ypm+oeYI4KWI4MieAtkdQbleoJcLcjmeswmN4Rit4KgdMKUYQJKUAQSnILL0kMNlMSTngimOoNPF0hlOQBBgkNOlkRS3MHIjUhk+IPf8wKLUYsjM0AAAASTngAAAAAAAAPfckbdLIbdrYUWIgegsgce70knfEAAAAknfENOVkGHi8YaaIjnvEdgMUhkuAQSG8aca0hleQUh9YLjOM4nOEMgtMcbaYWa6YemO02ltkKhNktgLodYZEPXJEyi8kKesktfLUzj84cWYMiluckZ5YJXJYeW4Y0k9YKfs4yjs0pc6YHZaUviskLfMkqmugak+cqkNcViNcqeK4Iaq4XRmYGPmYMKDsFJTstgr0LdL0ti84CCQ4BCQ4Qgc8rlt8XjN8shcQsi8wZSGgEP2cRMEUDKkUAAAD///8dmvEamfExo/EXmPEWl/ERlvElnvEsofEjnfETl/Enn/Ezo/E4pvEvovEfm/E1pPEzpPEvofEOlfEpoPEamPEQlfEYmfE6p/EgnPEVlvEroPE3pfE2pfENk/Ern/E3pPEcmfEfmvEnnvBlufT6/P0soPAknPDd7/zs9vzo9PxBqfItofAqoPD9/f3B4/q43/mx2/l/xfZ6w/Vxv/VtvfVgt/RXtPNTsfNEq/L3+/31+v3a7fvR6vvH5fqs2vmc0/jx+P3v9/3h8fzW7PvV7PvL5/q13fmo1/mh1PiY0fiNy/aHyfZ2wfVou/Vdt/RPsPM3oeoQkuowmeAgjdgcgMQbeLrw9/3k8vy74Pm63/mX0PdYtfNNr/Ikm+4wnOchkuAVjOAfdrMVcrOdoJikAAAAcnRSTlMAIQ8IzzweFwf+/fvw8P79+/Xt7e3p6eji4d7U08y8qZyTiIWDgn53bWxqaWBKQ0JBOjUwMCkoJCEfHBkT/vz8/Pv7+vr69/b29PTy7ezm5ubm5N7e29vQ0M/Pv7+4uLW1pqaWloWDg3x7e21mUVFFRUXdPracAAAEbElEQVRIx4WUZbvaQBCFF+ru7u7u7u7u7t4mvVwSoBC0JIUCLRQolLq7u7vr/+nMLkmQyvlwyfPcd86e3ZldUqwyQ/p329J+XfutPQYOLUP+q55rFtQJRvY79+xxlZTUWbKpz7/xrrMr2+3BoNPpdLn2lJQ4HEeqLOr1d7z7XNkesQed4A848G63Oy4Gmg/6Mz542QvZbqe8C/Ig73CLYiYTrtLmT3zfqbIcAR7y4wIqH/B6M9Fo0+Ldb6sM9ph/v4ozPuz12mxRofaAAr7jCNkuoz/jNf9AGHibkBCm51fsGKvxsAGWx4H+jBcEi6V2birDpCL/9Klrd1KHbiSvPWP8V0tTnTfO03iXi57P6WNHOVUf44IFdFDRz6pV5fw8Zy5z3JVH5+R48OwxqDiGvKJIY9R+9JsCuJ5HPg74OVEMpz+nbdEPUHEWeEk6IDUnTC1l5r+f8uffc0cfxc8fS17kLso24SwUPFDA/6DE82xKDOPliJ7n/GGOOyWK9zD9CdjvOfg9Dv6AH+AX04LW9gj2i8W/APx1UbxwCAu+wPmcpgUKL/EHdvtq4uwaZwCuznPJVY5LHhED15G/isd5Hz4eKui/e/du02YoKFeD5mHzHIN/nxEDe25gQQwKorAid04CfyzwL4XutXvl1Pt1guMOwwKPkU8mYIFT8JHK+vv8prpDScUVL+j8s3lOctw1GIhbWHAS+HgKPk7xPM/4UtNAYmzizJkf6NgTb/gM8jePQLsewMdthS3g95tMpT1IhVm6v1s8fYmLeb13Odwp8Fh5KY048y/d14WUrwrb1e/X/rNp73nkD8kWS+wi/MZ4XuetG4mhKubJm3/WNEvi8SHwB56nPKjUam0LBdp9ARwupFemTYudvgN/L1+A/Ko/LGBuS8pPy+YR1fuCTWNKnUyoeUyYx2o2dyEVGmr5xTD42xzvkD16+Pb9WIIH6fmt1r3mbsTY7Bvw+n23naT8BUWh86bz6G/e259UXPUK3gfAxQDlo7Rpx3Geqb2e3wp83SGEdKpB7zvwYbzvT2n65xLwbH6YP+M9C8vA8E1wxLU8gkCbdhXGUyrMgwVrcbzLHonr78lzDvWM3q/C/HtDlXoSUIe3YkblhRPIX4E8Oo/9siLv8dRjV7SBlkdgTXvKS7nzsA/9AfeEuhKq9T8zWIDv1Sd6ETAP4D6/H/1V+1BojvruNa4SZXz4JhY84dV5MOF5agUvu5OsOo+KRpG30KalEnoeDccFlutPZYs38D5n3zcpr1/0fBhfb3DOY1z2tSAgLxWezz6zuoHhfUmOejf6blHQH/sFuJYfcMZX307ytKvRa3ifoV/586P5j+tICtS77BuJxzxYAPZsntX8k3eSIhlajK4p8b7iefCEKs03kD/I2LnxL9ovH+43y4fAv1YrI/mzDBsavAX/UppfzVOrZT/ydxk6lJ047MfLfVbcb6hS9ZEzWxekKQ5WrtPqZg3rV6tWrX6Tle3KQZj/q6KxQnmDoXwFY0VSrN9e8FRXBCTAvwAAAABJRU5ErkJggg==" class="img img-fluid"></a></p>
-        </div>
-        <div class="col-sm-10">
-              <p class="help-block"><?=sprintf($lang['user']['pushover_info'], $username);?></p>
-              <p class="help-block"><?=$lang['user']['pushover_vars'];?>: <code>{SUBJECT}</code>, <code>{SENDER}</code></p>
-              <div class="form-group">
-                <div class="row">
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="token">API Token/Key (Application)</label>
-                      <input type="text" class="form-control" name="token" maxlength="30" value="<?=$pushover_data['token'];?>" required>
-                    </div>
-                  </div>
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="key">User/Group Key</label>
-                      <input type="text" class="form-control" name="key" maxlength="30" value="<?=$pushover_data['key'];?>" required>
-                    </div>
-                  </div>
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="title"><?=$lang['user']['pushover_title'];?></label>
-                      <input type="text" class="form-control" name="title" value="<?=$pushover_data['title'];?>" placeholder="Mail">
-                    </div>
-                  </div>
-                  <div class="col-sm-6">
-                    <div class="form-group">
-                      <label for="text"><?=$lang['user']['pushover_text'];?></label>
-                      <input type="text" class="form-control" name="text" value="<?=$pushover_data['text'];?>" placeholder="You've got mail 📧">
-                    </div>
-                  </div>
-                  <div class="col-sm-12">
-                    <div class="form-group">
-                      <label for="text"><?=$lang['user']['pushover_sender_array'];?></label>
-                      <input type="text" class="form-control" name="senders" value="<?=$pushover_data['senders'];?>" placeholder="sender1@example.com, sender2@example.com">
-                    </div>
-                  </div>
-                  <div class="col-sm-12">
-                    <div class="checkbox">
-                    <label><input type="checkbox" value="1" name="active" <?=($pushover_data['active']=="1") ? "checked" : null;?>> <?=$lang['user']['active'];?></label>
-                    </div>
-                  </div>
-                  <div class="col-sm-12">
-                    <legend style="cursor:pointer;margin-top:10px" data-target="#po_advanced" class="arrow-toggle" unselectable="on" data-toggle="collapse">
-                      <span style="font-size:12px" class="arrow rotate glyphicon glyphicon-menu-down"></span> <?=$lang['user']['advanced_settings'];?>
-                    </legend>
-                  </div>
-                  <div class="col-sm-12">
-                    <div id="po_advanced" class="collapse">
-                      <div class="form-group">
-                        <label for="text"><?=$lang['user']['pushover_sender_regex'];?></label>
-                        <input type="text" class="form-control" name="senders_regex" value="<?=$pushover_data['senders_regex'];?>" placeholder="/(.*@example\.org$|^foo@example\.com$)/i" regex="true">
-                        <div class="checkbox">
-                          <label><input type="checkbox" value="1" name="evaluate_x_prio" <?=($pushover_data['attributes']['evaluate_x_prio']=="1") ? "checked" : null;?>> <?=$lang['user']['pushover_evaluate_x_prio'];?></label>
-                        </div>
-                        <div class="checkbox">
-                          <label><input type="checkbox" value="1" name="only_x_prio" <?=($pushover_data['attributes']['only_x_prio']=="1") ? "checked" : null;?>> <?=$lang['user']['pushover_only_x_prio'];?></label>
-                        </div>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-              </div>
-          <div class="btn-group" data-acl="<?=$_SESSION['acl']['pushover'];?>">
-              <a class="btn btn-sm btn-default" data-action="edit_selected" data-id="pushover" data-item="<?=htmlspecialchars($username);?>" data-api-url='edit/pushover' data-api-attr='{}' href="#"><?=$lang['user']['save'];?></a>
-              <a class="btn btn-sm btn-default" data-action="edit_selected" data-id="pushover-test" data-item="<?=htmlspecialchars($username);?>" data-api-url='edit/pushover-test' data-api-attr='{}' href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['user']['pushover_verify'];?></a>
-              <a id="pushover_delete" class="btn btn-sm btn-danger" data-action="edit_selected" data-id="pushover-delete" data-item="<?=htmlspecialchars($username);?>" data-api-url='edit/pushover' data-api-attr='{"delete":"true"}' href="#"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span> <?=$lang['user']['remove'];?></a>
-          </div>
-        </div>
-      </div>
-    </form>
-  </div>
-
-	<div role="tabpanel" class="tab-pane" id="AppPasswds">
-    <p><?=$lang['user']['app_hint'];?></p>
-		<div class="table-responsive">
-      <table class="table table-striped" id="app_passwd_table"></table>
-		</div>
-    <div class="mass-actions-user">
-      <div class="btn-group" data-acl="<?=$_SESSION['acl']['app_passwds'];?>">
-        <a class="btn btn-sm btn-default" id="toggle_multi_select_all" data-id="apppasswd" href="#"><span class="glyphicon glyphicon-check" aria-hidden="true"></span> <?=$lang['mailbox']['toggle_all'];?></a>
-        <a class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
-        <ul class="dropdown-menu">
-          <li><a data-action="edit_selected" data-id="apppasswd" data-api-url='edit/app-passwd' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
-          <li><a data-action="edit_selected" data-id="apppasswd" data-api-url='edit/app-passwd' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
-          <li role="separator" class="divider"></li>
-          <li><a data-action="delete_selected" data-id="apppasswd" data-api-url='delete/app-passwd' href="#"><?=$lang['mailbox']['remove'];?></a></li>
-        </ul>
-        <a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addAppPasswdModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['user']['create_app_passwd'];?></a>
-      </div>
-    </div>
-		</div>
-
-	</div>
-  
-</div><!-- /container -->
-<div style="margin-bottom:200px;"></div>
-<?php
-}
-if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] != 'admin') {
-require_once $_SERVER['DOCUMENT_ROOT'] . '/modals/user.php';
-?>
-<script type='text/javascript'>
-<?php
-$lang_user = json_encode($lang['user']);
-echo "var lang = ". $lang_user . ";\n";
-echo "var acl = '". json_encode($_SESSION['acl']) . "';\n";
-echo "var csrf_token = '". $_SESSION['CSRF']['TOKEN'] . "';\n";
-echo "var mailcow_cc_username = '". $_SESSION['mailcow_cc_username'] . "';\n";
-echo "var pagination_size = '". $PAGINATION_SIZE . "';\n";
-?>
-</script>
-<?php
-$js_minifier->add('/web/js/site/user.js');
-$js_minifier->add('/web/js/site/pwgen.js');
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';
-}
-else {
-	header('Location: /');
-	exit();
-}
-?>
+<?php
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
+if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'domainadmin') {
+
+  /*
+  / DOMAIN ADMIN
+  */
+
+	require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
+	$_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
+  $tfa_data = get_tfa();
+  $fido2_data = fido2(array("action" => "get_friendly_names"));
+	$username = $_SESSION['mailcow_cc_username'];
+
+?>
+<div class="container">
+
+  <h3><?=$lang['user']['user_settings'];?></h3>
+  <div class="panel panel-default">
+  <div class="panel-heading"><?=$lang['user']['user_settings'];?></div>
+  <div class="panel-body">
+    <div class="row">
+      <div class="col-sm-offset-3 col-sm-9">
+        <p><a href="#pwChangeModal" data-toggle="modal">[<?=$lang['user']['change_password'];?>]</a></p>
+        <div class="last-login"></div>
+        <span class="clear-last-logins"><?=$lang['user']['clear_recent_successful_connections'];?></span>
+      </div>
+    </div>
+    <hr>
+
+    <? // TFA ?>
+    <div class="row">
+      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['tfa']['tfa'];?></div>
+        <div class="col-sm-9 col-xs-7">
+          <p id="tfa_pretty"><?=$tfa_data['pretty'];?></p>
+            <div id="tfa_keys">
+              <?php
+              if (!empty($tfa_data['additional'])) {
+                foreach ($tfa_data['additional'] as $key_info) { ?>
+                <form style="display:inline;" method="post">
+                  <input type="hidden" name="unset_tfa_key" value="<?=$key_info['id'];?>" />
+                  <div class="label label-default"><i class="bi bi-key-fill"></i> <?=$key_info['key_id'];?> <a href="#" style="font-weight:bold;color:white" onClick='return confirm("<?=$lang['user']['delete_ays'];?>")?$(this).closest("form").submit():"";'>[<?=strtolower($lang['admin']['remove']);?>]</a></div>
+                </form>
+                <?php
+                }
+              }
+              ?>
+            </div>
+            <br>
+        </div>
+    </div>
+    <div class="row">
+      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['tfa']['set_tfa'];?></div>
+      <div class="col-sm-9 col-xs-7">
+        <select id="selectTFA" class="selectpicker" title="<?=$lang['tfa']['select'];?>">
+          <option value="yubi_otp"><?=$lang['tfa']['yubi_otp'];?></option>
+          <option value="u2f"><?=$lang['tfa']['u2f'];?></option>
+          <option value="totp"><?=$lang['tfa']['totp'];?></option>
+          <option value="none"><?=$lang['tfa']['none'];?></option>
+        </select>
+      </div>
+    </div>
+
+    <hr>
+    <? // FIDO2 ?>
+    <div class="row">
+      <div class="col-sm-3 col-xs-5 text-right">
+        <p><i class="bi bi-shield-fill-check"></i> <?=$lang['fido2']['fido2_auth'];?></p>
+      </div>
+    </div>
+    <div class="row">
+      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['fido2']['known_ids'];?>:</div>
+      <div class="col-sm-9 col-xs-7">
+          <div class="table-responsive">
+          <table class="table table-striped table-hover table-condensed" id="fido2_keys">
+            <tr>
+              <th>ID</th>
+              <th style="min-width:240px;text-align: right"><?=$lang['admin']['action'];?></th>
+            </tr>
+            <?php
+            if (!empty($fido2_data)) {
+              foreach ($fido2_data as $key_info) {
+            ?>
+            <tr>
+              <td>
+                <?=($_SESSION['fido2_cid'] == $key_info['cid']) ? '→ ' : NULL; ?><?=(!empty($key_info['fn']))?$key_info['fn']:$key_info['subject'];?>
+              </td>
+              <td style="min-width:240px;text-align: right">
+                <form style="display:inline;" method="post">
+                <input type="hidden" name="unset_fido2_key" value="<?=$key_info['cid'];?>" />
+                <div class="btn-group">
+                <a href="#" class="btn btn-xs btn-default" data-cid="<?=$key_info['cid'];?>" data-subject="<?=base64_encode($key_info['subject']);?>" data-toggle="modal" data-target="#fido2ChangeFn"><i class="bi bi-pencil-fill"></i> <?=strtolower($lang['fido2']['rename']);?></a>
+                <a href="#" onClick='return confirm("<?=$lang['user']['delete_ays'];?>")?$(this).closest("form").submit():"";' class="btn btn-xs btn-danger"><i class="bi bi-trash"></i> <?=strtolower($lang['admin']['remove']);?></a>
+                </form>
+                </div>
+              </td>
+            </tr>
+            <?php
+              }
+            }
+            ?>
+          </table>
+          </div>
+          <br>
+      </div>
+    </div>
+    <div class="row">
+      <div class="col-sm-offset-3 col-sm-9">
+        <button class="btn btn-sm btn-primary" id="register-fido2"><?=$lang['fido2']['set_fido2'];?></button>
+      </div>
+    </div>
+    <br>
+    <div class="row" id="status-fido2">
+      <div class="col-sm-3 col-xs-5 text-right"><?=$lang['fido2']['register_status'];?>:</div>
+      <div class="col-sm-9 col-xs-7">
+        <div id="fido2-alerts">-</div>
+      </div>
+      <br>
+    </div>
+
+  </div>
+  </div>
+</div>
+<?php
+}
+elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'user') {
+
+  /*
+  / USER
+  */
+
+  require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
+  $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
+  $username = $_SESSION['mailcow_cc_username'];
+  $mailboxdata = mailbox('get', 'mailbox_details', $username);
+  $pushover_data = pushover('get', $username);
+  $tfa_data = get_tfa();
+  $fido2_data = fido2(array("action" => "get_friendly_names"));
+
+  $clientconfigstr = "host=" . urlencode($mailcow_hostname) . "&email=" . urlencode($username) . "&name=" . urlencode($mailboxdata['name']) . "&ui=" . urlencode(strtok($_SERVER['HTTP_HOST'], ':')) . "&port=" . urlencode($autodiscover_config['caldav']['port']);
+  if ($autodiscover_config['useEASforOutlook'] == 'yes')
+  $clientconfigstr .= "&outlookEAS=1";
+  if (file_exists('thunderbird-plugins/version.csv')) {
+    $fh = fopen('thunderbird-plugins/version.csv', 'r');
+    if ($fh) {
+      while (($row = fgetcsv($fh, 1000, ';')) !== FALSE) {
+        if ($row[0] == 'sogo-connector@inverse.ca') {
+          $clientconfigstr .= "&connector=" . urlencode($row[1]);
+        }
+      }
+      fclose($fh);
+    }
+  }
+?>
+<div class="container">
+
+  <!-- Nav tabs -->
+  <ul class="nav nav-tabs responsive-tabs" role="tablist">
+    <li class="dropdown active">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['user']['mailbox'];?><span class="caret"></span></a>
+      <ul class="dropdown-menu">
+        <li role="presentation" class="active" data-dont-remember="1"><a href="#tab-user-auth" aria-controls="tab-user-auth" role="tab" data-toggle="tab"><?=$lang['user']['mailbox_general'];?></a></li>
+        <li role="presentation"><a href="#tab-user-details" aria-controls="tab-config-fwdhosts" role="tab" data-toggle="tab"><?=$lang['user']['mailbox_details'];?></a></li>
+        <li role="presentation"><a href="#tab-user-settings" aria-controls="tab-config-f2b" role="tab" data-toggle="tab"><?=$lang['user']['mailbox_settings'];?></a></li>
+      </ul>
+    </li>
+    <li role="presentation"><a href="#SpamAliases" aria-controls="SpamAliases" role="tab" data-toggle="tab"><?=$lang['user']['spam_aliases'];?></a></li>
+    <li role="presentation"><a href="#Spamfilter" aria-controls="Spamfilter" role="tab" data-toggle="tab"><?=$lang['user']['spamfilter'];?></a></li>
+    <li role="presentation"><a href="#Syncjobs" aria-controls="Syncjobs" role="tab" data-toggle="tab"><?=$lang['user']['sync_jobs'];?></a></li>
+    <li role="presentation"><a href="#AppPasswds" aria-controls="AppPasswds" role="tab" data-toggle="tab"><?=$lang['user']['app_passwds'];?></a></li>
+    <li role="presentation"><a href="#Pushover" aria-controls="Pushover" role="tab" data-toggle="tab">Pushover API</a></li>
+  </ul>
+  <hr>
+
+  <div class="tab-content">
+
+  <div role="tabpanel" class="tab-pane active" id="tab-user-auth">
+    <div class="panel panel-default">
+      <div class="panel-heading"><?=$lang['user']['mailbox_general'];?></div>
+      <div class="panel-body">
+        <?php if (getenv('SKIP_SOGO') != "y") { ?>
+        <div class="row">
+          <div class="hidden-xs col-md-3 col-xs-5 text-right"></div>
+          <div class="col-md-3 col-xs-12">
+            <a target="_blank" href="/sogo-auth.php?login=<?=$username;?>" role="button" class="btn btn-default btn-block btn-xs-lg">
+              <i class="bi bi-inbox-fill"></i> <?=$lang['user']['open_webmail_sso'];?>
+            </a>
+          </div>
+        </div>
+        <hr>
+        <?php } ?>
+        <div class="row">
+          <div class="col-md-3 col-xs-12 text-right text-xs-left space20"><?=$lang['user']['in_use'];?>:</div>
+          <div class="col-md-5 col-xs-12">
+            <div class="progress">
+              <div class="progress-bar progress-bar-<?=$mailboxdata['percent_class'];?>" role="progressbar" aria-valuenow="<?=$mailboxdata['percent_in_use'];?>" aria-valuemin="0" aria-valuemax="100" style="min-width:2em;width: <?=$mailboxdata['percent_in_use'];?>%;">
+                <?=$mailboxdata['percent_in_use'];?>%
+              </div>
+            </div>
+            <p><?=formatBytes($mailboxdata['quota_used'], 2);?> / <?=($mailboxdata['quota'] == 0) ? '∞' : formatBytes($mailboxdata['quota'], 2);?><br><?=$mailboxdata['messages'];?> <?=$lang['user']['messages'];?></p>
+            <hr>
+            <p><a href="#pwChangeModal" data-toggle="modal"><i class="bi bi-pencil-fill"></i> <?=$lang['user']['change_password'];?></a></p>
+          </div>
+        </div>
+        <hr>
+        <? // FIDO2 ?>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left">
+            <p><i class="bi bi-shield-fill-check"></i> <?=$lang['fido2']['fido2_auth'];?></p>
+          </div>
+        </div>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left space20">
+          <?=$lang['fido2']['known_ids'];?>:
+          </div>
+          <div class="col-sm-9 col-xs-12">
+            <div class="table-responsive">
+            <table class="table table-striped table-hover table-condensed" id="fido2_keys">
+              <tr>
+                <th>ID</th>
+                <th style="min-width:240px;text-align: right"><?=$lang['admin']['action'];?></th>
+              </tr>
+              <?php
+              if (!empty($fido2_data)) {
+                foreach ($fido2_data as $key_info) {
+              ?>
+              <tr>
+                <td>
+                  <?=($_SESSION['fido2_cid'] == $key_info['cid']) ? '<i class="bi bi-unlock-fill"></i> ' : NULL; ?><?=(!empty($key_info['fn']))?$key_info['fn']:$key_info['subject'];?>
+                </td>
+                <td style="min-width:240px;text-align: right">
+                  <form style="display:inline;" method="post">
+                  <input type="hidden" name="unset_fido2_key" value="<?=$key_info['cid'];?>" />
+                  <div class="btn-group">
+                  <a href="#" class="btn btn-xs btn-default" data-cid="<?=$key_info['cid'];?>" data-subject="<?=base64_encode($key_info['subject']);?>" data-toggle="modal" data-target="#fido2ChangeFn"><i class="bi bi-pencil-fill"></i> <?=strtolower($lang['fido2']['rename']);?></a>
+                  <a href="#" onClick='return confirm("<?=$lang['user']['delete_ays'];?>")?$(this).closest("form").submit():"";' class="btn btn-xs btn-danger"><i class="bi bi-trash"></i> <?=strtolower($lang['admin']['remove']);?></a>
+                  </div>
+                  </form>
+                </td>
+              </tr>
+              <?php
+                }
+              }
+              ?>
+            </table>
+            </div>
+            <br>
+          </div>
+        </div>
+        <div class="row">
+          <div class="col-sm-offset-3 col-sm-9">
+            <button class="btn btn-sm btn-primary visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline" id="register-fido2"><?=$lang['fido2']['set_fido2'];?></button>
+          </div>
+        </div>
+        <br>
+        <div class="row" id="status-fido2">
+          <div class="col-sm-3 col-xs-5 text-right"><?=$lang['fido2']['register_status'];?>:</div>
+          <div class="col-sm-9 col-xs-7">
+            <div id="fido2-alerts">-</div>
+          </div>
+          <br>
+        </div>
+        <hr>
+        <div class="row">
+          <div class="col-md-3 col-xs-12 text-right text-xs-left space20"><i class="bi bi-file-earmark-text"></i> <?=$lang['user']['apple_connection_profile'];?>:</div>
+          <div class="col-md-9 col-xs-12">
+            <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?only_email"><?=$lang['user']['email'];?></a> <small>IMAP, SMTP</small></p>
+            <p class="help-block"><?=$lang['user']['apple_connection_profile_mailonly'];?></p>
+            <?php if (getenv('SKIP_SOGO') != "y") { ?>
+            <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php"><?=$lang['user']['email_and_dav'];?></a> <small>IMAP, SMTP, Cal/CardDAV</small></p>
+            <p class="help-block"><?=$lang['user']['apple_connection_profile_complete'];?></p>
+            <?php } ?>
+          </div>
+        </div>
+        <hr>
+        <div class="row">
+          <div class="col-sm-offset-3 col-sm-9">
+            <?php if ($mailboxdata['attributes']['force_pw_update'] == "1"): ?>
+            <div class="alert alert-danger"><?=$lang['user']['force_pw_update'];?></div>
+            <?php endif; ?>
+            <p><a target="_blank" href="https://mailcow.github.io/mailcow-dockerized-docs/client/#<?=$clientconfigstr;?>">[<?=$lang['user']['client_configuration'];?>]</a></p>
+            <p><a href="#userFilterModal" data-toggle="modal">[<?=$lang['user']['show_sieve_filters'];?>]</a></p>
+            <hr>
+            <h4 class="recent-login-success pull-left"><?=$lang['user']['recent_successful_connections'];?></h4>
+            <div class="dropdown pull-left pull-xs-right">
+              <button class="btn btn-default btn-xs btn-xs-lg dropdown-toggle" type="button" id="history_sasl_days" data-toggle="dropdown"><?=$lang['user']['login_history'];?> <span class="caret"></span></button>
+              <ul class="dropdown-menu">
+                <li class="login-history active" data-days="1"><a href="#">1 <?=$lang['user']['day'];?></a></li>
+                <li class="login-history" data-days="7"><a href="#">1 <?=$lang['user']['week'];?></a></li>
+                <li class="login-history" data-days="14"><a href="#">2 <?=$lang['user']['weeks'];?></a></li>
+                <li class="login-history" data-days="31"><a href="#">1 <?=$lang['user']['month'];?></a></li>
+              </ul>
+            </div>
+            <div class="clearfix"></div>
+            <div class="last-login"></div>
+            <span class="clear-last-logins">
+              <?=$lang['user']['clear_recent_successful_connections'];?>
+            </span>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+
+  <div role="tabpanel" class="tab-pane" id="tab-user-details">
+    <div class="panel panel-default">
+      <div class="panel-heading"><?=$lang['user']['mailbox_details'];?></div>
+      <div class="panel-body">
+        <?php // Get user information about aliases
+        $user_get_alias_details = user_get_alias_details($username);
+        $user_domains[] = mailbox('get', 'mailbox_details', $username)['domain'];
+        $user_alias_domains = $user_get_alias_details['alias_domains'];
+        if (!empty($user_alias_domains)) {
+          $user_domains = array_merge($user_domains, $user_alias_domains);
+        }
+        ?>
+        <div class="row">
+          <div class="col-sm-4 col-md-3 col-xs-12 text-right text-xs-left"><i class="bi bi-pin-angle"></i> <?=$lang['user']['direct_aliases'];?>:
+            <p class="small"><?=$lang['user']['direct_aliases_desc'];?></p>
+          </div>
+          <div class="col-sm-8 col-md-9 col-xs-12">
+          <?php
+          if (empty($user_get_alias_details['direct_aliases'])) {
+            echo '<i class="bi bi-x-lg"></i>';
+          }
+          else {
+            foreach (array_filter($user_get_alias_details['direct_aliases']) as $direct_alias => $direct_alias_meta) {
+              (!empty($direct_alias_meta['public_comment'])) ?
+                printf('%s &mdash; <i class="bi bi-chat-left"></i> %s<br>', $direct_alias, $direct_alias_meta['public_comment']) :
+                printf('%s<br>', $direct_alias);
+            }
+          }
+          ?>
+          </div>
+        </div>
+        <br>
+        <div class="row">
+          <div class="col-sm-4 col-md-3 col-xs-12 text-right text-xs-left"><i class="bi bi-share"></i> <?=$lang['user']['shared_aliases'];?>:
+            <p class="small"><?=$lang['user']['shared_aliases_desc'];?></p>
+          </div>
+          <div class="col-sm-8 col-md-9 col-xs-12">
+          <?php
+          if (empty($user_get_alias_details['shared_aliases'])) {
+            echo '<i class="bi bi-x-lg"></i>';
+          }
+          else {
+            foreach (array_filter($user_get_alias_details['shared_aliases']) as $shared_alias => $shared_alias_meta) {
+              (!empty($shared_alias_meta['public_comment'])) ?
+                printf('%s &mdash; <span class="bg-info">%s</span><br>', $shared_alias, $shared_alias_meta['public_comment']) :
+                printf('%s<br>', $shared_alias);
+            }
+          }
+          ?>
+          </div>
+        </div>
+        <hr>
+        <div class="row">
+          <div class="col-sm-4 col-md-3 col-xs-12 text-right text-xs-left space20"><?=$lang['user']['aliases_also_send_as'];?>:</div>
+          <div class="col-sm-8 col-md-9 col-xs-12">
+          <p><?=($user_get_alias_details['aliases_also_send_as'] == '*') ? $lang['user']['sender_acl_disabled'] : ((empty($user_get_alias_details['aliases_also_send_as'])) ? '<i class="bi bi-x-lg"></i>' : $user_get_alias_details['aliases_also_send_as']);?></p>
+          </div>
+        </div>
+        <div class="row">
+          <div class="col-sm-4 col-md-3 col-xs-12 text-right text-xs-left space20"><?=$lang['user']['aliases_send_as_all'];?>:</div>
+          <div class="col-sm-8 col-md-9 col-xs-12">
+          <p><?=(empty($user_get_alias_details['aliases_send_as_all'])) ? '<i class="bi bi-x-lg"></i>' : '' ;?></p>
+          </div>
+        </div>
+        <div class="row">
+          <div class="col-sm-4 col-md-3 col-xs-12 text-right text-xs-left space20"><?=$lang['user']['is_catch_all'];?>:</div>
+          <div class="col-sm-8 col-md-9 col-xs-12">
+          <p><?=(empty($user_get_alias_details['is_catch_all'])) ? '<i class="bi bi-x-lg"></i>' : '' ;?></p>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+
+  <div role="tabpanel" class="tab-pane" id="tab-user-settings">
+    <div class="panel panel-default">
+      <div class="panel-heading"><?=$lang['user']['mailbox_settings'];?></div>
+      <div class="panel-body">
+        <?php
+        // Show tagging options
+        $get_tagging_options = mailbox('get', 'delimiter_action', $username);
+        ?>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left text-xs-bold space20"><?=$lang['user']['tag_handling'];?>:</div>
+          <div class="col-sm-9 col-xs-12">
+          <div class="btn-group" data-acl="<?=$_SESSION['acl']['delimiter_action'];?>">
+            <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($get_tagging_options == "subfolder") ? 'active' : null; ?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="delimiter_action"
+              data-api-url='edit/delimiter_action'
+              data-api-attr='{"tagged_mail_handler":"subfolder"}'><?=$lang['user']['tag_in_subfolder'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($get_tagging_options == "subject") ? 'active' : null; ?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="delimiter_action"
+              data-api-url='edit/delimiter_action'
+              data-api-attr='{"tagged_mail_handler":"subject"}'><?=$lang['user']['tag_in_subject'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($get_tagging_options == "none") ? 'active' : null; ?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="delimiter_action"
+              data-api-url='edit/delimiter_action'
+              data-api-attr='{"tagged_mail_handler":"none"}'><?=$lang['user']['tag_in_none'];?></button>
+              <div class="clearfix visible-xs"></div>
+          </div>
+          <p class="help-block"><?=$lang['user']['tag_help_explain'];?></p>
+          <p class="help-block"><?=$lang['user']['tag_help_example'];?></p>
+          </div>
+        </div>
+        <?php
+        // Show TLS policy options
+        $get_tls_policy = mailbox('get', 'tls_policy', $username);
+        ?>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left text-xs-bold space20"><?=$lang['user']['tls_policy'];?>:</div>
+          <div class="col-sm-9 col-xs-12">
+          <div class="btn-group" data-acl="<?=$_SESSION['acl']['tls_policy'];?>">
+            <button type="button" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($get_tls_policy['tls_enforce_in'] == "1") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="tls_policy"
+              data-api-url='edit/tls_policy'
+              data-api-attr='{"tls_enforce_in":<?=($get_tls_policy['tls_enforce_in'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_in'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($get_tls_policy['tls_enforce_out'] == "1") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="tls_policy"
+              data-api-url='edit/tls_policy'
+              data-api-attr='{"tls_enforce_out":<?=($get_tls_policy['tls_enforce_out'] == "1") ? "0" : "1";?>}'><?=$lang['user']['tls_enforce_out'];?></button>
+              <div class="clearfix visible-xs"></div>
+          </div>
+          <p class="help-block"><?=$lang['user']['tls_policy_warning'];?></p>
+          </div>
+        </div>
+        <?php
+        // Show quarantine_notification options
+        $quarantine_notification = mailbox('get', 'quarantine_notification', $username);
+        $quarantine_category = mailbox('get', 'quarantine_category', $username);
+        ?>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left text-xs-bold space20"><?=$lang['user']['quarantine_notification'];?>:</div>
+          <div class="col-sm-9 col-xs-12">
+          <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_notification'];?>">
+            <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "never") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="quarantine_notification"
+              data-api-url='edit/quarantine_notification'
+              data-api-attr='{"quarantine_notification":"never"}'><?=$lang['user']['never'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "hourly") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="quarantine_notification"
+              data-api-url='edit/quarantine_notification'
+              data-api-attr='{"quarantine_notification":"hourly"}'><?=$lang['user']['hourly'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "daily") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="quarantine_notification"
+              data-api-url='edit/quarantine_notification'
+              data-api-attr='{"quarantine_notification":"daily"}'><?=$lang['user']['daily'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-quart visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_notification == "weekly") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="quarantine_notification"
+              data-api-url='edit/quarantine_notification'
+              data-api-attr='{"quarantine_notification":"weekly"}'><?=$lang['user']['weekly'];?></button>
+              <div class="clearfix visible-xs"></div>
+          </div>
+          <p class="help-block"><?=$lang['user']['quarantine_notification_info'];?></p>
+          </div>
+        </div>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left text-xs-bold space20"><?=$lang['user']['quarantine_category'];?>:</div>
+          <div class="col-sm-9 col-xs-12">
+          <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine_category'];?>">
+            <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_category == "reject") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="quarantine_category"
+              data-api-url='edit/quarantine_category'
+              data-api-attr='{"quarantine_category":"reject"}'><?=$lang['user']['q_reject'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_category == "add_header") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="quarantine_category"
+              data-api-url='edit/quarantine_category'
+              data-api-attr='{"quarantine_category":"add_header"}'><?=$lang['user']['q_add_header'];?></button>
+            <button type="button" class="btn btn-sm btn-xs-third visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default <?=($quarantine_category == "all") ? "active" : null;?>"
+              data-action="edit_selected"
+              data-item="<?= htmlentities($username); ?>"
+              data-id="quarantine_category"
+              data-api-url='edit/quarantine_category'
+              data-api-attr='{"quarantine_category":"all"}'><?=$lang['user']['q_all'];?></button>
+              <div class="clearfix visible-xs"></div>
+          </div>
+          <p class="help-block"><?=$lang['user']['quarantine_category_info'];?></p>
+          </div>
+        </div>
+        <?php if (getenv('SKIP_SOGO') != "y") { ?>
+        <hr>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left text-xs-bold space20"><?=$lang['user']['eas_reset'];?>:</div>
+          <div class="col-sm-9 col-xs-12">
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-acl="<?=$_SESSION['acl']['eas_reset'];?>" data-action="delete_selected" data-text="<?=$lang['user']['eas_reset'];?>?" data-item="<?= htmlentities($username); ?>" data-id="eas_cache" data-api-url='delete/eas_cache' href="#"><?=$lang['user']['eas_reset_now'];?></button>
+          <p class="help-block"><?=$lang['user']['eas_reset_help'];?></p>
+          </div>
+        </div>
+        <div class="row">
+          <div class="col-sm-3 col-xs-12 text-right text-xs-left text-xs-bold space20"><?=$lang['user']['sogo_profile_reset'];?>:</div>
+          <div class="col-sm-9 col-xs-12">
+          <button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-acl="<?=$_SESSION['acl']['sogo_profile_reset'];?>" data-action="delete_selected" data-text="<?=$lang['user']['sogo_profile_reset'];?>?" data-item="<?= htmlentities($username); ?>" data-id="sogo_profile" data-api-url='delete/sogo_profile' href="#"><?=$lang['user']['sogo_profile_reset_now'];?></button>
+          <p class="help-block"><?=$lang['user']['sogo_profile_reset_help'];?></p>
+          </div>
+        </div>
+        <?php } ?>
+      </div>
+    </div>
+  </div>
+
+	<div role="tabpanel" class="tab-pane" id="SpamAliases">
+    <div class="row">
+      <div class="col-md-12 col-sm-12 col-xs-12">
+        <div class="table-responsive">
+          <table class="table table-striped" id="tla_table"></table>
+        </div>
+      </div>
+		</div>
+    <div class="mass-actions-user">
+      <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_alias'];?>">
+        <div class="btn-group">
+          <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="tla" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+          <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"1"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['hour'];?></a></li>
+            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"24"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['day'];?></a></li>
+            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"168"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['week'];?></a></li>
+            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"744"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['month'];?></a></li>
+            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"8760"}' href="#"><?=$lang['user']['expire_in'];?> 1 <?=$lang['user']['year'];?></a></li>
+            <li><a data-action="edit_selected" data-id="tla" data-api-url='edit/time_limited_alias' data-api-attr='{"validity":"87600"}' href="#"><?=$lang['user']['expire_in'];?> 10 <?=$lang['user']['years'];?></a></li>
+            <li role="separator" class="divider"></li>
+            <li><a data-action="delete_selected" data-id="tla" data-api-url='delete/time_limited_alias' href="#"><?=$lang['mailbox']['remove'];?></a></li>
+          </ul>
+          <div class="clearfix visible-xs-block"></div>
+        </div>
+        <div class="btn-group">
+          <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success dropdown-toggle" data-toggle="dropdown" href="#"><i class="bi bi-plus-lg"></i> <?=$lang['user']['alias_create_random'];?>, 1 <?=$lang['user']['year'];?> <span class="caret"></span></a>
+          <ul class="dropdown-menu">
+          <?php
+          foreach($user_domains as $domain) {
+          ?>
+            <li>
+              <a data-action="add_item" data-api-url='add/time_limited_alias' data-api-attr='{"domain":"<?=$domain;?>"}' href="#">
+                @ <?=$domain;?>
+              </a>
+            </li>
+          <?php
+          }
+          ?>
+          </ul>
+        </div>
+      </div>
+    </div>
+	</div>
+
+	<div role="tabpanel" class="tab-pane" id="Spamfilter">
+    <h4><?=$lang['user']['spamfilter_behavior'];?></h4>
+    <div class="row">
+      <div class="col-sm-12">
+        <form class="form-horizontal" role="form" data-id="spam_score" method="post">
+          <div class="form-group">
+            <div class="col-lg-8 col-sm-12">
+              <div id="spam_score" data-provide="slider" data-acl="<?=$_SESSION['acl']['spam_score'];?>"></div>
+              <input id="spam_score_value" name="spam_score" type="hidden" value="<?=mailbox('get', 'spam_score', $username);?>">
+              <ul class="list-group list-group-flush">
+                <li class="list-group-item"><span class="label label-ham spam-ham-score"></span> <?=$lang['user']['spamfilter_green'];?></li>
+                <li class="list-group-item"><span class="label label-spam spam-spam-score"></span> <?=$lang['user']['spamfilter_yellow'];?></li>
+                <li class="list-group-item"><span class="label label-reject spam-reject-score"></span> <?=$lang['user']['spamfilter_red'];?></li>
+              </ul>
+            </div>
+          </div>
+          <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_score'];?>">
+            <a type="button" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected"
+            data-item="<?= htmlentities($username); ?>"
+            data-id="spam_score"
+            data-api-url='edit/spam-score'
+            data-api-attr='{}'><i class="bi bi-save"></i> <?=$lang['user']['save_changes'];?></a>
+            <a type="button" class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected"
+            data-item="<?= htmlentities($username); ?>"
+            data-id="spam_score_reset"
+            data-api-url='edit/spam-score'
+            data-api-attr='{"spam_score":"default"}'><?=$lang['user']['spam_score_reset'];?></a>
+          </div>
+        </form>
+      </div>
+    </div>
+		<hr>
+		<div class="row">
+			<div class="col-sm-6">
+				<h4><?=$lang['user']['spamfilter_wl'];?></h4>
+        <p><?=$lang['user']['spamfilter_wl_desc'];?></p>
+        <form class="form-inline space20" data-id="add_wl_policy_mailbox">
+          <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+            <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
+            <span class="input-group-btn">
+              <button class="btn btn-default" data-action="add_item" data-id="add_wl_policy_mailbox" data-api-url='add/mailbox-policy' data-api-attr='{"username":<?= json_encode($username); ?>,"object_list":"wl"}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['user']['spamfilter_table_add'];?></button>
+            </span>
+          </div>
+        </form>
+        <div class="table-responsive">
+          <table class="table table-striped table-condensed" id="wl_policy_mailbox_table"></table>
+        </div>
+        <div class="mass-actions-user">
+          <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="policy_wl_mailbox" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger" data-action="delete_selected" data-id="policy_wl_mailbox" data-api-url='delete/mailbox-policy' href="#"><?=$lang['mailbox']['remove'];?></a>
+            <div class="clearfix visible-xs-block"></div>
+          </div>
+        </div>
+      </div>
+			<div class="col-sm-6">
+				<h4><?=$lang['user']['spamfilter_bl'];?></h4>
+        <p><?=$lang['user']['spamfilter_bl_desc'];?></p>
+        <form class="form-inline space20" data-id="add_bl_policy_mailbox">
+          <div class="input-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+            <input type="text" class="form-control" name="object_from" placeholder="*@example.org" required>
+            <span class="input-group-btn">
+              <button class="btn btn-default" data-action="add_item" data-id="add_bl_policy_mailbox" data-api-url='add/mailbox-policy' data-api-attr='{"username":<?= json_encode($username); ?>,"object_list":"bl"}' href="#"><i class="bi bi-plus-lg"></i> <?=$lang['user']['spamfilter_table_add'];?></button>
+            </span>
+          </div>
+        </form>
+        <div class="table-responsive">
+          <table class="table table-striped table-condensed" id="bl_policy_mailbox_table"></table>
+        </div>
+        <div class="mass-actions-user">
+          <div class="btn-group" data-acl="<?=$_SESSION['acl']['spam_policy'];?>">
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="policy_bl_mailbox" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+            <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger" data-action="delete_selected" data-id="policy_bl_mailbox" data-api-url='delete/mailbox-policy' href="#"><?=$lang['mailbox']['remove'];?></a>
+            <div class="clearfix visible-xs-block"></div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+
+	<div role="tabpanel" class="tab-pane" id="Syncjobs">
+		<div class="table-responsive">
+      <table class="table table-striped" id="sync_job_table"></table>
+		</div>
+    <div class="mass-actions-user">
+      <div class="btn-group" data-acl="<?=$_SESSION['acl']['syncjobs'];?>">
+	    <div class="btn-group">
+        <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="syncjob" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+        <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+        <ul class="dropdown-menu">
+          <li><a data-action="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
+          <li><a data-action="edit_selected" data-id="syncjob" data-api-url='edit/syncjob' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
+          <li role="separator" class="divider"></li>
+          <li><a data-action="delete_selected" data-id="syncjob" data-api-url='delete/syncjob' href="#"><?=$lang['mailbox']['remove'];?></a></li>
+        </ul>
+        <div class="clearfix visible-xs"></div>
+	    </div>
+	    <div class="btn-group">
+        <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addSyncJobModal"><i class="bi bi-plus-lg"></i> <?=$lang['user']['create_syncjob'];?></a>
+	    </div>
+      </div>
+    </div>
+  </div>
+
+	<div role="tabpanel" class="tab-pane" id="AppPasswds">
+	    <p><?=$lang['user']['app_hint'];?></p>
+		<div class="table-responsive">
+	      <table class="table table-striped" id="app_passwd_table"></table>
+		</div>
+	    <div class="mass-actions-user">
+	      <div class="btn-group" data-acl="<?=$_SESSION['acl']['app_passwds'];?>">
+		    <div class="btn-group">
+	          <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="apppasswd" href="#"><i class="bi bi-check-all"></i> <?=$lang['mailbox']['toggle_all'];?></a>
+	          <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['mailbox']['quick_actions'];?> <span class="caret"></span></a>
+	          <ul class="dropdown-menu">
+	            <li><a data-action="edit_selected" data-id="apppasswd" data-api-url='edit/app-passwd' data-api-attr='{"active":"1"}' href="#"><?=$lang['mailbox']['activate'];?></a></li>
+	            <li><a data-action="edit_selected" data-id="apppasswd" data-api-url='edit/app-passwd' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
+	            <li role="separator" class="divider"></li>
+	            <li><a data-action="delete_selected" data-id="apppasswd" data-api-url='delete/app-passwd' href="#"><?=$lang['mailbox']['remove'];?></a></li>
+	          </ul>
+	          <div class="clearfix visible-xs"></div>
+		    </div>
+		    <div class="btn-group">
+	          <a class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" href="#" data-toggle="modal" data-target="#addAppPasswdModal"><i class="bi bi-plus-lg"></i> <?=$lang['user']['create_app_passwd'];?></a>
+		    </div>
+	      </div>
+	    </div>
+	</div>
+
+	<div role="tabpanel" class="tab-pane" id="Pushover">
+    <form data-id="pushover" class="form well" method="post">
+      <input type="hidden" value="0" name="evaluate_x_prio">
+      <input type="hidden" value="0" name="only_x_prio">
+      <input type="hidden" value="0" name="active">
+      <div class="row">
+        <div class="col-sm-1">
+          <p class="help-block"><a href="https://pushover.net" target="_blank"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAACglBMVEUAAAAAAAEAAAAilecFGigAAAAAAAAAAAAAAAANj+c3n+Ypm+oeYI4KWI4MieAtkdQbleoJcLcjmeswmN4Rit4KgdMKUYQJKUAQSnILL0kMNlMSTngimOoNPF0hlOQBBgkNOlkRS3MHIjUhk+IPf8wKLUYsjM0AAAASTngAAAAAAAAPfckbdLIbdrYUWIgegsgce70knfEAAAAknfENOVkGHi8YaaIjnvEdgMUhkuAQSG8aca0hleQUh9YLjOM4nOEMgtMcbaYWa6YemO02ltkKhNktgLodYZEPXJEyi8kKesktfLUzj84cWYMiluckZ5YJXJYeW4Y0k9YKfs4yjs0pc6YHZaUviskLfMkqmugak+cqkNcViNcqeK4Iaq4XRmYGPmYMKDsFJTstgr0LdL0ti84CCQ4BCQ4Qgc8rlt8XjN8shcQsi8wZSGgEP2cRMEUDKkUAAAD///8dmvEamfExo/EXmPEWl/ERlvElnvEsofEjnfETl/Enn/Ezo/E4pvEvovEfm/E1pPEzpPEvofEOlfEpoPEamPEQlfEYmfE6p/EgnPEVlvEroPE3pfE2pfENk/Ern/E3pPEcmfEfmvEnnvBlufT6/P0soPAknPDd7/zs9vzo9PxBqfItofAqoPD9/f3B4/q43/mx2/l/xfZ6w/Vxv/VtvfVgt/RXtPNTsfNEq/L3+/31+v3a7fvR6vvH5fqs2vmc0/jx+P3v9/3h8fzW7PvV7PvL5/q13fmo1/mh1PiY0fiNy/aHyfZ2wfVou/Vdt/RPsPM3oeoQkuowmeAgjdgcgMQbeLrw9/3k8vy74Pm63/mX0PdYtfNNr/Ikm+4wnOchkuAVjOAfdrMVcrOdoJikAAAAcnRSTlMAIQ8IzzweFwf+/fvw8P79+/Xt7e3p6eji4d7U08y8qZyTiIWDgn53bWxqaWBKQ0JBOjUwMCkoJCEfHBkT/vz8/Pv7+vr69/b29PTy7ezm5ubm5N7e29vQ0M/Pv7+4uLW1pqaWloWDg3x7e21mUVFFRUXdPracAAAEbElEQVRIx4WUZbvaQBCFF+ru7u7u7u7u7t4mvVwSoBC0JIUCLRQolLq7u7vr/+nMLkmQyvlwyfPcd86e3ZldUqwyQ/p329J+XfutPQYOLUP+q55rFtQJRvY79+xxlZTUWbKpz7/xrrMr2+3BoNPpdLn2lJQ4HEeqLOr1d7z7XNkesQed4A848G63Oy4Gmg/6Mz542QvZbqe8C/Ig73CLYiYTrtLmT3zfqbIcAR7y4wIqH/B6M9Fo0+Ldb6sM9ph/v4ozPuz12mxRofaAAr7jCNkuoz/jNf9AGHibkBCm51fsGKvxsAGWx4H+jBcEi6V2birDpCL/9Klrd1KHbiSvPWP8V0tTnTfO03iXi57P6WNHOVUf44IFdFDRz6pV5fw8Zy5z3JVH5+R48OwxqDiGvKJIY9R+9JsCuJ5HPg74OVEMpz+nbdEPUHEWeEk6IDUnTC1l5r+f8uffc0cfxc8fS17kLso24SwUPFDA/6DE82xKDOPliJ7n/GGOOyWK9zD9CdjvOfg9Dv6AH+AX04LW9gj2i8W/APx1UbxwCAu+wPmcpgUKL/EHdvtq4uwaZwCuznPJVY5LHhED15G/isd5Hz4eKui/e/du02YoKFeD5mHzHIN/nxEDe25gQQwKorAid04CfyzwL4XutXvl1Pt1guMOwwKPkU8mYIFT8JHK+vv8prpDScUVL+j8s3lOctw1GIhbWHAS+HgKPk7xPM/4UtNAYmzizJkf6NgTb/gM8jePQLsewMdthS3g95tMpT1IhVm6v1s8fYmLeb13Odwp8Fh5KY048y/d14WUrwrb1e/X/rNp73nkD8kWS+wi/MZ4XuetG4mhKubJm3/WNEvi8SHwB56nPKjUam0LBdp9ARwupFemTYudvgN/L1+A/Ko/LGBuS8pPy+YR1fuCTWNKnUyoeUyYx2o2dyEVGmr5xTD42xzvkD16+Pb9WIIH6fmt1r3mbsTY7Bvw+n23naT8BUWh86bz6G/e259UXPUK3gfAxQDlo7Rpx3Geqb2e3wp83SGEdKpB7zvwYbzvT2n65xLwbH6YP+M9C8vA8E1wxLU8gkCbdhXGUyrMgwVrcbzLHonr78lzDvWM3q/C/HtDlXoSUIe3YkblhRPIX4E8Oo/9siLv8dRjV7SBlkdgTXvKS7nzsA/9AfeEuhKq9T8zWIDv1Sd6ETAP4D6/H/1V+1BojvruNa4SZXz4JhY84dV5MOF5agUvu5OsOo+KRpG30KalEnoeDccFlutPZYs38D5n3zcpr1/0fBhfb3DOY1z2tSAgLxWezz6zuoHhfUmOejf6blHQH/sFuJYfcMZX307ytKvRa3ifoV/586P5j+tICtS77BuJxzxYAPZsntX8k3eSIhlajK4p8b7iefCEKs03kD/I2LnxL9ovH+43y4fAv1YrI/mzDBsavAX/UppfzVOrZT/ydxk6lJ047MfLfVbcb6hS9ZEzWxekKQ5WrtPqZg3rV6tWrX6Tle3KQZj/q6KxQnmDoXwFY0VSrN9e8FRXBCTAvwAAAABJRU5ErkJggg==" class="img img-fluid"></a></p>
+        </div>
+        <div class="col-sm-10">
+              <p class="help-block"><?=sprintf($lang['user']['pushover_info'], $username);?></p>
+              <p class="help-block"><?=$lang['user']['pushover_vars'];?>: <code>{SUBJECT}</code>, <code>{SENDER}</code></p>
+              <div class="form-group">
+                <div class="row">
+                  <div class="col-sm-6">
+                    <div class="form-group">
+                      <label for="token">API Token/Key (Application)</label>
+                      <input type="text" class="form-control" name="token" maxlength="30" value="<?=$pushover_data['token'];?>" required>
+                    </div>
+                  </div>
+                  <div class="col-sm-6">
+                    <div class="form-group">
+                      <label for="key">User/Group Key</label>
+                      <input type="text" class="form-control" name="key" maxlength="30" value="<?=$pushover_data['key'];?>" required>
+                    </div>
+                  </div>
+                  <div class="col-sm-6">
+                    <div class="form-group">
+                      <label for="title"><?=$lang['user']['pushover_title'];?></label>
+                      <input type="text" class="form-control" name="title" value="<?=$pushover_data['title'];?>" placeholder="Mail">
+                    </div>
+                  </div>
+                  <div class="col-sm-6">
+                    <div class="form-group">
+                      <label for="text"><?=$lang['user']['pushover_text'];?></label>
+                      <input type="text" class="form-control" name="text" value="<?=$pushover_data['text'];?>" placeholder="You've got mail 📧">
+                    </div>
+                  </div>
+                  <div class="col-sm-12">
+                    <div class="form-group">
+                      <label for="text"><?=$lang['user']['pushover_sender_array'];?></label>
+                      <input type="text" class="form-control" name="senders" value="<?=$pushover_data['senders'];?>" placeholder="sender1@example.com, sender2@example.com">
+                    </div>
+                  </div>
+                  <div class="col-sm-12">
+                    <div class="checkbox">
+                    <label><input type="checkbox" value="1" name="active" <?=($pushover_data['active']=="1") ? "checked" : null;?>> <?=$lang['user']['active'];?></label>
+                    </div>
+                  </div>
+                  <div class="col-sm-12">
+                    <legend style="cursor:pointer;margin-top:10px" data-target="#po_advanced" unselectable="on" data-toggle="collapse">
+                      <i style="font-size:10pt;" class="bi bi-plus-square"></i> <?=$lang['user']['advanced_settings'];?>
+                    </legend>
+                  </div>
+                  <div class="col-sm-12">
+                    <div id="po_advanced" class="collapse">
+                      <div class="form-group">
+                        <label for="text"><?=$lang['user']['pushover_sender_regex'];?></label>
+                        <input type="text" class="form-control" name="senders_regex" value="<?=$pushover_data['senders_regex'];?>" placeholder="/(.*@example\.org$|^foo@example\.com$)/i" regex="true">
+                        <div class="checkbox">
+                          <label><input type="checkbox" value="1" name="evaluate_x_prio" <?=($pushover_data['attributes']['evaluate_x_prio']=="1") ? "checked" : null;?>> <?=$lang['user']['pushover_evaluate_x_prio'];?></label>
+                        </div>
+                        <div class="checkbox">
+                          <label><input type="checkbox" value="1" name="only_x_prio" <?=($pushover_data['attributes']['only_x_prio']=="1") ? "checked" : null;?>> <?=$lang['user']['pushover_only_x_prio'];?></label>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            <div class="btn-group mass-actions-user" data-acl="<?=$_SESSION['acl']['pushover'];?>">
+              <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="pushover" data-item="<?=htmlspecialchars($username);?>" data-api-url='edit/pushover' data-api-attr='{}' href="#"><?=$lang['user']['save'];?></a>
+              <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" data-action="edit_selected" data-id="pushover-test" data-item="<?=htmlspecialchars($username);?>" data-api-url='edit/pushover-test' data-api-attr='{}' href="#"><i class="bi bi-check-all"></i> <?=$lang['user']['pushover_verify'];?></a>
+              <div class="clearfix visible-xs"></div>
+              <a id="pushover_delete" class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-danger" data-action="edit_selected" data-id="pushover-delete" data-item="<?=htmlspecialchars($username);?>" data-api-url='edit/pushover' data-api-attr='{"delete":"true"}' href="#"><i class="bi bi-trash"></i> <?=$lang['user']['remove'];?></a>
+            </div>
+          </div>
+        </div>
+      </div>
+    </form>
+  </div>
+</div>
+</div><!-- /container -->
+<div style="margin-bottom:200px;"></div>
+<?php
+}
+if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] != 'admin') {
+require_once $_SERVER['DOCUMENT_ROOT'] . '/modals/user.php';
+?>
+<script type='text/javascript'>
+<?php
+$lang_user = json_encode($lang['user']);
+echo "var lang = " . $lang_user . ";\n";
+echo "var user_spam_score = [" . mailbox('get', 'spam_score', $username) . "];\n";
+echo "var acl = '" . json_encode($_SESSION['acl']) . "';\n";
+echo "var csrf_token = '" . $_SESSION['CSRF']['TOKEN'] . "';\n";
+echo "var mailcow_cc_username = '" . $_SESSION['mailcow_cc_username'] . "';\n";
+echo "var pagination_size = '" . $PAGINATION_SIZE . "';\n";
+?>
+</script>
+<?php
+$js_minifier->add('/web/js/site/user.js');
+$js_minifier->add('/web/js/site/pwgen.js');
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';
+}
+else {
+	header('Location: /');
+	exit();
+}
+?>
diff --git a/mailcow/src/mailcow-dockerized/docker-compose.yml b/mailcow/src/mailcow-dockerized/docker-compose.yml
index 2ec3fa0..74cec10 100644
--- a/mailcow/src/mailcow-dockerized/docker-compose.yml
+++ b/mailcow/src/mailcow-dockerized/docker-compose.yml
@@ -2,7 +2,7 @@
 services:
 
     unbound-mailcow:
-      image: mailcow/unbound:1.12
+      image: mailcow/unbound:1.13
       environment:
         - TZ=${TZ}
       volumes:
@@ -17,7 +17,7 @@
             - unbound
 
     mysql-mailcow:
-      image: mariadb:10.4
+      image: mariadb:10.5
       depends_on:
         - unbound-mailcow
       stop_grace_period: 45s
@@ -41,7 +41,7 @@
             - mysql
 
     redis-mailcow:
-      image: redis:5-alpine
+      image: redis:6-alpine
       volumes:
         - redis-vol-1:/data/:Z
       restart: always
@@ -49,6 +49,8 @@
         - "${REDIS_PORT:-127.0.0.1:7654}:6379"
       environment:
         - TZ=${TZ}
+      sysctls:
+        - net.core.somaxconn=4096
       networks:
         mailcow-network:
           ipv4_address: ${IPV4_NETWORK:-172.22.1}.249
@@ -56,7 +58,7 @@
             - redis
 
     clamd-mailcow:
-      image: mailcow/clamd:1.38
+      image: mailcow/clamd:1.40
       restart: always
       dns:
         - ${IPV4_NETWORK:-172.22.1}.254
@@ -71,7 +73,7 @@
             - clamd
 
     rspamd-mailcow:
-      image: mailcow/rspamd:1.75
+      image: mailcow/rspamd:1.77
       stop_grace_period: 30s
       depends_on:
         - dovecot-mailcow
@@ -101,13 +103,13 @@
             - rspamd
 
     php-fpm-mailcow:
-      image: mailcow/phpfpm:1.69
+      image: mailcow/phpfpm:1.76
       command: "php-fpm -d date.timezone=${TZ} -d expose_php=0"
       depends_on:
         - redis-mailcow
       volumes:
         - ./data/hooks/phpfpm:/hooks:Z
-        - ./data/web:/web:rw,z
+        - ./data/web:/web:z
         - ./data/conf/rspamd/dynmaps:/dynmaps:ro,z
         - ./data/conf/rspamd/custom/:/rspamd_custom_maps:z
         - rspamd-vol-1:/var/lib/rspamd:z
@@ -122,6 +124,7 @@
         - ./data/conf/dovecot/global_sieve_before:/global_sieve/before:z
         - ./data/conf/dovecot/global_sieve_after:/global_sieve/after:z
         - ./data/assets/templates:/tpls:z
+        - ./data/conf/nginx/:/etc/nginx/conf.d/:z
       dns:
         - ${IPV4_NETWORK:-172.22.1}.254
       environment:
@@ -160,7 +163,7 @@
             - phpfpm
 
     sogo-mailcow:
-      image: mailcow/sogo:1.93
+      image: mailcow/sogo:1.101
       environment:
         - DBNAME=${DBNAME}
         - DBUSER=${DBUSER}
@@ -180,12 +183,25 @@
       dns:
         - ${IPV4_NETWORK:-172.22.1}.254
       volumes:
+        - ./data/hooks/sogo:/hooks:Z
         - ./data/conf/sogo/:/etc/sogo/:z
         - ./data/web/inc/init_db.inc.php:/init_db.inc.php:Z
+        - ./data/conf/sogo/custom-favicon.ico:/usr/lib/GNUstep/SOGo/WebServerResources/img/sogo.ico:z
+        - ./data/conf/sogo/custom-theme.js:/usr/lib/GNUstep/SOGo/WebServerResources/js/theme.js:z
         - ./data/conf/sogo/custom-sogo.js:/usr/lib/GNUstep/SOGo/WebServerResources/js/custom-sogo.js:z
         - mysql-socket-vol-1:/var/run/mysqld/:z
         - sogo-web-vol-1:/sogo_web:z
         - sogo-userdata-backup-vol-1:/sogo_backup:Z
+      labels:
+        ofelia.enabled: "true"
+        ofelia.job-exec.sogo_sessions.schedule: "@every 1m"
+        ofelia.job-exec.sogo_sessions.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-tool expire-sessions $${SOGO_EXPIRE_SESSION} || exit 0\""
+        ofelia.job-exec.sogo_ealarms.schedule: "@every 1m"
+        ofelia.job-exec.sogo_ealarms.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-ealarms-notify -p /etc/sogo/sieve.creds || exit 0\""
+        ofelia.job-exec.sogo_eautoreply.schedule: "@every 24h"
+        ofelia.job-exec.sogo_eautoreply.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds || exit 0\""
+        ofelia.job-exec.sogo_backup.schedule: "@every 24h"
+        ofelia.job-exec.sogo_backup.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu sogo /usr/sbin/sogo-tool backup /sogo_backup ALL || exit 0\""
       restart: always
       networks:
         mailcow-network:
@@ -194,7 +210,7 @@
             - sogo
 
     dovecot-mailcow:
-      image: mailcow/dovecot:1.139
+      image: mailcow/dovecot:1.155
       depends_on:
         - mysql-mailcow
       dns:
@@ -243,6 +259,25 @@
         - "${SIEVE_PORT:-4190}:4190"
       restart: always
       tty: true
+      labels:
+        ofelia.enabled: "true"
+        ofelia.job-exec.dovecot_imapsync_runner.schedule: "@every 1m"
+        ofelia.job-exec.dovecot_imapsync_runner.no-overlap: "true"
+        ofelia.job-exec.dovecot_imapsync_runner.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu nobody /usr/local/bin/imapsync_runner.pl || exit 0\""
+        ofelia.job-exec.dovecot_trim_logs.schedule: "@every 1m"
+        ofelia.job-exec.dovecot_trim_logs.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu vmail /usr/local/bin/trim_logs.sh || exit 0\""
+        ofelia.job-exec.dovecot_quarantine.schedule: "@every 20m"
+        ofelia.job-exec.dovecot_quarantine.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu vmail /usr/local/bin/quarantine_notify.py || exit 0\""
+        ofelia.job-exec.dovecot_clean_q_aged.schedule: "@every 24h"
+        ofelia.job-exec.dovecot_clean_q_aged.command: "/bin/bash -c \"[[ $${MASTER} == y ]] && /usr/local/bin/gosu vmail /usr/local/bin/clean_q_aged.sh || exit 0\""
+        ofelia.job-exec.dovecot_maildir_gc.schedule: "@every 30m"
+        ofelia.job-exec.dovecot_maildir_gc.command: "/bin/bash -c \"source /source_env.sh ; /usr/local/bin/gosu vmail /usr/local/bin/maildir_gc.sh\""
+        ofelia.job-exec.dovecot_sarules.schedule: "@every 24h"
+        ofelia.job-exec.dovecot_sarules.command: "/bin/bash -c \"/usr/local/bin/sa-rules.sh\""
+        ofelia.job-exec.dovecot_fts.schedule: "@every 24h"
+        ofelia.job-exec.dovecot_fts.command: "/usr/bin/curl http://solr:8983/solr/dovecot-fts/update?optimize=true"
+        ofelia.job-exec.dovecot_repl_health.schedule: "@every 5m"
+        ofelia.job-exec.dovecot_repl_health.command: "/bin/bash -c \"/usr/local/bin/gosu vmail /usr/local/bin/repl_health.sh\""
       ulimits:
         nproc: 65535
         nofile:
@@ -255,7 +290,7 @@
             - dovecot
 
     postfix-mailcow:
-      image: mailcow/postfix:1.58
+      image: mailcow/postfix:1.65
       depends_on:
         - mysql-mailcow
       volumes:
@@ -286,6 +321,7 @@
         - ${IPV4_NETWORK:-172.22.1}.254
       networks:
         mailcow-network:
+          ipv4_address: ${IPV4_NETWORK:-172.22.1}.253
           aliases:
             - postfix
 
@@ -309,9 +345,8 @@
         - ${IPV4_NETWORK:-172.22.1}.254
       command: /bin/sh -c "envsubst < /etc/nginx/conf.d/templates/listen_plain.template > /etc/nginx/conf.d/listen_plain.active &&
         envsubst < /etc/nginx/conf.d/templates/listen_ssl.template > /etc/nginx/conf.d/listen_ssl.active &&
-        envsubst < /etc/nginx/conf.d/templates/server_name.template > /etc/nginx/conf.d/server_name.active &&
         envsubst < /etc/nginx/conf.d/templates/sogo.template > /etc/nginx/conf.d/sogo.active &&
-        . /etc/nginx/conf.d/templates/sogo.auth_request.template.sh > /etc/nginx/conf.d/sogo_proxy_auth.active &&
+        . /etc/nginx/conf.d/templates/server_name.template.sh > /etc/nginx/conf.d/server_name.active &&
         . /etc/nginx/conf.d/templates/sites.template.sh > /etc/nginx/conf.d/sites.active &&
         . /etc/nginx/conf.d/templates/sogo_eas.template.sh > /etc/nginx/conf.d/sogo_eas.active &&
         nginx -qt &&
@@ -328,16 +363,17 @@
         - TZ=${TZ}
         - SKIP_SOGO=${SKIP_SOGO:-n}
         - ALLOW_ADMIN_EMAIL_LOGIN=${ALLOW_ADMIN_EMAIL_LOGIN:-n}
+        - ADDITIONAL_SERVER_NAMES=${ADDITIONAL_SERVER_NAMES:-}
       volumes:
         - ./data/web:/web:ro,z
         - ./data/conf/rspamd/dynmaps:/dynmaps:ro,z
         - ./data/assets/ssl/:/etc/ssl/mail/:ro,z
-        - ./data/conf/nginx/:/etc/nginx/conf.d/:rw,Z
+        - ./data/conf/nginx/:/etc/nginx/conf.d/:z
         - ./data/conf/rspamd/meta_exporter:/meta_exporter:ro,z
         - sogo-web-vol-1:/usr/lib/GNUstep/SOGo/:z
       ports:
-        - "${HTTPS_BIND:-0.0.0.0}:${HTTPS_PORT:-443}:${HTTPS_PORT:-443}"
-        - "${HTTP_BIND:-0.0.0.0}:${HTTP_PORT:-80}:${HTTP_PORT:-80}"
+        - "${HTTPS_BIND:-:}:${HTTPS_PORT:-443}:${HTTPS_PORT:-443}"
+        - "${HTTP_BIND:-:}:${HTTP_PORT:-80}:${HTTP_PORT:-80}"
       restart: always
       networks:
         mailcow-network:
@@ -347,11 +383,12 @@
     acme-mailcow:
       depends_on:
         - nginx-mailcow
-      image: mailcow/acme:1.76
+      image: mailcow/acme:1.79
       dns:
         - ${IPV4_NETWORK:-172.22.1}.254
       environment:
         - LOG_LINES=${LOG_LINES:-9999}
+        - ACME_CONTACT=${ACME_CONTACT:-}
         - ADDITIONAL_SAN=${ADDITIONAL_SAN}
         - MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME}
         - DBNAME=${DBNAME}
@@ -371,8 +408,8 @@
         - SNAT_TO_SOURCE=${SNAT_TO_SOURCE:-n}
         - SNAT6_TO_SOURCE=${SNAT6_TO_SOURCE:-n}
       volumes:
-        - ./data/web/.well-known/acme-challenge:/var/www/acme:rw,z
-        - ./data/assets/ssl:/var/lib/acme/:rw,z
+        - ./data/web/.well-known/acme-challenge:/var/www/acme:z
+        - ./data/assets/ssl:/var/lib/acme/:z
         - ./data/assets/ssl-example:/var/lib/ssl-example/:ro,Z
         - mysql-socket-vol-1:/var/run/mysqld/:z
       restart: always
@@ -382,7 +419,7 @@
             - acme
 
     netfilter-mailcow:
-      image: mailcow/netfilter:1.38
+      image: mailcow/netfilter:1.43
       stop_grace_period: 30s
       depends_on:
         - dovecot-mailcow
@@ -405,11 +442,13 @@
         - /lib/modules:/lib/modules:ro
 
     watchdog-mailcow:
-      image: mailcow/watchdog:1.86
+      image: mailcow/watchdog:1.92
       # Debug
       #command: /watchdog.sh
       dns:
         - ${IPV4_NETWORK:-172.22.1}.254
+      tmpfs:
+        - /tmp
       volumes:
         - rspamd-vol-1:/var/lib/rspamd:z
         - mysql-socket-vol-1:/var/run/mysqld/:z
@@ -427,6 +466,7 @@
         - USE_WATCHDOG=${USE_WATCHDOG:-n}
         - WATCHDOG_NOTIFY_EMAIL=${WATCHDOG_NOTIFY_EMAIL}
         - WATCHDOG_NOTIFY_BAN=${WATCHDOG_NOTIFY_BAN:-y}
+        - WATCHDOG_SUBJECT=${WATCHDOG_SUBJECT:-Watchdog ALERT}
         - WATCHDOG_EXTERNAL_CHECKS=${WATCHDOG_EXTERNAL_CHECKS:-n}
         - WATCHDOG_MYSQL_REPLICATION_CHECKS=${WATCHDOG_MYSQL_REPLICATION_CHECKS:-n}
         - MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME}
@@ -455,7 +495,6 @@
         - RATELIMIT_THRESHOLD=${RATELIMIT_THRESHOLD:-1}
         - FAIL2BAN_THRESHOLD=${FAIL2BAN_THRESHOLD:-1}
         - ACME_THRESHOLD=${ACME_THRESHOLD:-1}
-        - IPV6NAT_THRESHOLD=${IPV6NAT_THRESHOLD:-1}
         - RSPAMD_THRESHOLD=${RSPAMD_THRESHOLD:-5}
         - OLEFY_THRESHOLD=${OLEFY_THRESHOLD:-5}
         - MAILQ_THRESHOLD=${MAILQ_THRESHOLD:-20}
@@ -466,7 +505,7 @@
             - watchdog
 
     dockerapi-mailcow:
-      image: mailcow/dockerapi:1.37
+      image: mailcow/dockerapi:1.38
       security_opt:
         - label=disable
       restart: always
@@ -500,7 +539,7 @@
             - solr
 
     olefy-mailcow:
-      image: mailcow/olefy:1.5
+      image: mailcow/olefy:1.7
       restart: always
       environment:
         - TZ=${TZ}
@@ -517,6 +556,53 @@
           aliases:
             - olefy
 
+    ofelia-mailcow:
+      image: mcuadros/ofelia:latest
+      restart: always
+      command: daemon --docker
+        - TZ=${TZ}
+      depends_on:
+        - sogo-mailcow
+        - dovecot-mailcow
+      labels:
+        ofelia.enabled: "true"
+      volumes:
+        - /var/run/docker.sock:/var/run/docker.sock:ro
+      networks:
+        mailcow-network:
+          aliases:
+            - ofelia
+
+    ipv6nat-mailcow:
+      depends_on:
+        - unbound-mailcow
+        - mysql-mailcow
+        - redis-mailcow
+        - clamd-mailcow
+        - rspamd-mailcow
+        - php-fpm-mailcow
+        - sogo-mailcow
+        - dovecot-mailcow
+        - postfix-mailcow
+        - memcached-mailcow
+        - nginx-mailcow
+        - acme-mailcow
+        - netfilter-mailcow
+        - watchdog-mailcow
+        - dockerapi-mailcow
+        - solr-mailcow
+      environment:
+        - TZ=${TZ}
+      image: robbertkl/ipv6nat
+      security_opt:
+        - label=disable
+      restart: always
+      privileged: true
+      network_mode: "host"
+      volumes:
+        - /var/run/docker.sock:/var/run/docker.sock:ro
+        - /lib/modules:/lib/modules:ro
+
 networks:
   mailcow-network:
     driver: bridge
diff --git a/mailcow/src/mailcow-dockerized/generate_config.sh b/mailcow/src/mailcow-dockerized/generate_config.sh
index 16a040c..33823a7 100755
--- a/mailcow/src/mailcow-dockerized/generate_config.sh
+++ b/mailcow/src/mailcow-dockerized/generate_config.sh
@@ -30,7 +30,7 @@
 done
 
 if [ -f mailcow.conf ]; then
-  read -r -p "A config file exists and will be overwritten, are you sure you want to contine? [y/N] " response
+  read -r -p "A config file exists and will be overwritten, are you sure you want to continue? [y/N] " response
   case $response in
     [yY][eE][sS]|[yY])
       mv mailcow.conf mailcow.conf_backup
@@ -143,18 +143,21 @@
 # If you use a proxy within Docker, point it to the ports you set below.
 # Do _not_ use IP:PORT in HTTP(S)_BIND or HTTP(S)_PORT
 # IMPORTANT: Do not use port 8081, 9081 or 65510!
+# Example: HTTP_BIND=1.2.3.4
+# For IPv4 and IPv6 leave it empty: HTTP_BIND= & HTTPS_PORT=
+# For IPv6 see https://mailcow.github.io/mailcow-dockerized-docs/firststeps-ip_bindings/
 
 HTTP_PORT=80
-HTTP_BIND=0.0.0.0
+HTTP_BIND=
 
 HTTPS_PORT=443
-HTTPS_BIND=0.0.0.0
+HTTPS_BIND=
 
 # ------------------------------
 # Other bindings
 # ------------------------------
 # You should leave that alone
-# Format: 11.22.33.44:25 or 0.0.0.0:465 etc.
+# Format: 11.22.33.44:25 or 12.34.56.78:465 etc.
 
 SMTP_PORT=25
 SMTPS_PORT=465
@@ -209,6 +212,16 @@
 
 ADDITIONAL_SAN=
 
+# Additional server names for mailcow UI
+#
+# Specify alternative addresses for the mailcow UI to respond to
+# This is useful when you set mail.* as ADDITIONAL_SAN and want to make sure mail.maildomain.com will always point to the mailcow UI.
+# If the server name does not match a known site, Nginx decides by best-guess and may redirect users to the wrong web root.
+# You can understand this as server_name directive in Nginx.
+# Comma separated list without spaces! Example: ADDITIONAL_SERVER_NAMES=a.b.c,d.e.f
+
+ADDITIONAL_SERVER_NAMES=
+
 # Skip running ACME (acme-mailcow, Let's Encrypt certs) - y/n
 
 SKIP_LETS_ENCRYPT=n
@@ -264,6 +277,9 @@
 # Notify about banned IP (includes whois lookup)
 WATCHDOG_NOTIFY_BAN=n
 
+# Subject for watchdog mails. Defaults to "Watchdog ALERT" followed by the error message.
+#WATCHDOG_SUBJECT=
+
 # Checks if mailcow is an open relay. Requires a SAL. More checks will follow.
 # https://www.servercow.de/mailcow?lang=en
 # https://www.servercow.de/mailcow?lang=de
@@ -318,6 +334,13 @@
 # LEAVE EMPTY IF UNSURE
 DOVECOT_MASTER_PASS=
 
+# Let's Encrypt registration contact information
+# Optional: Leave empty for none
+# This value is only used on first order!
+# Setting it at a later point will require the following steps:
+# https://mailcow.github.io/mailcow-dockerized-docs/debug-reset-tls/
+ACME_CONTACT=
+
 EOF
 
 mkdir -p data/assets/ssl
diff --git a/mailcow/src/mailcow-dockerized/helper-scripts/backup_and_restore.sh b/mailcow/src/mailcow-dockerized/helper-scripts/backup_and_restore.sh
index 82002d7..189a660 100755
--- a/mailcow/src/mailcow-dockerized/helper-scripts/backup_and_restore.sh
+++ b/mailcow/src/mailcow-dockerized/helper-scripts/backup_and_restore.sh
@@ -86,32 +86,32 @@
     vmail|all)
       docker run --name mailcow-backup --rm \
         -v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_vmail-vol-1):/vmail:ro,z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_vmail-vol-1$):/vmail:ro,z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_vmail.tar.gz /vmail
       ;;&
     crypt|all)
       docker run --name mailcow-backup --rm \
         -v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_crypt-vol-1):/crypt:ro,z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_crypt-vol-1$):/crypt:ro,z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_crypt.tar.gz /crypt
       ;;&
     redis|all)
       docker exec $(docker ps -qf name=redis-mailcow) redis-cli save
       docker run --name mailcow-backup --rm \
         -v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_redis-vol-1):/redis:ro,z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_redis-vol-1$):/redis:ro,z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_redis.tar.gz /redis
       ;;&
     rspamd|all)
       docker run --name mailcow-backup --rm \
         -v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_rspamd-vol-1):/rspamd:ro,z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_rspamd-vol-1$):/rspamd:ro,z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_rspamd.tar.gz /rspamd
       ;;&
     postfix|all)
       docker run --name mailcow-backup --rm \
         -v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_postfix-vol-1):/postfix:ro,z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_postfix-vol-1$):/postfix:ro,z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar --warning='no-file-ignored' --use-compress-program="gzip --rsyncable" -Pcvpf /backup/backup_postfix.tar.gz /postfix
       ;;&
     mysql|all)
@@ -123,9 +123,9 @@
       else
         echo "Using SQL image ${SQLIMAGE}, starting..."
         docker run --name mailcow-backup --rm \
-          --network $(docker network ls -qf name=${CMPS_PRJ}_mailcow-network) \
-          -v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:ro,z \
-          --entrypoint= \
+          --network $(docker network ls -qf name=^${CMPS_PRJ}_mailcow-network$) \
+          -v $(docker volume ls -qf name=^${CMPS_PRJ}_mysql-vol-1$):/var/lib/mysql/:ro,z \
+          -t --entrypoint= \
           --sysctl net.ipv6.conf.all.disable_ipv6=1 \
           -v ${BACKUP_LOCATION}/mailcow-${DATE}:/backup:z \
           ${SQLIMAGE} /bin/sh -c "mariabackup --host mysql --user root --password ${DBROOT} --backup --rsync --target-dir=/backup_mariadb ; \
@@ -160,7 +160,7 @@
       docker stop $(docker ps -qf name=dovecot-mailcow)
       docker run -it --name mailcow-backup --rm \
         -v ${RESTORE_LOCATION}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_vmail-vol-1):/vmail:z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_vmail-vol-1$):/vmail:z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_vmail.tar.gz
       docker start $(docker ps -aqf name=dovecot-mailcow)
       echo
@@ -179,7 +179,7 @@
       docker stop $(docker ps -qf name=redis-mailcow)
       docker run -it --name mailcow-backup --rm \
         -v ${RESTORE_LOCATION}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_redis-vol-1):/redis:z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_redis-vol-1$):/redis:z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_redis.tar.gz
       docker start $(docker ps -aqf name=redis-mailcow)
       ;;
@@ -187,7 +187,7 @@
       docker stop $(docker ps -qf name=dovecot-mailcow)
       docker run -it --name mailcow-backup --rm \
         -v ${RESTORE_LOCATION}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_crypt-vol-1):/crypt:z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_crypt-vol-1$):/crypt:z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_crypt.tar.gz
       docker start $(docker ps -aqf name=dovecot-mailcow)
       ;;
@@ -195,7 +195,7 @@
       docker stop $(docker ps -qf name=rspamd-mailcow)
       docker run -it --name mailcow-backup --rm \
         -v ${RESTORE_LOCATION}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_rspamd-vol-1):/rspamd:z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_rspamd-vol-1$):/rspamd:z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_rspamd.tar.gz
       docker start $(docker ps -aqf name=rspamd-mailcow)
       ;;
@@ -203,7 +203,7 @@
       docker stop $(docker ps -qf name=postfix-mailcow)
       docker run -it --name mailcow-backup --rm \
         -v ${RESTORE_LOCATION}:/backup:z \
-        -v $(docker volume ls -qf name=${CMPS_PRJ}_postfix-vol-1):/postfix:z \
+        -v $(docker volume ls -qf name=^${CMPS_PRJ}_postfix-vol-1$):/postfix:z \
         ${DEBIAN_DOCKER_IMAGE} /bin/tar -Pxvzf /backup/backup_postfix.tar.gz
       docker start $(docker ps -aqf name=postfix-mailcow)
       ;;
@@ -231,14 +231,14 @@
         #docker stop $(docker ps -qf name=mysql-mailcow)
         if [[ -d "${RESTORE_LOCATION}/mysql" ]]; then
         docker run --name mailcow-backup --rm \
-          -v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:rw,z \
+          -v $(docker volume ls -qf name=^${CMPS_PRJ}_mysql-vol-1$):/var/lib/mysql/:rw,z \
           --entrypoint= \
           -v ${RESTORE_LOCATION}/mysql:/backup:z \
           ${SQLIMAGE} /bin/bash -c "shopt -s dotglob ; /bin/rm -rf /var/lib/mysql/* ; rsync -avh --usermap=root:mysql --groupmap=root:mysql /backup/ /var/lib/mysql/"
         elif [[ -f "${RESTORE_LOCATION}/backup_mysql.gz" ]]; then
         docker run \
           -it --name mailcow-backup --rm \
-          -v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/var/lib/mysql/:z \
+          -v $(docker volume ls -qf name=^${CMPS_PRJ}_mysql-vol-1$):/var/lib/mysql/:z \
           --entrypoint= \
           -u mysql \
           -v ${RESTORE_LOCATION}:/backup:z \
@@ -249,7 +249,7 @@
           mysql -uroot -e SHUTDOWN;"
         elif [[ -f "${RESTORE_LOCATION}/backup_mariadb.tar.gz" ]]; then
         docker run --name mailcow-backup --rm \
-          -v $(docker volume ls -qf name=${CMPS_PRJ}_mysql-vol-1):/backup_mariadb/:rw,z \
+          -v $(docker volume ls -qf name=^${CMPS_PRJ}_mysql-vol-1$):/backup_mariadb/:rw,z \
           --entrypoint= \
           -v ${RESTORE_LOCATION}:/backup:z \
           ${SQLIMAGE} /bin/bash -c "shopt -s dotglob ; \
diff --git a/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml b/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml
index a080fb3..99cd014 100644
--- a/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml
+++ b/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml
@@ -42,4 +42,3 @@
 
   olefy-mailcow:
     build: ./data/Dockerfiles/olefy
-
diff --git a/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml b/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml
index 74763bf..8b68783 100644
--- a/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml
+++ b/mailcow/src/mailcow-dockerized/helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml
@@ -42,3 +42,7 @@
     dockerapi-mailcow:
       dns:
         - my.resolvers.ip.addr
+
+    ejabberd-mailcow:
+      dns:
+        - my.resolvers.ip.addr
diff --git a/mailcow/src/mailcow-dockerized/helper-scripts/mailcow-reset-admin.sh b/mailcow/src/mailcow-dockerized/helper-scripts/mailcow-reset-admin.sh
index 4afd14c..ee95d3e 100755
--- a/mailcow/src/mailcow-dockerized/helper-scripts/mailcow-reset-admin.sh
+++ b/mailcow/src/mailcow-dockerized/helper-scripts/mailcow-reset-admin.sh
@@ -19,15 +19,17 @@
 response=${response,,}    # tolower
 if [[ "$response" =~ ^(yes|y)$ ]]; then
 	echo -e "\nWorking, please wait..."
+  random=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16})
+  password=$(docker exec -it $(docker ps -qf name=dovecot-mailcow) doveadm pw -s SSHA256 -p ${random} | tr -d '\r')
 	docker exec -it $(docker ps -qf name=mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM admin WHERE username='admin';"
   docker exec -it $(docker ps -qf name=mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM domain_admins WHERE username='admin';"
-	docker exec -it $(docker ps -qf name=mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "INSERT INTO admin (username, password, superadmin, active) VALUES ('admin', '{SSHA256}K8eVJ6YsZbQCfuJvSUbaQRLr0HPLz5rC9IAp0PAFl0tmNDBkMDc0NDAyOTAxN2Rk', 1, 1);"
+	docker exec -it $(docker ps -qf name=mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "INSERT INTO admin (username, password, superadmin, active) VALUES ('admin', '${password}', 1, 1);"
 	docker exec -it $(docker ps -qf name=mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM tfa WHERE username='admin';"
 	echo "
 Reset credentials:
 ---
 Username: admin
-Password: moohoo
+Password: ${random}
 TFA: none
 "
 else
diff --git a/mailcow/src/mailcow-dockerized/helper-scripts/nextcloud.sh b/mailcow/src/mailcow-dockerized/helper-scripts/nextcloud.sh
index 41434b7..94bc997 100755
--- a/mailcow/src/mailcow-dockerized/helper-scripts/nextcloud.sh
+++ b/mailcow/src/mailcow-dockerized/helper-scripts/nextcloud.sh
@@ -72,11 +72,11 @@
   if ! grep -q 'installed: true' <<<$(docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) bash -c "/web/nextcloud/occ --no-warnings status"); then
     echo "Nextcloud seems not to be installed."
     exit 1
-  elif ! grep -q 'version: 19\.' <<<$(docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) bash -c "/web/nextcloud/occ --no-warnings status"); then
+  elif ! grep -q 'version: 20\.' <<<$(docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) bash -c "/web/nextcloud/occ --no-warnings status"); then
     echo "Cannot upgrade to new major version, please update manually."
     exit 1
   else
-    curl -L# -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/latest-19.tar.bz2" || { echo "Failed to download Nextcloud archive."; exit 1; } \
+    curl -L# -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/latest-22.tar.bz2" || { echo "Failed to download Nextcloud archive."; exit 1; } \
       && tar -xjf nextcloud.tar.bz2 -C ./data/web/ \
       && rm nextcloud.tar.bz2 \
       && mkdir -p ./data/web/nextcloud/data \
@@ -97,7 +97,7 @@
 
   ADMIN_NC_PASS=$(</dev/urandom tr -dc A-Za-z0-9 | head -c 28)
 
-  curl -L# -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/latest-19.tar.bz2" || { echo "Failed to download Nextcloud archive."; exit 1; } \
+  curl -L# -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/latest-22.tar.bz2" || { echo "Failed to download Nextcloud archive."; exit 1; } \
     && tar -xjf nextcloud.tar.bz2 -C ./data/web/ \
     && rm nextcloud.tar.bz2 \
     && mkdir -p ./data/web/nextcloud/data \
@@ -110,7 +110,6 @@
     --database-name ${DBNAME} \
     --database-user ${DBUSER} \
     --database-pass ${DBPASS} \
-    --database-table-prefix nc_ \
     --admin-user admin \
     --admin-pass ${ADMIN_NC_PASS} \
       --data-dir /web/nextcloud/data
diff --git a/mailcow/src/mailcow-dockerized/update.sh b/mailcow/src/mailcow-dockerized/update.sh
index 20e9fd1..dc578f9 100755
--- a/mailcow/src/mailcow-dockerized/update.sh
+++ b/mailcow/src/mailcow-dockerized/update.sh
@@ -6,6 +6,13 @@
   exit 1
 fi
 
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+# Run pre-update-hook
+if [ -f "${SCRIPT_DIR}/pre_update_hook.sh" ]; then
+  bash "${SCRIPT_DIR}/pre_update_hook.sh"
+fi
+
 if [[ "$(uname -r)" =~ ^4\.15\.0-60 ]]; then
   echo "DO NOT RUN mailcow ON THIS UBUNTU KERNEL!";
   echo "Please update to 5.x or use another distribution."
@@ -55,6 +62,11 @@
   [[ -z ${BRANCH} ]] && { echo -e "\e[33m\nUnknown branch...\e[0m"; exit 1; }
   git fetch origin #${BRANCH}
   while read image; do
+    if [[ "${image}" == "robbertkl/ipv6nat" ]]; then
+      if ! grep -qi "ipv6nat-mailcow" docker-compose.yml || grep -qi "enable_ipv6: false" docker-compose.yml; then
+        continue
+      fi
+    fi
     RET_C=0
     until docker pull ${image}; do
       RET_C=$((RET_C + 1))
@@ -106,13 +118,74 @@
         echo "OK, skipped."
       fi
     else
-      echo "Skipped image removal because of force mode."
+      echo "Running image removal without extra confirmation due to force mode."
+      docker rmi ${IMGS_TO_DELETE[*]}
     fi
   fi
   echo -e "\e[32mFurther cleanup...\e[0m"
   echo "If you want to cleanup further garbage collected by Docker, please make sure all containers are up and running before cleaning your system by executing \"docker system prune\""
 }
 
+in_array() {
+  local e match="$1"
+  shift
+  for e; do [[ "$e" == "$match" ]] && return 0; done
+  return 1
+}
+
+migrate_docker_nat() {
+  NAT_CONFIG='{"ipv6":true,"fixed-cidr-v6":"fd00:dead:beef:c0::/80","experimental":true,"ip6tables":true}'
+  # Min Docker version
+  DOCKERV_REQ=20.10.2
+  # Current Docker version
+  DOCKERV_CUR=$(docker version -f '{{.Server.Version}}')
+  if grep -qi "ipv6nat-mailcow" docker-compose.yml && grep -qi "enable_ipv6: true" docker-compose.yml; then
+    echo -e "\e[32mNative IPv6 implementation available.\e[0m"
+    echo "This will enable experimental features in the Docker daemon and configure Docker to do the IPv6 NATing instead of ipv6nat-mailcow."
+    echo '!!! This step is recommended !!!'
+    echo "mailcow will try to roll back the changes if starting Docker fails after modifying the daemon.json configuration file."
+    read -r -p "Should we try to enable the native IPv6 implementation in Docker now (recommended)? [y/N] " dockernatresponse
+    if [[ ! "${dockernatresponse}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
+      echo "OK, skipping this step."
+      return 0
+    fi
+  fi
+  # Sort versions and check if we are running a newer or equal version to req
+  if [ $(printf "${DOCKERV_REQ}\n${DOCKERV_CUR}" | sort -V | tail -n1) == "${DOCKERV_CUR}" ]; then
+    # If Dockerd daemon json exists
+    if [ -s /etc/docker/daemon.json ]; then
+      IFS=',' read -r -a dockerconfig <<< $(cat /etc/docker/daemon.json | tr -cd '[:alnum:],')
+      if ! in_array ipv6true "${dockerconfig[@]}" || \
+        ! in_array experimentaltrue "${dockerconfig[@]}" || \
+        ! in_array ip6tablestrue "${dockerconfig[@]}" || \
+        ! grep -qi "fixed-cidr-v6" /etc/docker/daemon.json; then
+          echo -e "\e[33mWarning:\e[0m You seem to have modified the /etc/docker/daemon.json configuration by yourself and not fully/correctly activated the native IPv6 NAT implementation."
+          echo "You will need to merge your existing configuration manually or fix/delete the existing daemon.json configuration before trying the update process again."
+          echo -e "Please merge the following content and restart the Docker daemon:\n"
+          echo ${NAT_CONFIG}
+          return 1
+      fi
+    else
+      echo "Working on IPv6 NAT, please wait..."
+      echo ${NAT_CONFIG} > /etc/docker/daemon.json
+      ip6tables -F -t nat
+      if ! systemctl restart docker.service; then
+        echo -e "\e[31mError:\e[0m Failed to activate IPv6 NAT! Reverting and exiting."
+        rm /etc/docker/daemon.json
+        systemctl reset-failed docker.service
+        systemctl restart docker.service
+        return 1
+      fi
+    fi
+    # Removing legacy container
+    sed -i '/ipv6nat-mailcow:$/,/^$/d' docker-compose.yml
+    echo -e "\e[32mGreat! \e[0mNative IPv6 NAT is active.\e[0m"
+  else
+    echo -e "\e[31mPlease upgrade Docker to version ${DOCKERV_REQ} or above.\e[0m"
+    return 0
+  fi
+}
+
 while (($#)); do
   case "${1}" in
     --check|-c)
@@ -123,7 +196,7 @@
         exit 99
       fi
       if [[ -z $(git log HEAD --pretty=format:"%H" | grep "${LATEST_REV}") ]]; then
-        echo "Updated code is available."
+        echo -e "Updated code is available.\nThe changes can be found here: https://github.com/mailcow/mailcow-dockerized/commits/master"
         git log --date=short --pretty=format:"%ad - %s" $(git rev-parse --short HEAD)..origin/master
         exit 0
       else
@@ -181,6 +254,7 @@
 fi
 
 if grep --help 2>&1 | head -n 1 | grep -q -i "busybox"; then echo "BusyBox grep detected, please install gnu grep, \"apk add --no-cache --upgrade grep\""; exit 1; fi
+# This will also cover sort
 if cp --help 2>&1 | head -n 1 | grep -q -i "busybox"; then echo "BusyBox cp detected, please install coreutils, \"apk add --no-cache --upgrade coreutils\""; exit 1; fi
 if sed --help 2>&1 | head -n 1 | grep -q -i "busybox"; then echo "BusyBox sed detected, please install gnu sed, \"apk add --no-cache --upgrade sed\""; exit 1; fi
 
@@ -191,6 +265,7 @@
   "WATCHDOG_NOTIFY_EMAIL"
   "WATCHDOG_NOTIFY_BAN"
   "WATCHDOG_EXTERNAL_CHECKS"
+  "WATCHDOG_SUBJECT"
   "SKIP_CLAMD"
   "SKIP_IP_CHECK"
   "ADDITIONAL_SAN"
@@ -218,6 +293,8 @@
   "DOVECOT_MASTER_USER"
   "DOVECOT_MASTER_PASS"
   "MAILCOW_PASS_SCHEME"
+  "ADDITIONAL_SERVER_NAMES"
+  "ACME_CONTACT"
 )
 
 sed -i --follow-symlinks '$a\' mailcow.conf
@@ -322,7 +399,7 @@
       echo '# Solr is a prone to run OOM on large systems and should be monitored. Unmonitored Solr setups are not recommended.' >> mailcow.conf
       echo '# Solr will refuse to start with total system memory below or equal to 2 GB.' >> mailcow.conf
       echo "SOLR_HEAP=1024" >> mailcow.conf
-  fi
+    fi
   elif [[ ${option} == "SKIP_SOLR" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
@@ -350,13 +427,19 @@
       echo '# MAILDIR_SUB defines a path in a users virtual home to keep the maildir in. Leave empty for updated setups.' >> mailcow.conf
       echo "#MAILDIR_SUB=Maildir" >> mailcow.conf
       echo "MAILDIR_SUB=" >> mailcow.conf
-  fi
+    fi
   elif [[ ${option} == "WATCHDOG_NOTIFY_BAN" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
       echo '# Notify about banned IP. Includes whois lookup.' >> mailcow.conf
       echo "WATCHDOG_NOTIFY_BAN=y" >> mailcow.conf
-  fi
+    fi
+  elif [[ ${option} == "WATCHDOG_SUBJECT" ]]; then
+    if ! grep -q ${option} mailcow.conf; then
+      echo "Adding new option \"${option}\" to mailcow.conf"
+      echo '# Subject for watchdog mails. Defaults to "Watchdog ALERT" followed by the error message.' >> mailcow.conf
+      echo "#WATCHDOG_SUBJECT=" >> mailcow.conf
+    fi
   elif [[ ${option} == "WATCHDOG_EXTERNAL_CHECKS" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
@@ -364,18 +447,18 @@
       echo '# No data is collected. Opt-in and anonymous.' >> mailcow.conf
       echo '# Will only work with unmodified mailcow setups.' >> mailcow.conf
       echo "WATCHDOG_EXTERNAL_CHECKS=n" >> mailcow.conf
-  fi
+    fi
   elif [[ ${option} == "SOGO_EXPIRE_SESSION" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
       echo '# SOGo session timeout in minutes' >> mailcow.conf
       echo "SOGO_EXPIRE_SESSION=480" >> mailcow.conf
-  fi
+    fi
   elif [[ ${option} == "REDIS_PORT" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
       echo "REDIS_PORT=127.0.0.1:7654" >> mailcow.conf
-  fi
+    fi
   elif [[ ${option} == "DOVECOT_MASTER_USER" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
@@ -384,13 +467,13 @@
       echo '# User expands to DOVECOT_MASTER_USER@mailcow.local' >> mailcow.conf
       echo '# LEAVE EMPTY IF UNSURE' >> mailcow.conf
       echo "DOVECOT_MASTER_USER=" >> mailcow.conf
-  fi
+    fi
   elif [[ ${option} == "DOVECOT_MASTER_PASS" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
       echo '# LEAVE EMPTY IF UNSURE' >> mailcow.conf
       echo "DOVECOT_MASTER_PASS=" >> mailcow.conf
-  fi
+    fi
   elif [[ ${option} == "MAILCOW_PASS_SCHEME" ]]; then
     if ! grep -q ${option} mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
@@ -398,6 +481,26 @@
       echo '# Only certain password hash algorithm are supported. For a fully list of supported schemes,' >> mailcow.conf
       echo '# see https://mailcow.github.io/mailcow-dockerized-docs/model-passwd/' >> mailcow.conf
       echo "MAILCOW_PASS_SCHEME=BLF-CRYPT" >> mailcow.conf
+    fi
+  elif [[ ${option} == "ADDITIONAL_SERVER_NAMES" ]]; then
+    if ! grep -q ${option} mailcow.conf; then
+      echo '# Additional server names for mailcow UI' >> mailcow.conf
+      echo '#' >> mailcow.conf
+      echo '# Specify alternative addresses for the mailcow UI to respond to' >> mailcow.conf
+      echo '# This is useful when you set mail.* as ADDITIONAL_SAN and want to make sure mail.maildomain.com will always point to the mailcow UI.' >> mailcow.conf
+      echo '# If the server name does not match a known site, Nginx decides by best-guess and may redirect users to the wrong web root.' >> mailcow.conf
+      echo '# You can understand this as server_name directive in Nginx.' >> mailcow.conf
+      echo '# Comma separated list without spaces! Example: ADDITIONAL_SERVER_NAMES=a.b.c,d.e.f' >> mailcow.conf
+      echo 'ADDITIONAL_SERVER_NAMES=' >> mailcow.conf
+    fi
+  elif [[ ${option} == "ACME_CONTACT" ]]; then
+    if ! grep -q ${option} mailcow.conf; then
+      echo '# Lets Encrypt registration contact information' >> mailcow.conf
+      echo '# Optional: Leave empty for none' >> mailcow.conf
+      echo '# This value is only used on first order!' >> mailcow.conf
+      echo '# Setting it at a later point will require the following steps:' >> mailcow.conf
+      echo '# https://mailcow.github.io/mailcow-dockerized-docs/debug-reset-tls/' >> mailcow.conf
+      echo 'ACME_CONTACT=' >> mailcow.conf
   fi
   elif ! grep -q ${option} mailcow.conf; then
     echo "Adding new option \"${option}\" to mailcow.conf"
@@ -433,10 +536,11 @@
 
 if [ ! $FORCE ]; then
   read -r -p "Are you sure you want to update mailcow: dockerized? All containers will be stopped. [y/N] " response
-  if [[ ! "$response" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
+  if [[ ! "${response}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
     echo "OK, exiting."
     exit 0
   fi
+  migrate_docker_nat
 fi
 
 echo -e "\e[32mValidating docker-compose stack configuration...\e[0m"
@@ -474,6 +578,8 @@
   docker rm -f "$container" 2> /dev/null
 done
 
+[[ -f data/conf/nginx/ZZZ-ejabberd.conf ]] && rm data/conf/nginx/ZZZ-ejabberd.conf
+
 # Silently fixing remote url from andryyy to mailcow
 git remote set-url origin https://github.com/mailcow/mailcow-dockerized
 echo -e "\e[32mCommitting current status...\e[0m"
@@ -512,11 +618,22 @@
   echo -e "\e[33mNot fetching latest docker-compose, because you are using Alpine Linux without glibc support. Please update docker-compose via apk!\e[0m"
 else
   echo -e "\e[32mFetching new docker-compose version...\e[0m"
+  echo -e "\e[32mTrying to determine GLIBC version...\e[0m"
+  if ldd --version > /dev/null; then
+    GLIBC_V=$(ldd --version | grep -E '(GLIBC|GNU libc)' | rev | cut -d ' ' -f1 | rev | cut -d '.' -f2)
+    if [ ! -z "${GLIBC_V}" ] && [ ${GLIBC_V} -gt 27 ]; then
+      DC_DL_SUFFIX=
+    else
+      DC_DL_SUFFIX=legacy
+    fi
+  else
+    DC_DL_SUFFIX=legacy
+  fi
   sleep 1
   if [[ ! -z $(which pip) && $(pip list --local 2>&1 | grep -v DEPRECATION | grep -c docker-compose) == 1 ]]; then
     true
     #prevent breaking a working docker-compose installed with pip
-  elif [[ $(curl -sL -w "%{http_code}" https://www.servercow.de/docker-compose/latest.php -o /dev/null) == "200" ]]; then
+  elif [[ $(curl -sL -w "%{http_code}" https://www.servercow.de/docker-compose/latest.php?vers=${DC_DL_SUFFIX} -o /dev/null) == "200" ]]; then
     LATEST_COMPOSE=$(curl -#L https://www.servercow.de/docker-compose/latest.php)
     COMPOSE_VERSION=$(docker-compose version --short)
     if [[ "$LATEST_COMPOSE" != "$COMPOSE_VERSION" ]]; then
@@ -556,6 +673,9 @@
 
 # Checking for old project name bug
 sed -i --follow-symlinks 's#COMPOSEPROJECT_NAME#COMPOSE_PROJECT_NAME#g' mailcow.conf
+# Checking old, wrong bindings
+sed -i --follow-symlinks 's/HTTP_BIND=0.0.0.0/HTTP_BIND=/g' mailcow.conf
+sed -i --follow-symlinks 's/HTTPS_BIND=0.0.0.0/HTTPS_BIND=/g' mailcow.conf
 
 # Fix Rspamd maps
 if [ -f data/conf/rspamd/custom/global_from_blacklist.map ]; then
@@ -585,6 +705,11 @@
 echo -e "\e[32mCollecting garbage...\e[0m"
 docker_garbage
 
+# Run post-update-hook
+if [ -f "${SCRIPT_DIR}/post_update_hook.sh" ]; then
+  bash "${SCRIPT_DIR}/post_update_hook.sh"
+fi
+
 #echo "In case you encounter any problem, hard-reset to a state before updating mailcow:"
 #echo
 #git reflog --color=always | grep "Before update on "
